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

bgK bastien.bouclet at gmail.com
Sun Feb 9 11:56:57 UTC 2020


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

Summary:
9173dc8a03 ACCESS: Add override keywords
61ac4a5ab4 ADL: Add override keywords
3f3c88ce6a AGI: Add override keywords
1624da8c99 AGOS: Add override keywords
9611f091cc AVALANCHE: Add override keywords
8df458f869 BBVS: Add override keywords
79efd3c46e BLADERUNNER: Add override keywords
dd6e745487 CGE: Add override keywords
8b2902539e CGE2: Add override keywords
4d69dad91b CHEWY: Add override keywords
f66925f148 CINE: Add override keywords
64973148ef COMPOSER: Add override keywords
0aa70c88f5 CRUISE: Add override keywords
62b7979cd9 CRYO: Add override keywords
5737e22fde CRYOMNI3D: Add override keywords
8313b2b443 DIRECTOR: Add override keywords
10c50b40ab DM: Add override keywords
4acd475b3e DRACI: Add override keywords
d7a9147eb3 DRASCULA: Add override keywords
606ad04533 DREAMWEB: Add override keywords
6e67356777 FULLPIPE: Add override keywords
1e30923737 GLK: Add override keywords
f445fc6681 GNAP: Add override keywords
0ee30278fc GOB: Add override keywords
a00fdb5040 GRIFFON: Add override keywords
0735a923e4 GROOVIE: Add override keywords
68fbf9135d HDB: Add override keywords
36430c95b7 HOPKINS: Add override keywords
06cab99edc HUGO: Add override keywords
e04b23bb72 ILLUSIONS: Add override keywords
551ed6218a KYRA: Add override keywords
040497017c LAB: Add override keywords
1e6640ab33 LASTEXPRESS: Add override keywords
4e931838ac LILLIPUT: Add override keywords
cca3309fba LURE: Add override keywords
421af86d5a MACVENTURE: Add override keywords
53fdcfbf0e MADE: Add override keywords
5aef420e17 MADS: Add override keywords
cccd6428c0 MOHAWK: Add override keywords
b2b78df162 MORTEVIELLE: Add override keywords
a08dc0b9dc MUTATIONOFJB: Add override keywords
29cf8e0b43 NEVERHOOD: Add override keywords
e303937592 PARALLACTION: Add override keywords
88091fcbba PEGASUS: Add override keywords
3c625d3b1c PINK: Add override keywords
f8632ec766 PLUMBERS: Add override keywords
ac7daaf914 PRINCE: Add override keywords
3bfa411f9e QUEEN: Add override keywords
ccfb09151b SAGA: Add override keywords
553d2968bb SCI: Add override keywords
730a1ee4cc SCUMM: Add override keywords
9240f1f36a SHERLOCK: Add override keywords
c2d95628ff SKY: Add override keywords
f7ca96be0e SLUDGE: Add override keywords
f9dfb7f560 STARTREK: Add override keywords
3b4a2dfadc SUPERNOVA: Add override keywords
9d1447113d SWORD1: Add override keywords
c616550ebe SWORD2: Add override keywords
c115c33b1f SWORD25: Add override keywords
ea9425de16 TEENAGENT: Add override keywords
1ef3e3fe3e TESTBED: Add override keywords
b700f1fcd1 TINSEL: Add override keywords
4d70872545 TITANIC: Add override keywords
5764377a79 TOLTECS: Add override keywords
550af3953a TONY: Add override keywords
319758e7ea TOON: Add override keywords
422e749ab3 TOUCHE: Add override keywords
5bf2783433 TSAGE: Add override keywords
31771a565e TUCKER: Add override keywords
aedcefea74 ULTIMA: Add override keywords
132e040b8f VOYEUR: Add override keywords
6ebf1aa6d1 WAGE: Add override keywords
80166c0fea WINTERMUTE: Add override keywords
1bcdcabb29 XEEN: Add override keywords
e3abab45ab ZVISION: Add override keywords


Commit: 9173dc8a03da281264127890613eef2ed807e4ef
    https://github.com/scummvm/scummvm/commit/9173dc8a03da281264127890613eef2ed807e4ef
Author: Bastien Bouclet (bastien.bouclet at gmail.com)
Date: 2020-02-09T12:42:41+01:00

Commit Message:
ACCESS: Add override keywords

Changed paths:
    engines/access/access.h
    engines/access/amazon/amazon_game.h
    engines/access/amazon/amazon_player.h
    engines/access/amazon/amazon_resources.h
    engines/access/amazon/amazon_room.h
    engines/access/amazon/amazon_scripts.h
    engines/access/asurface.h
    engines/access/debugger.h
    engines/access/detection.cpp
    engines/access/martian/martian_game.h
    engines/access/martian/martian_player.h
    engines/access/martian/martian_resources.h
    engines/access/martian/martian_room.h
    engines/access/martian/martian_scripts.h
    engines/access/screen.h
    engines/access/sound.h
    engines/access/video/movie_decoder.h


diff --git a/engines/access/access.h b/engines/access/access.h
index 3672f44..442f771 100644
--- a/engines/access/access.h
+++ b/engines/access/access.h
@@ -123,8 +123,8 @@ protected:
 	void playVideo(int videoNum, const Common::Point &pt);
 
 	// Engine APIs
-	virtual Common::Error run() override;
-	virtual bool hasFeature(EngineFeature f) const override;
+	Common::Error run() override;
+	bool hasFeature(EngineFeature f) const override;
 protected:
 	/**
 	 * Play the game
@@ -239,7 +239,7 @@ public:
 
 public:
 	AccessEngine(OSystem *syst, const AccessGameDescription *gameDesc);
-	virtual ~AccessEngine();
+	~AccessEngine() override;
 
 	virtual void dead(int deathId) = 0;
 
@@ -286,12 +286,12 @@ public:
 	/**
 	 * Load a savegame
 	 */
-	virtual Common::Error loadGameState(int slot) override;
+	Common::Error loadGameState(int slot) override;
 
 	/**
 	 * Save the game
 	 */
-	virtual Common::Error saveGameState(int slot, const Common::String &desc) override;
+	Common::Error saveGameState(int slot, const Common::String &desc) override;
 
 	/**
 	 * Returns true if a savegame can currently be loaded
diff --git a/engines/access/amazon/amazon_game.h b/engines/access/amazon/amazon_game.h
index 8f6dffe..3f5244a 100644
--- a/engines/access/amazon/amazon_game.h
+++ b/engines/access/amazon/amazon_game.h
@@ -59,12 +59,12 @@ protected:
 	/**
 	 * Play the game
 	 */
-	virtual void playGame();
+	void playGame() override;
 
 	/**
 	* Synchronize savegame data
 	*/
-	virtual void synchronize(Common::Serializer &s);
+	void synchronize(Common::Serializer &s) override;
 public:
 	InactivePlayer _inactive;
 	bool _charSegSwitch;
@@ -109,9 +109,9 @@ public:
 public:
 	AmazonEngine(OSystem *syst, const AccessGameDescription *gameDesc);
 
-	virtual ~AmazonEngine();
+	~AmazonEngine() override;
 
-	virtual void dead(int deathId);
+	void dead(int deathId) override;
 
 	/**
 	* Free the inactive player data
@@ -120,7 +120,7 @@ public:
 
 	void drawHelp(const Common::String str);
 
-	virtual void establish(int esatabIndex, int sub);
+	void establish(int esatabIndex, int sub) override;
 
 	void tileScreen();
 	void updateSummary(int chap);
diff --git a/engines/access/amazon/amazon_player.h b/engines/access/amazon/amazon_player.h
index 236b8bd..dc9c987 100644
--- a/engines/access/amazon/amazon_player.h
+++ b/engines/access/amazon/amazon_player.h
@@ -38,7 +38,7 @@ private:
 public:
 	AmazonPlayer(AccessEngine *vm);
 
-	virtual void load();
+	void load() override;
 };
 
 } // End of namespace Amazon
diff --git a/engines/access/amazon/amazon_resources.h b/engines/access/amazon/amazon_resources.h
index 6ce50f7..9f19ec5 100644
--- a/engines/access/amazon/amazon_resources.h
+++ b/engines/access/amazon/amazon_resources.h
@@ -127,7 +127,7 @@ protected:
 	/**
 	 * Load data from the access.dat file
 	 */
-	virtual void load(Common::SeekableReadStream &s);
+	void load(Common::SeekableReadStream &s) override;
 public:
 	AmazonFont *_font3x5, *_font6x6;
 	Common::String NO_HELP_MESSAGE;
@@ -139,7 +139,7 @@ public:
 	Common::String IQLABELS[9];
 public:
 	AmazonResources(AccessEngine *vm) : Resources(vm), _font3x5(nullptr), _font6x6(nullptr) {}
-	virtual ~AmazonResources();
+	~AmazonResources() override;
 };
 
 #define AMRES (*((Amazon::AmazonResources *)_vm->_res))
diff --git a/engines/access/amazon/amazon_room.h b/engines/access/amazon/amazon_room.h
index 003178e..825a226 100644
--- a/engines/access/amazon/amazon_room.h
+++ b/engines/access/amazon/amazon_room.h
@@ -42,27 +42,27 @@ private:
 
 	void roomSet();
 protected:
-	virtual void loadRoom(int roomNumber);
+	void loadRoom(int roomNumber) override;
 
-	virtual void reloadRoom();
+	void reloadRoom() override;
 
-	virtual void reloadRoom1();
+	void reloadRoom1() override;
 
-	virtual void setupRoom();
+	void setupRoom() override;
 
-	virtual void mainAreaClick();
+	void mainAreaClick() override;
 
-	virtual void clearRoom();
+	void clearRoom() override;
 
-	virtual void walkCursor();
+	void walkCursor() override;
 public:
 	AmazonRoom(AccessEngine *vm);
 
-	virtual ~AmazonRoom();
+	~AmazonRoom() override;
 
-	virtual void init4Quads();
+	void init4Quads() override;
 
-	virtual void roomMenu();
+	void roomMenu() override;
 };
 
 } // End of namespace Amazon
diff --git a/engines/access/amazon/amazon_scripts.h b/engines/access/amazon/amazon_scripts.h
index 6d99266..700cbac 100644
--- a/engines/access/amazon/amazon_scripts.h
+++ b/engines/access/amazon/amazon_scripts.h
@@ -36,8 +36,8 @@ class AmazonScripts : public Scripts {
 private:
 	AmazonEngine *_game;
 protected:
-	virtual void executeSpecial(int commandIndex, int param1, int param2);
-	virtual void executeCommand(int commandIndex);
+	void executeSpecial(int commandIndex, int param1, int param2) override;
+	void executeCommand(int commandIndex) override;
 
 	void cLoop();
 	void mWhile1();
diff --git a/engines/access/asurface.h b/engines/access/asurface.h
index 64ddf3d..478e6e7 100644
--- a/engines/access/asurface.h
+++ b/engines/access/asurface.h
@@ -64,7 +64,7 @@ public:
 public:
 	BaseSurface();
 
-	virtual ~BaseSurface();
+	~BaseSurface() override;
 
 	void clearBuffer();
 
@@ -125,7 +125,7 @@ protected:
 	 * Override the addDirtyRect from Graphics::Screen, since for standard
 	 * surfaces we don't need dirty rects to be tracked
 	 */
-	virtual void addDirtyRect(const Common::Rect &r) {}
+	void addDirtyRect(const Common::Rect &r) override {}
 public:
 	ASurface() : BaseSurface() {}
 };
@@ -133,7 +133,7 @@ public:
 class SpriteFrame : public ASurface {
 public:
 	SpriteFrame(AccessEngine *vm, Common::SeekableReadStream *stream, int frameSize);
-	~SpriteFrame();
+	~SpriteFrame() override;
 };
 
 class SpriteResource {
diff --git a/engines/access/debugger.h b/engines/access/debugger.h
index 641b85c..5838f78 100644
--- a/engines/access/debugger.h
+++ b/engines/access/debugger.h
@@ -42,10 +42,10 @@ protected:
 	bool Cmd_PlayMovie(int argc, const char **argv);
 public:
 	static Debugger *init(AccessEngine *vm);
-	void postEnter();
+	void postEnter() override;
 public:
 	Debugger(AccessEngine *vm);
-	virtual ~Debugger();
+	~Debugger() override;
 };
 
 namespace Amazon {
@@ -55,7 +55,7 @@ protected:
 	bool Cmd_StartChapter(int argc, const char **argv);
 public:
 	AmazonDebugger(AccessEngine *vm);
-	virtual ~AmazonDebugger() {}
+	~AmazonDebugger() override {}
 };
 
 } // End of namespace Amazon
diff --git a/engines/access/detection.cpp b/engines/access/detection.cpp
index 0b771f8..822d7c9 100644
--- a/engines/access/detection.cpp
+++ b/engines/access/detection.cpp
@@ -88,23 +88,23 @@ public:
 		_maxScanDepth = 3;
 	}
 
-	virtual const char *getEngineId() const override {
+	const char *getEngineId() const override {
 		return "access";
 	}
 
-	virtual const char *getName() const override {
+	const char *getName() const override {
 		return "Access";
 	}
 
-	virtual const char *getOriginalCopyright() const override {
+	const char *getOriginalCopyright() const override {
 		return "Access Engine (C) 1989-1994 Access Software";
 	}
 
-	virtual bool hasFeature(MetaEngineFeature f) const override;
-	virtual bool createInstance(OSystem *syst, Engine **engine, const ADGameDescription *desc) const override;
-	virtual SaveStateList listSaves(const char *target) const override;
-	virtual int getMaximumSaveSlot() const override;
-	virtual void removeSaveState(const char *target, int slot) const override;
+	bool hasFeature(MetaEngineFeature f) const override;
+	bool createInstance(OSystem *syst, Engine **engine, const ADGameDescription *desc) const override;
+	SaveStateList listSaves(const char *target) const override;
+	int getMaximumSaveSlot() const override;
+	void removeSaveState(const char *target, int slot) const override;
 	SaveStateDescriptor querySaveMetaInfos(const char *target, int slot) const override;
 };
 
diff --git a/engines/access/martian/martian_game.h b/engines/access/martian/martian_game.h
index 41a918f..2f3efa1 100644
--- a/engines/access/martian/martian_game.h
+++ b/engines/access/martian/martian_game.h
@@ -53,9 +53,9 @@ protected:
 	/**
 	 * Play the game
 	 */
-	virtual void playGame();
+	void playGame() override;
 
-	virtual void dead(int deathId);
+	void dead(int deathId) override;
 
 	void setNoteParams();
 	void displayNote(const Common::String &msg);
@@ -63,11 +63,11 @@ public:
 	SpriteResource *_spec7Objects;
 
 	MartianEngine(OSystem *syst, const AccessGameDescription *gameDesc);
-	virtual ~MartianEngine();
+	~MartianEngine() override;
 
 	void doSpecial5(int param1);
 	void showDeathText(Common::String msg);
-	virtual void establish(int esatabIndex, int sub) {};
+	void establish(int esatabIndex, int sub) override {};
 };
 
 } // End of namespace Martian
diff --git a/engines/access/martian/martian_player.h b/engines/access/martian/martian_player.h
index 007a32e..b62f0c8 100644
--- a/engines/access/martian/martian_player.h
+++ b/engines/access/martian/martian_player.h
@@ -37,7 +37,7 @@ private:
 	MartianEngine *_game;
 public:
 	MartianPlayer(AccessEngine *vm);
-	virtual void load();
+	void load() override;
 };
 
 } // End of namespace Martian
diff --git a/engines/access/martian/martian_resources.h b/engines/access/martian/martian_resources.h
index 6b01ee3..1e68ba0 100644
--- a/engines/access/martian/martian_resources.h
+++ b/engines/access/martian/martian_resources.h
@@ -60,13 +60,13 @@ protected:
 	/**
 	 * Load data from the access.dat file
 	 */
-	virtual void load(Common::SeekableReadStream &s);
+	void load(Common::SeekableReadStream &s) override;
 public:
 	MartianFont *_font6x6;
 	MartianFont *_font3x5;
 public:
 	MartianResources(AccessEngine *vm) : Resources(vm), _font6x6(nullptr), _font3x5(nullptr) {}
-	virtual ~MartianResources();
+	~MartianResources() override;
 };
 
 #define MMRES (*((Martian::MartianResources *)_vm->_res))
diff --git a/engines/access/martian/martian_room.h b/engines/access/martian/martian_room.h
index 7066a68..6a6115c 100644
--- a/engines/access/martian/martian_room.h
+++ b/engines/access/martian/martian_room.h
@@ -43,21 +43,21 @@ private:
 	int _byte26CD2[30];
 	int _byte26CBC[10];
 protected:
-	virtual void loadRoom(int roomNumber);
+	void loadRoom(int roomNumber) override;
 
-	virtual void reloadRoom();
+	void reloadRoom() override;
 
-	virtual void reloadRoom1();
+	void reloadRoom1() override;
 
-	virtual void mainAreaClick();
+	void mainAreaClick() override;
 public:
 	MartianRoom(AccessEngine *vm);
 
-	virtual ~MartianRoom();
+	~MartianRoom() override;
 
-	virtual void init4Quads() { }
+	void init4Quads() override { }
 
-	virtual void roomMenu();
+	void roomMenu() override;
 };
 
 } // End of namespace Martian
diff --git a/engines/access/martian/martian_scripts.h b/engines/access/martian/martian_scripts.h
index 190b3c1..5a97638 100644
--- a/engines/access/martian/martian_scripts.h
+++ b/engines/access/martian/martian_scripts.h
@@ -44,8 +44,8 @@ private:
 	void cmdSpecial7();
 
 protected:
-	virtual void executeSpecial(int commandIndex, int param1, int param2);
-	virtual void executeCommand(int commandIndex);
+	void executeSpecial(int commandIndex, int param1, int param2) override;
+	void executeCommand(int commandIndex) override;
 
 public:
 	MartianScripts(AccessEngine *vm);
diff --git a/engines/access/screen.h b/engines/access/screen.h
index 1c19325..d7dcbb8 100644
--- a/engines/access/screen.h
+++ b/engines/access/screen.h
@@ -84,21 +84,21 @@ public:
 	/**
 	 * Updates the screen
 	 */
-	virtual void update();
+	void update() override;
 
-	virtual void copyBlock(BaseSurface *src, const Common::Rect &bounds);
+	void copyBlock(BaseSurface *src, const Common::Rect &bounds) override;
 
-	virtual void restoreBlock();
+	void restoreBlock() override;
 
-	virtual void drawRect();
+	void drawRect() override;
 
-	virtual void drawBox();
+	void drawBox() override;
 
-	virtual void copyBuffer(Graphics::ManagedSurface *src);
+	void copyBuffer(Graphics::ManagedSurface *src) override;
 public:
 	Screen(AccessEngine *vm);
 
-	virtual ~Screen() {}
+	~Screen() override {}
 
 	void setDisplayScan();
 
diff --git a/engines/access/sound.h b/engines/access/sound.h
index d75540d..ca63983 100644
--- a/engines/access/sound.h
+++ b/engines/access/sound.h
@@ -92,7 +92,7 @@ private:
 	Resource *_tempMusic;
 
 	// MidiDriver_BASE interface implementation
-	virtual void send(uint32 b);
+	void send(uint32 b) override;
 
 public:
 	Resource *_music;
@@ -100,7 +100,7 @@ public:
 
 public:
 	MusicManager(AccessEngine *vm);
-	~MusicManager();
+	~MusicManager() override;
 
 	void midiPlay();
 
diff --git a/engines/access/video/movie_decoder.h b/engines/access/video/movie_decoder.h
index 54b40e8..d19c849 100644
--- a/engines/access/video/movie_decoder.h
+++ b/engines/access/video/movie_decoder.h
@@ -54,13 +54,13 @@ enum kDebugLevels {
 class AccessVIDMovieDecoder : public Video::VideoDecoder {
 public:
 	AccessVIDMovieDecoder();
-	~AccessVIDMovieDecoder();
+	~AccessVIDMovieDecoder() override;
 
-	bool loadStream(Common::SeekableReadStream *stream);
-	void close();
+	bool loadStream(Common::SeekableReadStream *stream) override;
+	void close() override;
 
 protected:
-	void readNextPacket();
+	void readNextPacket() override;
 
 private:
 	bool streamSkipFullFrameCompressedFill();
@@ -81,20 +81,20 @@ private:
 	class StreamVideoTrack : public VideoTrack  {
 	public:
 		StreamVideoTrack(uint32 width, uint32 height, uint16 regularFrameDelay);
-		~StreamVideoTrack();
+		~StreamVideoTrack() override;
 
-		bool endOfTrack() const;
+		bool endOfTrack() const override;
 
-		uint16 getWidth() const { return _width; }
-		uint16 getHeight() const { return _height; }
-		Graphics::PixelFormat getPixelFormat() const;
-		int getCurFrame() const { return _curFrame; }
+		uint16 getWidth() const override { return _width; }
+		uint16 getHeight() const override { return _height; }
+		Graphics::PixelFormat getPixelFormat() const override;
+		int getCurFrame() const override { return _curFrame; }
 		void setNextFrameStartTime(uint32 nextFrameStartTime) { _nextFrameStartTime = nextFrameStartTime; }
-		uint32 getNextFrameStartTime() const { return _nextFrameStartTime; }
-		const Graphics::Surface *decodeNextFrame() { return _surface; }
+		uint32 getNextFrameStartTime() const override { return _nextFrameStartTime; }
+		const Graphics::Surface *decodeNextFrame() override { return _surface; }
 
-		const byte *getPalette() const;
-		bool hasDirtyPalette() const;
+		const byte *getPalette() const override;
+		bool hasDirtyPalette() const override;
 
 		void decodePalette(Common::SeekableReadStream *stream);
 		void decodeFrame(Common::SeekableReadStream *stream, byte chunkId);
@@ -120,13 +120,13 @@ private:
 	class StreamAudioTrack : public AudioTrack {
 	public:
 		StreamAudioTrack(uint32 sampleRate, Audio::Mixer::SoundType soundType);
-		~StreamAudioTrack();
+		~StreamAudioTrack() override;
 
 		void queueAudio(Common::SeekableReadStream *stream, byte chunkId);
 		bool skipOverAudio(Common::SeekableReadStream *stream, byte chunkId);
 
 	protected:
-		Audio::AudioStream *getAudioStream() const;
+		Audio::AudioStream *getAudioStream() const override;
 
 	private:
 		Audio::QueuingAudioStream *_audioStream;


Commit: 61ac4a5ab4b5689d4dd7000b047aa3f16d843438
    https://github.com/scummvm/scummvm/commit/61ac4a5ab4b5689d4dd7000b047aa3f16d843438
Author: Bastien Bouclet (bastien.bouclet at gmail.com)
Date: 2020-02-09T12:42:42+01:00

Commit Message:
ADL: Add override keywords

Changed paths:
    engines/adl/adl.cpp
    engines/adl/adl.h
    engines/adl/adl_v2.h
    engines/adl/adl_v3.h
    engines/adl/adl_v4.h
    engines/adl/adl_v5.h
    engines/adl/disk.h
    engines/adl/display_a2.cpp
    engines/adl/display_a2.h
    engines/adl/hires1.cpp
    engines/adl/hires2.cpp
    engines/adl/hires4.cpp
    engines/adl/hires5.cpp
    engines/adl/sound.h


diff --git a/engines/adl/adl.cpp b/engines/adl/adl.cpp
index 7ae33fb..a1ae30a 100644
--- a/engines/adl/adl.cpp
+++ b/engines/adl/adl.cpp
@@ -52,7 +52,7 @@ public:
 			_remAct(cmd.numAct) { }
 
 private:
-	kOpType getOpType() const {
+	kOpType getOpType() const override {
 		if (_remCond > 0)
 			return kOpTypeCond;
 		if (_remAct > 0)
@@ -60,7 +60,7 @@ private:
 		return kOpTypeDone;
 	}
 
-	void next(uint numArgs) {
+	void next(uint numArgs) override {
 		_ip += numArgs + 1;
 		if (_remCond > 0)
 			--_remCond;
diff --git a/engines/adl/adl.h b/engines/adl/adl.h
index 8ae250e..feb5a14 100644
--- a/engines/adl/adl.h
+++ b/engines/adl/adl.h
@@ -240,7 +240,7 @@ struct RoomData {
 class AdlEngine : public Engine {
 friend class Console;
 public:
-	virtual ~AdlEngine();
+	~AdlEngine() override;
 
 	bool pollEvent(Common::Event &event) const;
 	void bell(uint count = 1) const;
diff --git a/engines/adl/adl_v2.h b/engines/adl/adl_v2.h
index f244ac4..fff0d85 100644
--- a/engines/adl/adl_v2.h
+++ b/engines/adl/adl_v2.h
@@ -29,7 +29,7 @@ namespace Adl {
 
 class AdlEngine_v2 : public AdlEngine {
 public:
-	virtual ~AdlEngine_v2();
+	~AdlEngine_v2() override;
 
 protected:
 	AdlEngine_v2(OSystem *syst, const AdlGameDescription *gd);
diff --git a/engines/adl/adl_v3.h b/engines/adl/adl_v3.h
index 9d5cb00..ebac283 100644
--- a/engines/adl/adl_v3.h
+++ b/engines/adl/adl_v3.h
@@ -29,7 +29,7 @@ namespace Adl {
 
 class AdlEngine_v3 : public AdlEngine_v2 {
 public:
-	virtual ~AdlEngine_v3() { }
+	~AdlEngine_v3() override { }
 
 protected:
 	AdlEngine_v3(OSystem *syst, const AdlGameDescription *gd);
diff --git a/engines/adl/adl_v4.h b/engines/adl/adl_v4.h
index f4ee8c9..6713249 100644
--- a/engines/adl/adl_v4.h
+++ b/engines/adl/adl_v4.h
@@ -43,7 +43,7 @@ struct RegionInitDataOffset {
 
 class AdlEngine_v4 : public AdlEngine_v3 {
 public:
-	virtual ~AdlEngine_v4();
+	~AdlEngine_v4() override;
 
 protected:
 	AdlEngine_v4(OSystem *syst, const AdlGameDescription *gd);
diff --git a/engines/adl/adl_v5.h b/engines/adl/adl_v5.h
index 70d5b4f..8abd7b5 100644
--- a/engines/adl/adl_v5.h
+++ b/engines/adl/adl_v5.h
@@ -29,7 +29,7 @@ namespace Adl {
 
 class AdlEngine_v5 : public AdlEngine_v4 {
 public:
-	virtual ~AdlEngine_v5() { }
+	~AdlEngine_v5() override { }
 
 protected:
 	AdlEngine_v5(OSystem *syst, const AdlGameDescription *gd);
diff --git a/engines/adl/disk.h b/engines/adl/disk.h
index 97b66a9..7160c43 100644
--- a/engines/adl/disk.h
+++ b/engines/adl/disk.h
@@ -132,7 +132,7 @@ public:
 class Files_AppleDOS : public Files {
 public:
 	Files_AppleDOS();
-	~Files_AppleDOS();
+	~Files_AppleDOS() override;
 
 	bool open(const Common::String &filename, uint trackVTOC = 17);
 	const DataBlockPtr getDataBlock(const Common::String &filename, uint offset = 0) const override;
@@ -183,7 +183,7 @@ public:
 			_sector(sector),	
 			_offset(offset) { }
 
-	virtual ~DataBlock_PC() { }
+	~DataBlock_PC() override { }
 
 	Common::SeekableReadStream *createReadStream() const override;
 
diff --git a/engines/adl/display_a2.cpp b/engines/adl/display_a2.cpp
index 4e25fbd..787d88e 100644
--- a/engines/adl/display_a2.cpp
+++ b/engines/adl/display_a2.cpp
@@ -349,7 +349,7 @@ template<typename ColorType, typename GfxWriter, typename TextWriter>
 class DisplayImpl_A2 : public Display_A2 {
 public:
 	DisplayImpl_A2();
-	~DisplayImpl_A2();
+	~DisplayImpl_A2() override;
 
 	void renderText() override;
 	void renderGraphics() override;
diff --git a/engines/adl/display_a2.h b/engines/adl/display_a2.h
index 8de3a77..73023b0 100644
--- a/engines/adl/display_a2.h
+++ b/engines/adl/display_a2.h
@@ -30,7 +30,7 @@ namespace Adl {
 class Display_A2 : public Display {
 public:
 	Display_A2();
-	virtual ~Display_A2();
+	~Display_A2() override;
 
 	enum {
 		kGfxWidth = 280,
diff --git a/engines/adl/hires1.cpp b/engines/adl/hires1.cpp
index 9c448b8..0eae793 100644
--- a/engines/adl/hires1.cpp
+++ b/engines/adl/hires1.cpp
@@ -92,21 +92,21 @@ public:
 			AdlEngine(syst, gd),
 			_files(nullptr),
 			_messageDelay(true) { }
-	~HiRes1Engine() { delete _files; }
+	~HiRes1Engine() override { delete _files; }
 
 private:
 	// AdlEngine
-	void runIntro();
-	void init();
-	void initGameState();
+	void runIntro() override;
+	void init() override;
+	void initGameState() override;
 	void restartGame();
-	void printString(const Common::String &str);
-	Common::String loadMessage(uint idx) const;
-	void printMessage(uint idx);
-	void drawItems();
-	void drawItem(Item &item, const Common::Point &pos);
-	void loadRoom(byte roomNr);
-	void showRoom();
+	void printString(const Common::String &str) override;
+	Common::String loadMessage(uint idx) const override;
+	void printMessage(uint idx) override;
+	void drawItems() override;
+	void drawItem(Item &item, const Common::Point &pos) override;
+	void loadRoom(byte roomNr) override;
+	void showRoom() override;
 
 	void showInstructions(Common::SeekableReadStream &stream, const uint pages[], bool goHome);
 	void wordWrap(Common::String &str) const;
diff --git a/engines/adl/hires2.cpp b/engines/adl/hires2.cpp
index 4dbda10..6db3c9e 100644
--- a/engines/adl/hires2.cpp
+++ b/engines/adl/hires2.cpp
@@ -39,8 +39,8 @@ public:
 
 private:
 	// AdlEngine
-	void init();
-	void initGameState();
+	void init() override;
+	void initGameState() override;
 
 	const byte _numRooms, _numMsgs, _numItemPics;
 };
@@ -137,7 +137,7 @@ public:
 
 private:
 	// AdlEngine
-	void runIntro();
+	void runIntro() override;
 };
 
 HiRes2Engine::HiRes2Engine(OSystem *syst, const AdlGameDescription *gd) :
diff --git a/engines/adl/hires4.cpp b/engines/adl/hires4.cpp
index a449953..626e23b 100644
--- a/engines/adl/hires4.cpp
+++ b/engines/adl/hires4.cpp
@@ -55,13 +55,13 @@ public:
 	HiRes4Engine(OSystem *syst, const AdlGameDescription *gd) :
 			AdlEngine_v3(syst, gd),
 			_boot(nullptr) { _brokenRooms.push_back(121); }
-	~HiRes4Engine();
+	~HiRes4Engine() override;
 
 private:
 	// AdlEngine
-	void runIntro();
-	void init();
-	void initGameState();
+	void runIntro() override;
+	void init() override;
+	void initGameState() override;
 
 	void putSpace(uint x, uint y) const;
 	void drawChar(byte c, Common::SeekableReadStream &shapeTable, Common::Point &pos) const;
@@ -549,18 +549,18 @@ public:
 			AdlEngine_v3(syst, gd),
 			_boot(nullptr),
 			_curDisk(0) { _brokenRooms.push_back(121); }
-	~HiRes4Engine_Atari();
+	~HiRes4Engine_Atari() override;
 
 private:
 	// AdlEngine
-	void init();
-	void initGameState();
-	void loadRoom(byte roomNr);
-	Common::String formatVerbError(const Common::String &verb) const;
-	Common::String formatNounError(const Common::String &verb, const Common::String &noun) const;
+	void init() override;
+	void initGameState() override;
+	void loadRoom(byte roomNr) override;
+	Common::String formatVerbError(const Common::String &verb) const override;
+	Common::String formatNounError(const Common::String &verb, const Common::String &noun) const override;
 
 	// AdlEngine_v2
-	void adjustDataBlockPtr(byte &track, byte &sector, byte &offset, byte &size) const;
+	void adjustDataBlockPtr(byte &track, byte &sector, byte &offset, byte &size) const override;
 
 	Common::SeekableReadStream *createReadStream(DiskImage *disk, byte track, byte sector, byte offset = 0, byte size = 0) const;
 	void loadCommonData();
diff --git a/engines/adl/hires5.cpp b/engines/adl/hires5.cpp
index 24a31b0..399671a 100644
--- a/engines/adl/hires5.cpp
+++ b/engines/adl/hires5.cpp
@@ -43,16 +43,16 @@ public:
 
 private:
 	// AdlEngine
-	void setupOpcodeTables();
-	void runIntro();
-	void init();
-	void initGameState();
-	void applyRegionWorkarounds();
-	void applyRoomWorkarounds(byte roomNr);
-	Common::String getLine();
+	void setupOpcodeTables() override;
+	void runIntro() override;
+	void init() override;
+	void initGameState() override;
+	void applyRegionWorkarounds() override;
+	void applyRoomWorkarounds(byte roomNr) override;
+	Common::String getLine() override;
 
 	// AdlEngine_v4
-	bool isInventoryFull();
+	bool isInventoryFull() override;
 
 	void loadSong(Common::ReadStream &stream);
 	void drawLight(uint index, byte color) const;
diff --git a/engines/adl/sound.h b/engines/adl/sound.h
index 8fbeb80..c571ba5 100644
--- a/engines/adl/sound.h
+++ b/engines/adl/sound.h
@@ -44,13 +44,13 @@ typedef Common::Array<Tone> Tones;
 class Sound : public Audio::AudioStream {
 public:
 	Sound(const Tones &tones);
-	~Sound();
+	~Sound() override;
 
 	// AudioStream
-	int readBuffer(int16 *buffer, const int numSamples);
-	bool isStereo() const { return false; }
-	bool endOfData() const;
-	int getRate() const	{ return _rate; }
+	int readBuffer(int16 *buffer, const int numSamples) override;
+	bool isStereo() const override { return false; }
+	bool endOfData() const override;
+	int getRate() const override	{ return _rate; }
 
 private:
 	const Tones &_tones;


Commit: 3f3c88ce6a9218040844b9750ca8f543e6a66f36
    https://github.com/scummvm/scummvm/commit/3f3c88ce6a9218040844b9750ca8f543e6a66f36
Author: Bastien Bouclet (bastien.bouclet at gmail.com)
Date: 2020-02-09T12:43:14+01:00

Commit Message:
AGI: Add override keywords

Changed paths:
    engines/agi/agi.h
    engines/agi/console.h
    engines/agi/detection.cpp
    engines/agi/preagi.h
    engines/agi/preagi_mickey.h
    engines/agi/preagi_troll.h
    engines/agi/preagi_winnie.h
    engines/agi/sound.h
    engines/agi/sound_2gs.h
    engines/agi/sound_coco3.h
    engines/agi/sound_midi.h
    engines/agi/sound_pcjr.h
    engines/agi/sound_sarien.h


diff --git a/engines/agi/agi.h b/engines/agi/agi.h
index f4e2967..cd30a7b 100644
--- a/engines/agi/agi.h
+++ b/engines/agi/agi.h
@@ -622,13 +622,13 @@ private:
 public:
 	AgiLoader_v1(AgiEngine *vm);
 
-	virtual int init();
-	virtual int deinit();
-	virtual int detectGame();
-	virtual int loadResource(int16 resourceType, int16 resourceNr);
-	virtual int unloadResource(int16 resourceType, int16 resourceNr);
-	virtual int loadObjects(const char *);
-	virtual int loadWords(const char *);
+	int init() override;
+	int deinit() override;
+	int detectGame() override;
+	int loadResource(int16 resourceType, int16 resourceNr) override;
+	int unloadResource(int16 resourceType, int16 resourceNr) override;
+	int loadObjects(const char *) override;
+	int loadWords(const char *) override;
 };
 
 class AgiLoader_v2 : public AgiLoader {
@@ -644,13 +644,13 @@ public:
 		_vm = vm;
 	}
 
-	virtual int init();
-	virtual int deinit();
-	virtual int detectGame();
-	virtual int loadResource(int16 resourceType, int16 resourceNr);
-	virtual int unloadResource(int16 resourceType, int16 resourceNr);
-	virtual int loadObjects(const char *);
-	virtual int loadWords(const char *);
+	int init() override;
+	int deinit() override;
+	int detectGame() override;
+	int loadResource(int16 resourceType, int16 resourceNr) override;
+	int unloadResource(int16 resourceType, int16 resourceNr) override;
+	int loadObjects(const char *) override;
+	int loadWords(const char *) override;
 };
 
 class AgiLoader_v3 : public AgiLoader {
@@ -666,13 +666,13 @@ public:
 		_vm = vm;
 	}
 
-	virtual int init();
-	virtual int deinit();
-	virtual int detectGame();
-	virtual int loadResource(int16 resourceType, int16 resourceNr);
-	virtual int unloadResource(int16 resourceType, int16 resourceNr);
-	virtual int loadObjects(const char *);
-	virtual int loadWords(const char *);
+	int init() override;
+	int deinit() override;
+	int detectGame() override;
+	int loadResource(int16 resourceType, int16 resourceNr) override;
+	int unloadResource(int16 resourceType, int16 resourceNr) override;
+	int loadObjects(const char *) override;
+	int loadWords(const char *) override;
 };
 
 class GfxFont;
@@ -713,14 +713,14 @@ protected:
 	// Engine API
 	Common::Error init();
 	virtual Common::Error go() = 0;
-	virtual Common::Error run() override {
+	Common::Error run() override {
 		Common::Error err;
 		err = init();
 		if (err.getCode() != Common::kNoError)
 			return err;
 		return go();
 	}
-	virtual bool hasFeature(EngineFeature f) const override;
+	bool hasFeature(EngineFeature f) const override;
 
 	virtual void initialize() = 0;
 
@@ -752,7 +752,7 @@ public:
 	virtual void clearKeyQueue() = 0;
 
 	AgiBase(OSystem *syst, const AGIGameDescription *gameDesc);
-	~AgiBase();
+	~AgiBase() override;
 
 	virtual void clearImageStack() = 0;
 	virtual void recordImageStackCall(uint8 type, int16 p1, int16 p2, int16 p3,
@@ -836,7 +836,7 @@ struct AgiOpCodeDefinitionEntry {
 class AgiEngine : public AgiBase {
 protected:
 	// Engine APIs
-	virtual Common::Error go() override;
+	Common::Error go() override;
 
 	void initialize() override;
 
@@ -844,7 +844,7 @@ protected:
 
 public:
 	AgiEngine(OSystem *syst, const AGIGameDescription *gameDesc);
-	virtual ~AgiEngine();
+	~AgiEngine() override;
 
 	bool promptIsEnabled() override;
 
@@ -915,9 +915,9 @@ public:
 	int agiUnloadResource(int16 resourceType, int16 resourceNr);
 	void agiUnloadResources();
 
-	virtual int getKeypress() override;
-	virtual bool isKeypress() override;
-	virtual void clearKeyQueue() override;
+	int getKeypress() override;
+	bool isKeypress() override;
+	void clearKeyQueue() override;
 
 	byte getVar(int16 varNr);
 	void setVar(int16 varNr, byte newValue);
diff --git a/engines/agi/console.h b/engines/agi/console.h
index ccc17b3..a6a620e 100644
--- a/engines/agi/console.h
+++ b/engines/agi/console.h
@@ -77,7 +77,7 @@ private:
 class MickeyConsole : public GUI::Debugger {
 public:
 	MickeyConsole(MickeyEngine *mickey);
-	virtual ~MickeyConsole() {}
+	~MickeyConsole() override {}
 
 private:
 	MickeyEngine *_mickey;
@@ -90,7 +90,7 @@ private:
 class WinnieConsole : public GUI::Debugger {
 public:
 	WinnieConsole(WinnieEngine *winnie);
-	virtual ~WinnieConsole() {}
+	~WinnieConsole() override {}
 
 private:
 	WinnieEngine *_winnie;
diff --git a/engines/agi/detection.cpp b/engines/agi/detection.cpp
index 04bbfd4..f6895db 100644
--- a/engines/agi/detection.cpp
+++ b/engines/agi/detection.cpp
@@ -209,19 +209,19 @@ public:
 		return "agi";
 	}
 
-	virtual const char *getName() const override {
+	const char *getName() const override {
 		return "AGI preAGI + v2 + v3";
 	}
 
-	virtual const char *getOriginalCopyright() const override {
+	const char *getOriginalCopyright() const override {
 		return "Sierra AGI Engine (C) Sierra On-Line Software";
 	}
 
-	virtual bool hasFeature(MetaEngineFeature f) const override;
-	virtual bool createInstance(OSystem *syst, Engine **engine, const ADGameDescription *desc) const override;
-	virtual SaveStateList listSaves(const char *target) const override;
-	virtual int getMaximumSaveSlot() const override;
-	virtual void removeSaveState(const char *target, int slot) const override;
+	bool hasFeature(MetaEngineFeature f) const override;
+	bool createInstance(OSystem *syst, Engine **engine, const ADGameDescription *desc) const override;
+	SaveStateList listSaves(const char *target) const override;
+	int getMaximumSaveSlot() const override;
+	void removeSaveState(const char *target, int slot) const override;
 	SaveStateDescriptor querySaveMetaInfos(const char *target, int slot) const override;
 
 	ADDetectedGame fallbackDetect(const FileMap &allFiles, const Common::FSList &fslist) const override;
diff --git a/engines/agi/preagi.h b/engines/agi/preagi.h
index 0b2b73a..28965b9 100644
--- a/engines/agi/preagi.h
+++ b/engines/agi/preagi.h
@@ -63,7 +63,7 @@ protected:
 	void clearKeyQueue() override {}
 
 	PreAgiEngine(OSystem *syst, const AGIGameDescription *gameDesc);
-	virtual ~PreAgiEngine();
+	~PreAgiEngine() override;
 	int getGameId() {
 		return _gameId;
 	}
diff --git a/engines/agi/preagi_mickey.h b/engines/agi/preagi_mickey.h
index 066880d..89e1306 100644
--- a/engines/agi/preagi_mickey.h
+++ b/engines/agi/preagi_mickey.h
@@ -679,17 +679,17 @@ class PreAgiEngine;
 class MickeyEngine : public PreAgiEngine {
 public:
 	MickeyEngine(OSystem *syst, const AGIGameDescription *gameDesc);
-	~MickeyEngine();
+	~MickeyEngine() override;
 
 	void init();
-	Common::Error go();
+	Common::Error go() override;
 
 	void debugCurRoom();
 	void debugGotoRoom(int);
 	void drawPic(int);
 	void drawObj(ENUM_MSA_OBJECT, int, int);
 
-	GUI::Debugger *getDebugger() { return _console; }
+	GUI::Debugger *getDebugger() override { return _console; }
 
 protected:
 	MickeyConsole *_console;
diff --git a/engines/agi/preagi_troll.h b/engines/agi/preagi_troll.h
index 4f2be70..3226ddb 100644
--- a/engines/agi/preagi_troll.h
+++ b/engines/agi/preagi_troll.h
@@ -160,9 +160,9 @@ struct Item {
 class TrollEngine : public PreAgiEngine {
 public:
 	TrollEngine(OSystem *syst, const AGIGameDescription *gameDesc);
-	~TrollEngine();
+	~TrollEngine() override;
 
-	Common::Error go();
+	Common::Error go() override;
 
 private:
 	int _roomPicture;
diff --git a/engines/agi/preagi_winnie.h b/engines/agi/preagi_winnie.h
index 7175c28..41ad7a6 100644
--- a/engines/agi/preagi_winnie.h
+++ b/engines/agi/preagi_winnie.h
@@ -284,14 +284,14 @@ class PreAgiEngine;
 class WinnieEngine : public PreAgiEngine {
 public:
 	WinnieEngine(OSystem *syst, const AGIGameDescription *gameDesc);
-	~WinnieEngine();
+	~WinnieEngine() override;
 
 	void init();
-	Common::Error go();
+	Common::Error go() override;
 
 	void debugCurRoom();
 
-	GUI::Debugger *getDebugger() { return _console; }
+	GUI::Debugger *getDebugger() override { return _console; }
 
 private:
 	WinnieConsole *_console;
diff --git a/engines/agi/sound.h b/engines/agi/sound.h
index 8aa7a5d..83488f5 100644
--- a/engines/agi/sound.h
+++ b/engines/agi/sound.h
@@ -118,8 +118,8 @@ protected:
 class PCjrSound : public AgiSound {
 public:
 	PCjrSound(uint8 *data, uint32 len, int resnum);
-	~PCjrSound() { free(_data); }
-	virtual uint16 type() { return _type; }
+	~PCjrSound() override { free(_data); }
+	uint16 type() override { return _type; }
 	const uint8 *getVoicePointer(uint voiceNum);
 	uint8 *getData() { return _data; }
 	uint32 getLength() { return _len; }
diff --git a/engines/agi/sound_2gs.h b/engines/agi/sound_2gs.h
index 49a375c..1086a65 100644
--- a/engines/agi/sound_2gs.h
+++ b/engines/agi/sound_2gs.h
@@ -150,8 +150,8 @@ public:
 class IIgsMidi : public AgiSound {
 public:
 	IIgsMidi(uint8 *data, uint32 len, int resnum);
-	~IIgsMidi() { if (_data != NULL) free(_data); }
-	virtual uint16 type() { return _type; }
+	~IIgsMidi() override { if (_data != NULL) free(_data); }
+	uint16 type() override { return _type; }
 	virtual const uint8 *getPtr() { return _ptr; }
 	virtual void setPtr(const uint8 *ptr) { _ptr = ptr; }
 	virtual void rewind() { _ptr = _data + 2; _ticks = 0; }
@@ -167,8 +167,8 @@ public:
 class IIgsSample : public AgiSound {
 public:
 	IIgsSample(uint8 *data, uint32 len, int16 resourceNr);
-	~IIgsSample() { delete[] _sample; }
-	virtual uint16 type() { return _header.type; }
+	~IIgsSample() override { delete[] _sample; }
+	uint16 type() override { return _header.type; }
 	const IIgsSampleHeader &getHeader() const { return _header; }
 protected:
 	IIgsSampleHeader _header;   ///< Apple IIGS AGI sample header
@@ -220,16 +220,16 @@ private:
 class SoundGen2GS : public SoundGen, public Audio::AudioStream {
 public:
 	SoundGen2GS(AgiBase *vm, Audio::Mixer *pMixer);
-	~SoundGen2GS();
+	~SoundGen2GS() override;
 
-	void play(int resnum);
-	void stop(void);
+	void play(int resnum) override;
+	void stop(void) override;
 
-	int readBuffer(int16 *buffer, const int numSamples);
+	int readBuffer(int16 *buffer, const int numSamples) override;
 
-	bool isStereo() const { return true; }
-	bool endOfData() const { return false; }
-	int getRate() const { return _sampleRate; }
+	bool isStereo() const override { return true; }
+	bool endOfData() const override { return false; }
+	int getRate() const override { return _sampleRate; }
 
 private:
 	// Loader methods
diff --git a/engines/agi/sound_coco3.h b/engines/agi/sound_coco3.h
index 078495b..94661d9 100644
--- a/engines/agi/sound_coco3.h
+++ b/engines/agi/sound_coco3.h
@@ -43,23 +43,23 @@ struct CoCoNote {
 class SoundGenCoCo3 : public SoundGen, public Audio::AudioStream {
 public:
 	SoundGenCoCo3(AgiBase *vm, Audio::Mixer *pMixer);
-	~SoundGenCoCo3();
+	~SoundGenCoCo3() override;
 
-	void play(int resnum);
-	void stop(void);
+	void play(int resnum) override;
+	void stop(void) override;
 
 	// AudioStream API
-	int readBuffer(int16 *buffer, const int numSamples);
+	int readBuffer(int16 *buffer, const int numSamples) override;
 
-	bool isStereo() const {
+	bool isStereo() const override {
 		return false;
 	}
 
-	bool endOfData() const {
+	bool endOfData() const override {
 		return false;
 	}
 
-	int getRate() const {
+	int getRate() const override {
 		// FIXME: Ideally, we should use _sampleRate.
 		return 22050;
 	}
diff --git a/engines/agi/sound_midi.h b/engines/agi/sound_midi.h
index e026e26..d5fa1a2 100644
--- a/engines/agi/sound_midi.h
+++ b/engines/agi/sound_midi.h
@@ -34,8 +34,8 @@ namespace Agi {
 class MIDISound : public AgiSound {
 public:
 	MIDISound(uint8 *data, uint32 len, int resnum);
-	~MIDISound() { free(_data); }
-	virtual uint16 type() { return _type; }
+	~MIDISound() override { free(_data); }
+	uint16 type() override { return _type; }
 	uint8 *_data; ///< Raw sound resource data
 	uint32 _len;  ///< Length of the raw sound resource
 
@@ -47,17 +47,17 @@ class SoundGenMIDI : public SoundGen, public Audio::MidiPlayer {
 public:
 	SoundGenMIDI(AgiBase *vm, Audio::Mixer *pMixer);
 
-	void play(int resnum);
+	void play(int resnum) override;
 	// We must overload stop() here to implement the pure virtual
 	// stop() method of the SoundGen class.
-	void stop() { Audio::MidiPlayer::stop(); }
+	void stop() override { Audio::MidiPlayer::stop(); }
 
 	// MidiDriver_BASE interface implementation
-	virtual void send(uint32 b);
+	void send(uint32 b) override;
 
 	// Overload Audio::MidiPlayer method
-	virtual void sendToChannel(byte channel, uint32 b);
-	virtual void endOfTrack();
+	void sendToChannel(byte channel, uint32 b) override;
+	void endOfTrack() override;
 
 private:
 	bool _isGM;
diff --git a/engines/agi/sound_pcjr.h b/engines/agi/sound_pcjr.h
index 24d0814..8ad5d90 100644
--- a/engines/agi/sound_pcjr.h
+++ b/engines/agi/sound_pcjr.h
@@ -74,23 +74,23 @@ struct ToneChan {
 class SoundGenPCJr : public SoundGen, public Audio::AudioStream {
 public:
 	SoundGenPCJr(AgiBase *vm, Audio::Mixer *pMixer);
-	~SoundGenPCJr();
+	~SoundGenPCJr() override;
 
-	void play(int resnum);
-	void stop(void);
+	void play(int resnum) override;
+	void stop(void) override;
 
 	// AudioStream API
-	int readBuffer(int16 *buffer, const int numSamples);
+	int readBuffer(int16 *buffer, const int numSamples) override;
 
-	bool isStereo() const {
+	bool isStereo() const override {
 		return false;
 	}
 
-	bool endOfData() const {
+	bool endOfData() const override {
 		return false;
 	}
 
-	int getRate() const {
+	int getRate() const override {
 		// FIXME: Ideally, we should use _sampleRate.
 		return 22050;
 	}
diff --git a/engines/agi/sound_sarien.h b/engines/agi/sound_sarien.h
index c380ec0..e6247a4 100644
--- a/engines/agi/sound_sarien.h
+++ b/engines/agi/sound_sarien.h
@@ -69,23 +69,23 @@ struct ChannelInfo {
 class SoundGenSarien : public SoundGen, public Audio::AudioStream {
 public:
 	SoundGenSarien(AgiBase *vm, Audio::Mixer *pMixer);
-	~SoundGenSarien();
+	~SoundGenSarien() override;
 
-	void play(int resnum);
-	void stop(void);
+	void play(int resnum) override;
+	void stop(void) override;
 
 	// AudioStream API
-	int readBuffer(int16 *buffer, const int numSamples);
+	int readBuffer(int16 *buffer, const int numSamples) override;
 
-	bool isStereo() const {
+	bool isStereo() const override {
 		return false;
 	}
 
-	bool endOfData() const {
+	bool endOfData() const override {
 		return false;
 	}
 
-	int getRate() const {
+	int getRate() const override {
 		// FIXME: Ideally, we should use _sampleRate.
 		return 22050;
 	}


Commit: 1624da8c998102eb01c3d32f1cc5d36c1611402a
    https://github.com/scummvm/scummvm/commit/1624da8c998102eb01c3d32f1cc5d36c1611402a
Author: Bastien Bouclet (bastien.bouclet at gmail.com)
Date: 2020-02-09T12:43:14+01:00

Commit Message:
AGOS: Add override keywords

Changed paths:
    engines/agos/agos.h
    engines/agos/animation.h
    engines/agos/debugger.h
    engines/agos/detection.cpp
    engines/agos/drivers/accolade/adlib.h
    engines/agos/drivers/accolade/mt32.h
    engines/agos/drivers/simon1/adlib.h
    engines/agos/midi.h
    engines/agos/midiparser_s1d.cpp
    engines/agos/sound.cpp


diff --git a/engines/agos/agos.h b/engines/agos/agos.h
index 05ad2ad..be5bc27 100644
--- a/engines/agos/agos.h
+++ b/engines/agos/agos.h
@@ -216,17 +216,17 @@ protected:
 	// Engine APIs
 	Common::Error init();
 	virtual Common::Error go();
-	virtual Common::Error run() override {
+	Common::Error run() override {
 		Common::Error err;
 		err = init();
 		if (err.getCode() != Common::kNoError)
 			return err;
 		return go();
 	}
-	virtual GUI::Debugger *getDebugger() override;
-	virtual bool hasFeature(EngineFeature f) const override;
-	virtual void syncSoundSettings() override;
-	virtual void pauseEngineIntern(bool pause) override;
+	GUI::Debugger *getDebugger() override;
+	bool hasFeature(EngineFeature f) const override;
+	void syncSoundSettings() override;
+	void pauseEngineIntern(bool pause) override;
 
 	virtual void setupOpcodes();
 	uint16 _numOpcodes, _opcode;
@@ -616,7 +616,7 @@ protected:
 
 public:
 	AGOSEngine(OSystem *system, const AGOSGameDescription *gd);
-	virtual ~AGOSEngine();
+	~AGOSEngine() override;
 
 	byte *_curSfxFile;
 	uint32 _curSfxFileSize;
@@ -1313,20 +1313,20 @@ protected:
 
 class AGOSEngine_PN : public AGOSEngine {
 
-	virtual Common::Error go();
+	Common::Error go() override;
 	void demoSeq();
 	void introSeq();
 	void setupBoxes();
 	int readfromline();
 public:
 	AGOSEngine_PN(OSystem *system, const AGOSGameDescription *gd);
-	~AGOSEngine_PN();
+	~AGOSEngine_PN() override;
 
-	virtual void setupGame();
-	virtual void setupOpcodes();
-	virtual void setupVideoOpcodes(VgaOpcodeProc *op);
+	void setupGame() override;
+	void setupOpcodes() override;
+	void setupVideoOpcodes(VgaOpcodeProc *op) override;
 
-	virtual void executeOpcode(int opcode);
+	void executeOpcode(int opcode) override;
 
 	int actCallD(int n);
 
@@ -1460,7 +1460,7 @@ protected:
 	uint16 getptr(uint32 pos);
 	uint32 getlong(uint32 pos);
 
-	virtual void loadGamePcFile();
+	void loadGamePcFile() override;
 
 	int bitextract(uint32 ptr, int offs);
 	int doaction();
@@ -1511,7 +1511,7 @@ protected:
 	void drawIconHitBar();
 	void iconPage();
 	void printIcon(HitArea *ha, uint8 i, uint8 r);
-	virtual void windowPutChar(WindowBlock *window, byte c, byte b = 0);
+	void windowPutChar(WindowBlock *window, byte c, byte b = 0) override;
 
 	bool badload(int8 errorNum);
 	int loadFile(const Common::String &name);
@@ -1531,24 +1531,24 @@ protected:
 	void pobjd(int n, int m);
 	void ptext(uint32 tptr);
 
-	virtual void clearVideoWindow(uint16 windowNum, uint16 color);
-	virtual void setWindowImageEx(uint16 mode, uint16 vga_res);
+	void clearVideoWindow(uint16 windowNum, uint16 color) override;
+	void setWindowImageEx(uint16 mode, uint16 vga_res) override;
 
-	virtual bool ifObjectHere(uint16 val);
-	virtual bool ifObjectAt(uint16 a, uint16 b);
-	virtual bool ifObjectState(uint16 a, int16 b);
+	bool ifObjectHere(uint16 val) override;
+	bool ifObjectAt(uint16 a, uint16 b) override;
+	bool ifObjectState(uint16 a, int16 b) override;
 
-	virtual void boxController(uint x, uint y, uint mode);
-	virtual void timerProc();
+	void boxController(uint x, uint y, uint mode) override;
+	void timerProc() override;
 
 	void addChar(uint8 chr);
 	void clearCursor(WindowBlock *window);
 	void clearInputLine();
 	void handleKeyboard();
-	virtual void handleMouseMoved();
+	void handleMouseMoved() override;
 	void interact(char *buffer, uint8 size);
 
-	virtual bool processSpecialKeys();
+	bool processSpecialKeys() override;
 protected:
 	typedef void (AGOSEngine_PN::*OpcodeProcPN) ();
 	struct OpcodeEntryPN {
@@ -1564,11 +1564,11 @@ public:
 	AGOSEngine_Elvira1(OSystem *system, const AGOSGameDescription *gd);
 	//~AGOSEngine_Elvira1();
 
-	virtual void setupGame();
-	virtual void setupOpcodes();
-	virtual void setupVideoOpcodes(VgaOpcodeProc *op);
+	void setupGame() override;
+	void setupOpcodes() override;
+	void setupVideoOpcodes(VgaOpcodeProc *op) override;
 
-	virtual void executeOpcode(int opcode);
+	void executeOpcode(int opcode) override;
 
 	void oe1_present();
 	void oe1_notPresent();
@@ -1635,9 +1635,9 @@ protected:
 
 	const OpcodeEntryElvira1 *_opcodesElvira1;
 
-	virtual void drawIcon(WindowBlock *window, uint icon, uint x, uint y);
+	void drawIcon(WindowBlock *window, uint icon, uint x, uint y) override;
 
-	virtual Common::String genSaveName(int slot) const;
+	Common::String genSaveName(int slot) const override;
 };
 
 class AGOSEngine_Elvira2 : public AGOSEngine_Elvira1 {
@@ -1645,11 +1645,11 @@ public:
 	AGOSEngine_Elvira2(OSystem *system, const AGOSGameDescription *gd);
 	//~AGOSEngine_Elvira2();
 
-	virtual void setupGame();
-	virtual void setupOpcodes();
-	virtual void setupVideoOpcodes(VgaOpcodeProc *op);
+	void setupGame() override;
+	void setupOpcodes() override;
+	void setupVideoOpcodes(VgaOpcodeProc *op) override;
 
-	virtual void executeOpcode(int opcode);
+	void executeOpcode(int opcode) override;
 
 	void oe2_moveDirn();
 	void oe2_doClass();
@@ -1694,7 +1694,7 @@ public:
 	void oe2_b2Zero();
 	void oe2_b2NotZero();
 
-	virtual void printStats();
+	void printStats() override;
 protected:
 	typedef void (AGOSEngine_Elvira2::*OpcodeProcElvira2) ();
 	struct OpcodeEntryElvira2 {
@@ -1704,38 +1704,38 @@ protected:
 
 	const OpcodeEntryElvira2 *_opcodesElvira2;
 
-	virtual void readItemChildren(Common::SeekableReadStream *in, Item *item, uint tmp);
+	void readItemChildren(Common::SeekableReadStream *in, Item *item, uint tmp) override;
 
-	virtual bool loadGame(const Common::String &filename, bool restartMode = false);
-	virtual bool saveGame(uint slot, const char *caption);
+	bool loadGame(const Common::String &filename, bool restartMode = false) override;
+	bool saveGame(uint slot, const char *caption) override;
 
-	virtual void addArrows(WindowBlock *window, uint8 num);
-	virtual void removeArrows(WindowBlock *window, uint num);
+	void addArrows(WindowBlock *window, uint8 num) override;
+	void removeArrows(WindowBlock *window, uint num) override;
 
-	virtual void drawIcon(WindowBlock *window, uint icon, uint x, uint y);
-	virtual bool hasIcon(Item *item);
-	virtual uint itemGetIconNumber(Item *item);
-	virtual uint setupIconHitArea(WindowBlock *window, uint num, uint x, uint y, Item *itemPtr);
+	void drawIcon(WindowBlock *window, uint icon, uint x, uint y) override;
+	bool hasIcon(Item *item) override;
+	uint itemGetIconNumber(Item *item) override;
+	uint setupIconHitArea(WindowBlock *window, uint num, uint x, uint y, Item *itemPtr) override;
 
-	virtual void moveDirn(Item *i, uint x);
-	virtual int canPlace(Item *x, Item *y);
-	virtual int sizeOfRec(Item *o, int d);
-	virtual int weightOf(Item *x);
+	void moveDirn(Item *i, uint x) override;
+	int canPlace(Item *x, Item *y) override;
+	int sizeOfRec(Item *o, int d) override;
+	int weightOf(Item *x) override;
 
 	int changeExitStates(SubSuperRoom *sr, int n, int d, uint16 s);
 	uint16 getExitState(Item *item, uint16 x, uint16 d);
 	void setExitState(Item *i, uint16 n, uint16 d, uint16 s);
 	void setSRExit(Item *i, int n, int d, uint16 s);
 
-	virtual void handleMouseWheelUp();
-	virtual void handleMouseWheelDown();
+	void handleMouseWheelUp() override;
+	void handleMouseWheelDown() override;
 
 	virtual void listSaveGames();
-	virtual bool confirmOverWrite(WindowBlock *window);
-	virtual void userGame(bool load);
+	bool confirmOverWrite(WindowBlock *window) override;
+	void userGame(bool load) override;
 	virtual int userGameGetKey(bool *b, uint maxChar);
 
-	virtual Common::String genSaveName(int slot) const;
+	Common::String genSaveName(int slot) const override;
 };
 
 class AGOSEngine_Waxworks : public AGOSEngine_Elvira2 {
@@ -1743,11 +1743,11 @@ public:
 	AGOSEngine_Waxworks(OSystem *system, const AGOSGameDescription *gd);
 	//~AGOSEngine_Waxworks();
 
-	virtual void setupGame();
-	virtual void setupOpcodes();
-	virtual void setupVideoOpcodes(VgaOpcodeProc *op);
+	void setupGame() override;
+	void setupOpcodes() override;
+	void setupVideoOpcodes(VgaOpcodeProc *op) override;
 
-	virtual void executeOpcode(int opcode);
+	void executeOpcode(int opcode) override;
 
 	void boxTextMessage(const char *x);
 	void boxTextMsg(const char *x);
@@ -1787,22 +1787,22 @@ protected:
 	int _lineCounts[6];
 	char *_linePtrs[6];
 
-	virtual void drawIcon(WindowBlock *window, uint icon, uint x, uint y);
+	void drawIcon(WindowBlock *window, uint icon, uint x, uint y) override;
 
-	virtual void boxController(uint x, uint y, uint mode);
+	void boxController(uint x, uint y, uint mode) override;
 
-	virtual void addArrows(WindowBlock *window, uint8 num);
-	virtual void removeArrows(WindowBlock *window, uint num);
+	void addArrows(WindowBlock *window, uint8 num) override;
+	void removeArrows(WindowBlock *window, uint num) override;
 
-	virtual uint setupIconHitArea(WindowBlock *window, uint num, uint x, uint y, Item *itemPtr);
+	uint setupIconHitArea(WindowBlock *window, uint num, uint x, uint y, Item *itemPtr) override;
 
-	virtual bool loadTablesIntoMem(uint16 subrId);
+	bool loadTablesIntoMem(uint16 subrId) override;
 
-	virtual void moveDirn(Item *i, uint x);
+	void moveDirn(Item *i, uint x) override;
 
-	virtual bool confirmOverWrite(WindowBlock *window);
+	bool confirmOverWrite(WindowBlock *window) override;
 
-	virtual Common::String genSaveName(int slot) const;
+	Common::String genSaveName(int slot) const override;
 };
 
 class AGOSEngine_Simon1 : public AGOSEngine_Waxworks {
@@ -1810,13 +1810,13 @@ public:
 	AGOSEngine_Simon1(OSystem *system, const AGOSGameDescription *gd);
 	//~AGOSEngine_Simon1();
 
-	virtual void setupGame();
-	virtual void setupOpcodes();
-	virtual void setupVideoOpcodes(VgaOpcodeProc *op);
+	void setupGame() override;
+	void setupOpcodes() override;
+	void setupVideoOpcodes(VgaOpcodeProc *op) override;
 
-	virtual void executeOpcode(int opcode);
+	void executeOpcode(int opcode) override;
 
-	virtual void vc22_setPalette();
+	void vc22_setPalette() override;
 
 	// Opcodes, Simon 1
 	void os1_animate();
@@ -1845,38 +1845,38 @@ protected:
 
 	const OpcodeEntrySimon1 *_opcodesSimon1;
 
-	virtual void drawImage(VC10_state *state);
+	void drawImage(VC10_state *state) override;
 	void drawMaskedImage(VC10_state *state);
 	void draw32ColorImage(VC10_state *state);
 
-	virtual void dumpVgaFile(const byte *vga);
+	void dumpVgaFile(const byte *vga) override;
 
-	virtual void clearName();
+	void clearName() override;
 
-	virtual void handleMouseWheelUp();
-	virtual void handleMouseWheelDown();
+	void handleMouseWheelUp() override;
+	void handleMouseWheelDown() override;
 
-	virtual void drawIcon(WindowBlock *window, uint icon, uint x, uint y);
+	void drawIcon(WindowBlock *window, uint icon, uint x, uint y) override;
 
-	virtual void initMouse();
-	virtual void handleMouseMoved();
+	void initMouse() override;
+	void handleMouseMoved() override;
 
-	virtual void addArrows(WindowBlock *window, uint8 num);
-	virtual void removeArrows(WindowBlock *window, uint num);
+	void addArrows(WindowBlock *window, uint8 num) override;
+	void removeArrows(WindowBlock *window, uint num) override;
 
-	virtual uint setupIconHitArea(WindowBlock *window, uint num, uint x, uint y, Item *itemPtr);
+	uint setupIconHitArea(WindowBlock *window, uint num, uint x, uint y, Item *itemPtr) override;
 
 	virtual void playSpeech(uint16 speechId, uint16 vgaSpriteId);
 
-	virtual void listSaveGames();
-	virtual void userGame(bool load);
-	virtual int userGameGetKey(bool *b, uint maxChar);
+	void listSaveGames() override;
+	void userGame(bool load) override;
+	int userGameGetKey(bool *b, uint maxChar) override;
 
-	virtual void playMusic(uint16 music, uint16 track);
+	void playMusic(uint16 music, uint16 track) override;
 
-	virtual void vcStopAnimation(uint16 zone, uint16 sprite);
+	void vcStopAnimation(uint16 zone, uint16 sprite) override;
 
-	virtual Common::String genSaveName(int slot) const;
+	Common::String genSaveName(int slot) const override;
 };
 
 class AGOSEngine_Simon2 : public AGOSEngine_Simon1 {
@@ -1884,11 +1884,11 @@ public:
 	AGOSEngine_Simon2(OSystem *system, const AGOSGameDescription *gd);
 	//~AGOSEngine_Simon2();
 
-	virtual void setupGame();
-	virtual void setupOpcodes();
-	virtual void setupVideoOpcodes(VgaOpcodeProc *op);
+	void setupGame() override;
+	void setupOpcodes() override;
+	void setupVideoOpcodes(VgaOpcodeProc *op) override;
 
-	virtual void executeOpcode(int opcode);
+	void executeOpcode(int opcode) override;
 
 	void os2_printLongText();
 	void os2_rescan();
@@ -1911,34 +1911,34 @@ protected:
 
 	const OpcodeEntrySimon2 *_opcodesSimon2;
 
-	virtual void clearName();
+	void clearName() override;
 
-	virtual void drawIcon(WindowBlock *window, uint icon, uint x, uint y);
+	void drawIcon(WindowBlock *window, uint icon, uint x, uint y) override;
 
-	virtual void addArrows(WindowBlock *window, uint8 num);
-	virtual uint setupIconHitArea(WindowBlock *window, uint num, uint x, uint y, Item *itemPtr);
+	void addArrows(WindowBlock *window, uint8 num) override;
+	uint setupIconHitArea(WindowBlock *window, uint num, uint x, uint y, Item *itemPtr) override;
 
-	virtual void clearVideoWindow(uint16 windowNum, uint16 color);
+	void clearVideoWindow(uint16 windowNum, uint16 color) override;
 
-	virtual void playSpeech(uint16 speechId, uint16 vgaSpriteId);
+	void playSpeech(uint16 speechId, uint16 vgaSpriteId) override;
 
-	virtual Common::String genSaveName(int slot) const;
+	Common::String genSaveName(int slot) const override;
 };
 
 #ifdef ENABLE_AGOS2
 class AGOSEngine_Feeble : public AGOSEngine_Simon2 {
 public:
 	AGOSEngine_Feeble(OSystem *system, const AGOSGameDescription *gd);
-	~AGOSEngine_Feeble();
+	~AGOSEngine_Feeble() override;
 
-	virtual void setupGame();
-	virtual void setupOpcodes();
-	virtual void setupVideoOpcodes(VgaOpcodeProc *op);
+	void setupGame() override;
+	void setupOpcodes() override;
+	void setupVideoOpcodes(VgaOpcodeProc *op) override;
 
-	virtual void executeOpcode(int opcode);
+	void executeOpcode(int opcode) override;
 
-	virtual void vc36_setWindowImage();
-	virtual void vc48_setPathFinder();
+	void vc36_setWindowImage() override;
+	void vc48_setPathFinder() override;
 
 	void off_chance();
 	void off_jumpOut();
@@ -1993,54 +1993,54 @@ protected:
 	uint8 _interactiveVideo;
 	uint16 _vgaCurSpritePriority;
 
-	virtual uint16 to16Wrapper(uint value);
-	virtual uint16 readUint16Wrapper(const void *src);
-	virtual uint32 readUint32Wrapper(const void *src);
+	uint16 to16Wrapper(uint value) override;
+	uint16 readUint16Wrapper(const void *src) override;
+	uint32 readUint32Wrapper(const void *src) override;
 
 	void setLoyaltyRating(byte rating);
 
 	void playVideo(const char *filename, bool lastSceneUsed = false);
 	void stopInteractiveVideo();
 
-	virtual void drawImage(VC10_state *state);
+	void drawImage(VC10_state *state) override;
 	void scaleClip(int16 h, int16 w, int16 y, int16 x, int16 scrollY);
 
-	virtual void handleMouseWheelUp();
-	virtual void handleMouseWheelDown();
+	void handleMouseWheelUp() override;
+	void handleMouseWheelDown() override;
 
 	void drawMousePart(int image, byte x, byte y);
-	virtual void initMouse();
-	virtual void drawMousePointer();
+	void initMouse() override;
+	void drawMousePointer() override;
 
-	virtual void animateSprites();
+	void animateSprites() override;
 	void animateSpritesByY();
 
 	void oracleLogo();
 	void swapCharacterLogo();
-	virtual void timerProc();
+	void timerProc() override;
 
-	virtual void addArrows(WindowBlock *window, uint8 num);
-	virtual uint setupIconHitArea(WindowBlock *window, uint num, uint x, uint y, Item *itemPtr);
+	void addArrows(WindowBlock *window, uint8 num) override;
+	uint setupIconHitArea(WindowBlock *window, uint num, uint x, uint y, Item *itemPtr) override;
 
-	virtual void resetVerbs();
-	virtual void setVerb(HitArea * ha);
-	virtual void hitarea_leave(HitArea * ha, bool state = false);
+	void resetVerbs() override;
+	void setVerb(HitArea * ha) override;
+	void hitarea_leave(HitArea * ha, bool state = false) override;
 	void invertBox(HitArea *ha, bool state);
 
-	virtual void windowNewLine(WindowBlock *window);
-	virtual void windowDrawChar(WindowBlock *window, uint x, uint y, byte chr);
+	void windowNewLine(WindowBlock *window) override;
+	void windowDrawChar(WindowBlock *window, uint x, uint y, byte chr) override;
 
-	virtual void clearName();
+	void clearName() override;
 
-	virtual void drawIconArray(uint i, Item *itemPtr, int line, int classMask);
+	void drawIconArray(uint i, Item *itemPtr, int line, int classMask) override;
 
-	virtual void colorWindow(WindowBlock *window);
+	void colorWindow(WindowBlock *window) override;
 
-	virtual void dumpVgaFile(const byte *vga);
+	void dumpVgaFile(const byte *vga) override;
 
-	virtual void doOutput(const byte *src, uint len);
+	void doOutput(const byte *src, uint len) override;
 
-	virtual void printScreenText(uint vgaSpriteId, uint color, const char *stringPtr, int16 x, int16 y, int16 width);
+	void printScreenText(uint vgaSpriteId, uint color, const char *stringPtr, int16 x, int16 y, int16 width) override;
 
 	void printInteractText(uint16 num, const char *string);
 	void sendInteractText(uint16 num, const char *fmt, ...) GCC_PRINTF(3, 4);
@@ -2051,12 +2051,12 @@ protected:
 	void linksUp();
 	void linksDown();
 
-	virtual void runSubroutine101();
+	void runSubroutine101() override;
 
 	void checkUp(WindowBlock *window);
 	void checkDown(WindowBlock *window);
-	virtual void inventoryUp(WindowBlock *window);
-	virtual void inventoryDown(WindowBlock *window);
+	void inventoryUp(WindowBlock *window) override;
+	void inventoryDown(WindowBlock *window) override;
 
 	void oracleTextUp();
 	void oracleTextDown();
@@ -2068,8 +2068,8 @@ protected:
 	void saveUserGame(int slot);
 	void windowBackSpace(WindowBlock *window);
 
-	virtual Common::String genSaveName(int slot) const;
-	virtual void quickLoadOrSave();
+	Common::String genSaveName(int slot) const override;
+	void quickLoadOrSave() override;
 };
 
 class AGOSEngine_FeebleDemo : public AGOSEngine_Feeble {
@@ -2079,10 +2079,10 @@ public:
 protected:
 	bool _filmMenuUsed;
 
-	virtual Common::Error go();
+	Common::Error go() override;
 
-	virtual void initMouse();
-	virtual void drawMousePointer();
+	void initMouse() override;
+	void drawMousePointer() override;
 
 	void exitMenu();
 	void filmMenu();
@@ -2098,13 +2098,13 @@ public:
 	AGOSEngine_PuzzlePack(OSystem *system, const AGOSGameDescription *gd);
 	//~AGOSEngine_PuzzlePack();
 
-	virtual void setupGame();
-	virtual void setupOpcodes();
+	void setupGame() override;
+	void setupOpcodes() override;
 
-	virtual void executeOpcode(int opcode);
+	void executeOpcode(int opcode) override;
 
-	virtual void vc3_loadSprite();
-	virtual void vc63_fastFadeIn();
+	void vc3_loadSprite() override;
+	void vc63_fastFadeIn() override;
 
 	void opp_iconifyWindow();
 	void opp_restoreOopsPosition();
@@ -2135,11 +2135,11 @@ protected:
 	bool _oopsValid;
 	uint32 _gameTime;
 
-	virtual void initMouse();
-	virtual void handleMouseMoved();
-	virtual void drawMousePointer();
+	void initMouse() override;
+	void handleMouseMoved() override;
+	void drawMousePointer() override;
 
-	virtual void resetVerbs();
+	void resetVerbs() override;
 
 	void loadMouseImage();
 
@@ -2148,7 +2148,7 @@ protected:
 
 	void printInfoText(const char *itemText);
 
-	virtual Common::String genSaveName(int slot) const;
+	Common::String genSaveName(int slot) const override;
 };
 
 
@@ -2157,9 +2157,9 @@ public:
 	AGOSEngine_DIMP(OSystem *system, const AGOSGameDescription *gd);
 	//~AGOSEngine_DIMP();
 
-	virtual void setupOpcodes();
+	void setupOpcodes() override;
 
-	virtual void executeOpcode(int opcode);
+	void executeOpcode(int opcode) override;
 
 protected:
 	typedef void (AGOSEngine_DIMP::*OpcodeProcDIMP) ();
@@ -2178,7 +2178,7 @@ protected:
 	void odp_loadUserGame();
 
 	void dimpIdle();
-	virtual void timerProc();
+	void timerProc() override;
 
 };
 #endif
diff --git a/engines/agos/animation.h b/engines/agos/animation.h
index 86808cb..891749e 100644
--- a/engines/agos/animation.h
+++ b/engines/agos/animation.h
@@ -75,18 +75,18 @@ class MoviePlayerDXA : public MoviePlayer, Video::DXADecoder {
 public:
 	MoviePlayerDXA(AGOSEngine_Feeble *vm, const char *name);
 
-	bool load();
-	void playVideo();
-	void nextFrame();
-	virtual void stopVideo();
+	bool load() override;
+	void playVideo() override;
+	void nextFrame() override;
+	void stopVideo() override;
 
 protected:
-	void readSoundData(Common::SeekableReadStream *stream);
+	void readSoundData(Common::SeekableReadStream *stream) override;
 
 private:
-	void handleNextFrame();
-	bool processFrame();
-	void startSound();
+	void handleNextFrame() override;
+	bool processFrame() override;
+	void startSound() override;
 	void copyFrameToBuffer(byte *dst, uint x, uint y, uint pitch);
 };
 
@@ -94,15 +94,15 @@ class MoviePlayerSMK : public MoviePlayer, Video::SmackerDecoder {
 public:
 	MoviePlayerSMK(AGOSEngine_Feeble *vm, const char *name);
 
-	bool load();
-	void playVideo();
-	void nextFrame();
-	virtual void stopVideo();
+	bool load() override;
+	void playVideo() override;
+	void nextFrame() override;
+	void stopVideo() override;
 
 private:
-	void handleNextFrame();
-	bool processFrame();
-	void startSound();
+	void handleNextFrame() override;
+	bool processFrame() override;
+	void startSound() override;
 	void copyFrameToBuffer(byte *dst, uint x, uint y, uint pitch);
 };
 
diff --git a/engines/agos/debugger.h b/engines/agos/debugger.h
index 0261944..07a304a 100644
--- a/engines/agos/debugger.h
+++ b/engines/agos/debugger.h
@@ -32,7 +32,7 @@ class AGOSEngine;
 class Debugger : public GUI::Debugger {
 public:
 	Debugger(AGOSEngine *vm);
-	virtual ~Debugger() {}  // we need this for __SYMBIAN32__ archaic gcc/UIQ
+	~Debugger() override {}  // we need this for __SYMBIAN32__ archaic gcc/UIQ
 
 private:
 	AGOSEngine *_vm;
diff --git a/engines/agos/detection.cpp b/engines/agos/detection.cpp
index 26a2d39..d6af7b6 100644
--- a/engines/agos/detection.cpp
+++ b/engines/agos/detection.cpp
@@ -107,24 +107,24 @@ public:
 		return "agos";
 	}
 
-	virtual const char *getName() const override {
+	const char *getName() const override {
 		return "AGOS";
 	}
 
-	virtual const char *getOriginalCopyright() const override {
+	const char *getOriginalCopyright() const override {
 		return "AGOS (C) Adventure Soft";
 	}
 
-	virtual bool hasFeature(MetaEngineFeature f) const override;
+	bool hasFeature(MetaEngineFeature f) const override;
 
-	virtual Common::Error createInstance(OSystem *syst, Engine **engine) const override {
+	Common::Error createInstance(OSystem *syst, Engine **engine) const override {
 		Engines::upgradeTargetIfNecessary(obsoleteGameIDsTable);
 		return AdvancedMetaEngine::createInstance(syst, engine);
 	}
-	virtual bool createInstance(OSystem *syst, Engine **engine, const ADGameDescription *desc) const override;
+	bool createInstance(OSystem *syst, Engine **engine, const ADGameDescription *desc) const override;
 
-	virtual SaveStateList listSaves(const char *target) const override;
-	virtual int getMaximumSaveSlot() const override;
+	SaveStateList listSaves(const char *target) const override;
+	int getMaximumSaveSlot() const override;
 };
 
 bool AgosMetaEngine::hasFeature(MetaEngineFeature f) const {
diff --git a/engines/agos/drivers/accolade/adlib.h b/engines/agos/drivers/accolade/adlib.h
index c044d2e..eb1dc20 100644
--- a/engines/agos/drivers/accolade/adlib.h
+++ b/engines/agos/drivers/accolade/adlib.h
@@ -44,24 +44,24 @@ struct InstrumentEntry {
 class MidiDriver_Accolade_AdLib : public MidiDriver {
 public:
 	MidiDriver_Accolade_AdLib();
-	virtual ~MidiDriver_Accolade_AdLib();
+	~MidiDriver_Accolade_AdLib() override;
 
 	// MidiDriver
-	int open();
-	void close();
-	void send(uint32 b);
-	MidiChannel *allocateChannel() { return NULL; }
-	MidiChannel *getPercussionChannel() { return NULL; }
+	int open() override;
+	void close() override;
+	void send(uint32 b) override;
+	MidiChannel *allocateChannel() override { return NULL; }
+	MidiChannel *getPercussionChannel() override { return NULL; }
 
-	bool isOpen() const { return _isOpen; }
-	uint32 getBaseTempo() { return 1000000 / OPL::OPL::kDefaultCallbackFrequency; }
+	bool isOpen() const override { return _isOpen; }
+	uint32 getBaseTempo() override { return 1000000 / OPL::OPL::kDefaultCallbackFrequency; }
 
 	void setVolume(byte volume);
-	virtual uint32 property(int prop, uint32 param);
+	uint32 property(int prop, uint32 param) override;
 
 	bool setupInstruments(byte *instrumentData, uint16 instrumentDataSize, bool useMusicDrvFile);
 
-	void setTimerCallback(void *timerParam, Common::TimerManager::TimerProc timerProc);
+	void setTimerCallback(void *timerParam, Common::TimerManager::TimerProc timerProc) override;
 
 private:
 	bool _musicDrvMode;
diff --git a/engines/agos/drivers/accolade/mt32.h b/engines/agos/drivers/accolade/mt32.h
index 8d74c42..bf8c3a1 100644
--- a/engines/agos/drivers/accolade/mt32.h
+++ b/engines/agos/drivers/accolade/mt32.h
@@ -31,32 +31,32 @@ namespace AGOS {
 class MidiDriver_Accolade_MT32 : public MidiDriver {
 public:
 	MidiDriver_Accolade_MT32();
-	virtual ~MidiDriver_Accolade_MT32();
+	~MidiDriver_Accolade_MT32() override;
 
 	// MidiDriver
-	int open();
-	void close();
-	bool isOpen() const { return _isOpen; }
+	int open() override;
+	void close() override;
+	bool isOpen() const override { return _isOpen; }
 
-	void send(uint32 b);
+	void send(uint32 b) override;
 
-	MidiChannel *allocateChannel() {
+	MidiChannel *allocateChannel() override {
 		if (_driver)
 			return _driver->allocateChannel();
 		return NULL;
 	}
-	MidiChannel *getPercussionChannel() {
+	MidiChannel *getPercussionChannel() override {
 		if (_driver)
 			return _driver->getPercussionChannel();
 		return NULL;
 	}
 
-	void setTimerCallback(void *timer_param, Common::TimerManager::TimerProc timer_proc) {
+	void setTimerCallback(void *timer_param, Common::TimerManager::TimerProc timer_proc) override {
 		if (_driver)
 			_driver->setTimerCallback(timer_param, timer_proc);
 	}
 
-	uint32 getBaseTempo() {
+	uint32 getBaseTempo() override {
 		if (_driver) {
 			return _driver->getBaseTempo();
 		}
diff --git a/engines/agos/drivers/simon1/adlib.h b/engines/agos/drivers/simon1/adlib.h
index 6057bf1..258c361 100644
--- a/engines/agos/drivers/simon1/adlib.h
+++ b/engines/agos/drivers/simon1/adlib.h
@@ -31,20 +31,20 @@ namespace AGOS {
 class MidiDriver_Simon1_AdLib : public MidiDriver {
 public:
 	MidiDriver_Simon1_AdLib(const byte *instrumentData);
-	virtual ~MidiDriver_Simon1_AdLib();
+	~MidiDriver_Simon1_AdLib() override;
 
 	// MidiDriver API
-	virtual int open();
-	virtual bool isOpen() const;
-	virtual void close();
+	int open() override;
+	bool isOpen() const override;
+	void close() override;
 
-	virtual void send(uint32 b);
+	void send(uint32 b) override;
 
-	virtual void setTimerCallback(void *timer_param, Common::TimerManager::TimerProc timer_proc);
-	virtual uint32 getBaseTempo();
+	void setTimerCallback(void *timer_param, Common::TimerManager::TimerProc timer_proc) override;
+	uint32 getBaseTempo() override;
 
-	virtual MidiChannel *allocateChannel() { return 0; }
-	virtual MidiChannel *getPercussionChannel() { return 0; }
+	MidiChannel *allocateChannel() override { return 0; }
+	MidiChannel *getPercussionChannel() override { return 0; }
 private:
 	bool _isOpen;
 
diff --git a/engines/agos/midi.h b/engines/agos/midi.h
index 070413e..a75f09d 100644
--- a/engines/agos/midi.h
+++ b/engines/agos/midi.h
@@ -94,7 +94,7 @@ public:
 
 public:
 	MidiPlayer();
-	virtual ~MidiPlayer();
+	~MidiPlayer() override;
 
 	void loadSMF(Common::File *in, int song, bool sfx = false);
 	void loadMultipleSMF(Common::File *in, bool sfx = false);
@@ -118,8 +118,8 @@ public:
 	int open(int gameType, bool isDemo);
 
 	// MidiDriver_BASE interface implementation
-	virtual void send(uint32 b);
-	virtual void metaEvent(byte type, byte *data, uint16 length);
+	void send(uint32 b) override;
+	void metaEvent(byte type, byte *data, uint16 length) override;
 
 private:
 	kMusicMode _musicMode;
diff --git a/engines/agos/midiparser_s1d.cpp b/engines/agos/midiparser_s1d.cpp
index 7b9a058..557c4f8 100644
--- a/engines/agos/midiparser_s1d.cpp
+++ b/engines/agos/midiparser_s1d.cpp
@@ -45,13 +45,13 @@ private:
 	uint32 readVLQ2(byte *&data);
 	void chainEvent(EventInfo &info);
 protected:
-	void parseNextEvent(EventInfo &info);
-	void resetTracking();
+	void parseNextEvent(EventInfo &info) override;
+	void resetTracking() override;
 
 public:
 	MidiParser_S1D() : _data(0), _noDelta(false) {}
 
-	bool loadMusic(byte *data, uint32 size);
+	bool loadMusic(byte *data, uint32 size) override;
 };
 
 uint32 MidiParser_S1D::readVLQ2(byte *&data) {
diff --git a/engines/agos/sound.cpp b/engines/agos/sound.cpp
index ae2412f..713dcf8 100644
--- a/engines/agos/sound.cpp
+++ b/engines/agos/sound.cpp
@@ -143,11 +143,11 @@ private:
 	uint _loopSound;
 public:
 	LoopingAudioStream(BaseSound *parent, uint sound, uint loopSound, bool loop);
-	~LoopingAudioStream();
-	int readBuffer(int16 *buffer, const int numSamples);
-	bool isStereo() const { return _stream ? _stream->isStereo() : 0; }
-	bool endOfData() const;
-	int getRate() const { return _stream ? _stream->getRate() : 22050; }
+	~LoopingAudioStream() override;
+	int readBuffer(int16 *buffer, const int numSamples) override;
+	bool isStereo() const override { return _stream ? _stream->isStereo() : 0; }
+	bool endOfData() const override;
+	int getRate() const override { return _stream ? _stream->getRate() : 22050; }
 };
 
 LoopingAudioStream::LoopingAudioStream(BaseSound *parent, uint sound, uint loopSound, bool loop) {
@@ -253,7 +253,7 @@ public:
 	WavSound(Audio::Mixer *mixer, const Common::String &filename, uint32 base = 0)
 		: BaseSound(mixer, filename, base, false) {}
 	WavSound(Audio::Mixer *mixer, const Common::String &filename, uint32 *offsets) : BaseSound(mixer, filename, offsets) {}
-	Audio::AudioStream *makeAudioStream(uint sound);
+	Audio::AudioStream *makeAudioStream(uint sound) override;
 };
 
 Audio::AudioStream *WavSound::makeAudioStream(uint sound) {
@@ -271,7 +271,7 @@ class VocSound : public BaseSound {
 public:
 	VocSound(Audio::Mixer *mixer, const Common::String &filename, bool isUnsigned, uint32 base = 0, bool bigEndian = false)
 		: BaseSound(mixer, filename, base, bigEndian), _flags(isUnsigned ? Audio::FLAG_UNSIGNED : 0) {}
-	Audio::AudioStream *makeAudioStream(uint sound);
+	Audio::AudioStream *makeAudioStream(uint sound) override;
 };
 
 Audio::AudioStream *VocSound::makeAudioStream(uint sound) {
@@ -290,8 +290,8 @@ class RawSound : public BaseSound {
 public:
 	RawSound(Audio::Mixer *mixer, const Common::String &filename, bool isUnsigned)
 		: BaseSound(mixer, filename, 0, SOUND_BIG_ENDIAN), _flags(isUnsigned ? Audio::FLAG_UNSIGNED : 0) {}
-	Audio::AudioStream *makeAudioStream(uint sound);
-	void playSound(uint sound, uint loopSound, Audio::Mixer::SoundType type, Audio::SoundHandle *handle, bool loop, int vol = 0);
+	Audio::AudioStream *makeAudioStream(uint sound) override;
+	void playSound(uint sound, uint loopSound, Audio::Mixer::SoundType type, Audio::SoundHandle *handle, bool loop, int vol = 0) override;
 };
 
 Audio::AudioStream *RawSound::makeAudioStream(uint sound) {
@@ -324,7 +324,7 @@ void RawSound::playSound(uint sound, uint loopSound, Audio::Mixer::SoundType typ
 class MP3Sound : public BaseSound {
 public:
 	MP3Sound(Audio::Mixer *mixer, const Common::String &filename, uint32 base = 0) : BaseSound(mixer, filename, base, false) {}
-	Audio::AudioStream *makeAudioStream(uint sound) {
+	Audio::AudioStream *makeAudioStream(uint sound) override {
 		Common::SeekableReadStream *tmp = getSoundStream(sound);
 		if (!tmp)
 			return NULL;
@@ -340,7 +340,7 @@ public:
 class VorbisSound : public BaseSound {
 public:
 	VorbisSound(Audio::Mixer *mixer, const Common::String &filename, uint32 base = 0) : BaseSound(mixer, filename, base, false) {}
-	Audio::AudioStream *makeAudioStream(uint sound) {
+	Audio::AudioStream *makeAudioStream(uint sound) override {
 		Common::SeekableReadStream *tmp = getSoundStream(sound);
 		if (!tmp)
 			return NULL;
@@ -356,7 +356,7 @@ public:
 class FLACSound : public BaseSound {
 public:
 	FLACSound(Audio::Mixer *mixer, const Common::String &filename, uint32 base = 0) : BaseSound(mixer, filename, base, false) {}
-	Audio::AudioStream *makeAudioStream(uint sound) {
+	Audio::AudioStream *makeAudioStream(uint sound) override {
 		Common::SeekableReadStream *tmp = getSoundStream(sound);
 		if (!tmp)
 			return NULL;


Commit: 9611f091cc00a7b46515afe42630bd470ef58658
    https://github.com/scummvm/scummvm/commit/9611f091cc00a7b46515afe42630bd470ef58658
Author: Bastien Bouclet (bastien.bouclet at gmail.com)
Date: 2020-02-09T12:43:14+01:00

Commit Message:
AVALANCHE: Add override keywords

Changed paths:
    engines/avalanche/avalanche.h
    engines/avalanche/console.h


diff --git a/engines/avalanche/avalanche.h b/engines/avalanche/avalanche.h
index 96d7506..ffc7397 100644
--- a/engines/avalanche/avalanche.h
+++ b/engines/avalanche/avalanche.h
@@ -95,7 +95,7 @@ public:
 	OSystem *_system;
 
 	AvalancheEngine(OSystem *syst, const AvalancheGameDescription *gd);
-	~AvalancheEngine();
+	~AvalancheEngine() override;
 
 	Common::ErrorCode initialize();
 	GUI::Debugger *getDebugger() override;
@@ -110,11 +110,11 @@ public:
 	const char *getCopyrightString() const;
 
 	void synchronize(Common::Serializer &sz);
-	virtual bool canSaveGameStateCurrently() override;
+	bool canSaveGameStateCurrently() override;
 	Common::Error saveGameState(int slot, const Common::String &desc) override;
 	bool saveGame(const int16 slot, const Common::String &desc);
 	Common::String getSaveFileName(const int slot);
-	virtual bool canLoadGameStateCurrently() override;
+	bool canLoadGameStateCurrently() override;
 	Common::Error loadGameState(int slot) override;
 	bool loadGame(const int16 slot);
 	Common::String expandDate(int d, int m, int y);
diff --git a/engines/avalanche/console.h b/engines/avalanche/console.h
index b5b5fb6..0e4a74e 100644
--- a/engines/avalanche/console.h
+++ b/engines/avalanche/console.h
@@ -37,7 +37,7 @@ class AvalancheEngine;
 class AvalancheConsole : public GUI::Debugger {
 public:
 	AvalancheConsole(AvalancheEngine *vm);
-	virtual ~AvalancheConsole(void);
+	~AvalancheConsole(void) override;
 
 protected:
 	bool Cmd_MagicLines(int argc, const char **argv);


Commit: 8df458f869d38e7cc3657c03962a0fa19ecffdf1
    https://github.com/scummvm/scummvm/commit/8df458f869d38e7cc3657c03962a0fa19ecffdf1
Author: Bastien Bouclet (bastien.bouclet at gmail.com)
Date: 2020-02-09T12:43:14+01:00

Commit Message:
BBVS: Add override keywords

Changed paths:
    engines/bbvs/bbvs.h
    engines/bbvs/detection.cpp
    engines/bbvs/dialogs.h
    engines/bbvs/minigames/bbairguitar.h
    engines/bbvs/minigames/bbant.h
    engines/bbvs/minigames/bbloogie.h
    engines/bbvs/minigames/bbtennis.h


diff --git a/engines/bbvs/bbvs.h b/engines/bbvs/bbvs.h
index b8171b8..728dc68 100644
--- a/engines/bbvs/bbvs.h
+++ b/engines/bbvs/bbvs.h
@@ -219,10 +219,10 @@ static const int8 kWalkTurnTbl[] = {
 class BbvsEngine : public Engine {
 protected:
 	Common::Error run() override;
-	virtual bool hasFeature(EngineFeature f) const override;
+	bool hasFeature(EngineFeature f) const override;
 public:
 	BbvsEngine(OSystem *syst, const ADGameDescription *gd);
-	~BbvsEngine();
+	~BbvsEngine() override;
 	void newGame();
 	void continueGameFromQuickSave();
 	void setNewSceneNum(int newSceneNum);
diff --git a/engines/bbvs/detection.cpp b/engines/bbvs/detection.cpp
index 5f7dbaa..ae0b499 100644
--- a/engines/bbvs/detection.cpp
+++ b/engines/bbvs/detection.cpp
@@ -77,20 +77,20 @@ public:
 		return "bbvs";
 	}
 
-	virtual const char *getName() const override {
+	const char *getName() const override {
 		return "MTV's Beavis and Butt-head in Virtual Stupidity";
 	}
 
-	virtual const char *getOriginalCopyright() const override {
+	const char *getOriginalCopyright() const override {
 		return "(C) 1995 Viacom New Media";
 	}
 
-	virtual bool hasFeature(MetaEngineFeature f) const override;
-	virtual bool 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;
+	bool 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;
 };
 
 bool BbvsMetaEngine::hasFeature(MetaEngineFeature f) const {
diff --git a/engines/bbvs/dialogs.h b/engines/bbvs/dialogs.h
index f95fc13..a4b031a 100644
--- a/engines/bbvs/dialogs.h
+++ b/engines/bbvs/dialogs.h
@@ -62,10 +62,10 @@ enum {
 class MainMenu : public GUI::Dialog {
 public:
 	MainMenu(BbvsEngine *vm);
-	~MainMenu();
+	~MainMenu() override;
 
-	void reflowLayout();
-	void handleCommand(GUI::CommandSender *sender, uint32 command, uint32 data);
+	void reflowLayout() override;
+	void handleCommand(GUI::CommandSender *sender, uint32 command, uint32 data) override;
 
 protected:
 	BbvsEngine *_vm;
diff --git a/engines/bbvs/minigames/bbairguitar.h b/engines/bbvs/minigames/bbairguitar.h
index dddc1d0..0f6d29e 100644
--- a/engines/bbvs/minigames/bbairguitar.h
+++ b/engines/bbvs/minigames/bbairguitar.h
@@ -30,7 +30,7 @@ namespace Bbvs {
 class MinigameBbAirGuitar : public Minigame {
 public:
 	MinigameBbAirGuitar(BbvsEngine *vm) : Minigame(vm) {};
-	bool run(bool fromMainGame);
+	bool run(bool fromMainGame) override;
 public:
 
 	struct Obj {
diff --git a/engines/bbvs/minigames/bbant.h b/engines/bbvs/minigames/bbant.h
index 6637629..6605bbc 100644
--- a/engines/bbvs/minigames/bbant.h
+++ b/engines/bbvs/minigames/bbant.h
@@ -30,7 +30,7 @@ namespace Bbvs {
 class MinigameBbAnt : public Minigame {
 public:
 	MinigameBbAnt(BbvsEngine *vm) : Minigame(vm) {};
-	bool run(bool fromMainGame);
+	bool run(bool fromMainGame) override;
 public:
 
 	struct Obj {
diff --git a/engines/bbvs/minigames/bbloogie.h b/engines/bbvs/minigames/bbloogie.h
index a68dfa8..3570d69 100644
--- a/engines/bbvs/minigames/bbloogie.h
+++ b/engines/bbvs/minigames/bbloogie.h
@@ -30,7 +30,7 @@ namespace Bbvs {
 class MinigameBbLoogie : public Minigame {
 public:
 	MinigameBbLoogie(BbvsEngine *vm) : Minigame(vm) {};
-	bool run(bool fromMainGame);
+	bool run(bool fromMainGame) override;
 public:
 
 	struct Obj {
diff --git a/engines/bbvs/minigames/bbtennis.h b/engines/bbvs/minigames/bbtennis.h
index bedad28..6c5e9da 100644
--- a/engines/bbvs/minigames/bbtennis.h
+++ b/engines/bbvs/minigames/bbtennis.h
@@ -30,7 +30,7 @@ namespace Bbvs {
 class MinigameBbTennis : public Minigame {
 public:
 	MinigameBbTennis(BbvsEngine *vm) : Minigame(vm) {};
-	bool run(bool fromMainGame);
+	bool run(bool fromMainGame) override;
 public:
 
 	struct Obj {


Commit: 79efd3c46ee9b627fc7ddda5b0a5d4c3c3a3d0ad
    https://github.com/scummvm/scummvm/commit/79efd3c46ee9b627fc7ddda5b0a5d4c3c3a3d0ad
Author: Bastien Bouclet (bastien.bouclet at gmail.com)
Date: 2020-02-09T12:43:14+01:00

Commit Message:
BLADERUNNER: Add override keywords

Changed paths:
    engines/bladerunner/aud_stream.h
    engines/bladerunner/bladerunner.h
    engines/bladerunner/debugger.h
    engines/bladerunner/fog.h
    engines/bladerunner/font.h
    engines/bladerunner/light.h
    engines/bladerunner/script/police_maze.h
    engines/bladerunner/ui/kia_section_clues.h
    engines/bladerunner/ui/kia_section_crimes.h
    engines/bladerunner/ui/kia_section_help.h
    engines/bladerunner/ui/kia_section_load.h
    engines/bladerunner/ui/kia_section_save.h
    engines/bladerunner/ui/kia_section_settings.h
    engines/bladerunner/ui/kia_section_suspects.h
    engines/bladerunner/ui/ui_check_box.h
    engines/bladerunner/ui/ui_container.h
    engines/bladerunner/ui/ui_scroll_box.h
    engines/bladerunner/ui/ui_slider.h


diff --git a/engines/bladerunner/aud_stream.h b/engines/bladerunner/aud_stream.h
index 1d65022..2b709a3 100644
--- a/engines/bladerunner/aud_stream.h
+++ b/engines/bladerunner/aud_stream.h
@@ -54,13 +54,13 @@ class AudStream : public Audio::RewindableAudioStream {
 public:
 	AudStream(byte *data, int overrideFrequency = -1);
 	AudStream(AudioCache *cache, int32 hash, int overrideFrequency = -1);
-	~AudStream();
+	~AudStream() override;
 
-	int readBuffer(int16 *buffer, const int numSamples);
-	bool isStereo() const { return false; }
-	int getRate() const { return _overrideFrequency > 0 ? _overrideFrequency : _frequency; };
-	bool endOfData() const { return _p == _end; }
-	bool rewind();
+	int readBuffer(int16 *buffer, const int numSamples) override;
+	bool isStereo() const override { return false; }
+	int getRate() const override { return _overrideFrequency > 0 ? _overrideFrequency : _frequency; };
+	bool endOfData() const override { return _p == _end; }
+	bool rewind() override;
 	int getLength() const;
 };
 
diff --git a/engines/bladerunner/bladerunner.h b/engines/bladerunner/bladerunner.h
index c2094c1..1281301 100644
--- a/engines/bladerunner/bladerunner.h
+++ b/engines/bladerunner/bladerunner.h
@@ -251,7 +251,7 @@ private:
 
 public:
 	BladeRunnerEngine(OSystem *syst, const ADGameDescription *desc);
-	~BladeRunnerEngine();
+	~BladeRunnerEngine() override;
 
 	bool hasFeature(EngineFeature f) const override;
 	bool canLoadGameStateCurrently() override;
diff --git a/engines/bladerunner/debugger.h b/engines/bladerunner/debugger.h
index a7c0aa4..3495d04 100644
--- a/engines/bladerunner/debugger.h
+++ b/engines/bladerunner/debugger.h
@@ -88,7 +88,7 @@ public:
 	bool _showMouseClickInfo;
 
 	Debugger(BladeRunnerEngine *vm);
-	~Debugger();
+	~Debugger() override;
 
 	bool cmdAnimation(int argc, const char **argv);
 	bool cmdHealth(int argc, const char **argv);
diff --git a/engines/bladerunner/fog.h b/engines/bladerunner/fog.h
index 5668093..82cfd30 100644
--- a/engines/bladerunner/fog.h
+++ b/engines/bladerunner/fog.h
@@ -86,8 +86,8 @@ private:
 public:
 	FogSphere():_radius(0.0f) {};
 
-	void read(Common::ReadStream *stream, int frameCount);
-	void calculateCoeficient(Vector3 position, Vector3 viewPosition, float *coeficient);
+	void read(Common::ReadStream *stream, int frameCount) override;
+	void calculateCoeficient(Vector3 position, Vector3 viewPosition, float *coeficient) override;
 };
 
 class FogCone : public Fog {
@@ -97,8 +97,8 @@ private:
 public:
 	FogCone():_coneAngle(0.0f) {};
 
-	void read(Common::ReadStream *stream, int frameCount);
-	void calculateCoeficient(Vector3 position, Vector3 viewPosition, float *coeficient);
+	void read(Common::ReadStream *stream, int frameCount) override;
+	void calculateCoeficient(Vector3 position, Vector3 viewPosition, float *coeficient) override;
 };
 
 class FogBox : public Fog {
@@ -108,8 +108,8 @@ private:
 public:
 	FogBox():_size() {};
 
-	void read(Common::ReadStream *stream, int frameCount);
-	void calculateCoeficient(Vector3 position, Vector3 viewPosition, float *coeficient);
+	void read(Common::ReadStream *stream, int frameCount) override;
+	void calculateCoeficient(Vector3 position, Vector3 viewPosition, float *coeficient) override;
 };
 
 } // End of namespace BladeRunner
diff --git a/engines/bladerunner/font.h b/engines/bladerunner/font.h
index b874231..77ef0ad 100644
--- a/engines/bladerunner/font.h
+++ b/engines/bladerunner/font.h
@@ -57,14 +57,14 @@ class Font : public Graphics::Font {
 	bool                     _useFontColor;
 
 public:
-	~Font();
+	~Font() override;
 
 	static Font* load(BladeRunnerEngine *vm, const Common::String &fileName, int spacing, bool useFontColor);
 
-	int getFontHeight() const;
-	int getMaxCharWidth() const;
-	int getCharWidth(uint32 chr) const;
-	void drawChar(Graphics::Surface *dst, uint32 chr, int x, int y, uint32 color) const;
+	int getFontHeight() const override;
+	int getMaxCharWidth() const override;
+	int getCharWidth(uint32 chr) const override;
+	void drawChar(Graphics::Surface *dst, uint32 chr, int x, int y, uint32 color) const override;
 
 private:
 	Font();
diff --git a/engines/bladerunner/light.h b/engines/bladerunner/light.h
index 31e40e0..be7bd2d 100644
--- a/engines/bladerunner/light.h
+++ b/engines/bladerunner/light.h
@@ -92,26 +92,26 @@ protected:
 };
 
 class Light1 : public Light {
-	float calculate(Vector3 start, Vector3 end) const;
-	void calculateColor(Color *outColor, Vector3 position) const;
+	float calculate(Vector3 start, Vector3 end) const override;
+	void calculateColor(Color *outColor, Vector3 position) const override;
 };
 
 class Light2 : public Light {
-	float calculate(Vector3 start, Vector3 end) const;
-	void calculateColor(Color *outColor, Vector3 position) const;
+	float calculate(Vector3 start, Vector3 end) const override;
+	void calculateColor(Color *outColor, Vector3 position) const override;
 };
 
 class Light3 : public Light {
-	void calculateColor(Color *outColor, Vector3 position) const;
+	void calculateColor(Color *outColor, Vector3 position) const override;
 };
 
 class Light4 : public Light {
-	void calculateColor(Color *outColor, Vector3 position) const;
+	void calculateColor(Color *outColor, Vector3 position) const override;
 };
 
 class LightAmbient : public Light {
-	float calculate(Vector3 start, Vector3 end) const;
-	void calculateColor(Color *outColor, Vector3 position) const;
+	float calculate(Vector3 start, Vector3 end) const override;
+	void calculateColor(Color *outColor, Vector3 position) const override;
 };
 
 } // End of namespace BladeRunner
diff --git a/engines/bladerunner/script/police_maze.h b/engines/bladerunner/script/police_maze.h
index 31b46d3..cac73a8 100644
--- a/engines/bladerunner/script/police_maze.h
+++ b/engines/bladerunner/script/police_maze.h
@@ -59,7 +59,7 @@ class PoliceMazeTargetTrack : ScriptBase {
 
 public:
 	PoliceMazeTargetTrack(BladeRunnerEngine *vm);
-	~PoliceMazeTargetTrack();
+	~PoliceMazeTargetTrack() override;
 
 	void reset();
 	void clear(bool isLoadingGame);
@@ -90,7 +90,7 @@ public:
 
 public:
 	PoliceMaze(BladeRunnerEngine *vm);
-	~PoliceMaze();
+	~PoliceMaze() override;
 
 	void tick();
 	void clear(bool isLoadingGame);
diff --git a/engines/bladerunner/ui/kia_section_clues.h b/engines/bladerunner/ui/kia_section_clues.h
index 6807288..0eae20f 100644
--- a/engines/bladerunner/ui/kia_section_clues.h
+++ b/engines/bladerunner/ui/kia_section_clues.h
@@ -64,7 +64,7 @@ class KIASectionClues : public KIASectionBase {
 
 public:
 	KIASectionClues(BladeRunnerEngine *vm, ActorClues *clues);
-	~KIASectionClues();
+	~KIASectionClues() override;
 
 	void reset();
 
diff --git a/engines/bladerunner/ui/kia_section_crimes.h b/engines/bladerunner/ui/kia_section_crimes.h
index ff20762..848ac72 100644
--- a/engines/bladerunner/ui/kia_section_crimes.h
+++ b/engines/bladerunner/ui/kia_section_crimes.h
@@ -77,7 +77,7 @@ public:
 
 public:
 	KIASectionCrimes(BladeRunnerEngine *vm, ActorClues *clues);
-	~KIASectionCrimes();
+	~KIASectionCrimes() override;
 
 	void reset();
 
diff --git a/engines/bladerunner/ui/kia_section_help.h b/engines/bladerunner/ui/kia_section_help.h
index eebcbb3..70ee41c 100644
--- a/engines/bladerunner/ui/kia_section_help.h
+++ b/engines/bladerunner/ui/kia_section_help.h
@@ -37,7 +37,7 @@ class KIASectionHelp : public KIASectionBase {
 
 public:
 	KIASectionHelp(BladeRunnerEngine *vm);
-	~KIASectionHelp();
+	~KIASectionHelp() override;
 
 	void open() override;
 	void close() override;
diff --git a/engines/bladerunner/ui/kia_section_load.h b/engines/bladerunner/ui/kia_section_load.h
index 70efd47..7a20d72 100644
--- a/engines/bladerunner/ui/kia_section_load.h
+++ b/engines/bladerunner/ui/kia_section_load.h
@@ -56,7 +56,7 @@ class KIASectionLoad : public KIASectionBase {
 
 public:
 	KIASectionLoad(BladeRunnerEngine *vm);
-	~KIASectionLoad();
+	~KIASectionLoad() override;
 
 	void open() override;
 	void close() override;
diff --git a/engines/bladerunner/ui/kia_section_save.h b/engines/bladerunner/ui/kia_section_save.h
index 0d5bc43..be1eaeb 100644
--- a/engines/bladerunner/ui/kia_section_save.h
+++ b/engines/bladerunner/ui/kia_section_save.h
@@ -70,7 +70,7 @@ class KIASectionSave : public KIASectionBase {
 
 public:
 	KIASectionSave(BladeRunnerEngine *vm);
-	~KIASectionSave();
+	~KIASectionSave() override;
 
 	void open() override;
 	void close() override;
diff --git a/engines/bladerunner/ui/kia_section_settings.h b/engines/bladerunner/ui/kia_section_settings.h
index 77c3ada..b6ca8a7 100644
--- a/engines/bladerunner/ui/kia_section_settings.h
+++ b/engines/bladerunner/ui/kia_section_settings.h
@@ -58,7 +58,7 @@ class KIASectionSettings : public KIASectionBase {
 
 public:
 	KIASectionSettings(BladeRunnerEngine *vm);
-	~KIASectionSettings();
+	~KIASectionSettings() override;
 
 	void open() override;
 	void close() override;
diff --git a/engines/bladerunner/ui/kia_section_suspects.h b/engines/bladerunner/ui/kia_section_suspects.h
index d913cbb..b4473b4 100644
--- a/engines/bladerunner/ui/kia_section_suspects.h
+++ b/engines/bladerunner/ui/kia_section_suspects.h
@@ -86,7 +86,7 @@ public:
 
 public:
 	KIASectionSuspects(BladeRunnerEngine *vm, ActorClues *clues);
-	~KIASectionSuspects();
+	~KIASectionSuspects() override;
 
 	void reset();
 
diff --git a/engines/bladerunner/ui/ui_check_box.h b/engines/bladerunner/ui/ui_check_box.h
index 9b601ed..b4422b7 100644
--- a/engines/bladerunner/ui/ui_check_box.h
+++ b/engines/bladerunner/ui/ui_check_box.h
@@ -46,15 +46,15 @@ public:
 
 	UICheckBox(BladeRunnerEngine *vm, UIComponentCallback *valueChangedCallback, void *callbackData, Common::Rect rect, int style, bool isChecked);
 
-	void draw(Graphics::Surface &surface);
+	void draw(Graphics::Surface &surface) override;
 
 	void enable();
 	void disable();
 	void setChecked(bool isChecked);
 
-	void handleMouseMove(int mouseX, int mouseY);
-	void handleMouseDown(bool alternateButton);
-	void handleMouseUp(bool alternateButton);
+	void handleMouseMove(int mouseX, int mouseY) override;
+	void handleMouseDown(bool alternateButton) override;
+	void handleMouseUp(bool alternateButton) override;
 };
 
 } // End of namespace BladeRunner
diff --git a/engines/bladerunner/ui/ui_container.h b/engines/bladerunner/ui/ui_container.h
index 07ae20f..8d79451 100644
--- a/engines/bladerunner/ui/ui_container.h
+++ b/engines/bladerunner/ui/ui_container.h
@@ -37,14 +37,14 @@ class UIContainer : public UIComponent {
 public:
 	UIContainer(BladeRunnerEngine *vm) : UIComponent(vm) {}
 
-	void draw(Graphics::Surface &surface);
-
-	void handleMouseMove(int mouseX, int mouseY);
-	void handleMouseDown(bool alternateButton);
-	void handleMouseUp(bool alternateButton);
-	void handleMouseScroll(int direction); // Added by ScummVM team
-	void handleKeyUp(const Common::KeyState &kbd);
-	void handleKeyDown(const Common::KeyState &kbd);
+	void draw(Graphics::Surface &surface) override;
+
+	void handleMouseMove(int mouseX, int mouseY) override;
+	void handleMouseDown(bool alternateButton) override;
+	void handleMouseUp(bool alternateButton) override;
+	void handleMouseScroll(int direction) override; // Added by ScummVM team
+	void handleKeyUp(const Common::KeyState &kbd) override;
+	void handleKeyDown(const Common::KeyState &kbd) override;
 
 	void add(UIComponent *component);
 	void clear();
diff --git a/engines/bladerunner/ui/ui_scroll_box.h b/engines/bladerunner/ui/ui_scroll_box.h
index 2ac0701..1e2d0e5 100644
--- a/engines/bladerunner/ui/ui_scroll_box.h
+++ b/engines/bladerunner/ui/ui_scroll_box.h
@@ -94,7 +94,7 @@ class UIScrollBox : public UIComponent {
 
 public:
 	UIScrollBox(BladeRunnerEngine *vm, UIScrollBoxCallback *lineSelectedCallback, void *callbackData, int maxLineCount, int style, bool center, Common::Rect rect,Common::Rect scrollBarRect);
-	~UIScrollBox();
+	~UIScrollBox() override;
 
 	void draw(Graphics::Surface &surface) override;
 
diff --git a/engines/bladerunner/ui/ui_slider.h b/engines/bladerunner/ui/ui_slider.h
index 146f638..28a4210 100644
--- a/engines/bladerunner/ui/ui_slider.h
+++ b/engines/bladerunner/ui/ui_slider.h
@@ -48,11 +48,11 @@ public:
 
 	UISlider(BladeRunnerEngine *vm, UIComponentCallback *valueChangedCallback, void *callbackData, Common::Rect rect, int maxValue, int value);
 
-	void draw(Graphics::Surface &surface);
+	void draw(Graphics::Surface &surface) override;
 
-	void handleMouseMove(int mouseX, int mouseY);
-	void handleMouseDown(bool alternateButton);
-	void handleMouseUp(bool alternateButton);
+	void handleMouseMove(int mouseX, int mouseY) override;
+	void handleMouseDown(bool alternateButton) override;
+	void handleMouseUp(bool alternateButton) override;
 
 	void setValue(int value);
 };


Commit: dd6e745487061bc78f102b760bbb2a9694fa3c0e
    https://github.com/scummvm/scummvm/commit/dd6e745487061bc78f102b760bbb2a9694fa3c0e
Author: Bastien Bouclet (bastien.bouclet at gmail.com)
Date: 2020-02-09T12:43:14+01:00

Commit Message:
CGE: Add override keywords

Changed paths:
    engines/cge/cge.h
    engines/cge/cge_main.h
    engines/cge/console.h
    engines/cge/detection.cpp
    engines/cge/events.h
    engines/cge/game.h
    engines/cge/sound.h
    engines/cge/talk.h
    engines/cge/vmenu.h
    engines/cge/walk.h


diff --git a/engines/cge/cge.h b/engines/cge/cge.h
index d1b21e9..e81fc04 100644
--- a/engines/cge/cge.h
+++ b/engines/cge/cge.h
@@ -136,12 +136,12 @@ private:
 	Common::String generateSaveName(int slot);
 public:
 	CGEEngine(OSystem *syst, const ADGameDescription *gameDescription);
-	~CGEEngine();
-	virtual bool hasFeature(EngineFeature f) const override;
-	virtual bool canLoadGameStateCurrently() override;
-	virtual bool canSaveGameStateCurrently() override;
-	virtual Common::Error loadGameState(int slot) override;
-	virtual Common::Error saveGameState(int slot, const Common::String &desc) override;
+	~CGEEngine() override;
+	bool hasFeature(EngineFeature f) const override;
+	bool canLoadGameStateCurrently() override;
+	bool canSaveGameStateCurrently() override;
+	Common::Error loadGameState(int slot) override;
+	Common::Error saveGameState(int slot, const Common::String &desc) override;
 
 	static const int _maxSceneArr[5];
 	bool _quitFlag;
@@ -205,7 +205,7 @@ public:
 	BitmapPtr *_miniShpList;
 	int        _startGameSlot;
 
-	virtual Common::Error run() override;
+	Common::Error run() override;
 	GUI::Debugger *getDebugger() override {
 		return _console;
 	}
@@ -335,7 +335,7 @@ private:
 class Console : public GUI::Debugger {
 public:
 	Console(CGEEngine *vm) {}
-	virtual ~Console() {}
+	~Console() override {}
 };
 
 } // End of namespace CGE
diff --git a/engines/cge/cge_main.h b/engines/cge/cge_main.h
index e0438f7..5e26bd0 100644
--- a/engines/cge/cge_main.h
+++ b/engines/cge/cge_main.h
@@ -92,8 +92,8 @@ public:
 
 	void setPal();
 	void funTouch();
-	virtual void touch(uint16 mask, int x, int y, Common::KeyCode keyCode);
-	void tick();
+	void touch(uint16 mask, int x, int y, Common::KeyCode keyCode) override;
+	void tick() override;
 private:
 	CGEEngine *_vm;
 };
@@ -101,7 +101,7 @@ private:
 class Square : public Sprite {
 public:
 	Square(CGEEngine *vm);
-	virtual void touch(uint16 mask, int x, int y, Common::KeyCode keyCode);
+	void touch(uint16 mask, int x, int y, Common::KeyCode keyCode) override;
 private:
 	CGEEngine *_vm;
 };
diff --git a/engines/cge/console.h b/engines/cge/console.h
index ad44712..b9750ba 100644
--- a/engines/cge/console.h
+++ b/engines/cge/console.h
@@ -32,7 +32,7 @@ class CGEEngine;
 class CGEConsole : public GUI::Debugger {
 public:
 	CGEConsole(CGEEngine *vm);
-	virtual ~CGEConsole();
+	~CGEConsole() override;
 
 private:
 	CGEEngine *_vm;
diff --git a/engines/cge/detection.cpp b/engines/cge/detection.cpp
index 9305fb5..a144d99 100644
--- a/engines/cge/detection.cpp
+++ b/engines/cge/detection.cpp
@@ -121,21 +121,21 @@ public:
 		return "cge";
 	}
 
-	virtual const char *getName() const override {
+	const char *getName() const override {
 		return "CGE";
 	}
 
-	virtual const char *getOriginalCopyright() const override {
+	const char *getOriginalCopyright() const override {
 		return "Soltys (C) 1994-1996 L.K. Avalon";
 	}
 
 	ADDetectedGame fallbackDetect(const FileMap &allFiles, const Common::FSList &fslist) const override;
-	virtual bool hasFeature(MetaEngineFeature f) const override;
-	virtual bool 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;
+	bool 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;
 };
 
 static ADGameDescription s_fallbackDesc = {
diff --git a/engines/cge/events.h b/engines/cge/events.h
index 63f02b7..d60a08e 100644
--- a/engines/cge/events.h
+++ b/engines/cge/events.h
@@ -84,7 +84,7 @@ public:
 	int _buttons;
 	Sprite *_busy;
 	Mouse(CGEEngine *vm);
-	~Mouse();
+	~Mouse() override;
 	void on();
 	void off();
 	void newMouse(Common::Event &event);
diff --git a/engines/cge/game.h b/engines/cge/game.h
index 330eb20..cb9c60b 100644
--- a/engines/cge/game.h
+++ b/engines/cge/game.h
@@ -45,7 +45,7 @@ private:
 public:
 	int _tx, _ty;
 	Fly(CGEEngine *vm, Bitmap **shpl);
-	void tick();
+	void tick() override;
 };
 
 } // End of namespace CGE
diff --git a/engines/cge/sound.h b/engines/cge/sound.h
index 8e624ee..af6f938 100644
--- a/engines/cge/sound.h
+++ b/engines/cge/sound.h
@@ -120,13 +120,13 @@ private:
 	void sndMidiStop();
 public:
 	MusicPlayer(CGEEngine *vm);
-	~MusicPlayer();
+	~MusicPlayer() override;
 
 	void loadMidi(int ref);
 	void killMidi();
 
-	virtual void send(uint32 b);
-	virtual void sendToChannel(byte channel, uint32 b);
+	void send(uint32 b) override;
+	void sendToChannel(byte channel, uint32 b) override;
 };
 
 } // End of namespace CGE
diff --git a/engines/cge/talk.h b/engines/cge/talk.h
index 2f89881..eb926a3 100644
--- a/engines/cge/talk.h
+++ b/engines/cge/talk.h
@@ -66,7 +66,7 @@ class InfoLine : public Talk {
 	const char *_oldText;
 public:
 	InfoLine(CGEEngine *vm, uint16 wid);
-	void update(const char *text);
+	void update(const char *text) override;
 private:
 	CGEEngine *_vm;
 };
diff --git a/engines/cge/vmenu.h b/engines/cge/vmenu.h
index 1cab570..a680c0d 100644
--- a/engines/cge/vmenu.h
+++ b/engines/cge/vmenu.h
@@ -57,8 +57,8 @@ public:
 	static int _recent;
 	MenuBar *_bar;
 	Vmenu(CGEEngine *vm, Choice *list, int x, int y);
-	~Vmenu();
-	virtual void touch(uint16 mask, int x, int y, Common::KeyCode keyCode);
+	~Vmenu() override;
+	void touch(uint16 mask, int x, int y, Common::KeyCode keyCode) override;
 private:
 	char *_vmgt;
 	CGEEngine *_vm;
diff --git a/engines/cge/walk.h b/engines/cge/walk.h
index 982c96d..6661251 100644
--- a/engines/cge/walk.h
+++ b/engines/cge/walk.h
@@ -67,8 +67,8 @@ public:
 
 	Dir _dir;
 	Walk(CGEEngine *vm, BitmapPtr *shpl);
-	~Walk();
-	void tick();
+	~Walk() override;
+	void tick() override;
 	void findWay(Cluster c);
 	void findWay(Sprite *spr);
 	int distance(Sprite *spr);


Commit: 8b2902539e8723e05441954746df87cf0ea581cc
    https://github.com/scummvm/scummvm/commit/8b2902539e8723e05441954746df87cf0ea581cc
Author: Bastien Bouclet (bastien.bouclet at gmail.com)
Date: 2020-02-09T12:43:14+01:00

Commit Message:
CGE2: Add override keywords

Changed paths:
    engines/cge2/cge2.h
    engines/cge2/cge2_main.h
    engines/cge2/console.h
    engines/cge2/detection.cpp
    engines/cge2/events.h
    engines/cge2/hero.h
    engines/cge2/sound.h
    engines/cge2/vmenu.h


diff --git a/engines/cge2/cge2.h b/engines/cge2/cge2.h
index fc07f09..ee40d22 100644
--- a/engines/cge2/cge2.h
+++ b/engines/cge2/cge2.h
@@ -156,12 +156,12 @@ private:
 	void resetGame();
 public:
 	CGE2Engine(OSystem *syst, const ADGameDescription *gameDescription);
-	virtual bool hasFeature(EngineFeature f) const override;
-	virtual bool canSaveGameStateCurrently() override;
-	virtual bool canLoadGameStateCurrently() override;
-	virtual Common::Error saveGameState(int slot, const Common::String &desc) override;
-	virtual Common::Error loadGameState(int slot) override;
-	virtual Common::Error run() override;
+	bool hasFeature(EngineFeature f) const override;
+	bool canSaveGameStateCurrently() override;
+	bool canLoadGameStateCurrently() override;
+	Common::Error saveGameState(int slot, const Common::String &desc) override;
+	Common::Error loadGameState(int slot) override;
+	Common::Error run() override;
 
 	WARN_UNUSED_RESULT static bool readSavegameHeader(Common::InSaveFile *in, SavegameHeader &header, bool skipThumbnail = true);
 
diff --git a/engines/cge2/cge2_main.h b/engines/cge2/cge2_main.h
index 4d92c33..2c46d13 100644
--- a/engines/cge2/cge2_main.h
+++ b/engines/cge2/cge2_main.h
@@ -41,8 +41,8 @@ public:
 
 	System(CGE2Engine *vm);
 
-	virtual void touch(uint16 mask, V2D pos, Common::KeyCode keyCode);
-	void tick();
+	void touch(uint16 mask, V2D pos, Common::KeyCode keyCode) override;
+	void tick() override;
 private:
 	CGE2Engine *_vm;
 };
diff --git a/engines/cge2/console.h b/engines/cge2/console.h
index 8e8b683..8cb20650 100644
--- a/engines/cge2/console.h
+++ b/engines/cge2/console.h
@@ -32,7 +32,7 @@ class CGE2Engine;
 class CGE2Console : public GUI::Debugger {
 public:
 	CGE2Console(CGE2Engine *vm);
-	virtual ~CGE2Console();
+	~CGE2Console() override;
 
 private:
 	bool doCarpetWorkaround(int argc, const char **argv);
diff --git a/engines/cge2/detection.cpp b/engines/cge2/detection.cpp
index b29c0c6..1b7d4bc 100644
--- a/engines/cge2/detection.cpp
+++ b/engines/cge2/detection.cpp
@@ -127,21 +127,21 @@ public:
 		return "cge2";
 	}
 
-	virtual const char *getName() const override {
+	const char *getName() const override {
 		return "CGE2";
 	}
 
-	virtual const char *getOriginalCopyright() const override {
+	const char *getOriginalCopyright() const override {
 		return "Sfinx (C) 1994-1997 Janus B. Wisniewski and L.K. Avalon";
 	}
 
 	ADDetectedGame fallbackDetect(const FileMap &allFiles, const Common::FSList &fslist) const override;
-	virtual bool createInstance(OSystem *syst, Engine **engine, const ADGameDescription *desc) const override;
-	virtual bool hasFeature(MetaEngineFeature f) const override;
-	virtual int getMaximumSaveSlot() const override;
-	virtual SaveStateList listSaves(const char *target) const override;
+	bool createInstance(OSystem *syst, Engine **engine, const ADGameDescription *desc) const override;
+	bool hasFeature(MetaEngineFeature f) 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;
 };
 
 static ADGameDescription s_fallbackDesc = {
diff --git a/engines/cge2/events.h b/engines/cge2/events.h
index d1aaca2..0c6460a 100644
--- a/engines/cge2/events.h
+++ b/engines/cge2/events.h
@@ -84,7 +84,7 @@ public:
 	int _buttons;
 	Sprite *_busy;
 	Mouse(CGE2Engine *vm);
-	~Mouse();
+	~Mouse() override;
 	void on();
 	void off();
 	void newMouse(Common::Event &event);
diff --git a/engines/cge2/hero.h b/engines/cge2/hero.h
index 3b5329e..de66639 100644
--- a/engines/cge2/hero.h
+++ b/engines/cge2/hero.h
@@ -75,10 +75,10 @@ public:
 	int _maxDist;
 	bool _ignoreMap;
 	Hero(CGE2Engine *vm);
-	~Hero();
-	void tick();
-	Sprite *expand();
-	Sprite *contract();
+	~Hero() override;
+	void tick() override;
+	Sprite *expand() override;
+	Sprite *contract() override;
 	Sprite *setContact();
 	int stepSize() { return _ext->_seq[7]._dx; }
 	int distance(V3D pos);
@@ -104,7 +104,7 @@ public:
 	Action action() { return (Action)(_ref % 10); }
 	void reach(int mode);
 	void setCurrent();
-	void setScene(int c);
+	void setScene(int c) override;
 	void operator++();
 	void operator--();
 };
diff --git a/engines/cge2/sound.h b/engines/cge2/sound.h
index 8c16f06..40f67cf 100644
--- a/engines/cge2/sound.h
+++ b/engines/cge2/sound.h
@@ -115,13 +115,13 @@ private:
 	void sndMidiStop();
 public:
 	explicit MusicPlayer(CGE2Engine *vm);
-	~MusicPlayer();
+	~MusicPlayer() override override;
 
 	void loadMidi(int ref);
 	void killMidi();
 
-	virtual void send(uint32 b);
-	virtual void sendToChannel(byte channel, uint32 b);
+	void send(uint32 b) override override;
+	void sendToChannel(byte channel, uint32 b) override override;
 };
 
 } // End of namespace CGE2
diff --git a/engines/cge2/vmenu.h b/engines/cge2/vmenu.h
index f34812d..d27afa5 100644
--- a/engines/cge2/vmenu.h
+++ b/engines/cge2/vmenu.h
@@ -53,13 +53,13 @@ public:
 class ExitGameChoice : public Choice {
 public:
 	ExitGameChoice(CGE2Engine *vm);
-	void proc();
+	void proc() override;
 };
 
 class ReturnToGameChoice : public Choice {
 public:
 	ReturnToGameChoice(CGE2Engine *vm);
-	void proc();
+	void proc() override;
 };
 
 class MenuBar : public Talk {
@@ -79,8 +79,8 @@ public:
 	MenuBar *_bar;
 
 	VMenu(CGE2Engine *vm, Common::Array<Choice *> list, V2D pos, ColorBank col);
-	~VMenu();
-	void touch(uint16 mask, V2D pos, Common::KeyCode keyCode);
+	~VMenu() override;
+	void touch(uint16 mask, V2D pos, Common::KeyCode keyCode) override;
 	char *vmGather(Common::Array<Choice *> list);
 };
 


Commit: 4d69dad91b9288c3395cdfaed192541f5719b9de
    https://github.com/scummvm/scummvm/commit/4d69dad91b9288c3395cdfaed192541f5719b9de
Author: Bastien Bouclet (bastien.bouclet at gmail.com)
Date: 2020-02-09T12:43:15+01:00

Commit Message:
CHEWY: Add override keywords

Changed paths:
    engines/chewy/chewy.h
    engines/chewy/console.h
    engines/chewy/detection.cpp
    engines/chewy/resource.h
    engines/chewy/text.h
    engines/chewy/video/cfo_decoder.h


diff --git a/engines/chewy/chewy.h b/engines/chewy/chewy.h
index 3c88d9c..79c090b 100644
--- a/engines/chewy/chewy.h
+++ b/engines/chewy/chewy.h
@@ -48,7 +48,7 @@ class Text;
 class ChewyEngine : public Engine {
 public:
 	ChewyEngine(OSystem *syst, const ChewyGameDescription *gameDesc);
-	virtual ~ChewyEngine();
+	~ChewyEngine() override;
 
 	int getGameType() const;
 	uint32 getFeatures() const;
@@ -68,8 +68,8 @@ public:
 
 protected:
 	// Engine APIs
-	virtual Common::Error run() override;
-	virtual bool hasFeature(EngineFeature f) const override;
+	Common::Error run() override;
+	bool hasFeature(EngineFeature f) const override;
 
 	void initialize();
 	void shutdown();
diff --git a/engines/chewy/console.h b/engines/chewy/console.h
index 2ceb1df..45db6b8 100644
--- a/engines/chewy/console.h
+++ b/engines/chewy/console.h
@@ -32,7 +32,7 @@ class ChewyEngine;
 class Console : public GUI::Debugger {
 public:
 	Console(ChewyEngine *vm);
-	virtual ~Console(void);
+	~Console(void) override;
 
 private:
 	ChewyEngine *_vm;
diff --git a/engines/chewy/detection.cpp b/engines/chewy/detection.cpp
index b41b467..e5aa2a2 100644
--- a/engines/chewy/detection.cpp
+++ b/engines/chewy/detection.cpp
@@ -121,18 +121,18 @@ public:
 		return "chewy";
 	}
 
-	virtual const char *getName() const override {
+	const char *getName() const override {
 		return "Chewy: Esc from F5";
 	}
 
-	virtual const char *getOriginalCopyright() const override {
+	const char *getOriginalCopyright() const override {
 		return "Chewy: Esc from F5 (C) 1995 New Generation Software";
 	}
 
-	virtual bool hasFeature(MetaEngineFeature f) const override;
-	virtual bool createInstance(OSystem *syst, Engine **engine, const ADGameDescription *desc) const override;
+	bool hasFeature(MetaEngineFeature f) const override;
+	bool createInstance(OSystem *syst, Engine **engine, const ADGameDescription *desc) const override;
 	SaveStateList listSaves(const char *target) const override;
-	virtual int getMaximumSaveSlot() const override;
+	int getMaximumSaveSlot() const override;
 	void removeSaveState(const char *target, int slot) const override;
 	SaveStateDescriptor querySaveMetaInfos(const char *target, int slot) const override;
 };
diff --git a/engines/chewy/resource.h b/engines/chewy/resource.h
index abccc96..113fc66 100644
--- a/engines/chewy/resource.h
+++ b/engines/chewy/resource.h
@@ -149,7 +149,7 @@ protected:
 class SpriteResource : public Resource {
 public:
 	SpriteResource(Common::String filename) : Resource(filename) {}
-	virtual ~SpriteResource() {}
+	~SpriteResource() override {}
 
 	TAFChunk *getSprite(uint num);
 };
@@ -157,7 +157,7 @@ public:
 class BackgroundResource : public Resource {
 public:
 	BackgroundResource(Common::String filename) : Resource(filename) {}
-	virtual ~BackgroundResource() {}
+	~BackgroundResource() override {}
 
 	TBFChunk *getImage(uint num);
 };
@@ -165,7 +165,7 @@ public:
 class SoundResource : public Resource {
 public:
 	SoundResource(Common::String filename) : Resource(filename) {}
-	virtual ~SoundResource() {}
+	~SoundResource() override {}
 
 	SoundChunk *getSound(uint num);
 };
@@ -173,7 +173,7 @@ public:
 class VideoResource : public Resource {
 public:
 	VideoResource(Common::String filename) : Resource(filename) {}
-	virtual ~VideoResource() {}
+	~VideoResource() override {}
 
 	VideoChunk *getVideoHeader(uint num);
 	Common::SeekableReadStream *getVideoStream(uint num);
diff --git a/engines/chewy/text.h b/engines/chewy/text.h
index 6708da0..0aea3ce 100644
--- a/engines/chewy/text.h
+++ b/engines/chewy/text.h
@@ -70,7 +70,7 @@ typedef Common::List<TextEntry> TextEntryList;
 class Text : public Resource {
 public:
 	Text();
-	virtual ~Text();
+	~Text() override;
 
 	/**
 	 * Gets a list of lines for a specific dialog entry
@@ -90,7 +90,7 @@ public:
 class ErrorMessage : public Resource {
 public:
 	ErrorMessage(Common::String filename) : Resource(filename) {}
-	virtual ~ErrorMessage() {}
+	~ErrorMessage() override {}
 
 	Common::String getErrorMessage(uint num);
 };
diff --git a/engines/chewy/video/cfo_decoder.h b/engines/chewy/video/cfo_decoder.h
index 1495821..09043a1 100644
--- a/engines/chewy/video/cfo_decoder.h
+++ b/engines/chewy/video/cfo_decoder.h
@@ -36,9 +36,9 @@ class Sound;
 class CfoDecoder : public Video::FlicDecoder {
 public:
 	CfoDecoder(Sound *sound) : Video::FlicDecoder(), _sound(sound) {}
-	virtual ~CfoDecoder() {}
+	~CfoDecoder() override {}
 
-	bool loadStream(Common::SeekableReadStream *stream);
+	bool loadStream(Common::SeekableReadStream *stream) override;
 
 private:
 	Sound *_sound;
@@ -46,17 +46,17 @@ private:
 	class CfoVideoTrack : public Video::FlicDecoder::FlicVideoTrack {
 	public:
 		CfoVideoTrack(Common::SeekableReadStream *stream, uint16 frameCount, uint16 width, uint16 height, Sound *sound);
-		virtual ~CfoVideoTrack();
+		~CfoVideoTrack() override;
 
-		void readHeader();
+		void readHeader() override;
 
-		bool isRewindable() const { return false; }
-		bool rewind() { return false; }
+		bool isRewindable() const override { return false; }
+		bool rewind() override { return false; }
 
-		const ::Graphics::Surface *decodeNextFrame();
+		const ::Graphics::Surface *decodeNextFrame() override;
 
 	private:
-		void handleFrame();
+		void handleFrame() override;
 		void handleCustomFrame();
 		void fadeOut();
 


Commit: f66925f148c585e7987df4965b84ee1a806807ac
    https://github.com/scummvm/scummvm/commit/f66925f148c585e7987df4965b84ee1a806807ac
Author: Bastien Bouclet (bastien.bouclet at gmail.com)
Date: 2020-02-09T12:43:15+01:00

Commit Message:
CINE: Add override keywords

Changed paths:
    engines/cine/cine.h
    engines/cine/console.h
    engines/cine/detection.cpp
    engines/cine/gfx.h
    engines/cine/script.h
    engines/cine/sound.cpp
    engines/cine/sound.h


diff --git a/engines/cine/cine.h b/engines/cine/cine.h
index 0af37c9..cbdb7eb 100644
--- a/engines/cine/cine.h
+++ b/engines/cine/cine.h
@@ -103,8 +103,8 @@ class CineEngine : public Engine {
 
 protected:
 	// Engine APIs
-	virtual Common::Error run() override;
-	virtual bool hasFeature(EngineFeature f) const override;
+	Common::Error run() override;
+	bool hasFeature(EngineFeature f) const override;
 
 	void shutdown();
 
@@ -112,9 +112,9 @@ protected:
 
 public:
 	CineEngine(OSystem *syst, const CINEGameDescription *gameDesc);
-	virtual ~CineEngine();
+	~CineEngine() override;
 
-	virtual void syncSoundSettings() override;
+	void syncSoundSettings() override;
 
 	int getGameType() const;
 	uint32 getFeatures() const;
diff --git a/engines/cine/console.h b/engines/cine/console.h
index 9b90198..48afec5 100644
--- a/engines/cine/console.h
+++ b/engines/cine/console.h
@@ -34,7 +34,7 @@ class CineEngine;
 class CineConsole : public GUI::Debugger {
 public:
 	CineConsole(CineEngine *vm);
-	virtual ~CineConsole(void);
+	~CineConsole(void) override;
 
 private:
 	CineEngine *_vm;
diff --git a/engines/cine/detection.cpp b/engines/cine/detection.cpp
index d56db6a..2dd1d3f 100644
--- a/engines/cine/detection.cpp
+++ b/engines/cine/detection.cpp
@@ -79,23 +79,23 @@ public:
 		return "cine";
 	}
 
-	virtual const char *getName() const override {
+	const char *getName() const override {
 		return "Cinematique evo 1";
 	}
 
-	virtual const char *getOriginalCopyright() const override {
+	const char *getOriginalCopyright() const override {
 		return "Cinematique evo 1 (C) Delphine Software";
 	}
 
-	virtual Common::Error createInstance(OSystem *syst, Engine **engine) const override {
+	Common::Error createInstance(OSystem *syst, Engine **engine) const override {
 		return AdvancedMetaEngine::createInstance(syst, engine);
 	}
-	virtual bool createInstance(OSystem *syst, Engine **engine, const ADGameDescription *desc) const override;
+	bool createInstance(OSystem *syst, Engine **engine, const ADGameDescription *desc) const override;
 
-	virtual bool hasFeature(MetaEngineFeature f) const override;
-	virtual SaveStateList listSaves(const char *target) const override;
-	virtual int getMaximumSaveSlot() const override;
-	virtual void removeSaveState(const char *target, int slot) const override;
+	bool hasFeature(MetaEngineFeature f) const override;
+	SaveStateList listSaves(const char *target) const override;
+	int getMaximumSaveSlot() const override;
+	void removeSaveState(const char *target, int slot) const override;
 };
 
 bool CineMetaEngine::hasFeature(MetaEngineFeature f) const {
diff --git a/engines/cine/gfx.h b/engines/cine/gfx.h
index bfb7dbd..ad6e4b2 100644
--- a/engines/cine/gfx.h
+++ b/engines/cine/gfx.h
@@ -89,7 +89,7 @@ public:
 
 	void setSelection(int selection);
 
-	void drawMenu(FWRenderer &r, bool top);
+	void drawMenu(FWRenderer &r, bool top) override;
 private:
 	const Common::Point _pos;
 	const int _width;
@@ -104,7 +104,7 @@ public:
 
 	void setInput(const char *input, int cursor);
 
-	void drawMenu(FWRenderer &r, bool top);
+	void drawMenu(FWRenderer &r, bool top) override;
 private:
 	const Common::Point _pos;
 	const int _width;
@@ -224,42 +224,42 @@ private:
 
 protected:
 
-	void drawSprite(const ObjectStruct &obj);
+	void drawSprite(const ObjectStruct &obj) override;
 	void drawSprite(overlay *overlayPtr, const byte *spritePtr, int16 width, int16 height, byte *page, int16 x, int16 y, byte transparentColor, byte bpp);
-	int drawChar(char character, int x, int y);
-	void drawBackground();
-	void renderOverlay(const Common::List<overlay>::iterator &it);
+	int drawChar(char character, int x, int y) override;
+	void drawBackground() override;
+	void renderOverlay(const Common::List<overlay>::iterator &it) override;
 
 public:
 	OSRenderer();
-	~OSRenderer();
+	~OSRenderer() override;
 
-	bool initialize();
+	bool initialize() override;
 
 	/** Test if renderer is ready to draw */
-	bool ready() { return _bgTable[_currentBg].bg != NULL; }
-
-	void clear();
-
-	void incrustMask(const BGIncrust &incrust, uint8 color = 0);
-	void incrustSprite(const BGIncrust &incrust);
-
-	void loadBg16(const byte *bg, const char *name, unsigned int idx = 0);
-	void loadCt16(const byte *ct, const char *name);
-	void loadBg256(const byte *bg, const char *name, unsigned int idx = 0);
-	void loadCt256(const byte *ct, const char *name);
-	void selectBg(unsigned int idx);
-	void selectScrollBg(unsigned int idx);
-	void setScroll(unsigned int shift);
-	uint getScroll() const;
-	void removeBg(unsigned int idx);
-	void saveBgNames(Common::OutSaveFile &fHandle);
-	const char *getBgName(uint idx = 0) const;
-
-	void reloadPalette();
-	void restorePalette(Common::SeekableReadStream &fHandle, int version);
-	void savePalette(Common::OutSaveFile &fHandle);
-	void transformPalette(int first, int last, int r, int g, int b);
+	bool ready() override { return _bgTable[_currentBg].bg != NULL; }
+
+	void clear() override;
+
+	void incrustMask(const BGIncrust &incrust, uint8 color = 0) override;
+	void incrustSprite(const BGIncrust &incrust) override;
+
+	void loadBg16(const byte *bg, const char *name, unsigned int idx = 0) override;
+	void loadCt16(const byte *ct, const char *name) override;
+	void loadBg256(const byte *bg, const char *name, unsigned int idx = 0) override;
+	void loadCt256(const byte *ct, const char *name) override;
+	void selectBg(unsigned int idx) override;
+	void selectScrollBg(unsigned int idx) override;
+	void setScroll(unsigned int shift) override;
+	uint getScroll() const override;
+	void removeBg(unsigned int idx) override;
+	void saveBgNames(Common::OutSaveFile &fHandle) override;
+	const char *getBgName(uint idx = 0) const override;
+
+	void reloadPalette() override;
+	void restorePalette(Common::SeekableReadStream &fHandle, int version) override;
+	void savePalette(Common::OutSaveFile &fHandle) override;
+	void transformPalette(int first, int last, int r, int g, int b) override;
 
 };
 
diff --git a/engines/cine/script.h b/engines/cine/script.h
index ec82780..e3d7a16 100644
--- a/engines/cine/script.h
+++ b/engines/cine/script.h
@@ -344,16 +344,16 @@ public:
  */
 class OSScriptInfo : public FWScriptInfo {
 protected:
-	virtual OpFunc opcodeHandler(byte opcode) const;
+	OpFunc opcodeHandler(byte opcode) const override override;
 
 public:
-	virtual ~OSScriptInfo() {}
+	~OSScriptInfo() override override {}
 
-	virtual const char *opcodeInfo(byte opcode) const;
-	virtual FWScript *create(const RawScript &script, int16 index) const;
-	virtual FWScript *create(const RawObjectScript &script, int16 index) const;
-	virtual FWScript *create(const RawScript &script, int16 index, const ScriptVars &labels, const ScriptVars &local, uint16 compare, uint16 pos) const;
-	virtual FWScript *create(const RawObjectScript &script, int16 index, const ScriptVars &labels, const ScriptVars &local, uint16 compare, uint16 pos) const;
+	const char *opcodeInfo(byte opcode) const override override;
+	FWScript *create(const RawScript &script, int16 index) const override override;
+	FWScript *create(const RawObjectScript &script, int16 index) const override override;
+	FWScript *create(const RawScript &script, int16 index, const ScriptVars &labels, const ScriptVars &local, uint16 compare, uint16 pos) const override override;
+	FWScript *create(const RawObjectScript &script, int16 index, const ScriptVars &labels, const ScriptVars &local, uint16 compare, uint16 pos) const override override;
 
 	friend class FWScript;
 };
diff --git a/engines/cine/sound.cpp b/engines/cine/sound.cpp
index 70ce8fe..cfd6ef8 100644
--- a/engines/cine/sound.cpp
+++ b/engines/cine/sound.cpp
@@ -106,13 +106,13 @@ struct AdLibSoundInstrument {
 class AdLibSoundDriver : public PCSoundDriver {
 public:
 	AdLibSoundDriver(Audio::Mixer *mixer);
-	virtual ~AdLibSoundDriver();
+	~AdLibSoundDriver() override;
 
 	// PCSoundDriver interface
-	virtual void setUpdateCallback(UpdateCallback upCb, void *ref);
-	virtual void setupChannel(int channel, const byte *data, int instrument, int volume);
-	virtual void stopChannel(int channel);
-	virtual void stopAll();
+	void setUpdateCallback(UpdateCallback upCb, void *ref) override;
+	void setupChannel(int channel, const byte *data, int instrument, int volume) override;
+	void stopChannel(int channel) override;
+	void stopAll() override;
 
 	void initCard();
 	void onTimer();
@@ -162,36 +162,36 @@ const int AdLibSoundDriver::_voiceOperatorsTableCount = ARRAYSIZE(_voiceOperator
 class AdLibSoundDriverINS : public AdLibSoundDriver {
 public:
 	AdLibSoundDriverINS(Audio::Mixer *mixer) : AdLibSoundDriver(mixer) {}
-	virtual const char *getInstrumentExtension() const { return ".INS"; }
-	virtual void loadInstrument(const byte *data, AdLibSoundInstrument *asi);
-	virtual void setChannelFrequency(int channel, int frequency);
-	virtual void playSample(const byte *data, int size, int channel, int volume);
+	const char *getInstrumentExtension() const override { return ".INS"; }
+	void loadInstrument(const byte *data, AdLibSoundInstrument *asi) override;
+	void setChannelFrequency(int channel, int frequency) override;
+	void playSample(const byte *data, int size, int channel, int volume) override;
 };
 
 // Operation Stealth AdLib driver
 class AdLibSoundDriverADL : public AdLibSoundDriver {
 public:
 	AdLibSoundDriverADL(Audio::Mixer *mixer) : AdLibSoundDriver(mixer) {}
-	virtual const char *getInstrumentExtension() const { return ".ADL"; }
-	virtual void loadInstrument(const byte *data, AdLibSoundInstrument *asi);
-	virtual void setChannelFrequency(int channel, int frequency);
-	virtual void playSample(const byte *data, int size, int channel, int volume);
+	const char *getInstrumentExtension() const override { return ".ADL"; }
+	void loadInstrument(const byte *data, AdLibSoundInstrument *asi) override;
+	void setChannelFrequency(int channel, int frequency) override;
+	void playSample(const byte *data, int size, int channel, int volume) override;
 };
 
 // (Future Wars) MIDI driver
 class MidiSoundDriverH32 : public PCSoundDriver {
 public:
 	MidiSoundDriverH32(MidiDriver *output);
-	~MidiSoundDriverH32();
-
-	virtual void setUpdateCallback(UpdateCallback upCb, void *ref);
-	virtual void setupChannel(int channel, const byte *data, int instrument, int volume);
-	virtual void setChannelFrequency(int channel, int frequency);
-	virtual void stopChannel(int channel);
-	virtual void playSample(const byte *data, int size, int channel, int volume);
-	virtual void stopAll() {}
-	virtual const char *getInstrumentExtension() const { return ".H32"; }
-	virtual void notifyInstrumentLoad(const byte *data, int size, int channel);
+	~MidiSoundDriverH32() override;
+
+	void setUpdateCallback(UpdateCallback upCb, void *ref) override;
+	void setupChannel(int channel, const byte *data, int instrument, int volume) override;
+	void setChannelFrequency(int channel, int frequency) override;
+	void stopChannel(int channel) override;
+	void playSample(const byte *data, int size, int channel, int volume) override;
+	void stopAll() override {}
+	const char *getInstrumentExtension() const override { return ".H32"; }
+	void notifyInstrumentLoad(const byte *data, int size, int channel) override;
 
 private:
 	MidiDriver *_output;
diff --git a/engines/cine/sound.h b/engines/cine/sound.h
index 0149071..9286714 100644
--- a/engines/cine/sound.h
+++ b/engines/cine/sound.h
@@ -63,16 +63,16 @@ class PCSound : public Sound {
 public:
 
 	PCSound(Audio::Mixer *mixer, CineEngine *vm);
-	virtual ~PCSound();
+	~PCSound() override;
 
-	virtual void loadMusic(const char *name);
-	virtual void playMusic();
-	virtual void stopMusic();
-	virtual void fadeOutMusic();
+	void loadMusic(const char *name) override;
+	void playMusic() override;
+	void stopMusic() override;
+	void fadeOutMusic() override;
 
-	virtual void playSound(int channel, int frequency, const uint8 *data, int size, int volumeStep, int stepCount, int volume, int repeat);
-	virtual void stopSound(int channel);
-	virtual void setBgMusic(int num);
+	void playSound(int channel, int frequency, const uint8 *data, int size, int volumeStep, int stepCount, int volume, int repeat) override;
+	void stopSound(int channel) override;
+	void setBgMusic(int num) override;
 
 protected:
 
@@ -86,16 +86,16 @@ class PaulaSound : public Sound {
 public:
 
 	PaulaSound(Audio::Mixer *mixer, CineEngine *vm);
-	virtual ~PaulaSound();
+	~PaulaSound() override;
 
-	virtual void loadMusic(const char *name);
-	virtual void playMusic();
-	virtual void stopMusic();
-	virtual void fadeOutMusic();
+	void loadMusic(const char *name) override;
+	void playMusic() override;
+	void stopMusic() override;
+	void fadeOutMusic() override;
 
-	virtual void playSound(int channel, int frequency, const uint8 *data, int size, int volumeStep, int stepCount, int volume, int repeat);
-	virtual void stopSound(int channel);
-	virtual void setBgMusic(int num);
+	void playSound(int channel, int frequency, const uint8 *data, int size, int volumeStep, int stepCount, int volume, int repeat) override;
+	void stopSound(int channel) override;
+	void setBgMusic(int num) override;
 
 	enum {
 		PAULA_FREQ = 3579545,


Commit: 64973148effda82f91e1f10f39d4c8025a7a82d0
    https://github.com/scummvm/scummvm/commit/64973148effda82f91e1f10f39d4c8025a7a82d0
Author: Bastien Bouclet (bastien.bouclet at gmail.com)
Date: 2020-02-09T12:43:15+01:00

Commit Message:
COMPOSER: Add override keywords

Changed paths:
    engines/composer/composer.h
    engines/composer/detection.cpp
    engines/composer/resource.h


diff --git a/engines/composer/composer.h b/engines/composer/composer.h
index a6f1f83..b570a64 100644
--- a/engines/composer/composer.h
+++ b/engines/composer/composer.h
@@ -173,9 +173,9 @@ protected:
 
 public:
 	ComposerEngine(OSystem *syst, const ComposerGameDescription *gameDesc);
-	virtual ~ComposerEngine();
+	~ComposerEngine() override;
 
-	virtual bool hasFeature(EngineFeature f) const override;
+	bool hasFeature(EngineFeature f) const override;
 
 	int getGameType() const;
 	const char *getGameId() const;
diff --git a/engines/composer/detection.cpp b/engines/composer/detection.cpp
index 8375213..f2f4f38 100644
--- a/engines/composer/detection.cpp
+++ b/engines/composer/detection.cpp
@@ -108,18 +108,18 @@ public:
 		return "composer";
 	}
 
-	virtual const char *getName() const override {
+	const char *getName() const override {
 		return "Magic Composer";
 	}
 
-	virtual const char *getOriginalCopyright() const override {
+	const char *getOriginalCopyright() const override {
 		return "Copyright (C) 1995-1999 Animation Magic";
 	}
 
-	virtual bool createInstance(OSystem *syst, Engine **engine, const ADGameDescription *desc) const override;
-	virtual bool hasFeature(MetaEngineFeature f) const override;
-	virtual int getMaximumSaveSlot() const override;
-	virtual SaveStateList listSaves(const char* target) const override;
+	bool createInstance(OSystem *syst, Engine **engine, const ADGameDescription *desc) const override;
+	bool hasFeature(MetaEngineFeature f) const override;
+	int getMaximumSaveSlot() const override;
+	SaveStateList listSaves(const char* target) const override;
 };
 
 bool ComposerMetaEngine::createInstance(OSystem *syst, Engine **engine, const ADGameDescription *desc) const {
diff --git a/engines/composer/resource.h b/engines/composer/resource.h
index fc4e20a..80267a1 100644
--- a/engines/composer/resource.h
+++ b/engines/composer/resource.h
@@ -90,9 +90,9 @@ protected:
 class ComposerArchive : public Archive {
 public:
 	ComposerArchive() : Archive() {}
-	~ComposerArchive() {}
+	~ComposerArchive() override {}
 
-	bool openStream(Common::SeekableReadStream *stream);
+	bool openStream(Common::SeekableReadStream *stream) override;
 };
 
 struct PipeResourceEntry {
@@ -136,11 +136,11 @@ protected:
 class OldPipe : public Pipe {
 public:
 	OldPipe(Common::SeekableReadStream *stream, uint16 pipeId);
-	void nextFrame();
+	void nextFrame() override;
 
-	const Common::Array<uint16> *getScripts() { return &_scripts; }
-	uint32 getOffset() const { return _currFrame; }
-	void setOffset(uint32 offset) { while (_currFrame < offset) nextFrame(); }
+	const Common::Array<uint16> *getScripts() override { return &_scripts; }
+	uint32 getOffset() const override { return _currFrame; }
+	void setOffset(uint32 offset) override { while (_currFrame < offset) nextFrame(); }
 
 protected:
 	uint32 _currFrame, _numFrames;


Commit: 0aa70c88f55692361a1ab79130a1e28c1d39489a
    https://github.com/scummvm/scummvm/commit/0aa70c88f55692361a1ab79130a1e28c1d39489a
Author: Bastien Bouclet (bastien.bouclet at gmail.com)
Date: 2020-02-09T12:43:15+01:00

Commit Message:
CRUISE: Add override keywords

Changed paths:
    engines/cruise/cruise.h
    engines/cruise/debugger.h
    engines/cruise/detection.cpp
    engines/cruise/sound.cpp


diff --git a/engines/cruise/cruise.h b/engines/cruise/cruise.h
index 28c4ce7..e5d2818 100644
--- a/engines/cruise/cruise.h
+++ b/engines/cruise/cruise.h
@@ -71,7 +71,7 @@ private:
 	int processInput();
 protected:
 	// Engine APIs
-	virtual Common::Error run() override;
+	Common::Error run() override;
 
 	void shutdown();
 
@@ -79,8 +79,8 @@ protected:
 
 public:
 	CruiseEngine(OSystem * syst, const CRUISEGameDescription *gameDesc);
-	virtual ~ CruiseEngine();
-	virtual bool hasFeature(EngineFeature f) const override;
+	~ CruiseEngine() override;
+	bool hasFeature(EngineFeature f) const override;
 
 	int getGameType() const;
 	const char *getGameId() const;
@@ -88,16 +88,16 @@ public:
 	Common::Language getLanguage() const;
 	Common::Platform getPlatform() const;
 	PCSound &sound() { return *_sound; }
-	virtual GUI::Debugger *getDebugger() override { return _debugger; }
+	GUI::Debugger *getDebugger() override { return _debugger; }
 	virtual void pauseEngine(bool pause);
 	const char *langString(LangStringId langId) { return _langStrings[(int)langId].c_str(); }
 
 	static const char *getSavegameFile(int saveGameIdx);
-	virtual Common::Error loadGameState(int slot) override;
-	virtual bool canLoadGameStateCurrently() override;
-	virtual Common::Error saveGameState(int slot, const Common::String &desc) override;
-	virtual bool canSaveGameStateCurrently() override;
-	virtual void syncSoundSettings() override;
+	Common::Error loadGameState(int slot) override;
+	bool canLoadGameStateCurrently() override;
+	Common::Error saveGameState(int slot, const Common::String &desc) override;
+	bool canSaveGameStateCurrently() override;
+	void syncSoundSettings() override;
 
 	const CRUISEGameDescription *_gameDescription;
 	void initAllData();
diff --git a/engines/cruise/debugger.h b/engines/cruise/debugger.h
index a79773f..b87962f 100644
--- a/engines/cruise/debugger.h
+++ b/engines/cruise/debugger.h
@@ -30,7 +30,7 @@ namespace Cruise {
 class Debugger : public GUI::Debugger {
 public:
 	Debugger();
-	virtual ~Debugger() {}  // we need this for __SYMBIAN32__ archaic gcc/UIQ
+	~Debugger() override {}  // we need this for __SYMBIAN32__ archaic gcc/UIQ
 
 private:
 	bool cmd_hotspots(int argc, const char **argv);
diff --git a/engines/cruise/detection.cpp b/engines/cruise/detection.cpp
index 85b599e..03c20fb 100644
--- a/engines/cruise/detection.cpp
+++ b/engines/cruise/detection.cpp
@@ -202,20 +202,20 @@ public:
 		return "cruise";
 	}
 
-	virtual const char *getName() const override {
+	const char *getName() const override {
 		return "Cinematique evo 2";
 	}
 
-	virtual const char *getOriginalCopyright() const override {
+	const char *getOriginalCopyright() const override {
 		return "Cinematique evo 2 (C) Delphine Software";
 	}
 
-	virtual bool hasFeature(MetaEngineFeature f) const override;
-	virtual int getMaximumSaveSlot() const override { return 99; }
-	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 bool createInstance(OSystem *syst, Engine **engine, const ADGameDescription *desc) const override;
+	bool hasFeature(MetaEngineFeature f) const override;
+	int getMaximumSaveSlot() const override { return 99; }
+	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;
+	bool createInstance(OSystem *syst, Engine **engine, const ADGameDescription *desc) const override;
 };
 
 bool CruiseMetaEngine::hasFeature(MetaEngineFeature f) const {
diff --git a/engines/cruise/sound.cpp b/engines/cruise/sound.cpp
index 8d6ca57..7a0fc5e 100644
--- a/engines/cruise/sound.cpp
+++ b/engines/cruise/sound.cpp
@@ -116,12 +116,12 @@ struct VolumeEntry {
 class AdLibSoundDriver : public PCSoundDriver {
 public:
 	AdLibSoundDriver(Audio::Mixer *mixer);
-	virtual ~AdLibSoundDriver();
+	~AdLibSoundDriver() override;
 
 	// PCSoundDriver interface
-	virtual void setupChannel(int channel, const byte *data, int instrument, int volume);
-	virtual void stopChannel(int channel);
-	virtual void stopAll();
+	void setupChannel(int channel, const byte *data, int instrument, int volume) override;
+	void stopChannel(int channel) override;
+	void stopAll() override;
 
 	void initCard();
 	void onTimer();
@@ -129,7 +129,7 @@ public:
 	void setupInstrument(const AdLibSoundInstrument *ins, int channel);
 	void loadRegisterInstrument(const byte *data, AdLibRegisterSoundInstrument *reg);
 	virtual void loadInstrument(const byte *data, AdLibSoundInstrument *asi) = 0;
-	virtual void syncSounds();
+	void syncSounds() override;
 
 	void adjustVolume(int channel, int volume);
 
@@ -171,10 +171,10 @@ const int AdLibSoundDriver::_voiceOperatorsTableCount = ARRAYSIZE(_voiceOperator
 class AdLibSoundDriverADL : public AdLibSoundDriver {
 public:
 	AdLibSoundDriverADL(Audio::Mixer *mixer) : AdLibSoundDriver(mixer) {}
-	virtual const char *getInstrumentExtension() const { return ".ADL"; }
-	virtual void loadInstrument(const byte *data, AdLibSoundInstrument *asi);
-	virtual void setChannelFrequency(int channel, int frequency);
-	virtual void playSample(const byte *data, int size, int channel, int volume);
+	const char *getInstrumentExtension() const override { return ".ADL"; }
+	void loadInstrument(const byte *data, AdLibSoundInstrument *asi) override;
+	void setChannelFrequency(int channel, int frequency) override;
+	void playSample(const byte *data, int size, int channel, int volume) override;
 };
 
 class PCSoundFxPlayer {


Commit: 62b7979cd95380fd585cc71d92021308c68cc419
    https://github.com/scummvm/scummvm/commit/62b7979cd95380fd585cc71d92021308c68cc419
Author: Bastien Bouclet (bastien.bouclet at gmail.com)
Date: 2020-02-09T12:43:15+01:00

Commit Message:
CRYO: Add override keywords

Changed paths:
    engines/cryo/cryo.h
    engines/cryo/debugger.h
    engines/cryo/detection.cpp


diff --git a/engines/cryo/cryo.h b/engines/cryo/cryo.h
index 4708901..ebbc69e 100644
--- a/engines/cryo/cryo.h
+++ b/engines/cryo/cryo.h
@@ -55,9 +55,9 @@ enum {
 class CryoEngine : public Engine {
 public:
 	CryoEngine(OSystem *syst, const ADGameDescription *gameDesc);
-	~CryoEngine();
+	~CryoEngine() override;
 
-	virtual Common::Error run();
+	Common::Error run() override;
 
 	// Detection related functions
 	const ADGameDescription *_gameDescription;
diff --git a/engines/cryo/debugger.h b/engines/cryo/debugger.h
index ee76512..e0b1f96 100644
--- a/engines/cryo/debugger.h
+++ b/engines/cryo/debugger.h
@@ -36,7 +36,7 @@ private:
 
 public:
 	Debugger(CryoEngine *vm);
-	virtual ~Debugger() {}
+	~Debugger() override {}
 
 protected:
 	bool Cmd_ShowHotspots(int argc, const char **argv);
diff --git a/engines/cryo/detection.cpp b/engines/cryo/detection.cpp
index fea9a20..09aff0c 100644
--- a/engines/cryo/detection.cpp
+++ b/engines/cryo/detection.cpp
@@ -139,16 +139,16 @@ public:
 		return "cryo";
 	}
 
-	virtual const char *getName() const override {
+	const char *getName() const override {
 		return "Cryo";
 	}
 
-	virtual const char *getOriginalCopyright() const override {
+	const char *getOriginalCopyright() const override {
 		return "Cryo Engine (C) Cryo Interactive";
 	}
 
-	virtual bool hasFeature(MetaEngineFeature f) const override;
-	virtual bool createInstance(OSystem *syst, Engine **engine, const ADGameDescription *desc) const override;
+	bool hasFeature(MetaEngineFeature f) const override;
+	bool createInstance(OSystem *syst, Engine **engine, const ADGameDescription *desc) const override;
 };
 
 bool CryoMetaEngine::hasFeature(MetaEngineFeature f) const {


Commit: 5737e22fdecdc974d19b067cf706eaf76d9ba6d6
    https://github.com/scummvm/scummvm/commit/5737e22fdecdc974d19b067cf706eaf76d9ba6d6
Author: Bastien Bouclet (bastien.bouclet at gmail.com)
Date: 2020-02-09T12:43:15+01:00

Commit Message:
CRYOMNI3D: Add override keywords

Changed paths:
    engines/cryomni3d/cryomni3d.h
    engines/cryomni3d/detection.cpp
    engines/cryomni3d/image/codecs/hlz.h
    engines/cryomni3d/image/hlz.h
    engines/cryomni3d/sprites.h
    engines/cryomni3d/versailles/engine.h
    engines/cryomni3d/video/hnm_decoder.h


diff --git a/engines/cryomni3d/cryomni3d.h b/engines/cryomni3d/cryomni3d.h
index fe4879f..387a5a0 100644
--- a/engines/cryomni3d/cryomni3d.h
+++ b/engines/cryomni3d/cryomni3d.h
@@ -99,11 +99,11 @@ enum DragStatus {
 
 class CryOmni3DEngine : public ::Engine {
 protected:
-	virtual Common::Error run() override;
+	Common::Error run() override;
 
 public:
 	CryOmni3DEngine(OSystem *syst, const CryOmni3DGameDescription *gamedesc);
-	virtual ~CryOmni3DEngine();
+	~CryOmni3DEngine() override;
 
 	// Detection related functions
 	const CryOmni3DGameDescription *_gameDescription;
diff --git a/engines/cryomni3d/detection.cpp b/engines/cryomni3d/detection.cpp
index ea1ffa2..3e9d644 100644
--- a/engines/cryomni3d/detection.cpp
+++ b/engines/cryomni3d/detection.cpp
@@ -99,19 +99,19 @@ public:
 		return "cryomni3d";
 	}
 
-	virtual const char *getName() const override {
+	const char *getName() const override {
 		return "Cryo Omni3D";
 	}
 
-	virtual const char *getOriginalCopyright() const override {
+	const char *getOriginalCopyright() const override {
 		return "Cryo game Engine (C) 1997-2002 Cryo Interactive";
 	}
 
-	virtual bool hasFeature(MetaEngineFeature f) const override;
-	virtual bool 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;
+	bool 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;
 };
 
 bool CryOmni3DMetaEngine::hasFeature(MetaEngineFeature f) const {
diff --git a/engines/cryomni3d/image/codecs/hlz.h b/engines/cryomni3d/image/codecs/hlz.h
index d8edc63..680a6ad 100644
--- a/engines/cryomni3d/image/codecs/hlz.h
+++ b/engines/cryomni3d/image/codecs/hlz.h
@@ -35,10 +35,10 @@ namespace Image {
 class HLZDecoder : public Codec {
 public:
 	HLZDecoder(int width, int height);
-	~HLZDecoder();
+	~HLZDecoder() override;
 
-	const Graphics::Surface *decodeFrame(Common::SeekableReadStream &stream);
-	Graphics::PixelFormat getPixelFormat() const;
+	const Graphics::Surface *decodeFrame(Common::SeekableReadStream &stream) override;
+	Graphics::PixelFormat getPixelFormat() const override;
 
 	static void decodeFrameInPlace(Common::SeekableReadStream &stream, uint32 size, byte *dst);
 
diff --git a/engines/cryomni3d/image/hlz.h b/engines/cryomni3d/image/hlz.h
index 411f752..aed6e34 100644
--- a/engines/cryomni3d/image/hlz.h
+++ b/engines/cryomni3d/image/hlz.h
@@ -41,14 +41,14 @@ class HLZDecoder;
 class HLZFileDecoder : public ImageDecoder {
 public:
 	HLZFileDecoder();
-	virtual ~HLZFileDecoder();
+	~HLZFileDecoder() override;
 
 	// ImageDecoder API
-	void destroy();
-	virtual bool loadStream(Common::SeekableReadStream &stream);
-	virtual const Graphics::Surface *getSurface() const { return _surface; }
-	const byte *getPalette() const { return _palette; }
-	uint16 getPaletteColorCount() const { return 256; }
+	void destroy() override;
+	bool loadStream(Common::SeekableReadStream &stream) override;
+	const Graphics::Surface *getSurface() const override { return _surface; }
+	const byte *getPalette() const override { return _palette; }
+	uint16 getPaletteColorCount() const override { return 256; }
 
 private:
 	HLZDecoder *_codec;
diff --git a/engines/cryomni3d/sprites.h b/engines/cryomni3d/sprites.h
index 8713da1..b97f124 100644
--- a/engines/cryomni3d/sprites.h
+++ b/engines/cryomni3d/sprites.h
@@ -65,17 +65,17 @@ public:
 private:
 	class CryoCursor : public Graphics::Cursor {
 	public:
-		virtual uint16 getWidth() const override { return _width; }
-		virtual uint16 getHeight() const override { return _height; }
-		virtual uint16 getHotspotX() const override { return _offX; }
-		virtual uint16 getHotspotY() const override { return _offY; }
-		virtual byte getKeyColor() const override { return 0; }
+		uint16 getWidth() const override { return _width; }
+		uint16 getHeight() const override { return _height; }
+		uint16 getHotspotX() const override { return _offX; }
+		uint16 getHotspotY() const override { return _offY; }
+		byte getKeyColor() const override { return 0; }
 
-		virtual const byte *getSurface() const override { return _data; }
+		const byte *getSurface() const override { return _data; }
 
-		virtual const byte *getPalette() const override { return nullptr; }
-		virtual byte getPaletteStartIndex() const override { return 0; }
-		virtual uint16 getPaletteCount() const override { return 0; }
+		const byte *getPalette() const override { return nullptr; }
+		byte getPaletteStartIndex() const override { return 0; }
+		uint16 getPaletteCount() const override { return 0; }
 
 		uint setup(uint16 width, uint16 height);
 
@@ -90,7 +90,7 @@ private:
 		uint refCnt;
 
 		CryoCursor();
-		virtual ~CryoCursor();
+		~CryoCursor() override;
 	};
 
 	// Pointer to avoid to mutate Sprites when asking for a cursor
diff --git a/engines/cryomni3d/versailles/engine.h b/engines/cryomni3d/versailles/engine.h
index 8de1e1d..a711c87 100644
--- a/engines/cryomni3d/versailles/engine.h
+++ b/engines/cryomni3d/versailles/engine.h
@@ -226,29 +226,29 @@ protected:
 
 public:
 	CryOmni3DEngine_Versailles(OSystem *syst, const CryOmni3DGameDescription *gamedesc);
-	virtual ~CryOmni3DEngine_Versailles();
+	~CryOmni3DEngine_Versailles() override;
 
-	virtual void initializePath(const Common::FSNode &gamePath) override;
+	void initializePath(const Common::FSNode &gamePath) override;
 
 	bool hasFeature(EngineFeature f) const override;
-	virtual Common::Error loadGameState(int slot) override;
-	virtual Common::Error saveGameState(int slot, const Common::String &desc) override;
+	Common::Error loadGameState(int slot) override;
+	Common::Error saveGameState(int slot, const Common::String &desc) override;
 
 	Common::String prepareFileName(const Common::String &baseName, const char *extension) const {
 		const char *const extensions[] = { extension, nullptr };
 		return prepareFileName(baseName, extensions);
 	}
-	virtual Common::String prepareFileName(const Common::String &baseName,
+	Common::String prepareFileName(const Common::String &baseName,
 	                                       const char *const *extensions) const override;
 
 	void setupPalette(const byte *colors, uint start, uint num) override { setupPalette(colors, start, num, true); }
 	void makeTranslucent(Graphics::Surface &dst, const Graphics::Surface &src) const override;
 
-	virtual bool displayToolbar(const Graphics::Surface *original) override { return _toolbar.displayToolbar(original); };
-	virtual bool hasPlaceDocumentation() override;
-	virtual bool displayPlaceDocumentation() override;
-	virtual uint displayOptions() override;
-	virtual bool shouldAbort() override;
+	bool displayToolbar(const Graphics::Surface *original) override { return _toolbar.displayToolbar(original); };
+	bool hasPlaceDocumentation() override;
+	bool displayPlaceDocumentation() override;
+	uint displayOptions() override;
+	bool shouldAbort() override;
 
 private:
 	void setupFonts();
diff --git a/engines/cryomni3d/video/hnm_decoder.h b/engines/cryomni3d/video/hnm_decoder.h
index 695488f..9a569ba 100644
--- a/engines/cryomni3d/video/hnm_decoder.h
+++ b/engines/cryomni3d/video/hnm_decoder.h
@@ -44,10 +44,10 @@ namespace Video {
 class HNMDecoder : public VideoDecoder {
 public:
 	HNMDecoder(bool loop = false, byte *initialPalette = nullptr);
-	virtual ~HNMDecoder();
-	bool loadStream(Common::SeekableReadStream *stream);
-	void readNextPacket();
-	void close();
+	~HNMDecoder() override;
+	bool loadStream(Common::SeekableReadStream *stream) override;
+	void readNextPacket() override;
+	void close() override;
 
 	void setRegularFrameDelay(uint32 regularFrameDelay) { _regularFrameDelay = regularFrameDelay; }
 
@@ -56,19 +56,19 @@ private:
 	public:
 		HNM4VideoTrack(uint32 width, uint32 height, uint32 frameSize, uint32 frameCount,
 		               uint32 regularFrameDelay, const byte *initialPalette = nullptr);
-		~HNM4VideoTrack();
+		~HNM4VideoTrack() override;
 
 		// When _frameCount is 0, it means we are looping
-		bool endOfTrack() const { return (_frameCount == 0) ? false : VideoTrack::endOfTrack(); }
-		uint16 getWidth() const { return _surface.w; }
-		uint16 getHeight() const { return _surface.h; }
-		Graphics::PixelFormat getPixelFormat() const { return _surface.format; }
-		int getCurFrame() const { return _curFrame; }
-		int getFrameCount() const { return _frameCount; }
-		uint32 getNextFrameStartTime() const { return _nextFrameStartTime; }
-		const Graphics::Surface *decodeNextFrame() { return &_surface; }
-		const byte *getPalette() const { _dirtyPalette = false; return _palette; }
-		bool hasDirtyPalette() const { return _dirtyPalette; }
+		bool endOfTrack() const override { return (_frameCount == 0) ? false : VideoTrack::endOfTrack(); }
+		uint16 getWidth() const override { return _surface.w; }
+		uint16 getHeight() const override { return _surface.h; }
+		Graphics::PixelFormat getPixelFormat() const override { return _surface.format; }
+		int getCurFrame() const override { return _curFrame; }
+		int getFrameCount() const override { return _frameCount; }
+		uint32 getNextFrameStartTime() const override { return _nextFrameStartTime; }
+		const Graphics::Surface *decodeNextFrame() override { return &_surface; }
+		const byte *getPalette() const override { _dirtyPalette = false; return _palette; }
+		bool hasDirtyPalette() const override { return _dirtyPalette; }
 
 		/** Decode a video chunk. */
 		void decodePalette(Common::SeekableReadStream *stream, uint32 size);
@@ -100,11 +100,11 @@ private:
 	public:
 		DPCMAudioTrack(uint16 channels, uint16 bits, uint sampleRate,
 		               Audio::Mixer::SoundType soundType);
-		~DPCMAudioTrack();
+		~DPCMAudioTrack() override;
 
 		Audio::Timestamp decodeSound(Common::SeekableReadStream *stream, uint32 size);
 	protected:
-		Audio::AudioStream *getAudioStream() const { return _audioStream; }
+		Audio::AudioStream *getAudioStream() const override { return _audioStream; }
 	private:
 		Audio::QueuingAudioStream *_audioStream;
 		bool _gotLUT;


Commit: 8313b2b443ebda17dc7db63d52fd420a0bbe1e57
    https://github.com/scummvm/scummvm/commit/8313b2b443ebda17dc7db63d52fd420a0bbe1e57
Author: Bastien Bouclet (bastien.bouclet at gmail.com)
Date: 2020-02-09T12:43:15+01:00

Commit Message:
DIRECTOR: Add override keywords

Changed paths:
    engines/director/archive.h
    engines/director/detection.cpp
    engines/director/director.h
    engines/director/images.h


diff --git a/engines/director/archive.h b/engines/director/archive.h
index a120094..2f851b5 100644
--- a/engines/director/archive.h
+++ b/engines/director/archive.h
@@ -83,12 +83,12 @@ protected:
 class MacArchive : public Archive {
 public:
 	MacArchive();
-	~MacArchive();
+	~MacArchive() override;
 
-	void close();
-	bool openFile(const Common::String &fileName);
-	bool openStream(Common::SeekableReadStream *stream, uint32 startOffset = 0);
-	Common::SeekableSubReadStreamEndian *getResource(uint32 tag, uint16 id);
+	void close() override;
+	bool openFile(const Common::String &fileName) override;
+	bool openStream(Common::SeekableReadStream *stream, uint32 startOffset = 0) override;
+	Common::SeekableSubReadStreamEndian *getResource(uint32 tag, uint16 id) override;
 
 private:
 	Common::MacResManager *_resFork;
@@ -97,10 +97,10 @@ private:
 class RIFFArchive : public Archive {
 public:
 	RIFFArchive() : Archive() { _startOffset = 0; }
-	~RIFFArchive() {}
+	~RIFFArchive() override {}
 
-	bool openStream(Common::SeekableReadStream *stream, uint32 startOffset = 0);
-	Common::SeekableSubReadStreamEndian *getResource(uint32 tag, uint16 id);
+	bool openStream(Common::SeekableReadStream *stream, uint32 startOffset = 0) override;
+	Common::SeekableSubReadStreamEndian *getResource(uint32 tag, uint16 id) override;
 
 	uint32 _startOffset;
 };
@@ -108,11 +108,11 @@ public:
 class RIFXArchive : public Archive {
 public:
 	RIFXArchive() : Archive(){ _isBigEndian = true; }
-	~RIFXArchive() {}
+	~RIFXArchive() override {}
 
-	bool openStream(Common::SeekableReadStream *stream, uint32 startOffset = 0);
-	Common::SeekableSubReadStreamEndian *getResource(uint32 tag, uint16 id);
-	Resource getResourceDetail(uint32 tag, uint16 id);
+	bool openStream(Common::SeekableReadStream *stream, uint32 startOffset = 0) override;
+	Common::SeekableSubReadStreamEndian *getResource(uint32 tag, uint16 id) override;
+	Resource getResourceDetail(uint32 tag, uint16 id) override;
 };
 
 } // End of namespace Director
diff --git a/engines/director/detection.cpp b/engines/director/detection.cpp
index 4f6d7e1..fdc9f59 100644
--- a/engines/director/detection.cpp
+++ b/engines/director/detection.cpp
@@ -114,20 +114,20 @@ public:
 		_directoryGlobs = directoryGlobs;
 	}
 
-	virtual const char *getEngineId() const override {
+	const char *getEngineId() const override {
 		return "director";
 	}
 
-	virtual const char *getName() const override {
+	const char *getName() const override {
 		return "Macromedia Director";
 	}
 
-	virtual const char *getOriginalCopyright() const override {
+	const char *getOriginalCopyright() const override {
 		return "Macromedia Director (C) 1990-1995 Macromedia";
 	}
 
 	ADDetectedGame fallbackDetect(const FileMap &allFiles, const Common::FSList &fslist) const override;
-	virtual bool createInstance(OSystem *syst, Engine **engine, const ADGameDescription *desc) const override;
+	bool createInstance(OSystem *syst, Engine **engine, const ADGameDescription *desc) const override;
 };
 
 bool DirectorMetaEngine::createInstance(OSystem *syst, Engine **engine, const ADGameDescription *desc) const {
diff --git a/engines/director/director.h b/engines/director/director.h
index 67e802c..9f2f586 100644
--- a/engines/director/director.h
+++ b/engines/director/director.h
@@ -89,7 +89,7 @@ struct PaletteV4 {
 class DirectorEngine : public ::Engine {
 public:
 	DirectorEngine(OSystem *syst, const DirectorGameDescription *gameDesc);
-	~DirectorEngine();
+	~DirectorEngine() override;
 
 	// Detection related functions
 
@@ -145,7 +145,7 @@ public:
 	Common::List<MovieReference> _movieStack;
 
 protected:
-	virtual Common::Error run() override;
+	Common::Error run() override;
 
 private:
 	const DirectorGameDescription *_gameDescription;
diff --git a/engines/director/images.h b/engines/director/images.h
index 31221b1..c87796f 100644
--- a/engines/director/images.h
+++ b/engines/director/images.h
@@ -42,15 +42,15 @@ namespace Director {
 class DIBDecoder : public Image::ImageDecoder {
 public:
 	DIBDecoder();
-	virtual ~DIBDecoder();
+	~DIBDecoder() override;
 
 	// ImageDecoder API
-	void destroy();
-	virtual bool loadStream(Common::SeekableReadStream &stream);
-	virtual const Graphics::Surface *getSurface() const { return _surface; }
-	const byte *getPalette() const { return _palette; }
+	void destroy() override;
+	bool loadStream(Common::SeekableReadStream &stream) override;
+	const Graphics::Surface *getSurface() const override { return _surface; }
+	const byte *getPalette() const override { return _palette; }
 	void loadPalette(Common::SeekableReadStream &stream);
-	uint16 getPaletteColorCount() const { return _paletteColorCount; }
+	uint16 getPaletteColorCount() const override { return _paletteColorCount; }
 
 private:
 	Image::Codec *_codec;
@@ -62,15 +62,15 @@ private:
 class BITDDecoder : public Image::ImageDecoder {
 public:
 	BITDDecoder(int w, int h, uint16 bitsPerPixel, uint16 pitch);
-	virtual ~BITDDecoder();
+	~BITDDecoder() override;
 
 	// ImageDecoder API
-	void destroy();
-	virtual bool loadStream(Common::SeekableReadStream &stream);
-	virtual const Graphics::Surface *getSurface() const { return _surface; }
-	const byte *getPalette() const { return _palette; }
+	void destroy() override;
+	bool loadStream(Common::SeekableReadStream &stream) override;
+	const Graphics::Surface *getSurface() const override { return _surface; }
+	const byte *getPalette() const override { return _palette; }
 	void loadPalette(Common::SeekableReadStream &stream);
-	uint16 getPaletteColorCount() const { return _paletteColorCount; }
+	uint16 getPaletteColorCount() const override { return _paletteColorCount; }
 
 private:
 	Graphics::Surface *_surface;


Commit: 10c50b40ab1b53a8ff414fc256024808388f9d30
    https://github.com/scummvm/scummvm/commit/10c50b40ab1b53a8ff414fc256024808388f9d30
Author: Bastien Bouclet (bastien.bouclet at gmail.com)
Date: 2020-02-09T12:43:15+01:00

Commit Message:
DM: Add override keywords

Changed paths:
    engines/dm/console.h
    engines/dm/detection.cpp
    engines/dm/dm.h


diff --git a/engines/dm/console.h b/engines/dm/console.h
index 0fb9478..e088eec 100644
--- a/engines/dm/console.h
+++ b/engines/dm/console.h
@@ -49,7 +49,7 @@ private:
 
 public:
 	explicit Console(DM::DMEngine *vm);
-	virtual ~Console(void) {}
+	~Console(void) override {}
 
 	bool _debugGodmodeMana;
 	bool _debugGodmodeHP;
diff --git a/engines/dm/detection.cpp b/engines/dm/detection.cpp
index e6e25ea..beaaca3 100644
--- a/engines/dm/detection.cpp
+++ b/engines/dm/detection.cpp
@@ -100,25 +100,25 @@ public:
 	DMMetaEngine() : AdvancedMetaEngine(DM::gameDescriptions, sizeof(DMADGameDescription), DMGames, optionsList) {
 	}
 
-	virtual const char *getEngineId() const {
+	const char *getEngineId() const override {
 		return "dm";
 	}
 
-	virtual const char *getName() const {
+	const char *getName() const override {
 		return "Dungeon Master";
 	}
 
-	virtual const char *getOriginalCopyright() const {
+	const char *getOriginalCopyright() const override {
 		return "Dungeon Master (C) 1987 FTL Games";
 	}
 
-	virtual bool createInstance(OSystem *syst, Engine **engine, const ADGameDescription *desc) const {
+	bool createInstance(OSystem *syst, Engine **engine, const ADGameDescription *desc) const override {
 		if (desc)
 			*engine = new DM::DMEngine(syst, (const DMADGameDescription*)desc);
 		return desc != nullptr;
 	}
 
-	virtual bool hasFeature(MetaEngineFeature f) const {
+	bool hasFeature(MetaEngineFeature f) const override {
 		return
 			(f == kSupportsListSaves) ||
 			(f == kSupportsLoadingDuringStartup) ||
@@ -127,9 +127,9 @@ public:
 			(f == kSavesSupportCreationDate);
 	}
 
-	virtual int getMaximumSaveSlot() const { return 99; }
+	int getMaximumSaveSlot() const override { return 99; }
 
-	virtual SaveStateList listSaves(const char *target) const {
+	SaveStateList listSaves(const char *target) const override {
 		Common::SaveFileManager *saveFileMan = g_system->getSavefileManager();
 		SaveGameHeader header;
 		Common::String pattern = target;
@@ -159,7 +159,7 @@ public:
 		return saveList;
 	}
 
-	SaveStateDescriptor querySaveMetaInfos(const char *target, int slot) const {
+	SaveStateDescriptor querySaveMetaInfos(const char *target, int slot) const override {
 		Common::String filename = Common::String::format("%s.%03u", target, slot);
 		Common::InSaveFile *in = g_system->getSavefileManager()->openForLoading(filename.c_str());
 
@@ -179,7 +179,7 @@ public:
 		return SaveStateDescriptor();
 	}
 
-	virtual void removeSaveState(const char *target, int slot) const {}
+	void removeSaveState(const char *target, int slot) const override {}
 };
 
 }
diff --git a/engines/dm/dm.h b/engines/dm/dm.h
index eeb72a9..81fff04 100644
--- a/engines/dm/dm.h
+++ b/engines/dm/dm.h
@@ -222,11 +222,11 @@ private:
 
 public:
 	explicit DMEngine(OSystem *syst, const DMADGameDescription *gameDesc);
-	~DMEngine();
-	virtual bool hasFeature(EngineFeature f) const override;
+	~DMEngine() override;
+	bool hasFeature(EngineFeature f) const override;
 
-	virtual Common::Error loadGameState(int slot) override;
-	virtual bool canLoadGameStateCurrently() override;
+	Common::Error loadGameState(int slot) override;
+	bool canLoadGameStateCurrently() override;
 
 	bool isDemo() const;
 
@@ -237,7 +237,7 @@ public:
 	uint16 getRandomNumber(uint32 max) { return _rnd->getRandomNumber(max - 1); }
 	int16 ordinalToIndex(int16 val); // @ M01_ORDINAL_TO_INDEX
 	int16 indexToOrdinal(int16 val); // @ M00_INDEX_TO_ORDINAL
-	virtual Common::Error run() override; // @ main
+	Common::Error run() override; // @ main
 	void saveGame(); // @ F0433_STARTEND_ProcessCommand140_SaveGame_CPSCDF
 	LoadgameResult loadgame(int16 slot); // @ F0435_STARTEND_LoadGame_CPSF
 	void endGame(bool doNotDrawCreditsOnly); // @ F0444_STARTEND_Endgame


Commit: 4acd475b3ec23bd3af2fc08da2f5b7c766afee47
    https://github.com/scummvm/scummvm/commit/4acd475b3ec23bd3af2fc08da2f5b7c766afee47
Author: Bastien Bouclet (bastien.bouclet at gmail.com)
Date: 2020-02-09T12:43:15+01:00

Commit Message:
DRACI: Add override keywords

Changed paths:
    engines/draci/console.h
    engines/draci/detection.cpp
    engines/draci/draci.h
    engines/draci/music.h
    engines/draci/sound.h
    engines/draci/sprite.h


diff --git a/engines/draci/console.h b/engines/draci/console.h
index a1a584b..5a79eda 100644
--- a/engines/draci/console.h
+++ b/engines/draci/console.h
@@ -32,7 +32,7 @@ class DraciEngine;
 class DraciConsole : public GUI::Debugger {
 public:
 	DraciConsole(DraciEngine *vm);
-	virtual ~DraciConsole(void);
+	~DraciConsole(void) override;
 
 private:
 	DraciEngine *_vm;
diff --git a/engines/draci/detection.cpp b/engines/draci/detection.cpp
index bdd8e88..06e230b 100644
--- a/engines/draci/detection.cpp
+++ b/engines/draci/detection.cpp
@@ -90,20 +90,20 @@ public:
 		return "draci";
 	}
 
-	virtual const char *getName() const override {
+	const char *getName() const override {
 		return "Draci Historie";
 	}
 
-	virtual const char *getOriginalCopyright() const override {
+	const char *getOriginalCopyright() const override {
 		return "Draci Historie (C) 1995 NoSense";
 	}
 
-	virtual bool hasFeature(MetaEngineFeature f) const override;
-	virtual int getMaximumSaveSlot() const override { return 99; }
-	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 bool createInstance(OSystem *syst, Engine **engine, const ADGameDescription *desc) const override;
+	bool hasFeature(MetaEngineFeature f) const override;
+	int getMaximumSaveSlot() const override { return 99; }
+	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;
+	bool createInstance(OSystem *syst, Engine **engine, const ADGameDescription *desc) const override;
 };
 
 bool DraciMetaEngine::hasFeature(MetaEngineFeature f) const {
diff --git a/engines/draci/draci.h b/engines/draci/draci.h
index 90afdbc..84a6a3b 100644
--- a/engines/draci/draci.h
+++ b/engines/draci/draci.h
@@ -56,24 +56,24 @@ class SoundArchive;
 class DraciEngine : public Engine {
 public:
 	DraciEngine(OSystem *syst, const ADGameDescription *gameDesc);
-	virtual ~DraciEngine();
+	~DraciEngine() override;
 
 	int init();
-	virtual Common::Error run();
+	Common::Error run() override;
 
-	virtual bool hasFeature(Engine::EngineFeature f) const;
-	virtual void pauseEngineIntern(bool pause);
-	virtual void syncSoundSettings();
+	bool hasFeature(Engine::EngineFeature f) const override;
+	void pauseEngineIntern(bool pause) override;
+	void syncSoundSettings() override;
 
 	void handleEvents();
 
 	static Common::String getSavegameFile(int saveGameIdx);
-	virtual Common::Error loadGameState(int slot);
-	virtual bool canLoadGameStateCurrently();
-	virtual Common::Error saveGameState(int slot, const Common::String &desc);
-	virtual bool canSaveGameStateCurrently();
+	Common::Error loadGameState(int slot) override;
+	bool canLoadGameStateCurrently() override;
+	Common::Error saveGameState(int slot, const Common::String &desc) override;
+	bool canSaveGameStateCurrently() override;
 
-	GUI::Debugger *getDebugger() { return _console; }
+	GUI::Debugger *getDebugger() override { return _console; }
 
 	Screen *_screen;
 	Mouse *_mouse;
diff --git a/engines/draci/music.h b/engines/draci/music.h
index a3010c9..2309799 100644
--- a/engines/draci/music.h
+++ b/engines/draci/music.h
@@ -36,10 +36,10 @@ public:
 	MusicPlayer(const char *pathMask);
 
 	void playSMF(int track, bool loop);
-	void stop();
+	void stop() override;
 
 	// Overload Audio::MidiPlayer method
-	virtual void sendToChannel(byte channel, uint32 b);
+	void sendToChannel(byte channel, uint32 b) override;
 
 protected:
 	Common::String _pathMask;
diff --git a/engines/draci/sound.h b/engines/draci/sound.h
index d8d19e6..e91b92a 100644
--- a/engines/draci/sound.h
+++ b/engines/draci/sound.h
@@ -107,16 +107,16 @@ public:
 	_path(NULL), _samples(NULL), _sampleCount(0), _defaultFreq(defaultFreq), _opened(false), _f(NULL) {
 		openArchive(path);
 	}
-	virtual ~LegacySoundArchive() { closeArchive(); }
+	~LegacySoundArchive() override { closeArchive(); }
 
 	void openArchive(const char *path);
 	void closeArchive();
 
-	virtual uint size() const { return _sampleCount; }
-	virtual bool isOpen() const { return _opened; }
+	uint size() const override { return _sampleCount; }
+	bool isOpen() const override { return _opened; }
 
-	virtual void clearCache();
-	virtual SoundSample *getSample(int i, uint freq);
+	void clearCache() override;
+	SoundSample *getSample(int i, uint freq) override;
 
 private:
 	const char *_path;    ///< Path to file
@@ -135,16 +135,16 @@ private:
 class ZipSoundArchive : public SoundArchive {
 public:
 	ZipSoundArchive() : _archive(NULL), _path(NULL), _extension(NULL), _format(RAW), _sampleCount(0), _defaultFreq(0), _cache() { }
-	virtual ~ZipSoundArchive() { closeArchive(); }
+	~ZipSoundArchive() override { closeArchive(); }
 
 	void openArchive(const char *path, const char *extension, SoundFormat format, int raw_frequency = 0);
 	void closeArchive();
 
-	virtual uint size() const { return _sampleCount; }
-	virtual bool isOpen() const { return _archive != NULL; }
+	uint size() const override { return _sampleCount; }
+	bool isOpen() const override { return _archive != NULL; }
 
-	virtual void clearCache();
-	virtual SoundSample *getSample(int i, uint freq);
+	void clearCache() override;
+	SoundSample *getSample(int i, uint freq) override;
 
 private:
 	Common::Archive *_archive;
diff --git a/engines/draci/sprite.h b/engines/draci/sprite.h
index 5831f77..182f4d0 100644
--- a/engines/draci/sprite.h
+++ b/engines/draci/sprite.h
@@ -112,20 +112,20 @@ public:
 	// transposed image.
 	Sprite(const byte *sprite_data, uint16 length, int x, int y, bool columnwise);
 
-	~Sprite();
+	~Sprite() override;
 
-	void draw(Surface *surface, bool markDirty, int relX, int relY) const;
-	void drawReScaled(Surface *surface, bool markDirty, const Displacement &displacement) const;
+	void draw(Surface *surface, bool markDirty, int relX, int relY) const override;
+	void drawReScaled(Surface *surface, bool markDirty, const Displacement &displacement) const override;
 
 	void setMirrorOn() { _mirror = true; }
 	void setMirrorOff() { _mirror = false; }
 
-	Common::Rect getRect(const Displacement &displacement) const;
+	Common::Rect getRect(const Displacement &displacement) const override;
 
 	const byte *getBuffer() const { return _data; }
 	int getPixel(int x, int y, const Displacement &displacement) const;
 
-	DrawableType getType() const { return kDrawableSprite; }
+	DrawableType getType() const override { return kDrawableSprite; }
 
 private:
 	bool _ownsData;
@@ -138,7 +138,7 @@ class Text : public Drawable {
 public:
 	Text(const Common::String &str, const Font *font, byte fontColor,
 	    int x, int y, uint spacing);
-	~Text() {}
+	~Text() override {}
 
 	void setText(const Common::String &str);
 	void setColor(byte fontColor) { _color = fontColor; }
@@ -149,14 +149,14 @@ public:
 
 	uint getLength() const { return _length; }
 
-	void draw(Surface *surface, bool markDirty, int relX, int relY) const;
+	void draw(Surface *surface, bool markDirty, int relX, int relY) const override;
 
 	// drawReScaled just calls draw so that Text can be accessed through a Drawable pointer.
 	// Text scaling does not need to be handled.
-	void drawReScaled(Surface *surface, bool markDirty, const Displacement &displacement) const { draw(surface, markDirty, displacement.relX, displacement.relY); }
-	Common::Rect getRect(const Displacement &displacement) const;
+	void drawReScaled(Surface *surface, bool markDirty, const Displacement &displacement) const override { draw(surface, markDirty, displacement.relX, displacement.relY); }
+	Common::Rect getRect(const Displacement &displacement) const override;
 
-	DrawableType getType() const { return kDrawableText; }
+	DrawableType getType() const override { return kDrawableText; }
 private:
 	void splitLinesLongerThan(uint maxWidth);
 


Commit: d7a9147eb3c72adb9152cf3b8cdc081fed46400e
    https://github.com/scummvm/scummvm/commit/d7a9147eb3c72adb9152cf3b8cdc081fed46400e
Author: Bastien Bouclet (bastien.bouclet at gmail.com)
Date: 2020-02-09T12:43:15+01:00

Commit Message:
DRASCULA: Add override keywords

Changed paths:
    engines/drascula/console.h
    engines/drascula/detection.cpp
    engines/drascula/drascula.h


diff --git a/engines/drascula/console.h b/engines/drascula/console.h
index 01a5e8c..76d6095 100644
--- a/engines/drascula/console.h
+++ b/engines/drascula/console.h
@@ -32,7 +32,7 @@ class DrasculaEngine;
 class Console : public GUI::Debugger {
 public:
 	Console(DrasculaEngine *vm);
-	virtual ~Console(void);
+	~Console(void) override;
 
 private:
 	DrasculaEngine *_vm;
diff --git a/engines/drascula/detection.cpp b/engines/drascula/detection.cpp
index ffce17d..4f28f94 100644
--- a/engines/drascula/detection.cpp
+++ b/engines/drascula/detection.cpp
@@ -346,20 +346,20 @@ public:
 		return "drascula";
 	}
 
-	virtual const char *getName() const override {
+	const char *getName() const override {
 		return "Drascula: The Vampire Strikes Back";
 	}
 
-	virtual const char *getOriginalCopyright() const override {
+	const char *getOriginalCopyright() const override {
 		return "Drascula: The Vampire Strikes Back (C) 2000 Alcachofa Soft, (C) 1996 Digital Dreams Multimedia, (C) 1994 Emilio de Paz";
 	}
 
-	virtual bool createInstance(OSystem *syst, Engine **engine, const ADGameDescription *gd) const override;
-	virtual bool hasFeature(MetaEngineFeature f) const override;
-	virtual const ExtraGuiOptions getExtraGuiOptions(const Common::String &target) const override;
-	virtual SaveStateList listSaves(const char *target) const override;
-	virtual int getMaximumSaveSlot() const override;
-	virtual void removeSaveState(const char *target, int slot) const override;
+	bool createInstance(OSystem *syst, Engine **engine, const ADGameDescription *gd) const override;
+	bool hasFeature(MetaEngineFeature f) const override;
+	const ExtraGuiOptions getExtraGuiOptions(const Common::String &target) const override;
+	SaveStateList listSaves(const char *target) const override;
+	int getMaximumSaveSlot() const override;
+	void removeSaveState(const char *target, int slot) const override;
 	SaveStateDescriptor querySaveMetaInfos(const char *target, int slot) const override;
 };
 
diff --git a/engines/drascula/drascula.h b/engines/drascula/drascula.h
index 0d5c4ed..b0a4bed 100644
--- a/engines/drascula/drascula.h
+++ b/engines/drascula/drascula.h
@@ -319,19 +319,19 @@ struct RoomHandlers;
 class DrasculaEngine : public Engine {
 protected:
 	// Engine APIs
-	virtual Common::Error run() override;
+	Common::Error run() override;
 
 public:
 	DrasculaEngine(OSystem *syst, const DrasculaGameDescription *gameDesc);
-	virtual ~DrasculaEngine();
-	virtual bool hasFeature(EngineFeature f) const override;
+	~DrasculaEngine() override;
+	bool hasFeature(EngineFeature f) const override;
 
-	virtual void syncSoundSettings() override;
+	void syncSoundSettings() override;
 
-	virtual Common::Error loadGameState(int slot) override;
-	virtual bool canLoadGameStateCurrently() override;
-	virtual Common::Error saveGameState(int slot, const Common::String &desc) override;
-	virtual bool canSaveGameStateCurrently() override;
+	Common::Error loadGameState(int slot) override;
+	bool canLoadGameStateCurrently() override;
+	Common::Error saveGameState(int slot, const Common::String &desc) override;
+	bool canSaveGameStateCurrently() override;
 
 	Common::RandomSource *_rnd;
 	const DrasculaGameDescription *_gameDescription;


Commit: 606ad0453356bb15e780be2acd0c8182925266a4
    https://github.com/scummvm/scummvm/commit/606ad0453356bb15e780be2acd0c8182925266a4
Author: Bastien Bouclet (bastien.bouclet at gmail.com)
Date: 2020-02-09T12:43:15+01:00

Commit Message:
DREAMWEB: Add override keywords

Changed paths:
    engines/dreamweb/console.h
    engines/dreamweb/detection.cpp
    engines/dreamweb/dreamweb.h


diff --git a/engines/dreamweb/console.h b/engines/dreamweb/console.h
index 5517d7f..33dd3e9 100644
--- a/engines/dreamweb/console.h
+++ b/engines/dreamweb/console.h
@@ -32,7 +32,7 @@ class DreamWebEngine;
 class DreamWebConsole : public GUI::Debugger {
 public:
 	DreamWebConsole(DreamWebEngine *vm);
-	virtual ~DreamWebConsole(void);
+	~DreamWebConsole(void) override;
 
 private:
 	DreamWebEngine *_vm;
diff --git a/engines/dreamweb/detection.cpp b/engines/dreamweb/detection.cpp
index 6a035ad..f680494 100644
--- a/engines/dreamweb/detection.cpp
+++ b/engines/dreamweb/detection.cpp
@@ -78,19 +78,19 @@ public:
 		return "dreamweb";
 	}
 
-	virtual const char *getName() const override {
+	const char *getName() const override {
 		return "DreamWeb";
 	}
 
-	virtual const char *getOriginalCopyright() const override {
+	const char *getOriginalCopyright() const override {
 		return "DreamWeb (C) Creative Reality";
 	}
 
-	virtual bool createInstance(OSystem *syst, Engine **engine, const ADGameDescription *desc) const override;
-	virtual bool hasFeature(MetaEngineFeature f) const override;
-	virtual SaveStateList listSaves(const char *target) const override;
-	virtual int getMaximumSaveSlot() const override;
-	virtual void removeSaveState(const char *target, int slot) const override;
+	bool createInstance(OSystem *syst, Engine **engine, const ADGameDescription *desc) const override;
+	bool hasFeature(MetaEngineFeature f) const override;
+	SaveStateList listSaves(const char *target) const override;
+	int getMaximumSaveSlot() const override;
+	void removeSaveState(const char *target, int slot) const override;
 	SaveStateDescriptor querySaveMetaInfos(const char *target, int slot) const override;
 };
 
diff --git a/engines/dreamweb/dreamweb.h b/engines/dreamweb/dreamweb.h
index 9b61efd..7e36a1d 100644
--- a/engines/dreamweb/dreamweb.h
+++ b/engines/dreamweb/dreamweb.h
@@ -105,14 +105,14 @@ private:
 
 protected:
 	// Engine APIs
-	virtual Common::Error run() override;
-	virtual bool hasFeature(EngineFeature f) const override;
+	Common::Error run() override;
+	bool hasFeature(EngineFeature f) const override;
 
 	GUI::Debugger *getDebugger() override { return _console; }
 
 public:
 	DreamWebEngine(OSystem *syst, const DreamWebGameDescription *gameDesc);
-	virtual ~DreamWebEngine();
+	~DreamWebEngine() override;
 
 	void waitForVSync();
 


Commit: 6e67356777821ba403df8fd7198dd689ec9421f1
    https://github.com/scummvm/scummvm/commit/6e67356777821ba403df8fd7198dd689ec9421f1
Author: Bastien Bouclet (bastien.bouclet at gmail.com)
Date: 2020-02-09T12:43:15+01:00

Commit Message:
FULLPIPE: Add override keywords

Changed paths:
    engines/fullpipe/behavior.h
    engines/fullpipe/detection.cpp
    engines/fullpipe/fullpipe.h
    engines/fullpipe/gameloader.h
    engines/fullpipe/gfx.h
    engines/fullpipe/interaction.h
    engines/fullpipe/inventory.h
    engines/fullpipe/messages.h
    engines/fullpipe/modal.h
    engines/fullpipe/motion.h
    engines/fullpipe/ngiarchive.h
    engines/fullpipe/objects.h
    engines/fullpipe/scene.h
    engines/fullpipe/sound.h
    engines/fullpipe/statics.h
    engines/fullpipe/utils.h


diff --git a/engines/fullpipe/behavior.h b/engines/fullpipe/behavior.h
index b20a42c..dd74279 100644
--- a/engines/fullpipe/behavior.h
+++ b/engines/fullpipe/behavior.h
@@ -67,7 +67,7 @@ class BehaviorManager : public CObject {
 
   public:
 	BehaviorManager();
-	~BehaviorManager();
+	~BehaviorManager() override;
 
 	void clear();
 
diff --git a/engines/fullpipe/detection.cpp b/engines/fullpipe/detection.cpp
index 9ee85ce..3e75ac3 100644
--- a/engines/fullpipe/detection.cpp
+++ b/engines/fullpipe/detection.cpp
@@ -136,20 +136,20 @@ public:
 		return "fullpipe";
 	}
 
-	virtual const char *getName() const override {
+	const char *getName() const override {
 		return "Full Pipe";
 	}
 
-	virtual const char *getOriginalCopyright() const override {
+	const char *getOriginalCopyright() const override {
 		return "Full Pipe (C) Pipe Studio";
 	}
 
-	virtual bool hasFeature(MetaEngineFeature f) const override;
-	virtual int getMaximumSaveSlot() const override { return 99; }
-	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 bool createInstance(OSystem *syst, Engine **engine, const ADGameDescription *desc) const override;
+	bool hasFeature(MetaEngineFeature f) const override;
+	int getMaximumSaveSlot() const override { return 99; }
+	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;
+	bool createInstance(OSystem *syst, Engine **engine, const ADGameDescription *desc) const override;
 };
 
 bool FullpipeMetaEngine::hasFeature(MetaEngineFeature f) const {
diff --git a/engines/fullpipe/fullpipe.h b/engines/fullpipe/fullpipe.h
index 1528678..41fab8a 100644
--- a/engines/fullpipe/fullpipe.h
+++ b/engines/fullpipe/fullpipe.h
@@ -108,7 +108,7 @@ protected:
 
 public:
 	FullpipeEngine(OSystem *syst, const ADGameDescription *gameDesc);
-	virtual ~FullpipeEngine();
+	~FullpipeEngine() override;
 
 	Console _console;
 	GUI::Debugger *getDebugger() override { return &_console; }
@@ -363,9 +363,9 @@ public:
 	Common::Error loadGameState(int slot) override;
 	Common::Error saveGameState(int slot, const Common::String &description) override;
 
-	virtual bool canLoadGameStateCurrently() override { return true; }
-	virtual bool canSaveGameStateCurrently() override { return _isSaveAllowed; }
-	virtual bool hasFeature(EngineFeature f) const override;
+	bool canLoadGameStateCurrently() override { return true; }
+	bool canSaveGameStateCurrently() override { return _isSaveAllowed; }
+	bool hasFeature(EngineFeature f) const override;
 
 };
 
diff --git a/engines/fullpipe/gameloader.h b/engines/fullpipe/gameloader.h
index eb5957c..af4ccf6 100644
--- a/engines/fullpipe/gameloader.h
+++ b/engines/fullpipe/gameloader.h
@@ -56,8 +56,8 @@ class Sc2 : public CObject {
 
  public:
 	Sc2();
-	virtual ~Sc2();
-	virtual bool load(MfcArchive &file);
+	~Sc2() override;
+	bool load(MfcArchive &file) override;
 };
 
 typedef Common::Array<Sc2> Sc2Array;
@@ -73,7 +73,7 @@ bool preloadCallback(PreloadItem &pre, int flag);
 
 class PreloadItems : public Common::Array<PreloadItem>, public CObject {
  public:
-	virtual bool load(MfcArchive &file);
+	bool load(MfcArchive &file) override;
 };
 
 struct FullpipeSavegameHeader {
@@ -98,9 +98,9 @@ struct SaveHeader {
 class GameLoader : public CObject {
  public:
 	GameLoader();
-	virtual ~GameLoader();
+	~GameLoader() override;
 
-	virtual bool load(MfcArchive &file);
+	bool load(MfcArchive &file) override;
 	bool loadScene(int sceneId);
 	bool gotoScene(int sceneId, int entranceId);
 	bool preloadScene(int sceneId, int entranceId);
diff --git a/engines/fullpipe/gfx.h b/engines/fullpipe/gfx.h
index 04771f5..b498734 100644
--- a/engines/fullpipe/gfx.h
+++ b/engines/fullpipe/gfx.h
@@ -84,12 +84,12 @@ private:
 class Picture : public MemoryObject {
 public:
 	Picture();
-	virtual ~Picture();
+	~Picture() override;
 
 	void freePicture();
 	void freePixelData();
 
-	virtual bool load(MfcArchive &file);
+	bool load(MfcArchive &file) override;
 	void setAOIDs();
 	virtual void init();
 	void getDibInfo();
@@ -132,10 +132,10 @@ protected:
 class BigPicture : public Picture {
   public:
 	BigPicture() {}
-	virtual ~BigPicture() {}
+	~BigPicture() override {}
 
-	virtual bool load(MfcArchive &file);
-	virtual void draw(int x, int y, int style, int angle);
+	bool load(MfcArchive &file) override;
+	void draw(int x, int y, int style, int angle) override;
 };
 
 class GameObject : public CObject {
@@ -155,7 +155,7 @@ class GameObject : public CObject {
 	GameObject(GameObject *src);
 
 	virtual Common::String toXML();
-	virtual bool load(MfcArchive &file);
+	bool load(MfcArchive &file) override;
 	void setOXY(int x, int y);
 	void renumPictures(Common::Array<StaticANIObject *> *lst);
 	void renumPictures(Common::Array<PictureObject *> *lst);
@@ -174,7 +174,7 @@ public:
 	PictureObject(PictureObject *src);
 
 	virtual bool load(MfcArchive &file, bool bigPicture);
-	virtual bool load(MfcArchive &file) { assert(0); return false; } // Disable base class
+	bool load(MfcArchive &file) override { assert(0); return false; } // Disable base class
 
 	Dims getDimensions() const { return _picture->getDimensions(); }
 	void draw();
@@ -210,9 +210,9 @@ public:
 
 public:
 	Background();
-	virtual ~Background();
+	~Background() override;
 
-	virtual bool load(MfcArchive &file);
+	bool load(MfcArchive &file) override;
 	void addPictureObject(PictureObject *pct);
 
 	BigPicture *getBigPicture(int x, int y) { return _bigPictureArray[y * _bigPictureXDim + x]; }
@@ -234,7 +234,7 @@ class Shadows : public CObject {
 
   public:
 	Shadows();
-	virtual bool load(MfcArchive &file);
+	bool load(MfcArchive &file) override;
 	void init();
 
 	void initMovement(Movement *mov);
diff --git a/engines/fullpipe/interaction.h b/engines/fullpipe/interaction.h
index 7ea58e6..e9e7509 100644
--- a/engines/fullpipe/interaction.h
+++ b/engines/fullpipe/interaction.h
@@ -54,9 +54,9 @@ class Interaction : public CObject {
 
  public:
 	Interaction();
-	virtual ~Interaction();
+	~Interaction() override;
 
-	virtual bool load(MfcArchive &file);
+	bool load(MfcArchive &file) override;
 	bool canInteract(GameObject *obj1, GameObject *obj2, int invId);
 	bool isOverlapping(StaticANIObject *subj, GameObject *obj);
 };
@@ -74,9 +74,9 @@ public:
 
  public:
 	InteractionController() : _flag24(true) {}
-	virtual ~InteractionController();
+	~InteractionController() override;
 
-	virtual bool load(MfcArchive &file);
+	bool load(MfcArchive &file) override;
 
 	void enableFlag24() { _flag24 = true; }
 	void disableFlag24() { _flag24 = false; }
diff --git a/engines/fullpipe/inventory.h b/engines/fullpipe/inventory.h
index e15a170..100d36b 100644
--- a/engines/fullpipe/inventory.h
+++ b/engines/fullpipe/inventory.h
@@ -50,7 +50,7 @@ class Inventory : public CObject {
  public:
 	Inventory() { _sceneId = 0; }
 
-	virtual bool load(MfcArchive &file);
+	bool load(MfcArchive &file) override;
 
 	int getInventoryPoolItemIndexById(int itemId);
 	uint getItemsPoolCount() { return _itemsPool.size(); }
@@ -93,7 +93,7 @@ class Inventory2 : public Inventory {
 
  public:
 	Inventory2();
-	virtual ~Inventory2();
+	~Inventory2() override;
 
 	bool loadPartial(MfcArchive &file);
 	bool savePartial(MfcArchive &file);
diff --git a/engines/fullpipe/messages.h b/engines/fullpipe/messages.h
index 555fa68..def8d10 100644
--- a/engines/fullpipe/messages.h
+++ b/engines/fullpipe/messages.h
@@ -67,9 +67,9 @@ class ExCommand : public Message {
 	ExCommand();
 	ExCommand(ExCommand *src);
 	ExCommand(int16 parentId, int messageKind, int messageNum, int x, int y, int a7, int a8, int sceneClickX, int sceneClickY, int a11);
-	virtual ~ExCommand() {}
+	~ExCommand() override {}
 
-	virtual bool load(MfcArchive &file);
+	bool load(MfcArchive &file) override;
 
 	virtual ExCommand *createClone();
 
@@ -89,7 +89,7 @@ class ExCommand2 : public ExCommand {
 	ExCommand2(int messageKind, int parentId, const PointList &points);
 	ExCommand2(ExCommand2 *src);
 
-	virtual ExCommand2 *createClone();
+	ExCommand2 *createClone() override;
 };
 
 class ObjstateCommand : public ExCommand {
@@ -101,9 +101,9 @@ class ObjstateCommand : public ExCommand {
 	ObjstateCommand();
 	ObjstateCommand(ObjstateCommand *src);
 
-	virtual bool load(MfcArchive &file);
+	bool load(MfcArchive &file) override;
 
-	virtual ObjstateCommand *createClone();
+	ObjstateCommand *createClone() override;
 };
 
 class MessageQueue : public CObject {
@@ -126,9 +126,9 @@ class MessageQueue : public CObject {
 	MessageQueue();
 	MessageQueue(int dataId);
 	MessageQueue(MessageQueue *src, int parId, int field_38);
-	virtual ~MessageQueue();
+	~MessageQueue() override;
 
-	virtual bool load(MfcArchive &file);
+	bool load(MfcArchive &file) override;
 
 	int getFlags() { return _flags; }
 	void setFlags(int flags) { _flags = flags; }
diff --git a/engines/fullpipe/modal.h b/engines/fullpipe/modal.h
index 9f5e408..0ffddf4 100644
--- a/engines/fullpipe/modal.h
+++ b/engines/fullpipe/modal.h
@@ -70,13 +70,13 @@ class ModalIntro : public BaseModalObject {
 
  public:
 	ModalIntro();
-	virtual ~ModalIntro();
+	~ModalIntro() override;
 
-	virtual bool pollEvent() { return true; }
-	virtual bool handleMessage(ExCommand *message);
-	virtual bool init(int counterdiff);
-	virtual void update();
-	virtual void saveload() {}
+	bool pollEvent() override { return true; }
+	bool handleMessage(ExCommand *message) override;
+	bool init(int counterdiff) override;
+	void update() override;
+	void saveload() override {}
 
 	void finish();
 };
@@ -90,13 +90,13 @@ class ModalIntroDemo : public BaseModalObject {
 
  public:
 	ModalIntroDemo();
-	virtual ~ModalIntroDemo();
+	~ModalIntroDemo() override;
 
-	virtual bool pollEvent() { return true; }
-	virtual bool handleMessage(ExCommand *message);
-	virtual bool init(int counterdiff);
-	virtual void update();
-	virtual void saveload() {}
+	bool pollEvent() override { return true; }
+	bool handleMessage(ExCommand *message) override;
+	bool init(int counterdiff) override;
+	void update() override;
+	void saveload() override {}
 
 	void finish();
 };
@@ -104,11 +104,11 @@ class ModalIntroDemo : public BaseModalObject {
 class ModalVideoPlayer : public BaseModalObject {
 public:
 
-	virtual bool pollEvent() { return true; }
-	virtual bool handleMessage(ExCommand *message) { return true; }
-	virtual bool init(int counterdiff) { return false; }
-	virtual void update() {}
-	virtual void saveload() {}
+	bool pollEvent() override { return true; }
+	bool handleMessage(ExCommand *message) override { return true; }
+	bool init(int counterdiff) override { return false; }
+	void update() override {}
+	void saveload() override {}
 
 	void play(const char *fname);
 
@@ -135,14 +135,14 @@ class ModalMap : public BaseModalObject {
 
  public:
 	ModalMap();
-	virtual ~ModalMap();
+	~ModalMap() override;
 
-	virtual bool pollEvent() { return true; }
-	virtual bool handleMessage(ExCommand *message);
-	virtual bool init(int counterdiff);
+	bool pollEvent() override { return true; }
+	bool handleMessage(ExCommand *message) override;
+	bool init(int counterdiff) override;
 	virtual bool init2(int counterdiff);
-	virtual void update();
-	virtual void saveload() {}
+	void update() override;
+	void saveload() override {}
 
 	void initMap();
 
@@ -163,13 +163,13 @@ class ModalFinal : public BaseModalObject {
 
  public:
 	ModalFinal();
-	virtual ~ModalFinal();
+	~ModalFinal() override;
 
-	virtual bool pollEvent() { return true; }
-	virtual bool handleMessage(ExCommand *message);
-	virtual bool init(int counterdiff);
-	virtual void update();
-	virtual void saveload() {}
+	bool pollEvent() override { return true; }
+	bool handleMessage(ExCommand *message) override;
+	bool init(int counterdiff) override;
+	void update() override;
+	void saveload() override {}
 
 	void unloadScenes();
 };
@@ -187,13 +187,13 @@ class ModalCredits : public BaseModalObject {
 
  public:
 	ModalCredits();
-	virtual ~ModalCredits();
+	~ModalCredits() override;
 
-	virtual bool pollEvent() { return true; }
-	virtual bool handleMessage(ExCommand *message);
-	virtual bool init(int counterdiff);
-	virtual void update();
-	virtual void saveload() {}
+	bool pollEvent() override { return true; }
+	bool handleMessage(ExCommand *message) override;
+	bool init(int counterdiff) override;
+	void update() override;
+	void saveload() override {}
 };
 
 struct MenuArea {
@@ -219,13 +219,13 @@ public:
 
 public:
 	ModalMainMenu();
-	virtual ~ModalMainMenu() {}
+	~ModalMainMenu() override {}
 
-	virtual bool pollEvent() { return true; }
-	virtual bool handleMessage(ExCommand *message);
-	virtual bool init(int counterdiff);
-	virtual void update();
-	virtual void saveload() {}
+	bool pollEvent() override { return true; }
+	bool handleMessage(ExCommand *message) override;
+	bool init(int counterdiff) override;
+	void update() override;
+	void saveload() override {}
 
 private:
 	bool isSaveAllowed();
@@ -250,13 +250,13 @@ public:
 
 public:
 	ModalHelp();
-	virtual ~ModalHelp();
+	~ModalHelp() override;
 
-	virtual bool pollEvent() { return true; }
-	virtual bool handleMessage(ExCommand *message);
-	virtual bool init(int counterdiff);
-	virtual void update();
-	virtual void saveload() {}
+	bool pollEvent() override { return true; }
+	bool handleMessage(ExCommand *message) override;
+	bool init(int counterdiff) override;
+	void update() override;
+	void saveload() override {}
 
 	void launch();
 };
@@ -264,13 +264,13 @@ public:
 class ModalQuery : public BaseModalObject {
 public:
 	ModalQuery();
-	virtual ~ModalQuery();
+	~ModalQuery() override;
 
-	virtual bool pollEvent() { return true; }
-	virtual bool handleMessage(ExCommand *message);
-	virtual bool init(int counterdiff);
-	virtual void update();
-	virtual void saveload() {}
+	bool pollEvent() override { return true; }
+	bool handleMessage(ExCommand *message) override;
+	bool init(int counterdiff) override;
+	void update() override;
+	void saveload() override {}
 
 	bool create(Scene *sc, Scene *bgScene, int picId);
 	int getQueryResult() { return _queryResult; }
@@ -288,13 +288,13 @@ private:
 class ModalSaveGame : public BaseModalObject {
 public:
 	ModalSaveGame();
-	virtual ~ModalSaveGame();
+	~ModalSaveGame() override;
 
-	virtual bool pollEvent() { return true; }
-	virtual bool handleMessage(ExCommand *message);
-	virtual bool init(int counterdiff);
-	virtual void update();
-	virtual void saveload();
+	bool pollEvent() override { return true; }
+	bool handleMessage(ExCommand *message) override;
+	bool init(int counterdiff) override;
+	void update() override;
+	void saveload() override;
 
 	void processMouse(int x, int y);
 
@@ -336,16 +336,16 @@ class ModalDemo : public BaseModalObject {
 
  public:
 	ModalDemo();
-	virtual ~ModalDemo();
+	~ModalDemo() override;
 
 	bool launch();
 
-	virtual bool pollEvent() { return true; }
-	virtual bool handleMessage(ExCommand *message);
-	virtual bool init(int counterdiff);
+	bool pollEvent() override { return true; }
+	bool handleMessage(ExCommand *message) override;
+	bool init(int counterdiff) override;
 	bool init2(int counterdiff);
-	virtual void update();
-	virtual void saveload() {}
+	void update() override;
+	void saveload() override {}
 };
 
 
diff --git a/engines/fullpipe/motion.h b/engines/fullpipe/motion.h
index f71d58a..52b7703 100644
--- a/engines/fullpipe/motion.h
+++ b/engines/fullpipe/motion.h
@@ -44,8 +44,8 @@ public:
 
 public:
 	MotionController() : _isEnabled(true), _field_4(0) {}
-	virtual ~MotionController() {}
-	virtual bool load(MfcArchive &file);
+	~MotionController() override {}
+	bool load(MfcArchive &file) override;
 	virtual void methodC() {}
 	virtual void method10() {}
 	virtual void deactivate() { _isEnabled = false; }
@@ -89,7 +89,7 @@ public:
 
 public:
 	MctlItem() : _field_20(0), _field_24(0), _field_28(0) {}
-	~MctlItem();
+	~MctlItem() override;
 };
 
 class MctlCompound : public MotionController {
@@ -98,15 +98,15 @@ public:
 	Common::Array<MctlItem *> _motionControllers;
 
 	MctlCompound() { _objtype = kObjTypeMctlCompound; }
-	virtual ~MctlCompound();
+	~MctlCompound() override;
 
-	virtual bool load(MfcArchive &file);
+	bool load(MfcArchive &file) override;
 
-	virtual void attachObject(StaticANIObject *obj);
-	virtual int detachObject(StaticANIObject *obj);
-	virtual void detachAllObjects();
-	virtual MessageQueue *startMove(StaticANIObject *subj, int xpos, int ypos, int fuzzyMatch, int staticsId);
-	virtual MessageQueue *makeQueue(StaticANIObject *subj, int xpos, int ypos, int fuzzyMatch, int staticsId);
+	void attachObject(StaticANIObject *obj) override;
+	int detachObject(StaticANIObject *obj) override;
+	void detachAllObjects() override;
+	MessageQueue *startMove(StaticANIObject *subj, int xpos, int ypos, int fuzzyMatch, int staticsId) override;
+	MessageQueue *makeQueue(StaticANIObject *subj, int xpos, int ypos, int fuzzyMatch, int staticsId) override;
 
 	void initMctlGraph();
 	MctlConnectionPoint *findClosestConnectionPoint(int ox, int oy, int destIndex, int connectionX, int connectionY, int sourceIndex, double *minDistancePtr);
@@ -146,14 +146,14 @@ public:
 
 public:
 	MctlLadder();
-	virtual ~MctlLadder();
+	~MctlLadder() override;
 	int collisionDetection(StaticANIObject *man);
 
-	virtual void attachObject(StaticANIObject *obj);
-	virtual int detachObject(StaticANIObject *obj) { return 1; }
-	virtual void detachAllObjects();
-	virtual MessageQueue *startMove(StaticANIObject *subj, int xpos, int ypos, int fuzzyMatch, int staticsId);
-	virtual MessageQueue *makeQueue(StaticANIObject *subj, int xpos, int ypos, int fuzzyMatch, int staticsId);
+	void attachObject(StaticANIObject *obj) override;
+	int detachObject(StaticANIObject *obj) override { return 1; }
+	void detachAllObjects() override;
+	MessageQueue *startMove(StaticANIObject *subj, int xpos, int ypos, int fuzzyMatch, int staticsId) override;
+	MessageQueue *makeQueue(StaticANIObject *subj, int xpos, int ypos, int fuzzyMatch, int staticsId) override;
 
 	MessageQueue *controllerWalkTo(StaticANIObject *ani, int off);
 
@@ -172,7 +172,7 @@ public:
 
 public:
 	MovGraphNode() : _x(0), _y(0), _z(0), _field_10(0), _field_14(0) { _objtype = kObjTypeMovGraphNode; }
-	virtual bool load(MfcArchive &file);
+	bool load(MfcArchive &file) override;
 };
 
 class ReactParallel : public MovGraphReact {
@@ -186,10 +186,10 @@ class ReactParallel : public MovGraphReact {
 
 public:
 	ReactParallel();
-	virtual bool load(MfcArchive &file);
+	bool load(MfcArchive &file) override;
 
-	virtual void setCenter(int x1, int y1, int x2, int y2);
-	virtual void createRegion();
+	void setCenter(int x1, int y1, int x2, int y2) override;
+	void createRegion() override;
 };
 
 class ReactPolygonal : public MovGraphReact {
@@ -200,10 +200,10 @@ class ReactPolygonal : public MovGraphReact {
 public:
 	ReactPolygonal();
 
-	virtual bool load(MfcArchive &file);
+	bool load(MfcArchive &file) override;
 
-	virtual void setCenter(int x1, int y1, int x2, int y2);
-	virtual void createRegion();
+	void setCenter(int x1, int y1, int x2, int y2) override;
+	void createRegion() override;
 
 	Common::Rect getBBox();
 };
@@ -224,9 +224,9 @@ class MovGraphLink : public CObject {
 
   public:
 	MovGraphLink();
-	virtual ~MovGraphLink();
+	~MovGraphLink() override;
 
-	virtual bool load(MfcArchive &file);
+	bool load(MfcArchive &file) override;
 
 	void recalcLength();
 };
@@ -284,22 +284,22 @@ private:
 
 public:
 	MovGraph();
-	virtual ~MovGraph();
+	~MovGraph() override;
 
 	static int messageHandler(ExCommand *cmd);
 
-	virtual bool load(MfcArchive &file);
-
-	virtual void attachObject(StaticANIObject *obj);
-	virtual int detachObject(StaticANIObject *obj);
-	virtual void detachAllObjects();
-	virtual Common::Array<MovItem *> *getPaths(StaticANIObject *ani, int x, int y, int flag1, int *rescount);
-	virtual bool setPosImmediate(StaticANIObject *obj, int x, int y);
-	virtual MessageQueue *startMove(StaticANIObject *subj, int xpos, int ypos, int fuzzyMatch, int staticsId);
-	virtual void setSelFunc(MovArr *(*_callback1)(StaticANIObject *ani, Common::Array<MovItem *> *items, signed int counter));
-	virtual bool resetPosition(StaticANIObject *ani, int flag);
-	virtual bool canDropInventory(StaticANIObject *ani, int x, int y);
-	virtual MessageQueue *makeQueue(StaticANIObject *subj, int xpos, int ypos, int fuzzyMatch, int staticsId);
+	bool load(MfcArchive &file) override;
+
+	void attachObject(StaticANIObject *obj) override;
+	int detachObject(StaticANIObject *obj) override;
+	void detachAllObjects() override;
+	Common::Array<MovItem *> *getPaths(StaticANIObject *ani, int x, int y, int flag1, int *rescount) override;
+	bool setPosImmediate(StaticANIObject *obj, int x, int y) override;
+	MessageQueue *startMove(StaticANIObject *subj, int xpos, int ypos, int fuzzyMatch, int staticsId) override;
+	void setSelFunc(MovArr *(*_callback1)(StaticANIObject *ani, Common::Array<MovItem *> *items, signed int counter)) override;
+	bool resetPosition(StaticANIObject *ani, int flag) override;
+	bool canDropInventory(StaticANIObject *ani, int x, int y) override;
+	MessageQueue *makeQueue(StaticANIObject *subj, int xpos, int ypos, int fuzzyMatch, int staticsId) override;
 	virtual MessageQueue *method50(StaticANIObject *ani, MovArr *movarr, int staticsId);
 
 	double putToLink(Common::Point *point, MovGraphLink *link, int fuzzyMatch);
@@ -372,11 +372,11 @@ public:
 	Common::Array<MctlAni> _items2;
 
 public:
-	virtual void attachObject(StaticANIObject *obj);
-	virtual int detachObject(StaticANIObject *obj);
-	virtual void detachAllObjects();
-	virtual MessageQueue *startMove(StaticANIObject *subj, int xpos, int ypos, int fuzzyMatch, int staticsId);
-	virtual MessageQueue *makeQueue(StaticANIObject *subj, int xpos, int ypos, int fuzzyMatch, int staticsId);
+	void attachObject(StaticANIObject *obj) override;
+	int detachObject(StaticANIObject *obj) override;
+	void detachAllObjects() override;
+	MessageQueue *startMove(StaticANIObject *subj, int xpos, int ypos, int fuzzyMatch, int staticsId) override;
+	MessageQueue *makeQueue(StaticANIObject *subj, int xpos, int ypos, int fuzzyMatch, int staticsId) override;
 
 	int getObjIndex(int objectId);
 	int getDirByStatics(int index, int staticsId);
diff --git a/engines/fullpipe/ngiarchive.h b/engines/fullpipe/ngiarchive.h
index 18646fa..c52f0c6 100644
--- a/engines/fullpipe/ngiarchive.h
+++ b/engines/fullpipe/ngiarchive.h
@@ -48,13 +48,13 @@ class NGIArchive : public Common::Archive {
 
 public:
 	NGIArchive(const Common::String &name);
-	virtual ~NGIArchive();
+	~NGIArchive() override;
 
 	// Archive implementation
-	virtual bool hasFile(const Common::String &name) const;
-	virtual int listMembers(Common::ArchiveMemberList &list) const;
-	virtual const Common::ArchiveMemberPtr getMember(const Common::String &name) const;
-	virtual Common::SeekableReadStream *createReadStreamForMember(const Common::String &name) const;
+	bool hasFile(const Common::String &name) const override;
+	int listMembers(Common::ArchiveMemberList &list) const override;
+	const Common::ArchiveMemberPtr getMember(const Common::String &name) const override;
+	Common::SeekableReadStream *createReadStreamForMember(const Common::String &name) const override;
 };
 
 /**
diff --git a/engines/fullpipe/objects.h b/engines/fullpipe/objects.h
index 6048580..fcf90e0 100644
--- a/engines/fullpipe/objects.h
+++ b/engines/fullpipe/objects.h
@@ -40,7 +40,7 @@ class GameProject : public CObject {
 
  public:
 	GameProject();
-	virtual bool load(MfcArchive &file);
+	bool load(MfcArchive &file) override;
 };
 
 struct PicAniInfo {
@@ -87,10 +87,10 @@ class GameVar : public CObject {
 
  public:
 	GameVar();
-	virtual ~GameVar();
+	~GameVar() override;
 
-	virtual bool load(MfcArchive &file);
-	virtual void save(MfcArchive &file);
+	bool load(MfcArchive &file) override;
+	void save(MfcArchive &file) override;
 	GameVar *getSubVarByName(const Common::String &name);
 	bool setSubVarAsInt(const Common::String &name, int value);
 	int getSubVarAsInt(const Common::String &name);
diff --git a/engines/fullpipe/scene.h b/engines/fullpipe/scene.h
index 97e654d..2b95d88 100644
--- a/engines/fullpipe/scene.h
+++ b/engines/fullpipe/scene.h
@@ -47,9 +47,9 @@ class Scene : public Background {
 
   public:
 	Scene();
-	virtual ~Scene();
+	~Scene() override;
 
-	virtual bool load(MfcArchive &file);
+	bool load(MfcArchive &file) override;
 
 	void initStaticANIObjects();
 	void init();
@@ -104,15 +104,15 @@ class SceneTag : public CObject {
 
  public:
 	SceneTag();
-	virtual ~SceneTag();
+	~SceneTag() override;
 
-	virtual bool load(MfcArchive &file);
+	bool load(MfcArchive &file) override;
 	void loadScene();
 };
 
 class SceneTagList : public Common::List<SceneTag>, public CObject {
  public:
-	virtual bool load(MfcArchive &file);
+	bool load(MfcArchive &file) override;
 };
 
 } // End of namespace Fullpipe
diff --git a/engines/fullpipe/sound.h b/engines/fullpipe/sound.h
index e0fa873..7017855 100644
--- a/engines/fullpipe/sound.h
+++ b/engines/fullpipe/sound.h
@@ -42,10 +42,10 @@ public:
 
 public:
 	Sound();
-	virtual ~Sound();
+	~Sound() override;
 
 	virtual bool load(MfcArchive &file, NGIArchive *archive);
-	virtual bool load(MfcArchive &file) { assert(0); return false; } // Disable base class
+	bool load(MfcArchive &file) override { assert(0); return false; } // Disable base class
 	void updateVolume();
 	int getId() const { return _id; }
 	Audio::SoundHandle *getHandle() const { return _handle; }
@@ -65,7 +65,7 @@ class SoundList : public CObject {
 
  public:
 	virtual bool load(MfcArchive &file, const Common::String &fname);
-	virtual bool load(MfcArchive &file) { assert(0); return false; } // Disable base class
+	bool load(MfcArchive &file) override { assert(0); return false; } // Disable base class
 	bool loadFile(const Common::String &fname, const Common::String &libname);
 
 	int getCount() { return _soundItems.size(); }
diff --git a/engines/fullpipe/statics.h b/engines/fullpipe/statics.h
index 770d431..e5f7ae7 100644
--- a/engines/fullpipe/statics.h
+++ b/engines/fullpipe/statics.h
@@ -58,7 +58,7 @@ class StaticPhase : public Picture {
   public:
 	StaticPhase();
 
-	virtual bool load(MfcArchive &file);
+	bool load(MfcArchive &file) override;
 
 	virtual Common::String toXML();
 
@@ -78,9 +78,9 @@ class DynamicPhase : public StaticPhase {
 	DynamicPhase();
 	DynamicPhase(DynamicPhase *src, bool reverse);
 
-	virtual bool load(MfcArchive &file);
+	bool load(MfcArchive &file) override;
 
-	virtual Common::String toXML();
+	Common::String toXML() override;
 
 	int getDynFlags() { return _dynFlags; }
 };
@@ -95,8 +95,8 @@ class Statics : public DynamicPhase {
 	Statics();
 	Statics(Statics *src, bool reverse);
 
-	virtual bool load(MfcArchive &file);
-	virtual void init();
+	bool load(MfcArchive &file) override;
+	void init() override;
 	Statics *getStaticsById(int itemId);
 
 	Common::Point getSomeXY() const;
@@ -133,12 +133,12 @@ class Movement : public GameObject {
 
   public:
 	Movement();
-	virtual ~Movement();
+	~Movement() override;
 
 	Movement(Movement *src, StaticANIObject *ani);
 	Movement(Movement *src, int *flag1, int flag2, StaticANIObject *ani);
 
-	virtual bool load(MfcArchive &file);
+	bool load(MfcArchive &file) override;
 	bool load(MfcArchive &file, StaticANIObject *ani);
 
 	Common::Point getCurrDynamicPhaseXY() const;
@@ -198,10 +198,10 @@ public:
 
 public:
 	StaticANIObject();
-	virtual ~StaticANIObject();
+	~StaticANIObject() override;
 	StaticANIObject(StaticANIObject *src);
 
-	virtual bool load(MfcArchive &file);
+	bool load(MfcArchive &file) override;
 
 	void setOXY(int x, int y);
 	Statics *getStaticsById(int id);
diff --git a/engines/fullpipe/utils.h b/engines/fullpipe/utils.h
index a4fae83..4e26c60 100644
--- a/engines/fullpipe/utils.h
+++ b/engines/fullpipe/utils.h
@@ -76,13 +76,13 @@ public:
 	void decLevel() { _level--; }
 	int getLevel() { return _level; }
 
-	virtual bool eos() const { return _stream->eos(); }
-	virtual uint32 read(void *dataPtr, uint32 dataSize) { return _stream->read(dataPtr, dataSize); }
-	virtual int32 pos() const { return _stream ? _stream->pos() : _wstream->pos(); }
-	virtual int32 size() const { return _stream->size(); }
-	virtual bool seek(int32 offset, int whence = SEEK_SET) { return _stream->seek(offset, whence); }
+	bool eos() const override { return _stream->eos(); }
+	uint32 read(void *dataPtr, uint32 dataSize) override { return _stream->read(dataPtr, dataSize); }
+	int32 pos() const override { return _stream ? _stream->pos() : _wstream->pos(); }
+	int32 size() const override { return _stream->size(); }
+	bool seek(int32 offset, int whence = SEEK_SET) override { return _stream->seek(offset, whence); }
 
-	virtual uint32 write(const void *dataPtr, uint32 dataSize) { return _wstream->write(dataPtr, dataSize); }
+	uint32 write(const void *dataPtr, uint32 dataSize) override { return _wstream->write(dataPtr, dataSize); }
 
 private:
 	void init();
@@ -120,7 +120,7 @@ public:
 template <class T>
 class ObList : public Common::List<T *>, public CObject {
 public:
-	virtual bool load(MfcArchive &file) {
+	bool load(MfcArchive &file) override {
 		debugC(5, kDebugLoading, "ObList::load()");
 		int count = file.readCount();
 
@@ -154,9 +154,9 @@ class MemoryObject : CObject {
 
  public:
 	MemoryObject();
-	virtual ~MemoryObject();
+	~MemoryObject() override;
 
-	virtual bool load(MfcArchive &file);
+	bool load(MfcArchive &file) override;
 	void loadFile(const Common::String &filename);
 	void load() { loadFile(_memfilename); }
 	byte *getData();
@@ -176,20 +176,20 @@ class MemoryObject2 : public MemoryObject {
 
  public:
 	MemoryObject2();
-	virtual ~MemoryObject2();
-	virtual bool load(MfcArchive &file);
+	~MemoryObject2() override;
+	bool load(MfcArchive &file) override;
 
 	void copyData(byte *src, int dataSize);
 };
 
 class ObArray : public Common::Array<CObject>, public CObject {
  public:
-	virtual bool load(MfcArchive &file);
+	bool load(MfcArchive &file) override;
 };
 
 class DWordArray : public Common::Array<int32>, public CObject {
  public:
-	virtual bool load(MfcArchive &file);
+	bool load(MfcArchive &file) override;
 };
 
 Common::String genFileName(int superId, int sceneId, const char *ext);


Commit: 1e30923737ce7f879ff395b0c82f8d5adbb97bc3
    https://github.com/scummvm/scummvm/commit/1e30923737ce7f879ff395b0c82f8d5adbb97bc3
Author: Bastien Bouclet (bastien.bouclet at gmail.com)
Date: 2020-02-09T12:43:15+01:00

Commit Message:
GLK: Add override keywords

Changed paths:
    engines/glk/adrift/adrift.h
    engines/glk/advsys/advsys.h
    engines/glk/agt/agt.h
    engines/glk/alan2/alan2.h
    engines/glk/alan3/alan3.h
    engines/glk/archetype/archetype.h
    engines/glk/blorb.h
    engines/glk/detection.h
    engines/glk/frotz/bitmap_font.h
    engines/glk/frotz/frotz.h
    engines/glk/frotz/glk_interface.h
    engines/glk/frotz/pics.h
    engines/glk/frotz/processor.h
    engines/glk/frotz/screen.h
    engines/glk/frotz/sound_folder.h
    engines/glk/glk.h
    engines/glk/glk_api.h
    engines/glk/glulxe/glulxe.h
    engines/glk/hugo/hugo.h
    engines/glk/jacl/jacl.h
    engines/glk/level9/level9.h
    engines/glk/magnetic/magnetic.h
    engines/glk/quest/geas_glk.h
    engines/glk/quest/geas_impl.h
    engines/glk/quest/geas_util.h
    engines/glk/quest/quest.h
    engines/glk/quest/streams.h
    engines/glk/raw_decoder.h
    engines/glk/scott/scott.h
    engines/glk/screen.h
    engines/glk/streams.h
    engines/glk/tads/tads.h
    engines/glk/tads/tads2/tads2.h
    engines/glk/tads/tads3/tads3.h
    engines/glk/window_graphics.h
    engines/glk/window_pair.h
    engines/glk/window_text_buffer.h
    engines/glk/window_text_grid.h


diff --git a/engines/glk/adrift/adrift.h b/engines/glk/adrift/adrift.h
index bc003dc..5d0317e 100644
--- a/engines/glk/adrift/adrift.h
+++ b/engines/glk/adrift/adrift.h
@@ -55,20 +55,20 @@ public:
 	/**
 	 * Returns the running interpreter type
 	 */
-	virtual InterpreterType getInterpreterType() const override {
+	InterpreterType getInterpreterType() const override {
 		return INTERPRETER_ADRIFT;
 	}
 
 	/**
 	 * Load a savegame from the passed Quetzal file chunk stream
 	 */
-	virtual Common::Error readSaveData(Common::SeekableReadStream *rs) override;
+	Common::Error readSaveData(Common::SeekableReadStream *rs) override;
 
 	/**
 	 * Save the game. The passed write stream represents access to the UMem chunk
 	 * in the Quetzal save file that will be created
 	 */
-	virtual Common::Error writeGameData(Common::WriteStream *ws) override;
+	Common::Error writeGameData(Common::WriteStream *ws) override;
 };
 
 extern Adrift *g_vm;
diff --git a/engines/glk/advsys/advsys.h b/engines/glk/advsys/advsys.h
index a741f4e..3f371e1 100644
--- a/engines/glk/advsys/advsys.h
+++ b/engines/glk/advsys/advsys.h
@@ -59,25 +59,25 @@ public:
 	/**
 	 * Run the game
 	 */
-	virtual void runGame() override;
+	void runGame() override;
 
 	/**
 	 * Returns the running interpreter type
 	 */
-	virtual InterpreterType getInterpreterType() const override {
+	InterpreterType getInterpreterType() const override {
 		return INTERPRETER_ADVSYS;
 	}
 
 	/**
 	 * Load a savegame from the passed Quetzal file chunk stream
 	 */
-	virtual Common::Error readSaveData(Common::SeekableReadStream *rs) override;
+	Common::Error readSaveData(Common::SeekableReadStream *rs) override;
 
 	/**
 	 * Save the game. The passed write stream represents access to the UMem chunk
 	 * in the Quetzal save file that will be created
 	 */
-	virtual Common::Error writeGameData(Common::WriteStream *ws) override;
+	Common::Error writeGameData(Common::WriteStream *ws) override;
 };
 
 } // End of namespace AdvSys
diff --git a/engines/glk/agt/agt.h b/engines/glk/agt/agt.h
index fd9d930..46bc150 100644
--- a/engines/glk/agt/agt.h
+++ b/engines/glk/agt/agt.h
@@ -97,25 +97,25 @@ public:
 	/**
 	 * Returns the running interpreter type
 	 */
-	virtual InterpreterType getInterpreterType() const override {
+	InterpreterType getInterpreterType() const override {
 		return INTERPRETER_AGT;
 	}
 
 	/**
 	 * Execute the game
 	 */
-	virtual void runGame() override;
+	void runGame() override;
 
 	/**
 	 * Load a savegame from the passed Quetzal file chunk stream
 	 */
-	virtual Common::Error readSaveData(Common::SeekableReadStream *rs) override;
+	Common::Error readSaveData(Common::SeekableReadStream *rs) override;
 
 	/**
 	 * Save the game. The passed write stream represents access to the UMem chunk
 	 * in the Quetzal save file that will be created
 	 */
-	virtual Common::Error writeGameData(Common::WriteStream *ws) override;
+	Common::Error writeGameData(Common::WriteStream *ws) override;
 };
 
 extern AGT *g_vm;
diff --git a/engines/glk/alan2/alan2.h b/engines/glk/alan2/alan2.h
index e171c5f..36f307b 100644
--- a/engines/glk/alan2/alan2.h
+++ b/engines/glk/alan2/alan2.h
@@ -83,20 +83,20 @@ public:
 	/**
 	 * Returns the running interpreter type
 	 */
-	virtual InterpreterType getInterpreterType() const override {
+	InterpreterType getInterpreterType() const override {
 		return INTERPRETER_ALAN2;
 	}
 
 	/**
 	 * Load a savegame from the passed Quetzal file chunk stream
 	 */
-	virtual Common::Error readSaveData(Common::SeekableReadStream *rs) override;
+	Common::Error readSaveData(Common::SeekableReadStream *rs) override;
 
 	/**
 	 * Save the game. The passed write stream represents access to the UMem chunk
 	 * in the Quetzal save file that will be created
 	 */
-	virtual Common::Error writeGameData(Common::WriteStream *ws) override;
+	Common::Error writeGameData(Common::WriteStream *ws) override;
 
 };
 
diff --git a/engines/glk/alan3/alan3.h b/engines/glk/alan3/alan3.h
index 24382c2..85e1e0e 100644
--- a/engines/glk/alan3/alan3.h
+++ b/engines/glk/alan3/alan3.h
@@ -60,20 +60,20 @@ public:
 	/**
 	 * Returns the running interpreter type
 	 */
-	virtual InterpreterType getInterpreterType() const override {
+	InterpreterType getInterpreterType() const override {
 		return INTERPRETER_ALAN3;
 	}
 
 	/**
 	 * Load a savegame from the passed Quetzal file chunk stream
 	 */
-	virtual Common::Error readSaveData(Common::SeekableReadStream *rs) override;
+	Common::Error readSaveData(Common::SeekableReadStream *rs) override;
 
 	/**
 	 * Save the game. The passed write stream represents access to the UMem chunk
 	 * in the Quetzal save file that will be created
 	 */
-	virtual Common::Error writeGameData(Common::WriteStream *ws) override;
+	Common::Error writeGameData(Common::WriteStream *ws) override;
 };
 
 extern Alan3 *g_vm;
diff --git a/engines/glk/archetype/archetype.h b/engines/glk/archetype/archetype.h
index 698a277..f6d9871 100644
--- a/engines/glk/archetype/archetype.h
+++ b/engines/glk/archetype/archetype.h
@@ -138,24 +138,24 @@ public:
 	/**
 	 * Run the game
 	 */
-	virtual void runGame() override;
+	void runGame() override;
 
 	/**
 	 * Returns the running interpreter type
 	 */
-	virtual InterpreterType getInterpreterType() const override {
+	InterpreterType getInterpreterType() const override {
 		return INTERPRETER_ARCHETYPE;
 	}
 
 	/**
 	 * Savegames aren't supported for Archetype games
 	 */
-	virtual Common::Error readSaveData(Common::SeekableReadStream *rs) override;
+	Common::Error readSaveData(Common::SeekableReadStream *rs) override;
 
 	/**
 	 * Savegames aren't supported for Archetype games
 	 */
-	virtual Common::Error writeGameData(Common::WriteStream *ws) override;
+	Common::Error writeGameData(Common::WriteStream *ws) override;
 
 	/**
 	 * Returns true if a savegame is being loaded directly from the ScummVM launcher
diff --git a/engines/glk/blorb.h b/engines/glk/blorb.h
index cfb5897..50f449a 100644
--- a/engines/glk/blorb.h
+++ b/engines/glk/blorb.h
@@ -112,7 +112,7 @@ public:
 	 * Patterns are not allowed, as this is meant to be a quick File::exists()
 	 * replacement.
 	 */
-	virtual bool hasFile(const Common::String &name) const override;
+	bool hasFile(const Common::String &name) const override;
 
 	/**
 	 * Add all members of the Archive to list.
@@ -120,19 +120,19 @@ public:
 	 *
 	 * @return the number of names added to list
 	 */
-	virtual int listMembers(Common::ArchiveMemberList &list) const override;
+	int listMembers(Common::ArchiveMemberList &list) const override;
 
 	/**
 	 * Returns a ArchiveMember representation of the given file.
 	 */
-	virtual const Common::ArchiveMemberPtr getMember(const Common::String &name) const override;
+	const Common::ArchiveMemberPtr getMember(const Common::String &name) const override;
 
 	/**
 	 * Create a stream bound to a member with the specified name in the
 	 * archive. If no member with this name exists, 0 is returned.
 	 * @return the newly created input stream
 	 */
-	virtual Common::SeekableReadStream *createReadStreamForMember(const Common::String &name) const override;
+	Common::SeekableReadStream *createReadStreamForMember(const Common::String &name) const override;
 
 	/**
 	 * Read the RIdx section from the stream.
diff --git a/engines/glk/detection.h b/engines/glk/detection.h
index f0dcb3b..4575b27 100644
--- a/engines/glk/detection.h
+++ b/engines/glk/detection.h
@@ -37,7 +37,7 @@ private:
 public:
 	GlkMetaEngine() : MetaEngine() {}
 
-	virtual const char *getName() const override {
+	const char *getName() const override {
 		return "Glk";
 	}
 
@@ -45,33 +45,33 @@ public:
 		return "glk";
 	}
 
-	virtual const char *getOriginalCopyright() const override {
+	const char *getOriginalCopyright() const override {
 		return "Infocom games (C) Infocom\nScott Adams games (C) Scott Adams";
 	}
 
-	virtual bool hasFeature(MetaEngineFeature f) const override;
-	virtual Common::Error createInstance(OSystem *syst, Engine **engine) const override;
-	virtual SaveStateList listSaves(const char *target) const override;
-	virtual int getMaximumSaveSlot() const override;
-	virtual void removeSaveState(const char *target, int slot) const override;
+	bool hasFeature(MetaEngineFeature f) const override;
+	Common::Error createInstance(OSystem *syst, Engine **engine) const override;
+	SaveStateList listSaves(const char *target) const override;
+	int getMaximumSaveSlot() const override;
+	void removeSaveState(const char *target, int slot) const override;
 	SaveStateDescriptor querySaveMetaInfos(const char *target, int slot) const override;
 
 	/**
 	 * Returns a list of games supported by this engine.
 	 */
-	virtual PlainGameList getSupportedGames() const override;
+	PlainGameList getSupportedGames() const override;
 
 	/**
 	 * Runs the engine's game detector on the given list of files, and returns a
 	 * (possibly empty) list of games supported by the engine which it was able
 	 * to detect amongst the given files.
 	 */
-	virtual DetectedGames detectGames(const Common::FSList &fslist) const override;
+	DetectedGames detectGames(const Common::FSList &fslist) const override;
 
 	/**
 	 * Query the engine for a PlainGameDescriptor for the specified gameid, if any.
 	 */
-	virtual PlainGameDescriptor findGame(const char *gameId) const override;
+	PlainGameDescriptor findGame(const char *gameId) const override;
 
 	/**
 	 * Calls each sub-engine in turn to ensure no game Id accidentally shares the same Id
diff --git a/engines/glk/frotz/bitmap_font.h b/engines/glk/frotz/bitmap_font.h
index 5f5f549..f39f997 100644
--- a/engines/glk/frotz/bitmap_font.h
+++ b/engines/glk/frotz/bitmap_font.h
@@ -56,22 +56,22 @@ public:
 	/**
 	 * Get the font height
 	 */
-	virtual int getFontHeight() const override { return _size.y; }
+	int getFontHeight() const override { return _size.y; }
 
 	/**
 	 * Get the maximum character width
 	 */
-	virtual int getMaxCharWidth() const override { return _size.x; }
+	int getMaxCharWidth() const override { return _size.x; }
 
 	/**
 	 * Get the width of the given character
 	 */
-	virtual int getCharWidth(uint32 chr) const override { return _chars[chr - _startingChar].w; }
+	int getCharWidth(uint32 chr) const override { return _chars[chr - _startingChar].w; }
 
 	/**
 	 * Draw a character
 	 */
-	virtual void drawChar(Graphics::Surface *dst, uint32 chr, int x, int y, uint32 color) const override;
+	void drawChar(Graphics::Surface *dst, uint32 chr, int x, int y, uint32 color) const override;
 };
 
 /**
diff --git a/engines/glk/frotz/frotz.h b/engines/glk/frotz/frotz.h
index 764e9e0..d2b99a3 100644
--- a/engines/glk/frotz/frotz.h
+++ b/engines/glk/frotz/frotz.h
@@ -39,12 +39,12 @@ protected:
 	/**
 	 * Setup the video mode
 	 */
-	virtual void initGraphicsMode() override;
+	void initGraphicsMode() override;
 
 	/**
 	 * Create the screen class
 	 */
-	virtual Screen *createScreen() override;
+	Screen *createScreen() override;
 public:
 	/**
 	 * Constructor
@@ -54,7 +54,7 @@ public:
 	/**
 	 * Destructor
 	 */
-	virtual ~Frotz();
+	~Frotz() override;
 
 	/**
 	 * Initialization
@@ -64,32 +64,32 @@ public:
 	/**
 	 * Returns the running interpreter type
 	 */
-	virtual InterpreterType getInterpreterType() const override { return INTERPRETER_FROTZ; }
+	InterpreterType getInterpreterType() const override { return INTERPRETER_FROTZ; }
 
 	/**
 	 * Execute the game
 	 */
-	virtual void runGame() override;
+	void runGame() override;
 
 	/**
 	 * Load a savegame from a given slot
 	 */
-	virtual Common::Error loadGameState(int slot) override;
+	Common::Error loadGameState(int slot) override;
 
 	/**
 	 * Save the game to a given slot
 	 */
-	virtual Common::Error saveGameState(int slot, const Common::String &desc) override;
+	Common::Error saveGameState(int slot, const Common::String &desc) override;
 
 	/**
 	 * Loading method not used for Frotz sub-engine
 	 */
-	virtual Common::Error readSaveData(Common::SeekableReadStream *rs) override { return Common::kReadingFailed; }
+	Common::Error readSaveData(Common::SeekableReadStream *rs) override { return Common::kReadingFailed; }
 
 	/**
 	 * Saving method not used for Frotz sub-engine
 	 */
-	virtual Common::Error writeGameData(Common::WriteStream *ws) override { return Common::kWritingFailed; }
+	Common::Error writeGameData(Common::WriteStream *ws) override { return Common::kWritingFailed; }
 
 };
 
diff --git a/engines/glk/frotz/glk_interface.h b/engines/glk/frotz/glk_interface.h
index 7f76eb6..aa30c2e 100644
--- a/engines/glk/frotz/glk_interface.h
+++ b/engines/glk/frotz/glk_interface.h
@@ -246,7 +246,7 @@ public:
 	/**
 	 * Destructor
 	 */
-	virtual ~GlkInterface();
+	~GlkInterface() override;
 
 	/**
 	 * Initialization
diff --git a/engines/glk/frotz/pics.h b/engines/glk/frotz/pics.h
index d4027a2..87bb146 100644
--- a/engines/glk/frotz/pics.h
+++ b/engines/glk/frotz/pics.h
@@ -91,7 +91,7 @@ public:
 	/**
 	 * Destructor
 	 */
-	~Pics();
+	~Pics() override;
 
 	/**
 	 * Return the number of entries in the file
@@ -108,7 +108,7 @@ public:
 	 * Patterns are not allowed, as this is meant to be a quick File::exists()
 	 * replacement.
 	 */
-	virtual bool hasFile(const Common::String &name) const override;
+	bool hasFile(const Common::String &name) const override;
 
 	/**
 	 * Add all members of the Archive to list.
@@ -116,19 +116,19 @@ public:
 	 *
 	 * @return the number of names added to list
 	 */
-	virtual int listMembers(Common::ArchiveMemberList &list) const override;
+	int listMembers(Common::ArchiveMemberList &list) const override;
 
 	/**
 	 * Returns a ArchiveMember representation of the given file.
 	 */
-	virtual const Common::ArchiveMemberPtr getMember(const Common::String &name) const override;
+	const Common::ArchiveMemberPtr getMember(const Common::String &name) const override;
 
 	/**
 	 * Create a stream bound to a member with the specified name in the
 	 * archive. If no member with this name exists, 0 is returned.
 	 * @return the newly created input stream
 	 */
-	virtual Common::SeekableReadStream *createReadStreamForMember(const Common::String &name) const override;
+	Common::SeekableReadStream *createReadStreamForMember(const Common::String &name) const override;
 };
 
 } // End of namespace Frotz
diff --git a/engines/glk/frotz/processor.h b/engines/glk/frotz/processor.h
index d3a14e7..dd068f0 100644
--- a/engines/glk/frotz/processor.h
+++ b/engines/glk/frotz/processor.h
@@ -243,7 +243,7 @@ protected:
 	/**
 	 * Called when the H_FLAGS field of the header has changed
 	 */
-	virtual void flagsChanged(zbyte value) override;
+	void flagsChanged(zbyte value) override;
 
 	/**
 	 * This function does the dirty work for z_save_undo.
@@ -1698,7 +1698,7 @@ public:
 	 * Constructor
 	 */
 	Processor(OSystem *syst, const GlkGameDescription &gameDesc);
-	virtual ~Processor() {}
+	~Processor() override {}
 
 	/**
 	 * Initialization
diff --git a/engines/glk/frotz/screen.h b/engines/glk/frotz/screen.h
index 8b39206..dad05f9 100644
--- a/engines/glk/frotz/screen.h
+++ b/engines/glk/frotz/screen.h
@@ -46,7 +46,7 @@ protected:
 	/**
 	 * Load the fonts
 	 */
-	virtual void loadFonts(Common::Archive *archive) override;
+	void loadFonts(Common::Archive *archive) override;
 public:
 	/**
 	 * Constructor
diff --git a/engines/glk/frotz/sound_folder.h b/engines/glk/frotz/sound_folder.h
index 50eef06..6ea198d 100644
--- a/engines/glk/frotz/sound_folder.h
+++ b/engines/glk/frotz/sound_folder.h
@@ -56,7 +56,7 @@ public:
 	 * Patterns are not allowed, as this is meant to be a quick File::exists()
 	 * replacement.
 	 */
-	virtual bool hasFile(const Common::String &name) const override;
+	bool hasFile(const Common::String &name) const override;
 
 	/**
 	 * Add all members of the Archive to list.
@@ -64,19 +64,19 @@ public:
 	 *
 	 * @return the number of names added to list
 	 */
-	virtual int listMembers(Common::ArchiveMemberList &list) const override;
+	int listMembers(Common::ArchiveMemberList &list) const override;
 
 	/**
 	 * Returns a ArchiveMember representation of the given file.
 	 */
-	virtual const Common::ArchiveMemberPtr getMember(const Common::String &name) const override;
+	const Common::ArchiveMemberPtr getMember(const Common::String &name) const override;
 
 	/**
 	 * Create a stream bound to a member with the specified name in the
 	 * archive. If no member with this name exists, 0 is returned.
 	 * @return the newly created input stream
 	 */
-	virtual Common::SeekableReadStream *createReadStreamForMember(const Common::String &name) const override;
+	Common::SeekableReadStream *createReadStreamForMember(const Common::String &name) const override;
 };
 
 /**
@@ -102,14 +102,14 @@ public:
 	/**
 	 * Destructor
 	 */
-	~SoundZip();
+	~SoundZip() override;
 
 	/**
 	 * Check if a member with the given name is present in the Archive.
 	 * Patterns are not allowed, as this is meant to be a quick File::exists()
 	 * replacement.
 	 */
-	virtual bool hasFile(const Common::String &name) const override;
+	bool hasFile(const Common::String &name) const override;
 
 	/**
 	 * Add all members of the Archive to list.
@@ -117,19 +117,19 @@ public:
 	 *
 	 * @return the number of names added to list
 	 */
-	virtual int listMembers(Common::ArchiveMemberList &list) const override;
+	int listMembers(Common::ArchiveMemberList &list) const override;
 
 	/**
 	 * Returns a ArchiveMember representation of the given file.
 	 */
-	virtual const Common::ArchiveMemberPtr getMember(const Common::String &name) const override;
+	const Common::ArchiveMemberPtr getMember(const Common::String &name) const override;
 
 	/**
 	 * Create a stream bound to a member with the specified name in the
 	 * archive. If no member with this name exists, 0 is returned.
 	 * @return the newly created input stream
 	 */
-	virtual Common::SeekableReadStream *createReadStreamForMember(const Common::String &name) const override;
+	Common::SeekableReadStream *createReadStreamForMember(const Common::String &name) const override;
 };
 
 } // End of namespace Frotz
diff --git a/engines/glk/glk.h b/engines/glk/glk.h
index 7836115..ca09089 100644
--- a/engines/glk/glk.h
+++ b/engines/glk/glk.h
@@ -83,12 +83,12 @@ protected:
 	bool _quitFlag;
 
 	// Engine APIs
-	virtual Common::Error run() override;
+	Common::Error run() override;
 
 	/**
 	  * Returns true whether a given feature is supported by the engine
 	  */
-	virtual bool hasFeature(EngineFeature f) const override;
+	bool hasFeature(EngineFeature f) const override;
 
 	/**
 	 * Setup the video mode
@@ -132,19 +132,19 @@ public:
 	void(*gli_unregister_arr)(void *array, uint len, const char *typecode, gidispatch_rock_t objrock);
 public:
 	GlkEngine(OSystem *syst, const GlkGameDescription &gameDesc);
-	virtual ~GlkEngine();
+	~GlkEngine() override;
 
 	/**
 	 * Returns true if a savegame can be loaded
 	 */
-	virtual bool canLoadGameStateCurrently() override {
+	bool canLoadGameStateCurrently() override {
 		return true;
 	}
 
 	/**
 	 * Returns true if the game can be saved
 	 */
-	virtual bool canSaveGameStateCurrently() override {
+	bool canSaveGameStateCurrently() override {
 		return true;
 	}
 
@@ -205,12 +205,12 @@ public:
 	/**
 	 * Load a savegame from a given slot
 	 */
-	virtual Common::Error loadGameState(int slot) override;
+	Common::Error loadGameState(int slot) override;
 
 	/**
 	 * Save the game to a given slot
 	 */
-	virtual Common::Error saveGameState(int slot, const Common::String &desc) override;
+	Common::Error saveGameState(int slot, const Common::String &desc) override;
 
 	/**
 	 * Load a savegame from the passed Quetzal file chunk stream
@@ -226,7 +226,7 @@ public:
 	/**
 	 * Updates sound settings
 	 */
-	virtual void syncSoundSettings() override;
+	void syncSoundSettings() override;
 
 	/**
 	 * Generate a beep
diff --git a/engines/glk/glk_api.h b/engines/glk/glk_api.h
index a0efb30..ddb575e 100644
--- a/engines/glk/glk_api.h
+++ b/engines/glk/glk_api.h
@@ -57,7 +57,7 @@ public:
 	 * Constructor
 	 */
 	GlkAPI(OSystem *syst, const GlkGameDescription &gameDesc);
-	virtual ~GlkAPI() {}
+	~GlkAPI() override {}
 
 	void glk_exit(void);
 	void glk_set_interrupt_handler(void(*func)(void));
diff --git a/engines/glk/glulxe/glulxe.h b/engines/glk/glulxe/glulxe.h
index 4630eba..5166153 100644
--- a/engines/glk/glulxe/glulxe.h
+++ b/engines/glk/glulxe/glulxe.h
@@ -406,20 +406,20 @@ public:
 	/**
 	 * Returns the running interpreter type
 	 */
-	virtual InterpreterType getInterpreterType() const override {
+	InterpreterType getInterpreterType() const override {
 		return INTERPRETER_GLULXE;
 	}
 
 	/**
 	 * Load a savegame from the passed Quetzal file chunk stream
 	 */
-	virtual Common::Error readSaveData(Common::SeekableReadStream *rs) override;
+	Common::Error readSaveData(Common::SeekableReadStream *rs) override;
 
 	/**
 	 * Save the game. The passed write stream represents access to the UMem chunk
 	 * in the Quetzal save file that will be created
 	 */
-	virtual Common::Error writeGameData(Common::WriteStream *ws) override;
+	Common::Error writeGameData(Common::WriteStream *ws) override;
 
 	/**
 	 * \defgroup Main access methods
diff --git a/engines/glk/hugo/hugo.h b/engines/glk/hugo/hugo.h
index 14b3936..c5864e1 100644
--- a/engines/glk/hugo/hugo.h
+++ b/engines/glk/hugo/hugo.h
@@ -1190,18 +1190,18 @@ public:
 	/**
 	 * Returns the running interpreter type
 	 */
-	virtual InterpreterType getInterpreterType() const override { return INTERPRETER_HUGO; }
+	InterpreterType getInterpreterType() const override { return INTERPRETER_HUGO; }
 
 	/**
 	 * Load a savegame from the passed Quetzal file chunk stream
 	 */
-	virtual Common::Error readSaveData(Common::SeekableReadStream *rs) override;
+	Common::Error readSaveData(Common::SeekableReadStream *rs) override;
 
 	/**
 	 * Save the game. The passed write stream represents access to the UMem chunk
 	 * in the Quetzal save file that will be created
 	 */
-	virtual Common::Error writeGameData(Common::WriteStream *ws) override;
+	Common::Error writeGameData(Common::WriteStream *ws) override;
 };
 
 } // End of namespace Hugo
diff --git a/engines/glk/jacl/jacl.h b/engines/glk/jacl/jacl.h
index 5f24dc6..bcdbbaf 100644
--- a/engines/glk/jacl/jacl.h
+++ b/engines/glk/jacl/jacl.h
@@ -57,24 +57,24 @@ public:
 	/**
 	 * Run the game
 	 */
-	virtual void runGame() override;
+	void runGame() override;
 
 	/**
 	 * Returns the running interpreter type
 	 */
-	virtual InterpreterType getInterpreterType() const override {
+	InterpreterType getInterpreterType() const override {
 		return INTERPRETER_JACL;
 	}
 
 	/**
 	 * Savegames aren't supported for JACL games
 	 */
-	virtual Common::Error readSaveData(Common::SeekableReadStream *rs) override;
+	Common::Error readSaveData(Common::SeekableReadStream *rs) override;
 
 	/**
 	 * Savegames aren't supported for JACL games
 	 */
-	virtual Common::Error writeGameData(Common::WriteStream *ws) override;
+	Common::Error writeGameData(Common::WriteStream *ws) override;
 
 	/**
 	 * Returns true if a savegame is being loaded directly from the ScummVM launcher
diff --git a/engines/glk/level9/level9.h b/engines/glk/level9/level9.h
index 3977c52..ceda58f 100644
--- a/engines/glk/level9/level9.h
+++ b/engines/glk/level9/level9.h
@@ -64,20 +64,20 @@ public:
 	/**
 	 * Returns the running interpreter type
 	 */
-	virtual InterpreterType getInterpreterType() const override {
+	InterpreterType getInterpreterType() const override {
 		return INTERPRETER_LEVEL9;
 	}
 
 	/**
 	 * Load a savegame from the passed Quetzal file chunk stream
 	 */
-	virtual Common::Error readSaveData(Common::SeekableReadStream *rs) override;
+	Common::Error readSaveData(Common::SeekableReadStream *rs) override;
 
 	/**
 	 * Save the game. The passed write stream represents access to the UMem chunk
 	 * in the Quetzal save file that will be created
 	 */
-	virtual Common::Error writeGameData(Common::WriteStream *ws) override;
+	Common::Error writeGameData(Common::WriteStream *ws) override;
 
 };
 
diff --git a/engines/glk/magnetic/magnetic.h b/engines/glk/magnetic/magnetic.h
index ece414e..a17a48a 100644
--- a/engines/glk/magnetic/magnetic.h
+++ b/engines/glk/magnetic/magnetic.h
@@ -1379,34 +1379,34 @@ public:
 	/**
 	 * Returns the running interpreter type
 	 */
-	virtual InterpreterType getInterpreterType() const override {
+	InterpreterType getInterpreterType() const override {
 		return INTERPRETER_MAGNETIC;
 	}
 
 	/**
 	 * The Magnetic engine currently doesn't support loading savegames from the GMM
 	 */
-	virtual bool canLoadGameStateCurrently() override {
+	bool canLoadGameStateCurrently() override {
 		return false;
 	}
 
 	/**
 	 * The Magnetic engine currently doesn't support saving games from the GMM
 	 */
-	virtual bool canSaveGameStateCurrently() override {
+	bool canSaveGameStateCurrently() override {
 		return false;
 	}
 
 	/**
 	 * Load a savegame from the passed Quetzal file chunk stream
 	 */
-	virtual Common::Error readSaveData(Common::SeekableReadStream *rs) override;
+	Common::Error readSaveData(Common::SeekableReadStream *rs) override;
 
 	/**
 	 * Save the game. The passed write stream represents access to the UMem chunk
 	 * in the Quetzal save file that will be created
 	 */
-	virtual Common::Error writeGameData(Common::WriteStream *ws) override;
+	Common::Error writeGameData(Common::WriteStream *ws) override;
 };
 
 extern Magnetic *g_vm;
diff --git a/engines/glk/quest/geas_glk.h b/engines/glk/quest/geas_glk.h
index 2647bf1..c63f789 100644
--- a/engines/glk/quest/geas_glk.h
+++ b/engines/glk/quest/geas_glk.h
@@ -58,18 +58,18 @@ namespace Quest {
 
 class GeasGlkInterface : public GeasInterface {
 protected:
-	virtual String get_file(const String &fname) const;
-	virtual GeasResult print_normal(const String &s);
-	virtual GeasResult print_newline();
+	String get_file(const String &fname) const override;
+	GeasResult print_normal(const String &s) override;
+	GeasResult print_newline() override;
 
-	virtual void set_foreground(String);
-	virtual void set_background(String);
-	virtual GeasResult set_style(const GeasFontStyle &);
+	void set_foreground(String) override;
+	void set_background(String) override;
+	GeasResult set_style(const GeasFontStyle &) override;
 
-	virtual String get_string();
-	virtual uint make_choice(String, Common::Array<String>);
+	String get_string() override;
+	uint make_choice(String, Common::Array<String>) override;
 
-	virtual String absolute_name(String, String) const;
+	String absolute_name(String, String) const override;
 public:
 	GeasGlkInterface() {
 		;
diff --git a/engines/glk/quest/geas_impl.h b/engines/glk/quest/geas_impl.h
index cdfe106..c2bd56a 100644
--- a/engines/glk/quest/geas_impl.h
+++ b/engines/glk/quest/geas_impl.h
@@ -87,12 +87,12 @@ class geas_implementation : public GeasRunner {
 public:
 	geas_implementation(GeasInterface *in_gi)
 		: GeasRunner(in_gi), undo_buffer(20), is_running_(true) {}
-	void set_game(const String &fname);
+	void set_game(const String &fname) override;
 
-	bool is_running() const;
-	GeasState *getState() { return &state; }
-	String get_banner();
-	void run_command(String);
+	bool is_running() const override;
+	GeasState *getState() override { return &state; }
+	String get_banner() override;
+	void run_command(String) override;
 	bool try_match(String s, bool, bool);
 	match_rv match_command(String input, String action) const;
 	match_rv match_command(String input, uint ichar,
@@ -168,12 +168,12 @@ public:
 	bool eval_cond(String);
 	GeasState state;
 
-	virtual void tick_timers();
-	virtual v2string get_inventory();
-	virtual v2string get_room_contents();
+	void tick_timers() override;
+	v2string get_inventory() override;
+	v2string get_room_contents() override;
 	v2string get_room_contents(String);
-	virtual vstring get_status_vars();
-	virtual Common::Array<bool> get_valid_exits();
+	vstring get_status_vars() override;
+	Common::Array<bool> get_valid_exits() override;
 
 
 	inline void print_formatted(String s) const {
diff --git a/engines/glk/quest/geas_util.h b/engines/glk/quest/geas_util.h
index d63004e..75cd398 100644
--- a/engines/glk/quest/geas_util.h
+++ b/engines/glk/quest/geas_util.h
@@ -82,8 +82,8 @@ public:
 
 private:
 	class Nullstreambuf : public Common::WriteStream {
-		virtual uint32 write(const void *dataPtr, uint32 dataSize) { return dataSize; }
-		virtual int32 pos() const { return 0; }
+		uint32 write(const void *dataPtr, uint32 dataSize) override { return dataSize; }
+		int32 pos() const override { return 0; }
 	};
 
 	Common::WriteStream *logfilestr_;
diff --git a/engines/glk/quest/quest.h b/engines/glk/quest/quest.h
index 5597616..7304597 100644
--- a/engines/glk/quest/quest.h
+++ b/engines/glk/quest/quest.h
@@ -65,38 +65,38 @@ public:
 	/**
 	 * Run the game
 	 */
-	virtual void runGame() override;
+	void runGame() override;
 
 	/**
 	 * Returns the running interpreter type
 	 */
-	virtual InterpreterType getInterpreterType() const override {
+	InterpreterType getInterpreterType() const override {
 		return INTERPRETER_QUEST;
 	}
 
 	/**
 	 * Returns true if a savegame can be loaded
 	 */
-	virtual bool canLoadGameStateCurrently() override {
+	bool canLoadGameStateCurrently() override {
 		return _runner != nullptr;
 	}
 
 	/**
 	 * Returns true if the game can be saved
 	 */
-	virtual bool canSaveGameStateCurrently() override {
+	bool canSaveGameStateCurrently() override {
 		return _runner != nullptr;
 	}
 
 	/**
 	 * Savegames aren't supported for Quest games
 	 */
-	virtual Common::Error readSaveData(Common::SeekableReadStream *rs) override;
+	Common::Error readSaveData(Common::SeekableReadStream *rs) override;
 
 	/**
 	 * Savegames aren't supported for Quest games
 	 */
-	virtual Common::Error writeGameData(Common::WriteStream *ws) override;
+	Common::Error writeGameData(Common::WriteStream *ws) override;
 
 	/**
 	 * Returns true if a savegame is being loaded directly from the ScummVM launcher
diff --git a/engines/glk/quest/streams.h b/engines/glk/quest/streams.h
index 8bfa6ae..e6d6a51 100644
--- a/engines/glk/quest/streams.h
+++ b/engines/glk/quest/streams.h
@@ -35,8 +35,8 @@ namespace Quest {
  */
 class ConsoleStream : public Common::WriteStream {
 public:
-	virtual uint32 write(const void *dataPtr, uint32 dataSize) override;
-	virtual int32 pos() const override { return 0; }
+	uint32 write(const void *dataPtr, uint32 dataSize) override;
+	int32 pos() const override { return 0; }
 };
 
 class ostringstream : public Common::MemoryWriteStreamDynamic {
diff --git a/engines/glk/raw_decoder.h b/engines/glk/raw_decoder.h
index 086cf25..2289c44 100644
--- a/engines/glk/raw_decoder.h
+++ b/engines/glk/raw_decoder.h
@@ -48,13 +48,13 @@ private:
 	int _transColor;
 public:
 	RawDecoder();
-	~RawDecoder();
+	~RawDecoder() override;
 
-	virtual bool loadStream(Common::SeekableReadStream &stream) override;
-	virtual void destroy() override;
-	virtual const Graphics::Surface *getSurface() const override { return &_surface; }
-	virtual const byte *getPalette() const override { return _palette; }
-	virtual uint16 getPaletteColorCount() const override { return _paletteColorCount; }
+	bool loadStream(Common::SeekableReadStream &stream) override;
+	void destroy() override;
+	const Graphics::Surface *getSurface() const override { return &_surface; }
+	const byte *getPalette() const override { return _palette; }
+	uint16 getPaletteColorCount() const override { return _paletteColorCount; }
 	int getTransparentColor() const { return _transColor; }
 };
 
diff --git a/engines/glk/scott/scott.h b/engines/glk/scott/scott.h
index 785ea98..ee8cb74 100644
--- a/engines/glk/scott/scott.h
+++ b/engines/glk/scott/scott.h
@@ -169,23 +169,23 @@ public:
 	/**
 	 * Returns the running interpreter type
 	 */
-	virtual InterpreterType getInterpreterType() const override { return INTERPRETER_SCOTT; }
+	InterpreterType getInterpreterType() const override { return INTERPRETER_SCOTT; }
 
 	/**
 	 * Execute the game
 	 */
-	virtual void runGame() override;
+	void runGame() override;
 
 	/**
 	 * Load a savegame from the passed Quetzal file chunk stream
 	 */
-	virtual Common::Error readSaveData(Common::SeekableReadStream *rs) override;
+	Common::Error readSaveData(Common::SeekableReadStream *rs) override;
 
 	/**
 	 * Save the game. The passed write stream represents access to the UMem chunk
 	 * in the Quetzal save file that will be created
 	 */
-	virtual Common::Error writeGameData(Common::WriteStream *ws) override;
+	Common::Error writeGameData(Common::WriteStream *ws) override;
 };
 
 } // End of namespace Scott
diff --git a/engines/glk/screen.h b/engines/glk/screen.h
index 031e58f..7d0b5c6 100644
--- a/engines/glk/screen.h
+++ b/engines/glk/screen.h
@@ -74,7 +74,7 @@ public:
 	/**
 	 * Destructor
 	 */
-	virtual ~Screen();
+	~Screen() override;
 
 	/**
 	 * Initialize the screen
diff --git a/engines/glk/streams.h b/engines/glk/streams.h
index e4cce4a..2f43369 100644
--- a/engines/glk/streams.h
+++ b/engines/glk/streams.h
@@ -299,7 +299,7 @@ public:
 	/**
 	 * Destructor
 	 */
-	virtual ~WindowStream();
+	~WindowStream() override;
 
 	/**
 	 * Close the stream
@@ -309,49 +309,49 @@ public:
 	/**
 	 * Write a character
 	 */
-	virtual void putChar(unsigned char ch) override;
+	void putChar(unsigned char ch) override;
 
 	/**
 	 * Write a unicode character
 	 */
-	virtual void putCharUni(uint32 ch) override;
+	void putCharUni(uint32 ch) override;
 
 	/**
 	 * Write a buffer
 	 */
-	virtual void putBuffer(const char *buf, size_t len) override;
+	void putBuffer(const char *buf, size_t len) override;
 
 	/**
 	 * Write a unicode character
 	 */
-	virtual void putBufferUni(const uint32 *buf, size_t len) override;
+	void putBufferUni(const uint32 *buf, size_t len) override;
 
 	/**
 	 * Remove a string from the end of the stream, if indeed it is at the end
 	 */
-	virtual void unputBuffer(const char *buf, size_t len) override;
+	void unputBuffer(const char *buf, size_t len) override;
 
 	/**
 	 * Remove a string from the end of the stream, if indeed it is at the end
 	 */
-	virtual void unputBufferUni(const uint32 *buf, size_t len) override;
+	void unputBufferUni(const uint32 *buf, size_t len) override;
 
-	virtual void setStyle(uint val) override;
+	void setStyle(uint val) override;
 
 	/**
 	 * Set a hyperlink
 	 */
-	virtual void setHyperlink(uint linkVal) override;
+	void setHyperlink(uint linkVal) override;
 
 	/**
 	 * Set the style colors
 	 */
-	virtual void setZColors(uint fg, uint bg) override;
+	void setZColors(uint fg, uint bg) override;
 
 	/**
 	 * Set the reverse video style
 	 */
-	virtual void setReverseVideo(bool reverse) override;
+	void setReverseVideo(bool reverse) override;
 };
 
 /**
@@ -374,61 +374,61 @@ public:
 	/**
 	 * Destructor
 	 */
-	virtual ~MemoryStream();
+	~MemoryStream() override;
 
 	/**
 	 * Write a character
 	 */
-	virtual void putChar(unsigned char ch) override;
+	void putChar(unsigned char ch) override;
 
 	/**
 	 * Write a unicode character
 	 */
-	virtual void putCharUni(uint32 ch) override;
+	void putCharUni(uint32 ch) override;
 
 	/**
 	 * Write a buffer
 	 */
-	virtual void putBuffer(const char *buf, size_t len) override;
+	void putBuffer(const char *buf, size_t len) override;
 
 	/**
 	 * Write a unicode character
 	 */
-	virtual void putBufferUni(const uint32 *buf, size_t len) override;
+	void putBufferUni(const uint32 *buf, size_t len) override;
 
-	virtual uint getPosition() const override;
+	uint getPosition() const override;
 
-	virtual void setPosition(int pos, uint seekMode) override;
+	void setPosition(int pos, uint seekMode) override;
 
 	/**
 	 * Get a character from the stream
 	 */
-	virtual int getChar() override;
+	int getChar() override;
 
 	/**
 	 * Get a unicode character from the stream
 	 */
-	virtual int getCharUni() override;
+	int getCharUni() override;
 
 	/**
 	 * Get a buffer
 	 */
-	virtual uint getBuffer(char *buf, uint len) override;
+	uint getBuffer(char *buf, uint len) override;
 
 	/**
 	 * Get a unicode buffer
 	 */
-	virtual uint getBufferUni(uint32 *buf, uint len) override;
+	uint getBufferUni(uint32 *buf, uint len) override;
 
 	/**
 	 * Get a line
 	 */
-	virtual uint getLine(char *buf, uint len) override;
+	uint getLine(char *buf, uint len) override;
 
 	/**
 	 * Get a unicode line
 	 */
-	virtual uint getLineUni(uint32 *ubuf, uint len) override;
+	uint getLineUni(uint32 *ubuf, uint len) override;
 };
 
 /**
@@ -492,66 +492,66 @@ public:
 	/**
 	 * Write a character
 	 */
-	virtual void putChar(unsigned char ch) override;
+	void putChar(unsigned char ch) override;
 
 	/**
 	 * Write a unicode character
 	 */
-	virtual void putCharUni(uint32 ch) override;
+	void putCharUni(uint32 ch) override;
 
 	/**
 	 * Write a buffer
 	 */
-	virtual void putBuffer(const char *buf, size_t len) override;
+	void putBuffer(const char *buf, size_t len) override;
 
 	/**
 	 * Write a unicode character
 	 */
-	virtual void putBufferUni(const uint32 *buf, size_t len) override;
+	void putBufferUni(const uint32 *buf, size_t len) override;
 
-	virtual uint getPosition() const override;
+	uint getPosition() const override;
 
-	virtual void setPosition(int pos, uint seekMode) override;
+	void setPosition(int pos, uint seekMode) override;
 
 	/**
 	 * Get a character from the stream
 	 */
-	virtual int getChar() override;
+	int getChar() override;
 
 	/**
 	 * Get a unicode character from the stream
 	 */
-	virtual int getCharUni() override;
+	int getCharUni() override;
 
 	/**
 	 * Get a buffer
 	 */
-	virtual uint getBuffer(char *buf, uint len) override;
+	uint getBuffer(char *buf, uint len) override;
 
 	/**
 	 * Get a unicode buffer
 	 */
-	virtual uint getBufferUni(uint32 *buf, uint len) override;
+	uint getBufferUni(uint32 *buf, uint len) override;
 
 	/**
 	 * Get a line
 	 */
-	virtual uint getLine(char *buf, uint len) override;
+	uint getLine(char *buf, uint len) override;
 
 	/**
 	 * Get a unicode line
 	 */
-	virtual uint getLineUni(uint32 *ubuf, uint len) override;
+	uint getLineUni(uint32 *ubuf, uint len) override;
 
 	/**
 	 * Cast a stream to a ScummVM write stream
 	 */
-	virtual operator Common::WriteStream *() const override { return _outStream; }
+	operator Common::WriteStream *() const override { return _outStream; }
 
 	/**
 	 * Cast a stream to a ScummVM read stream
 	 */
-	virtual operator Common::SeekableReadStream *() const override { return _inStream; }
+	operator Common::SeekableReadStream *() const override { return _inStream; }
 };
 
 /**
@@ -571,7 +571,7 @@ public:
 	/**
 	 * Destructor
 	 */
-	virtual ~FileStream();
+	~FileStream() override;
 };
 
 /**
diff --git a/engines/glk/tads/tads.h b/engines/glk/tads/tads.h
index f30cf9f..7f340db 100644
--- a/engines/glk/tads/tads.h
+++ b/engines/glk/tads/tads.h
@@ -46,23 +46,23 @@ public:
 	/**
 	 * Returns the running interpreter type
 	 */
-	virtual InterpreterType getInterpreterType() const override { return INTERPRETER_SCOTT; }
+	InterpreterType getInterpreterType() const override { return INTERPRETER_SCOTT; }
 
 	/**
 	  * Returns true whether a given feature is supported by the engine
 	  */
-	virtual bool hasFeature(EngineFeature f) const override;
+	bool hasFeature(EngineFeature f) const override;
 
 	/**
 	 * Load a savegame from the passed Quetzal file chunk stream
 	 */
-	virtual Common::Error readSaveData(Common::SeekableReadStream *rs) override;
+	Common::Error readSaveData(Common::SeekableReadStream *rs) override;
 
 	/**
 	 * Save the game. The passed write stream represents access to the UMem chunk
 	 * in the Quetzal save file that will be created
 	 */
-	virtual Common::Error writeGameData(Common::WriteStream *ws) override;
+	Common::Error writeGameData(Common::WriteStream *ws) override;
 };
 
 extern TADS *g_vm;
diff --git a/engines/glk/tads/tads2/tads2.h b/engines/glk/tads/tads2/tads2.h
index b92bfab..74df064 100644
--- a/engines/glk/tads/tads2/tads2.h
+++ b/engines/glk/tads/tads2/tads2.h
@@ -42,12 +42,12 @@ public:
 	/**
 	 * Execute the game
 	 */
-	virtual void runGame() override;
+	void runGame() override;
 
 	/**
 	 * Returns the running interpreter type
 	 */
-	virtual InterpreterType getInterpreterType() const override { return INTERPRETER_TADS2; }
+	InterpreterType getInterpreterType() const override { return INTERPRETER_TADS2; }
 };
 
 //typedef TADS2 appctxdef;
diff --git a/engines/glk/tads/tads3/tads3.h b/engines/glk/tads/tads3/tads3.h
index 45a3f09..c0368d9 100644
--- a/engines/glk/tads/tads3/tads3.h
+++ b/engines/glk/tads/tads3/tads3.h
@@ -42,12 +42,12 @@ public:
 	/**
 	 * Execute the game
 	 */
-	virtual void runGame() override;
+	void runGame() override;
 
 	/**
 	 * Returns the running interpreter type
 	 */
-	virtual InterpreterType getInterpreterType() const override { return INTERPRETER_TADS3; }
+	InterpreterType getInterpreterType() const override { return INTERPRETER_TADS3; }
 };
 
 } // End of namespace TADS3
diff --git a/engines/glk/window_graphics.h b/engines/glk/window_graphics.h
index 59b1ce4..6fdc74e 100644
--- a/engines/glk/window_graphics.h
+++ b/engines/glk/window_graphics.h
@@ -50,7 +50,7 @@ public:
 	/**
 	 * Destructor
 	 */
-	virtual ~GraphicsWindow();
+	~GraphicsWindow() override;
 
 	bool drawPicture(uint image, int xpos, int ypos, bool scale,
 	                   uint imagewidth, uint imageheight);
@@ -60,54 +60,54 @@ public:
 	/**
 	 * Rearranges the window
 	 */
-	virtual void rearrange(const Rect &box) override;
+	void rearrange(const Rect &box) override;
 
 	/**
 	 * Get window split size within parent pair window
 	 */
-	virtual uint getSplit(uint size, bool vertical) const override {
+	uint getSplit(uint size, bool vertical) const override {
 		return size;
 	}
 
 	/**
 	 * Click the window
 	 */
-	virtual void click(const Point &newPos) override;
+	void click(const Point &newPos) override;
 
 	/**
 	 * Cancel a mouse event
 	 */
-	virtual void cancelMouseEvent() override {
+	void cancelMouseEvent() override {
 		_mouseRequest = false;
 	}
 
 	/**
 	 * Cancel a hyperlink event
 	 */
-	virtual void cancelHyperlinkEvent() override {
+	void cancelHyperlinkEvent() override {
 		_hyperRequest = false;
 	}
 
-	virtual void requestMouseEvent() override {
+	void requestMouseEvent() override {
 		_mouseRequest = true;
 	}
 
-	virtual void requestHyperlinkEvent() override {
+	void requestHyperlinkEvent() override {
 		_hyperRequest = true;
 	}
 
 	/**
 	 * Redraw the window
 	 */
-	virtual void redraw() override;
+	void redraw() override;
 
-	virtual void eraseRect(bool whole, const Rect &box) override;
+	void eraseRect(bool whole, const Rect &box) override;
 
-	virtual void fillRect(uint color, const Rect &box) override;
+	void fillRect(uint color, const Rect &box) override;
 
-	virtual void getSize(uint *width, uint *height) const override;
+	void getSize(uint *width, uint *height) const override;
 
-	virtual void setBackgroundColor(uint color) override;
+	void setBackgroundColor(uint color) override;
 };
 
 } // End of namespace Glk
diff --git a/engines/glk/window_pair.h b/engines/glk/window_pair.h
index 10d9264..b021976 100644
--- a/engines/glk/window_pair.h
+++ b/engines/glk/window_pair.h
@@ -53,26 +53,26 @@ public:
 	/**
 	 * Destructor
 	 */
-	~PairWindow();
+	~PairWindow() override;
 
 	/**
 	 * Rearranges the window
 	 */
-	virtual void rearrange(const Rect &box) override;
+	void rearrange(const Rect &box) override;
 
 	/**
 	 * Redraw the window
 	 */
-	virtual void redraw() override;
+	void redraw() override;
 
-	virtual void getArrangement(uint *method, uint *size, Window **keyWin) override;
+	void getArrangement(uint *method, uint *size, Window **keyWin) override;
 
-	virtual void setArrangement(uint method, uint size, Window *keyWin) override;
+	void setArrangement(uint method, uint size, Window *keyWin) override;
 
 	/**
 	 * Click the window
 	 */
-	virtual void click(const Point &newPos) override;
+	void click(const Point &newPos) override;
 };
 
 } // End of namespace Glk
diff --git a/engines/glk/window_text_buffer.h b/engines/glk/window_text_buffer.h
index 2e1e2ff..c1260a5 100644
--- a/engines/glk/window_text_buffer.h
+++ b/engines/glk/window_text_buffer.h
@@ -146,7 +146,7 @@ public:
 	/**
 	 * Destructor
 	 */
-	virtual ~TextBufferWindow();
+	~TextBufferWindow() override;
 
 	int acceptScroll(uint arg);
 
@@ -155,93 +155,93 @@ public:
 	/**
 	 * Get the font info structure associated with the window
 	 */
-	virtual FontInfo *getFontInfo() override { return &_font; }
+	FontInfo *getFontInfo() override { return &_font; }
 
 	/**
 	 * Rearranges the window
 	 */
-	virtual void rearrange(const Rect &box) override;
+	void rearrange(const Rect &box) override;
 
 	/**
 	 * Get window split size within parent pair window
 	 */
-	virtual uint getSplit(uint size, bool vertical) const override;
+	uint getSplit(uint size, bool vertical) const override;
 
 	/**
 	 * Write a unicode character
 	 */
-	virtual void putCharUni(uint32 ch) override;
+	void putCharUni(uint32 ch) override;
 
 	/**
 	 * Unput a unicode character
 	 */
-	virtual bool unputCharUni(uint32 ch) override;
+	bool unputCharUni(uint32 ch) override;
 
 	/**
 	 * Clear the window
 	 */
-	virtual void clear() override;
+	void clear() override;
 
 	/**
 	 * Click the window
 	 */
-	virtual void click(const Point &newPos) override;
+	void click(const Point &newPos) override;
 
 	/**
 	 * Prepare for inputing a line
 	 */
-	virtual void requestLineEvent(char *buf, uint maxlen, uint initlen) override;
+	void requestLineEvent(char *buf, uint maxlen, uint initlen) override;
 
 	/**
 	 * Prepare for inputing a line
 	 */
-	virtual void requestLineEventUni(uint32 *buf, uint maxlen, uint initlen) override;
+	void requestLineEventUni(uint32 *buf, uint maxlen, uint initlen) override;
 
 	/**
 	 * Cancel an input line event
 	 */
-	virtual void cancelLineEvent(Event *ev) override;
+	void cancelLineEvent(Event *ev) override;
 
 	/**
 	 * Cancel a hyperlink event
 	 */
-	virtual void cancelHyperlinkEvent() override {
+	void cancelHyperlinkEvent() override {
 		_hyperRequest = false;
 	}
 
 	/**
 	 * Redraw the window
 	 */
-	virtual void redraw() override;
+	void redraw() override;
 
-	virtual void acceptReadLine(uint32 arg) override;
+	void acceptReadLine(uint32 arg) override;
 
-	virtual void acceptReadChar(uint arg) override;
+	void acceptReadChar(uint arg) override;
 
-	virtual void getSize(uint *width, uint *height) const override;
+	void getSize(uint *width, uint *height) const override;
 
-	virtual void requestCharEvent() override;
+	void requestCharEvent() override;
 
-	virtual void requestCharEventUni() override;
+	void requestCharEventUni() override;
 
-	virtual void setEchoLineEvent(uint val) override {
+	void setEchoLineEvent(uint val) override {
 		_echoLineInput = val != 0;
 	}
 
-	virtual void requestHyperlinkEvent() override {
+	void requestHyperlinkEvent() override {
 		_hyperRequest = true;
 	}
 
-	virtual void cancelCharEvent() override {
+	void cancelCharEvent() override {
 		_charRequest = _charRequestUni = false;
 	}
 
-	virtual void flowBreak() override;
+	void flowBreak() override;
 
 	/**
 	 * Returns a pointer to the styles for the window
 	 */
-	virtual const WindowStyle *getStyles() const override {
+	const WindowStyle *getStyles() const override {
 		return _styles;
 	}
 };
diff --git a/engines/glk/window_text_grid.h b/engines/glk/window_text_grid.h
index d875c2d..86be763 100644
--- a/engines/glk/window_text_grid.h
+++ b/engines/glk/window_text_grid.h
@@ -88,17 +88,17 @@ public:
 	/**
 	 * Destructor
 	 */
-	virtual ~TextGridWindow();
+	~TextGridWindow() override;
 
 	/**
 	 * Get the font info structure associated with the window
 	 */
-	virtual FontInfo *getFontInfo() override { return &_font; }
+	FontInfo *getFontInfo() override { return &_font; }
 
 	/**
 	 * Set the size of a window
 	 */
-	virtual void setSize(const Point &newSize) override {
+	void setSize(const Point &newSize) override {
 		Window::setSize(newSize);
 		_curX = CLIP((int16)_curX, _bbox.left, _bbox.right);
 		_curY = CLIP((int16)_curY, _bbox.top, _bbox.bottom);
@@ -107,7 +107,7 @@ public:
 	/**
 	 * Sets the position of a window
 	 */
-	virtual void setPosition(const Point &newPos) override {
+	void setPosition(const Point &newPos) override {
 		_bbox.moveTo(newPos);
 		_curX = CLIP((int16)_curX, _bbox.left, _bbox.right);
 		_curY = CLIP((int16)_curY, _bbox.top, _bbox.bottom);
@@ -116,103 +116,103 @@ public:
 	/**
 	 * Rearranges the window
 	 */
-	virtual void rearrange(const Rect &box) override;
+	void rearrange(const Rect &box) override;
 
 	/**
 	 * Get window split size within parent pair window
 	 */
-	virtual uint getSplit(uint size, bool vertical) const override;
+	uint getSplit(uint size, bool vertical) const override;
 
 	/**
 	 * Write a unicode character
 	 */
-	virtual void putCharUni(uint32 ch) override;
+	void putCharUni(uint32 ch) override;
 
 	/**
 	 * Unput a unicode character
 	 */
-	virtual bool unputCharUni(uint32 ch) override;
+	bool unputCharUni(uint32 ch) override;
 
 	/**
 	 * Get the cursor position
 	 */
-	virtual Point getCursor() const override { return Point(_curX, _curY); }
+	Point getCursor() const override { return Point(_curX, _curY); }
 
 	/**
 	 * Move the cursor
 	 */
-	virtual void moveCursor(const Point &newPos) override;
+	void moveCursor(const Point &newPos) override;
 
 	/**
 	 * Clear the window
 	 */
-	virtual void clear() override;
+	void clear() override;
 
 	/**
 	 * Click the window
 	 */
-	virtual void click(const Point &newPos) override;
+	void click(const Point &newPos) override;
 
 	/**
 	 * Cancel a hyperlink event
 	 */
-	virtual void cancelHyperlinkEvent() override {
+	void cancelHyperlinkEvent() override {
 		_hyperRequest = false;
 	}
 
 	/**
 	 * Redraw the window
 	 */
-	virtual void redraw() override;
+	void redraw() override;
 
-	virtual void acceptReadLine(uint32 arg) override;
+	void acceptReadLine(uint32 arg) override;
 
-	virtual void acceptReadChar(uint arg) override;
+	void acceptReadChar(uint arg) override;
 
-	virtual void getSize(uint *width, uint *height) const override;
+	void getSize(uint *width, uint *height) const override;
 
-	virtual void requestCharEvent() override;
+	void requestCharEvent() override;
 
-	virtual void requestCharEventUni() override;
+	void requestCharEventUni() override;
 
 	/**
 	 * Prepare for inputing a line
 	 */
-	virtual void requestLineEvent(char *buf, uint maxlen, uint initlen) override;
+	void requestLineEvent(char *buf, uint maxlen, uint initlen) override;
 
 	/**
 	 * Prepare for inputing a line
 	 */
-	virtual void requestLineEventUni(uint32 *buf, uint maxlen, uint initlen) override;
+	void requestLineEventUni(uint32 *buf, uint maxlen, uint initlen) override;
 
 	/**
 	 * Cancel an input line event
 	 */
-	virtual void cancelLineEvent(Event *ev) override;
+	void cancelLineEvent(Event *ev) override;
 
 	/**
 	 * Cancel a mouse event
 	 */
-	virtual void cancelMouseEvent() override {
+	void cancelMouseEvent() override {
 		_mouseRequest = false;
 	}
 
-	virtual void requestMouseEvent() override {
+	void requestMouseEvent() override {
 		_mouseRequest = true;
 	}
 
-	virtual void requestHyperlinkEvent() override {
+	void requestHyperlinkEvent() override {
 		_hyperRequest = true;
 	}
 
-	virtual void cancelCharEvent() override {
+	void cancelCharEvent() override {
 		_charRequest = _charRequestUni = false;
 	}
 
 	/**
 	 * Returns a pointer to the styles for the window
 	 */
-	virtual const WindowStyle *getStyles() const override {
+	const WindowStyle *getStyles() const override {
 		return _styles;
 	}
 };


Commit: f445fc66815cd42e6a694e8e810db330b1cb4161
    https://github.com/scummvm/scummvm/commit/f445fc66815cd42e6a694e8e810db330b1cb4161
Author: Bastien Bouclet (bastien.bouclet at gmail.com)
Date: 2020-02-09T12:43:15+01:00

Commit Message:
GNAP: Add override keywords

Changed paths:
    engines/gnap/character.h
    engines/gnap/debugger.h
    engines/gnap/detection.cpp
    engines/gnap/gnap.h
    engines/gnap/music.h
    engines/gnap/scenes/arcade.h
    engines/gnap/scenes/group0.h
    engines/gnap/scenes/group1.h
    engines/gnap/scenes/group2.h
    engines/gnap/scenes/group3.h
    engines/gnap/scenes/group4.h
    engines/gnap/scenes/group5.h
    engines/gnap/scenes/groupcs.h
    engines/gnap/scenes/intro.h
    engines/gnap/scenes/scenecore.h


diff --git a/engines/gnap/character.h b/engines/gnap/character.h
index 27e98be..7c5567e 100644
--- a/engines/gnap/character.h
+++ b/engines/gnap/character.h
@@ -80,13 +80,13 @@ protected:
 class PlayerGnap : public Character {
 public:
 	PlayerGnap(GnapEngine *vm);
-	virtual int getSequenceId(int kind, Common::Point gridPos);
-	virtual void initPos(int gridX, int gridY, Facing facing);
-	virtual void playSequence(int sequenceId);
-	virtual void updateIdleSequence();
-	virtual void updateIdleSequence2();
-	virtual int getWalkSequenceId(int deltaX, int deltaY);
-	virtual bool walkTo(Common::Point gridPos, int animationIndex, int sequenceId, int flags);
+	int getSequenceId(int kind, Common::Point gridPos) override;
+	void initPos(int gridX, int gridY, Facing facing) override;
+	void playSequence(int sequenceId) override;
+	void updateIdleSequence() override;
+	void updateIdleSequence2() override;
+	int getWalkSequenceId(int deltaX, int deltaY) override;
+	bool walkTo(Common::Point gridPos, int animationIndex, int sequenceId, int flags) override;
 
 	void actionIdle(int sequenceId);
 	bool doPlatypusAction(int gridX, int gridY, int platSequenceId, int callback);
@@ -124,14 +124,14 @@ private:
 class PlayerPlat : public Character {
 public:
 	PlayerPlat(GnapEngine *vm);
-	virtual ~PlayerPlat() {}
-	virtual int getSequenceId(int kind = 0, Common::Point gridPos = Common::Point(0, 0));
-	virtual void initPos(int gridX, int gridY, Facing facing);
-	virtual void playSequence(int sequenceId);
-	virtual void updateIdleSequence();
-	virtual void updateIdleSequence2();
-	virtual int getWalkSequenceId(int deltaX, int deltaY);
-	virtual bool walkTo(Common::Point gridPos, int animationIndex, int sequenceId, int flags);
+	~PlayerPlat() override {}
+	int getSequenceId(int kind = 0, Common::Point gridPos = Common::Point(0, 0)) override;
+	void initPos(int gridX, int gridY, Facing facing) override;
+	void playSequence(int sequenceId) override;
+	void updateIdleSequence() override;
+	void updateIdleSequence2() override;
+	int getWalkSequenceId(int deltaX, int deltaY) override;
+	bool walkTo(Common::Point gridPos, int animationIndex, int sequenceId, int flags) override;
 
 	void makeRoom();
 
diff --git a/engines/gnap/debugger.h b/engines/gnap/debugger.h
index b476fc4..af8c084 100644
--- a/engines/gnap/debugger.h
+++ b/engines/gnap/debugger.h
@@ -44,7 +44,7 @@ protected:
 
 public:
 	Debugger();
-	virtual ~Debugger() {}
+	~Debugger() override {}
 };
 
 } // End of namespace Gnap
diff --git a/engines/gnap/detection.cpp b/engines/gnap/detection.cpp
index d07c3a4..b5036a7 100644
--- a/engines/gnap/detection.cpp
+++ b/engines/gnap/detection.cpp
@@ -81,24 +81,24 @@ public:
 		_maxScanDepth = 3;
 	}
 
-	virtual const char *getEngineId() const override {
+	const char *getEngineId() const override {
 		return "gnap";
 	}
 
-	virtual const char *getName() const override {
+	const char *getName() const override {
 		return "Gnap";
 	}
 
-	virtual const char *getOriginalCopyright() const override {
+	const char *getOriginalCopyright() const override {
 		return "Gnap (C) Artech Digital Entertainment 1997";
 	}
 
-	virtual bool hasFeature(MetaEngineFeature f) const override;
-	virtual bool 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;
+	bool 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;
 };
 
 bool GnapMetaEngine::hasFeature(MetaEngineFeature f) const {
diff --git a/engines/gnap/gnap.h b/engines/gnap/gnap.h
index 7566c85..17ba7f0 100644
--- a/engines/gnap/gnap.h
+++ b/engines/gnap/gnap.h
@@ -223,10 +223,10 @@ struct GnapSavegameHeader {
 class GnapEngine : public Engine {
 protected:
 	Common::Error run() override;
-	virtual bool hasFeature(EngineFeature f) const override;
+	bool hasFeature(EngineFeature f) const override;
 public:
 	GnapEngine(OSystem *syst, const ADGameDescription *gd);
-	~GnapEngine();
+	~GnapEngine() override;
 private:
 	const ADGameDescription *_gameDescription;
 	Graphics::PixelFormat _pixelFormat;
diff --git a/engines/gnap/music.h b/engines/gnap/music.h
index c593893..0709787 100644
--- a/engines/gnap/music.h
+++ b/engines/gnap/music.h
@@ -36,10 +36,10 @@ public:
 	MusicPlayer(const char *filename);
 
 	void playSMF(bool loop);
-	void stop();
+	void stop() override;
 
 	// Overload Audio::MidiPlayer method
-	virtual void sendToChannel(byte channel, uint32 b);
+	void sendToChannel(byte channel, uint32 b) override;
 
 protected:
 	Common::String _filename;
diff --git a/engines/gnap/scenes/arcade.h b/engines/gnap/scenes/arcade.h
index 9c8ddd9..d6a8f01 100644
--- a/engines/gnap/scenes/arcade.h
+++ b/engines/gnap/scenes/arcade.h
@@ -49,13 +49,13 @@ struct ObstacleDef {
 class Scene49: public Scene {
 public:
 	Scene49(GnapEngine *vm);
-	~Scene49() {}
+	~Scene49() override {}
 
-	virtual int init();
-	virtual void updateHotspots();
-	virtual void run();
-	virtual void updateAnimations();
-	virtual void updateAnimationsCb() {};
+	int init() override;
+	void updateHotspots() override;
+	void run() override;
+	void updateAnimations() override;
+	void updateAnimationsCb() override {};
 
 private:
 	int _scoreBarPos;
@@ -80,13 +80,13 @@ private:
 class Scene50: public Scene {
 public:
 	Scene50(GnapEngine *vm);
-	~Scene50() {}
+	~Scene50() override {}
 
-	virtual int init();
-	virtual void updateHotspots();
-	virtual void run();
-	virtual void updateAnimations();
-	virtual void updateAnimationsCb() {};
+	int init() override;
+	void updateHotspots() override;
+	void run() override;
+	void updateAnimations() override;
+	void updateAnimationsCb() override {};
 
 private:
 	bool _fightDone;
@@ -146,13 +146,13 @@ struct Scene51Item {
 class Scene51: public Scene {
 public:
 	Scene51(GnapEngine *vm);
-	~Scene51() {}
+	~Scene51() override {}
 
-	virtual int init();
-	virtual void updateHotspots();
-	virtual void run();
-	virtual void updateAnimations() {};
-	virtual void updateAnimationsCb() {};
+	int init() override;
+	void updateHotspots() override;
+	void run() override;
+	void updateAnimations() override {};
+	void updateAnimationsCb() override {};
 
 private:
 	bool _dropLoseCash;
@@ -204,13 +204,13 @@ private:
 class Scene52: public Scene {
 public:
 	Scene52(GnapEngine *vm);
-	~Scene52() {}
+	~Scene52() override {}
 
-	virtual int init();
-	virtual void updateHotspots();
-	virtual void run();
-	virtual void updateAnimations() {};
-	virtual void updateAnimationsCb() {};
+	int init() override;
+	void updateHotspots() override;
+	void run() override;
+	void updateAnimations() override {};
+	void updateAnimationsCb() override {};
 
 private:
 	int _liveAlienRows;
diff --git a/engines/gnap/scenes/group0.h b/engines/gnap/scenes/group0.h
index 2fbcb59..7da7cdf 100644
--- a/engines/gnap/scenes/group0.h
+++ b/engines/gnap/scenes/group0.h
@@ -251,13 +251,13 @@ class CutScene;
 class Scene01: public Scene {
 public:
 	Scene01(GnapEngine *vm);
-	virtual ~Scene01();
+	~Scene01() override;
 
-	virtual int init();
-	virtual void updateHotspots();
-	virtual void run();
-	virtual void updateAnimations();
-	virtual void updateAnimationsCb() {}
+	int init() override;
+	void updateHotspots() override;
+	void run() override;
+	void updateAnimations() override;
+	void updateAnimationsCb() override {}
 
 private:
 	int _pigsIdCtr;
@@ -268,13 +268,13 @@ private:
 class Scene02: public Scene {
 public:
 	Scene02(GnapEngine *vm);
-	virtual ~Scene02() {}
+	~Scene02() override {}
 
-	virtual int init();
-	virtual void updateHotspots();
-	virtual void run();
-	virtual void updateAnimations();
-	virtual void updateAnimationsCb() {}
+	int init() override;
+	void updateHotspots() override;
+	void run() override;
+	void updateAnimations() override;
+	void updateAnimationsCb() override {}
 
 private:
 	int _truckGrillCtr;
@@ -286,13 +286,13 @@ private:
 class Scene03: public Scene {
 public:
 	Scene03(GnapEngine *vm);
-	virtual ~Scene03() {}
+	~Scene03() override {}
 
-	virtual int init();
-	virtual void updateHotspots();
-	virtual void run();
-	virtual void updateAnimations();
-	virtual void updateAnimationsCb() {}
+	int init() override;
+	void updateHotspots() override;
+	void run() override;
+	void updateAnimations() override;
+	void updateAnimationsCb() override {}
 
 private:
 	bool _platypusHypnotized;
@@ -305,13 +305,13 @@ private:
 class Scene04: public Scene {
 public:
 	Scene04(GnapEngine *vm);
-	virtual ~Scene04() {}
+	~Scene04() override {}
 
-	virtual int init();
-	virtual void updateHotspots();
-	virtual void run();
-	virtual void updateAnimations();
-	virtual void updateAnimationsCb() {}
+	int init() override;
+	void updateHotspots() override;
+	void run() override;
+	void updateAnimations() override;
+	void updateAnimationsCb() override {}
 
 private:
 	bool _triedWindow;
@@ -323,13 +323,13 @@ private:
 class Scene05: public Scene {
 public:
 	Scene05(GnapEngine *vm);
-	virtual ~Scene05() {}
+	~Scene05() override {}
 
-	virtual int init();
-	virtual void updateHotspots();
-	virtual void run();
-	virtual void updateAnimations();
-	virtual void updateAnimationsCb() {}
+	int init() override;
+	void updateHotspots() override;
+	void run() override;
+	void updateAnimations() override;
+	void updateAnimationsCb() override {}
 
 private:
 	int _nextChickenSequenceId;
@@ -339,13 +339,13 @@ private:
 class Scene06: public Scene {
 public:
 	Scene06(GnapEngine *vm);
-	virtual ~Scene06() {}
+	~Scene06() override {}
 
-	virtual int init();
-	virtual void updateHotspots();
-	virtual void run();
-	virtual void updateAnimations();
-	virtual void updateAnimationsCb() {}
+	int init() override;
+	void updateHotspots() override;
+	void run() override;
+	void updateAnimations() override;
+	void updateAnimationsCb() override {}
 
 private:
 	bool _horseTurnedBack;
@@ -357,25 +357,25 @@ private:
 class Scene07: public Scene {
 public:
 	Scene07(GnapEngine *vm);
-	virtual ~Scene07() {}
+	~Scene07() override {}
 
-	virtual int init();
-	virtual void updateHotspots();
-	virtual void run();
-	virtual void updateAnimations();
-	virtual void updateAnimationsCb() {}
+	int init() override;
+	void updateHotspots() override;
+	void run() override;
+	void updateAnimations() override;
+	void updateAnimationsCb() override {}
 };
 
 class Scene08: public Scene {
 public:
 	Scene08(GnapEngine *vm);
-	virtual ~Scene08() {}
+	~Scene08() override {}
 
-	virtual int init();
-	virtual void updateHotspots();
-	virtual void run();
-	virtual void updateAnimations();
-	virtual void updateAnimationsCb();
+	int init() override;
+	void updateHotspots() override;
+	void run() override;
+	void updateAnimations() override;
+	void updateAnimationsCb() override;
 
 private:
 	int _nextDogSequenceId;
@@ -387,13 +387,13 @@ private:
 class Scene09: public Scene {
 public:
 	Scene09(GnapEngine *vm);
-	virtual ~Scene09() {}
+	~Scene09() override {}
 
-	virtual int init();
-	virtual void updateHotspots();
-	virtual void run();
-	virtual void updateAnimations();
-	virtual void updateAnimationsCb() {}
+	int init() override;
+	void updateHotspots() override;
+	void run() override;
+	void updateAnimations() override;
+	void updateAnimationsCb() override {}
 };
 
 } // End of namespace Gnap
diff --git a/engines/gnap/scenes/group1.h b/engines/gnap/scenes/group1.h
index 7fe5520..c2c582e 100644
--- a/engines/gnap/scenes/group1.h
+++ b/engines/gnap/scenes/group1.h
@@ -273,13 +273,13 @@ class CutScene;
 class Scene10: public Scene {
 public:
 	Scene10(GnapEngine *vm);
-	virtual ~Scene10() {}
+	~Scene10() override {}
 
-	virtual int init();
-	virtual void updateHotspots();
-	virtual void run();
-	virtual void updateAnimations();
-	virtual void updateAnimationsCb();
+	int init() override;
+	void updateHotspots() override;
+	void run() override;
+	void updateAnimations() override;
+	void updateAnimationsCb() override;
 
 private:
 	int _nextCookSequenceId;
@@ -289,13 +289,13 @@ private:
 class Scene11: public Scene {
 public:
 	Scene11(GnapEngine *vm);
-	virtual ~Scene11() {}
+	~Scene11() override {}
 
-	virtual int init();
-	virtual void updateHotspots();
-	virtual void run();
-	virtual void updateAnimations();
-	virtual void updateAnimationsCb() {};
+	int init() override;
+	void updateHotspots() override;
+	void run() override;
+	void updateAnimations() override;
+	void updateAnimationsCb() override {};
 
 private:
 	int _billardBallCtr;
@@ -308,13 +308,13 @@ private:
 class Scene12: public Scene {
 public:
 	Scene12(GnapEngine *vm);
-	virtual ~Scene12() {}
+	~Scene12() override {}
 
-	virtual int init();
-	virtual void updateHotspots();
-	virtual void run();
-	virtual void updateAnimations();
-	virtual void updateAnimationsCb() {};
+	int init() override;
+	void updateHotspots() override;
+	void run() override;
+	void updateAnimations() override;
+	void updateAnimationsCb() override {};
 
 private:
 	int _nextBeardGuySequenceId;
@@ -328,13 +328,13 @@ private:
 class Scene13: public Scene {
 public:
 	Scene13(GnapEngine *vm);
-	virtual ~Scene13() {}
+	~Scene13() override {}
 
-	virtual int init();
-	virtual void updateHotspots();
-	virtual void run();
-	virtual void updateAnimations();
-	virtual void updateAnimationsCb() {};
+	int init() override;
+	void updateHotspots() override;
+	void run() override;
+	void updateAnimations() override;
+	void updateAnimationsCb() override {};
 
 private:
 	int _backToiletCtr;
@@ -345,25 +345,25 @@ private:
 class Scene14: public Scene {
 public:
 	Scene14(GnapEngine *vm);
-	virtual ~Scene14() {}
+	~Scene14() override {}
 
-	virtual int init();
-	virtual void updateHotspots();
-	virtual void run();
-	virtual void updateAnimations();
-	virtual void updateAnimationsCb() {};
+	int init() override;
+	void updateHotspots() override;
+	void run() override;
+	void updateAnimations() override;
+	void updateAnimationsCb() override {};
 };
 
 class Scene15: public Scene {
 public:
 	Scene15(GnapEngine *vm);
-	virtual ~Scene15() {}
+	~Scene15() override {}
 
-	virtual int init();
-	virtual void updateHotspots();
-	virtual void run();
-	virtual void updateAnimations();
-	virtual void updateAnimationsCb() {};
+	int init() override;
+	void updateHotspots() override;
+	void run() override;
+	void updateAnimations() override;
+	void updateAnimationsCb() override {};
 
 private:
 	int _nextRecordSequenceId;
@@ -379,13 +379,13 @@ private:
 class Scene17: public Scene {
 public:
 	Scene17(GnapEngine *vm);
-	virtual ~Scene17() {}
+	~Scene17() override {}
 
-	virtual int init();
-	virtual void updateHotspots();
-	virtual void run();
-	virtual void updateAnimations();
-	virtual void updateAnimationsCb() {};
+	int init() override;
+	void updateHotspots() override;
+	void run() override;
+	void updateAnimations() override;
+	void updateAnimationsCb() override {};
 
 private:
 	bool _canTryGetWrench;
@@ -406,13 +406,13 @@ private:
 class Scene18: public Scene {
 public:
 	Scene18(GnapEngine *vm);
-	virtual ~Scene18();
+	~Scene18() override;
 
-	virtual int init();
-	virtual void updateHotspots();
-	virtual void run();
-	virtual void updateAnimations();
-	virtual void updateAnimationsCb() {};
+	int init() override;
+	void updateHotspots() override;
+	void run() override;
+	void updateAnimations() override;
+	void updateAnimationsCb() override {};
 
 private:
 	Graphics::Surface *_cowboyHatSurface;
@@ -432,13 +432,13 @@ private:
 class Scene19: public Scene {
 public:
 	Scene19(GnapEngine *vm);
-	virtual ~Scene19();
+	~Scene19() override;
 
-	virtual int init();
-	virtual void updateHotspots();
-	virtual void run();
-	virtual void updateAnimations();
-	virtual void updateAnimationsCb() {};
+	int init() override;
+	void updateHotspots() override;
+	void run() override;
+	void updateAnimations() override;
+	void updateAnimationsCb() override {};
 
 private:
 	int _currShopAssistantSequenceId;
diff --git a/engines/gnap/scenes/group2.h b/engines/gnap/scenes/group2.h
index 35da362..f441016 100644
--- a/engines/gnap/scenes/group2.h
+++ b/engines/gnap/scenes/group2.h
@@ -229,13 +229,13 @@ class CutScene;
 class Scene20: public Scene {
 public:
 	Scene20(GnapEngine *vm);
-	virtual ~Scene20() {}
+	~Scene20() override {}
 
-	virtual int init();
-	virtual void updateHotspots();
-	virtual void run();
-	virtual void updateAnimations();
-	virtual void updateAnimationsCb();
+	int init() override;
+	void updateHotspots() override;
+	void run() override;
+	void updateAnimations() override;
+	void updateAnimationsCb() override;
 
 private:
 	int _currStonerGuySequenceId;
@@ -252,13 +252,13 @@ private:
 class Scene21: public Scene {
 public:
 	Scene21(GnapEngine *vm);
-	virtual ~Scene21() {}
+	~Scene21() override {}
 
-	virtual int init();
-	virtual void updateHotspots();
-	virtual void run();
-	virtual void updateAnimations();
-	virtual void updateAnimationsCb() {};
+	int init() override;
+	void updateHotspots() override;
+	void run() override;
+	void updateAnimations() override;
+	void updateAnimationsCb() override {};
 
 private:
 	int _currOldLadySequenceId;
@@ -268,13 +268,13 @@ private:
 class Scene22: public Scene {
 public:
 	Scene22(GnapEngine *vm);
-	virtual ~Scene22() {}
+	~Scene22() override {}
 
-	virtual int init();
-	virtual void updateHotspots();
-	virtual void run();
-	virtual void updateAnimations();
-	virtual void updateAnimationsCb() {};
+	int init() override;
+	void updateHotspots() override;
+	void run() override;
+	void updateAnimations() override;
+	void updateAnimationsCb() override {};
 
 private:
 	int _currCashierSequenceId;
@@ -286,13 +286,13 @@ private:
 class Scene23: public Scene {
 public:
 	Scene23(GnapEngine *vm);
-	virtual ~Scene23() {}
+	~Scene23() override {}
 
-	virtual int init();
-	virtual void updateHotspots();
-	virtual void run();
-	virtual void updateAnimations();
-	virtual void updateAnimationsCb() {};
+	int init() override;
+	void updateHotspots() override;
+	void run() override;
+	void updateAnimations() override;
+	void updateAnimationsCb() override {};
 
 private:
 	int _currStoreClerkSequenceId;
@@ -302,13 +302,13 @@ private:
 class Scene24: public Scene {
 public:
 	Scene24(GnapEngine *vm);
-	virtual ~Scene24() {}
+	~Scene24() override {}
 
-	virtual int init();
-	virtual void updateHotspots();
-	virtual void run();
-	virtual void updateAnimations();
-	virtual void updateAnimationsCb() {};
+	int init() override;
+	void updateHotspots() override;
+	void run() override;
+	void updateAnimations() override;
+	void updateAnimationsCb() override {};
 
 private:
 	int _currWomanSequenceId;
@@ -320,13 +320,13 @@ private:
 class Scene25: public Scene {
 public:
 	Scene25(GnapEngine *vm);
-	virtual ~Scene25() {}
+	~Scene25() override {}
 
-	virtual int init();
-	virtual void updateHotspots();
-	virtual void run();
-	virtual void updateAnimations();
-	virtual void updateAnimationsCb() {};
+	int init() override;
+	void updateHotspots() override;
+	void run() override;
+	void updateAnimations() override;
+	void updateAnimationsCb() override {};
 
 private:
 	int _currTicketVendorSequenceId;
@@ -338,13 +338,13 @@ private:
 class Scene26: public Scene {
 public:
 	Scene26(GnapEngine *vm);
-	virtual ~Scene26() {}
+	~Scene26() override {}
 
-	virtual int init();
-	virtual void updateHotspots();
-	virtual void run();
-	virtual void updateAnimations();
-	virtual void updateAnimationsCb() {};
+	int init() override;
+	void updateHotspots() override;
+	void run() override;
+	void updateAnimations() override;
+	void updateAnimationsCb() override {};
 
 private:
 	int _currKidSequenceId;
@@ -354,13 +354,13 @@ private:
 class Scene27: public Scene {
 public:
 	Scene27(GnapEngine *vm);
-	virtual ~Scene27() {}
+	~Scene27() override {}
 
-	virtual int init();
-	virtual void updateHotspots();
-	virtual void run();
-	virtual void updateAnimations();
-	virtual void updateAnimationsCb() {};
+	int init() override;
+	void updateHotspots() override;
+	void run() override;
+	void updateAnimations() override;
+	void updateAnimationsCb() override {};
 
 private:
 	int _nextJanitorSequenceId;
@@ -370,13 +370,13 @@ private:
 class Scene28: public Scene {
 public:
 	Scene28(GnapEngine *vm);
-	virtual ~Scene28() {}
+	~Scene28() override {}
 
-	virtual int init();
-	virtual void updateHotspots();
-	virtual void run();
-	virtual void updateAnimations();
-	virtual void updateAnimationsCb() {};
+	int init() override;
+	void updateHotspots() override;
+	void run() override;
+	void updateAnimations() override;
+	void updateAnimationsCb() override {};
 
 private:
 	int _currClownSequenceId;
@@ -387,13 +387,13 @@ private:
 class Scene29: public Scene {
 public:
 	Scene29(GnapEngine *vm);
-	virtual ~Scene29() {}
+	~Scene29() override {}
 
-	virtual int init();
-	virtual void updateHotspots();
-	virtual void run();
-	virtual void updateAnimations();
-	virtual void updateAnimationsCb() {};
+	int init() override;
+	void updateHotspots() override;
+	void run() override;
+	void updateAnimations() override;
+	void updateAnimationsCb() override {};
 
 private:
 	int _currMonkeySequenceId;
diff --git a/engines/gnap/scenes/group3.h b/engines/gnap/scenes/group3.h
index e07d7a2..df06a17 100644
--- a/engines/gnap/scenes/group3.h
+++ b/engines/gnap/scenes/group3.h
@@ -148,13 +148,13 @@ class CutScene;
 class Scene30: public Scene {
 public:
 	Scene30(GnapEngine *vm);
-	virtual ~Scene30() {}
+	~Scene30() override {}
 
-	virtual int init();
-	virtual void updateHotspots();
-	virtual void run();
-	virtual void updateAnimations();
-	virtual void updateAnimationsCb() {};
+	int init() override;
+	void updateHotspots() override;
+	void run() override;
+	void updateAnimations() override;
+	void updateAnimationsCb() override {};
 
 private:
 	int _kidSequenceId;
@@ -163,13 +163,13 @@ private:
 class Scene31: public Scene {
 public:
 	Scene31(GnapEngine *vm);
-	virtual ~Scene31() {}
+	~Scene31() override {}
 
-	virtual int init();
-	virtual void updateHotspots();
-	virtual void run();
-	virtual void updateAnimations();
-	virtual void updateAnimationsCb() {};
+	int init() override;
+	void updateHotspots() override;
+	void run() override;
+	void updateAnimations() override;
+	void updateAnimationsCb() override {};
 
 private:
 	bool _beerGuyDistracted;
@@ -182,25 +182,25 @@ private:
 class Scene32: public Scene {
 public:
 	Scene32(GnapEngine *vm);
-	virtual ~Scene32() {}
+	~Scene32() override {}
 
-	virtual int init();
-	virtual void updateHotspots();
-	virtual void run();
-	virtual void updateAnimations();
-	virtual void updateAnimationsCb() {};
+	int init() override;
+	void updateHotspots() override;
+	void run() override;
+	void updateAnimations() override;
+	void updateAnimationsCb() override {};
 };
 
 class Scene33: public Scene {
 public:
 	Scene33(GnapEngine *vm);
-	virtual ~Scene33() {}
+	~Scene33() override {}
 
-	virtual int init();
-	virtual void updateHotspots();
-	virtual void run();
-	virtual void updateAnimations();
-	virtual void updateAnimationsCb() {};
+	int init() override;
+	void updateHotspots() override;
+	void run() override;
+	void updateAnimations() override;
+	void updateAnimationsCb() override {};
 
 private:
 	int _currChickenSequenceId;
@@ -210,25 +210,25 @@ private:
 class Scene38: public Scene {
 public:
 	Scene38(GnapEngine *vm);
-	virtual ~Scene38() {}
+	~Scene38() override {}
 
-	virtual int init();
-	virtual void updateHotspots();
-	virtual void run();
-	virtual void updateAnimations();
-	virtual void updateAnimationsCb() {};
+	int init() override;
+	void updateHotspots() override;
+	void run() override;
+	void updateAnimations() override;
+	void updateAnimationsCb() override {};
 };
 
 class Scene39: public Scene {
 public:
 	Scene39(GnapEngine *vm);
-	virtual ~Scene39() {}
+	~Scene39() override {}
 
-	virtual int init();
-	virtual void updateHotspots();
-	virtual void run();
-	virtual void updateAnimations();
-	virtual void updateAnimationsCb() {};
+	int init() override;
+	void updateHotspots() override;
+	void run() override;
+	void updateAnimations() override;
+	void updateAnimationsCb() override {};
 
 private:
 	int _currGuySequenceId;
diff --git a/engines/gnap/scenes/group4.h b/engines/gnap/scenes/group4.h
index 70efbaa..75954a8 100644
--- a/engines/gnap/scenes/group4.h
+++ b/engines/gnap/scenes/group4.h
@@ -183,25 +183,25 @@ class CutScene;
 class Scene40: public Scene {
 public:
 	Scene40(GnapEngine *vm);
-	virtual ~Scene40() {}
+	~Scene40() override {}
 
-	virtual int init();
-	virtual void updateHotspots();
-	virtual void run();
-	virtual void updateAnimations();
-	virtual void updateAnimationsCb() {};
+	int init() override;
+	void updateHotspots() override;
+	void run() override;
+	void updateAnimations() override;
+	void updateAnimationsCb() override {};
 };
 
 class Scene41: public Scene {
 public:
 	Scene41(GnapEngine *vm);
-	virtual ~Scene41() {}
+	~Scene41() override {}
 
-	virtual int init();
-	virtual void updateHotspots();
-	virtual void run();
-	virtual void updateAnimations();
-	virtual void updateAnimationsCb() {};
+	int init() override;
+	void updateHotspots() override;
+	void run() override;
+	void updateAnimations() override;
+	void updateAnimationsCb() override {};
 
 private:
 	int _currKidSequenceId;
@@ -213,13 +213,13 @@ private:
 class Scene42: public Scene {
 public:
 	Scene42(GnapEngine *vm);
-	virtual ~Scene42() {}
+	~Scene42() override {}
 
-	virtual int init();
-	virtual void updateHotspots();
-	virtual void run();
-	virtual void updateAnimations();
-	virtual void updateAnimationsCb() {};
+	int init() override;
+	void updateHotspots() override;
+	void run() override;
+	void updateAnimations() override;
+	void updateAnimationsCb() override {};
 
 private:
 	int _currBBQVendorSequenceId;
@@ -229,13 +229,13 @@ private:
 class Scene43: public Scene {
 public:
 	Scene43(GnapEngine *vm);
-	virtual ~Scene43() {}
+	~Scene43() override {}
 
-	virtual int init();
-	virtual void updateHotspots();
-	virtual void run();
-	virtual void updateAnimations();
-	virtual void updateAnimationsCb() {};
+	int init() override;
+	void updateHotspots() override;
+	void run() override;
+	void updateAnimations() override;
+	void updateAnimationsCb() override {};
 
 private:
 	int _currTwoHeadedGuySequenceId;
@@ -245,13 +245,13 @@ private:
 class Scene44: public Scene {
 public:
 	Scene44(GnapEngine *vm);
-	virtual ~Scene44() {}
+	~Scene44() override {}
 
-	virtual int init();
-	virtual void updateHotspots();
-	virtual void run();
-	virtual void updateAnimations();
-	virtual void updateAnimationsCb() {};
+	int init() override;
+	void updateHotspots() override;
+	void run() override;
+	void updateAnimations() override;
+	void updateAnimationsCb() override {};
 
 private:
 	int _nextSpringGuySequenceId;
@@ -263,13 +263,13 @@ private:
 class Scene45: public Scene {
 public:
 	Scene45(GnapEngine *vm);
-	virtual ~Scene45() {}
+	~Scene45() override {}
 
-	virtual int init();
-	virtual void updateHotspots();
-	virtual void run();
-	virtual void updateAnimations();
-	virtual void updateAnimationsCb() {};
+	int init() override;
+	void updateHotspots() override;
+	void run() override;
+	void updateAnimations() override;
+	void updateAnimationsCb() override {};
 
 private:
 	int _currDancerSequenceId;
@@ -278,13 +278,13 @@ private:
 class Scene46: public Scene {
 public:
 	Scene46(GnapEngine *vm);
-	virtual ~Scene46() {}
+	~Scene46() override {}
 
-	virtual int init();
-	virtual void updateHotspots();
-	virtual void run();
-	virtual void updateAnimations();
-	virtual void updateAnimationsCb() {};
+	int init() override;
+	void updateHotspots() override;
+	void run() override;
+	void updateAnimations() override;
+	void updateAnimationsCb() override {};
 
 private:
 	int _currSackGuySequenceId;
diff --git a/engines/gnap/scenes/group5.h b/engines/gnap/scenes/group5.h
index 0b36d71..a59e489 100644
--- a/engines/gnap/scenes/group5.h
+++ b/engines/gnap/scenes/group5.h
@@ -53,13 +53,13 @@ class GnapEngine;
 class Scene53: public Scene {
 public:
 	Scene53(GnapEngine *vm);
-	virtual ~Scene53() {}
+	~Scene53() override {}
 
-	virtual int init();
-	virtual void updateHotspots();
-	virtual void run();
-	virtual void updateAnimations() {};
-	virtual void updateAnimationsCb() {};
+	int init() override;
+	void updateHotspots() override;
+	void run() override;
+	void updateAnimations() override {};
+	void updateAnimationsCb() override {};
 
 private:
 	bool _isGnapPhoning;
diff --git a/engines/gnap/scenes/groupcs.h b/engines/gnap/scenes/groupcs.h
index 4bffbcc..e6d54f6 100644
--- a/engines/gnap/scenes/groupcs.h
+++ b/engines/gnap/scenes/groupcs.h
@@ -33,89 +33,89 @@ class CutScene;
 class Scene16: public CutScene {
 public:
 	Scene16(GnapEngine *vm);
-	virtual ~Scene16() {}
+	~Scene16() override {}
 
-	virtual int init();
+	int init() override;
 };
 
 class Scene471: public CutScene {
 public:
 	Scene471(GnapEngine *vm);
-	virtual ~Scene471() {}
+	~Scene471() override {}
 
-	virtual int init();
+	int init() override;
 };
 
 class Scene472: public CutScene {
 public:
 	Scene472(GnapEngine *vm);
-	virtual ~Scene472() {}
+	~Scene472() override {}
 
-	virtual int init();
+	int init() override;
 };
 
 class Scene473: public CutScene {
 public:
 	Scene473(GnapEngine *vm);
-	virtual ~Scene473() {}
+	~Scene473() override {}
 
-	virtual int init();
+	int init() override;
 };
 
 class Scene474: public CutScene {
 public:
 	Scene474(GnapEngine *vm);
-	virtual ~Scene474() {}
+	~Scene474() override {}
 
-	virtual int init();
+	int init() override;
 };
 
 class Scene475: public CutScene {
 public:
 	Scene475(GnapEngine *vm);
-	virtual ~Scene475() {}
+	~Scene475() override {}
 
-	virtual int init();
+	int init() override;
 };
 
 class Scene476: public CutScene {
 public:
 	Scene476(GnapEngine *vm);
-	virtual ~Scene476() {}
+	~Scene476() override {}
 
-	virtual int init();
+	int init() override;
 };
 
 class Scene477: public CutScene {
 public:
 	Scene477(GnapEngine *vm);
-	virtual ~Scene477() {}
+	~Scene477() override {}
 
-	virtual int init();
+	int init() override;
 };
 
 class Scene48: public CutScene {
 public:
 	Scene48(GnapEngine *vm);
-	virtual ~Scene48() {}
+	~Scene48() override {}
 
-	virtual int init();
+	int init() override;
 };
 
 class Scene541: public CutScene {
 public:
 	Scene541(GnapEngine *vm);
-	virtual ~Scene541() {}
+	~Scene541() override {}
 
-	virtual int init();
+	int init() override;
 };
 
 class Scene542: public CutScene {
 public:
 	Scene542(GnapEngine *vm);
-	virtual ~Scene542() {}
+	~Scene542() override {}
 
-	virtual int init();
+	int init() override;
 };
 } // End of namespace Gnap
 
diff --git a/engines/gnap/scenes/intro.h b/engines/gnap/scenes/intro.h
index af917fd..9117c40 100644
--- a/engines/gnap/scenes/intro.h
+++ b/engines/gnap/scenes/intro.h
@@ -33,13 +33,13 @@ class GnapEngine;
 class SceneIntro: public Scene {
 public:
 	SceneIntro(GnapEngine *vm);
-	virtual ~SceneIntro() {}
+	~SceneIntro() override {}
 
-	virtual int init();
-	virtual void updateHotspots() {}
-	virtual void run();
-	virtual void updateAnimations() {}
-	virtual void updateAnimationsCb() {}
+	int init() override;
+	void updateHotspots() override {}
+	void run() override;
+	void updateAnimations() override {}
+	void updateAnimationsCb() override {}
 };
 
 } // End of namespace Gnap
diff --git a/engines/gnap/scenes/scenecore.h b/engines/gnap/scenes/scenecore.h
index d4a6aa3..a6b04c4 100644
--- a/engines/gnap/scenes/scenecore.h
+++ b/engines/gnap/scenes/scenecore.h
@@ -50,13 +50,13 @@ protected:
 class CutScene : public Scene {
 public:
 	CutScene(GnapEngine *vm);
-	virtual ~CutScene() {};
+	~CutScene() override {};
 
-	virtual int init() = 0;
-	void updateHotspots() {}
-	void run();
-	void updateAnimations() {}
-	void updateAnimationsCb() {}
+	int init() override = 0;
+	void updateHotspots() override {}
+	void run() override;
+	void updateAnimations() override {}
+	void updateAnimationsCb() override {}
 
 protected:
 	int _itemsCount;


Commit: 0ee30278fce36c5a85a41b136abefeca7d639794
    https://github.com/scummvm/scummvm/commit/0ee30278fce36c5a85a41b136abefeca7d639794
Author: Bastien Bouclet (bastien.bouclet at gmail.com)
Date: 2020-02-09T12:43:15+01:00

Commit Message:
GOB: Add override keywords

Changed paths:
    engines/gob/cheater.h
    engines/gob/console.h
    engines/gob/demos/batplayer.h
    engines/gob/demos/scnplayer.h
    engines/gob/detection/detection.cpp
    engines/gob/draw.h
    engines/gob/gob.cpp
    engines/gob/gob.h
    engines/gob/goblin.h
    engines/gob/init.h
    engines/gob/inter.h
    engines/gob/map.h
    engines/gob/minigames/geisha/evilfish.h
    engines/gob/minigames/geisha/mouth.h
    engines/gob/minigames/geisha/oko.h
    engines/gob/minigames/geisha/submarine.h
    engines/gob/mult.h
    engines/gob/pregob/onceupon/abracadabra.h
    engines/gob/pregob/onceupon/babayaga.h
    engines/gob/pregob/onceupon/chargenchild.h
    engines/gob/pregob/onceupon/onceupon.h
    engines/gob/pregob/onceupon/parents.h
    engines/gob/pregob/onceupon/stork.h
    engines/gob/pregob/onceupon/title.h
    engines/gob/save/saveconverter.h
    engines/gob/save/savefile.h
    engines/gob/save/savehandler.h
    engines/gob/save/saveload.h
    engines/gob/scenery.h
    engines/gob/sound/adlplayer.h
    engines/gob/sound/bgatmosphere.h
    engines/gob/sound/musplayer.h
    engines/gob/sound/soundblaster.h
    engines/gob/sound/soundmixer.h
    engines/gob/variables.h
    engines/gob/video.h


diff --git a/engines/gob/cheater.h b/engines/gob/cheater.h
index a4cd621..4150e01 100644
--- a/engines/gob/cheater.h
+++ b/engines/gob/cheater.h
@@ -50,9 +50,9 @@ protected:
 class Cheater_Geisha : public Cheater {
 public:
 	Cheater_Geisha(GobEngine *vm, Geisha::Diving *diving, Geisha::Penetration *penetration);
-	~Cheater_Geisha();
+	~Cheater_Geisha() override;
 
-	bool cheat(GUI::Debugger &console);
+	bool cheat(GUI::Debugger &console) override;
 
 private:
 	Geisha::Diving      *_diving;
diff --git a/engines/gob/console.h b/engines/gob/console.h
index 26a9cb6..5bdd815 100644
--- a/engines/gob/console.h
+++ b/engines/gob/console.h
@@ -33,7 +33,7 @@ class Cheater;
 class GobConsole : public GUI::Debugger {
 public:
 	GobConsole(GobEngine *vm);
-	virtual ~GobConsole(void);
+	~GobConsole(void) override;
 
 	void registerCheater(Cheater *cheater);
 	void unregisterCheater();
diff --git a/engines/gob/demos/batplayer.h b/engines/gob/demos/batplayer.h
index a0a9f17..4388460 100644
--- a/engines/gob/demos/batplayer.h
+++ b/engines/gob/demos/batplayer.h
@@ -30,10 +30,10 @@ namespace Gob {
 class BATPlayer : public DemoPlayer {
 public:
 	BATPlayer(GobEngine *vm);
-	virtual ~BATPlayer();
+	~BATPlayer() override;
 
 protected:
-	virtual bool playStream(Common::SeekableReadStream &bat);
+	bool playStream(Common::SeekableReadStream &bat) override;
 };
 
 } // End of namespace Gob
diff --git a/engines/gob/demos/scnplayer.h b/engines/gob/demos/scnplayer.h
index aef1b3e..a2283e7 100644
--- a/engines/gob/demos/scnplayer.h
+++ b/engines/gob/demos/scnplayer.h
@@ -34,10 +34,10 @@ namespace Gob {
 class SCNPlayer : public DemoPlayer {
 public:
 	SCNPlayer(GobEngine *vm);
-	virtual ~SCNPlayer();
+	~SCNPlayer() override;
 
 protected:
-	virtual bool playStream(Common::SeekableReadStream &scn);
+	bool playStream(Common::SeekableReadStream &scn) override;
 
 private:
 	typedef Common::HashMap<Common::String, int32, Common::CaseSensitiveString_Hash, Common::CaseSensitiveString_EqualTo> LabelMap;
diff --git a/engines/gob/detection/detection.cpp b/engines/gob/detection/detection.cpp
index 28964d6..a2c28da 100644
--- a/engines/gob/detection/detection.cpp
+++ b/engines/gob/detection/detection.cpp
@@ -38,13 +38,13 @@ public:
 
 	ADDetectedGame fallbackDetect(const FileMap &allFiles, const Common::FSList &fslist) const override;
 
-	virtual const char *getName() const override;
-	virtual const char *getOriginalCopyright() const override;
+	const char *getName() const override;
+	const char *getOriginalCopyright() const override;
 
-	virtual bool hasFeature(MetaEngineFeature f) const override;
+	bool hasFeature(MetaEngineFeature f) const override;
 
-	virtual Common::Error createInstance(OSystem *syst, Engine **engine) const override;
-	virtual bool createInstance(OSystem *syst, Engine **engine, const ADGameDescription *desc) const override;
+	Common::Error createInstance(OSystem *syst, Engine **engine) const override;
+	bool createInstance(OSystem *syst, Engine **engine, const ADGameDescription *desc) const override;
 
 private:
 	/**
diff --git a/engines/gob/draw.h b/engines/gob/draw.h
index eb12e85..48900fb 100644
--- a/engines/gob/draw.h
+++ b/engines/gob/draw.h
@@ -231,28 +231,28 @@ protected:
 
 class Draw_v1 : public Draw {
 public:
-	virtual void initScreen();
-	virtual void closeScreen();
-	virtual void blitCursor();
-	virtual void animateCursor(int16 cursor);
-	virtual void printTotText(int16 id);
-	virtual void spriteOperation(int16 operation);
+	void initScreen() override;
+	void closeScreen() override;
+	void blitCursor() override;
+	void animateCursor(int16 cursor) override;
+	void printTotText(int16 id) override;
+	void spriteOperation(int16 operation) override;
 
 	Draw_v1(GobEngine *vm);
-	virtual ~Draw_v1() {}
+	~Draw_v1() override {}
 };
 
 class Draw_v2 : public Draw_v1 {
 public:
-	virtual void initScreen();
-	virtual void closeScreen();
-	virtual void blitCursor();
-	virtual void animateCursor(int16 cursor);
-	virtual void printTotText(int16 id);
-	virtual void spriteOperation(int16 operation);
+	void initScreen() override;
+	void closeScreen() override;
+	void blitCursor() override;
+	void animateCursor(int16 cursor) override;
+	void printTotText(int16 id) override;
+	void spriteOperation(int16 operation) override;
 
 	Draw_v2(GobEngine *vm);
-	virtual ~Draw_v2() {}
+	~Draw_v2() override {}
 
 private:
 	uint8 _mayorWorkaroundStatus;
@@ -262,17 +262,17 @@ private:
 
 class Draw_Bargon: public Draw_v2 {
 public:
-	virtual void initScreen();
+	void initScreen() override;
 
 	Draw_Bargon(GobEngine *vm);
-	virtual ~Draw_Bargon() {}
+	~Draw_Bargon() override {}
 };
 
 class Draw_Fascination: public Draw_v2 {
 public:
 	Draw_Fascination(GobEngine *vm);
-	virtual ~Draw_Fascination() {}
-	virtual void spriteOperation(int16 operation);
+	~Draw_Fascination() override {}
+	void spriteOperation(int16 operation) override;
 
 	void decompWin(int16 x, int16 y, SurfacePtr destPtr);
 	void drawWin(int16 fct);
@@ -281,22 +281,22 @@ public:
 	void handleWinBorder(int16 id);
 	void drawWinTrace(int16 left, int16 top, int16 width, int16 height);
 
-	virtual int16 openWin(int16 id);
-	virtual void closeWin(int16 id);
-	virtual int16 getWinFromCoord(int16 &dx, int16 &dy);
-	virtual int16 handleCurWin();
-	virtual void activeWin(int16 id);
-	virtual void moveWin(int16 id);
-	virtual bool overlapWin(int16 idWin1, int16 idWin2);
-	virtual void closeAllWin();
+	int16 openWin(int16 id) override;
+	void closeWin(int16 id) override;
+	int16 getWinFromCoord(int16 &dx, int16 &dy) override;
+	int16 handleCurWin() override;
+	void activeWin(int16 id) override;
+	void moveWin(int16 id) override;
+	bool overlapWin(int16 idWin1, int16 idWin2) override;
+	void closeAllWin() override;
 
 };
 
 class Draw_Playtoons: public Draw_v2 {
 public:
 	Draw_Playtoons(GobEngine *vm);
-	virtual ~Draw_Playtoons() {}
-	virtual void spriteOperation(int16 operation);
+	~Draw_Playtoons() override {}
+	void spriteOperation(int16 operation) override;
 };
 
 // Draw operations
diff --git a/engines/gob/gob.cpp b/engines/gob/gob.cpp
index 46f32a9..a936f29 100644
--- a/engines/gob/gob.cpp
+++ b/engines/gob/gob.cpp
@@ -77,8 +77,8 @@ class PauseDialog : public GUI::Dialog {
 public:
 	PauseDialog();
 
-	virtual void reflowLayout();
-	virtual void handleKeyDown(Common::KeyState state);
+	void reflowLayout() override;
+	void handleKeyDown(Common::KeyState state) override;
 
 private:
 	Common::String _message;
diff --git a/engines/gob/gob.h b/engines/gob/gob.h
index 33c328e..18fa002 100644
--- a/engines/gob/gob.h
+++ b/engines/gob/gob.h
@@ -180,10 +180,10 @@ private:
 	uint32 _pauseStart;
 
 	// Engine APIs
-	virtual Common::Error run() override;
-	virtual bool hasFeature(EngineFeature f) const override;
-	virtual void pauseEngineIntern(bool pause) override;
-	virtual void syncSoundSettings() override;
+	Common::Error run() override;
+	bool hasFeature(EngineFeature f) const override;
+	void pauseEngineIntern(bool pause) override;
+	void syncSoundSettings() override;
 
 	Common::Error initGameParts();
 	Common::Error initGraphics();
@@ -262,7 +262,7 @@ public:
 	const Graphics::PixelFormat &getPixelFormat() const;
 
 	GobEngine(OSystem *syst);
-	virtual ~GobEngine();
+	~GobEngine() override;
 
 	void initGame(const GOBGameDescription *gd);
 };
diff --git a/engines/gob/goblin.h b/engines/gob/goblin.h
index ad41df8..4d3f70b 100644
--- a/engines/gob/goblin.h
+++ b/engines/gob/goblin.h
@@ -262,66 +262,66 @@ protected:
 
 class Goblin_v1 : public Goblin {
 public:
-	virtual void handleGoblins() {}
-	virtual void placeObject(Gob_Object * objDesc, char animated,
-			int16 index, int16 x, int16 y, int16 state);
-	virtual void freeObjects();
-	virtual void initiateMove(Mult::Mult_Object *obj);
-	virtual void moveAdvance(Mult::Mult_Object *obj, Gob_Object *gobDesc,
-			int16 nextAct, int16 framesCount);
+	void handleGoblins() override {}
+	void placeObject(Gob_Object * objDesc, char animated,
+			int16 index, int16 x, int16 y, int16 state) override;
+	void freeObjects() override;
+	void initiateMove(Mult::Mult_Object *obj) override;
+	void moveAdvance(Mult::Mult_Object *obj, Gob_Object *gobDesc,
+			int16 nextAct, int16 framesCount) override;
 
 	Goblin_v1(GobEngine *vm);
-	virtual ~Goblin_v1() {}
+	~Goblin_v1() override {}
 
 protected:
-	virtual bool isMovement(int8 state) { return false; }
-	virtual void advMovement(Mult::Mult_Object *obj, int8 state) {}
-	virtual void movePathFind(Mult::Mult_Object *obj,
-			Gob_Object *gobDesc, int16 nextAct);
+	bool isMovement(int8 state) override { return false; }
+	void advMovement(Mult::Mult_Object *obj, int8 state) override {}
+	void movePathFind(Mult::Mult_Object *obj,
+			Gob_Object *gobDesc, int16 nextAct) override;
 };
 
 class Goblin_v2 : public Goblin_v1 {
 public:
-	virtual void handleGoblins();
-	virtual void placeObject(Gob_Object * objDesc, char animated,
-			int16 index, int16 x, int16 y, int16 state);
-	virtual void freeObjects();
-	virtual void initiateMove(Mult::Mult_Object *obj);
-	virtual void moveAdvance(Mult::Mult_Object *obj, Gob_Object *gobDesc,
-			int16 nextAct, int16 framesCount);
+	void handleGoblins() override;
+	void placeObject(Gob_Object * objDesc, char animated,
+			int16 index, int16 x, int16 y, int16 state) override;
+	void freeObjects() override;
+	void initiateMove(Mult::Mult_Object *obj) override;
+	void moveAdvance(Mult::Mult_Object *obj, Gob_Object *gobDesc,
+			int16 nextAct, int16 framesCount) override;
 
 	Goblin_v2(GobEngine *vm);
-	virtual ~Goblin_v2() {}
+	~Goblin_v2() override {}
 
 protected:
-	virtual bool isMovement(int8 state);
-	virtual void advMovement(Mult::Mult_Object *obj, int8 state);
-	virtual void movePathFind(Mult::Mult_Object *obj,
-			Gob_Object *gobDesc, int16 nextAct);
+	bool isMovement(int8 state) override;
+	void advMovement(Mult::Mult_Object *obj, int8 state) override;
+	void movePathFind(Mult::Mult_Object *obj,
+			Gob_Object *gobDesc, int16 nextAct) override;
 };
 
 class Goblin_v3 : public Goblin_v2 {
 public:
-	virtual void placeObject(Gob_Object * objDesc, char animated,
-			int16 index, int16 x, int16 y, int16 state);
+	void placeObject(Gob_Object * objDesc, char animated,
+			int16 index, int16 x, int16 y, int16 state) override;
 
 	Goblin_v3(GobEngine *vm);
-	virtual ~Goblin_v3() {}
+	~Goblin_v3() override {}
 
 protected:
-	virtual bool isMovement(int8 state);
-	virtual void advMovement(Mult::Mult_Object *obj, int8 state);
+	bool isMovement(int8 state) override;
+	void advMovement(Mult::Mult_Object *obj, int8 state) override;
 };
 
 class Goblin_v4 : public Goblin_v3 {
 public:
-	virtual void movePathFind(Mult::Mult_Object *obj,
-			Gob_Object *gobDesc, int16 nextAct);
-	virtual void moveAdvance(Mult::Mult_Object *obj, Gob_Object *gobDesc,
-			int16 nextAct, int16 framesCount);
+	void movePathFind(Mult::Mult_Object *obj,
+			Gob_Object *gobDesc, int16 nextAct) override;
+	void moveAdvance(Mult::Mult_Object *obj, Gob_Object *gobDesc,
+			int16 nextAct, int16 framesCount) override;
 
 	Goblin_v4(GobEngine *vm);
-	virtual ~Goblin_v4() {}
+	~Goblin_v4() override {}
 
 private:
 	int16 turnState(int16 state, uint16 dir);
diff --git a/engines/gob/init.h b/engines/gob/init.h
index 6b7ce74..a9e6320 100644
--- a/engines/gob/init.h
+++ b/engines/gob/init.h
@@ -51,67 +51,67 @@ protected:
 class Init_v1 : public Init {
 public:
 	Init_v1(GobEngine *vm);
-	~Init_v1();
+	~Init_v1() override;
 
-	void initVideo();
+	void initVideo() override;
 };
 
 class Init_Geisha : public Init_v1 {
 public:
 	Init_Geisha(GobEngine *vm);
-	~Init_Geisha();
+	~Init_Geisha() override;
 
-	void initVideo();
+	void initVideo() override;
 };
 
 class Init_v2 : public Init_v1 {
 public:
 	Init_v2(GobEngine *vm);
-	~Init_v2();
+	~Init_v2() override;
 
-	void initVideo();
+	void initVideo() override;
 };
 
 class Init_v3 : public Init_v2 {
 public:
 	Init_v3(GobEngine *vm);
-	~Init_v3();
+	~Init_v3() override;
 
-	void initVideo();
-	void updateConfig();
+	void initVideo() override;
+	void updateConfig() override;
 };
 
 class Init_v4 : public Init_v3 {
 public:
 	Init_v4(GobEngine *vm);
-	~Init_v4();
+	~Init_v4() override;
 
-	void updateConfig();
+	void updateConfig() override;
 };
 
 class Init_v6 : public Init_v3 {
 public:
 	Init_v6(GobEngine *vm);
-	~Init_v6();
+	~Init_v6() override;
 
-	void initGame();
+	void initGame() override;
 };
 
 class Init_Fascination : public Init_v2 {
 public:
 	Init_Fascination(GobEngine *vm);
-	~Init_Fascination();
+	~Init_Fascination() override;
 
-	void updateConfig();
-	void initGame();
+	void updateConfig() override;
+	void initGame() override;
 };
 
 class Init_v7 : public Init_v2 {
 public:
 	Init_v7(GobEngine *vm);
-	~Init_v7();
+	~Init_v7() override;
 
-	void initGame();
+	void initGame() override;
 };
 
 } // End of namespace Gob
diff --git a/engines/gob/inter.h b/engines/gob/inter.h
index a5fa03c..4b49c1d 100644
--- a/engines/gob/inter.h
+++ b/engines/gob/inter.h
@@ -180,17 +180,17 @@ protected:
 class Inter_v1 : public Inter {
 public:
 	Inter_v1(GobEngine *vm);
-	virtual ~Inter_v1() {}
+	~Inter_v1() override {}
 
-	virtual int16 loadSound(int16 slot);
-	virtual void animPalette();
+	int16 loadSound(int16 slot) override;
+	void animPalette() override;
 
 protected:
-	virtual void setupOpcodesDraw();
-	virtual void setupOpcodesFunc();
-	virtual void setupOpcodesGob();
+	void setupOpcodesDraw() override;
+	void setupOpcodesFunc() override;
+	void setupOpcodesGob() override;
 
-	virtual void checkSwitchTable(uint32 &offset);
+	void checkSwitchTable(uint32 &offset) override;
 
 	void o1_loadMult();
 	void o1_playMult();
@@ -351,12 +351,12 @@ protected:
 class Inter_Geisha : public Inter_v1 {
 public:
 	Inter_Geisha(GobEngine *vm);
-	virtual ~Inter_Geisha();
+	~Inter_Geisha() override;
 
 protected:
-	virtual void setupOpcodesDraw();
-	virtual void setupOpcodesFunc();
-	virtual void setupOpcodesGob();
+	void setupOpcodesDraw() override;
+	void setupOpcodesFunc() override;
+	void setupOpcodesGob() override;
 
 	void oGeisha_loadCursor(OpFuncParams &params);
 	void oGeisha_loadTot(OpFuncParams &params);
@@ -375,7 +375,7 @@ protected:
 	void oGeisha_caress1(OpGobParams &params);
 	void oGeisha_caress2(OpGobParams &params);
 
-	int16 loadSound(int16 slot);
+	int16 loadSound(int16 slot) override;
 
 private:
 	Geisha::Diving      *_diving;
@@ -387,17 +387,17 @@ private:
 class Inter_v2 : public Inter_v1 {
 public:
 	Inter_v2(GobEngine *vm);
-	virtual ~Inter_v2() {}
+	~Inter_v2() override {}
 
-	virtual int16 loadSound(int16 search);
-	virtual void animPalette();
+	int16 loadSound(int16 search) override;
+	void animPalette() override;
 
 protected:
-	virtual void setupOpcodesDraw();
-	virtual void setupOpcodesFunc();
-	virtual void setupOpcodesGob();
+	void setupOpcodesDraw() override;
+	void setupOpcodesFunc() override;
+	void setupOpcodesGob() override;
 
-	virtual void checkSwitchTable(uint32 &offset);
+	void checkSwitchTable(uint32 &offset) override;
 
 	void o2_playMult();
 	void o2_freeMultKeys();
@@ -459,12 +459,12 @@ protected:
 class Inter_Bargon : public Inter_v2 {
 public:
 	Inter_Bargon(GobEngine *vm);
-	virtual ~Inter_Bargon() {}
+	~Inter_Bargon() override {}
 
 protected:
-	virtual void setupOpcodesDraw();
-	virtual void setupOpcodesFunc();
-	virtual void setupOpcodesGob();
+	void setupOpcodesDraw() override;
+	void setupOpcodesFunc() override;
+	void setupOpcodesGob() override;
 
 	void oBargon_intro0(OpGobParams &params);
 	void oBargon_intro1(OpGobParams &params);
@@ -481,12 +481,12 @@ protected:
 class Inter_Fascination : public Inter_v2 {
 public:
 	Inter_Fascination(GobEngine *vm);
-	virtual ~Inter_Fascination() {}
+	~Inter_Fascination() override {}
 
 protected:
-	virtual void setupOpcodesDraw();
-	virtual void setupOpcodesFunc();
-	virtual void setupOpcodesGob();
+	void setupOpcodesDraw() override;
+	void setupOpcodesFunc() override;
+	void setupOpcodesGob() override;
 
 	void oFascin_playProtracker(OpGobParams &params);
 
@@ -520,12 +520,12 @@ protected:
 class Inter_LittleRed : public Inter_v2 {
 public:
 	Inter_LittleRed(GobEngine *vm);
-	virtual ~Inter_LittleRed() {}
+	~Inter_LittleRed() override {}
 
 protected:
-	virtual void setupOpcodesDraw();
-	virtual void setupOpcodesFunc();
-	virtual void setupOpcodesGob();
+	void setupOpcodesDraw() override;
+	void setupOpcodesFunc() override;
+	void setupOpcodesGob() override;
 
 	void oLittleRed_keyFunc(OpFuncParams &params);
 	void oLittleRed_playComposition(OpFuncParams &params);
@@ -534,12 +534,12 @@ protected:
 class Inter_v3 : public Inter_v2 {
 public:
 	Inter_v3(GobEngine *vm);
-	virtual ~Inter_v3() {}
+	~Inter_v3() override {}
 
 protected:
-	virtual void setupOpcodesDraw();
-	virtual void setupOpcodesFunc();
-	virtual void setupOpcodesGob();
+	void setupOpcodesDraw() override;
+	void setupOpcodesFunc() override;
+	void setupOpcodesGob() override;
 
 	void o3_speakerOn(OpFuncParams &params);
 	void o3_speakerOff(OpFuncParams &params);
@@ -554,12 +554,12 @@ private:
 class Inter_Inca2 : public Inter_v3 {
 public:
 	Inter_Inca2(GobEngine *vm);
-	virtual ~Inter_Inca2() {}
+	~Inter_Inca2() override {}
 
 protected:
-	virtual void setupOpcodesDraw();
-	virtual void setupOpcodesFunc();
-	virtual void setupOpcodesGob();
+	void setupOpcodesDraw() override;
+	void setupOpcodesFunc() override;
+	void setupOpcodesGob() override;
 
 	void oInca2_spaceShooter(OpFuncParams &params);
 };
@@ -567,12 +567,12 @@ protected:
 class Inter_v4 : public Inter_v3 {
 public:
 	Inter_v4(GobEngine *vm);
-	virtual ~Inter_v4() {}
+	~Inter_v4() override {}
 
 protected:
-	virtual void setupOpcodesDraw();
-	virtual void setupOpcodesFunc();
-	virtual void setupOpcodesGob();
+	void setupOpcodesDraw() override;
+	void setupOpcodesFunc() override;
+	void setupOpcodesGob() override;
 
 	void o4_initScreen();
 	void o4_playVmdOrMusic();
@@ -581,14 +581,14 @@ protected:
 class Inter_v5 : public Inter_v4 {
 public:
 	Inter_v5(GobEngine *vm);
-	virtual ~Inter_v5() {}
+	~Inter_v5() override {}
 
 protected:
 	byte _gob_97_98_val;
 
-	virtual void setupOpcodesDraw();
-	virtual void setupOpcodesFunc();
-	virtual void setupOpcodesGob();
+	void setupOpcodesDraw() override;
+	void setupOpcodesFunc() override;
+	void setupOpcodesGob() override;
 
 	void o5_deleteFile();
 	void o5_initScreen();
@@ -616,14 +616,14 @@ protected:
 class Inter_v6 : public Inter_v5 {
 public:
 	Inter_v6(GobEngine *vm);
-	virtual ~Inter_v6() {}
+	~Inter_v6() override {}
 
 protected:
 	bool _gotFirstPalette;
 
-	virtual void setupOpcodesDraw();
-	virtual void setupOpcodesFunc();
-	virtual void setupOpcodesGob();
+	void setupOpcodesDraw() override;
+	void setupOpcodesFunc() override;
+	void setupOpcodesGob() override;
 
 	void o6_totSub();
 	void o6_playVmdOrMusic();
@@ -639,12 +639,12 @@ protected:
 class Inter_Playtoons : public Inter_v6 {
 public:
 	Inter_Playtoons(GobEngine *vm);
-	virtual ~Inter_Playtoons() {}
+	~Inter_Playtoons() override {}
 
 protected:
-	virtual void setupOpcodesDraw();
-	virtual void setupOpcodesFunc();
-	virtual void setupOpcodesGob();
+	void setupOpcodesDraw() override;
+	void setupOpcodesFunc() override;
+	void setupOpcodesGob() override;
 
 	void oPlaytoons_printText(OpFuncParams &params);
 	void oPlaytoons_F_1B(OpFuncParams &params);
@@ -669,12 +669,12 @@ private:
 class Inter_v7 : public Inter_Playtoons {
 public:
 	Inter_v7(GobEngine *vm);
-	virtual ~Inter_v7();
+	~Inter_v7() override;
 
 protected:
-	virtual void setupOpcodesDraw();
-	virtual void setupOpcodesFunc();
-	virtual void setupOpcodesGob();
+	void setupOpcodesDraw() override;
+	void setupOpcodesFunc() override;
+	void setupOpcodesGob() override;
 
 	void o7_draw0x0C();
 	void o7_loadCursor();
diff --git a/engines/gob/map.h b/engines/gob/map.h
index 785b734..d3e099c 100644
--- a/engines/gob/map.h
+++ b/engines/gob/map.h
@@ -159,13 +159,13 @@ private:
 
 class Map_v1 : public Map {
 public:
-	virtual void loadMapObjects(const char *avjFile);
-	virtual void findNearestToGob(Mult::Mult_Object *obj);
-	virtual void findNearestToDest(Mult::Mult_Object *obj);
-	virtual void optimizePoints(Mult::Mult_Object *obj, int16 x, int16 y);
+	void loadMapObjects(const char *avjFile) override;
+	void findNearestToGob(Mult::Mult_Object *obj) override;
+	void findNearestToDest(Mult::Mult_Object *obj) override;
+	void optimizePoints(Mult::Mult_Object *obj, int16 x, int16 y) override;
 
 	Map_v1(GobEngine *vm);
-	virtual ~Map_v1();
+	~Map_v1() override;
 
 protected:
 	void init();
@@ -177,13 +177,13 @@ protected:
 
 class Map_v2 : public Map_v1 {
 public:
-	virtual void loadMapObjects(const char *avjFile);
-	virtual void findNearestToGob(Mult::Mult_Object *obj);
-	virtual void findNearestToDest(Mult::Mult_Object *obj);
-	virtual void optimizePoints(Mult::Mult_Object *obj, int16 x, int16 y);
+	void loadMapObjects(const char *avjFile) override;
+	void findNearestToGob(Mult::Mult_Object *obj) override;
+	void findNearestToDest(Mult::Mult_Object *obj) override;
+	void optimizePoints(Mult::Mult_Object *obj, int16 x, int16 y) override;
 
 	Map_v2(GobEngine *vm);
-	virtual ~Map_v2();
+	~Map_v2() override;
 
 protected:
 	void loadGoblinStates(Common::SeekableReadStream &data, int index);
diff --git a/engines/gob/minigames/geisha/evilfish.h b/engines/gob/minigames/geisha/evilfish.h
index 9013c72..1061648 100644
--- a/engines/gob/minigames/geisha/evilfish.h
+++ b/engines/gob/minigames/geisha/evilfish.h
@@ -40,7 +40,7 @@ public:
 	EvilFish(const ANIFile &ani, uint16 screenWidth,
 	         uint16 animSwimLeft, uint16 animSwimRight,
 	         uint16 animTurnLeft, uint16 animTurnRight, uint16 animDie);
-	~EvilFish();
+	~EvilFish() override;
 
 	/** Enter from this direction / screen edge. */
 	void enter(Direction from, int16 y);
@@ -51,7 +51,7 @@ public:
 	void die();
 
 	/** Advance the animation to the next frame. */
-	void advance();
+	void advance() override;
 
 	/** Change the fish's animations, effectively making it a different fish type. */
 	void mutate(uint16 animSwimLeft, uint16 animSwimRight,
diff --git a/engines/gob/minigames/geisha/mouth.h b/engines/gob/minigames/geisha/mouth.h
index ea33731..2141961 100644
--- a/engines/gob/minigames/geisha/mouth.h
+++ b/engines/gob/minigames/geisha/mouth.h
@@ -34,10 +34,10 @@ class Mouth : public ANIObject {
 public:
 	Mouth(const ANIFile &ani, const CMPFile &cmp,
 	      uint16 mouthAnim, uint16 mouthSprite, uint16 floorSprite);
-	~Mouth();
+	~Mouth() override;
 
 	/** Advance the animation to the next frame. */
-	void advance();
+	void advance() override;
 
 	/** Active the mouth's animation. */
 	void activate();
@@ -46,12 +46,12 @@ public:
 	bool isDeactivated() const;
 
 	/** Set the current position. */
-	void setPosition(int16 x, int16 y);
+	void setPosition(int16 x, int16 y) override;
 
 	/** Draw the current frame onto the surface and return the affected rectangle. */
-	bool draw(Surface &dest, int16 &left, int16 &top, int16 &right, int16 &bottom);
+	bool draw(Surface &dest, int16 &left, int16 &top, int16 &right, int16 &bottom) override;
 	/** Draw the current frame from the surface and return the affected rectangle. */
-	bool clear(Surface &dest, int16 &left, int16 &top, int16 &right, int16 &bottom);
+	bool clear(Surface &dest, int16 &left, int16 &top, int16 &right, int16 &bottom) override;
 
 private:
 	static const int kFloorCount = 2;
diff --git a/engines/gob/minigames/geisha/oko.h b/engines/gob/minigames/geisha/oko.h
index 90ce25b..3a3c3a0 100644
--- a/engines/gob/minigames/geisha/oko.h
+++ b/engines/gob/minigames/geisha/oko.h
@@ -47,10 +47,10 @@ public:
 	};
 
 	Oko(const ANIFile &ani, Sound &sound, SoundDesc &breathe);
-	~Oko();
+	~Oko() override;
 
 	/** Advance the animation to the next frame. */
-	void advance();
+	void advance() override;
 
 	/** Oko should sink a level. */
 	void sink();
diff --git a/engines/gob/minigames/geisha/submarine.h b/engines/gob/minigames/geisha/submarine.h
index a823386..bdb623a 100644
--- a/engines/gob/minigames/geisha/submarine.h
+++ b/engines/gob/minigames/geisha/submarine.h
@@ -45,7 +45,7 @@ public:
 	};
 
 	Submarine(const ANIFile &ani);
-	~Submarine();
+	~Submarine() override;
 
 	Direction getDirection() const;
 
@@ -62,7 +62,7 @@ public:
 	void leave();
 
 	/** Advance the animation to the next frame. */
-	void advance();
+	void advance() override;
 
 	/** Can the submarine move at the moment? */
 	bool canMove() const;
diff --git a/engines/gob/mult.h b/engines/gob/mult.h
index bef5f17..b945ee1 100644
--- a/engines/gob/mult.h
+++ b/engines/gob/mult.h
@@ -298,41 +298,41 @@ protected:
 class Mult_v1 : public Mult {
 public:
 	Mult_v1(GobEngine *vm);
-	virtual ~Mult_v1() {}
+	~Mult_v1() override {}
 
-	virtual void loadMult(int16 resId);
-	virtual void freeMultKeys();
-	virtual bool hasMultData(uint16 multIndex);
-	virtual void setMultData(uint16 multIndex);
-	virtual void zeroMultData(uint16 multIndex);
-	virtual void multSub(uint16 multIndex);
-	virtual void animate();
+	void loadMult(int16 resId) override;
+	void freeMultKeys() override;
+	bool hasMultData(uint16 multIndex) override;
+	void setMultData(uint16 multIndex) override;
+	void zeroMultData(uint16 multIndex) override;
+	void multSub(uint16 multIndex) override;
+	void animate() override;
 
 protected:
-	virtual void playMultInit();
-	virtual void drawStatics(bool &stop);
-	virtual void drawAnims(bool &stop);
-	virtual void newCycleAnim(Mult_Object &animObj);
+	void playMultInit() override;
+	void drawStatics(bool &stop) override;
+	void drawAnims(bool &stop) override;
+	void newCycleAnim(Mult_Object &animObj) override;
 };
 
 class Mult_v2 : public Mult_v1 {
 public:
 	Mult_v2(GobEngine *vm);
-	virtual ~Mult_v2();
+	~Mult_v2() override;
 
-	virtual void loadMult(int16 resId);
-	virtual void freeMultKeys();
-	virtual bool hasMultData(uint16 multIndex);
-	virtual void setMultData(uint16 multIndex);
-	virtual void zeroMultData(uint16 multIndex);
-	virtual void multSub(uint16 multIndex);
-	virtual void animate();
+	void loadMult(int16 resId) override;
+	void freeMultKeys() override;
+	bool hasMultData(uint16 multIndex) override;
+	void setMultData(uint16 multIndex) override;
+	void zeroMultData(uint16 multIndex) override;
+	void multSub(uint16 multIndex) override;
+	void animate() override;
 
 protected:
-	virtual void playMultInit();
-	virtual void drawStatics(bool &stop);
-	virtual void drawAnims(bool &stop);
-	virtual void newCycleAnim(Mult_Object &animObj);
+	void playMultInit() override;
+	void drawStatics(bool &stop) override;
+	void drawAnims(bool &stop) override;
+	void newCycleAnim(Mult_Object &animObj) override;
 
 	void loadImds(Common::SeekableReadStream &data);
 	void playImd(const char *imdFile, Mult_ImdKey &key, int16 dir, int16 startFrame);
diff --git a/engines/gob/pregob/onceupon/abracadabra.h b/engines/gob/pregob/onceupon/abracadabra.h
index f50a2a3..40b635b 100644
--- a/engines/gob/pregob/onceupon/abracadabra.h
+++ b/engines/gob/pregob/onceupon/abracadabra.h
@@ -32,12 +32,12 @@ namespace OnceUpon {
 class Abracadabra : public OnceUpon {
 public:
 	Abracadabra(GobEngine *vm);
-	~Abracadabra();
+	~Abracadabra() override;
 
-	void run();
+	void run() override;
 
 protected:
-	const StorkParam &getStorkParameters() const;
+	const StorkParam &getStorkParameters() const override;
 
 private:
 	/** Definition of the menu button that leads to the animal names screen. */
diff --git a/engines/gob/pregob/onceupon/babayaga.h b/engines/gob/pregob/onceupon/babayaga.h
index 5663751..144fcb1 100644
--- a/engines/gob/pregob/onceupon/babayaga.h
+++ b/engines/gob/pregob/onceupon/babayaga.h
@@ -32,12 +32,12 @@ namespace OnceUpon {
 class BabaYaga : public OnceUpon {
 public:
 	BabaYaga(GobEngine *vm);
-	~BabaYaga();
+	~BabaYaga() override;
 
-	void run();
+	void run() override;
 
 protected:
-	const StorkParam &getStorkParameters() const;
+	const StorkParam &getStorkParameters() const override;
 
 private:
 	/** Definition of the menu button that leads to the animal names screen. */
diff --git a/engines/gob/pregob/onceupon/chargenchild.h b/engines/gob/pregob/onceupon/chargenchild.h
index 580d313..5fede02 100644
--- a/engines/gob/pregob/onceupon/chargenchild.h
+++ b/engines/gob/pregob/onceupon/chargenchild.h
@@ -44,10 +44,10 @@ public:
 	};
 
 	CharGenChild(const ANIFile &ani);
-	~CharGenChild();
+	~CharGenChild() override;
 
 	/** Advance the animation to the next frame. */
-	void advance();
+	void advance() override;
 
 	/** Should we play a sound right now? */
 	Sound shouldPlaySound() const;
diff --git a/engines/gob/pregob/onceupon/onceupon.h b/engines/gob/pregob/onceupon/onceupon.h
index 17bc206..0602180 100644
--- a/engines/gob/pregob/onceupon/onceupon.h
+++ b/engines/gob/pregob/onceupon/onceupon.h
@@ -46,7 +46,7 @@ public:
 
 
 	OnceUpon(GobEngine *vm);
-	~OnceUpon();
+	~OnceUpon() override;
 
 
 protected:
@@ -238,7 +238,7 @@ private:
 	void restoreScreen(ScreenBackup &backup);
 
 	Common::String fixString(const Common::String &str) const; ///< Fix a string if necessary.
-	void fixTXTStrings(TXTFile &txt) const;                    ///< Fix all strings in a TXT.
+	void fixTXTStrings(TXTFile &txt) const override;                    ///< Fix all strings in a TXT.
 
 
 	// -- Copy protection helpers --
diff --git a/engines/gob/pregob/onceupon/parents.h b/engines/gob/pregob/onceupon/parents.h
index 4b3895e..8da97ba 100644
--- a/engines/gob/pregob/onceupon/parents.h
+++ b/engines/gob/pregob/onceupon/parents.h
@@ -41,13 +41,13 @@ public:
 	Parents(GobEngine *vm, const Common::String &seq, const Common::String &gct,
 	        const Common::String &childName, uint8 house, const Font &font,
 	        const byte *normalPalette, const byte *brightPalette, uint paletteSize);
-	~Parents();
+	~Parents() override;
 
 	void play();
 
 protected:
-	void handleFrameEvent();
-	void handleInput(int16 key, int16 mouseX, int16 mouseY, MouseButtons mouseButtons);
+	void handleFrameEvent() override;
+	void handleInput(int16 key, int16 mouseX, int16 mouseY, MouseButtons mouseButtons) override;
 
 private:
 	static const uint kLoopCount = 7;
diff --git a/engines/gob/pregob/onceupon/stork.h b/engines/gob/pregob/onceupon/stork.h
index dc7e986..5a71f7a 100644
--- a/engines/gob/pregob/onceupon/stork.h
+++ b/engines/gob/pregob/onceupon/stork.h
@@ -54,7 +54,7 @@ public:
 	};
 
 	Stork(GobEngine *vm, const ANIFile &ani);
-	~Stork();
+	~Stork() override;
 
 	/** Has the bundle landed? */
 	bool hasBundleLanded() const;
@@ -63,12 +63,12 @@ public:
 	void dropBundle(const BundleDrop &drop);
 
 	/** Draw the current frame onto the surface and return the affected rectangle. */
-	bool draw(Surface &dest, int16 &left, int16 &top, int16 &right, int16 &bottom);
+	bool draw(Surface &dest, int16 &left, int16 &top, int16 &right, int16 &bottom) override;
 	/** Draw the current frame from the surface and return the affected rectangle. */
-	bool clear(Surface &dest, int16 &left, int16 &top, int16 &right, int16 &bottom);
+	bool clear(Surface &dest, int16 &left, int16 &top, int16 &right, int16 &bottom) override;
 
 	/** Advance the animation to the next frame. */
-	void advance();
+	void advance() override;
 
 private:
 	enum State {
diff --git a/engines/gob/pregob/onceupon/title.h b/engines/gob/pregob/onceupon/title.h
index a19d061..2b45ea8 100644
--- a/engines/gob/pregob/onceupon/title.h
+++ b/engines/gob/pregob/onceupon/title.h
@@ -33,12 +33,12 @@ namespace OnceUpon {
 class Title : public SEQFile {
 public:
 	Title(GobEngine *vm);
-	~Title();
+	~Title() override;
 
 	void play();
 
 protected:
-	void handleFrameEvent();
+	void handleFrameEvent() override;
 
 private:
 	void playMusic();        ///< Play the title music.
diff --git a/engines/gob/save/saveconverter.h b/engines/gob/save/saveconverter.h
index c03de14..3221337 100644
--- a/engines/gob/save/saveconverter.h
+++ b/engines/gob/save/saveconverter.h
@@ -38,7 +38,7 @@ class SaveWriter;
 class SaveConverter : public Common::SeekableReadStream {
 public:
 	SaveConverter(GobEngine *vm, const Common::String &fileName);
-	virtual ~SaveConverter();
+	~SaveConverter() override;
 
 	/** Clear the converter. */
 	virtual void clear();
@@ -58,15 +58,15 @@ public:
 	char *getDescription() const;
 
 	// Stream
-	virtual bool err() const;
-	virtual void clearErr();
+	bool err() const override;
+	void clearErr() override;
 	// ReadStream
-	virtual bool eos() const;
-	virtual uint32 read(void *dataPtr, uint32 dataSize);
+	bool eos() const override;
+	uint32 read(void *dataPtr, uint32 dataSize) override;
 	// SeekableReadStream
-	virtual int32 pos() const;
-	virtual int32 size() const;
-	virtual bool seek(int32 offset, int whence = SEEK_SET);
+	int32 pos() const override;
+	int32 size() const override;
+	bool seek(int32 offset, int whence = SEEK_SET) override;
 
 protected:
 	GobEngine *_vm;
@@ -106,12 +106,12 @@ private:
 class SaveConverter_Notes : public SaveConverter {
 public:
 	SaveConverter_Notes(GobEngine *vm, uint32 notesSize, const Common::String &fileName = "");
-	~SaveConverter_Notes();
+	~SaveConverter_Notes() override;
 
-	int isOldSave(Common::InSaveFile **save = 0) const;
-	char *getDescription(Common::SeekableReadStream &save) const;
+	int isOldSave(Common::InSaveFile **save = 0) const override;
+	char *getDescription(Common::SeekableReadStream &save) const override;
 
-	bool load();
+	bool load() override;
 
 private:
 	uint32 _size;
@@ -123,12 +123,12 @@ private:
 class SaveConverter_v2 : public SaveConverter {
 public:
 	SaveConverter_v2(GobEngine *vm, const Common::String &fileName = "");
-	~SaveConverter_v2();
+	~SaveConverter_v2() override;
 
-	int isOldSave(Common::InSaveFile **save = 0) const;
-	char *getDescription(Common::SeekableReadStream &save) const;
+	int isOldSave(Common::InSaveFile **save = 0) const override;
+	char *getDescription(Common::SeekableReadStream &save) const override;
 
-	bool load();
+	bool load() override;
 
 private:
 	static const uint32 kSlotCount = 15;
@@ -142,12 +142,12 @@ private:
 class SaveConverter_v3 : public SaveConverter {
 public:
 	SaveConverter_v3(GobEngine *vm, const Common::String &fileName = "");
-	~SaveConverter_v3();
+	~SaveConverter_v3() override;
 
-	int isOldSave(Common::InSaveFile **save = 0) const;
-	char *getDescription(Common::SeekableReadStream &save) const;
+	int isOldSave(Common::InSaveFile **save = 0) const override;
+	char *getDescription(Common::SeekableReadStream &save) const override;
 
-	bool load();
+	bool load() override;
 
 private:
 	static const uint32 kSlotCount = 30;
@@ -164,12 +164,12 @@ private:
 class SaveConverter_v4 : public SaveConverter {
 public:
 	SaveConverter_v4(GobEngine *vm, const Common::String &fileName = "");
-	~SaveConverter_v4();
+	~SaveConverter_v4() override;
 
-	int isOldSave(Common::InSaveFile **save = 0) const;
-	char *getDescription(Common::SeekableReadStream &save) const;
+	int isOldSave(Common::InSaveFile **save = 0) const override;
+	char *getDescription(Common::SeekableReadStream &save) const override;
 
-	bool load();
+	bool load() override;
 
 private:
 	static const uint32 kSlotCount = 60;
diff --git a/engines/gob/save/savefile.h b/engines/gob/save/savefile.h
index 7d111f3..40604a3 100644
--- a/engines/gob/save/savefile.h
+++ b/engines/gob/save/savefile.h
@@ -106,10 +106,10 @@ public:
 	static const uint32 kID = MKTAG('P','M','E','M');
 
 	SavePartMem(uint32 size);
-	~SavePartMem();
+	~SavePartMem() override;
 
-	bool read(Common::ReadStream &stream);
-	bool write(Common::WriteStream &stream) const;
+	bool read(Common::ReadStream &stream) override;
+	bool write(Common::WriteStream &stream) const override;
 
 	/** Read size bytes of data into the part at the specified offset. */
 	bool readFrom(const byte *data, uint32 offset, uint32 size);
@@ -128,10 +128,10 @@ public:
 	static const uint32 kID = MKTAG('V','A','R','S');
 
 	SavePartVars(GobEngine *vm, uint32 size);
-	~SavePartVars();
+	~SavePartVars() override;
 
-	bool read(Common::ReadStream &stream);
-	bool write(Common::WriteStream &stream) const;
+	bool read(Common::ReadStream &stream) override;
+	bool write(Common::WriteStream &stream) const override;
 
 	/** Read size bytes of variables starting at var into the part at the specified offset. */
 	bool readFrom(uint32 var, uint32 offset, uint32 size);
@@ -155,10 +155,10 @@ public:
 	static const uint32 kID = MKTAG('S','P','R','T');
 
 	SavePartSprite(uint32 width, uint32 height, bool trueColor = false);
-	~SavePartSprite();
+	~SavePartSprite() override;
 
-	bool read(Common::ReadStream &stream);
-	bool write(Common::WriteStream &stream) const;
+	bool read(Common::ReadStream &stream) override;
+	bool write(Common::WriteStream &stream) const override;
 
 	/** Read a palette into the part. */
 	bool readPalette(const byte *palette);
@@ -202,7 +202,7 @@ public:
 	 */
 	SavePartInfo(uint32 descMaxLength, uint32 gameID,
 			uint32 gameVersion, byte endian, uint32 varCount);
-	~SavePartInfo();
+	~SavePartInfo() override;
 
 	/** Return the save's description. */
 	const char *getDesc() const;
@@ -216,8 +216,8 @@ public:
 	/** Set the save's description. */
 	void setDesc(const byte *desc, uint32 size);
 
-	bool read(Common::ReadStream &stream);
-	bool write(Common::WriteStream &stream) const;
+	bool read(Common::ReadStream &stream) override;
+	bool write(Common::WriteStream &stream) const override;
 
 private:
 	char *_desc;
diff --git a/engines/gob/save/savehandler.h b/engines/gob/save/savehandler.h
index 452cc8e..5a0882d 100644
--- a/engines/gob/save/savehandler.h
+++ b/engines/gob/save/savehandler.h
@@ -64,7 +64,7 @@ class SlotFileIndexed : public SlotFile {
 public:
 	SlotFileIndexed(GobEngine *vm, uint32 slotCount, const Common::String &base,
 			const Common::String &extStub);
-	~SlotFileIndexed();
+	~SlotFileIndexed() override;
 
 	/** Build the save file name. */
 	Common::String build(int slot) const;
@@ -91,10 +91,10 @@ protected:
 class SlotFileStatic : public SlotFile {
 public:
 	SlotFileStatic(GobEngine *vm, const Common::String &base, const Common::String &ext);
-	~SlotFileStatic();
+	~SlotFileStatic() override;
 
-	int getSlot(int32 offset) const;
-	int getSlotRemainder(int32 offset) const;
+	int getSlot(int32 offset) const override;
+	int getSlotRemainder(int32 offset) const override;
 
 	/** Build the save file name. */
 	Common::String build() const;
@@ -133,11 +133,11 @@ protected:
 class TempSpriteHandler : public SaveHandler {
 public:
 	TempSpriteHandler(GobEngine *vm);
-	~TempSpriteHandler();
+	~TempSpriteHandler() override;
 
-	int32 getSize();
-	bool load(int16 dataVar, int32 size, int32 offset);
-	bool save(int16 dataVar, int32 size, int32 offset);
+	int32 getSize() override;
+	bool load(int16 dataVar, int32 size, int32 offset) override;
+	bool save(int16 dataVar, int32 size, int32 offset) override;
 
 	bool create(uint32 width, uint32 height, bool trueColor);
 	bool createFromSprite(int16 dataVar, int32 size, int32 offset);
@@ -161,17 +161,17 @@ protected:
 class NotesHandler : public SaveHandler {
 public:
 	NotesHandler(uint32 notesSize, GobEngine *vm, const Common::String &target);
-	~NotesHandler();
+	~NotesHandler() override;
 
-	int32 getSize();
-	bool load(int16 dataVar, int32 size, int32 offset);
-	bool save(int16 dataVar, int32 size, int32 offset);
+	int32 getSize() override;
+	bool load(int16 dataVar, int32 size, int32 offset) override;
+	bool save(int16 dataVar, int32 size, int32 offset) override;
 
 private:
 	class File : public SlotFileStatic {
 	public:
 		File(GobEngine *vm, const Common::String &base);
-		~File();
+		~File() override;
 	};
 
 	uint32 _notesSize;
@@ -183,13 +183,13 @@ private:
 class FakeFileHandler : public SaveHandler {
 public:
 	FakeFileHandler(GobEngine *vm);
-	~FakeFileHandler();
+	~FakeFileHandler() override;
 
-	int32 getSize();
-	bool load(int16 dataVar, int32 size, int32 offset);
-	bool save(int16 dataVar, int32 size, int32 offset);
+	int32 getSize() override;
+	bool load(int16 dataVar, int32 size, int32 offset) override;
+	bool save(int16 dataVar, int32 size, int32 offset) override;
 
-	bool deleteFile();
+	bool deleteFile() override;
 
 private:
 	Common::Array<byte> _data;
diff --git a/engines/gob/save/saveload.h b/engines/gob/save/saveload.h
index cb6f0ed..310fbc6 100644
--- a/engines/gob/save/saveload.h
+++ b/engines/gob/save/saveload.h
@@ -75,9 +75,9 @@ protected:
 class SaveLoad_Geisha : public SaveLoad {
 public:
 	SaveLoad_Geisha(GobEngine *vm, const char *targetName);
-	virtual ~SaveLoad_Geisha();
+	~SaveLoad_Geisha() override;
 
-	SaveMode getSaveMode(const char *fileName) const;
+	SaveMode getSaveMode(const char *fileName) const override;
 
 protected:
 	static const uint32 kSlotCount =  7;
@@ -96,21 +96,21 @@ protected:
 	class GameHandler : public SaveHandler {
 	public:
 		GameHandler(GobEngine *vm, const Common::String &target);
-		~GameHandler();
+		~GameHandler() override;
 
-		int32 getSize();
-		bool load(int16 dataVar, int32 size, int32 offset);
-		bool save(int16 dataVar, int32 size, int32 offset);
+		int32 getSize() override;
+		bool load(int16 dataVar, int32 size, int32 offset) override;
+		bool save(int16 dataVar, int32 size, int32 offset) override;
 
 	private:
 		/** Slot file construction. */
 		class File : public SlotFileIndexed {
 		public:
 			File(GobEngine *vm, const Common::String &base);
-			~File();
+			~File() override;
 
-			int getSlot(int32 offset) const;
-			int getSlotRemainder(int32 offset) const;
+			int getSlot(int32 offset) const override;
+			int getSlotRemainder(int32 offset) const override;
 		};
 
 		File _file;
@@ -118,8 +118,8 @@ protected:
 
 	static SaveFile _saveFiles[];
 
-	SaveHandler *getHandler(const char *fileName) const;
-	const char *getDescription(const char *fileName) const;
+	SaveHandler *getHandler(const char *fileName) const override;
+	const char *getDescription(const char *fileName) const override;
 
 	const SaveFile *getSaveFile(const char *fileName) const;
 	SaveFile *getSaveFile(const char *fileName);
@@ -135,9 +135,9 @@ public:
 	static const uint32 kIndexSize = kSlotCount * kSlotNameLength;
 
 	SaveLoad_v2(GobEngine *vm, const char *targetName);
-	virtual ~SaveLoad_v2();
+	~SaveLoad_v2() override;
 
-	SaveMode getSaveMode(const char *fileName) const;
+	SaveMode getSaveMode(const char *fileName) const override;
 
 protected:
 	struct SaveFile {
@@ -151,21 +151,21 @@ protected:
 	class GameHandler : public SaveHandler {
 	public:
 		GameHandler(GobEngine *vm, const char *target);
-		~GameHandler();
+		~GameHandler() override;
 
-		int32 getSize();
-		bool load(int16 dataVar, int32 size, int32 offset);
-		bool save(int16 dataVar, int32 size, int32 offset);
+		int32 getSize() override;
+		bool load(int16 dataVar, int32 size, int32 offset) override;
+		bool save(int16 dataVar, int32 size, int32 offset) override;
 
 	private:
 		/** Slot file construction. */
 		class File : public SlotFileIndexed {
 		public:
 			File(GobEngine *vm, const char *base);
-			~File();
+			~File() override;
 
-			int getSlot(int32 offset) const;
-			int getSlotRemainder(int32 offset) const;
+			int getSlot(int32 offset) const override;
+			int getSlotRemainder(int32 offset) const override;
 		};
 
 		byte _index[kIndexSize];
@@ -182,8 +182,8 @@ protected:
 	NotesHandler *_notesHandler;
 	TempSpriteHandler *_tempSpriteHandler;
 
-	SaveHandler *getHandler(const char *fileName) const;
-	const char *getDescription(const char *fileName) const;
+	SaveHandler *getHandler(const char *fileName) const override;
+	const char *getDescription(const char *fileName) const override;
 
 	const SaveFile *getSaveFile(const char *fileName) const;
 	SaveFile *getSaveFile(const char *fileName);
@@ -199,9 +199,9 @@ public:
 	static const uint32 kIndexSize = kSlotCount * kSlotNameLength;
 
 	SaveLoad_Fascination(GobEngine *vm, const char *targetName);
-	virtual ~SaveLoad_Fascination();
+	~SaveLoad_Fascination() override;
 
-	SaveMode getSaveMode(const char *fileName) const;
+	SaveMode getSaveMode(const char *fileName) const override;
 
 protected:
 	struct SaveFile {
@@ -216,21 +216,21 @@ protected:
 	class GameHandler : public SaveHandler {
 	public:
 		GameHandler(GobEngine *vm, const char *target, int slot, byte *index, bool *hasIndex);
-		~GameHandler();
+		~GameHandler() override;
 
-		int32 getSize();
-		bool load(int16 dataVar, int32 size, int32 offset);
-		bool save(int16 dataVar, int32 size, int32 offset);
+		int32 getSize() override;
+		bool load(int16 dataVar, int32 size, int32 offset) override;
+		bool save(int16 dataVar, int32 size, int32 offset) override;
 
 	private:
 		/** Slot file construction. */
 		class File : public SlotFileIndexed {
 		public:
 			File(GobEngine *vm, const char *base);
-			~File();
+			~File() override;
 
-			int getSlot(int32 offset) const;
-			int getSlotRemainder(int32 offset) const;
+			int getSlot(int32 offset) const override;
+			int getSlotRemainder(int32 offset) const override;
 		};
 
 		byte *_index;
@@ -247,8 +247,8 @@ protected:
 
 	static SaveFile _saveFiles[];
 
-	SaveHandler *getHandler(const char *fileName) const;
-	const char *getDescription(const char *fileName) const;
+	SaveHandler *getHandler(const char *fileName) const override;
+	const char *getDescription(const char *fileName) const override;
 
 	const SaveFile *getSaveFile(const char *fileName) const;
 	SaveFile *getSaveFile(const char *fileName);
@@ -258,9 +258,9 @@ protected:
 class SaveLoad_AJWorld : public SaveLoad {
 public:
 	SaveLoad_AJWorld(GobEngine *vm, const char *targetName);
-	virtual ~SaveLoad_AJWorld();
+	~SaveLoad_AJWorld() override;
 
-	SaveMode getSaveMode(const char *fileName) const;
+	SaveMode getSaveMode(const char *fileName) const override;
 
 protected:
 	struct SaveFile {
@@ -274,8 +274,8 @@ protected:
 
 	TempSpriteHandler *_tempSpriteHandler;
 
-	SaveHandler *getHandler(const char *fileName) const;
-	const char *getDescription(const char *fileName) const;
+	SaveHandler *getHandler(const char *fileName) const override;
+	const char *getDescription(const char *fileName) const override;
 
 	const SaveFile *getSaveFile(const char *fileName) const;
 	SaveFile *getSaveFile(const char *fileName);
@@ -297,9 +297,9 @@ public:
 	};
 
 	SaveLoad_v3(GobEngine *vm, const char *targetName, ScreenshotType sShotType);
-	virtual ~SaveLoad_v3();
+	~SaveLoad_v3() override;
 
-	SaveMode getSaveMode(const char *fileName) const;
+	SaveMode getSaveMode(const char *fileName) const override;
 
 protected:
 	struct SaveFile {
@@ -317,11 +317,11 @@ protected:
 	public:
 
 		GameHandler(GobEngine *vm, const char *target, bool usesScreenshots);
-		~GameHandler();
+		~GameHandler() override;
 
-		int32 getSize();
-		bool load(int16 dataVar, int32 size, int32 offset);
-		bool save(int16 dataVar, int32 size, int32 offset);
+		int32 getSize() override;
+		bool load(int16 dataVar, int32 size, int32 offset) override;
+		bool save(int16 dataVar, int32 size, int32 offset) override;
 
 		bool saveScreenshot(int slot, const SavePartSprite *screenshot);
 		bool loadScreenshot(int slot, SavePartSprite *screenshot);
@@ -331,10 +331,10 @@ protected:
 		public:
 			File(GobEngine *vm, const char *base);
 			File(const File &file);
-			~File();
+			~File() override;
 
-			int getSlot(int32 offset) const;
-			int getSlotRemainder(int32 offset) const;
+			int getSlot(int32 offset) const override;
+			int getSlotRemainder(int32 offset) const override;
 		};
 	private:
 
@@ -363,11 +363,11 @@ protected:
 	class ScreenshotHandler : public TempSpriteHandler {
 	public:
 		ScreenshotHandler(GobEngine *vm, GameHandler *gameHandler, ScreenshotType sShotType);
-		~ScreenshotHandler();
+		~ScreenshotHandler() override;
 
-		int32 getSize();
-		bool load(int16 dataVar, int32 size, int32 offset);
-		bool save(int16 dataVar, int32 size, int32 offset);
+		int32 getSize() override;
+		bool load(int16 dataVar, int32 size, int32 offset) override;
+		bool save(int16 dataVar, int32 size, int32 offset) override;
 
 	private:
 		/** Slot file construction. */
@@ -375,10 +375,10 @@ protected:
 		public:
 			File(const SaveLoad_v3::GameHandler::File &file,
 					uint32 shotSize, uint32 shotIndexSize);
-			~File();
+			~File() override;
 
-			int getSlot(int32 offset) const;
-			int getSlotRemainder(int32 offset) const;
+			int getSlot(int32 offset) const override;
+			int getSlotRemainder(int32 offset) const override;
 
 			void buildScreenshotIndex(byte *buffer) const;
 
@@ -405,8 +405,8 @@ protected:
 	TempSpriteHandler *_tempSpriteHandler;
 	ScreenshotHandler *_screenshotHandler;
 
-	SaveHandler *getHandler(const char *fileName) const;
-	const char *getDescription(const char *fileName) const;
+	SaveHandler *getHandler(const char *fileName) const override;
+	const char *getDescription(const char *fileName) const override;
 
 	const SaveFile *getSaveFile(const char *fileName) const;
 	SaveFile *getSaveFile(const char *fileName);
@@ -419,9 +419,9 @@ public:
 	static const uint32 kPropsSize = 500;
 
 	SaveLoad_Inca2(GobEngine *vm, const char *targetName);
-	virtual ~SaveLoad_Inca2();
+	~SaveLoad_Inca2() override;
 
-	SaveMode getSaveMode(const char *fileName) const;
+	SaveMode getSaveMode(const char *fileName) const override;
 
 protected:
 	struct SaveFile {
@@ -435,11 +435,11 @@ protected:
 	class VoiceHandler : public SaveHandler {
 	public:
 		VoiceHandler(GobEngine *vm);
-		~VoiceHandler();
+		~VoiceHandler() override;
 
-		int32 getSize();
-		bool load(int16 dataVar, int32 size, int32 offset);
-		bool save(int16 dataVar, int32 size, int32 offset);
+		int32 getSize() override;
+		bool load(int16 dataVar, int32 size, int32 offset) override;
+		bool save(int16 dataVar, int32 size, int32 offset) override;
 	};
 
 	class ScreenshotHandler;
@@ -450,11 +450,11 @@ protected:
 	public:
 
 		GameHandler(GobEngine *vm, const char *target);
-		~GameHandler();
+		~GameHandler() override;
 
-		int32 getSize();
-		bool load(int16 dataVar, int32 size, int32 offset);
-		bool save(int16 dataVar, int32 size, int32 offset);
+		int32 getSize() override;
+		bool load(int16 dataVar, int32 size, int32 offset) override;
+		bool save(int16 dataVar, int32 size, int32 offset) override;
 
 		bool saveScreenshot(int slot, const SavePartSprite *screenshot);
 		bool loadScreenshot(int slot, SavePartSprite *screenshot);
@@ -464,10 +464,10 @@ protected:
 		public:
 			File(GobEngine *vm, const char *base);
 			File(const File &file);
-			~File();
+			~File() override;
 
-			int getSlot(int32 offset) const;
-			int getSlotRemainder(int32 offset) const;
+			int getSlot(int32 offset) const override;
+			int getSlotRemainder(int32 offset) const override;
 		};
 
 	private:
@@ -489,21 +489,21 @@ protected:
 	class ScreenshotHandler : public TempSpriteHandler {
 	public:
 		ScreenshotHandler(GobEngine *vm, GameHandler *gameHandler);
-		~ScreenshotHandler();
+		~ScreenshotHandler() override;
 
-		int32 getSize();
-		bool load(int16 dataVar, int32 size, int32 offset);
-		bool save(int16 dataVar, int32 size, int32 offset);
+		int32 getSize() override;
+		bool load(int16 dataVar, int32 size, int32 offset) override;
+		bool save(int16 dataVar, int32 size, int32 offset) override;
 
 	private:
 		/** Slot file construction. */
 		class File : public SaveLoad_Inca2::GameHandler::File {
 		public:
 			File(const SaveLoad_Inca2::GameHandler::File &file);
-			~File();
+			~File() override;
 
-			int getSlot(int32 offset) const;
-			int getSlotRemainder(int32 offset) const;
+			int getSlot(int32 offset) const override;
+			int getSlotRemainder(int32 offset) const override;
 
 			void buildScreenshotIndex(byte *buffer) const;
 		};
@@ -521,8 +521,8 @@ protected:
 	GameHandler       *_gameHandler;
 	ScreenshotHandler *_screenshotHandler;
 
-	SaveHandler *getHandler(const char *fileName) const;
-	const char *getDescription(const char *fileName) const;
+	SaveHandler *getHandler(const char *fileName) const override;
+	const char *getDescription(const char *fileName) const override;
 
 	const SaveFile *getSaveFile(const char *fileName) const;
 	SaveFile *getSaveFile(const char *fileName);
@@ -539,9 +539,9 @@ public:
 	static const uint32 kIndexSize = (kSlotCount * kSlotNameLength) + 800;
 
 	SaveLoad_v4(GobEngine *vm, const char *targetName);
-	virtual ~SaveLoad_v4();
+	~SaveLoad_v4() override;
 
-	SaveMode getSaveMode(const char *fileName) const;
+	SaveMode getSaveMode(const char *fileName) const override;
 
 protected:
 	struct SaveFile {
@@ -558,13 +558,13 @@ protected:
 	friend class SaveLoad_v4::ScreenPropsHandler;
 	public:
 		GameHandler(GobEngine *vm, const char *target);
-		~GameHandler();
+		~GameHandler() override;
 
 		int getLastSlot() const;
 
-		int32 getSize();
-		bool load(int16 dataVar, int32 size, int32 offset);
-		bool save(int16 dataVar, int32 size, int32 offset);
+		int32 getSize() override;
+		bool load(int16 dataVar, int32 size, int32 offset) override;
+		bool save(int16 dataVar, int32 size, int32 offset) override;
 
 		bool saveScreenProps(int slot, const byte *props);
 		bool loadScreenProps(int slot, byte *props);
@@ -574,10 +574,10 @@ protected:
 		public:
 			File(GobEngine *vm, const char *base);
 			File(const File &file);
-			~File();
+			~File() override;
 
-			int getSlot(int32 offset) const;
-			int getSlotRemainder(int32 offset) const;
+			int getSlot(int32 offset) const override;
+			int getSlotRemainder(int32 offset) const override;
 		};
 
 	private:
@@ -604,11 +604,11 @@ protected:
 	friend class SaveLoad_v4::ScreenPropsHandler;
 	public:
 		CurScreenPropsHandler(GobEngine *vm);
-		~CurScreenPropsHandler();
+		~CurScreenPropsHandler() override;
 
-		int32 getSize();
-		bool load(int16 dataVar, int32 size, int32 offset);
-		bool save(int16 dataVar, int32 size, int32 offset);
+		int32 getSize() override;
+		bool load(int16 dataVar, int32 size, int32 offset) override;
+		bool save(int16 dataVar, int32 size, int32 offset) override;
 
 	private:
 		byte *_props;
@@ -618,20 +618,20 @@ protected:
 	public:
 		ScreenPropsHandler(GobEngine *vm, uint32 slot,
 				CurScreenPropsHandler *curProps, GameHandler *gameHandler);
-		~ScreenPropsHandler();
+		~ScreenPropsHandler() override;
 
-		int32 getSize();
-		bool load(int16 dataVar, int32 size, int32 offset);
-		bool save(int16 dataVar, int32 size, int32 offset);
+		int32 getSize() override;
+		bool load(int16 dataVar, int32 size, int32 offset) override;
+		bool save(int16 dataVar, int32 size, int32 offset) override;
 
 	private:
 		class File : public SaveLoad_v4::GameHandler::File {
 		public:
 			File(const SaveLoad_v4::GameHandler::File &file, uint32 slot);
-			~File();
+			~File() override;
 
-			int getSlot(int32 offset) const;
-			int getSlotRemainder(int32 offset) const;
+			int getSlot(int32 offset) const override;
+			int getSlotRemainder(int32 offset) const override;
 
 		private:
 			uint32 _slot;
@@ -650,8 +650,8 @@ protected:
 	CurScreenPropsHandler *_curProps;
 	ScreenPropsHandler *_props[10];
 
-	SaveHandler *getHandler(const char *fileName) const;
-	const char *getDescription(const char *fileName) const;
+	SaveHandler *getHandler(const char *fileName) const override;
+	const char *getDescription(const char *fileName) const override;
 
 	const SaveFile *getSaveFile(const char *fileName) const;
 	SaveFile *getSaveFile(const char *fileName);
@@ -668,9 +668,9 @@ public:
 	static const uint32 kIndexSize = kSlotCount * kSlotNameLength;
 
 	SaveLoad_v6(GobEngine *vm, const char *targetName);
-	virtual ~SaveLoad_v6();
+	~SaveLoad_v6() override;
 
-	SaveMode getSaveMode(const char *fileName) const;
+	SaveMode getSaveMode(const char *fileName) const override;
 
 protected:
 	struct SaveFile {
@@ -684,7 +684,7 @@ protected:
 	class SpriteHandler : public TempSpriteHandler {
 	public:
 		SpriteHandler(GobEngine *vm);
-		~SpriteHandler();
+		~SpriteHandler() override;
 
 		bool set(SaveReader *reader, uint32 part);
 		bool get(SaveWriter *writer, uint32 part);
@@ -694,11 +694,11 @@ protected:
 	class GameHandler : public SaveHandler {
 	public:
 		GameHandler(GobEngine *vm, const char *target, SpriteHandler &spriteHandler);
-		~GameHandler();
+		~GameHandler() override;
 
-		int32 getSize();
-		bool load(int16 dataVar, int32 size, int32 offset);
-		bool save(int16 dataVar, int32 size, int32 offset);
+		int32 getSize() override;
+		bool load(int16 dataVar, int32 size, int32 offset) override;
+		bool save(int16 dataVar, int32 size, int32 offset) override;
 
 		uint8 getExtraID(int slot);
 		bool loadExtra(int slot, uint8 id, int16 dataVar, int32 size, int32 offset);
@@ -709,10 +709,10 @@ protected:
 		class File : public SlotFileIndexed {
 		public:
 			File(GobEngine *vm, const char *base);
-			~File();
+			~File() override;
 
-			int getSlot(int32 offset) const;
-			int getSlotRemainder(int32 offset) const;
+			int getSlot(int32 offset) const override;
+			int getSlotRemainder(int32 offset) const override;
 		};
 
 		SpriteHandler *_spriteHandler;
@@ -739,17 +739,17 @@ protected:
 	class AutoHandler : public SaveHandler {
 	public:
 		AutoHandler(GobEngine *vm, const Common::String &target);
-		~AutoHandler();
+		~AutoHandler() override;
 
-		int32 getSize();
-		bool load(int16 dataVar, int32 size, int32 offset);
-		bool save(int16 dataVar, int32 size, int32 offset);
+		int32 getSize() override;
+		bool load(int16 dataVar, int32 size, int32 offset) override;
+		bool save(int16 dataVar, int32 size, int32 offset) override;
 
 	private:
 		class File : public SlotFileStatic {
 		public:
 			File(GobEngine *vm, const Common::String &base);
-			~File();
+			~File() override;
 		};
 
 		File _file;
@@ -759,17 +759,17 @@ protected:
 	class AutoSpriteHandler : public TempSpriteHandler {
 	public:
 		AutoSpriteHandler(GobEngine *vm, const Common::String &target);
-		~AutoSpriteHandler();
+		~AutoSpriteHandler() override;
 
-		int32 getSize();
-		bool load(int16 dataVar, int32 size, int32 offset);
-		bool save(int16 dataVar, int32 size, int32 offset);
+		int32 getSize() override;
+		bool load(int16 dataVar, int32 size, int32 offset) override;
+		bool save(int16 dataVar, int32 size, int32 offset) override;
 
 	private:
 		class File : public SlotFileStatic {
 		public:
 			File(GobEngine *vm, const Common::String &base);
-			~File();
+			~File() override;
 		};
 
 		File _file;
@@ -779,12 +779,12 @@ protected:
 	class TempHandler : public SaveHandler {
 	public:
 		TempHandler(GobEngine *vm);
-		~TempHandler();
+		~TempHandler() override;
 
-		int32 getSize();
-		bool load(int16 dataVar, int32 size, int32 offset);
-		bool save(int16 dataVar, int32 size, int32 offset);
-		bool deleteFile();
+		int32 getSize() override;
+		bool load(int16 dataVar, int32 size, int32 offset) override;
+		bool save(int16 dataVar, int32 size, int32 offset) override;
+		bool deleteFile() override;
 
 	private:
 		bool _empty;
@@ -796,11 +796,11 @@ protected:
 	class ExtraHandler : public SaveHandler {
 	public:
 		ExtraHandler(GobEngine *vm, GameHandler &game, uint8 id, int slot);
-		~ExtraHandler();
+		~ExtraHandler() override;
 
-		int32 getSize();
-		bool load(int16 dataVar, int32 size, int32 offset);
-		bool save(int16 dataVar, int32 size, int32 offset);
+		int32 getSize() override;
+		bool load(int16 dataVar, int32 size, int32 offset) override;
+		bool save(int16 dataVar, int32 size, int32 offset) override;
 
 	private:
 		uint8 _id;
@@ -818,8 +818,8 @@ protected:
 	TempHandler       *_tmpHandler[2];
 	ExtraHandler      *_extraHandler[120];
 
-	SaveHandler *getHandler(const char *fileName) const;
-	const char *getDescription(const char *fileName) const;
+	SaveHandler *getHandler(const char *fileName) const override;
+	const char *getDescription(const char *fileName) const override;
 
 	const SaveFile *getSaveFile(const char *fileName) const;
 	SaveFile *getSaveFile(const char *fileName);
@@ -836,9 +836,9 @@ public:
 	static const uint32 kIndexSize = kSlotCount * kSlotNameLength;
 
 	SaveLoad_Playtoons(GobEngine *vm, const char *targetName);
-	virtual ~SaveLoad_Playtoons();
+	~SaveLoad_Playtoons() override;
 
-	SaveMode getSaveMode(const char *fileName) const;
+	SaveMode getSaveMode(const char *fileName) const override;
 
 protected:
 	struct SaveFile {
@@ -852,21 +852,21 @@ protected:
 	class GameHandler : public SaveHandler {
 	public:
 		GameHandler(GobEngine *vm, const char *target);
-		~GameHandler();
+		~GameHandler() override;
 
-		int32 getSize();
-		bool load(int16 dataVar, int32 size, int32 offset);
-		bool save(int16 dataVar, int32 size, int32 offset);
+		int32 getSize() override;
+		bool load(int16 dataVar, int32 size, int32 offset) override;
+		bool save(int16 dataVar, int32 size, int32 offset) override;
 
 	private:
 		/** Slot file construction. */
 		class File : public SlotFileIndexed {
 		public:
 			File(GobEngine *vm, const char *base);
-			~File();
+			~File() override;
 
-			int getSlot(int32 offset) const;
-			int getSlotRemainder(int32 offset) const;
+			int getSlot(int32 offset) const override;
+			int getSlotRemainder(int32 offset) const override;
 		};
 
 		byte _props[kPropsSize];
@@ -882,8 +882,8 @@ protected:
 
 	GameHandler *_gameHandler;
 
-	SaveHandler *getHandler(const char *fileName) const;
-	const char *getDescription(const char *fileName) const;
+	SaveHandler *getHandler(const char *fileName) const override;
+	const char *getDescription(const char *fileName) const override;
 
 	const SaveFile *getSaveFile(const char *fileName) const;
 	SaveFile *getSaveFile(const char *fileName);
@@ -895,9 +895,9 @@ public:
 	static const uint32 kChildrenCount = 16;
 
 	SaveLoad_v7(GobEngine *vm, const char *targetName);
-	virtual ~SaveLoad_v7();
+	~SaveLoad_v7() override;
 
-	SaveMode getSaveMode(const char *fileName) const;
+	SaveMode getSaveMode(const char *fileName) const override;
 
 protected:
 	struct SaveFile {
@@ -916,8 +916,8 @@ protected:
 	FakeFileHandler   *_addy4BaseHandler[2];
 	FakeFileHandler   *_addy4GrundschuleHandler[11];
 
-	SaveHandler *getHandler(const char *fileName) const;
-	const char *getDescription(const char *fileName) const;
+	SaveHandler *getHandler(const char *fileName) const override;
+	const char *getDescription(const char *fileName) const override;
 
 	const SaveFile *getSaveFile(const char *fileName) const;
 	SaveFile *getSaveFile(const char *fileName);
diff --git a/engines/gob/scenery.h b/engines/gob/scenery.h
index 3aae8d5..56c7536 100644
--- a/engines/gob/scenery.h
+++ b/engines/gob/scenery.h
@@ -152,18 +152,18 @@ protected:
 
 class Scenery_v1 : public Scenery {
 public:
-	virtual int16 loadAnim(char search);
+	int16 loadAnim(char search) override;
 
 	Scenery_v1(GobEngine *vm);
-	virtual ~Scenery_v1() {}
+	~Scenery_v1() override {}
 };
 
 class Scenery_v2 : public Scenery_v1 {
 public:
-	virtual int16 loadAnim(char search);
+	int16 loadAnim(char search) override;
 
 	Scenery_v2(GobEngine *vm);
-	virtual ~Scenery_v2() {}
+	~Scenery_v2() override {}
 };
 
 } // End of namespace Gob
diff --git a/engines/gob/sound/adlplayer.h b/engines/gob/sound/adlplayer.h
index 50e1db5..af72ad0 100644
--- a/engines/gob/sound/adlplayer.h
+++ b/engines/gob/sound/adlplayer.h
@@ -37,7 +37,7 @@ namespace Gob {
 class ADLPlayer : public AdLib {
 public:
 	ADLPlayer();
-	~ADLPlayer();
+	~ADLPlayer() override;
 
 	bool load(Common::SeekableReadStream &adl);
 	bool load(const byte *data, uint32 dataSize, int index = -1);
@@ -47,8 +47,8 @@ public:
 
 protected:
 	// AdLib interface
-	uint32 pollMusic(bool first);
-	void rewind();
+	uint32 pollMusic(bool first) override;
+	void rewind() override;
 
 private:
 	struct Timbre {
diff --git a/engines/gob/sound/bgatmosphere.h b/engines/gob/sound/bgatmosphere.h
index 138b65a..504358a 100644
--- a/engines/gob/sound/bgatmosphere.h
+++ b/engines/gob/sound/bgatmosphere.h
@@ -41,7 +41,7 @@ class SoundDesc;
 class BackgroundAtmosphere : private SoundMixer {
 public:
 	BackgroundAtmosphere(Audio::Mixer &mixer);
-	~BackgroundAtmosphere();
+	~BackgroundAtmosphere() override;
 
 	void playBA();
 	void stopBA();
@@ -67,7 +67,7 @@ private:
 
 	Common::RandomSource _rnd;
 
-	void checkEndSample();
+	void checkEndSample() override;
 	void getNextQueuePos();
 };
 
diff --git a/engines/gob/sound/musplayer.h b/engines/gob/sound/musplayer.h
index 973192f..0533ac0 100644
--- a/engines/gob/sound/musplayer.h
+++ b/engines/gob/sound/musplayer.h
@@ -41,7 +41,7 @@ namespace Gob {
 class MUSPlayer : public AdLib {
 public:
 	MUSPlayer();
-	~MUSPlayer();
+	~MUSPlayer() override;
 
 	/** Load the instruments (.SND or .TBR) */
 	bool loadSND(Common::SeekableReadStream &snd);
@@ -55,8 +55,8 @@ public:
 
 protected:
 	// AdLib interface
-	uint32 pollMusic(bool first);
-	void rewind();
+	uint32 pollMusic(bool first) override;
+	void rewind() override;
 
 private:
 	struct Timbre {
diff --git a/engines/gob/sound/soundblaster.h b/engines/gob/sound/soundblaster.h
index 8abed62..83924ca 100644
--- a/engines/gob/sound/soundblaster.h
+++ b/engines/gob/sound/soundblaster.h
@@ -38,7 +38,7 @@ class SoundDesc;
 class SoundBlaster : public SoundMixer {
 public:
 	SoundBlaster(Audio::Mixer &mixer);
-	~SoundBlaster();
+	~SoundBlaster() override;
 
 	void playSample(SoundDesc &sndDesc, int16 repCount,
 			int16 frequency, int16 fadeLength = 0);
@@ -64,9 +64,9 @@ protected:
 	SoundDesc *_curSoundDesc;
 
 	void setSample(SoundDesc &sndDesc, int16 repCount,
-			int16 frequency, int16 fadeLength);
-	void checkEndSample();
-	void endFade();
+			int16 frequency, int16 fadeLength) override;
+	void checkEndSample() override;
+	void endFade() override;
 
 	void nextCompositionPos();
 };
diff --git a/engines/gob/sound/soundmixer.h b/engines/gob/sound/soundmixer.h
index 791f97e..bf9c883 100644
--- a/engines/gob/sound/soundmixer.h
+++ b/engines/gob/sound/soundmixer.h
@@ -35,7 +35,7 @@ class SoundDesc;
 class SoundMixer : public Audio::AudioStream {
 public:
 	SoundMixer(Audio::Mixer &mixer, Audio::Mixer::SoundType type);
-	~SoundMixer();
+	~SoundMixer() override;
 
 	virtual void play(SoundDesc &sndDesc, int16 repCount,
 			int16 frequency, int16 fadeLength = 0);
@@ -46,11 +46,11 @@ public:
 
 	void setRepeating(int32 repCount);
 
-	int readBuffer(int16 *buffer, const int numSamples);
-	bool isStereo() const { return false; }
-	bool endOfData() const { return _end; }
-	bool endOfStream() const { return false; }
-	int getRate() const { return _rate; }
+	int readBuffer(int16 *buffer, const int numSamples) override;
+	bool isStereo() const override { return false; }
+	bool endOfData() const override { return _end; }
+	bool endOfStream() const override { return false; }
+	int getRate() const override { return _rate; }
 
 protected:
 	Audio::Mixer *_mixer;
diff --git a/engines/gob/variables.h b/engines/gob/variables.h
index a836e82..37ae82c 100644
--- a/engines/gob/variables.h
+++ b/engines/gob/variables.h
@@ -98,31 +98,31 @@ private:
 class VariablesLE : public Variables {
 public:
 	VariablesLE(uint32 size);
-	~VariablesLE();
+	~VariablesLE() override;
 
 protected:
-	void write8(byte *buf, uint8 data) const;
-	void write16(byte *buf, uint16 data) const;
-	void write32(byte *buf, uint32 data) const;
+	void write8(byte *buf, uint8 data) const override;
+	void write16(byte *buf, uint16 data) const override;
+	void write32(byte *buf, uint32 data) const override;
 
-	uint8 read8(const byte *buf) const;
-	uint16 read16(const byte *buf) const;
-	uint32 read32(const byte *buf) const;
+	uint8 read8(const byte *buf) const override;
+	uint16 read16(const byte *buf) const override;
+	uint32 read32(const byte *buf) const override;
 };
 
 class VariablesBE : public Variables {
 public:
 	VariablesBE(uint32 size);
-	~VariablesBE();
+	~VariablesBE() override;
 
 protected:
-	void write8(byte *buf, uint8 data) const;
-	void write16(byte *buf, uint16 data) const;
-	void write32(byte *buf, uint32 data) const;
+	void write8(byte *buf, uint8 data) const override;
+	void write16(byte *buf, uint16 data) const override;
+	void write32(byte *buf, uint32 data) const override;
 
-	uint8 read8(const byte *buf) const;
-	uint16 read16(const byte *buf) const;
-	uint32 read32(const byte *buf) const;
+	uint8 read8(const byte *buf) const override;
+	uint16 read16(const byte *buf) const override;
+	uint32 read32(const byte *buf) const override;
 };
 
 class VariableReference {
diff --git a/engines/gob/video.h b/engines/gob/video.h
index 57ec4fb..37d01de 100644
--- a/engines/gob/video.h
+++ b/engines/gob/video.h
@@ -163,29 +163,29 @@ protected:
 
 class Video_v1 : public Video {
 public:
-	virtual char spriteUncompressor(byte *sprBuf, int16 srcWidth, int16 srcHeight,
-			int16 x, int16 y, int16 transp, Surface &destDesc);
+	char spriteUncompressor(byte *sprBuf, int16 srcWidth, int16 srcHeight,
+			int16 x, int16 y, int16 transp, Surface &destDesc) override;
 
 	Video_v1(GobEngine *vm);
-	virtual ~Video_v1() {}
+	~Video_v1() override {}
 };
 
 class Video_v2 : public Video_v1 {
 public:
-	virtual char spriteUncompressor(byte *sprBuf, int16 srcWidth, int16 srcHeight,
-			int16 x, int16 y, int16 transp, Surface &destDesc);
+	char spriteUncompressor(byte *sprBuf, int16 srcWidth, int16 srcHeight,
+			int16 x, int16 y, int16 transp, Surface &destDesc) override;
 
 	Video_v2(GobEngine *vm);
-	virtual ~Video_v2() {}
+	~Video_v2() override {}
 };
 
 class Video_v6 : public Video_v2 {
 public:
-	virtual char spriteUncompressor(byte *sprBuf, int16 srcWidth, int16 srcHeight,
-			int16 x, int16 y, int16 transp, Surface &destDesc);
+	char spriteUncompressor(byte *sprBuf, int16 srcWidth, int16 srcHeight,
+			int16 x, int16 y, int16 transp, Surface &destDesc) override;
 
 	Video_v6(GobEngine *vm);
-	virtual ~Video_v6() {}
+	~Video_v6() override {}
 
 private:
 	void drawPacked(const byte *sprBuf, int16 x, int16 y, Surface &surfDesc);


Commit: a00fdb50406c639738f0591f1e63f6882febda8e
    https://github.com/scummvm/scummvm/commit/a00fdb50406c639738f0591f1e63f6882febda8e
Author: Bastien Bouclet (bastien.bouclet at gmail.com)
Date: 2020-02-09T12:43:15+01:00

Commit Message:
GRIFFON: Add override keywords

Changed paths:
    engines/griffon/console.h
    engines/griffon/detection.cpp
    engines/griffon/griffon.h


diff --git a/engines/griffon/console.h b/engines/griffon/console.h
index 471c414..a840bd7 100644
--- a/engines/griffon/console.h
+++ b/engines/griffon/console.h
@@ -38,7 +38,7 @@ public:
 	int _godMode;
 
 	explicit Console();
-	virtual ~Console(void) {}
+	~Console(void) override {}
 
 	bool Cmd_godMode(int argc, const char** argv);
 	bool Cmd_noDamage(int argc, const char** argv);
diff --git a/engines/griffon/detection.cpp b/engines/griffon/detection.cpp
index 1e42239..ec69737 100644
--- a/engines/griffon/detection.cpp
+++ b/engines/griffon/detection.cpp
@@ -52,23 +52,23 @@ public:
 	GriffonMetaEngine() : AdvancedMetaEngine(Griffon::gameDescriptions, sizeof(ADGameDescription), griffonGames) {
 	}
 
-	virtual const char *getEngineId() const {
+	const char *getEngineId() const override {
 		return "griffon";
 	}
 
-	virtual const char *getName() const {
+	const char *getName() const override {
 		return "Griffon Engine";
 	}
 
-	virtual int getMaximumSaveSlot() const {
+	int getMaximumSaveSlot() const override {
 		return ConfMan.getInt("autosave_period") ? 4 : 3;
 	}
 
-	virtual const char *getOriginalCopyright() const {
+	const char *getOriginalCopyright() const override {
 		return "The Griffon Legend (c) 2005 Syn9 (Daniel Kennedy)";
 	}
 
-	virtual bool createInstance(OSystem *syst, Engine **engine, const ADGameDescription *desc) const;
+	bool createInstance(OSystem *syst, Engine **engine, const ADGameDescription *desc) const override;
 };
 
 bool Griffon::GriffonEngine::hasFeature(EngineFeature f) const {
diff --git a/engines/griffon/griffon.h b/engines/griffon/griffon.h
index 56422f5..08c3d55 100644
--- a/engines/griffon/griffon.h
+++ b/engines/griffon/griffon.h
@@ -331,10 +331,10 @@ enum {
 class GriffonEngine : public Engine {
 public:
 	GriffonEngine(OSystem *syst);
-	~GriffonEngine();
+	~GriffonEngine() override;
 
-	virtual Common::Error run() override;
-	virtual void syncSoundSettings() override;
+	Common::Error run() override;
+	void syncSoundSettings() override;
 
 private:
 	Common::RandomSource *_rnd;
@@ -414,12 +414,12 @@ private:
 	void loadObjectDB();
 
 	// saveload.cpp
-	virtual Common::String getSaveStateName(int slot) const override;
+	Common::String getSaveStateName(int slot) const override;
 	int loadPlayer(int slotnum);
-	virtual Common::Error loadGameState(int slot) override;
-	virtual Common::Error saveGameState(int slot, const Common::String &desc, bool isAutosave) override;
-	virtual Common::Error loadGameStream(Common::SeekableReadStream *file) override;
-	virtual Common::Error saveGameStream(Common::WriteStream *file, bool isAutosave) override;
+	Common::Error loadGameState(int slot) override;
+	Common::Error saveGameState(int slot, const Common::String &desc, bool isAutosave) override;
+	Common::Error loadGameStream(Common::SeekableReadStream *file) override;
+	Common::Error saveGameStream(Common::WriteStream *file, bool isAutosave) override;
 	void autoSaveCheck();
 
 	// sound.cpp
@@ -433,9 +433,9 @@ private:
 	void setupAudio();
 	void updateMusic();
 
-	virtual bool canLoadGameStateCurrently() override { return true; }
-	virtual bool canSaveGameStateCurrently() override { return _gameMode == kGameModePlay; }
-	virtual bool hasFeature(EngineFeature f) const override;
+	bool canLoadGameStateCurrently() override { return true; }
+	bool canSaveGameStateCurrently() override { return _gameMode == kGameModePlay; }
+	bool hasFeature(EngineFeature f) const override;
 
 private:
 	Graphics::TransparentSurface *_video, *_videoBuffer, *_videoBuffer2, *_videoBuffer3;


Commit: 0735a923e4d41edcb73e4753f87093600cc3d460
    https://github.com/scummvm/scummvm/commit/0735a923e4d41edcb73e4753f87093600cc3d460
Author: Bastien Bouclet (bastien.bouclet at gmail.com)
Date: 2020-02-09T12:43:15+01:00

Commit Message:
GROOVIE: Add override keywords

Changed paths:
    engines/groovie/cursor.cpp
    engines/groovie/cursor.h
    engines/groovie/debug.h
    engines/groovie/font.h
    engines/groovie/groovie.h
    engines/groovie/lzss.h
    engines/groovie/music.h
    engines/groovie/resource.h
    engines/groovie/roq.h
    engines/groovie/stuffit.cpp
    engines/groovie/vdx.h


diff --git a/engines/groovie/cursor.cpp b/engines/groovie/cursor.cpp
index d566980..6d17e39 100644
--- a/engines/groovie/cursor.cpp
+++ b/engines/groovie/cursor.cpp
@@ -88,8 +88,8 @@ class Cursor_t7g : public Cursor {
 public:
 	Cursor_t7g(uint8 *img, uint8 *pal);
 
-	void enable();
-	void showFrame(uint16 frame);
+	void enable() override;
+	void showFrame(uint16 frame) override;
 
 private:
 	byte *_img;
@@ -237,10 +237,10 @@ byte *GrvCursorMan_t7g::loadPalette(Common::SeekableReadStream &file) {
 class Cursor_v2 : public Cursor {
 public:
 	Cursor_v2(Common::File &file);
-	~Cursor_v2();
+	~Cursor_v2() override;
 
-	void enable();
-	void showFrame(uint16 frame);
+	void enable() override;
+	void showFrame(uint16 frame) override;
 
 private:
 	// Currently locked to 16bit
diff --git a/engines/groovie/cursor.h b/engines/groovie/cursor.h
index bf91112..07e0400 100644
--- a/engines/groovie/cursor.h
+++ b/engines/groovie/cursor.h
@@ -71,7 +71,7 @@ protected:
 class GrvCursorMan_t7g : public GrvCursorMan {
 public:
 	GrvCursorMan_t7g(OSystem *system, Common::MacResManager *macResFork = 0);
-	~GrvCursorMan_t7g();
+	~GrvCursorMan_t7g() override;
 
 private:
 	// Styles data
@@ -90,9 +90,9 @@ private:
 class GrvCursorMan_v2 : public GrvCursorMan {
 public:
 	GrvCursorMan_v2(OSystem *system);
-	~GrvCursorMan_v2();
+	~GrvCursorMan_v2() override;
 
-	void setStyle(uint8 newStyle);
+	void setStyle(uint8 newStyle) override;
 };
 
 } // End of Groovie namespace
diff --git a/engines/groovie/debug.h b/engines/groovie/debug.h
index b99d6c6..2d6b3ce 100644
--- a/engines/groovie/debug.h
+++ b/engines/groovie/debug.h
@@ -33,7 +33,7 @@ class Script;
 class Debugger : public GUI::Debugger {
 public:
 	Debugger(GroovieEngine *vm);
-	~Debugger();
+	~Debugger() override;
 
 private:
 	GroovieEngine *_vm;
diff --git a/engines/groovie/font.h b/engines/groovie/font.h
index 5c479b6..fa30ec6 100644
--- a/engines/groovie/font.h
+++ b/engines/groovie/font.h
@@ -31,14 +31,14 @@ namespace Groovie {
 class T7GFont : public Graphics::Font {
 public:
 	T7GFont();
-	~T7GFont();
+	~T7GFont() override;
 
 	bool load(Common::SeekableReadStream &stream);
 
-	int getFontHeight() const { return _maxHeight; }
-	int getMaxCharWidth() const { return _maxWidth; }
-	int getCharWidth(uint32 chr) const { return getGlyph(chr)->width; }
-	void drawChar(Graphics::Surface *dst, uint32 chr, int x, int y, uint32 color) const;
+	int getFontHeight() const override { return _maxHeight; }
+	int getMaxCharWidth() const override { return _maxWidth; }
+	int getCharWidth(uint32 chr) const override { return getGlyph(chr)->width; }
+	void drawChar(Graphics::Surface *dst, uint32 chr, int x, int y, uint32 color) const override;
 
 private:
 	int _maxHeight, _maxWidth;
diff --git a/engines/groovie/groovie.h b/engines/groovie/groovie.h
index a6d4a42..b322b89 100644
--- a/engines/groovie/groovie.h
+++ b/engines/groovie/groovie.h
@@ -91,7 +91,7 @@ struct GroovieGameDescription;
 class GroovieEngine : public Engine {
 public:
 	GroovieEngine(OSystem *syst, const GroovieGameDescription *gd);
-	~GroovieEngine();
+	~GroovieEngine() override;
 
 	Common::Platform getPlatform() const;
 
@@ -100,15 +100,15 @@ protected:
 	// Engine APIs
 	Common::Error run() override;
 
-	virtual bool hasFeature(EngineFeature f) const override;
+	bool hasFeature(EngineFeature f) const override;
 
-	virtual bool canLoadGameStateCurrently() override;
-	virtual bool canSaveGameStateCurrently() override;
-	virtual Common::Error loadGameState(int slot) override;
-	virtual Common::Error saveGameState(int slot, const Common::String &desc) override;
-	virtual void syncSoundSettings() override;
+	bool canLoadGameStateCurrently() override;
+	bool canSaveGameStateCurrently() override;
+	Common::Error loadGameState(int slot) override;
+	Common::Error saveGameState(int slot, const Common::String &desc) override;
+	void syncSoundSettings() override;
 
-	virtual Debugger *getDebugger() override { return _debugger; }
+	Debugger *getDebugger() override { return _debugger; }
 
 public:
 	void waitForInput();
diff --git a/engines/groovie/lzss.h b/engines/groovie/lzss.h
index 06b07a9..3d879c8 100644
--- a/engines/groovie/lzss.h
+++ b/engines/groovie/lzss.h
@@ -34,10 +34,10 @@ private:
 
 public:
 	LzssReadStream(Common::ReadStream *indata, uint8 lengthmask, uint8 lengthbits);
-	~LzssReadStream();
+	~LzssReadStream() override;
 
-	bool eos() const;
-	uint32 read(void *buf, uint32 size);
+	bool eos() const override;
+	uint32 read(void *buf, uint32 size) override;
 };
 
 } // End of Groovie namespace
diff --git a/engines/groovie/music.h b/engines/groovie/music.h
index 8b46cdd..27bc7a5 100644
--- a/engines/groovie/music.h
+++ b/engines/groovie/music.h
@@ -94,11 +94,11 @@ protected:
 class MusicPlayerMidi : public MusicPlayer, public MidiDriver_BASE {
 public:
 	MusicPlayerMidi(GroovieEngine *vm);
-	~MusicPlayerMidi();
+	~MusicPlayerMidi() override;
 
 	// MidiDriver_BASE interface
-	virtual void send(uint32 b);
-	virtual void metaEvent(byte type, byte *data, uint16 length);
+	void send(uint32 b) override;
+	void metaEvent(byte type, byte *data, uint16 length) override;
 
 private:
 	// Channel volumes
@@ -112,9 +112,9 @@ protected:
 	MidiParser *_midiParser;
 	MidiDriver *_driver;
 
-	virtual void onTimerInternal();
-	void updateVolume();
-	void unload();
+	void onTimerInternal() override;
+	void updateVolume() override;
+	void unload() override;
 
 	bool loadParser(Common::SeekableReadStream *stream, bool loop);
 };
@@ -122,12 +122,12 @@ protected:
 class MusicPlayerXMI : public MusicPlayerMidi {
 public:
 	MusicPlayerXMI(GroovieEngine *vm, const Common::String &gtlName);
-	~MusicPlayerXMI();
+	~MusicPlayerXMI() override;
 
-	void send(uint32 b);
+	void send(uint32 b) override;
 
 protected:
-	bool load(uint32 fileref, bool loop);
+	bool load(uint32 fileref, bool loop) override;
 
 private:
 	// Channel banks
@@ -159,7 +159,7 @@ public:
 	MusicPlayerMac_t7g(GroovieEngine *vm);
 
 protected:
-	bool load(uint32 fileref, bool loop);
+	bool load(uint32 fileref, bool loop) override;
 
 private:
 	Common::SeekableReadStream *decompressMidi(Common::SeekableReadStream *stream);
@@ -170,18 +170,18 @@ public:
 	MusicPlayerMac_v2(GroovieEngine *vm);
 
 protected:
-	bool load(uint32 fileref, bool loop);
+	bool load(uint32 fileref, bool loop) override;
 };
 
 class MusicPlayerIOS : public MusicPlayer {
 public:
 	MusicPlayerIOS(GroovieEngine *vm);
-	~MusicPlayerIOS();
+	~MusicPlayerIOS() override;
 
 protected:
-	void updateVolume();
-	bool load(uint32 fileref, bool loop);
-	void unload();
+	void updateVolume() override;
+	bool load(uint32 fileref, bool loop) override;
+	void unload() override;
 
 private:
 	Audio::SoundHandle _handle;
diff --git a/engines/groovie/resource.h b/engines/groovie/resource.h
index 11a861d..3b361cb 100644
--- a/engines/groovie/resource.h
+++ b/engines/groovie/resource.h
@@ -54,10 +54,10 @@ protected:
 class ResMan_t7g : public ResMan {
 public:
 	ResMan_t7g(Common::MacResManager *macResFork = 0);
-	~ResMan_t7g() {}
+	~ResMan_t7g() override {}
 
-	uint32 getRef(Common::String name, Common::String scriptname);
-	bool getResInfo(uint32 fileRef, ResInfo &resInfo);
+	uint32 getRef(Common::String name, Common::String scriptname) override;
+	bool getResInfo(uint32 fileRef, ResInfo &resInfo) override;
 
 private:
 	Common::MacResManager *_macResFork;
@@ -66,10 +66,10 @@ private:
 class ResMan_v2 : public ResMan {
 public:
 	ResMan_v2();
-	~ResMan_v2() {}
+	~ResMan_v2() override {}
 
-	uint32 getRef(Common::String name, Common::String scriptname);
-	bool getResInfo(uint32 fileRef, ResInfo &resInfo);
+	uint32 getRef(Common::String name, Common::String scriptname) override;
+	bool getResInfo(uint32 fileRef, ResInfo &resInfo) override;
 };
 
 } // End of Groovie namespace
diff --git a/engines/groovie/roq.h b/engines/groovie/roq.h
index ce1a3a2..11b97ef 100644
--- a/engines/groovie/roq.h
+++ b/engines/groovie/roq.h
@@ -38,11 +38,11 @@ struct ROQBlockHeader {
 class ROQPlayer : public VideoPlayer {
 public:
 	ROQPlayer(GroovieEngine *vm);
-	~ROQPlayer();
+	~ROQPlayer() override;
 
 protected:
-	uint16 loadInternal();
-	bool playFrameInternal();
+	uint16 loadInternal() override;
+	bool playFrameInternal() override;
 
 private:
 	bool readBlockHeader(ROQBlockHeader &blockHeader);
diff --git a/engines/groovie/stuffit.cpp b/engines/groovie/stuffit.cpp
index 4543e37..e78a806 100644
--- a/engines/groovie/stuffit.cpp
+++ b/engines/groovie/stuffit.cpp
@@ -41,17 +41,17 @@ struct SIT14Data;
 class StuffItArchive : public Common::Archive {
 public:
 	StuffItArchive();
-	~StuffItArchive();
+	~StuffItArchive() override;
 
 	bool open(const Common::String &filename);
 	void close();
 	bool isOpen() const { return _stream != 0; }
 
 	// Common::Archive API implementation
-	bool hasFile(const Common::String &name) const;
-	int listMembers(Common::ArchiveMemberList &list) const;
-	const Common::ArchiveMemberPtr getMember(const Common::String &name) const;
-	Common::SeekableReadStream *createReadStreamForMember(const Common::String &name) const;
+	bool hasFile(const Common::String &name) const override;
+	int listMembers(Common::ArchiveMemberList &list) const override;
+	const Common::ArchiveMemberPtr getMember(const Common::String &name) const override;
+	Common::SeekableReadStream *createReadStreamForMember(const Common::String &name) const override;
 
 private:
 	struct FileEntry {
diff --git a/engines/groovie/vdx.h b/engines/groovie/vdx.h
index 328e6e4..219bd96 100644
--- a/engines/groovie/vdx.h
+++ b/engines/groovie/vdx.h
@@ -34,13 +34,13 @@ namespace Groovie {
 class VDXPlayer : public VideoPlayer {
 public:
 	VDXPlayer(GroovieEngine *vm);
-	~VDXPlayer();
-	void resetFlags();
-	void setOrigin(int16 x, int16 y);
+	~VDXPlayer() override;
+	void resetFlags() override;
+	void setOrigin(int16 x, int16 y) override;
 
 protected:
-	uint16 loadInternal();
-	bool playFrameInternal();
+	uint16 loadInternal() override;
+	bool playFrameInternal() override;
 
 private:
 	Graphics::Surface *_fg, *_bg;


Commit: 68fbf9135dd0200b48478010c899cc7623a68b39
    https://github.com/scummvm/scummvm/commit/68fbf9135dd0200b48478010c899cc7623a68b39
Author: Bastien Bouclet (bastien.bouclet at gmail.com)
Date: 2020-02-09T12:43:15+01:00

Commit Message:
HDB: Add override keywords

Changed paths:
    engines/hdb/detection.cpp
    engines/hdb/hdb.h


diff --git a/engines/hdb/detection.cpp b/engines/hdb/detection.cpp
index afb8494..680c8b1 100644
--- a/engines/hdb/detection.cpp
+++ b/engines/hdb/detection.cpp
@@ -173,20 +173,20 @@ public:
 		return "hdb";
 	}
 
-	virtual const char *getName() const override {
+	const char *getName() const override {
 		return "Hyperspace Delivery Boy!";
 	}
 
-	virtual const char *getOriginalCopyright() const override {
+	const char *getOriginalCopyright() const override {
 		return "Hyperspace Delivery Boy! (C) 2001 Monkeystone Games";
 	}
 
-	virtual bool hasFeature(MetaEngineFeature f) const override;
-	virtual int getMaximumSaveSlot() const override;
-	virtual void removeSaveState(const char *target, int slot) const override;
-	virtual SaveStateList listSaves(const char *target) const override;
+	bool hasFeature(MetaEngineFeature f) const override;
+	int getMaximumSaveSlot() const override;
+	void removeSaveState(const char *target, int slot) const override;
+	SaveStateList listSaves(const char *target) const override;
 	SaveStateDescriptor querySaveMetaInfos(const char *target, int slot) const override;
-	virtual bool createInstance(OSystem *syst, Engine **engine, const ADGameDescription *desc) const override;
+	bool createInstance(OSystem *syst, Engine **engine, const ADGameDescription *desc) const override;
 };
 
 bool HDBMetaEngine::hasFeature(MetaEngineFeature f) const {
diff --git a/engines/hdb/hdb.h b/engines/hdb/hdb.h
index 8a23bdb..ad2a7ba 100644
--- a/engines/hdb/hdb.h
+++ b/engines/hdb/hdb.h
@@ -138,12 +138,12 @@ struct Save {
 class HDBGame : public Engine {
 public:
 	HDBGame(OSystem *syst, const ADGameDescription *gameDesc);
-	~HDBGame();
+	~HDBGame() override;
 
-	virtual bool hasFeature(Engine::EngineFeature f) const;
-	virtual void initializePath(const Common::FSNode &gamePath);
+	bool hasFeature(Engine::EngineFeature f) const override;
+	void initializePath(const Common::FSNode &gamePath) override;
 
-	virtual Common::Error run();
+	Common::Error run() override;
 
 	// Detection related members;
 	const ADGameDescription *_gameDescription;
@@ -195,10 +195,10 @@ public:
 		_changeLevel = true;
 	}
 
-	virtual Common::Error saveGameState(int slot, const Common::String &desc);
-	virtual Common::Error loadGameState(int slot);
-	virtual bool canLoadGameStateCurrently();
-	virtual bool canSaveGameStateCurrently();
+	Common::Error saveGameState(int slot, const Common::String &desc) override;
+	Common::Error loadGameState(int slot) override;
+	bool canLoadGameStateCurrently() override;
+	bool canSaveGameStateCurrently() override;
 	void saveGame(Common::OutSaveFile *out);
 	void loadGame(Common::InSaveFile *in);
 


Commit: 36430c95b79c957c1322abaea6ca367a9123b11f
    https://github.com/scummvm/scummvm/commit/36430c95b79c957c1322abaea6ca367a9123b11f
Author: Bastien Bouclet (bastien.bouclet at gmail.com)
Date: 2020-02-09T12:43:15+01:00

Commit Message:
HOPKINS: Add override keywords

Changed paths:
    engines/hopkins/debugger.h
    engines/hopkins/detection.cpp
    engines/hopkins/hopkins.h
    engines/hopkins/sound.cpp


diff --git a/engines/hopkins/debugger.h b/engines/hopkins/debugger.h
index 94a66af..5c8c6fc 100644
--- a/engines/hopkins/debugger.h
+++ b/engines/hopkins/debugger.h
@@ -36,7 +36,7 @@ private:
 
 public:
 	Debugger(HopkinsEngine *vm);
-	virtual ~Debugger() {}
+	~Debugger() override {}
 
 	bool cmd_DirtyRects(int argc, const char **argv);
 	bool cmd_Teleport(int argc, const char **argv);
diff --git a/engines/hopkins/detection.cpp b/engines/hopkins/detection.cpp
index 72a4a4f..3398bdf 100644
--- a/engines/hopkins/detection.cpp
+++ b/engines/hopkins/detection.cpp
@@ -106,23 +106,23 @@ public:
 		_directoryGlobs = directoryGlobs;
 	}
 
-	virtual const char *getEngineId() const override {
+	const char *getEngineId() const override {
 		return "hopkins";
 	}
 
-	virtual const char *getName() const override {
+	const char *getName() const override {
 		return "Hopkins FBI";
 	}
 
-	virtual const char *getOriginalCopyright() const override {
+	const char *getOriginalCopyright() const override {
 		return "Hopkins FBI (C) 1997-2003 MP Entertainment";
 	}
 
-	virtual bool hasFeature(MetaEngineFeature f) const override;
-	virtual bool createInstance(OSystem *syst, Engine **engine, const ADGameDescription *desc) const override;
-	virtual SaveStateList listSaves(const char *target) const override;
-	virtual int getMaximumSaveSlot() const override;
-	virtual void removeSaveState(const char *target, int slot) const override;
+	bool hasFeature(MetaEngineFeature f) const override;
+	bool createInstance(OSystem *syst, Engine **engine, const ADGameDescription *desc) const override;
+	SaveStateList listSaves(const char *target) const override;
+	int getMaximumSaveSlot() const override;
+	void removeSaveState(const char *target, int slot) const override;
 	SaveStateDescriptor querySaveMetaInfos(const char *target, int slot) const override;
 };
 
diff --git a/engines/hopkins/hopkins.h b/engines/hopkins/hopkins.h
index 251dc7d..5a1060a 100644
--- a/engines/hopkins/hopkins.h
+++ b/engines/hopkins/hopkins.h
@@ -128,8 +128,8 @@ private:
 	bool displayAdultDisclaimer();
 protected:
 	// Engine APIs
-	virtual Common::Error run() override;
-	virtual bool hasFeature(EngineFeature f) const override;
+	Common::Error run() override;
+	bool hasFeature(EngineFeature f) const override;
 
 	GUI::Debugger *getDebugger()  override{ return _debug; }
 
@@ -153,7 +153,7 @@ public:
 
 public:
 	HopkinsEngine(OSystem *syst, const HopkinsGameDescription *gameDesc);
-	virtual ~HopkinsEngine();
+	~HopkinsEngine() override;
 	void GUIError(const Common::String &msg);
 
 	uint32 getFeatures() const;
@@ -165,10 +165,10 @@ public:
 
 	int getRandomNumber(int maxNumber);
 	Common::String generateSaveName(int slotNumber);
-	virtual bool canLoadGameStateCurrently() override;
-	virtual bool canSaveGameStateCurrently() override;
-	virtual Common::Error loadGameState(int slot) override;
-	virtual Common::Error saveGameState(int slot, const Common::String &desc) override;
+	bool canLoadGameStateCurrently() override;
+	bool canSaveGameStateCurrently() override;
+	Common::Error loadGameState(int slot) override;
+	Common::Error saveGameState(int slot, const Common::String &desc) override;
 	int _startGameSlot;
 	/**
 	 * Run the introduction sequence
@@ -178,7 +178,7 @@ public:
 	/**
 	 * Synchronizes the sound settings from ScummVM into the engine
 	 */
-	virtual void syncSoundSettings() override;
+	void syncSoundSettings() override;
 };
 
 } // End of namespace Hopkins
diff --git a/engines/hopkins/sound.cpp b/engines/hopkins/sound.cpp
index a3317fc..16f451b 100644
--- a/engines/hopkins/sound.cpp
+++ b/engines/hopkins/sound.cpp
@@ -48,7 +48,7 @@ public:
 		stream->seek(4, SEEK_CUR);
 	}
 
-	void reset() {
+	void reset() override {
 		DVI_ADPCMStream::reset();
 		_status.ima_ch[0].last = _startValue[0];
 		_status.ima_ch[1].last = _startValue[1];
@@ -97,24 +97,24 @@ public:
 		}
 	}
 
-	~TwaAudioStream() {
+	~TwaAudioStream() override {
 		delete _cueStream;
 		_cueStream = NULL;
 	}
 
-	virtual bool isStereo() const {
+	bool isStereo() const override {
 		return _cueStream ? _cueStream->isStereo() : true;
 	}
 
-	virtual int getRate() const {
+	int getRate() const override {
 		return _cueStream ? _cueStream->getRate() : 22050;
 	}
 
-	virtual bool endOfData() const {
+	bool endOfData() const override {
 		return _cueStream == NULL;
 	}
 
-	virtual int readBuffer(int16 *buffer, const int numSamples) {
+	int readBuffer(int16 *buffer, const int numSamples) override {
 		if (!_cueStream)
 			return 0;
 


Commit: 06cab99edca9e1911363403e59cbe3e0ecc172fb
    https://github.com/scummvm/scummvm/commit/06cab99edca9e1911363403e59cbe3e0ecc172fb
Author: Bastien Bouclet (bastien.bouclet at gmail.com)
Date: 2020-02-09T12:43:15+01:00

Commit Message:
HUGO: Add override keywords

Changed paths:
    engines/hugo/console.h
    engines/hugo/dialogs.h
    engines/hugo/display.h
    engines/hugo/file.h
    engines/hugo/hugo.h
    engines/hugo/intro.h
    engines/hugo/object.h
    engines/hugo/parser.h
    engines/hugo/schedule.h
    engines/hugo/sound.h


diff --git a/engines/hugo/console.h b/engines/hugo/console.h
index a35f2e3..c38640b 100644
--- a/engines/hugo/console.h
+++ b/engines/hugo/console.h
@@ -32,7 +32,7 @@ class HugoEngine;
 class HugoConsole : public GUI::Debugger {
 public:
 	HugoConsole(HugoEngine *vm);
-	virtual ~HugoConsole(void);
+	~HugoConsole(void) override;
 
 private:
 	HugoEngine *_vm;
diff --git a/engines/hugo/dialogs.h b/engines/hugo/dialogs.h
index aebbeee..138b29d 100644
--- a/engines/hugo/dialogs.h
+++ b/engines/hugo/dialogs.h
@@ -73,11 +73,11 @@ enum {
 class TopMenu : public GUI::Dialog {
 public:
 	TopMenu(HugoEngine *vm);
-	~TopMenu();
+	~TopMenu() override;
 
-	void reflowLayout();
-	void handleCommand(GUI::CommandSender *sender, uint32 command, uint32 data);
-	void handleMouseUp(int x, int y, int button, int clickCount);
+	void reflowLayout() override;
+	void handleCommand(GUI::CommandSender *sender, uint32 command, uint32 data) override;
+	void handleMouseUp(int x, int y, int button, int clickCount) override;
 
 	void loadBmpArr(Common::SeekableReadStream &in);
 
@@ -103,9 +103,9 @@ protected:
 class EntryDialog : public GUI::Dialog {
 public:
 	EntryDialog(const Common::String &title, const Common::String &buttonLabel, const Common::String &defaultValue);
-	virtual ~EntryDialog();
+	~EntryDialog() override;
 
-	void handleCommand(GUI::CommandSender *sender, uint32 command, uint32 data);
+	void handleCommand(GUI::CommandSender *sender, uint32 command, uint32 data) override;
 
 	const Common::String &getEditString() const	{ return _text->getEditString(); }
 
diff --git a/engines/hugo/display.h b/engines/hugo/display.h
index 33a0be8..bd441b4 100644
--- a/engines/hugo/display.h
+++ b/engines/hugo/display.h
@@ -150,23 +150,23 @@ private:
 class Screen_v1d : public Screen {
 public:
 	Screen_v1d(HugoEngine *vm);
-	~Screen_v1d();
+	~Screen_v1d() override;
 
-	void loadFont(int16 fontId);
-	void loadFontArr(Common::ReadStream &in);
+	void loadFont(int16 fontId) override;
+	void loadFontArr(Common::ReadStream &in) override;
 protected:
-	OverlayState findOvl(Seq *seqPtr, ImagePtr dstPtr, uint16 y);
+	OverlayState findOvl(Seq *seqPtr, ImagePtr dstPtr, uint16 y) override;
 };
 
 class Screen_v1w : public Screen {
 public:
 	Screen_v1w(HugoEngine *vm);
-	~Screen_v1w();
+	~Screen_v1w() override;
 
-	void loadFont(int16 fontId);
-	void loadFontArr(Common::ReadStream &in);
+	void loadFont(int16 fontId) override;
+	void loadFontArr(Common::ReadStream &in) override;
 protected:
-	OverlayState findOvl(Seq *seqPtr, ImagePtr dstPtr, uint16 y);
+	OverlayState findOvl(Seq *seqPtr, ImagePtr dstPtr, uint16 y) override;
 };
 
 } // End of namespace Hugo
diff --git a/engines/hugo/file.h b/engines/hugo/file.h
index 731eb70..c81b8f2 100644
--- a/engines/hugo/file.h
+++ b/engines/hugo/file.h
@@ -127,26 +127,26 @@ private:
 class FileManager_v1d : public FileManager {
 public:
 	FileManager_v1d(HugoEngine *vm);
-	~FileManager_v1d();
-
-	virtual void closeDatabaseFiles();
-	virtual void instructions() const;
-	virtual void openDatabaseFiles();
-	virtual void readBackground(const int screenIndex);
-	virtual void readOverlay(const int screenNum, ImagePtr image, OvlType overlayType);
-	virtual const char *fetchString(const int index);
+	~FileManager_v1d() override;
+
+	void closeDatabaseFiles() override;
+	void instructions() const override;
+	void openDatabaseFiles() override;
+	void readBackground(const int screenIndex) override;
+	void readOverlay(const int screenNum, ImagePtr image, OvlType overlayType) override;
+	const char *fetchString(const int index) override;
 };
 
 class FileManager_v2d : public FileManager_v1d {
 public:
 	FileManager_v2d(HugoEngine *vm);
-	~FileManager_v2d();
+	~FileManager_v2d() override;
 
-	virtual void closeDatabaseFiles();
-	virtual void openDatabaseFiles();
-	virtual void readBackground(const int screenIndex);
-	virtual void readOverlay(const int screenNum, ImagePtr image, OvlType overlayType);
-	const   char *fetchString(const int index);
+	void closeDatabaseFiles() override;
+	void openDatabaseFiles() override;
+	void readBackground(const int screenIndex) override;
+	void readOverlay(const int screenNum, ImagePtr image, OvlType overlayType) override;
+	const   char *fetchString(const int index) override;
 private:
 	char *_fetchStringBuf;
 };
@@ -154,12 +154,12 @@ private:
 class FileManager_v3d : public FileManager_v2d {
 public:
 	FileManager_v3d(HugoEngine *vm);
-	~FileManager_v3d();
+	~FileManager_v3d() override;
 
-	void closeDatabaseFiles();
-	void openDatabaseFiles();
-	void readBackground(const int screenIndex);
-	void readOverlay(const int screenNum, ImagePtr image, OvlType overlayType);
+	void closeDatabaseFiles() override;
+	void openDatabaseFiles() override;
+	void readBackground(const int screenIndex) override;
+	void readOverlay(const int screenNum, ImagePtr image, OvlType overlayType) override;
 private:
 	Common::File _sceneryArchive2;                  // Handle for scenery file
 };
@@ -167,17 +167,17 @@ private:
 class FileManager_v2w : public FileManager_v2d {
 public:
 	FileManager_v2w(HugoEngine *vm);
-	~FileManager_v2w();
+	~FileManager_v2w() override;
 
-	void instructions() const;
+	void instructions() const override;
 };
 
 class FileManager_v1w : public FileManager_v2w {
 public:
 	FileManager_v1w(HugoEngine *vm);
-	~FileManager_v1w();
+	~FileManager_v1w() override;
 
-	void readOverlay(const int screenNum, ImagePtr image, OvlType overlayType);
+	void readOverlay(const int screenNum, ImagePtr image, OvlType overlayType) override;
 };
 
 } // End of namespace Hugo
diff --git a/engines/hugo/hugo.h b/engines/hugo/hugo.h
index 601df33..886f9ff 100644
--- a/engines/hugo/hugo.h
+++ b/engines/hugo/hugo.h
@@ -212,7 +212,7 @@ class HugoConsole;
 class HugoEngine : public Engine {
 public:
 	HugoEngine(OSystem *syst, const HugoGameDescription *gd);
-	~HugoEngine();
+	~HugoEngine() override;
 
 	OSystem *_system;
 
@@ -263,8 +263,8 @@ public:
 		return *s_Engine;
 	}
 
-	virtual bool canLoadGameStateCurrently() override;
-	virtual bool canSaveGameStateCurrently() override;
+	bool canLoadGameStateCurrently() override;
+	bool canSaveGameStateCurrently() override;
 	bool loadHugoDat();
 
 	int8 getTPS() const;
diff --git a/engines/hugo/intro.h b/engines/hugo/intro.h
index d40cffb..1bb6638 100644
--- a/engines/hugo/intro.h
+++ b/engines/hugo/intro.h
@@ -69,21 +69,21 @@ protected:
 class intro_v1w : public IntroHandler {
 public:
 	intro_v1w(HugoEngine *vm);
-	~intro_v1w();
+	~intro_v1w() override;
 
-	void preNewGame();
-	void introInit();
-	bool introPlay();
+	void preNewGame() override;
+	void introInit() override;
+	bool introPlay() override;
 };
 
 class intro_v1d : public IntroHandler {
 public:
 	intro_v1d(HugoEngine *vm);
-	~intro_v1d();
+	~intro_v1d() override;
 
-	void preNewGame();
-	void introInit();
-	bool introPlay();
+	void preNewGame() override;
+	void introInit() override;
+	bool introPlay() override;
 private:
 	int _introState;
 };
@@ -91,41 +91,41 @@ private:
 class intro_v2w : public IntroHandler {
 public:
 	intro_v2w(HugoEngine *vm);
-	~intro_v2w();
+	~intro_v2w() override;
 
-	void preNewGame();
-	void introInit();
-	bool introPlay();
+	void preNewGame() override;
+	void introInit() override;
+	bool introPlay() override;
 };
 
 class intro_v2d : public IntroHandler {
 public:
 	intro_v2d(HugoEngine *vm);
-	~intro_v2d();
+	~intro_v2d() override;
 
-	void preNewGame();
-	void introInit();
-	bool introPlay();
+	void preNewGame() override;
+	void introInit() override;
+	bool introPlay() override;
 };
 
 class intro_v3w : public IntroHandler {
 public:
 	intro_v3w(HugoEngine *vm);
-	~intro_v3w();
+	~intro_v3w() override;
 
-	void preNewGame();
-	void introInit();
-	bool introPlay();
+	void preNewGame() override;
+	void introInit() override;
+	bool introPlay() override;
 };
 
 class intro_v3d : public IntroHandler {
 public:
 	intro_v3d(HugoEngine *vm);
-	~intro_v3d();
+	~intro_v3d() override;
 
-	void preNewGame();
-	void introInit();
-	bool introPlay();
+	void preNewGame() override;
+	void introInit() override;
+	bool introPlay() override;
 };
 
 } // End of namespace Hugo
diff --git a/engines/hugo/object.h b/engines/hugo/object.h
index 59294e7..42b639a 100644
--- a/engines/hugo/object.h
+++ b/engines/hugo/object.h
@@ -124,42 +124,42 @@ protected:
 class ObjectHandler_v1d : public ObjectHandler {
 public:
 	ObjectHandler_v1d(HugoEngine *vm);
-	virtual ~ObjectHandler_v1d();
+	~ObjectHandler_v1d() override;
 
-	virtual void homeIn(const int objIndex1, const int objIndex2, const int8 objDx, const int8 objDy);
-	virtual void moveObjects();
-	virtual void updateImages();
-	virtual void swapImages(int objIndex1, int objIndex2);
+	void homeIn(const int objIndex1, const int objIndex2, const int8 objDx, const int8 objDy) override;
+	void moveObjects() override;
+	void updateImages() override;
+	void swapImages(int objIndex1, int objIndex2) override;
 };
 
 class ObjectHandler_v2d : public ObjectHandler_v1d {
 public:
 	ObjectHandler_v2d(HugoEngine *vm);
-	virtual ~ObjectHandler_v2d();
+	~ObjectHandler_v2d() override;
 
-	virtual void moveObjects();
-	virtual void updateImages();
+	void moveObjects() override;
+	void updateImages() override;
 
-	void homeIn(const int objIndex1, const int objIndex2, const int8 objDx, const int8 objDy);
+	void homeIn(const int objIndex1, const int objIndex2, const int8 objDx, const int8 objDy) override;
 };
 
 class ObjectHandler_v3d : public ObjectHandler_v2d {
 public:
 	ObjectHandler_v3d(HugoEngine *vm);
-	~ObjectHandler_v3d();
+	~ObjectHandler_v3d() override;
 
-	virtual void moveObjects();
-	virtual void swapImages(int objIndex1, int objIndex2);
+	void moveObjects() override;
+	void swapImages(int objIndex1, int objIndex2) override;
 };
 
 class ObjectHandler_v1w : public ObjectHandler_v3d {
 public:
 	ObjectHandler_v1w(HugoEngine *vm);
-	~ObjectHandler_v1w();
+	~ObjectHandler_v1w() override;
 
-	void moveObjects();
-	void updateImages();
-	void swapImages(int objIndex1, int objIndex2);
+	void moveObjects() override;
+	void updateImages() override;
+	void swapImages(int objIndex1, int objIndex2) override;
 };
 
 } // End of namespace Hugo
diff --git a/engines/hugo/parser.h b/engines/hugo/parser.h
index dfdd984..a55ed06 100644
--- a/engines/hugo/parser.h
+++ b/engines/hugo/parser.h
@@ -133,11 +133,11 @@ private:
 class Parser_v1d : public Parser {
 public:
 	Parser_v1d(HugoEngine *vm);
-	~Parser_v1d();
+	~Parser_v1d() override;
 
-	virtual void lineHandler();
-	virtual void showInventory() const;
-	virtual void takeObject(Object *obj);
+	void lineHandler() override;
+	void showInventory() const override;
+	void takeObject(Object *obj) override;
 
 protected:
 	virtual void dropObject(Object *obj);
@@ -153,35 +153,35 @@ protected:
 class Parser_v2d : public Parser_v1d {
 public:
 	Parser_v2d(HugoEngine *vm);
-	~Parser_v2d();
+	~Parser_v2d() override;
 
-	void lineHandler();
+	void lineHandler() override;
 };
 
 class Parser_v3d : public Parser_v1d {
 public:
 	Parser_v3d(HugoEngine *vm);
-	~Parser_v3d();
+	~Parser_v3d() override;
 
-	virtual void lineHandler();
+	void lineHandler() override;
 protected:
-	void  dropObject(Object *obj);
+	void  dropObject(Object *obj) override;
 	bool  isBackgroundWord_v3(ObjectList obj) const;
 	bool  isCatchallVerb_v3(ObjectList obj) const;
 	bool  isGenericVerb_v3(Object *obj, char *comment);
 	bool  isNear_v3(Object *obj, const char *verb, char *comment) const;
 	bool  isObjectVerb_v3(Object *obj, char *comment);
-	void  takeObject(Object *obj);
+	void  takeObject(Object *obj) override;
 };
 
 class Parser_v1w : public Parser_v3d {
 public:
 	Parser_v1w(HugoEngine *vm);
-	~Parser_v1w();
+	~Parser_v1w() override;
 
-	virtual void showInventory() const;
+	void showInventory() const override;
 
-	void  lineHandler();
+	void  lineHandler() override;
 };
 
 } // End of namespace Hugo
diff --git a/engines/hugo/schedule.h b/engines/hugo/schedule.h
index 7f09904..5d23790 100644
--- a/engines/hugo/schedule.h
+++ b/engines/hugo/schedule.h
@@ -597,48 +597,48 @@ protected:
 class Scheduler_v1d : public Scheduler {
 public:
 	Scheduler_v1d(HugoEngine *vm);
-	~Scheduler_v1d();
+	~Scheduler_v1d() override;
 
-	virtual void decodeString(char *line);
-	virtual void runScheduler();
+	void decodeString(char *line) override;
+	void runScheduler() override;
 
 protected:
-	virtual const char *getCypher() const;
-	virtual uint32 getTicks();
-	virtual void promptAction(Act *action);
+	const char *getCypher() const override;
+	uint32 getTicks() override;
+	void promptAction(Act *action) override;
 };
 
 class Scheduler_v2d : public Scheduler_v1d {
 public:
 	Scheduler_v2d(HugoEngine *vm);
-	virtual ~Scheduler_v2d();
+	~Scheduler_v2d() override;
 
-	void decodeString(char *line);
+	void decodeString(char *line) override;
 
 protected:
-	virtual const char *getCypher() const;
+	const char *getCypher() const override;
 
-	void promptAction(Act *action);
+	void promptAction(Act *action) override;
 };
 
 class Scheduler_v3d : public Scheduler_v2d {
 public:
 	Scheduler_v3d(HugoEngine *vm);
-	~Scheduler_v3d();
+	~Scheduler_v3d() override;
 
 protected:
-	const char *getCypher() const;
+	const char *getCypher() const override;
 };
 
 class Scheduler_v1w : public Scheduler_v3d {
 public:
 	Scheduler_v1w(HugoEngine *vm);
-	~Scheduler_v1w();
+	~Scheduler_v1w() override;
 
-	void runScheduler();
+	void runScheduler() override;
 
 protected:
-	uint32 getTicks();
+	uint32 getTicks() override;
 
 };
 } // End of namespace Hugo
diff --git a/engines/hugo/sound.h b/engines/hugo/sound.h
index a623569..8a42eb7 100644
--- a/engines/hugo/sound.h
+++ b/engines/hugo/sound.h
@@ -50,13 +50,13 @@ public:
 	// method from the parent class.
 	// FIXME: Maybe the pause(bool p) method should be removed and the
 	// pause/resume methods of the parent class be used instead?
-	virtual void pause() { Audio::MidiPlayer::pause(); }
+	void pause() override { Audio::MidiPlayer::pause(); }
 
 	uint32 getBaseTempo();
 
 	// Overload Audio::MidiPlayer method
-	virtual void sendToChannel(byte channel, uint32 b);
-	virtual void onTimer();
+	void sendToChannel(byte channel, uint32 b) override;
+	void onTimer() override;
 
 private:
 	bool _paused;


Commit: e04b23bb72af3a8c87491ecedaed54af4a46b23b
    https://github.com/scummvm/scummvm/commit/e04b23bb72af3a8c87491ecedaed54af4a46b23b
Author: Bastien Bouclet (bastien.bouclet at gmail.com)
Date: 2020-02-09T12:43:15+01:00

Commit Message:
ILLUSIONS: Add override keywords

Changed paths:
    engines/illusions/bbdou/bbdou_credits.h
    engines/illusions/bbdou/bbdou_specialcode.h
    engines/illusions/bbdou/gamestate_bbdou.h
    engines/illusions/bbdou/illusions_bbdou.h
    engines/illusions/bbdou/menusystem_bbdou.h
    engines/illusions/bbdou/scriptopcodes_bbdou.h
    engines/illusions/detection.cpp
    engines/illusions/duckman/duckman_specialcode.h
    engines/illusions/duckman/gamestate_duckman.h
    engines/illusions/duckman/illusions_duckman.h
    engines/illusions/duckman/menusystem_duckman.h
    engines/illusions/duckman/scriptopcodes_duckman.h
    engines/illusions/fileresourcereader.h
    engines/illusions/gamresourcereader.h
    engines/illusions/illusions.h
    engines/illusions/menusystem.h
    engines/illusions/resources/actorresource.h
    engines/illusions/resources/backgroundresource.h
    engines/illusions/resources/fontresource.h
    engines/illusions/resources/genericresource.h
    engines/illusions/resources/midiresource.h
    engines/illusions/resources/scriptresource.h
    engines/illusions/resources/soundresource.h
    engines/illusions/resources/talkresource.h
    engines/illusions/screen.h
    engines/illusions/sound.h
    engines/illusions/specialcode.h
    engines/illusions/threads/abortablethread.h
    engines/illusions/threads/causethread_duckman.h
    engines/illusions/threads/scriptthread.h
    engines/illusions/threads/talkthread.h
    engines/illusions/threads/talkthread_duckman.h
    engines/illusions/threads/timerthread.h


diff --git a/engines/illusions/bbdou/bbdou_credits.h b/engines/illusions/bbdou/bbdou_credits.h
index ebf4e5f..5e00a29 100644
--- a/engines/illusions/bbdou/bbdou_credits.h
+++ b/engines/illusions/bbdou/bbdou_credits.h
@@ -68,10 +68,10 @@ protected:
 class CreditsThread : public Thread {
 public:
 	CreditsThread(IllusionsEngine_BBDOU *vm, BbdouCredits *credits, uint32 threadId, float speedModifier);
-	virtual int onUpdate();
-	virtual void onNotify();
-	virtual void onResume();
-	virtual void onTerminated();
+	int onUpdate() override;
+	void onNotify() override;
+	void onResume() override;
+	void onTerminated() override;
 public:
 	BbdouCredits *_credits;
 	float _speedModifier;
diff --git a/engines/illusions/bbdou/bbdou_specialcode.h b/engines/illusions/bbdou/bbdou_specialcode.h
index c281824..9692a9d 100644
--- a/engines/illusions/bbdou/bbdou_specialcode.h
+++ b/engines/illusions/bbdou/bbdou_specialcode.h
@@ -54,8 +54,8 @@ public:
 	CauseThread_BBDOU(IllusionsEngine_BBDOU *vm, uint32 threadId, uint32 callingThreadId,
 		BbdouSpecialCode *bbdou, uint32 cursorObjectId, uint32 sceneId,
 		uint32 verbId, uint32 objectId2, uint32 objectId);
-	virtual void onNotify();
-	virtual void onTerminated();
+	void onNotify() override;
+	void onTerminated() override;
 public:
 	BbdouSpecialCode *_bbdou;
 	uint32 _cursorObjectId;
@@ -74,7 +74,7 @@ class RadarMicrophoneThread : public Thread {
 public:
 	RadarMicrophoneThread(IllusionsEngine_BBDOU *vm, uint32 threadId,
 		uint32 callingThreadId, uint32 cursorObjectId);
-	virtual int onUpdate();
+	int onUpdate() override;
 	void addZone(uint32 threadId);
 	void initZones();
 public:
@@ -107,10 +107,10 @@ protected:
 class BbdouSpecialCode : public SpecialCode {
 public:
 	BbdouSpecialCode(IllusionsEngine_BBDOU *vm);
-	virtual ~BbdouSpecialCode();
-	virtual void init();
-	virtual void run(uint32 specialCodeId, OpCall &opCall);
-	virtual void resetBeforeResumeSavegame();
+	~BbdouSpecialCode() override;
+	void init() override;
+	void run(uint32 specialCodeId, OpCall &opCall) override;
+	void resetBeforeResumeSavegame() override;
 public:
 	typedef Common::HashMap<uint32, SpecialCodeFunction*> Map;
 	typedef Map::iterator MapIterator;
diff --git a/engines/illusions/bbdou/gamestate_bbdou.h b/engines/illusions/bbdou/gamestate_bbdou.h
index 2ef68b5..43a5593 100644
--- a/engines/illusions/bbdou/gamestate_bbdou.h
+++ b/engines/illusions/bbdou/gamestate_bbdou.h
@@ -34,9 +34,9 @@ public:
 	BBDOU_GameState(IllusionsEngine_BBDOU *vm);
 protected:
 	IllusionsEngine_BBDOU *_vm;
-	uint32 calcWriteBufferSizeInternal();
-	bool readStateInternal(Common::ReadStream *in);
-	void writeStateInternal(Common::WriteStream *out);
+	uint32 calcWriteBufferSizeInternal() override;
+	bool readStateInternal(Common::ReadStream *in) override;
+	void writeStateInternal(Common::WriteStream *out) override;
 };
 
 } // End of namespace Illusions
diff --git a/engines/illusions/bbdou/illusions_bbdou.h b/engines/illusions/bbdou/illusions_bbdou.h
index 5a7fddb..8cce22d 100644
--- a/engines/illusions/bbdou/illusions_bbdou.h
+++ b/engines/illusions/bbdou/illusions_bbdou.h
@@ -62,8 +62,8 @@ class IllusionsEngine_BBDOU : public IllusionsEngine {
 public:
 	IllusionsEngine_BBDOU(OSystem *syst, const IllusionsGameDescription *gd);
 protected:
-	virtual Common::Error run() override;
-	virtual bool hasFeature(EngineFeature f) const override;
+	Common::Error run() override;
+	bool hasFeature(EngineFeature f) const override;
 public:
 	ScriptMan *_scriptMan;
 	TriggerFunctions *_triggerFunctions;
diff --git a/engines/illusions/bbdou/menusystem_bbdou.h b/engines/illusions/bbdou/menusystem_bbdou.h
index 1c98b28..6c00eac 100644
--- a/engines/illusions/bbdou/menusystem_bbdou.h
+++ b/engines/illusions/bbdou/menusystem_bbdou.h
@@ -43,7 +43,7 @@ class IllusionsEngine_BBDOU;
 class BBDOUMenuSystem : public BaseMenuSystem {
 public:
 	BBDOUMenuSystem(IllusionsEngine_BBDOU *vm);
-	~BBDOUMenuSystem();
+	~BBDOUMenuSystem() override;
 	void runMenu(MenuChoiceOffsets menuChoiceOffsets, int16 *menuChoiceOffset,
 		uint32 menuId, uint32 duration, uint timeOutMenuChoiceIndex, uint32 menuCallerThreadId);
 public://protected:
@@ -51,7 +51,7 @@ public://protected:
 	BaseMenu *_menus[kBBDOULastMenuIndex];
 	void clearMenus();
 	void freeMenus();
-	BaseMenu *getMenuById(int menuId);
+	BaseMenu *getMenuById(int menuId) override;
 	BaseMenu *createMenuById(int menuId);
 	BaseMenu *createMainMenu();
 	BaseMenu *createPauseMenu();
@@ -62,11 +62,11 @@ public://protected:
 	BaseMenu *createLoadFailedMenu();
 	BaseMenu *createOptionsMenu();
 	int convertRootMenuId(uint32 menuId);
-	virtual bool initMenuCursor();
-	virtual int getGameState();
-	virtual void setGameState(int gameState);
-	virtual void setMenuCursorNum(int cursorNum);
-	virtual void playSoundEffect(int sfxId);
+	bool initMenuCursor() override;
+	int getGameState() override;
+	void setGameState(int gameState) override;
+	void setMenuCursorNum(int cursorNum) override;
+	void playSoundEffect(int sfxId) override;
 };
 
 } // End of namespace Illusions
diff --git a/engines/illusions/bbdou/scriptopcodes_bbdou.h b/engines/illusions/bbdou/scriptopcodes_bbdou.h
index 63731cf..51fd2f1 100644
--- a/engines/illusions/bbdou/scriptopcodes_bbdou.h
+++ b/engines/illusions/bbdou/scriptopcodes_bbdou.h
@@ -34,9 +34,9 @@ class ScriptThread;
 class ScriptOpcodes_BBDOU : public ScriptOpcodes {
 public:
 	ScriptOpcodes_BBDOU(IllusionsEngine_BBDOU *vm);
-	~ScriptOpcodes_BBDOU();
-	void initOpcodes();
-	void freeOpcodes();
+	~ScriptOpcodes_BBDOU() override;
+	void initOpcodes() override;
+	void freeOpcodes() override;
 protected:
 	IllusionsEngine_BBDOU *_vm;
 
diff --git a/engines/illusions/detection.cpp b/engines/illusions/detection.cpp
index e183a68..e048090 100644
--- a/engines/illusions/detection.cpp
+++ b/engines/illusions/detection.cpp
@@ -122,20 +122,20 @@ public:
 		return "illusions";
 	}
 
-	virtual const char *getName() const override {
+	const char *getName() const override {
 		return "Illusions";
 	}
 
-	virtual const char *getOriginalCopyright() const override {
+	const char *getOriginalCopyright() const override {
 		return "(C) The Illusions Gaming Company";
 	}
 
-	virtual bool hasFeature(MetaEngineFeature f) const override;
-	virtual bool 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;
+	bool 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;
 };
 
 bool IllusionsMetaEngine::hasFeature(MetaEngineFeature f) const {
diff --git a/engines/illusions/duckman/duckman_specialcode.h b/engines/illusions/duckman/duckman_specialcode.h
index 694086b..076d493 100644
--- a/engines/illusions/duckman/duckman_specialcode.h
+++ b/engines/illusions/duckman/duckman_specialcode.h
@@ -39,9 +39,9 @@ typedef Common::Functor1<OpCall&, void> SpecialCodeFunction;
 class DuckmanSpecialCode : public SpecialCode {
 public:
 	DuckmanSpecialCode(IllusionsEngine_Duckman *vm);
-	~DuckmanSpecialCode();
-	virtual void init();
-	virtual void run(uint32 specialCodeId, OpCall &opCall);
+	~DuckmanSpecialCode() override;
+	void init() override;
+	void run(uint32 specialCodeId, OpCall &opCall) override;
 public:
 	typedef Common::HashMap<uint32, SpecialCodeFunction*> SpecialCodeMap;
 	typedef SpecialCodeMap::iterator SpecialCodeMapIterator;
diff --git a/engines/illusions/duckman/gamestate_duckman.h b/engines/illusions/duckman/gamestate_duckman.h
index 36024c8..c47fb4d 100644
--- a/engines/illusions/duckman/gamestate_duckman.h
+++ b/engines/illusions/duckman/gamestate_duckman.h
@@ -34,9 +34,9 @@ public:
 	Duckman_GameState(IllusionsEngine_Duckman *vm);
 protected:
 	IllusionsEngine_Duckman *_vm;
-	uint32 calcWriteBufferSizeInternal();
-	bool readStateInternal(Common::ReadStream *in);
-	void writeStateInternal(Common::WriteStream *out);
+	uint32 calcWriteBufferSizeInternal() override;
+	bool readStateInternal(Common::ReadStream *in) override;
+	void writeStateInternal(Common::WriteStream *out) override;
 };
 
 } // End of namespace Illusions
diff --git a/engines/illusions/duckman/illusions_duckman.h b/engines/illusions/duckman/illusions_duckman.h
index b3669a5..5973caa 100644
--- a/engines/illusions/duckman/illusions_duckman.h
+++ b/engines/illusions/duckman/illusions_duckman.h
@@ -80,8 +80,8 @@ class IllusionsEngine_Duckman : public IllusionsEngine {
 public:
 	IllusionsEngine_Duckman(OSystem *syst, const IllusionsGameDescription *gd);
 protected:
-	virtual Common::Error run() override;
-	virtual bool hasFeature(EngineFeature f) const override;
+	Common::Error run() override;
+	bool hasFeature(EngineFeature f) const override;
 public:
 
 	uint32 _prevSceneId;
diff --git a/engines/illusions/duckman/menusystem_duckman.h b/engines/illusions/duckman/menusystem_duckman.h
index ee53543..1870d5b 100644
--- a/engines/illusions/duckman/menusystem_duckman.h
+++ b/engines/illusions/duckman/menusystem_duckman.h
@@ -55,7 +55,7 @@ class MenuActionUpdateSlider;
 class DuckmanMenuSystem : public BaseMenuSystem {
 public:
 	DuckmanMenuSystem(IllusionsEngine_Duckman *vm);
-	~DuckmanMenuSystem();
+	~DuckmanMenuSystem() override;
 	void runMenu(MenuChoiceOffsets menuChoiceOffsets, int16 *menuChoiceOffset,
 		uint32 menuId, uint32 duration, uint timeOutMenuChoiceIndex, uint32 menuCallerThreadId);
 public://protected:
@@ -63,7 +63,7 @@ public://protected:
 	BaseMenu *_menus[kDuckmanLastMenuIndex];
 	void clearMenus();
 	void freeMenus();
-	BaseMenu *getMenuById(int menuId);
+	BaseMenu *getMenuById(int menuId) override;
 	BaseMenu *createMenuById(int menuId);
 	BaseMenu *createMainMenu();
 	BaseMenu *createLoadGameMenu();
@@ -77,11 +77,11 @@ public://protected:
 	BaseMenu *createDebugPauseMenu();
 	BaseMenu *createAddRemoveInventoryMenu();
 	int convertRootMenuId(uint32 menuId);
-	virtual bool initMenuCursor();
-	virtual int getGameState();
-	virtual void setGameState(int gameState);
-	virtual void setMenuCursorNum(int cursorNum);
-	virtual void playSoundEffect(int sfxId);
+	bool initMenuCursor() override;
+	int getGameState() override;
+	void setGameState(int gameState) override;
+	void setMenuCursorNum(int cursorNum) override;
+	void playSoundEffect(int sfxId) override;
 private:
 	MenuItem *createOptionsSliderMenuItem(MenuActionUpdateSlider **action, const Common::String &text,
 										  SliderActionType type, BaseMenu *baseMenu);
@@ -90,7 +90,7 @@ private:
 class MenuActionInventoryAddRemove : public BaseMenuAction {
 public:
 	MenuActionInventoryAddRemove(BaseMenuSystem *menuSystem, IllusionsEngine_Duckman *vm, uint choiceIndex);
-	virtual void execute();
+	void execute() override;
 protected:
 	IllusionsEngine_Duckman *_vm;
 	int _choiceIndex;
@@ -103,7 +103,7 @@ public:
 		_menuItem = menuItem;
 	}
 
-	virtual void execute();
+	void execute() override;
 	void setSliderValue(uint8 newValue);
 protected:
 	IllusionsEngine_Duckman *_vm;
@@ -121,7 +121,7 @@ public:
 								 MenuActionUpdateSlider *speechSlider,
 								 MenuActionUpdateSlider *textDurationSlider
 	);
-	virtual void execute();
+	void execute() override;
 protected:
 	MenuActionUpdateSlider *_sfxSlider;
 	MenuActionUpdateSlider *_musiclider;
diff --git a/engines/illusions/duckman/scriptopcodes_duckman.h b/engines/illusions/duckman/scriptopcodes_duckman.h
index 521a732..68cf5a4 100644
--- a/engines/illusions/duckman/scriptopcodes_duckman.h
+++ b/engines/illusions/duckman/scriptopcodes_duckman.h
@@ -34,9 +34,9 @@ class ScriptThread;
 class ScriptOpcodes_Duckman : public ScriptOpcodes {
 public:
 	ScriptOpcodes_Duckman(IllusionsEngine_Duckman *vm);
-	~ScriptOpcodes_Duckman();
-	void initOpcodes();
-	void freeOpcodes();
+	~ScriptOpcodes_Duckman() override;
+	void initOpcodes() override;
+	void freeOpcodes() override;
 protected:
 	IllusionsEngine_Duckman *_vm;
 
diff --git a/engines/illusions/fileresourcereader.h b/engines/illusions/fileresourcereader.h
index 70c2e5b..ebb2616 100644
--- a/engines/illusions/fileresourcereader.h
+++ b/engines/illusions/fileresourcereader.h
@@ -30,7 +30,7 @@ namespace Illusions {
 
 class ResourceReaderFileReader : public BaseResourceReader {
 public:
-	byte *readResource(uint32 sceneId, uint32 resId, uint32 &dataSize);
+	byte *readResource(uint32 sceneId, uint32 resId, uint32 &dataSize) override;
 protected:
 	Common::String buildResourceFilename(uint32 resId);
 	const char *getResourceExtension(uint32 resId);
diff --git a/engines/illusions/gamresourcereader.h b/engines/illusions/gamresourcereader.h
index ed8227e..ca71602 100644
--- a/engines/illusions/gamresourcereader.h
+++ b/engines/illusions/gamresourcereader.h
@@ -33,8 +33,8 @@ class GamArchive;
 class ResourceReaderGamArchive : public BaseResourceReader {
 public:
 	ResourceReaderGamArchive(const char *filename);
-	~ResourceReaderGamArchive();
-	byte *readResource(uint32 sceneId, uint32 resId, uint32 &dataSize);
+	~ResourceReaderGamArchive() override;
+	byte *readResource(uint32 sceneId, uint32 resId, uint32 &dataSize) override;
 protected:
 	GamArchive *_gamArchive;
 };
diff --git a/engines/illusions/illusions.h b/engines/illusions/illusions.h
index 1b36795..7ec4eb0 100644
--- a/engines/illusions/illusions.h
+++ b/engines/illusions/illusions.h
@@ -83,7 +83,7 @@ enum {
 class IllusionsEngine : public Engine {
 public:
 	IllusionsEngine(OSystem *syst, const IllusionsGameDescription *gd);
-	~IllusionsEngine();
+	~IllusionsEngine() override;
 	const Common::String getTargetName() { return _targetName; }
 private:
 	const IllusionsGameDescription *_gameDescription;
@@ -223,10 +223,10 @@ public:
 
 	bool _isSaveAllowed;
 
-	bool canLoadGameStateCurrently() { return _isSaveAllowed; }
-	bool canSaveGameStateCurrently() { return _isSaveAllowed; }
-	Common::Error loadGameState(int slot);
-	Common::Error saveGameState(int slot, const Common::String &description);
+	bool canLoadGameStateCurrently() override { return _isSaveAllowed; }
+	bool canSaveGameStateCurrently() override { return _isSaveAllowed; }
+	Common::Error loadGameState(int slot) override;
+	Common::Error saveGameState(int slot, const Common::String &description) override;
 	Common::Error removeGameState(int slot);
 	bool savegame(const char *filename, const char *description);
 	bool loadgame(const char *filename);
diff --git a/engines/illusions/menusystem.h b/engines/illusions/menusystem.h
index ce5b136..abe4077 100644
--- a/engines/illusions/menusystem.h
+++ b/engines/illusions/menusystem.h
@@ -199,7 +199,7 @@ protected:
 class MenuActionEnterMenu : public BaseMenuAction {
 public:
 	MenuActionEnterMenu(BaseMenuSystem *menuSystem, int menuId);
-	virtual void execute();
+	void execute() override;
 protected:
 	int _menuId;
 };
@@ -209,7 +209,7 @@ protected:
 class MenuActionLeaveMenu : public BaseMenuAction {
 public:
 	MenuActionLeaveMenu(BaseMenuSystem *menuSystem);
-	virtual void execute();
+	void execute() override;
 };
 
 // Type 5: Return a menu choice index and exit the menu
@@ -217,7 +217,7 @@ public:
 class MenuActionReturnChoice : public BaseMenuAction {
 public:
 	MenuActionReturnChoice(BaseMenuSystem *menuSystem, uint choiceIndex);
-	virtual void execute();
+	void execute() override;
 protected:
 	int _choiceIndex;
 };
@@ -227,7 +227,7 @@ protected:
 class MenuActionEnterQueryMenu : public BaseMenuAction {
 public:
 	MenuActionEnterQueryMenu(BaseMenuSystem *menuSystem, int menuId, uint confirmationChoiceIndex);
-	virtual void execute();
+	void execute() override;
 protected:
 	int _menuId;
 	uint _confirmationChoiceIndex;
@@ -236,7 +236,7 @@ protected:
 class MenuActionLoadGame : public BaseMenuAction {
 public:
 	MenuActionLoadGame(BaseMenuSystem *menuSystem, uint choiceIndex);
-	virtual void execute();
+	void execute() override;
 protected:
 	uint _choiceIndex;
 };
@@ -244,7 +244,7 @@ protected:
 class MenuActionSaveGame : public BaseMenuAction {
 public:
 	MenuActionSaveGame(BaseMenuSystem *menuSystem, uint choiceIndex);
-	virtual void execute();
+	void execute() override;
 protected:
 	uint _choiceIndex;
 };
diff --git a/engines/illusions/resources/actorresource.h b/engines/illusions/resources/actorresource.h
index d4f798b..bb21240 100644
--- a/engines/illusions/resources/actorresource.h
+++ b/engines/illusions/resources/actorresource.h
@@ -34,9 +34,9 @@ class IllusionsEngine;
 class ActorResourceLoader : public BaseResourceLoader {
 public:
 	ActorResourceLoader(IllusionsEngine *vm) : _vm(vm) {}
-	virtual ~ActorResourceLoader() {}
-	virtual void load(Resource *resource);
-	virtual bool isFlag(int flag);
+	~ActorResourceLoader() override {}
+	void load(Resource *resource) override;
+	bool isFlag(int flag) override;
 protected:
 	IllusionsEngine *_vm;
 };
@@ -95,10 +95,10 @@ public:
 class ActorInstance : public ResourceInstance {
 public:
 	ActorInstance(IllusionsEngine *vm);
-	virtual void load(Resource *resource);
-	virtual void unload();
-	virtual void pause();
-	virtual void unpause();
+	void load(Resource *resource) override;
+	void unload() override;
+	void pause() override;
+	void unpause() override;
 public:
 	IllusionsEngine *_vm;
 	uint32 _sceneId;
diff --git a/engines/illusions/resources/backgroundresource.h b/engines/illusions/resources/backgroundresource.h
index fba2e7e..b7b52b5 100644
--- a/engines/illusions/resources/backgroundresource.h
+++ b/engines/illusions/resources/backgroundresource.h
@@ -45,9 +45,9 @@ struct Sequence;
 class BackgroundResourceLoader : public BaseResourceLoader {
 public:
 	BackgroundResourceLoader(IllusionsEngine *vm) : _vm(vm) {}
-	virtual ~BackgroundResourceLoader() {}
-	virtual void load(Resource *resource);
-	virtual bool isFlag(int flag);
+	~BackgroundResourceLoader() override {}
+	void load(Resource *resource) override;
+	bool isFlag(int flag) override;
 protected:
 	IllusionsEngine *_vm;
 };
@@ -184,10 +184,10 @@ const uint kMaxBackgroundItemSurfaces = 3;
 class BackgroundInstance : public ResourceInstance {
 public:
 	BackgroundInstance(IllusionsEngine *vm);
-	virtual void load(Resource *resource);
-	virtual void unload();
-	virtual void pause();
-	virtual void unpause();
+	void load(Resource *resource) override;
+	void unload() override;
+	void pause() override;
+	void unpause() override;
 public:
 	IllusionsEngine *_vm;
 	uint32 _sceneId;
diff --git a/engines/illusions/resources/fontresource.h b/engines/illusions/resources/fontresource.h
index f583ffc..e2615e9 100644
--- a/engines/illusions/resources/fontresource.h
+++ b/engines/illusions/resources/fontresource.h
@@ -33,9 +33,9 @@ class IllusionsEngine;
 class FontResourceLoader : public BaseResourceLoader {
 public:
 	FontResourceLoader(IllusionsEngine *vm) : _vm(vm) {}
-	virtual ~FontResourceLoader() {}
-	virtual void load(Resource *resource);
-	virtual bool isFlag(int flag);
+	~FontResourceLoader() override {}
+	void load(Resource *resource) override;
+	bool isFlag(int flag) override;
 protected:
 	IllusionsEngine *_vm;
 };
@@ -81,8 +81,8 @@ public:
 class FontInstance : public ResourceInstance {
 public:
 	FontInstance(IllusionsEngine *vm);
-	virtual void load(Resource *resource);
-	virtual void unload();
+	void load(Resource *resource) override;
+	void unload() override;
 public:
 	IllusionsEngine *_vm;
 	FontResource *_fontResource;
diff --git a/engines/illusions/resources/genericresource.h b/engines/illusions/resources/genericresource.h
index e875b01..cf1d269 100644
--- a/engines/illusions/resources/genericresource.h
+++ b/engines/illusions/resources/genericresource.h
@@ -33,9 +33,9 @@ class IllusionsEngine;
 class GenericResourceLoader : public BaseResourceLoader {
 public:
 	GenericResourceLoader(IllusionsEngine *vm) : _vm(vm) {}
-	virtual ~GenericResourceLoader() {}
-	virtual void load(Resource *resource);
-	virtual bool isFlag(int flag);
+	~GenericResourceLoader() override {}
+	void load(Resource *resource) override;
+	bool isFlag(int flag) override;
 protected:
 	IllusionsEngine *_vm;
 };
diff --git a/engines/illusions/resources/midiresource.h b/engines/illusions/resources/midiresource.h
index fee4486..2b881ba 100644
--- a/engines/illusions/resources/midiresource.h
+++ b/engines/illusions/resources/midiresource.h
@@ -33,9 +33,9 @@ class IllusionsEngine;
 class MidiGroupResourceLoader : public BaseResourceLoader {
 public:
 	MidiGroupResourceLoader(IllusionsEngine *vm) : _vm(vm) {}
-	virtual ~MidiGroupResourceLoader() {}
-	virtual void load(Resource *resource);
-	virtual bool isFlag(int flag);
+	~MidiGroupResourceLoader() override {}
+	void load(Resource *resource) override;
+	bool isFlag(int flag) override;
 protected:
 	IllusionsEngine *_vm;
 };
@@ -59,8 +59,8 @@ public:
 class MidiGroupInstance : public ResourceInstance {
 public:
 	MidiGroupInstance(IllusionsEngine *vm);
-	virtual void load(Resource *resource);
-	virtual void unload();
+	void load(Resource *resource) override;
+	void unload() override;
 public:
 	IllusionsEngine *_vm;	
 	MidiGroupResource *_midiGroupResource;
diff --git a/engines/illusions/resources/scriptresource.h b/engines/illusions/resources/scriptresource.h
index 6c4fddf..6f777fa 100644
--- a/engines/illusions/resources/scriptresource.h
+++ b/engines/illusions/resources/scriptresource.h
@@ -33,9 +33,9 @@ class IllusionsEngine;
 class ScriptResourceLoader : public BaseResourceLoader {
 public:
 	ScriptResourceLoader(IllusionsEngine *vm) : _vm(vm) {}
-	virtual ~ScriptResourceLoader() {}
-	virtual void load(Resource *resource);
-	virtual bool isFlag(int flag);
+	~ScriptResourceLoader() override {}
+	void load(Resource *resource) override;
+	bool isFlag(int flag) override;
 protected:
 	IllusionsEngine *_vm;
 };
@@ -142,8 +142,8 @@ public:
 class ScriptInstance : public ResourceInstance {
 public:
 	ScriptInstance(IllusionsEngine *vm);
-	virtual void load(Resource *resource);
-	virtual void unload();
+	void load(Resource *resource) override;
+	void unload() override;
 public:
 	IllusionsEngine *_vm;
 };
diff --git a/engines/illusions/resources/soundresource.h b/engines/illusions/resources/soundresource.h
index b6e6382..04ed43c 100644
--- a/engines/illusions/resources/soundresource.h
+++ b/engines/illusions/resources/soundresource.h
@@ -33,9 +33,9 @@ class IllusionsEngine;
 class SoundGroupResourceLoader : public BaseResourceLoader {
 public:
 	SoundGroupResourceLoader(IllusionsEngine *vm) : _vm(vm) {}
-	virtual ~SoundGroupResourceLoader() {}
-	virtual void load(Resource *resource);
-	virtual bool isFlag(int flag);
+	~SoundGroupResourceLoader() override {}
+	void load(Resource *resource) override;
+	bool isFlag(int flag) override;
 protected:
 	IllusionsEngine *_vm;
 };
@@ -62,8 +62,8 @@ public:
 class SoundGroupInstance : public ResourceInstance {
 public:
 	SoundGroupInstance(IllusionsEngine *vm);
-	virtual void load(Resource *resource);
-	virtual void unload();
+	void load(Resource *resource) override;
+	void unload() override;
 public:
 	IllusionsEngine *_vm;
 	SoundGroupResource *_soundGroupResource;
diff --git a/engines/illusions/resources/talkresource.h b/engines/illusions/resources/talkresource.h
index ea38aa7..53e85b7 100644
--- a/engines/illusions/resources/talkresource.h
+++ b/engines/illusions/resources/talkresource.h
@@ -33,9 +33,9 @@ class IllusionsEngine;
 class TalkResourceLoader : public BaseResourceLoader {
 public:
 	TalkResourceLoader(IllusionsEngine *vm) : _vm(vm) {}
-	virtual ~TalkResourceLoader() {}
-	virtual void load(Resource *resource);
-	virtual bool isFlag(int flag);
+	~TalkResourceLoader() override {}
+	void load(Resource *resource) override;
+	bool isFlag(int flag) override;
 protected:
 	IllusionsEngine *_vm;
 };
@@ -62,10 +62,10 @@ public:
 class TalkInstance : public ResourceInstance {
 public:
 	TalkInstance(IllusionsEngine *vm);
-	virtual void load(Resource *resource);
-	virtual void unload();
-	virtual void pause();
-	virtual void unpause();
+	void load(Resource *resource) override;
+	void unload() override;
+	void pause() override;
+	void unpause() override;
 public:
 	IllusionsEngine *_vm;
 	uint32 _talkId;
diff --git a/engines/illusions/screen.h b/engines/illusions/screen.h
index 7025e29..c1a8501 100644
--- a/engines/illusions/screen.h
+++ b/engines/illusions/screen.h
@@ -128,15 +128,15 @@ public:
 class ScreenPalette : public ScreenPaletteBase {
 public:
 	ScreenPalette(IllusionsEngine *vm);
-	void setPalette(byte *colors, uint start, uint count);
-	void setPaletteEntry(int16 index, byte r, byte g, byte b);
-	void getPalette(byte *colors);
-	void shiftPalette(int16 fromIndex, int16 toIndex);
-	void updatePalette();
-	void updateFaderPalette();
-	void setFader(int newValue, int firstIndex, int lastIndex);
-	bool isFaderActive() const { return _isFaderActive; }
-	const byte* getColorTransTbl() const { return _colorTransTbl; }
+	void setPalette(byte *colors, uint start, uint count) override;
+	void setPaletteEntry(int16 index, byte r, byte g, byte b) override;
+	void getPalette(byte *colors) override;
+	void shiftPalette(int16 fromIndex, int16 toIndex) override;
+	void updatePalette() override;
+	void updateFaderPalette() override;
+	void setFader(int newValue, int firstIndex, int lastIndex) override;
+	bool isFaderActive() const override { return _isFaderActive; }
+	const byte* getColorTransTbl() const override { return _colorTransTbl; }
 protected:
 	IllusionsEngine *_vm;
 	bool _needRefreshPalette;
@@ -191,13 +191,13 @@ public:
 class Screen8Bit : public Screen {
 public:
 	Screen8Bit(IllusionsEngine *vm, int16 width, int16 height) : Screen(vm, width, height, 8) {}
-	void decompressSprite(SpriteDecompressQueueItem *item);
-	void drawSurface(Common::Rect &dstRect, Graphics::Surface *surface, Common::Rect &srcRect, int16 scale, uint32 flags);
-	void drawText(FontResource *font, Graphics::Surface *surface, int16 x, int16 y, uint16 *text, uint count);
-	void fillSurface(Graphics::Surface *surface, byte color);
-	void fillSurfaceRect(Graphics::Surface *surface, Common::Rect r, byte color);
+	void decompressSprite(SpriteDecompressQueueItem *item) override;
+	void drawSurface(Common::Rect &dstRect, Graphics::Surface *surface, Common::Rect &srcRect, int16 scale, uint32 flags) override;
+	void drawText(FontResource *font, Graphics::Surface *surface, int16 x, int16 y, uint16 *text, uint count) override;
+	void fillSurface(Graphics::Surface *surface, byte color) override;
+	void fillSurfaceRect(Graphics::Surface *surface, Common::Rect r, byte color) override;
 	bool isSpritePixelSolid(Common::Point &testPt, Common::Point &drawPosition, Common::Point &drawOffset,
-		const SurfInfo &surfInfo, int16 scale, uint flags, byte *compressedPixels);
+		const SurfInfo &surfInfo, int16 scale, uint flags, byte *compressedPixels) override;
 public:
 	int16 drawChar(FontResource *font, Graphics::Surface *surface, int16 x, int16 y, uint16 c);
 	void drawSurfaceUnscaled(int16 destX, int16 destY, Graphics::Surface *surface, Common::Rect &srcRect);
@@ -207,13 +207,13 @@ public:
 class Screen16Bit : public Screen {
 public:
 	Screen16Bit(IllusionsEngine *vm, int16 width, int16 height) : Screen(vm, width, height, 16) {}
-	void decompressSprite(SpriteDecompressQueueItem *item);
-	void drawSurface(Common::Rect &dstRect, Graphics::Surface *surface, Common::Rect &srcRect, int16 scale, uint32 flags);
-	void drawText(FontResource *font, Graphics::Surface *surface, int16 x, int16 y, uint16 *text, uint count);
-	void fillSurface(Graphics::Surface *surface, byte color);
-	void fillSurfaceRect(Graphics::Surface *surface, Common::Rect r, byte color);
+	void decompressSprite(SpriteDecompressQueueItem *item) override;
+	void drawSurface(Common::Rect &dstRect, Graphics::Surface *surface, Common::Rect &srcRect, int16 scale, uint32 flags) override;
+	void drawText(FontResource *font, Graphics::Surface *surface, int16 x, int16 y, uint16 *text, uint count) override;
+	void fillSurface(Graphics::Surface *surface, byte color) override;
+	void fillSurfaceRect(Graphics::Surface *surface, Common::Rect r, byte color) override;
 	bool isSpritePixelSolid(Common::Point &testPt, Common::Point &drawPosition, Common::Point &drawOffset,
-		const SurfInfo &surfInfo, int16 scale, uint flags, byte *compressedPixels);
+		const SurfInfo &surfInfo, int16 scale, uint flags, byte *compressedPixels) override;
 public:
 	int16 drawChar(FontResource *font, Graphics::Surface *surface, int16 x, int16 y, uint16 c);
 	void drawSurface10(int16 destX, int16 destY, Graphics::Surface *surface, Common::Rect &srcRect, uint16 colorKey);
diff --git a/engines/illusions/sound.h b/engines/illusions/sound.h
index db1d47c..c08075e 100644
--- a/engines/illusions/sound.h
+++ b/engines/illusions/sound.h
@@ -51,9 +51,9 @@ protected:
 class MidiPlayer : public Audio::MidiPlayer {
 public:
 	MidiPlayer();
-	~MidiPlayer();
+	~MidiPlayer() override;
 	bool play(uint32 musicId);
-	void stop();
+	void stop() override;
 	bool isIdle() const { return _isIdle; }
 protected:
 	bool _isIdle;
@@ -68,9 +68,9 @@ protected:
 	bool _isGM;
 	void sysMidiPlay(uint32 musicId);
 	void sysMidiStop();
-	virtual void send(uint32 b);
-	virtual void sendToChannel(byte channel, uint32 b);
-	virtual void endOfTrack();
+	void send(uint32 b) override;
+	void sendToChannel(byte channel, uint32 b) override;
+	void endOfTrack() override;
 };
 
 class VoicePlayer {
diff --git a/engines/illusions/specialcode.h b/engines/illusions/specialcode.h
index 25d7032..bbed43b 100644
--- a/engines/illusions/specialcode.h
+++ b/engines/illusions/specialcode.h
@@ -33,11 +33,11 @@ struct OpCall;
 class SpecialCodeLoader : public BaseResourceLoader {
 public:
 	SpecialCodeLoader(IllusionsEngine *vm) : _vm(vm) {}
-	virtual ~SpecialCodeLoader() {}
-	virtual void load(Resource *resource);
+	~SpecialCodeLoader() override {}
+	void load(Resource *resource) override;
 	virtual void unload(Resource *resource);
 	virtual void buildFilename(Resource *resource);
-	virtual bool isFlag(int flag);
+	bool isFlag(int flag) override;
 protected:
 	IllusionsEngine *_vm;
 };
diff --git a/engines/illusions/threads/abortablethread.h b/engines/illusions/threads/abortablethread.h
index 96ec9dc..e16a020 100644
--- a/engines/illusions/threads/abortablethread.h
+++ b/engines/illusions/threads/abortablethread.h
@@ -33,7 +33,7 @@ class AbortableThread : public Thread {
 public:
 	AbortableThread(IllusionsEngine *vm, uint32 threadId, uint32 callingThreadId, uint notifyFlags,
 		uint32 scriptThreadId, byte *scriptCodeIp);
-	virtual int onUpdate();
+	int onUpdate() override;
 public:
 	int _status;
 	byte *_scriptCodeIp;
diff --git a/engines/illusions/threads/causethread_duckman.h b/engines/illusions/threads/causethread_duckman.h
index 97bf00e..0713a0a 100644
--- a/engines/illusions/threads/causethread_duckman.h
+++ b/engines/illusions/threads/causethread_duckman.h
@@ -33,7 +33,7 @@ class CauseThread_Duckman : public Thread {
 public:
 	CauseThread_Duckman(IllusionsEngine_Duckman *vm, uint32 threadId, uint32 callingThreadId, uint notifyFlags,
 		uint32 triggerThreadId);
-	virtual int onUpdate();
+	int onUpdate() override;
 public:
 	IllusionsEngine_Duckman *_vm;
 	bool _flag;
diff --git a/engines/illusions/threads/scriptthread.h b/engines/illusions/threads/scriptthread.h
index 0306c4f..505d968 100644
--- a/engines/illusions/threads/scriptthread.h
+++ b/engines/illusions/threads/scriptthread.h
@@ -34,7 +34,7 @@ class ScriptThread : public Thread {
 public:
 	ScriptThread(IllusionsEngine *vm, uint32 threadId, uint32 callingThreadId, uint notifyFlags,
 		byte *scriptCodeIp, uint32 value8, uint32 valueC, uint32 value10);
-	virtual int onUpdate();
+	int onUpdate() override;
 public:
 	int16 _sequenceStalled;
 	byte *_scriptCodeIp;
diff --git a/engines/illusions/threads/talkthread.h b/engines/illusions/threads/talkthread.h
index 7f8a197..09945eb 100644
--- a/engines/illusions/threads/talkthread.h
+++ b/engines/illusions/threads/talkthread.h
@@ -41,13 +41,13 @@ public:
 	TalkThread(IllusionsEngine *vm, uint32 threadId, uint32 callingThreadId, uint notifyFlags,
 		int16 duration, uint32 objectId, uint32 talkId, uint32 sequenceId1, uint32 sequenceId2,
 		uint32 namedPointId);
-	virtual int onUpdate();
-	virtual void onSuspend();
-	virtual void onPause();
-	virtual void onUnpause();
-	virtual void onTerminated();
-	virtual void onKill();
-	virtual uint32 sendMessage(int msgNum, uint32 msgValue);
+	int onUpdate() override;
+	void onSuspend() override;
+	void onPause() override;
+	void onUnpause() override;
+	void onTerminated() override;
+	void onKill() override;
+	uint32 sendMessage(int msgNum, uint32 msgValue) override;
 public:
 	//field0 dw
 	int _status;
diff --git a/engines/illusions/threads/talkthread_duckman.h b/engines/illusions/threads/talkthread_duckman.h
index 9c710e3..ac9e20d 100644
--- a/engines/illusions/threads/talkthread_duckman.h
+++ b/engines/illusions/threads/talkthread_duckman.h
@@ -40,13 +40,13 @@ class TalkThread_Duckman : public Thread {
 public:
 	TalkThread_Duckman(IllusionsEngine_Duckman *vm, uint32 threadId, uint32 callingThreadId, uint notifyFlags,
 		uint32 objectId, uint32 talkId, uint32 sequenceId1, uint32 sequenceId2);
-	virtual int onUpdate();
-	virtual void onPause();
-	virtual void onUnpause();
-	virtual void onResume();
-	virtual void onTerminated();
-	virtual void onKill();
-	virtual uint32 sendMessage(int msgNum, uint32 msgValue);
+	int onUpdate() override;
+	void onPause() override;
+	void onUnpause() override;
+	void onResume() override;
+	void onTerminated() override;
+	void onKill() override;
+	uint32 sendMessage(int msgNum, uint32 msgValue) override;
 public:
 	IllusionsEngine_Duckman *_vm;
 	//field0 dw
diff --git a/engines/illusions/threads/timerthread.h b/engines/illusions/threads/timerthread.h
index 6f4aba9..baad53b 100644
--- a/engines/illusions/threads/timerthread.h
+++ b/engines/illusions/threads/timerthread.h
@@ -33,12 +33,12 @@ class TimerThread : public Thread {
 public:
 	TimerThread(IllusionsEngine *vm, uint32 threadId, uint32 callingThreadId, uint notifyFlags,
 		uint32 duration, bool isAbortable);
-	virtual int onUpdate();
-	virtual void onSuspend();
-	virtual void onNotify();
-	virtual void onPause();
-	virtual void onUnpause();
-	virtual void onResume();
+	int onUpdate() override;
+	void onSuspend() override;
+	void onNotify() override;
+	void onPause() override;
+	void onUnpause() override;
+	void onResume() override;
 public:
 	uint32 _startTime, _endTime;
 	uint32 _duration, _durationElapsed;


Commit: 551ed6218ae5f2a681ce48c69d2ad10f2e9ce850
    https://github.com/scummvm/scummvm/commit/551ed6218ae5f2a681ce48c69d2ad10f2e9ce850
Author: Bastien Bouclet (bastien.bouclet at gmail.com)
Date: 2020-02-09T12:43:15+01:00

Commit Message:
KYRA: Add override keywords

Changed paths:
    engines/kyra/detection.cpp
    engines/kyra/engine/darkmoon.h
    engines/kyra/engine/eob.h
    engines/kyra/engine/eobcommon.h
    engines/kyra/engine/kyra_hof.h
    engines/kyra/engine/kyra_lok.h
    engines/kyra/engine/kyra_mr.h
    engines/kyra/engine/kyra_rpg.h
    engines/kyra/engine/kyra_v2.h
    engines/kyra/engine/lol.h
    engines/kyra/graphics/screen.h
    engines/kyra/graphics/screen_eob.h
    engines/kyra/graphics/screen_lok.h
    engines/kyra/graphics/screen_lol.h
    engines/kyra/graphics/screen_mr.h
    engines/kyra/graphics/screen_v2.h
    engines/kyra/graphics/vqa.h
    engines/kyra/graphics/wsamovie.h
    engines/kyra/gui/debugger.h
    engines/kyra/gui/gui_eob.h
    engines/kyra/gui/gui_hof.h
    engines/kyra/gui/gui_lok.h
    engines/kyra/gui/gui_lol.h
    engines/kyra/gui/gui_mr.h
    engines/kyra/gui/gui_v1.h
    engines/kyra/gui/gui_v2.h
    engines/kyra/kyra_v1.h
    engines/kyra/resource/resource.cpp
    engines/kyra/resource/resource_intern.h
    engines/kyra/script/script_tim.h
    engines/kyra/sequence/sequences_eob.cpp
    engines/kyra/sound/drivers/adlib.cpp
    engines/kyra/sound/drivers/audiomaster2.cpp
    engines/kyra/sound/drivers/audstream.cpp
    engines/kyra/sound/drivers/midi.h
    engines/kyra/sound/drivers/mlalf98.cpp
    engines/kyra/sound/drivers/pcspeaker_v1.cpp
    engines/kyra/sound/sound.h
    engines/kyra/sound/sound_digital_mr.cpp
    engines/kyra/sound/sound_intern.h
    engines/kyra/sound/sound_pc_v1.h
    engines/kyra/text/text_hof.h
    engines/kyra/text/text_lol.h
    engines/kyra/text/text_mr.h


diff --git a/engines/kyra/detection.cpp b/engines/kyra/detection.cpp
index f27f869..c1ef150 100644
--- a/engines/kyra/detection.cpp
+++ b/engines/kyra/detection.cpp
@@ -179,7 +179,7 @@ public:
 	bool hasFeature(MetaEngineFeature f) const override;
 	bool createInstance(OSystem *syst, Engine **engine, const ADGameDescription *desc) const override;
 	SaveStateList listSaves(const char *target) const override;
-	virtual int getMaximumSaveSlot() const override;
+	int getMaximumSaveSlot() const override;
 	void removeSaveState(const char *target, int slot) const override;
 	SaveStateDescriptor querySaveMetaInfos(const char *target, int slot) const override;
 	Common::KeymapArray initKeymaps(const char *target) const override;
diff --git a/engines/kyra/engine/darkmoon.h b/engines/kyra/engine/darkmoon.h
index 05847df..88fb42e 100644
--- a/engines/kyra/engine/darkmoon.h
+++ b/engines/kyra/engine/darkmoon.h
@@ -49,28 +49,28 @@ friend class GUI_EoB;
 friend class DarkmoonSequenceHelper;
 public:
 	DarkMoonEngine(OSystem *system, const GameFlags &flags);
-	~DarkMoonEngine();
+	~DarkMoonEngine() override;
 
 private:
 	// Init / Release
-	Common::Error init();
+	Common::Error init() override;
 	void initStaticResource();
-	void initSpells();
+	void initSpells() override;
 
 	// Main Menu
-	int mainMenu();
+	int mainMenu() override;
 	int mainMenuLoop();
 	void townsUtilitiesMenu();
 
 	int _menuChoiceInit;
 
 	// Main loop
-	void startupNew();
-	void startupLoad();
+	void startupNew() override;
+	void startupLoad() override;
 
 	// Intro/Outro
 	void seq_playIntro();
-	void seq_playFinale();
+	void seq_playFinale() override;
 	void seq_playCredits(DarkmoonSequenceHelper *sq, const uint8 *data, int sd, int backupPage, int tempPage, int speed);
 
 	// Ingame sequence
@@ -82,42 +82,42 @@ private:
 	const char *const *_kheldranStrings;
 
 	// characters
-	void drawNpcScene(int npcIndex);
-	void runNpcDialogue(int npcIndex);
+	void drawNpcScene(int npcIndex) override;
+	void runNpcDialogue(int npcIndex) override;
 
 	const uint8 *_npcShpData;
 	const char *const *_npcStrings[2];
 
 	// items
-	void updateUsedCharacterHandItem(int charIndex, int slot);
+	void updateUsedCharacterHandItem(int charIndex, int slot) override;
 
 	// Monsters
-	void generateMonsterPalettes(const char *file, int16 monsterIndex);
-	void loadMonsterDecoration(Common::SeekableReadStream *stream, int16 monsterIndex);
-	const uint8 *loadMonsterProperties(const uint8 *data);
-	void replaceMonster(int unit, uint16 block, int d, int dir, int type, int shpIndex, int mode, int h2, int randItem, int fixedItem);
-	bool killMonsterExtra(EoBMonsterInPlay *m);
+	void generateMonsterPalettes(const char *file, int16 monsterIndex) override;
+	void loadMonsterDecoration(Common::SeekableReadStream *stream, int16 monsterIndex) override;
+	const uint8 *loadMonsterProperties(const uint8 *data) override;
+	void replaceMonster(int unit, uint16 block, int d, int dir, int type, int shpIndex, int mode, int h2, int randItem, int fixedItem) override;
+	bool killMonsterExtra(EoBMonsterInPlay *m) override;
 
 	// Level
-	void loadDoorShapes(int doorType1, int shapeId1, int doorType2, int shapeId2) {}
-	const uint8 *loadDoorShapes(const char *filename, int doorIndex, const uint8 *shapeDefs);
-	void drawDoorIntern(int type, int, int x, int y, int w, int wall, int mDim, int16, int16);
+	void loadDoorShapes(int doorType1, int shapeId1, int doorType2, int shapeId2) override {}
+	const uint8 *loadDoorShapes(const char *filename, int doorIndex, const uint8 *shapeDefs) override;
+	void drawDoorIntern(int type, int, int x, int y, int w, int wall, int mDim, int16, int16) override;
 
 	const uint8 *_dscDoorType5Offs;
 
 	// Magic
-	void turnUndeadAutoHit();
+	void turnUndeadAutoHit() override;
 
 	// Fight
 	static const uint8 _monsterAcHitChanceTbl1[];
 	static const uint8 _monsterAcHitChanceTbl2[];
 
 	// Rest party
-	void restParty_npc();
-	bool restParty_extraAbortCondition();
+	void restParty_npc() override;
+	bool restParty_extraAbortCondition() override;
 
 	// Sound
-	void snd_loadAmigaSounds(int level, int sub);
+	void snd_loadAmigaSounds(int level, int sub) override;
 
 	const char *const *_amigaSoundFiles2;
 	const char *const *_amigaSoundMapExtra;
@@ -129,14 +129,14 @@ private:
 	int _amigaCurSoundIndex;
 
 	// misc
-	void useHorn(int charIndex, int weaponSlot);
-	bool checkPartyStatusExtra();
-	void drawLightningColumn();
-	int resurrectionSelectDialogue();
-	int charSelectDialogue();
-	void characterLevelGain(int charIndex);
-
-	const KyraRpgGUISettings *guiSettings() const;
+	void useHorn(int charIndex, int weaponSlot) override;
+	bool checkPartyStatusExtra() override;
+	void drawLightningColumn() override;
+	int resurrectionSelectDialogue() override;
+	int charSelectDialogue() override;
+	void characterLevelGain(int charIndex) override;
+
+	const KyraRpgGUISettings *guiSettings() const override;
 
 	const char *const *_hornStrings;
 	const uint8 *_hornSounds;
diff --git a/engines/kyra/engine/eob.h b/engines/kyra/engine/eob.h
index 5b06e30..d1fa6ec 100644
--- a/engines/kyra/engine/eob.h
+++ b/engines/kyra/engine/eob.h
@@ -37,16 +37,16 @@ friend class EoBPC98FinalePlayer;
 friend class EoBAmigaFinalePlayer;
 public:
 	EoBEngine(OSystem *system, const GameFlags &flags);
-	~EoBEngine();
+	~EoBEngine() override;
 
 private:
 	// Init / Release
-	Common::Error init();
+	Common::Error init() override;
 	void initStaticResource();
-	void initSpells();
+	void initSpells() override;
 
 	// Main Menu
-	int mainMenu();
+	int mainMenu() override;
 	int mainMenuLoop();
 	int _menuChoiceInit;
 
@@ -72,8 +72,8 @@ private:
 	const TitleScreenConfig *_ttlCfg;
 
 	// Main loop
-	void startupNew();
-	void startupLoad();
+	void startupNew() override;
+	void startupLoad() override;
 
 	// Intro/Outro
 	enum IntroPart {
@@ -83,16 +83,16 @@ private:
 	};
 
 	void seq_playIntro(int part);
-	void seq_playFinale();
-	void seq_xdeath();
+	void seq_playFinale() override;
+	void seq_xdeath() override;
 
 	const char *const *_finBonusStrings;
 	bool _xdth;
 
 	// characters
-	void drawNpcScene(int npcIndex);
+	void drawNpcScene(int npcIndex) override;
 	void encodeDrawNpcSeqShape(int npcIndex, int drawX, int drawY);
-	void runNpcDialogue(int npcIndex);
+	void runNpcDialogue(int npcIndex) override;
 
 	const uint8 *_npcShpData;
 	const uint8 *_npcSubShpIndex1;
@@ -101,17 +101,17 @@ private:
 	const char *const *_npcStrings[11];
 
 	// items
-	void updateUsedCharacterHandItem(int charIndex, int slot);
+	void updateUsedCharacterHandItem(int charIndex, int slot) override;
 
 	// Monsters
-	void replaceMonster(int unit, uint16 block, int d, int dir, int type, int shpIndex, int mode, int h2, int randItem, int fixedItem);
-	bool killMonsterExtra(EoBMonsterInPlay *m);
-	void updateScriptTimersExtra();
+	void replaceMonster(int unit, uint16 block, int d, int dir, int type, int shpIndex, int mode, int h2, int randItem, int fixedItem) override;
+	bool killMonsterExtra(EoBMonsterInPlay *m) override;
+	void updateScriptTimersExtra() override;
 
 	// Level
-	const uint8 *loadDoorShapes(const char *filename, int doorIndex, const uint8 *shapeDefs) { return 0; }
-	void loadDoorShapes(int doorType1, int shapeId1, int doorType2, int shapeId2);
-	void drawDoorIntern(int type, int index, int x, int y, int w, int wall, int mDim, int16 y1, int16 y2);
+	const uint8 *loadDoorShapes(const char *filename, int doorIndex, const uint8 *shapeDefs) override { return 0; }
+	void loadDoorShapes(int doorType1, int shapeId1, int doorType2, int shapeId2) override;
+	void drawDoorIntern(int type, int index, int x, int y, int w, int wall, int mDim, int16 y1, int16 y2) override;
 
 	const int16 *_dscDoorCoordsExt;
 	const uint8 *_dscDoorScaleMult4;
@@ -132,21 +132,21 @@ private:
 	static const uint8 _monsterAcHitChanceTbl2[];
 
 	// Magic
-	void turnUndeadAuto();
-	void turnUndeadAutoHit();
+	void turnUndeadAuto() override;
+	void turnUndeadAutoHit() override;
 
 	const char *const *_turnUndeadString;
 
 	// Sound
-	void snd_loadAmigaSounds(int level, int);
+	void snd_loadAmigaSounds(int level, int) override;
 
 	// Misc
-	bool checkPartyStatusExtra();
-	int resurrectionSelectDialogue();
+	bool checkPartyStatusExtra() override;
+	int resurrectionSelectDialogue() override;
 	void healParty();
 
-	const KyraRpgGUISettings *guiSettings() const;
-	void useMainMenuGUISettings(bool toggle) { _useMainMenuGUISettings = toggle; }
+	const KyraRpgGUISettings *guiSettings() const override;
+	void useMainMenuGUISettings(bool toggle) override { _useMainMenuGUISettings = toggle; }
 
 	static const KyraRpgGUISettings _guiSettingsVGA;
 	static const KyraRpgGUISettings _guiSettingsEGA;
diff --git a/engines/kyra/engine/eobcommon.h b/engines/kyra/engine/eobcommon.h
index 4c96c4f..51099ea 100644
--- a/engines/kyra/engine/eobcommon.h
+++ b/engines/kyra/engine/eobcommon.h
@@ -253,17 +253,17 @@ friend class CharacterGenerator;
 friend class TransferPartyWiz;
 public:
 	EoBCoreEngine(OSystem *system, const GameFlags &flags);
-	virtual ~EoBCoreEngine();
+	~EoBCoreEngine() override;
 
 	static Common::Array<Common::Keymap *> initKeymaps(const Common::String &ameId);
 
-	Screen *screen() { return _screen; }
-	GUI *gui() const { return _gui; }
+	Screen *screen() override { return _screen; }
+	GUI *gui() const override { return _gui; }
 
 protected:
 	// Startup
-	virtual Common::Error init();
-	Common::Error go();
+	Common::Error init() override;
+	Common::Error go() override;
 
 	// Main Menu, Intro, Finale
 	virtual int mainMenu() = 0;
@@ -280,9 +280,9 @@ protected:
 	void initStaticResource();
 	virtual void initSpells();
 
-	void registerDefaultSettings();
-	void readSettings();
-	void writeSettings();
+	void registerDefaultSettings() override;
+	void readSettings() override;
+	void writeSettings() override;
 
 	const uint8 **_largeItemShapes;
 	const uint8 **_smallItemShapes;
@@ -321,7 +321,7 @@ protected:
 	virtual void startupNew();
 	virtual void startupLoad() = 0;
 	void runLoop();
-	void update() { screen()->updateScreen(); }
+	void update() override { screen()->updateScreen(); }
 	bool checkPartyStatus(bool handleDeath);
 
 	bool _runFlag;
@@ -341,9 +341,9 @@ protected:
 	const uint8 *_classModifierFlags;
 
 	// timers
-	void setupTimers();
-	virtual void enableSysTimer(int sysTimer);
-	virtual void disableSysTimer(int sysTimer);
+	void setupTimers() override;
+	void enableSysTimer(int sysTimer) override;
+	void disableSysTimer(int sysTimer) override;
 	void setCharEventTimer(int charIndex, uint32 countdown, int evnt, int updateExistingTimer);
 	void deleteCharEventTimer(int charIndex, int evnt);
 	void setupCharacterTimers();
@@ -357,8 +357,8 @@ protected:
 	void timerUpdateFoodStatus(int timerNum);
 	void timerUpdateMonsterIdleAnim(int timerNum);
 
-	uint8 getClock2Timer(int index) { return index < _numClock2Timers ? _clock2Timers[index] : 0; }
-	uint8 getNumClock2Timers()  { return _numClock2Timers; }
+	uint8 getClock2Timer(int index) override { return index < _numClock2Timers ? _clock2Timers[index] : 0; }
+	uint8 getNumClock2Timers() override  { return _numClock2Timers; }
 
 	static const uint8 _clock2Timers[];
 	static const uint8 _numClock2Timers;
@@ -367,7 +367,7 @@ protected:
 	uint32 _restPartyElapsedTime;
 
 	// Mouse
-	void setHandItem(Item itemIndex);
+	void setHandItem(Item itemIndex) override;
 
 	// Characters
 	int getDexterityArmorClassModifier(int dexterity);
@@ -592,10 +592,10 @@ protected:
 	void loadLevel(int level, int sub);
 	void readLevelFileData(int level);
 	Common::String initLevelData(int sub);
-	void addLevelItems();
+	void addLevelItems() override;
 	void loadVcnData(const char *file, const uint8 *cgaMapping);
-	void loadBlockProperties(const char *mazFile);
-	const uint8 *getBlockFileData(int levelIndex = 0);
+	void loadBlockProperties(const char *mazFile) override;
+	const uint8 *getBlockFileData(int levelIndex = 0) override;
 	Common::String getBlockFileName(int levelIndex, int sub);
 	const uint8 *getBlockFileData(const char *mazFile);
 	void loadDecorations(const char *cpsFile, const char *decFile);
@@ -606,18 +606,18 @@ protected:
 	virtual void loadDoorShapes(int doorType1, int shapeId1, int doorType2, int shapeId2) = 0;
 	virtual const uint8 *loadDoorShapes(const char *filename, int doorIndex, const uint8 *shapeDefs) = 0;
 
-	void drawScene(int refresh);
-	void drawSceneShapes(int start = 0);
-	void drawDecorations(int index);
+	void drawScene(int refresh) override;
+	void drawSceneShapes(int start = 0) override;
+	void drawDecorations(int index) override;
 
 	int calcNewBlockPositionAndTestPassability(uint16 curBlock, uint16 direction);
 	void notifyBlockNotPassable();
 	void moveParty(uint16 block);
 
-	int clickedDoorSwitch(uint16 block, uint16 direction);
+	int clickedDoorSwitch(uint16 block, uint16 direction) override;
 	int clickedDoorPry(uint16 block, uint16 direction);
 	int clickedDoorNoPry(uint16 block, uint16 direction);
-	int clickedNiche(uint16 block, uint16 direction);
+	int clickedNiche(uint16 block, uint16 direction) override;
 
 	int specialWallAction(int block, int direction);
 
@@ -668,7 +668,7 @@ protected:
 	const int8 *_portalSeq;
 
 	// Script
-	void runLevelScript(int block, int flags);
+	void runLevelScript(int block, int flags) override;
 	void setScriptFlags(uint32 flags);
 	void clearScriptFlags(uint32 flags);
 	bool checkScriptFlags(uint32 flags);
@@ -694,7 +694,7 @@ protected:
 	void gui_drawWeaponSlotStatus(int x, int y, int status);
 	void gui_drawHitpoints(int index);
 	void gui_drawFoodStatusGraph(int index);
-	void gui_drawHorizontalBarGraph(int x, int y, int w, int h, int32 curVal, int32 maxVal, int col1, int col2);
+	void gui_drawHorizontalBarGraph(int x, int y, int w, int h, int32 curVal, int32 maxVal, int col1, int col2) override;
 	void gui_drawCharPortraitStatusFrame(int index);
 	void gui_drawInventoryItem(int slot, int redraw, int pageNum);
 	void gui_drawCompass(bool force);
@@ -709,7 +709,7 @@ protected:
 	void gui_setStatsListButtons();
 	void gui_setSwapCharacterButtons();
 	void gui_setCastOnWhomButtons();
-	void gui_initButton(int index, int x = -1, int y = -1, int val = -1);
+	void gui_initButton(int index, int x = -1, int y = -1, int val = -1) override;
 	Button *gui_getButton(Button *buttonList, int index);
 
 	int clickedInventoryNextPage(Button *button);
@@ -842,7 +842,7 @@ protected:
 	virtual bool restParty_extraAbortCondition();
 
 	// misc
-	void delay(uint32 millis, bool doUpdate = false, bool isMainLoop = false);
+	void delay(uint32 millis, bool doUpdate = false, bool isMainLoop = false) override;
 
 	void displayParchment(int id);
 	int countResurrectionCandidates();
@@ -859,8 +859,8 @@ protected:
 	virtual int charSelectDialogue() { return -1; }
 	virtual void characterLevelGain(int charIndex) {}
 
-	Common::Error loadGameState(int slot);
-	Common::Error saveGameStateIntern(int slot, const char *saveName, const Graphics::Surface *thumbnail);
+	Common::Error loadGameState(int slot) override;
+	Common::Error saveGameStateIntern(int slot, const char *saveName, const Graphics::Surface *thumbnail) override;
 
 	const uint8 *_cgaMappingDefault;
 	const uint8 *_cgaMappingAlt;
@@ -883,12 +883,12 @@ protected:
 	Common::String readOriginalSaveFile(Common::String &file);
 	bool saveAsOriginalSaveFile(int slot = -1);
 
-	void *generateMonsterTempData(LevelTempData *tmp);
-	void restoreMonsterTempData(LevelTempData *tmp);
-	void releaseMonsterTempData(LevelTempData *tmp);
-	void *generateWallOfForceTempData(LevelTempData *tmp);
-	void restoreWallOfForceTempData(LevelTempData *tmp);
-	void releaseWallOfForceTempData(LevelTempData *tmp);
+	void *generateMonsterTempData(LevelTempData *tmp) override;
+	void restoreMonsterTempData(LevelTempData *tmp) override;
+	void releaseMonsterTempData(LevelTempData *tmp) override;
+	void *generateWallOfForceTempData(LevelTempData *tmp) override;
+	void restoreWallOfForceTempData(LevelTempData *tmp) override;
+	void releaseWallOfForceTempData(LevelTempData *tmp) override;
 
 	const char *const *_saveLoadStrings;
 
@@ -1189,7 +1189,7 @@ protected:
 
 	// sound
 	void snd_playSong(int id);
-	void snd_playSoundEffect(int id, int volume=0xFF);
+	void snd_playSoundEffect(int id, int volume=0xFF) override;
 	void snd_stopSound();
 	void snd_fadeOut(int del = 160);
 	virtual void snd_loadAmigaSounds(int level, int sub) = 0;
diff --git a/engines/kyra/engine/kyra_hof.h b/engines/kyra/engine/kyra_hof.h
index 60e2d1f..4227fc8 100644
--- a/engines/kyra/engine/kyra_hof.h
+++ b/engines/kyra/engine/kyra_hof.h
@@ -48,14 +48,14 @@ friend class TextDisplayer_HoF;
 friend class GUI_HoF;
 public:
 	KyraEngine_HoF(OSystem *system, const GameFlags &flags);
-	~KyraEngine_HoF();
+	~KyraEngine_HoF() override;
 
-	void pauseEngineIntern(bool pause);
+	void pauseEngineIntern(bool pause) override;
 
-	Screen *screen() { return _screen; }
-	Screen_v2 *screen_v2() const { return _screen; }
-	GUI *gui() const { return _gui; }
-	virtual TextDisplayer *text() { return _text; }
+	Screen *screen() override { return _screen; }
+	Screen_v2 *screen_v2() const override { return _screen; }
+	GUI *gui() const override { return _gui; }
+	TextDisplayer *text() override { return _text; }
 	int language() const { return _lang; }
 
 protected:
@@ -70,8 +70,8 @@ protected:
 
 	void seq_pausePlayer(bool toggle);
 
-	Common::Error init();
-	Common::Error go();
+	Common::Error init() override;
+	Common::Error go() override;
 
 	Screen_HoF *_screen;
 	TextDisplayer_HoF *_text;
@@ -92,24 +92,24 @@ protected:
 	void runLoop();
 	void cleanup();
 
-	void registerDefaultSettings();
-	void writeSettings();
-	void readSettings();
+	void registerDefaultSettings() override;
+	void writeSettings() override;
+	void readSettings() override;
 	uint8 _configTextspeed;
 
 	// TODO: get rid of all variables having pointers to the static resources if possible
 	// i.e. let them directly use the _staticres functions
 	void initStaticResource();
 
-	void setupTimers();
-	void setupOpcodeTable();
+	void setupTimers() override;
+	void setupOpcodeTable() override;
 
 	void loadMouseShapes();
 	void loadItemShapes();
 
 	// run
-	void update();
-	void updateWithText();
+	void update() override;
+	void updateWithText() override;
 
 	Common::Functor0Mem<void, KyraEngine_HoF> _updateFunctor;
 
@@ -120,7 +120,7 @@ protected:
 	void handleInput(int x, int y);
 	bool handleInputUnkSub(int x, int y);
 
-	int inputSceneChange(int x, int y, int unk1, int unk2);
+	int inputSceneChange(int x, int y, int unk1, int unk2) override;
 
 	// special case
 	void processKeyboardSfx(int inputFlag);
@@ -153,12 +153,12 @@ protected:
 
 	ShapeDesc *_shapeDescTable;
 
-	void loadCharacterShapes(int shapes);
+	void loadCharacterShapes(int shapes) override;
 	void loadInventoryShapes();
 
 	void resetScaleTable();
 	void setScaleTableItem(int item, int data);
-	int getScale(int x, int y);
+	int getScale(int x, int y) override;
 	uint16 _scaleTable[15];
 
 	void setDrawLayerTableEntry(int entry, int data);
@@ -167,36 +167,36 @@ protected:
 
 	int _layerFlagTable[16]; // seems to indicate layers where items get destroyed when dropped to (TODO: check this!)
 
-	int initAnimationShapes(uint8 *filedata);
-	void uninitAnimationShapes(int count, uint8 *filedata);
+	int initAnimationShapes(uint8 *filedata) override;
+	void uninitAnimationShapes(int count, uint8 *filedata) override;
 
 	// animator
 	uint8 *_gamePlayBuffer;
-	void restorePage3();
+	void restorePage3() override;
 
-	void clearAnimObjects();
+	void clearAnimObjects() override;
 
-	void refreshAnimObjects(int force);
+	void refreshAnimObjects(int force) override;
 
-	void drawAnimObjects();
-	void drawSceneAnimObject(AnimObj *obj, int x, int y, int drawLayer);
-	void drawCharacterAnimObject(AnimObj *obj, int x, int y, int drawLayer);
+	void drawAnimObjects() override;
+	void drawSceneAnimObject(AnimObj *obj, int x, int y, int drawLayer) override;
+	void drawCharacterAnimObject(AnimObj *obj, int x, int y, int drawLayer) override;
 
 	void updateItemAnimations();
 
 	void updateCharFacing();
-	void updateCharacterAnim(int);
-	void updateSceneAnim(int anim, int newFrame);
+	void updateCharacterAnim(int) override;
+	void updateSceneAnim(int anim, int newFrame) override;
 
 	int _animObj0Width, _animObj0Height;
-	void setCharacterAnimDim(int w, int h);
-	void resetCharacterAnimDim();
+	void setCharacterAnimDim(int w, int h) override;
+	void resetCharacterAnimDim() override;
 
 	// scene
 	const char *_sceneCommentString;
 	uint8 _scenePal[688];
 
-	void enterNewScene(uint16 newScene, int facing, int unk1, int unk2, int unk3);
+	void enterNewScene(uint16 newScene, int facing, int unk1, int unk2, int unk3) override;
 	void enterNewSceneUnk1(int facing, int unk1, int unk2);
 	void enterNewSceneUnk2(int unk1);
 	void unloadScene();
@@ -214,14 +214,14 @@ protected:
 	void initSceneAnims(int unk1);
 	void initSceneScreen(int unk1);
 
-	int trySceneChange(int *moveTable, int unk1, int updateChar);
+	int trySceneChange(int *moveTable, int unk1, int updateChar) override;
 	int checkSceneChange();
 
 	// pathfinder
-	bool lineIsPassable(int x, int y);
+	bool lineIsPassable(int x, int y) override;
 
 	// item
-	void setMouseCursor(Item item);
+	void setMouseCursor(Item item) override;
 
 	uint8 _itemHtDat[176];
 
@@ -358,8 +358,8 @@ protected:
 
 	int _characterFacingCountTable[2];
 
-	int getCharacterWalkspeed() const;
-	void updateCharAnimFrame(int *table);
+	int getCharacterWalkspeed() const override;
+	void updateCharAnimFrame(int *table) override;
 
 	bool checkCharCollision(int x, int y);
 
@@ -393,12 +393,12 @@ protected:
 	void startDialogue(int dlgIndex);
 
 	void zanthSceneStartupChat();
-	void randomSceneChat();
+	void randomSceneChat() override;
 	void updateDlgBuffer();
 	void loadDlgHeader(int &csEntry, int &vocH, int &scIndex1, int &scIndex2);
 	void processDialogue(int dlgOffset, int vocH = 0, int csEntry = 0);
 	void npcChatSequence(const char *str, int objectId, int vocHigh = -1, int vocLow = -1);
-	void setDlgIndex(int dlgIndex);
+	void setDlgIndex(int dlgIndex) override;
 
 	int _npcTalkChpIndex;
 	int _npcTalkDlgIndex;
@@ -443,11 +443,11 @@ protected:
 	void openTalkFile(int newFile);
 	int _lastSfxTrack;
 
-	virtual void snd_playVoiceFile(int id);
+	void snd_playVoiceFile(int id) override;
 	void snd_loadSoundFile(int id);
 
 	void playVoice(int high, int low);
-	void snd_playSoundEffect(int track, int volume=0xFF);
+	void snd_playSoundEffect(int track, int volume=0xFF) override;
 
 	// timer
 	void timerFadeOutMessage(int);
@@ -466,7 +466,7 @@ protected:
 	void showIdleAnim();
 	void runIdleScript(int script);
 
-	void setWalkspeed(uint8 speed);
+	void setWalkspeed(uint8 speed) override;
 
 	// ingame static sequence handling
 	void seq_makeBookOrCauldronAppear(int type);
@@ -694,8 +694,8 @@ protected:
 	int _dbgPass;
 
 	// save/load specific
-	Common::Error saveGameStateIntern(int slot, const char *saveName, const Graphics::Surface *thumbnail);
-	Common::Error loadGameState(int slot);
+	Common::Error saveGameStateIntern(int slot, const char *saveName, const Graphics::Surface *thumbnail) override;
+	Common::Error loadGameState(int slot) override;
 };
 
 } // End of namespace Kyra
diff --git a/engines/kyra/engine/kyra_lok.h b/engines/kyra/engine/kyra_lok.h
index e6a13a3..2d15ee3 100644
--- a/engines/kyra/engine/kyra_lok.h
+++ b/engines/kyra/engine/kyra_lok.h
@@ -102,14 +102,14 @@ class KyraEngine_LoK : public KyraEngine_v1 {
 	friend class GUI_LoK;
 public:
 	KyraEngine_LoK(OSystem *system, const GameFlags &flags);
-	~KyraEngine_LoK();
+	~KyraEngine_LoK() override;
 
 	// _sprites and _seqplayer should be paused here too, to avoid some animation glitches,
 	// also parts of the hardcoded Malcolm fight might need some special handling.
 
-	Screen *screen() { return _screen; }
+	Screen *screen() override { return _screen; }
 	Animator_LoK *animator() { return _animator; }
-	GUI *gui() const { return _gui; }
+	GUI *gui() const override { return _gui; }
 	virtual Movie *createWSAMovie();
 
 	uint8 **shapes() { return _shapes; }
@@ -135,8 +135,8 @@ public:
 	const uint8 *const *palTable2() { return &_specialPalettes[29]; }
 
 protected:
-	virtual Common::Error go();
-	virtual Common::Error init();
+	Common::Error go() override;
+	Common::Error init() override;
 
 public:
 	// sequences
@@ -188,29 +188,29 @@ protected:
 
 public:
 	// delay
-	void delayUntil(uint32 timestamp, bool updateGameTimers = false, bool update = false, bool isMainLoop = false);
-	void delay(uint32 millis, bool update = false, bool isMainLoop = false);
-	void delayWithTicks(int ticks);
+	void delayUntil(uint32 timestamp, bool updateGameTimers = false, bool update = false, bool isMainLoop = false) override;
+	void delay(uint32 millis, bool update = false, bool isMainLoop = false) override;
+	void delayWithTicks(int ticks) override;
 
-	bool skipFlag() const;
-	void resetSkipFlag(bool removeEvent = true);
+	bool skipFlag() const override;
+	void resetSkipFlag(bool removeEvent = true) override;
 
 	// TODO
-	void registerDefaultSettings();
-	void readSettings();
-	void writeSettings();
+	void registerDefaultSettings() override;
+	void readSettings() override;
+	void writeSettings() override;
 
-	void snd_playSoundEffect(int track, int volume=0xFF);
-	void snd_playWanderScoreViaMap(int command, int restart);
-	virtual void snd_playVoiceFile(int id);
+	void snd_playSoundEffect(int track, int volume=0xFF) override;
+	void snd_playWanderScoreViaMap(int command, int restart) override;
+	void snd_playVoiceFile(int id) override;
 	void snd_voiceWaitForFinish(bool ingame = true);
 	uint32 snd_getVoicePlayTime();
 
 protected:
 	int32 _speechPlayTime;
 
-	Common::Error saveGameStateIntern(int slot, const char *saveName, const Graphics::Surface *thumbnail);
-	Common::Error loadGameState(int slot);
+	Common::Error saveGameStateIntern(int slot, const char *saveName, const Graphics::Surface *thumbnail) override;
+	Common::Error loadGameState(int slot) override;
 protected:
 	// input
 	void processInput(int xpos, int ypos);
@@ -241,8 +241,8 @@ protected:
 	void setSceneFile(int roomIndex, int roomName);
 
 	// -> pathfinder
-	int findWay(int x, int y, int toX, int toY, int *moveTable, int moveTableSize);
-	bool lineIsPassable(int x, int y);
+	int findWay(int x, int y, int toX, int toY, int *moveTable, int moveTableSize) override;
+	bool lineIsPassable(int x, int y) override;
 
 	// -> item handling
 	// --> misc
@@ -279,8 +279,8 @@ protected:
 	void placeItemInGenericMapScene(int item, int index);
 
 	// -> mouse item
-	void setHandItem(Item item);
-	void removeHandItem();
+	void setHandItem(Item item) override;
+	void removeHandItem() override;
 	void setMouseItem(Item item);
 
 	int getItemListIndex(Item item);
@@ -363,7 +363,7 @@ protected:
 	void closeFinalWsa();
 
 	//void setTimer19();
-	void setupTimers();
+	void setupTimers() override;
 	void timerUpdateHeadAnims(int timerNum);
 	void timerTulipCreator(int timerNum);
 	void timerRubyCreator(int timerNum);
@@ -379,7 +379,7 @@ protected:
 	void timerInvisibleFrameTimer(int timerNum);
 	void drawAmulet();
 	void setTextFadeTimerCountdown(int16 countdown);
-	void setWalkspeed(uint8 newSpeed);
+	void setWalkspeed(uint8 newSpeed) override;
 
 	void setItemCreationFlags(int offset, int count);
 
@@ -664,7 +664,7 @@ protected:
 	// special palette handling for AMIGA
 	void setupZanthiaPalette(int pal);
 protected:
-	void setupOpcodeTable();
+	void setupOpcodeTable() override;
 
 	// Opcodes
 	int o1_magicInMouseItem(EMCState *script);
diff --git a/engines/kyra/engine/kyra_mr.h b/engines/kyra/engine/kyra_mr.h
index e44303b..a99b772 100644
--- a/engines/kyra/engine/kyra_mr.h
+++ b/engines/kyra/engine/kyra_mr.h
@@ -45,21 +45,21 @@ friend class TextDisplayer_MR;
 friend class GUI_MR;
 public:
 	KyraEngine_MR(OSystem *system, const GameFlags &flags);
-	~KyraEngine_MR();
+	~KyraEngine_MR() override;
 
 	// Regarding pausing of the engine:
 	// Idle animation time, item animations and album animations should be taken
 	// care of, but since those would just produce minor glitches it's not that
 	// important.
 
-	Screen *screen() { return _screen; }
-	Screen_v2 *screen_v2() const { return _screen; }
-	GUI *gui() const { return _gui; }
+	Screen *screen() override { return _screen; }
+	Screen_v2 *screen_v2() const override { return _screen; }
+	GUI *gui() const override { return _gui; }
 	SoundDigital_MR *soundDigital() { return _soundDigital; }
 	int language() const { return _lang; }
 	bool heliumMode() const { return _configHelium; }
 
-	Common::Error go();
+	Common::Error go() override;
 
 	void playVQA(const char *name);
 
@@ -72,9 +72,9 @@ private:
 	bool _configHelium;
 	int _configVQAQuality;
 
-	void registerDefaultSettings();
-	void writeSettings();
-	void readSettings();
+	void registerDefaultSettings() override;
+	void writeSettings() override;
+	void readSettings() override;
 
 	void initStaticResource();
 
@@ -82,27 +82,27 @@ private:
 	Screen_MR *_screen;
 	SoundDigital_MR *_soundDigital;
 
-	Common::Error init();
+	Common::Error init() override;
 
 	void preinit();
 	void startup();
 	void runStartupScript(int script, int unk1);
 
-	void setupOpcodeTable();
+	void setupOpcodeTable() override;
 
 	// input
-	bool skipFlag() const;
-	void resetSkipFlag(bool removeEvent = true);
+	bool skipFlag() const override;
+	void resetSkipFlag(bool removeEvent = true) override;
 
 	// run
 	bool _menuDirectlyToLoad;
 
 	void runLoop();
 	void handleInput(int x, int y);
-	int inputSceneChange(int x, int y, int unk1, int unk2);
+	int inputSceneChange(int x, int y, int unk1, int unk2) override;
 
-	void update();
-	void updateWithText();
+	void update() override;
+	void updateWithText() override;
 	void updateMouse();
 
 	// sound specific
@@ -116,12 +116,12 @@ private:
 	const char *const *_soundList;
 	int _soundListSize;
 
-	void snd_playWanderScoreViaMap(int track, int force);
+	void snd_playWanderScoreViaMap(int track, int force) override;
 	void stopMusicTrack();
 
 	void fadeOutMusic(int ticks);
 
-	void snd_playSoundEffect(int item, int volume);
+	void snd_playSoundEffect(int item, int volume) override;
 
 	const uint8 *_sfxFileMap;
 	int _sfxFileMapSize;
@@ -131,9 +131,9 @@ private:
 	int _voiceSoundChannel;
 
 	void playVoice(int high, int low);
-	void snd_playVoiceFile(int file);
-	bool snd_voiceIsPlaying();
-	void snd_stopVoice();
+	void snd_playVoiceFile(int file) override;
+	bool snd_voiceIsPlaying() override;
+	void snd_stopVoice() override;
 
 	int _curStudioSFX;
 	void playStudioSFX(const char *str);
@@ -165,9 +165,9 @@ private:
 	WSAMovie_v2 *_menuAnim;
 
 	// timer
-	void setupTimers();
+	void setupTimers() override;
 
-	void setWalkspeed(uint8);
+	void setWalkspeed(uint8) override;
 	void setCommandLineRestoreTimer(int secs);
 
 	void timerRestoreCommandLine(int arg);
@@ -178,7 +178,7 @@ private:
 	void setNextIdleAnimTimer();
 
 	// pathfinder
-	bool lineIsPassable(int x, int y);
+	bool lineIsPassable(int x, int y) override;
 
 private:
 	// main menu
@@ -190,31 +190,31 @@ private:
 
 	// animator
 	uint8 *_gamePlayBuffer;
-	void restorePage3();
+	void restorePage3() override;
 
-	void clearAnimObjects();
+	void clearAnimObjects() override;
 
-	void animSetupPaletteEntry(AnimObj *anim);
+	void animSetupPaletteEntry(AnimObj *anim) override;
 
-	void drawAnimObjects();
-	void drawSceneAnimObject(AnimObj *obj, int x, int y, int drawLayer);
-	void drawCharacterAnimObject(AnimObj *obj, int x, int y, int drawLayer);
+	void drawAnimObjects() override;
+	void drawSceneAnimObject(AnimObj *obj, int x, int y, int drawLayer) override;
+	void drawCharacterAnimObject(AnimObj *obj, int x, int y, int drawLayer) override;
 
-	void refreshAnimObjects(int force);
+	void refreshAnimObjects(int force) override;
 
 	bool _loadingState;
 	void updateItemAnimations();
-	void updateCharacterAnim(int charId);
+	void updateCharacterAnim(int charId) override;
 
-	void updateSceneAnim(int anim, int newFrame);
+	void updateSceneAnim(int anim, int newFrame) override;
 	void setupSceneAnimObject(int anim, uint16 flags, int x, int y, int x2, int y2, int w, int h, int unk10, int specialSize, int unk14, int shape, const char *filename);
 	void removeSceneAnimObject(int anim, int refresh);
 
 	int _charBackUpWidth2, _charBackUpHeight2;
 	int _charBackUpWidth, _charBackUpHeight;
 
-	void setCharacterAnimDim(int w, int h);
-	void resetCharacterAnimDim();
+	void setCharacterAnimDim(int w, int h) override;
+	void resetCharacterAnimDim() override;
 
 	bool _nextIdleType;
 	void showIdleAnim();
@@ -312,12 +312,12 @@ private:
 
 	// -> hand item
 	void setItemMouseCursor();
-	void setMouseCursor(Item item);
+	void setMouseCursor(Item item) override;
 
 	// shapes
 	void initMouseShapes();
 
-	void loadCharacterShapes(int newShapes);
+	void loadCharacterShapes(int newShapes) override;
 	void updateMalcolmShapes();
 
 	int _malcolmShapeXOffset, _malcolmShapeYOffset;
@@ -340,7 +340,7 @@ private:
 
 	// scene
 	bool _noScriptEnter;
-	void enterNewScene(uint16 scene, int facing, int unk1, int unk2, int unk3);
+	void enterNewScene(uint16 scene, int facing, int unk1, int unk2, int unk3) override;
 	void enterNewSceneUnk1(int facing, int unk1, int unk2);
 	void enterNewSceneUnk2(int unk1);
 	int _enterNewSceneLock;
@@ -362,7 +362,7 @@ private:
 	int _sceneMinX, _sceneMaxX;
 	int _maskPageMinY, _maskPageMaxY;
 
-	int trySceneChange(int *moveTable, int unk1, int unk2);
+	int trySceneChange(int *moveTable, int unk1, int unk2) override;
 	int checkSceneChange();
 
 	int8 _sceneDatPalette[45];
@@ -378,12 +378,12 @@ private:
 
 	int getDrawLayer(int x, int y);
 
-	int getScale(int x, int y);
+	int getScale(int x, int y) override;
 	int _scaleTable[15];
 
 	// character
-	int getCharacterWalkspeed() const;
-	void updateCharAnimFrame(int *table);
+	int getCharacterWalkspeed() const override;
+	void updateCharAnimFrame(int *table) override;
 	int8 _characterAnimTable[2];
 	static const uint8 _characterFrameTable[];
 
@@ -439,7 +439,7 @@ private:
 	byte _newSceneDlgState[40];
 	int8 _conversationState[30][30];
 	bool _chatAltFlag;
-	void setDlgIndex(int index);
+	void setDlgIndex(int index) override;
 	void updateDlgIndex();
 
 	Common::SeekableReadStream *_cnvFile;
@@ -468,7 +468,7 @@ private:
 	int o3d_updateAnim(EMCState *script);
 	int o3d_delay(EMCState *script);
 
-	void randomSceneChat();
+	void randomSceneChat() override;
 	void doDialog(int dlgIndex, int funcNum);
 
 	// conscience
@@ -497,8 +497,8 @@ private:
 	int o3a_playSoundEffect(EMCState *script);
 
 	// special shape code
-	int initAnimationShapes(uint8 *filedata);
-	void uninitAnimationShapes(int count, uint8 *filedata);
+	int initAnimationShapes(uint8 *filedata) override;
+	void uninitAnimationShapes(int count, uint8 *filedata) override;
 
 	// unk
 	uint8 *_costPalBuffer;
@@ -582,8 +582,8 @@ private:
 	int albumClose(Button *caller);
 
 	// save/load
-	Common::Error saveGameStateIntern(int slot, const char *saveName, const Graphics::Surface *thumbnail);
-	Common::Error loadGameState(int slot);
+	Common::Error saveGameStateIntern(int slot, const char *saveName, const Graphics::Surface *thumbnail) override;
+	Common::Error loadGameState(int slot) override;
 
 	// opcodes
 	int o3_getMalcolmShapes(EMCState *script);
diff --git a/engines/kyra/engine/kyra_rpg.h b/engines/kyra/engine/kyra_rpg.h
index eb23c08..63d42e3 100644
--- a/engines/kyra/engine/kyra_rpg.h
+++ b/engines/kyra/engine/kyra_rpg.h
@@ -129,15 +129,15 @@ class KyraRpgEngine : public KyraEngine_v1 {
 friend class TextDisplayer_rpg;
 public:
 	KyraRpgEngine(OSystem *system, const GameFlags &flags);
-	virtual ~KyraRpgEngine();
+	~KyraRpgEngine() override;
 
-	virtual Screen *screen() = 0;
-	virtual GUI *gui() const = 0;
+	Screen *screen() override = 0;
+	GUI *gui() const override = 0;
 
 protected:
 	// Startup
-	virtual Common::Error init();
-	virtual Common::Error go() = 0;
+	Common::Error init() override;
+	Common::Error go() override = 0;
 
 	// Init
 	void initStaticResource();
@@ -150,7 +150,7 @@ protected:
 	void updateEnvironmentalSfx(int soundId);
 
 	// timers
-	virtual void setupTimers() = 0;
+	void setupTimers() override = 0;
 	virtual void enableSysTimer(int sysTimer);
 	virtual void disableSysTimer(int sysTimer);
 	void enableTimer(int id);
@@ -161,7 +161,7 @@ protected:
 
 	// mouse
 	bool posWithinRect(int posX, int posY, int x1, int y1, int x2, int y2);
-	virtual void setHandItem(Item itemIndex) = 0;
+	void setHandItem(Item itemIndex) override = 0;
 
 	// Characters
 	int _updateCharNum;
@@ -386,12 +386,12 @@ protected:
 	const char *const *_moreStrings;
 
 	// misc
-	virtual void delay(uint32 millis, bool doUpdate = false, bool isMainLoop = false) = 0;
-	void delayUntil(uint32 time, bool unused = false, bool doUpdate = false, bool isMainLoop = false);
+	void delay(uint32 millis, bool doUpdate = false, bool isMainLoop = false) override = 0;
+	void delayUntil(uint32 time, bool unused = false, bool doUpdate = false, bool isMainLoop = false) override;
 	int rollDice(int times, int pips, int inc = 0);
 
-	virtual Common::Error loadGameState(int slot) = 0;
-	virtual Common::Error saveGameStateIntern(int slot, const char *saveName, const Graphics::Surface *thumbnail) = 0;
+	Common::Error loadGameState(int slot) override = 0;
+	Common::Error saveGameStateIntern(int slot, const char *saveName, const Graphics::Surface *thumbnail) override = 0;
 
 	void generateTempData();
 	virtual void restoreBlockTempData(int levelIndex);
@@ -416,8 +416,8 @@ protected:
 	virtual void snd_stopSpeech(bool) {}
 	virtual int snd_updateCharacterSpeech() { return 0; }
 	virtual void stopPortraitSpeechAnim() {}
-	virtual void setupOpcodeTable() {}
-	virtual void snd_playVoiceFile(int) {}
+	void setupOpcodeTable() override {}
+	void snd_playVoiceFile(int) override {}
 
 	int _environmentSfx;
 	int _environmentSfxVol;
@@ -426,9 +426,9 @@ protected:
 	uint32 _activeVoiceFileTotalTime;
 
 	// unused
-	void setWalkspeed(uint8) {}
-	void removeHandItem() {}
-	bool lineIsPassable(int, int) { return false; }
+	void setWalkspeed(uint8) override {}
+	void removeHandItem() override {}
+	bool lineIsPassable(int, int) override { return false; }
 };
 
 } // End of namespace Kyra
diff --git a/engines/kyra/engine/kyra_v2.h b/engines/kyra/engine/kyra_v2.h
index 87de439..39acda3 100644
--- a/engines/kyra/engine/kyra_v2.h
+++ b/engines/kyra/engine/kyra_v2.h
@@ -71,13 +71,13 @@ public:
 	};
 
 	KyraEngine_v2(OSystem *system, const GameFlags &flags, const EngineDesc &desc);
-	~KyraEngine_v2();
+	~KyraEngine_v2() override;
 
-	virtual void pauseEngineIntern(bool pause);
+	void pauseEngineIntern(bool pause) override;
 
 	virtual Screen_v2 *screen_v2() const = 0;
 
-	void delay(uint32 time, bool update = false, bool isMainLoop = false);
+	void delay(uint32 time, bool update = false, bool isMainLoop = false) override;
 
 	const EngineDesc &engineDesc() const { return _desc; }
 protected:
@@ -268,7 +268,7 @@ protected:
 	int _pathfinderFlag;
 	bool _smoothingPath;
 
-	int findWay(int curX, int curY, int dstX, int dstY, int *moveTable, int moveTableSize);
+	int findWay(int curX, int curY, int dstX, int dstY, int *moveTable, int moveTableSize) override;
 
 	bool directLinePassable(int x, int y, int toX, int toY);
 
@@ -310,8 +310,8 @@ protected:
 
 	virtual void setMouseCursor(Item item) = 0;
 
-	void setHandItem(Item item);
-	void removeHandItem();
+	void setHandItem(Item item) override;
+	void removeHandItem() override;
 
 	// character
 	struct Character {
diff --git a/engines/kyra/engine/lol.h b/engines/kyra/engine/lol.h
index a1493b1..50c7247 100644
--- a/engines/kyra/engine/lol.h
+++ b/engines/kyra/engine/lol.h
@@ -270,14 +270,14 @@ friend class Debugger_LoL;
 friend class HistoryPlayer;
 public:
 	LoLEngine(OSystem *system, const GameFlags &flags);
-	virtual ~LoLEngine();
+	~LoLEngine() override;
 
 	static Common::Array<Common::Keymap *> initKeymaps();
 
-	void pauseEngineIntern(bool pause);
+	void pauseEngineIntern(bool pause) override;
 
-	Screen *screen();
-	GUI *gui() const;
+	Screen *screen() override;
+	GUI *gui() const override;
 
 private:
 	Screen_LoL *_screen;
@@ -285,8 +285,8 @@ private:
 
 	TIMInterpreter *_tim;
 
-	Common::Error init();
-	Common::Error go();
+	Common::Error init() override;
+	Common::Error go() override;
 
 	// initialization
 	void initStaticResource();
@@ -298,9 +298,9 @@ private:
 	void startup();
 	void startupNew();
 
-	void registerDefaultSettings();
-	void writeSettings();
-	void readSettings();
+	void registerDefaultSettings() override;
+	void writeSettings() override;
+	void readSettings() override;
 
 	static const char *const kKeymapName;
 
@@ -314,7 +314,7 @@ private:
 
 	// main loop
 	void runLoop();
-	void update();
+	void update() override;
 
 	// mouse
 	void setMouseCursorToIcon(int icon);
@@ -411,7 +411,7 @@ private:
 	void pauseDemoPlayer(bool toggle);
 
 	// timers
-	void setupTimers();
+	void setupTimers() override;
 
 	void timerProcessMonsters(int timerNum);
 	void timerSpecialCharacterUpdate(int timerNum);
@@ -422,23 +422,23 @@ private:
 	void timerUpdateLampState(int timerNum);
 	void timerFadeMessageText(int timerNum);
 
-	uint8 getClock2Timer(int index) { return index < _numClock2Timers ? _clock2Timers[index] : 0; }
-	uint8 getNumClock2Timers()  { return _numClock2Timers; }
+	uint8 getClock2Timer(int index) override { return index < _numClock2Timers ? _clock2Timers[index] : 0; }
+	uint8 getNumClock2Timers() override  { return _numClock2Timers; }
 
 	static const uint8 _clock2Timers[];
 	static const uint8 _numClock2Timers;
 
 	// sound
-	int convertVolumeToMixer(int value);
-	int convertVolumeFromMixer(int value);
+	int convertVolumeToMixer(int value) override;
+	int convertVolumeFromMixer(int value) override;
 
 	void loadTalkFile(int index);
-	void snd_playVoiceFile(int track) {}
+	void snd_playVoiceFile(int track) override {}
 	bool snd_playCharacterSpeech(int id, int8 speaker, int);
-	int snd_updateCharacterSpeech();
-	void snd_stopSpeech(bool setFlag);
-	void snd_playSoundEffect(int track, int volume);
-	bool snd_processEnvironmentalSoundEffect(int soundId, int block);
+	int snd_updateCharacterSpeech() override;
+	void snd_stopSpeech(bool setFlag) override;
+	void snd_playSoundEffect(int track, int volume) override;
+	bool snd_processEnvironmentalSoundEffect(int soundId, int block) override;
 	void snd_queueEnvironmentalSoundEffect(int soundId, int block);
 	void snd_playQueuedEffects();
 	void snd_loadSoundFile(int track);
@@ -525,7 +525,7 @@ private:
 	void gui_initCharInventorySpecialButtons(int charNum);
 	void gui_initMagicScrollButtons();
 	void gui_initMagicSubmenu(int charNum);
-	void gui_initButton(int index, int x = -1, int y = -1, int val = -1);
+	void gui_initButton(int index, int x = -1, int y = -1, int val = -1) override;
 
 	LoLButtonDef _sceneWindowButton;
 
@@ -578,12 +578,12 @@ private:
 	void setupDialogueButtons(int numStr, const char *s1, const char *s2, const char *s3);
 
 	TextDisplayer_LoL *_txt;
-	TextDisplayer_rpg *txt() { return _txt; }
+	TextDisplayer_rpg *txt() override { return _txt; }
 
 	// emc scripts
 	void runInitScript(const char *filename, int optionalFunc);
 	void runInfScript(const char *filename);
-	void runLevelScript(int block, int flags);
+	void runLevelScript(int block, int flags) override;
 	void runLevelScriptCustom(int block, int flags, int charNum, int item, int reg3, int reg4);
 
 	EMCData _scriptData;
@@ -769,7 +769,7 @@ private:
 	TIM *_activeTim[10];
 
 	// tim opcode
-	void setupOpcodeTable();
+	void setupOpcodeTable() override;
 
 	Common::Array<const TIMOpcode *> _timIntroOpcodes;
 	int tlol_setupPaletteFade(const TIM *tim, const uint16 *param);
@@ -862,7 +862,7 @@ private:
 	void calcCharPortraitXpos();
 
 	void updatePortraitSpeechAnim();
-	void stopPortraitSpeechAnim();
+	void stopPortraitSpeechAnim() override;
 	void initTextFading(int textType, int clearField);
 	void setCharFaceFrame(int charNum, int frameNum);
 	void faceFrameRefresh(int charNum);
@@ -910,15 +910,15 @@ private:
 
 	// level
 	void loadLevel(int index);
-	void addLevelItems();
+	void addLevelItems() override;
 	void loadLevelWallData(int fileIndex, bool mapShapes);
 	void assignBlockItem(LevelBlockProperty *l, uint16 item);
 	int assignLevelDecorationShapes(int index);
 	uint8 *getLevelDecorationShapes(int index);
 	void releaseDecorations(int first = 0, int num = 400);
 	void restoreTempDataAdjustMonsterStrength(int index);
-	void loadBlockProperties(const char *cmzFile);
-	const uint8 *getBlockFileData(int levelIndex);
+	void loadBlockProperties(const char *cmzFile) override;
+	const uint8 *getBlockFileData(int levelIndex) override;
 	void loadLevelShpDat(const char *shpFile, const char *datFile, bool flag);
 	void loadLevelGraphics(const char *file, int specialColor, int weight, int vcnLen, int vmpLen, const char *palFile);
 
@@ -928,10 +928,10 @@ private:
 	bool testWallFlag(int block, int direction, int flag);
 	bool testWallInvisibility(int block, int direction);
 
-	void drawScene(int pageNum);
+	void drawScene(int pageNum) override;
 
-	void drawSceneShapes(int start = 0);
-	void drawDecorations(int index);
+	void drawSceneShapes(int start = 0) override;
+	void drawDecorations(int index) override;
 	void drawBlockEffects(int index, int type);
 	void drawSpecialGuiShape(int pageNum);
 	void setWallType(int block, int wall, int val);
@@ -955,8 +955,8 @@ private:
 	void calcCoordinatesForSingleCharacter(int charNum, uint16 &x, uint16 &y);
 	void calcCoordinatesAddDirectionOffset(uint16 &x, uint16 &y, int direction);
 
-	int clickedDoorSwitch(uint16 block, uint16 direction);
-	int clickedNiche(uint16 block, uint16 direction);
+	int clickedDoorSwitch(uint16 block, uint16 direction) override;
+	int clickedNiche(uint16 block, uint16 direction) override;
 
 	void movePartySmoothScrollBlocked(int speed);
 	void movePartySmoothScrollUp(int speed);
@@ -1049,7 +1049,7 @@ private:
 	bool isItemMoveable(Item itemIndex);
 	void deleteItem(Item itemIndex);
 	void runItemScript(int charNum, Item item, int flags, int next, int reg4);
-	void setHandItem(Item itemIndex);
+	void setHandItem(Item itemIndex) override;
 	bool itemEquipped(int charNum, uint16 itemType);
 
 	void setItemPosition(Item item, uint16 x, uint16 y, int flyingHeight, int moveable);
@@ -1153,9 +1153,9 @@ private:
 	const uint16 *_monsterScaleWH;
 
 	// misc
-	void delay(uint32 millis, bool doUpdate = false, bool isMainLoop = false);
+	void delay(uint32 millis, bool doUpdate = false, bool isMainLoop = false) override;
 
-	const KyraRpgGUISettings *guiSettings() const;
+	const KyraRpgGUISettings *guiSettings() const override;
 
 	uint8 _compassBroken;
 	uint8 _drainMagic;
@@ -1301,20 +1301,20 @@ private:
 	bool _mapUpdateNeeded;
 
 	// unneeded
-	void setWalkspeed(uint8) {}
-	void removeHandItem() {}
-	bool lineIsPassable(int, int) { return false; }
+	void setWalkspeed(uint8) override {}
+	void removeHandItem() override {}
+	bool lineIsPassable(int, int) override { return false; }
 
 	// save
-	Common::Error loadGameState(int slot);
-	Common::Error saveGameStateIntern(int slot, const char *saveName, const Graphics::Surface *thumbnail);
+	Common::Error loadGameState(int slot) override;
+	Common::Error saveGameStateIntern(int slot, const char *saveName, const Graphics::Surface *thumbnail) override;
 
-	void *generateMonsterTempData(LevelTempData *tmp);
-	void restoreBlockTempData(int levelIndex);
-	void restoreMonsterTempData(LevelTempData *tmp);
-	void releaseMonsterTempData(LevelTempData *tmp);
+	void *generateMonsterTempData(LevelTempData *tmp) override;
+	void restoreBlockTempData(int levelIndex) override;
+	void restoreMonsterTempData(LevelTempData *tmp) override;
+	void releaseMonsterTempData(LevelTempData *tmp) override;
 
-	Graphics::Surface *generateSaveThumbnail() const;
+	Graphics::Surface *generateSaveThumbnail() const override;
 };
 
 class HistoryPlayer {
diff --git a/engines/kyra/graphics/screen.h b/engines/kyra/graphics/screen.h
index b16c395..7300766 100644
--- a/engines/kyra/graphics/screen.h
+++ b/engines/kyra/graphics/screen.h
@@ -130,14 +130,14 @@ public:
 class DOSFont : public Font {
 public:
 	DOSFont();
-	~DOSFont() { unload(); }
+	~DOSFont() override { unload(); }
 
-	bool load(Common::SeekableReadStream &file);
-	int getHeight() const { return _height; }
-	int getWidth() const { return _width; }
-	int getCharWidth(uint16 c) const;
-	void setColorMap(const uint8 *src) { _colorMap = src; }
-	void drawChar(uint16 c, byte *dst, int pitch, int) const;
+	bool load(Common::SeekableReadStream &file) override;
+	int getHeight() const override { return _height; }
+	int getWidth() const override { return _width; }
+	int getCharWidth(uint16 c) const override;
+	void setColorMap(const uint8 *src) override { _colorMap = src; }
+	void drawChar(uint16 c, byte *dst, int pitch, int) const override;
 
 private:
 	void unload();
@@ -161,14 +161,14 @@ private:
 class AMIGAFont : public Font {
 public:
 	AMIGAFont();
-	~AMIGAFont() { unload(); }
+	~AMIGAFont() override { unload(); }
 
-	bool load(Common::SeekableReadStream &file);
-	int getHeight() const { return _height; }
-	int getWidth() const { return _width; }
-	int getCharWidth(uint16 c) const;
-	void setColorMap(const uint8 *src) {}
-	void drawChar(uint16 c, byte *dst, int pitch, int) const;
+	bool load(Common::SeekableReadStream &file) override;
+	int getHeight() const override { return _height; }
+	int getWidth() const override { return _width; }
+	int getCharWidth(uint16 c) const override;
+	void setColorMap(const uint8 *src) override {}
+	void drawChar(uint16 c, byte *dst, int pitch, int) const override;
 
 private:
 	void unload();
@@ -193,17 +193,17 @@ private:
 class SJISFont : public Font {
 public:
 	SJISFont(Common::SharedPtr<Graphics::FontSJIS> &font, const uint8 invisColor, bool is16Color, bool drawOutline, int extraSpacing);
-	virtual ~SJISFont() {}
+	~SJISFont() override {}
 
-	virtual bool usesOverlay() const { return true; }
+	bool usesOverlay() const override { return true; }
 
-	bool load(Common::SeekableReadStream &) { return true; }
-	int getHeight() const;
-	int getWidth() const;
-	virtual int getCharWidth(uint16 c) const;
-	void setColorMap(const uint8 *src);
-	void setStyle(FontStyle style) { _style = style; }
-	virtual void drawChar(uint16 c, byte *dst, int pitch, int) const;
+	bool load(Common::SeekableReadStream &) override { return true; }
+	int getHeight() const override;
+	int getWidth() const override;
+	int getCharWidth(uint16 c) const override;
+	void setColorMap(const uint8 *src) override;
+	void setStyle(FontStyle style) override { _style = style; }
+	void drawChar(uint16 c, byte *dst, int pitch, int) const override;
 
 protected:
 	const uint8 *_colorMap;
diff --git a/engines/kyra/graphics/screen_eob.h b/engines/kyra/graphics/screen_eob.h
index 8d9080e..3038bb1 100644
--- a/engines/kyra/graphics/screen_eob.h
+++ b/engines/kyra/graphics/screen_eob.h
@@ -33,32 +33,32 @@ class EoBCoreEngine;
 class Screen_EoB : public Screen {
 public:
 	Screen_EoB(EoBCoreEngine *vm, OSystem *system);
-	virtual ~Screen_EoB();
+	~Screen_EoB() override;
 
-	bool init();
+	bool init() override;
 
 	void setClearScreenDim(int dim);
 	void clearCurDim();
 	void clearCurDimOvl(int pageNum);
 
-	void setMouseCursor(int x, int y, const byte *shape);
+	void setMouseCursor(int x, int y, const byte *shape) override;
 	void setMouseCursor(int x, int y, const byte *shape, const uint8 *ovl);
 
 	void loadFileDataToPage(Common::SeekableReadStream *s, int pageNum, uint32 size);
 
 	void printShadedText(const char *string, int x, int y, int col1, int col2, int shadowCol);
 
-	virtual void loadBitmap(const char *filename, int tempPage, int dstPage, Palette *pal, bool skip = false);
+	void loadBitmap(const char *filename, int tempPage, int dstPage, Palette *pal, bool skip = false) override;
 	void loadEoBBitmap(const char *file, const uint8 *cgaMapping, int tempPage, int destPage, int convertToPage);
 	void loadShapeSetBitmap(const char *file, int tempPage, int destPage);
 
 	void convertPage(int srcPage, int dstPage, const uint8 *cgaMapping);
 
-	void setScreenPalette(const Palette &pal);
-	void getRealPalette(int num, uint8 *dst);
+	void setScreenPalette(const Palette &pal) override;
+	void getRealPalette(int num, uint8 *dst) override;
 
 	uint8 *encodeShape(uint16 x, uint16 y, uint16 w, uint16 h, bool encode8bit = false, const uint8 *cgaMapping = 0);
-	void drawShape(uint8 pageNum, const uint8 *shapeData, int x, int y, int sd = -1, int flags = 0, ...);
+	void drawShape(uint8 pageNum, const uint8 *shapeData, int x, int y, int sd = -1, int flags = 0, ...) override;
 	const uint8 *scaleShape(const uint8 *shapeData, int blockDistance);
 	const uint8 *scaleShapeStep(const uint8 *shp);
 	const uint8 *generateShapeOverlay(const uint8 *shp, const uint8 *fadingTable);
@@ -74,8 +74,8 @@ public:
 	void fadeTextColor(Palette *pal, int color, int rate);
 	bool delayedFadePalStep(Palette *fadePal, Palette *destPal, int rate);
 
-	void setTextColorMap(const uint8 *cmap) {}
-	int getRectSize(int w, int h);
+	void setTextColorMap(const uint8 *cmap) override {}
+	int getRectSize(int w, int h) override;
 
 	void setFadeTable(const uint8 *table);
 	void createFadeTable(const uint8 *palData, uint8 *dst, uint8 rootColor, uint8 weight);
@@ -84,7 +84,7 @@ public:
 	const uint16 *getCGADitheringTable(int index);
 	const uint8 *getEGADitheringTable();
 
-	bool loadFont(FontId fontId, const char *filename);
+	bool loadFont(FontId fontId, const char *filename) override;
 
 	// FM-Towns specific
 	void decodeSHP(const uint8 *data, int dstPage);
@@ -115,7 +115,7 @@ public:
 	void setDualPalettes(Palette &top, Palette &bottom);
 
 private:
-	void updateDirtyRects();
+	void updateDirtyRects() override;
 	void ditherRect(const uint8 *src, uint8 *dst, int dstPitch, int srcW, int srcH, int colorKey = -1);
 
 	void drawShapeSetPixel(uint8 *dst, uint8 col);
@@ -170,16 +170,16 @@ private:
 class OldDOSFont : public Font {
 public:
 	OldDOSFont(Common::RenderMode mode, uint8 shadowColor);
-	virtual ~OldDOSFont();
+	~OldDOSFont() override;
 
-	virtual bool load(Common::SeekableReadStream &file);
-	int getHeight() const { return _height; }
-	int getWidth() const { return _width; }
-	int getCharWidth(uint16 c) const;
-	void setColorMap(const uint8 *src);
-	void set16bitColorMap(const uint16 *src) { _colorMap16bit = src; }
-	virtual void setStyle(FontStyle style) { _style = style; }
-	void drawChar(uint16 c, byte *dst, int pitch, int bpp) const;
+	bool load(Common::SeekableReadStream &file) override;
+	int getHeight() const override { return _height; }
+	int getWidth() const override { return _width; }
+	int getCharWidth(uint16 c) const override;
+	void setColorMap(const uint8 *src) override;
+	void set16bitColorMap(const uint16 *src) override { _colorMap16bit = src; }
+	void setStyle(FontStyle style) override { _style = style; }
+	void drawChar(uint16 c, byte *dst, int pitch, int bpp) const override;
 
 protected:
 	void unload();
@@ -209,14 +209,14 @@ class Resource;
 class AmigaDOSFont : public Font {
 public:
 	AmigaDOSFont(Resource *res, bool needsLocalizedFont = false);
-	~AmigaDOSFont() { unload(); }
+	~AmigaDOSFont() override { unload(); }
 
-	bool load(Common::SeekableReadStream &file);
-	int getHeight() const { return _height; }
-	int getWidth() const { return _width; }
-	int getCharWidth(uint16 c) const;
-	void setColorMap(const uint8 *src) { _colorMap = src; }
-	void drawChar(uint16 c, byte *dst, int pitch, int) const;
+	bool load(Common::SeekableReadStream &file) override;
+	int getHeight() const override { return _height; }
+	int getWidth() const override { return _width; }
+	int getCharWidth(uint16 c) const override;
+	void setColorMap(const uint8 *src) override { _colorMap = src; }
+	void drawChar(uint16 c, byte *dst, int pitch, int) const override;
 
 	static void errorDialog(int index);
 
@@ -279,9 +279,9 @@ private:
 class SJISFontEoB1PC98 : public SJISFont {
 public:
 	SJISFontEoB1PC98(Common::SharedPtr<Graphics::FontSJIS> &font, /*uint8 shadowColor,*/ const uint16 *convTable1, const uint16 *convTable2);
-	virtual ~SJISFontEoB1PC98() {}
-	virtual int getCharWidth(uint16 c) const;
-	virtual void drawChar(uint16 c, byte *dst, int pitch, int) const;
+	~SJISFontEoB1PC98() override {}
+	int getCharWidth(uint16 c) const override;
+	void drawChar(uint16 c, byte *dst, int pitch, int) const override;
 
 private:
 	uint16 convert(uint16 c) const;
@@ -297,15 +297,15 @@ private:
 class Font12x12PC98 : public OldDOSFont{
 public:
 	Font12x12PC98(uint8 shadowColor, const uint16 *convTable1, const uint16 *convTable2, const uint8 *lookupTable);
-	virtual ~Font12x12PC98();
-	bool usesOverlay() const { return true; }
-	int getHeight() const { return _height >> 1; }
-	int getWidth() const { return _width >> 1; }
-	int getCharWidth(uint16 c) const { return _width >> 1; };
-	virtual bool load(Common::SeekableReadStream &file);
+	~Font12x12PC98() override;
+	bool usesOverlay() const override { return true; }
+	int getHeight() const override { return _height >> 1; }
+	int getWidth() const override { return _width >> 1; }
+	int getCharWidth(uint16 c) const override { return _width >> 1; };
+	bool load(Common::SeekableReadStream &file) override;
 
 private:
-	virtual uint16 convert(uint16 c) const;
+	uint16 convert(uint16 c) const override;
 	const uint16 *_convTable1, *_convTable2;
 	uint16 *_bmpOffs;
 };
@@ -316,10 +316,10 @@ private:
 class SJISFontLarge : public SJISFont {
 public:
 	SJISFontLarge(Common::SharedPtr<Graphics::FontSJIS> &font);
-	virtual ~SJISFontLarge() {}
+	~SJISFontLarge() override {}
 
-	virtual bool usesOverlay() const { return false; }
-	virtual void drawChar(uint16 c, byte *dst, int pitch, int) const;
+	bool usesOverlay() const override { return false; }
+	void drawChar(uint16 c, byte *dst, int pitch, int) const override;
 };
 
 /**
@@ -328,15 +328,15 @@ public:
 class SJISFont12x12 : public Font {
 public:
 	SJISFont12x12(const uint16 *searchTable);
-	virtual ~SJISFont12x12() { unload(); }
-
-	virtual bool load(Common::SeekableReadStream &file);
-	virtual bool usesOverlay() const { return true; }
-	virtual int getHeight() const { return _height; }
-	virtual int getWidth() const { return _width; }
-	virtual int getCharWidth(uint16 c) const { return _width; }
-	virtual void setColorMap(const uint8 *src) { _colorMap = src; }
-	virtual void drawChar(uint16 c, byte *dst, int pitch, int) const;
+	~SJISFont12x12() override { unload(); }
+
+	bool load(Common::SeekableReadStream &file) override;
+	bool usesOverlay() const override { return true; }
+	int getHeight() const override { return _height; }
+	int getWidth() const override { return _width; }
+	int getCharWidth(uint16 c) const override { return _width; }
+	void setColorMap(const uint8 *src) override { _colorMap = src; }
+	void drawChar(uint16 c, byte *dst, int pitch, int) const override;
 
 private:
 	void unload();
diff --git a/engines/kyra/graphics/screen_lok.h b/engines/kyra/graphics/screen_lok.h
index dd93eac..89466f0 100644
--- a/engines/kyra/graphics/screen_lok.h
+++ b/engines/kyra/graphics/screen_lok.h
@@ -32,15 +32,15 @@ class KyraEngine_LoK;
 class Screen_LoK : public Screen {
 public:
 	Screen_LoK(KyraEngine_LoK *vm, OSystem *system);
-	virtual ~Screen_LoK();
+	~Screen_LoK() override;
 
-	bool init();
+	bool init() override;
 
-	virtual void loadBitmap(const char *filename, int tempPage, int dstPage, Palette *pal, bool skip = false);
+	void loadBitmap(const char *filename, int tempPage, int dstPage, Palette *pal, bool skip = false) override;
 
-	int getRectSize(int w, int h);
+	int getRectSize(int w, int h) override;
 
-	void setTextColorMap(const uint8 *cmap);
+	void setTextColorMap(const uint8 *cmap) override;
 
 	void fadeSpecialPalette(int palIndex, int startIndex, int size, int fadeTime);
 
@@ -57,7 +57,7 @@ public:
 
 	// AMIGA specific
 	void setInterfacePalette(const Palette &pal, uint8 r, uint8 g, uint8 b);
-	virtual void postProcessCursor(uint8 *data, int width, int height, int pitch);
+	void postProcessCursor(uint8 *data, int width, int height, int pitch) override;
 
 protected:
 	enum {
@@ -81,19 +81,19 @@ class Screen_LoK_16 : public Screen_LoK {
 public:
 	Screen_LoK_16(KyraEngine_LoK *vm, OSystem *system);
 
-	void setScreenPalette(const Palette &pal);
+	void setScreenPalette(const Palette &pal) override;
 
-	void fadePalette(const Palette &pal, int delay, const UpdateFunctor *upFunc = 0);
-	void getFadeParams(const Palette &pal, int delay, int &delayInc, int &diff);
-	int fadePalStep(const Palette &pal, int diff);
+	void fadePalette(const Palette &pal, int delay, const UpdateFunctor *upFunc = 0) override;
+	void getFadeParams(const Palette &pal, int delay, int &delayInc, int &diff) override;
+	int fadePalStep(const Palette &pal, int diff) override;
 private:
 	void updateDirtyRectsOvl();
 
 	void convertTo16Colors(uint8 *page, int w, int h, int pitch, int keyColor = -1);
-	void postProcessCursor(uint8 *data, int width, int height, int pitch) {
+	void postProcessCursor(uint8 *data, int width, int height, int pitch) override {
 		convertTo16Colors(data, width, height, pitch, _cursorColorKey);
 	}
-	void mergeOverlay(int x, int y, int w, int h);
+	void mergeOverlay(int x, int y, int w, int h) override;
 
 	void set16ColorPalette(const uint8 *pal);
 
diff --git a/engines/kyra/graphics/screen_lol.h b/engines/kyra/graphics/screen_lol.h
index ef14c52..effaede 100644
--- a/engines/kyra/graphics/screen_lol.h
+++ b/engines/kyra/graphics/screen_lol.h
@@ -34,12 +34,12 @@ class LoLEngine;
 class Screen_LoL : public Screen_v2 {
 public:
 	Screen_LoL(LoLEngine *vm, OSystem *system);
-	~Screen_LoL();
+	~Screen_LoL() override;
 
 	void fprintString(const char *format, int x, int y, uint8 col1, uint8 col2, uint flags, ...) GCC_PRINTF(2, 8);
 	void fprintStringIntro(const char *format, int x, int y, uint8 c1, uint8 c2, uint8 c3, uint flags, ...) GCC_PRINTF(2, 9);
 
-	void drawShadedBox(int x1, int y1, int x2, int y2, int color1, int color2);
+	void drawShadedBox(int x1, int y1, int x2, int y2, int color1, int color2) override;
 
 	void drawGridBox(int x, int y, int w, int h, int col);
 	void fadeClearSceneWindow(int delay);
@@ -94,8 +94,8 @@ private:
 
 	uint8 *_levelOverlays[8];
 
-	void mergeOverlay(int x, int y, int w, int h);
-	void postProcessCursor(uint8 *data, int width, int height, int pitch);
+	void mergeOverlay(int x, int y, int w, int h) override;
+	void postProcessCursor(uint8 *data, int width, int height, int pitch) override;
 };
 
 } // End of namespace Kyra
diff --git a/engines/kyra/graphics/screen_mr.h b/engines/kyra/graphics/screen_mr.h
index fcbef38..c82eb37 100644
--- a/engines/kyra/graphics/screen_mr.h
+++ b/engines/kyra/graphics/screen_mr.h
@@ -32,15 +32,15 @@ class KyraEngine_MR;
 class Screen_MR : public Screen_v2 {
 public:
 	Screen_MR(KyraEngine_MR *vm, OSystem *system);
-	~Screen_MR();
+	~Screen_MR() override;
 
-	int getLayer(int x, int y);
+	int getLayer(int x, int y) override;
 
-	byte getShapeFlag1(int x, int y);
-	byte getShapeFlag2(int x, int y);
+	byte getShapeFlag1(int x, int y) override;
+	byte getShapeFlag2(int x, int y) override;
 
-	int getDrawLayer(int x, int y);
-	int getDrawLayer2(int x, int y, int height);
+	int getDrawLayer(int x, int y) override;
+	int getDrawLayer2(int x, int y, int height) override;
 
 	void drawFilledBox(int x1, int y1, int x2, int y2, uint8 c1, uint8 c2, uint8 c3);
 private:
diff --git a/engines/kyra/graphics/screen_v2.h b/engines/kyra/graphics/screen_v2.h
index 9c8aa12..654000c 100644
--- a/engines/kyra/graphics/screen_v2.h
+++ b/engines/kyra/graphics/screen_v2.h
@@ -31,7 +31,7 @@ namespace Kyra {
 class Screen_v2 : public Screen {
 public:
 	Screen_v2(KyraEngine_v1 *vm, OSystem *system, const ScreenDim *dimTable, const int dimTableSize);
-	~Screen_v2();
+	~Screen_v2() override;
 
 	// screen page handling
 	void checkedPageUpdate(int srcPage, int dstPage);
@@ -41,7 +41,7 @@ public:
 	void applyOverlay(int x, int y, int w, int h, int pageNum, const uint8 *overlay);
 	int findLeastDifferentColor(const uint8 *paletteEntry, const Palette &pal, uint8 firstColor, uint16 numColors, bool skipSpecialColors = false);
 
-	virtual void getFadeParams(const Palette &pal, int delay, int &delayInc, int &diff);
+	void getFadeParams(const Palette &pal, int delay, int &delayInc, int &diff) override;
 
 	bool timedPaletteFadeStep(uint8 *pal1, uint8 *pal2, uint32 elapsedTime, uint32 totalTime);
 
@@ -57,11 +57,11 @@ public:
 	uint8 *makeShapeCopy(const uint8 *src, int index);
 
 	// rect handling
-	int getRectSize(int w, int h);
+	int getRectSize(int w, int h) override;
 	bool calcBounds(int w0, int h0, int &x1, int &y1, int &w1, int &h1, int &x2, int &y2, int &w2);
 
 	// text display
-	void setTextColorMap(const uint8 *cmap);
+	void setTextColorMap(const uint8 *cmap) override;
 
 	// layer handling
 	virtual int getLayer(int x, int y);
diff --git a/engines/kyra/graphics/vqa.h b/engines/kyra/graphics/vqa.h
index df51a81..92c9d0b 100644
--- a/engines/kyra/graphics/vqa.h
+++ b/engines/kyra/graphics/vqa.h
@@ -41,10 +41,10 @@ class Screen;
 class VQADecoder : public Video::VideoDecoder {
 public:
 	VQADecoder();
-	virtual ~VQADecoder();
+	~VQADecoder() override;
 
-	bool loadStream(Common::SeekableReadStream *stream);
-	void readNextPacket();
+	bool loadStream(Common::SeekableReadStream *stream) override;
+	void readNextPacket() override;
 
 private:
 	Common::SeekableReadStream *_fileStream;
@@ -81,14 +81,14 @@ private:
 	class VQAAudioTrack : public AudioTrack {
 	public:
 		VQAAudioTrack(const VQAHeader *header, Audio::Mixer::SoundType soundType);
-		~VQAAudioTrack();
+		~VQAAudioTrack() override;
 
 		void handleSND0(Common::SeekableReadStream *stream);
 		void handleSND1(Common::SeekableReadStream *stream);
 		void handleSND2(Common::SeekableReadStream *stream);
 
 	protected:
-		Audio::AudioStream *getAudioStream() const;
+		Audio::AudioStream *getAudioStream() const override;
 
 	private:
 		Audio::QueuingAudioStream *_audioStream;
@@ -97,23 +97,23 @@ private:
 	class VQAVideoTrack : public FixedRateVideoTrack {
 	public:
 		VQAVideoTrack(const VQAHeader *header);
-		~VQAVideoTrack();
+		~VQAVideoTrack() override;
 
-		uint16 getWidth() const;
-		uint16 getHeight() const;
-		Graphics::PixelFormat getPixelFormat() const;
-		int getCurFrame() const;
-		int getFrameCount() const;
-		const Graphics::Surface *decodeNextFrame();
+		uint16 getWidth() const override;
+		uint16 getHeight() const override;
+		Graphics::PixelFormat getPixelFormat() const override;
+		int getCurFrame() const override;
+		int getFrameCount() const override;
+		const Graphics::Surface *decodeNextFrame() override;
 
 		void setHasDirtyPalette();
-		bool hasDirtyPalette() const;
-		const byte *getPalette() const;
+		bool hasDirtyPalette() const override;
+		const byte *getPalette() const override;
 
 		void handleVQFR(Common::SeekableReadStream *stream);
 
 	protected:
-		Common::Rational getFrameRate() const;
+		Common::Rational getFrameRate() const override;
 
 	private:
 		Graphics::Surface *_surface;
diff --git a/engines/kyra/graphics/wsamovie.h b/engines/kyra/graphics/wsamovie.h
index d00aa89..54f737a 100644
--- a/engines/kyra/graphics/wsamovie.h
+++ b/engines/kyra/graphics/wsamovie.h
@@ -61,17 +61,17 @@ protected:
 class WSAMovie_v1 : public Movie {
 public:
 	WSAMovie_v1(KyraEngine_v1 *vm);
-	virtual ~WSAMovie_v1();
+	~WSAMovie_v1() override;
 
-	int width() const { return _width; }
-	int height() const { return _height; }
+	int width() const override { return _width; }
+	int height() const override { return _height; }
 
-	virtual int open(const char *filename, int offscreen, Palette *palette);
-	virtual void close();
+	int open(const char *filename, int offscreen, Palette *palette) override;
+	void close() override;
 
-	virtual int frames() { return _opened ? _numFrames : -1; }
+	int frames() override { return _opened ? _numFrames : -1; }
 
-	virtual void displayFrame(int frameNum, int pageNum, int x, int y, uint16 flags, const uint8 *table1, const uint8 *table2);
+	void displayFrame(int frameNum, int pageNum, int x, int y, uint16 flags, const uint8 *table1, const uint8 *table2) override;
 
 	enum WSAFlags {
 		WF_OFFSCREEN_DECODE = 0x10,
@@ -100,12 +100,12 @@ protected:
 class WSAMovieAmiga : public WSAMovie_v1 {
 public:
 	WSAMovieAmiga(KyraEngine_v1 *vm);
-	int open(const char *filename, int offscreen, Palette *palette);
-	void close();
+	int open(const char *filename, int offscreen, Palette *palette) override;
+	void close() override;
 
-	void displayFrame(int frameNum, int pageNum, int x, int y, uint16 flags, const uint8 *table1, const uint8 *table2);
+	void displayFrame(int frameNum, int pageNum, int x, int y, uint16 flags, const uint8 *table1, const uint8 *table2) override;
 private:
-	void processFrame(int frameNum, uint8 *dst);
+	void processFrame(int frameNum, uint8 *dst) override;
 
 	uint8 *_buffer;
 };
@@ -114,13 +114,13 @@ class WSAMovie_v2 : public WSAMovie_v1 {
 public:
 	WSAMovie_v2(KyraEngine_v1 *vm);
 
-	int open(const char *filename, int unk1, Palette *palette);
-	virtual void displayFrame(int frameNum, int pageNum, int x, int y, uint16 flags, const uint8 *table1, const uint8 *table2) {
+	int open(const char *filename, int unk1, Palette *palette) override;
+	void displayFrame(int frameNum, int pageNum, int x, int y, uint16 flags, const uint8 *table1, const uint8 *table2) override {
 		WSAMovie_v1::displayFrame(frameNum, pageNum, x + _xAdd, y + _yAdd, flags, table1, table2);
 	}
 
-	int xAdd() const { return _xAdd; }
-	int yAdd() const { return _yAdd; }
+	int xAdd() const override { return _xAdd; }
+	int yAdd() const override { return _yAdd; }
 
 	void setWidth(int w) { _width = w; }
 	void setHeight(int h) { _height = h; }
diff --git a/engines/kyra/gui/debugger.h b/engines/kyra/gui/debugger.h
index 86df8ec..ba91547 100644
--- a/engines/kyra/gui/debugger.h
+++ b/engines/kyra/gui/debugger.h
@@ -35,7 +35,7 @@ class KyraEngine_HoF;
 class Debugger : public ::GUI::Debugger {
 public:
 	Debugger(KyraEngine_v1 *vm);
-	virtual ~Debugger() {}  // we need this for __SYMBIAN32__ archaic gcc/UIQ
+	~Debugger() override {}  // we need this for __SYMBIAN32__ archaic gcc/UIQ
 
 	virtual void initialize();
 
@@ -56,9 +56,9 @@ protected:
 class Debugger_LoK : public Debugger {
 public:
 	Debugger_LoK(KyraEngine_LoK *vm);
-	virtual ~Debugger_LoK() {}  // we need this for __SYMBIAN32__ archaic gcc/UIQ
+	~Debugger_LoK() override {}  // we need this for __SYMBIAN32__ archaic gcc/UIQ
 
-	virtual void initialize();
+	void initialize() override;
 protected:
 	KyraEngine_LoK *_vm;
 
@@ -71,9 +71,9 @@ protected:
 class Debugger_v2 : public Debugger {
 public:
 	Debugger_v2(KyraEngine_v2 *vm);
-	virtual ~Debugger_v2() {}
+	~Debugger_v2() override {}
 
-	virtual void initialize();
+	void initialize() override;
 protected:
 	KyraEngine_v2 *_vm;
 
@@ -89,7 +89,7 @@ class Debugger_HoF : public Debugger_v2 {
 public:
 	Debugger_HoF(KyraEngine_HoF *vm);
 
-	virtual void initialize();
+	void initialize() override;
 protected:
 	KyraEngine_HoF *_vm;
 
@@ -115,7 +115,7 @@ class Debugger_EoB : public Debugger {
 public:
 	Debugger_EoB(EoBCoreEngine *vm);
 
-	virtual void initialize();
+	void initialize() override;
 protected:
 	EoBCoreEngine *_vm;
 
diff --git a/engines/kyra/gui/gui_eob.h b/engines/kyra/gui/gui_eob.h
index 696c013..0a045bf 100644
--- a/engines/kyra/gui/gui_eob.h
+++ b/engines/kyra/gui/gui_eob.h
@@ -46,13 +46,13 @@ class GUI_EoB : public GUI {
 	friend class CharacterGenerator;
 public:
 	GUI_EoB(EoBCoreEngine *vm);
-	virtual ~GUI_EoB();
+	~GUI_EoB() override;
 
 	void initStaticData() {}
 
 	// button specific
-	void processButton(Button *button);
-	int processButtonList(Button *buttonList, uint16 inputFlags, int8 mouseWheel);
+	void processButton(Button *button) override;
+	int processButtonList(Button *buttonList, uint16 inputFlags, int8 mouseWheel) override;
 
 	// Non button based menu handling (main menu, character generation)
 	void simpleMenu_setup(int sd, int maxItem, const char *const *strings, int32 menuItemsMask, int unk, int lineSpacing);
@@ -76,7 +76,7 @@ public:
 	bool transferFileMenu(Common::String &targetName, Common::String &selection);
 
 	// utilities for thumbnail creation
-	void createScreenThumbnail(Graphics::Surface &dst);
+	void createScreenThumbnail(Graphics::Surface &dst) override;
 
 private:
 	int simpleMenu_getMenuItem(int index, int32 menuItemsMask, int itemOffset);
@@ -107,7 +107,7 @@ private:
 
 	void setupSaveMenuSlots();
 	int getHighlightSlot();
-	void sortSaveSlots();
+	void sortSaveSlots() override;
 
 	void restParty_updateRestTime(int hours, bool init);
 
diff --git a/engines/kyra/gui/gui_hof.h b/engines/kyra/gui/gui_hof.h
index 1ff91e4..544f8cd 100644
--- a/engines/kyra/gui/gui_hof.h
+++ b/engines/kyra/gui/gui_hof.h
@@ -35,29 +35,29 @@ friend class KyraEngine_HoF;
 public:
 	GUI_HoF(KyraEngine_HoF *engine);
 
-	void initStaticData();
+	void initStaticData() override;
 
 	int optionsButton(Button *button);
 
-	void createScreenThumbnail(Graphics::Surface &dst);
+	void createScreenThumbnail(Graphics::Surface &dst) override;
 private:
-	const char *getMenuTitle(const Menu &menu);
-	const char *getMenuItemTitle(const MenuItem &menuItem);
-	const char *getMenuItemLabel(const MenuItem &menuItem);
+	const char *getMenuTitle(const Menu &menu) override;
+	const char *getMenuItemTitle(const MenuItem &menuItem) override;
+	const char *getMenuItemLabel(const MenuItem &menuItem) override;
 
-	uint8 defaultColor1() const { return 0xCF; }
-	uint8 defaultColor2() const { return 0xF8; }
+	uint8 defaultColor1() const override { return 0xCF; }
+	uint8 defaultColor2() const override { return 0xF8; }
 
-	uint8 textFieldColor1() const { return 0xFD; }
-	uint8 textFieldColor2() const { return 0xFA; }
-	uint8 textFieldColor3() const { return 0xFE; }
+	uint8 textFieldColor1() const override { return 0xFD; }
+	uint8 textFieldColor2() const override { return 0xFA; }
+	uint8 textFieldColor3() const override { return 0xFE; }
 
-	void setupPalette();
-	void restorePalette();
+	void setupPalette() override;
+	void restorePalette() override;
 
 	void resetState(int item);
 
-	char *getTableString(int id);
+	char *getTableString(int id) override;
 
 	KyraEngine_HoF *_vm;
 	Screen_HoF *_screen;
@@ -70,9 +70,9 @@ private:
 
 	int changeLanguage(Button *caller);
 
-	void setupOptionsButtons();
+	void setupOptionsButtons() override;
 
-	int sliderHandler(Button *caller);
+	int sliderHandler(Button *caller) override;
 	void drawSliderBar(int slider, const uint8 *shape);
 
 	static const uint16 _menuStringsTalkie[];
diff --git a/engines/kyra/gui/gui_lok.h b/engines/kyra/gui/gui_lok.h
index fe0a5a7..3a277b3 100644
--- a/engines/kyra/gui/gui_lok.h
+++ b/engines/kyra/gui/gui_lok.h
@@ -96,23 +96,23 @@ class GUI_LoK : public GUI_v1 {
 	friend class KyraEngine_LoK;
 public:
 	GUI_LoK(KyraEngine_LoK *vm, Screen_LoK *screen);
-	~GUI_LoK();
+	~GUI_LoK() override;
 
-	void processButton(Button *button);
-	int processButtonList(Button *buttonList, uint16 inputFlags, int8 mouseWheel);
+	void processButton(Button *button) override;
+	int processButtonList(Button *buttonList, uint16 inputFlags, int8 mouseWheel) override;
 
 	int buttonMenuCallback(Button *caller);
 
-	void createScreenThumbnail(Graphics::Surface &dst);
+	void createScreenThumbnail(Graphics::Surface &dst) override;
 private:
 	void initStaticResource();
 
 	Button _menuButtonData[6];
 	Button _scrollUpButton;
 	Button _scrollDownButton;
-	Button *getButtonListData() { return _menuButtonData; }
-	Button *getScrollUpButton() { return &_scrollUpButton; }
-	Button *getScrollDownButton() { return &_scrollDownButton; }
+	Button *getButtonListData() override { return _menuButtonData; }
+	Button *getScrollUpButton() override { return &_scrollUpButton; }
+	Button *getScrollDownButton() override { return &_scrollDownButton; }
 
 	Menu *_menu;
 
@@ -150,12 +150,12 @@ private:
 	void restorePalette();
 	void setupControls(Menu &menu);
 
-	uint8 defaultColor1() const { return 12; }
-	uint8 defaultColor2() const { return 248; }
+	uint8 defaultColor1() const override { return 12; }
+	uint8 defaultColor2() const override { return 248; }
 
-	const char *getMenuTitle(const Menu &menu) { return menu.menuNameString; }
-	const char *getMenuItemTitle(const MenuItem &menuItem) { return menuItem.itemString; }
-	const char *getMenuItemLabel(const MenuItem &menuItem) { return menuItem.labelString; }
+	const char *getMenuTitle(const Menu &menu) override { return menu.menuNameString; }
+	const char *getMenuItemTitle(const MenuItem &menuItem) override { return menuItem.itemString; }
+	const char *getMenuItemLabel(const MenuItem &menuItem) override { return menuItem.labelString; }
 
 	KyraEngine_LoK *_vm;
 	Screen_LoK *_screen;
@@ -169,8 +169,8 @@ private:
 
 	Button::Callback _scrollUpFunctor;
 	Button::Callback _scrollDownFunctor;
-	Button::Callback getScrollUpButtonHandler() const { return _scrollUpFunctor; }
-	Button::Callback getScrollDownButtonHandler() const { return _scrollDownFunctor; }
+	Button::Callback getScrollUpButtonHandler() const override { return _scrollUpFunctor; }
+	Button::Callback getScrollDownButtonHandler() const override { return _scrollDownFunctor; }
 
 	const char *_voiceTextString;
 	const char *_textSpeedString;
diff --git a/engines/kyra/gui/gui_lol.h b/engines/kyra/gui/gui_lol.h
index 9bad5b1..86b47a8 100644
--- a/engines/kyra/gui/gui_lol.h
+++ b/engines/kyra/gui/gui_lol.h
@@ -96,16 +96,16 @@ public:
 	void initStaticData();
 
 	// button specific
-	void processButton(Button *button);
-	int processButtonList(Button *buttonList, uint16 inputFlags, int8 mouseWheel);
+	void processButton(Button *button) override;
+	int processButtonList(Button *buttonList, uint16 inputFlags, int8 mouseWheel) override;
 
-	int redrawShadedButtonCallback(Button *button);
-	int redrawButtonCallback(Button *button);
+	int redrawShadedButtonCallback(Button *button) override;
+	int redrawButtonCallback(Button *button) override;
 
 	int runMenu(Menu &menu);
 
 	// utilities for thumbnail creation
-	void createScreenThumbnail(Graphics::Surface &dst);
+	void createScreenThumbnail(Graphics::Surface &dst) override;
 
 private:
 	void backupPage0();
@@ -113,8 +113,8 @@ private:
 
 	void setupSaveMenuSlots(Menu &menu, int num);
 
-	void printMenuText(const char *str, int x, int y, uint8 c0, uint8 c1, uint8 flags);
-	int getMenuCenterStringX(const char *str, int x1, int x2);
+	void printMenuText(const char *str, int x, int y, uint8 c0, uint8 c1, uint8 flags) override;
+	int getMenuCenterStringX(const char *str, int x1, int x2) override;
 
 	int getInput();
 
@@ -131,20 +131,20 @@ private:
 	int scrollUp(Button *button);
 	int scrollDown(Button *button);
 
-	Button *getButtonListData() { return _menuButtons; }
-	Button *getScrollUpButton() { return &_scrollUpButton; }
-	Button *getScrollDownButton() { return &_scrollDownButton; }
+	Button *getButtonListData() override { return _menuButtons; }
+	Button *getScrollUpButton() override { return &_scrollUpButton; }
+	Button *getScrollDownButton() override { return &_scrollDownButton; }
 
 
-	Button::Callback getScrollUpButtonHandler() const { return _scrollUpFunctor; }
-	Button::Callback getScrollDownButtonHandler() const { return _scrollDownFunctor; }
+	Button::Callback getScrollUpButtonHandler() const override { return _scrollUpFunctor; }
+	Button::Callback getScrollDownButtonHandler() const override { return _scrollDownFunctor; }
 
-	uint8 defaultColor1() const { return 0xFE; }
-	uint8 defaultColor2() const { return 0x00; }
+	uint8 defaultColor1() const override { return 0xFE; }
+	uint8 defaultColor2() const override { return 0x00; }
 
-	const char *getMenuTitle(const Menu &menu);
-	const char *getMenuItemTitle(const MenuItem &menuItem);
-	const char *getMenuItemLabel(const MenuItem &menuItem);
+	const char *getMenuTitle(const Menu &menu) override;
+	const char *getMenuItemTitle(const MenuItem &menuItem) override;
+	const char *getMenuItemLabel(const MenuItem &menuItem) override;
 
 	Button _menuButtons[10];
 	Button _scrollUpButton;
@@ -169,7 +169,7 @@ private:
 	Button::Callback _scrollUpFunctor;
 	Button::Callback _scrollDownFunctor;
 
-	virtual void sortSaveSlots();
+	void sortSaveSlots() override;
 };
 
 } // End of namespace Kyra
diff --git a/engines/kyra/gui/gui_mr.h b/engines/kyra/gui/gui_mr.h
index 91e0143..2455cb9 100644
--- a/engines/kyra/gui/gui_mr.h
+++ b/engines/kyra/gui/gui_mr.h
@@ -35,29 +35,29 @@ friend class KyraEngine_MR;
 public:
 	GUI_MR(KyraEngine_MR *engine);
 
-	void initStaticData();
+	void initStaticData() override;
 
 	void flagButtonEnable(Button *button);
 	void flagButtonDisable(Button *button);
 
-	int redrawShadedButtonCallback(Button *button);
-	int redrawButtonCallback(Button *button);
+	int redrawShadedButtonCallback(Button *button) override;
+	int redrawButtonCallback(Button *button) override;
 
 	int optionsButton(Button *button);
 
-	void createScreenThumbnail(Graphics::Surface &dst);
+	void createScreenThumbnail(Graphics::Surface &dst) override;
 private:
-	const char *getMenuTitle(const Menu &menu);
-	const char *getMenuItemTitle(const MenuItem &menuItem);
-	const char *getMenuItemLabel(const MenuItem &menuItem);
-	char *getTableString(int id);
+	const char *getMenuTitle(const Menu &menu) override;
+	const char *getMenuItemTitle(const MenuItem &menuItem) override;
+	const char *getMenuItemLabel(const MenuItem &menuItem) override;
+	char *getTableString(int id) override;
 
-	uint8 textFieldColor1() const { return 0xFF; }
-	uint8 textFieldColor2() const { return 0xCF; }
-	uint8 textFieldColor3() const { return 0xBA; }
+	uint8 textFieldColor1() const override { return 0xFF; }
+	uint8 textFieldColor2() const override { return 0xCF; }
+	uint8 textFieldColor3() const override { return 0xBA; }
 
-	uint8 defaultColor1() const { return 0xF0; }
-	uint8 defaultColor2() const { return 0xD0; }
+	uint8 defaultColor1() const override { return 0xF0; }
+	uint8 defaultColor2() const override { return 0xD0; }
 
 	void resetState(int item);
 
@@ -66,11 +66,11 @@ private:
 	int loadSecondChance(Button *button);
 
 	int gameOptions(Button *button);
-	void setupOptionsButtons();
+	void setupOptionsButtons() override;
 
 	int audioOptions(Button *button);
 
-	int sliderHandler(Button *caller);
+	int sliderHandler(Button *caller) override;
 	void drawSliderBar(int slider, const uint8 *shape);
 
 	int changeLanguage(Button *caller);
diff --git a/engines/kyra/gui/gui_v1.h b/engines/kyra/gui/gui_v1.h
index 476aa54..0ca3175 100644
--- a/engines/kyra/gui/gui_v1.h
+++ b/engines/kyra/gui/gui_v1.h
@@ -82,13 +82,13 @@ class TextDisplayer;
 class GUI_v1 : public GUI {
 public:
 	GUI_v1(KyraEngine_v1 *vm);
-	virtual ~GUI_v1() {}
+	~GUI_v1() override {}
 
 	// button specific
 	virtual Button *addButtonToList(Button *list, Button *newButton);
 
-	virtual void processButton(Button *button) = 0;
-	virtual int processButtonList(Button *buttonList, uint16 inputFlags, int8 mouseWheel) = 0;
+	void processButton(Button *button) override = 0;
+	int processButtonList(Button *buttonList, uint16 inputFlags, int8 mouseWheel) override = 0;
 
 	virtual int redrawShadedButtonCallback(Button *button);
 	virtual int redrawButtonCallback(Button *button);
@@ -100,7 +100,7 @@ public:
 	void processHighlights(Menu &menu);
 
 	// utilities for thumbnail creation
-	virtual void createScreenThumbnail(Graphics::Surface &dst) = 0;
+	void createScreenThumbnail(Graphics::Surface &dst) override = 0;
 
 protected:
 	TextDisplayer *_text;
diff --git a/engines/kyra/gui/gui_v2.h b/engines/kyra/gui/gui_v2.h
index 22cdf18..d667390 100644
--- a/engines/kyra/gui/gui_v2.h
+++ b/engines/kyra/gui/gui_v2.h
@@ -105,13 +105,13 @@ public:
 
 	virtual void initStaticData() = 0;
 
-	Button *addButtonToList(Button *list, Button *newButton);
+	Button *addButtonToList(Button *list, Button *newButton) override;
 
-	void processButton(Button *button);
-	int processButtonList(Button *button, uint16 inputFlag, int8 mouseWheel);
+	void processButton(Button *button) override;
+	int processButtonList(Button *button, uint16 inputFlag, int8 mouseWheel) override;
 
 protected:
-	void updateButton(Button *button);
+	void updateButton(Button *button) override;
 
 	KyraEngine_v2 *_vm;
 	Screen_v2 *_screen;
@@ -138,17 +138,17 @@ protected:
 	Button _scrollDownButton;
 	Menu _mainMenu, _gameOptions, _audioOptions, _choiceMenu, _loadMenu, _saveMenu, _savenameMenu, _deathMenu;
 
-	Button *getButtonListData() { return _menuButtons; }
+	Button *getButtonListData() override { return _menuButtons; }
 
-	Button *getScrollUpButton() { return &_scrollUpButton; }
-	Button *getScrollDownButton() { return &_scrollDownButton; }
+	Button *getScrollUpButton() override { return &_scrollUpButton; }
+	Button *getScrollDownButton() override { return &_scrollDownButton; }
 
 	int scrollUpButton(Button *button);
 	int scrollDownButton(Button *button);
 	Button::Callback _scrollUpFunctor;
 	Button::Callback _scrollDownFunctor;
-	Button::Callback getScrollUpButtonHandler() const { return _scrollUpFunctor; }
-	Button::Callback getScrollDownButtonHandler() const { return _scrollDownFunctor; }
+	Button::Callback getScrollUpButtonHandler() const override { return _scrollUpFunctor; }
+	Button::Callback getScrollDownButtonHandler() const override { return _scrollDownFunctor; }
 
 	Button _sliderButtons[3][4];
 
diff --git a/engines/kyra/kyra_v1.h b/engines/kyra/kyra_v1.h
index a33ac65..534e567 100644
--- a/engines/kyra/kyra_v1.h
+++ b/engines/kyra/kyra_v1.h
@@ -186,7 +186,7 @@ friend class SeqPlayer_HOF;		// For skipFlag()
 friend class TransferPartyWiz;	// For save state API
 public:
 	KyraEngine_v1(OSystem *system, const GameFlags &flags);
-	virtual ~KyraEngine_v1();
+	~KyraEngine_v1() override;
 
 	uint8 game() const { return _flags.gameID; }
 	const GameFlags &gameFlags() const { return _flags; }
@@ -222,7 +222,7 @@ public:
 	void setVolume(kVolumeEntry vol, uint8 value);
 	uint8 getVolume(kVolumeEntry vol);
 
-	virtual void syncSoundSettings() override;
+	void syncSoundSettings() override;
 
 	// game flag handling
 	int setGameFlag(int flag);
@@ -247,7 +247,7 @@ protected:
 	virtual Common::Error init();
 	virtual Common::Error go() = 0;
 
-	virtual Common::Error run() override {
+	Common::Error run() override {
 		Common::Error err;
 		registerDefaultSettings();
 		err = init();
@@ -256,9 +256,9 @@ protected:
 		return go();
 	}
 
-	virtual ::GUI::Debugger *getDebugger() override;
-	virtual bool hasFeature(EngineFeature f) const override;
-	virtual void pauseEngineIntern(bool pause) override;
+	::GUI::Debugger *getDebugger() override;
+	bool hasFeature(EngineFeature f) const override;
+	void pauseEngineIntern(bool pause) override;
 
 	// intern
 	Resource *_res;
@@ -425,7 +425,7 @@ protected:
 	WARN_UNUSED_RESULT static ReadSaveHeaderError readSaveHeader(Common::SeekableReadStream *file, SaveHeader &header, bool skipThumbnail = true);
 
 	void loadGameStateCheck(int slot);
-	virtual Common::Error loadGameState(int slot) override = 0;
+	Common::Error loadGameState(int slot) override = 0;
 	Common::Error saveGameState(int slot, const Common::String &desc) override { return saveGameStateIntern(slot, desc.c_str(), 0); }
 	virtual Common::Error saveGameStateIntern(int slot, const char *saveName, const Graphics::Surface *thumbnail) = 0;
 
diff --git a/engines/kyra/resource/resource.cpp b/engines/kyra/resource/resource.cpp
index bbafc1b..cf7a6cf 100644
--- a/engines/kyra/resource/resource.cpp
+++ b/engines/kyra/resource/resource.cpp
@@ -31,19 +31,19 @@ namespace Kyra {
 class EndianAwareStreamWrapper : public Common::SeekableReadStreamEndian {
 public:
 	EndianAwareStreamWrapper(Common::SeekableReadStream *stream, bool bigEndian, bool disposeAfterUse = true) : Common::SeekableReadStreamEndian(bigEndian), _stream(stream), _dispose(disposeAfterUse) {}
-	~EndianAwareStreamWrapper() { if (_dispose) delete _stream; }
+	~EndianAwareStreamWrapper() override { if (_dispose) delete _stream; }
 
 	// Common::Stream interface
-	bool err() const { return _stream->err(); }
+	bool err() const override { return _stream->err(); }
 
 	// Common::ReadStream interface
-	bool eos() const { return _stream->eos(); }
-	uint32 read(void *dataPtr, uint32 dataSize) { return _stream->read(dataPtr, dataSize); }
+	bool eos() const override { return _stream->eos(); }
+	uint32 read(void *dataPtr, uint32 dataSize) override { return _stream->read(dataPtr, dataSize); }
 
 	// Common::SeekableReadStream interface
-	int32 pos() const { return _stream->pos(); }
-	int32 size() const { return _stream->size(); }
-	bool seek(int32 offset, int whence = SEEK_SET) { return _stream->seek(offset, whence); }
+	int32 pos() const override { return _stream->pos(); }
+	int32 size() const override { return _stream->size(); }
+	bool seek(int32 offset, int whence = SEEK_SET) override { return _stream->seek(offset, whence); }
 	
 private:
 	Common::SeekableReadStream *_stream;
diff --git a/engines/kyra/resource/resource_intern.h b/engines/kyra/resource/resource_intern.h
index 530df51..dfc5f4b 100644
--- a/engines/kyra/resource/resource_intern.h
+++ b/engines/kyra/resource/resource_intern.h
@@ -49,10 +49,10 @@ public:
 	Entry getFileEntry(const Common::String &name) const;
 
 	// Common::Archive API implementation
-	bool hasFile(const Common::String &name) const;
-	int listMembers(Common::ArchiveMemberList &list) const;
-	const Common::ArchiveMemberPtr getMember(const Common::String &name) const;
-	Common::SeekableReadStream *createReadStreamForMember(const Common::String &name) const;
+	bool hasFile(const Common::String &name) const override;
+	int listMembers(Common::ArchiveMemberList &list) const override;
+	const Common::ArchiveMemberPtr getMember(const Common::String &name) const override;
+	Common::SeekableReadStream *createReadStreamForMember(const Common::String &name) const override;
 private:
 	typedef Common::HashMap<Common::String, Entry, Common::IgnoreCase_Hash, Common::IgnoreCase_EqualTo> FileMap;
 
@@ -63,12 +63,12 @@ private:
 class TlkArchive : public Common::Archive {
 public:
 	TlkArchive(Common::ArchiveMemberPtr file, uint16 entryCount, const uint32 *fileEntries);
-	~TlkArchive();
+	~TlkArchive() override;
 
-	bool hasFile(const Common::String &name) const;
-	int listMembers(Common::ArchiveMemberList &list) const;
-	const Common::ArchiveMemberPtr getMember(const Common::String &name) const;
-	Common::SeekableReadStream *createReadStreamForMember(const Common::String &name) const;
+	bool hasFile(const Common::String &name) const override;
+	int listMembers(Common::ArchiveMemberList &list) const override;
+	const Common::ArchiveMemberPtr getMember(const Common::String &name) const override;
+	Common::SeekableReadStream *createReadStreamForMember(const Common::String &name) const override;
 private:
 	Common::ArchiveMemberPtr _file;
 
@@ -90,12 +90,12 @@ public:
 	typedef Common::List<InputEntry> FileInputList;
 
 	CachedArchive(const FileInputList &files);
-	~CachedArchive();
+	~CachedArchive() override;
 
-	bool hasFile(const Common::String &name) const;
-	int listMembers(Common::ArchiveMemberList &list) const;
-	const Common::ArchiveMemberPtr getMember(const Common::String &name) const;
-	Common::SeekableReadStream *createReadStreamForMember(const Common::String &name) const;
+	bool hasFile(const Common::String &name) const override;
+	int listMembers(Common::ArchiveMemberList &list) const override;
+	const Common::ArchiveMemberPtr getMember(const Common::String &name) const override;
+	Common::SeekableReadStream *createReadStreamForMember(const Common::String &name) const override;
 private:
 	struct Entry {
 		byte *data;
@@ -117,23 +117,23 @@ public:
 
 class ResLoaderPak : public ResArchiveLoader {
 public:
-	bool checkFilename(Common::String filename) const;
-	bool isLoadable(const Common::String &filename, Common::SeekableReadStream &stream) const;
-	Common::Archive *load(Common::ArchiveMemberPtr file, Common::SeekableReadStream &stream) const;
+	bool checkFilename(Common::String filename) const override;
+	bool isLoadable(const Common::String &filename, Common::SeekableReadStream &stream) const override;
+	Common::Archive *load(Common::ArchiveMemberPtr file, Common::SeekableReadStream &stream) const override;
 };
 
 class ResLoaderInsMalcolm : public ResArchiveLoader {
 public:
-	bool checkFilename(Common::String filename) const;
-	bool isLoadable(const Common::String &filename, Common::SeekableReadStream &stream) const;
-	Common::Archive *load(Common::ArchiveMemberPtr file, Common::SeekableReadStream &stream) const;
+	bool checkFilename(Common::String filename) const override;
+	bool isLoadable(const Common::String &filename, Common::SeekableReadStream &stream) const override;
+	Common::Archive *load(Common::ArchiveMemberPtr file, Common::SeekableReadStream &stream) const override;
 };
 
 class ResLoaderTlk : public ResArchiveLoader {
 public:
-	bool checkFilename(Common::String filename) const;
-	bool isLoadable(const Common::String &filename, Common::SeekableReadStream &stream) const;
-	Common::Archive *load(Common::ArchiveMemberPtr file, Common::SeekableReadStream &stream) const;
+	bool checkFilename(Common::String filename) const override;
+	bool isLoadable(const Common::String &filename, Common::SeekableReadStream &stream) const override;
+	Common::Archive *load(Common::ArchiveMemberPtr file, Common::SeekableReadStream &stream) const override;
 };
 
 class InstallerLoader {
diff --git a/engines/kyra/script/script_tim.h b/engines/kyra/script/script_tim.h
index bd9c264..63749ad 100644
--- a/engines/kyra/script/script_tim.h
+++ b/engines/kyra/script/script_tim.h
@@ -267,14 +267,14 @@ class TIMInterpreter_LoL : public TIMInterpreter {
 public:
 	TIMInterpreter_LoL(LoLEngine *engine, Screen_v2 *screen_v2, OSystem *system);
 
-	int initAnimStruct(int index, const char *filename, int x, int y, int frameDelay, int, uint16 wsaCopyParams);
-	int freeAnimStruct(int index);
+	int initAnimStruct(int index, const char *filename, int x, int y, int frameDelay, int, uint16 wsaCopyParams) override;
+	int freeAnimStruct(int index) override;
 
-	void resetDialogueState(TIM *tim);
+	void resetDialogueState(TIM *tim) override;
 
 private:
-	void update();
-	void checkSpeechProgress();
+	void update() override;
+	void checkSpeechProgress() override;
 
 	char *getTableString(int id);
 	void advanceToOpcode(int opcode);
@@ -282,7 +282,7 @@ private:
 	LoLEngine *_vm;
 	Screen_LoL *_screen;
 
-	virtual int execCommand(int cmd, const uint16 *param);
+	int execCommand(int cmd, const uint16 *param) override;
 
 	typedef int (TIMInterpreter_LoL::*CommandProc)(const uint16 *);
 	struct CommandEntry {
@@ -294,8 +294,8 @@ private:
 	int _commandsSize;
 
 	int cmd_stopAllFuncs(const uint16 *param);
-	int cmd_setLoopIp(const uint16 *param);
-	int cmd_continueLoop(const uint16 *param);
+	int cmd_setLoopIp(const uint16 *param) override;
+	int cmd_continueLoop(const uint16 *param) override;
 	int cmd_processDialogue(const uint16 *param);
 	int cmd_dialogueBox(const uint16 *param);
 };
diff --git a/engines/kyra/sequence/sequences_eob.cpp b/engines/kyra/sequence/sequences_eob.cpp
index 1e44941..087266e 100644
--- a/engines/kyra/sequence/sequences_eob.cpp
+++ b/engines/kyra/sequence/sequences_eob.cpp
@@ -62,7 +62,7 @@ private:
 class EoBIntroPlayer : public EoBSeqPlayerCommon {
 public:
 	EoBIntroPlayer(EoBEngine *vm, Screen_EoB *screen);
-	virtual ~EoBIntroPlayer() {}
+	~EoBIntroPlayer() override {}
 
 	enum IntroPart {
 		kOnlyCredits = 0,
@@ -119,7 +119,7 @@ private:
 class EoBPC98FinalePlayer : public EoBSeqPlayerCommon {
 public:
 	EoBPC98FinalePlayer(EoBEngine *vm, Screen_EoB *screen);
-	virtual ~EoBPC98FinalePlayer();
+	~EoBPC98FinalePlayer() override;
 
 	void start(bool xdt);
 
@@ -142,7 +142,7 @@ private:
 	void stopPaletteCycle();
 	void resetPaletteCycle();
 
-	virtual void wait(uint32 millis);
+	void wait(uint32 millis) override;
 
 	const char *const *_strings;
 	const uint8 *_eyesAnimData;
@@ -161,7 +161,7 @@ private:
 class EoBAmigaFinalePlayer : public EoBSeqPlayerCommon {
 public:
 	EoBAmigaFinalePlayer(EoBEngine *vm, Screen_EoB *screen);
-	virtual ~EoBAmigaFinalePlayer();
+	~EoBAmigaFinalePlayer() override;
 
 	void start();
 
diff --git a/engines/kyra/sound/drivers/adlib.cpp b/engines/kyra/sound/drivers/adlib.cpp
index ce52520..1051e8d 100644
--- a/engines/kyra/sound/drivers/adlib.cpp
+++ b/engines/kyra/sound/drivers/adlib.cpp
@@ -50,22 +50,22 @@ namespace Kyra {
 class AdLibDriver : public PCSoundDriver {
 public:
 	AdLibDriver(Audio::Mixer *mixer, int version);
-	virtual ~AdLibDriver();
+	~AdLibDriver() override;
 
-	virtual void initDriver() override;
-	virtual void setSoundData(uint8 *data, uint32 size) override;
-	virtual void startSound(int track, int volume) override;
-	virtual bool isChannelPlaying(int channel) const override;
-	virtual void stopAllChannels() override;
+	void initDriver() override;
+	void setSoundData(uint8 *data, uint32 size) override;
+	void startSound(int track, int volume) override;
+	bool isChannelPlaying(int channel) const override;
+	void stopAllChannels() override;
 	int getSoundTrigger() const override { return _soundTrigger; }
 	void resetSoundTrigger() override { _soundTrigger = 0; }
 
 	void callback();
 
-	virtual void setSyncJumpMask(uint16 mask) override { _syncJumpMask = mask; }
+	void setSyncJumpMask(uint16 mask) override { _syncJumpMask = mask; }
 
-	virtual void setMusicVolume(uint8 volume) override;
-	virtual void setSfxVolume(uint8 volume) override;
+	void setMusicVolume(uint8 volume) override;
+	void setSfxVolume(uint8 volume) override;
 
 private:
 	// These variables have not yet been named, but some of them are partly
diff --git a/engines/kyra/sound/drivers/audiomaster2.cpp b/engines/kyra/sound/drivers/audiomaster2.cpp
index 352e106..3e13a61 100644
--- a/engines/kyra/sound/drivers/audiomaster2.cpp
+++ b/engines/kyra/sound/drivers/audiomaster2.cpp
@@ -85,7 +85,7 @@ friend class AudioMaster2IOManager;
 private:
 	AudioMaster2Internal(Audio::Mixer *mixer);
 public:
-	~AudioMaster2Internal();
+	~AudioMaster2Internal() override;
 
 	static AudioMaster2Internal *open(Audio::Mixer *mixer);
 	static void close();
@@ -105,7 +105,7 @@ public:
 	void setMusicVolume(int volume);
 	void setSoundEffectVolume(int volume);
 
-	void interrupt();
+	void interrupt() override;
 
 	void resetCounter();
 	int getPlayDuration();
@@ -180,18 +180,18 @@ class SoundResource8SVX : public SoundResource {
 public:
 	SoundResource8SVX(AudioMaster2ResourceManager *res);
 private:
-	virtual ~SoundResource8SVX();
+	~SoundResource8SVX() override;
 public:
 	void loadHeader(Common::ReadStream *stream, uint32 size);
 	void loadData(Common::ReadStream *stream, uint32 size);
 
-	void setupMusicNote(AudioMaster2IOManager::IOUnit *unit, uint8 note, uint16 volume);
-	void setupSoundEffect(AudioMaster2IOManager::IOUnit *unit, uint32 sync, uint32 tempo);
+	void setupMusicNote(AudioMaster2IOManager::IOUnit *unit, uint8 note, uint16 volume) override;
+	void setupSoundEffect(AudioMaster2IOManager::IOUnit *unit, uint32 sync, uint32 tempo) override;
 
 private:
-	void release();
+	void release() override;
 
-	void setupEnvelopes(AudioMaster2IOManager::IOUnit *unit);
+	void setupEnvelopes(AudioMaster2IOManager::IOUnit *unit) override;
 
 	uint32 _numSamplesOnce;
 	uint32 _numSamplesRepeat;
@@ -211,14 +211,14 @@ class SoundResourceINST : public SoundResource {
 public:
 	SoundResourceINST(AudioMaster2ResourceManager *res) : SoundResource(res, 2), _samplesResource(0), _transpose(0), _levelAdjust(0) {}
 private:
-	virtual ~SoundResourceINST();
+	~SoundResourceINST() override;
 public:
 	void loadPitchData(Common::ReadStream *stream, uint32 size);
 	void loadSamples(Common::ReadStream *stream, uint32 size);
 	void loadVolumeData(Common::ReadStream *stream, uint32 size);
 
-	void setupMusicNote(AudioMaster2IOManager::IOUnit *unit, uint8 note, uint16 volume);
-	void setupSoundEffect(AudioMaster2IOManager::IOUnit *unit, uint32 sync, uint32 rate);
+	void setupMusicNote(AudioMaster2IOManager::IOUnit *unit, uint8 note, uint16 volume) override;
+	void setupSoundEffect(AudioMaster2IOManager::IOUnit *unit, uint32 sync, uint32 rate) override;
 
 	struct EnvelopeData {
 		EnvelopeData(const uint8 *data, uint32 size) : volume(0x40), _data(data), _dataSize(size) {}
@@ -229,9 +229,9 @@ public:
 	};
 
 private:
-	void release();
+	void release() override;
 
-	void setupEnvelopes(AudioMaster2IOManager::IOUnit *unit);
+	void setupEnvelopes(AudioMaster2IOManager::IOUnit *unit) override;
 
 	EnvelopeData *_transpose;
 	EnvelopeData *_levelAdjust;
@@ -242,20 +242,20 @@ class SoundResourceSMUS : public SoundResource {
 public:
 	SoundResourceSMUS(AudioMaster2ResourceManager *res) : SoundResource(res, 1), _tempo(0), _songVolume(0), _playFlags(0) {}
 private:
-	virtual ~SoundResourceSMUS();
+	~SoundResourceSMUS() override;
 public:
 	void loadHeader(Common::ReadStream *stream, uint32 size);
 	void loadInstrument(Common::ReadStream *stream, uint32 size);
 	void loadTrack(Common::ReadStream *stream, uint32 size);
 
-	void prepare();
+	void prepare() override;
 	uint16 getTempo() const;
-	void setSync(uint32 sync);
+	void setSync(uint32 sync) override;
 
-	void interrupt(AudioMaster2IOManager *io);
+	void interrupt(AudioMaster2IOManager *io) override;
 
 private:
-	void release();
+	void release() override;
 
 	struct Track {
 		Track() : _dataStart(0), _dataEnd(0), _dataCur(0), _instrument(0), _volume(0), _sync(0) {}
diff --git a/engines/kyra/sound/drivers/audstream.cpp b/engines/kyra/sound/drivers/audstream.cpp
index 24522ee..1cc586f 100644
--- a/engines/kyra/sound/drivers/audstream.cpp
+++ b/engines/kyra/sound/drivers/audstream.cpp
@@ -35,17 +35,17 @@ namespace Kyra {
 class AUDStream : public Audio::SeekableAudioStream {
 public:
 	AUDStream(Common::SeekableReadStream* stream);
-	~AUDStream();
+	~AUDStream() override;
 
-	int readBuffer(int16* buffer, const int numSamples);
+	int readBuffer(int16* buffer, const int numSamples) override;
 
-	bool isStereo() const { return false; }
-	bool endOfData() const { return _endOfData; }
+	bool isStereo() const override { return false; }
+	bool endOfData() const override { return _endOfData; }
 
-	int getRate() const { return _rate; }
+	int getRate() const override { return _rate; }
 
-	bool seek(const Audio::Timestamp& where);
-	Audio::Timestamp getLength() const { return _length; }
+	bool seek(const Audio::Timestamp& where) override;
+	Audio::Timestamp getLength() const override { return _length; }
 private:
 	Common::SeekableReadStream* _stream;
 	uint32 _streamStart;
diff --git a/engines/kyra/sound/drivers/midi.h b/engines/kyra/sound/drivers/midi.h
index 565c9e8..60534e0 100644
--- a/engines/kyra/sound/drivers/midi.h
+++ b/engines/kyra/sound/drivers/midi.h
@@ -30,7 +30,7 @@ namespace Kyra {
 class MidiOutput : public MidiDriver_BASE {
 public:
 	MidiOutput(OSystem *system, MidiDriver *output, bool isMT32, bool defaultMT32);
-	~MidiOutput();
+	~MidiOutput() override;
 
 	void setSourceVolume(int source, int volume, bool apply=false);
 
@@ -42,9 +42,9 @@ public:
 	void setSoundSource(int source) { _curSource = source; }
 
 	// MidiDriver_BASE interface
-	virtual void send(uint32 b);
-	virtual void sysEx(const byte *msg, uint16 length);
-	virtual void metaEvent(byte type, byte *data, uint16 length);
+	void send(uint32 b) override;
+	void sysEx(const byte *msg, uint16 length) override;
+	void metaEvent(byte type, byte *data, uint16 length) override;
 
 	// TODO: Get rid of the following two methods
 	void setTimerCallback(void *timerParam, void (*timerProc)(void *)) { _output->setTimerCallback(timerParam, timerProc); }
diff --git a/engines/kyra/sound/drivers/mlalf98.cpp b/engines/kyra/sound/drivers/mlalf98.cpp
index 1474589..6ccd660 100644
--- a/engines/kyra/sound/drivers/mlalf98.cpp
+++ b/engines/kyra/sound/drivers/mlalf98.cpp
@@ -83,7 +83,7 @@ protected:
 			_msg = Common::String::format("%s Channel %d: %s() [ %s]", tpstr[chanType], chanId, dsc, args.c_str());
 			memset(_dt, 0, 7);
 		}
-		~SoundOpcode() {}
+		~SoundOpcode() override {}
 		void run(uint8 *&arg) {
 			assert(arg);
 			memcpy(_dt, arg, _dataLen);
@@ -185,10 +185,10 @@ private:
 class SoundChannelNonSSG : public SoundChannel {
 public:
 	SoundChannelNonSSG(PC98AudioCore *pc98a, int part, int regOffset, int type);
-	virtual ~SoundChannelNonSSG();
+	~SoundChannelNonSSG() override;
 
 protected:
-	virtual void parse() override;
+	void parse() override;
 	uint8 _statusB4;
 
 private:
@@ -197,8 +197,8 @@ private:
 
 	virtual void noteOn(uint8 note) = 0;
 	virtual void reduceVolume() {}
-	virtual void updateVolume() override {}
-	virtual void updateVibrato() override {}
+	void updateVolume() override {}
+	void updateVibrato() override {}
 
 	virtual void op_programChange(uint8 *&data) = 0;
 	virtual void op_setVolume(uint8 *&data) = 0;
@@ -215,18 +215,18 @@ private:
 class MusicChannelFM : public SoundChannelNonSSG {
 public:
 	MusicChannelFM(PC98AudioCore *pc98a, int part, int regOffset);
-	virtual ~MusicChannelFM();
+	~MusicChannelFM() override;
 
-	virtual void restore() override;
-	virtual void keyOff() override;
+	void restore() override;
+	void keyOff() override;
 
 private:
-	virtual void clear() override;
-	virtual void parse() override;
-	virtual void noteOn(uint8 note) override;
-	virtual void updateVolume() override;
-	virtual void reduceVolume() override;
-	virtual void updateVibrato() override;
+	void clear() override;
+	void parse() override;
+	void noteOn(uint8 note) override;
+	void updateVolume() override;
+	void reduceVolume() override;
+	void updateVibrato() override;
 
 	virtual bool usingSpecialMode() const;
 	virtual uint8 getSpecialFrequencyModifier(uint8 index);
@@ -237,13 +237,13 @@ private:
 	void sendTrmVolume(uint8 volume);
 	void keyOn();
 
-	virtual void writeDevice(uint8 reg, uint8 val) override;
+	void writeDevice(uint8 reg, uint8 val) override;
 
-	virtual void op_programChange(uint8 *&data) override;
-	virtual void op_setVolume(uint8 *&data) override;
-	virtual void op_setSpecialMode(uint8 *&data) override;
-	virtual void op_setPanPos(uint8 *&data) override;
-	virtual void op_modifyVolume(uint8 *&data) override;
+	void op_programChange(uint8 *&data) override;
+	void op_setVolume(uint8 *&data) override;
+	void op_setSpecialMode(uint8 *&data) override;
+	void op_setPanPos(uint8 *&data) override;
+	void op_modifyVolume(uint8 *&data) override;
 
 	static uint16 _frequency2;
 	static uint8 _specialModeModifier[4];
@@ -254,9 +254,9 @@ private:
 class MusicChannelSSG : public SoundChannel {
 public:
 	MusicChannelSSG(PC98AudioCore *pc98a, int part, int regOffset);
-	virtual ~MusicChannelSSG();
+	~MusicChannelSSG() override;
 
-	virtual void keyOff() override;
+	void keyOff() override;
 
 private:
 	enum EnvState {
@@ -266,17 +266,17 @@ private:
 		kUpdate = 0x80
 	};
 
-	virtual void parse() override;
+	void parse() override;
 	void noteOff();
 	void noteOn(uint8 note);
 	uint8 processEnvelope();
 	uint8 envGetAttLevel();
 	void envSendAttLevel(uint8 val);
 
-	virtual void updateVolume() override;
-	virtual void updateVibrato() override;
+	void updateVolume() override;
+	void updateVibrato() override;
 
-	virtual void clear() override;
+	void clear() override;
 
 	void op_programChange(uint8 *&data);
 	void op_setVolume(uint8 *&data);
@@ -309,18 +309,18 @@ private:
 class MusicChannelRHY : public SoundChannelNonSSG {
 public:
 	MusicChannelRHY(PC98AudioCore *pc98a, int part, int regOffset);
-	virtual ~MusicChannelRHY();
+	~MusicChannelRHY() override;
 
-	virtual void keyOff() override;
+	void keyOff() override;
 
 private:
-	virtual void noteOn(uint8 note) override;
-	virtual void updateVolume() override;
+	void noteOn(uint8 note) override;
+	void updateVolume() override;
 
-	virtual void op_programChange(uint8 *&data) override;
-	virtual void op_setVolume(uint8 *&data) override;
-	virtual void op_setPanPos(uint8 *&data) override;
-	virtual void op_modifyVolume(uint8 *&data) override;
+	void op_programChange(uint8 *&data) override;
+	void op_setVolume(uint8 *&data) override;
+	void op_setPanPos(uint8 *&data) override;
+	void op_modifyVolume(uint8 *&data) override;
 
 	uint8 _instrLevel[6];
 
@@ -330,22 +330,22 @@ private:
 class MusicChannelEXT : public SoundChannelNonSSG {
 public:
 	MusicChannelEXT(PC98AudioCore *pc98a, int part, int regOffset, MLALF98::ADPCMData *const &data);
-	virtual ~MusicChannelEXT();
+	~MusicChannelEXT() override;
 
-	virtual void keyOff() override;
+	void keyOff() override;
 
 private:
-	virtual void noteOn(uint8 note) override;
-	virtual void updateVibrato() override;
-	virtual void clear() override;
-	virtual void writeDevice(uint8 reg, uint8 val) override;
+	void noteOn(uint8 note) override;
+	void updateVibrato() override;
+	void clear() override;
+	void writeDevice(uint8 reg, uint8 val) override;
 
-	virtual void op_programChange(uint8 *&data) override;
-	virtual void op_setVolume(uint8 *&data) override;
-	virtual void op_setPanPos(uint8 *&data) override;
-	virtual void op_setTranspose(uint8 *&data) override;
+	void op_programChange(uint8 *&data) override;
+	void op_setVolume(uint8 *&data) override;
+	void op_setPanPos(uint8 *&data) override;
+	void op_setTranspose(uint8 *&data) override;
 
-	virtual void op2_setExtPara(uint8 *&data) override;
+	void op2_setExtPara(uint8 *&data) override;
 
 	uint8 _panPos;
 	uint8 _useVolPreset;
@@ -361,21 +361,21 @@ private:
 class SoundEffectChannel : public MusicChannelFM {
 public:
 	SoundEffectChannel(PC98AudioCore *pc98a, int part, int regOffset, SoundChannel *replaceChannel);
-	virtual ~SoundEffectChannel();
+	~SoundEffectChannel() override;
 
 	void setData(uint8 *dataStart, uint8 *loopStart, const uint8 *dataEnd, uint8 *instrBuffer) override;
-	virtual bool checkFinished() override;
+	bool checkFinished() override;
 
 private:
-	virtual void finish() override;
-	virtual bool usingSpecialMode() const override;
-	virtual uint8 getSpecialFrequencyModifier(uint8 index) override;
-	virtual void setSpecialFrequencyModifier(uint8 index, uint8 val) override;
-	virtual void toggleSpecialMode(bool on) override;
-	virtual void clear() override;
-	virtual void writeDevice(uint8 reg, uint8 val) override;
-
-	virtual void op_writeDevice(uint8 *&data) override;
+	void finish() override;
+	bool usingSpecialMode() const override;
+	uint8 getSpecialFrequencyModifier(uint8 index) override;
+	void setSpecialFrequencyModifier(uint8 index, uint8 val) override;
+	void toggleSpecialMode(bool on) override;
+	void clear() override;
+	void writeDevice(uint8 reg, uint8 val) override;
+
+	void op_writeDevice(uint8 *&data) override;
 	
 	uint8 _specialModeModifier[4];
 	bool _specialMode;
@@ -387,7 +387,7 @@ private:
 class MLALF98Internal : public PC98AudioPluginDriver {
 public:
 	MLALF98Internal(Audio::Mixer *mixer, EmuType emuType);
-	~MLALF98Internal();
+	~MLALF98Internal() override;
 
 	static MLALF98Internal *open(Audio::Mixer *mixer, EmuType emuType);
 	static void close();
@@ -407,8 +407,8 @@ public:
 	void setSoundEffectVolume(int volume);
 
 	// Plugin driver interface
-	virtual void timerCallbackA() override;
-	virtual void timerCallbackB() override;
+	void timerCallbackA() override;
+	void timerCallbackB() override;
 
 private:
 	uint8 *_musicBuffer;
diff --git a/engines/kyra/sound/drivers/pcspeaker_v1.cpp b/engines/kyra/sound/drivers/pcspeaker_v1.cpp
index 2d0a296..de6364f 100644
--- a/engines/kyra/sound/drivers/pcspeaker_v1.cpp
+++ b/engines/kyra/sound/drivers/pcspeaker_v1.cpp
@@ -31,24 +31,24 @@ namespace Kyra {
 class PCSpeakerDriver : public PCSoundDriver, public Audio::AudioStream {
 public:
 	PCSpeakerDriver(Audio::Mixer *mixer, bool pcJRMode);
-	virtual ~PCSpeakerDriver();
+	~PCSpeakerDriver() override;
 
-	virtual void initDriver() override;
-	virtual void setSoundData(uint8 *data, uint32 size) override;
-	virtual void startSound(int id, int) override;
-	virtual bool isChannelPlaying(int channel) const override;
-	virtual void stopAllChannels() override;
+	void initDriver() override;
+	void setSoundData(uint8 *data, uint32 size) override;
+	void startSound(int id, int) override;
+	bool isChannelPlaying(int channel) const override;
+	void stopAllChannels() override;
 
-	virtual void setMusicVolume(uint8 volume) override;
-	virtual void setSfxVolume(uint8) override {}
+	void setMusicVolume(uint8 volume) override;
+	void setSfxVolume(uint8) override {}
 
 	void update();
 
 	// AudioStream interface
-	virtual int readBuffer(int16 *buffer, const int numSamples) override;
-	virtual bool isStereo() const override { return false; }
-	virtual int getRate() const override { return _outputRate; }
-	virtual bool endOfData() const override { return false; }
+	int readBuffer(int16 *buffer, const int numSamples) override;
+	bool isStereo() const override { return false; }
+	int getRate() const override { return _outputRate; }
+	bool endOfData() const override { return false; }
 
 private:
 	void noteOn(int chan, uint16 period);
diff --git a/engines/kyra/sound/sound.h b/engines/kyra/sound/sound.h
index e5a063b..47b6695 100644
--- a/engines/kyra/sound/sound.h
+++ b/engines/kyra/sound/sound.h
@@ -327,34 +327,34 @@ private:
 class MixedSoundDriver : public Sound {
 public:
 	MixedSoundDriver(KyraEngine_v1 *vm, Audio::Mixer *mixer, Sound *music, Sound *sfx);
-	~MixedSoundDriver();
+	~MixedSoundDriver() override;
 
-	virtual kType getMusicType() const;
-	virtual kType getSfxType() const;
+	kType getMusicType() const override;
+	kType getSfxType() const override;
 
-	virtual bool init();
-	virtual void process();
+	bool init() override;
+	void process() override;
 
-	virtual void updateVolumeSettings();
+	void updateVolumeSettings() override;
 
-	virtual void initAudioResourceInfo(int set, void *info);
-	virtual void selectAudioResourceSet(int set);
-	virtual bool hasSoundFile(uint file) const;
-	virtual void loadSoundFile(uint file);
-	virtual void loadSoundFile(Common::String file);
+	void initAudioResourceInfo(int set, void *info) override;
+	void selectAudioResourceSet(int set) override;
+	bool hasSoundFile(uint file) const override;
+	void loadSoundFile(uint file) override;
+	void loadSoundFile(Common::String file) override;
 
-	virtual void loadSfxFile(Common::String file);
+	void loadSfxFile(Common::String file) override;
 
-	virtual void playTrack(uint8 track);
-	virtual void haltTrack();
-	virtual bool isPlaying() const;
+	void playTrack(uint8 track) override;
+	void haltTrack() override;
+	bool isPlaying() const override;
 
-	virtual void playSoundEffect(uint8 track, uint8 volume = 0xFF);
+	void playSoundEffect(uint8 track, uint8 volume = 0xFF) override;
 
-	virtual void stopAllSoundEffects();
+	void stopAllSoundEffects() override;
 
-	virtual void beginFadeOut();
-	virtual void pause(bool paused);
+	void beginFadeOut() override;
+	void pause(bool paused) override;
 private:
 	Sound *_music, *_sfx;
 };
diff --git a/engines/kyra/sound/sound_digital_mr.cpp b/engines/kyra/sound/sound_digital_mr.cpp
index 79791a6..9f4cf8c 100644
--- a/engines/kyra/sound/sound_digital_mr.cpp
+++ b/engines/kyra/sound/sound_digital_mr.cpp
@@ -36,18 +36,18 @@ namespace Kyra {
 class KyraAudioStream : public Audio::SeekableAudioStream {
 public:
 	KyraAudioStream(Audio::SeekableAudioStream *impl) : _impl(impl), _rate(impl->getRate()), _fadeSamples(0), _fadeCount(0), _fading(0), _endOfData(false) {}
-	~KyraAudioStream() { delete _impl; _impl = 0; }
+	~KyraAudioStream() override { delete _impl; _impl = 0; }
 
-	int readBuffer(int16 *buffer, const int numSamples);
-	bool isStereo() const { return _impl->isStereo(); }
-	bool endOfData() const { return _impl->endOfData() | _endOfData; }
-	int getRate() const { return _rate; }
+	int readBuffer(int16 *buffer, const int numSamples) override;
+	bool isStereo() const override { return _impl->isStereo(); }
+	bool endOfData() const override { return _impl->endOfData() | _endOfData; }
+	int getRate() const override { return _rate; }
 
 	void setRate(int newRate) { _rate = newRate; }
 	void beginFadeOut(uint32 millis);
 
-	bool seek(const Audio::Timestamp &where) { return _impl->seek(where); }
-	Audio::Timestamp getLength() const { return _impl->getLength(); }
+	bool seek(const Audio::Timestamp &where) override { return _impl->seek(where); }
+	Audio::Timestamp getLength() const override { return _impl->getLength(); }
 private:
 	Audio::SeekableAudioStream *_impl;
 
diff --git a/engines/kyra/sound/sound_intern.h b/engines/kyra/sound/sound_intern.h
index 628635e..5a8c0c6 100644
--- a/engines/kyra/sound/sound_intern.h
+++ b/engines/kyra/sound/sound_intern.h
@@ -54,31 +54,31 @@ class MidiOutput;
 class SoundMidiPC : public Sound {
 public:
 	SoundMidiPC(KyraEngine_v1 *vm, Audio::Mixer *mixer, MidiDriver *driver, kType type);
-	virtual ~SoundMidiPC();
+	~SoundMidiPC() override;
 
-	virtual kType getMusicType() const { return _type; }
+	kType getMusicType() const override { return _type; }
 
-	virtual bool init();
+	bool init() override;
 
-	virtual void updateVolumeSettings();
+	void updateVolumeSettings() override;
 
-	virtual void initAudioResourceInfo(int set, void *info);
-	virtual void selectAudioResourceSet(int set);
-	virtual bool hasSoundFile(uint file) const;
-	virtual void loadSoundFile(uint file);
-	virtual void loadSoundFile(Common::String file);
-	virtual void loadSfxFile(Common::String file);
+	void initAudioResourceInfo(int set, void *info) override;
+	void selectAudioResourceSet(int set) override;
+	bool hasSoundFile(uint file) const override;
+	void loadSoundFile(uint file) override;
+	void loadSoundFile(Common::String file) override;
+	void loadSfxFile(Common::String file) override;
 
-	virtual void playTrack(uint8 track);
-	virtual void haltTrack();
-	virtual bool isPlaying() const;
+	void playTrack(uint8 track) override;
+	void haltTrack() override;
+	bool isPlaying() const override;
 
-	virtual void playSoundEffect(uint8 track, uint8 volume = 0xFF);
-	virtual void stopAllSoundEffects();
+	void playSoundEffect(uint8 track, uint8 volume = 0xFF) override;
+	void stopAllSoundEffects() override;
 
-	virtual void beginFadeOut();
+	void beginFadeOut() override;
 
-	virtual void pause(bool paused);
+	void pause(bool paused) override;
 private:
 	static void onTimer(void *data);
 
@@ -113,28 +113,28 @@ private:
 class SoundTowns_LoK : public Sound {
 public:
 	SoundTowns_LoK(KyraEngine_v1 *vm, Audio::Mixer *mixer);
-	virtual ~SoundTowns_LoK();
+	~SoundTowns_LoK() override;
 
-	virtual kType getMusicType() const { return kTowns; }
+	kType getMusicType() const override { return kTowns; }
 
-	virtual bool init();
-	virtual void process();
+	bool init() override;
+	void process() override;
 
-	virtual void initAudioResourceInfo(int set, void *info);
-	virtual void selectAudioResourceSet(int set);
-	virtual bool hasSoundFile(uint file) const;
-	virtual void loadSoundFile(uint file);
-	virtual void loadSoundFile(Common::String) {}
+	void initAudioResourceInfo(int set, void *info) override;
+	void selectAudioResourceSet(int set) override;
+	bool hasSoundFile(uint file) const override;
+	void loadSoundFile(uint file) override;
+	void loadSoundFile(Common::String) override {}
 
-	virtual void playTrack(uint8 track);
-	virtual void haltTrack();
+	void playTrack(uint8 track) override;
+	void haltTrack() override;
 
-	virtual void playSoundEffect(uint8 track, uint8 volume = 0xFF);
-	virtual void stopAllSoundEffects();
+	void playSoundEffect(uint8 track, uint8 volume = 0xFF) override;
+	void stopAllSoundEffects() override;
 
-	virtual void beginFadeOut();
+	void beginFadeOut() override;
 
-	virtual void updateVolumeSettings();
+	void updateVolumeSettings() override;
 
 private:
 	bool loadInstruments();
@@ -167,26 +167,26 @@ private:
 class SoundPC98_LoK : public Sound {
 public:
 	SoundPC98_LoK(KyraEngine_v1 *vm, Audio::Mixer *mixer);
-	virtual ~SoundPC98_LoK();
+	~SoundPC98_LoK() override;
 
-	virtual kType getMusicType() const override { return kPC98; }
+	kType getMusicType() const override { return kPC98; }
 
-	virtual bool init() override;
+	bool init() override;
 
-	virtual void initAudioResourceInfo(int set, void *info) override;
-	virtual void selectAudioResourceSet(int set) override;
-	virtual bool hasSoundFile(uint file) const override;
-	virtual void loadSoundFile(uint file) override;
-	virtual void loadSoundFile(Common::String file) override;
+	void initAudioResourceInfo(int set, void *info) override;
+	void selectAudioResourceSet(int set) override;
+	bool hasSoundFile(uint file) const override;
+	void loadSoundFile(uint file) override;
+	void loadSoundFile(Common::String file) override;
 
-	virtual void playTrack(uint8 track) override;
-	virtual void haltTrack() override;
-	virtual void beginFadeOut() override;
+	void playTrack(uint8 track) override;
+	void haltTrack() override;
+	void beginFadeOut() override;
 
-	virtual int32 voicePlay(const char *file, Audio::SoundHandle *handle, uint8 volume, uint8 priority, bool isSfx) override { return -1; }
-	virtual void playSoundEffect(uint8 track, uint8 volume = 0xFF) override;
+	int32 voicePlay(const char *file, Audio::SoundHandle *handle, uint8 volume, uint8 priority, bool isSfx) override { return -1; }
+	void playSoundEffect(uint8 track, uint8 volume = 0xFF) override;
 
-	virtual void updateVolumeSettings() override;
+	void updateVolumeSettings() override;
 
 private:
 	int _lastTrack;
@@ -202,27 +202,27 @@ private:
 class SoundTownsPC98_v2 : public Sound {
 public:
 	SoundTownsPC98_v2(KyraEngine_v1 *vm, Audio::Mixer *mixer);
-	virtual ~SoundTownsPC98_v2();
+	~SoundTownsPC98_v2() override;
 
-	virtual kType getMusicType() const override { return _vm->gameFlags().platform == Common::kPlatformFMTowns ? kTowns : kPC98; }
+	kType getMusicType() const override { return _vm->gameFlags().platform == Common::kPlatformFMTowns ? kTowns : kPC98; }
 
-	virtual bool init() override;
-	virtual void process() override;
+	bool init() override;
+	void process() override;
 
-	virtual void initAudioResourceInfo(int set, void *info) override;
-	virtual void selectAudioResourceSet(int set) override;
-	virtual bool hasSoundFile(uint file) const override;
-	virtual void loadSoundFile(uint file) override {}
-	virtual void loadSoundFile(Common::String file) override;
+	void initAudioResourceInfo(int set, void *info) override;
+	void selectAudioResourceSet(int set) override;
+	bool hasSoundFile(uint file) const override;
+	void loadSoundFile(uint file) override {}
+	void loadSoundFile(Common::String file) override;
 
-	virtual void playTrack(uint8 track) override;
-	virtual void haltTrack() override;
-	virtual void beginFadeOut() override;
+	void playTrack(uint8 track) override;
+	void haltTrack() override;
+	void beginFadeOut() override;
 
-	virtual int32 voicePlay(const char *file, Audio::SoundHandle *handle, uint8 volume = 255, uint8 priority = 255, bool isSfx = true) override;
-	virtual void playSoundEffect(uint8 track, uint8 volume = 0xFF) override;
+	int32 voicePlay(const char *file, Audio::SoundHandle *handle, uint8 volume = 255, uint8 priority = 255, bool isSfx = true) override;
+	void playSoundEffect(uint8 track, uint8 volume = 0xFF) override;
 
-	virtual void updateVolumeSettings() override;
+	void updateVolumeSettings() override;
 
 private:
 	Audio::AudioStream *_currentSFX;
@@ -242,22 +242,22 @@ private:
 class MidiDriver_PCSpeaker : public MidiDriver_Emulated {
 public:
 	MidiDriver_PCSpeaker(Audio::Mixer *mixer);
-	~MidiDriver_PCSpeaker();
+	~MidiDriver_PCSpeaker() override;
 
 	// MidiDriver interface
-	virtual void close() {}
+	void close() override {}
 
-	virtual void send(uint32 data);
+	void send(uint32 data) override;
 
-	virtual MidiChannel *allocateChannel() { return 0; }
-	virtual MidiChannel *getPercussionChannel() { return 0; }
+	MidiChannel *allocateChannel() override { return 0; }
+	MidiChannel *getPercussionChannel() override { return 0; }
 
 	// MidiDriver_Emulated interface
-	void generateSamples(int16 *buffer, int numSamples);
+	void generateSamples(int16 *buffer, int numSamples) override;
 
 	// AudioStream interface
-	bool isStereo() const { return false; }
-	int getRate() const { return _rate; }
+	bool isStereo() const override { return false; }
+	int getRate() const override { return _rate; }
 private:
 	Common::Mutex _mutex;
 	Audio::PCSpeaker *_speaker;
@@ -300,7 +300,7 @@ private:
 	bool _modulationFlag;
 
 	uint8 _timerValue;
-	void onTimer();
+	void onTimer() override;
 
 	static const uint8 _noteTable1[];
 	static const uint8 _noteTable2[];
@@ -318,24 +318,24 @@ struct AmigaSfxTable {
 class SoundAmiga_LoK : public Sound {
 public:
 	SoundAmiga_LoK(KyraEngine_v1 *vm, Audio::Mixer *mixer);
-	virtual ~SoundAmiga_LoK();
+	~SoundAmiga_LoK() override;
 
-	virtual kType getMusicType() const override { return kAmiga; } //FIXME
+	kType getMusicType() const override { return kAmiga; } //FIXME
 
-	virtual bool init() override;
+	bool init() override;
 
-	virtual void initAudioResourceInfo(int set, void *info) override;
-	virtual void selectAudioResourceSet(int set) override;
-	virtual bool hasSoundFile(uint file) const override;
-	virtual void loadSoundFile(uint file) override;
-	virtual void loadSoundFile(Common::String) override {}
+	void initAudioResourceInfo(int set, void *info) override;
+	void selectAudioResourceSet(int set) override;
+	bool hasSoundFile(uint file) const override;
+	void loadSoundFile(uint file) override;
+	void loadSoundFile(Common::String) override {}
 
-	virtual void playTrack(uint8 track) override;
-	virtual void haltTrack() override;
-	virtual void beginFadeOut() override;
+	void playTrack(uint8 track) override;
+	void haltTrack() override;
+	void beginFadeOut() override;
 
-	virtual int32 voicePlay(const char *file, Audio::SoundHandle *handle, uint8 volume, uint8 priority, bool isSfx) override { return -1; }
-	virtual void playSoundEffect(uint8 track, uint8 volume = 0xFF) override;
+	int32 voicePlay(const char *file, Audio::SoundHandle *handle, uint8 volume, uint8 priority, bool isSfx) override { return -1; }
+	void playSoundEffect(uint8 track, uint8 volume = 0xFF) override;
 
 protected:
 	Audio::MaxTrax *_driver;
@@ -354,34 +354,34 @@ protected:
 class SoundTowns_Darkmoon : public Sound, public TownsAudioInterfacePluginDriver {
 public:
 	SoundTowns_Darkmoon(KyraEngine_v1 *vm, Audio::Mixer *mixer);
-	virtual ~SoundTowns_Darkmoon();
+	~SoundTowns_Darkmoon() override;
 
-	virtual kType getMusicType() const { return kTowns; }
+	kType getMusicType() const override { return kTowns; }
 
-	virtual bool init();
+	bool init() override;
 
-	void timerCallback(int timerId);
+	void timerCallback(int timerId) override;
 
-	virtual void initAudioResourceInfo(int set, void *info);
-	virtual void selectAudioResourceSet(int set);
-	virtual bool hasSoundFile(uint file) const;
-	virtual void loadSoundFile(uint file);
-	virtual void loadSoundFile(Common::String name);
+	void initAudioResourceInfo(int set, void *info) override;
+	void selectAudioResourceSet(int set) override;
+	bool hasSoundFile(uint file) const override;
+	void loadSoundFile(uint file) override;
+	void loadSoundFile(Common::String name) override;
 
-	virtual void playTrack(uint8 track);
-	virtual void haltTrack();
-	virtual bool isPlaying() const;
+	void playTrack(uint8 track) override;
+	void haltTrack() override;
+	bool isPlaying() const override;
 
-	virtual void playSoundEffect(uint8 track, uint8 volume = 0xFF);
-	virtual void stopAllSoundEffects();
+	void playSoundEffect(uint8 track, uint8 volume = 0xFF) override;
+	void stopAllSoundEffects() override;
 
-	virtual void beginFadeOut();
+	void beginFadeOut() override;
 
-	virtual void updateVolumeSettings();
+	void updateVolumeSettings() override;
 
-	virtual int checkTrigger();
+	int checkTrigger() override;
 
-	virtual void resetTrigger();
+	void resetTrigger() override;
 
 private:
 	struct SoundTableEntry {
@@ -411,24 +411,24 @@ class AudioMaster2;
 class SoundAmiga_EoB: public Sound {
 public:
 	SoundAmiga_EoB(KyraEngine_v1 *vm, Audio::Mixer *mixer);
-	virtual ~SoundAmiga_EoB();
-
-	kType getMusicType() const;
-
-	bool init();
-	void initAudioResourceInfo(int set, void *info);
-	void selectAudioResourceSet(int set);
-	bool hasSoundFile(uint file) const { return false; }
-	void loadSoundFile(uint) {}
-	void loadSoundFile(Common::String file);
-	void unloadSoundFile(Common::String file);
-	void playTrack(uint8 track);
-	void haltTrack();
-	void playSoundEffect(uint8 track, uint8 volume = 0xFF);
-	void beginFadeOut() { beginFadeOut(160); }
-	void beginFadeOut(int delay);
-	void updateVolumeSettings();
-	int checkTrigger();
+	~SoundAmiga_EoB() override;
+
+	kType getMusicType() const override;
+
+	bool init() override;
+	void initAudioResourceInfo(int set, void *info) override;
+	void selectAudioResourceSet(int set) override;
+	bool hasSoundFile(uint file) const override { return false; }
+	void loadSoundFile(uint) override {}
+	void loadSoundFile(Common::String file) override;
+	void unloadSoundFile(Common::String file) override;
+	void playTrack(uint8 track) override;
+	void haltTrack() override;
+	void playSoundEffect(uint8 track, uint8 volume = 0xFF) override;
+	void beginFadeOut() override { beginFadeOut(160); }
+	void beginFadeOut(int delay) override;
+	void updateVolumeSettings() override;
+	int checkTrigger() override;
 
 private:
 	uint8 *_fileBuffer;
@@ -447,22 +447,22 @@ class MLALF98;
 class SoundPC98_EoB : public Sound {
 public:
 	SoundPC98_EoB(KyraEngine_v1 *vm, Audio::Mixer *mixer);
-	virtual ~SoundPC98_EoB();
-
-	kType getMusicType() const;
-
-	bool init();
-	void initAudioResourceInfo(int set, void *info);
-	void selectAudioResourceSet(int set);
-	bool hasSoundFile(uint file) const { return false; }
-	void loadSoundFile(uint file);
-	void loadSoundFile(Common::String file) {}
-	void loadSfxFile(Common::String file);
-	void playTrack(uint8 track);
-	void haltTrack();
-	void playSoundEffect(uint8 track, uint8);
-	void beginFadeOut() {}
-	void updateVolumeSettings();
+	~SoundPC98_EoB() override;
+
+	kType getMusicType() const override;
+
+	bool init() override;
+	void initAudioResourceInfo(int set, void *info) override;
+	void selectAudioResourceSet(int set) override;
+	bool hasSoundFile(uint file) const override { return false; }
+	void loadSoundFile(uint file) override;
+	void loadSoundFile(Common::String file) override {}
+	void loadSfxFile(Common::String file) override;
+	void playTrack(uint8 track) override;
+	void haltTrack() override;
+	void playSoundEffect(uint8 track, uint8) override;
+	void beginFadeOut() override {}
+	void updateVolumeSettings() override;
 
 private:
 	KyraEngine_v1 *_vm;
diff --git a/engines/kyra/sound/sound_pc_v1.h b/engines/kyra/sound/sound_pc_v1.h
index 850c1fc..f9d6009 100644
--- a/engines/kyra/sound/sound_pc_v1.h
+++ b/engines/kyra/sound/sound_pc_v1.h
@@ -50,31 +50,31 @@ class PCSoundDriver;
 class SoundPC_v1 : public Sound {
 public:
 	SoundPC_v1(KyraEngine_v1 *vm, Audio::Mixer *mixer, kType type);
-	~SoundPC_v1();
+	~SoundPC_v1() override;
 
-	virtual kType getMusicType() const { return _type; }
+	kType getMusicType() const override { return _type; }
 
-	virtual bool init();
-	virtual void process();
+	bool init() override;
+	void process() override;
 
-	virtual void updateVolumeSettings();
+	void updateVolumeSettings() override;
 
-	virtual void initAudioResourceInfo(int set, void *info);
-	virtual void selectAudioResourceSet(int set);
-	virtual bool hasSoundFile(uint file) const;
-	virtual void loadSoundFile(uint file);
-	virtual void loadSoundFile(Common::String file);
+	void initAudioResourceInfo(int set, void *info) override;
+	void selectAudioResourceSet(int set) override;
+	bool hasSoundFile(uint file) const override;
+	void loadSoundFile(uint file) override;
+	void loadSoundFile(Common::String file) override;
 
-	virtual void playTrack(uint8 track);
-	virtual void haltTrack();
-	virtual bool isPlaying() const;
+	void playTrack(uint8 track) override;
+	void haltTrack() override;
+	bool isPlaying() const override;
 
-	virtual void playSoundEffect(uint8 track, uint8 volume = 0xFF);
+	void playSoundEffect(uint8 track, uint8 volume = 0xFF) override;
 
-	virtual void beginFadeOut();
+	void beginFadeOut() override;
 
-	virtual int checkTrigger();
-	virtual void resetTrigger();
+	int checkTrigger() override;
+	void resetTrigger() override;
 private:
 	void internalLoadFile(Common::String file);
 
diff --git a/engines/kyra/text/text_hof.h b/engines/kyra/text/text_hof.h
index cced5bf..6a090fa 100644
--- a/engines/kyra/text/text_hof.h
+++ b/engines/kyra/text/text_hof.h
@@ -36,13 +36,13 @@ public:
 	TextDisplayer_HoF(KyraEngine_HoF *vm, Screen_v2 *screen);
 
 	void backupTalkTextMessageBkgd(int srcPage, int dstPage);
-	void restoreTalkTextMessageBkgd(int srcPage, int dstPage);
+	void restoreTalkTextMessageBkgd(int srcPage, int dstPage) override;
 	void restoreScreen();
 
 	void printCustomCharacterText(const char *src, int x, int y, uint8 c1, int srcPage, int dstPage);
 
-	char *preprocessString(const char *str);
-	void calcWidestLineBounds(int &x1, int &x2, int w, int x);
+	char *preprocessString(const char *str) override;
+	void calcWidestLineBounds(int &x1, int &x2, int w, int x) override;
 private:
 	KyraEngine_HoF *_vm;
 };
diff --git a/engines/kyra/text/text_lol.h b/engines/kyra/text/text_lol.h
index 0042897..1790fa1 100644
--- a/engines/kyra/text/text_lol.h
+++ b/engines/kyra/text/text_lol.h
@@ -39,7 +39,7 @@ struct EMCState;
 class TextDisplayer_LoL : public TextDisplayer_rpg {
 public:
 	TextDisplayer_LoL(LoLEngine *engine, Screen_LoL *screenLoL);
-	~TextDisplayer_LoL();
+	~TextDisplayer_LoL() override;
 
 	void setupField(bool mode);
 	void expandField();
@@ -50,11 +50,11 @@ public:
 	int16 _scriptTextParameter;
 
 private:
-	virtual KyraRpgEngine *vm();
-	virtual Screen *screen();
+	KyraRpgEngine *vm() override;
+	Screen *screen() override;
 
 	void preprocessString(char *str, EMCState *script, const uint16 *paramList, int16 paramIndex);
-	void textPageBreak();
+	void textPageBreak() override;
 
 	char *_stringParameters[15];
 	char *_buffer;
diff --git a/engines/kyra/text/text_mr.h b/engines/kyra/text/text_mr.h
index 339aba6..322039f 100644
--- a/engines/kyra/text/text_mr.h
+++ b/engines/kyra/text/text_mr.h
@@ -34,14 +34,14 @@ friend class KyraEngine_MR;
 public:
 	TextDisplayer_MR(KyraEngine_MR *vm, Screen_MR *screen);
 
-	char *preprocessString(const char *str);
+	char *preprocessString(const char *str) override;
 	int dropCRIntoString(char *str, int minOffs, int maxOffs);
 
-	void printText(const char *str, int x, int y, uint8 c0, uint8 c1, uint8 c2);
+	void printText(const char *str, int x, int y, uint8 c0, uint8 c1, uint8 c2) override;
 
 	void restoreScreen();
 
-	void calcWidestLineBounds(int &x1, int &x2, int w, int x);
+	void calcWidestLineBounds(int &x1, int &x2, int w, int x) override;
 protected:
 	KyraEngine_MR *_vm;
 	Screen_MR *_screen;


Commit: 040497017c2c9a4c861bc8dc97a6793a5308e84b
    https://github.com/scummvm/scummvm/commit/040497017c2c9a4c861bc8dc97a6793a5308e84b
Author: Bastien Bouclet (bastien.bouclet at gmail.com)
Date: 2020-02-09T12:43:15+01:00

Commit Message:
LAB: Add override keywords

Changed paths:
    engines/lab/console.h
    engines/lab/detection.cpp
    engines/lab/lab.h


diff --git a/engines/lab/console.h b/engines/lab/console.h
index af41b60..a225c3e 100644
--- a/engines/lab/console.h
+++ b/engines/lab/console.h
@@ -32,7 +32,7 @@ class LabEngine;
 class Console : public GUI::Debugger {
 public:
 	Console(LabEngine *vm);
-	virtual ~Console(void);
+	~Console(void) override;
 
 private:
 	LabEngine *_vm;
diff --git a/engines/lab/detection.cpp b/engines/lab/detection.cpp
index 0455db1..59cbd7c 100644
--- a/engines/lab/detection.cpp
+++ b/engines/lab/detection.cpp
@@ -124,23 +124,23 @@ public:
 		return "lab";
 	}
 
-	virtual const char *getName() const override {
+	const char *getName() const override {
 		return "Labyrinth of Time";
 	}
 
-	virtual const char *getOriginalCopyright() const override {
+	const char *getOriginalCopyright() const override {
 		return "Labyrinth of Time (C) 2004 The Wyrmkeep Entertainment Co. and Terra Nova Development";
 	}
 
-	virtual bool createInstance(OSystem *syst, Engine **engine, const ADGameDescription *desc) const override {
+	bool createInstance(OSystem *syst, Engine **engine, const ADGameDescription *desc) const override {
 		// Instantiate Engine even if the game data is not found.
 		*engine = new Lab::LabEngine(syst, desc);
 		return true;
 	}
 
-	virtual bool hasFeature(MetaEngineFeature f) const override;
+	bool hasFeature(MetaEngineFeature f) const override;
 	SaveStateList listSaves(const char *target) const override;
-	virtual int getMaximumSaveSlot() const override;
+	int getMaximumSaveSlot() const override;
 	void removeSaveState(const char *target, int slot) const override;
 	SaveStateDescriptor querySaveMetaInfos(const char *target, int slot) const override;
 };
diff --git a/engines/lab/lab.h b/engines/lab/lab.h
index d362ade..e33272b 100644
--- a/engines/lab/lab.h
+++ b/engines/lab/lab.h
@@ -204,9 +204,9 @@ public:
 
 public:
 	LabEngine(OSystem *syst, const ADGameDescription *gameDesc);
-	~LabEngine();
+	~LabEngine() override;
 
-	virtual Common::Error run() override;
+	Common::Error run() override;
 	void go();
 
 	const ADGameDescription *_gameDescription;


Commit: 1e6640ab3361b5fa4e0c71f66fe95cf044662575
    https://github.com/scummvm/scummvm/commit/1e6640ab3361b5fa4e0c71f66fe95cf044662575
Author: Bastien Bouclet (bastien.bouclet at gmail.com)
Date: 2020-02-09T12:43:15+01:00

Commit Message:
LASTEXPRESS: Add override keywords

Changed paths:
    engines/lastexpress/data/animation.h
    engines/lastexpress/data/archive.h
    engines/lastexpress/data/background.h
    engines/lastexpress/data/cursor.h
    engines/lastexpress/data/scene.h
    engines/lastexpress/data/sequence.h
    engines/lastexpress/data/snd.cpp
    engines/lastexpress/data/snd.h
    engines/lastexpress/data/subtitle.h
    engines/lastexpress/debug.h
    engines/lastexpress/detection.cpp
    engines/lastexpress/entities/abbot.h
    engines/lastexpress/entities/alexei.h
    engines/lastexpress/entities/alouan.h
    engines/lastexpress/entities/anna.h
    engines/lastexpress/entities/august.h
    engines/lastexpress/entities/boutarel.h
    engines/lastexpress/entities/chapters.h
    engines/lastexpress/entities/cooks.h
    engines/lastexpress/entities/coudert.h
    engines/lastexpress/entities/entity.h
    engines/lastexpress/entities/entity39.h
    engines/lastexpress/entities/francois.h
    engines/lastexpress/entities/gendarmes.h
    engines/lastexpress/entities/hadija.h
    engines/lastexpress/entities/ivo.h
    engines/lastexpress/entities/kahina.h
    engines/lastexpress/entities/kronos.h
    engines/lastexpress/entities/mahmud.h
    engines/lastexpress/entities/max.h
    engines/lastexpress/entities/mertens.h
    engines/lastexpress/entities/milos.h
    engines/lastexpress/entities/mmeboutarel.h
    engines/lastexpress/entities/pascale.h
    engines/lastexpress/entities/rebecca.h
    engines/lastexpress/entities/salko.h
    engines/lastexpress/entities/sophie.h
    engines/lastexpress/entities/tables.h
    engines/lastexpress/entities/tatiana.h
    engines/lastexpress/entities/train.h
    engines/lastexpress/entities/vassili.h
    engines/lastexpress/entities/verges.h
    engines/lastexpress/entities/vesna.h
    engines/lastexpress/entities/waiter1.h
    engines/lastexpress/entities/waiter2.h
    engines/lastexpress/entities/yasmin.h
    engines/lastexpress/fight/fight.h
    engines/lastexpress/fight/fighter.h
    engines/lastexpress/fight/fighter_anna.h
    engines/lastexpress/fight/fighter_ivo.h
    engines/lastexpress/fight/fighter_milos.h
    engines/lastexpress/fight/fighter_salko.h
    engines/lastexpress/fight/fighter_vesna.h
    engines/lastexpress/game/action.cpp
    engines/lastexpress/game/entities.h
    engines/lastexpress/game/inventory.h
    engines/lastexpress/game/logic.h
    engines/lastexpress/game/object.h
    engines/lastexpress/game/savegame.h
    engines/lastexpress/game/savepoint.h
    engines/lastexpress/game/state.h
    engines/lastexpress/lastexpress.h
    engines/lastexpress/menu/menu.h
    engines/lastexpress/resource.h
    engines/lastexpress/sound/entry.h
    engines/lastexpress/sound/queue.h


diff --git a/engines/lastexpress/data/animation.h b/engines/lastexpress/data/animation.h
index 9523cdd..02a7c34 100644
--- a/engines/lastexpress/data/animation.h
+++ b/engines/lastexpress/data/animation.h
@@ -56,12 +56,12 @@ public:
 	};
 
 	Animation();
-	~Animation();
+	~Animation() override;
 
 	bool load(Common::SeekableReadStream *stream, int flag = kFlagDefault);
 	bool process();
 	bool hasEnded();
-	Common::Rect draw(Graphics::Surface *surface);
+	Common::Rect draw(Graphics::Surface *surface) override;
 	void play();
 
 private:
diff --git a/engines/lastexpress/data/archive.h b/engines/lastexpress/data/archive.h
index 421220e..f51aa25 100644
--- a/engines/lastexpress/data/archive.h
+++ b/engines/lastexpress/data/archive.h
@@ -46,10 +46,10 @@ class HPFArchive : public Common::Archive {
 public:
 	HPFArchive(const Common::String &path);
 
-	bool hasFile(const Common::String &name) const;
-	int listMembers(Common::ArchiveMemberList &list) const;
-	const Common::ArchiveMemberPtr getMember(const Common::String &name) const;
-	Common::SeekableReadStream *createReadStreamForMember(const Common::String &name) const;
+	bool hasFile(const Common::String &name) const override;
+	int listMembers(Common::ArchiveMemberList &list) const override;
+	const Common::ArchiveMemberPtr getMember(const Common::String &name) const override;
+	Common::SeekableReadStream *createReadStreamForMember(const Common::String &name) const override;
 
 	int count() { return _files.size(); }
 
diff --git a/engines/lastexpress/data/background.h b/engines/lastexpress/data/background.h
index c4a3216..2fe9850 100644
--- a/engines/lastexpress/data/background.h
+++ b/engines/lastexpress/data/background.h
@@ -52,11 +52,11 @@ namespace LastExpress {
 class Background : public Drawable {
 public:
 	Background();
-	~Background();
+	~Background() override;
 
 	bool load(Common::SeekableReadStream *stream);
 
-	Common::Rect draw(Graphics::Surface *surface);
+	Common::Rect draw(Graphics::Surface *surface) override;
 
 private:
 	struct BackgroundHeader {
diff --git a/engines/lastexpress/data/cursor.h b/engines/lastexpress/data/cursor.h
index 63932b3..bbfae7a 100644
--- a/engines/lastexpress/data/cursor.h
+++ b/engines/lastexpress/data/cursor.h
@@ -52,7 +52,7 @@ public:
 
 	void setPosition(int16 x, int16 y);
 	void setBrightness(int16 brightnessIndex);
-	Common::Rect draw(Graphics::Surface *surface);
+	Common::Rect draw(Graphics::Surface *surface) override;
 
 private:
 	CursorStyle _style;
diff --git a/engines/lastexpress/data/scene.h b/engines/lastexpress/data/scene.h
index d950aad..4334612 100644
--- a/engines/lastexpress/data/scene.h
+++ b/engines/lastexpress/data/scene.h
@@ -226,9 +226,9 @@ public:
 	byte param2;
 	byte param3;
 
-	~Scene();
+	~Scene() override;
 
-	Common::Rect draw(Graphics::Surface *surface);
+	Common::Rect draw(Graphics::Surface *surface) override;
 
 	// Hotspots
 	Common::Array<SceneHotspot *> *getHotspots() { return &_hotspots; }
diff --git a/engines/lastexpress/data/sequence.h b/engines/lastexpress/data/sequence.h
index fd8b3cd..c01ea3b 100644
--- a/engines/lastexpress/data/sequence.h
+++ b/engines/lastexpress/data/sequence.h
@@ -131,8 +131,8 @@ struct FrameInfo {
 class AnimFrame : public Drawable {
 public:
 	AnimFrame(Common::SeekableReadStream *in, const FrameInfo &f, bool ignoreSubtype = false);
-	~AnimFrame();
-	Common::Rect draw(Graphics::Surface *s);
+	~AnimFrame() override;
+	Common::Rect draw(Graphics::Surface *s) override;
 
 private:
 	void decomp3(Common::SeekableReadStream *in, const FrameInfo &f);
@@ -184,9 +184,9 @@ private:
 class SequenceFrame : public Drawable {
 public:
 	SequenceFrame(Sequence *sequence, uint16 frame = 0, bool dispose = false) : _sequence(sequence), _frame(frame), _dispose(dispose) {}
-	~SequenceFrame();
+	~SequenceFrame() override;
 
-	Common::Rect draw(Graphics::Surface *surface);
+	Common::Rect draw(Graphics::Surface *surface) override;
 
 	bool setFrame(uint16 frame);
 	uint32 getFrame() { return _frame; }
diff --git a/engines/lastexpress/data/snd.cpp b/engines/lastexpress/data/snd.cpp
index d9d193e..43865c3 100644
--- a/engines/lastexpress/data/snd.cpp
+++ b/engines/lastexpress/data/snd.cpp
@@ -359,7 +359,7 @@ public:
 		_looped = looped;
 	}
 
-	virtual bool endOfData() const {
+	bool endOfData() const override {
 		return !_running || (!_looped && Audio::ADPCMStream::endOfData());
 	}
 
@@ -368,7 +368,7 @@ public:
 		_stream->seek(_startpos + _blockAlign * block);
 	}
 
-	int readBuffer(int16 *buffer, const int numSamples) {
+	int readBuffer(int16 *buffer, const int numSamples) override {
 		int samples = 0;
 		// Temporary data
 		int step = 0;
diff --git a/engines/lastexpress/data/snd.h b/engines/lastexpress/data/snd.h
index 8358370..75db73e 100644
--- a/engines/lastexpress/data/snd.h
+++ b/engines/lastexpress/data/snd.h
@@ -78,10 +78,10 @@ protected:
 class StreamedSound : public SimpleSound {
 public:
 	StreamedSound();
-	~StreamedSound();
+	~StreamedSound() override;
 
 	bool load(Common::SeekableReadStream *stream, uint32 volume, bool looped, uint32 startBlock = 0);
-	virtual bool isFinished();
+	bool isFinished() override;
 
 	void setVolume(uint32 newVolume);
 	void setVolumeSmoothly(uint32 newVolume);
@@ -94,13 +94,13 @@ private:
 class AppendableSound : public SimpleSound {
 public:
 	AppendableSound();
-	~AppendableSound();
+	~AppendableSound() override;
 
 	void queueBuffer(const byte *data, uint32 size);
 	void queueBuffer(Common::SeekableReadStream *bufferIn);
 	void finish();
 
-	virtual bool isFinished();
+	bool isFinished() override;
 
 private:
 	Audio::QueuingAudioStream *_as;
diff --git a/engines/lastexpress/data/subtitle.h b/engines/lastexpress/data/subtitle.h
index 40f6c11..0895c26 100644
--- a/engines/lastexpress/data/subtitle.h
+++ b/engines/lastexpress/data/subtitle.h
@@ -55,13 +55,13 @@ class Subtitle;
 class SubtitleManager : public Drawable {
 public:
 	SubtitleManager(Font *font);
-	~SubtitleManager();
+	~SubtitleManager() override;
 
 	bool load(Common::SeekableReadStream *stream);
 	uint16 getMaxTime() const;
 	void setTime(uint16 time);
 	bool hasChanged() const;
-	Common::Rect draw(Graphics::Surface *surface);
+	Common::Rect draw(Graphics::Surface *surface) override;
 
 private:
 	Common::Array<Subtitle *> _subtitles;
diff --git a/engines/lastexpress/debug.h b/engines/lastexpress/debug.h
index 7578648..28471bd 100644
--- a/engines/lastexpress/debug.h
+++ b/engines/lastexpress/debug.h
@@ -48,7 +48,7 @@ class LastExpressEngine;
 class Debugger : public GUI::Debugger {
 public:
 	Debugger(LastExpressEngine *engine);
-	~Debugger();
+	~Debugger() override;
 
 	bool hasCommand() const;
 	void callCommand();
diff --git a/engines/lastexpress/detection.cpp b/engines/lastexpress/detection.cpp
index 94fbbae..99431ca 100644
--- a/engines/lastexpress/detection.cpp
+++ b/engines/lastexpress/detection.cpp
@@ -230,20 +230,20 @@ public:
 		_guiOptions = GUIO2(GUIO_NOSUBTITLES, GUIO_NOSFX);
 	}
 
-	const char *getEngineId() const {
+	const char *getEngineId() const override {
 		return "lastexpress";
 	}
 
-	const char *getName() const {
+	const char *getName() const override {
 		return "The Last Express";
 	}
 
-	const char *getOriginalCopyright() const {
+	const char *getOriginalCopyright() const override {
 		return "The Last Express (C) 1997 Smoking Car Productions";
 	}
 
 protected:
-	bool createInstance(OSystem *syst, Engine **engine, const ADGameDescription *gd) const;
+	bool createInstance(OSystem *syst, Engine **engine, const ADGameDescription *gd) const override;
 };
 
 bool LastExpressMetaEngine::createInstance(OSystem *syst, Engine **engine, const ADGameDescription *gd) const {
diff --git a/engines/lastexpress/entities/abbot.h b/engines/lastexpress/entities/abbot.h
index c4a68f6..ed87992 100644
--- a/engines/lastexpress/entities/abbot.h
+++ b/engines/lastexpress/entities/abbot.h
@@ -32,7 +32,7 @@ class LastExpressEngine;
 class Abbot : public Entity {
 public:
 	Abbot(LastExpressEngine *engine);
-	~Abbot() {}
+	~Abbot() override {}
 
 	/**
 	 * Resets the entity
diff --git a/engines/lastexpress/entities/alexei.h b/engines/lastexpress/entities/alexei.h
index 713a8c7..536b436 100644
--- a/engines/lastexpress/entities/alexei.h
+++ b/engines/lastexpress/entities/alexei.h
@@ -32,7 +32,7 @@ class LastExpressEngine;
 class Alexei : public Entity {
 public:
 	Alexei(LastExpressEngine *engine);
-	~Alexei() {}
+	~Alexei() override {}
 
 	/**
 	 * Resets the entity
diff --git a/engines/lastexpress/entities/alouan.h b/engines/lastexpress/entities/alouan.h
index c84cf1a..19b0971 100644
--- a/engines/lastexpress/entities/alouan.h
+++ b/engines/lastexpress/entities/alouan.h
@@ -32,7 +32,7 @@ class LastExpressEngine;
 class Alouan : public Entity {
 public:
 	Alouan(LastExpressEngine *engine);
-	~Alouan() {}
+	~Alouan() override {}
 
 	/**
 	 * Resets the entity
diff --git a/engines/lastexpress/entities/anna.h b/engines/lastexpress/entities/anna.h
index 89a397a..9dfef5f 100644
--- a/engines/lastexpress/entities/anna.h
+++ b/engines/lastexpress/entities/anna.h
@@ -32,7 +32,7 @@ class LastExpressEngine;
 class Anna : public Entity {
 public:
 	Anna(LastExpressEngine *engine);
-	~Anna() {}
+	~Anna() override {}
 
 	/**
 	 * Resets the entity
diff --git a/engines/lastexpress/entities/august.h b/engines/lastexpress/entities/august.h
index f8eee10..2d92315 100644
--- a/engines/lastexpress/entities/august.h
+++ b/engines/lastexpress/entities/august.h
@@ -32,7 +32,7 @@ class LastExpressEngine;
 class August : public Entity {
 public:
 	August(LastExpressEngine *engine);
-	~August() {}
+	~August() override {}
 
 	/**
 	 * Resets the entity
diff --git a/engines/lastexpress/entities/boutarel.h b/engines/lastexpress/entities/boutarel.h
index 8612566..ca425e4 100644
--- a/engines/lastexpress/entities/boutarel.h
+++ b/engines/lastexpress/entities/boutarel.h
@@ -32,7 +32,7 @@ class LastExpressEngine;
 class Boutarel : public Entity {
 public:
 	Boutarel(LastExpressEngine *engine);
-	~Boutarel() {}
+	~Boutarel() override {}
 
 	/**
 	 * Resets the entity
diff --git a/engines/lastexpress/entities/chapters.h b/engines/lastexpress/entities/chapters.h
index abc4648..435d7f0 100644
--- a/engines/lastexpress/entities/chapters.h
+++ b/engines/lastexpress/entities/chapters.h
@@ -32,7 +32,7 @@ class LastExpressEngine;
 class Chapters : public Entity {
 public:
 	Chapters(LastExpressEngine *engine);
-	~Chapters() {}
+	~Chapters() override {}
 
 	/**
 	 * Saves the game
diff --git a/engines/lastexpress/entities/cooks.h b/engines/lastexpress/entities/cooks.h
index 6a65a25..c222ebe 100644
--- a/engines/lastexpress/entities/cooks.h
+++ b/engines/lastexpress/entities/cooks.h
@@ -32,7 +32,7 @@ class LastExpressEngine;
 class Cooks : public Entity {
 public:
 	Cooks(LastExpressEngine *engine);
-	~Cooks() {}
+	~Cooks() override {}
 
 	/**
 	 * Draws the entity
diff --git a/engines/lastexpress/entities/coudert.h b/engines/lastexpress/entities/coudert.h
index a40f31e..e985c62 100644
--- a/engines/lastexpress/entities/coudert.h
+++ b/engines/lastexpress/entities/coudert.h
@@ -31,7 +31,7 @@ class LastExpressEngine;
 class Coudert : public Entity {
 public:
 	Coudert(LastExpressEngine *engine);
-	~Coudert() {}
+	~Coudert() override {}
 
 	/**
 	 * Resets the entity
diff --git a/engines/lastexpress/entities/entity.h b/engines/lastexpress/entities/entity.h
index 627ab83..55bf9de 100644
--- a/engines/lastexpress/entities/entity.h
+++ b/engines/lastexpress/entities/entity.h
@@ -290,12 +290,12 @@ class EntityData {
 public:
 
 	struct EntityParameters : Common::Serializable {
-		virtual ~EntityParameters() {}
+		~EntityParameters() override {}
 		virtual Common::String toString() = 0;
 
 		virtual void update(uint32 index) = 0;
 
-		virtual void saveLoadWithSerializer(Common::Serializer &s) = 0;
+		void saveLoadWithSerializer(Common::Serializer &s) override = 0;
 	};
 
 	struct EntityParametersIIII : EntityParameters {
@@ -323,11 +323,11 @@ public:
 			return param1 || param2 || param3 || param4 || param5 || param6 || param7 || param8;
 		}
 
-		Common::String toString() {
+		Common::String toString() override {
 			return Common::String::format("IIII: %d %d %d %d %d %d %d %d\n", param1, param2, param3, param4, param5, param6, param7, param8);
 		}
 
-		void update(uint32 index) {
+		void update(uint32 index) override {
 			switch (index) {
 			default:
 				error("[EntityParametersIIII::update] Invalid index (was: %d)", index);
@@ -343,7 +343,7 @@ public:
 			}
 		}
 
-		void saveLoadWithSerializer(Common::Serializer &s) {
+		void saveLoadWithSerializer(Common::Serializer &s) override {
 			s.syncAsUint32LE(param1);
 			s.syncAsUint32LE(param2);
 			s.syncAsUint32LE(param3);
@@ -372,11 +372,11 @@ public:
 			param8 = 0;
 		}
 
-		Common::String toString() {
+		Common::String toString() override {
 			return Common::String::format("SIII: %s %d %d %d %d %d\n", seq, param4, param5, param6, param7, param8);
 		}
 
-		void update(uint32 index) {
+		void update(uint32 index) override {
 			switch (index) {
 			default:
 				error("[EntityParametersSIII::update] Invalid index (was: %d)", index);
@@ -389,7 +389,7 @@ public:
 			}
 		}
 
-		void saveLoadWithSerializer(Common::Serializer &s) {
+		void saveLoadWithSerializer(Common::Serializer &s) override {
 			s.syncBytes((byte *)&seq, 12);
 			s.syncAsUint32LE(param4);
 			s.syncAsUint32LE(param5);
@@ -412,11 +412,11 @@ public:
 			memset(&seq2, 0, 13);
 		}
 
-		Common::String toString() {
+		Common::String toString() override {
 			return Common::String::format("SIIS: %s %d %d %s\n", seq1, param4, param5, seq2);
 		}
 
-		void update(uint32 index) {
+		void update(uint32 index) override {
 			switch (index) {
 			default:
 				error("[EntityParametersSIIS::update] Invalid index (was: %d)", index);
@@ -426,7 +426,7 @@ public:
 			}
 		}
 
-		void saveLoadWithSerializer(Common::Serializer &s) {
+		void saveLoadWithSerializer(Common::Serializer &s) override {
 			s.syncBytes((byte *)&seq1, 12);
 			s.syncAsUint32LE(param4);
 			s.syncAsUint32LE(param5);
@@ -447,11 +447,11 @@ public:
 			param8 = 0;
 		}
 
-		Common::String toString() {
+		Common::String toString() override {
 			return Common::String::format("ISSI: %d %s %s %d\n", param1, seq1, seq2, param8);
 		}
 
-		void update(uint32 index) {
+		void update(uint32 index) override {
 			switch (index) {
 			default:
 				error("[EntityParametersISSI::update] Invalid index (was: %d)", index);
@@ -461,7 +461,7 @@ public:
 			}
 		}
 
-		void saveLoadWithSerializer(Common::Serializer &s) {
+		void saveLoadWithSerializer(Common::Serializer &s) override {
 			s.syncAsUint32LE(param1);
 			s.syncBytes((byte *)&seq1, 12);
 			s.syncBytes((byte *)&seq2, 12);
@@ -486,11 +486,11 @@ public:
 			param8 = 0;
 		}
 
-		Common::String toString() {
+		Common::String toString() override {
 			return Common::String::format("ISII: %d %s %d %d %d %d\n", param1, seq, param5, param6, param7, param8);
 		}
 
-		void update(uint32 index) {
+		void update(uint32 index) override {
 			switch (index) {
 			default:
 				error("[EntityParametersISII::update] Invalid index (was: %d)", index);
@@ -503,7 +503,7 @@ public:
 			}
 		}
 
-		void saveLoadWithSerializer(Common::Serializer &s) {
+		void saveLoadWithSerializer(Common::Serializer &s) override {
 			s.syncAsUint32LE(param1);
 			s.syncBytes((byte *)&seq, 12);
 			s.syncAsUint32LE(param5);
@@ -526,11 +526,11 @@ public:
 			param8 = 0;
 		}
 
-		Common::String toString() {
+		Common::String toString() override {
 			return Common::String::format("SSII: %s %s %d %d\n", seq1, seq2, param7, param8);
 		}
 
-		void update(uint32 index) {
+		void update(uint32 index) override {
 			switch (index) {
 			default:
 				error("[EntityParametersSSII::update] Invalid index (was: %d)", index);
@@ -540,7 +540,7 @@ public:
 			}
 		}
 
-		void saveLoadWithSerializer(Common::Serializer &s) {
+		void saveLoadWithSerializer(Common::Serializer &s) override {
 			s.syncBytes((byte *)&seq1, 12);
 			s.syncBytes((byte *)&seq2, 12);
 			s.syncAsUint32LE(param7);
@@ -559,15 +559,15 @@ public:
 			memset(&seq3, 0, 9);
 		}
 
-		Common::String toString() {
+		Common::String toString() override {
 			return Common::String::format("SSS: %s %s %s\n", seq1, seq2, seq3);
 		}
 
-		void update(uint32) {
+		void update(uint32) override {
 			error("[EntityParametersSSS::update] Cannot update this type of parameters");
 		}
 
-		void saveLoadWithSerializer(Common::Serializer &s) {
+		void saveLoadWithSerializer(Common::Serializer &s) override {
 			s.syncBytes((byte *)&seq1, 12);
 			s.syncBytes((byte *)&seq2, 12);
 			s.syncBytes((byte *)&seq3, 8);
@@ -587,11 +587,11 @@ public:
 			memset(&seq2, 0, 13);
 		}
 
-		Common::String toString() {
+		Common::String toString() override {
 			return Common::String::format("IISS: %d %d %s %s\n", param1, param2, seq1, seq2);
 		}
 
-		void update(uint32 index) {
+		void update(uint32 index) override {
 			switch (index) {
 			default:
 				error("[EntityParametersIISS::update] Invalid index (was: %d)", index);
@@ -601,7 +601,7 @@ public:
 			}
 		}
 
-		void saveLoadWithSerializer(Common::Serializer &s) {
+		void saveLoadWithSerializer(Common::Serializer &s) override {
 			s.syncAsUint32LE(param1);
 			s.syncAsUint32LE(param2);
 			s.syncBytes((byte *)&seq1, 12);
@@ -626,11 +626,11 @@ public:
 			param8 = 0;
 		}
 
-		Common::String toString() {
+		Common::String toString() override {
 			return Common::String::format("IISI: %d %d %s %d %d %d\n", param1, param2, seq, param6, param7, param8);
 		}
 
-		void update(uint32 index) {
+		void update(uint32 index) override {
 			switch (index) {
 			default:
 				error("[EntityParametersIISI::update] Invalid index (was: %d)", index);
@@ -643,7 +643,7 @@ public:
 			}
 		}
 
-		void saveLoadWithSerializer(Common::Serializer &s) {
+		void saveLoadWithSerializer(Common::Serializer &s) override {
 			s.syncAsUint32LE(param1);
 			s.syncAsUint32LE(param2);
 			s.syncBytes((byte *)&seq, 12);
@@ -670,11 +670,11 @@ public:
 			param8 = 0;
 		}
 
-		Common::String toString() {
+		Common::String toString() override {
 			return Common::String::format("IIIS: %d %d %d %s %d %d\n", param1, param2, param3, seq, param7, param8);
 		}
 
-		void update(uint32 index) {
+		void update(uint32 index) override {
 			switch (index) {
 			default:
 				error("[EntityParametersIIIS::update] Invalid index (was: %d)", index);
@@ -687,7 +687,7 @@ public:
 			}
 		}
 
-		void saveLoadWithSerializer(Common::Serializer &s) {
+		void saveLoadWithSerializer(Common::Serializer &s) override {
 			s.syncAsUint32LE(param1);
 			s.syncAsUint32LE(param2);
 			s.syncAsUint32LE(param3);
@@ -714,11 +714,11 @@ public:
 			memset(&seq, 0, 13);
 		}
 
-		Common::String toString() {
+		Common::String toString() override {
 			return Common::String::format("I5S: %d %d %d %d %d %s\n", param1, param2, param3, param4, param5, seq);
 		}
 
-		void update(uint32 index) {
+		void update(uint32 index) override {
 			switch (index) {
 			default:
 				error("[EntityParametersI5S::update] Invalid index (was: %d)", index);
@@ -731,7 +731,7 @@ public:
 			}
 		}
 
-		void saveLoadWithSerializer(Common::Serializer &s) {
+		void saveLoadWithSerializer(Common::Serializer &s) override {
 			s.syncAsUint32LE(param1);
 			s.syncAsUint32LE(param2);
 			s.syncAsUint32LE(param3);
@@ -750,7 +750,7 @@ public:
 				parameters[i] = new EntityParametersIIII();
 		}
 
-		~EntityCallParameters() {
+		~EntityCallParameters() override {
 			clear();
 		}
 
@@ -760,7 +760,7 @@ public:
 		}
 
 		// Serializable
-		void saveLoadWithSerializer(Common::Serializer &s) {
+		void saveLoadWithSerializer(Common::Serializer &s) override {
 			for (uint i = 0; i < ARRAYSIZE(parameters); i++)
 				parameters[i]->saveLoadWithSerializer(s);
 		}
@@ -830,7 +830,7 @@ public:
 			sequence3 = NULL;
 		}
 
-		~EntityCallData();
+		~EntityCallData() override;
 
 		/**
 		 * Convert this object into a string representation.
@@ -868,7 +868,7 @@ public:
 		void syncString(Common::Serializer &s, Common::String &string, uint length) const;
 
 		// Serializable
-		void saveLoadWithSerializer(Common::Serializer &s);
+		void saveLoadWithSerializer(Common::Serializer &s) override;
 	};
 
 	EntityData() {}
@@ -908,7 +908,7 @@ private:
 class Entity : Common::Serializable {
 public:
 	Entity(LastExpressEngine *engine, EntityIndex index);
-	virtual ~Entity();
+	~Entity() override;
 
 	// Accessors
 	EntityData *getParamData() { return _data; }
@@ -934,7 +934,7 @@ public:
 	virtual void setup_playSound(const char*) { error("[Entity::setup_playSound] Trying to call the parent setup function. Use the specific entity function directly"); }
 
 	// Serializable
-	void saveLoadWithSerializer(Common::Serializer &ser) { _data->saveLoadWithSerializer(ser, &_paramsTypeSetters); }
+	void saveLoadWithSerializer(Common::Serializer &ser) override { _data->saveLoadWithSerializer(ser, &_paramsTypeSetters); }
 
 	void nullfunction(const SavePoint &savepoint) {}
 
diff --git a/engines/lastexpress/entities/entity39.h b/engines/lastexpress/entities/entity39.h
index b6abcc2..0d2d201 100644
--- a/engines/lastexpress/entities/entity39.h
+++ b/engines/lastexpress/entities/entity39.h
@@ -32,7 +32,7 @@ class LastExpressEngine;
 class Entity39 : public Entity {
 public:
 	Entity39(LastExpressEngine *engine);
-	~Entity39() {}
+	~Entity39() override {}
 
 	/**
 	 * Setup Chapter 1
diff --git a/engines/lastexpress/entities/francois.h b/engines/lastexpress/entities/francois.h
index a2ecee3..287013b 100644
--- a/engines/lastexpress/entities/francois.h
+++ b/engines/lastexpress/entities/francois.h
@@ -32,7 +32,7 @@ class LastExpressEngine;
 class Francois : public Entity {
 public:
 	Francois(LastExpressEngine *engine);
-	~Francois() {}
+	~Francois() override {}
 
 	/**
 	 * Resets the entity
diff --git a/engines/lastexpress/entities/gendarmes.h b/engines/lastexpress/entities/gendarmes.h
index c849597..f822a32 100644
--- a/engines/lastexpress/entities/gendarmes.h
+++ b/engines/lastexpress/entities/gendarmes.h
@@ -34,7 +34,7 @@ class LastExpressEngine;
 class Gendarmes : public Entity {
 public:
 	Gendarmes(LastExpressEngine *engine);
-	~Gendarmes() {}
+	~Gendarmes() override {}
 
 	/**
 	 * Resets the entity
diff --git a/engines/lastexpress/entities/hadija.h b/engines/lastexpress/entities/hadija.h
index a66aa33..bfa6e27 100644
--- a/engines/lastexpress/entities/hadija.h
+++ b/engines/lastexpress/entities/hadija.h
@@ -32,7 +32,7 @@ class LastExpressEngine;
 class Hadija : public Entity {
 public:
 	Hadija(LastExpressEngine *engine);
-	~Hadija() {}
+	~Hadija() override {}
 
 	/**
 	 * Resets the entity
diff --git a/engines/lastexpress/entities/ivo.h b/engines/lastexpress/entities/ivo.h
index 3646bc1..4655934 100644
--- a/engines/lastexpress/entities/ivo.h
+++ b/engines/lastexpress/entities/ivo.h
@@ -32,7 +32,7 @@ class LastExpressEngine;
 class Ivo : public Entity {
 public:
 	Ivo(LastExpressEngine *engine);
-	~Ivo() {}
+	~Ivo() override {}
 
 	/**
 	 * Resets the entity
diff --git a/engines/lastexpress/entities/kahina.h b/engines/lastexpress/entities/kahina.h
index 15c446c..8d4af7e 100644
--- a/engines/lastexpress/entities/kahina.h
+++ b/engines/lastexpress/entities/kahina.h
@@ -32,7 +32,7 @@ class LastExpressEngine;
 class Kahina : public Entity {
 public:
 	Kahina(LastExpressEngine *engine);
-	~Kahina() {}
+	~Kahina() override {}
 
 	/**
 	 * Resets the entity
diff --git a/engines/lastexpress/entities/kronos.h b/engines/lastexpress/entities/kronos.h
index 00564b8..4860920 100644
--- a/engines/lastexpress/entities/kronos.h
+++ b/engines/lastexpress/entities/kronos.h
@@ -32,7 +32,7 @@ class LastExpressEngine;
 class Kronos : public Entity {
 public:
 	Kronos(LastExpressEngine *engine);
-	~Kronos() {}
+	~Kronos() override {}
 
 	/**
 	 * Resets the entity
diff --git a/engines/lastexpress/entities/mahmud.h b/engines/lastexpress/entities/mahmud.h
index 229e6d4..ba067c7 100644
--- a/engines/lastexpress/entities/mahmud.h
+++ b/engines/lastexpress/entities/mahmud.h
@@ -32,7 +32,7 @@ class LastExpressEngine;
 class Mahmud : public Entity {
 public:
 	Mahmud(LastExpressEngine *engine);
-	~Mahmud() {}
+	~Mahmud() override {}
 
 	/**
 	 * Resets the entity
diff --git a/engines/lastexpress/entities/max.h b/engines/lastexpress/entities/max.h
index e12b4b6..a0b0778 100644
--- a/engines/lastexpress/entities/max.h
+++ b/engines/lastexpress/entities/max.h
@@ -32,7 +32,7 @@ class LastExpressEngine;
 class Max : public Entity {
 public:
 	Max(LastExpressEngine *engine);
-	~Max() {}
+	~Max() override {}
 
 	/**
 	 * Resets the entity
diff --git a/engines/lastexpress/entities/mertens.h b/engines/lastexpress/entities/mertens.h
index 55c2ddd..aff693b 100644
--- a/engines/lastexpress/entities/mertens.h
+++ b/engines/lastexpress/entities/mertens.h
@@ -41,7 +41,7 @@ private:
 
 public:
 	Mertens(LastExpressEngine *engine);
-	~Mertens() {}
+	~Mertens() override {}
 
 	/**
 	 * Resets the entity
diff --git a/engines/lastexpress/entities/milos.h b/engines/lastexpress/entities/milos.h
index b7b716c..8100cf8 100644
--- a/engines/lastexpress/entities/milos.h
+++ b/engines/lastexpress/entities/milos.h
@@ -32,7 +32,7 @@ class LastExpressEngine;
 class Milos : public Entity {
 public:
 	Milos(LastExpressEngine *engine);
-	~Milos() {}
+	~Milos() override {}
 
 	/**
 	 * Resets the entity
diff --git a/engines/lastexpress/entities/mmeboutarel.h b/engines/lastexpress/entities/mmeboutarel.h
index 11d74b0..780a407 100644
--- a/engines/lastexpress/entities/mmeboutarel.h
+++ b/engines/lastexpress/entities/mmeboutarel.h
@@ -32,7 +32,7 @@ class LastExpressEngine;
 class MmeBoutarel : public Entity {
 public:
 	MmeBoutarel(LastExpressEngine *engine);
-	~MmeBoutarel() {}
+	~MmeBoutarel() override {}
 
 	/**
 	 * Resets the entity
diff --git a/engines/lastexpress/entities/pascale.h b/engines/lastexpress/entities/pascale.h
index c8df758..2c92c57 100644
--- a/engines/lastexpress/entities/pascale.h
+++ b/engines/lastexpress/entities/pascale.h
@@ -32,7 +32,7 @@ class LastExpressEngine;
 class Pascale : public Entity {
 public:
 	Pascale(LastExpressEngine *engine);
-	~Pascale() {}
+	~Pascale() override {}
 
 	/**
 	 * Draws the entity
diff --git a/engines/lastexpress/entities/rebecca.h b/engines/lastexpress/entities/rebecca.h
index 88a14e6..81008f1 100644
--- a/engines/lastexpress/entities/rebecca.h
+++ b/engines/lastexpress/entities/rebecca.h
@@ -32,7 +32,7 @@ class LastExpressEngine;
 class Rebecca : public Entity {
 public:
 	Rebecca(LastExpressEngine *engine);
-	~Rebecca() {}
+	~Rebecca() override {}
 
 	/**
 	 * Resets the entity
diff --git a/engines/lastexpress/entities/salko.h b/engines/lastexpress/entities/salko.h
index 0b672b9..b177fbb 100644
--- a/engines/lastexpress/entities/salko.h
+++ b/engines/lastexpress/entities/salko.h
@@ -32,7 +32,7 @@ class LastExpressEngine;
 class Salko : public Entity {
 public:
 	Salko(LastExpressEngine *engine);
-	~Salko() {}
+	~Salko() override {}
 
 	/**
 	 * Resets the entity
diff --git a/engines/lastexpress/entities/sophie.h b/engines/lastexpress/entities/sophie.h
index 5589caf..69f525a 100644
--- a/engines/lastexpress/entities/sophie.h
+++ b/engines/lastexpress/entities/sophie.h
@@ -32,7 +32,7 @@ class LastExpressEngine;
 class Sophie : public Entity {
 public:
 	Sophie(LastExpressEngine *engine);
-	~Sophie() {}
+	~Sophie() override {}
 
 	/**
 	 * Resets the entity
diff --git a/engines/lastexpress/entities/tables.h b/engines/lastexpress/entities/tables.h
index 2e93eb7..888b880 100644
--- a/engines/lastexpress/entities/tables.h
+++ b/engines/lastexpress/entities/tables.h
@@ -32,7 +32,7 @@ class LastExpressEngine;
 class Tables : public Entity {
 public:
 	Tables(LastExpressEngine *engine, EntityIndex id);
-	~Tables() {}
+	~Tables() override {}
 
 	/**
 	 * Setup Chapter 1
diff --git a/engines/lastexpress/entities/tatiana.h b/engines/lastexpress/entities/tatiana.h
index ed887a8..b0e0a32 100644
--- a/engines/lastexpress/entities/tatiana.h
+++ b/engines/lastexpress/entities/tatiana.h
@@ -32,7 +32,7 @@ class LastExpressEngine;
 class Tatiana : public Entity {
 public:
 	Tatiana(LastExpressEngine *engine);
-	~Tatiana() {}
+	~Tatiana() override {}
 
 	/**
 	 * Resets the entity
diff --git a/engines/lastexpress/entities/train.h b/engines/lastexpress/entities/train.h
index 1d94cba..fc6ac4c 100644
--- a/engines/lastexpress/entities/train.h
+++ b/engines/lastexpress/entities/train.h
@@ -32,7 +32,7 @@ class LastExpressEngine;
 class Train : public Entity {
 public:
 	Train(LastExpressEngine *engine);
-	~Train() {}
+	~Train() override {}
 
 	/**
 	 * Saves the game
diff --git a/engines/lastexpress/entities/vassili.h b/engines/lastexpress/entities/vassili.h
index e5456ed..b043e10 100644
--- a/engines/lastexpress/entities/vassili.h
+++ b/engines/lastexpress/entities/vassili.h
@@ -32,7 +32,7 @@ class LastExpressEngine;
 class Vassili : public Entity {
 public:
 	Vassili(LastExpressEngine *engine);
-	~Vassili() {}
+	~Vassili() override {}
 
 	/**
 	 * Resets the entity
diff --git a/engines/lastexpress/entities/verges.h b/engines/lastexpress/entities/verges.h
index dc902b3..fada7e1 100644
--- a/engines/lastexpress/entities/verges.h
+++ b/engines/lastexpress/entities/verges.h
@@ -32,7 +32,7 @@ class LastExpressEngine;
 class Verges : public Entity {
 public:
 	Verges(LastExpressEngine *engine);
-	~Verges() {}
+	~Verges() override {}
 
 	/**
 	 * Resets the entity
diff --git a/engines/lastexpress/entities/vesna.h b/engines/lastexpress/entities/vesna.h
index f47943c..6ac3b80 100644
--- a/engines/lastexpress/entities/vesna.h
+++ b/engines/lastexpress/entities/vesna.h
@@ -32,7 +32,7 @@ class LastExpressEngine;
 class Vesna : public Entity {
 public:
 	Vesna(LastExpressEngine *engine);
-	~Vesna() {}
+	~Vesna() override {}
 
 	/**
 	 * Resets the entity
diff --git a/engines/lastexpress/entities/waiter1.h b/engines/lastexpress/entities/waiter1.h
index 64c6655..bb4bc83 100644
--- a/engines/lastexpress/entities/waiter1.h
+++ b/engines/lastexpress/entities/waiter1.h
@@ -32,7 +32,7 @@ class LastExpressEngine;
 class Waiter1 : public Entity {
 public:
 	Waiter1(LastExpressEngine *engine);
-	~Waiter1() {}
+	~Waiter1() override {}
 
 	/**
 	 * Call a savepoint (or draw sequence in default case)
diff --git a/engines/lastexpress/entities/waiter2.h b/engines/lastexpress/entities/waiter2.h
index e8dc8f4..451f98d 100644
--- a/engines/lastexpress/entities/waiter2.h
+++ b/engines/lastexpress/entities/waiter2.h
@@ -32,7 +32,7 @@ class LastExpressEngine;
 class Waiter2 : public Entity {
 public:
 	Waiter2(LastExpressEngine *engine);
-	~Waiter2() {}
+	~Waiter2() override {}
 
 	/**
 	 * Updates parameter 2 using time value
diff --git a/engines/lastexpress/entities/yasmin.h b/engines/lastexpress/entities/yasmin.h
index 5ed735c..93fe04b 100644
--- a/engines/lastexpress/entities/yasmin.h
+++ b/engines/lastexpress/entities/yasmin.h
@@ -32,7 +32,7 @@ class LastExpressEngine;
 class Yasmin : public Entity {
 public:
 	Yasmin(LastExpressEngine *engine);
-	~Yasmin() {}
+	~Yasmin() override {}
 
 	/**
 	 * Resets the entity
diff --git a/engines/lastexpress/fight/fight.h b/engines/lastexpress/fight/fight.h
index 5c6eff5..8adf71b 100644
--- a/engines/lastexpress/fight/fight.h
+++ b/engines/lastexpress/fight/fight.h
@@ -74,12 +74,12 @@ public:
 	};
 
 	Fight(LastExpressEngine *engine);
-	~Fight();
+	~Fight() override;
 
 	FightEndType setup(FightType type);
 
-	void eventMouse(const Common::Event &ev);
-	void eventTick(const Common::Event &ev);
+	void eventMouse(const Common::Event &ev) override;
+	void eventTick(const Common::Event &ev) override;
 
 	// State
 	bool isRunning() { return _data->isFightRunning; }
diff --git a/engines/lastexpress/fight/fighter.h b/engines/lastexpress/fight/fighter.h
index 326610a..b24d791 100644
--- a/engines/lastexpress/fight/fighter.h
+++ b/engines/lastexpress/fight/fighter.h
@@ -109,7 +109,7 @@ public:
 		_field_38 = 0;
 	}
 
-	virtual void update();
+	void update() override;
 
 protected:
 	int32 _field_38;
diff --git a/engines/lastexpress/fight/fighter_anna.h b/engines/lastexpress/fight/fighter_anna.h
index 667552b..4bdbaa4 100644
--- a/engines/lastexpress/fight/fighter_anna.h
+++ b/engines/lastexpress/fight/fighter_anna.h
@@ -33,14 +33,14 @@ class FighterPlayerAnna : public Fighter {
 public:
 	FighterPlayerAnna(LastExpressEngine *engine);
 
-	virtual void handleAction(FightAction action);
+	void handleAction(FightAction action) override;
 };
 
 class FighterOpponentAnna : public Opponent {
 public:
 	FighterOpponentAnna(LastExpressEngine *engine);
 
-	virtual void update();
+	void update() override;
 };
 
 } // End of namespace LastExpress
diff --git a/engines/lastexpress/fight/fighter_ivo.h b/engines/lastexpress/fight/fighter_ivo.h
index 1988b4b..25c9360 100644
--- a/engines/lastexpress/fight/fighter_ivo.h
+++ b/engines/lastexpress/fight/fighter_ivo.h
@@ -33,17 +33,17 @@ class FighterPlayerIvo : public Fighter {
 public:
 	FighterPlayerIvo(LastExpressEngine *engine);
 
-	virtual void handleAction(FightAction action);
-	virtual void update();
-	virtual bool canInteract(FightAction action = kFightActionNone);
+	void handleAction(FightAction action) override;
+	void update() override;
+	bool canInteract(FightAction action = kFightActionNone) override;
 };
 
 class FighterOpponentIvo : public Opponent {
 public:
 	FighterOpponentIvo(LastExpressEngine *engine);
 
-	virtual void handleAction(FightAction action);
-	virtual void update();
+	void handleAction(FightAction action) override;
+	void update() override;
 };
 
 } // End of namespace LastExpress
diff --git a/engines/lastexpress/fight/fighter_milos.h b/engines/lastexpress/fight/fighter_milos.h
index 734177f..a147122 100644
--- a/engines/lastexpress/fight/fighter_milos.h
+++ b/engines/lastexpress/fight/fighter_milos.h
@@ -33,17 +33,17 @@ class FighterPlayerMilos : public Fighter {
 public:
 	FighterPlayerMilos(LastExpressEngine *engine);
 
-	virtual void handleAction(FightAction action);
-	virtual void update();
-	virtual bool canInteract(FightAction action = kFightActionNone);
+	void handleAction(FightAction action) override;
+	void update() override;
+	bool canInteract(FightAction action = kFightActionNone) override;
 };
 
 class FighterOpponentMilos : public Opponent {
 public:
 	FighterOpponentMilos(LastExpressEngine *engine);
 
-	virtual void handleAction(FightAction action);
-	virtual void update();
+	void handleAction(FightAction action) override;
+	void update() override;
 };
 
 } // End of namespace LastExpress
diff --git a/engines/lastexpress/fight/fighter_salko.h b/engines/lastexpress/fight/fighter_salko.h
index 365f28a..8e7415b 100644
--- a/engines/lastexpress/fight/fighter_salko.h
+++ b/engines/lastexpress/fight/fighter_salko.h
@@ -33,17 +33,17 @@ class FighterPlayerSalko : public Fighter {
 public:
 	FighterPlayerSalko(LastExpressEngine *engine);
 
-	virtual void handleAction(FightAction action);
-	virtual void update();
-	virtual bool canInteract(FightAction action = kFightActionNone);
+	void handleAction(FightAction action) override;
+	void update() override;
+	bool canInteract(FightAction action = kFightActionNone) override;
 };
 
 class FighterOpponentSalko : public Opponent {
 public:
 	FighterOpponentSalko(LastExpressEngine *engine);
 
-	virtual void handleAction(FightAction action);
-	virtual void update();
+	void handleAction(FightAction action) override;
+	void update() override;
 };
 
 } // End of namespace LastExpress
diff --git a/engines/lastexpress/fight/fighter_vesna.h b/engines/lastexpress/fight/fighter_vesna.h
index a706922..be89520 100644
--- a/engines/lastexpress/fight/fighter_vesna.h
+++ b/engines/lastexpress/fight/fighter_vesna.h
@@ -33,17 +33,17 @@ class FighterPlayerVesna : public Fighter {
 public:
 	FighterPlayerVesna(LastExpressEngine *engine);
 
-	virtual void handleAction(FightAction action);
-	virtual void update();
-	virtual bool canInteract(FightAction action = kFightActionNone);
+	void handleAction(FightAction action) override;
+	void update() override;
+	bool canInteract(FightAction action = kFightActionNone) override;
 };
 
 class FighterOpponentVesna : public Opponent {
 public:
 	FighterOpponentVesna(LastExpressEngine *engine);
 
-	virtual void handleAction(FightAction action);
-	virtual void update();
+	void handleAction(FightAction action) override;
+	void update() override;
 };
 
 } // End of namespace LastExpress
diff --git a/engines/lastexpress/game/action.cpp b/engines/lastexpress/game/action.cpp
index 5351edb..4e20e99 100644
--- a/engines/lastexpress/game/action.cpp
+++ b/engines/lastexpress/game/action.cpp
@@ -336,8 +336,8 @@ public:
 
 	Functor1MemConst(T *t, const FuncType &func) : _t(t), _func(func) {}
 
-	bool isValid() const { return _func != 0 && _t != 0; }
-	Res operator()(Arg v1) const {
+	bool isValid() const override { return _func != 0 && _t != 0; }
+	Res operator()(Arg v1) const override {
 		return (_t->*_func)(v1);
 	}
 private:
diff --git a/engines/lastexpress/game/entities.h b/engines/lastexpress/game/entities.h
index 089edbf..e282198 100644
--- a/engines/lastexpress/game/entities.h
+++ b/engines/lastexpress/game/entities.h
@@ -46,10 +46,10 @@ class Sequence;
 class Entities : Common::Serializable {
 public:
 	Entities(LastExpressEngine *engine);
-	~Entities();
+	~Entities() override;
 
 	// Serializable
-	void saveLoadWithSerializer(Common::Serializer &ser);
+	void saveLoadWithSerializer(Common::Serializer &ser) override;
 	void savePositions(Common::Serializer &ser);
 	void saveCompartments(Common::Serializer &ser);
 
diff --git a/engines/lastexpress/game/inventory.h b/engines/lastexpress/game/inventory.h
index f3ab94c..d7db72d 100644
--- a/engines/lastexpress/game/inventory.h
+++ b/engines/lastexpress/game/inventory.h
@@ -76,7 +76,7 @@ public:
 			return Common::String::format("{ %d - %d - %d - %d - %d - %d - %d }", cursor, scene, usable, isSelectable, inPocket, floating, location);
 		}
 
-		void saveLoadWithSerializer(Common::Serializer &s) {
+		void saveLoadWithSerializer(Common::Serializer &s) override {
 			s.syncAsByte(cursor);
 			s.syncAsByte(scene);
 			s.syncAsByte(usable);
@@ -88,7 +88,7 @@ public:
 	};
 
 	Inventory(LastExpressEngine *engine);
-	~Inventory();
+	~Inventory() override;
 
 	// Inventory contents
 	void addItem(InventoryItem item);
@@ -121,7 +121,7 @@ public:
 	bool isEggHighlighted() { return _eggHightlighted; }
 
 	// Serializable
-	void saveLoadWithSerializer(Common::Serializer &s);
+	void saveLoadWithSerializer(Common::Serializer &s) override;
 	void saveSelectedItem(Common::Serializer &s);
 
 	/**
diff --git a/engines/lastexpress/game/logic.h b/engines/lastexpress/game/logic.h
index 33180df..6e1ab61 100644
--- a/engines/lastexpress/game/logic.h
+++ b/engines/lastexpress/game/logic.h
@@ -44,10 +44,10 @@ class State;
 class Logic : public EventHandler {
 public:
 	Logic(LastExpressEngine *engine);
-	~Logic();
+	~Logic() override;
 
-	void eventMouse(const Common::Event &ev);
-	void eventTick(const Common::Event &ev);
+	void eventMouse(const Common::Event &ev) override;
+	void eventTick(const Common::Event &ev) override;
 
 	void resetState();
 	void gameOver(SavegameType type, uint32 value, SceneIndex sceneIndex, bool showScene) const;
diff --git a/engines/lastexpress/game/object.h b/engines/lastexpress/game/object.h
index 78e8a84..5090ae0 100644
--- a/engines/lastexpress/game/object.h
+++ b/engines/lastexpress/game/object.h
@@ -53,7 +53,7 @@ public:
 		Common::String toString();
 
 		// Serializable
-		void saveLoadWithSerializer(Common::Serializer &s) {
+		void saveLoadWithSerializer(Common::Serializer &s) override {
 			s.syncAsByte(entity);
 			s.syncAsByte(status);
 			s.syncAsByte(windowCursor);
@@ -69,7 +69,7 @@ public:
 	void updateModel(ObjectIndex index, ObjectModel model);
 
 	// Serializable
-	void saveLoadWithSerializer(Common::Serializer &s);
+	void saveLoadWithSerializer(Common::Serializer &s) override;
 
 	/**
 	 * Convert this object into a string representation.
diff --git a/engines/lastexpress/game/savegame.h b/engines/lastexpress/game/savegame.h
index 6c3105b..32a74df 100644
--- a/engines/lastexpress/game/savegame.h
+++ b/engines/lastexpress/game/savegame.h
@@ -105,12 +105,12 @@ public:
 		memset(_buffer, 0, 256);
 	}
 
-	int32 pos() const { return MemoryWriteStreamDynamic::pos(); }
-	int32 size() const { return MemoryWriteStreamDynamic::size(); }
-	bool seek(int32 offset, int whence = SEEK_SET) { return MemoryWriteStreamDynamic::seek(offset, whence); }
-	bool eos() const { return _eos; }
-	uint32 read(void *dataPtr, uint32 dataSize);
-	uint32 write(const void *dataPtr, uint32 dataSize);
+	int32 pos() const override { return MemoryWriteStreamDynamic::pos(); }
+	int32 size() const override { return MemoryWriteStreamDynamic::size(); }
+	bool seek(int32 offset, int whence = SEEK_SET) override { return MemoryWriteStreamDynamic::seek(offset, whence); }
+	bool eos() const override { return _eos; }
+	uint32 read(void *dataPtr, uint32 dataSize) override;
+	uint32 write(const void *dataPtr, uint32 dataSize) override;
 
 	uint32 process();
 
@@ -199,7 +199,7 @@ private:
 			field_1C = 9;
 		}
 
-		void saveLoadWithSerializer(Common::Serializer &s) {
+		void saveLoadWithSerializer(Common::Serializer &s) override {
 			s.syncAsUint32LE(signature);
 			s.syncAsUint32LE(count);
 			s.syncAsUint32LE(offset);
@@ -261,7 +261,7 @@ private:
 			field_1C = 0;
 		}
 
-		void saveLoadWithSerializer(Common::Serializer &s) {
+		void saveLoadWithSerializer(Common::Serializer &s) override {
 			s.syncAsUint32LE(signature);
 			s.syncAsUint32LE(type);
 			s.syncAsUint32LE(time);
diff --git a/engines/lastexpress/game/savepoint.h b/engines/lastexpress/game/savepoint.h
index ea73e7c..909229c 100644
--- a/engines/lastexpress/game/savepoint.h
+++ b/engines/lastexpress/game/savepoint.h
@@ -98,7 +98,7 @@ public:
 	};
 
 	SavePoints(LastExpressEngine *engine);
-	~SavePoints();
+	~SavePoints() override;
 
 	// Savepoints
 	void push(EntityIndex entity2, EntityIndex entity1, ActionIndex action, uint32 param = 0);
@@ -118,7 +118,7 @@ public:
 	void callAndProcess();
 
 	// Serializable
-	void saveLoadWithSerializer(Common::Serializer &s);
+	void saveLoadWithSerializer(Common::Serializer &s) override;
 
 	/**
 	 * Convert this object into a string representation.
diff --git a/engines/lastexpress/game/state.h b/engines/lastexpress/game/state.h
index b46807b..854dc46 100644
--- a/engines/lastexpress/game/state.h
+++ b/engines/lastexpress/game/state.h
@@ -472,7 +472,7 @@ public:
 			return ret;
 		}
 
-		void saveLoadWithSerializer(Common::Serializer &s) {
+		void saveLoadWithSerializer(Common::Serializer &s) override {
 			if (s.isLoading()) {
 				for (uint i = 0; i < 128; i++) {
 					uint32 val;
@@ -543,7 +543,7 @@ public:
 			return ret;
 		}
 
-		void saveLoadWithSerializer(Common::Serializer &s) {
+		void saveLoadWithSerializer(Common::Serializer &s) override {
 			s.syncAsUint32LE(time);
 			s.syncAsUint32LE(timeDelta);
 			s.syncAsUint32LE(timeTicks);
diff --git a/engines/lastexpress/lastexpress.h b/engines/lastexpress/lastexpress.h
index 2c1e755..ed94fc6 100644
--- a/engines/lastexpress/lastexpress.h
+++ b/engines/lastexpress/lastexpress.h
@@ -71,12 +71,12 @@ class LastExpressEngine : public Engine {
 protected:
 	// Engine APIs
 	Common::Error run() override;
-	virtual bool hasFeature(EngineFeature f) const override;
-	virtual Debugger *getDebugger() override { return _debugger; }
+	bool hasFeature(EngineFeature f) const override;
+	Debugger *getDebugger() override { return _debugger; }
 
 public:
 	LastExpressEngine(OSystem *syst, const ADGameDescription *gd);
-	~LastExpressEngine();
+	~LastExpressEngine() override;
 
 	// Misc
 	Common::RandomSource& getRandom() {return _random; }
diff --git a/engines/lastexpress/menu/menu.h b/engines/lastexpress/menu/menu.h
index 5943c94..5db7547 100644
--- a/engines/lastexpress/menu/menu.h
+++ b/engines/lastexpress/menu/menu.h
@@ -43,13 +43,13 @@ class TrainLine;
 class Menu : public EventHandler {
 public:
 	Menu(LastExpressEngine *engine);
-	~Menu();
+	~Menu() override;
 
 	void show(bool doSavegame, SavegameType type, uint32 value);
 
 	// Event handling
-	void eventMouse(const Common::Event &ev);
-	void eventTick(const Common::Event &ev);
+	void eventMouse(const Common::Event &ev) override;
+	void eventTick(const Common::Event &ev) override;
 
 	bool isShown() const { return _isShowingMenu; }
 
diff --git a/engines/lastexpress/resource.h b/engines/lastexpress/resource.h
index ddda4d6..6f20f07 100644
--- a/engines/lastexpress/resource.h
+++ b/engines/lastexpress/resource.h
@@ -37,7 +37,7 @@ class Font;
 class ResourceManager : public Common::Archive {
 public:
 	ResourceManager(bool demo);
-	~ResourceManager();
+	~ResourceManager() override;
 
 	// Loading
 	bool loadArchive(ArchiveIndex type);
@@ -45,10 +45,10 @@ public:
 	Common::SeekableReadStream *getFileStream(const Common::String &name) const;
 
 	// Archive functions
-	bool hasFile(const Common::String &name) const;
-	int listMembers(Common::ArchiveMemberList &list) const;
-	const Common::ArchiveMemberPtr getMember(const Common::String &name) const;
-	Common::SeekableReadStream *createReadStreamForMember(const Common::String &name) const;
+	bool hasFile(const Common::String &name) const override;
+	int listMembers(Common::ArchiveMemberList &list) const override;
+	const Common::ArchiveMemberPtr getMember(const Common::String &name) const override;
+	Common::SeekableReadStream *createReadStreamForMember(const Common::String &name) const override;
 
 	// Resource loading
 	Background *loadBackground(const Common::String &name) const;
diff --git a/engines/lastexpress/sound/entry.h b/engines/lastexpress/sound/entry.h
index 998d1e5..a354d45 100644
--- a/engines/lastexpress/sound/entry.h
+++ b/engines/lastexpress/sound/entry.h
@@ -92,7 +92,7 @@ class SubtitleEntry;
 class SoundEntry : Common::Serializable {
 public:
 	SoundEntry(LastExpressEngine *engine);
-	~SoundEntry();
+	~SoundEntry() override;
 
 	void open(Common::String name, SoundFlag flag, int priority);
 	void close();
@@ -117,7 +117,7 @@ public:
 	void setSubtitles(Common::String filename);
 
 	// Serializable
-	void saveLoadWithSerializer(Common::Serializer &ser);
+	void saveLoadWithSerializer(Common::Serializer &ser) override;
 
 	// Accessors
 	void setEntity(EntityIndex entity) { _entity = entity; }
diff --git a/engines/lastexpress/sound/queue.h b/engines/lastexpress/sound/queue.h
index 63ff091..9d8d0e4 100644
--- a/engines/lastexpress/sound/queue.h
+++ b/engines/lastexpress/sound/queue.h
@@ -38,7 +38,7 @@ class SubtitleEntry;
 class SoundQueue : Common::Serializable {
 public:
 	SoundQueue(LastExpressEngine *engine);
-	~SoundQueue();
+	~SoundQueue() override;
 
 	// Queue
 	void addToQueue(SoundEntry *entry);
@@ -76,7 +76,7 @@ public:
 	SubtitleEntry *getCurrentSubtitle() { return _currentSubtitle; }
 
 	// Serializable
-	void saveLoadWithSerializer(Common::Serializer &ser);
+	void saveLoadWithSerializer(Common::Serializer &ser) override;
 	uint32 count();
 
 	// Accessors


Commit: 4e931838ac8a3f376de53a8e2590896cd83f1da0
    https://github.com/scummvm/scummvm/commit/4e931838ac8a3f376de53a8e2590896cd83f1da0
Author: Bastien Bouclet (bastien.bouclet at gmail.com)
Date: 2020-02-09T12:43:15+01:00

Commit Message:
LILLIPUT: Add override keywords

Changed paths:
    engines/lilliput/console.h
    engines/lilliput/lilliput.h
    engines/lilliput/sound.h
    engines/lilliput/stream.h


diff --git a/engines/lilliput/console.h b/engines/lilliput/console.h
index cd7edb3..ab317b1 100644
--- a/engines/lilliput/console.h
+++ b/engines/lilliput/console.h
@@ -32,7 +32,7 @@ class LilliputEngine;
 class LilliputConsole : public GUI::Debugger {
 public:
 	LilliputConsole(LilliputEngine *vm);
-	virtual ~LilliputConsole(void);
+	~LilliputConsole(void) override;
 
 private:
 	LilliputEngine *_vm;
diff --git a/engines/lilliput/lilliput.h b/engines/lilliput/lilliput.h
index a6f4f70..804e5f8 100644
--- a/engines/lilliput/lilliput.h
+++ b/engines/lilliput/lilliput.h
@@ -90,7 +90,7 @@ struct SmallAnim {
 class LilliputEngine : public Engine {
 public:
 	LilliputEngine(OSystem *syst, const LilliputGameDescription *gd);
-	~LilliputEngine();
+	~LilliputEngine() override;
 
 	OSystem *_system;
 
diff --git a/engines/lilliput/sound.h b/engines/lilliput/sound.h
index ef7d2a9..9005982 100644
--- a/engines/lilliput/sound.h
+++ b/engines/lilliput/sound.h
@@ -37,7 +37,7 @@ class LilliputEngine;
 class LilliputSound: public Audio::MidiPlayer {
 public:
 	LilliputSound();
-	~LilliputSound();
+	~LilliputSound() override;
 
 	void init();
 	void refresh();
@@ -59,8 +59,8 @@ private:
 	void loadMusic(Common::String filename);
 	void playMusic(int var1);
 
-	virtual void send(uint32 b);
-	virtual void sendToChannel(byte channel, uint32 b);
+	void send(uint32 b) override;
+	void sendToChannel(byte channel, uint32 b) override;
 };
 
 } // End of namespace Lilliput
diff --git a/engines/lilliput/stream.h b/engines/lilliput/stream.h
index 52b80e3..9469d98 100644
--- a/engines/lilliput/stream.h
+++ b/engines/lilliput/stream.h
@@ -32,7 +32,7 @@ private:
 	byte *_orgPtr;
 public:
 	ScriptStream(byte *buf, int bufSize);
-	virtual ~ScriptStream();
+	~ScriptStream() override;
 
 	void writeUint16LE(int value, int relativePos = 0);
 };


Commit: cca3309fba9e4ea36e95b1a1c3ed19e0e4aa24f1
    https://github.com/scummvm/scummvm/commit/cca3309fba9e4ea36e95b1a1c3ed19e0e4aa24f1
Author: Bastien Bouclet (bastien.bouclet at gmail.com)
Date: 2020-02-09T12:43:15+01:00

Commit Message:
LURE: Add override keywords

Changed paths:
    engines/lure/debugger.h
    engines/lure/detection.cpp
    engines/lure/lure.h
    engines/lure/sound.h


diff --git a/engines/lure/debugger.h b/engines/lure/debugger.h
index a5360f2..877cca3 100644
--- a/engines/lure/debugger.h
+++ b/engines/lure/debugger.h
@@ -30,7 +30,7 @@ namespace Lure {
 class Debugger : public GUI::Debugger {
 public:
 	Debugger();
-	virtual ~Debugger() {}  // we need this for __SYMBIAN32__ archaic gcc/UIQ
+	~Debugger() override {}  // we need this for __SYMBIAN32__ archaic gcc/UIQ
 
 private:
 	bool cmd_enterRoom(int argc, const char **argv);
diff --git a/engines/lure/detection.cpp b/engines/lure/detection.cpp
index 40cd68d..dad728e 100644
--- a/engines/lure/detection.cpp
+++ b/engines/lure/detection.cpp
@@ -251,19 +251,19 @@ public:
 		return "lure";
 	}
 
-	virtual const char *getName() const override {
+	const char *getName() const override {
 		return "Lure of the Temptress";
 	}
 
-	virtual const char *getOriginalCopyright() const override {
+	const char *getOriginalCopyright() const override {
 		return "Lure of the Temptress (C) Revolution";
 	}
 
-	virtual bool hasFeature(MetaEngineFeature f) const override;
-	virtual bool createInstance(OSystem *syst, Engine **engine, const ADGameDescription *desc) const override;
-	virtual SaveStateList listSaves(const char *target) const override;
-	virtual int getMaximumSaveSlot() const override;
-	virtual void removeSaveState(const char *target, int slot) const override;
+	bool hasFeature(MetaEngineFeature f) const override;
+	bool createInstance(OSystem *syst, Engine **engine, const ADGameDescription *desc) const override;
+	SaveStateList listSaves(const char *target) const override;
+	int getMaximumSaveSlot() const override;
+	void removeSaveState(const char *target, int slot) const override;
 };
 
 bool LureMetaEngine::hasFeature(MetaEngineFeature f) const {
diff --git a/engines/lure/lure.h b/engines/lure/lure.h
index b2f8454..35c8422 100644
--- a/engines/lure/lure.h
+++ b/engines/lure/lure.h
@@ -85,23 +85,23 @@ private:
 
 public:
 	LureEngine(OSystem *system, const LureGameDescription *gameDesc);
-	~LureEngine();
+	~LureEngine() override;
 	static LureEngine &getReference();
 	bool _saveLoadAllowed;
 
 	// Engine APIs
 	Common::Error init();
 	Common::Error go();
-	virtual Common::Error run() override {
+	Common::Error run() override {
 		Common::Error err;
 		err = init();
 		if (err.getCode() != Common::kNoError)
 			return err;
 		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;
 
 	Disk &disk() { return *_disk; }
 
@@ -116,20 +116,20 @@ public:
 	LureLanguage getLureLanguage() const;
 	Common::Language getLanguage() const;
 	Common::Platform getPlatform() const;
-	virtual GUI::Debugger *getDebugger() override;
+	GUI::Debugger *getDebugger() override;
 	bool isEGA() const { return (getFeatures() & GF_EGA) != 0; }
 
-	virtual Common::Error loadGameState(int slot) override {
+	Common::Error loadGameState(int slot) override {
 		return loadGame(slot) ? Common::kNoError : Common::kReadingFailed;
 	}
-	virtual Common::Error saveGameState(int slot, const Common::String &desc) override {
+	Common::Error saveGameState(int slot, const Common::String &desc) override {
 		Common::String s(desc);
 		return saveGame(slot, s) ? Common::kNoError : Common::kReadingFailed;
 	}
-	virtual bool canLoadGameStateCurrently() override {
+	bool canLoadGameStateCurrently() override {
 		return _saveLoadAllowed && !Fights.isFighting();
 	}
-	virtual bool canSaveGameStateCurrently() override {
+	bool canSaveGameStateCurrently() override {
 		return _saveLoadAllowed && !Fights.isFighting();
 	}
 };
diff --git a/engines/lure/sound.h b/engines/lure/sound.h
index 74b28c3..31e9827 100644
--- a/engines/lure/sound.h
+++ b/engines/lure/sound.h
@@ -68,7 +68,7 @@ private:
 public:
 	MidiMusic(MidiDriver *driver, ChannelEntry channels[NUM_CHANNELS],
 		 uint8 channelNum, uint8 soundNum, bool isMus, uint8 numChannels, void *soundData, uint32 size);
-	~MidiMusic();
+	~MidiMusic() override;
 	void setVolume(int volume);
 	int getVolume() const { return _volume; }
 
@@ -81,8 +81,8 @@ public:
 	void toggleVChange();
 
 	// MidiDriver_BASE interface implementation
-	virtual void send(uint32 b);
-	virtual void metaEvent(byte type, byte *data, uint16 length);
+	void send(uint32 b) override;
+	void metaEvent(byte type, byte *data, uint16 length) override;
 
 	void onTimer();
 
@@ -126,7 +126,7 @@ private:
 
 public:
 	SoundManager();
-	~SoundManager();
+	~SoundManager() override;
 
 	void saveToStream(Common::WriteStream *stream);
 	void loadFromStream(Common::ReadStream *stream);


Commit: 421af86d5a0dfc983040b497c5cce4ba1ba64373
    https://github.com/scummvm/scummvm/commit/421af86d5a0dfc983040b497c5cce4ba1ba64373
Author: Bastien Bouclet (bastien.bouclet at gmail.com)
Date: 2020-02-09T12:43:15+01:00

Commit Message:
MACVENTURE: Add override keywords

Changed paths:
    engines/macventure/dialog.h
    engines/macventure/macventure.h


diff --git a/engines/macventure/dialog.h b/engines/macventure/dialog.h
index 36f7a32..74d7e9b 100644
--- a/engines/macventure/dialog.h
+++ b/engines/macventure/dialog.h
@@ -99,31 +99,31 @@ protected:
 class DialogButton : public DialogElement {
 public:
 	DialogButton(Dialog *dialog, Common::String title, DialogAction action, Common::Point position, uint width = 0, uint height = 0);
-	~DialogButton() {}
+	~DialogButton() override {}
 
 private:
-	bool doProcessEvent(Dialog *dialog, Common::Event event);
-	void doDraw(MacVenture::Dialog *dialog, Graphics::ManagedSurface &target);
+	bool doProcessEvent(Dialog *dialog, Common::Event event) override;
+	void doDraw(MacVenture::Dialog *dialog, Graphics::ManagedSurface &target) override;
 };
 
 class DialogPlainText : public DialogElement {
 public:
 	DialogPlainText(Dialog *dialog, Common::String content, Common::Point position);
-	~DialogPlainText();
+	~DialogPlainText() override;
 
 private:
-	bool doProcessEvent(Dialog *dialog, Common::Event event);
-	void doDraw(MacVenture::Dialog *dialog, Graphics::ManagedSurface &target);
+	bool doProcessEvent(Dialog *dialog, Common::Event event) override;
+	void doDraw(MacVenture::Dialog *dialog, Graphics::ManagedSurface &target) override;
 };
 
 class DialogTextInput : public DialogElement {
 public:
 	DialogTextInput(Dialog *dialog, Common::Point position, uint width, uint height);
-	~DialogTextInput();
+	~DialogTextInput() override;
 
 private:
-	bool doProcessEvent(Dialog *dialog, Common::Event event);
-	void doDraw(MacVenture::Dialog *dialog, Graphics::ManagedSurface &target);
+	bool doProcessEvent(Dialog *dialog, Common::Event event) override;
+	void doDraw(MacVenture::Dialog *dialog, Graphics::ManagedSurface &target) override;
 };
 
 } // End of namespace MacVenture
diff --git a/engines/macventure/macventure.h b/engines/macventure/macventure.h
index 98d4230..f0fdaf6 100644
--- a/engines/macventure/macventure.h
+++ b/engines/macventure/macventure.h
@@ -190,17 +190,17 @@ class MacVentureEngine : public Engine {
 
 public:
 	MacVentureEngine(OSystem *syst, const ADGameDescription *gameDesc);
-	~MacVentureEngine();
+	~MacVentureEngine() override;
 
-	virtual bool hasFeature(EngineFeature f) const override;
+	bool hasFeature(EngineFeature f) const override;
 
-	virtual Common::Error run() override;
+	Common::Error run() override;
 
 	bool scummVMSaveLoadDialog(bool isSave);
 	bool canLoadGameStateCurrently() override;
 	bool canSaveGameStateCurrently() override;
-	virtual Common::Error loadGameState(int slot) override;
-	virtual Common::Error saveGameState(int slot, const Common::String &desc) override;
+	Common::Error loadGameState(int slot) override;
+	Common::Error saveGameState(int slot, const Common::String &desc) override;
 	void newGame();
 	void setInitialFlags();
 	void setNewGameState();
@@ -370,7 +370,7 @@ private: // Attributes
 class Console : public GUI::Debugger {
 public:
 	Console(MacVentureEngine *vm) {}
-	virtual ~Console(void) {}
+	~Console(void) override {}
 };
 } // End of namespace MacVenture
 


Commit: 53fdcfbf0ed49bdbbd6d28f6269d811b8af99325
    https://github.com/scummvm/scummvm/commit/53fdcfbf0ed49bdbbd6d28f6269d811b8af99325
Author: Bastien Bouclet (bastien.bouclet at gmail.com)
Date: 2020-02-09T12:43:15+01:00

Commit Message:
MADE: Add override keywords

Changed paths:
    engines/made/console.h
    engines/made/database.h
    engines/made/detection.cpp
    engines/made/made.h
    engines/made/music.h
    engines/made/resource.h


diff --git a/engines/made/console.h b/engines/made/console.h
index 9a1e0b2..ba26b34 100644
--- a/engines/made/console.h
+++ b/engines/made/console.h
@@ -32,7 +32,7 @@ class MadeEngine;
 class MadeConsole : public GUI::Debugger {
 public:
 	MadeConsole(MadeEngine *vm);
-	virtual ~MadeConsole(void);
+	~MadeConsole(void) override;
 
 private:
 	MadeEngine *_vm;
diff --git a/engines/made/database.h b/engines/made/database.h
index 57e9fec..761e2f2 100644
--- a/engines/made/database.h
+++ b/engines/made/database.h
@@ -72,39 +72,39 @@ protected:
 
 class ObjectV2 : public Object {
 public:
-	int load(Common::SeekableReadStream &source);
-	int load(byte *source);
-	int save(Common::WriteStream &dest);
-	uint16 getFlags();
-	uint16 getClass();
-	uint16 getSize();
-	byte getCount1();
-	byte getCount2();
-	byte *getData();
-
-	bool isConstant() {
+	int load(Common::SeekableReadStream &source) override;
+	int load(byte *source) override;
+	int save(Common::WriteStream &dest) override;
+	uint16 getFlags() override;
+	uint16 getClass() override;
+	uint16 getSize() override;
+	byte getCount1() override;
+	byte getCount2() override;
+	byte *getData() override;
+
+	bool isConstant() override {
 		return false;
 	}
 };
 
 class ObjectV1 : public ObjectV2 {
 public:
-	int load(Common::SeekableReadStream &source);
+	int load(Common::SeekableReadStream &source) override;
 };
 
 class ObjectV3 : public Object {
 public:
-	int load(Common::SeekableReadStream &source);
-	int load(byte *source);
-	int save(Common::WriteStream &dest);
-	uint16 getFlags();
-	uint16 getClass();
-	uint16 getSize();
-	byte getCount1();
-	byte getCount2();
-	byte *getData();
-
-	bool isConstant() {
+	int load(Common::SeekableReadStream &source) override;
+	int load(byte *source) override;
+	int save(Common::WriteStream &dest) override;
+	uint16 getFlags() override;
+	uint16 getClass() override;
+	uint16 getSize() override;
+	byte getCount1() override;
+	byte getCount2() override;
+	byte *getData() override;
+
+	bool isConstant() override {
 		return !(getFlags() & 1);
 	}
 
@@ -167,31 +167,31 @@ protected:
 class GameDatabaseV2 : public GameDatabase {
 public:
 	GameDatabaseV2(MadeEngine *vm);
-	~GameDatabaseV2();
-	int16 *findObjectProperty(int16 objectIndex, int16 propertyId, int16 &propertyFlag);
-	const char *getString(uint16 offset);
-	bool getSavegameDescription(const char *filename, Common::String &description, int16 version);
-	int16 savegame(const char *filename, const char *description, int16 version);
-	int16 loadgame(const char *filename, int16 version);
+	~GameDatabaseV2() override;
+	int16 *findObjectProperty(int16 objectIndex, int16 propertyId, int16 &propertyFlag) override;
+	const char *getString(uint16 offset) override;
+	bool getSavegameDescription(const char *filename, Common::String &description, int16 version) override;
+	int16 savegame(const char *filename, const char *description, int16 version) override;
+	int16 loadgame(const char *filename, int16 version) override;
 protected:
 	char *_gameText;
-	void load(Common::SeekableReadStream &sourceS);
-	void reloadFromStream(Common::SeekableReadStream &sourceS);
+	void load(Common::SeekableReadStream &sourceS) override;
+	void reloadFromStream(Common::SeekableReadStream &sourceS) override;
 };
 
 class GameDatabaseV3 : public GameDatabase {
 public:
 	GameDatabaseV3(MadeEngine *vm);
-	int16 *findObjectProperty(int16 objectIndex, int16 propertyId, int16 &propertyFlag);
-	const char *getString(uint16 offset);
-	bool getSavegameDescription(const char *filename, Common::String &description, int16 version);
-	int16 savegame(const char *filename, const char *description, int16 version);
-	int16 loadgame(const char *filename, int16 version);
+	int16 *findObjectProperty(int16 objectIndex, int16 propertyId, int16 &propertyFlag) override;
+	const char *getString(uint16 offset) override;
+	bool getSavegameDescription(const char *filename, Common::String &description, int16 version) override;
+	int16 savegame(const char *filename, const char *description, int16 version) override;
+	int16 loadgame(const char *filename, int16 version) override;
 protected:
 	char *_gameText;
 	uint32 _gameStateOffs;
-	void load(Common::SeekableReadStream &sourceS);
-	void reloadFromStream(Common::SeekableReadStream &sourceS);
+	void load(Common::SeekableReadStream &sourceS) override;
+	void reloadFromStream(Common::SeekableReadStream &sourceS) override;
 };
 
 } // End of namespace Made
diff --git a/engines/made/detection.cpp b/engines/made/detection.cpp
index a41f132..e399f4e 100644
--- a/engines/made/detection.cpp
+++ b/engines/made/detection.cpp
@@ -62,16 +62,16 @@ public:
 		return "made";
 	}
 
-	virtual const char *getName() const override {
+	const char *getName() const override {
 		return "MADE";
 	}
 
-	virtual const char *getOriginalCopyright() const override {
+	const char *getOriginalCopyright() const override {
 		return "MADE Engine (C) Activision";
 	}
 
-	virtual bool hasFeature(MetaEngineFeature f) const override;
-	virtual bool createInstance(OSystem *syst, Engine **engine, const ADGameDescription *desc) const override;
+	bool hasFeature(MetaEngineFeature f) const override;
+	bool createInstance(OSystem *syst, Engine **engine, const ADGameDescription *desc) const override;
 
 	ADDetectedGame fallbackDetect(const FileMap &allFiles, const Common::FSList &fslist) const override;
 
diff --git a/engines/made/made.h b/engines/made/made.h
index 3f0db65..2aea976 100644
--- a/engines/made/made.h
+++ b/engines/made/made.h
@@ -72,16 +72,16 @@ class MadeEngine : public ::Engine {
 protected:
 
 	// Engine APIs
-	virtual Common::Error run() override;
+	Common::Error run() override;
 
 public:
 	MadeEngine(OSystem *syst, const MadeGameDescription *gameDesc);
-	virtual ~MadeEngine();
+	~MadeEngine() override;
 
-	virtual bool hasFeature(EngineFeature f) const override;
-	virtual void syncSoundSettings() override;
+	bool hasFeature(EngineFeature f) const override;
+	void syncSoundSettings() override;
 
-	virtual GUI::Debugger *getDebugger() override;
+	GUI::Debugger *getDebugger() override;
 
 	Common::RandomSource *_rnd;
 	const MadeGameDescription *_gameDescription;
diff --git a/engines/made/music.h b/engines/made/music.h
index 558b41c..4327b79 100644
--- a/engines/made/music.h
+++ b/engines/made/music.h
@@ -43,11 +43,11 @@ public:
 	void playXMIDI(GenericResource *midiResource, MusicFlags flags = MUSIC_NORMAL);
 	void playSMF(GenericResource *midiResource, MusicFlags flags = MUSIC_NORMAL);
 //	void stop();
-	void pause();
-	void resume();
+	void pause() override;
+	void resume() override;
 
 	// MidiDriver_BASE interface implementation
-	virtual void send(uint32 b);
+	void send(uint32 b) override;
 
 protected:
 	bool _isGM;
diff --git a/engines/made/resource.h b/engines/made/resource.h
index c573ec7..4ad54ae 100644
--- a/engines/made/resource.h
+++ b/engines/made/resource.h
@@ -78,7 +78,7 @@ public:
 class PictureResource : public Resource {
 public:
 	PictureResource();
-	virtual ~PictureResource();
+	~PictureResource() override;
 	void load(byte *source, int size);
 	Graphics::Surface *getPicture() const { return _picture; }
 	byte *getPalette() const { return _picturePalette; }
@@ -96,7 +96,7 @@ protected:
 class AnimationResource : public Resource {
 public:
 	AnimationResource();
-	virtual ~AnimationResource();
+	~AnimationResource() override;
 	void load(byte *source, int size);
 	int getCount() const { return _frames.size(); }
 	Graphics::Surface *getFrame(int index) const {
@@ -119,7 +119,7 @@ protected:
 class SoundResource : public Resource {
 public:
 	SoundResource();
-	virtual ~SoundResource();
+	~SoundResource() override;
 	virtual void load(byte *source, int size);
 	Audio::AudioStream *getAudioStream(int soundRate, bool loop = false);
 	SoundEnergyArray *getSoundEnergyArray() const { return _soundEnergyArray; }
@@ -132,14 +132,14 @@ protected:
 class SoundResourceV1 : public SoundResource {
 public:
 	SoundResourceV1() {}
-	virtual ~SoundResourceV1() {}
-	void load(byte *source, int size);
+	~SoundResourceV1() override {}
+	void load(byte *source, int size) override;
 };
 
 class MenuResource : public Resource {
 public:
 	MenuResource();
-	virtual ~MenuResource();
+	~MenuResource() override;
 	void load(byte *source, int size);
 	int getCount() const { return _strings.size(); }
 	const char *getString(uint index) const;
@@ -150,7 +150,7 @@ protected:
 class FontResource : public Resource {
 public:
 	FontResource();
-	virtual ~FontResource();
+	~FontResource() override;
 	void load(byte *source, int size);
 	int getHeight() const;
 	int getCharWidth(uint c) const;
@@ -165,7 +165,7 @@ protected:
 class GenericResource : public Resource {
 public:
 	GenericResource();
-	virtual ~GenericResource();
+	~GenericResource() override;
 	void load(byte *source, int size);
 	byte *getData() const { return _data; }
 	int getSize() const { return _size; }


Commit: 5aef420e172f37f8dae2120147cc54bf0877ebe8
    https://github.com/scummvm/scummvm/commit/5aef420e172f37f8dae2120147cc54bf0877ebe8
Author: Bastien Bouclet (bastien.bouclet at gmail.com)
Date: 2020-02-09T12:43:15+01:00

Commit Message:
MADS: Add override keywords

Changed paths:
    engines/mads/debugger.h
    engines/mads/detection.cpp
    engines/mads/dialogs.h
    engines/mads/dragonsphere/dragonsphere_scenes.h
    engines/mads/dragonsphere/dragonsphere_scenes1.h
    engines/mads/dragonsphere/game_dragonsphere.h
    engines/mads/mads.h
    engines/mads/menu_views.h
    engines/mads/msurface.h
    engines/mads/nebular/dialogs_nebular.h
    engines/mads/nebular/game_nebular.h
    engines/mads/nebular/menu_nebular.h
    engines/mads/nebular/nebular_scenes.h
    engines/mads/nebular/nebular_scenes1.h
    engines/mads/nebular/nebular_scenes2.h
    engines/mads/nebular/nebular_scenes3.h
    engines/mads/nebular/nebular_scenes4.h
    engines/mads/nebular/nebular_scenes5.h
    engines/mads/nebular/nebular_scenes6.h
    engines/mads/nebular/nebular_scenes7.h
    engines/mads/nebular/nebular_scenes8.h
    engines/mads/nebular/sound_nebular.h
    engines/mads/phantom/game_phantom.h
    engines/mads/phantom/phantom_scenes.h
    engines/mads/phantom/phantom_scenes1.h
    engines/mads/phantom/phantom_scenes2.h
    engines/mads/phantom/phantom_scenes3.h
    engines/mads/phantom/phantom_scenes4.h
    engines/mads/phantom/phantom_scenes5.h
    engines/mads/resources.cpp
    engines/mads/screen.h
    engines/mads/sprites.h
    engines/mads/user_interface.h


diff --git a/engines/mads/debugger.h b/engines/mads/debugger.h
index f6b58ac..8747d64 100644
--- a/engines/mads/debugger.h
+++ b/engines/mads/debugger.h
@@ -56,7 +56,7 @@ public:
 	bool _showMousePos;
 public:
 	Debugger(MADSEngine *vm);
-	virtual ~Debugger() {}
+	~Debugger() override {}
 };
 
 } // End of namespace MADS
diff --git a/engines/mads/detection.cpp b/engines/mads/detection.cpp
index a56b303c..d2e57d6 100644
--- a/engines/mads/detection.cpp
+++ b/engines/mads/detection.cpp
@@ -159,23 +159,23 @@ public:
 		_maxScanDepth = 3;
 	}
 
-	virtual const char *getEngineId() const override {
+	const char *getEngineId() const override {
 		return "mads";
 	}
 
-	virtual const char *getName() const override {
+	const char *getName() const override {
 		return "MADS";
 	}
 
-	virtual const char *getOriginalCopyright() const override {
+	const char *getOriginalCopyright() const override {
 		return "MADS (C) Microprose";
 	}
 
-	virtual bool hasFeature(MetaEngineFeature f) const override;
-	virtual bool createInstance(OSystem *syst, Engine **engine, const ADGameDescription *desc) const override;
-	virtual SaveStateList listSaves(const char *target) const override;
-	virtual int getMaximumSaveSlot() const override;
-	virtual void removeSaveState(const char *target, int slot) const override;
+	bool hasFeature(MetaEngineFeature f) const override;
+	bool createInstance(OSystem *syst, Engine **engine, const ADGameDescription *desc) const override;
+	SaveStateList listSaves(const char *target) const override;
+	int getMaximumSaveSlot() const override;
+	void removeSaveState(const char *target, int slot) const override;
 	SaveStateDescriptor querySaveMetaInfos(const char *target, int slot) const override;
 };
 
diff --git a/engines/mads/dialogs.h b/engines/mads/dialogs.h
index e2db2d8..d0eab9f 100644
--- a/engines/mads/dialogs.h
+++ b/engines/mads/dialogs.h
@@ -134,7 +134,7 @@ protected:
 	/**
 	 * Calculate the bounds for the dialog
 	 */
-	virtual void calculateBounds();
+	void calculateBounds() override;
 public:
 	/**
 	 * Constructor
@@ -160,12 +160,12 @@ public:
 	/**
 	 * Destructor
 	 */
-	virtual ~TextDialog();
+	~TextDialog() override;
 
 	/**
 	 * Draw the dialog
 	 */
-	virtual void draw();
+	void draw() override;
 
 	/**
 	 * Draw the dialog along with any input box
@@ -224,7 +224,7 @@ class MessageDialog : public TextDialog {
 public:
 	MessageDialog(MADSEngine *vm, int lines, ...);
 
-	virtual ~MessageDialog() {}
+	~MessageDialog() override {}
 };
 
 enum DialogId {
@@ -286,7 +286,7 @@ public:
 	 */
 	FullScreenDialog(MADSEngine *vm);
 
-	virtual ~FullScreenDialog();
+	~FullScreenDialog() override;
 };
 
 } // End of namespace MADS
diff --git a/engines/mads/dragonsphere/dragonsphere_scenes.h b/engines/mads/dragonsphere/dragonsphere_scenes.h
index 22d894b..93c3773 100644
--- a/engines/mads/dragonsphere/dragonsphere_scenes.h
+++ b/engines/mads/dragonsphere/dragonsphere_scenes.h
@@ -647,9 +647,9 @@ public:
 class SceneInfoDragonsphere : public SceneInfo {
 	friend class SceneInfo;
 protected:
-	virtual void loadCodes(BaseSurface &depthSurface, int variant);
+	void loadCodes(BaseSurface &depthSurface, int variant) override;
 
-	virtual void loadCodes(BaseSurface &depthSurface, Common::SeekableReadStream *stream);
+	void loadCodes(BaseSurface &depthSurface, Common::SeekableReadStream *stream) override;
 
 	/**
 	* Constructor
@@ -664,9 +664,9 @@ public:
 		warning("Unimplemented scene");
 	}
 
-	virtual void setup() {}
-	virtual void enter() {}
-	virtual void actions() {}
+	void setup() override {}
+	void enter() override {}
+	void actions() override {}
 };
 
 } // End of namespace Dragonsphere
diff --git a/engines/mads/dragonsphere/dragonsphere_scenes1.h b/engines/mads/dragonsphere/dragonsphere_scenes1.h
index e9f7132..4c39833 100644
--- a/engines/mads/dragonsphere/dragonsphere_scenes1.h
+++ b/engines/mads/dragonsphere/dragonsphere_scenes1.h
@@ -56,13 +56,13 @@ public:
 class Scene101 : public Scene1xx {
 public:
 	Scene101(MADSEngine *vm);
-	virtual void synchronize(Common::Serializer &s);
+	void synchronize(Common::Serializer &s) override;
 
-	virtual void setup();
-	virtual void enter();
-	virtual void step();
-	virtual void preActions();
-	virtual void actions();
+	void setup() override;
+	void enter() override;
+	void step() override;
+	void preActions() override;
+	void actions() override;
 };
 
 class Scene102 : public Scene1xx {
@@ -74,25 +74,25 @@ private:
 
 public:
 	Scene102(MADSEngine *vm);
-	virtual void synchronize(Common::Serializer &s);
+	void synchronize(Common::Serializer &s) override;
 
-	virtual void setup();
-	virtual void enter();
-	virtual void step();
-	virtual void preActions();
-	virtual void actions();
+	void setup() override;
+	void enter() override;
+	void step() override;
+	void preActions() override;
+	void actions() override;
 };
 
 class Scene103 : public Scene1xx {
 public:
 	Scene103(MADSEngine *vm);
-	virtual void synchronize(Common::Serializer &s);
+	void synchronize(Common::Serializer &s) override;
 
-	virtual void setup();
-	virtual void enter();
-	virtual void step();
-	virtual void preActions();
-	virtual void actions();
+	void setup() override;
+	void enter() override;
+	void step() override;
+	void preActions() override;
+	void actions() override;
 };
 
 class Scene104 : public Scene1xx {
@@ -143,13 +143,13 @@ private:
 
 public:
 	Scene104(MADSEngine *vm);
-	virtual void synchronize(Common::Serializer &s);
+	void synchronize(Common::Serializer &s) override;
 
-	virtual void setup();
-	virtual void enter();
-	virtual void step();
-	virtual void preActions();
-	virtual void actions();
+	void setup() override;
+	void enter() override;
+	void step() override;
+	void preActions() override;
+	void actions() override;
 };
 
 class Scene105 : public Scene1xx {
@@ -173,13 +173,13 @@ private:
 
 public:
 	Scene105(MADSEngine *vm);
-	virtual void synchronize(Common::Serializer &s);
+	void synchronize(Common::Serializer &s) override;
 
-	virtual void setup();
-	virtual void enter();
-	virtual void step();
-	virtual void preActions();
-	virtual void actions();
+	void setup() override;
+	void enter() override;
+	void step() override;
+	void preActions() override;
+	void actions() override;
 };
 
 } // End of namespace Dragonsphere
diff --git a/engines/mads/dragonsphere/game_dragonsphere.h b/engines/mads/dragonsphere/game_dragonsphere.h
index b9eb86a..6bd6d5d 100644
--- a/engines/mads/dragonsphere/game_dragonsphere.h
+++ b/engines/mads/dragonsphere/game_dragonsphere.h
@@ -93,26 +93,26 @@ class GameDragonsphere : public Game {
 protected:
 	GameDragonsphere(MADSEngine *vm);
 
-	virtual void startGame();
+	void startGame() override;
 
-	virtual void initializeGlobals();
+	void initializeGlobals() override;
 
-	virtual void setSectionHandler();
+	void setSectionHandler() override;
 
-	virtual void checkShowDialog();
+	void checkShowDialog() override;
 public:
 	DragonsphereGlobals _globals;
 	StoryMode _storyMode;
 
-	virtual Globals &globals() { return _globals; }
+	Globals &globals() override { return _globals; }
 
-	virtual void doObjectAction();
+	void doObjectAction() override;
 
-	virtual void unhandledAction();
+	void unhandledAction() override;
 
-	virtual void step();
+	void step() override;
 
-	virtual void synchronize(Common::Serializer &s, bool phase1);
+	void synchronize(Common::Serializer &s, bool phase1) override;
 };
 
 
@@ -121,9 +121,9 @@ public:
 	Section1Handler(MADSEngine *vm) : SectionHandler(vm) {}
 
 	// TODO: Properly implement handler methods
-	virtual void preLoadSection() {}
-	virtual void sectionPtr2() {}
-	virtual void postLoadSection() {}
+	void preLoadSection() override {}
+	void sectionPtr2() override {}
+	void postLoadSection() override {}
 };
 
 // TODO: Properly implement handler classes
diff --git a/engines/mads/mads.h b/engines/mads/mads.h
index 327fe05..2401195 100644
--- a/engines/mads/mads.h
+++ b/engines/mads/mads.h
@@ -89,8 +89,8 @@ private:
 	void loadOptions();
 protected:
 	// Engine APIs
-	virtual Common::Error run() override;
-	virtual bool hasFeature(EngineFeature f) const override;
+	Common::Error run() override;
+	bool hasFeature(EngineFeature f) const override;
 public:
 	Debugger *_debugger;
 	Dialogs *_dialogs;
@@ -113,7 +113,7 @@ public:
 	bool _disableFastwalk;
 public:
 	MADSEngine(OSystem *syst, const MADSGameDescription *gameDesc);
-	virtual ~MADSEngine();
+	~MADSEngine() override;
 
 	uint32 getFeatures() const;
 	Common::Language getLanguage() const;
@@ -145,17 +145,17 @@ public:
 	/**
 	 * Handles loading a game via the GMM
 	 */
-	virtual Common::Error loadGameState(int slot) override;
+	Common::Error loadGameState(int slot) override;
 
 	/**
 	 * Handles saving the game via the GMM
 	 */
-	virtual Common::Error saveGameState(int slot, const Common::String &desc) override;
+	Common::Error saveGameState(int slot, const Common::String &desc) override;
 
 	/**
 	 * Handles updating sound settings after they're changed in the GMM dialog
 	 */
-	virtual void syncSoundSettings() override;
+	void syncSoundSettings() override;
 
 	void saveOptions();
 };
diff --git a/engines/mads/menu_views.h b/engines/mads/menu_views.h
index e22b622..0383206 100644
--- a/engines/mads/menu_views.h
+++ b/engines/mads/menu_views.h
@@ -40,16 +40,16 @@ protected:
 
 	virtual void doFrame() = 0;
 
-	virtual void display();
+	void display() override;
 
 	/**
 	* Event handler
 	*/
-	virtual bool onEvent(Common::Event &event);
+	bool onEvent(Common::Event &event) override;
 public:
 	MenuView(MADSEngine *vm);
 
-	virtual ~MenuView() {}
+	~MenuView() override {}
 
 	virtual void show();
 
@@ -114,9 +114,9 @@ private:
 	 */
 	void resetPalette();
 protected:
-	virtual void display();
+	void display() override;
 
-	virtual void doFrame();
+	void doFrame() override;
 
 	/**
 	 * Called when the script is finished
@@ -130,7 +130,7 @@ public:
 
 	TextView(MADSEngine *vm);
 
-	virtual ~TextView();
+	~TextView() override;
 };
 
 enum ResyncMode { NEVER, ALWAYS, BEGINNING };
@@ -210,11 +210,11 @@ private:
 
 	void scroll();
 protected:
-	virtual void display();
+	void display() override;
 
-	virtual void doFrame();
+	void doFrame() override;
 
-	virtual bool onEvent(Common::Event &event);
+	bool onEvent(Common::Event &event) override;
 
 	virtual void scriptDone();
 public:
@@ -225,7 +225,7 @@ public:
 
 	AnimationView(MADSEngine *vm);
 
-	virtual ~AnimationView();
+	~AnimationView() override;
 };
 
 } // End of namespace MADS
diff --git a/engines/mads/msurface.h b/engines/mads/msurface.h
index 5b5a1d6..4f4071d 100644
--- a/engines/mads/msurface.h
+++ b/engines/mads/msurface.h
@@ -86,7 +86,7 @@ public:
 	/**
 	 * Destructor
 	 */
-	virtual ~BaseSurface() {}
+	~BaseSurface() override {}
 
 	/**
 	 * Return a rect containing the bounds of the surface
@@ -175,7 +175,7 @@ protected:
 	 * Override the addDirtyRect from Graphics::Screen, since for standard
 	 * surfaces we don't need dirty rects to be tracked
 	 */
-	virtual void addDirtyRect(const Common::Rect &r) {}
+	void addDirtyRect(const Common::Rect &r) override {}
 public:
 	MSurface() : BaseSurface() {}
 	MSurface(int width, int height) : BaseSurface(width, height) {}
diff --git a/engines/mads/nebular/dialogs_nebular.h b/engines/mads/nebular/dialogs_nebular.h
index 4935ee4..b7ca583 100644
--- a/engines/mads/nebular/dialogs_nebular.h
+++ b/engines/mads/nebular/dialogs_nebular.h
@@ -41,7 +41,7 @@ private:
 
 	DialogsNebular(MADSEngine *vm): Dialogs(vm), _capitalizationMode(kUppercase), _dialogWidth(0) {}
 
-	virtual Common::String getVocab(int vocabId);
+	Common::String getVocab(int vocabId) override;
 
 	bool textNoun(Common::String &dest, int nounId, const Common::String &source);
 
@@ -51,11 +51,11 @@ private:
 	void showScummVMRestoreDialog();
 
 public:
-	virtual void showDialog();
+	void showDialog() override;
 
-	virtual void showItem(int objectId, int messageId, int speech = -1);
+	void showItem(int objectId, int messageId, int speech = -1) override;
 
-	virtual bool show(int messageId, int objectId = -1);
+	bool show(int messageId, int objectId = -1) override;
 };
 
 struct HOGANUS {
@@ -84,7 +84,7 @@ public:
 	/**
 	 * Show the dialog
 	 */
-	virtual void show();
+	void show() override;
 
 	bool isCorrectAnswer();
 };
@@ -97,13 +97,13 @@ private:
 	uint32 _palFlags[PALETTE_COUNT];
 	RGBList _rgbList;
 protected:
-	virtual void save();
+	void save() override;
 
-	virtual void restore();
+	void restore() override;
 public:
 	PictureDialog(MADSEngine *vm, const Common::Point &pos, int maxChars, int objectId);
 
-	virtual ~PictureDialog();
+	~PictureDialog() override;
 };
 
 enum DialogTextAlign { ALIGN_NONE = 0, ALIGN_CENTER = -1, ALIGN_AT_CENTER = -2, ALIGN_RIGHT = -3 };
@@ -137,7 +137,7 @@ protected:
 	/**
 	 * Display the dialog
 	 */
-	virtual void display();
+	void display() override;
 
 	/**
 	 * Reset the lines list for the dialog
@@ -192,7 +192,7 @@ public:
 	/**
 	 * Destructor
 	 */
-	virtual ~GameDialog();
+	~GameDialog() override;
 
 	/**
 	 * Show the dialog
@@ -212,12 +212,12 @@ public:
 	/**
 	 * Display the dialog
 	 */
-	virtual void display();
+	void display() override;
 
 	/**
 	* Show the dialog
 	*/
-	virtual void show();
+	void show() override;
 };
 
 class GameMenuDialog : public GameDialog {
@@ -232,12 +232,12 @@ public:
 	/**
 	* Display the dialog
 	*/
-	virtual void display();
+	void display() override;
 
 	/**
 	* Show the dialog
 	*/
-	virtual void show();
+	void show() override;
 };
 
 class OptionsDialog : public GameDialog {
@@ -257,12 +257,12 @@ public:
 	/**
 	* Display the dialog
 	*/
-	virtual void display();
+	void display() override;
 
 	/**
 	* Show the dialog
 	*/
-	virtual void show();
+	void show() override;
 };
 
 } // End of namespace Nebular
diff --git a/engines/mads/nebular/game_nebular.h b/engines/mads/nebular/game_nebular.h
index 3cf7aef..3d0b314 100644
--- a/engines/mads/nebular/game_nebular.h
+++ b/engines/mads/nebular/game_nebular.h
@@ -108,32 +108,32 @@ private:
 protected:
 	GameNebular(MADSEngine *vm);
 
-	virtual void startGame();
+	void startGame() override;
 
-	virtual void initializeGlobals();
+	void initializeGlobals() override;
 
-	virtual void setSectionHandler();
+	void setSectionHandler() override;
 
-	virtual void checkShowDialog();
+	void checkShowDialog() override;
 public:
 	NebularGlobals _globals;
 	StoryMode _storyMode;
 	Difficulty _difficulty;
 
-	virtual Globals &globals() { return _globals; }
+	Globals &globals() override { return _globals; }
 
-	virtual void doObjectAction();
+	void doObjectAction() override;
 
 	void showRecipe();
 
-	virtual void unhandledAction();
+	void unhandledAction() override;
 
-	virtual void step();
+	void step() override;
 
-	virtual void synchronize(Common::Serializer &s, bool phase1);
+	void synchronize(Common::Serializer &s, bool phase1) override;
 
-	virtual void setNaughtyMode(bool naughtyMode) { _storyMode = naughtyMode ? STORYMODE_NAUGHTY : STORYMODE_NICE; }
-	virtual bool getNaughtyMode() const { return _storyMode == STORYMODE_NAUGHTY; }
+	void setNaughtyMode(bool naughtyMode) override { _storyMode = naughtyMode ? STORYMODE_NAUGHTY : STORYMODE_NICE; }
+	bool getNaughtyMode() const override { return _storyMode == STORYMODE_NAUGHTY; }
 };
 
 // Section handlers aren't needed in ScummVM implementation
@@ -141,9 +141,9 @@ class Section1Handler : public SectionHandler {
 public:
 	Section1Handler(MADSEngine *vm) : SectionHandler(vm) {}
 
-	virtual void preLoadSection() {}
-	virtual void sectionPtr2() {}
-	virtual void postLoadSection() {}
+	void preLoadSection() override {}
+	void sectionPtr2() override {}
+	void postLoadSection() override {}
 };
 
 typedef Section1Handler Section2Handler;
diff --git a/engines/mads/nebular/menu_nebular.h b/engines/mads/nebular/menu_nebular.h
index d44b5f2..ecde95b 100644
--- a/engines/mads/nebular/menu_nebular.h
+++ b/engines/mads/nebular/menu_nebular.h
@@ -99,21 +99,21 @@ protected:
 	/**
 	 * Display the menu
 	 */
-	virtual void display();
+	void display() override;
 
 	/**
 	 * Handle the menu item animations
 	 */
-	virtual void doFrame();
+	void doFrame() override;
 
 	/**
 	 * Event handler
 	 */
-	virtual bool onEvent(Common::Event &event);
+	bool onEvent(Common::Event &event) override;
 public:
 	MainMenu(MADSEngine *vm);
 
-	virtual ~MainMenu();
+	~MainMenu() override;
 };
 
 class AdvertView : public EventTarget {
@@ -131,11 +131,11 @@ protected:
 	/**
 	* Event handler
 	*/
-	virtual bool onEvent(Common::Event &event);
+	bool onEvent(Common::Event &event) override;
 public:
 	AdvertView(MADSEngine *vm);
 
-	virtual ~AdvertView() {}
+	~AdvertView() override {}
 
 	/**
 	 * Show the dialog
@@ -145,7 +145,7 @@ public:
 
 class RexAnimationView : public AnimationView {
 protected:
-	virtual void scriptDone();
+	void scriptDone() override;
 public:
 	RexAnimationView(MADSEngine *vm) : AnimationView(vm) {}
 };
diff --git a/engines/mads/nebular/nebular_scenes.h b/engines/mads/nebular/nebular_scenes.h
index b600c6d..298b32c 100644
--- a/engines/mads/nebular/nebular_scenes.h
+++ b/engines/mads/nebular/nebular_scenes.h
@@ -1373,9 +1373,9 @@ public:
 class SceneInfoNebular : public SceneInfo {
 	friend class SceneInfo;
 protected:
-	virtual void loadCodes(BaseSurface &depthSurface, int variant);
+	void loadCodes(BaseSurface &depthSurface, int variant) override;
 
-	virtual void loadCodes(BaseSurface &depthSurface, Common::SeekableReadStream *stream);
+	void loadCodes(BaseSurface &depthSurface, Common::SeekableReadStream *stream) override;
 
 	/**
 	* Constructor
diff --git a/engines/mads/nebular/nebular_scenes1.h b/engines/mads/nebular/nebular_scenes1.h
index d8c9059..24e2460 100644
--- a/engines/mads/nebular/nebular_scenes1.h
+++ b/engines/mads/nebular/nebular_scenes1.h
@@ -68,13 +68,13 @@ private:
 
 public:
 	Scene101(MADSEngine *vm);
-	virtual void synchronize(Common::Serializer &s);
+	void synchronize(Common::Serializer &s) override;
 
-	virtual void setup();
-	virtual void enter();
-	virtual void step();
-	virtual void preActions();
-	virtual void actions();
+	void setup() override;
+	void enter() override;
+	void step() override;
+	void preActions() override;
+	void actions() override;
 };
 
 class Scene102 : public Scene1xx {
@@ -92,14 +92,14 @@ private:
 
 public:
 	Scene102(MADSEngine *vm);
-	virtual void synchronize(Common::Serializer &s);
-
-	virtual void setup();
-	virtual void enter();
-	virtual void step();
-	virtual void preActions();
-	virtual void actions();
-	virtual void postActions();
+	void synchronize(Common::Serializer &s) override;
+
+	void setup() override;
+	void enter() override;
+	void step() override;
+	void preActions() override;
+	void actions() override;
+	void postActions() override;
 };
 
 class Scene103 : public Scene1xx {
@@ -108,13 +108,13 @@ private:
 
 public:
 	Scene103(MADSEngine *vm);
-	virtual void synchronize(Common::Serializer &s);
+	void synchronize(Common::Serializer &s) override;
 
-	virtual void setup();
-	virtual void enter();
-	virtual void step();
-	virtual void actions();
-	virtual void postActions();
+	void setup() override;
+	void enter() override;
+	void step() override;
+	void actions() override;
+	void postActions() override;
 };
 
 class Scene104 : public Scene1xx {
@@ -124,13 +124,13 @@ private:
 
 public:
 	Scene104(MADSEngine *vm);
-	virtual void synchronize(Common::Serializer &s);
+	void synchronize(Common::Serializer &s) override;
 
-	virtual void setup();
-	virtual void enter();
-	virtual void step();
-	virtual void preActions();
-	virtual void actions();
+	void setup() override;
+	void enter() override;
+	void step() override;
+	void preActions() override;
+	void actions() override;
 };
 
 class Scene105 : public Scene1xx {
@@ -139,13 +139,13 @@ private:
 
 public:
 	Scene105(MADSEngine *vm);
-	virtual void synchronize(Common::Serializer &s);
+	void synchronize(Common::Serializer &s) override;
 
-	virtual void setup();
-	virtual void enter();
-	virtual void step();
-	virtual void preActions();
-	virtual void actions();
+	void setup() override;
+	void enter() override;
+	void step() override;
+	void preActions() override;
+	void actions() override;
 };
 
 class Scene106 : public Scene1xx {
@@ -158,13 +158,13 @@ private:
 
 public:
 	Scene106(MADSEngine *vm);
-	virtual void synchronize(Common::Serializer &s);
+	void synchronize(Common::Serializer &s) override;
 
-	virtual void setup();
-	virtual void enter();
-	virtual void step();
-	virtual void preActions();
-	virtual void actions();
+	void setup() override;
+	void enter() override;
+	void step() override;
+	void preActions() override;
+	void actions() override;
 };
 
 class Scene107 : public Scene1xx {
@@ -173,23 +173,23 @@ private:
 
 public:
 	Scene107(MADSEngine *vm);
-	virtual void synchronize(Common::Serializer &s);
+	void synchronize(Common::Serializer &s) override;
 
-	virtual void setup();
-	virtual void enter();
-	virtual void step();
-	virtual void preActions();
-	virtual void actions();
+	void setup() override;
+	void enter() override;
+	void step() override;
+	void preActions() override;
+	void actions() override;
 };
 
 class Scene108 : public Scene1xx {
 public:
 	Scene108(MADSEngine *vm) : Scene1xx(vm) {}
 
-	virtual void setup();
-	virtual void enter();
-	virtual void preActions();
-	virtual void actions();
+	void setup() override;
+	void enter() override;
+	void preActions() override;
+	void actions() override;
 };
 
 class Scene109 : public Scene1xx {
@@ -206,13 +206,13 @@ private:
 
 public:
 	Scene109(MADSEngine *vm);
-	virtual void synchronize(Common::Serializer &s);
+	void synchronize(Common::Serializer &s) override;
 
-	virtual void setup();
-	virtual void enter();
-	virtual void step();
-	virtual void preActions();
-	virtual void actions();
+	void setup() override;
+	void enter() override;
+	void step() override;
+	void preActions() override;
+	void actions() override;
 };
 
 class Scene110 : public Scene1xx {
@@ -221,13 +221,13 @@ private:
 
 public:
 	Scene110(MADSEngine *vm);
-	virtual void synchronize(Common::Serializer &s);
+	void synchronize(Common::Serializer &s) override;
 
-	virtual void setup();
-	virtual void enter();
-	virtual void step();
-	virtual void preActions();
-	virtual void actions();
+	void setup() override;
+	void enter() override;
+	void step() override;
+	void preActions() override;
+	void actions() override;
 };
 
 class Scene111 : public Scene1xx {
@@ -239,23 +239,23 @@ private:
 
 public:
 	Scene111(MADSEngine *vm);
-	virtual void synchronize(Common::Serializer &s);
+	void synchronize(Common::Serializer &s) override;
 
-	virtual void setup();
-	virtual void enter();
-	virtual void step();
-	virtual void preActions();
-	virtual void actions();
+	void setup() override;
+	void enter() override;
+	void step() override;
+	void preActions() override;
+	void actions() override;
 };
 
 class Scene112 : public Scene1xx {
 public:
 	Scene112(MADSEngine *vm) : Scene1xx(vm) {}
 
-	virtual void setup();
-	virtual void enter();
-	virtual void step();
-	virtual void actions() {};
+	void setup() override;
+	void enter() override;
+	void step() override;
+	void actions() override {};
 };
 
 } // End of namespace Nebular
diff --git a/engines/mads/nebular/nebular_scenes2.h b/engines/mads/nebular/nebular_scenes2.h
index 0ea4702..8205ba6 100644
--- a/engines/mads/nebular/nebular_scenes2.h
+++ b/engines/mads/nebular/nebular_scenes2.h
@@ -55,12 +55,12 @@ private:
 
 public:
 	Scene201(MADSEngine *vm);
-	virtual void synchronize(Common::Serializer &s);
+	void synchronize(Common::Serializer &s) override;
 
-	virtual void setup();
-	virtual void enter();
-	virtual void step();
-	virtual void actions();
+	void setup() override;
+	void enter() override;
+	void step() override;
+	void actions() override;
 };
 
 class Scene202 : public Scene2xx {
@@ -77,13 +77,13 @@ private:
 
 public:
 	Scene202(MADSEngine *vm);
-	virtual void synchronize(Common::Serializer &s);
+	void synchronize(Common::Serializer &s) override;
 
-	virtual void setup();
-	virtual void enter();
-	virtual void step();
-	virtual void preActions();
-	virtual void actions();
+	void setup() override;
+	void enter() override;
+	void step() override;
+	void preActions() override;
+	void actions() override;
 
 	void setRandomKernelMessage();
 };
@@ -94,13 +94,13 @@ private:
 
 public:
 	Scene203(MADSEngine *vm);
-	virtual void synchronize(Common::Serializer &s);
+	void synchronize(Common::Serializer &s) override;
 
-	virtual void setup();
-	virtual void enter();
-	virtual void step();
-	virtual void preActions();
-	virtual void actions();
+	void setup() override;
+	void enter() override;
+	void step() override;
+	void preActions() override;
+	void actions() override;
 };
 
 class Scene205 : public Scene2xx {
@@ -114,12 +114,12 @@ private:
 
 public:
 	Scene205(MADSEngine *vm);
-	virtual void synchronize(Common::Serializer &s);
+	void synchronize(Common::Serializer &s) override;
 
-	virtual void setup();
-	virtual void enter();
-	virtual void step();
-	virtual void actions();
+	void setup() override;
+	void enter() override;
+	void step() override;
+	void actions() override;
 };
 
 class Scene207 : public Scene2xx {
@@ -133,13 +133,13 @@ private:
 
 public:
 	Scene207(MADSEngine *vm);
-	virtual void synchronize(Common::Serializer &s);
+	void synchronize(Common::Serializer &s) override;
 
-	virtual void setup();
-	virtual void enter();
-	virtual void step();
-	virtual void preActions();
-	virtual void actions();
+	void setup() override;
+	void enter() override;
+	void step() override;
+	void preActions() override;
+	void actions() override;
 };
 
 class Scene208 : public Scene2xx {
@@ -152,13 +152,13 @@ private:
 
 public:
 	Scene208(MADSEngine *vm);
-	virtual void synchronize(Common::Serializer &s);
+	void synchronize(Common::Serializer &s) override;
 
-	virtual void setup();
-	virtual void enter();
-	virtual void step();
-	virtual void preActions();
-	virtual void actions();
+	void setup() override;
+	void enter() override;
+	void step() override;
+	void preActions() override;
+	void actions() override;
 };
 
 class Scene209 : public Scene2xx {
@@ -198,13 +198,13 @@ private:
 
 public:
 	Scene209(MADSEngine *vm);
-	virtual void synchronize(Common::Serializer &s);
+	void synchronize(Common::Serializer &s) override;
 
-	virtual void setup();
-	virtual void enter();
-	virtual void step();
-	virtual void preActions();
-	virtual void actions();
+	void setup() override;
+	void enter() override;
+	void step() override;
+	void preActions() override;
+	void actions() override;
 };
 
 class Scene210 : public Scene2xx {
@@ -237,13 +237,13 @@ private:
 
 public:
 	Scene210(MADSEngine *vm);
-	virtual void synchronize(Common::Serializer &s);
+	void synchronize(Common::Serializer &s) override;
 
-	virtual void setup();
-	virtual void enter();
-	virtual void step();
-	virtual void preActions();
-	virtual void actions();
+	void setup() override;
+	void enter() override;
+	void step() override;
+	void preActions() override;
+	void actions() override;
 };
 
 class Scene211 : public Scene2xx {
@@ -254,33 +254,33 @@ private:
 
 public:
 	Scene211(MADSEngine *vm);
-	virtual void synchronize(Common::Serializer &s);
+	void synchronize(Common::Serializer &s) override;
 
-	virtual void setup();
-	virtual void enter();
-	virtual void step();
-	virtual void preActions();
-	virtual void actions();
+	void setup() override;
+	void enter() override;
+	void step() override;
+	void preActions() override;
+	void actions() override;
 };
 
 class Scene212 : public Scene2xx {
 public:
 	Scene212(MADSEngine *vm) : Scene2xx(vm) {}
-	virtual void setup();
-	virtual void enter();
-	virtual void step();
-	virtual void preActions();
-	virtual void actions();
+	void setup() override;
+	void enter() override;
+	void step() override;
+	void preActions() override;
+	void actions() override;
 };
 
 class Scene213 : public SceneTeleporter {
 public:
 	Scene213(MADSEngine *vm) : SceneTeleporter(vm) {}
 
-	virtual void setup();
-	virtual void enter();
-	virtual void step();
-	virtual void actions();
+	void setup() override;
+	void enter() override;
+	void step() override;
+	void actions() override;
 };
 
 class Scene214 : public Scene2xx {
@@ -290,32 +290,32 @@ private:
 
 public:
 	Scene214(MADSEngine *vm);
-	virtual void synchronize(Common::Serializer &s);
+	void synchronize(Common::Serializer &s) override;
 
-	virtual void setup();
-	virtual void enter();
-	virtual void step();
-	virtual void actions();
+	void setup() override;
+	void enter() override;
+	void step() override;
+	void actions() override;
 };
 
 class Scene215 : public Scene2xx {
 public:
 	Scene215(MADSEngine *vm) : Scene2xx(vm) {}
 
-	virtual void setup();
-	virtual void enter();
-	virtual void step();
-	virtual void actions();
+	void setup() override;
+	void enter() override;
+	void step() override;
+	void actions() override;
 };
 
 class Scene216 : public Scene2xx {
 public:
 	Scene216(MADSEngine *vm) : Scene2xx(vm) {}
 
-	virtual void setup();
-	virtual void enter();
-	virtual void step();
-	virtual void actions() {};
+	void setup() override;
+	void enter() override;
+	void step() override;
+	void actions() override {};
 };
 
 } // End of namespace Nebular
diff --git a/engines/mads/nebular/nebular_scenes3.h b/engines/mads/nebular/nebular_scenes3.h
index af75b14..d4288cf 100644
--- a/engines/mads/nebular/nebular_scenes3.h
+++ b/engines/mads/nebular/nebular_scenes3.h
@@ -78,23 +78,23 @@ protected:
 public:
 	Scene3xx(MADSEngine *vm) : NebularScene(vm) {}
 
-	virtual void actions() {}
+	void actions() override {}
 };
 
 class Scene300s : public Scene3xx {
 public:
 	Scene300s(MADSEngine *vm) : Scene3xx(vm) {}
 
-	virtual void preActions();
+	void preActions() override;
 };
 
 class Scene301 : public Scene3xx {
 public:
 	Scene301(MADSEngine *vm) : Scene3xx(vm) {}
 
-	virtual void setup();
-	virtual void enter();
-	virtual void step();
+	void setup() override;
+	void enter() override;
+	void step() override;
 };
 
 class Scene302 : public Scene3xx {
@@ -103,20 +103,20 @@ private:
 
 public:
 	Scene302(MADSEngine *vm);
-	virtual void synchronize(Common::Serializer &s);
+	void synchronize(Common::Serializer &s) override;
 
-	virtual void setup();
-	virtual void enter();
-	virtual void step();
+	void setup() override;
+	void enter() override;
+	void step() override;
 };
 
 class Scene303 : public Scene3xx {
 public:
 	Scene303(MADSEngine *vm) : Scene3xx(vm) {}
 
-	virtual void setup();
-	virtual void enter();
-	virtual void step();
+	void setup() override;
+	void enter() override;
+	void step() override;
 };
 
 class Scene304 : public Scene3xx {
@@ -125,11 +125,11 @@ private:
 
 public:
 	Scene304(MADSEngine *vm);
-	virtual void synchronize(Common::Serializer &s);
+	void synchronize(Common::Serializer &s) override;
 
-	virtual void setup();
-	virtual void enter();
-	virtual void step();
+	void setup() override;
+	void enter() override;
+	void step() override;
 };
 
 class Scene307 : public Scene3xx {
@@ -162,12 +162,12 @@ private:
 
 public:
 	Scene307(MADSEngine *vm);
-	virtual void synchronize(Common::Serializer &s);
+	void synchronize(Common::Serializer &s) override;
 
-	virtual void setup();
-	virtual void enter();
-	virtual void step();
-	virtual void actions();
+	void setup() override;
+	void enter() override;
+	void step() override;
+	void actions() override;
 };
 
 class Scene308 : public Scene3xx {
@@ -176,11 +176,11 @@ private:
 
 public:
 	Scene308(MADSEngine *vm);
-	virtual void synchronize(Common::Serializer &s);
+	void synchronize(Common::Serializer &s) override;
 
-	virtual void setup();
-	virtual void enter();
-	virtual void step();
+	void setup() override;
+	void enter() override;
+	void step() override;
 };
 
 class Scene309 : public Scene3xx {
@@ -192,11 +192,11 @@ private:
 
 public:
 	Scene309(MADSEngine *vm);
-	virtual void synchronize(Common::Serializer &s);
+	void synchronize(Common::Serializer &s) override;
 
-	virtual void setup();
-	virtual void enter();
-	virtual void step();
+	void setup() override;
+	void enter() override;
+	void step() override;
 };
 
 class Scene310 : public Scene3xx {
@@ -205,11 +205,11 @@ private:
 
 public:
 	Scene310(MADSEngine *vm);
-	virtual void synchronize(Common::Serializer &s);
+	void synchronize(Common::Serializer &s) override;
 
-	virtual void setup();
-	virtual void enter();
-	virtual void step();
+	void setup() override;
+	void enter() override;
+	void step() override;
 };
 
 class Scene311 : public Scene3xx {
@@ -218,21 +218,21 @@ private:
 
 public:
 	Scene311(MADSEngine *vm);
-	virtual void synchronize(Common::Serializer &s);
+	void synchronize(Common::Serializer &s) override;
 
-	virtual void setup();
-	virtual void enter();
-	virtual void step();
-	virtual void actions();
+	void setup() override;
+	void enter() override;
+	void step() override;
+	void actions() override;
 };
 
 class Scene313 : public Scene3xx {
 public:
 	Scene313(MADSEngine *vm) : Scene3xx(vm) {}
 
-	virtual void setup();
-	virtual void enter();
-	virtual void actions();
+	void setup() override;
+	void enter() override;
+	void actions() override;
 };
 
 class Scene316 : public Scene3xx {
@@ -243,11 +243,11 @@ private:
 public:
 	Scene316(MADSEngine *vm) : Scene3xx(vm) {}
 
-	virtual void setup();
-	virtual void enter();
-	virtual void step();
-	virtual void preActions();
-	virtual void actions();
+	void setup() override;
+	void enter() override;
+	void step() override;
+	void preActions() override;
+	void actions() override;
 };
 
 class Scene318 : public Scene3xx {
@@ -277,13 +277,13 @@ private:
 
 public:
 	Scene318(MADSEngine *vm);
-	virtual void synchronize(Common::Serializer &s);
+	void synchronize(Common::Serializer &s) override;
 
-	virtual void setup();
-	virtual void enter();
-	virtual void step();
-	virtual void preActions();
-	virtual void actions();
+	void setup() override;
+	void enter() override;
+	void step() override;
+	void preActions() override;
+	void actions() override;
 };
 
 class Scene319 : public Scene3xx {
@@ -306,12 +306,12 @@ private:
 	void handleSlacheDialogs(int quoteId, int counter, uint32 timer);
 public:
 	Scene319(MADSEngine *vm);
-	virtual void synchronize(Common::Serializer &s);
+	void synchronize(Common::Serializer &s) override;
 
-	virtual void setup();
-	virtual void enter();
-	virtual void step();
-	virtual void actions();
+	void setup() override;
+	void enter() override;
+	void step() override;
+	void actions() override;
 };
 
 class Scene320 : public Scene300s {
@@ -331,41 +331,41 @@ private:
 
 public:
 	Scene320(MADSEngine *vm);
-	virtual void synchronize(Common::Serializer &s);
+	void synchronize(Common::Serializer &s) override;
 
-	virtual void setup();
-	virtual void enter();
-	virtual void step();
-	virtual void actions();
+	void setup() override;
+	void enter() override;
+	void step() override;
+	void actions() override;
 };
 
 class Scene321 : public Scene3xx {
 public:
 	Scene321(MADSEngine *vm) : Scene3xx(vm) {}
 
-	virtual void setup();
-	virtual void enter();
-	virtual void step();
+	void setup() override;
+	void enter() override;
+	void step() override;
 };
 
 class Scene322 : public SceneTeleporter {
 public:
 	Scene322(MADSEngine *vm) : SceneTeleporter(vm) {}
 
-	virtual void setup();
-	virtual void enter();
-	virtual void step();
-	virtual void actions();
+	void setup() override;
+	void enter() override;
+	void step() override;
+	void actions() override;
 };
 
 class Scene351 : public Scene3xx {
 public:
 	Scene351(MADSEngine *vm) : Scene3xx(vm) {}
 
-	virtual void setup();
-	virtual void enter();
-	virtual void step();
-	virtual void actions();
+	void setup() override;
+	void enter() override;
+	void step() override;
+	void actions() override;
 };
 
 class Scene352 : public Scene3xx {
@@ -385,51 +385,51 @@ private:
 
 public:
 	Scene352(MADSEngine *vm);
-	virtual void synchronize(Common::Serializer &s);
+	void synchronize(Common::Serializer &s) override;
 
-	virtual void setup();
-	virtual void enter();
-	virtual void preActions();
-	virtual void actions();
+	void setup() override;
+	void enter() override;
+	void preActions() override;
+	void actions() override;
 };
 
 class Scene353 : public Scene3xx {
 public:
 	Scene353(MADSEngine *vm) : Scene3xx(vm) {}
 
-	virtual void setup();
-	virtual void enter();
-	virtual void actions();
+	void setup() override;
+	void enter() override;
+	void actions() override;
 };
 
 class Scene354 : public Scene3xx {
 public:
 	Scene354(MADSEngine *vm) : Scene3xx(vm) {}
 
-	virtual void setup();
-	virtual void enter();
-	virtual void preActions();
-	virtual void actions();
+	void setup() override;
+	void enter() override;
+	void preActions() override;
+	void actions() override;
 };
 
 class Scene357 : public Scene3xx {
 public:
 	Scene357(MADSEngine *vm) : Scene3xx(vm) {}
 
-	virtual void setup();
-	virtual void enter();
-	virtual void preActions();
-	virtual void actions();
+	void setup() override;
+	void enter() override;
+	void preActions() override;
+	void actions() override;
 };
 
 class Scene358 : public Scene3xx {
 public:
 	Scene358(MADSEngine *vm) : Scene3xx(vm) {}
 
-	virtual void setup();
-	virtual void enter();
-	virtual void preActions();
-	virtual void actions();
+	void setup() override;
+	void enter() override;
+	void preActions() override;
+	void actions() override;
 };
 
 class Scene359 : public Scene3xx {
@@ -438,22 +438,22 @@ private:
 
 public:
 	Scene359(MADSEngine *vm);
-	virtual void synchronize(Common::Serializer &s);
+	void synchronize(Common::Serializer &s) override;
 
-	virtual void setup();
-	virtual void enter();
-	virtual void preActions();
-	virtual void actions();
+	void setup() override;
+	void enter() override;
+	void preActions() override;
+	void actions() override;
 };
 
 class Scene360 : public Scene3xx {
 public:
 	Scene360(MADSEngine *vm) : Scene3xx(vm) {}
 
-	virtual void setup();
-	virtual void enter();
-	virtual void preActions();
-	virtual void actions();
+	void setup() override;
+	void enter() override;
+	void preActions() override;
+	void actions() override;
 };
 
 class Scene361 : public Scene3xx {
@@ -464,38 +464,38 @@ private:
 public:
 	Scene361(MADSEngine *vm) : Scene3xx(vm) {}
 
-	virtual void setup();
-	virtual void enter();
-	virtual void step();
-	virtual void preActions();
-	virtual void actions();
+	void setup() override;
+	void enter() override;
+	void step() override;
+	void preActions() override;
+	void actions() override;
 };
 
 class Scene366 : public Scene300s {
 public:
 	Scene366(MADSEngine *vm) : Scene300s(vm) {}
 
-	virtual void setup();
-	virtual void enter();
-	virtual void actions();
+	void setup() override;
+	void enter() override;
+	void actions() override;
 };
 
 class Scene387 : public Scene300s {
 public:
 	Scene387(MADSEngine *vm) : Scene300s(vm) {}
 
-	virtual void setup();
-	virtual void enter();
-	virtual void actions();
+	void setup() override;
+	void enter() override;
+	void actions() override;
 };
 
 class Scene388 : public Scene300s {
 public:
 	Scene388(MADSEngine *vm) : Scene300s(vm) {}
 
-	virtual void setup();
-	virtual void enter();
-	virtual void actions();
+	void setup() override;
+	void enter() override;
+	void actions() override;
 };
 
 class Scene389 : public Scene300s {
@@ -506,39 +506,39 @@ private:
 
 public:
 	Scene389(MADSEngine *vm);
-	virtual void synchronize(Common::Serializer &s);
+	void synchronize(Common::Serializer &s) override;
 
-	virtual void setup();
-	virtual void enter();
-	virtual void step();
-	virtual void actions();
+	void setup() override;
+	void enter() override;
+	void step() override;
+	void actions() override;
 };
 
 class Scene390 : public Scene300s {
 public:
 	Scene390(MADSEngine *vm) : Scene300s(vm) {}
 
-	virtual void setup();
-	virtual void enter();
-	virtual void actions();
+	void setup() override;
+	void enter() override;
+	void actions() override;
 };
 
 class Scene391 : public Scene300s {
 public:
 	Scene391(MADSEngine *vm) : Scene300s(vm) {}
 
-	virtual void setup();
-	virtual void enter();
-	virtual void actions();
+	void setup() override;
+	void enter() override;
+	void actions() override;
 };
 
 class Scene399 : public Scene300s {
 public:
 	Scene399(MADSEngine *vm) : Scene300s(vm) {}
 
-	virtual void setup();
-	virtual void enter();
-	virtual void actions();
+	void setup() override;
+	void enter() override;
+	void actions() override;
 };
 
 } // End of namespace Nebular
diff --git a/engines/mads/nebular/nebular_scenes4.h b/engines/mads/nebular/nebular_scenes4.h
index de11bd4..160cd7c 100644
--- a/engines/mads/nebular/nebular_scenes4.h
+++ b/engines/mads/nebular/nebular_scenes4.h
@@ -58,13 +58,13 @@ private:
 
 public:
 	Scene401(MADSEngine *vm);
-	void synchronize(Common::Serializer &s);
+	void synchronize(Common::Serializer &s) override;
 
-	virtual void setup();
-	virtual void enter();
-	virtual void step();
-	virtual void preActions();
-	virtual void actions();
+	void setup() override;
+	void enter() override;
+	void step() override;
+	void preActions() override;
+	void actions() override;
 };
 
 class Scene402 : public Scene4xx {
@@ -119,24 +119,24 @@ private:
 
 public:
 	Scene402(MADSEngine *vm);
-	void synchronize(Common::Serializer &s);
+	void synchronize(Common::Serializer &s) override;
 
-	virtual void setup();
-	virtual void enter();
-	virtual void step();
-	virtual void preActions();
-	virtual void actions();
+	void setup() override;
+	void enter() override;
+	void step() override;
+	void preActions() override;
+	void actions() override;
 };
 
 class Scene405 : public Scene4xx {
 public:
 	Scene405(MADSEngine *vm) : Scene4xx(vm) {}
 
-	virtual void setup();
-	virtual void enter();
-	virtual void step();
-	virtual void preActions();
-	virtual void actions();
+	void setup() override;
+	void enter() override;
+	void step() override;
+	void preActions() override;
+	void actions() override;
 };
 
 class Scene406 : public Scene4xx {
@@ -145,13 +145,13 @@ private:
 
 public:
 	Scene406(MADSEngine *vm);
-	void synchronize(Common::Serializer &s);
+	void synchronize(Common::Serializer &s) override;
 
-	virtual void setup();
-	virtual void enter();
-	virtual void step();
-	virtual void preActions();
-	virtual void actions();
+	void setup() override;
+	void enter() override;
+	void step() override;
+	void preActions() override;
+	void actions() override;
 };
 
 class Scene407 : public Scene4xx {
@@ -161,44 +161,44 @@ private:
 
 public:
 	Scene407(MADSEngine *vm);
-	void synchronize(Common::Serializer &s);
+	void synchronize(Common::Serializer &s) override;
 
-	virtual void setup();
-	virtual void enter();
-	virtual void step();
-	virtual void preActions();
-	virtual void actions();
+	void setup() override;
+	void enter() override;
+	void step() override;
+	void preActions() override;
+	void actions() override;
 };
 
 class Scene408 : public Scene4xx {
 public:
 	Scene408(MADSEngine *vm) : Scene4xx(vm) {}
 
-	virtual void setup();
-	virtual void enter();
-	virtual void preActions();
-	virtual void actions();
+	void setup() override;
+	void enter() override;
+	void preActions() override;
+	void actions() override;
 };
 
 class Scene409 : public SceneTeleporter {
 public:
 	Scene409(MADSEngine *vm) : SceneTeleporter(vm) {}
 
-	virtual void setup();
-	virtual void enter();
-	virtual void step();
-	virtual void actions();
+	void setup() override;
+	void enter() override;
+	void step() override;
+	void actions() override;
 };
 
 class Scene410 : public Scene4xx {
 public:
 	Scene410(MADSEngine *vm) : Scene4xx(vm) {}
 
-	virtual void setup();
-	virtual void enter();
-	virtual void step();
-	virtual void preActions();
-	virtual void actions();
+	void setup() override;
+	void enter() override;
+	void step() override;
+	void preActions() override;
+	void actions() override;
 };
 
 class Scene411 : public Scene4xx {
@@ -228,13 +228,13 @@ private:
 
 public:
 	Scene411(MADSEngine *vm);
-	void synchronize(Common::Serializer &s);
+	void synchronize(Common::Serializer &s) override;
 
-	virtual void setup();
-	virtual void enter();
-	virtual void step();
-	virtual void preActions();
-	virtual void actions();
+	void setup() override;
+	void enter() override;
+	void step() override;
+	void preActions() override;
+	void actions() override;
 };
 
 class Scene413 : public Scene4xx {
@@ -244,13 +244,13 @@ private:
 
 public:
 	Scene413(MADSEngine *vm);
-	void synchronize(Common::Serializer &s);
+	void synchronize(Common::Serializer &s) override;
 
-	virtual void setup();
-	virtual void enter();
-	virtual void step();
-	virtual void preActions();
-	virtual void actions();
+	void setup() override;
+	void enter() override;
+	void step() override;
+	void preActions() override;
+	void actions() override;
 };
 } // End of namespace Nebular
 } // End of namespace MADS
diff --git a/engines/mads/nebular/nebular_scenes5.h b/engines/mads/nebular/nebular_scenes5.h
index f314ae8..814307b 100644
--- a/engines/mads/nebular/nebular_scenes5.h
+++ b/engines/mads/nebular/nebular_scenes5.h
@@ -61,23 +61,23 @@ private:
 
 public:
 	Scene501(MADSEngine *vm);
-	void synchronize(Common::Serializer &s);
+	void synchronize(Common::Serializer &s) override;
 
-	virtual void setup();
-	virtual void enter();
-	virtual void step();
-	virtual void preActions();
-	virtual void actions();
+	void setup() override;
+	void enter() override;
+	void step() override;
+	void preActions() override;
+	void actions() override;
 };
 
 class Scene502 : public SceneTeleporter {
 public:
 	Scene502(MADSEngine *vm) : SceneTeleporter(vm) {}
 
-	virtual void setup();
-	virtual void enter();
-	virtual void step();
-	virtual void actions();
+	void setup() override;
+	void enter() override;
+	void step() override;
+	void actions() override;
 };
 
 class Scene503 : public Scene5xx{
@@ -86,11 +86,11 @@ private:
 
 public:
 	Scene503(MADSEngine *vm);
-	void synchronize(Common::Serializer &s);
+	void synchronize(Common::Serializer &s) override;
 
-	virtual void setup();
-	virtual void enter();
-	virtual void actions();
+	void setup() override;
+	void enter() override;
+	void actions() override;
 };
 
 class Scene504 : public Scene5xx{
@@ -100,13 +100,13 @@ private:
 
 public:
 	Scene504(MADSEngine *vm);
-	void synchronize(Common::Serializer &s);
+	void synchronize(Common::Serializer &s) override;
 
-	virtual void setup();
-	virtual void enter();
-	virtual void step();
-	virtual void preActions();
-	virtual void actions();
+	void setup() override;
+	void enter() override;
+	void step() override;
+	void preActions() override;
+	void actions() override;
 };
 
 class Scene505 : public Scene5xx{
@@ -121,12 +121,12 @@ private:
 
 public:
 	Scene505(MADSEngine *vm);
-	void synchronize(Common::Serializer &s);
+	void synchronize(Common::Serializer &s) override;
 
-	virtual void setup();
-	virtual void enter();
-	virtual void step();
-	virtual void actions();
+	void setup() override;
+	void enter() override;
+	void step() override;
+	void actions() override;
 };
 
 class Scene506 : public Scene5xx{
@@ -147,12 +147,12 @@ private:
 
 public:
 	Scene506(MADSEngine *vm);
-	void synchronize(Common::Serializer &s);
+	void synchronize(Common::Serializer &s) override;
 
-	virtual void setup();
-	virtual void enter();
-	virtual void step();
-	virtual void actions();
+	void setup() override;
+	void enter() override;
+	void step() override;
+	void actions() override;
 };
 
 class Scene507 : public Scene5xx{
@@ -161,11 +161,11 @@ private:
 
 public:
 	Scene507(MADSEngine *vm);
-	void synchronize(Common::Serializer &s);
+	void synchronize(Common::Serializer &s) override;
 
-	virtual void setup();
-	virtual void enter();
-	virtual void actions();
+	void setup() override;
+	void enter() override;
+	void actions() override;
 };
 
 class Scene508 : public Scene5xx{
@@ -176,12 +176,12 @@ private:
 
 public:
 	Scene508(MADSEngine *vm);
-	void synchronize(Common::Serializer &s);
+	void synchronize(Common::Serializer &s) override;
 
-	virtual void setup();
-	virtual void enter();
-	virtual void preActions();
-	virtual void actions();
+	void setup() override;
+	void enter() override;
+	void preActions() override;
+	void actions() override;
 };
 
 class Scene511 : public Scene5xx{
@@ -195,13 +195,13 @@ private:
 
 public:
 	Scene511(MADSEngine *vm);
-	void synchronize(Common::Serializer &s);
+	void synchronize(Common::Serializer &s) override;
 
-	virtual void setup();
-	virtual void enter();
-	virtual void step();
-	virtual void preActions();
-	virtual void actions();
+	void setup() override;
+	void enter() override;
+	void step() override;
+	void preActions() override;
+	void actions() override;
 };
 
 class Scene512 : public Scene5xx{
@@ -211,42 +211,42 @@ private:
 
 public:
 	Scene512(MADSEngine *vm);
-	void synchronize(Common::Serializer &s);
+	void synchronize(Common::Serializer &s) override;
 
-	virtual void setup();
-	virtual void enter();
-	virtual void actions();
+	void setup() override;
+	void enter() override;
+	void actions() override;
 };
 
 class Scene513 : public Scene5xx{
 public:
 	Scene513(MADSEngine *vm) : Scene5xx(vm) {}
 
-	virtual void setup();
-	virtual void enter();
-	virtual void step();
-	virtual void actions();
+	void setup() override;
+	void enter() override;
+	void step() override;
+	void actions() override;
 };
 
 class Scene515 : public Scene5xx{
 public:
 	Scene515(MADSEngine *vm) : Scene5xx(vm) {}
 
-	virtual void setup();
-	virtual void enter();
-	virtual void step();
-	virtual void actions() {};
+	void setup() override;
+	void enter() override;
+	void step() override;
+	void actions() override {};
 };
 
 class Scene551 : public Scene5xx{
 public:
 	Scene551(MADSEngine *vm) : Scene5xx(vm) {}
 
-	virtual void setup();
-	virtual void enter();
-	virtual void step();
-	virtual void preActions();
-	virtual void actions();
+	void setup() override;
+	void enter() override;
+	void step() override;
+	void preActions() override;
+	void actions() override;
 };
 } // End of namespace Nebular
 } // End of namespace MADS
diff --git a/engines/mads/nebular/nebular_scenes6.h b/engines/mads/nebular/nebular_scenes6.h
index 4fc4a2e..ba41d50 100644
--- a/engines/mads/nebular/nebular_scenes6.h
+++ b/engines/mads/nebular/nebular_scenes6.h
@@ -54,10 +54,10 @@ class Scene601 : public Scene6xx{
 public:
 	Scene601(MADSEngine *vm) : Scene6xx(vm) {}
 
-	virtual void setup();
-	virtual void enter();
-	virtual void step();
-	virtual void actions();
+	void setup() override;
+	void enter() override;
+	void step() override;
+	void actions() override;
 };
 
 class Scene602 : public Scene6xx{
@@ -71,11 +71,11 @@ private:
 
 public:
 	Scene602(MADSEngine *vm);
-	void synchronize(Common::Serializer &s);
+	void synchronize(Common::Serializer &s) override;
 
-	virtual void setup();
-	virtual void enter();
-	virtual void actions();
+	void setup() override;
+	void enter() override;
+	void actions() override;
 };
 
 class Scene603 : public Scene6xx{
@@ -85,11 +85,11 @@ private:
 
 public:
 	Scene603(MADSEngine *vm);
-	void synchronize(Common::Serializer &s);
+	void synchronize(Common::Serializer &s) override;
 
-	virtual void setup();
-	virtual void enter();
-	virtual void actions();
+	void setup() override;
+	void enter() override;
+	void actions() override;
 };
 
 class Scene604 : public Scene6xx{
@@ -107,22 +107,22 @@ private:
 
 public:
 	Scene604(MADSEngine *vm);
-	void synchronize(Common::Serializer &s);
+	void synchronize(Common::Serializer &s) override;
 
-	virtual void setup();
-	virtual void enter();
-	virtual void step();
-	virtual void actions();
+	void setup() override;
+	void enter() override;
+	void step() override;
+	void actions() override;
 };
 
 class Scene605 : public Scene6xx{
 public:
 	Scene605(MADSEngine *vm) : Scene6xx(vm) {}
 
-	virtual void setup();
-	virtual void enter();
-	virtual void step();
-	virtual void actions();
+	void setup() override;
+	void enter() override;
+	void step() override;
+	void actions() override;
 };
 
 class Scene607 : public Scene6xx{
@@ -143,13 +143,13 @@ private:
 
 public:
 	Scene607(MADSEngine *vm);
-	void synchronize(Common::Serializer &s);
+	void synchronize(Common::Serializer &s) override;
 
-	virtual void setup();
-	virtual void enter();
-	virtual void step();
-	virtual void preActions();
-	virtual void actions();
+	void setup() override;
+	void enter() override;
+	void step() override;
+	void preActions() override;
+	void actions() override;
 };
 
 class Scene608 : public Scene6xx{
@@ -191,13 +191,13 @@ private:
 
 public:
 	Scene608(MADSEngine *vm);
-	void synchronize(Common::Serializer &s);
+	void synchronize(Common::Serializer &s) override;
 
-	virtual void setup();
-	virtual void enter();
-	virtual void step();
-	virtual void preActions();
-	virtual void actions();
+	void setup() override;
+	void enter() override;
+	void step() override;
+	void preActions() override;
+	void actions() override;
 };
 
 class Scene609 : public Scene6xx{
@@ -208,13 +208,13 @@ private:
 
 public:
 	Scene609(MADSEngine *vm);
-	void synchronize(Common::Serializer &s);
+	void synchronize(Common::Serializer &s) override;
 
-	virtual void setup();
-	virtual void enter();
-	virtual void step();
-	virtual void preActions();
-	virtual void actions();
+	void setup() override;
+	void enter() override;
+	void step() override;
+	void preActions() override;
+	void actions() override;
 };
 
 class Scene610 : public Scene6xx{
@@ -229,12 +229,12 @@ private:
 
 public:
 	Scene610(MADSEngine *vm);
-	void synchronize(Common::Serializer &s);
+	void synchronize(Common::Serializer &s) override;
 
-	virtual void setup();
-	virtual void enter();
-	virtual void step();
-	virtual void actions();
+	void setup() override;
+	void enter() override;
+	void step() override;
+	void actions() override;
 };
 
 class Scene611 : public Scene6xx{
@@ -281,13 +281,13 @@ private:
 
 public:
 	Scene611(MADSEngine *vm);
-	void synchronize(Common::Serializer &s);
+	void synchronize(Common::Serializer &s) override;
 
-	virtual void setup();
-	virtual void enter();
-	virtual void step();
-	virtual void preActions();
-	virtual void actions();
+	void setup() override;
+	void enter() override;
+	void step() override;
+	void preActions() override;
+	void actions() override;
 };
 
 class Scene612 : public Scene6xx{
@@ -299,22 +299,22 @@ private:
 
 public:
 	Scene612(MADSEngine *vm);
-	void synchronize(Common::Serializer &s);
+	void synchronize(Common::Serializer &s) override;
 
-	virtual void setup();
-	virtual void enter();
-	virtual void step();
-	virtual void actions();
+	void setup() override;
+	void enter() override;
+	void step() override;
+	void actions() override;
 };
 
 class Scene620 : public Scene6xx{
 public:
 	Scene620(MADSEngine *vm) : Scene6xx(vm) {}
 
-	virtual void setup();
-	virtual void enter();
-	virtual void step();
-	virtual void actions() {};
+	void setup() override;
+	void enter() override;
+	void step() override;
+	void actions() override {};
 };
 } // End of namespace Nebular
 } // End of namespace MADS
diff --git a/engines/mads/nebular/nebular_scenes7.h b/engines/mads/nebular/nebular_scenes7.h
index b5aeba8..2bbc9de 100644
--- a/engines/mads/nebular/nebular_scenes7.h
+++ b/engines/mads/nebular/nebular_scenes7.h
@@ -56,23 +56,23 @@ private:
 
 public:
 	Scene701(MADSEngine *vm);
-	void synchronize(Common::Serializer &s);
+	void synchronize(Common::Serializer &s) override;
 
-	virtual void setup();
-	virtual void enter();
-	virtual void preActions();
-	virtual void actions();
-	virtual void step();
+	void setup() override;
+	void enter() override;
+	void preActions() override;
+	void actions() override;
+	void step() override;
 };
 
 class Scene702 : public Scene7xx {
 public:
 	Scene702(MADSEngine *vm) : Scene7xx(vm) {}
 
-	virtual void setup();
-	virtual void enter();
-	virtual void preActions();
-	virtual void actions();
+	void setup() override;
+	void enter() override;
+	void preActions() override;
+	void actions() override;
 };
 
 class Scene703 : public Scene7xx{
@@ -98,12 +98,12 @@ private:
 
 public:
 	Scene703(MADSEngine *vm);
-	void synchronize(Common::Serializer &s);
+	void synchronize(Common::Serializer &s) override;
 
-	virtual void setup();
-	virtual void enter();
-	virtual void step();
-	virtual void actions();
+	void setup() override;
+	void enter() override;
+	void step() override;
+	void actions() override;
 };
 
 class Scene704 : public Scene7xx{
@@ -123,12 +123,12 @@ private:
 
 public:
 	Scene704(MADSEngine *vm);
-	void synchronize(Common::Serializer &s);
+	void synchronize(Common::Serializer &s) override;
 
-	virtual void setup();
-	virtual void enter();
-	virtual void step();
-	virtual void actions();
+	void setup() override;
+	void enter() override;
+	void step() override;
+	void actions() override;
 };
 
 class Scene705 : public Scene7xx{
@@ -141,12 +141,12 @@ private:
 
 public:
 	Scene705(MADSEngine *vm) : Scene7xx(vm) {}
-	void synchronize(Common::Serializer &s);
+	void synchronize(Common::Serializer &s) override;
 
-	virtual void setup();
-	virtual void enter();
-	virtual void step();
-	virtual void actions();
+	void setup() override;
+	void enter() override;
+	void step() override;
+	void actions() override;
 };
 
 class Scene706 : public Scene7xx{
@@ -163,43 +163,43 @@ private:
 
 public:
 	Scene706(MADSEngine *vm);
-	void synchronize(Common::Serializer &s);
+	void synchronize(Common::Serializer &s) override;
 
-	virtual void setup();
-	virtual void enter();
-	virtual void step();
-	virtual void preActions();
-	virtual void actions();
+	void setup() override;
+	void enter() override;
+	void step() override;
+	void preActions() override;
+	void actions() override;
 };
 
 class Scene707 : public SceneTeleporter {
 public:
 	Scene707(MADSEngine *vm) : SceneTeleporter(vm) {}
 
-	virtual void setup();
-	virtual void enter();
-	virtual void step();
-	virtual void actions();
+	void setup() override;
+	void enter() override;
+	void step() override;
+	void actions() override;
 };
 
 class Scene710 : public Scene7xx {
 public:
 	Scene710(MADSEngine *vm) : Scene7xx(vm) {}
 
-	virtual void setup();
-	virtual void enter();
-	virtual void step();
-	virtual void actions();
+	void setup() override;
+	void enter() override;
+	void step() override;
+	void actions() override;
 };
 
 class Scene711 : public SceneTeleporter {
 public:
 	Scene711(MADSEngine *vm) : SceneTeleporter(vm) {}
 
-	virtual void setup();
-	virtual void enter();
-	virtual void step();
-	virtual void actions();
+	void setup() override;
+	void enter() override;
+	void step() override;
+	void actions() override;
 };
 
 class Scene751 : public Scene7xx{
@@ -208,13 +208,13 @@ private:
 
 public:
 	Scene751(MADSEngine *vm);
-	void synchronize(Common::Serializer &s);
+	void synchronize(Common::Serializer &s) override;
 
-	virtual void setup();
-	virtual void enter();
-	virtual void step();
-	virtual void preActions();
-	virtual void actions();
+	void setup() override;
+	void enter() override;
+	void step() override;
+	void preActions() override;
+	void actions() override;
 };
 
 class Scene752 : public Scene7xx {
@@ -223,13 +223,13 @@ private:
 
 public:
 	Scene752(MADSEngine *vm);
-	void synchronize(Common::Serializer &s);
+	void synchronize(Common::Serializer &s) override;
 
-	virtual void setup();
-	virtual void enter();
-	virtual void step();
-	virtual void preActions();
-	virtual void actions();
+	void setup() override;
+	void enter() override;
+	void step() override;
+	void preActions() override;
+	void actions() override;
 };
 
 } // End of namespace Nebular
diff --git a/engines/mads/nebular/nebular_scenes8.h b/engines/mads/nebular/nebular_scenes8.h
index 439815f..25aa358 100644
--- a/engines/mads/nebular/nebular_scenes8.h
+++ b/engines/mads/nebular/nebular_scenes8.h
@@ -58,35 +58,35 @@ private:
 
 public:
 	Scene801(MADSEngine *vm);
-	void synchronize(Common::Serializer &s);
+	void synchronize(Common::Serializer &s) override;
 
-	virtual void setup();
-	virtual void enter();
-	virtual void step();
-	virtual void preActions();
-	virtual void actions();
+	void setup() override;
+	void enter() override;
+	void step() override;
+	void preActions() override;
+	void actions() override;
 };
 
 class Scene802 : public Scene8xx{
 public:
 	Scene802(MADSEngine *vm) : Scene8xx(vm) {}
 
-	virtual void setup();
-	virtual void enter();
-	virtual void step();
-	virtual void preActions();
-	virtual void actions();
+	void setup() override;
+	void enter() override;
+	void step() override;
+	void preActions() override;
+	void actions() override;
 };
 
 class Scene803 : public Scene8xx{
 public:
 	Scene803(MADSEngine *vm) : Scene8xx(vm) {}
 
-	virtual void setup();
-	virtual void enter();
-	virtual void step();
-	virtual void preActions();
-	virtual void actions();
+	void setup() override;
+	void enter() override;
+	void step() override;
+	void preActions() override;
+	void actions() override;
 };
 
 class Scene804 : public Scene8xx {
@@ -103,33 +103,33 @@ private:
 
 public:
 	Scene804(MADSEngine *vm);
-	void synchronize(Common::Serializer &s);
+	void synchronize(Common::Serializer &s) override;
 
-	virtual void setup();
-	virtual void enter();
-	virtual void step();
-	virtual void actions();
+	void setup() override;
+	void enter() override;
+	void step() override;
+	void actions() override;
 };
 
 class Scene805 : public Scene8xx{
 public:
 	Scene805(MADSEngine *vm) : Scene8xx(vm) {}
 
-	virtual void setup();
-	virtual void enter();
-	virtual void step();
-	virtual void preActions();
-	virtual void actions();
+	void setup() override;
+	void enter() override;
+	void step() override;
+	void preActions() override;
+	void actions() override;
 };
 
 class Scene807 : public SceneTeleporter {
 public:
 	Scene807(MADSEngine *vm) : SceneTeleporter(vm) {}
 
-	virtual void setup();
-	virtual void enter();
-	virtual void step();
-	virtual void actions();
+	void setup() override;
+	void enter() override;
+	void step() override;
+	void actions() override;
 };
 
 class Scene808 : public Scene8xx{
@@ -138,11 +138,11 @@ private:
 
 public:
 	Scene808(MADSEngine *vm);
-	void synchronize(Common::Serializer &s);
+	void synchronize(Common::Serializer &s) override;
 
-	virtual void setup();
-	virtual void enter();
-	virtual void actions();
+	void setup() override;
+	void enter() override;
+	void actions() override;
 };
 
 class Scene810 : public Scene8xx{
@@ -151,12 +151,12 @@ private:
 
 public:
 	Scene810(MADSEngine *vm);
-	void synchronize(Common::Serializer &s);
+	void synchronize(Common::Serializer &s) override;
 
-	virtual void setup();
-	virtual void enter();
-	virtual void step();
-	virtual void actions() {};
+	void setup() override;
+	void enter() override;
+	void step() override;
+	void actions() override {};
 };
 
 } // End of namespace Nebular
diff --git a/engines/mads/nebular/sound_nebular.h b/engines/mads/nebular/sound_nebular.h
index a9e1493..2688cbb 100644
--- a/engines/mads/nebular/sound_nebular.h
+++ b/engines/mads/nebular/sound_nebular.h
@@ -421,7 +421,7 @@ private:
 public:
 	ASound1(Audio::Mixer *mixer, OPL::OPL *opl);
 
-	virtual int command(int commandId, int param);
+	int command(int commandId, int param) override;
 };
 
 class ASound2 : public ASound {
@@ -431,7 +431,7 @@ private:
 	typedef int (ASound2::*CommandPtr)();
 	static const CommandPtr _commandList[44];
 
-	virtual int command0();
+	int command0() override;
 	int command9();
 	int command10();
 	int command11();
@@ -473,7 +473,7 @@ private:
 public:
 	ASound2(Audio::Mixer *mixer, OPL::OPL *opl);
 
-	virtual int command(int commandId, int param);
+	int command(int commandId, int param) override;
 };
 
 class ASound3 : public ASound {
@@ -533,7 +533,7 @@ private:
 public:
 	ASound3(Audio::Mixer *mixer, OPL::OPL *opl);
 
-	virtual int command(int commandId, int param);
+	int command(int commandId, int param) override;
 };
 
 class ASound4 : public ASound {
@@ -571,7 +571,7 @@ private:
 public:
 	ASound4(Audio::Mixer *mixer, OPL::OPL *opl);
 
-	virtual int command(int commandId, int param);
+	int command(int commandId, int param) override;
 };
 
 class ASound5 : public ASound {
@@ -617,7 +617,7 @@ private:
 public:
 	ASound5(Audio::Mixer *mixer, OPL::OPL *opl);
 
-	virtual int command(int commandId, int param);
+	int command(int commandId, int param) override;
 };
 
 class ASound6 : public ASound {
@@ -646,7 +646,7 @@ private:
 public:
 	ASound6(Audio::Mixer *mixer, OPL::OPL *opl);
 
-	virtual int command(int commandId, int param);
+	int command(int commandId, int param) override;
 };
 
 class ASound7 : public ASound {
@@ -678,7 +678,7 @@ private:
 public:
 	ASound7(Audio::Mixer *mixer, OPL::OPL *opl);
 
-	virtual int command(int commandId, int param);
+	int command(int commandId, int param) override;
 };
 
 class ASound8 : public ASound {
@@ -721,7 +721,7 @@ private:
 public:
 	ASound8(Audio::Mixer *mixer, OPL::OPL *opl);
 
-	virtual int command(int commandId, int param);
+	int command(int commandId, int param) override;
 };
 
 class ASound9 : public ASound {
@@ -780,7 +780,7 @@ private:
 public:
 	ASound9(Audio::Mixer *mixer, OPL::OPL *opl);
 
-	virtual int command(int commandId, int param);
+	int command(int commandId, int param) override;
 };
 
 } // End of namespace Nebular
diff --git a/engines/mads/phantom/game_phantom.h b/engines/mads/phantom/game_phantom.h
index 2f0204f..b3c446f 100644
--- a/engines/mads/phantom/game_phantom.h
+++ b/engines/mads/phantom/game_phantom.h
@@ -102,27 +102,27 @@ private:
 protected:
 	GamePhantom(MADSEngine *vm);
 
-	virtual void startGame();
+	void startGame() override;
 
-	virtual void initializeGlobals();
+	void initializeGlobals() override;
 
-	virtual void setSectionHandler();
+	void setSectionHandler() override;
 
-	virtual void checkShowDialog();
+	void checkShowDialog() override;
 public:
 	PhantomGlobals _globals;
 	Difficulty _difficulty;
 
 
-	virtual Globals &globals() { return _globals; }
+	Globals &globals() override { return _globals; }
 
-	virtual void doObjectAction();
+	void doObjectAction() override;
 
-	virtual void unhandledAction();
+	void unhandledAction() override;
 
-	virtual void step();
+	void step() override;
 
-	virtual void synchronize(Common::Serializer &s, bool phase1);
+	void synchronize(Common::Serializer &s, bool phase1) override;
 
 	void setupCatacombs();
 	void enterCatacombs(bool val);
@@ -137,9 +137,9 @@ class Section1Handler : public SectionHandler {
 public:
 	Section1Handler(MADSEngine *vm) : SectionHandler(vm) {}
 
-	virtual void preLoadSection() {}
-	virtual void sectionPtr2() {}
-	virtual void postLoadSection() {}
+	void preLoadSection() override {}
+	void sectionPtr2() override {}
+	void postLoadSection() override {}
 };
 
 typedef Section1Handler Section2Handler;
diff --git a/engines/mads/phantom/phantom_scenes.h b/engines/mads/phantom/phantom_scenes.h
index 6b7ab69..8d0555c 100644
--- a/engines/mads/phantom/phantom_scenes.h
+++ b/engines/mads/phantom/phantom_scenes.h
@@ -474,9 +474,9 @@ public:
 class SceneInfoPhantom : public SceneInfo {
 	friend class SceneInfo;
 protected:
-	virtual void loadCodes(BaseSurface &depthSurface, int variant);
+	void loadCodes(BaseSurface &depthSurface, int variant) override;
 
-	virtual void loadCodes(BaseSurface &depthSurface, Common::SeekableReadStream *stream);
+	void loadCodes(BaseSurface &depthSurface, Common::SeekableReadStream *stream) override;
 
 	/**
 	* Constructor
diff --git a/engines/mads/phantom/phantom_scenes1.h b/engines/mads/phantom/phantom_scenes1.h
index d2c679d..d8f24d4 100644
--- a/engines/mads/phantom/phantom_scenes1.h
+++ b/engines/mads/phantom/phantom_scenes1.h
@@ -71,13 +71,13 @@ private:
 	bool _startSittingFl;
 public:
 	Scene101(MADSEngine *vm);
-	virtual void synchronize(Common::Serializer &s);
+	void synchronize(Common::Serializer &s) override;
 
-	virtual void setup();
-	virtual void enter();
-	virtual void step();
-	virtual void preActions();
-	virtual void actions();
+	void setup() override;
+	void enter() override;
+	void step() override;
+	void preActions() override;
+	void actions() override;
 
 	void handleConversation0();
 	void handleConversation1();
@@ -91,13 +91,13 @@ private:
 
 public:
 	Scene102(MADSEngine *vm);
-	virtual void synchronize(Common::Serializer &s);
+	void synchronize(Common::Serializer &s) override;
 
-	virtual void setup();
-	virtual void enter();
-	virtual void step();
-	virtual void preActions();
-	virtual void actions();
+	void setup() override;
+	void enter() override;
+	void step() override;
+	void preActions() override;
+	void actions() override;
 };
 
 class Scene103 : public Scene1xx {
@@ -141,13 +141,13 @@ private:
 
 public:
 	Scene103(MADSEngine *vm);
-	virtual void synchronize(Common::Serializer &s);
+	void synchronize(Common::Serializer &s) override;
 
-	virtual void setup();
-	virtual void enter();
-	virtual void step();
-	virtual void preActions();
-	virtual void actions();
+	void setup() override;
+	void enter() override;
+	void step() override;
+	void preActions() override;
+	void actions() override;
 };
 
 class Scene104 : public Scene1xx {
@@ -183,25 +183,25 @@ private:
 
 public:
 	Scene104(MADSEngine *vm);
-	virtual void synchronize(Common::Serializer &s);
+	void synchronize(Common::Serializer &s) override;
 
-	virtual void setup();
-	virtual void enter();
-	virtual void step();
-	virtual void preActions();
-	virtual void actions();
+	void setup() override;
+	void enter() override;
+	void step() override;
+	void preActions() override;
+	void actions() override;
 };
 
 class Scene105 : public Scene1xx {
 public:
 	Scene105(MADSEngine *vm);
-	virtual void synchronize(Common::Serializer &s);
+	void synchronize(Common::Serializer &s) override;
 
-	virtual void setup();
-	virtual void enter();
-	virtual void step();
-	virtual void preActions();
-	virtual void actions();
+	void setup() override;
+	void enter() override;
+	void step() override;
+	void preActions() override;
+	void actions() override;
 };
 
 class Scene106 : public Scene1xx {
@@ -209,25 +209,25 @@ private:
 	int _sandbagHostpotId;
 public:
 	Scene106(MADSEngine *vm);
-	virtual void synchronize(Common::Serializer &s);
+	void synchronize(Common::Serializer &s) override;
 
-	virtual void setup();
-	virtual void enter();
-	virtual void step();
-	virtual void preActions();
-	virtual void actions();
+	void setup() override;
+	void enter() override;
+	void step() override;
+	void preActions() override;
+	void actions() override;
 };
 
 class Scene107 : public Scene1xx {
 public:
 	Scene107(MADSEngine *vm);
-	virtual void synchronize(Common::Serializer &s);
+	void synchronize(Common::Serializer &s) override;
 
-	virtual void setup();
-	virtual void enter();
-	virtual void step();
-	virtual void preActions();
-	virtual void actions();
+	void setup() override;
+	void enter() override;
+	void step() override;
+	void preActions() override;
+	void actions() override;
 };
 
 class Scene108 : public Scene1xx {
@@ -248,13 +248,13 @@ private:
 
 public:
 	Scene108(MADSEngine *vm);
-	virtual void synchronize(Common::Serializer &s);
+	void synchronize(Common::Serializer &s) override;
 
-	virtual void setup();
-	virtual void enter();
-	virtual void step();
-	virtual void preActions();
-	virtual void actions();
+	void setup() override;
+	void enter() override;
+	void step() override;
+	void preActions() override;
+	void actions() override;
 };
 
 class Scene109 : public Scene1xx {
@@ -267,25 +267,25 @@ private:
 
 public:
 	Scene109(MADSEngine *vm);
-	virtual void synchronize(Common::Serializer &s);
+	void synchronize(Common::Serializer &s) override;
 
-	virtual void setup();
-	virtual void enter();
-	virtual void step();
-	virtual void preActions();
-	virtual void actions();
+	void setup() override;
+	void enter() override;
+	void step() override;
+	void preActions() override;
+	void actions() override;
 };
 
 class Scene110 : public Scene1xx {
 public:
 	Scene110(MADSEngine *vm);
-	virtual void synchronize(Common::Serializer &s);
+	void synchronize(Common::Serializer &s) override;
 
-	virtual void setup();
-	virtual void enter();
-	virtual void step();
-	virtual void preActions();
-	virtual void actions();
+	void setup() override;
+	void enter() override;
+	void step() override;
+	void preActions() override;
+	void actions() override;
 };
 
 class Scene111 : public Scene1xx {
@@ -302,13 +302,13 @@ private:
 
 public:
 	Scene111(MADSEngine *vm);
-	virtual void synchronize(Common::Serializer &s);
+	void synchronize(Common::Serializer &s) override;
 
-	virtual void setup();
-	virtual void enter();
-	virtual void step();
-	virtual void preActions();
-	virtual void actions();
+	void setup() override;
+	void enter() override;
+	void step() override;
+	void preActions() override;
+	void actions() override;
 };
 
 class Scene112 : public Scene1xx {
@@ -330,13 +330,13 @@ private:
 
 public:
 	Scene112(MADSEngine *vm);
-	virtual void synchronize(Common::Serializer &s);
+	void synchronize(Common::Serializer &s) override;
 
-	virtual void setup();
-	virtual void enter();
-	virtual void step();
-	virtual void preActions();
-	virtual void actions();
+	void setup() override;
+	void enter() override;
+	void step() override;
+	void preActions() override;
+	void actions() override;
 };
 
 class Scene113 : public Scene1xx {
@@ -383,37 +383,37 @@ private:
 
 public:
 	Scene113(MADSEngine *vm);
-	virtual void synchronize(Common::Serializer &s);
+	void synchronize(Common::Serializer &s) override;
 
-	virtual void setup();
-	virtual void enter();
-	virtual void step();
-	virtual void preActions();
-	virtual void actions();
+	void setup() override;
+	void enter() override;
+	void step() override;
+	void preActions() override;
+	void actions() override;
 };
 
 class Scene114 : public Scene1xx {
 public:
 	Scene114(MADSEngine *vm);
-	virtual void synchronize(Common::Serializer &s);
+	void synchronize(Common::Serializer &s) override;
 
-	virtual void setup();
-	virtual void enter();
-	virtual void step();
-	virtual void preActions();
-	virtual void actions();
+	void setup() override;
+	void enter() override;
+	void step() override;
+	void preActions() override;
+	void actions() override;
 };
 
 class Scene150 : public Scene1xx {
 public:
 	Scene150(MADSEngine *vm);
-	virtual void synchronize(Common::Serializer &s);
+	void synchronize(Common::Serializer &s) override;
 
-	virtual void setup();
-	virtual void enter();
-	virtual void step();
-	virtual void preActions();
-	virtual void actions();
+	void setup() override;
+	void enter() override;
+	void step() override;
+	void preActions() override;
+	void actions() override;
 };
 } // End of namespace Phantom
 } // End of namespace MADS
diff --git a/engines/mads/phantom/phantom_scenes2.h b/engines/mads/phantom/phantom_scenes2.h
index d0b83b6..8d05dfa 100644
--- a/engines/mads/phantom/phantom_scenes2.h
+++ b/engines/mads/phantom/phantom_scenes2.h
@@ -70,13 +70,13 @@ private:
 
 public:
 	Scene201(MADSEngine *vm);
-	virtual void synchronize(Common::Serializer &s);
+	void synchronize(Common::Serializer &s) override;
 
-	virtual void setup();
-	virtual void enter();
-	virtual void step();
-	virtual void preActions();
-	virtual void actions();
+	void setup() override;
+	void enter() override;
+	void step() override;
+	void preActions() override;
+	void actions() override;
 };
 
 class Scene202 : public Scene2xx {
@@ -102,13 +102,13 @@ private:
 
 public:
 	Scene202(MADSEngine *vm);
-	virtual void synchronize(Common::Serializer &s);
+	void synchronize(Common::Serializer &s) override;
 
-	virtual void setup();
-	virtual void enter();
-	virtual void step();
-	virtual void preActions();
-	virtual void actions();
+	void setup() override;
+	void enter() override;
+	void step() override;
+	void preActions() override;
+	void actions() override;
 };
 
 class Scene203 : public Scene2xx {
@@ -141,13 +141,13 @@ private:
 
 public:
 	Scene203(MADSEngine *vm);
-	virtual void synchronize(Common::Serializer &s);
+	void synchronize(Common::Serializer &s) override;
 
-	virtual void setup();
-	virtual void enter();
-	virtual void step();
-	virtual void preActions();
-	virtual void actions();
+	void setup() override;
+	void enter() override;
+	void step() override;
+	void preActions() override;
+	void actions() override;
 };
 
 class Scene204 : public Scene2xx {
@@ -179,13 +179,13 @@ private:
 
 public:
 	Scene204(MADSEngine *vm);
-	virtual void synchronize(Common::Serializer &s);
+	void synchronize(Common::Serializer &s) override;
 
-	virtual void setup();
-	virtual void enter();
-	virtual void step();
-	virtual void preActions();
-	virtual void actions();
+	void setup() override;
+	void enter() override;
+	void step() override;
+	void preActions() override;
+	void actions() override;
 };
 
 class Scene205 : public Scene2xx {
@@ -212,13 +212,13 @@ private:
 
 public:
 	Scene205(MADSEngine *vm);
-	virtual void synchronize(Common::Serializer &s);
+	void synchronize(Common::Serializer &s) override;
 
-	virtual void setup();
-	virtual void enter();
-	virtual void step();
-	virtual void preActions();
-	virtual void actions();
+	void setup() override;
+	void enter() override;
+	void step() override;
+	void preActions() override;
+	void actions() override;
 };
 
 class Scene206 : public Scene2xx {
@@ -229,13 +229,13 @@ private:
 
 public:
 	Scene206(MADSEngine *vm);
-	virtual void synchronize(Common::Serializer &s);
+	void synchronize(Common::Serializer &s) override;
 
-	virtual void setup();
-	virtual void enter();
-	virtual void step();
-	virtual void preActions();
-	virtual void actions();
+	void setup() override;
+	void enter() override;
+	void step() override;
+	void preActions() override;
+	void actions() override;
 };
 
 class Scene207 : public Scene2xx {
@@ -245,13 +245,13 @@ private:
 
 public:
 	Scene207(MADSEngine *vm);
-	virtual void synchronize(Common::Serializer &s);
+	void synchronize(Common::Serializer &s) override;
 
-	virtual void setup();
-	virtual void enter();
-	virtual void step();
-	virtual void preActions();
-	virtual void actions();
+	void setup() override;
+	void enter() override;
+	void step() override;
+	void preActions() override;
+	void actions() override;
 };
 
 class Scene208 : public Scene2xx {
@@ -280,25 +280,25 @@ private:
 
 public:
 	Scene208(MADSEngine *vm);
-	virtual void synchronize(Common::Serializer &s);
+	void synchronize(Common::Serializer &s) override;
 
-	virtual void setup();
-	virtual void enter();
-	virtual void step();
-	virtual void preActions();
-	virtual void actions();
+	void setup() override;
+	void enter() override;
+	void step() override;
+	void preActions() override;
+	void actions() override;
 };
 
 class Scene250 : public Scene2xx {
 public:
 	Scene250(MADSEngine *vm);
-	virtual void synchronize(Common::Serializer &s);
+	void synchronize(Common::Serializer &s) override;
 
-	virtual void setup();
-	virtual void enter();
-	virtual void step();
-	virtual void preActions();
-	virtual void actions();
+	void setup() override;
+	void enter() override;
+	void step() override;
+	void preActions() override;
+	void actions() override;
 };
 
 } // End of namespace Phantom
diff --git a/engines/mads/phantom/phantom_scenes3.h b/engines/mads/phantom/phantom_scenes3.h
index 87b7681..1b573d0 100644
--- a/engines/mads/phantom/phantom_scenes3.h
+++ b/engines/mads/phantom/phantom_scenes3.h
@@ -64,25 +64,25 @@ private:
 
 public:
 	Scene301(MADSEngine *vm);
-	virtual void synchronize(Common::Serializer &s);
+	void synchronize(Common::Serializer &s) override;
 
-	virtual void setup();
-	virtual void enter();
-	virtual void step();
-	virtual void preActions();
-	virtual void actions();
+	void setup() override;
+	void enter() override;
+	void step() override;
+	void preActions() override;
+	void actions() override;
 };
 
 class Scene302 : public Scene3xx {
 public:
 	Scene302(MADSEngine *vm);
-	virtual void synchronize(Common::Serializer &s);
+	void synchronize(Common::Serializer &s) override;
 
-	virtual void setup();
-	virtual void enter();
-	virtual void step();
-	virtual void preActions();
-	virtual void actions();
+	void setup() override;
+	void enter() override;
+	void step() override;
+	void preActions() override;
+	void actions() override;
 };
 
 class Scene303 : public Scene3xx {
@@ -92,13 +92,13 @@ private:
 	int _skipFrameCheckFl;
 public:
 	Scene303(MADSEngine *vm);
-	virtual void synchronize(Common::Serializer &s);
+	void synchronize(Common::Serializer &s) override;
 
-	virtual void setup();
-	virtual void enter();
-	virtual void step();
-	virtual void preActions();
-	virtual void actions();
+	void setup() override;
+	void enter() override;
+	void step() override;
+	void preActions() override;
+	void actions() override;
 };
 
 class Scene304 : public Scene3xx {
@@ -122,13 +122,13 @@ private:
 
 public:
 	Scene304(MADSEngine *vm);
-	virtual void synchronize(Common::Serializer &s);
+	void synchronize(Common::Serializer &s) override;
 
-	virtual void setup();
-	virtual void enter();
-	virtual void step();
-	virtual void preActions();
-	virtual void actions();
+	void setup() override;
+	void enter() override;
+	void step() override;
+	void preActions() override;
+	void actions() override;
 };
 
 class Scene305 : public Scene3xx {
@@ -144,13 +144,13 @@ private:
 
 public:
 	Scene305(MADSEngine *vm);
-	virtual void synchronize(Common::Serializer &s);
+	void synchronize(Common::Serializer &s) override;
 
-	virtual void setup();
-	virtual void enter();
-	virtual void step();
-	virtual void preActions();
-	virtual void actions();
+	void setup() override;
+	void enter() override;
+	void step() override;
+	void preActions() override;
+	void actions() override;
 };
 
 class Scene306 : public Scene3xx {
@@ -159,25 +159,25 @@ private:
 
 public:
 	Scene306(MADSEngine *vm);
-	virtual void synchronize(Common::Serializer &s);
+	void synchronize(Common::Serializer &s) override;
 
-	virtual void setup();
-	virtual void enter();
-	virtual void step();
-	virtual void preActions();
-	virtual void actions();
+	void setup() override;
+	void enter() override;
+	void step() override;
+	void preActions() override;
+	void actions() override;
 };
 
 class Scene307 : public Scene3xx {
 public:
 	Scene307(MADSEngine *vm);
-	virtual void synchronize(Common::Serializer &s);
+	void synchronize(Common::Serializer &s) override;
 
-	virtual void setup();
-	virtual void enter();
-	virtual void step();
-	virtual void preActions();
-	virtual void actions();
+	void setup() override;
+	void enter() override;
+	void step() override;
+	void preActions() override;
+	void actions() override;
 };
 
 class Scene308 : public Scene3xx {
@@ -192,13 +192,13 @@ private:
 
 public:
 	Scene308(MADSEngine *vm);
-	virtual void synchronize(Common::Serializer &s);
+	void synchronize(Common::Serializer &s) override;
 
-	virtual void setup();
-	virtual void enter();
-	virtual void step();
-	virtual void preActions();
-	virtual void actions();
+	void setup() override;
+	void enter() override;
+	void step() override;
+	void preActions() override;
+	void actions() override;
 };
 
 class Scene309 : public Scene3xx {
@@ -213,13 +213,13 @@ private:
 
 public:
 	Scene309(MADSEngine *vm);
-	virtual void synchronize(Common::Serializer &s);
+	void synchronize(Common::Serializer &s) override;
 
-	virtual void setup();
-	virtual void enter();
-	virtual void step();
-	virtual void preActions();
-	virtual void actions();
+	void setup() override;
+	void enter() override;
+	void step() override;
+	void preActions() override;
+	void actions() override;
 };
 
 class Scene310 : public Scene3xx {
@@ -234,13 +234,13 @@ private:
 
 public:
 	Scene310(MADSEngine *vm);
-	virtual void synchronize(Common::Serializer &s);
+	void synchronize(Common::Serializer &s) override;
 
-	virtual void setup();
-	virtual void enter();
-	virtual void step();
-	virtual void preActions();
-	virtual void actions();
+	void setup() override;
+	void enter() override;
+	void step() override;
+	void preActions() override;
+	void actions() override;
 };
 } // End of namespace Phantom
 } // End of namespace MADS
diff --git a/engines/mads/phantom/phantom_scenes4.h b/engines/mads/phantom/phantom_scenes4.h
index bea1411..665d791 100644
--- a/engines/mads/phantom/phantom_scenes4.h
+++ b/engines/mads/phantom/phantom_scenes4.h
@@ -66,13 +66,13 @@ private:
 
 public:
 	Scene401(MADSEngine *vm);
-	virtual void synchronize(Common::Serializer &s);
+	void synchronize(Common::Serializer &s) override;
 
-	virtual void setup();
-	virtual void enter();
-	virtual void step();
-	virtual void preActions();
-	virtual void actions();
+	void setup() override;
+	void enter() override;
+	void step() override;
+	void preActions() override;
+	void actions() override;
 };
 
 class Scene403 : public Scene4xx {
@@ -87,13 +87,13 @@ private:
 
 public:
 	Scene403(MADSEngine *vm);
-	virtual void synchronize(Common::Serializer &s);
+	void synchronize(Common::Serializer &s) override;
 
-	virtual void setup();
-	virtual void enter();
-	virtual void step();
-	virtual void preActions();
-	virtual void actions();
+	void setup() override;
+	void enter() override;
+	void step() override;
+	void preActions() override;
+	void actions() override;
 };
 
 class Scene404 : public Scene4xx {
@@ -109,13 +109,13 @@ private:
 
 public:
 	Scene404(MADSEngine *vm);
-	virtual void synchronize(Common::Serializer &s);
+	void synchronize(Common::Serializer &s) override;
 
-	virtual void setup();
-	virtual void enter();
-	virtual void step();
-	virtual void preActions();
-	virtual void actions();
+	void setup() override;
+	void enter() override;
+	void step() override;
+	void preActions() override;
+	void actions() override;
 };
 
 class Scene406 : public Scene4xx {
@@ -130,13 +130,13 @@ private:
 
 public:
 	Scene406(MADSEngine *vm);
-	virtual void synchronize(Common::Serializer &s);
+	void synchronize(Common::Serializer &s) override;
 
-	virtual void setup();
-	virtual void enter();
-	virtual void step();
-	virtual void preActions();
-	virtual void actions();
+	void setup() override;
+	void enter() override;
+	void step() override;
+	void preActions() override;
+	void actions() override;
 };
 
 class Scene407 : public Scene4xx {
@@ -151,13 +151,13 @@ private:
 
 public:
 	Scene407(MADSEngine *vm);
-	virtual void synchronize(Common::Serializer &s);
+	void synchronize(Common::Serializer &s) override;
 
-	virtual void setup();
-	virtual void enter();
-	virtual void step();
-	virtual void preActions();
-	virtual void actions();
+	void setup() override;
+	void enter() override;
+	void step() override;
+	void preActions() override;
+	void actions() override;
 };
 
 class Scene408 : public Scene4xx {
@@ -172,13 +172,13 @@ private:
 
 public:
 	Scene408(MADSEngine *vm);
-	virtual void synchronize(Common::Serializer &s);
+	void synchronize(Common::Serializer &s) override;
 
-	virtual void setup();
-	virtual void enter();
-	virtual void step();
-	virtual void preActions();
-	virtual void actions();
+	void setup() override;
+	void enter() override;
+	void step() override;
+	void preActions() override;
+	void actions() override;
 };
 
 class Scene409 : public Scene4xx {
@@ -193,13 +193,13 @@ private:
 
 public:
 	Scene409(MADSEngine *vm);
-	virtual void synchronize(Common::Serializer &s);
+	void synchronize(Common::Serializer &s) override;
 
-	virtual void setup();
-	virtual void enter();
-	virtual void step();
-	virtual void preActions();
-	virtual void actions();
+	void setup() override;
+	void enter() override;
+	void step() override;
+	void preActions() override;
+	void actions() override;
 };
 
 class Scene410 : public Scene4xx {
@@ -209,13 +209,13 @@ private:
 
 public:
 	Scene410(MADSEngine *vm);
-	virtual void synchronize(Common::Serializer &s);
+	void synchronize(Common::Serializer &s) override;
 
-	virtual void setup();
-	virtual void enter();
-	virtual void step();
-	virtual void preActions();
-	virtual void actions();
+	void setup() override;
+	void enter() override;
+	void step() override;
+	void preActions() override;
+	void actions() override;
 };
 
 class Scene453 : public Scene4xx {
@@ -230,13 +230,13 @@ private:
 
 public:
 	Scene453(MADSEngine *vm);
-	virtual void synchronize(Common::Serializer &s);
+	void synchronize(Common::Serializer &s) override;
 
-	virtual void setup();
-	virtual void enter();
-	virtual void step();
-	virtual void preActions();
-	virtual void actions();
+	void setup() override;
+	void enter() override;
+	void step() override;
+	void preActions() override;
+	void actions() override;
 };
 
 class Scene456 : public Scene4xx {
@@ -251,13 +251,13 @@ private:
 
 public:
 	Scene456(MADSEngine *vm);
-	virtual void synchronize(Common::Serializer &s);
+	void synchronize(Common::Serializer &s) override;
 
-	virtual void setup();
-	virtual void enter();
-	virtual void step();
-	virtual void preActions();
-	virtual void actions();
+	void setup() override;
+	void enter() override;
+	void step() override;
+	void preActions() override;
+	void actions() override;
 };
 } // End of namespace Phantom
 } // End of namespace MADS
diff --git a/engines/mads/phantom/phantom_scenes5.h b/engines/mads/phantom/phantom_scenes5.h
index 048e9b9..b4023f7 100644
--- a/engines/mads/phantom/phantom_scenes5.h
+++ b/engines/mads/phantom/phantom_scenes5.h
@@ -60,13 +60,13 @@ private:
 
 public:
 	Scene501(MADSEngine *vm);
-	virtual void synchronize(Common::Serializer &s);
+	void synchronize(Common::Serializer &s) override;
 
-	virtual void setup();
-	virtual void enter();
-	virtual void step();
-	virtual void preActions();
-	virtual void actions();
+	void setup() override;
+	void enter() override;
+	void step() override;
+	void preActions() override;
+	void actions() override;
 };
 
 class Scene502 : public Scene5xx {
@@ -103,15 +103,15 @@ private:
 
 public:
 	Scene502(MADSEngine *vm);
-	~Scene502();
+	~Scene502() override;
 
-	virtual void synchronize(Common::Serializer &s);
+	void synchronize(Common::Serializer &s) override;
 
-	virtual void setup();
-	virtual void enter();
-	virtual void step();
-	virtual void preActions();
-	virtual void actions();
+	void setup() override;
+	void enter() override;
+	void step() override;
+	void preActions() override;
+	void actions() override;
 };
 
 class Scene504 : public Scene5xx {
@@ -152,13 +152,13 @@ private:
 
 public:
 	Scene504(MADSEngine *vm);
-	virtual void synchronize(Common::Serializer &s);
+	void synchronize(Common::Serializer &s) override;
 
-	virtual void setup();
-	virtual void enter();
-	virtual void step();
-	virtual void preActions();
-	virtual void actions();
+	void setup() override;
+	void enter() override;
+	void step() override;
+	void preActions() override;
+	void actions() override;
 };
 
 class Scene505 : public Scene5xx {
@@ -187,13 +187,13 @@ private:
 
 public:
 	Scene505(MADSEngine *vm);
-	virtual void synchronize(Common::Serializer &s);
+	void synchronize(Common::Serializer &s) override;
 
-	virtual void setup();
-	virtual void enter();
-	virtual void step();
-	virtual void preActions();
-	virtual void actions();
+	void setup() override;
+	void enter() override;
+	void step() override;
+	void preActions() override;
+	void actions() override;
 };
 
 class Scene506 : public Scene5xx {
@@ -204,13 +204,13 @@ private:
 
 public:
 	Scene506(MADSEngine *vm);
-	virtual void synchronize(Common::Serializer &s);
+	void synchronize(Common::Serializer &s) override;
 
-	virtual void setup();
-	virtual void enter();
-	virtual void step();
-	virtual void preActions();
-	virtual void actions();
+	void setup() override;
+	void enter() override;
+	void step() override;
+	void preActions() override;
+	void actions() override;
 };
 
 } // End of namespace Phantom
diff --git a/engines/mads/resources.cpp b/engines/mads/resources.cpp
index 16019a4..01ad4a9 100644
--- a/engines/mads/resources.cpp
+++ b/engines/mads/resources.cpp
@@ -80,13 +80,13 @@ private:
 	ResourceType getResourceType(const Common::String &resourceName) const;
 public:
 	explicit HagArchive(MADSEngine *vm);
-	virtual ~HagArchive();
+	~HagArchive() override;
 
 	// Archive implementation
-	virtual bool hasFile(const Common::String &name) const;
-	virtual int listMembers(Common::ArchiveMemberList &list) const;
-	virtual const Common::ArchiveMemberPtr getMember(const Common::String &name) const;
-	virtual Common::SeekableReadStream *createReadStreamForMember(const Common::String &name) const;
+	bool hasFile(const Common::String &name) const override;
+	int listMembers(Common::ArchiveMemberList &list) const override;
+	const Common::ArchiveMemberPtr getMember(const Common::String &name) const override;
+	Common::SeekableReadStream *createReadStreamForMember(const Common::String &name) const override;
 };
 
 const char *const MADSCONCAT_STRING = "MADSCONCAT";
diff --git a/engines/mads/screen.h b/engines/mads/screen.h
index 92cd5bc..592e331 100644
--- a/engines/mads/screen.h
+++ b/engines/mads/screen.h
@@ -229,12 +229,12 @@ public:
 	/**
 	 * Destructor
 	 */
-	virtual ~Screen() {}
+	~Screen() override {}
 
 	/**
 	 * Updates the physical screen with contents of the internal surface
 	 */
-	virtual void update();
+	void update() override;
 
 	/**
 	 * Transition to a new screen with a given effect
diff --git a/engines/mads/sprites.h b/engines/mads/sprites.h
index 3db922c..a1e28c5 100644
--- a/engines/mads/sprites.h
+++ b/engines/mads/sprites.h
@@ -114,7 +114,7 @@ public:
 	MSprite();
 	MSprite(Common::SeekableReadStream *source, const Common::Array<RGB6> &palette,
 		const Common::Rect &bounds);
-	virtual ~MSprite();
+	~MSprite() override;
 
 	Common::Point _offset;
 	int _transparencyIndex;
diff --git a/engines/mads/user_interface.h b/engines/mads/user_interface.h
index 6c94859..00f03c5 100644
--- a/engines/mads/user_interface.h
+++ b/engines/mads/user_interface.h
@@ -221,7 +221,7 @@ public:
 	/**
 	* Loads an interface from a specified resource
 	*/
-	virtual void load(const Common::String &resName);
+	void load(const Common::String &resName) override;
 
 	/**
 	* Set up the interface


Commit: cccd6428c06b306db96b2184830eec57f4777dff
    https://github.com/scummvm/scummvm/commit/cccd6428c06b306db96b2184830eec57f4777dff
Author: Bastien Bouclet (bastien.bouclet at gmail.com)
Date: 2020-02-09T12:43:15+01:00

Commit Message:
MOHAWK: Add override keywords

Changed paths:
    engines/mohawk/console.h
    engines/mohawk/cstime.h
    engines/mohawk/cstime_cases.h
    engines/mohawk/cstime_graphics.h
    engines/mohawk/cstime_view.h
    engines/mohawk/livingbooks.h
    engines/mohawk/livingbooks_graphics.h
    engines/mohawk/livingbooks_lbx.cpp
    engines/mohawk/riven_scripts.h
    engines/mohawk/riven_stacks/jspit.h
    engines/mohawk/riven_stacks/pspit.h
    engines/mohawk/view.h


diff --git a/engines/mohawk/console.h b/engines/mohawk/console.h
index 0e24857..0a95744 100644
--- a/engines/mohawk/console.h
+++ b/engines/mohawk/console.h
@@ -116,7 +116,7 @@ class MohawkEngine_CSTime;
 class CSTimeConsole : public GUI::Debugger {
 public:
 	CSTimeConsole(MohawkEngine_CSTime *vm);
-	virtual ~CSTimeConsole(void);
+	~CSTimeConsole(void) override;
 
 private:
 	MohawkEngine_CSTime *_vm;
diff --git a/engines/mohawk/cstime.h b/engines/mohawk/cstime.h
index 9edd185..8a3ef7d 100644
--- a/engines/mohawk/cstime.h
+++ b/engines/mohawk/cstime.h
@@ -133,7 +133,7 @@ protected:
 
 public:
 	MohawkEngine_CSTime(OSystem *syst, const MohawkGameDescription *gamedesc);
-	virtual ~MohawkEngine_CSTime();
+	~MohawkEngine_CSTime() override;
 
 	Common::RandomSource *_rnd;
 
diff --git a/engines/mohawk/cstime_cases.h b/engines/mohawk/cstime_cases.h
index ba12317..0c5f8c3 100644
--- a/engines/mohawk/cstime_cases.h
+++ b/engines/mohawk/cstime_cases.h
@@ -30,13 +30,13 @@ namespace Mohawk {
 class CSTimeCase1 : public CSTimeCase {
 public:
 	CSTimeCase1(MohawkEngine_CSTime *vm);
-	~CSTimeCase1();
+	~CSTimeCase1() override;
 
-	bool checkConvCondition(uint16 conditionId);
-	bool checkAmbientCondition(uint16 charId, uint16 ambientId);
-	bool checkObjectCondition(uint16 objectId);
-	void selectHelpStrings();
-	void handleConditionalEvent(const CSTimeEvent &event);
+	bool checkConvCondition(uint16 conditionId) override;
+	bool checkAmbientCondition(uint16 charId, uint16 ambientId) override;
+	bool checkObjectCondition(uint16 objectId) override;
+	void selectHelpStrings() override;
+	void handleConditionalEvent(const CSTimeEvent &event) override;
 
 protected:
 	void incorrectBodySequence(uint16 stage, uint16 speech, uint16 feature);
diff --git a/engines/mohawk/cstime_graphics.h b/engines/mohawk/cstime_graphics.h
index 35d5882..41b3399 100644
--- a/engines/mohawk/cstime_graphics.h
+++ b/engines/mohawk/cstime_graphics.h
@@ -32,14 +32,14 @@ class MohawkEngine_CSTime;
 class CSTimeGraphics : public GraphicsManager {
 public:
 	CSTimeGraphics(MohawkEngine_CSTime *vm);
-	~CSTimeGraphics();
+	~CSTimeGraphics() override;
 
 	void drawRect(Common::Rect rect, byte color);
 
 protected:
-	MohawkSurface *decodeImage(uint16 id);
-	Common::Array<MohawkSurface *> decodeImages(uint16 id);
-	MohawkEngine *getVM() { return (MohawkEngine *)_vm; }
+	MohawkSurface *decodeImage(uint16 id) override;
+	Common::Array<MohawkSurface *> decodeImages(uint16 id) override;
+	MohawkEngine *getVM() override { return (MohawkEngine *)_vm; }
 
 private:
 	MohawkBitmap *_bmpDecoder;
diff --git a/engines/mohawk/cstime_view.h b/engines/mohawk/cstime_view.h
index 0005d90..622d933 100644
--- a/engines/mohawk/cstime_view.h
+++ b/engines/mohawk/cstime_view.h
@@ -33,9 +33,9 @@ public:
 	CSTimeModule(MohawkEngine_CSTime *vm);
 
 	// TODO: these don't really belong here
-	void init() { }
-	void shutdown() { }
-	void update() { }
+	void init() override { }
+	void shutdown() override { }
+	void update() override { }
 
 	void defaultMoveProc(Feature *feature);
 	void defaultDrawProc(Feature *feature);
@@ -63,7 +63,7 @@ class CSTimeView : public View {
 public:
 	CSTimeView(MohawkEngine_CSTime *vm);
 
-	uint32 getTime();
+	uint32 getTime() override;
 	void setupView();
 	Feature *installViewFeature(uint16 scrbId, uint32 flags, Common::Point *pos);
 
@@ -88,7 +88,7 @@ protected:
 	void groupFreeScript(uint index);
 	void groupAdjustView(uint index, uint count);
 
-	void finishDraw();
+	void finishDraw() override;
 };
 
 } // End of namespace Mohawk
diff --git a/engines/mohawk/livingbooks.h b/engines/mohawk/livingbooks.h
index 4649b9f..8ad3933 100644
--- a/engines/mohawk/livingbooks.h
+++ b/engines/mohawk/livingbooks.h
@@ -470,14 +470,14 @@ protected:
 class LBSoundItem : public LBItem {
 public:
 	LBSoundItem(MohawkEngine_LivingBooks *_vm, LBPage *page, Common::Rect rect);
-	~LBSoundItem();
+	~LBSoundItem() override;
 
-	void update();
-	bool togglePlaying(bool playing, bool restart);
-	void stop();
+	void update() override;
+	bool togglePlaying(bool playing, bool restart) override;
+	void stop() override;
 
 protected:
-	LBItem *createClone();
+	LBItem *createClone() override;
 
 	bool _running;
 };
@@ -491,26 +491,26 @@ class LBGroupItem : public LBItem {
 public:
 	LBGroupItem(MohawkEngine_LivingBooks *_vm, LBPage *page, Common::Rect rect);
 
-	void readData(uint16 type, uint16 size, Common::MemoryReadStreamEndian *stream);
+	void readData(uint16 type, uint16 size, Common::MemoryReadStreamEndian *stream) override;
 
-	void destroySelf();
-	void setEnabled(bool enabled);
-	void setGlobalEnabled(bool enabled);
-	bool contains(Common::Point point);
-	bool togglePlaying(bool playing, bool restart);
+	void destroySelf() override;
+	void setEnabled(bool enabled) override;
+	void setGlobalEnabled(bool enabled) override;
+	bool contains(Common::Point point) override;
+	bool togglePlaying(bool playing, bool restart) override;
 	// 0x12
-	void seek(uint16 pos);
-	void setVisible(bool visible);
-	void setGlobalVisible(bool visible);
-	void startPhase(uint phase);
-	void stop();
-	void load();
-	void unload();
-	void moveBy(const Common::Point &pos);
-	void moveTo(const Common::Point &pos);
+	void seek(uint16 pos) override;
+	void setVisible(bool visible) override;
+	void setGlobalVisible(bool visible) override;
+	void startPhase(uint phase) override;
+	void stop() override;
+	void load() override;
+	void unload() override;
+	void moveBy(const Common::Point &pos) override;
+	void moveTo(const Common::Point &pos) override;
 
 protected:
-	LBItem *createClone();
+	LBItem *createClone() override;
 
 	bool _starting;
 
@@ -520,15 +520,15 @@ protected:
 class LBPaletteItem : public LBItem {
 public:
 	LBPaletteItem(MohawkEngine_LivingBooks *_vm, LBPage *page, Common::Rect rect);
-	~LBPaletteItem();
+	~LBPaletteItem() override;
 
-	void readData(uint16 type, uint16 size, Common::MemoryReadStreamEndian *stream);
+	void readData(uint16 type, uint16 size, Common::MemoryReadStreamEndian *stream) override;
 
-	bool togglePlaying(bool playing, bool restart);
-	void update();
+	bool togglePlaying(bool playing, bool restart) override;
+	void update() override;
 
 protected:
-	LBItem *createClone();
+	LBItem *createClone() override;
 
 	uint16 _fadeInPeriod, _fadeInStep, _drawStart, _drawCount;
 	uint32 _fadeInStart, _fadeInCurrent;
@@ -553,18 +553,18 @@ class LBLiveTextItem : public LBItem {
 public:
 	LBLiveTextItem(MohawkEngine_LivingBooks *_vm, LBPage *page, Common::Rect rect);
 
-	void readData(uint16 type, uint16 size, Common::MemoryReadStreamEndian *stream);
+	void readData(uint16 type, uint16 size, Common::MemoryReadStreamEndian *stream) override;
 
-	bool contains(Common::Point point);
-	void update();
-	void draw();
-	void handleMouseDown(Common::Point pos);
-	bool togglePlaying(bool playing, bool restart);
-	void stop();
-	void notify(uint16 data, uint16 from);
+	bool contains(Common::Point point) override;
+	void update() override;
+	void draw() override;
+	void handleMouseDown(Common::Point pos) override;
+	bool togglePlaying(bool playing, bool restart) override;
+	void stop() override;
+	void notify(uint16 data, uint16 from) override;
 
 protected:
-	LBItem *createClone();
+	LBItem *createClone() override;
 
 	void paletteUpdate(uint16 word, bool on);
 	void drawWord(uint word, uint yPos);
@@ -584,35 +584,35 @@ class LBPictureItem : public LBItem {
 public:
 	LBPictureItem(MohawkEngine_LivingBooks *_vm, LBPage *page, Common::Rect rect);
 
-	void readData(uint16 type, uint16 size, Common::MemoryReadStreamEndian *stream);
+	void readData(uint16 type, uint16 size, Common::MemoryReadStreamEndian *stream) override;
 
-	bool contains(Common::Point point);
-	void draw();
-	void init();
+	bool contains(Common::Point point) override;
+	void draw() override;
+	void init() override;
 
 protected:
-	LBItem *createClone();
+	LBItem *createClone() override;
 };
 
 class LBAnimationItem : public LBItem {
 public:
 	LBAnimationItem(MohawkEngine_LivingBooks *_vm, LBPage *page, Common::Rect rect);
-	~LBAnimationItem();
-
-	void setEnabled(bool enabled);
-	bool contains(Common::Point point);
-	void update();
-	void draw();
-	bool togglePlaying(bool playing, bool restart);
-	void done(bool onlyNotify);
-	void init();
-	void seek(uint16 pos);
-	void seekToTime(uint32 time);
-	void startPhase(uint phase);
-	void stop();
+	~LBAnimationItem() override;
+
+	void setEnabled(bool enabled) override;
+	bool contains(Common::Point point) override;
+	void update() override;
+	void draw() override;
+	bool togglePlaying(bool playing, bool restart) override;
+	void done(bool onlyNotify) override;
+	void init() override;
+	void seek(uint16 pos) override;
+	void seekToTime(uint32 time) override;
+	void startPhase(uint phase) override;
+	void stop() override;
 
 protected:
-	LBItem *createClone();
+	LBItem *createClone() override;
 
 	LBAnimation *_anim;
 	bool _running;
@@ -621,36 +621,36 @@ protected:
 class LBMovieItem : public LBItem {
 public:
 	LBMovieItem(MohawkEngine_LivingBooks *_vm, LBPage *page, Common::Rect rect);
-	~LBMovieItem();
+	~LBMovieItem() override;
 
-	void update();
-	bool togglePlaying(bool playing, bool restart);
+	void update() override;
+	bool togglePlaying(bool playing, bool restart) override;
 
 protected:
-	LBItem *createClone();
+	LBItem *createClone() override;
 };
 
 class LBMiniGameItem : public LBItem {
 public:
 	LBMiniGameItem(MohawkEngine_LivingBooks *_vm, LBPage *page, Common::Rect rect);
-	~LBMiniGameItem();
+	~LBMiniGameItem() override;
 
-	bool togglePlaying(bool playing, bool restart);
+	bool togglePlaying(bool playing, bool restart) override;
 
 protected:
-	LBItem *createClone();
+	LBItem *createClone() override;
 };
 
 class LBProxyItem : public LBItem {
 public:
 	LBProxyItem(MohawkEngine_LivingBooks *_vm, LBPage *page, Common::Rect rect);
-	~LBProxyItem();
+	~LBProxyItem() override;
 
-	void load();
-	void unload();
+	void load() override;
+	void unload() override;
 
 protected:
-	LBItem *createClone();
+	LBItem *createClone() override;
 
 	class LBPage *_page;
 };
@@ -711,7 +711,7 @@ protected:
 
 public:
 	MohawkEngine_LivingBooks(OSystem *syst, const MohawkGameDescription *gamedesc);
-	virtual ~MohawkEngine_LivingBooks();
+	~MohawkEngine_LivingBooks() override;
 
 	Common::RandomSource *_rnd;
 
diff --git a/engines/mohawk/livingbooks_graphics.h b/engines/mohawk/livingbooks_graphics.h
index c76f92f..72d4c7b 100644
--- a/engines/mohawk/livingbooks_graphics.h
+++ b/engines/mohawk/livingbooks_graphics.h
@@ -32,15 +32,15 @@ class MohawkEngine_LivingBooks;
 class LBGraphics : public GraphicsManager {
 public:
 	LBGraphics(MohawkEngine_LivingBooks *vm, uint16 width, uint16 height);
-	~LBGraphics();
+	~LBGraphics() override;
 
-	void setPalette(uint16 id);
+	void setPalette(uint16 id) override;
 	void copyOffsetAnimImageToScreen(uint16 image, int left = 0, int top = 0);
 	bool imageIsTransparentAt(uint16 image, bool useOffsets, int x, int y);
 
 protected:
-	MohawkSurface *decodeImage(uint16 id);
-	MohawkEngine *getVM() { return (MohawkEngine *)_vm; }
+	MohawkSurface *decodeImage(uint16 id) override;
+	MohawkEngine *getVM() override { return (MohawkEngine *)_vm; }
 
 private:
 	MohawkBitmap *_bmpDecoder;
diff --git a/engines/mohawk/livingbooks_lbx.cpp b/engines/mohawk/livingbooks_lbx.cpp
index b5f6270..631a5fe 100644
--- a/engines/mohawk/livingbooks_lbx.cpp
+++ b/engines/mohawk/livingbooks_lbx.cpp
@@ -28,9 +28,9 @@ namespace Mohawk {
 class LBXDataFile : public LBXObject {
 public:
 	LBXDataFile(MohawkEngine_LivingBooks *vm);
-	~LBXDataFile();
+	~LBXDataFile() override;
 
-	bool call(uint callId, const Common::Array<LBValue> &params, LBValue &result);
+	bool call(uint callId, const Common::Array<LBValue> &params, LBValue &result) override;
 
 protected:
 	Common::INIFile _dataFile;
diff --git a/engines/mohawk/riven_scripts.h b/engines/mohawk/riven_scripts.h
index 149fb47..ea3c53d 100644
--- a/engines/mohawk/riven_scripts.h
+++ b/engines/mohawk/riven_scripts.h
@@ -285,12 +285,12 @@ public:
 	typedef Common::Array<uint16> ArgumentArray;
 
 	RivenSimpleCommand(MohawkEngine_Riven *vm, RivenCommandType type, const ArgumentArray &arguments);
-	virtual ~RivenSimpleCommand();
+	~RivenSimpleCommand() override;
 
 	// RivenCommand API
-	virtual void dump(byte tabs) override;
-	virtual void execute() override;
-	virtual RivenCommandType getType() const override;
+	void dump(byte tabs) override;
+	void execute() override;
+	RivenCommandType getType() const override;
 
 private:
 	typedef void (RivenSimpleCommand::*OpcodeProcRiven)(uint16 op, const ArgumentArray &args);
@@ -358,13 +358,13 @@ private:
 class RivenSwitchCommand : public RivenCommand {
 public:
 	static RivenSwitchCommand *createFromStream(MohawkEngine_Riven *vm, Common::ReadStream *stream);
-	virtual ~RivenSwitchCommand();
+	~RivenSwitchCommand() override;
 
 	// RivenCommand API
-	virtual void dump(byte tabs) override;
-	virtual void execute() override;
-	virtual RivenCommandType getType() const override;
-	virtual void applyCardPatches(uint32 globalId, int scriptType, uint16 hotspotId) override;
+	void dump(byte tabs) override;
+	void execute() override;
+	RivenCommandType getType() const override;
+	void applyCardPatches(uint32 globalId, int scriptType, uint16 hotspotId) override;
 
 private:
 	RivenSwitchCommand(MohawkEngine_Riven *vm);
@@ -391,12 +391,12 @@ public:
 		                        bool byStackId, bool byStackCardId);
 
 	static RivenStackChangeCommand *createFromStream(MohawkEngine_Riven *vm, Common::ReadStream *stream);
-	virtual ~RivenStackChangeCommand();
+	~RivenStackChangeCommand() override;
 
 	// RivenCommand API
-	virtual void dump(byte tabs) override;
-	virtual void execute() override;
-	virtual RivenCommandType getType() const override;
+	void dump(byte tabs) override;
+	void execute() override;
+	RivenCommandType getType() const override;
 
 private:
 	uint16 _stackId;
@@ -416,9 +416,9 @@ public:
 	RivenTimerCommand(MohawkEngine_Riven *vm, const Common::SharedPtr<RivenStack::TimerProc> &timerProc);
 
 	// RivenCommand API
-	virtual void dump(byte tabs) override;
-	virtual void execute() override;
-	virtual RivenCommandType getType() const override;
+	void dump(byte tabs) override;
+	void execute() override;
+	RivenCommandType getType() const override;
 
 private:
 	Common::SharedPtr<RivenStack::TimerProc> _timerProc;
diff --git a/engines/mohawk/riven_stacks/jspit.h b/engines/mohawk/riven_stacks/jspit.h
index 034bb88..be3b1dd 100644
--- a/engines/mohawk/riven_stacks/jspit.h
+++ b/engines/mohawk/riven_stacks/jspit.h
@@ -37,7 +37,7 @@ public:
 	JSpit(MohawkEngine_Riven *vm);
 
 	// RivenStack API
-	virtual void installCardTimer() override;
+	void installCardTimer() override;
 
 	// External commands - Rebel Tunnel Puzzle
 	void xreseticons(const ArgumentArray &args);
diff --git a/engines/mohawk/riven_stacks/pspit.h b/engines/mohawk/riven_stacks/pspit.h
index 9b34a90..4f51f84 100644
--- a/engines/mohawk/riven_stacks/pspit.h
+++ b/engines/mohawk/riven_stacks/pspit.h
@@ -36,7 +36,7 @@ public:
 	PSpit(MohawkEngine_Riven *vm);
 
 	// RivenStack API
-	virtual void installCardTimer() override;
+	void installCardTimer() override;
 
 	// External commands - Prison Elevator
 	void xpisland990_elevcombo(const ArgumentArray &args);	// Param1: button
diff --git a/engines/mohawk/view.h b/engines/mohawk/view.h
index 463715b..a8d817e 100644
--- a/engines/mohawk/view.h
+++ b/engines/mohawk/view.h
@@ -155,23 +155,23 @@ protected:
 class OldFeature : public Feature {
 public:
 	OldFeature(View *view);
-	~OldFeature();
+	~OldFeature() override;
 
-	void resetFrame();
-	void resetFeatureScript(uint16 enabled, uint16 scrbId);
+	void resetFrame() override;
+	void resetFeatureScript(uint16 enabled, uint16 scrbId) override;
 
 protected:
-	void resetScript();
-	void finishResetFeatureScript();
+	void resetScript() override;
+	void finishResetFeatureScript() override;
 };
 
 class NewFeature : public Feature {
 public:
 	NewFeature(View *view);
-	~NewFeature();
+	~NewFeature() override;
 
-	void resetFrame();
-	void resetFeatureScript(uint16 enabled, uint16 scrbId);
+	void resetFrame() override;
+	void resetFeatureScript(uint16 enabled, uint16 scrbId) override;
 
 	uint32 _unknown168;
 
@@ -187,8 +187,8 @@ public:
 	Common::Point _currDragPos;
 
 protected:
-	void resetScript();
-	void finishResetFeatureScript();
+	void resetScript() override;
+	void finishResetFeatureScript() override;
 };
 
 class View {


Commit: b2b78df1625490ec2050adbde7d4edb479704a21
    https://github.com/scummvm/scummvm/commit/b2b78df1625490ec2050adbde7d4edb479704a21
Author: Bastien Bouclet (bastien.bouclet at gmail.com)
Date: 2020-02-09T12:43:15+01:00

Commit Message:
MORTEVIELLE: Add override keywords

Changed paths:
    engines/mortevielle/debugger.h
    engines/mortevielle/detection.cpp
    engines/mortevielle/mortevielle.h


diff --git a/engines/mortevielle/debugger.h b/engines/mortevielle/debugger.h
index 66f5afe..99ef2c4 100644
--- a/engines/mortevielle/debugger.h
+++ b/engines/mortevielle/debugger.h
@@ -40,7 +40,7 @@ protected:
 
 public:
 	Debugger(MortevielleEngine *vm);
-	virtual ~Debugger() {}
+	~Debugger() override {}
 };
 
 } // End of namespace Mortevielle
diff --git a/engines/mortevielle/detection.cpp b/engines/mortevielle/detection.cpp
index e9fa689..a2d32c1 100644
--- a/engines/mortevielle/detection.cpp
+++ b/engines/mortevielle/detection.cpp
@@ -64,19 +64,19 @@ public:
 		return "mortevielle";
 	}
 
-	virtual const char *getName() const override {
+	const char *getName() const override {
 		return "Mortville Manor";
 	}
 
-	virtual const char *getOriginalCopyright() const override {
+	const char *getOriginalCopyright() const override {
 		return "Mortville Manor (C) 1987-89 Lankhor";
 	}
 
-	virtual bool createInstance(OSystem *syst, Engine **engine, const ADGameDescription *desc) const override;
-	virtual bool hasFeature(MetaEngineFeature f) const override;
-	virtual int getMaximumSaveSlot() const override;
-	virtual SaveStateList listSaves(const char *target) const override;
-	virtual SaveStateDescriptor querySaveMetaInfos(const char *target, int slot) const override;
+	bool createInstance(OSystem *syst, Engine **engine, const ADGameDescription *desc) const override;
+	bool hasFeature(MetaEngineFeature f) const override;
+	int getMaximumSaveSlot() const override;
+	SaveStateList listSaves(const char *target) const override;
+	SaveStateDescriptor querySaveMetaInfos(const char *target, int slot) const override;
 };
 
 bool MortevielleMetaEngine::createInstance(OSystem *syst, Engine **engine, const ADGameDescription *desc) const {
diff --git a/engines/mortevielle/mortevielle.h b/engines/mortevielle/mortevielle.h
index beb37a7..5d21994 100644
--- a/engines/mortevielle/mortevielle.h
+++ b/engines/mortevielle/mortevielle.h
@@ -438,15 +438,15 @@ public:
 	DialogManager *_dialogManager;
 
 	MortevielleEngine(OSystem *system, const MortevielleGameDescription *gameDesc);
-	~MortevielleEngine();
-	virtual bool hasFeature(EngineFeature f) const override;
-	virtual bool canLoadGameStateCurrently() override;
-	virtual bool canSaveGameStateCurrently() override;
-	virtual Common::Error loadGameState(int slot) override;
-	virtual Common::Error saveGameState(int slot, const Common::String &desc) override;
-	virtual Common::Error run() override;
-	virtual void pauseEngineIntern(bool pause) override;
-	virtual GUI::Debugger *getDebugger() override { return _debugger; }
+	~MortevielleEngine() override;
+	bool hasFeature(EngineFeature f) const override;
+	bool canLoadGameStateCurrently() override;
+	bool canSaveGameStateCurrently() override;
+	Common::Error loadGameState(int slot) override;
+	Common::Error saveGameState(int slot, const Common::String &desc) override;
+	Common::Error run() override;
+	void pauseEngineIntern(bool pause) override;
+	GUI::Debugger *getDebugger() override { return _debugger; }
 	uint32 getGameFlags() const;
 	Common::Language getLanguage() const;
 	Common::Language getOriginalLanguage() const;


Commit: a08dc0b9dc704fb136c4df12b6082965c7126319
    https://github.com/scummvm/scummvm/commit/a08dc0b9dc704fb136c4df12b6082965c7126319
Author: Bastien Bouclet (bastien.bouclet at gmail.com)
Date: 2020-02-09T12:43:15+01:00

Commit Message:
MUTATIONOFJB: Add override keywords

Changed paths:
    engines/mutationofjb/commands/additemcommand.h
    engines/mutationofjb/commands/bitmapvisibilitycommand.h
    engines/mutationofjb/commands/callmacrocommand.h
    engines/mutationofjb/commands/camefromcommand.h
    engines/mutationofjb/commands/changecommand.h
    engines/mutationofjb/commands/conditionalcommand.h
    engines/mutationofjb/commands/definestructcommand.h
    engines/mutationofjb/commands/endblockcommand.h
    engines/mutationofjb/commands/gotocommand.h
    engines/mutationofjb/commands/ifcommand.h
    engines/mutationofjb/commands/ifitemcommand.h
    engines/mutationofjb/commands/ifpiggycommand.h
    engines/mutationofjb/commands/labelcommand.h
    engines/mutationofjb/commands/loadplayercommand.h
    engines/mutationofjb/commands/newroomcommand.h
    engines/mutationofjb/commands/playanimationcommand.h
    engines/mutationofjb/commands/randomcommand.h
    engines/mutationofjb/commands/removeallitemscommand.h
    engines/mutationofjb/commands/removeitemcommand.h
    engines/mutationofjb/commands/renamecommand.h
    engines/mutationofjb/commands/saycommand.h
    engines/mutationofjb/commands/seqcommand.h
    engines/mutationofjb/commands/setcolorcommand.h
    engines/mutationofjb/commands/setobjectframecommand.h
    engines/mutationofjb/commands/specialshowcommand.h
    engines/mutationofjb/commands/switchpartcommand.h
    engines/mutationofjb/commands/talkcommand.h
    engines/mutationofjb/debug.h
    engines/mutationofjb/detection.cpp
    engines/mutationofjb/encryptedfile.h
    engines/mutationofjb/font.h
    engines/mutationofjb/gamedata.h
    engines/mutationofjb/gamescreen.cpp
    engines/mutationofjb/gamescreen.h
    engines/mutationofjb/inventory.h
    engines/mutationofjb/mutationofjb.h
    engines/mutationofjb/room.cpp
    engines/mutationofjb/tasks/conversationtask.h
    engines/mutationofjb/tasks/objectanimationtask.h
    engines/mutationofjb/tasks/saytask.h
    engines/mutationofjb/tasks/sequentialtask.h
    engines/mutationofjb/widgets/buttonwidget.h
    engines/mutationofjb/widgets/conversationwidget.h
    engines/mutationofjb/widgets/gamewidget.h
    engines/mutationofjb/widgets/imagewidget.h
    engines/mutationofjb/widgets/inventorywidget.h
    engines/mutationofjb/widgets/labelwidget.h


diff --git a/engines/mutationofjb/commands/additemcommand.h b/engines/mutationofjb/commands/additemcommand.h
index d740d35..a88395b 100644
--- a/engines/mutationofjb/commands/additemcommand.h
+++ b/engines/mutationofjb/commands/additemcommand.h
@@ -32,15 +32,15 @@ class AddItemCommandParser : public SeqCommandParser {
 public:
 	AddItemCommandParser() {}
 
-	virtual bool parse(const Common::String &line, ScriptParseContext &parseCtx, Command *&command) override;
+	bool parse(const Common::String &line, ScriptParseContext &parseCtx, Command *&command) override;
 };
 
 class AddItemCommand : public SeqCommand {
 public:
 	AddItemCommand(const Common::String &item) : _item(item) {}
 
-	virtual ExecuteResult execute(ScriptExecutionContext &scriptExecCtx) override;
-	virtual Common::String debugString() const override;
+	ExecuteResult execute(ScriptExecutionContext &scriptExecCtx) override;
+	Common::String debugString() const override;
 private:
 	Common::String _item;
 };
diff --git a/engines/mutationofjb/commands/bitmapvisibilitycommand.h b/engines/mutationofjb/commands/bitmapvisibilitycommand.h
index 366abd3..e203195 100644
--- a/engines/mutationofjb/commands/bitmapvisibilitycommand.h
+++ b/engines/mutationofjb/commands/bitmapvisibilitycommand.h
@@ -32,7 +32,7 @@ class BitmapVisibilityCommandParser : public SeqCommandParser {
 public:
 	BitmapVisibilityCommandParser() {}
 
-	virtual bool parse(const Common::String &line, ScriptParseContext &parseCtx, Command *&command);
+	bool parse(const Common::String &line, ScriptParseContext &parseCtx, Command *&command) override;
 };
 
 class BitmapVisibilityCommand : public SeqCommand {
@@ -40,8 +40,8 @@ public:
 	BitmapVisibilityCommand(uint8 sceneId, uint8 bitmapId, bool visible) : _sceneId(sceneId), _bitmapId(bitmapId), _visible(visible) {}
 	const Common::String &getName() const;
 
-	virtual ExecuteResult execute(ScriptExecutionContext &scriptExecCtx) override;
-	virtual Common::String debugString() const override;
+	ExecuteResult execute(ScriptExecutionContext &scriptExecCtx) override;
+	Common::String debugString() const override;
 private:
 	uint8 _sceneId;
 	uint8 _bitmapId;
diff --git a/engines/mutationofjb/commands/callmacrocommand.h b/engines/mutationofjb/commands/callmacrocommand.h
index 0486bcd..a210df2 100644
--- a/engines/mutationofjb/commands/callmacrocommand.h
+++ b/engines/mutationofjb/commands/callmacrocommand.h
@@ -33,8 +33,8 @@ class CallMacroCommandParser : public CommandParser {
 public:
 	CallMacroCommandParser() {}
 
-	virtual bool parse(const Common::String &line, ScriptParseContext &parseCtx, Command *&command) override;
-	virtual void transition(ScriptParseContext &parseCtx, Command *oldCommand, Command *newCommand, CommandParser *newCommandParser) override;
+	bool parse(const Common::String &line, ScriptParseContext &parseCtx, Command *&command) override;
+	void transition(ScriptParseContext &parseCtx, Command *oldCommand, Command *newCommand, CommandParser *newCommandParser) override;
 };
 
 class CallMacroCommand : public Command {
@@ -44,9 +44,9 @@ public:
 
 	Command *getReturnCommand() const;
 
-	virtual ExecuteResult execute(ScriptExecutionContext &scriptExecCtx) override;
+	ExecuteResult execute(ScriptExecutionContext &scriptExecCtx) override;
 	Command *next() const override;
-	virtual Common::String debugString() const override;
+	Common::String debugString() const override;
 private:
 	Common::String _macroName;
 	Command *_returnCommand;
diff --git a/engines/mutationofjb/commands/camefromcommand.h b/engines/mutationofjb/commands/camefromcommand.h
index c2e971d..6dfc5e3 100644
--- a/engines/mutationofjb/commands/camefromcommand.h
+++ b/engines/mutationofjb/commands/camefromcommand.h
@@ -31,14 +31,14 @@ namespace MutationOfJB {
 class CameFromCommandParser : public ConditionalCommandParser {
 public:
 	CameFromCommandParser() : ConditionalCommandParser(true) {}
-	virtual bool parse(const Common::String &line, ScriptParseContext &parseCtx, Command *&command);
+	bool parse(const Common::String &line, ScriptParseContext &parseCtx, Command *&command) override;
 };
 
 class CameFromCommand : public ConditionalCommand {
 public:
 	CameFromCommand(uint8 sceneId) : _sceneId(sceneId) {}
-	virtual ExecuteResult execute(ScriptExecutionContext &scriptExecCtx) override;
-	virtual Common::String debugString() const override;
+	ExecuteResult execute(ScriptExecutionContext &scriptExecCtx) override;
+	Common::String debugString() const override;
 private:
 	uint8 _sceneId;
 };
diff --git a/engines/mutationofjb/commands/changecommand.h b/engines/mutationofjb/commands/changecommand.h
index cb3a9b7..9356314 100644
--- a/engines/mutationofjb/commands/changecommand.h
+++ b/engines/mutationofjb/commands/changecommand.h
@@ -90,22 +90,22 @@ protected:
 
 class ChangeObjectCommandParser : public ChangeCommandParser {
 public:
-	virtual bool parse(const Common::String &line, ScriptParseContext &parseCtx, Command *&command) override;
+	bool parse(const Common::String &line, ScriptParseContext &parseCtx, Command *&command) override;
 };
 
 class ChangeDoorCommandParser : public ChangeCommandParser {
 public:
-	virtual bool parse(const Common::String &line, ScriptParseContext &parseCtx, Command *&command) override;
+	bool parse(const Common::String &line, ScriptParseContext &parseCtx, Command *&command) override;
 };
 
 class ChangeStaticCommandParser : public ChangeCommandParser {
 public:
-	virtual bool parse(const Common::String &line, ScriptParseContext &parseCtx, Command *&command) override;
+	bool parse(const Common::String &line, ScriptParseContext &parseCtx, Command *&command) override;
 };
 
 class ChangeSceneCommandParser : public ChangeCommandParser {
 public:
-	virtual bool parse(const Common::String &line, ScriptParseContext &parseCtx, Command *&command) override;
+	bool parse(const Common::String &line, ScriptParseContext &parseCtx, Command *&command) override;
 };
 
 class ChangeDoorCommand : public ChangeCommand {
@@ -113,8 +113,8 @@ public:
 	ChangeDoorCommand(uint8 sceneId, uint8 doorId, ChangeRegister reg, ChangeOperation op, const ChangeCommandValue &val)
 		: ChangeCommand(sceneId, doorId, reg, op, val)
 	{}
-	virtual ExecuteResult execute(ScriptExecutionContext &scriptExecCtx) override;
-	virtual Common::String debugString() const override;
+	ExecuteResult execute(ScriptExecutionContext &scriptExecCtx) override;
+	Common::String debugString() const override;
 };
 
 class ChangeObjectCommand : public ChangeCommand {
@@ -122,8 +122,8 @@ public:
 	ChangeObjectCommand(uint8 sceneId, uint8 objectId, ChangeRegister reg, ChangeOperation op, const ChangeCommandValue &val)
 		: ChangeCommand(sceneId, objectId, reg, op, val)
 	{}
-	virtual ExecuteResult execute(ScriptExecutionContext &scriptExecCtx) override;
-	virtual Common::String debugString() const override;
+	ExecuteResult execute(ScriptExecutionContext &scriptExecCtx) override;
+	Common::String debugString() const override;
 };
 
 class ChangeStaticCommand : public ChangeCommand {
@@ -131,8 +131,8 @@ public:
 	ChangeStaticCommand(uint8 sceneId, uint8 staticId, ChangeRegister reg, ChangeOperation op, const ChangeCommandValue &val)
 		: ChangeCommand(sceneId, staticId, reg, op, val)
 	{}
-	virtual ExecuteResult execute(ScriptExecutionContext &scriptExecCtx) override;
-	virtual Common::String debugString() const override;
+	ExecuteResult execute(ScriptExecutionContext &scriptExecCtx) override;
+	Common::String debugString() const override;
 };
 
 class ChangeSceneCommand : public ChangeCommand {
@@ -140,8 +140,8 @@ public:
 	ChangeSceneCommand(uint8 sceneId, uint8 staticId, ChangeRegister reg, ChangeOperation op, const ChangeCommandValue &val)
 		: ChangeCommand(sceneId, staticId, reg, op, val)
 	{}
-	virtual ExecuteResult execute(ScriptExecutionContext &scriptExecCtx) override;
-	virtual Common::String debugString() const override;
+	ExecuteResult execute(ScriptExecutionContext &scriptExecCtx) override;
+	Common::String debugString() const override;
 };
 
 }
diff --git a/engines/mutationofjb/commands/conditionalcommand.h b/engines/mutationofjb/commands/conditionalcommand.h
index dff33da..fef7639 100644
--- a/engines/mutationofjb/commands/conditionalcommand.h
+++ b/engines/mutationofjb/commands/conditionalcommand.h
@@ -32,8 +32,8 @@ namespace MutationOfJB {
 class ConditionalCommandParser : public CommandParser {
 public:
 	ConditionalCommandParser(bool firstHash = false) : _firstHash(firstHash) {}
-	virtual void transition(ScriptParseContext &parseCtx, Command *oldCommand, Command *newCommand, CommandParser *newCommandParser) override;
-	virtual void finish(ScriptParseContext &parseCtx) override;
+	void transition(ScriptParseContext &parseCtx, Command *oldCommand, Command *newCommand, CommandParser *newCommandParser) override;
+	void finish(ScriptParseContext &parseCtx) override;
 protected:
 	Common::Queue<char> _tags;
 private:
@@ -50,7 +50,7 @@ public:
 	void setTrueCommand(Command *command);
 	void setFalseCommand(Command *command);
 
-	virtual Command *next() const override;
+	Command *next() const override;
 protected:
 	Command *_trueCommand;
 	Command *_falseCommand;
diff --git a/engines/mutationofjb/commands/definestructcommand.h b/engines/mutationofjb/commands/definestructcommand.h
index 651f943..de4e1a7 100644
--- a/engines/mutationofjb/commands/definestructcommand.h
+++ b/engines/mutationofjb/commands/definestructcommand.h
@@ -27,14 +27,14 @@ namespace MutationOfJB {
 
 class DefineStructCommandParser : public SeqCommandParser {
 public:
-	virtual bool parse(const Common::String &line, ScriptParseContext &parseCtx, Command *&command) override;
+	bool parse(const Common::String &line, ScriptParseContext &parseCtx, Command *&command) override;
 };
 
 class DefineStructCommand : public SeqCommand {
 public:
 	DefineStructCommand(const ConversationInfo& convInfo) : _conversationInfo(convInfo) {}
-	virtual Command::ExecuteResult execute(ScriptExecutionContext &scriptExecCtx) override;
-	virtual Common::String debugString() const override;
+	Command::ExecuteResult execute(ScriptExecutionContext &scriptExecCtx) override;
+	Common::String debugString() const override;
 private:
 	ConversationInfo _conversationInfo;
 };
diff --git a/engines/mutationofjb/commands/endblockcommand.h b/engines/mutationofjb/commands/endblockcommand.h
index b9ac15c..a3a093b 100644
--- a/engines/mutationofjb/commands/endblockcommand.h
+++ b/engines/mutationofjb/commands/endblockcommand.h
@@ -35,9 +35,9 @@ class EndBlockCommandParser : public CommandParser {
 public:
 	EndBlockCommandParser() : _elseFound(false), _hashFound(false), _ifTag(0) {}
 
-	virtual bool parse(const Common::String &line, ScriptParseContext &parseCtx, Command *&command) override;
-	virtual void transition(ScriptParseContext &parseCtx, Command *oldCommand, Command *newCommand, CommandParser *newCommandParser) override;
-	virtual void finish(ScriptParseContext &parseCtx) override;
+	bool parse(const Common::String &line, ScriptParseContext &parseCtx, Command *&command) override;
+	void transition(ScriptParseContext &parseCtx, Command *oldCommand, Command *newCommand, CommandParser *newCommandParser) override;
+	void finish(ScriptParseContext &parseCtx) override;
 private:
 	bool _elseFound;
 	bool _hashFound;
@@ -64,9 +64,9 @@ public:
 	EndBlockCommand() : _nextCmd(nullptr) {}
 	static bool ParseFunc(const Common::String &line, ScriptParseContext &parseContext, Command *&command);
 
-	virtual ExecuteResult execute(ScriptExecutionContext &scriptExecCtx) override;
-	virtual Command *next() const override;
-	virtual Common::String debugString() const override;
+	ExecuteResult execute(ScriptExecutionContext &scriptExecCtx) override;
+	Command *next() const override;
+	Common::String debugString() const override;
 private:
 	Command *_nextCmd;
 };
diff --git a/engines/mutationofjb/commands/gotocommand.h b/engines/mutationofjb/commands/gotocommand.h
index b56e642..f507a63 100644
--- a/engines/mutationofjb/commands/gotocommand.h
+++ b/engines/mutationofjb/commands/gotocommand.h
@@ -34,7 +34,7 @@ class GotoCommandParser : public CommandParser {
 public:
 	GotoCommandParser() {}
 
-	virtual bool parse(const Common::String &line, ScriptParseContext &parseCtx, Command *&command) override;
+	bool parse(const Common::String &line, ScriptParseContext &parseCtx, Command *&command) override;
 };
 
 class GotoCommand : public Command {
@@ -43,9 +43,9 @@ public:
 
 	void setLabelCommand(LabelCommand *labelCmd);
 
-	virtual ExecuteResult execute(ScriptExecutionContext &scriptExecCtx) override;
-	virtual Command *next() const override;
-	virtual Common::String debugString() const override;
+	ExecuteResult execute(ScriptExecutionContext &scriptExecCtx) override;
+	Command *next() const override;
+	Common::String debugString() const override;
 private:
 	LabelCommand *_labelCommand;
 };
diff --git a/engines/mutationofjb/commands/ifcommand.h b/engines/mutationofjb/commands/ifcommand.h
index c0d93d7..ba2a89e 100644
--- a/engines/mutationofjb/commands/ifcommand.h
+++ b/engines/mutationofjb/commands/ifcommand.h
@@ -32,7 +32,7 @@ class ScriptParseContext;
 
 class IfCommandParser : public ConditionalCommandParser {
 public:
-	virtual bool parse(const Common::String &line, ScriptParseContext &parseCtx, Command *&command);
+	bool parse(const Common::String &line, ScriptParseContext &parseCtx, Command *&command) override;
 private:
 };
 
@@ -40,8 +40,8 @@ class IfCommand : public ConditionalCommand {
 public:
 	IfCommand(uint8 sceneId, uint8 objectId, uint16 value, bool negative);
 
-	virtual ExecuteResult execute(ScriptExecutionContext &scriptExecCtx) override;
-	virtual Common::String debugString() const override;
+	ExecuteResult execute(ScriptExecutionContext &scriptExecCtx) override;
+	Common::String debugString() const override;
 
 private:
 	uint8 _sceneId;
diff --git a/engines/mutationofjb/commands/ifitemcommand.h b/engines/mutationofjb/commands/ifitemcommand.h
index 77cdf0b..ab14f2c 100644
--- a/engines/mutationofjb/commands/ifitemcommand.h
+++ b/engines/mutationofjb/commands/ifitemcommand.h
@@ -33,15 +33,15 @@ class ScriptParseContext;
 
 class IfItemCommandParser : public ConditionalCommandParser {
 public:
-	virtual bool parse(const Common::String &line, ScriptParseContext &parseCtx, Command *&command) override;
+	bool parse(const Common::String &line, ScriptParseContext &parseCtx, Command *&command) override;
 };
 
 class IfItemCommand : public ConditionalCommand {
 public:
 	IfItemCommand(const Common::String &item, bool negative);
 
-	virtual ExecuteResult execute(ScriptExecutionContext &scriptExecCtx) override;
-	virtual Common::String debugString() const override;
+	ExecuteResult execute(ScriptExecutionContext &scriptExecCtx) override;
+	Common::String debugString() const override;
 
 private:
 	Common::String _item;
diff --git a/engines/mutationofjb/commands/ifpiggycommand.h b/engines/mutationofjb/commands/ifpiggycommand.h
index d1db4c9..05a39d7 100644
--- a/engines/mutationofjb/commands/ifpiggycommand.h
+++ b/engines/mutationofjb/commands/ifpiggycommand.h
@@ -33,13 +33,13 @@ class ScriptParseContext;
 
 class IfPiggyCommandParser : public ConditionalCommandParser {
 public:
-	virtual bool parse(const Common::String &line, ScriptParseContext &parseCtx, Command *&command);
+	bool parse(const Common::String &line, ScriptParseContext &parseCtx, Command *&command) override;
 };
 
 class IfPiggyCommand : public ConditionalCommand {
 public:
-	virtual ExecuteResult execute(ScriptExecutionContext &scriptExecCtx) override;
-	virtual Common::String debugString() const override;
+	ExecuteResult execute(ScriptExecutionContext &scriptExecCtx) override;
+	Common::String debugString() const override;
 
 private:
 };
diff --git a/engines/mutationofjb/commands/labelcommand.h b/engines/mutationofjb/commands/labelcommand.h
index f4acad6..5d979af 100644
--- a/engines/mutationofjb/commands/labelcommand.h
+++ b/engines/mutationofjb/commands/labelcommand.h
@@ -32,7 +32,7 @@ class LabelCommandParser : public SeqCommandParser {
 public:
 	LabelCommandParser() {}
 
-	virtual bool parse(const Common::String &line, ScriptParseContext &parseCtx, Command *&command);
+	bool parse(const Common::String &line, ScriptParseContext &parseCtx, Command *&command) override;
 };
 
 class LabelCommand : public SeqCommand {
@@ -40,8 +40,8 @@ public:
 	LabelCommand(const Common::String &name) : _name(name) {}
 	const Common::String &getName() const;
 
-	virtual ExecuteResult execute(ScriptExecutionContext &scriptExecCtx) override;
-	virtual Common::String debugString() const override;
+	ExecuteResult execute(ScriptExecutionContext &scriptExecCtx) override;
+	Common::String debugString() const override;
 private:
 	Common::String _name;
 };
diff --git a/engines/mutationofjb/commands/loadplayercommand.h b/engines/mutationofjb/commands/loadplayercommand.h
index 4616e42..e551f7e 100644
--- a/engines/mutationofjb/commands/loadplayercommand.h
+++ b/engines/mutationofjb/commands/loadplayercommand.h
@@ -33,14 +33,14 @@ class ConversationTask;
 
 class LoadPlayerCommandParser : public SeqCommandParser {
 public:
-	virtual bool parse(const Common::String &line, ScriptParseContext &parseCtx, Command *&command) override;
+	bool parse(const Common::String &line, ScriptParseContext &parseCtx, Command *&command) override;
 };
 
 class LoadPlayerCommand : public SeqCommand {
 public:
 	LoadPlayerCommand(uint8 apkFrameFirst, uint8 apkFrameLast, uint8 playerFrameFirst, uint8 palIndexFirst, const Common::String &apkFileName) : _apkFrameFirst(apkFrameFirst), _apkFrameLast(apkFrameLast), _playerFrameFirst(playerFrameFirst), _palIndexFirst(palIndexFirst), _apkFileName(apkFileName) {}
-	virtual ExecuteResult execute(ScriptExecutionContext &scriptExecCtx) override;
-	virtual Common::String debugString() const override;
+	ExecuteResult execute(ScriptExecutionContext &scriptExecCtx) override;
+	Common::String debugString() const override;
 
 private:
 	uint8 _apkFrameFirst;
diff --git a/engines/mutationofjb/commands/newroomcommand.h b/engines/mutationofjb/commands/newroomcommand.h
index f224e44..83221d6 100644
--- a/engines/mutationofjb/commands/newroomcommand.h
+++ b/engines/mutationofjb/commands/newroomcommand.h
@@ -33,15 +33,15 @@ class NewRoomCommandParser : public SeqCommandParser {
 public:
 	NewRoomCommandParser() {}
 
-	virtual bool parse(const Common::String &line, ScriptParseContext &parseCtx, Command *&command) override;
+	bool parse(const Common::String &line, ScriptParseContext &parseCtx, Command *&command) override;
 };
 
 class NewRoomCommand : public SeqCommand {
 public:
 	NewRoomCommand(uint8 sceneId, uint16 x, uint16 y, uint8 frame);
 
-	virtual ExecuteResult execute(ScriptExecutionContext &scriptExecCtx) override;
-	virtual Common::String debugString() const override;
+	ExecuteResult execute(ScriptExecutionContext &scriptExecCtx) override;
+	Common::String debugString() const override;
 private:
 	uint8 _sceneId;
 	uint16 _x;
diff --git a/engines/mutationofjb/commands/playanimationcommand.h b/engines/mutationofjb/commands/playanimationcommand.h
index 4f0d4d7..f9fca86 100644
--- a/engines/mutationofjb/commands/playanimationcommand.h
+++ b/engines/mutationofjb/commands/playanimationcommand.h
@@ -32,7 +32,7 @@ class PlayAnimationCommandParser : public SeqCommandParser {
 public:
 	PlayAnimationCommandParser() {}
 
-	virtual bool parse(const Common::String &line, ScriptParseContext &parseCtx, Command *&command);
+	bool parse(const Common::String &line, ScriptParseContext &parseCtx, Command *&command) override;
 };
 
 class PlayAnimationCommand : public SeqCommand {
@@ -40,8 +40,8 @@ public:
 	PlayAnimationCommand(int fromFrame, int toFrame) : _fromFrame(fromFrame), _toFrame(toFrame) {}
 	const Common::String &getName() const;
 
-	virtual ExecuteResult execute(ScriptExecutionContext &scriptExecCtx) override;
-	virtual Common::String debugString() const override;
+	ExecuteResult execute(ScriptExecutionContext &scriptExecCtx) override;
+	Common::String debugString() const override;
 private:
 	int _fromFrame;
 	int _toFrame;
diff --git a/engines/mutationofjb/commands/randomcommand.h b/engines/mutationofjb/commands/randomcommand.h
index ffe9fc2..3bb9c01 100644
--- a/engines/mutationofjb/commands/randomcommand.h
+++ b/engines/mutationofjb/commands/randomcommand.h
@@ -33,15 +33,15 @@ class RandomCommandParser : public CommandParser {
 public:
 	RandomCommandParser() {}
 
-	virtual bool parse(const Common::String &line, ScriptParseContext &parseCtx, Command *&command) override;
+	bool parse(const Common::String &line, ScriptParseContext &parseCtx, Command *&command) override;
 };
 
 class RandomBlockStartParser : public CommandParser {
 public:
 	RandomBlockStartParser() {}
 
-	virtual bool parse(const Common::String &line, ScriptParseContext &parseCtx, Command *&command) override;
-	virtual void transition(ScriptParseContext &parseCtx, Command *oldCommand, Command *newCommand, CommandParser *newCommandParser) override;
+	bool parse(const Common::String &line, ScriptParseContext &parseCtx, Command *&command) override;
+	void transition(ScriptParseContext &parseCtx, Command *oldCommand, Command *newCommand, CommandParser *newCommandParser) override;
 };
 
 class RandomCommand : public Command {
@@ -52,10 +52,10 @@ public:
 
 	RandomCommand(uint numChoices);
 
-	virtual ExecuteResult execute(ScriptExecutionContext &scriptExecCtx) override;
-	virtual Command *next() const override;
+	ExecuteResult execute(ScriptExecutionContext &scriptExecCtx) override;
+	Command *next() const override;
 
-	virtual Common::String debugString() const override;
+	Common::String debugString() const override;
 
 	const Choices &getChoices() const;
 
diff --git a/engines/mutationofjb/commands/removeallitemscommand.h b/engines/mutationofjb/commands/removeallitemscommand.h
index 92fe93f..602a63f 100644
--- a/engines/mutationofjb/commands/removeallitemscommand.h
+++ b/engines/mutationofjb/commands/removeallitemscommand.h
@@ -31,15 +31,15 @@ class RemoveAllItemsCommandParser : public SeqCommandParser {
 public:
 	RemoveAllItemsCommandParser() {}
 
-	virtual bool parse(const Common::String &line, ScriptParseContext &parseCtx, Command *&command);
+	bool parse(const Common::String &line, ScriptParseContext &parseCtx, Command *&command) override;
 };
 
 class RemoveAllItemsCommand : public SeqCommand {
 public:
 	RemoveAllItemsCommand() {}
 
-	virtual ExecuteResult execute(ScriptExecutionContext &scriptExecCtx) override;
-	virtual Common::String debugString() const override;
+	ExecuteResult execute(ScriptExecutionContext &scriptExecCtx) override;
+	Common::String debugString() const override;
 private:
 };
 
diff --git a/engines/mutationofjb/commands/removeitemcommand.h b/engines/mutationofjb/commands/removeitemcommand.h
index 0aa13f5..16073c6 100644
--- a/engines/mutationofjb/commands/removeitemcommand.h
+++ b/engines/mutationofjb/commands/removeitemcommand.h
@@ -32,15 +32,15 @@ class RemoveItemCommandParser : public SeqCommandParser {
 public:
 	RemoveItemCommandParser() {}
 
-	virtual bool parse(const Common::String &line, ScriptParseContext &parseCtx, Command *&command);
+	bool parse(const Common::String &line, ScriptParseContext &parseCtx, Command *&command) override;
 };
 
 class RemoveItemCommand : public SeqCommand {
 public:
 	RemoveItemCommand(const Common::String &item) : _item(item) {}
 
-	virtual ExecuteResult execute(ScriptExecutionContext &scriptExecCtx) override;
-	virtual Common::String debugString() const override;
+	ExecuteResult execute(ScriptExecutionContext &scriptExecCtx) override;
+	Common::String debugString() const override;
 private:
 	Common::String _item;
 };
diff --git a/engines/mutationofjb/commands/renamecommand.h b/engines/mutationofjb/commands/renamecommand.h
index 566d46e..cf10357 100644
--- a/engines/mutationofjb/commands/renamecommand.h
+++ b/engines/mutationofjb/commands/renamecommand.h
@@ -30,15 +30,15 @@ namespace MutationOfJB {
 
 class RenameCommandParser : public SeqCommandParser {
 public:
-	virtual bool parse(const Common::String &line, ScriptParseContext &parseCtx, Command *&command) override;
+	bool parse(const Common::String &line, ScriptParseContext &parseCtx, Command *&command) override;
 };
 
 class RenameCommand : public SeqCommand {
 public:
 	RenameCommand(const Common::String &oldName, const Common::String &newName) : _oldName(oldName), _newName(newName) {}
 
-	virtual Command::ExecuteResult execute(ScriptExecutionContext &scriptExecCtx) override;
-	virtual Common::String debugString() const override;
+	Command::ExecuteResult execute(ScriptExecutionContext &scriptExecCtx) override;
+	Common::String debugString() const override;
 
 private:
 	Common::String _oldName;
diff --git a/engines/mutationofjb/commands/saycommand.h b/engines/mutationofjb/commands/saycommand.h
index 60c7cc8..b5df58a 100644
--- a/engines/mutationofjb/commands/saycommand.h
+++ b/engines/mutationofjb/commands/saycommand.h
@@ -32,7 +32,7 @@ class SayCommandParser : public SeqCommandParser {
 public:
 	SayCommandParser() {}
 
-	virtual bool parse(const Common::String &line, ScriptParseContext &parseCtx, Command *&command) override;
+	bool parse(const Common::String &line, ScriptParseContext &parseCtx, Command *&command) override;
 };
 
 class SayCommand : public SeqCommand {
@@ -42,8 +42,8 @@ public:
 		_voiceFile(voiceFile),
 		_waitForPrevious(waitForPrevious),
 		_talkingAnimation(talkingAnimation) {}
-	virtual ExecuteResult execute(ScriptExecutionContext &scriptExecCtx) override;
-	virtual Common::String debugString() const override;
+	ExecuteResult execute(ScriptExecutionContext &scriptExecCtx) override;
+	Common::String debugString() const override;
 private:
 	Common::String _lineToSay;
 	Common::String _voiceFile;
diff --git a/engines/mutationofjb/commands/seqcommand.h b/engines/mutationofjb/commands/seqcommand.h
index f61f33b..a4573b6 100644
--- a/engines/mutationofjb/commands/seqcommand.h
+++ b/engines/mutationofjb/commands/seqcommand.h
@@ -30,7 +30,7 @@ namespace MutationOfJB {
 
 class SeqCommandParser : public CommandParser {
 public:
-	virtual void transition(ScriptParseContext &parseCtx, Command *oldCommand, Command *newCommand, CommandParser *newCommandParser) override;
+	void transition(ScriptParseContext &parseCtx, Command *oldCommand, Command *newCommand, CommandParser *newCommandParser) override;
 };
 
 /**
@@ -40,7 +40,7 @@ class SeqCommand : public Command {
 public:
 	SeqCommand() : _nextCommand(nullptr) {}
 	void setNextCommand(Command *nextCommand);
-	virtual Command *next() const override;
+	Command *next() const override;
 
 private:
 	Command *_nextCommand;
diff --git a/engines/mutationofjb/commands/setcolorcommand.h b/engines/mutationofjb/commands/setcolorcommand.h
index ace36ff..29f2475 100644
--- a/engines/mutationofjb/commands/setcolorcommand.h
+++ b/engines/mutationofjb/commands/setcolorcommand.h
@@ -31,7 +31,7 @@ namespace MutationOfJB {
 
 class SetColorCommandParser : public SeqCommandParser {
 public:
-	virtual bool parse(const Common::String &line, ScriptParseContext &parseCtx, Command *&command) override;
+	bool parse(const Common::String &line, ScriptParseContext &parseCtx, Command *&command) override;
 };
 
 
@@ -39,8 +39,8 @@ class SetColorCommand : public SeqCommand {
 public:
 	SetColorCommand(uint8 color) : _color(color) {}
 
-	virtual Command::ExecuteResult execute(ScriptExecutionContext &scriptExecCtx) override;
-	virtual Common::String debugString() const override;
+	Command::ExecuteResult execute(ScriptExecutionContext &scriptExecCtx) override;
+	Common::String debugString() const override;
 
 private:
 	uint8 _color;
diff --git a/engines/mutationofjb/commands/setobjectframecommand.h b/engines/mutationofjb/commands/setobjectframecommand.h
index b8c091b..9d5c0ed 100644
--- a/engines/mutationofjb/commands/setobjectframecommand.h
+++ b/engines/mutationofjb/commands/setobjectframecommand.h
@@ -32,15 +32,15 @@ class SetObjectFrameCommandParser : public SeqCommandParser {
 public:
 	SetObjectFrameCommandParser() {}
 
-	virtual bool parse(const Common::String &line, ScriptParseContext &parseCtx, Command *&command);
+	bool parse(const Common::String &line, ScriptParseContext &parseCtx, Command *&command) override;
 };
 
 class SetObjectFrameCommand : public SeqCommand {
 public:
 	SetObjectFrameCommand(uint8 objectId, uint8 frame) : _objectId(objectId), _frame(frame) {}
 
-	virtual ExecuteResult execute(ScriptExecutionContext &scriptExecCtx) override;
-	virtual Common::String debugString() const override;
+	ExecuteResult execute(ScriptExecutionContext &scriptExecCtx) override;
+	Common::String debugString() const override;
 private:
 	uint8 _objectId;
 	uint8 _frame;
diff --git a/engines/mutationofjb/commands/specialshowcommand.h b/engines/mutationofjb/commands/specialshowcommand.h
index 402940d..fb7d679 100644
--- a/engines/mutationofjb/commands/specialshowcommand.h
+++ b/engines/mutationofjb/commands/specialshowcommand.h
@@ -30,7 +30,7 @@ namespace MutationOfJB {
 
 class SpecialShowCommandParser : public SeqCommandParser {
 public:
-	virtual bool parse(const Common::String &line, ScriptParseContext &parseCtx, Command *&command) override;
+	bool parse(const Common::String &line, ScriptParseContext &parseCtx, Command *&command) override;
 };
 
 class SpecialShowCommand : public SeqCommand {
@@ -41,8 +41,8 @@ public:
 	};
 
 	SpecialShowCommand(Mode mode) : _mode(mode) {}
-	virtual ExecuteResult execute(ScriptExecutionContext &scriptExecCtx) override;
-	virtual Common::String debugString() const override;
+	ExecuteResult execute(ScriptExecutionContext &scriptExecCtx) override;
+	Common::String debugString() const override;
 
 private:
 	Mode _mode;
diff --git a/engines/mutationofjb/commands/switchpartcommand.h b/engines/mutationofjb/commands/switchpartcommand.h
index ded49a5..674572d 100644
--- a/engines/mutationofjb/commands/switchpartcommand.h
+++ b/engines/mutationofjb/commands/switchpartcommand.h
@@ -32,14 +32,14 @@ class ConversationTask;
 
 class SwitchPartCommandParser : public SeqCommandParser {
 public:
-	virtual bool parse(const Common::String &line, ScriptParseContext &parseCtx, Command *&command) override;
+	bool parse(const Common::String &line, ScriptParseContext &parseCtx, Command *&command) override;
 };
 
 class SwitchPartCommand : public SeqCommand {
 public:
 	SwitchPartCommand() {}
-	virtual ExecuteResult execute(ScriptExecutionContext &scriptExecCtx) override;
-	virtual Common::String debugString() const override;
+	ExecuteResult execute(ScriptExecutionContext &scriptExecCtx) override;
+	Common::String debugString() const override;
 };
 
 }
diff --git a/engines/mutationofjb/commands/talkcommand.h b/engines/mutationofjb/commands/talkcommand.h
index cf01ddd..2b6e940 100644
--- a/engines/mutationofjb/commands/talkcommand.h
+++ b/engines/mutationofjb/commands/talkcommand.h
@@ -33,7 +33,7 @@ class ConversationTask;
 
 class TalkCommandParser : public SeqCommandParser {
 public:
-	virtual bool parse(const Common::String &line, ScriptParseContext &parseCtx, Command *&command) override;
+	bool parse(const Common::String &line, ScriptParseContext &parseCtx, Command *&command) override;
 };
 
 class TalkCommand : public SeqCommand {
@@ -45,8 +45,8 @@ public:
 	};
 
 	TalkCommand(Mode mode) : _mode(mode) {}
-	virtual ExecuteResult execute(ScriptExecutionContext &scriptExecCtx) override;
-	virtual Common::String debugString() const override;
+	ExecuteResult execute(ScriptExecutionContext &scriptExecCtx) override;
+	Common::String debugString() const override;
 
 private:
 	Mode _mode;
diff --git a/engines/mutationofjb/debug.h b/engines/mutationofjb/debug.h
index 679cafc..516f81e 100644
--- a/engines/mutationofjb/debug.h
+++ b/engines/mutationofjb/debug.h
@@ -34,7 +34,7 @@ class Script;
 class Console : public GUI::Debugger {
 public:
 	Console(MutationOfJBEngine *vm);
-	virtual ~Console(void) {}
+	~Console(void) override {}
 private:
 	bool cmd_showallcommands(int argc, const char **argv);
 	bool cmd_listsections(int argc, const char **argv);
diff --git a/engines/mutationofjb/detection.cpp b/engines/mutationofjb/detection.cpp
index 1fe21ba..cbe50cc 100644
--- a/engines/mutationofjb/detection.cpp
+++ b/engines/mutationofjb/detection.cpp
@@ -96,22 +96,22 @@ public:
 		return "mutationofjb";
 	}
 
-	virtual const char *getName() const override {
+	const char *getName() const override {
 		return "Mutation of J.B.";
 	}
 
-	virtual const char *getOriginalCopyright() const override {
+	const char *getOriginalCopyright() const override {
 		return "Mutation of J.B. (C) 1996 RIKI Computer Games";
 	}
 
-	virtual bool createInstance(OSystem *syst, Engine **engine, const ADGameDescription *desc) const override {
+	bool createInstance(OSystem *syst, Engine **engine, const ADGameDescription *desc) const override {
 		if (desc) {
 			*engine = new MutationOfJB::MutationOfJBEngine(syst, desc);
 		}
 		return desc != nullptr;
 	}
 
-	virtual bool hasFeature(MetaEngineFeature f) const override {
+	bool hasFeature(MetaEngineFeature f) const override {
 		if (f == kSupportsListSaves || f == kSimpleSavesNames || f == kSupportsLoadingDuringStartup) {
 			return true;
 		}
@@ -119,11 +119,11 @@ public:
 		return false;
 	}
 
-	virtual int getMaximumSaveSlot() const override {
+	int getMaximumSaveSlot() const override {
 		return 999;
 	}
 
-	virtual SaveStateList listSaves(const char *target) const override {
+	SaveStateList listSaves(const char *target) const override {
 		Common::SaveFileManager *const saveFileMan = g_system->getSavefileManager();
 		Common::StringArray filenames;
 		Common::String pattern = target;
diff --git a/engines/mutationofjb/encryptedfile.h b/engines/mutationofjb/encryptedfile.h
index 2053f1f..d01059e 100644
--- a/engines/mutationofjb/encryptedfile.h
+++ b/engines/mutationofjb/encryptedfile.h
@@ -29,7 +29,7 @@ namespace MutationOfJB {
 
 class EncryptedFile : public Common::File {
 public:
-	virtual uint32 read(void *dataPtr, uint32 dataSize) override;
+	uint32 read(void *dataPtr, uint32 dataSize) override;
 };
 
 }
diff --git a/engines/mutationofjb/font.h b/engines/mutationofjb/font.h
index 51825db..b86526d 100644
--- a/engines/mutationofjb/font.h
+++ b/engines/mutationofjb/font.h
@@ -40,11 +40,11 @@ class Font : public Graphics::Font {
 public:
 	Font(const Common::String &fileName, int horizSpacing, int lineHeight);
 
-	virtual int getFontHeight() const override;
-	virtual int getMaxCharWidth() const override;
-	virtual int getCharWidth(uint32 chr) const override;
-	virtual int getKerningOffset(uint32 left, uint32 right) const override;
-	virtual void drawChar(Graphics::Surface *dst, uint32 chr, int x, int y, uint32 color) const override;
+	int getFontHeight() const override;
+	int getMaxCharWidth() const override;
+	int getCharWidth(uint32 chr) const override;
+	int getKerningOffset(uint32 left, uint32 right) const override;
+	void drawChar(Graphics::Surface *dst, uint32 chr, int x, int y, uint32 color) const override;
 
 protected:
 	virtual uint8 transformColor(uint8 baseColor, uint8 glyphColor) const;
@@ -69,7 +69,7 @@ public:
 	SpeechFont();
 
 protected:
-	virtual uint8 transformColor(uint8 baseColor, uint8 glyphColor) const override;
+	uint8 transformColor(uint8 baseColor, uint8 glyphColor) const override;
 };
 
 }
diff --git a/engines/mutationofjb/gamedata.h b/engines/mutationofjb/gamedata.h
index e4bc611..4ee788b 100644
--- a/engines/mutationofjb/gamedata.h
+++ b/engines/mutationofjb/gamedata.h
@@ -106,7 +106,7 @@ struct Door : public Common::Serializable {
 	 *
 	 * @param sz Serializer.
 	 */
-	virtual void saveLoadWithSerializer(Common::Serializer &sz) override;
+	void saveLoadWithSerializer(Common::Serializer &sz) override;
 
 	/**
 	 * Check whether walk action used on this door causes implicit scene change.
@@ -205,7 +205,7 @@ struct Object : public Common::Serializable {
 	 *
 	 * @param sz Serializer.
 	 */
-	virtual void saveLoadWithSerializer(Common::Serializer &sz) override;
+	void saveLoadWithSerializer(Common::Serializer &sz) override;
 };
 
 /**
@@ -257,7 +257,7 @@ struct Static : public Common::Serializable {
 	 *
 	 * @param sz Serializer.
 	 */
-	virtual void saveLoadWithSerializer(Common::Serializer &sz) override;
+	void saveLoadWithSerializer(Common::Serializer &sz) override;
 
 	/**
 	 * Check whether this static is combinable.
@@ -307,7 +307,7 @@ struct Bitmap : public Common::Serializable {
 	 *
 	 * @param sz Serializer.
 	 */
-	virtual void saveLoadWithSerializer(Common::Serializer &sz) override;
+	void saveLoadWithSerializer(Common::Serializer &sz) override;
 };
 
 /**
@@ -423,7 +423,7 @@ struct Scene : Common::Serializable {
 	 *
 	 * @param sz Serializer.
 	 */
-	virtual void saveLoadWithSerializer(Common::Serializer &sz) override;
+	void saveLoadWithSerializer(Common::Serializer &sz) override;
 };
 
 struct ConversationInfo {
@@ -461,7 +461,7 @@ public:
 	 *
 	 * @param sz Serializer.
 	 */
-	virtual void saveLoadWithSerializer(Common::Serializer &sz) override;
+	void saveLoadWithSerializer(Common::Serializer &sz) override;
 
 	uint8 _currentScene; // Persistent.
 	uint8 _lastScene;
diff --git a/engines/mutationofjb/gamescreen.cpp b/engines/mutationofjb/gamescreen.cpp
index d7abcb1..6a51a5a 100644
--- a/engines/mutationofjb/gamescreen.cpp
+++ b/engines/mutationofjb/gamescreen.cpp
@@ -230,8 +230,8 @@ void GameScreen::refreshAfterSceneChanged() {
 class InventoryAnimationDecoderCallback : public AnimationDecoderCallback {
 public:
 	InventoryAnimationDecoderCallback(GameScreen &gui) : _gui(gui) {}
-	virtual void onFrame(int frameNo, Graphics::Surface &surface) override;
-	virtual void onPaletteUpdated(byte palette[PALETTE_SIZE]) override;
+	void onFrame(int frameNo, Graphics::Surface &surface) override;
+	void onPaletteUpdated(byte palette[PALETTE_SIZE]) override;
 private:
 	GameScreen &_gui;
 };
@@ -257,8 +257,8 @@ bool GameScreen::loadInventoryGfx() {
 class HudAnimationDecoderCallback : public AnimationDecoderCallback {
 public:
 	HudAnimationDecoderCallback(GameScreen &gui) : _gui(gui) {}
-	virtual void onFrame(int frameNo, Graphics::Surface &surface) override;
-	virtual void onPaletteUpdated(byte palette[PALETTE_SIZE]) override;
+	void onFrame(int frameNo, Graphics::Surface &surface) override;
+	void onPaletteUpdated(byte palette[PALETTE_SIZE]) override;
 private:
 	GameScreen &_gui;
 };
diff --git a/engines/mutationofjb/gamescreen.h b/engines/mutationofjb/gamescreen.h
index 37d5251..10f6aca 100644
--- a/engines/mutationofjb/gamescreen.h
+++ b/engines/mutationofjb/gamescreen.h
@@ -59,19 +59,19 @@ public:
 	friend class HudAnimationDecoderCallback;
 
 	GameScreen(Game &game, Graphics::Screen *screen);
-	~GameScreen();
+	~GameScreen() override;
 
 	bool init();
 
-	virtual void handleEvent(const Common::Event &event) override;
+	void handleEvent(const Common::Event &event) override;
 
-	virtual void onInventoryChanged() override;
-	virtual void onButtonClicked(ButtonWidget *) override;
-	virtual void onInventoryItemHovered(InventoryWidget *widget, int posInWidget) override;
-	virtual void onInventoryItemClicked(InventoryWidget *widget, int posInWidget) override;
-	virtual void onGameDoorClicked(GameWidget *, Door *door) override;
-	virtual void onGameStaticClicked(GameWidget *, Static *stat) override;
-	virtual void onGameEntityHovered(GameWidget *, const Common::String &entity) override;
+	void onInventoryChanged() override;
+	void onButtonClicked(ButtonWidget *) override;
+	void onInventoryItemHovered(InventoryWidget *widget, int posInWidget) override;
+	void onInventoryItemClicked(InventoryWidget *widget, int posInWidget) override;
+	void onGameDoorClicked(GameWidget *, Door *door) override;
+	void onGameStaticClicked(GameWidget *, Static *stat) override;
+	void onGameEntityHovered(GameWidget *, const Common::String &entity) override;
 
 	ConversationWidget &getConversationWidget();
 
diff --git a/engines/mutationofjb/inventory.h b/engines/mutationofjb/inventory.h
index 2f9428a..fab04de 100644
--- a/engines/mutationofjb/inventory.h
+++ b/engines/mutationofjb/inventory.h
@@ -60,7 +60,7 @@ public:
 
 	void setObserver(InventoryObserver *observer);
 
-	virtual void saveLoadWithSerializer(Common::Serializer &sz) override;
+	void saveLoadWithSerializer(Common::Serializer &sz) override;
 
 private:
 	void rotateItemsRight(uint n);
diff --git a/engines/mutationofjb/mutationofjb.h b/engines/mutationofjb/mutationofjb.h
index 64e52aa..cedb753 100644
--- a/engines/mutationofjb/mutationofjb.h
+++ b/engines/mutationofjb/mutationofjb.h
@@ -58,18 +58,18 @@ public:
 	};
 
 	MutationOfJBEngine(OSystem *syst, const ADGameDescription *gameDesc);
-	~MutationOfJBEngine();
+	~MutationOfJBEngine() override;
 
-	virtual Common::Error run() override;
+	Common::Error run() override;
 	Graphics::Screen *getScreen() const;
 	Game &getGame();
 	void setCursorState(CursorState cursorState);
 
-	virtual bool hasFeature(EngineFeature f) const override;
-	virtual bool canLoadGameStateCurrently() override;
-	virtual Common::Error loadGameState(int slot) override;
-	virtual bool canSaveGameStateCurrently() override;
-	virtual Common::Error saveGameState(int slot, const Common::String &desc) override;
+	bool hasFeature(EngineFeature f) const override;
+	bool canLoadGameStateCurrently() override;
+	Common::Error loadGameState(int slot) override;
+	bool canSaveGameStateCurrently() override;
+	Common::Error saveGameState(int slot, const Common::String &desc) override;
 
 	const ADGameDescription *getGameDescription() const;
 
diff --git a/engines/mutationofjb/room.cpp b/engines/mutationofjb/room.cpp
index 09c0f29..f6d5249 100644
--- a/engines/mutationofjb/room.cpp
+++ b/engines/mutationofjb/room.cpp
@@ -43,8 +43,8 @@ enum {
 class RoomAnimationDecoderCallback : public AnimationDecoderCallback {
 public:
 	RoomAnimationDecoderCallback(Room &room) : _room(room) {}
-	virtual void onFrame(int frameNo, Graphics::Surface &surface) override;
-	virtual void onPaletteUpdated(byte palette[PALETTE_SIZE]) override;
+	void onFrame(int frameNo, Graphics::Surface &surface) override;
+	void onPaletteUpdated(byte palette[PALETTE_SIZE]) override;
 private:
 	Room &_room;
 };
diff --git a/engines/mutationofjb/tasks/conversationtask.h b/engines/mutationofjb/tasks/conversationtask.h
index 9522876..7098acb 100644
--- a/engines/mutationofjb/tasks/conversationtask.h
+++ b/engines/mutationofjb/tasks/conversationtask.h
@@ -34,12 +34,12 @@ class ScriptExecutionContext;
 class ConversationTask : public Task, public ConversationWidgetCallback {
 public:
 	ConversationTask(uint8 sceneId, const ConversationInfo &convInfo, TalkCommand::Mode mode) : _sceneId(sceneId), _convInfo(convInfo), _mode(mode), _currentGroupIndex(0), _currentItem(nullptr), _substate(IDLE), _haveChoices(false), _innerExecCtx(nullptr) {}
-	virtual ~ConversationTask() {}
+	~ConversationTask() override {}
 
-	virtual void start() override;
-	virtual void update() override;
+	void start() override;
+	void update() override;
 
-	virtual void onChoiceClicked(ConversationWidget *, int response, uint32 data) override;
+	void onChoiceClicked(ConversationWidget *, int response, uint32 data) override;
 private:
 	void showChoicesOrPick();
 	const ConversationInfo::ItemGroup &getCurrentGroup() const;
diff --git a/engines/mutationofjb/tasks/objectanimationtask.h b/engines/mutationofjb/tasks/objectanimationtask.h
index 45e83b3..ca2b200 100644
--- a/engines/mutationofjb/tasks/objectanimationtask.h
+++ b/engines/mutationofjb/tasks/objectanimationtask.h
@@ -35,8 +35,8 @@ class ObjectAnimationTask : public Task {
 public:
 	ObjectAnimationTask();
 
-	virtual void start() override;
-	virtual void update() override;
+	void start() override;
+	void update() override;
 
 	/**
 	 * Advances every object animation in the current scene to the next frame.
diff --git a/engines/mutationofjb/tasks/saytask.h b/engines/mutationofjb/tasks/saytask.h
index 2200436..0bc903e 100644
--- a/engines/mutationofjb/tasks/saytask.h
+++ b/engines/mutationofjb/tasks/saytask.h
@@ -36,9 +36,9 @@ class SayTask : public Task {
 public:
 	SayTask(const Common::String &toSay, uint8 color);
 
-	virtual void start() override;
-	virtual void update() override;
-	virtual void stop() override;
+	void start() override;
+	void update() override;
+	void stop() override;
 
 private:
 	void drawSubtitle(const Common::String &text, int16 talkX, int16 talkY, uint8 color);
diff --git a/engines/mutationofjb/tasks/sequentialtask.h b/engines/mutationofjb/tasks/sequentialtask.h
index 1c00751..2f16cfa 100644
--- a/engines/mutationofjb/tasks/sequentialtask.h
+++ b/engines/mutationofjb/tasks/sequentialtask.h
@@ -34,8 +34,8 @@ class SequentialTask : public Task {
 public:
 	SequentialTask(const TaskPtrs &tasks);
 
-	virtual void start() override;
-	virtual void update() override;
+	void start() override;
+	void update() override;
 
 private:
 	void runTasks();
diff --git a/engines/mutationofjb/widgets/buttonwidget.h b/engines/mutationofjb/widgets/buttonwidget.h
index ae544b2..067b25f 100644
--- a/engines/mutationofjb/widgets/buttonwidget.h
+++ b/engines/mutationofjb/widgets/buttonwidget.h
@@ -41,10 +41,10 @@ public:
 	ButtonWidget(GuiScreen &gui, const Common::Rect &area, const Graphics::Surface &normalSurface, const Graphics::Surface &pressedSurface);
 	void setCallback(ButtonWidgetCallback *callback);
 
-	virtual void handleEvent(const Common::Event &event) override;
+	void handleEvent(const Common::Event &event) override;
 
 protected:
-	virtual void draw(Graphics::ManagedSurface &) override;
+	void draw(Graphics::ManagedSurface &) override;
 
 private:
 	Graphics::Surface _normalSurface;
diff --git a/engines/mutationofjb/widgets/conversationwidget.h b/engines/mutationofjb/widgets/conversationwidget.h
index ea6e49f..16d1f31 100644
--- a/engines/mutationofjb/widgets/conversationwidget.h
+++ b/engines/mutationofjb/widgets/conversationwidget.h
@@ -48,10 +48,10 @@ public:
 	void setChoice(int choiceNo, const Common::String &str, uint32 data = 0);
 	void clearChoices();
 
-	virtual void handleEvent(const Common::Event &event) override;
+	void handleEvent(const Common::Event &event) override;
 
 protected:
-	virtual void draw(Graphics::ManagedSurface &surface) override;
+	void draw(Graphics::ManagedSurface &surface) override;
 
 private:
 	Graphics::Surface _surface;
diff --git a/engines/mutationofjb/widgets/gamewidget.h b/engines/mutationofjb/widgets/gamewidget.h
index 29d44a6..95bf4ad 100644
--- a/engines/mutationofjb/widgets/gamewidget.h
+++ b/engines/mutationofjb/widgets/gamewidget.h
@@ -58,11 +58,11 @@ public:
 		_callback = callback;
 	}
 
-	virtual void handleEvent(const Common::Event &);
+	void handleEvent(const Common::Event &) override;
 
 	void clearState();
 protected:
-	virtual void draw(Graphics::ManagedSurface &);
+	void draw(Graphics::ManagedSurface &) override;
 
 private:
 	/**
diff --git a/engines/mutationofjb/widgets/imagewidget.h b/engines/mutationofjb/widgets/imagewidget.h
index 80f5537..65d07ac 100644
--- a/engines/mutationofjb/widgets/imagewidget.h
+++ b/engines/mutationofjb/widgets/imagewidget.h
@@ -33,7 +33,7 @@ public:
 	ImageWidget(GuiScreen &gui, const Common::Rect &area, const Graphics::Surface &image);
 
 protected:
-	virtual void draw(Graphics::ManagedSurface &surface) override;
+	void draw(Graphics::ManagedSurface &surface) override;
 
 private:
 	Graphics::Surface _image;
diff --git a/engines/mutationofjb/widgets/inventorywidget.h b/engines/mutationofjb/widgets/inventorywidget.h
index 1819aa1..e655891 100644
--- a/engines/mutationofjb/widgets/inventorywidget.h
+++ b/engines/mutationofjb/widgets/inventorywidget.h
@@ -64,10 +64,10 @@ public:
 		_callback = callback;
 	}
 
-	virtual void handleEvent(const Common::Event &event) override;
+	void handleEvent(const Common::Event &event) override;
 
 protected:
-	virtual void draw(Graphics::ManagedSurface &surface) override;
+	void draw(Graphics::ManagedSurface &surface) override;
 
 private:
 	void drawInventoryItem(Graphics::ManagedSurface &surface, const Common::String &item, int pos);
diff --git a/engines/mutationofjb/widgets/labelwidget.h b/engines/mutationofjb/widgets/labelwidget.h
index c870996..b432ee8 100644
--- a/engines/mutationofjb/widgets/labelwidget.h
+++ b/engines/mutationofjb/widgets/labelwidget.h
@@ -38,7 +38,7 @@ public:
 	void setText(const Common::String &text);
 
 protected:
-	virtual void draw(Graphics::ManagedSurface &) override;
+	void draw(Graphics::ManagedSurface &) override;
 
 private:
 	uint8 _backgroundColor;


Commit: 29cf8e0b432e10187aea8214ce60b1174ae8c3f0
    https://github.com/scummvm/scummvm/commit/29cf8e0b432e10187aea8214ce60b1174ae8c3f0
Author: Bastien Bouclet (bastien.bouclet at gmail.com)
Date: 2020-02-09T12:43:15+01:00

Commit Message:
NEVERHOOD: Add override keywords

Changed paths:
    engines/neverhood/background.h
    engines/neverhood/blbarchive.cpp
    engines/neverhood/console.h
    engines/neverhood/detection.cpp
    engines/neverhood/gamemodule.h
    engines/neverhood/graphics.h
    engines/neverhood/menumodule.h
    engines/neverhood/module.h
    engines/neverhood/modules/module1000.h
    engines/neverhood/modules/module1000_sprites.h
    engines/neverhood/modules/module1100.h
    engines/neverhood/modules/module1100_sprites.h
    engines/neverhood/modules/module1200.h
    engines/neverhood/modules/module1200_sprites.h
    engines/neverhood/modules/module1300.h
    engines/neverhood/modules/module1300_sprites.h
    engines/neverhood/modules/module1400.h
    engines/neverhood/modules/module1400_sprites.h
    engines/neverhood/modules/module1600.h
    engines/neverhood/modules/module1600_sprites.h
    engines/neverhood/modules/module1700.h
    engines/neverhood/modules/module1700_sprites.h
    engines/neverhood/modules/module1800.h
    engines/neverhood/modules/module1900.h
    engines/neverhood/modules/module1900_sprites.h
    engines/neverhood/modules/module2000.h
    engines/neverhood/modules/module2000_sprites.h
    engines/neverhood/modules/module2100.h
    engines/neverhood/modules/module2100_sprites.h
    engines/neverhood/modules/module2200.h
    engines/neverhood/modules/module2200_sprites.h
    engines/neverhood/modules/module2300.h
    engines/neverhood/modules/module2400.h
    engines/neverhood/modules/module2400_sprites.h
    engines/neverhood/modules/module2500.h
    engines/neverhood/modules/module2500_sprites.h
    engines/neverhood/modules/module2600.h
    engines/neverhood/modules/module2600_sprites.h
    engines/neverhood/modules/module2700.h
    engines/neverhood/modules/module2700_sprites.h
    engines/neverhood/modules/module2800.h
    engines/neverhood/modules/module2800_sprites.h
    engines/neverhood/modules/module3000.h
    engines/neverhood/mouse.h
    engines/neverhood/navigationscene.h
    engines/neverhood/neverhood.h
    engines/neverhood/palette.h
    engines/neverhood/scene.h
    engines/neverhood/smackerplayer.h
    engines/neverhood/smackerscene.h
    engines/neverhood/sound.h
    engines/neverhood/sprite.h


diff --git a/engines/neverhood/background.h b/engines/neverhood/background.h
index d4ba20c..1daa3c5 100644
--- a/engines/neverhood/background.h
+++ b/engines/neverhood/background.h
@@ -34,7 +34,7 @@ class Background : public Entity {
 public:
 	Background(NeverhoodEngine *vm, int objectPriority);
 	Background(NeverhoodEngine *vm, uint32 fileHash, int objectPriority, int surfacePriority);
-	virtual ~Background();
+	~Background() override;
 	BaseSurface *getSurface() { return _surface; }
 	void createSurface(int surfacePriority, int16 width, int16 height);
 	void load(uint32 fileHash);
diff --git a/engines/neverhood/blbarchive.cpp b/engines/neverhood/blbarchive.cpp
index d1d8cf1..7bdacd6 100644
--- a/engines/neverhood/blbarchive.cpp
+++ b/engines/neverhood/blbarchive.cpp
@@ -38,7 +38,7 @@ public:
 		Common::Mutex &mutex)
 		: SafeSeekableSubReadStream(parentStream, begin, end, disposeParentStream), _mutex(mutex) {
 	}
-	virtual uint32 read(void *dataPtr, uint32 dataSize);
+	uint32 read(void *dataPtr, uint32 dataSize) override;
 protected:
 	Common::Mutex &_mutex;
 };
diff --git a/engines/neverhood/console.h b/engines/neverhood/console.h
index bf1b201..5d037c8 100644
--- a/engines/neverhood/console.h
+++ b/engines/neverhood/console.h
@@ -32,7 +32,7 @@ class NeverhoodEngine;
 class Console : public GUI::Debugger {
 public:
 	Console(NeverhoodEngine *vm);
-	virtual ~Console(void);
+	~Console(void) override;
 
 private:
 	NeverhoodEngine *_vm;
diff --git a/engines/neverhood/detection.cpp b/engines/neverhood/detection.cpp
index ddd9469..ceab4fa 100644
--- a/engines/neverhood/detection.cpp
+++ b/engines/neverhood/detection.cpp
@@ -205,19 +205,19 @@ public:
 		return "neverhood";
 	}
 
-	virtual const char *getName() const override {
+	const char *getName() const override {
 		return "The Neverhood Chronicles";
 	}
 
-	virtual const char *getOriginalCopyright() const override {
+	const char *getOriginalCopyright() const override {
 		return "The Neverhood Chronicles (C) The Neverhood, Inc.";
 	}
 
-	virtual bool hasFeature(MetaEngineFeature f) const override;
-	virtual bool createInstance(OSystem *syst, Engine **engine, const ADGameDescription *desc) const override;
-	virtual const ExtraGuiOptions getExtraGuiOptions(const Common::String &target) const override;
+	bool hasFeature(MetaEngineFeature f) const override;
+	bool createInstance(OSystem *syst, Engine **engine, const ADGameDescription *desc) const override;
+	const ExtraGuiOptions getExtraGuiOptions(const Common::String &target) const override;
 	SaveStateList listSaves(const char *target) const override;
-	virtual int getMaximumSaveSlot() const override;
+	int getMaximumSaveSlot() const override;
 	void removeSaveState(const char *target, int slot) const override;
 	SaveStateDescriptor querySaveMetaInfos(const char *target, int slot) const override;
 
diff --git a/engines/neverhood/gamemodule.h b/engines/neverhood/gamemodule.h
index b8f7276..bc8e74e 100644
--- a/engines/neverhood/gamemodule.h
+++ b/engines/neverhood/gamemodule.h
@@ -31,7 +31,7 @@ namespace Neverhood {
 class GameModule : public Module {
 public:
 	GameModule(NeverhoodEngine *vm);
-	virtual ~GameModule();
+	~GameModule() override;
 	void startup();
 	void requestRestoreGame();
 	void requestRestartGame(bool requestMainMenu);
diff --git a/engines/neverhood/graphics.h b/engines/neverhood/graphics.h
index 12fb2d2..6f4d658 100644
--- a/engines/neverhood/graphics.h
+++ b/engines/neverhood/graphics.h
@@ -126,7 +126,7 @@ protected:
 class ShadowSurface : public BaseSurface {
 public:
 	ShadowSurface(NeverhoodEngine *vm, int priority, int16 width, int16 height, BaseSurface *shadowSurface);
-	virtual void draw();
+	void draw() override;
 protected:
 	BaseSurface *_shadowSurface;
 };
@@ -135,7 +135,7 @@ class FontSurface : public BaseSurface {
 public:
 	FontSurface(NeverhoodEngine *vm, NPointArray *tracking, uint charsPerRow, uint16 numRows, byte firstChar, uint16 charWidth, uint16 charHeight);
 	FontSurface(NeverhoodEngine *vm, uint32 fileHash, uint charsPerRow, uint16 numRows, byte firstChar, uint16 charWidth, uint16 charHeight);
-	virtual ~FontSurface();
+	~FontSurface() override;
 	void drawChar(BaseSurface *destSurface, int16 x, int16 y, byte chr);
 	void drawString(BaseSurface *destSurface, int16 x, int16 y, const byte *string, int stringLen = -1);
 	int16 getStringWidth(const byte *string, int stringLen);
diff --git a/engines/neverhood/menumodule.h b/engines/neverhood/menumodule.h
index 1c4ade2..e1a653e 100644
--- a/engines/neverhood/menumodule.h
+++ b/engines/neverhood/menumodule.h
@@ -41,7 +41,7 @@ typedef Common::Array<SavegameItem> SavegameList;
 class MenuModule : public Module {
 public:
 	MenuModule(NeverhoodEngine *vm, Module *parentModule, int which);
-	virtual ~MenuModule();
+	~MenuModule() override;
 	void setLoadgameInfo(uint index);
 	void setLoadgameSlot(int slot);
 	void setSavegameInfo(const Common::String &description, uint index, bool newSavegame);
@@ -86,7 +86,7 @@ protected:
 class CreditsScene : public Scene {
 public:
 	CreditsScene(NeverhoodEngine *vm, Module *parentModule, bool canAbort);
-	virtual ~CreditsScene();
+	~CreditsScene() override;
 protected:
 	int _screenIndex;
 	int _countdown;
@@ -126,9 +126,9 @@ public:
 	TextLabelWidget(NeverhoodEngine *vm, int16 x, int16 y, GameStateMenu *parentScene,
 		int baseObjectPriority, int baseSurfacePriority,
 		const byte *string, int stringLen, BaseSurface *drawSurface, int16 tx, int16 ty, FontSurface *fontSurface);
-	virtual void initialize();
-	virtual int16 getWidth();
-	virtual int16 getHeight();
+	void initialize() override;
+	int16 getWidth() override;
+	int16 getHeight() override;
 	void drawString(int maxStringLength);
 	void clear();
 	void setString(const byte *string, int stringLen);
@@ -145,11 +145,11 @@ class TextEditWidget : public Widget {
 public:
 	TextEditWidget(NeverhoodEngine *vm, int16 x, int16 y, GameStateMenu *parentScene,
 		int maxStringLength, FontSurface *fontSurface, uint32 fileHash, const NRect &rect);
-	~TextEditWidget();
-	virtual void onClick();
-	virtual void initialize();
-	virtual void enterWidget();
-	virtual void exitWidget();
+	~TextEditWidget() override;
+	void onClick() override;
+	void initialize() override;
+	void enterWidget() override;
+	void exitWidget() override;
 	void setCursor(uint32 cursorFileHash, int16 cursorWidth, int16 cursorHeight);
 	void drawCursor();
 	void updateString();
@@ -184,8 +184,8 @@ class SavegameListBox : public Widget {
 public:
 	SavegameListBox(NeverhoodEngine *vm, int16 x, int16 y, GameStateMenu *parentScene,
 		SavegameList *savegameList, FontSurface *fontSurface, uint32 bgFileHash, const NRect &rect);
-	virtual void onClick();
-	virtual void initialize();
+	void onClick() override;
+	void initialize() override;
 	void buildItems();
 	void drawItems();
 	void refresh();
@@ -216,7 +216,7 @@ public:
 		uint32 listBoxBackgroundFileHash, int16 listBoxX, int16 listBoxY, const NRect &listBoxRect,
 		uint32 textEditBackgroundFileHash, uint32 textEditCursorFileHash, int16 textEditX, int16 textEditY, const NRect &textEditRect,
 		uint32 textFileHash1, uint32 textFileHash2);
-	virtual ~GameStateMenu();
+	~GameStateMenu() override;
 	NPoint getMousePos();
 	virtual void setCurrWidget(Widget *newWidget);
 	virtual Widget *getCurrWidget() { return _currWidget; }
@@ -237,21 +237,21 @@ class SaveGameMenu : public GameStateMenu {
 public:
 	SaveGameMenu(NeverhoodEngine *vm, Module *parentModule, SavegameList *savegameList);
 protected:
-	virtual void performAction();
+	void performAction() override;
 };
 
 class LoadGameMenu : public GameStateMenu {
 public:
 	LoadGameMenu(NeverhoodEngine *vm, Module *parentModule, SavegameList *savegameList);
 protected:
-	virtual void performAction();
+	void performAction() override;
 };
 
 class DeleteGameMenu : public GameStateMenu {
 public:
 	DeleteGameMenu(NeverhoodEngine *vm, Module *parentModule, SavegameList *savegameList);
 protected:
-	virtual void performAction();
+	void performAction() override;
 };
 
 class QueryOverwriteMenu : public Scene {
diff --git a/engines/neverhood/module.h b/engines/neverhood/module.h
index d4c954c..4721609 100644
--- a/engines/neverhood/module.h
+++ b/engines/neverhood/module.h
@@ -46,8 +46,8 @@ enum SceneType {
 class Module : public Entity {
 public:
 	Module(NeverhoodEngine *vm, Module *parentModule);
-	virtual ~Module();
-	virtual void draw();
+	~Module() override;
+	void draw() override;
 	SceneType getSceneType() { return _sceneType; }
 
 	Entity *_childObject;
diff --git a/engines/neverhood/modules/module1000.h b/engines/neverhood/modules/module1000.h
index 58aa92e..09f2142 100644
--- a/engines/neverhood/modules/module1000.h
+++ b/engines/neverhood/modules/module1000.h
@@ -32,7 +32,7 @@ namespace Neverhood {
 class Module1000 : public Module {
 public:
 	Module1000(NeverhoodEngine *vm, Module *parentModule, int which);
-	virtual ~Module1000();
+	~Module1000() override;
 protected:
 	int _sceneNum;
 	uint32 _musicFileHash;
@@ -43,7 +43,7 @@ protected:
 class Scene1001 : public Scene {
 public:
 	Scene1001(NeverhoodEngine *vm, Module *parentModule, int which);
-	virtual ~Scene1001();
+	~Scene1001() override;
 protected:
 	Sprite *_asHammer;
 	Sprite *_asDoor;
@@ -56,7 +56,7 @@ protected:
 class Scene1002 : public Scene {
 public:
 	Scene1002(NeverhoodEngine *vm, Module *parentModule, int which);
-	virtual ~Scene1002();
+	~Scene1002() override;
 protected:
 	Sprite *_asRing1;
 	Sprite *_asRing2;
diff --git a/engines/neverhood/modules/module1000_sprites.h b/engines/neverhood/modules/module1000_sprites.h
index 8a03824..5664be9 100644
--- a/engines/neverhood/modules/module1000_sprites.h
+++ b/engines/neverhood/modules/module1000_sprites.h
@@ -210,7 +210,7 @@ protected:
 	uint32 hmSleeping(int messageNum, const MessageParam &param, Entity *sender);
 	uint32 hmPullHammerLever(int messageNum, const MessageParam &param, Entity *sender);
 
-	uint32 xHandleMessage(int messageNum, const MessageParam &param);
+	uint32 xHandleMessage(int messageNum, const MessageParam &param) override;
 };
 
 class KmScene1002 : public Klaymen {
@@ -244,8 +244,8 @@ protected:
 	uint32 hmPressDoorButton(int messageNum, const MessageParam &param, Entity *sender);
 	uint32 hmHitByBoxingGlove(int messageNum, const MessageParam &param, Entity *sender);
 
-	void xUpdate();
-	uint32 xHandleMessage(int messageNum, const MessageParam &param);
+	void xUpdate() override;
+	uint32 xHandleMessage(int messageNum, const MessageParam &param) override;
 };
 
 class KmScene1004 : public Klaymen {
@@ -254,7 +254,7 @@ public:
 protected:
 	void stReadNote();
 	uint32 hmReadNote(int messageNum, const MessageParam &param, Entity *sender);
-	uint32 xHandleMessage(int messageNum, const MessageParam &param);
+	uint32 xHandleMessage(int messageNum, const MessageParam &param) override;
 };
 
 } // End of namespace Neverhood
diff --git a/engines/neverhood/modules/module1100.h b/engines/neverhood/modules/module1100.h
index 31f5f8a..1858eb2 100644
--- a/engines/neverhood/modules/module1100.h
+++ b/engines/neverhood/modules/module1100.h
@@ -32,7 +32,7 @@ namespace Neverhood {
 class Module1100 : public Module {
 public:
 	Module1100(NeverhoodEngine *vm, Module *parentModule, int which);
-	virtual ~Module1100();
+	~Module1100() override;
 protected:
 	int _sceneNum;
 	int _countdown;
diff --git a/engines/neverhood/modules/module1100_sprites.h b/engines/neverhood/modules/module1100_sprites.h
index 2e50902..d738e9c 100644
--- a/engines/neverhood/modules/module1100_sprites.h
+++ b/engines/neverhood/modules/module1100_sprites.h
@@ -80,7 +80,7 @@ class KmScene1109 : public Klaymen {
 public:
 	KmScene1109(NeverhoodEngine *vm, Scene *parentScene, int16 x, int16 y);
 protected:
-	uint32 xHandleMessage(int messageNum, const MessageParam &param);
+	uint32 xHandleMessage(int messageNum, const MessageParam &param) override;
 };
 
 } // End of namespace Neverhood
diff --git a/engines/neverhood/modules/module1200.h b/engines/neverhood/modules/module1200.h
index 492f0d4..1eddcde 100644
--- a/engines/neverhood/modules/module1200.h
+++ b/engines/neverhood/modules/module1200.h
@@ -32,7 +32,7 @@ namespace Neverhood {
 class Module1200 : public Module {
 public:
 	Module1200(NeverhoodEngine *vm, Module *parentModule, int which);
-	virtual ~Module1200();
+	~Module1200() override;
 protected:
 	int _sceneNum;
 	void createScene(int sceneNum, int which);
@@ -44,7 +44,7 @@ class AsScene1201TntMan;
 class Scene1201 : public Scene {
 public:
 	Scene1201(NeverhoodEngine *vm, Module *parentModule, int which);
-	virtual ~Scene1201();
+	~Scene1201() override;
 protected:
 	Sprite *_asMatch;
 	AsScene1201TntMan *_asTntMan;
@@ -62,7 +62,7 @@ protected:
 class Scene1202 : public Scene {
 public:
 	Scene1202(NeverhoodEngine *vm, Module *parentModule);
-	virtual ~Scene1202();
+	~Scene1202() override;
 protected:
 	PaletteResource _paletteResource;
 	Sprite *_asTntItems[18];
diff --git a/engines/neverhood/modules/module1200_sprites.h b/engines/neverhood/modules/module1200_sprites.h
index ae820f0..54981ab 100644
--- a/engines/neverhood/modules/module1200_sprites.h
+++ b/engines/neverhood/modules/module1200_sprites.h
@@ -78,7 +78,7 @@ protected:
 class AsScene1201TntMan : public AnimatedSprite {
 public:
 	AsScene1201TntMan(NeverhoodEngine *vm, Scene *parentScene, Sprite *asTntManRope, bool isDown);
-	virtual ~AsScene1201TntMan();
+	~AsScene1201TntMan() override;
 protected:
 	Scene *_parentScene;
 	Sprite *_asTntManRope;
@@ -95,7 +95,7 @@ protected:
 class AsScene1201TntManFlame : public AnimatedSprite {
 public:
 	AsScene1201TntManFlame(NeverhoodEngine *vm, Sprite *asTntMan);
-	~AsScene1201TntManFlame();
+	~AsScene1201TntManFlame() override;
 protected:
 	Sprite *_asTntMan;
 	void update();
@@ -179,7 +179,7 @@ protected:
 	uint32 hmTumbleHeadless(int messageNum, const MessageParam &param, Entity *sender);
 	uint32 hmMatch(int messageNum, const MessageParam &param, Entity *sender);
 
-	uint32 xHandleMessage(int messageNum, const MessageParam &param);
+	uint32 xHandleMessage(int messageNum, const MessageParam &param) override;
 };
 
 } // End of namespace Neverhood
diff --git a/engines/neverhood/modules/module1300.h b/engines/neverhood/modules/module1300.h
index 8164a51..48e6947 100644
--- a/engines/neverhood/modules/module1300.h
+++ b/engines/neverhood/modules/module1300.h
@@ -34,7 +34,7 @@ class SmackerPlayer;
 class Module1300 : public Module {
 public:
 	Module1300(NeverhoodEngine *vm, Module *parentModule, int which);
-	virtual ~Module1300();
+	~Module1300() override;
 protected:
 	int _sceneNum;
 	uint32 _musicFileHash;
@@ -90,7 +90,7 @@ protected:
 class Scene1306 : public Scene {
 public:
 	Scene1306(NeverhoodEngine *vm, Module *parentModule, int which);
-	~Scene1306();
+	~Scene1306() override;
 protected:
 	Sprite *_ssButton;
 	Sprite *_asTape;
diff --git a/engines/neverhood/modules/module1300_sprites.h b/engines/neverhood/modules/module1300_sprites.h
index bf9f72a..f132680 100644
--- a/engines/neverhood/modules/module1300_sprites.h
+++ b/engines/neverhood/modules/module1300_sprites.h
@@ -160,14 +160,14 @@ class KmScene1303 : public Klaymen {
 public:
 	KmScene1303(NeverhoodEngine *vm, Scene *parentScene, int16 x, int16 y);
 protected:
-	uint32 xHandleMessage(int messageNum, const MessageParam &param);
+	uint32 xHandleMessage(int messageNum, const MessageParam &param) override;
 };
 
 class KmScene1304 : public Klaymen {
 public:
 	KmScene1304(NeverhoodEngine *vm, Scene *parentScene, int16 x, int16 y);
 protected:
-	uint32 xHandleMessage(int messageNum, const MessageParam &param);
+	uint32 xHandleMessage(int messageNum, const MessageParam &param) override;
 };
 
 class KmScene1305 : public Klaymen {
@@ -177,21 +177,21 @@ protected:
 	void stCrashDown();
 	void stCrashDownFinished();
 
-	uint32 xHandleMessage(int messageNum, const MessageParam &param);
+	uint32 xHandleMessage(int messageNum, const MessageParam &param) override;
 };
 
 class KmScene1306 : public Klaymen {
 public:
 	KmScene1306(NeverhoodEngine *vm, Scene *parentScene, int16 x, int16 y);
 protected:
-	uint32 xHandleMessage(int messageNum, const MessageParam &param);
+	uint32 xHandleMessage(int messageNum, const MessageParam &param) override;
 };
 
 class KmScene1308 : public Klaymen {
 public:
 	KmScene1308(NeverhoodEngine *vm, Scene *parentScene, int16 x, int16 y);
 protected:
-	uint32 xHandleMessage(int messageNum, const MessageParam &param);
+	uint32 xHandleMessage(int messageNum, const MessageParam &param) override;
 };
 
 } // End of namespace Neverhood
diff --git a/engines/neverhood/modules/module1400.h b/engines/neverhood/modules/module1400.h
index 52f72db..41fe02b 100644
--- a/engines/neverhood/modules/module1400.h
+++ b/engines/neverhood/modules/module1400.h
@@ -32,7 +32,7 @@ namespace Neverhood {
 class Module1400 : public Module {
 public:
 	Module1400(NeverhoodEngine *vm, Module *parentModule, int which);
-	virtual ~Module1400();
+	~Module1400() override;
 protected:
 	int _sceneNum;
 	void createScene(int sceneNum, int which);
@@ -107,7 +107,7 @@ protected:
 class Scene1404 : public Scene {
 public:
 	Scene1404(NeverhoodEngine *vm, Module *parentModule, int which);
-	virtual ~Scene1404();
+	~Scene1404() override;
 protected:
 	Sprite *_sprite1;
 	Sprite *_asTape;
diff --git a/engines/neverhood/modules/module1400_sprites.h b/engines/neverhood/modules/module1400_sprites.h
index e709193..608b4b5 100644
--- a/engines/neverhood/modules/module1400_sprites.h
+++ b/engines/neverhood/modules/module1400_sprites.h
@@ -32,7 +32,7 @@ namespace Neverhood {
 class AsScene1401Pipe : public AnimatedSprite {
 public:
 	AsScene1401Pipe(NeverhoodEngine *vm);
-	virtual ~AsScene1401Pipe();
+	~AsScene1401Pipe() override;
 protected:
 	int _countdown1;
 	int _countdown2;
@@ -89,7 +89,7 @@ struct AsCommonProjectorItem {
 class AsCommonProjector : public AnimatedSprite {
 public:
 	AsCommonProjector(NeverhoodEngine *vm, Scene *parentScene, Sprite *klaymen, Sprite *asPipe);
-	virtual ~AsCommonProjector();
+	~AsCommonProjector() override;
 protected:
 	Scene *_parentScene;
 	Sprite *_klaymen;
@@ -169,28 +169,28 @@ class KmScene1401 : public Klaymen {
 public:
 	KmScene1401(NeverhoodEngine *vm, Scene *parentScene, int16 x, int16 y);
 protected:
-	uint32 xHandleMessage(int messageNum, const MessageParam &param);
+	uint32 xHandleMessage(int messageNum, const MessageParam &param) override;
 };
 
 class KmScene1402 : public Klaymen {
 public:
 	KmScene1402(NeverhoodEngine *vm, Scene *parentScene, int16 x, int16 y);
 protected:
-	uint32 xHandleMessage(int messageNum, const MessageParam &param);
+	uint32 xHandleMessage(int messageNum, const MessageParam &param) override;
 };
 
 class KmScene1403 : public Klaymen {
 public:
 	KmScene1403(NeverhoodEngine *vm, Scene *parentScene, int16 x, int16 y);
 protected:
-	uint32 xHandleMessage(int messageNum, const MessageParam &param);
+	uint32 xHandleMessage(int messageNum, const MessageParam &param) override;
 };
 
 class KmScene1404 : public Klaymen {
 public:
 	KmScene1404(NeverhoodEngine *vm, Scene *parentScene, int16 x, int16 y);
 protected:
-	uint32 xHandleMessage(int messageNum, const MessageParam &param);
+	uint32 xHandleMessage(int messageNum, const MessageParam &param) override;
 };
 
 } // End of namespace Neverhood
diff --git a/engines/neverhood/modules/module1600.h b/engines/neverhood/modules/module1600.h
index b1c9662..ec154c5 100644
--- a/engines/neverhood/modules/module1600.h
+++ b/engines/neverhood/modules/module1600.h
@@ -32,7 +32,7 @@ namespace Neverhood {
 class Module1600 : public Module {
 public:
 	Module1600(NeverhoodEngine *vm, Module *parentModule, int which);
-	virtual ~Module1600();
+	~Module1600() override;
 protected:
 	int _sceneNum;
 	void createScene(int sceneNum, int which);
@@ -44,7 +44,7 @@ class AsCommonCar;
 class Scene1608 : public Scene {
 public:
 	Scene1608(NeverhoodEngine *vm, Module *parentModule, int which);
-	~Scene1608();
+	~Scene1608() override;
 protected:
 	AsCommonCar *_asCar;
 	Sprite *_asKey;
diff --git a/engines/neverhood/modules/module1600_sprites.h b/engines/neverhood/modules/module1600_sprites.h
index 1c51160..72e255f 100644
--- a/engines/neverhood/modules/module1600_sprites.h
+++ b/engines/neverhood/modules/module1600_sprites.h
@@ -32,7 +32,7 @@ namespace Neverhood {
 class AsCommonCar : public AnimatedSprite {
 public:
 	AsCommonCar(NeverhoodEngine *vm, Scene *parentScene, int16 x, int16 y);
-	~AsCommonCar();
+	~AsCommonCar() override;
 	void setPathPoints(NPointArray *pathPoints);
 protected:
 	Scene *_parentScene;
@@ -118,7 +118,7 @@ class KmScene1608 : public Klaymen {
 public:
 	KmScene1608(NeverhoodEngine *vm, Scene *parentScene, int16 x, int16 y);
 protected:
-	uint32 xHandleMessage(int messageNum, const MessageParam &param);
+	uint32 xHandleMessage(int messageNum, const MessageParam &param) override;
 };
 
 } // End of namespace Neverhood
diff --git a/engines/neverhood/modules/module1700.h b/engines/neverhood/modules/module1700.h
index 57d0431..c28d13d 100644
--- a/engines/neverhood/modules/module1700.h
+++ b/engines/neverhood/modules/module1700.h
@@ -32,7 +32,7 @@ namespace Neverhood {
 class Module1700 : public Module {
 public:
 	Module1700(NeverhoodEngine *vm, Module *parentModule, int which);
-	virtual ~Module1700();
+	~Module1700() override;
 protected:
 	int _sceneNum;
 	void createScene(int sceneNum, int which);
diff --git a/engines/neverhood/modules/module1700_sprites.h b/engines/neverhood/modules/module1700_sprites.h
index afa5d9f..52c6741 100644
--- a/engines/neverhood/modules/module1700_sprites.h
+++ b/engines/neverhood/modules/module1700_sprites.h
@@ -47,7 +47,7 @@ class KmScene1705 : public Klaymen {
 public:
 	KmScene1705(NeverhoodEngine *vm, Scene *parentScene, int16 x, int16 y);
 protected:
-	uint32 xHandleMessage(int messageNum, const MessageParam &param);
+	uint32 xHandleMessage(int messageNum, const MessageParam &param) override;
 };
 
 } // End of namespace Neverhood
diff --git a/engines/neverhood/modules/module1800.h b/engines/neverhood/modules/module1800.h
index 35af1f8..658e065 100644
--- a/engines/neverhood/modules/module1800.h
+++ b/engines/neverhood/modules/module1800.h
@@ -34,7 +34,7 @@ namespace Neverhood {
 class Module1800 : public Module {
 public:
 	Module1800(NeverhoodEngine *vm, Module *parentModule, int which);
-	virtual ~Module1800();
+	~Module1800() override;
 protected:
 	int _sceneNum;
 	void createScene(int sceneNum, int which);
diff --git a/engines/neverhood/modules/module1900.h b/engines/neverhood/modules/module1900.h
index 78128f8..fa17806 100644
--- a/engines/neverhood/modules/module1900.h
+++ b/engines/neverhood/modules/module1900.h
@@ -32,7 +32,7 @@ namespace Neverhood {
 class Module1900 : public Module {
 public:
 	Module1900(NeverhoodEngine *vm, Module *parentModule, int which);
-	virtual ~Module1900();
+	~Module1900() override;
 protected:
 	int _sceneNum;
 	uint32 handleMessage(int messageNum, const MessageParam &param, Entity *sender);
diff --git a/engines/neverhood/modules/module1900_sprites.h b/engines/neverhood/modules/module1900_sprites.h
index 6df02e2..5e04bc8 100644
--- a/engines/neverhood/modules/module1900_sprites.h
+++ b/engines/neverhood/modules/module1900_sprites.h
@@ -99,7 +99,7 @@ class KmScene1901 : public Klaymen {
 public:
 	KmScene1901(NeverhoodEngine *vm, Scene *parentScene, int16 x, int16 y);
 protected:
-	uint32 xHandleMessage(int messageNum, const MessageParam &param);
+	uint32 xHandleMessage(int messageNum, const MessageParam &param) override;
 };
 
 } // End of namespace Neverhood
diff --git a/engines/neverhood/modules/module2000.h b/engines/neverhood/modules/module2000.h
index 6e1cfb6..26537a0 100644
--- a/engines/neverhood/modules/module2000.h
+++ b/engines/neverhood/modules/module2000.h
@@ -32,7 +32,7 @@ namespace Neverhood {
 class Module2000 : public Module {
 public:
 	Module2000(NeverhoodEngine *vm, Module *parentModule, int which);
-	virtual ~Module2000();
+	~Module2000() override;
 protected:
 	int _sceneNum;
 	uint32 handleMessage(int messageNum, const MessageParam &param, Entity *sender);
diff --git a/engines/neverhood/modules/module2000_sprites.h b/engines/neverhood/modules/module2000_sprites.h
index 62b738d..6f3d98f 100644
--- a/engines/neverhood/modules/module2000_sprites.h
+++ b/engines/neverhood/modules/module2000_sprites.h
@@ -33,7 +33,7 @@ class KmScene2001 : public Klaymen {
 public:
 	KmScene2001(NeverhoodEngine *vm, Scene *parentScene, int16 x, int16 y);
 protected:
-	uint32 xHandleMessage(int messageNum, const MessageParam &param);
+	uint32 xHandleMessage(int messageNum, const MessageParam &param) override;
 };
 
 } // End of namespace Neverhood
diff --git a/engines/neverhood/modules/module2100.h b/engines/neverhood/modules/module2100.h
index e660eba..a6385c0 100644
--- a/engines/neverhood/modules/module2100.h
+++ b/engines/neverhood/modules/module2100.h
@@ -32,7 +32,7 @@ namespace Neverhood {
 class Module2100 : public Module {
 public:
 	Module2100(NeverhoodEngine *vm, Module *parentModule, int which);
-	virtual ~Module2100();
+	~Module2100() override;
 protected:
 	int _sceneNum;
 	uint32 handleMessage(int messageNum, const MessageParam &param, Entity *sender);
diff --git a/engines/neverhood/modules/module2100_sprites.h b/engines/neverhood/modules/module2100_sprites.h
index c1116ef..52c1979 100644
--- a/engines/neverhood/modules/module2100_sprites.h
+++ b/engines/neverhood/modules/module2100_sprites.h
@@ -67,7 +67,7 @@ public:
 	uint32 hmHitByDoor(int messageNum, const MessageParam &param, Entity *sender);
 
 protected:
-	uint32 xHandleMessage(int messageNum, const MessageParam &param);
+	uint32 xHandleMessage(int messageNum, const MessageParam &param) override;
 };
 
 } // End of namespace Neverhood
diff --git a/engines/neverhood/modules/module2200.h b/engines/neverhood/modules/module2200.h
index 5250bf3..fc47082 100644
--- a/engines/neverhood/modules/module2200.h
+++ b/engines/neverhood/modules/module2200.h
@@ -34,7 +34,7 @@ namespace Neverhood {
 class Module2200 : public Module {
 public:
 	Module2200(NeverhoodEngine *vm, Module *parentModule, int which);
-	virtual ~Module2200();
+	~Module2200() override;
 protected:
 	int _sceneNum;
 	void createScene(int sceneNum, int which);
@@ -45,7 +45,7 @@ protected:
 class Scene2201 : public Scene {
 public:
 	Scene2201(NeverhoodEngine *vm, Module *parentModule, int which);
-	~Scene2201();
+	~Scene2201() override;
 protected:
 	NRect _clipRects[2];
 	Sprite *_ssDoorLight;
@@ -60,7 +60,7 @@ protected:
 class Scene2202 : public Scene {
 public:
 	Scene2202(NeverhoodEngine *vm, Module *parentModule, int which);
-	~Scene2202();
+	~Scene2202() override;
 protected:
 	Sprite *_ssMovingCube;
 	Sprite *_ssDoneMovingCube;
@@ -78,7 +78,7 @@ protected:
 class Scene2203 : public Scene {
 public:
 	Scene2203(NeverhoodEngine *vm, Module *parentModule, int which);
-	~Scene2203();
+	~Scene2203() override;
 protected:
 	Sprite *_asLeftDoor;
 	Sprite *_asRightDoor;
@@ -108,7 +108,7 @@ protected:
 class Scene2206 : public Scene {
 public:
 	Scene2206(NeverhoodEngine *vm, Module *parentModule, int which);
-	~Scene2206();
+	~Scene2206() override;
 protected:
 	Sprite *_sprite1;
 	Sprite *_sprite2;
@@ -146,7 +146,7 @@ protected:
 class Scene2208 : public Scene {
 public:
 	Scene2208(NeverhoodEngine *vm, Module *parentModule, int which);
-	~Scene2208();
+	~Scene2208() override;
 protected:
 	FontSurface *_fontSurface;
 	BaseSurface *_backgroundSurface;
@@ -168,7 +168,7 @@ protected:
 class Scene2242 : public Scene {
 public:
 	Scene2242(NeverhoodEngine *vm, Module *parentModule, int which);
-	~Scene2242();
+	~Scene2242() override;
 protected:
 	Sprite *_asTape;
 	bool _isKlaymenInLight;
@@ -180,7 +180,7 @@ protected:
 class HallOfRecordsScene : public Scene {
 public:
 	HallOfRecordsScene(NeverhoodEngine *vm, Module *parentModule, int which, uint32 hallOfRecordsInfoId);
-	~HallOfRecordsScene();
+	~HallOfRecordsScene() override;
 protected:
 	HallOfRecordsInfo *_hallOfRecordsInfo;
 	uint32 handleMessage(int messageNum, const MessageParam &param, Entity *sender);
@@ -190,7 +190,7 @@ protected:
 class Scene2247 : public Scene {
 public:
 	Scene2247(NeverhoodEngine *vm, Module *parentModule, int which);
-	~Scene2247();
+	~Scene2247() override;
 protected:
 	uint32 handleMessage(int messageNum, const MessageParam &param, Entity *sender);
 	void readClickedColumn();
diff --git a/engines/neverhood/modules/module2200_sprites.h b/engines/neverhood/modules/module2200_sprites.h
index 9327b1c..dde6da0 100644
--- a/engines/neverhood/modules/module2200_sprites.h
+++ b/engines/neverhood/modules/module2200_sprites.h
@@ -149,7 +149,7 @@ protected:
 class AsScene2207Elevator : public AnimatedSprite {
 public:
 	AsScene2207Elevator(NeverhoodEngine *vm, Scene *parentScene);
-	~AsScene2207Elevator();
+	~AsScene2207Elevator() override;
 protected:
 	Scene *_parentScene;
 	NPointArray *_pointArray;
@@ -177,7 +177,7 @@ protected:
 class AsScene2207WallRobotAnimation : public AnimatedSprite {
 public:
 	AsScene2207WallRobotAnimation(NeverhoodEngine *vm, Scene *parentScene);
-	~AsScene2207WallRobotAnimation();
+	~AsScene2207WallRobotAnimation() override;
 protected:
 	bool _idle;
 	uint32 handleMessage(int messageNum, const MessageParam &param, Entity *sender);
@@ -206,7 +206,7 @@ class KmScene2201 : public Klaymen {
 public:
 	KmScene2201(NeverhoodEngine *vm, Scene *parentScene, int16 x, int16 y, NRect *clipRects, int clipRectsCount);
 protected:
-	uint32 xHandleMessage(int messageNum, const MessageParam &param);
+	uint32 xHandleMessage(int messageNum, const MessageParam &param) override;
 };
 
 class KmScene2203 : public Klaymen {
@@ -216,58 +216,58 @@ protected:
 	void stClayDoorOpen();
 	uint32 hmClayDoorOpen(int messageNum, const MessageParam &param, Entity *sender);
 
-	uint32 xHandleMessage(int messageNum, const MessageParam &param);
+	uint32 xHandleMessage(int messageNum, const MessageParam &param) override;
 };
 
 class KmScene2205 : public Klaymen {
 public:
 	KmScene2205(NeverhoodEngine *vm, Scene *parentScene, int16 x, int16 y);
 protected:
-	void xUpdate();
-	uint32 xHandleMessage(int messageNum, const MessageParam &param);
+	void xUpdate() override;
+	uint32 xHandleMessage(int messageNum, const MessageParam &param) override;
 };
 
 class KmScene2206 : public Klaymen {
 public:
 	KmScene2206(NeverhoodEngine *vm, Scene *parentScene, int16 x, int16 y);
-	~KmScene2206();
+	~KmScene2206() override;
 protected:
 	void stRidePlatformDown();
 	void suRidePlatformDown();
 
-	void xUpdate();
-	uint32 xHandleMessage(int messageNum, const MessageParam &param);
+	void xUpdate() override;
+	uint32 xHandleMessage(int messageNum, const MessageParam &param) override;
 };
 
 class KmScene2207 : public Klaymen {
 public:
 	KmScene2207(NeverhoodEngine *vm, Scene *parentScene, int16 x, int16 y);
 protected:
-	uint32 xHandleMessage(int messageNum, const MessageParam &param);
+	uint32 xHandleMessage(int messageNum, const MessageParam &param) override;
 };
 
 class KmScene2242 : public Klaymen {
 public:
 	KmScene2242(NeverhoodEngine *vm, Scene *parentScene, int16 x, int16 y);
 protected:
-	void xUpdate();
-	uint32 xHandleMessage(int messageNum, const MessageParam &param);
+	void xUpdate() override;
+	uint32 xHandleMessage(int messageNum, const MessageParam &param) override;
 };
 
 class KmHallOfRecords : public Klaymen {
 public:
 	KmHallOfRecords(NeverhoodEngine *vm, Scene *parentScene, int16 x, int16 y);
 protected:
-	void xUpdate();
-	uint32 xHandleMessage(int messageNum, const MessageParam &param);
+	void xUpdate() override;
+	uint32 xHandleMessage(int messageNum, const MessageParam &param) override;
 };
 
 class KmScene2247 : public Klaymen {
 public:
 	KmScene2247(NeverhoodEngine *vm, Scene *parentScene, int16 x, int16 y);
 protected:
-	void xUpdate();
-	uint32 xHandleMessage(int messageNum, const MessageParam &param);
+	void xUpdate() override;
+	uint32 xHandleMessage(int messageNum, const MessageParam &param) override;
 };
 
 } // End of namespace Neverhood
diff --git a/engines/neverhood/modules/module2300.h b/engines/neverhood/modules/module2300.h
index 58bffb7..ad8215b 100644
--- a/engines/neverhood/modules/module2300.h
+++ b/engines/neverhood/modules/module2300.h
@@ -34,7 +34,7 @@ namespace Neverhood {
 class Module2300 : public Module {
 public:
 	Module2300(NeverhoodEngine *vm, Module *parentModule, int which);
-	virtual ~Module2300();
+	~Module2300() override;
 protected:
 	int _sceneNum;
 	int _waterfallSoundVolume;
diff --git a/engines/neverhood/modules/module2400.h b/engines/neverhood/modules/module2400.h
index 0ab56dd..8d35c87 100644
--- a/engines/neverhood/modules/module2400.h
+++ b/engines/neverhood/modules/module2400.h
@@ -36,7 +36,7 @@ namespace Neverhood {
 class Module2400 : public Module {
 public:
 	Module2400(NeverhoodEngine *vm, Module *parentModule, int which);
-	virtual ~Module2400();
+	~Module2400() override;
 protected:
 	int _sceneNum;
 	void createScene(int sceneNum, int which);
@@ -70,7 +70,7 @@ protected:
 class Scene2402 : public Scene {
 public:
 	Scene2402(NeverhoodEngine *vm, Module *parentModule, int which);
-	virtual ~Scene2402();
+	~Scene2402() override;
 protected:
 	Sprite *_asDoor;
 	Sprite *_ssButton;
diff --git a/engines/neverhood/modules/module2400_sprites.h b/engines/neverhood/modules/module2400_sprites.h
index 5d9464a..4031578 100644
--- a/engines/neverhood/modules/module2400_sprites.h
+++ b/engines/neverhood/modules/module2400_sprites.h
@@ -41,7 +41,7 @@ protected:
 class AsScene2401FlowingWater : public AnimatedSprite {
 public:
 	AsScene2401FlowingWater(NeverhoodEngine *vm);
-	virtual ~AsScene2401FlowingWater();
+	~AsScene2401FlowingWater() override;
 protected:
 	bool _isWaterFlowing;
 	uint32 handleMessage(int messageNum, const MessageParam &param, Entity *sender);
@@ -83,7 +83,7 @@ protected:
 class AsScene2402TV : public AnimatedSprite {
 public:
 	AsScene2402TV(NeverhoodEngine *vm, Klaymen *klaymen);
-	virtual ~AsScene2402TV();
+	~AsScene2402TV() override;
 protected:
 	Klaymen *_klaymen;
 	int _countdown1;
@@ -110,28 +110,28 @@ protected:
 	void stContSpitIntoPipe();
 	uint32 hmSpit(int messageNum, const MessageParam &param, Entity *sender);
 
-	uint32 xHandleMessage(int messageNum, const MessageParam &param);
+	uint32 xHandleMessage(int messageNum, const MessageParam &param) override;
 };
 
 class KmScene2402 : public Klaymen {
 public:
 	KmScene2402(NeverhoodEngine *vm, Scene *parentScene, int16 x, int16 y);
 protected:
-	uint32 xHandleMessage(int messageNum, const MessageParam &param);
+	uint32 xHandleMessage(int messageNum, const MessageParam &param) override;
 };
 
 class KmScene2403 : public Klaymen {
 public:
 	KmScene2403(NeverhoodEngine *vm, Scene *parentScene, int16 x, int16 y);
 protected:
-	uint32 xHandleMessage(int messageNum, const MessageParam &param);
+	uint32 xHandleMessage(int messageNum, const MessageParam &param) override;
 };
 
 class KmScene2406 : public Klaymen {
 public:
 	KmScene2406(NeverhoodEngine *vm, Scene *parentScene, int16 x, int16 y, NRect *clipRects, int clipRectsCount);
 protected:
-	uint32 xHandleMessage(int messageNum, const MessageParam &param);
+	uint32 xHandleMessage(int messageNum, const MessageParam &param) override;
 };
 
 } // End of namespace Neverhood
diff --git a/engines/neverhood/modules/module2500.h b/engines/neverhood/modules/module2500.h
index 57ab228..186e23d 100644
--- a/engines/neverhood/modules/module2500.h
+++ b/engines/neverhood/modules/module2500.h
@@ -33,7 +33,7 @@ namespace Neverhood {
 class Module2500 : public Module {
 public:
 	Module2500(NeverhoodEngine *vm, Module *parentModule, int which);
-	virtual ~Module2500();
+	~Module2500() override;
 protected:
 	int _sceneNum;
 	int _soundIndex;
@@ -48,7 +48,7 @@ class AsCommonCar;
 class Scene2501 : public Scene {
 public:
 	Scene2501(NeverhoodEngine *vm, Module *parentModule, int which);
-	virtual ~Scene2501();
+	~Scene2501() override;
 protected:
 	AsCommonCar *_asCar;
 	Sprite *_ssTrackShadowBackground;
diff --git a/engines/neverhood/modules/module2500_sprites.h b/engines/neverhood/modules/module2500_sprites.h
index b5c2a1a..0568ba2 100644
--- a/engines/neverhood/modules/module2500_sprites.h
+++ b/engines/neverhood/modules/module2500_sprites.h
@@ -43,7 +43,7 @@ class KmScene2501 : public Klaymen {
 public:
 	KmScene2501(NeverhoodEngine *vm, Scene *parentScene, int16 x, int16 y);
 protected:
-	uint32 xHandleMessage(int messageNum, const MessageParam &param);
+	uint32 xHandleMessage(int messageNum, const MessageParam &param) override;
 };
 
 } // End of namespace Neverhood
diff --git a/engines/neverhood/modules/module2600.h b/engines/neverhood/modules/module2600.h
index 0f13ed4..728478c 100644
--- a/engines/neverhood/modules/module2600.h
+++ b/engines/neverhood/modules/module2600.h
@@ -34,7 +34,7 @@ namespace Neverhood {
 class Module2600 : public Module {
 public:
 	Module2600(NeverhoodEngine *vm, Module *parentModule, int which);
-	virtual ~Module2600();
+	~Module2600() override;
 protected:
 	int _sceneNum;
 	void createScene(int sceneNum, int which);
diff --git a/engines/neverhood/modules/module2600_sprites.h b/engines/neverhood/modules/module2600_sprites.h
index 0b4954c..4a29db7 100644
--- a/engines/neverhood/modules/module2600_sprites.h
+++ b/engines/neverhood/modules/module2600_sprites.h
@@ -44,7 +44,7 @@ protected:
 class AsScene2609Water : public AnimatedSprite {
 public:
 	AsScene2609Water(NeverhoodEngine *vm);
-	virtual ~AsScene2609Water();
+	~AsScene2609Water() override;
 protected:
 	uint32 handleMessage(int messageNum, const MessageParam &param, Entity *sender);
 };
diff --git a/engines/neverhood/modules/module2700.h b/engines/neverhood/modules/module2700.h
index ece8866..cf7c77d 100644
--- a/engines/neverhood/modules/module2700.h
+++ b/engines/neverhood/modules/module2700.h
@@ -35,7 +35,7 @@ namespace Neverhood {
 class Module2700 : public Module {
 public:
 	Module2700(NeverhoodEngine *vm, Module *parentModule, int which);
-	virtual ~Module2700();
+	~Module2700() override;
 protected:
 	int _sceneNum;
 	int _soundIndex;
diff --git a/engines/neverhood/modules/module2700_sprites.h b/engines/neverhood/modules/module2700_sprites.h
index 7da0223..7b7767c 100644
--- a/engines/neverhood/modules/module2700_sprites.h
+++ b/engines/neverhood/modules/module2700_sprites.h
@@ -66,7 +66,7 @@ class KmScene2732 : public Klaymen {
 public:
 	KmScene2732(NeverhoodEngine *vm, Scene *parentScene, int16 x, int16 y);
 protected:
-	uint32 xHandleMessage(int messageNum, const MessageParam &param);
+	uint32 xHandleMessage(int messageNum, const MessageParam &param) override;
 };
 
 } // End of namespace Neverhood
diff --git a/engines/neverhood/modules/module2800.h b/engines/neverhood/modules/module2800.h
index 73a1361..827d49a 100644
--- a/engines/neverhood/modules/module2800.h
+++ b/engines/neverhood/modules/module2800.h
@@ -34,7 +34,7 @@ namespace Neverhood {
 class Module2800 : public Module {
 public:
 	Module2800(NeverhoodEngine *vm, Module *parentModule, int which);
-	virtual ~Module2800();
+	~Module2800() override;
 protected:
 	int _sceneNum;
 	uint32 _currentMusicFileHash;
@@ -47,7 +47,7 @@ protected:
 class Scene2801 : public Scene {
 public:
 	Scene2801(NeverhoodEngine *vm, Module *parentModule, int which);
-	virtual ~Scene2801();
+	~Scene2801() override;
 protected:
 	Sprite *_asTape;
 	uint32 _paletteHash;
@@ -57,7 +57,7 @@ protected:
 class Scene2802 : public Scene {
 public:
 	Scene2802(NeverhoodEngine *vm, Module *parentModule, int which);
-	virtual ~Scene2802();
+	~Scene2802() override;
 protected:
 	SmackerPlayer *_smackerPlayer;
 	uint _currRadioMusicIndex;
@@ -223,7 +223,7 @@ protected:
 class Scene2810 : public Scene {
 public:
 	Scene2810(NeverhoodEngine *vm, Module *parentModule, int which);
-	virtual ~Scene2810();
+	~Scene2810() override;
 protected:
 	Sprite *_sprite1;
 	Sprite *_sprite2;
diff --git a/engines/neverhood/modules/module2800_sprites.h b/engines/neverhood/modules/module2800_sprites.h
index ec34a7c..1f8131d 100644
--- a/engines/neverhood/modules/module2800_sprites.h
+++ b/engines/neverhood/modules/module2800_sprites.h
@@ -138,7 +138,7 @@ protected:
 class AsScene2804BeamCoil : public AnimatedSprite {
 public:
 	AsScene2804BeamCoil(NeverhoodEngine *vm, Scene *parentScene, SsScene2804BeamCoilBody *ssBeamCoilBody);
-	virtual ~AsScene2804BeamCoil();
+	~AsScene2804BeamCoil() override;
 protected:
 	Scene *_parentScene;
 	SsScene2804BeamCoilBody *_ssBeamCoilBody;
@@ -241,7 +241,7 @@ protected:
 class AsScene2812Winch : public AnimatedSprite {
 public:
 	AsScene2812Winch(NeverhoodEngine *vm);
-	virtual ~AsScene2812Winch();
+	~AsScene2812Winch() override;
 protected:
 	uint32 handleMessage(int messageNum, const MessageParam &param, Entity *sender);
 };
@@ -267,14 +267,14 @@ class KmScene2801 : public Klaymen {
 public:
 	KmScene2801(NeverhoodEngine *vm, Scene *parentScene, int16 x, int16 y);
 protected:
-	uint32 xHandleMessage(int messageNum, const MessageParam &param);
+	uint32 xHandleMessage(int messageNum, const MessageParam &param) override;
 };
 
 class KmScene2803 : public Klaymen {
 public:
 	KmScene2803(NeverhoodEngine *vm, Scene *parentScene, int16 x, int16 y, NRect *clipRects, int clipRectsCount);
 protected:
-	uint32 xHandleMessage(int messageNum, const MessageParam &param);
+	uint32 xHandleMessage(int messageNum, const MessageParam &param) override;
 };
 
 class KmScene2803Small : public Klaymen {
@@ -284,14 +284,14 @@ protected:
 	void stShrink();
 	uint32 hmShrink(int messageNum, const MessageParam &param, Entity *sender);
 
-	uint32 xHandleMessage(int messageNum, const MessageParam &param);
+	uint32 xHandleMessage(int messageNum, const MessageParam &param) override;
 };
 
 class KmScene2805 : public Klaymen {
 public:
 	KmScene2805(NeverhoodEngine *vm, Scene *parentScene, int16 x, int16 y);
 protected:
-	uint32 xHandleMessage(int messageNum, const MessageParam &param);
+	uint32 xHandleMessage(int messageNum, const MessageParam &param) override;
 };
 
 class KmScene2806 : public Klaymen {
@@ -299,7 +299,7 @@ public:
 	KmScene2806(NeverhoodEngine *vm, Scene *parentScene, int16 x, int16 y,
 		bool needsLargeSurface, NRect *clipRects, uint clipRectsCount);
 protected:
-	uint32 xHandleMessage(int messageNum, const MessageParam &param);
+	uint32 xHandleMessage(int messageNum, const MessageParam &param) override;
 };
 
 class KmScene2809 : public Klaymen {
@@ -307,14 +307,14 @@ public:
 	KmScene2809(NeverhoodEngine *vm, Scene *parentScene, int16 x, int16 y,
 		bool needsLargeSurface, NRect *clipRects, uint clipRectsCount);
 protected:
-	uint32 xHandleMessage(int messageNum, const MessageParam &param);
+	uint32 xHandleMessage(int messageNum, const MessageParam &param) override;
 };
 
 class KmScene2810Small : public Klaymen {
 public:
 	KmScene2810Small(NeverhoodEngine *vm, Scene *parentScene, int16 x, int16 y);
 protected:
-	uint32 xHandleMessage(int messageNum, const MessageParam &param);
+	uint32 xHandleMessage(int messageNum, const MessageParam &param) override;
 };
 
 class KmScene2810 : public Klaymen {
@@ -322,14 +322,14 @@ public:
 	KmScene2810(NeverhoodEngine *vm, Scene *parentScene, int16 x, int16 y,
 		NRect *clipRects, uint clipRectsCount);
 protected:
-	uint32 xHandleMessage(int messageNum, const MessageParam &param);
+	uint32 xHandleMessage(int messageNum, const MessageParam &param) override;
 };
 
 class KmScene2812 : public Klaymen {
 public:
 	KmScene2812(NeverhoodEngine *vm, Scene *parentScene, int16 x, int16 y);
 protected:
-	uint32 xHandleMessage(int messageNum, const MessageParam &param);
+	uint32 xHandleMessage(int messageNum, const MessageParam &param) override;
 };
 
 } // End of namespace Neverhood
diff --git a/engines/neverhood/modules/module3000.h b/engines/neverhood/modules/module3000.h
index 3d895b8..d236499 100644
--- a/engines/neverhood/modules/module3000.h
+++ b/engines/neverhood/modules/module3000.h
@@ -32,7 +32,7 @@ namespace Neverhood {
 class Module3000 : public Module {
 public:
 	Module3000(NeverhoodEngine *vm, Module *parentModule, int which);
-	virtual ~Module3000();
+	~Module3000() override;
 protected:
 	int _waterfallSoundVolume;
 	bool _isWaterfallRunning;
@@ -49,7 +49,7 @@ class AsScene3009Symbol;
 class Scene3009 : public Scene {
 public:
 	Scene3009(NeverhoodEngine *vm, Module *parentModule, int which);
-	virtual ~Scene3009();
+	~Scene3009() override;
 	bool isTurning();
 protected:
 	int _lockSymbolsPart1Countdown;
diff --git a/engines/neverhood/mouse.h b/engines/neverhood/mouse.h
index 3e71f60..aff40d8 100644
--- a/engines/neverhood/mouse.h
+++ b/engines/neverhood/mouse.h
@@ -41,7 +41,7 @@ public:
 	Mouse(NeverhoodEngine *vm, uint32 fileHash, const NRect &mouseRect);
 	Mouse(NeverhoodEngine *vm, uint32 fileHash, int16 x1, int16 x2);
 	Mouse(NeverhoodEngine *vm, uint32 fileHash, int _type);
-	virtual ~Mouse();
+	~Mouse() override;
 	void load(uint32 fileHash);
 	void updateCursor();
 protected:
diff --git a/engines/neverhood/navigationscene.h b/engines/neverhood/navigationscene.h
index e1dabfe..9f521d4 100644
--- a/engines/neverhood/navigationscene.h
+++ b/engines/neverhood/navigationscene.h
@@ -33,7 +33,7 @@ namespace Neverhood {
 class NavigationScene : public Scene {
 public:
 	NavigationScene(NeverhoodEngine *vm, Module *parentModule, uint32 navigationListId, int navigationIndex, const byte *itemsTypes);
-	virtual ~NavigationScene();
+	~NavigationScene() override;
 	int getNavigationAreaType();
 	int getNavigationIndex() const { return _navigationIndex; }
 	bool isWalkingForward() const { return _isWalkingForward; }
diff --git a/engines/neverhood/neverhood.h b/engines/neverhood/neverhood.h
index b6ed929..9df17e7 100644
--- a/engines/neverhood/neverhood.h
+++ b/engines/neverhood/neverhood.h
@@ -64,7 +64,7 @@ protected:
 
 public:
 	NeverhoodEngine(OSystem *syst, const NeverhoodGameDescription *gameDesc);
-	virtual ~NeverhoodEngine();
+	~NeverhoodEngine() override;
 
 	// Detection related functions
 	const NeverhoodGameDescription *_gameDescription;
diff --git a/engines/neverhood/palette.h b/engines/neverhood/palette.h
index f1b365f..6291896 100644
--- a/engines/neverhood/palette.h
+++ b/engines/neverhood/palette.h
@@ -38,7 +38,7 @@ public:
 	Palette(NeverhoodEngine *vm, const char *filename);
 	// Create from resource with fileHash
 	Palette(NeverhoodEngine *vm, uint32 fileHash);
-	virtual ~Palette();
+	~Palette() override;
 	void init();
 	void usePalette();
 	void addPalette(const char *filename, int toIndex, int count, int fromIndex);
diff --git a/engines/neverhood/scene.h b/engines/neverhood/scene.h
index 1d1faf2..0a848ed 100644
--- a/engines/neverhood/scene.h
+++ b/engines/neverhood/scene.h
@@ -42,8 +42,8 @@ class SmackerPlayer;
 class Scene : public Entity {
 public:
 	Scene(NeverhoodEngine *vm, Module *parentModule);
-	virtual ~Scene();
-	virtual void draw();
+	~Scene() override;
+	void draw() override;
 	void addEntity(Entity *entity);
 	bool removeEntity(Entity *entity);
 	void addSurface(BaseSurface *surface);
diff --git a/engines/neverhood/smackerplayer.h b/engines/neverhood/smackerplayer.h
index e08854b..2ff506b 100644
--- a/engines/neverhood/smackerplayer.h
+++ b/engines/neverhood/smackerplayer.h
@@ -35,7 +35,7 @@ class Palette;
 class SmackerSurface : public BaseSurface {
 public:
 	SmackerSurface(NeverhoodEngine *vm);
-	virtual void draw();
+	void draw() override;
 	void setSmackerFrame(const Graphics::Surface *smackerFrame);
 	void unsetSmackerFrame();
 protected:
@@ -45,7 +45,7 @@ protected:
 class SmackerDoubleSurface : public SmackerSurface {
 public:
 	SmackerDoubleSurface(NeverhoodEngine *vm);
-	virtual void draw();
+	void draw() override;
 };
 
 class NeverhoodSmackerDecoder : public Video::SmackerDecoder {
@@ -56,7 +56,7 @@ public:
 class SmackerPlayer : public Entity {
 public:
 	SmackerPlayer(NeverhoodEngine *vm, Scene *scene, uint32 fileHash, bool doubleSurface, bool flag, bool paused = false);
-	~SmackerPlayer();
+	~SmackerPlayer() override;
 	BaseSurface *getSurface() { return _smackerSurface; }
 	void open(uint32 fileHash, bool keepLastFrame);
 	void close();
diff --git a/engines/neverhood/smackerscene.h b/engines/neverhood/smackerscene.h
index e2c1802..d5114f3 100644
--- a/engines/neverhood/smackerscene.h
+++ b/engines/neverhood/smackerscene.h
@@ -32,7 +32,7 @@ namespace Neverhood {
 class SmackerScene : public Scene {
 public:
 	SmackerScene(NeverhoodEngine *vm, Module *parentModule, bool doubleSurface, bool canSkip, bool canAbort);
-	virtual ~SmackerScene();
+	~SmackerScene() override;
 	void setFileHash(uint32 fileHash);
 	void setFileHashList(const uint32 *fileHashList);
 	void nextVideo();
diff --git a/engines/neverhood/sound.h b/engines/neverhood/sound.h
index e5e4ec9..5b6b968 100644
--- a/engines/neverhood/sound.h
+++ b/engines/neverhood/sound.h
@@ -187,11 +187,11 @@ protected:
 class NeverhoodAudioStream : public Audio::AudioStream {
 public:
 	NeverhoodAudioStream(int rate, byte shiftValue, bool isLooping, DisposeAfterUse::Flag disposeStream, Common::SeekableReadStream *stream);
-	~NeverhoodAudioStream();
-	int readBuffer(int16 *buffer, const int numSamples);
-	bool isStereo() const  { return _isStereo; }
-	bool endOfData() const { return _endOfData; }
-	int getRate() const { return _rate; }
+	~NeverhoodAudioStream() override;
+	int readBuffer(int16 *buffer, const int numSamples) override;
+	bool isStereo() const override  { return _isStereo; }
+	bool endOfData() const override { return _endOfData; }
+	int getRate() const override { return _rate; }
 private:
 	const int _rate;
 	const bool _isLooping;
diff --git a/engines/neverhood/sprite.h b/engines/neverhood/sprite.h
index 5422fd1..0a2c0b5 100644
--- a/engines/neverhood/sprite.h
+++ b/engines/neverhood/sprite.h
@@ -54,7 +54,7 @@ const int16 kDefPosition = -32768;
 class Sprite : public Entity {
 public:
 	Sprite(NeverhoodEngine *vm, int objectPriority);
-	~Sprite();
+	~Sprite() override;
 	void init() {}
 	BaseSurface *getSurface() { return _surface; }
 	void updateBounds();


Commit: e30393759263601c3c03609366bd3b934ab3c1f3
    https://github.com/scummvm/scummvm/commit/e30393759263601c3c03609366bd3b934ab3c1f3
Author: Bastien Bouclet (bastien.bouclet at gmail.com)
Date: 2020-02-09T12:43:15+01:00

Commit Message:
PARALLACTION: Add override keywords

Changed paths:
    engines/parallaction/adlib.cpp
    engines/parallaction/balloons.cpp
    engines/parallaction/debug.h
    engines/parallaction/detection.cpp
    engines/parallaction/dialogue.cpp
    engines/parallaction/disk.h
    engines/parallaction/disk_br.cpp
    engines/parallaction/disk_ns.cpp
    engines/parallaction/font.cpp
    engines/parallaction/graphics.h
    engines/parallaction/gui_br.cpp
    engines/parallaction/gui_ns.cpp
    engines/parallaction/objects.h
    engines/parallaction/parallaction.h
    engines/parallaction/parser.h
    engines/parallaction/saveload.h
    engines/parallaction/sound.h
    engines/parallaction/sound_br.cpp
    engines/parallaction/sound_ns.cpp


diff --git a/engines/parallaction/adlib.cpp b/engines/parallaction/adlib.cpp
index a644168..f0e7989 100644
--- a/engines/parallaction/adlib.cpp
+++ b/engines/parallaction/adlib.cpp
@@ -288,15 +288,15 @@ public:
 		_adlibTimerParam = NULL;
 	}
 
-	int open();
-	void close();
-	void send(uint32 b);
-	MidiChannel *allocateChannel();
-	MidiChannel *getPercussionChannel() { return &_channels[9]; }
-	bool isOpen() const { return _isOpen; }
-	uint32 getBaseTempo() { return 1000000 / OPL::OPL::kDefaultCallbackFrequency; }
-
-	virtual void setTimerCallback(void *timerParam, Common::TimerManager::TimerProc timerProc) {
+	int open() override;
+	void close() override;
+	void send(uint32 b) override;
+	MidiChannel *allocateChannel() override;
+	MidiChannel *getPercussionChannel() override { return &_channels[9]; }
+	bool isOpen() const override { return _isOpen; }
+	uint32 getBaseTempo() override { return 1000000 / OPL::OPL::kDefaultCallbackFrequency; }
+
+	void setTimerCallback(void *timerParam, Common::TimerManager::TimerProc timerProc) override {
 		_adlibTimerProc = timerProc;
 		_adlibTimerParam = timerParam;
 	}
diff --git a/engines/parallaction/balloons.cpp b/engines/parallaction/balloons.cpp
index c0a516e..401d8b0 100644
--- a/engines/parallaction/balloons.cpp
+++ b/engines/parallaction/balloons.cpp
@@ -108,7 +108,7 @@ class StringExtent_NS : public WrappedLineFormatter {
 	uint	_width, _height;
 
 protected:
-	virtual Common::String expand(const Common::String &token) {
+	Common::String expand(const Common::String &token) override {
 		if (token.compareToIgnoreCase("%p") == 0) {
 			return Common::String("/");
 		}
@@ -116,7 +116,7 @@ protected:
 		return token;
 	}
 
-	virtual void setup() {
+	void setup() override {
 		_width = _height = 0;
 
 		_line.clear();
@@ -124,14 +124,14 @@ protected:
 		_width = 0;
 	}
 
-	virtual void action() {
+	void action() override {
 		if (_lineWidth > _width) {
 			_width = _lineWidth;
 		}
 		_height = _lines * _font->height();
 	}
 
-	virtual void end() {
+	void end() override {
 		action();
 	}
 
@@ -152,7 +152,7 @@ class StringWriter_NS : public WrappedLineFormatter {
 	Graphics::Surface	*_surf;
 
 protected:
-	virtual Common::String expand(const Common::String& token) {
+	Common::String expand(const Common::String& token) override {
 		if (token.compareToIgnoreCase("%p") == 0) {
 			Common::String t(_vm->_password);
 			for (int i = t.size(); i < 7; i++) {
@@ -169,10 +169,10 @@ protected:
 		return token;
 	}
 
-	virtual void setup() {
+	void setup() override {
 	}
 
-	virtual void action() {
+	void action() override {
 		if (_line.empty()) {
 			return;
 		}
@@ -184,7 +184,7 @@ protected:
 		_font->drawString(dst, _surf->w, _line.c_str());
 	}
 
-	virtual void end() {
+	void end() override {
 		action();
 	}
 
@@ -265,14 +265,14 @@ class BalloonManager_ns : public BalloonManager {
 
 public:
 	BalloonManager_ns(Parallaction_ns *vm, Font *font);
-	~BalloonManager_ns();
-
-	void reset();
-	int setLocationBalloon(const Common::String &text, bool endGame);
-	int setDialogueBalloon(const Common::String &text, uint16 winding, TextColor textColor);
-	int setSingleBalloon(const Common::String &text, uint16 x, uint16 y, uint16 winding, TextColor textColor);
-	void setBalloonText(uint id, const Common::String &text, TextColor textColor);
-	int hitTestDialogueBalloon(int x, int y);
+	~BalloonManager_ns() override;
+
+	void reset() override;
+	int setLocationBalloon(const Common::String &text, bool endGame) override;
+	int setDialogueBalloon(const Common::String &text, uint16 winding, TextColor textColor) override;
+	int setSingleBalloon(const Common::String &text, uint16 x, uint16 y, uint16 winding, TextColor textColor) override;
+	void setBalloonText(uint id, const Common::String &text, TextColor textColor) override;
+	int hitTestDialogueBalloon(int x, int y) override;
 };
 
 int16 BalloonManager_ns::_dialogueBalloonX[5] = { 80, 120, 150, 150, 150 };
@@ -445,7 +445,7 @@ class StringExtent_BR : public WrappedLineFormatter {
 	uint	_width, _height;
 
 protected:
-	virtual void setup() {
+	void setup() override {
 		_width = _height = 0;
 
 		_line.clear();
@@ -453,14 +453,14 @@ protected:
 		_width = 0;
 	}
 
-	virtual void action() {
+	void action() override {
 		if (_lineWidth > _width) {
 			_width = _lineWidth;
 		}
 		_height = _lines * _font->height();
 	}
 
-	virtual void end() {
+	void end() override {
 		action();
 	}
 
@@ -486,10 +486,10 @@ protected:
 
 	}
 
-	virtual void setup() {
+	void setup() override {
 	}
 
-	virtual void action() {
+	void action() override {
 		if (_line.empty()) {
 			return;
 		}
@@ -501,7 +501,7 @@ protected:
 		_font->drawString(dst, _surf->w, _line.c_str());
 	}
 
-	virtual void end() {
+	void end() override {
 		action();
 	}
 
@@ -553,14 +553,14 @@ class BalloonManager_br : public BalloonManager {
 
 public:
 	BalloonManager_br(Parallaction_br *vm, Font *font);
-	~BalloonManager_br();
-
-	void reset();
-	int setLocationBalloon(const Common::String &text, bool endGame);
-	int setDialogueBalloon(const Common::String &text, uint16 winding, TextColor textColor);
-	int setSingleBalloon(const Common::String &text, uint16 x, uint16 y, uint16 winding, TextColor textColor);
-	void setBalloonText(uint id, const Common::String &text, TextColor textColor);
-	int hitTestDialogueBalloon(int x, int y);
+	~BalloonManager_br() override;
+
+	void reset() override;
+	int setLocationBalloon(const Common::String &text, bool endGame) override;
+	int setDialogueBalloon(const Common::String &text, uint16 winding, TextColor textColor) override;
+	int setSingleBalloon(const Common::String &text, uint16 x, uint16 y, uint16 winding, TextColor textColor) override;
+	void setBalloonText(uint id, const Common::String &text, TextColor textColor) override;
+	int hitTestDialogueBalloon(int x, int y) override;
 };
 
 
diff --git a/engines/parallaction/debug.h b/engines/parallaction/debug.h
index 551d746..b466dde 100644
--- a/engines/parallaction/debug.h
+++ b/engines/parallaction/debug.h
@@ -12,11 +12,11 @@ class Parallaction;
 class Debugger : public GUI::Debugger {
 public:
 	Debugger(Parallaction *vm);
-	virtual ~Debugger() {}  // we need this for __SYMBIAN32__ archaic gcc/UIQ
+	~Debugger() override {}  // we need this for __SYMBIAN32__ archaic gcc/UIQ
 
 private:
-	virtual void preEnter();
-	virtual void postEnter();
+	void preEnter() override;
+	void postEnter() override;
 
 private:
 	Parallaction *_vm;
diff --git a/engines/parallaction/detection.cpp b/engines/parallaction/detection.cpp
index 87c92fe..fa32a8b 100644
--- a/engines/parallaction/detection.cpp
+++ b/engines/parallaction/detection.cpp
@@ -222,23 +222,23 @@ public:
 		_guiOptions = GUIO1(GUIO_NOLAUNCHLOAD);
 	}
 
-	virtual const char *getEngineId() const override {
+	const char *getEngineId() const override {
 		return "parallaction";
 	}
 
-	virtual const char *getName() const override {
+	const char *getName() const override {
 		return "Parallaction";
 	}
 
-	virtual const char *getOriginalCopyright() const override {
+	const char *getOriginalCopyright() const override {
 		return "Nippon Safes Inc. (C) Dynabyte";
 	}
 
-	virtual bool hasFeature(MetaEngineFeature f) const override;
-	virtual bool createInstance(OSystem *syst, Engine **engine, const ADGameDescription *desc) const override;
-	virtual SaveStateList listSaves(const char *target) const override;
-	virtual int getMaximumSaveSlot() const override;
-	virtual void removeSaveState(const char *target, int slot) const override;
+	bool hasFeature(MetaEngineFeature f) const override;
+	bool createInstance(OSystem *syst, Engine **engine, const ADGameDescription *desc) const override;
+	SaveStateList listSaves(const char *target) const override;
+	int getMaximumSaveSlot() const override;
+	void removeSaveState(const char *target, int slot) const override;
 };
 
 bool ParallactionMetaEngine::hasFeature(MetaEngineFeature f) const {
diff --git a/engines/parallaction/dialogue.cpp b/engines/parallaction/dialogue.cpp
index ee92eee..8164a91 100644
--- a/engines/parallaction/dialogue.cpp
+++ b/engines/parallaction/dialogue.cpp
@@ -437,7 +437,7 @@ public:
 		return testAnswerFlags(a);
 	}
 
-	virtual void addVisibleAnswers(Question *q) {
+	void addVisibleAnswers(Question *q) override {
 		_askPassword = false;
 		_numVisAnswers = 0;
 		for (int i = 0; i < NUM_ANSWERS && q->_answers[i]; i++) {
@@ -458,7 +458,7 @@ public:
 		resetPassword();
 	}
 
-	virtual int16 selectAnswer() {
+	int16 selectAnswer() override {
 		int ans = NO_ANSWER_SELECTED;
 		if (_askPassword) {
 			ans = askPassword();
@@ -494,7 +494,7 @@ public:
 		return testAnswerFlags(a);
 	}
 
-	virtual void addVisibleAnswers(Question *q) {
+	void addVisibleAnswers(Question *q) override {
 		_numVisAnswers = 0;
 		for (int i = 0; i < NUM_ANSWERS && q->_answers[i]; i++) {
 			Answer *a = q->_answers[i];
@@ -507,7 +507,7 @@ public:
 		}
 	}
 
-	virtual int16 selectAnswer() {
+	int16 selectAnswer() override {
 		int16 ans = NO_ANSWER_SELECTED;
 		if (_numVisAnswers == 1) {
 			ans = selectAnswer1();
diff --git a/engines/parallaction/disk.h b/engines/parallaction/disk.h
index 2e43b6f..6cb5c4e 100644
--- a/engines/parallaction/disk.h
+++ b/engines/parallaction/disk.h
@@ -103,13 +103,13 @@ protected:
 
 public:
 	Disk_ns(Parallaction *vm);
-	virtual ~Disk_ns();
+	~Disk_ns() override;
 
-	Common::String selectArchive(const Common::String &name);
-	void setLanguage(uint16 language);
+	Common::String selectArchive(const Common::String &name) override;
+	void setLanguage(uint16 language) override;
 
-	virtual Script* loadLocation(const char *name);
-	virtual Script* loadScript(const char* name);
+	Script* loadLocation(const char *name) override;
+	Script* loadScript(const char* name) override;
 };
 
 class DosDisk_ns : public Disk_ns {
@@ -124,27 +124,27 @@ private:
 
 protected:
 	Gfx	 *_gfx;
-	virtual Common::SeekableReadStream *tryOpenFile(const char* name);
-	virtual void decodeCnv(byte *data, uint16 numFrames, uint16 width, uint16 height, Common::SeekableReadStream *stream);
+	Common::SeekableReadStream *tryOpenFile(const char* name) override;
+	void decodeCnv(byte *data, uint16 numFrames, uint16 width, uint16 height, Common::SeekableReadStream *stream) override;
 
 public:
 	DosDisk_ns(Parallaction *vm);
-	virtual ~DosDisk_ns();
-
-	void init();
-
-	GfxObj* loadTalk(const char *name);
-	GfxObj* loadObjects(const char *name, uint8 part = 0);
-	Frames* loadPointer(const char *name);
-	GfxObj* loadHead(const char* name);
-	Font* loadFont(const char* name);
-	GfxObj* loadStatic(const char* name);
-	Frames* loadFrames(const char* name);
-	void loadSlide(BackgroundInfo& info, const char *filename);
-	void loadScenery(BackgroundInfo& info, const char* background, const char* mask, const char* path);
-	Table* loadTable(const char* name);
-	Common::SeekableReadStream* loadMusic(const char* name);
-	Common::SeekableReadStream* loadSound(const char* name);
+	~DosDisk_ns() override;
+
+	void init() override;
+
+	GfxObj* loadTalk(const char *name) override;
+	GfxObj* loadObjects(const char *name, uint8 part = 0) override;
+	Frames* loadPointer(const char *name) override;
+	GfxObj* loadHead(const char* name) override;
+	Font* loadFont(const char* name) override;
+	GfxObj* loadStatic(const char* name) override;
+	Frames* loadFrames(const char* name) override;
+	void loadSlide(BackgroundInfo& info, const char *filename) override;
+	void loadScenery(BackgroundInfo& info, const char* background, const char* mask, const char* path) override;
+	Table* loadTable(const char* name) override;
+	Common::SeekableReadStream* loadMusic(const char* name) override;
+	Common::SeekableReadStream* loadSound(const char* name) override;
 };
 
 class AmigaDisk_ns : public Disk_ns {
@@ -153,33 +153,33 @@ protected:
 	void patchFrame(byte *dst, byte *dlta, uint16 bytesPerPlane, uint16 height);
 	void unpackFrame(byte *dst, byte *src, uint16 planeSize);
 	void unpackBitmap(byte *dst, byte *src, uint16 numFrames, uint16 bytesPerPlane, uint16 height);
-	Common::SeekableReadStream *tryOpenFile(const char* name);
+	Common::SeekableReadStream *tryOpenFile(const char* name) override;
 	Font *createFont(const char *name, Common::SeekableReadStream &stream);
 	void loadMask_internal(BackgroundInfo& info, const char *name);
 	void loadPath_internal(BackgroundInfo& info, const char *name);
 	void loadBackground(BackgroundInfo& info, const char *name);
 	void buildMask(byte* buf);
 
-	virtual void decodeCnv(byte *data, uint16 numFrames, uint16 width, uint16 height, Common::SeekableReadStream *stream);
+	void decodeCnv(byte *data, uint16 numFrames, uint16 width, uint16 height, Common::SeekableReadStream *stream) override;
 
 public:
 	AmigaDisk_ns(Parallaction *vm);
-	virtual ~AmigaDisk_ns();
-
-	void init();
-
-	GfxObj* loadTalk(const char *name);
-	GfxObj* loadObjects(const char *name, uint8 part = 0);
-	Frames* loadPointer(const char *name);
-	GfxObj* loadHead(const char* name);
-	Font* loadFont(const char* name);
-	GfxObj* loadStatic(const char* name);
-	Frames* loadFrames(const char* name);
-	void loadSlide(BackgroundInfo& info, const char *filename);
-	void loadScenery(BackgroundInfo& info, const char* background, const char* mask, const char* path);
-	Table* loadTable(const char* name);
-	Common::SeekableReadStream* loadMusic(const char* name);
-	Common::SeekableReadStream* loadSound(const char* name);
+	~AmigaDisk_ns() override;
+
+	void init() override;
+
+	GfxObj* loadTalk(const char *name) override;
+	GfxObj* loadObjects(const char *name, uint8 part = 0) override;
+	Frames* loadPointer(const char *name) override;
+	GfxObj* loadHead(const char* name) override;
+	Font* loadFont(const char* name) override;
+	GfxObj* loadStatic(const char* name) override;
+	Frames* loadFrames(const char* name) override;
+	void loadSlide(BackgroundInfo& info, const char *filename) override;
+	void loadScenery(BackgroundInfo& info, const char* background, const char* mask, const char* path) override;
+	Table* loadTable(const char* name) override;
+	Common::SeekableReadStream* loadMusic(const char* name) override;
+	Common::SeekableReadStream* loadSound(const char* name) override;
 };
 
 
@@ -201,7 +201,7 @@ protected:
 
 public:
 	Disk_br(Parallaction *vm);
-	virtual ~Disk_br();
+	~Disk_br() override;
 };
 
 //	for the moment DosDisk_br subclasses Disk. When Amiga support will
@@ -218,26 +218,26 @@ protected:
 public:
 	DosDisk_br(Parallaction *vm);
 
-	virtual void init();
-
-	Common::String selectArchive(const Common::String &name);
-	void setLanguage(uint16 language);
-	Script* loadLocation(const char *name);
-	Script* loadScript(const char* name);
-	GfxObj* loadTalk(const char *name);
-	GfxObj* loadObjects(const char *name, uint8 part = 0);
-	Frames* loadPointer(const char *name);
-	GfxObj* loadHead(const char* name);
-	Font* loadFont(const char* name);
-	GfxObj* loadStatic(const char* name);
-	Frames* loadFrames(const char* name);
-	void loadSlide(BackgroundInfo& info, const char *filename);
-	void loadScenery(BackgroundInfo& info, const char* name, const char* mask, const char* path);
-	Table* loadTable(const char* name);
-	Common::SeekableReadStream* loadMusic(const char* name);
-	Common::SeekableReadStream* loadSound(const char* name);
-	MaskBuffer *loadMask(const char *name, uint32 w, uint32 h);
-	PathBuffer *loadPath(const char *name, uint32 w, uint32 h);
+	void init() override;
+
+	Common::String selectArchive(const Common::String &name) override;
+	void setLanguage(uint16 language) override;
+	Script* loadLocation(const char *name) override;
+	Script* loadScript(const char* name) override;
+	GfxObj* loadTalk(const char *name) override;
+	GfxObj* loadObjects(const char *name, uint8 part = 0) override;
+	Frames* loadPointer(const char *name) override;
+	GfxObj* loadHead(const char* name) override;
+	Font* loadFont(const char* name) override;
+	GfxObj* loadStatic(const char* name) override;
+	Frames* loadFrames(const char* name) override;
+	void loadSlide(BackgroundInfo& info, const char *filename) override;
+	void loadScenery(BackgroundInfo& info, const char* name, const char* mask, const char* path) override;
+	Table* loadTable(const char* name) override;
+	Common::SeekableReadStream* loadMusic(const char* name) override;
+	Common::SeekableReadStream* loadSound(const char* name) override;
+	MaskBuffer *loadMask(const char *name, uint32 w, uint32 h) override;
+	PathBuffer *loadPath(const char *name, uint32 w, uint32 h) override;
 };
 
 class DosDemoDisk_br : public DosDisk_br {
@@ -245,9 +245,9 @@ class DosDemoDisk_br : public DosDisk_br {
 public:
 	DosDemoDisk_br(Parallaction *vm);
 
-	virtual void init();
+	void init() override;
 
-	Common::String selectArchive(const Common::String& name);
+	Common::String selectArchive(const Common::String& name) override;
 };
 
 class AmigaDisk_br : public DosDisk_br {
@@ -261,19 +261,19 @@ protected:
 public:
 	AmigaDisk_br(Parallaction *vm);
 
-	virtual void init();
-
-	Common::String selectArchive(const Common::String& name);
-	GfxObj* loadTalk(const char *name);
-	Font* loadFont(const char* name);
-	GfxObj* loadStatic(const char* name);
-	Frames* loadFrames(const char* name);
-	void loadSlide(BackgroundInfo& info, const char *filename);
-	void loadScenery(BackgroundInfo& info, const char* name, const char* mask, const char* path);
-	GfxObj* loadObjects(const char *name, uint8 part = 0);
-	Common::SeekableReadStream* loadMusic(const char* name);
-	Common::SeekableReadStream* loadSound(const char* name);
-	MaskBuffer *loadMask(const char *name, uint32 w, uint32 h);
+	void init() override;
+
+	Common::String selectArchive(const Common::String& name) override;
+	GfxObj* loadTalk(const char *name) override;
+	Font* loadFont(const char* name) override;
+	GfxObj* loadStatic(const char* name) override;
+	Frames* loadFrames(const char* name) override;
+	void loadSlide(BackgroundInfo& info, const char *filename) override;
+	void loadScenery(BackgroundInfo& info, const char* name, const char* mask, const char* path) override;
+	GfxObj* loadObjects(const char *name, uint8 part = 0) override;
+	Common::SeekableReadStream* loadMusic(const char* name) override;
+	Common::SeekableReadStream* loadSound(const char* name) override;
+	MaskBuffer *loadMask(const char *name, uint32 w, uint32 h) override;
 };
 
 } // namespace Parallaction
diff --git a/engines/parallaction/disk_br.cpp b/engines/parallaction/disk_br.cpp
index af2d2b8..dc0adf9 100644
--- a/engines/parallaction/disk_br.cpp
+++ b/engines/parallaction/disk_br.cpp
@@ -58,30 +58,30 @@ struct Sprites : public Frames {
 		_sprites = new Sprite[_num];
 	}
 
-	~Sprites() {
+	~Sprites() override {
 		delete[] _sprites;
 	}
 
-	uint16 getNum() {
+	uint16 getNum() override {
 		return _num;
 	}
 
-	byte* getData(uint16 index) {
+	byte* getData(uint16 index) override {
 		assert(index < _num);
 		return _sprites[index].packedData;
 	}
 
-	void getRect(uint16 index, Common::Rect &r) {
+	void getRect(uint16 index, Common::Rect &r) override {
 		assert(index < _num);
 		r.setWidth(_sprites[index].w);
 		r.setHeight(_sprites[index].h);
 		r.moveTo(_sprites[index].x, _sprites[index].y);
 	}
-	uint	getRawSize(uint16 index) {
+	uint	getRawSize(uint16 index) override {
 		assert(index < _num);
 		return _sprites[index].size;
 	}
-	uint	getSize(uint16 index) {
+	uint	getSize(uint16 index) override {
 		assert(index < _num);
 		return _sprites[index].w * _sprites[index].h;
 	}
diff --git a/engines/parallaction/disk_ns.cpp b/engines/parallaction/disk_ns.cpp
index c25236a..c5720ea 100644
--- a/engines/parallaction/disk_ns.cpp
+++ b/engines/parallaction/disk_ns.cpp
@@ -72,12 +72,12 @@ class NSArchive : public Common::Archive {
 
 public:
 	NSArchive(Common::SeekableReadStream *stream, Common::Platform platform, uint32 features);
-	~NSArchive();
+	~NSArchive() override;
 
-	Common::SeekableReadStream *createReadStreamForMember(const Common::String &name) const;
-	bool hasFile(const Common::String &name) const;
-	int listMembers(Common::ArchiveMemberList &list) const;
-	const Common::ArchiveMemberPtr getMember(const Common::String &name) const;
+	Common::SeekableReadStream *createReadStreamForMember(const Common::String &name) const override;
+	bool hasFile(const Common::String &name) const override;
+	int listMembers(Common::ArchiveMemberList &list) const override;
+	const Common::ArchiveMemberPtr getMember(const Common::String &name) const override;
 };
 
 
@@ -684,27 +684,27 @@ public:
 		_dispose = true;
 	}
 
-	~PowerPackerStream() {
+	~PowerPackerStream() override {
 		if (_dispose) delete _stream;
 	}
 
-	int32 size() const {
+	int32 size() const override {
 		return _stream->size();
 	}
 
-	int32 pos() const {
+	int32 pos() const override {
 		return _stream->pos();
 	}
 
-	bool eos() const {
+	bool eos() const override {
 		return _stream->eos();
 	}
 
-	bool seek(int32 offs, int whence = SEEK_SET) {
+	bool seek(int32 offs, int whence = SEEK_SET) override {
 		return _stream->seek(offs, whence);
 	}
 
-	uint32 read(void *dataPtr, uint32 dataSize) {
+	uint32 read(void *dataPtr, uint32 dataSize) override {
 		return _stream->read(dataPtr, dataSize);
 	}
 };
diff --git a/engines/parallaction/font.cpp b/engines/parallaction/font.cpp
index 0476b15..41d89f0 100644
--- a/engines/parallaction/font.cpp
+++ b/engines/parallaction/font.cpp
@@ -74,14 +74,14 @@ public:
 		_bufPitch = 0;
 	}
 
-	~BraFont() {
+	~BraFont() override {
 		free(_widths);
 		free(_offsets);
 		free(_data);
 	}
 
 
-	uint32 getStringWidth(const char *s) {
+	uint32 getStringWidth(const char *s) override {
 		uint32 len = 0;
 
 		while (*s) {
@@ -93,7 +93,7 @@ public:
 		return len;
 	}
 
-	uint16 height() {
+	uint16 height() override {
 		return (uint16)_height;
 	}
 
@@ -122,7 +122,7 @@ public:
 
 	}
 
-	void drawString(byte* buffer, uint32 pitch, const char *s) {
+	void drawString(byte* buffer, uint32 pitch, const char *s) override {
 		if (s == NULL)
 			return;
 
@@ -250,16 +250,16 @@ public:
 	}
 
 	// Frames implementation
-	uint16	getNum() {
+	uint16	getNum() override {
 		return _numGlyphs;
 	}
 
-	byte*	getData(uint16 index) {
+	byte*	getData(uint16 index) override {
 		assert(index < _numGlyphs);
 		return _data + (_height * _widths[index]) * index;
 	}
 
-	void	getRect(uint16 index, Common::Rect &r) {
+	void	getRect(uint16 index, Common::Rect &r) override {
 		assert(index < _numGlyphs);
 		r.left = 0;
 		r.top = 0;
@@ -267,12 +267,12 @@ public:
 		r.setHeight(_height);
 	}
 
-	uint	getRawSize(uint16 index) {
+	uint	getRawSize(uint16 index) override {
 		assert(index < _numGlyphs);
 		return _widths[index] * _height;
 	}
 
-	uint	getSize(uint16 index) {
+	uint	getSize(uint16 index) override {
 		assert(index < _numGlyphs);
 		return _widths[index] * _height;
 	}
@@ -292,7 +292,7 @@ protected:
 protected:
 	virtual uint16 drawChar(char c) = 0;
 	virtual uint16 width(byte c) = 0;
-	virtual uint16 height() = 0;
+	uint16 height() override = 0;
 
 	byte mapChar(byte c) {
 		if (c == 0xA5) return 0x5F;
@@ -307,7 +307,7 @@ public:
 	DosFont(Cnv *cnv) : _data(cnv), _pitch(cnv->_width), _cp(NULL), _bufPitch(0) {
 	}
 
-	~DosFont() {
+	~DosFont() override {
 		delete _data;
 	}
 
@@ -315,7 +315,7 @@ public:
 
 	}
 
-	uint32 getStringWidth(const char *s) {
+	uint32 getStringWidth(const char *s) override {
 		uint32 len = 0;
 
 		while (*s) {
@@ -327,7 +327,7 @@ public:
 		return len;
 	}
 
-	void drawString(byte* buffer, uint32 pitch, const char *s) {
+	void drawString(byte* buffer, uint32 pitch, const char *s) override {
 		if (s == NULL)
 			return;
 
@@ -348,11 +348,11 @@ private:
 	static const byte	_glyphWidths[126];
 
 protected:
-	uint16 width(byte c) {
+	uint16 width(byte c) override {
 		return _glyphWidths[c];
 	}
 
-	uint16 height() {
+	uint16 height() override {
 		return _data->_height;
 	}
 
@@ -361,7 +361,7 @@ public:
 	}
 
 protected:
-	uint16 drawChar(char c) {
+	uint16 drawChar(char c) override {
 
 		byte *src = _data->getFramePtr(c);
 		byte *dst = _cp;
@@ -405,15 +405,15 @@ protected:
 	uint16	_width;
 
 protected:
-	uint16 width(byte c) {
+	uint16 width(byte c) override {
 		return _width;
 	}
 
-	uint16 height() {
+	uint16 height() override {
 		return _data->_height;
 	}
 
-	uint16 drawChar(char c) {
+	uint16 drawChar(char c) override {
 
 		byte *src = _data->getFramePtr(c);
 		byte *dst = _cp;
@@ -486,16 +486,16 @@ protected:
 	uint16 getPixels(byte c);
 	uint16 getOffset(byte c);
 	uint16 width(byte c);
-	uint16 height();
+	uint16 height() override;
 
 	byte	mapChar(byte c);
 
 public:
 	AmigaFont(Common::SeekableReadStream &stream);
-	~AmigaFont();
+	~AmigaFont() override;
 
-	uint32 getStringWidth(const char *s);
-	void drawString(byte *buf, uint32 pitch, const char *s);
+	uint32 getStringWidth(const char *s) override;
+	void drawString(byte *buf, uint32 pitch, const char *s) override;
 
 
 
diff --git a/engines/parallaction/graphics.h b/engines/parallaction/graphics.h
index 348a663..d5857cc 100644
--- a/engines/parallaction/graphics.h
+++ b/engines/parallaction/graphics.h
@@ -94,30 +94,30 @@ public:
 	SurfaceToFrames(Graphics::Surface *surf) : _surf(surf) {
 	}
 
-	~SurfaceToFrames() {
+	~SurfaceToFrames() override {
 		_surf->free();
 		delete _surf;
 	}
 
-	uint16	getNum() {
+	uint16	getNum() override {
 		return 1;
 	}
-	byte*	getData(uint16 index) {
+	byte*	getData(uint16 index) override {
 		assert(index == 0);
 		return (byte *)_surf->getBasePtr(0,0);
 	}
-	void	getRect(uint16 index, Common::Rect &r) {
+	void	getRect(uint16 index, Common::Rect &r) override {
 		assert(index == 0);
 		r.left = 0;
 		r.top = 0;
 		r.setWidth(_surf->w);
 		r.setHeight(_surf->h);
 	}
-	uint	getRawSize(uint16 index) {
+	uint	getRawSize(uint16 index) override {
 		assert(index == 0);
 		return getSize(index);
 	}
-	uint	getSize(uint16 index) {
+	uint	getSize(uint16 index) override {
 		assert(index == 0);
 		return _surf->w * _surf->h;
 	}
@@ -143,7 +143,7 @@ public:
 
 	}
 
-	~Cnv() {
+	~Cnv() override {
 		if (_freeData)
 			delete[] _data;
 	}
@@ -154,25 +154,25 @@ public:
 		return &_data[index * _width * _height];
 	}
 
-	uint16	getNum() {
+	uint16	getNum() override {
 		return _count;
 	}
 
-	byte	*getData(uint16 index) {
+	byte	*getData(uint16 index) override {
 		return getFramePtr(index);
 	}
 
-	void getRect(uint16 index, Common::Rect &r) {
+	void getRect(uint16 index, Common::Rect &r) override {
 		r.left = 0;
 		r.top = 0;
 		r.setWidth(_width);
 		r.setHeight(_height);
 	}
-	uint	getRawSize(uint16 index) {
+	uint	getRawSize(uint16 index) override {
 		assert(index < _count);
 		return getSize(index);
 	}
-	uint	getSize(uint16 index) {
+	uint	getSize(uint16 index) override {
 		assert(index < _count);
 		return _width * _height;
 	}
diff --git a/engines/parallaction/gui_br.cpp b/engines/parallaction/gui_br.cpp
index 816ef16..d1ce539 100644
--- a/engines/parallaction/gui_br.cpp
+++ b/engines/parallaction/gui_br.cpp
@@ -47,7 +47,7 @@ public:
 			_timeOut(0), _startTime(0), _fadeSteps(0) {
 	}
 
-	virtual MenuInputState* run() {
+	MenuInputState* run() override {
 		if (_fadeSteps > 0) {
 			pal.fadeTo(blackPal, 1);
 			_vm->_gfx->setPalette(pal);
@@ -67,7 +67,7 @@ public:
 		return this;
 	}
 
-	virtual void enter() {
+	void enter() override {
 		_vm->_gfx->clearScreen();
 		_vm->showSlide(_slideName.c_str(), CENTER_LABEL_HORIZONTAL, CENTER_LABEL_VERTICAL);
 		_vm->_input->setMouseState(MOUSE_DISABLED);
@@ -204,11 +204,11 @@ public:
 		_selection = 0;
 	}
 
-	~MainMenuInputState_BR() {
+	~MainMenuInputState_BR() override {
 		cleanup();
 	}
 
-	virtual MenuInputState* run() {
+	MenuInputState* run() override {
 		int event = _vm->_input->getLastButtonEvent();
 		if (!((event == kMouseLeftUp) && _selection >= 0)) {
 			redrawMenu();
@@ -241,7 +241,7 @@ public:
 		return 0;
 	}
 
-	virtual void enter() {
+	void enter() override {
 		_vm->_gfx->clearScreen();
 		int x = 0, y = 0, i = 0;
 		if (_vm->getPlatform() == Common::kPlatformDOS) {
@@ -388,13 +388,13 @@ public:
 		_sfxStatus = _mscStatus = 0;
 	}
 
-	~IngameMenuInputState_BR() {
+	~IngameMenuInputState_BR() override {
 		delete _menuObj;
 		delete _mscMenuObj;
 		delete _sfxMenuObj;
 	}
 
-	MenuInputState *run() {
+	MenuInputState *run() override {
 		if (_vm->_input->getLastButtonEvent() != kMouseLeftUp) {
 			return this;
 		}
@@ -457,7 +457,7 @@ public:
 		return this;
 	}
 
-	void enter() {
+	void enter() override {
 		// TODO: find the right position of the menu object
 		_menuObjId = _vm->_gfx->setItem(_menuObj, 0, 0, 0);
 		_vm->_gfx->setItemFrame(_menuObjId, 0);
@@ -509,11 +509,11 @@ public:
 		assert(_obj);
 	}
 
-	~QuitDialogInputState_BR() {
+	~QuitDialogInputState_BR() override {
 		delete _obj;
 	}
 
-	MenuInputState *run() {
+	MenuInputState *run() override {
 		uint16 key;
 		bool e = _vm->_input->getLastKeyDown(key);
 		if (!e) {
@@ -537,7 +537,7 @@ public:
 	}
 
 
-	void enter() {
+	void enter() override {
 	//	setPaletteEntry(1, 0, 0, 0);	// text color
 	//	setPaletteEntry(15, 255, 255, 255);	// background color
 		int id = _vm->_gfx->setItem(_obj, _x, _y, 0);
diff --git a/engines/parallaction/gui_ns.cpp b/engines/parallaction/gui_ns.cpp
index 3c312c4..2eefa7e 100644
--- a/engines/parallaction/gui_ns.cpp
+++ b/engines/parallaction/gui_ns.cpp
@@ -47,7 +47,7 @@ public:
 			_timeOut(0), _startTime(0) {
 	}
 
-	virtual MenuInputState* run() {
+	MenuInputState* run() override {
 		uint32 curTime = _vm->_system->getMillis();
 		if (curTime - _startTime > _timeOut) {
 			return _helper->getState(_nextState);
@@ -55,7 +55,7 @@ public:
 		return this;
 	}
 
-	virtual void enter() {
+	void enter() override {
 		_vm->_input->setMouseState(MOUSE_DISABLED);
 		_vm->showSlide(_slideName.c_str());
 		_startTime = _vm->_system->getMillis();
@@ -152,7 +152,7 @@ public:
 		_allowChoice = true;
 	}
 
-	~ChooseLanguageInputState_NS() {
+	~ChooseLanguageInputState_NS() override {
 		destroyLabels();
 	}
 
@@ -162,7 +162,7 @@ public:
 		_label = 0;
 	}
 
-	virtual MenuInputState* run() {
+	MenuInputState* run() override {
 		if (!_allowChoice) {
 			_vm->setInternLanguage(_language);
 			return _helper->getState(_nextState);
@@ -188,7 +188,7 @@ public:
 		return this;
 	}
 
-	virtual void enter() {
+	void enter() override {
 		if (!_allowChoice) {
 			return;
 		}
@@ -229,7 +229,7 @@ public:
 		_labels[1] = 0;
 	}
 
-	~SelectGameInputState_NS() {
+	~SelectGameInputState_NS() override {
 		destroyLabels();
 	}
 
@@ -243,7 +243,7 @@ public:
 	}
 
 
-	virtual MenuInputState *run() {
+	MenuInputState *run() override {
 		int event = _vm->_input->getLastButtonEvent();
 
 		if (event == kMouseLeftUp) {
@@ -268,7 +268,7 @@ public:
 		return this;
 	}
 
-	virtual void enter() {
+	void enter() override {
 		_vm->showSlide("restore");
 		_vm->_input->setMouseState(MOUSE_ENABLED_SHOW);
 
@@ -301,14 +301,14 @@ class LoadGameInputState_NS : public MenuInputState {
 public:
 	LoadGameInputState_NS(Parallaction *vm, MenuInputHelper *helper) : MenuInputState("loadgame", helper), _vm(vm), _result(false) { }
 
-	virtual MenuInputState* run() {
+	MenuInputState* run() override {
 		if (!_result) {
 			_vm->scheduleLocationSwitch("fogne.dough");
 		}
 		return 0;
 	}
 
-	virtual void enter() {
+	void enter() override {
 		_result = _vm->_saveLoad->loadGame();
 	}
 };
@@ -329,11 +329,11 @@ public:
 		_labels[3] = 0;
 	}
 
-	~NewGameInputState_NS() {
+	~NewGameInputState_NS() override {
 		destroyLabels();
 	}
 
-	virtual MenuInputState* run() {
+	MenuInputState* run() override {
 		int event = _vm->_input->getLastButtonEvent();
 
 		if (event == kMouseLeftUp || event == kMouseRightUp) {
@@ -366,7 +366,7 @@ public:
 		_labels[3] = 0;
 	}
 
-	virtual void enter() {
+	void enter() override {
 		_vm->changeBackground("test");
 		_vm->_input->setMouseState(MOUSE_ENABLED_HIDE);
 
@@ -397,13 +397,13 @@ public:
 	StartDemoInputState_NS(Parallaction *vm, MenuInputHelper *helper) : MenuInputState("startdemo", helper), _vm(vm) {
 	}
 
-	virtual MenuInputState* run() {
+	MenuInputState* run() override {
 		_vm->scheduleLocationSwitch("fognedemo.dough");
 		_vm->_input->setMouseState(MOUSE_ENABLED_SHOW);
 		return 0;
 	}
 
-	virtual void enter() {
+	void enter() override {
 		_vm->_input->setMouseState(MOUSE_DISABLED);
 	}
 };
@@ -504,7 +504,7 @@ public:
 		_codeTrueBlocks[8] = Common::Rect( 248, 58, 264, 82 );
 	}
 
-	~SelectCharacterInputState_NS() {
+	~SelectCharacterInputState_NS() override {
 		_block.free();
 		_emptySlots.free();
 
@@ -598,7 +598,7 @@ public:
 		_vm->scheduleLocationSwitch(_charStartLocation[character]);
 	}
 
-	virtual MenuInputState* run() {
+	MenuInputState* run() override {
 		MenuInputState* nextState = this;
 
 		switch (_state) {
@@ -626,7 +626,7 @@ public:
 		return nextState;
 	}
 
-	virtual void enter() {
+	void enter() override {
 		_vm->_soundManI->stopMusic();
 		_vm->showSlide("password");
 
@@ -700,7 +700,7 @@ public:
 		_startTime = 0;
 	}
 
-	~ShowCreditsInputState_NS() {
+	~ShowCreditsInputState_NS() override {
 		destroyLabels();
 	}
 
@@ -723,7 +723,7 @@ public:
 	}
 
 
-	virtual MenuInputState* run() {
+	MenuInputState* run() override {
 		if (_current == -1) {
 			_startTime = _vm->_system->getMillis();
 			_current = 0;
@@ -748,7 +748,7 @@ public:
 		return this;
 	}
 
-	virtual void enter() {
+	void enter() override {
 		_current = -1;
 		_vm->_input->setMouseState(MOUSE_DISABLED);
 	}
@@ -774,7 +774,7 @@ public:
 		_label = 0;
 	}
 
-	~EndIntroInputState_NS() {
+	~EndIntroInputState_NS() override {
 		destroyLabels();
 	}
 
@@ -784,7 +784,7 @@ public:
 		_label = 0;
 	}
 
-	virtual MenuInputState* run() {
+	MenuInputState* run() override {
 
 		int event = _vm->_input->getLastButtonEvent();
 		if (event != kMouseLeftUp) {
@@ -801,7 +801,7 @@ public:
 		return _helper->getState("selectcharacter");
 	}
 
-	virtual void enter() {
+	void enter() override {
 		_vm->_input->setMouseState(MOUSE_DISABLED);
 
 		if (!_isDemo) {
@@ -857,7 +857,7 @@ public:
 		_labels[3] = 0;
 	}
 
-	virtual MenuInputState* run() {
+	MenuInputState* run() override {
 		int event = _vm->_input->getLastButtonEvent();
 		if (event != kMouseLeftUp) {
 			return this;
@@ -873,7 +873,7 @@ public:
 		return _helper->getState("selectcharacter");
 	}
 
-	virtual void enter() {
+	void enter() override {
 		bool completed[3];
 		_vm->_saveLoad->getGamePartProgress(completed, 3);
 		_allPartsComplete = (completed[0] && completed[1] && completed[2]);
diff --git a/engines/parallaction/objects.h b/engines/parallaction/objects.h
index 9842d79..4dcb888 100644
--- a/engines/parallaction/objects.h
+++ b/engines/parallaction/objects.h
@@ -474,7 +474,7 @@ public:
 	Common::String _scriptName;
 
 	Animation();
-	virtual ~Animation();
+	~Animation() override;
 	uint16 getFrameNum() const;
 	byte* getFrameData() const;
 
@@ -491,11 +491,11 @@ public:
 	void forceXYZF(int16 x, int16 y, int16 z, int16 f);
 
 	// getters/setters used by scripts
-	int16 getX()			{ return _left; }
-	void  setX(int16 value) { _left = value; }
+	int16 getX() override			{ return _left; }
+	void  setX(int16 value) override { _left = value; }
 
-	int16 getY()			{ return _top; }
-	void  setY(int16 value) { _top = value; }
+	int16 getY() override			{ return _top; }
+	void  setY(int16 value) override { _top = value; }
 
 	int16 getZ()			{ return _z; }
 	void  setZ(int16 value) { _z = value; }
@@ -539,7 +539,7 @@ class FixedTable : public Table {
 
 public:
 	FixedTable(uint32 size, uint32 fixed);
-	void clear();
+	void clear() override;
 };
 
 Table* createTableFromStream(uint32 size, Common::SeekableReadStream *stream);
diff --git a/engines/parallaction/parallaction.h b/engines/parallaction/parallaction.h
index 881564f..2159c28 100644
--- a/engines/parallaction/parallaction.h
+++ b/engines/parallaction/parallaction.h
@@ -258,12 +258,12 @@ private:
 
 public:
 	Parallaction(OSystem *syst, const PARALLACTIONGameDescription *gameDesc);
-	~Parallaction();
+	~Parallaction() override;
 
 	// Engine APIs
 	virtual Common::Error init();
 	virtual Common::Error go() = 0;
-	virtual Common::Error run() override {
+	Common::Error run() override {
 		Common::Error err;
 		err = init();
 		if (err.getCode() != Common::kNoError)
@@ -271,9 +271,9 @@ public:
 		return go();
 	}
 
-	virtual bool hasFeature(EngineFeature f) const override;
-	virtual void pauseEngineIntern(bool pause) override;
-	virtual GUI::Debugger *getDebugger() override;
+	bool hasFeature(EngineFeature f) const override;
+	void pauseEngineIntern(bool pause) override;
+	GUI::Debugger *getDebugger() override;
 
 	// info
 	int32			_screenWidth;
@@ -397,11 +397,11 @@ class Parallaction_ns : public Parallaction {
 
 public:
 	Parallaction_ns(OSystem* syst, const PARALLACTIONGameDescription *gameDesc);
-	~Parallaction_ns();
+	~Parallaction_ns() override;
 
 	// Engine APIs
-	virtual Common::Error init();
-	virtual Common::Error go();
+	Common::Error init() override;
+	Common::Error go() override;
 
 	SoundMan_ns*	_soundManI;
 
@@ -410,16 +410,16 @@ public:
 
 
 public:
-	virtual void parseLocation(const char *filename);
-	virtual void changeLocation();
-	virtual void changeCharacter(const char *name);
-	virtual void callFunction(uint index, void* parm);
-	virtual void runPendingZones();
-	virtual void cleanupGame();
-	virtual void updateWalkers();
-	virtual void scheduleWalk(int16 x, int16 y, bool fromUser);
-	virtual DialogueManager *createDialogueManager(ZonePtr z);
-	virtual bool processGameEvent(int event);
+	void parseLocation(const char *filename) override;
+	void changeLocation() override;
+	void changeCharacter(const char *name) override;
+	void callFunction(uint index, void* parm) override;
+	void runPendingZones() override;
+	void cleanupGame() override;
+	void updateWalkers() override;
+	void scheduleWalk(int16 x, int16 y, bool fromUser) override;
+	DialogueManager *createDialogueManager(ZonePtr z) override;
+	bool processGameEvent(int event) override;
 
 	void	changeBackground(const char *background, const char *mask = 0, const char *path = 0);
 
@@ -509,22 +509,22 @@ class Parallaction_br : public Parallaction {
 
 public:
 	Parallaction_br(OSystem* syst, const PARALLACTIONGameDescription *gameDesc);
-	~Parallaction_br();
+	~Parallaction_br() override;
 
-	virtual Common::Error init();
-	virtual Common::Error go();
+	Common::Error init() override;
+	Common::Error go() override;
 
 public:
-	virtual void parseLocation(const char* name);
-	virtual void changeLocation();
-	virtual void changeCharacter(const char *name);
-	virtual	void callFunction(uint index, void* parm);
-	virtual void runPendingZones();
-	virtual void cleanupGame();
-	virtual void updateWalkers();
-	virtual void scheduleWalk(int16 x, int16 y, bool fromUser);
-	virtual DialogueManager *createDialogueManager(ZonePtr z);
-	virtual bool processGameEvent(int event);
+	void parseLocation(const char* name) override;
+	void changeLocation() override;
+	void changeCharacter(const char *name) override;
+		void callFunction(uint index, void* parm) override;
+	void runPendingZones() override;
+	void cleanupGame() override;
+	void updateWalkers() override;
+	void scheduleWalk(int16 x, int16 y, bool fromUser) override;
+	DialogueManager *createDialogueManager(ZonePtr z) override;
+	bool processGameEvent(int event) override;
 
 	void setupSubtitles(const char *s, const char *s2, int y);
 	void clearSubtitles();
diff --git a/engines/parallaction/parser.h b/engines/parallaction/parser.h
index e7ae7dc..d1c5172 100644
--- a/engines/parallaction/parser.h
+++ b/engines/parallaction/parser.h
@@ -291,25 +291,25 @@ protected:
 	DECLARE_UNQUALIFIED_ANIM_PARSER(moveto);
 	DECLARE_UNQUALIFIED_ANIM_PARSER(endanimation);
 
-	virtual void	parseZoneTypeBlock(ZonePtr z);
+	void	parseZoneTypeBlock(ZonePtr z) override;
 public:
 	virtual void	parsePathData(ZonePtr z);
-	virtual void	parseGetData(ZonePtr z);
-	virtual void	parseDoorData(ZonePtr z);
-	virtual void	parseHearData(ZonePtr z);
-	virtual void	parseNoneData(ZonePtr z);
+	void	parseGetData(ZonePtr z) override;
+	void	parseDoorData(ZonePtr z) override;
+	void	parseHearData(ZonePtr z) override;
+	void	parseNoneData(ZonePtr z) override;
 protected:
 	void	parseAnswerCounter(Answer *answer);
-	virtual Answer *parseAnswer();
+	Answer *parseAnswer() override;
 
 public:
 	LocationParser_br(Parallaction_br *vm) : LocationParser_ns((Parallaction_ns*)vm), _vm(vm),
 		_audioCommandsNames(0), _out(0) {
 	}
 
-	virtual void init();
+	void init() override;
 
-	virtual ~LocationParser_br() {
+	~LocationParser_br() override {
 		delete _audioCommandsNames;
 	}
 
@@ -402,14 +402,14 @@ protected:
 	void beginIfStatement();
 	void endIfStatement();
 
-	virtual void parseRValue(ScriptVar &var, const char *str);
+	void parseRValue(ScriptVar &var, const char *str) override;
 
 public:
 	ProgramParser_br(Parallaction_br *vm) : ProgramParser_ns((Parallaction_ns*)vm), _vm(vm), _openIfStatement(0) {
 	}
 
-	virtual void init();
-	virtual void parse(Script *script, ProgramPtr program);
+	void init() override;
+	void parse(Script *script, ProgramPtr program) override;
 };
 
 } // End of namespace Parallaction
diff --git a/engines/parallaction/saveload.h b/engines/parallaction/saveload.h
index c9b724e..19e830d 100644
--- a/engines/parallaction/saveload.h
+++ b/engines/parallaction/saveload.h
@@ -57,29 +57,29 @@ class SaveLoad_ns : public SaveLoad {
 	Parallaction_ns *_vm;
 
 protected:
-	void renameOldSavefiles();
-	virtual void doLoadGame(uint16 slot);
-	virtual void doSaveGame(uint16 slot, const char* name);
+	void renameOldSavefiles() override;
+	void doLoadGame(uint16 slot) override;
+	void doSaveGame(uint16 slot, const char* name) override;
 
 public:
 	SaveLoad_ns(Parallaction_ns *vm, Common::SaveFileManager *saveFileMan) : SaveLoad(saveFileMan, "nippon"), _vm(vm) { }
 
-	virtual bool saveGame();
+	bool saveGame() override;
 
-	virtual void getGamePartProgress(bool *complete, int size);
-	virtual void setPartComplete(const char *part);
+	void getGamePartProgress(bool *complete, int size) override;
+	void setPartComplete(const char *part) override;
 };
 
 class SaveLoad_br : public SaveLoad {
 //	Parallaction_br *_vm;
-	virtual void doLoadGame(uint16 slot);
-	virtual void doSaveGame(uint16 slot, const char* name);
+	void doLoadGame(uint16 slot) override;
+	void doSaveGame(uint16 slot, const char* name) override;
 
 public:
 	SaveLoad_br(Parallaction_br *vm, Common::SaveFileManager *saveFileMan) : SaveLoad(saveFileMan, "bra") { }
 
-	virtual void getGamePartProgress(bool *complete, int size);
-	virtual void setPartComplete(const char *part);
+	void getGamePartProgress(bool *complete, int size) override;
+	void setPartComplete(const char *part) override;
 };
 
 } // namespace Parallaction
diff --git a/engines/parallaction/sound.h b/engines/parallaction/sound.h
index 79cc346..3d17b40 100644
--- a/engines/parallaction/sound.h
+++ b/engines/parallaction/sound.h
@@ -112,7 +112,7 @@ protected:
 
 public:
 	SoundMan_ns(Parallaction_ns *vm);
-	virtual ~SoundMan_ns() {}
+	~SoundMan_ns() override {}
 
 	virtual void playSfx(const char *filename, uint channel, bool looping, int volume = -1) { }
 	virtual void stopSfx(uint channel) { }
@@ -123,7 +123,7 @@ public:
 	virtual void playCharacterMusic(const char *character) = 0;
 	virtual void playLocationMusic(const char *location) = 0;
 	virtual void pause(bool p) { }
-	virtual void execute(int command, const char *parm);
+	void execute(int command, const char *parm) override;
 
 	void setMusicVolume(int value);
 };
@@ -139,14 +139,14 @@ class DosSoundMan_ns : public SoundMan_ns {
 
 public:
 	DosSoundMan_ns(Parallaction_ns *vm);
-	~DosSoundMan_ns();
-	void playMusic();
-	void stopMusic();
+	~DosSoundMan_ns() override;
+	void playMusic() override;
+	void stopMusic() override;
 
-	void playCharacterMusic(const char *character);
-	void playLocationMusic(const char *location);
+	void playCharacterMusic(const char *character) override;
+	void playLocationMusic(const char *location) override;
 
-	void pause(bool p);
+	void pause(bool p) override;
 };
 
 #define NUM_SFX_CHANNELS 4
@@ -165,20 +165,20 @@ class AmigaSoundMan_ns : public SoundMan_ns {
 
 public:
 	AmigaSoundMan_ns(Parallaction_ns *vm);
-	~AmigaSoundMan_ns();
-	void playMusic();
-	void stopMusic();
+	~AmigaSoundMan_ns() override;
+	void playMusic() override;
+	void stopMusic() override;
 
-	void playSfx(const char *filename, uint channel, bool looping, int volume);
-	void stopSfx(uint channel);
+	void playSfx(const char *filename, uint channel, bool looping, int volume) override;
+	void stopSfx(uint channel) override;
 
-	void playCharacterMusic(const char *character);
-	void playLocationMusic(const char *location);
+	void playCharacterMusic(const char *character) override;
+	void playLocationMusic(const char *location) override;
 };
 
 class DummySoundMan : public SoundManImpl {
 public:
-	void execute(int command, const char *parm) { }
+	void execute(int command, const char *parm) override { }
 };
 
 class SoundMan_br : public SoundManImpl {
@@ -204,13 +204,13 @@ protected:
 
 public:
 	SoundMan_br(Parallaction_br *vm);
-	~SoundMan_br();
+	~SoundMan_br() override;
 
 	virtual void playSfx(const char *filename, uint channel, bool looping, int volume = -1) { }
 	void stopSfx(uint channel);
 	void stopAllSfx();
 
-	virtual void execute(int command, const char *parm);
+	void execute(int command, const char *parm) override;
 	void setMusicFile(const char *parm);
 
 	void enableSfx(bool enable);
@@ -227,13 +227,13 @@ class DosSoundMan_br : public SoundMan_br {
 
 public:
 	DosSoundMan_br(Parallaction_br *vm);
-	~DosSoundMan_br();
+	~DosSoundMan_br() override;
 
-	void playMusic();
-	void stopMusic();
-	void pause(bool p);
+	void playMusic() override;
+	void stopMusic() override;
+	void pause(bool p) override;
 
-	void playSfx(const char *filename, uint channel, bool looping, int volume);
+	void playSfx(const char *filename, uint channel, bool looping, int volume) override;
 };
 
 class AmigaSoundMan_br : public SoundMan_br {
@@ -245,13 +245,13 @@ class AmigaSoundMan_br : public SoundMan_br {
 
 public:
 	AmigaSoundMan_br(Parallaction_br *vm);
-	~AmigaSoundMan_br();
+	~AmigaSoundMan_br() override;
 
-	void playMusic();
-	void stopMusic();
-	void pause(bool p);
+	void playMusic() override;
+	void stopMusic() override;
+	void pause(bool p) override;
 
-	void playSfx(const char *filename, uint channel, bool looping, int volume);
+	void playSfx(const char *filename, uint channel, bool looping, int volume) override;
 };
 
 } // namespace Parallaction
diff --git a/engines/parallaction/sound_br.cpp b/engines/parallaction/sound_br.cpp
index 41f9d9e..5317be5 100644
--- a/engines/parallaction/sound_br.cpp
+++ b/engines/parallaction/sound_br.cpp
@@ -70,8 +70,8 @@ namespace Parallaction {
 
 class MidiParser_MSC : public MidiParser {
 protected:
-	virtual void parseNextEvent(EventInfo &info);
-	virtual bool loadMusic(byte *data, uint32 size);
+	void parseNextEvent(EventInfo &info) override;
+	bool loadMusic(byte *data, uint32 size) override;
 
 	uint8  read1(byte *&data) {
 		return *data++;
@@ -207,12 +207,12 @@ public:
 
 	void play(Common::SeekableReadStream *stream);
 	virtual void pause(bool p);
-	virtual void pause() { assert(0); } // overridden
-	virtual void setVolume(int volume);
-	virtual void onTimer();
+	void pause() override { assert(0); } // overridden
+	void setVolume(int volume) override;
+	void onTimer() override;
 
 	// MidiDriver_BASE interface
-	virtual void send(uint32 b);
+	void send(uint32 b) override;
 
 
 private:
diff --git a/engines/parallaction/sound_ns.cpp b/engines/parallaction/sound_ns.cpp
index d902cef..8e88c4d 100644
--- a/engines/parallaction/sound_ns.cpp
+++ b/engines/parallaction/sound_ns.cpp
@@ -43,8 +43,8 @@ public:
 
 	void play(Common::SeekableReadStream *stream);
 	void pause(bool p);
-	virtual void pause() { assert(0); } // overridden
-	virtual void onTimer();
+	void pause() override { assert(0); } // overridden
+	void onTimer() override;
 
 private:
 	bool _paused;


Commit: 88091fcbba68061f7c6669b68223ae828353aac8
    https://github.com/scummvm/scummvm/commit/88091fcbba68061f7c6669b68223ae828353aac8
Author: Bastien Bouclet (bastien.bouclet at gmail.com)
Date: 2020-02-09T12:43:16+01:00

Commit Message:
PEGASUS: Add override keywords

Changed paths:
    engines/pegasus/ai/ai_action.h
    engines/pegasus/ai/ai_area.h
    engines/pegasus/ai/ai_condition.h
    engines/pegasus/compass.h
    engines/pegasus/console.h
    engines/pegasus/cursor.h
    engines/pegasus/detection.cpp
    engines/pegasus/elements.h
    engines/pegasus/energymonitor.h
    engines/pegasus/fader.h
    engines/pegasus/input.h
    engines/pegasus/interaction.h
    engines/pegasus/interface.h
    engines/pegasus/items/autodragger.h
    engines/pegasus/items/biochips/aichip.h
    engines/pegasus/items/biochips/biochipitem.h
    engines/pegasus/items/biochips/mapchip.h
    engines/pegasus/items/biochips/mapimage.h
    engines/pegasus/items/biochips/opticalchip.h
    engines/pegasus/items/biochips/pegasuschip.h
    engines/pegasus/items/biochips/retscanchip.h
    engines/pegasus/items/biochips/shieldchip.h
    engines/pegasus/items/inventory/airmask.h
    engines/pegasus/items/inventory/gascanister.h
    engines/pegasus/items/inventory/inventoryitem.h
    engines/pegasus/items/inventory/keycard.h
    engines/pegasus/items/inventorypicture.h
    engines/pegasus/items/itemdragger.h
    engines/pegasus/menu.h
    engines/pegasus/movie.h
    engines/pegasus/neighborhood/caldoria/caldoria.cpp
    engines/pegasus/neighborhood/caldoria/caldoria.h
    engines/pegasus/neighborhood/caldoria/caldoria4dsystem.h
    engines/pegasus/neighborhood/caldoria/caldoriabomb.h
    engines/pegasus/neighborhood/caldoria/caldoriamessages.h
    engines/pegasus/neighborhood/caldoria/caldoriamirror.h
    engines/pegasus/neighborhood/mars/energybeam.h
    engines/pegasus/neighborhood/mars/gravitoncannon.h
    engines/pegasus/neighborhood/mars/mars.cpp
    engines/pegasus/neighborhood/mars/mars.h
    engines/pegasus/neighborhood/mars/planetmover.h
    engines/pegasus/neighborhood/mars/reactor.h
    engines/pegasus/neighborhood/mars/robotship.h
    engines/pegasus/neighborhood/mars/shuttleenergymeter.h
    engines/pegasus/neighborhood/mars/shuttlehud.h
    engines/pegasus/neighborhood/mars/shuttleweapon.h
    engines/pegasus/neighborhood/mars/spacejunk.h
    engines/pegasus/neighborhood/mars/tractorbeam.h
    engines/pegasus/neighborhood/neighborhood.h
    engines/pegasus/neighborhood/norad/alpha/ecrmonitor.h
    engines/pegasus/neighborhood/norad/alpha/fillingstation.h
    engines/pegasus/neighborhood/norad/alpha/noradalpha.h
    engines/pegasus/neighborhood/norad/alpha/panoramascroll.h
    engines/pegasus/neighborhood/norad/delta/globegame.h
    engines/pegasus/neighborhood/norad/delta/noraddelta.h
    engines/pegasus/neighborhood/norad/norad.h
    engines/pegasus/neighborhood/norad/noradelevator.h
    engines/pegasus/neighborhood/norad/pressuredoor.h
    engines/pegasus/neighborhood/norad/pressuretracker.h
    engines/pegasus/neighborhood/norad/subcontrolroom.h
    engines/pegasus/neighborhood/norad/subplatform.h
    engines/pegasus/neighborhood/prehistoric/prehistoric.cpp
    engines/pegasus/neighborhood/prehistoric/prehistoric.h
    engines/pegasus/neighborhood/tsa/fulltsa.h
    engines/pegasus/neighborhood/tsa/tinytsa.h
    engines/pegasus/neighborhood/wsc/moleculebin.h
    engines/pegasus/neighborhood/wsc/wsc.cpp
    engines/pegasus/neighborhood/wsc/wsc.h
    engines/pegasus/notification.h
    engines/pegasus/pegasus.h
    engines/pegasus/sound.h
    engines/pegasus/surface.h
    engines/pegasus/timers.h
    engines/pegasus/transition.h


diff --git a/engines/pegasus/ai/ai_action.h b/engines/pegasus/ai/ai_action.h
index 3ee336f..c166628 100644
--- a/engines/pegasus/ai/ai_action.h
+++ b/engines/pegasus/ai/ai_action.h
@@ -63,11 +63,11 @@ typedef Common::List<AIAction *> AIActionList;
 class AICompoundAction : public AIAction {
 public:
 	AICompoundAction() {}
-	virtual ~AICompoundAction();
+	~AICompoundAction() override;
 
 	void addAction(AIAction *action) { _compoundActions.push_back(action); }
 
-	virtual void performAIAction(AIRule *);
+	void performAIAction(AIRule *) override;
 
 protected:
 	AIActionList _compoundActions;
@@ -81,7 +81,7 @@ class AIPlayMessageAction : public AIAction {
 public:
 	AIPlayMessageAction(const Common::String &movieName, bool keepLastFrame, const InputBits = kWarningInterruption);
 
-	virtual void performAIAction(AIRule *);
+	void performAIAction(AIRule *) override;
 
 protected:
 	Common::String _movieName;
@@ -97,7 +97,7 @@ class AIStartTimerAction : public AIAction {
 public:
 	AIStartTimerAction(AITimerCondition *);
 
-	virtual void performAIAction(AIRule *);
+	void performAIAction(AIRule *) override;
 
 protected:
 	AITimerCondition *_timerCondition;
@@ -111,7 +111,7 @@ class AIActivateRuleAction : public AIAction {
 public:
 	AIActivateRuleAction(AIRule *);
 
-	virtual void performAIAction(AIRule *);
+	void performAIAction(AIRule *) override;
 
 protected:
 	AIRule *_rule;
@@ -125,7 +125,7 @@ class AIDeactivateRuleAction : public AIAction {
 public:
 	AIDeactivateRuleAction(AIRule *rule);
 
-	virtual void performAIAction(AIRule *);
+	void performAIAction(AIRule *) override;
 
 protected:
 	AIRule *_rule;
diff --git a/engines/pegasus/ai/ai_area.h b/engines/pegasus/ai/ai_area.h
index 0c180b4..66f641e 100644
--- a/engines/pegasus/ai/ai_area.h
+++ b/engines/pegasus/ai/ai_area.h
@@ -83,7 +83,7 @@ namespace Pegasus {
 class AIArea : public Surface, public Idler, public InputHandler {
 public:
 	AIArea(InputHandler *);
-	virtual ~AIArea();
+	~AIArea() override;
 
 	void writeAIRules(Common::WriteStream *stream);
 	void readAIRules(Common::ReadStream *stream);
@@ -93,9 +93,9 @@ public:
 	void saveAIState();
 	void restoreAIState();
 
-	void handleInput(const Input &, const Hotspot *);
-	void activateHotspots();
-	void clickInHotspot(const Input &, const Hotspot *);
+	void handleInput(const Input &, const Hotspot *) override;
+	void activateHotspots() override;
+	void clickInHotspot(const Input &, const Hotspot *) override;
 
 	void setAIVolume(const uint16);
 
@@ -140,7 +140,7 @@ public:
 	void getSmallInfoSegment(TimeValue &, TimeValue &);
 
 protected:
-	void useIdleTime();
+	void useIdleTime() override;
 
 	void setLeftMovieTime(const TimeValue);
 	void setMiddleMovieTime(const LowerClientSignature, const TimeValue);
diff --git a/engines/pegasus/ai/ai_condition.h b/engines/pegasus/ai/ai_condition.h
index 801b71a..9398907 100644
--- a/engines/pegasus/ai/ai_condition.h
+++ b/engines/pegasus/ai/ai_condition.h
@@ -61,10 +61,10 @@ public:
 class AIOneChildCondition : public AICondition {
 public:
 	AIOneChildCondition(AICondition *);
-	virtual ~AIOneChildCondition();
+	~AIOneChildCondition() override;
 
-	virtual void writeAICondition(Common::WriteStream *);
-	virtual void readAICondition(Common::ReadStream *);
+	void writeAICondition(Common::WriteStream *) override;
+	void readAICondition(Common::ReadStream *) override;
 
 protected:
 	AICondition *_child;
@@ -77,10 +77,10 @@ protected:
 class AITwoChildrenCondition : public AICondition {
 public:
 	AITwoChildrenCondition(AICondition *, AICondition *);
-	virtual ~AITwoChildrenCondition();
+	~AITwoChildrenCondition() override;
 
-	virtual void writeAICondition(Common::WriteStream *);
-	virtual void readAICondition(Common::ReadStream *);
+	void writeAICondition(Common::WriteStream *) override;
+	void readAICondition(Common::ReadStream *) override;
 
 protected:
 	AICondition *_leftChild, *_rightChild;
@@ -94,7 +94,7 @@ class AINotCondition : public AIOneChildCondition {
 public:
 	AINotCondition(AICondition *);
 
-	virtual bool fireCondition();
+	bool fireCondition() override;
 };
 
 /////////////////////////////////////////////
@@ -105,7 +105,7 @@ class AIAndCondition : public AITwoChildrenCondition {
 public:
 	AIAndCondition(AICondition *, AICondition *);
 
-	virtual bool fireCondition();
+	bool fireCondition() override;
 };
 
 /////////////////////////////////////////////
@@ -116,7 +116,7 @@ class AIOrCondition : public AITwoChildrenCondition {
 public:
 	AIOrCondition(AICondition *, AICondition *);
 
-	virtual bool fireCondition();
+	bool fireCondition() override;
 };
 
 /////////////////////////////////////////////
@@ -130,10 +130,10 @@ public:
 	void startTimer();
 	void stopTimer();
 
-	virtual bool fireCondition();
+	bool fireCondition() override;
 
-	virtual void writeAICondition(Common::WriteStream *);
-	virtual void readAICondition(Common::ReadStream *);
+	void writeAICondition(Common::WriteStream *) override;
+	void readAICondition(Common::ReadStream *) override;
 
 protected:
 	void fire();
@@ -149,13 +149,13 @@ protected:
 class AILocationCondition : public AICondition {
 public:
 	AILocationCondition(uint32);
-	virtual ~AILocationCondition();
+	~AILocationCondition() override;
 
 	void addLocation(RoomViewID);
-	virtual bool fireCondition();
+	bool fireCondition() override;
 
-	virtual void writeAICondition(Common::WriteStream *);
-	virtual void readAICondition(Common::ReadStream *);
+	void writeAICondition(Common::WriteStream *) override;
+	void readAICondition(Common::ReadStream *) override;
 
 protected:
 	uint32 _numLocations, _maxLocations;
@@ -169,9 +169,9 @@ protected:
 class AIDoorOpenedCondition : public AICondition {
 public:
 	AIDoorOpenedCondition(RoomViewID);
-	virtual ~AIDoorOpenedCondition() {}
+	~AIDoorOpenedCondition() override {}
 
-	virtual bool fireCondition();
+	bool fireCondition() override;
 
 protected:
 	RoomViewID _doorLocation;
@@ -185,7 +185,7 @@ class AIHasItemCondition : public AICondition {
 public:
 	AIHasItemCondition(const ItemID);
 
-	virtual bool fireCondition();
+	bool fireCondition() override;
 
 protected:
 	ItemID _item;
@@ -199,7 +199,7 @@ class AIDoesntHaveItemCondition : public AICondition {
 public:
 	AIDoesntHaveItemCondition(const ItemID);
 
-	virtual bool fireCondition();
+	bool fireCondition() override;
 
 protected:
 	ItemID _item;
@@ -213,7 +213,7 @@ class AICurrentItemCondition : public AICondition {
 public:
 	AICurrentItemCondition(const ItemID);
 
-	virtual bool fireCondition();
+	bool fireCondition() override;
 
 protected:
 	ItemID _item;
@@ -227,7 +227,7 @@ class AICurrentBiochipCondition : public AICondition {
 public:
 	AICurrentBiochipCondition(const ItemID);
 
-	virtual bool fireCondition();
+	bool fireCondition() override;
 
 protected:
 	ItemID _biochip;
@@ -241,7 +241,7 @@ class AIItemStateCondition : public AICondition {
 public:
 	AIItemStateCondition(const ItemID, const ItemState);
 
-	virtual bool fireCondition();
+	bool fireCondition() override;
 
 protected:
 	ItemID _item;
@@ -256,7 +256,7 @@ class AIEnergyMonitorCondition : public AICondition {
 public:
 	AIEnergyMonitorCondition(const int32);
 
-	virtual bool fireCondition();
+	bool fireCondition() override;
 
 protected:
 	int32 _energyThreshold;
@@ -270,7 +270,7 @@ class AILastExtraCondition : public AICondition {
 public:
 	AILastExtraCondition(const ExtraID);
 
-	virtual bool fireCondition();
+	bool fireCondition() override;
 
 protected:
 	ExtraID _lastExtra;
diff --git a/engines/pegasus/compass.h b/engines/pegasus/compass.h
index d821839..857140c 100644
--- a/engines/pegasus/compass.h
+++ b/engines/pegasus/compass.h
@@ -37,16 +37,16 @@ namespace Pegasus {
 class Compass : public FaderAnimation {
 public:
 	Compass();
-	virtual ~Compass();
+	~Compass() override;
 
 	void initCompass();
 	void deallocateCompass();
 	bool isCompassValid() const { return _compassImage.isSurfaceValid(); }
 
-	void setFaderValue(const int32);
+	void setFaderValue(const int32) override;
 
 protected:
-	void draw(const Common::Rect &);
+	void draw(const Common::Rect &) override;
 
 	Frame _compassImage;
 };
diff --git a/engines/pegasus/console.h b/engines/pegasus/console.h
index 15ba709..129df43 100644
--- a/engines/pegasus/console.h
+++ b/engines/pegasus/console.h
@@ -32,7 +32,7 @@ class PegasusEngine;
 class PegasusConsole : public GUI::Debugger {
 public:
 	PegasusConsole(PegasusEngine *vm);
-	virtual ~PegasusConsole();
+	~PegasusConsole() override;
 
 private:
 	bool Cmd_Die(int argc, const char **argv);
diff --git a/engines/pegasus/cursor.h b/engines/pegasus/cursor.h
index e996a86..8e8687e 100644
--- a/engines/pegasus/cursor.h
+++ b/engines/pegasus/cursor.h
@@ -45,7 +45,7 @@ namespace Pegasus {
 class Cursor : private Idler {
 public:
 	Cursor();
-	virtual ~Cursor();
+	~Cursor() override;
 
 	void addCursorFrames(uint16 id);
 
@@ -60,7 +60,7 @@ public:
 	void getCursorLocation(Common::Point &) const;
 
 protected:
-	virtual void useIdleTime();
+	void useIdleTime() override;
 
 private:
 	struct CursorInfo {
diff --git a/engines/pegasus/detection.cpp b/engines/pegasus/detection.cpp
index 5f52d72..29ff261 100644
--- a/engines/pegasus/detection.cpp
+++ b/engines/pegasus/detection.cpp
@@ -136,23 +136,23 @@ public:
 	PegasusMetaEngine() : AdvancedMetaEngine(Pegasus::gameDescriptions, sizeof(Pegasus::PegasusGameDescription), pegasusGames) {
 	}
 
-	virtual const char *getEngineId() const override {
+	const char *getEngineId() const override {
 		return "pegasus";
 	}
 
-	virtual const char *getName() const override {
+	const char *getName() const override {
 		return "The Journeyman Project: Pegasus Prime";
 	}
 
-	virtual const char *getOriginalCopyright() const override {
+	const char *getOriginalCopyright() const override {
 		return "The Journeyman Project: Pegasus Prime (C) Presto Studios";
 	}
 
-	virtual bool hasFeature(MetaEngineFeature f) const override;
-	virtual bool 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;
+	bool 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::KeymapArray initKeymaps(const char *target) const override;
 };
 
diff --git a/engines/pegasus/elements.h b/engines/pegasus/elements.h
index 10037d9..82c74b4 100644
--- a/engines/pegasus/elements.h
+++ b/engines/pegasus/elements.h
@@ -91,7 +91,7 @@ protected:
 class DropHighlight : public DisplayElement {
 public:
 	DropHighlight(const DisplayElementID);
-	virtual ~DropHighlight() {}
+	~DropHighlight() override {}
 
 	void setHighlightColor(const uint32 &highlight) { _highlightColor = highlight; }
 	void getHighlightColor(uint32 &highlight) const { highlight = _highlightColor; }
@@ -102,7 +102,7 @@ public:
 	void setHighlightCornerDiameter(const uint16 diameter) { _cornerDiameter = diameter; }
 	uint16 getHighlightCornerDiameter() const { return _cornerDiameter; }
 
-	virtual void draw(const Common::Rect&);
+	void draw(const Common::Rect&) override;
 
 protected:
 	uint32 _highlightColor;
@@ -119,13 +119,13 @@ class IdlerAnimation : public Animation, public Idler {
 public:
 	IdlerAnimation(const DisplayElementID);
 
-	virtual void startDisplaying();
-	virtual void stopDisplaying();
+	void startDisplaying() override;
+	void stopDisplaying() override;
 
 	TimeValue getLastTime() const { return _lastTime; }
 
 protected:
-	virtual void useIdleTime();
+	void useIdleTime() override;
 	virtual void timeChanged(const TimeValue);
 
 	TimeValue _lastTime;
@@ -139,7 +139,7 @@ protected:
 class FrameSequence : public IdlerAnimation {
 public:
 	FrameSequence(const DisplayElementID);
-	virtual ~FrameSequence();
+	~FrameSequence() override;
 
 	void useFileName(const Common::String &fileName);
 
@@ -152,7 +152,7 @@ public:
 	virtual void setFrameNum(const int16);
 
 protected:
-	virtual void timeChanged(const TimeValue);
+	void timeChanged(const TimeValue) override;
 	virtual void newFrame(const uint16) {}
 
 	Common::MacResManager *_resFork;
@@ -170,7 +170,7 @@ class Sprite : public DisplayElement {
 friend class SpriteFrame;
 public:
 	Sprite(const DisplayElementID);
-	virtual ~Sprite();
+	~Sprite() override;
 
 	virtual void addPICTResourceFrame(const ResIDType, const bool, const CoordType, const CoordType);
 	virtual uint32 addFrame(SpriteFrame *, const CoordType, const CoordType);
@@ -186,7 +186,7 @@ public:
 
 	virtual SpriteFrame *getFrame(const int32);
 
-	virtual void draw(const Common::Rect &);
+	void draw(const Common::Rect &) override;
 
 	uint32 getNumFrames() const { return _numFrames; }
 
@@ -206,19 +206,19 @@ protected:
 class SpriteSequence : public FrameSequence {
 public:
 	SpriteSequence(const DisplayElementID id, const DisplayElementID spriteID);
-	virtual ~SpriteSequence() {}
+	~SpriteSequence() override {}
 
 	void useTransparent(bool transparent) { _transparent = transparent; }
 
-	virtual void openFrameSequence();
-	virtual void closeFrameSequence();
+	void openFrameSequence() override;
+	void closeFrameSequence() override;
 
-	virtual void draw(const Common::Rect &);
+	void draw(const Common::Rect &) override;
 
-	virtual void setBounds(const Common::Rect &);
+	void setBounds(const Common::Rect &) override;
 
 protected:
-	virtual void newFrame(const uint16);
+	void newFrame(const uint16) override;
 
 	bool _transparent;
 	Sprite _sprite;
@@ -227,15 +227,15 @@ protected:
 class ScreenDimmer : public DisplayElement {
 public:
 	ScreenDimmer() : DisplayElement(kScreenDimmerID) {}
-	virtual ~ScreenDimmer() {}
+	~ScreenDimmer() override {}
 
-	virtual void draw(const Common::Rect &);
+	void draw(const Common::Rect &) override;
 };
 
 class SoundLevel : public DisplayElement {
 public:
 	SoundLevel(const DisplayElementID);
-	virtual ~SoundLevel() {}
+	~SoundLevel() override {}
 
 	void incrementLevel();
 	void decrementLevel();
@@ -243,7 +243,7 @@ public:
 	uint16 getSoundLevel();
 	void setSoundLevel(uint16);
 
-	void draw(const Common::Rect &);
+	void draw(const Common::Rect &) override;
 
 protected:
 	uint16 _soundLevel;
diff --git a/engines/pegasus/energymonitor.h b/engines/pegasus/energymonitor.h
index 1a7052b..1938c84 100644
--- a/engines/pegasus/energymonitor.h
+++ b/engines/pegasus/energymonitor.h
@@ -35,13 +35,13 @@ class Sprite;
 class Blinker : private IdlerTimeBase {
 public:
 	Blinker();
-	virtual ~Blinker() {}
+	~Blinker() override {}
 
 	void startBlinking(Sprite *sprite, int32 frame1, int32 frame2, uint32 numBlinks, TimeValue blinkDuration, TimeScale blinkScale);
 	void stopBlinking();
 
 protected:
-	virtual void timeChanged(const TimeValue);
+	void timeChanged(const TimeValue) override;
 
 	Sprite *_sprite;
 	int32 _frame1;
@@ -76,7 +76,7 @@ static const int kWSCPoisonEnergyDrainNoDart = 10;
 class EnergyMonitor : private IdlerAnimation {
 public:
 	EnergyMonitor();
-	virtual ~EnergyMonitor();
+	~EnergyMonitor() override;
 
 	void setEnergyValue(const uint32);
 	void startEnergyDraining();
@@ -92,9 +92,9 @@ public:
 	void calibrateEnergyBar();
 
 protected:
-	void timeChanged(const TimeValue);
+	void timeChanged(const TimeValue) override;
 	void calcLevelRect(Common::Rect &);
-	void draw(const Common::Rect &);
+	void draw(const Common::Rect &) override;
 
 	uint32 _barColor;
 	Common::Rect _levelRect;
diff --git a/engines/pegasus/fader.h b/engines/pegasus/fader.h
index 2b93bdb..b97b44a 100644
--- a/engines/pegasus/fader.h
+++ b/engines/pegasus/fader.h
@@ -74,7 +74,7 @@ protected:
 class Fader : public IdlerTimeBase {
 public:
 	Fader();
-	virtual ~Fader() {}
+	~Fader() override {}
 
 	virtual void setFaderValue(const int32);
 	int32 getFaderValue() const { return _currentValue; }
@@ -91,7 +91,7 @@ public:
 
 protected:
 	bool initFaderMove(const FaderMoveSpec &);
-	virtual void timeChanged(const TimeValue);
+	void timeChanged(const TimeValue) override;
 
 	int32 _currentValue;
 	FaderMoveSpec _currentFaderMove;
@@ -100,9 +100,9 @@ protected:
 class FaderAnimation : public DisplayElement, public Fader {
 public:
 	FaderAnimation(const DisplayElementID id) : DisplayElement(id) {}
-	virtual ~FaderAnimation() {}
+	~FaderAnimation() override {}
 
-	void setFaderValue(const int32);
+	void setFaderValue(const int32) override;
 };
 
 class Sound;
@@ -111,9 +111,9 @@ class SoundFader : public Fader {
 friend class Sound;
 public:
 	SoundFader();
-	virtual ~SoundFader() {}
+	~SoundFader() override {}
 
-	void setFaderValue(const int32);
+	void setFaderValue(const int32) override;
 
 	void setMasterVolume(const uint16);
 	uint16 getMasterVolume() const { return _masterVolume; }
diff --git a/engines/pegasus/input.h b/engines/pegasus/input.h
index b5d4d5e..698104b 100644
--- a/engines/pegasus/input.h
+++ b/engines/pegasus/input.h
@@ -61,9 +61,9 @@ enum PegasusAction {
 class InputDeviceManager : public Common::Singleton<InputDeviceManager>, public Common::EventObserver {
 public:
 	InputDeviceManager();
-	~InputDeviceManager();
+	~InputDeviceManager() override;
 
-	bool notifyEvent(const Common::Event &event);
+	bool notifyEvent(const Common::Event &event) override;
 
 	void getInput(Input &, const InputBits);
 
@@ -471,9 +471,9 @@ protected:
 class Tracker : public InputHandler {
 public:
 	Tracker() : InputHandler(0), _savedHandler(nullptr) {}
-	virtual ~Tracker() {}
+	~Tracker() override {}
 
-	virtual void handleInput(const Input &, const Hotspot *);
+	void handleInput(const Input &, const Hotspot *) override;
 	virtual bool stopTrackingInput(const Input &) { return false; }
 
 	virtual void startTracking(const Input &);
@@ -481,9 +481,9 @@ public:
 	virtual void continueTracking(const Input &) {}
 
 	bool isTracking() { return this == _currentTracker; }
-	bool isClickInput(const Input &, const Hotspot *);
+	bool isClickInput(const Input &, const Hotspot *) override;
 
-	bool releaseInputFocus() { return !isTracking(); }
+	bool releaseInputFocus() override { return !isTracking(); }
 
 protected:
 	static Tracker *_currentTracker;
diff --git a/engines/pegasus/interaction.h b/engines/pegasus/interaction.h
index e35b0c1..eb2e85e 100644
--- a/engines/pegasus/interaction.h
+++ b/engines/pegasus/interaction.h
@@ -41,7 +41,7 @@ public:
 
 	// If the interaction is open (_isInteracting == true), it's too late to do anything
 	// about it here.
-	virtual ~GameInteraction() {}
+	~GameInteraction() override {}
 
 	// startInteraction and stopInteraction are called by the outside world to
 	// start and stop the interaction sequence.
diff --git a/engines/pegasus/interface.h b/engines/pegasus/interface.h
index 3025ef1..591ac5e 100644
--- a/engines/pegasus/interface.h
+++ b/engines/pegasus/interface.h
@@ -42,7 +42,7 @@ class InventoryItem;
 class Interface : public InputHandler, public NotificationReceiver {
 public:
 	Interface();
-	virtual ~Interface();
+	~Interface() override;
 
 	void createInterface();
 
@@ -101,7 +101,7 @@ protected:
 	void throwAwayBiochipPanel();
 	void throwAwayEnergyMonitor();
 
-	void receiveNotification(Notification *, const NotificationFlags);
+	void receiveNotification(Notification *, const NotificationFlags) override;
 	void inventoryLidOpen(const bool doCallBacks);
 	void inventoryLidClosed();
 	void inventoryDrawerUp();
diff --git a/engines/pegasus/items/autodragger.h b/engines/pegasus/items/autodragger.h
index 765082c..066aa0d 100644
--- a/engines/pegasus/items/autodragger.h
+++ b/engines/pegasus/items/autodragger.h
@@ -35,15 +35,15 @@ class DisplayElement;
 class AutoDragger : private Idler, private TimeBase, private TimeBaseCallBack {
 public:
 	AutoDragger();
-	virtual ~AutoDragger() {}
+	~AutoDragger() override {}
 
 	void autoDrag(DisplayElement *, const Common::Point &, const Common::Point &, TimeValue, TimeScale);
 	bool isDragging();
 	void stopDragging();
 
 protected:
-	void useIdleTime();
-	void callBack();
+	void useIdleTime() override;
+	void callBack() override;
 
 	DisplayElement *_draggingElement;
 	Common::Point _startLocation, _stopLocation;
diff --git a/engines/pegasus/items/biochips/aichip.h b/engines/pegasus/items/biochips/aichip.h
index 30600fc..4639b57 100644
--- a/engines/pegasus/items/biochips/aichip.h
+++ b/engines/pegasus/items/biochips/aichip.h
@@ -34,9 +34,9 @@ namespace Pegasus {
 class AIChip : public BiochipItem {
 public:
 	AIChip(const ItemID, const NeighborhoodID, const RoomID, const DirectionConstant);
-	virtual ~AIChip();
+	~AIChip() override;
 
-	void select();
+	void select() override;
 
 	void setUpAIChip();
 
@@ -46,7 +46,7 @@ public:
 	void activateAIHotspots();
 	void clickInAIHotspot(HotSpotID);
 
-	void takeSharedArea();
+	void takeSharedArea() override;
 
 	void showBriefingClicked();
 	void showEnvScanClicked();
diff --git a/engines/pegasus/items/biochips/biochipitem.h b/engines/pegasus/items/biochips/biochipitem.h
index f136283..87ad3e3 100644
--- a/engines/pegasus/items/biochips/biochipitem.h
+++ b/engines/pegasus/items/biochips/biochipitem.h
@@ -33,16 +33,16 @@ namespace Pegasus {
 class BiochipItem : public Item {
 public:
 	BiochipItem(const ItemID, const NeighborhoodID, const RoomID, const DirectionConstant);
-	virtual ~BiochipItem();
+	~BiochipItem() override;
 
-	virtual ItemType getItemType();
+	ItemType getItemType() override;
 
 	TimeValue getPanelTime() const { return _biochipInfoPanelTime; }
 	TimeValue getRightAreaTime() const;
 
 	// Must affect images in right area.
-	virtual void select();
-	virtual void deselect();
+	void select() override;
+	void deselect() override;
 
 protected:
 	TimeValue _biochipInfoPanelTime;
diff --git a/engines/pegasus/items/biochips/mapchip.h b/engines/pegasus/items/biochips/mapchip.h
index 47be8e8..9973168 100644
--- a/engines/pegasus/items/biochips/mapchip.h
+++ b/engines/pegasus/items/biochips/mapchip.h
@@ -39,17 +39,17 @@ namespace Pegasus {
 class MapChip : public BiochipItem {
 public:
 	MapChip(const ItemID, const NeighborhoodID, const RoomID, const DirectionConstant);
-	virtual ~MapChip();
+	~MapChip() override;
 
-	void select();
-	void deselect();
-	void takeSharedArea();
-	void giveUpSharedArea();
+	void select() override;
+	void deselect() override;
+	void takeSharedArea() override;
+	void giveUpSharedArea() override;
 
 	void moveToMapLocation(const NeighborhoodID, const RoomID, const DirectionConstant);
 
-	void writeToStream(Common::WriteStream *);
-	void readFromStream(Common::ReadStream *);
+	void writeToStream(Common::WriteStream *) override;
+	void readFromStream(Common::ReadStream *) override;
 
 	bool beenToMaze() { return _image.anyFlagSet(); }
 
diff --git a/engines/pegasus/items/biochips/mapimage.h b/engines/pegasus/items/biochips/mapimage.h
index f2ca64e..7c44385 100644
--- a/engines/pegasus/items/biochips/mapimage.h
+++ b/engines/pegasus/items/biochips/mapimage.h
@@ -41,7 +41,7 @@ namespace Pegasus {
 class MapImage : public DisplayElement {
 public:
 	MapImage();
-	virtual ~MapImage() {}
+	~MapImage() override {}
 
 	void writeToStream(Common::WriteStream *);
 	void readFromStream(Common::ReadStream *);
@@ -51,7 +51,7 @@ public:
 	void unloadImage();
 	void moveToMapLocation(const NeighborhoodID, const RoomID, const DirectionConstant);
 
-	void draw(const Common::Rect &);
+	void draw(const Common::Rect &) override;
 
 	bool anyFlagSet() { return _mappedRooms.anyFlagSet(); }
 
diff --git a/engines/pegasus/items/biochips/opticalchip.h b/engines/pegasus/items/biochips/opticalchip.h
index 8b01581..2dbe16f 100644
--- a/engines/pegasus/items/biochips/opticalchip.h
+++ b/engines/pegasus/items/biochips/opticalchip.h
@@ -35,10 +35,10 @@ namespace Pegasus {
 class OpticalChip : public BiochipItem {
 public:
 	OpticalChip(const ItemID, const NeighborhoodID, const RoomID, const DirectionConstant);
-	virtual ~OpticalChip();
+	~OpticalChip() override;
 
-	virtual void writeToStream(Common::WriteStream *);
-	virtual void readFromStream(Common::ReadStream *);
+	void writeToStream(Common::WriteStream *) override;
+	void readFromStream(Common::ReadStream *) override;
 
 	void addAries();
 	void addMercury();
diff --git a/engines/pegasus/items/biochips/pegasuschip.h b/engines/pegasus/items/biochips/pegasuschip.h
index 31cd778..7b6dc3a 100644
--- a/engines/pegasus/items/biochips/pegasuschip.h
+++ b/engines/pegasus/items/biochips/pegasuschip.h
@@ -34,7 +34,7 @@ namespace Pegasus {
 class PegasusChip : public BiochipItem {
 public:
 	PegasusChip(const ItemID, const NeighborhoodID, const RoomID, const DirectionConstant);
-	virtual ~PegasusChip();
+	~PegasusChip() override;
 
 	void select() override;
 
diff --git a/engines/pegasus/items/biochips/retscanchip.h b/engines/pegasus/items/biochips/retscanchip.h
index 3fd41d6..a524976 100644
--- a/engines/pegasus/items/biochips/retscanchip.h
+++ b/engines/pegasus/items/biochips/retscanchip.h
@@ -33,7 +33,7 @@ namespace Pegasus {
 class RetScanChip : public BiochipItem {
 public:
 	RetScanChip(const ItemID, const NeighborhoodID, const RoomID, const DirectionConstant);
-	virtual ~RetScanChip() {}
+	~RetScanChip() override {}
 
 	void searchForLaser();
 };
diff --git a/engines/pegasus/items/biochips/shieldchip.h b/engines/pegasus/items/biochips/shieldchip.h
index 63e3339..932b7ee 100644
--- a/engines/pegasus/items/biochips/shieldchip.h
+++ b/engines/pegasus/items/biochips/shieldchip.h
@@ -33,10 +33,10 @@ namespace Pegasus {
 class ShieldChip : public BiochipItem {
 public:
 	ShieldChip(const ItemID, const NeighborhoodID, const RoomID, const DirectionConstant);
-	virtual ~ShieldChip() {}
+	~ShieldChip() override {}
 
-	void select();
-	void deselect();
+	void select() override;
+	void deselect() override;
 };
 
 extern ShieldChip *g_shield;
diff --git a/engines/pegasus/items/inventory/airmask.h b/engines/pegasus/items/inventory/airmask.h
index 171fe74..364e618 100644
--- a/engines/pegasus/items/inventory/airmask.h
+++ b/engines/pegasus/items/inventory/airmask.h
@@ -35,15 +35,15 @@ namespace Pegasus {
 class AirMask : public InventoryItem, private Idler {
 public:
 	AirMask(const ItemID, const NeighborhoodID, const RoomID, const DirectionConstant);
-	virtual ~AirMask();
+	~AirMask() override;
 
-	virtual void writeToStream(Common::WriteStream *);
-	virtual void readFromStream(Common::ReadStream *);
+	void writeToStream(Common::WriteStream *) override;
+	void readFromStream(Common::ReadStream *) override;
 
-	virtual void setItemState(const ItemState);
+	void setItemState(const ItemState) override;
 	void putMaskOn();
 	void takeMaskOff();
-	void toggleItemState();
+	void toggleItemState() override;
 	void airQualityChanged();
 
 	bool isAirMaskInUse();
@@ -61,9 +61,9 @@ public:
 protected:
 	void airMaskTimerExpired();
 
-	virtual void removedFromInventory();
-	virtual void addedToInventory();
-	void useIdleTime();
+	void removedFromInventory() override;
+	void addedToInventory() override;
+	void useIdleTime() override;
 
 	Hotspot _toggleSpot;
 	FuseFunction _oxygenTimer;
diff --git a/engines/pegasus/items/inventory/gascanister.h b/engines/pegasus/items/inventory/gascanister.h
index 62056c4..6ba44a1 100644
--- a/engines/pegasus/items/inventory/gascanister.h
+++ b/engines/pegasus/items/inventory/gascanister.h
@@ -33,10 +33,10 @@ namespace Pegasus {
 class GasCanister : public InventoryItem {
 public:
 	GasCanister(const ItemID, const NeighborhoodID, const RoomID, const DirectionConstant);
-	virtual ~GasCanister() {}
+	~GasCanister() override {}
 
-	void select();
-	void takeSharedArea();
+	void select() override;
+	void takeSharedArea() override;
 };
 
 } // End of namespace Pegasus
diff --git a/engines/pegasus/items/inventory/inventoryitem.h b/engines/pegasus/items/inventory/inventoryitem.h
index bc39b97..f1d8e05 100644
--- a/engines/pegasus/items/inventory/inventoryitem.h
+++ b/engines/pegasus/items/inventory/inventoryitem.h
@@ -40,9 +40,9 @@ struct JMPInventoryInfo {
 class InventoryItem : public Item {
 public:
 	InventoryItem(const ItemID, const NeighborhoodID, const RoomID, const DirectionConstant);
-	virtual ~InventoryItem();
+	~InventoryItem() override;
 
-	virtual ItemType getItemType();
+	ItemType getItemType() override;
 
 	void getPanelTimes(TimeValue &, TimeValue &) const;
 	TimeValue getLeftAreaTime() const;
@@ -53,8 +53,8 @@ public:
 	virtual void toggleItemState() {}
 
 	// Must affect images in left area.
-	virtual void select();
-	virtual void deselect();
+	void select() override;
+	void deselect() override;
 
 protected:
 	JMPInventoryInfo _inventoryInfo;
diff --git a/engines/pegasus/items/inventory/keycard.h b/engines/pegasus/items/inventory/keycard.h
index 8f4cd56..4bbe8ea 100644
--- a/engines/pegasus/items/inventory/keycard.h
+++ b/engines/pegasus/items/inventory/keycard.h
@@ -33,14 +33,14 @@ namespace Pegasus {
 class KeyCard : public InventoryItem {
 public:
 	KeyCard(const ItemID, const NeighborhoodID, const RoomID, const DirectionConstant);
-	virtual ~KeyCard() {}
+	~KeyCard() override {}
 
-	virtual void toggleItemState();
-	virtual void setItemState(const ItemState);
+	void toggleItemState() override;
+	void setItemState(const ItemState) override;
 	bool isFlashlightOn();
 
 protected:
-	virtual void removedFromInventory();
+	void removedFromInventory() override;
 };
 
 } // End of namespace Pegasus
diff --git a/engines/pegasus/items/inventorypicture.h b/engines/pegasus/items/inventorypicture.h
index d8ac3fc..c4dc3b2 100644
--- a/engines/pegasus/items/inventorypicture.h
+++ b/engines/pegasus/items/inventorypicture.h
@@ -40,7 +40,7 @@ class Transition;
 class InventoryPicture : public InputHandler, public Picture {
 public:
 	InventoryPicture(const DisplayElementID, InputHandler *, Inventory *);
-	virtual ~InventoryPicture() {}
+	~InventoryPicture() override {}
 
 	void initInventoryImage(Transition *);
 	void throwAwayInventoryImage();
@@ -48,8 +48,8 @@ public:
 	void panelUp();
 	void activateInventoryPicture();
 	void deactivateInventoryPicture();
-	void handleInput(const Input &, const Hotspot *);
-	bool wantsCursor() { return false; }
+	void handleInput(const Input &, const Hotspot *) override;
+	bool wantsCursor() override { return false; }
 
 	InventoryResult addInventoryItem(Item *);
 	InventoryResult removeInventoryItem(Item *);
@@ -63,7 +63,7 @@ public:
 
 protected:
 	void getItemXY(uint32, CoordType &, CoordType &);
-	void draw(const Common::Rect &);
+	void draw(const Common::Rect &) override;
 	void drawItemHighlight(const Common::Rect &);
 	virtual void highlightCurrentItem();
 	virtual void unhighlightCurrentItem() {}
@@ -92,7 +92,7 @@ protected:
 class InventoryItemsPicture : public InventoryPicture {
 public:
 	InventoryItemsPicture(const DisplayElementID, InputHandler *, Inventory *);
-	virtual ~InventoryItemsPicture() {}
+	~InventoryItemsPicture() override {}
 
 	void deactivateInventoryPicture();
 
@@ -101,9 +101,9 @@ public:
 	void playEndMessage(DisplayElement *);
 
 protected:
-	virtual void highlightCurrentItem();
-	virtual void unhighlightCurrentItem();
-	virtual TimeValue getItemPanelTime(Item *);
+	void highlightCurrentItem() override;
+	void unhighlightCurrentItem() override;
+	TimeValue getItemPanelTime(Item *) override;
 	void loopCurrentItem();
 
 	bool _isLooping;
@@ -112,11 +112,11 @@ protected:
 class BiochipPicture : public InventoryPicture {
 public:
 	BiochipPicture(const DisplayElementID, InputHandler *, Inventory *);
-	virtual ~BiochipPicture() {}
+	~BiochipPicture() override {}
 
 protected:
-	virtual void unhighlightCurrentItem();
-	virtual TimeValue getItemPanelTime(Item *);
+	void unhighlightCurrentItem() override;
+	TimeValue getItemPanelTime(Item *) override;
 };
 
 } // End of namespace Pegasus
diff --git a/engines/pegasus/items/itemdragger.h b/engines/pegasus/items/itemdragger.h
index 3555e5a..90070af 100644
--- a/engines/pegasus/items/itemdragger.h
+++ b/engines/pegasus/items/itemdragger.h
@@ -39,7 +39,7 @@ class Sprite;
 class SpriteDragger : public Tracker {
 public:
 	SpriteDragger();
-	virtual ~SpriteDragger() {}
+	~SpriteDragger() override {}
 
 	void setDragSprite(Sprite *);
 	Sprite *getDragSprite() { return _draggingSprite; }
@@ -47,8 +47,8 @@ public:
 	void setDragConstraints(const Common::Rect &, const Common::Rect &);
 	void getDragConstraints(Common::Rect &, Common::Rect &) const;
 
-	void startTracking(const Input &);
-	void continueTracking(const Input&);
+	void startTracking(const Input &) override;
+	void continueTracking(const Input&) override;
 
 	Hotspot *getLastHotspot() const { return _lastHotspot; }
 
@@ -73,16 +73,16 @@ class PegasusEngine;
 class ItemDragger : public SpriteDragger {
 public:
 	ItemDragger(PegasusEngine *);
-	virtual ~ItemDragger() {}
+	~ItemDragger() override {}
 
 	void setHighlightBounds();
-	void startTracking(const Input &);
-	void stopTracking(const Input &);
-	bool stopTrackingInput(const Input &);
+	void startTracking(const Input &) override;
+	void stopTracking(const Input &) override;
+	bool stopTrackingInput(const Input &) override;
 
 protected:
-	virtual void enterHotspot(Hotspot *);
-	virtual void exitHotspot(Hotspot *);
+	void enterHotspot(Hotspot *) override;
+	void exitHotspot(Hotspot *) override;
 
 	PegasusEngine *_owner;
 	DropHighlight _inventoryHighlight;
diff --git a/engines/pegasus/menu.h b/engines/pegasus/menu.h
index a8a2f99..2a06223 100644
--- a/engines/pegasus/menu.h
+++ b/engines/pegasus/menu.h
@@ -39,7 +39,7 @@ namespace Pegasus {
 class GameMenu : public IDObject, public InputHandler {
 public:
 	GameMenu(const uint32);
-	virtual ~GameMenu() {}
+	~GameMenu() override {}
 
 	virtual void becomeCurrentHandler();
 	virtual void restorePreviousHandler();
@@ -64,9 +64,9 @@ class Hotspot;
 class MainMenu : public GameMenu {
 public:
 	MainMenu();
-	virtual ~MainMenu();
+	~MainMenu() override;
 
-	virtual void handleInput(const Input &input, const Hotspot *);
+	void handleInput(const Input &input, const Hotspot *) override;
 	void startMainMenuLoop();
 	void stopMainMenuLoop();
 
@@ -97,9 +97,9 @@ protected:
 class CreditsMenu : public GameMenu {
 public:
 	CreditsMenu();
-	virtual ~CreditsMenu() {}
+	~CreditsMenu() override {}
 
-	virtual void handleInput(const Input &input, const Hotspot *);
+	void handleInput(const Input &input, const Hotspot *) override;
 
 protected:
 	void newMenuSelection(const int);
@@ -116,9 +116,9 @@ protected:
 class DeathMenu : public GameMenu {
 public:
 	DeathMenu(const DeathReason);
-	virtual ~DeathMenu() {}
+	~DeathMenu() override {}
 
-	virtual void handleInput(const Input &input, const Hotspot *);
+	void handleInput(const Input &input, const Hotspot *) override;
 
 	bool playerWon() { return _playerWon; }
 
@@ -146,9 +146,9 @@ protected:
 class PauseMenu : public GameMenu {
 public:
 	PauseMenu();
-	virtual ~PauseMenu() {}
+	~PauseMenu() override {}
 
-	virtual void handleInput(const Input &input, const Hotspot *);
+	void handleInput(const Input &input, const Hotspot *) override;
 
 protected:
 	void updateDisplay();
diff --git a/engines/pegasus/movie.h b/engines/pegasus/movie.h
index b5e8a05..3eff15c 100644
--- a/engines/pegasus/movie.h
+++ b/engines/pegasus/movie.h
@@ -40,7 +40,7 @@ namespace Pegasus {
 class Movie : public Animation, public PixelImage {
 public:
 	Movie(const DisplayElementID);
-	virtual ~Movie();
+	~Movie() override;
 
 	virtual void initFromMovieFile(const Common::String &fileName, bool transparent = false);
 
@@ -48,30 +48,30 @@ public:
 
 	virtual void releaseMovie();
 
-	virtual void draw(const Common::Rect &);
+	void draw(const Common::Rect &) override;
 	virtual void redrawMovieWorld();
 
-	virtual void setTime(const TimeValue, const TimeScale = 0);
+	void setTime(const TimeValue, const TimeScale = 0) override;
 
-	virtual void setRate(const Common::Rational);
+	void setRate(const Common::Rational) override;
 
-	virtual void start();
-	virtual void stop();
-	virtual void resume();
-	virtual void pause();
+	void start() override;
+	void stop() override;
+	void resume() override;
+	void pause() override;
 
 	virtual void moveMovieBoxTo(const CoordType, const CoordType);
 
-	virtual void setStop(const TimeValue, const TimeScale = 0);
+	void setStop(const TimeValue, const TimeScale = 0) override;
 
-	virtual TimeValue getDuration(const TimeScale = 0) const;
+	TimeValue getDuration(const TimeScale = 0) const override;
 
 	// *** HACK ALERT
 	Video::VideoDecoder *getMovie() { return _video; }
 	void setVolume(uint16);
 
 protected:
-	void updateTime();
+	void updateTime() override;
 
 	Video::VideoDecoder *_video;
 	Common::Rect _movieBox;
@@ -80,11 +80,11 @@ protected:
 class GlowingMovie : public Movie {
 public:
 	GlowingMovie(DisplayElementID);
-	virtual ~GlowingMovie() {}
+	~GlowingMovie() override {}
 
-	virtual void draw(const Common::Rect &);
+	void draw(const Common::Rect &) override;
 
-	void setBounds(const Common::Rect &);
+	void setBounds(const Common::Rect &) override;
 
 	void setGlowing(const bool glowing) { _glowing = glowing; }
 
@@ -95,9 +95,9 @@ protected:
 class ScalingMovie : public GlowingMovie {
 public:
 	ScalingMovie(DisplayElementID);
-	virtual ~ScalingMovie() {}
+	~ScalingMovie() override {}
 
-	virtual void draw(const Common::Rect &);
+	void draw(const Common::Rect &) override;
 };
 
 } // End of namespace Pegasus
diff --git a/engines/pegasus/neighborhood/caldoria/caldoria.cpp b/engines/pegasus/neighborhood/caldoria/caldoria.cpp
index b9a5055..42eca2a 100644
--- a/engines/pegasus/neighborhood/caldoria/caldoria.cpp
+++ b/engines/pegasus/neighborhood/caldoria/caldoria.cpp
@@ -282,7 +282,7 @@ class AIBombActiveCondition : public AICondition {
 public:
 	AIBombActiveCondition() {}
 
-	bool fireCondition();
+	bool fireCondition() override;
 };
 
 // Return true if player is on 53 east and Sinclair is shot.
diff --git a/engines/pegasus/neighborhood/caldoria/caldoria.h b/engines/pegasus/neighborhood/caldoria/caldoria.h
index 016f3da..5fca53b 100644
--- a/engines/pegasus/neighborhood/caldoria/caldoria.h
+++ b/engines/pegasus/neighborhood/caldoria/caldoria.h
@@ -391,10 +391,10 @@ class Caldoria;
 class SinclairCallBack : public TimeBaseCallBack {
 public:
 	SinclairCallBack(Caldoria *);
-	~SinclairCallBack() {}
+	~SinclairCallBack() override {}
 
 protected:
-	virtual void callBack();
+	void callBack() override;
 
 	Caldoria *_caldoria;
 };
@@ -404,23 +404,23 @@ friend class SinclairCallBack;
 
 public:
 	Caldoria(InputHandler *, PegasusEngine *);
-	virtual ~Caldoria();
+	~Caldoria() override;
 
-	virtual uint16 getDateResID() const;
+	uint16 getDateResID() const override;
 
-	void pickedUpItem(Item *);
+	void pickedUpItem(Item *) override;
 
-	virtual GameInteraction *makeInteraction(const InteractionID);
+	GameInteraction *makeInteraction(const InteractionID) override;
 
-	virtual Common::String getBriefingMovie();
-	virtual Common::String getEnvScanMovie();
-	virtual uint getNumHints();
-	virtual Common::String getHintMovie(uint);
-	void loadAmbientLoops();
-	bool wantsCursor();
-	void flushGameState();
+	Common::String getBriefingMovie() override;
+	Common::String getEnvScanMovie() override;
+	uint getNumHints() override;
+	Common::String getHintMovie(uint) override;
+	void loadAmbientLoops() override;
+	bool wantsCursor() override;
+	void flushGameState() override;
 
-	void checkContinuePoint(const RoomID, const DirectionConstant);
+	void checkContinuePoint(const RoomID, const DirectionConstant) override;
 
 protected:
 	enum {
@@ -443,51 +443,51 @@ protected:
 		kNumCaldoriaPrivateFlags
 	};
 
-	void init();
-	void start();
+	void init() override;
+	void start() override;
 
 	void setUpRoofTop();
 
-	void setUpAIRules();
+	void setUpAIRules() override;
 	void doAIRecalibration();
-	TimeValue getViewTime(const RoomID, const DirectionConstant);
-	void findSpotEntry(const RoomID, const DirectionConstant, SpotFlags, SpotTable::Entry &);
-	void startSpotOnceOnly(TimeValue, TimeValue);
-	void startExitMovie(const ExitTable::Entry &);
-	void startZoomMovie(const ZoomTable::Entry &);
-	void startDoorOpenMovie(const TimeValue, const TimeValue);
-	void startTurnPush(const TurnDirection, const TimeValue, const DirectionConstant);
-	void bumpIntoWall();
-	int16 getStaticCompassAngle(const RoomID, const DirectionConstant);
-	void getExitCompassMove(const ExitTable::Entry &, FaderMoveSpec &);
-	void getZoomCompassMove(const ZoomTable::Entry &, FaderMoveSpec &);
-	void getExtraCompassMove(const ExtraTable::Entry &, FaderMoveSpec &);
-	void spotCompleted();
-	void arriveAt(const RoomID, const DirectionConstant);
+	TimeValue getViewTime(const RoomID, const DirectionConstant) override;
+	void findSpotEntry(const RoomID, const DirectionConstant, SpotFlags, SpotTable::Entry &) override;
+	void startSpotOnceOnly(TimeValue, TimeValue) override;
+	void startExitMovie(const ExitTable::Entry &) override;
+	void startZoomMovie(const ZoomTable::Entry &) override;
+	void startDoorOpenMovie(const TimeValue, const TimeValue) override;
+	void startTurnPush(const TurnDirection, const TimeValue, const DirectionConstant) override;
+	void bumpIntoWall() override;
+	int16 getStaticCompassAngle(const RoomID, const DirectionConstant) override;
+	void getExitCompassMove(const ExitTable::Entry &, FaderMoveSpec &) override;
+	void getZoomCompassMove(const ZoomTable::Entry &, FaderMoveSpec &) override;
+	void getExtraCompassMove(const ExtraTable::Entry &, FaderMoveSpec &) override;
+	void spotCompleted() override;
+	void arriveAt(const RoomID, const DirectionConstant) override;
 	void arriveAtCaldoria00();
 	void arriveAtCaldoriaToilet();
 	void arriveAtCaldoria44();
 	void arriveAtCaldoria49();
 	void arriveAtCaldoria56();
 	void arriveAtCaldoriaDeath();
-	void turnTo(const DirectionConstant);
-	void zoomTo(const Hotspot *);
-	void downButton(const Input &);
-	void receiveNotification(Notification *, const NotificationFlags);
-	InputBits getInputFilter();
-	void activateHotspots();
-	void clickInHotspot(const Input &, const Hotspot *);
-	void newInteraction(const InteractionID);
+	void turnTo(const DirectionConstant) override;
+	void zoomTo(const Hotspot *) override;
+	void downButton(const Input &) override;
+	void receiveNotification(Notification *, const NotificationFlags) override;
+	InputBits getInputFilter() override;
+	void activateHotspots() override;
+	void clickInHotspot(const Input &, const Hotspot *) override;
+	void newInteraction(const InteractionID) override;
 
 	void clickOnDoorbell(const HotSpotID);
 
-	Hotspot *getItemScreenSpot(Item *, DisplayElement *);
-	void dropItemIntoRoom(Item *, Hotspot *);
+	Hotspot *getItemScreenSpot(Item *, DisplayElement *) override;
+	void dropItemIntoRoom(Item *, Hotspot *) override;
 	void takeElevator(uint, uint);
 	void updateElevatorMovie();
 	void openElevatorMovie();
 	void emptyOJGlass();
-	void closeDoorOffScreen(const RoomID, const DirectionConstant);
+	void closeDoorOffScreen(const RoomID, const DirectionConstant) override;
 	void doorBombTimerExpired();
 	void sinclairTimerExpired();
 	void checkSinclairShootsOS();
@@ -496,10 +496,10 @@ protected:
 	void playEndMessage();
 	void checkInterruptSinclair();
 
-	CanOpenDoorReason canOpenDoor(DoorTable::Entry &);
-	void doorOpened();
+	CanOpenDoorReason canOpenDoor(DoorTable::Entry &) override;
+	void doorOpened() override;
 
-	void updateCursor(const Common::Point, const Hotspot *);
+	void updateCursor(const Common::Point, const Hotspot *) override;
 
 	FlagsArray<uint16, kNumCaldoriaPrivateFlags> _privateFlags;
 
@@ -514,8 +514,8 @@ protected:
 
 	SinclairCallBack _sinclairInterrupt;
 
-	Common::String getSoundSpotsName();
-	Common::String getNavMovieName();
+	Common::String getSoundSpotsName() override;
+	Common::String getNavMovieName() override;
 };
 
 } // End of namespace Pegasus
diff --git a/engines/pegasus/neighborhood/caldoria/caldoria4dsystem.h b/engines/pegasus/neighborhood/caldoria/caldoria4dsystem.h
index 6030084..1a057ec 100644
--- a/engines/pegasus/neighborhood/caldoria/caldoria4dsystem.h
+++ b/engines/pegasus/neighborhood/caldoria/caldoria4dsystem.h
@@ -38,19 +38,19 @@ class Neighborhood;
 class Caldoria4DSystem : public GameInteraction, private Idler, public NotificationReceiver {
 public:
 	Caldoria4DSystem(Neighborhood *);
-	virtual ~Caldoria4DSystem();
+	~Caldoria4DSystem() override;
 
 	void shutDown4DSystem();
 
 protected:
-	void openInteraction();
-	void initInteraction();
-	void closeInteraction();
+	void openInteraction() override;
+	void initInteraction() override;
+	void closeInteraction() override;
 
-	void handleInput(const Input &, const Hotspot *);
-	void activateHotspots();
-	void clickInHotspot(const Input &, const Hotspot *);
-	void receiveNotification(Notification *, const NotificationFlags);
+	void handleInput(const Input &, const Hotspot *) override;
+	void activateHotspots() override;
+	void clickInHotspot(const Input &, const Hotspot *) override;
+	void receiveNotification(Notification *, const NotificationFlags) override;
 	void setSpritesMovie();
 	void makeIslandChoice();
 	void makeRockChoice();
@@ -60,7 +60,7 @@ protected:
 	void makeRhythmsChoice();
 	void makeAcousticChoice();
 
-	void useIdleTime();
+	void useIdleTime() override;
 	void loopExtra(const ExtraID);
 
 	Movie _4DSpritesMovie;
diff --git a/engines/pegasus/neighborhood/caldoria/caldoriabomb.h b/engines/pegasus/neighborhood/caldoria/caldoriabomb.h
index 32e0fc6..8d417f1 100644
--- a/engines/pegasus/neighborhood/caldoria/caldoriabomb.h
+++ b/engines/pegasus/neighborhood/caldoria/caldoriabomb.h
@@ -76,12 +76,12 @@ static const VertexType kEdgeOneHalf = 7;
 class BombTimer : public IdlerAnimation {
 public:
 	BombTimer(const DisplayElementID);
-	virtual ~BombTimer() {}
+	~BombTimer() override {}
 
-	void draw(const Common::Rect &);
+	void draw(const Common::Rect &) override;
 
 protected:
-	void timeChanged(const TimeValue);
+	void timeChanged(const TimeValue) override;
 
 	int _middle;
 	Surface _leftImage, _rightImage;
@@ -90,7 +90,7 @@ protected:
 class BombGrid : public Picture {
 public:
 	BombGrid(const DisplayElementID);
-	virtual ~BombGrid() {}
+	~BombGrid() override {}
 
 	void drawEdges(BombEdgeList);
 
@@ -120,25 +120,25 @@ class Hotspot;
 class CaldoriaBomb : public GameInteraction, public NotificationReceiver {
 public:
 	CaldoriaBomb(Neighborhood *, NotificationManager *);
-	virtual ~CaldoriaBomb();
+	~CaldoriaBomb() override;
 
-	void setSoundFXLevel(const uint16);
-	void setAmbienceLevel(const uint16);
+	void setSoundFXLevel(const uint16) override;
+	void setAmbienceLevel(const uint16) override;
 
-	long getNumHints();
-	Common::String getHintMovie(uint);
-	void doSolve();
-	bool canSolve();
+	long getNumHints() override;
+	Common::String getHintMovie(uint) override;
+	void doSolve() override;
+	bool canSolve() override;
 
 protected:
-	void openInteraction();
-	void initInteraction();
-	void closeInteraction();
-	void receiveNotification(Notification *, const NotificationFlags);
-	void activateHotspots();
-	void clickInHotspot(const Input &, const Hotspot *);
-	void handleInput(const Input &, const Hotspot *);
-	InputBits getInputFilter();
+	void openInteraction() override;
+	void initInteraction() override;
+	void closeInteraction() override;
+	void receiveNotification(Notification *, const NotificationFlags) override;
+	void activateHotspots() override;
+	void clickInHotspot(const Input &, const Hotspot *) override;
+	void handleInput(const Input &, const Hotspot *) override;
+	InputBits getInputFilter() override;
 	void startBombAmbient(Common::String);
 
 	Notification *_neighborhoodNotification;
diff --git a/engines/pegasus/neighborhood/caldoria/caldoriamessages.h b/engines/pegasus/neighborhood/caldoria/caldoriamessages.h
index 1ce9f6f..756902b 100644
--- a/engines/pegasus/neighborhood/caldoria/caldoriamessages.h
+++ b/engines/pegasus/neighborhood/caldoria/caldoriamessages.h
@@ -39,16 +39,16 @@ class Neighborhood;
 class CaldoriaMessages : public GameInteraction, public Notification, public NotificationReceiver {
 public:
 	CaldoriaMessages(Neighborhood *, const NotificationID, NotificationManager *);
-	virtual ~CaldoriaMessages() {}
+	~CaldoriaMessages() override {}
 
-	void setSoundFXLevel(const uint16);
+	void setSoundFXLevel(const uint16) override;
 
 protected:
-	void openInteraction();
-	void initInteraction();
-	void closeInteraction();
-	void receiveNotification(Notification *, const NotificationFlags);
-	void clickInHotspot(const Input &, const Hotspot *);
+	void openInteraction() override;
+	void initInteraction() override;
+	void closeInteraction() override;
+	void receiveNotification(Notification *, const NotificationFlags) override;
+	void clickInHotspot(const Input &, const Hotspot *) override;
 	void play1Message(uint);
 
 	Movie _messageMovie;
diff --git a/engines/pegasus/neighborhood/caldoria/caldoriamirror.h b/engines/pegasus/neighborhood/caldoria/caldoriamirror.h
index c865ace..6225455 100644
--- a/engines/pegasus/neighborhood/caldoria/caldoriamirror.h
+++ b/engines/pegasus/neighborhood/caldoria/caldoriamirror.h
@@ -34,17 +34,17 @@ namespace Pegasus {
 class CaldoriaMirror : public GameInteraction, public NotificationReceiver {
 public:
 	CaldoriaMirror(Neighborhood *);
-	virtual ~CaldoriaMirror() {}
+	~CaldoriaMirror() override {}
 
 protected:
-	void openInteraction();
-	void initInteraction();
-	void closeInteraction();
-
-	void handleInput(const Input &, const Hotspot *);
-	void activateHotspots();
-	void clickInHotspot(const Input &, const Hotspot *);
-	void receiveNotification(Notification *, const NotificationFlags);
+	void openInteraction() override;
+	void initInteraction() override;
+	void closeInteraction() override;
+
+	void handleInput(const Input &, const Hotspot *) override;
+	void activateHotspots() override;
+	void clickInHotspot(const Input &, const Hotspot *) override;
+	void receiveNotification(Notification *, const NotificationFlags) override;
 
 	Notification *_neighborhoodNotification;
 };
diff --git a/engines/pegasus/neighborhood/mars/energybeam.h b/engines/pegasus/neighborhood/mars/energybeam.h
index 339c8a9..30e26d7 100644
--- a/engines/pegasus/neighborhood/mars/energybeam.h
+++ b/engines/pegasus/neighborhood/mars/energybeam.h
@@ -33,9 +33,9 @@ namespace Pegasus {
 class EnergyBeam : public ShuttleWeapon {
 public:
 	EnergyBeam();
-	virtual ~EnergyBeam() {}
+	~EnergyBeam() override {}
 
-	void draw(const Common::Rect &);
+	void draw(const Common::Rect &) override;
 };
 
 } // End of namespace Pegasus
diff --git a/engines/pegasus/neighborhood/mars/gravitoncannon.h b/engines/pegasus/neighborhood/mars/gravitoncannon.h
index 9b61ff0..7ac7f5e 100644
--- a/engines/pegasus/neighborhood/mars/gravitoncannon.h
+++ b/engines/pegasus/neighborhood/mars/gravitoncannon.h
@@ -34,18 +34,18 @@ namespace Pegasus {
 class GravitonCannon : public ShuttleWeapon {
 public:
 	GravitonCannon();
-	virtual ~GravitonCannon() {}
+	~GravitonCannon() override {}
 
-	void initShuttleWeapon();
-	void cleanUpShuttleWeapon();
+	void initShuttleWeapon() override;
+	void cleanUpShuttleWeapon() override;
 
-	void draw(const Common::Rect &);
+	void draw(const Common::Rect &) override;
 
 protected:
-	virtual void updateWeaponPosition();
-	virtual bool collisionWithJunk(Common::Point &impactPoint);
-	virtual void hitJunk(Common::Point impactPoint);
-	virtual void hitShuttle(Common::Point impactPoint);
+	void updateWeaponPosition() override;
+	bool collisionWithJunk(Common::Point &impactPoint) override;
+	void hitJunk(Common::Point impactPoint) override;
+	void hitShuttle(Common::Point impactPoint) override;
 
 	Surface _gravitonImage;
 	Common::Rect _gravitonBounds;
diff --git a/engines/pegasus/neighborhood/mars/mars.cpp b/engines/pegasus/neighborhood/mars/mars.cpp
index a94301e..2350be1 100644
--- a/engines/pegasus/neighborhood/mars/mars.cpp
+++ b/engines/pegasus/neighborhood/mars/mars.cpp
@@ -156,7 +156,7 @@ class AirMaskCondition : public AICondition {
 public:
 	AirMaskCondition(const uint32);
 
-	virtual bool fireCondition();
+	bool fireCondition() override;
 
 protected:
 	uint32 _airThreshold;
diff --git a/engines/pegasus/neighborhood/mars/mars.h b/engines/pegasus/neighborhood/mars/mars.h
index 4f10e19..0f07bb2 100644
--- a/engines/pegasus/neighborhood/mars/mars.h
+++ b/engines/pegasus/neighborhood/mars/mars.h
@@ -67,15 +67,15 @@ class Mars : public Neighborhood {
 friend struct MarsTimerEvent;
 public:
 	Mars(InputHandler *, PegasusEngine *);
-	virtual ~Mars();
+	~Mars() override;
 
-	void flushGameState();
+	void flushGameState() override;
 
-	virtual uint16 getDateResID() const;
+	uint16 getDateResID() const override;
 
-	virtual AirQuality getAirQuality(const RoomID);
+	AirQuality getAirQuality(const RoomID) override;
 
-	void checkAirMask();
+	void checkAirMask() override;
 
 	void showBigExplosion(const Common::Rect &, const DisplayOrder);
 	void showLittleExplosion(const Common::Rect &, const DisplayOrder);
@@ -83,20 +83,20 @@ public:
 	void decreaseRobotShuttleEnergy(const int, Common::Point impactPoint);
 	void setUpNextDropTime();
 
-	Common::String getBriefingMovie();
-	Common::String getEnvScanMovie();
-	uint getNumHints();
-	Common::String getHintMovie(uint);
+	Common::String getBriefingMovie() override;
+	Common::String getEnvScanMovie() override;
+	uint getNumHints() override;
+	Common::String getHintMovie(uint) override;
 
-	virtual void shieldOn();
-	virtual void shieldOff();
+	void shieldOn() override;
+	void shieldOff() override;
 
-	void checkContinuePoint(const RoomID, const DirectionConstant);
+	void checkContinuePoint(const RoomID, const DirectionConstant) override;
 
-	void setSoundFXLevel(const uint16);
+	void setSoundFXLevel(const uint16) override;
 
-	bool canSolve();
-	void doSolve();
+	bool canSolve() override;
+	void doSolve() override;
 
 	bool inColorMatchingGame();
 
@@ -116,31 +116,31 @@ protected:
 		kNumMarsPrivateFlags
 	};
 
-	void init();
-	void start();
-	void setUpAIRules();
-	void arriveAt(const RoomID, const DirectionConstant);
-	void takeItemFromRoom(Item *);
-	void dropItemIntoRoom(Item *, Hotspot *);
-	void activateHotspots();
-	void activateOneHotspot(HotspotInfoTable::Entry &, Hotspot *);
-	void clickInHotspot(const Input &, const Hotspot *);
-	InputBits getInputFilter();
-
-	TimeValue getViewTime(const RoomID, const DirectionConstant);
-	void getZoomEntry(const HotSpotID, ZoomTable::Entry &);
-	void findSpotEntry(const RoomID, const DirectionConstant, SpotFlags, SpotTable::Entry &);
-	CanOpenDoorReason canOpenDoor(DoorTable::Entry &);
-	void openDoor();
-	void closeDoorOffScreen(const RoomID, const DirectionConstant);
-	int16 getStaticCompassAngle(const RoomID, const DirectionConstant);
-	void getExitCompassMove(const ExitTable::Entry &, FaderMoveSpec &);
-	void getExtraCompassMove(const ExtraTable::Entry &, FaderMoveSpec &);
-	void turnTo(const DirectionConstant);
-	void receiveNotification(Notification *, const NotificationFlags);
-	void doorOpened();
+	void init() override;
+	void start() override;
+	void setUpAIRules() override;
+	void arriveAt(const RoomID, const DirectionConstant) override;
+	void takeItemFromRoom(Item *) override;
+	void dropItemIntoRoom(Item *, Hotspot *) override;
+	void activateHotspots() override;
+	void activateOneHotspot(HotspotInfoTable::Entry &, Hotspot *) override;
+	void clickInHotspot(const Input &, const Hotspot *) override;
+	InputBits getInputFilter() override;
+
+	TimeValue getViewTime(const RoomID, const DirectionConstant) override;
+	void getZoomEntry(const HotSpotID, ZoomTable::Entry &) override;
+	void findSpotEntry(const RoomID, const DirectionConstant, SpotFlags, SpotTable::Entry &) override;
+	CanOpenDoorReason canOpenDoor(DoorTable::Entry &) override;
+	void openDoor() override;
+	void closeDoorOffScreen(const RoomID, const DirectionConstant) override;
+	int16 getStaticCompassAngle(const RoomID, const DirectionConstant) override;
+	void getExitCompassMove(const ExitTable::Entry &, FaderMoveSpec &) override;
+	void getExtraCompassMove(const ExtraTable::Entry &, FaderMoveSpec &) override;
+	void turnTo(const DirectionConstant) override;
+	void receiveNotification(Notification *, const NotificationFlags) override;
+	void doorOpened() override;
 	void setUpReactorEnergyDrain();
-	Hotspot *getItemScreenSpot(Item *, DisplayElement *);
+	Hotspot *getItemScreenSpot(Item *, DisplayElement *) override;
 	void lockThawed();
 	void robotTiredOfWaiting();
 
@@ -151,17 +151,17 @@ protected:
 	void doReactorGuess(int32 guess);
 	void bombExplodesInGame();
 	void didntFindBomb();
-	CanMoveForwardReason canMoveForward(ExitTable::Entry &);
-	void cantMoveThatWay(CanMoveForwardReason);
-	void moveForward();
-	void bumpIntoWall();
-	void turnLeft();
-	void turnRight();
+	CanMoveForwardReason canMoveForward(ExitTable::Entry &) override;
+	void cantMoveThatWay(CanMoveForwardReason) override;
+	void moveForward() override;
+	void bumpIntoWall() override;
+	void turnLeft() override;
+	void turnRight() override;
 	void airStageExpired();
-	void loadAmbientLoops();
+	void loadAmbientLoops() override;
 	void checkAirlockDoors();
-	void pickedUpItem(Item *item);
-	void cantOpenDoor(CanOpenDoorReason);
+	void pickedUpItem(Item *item) override;
+	void cantOpenDoor(CanOpenDoorReason) override;
 	void launchMaze007Robot();
 	void launchMaze015Robot();
 	void launchMaze101Robot();
@@ -169,8 +169,8 @@ protected:
 	void launchMaze133Robot();
 	void launchMaze136Robot();
 	void launchMaze184Robot();
-	void timerExpired(const uint32);
-	void spotCompleted();
+	void timerExpired(const uint32) override;
+	void spotCompleted() override;
 
 	void doCanyonChase(void);
 	void startMarsTimer(TimeValue, TimeScale, MarsTimerCode);
@@ -180,10 +180,10 @@ protected:
 	void startUpFromSpaceChase();
 	void transportToRobotShip();
 	void spaceChaseClick(const Input &, const HotSpotID);
-	void updateCursor(const Common::Point, const Hotspot *);
+	void updateCursor(const Common::Point, const Hotspot *) override;
 
-	Common::String getSoundSpotsName();
-	Common::String getNavMovieName();
+	Common::String getSoundSpotsName() override;
+	Common::String getNavMovieName() override;
 
 	InventoryItem *_attackingItem;
 	FuseFunction _bombFuse;
diff --git a/engines/pegasus/neighborhood/mars/planetmover.h b/engines/pegasus/neighborhood/mars/planetmover.h
index e970856..3240fbb 100644
--- a/engines/pegasus/neighborhood/mars/planetmover.h
+++ b/engines/pegasus/neighborhood/mars/planetmover.h
@@ -35,7 +35,7 @@ class Movie;
 class PlanetMover : IdlerTimeBase {
 public:
 	PlanetMover();
-	virtual ~PlanetMover() {}
+	~PlanetMover() override {}
 
 	void startMoving(Movie *);
 	void stopMoving();
@@ -44,7 +44,7 @@ public:
 
 protected:
 	void newDestination();
-	virtual void timeChanged(const TimeValue);
+	void timeChanged(const TimeValue) override;
 
 	Movie *_planetMovie;
 	CoordType _p1, _p4, _r1, _r4;
diff --git a/engines/pegasus/neighborhood/mars/reactor.h b/engines/pegasus/neighborhood/mars/reactor.h
index 1403262..8d351fc 100644
--- a/engines/pegasus/neighborhood/mars/reactor.h
+++ b/engines/pegasus/neighborhood/mars/reactor.h
@@ -35,14 +35,14 @@ namespace Pegasus {
 class ReactorGuess : public DisplayElement {
 public:
 	ReactorGuess(const DisplayElementID);
-	virtual ~ReactorGuess() {}
+	~ReactorGuess() override {}
 
 	void initReactorGuess();
 	void disposeReactorGuess();
 
 	void setGuess(int32, int32, int32);
 
-	void draw(const Common::Rect &);
+	void draw(const Common::Rect &) override;
 
 protected:
 	int32 _currentGuess[3];
@@ -53,7 +53,7 @@ protected:
 class ReactorChoiceHighlight : public DisplayElement {
 public:
 	ReactorChoiceHighlight(const DisplayElementID);
-	virtual ~ReactorChoiceHighlight() {}
+	~ReactorChoiceHighlight() override {}
 
 	void initReactorChoiceHighlight();
 	void disposeReactorChoiceHighlight();
@@ -65,7 +65,7 @@ public:
 
 	bool choiceHighlighted(uint32 whichChoice) { return _choices.getFlag(whichChoice); }
 
-	void draw(const Common::Rect &);
+	void draw(const Common::Rect &) override;
 
 	void highlightChoice(uint32 whichChoice) {
 		_choices.setFlag(whichChoice);
@@ -80,12 +80,12 @@ protected:
 class ReactorHistory : public DisplayElement {
 public:
 	ReactorHistory(const DisplayElementID);
-	virtual ~ReactorHistory() {}
+	~ReactorHistory() override {}
 
 	void initReactorHistory();
 	void disposeReactorHistory();
 
-	void draw(const Common::Rect &);
+	void draw(const Common::Rect &) override;
 
 	void addGuess(int32, int32, int32);
 	int32 getNumGuesses() { return _numGuesses; }
diff --git a/engines/pegasus/neighborhood/mars/robotship.h b/engines/pegasus/neighborhood/mars/robotship.h
index b24ec80..0a9a463 100644
--- a/engines/pegasus/neighborhood/mars/robotship.h
+++ b/engines/pegasus/neighborhood/mars/robotship.h
@@ -36,7 +36,7 @@ static const CoordType kShuttleMovieHeight = 42;
 class RobotShip : IdlerTimeBase {
 public:
 	RobotShip();
-	virtual ~RobotShip();
+	~RobotShip() override;
 
 	void initRobotShip();
 	void cleanUpRobotShip();
@@ -65,7 +65,7 @@ protected:
 	void newDestination();
 	void moveRobotTo(CoordType, CoordType);
 	void timeToDropJunk();
-	virtual void timeChanged(const TimeValue);
+	void timeChanged(const TimeValue) override;
 	void makeVelocityVector(CoordType, CoordType, CoordType, CoordType, Common::Point &);
 
 	GlowingMovie _spritesMovie;
diff --git a/engines/pegasus/neighborhood/mars/shuttleenergymeter.h b/engines/pegasus/neighborhood/mars/shuttleenergymeter.h
index e61b177..af2c2bc 100644
--- a/engines/pegasus/neighborhood/mars/shuttleenergymeter.h
+++ b/engines/pegasus/neighborhood/mars/shuttleenergymeter.h
@@ -45,7 +45,7 @@ static const int32 kTractorBeamEnergy = kLowShuttleEnergy;
 class ShuttleEnergyMeter : public FaderAnimation {
 public:
 	ShuttleEnergyMeter();
-	~ShuttleEnergyMeter() {}
+	~ShuttleEnergyMeter() override {}
 
 	void initShuttleEnergyMeter();
 	void disposeShuttleEnergyMeter();
@@ -61,7 +61,7 @@ public:
 
 	bool enoughEnergyForTractorBeam() const;
 
-	void draw(const Common::Rect &);
+	void draw(const Common::Rect &) override;
 
 protected:
 	Surface _meterImage;
diff --git a/engines/pegasus/neighborhood/mars/shuttlehud.h b/engines/pegasus/neighborhood/mars/shuttlehud.h
index 5d08816..0bbd143 100644
--- a/engines/pegasus/neighborhood/mars/shuttlehud.h
+++ b/engines/pegasus/neighborhood/mars/shuttlehud.h
@@ -43,10 +43,10 @@ public:
 
 	bool isTargetLocked() { return _targetLocked; }
 
-	void draw(const Common::Rect &);
+	void draw(const Common::Rect &) override;
 
 protected:
-	void useIdleTime();
+	void useIdleTime() override;
 	void lockOnTarget();
 	void unlockOnTarget();
 	void drawOneBitImageOr(Graphics::Surface *, const uint16 *, int, const Common::Rect &, uint32);
diff --git a/engines/pegasus/neighborhood/mars/shuttleweapon.h b/engines/pegasus/neighborhood/mars/shuttleweapon.h
index a887161..f5559aa 100644
--- a/engines/pegasus/neighborhood/mars/shuttleweapon.h
+++ b/engines/pegasus/neighborhood/mars/shuttleweapon.h
@@ -40,7 +40,7 @@ static const TimeScale kShuttleWeaponScale = kFifteenTicksPerSecond;
 class ShuttleWeapon : public IdlerAnimation {
 public:
 	ShuttleWeapon();
-	virtual ~ShuttleWeapon() {}
+	~ShuttleWeapon() override {}
 
 	virtual void initShuttleWeapon();
 	virtual void cleanUpShuttleWeapon();
@@ -50,7 +50,7 @@ public:
 	bool canFireWeapon();
 
 protected:
-	void timeChanged(const TimeValue);
+	void timeChanged(const TimeValue) override;
 	virtual void updateWeaponPosition();
 	virtual bool collisionWithJunk(Common::Point &impactPoint);
 	bool collisionWithShuttle(Common::Point &impactPoint);
diff --git a/engines/pegasus/neighborhood/mars/spacejunk.h b/engines/pegasus/neighborhood/mars/spacejunk.h
index 25b101b..f17d813 100644
--- a/engines/pegasus/neighborhood/mars/spacejunk.h
+++ b/engines/pegasus/neighborhood/mars/spacejunk.h
@@ -40,12 +40,12 @@ static const float kJunkSize = convertScreenVToSpaceY(kShuttleWindowMidV - kJunk
 class SpaceJunk : public ScalingMovie, public Idler {
 public:
 	SpaceJunk(const DisplayElementID);
-	virtual ~SpaceJunk();
+	~SpaceJunk() override;
 
 	void setCenter(const CoordType, const CoordType);
 	void setScaleSize(const CoordType);
 
-	void useIdleTime();
+	void useIdleTime() override;
 
 	void launchJunk(int16, CoordType, CoordType);
 
diff --git a/engines/pegasus/neighborhood/mars/tractorbeam.h b/engines/pegasus/neighborhood/mars/tractorbeam.h
index 1d53e5b..790937c 100644
--- a/engines/pegasus/neighborhood/mars/tractorbeam.h
+++ b/engines/pegasus/neighborhood/mars/tractorbeam.h
@@ -33,9 +33,9 @@ namespace Pegasus {
 class TractorBeam : public DisplayElement {
 public:
 	TractorBeam();
-	virtual ~TractorBeam() {}
+	~TractorBeam() override {}
 
-	void draw(const Common::Rect &);
+	void draw(const Common::Rect &) override;
 };
 
 } // End of namespace Pegasus
diff --git a/engines/pegasus/neighborhood/neighborhood.h b/engines/pegasus/neighborhood/neighborhood.h
index 5b01147..1d63a85 100644
--- a/engines/pegasus/neighborhood/neighborhood.h
+++ b/engines/pegasus/neighborhood/neighborhood.h
@@ -99,10 +99,10 @@ class Neighborhood;
 class StriderCallBack : public TimeBaseCallBack {
 public:
 	StriderCallBack(Neighborhood *);
-	virtual ~StriderCallBack() {}
+	~StriderCallBack() override {}
 
 protected:
-	virtual void callBack();
+	void callBack() override;
 
 	Neighborhood *_neighborhood;
 };
@@ -115,7 +115,7 @@ friend class StriderCallBack;
 
 public:
 	Neighborhood(InputHandler *nextHandler, PegasusEngine *vm, const Common::String &resName, NeighborhoodID id);
-	virtual ~Neighborhood();
+	~Neighborhood() override;
 
 	virtual void init();
 	virtual void start();
@@ -123,8 +123,8 @@ public:
 	virtual void checkContinuePoint(const RoomID, const DirectionConstant) = 0;
 	void makeContinuePoint();
 
-	virtual void activateHotspots();
-	virtual void clickInHotspot(const Input &, const Hotspot *);
+	void activateHotspots() override;
+	void clickInHotspot(const Input &, const Hotspot *) override;
 
 	virtual CanMoveForwardReason canMoveForward(ExitTable::Entry &entry);
 	virtual CanTurnReason canTurn(TurnDirection turn, DirectionConstant &nextDir);
@@ -250,7 +250,7 @@ public:
 
 	virtual void pickedUpItem(Item *) {}
 
-	virtual void handleInput(const Input &, const Hotspot *);
+	void handleInput(const Input &, const Hotspot *) override;
 protected:
 	PegasusEngine *_vm;
 	Common::String _resName;
@@ -259,7 +259,7 @@ protected:
 	virtual Common::String getNavMovieName() = 0;
 
 	// Notification function.
-	virtual void receiveNotification(Notification *, const NotificationFlags);
+	void receiveNotification(Notification *, const NotificationFlags) override;
 
 	// Map info functions.
 	virtual void getExitEntry(const RoomID room, const DirectionConstant direction, ExitTable::Entry &entry);
@@ -304,7 +304,7 @@ protected:
 	virtual bool prepareExtraSync(const ExtraID);
 	virtual bool waitMovieFinish(Movie *, const InputBits);
 
-	virtual InputBits getInputFilter();
+	InputBits getInputFilter() override;
 
 	// Misc.
 	virtual int16 getStaticCompassAngle(const RoomID, const DirectionConstant dir);
@@ -327,7 +327,7 @@ protected:
 	void reinstateMonocleInterface();
 
 	virtual void newInteraction(const InteractionID);
-	virtual void useIdleTime();
+	void useIdleTime() override;
 	virtual void bumpIntoWall();
 	virtual void zoomUpOrBump();
 
diff --git a/engines/pegasus/neighborhood/norad/alpha/ecrmonitor.h b/engines/pegasus/neighborhood/norad/alpha/ecrmonitor.h
index 9fa9318..8c4cb5a 100644
--- a/engines/pegasus/neighborhood/norad/alpha/ecrmonitor.h
+++ b/engines/pegasus/neighborhood/norad/alpha/ecrmonitor.h
@@ -35,15 +35,15 @@ namespace Pegasus {
 class NoradAlphaECRMonitor : public GameInteraction, public NotificationReceiver {
 public:
 	NoradAlphaECRMonitor(Neighborhood *);
-	virtual ~NoradAlphaECRMonitor() {}
+	~NoradAlphaECRMonitor() override {}
 
-	virtual void handleInput(const Input &, const Hotspot *);
+	void handleInput(const Input &, const Hotspot *) override;
 
 protected:
-	virtual void openInteraction();
-	virtual void closeInteraction();
+	void openInteraction() override;
+	void closeInteraction() override;
 
-	virtual void receiveNotification(Notification *, const NotificationFlags);
+	void receiveNotification(Notification *, const NotificationFlags) override;
 
 	void ecrSection1Finished();
 	void ecrPanFinished();
diff --git a/engines/pegasus/neighborhood/norad/alpha/fillingstation.h b/engines/pegasus/neighborhood/norad/alpha/fillingstation.h
index 3db0a17..ecfd236 100644
--- a/engines/pegasus/neighborhood/norad/alpha/fillingstation.h
+++ b/engines/pegasus/neighborhood/norad/alpha/fillingstation.h
@@ -37,21 +37,21 @@ class Item;
 class NoradAlphaFillingStation : public GameInteraction, public NotificationReceiver {
 public:
 	NoradAlphaFillingStation(Neighborhood *);
-	virtual ~NoradAlphaFillingStation() {}
+	~NoradAlphaFillingStation() override {}
 
-	virtual void handleInput(const Input &, const Hotspot *);
+	void handleInput(const Input &, const Hotspot *) override;
 
-	virtual void clickInHotspot(const Input &, const Hotspot *);
-	virtual void activateHotspots();
+	void clickInHotspot(const Input &, const Hotspot *) override;
+	void activateHotspots() override;
 
 	void newFillingItem(Item *);
 
 protected:
-	void receiveNotification(Notification *, const NotificationFlags);
+	void receiveNotification(Notification *, const NotificationFlags) override;
 
-	virtual void openInteraction();
-	virtual void initInteraction();
-	virtual void closeInteraction();
+	void openInteraction() override;
+	void initInteraction() override;
+	void closeInteraction() override;
 
 	void powerUpFinished();
 	void splashFinished();
diff --git a/engines/pegasus/neighborhood/norad/alpha/noradalpha.h b/engines/pegasus/neighborhood/norad/alpha/noradalpha.h
index 916e2e7..5c709b9 100644
--- a/engines/pegasus/neighborhood/norad/alpha/noradalpha.h
+++ b/engines/pegasus/neighborhood/norad/alpha/noradalpha.h
@@ -35,50 +35,50 @@ class Item;
 class NoradAlpha : public Norad {
 public:
 	NoradAlpha(InputHandler *, PegasusEngine *);
-	virtual ~NoradAlpha() {}
+	~NoradAlpha() override {}
 
-	virtual void init();
-	void start();
+	void init() override;
+	void start() override;
 
-	virtual bool okayToJump();
+	bool okayToJump() override;
 
-	void playClawMonitorIntro();
+	void playClawMonitorIntro() override;
 
-	void getExtraCompassMove(const ExtraTable::Entry &, FaderMoveSpec &);
+	void getExtraCompassMove(const ExtraTable::Entry &, FaderMoveSpec &) override;
 
 	void turnOnFillingStation();
 	void turnOffFillingStation();
 	Item *getFillingItem() { return _fillingStationItem; }
 	bool gasCanisterIntake();
 
-	virtual void takeItemFromRoom(Item *);
-	virtual void dropItemIntoRoom(Item *, Hotspot *);
+	void takeItemFromRoom(Item *) override;
+	void dropItemIntoRoom(Item *, Hotspot *) override;
 
-	virtual GameInteraction *makeInteraction(const InteractionID);
+	GameInteraction *makeInteraction(const InteractionID) override;
 
-	virtual void getClawInfo(HotSpotID &outSpotID, HotSpotID &prepSpotID, HotSpotID &clawControlSpotID,
+	void getClawInfo(HotSpotID &outSpotID, HotSpotID &prepSpotID, HotSpotID &clawControlSpotID,
 			HotSpotID &pinchClawSpotID, HotSpotID &moveClawDownSpotID, HotSpotID &moveClawRightSpotID,
 			HotSpotID &moveClawLeftSpotID, HotSpotID &moveClawUpSpotID, HotSpotID &clawCCWSpotID,
-			HotSpotID &clawCWSpotID, uint32 &, const uint32 *&);
+			HotSpotID &clawCWSpotID, uint32 &, const uint32 *&) override;
 
-	void loadAmbientLoops();
+	void loadAmbientLoops() override;
 
-	Common::String getEnvScanMovie();
-	uint getNumHints();
-	Common::String getHintMovie(uint);
-	void setUpAIRules();
+	Common::String getEnvScanMovie() override;
+	uint getNumHints() override;
+	Common::String getHintMovie(uint) override;
+	void setUpAIRules() override;
 
 	void setSubPrepFailed(bool value) { _subPrepFailed = value; }
 	bool getSubPrepFailed() { return _subPrepFailed; }
 
-	void closeDoorOffScreen(const RoomID, const DirectionConstant);
-	void findSpotEntry(const RoomID, const DirectionConstant, SpotFlags, SpotTable::Entry &);
-	void clickInHotspot(const Input &, const Hotspot *);
+	void closeDoorOffScreen(const RoomID, const DirectionConstant) override;
+	void findSpotEntry(const RoomID, const DirectionConstant, SpotFlags, SpotTable::Entry &) override;
+	void clickInHotspot(const Input &, const Hotspot *) override;
 
-	void checkContinuePoint(const RoomID, const DirectionConstant);
+	void checkContinuePoint(const RoomID, const DirectionConstant) override;
 
-	bool canSolve();
-	void doSolve();
+	bool canSolve() override;
+	void doSolve() override;
 
 protected:
 	static const uint32 _noradAlphaClawExtras[22];
@@ -89,25 +89,25 @@ protected:
 	virtual void arriveAtNorad04();
 	virtual void arriveAtNorad22();
 
-	virtual void arriveAt(const RoomID, const DirectionConstant);
+	void arriveAt(const RoomID, const DirectionConstant) override;
 
-	virtual void getZoomEntry(const HotSpotID, ZoomTable::Entry &);
-	virtual TimeValue getViewTime(const RoomID, const DirectionConstant);
+	void getZoomEntry(const HotSpotID, ZoomTable::Entry &) override;
+	TimeValue getViewTime(const RoomID, const DirectionConstant) override;
 
-	virtual void receiveNotification(Notification *, const NotificationFlags);
+	void receiveNotification(Notification *, const NotificationFlags) override;
 
-	virtual void activateHotspots();
+	void activateHotspots() override;
 
-	Hotspot *getItemScreenSpot(Item *, DisplayElement *);
+	Hotspot *getItemScreenSpot(Item *, DisplayElement *) override;
 
-	void bumpIntoWall();
+	void bumpIntoWall() override;
 
 	Item *_fillingStationItem;
 
 	bool _subPrepFailed;
 
-	Common::String getSoundSpotsName();
-	Common::String getNavMovieName();
+	Common::String getSoundSpotsName() override;
+	Common::String getNavMovieName() override;
 };
 
 } // End of namespace Pegasus
diff --git a/engines/pegasus/neighborhood/norad/alpha/panoramascroll.h b/engines/pegasus/neighborhood/norad/alpha/panoramascroll.h
index 2e8432f..a1cffbd 100644
--- a/engines/pegasus/neighborhood/norad/alpha/panoramascroll.h
+++ b/engines/pegasus/neighborhood/norad/alpha/panoramascroll.h
@@ -33,7 +33,7 @@ namespace Pegasus {
 class PanoramaScroll : public IdlerAnimation {
 public:
 	PanoramaScroll(const DisplayElementID);
-	virtual ~PanoramaScroll() {}
+	~PanoramaScroll() override {}
 
 	void initFromMovieFile(const Common::String &);
 	void initMaskFromPICTFile(const Common::String &);
@@ -43,12 +43,12 @@ public:
 	bool isPanoramaOpen() { return _panorama.isPanoramaOpen(); }
 	void getPanoramaBounds(Common::Rect &) const;
 
-	void setBounds(const Common::Rect&);
+	void setBounds(const Common::Rect&) override;
 
-	void draw(const Common::Rect &);
+	void draw(const Common::Rect &) override;
 
 protected:
-	void timeChanged(const TimeValue);
+	void timeChanged(const TimeValue) override;
 
 	Panorama _panorama;
 	Surface _mask;
diff --git a/engines/pegasus/neighborhood/norad/delta/globegame.h b/engines/pegasus/neighborhood/norad/delta/globegame.h
index 4b1d0a6..3f2ec7f 100644
--- a/engines/pegasus/neighborhood/norad/delta/globegame.h
+++ b/engines/pegasus/neighborhood/norad/delta/globegame.h
@@ -45,14 +45,14 @@ enum GlobeTrackDirection {
 class GlobeTracker : public Tracker {
 public:
 	GlobeTracker(Movie *, Picture *, Picture *, Picture *, Picture *);
-	virtual ~GlobeTracker() {}
+	~GlobeTracker() override {}
 
 	void setTrackParameters(const Hotspot *, GlobeTrackDirection);
-	void continueTracking(const Input &);
-	void startTracking(const Input &);
-	void stopTracking(const Input &);
-	void activateHotspots();
-	bool stopTrackingInput(const Input &);
+	void continueTracking(const Input &) override;
+	void startTracking(const Input &) override;
+	void stopTracking(const Input &) override;
+	void activateHotspots() override;
+	bool stopTrackingInput(const Input &) override;
 
 protected:
 	void trackGlobeMovie();
@@ -71,18 +71,18 @@ protected:
 class GlobeCountdown : public IdlerAnimation {
 public:
 	GlobeCountdown(const DisplayElementID);
-	virtual ~GlobeCountdown() {}
+	~GlobeCountdown() override {}
 
 	void setCountdownTime(const int);
 	void startCountdown();
 	void stopCountdown();
 
 	void setDisplayOrder(const DisplayOrder);
-	void show();
-	void hide();
-	void moveElementTo(const CoordType, const CoordType);
+	void show() override;
+	void hide() override;
+	void moveElementTo(const CoordType, const CoordType) override;
 
-	void draw(const Common::Rect &);
+	void draw(const Common::Rect &) override;
 
 protected:
 	Surface _digits;
@@ -96,16 +96,16 @@ static const int16 kNumLongSlices = 72;
 class GlobeGame : public GameInteraction, public NotificationReceiver {
 public:
 	GlobeGame(Neighborhood *);
-	virtual ~GlobeGame() {}
+	~GlobeGame() override {}
 
-	void setSoundFXLevel(const uint16);
+	void setSoundFXLevel(const uint16) override;
 
-	void handleInput(const Input &, const Hotspot *);
-	void clickInHotspot(const Input &, const Hotspot *);
-	void activateHotspots();
+	void handleInput(const Input &, const Hotspot *) override;
+	void clickInHotspot(const Input &, const Hotspot *) override;
+	void activateHotspots() override;
 
-	bool canSolve();
-	void doSolve();
+	bool canSolve() override;
+	void doSolve() override;
 
 	struct Point3D {
 		float x, y, z;
@@ -123,11 +123,11 @@ protected:
 	static const int16 _timeLimit[kNumTargetSilos];
 	static const TimeValue _siloName[kNumTargetSilos][2];
 
-	void openInteraction();
-	void initInteraction();
-	void closeInteraction();
+	void openInteraction() override;
+	void initInteraction() override;
+	void closeInteraction() override;
 
-	void receiveNotification(Notification *, const NotificationFlags);
+	void receiveNotification(Notification *, const NotificationFlags) override;
 
 	void spinGlobe(const Input &, const Hotspot *, GlobeTrackDirection);
 	void clickGlobe(const Input &);
diff --git a/engines/pegasus/neighborhood/norad/delta/noraddelta.h b/engines/pegasus/neighborhood/norad/delta/noraddelta.h
index a8ba300..9132893 100644
--- a/engines/pegasus/neighborhood/norad/delta/noraddelta.h
+++ b/engines/pegasus/neighborhood/norad/delta/noraddelta.h
@@ -33,44 +33,44 @@ namespace Pegasus {
 class NoradDelta : public Norad {
 public:
 	NoradDelta(InputHandler *, PegasusEngine *);
-	virtual ~NoradDelta() {}
+	~NoradDelta() override {}
 
-	void init();
+	void init() override;
 
-	void start();
+	void start() override;
 
-	void getExtraCompassMove(const ExtraTable::Entry &, FaderMoveSpec &);
+	void getExtraCompassMove(const ExtraTable::Entry &, FaderMoveSpec &) override;
 
 	void finishedGlobeGame();
 
-	virtual GameInteraction *makeInteraction(const InteractionID);
+	GameInteraction *makeInteraction(const InteractionID) override;
 
-	void playClawMonitorIntro();
+	void playClawMonitorIntro() override;
 
-	virtual void getClawInfo(HotSpotID &outSpotID, HotSpotID &prepSpotID, HotSpotID &clawControlSpotID,
+	void getClawInfo(HotSpotID &outSpotID, HotSpotID &prepSpotID, HotSpotID &clawControlSpotID,
 			HotSpotID &pinchClawSpotID, HotSpotID &moveClawDownSpotID, HotSpotID &moveClawRightSpotID,
 			HotSpotID &moveClawLeftSpotID, HotSpotID &moveClawUpSpotID, HotSpotID &clawCCWSpotID,
-			HotSpotID &clawCWSpotID, uint32 &, const uint32 *&);
+			HotSpotID &clawCWSpotID, uint32 &, const uint32 *&) override;
 
 	void playerBeatRobotWithClaw();
 	void playerBeatRobotWithDoor();
 
-	void loadAmbientLoops();
+	void loadAmbientLoops() override;
 
-	void setUpAIRules();
-	Common::String getEnvScanMovie();
-	uint getNumHints();
-	Common::String getHintMovie(uint);
-	void closeDoorOffScreen(const RoomID, const DirectionConstant);
+	void setUpAIRules() override;
+	Common::String getEnvScanMovie() override;
+	uint getNumHints() override;
+	Common::String getHintMovie(uint) override;
+	void closeDoorOffScreen(const RoomID, const DirectionConstant) override;
 
-	void checkContinuePoint(const RoomID, const DirectionConstant);
+	void checkContinuePoint(const RoomID, const DirectionConstant) override;
 
-	bool canSolve();
-	void doSolve();
+	bool canSolve() override;
+	void doSolve() override;
 
-	void setSoundFXLevel(const uint16);
+	void setSoundFXLevel(const uint16) override;
 
-	void doorOpened();
+	void doorOpened() override;
 
 protected:
 	enum {
@@ -85,34 +85,34 @@ protected:
 
 	static const uint32 _noradDeltaClawExtras[22];
 
-	void getExitEntry(const RoomID, const DirectionConstant, ExitTable::Entry &);
-	void getZoomEntry(const HotSpotID, ZoomTable::Entry &);
-	virtual void arriveAt(const RoomID, const DirectionConstant);
+	void getExitEntry(const RoomID, const DirectionConstant, ExitTable::Entry &) override;
+	void getZoomEntry(const HotSpotID, ZoomTable::Entry &) override;
+	void arriveAt(const RoomID, const DirectionConstant) override;
 	void arriveAtNorad68West();
 	void arriveAtNorad79West();
-	TimeValue getViewTime(const RoomID, const DirectionConstant);
-	void openDoor();
-	void cantMoveThatWay(CanMoveForwardReason);
-	void activateHotspots();
-	void clickInHotspot(const Input &, const Hotspot *);
-	void receiveNotification(Notification *, const NotificationFlags);
-	void pickedUpItem(Item *item);
-	void takeItemFromRoom(Item *item);
-	void dropItemIntoRoom(Item *item, Hotspot *);
-	Hotspot *getItemScreenSpot(Item *, DisplayElement *);
-
-	virtual bool playingAgainstRobot();
+	TimeValue getViewTime(const RoomID, const DirectionConstant) override;
+	void openDoor() override;
+	void cantMoveThatWay(CanMoveForwardReason) override;
+	void activateHotspots() override;
+	void clickInHotspot(const Input &, const Hotspot *) override;
+	void receiveNotification(Notification *, const NotificationFlags) override;
+	void pickedUpItem(Item *item) override;
+	void takeItemFromRoom(Item *item) override;
+	void dropItemIntoRoom(Item *item, Hotspot *) override;
+	Hotspot *getItemScreenSpot(Item *, DisplayElement *) override;
+
+	bool playingAgainstRobot() override;
 
 	void failRetinalScan();
 	void succeedRetinalScan();
-	void getDoorEntry(const RoomID, const DirectionConstant, DoorTable::Entry &);
+	void getDoorEntry(const RoomID, const DirectionConstant, DoorTable::Entry &) override;
 
-	void bumpIntoWall();
+	void bumpIntoWall() override;
 
 	FlagsArray<byte, kNumNoradPrivateFlags> _privateFlags;
 
-	Common::String getSoundSpotsName();
-	Common::String getNavMovieName();
+	Common::String getSoundSpotsName() override;
+	Common::String getNavMovieName() override;
 };
 
 } // End of namespace Pegasus
diff --git a/engines/pegasus/neighborhood/norad/norad.h b/engines/pegasus/neighborhood/norad/norad.h
index 7953081..8be02fb 100644
--- a/engines/pegasus/neighborhood/norad/norad.h
+++ b/engines/pegasus/neighborhood/norad/norad.h
@@ -35,48 +35,48 @@ namespace Pegasus {
 class Norad : public Neighborhood {
 public:
 	Norad(InputHandler *, PegasusEngine *owner, const Common::String &resName, const NeighborhoodID);
-	virtual ~Norad() {}
+	~Norad() override {}
 
-	void flushGameState();
+	void flushGameState() override;
 
-	virtual void start();
+	void start() override;
 
 	virtual void getClawInfo(HotSpotID &outSpotID, HotSpotID &prepSpotID,
 			HotSpotID &clawControlSpotID, HotSpotID &pinchClawSpotID,
 			HotSpotID &moveClawDownSpotID, HotSpotID &moveClawRightSpotID,
 			HotSpotID &moveClawLeftSpotID,HotSpotID &moveClawUpSpotID,
 			HotSpotID &clawCCWSpotID, HotSpotID &clawCWSpotID, uint32 &, const uint32 *&) = 0;
-	void checkAirMask();
+	void checkAirMask() override;
 
-	virtual uint16 getDateResID() const;
+	uint16 getDateResID() const override;
 
-	virtual GameInteraction *makeInteraction(const InteractionID);
+	GameInteraction *makeInteraction(const InteractionID) override;
 
-	Common::String getBriefingMovie();
+	Common::String getBriefingMovie() override;
 
-	void pickedUpItem(Item *);
+	void pickedUpItem(Item *) override;
 
 	virtual void playClawMonitorIntro() {}
 
 	void doneWithPressureDoor();
 
 protected:
-	CanOpenDoorReason canOpenDoor(DoorTable::Entry &);
-	void cantOpenDoor(CanOpenDoorReason);
-	int16 getStaticCompassAngle(const RoomID, const DirectionConstant);
-	virtual void startExitMovie(const ExitTable::Entry &);
-	void startZoomMovie(const ZoomTable::Entry &);
-	virtual void upButton(const Input &);
-	virtual void activateHotspots();
-
-	virtual void arriveAt(const RoomID, const DirectionConstant);
+	CanOpenDoorReason canOpenDoor(DoorTable::Entry &) override;
+	void cantOpenDoor(CanOpenDoorReason) override;
+	int16 getStaticCompassAngle(const RoomID, const DirectionConstant) override;
+	void startExitMovie(const ExitTable::Entry &) override;
+	void startZoomMovie(const ZoomTable::Entry &) override;
+	void upButton(const Input &) override;
+	void activateHotspots() override;
+
+	void arriveAt(const RoomID, const DirectionConstant) override;
 	virtual void arriveAtNoradElevator();
 	virtual void arriveAtUpperPressureDoorRoom();
 	virtual void arriveAtLowerPressureDoorRoom();
 	virtual void arriveAtSubPlatformRoom();
 	virtual void arriveAtSubControlRoom();
 	void setUpAirMask();
-	virtual void receiveNotification(Notification *, const NotificationFlags);
+	void receiveNotification(Notification *, const NotificationFlags) override;
 	virtual bool playingAgainstRobot() { return false; }
 
 	Notification _noradNotification;
diff --git a/engines/pegasus/neighborhood/norad/noradelevator.h b/engines/pegasus/neighborhood/norad/noradelevator.h
index 7d11af7..24ab6bc 100644
--- a/engines/pegasus/neighborhood/norad/noradelevator.h
+++ b/engines/pegasus/neighborhood/norad/noradelevator.h
@@ -38,18 +38,18 @@ class Neighborhood;
 class NoradElevator : public GameInteraction, private NotificationReceiver {
 public:
 	NoradElevator(Neighborhood *, const RoomID, const RoomID, const HotSpotID, const HotSpotID);
-	virtual ~NoradElevator() {}
+	~NoradElevator() override {}
 
 protected:
-	virtual void openInteraction();
-	virtual void initInteraction();
-	virtual void closeInteraction();
-	virtual void resetInteraction();
+	void openInteraction() override;
+	void initInteraction() override;
+	void closeInteraction() override;
+	void resetInteraction() override;
 
-	virtual void activateHotspots();
-	virtual void clickInHotspot(const Input &, const Hotspot *);
+	void activateHotspots() override;
+	void clickInHotspot(const Input &, const Hotspot *) override;
 
-	virtual void receiveNotification(Notification *, const NotificationFlags);
+	void receiveNotification(Notification *, const NotificationFlags) override;
 
 	RoomID _upRoom;
 	RoomID _downRoom;
diff --git a/engines/pegasus/neighborhood/norad/pressuredoor.h b/engines/pegasus/neighborhood/norad/pressuredoor.h
index c8fd4e3..422e2fb 100644
--- a/engines/pegasus/neighborhood/norad/pressuredoor.h
+++ b/engines/pegasus/neighborhood/norad/pressuredoor.h
@@ -40,25 +40,25 @@ public:
 	PressureDoor(Neighborhood *, bool isUpperDoor, const HotSpotID, const HotSpotID,
 			const HotSpotID, TimeValue pressureSoundIn, TimeValue pressureSoundOut,
 			TimeValue equalizeSoundIn, TimeValue equalizeSoundOut);
-	virtual ~PressureDoor() {}
+	~PressureDoor() override {}
 
 	void incrementPressure(const HotSpotID);
 	void stopChangingPressure();
 
 	void playAgainstRobot();
 
-	bool canSolve();
-	void doSolve();
+	bool canSolve() override;
+	void doSolve() override;
 
 protected:
-	virtual void openInteraction();
-	virtual void initInteraction();
-	virtual void closeInteraction();
+	void openInteraction() override;
+	void initInteraction() override;
+	void closeInteraction() override;
 
-	virtual void activateHotspots();
-	virtual void clickInHotspot(const Input &, const Hotspot *);
+	void activateHotspots() override;
+	void clickInHotspot(const Input &, const Hotspot *) override;
 
-	virtual void receiveNotification(Notification *, const NotificationFlags);
+	void receiveNotification(Notification *, const NotificationFlags) override;
 
 	Movie _levelsMovie;
 	TimeScale _levelsScale;
diff --git a/engines/pegasus/neighborhood/norad/pressuretracker.h b/engines/pegasus/neighborhood/norad/pressuretracker.h
index ecdf4b6..4abf31f 100644
--- a/engines/pegasus/neighborhood/norad/pressuretracker.h
+++ b/engines/pegasus/neighborhood/norad/pressuretracker.h
@@ -46,14 +46,14 @@ class Sprite;
 class PressureTracker : public Tracker {
 public:
 	PressureTracker(PressureDoor *);
-	virtual ~PressureTracker() {}
+	~PressureTracker() override {}
 
 	void setTrackParameters(const Hotspot *, Sprite *);
-	void continueTracking(const Input &);
-	void startTracking(const Input &);
-	void stopTracking(const Input &);
-	void activateHotspots();
-	bool stopTrackingInput(const Input &);
+	void continueTracking(const Input &) override;
+	void startTracking(const Input &) override;
+	void stopTracking(const Input &) override;
+	void activateHotspots() override;
+	bool stopTrackingInput(const Input &) override;
 
 protected:
 	void trackPressure();
diff --git a/engines/pegasus/neighborhood/norad/subcontrolroom.h b/engines/pegasus/neighborhood/norad/subcontrolroom.h
index ff25344..952851a 100644
--- a/engines/pegasus/neighborhood/norad/subcontrolroom.h
+++ b/engines/pegasus/neighborhood/norad/subcontrolroom.h
@@ -43,27 +43,27 @@ class Norad;
 class SubControlRoom : public GameInteraction, public NotificationReceiver {
 public:
 	SubControlRoom(Neighborhood *);
-	virtual ~SubControlRoom() {}
+	~SubControlRoom() override {}
 
 	void playAgainstRobot();
 
-	virtual void setSoundFXLevel(const uint16);
+	void setSoundFXLevel(const uint16) override;
 
-	bool canSolve();
-	void doSolve();
+	bool canSolve() override;
+	void doSolve() override;
 
 protected:
-	virtual void openInteraction();
-	virtual void initInteraction();
-	virtual void closeInteraction();
+	void openInteraction() override;
+	void initInteraction() override;
+	void closeInteraction() override;
 
-	virtual void activateHotspots();
-	virtual void clickInHotspot(const Input &, const Hotspot *);
+	void activateHotspots() override;
+	void clickInHotspot(const Input &, const Hotspot *) override;
 
-	virtual void receiveNotification(Notification *, const NotificationFlags);
+	void receiveNotification(Notification *, const NotificationFlags) override;
 
 	void robotKillsPlayer(const uint32, Neighborhood *);
-	InputBits getInputFilter();
+	InputBits getInputFilter() override;
 
 	int findActionIndex(HotSpotID);
 	void dispatchClawAction(const int);
diff --git a/engines/pegasus/neighborhood/norad/subplatform.h b/engines/pegasus/neighborhood/norad/subplatform.h
index cfb515a..9125627 100644
--- a/engines/pegasus/neighborhood/norad/subplatform.h
+++ b/engines/pegasus/neighborhood/norad/subplatform.h
@@ -36,19 +36,19 @@ namespace Pegasus {
 class SubPlatform : public GameInteraction, public NotificationReceiver {
 public:
 	SubPlatform(Neighborhood *);
-	virtual ~SubPlatform() {}
+	~SubPlatform() override {}
 
-	virtual void setSoundFXLevel(const uint16);
+	void setSoundFXLevel(const uint16) override;
 
 protected:
-	virtual void openInteraction();
-	virtual void initInteraction();
-	virtual void closeInteraction();
+	void openInteraction() override;
+	void initInteraction() override;
+	void closeInteraction() override;
 
-	virtual void activateHotspots();
-	virtual void clickInHotspot(const Input &, const Hotspot *);
+	void activateHotspots() override;
+	void clickInHotspot(const Input &, const Hotspot *) override;
 
-	virtual void receiveNotification(Notification *, const NotificationFlags);
+	void receiveNotification(Notification *, const NotificationFlags) override;
 
 	Movie _platformMovie;
 	TimeScale _platformScale;
diff --git a/engines/pegasus/neighborhood/prehistoric/prehistoric.cpp b/engines/pegasus/neighborhood/prehistoric/prehistoric.cpp
index 5911f62..16482c2 100644
--- a/engines/pegasus/neighborhood/prehistoric/prehistoric.cpp
+++ b/engines/pegasus/neighborhood/prehistoric/prehistoric.cpp
@@ -104,9 +104,9 @@ void Prehistoric::start() {
 class FinishPrehistoricAction : public AIPlayMessageAction {
 public:
 	FinishPrehistoricAction() : AIPlayMessageAction("Images/AI/Prehistoric/XP25W", false) {}
-	~FinishPrehistoricAction() {}
+	~FinishPrehistoricAction() override {}
 
-	void performAIAction(AIRule *);
+	void performAIAction(AIRule *) override;
 
 };
 
diff --git a/engines/pegasus/neighborhood/prehistoric/prehistoric.h b/engines/pegasus/neighborhood/prehistoric/prehistoric.h
index 3fd7319..f703acf 100644
--- a/engines/pegasus/neighborhood/prehistoric/prehistoric.h
+++ b/engines/pegasus/neighborhood/prehistoric/prehistoric.h
@@ -103,31 +103,31 @@ class PegasusEngine;
 class Prehistoric : public Neighborhood {
 public:
 	Prehistoric(InputHandler *, PegasusEngine *);
-	virtual ~Prehistoric() {}
+	~Prehistoric() override {}
 
-	virtual uint16 getDateResID() const;
-	virtual void init();
+	uint16 getDateResID() const override;
+	void init() override;
 
-	virtual void arriveAt(const RoomID, const DirectionConstant);
-	virtual void activateHotspots();
-	virtual void clickInHotspot(const Input &, const Hotspot *);
-	Common::String getBriefingMovie();
-	Common::String getEnvScanMovie();
-	uint getNumHints();
-	Common::String getHintMovie(uint);
+	void arriveAt(const RoomID, const DirectionConstant) override;
+	void activateHotspots() override;
+	void clickInHotspot(const Input &, const Hotspot *) override;
+	Common::String getBriefingMovie() override;
+	Common::String getEnvScanMovie() override;
+	uint getNumHints() override;
+	Common::String getHintMovie(uint) override;
 
-	Hotspot *getItemScreenSpot(Item *, DisplayElement *);
-	void dropItemIntoRoom(Item *, Hotspot *);
-	void pickedUpItem(Item *);
+	Hotspot *getItemScreenSpot(Item *, DisplayElement *) override;
+	void dropItemIntoRoom(Item *, Hotspot *) override;
+	void pickedUpItem(Item *) override;
 
-	void start();
+	void start() override;
 
-	void bumpIntoWall();
+	void bumpIntoWall() override;
 
-	void checkContinuePoint(const RoomID, const DirectionConstant);
+	void checkContinuePoint(const RoomID, const DirectionConstant) override;
 
-	bool canSolve();
-	void doSolve();
+	bool canSolve() override;
+	void doSolve() override;
 
 protected:
 	enum {
@@ -136,21 +136,21 @@ protected:
 		kNumPrehistoricPrivateFlags
 	};
 
-	void setUpAIRules();
-	int16 getStaticCompassAngle(const RoomID, const DirectionConstant);
-	void getExitCompassMove(const ExitTable::Entry &, FaderMoveSpec &);
-	virtual void receiveNotification(Notification *, const NotificationFlags);
-	void turnTo(const DirectionConstant);
+	void setUpAIRules() override;
+	int16 getStaticCompassAngle(const RoomID, const DirectionConstant) override;
+	void getExitCompassMove(const ExitTable::Entry &, FaderMoveSpec &) override;
+	void receiveNotification(Notification *, const NotificationFlags) override;
+	void turnTo(const DirectionConstant) override;
 	void zoomToVault();
-	TimeValue getViewTime(const RoomID, const DirectionConstant);
-	void findSpotEntry(const RoomID, const DirectionConstant, SpotFlags, SpotTable::Entry &);
+	TimeValue getViewTime(const RoomID, const DirectionConstant) override;
+	void findSpotEntry(const RoomID, const DirectionConstant, SpotFlags, SpotTable::Entry &) override;
 
-	void loadAmbientLoops();
+	void loadAmbientLoops() override;
 
 	FlagsArray<byte, kNumPrehistoricPrivateFlags> _privateFlags;
 
-	Common::String getNavMovieName();
-	Common::String getSoundSpotsName();
+	Common::String getNavMovieName() override;
+	Common::String getSoundSpotsName() override;
 };
 
 } // End of namespace Pegasus
diff --git a/engines/pegasus/neighborhood/tsa/fulltsa.h b/engines/pegasus/neighborhood/tsa/fulltsa.h
index 50ca303..7e9d5da 100644
--- a/engines/pegasus/neighborhood/tsa/fulltsa.h
+++ b/engines/pegasus/neighborhood/tsa/fulltsa.h
@@ -33,15 +33,15 @@ namespace Pegasus {
 class RipTimer : public IdlerAnimation {
 public:
 	RipTimer(const DisplayElementID id) : IdlerAnimation(id) {}
-	virtual ~RipTimer() {}
+	~RipTimer() override {}
 
 	void initImage();
 	void releaseImage();
 
-	void draw(const Common::Rect &);
+	void draw(const Common::Rect &) override;
 
 protected:
-	void timeChanged(const TimeValue);
+	void timeChanged(const TimeValue) override;
 
 	CoordType _middle;
 	Surface _timerImage;
@@ -56,22 +56,22 @@ static const RoomID kTSA37 = 42;
 class FullTSA : public Neighborhood {
 public:
 	FullTSA(InputHandler *, PegasusEngine *);
-	virtual ~FullTSA() {}
+	~FullTSA() override {}
 
-	virtual void init();
+	void init() override;
 
-	void start();
+	void start() override;
 
-	virtual uint16 getDateResID() const;
+	uint16 getDateResID() const override;
 
-	void flushGameState();
+	void flushGameState() override;
 
-	void checkContinuePoint(const RoomID, const DirectionConstant);
+	void checkContinuePoint(const RoomID, const DirectionConstant) override;
 
-	bool canSolve();
-	void doSolve();
+	bool canSolve() override;
+	void doSolve() override;
 
-	void updateCursor(const Common::Point, const Hotspot *);
+	void updateCursor(const Common::Point, const Hotspot *) override;
 
 protected:
 	enum {
@@ -84,36 +84,36 @@ protected:
 		kNumTSAPrivateFlags
 	};
 
-	Common::String getBriefingMovie();
-	Common::String getEnvScanMovie();
-	uint getNumHints();
-	Common::String getHintMovie(uint);
-	void loadAmbientLoops();
-	virtual void clickInHotspot(const Input &, const Hotspot *);
-
-	virtual int16 getStaticCompassAngle(const RoomID, const DirectionConstant);
-	void activateOneHotspot(HotspotInfoTable::Entry &, Hotspot *spot);
-	virtual void activateHotspots();
-	void getExitCompassMove(const ExitTable::Entry &, FaderMoveSpec &);
-	void dropItemIntoRoom(Item *, Hotspot *);
-	void downButton(const Input &);
-	void startDoorOpenMovie(const TimeValue, const TimeValue);
-	TimeValue getViewTime(const RoomID, const DirectionConstant);
-	void findSpotEntry(const RoomID, const DirectionConstant, SpotFlags, SpotTable::Entry &);
-	void turnTo(const DirectionConstant);
-	CanMoveForwardReason canMoveForward(ExitTable::Entry &);
-	CanOpenDoorReason canOpenDoor(DoorTable::Entry &);
-	void bumpIntoWall();
+	Common::String getBriefingMovie() override;
+	Common::String getEnvScanMovie() override;
+	uint getNumHints() override;
+	Common::String getHintMovie(uint) override;
+	void loadAmbientLoops() override;
+	void clickInHotspot(const Input &, const Hotspot *) override;
+
+	int16 getStaticCompassAngle(const RoomID, const DirectionConstant) override;
+	void activateOneHotspot(HotspotInfoTable::Entry &, Hotspot *spot) override;
+	void activateHotspots() override;
+	void getExitCompassMove(const ExitTable::Entry &, FaderMoveSpec &) override;
+	void dropItemIntoRoom(Item *, Hotspot *) override;
+	void downButton(const Input &) override;
+	void startDoorOpenMovie(const TimeValue, const TimeValue) override;
+	TimeValue getViewTime(const RoomID, const DirectionConstant) override;
+	void findSpotEntry(const RoomID, const DirectionConstant, SpotFlags, SpotTable::Entry &) override;
+	void turnTo(const DirectionConstant) override;
+	CanMoveForwardReason canMoveForward(ExitTable::Entry &) override;
+	CanOpenDoorReason canOpenDoor(DoorTable::Entry &) override;
+	void bumpIntoWall() override;
 	void initializeTBPMonitor(const int, const ExtraID);
 	void playTBPMonitor();
-	void getExtraCompassMove(const ExtraTable::Entry &, FaderMoveSpec &);
-	Hotspot *getItemScreenSpot(Item *, DisplayElement *);
-	void openDoor();
-	void turnRight();
-	void turnLeft();
-	void closeDoorOffScreen(const RoomID, const DirectionConstant);
-	void playExtraMovie(const ExtraTable::Entry &, const NotificationFlags, const InputBits interruptionInput);
-	void handleInput(const Input &, const Hotspot *);
+	void getExtraCompassMove(const ExtraTable::Entry &, FaderMoveSpec &) override;
+	Hotspot *getItemScreenSpot(Item *, DisplayElement *) override;
+	void openDoor() override;
+	void turnRight() override;
+	void turnLeft() override;
+	void closeDoorOffScreen(const RoomID, const DirectionConstant) override;
+	void playExtraMovie(const ExtraTable::Entry &, const NotificationFlags, const InputBits interruptionInput) override;
+	void handleInput(const Input &, const Hotspot *) override;
 	void arriveAtTSA25Red();
 	void startUpComparisonMonitor();
 	void shutDownComparisonMonitor();
@@ -125,22 +125,22 @@ protected:
 	uint getHistoricalLogIndex();
 	void startUpRobotMonitor();
 	void shutDownRobotMonitor();
-	void pickedUpItem(Item *item);
+	void pickedUpItem(Item *item) override;
 	void arriveFromPrehistoric();
 
 	void arriveFromNorad();
 	void arriveFromMars();
 	void arriveFromWSC();
 
-	InputBits getInputFilter();
-	void arriveAt(const RoomID, const DirectionConstant);
+	InputBits getInputFilter() override;
+	void arriveAt(const RoomID, const DirectionConstant) override;
 	void initializePegasusButtons(bool);
 	void releaseSprites();
 	void showMainJumpMenu();
 	void arriveAtTSA37();
-	void receiveNotification(Notification *, const NotificationFlags);
+	void receiveNotification(Notification *, const NotificationFlags) override;
 	void checkRobotLocations(const RoomID, const DirectionConstant);
-	void getExtraEntry(const uint32, ExtraTable::Entry &);
+	void getExtraEntry(const uint32, ExtraTable::Entry &) override;
 
 	Sprite _sprite1, _sprite2, _sprite3;
 	FuseFunction _utilityFuse;
@@ -148,8 +148,8 @@ protected:
 
 	FlagsArray<byte, kNumTSAPrivateFlags> _privateFlags;
 
-	Common::String getNavMovieName();
-	Common::String getSoundSpotsName();
+	Common::String getNavMovieName() override;
+	Common::String getSoundSpotsName() override;
 
 	void dieUncreatedInTSA();
 };
diff --git a/engines/pegasus/neighborhood/tsa/tinytsa.h b/engines/pegasus/neighborhood/tsa/tinytsa.h
index cc1db16..3413703 100644
--- a/engines/pegasus/neighborhood/tsa/tinytsa.h
+++ b/engines/pegasus/neighborhood/tsa/tinytsa.h
@@ -37,33 +37,33 @@ static const RoomID kTinyTSA37 = 0;
 class TinyTSA : public Neighborhood {
 public:
 	TinyTSA(InputHandler *, PegasusEngine *);
-	virtual ~TinyTSA() {}
+	~TinyTSA() override {}
 
-	virtual uint16 getDateResID() const;
+	uint16 getDateResID() const override;
 
-	void start();
+	void start() override;
 
-	void checkContinuePoint(const RoomID, const DirectionConstant);
+	void checkContinuePoint(const RoomID, const DirectionConstant) override;
 
 protected:
-	Common::String getBriefingMovie();
-	Common::String getEnvScanMovie();
-	void loadAmbientLoops();
-	virtual void clickInHotspot(const Input &, const Hotspot *);
+	Common::String getBriefingMovie() override;
+	Common::String getEnvScanMovie() override;
+	void loadAmbientLoops() override;
+	void clickInHotspot(const Input &, const Hotspot *) override;
 
-	virtual int16 getStaticCompassAngle(const RoomID, const DirectionConstant);
+	int16 getStaticCompassAngle(const RoomID, const DirectionConstant) override;
 
 	void arriveFromNorad();
 	void arriveFromMars();
 	void arriveFromWSC();
 
-	InputBits getInputFilter();
-	void arriveAt(const RoomID, const DirectionConstant);
+	InputBits getInputFilter() override;
+	void arriveAt(const RoomID, const DirectionConstant) override;
 	void showMainJumpMenu();
-	void receiveNotification(Notification *, const NotificationFlags);
+	void receiveNotification(Notification *, const NotificationFlags) override;
 
-	Common::String getNavMovieName();
-	Common::String getSoundSpotsName() { return ""; }
+	Common::String getNavMovieName() override;
+	Common::String getSoundSpotsName() override { return ""; }
 };
 
 } // End of namespace Pegasus
diff --git a/engines/pegasus/neighborhood/wsc/moleculebin.h b/engines/pegasus/neighborhood/wsc/moleculebin.h
index 03d3305..3463a33 100644
--- a/engines/pegasus/neighborhood/wsc/moleculebin.h
+++ b/engines/pegasus/neighborhood/wsc/moleculebin.h
@@ -44,7 +44,7 @@ enum {
 class MoleculeBin : public DisplayElement {
 public:
 	MoleculeBin();
-	virtual ~MoleculeBin() {}
+	~MoleculeBin() override {}
 
 	void initMoleculeBin();
 	void cleanUpMoleculeBin();
@@ -58,7 +58,7 @@ public:
 	bool isMoleculeHighlighted(uint32);
 
 protected:
-	void draw(const Common::Rect &);
+	void draw(const Common::Rect &) override;
 
 	Surface _binImages;
 	FlagsArray<byte, kMolecule6 + 1> _moleculeFlags;
diff --git a/engines/pegasus/neighborhood/wsc/wsc.cpp b/engines/pegasus/neighborhood/wsc/wsc.cpp
index 9b67db5..329a060 100644
--- a/engines/pegasus/neighborhood/wsc/wsc.cpp
+++ b/engines/pegasus/neighborhood/wsc/wsc.cpp
@@ -542,7 +542,7 @@ public:
 	PryDoorMessage() : AIPlayMessageAction("Images/AI/WSC/XW59SD3", false) {}
 
 protected:
-	virtual void performAIAction(AIRule *);
+	void performAIAction(AIRule *) override;
 };
 
 void PryDoorMessage::performAIAction(AIRule *rule) {
diff --git a/engines/pegasus/neighborhood/wsc/wsc.h b/engines/pegasus/neighborhood/wsc/wsc.h
index 76cceee..239da28 100644
--- a/engines/pegasus/neighborhood/wsc/wsc.h
+++ b/engines/pegasus/neighborhood/wsc/wsc.h
@@ -42,26 +42,26 @@ static const RoomID kWSC62 = 62;
 class WSC : public Neighborhood {
 public:
 	WSC(InputHandler *, PegasusEngine *);
-	virtual ~WSC() {}
+	~WSC() override {}
 
-	void flushGameState();
+	void flushGameState() override;
 
-	virtual uint16 getDateResID() const;
+	uint16 getDateResID() const override;
 
-	bool okayToJump();
+	bool okayToJump() override;
 
-	void checkContinuePoint(const RoomID, const DirectionConstant);
+	void checkContinuePoint(const RoomID, const DirectionConstant) override;
 
 	bool inSynthesizerGame();
 
-	bool canSolve();
-	void doSolve();
+	bool canSolve() override;
+	void doSolve() override;
 
-	virtual void prepareForAIHint(const Common::String &);
-	virtual void cleanUpAfterAIHint(const Common::String &);
+	void prepareForAIHint(const Common::String &) override;
+	void cleanUpAfterAIHint(const Common::String &) override;
 
-	void init();
-	void start();
+	void init() override;
+	void start() override;
 
 protected:
 	enum {
@@ -104,52 +104,52 @@ protected:
 		kNumWSCPrivateFlags
 	};
 
-	void arriveAt(const RoomID, const DirectionConstant);
-	void turnTo(const DirectionConstant);
-	void receiveNotification(Notification *, const NotificationFlags);
-	void dropItemIntoRoom(Item *, Hotspot *);
-	void clickInHotspot(const Input &, const Hotspot *);
-	TimeValue getViewTime(const RoomID, const DirectionConstant);
-	void getZoomEntry(const HotSpotID, ZoomTable::Entry &);
-	CanMoveForwardReason canMoveForward(ExitTable::Entry &entry);
-	void cantMoveThatWay(CanMoveForwardReason reason);
-	CanTurnReason canTurn(TurnDirection turn, DirectionConstant &nextDir);
-	void zoomTo(const Hotspot *hotspot);
-	void activateOneHotspot(HotspotInfoTable::Entry &, Hotspot *);
+	void arriveAt(const RoomID, const DirectionConstant) override;
+	void turnTo(const DirectionConstant) override;
+	void receiveNotification(Notification *, const NotificationFlags) override;
+	void dropItemIntoRoom(Item *, Hotspot *) override;
+	void clickInHotspot(const Input &, const Hotspot *) override;
+	TimeValue getViewTime(const RoomID, const DirectionConstant) override;
+	void getZoomEntry(const HotSpotID, ZoomTable::Entry &) override;
+	CanMoveForwardReason canMoveForward(ExitTable::Entry &entry) override;
+	void cantMoveThatWay(CanMoveForwardReason reason) override;
+	CanTurnReason canTurn(TurnDirection turn, DirectionConstant &nextDir) override;
+	void zoomTo(const Hotspot *hotspot) override;
+	void activateOneHotspot(HotspotInfoTable::Entry &, Hotspot *) override;
 	void setUpMoleculeGame();
 	void nextMoleculeGameLevel();
 	void startMoleculeGameLevel();
 	void moleculeGameClick(const HotSpotID);
-	void loadAmbientLoops();
-	CanOpenDoorReason canOpenDoor(DoorTable::Entry &);
-	void cantOpenDoor(CanOpenDoorReason);
-	void pickedUpItem(Item *);
-	void doorOpened();
-	void startExtraSequence(const ExtraID, const NotificationFlags, const InputBits);
-	void getExtraEntry(const uint32, ExtraTable::Entry &);
-	void takeItemFromRoom(Item *item);
+	void loadAmbientLoops() override;
+	CanOpenDoorReason canOpenDoor(DoorTable::Entry &) override;
+	void cantOpenDoor(CanOpenDoorReason) override;
+	void pickedUpItem(Item *) override;
+	void doorOpened() override;
+	void startExtraSequence(const ExtraID, const NotificationFlags, const InputBits) override;
+	void getExtraEntry(const uint32, ExtraTable::Entry &) override;
+	void takeItemFromRoom(Item *item) override;
 	void checkPeopleCrossing();
-	void turnLeft();
-	void turnRight();
-	void moveForward();
-	Hotspot *getItemScreenSpot(Item *, DisplayElement *);
-	int16 getStaticCompassAngle(const RoomID, const DirectionConstant);
-	void getExitCompassMove(const ExitTable::Entry &exitEntry, FaderMoveSpec &compassMove);
-	void getExtraCompassMove(const ExtraTable::Entry &entry, FaderMoveSpec &compassMove);
-	void bumpIntoWall();
-	void activateHotspots();
-	void setUpAIRules();
-	Common::String getBriefingMovie();
-	Common::String getEnvScanMovie();
-	uint getNumHints();
-	Common::String getHintMovie(uint);
-	void closeDoorOffScreen(const RoomID, const DirectionConstant);
+	void turnLeft() override;
+	void turnRight() override;
+	void moveForward() override;
+	Hotspot *getItemScreenSpot(Item *, DisplayElement *) override;
+	int16 getStaticCompassAngle(const RoomID, const DirectionConstant) override;
+	void getExitCompassMove(const ExitTable::Entry &exitEntry, FaderMoveSpec &compassMove) override;
+	void getExtraCompassMove(const ExtraTable::Entry &entry, FaderMoveSpec &compassMove) override;
+	void bumpIntoWall() override;
+	void activateHotspots() override;
+	void setUpAIRules() override;
+	Common::String getBriefingMovie() override;
+	Common::String getEnvScanMovie() override;
+	uint getNumHints() override;
+	Common::String getHintMovie(uint) override;
+	void closeDoorOffScreen(const RoomID, const DirectionConstant) override;
 	void setUpPoison();
-	void findSpotEntry(const RoomID, const DirectionConstant, SpotFlags, SpotTable::Entry &);
-	void timerExpired(const uint32);
+	void findSpotEntry(const RoomID, const DirectionConstant, SpotFlags, SpotTable::Entry &) override;
+	void timerExpired(const uint32) override;
 
-	Common::String getSoundSpotsName();
-	Common::String getNavMovieName();
+	Common::String getSoundSpotsName() override;
+	Common::String getNavMovieName() override;
 
 	FlagsArray<byte, kNumWSCPrivateFlags> _privateFlags;
 	const Hotspot *_cachedZoomSpot;
diff --git a/engines/pegasus/notification.h b/engines/pegasus/notification.h
index 7a58709..8f754c0 100644
--- a/engines/pegasus/notification.h
+++ b/engines/pegasus/notification.h
@@ -106,7 +106,7 @@ friend class Notification;
 
 public:
 	NotificationManager();
-	virtual ~NotificationManager();
+	~NotificationManager() override;
 
 	void checkNotifications();
 
diff --git a/engines/pegasus/pegasus.h b/engines/pegasus/pegasus.h
index dd0f112..d80749a 100644
--- a/engines/pegasus/pegasus.h
+++ b/engines/pegasus/pegasus.h
@@ -73,7 +73,7 @@ friend class InputHandler;
 
 public:
 	PegasusEngine(OSystem *syst, const PegasusGameDescription *gamedesc);
-	virtual ~PegasusEngine();
+	~PegasusEngine() override;
 
 	// Engine stuff
 	const PegasusGameDescription *_gameDescription;
@@ -208,11 +208,11 @@ protected:
 	void pauseEngineIntern(bool pause) override;
 
 	Notification _shellNotification;
-	virtual void receiveNotification(Notification *notification, const NotificationFlags flags) override;
+	void receiveNotification(Notification *notification, const NotificationFlags flags) override;
 
 	void handleInput(const Input &input, const Hotspot *cursorSpot) override;
-	virtual bool isClickInput(const Input &, const Hotspot *) override;
-	virtual InputBits getClickFilter() override;
+	bool isClickInput(const Input &, const Hotspot *) override;
+	InputBits getClickFilter() override;
 
 	void clickInHotspot(const Input &, const Hotspot *) override;
 	void activateHotspots(void) override;
diff --git a/engines/pegasus/sound.h b/engines/pegasus/sound.h
index dd8051b..138a00b 100644
--- a/engines/pegasus/sound.h
+++ b/engines/pegasus/sound.h
@@ -92,12 +92,12 @@ protected:
 class SoundTimeBase : public Sound, public TimeBase {
 public:
 	SoundTimeBase();
-	~SoundTimeBase() {}
+	~SoundTimeBase() override {}
 
 	void playSoundSegment(uint32 start, uint32 end);
 
 protected:
-	void updateTime();
+	void updateTime() override;
 
 private:
 	bool _setToStart;
diff --git a/engines/pegasus/surface.h b/engines/pegasus/surface.h
index 2787531..4c7a3e5 100644
--- a/engines/pegasus/surface.h
+++ b/engines/pegasus/surface.h
@@ -93,7 +93,7 @@ private:
 class PixelImage : public Surface {
 public:
 	PixelImage();
-	virtual ~PixelImage() {}
+	~PixelImage() override {}
 
 	void drawImage(const Common::Rect &, const Common::Rect &);
 
@@ -106,7 +106,7 @@ protected:
 class Frame : public PixelImage {
 public:
 	Frame() {}
-	virtual ~Frame() {}
+	~Frame() override {}
 
 	virtual void initFromPICTFile(const Common::String &fileName, bool transparent = false);
 	virtual void initFromPICTResource(Common::MacResManager *resFork, uint16 id, bool transparent = false);
@@ -117,7 +117,7 @@ class SpriteFrame : public Frame {
 friend class Sprite;
 public:
 	SpriteFrame() { _referenceCount = 0; }
-	virtual ~SpriteFrame() {}
+	~SpriteFrame() override {}
 
 protected:
 	uint32 _referenceCount;
@@ -126,13 +126,13 @@ protected:
 class Picture : public DisplayElement, public Frame {
 public:
 	Picture(const DisplayElementID id) : DisplayElement(id) {}
-	virtual ~Picture() {}
+	~Picture() override {}
 
-	virtual void initFromPICTFile(const Common::String &fileName, bool transparent = false);
-	virtual void initFromPICTResource(Common::MacResManager *resFork, uint16 id, bool transparent = false);
-	virtual void initFromMovieFrame(Video::VideoDecoder *, TimeValue, bool transparent = false);
+	void initFromPICTFile(const Common::String &fileName, bool transparent = false) override;
+	void initFromPICTResource(Common::MacResManager *resFork, uint16 id, bool transparent = false) override;
+	void initFromMovieFrame(Video::VideoDecoder *, TimeValue, bool transparent = false) override;
 
-	virtual void draw(const Common::Rect &);
+	void draw(const Common::Rect &) override;
 };
 
 } // End of namespace Pegasus
diff --git a/engines/pegasus/timers.h b/engines/pegasus/timers.h
index 972736c..b0b7c36 100644
--- a/engines/pegasus/timers.h
+++ b/engines/pegasus/timers.h
@@ -177,12 +177,12 @@ private:
 class IdlerTimeBase : public Idler, public TimeBase {
 public:
 	IdlerTimeBase();
-	virtual ~IdlerTimeBase() { stopIdling(); }
+	~IdlerTimeBase() override { stopIdling(); }
 
 	TimeValue getLastTime() const { return _lastTime; }
 
 protected:
-	virtual void useIdleTime();
+	void useIdleTime() override;
 	virtual void timeChanged(const TimeValue) {}
 
 	TimeValue _lastTime;
@@ -192,7 +192,7 @@ protected:
 class NotificationCallBack : public TimeBaseCallBack {
 public:
 	NotificationCallBack();
-	virtual ~NotificationCallBack() {}
+	~NotificationCallBack() override {}
 
 	void setNotification(Notification *notifier) { _notifier = notifier; }
 
@@ -200,7 +200,7 @@ public:
 	NotificationFlags getCallBackFlag() const { return _callBackFlag; }
 
 protected:
-	void callBack();
+	void callBack() override;
 
 	Notification *_notifier;
 	NotificationFlags _callBackFlag;
@@ -214,7 +214,7 @@ public:
 class Fuse : private NotificationReceiver {
 public:
 	Fuse();
-	virtual ~Fuse() {}
+	~Fuse() override {}
 
 	void primeFuse(const TimeValue, const TimeScale = 1); // An appropriately named function :P
 	void lightFuse();
@@ -229,7 +229,7 @@ public:
 	bool isFusePaused() { return _fuseTimer.isPaused(); }
 
 protected:
-	virtual void receiveNotification(Notification *, const NotificationFlags);
+	void receiveNotification(Notification *, const NotificationFlags) override;
 	virtual void invokeAction() {}
 
 	TimeBase _fuseTimer;
@@ -240,11 +240,11 @@ protected:
 class FuseFunction : public Fuse {
 public:
 	FuseFunction() : _functor(0) {}
-	virtual ~FuseFunction() { delete _functor; }
+	~FuseFunction() override { delete _functor; }
 
 	void setFunctor(Common::Functor0<void> *functor) { delete _functor; _functor = functor; }
 protected:
-	virtual void invokeAction() { if (_functor && _functor->isValid()) (*_functor)(); }
+	void invokeAction() override { if (_functor && _functor->isValid()) (*_functor)(); }
 
 	Common::Functor0<void> *_functor;
 };
diff --git a/engines/pegasus/transition.h b/engines/pegasus/transition.h
index f8cdb3e..1c8c1c6 100644
--- a/engines/pegasus/transition.h
+++ b/engines/pegasus/transition.h
@@ -37,12 +37,12 @@ namespace Pegasus {
 class ScreenFader : public Fader {
 public:
 	ScreenFader();
-	virtual ~ScreenFader();
+	~ScreenFader() override;
 
 	void doFadeOutSync(const TimeValue = kOneSecondPerThirtyTicks, const TimeScale = kThirtyTicksPerSecond, bool isBlack = true);
 	void doFadeInSync(const TimeValue = kHalfSecondPerThirtyTicks, const TimeScale = kThirtyTicksPerSecond, bool isBlack = true);
 
-	void setFaderValue(const int32);
+	void setFaderValue(const int32) override;
 
 private:
 	bool _isBlack;
@@ -61,9 +61,9 @@ static const int kTransitionRange = kTransitionTop - kTransitionBottom;
 class Transition : public FaderAnimation {
 public:
 	Transition(const DisplayElementID id);
-	virtual ~Transition() {}
+	~Transition() override {}
 
-	virtual void setBounds(const Common::Rect &);
+	void setBounds(const Common::Rect &) override;
 
 	virtual void setInAndOutElements(DisplayElement *, DisplayElement *);
 	DisplayElement *getInElement() { return _inPicture; }
@@ -79,10 +79,10 @@ protected:
 class Slide : public Transition {
 public:
 	Slide(const DisplayElementID id) : Transition(id) {}
-	virtual ~Slide() {}
+	~Slide() override {}
 
 	virtual void setSlideDirection(SlideDirection dir) { _direction = dir; }
-	virtual void draw(const Common::Rect &);
+	void draw(const Common::Rect &) override;
 
 	virtual void setDirection(const SlideDirection dir) { _direction = dir; }
 
@@ -97,10 +97,10 @@ protected:
 class Push : public Slide {
 public:
 	Push(const DisplayElementID id) : Slide(id) {}
-	virtual ~Push() {}
+	~Push() override {}
 
 protected:
-	virtual void adjustSlideRects(Common::Rect &, Common::Rect &);
+	void adjustSlideRects(Common::Rect &, Common::Rect &) override;
 };
 
 } // End of namespace Pegasus


Commit: 3c625d3b1c01751ae7ed8352dea670af84f203e7
    https://github.com/scummvm/scummvm/commit/3c625d3b1c01751ae7ed8352dea670af84f203e7
Author: Bastien Bouclet (bastien.bouclet at gmail.com)
Date: 2020-02-09T12:43:16+01:00

Commit Message:
PINK: Add override keywords

Changed paths:
    engines/pink/cel_decoder.h
    engines/pink/console.h
    engines/pink/detection.cpp
    engines/pink/file.h
    engines/pink/objects/actions/action.h
    engines/pink/objects/actors/actor.h
    engines/pink/objects/actors/lead_actor.h
    engines/pink/objects/actors/supporting_actor.h
    engines/pink/objects/condition.h
    engines/pink/objects/handlers/handler.h
    engines/pink/objects/handlers/handler_mgr.h
    engines/pink/objects/handlers/handler_timer.h
    engines/pink/objects/inventory.h
    engines/pink/objects/module.h
    engines/pink/objects/object.h
    engines/pink/objects/pages/game_page.h
    engines/pink/objects/pages/page.h
    engines/pink/objects/sequences/sequence.h
    engines/pink/objects/sequences/sequencer.h
    engines/pink/objects/side_effect.h
    engines/pink/objects/walk/walk_location.h
    engines/pink/objects/walk/walk_mgr.h
    engines/pink/pink.h
    engines/pink/utils.h


diff --git a/engines/pink/cel_decoder.h b/engines/pink/cel_decoder.h
index 2c89790..7a606fe 100644
--- a/engines/pink/cel_decoder.h
+++ b/engines/pink/cel_decoder.h
@@ -29,7 +29,7 @@ namespace Pink {
 
 class CelDecoder : public Video::FlicDecoder {
 public:
-	virtual bool loadStream(Common::SeekableReadStream *stream);
+	bool loadStream(Common::SeekableReadStream *stream) override;
 
 	uint16 getTransparentColourIndex();
 
@@ -43,7 +43,7 @@ protected:
 	class CelVideoTrack : public FlicVideoTrack {
 	public:
 		CelVideoTrack(Common::SeekableReadStream *stream, uint16 frameCount, uint16 width, uint16 height, bool skipHeader = false);
-		virtual void readHeader() override;
+		void readHeader() override;
 
 		uint16 getTransparentColourIndex();
 
diff --git a/engines/pink/console.h b/engines/pink/console.h
index 6b9b335..231f5f4 100644
--- a/engines/pink/console.h
+++ b/engines/pink/console.h
@@ -33,7 +33,7 @@ class Console : public GUI::Debugger {
 public:
 	Console(PinkEngine *vm);
 
-	virtual ~Console(void) {}
+	~Console(void) override {}
 
 private:
 	bool Cmd_ListModules(int argc, const char **argv);
diff --git a/engines/pink/detection.cpp b/engines/pink/detection.cpp
index 08a78d8..3e6a963 100644
--- a/engines/pink/detection.cpp
+++ b/engines/pink/detection.cpp
@@ -56,24 +56,24 @@ public:
 		_directoryGlobs = directoryGlobs;
 	}
 
-	virtual const char *getEngineId() const override {
+	const char *getEngineId() const override {
 		return "pink";
 	}
 
-	virtual const char *getName() const override {
+	const char *getName() const override {
 		return "Pink Panther";
 	}
 
-	virtual const char *getOriginalCopyright() const override {
+	const char *getOriginalCopyright() const override {
 		return "Pink Panther (C) Wanderlust Interactive";
 	}
 
-	virtual bool hasFeature(MetaEngineFeature f) const override;
-	virtual int getMaximumSaveSlot() const override { return 99; }
-	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 bool createInstance(OSystem *syst, Engine **engine, const ADGameDescription *desc) const override;
+	bool hasFeature(MetaEngineFeature f) const override;
+	int getMaximumSaveSlot() const override { return 99; }
+	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;
+	bool createInstance(OSystem *syst, Engine **engine, const ADGameDescription *desc) const override;
 };
 
 bool PinkMetaEngine::hasFeature(MetaEngineFeature f) const {
diff --git a/engines/pink/file.h b/engines/pink/file.h
index 92abb60..469bb01 100644
--- a/engines/pink/file.h
+++ b/engines/pink/file.h
@@ -52,7 +52,7 @@ class Object;
 class OrbFile : public Common::File {
 public:
 	OrbFile();
-	~OrbFile();
+	~OrbFile() override;
 	bool open(const Common::String &name) override;
 
 public:
@@ -77,7 +77,7 @@ private:
 class BroFile : public Common::File {
 public:
 	BroFile() : _timestamp(0) {}
-	bool open(const Common::String &name);
+	bool open(const Common::String &name) override;
 	uint32 getTimestamp() { return _timestamp; }
 
 private:
diff --git a/engines/pink/objects/actions/action.h b/engines/pink/objects/actions/action.h
index e3b4416..586931a 100644
--- a/engines/pink/objects/actions/action.h
+++ b/engines/pink/objects/actions/action.h
@@ -33,7 +33,7 @@ class Director;
 
 class Action : public NamedObject {
 public:
-	virtual void deserialize(Archive &archive) override;
+	void deserialize(Archive &archive) override;
 
 	virtual bool initPalette(Director *director);
 
diff --git a/engines/pink/objects/actors/actor.h b/engines/pink/objects/actors/actor.h
index 294beb9..0fe3834 100644
--- a/engines/pink/objects/actors/actor.h
+++ b/engines/pink/objects/actors/actor.h
@@ -40,7 +40,7 @@ class InventoryMgr;
 class Actor : public NamedObject {
 public:
 	Actor();
-	~Actor();
+	~Actor() override;
 
 	void deserialize(Archive &archive) override;
 
diff --git a/engines/pink/objects/actors/lead_actor.h b/engines/pink/objects/actors/lead_actor.h
index f561d49..8fa584f 100644
--- a/engines/pink/objects/actors/lead_actor.h
+++ b/engines/pink/objects/actors/lead_actor.h
@@ -60,7 +60,7 @@ public:
 	void loadState(Archive &archive);
 	void saveState(Archive &archive);
 
-	virtual void init(bool paused) override;
+	void init(bool paused) override;
 
 	void start(bool isHandler);
 
@@ -78,7 +78,7 @@ public:
 	void onMouseOverWithItem(const Common::Point point, const Common::String &itemName, Pink::CursorMgr *cursorMgr) override;
 	void onMouseOver(const Common::Point point, CursorMgr *mgr) override;
 
-	virtual void onLeftClickMessage() override;
+	void onLeftClickMessage() override;
 	virtual void onVariableSet() {}
 	void onInventoryClosed(bool isItemClicked);
 	void onWalkEnd(const Common::String &stopName);
diff --git a/engines/pink/objects/actors/supporting_actor.h b/engines/pink/objects/actors/supporting_actor.h
index a037787..33aeeb3 100644
--- a/engines/pink/objects/actors/supporting_actor.h
+++ b/engines/pink/objects/actors/supporting_actor.h
@@ -33,9 +33,9 @@ class InventoryMgr;
 
 class SupportingActor : public Actor {
 public:
-	virtual void deserialize(Archive &archive) override;
+	void deserialize(Archive &archive) override;
 
-	virtual void toConsole() override;
+	void toConsole() override;
 
 	bool isSupporting() override { return true; }
 
diff --git a/engines/pink/objects/condition.h b/engines/pink/objects/condition.h
index ff5a6fb..720cf05 100644
--- a/engines/pink/objects/condition.h
+++ b/engines/pink/objects/condition.h
@@ -31,15 +31,15 @@ class Actor;
 
 class Condition : public Object {
 public:
-	virtual void deserialize(Archive &archive) = 0;
+	void deserialize(Archive &archive) override = 0;
 	virtual bool evaluate(Actor *actor) = 0;
 };
 
 class ConditionVariable : public Condition {
 public:
 
-	virtual void deserialize(Archive &archive);
-	virtual bool evaluate(Actor *actor) = 0;
+	void deserialize(Archive &archive) override;
+	bool evaluate(Actor *actor) override = 0;
 
 protected:
 	Common::String _name;
@@ -48,8 +48,8 @@ protected:
 
 class ConditionGameVariable : public ConditionVariable {
 public:
-	virtual void toConsole();
-	virtual bool evaluate(Actor *actor);
+	void toConsole() override;
+	bool evaluate(Actor *actor) override;
 };
 
 /*
@@ -61,33 +61,33 @@ class ConditionNotGameVariable : public ConditionGameVariable {
 
 class ConditionModuleVariable : public ConditionVariable {
 public:
-	virtual void toConsole();
-	virtual bool evaluate(Actor *actor);
+	void toConsole() override;
+	bool evaluate(Actor *actor) override;
 };
 
 class ConditionNotModuleVariable : public ConditionModuleVariable {
 public:
-	virtual void toConsole();
-	virtual bool evaluate(Actor *actor);
+	void toConsole() override;
+	bool evaluate(Actor *actor) override;
 };
 
 class ConditionPageVariable : public ConditionVariable {
 public:
-	virtual void toConsole();
-	virtual bool evaluate(Actor *actor);
+	void toConsole() override;
+	bool evaluate(Actor *actor) override;
 };
 
 class ConditionNotPageVariable : public ConditionPageVariable {
 public:
-	virtual void toConsole();
-	virtual bool evaluate(Actor *actor);
+	void toConsole() override;
+	bool evaluate(Actor *actor) override;
 };
 
 class ConditionInventoryItemOwner : public Condition {
 public:
-	virtual void toConsole();
-	virtual void deserialize(Archive &archive);
-	virtual bool evaluate(Actor *actor);
+	void toConsole() override;
+	void deserialize(Archive &archive) override;
+	bool evaluate(Actor *actor) override;
 
 protected:
 	Common::String _item;
@@ -96,8 +96,8 @@ protected:
 
 class ConditionNotInventoryItemOwner : public ConditionInventoryItemOwner {
 public:
-	virtual void toConsole();
-	virtual bool evaluate(Actor *actor);
+	void toConsole() override;
+	bool evaluate(Actor *actor) override;
 };
 
 } // End of namespace Pink
diff --git a/engines/pink/objects/handlers/handler.h b/engines/pink/objects/handlers/handler.h
index 3d795f8..3ccf6ea 100644
--- a/engines/pink/objects/handlers/handler.h
+++ b/engines/pink/objects/handlers/handler.h
@@ -36,8 +36,8 @@ class Actor;
 
 class Handler : public Object {
 public:
-	~Handler();
-	virtual void deserialize(Archive &archive);
+	~Handler() override;
+	void deserialize(Archive &archive) override;
 	virtual void handle(Actor *actor);
 	bool isSuitable(Actor *actor);
 
@@ -52,8 +52,8 @@ class Sequence;
 
 class HandlerSequences : public Handler {
 public:
-	virtual void deserialize(Archive &archive);
-	virtual void handle(Actor *actor);
+	void deserialize(Archive &archive) override;
+	void handle(Actor *actor) override;
 
 protected:
 	virtual void execute(Sequence *sequence) = 0;
@@ -63,30 +63,30 @@ protected:
 
 class HandlerStartPage : public HandlerSequences {
 public:
-	virtual void toConsole();
+	void toConsole() override;
 
 private:
-	virtual void execute(Sequence *sequence);
+	void execute(Sequence *sequence) override;
 };
 
 class HandlerLeftClick : public HandlerSequences {
 public:
-	virtual void toConsole();
+	void toConsole() override;
 
 private:
-	virtual void execute(Sequence *sequence) {}
+	void execute(Sequence *sequence) override {}
 };
 
 class HandlerUseClick : public HandlerSequences {
 public:
-	virtual void deserialize(Archive &archive);
-	virtual void toConsole();
+	void deserialize(Archive &archive) override;
+	void toConsole() override;
 
 	const Common::String &getInventoryItem() const { return _inventoryItem; }
 	const Common::String &getRecepient() const { return _recepient; }
 
 private:
-	virtual void execute(Sequence *sequence) {};
+	void execute(Sequence *sequence) override {};
 
 	Common::String _inventoryItem;
 	Common::String _recepient;
diff --git a/engines/pink/objects/handlers/handler_mgr.h b/engines/pink/objects/handlers/handler_mgr.h
index e85fc09..c51c973 100644
--- a/engines/pink/objects/handlers/handler_mgr.h
+++ b/engines/pink/objects/handlers/handler_mgr.h
@@ -39,10 +39,10 @@ class Actor;
 
 class HandlerMgr : public Object {
 public:
-	virtual ~HandlerMgr();
-	virtual void deserialize(Archive &archive);
+	~HandlerMgr() override;
+	void deserialize(Archive &archive) override;
 
-	virtual void toConsole();
+	void toConsole() override;
 
 	bool isLeftClickHandler(Actor *actor);
 	bool isUseClickHandler(Actor *actor, const Common::String &itemName);
diff --git a/engines/pink/objects/handlers/handler_timer.h b/engines/pink/objects/handlers/handler_timer.h
index 9ea00b1..28ac8d4 100644
--- a/engines/pink/objects/handlers/handler_timer.h
+++ b/engines/pink/objects/handlers/handler_timer.h
@@ -39,9 +39,9 @@ class HandlerTimer : public Handler {
 //in Peril this is HandlerTimer
 class HandlerTimerActions : public Handler {
 public:
-	virtual void toConsole();
-	virtual void deserialize(Archive &archive);
-	virtual void handle(Actor *actor);
+	void toConsole() override;
+	void deserialize(Archive &archive) override;
+	void handle(Actor *actor) override;
 
 private:
 	StringArray _actions;
@@ -50,12 +50,12 @@ private:
 //appear in HokusPokus
 class HandlerTimerSequences : public HandlerSequences { //originally it was inherited from HandlerTimer
 public:
-	virtual void toConsole();
+	void toConsole() override;
 
-	virtual void handle(Actor *actor);
+	void handle(Actor *actor) override;
 
 protected:
-	virtual void execute(Sequence *sequence) {};
+	void execute(Sequence *sequence) override {};
 };
 
 } // End of namespace Pink
diff --git a/engines/pink/objects/inventory.h b/engines/pink/objects/inventory.h
index a92a837..8a56c01 100644
--- a/engines/pink/objects/inventory.h
+++ b/engines/pink/objects/inventory.h
@@ -31,9 +31,9 @@ namespace Pink {
 
 class InventoryItem : public NamedObject {
 public:
-	virtual void deserialize(Archive &archive);
+	void deserialize(Archive &archive) override;
 
-	virtual void toConsole();
+	void toConsole() override;
 
 	const Common::String &getCurrentOwner() { return _currentOwner; }
 
@@ -49,9 +49,9 @@ class Actor;
 class InventoryMgr : public Object {
 public:
 	InventoryMgr();
-	virtual ~InventoryMgr();
-	virtual void deserialize(Archive &archive);
-	virtual void toConsole();
+	~InventoryMgr() override;
+	void deserialize(Archive &archive) override;
+	void toConsole() override;
 
 	void loadState(Archive &archive);
 	void saveState(Archive &archive);
diff --git a/engines/pink/objects/module.h b/engines/pink/objects/module.h
index 7d3c15b..da15b69 100644
--- a/engines/pink/objects/module.h
+++ b/engines/pink/objects/module.h
@@ -44,12 +44,12 @@ class GamePage;
 class Module : public NamedObject {
 public:
 	Module(PinkEngine *game, const Common::String &name);
-	~Module();
+	~Module() override;
 
 	void loadState(Archive &archive);
 	void saveState(Archive &archive);
 
-	void load(Archive &archive);
+	void load(Archive &archive) override;
 	void init(bool isLoadingSave, const Common::String &pageName);
 	void changePage(const Common::String &pageName);
 
diff --git a/engines/pink/objects/object.h b/engines/pink/objects/object.h
index 7e90c05..c67341d 100644
--- a/engines/pink/objects/object.h
+++ b/engines/pink/objects/object.h
@@ -44,7 +44,7 @@ public:
 	NamedObject(const Common::String &name)
 			: _name(name) {}
 
-	void deserialize(Archive &archive) { _name = archive.readString(); }
+	void deserialize(Archive &archive) override { _name = archive.readString(); }
 
 	const Common::String &getName() const { return _name; }
 
diff --git a/engines/pink/objects/pages/game_page.h b/engines/pink/objects/pages/game_page.h
index 6edba95..da78e8c 100644
--- a/engines/pink/objects/pages/game_page.h
+++ b/engines/pink/objects/pages/game_page.h
@@ -35,26 +35,26 @@ class HandlerStartPage;
 class GamePage : public Page {
 public:
 	GamePage();
-	~GamePage();
-	virtual void toConsole();
-	virtual void deserialize(Archive &archive);
+	~GamePage() override;
+	void toConsole() override;
+	void deserialize(Archive &archive) override;
 
 	void loadState(Archive &archive);
 	void saveState(Archive &archive);
 
-	virtual void load(Archive &archive);
+	void load(Archive &archive) override;
 	void unload();
 	void loadManagers();
 	void init(bool isLoadingSave);
 
-	Sequencer *getSequencer() { return _sequencer; }
-	WalkMgr *getWalkMgr() { return _walkMgr; }
-	Module *getModule() { return _module; }
+	Sequencer *getSequencer() override { return _sequencer; }
+	WalkMgr *getWalkMgr() override { return _walkMgr; }
+	Module *getModule() override { return _module; }
 
-	bool checkValueOfVariable(const Common::String &variable, const Common::String &value);
-	void setVariable(Common::String &variable, Common::String &value);
+	bool checkValueOfVariable(const Common::String &variable, const Common::String &value) override;
+	void setVariable(Common::String &variable, Common::String &value) override;
 
-	virtual void clear();
+	void clear() override;
 
 	friend class Console;
 
diff --git a/engines/pink/objects/pages/page.h b/engines/pink/objects/pages/page.h
index 4fb8772..f8cfa53 100644
--- a/engines/pink/objects/pages/page.h
+++ b/engines/pink/objects/pages/page.h
@@ -36,10 +36,10 @@ class Sequencer;
 
 class Page : public NamedObject {
 public:
-	~Page();
-	virtual void toConsole();
+	~Page() override;
+	void toConsole() override;
 
-	void load(Archive &archive);
+	void load(Archive &archive) override;
 	void init();
 	void initPalette();
 
diff --git a/engines/pink/objects/sequences/sequence.h b/engines/pink/objects/sequences/sequence.h
index b07e750..48efb01 100644
--- a/engines/pink/objects/sequences/sequence.h
+++ b/engines/pink/objects/sequences/sequence.h
@@ -35,7 +35,7 @@ class SequenceContext;
 class Sequence : public NamedObject {
 public:
 	Sequence();
-	~Sequence();
+	~Sequence() override;
 
 	void deserialize(Archive &archive) override ;
 	void toConsole() override;
diff --git a/engines/pink/objects/sequences/sequencer.h b/engines/pink/objects/sequences/sequencer.h
index 1aec5f5..31a1276 100644
--- a/engines/pink/objects/sequences/sequencer.h
+++ b/engines/pink/objects/sequences/sequencer.h
@@ -37,7 +37,7 @@ struct SequenceActorState;
 class Sequencer : public Object {
 public:
 	Sequencer(GamePage *page);
-	~Sequencer();
+	~Sequencer() override;
 
 	void toConsole() override;
 	void deserialize(Archive &archive) override;
diff --git a/engines/pink/objects/side_effect.h b/engines/pink/objects/side_effect.h
index 0b6957b..699228e 100644
--- a/engines/pink/objects/side_effect.h
+++ b/engines/pink/objects/side_effect.h
@@ -32,15 +32,15 @@ class Actor;
 
 class SideEffect : public Object {
 public:
-	virtual void deserialize(Archive &archive) = 0;
+	void deserialize(Archive &archive) override = 0;
 	virtual void execute(Actor *actor) = 0;
 };
 
 class SideEffectExit : public SideEffect {
 public:
-	virtual void deserialize(Archive &archive);
-	virtual void toConsole();
-	virtual void execute(Actor *actor);
+	void deserialize(Archive &archive) override;
+	void toConsole() override;
+	void execute(Actor *actor) override;
 
 private:
 	Common::String _nextModule;
@@ -49,9 +49,9 @@ private:
 
 class SideEffectLocation : public SideEffect {
 public:
-	virtual void deserialize(Archive &archive);
-	virtual void execute(Actor *actor);
-	virtual void toConsole();
+	void deserialize(Archive &archive) override;
+	void execute(Actor *actor) override;
+	void toConsole() override;
 
 private:
 	Common::String _location;
@@ -59,9 +59,9 @@ private:
 
 class SideEffectInventoryItemOwner : public SideEffect {
 public:
-	virtual void deserialize(Archive &archive);
-	virtual void execute(Actor *actor);
-	virtual void toConsole();
+	void deserialize(Archive &archive) override;
+	void execute(Actor *actor) override;
+	void toConsole() override;
 
 private:
 	Common::String _item;
@@ -70,8 +70,8 @@ private:
 
 class SideEffectVariable : public SideEffect {
 public:
-	virtual void deserialize(Archive &archive);
-	virtual void execute(Actor *actor) = 0;
+	void deserialize(Archive &archive) override;
+	void execute(Actor *actor) override = 0;
 
 protected:
 	Common::String _name;
@@ -80,27 +80,27 @@ protected:
 
 class SideEffectGameVariable : public SideEffectVariable {
 public:
-	virtual void toConsole();
-	virtual void execute(Actor *actor);
+	void toConsole() override;
+	void execute(Actor *actor) override;
 };
 
 class SideEffectModuleVariable : public SideEffectVariable {
 public:
-	virtual void toConsole();
-	virtual void execute(Actor *actor);
+	void toConsole() override;
+	void execute(Actor *actor) override;
 };
 
 class SideEffectPageVariable : public SideEffectVariable {
 public:
-	virtual void toConsole();
-	virtual void execute(Actor *actor);
+	void toConsole() override;
+	void execute(Actor *actor) override;
 };
 
 class SideEffectRandomPageVariable : public SideEffect {
 public:
-	virtual void deserialize(Archive &archive);
-	virtual void toConsole();
-	virtual void execute(Actor *actor);
+	void deserialize(Archive &archive) override;
+	void toConsole() override;
+	void execute(Actor *actor) override;
 
 private:
 	Common::String _name;
diff --git a/engines/pink/objects/walk/walk_location.h b/engines/pink/objects/walk/walk_location.h
index 9c02479..db0c5eb 100644
--- a/engines/pink/objects/walk/walk_location.h
+++ b/engines/pink/objects/walk/walk_location.h
@@ -28,7 +28,7 @@ namespace Pink {
 
 class WalkLocation : public NamedObject {
 public:
-	virtual void deserialize(Archive &archive) override;
+	void deserialize(Archive &archive) override;
 	void toConsole() override;
 	Common::StringArray &getNeigbors() { return _neighbors;}
 
diff --git a/engines/pink/objects/walk/walk_mgr.h b/engines/pink/objects/walk/walk_mgr.h
index 5fa6c0f..709d363 100644
--- a/engines/pink/objects/walk/walk_mgr.h
+++ b/engines/pink/objects/walk/walk_mgr.h
@@ -44,7 +44,7 @@ class WalkMgr : public Object {
 public:
 	WalkMgr();
 	~WalkMgr() override;
-	virtual void deserialize(Archive &archive) override;
+	void deserialize(Archive &archive) override;
 	void toConsole() override;
 
 	WalkLocation *findLocation(const Common::String &name);
diff --git a/engines/pink/pink.h b/engines/pink/pink.h
index 42e8f5e..3d69e39 100644
--- a/engines/pink/pink.h
+++ b/engines/pink/pink.h
@@ -90,13 +90,13 @@ enum {
 class PinkEngine : public Engine {
 public:
 	PinkEngine(OSystem *system, const ADGameDescription *desc);
-	~PinkEngine();
+	~PinkEngine() override;
 
 	Common::Error run() override;
 
 	bool hasFeature(EngineFeature f) const override;
 
-	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) override;
@@ -107,7 +107,7 @@ public:
 	friend class Console;
 
 protected:
-	virtual void pauseEngineIntern(bool pause) override;
+	void pauseEngineIntern(bool pause) override;
 
 public:
 	void load(Archive &archive);
diff --git a/engines/pink/utils.h b/engines/pink/utils.h
index 2cd8719..2d7f817 100644
--- a/engines/pink/utils.h
+++ b/engines/pink/utils.h
@@ -30,7 +30,7 @@ namespace Pink {
 template <typename T>
 class Array : public Common::Array<T>, public Object {
 public:
-	void deserialize(Archive &archive) {
+	void deserialize(Archive &archive) override {
 		uint size_ = archive.readWORD();
 		this->resize(size_);
 		for (uint i = 0; i < size_; ++i) {


Commit: f8632ec766782b78064fb05f9707a00832b9d874
    https://github.com/scummvm/scummvm/commit/f8632ec766782b78064fb05f9707a00832b9d874
Author: Bastien Bouclet (bastien.bouclet at gmail.com)
Date: 2020-02-09T12:43:16+01:00

Commit Message:
PLUMBERS: Add override keywords

Changed paths:
    engines/plumbers/console.h
    engines/plumbers/detection.cpp
    engines/plumbers/plumbers.h


diff --git a/engines/plumbers/console.h b/engines/plumbers/console.h
index 6434ab6..0e9a72b 100644
--- a/engines/plumbers/console.h
+++ b/engines/plumbers/console.h
@@ -32,7 +32,7 @@ public:
 	bool _allowSkip;
 
 	explicit Console();
-	virtual ~Console(void) {}
+	~Console(void) override {}
 
 	bool Cmd_allowSkip(int argc, const char** argv);
 };
diff --git a/engines/plumbers/detection.cpp b/engines/plumbers/detection.cpp
index 893eeba..5b97c3d 100644
--- a/engines/plumbers/detection.cpp
+++ b/engines/plumbers/detection.cpp
@@ -77,16 +77,16 @@ public:
 		return "plumbers";
 	}
 
-	virtual const char *getName() const override {
+	const char *getName() const override {
 		return "Plumbers Don't Wear Ties";
 	}
 
-	virtual const char *getOriginalCopyright() const override {
+	const char *getOriginalCopyright() const override {
 		return "Plumbers Don't Wear Ties (C) 1993-94 Kirin Entertainment";
 	}
 
-	virtual bool hasFeature(MetaEngineFeature f) const override;
-	virtual bool createInstance(OSystem *syst, Engine **engine, const ADGameDescription *desc) const override;
+	bool hasFeature(MetaEngineFeature f) const override;
+	bool createInstance(OSystem *syst, Engine **engine, const ADGameDescription *desc) const override;
 };
 
 bool PlumbersMetaEngine::hasFeature(MetaEngineFeature f) const {
diff --git a/engines/plumbers/plumbers.h b/engines/plumbers/plumbers.h
index 4473cff..0a38e93 100644
--- a/engines/plumbers/plumbers.h
+++ b/engines/plumbers/plumbers.h
@@ -49,9 +49,9 @@ enum PlumbersDebugChannels {
 class PlumbersGame : public Engine {
 public:
 	PlumbersGame(OSystem *syst, const ADGameDescription *gameDesc);
-	~PlumbersGame();
+	~PlumbersGame() override;
 
-	virtual Common::Error run();
+	Common::Error run() override;
 
 	// Detection related functions
 	const ADGameDescription *_gameDescription;


Commit: ac7daaf91497f712ad788dea4de82f4236c83cb3
    https://github.com/scummvm/scummvm/commit/ac7daaf91497f712ad788dea4de82f4236c83cb3
Author: Bastien Bouclet (bastien.bouclet at gmail.com)
Date: 2020-02-09T12:43:16+01:00

Commit Message:
PRINCE: Add override keywords

Changed paths:
    engines/prince/archive.h
    engines/prince/debugger.h
    engines/prince/detection.cpp
    engines/prince/font.h
    engines/prince/mhwanh.h
    engines/prince/music.h
    engines/prince/prince.h


diff --git a/engines/prince/archive.h b/engines/prince/archive.h
index 4b2ddfa..5b4c873 100644
--- a/engines/prince/archive.h
+++ b/engines/prince/archive.h
@@ -32,7 +32,7 @@ namespace Prince {
 class PtcArchive : public Common::Archive {
 public:
 	PtcArchive();
-	~PtcArchive();
+	~PtcArchive() override;
 
 	bool open(const Common::String &filename);
 	bool openTranslation(const Common::String &filename);
@@ -40,10 +40,10 @@ public:
 	bool isOpen() const { return _stream != 0; }
 
 	// Common::Archive API implementation
-	bool hasFile(const Common::String &name) const;
-	int listMembers(Common::ArchiveMemberList &list) const;
-	const Common::ArchiveMemberPtr getMember(const Common::String &name) const;
-	Common::SeekableReadStream *createReadStreamForMember(const Common::String &name) const;
+	bool hasFile(const Common::String &name) const override;
+	int listMembers(Common::ArchiveMemberList &list) const override;
+	const Common::ArchiveMemberPtr getMember(const Common::String &name) const override;
+	Common::SeekableReadStream *createReadStreamForMember(const Common::String &name) const override;
 
 private:
 	struct FileEntry {
diff --git a/engines/prince/debugger.h b/engines/prince/debugger.h
index 69047c6..e4b24b3 100644
--- a/engines/prince/debugger.h
+++ b/engines/prince/debugger.h
@@ -34,7 +34,7 @@ class InterpreterFlags;
 class Debugger : public GUI::Debugger {
 public:
 	Debugger(PrinceEngine *vm, InterpreterFlags *flags);
-	virtual ~Debugger() {}	// we need this for __SYMBIAN32__ archaic gcc/UIQ
+	~Debugger() override {}	// we need this for __SYMBIAN32__ archaic gcc/UIQ
 
 	uint8 _locationNr;
 	uint8 _cursorNr;
diff --git a/engines/prince/detection.cpp b/engines/prince/detection.cpp
index e4220f0..2332118 100644
--- a/engines/prince/detection.cpp
+++ b/engines/prince/detection.cpp
@@ -156,20 +156,20 @@ public:
 		return "prince";
 	}
 
-	virtual const char *getName() const override {
+	const char *getName() const override {
 		return "The Prince and the Coward";
 	}
 
-	virtual const char *getOriginalCopyright() const override {
+	const char *getOriginalCopyright() const override {
 		return "The Prince and the Coward (C) 1996-97 Metropolis";
 	}
 
-	virtual bool createInstance(OSystem *syst, Engine **engine, const ADGameDescription *desc) const override;
-	virtual bool hasFeature(MetaEngineFeature f) const override;
-	virtual int getMaximumSaveSlot() const override { return 99; }
-	virtual SaveStateList listSaves(const char *target) const override;
+	bool createInstance(OSystem *syst, Engine **engine, const ADGameDescription *desc) const override;
+	bool hasFeature(MetaEngineFeature f) const override;
+	int getMaximumSaveSlot() const override { return 99; }
+	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;
 };
 
 bool PrinceMetaEngine::hasFeature(MetaEngineFeature f) const {
diff --git a/engines/prince/font.h b/engines/prince/font.h
index b03849a..2140a73 100644
--- a/engines/prince/font.h
+++ b/engines/prince/font.h
@@ -33,19 +33,19 @@ namespace Prince {
 class Font : public Graphics::Font {
 public:
 	Font();
-	virtual ~Font();
+	~Font() override;
 
 	bool loadStream(Common::SeekableReadStream &stream);
 
-	virtual int getFontHeight() const override;
+	int getFontHeight() const override;
 
-	virtual int getMaxCharWidth() const override;
+	int getMaxCharWidth() const override;
 
-	virtual int getCharWidth(uint32 chr) const override;
+	int getCharWidth(uint32 chr) const override;
 
-	virtual void drawChar(Graphics::Surface *dst, uint32 chr, int x, int y, uint32 color) const override;
+	void drawChar(Graphics::Surface *dst, uint32 chr, int x, int y, uint32 color) const override;
 
-	virtual int getKerningOffset(uint32 left, uint32 right) const override { return -2; }
+	int getKerningOffset(uint32 left, uint32 right) const override { return -2; }
 
 private:
 	struct ChrData {
diff --git a/engines/prince/mhwanh.h b/engines/prince/mhwanh.h
index 6081f73..7399955 100644
--- a/engines/prince/mhwanh.h
+++ b/engines/prince/mhwanh.h
@@ -35,13 +35,13 @@ namespace Prince {
 class MhwanhDecoder : public Image::ImageDecoder {
 public:
 	MhwanhDecoder();
-	virtual ~MhwanhDecoder();
+	~MhwanhDecoder() override;
 
 	// ImageDecoder API
-	void destroy();
-	virtual bool loadStream(Common::SeekableReadStream &stream);
-	virtual Graphics::Surface *getSurface() const { return _surface; }
-	virtual const byte *getPalette() const { return _palette; }
+	void destroy() override;
+	bool loadStream(Common::SeekableReadStream &stream) override;
+	Graphics::Surface *getSurface() const override { return _surface; }
+	const byte *getPalette() const override { return _palette; }
 	uint16 getPaletteCount() const { return kPaletteColorCount; }
 	static const uint16 kPaletteColorCount = 256;
 
diff --git a/engines/prince/music.h b/engines/prince/music.h
index 061e10c..7dfaea5 100644
--- a/engines/prince/music.h
+++ b/engines/prince/music.h
@@ -44,13 +44,13 @@ private:
 	void sndMidiStop();
 public:
 	MusicPlayer(PrinceEngine *vm);
-	~MusicPlayer();
+	~MusicPlayer() override;
 
 	void loadMidi(const char *);
 	void killMidi();
 
-	virtual void send(uint32 b);
-	virtual void sendToChannel(byte channel, uint32 b);
+	void send(uint32 b) override;
+	void sendToChannel(byte channel, uint32 b) override;
 
 	static const char *_musTable[];
 	static const uint8 _musRoomTable[];
diff --git a/engines/prince/prince.h b/engines/prince/prince.h
index c313e42..51effe2 100644
--- a/engines/prince/prince.h
+++ b/engines/prince/prince.h
@@ -277,16 +277,16 @@ protected:
 
 public:
 	PrinceEngine(OSystem *syst, const PrinceGameDescription *gameDesc);
-	virtual ~PrinceEngine();
+	~PrinceEngine() override;
 
 	bool scummVMSaveLoadDialog(bool isSave);
 
-	virtual bool hasFeature(EngineFeature f) const override;
-	virtual void pauseEngineIntern(bool pause) override;
-	virtual bool canSaveGameStateCurrently() override;
-	virtual bool canLoadGameStateCurrently() override;
-	virtual Common::Error saveGameState(int slot, const Common::String &desc) override;
-	virtual Common::Error loadGameState(int slot) override;
+	bool hasFeature(EngineFeature f) const override;
+	void pauseEngineIntern(bool pause) override;
+	bool canSaveGameStateCurrently() override;
+	bool canLoadGameStateCurrently() override;
+	Common::Error saveGameState(int slot, const Common::String &desc) override;
+	Common::Error loadGameState(int slot) override;
 
 	void playVideo(Common::String videoFilename);
 
@@ -340,7 +340,7 @@ public:
 
 	void setVoice(uint16 slot, uint32 sampleSlot, uint16 flag);
 
-	virtual GUI::Debugger *getDebugger() override;
+	GUI::Debugger *getDebugger() override;
 
 	void changeCursor(uint16 curId);
 	void printAt(uint32 slot, uint8 color, char *s, uint16 x, uint16 y);


Commit: 3bfa411f9e417b8d3630500c914c6a02531434ed
    https://github.com/scummvm/scummvm/commit/3bfa411f9e417b8d3630500c914c6a02531434ed
Author: Bastien Bouclet (bastien.bouclet at gmail.com)
Date: 2020-02-09T12:43:16+01:00

Commit Message:
QUEEN: Add override keywords

Changed paths:
    engines/queen/command.cpp
    engines/queen/debug.h
    engines/queen/detection.cpp
    engines/queen/logic.h
    engines/queen/midiadlib.h
    engines/queen/music.h
    engines/queen/queen.h
    engines/queen/sound.cpp
    engines/queen/sound.h


diff --git a/engines/queen/command.cpp b/engines/queen/command.cpp
index 09e7462..48b3c58 100644
--- a/engines/queen/command.cpp
+++ b/engines/queen/command.cpp
@@ -84,14 +84,14 @@ public:
 
 	CmdTextHebrew(uint8 y, QueenEngine *vm) : CmdText(y, vm) {}
 
-	virtual void displayTemp(InkColor color, const char *name, bool outlined) {
+	void displayTemp(InkColor color, const char *name, bool outlined) override {
 		char temp[MAX_COMMAND_LEN];
 
 		snprintf(temp, MAX_COMMAND_LEN, "%s %s", name, _command);
 		display(color, temp, outlined);
 	}
 
-	virtual void addLinkWord(Verb v) {
+	void addLinkWord(Verb v) override {
 		char temp[MAX_COMMAND_LEN];
 
 		strcpy(temp, _command);
@@ -100,7 +100,7 @@ public:
 		strcat(_command, temp);
 	}
 
-	virtual void addObject(const char *objName) {
+	void addObject(const char *objName) override {
 		char temp[MAX_COMMAND_LEN];
 
 		strcpy(temp, _command);
@@ -115,7 +115,7 @@ public:
 
 	CmdTextGreek(uint8 y, QueenEngine *vm) : CmdText(y, vm) {}
 
-	virtual void displayTemp(InkColor color, const char *name, bool outlined) {
+	void displayTemp(InkColor color, const char *name, bool outlined) override {
 		char temp[MAX_COMMAND_LEN];
 		// don't show a space after the goto and give commands in the Greek version
 		if (_command[1] != (char)-34 && !(_command[1] == (char)-2 && strlen(_command) > 5))
@@ -125,7 +125,7 @@ public:
 		display(color, temp, outlined);
 	}
 
-	virtual void addObject(const char *objName) {
+	void addObject(const char *objName) override {
 		// don't show a space after the goto and give commands in the Greek version
 		if (_command[1] != (char)-34 && !(_command[1] == (char)-2 && strlen(_command) > 5))
 			strcat(_command, " ");
diff --git a/engines/queen/debug.h b/engines/queen/debug.h
index 19d77df..a2797f8 100644
--- a/engines/queen/debug.h
+++ b/engines/queen/debug.h
@@ -32,7 +32,7 @@ class QueenEngine;
 class Debugger : public GUI::Debugger {
 public:
 	Debugger(QueenEngine *vm);
-	virtual ~Debugger(); // we need this here for __SYMBIAN32__ archaic gcc/UIQ
+	~Debugger() override; // we need this here for __SYMBIAN32__ archaic gcc/UIQ
 
 	int flags() const { return _flags; }
 
@@ -41,8 +41,8 @@ public:
 	};
 
 private:
-	virtual void preEnter();
-	virtual void postEnter();
+	void preEnter() override;
+	void postEnter() override;
 
 private:
 	bool Cmd_Areas(int argc, const char **argv);
diff --git a/engines/queen/detection.cpp b/engines/queen/detection.cpp
index 228499d..61d67c8 100644
--- a/engines/queen/detection.cpp
+++ b/engines/queen/detection.cpp
@@ -488,19 +488,19 @@ public:
 		return "queen";
 	}
 
-	virtual const char *getName() const override {
+	const char *getName() const override {
 		return "Flight of the Amazon Queen";
 	}
 
-	virtual const char *getOriginalCopyright() const override {
+	const char *getOriginalCopyright() const override {
 		return "Flight of the Amazon Queen (C) John Passfield and Steve Stamatiadis";
 	}
 
-	virtual bool hasFeature(MetaEngineFeature f) const override;
-	virtual bool createInstance(OSystem *syst, Engine **engine, const ADGameDescription *desc) const override;
-	virtual SaveStateList listSaves(const char *target) const override;
-	virtual int getMaximumSaveSlot() const override { return 99; }
-	virtual void removeSaveState(const char *target, int slot) const override;
+	bool hasFeature(MetaEngineFeature f) const override;
+	bool createInstance(OSystem *syst, Engine **engine, const ADGameDescription *desc) const override;
+	SaveStateList listSaves(const char *target) const override;
+	int getMaximumSaveSlot() const override { return 99; }
+	void removeSaveState(const char *target, int slot) const override;
 
 	ADDetectedGame fallbackDetect(const FileMap &allFiles, const Common::FSList &fslist) const override;
 };
diff --git a/engines/queen/logic.h b/engines/queen/logic.h
index d597942..7b0affa 100644
--- a/engines/queen/logic.h
+++ b/engines/queen/logic.h
@@ -375,36 +375,36 @@ class LogicDemo : public Logic {
 public:
 
 	LogicDemo(QueenEngine *vm) : Logic(vm) {}
-	void useJournal();
+	void useJournal() override;
 
 protected:
 
-	bool changeToSpecialRoom();
-	void setupSpecialMoveTable();
+	bool changeToSpecialRoom() override;
+	void setupSpecialMoveTable() override;
 };
 
 class LogicInterview : public Logic {
 public:
 
 	LogicInterview(QueenEngine *vm) : Logic(vm) {}
-	void useJournal();
+	void useJournal() override;
 
 protected:
 
-	bool changeToSpecialRoom();
-	void setupSpecialMoveTable();
+	bool changeToSpecialRoom() override;
+	void setupSpecialMoveTable() override;
 };
 
 class LogicGame : public Logic {
 public:
 
 	LogicGame(QueenEngine *vm) : Logic(vm) {}
-	void useJournal();
+	void useJournal() override;
 
 protected:
 
-	bool changeToSpecialRoom();
-	void setupSpecialMoveTable();
+	bool changeToSpecialRoom() override;
+	void setupSpecialMoveTable() override;
 };
 
 
diff --git a/engines/queen/midiadlib.h b/engines/queen/midiadlib.h
index 8692e51..ca83382 100644
--- a/engines/queen/midiadlib.h
+++ b/engines/queen/midiadlib.h
@@ -33,18 +33,18 @@ public:
 		_isOpen = false;
 	}
 
-	~AdLibMidiDriver() {}
+	~AdLibMidiDriver() override {}
 
 	// MidiDriver
-	int open();
-	void close();
-	void send(uint32 b);
-	void metaEvent(byte type, byte *data, uint16 length);
-	MidiChannel *allocateChannel() { return 0; }
-	MidiChannel *getPercussionChannel() { return 0; }
-	void setTimerCallback(void *timerParam, Common::TimerManager::TimerProc timerProc);
-	bool isOpen() const { return _isOpen; }
-	uint32 getBaseTempo() { return 1000000 / OPL::OPL::kDefaultCallbackFrequency; }
+	int open() override;
+	void close() override;
+	void send(uint32 b) override;
+	void metaEvent(byte type, byte *data, uint16 length) override;
+	MidiChannel *allocateChannel() override { return 0; }
+	MidiChannel *getPercussionChannel() override { return 0; }
+	void setTimerCallback(void *timerParam, Common::TimerManager::TimerProc timerProc) override;
+	bool isOpen() const override { return _isOpen; }
+	uint32 getBaseTempo() override { return 1000000 / OPL::OPL::kDefaultCallbackFrequency; }
 
 	void setVolume(uint32 volume);
 
diff --git a/engines/queen/music.h b/engines/queen/music.h
index b475639..db74a59 100644
--- a/engines/queen/music.h
+++ b/engines/queen/music.h
@@ -39,7 +39,7 @@ class QueenEngine;
 class MidiMusic : public MidiDriver_BASE {
 public:
 	MidiMusic(QueenEngine *vm);
-	~MidiMusic();
+	~MidiMusic() override;
 	void setVolume(int volume);
 	int getVolume()	const { return _masterVolume; }
 
@@ -54,8 +54,8 @@ public:
 	void toggleVChange();
 
 	// MidiDriver_BASE interface implementation
-	virtual void send(uint32 b);
-	virtual void metaEvent(byte type, byte *data, uint16 length);
+	void send(uint32 b) override;
+	void metaEvent(byte type, byte *data, uint16 length) override;
 
 protected:
 
diff --git a/engines/queen/queen.h b/engines/queen/queen.h
index f000d79..5f6ad50 100644
--- a/engines/queen/queen.h
+++ b/engines/queen/queen.h
@@ -64,7 +64,7 @@ class QueenEngine : public Engine {
 public:
 
 	QueenEngine(OSystem *syst);
-	virtual ~QueenEngine();
+	~QueenEngine() override;
 
 	BamScene *bam() const { return _bam; }
 	BankManager *bankMan() const { return _bankMan; }
@@ -119,10 +119,10 @@ public:
 protected:
 
 	// Engine APIs
-	virtual Common::Error run() override;
-	virtual GUI::Debugger *getDebugger() override;
-	virtual bool hasFeature(EngineFeature f) const override;
-	virtual void syncSoundSettings() override;
+	Common::Error run() override;
+	GUI::Debugger *getDebugger() override;
+	bool hasFeature(EngineFeature f) const override;
+	void syncSoundSettings() override;
 
 
 	int _talkSpeed;
diff --git a/engines/queen/sound.cpp b/engines/queen/sound.cpp
index 010a824..0b3c57a 100644
--- a/engines/queen/sound.cpp
+++ b/engines/queen/sound.cpp
@@ -75,22 +75,22 @@ public:
 		else
 			_rate = rate;
 	}
-	~AudioStreamWrapper() {
+	~AudioStreamWrapper() override {
 		delete _stream;
 	}
-	int readBuffer(int16 *buffer, const int numSamples) {
+	int readBuffer(int16 *buffer, const int numSamples) override {
 		return _stream->readBuffer(buffer, numSamples);
 	}
-	bool isStereo() const {
+	bool isStereo() const override {
 		return _stream->isStereo();
 	}
-	bool endOfData() const {
+	bool endOfData() const override {
 		return _stream->endOfData();
 	}
-	bool endOfStream() const {
+	bool endOfStream() const override {
 		return _stream->endOfStream();
 	}
-	int getRate() const {
+	int getRate() const override {
 		return _rate;
 	}
 };
@@ -99,7 +99,7 @@ class SilentSound : public PCSound {
 public:
 	SilentSound(Audio::Mixer *mixer, QueenEngine *vm) : PCSound(mixer, vm) {}
 protected:
-	void playSoundData(Common::File *f, uint32 size, Audio::SoundHandle *soundHandle) {
+	void playSoundData(Common::File *f, uint32 size, Audio::SoundHandle *soundHandle) override {
 		// Do nothing
 	}
 };
@@ -108,7 +108,7 @@ class SBSound : public PCSound {
 public:
 	SBSound(Audio::Mixer *mixer, QueenEngine *vm) : PCSound(mixer, vm) {}
 protected:
-	void playSoundData(Common::File *f, uint32 size, Audio::SoundHandle *soundHandle);
+	void playSoundData(Common::File *f, uint32 size, Audio::SoundHandle *soundHandle) override;
 };
 
 #ifdef USE_MAD
@@ -116,7 +116,7 @@ class MP3Sound : public PCSound {
 public:
 	MP3Sound(Audio::Mixer *mixer, QueenEngine *vm) : PCSound(mixer, vm) {}
 protected:
-	void playSoundData(Common::File *f, uint32 size, Audio::SoundHandle *soundHandle) {
+	void playSoundData(Common::File *f, uint32 size, Audio::SoundHandle *soundHandle) override {
 		Common::SeekableReadStream *tmp = f->readStream(size);
 		assert(tmp);
 		_mixer->playStream(Audio::Mixer::kSFXSoundType, soundHandle, new AudioStreamWrapper(Audio::makeMP3Stream(tmp, DisposeAfterUse::YES)));
@@ -129,7 +129,7 @@ class OGGSound : public PCSound {
 public:
 	OGGSound(Audio::Mixer *mixer, QueenEngine *vm) : PCSound(mixer, vm) {}
 protected:
-	void playSoundData(Common::File *f, uint32 size, Audio::SoundHandle *soundHandle) {
+	void playSoundData(Common::File *f, uint32 size, Audio::SoundHandle *soundHandle) override {
 		Common::SeekableReadStream *tmp = f->readStream(size);
 		assert(tmp);
 		_mixer->playStream(Audio::Mixer::kSFXSoundType, soundHandle, new AudioStreamWrapper(Audio::makeVorbisStream(tmp, DisposeAfterUse::YES)));
@@ -142,7 +142,7 @@ class FLACSound : public PCSound {
 public:
 	FLACSound(Audio::Mixer *mixer, QueenEngine *vm) : PCSound(mixer, vm) {}
 protected:
-	void playSoundData(Common::File *f, uint32 size, Audio::SoundHandle *soundHandle) {
+	void playSoundData(Common::File *f, uint32 size, Audio::SoundHandle *soundHandle) override {
 		Common::SeekableReadStream *tmp = f->readStream(size);
 		assert(tmp);
 		_mixer->playStream(Audio::Mixer::kSFXSoundType, soundHandle, new AudioStreamWrapper(Audio::makeFLACStream(tmp, DisposeAfterUse::YES)));
diff --git a/engines/queen/sound.h b/engines/queen/sound.h
index f5d3970..c2c366a 100644
--- a/engines/queen/sound.h
+++ b/engines/queen/sound.h
@@ -125,20 +125,20 @@ protected:
 class PCSound : public Sound {
 public:
 	PCSound(Audio::Mixer *mixer, QueenEngine *vm);
-	~PCSound();
+	~PCSound() override;
 
-	void playSfx(uint16 sfx);
-	void playSpeech(const char *base);
-	void playSong(int16 songNum);
+	void playSfx(uint16 sfx) override;
+	void playSpeech(const char *base) override;
+	void playSong(int16 songNum) override;
 
-	void stopSfx()			{ _mixer->stopHandle(_sfxHandle); }
-	void stopSong();
-	void stopSpeech()		{ _mixer->stopHandle(_speechHandle); }
+	void stopSfx() override			{ _mixer->stopHandle(_sfxHandle); }
+	void stopSong() override;
+	void stopSpeech() override		{ _mixer->stopHandle(_speechHandle); }
 
-	bool isSpeechActive() const	{ return _mixer->isSoundHandleActive(_speechHandle); }
-	bool isSfxActive() const	{ return _mixer->isSoundHandleActive(_sfxHandle); }
+	bool isSpeechActive() const override	{ return _mixer->isSoundHandleActive(_speechHandle); }
+	bool isSfxActive() const override	{ return _mixer->isSoundHandleActive(_sfxHandle); }
 
-	void setVolume(int vol);
+	void setVolume(int vol) override;
 
 protected:
 	void playSound(const char *base, bool isSpeech);
@@ -154,15 +154,15 @@ class AmigaSound : public Sound {
 public:
 	AmigaSound(Audio::Mixer *mixer, QueenEngine *vm);
 
-	void playSfx(uint16 sfx);
-	void playSong(int16 song);
+	void playSfx(uint16 sfx) override;
+	void playSong(int16 song) override;
 
-	void stopSfx();
-	void stopSong();
+	void stopSfx() override;
+	void stopSong() override;
 
-	bool isSfxActive() const { return _mixer->isSoundHandleActive(_sfxHandle); }
+	bool isSfxActive() const override { return _mixer->isSoundHandleActive(_sfxHandle); }
 
-	void updateMusic();
+	void updateMusic() override;
 
 protected:
 


Commit: ccfb09151bfc1511155d039445574c3ec734c439
    https://github.com/scummvm/scummvm/commit/ccfb09151bfc1511155d039445574c3ec734c439
Author: Bastien Bouclet (bastien.bouclet at gmail.com)
Date: 2020-02-09T12:43:16+01:00

Commit Message:
SAGA: Add override keywords

Changed paths:
    engines/saga/console.h
    engines/saga/detection.cpp
    engines/saga/music.h
    engines/saga/resource.h
    engines/saga/saga.h
    engines/saga/script.h


diff --git a/engines/saga/console.h b/engines/saga/console.h
index cec9643..c76032a 100644
--- a/engines/saga/console.h
+++ b/engines/saga/console.h
@@ -32,7 +32,7 @@ namespace Saga {
 class Console : public GUI::Debugger {
 public:
 	Console(SagaEngine *vm);
-	virtual ~Console();
+	~Console() override;
 
 private:
 	bool cmdActorWalkTo(int argc, const char **argv);
diff --git a/engines/saga/detection.cpp b/engines/saga/detection.cpp
index 899b13d..4851daa 100644
--- a/engines/saga/detection.cpp
+++ b/engines/saga/detection.cpp
@@ -98,7 +98,7 @@ public:
 		return "saga";
 	}
 
-	virtual const char *getName() const override {
+	const char *getName() const override {
 		return "SAGA ["
 
 #if defined(ENABLE_IHNM) && defined(ENABLE_SAGA2)
@@ -120,20 +120,20 @@ public:
 ;
 	}
 
-	virtual const char *getOriginalCopyright() const override {
+	const char *getOriginalCopyright() const override {
 		return "Inherit the Earth (C) Wyrmkeep Entertainment";
 	}
 
-	virtual bool hasFeature(MetaEngineFeature f) const override;
+	bool hasFeature(MetaEngineFeature f) const override;
 
-	virtual Common::Error createInstance(OSystem *syst, Engine **engine) const override {
+	Common::Error createInstance(OSystem *syst, Engine **engine) const override {
 		return AdvancedMetaEngine::createInstance(syst, engine);
 	}
-	virtual bool createInstance(OSystem *syst, Engine **engine, const ADGameDescription *desc) const override;
+	bool createInstance(OSystem *syst, Engine **engine, const ADGameDescription *desc) const override;
 
-	virtual SaveStateList listSaves(const char *target) const override;
-	virtual int getMaximumSaveSlot() const override;
-	virtual void removeSaveState(const char *target, int slot) const override;
+	SaveStateList listSaves(const char *target) const override;
+	int getMaximumSaveSlot() const override;
+	void removeSaveState(const char *target, int slot) const override;
 	SaveStateDescriptor querySaveMetaInfos(const char *target, int slot) const override;
 };
 
diff --git a/engines/saga/music.h b/engines/saga/music.h
index 0213f41..a3e378f 100644
--- a/engines/saga/music.h
+++ b/engines/saga/music.h
@@ -43,8 +43,8 @@ public:
 
 	void play(SagaEngine *vm, ByteArray *buffer, bool loop);
 	void playQuickTime(const Common::String &musicName, bool loop);
-	virtual void pause();
-	virtual void resume();
+	void pause() override;
+	void resume() override;
 
 	bool isAdlib() const { return _driverType == MT_ADLIB; }
 
@@ -52,8 +52,8 @@ public:
 	bool isPlaying() const { return _parser && _parser->isPlaying(); }
 
 	// MidiDriver_BASE interface implementation
-	virtual void send(uint32 b);
-	virtual void metaEvent(byte type, byte *data, uint16 length);
+	void send(uint32 b) override;
+	void metaEvent(byte type, byte *data, uint16 length) override;
 
 protected:
 	MusicType _driverType;
diff --git a/engines/saga/resource.h b/engines/saga/resource.h
index 2a1aaf3..fc2ad12 100644
--- a/engines/saga/resource.h
+++ b/engines/saga/resource.h
@@ -215,26 +215,26 @@ protected:
 // ITE
 class ResourceContext_RSC: public ResourceContext {
 protected:
-	virtual bool loadMacMIDI();
-	virtual bool loadRes(uint32 contextOffset, uint32 contextSize) {
+	bool loadMacMIDI() override;
+	bool loadRes(uint32 contextOffset, uint32 contextSize) override {
 		return loadResV1(contextOffset, contextSize);
 	}
-	virtual void processPatches(Resource *resource, const GamePatchDescription *patchFiles);
+	void processPatches(Resource *resource, const GamePatchDescription *patchFiles) override;
 };
 
 class Resource_RSC : public Resource {
 public:
 	Resource_RSC(SagaEngine *vm) : Resource(vm) {}
-	virtual uint32 convertResourceId(uint32 resourceId) {
+	uint32 convertResourceId(uint32 resourceId) override {
 		return _vm->isMacResources() ? resourceId - 2 : resourceId;
 	}
-	virtual void loadGlobalResources(int chapter, int actorsEntrance) {}
-	virtual MetaResource* getMetaResource() {
+	void loadGlobalResources(int chapter, int actorsEntrance) override {}
+	MetaResource* getMetaResource() override {
 		MetaResource *dummy = 0;
 		return dummy;
 	}
 protected:
-	virtual ResourceContext *createContext() {
+	ResourceContext *createContext() override {
 		return new ResourceContext_RSC();
 	}
 };
@@ -243,17 +243,17 @@ protected:
 // IHNM
 class ResourceContext_RES: public ResourceContext {
 protected:
-	virtual bool loadRes(uint32 contextOffset, uint32 contextSize) {
+	bool loadRes(uint32 contextOffset, uint32 contextSize) override {
 		return loadResV1(0, contextSize);
 	}
 
-	virtual void processPatches(Resource *resource, const GamePatchDescription *patchFiles);
+	void processPatches(Resource *resource, const GamePatchDescription *patchFiles) override;
 };
 
 // TODO: move load routines from sndres
 class VoiceResourceContext_RES: public ResourceContext {
 protected:
-	virtual bool loadRes(uint32 contextOffset, uint32 contextSize) {
+	bool loadRes(uint32 contextOffset, uint32 contextSize) override {
 		return false;
 	}
 public:
@@ -266,11 +266,11 @@ public:
 class Resource_RES : public Resource {
 public:
 	Resource_RES(SagaEngine *vm) : Resource(vm) {}
-	virtual uint32 convertResourceId(uint32 resourceId) { return resourceId; }
-	virtual void loadGlobalResources(int chapter, int actorsEntrance);
-	virtual MetaResource* getMetaResource() { return &_metaResource; }
+	uint32 convertResourceId(uint32 resourceId) override { return resourceId; }
+	void loadGlobalResources(int chapter, int actorsEntrance) override;
+	MetaResource* getMetaResource() override { return &_metaResource; }
 protected:
-	virtual ResourceContext *createContext() {
+	ResourceContext *createContext() override {
 		return new ResourceContext_RES();
 	}
 private:
@@ -284,7 +284,7 @@ class ResourceContext_HRS: public ResourceContext {
 protected:
 	ResourceDataArray _categories;
 
-	virtual bool loadRes(uint32 contextOffset, uint32 contextSize) {
+	bool loadRes(uint32 contextOffset, uint32 contextSize) override {
 		return loadResV2(contextSize);
 	}
 	bool loadResV2(uint32 contextSize);
@@ -297,14 +297,14 @@ protected:
 class Resource_HRS : public Resource {
 public:
 	Resource_HRS(SagaEngine *vm) : Resource(vm) {}
-	virtual uint32 convertResourceId(uint32 resourceId) { return resourceId; }
-	virtual void loadGlobalResources(int chapter, int actorsEntrance) {}
-	virtual MetaResource* getMetaResource() {
+	uint32 convertResourceId(uint32 resourceId) override { return resourceId; }
+	void loadGlobalResources(int chapter, int actorsEntrance) override {}
+	MetaResource* getMetaResource() override {
 		MetaResource *dummy = 0;
 		return dummy;
 	}
 protected:
-	virtual ResourceContext *createContext() {
+	ResourceContext *createContext() override {
 		return new ResourceContext_HRS();
 	}
 };
diff --git a/engines/saga/saga.h b/engines/saga/saga.h
index ebc5ac7..7fc8de9 100644
--- a/engines/saga/saga.h
+++ b/engines/saga/saga.h
@@ -466,7 +466,7 @@ class SagaEngine : public Engine {
 
 public:
 	// Engine APIs
-	virtual Common::Error run() override;
+	Common::Error run() override;
 	bool hasFeature(EngineFeature f) const override;
 	void syncSoundSettings() override;
 	void pauseEngineIntern(bool pause) override;
@@ -474,7 +474,7 @@ public:
 	GUI::Debugger *getDebugger() override;
 
 	SagaEngine(OSystem *syst, const SAGAGameDescription *gameDesc);
-	~SagaEngine();
+	~SagaEngine() override;
 
 	void save(const char *fileName, const char *saveName);
 	void load(const char *fileName);
diff --git a/engines/saga/script.h b/engines/saga/script.h
index dd080fb..f4aacff 100644
--- a/engines/saga/script.h
+++ b/engines/saga/script.h
@@ -609,13 +609,13 @@ protected:
 class SAGA1Script : public Script {
 public:
 	SAGA1Script(SagaEngine *vm);
-	~SAGA1Script();
+	~SAGA1Script() override;
 };
 
 class SAGA2Script : public Script {
 public:
 	SAGA2Script(SagaEngine *vm);
-	~SAGA2Script();
+	~SAGA2Script() override;
 };
 
 } // End of namespace Saga


Commit: 553d2968bbe6b8bb6e2c68c2fc035f4c76bed774
    https://github.com/scummvm/scummvm/commit/553d2968bbe6b8bb6e2c68c2fc035f4c76bed774
Author: Bastien Bouclet (bastien.bouclet at gmail.com)
Date: 2020-02-09T12:43:16+01:00

Commit Message:
SCI: Add override keywords

Changed paths:
    engines/sci/console.h
    engines/sci/decompressor.h
    engines/sci/detection.cpp
    engines/sci/engine/file.h
    engines/sci/engine/message.cpp
    engines/sci/engine/object.h
    engines/sci/engine/script.h
    engines/sci/engine/seg_manager.h
    engines/sci/engine/segment.h
    engines/sci/engine/state.h
    engines/sci/graphics/celobj32.cpp
    engines/sci/graphics/celobj32.h
    engines/sci/graphics/cursor32.h
    engines/sci/graphics/font.h
    engines/sci/graphics/fontsjis.h
    engines/sci/graphics/helpers.h
    engines/sci/graphics/palette.h
    engines/sci/graphics/ports.h
    engines/sci/graphics/remap32.h
    engines/sci/graphics/video32.h
    engines/sci/resource_intern.h
    engines/sci/resource_patcher.h
    engines/sci/sci.h
    engines/sci/sound/audio32.cpp
    engines/sci/sound/audio32.h
    engines/sci/sound/decoders/sol.h
    engines/sci/sound/drivers/adlib.cpp
    engines/sci/sound/drivers/amigamac.cpp
    engines/sci/sound/drivers/cms.cpp
    engines/sci/sound/drivers/fb01.cpp
    engines/sci/sound/drivers/fmtowns.cpp
    engines/sci/sound/drivers/midi.cpp
    engines/sci/sound/drivers/mididriver.h
    engines/sci/sound/drivers/pc9801.cpp
    engines/sci/sound/drivers/pcjr.cpp
    engines/sci/sound/midiparser_sci.h
    engines/sci/sound/music.h
    engines/sci/video/robot_decoder.h
    engines/sci/video/seq_decoder.h


diff --git a/engines/sci/console.h b/engines/sci/console.h
index 02c6335..49dfb77 100644
--- a/engines/sci/console.h
+++ b/engines/sci/console.h
@@ -39,11 +39,11 @@ bool isJumpOpcode(EngineState *s, reg_t pos, reg_t& jumpOffset);
 class Console : public GUI::Debugger {
 public:
 	Console(SciEngine *engine);
-	virtual ~Console();
+	~Console() override;
 
 private:
-	virtual void preEnter();
-	virtual void postEnter();
+	void preEnter() override;
+	void postEnter() override;
 
 	// General
 	bool cmdHelp(int argc, const char **argv);
diff --git a/engines/sci/decompressor.h b/engines/sci/decompressor.h
index dab35fa..05991cb 100644
--- a/engines/sci/decompressor.h
+++ b/engines/sci/decompressor.h
@@ -124,7 +124,7 @@ protected:
  */
 class DecompressorHuffman : public Decompressor {
 public:
-	int unpack(Common::ReadStream *src, byte *dest, uint32 nPacked, uint32 nUnpacked);
+	int unpack(Common::ReadStream *src, byte *dest, uint32 nPacked, uint32 nUnpacked) override;
 
 protected:
 	int16 getc2();
@@ -141,8 +141,8 @@ public:
 	DecompressorLZW(int nCompression) {
 		_compression = nCompression;
 	}
-	void init(Common::ReadStream *src, byte *dest, uint32 nPacked, uint32 nUnpacked);
-	int unpack(Common::ReadStream *src, byte *dest, uint32 nPacked, uint32 nUnpacked);
+	void init(Common::ReadStream *src, byte *dest, uint32 nPacked, uint32 nUnpacked) override;
+	int unpack(Common::ReadStream *src, byte *dest, uint32 nPacked, uint32 nUnpacked) override;
 
 protected:
 	enum {
@@ -177,7 +177,7 @@ protected:
  */
 class DecompressorDCL : public Decompressor {
 public:
-	int unpack(Common::ReadStream *src, byte *dest, uint32 nPacked, uint32 nUnpacked);
+	int unpack(Common::ReadStream *src, byte *dest, uint32 nPacked, uint32 nUnpacked) override;
 };
 
 #ifdef ENABLE_SCI32
@@ -186,7 +186,7 @@ public:
  */
 class DecompressorLZS : public Decompressor {
 public:
-	int unpack(Common::ReadStream *src, byte *dest, uint32 nPacked, uint32 nUnpacked);
+	int unpack(Common::ReadStream *src, byte *dest, uint32 nPacked, uint32 nUnpacked) override;
 protected:
 	int unpackLZS();
 	uint32 getCompLen();
diff --git a/engines/sci/detection.cpp b/engines/sci/detection.cpp
index 3b0a708..82f933f 100644
--- a/engines/sci/detection.cpp
+++ b/engines/sci/detection.cpp
@@ -567,7 +567,7 @@ public:
 		return "sci";
 	}
 
-	virtual const char *getName() const override {
+	const char *getName() const override {
 		return "SCI ["
 #ifdef ENABLE_SCI32
 			"all games"
@@ -577,16 +577,16 @@ public:
 			"]";
 	}
 
-	virtual const char *getOriginalCopyright() const override {
+	const char *getOriginalCopyright() const override {
 		return "Sierra's Creative Interpreter (C) Sierra Online";
 	}
 
-	virtual bool createInstance(OSystem *syst, Engine **engine, const ADGameDescription *gd) const override;
+	bool createInstance(OSystem *syst, Engine **engine, const ADGameDescription *gd) const override;
 	ADDetectedGame fallbackDetect(const FileMap &allFiles, const Common::FSList &fslist) const override;
-	virtual bool hasFeature(MetaEngineFeature f) const override;
-	virtual SaveStateList listSaves(const char *target) const override;
-	virtual int getMaximumSaveSlot() const override;
-	virtual void removeSaveState(const char *target, int slot) const override;
+	bool hasFeature(MetaEngineFeature f) const override;
+	SaveStateList listSaves(const char *target) const override;
+	int getMaximumSaveSlot() const override;
+	void removeSaveState(const char *target, int slot) const override;
 	SaveStateDescriptor querySaveMetaInfos(const char *target, int slot) const override;
 };
 
diff --git a/engines/sci/engine/file.h b/engines/sci/engine/file.h
index aafa881..be6acca 100644
--- a/engines/sci/engine/file.h
+++ b/engines/sci/engine/file.h
@@ -127,13 +127,13 @@ class MemoryDynamicRWStream : public Common::MemoryWriteStreamDynamic, public Co
 public:
 	MemoryDynamicRWStream(DisposeAfterUse::Flag disposeMemory = DisposeAfterUse::NO) : MemoryWriteStreamDynamic(disposeMemory), _eos(false) { }
 
-	uint32 read(void *dataPtr, uint32 dataSize);
+	uint32 read(void *dataPtr, uint32 dataSize) override;
 
-	bool eos() const { return _eos; }
-	int32 pos() const { return _pos; }
-	int32 size() const { return _size; }
-	void clearErr() { _eos = false; Common::MemoryWriteStreamDynamic::clearErr(); }
-	bool seek(int32 offs, int whence = SEEK_SET) { return Common::MemoryWriteStreamDynamic::seek(offs, whence); }
+	bool eos() const override { return _eos; }
+	int32 pos() const override { return _pos; }
+	int32 size() const override { return _size; }
+	void clearErr() override { _eos = false; Common::MemoryWriteStreamDynamic::clearErr(); }
+	bool seek(int32 offs, int whence = SEEK_SET) override { return Common::MemoryWriteStreamDynamic::seek(offs, whence); }
 
 protected:
 	bool _eos;
@@ -149,9 +149,9 @@ public:
 	SaveFileRewriteStream(const Common::String &fileName,
 	                      Common::SeekableReadStream *inFile,
 	                      kFileOpenMode mode, bool compress);
-	virtual ~SaveFileRewriteStream();
+	~SaveFileRewriteStream() override;
 
-	virtual uint32 write(const void *dataPtr, uint32 dataSize) { _changed = true; return MemoryDynamicRWStream::write(dataPtr, dataSize); }
+	uint32 write(const void *dataPtr, uint32 dataSize) override { _changed = true; return MemoryDynamicRWStream::write(dataPtr, dataSize); }
 
 	void commit(); //< Save back to disk
 
diff --git a/engines/sci/engine/message.cpp b/engines/sci/engine/message.cpp
index 2d195b1..13a0d5a 100644
--- a/engines/sci/engine/message.cpp
+++ b/engines/sci/engine/message.cpp
@@ -71,7 +71,7 @@ class MessageReaderV2 : public MessageReader {
 public:
 	MessageReaderV2(const SciSpan<const byte> &data) : MessageReader(data, 6, 4) { }
 
-	bool findRecord(const MessageTuple &tuple, MessageRecord &record) {
+	bool findRecord(const MessageTuple &tuple, MessageRecord &record) override {
 		SciSpan<const byte> recordPtr = _data.subspan(_headerSize);
 
 		for (uint i = 0; i < _messageCount; i++) {
@@ -99,7 +99,7 @@ class MessageReaderV3 : public MessageReader {
 public:
 	MessageReaderV3(const SciSpan<const byte> &data) : MessageReader(data, 8, 10) { }
 
-	bool findRecord(const MessageTuple &tuple, MessageRecord &record) {
+	bool findRecord(const MessageTuple &tuple, MessageRecord &record) override {
 		SciSpan<const byte> recordPtr = _data.subspan(_headerSize);
 		for (uint i = 0; i < _messageCount; i++) {
 			if ((recordPtr[0] == tuple.noun) && (recordPtr[1] == tuple.verb)
@@ -127,7 +127,7 @@ class MessageReaderV4 : public MessageReader {
 public:
 	MessageReaderV4(const SciSpan<const byte> &data) : MessageReader(data, 10, 11) { }
 
-	bool findRecord(const MessageTuple &tuple, MessageRecord &record) {
+	bool findRecord(const MessageTuple &tuple, MessageRecord &record) override {
 		SciSpan<const byte> recordPtr = _data.subspan(_headerSize);
 		for (uint i = 0; i < _messageCount; i++) {
 			if ((recordPtr[0] == tuple.noun) && (recordPtr[1] == tuple.verb)
@@ -158,7 +158,7 @@ class MessageReaderV4_MacSCI32 : public MessageReader {
 public:
 	MessageReaderV4_MacSCI32(const SciSpan<const byte> &data) : MessageReader(data, 10, 12) { }
 
-	bool findRecord(const MessageTuple &tuple, MessageRecord &record) {
+	bool findRecord(const MessageTuple &tuple, MessageRecord &record) override {
 		SciSpan<const byte> recordPtr = _data.subspan(_headerSize);
 		for (uint i = 0; i < _messageCount; i++) {
 			if ((recordPtr[0] == tuple.noun) && (recordPtr[1] == tuple.verb)
diff --git a/engines/sci/engine/object.h b/engines/sci/engine/object.h
index 941a10f..55930eb 100644
--- a/engines/sci/engine/object.h
+++ b/engines/sci/engine/object.h
@@ -279,7 +279,7 @@ public:
 	uint16 getMethodCount() const { return _methodCount; }
 	reg_t getPos() const { return _pos; }
 
-	void saveLoadWithSerializer(Common::Serializer &ser);
+	void saveLoadWithSerializer(Common::Serializer &ser) override;
 
 	void cloneFromObject(const Object *obj) {
 		_name = obj ? obj->_name : NULL_REG;
diff --git a/engines/sci/engine/script.h b/engines/sci/engine/script.h
index a291ede..8e20841 100644
--- a/engines/sci/engine/script.h
+++ b/engines/sci/engine/script.h
@@ -130,17 +130,17 @@ public:
 
 public:
 	Script();
-	~Script();
+	~Script() override;
 
 	void freeScript(const bool keepLocalsSegment = false);
 	void load(int script_nr, ResourceManager *resMan, ScriptPatcher *scriptPatcher, bool applyScriptPatches = true);
 
-	virtual bool isValidOffset(uint32 offset) const;
-	virtual SegmentRef dereference(reg_t pointer);
-	virtual reg_t findCanonicAddress(SegManager *segMan, reg_t sub_addr) const;
-	virtual void freeAtAddress(SegManager *segMan, reg_t sub_addr);
-	virtual Common::Array<reg_t> listAllDeallocatable(SegmentId segId) const;
-	virtual Common::Array<reg_t> listAllOutgoingReferences(reg_t object) const;
+	bool isValidOffset(uint32 offset) const override;
+	SegmentRef dereference(reg_t pointer) override;
+	reg_t findCanonicAddress(SegManager *segMan, reg_t sub_addr) const override;
+	void freeAtAddress(SegManager *segMan, reg_t sub_addr) override;
+	Common::Array<reg_t> listAllDeallocatable(SegmentId segId) const override;
+	Common::Array<reg_t> listAllOutgoingReferences(reg_t object) const override;
 
 	/**
 	 * Return a list of all references to objects in this script
@@ -150,7 +150,7 @@ public:
 	 */
 	Common::Array<reg_t> listObjectReferences() const;
 
-	virtual void saveLoadWithSerializer(Common::Serializer &ser);
+	void saveLoadWithSerializer(Common::Serializer &ser) override;
 
 	Object *getObject(uint32 offset);
 	const Object *getObject(uint32 offset) const;
diff --git a/engines/sci/engine/seg_manager.h b/engines/sci/engine/seg_manager.h
index fdef0b6..3143bfd 100644
--- a/engines/sci/engine/seg_manager.h
+++ b/engines/sci/engine/seg_manager.h
@@ -57,11 +57,11 @@ public:
 	/**
 	 * Deallocate all memory associated with the segment manager.
 	 */
-	~SegManager();
+	~SegManager() override;
 
 	void resetSegMan();
 
-	virtual void saveLoadWithSerializer(Common::Serializer &ser);
+	void saveLoadWithSerializer(Common::Serializer &ser) override;
 
 	// 1. Scripts
 
diff --git a/engines/sci/engine/segment.h b/engines/sci/engine/segment.h
index 5bc655a..2dfeca5 100644
--- a/engines/sci/engine/segment.h
+++ b/engines/sci/engine/segment.h
@@ -88,7 +88,7 @@ public:
 
 public:
 	SegmentObj(SegmentType type) : _type(type) {}
-	virtual ~SegmentObj() {}
+	~SegmentObj() override {}
 
 	inline SegmentType getType() const { return _type; }
 
@@ -152,14 +152,14 @@ struct LocalVariables : public SegmentObj {
 public:
 	LocalVariables(): SegmentObj(SEG_TYPE_LOCALS), script_id(0) { }
 
-	virtual bool isValidOffset(uint32 offset) const {
+	bool isValidOffset(uint32 offset) const override {
 		return offset < _locals.size() * 2;
 	}
-	virtual SegmentRef dereference(reg_t pointer);
-	virtual reg_t findCanonicAddress(SegManager *segMan, reg_t sub_addr) const;
-	virtual Common::Array<reg_t> listAllOutgoingReferences(reg_t object) const;
+	SegmentRef dereference(reg_t pointer) override;
+	reg_t findCanonicAddress(SegManager *segMan, reg_t sub_addr) const override;
+	Common::Array<reg_t> listAllOutgoingReferences(reg_t object) const override;
 
-	virtual void saveLoadWithSerializer(Common::Serializer &ser);
+	void saveLoadWithSerializer(Common::Serializer &ser) override;
 };
 
 /** Data stack */
@@ -169,21 +169,21 @@ struct DataStack : SegmentObj {
 
 public:
 	DataStack() : SegmentObj(SEG_TYPE_STACK), _capacity(0), _entries(NULL) { }
-	~DataStack() {
+	~DataStack() override {
 		free(_entries);
 		_entries = NULL;
 	}
 
-	virtual bool isValidOffset(uint32 offset) const {
+	bool isValidOffset(uint32 offset) const override {
 		return offset < _capacity * 2;
 	}
-	virtual SegmentRef dereference(reg_t pointer);
-	virtual reg_t findCanonicAddress(SegManager *segMan, reg_t addr) const {
+	SegmentRef dereference(reg_t pointer) override;
+	reg_t findCanonicAddress(SegManager *segMan, reg_t addr) const override {
 		return make_reg(addr.getSegment(), 0);
 	}
-	virtual Common::Array<reg_t> listAllOutgoingReferences(reg_t object) const;
+	Common::Array<reg_t> listAllOutgoingReferences(reg_t object) const override;
 
-	virtual void saveLoadWithSerializer(Common::Serializer &ser);
+	void saveLoadWithSerializer(Common::Serializer &ser) override;
 };
 
 enum {
@@ -246,7 +246,7 @@ public:
 		initTable();
 	}
 
-	~SegmentObjTable() {
+	~SegmentObjTable() override {
 		for (uint i = 0; i < _table.size(); i++) {
 			if (isValidEntry(i)) {
 				freeEntry(i);
@@ -279,7 +279,7 @@ public:
 		}
 	}
 
-	virtual bool isValidOffset(uint32 offset) const {
+	bool isValidOffset(uint32 offset) const override {
 		return isValidEntry(offset);
 	}
 
@@ -298,7 +298,7 @@ public:
 		entries_used--;
 	}
 
-	virtual Common::Array<reg_t> listAllDeallocatable(SegmentId segId) const {
+	Common::Array<reg_t> listAllDeallocatable(SegmentId segId) const override {
 		Common::Array<reg_t> tmp;
 		for (uint i = 0; i < _table.size(); i++)
 			if (isValidEntry(i))
@@ -320,10 +320,10 @@ public:
 struct CloneTable : public SegmentObjTable<Clone> {
 	CloneTable() : SegmentObjTable<Clone>(SEG_TYPE_CLONES) {}
 
-	virtual void freeAtAddress(SegManager *segMan, reg_t sub_addr);
-	virtual Common::Array<reg_t> listAllOutgoingReferences(reg_t object) const;
+	void freeAtAddress(SegManager *segMan, reg_t sub_addr) override;
+	Common::Array<reg_t> listAllOutgoingReferences(reg_t object) const override;
 
-	virtual void saveLoadWithSerializer(Common::Serializer &ser);
+	void saveLoadWithSerializer(Common::Serializer &ser) override;
 };
 
 
@@ -331,12 +331,12 @@ struct CloneTable : public SegmentObjTable<Clone> {
 struct NodeTable : public SegmentObjTable<Node> {
 	NodeTable() : SegmentObjTable<Node>(SEG_TYPE_NODES) {}
 
-	virtual void freeAtAddress(SegManager *segMan, reg_t sub_addr) {
+	void freeAtAddress(SegManager *segMan, reg_t sub_addr) override {
 		freeEntry(sub_addr.getOffset());
 	}
-	virtual Common::Array<reg_t> listAllOutgoingReferences(reg_t object) const;
+	Common::Array<reg_t> listAllOutgoingReferences(reg_t object) const override;
 
-	virtual void saveLoadWithSerializer(Common::Serializer &ser);
+	void saveLoadWithSerializer(Common::Serializer &ser) override;
 };
 
 
@@ -344,19 +344,19 @@ struct NodeTable : public SegmentObjTable<Node> {
 struct ListTable : public SegmentObjTable<List> {
 	ListTable() : SegmentObjTable<List>(SEG_TYPE_LISTS) {}
 
-	virtual void freeAtAddress(SegManager *segMan, reg_t sub_addr) {
+	void freeAtAddress(SegManager *segMan, reg_t sub_addr) override {
 		freeEntry(sub_addr.getOffset());
 	}
-	virtual Common::Array<reg_t> listAllOutgoingReferences(reg_t object) const;
+	Common::Array<reg_t> listAllOutgoingReferences(reg_t object) const override;
 
-	virtual void saveLoadWithSerializer(Common::Serializer &ser);
+	void saveLoadWithSerializer(Common::Serializer &ser) override;
 };
 
 
 /* HunkTable */
 struct HunkTable : public SegmentObjTable<Hunk> {
 	HunkTable() : SegmentObjTable<Hunk>(SEG_TYPE_HUNK) {}
-	virtual ~HunkTable() {
+	~HunkTable() override {
 		for (uint i = 0; i < _table.size(); i++) {
 			if (isValidEntry(i))
 				freeEntryContents(i);
@@ -368,16 +368,16 @@ struct HunkTable : public SegmentObjTable<Hunk> {
 		at(idx).mem = 0;
 	}
 
-	virtual void freeEntry(int idx) {
+	void freeEntry(int idx) override {
 		freeEntryContents(idx);
 		SegmentObjTable<Hunk>::freeEntry(idx);
 	}
 
-	virtual void freeAtAddress(SegManager *segMan, reg_t sub_addr) {
+	void freeAtAddress(SegManager *segMan, reg_t sub_addr) override {
 		freeEntry(sub_addr.getOffset());
 	}
 
-	virtual void saveLoadWithSerializer(Common::Serializer &ser);
+	void saveLoadWithSerializer(Common::Serializer &ser) override;
 };
 
 
@@ -389,24 +389,24 @@ struct DynMem : public SegmentObj {
 
 public:
 	DynMem() : SegmentObj(SEG_TYPE_DYNMEM), _size(0), _buf(0) {}
-	~DynMem() {
+	~DynMem() override {
 		free(_buf);
 		_buf = NULL;
 	}
 
-	virtual bool isValidOffset(uint32 offset) const {
+	bool isValidOffset(uint32 offset) const override {
 		return offset < _size;
 	}
-	virtual SegmentRef dereference(reg_t pointer);
-	virtual reg_t findCanonicAddress(SegManager *segMan, reg_t addr) const {
+	SegmentRef dereference(reg_t pointer) override;
+	reg_t findCanonicAddress(SegManager *segMan, reg_t addr) const override {
 		return make_reg(addr.getSegment(), 0);
 	}
-	virtual Common::Array<reg_t> listAllDeallocatable(SegmentId segId) const {
+	Common::Array<reg_t> listAllDeallocatable(SegmentId segId) const override {
 		const reg_t r = make_reg(segId, 0);
 		return Common::Array<reg_t>(&r, 1);
 	}
 
-	virtual void saveLoadWithSerializer(Common::Serializer &ser);
+	void saveLoadWithSerializer(Common::Serializer &ser) override;
 };
 
 #ifdef ENABLE_SCI32
@@ -460,13 +460,13 @@ public:
 		return *this;
 	}
 
-	virtual ~SciArray() {
+	~SciArray() override {
 		free(_data);
 		_size = 0;
 		_type = kArrayTypeInvalid;
 	}
 
-	void saveLoadWithSerializer(Common::Serializer &s);
+	void saveLoadWithSerializer(Common::Serializer &s) override;
 
 	/**
 	 * Returns the type of this array.
@@ -905,10 +905,10 @@ protected:
 struct ArrayTable : public SegmentObjTable<SciArray> {
 	ArrayTable() : SegmentObjTable<SciArray>(SEG_TYPE_ARRAY) {}
 
-	virtual Common::Array<reg_t> listAllOutgoingReferences(reg_t object) const;
+	Common::Array<reg_t> listAllOutgoingReferences(reg_t object) const override;
 
-	void saveLoadWithSerializer(Common::Serializer &ser);
-	SegmentRef dereference(reg_t pointer);
+	void saveLoadWithSerializer(Common::Serializer &ser) override;
+	SegmentRef dereference(reg_t pointer) override;
 };
 
 #pragma mark -
@@ -986,7 +986,7 @@ public:
 		_gc = other._gc;
 	}
 
-	inline ~SciBitmap() {
+	inline ~SciBitmap() override {
 		free(_data);
 		_data = nullptr;
 		_dataSize = 0;
@@ -1162,7 +1162,7 @@ public:
 		}
 	}
 
-	virtual void saveLoadWithSerializer(Common::Serializer &ser);
+	void saveLoadWithSerializer(Common::Serializer &ser) override;
 
 	void applyRemap(SciArray &clut) {
 		const int length = getWidth() * getHeight();
@@ -1190,7 +1190,7 @@ public:
 struct BitmapTable : public SegmentObjTable<SciBitmap> {
 	BitmapTable() : SegmentObjTable<SciBitmap>(SEG_TYPE_BITMAP) {}
 
-	SegmentRef dereference(reg_t pointer) {
+	SegmentRef dereference(reg_t pointer) override {
 		SegmentRef ret;
 		ret.isRaw = true;
 		ret.maxSize = at(pointer.getOffset()).getRawSize();
@@ -1198,7 +1198,7 @@ struct BitmapTable : public SegmentObjTable<SciBitmap> {
 		return ret;
 	}
 
-	void saveLoadWithSerializer(Common::Serializer &ser);
+	void saveLoadWithSerializer(Common::Serializer &ser) override;
 };
 
 #endif
diff --git a/engines/sci/engine/state.h b/engines/sci/engine/state.h
index 0ad50a6..a783f09 100644
--- a/engines/sci/engine/state.h
+++ b/engines/sci/engine/state.h
@@ -101,9 +101,9 @@ struct SciCallOrigin {
 struct EngineState : public Common::Serializable {
 public:
 	EngineState(SegManager *segMan);
-	virtual ~EngineState();
+	~EngineState() override;
 
-	virtual void saveLoadWithSerializer(Common::Serializer &ser);
+	void saveLoadWithSerializer(Common::Serializer &ser) override;
 
 public:
 	SegManager *_segMan; /**< The segment manager */
diff --git a/engines/sci/graphics/celobj32.cpp b/engines/sci/graphics/celobj32.cpp
index efb8baa..68dca3d 100644
--- a/engines/sci/graphics/celobj32.cpp
+++ b/engines/sci/graphics/celobj32.cpp
@@ -217,10 +217,10 @@ struct SCALER_Scale {
 				Copier(READER& souceReader, Buffer& targetBuffer) :
 					_souceReader(souceReader),
 					_targetBuffer(targetBuffer) {}
-				const Graphics::LarryScaleColor* readRow(int y) {
+				const Graphics::LarryScaleColor* readRow(int y) override {
 					return _souceReader.getRow(y);
 				}
-				void writeRow(int y, const Graphics::LarryScaleColor* row) {
+				void writeRow(int y, const Graphics::LarryScaleColor* row) override {
 					memcpy(_targetBuffer.getBasePtr(0, y), row, _targetBuffer.w);
 				}
 			};
diff --git a/engines/sci/graphics/celobj32.h b/engines/sci/graphics/celobj32.h
index 37e9d39..69da8d4 100644
--- a/engines/sci/graphics/celobj32.h
+++ b/engines/sci/graphics/celobj32.h
@@ -496,7 +496,7 @@ private:
 
 public:
 	CelObjView(const GuiResourceId viewId, const int16 loopNo, const int16 celNo);
-	virtual ~CelObjView() override {};
+	~CelObjView() override {};
 
 	using CelObj::draw;
 
@@ -509,8 +509,8 @@ public:
 	 */
 	void draw(Buffer &target, const Common::Rect &targetRect, const Common::Point &scaledPosition, bool mirrorX, const Ratio &scaleX, const Ratio &scaleY);
 
-	virtual CelObjView *duplicate() const override;
-	virtual const SciSpan<const byte> getResPointer() const override;
+	CelObjView *duplicate() const override;
+	const SciSpan<const byte> getResPointer() const override;
 
 	Common::Point getLinkPosition(const int16 linkId) const;
 };
@@ -548,13 +548,13 @@ public:
 	int16 _priority;
 
 	CelObjPic(const GuiResourceId pictureId, const int16 celNo);
-	virtual ~CelObjPic() override {};
+	~CelObjPic() override {};
 
 	using CelObj::draw;
-	virtual void draw(Buffer &target, const Common::Rect &targetRect, const Common::Point &scaledPosition, const bool mirrorX) override;
+	void draw(Buffer &target, const Common::Rect &targetRect, const Common::Point &scaledPosition, const bool mirrorX) override;
 
-	virtual CelObjPic *duplicate() const override;
-	virtual const SciSpan<const byte> getResPointer() const override;
+	CelObjPic *duplicate() const override;
+	const SciSpan<const byte> getResPointer() const override;
 };
 
 #pragma mark -
@@ -568,10 +568,10 @@ public:
 class CelObjMem : public CelObj {
 public:
 	CelObjMem(const reg_t bitmap);
-	virtual ~CelObjMem() override {};
+	~CelObjMem() override {};
 
-	virtual CelObjMem *duplicate() const override;
-	virtual const SciSpan<const byte> getResPointer() const override;
+	CelObjMem *duplicate() const override;
+	const SciSpan<const byte> getResPointer() const override;
 };
 
 #pragma mark -
@@ -584,18 +584,18 @@ public:
 class CelObjColor : public CelObj {
 public:
 	CelObjColor(const uint8 color, const int16 width, const int16 height);
-	virtual ~CelObjColor() override {};
+	~CelObjColor() override {};
 
 	using CelObj::draw;
 	/**
 	 * Block fills the target buffer with the cel color.
 	 */
 	void draw(Buffer &target, const Common::Rect &targetRect) const;
-	virtual void draw(Buffer &target, const ScreenItem &screenItem, const Common::Rect &targetRect, const bool mirrorX) override;
-	virtual void draw(Buffer &target, const Common::Rect &targetRect, const Common::Point &scaledPosition, const bool mirrorX) override;
+	void draw(Buffer &target, const ScreenItem &screenItem, const Common::Rect &targetRect, const bool mirrorX) override;
+	void draw(Buffer &target, const Common::Rect &targetRect, const Common::Point &scaledPosition, const bool mirrorX) override;
 
-	virtual CelObjColor *duplicate() const override;
-	virtual const SciSpan<const byte> getResPointer() const override;
+	CelObjColor *duplicate() const override;
+	const SciSpan<const byte> getResPointer() const override;
 };
 } // End of namespace Sci
 
diff --git a/engines/sci/graphics/cursor32.h b/engines/sci/graphics/cursor32.h
index 1dcd679..b8ac6da 100644
--- a/engines/sci/graphics/cursor32.h
+++ b/engines/sci/graphics/cursor32.h
@@ -35,7 +35,7 @@ namespace Sci {
 class GfxCursor32 : public Common::Serializable {
 public:
 	GfxCursor32();
-	~GfxCursor32();
+	~GfxCursor32() override;
 
 	/**
 	 * Initialises the cursor system with the given buffer to use as the output
@@ -101,7 +101,7 @@ public:
 	 */
 	void clearRestrictedArea();
 
-	virtual void saveLoadWithSerializer(Common::Serializer &ser);
+	void saveLoadWithSerializer(Common::Serializer &ser) override;
 
 private:
 	struct DrawRegion {
diff --git a/engines/sci/graphics/font.h b/engines/sci/graphics/font.h
index 8be0a2d..8e42149 100644
--- a/engines/sci/graphics/font.h
+++ b/engines/sci/graphics/font.h
@@ -56,19 +56,19 @@ public:
 class GfxFontFromResource : public GfxFont {
 public:
 	GfxFontFromResource(ResourceManager *resMan, GfxScreen *screen, GuiResourceId resourceId);
-	~GfxFontFromResource();
+	~GfxFontFromResource() override;
 
-	GuiResourceId getResourceId();
-	uint8 getHeight();
-	uint8 getCharWidth(uint16 chr);
-	void draw(uint16 chr, int16 top, int16 left, byte color, bool greyedOutput);
+	GuiResourceId getResourceId() override;
+	uint8 getHeight() override;
+	uint8 getCharWidth(uint16 chr) override;
+	void draw(uint16 chr, int16 top, int16 left, byte color, bool greyedOutput) override;
 #ifdef ENABLE_SCI32
 	// SCI2/2.1 equivalent
-	void drawToBuffer(uint16 chr, int16 top, int16 left, byte color, bool greyedOutput, byte *buffer, int16 width, int16 height);
+	void drawToBuffer(uint16 chr, int16 top, int16 left, byte color, bool greyedOutput, byte *buffer, int16 width, int16 height) override;
 #endif
 
 private:
-	uint8 getCharHeight(uint16 chr);
+	uint8 getCharHeight(uint16 chr) override;
 	SciSpan<const byte> getCharData(uint16 chr);
 
 	ResourceManager *_resMan;
diff --git a/engines/sci/graphics/fontsjis.h b/engines/sci/graphics/fontsjis.h
index 57403ad..fde90d5 100644
--- a/engines/sci/graphics/fontsjis.h
+++ b/engines/sci/graphics/fontsjis.h
@@ -37,13 +37,13 @@ namespace Sci {
 class GfxFontSjis : public GfxFont {
 public:
 	GfxFontSjis(GfxScreen *screen, GuiResourceId resourceId);
-	~GfxFontSjis();
+	~GfxFontSjis() override;
 
-	GuiResourceId getResourceId();
-	byte getHeight();
-	bool isDoubleByte(uint16 chr);
-	byte getCharWidth(uint16 chr);
-	void draw(uint16 chr, int16 top, int16 left, byte color, bool greyedOutput);
+	GuiResourceId getResourceId() override;
+	byte getHeight() override;
+	bool isDoubleByte(uint16 chr) override;
+	byte getCharWidth(uint16 chr) override;
+	void draw(uint16 chr, int16 top, int16 left, byte color, bool greyedOutput) override;
 
 private:
 	GfxScreen *_screen;
diff --git a/engines/sci/graphics/helpers.h b/engines/sci/graphics/helpers.h
index 5842bf0..8b59dee 100644
--- a/engines/sci/graphics/helpers.h
+++ b/engines/sci/graphics/helpers.h
@@ -96,7 +96,7 @@ struct Window : public Port, public Common::Serializable {
 		ser.syncAsSint16LE(targetRect.right);
 	}
 
-	virtual void saveLoadWithSerializer(Common::Serializer &ser) {
+	void saveLoadWithSerializer(Common::Serializer &ser) override {
 		ser.syncAsUint16LE(id);
 		ser.syncAsSint16LE(top);
 		ser.syncAsSint16LE(left);
diff --git a/engines/sci/graphics/palette.h b/engines/sci/graphics/palette.h
index a753c3b..46db4ca 100644
--- a/engines/sci/graphics/palette.h
+++ b/engines/sci/graphics/palette.h
@@ -42,7 +42,7 @@ class GfxScreen;
 class GfxPalette : public Common::Serializable {
 public:
 	GfxPalette(ResourceManager *resMan, GfxScreen *screen);
-	~GfxPalette();
+	~GfxPalette() override;
 
 	bool isMerging();
 	bool isUsing16bitColorMatch();
@@ -92,7 +92,7 @@ public:
 
 	Palette _sysPalette;
 
-	void saveLoadWithSerializer(Common::Serializer &s);
+	void saveLoadWithSerializer(Common::Serializer &s) override;
 	void palVarySaveLoadPalette(Common::Serializer &s, Palette *palette);
 
 	byte findMacIconBarColor(byte r, byte g, byte b);
diff --git a/engines/sci/graphics/ports.h b/engines/sci/graphics/ports.h
index cd25645..0b83c9c 100644
--- a/engines/sci/graphics/ports.h
+++ b/engines/sci/graphics/ports.h
@@ -53,7 +53,7 @@ typedef Common::Array<Port *> PortArray;
 class GfxPorts : public Common::Serializable {
 public:
 	GfxPorts(SegManager *segMan, GfxScreen *screen);
-	~GfxPorts();
+	~GfxPorts() override;
 
 	void init(bool usesOldGfxFunctions, GfxPaint16 *paint16, GfxText16 *text16);
 	void reset();
@@ -112,7 +112,7 @@ public:
 	Common::Rect _menuLine;
 	Port *_curPort;
 
-	virtual void saveLoadWithSerializer(Common::Serializer &ser);
+	void saveLoadWithSerializer(Common::Serializer &ser) override;
 
 private:
 	/** The list of open 'windows' (and ports), in visual order. */
diff --git a/engines/sci/graphics/remap32.h b/engines/sci/graphics/remap32.h
index 9fc7ef6..4ccfb56 100644
--- a/engines/sci/graphics/remap32.h
+++ b/engines/sci/graphics/remap32.h
@@ -232,7 +232,7 @@ class GfxRemap32 : public Common::Serializable {
 public:
 	GfxRemap32();
 
-	void saveLoadWithSerializer(Common::Serializer &s);
+	void saveLoadWithSerializer(Common::Serializer &s) override;
 
 	inline uint8 getRemapCount() const { return _numActiveRemaps; }
 	inline uint8 getStartColor() const { return _remapStartColor; }
diff --git a/engines/sci/graphics/video32.h b/engines/sci/graphics/video32.h
index 1fad807..4c4b356 100644
--- a/engines/sci/graphics/video32.h
+++ b/engines/sci/graphics/video32.h
@@ -251,7 +251,7 @@ public:
 	 */
 	IOStatus play(const int16 from, const int16 to, const int16 showStyle, const bool cue);
 
-	virtual EventFlags playUntilEvent(const EventFlags flags, const uint32 maxSleepMs = 0xFFFFFFFF) override;
+	EventFlags playUntilEvent(const EventFlags flags, const uint32 maxSleepMs = 0xFFFFFFFF) override;
 
 	/**
 	 * Stops playback and closes the currently open AVI stream.
@@ -316,7 +316,7 @@ public:
 	};
 
 	VMDPlayer(EventManager *eventMan, SegManager *segMan);
-	virtual ~VMDPlayer();
+	~VMDPlayer() override;
 
 private:
 	SegManager *_segMan;
@@ -384,8 +384,8 @@ private:
 	 */
 	int _lastYieldedFrameNo;
 
-	virtual EventFlags playUntilEvent(const EventFlags flags, const uint32 = 0xFFFFFFFF) override;
-	virtual EventFlags checkForEvent(const EventFlags flags) override;
+	EventFlags playUntilEvent(const EventFlags flags, const uint32 = 0xFFFFFFFF) override;
+	EventFlags checkForEvent(const EventFlags flags) override;
 
 #pragma mark -
 #pragma mark VMDPlayer - Rendering
@@ -405,12 +405,12 @@ protected:
 	/**
 	 * Renders a frame of video to the output bitmap.
 	 */
-	virtual void renderFrame(const Graphics::Surface &nextFrame) const override;
+	void renderFrame(const Graphics::Surface &nextFrame) const override;
 
 	/**
 	 * Updates the system with palette data from the video.
 	 */
-	virtual void submitPalette(const uint8 palette[256 * 3]) const override;
+	void submitPalette(const uint8 palette[256 * 3]) const override;
 
 private:
 	/**
@@ -500,7 +500,7 @@ private:
 	 * video, but this will require additional work in GfxFrameout and
 	 * GfxCursor32 since the internal buffer and cursor code are 8bpp only.
 	 */
-	virtual bool shouldStartHQVideo() const override {
+	bool shouldStartHQVideo() const override {
 		if (!VideoPlayer::shouldStartHQVideo()) {
 			return false;
 		}
@@ -709,7 +709,7 @@ public:
 	}
 
 protected:
-	virtual bool shouldStartHQVideo() const override {
+	bool shouldStartHQVideo() const override {
 		if (!VideoPlayer::shouldStartHQVideo() || _blackLines) {
 			return false;
 		}
@@ -717,7 +717,7 @@ protected:
 		return true;
 	}
 
-	virtual void renderFrame(const Graphics::Surface &nextFrame) const override;
+	void renderFrame(const Graphics::Surface &nextFrame) const override;
 
 private:
 	/**
@@ -769,7 +769,7 @@ public:
 	_duckPlayer(eventMan, segMan) {}
 
 	void beforeSaveLoadWithSerializer(Common::Serializer &ser);
-	virtual void saveLoadWithSerializer(Common::Serializer &ser);
+	void saveLoadWithSerializer(Common::Serializer &ser) override;
 
 	SEQPlayer &getSEQPlayer() { return _SEQPlayer; }
 	AVIPlayer &getAVIPlayer() { return _AVIPlayer; }
diff --git a/engines/sci/resource_intern.h b/engines/sci/resource_intern.h
index 4eaca67..4604383 100644
--- a/engines/sci/resource_intern.h
+++ b/engines/sci/resource_intern.h
@@ -94,14 +94,14 @@ class DirectoryResourceSource : public ResourceSource {
 public:
 	DirectoryResourceSource(const Common::String &name) : ResourceSource(kSourceDirectory, name) {}
 
-	virtual void scanSource(ResourceManager *resMan);
+	void scanSource(ResourceManager *resMan) override;
 };
 
 class PatchResourceSource : public ResourceSource {
 public:
 	PatchResourceSource(const Common::String &name) : ResourceSource(kSourcePatch, name) {}
 
-	virtual void loadResource(ResourceManager *resMan, Resource *res);
+	void loadResource(ResourceManager *resMan, Resource *res) override;
 };
 
 class VolumeResourceSource : public ResourceSource {
@@ -117,7 +117,7 @@ public:
 		: ResourceSource(kSourceVolume, name, volNum, resFile), _associatedMap(map) {
 	}
 
-	virtual ResourceSource *findVolume(ResourceSource *map, int volNum) {
+	ResourceSource *findVolume(ResourceSource *map, int volNum) override {
 		if (_associatedMap == map && _volumeNumber == volNum)
 			return this;
 		return NULL;
@@ -130,7 +130,7 @@ public:
 		: ResourceSource(kSourceExtMap, name, volNum, resFile) {
 	}
 
-	virtual void scanSource(ResourceManager *resMan);
+	void scanSource(ResourceManager *resMan) override;
 };
 
 class IntMapResourceSource : public ResourceSource {
@@ -140,7 +140,7 @@ public:
 		: ResourceSource(kSourceIntMap, name, volNum), _mapNumber(mapNum) {
 	}
 
-	virtual void scanSource(ResourceManager *resMan);
+	void scanSource(ResourceManager *resMan) override;
 };
 
 class AudioVolumeResourceSource : public VolumeResourceSource {
@@ -156,9 +156,9 @@ protected:
 public:
 	AudioVolumeResourceSource(ResourceManager *resMan, const Common::String &name, ResourceSource *map, int volNum);
 
-	virtual void loadResource(ResourceManager *resMan, Resource *res);
+	void loadResource(ResourceManager *resMan, Resource *res) override;
 
-	virtual uint32 getAudioCompressionType() const;
+	uint32 getAudioCompressionType() const override;
 
 	bool relocateMapOffset(uint32 &offset, uint32 &size) const {
 		if (_audioCompressionType == 0) {
@@ -182,14 +182,14 @@ public:
 		: ResourceSource(kSourceExtAudioMap, name, volNum) {
 	}
 
-	virtual void scanSource(ResourceManager *resMan);
+	void scanSource(ResourceManager *resMan) override;
 };
 
 class WaveResourceSource : public ResourceSource {
 public:
 	WaveResourceSource(const Common::String &name) : ResourceSource(kSourceWave, name) {}
 
-	virtual void loadResource(ResourceManager *resMan, Resource *res);
+	void loadResource(ResourceManager *resMan, Resource *res) override;
 };
 
 /**
@@ -198,11 +198,11 @@ public:
 class MacResourceForkResourceSource : public ResourceSource {
 public:
 	MacResourceForkResourceSource(const Common::String &name, int volNum);
-	~MacResourceForkResourceSource();
+	~MacResourceForkResourceSource() override;
 
-	virtual void scanSource(ResourceManager *resMan);
+	void scanSource(ResourceManager *resMan) override;
 
-	virtual void loadResource(ResourceManager *resMan, Resource *res);
+	void loadResource(ResourceManager *resMan, Resource *res) override;
 
 protected:
 	Common::MacResManager *_macResMan;
@@ -220,8 +220,8 @@ class ChunkResourceSource : public ResourceSource {
 public:
 	ChunkResourceSource(const Common::String &name, uint16 number);
 
-	virtual void scanSource(ResourceManager *resMan);
-	virtual void loadResource(ResourceManager *resMan, Resource *res);
+	void scanSource(ResourceManager *resMan) override;
+	void loadResource(ResourceManager *resMan, Resource *res) override;
 
 	uint16 getNumber() const { return _number; }
 
diff --git a/engines/sci/resource_patcher.h b/engines/sci/resource_patcher.h
index 2b365ad..5fe2e86 100644
--- a/engines/sci/resource_patcher.h
+++ b/engines/sci/resource_patcher.h
@@ -80,7 +80,7 @@ class ResourcePatcher : public ResourceSource {
 public:
 	ResourcePatcher(const SciGameId gameId, const Common::Language gameLanguage);
 
-	virtual ~ResourcePatcher() {}
+	~ResourcePatcher() override {}
 
 	/**
 	 * Finds and applies a patch to the given resource.
@@ -94,14 +94,14 @@ public:
 	 * is needed since otherwise tests for these resources via `kResCheck`
 	 * would fail, and so they would never actually be loaded.
 	 */
-	virtual void scanSource(ResourceManager *resMan) override;
+	void scanSource(ResourceManager *resMan) override;
 
 	/**
 	 * Load a resource. Since resources using this source are patched explicitly
 	 * after they get loaded by any other resource source, this method does
 	 * nothing.
 	 */
-	virtual void loadResource(ResourceManager *resMan, Resource *res) override {}
+	void loadResource(ResourceManager *resMan, Resource *res) override {}
 
 private:
 	struct PatchSizes {
diff --git a/engines/sci/sci.h b/engines/sci/sci.h
index 045c95a..1689ad3 100644
--- a/engines/sci/sci.h
+++ b/engines/sci/sci.h
@@ -251,13 +251,13 @@ class SciEngine : public Engine {
 	friend class Console;
 public:
 	SciEngine(OSystem *syst, const ADGameDescription *desc, SciGameId gameId);
-	~SciEngine();
+	~SciEngine() override;
 
 	// Engine APIs
-	virtual Common::Error run() override;
+	Common::Error run() override;
 	bool hasFeature(EngineFeature f) const override;
 	void pauseEngineIntern(bool pause) override;
-	virtual GUI::Debugger *getDebugger() override;
+	GUI::Debugger *getDebugger() override;
 	Console *getSciDebugger();
 	Common::Error loadGameState(int slot) override;
 	Common::Error saveGameState(int slot, const Common::String &desc) override;
diff --git a/engines/sci/sound/audio32.cpp b/engines/sci/sound/audio32.cpp
index 0f08e80..045dc06 100644
--- a/engines/sci/sound/audio32.cpp
+++ b/engines/sci/sound/audio32.cpp
@@ -130,7 +130,7 @@ public:
 		_stream(stream, dispose),
 		_loop(loop_) {}
 
-	virtual int readBuffer(int16 *buffer, int numSamples) override {
+	int readBuffer(int16 *buffer, int numSamples) override {
 		int totalSamplesRead = 0;
 		int samplesRead;
 		do {
@@ -146,19 +146,19 @@ public:
 		return totalSamplesRead;
 	}
 
-	virtual bool isStereo() const override {
+	bool isStereo() const override {
 		return _stream->isStereo();
 	}
 
-	virtual int getRate() const override {
+	int getRate() const override {
 		return _stream->getRate();
 	}
 
-	virtual bool endOfData() const override {
+	bool endOfData() const override {
 		return !_loop && _stream->endOfData();
 	}
 
-	virtual bool endOfStream() const override {
+	bool endOfStream() const override {
 		return !_loop && _stream->endOfStream();
 	}
 
diff --git a/engines/sci/sound/audio32.h b/engines/sci/sound/audio32.h
index a0167f3..51e3b89 100644
--- a/engines/sci/sound/audio32.h
+++ b/engines/sci/sound/audio32.h
@@ -173,9 +173,9 @@ enum AudioChannelIndex {
 class Audio32 : public Audio::AudioStream, public Common::Serializable {
 public:
 	Audio32(ResourceManager *resMan);
-	~Audio32();
+	~Audio32() override;
 
-	virtual void saveLoadWithSerializer(Common::Serializer &s);
+	void saveLoadWithSerializer(Common::Serializer &s) override;
 
 	enum {
 		/**
@@ -195,11 +195,11 @@ private:
 #pragma mark -
 #pragma mark AudioStream implementation
 public:
-	int readBuffer(Audio::st_sample_t *buffer, const int numSamples);
-	bool isStereo() const { return true; }
-	int getRate() const { return _mixer->getOutputRate(); }
-	bool endOfData() const { return _numActiveChannels == 0; }
-	bool endOfStream() const { return false; }
+	int readBuffer(Audio::st_sample_t *buffer, const int numSamples) override;
+	bool isStereo() const override { return true; }
+	int getRate() const override { return _mixer->getOutputRate(); }
+	bool endOfData() const override { return _numActiveChannels == 0; }
+	bool endOfStream() const override { return false; }
 
 private:
 	/**
diff --git a/engines/sci/sound/decoders/sol.h b/engines/sci/sound/decoders/sol.h
index 2b84b8b..009759f 100644
--- a/engines/sci/sound/decoders/sol.h
+++ b/engines/sci/sound/decoders/sol.h
@@ -64,13 +64,13 @@ private:
 	 */
 	Audio::Timestamp _length;
 
-	virtual bool seek(const Audio::Timestamp &where) override;
-	virtual Audio::Timestamp getLength() const override;
-	virtual int readBuffer(int16 *buffer, const int numSamples) override;
-	virtual bool isStereo() const override;
-	virtual int getRate() const override;
-	virtual bool endOfData() const override;
-	virtual bool rewind() override;
+	bool seek(const Audio::Timestamp &where) override;
+	Audio::Timestamp getLength() const override;
+	int readBuffer(int16 *buffer, const int numSamples) override;
+	bool isStereo() const override;
+	int getRate() const override;
+	bool endOfData() const override;
+	bool rewind() override;
 
 public:
 	SOLStream(Common::SeekableReadStream *stream, const DisposeAfterUse::Flag disposeAfterUse, const uint16 sampleRate, const int32 rawDataSize);
diff --git a/engines/sci/sound/drivers/adlib.cpp b/engines/sci/sound/drivers/adlib.cpp
index 64727ee..47f59ca 100644
--- a/engines/sci/sound/drivers/adlib.cpp
+++ b/engines/sci/sound/drivers/adlib.cpp
@@ -50,29 +50,29 @@ public:
 
 	MidiDriver_AdLib(SciVersion version) : _version(version), _isSCI0(version < SCI_VERSION_1_EARLY), _playSwitch(true), _masterVolume(15),
 		_numVoiceMax(version == SCI_VERSION_0_EARLY ? 8 : kVoices), _rhythmKeyMap(), _opl(0), _adlibTimerParam(0), _adlibTimerProc(0), _stereo(false), _isOpen(false) { }
-	virtual ~MidiDriver_AdLib() { }
+	~MidiDriver_AdLib() override { }
 
 	// MidiDriver
-	int open() { return -1; } // Dummy implementation (use openAdLib)
+	int open() override { return -1; } // Dummy implementation (use openAdLib)
 	int openAdLib();
-	void close();
-	void send(uint32 b);
+	void close() override;
+	void send(uint32 b) override;
 	void initTrack(SciSpan<const byte> &header);
 
-	MidiChannel *allocateChannel() { return NULL; }
-	MidiChannel *getPercussionChannel() { return NULL; }
-	bool isOpen() const { return _isOpen; }
-	uint32 getBaseTempo() { return 1000000 / OPL::OPL::kDefaultCallbackFrequency; }
+	MidiChannel *allocateChannel() override { return NULL; }
+	MidiChannel *getPercussionChannel() override { return NULL; }
+	bool isOpen() const override { return _isOpen; }
+	uint32 getBaseTempo() override { return 1000000 / OPL::OPL::kDefaultCallbackFrequency; }
 
 	// MidiDriver
-	void setTimerCallback(void *timerParam, Common::TimerManager::TimerProc timerProc);
+	void setTimerCallback(void *timerParam, Common::TimerManager::TimerProc timerProc) override;
 
 	void onTimer();
 
 	void setVolume(byte volume);
 	void playSwitch(bool play);
 	bool loadResource(const SciSpan<const byte> &data);
-	virtual uint32 property(int prop, uint32 param);
+	uint32 property(int prop, uint32 param) override;
 
 	bool useRhythmChannel() const { return _rhythmKeyMap; }
 
@@ -178,21 +178,21 @@ private:
 class MidiPlayer_AdLib : public MidiPlayer {
 public:
 	MidiPlayer_AdLib(SciVersion soundVersion) : MidiPlayer(soundVersion) { _driver = new MidiDriver_AdLib(soundVersion); }
-	~MidiPlayer_AdLib() {
+	~MidiPlayer_AdLib() override {
 		delete _driver;
 		_driver = 0;
 	}
 
-	int open(ResourceManager *resMan);
-	void close();
+	int open(ResourceManager *resMan) override;
+	void close() override;
 
-	byte getPlayId() const;
-	int getPolyphony() const { return MidiDriver_AdLib::kVoices; }
-	bool hasRhythmChannel() const { return false; }
-	void setVolume(byte volume) { static_cast<MidiDriver_AdLib *>(_driver)->setVolume(volume); }
-	void playSwitch(bool play) { static_cast<MidiDriver_AdLib *>(_driver)->playSwitch(play); }
-	void initTrack(SciSpan<const byte> &header) { static_cast<MidiDriver_AdLib *>(_driver)->initTrack(header); }
-	int getLastChannel() const { return (static_cast<const MidiDriver_AdLib *>(_driver)->useRhythmChannel() ? 8 : 15); }
+	byte getPlayId() const override;
+	int getPolyphony() const override { return MidiDriver_AdLib::kVoices; }
+	bool hasRhythmChannel() const override { return false; }
+	void setVolume(byte volume) override { static_cast<MidiDriver_AdLib *>(_driver)->setVolume(volume); }
+	void playSwitch(bool play) override { static_cast<MidiDriver_AdLib *>(_driver)->playSwitch(play); }
+	void initTrack(SciSpan<const byte> &header) override { static_cast<MidiDriver_AdLib *>(_driver)->initTrack(header); }
+	int getLastChannel() const override { return (static_cast<const MidiDriver_AdLib *>(_driver)->useRhythmChannel() ? 8 : 15); }
 };
 
 static const byte registerOffset[MidiDriver_AdLib::kVoices] = {
diff --git a/engines/sci/sound/drivers/amigamac.cpp b/engines/sci/sound/drivers/amigamac.cpp
index 70d131a..a58c787 100644
--- a/engines/sci/sound/drivers/amigamac.cpp
+++ b/engines/sci/sound/drivers/amigamac.cpp
@@ -46,25 +46,25 @@ public:
 	};
 
 	MidiDriver_AmigaMac(Audio::Mixer *mixer, Common::Platform platform) : MidiDriver_Emulated(mixer), _platform(platform), _playSwitch(true), _masterVolume(15) { }
-	virtual ~MidiDriver_AmigaMac() { }
+	~MidiDriver_AmigaMac() override { }
 
 	// MidiDriver
-	int open();
-	void close();
-	void send(uint32 b);
-	MidiChannel *allocateChannel() { return NULL; }
-	MidiChannel *getPercussionChannel() { return NULL; }
+	int open() override;
+	void close() override;
+	void send(uint32 b) override;
+	MidiChannel *allocateChannel() override { return NULL; }
+	MidiChannel *getPercussionChannel() override { return NULL; }
 
 	// AudioStream
-	bool isStereo() const { return true; }
-	int getRate() const { return _mixer->getOutputRate(); }
+	bool isStereo() const override { return true; }
+	int getRate() const override { return _mixer->getOutputRate(); }
 
 	// MidiDriver_Emulated
-	void generateSamples(int16 *buf, int len);
+	void generateSamples(int16 *buf, int len) override;
 
 	void setVolume(byte volume);
 	void playSwitch(bool play);
-	virtual uint32 property(int prop, uint32 param);
+	uint32 property(int prop, uint32 param) override;
 
 private:
 	enum {
@@ -1020,11 +1020,11 @@ public:
 	MidiPlayer_AmigaMac(SciVersion version, Common::Platform platform) : MidiPlayer(version) {
 		_driver = new MidiDriver_AmigaMac(g_system->getMixer(), platform);
 	}
-	byte getPlayId() const;
-	int getPolyphony() const { return MidiDriver_AmigaMac::kVoices; }
-	bool hasRhythmChannel() const { return false; }
-	void setVolume(byte volume) { static_cast<MidiDriver_AmigaMac *>(_driver)->setVolume(volume); }
-	void playSwitch(bool play) { static_cast<MidiDriver_AmigaMac *>(_driver)->playSwitch(play); }
+	byte getPlayId() const override;
+	int getPolyphony() const override { return MidiDriver_AmigaMac::kVoices; }
+	bool hasRhythmChannel() const override { return false; }
+	void setVolume(byte volume) override { static_cast<MidiDriver_AmigaMac *>(_driver)->setVolume(volume); }
+	void playSwitch(bool play) override { static_cast<MidiDriver_AmigaMac *>(_driver)->playSwitch(play); }
 	void loadInstrument(int idx, byte *data);
 };
 
diff --git a/engines/sci/sound/drivers/cms.cpp b/engines/sci/sound/drivers/cms.cpp
index 091aab2..9c61269 100644
--- a/engines/sci/sound/drivers/cms.cpp
+++ b/engines/sci/sound/drivers/cms.cpp
@@ -80,20 +80,20 @@ private:
 class CMSVoice_V0 : public CMSVoice {
 public:
 	CMSVoice_V0(uint8 id, MidiDriver_CMS *driver, CMSEmulator *cms, SciSpan<const uint8>& patchData);
-	virtual ~CMSVoice_V0() {}
+	~CMSVoice_V0() override {}
 
-	void noteOn(int note, int);
-	void noteOff();
-	void stop();
-	void programChange(int program);
+	void noteOn(int note, int) override;
+	void noteOff() override;
+	void stop() override;
+	void programChange(int program) override;
 
-	void update();
+	void update() override;
 
-	void reset();
-	void setPanMask(uint8 mask);
+	void reset() override;
+	void setPanMask(uint8 mask) override;
 
 private:
-	void recalculateFrequency(uint8 &frequency, uint8 &octave);
+	void recalculateFrequency(uint8 &frequency, uint8 &octave) override;
 	void recalculateEnvelopeLevels();
 	void selectEnvelope(int id);
 
@@ -143,18 +143,18 @@ private:
 class CMSVoice_V1 : public CMSVoice {
 public:
 	CMSVoice_V1(uint8 id, MidiDriver_CMS *driver, CMSEmulator *cms, SciSpan<const uint8>& patchData);
-	virtual ~CMSVoice_V1() {}
+	~CMSVoice_V1() override {}
 
-	void noteOn(int note, int velocity);
-	void noteOff();
-	void stop();
-	void programChange(int program);
-	void pitchWheel();
+	void noteOn(int note, int velocity) override;
+	void noteOff() override;
+	void stop() override;
+	void programChange(int program) override;
+	void pitchWheel() override;
 
-	void update();
+	void update() override;
 
 private:
-	void recalculateFrequency(uint8 &frequency, uint8 &octave);
+	void recalculateFrequency(uint8 &frequency, uint8 &octave) override;
 
 	void updateVoiceAmplitude();
 	void setupVoiceAmplitude();
@@ -180,23 +180,23 @@ public:
 
 public:
 	MidiDriver_CMS(Audio::Mixer *mixer, ResourceManager *resMan, SciVersion version);
-	~MidiDriver_CMS();
+	~MidiDriver_CMS() override;
 
-	int open();
-	void close();
+	int open() override;
+	void close() override;
 
-	void send(uint32 b);
-	uint32 property(int prop, uint32 param);
+	void send(uint32 b) override;
+	uint32 property(int prop, uint32 param) override;
 
 	void initTrack(SciSpan<const byte>& header);
 
-	void onTimer();
+	void onTimer() override;
 
-	MidiChannel *allocateChannel() { return 0; }
-	MidiChannel *getPercussionChannel() { return 0; }
+	MidiChannel *allocateChannel() override { return 0; }
+	MidiChannel *getPercussionChannel() override { return 0; }
 
-	bool isStereo() const { return true; }
-	int getRate() const { return _rate; }
+	bool isStereo() const override { return true; }
+	int getRate() const override { return _rate; }
 
 private:
 	void noteOn(int channelNr, int note, int velocity);
@@ -213,7 +213,7 @@ private:
 	int findVoiceBasic(int channelNr);
 
 	void writeToChip(int chip, int address, int data);
-	void generateSamples(int16 *buffer, int len);
+	void generateSamples(int16 *buffer, int len) override;
 
 	struct Channel {
 		Channel() : program(0), volume(0), pan(0x40), hold(0), missingVoices(0), lastVoiceUsed(0), pitchWheel(0x2000), isValid(true) {}
@@ -1296,18 +1296,18 @@ class MidiPlayer_CMS : public MidiPlayer {
 public:
 	MidiPlayer_CMS(SciVersion version) : MidiPlayer(version), _filesMissing(false) {}
 
-	int open(ResourceManager *resMan);
-	void close();
+	int open(ResourceManager *resMan) override;
+	void close() override;
 
-	void initTrack(SciSpan<const byte>& header);
+	void initTrack(SciSpan<const byte>& header) override;
 
-	bool hasRhythmChannel() const { return false; }
-	byte getPlayId() const { return _version > SCI_VERSION_0_LATE ? 9 : 4; }
-	int getPolyphony() const { return 12; }
+	bool hasRhythmChannel() const override { return false; }
+	byte getPlayId() const override { return _version > SCI_VERSION_0_LATE ? 9 : 4; }
+	int getPolyphony() const override { return 12; }
 
-	void playSwitch(bool play) { _driver->property(MidiDriver_CMS::MIDI_PROP_PLAYSWITCH, play ? 1 : 0); }
+	void playSwitch(bool play) override { _driver->property(MidiDriver_CMS::MIDI_PROP_PLAYSWITCH, play ? 1 : 0); }
 
-	const char *reportMissingFiles() { return _filesMissing ? _requiredFiles : 0; }
+	const char *reportMissingFiles() override { return _filesMissing ? _requiredFiles : 0; }
 
 private:
 	bool _filesMissing;
diff --git a/engines/sci/sound/drivers/fb01.cpp b/engines/sci/sound/drivers/fb01.cpp
index 3be7650..4062d6b 100644
--- a/engines/sci/sound/drivers/fb01.cpp
+++ b/engines/sci/sound/drivers/fb01.cpp
@@ -59,23 +59,23 @@ public:
 	};
 
 	MidiPlayer_Fb01(SciVersion version);
-	virtual ~MidiPlayer_Fb01();
-
-	int open(ResourceManager *resMan);
-	void close();
-	void initTrack(SciSpan<const byte>& header);
-	void send(uint32 b);
-	void sysEx(const byte *msg, uint16 length);
-	bool hasRhythmChannel() const { return false; }
-	byte getPlayId() const;
-	int getPolyphony() const { return _version <= SCI_VERSION_0_LATE ? 8 : 9; }
-	void setVolume(byte volume);
-	int getVolume();
-	void playSwitch(bool play);
+	~MidiPlayer_Fb01() override;
+
+	int open(ResourceManager *resMan) override;
+	void close() override;
+	void initTrack(SciSpan<const byte>& header) override;
+	void send(uint32 b) override;
+	void sysEx(const byte *msg, uint16 length) override;
+	bool hasRhythmChannel() const override { return false; }
+	byte getPlayId() const override;
+	int getPolyphony() const override { return _version <= SCI_VERSION_0_LATE ? 8 : 9; }
+	void setVolume(byte volume) override;
+	int getVolume() override;
+	void playSwitch(bool play) override;
 
 	bool isOpen() const { return _isOpen; }
 
-	const char *reportMissingFiles() { return _missingFiles; }
+	const char *reportMissingFiles() override { return _missingFiles; }
 
 private:
 	void noteOn(int channel, int note, int velocity);
@@ -138,7 +138,7 @@ private:
 	Common::TimerManager::TimerProc _timerProc;
 	void *_timerParam;
 	static void midiTimerCallback(void *p);
-	void setTimerCallback(void *timer_param, Common::TimerManager::TimerProc timer_proc);
+	void setTimerCallback(void *timer_param, Common::TimerManager::TimerProc timer_proc) override;
 
 	const char *_missingFiles;
 	static const char _requiredFiles[2][12];
diff --git a/engines/sci/sound/drivers/fmtowns.cpp b/engines/sci/sound/drivers/fmtowns.cpp
index 4dd74bc..5ba6710 100644
--- a/engines/sci/sound/drivers/fmtowns.cpp
+++ b/engines/sci/sound/drivers/fmtowns.cpp
@@ -98,25 +98,25 @@ friend class TownsChannel;
 friend class TownsMidiPart;
 public:
 	MidiDriver_FMTowns(Audio::Mixer *mixer, SciVersion version);
-	~MidiDriver_FMTowns();
+	~MidiDriver_FMTowns() override;
 
-	int open();
+	int open() override;
 	void loadInstruments(const SciSpan<const uint8> &data);
-	bool isOpen() const { return _isOpen; }
-	void close();
+	bool isOpen() const override { return _isOpen; }
+	void close() override;
 
-	void send(uint32 b);
+	void send(uint32 b) override;
 
-	uint32 property(int prop, uint32 param);
-	void setTimerCallback(void *timer_param, Common::TimerManager::TimerProc timer_proc);
+	uint32 property(int prop, uint32 param) override;
+	void setTimerCallback(void *timer_param, Common::TimerManager::TimerProc timer_proc) override;
 
 	void setSoundOn(bool toggle);
 
-	uint32 getBaseTempo();
-	MidiChannel *allocateChannel() { return 0; }
-	MidiChannel *getPercussionChannel() { return 0; }
+	uint32 getBaseTempo() override;
+	MidiChannel *allocateChannel() override { return 0; }
+	MidiChannel *getPercussionChannel() override { return 0; }
 
-	void timerCallback(int timerId);
+	void timerCallback(int timerId) override;
 
 private:
 	int getChannelVolume(uint8 midiPart);
@@ -147,14 +147,14 @@ private:
 class MidiPlayer_FMTowns : public MidiPlayer {
 public:
 	MidiPlayer_FMTowns(SciVersion version);
-	~MidiPlayer_FMTowns();
+	~MidiPlayer_FMTowns() override;
 
-	int open(ResourceManager *resMan);
+	int open(ResourceManager *resMan) override;
 
-	bool hasRhythmChannel() const;
-	byte getPlayId() const;
-	int getPolyphony() const;
-	void playSwitch(bool play);
+	bool hasRhythmChannel() const override;
+	byte getPlayId() const override;
+	int getPolyphony() const override;
+	void playSwitch(bool play) override;
 
 private:
 	MidiDriver_FMTowns *_townsDriver;
diff --git a/engines/sci/sound/drivers/midi.cpp b/engines/sci/sound/drivers/midi.cpp
index eaa3258..48fb1dd 100644
--- a/engines/sci/sound/drivers/midi.cpp
+++ b/engines/sci/sound/drivers/midi.cpp
@@ -141,7 +141,7 @@ public:
 	};
 
 	MidiPlayer_Midi(SciVersion version);
-	virtual ~MidiPlayer_Midi();
+	~MidiPlayer_Midi() override;
 
 	int open(ResourceManager *resMan) override;
 	void close() override;
@@ -161,7 +161,7 @@ public:
 	int getVolume() override;
 	void setReverb(int8 reverb) override;
 	void playSwitch(bool play) override;
-	virtual void initTrack(SciSpan<const byte> &) override;
+	void initTrack(SciSpan<const byte> &) override;
 
 private:
 	bool isMt32GmPatch(const SciSpan<const byte> &data);
diff --git a/engines/sci/sound/drivers/mididriver.h b/engines/sci/sound/drivers/mididriver.h
index de87d9d..efa1d3c 100644
--- a/engines/sci/sound/drivers/mididriver.h
+++ b/engines/sci/sound/drivers/mididriver.h
@@ -88,7 +88,7 @@ public:
 	}
 	virtual int open(ResourceManager *resMan) { return _driver->open(); }
 	virtual void close() { _driver->close(); }
-	virtual void send(uint32 b) { _driver->send(b); }
+	void send(uint32 b) override { _driver->send(b); }
 	virtual uint32 getBaseTempo() { return _driver->getBaseTempo(); }
 	virtual bool hasRhythmChannel() const = 0;
 	virtual void setTimerCallback(void *timer_param, Common::TimerManager::TimerProc timer_proc) { _driver->setTimerCallback(timer_param, timer_proc); }
diff --git a/engines/sci/sound/drivers/pc9801.cpp b/engines/sci/sound/drivers/pc9801.cpp
index 13cb9d0..64d0af7 100644
--- a/engines/sci/sound/drivers/pc9801.cpp
+++ b/engines/sci/sound/drivers/pc9801.cpp
@@ -129,13 +129,13 @@ private:
 class SoundChannel_PC9801_FM4OP : public SoundChannel_PC9801 {
 public:
 	SoundChannel_PC9801_FM4OP(uint8 id, PC98AudioCore *pc98a, MidiPart_PC9801 **parts, SciVersion version, SciSpan<const uint8> instrumentData, uint8 patchSize, bool &soundOn);
-	virtual ~SoundChannel_PC9801_FM4OP() {}
+	~SoundChannel_PC9801_FM4OP() override {}
 
 private:
-	void programChange(uint8 program);
-	void sendSoundOnOff(bool soundOn);
-	void sendVolume();
-	void sendFrequency();
+	void programChange(uint8 program) override;
+	void sendSoundOnOff(bool soundOn) override;
+	void sendVolume() override;
+	void sendFrequency() override;
 
 	uint8 _operatorLevel[4];
 	uint8 _carrier;
@@ -149,18 +149,18 @@ private:
 class SoundChannel_PC9801_FM2OP : public SoundChannel_PC9801 {
 public:
 	SoundChannel_PC9801_FM2OP(uint8 id, PC98AudioCore *pc98a, MidiPart_PC9801 **parts,  SciVersion version, SciSpan<const uint8> instrumentData, uint8 patchSize, bool &soundOn);
-	virtual ~SoundChannel_PC9801_FM2OP() {}
+	~SoundChannel_PC9801_FM2OP() override {}
 	
-	void processNoteEvent(uint8 note, bool soundOn);
-	void reset();
+	void processNoteEvent(uint8 note, bool soundOn) override;
+	void reset() override;
 
 private:
-	void programChange(uint8 program);
-	bool prepareFrequencyAndVolume(bool updateVolume);
-	void processSounds();
-	void sendSoundOnOff(bool soundOn);
-	void sendVolume();
-	void sendFrequency();
+	void programChange(uint8 program) override;
+	bool prepareFrequencyAndVolume(bool updateVolume) override;
+	void processSounds() override;
+	void sendSoundOnOff(bool soundOn) override;
+	void sendVolume() override;
+	void sendFrequency() override;
 
 	uint8 _operatorLevel[2];
 	uint8 _operatorFrqIndex[2];
@@ -182,9 +182,9 @@ private:
 class SoundChannel_PC9801_SSG : public SoundChannel_PC9801 {
 public:
 	SoundChannel_PC9801_SSG(uint8 id, PC98AudioCore *pc98a, MidiPart_PC9801 **parts, SciVersion version, SciSpan<const uint8> instrumentData, uint8 patchOffset, uint8 patchSize, bool &soundOn);
-	virtual ~SoundChannel_PC9801_SSG() {}
-	void reset();
-	void toggleNoiseGenerator(bool enable);
+	~SoundChannel_PC9801_SSG() override {}
+	void reset() override;
+	void toggleNoiseGenerator(bool enable) override;
 
 private:
 	enum {
@@ -195,11 +195,11 @@ private:
 		kEnvSSG_keyOn = 0x10	
 	};
 
-	void programChange(uint8 program);
-	void processSounds();
-	void sendSoundOnOff(bool soundOn);
-	void sendVolume();
-	void sendFrequency();
+	void programChange(uint8 program) override;
+	void processSounds() override;
+	void sendSoundOnOff(bool soundOn) override;
+	void sendVolume() override;
+	void sendFrequency() override;
 	void updateNg();
 	void sendActiveChannelsStatus();
 
@@ -278,23 +278,23 @@ public:
 	};
 
 	MidiDriver_PC9801(Audio::Mixer *mixer, SciVersion version);
-	~MidiDriver_PC9801();
+	~MidiDriver_PC9801() override;
 
-	int open();
-	bool isOpen() const { return _isOpen; }
-	void close();
+	int open() override;
+	bool isOpen() const override { return _isOpen; }
+	void close() override;
 
-	void send(uint32 b);
+	void send(uint32 b) override;
 	static void assignFreeChannels(int num);
-	uint32 property(int prop, uint32 param);
+	uint32 property(int prop, uint32 param) override;
 	void initTrack(SciSpan<const byte> &header);
 
-	void setTimerCallback(void *timer_param, Common::TimerManager::TimerProc timer_proc);
-	uint32 getBaseTempo();	
-	MidiChannel *allocateChannel() { return 0; }
-	MidiChannel *getPercussionChannel() { return 0; }
+	void setTimerCallback(void *timer_param, Common::TimerManager::TimerProc timer_proc) override;
+	uint32 getBaseTempo() override;	
+	MidiChannel *allocateChannel() override { return 0; }
+	MidiChannel *getPercussionChannel() override { return 0; }
 
-	void timerCallbackB();
+	void timerCallbackB() override;
 
 private:
 	bool loadInstruments(const SciSpan<const uint8> &data);
@@ -341,14 +341,14 @@ public:
 	};
 
 	MidiPlayer_PC9801(SciVersion version);
-	~MidiPlayer_PC9801();
+	~MidiPlayer_PC9801() override;
 
-	bool hasRhythmChannel() const;
-	byte getPlayId() const;
-	int getPolyphony() const;
-	void playSwitch(bool play);
+	bool hasRhythmChannel() const override;
+	byte getPlayId() const override;
+	int getPolyphony() const override;
+	void playSwitch(bool play) override;
 
-	void initTrack(SciSpan<const byte> &trackData);
+	void initTrack(SciSpan<const byte> &trackData) override;
 };
 
 SoundChannel_PC9801::SoundChannel_PC9801(PC98AudioCore *pc98a, MidiPart_PC9801 **parts, SciVersion version, int type, SciSpan<const uint8> instrumentData, bool &soundOn)
diff --git a/engines/sci/sound/drivers/pcjr.cpp b/engines/sci/sound/drivers/pcjr.cpp
index 2399c50..3f8bad7 100644
--- a/engines/sci/sound/drivers/pcjr.cpp
+++ b/engines/sci/sound/drivers/pcjr.cpp
@@ -67,21 +67,21 @@ public:
 	};
 
 	MidiDriver_PCJr(Audio::Mixer *mixer) : MidiDriver_Emulated(mixer) { }
-	~MidiDriver_PCJr() { }
+	~MidiDriver_PCJr() override { }
 
 	// MidiDriver
-	int open() { return open(kMaxChannels); }
-	void close();
-	void send(uint32 b);
-	MidiChannel *allocateChannel() { return NULL; }
-	MidiChannel *getPercussionChannel() { return NULL; }
+	int open() override { return open(kMaxChannels); }
+	void close() override;
+	void send(uint32 b) override;
+	MidiChannel *allocateChannel() override { return NULL; }
+	MidiChannel *getPercussionChannel() override { return NULL; }
 
 	// AudioStream
-	bool isStereo() const { return false; }
-	int getRate() const { return _mixer->getOutputRate(); }
+	bool isStereo() const override { return false; }
+	int getRate() const override { return _mixer->getOutputRate(); }
 
 	// MidiDriver_Emulated
-	void generateSamples(int16 *buf, int len);
+	void generateSamples(int16 *buf, int len) override;
 
 	int open(int channels);
 private:
@@ -233,11 +233,11 @@ void MidiDriver_PCJr::close() {
 class MidiPlayer_PCJr : public MidiPlayer {
 public:
 	MidiPlayer_PCJr(SciVersion version) : MidiPlayer(version) { _driver = new MidiDriver_PCJr(g_system->getMixer()); }
-	int open(ResourceManager *resMan) { return static_cast<MidiDriver_PCJr *>(_driver)->open(getPolyphony()); }
-	byte getPlayId() const;
-	int getPolyphony() const { return 3; }
-	bool hasRhythmChannel() const { return false; }
-	void setVolume(byte volume) { static_cast<MidiDriver_PCJr *>(_driver)->_global_volume = volume; }
+	int open(ResourceManager *resMan) override { return static_cast<MidiDriver_PCJr *>(_driver)->open(getPolyphony()); }
+	byte getPlayId() const override;
+	int getPolyphony() const override { return 3; }
+	bool hasRhythmChannel() const override { return false; }
+	void setVolume(byte volume) override { static_cast<MidiDriver_PCJr *>(_driver)->_global_volume = volume; }
 };
 
 byte MidiPlayer_PCJr::getPlayId() const {
@@ -259,8 +259,8 @@ class MidiPlayer_PCSpeaker : public MidiPlayer_PCJr {
 public:
 	MidiPlayer_PCSpeaker(SciVersion version) : MidiPlayer_PCJr(version) { }
 
-	byte getPlayId() const;
-	int getPolyphony() const { return 1; }
+	byte getPlayId() const override;
+	int getPolyphony() const override { return 1; }
 };
 
 byte MidiPlayer_PCSpeaker::getPlayId() const {
diff --git a/engines/sci/sound/midiparser_sci.h b/engines/sci/sound/midiparser_sci.h
index 78abb31..d98c63b 100644
--- a/engines/sci/sound/midiparser_sci.h
+++ b/engines/sci/sound/midiparser_sci.h
@@ -51,17 +51,17 @@ namespace Sci {
 class MidiParser_SCI : public MidiParser {
 public:
 	MidiParser_SCI(SciVersion soundVersion, SciMusic *music);
-	~MidiParser_SCI();
+	~MidiParser_SCI() override;
 
 	void mainThreadBegin();
 	void mainThreadEnd();
 
 	bool loadMusic(SoundResource::Track *track, MusicEntry *psnd, int channelFilterMask, SciVersion soundVersion);
-	bool loadMusic(byte *, uint32) {
+	bool loadMusic(byte *, uint32) override {
 		return false;
 	}
 	void sendInitCommands();
-	void unloadMusic();
+	void unloadMusic() override;
 	void setMasterVolume(byte masterVolume);
 	void setVolume(byte volume);
 	void stop() {
@@ -74,13 +74,13 @@ public:
 			jumpToTick(0);
 	}
 
-	void allNotesOff();
+	void allNotesOff() override;
 
 	const SciSpan<const byte> &getMixedData() const { return *_mixedData; }
 	byte getSongReverb();
 
 	void sendFromScriptToDriver(uint32 midi);
-	void sendToDriver(uint32 midi);
+	void sendToDriver(uint32 midi) override;
 	void sendToDriver(byte status, byte firstOp, byte secondOp) {
 		sendToDriver(status | ((uint32)firstOp << 8) | ((uint32)secondOp << 16));
 	}
@@ -88,8 +88,8 @@ public:
 	void remapChannel(int channel, int devChannel);
 
 protected:
-	void parseNextEvent(EventInfo &info);
-	bool processEvent(const EventInfo &info, bool fireEvents = true);
+	void parseNextEvent(EventInfo &info) override;
+	bool processEvent(const EventInfo &info, bool fireEvents = true) override;
 	void midiMixChannels();
 	void midiFilterChannels(int channelMask);
 	byte midiGetNextChannel(long ticker);
diff --git a/engines/sci/sound/music.h b/engines/sci/sound/music.h
index 3a6de81..52fda38 100644
--- a/engines/sci/sound/music.h
+++ b/engines/sci/sound/music.h
@@ -130,13 +130,13 @@ public:
 
 public:
 	MusicEntry();
-	~MusicEntry();
+	~MusicEntry() override;
 
 	void doFade();
 	void onTimer();
 	void setSignal(int signal);
 
-	virtual void saveLoadWithSerializer(Common::Serializer &ser);
+	void saveLoadWithSerializer(Common::Serializer &ser) override;
 };
 
 struct DeviceChannelUsage {
@@ -167,7 +167,7 @@ class SciMusic : public Common::Serializable {
 
 public:
 	SciMusic(SciVersion soundVersion, bool useDigitalSFX);
-	~SciMusic();
+	~SciMusic() override;
 
 	void init();
 
@@ -238,7 +238,7 @@ public:
 
 	void needsRemap() { _needsRemap = true; }
 
-	virtual void saveLoadWithSerializer(Common::Serializer &ser);
+	void saveLoadWithSerializer(Common::Serializer &ser) override;
 
 	// Mutex for music code. Used to guard access to the song playlist, to the
 	// MIDI parser and to the MIDI driver/player. Note that guarded code must NOT
diff --git a/engines/sci/video/robot_decoder.h b/engines/sci/video/robot_decoder.h
index 314628e..47e8737 100644
--- a/engines/sci/video/robot_decoder.h
+++ b/engines/sci/video/robot_decoder.h
@@ -320,7 +320,7 @@ public:
 	};
 
 	RobotAudioStream(const int32 bufferSize);
-	virtual ~RobotAudioStream();
+	~RobotAudioStream() override;
 
 	/**
 	 * Adds a new audio packet to the stream.
@@ -435,13 +435,13 @@ private:
 #pragma mark RobotAudioStream - AudioStream implementation
 public:
 	int readBuffer(Audio::st_sample_t *outBuffer, int numSamples) override;
-	virtual bool isStereo() const override { return false; };
-	virtual int getRate() const override { return 22050; };
-	virtual bool endOfData() const override {
+	bool isStereo() const override { return false; };
+	int getRate() const override { return 22050; };
+	bool endOfData() const override {
 		Common::StackLock lock(_mutex);
 		return _readHeadAbs >= _writeHeadAbs;
 	};
-	virtual bool endOfStream() const override {
+	bool endOfStream() const override {
 		Common::StackLock lock(_mutex);
 		return _finished && endOfData();
 	}
diff --git a/engines/sci/video/seq_decoder.h b/engines/sci/video/seq_decoder.h
index e141f8d..def99a0 100644
--- a/engines/sci/video/seq_decoder.h
+++ b/engines/sci/video/seq_decoder.h
@@ -43,27 +43,27 @@ namespace Sci {
 class SEQDecoder : public Video::VideoDecoder {
 public:
 	SEQDecoder(uint frameDelay);
-	virtual ~SEQDecoder();
+	~SEQDecoder() override;
 
-	bool loadStream(Common::SeekableReadStream *stream);
+	bool loadStream(Common::SeekableReadStream *stream) override;
 
 private:
 	class SEQVideoTrack : public FixedRateVideoTrack {
 	public:
 		SEQVideoTrack(Common::SeekableReadStream *stream, uint frameDelay);
-		~SEQVideoTrack();
+		~SEQVideoTrack() override;
 
-		uint16 getWidth() const { return SEQ_SCREEN_WIDTH; }
-		uint16 getHeight() const { return SEQ_SCREEN_HEIGHT; }
-		Graphics::PixelFormat getPixelFormat() const { return Graphics::PixelFormat::createFormatCLUT8(); }
-		int getCurFrame() const { return _curFrame; }
-		int getFrameCount() const { return _frameCount; }
-		const Graphics::Surface *decodeNextFrame();
-		const byte *getPalette() const;
-		bool hasDirtyPalette() const { return _dirtyPalette; }
+		uint16 getWidth() const override { return SEQ_SCREEN_WIDTH; }
+		uint16 getHeight() const override { return SEQ_SCREEN_HEIGHT; }
+		Graphics::PixelFormat getPixelFormat() const override { return Graphics::PixelFormat::createFormatCLUT8(); }
+		int getCurFrame() const override { return _curFrame; }
+		int getFrameCount() const override { return _frameCount; }
+		const Graphics::Surface *decodeNextFrame() override;
+		const byte *getPalette() const override;
+		bool hasDirtyPalette() const override { return _dirtyPalette; }
 
 	protected:
-		Common::Rational getFrameRate() const { return Common::Rational(60, _frameDelay); }
+		Common::Rational getFrameRate() const override { return Common::Rational(60, _frameDelay); }
 
 	private:
 		enum {


Commit: 730a1ee4cc544f4380200d561c1238611ff6fbe3
    https://github.com/scummvm/scummvm/commit/730a1ee4cc544f4380200d561c1238611ff6fbe3
Author: Bastien Bouclet (bastien.bouclet at gmail.com)
Date: 2020-02-09T12:43:16+01:00

Commit Message:
SCUMM: Add override keywords

Changed paths:
    engines/scumm/actor.h
    engines/scumm/actor_he.h
    engines/scumm/akos.h
    engines/scumm/cdda.cpp
    engines/scumm/charset.h
    engines/scumm/costume.h
    engines/scumm/debugger.h
    engines/scumm/detection.cpp
    engines/scumm/dialogs.cpp
    engines/scumm/dialogs.h
    engines/scumm/file.h
    engines/scumm/file_nes.h
    engines/scumm/gfx.h
    engines/scumm/he/intern_he.h
    engines/scumm/he/logic/baseball2001.cpp
    engines/scumm/he/logic/basketball.cpp
    engines/scumm/he/logic/football.cpp
    engines/scumm/he/logic/funshop.cpp
    engines/scumm/he/logic/moonbase_logic.cpp
    engines/scumm/he/logic/puttrace.cpp
    engines/scumm/he/logic/soccer.cpp
    engines/scumm/he/moonbase/ai_defenseunit.h
    engines/scumm/he/moonbase/ai_targetacquisition.h
    engines/scumm/he/moonbase/ai_traveller.h
    engines/scumm/he/resource_he.h
    engines/scumm/he/sound_he.h
    engines/scumm/he/sprite_he.h
    engines/scumm/imuse/drivers/amiga.cpp
    engines/scumm/imuse/drivers/amiga.h
    engines/scumm/imuse/drivers/fmtowns.cpp
    engines/scumm/imuse/drivers/fmtowns.h
    engines/scumm/imuse/drivers/mac_m68k.h
    engines/scumm/imuse/drivers/pcspk.h
    engines/scumm/imuse/imuse_internal.h
    engines/scumm/imuse/instrument.cpp
    engines/scumm/imuse/instrument.h
    engines/scumm/imuse_digi/dimuse.h
    engines/scumm/midiparser_ro.cpp
    engines/scumm/music.h
    engines/scumm/players/player_ad.h
    engines/scumm/players/player_apple2.cpp
    engines/scumm/players/player_apple2.h
    engines/scumm/players/player_he.h
    engines/scumm/players/player_mac.h
    engines/scumm/players/player_mod.h
    engines/scumm/players/player_nes.h
    engines/scumm/players/player_pce.h
    engines/scumm/players/player_sid.h
    engines/scumm/players/player_towns.h
    engines/scumm/players/player_v1.h
    engines/scumm/players/player_v2.h
    engines/scumm/players/player_v2a.cpp
    engines/scumm/players/player_v2a.h
    engines/scumm/players/player_v2base.h
    engines/scumm/players/player_v2cms.h
    engines/scumm/players/player_v3a.h
    engines/scumm/players/player_v3m.h
    engines/scumm/players/player_v4a.h
    engines/scumm/players/player_v5m.h
    engines/scumm/scumm.h
    engines/scumm/scumm_v0.h
    engines/scumm/scumm_v2.h
    engines/scumm/scumm_v3.h
    engines/scumm/scumm_v4.h
    engines/scumm/scumm_v5.h
    engines/scumm/scumm_v6.h
    engines/scumm/scumm_v7.h
    engines/scumm/scumm_v8.h
    engines/scumm/smush/channel.h
    engines/scumm/sound.h


diff --git a/engines/scumm/actor.h b/engines/scumm/actor.h
index 02929e3..0f5d091 100644
--- a/engines/scumm/actor.h
+++ b/engines/scumm/actor.h
@@ -181,7 +181,7 @@ protected:
 public:
 
 	Actor(ScummEngine *scumm, int id);
-	virtual ~Actor() {}
+	~Actor() override {}
 
 //protected:
 	virtual void hideActor();
@@ -314,7 +314,7 @@ public:
 
 	void classChanged(int cls, bool value);
 
-	virtual void saveLoadWithSerializer(Common::Serializer &ser);
+	void saveLoadWithSerializer(Common::Serializer &ser) override;
 
 protected:
 	bool isInClass(int cls);
@@ -328,10 +328,10 @@ class Actor_v3 : public Actor {
 public:
 	Actor_v3(ScummEngine *scumm, int id) : Actor(scumm, id) {}
 
-	virtual void walkActor();
+	void walkActor() override;
 
 protected:
-	virtual void setupActorScale();
+	void setupActorScale() override;
 	void findPathTowardsOld(byte box, byte box2, byte box3, Common::Point &p2, Common::Point &p3);
 };
 
@@ -339,13 +339,13 @@ class Actor_v2 : public Actor_v3 {
 public:
 	Actor_v2(ScummEngine *scumm, int id) : Actor_v3(scumm, id) {}
 
-	virtual void initActor(int mode);
-	virtual void walkActor();
-	virtual AdjustBoxResult adjustXYToBeInBox(int dstX, int dstY);
+	void initActor(int mode) override;
+	void walkActor() override;
+	AdjustBoxResult adjustXYToBeInBox(int dstX, int dstY) override;
 
 protected:
-	virtual bool isPlayer();
-	virtual void prepareDrawActorCostume(BaseCostumeRenderer *bcr);
+	bool isPlayer() override;
+	void prepareDrawActorCostume(BaseCostumeRenderer *bcr) override;
 };
 
 enum ActorV0MiscFlags {
@@ -407,19 +407,19 @@ private:
 public:
 	Actor_v0(ScummEngine *scumm, int id) : Actor_v2(scumm, id) {}
 
-	void initActor(int mode);
+	void initActor(int mode) override;
 	void animateActor(int anim);
-	void animateCostume();
+	void animateCostume() override;
 
 	void limbFrameCheck(int limb);
 
 	void directionUpdate();
 	void speakCheck();
-	void setDirection(int direction);
-	void startAnimActor(int f);
+	void setDirection(int direction) override;
+	void startAnimActor(int f) override;
 
 	bool calcWalkDistances();
-	void walkActor();
+	void walkActor() override;
 	void actorSetWalkTo();
 	byte actorWalkXCalculate();
 	byte actorWalkYCalculate();
@@ -428,13 +428,13 @@ public:
 	void walkBoxQueueReset();
 	bool walkBoxQueuePrepare();
 
-	AdjustBoxResult adjustXYToBeInBox(int dstX, int dstY);
+	AdjustBoxResult adjustXYToBeInBox(int dstX, int dstY) override;
 	AdjustBoxResult adjustPosInBorderWalkbox(AdjustBoxResult box);
 
 	void setActorToTempPosition();
 	void setActorToOriginalPosition();
 
-	virtual void saveLoadWithSerializer(Common::Serializer &ser);
+	void saveLoadWithSerializer(Common::Serializer &ser) override;
 };
 
 
diff --git a/engines/scumm/actor_he.h b/engines/scumm/actor_he.h
index 9bc2449..d80d042 100644
--- a/engines/scumm/actor_he.h
+++ b/engines/scumm/actor_he.h
@@ -48,9 +48,9 @@ class ActorHE : public Actor {
 public:
 	ActorHE(ScummEngine *scumm, int id) : Actor(scumm, id) {}
 
-	virtual void initActor(int mode);
+	void initActor(int mode) override;
 
-	virtual void hideActor();
+	void hideActor() override;
 
 	void drawActorToBackBuf(int x, int y);
 
@@ -80,8 +80,8 @@ public:
 	} _heTalkQueue[16];
 
 
-	virtual void prepareDrawActorCostume(BaseCostumeRenderer *bcr);
-	virtual void setActorCostume(int c);
+	void prepareDrawActorCostume(BaseCostumeRenderer *bcr) override;
+	void setActorCostume(int c) override;
 };
 
 } // End of namespace Scumm
diff --git a/engines/scumm/akos.h b/engines/scumm/akos.h
index 017989424..8be8fbf 100644
--- a/engines/scumm/akos.h
+++ b/engines/scumm/akos.h
@@ -38,9 +38,9 @@ protected:
 public:
 	AkosCostumeLoader(ScummEngine *vm) : BaseCostumeLoader(vm) {}
 
-	void loadCostume(int id);
-	byte increaseAnims(Actor *a);
-	void costumeDecodeData(Actor *a, int frame, uint usemask);
+	void loadCostume(int id) override;
+	byte increaseAnims(Actor *a) override;
+	void costumeDecodeData(Actor *a, int frame, uint usemask) override;
 
 	//void animateLimb(int limb, int f);
 	bool hasManyDirections(int id) {
@@ -104,12 +104,12 @@ public:
 	int16 _actorHitX, _actorHitY;
 	bool _actorHitResult;
 
-	void setPalette(uint16 *_palette);
-	void setFacing(const Actor *a);
-	void setCostume(int costume, int shadow);
+	void setPalette(uint16 *_palette) override;
+	void setFacing(const Actor *a) override;
+	void setCostume(int costume, int shadow) override;
 
 protected:
-	byte drawLimb(const Actor *a, int limb);
+	byte drawLimb(const Actor *a, int limb) override;
 
 	byte codec1(int xmoveCur, int ymoveCur);
 	void codec1_genericDecode(Codec1 &v1);
diff --git a/engines/scumm/cdda.cpp b/engines/scumm/cdda.cpp
index d797712..2e380d0 100644
--- a/engines/scumm/cdda.cpp
+++ b/engines/scumm/cdda.cpp
@@ -45,14 +45,14 @@ private:
 
 public:
 	CDDAStream(Common::SeekableReadStream *stream, DisposeAfterUse::Flag disposeAfterUse);
-	virtual ~CDDAStream();
-
-	int readBuffer(int16 *buffer, const int numSamples);
-	bool isStereo() const { return true; }
-	int getRate() const { return 44100; }
-	bool endOfData() const { return _stream->eos(); }
-	bool seek(const Audio::Timestamp &where);
-	Audio::Timestamp getLength() const { return _length; }
+	~CDDAStream() override;
+
+	int readBuffer(int16 *buffer, const int numSamples) override;
+	bool isStereo() const override { return true; }
+	int getRate() const override { return 44100; }
+	bool endOfData() const override { return _stream->eos(); }
+	bool seek(const Audio::Timestamp &where) override;
+	Audio::Timestamp getLength() const override { return _length; }
 };
 
 CDDAStream::CDDAStream(Common::SeekableReadStream *stream, DisposeAfterUse::Flag disposeAfterUse) :
diff --git a/engines/scumm/charset.h b/engines/scumm/charset.h
index 7f69798..5c4bace 100644
--- a/engines/scumm/charset.h
+++ b/engines/scumm/charset.h
@@ -104,9 +104,9 @@ protected:
 public:
 	CharsetRendererCommon(ScummEngine *vm);
 
-	void setCurID(int32 id);
+	void setCurID(int32 id) override;
 
-	virtual int getFontHeight();
+	int getFontHeight() override;
 };
 
 class CharsetRendererPC : public CharsetRendererCommon {
@@ -142,10 +142,10 @@ protected:
 public:
 	CharsetRendererClassic(ScummEngine *vm) : CharsetRendererPC(vm) {}
 
-	void printChar(int chr, bool ignoreCharsetMask);
-	void drawChar(int chr, Graphics::Surface &s, int x, int y);
+	void printChar(int chr, bool ignoreCharsetMask) override;
+	void drawChar(int chr, Graphics::Surface &s, int x, int y) override;
 
-	int getCharWidth(uint16 chr);
+	int getCharWidth(uint16 chr) override;
 };
 
 #ifdef USE_RGB_COLOR
@@ -154,12 +154,12 @@ class CharsetRendererTownsClassic : public CharsetRendererClassic {
 public:
 	CharsetRendererTownsClassic(ScummEngine *vm);
 
-	int getCharWidth(uint16 chr);
-	int getFontHeight();
+	int getCharWidth(uint16 chr) override;
+	int getFontHeight() override;
 
 private:
-	void drawBitsN(const Graphics::Surface &s, byte *dst, const byte *src, byte bpp, int drawTop, int width, int height);
-	bool prepareDraw(uint16 chr);
+	void drawBitsN(const Graphics::Surface &s, byte *dst, const byte *src, byte bpp, int drawTop, int width, int height) override;
+	bool prepareDraw(uint16 chr) override;
 	void setupShadowMode();
 	bool useFontRomCharacter(uint16 chr);
 	void processCharsetColors();
@@ -178,12 +178,12 @@ protected:
 public:
 	CharsetRendererNES(ScummEngine *vm) : CharsetRendererCommon(vm) {}
 
-	void setCurID(int32 id) {}
-	void printChar(int chr, bool ignoreCharsetMask);
-	void drawChar(int chr, Graphics::Surface &s, int x, int y);
+	void setCurID(int32 id) override {}
+	void printChar(int chr, bool ignoreCharsetMask) override;
+	void drawChar(int chr, Graphics::Surface &s, int x, int y) override;
 
-	int getFontHeight() { return 8; }
-	int getCharWidth(uint16 chr) { return 8; }
+	int getFontHeight() override { return 8; }
+	int getCharWidth(uint16 chr) override { return 8; }
 };
 
 class CharsetRendererV3 : public CharsetRendererPC {
@@ -197,27 +197,27 @@ protected:
 public:
 	CharsetRendererV3(ScummEngine *vm) : CharsetRendererPC(vm) {}
 
-	void printChar(int chr, bool ignoreCharsetMask);
-	void drawChar(int chr, Graphics::Surface &s, int x, int y);
-	void setCurID(int32 id);
-	void setColor(byte color);
-	virtual int getCharWidth(uint16 chr);
+	void printChar(int chr, bool ignoreCharsetMask) override;
+	void drawChar(int chr, Graphics::Surface &s, int x, int y) override;
+	void setCurID(int32 id) override;
+	void setColor(byte color) override;
+	int getCharWidth(uint16 chr) override;
 };
 
 class CharsetRendererTownsV3 : public CharsetRendererV3 {
 public:
 	CharsetRendererTownsV3(ScummEngine *vm);
 
-	int getCharWidth(uint16 chr);
-	int getFontHeight();
+	int getCharWidth(uint16 chr) override;
+	int getFontHeight() override;
 
 private:
-	void enableShadow(bool enable);
-	void drawBits1(Graphics::Surface &dest, int x, int y, const byte *src, int drawTop, int width, int height);
+	void enableShadow(bool enable) override;
+	void drawBits1(Graphics::Surface &dest, int x, int y, const byte *src, int drawTop, int width, int height) override;
 #ifndef DISABLE_TOWNS_DUAL_LAYER_MODE
-	int getDrawWidthIntern(uint16 chr);
-	int getDrawHeightIntern(uint16 chr);
-	void setDrawCharIntern(uint16 chr);
+	int getDrawWidthIntern(uint16 chr) override;
+	int getDrawHeightIntern(uint16 chr) override;
+	void setDrawCharIntern(uint16 chr) override;
 #endif
 	uint16 _sjisCurChar;
 };
@@ -225,18 +225,18 @@ private:
 #ifdef USE_RGB_COLOR
 class CharsetRendererPCE : public CharsetRendererV3 {
 private:
-	void drawBits1(Graphics::Surface &dest, int x, int y, const byte *src, int drawTop, int width, int height);
+	void drawBits1(Graphics::Surface &dest, int x, int y, const byte *src, int drawTop, int width, int height) override;
 
-	int getDrawWidthIntern(uint16 chr);
-	int getDrawHeightIntern(uint16 chr);
-	void setDrawCharIntern(uint16 chr);
+	int getDrawWidthIntern(uint16 chr) override;
+	int getDrawHeightIntern(uint16 chr) override;
+	void setDrawCharIntern(uint16 chr) override;
 
 	uint16 _sjisCurChar;
 
 public:
 	CharsetRendererPCE(ScummEngine *vm) : CharsetRendererV3(vm), _sjisCurChar(0) {}
 
-	void setColor(byte color);
+	void setColor(byte color) override;
 };
 #endif
 
@@ -246,10 +246,10 @@ protected:
 
 public:
 	CharsetRendererV2(ScummEngine *vm, Common::Language language);
-	~CharsetRendererV2();
+	~CharsetRendererV2() override;
 
-	void setCurID(int32 id) {}
-	int getCharWidth(uint16 chr) { return 8; }
+	void setCurID(int32 id) override {}
+	int getCharWidth(uint16 chr) override { return 8; }
 };
 
 #ifdef ENABLE_SCUMM_7_8
@@ -260,15 +260,15 @@ protected:
 
 public:
 	CharsetRendererNut(ScummEngine *vm);
-	~CharsetRendererNut();
+	~CharsetRendererNut() override;
 
-	void printChar(int chr, bool ignoreCharsetMask);
+	void printChar(int chr, bool ignoreCharsetMask) override;
 
-	void setCurID(int32 id);
+	void setCurID(int32 id) override;
 
-	int getFontHeight();
-	int getCharHeight(byte chr);
-	int getCharWidth(uint16 chr);
+	int getFontHeight() override;
+	int getCharHeight(byte chr) override;
+	int getCharWidth(uint16 chr) override;
 };
 #endif
 
diff --git a/engines/scumm/costume.h b/engines/scumm/costume.h
index 8e4fd41..473cb7b 100644
--- a/engines/scumm/costume.h
+++ b/engines/scumm/costume.h
@@ -44,9 +44,9 @@ public:
 		_id(-1), _baseptr(0), _animCmds(0), _dataOffsets(0), _palette(0),
 		_frameOffsets(0), _numColors(0), _numAnim(0), _format(0), _mirror(false) {}
 
-	void loadCostume(int id);
-	void costumeDecodeData(Actor *a, int frame, uint usemask);
-	byte increaseAnims(Actor *a);
+	void loadCostume(int id) override;
+	void costumeDecodeData(Actor *a, int frame, uint usemask) override;
+	byte increaseAnims(Actor *a) override;
 
 protected:
 	byte increaseAnim(Actor *a, int slot);
@@ -60,9 +60,9 @@ public:
 	byte _numAnim;
 
 	NESCostumeLoader(ScummEngine *vm) : BaseCostumeLoader(vm) {}
-	void loadCostume(int id);
-	void costumeDecodeData(Actor *a, int frame, uint usemask);
-	byte increaseAnims(Actor *a);
+	void loadCostume(int id) override;
+	void costumeDecodeData(Actor *a, int frame, uint usemask) override;
+	byte increaseAnims(Actor *a) override;
 
 protected:
 	byte increaseAnim(Actor *a, int slot);
@@ -71,9 +71,9 @@ protected:
 class V0CostumeLoader : public ClassicCostumeLoader {
 public:
 	V0CostumeLoader(ScummEngine *vm) : ClassicCostumeLoader(vm) {}
-	void loadCostume(int id);
-	void costumeDecodeData(Actor *a, int frame, uint usemask);
-	byte increaseAnims(Actor *a);
+	void loadCostume(int id) override;
+	void costumeDecodeData(Actor *a, int frame, uint usemask) override;
+	byte increaseAnims(Actor *a) override;
 	byte getFrame(Actor *a, int limb);
 
 protected:
@@ -91,12 +91,12 @@ protected:
 public:
 	ClassicCostumeRenderer(ScummEngine *vm) : BaseCostumeRenderer(vm), _loaded(vm) {}
 
-	void setPalette(uint16 *palette);
-	void setFacing(const Actor *a);
-	void setCostume(int costume, int shadow);
+	void setPalette(uint16 *palette) override;
+	void setFacing(const Actor *a) override;
+	void setCostume(int costume, int shadow) override;
 
 protected:
-	byte drawLimb(const Actor *a, int limb);
+	byte drawLimb(const Actor *a, int limb) override;
 
 	void proc3(Codec1 &v1);
 	void proc3_ami(Codec1 &v1);
@@ -115,12 +115,12 @@ protected:
 public:
 	NESCostumeRenderer(ScummEngine *vm) : BaseCostumeRenderer(vm), _loaded(vm) {}
 
-	void setPalette(uint16 *palette);
-	void setFacing(const Actor *a);
-	void setCostume(int costume, int shadow);
+	void setPalette(uint16 *palette) override;
+	void setFacing(const Actor *a) override;
+	void setCostume(int costume, int shadow) override;
 
 protected:
-	byte drawLimb(const Actor *a, int limb);
+	byte drawLimb(const Actor *a, int limb) override;
 };
 
 #ifdef USE_RGB_COLOR
@@ -128,7 +128,7 @@ class PCEngineCostumeRenderer : public ClassicCostumeRenderer {
 public:
 	PCEngineCostumeRenderer(ScummEngine *vm) : ClassicCostumeRenderer(vm) {}
 
-	void setPalette(uint16 *palette);
+	void setPalette(uint16 *palette) override;
 };
 #endif
 
@@ -139,12 +139,12 @@ protected:
 public:
 	V0CostumeRenderer(ScummEngine *vm) : BaseCostumeRenderer(vm), _loaded(vm) {}
 
-	void setPalette(uint16 *palette) {}
-	void setFacing(const Actor *a) {}
-	void setCostume(int costume, int shadow);
+	void setPalette(uint16 *palette) override {}
+	void setFacing(const Actor *a) override {}
+	void setCostume(int costume, int shadow) override;
 
 protected:
-	byte drawLimb(const Actor *a, int limb);
+	byte drawLimb(const Actor *a, int limb) override;
 };
 
 } // End of namespace Scumm
diff --git a/engines/scumm/debugger.h b/engines/scumm/debugger.h
index 657f6be..2cc4c50 100644
--- a/engines/scumm/debugger.h
+++ b/engines/scumm/debugger.h
@@ -32,13 +32,13 @@ class ScummEngine;
 class ScummDebugger : public GUI::Debugger {
 public:
 	ScummDebugger(ScummEngine *s);
-	virtual ~ScummDebugger(); // we need this here for __SYMBIAN32__
+	~ScummDebugger() override; // we need this here for __SYMBIAN32__
 
 private:
 	ScummEngine *_vm;
 
-	virtual void preEnter();
-	virtual void postEnter();
+	void preEnter() override;
+	void postEnter() override;
 
 	// Commands
 	bool Cmd_Room(int argc, const char **argv);
diff --git a/engines/scumm/detection.cpp b/engines/scumm/detection.cpp
index a7c9698..44f3e28 100644
--- a/engines/scumm/detection.cpp
+++ b/engines/scumm/detection.cpp
@@ -968,25 +968,25 @@ using namespace Scumm;
 
 class ScummMetaEngine : public MetaEngine {
 public:
-	virtual const char *getEngineId() const override {
+	const char *getEngineId() const override {
 		return "scumm";
 	}
 
-	virtual const char *getName() const override;
-	virtual const char *getOriginalCopyright() const override;
+	const char *getName() const override;
+	const char *getOriginalCopyright() const override;
 
-	virtual bool hasFeature(MetaEngineFeature f) const override;
+	bool hasFeature(MetaEngineFeature f) const override;
 	PlainGameList getSupportedGames() const override;
 	PlainGameDescriptor findGame(const char *gameid) const override;
-	virtual DetectedGames detectGames(const Common::FSList &fslist) const override;
+	DetectedGames detectGames(const Common::FSList &fslist) const override;
 
-	virtual Common::Error createInstance(OSystem *syst, Engine **engine) const override;
+	Common::Error createInstance(OSystem *syst, Engine **engine) const override;
 
-	virtual SaveStateList listSaves(const char *target) const override;
-	virtual int getMaximumSaveSlot() const override;
-	virtual void removeSaveState(const char *target, int slot) const override;
-	virtual SaveStateDescriptor querySaveMetaInfos(const char *target, int slot) const override;
-	virtual const ExtraGuiOptions getExtraGuiOptions(const Common::String &target) const override;
+	SaveStateList listSaves(const char *target) const override;
+	int getMaximumSaveSlot() const override;
+	void removeSaveState(const char *target, int slot) const override;
+	SaveStateDescriptor querySaveMetaInfos(const char *target, int slot) const override;
+	const ExtraGuiOptions getExtraGuiOptions(const Common::String &target) const override;
 };
 
 bool ScummMetaEngine::hasFeature(MetaEngineFeature f) const {
diff --git a/engines/scumm/dialogs.cpp b/engines/scumm/dialogs.cpp
index 4b58290..a657922 100644
--- a/engines/scumm/dialogs.cpp
+++ b/engines/scumm/dialogs.cpp
@@ -205,9 +205,9 @@ static const ResString string_map_table_v345[] = {
 class HelpDialog : public ScummDialog {
 public:
 	HelpDialog(const GameSettings &game);
-	virtual void handleCommand(GUI::CommandSender *sender, uint32 cmd, uint32 data);
+	void handleCommand(GUI::CommandSender *sender, uint32 cmd, uint32 data) override;
 
-	virtual void reflowLayout();
+	void reflowLayout() override;
 
 protected:
 	typedef Common::String String;
diff --git a/engines/scumm/dialogs.h b/engines/scumm/dialogs.h
index b2cd760..59cc471 100644
--- a/engines/scumm/dialogs.h
+++ b/engines/scumm/dialogs.h
@@ -51,8 +51,8 @@ protected:
 class ScummMenuDialog : public MainMenuDialog {
 public:
 	ScummMenuDialog(ScummEngine *scumm);
-	~ScummMenuDialog();
-	virtual void handleCommand(GUI::CommandSender *sender, uint32 cmd, uint32 data);
+	~ScummMenuDialog() override;
+	void handleCommand(GUI::CommandSender *sender, uint32 cmd, uint32 data) override;
 
 protected:
 	GUI::Dialog		*_helpDialog;
@@ -79,16 +79,16 @@ public:
 
 	void setInfoText(const String& message);
 
-	virtual void handleMouseDown(int x, int y, int button, int clickCount) {
+	void handleMouseDown(int x, int y, int button, int clickCount) override {
 		setResult(0);
 		close();
 	}
-	virtual void handleKeyDown(Common::KeyState state) {
+	void handleKeyDown(Common::KeyState state) override {
 		setResult(state.ascii);
 		close();
 	}
 
-	virtual void reflowLayout();
+	void reflowLayout() override;
 
 protected:
 
@@ -103,7 +103,7 @@ protected:
 class PauseDialog : public InfoDialog {
 public:
 	PauseDialog(ScummEngine *scumm, int res);
-	virtual void handleKeyDown(Common::KeyState state);
+	void handleKeyDown(Common::KeyState state) override;
 };
 
 /**
@@ -113,7 +113,7 @@ public:
 class ConfirmDialog : public InfoDialog {
 public:
 	ConfirmDialog(ScummEngine *scumm, int res);
-	virtual void handleKeyDown(Common::KeyState state);
+	void handleKeyDown(Common::KeyState state) override;
 
 protected:
 	char _yesKey, _noKey;
@@ -127,15 +127,15 @@ class ValueDisplayDialog : public GUI::Dialog {
 public:
 	ValueDisplayDialog(const Common::String& label, int minVal, int maxVal, int val, uint16 incKey, uint16 decKey);
 
-	virtual void open() override;
+	void open() override;
 	void drawDialog(GUI::DrawLayer layerToDraw) override;
-	virtual void handleTickle() override;
-	virtual void handleMouseDown(int x, int y, int button, int clickCount) override {
+	void handleTickle() override;
+	void handleMouseDown(int x, int y, int button, int clickCount) override {
 		close();
 	}
-	virtual void handleKeyDown(Common::KeyState state) override;
+	void handleKeyDown(Common::KeyState state) override;
 
-	virtual void reflowLayout() override;
+	void reflowLayout() override;
 
 protected:
 	enum {
@@ -157,12 +157,12 @@ class SubtitleSettingsDialog : public InfoDialog {
 public:
 	SubtitleSettingsDialog(ScummEngine *scumm, int value);
 
-	virtual void open();
-	virtual void handleTickle();
-	virtual void handleMouseDown(int x, int y, int button, int clickCount) {
+	void open() override;
+	void handleTickle() override;
+	void handleMouseDown(int x, int y, int button, int clickCount) override {
 		close();
 	}
-	virtual void handleKeyDown(Common::KeyState state);
+	void handleKeyDown(Common::KeyState state) override;
 protected:
 	int _value;
 	uint32 _timer;
@@ -174,13 +174,13 @@ protected:
 class Indy3IQPointsDialog : public InfoDialog {
 public:
 	Indy3IQPointsDialog(ScummEngine *scumm, char* text);
-	virtual void handleKeyDown(Common::KeyState state);
+	void handleKeyDown(Common::KeyState state) override;
 };
 
 class DebugInputDialog : public InfoDialog {
 public:
 	DebugInputDialog(ScummEngine *scumm, char* text);
-	virtual void handleKeyDown(Common::KeyState state);
+	void handleKeyDown(Common::KeyState state) override;
 	bool done;
 	Common::String buffer;
 	Common::String mainText;
@@ -195,7 +195,7 @@ public:
 
 	int getSelectedDifficulty() const { return _difficulty; }
 protected:
-	virtual void handleCommand(GUI::CommandSender *sender, uint32 cmd, uint32 data);
+	void handleCommand(GUI::CommandSender *sender, uint32 cmd, uint32 data) override;
 
 private:
 	enum {
diff --git a/engines/scumm/file.h b/engines/scumm/file.h
index e7c1eb6..71fa641 100644
--- a/engines/scumm/file.h
+++ b/engines/scumm/file.h
@@ -38,12 +38,12 @@ public:
 	BaseScummFile() : _encbyte(0) {}
 	void setEnc(byte value) { _encbyte = value; }
 
-	virtual bool open(const Common::String &filename) = 0;
+	bool open(const Common::String &filename) override = 0;
 	virtual bool openSubFile(const Common::String &filename) = 0;
 
-	virtual int32 pos() const = 0;
-	virtual int32 size() const = 0;
-	virtual bool seek(int32 offs, int whence = SEEK_SET) = 0;
+	int32 pos() const override = 0;
+	int32 size() const override = 0;
+	bool seek(int32 offs, int whence = SEEK_SET) override = 0;
 
 // Unused
 #if 0
@@ -64,16 +64,16 @@ protected:
 public:
 	ScummFile();
 
-	virtual bool open(const Common::String &filename);
-	bool openSubFile(const Common::String &filename);
+	bool open(const Common::String &filename) override;
+	bool openSubFile(const Common::String &filename) override;
 
-	void clearErr() { _myEos = false; BaseScummFile::clearErr(); }
+	void clearErr() override { _myEos = false; BaseScummFile::clearErr(); }
 
-	bool eos() const;
-	int32 pos() const;
-	int32 size() const;
-	bool seek(int32 offs, int whence = SEEK_SET);
-	uint32 read(void *dataPtr, uint32 dataSize);
+	bool eos() const override;
+	int32 pos() const override;
+	int32 size() const override;
+	bool seek(int32 offs, int whence = SEEK_SET) override;
+	uint32 read(void *dataPtr, uint32 dataSize) override;
 };
 
 class ScummDiskImage : public BaseScummFile {
@@ -109,15 +109,15 @@ private:
 public:
 	ScummDiskImage(const char *disk1, const char *disk2, GameSettings game);
 
-	bool open(const Common::String &filename);
-	bool openSubFile(const Common::String &filename);
+	bool open(const Common::String &filename) override;
+	bool openSubFile(const Common::String &filename) override;
 
-	void close();
-	bool eos() const { return _stream->eos(); }
-	int32 pos() const { return _stream->pos(); }
-	int32 size() const { return _stream->size(); }
-	bool seek(int32 offs, int whence = SEEK_SET) { return _stream->seek(offs, whence); }
-	uint32 read(void *dataPtr, uint32 dataSize);
+	void close() override;
+	bool eos() const override { return _stream->eos(); }
+	int32 pos() const override { return _stream->pos(); }
+	int32 size() const override { return _stream->size(); }
+	bool seek(int32 offs, int whence = SEEK_SET) override { return _stream->seek(offs, whence); }
+	uint32 read(void *dataPtr, uint32 dataSize) override;
 };
 
 struct SteamIndexFile {
@@ -140,7 +140,7 @@ private:
 public:
 	ScummSteamFile(const SteamIndexFile &indexFile) : ScummFile(), _indexFile(indexFile) {}
 
-	bool open(const Common::String &filename);
+	bool open(const Common::String &filename) override;
 };
 
 } // End of namespace Scumm
diff --git a/engines/scumm/file_nes.h b/engines/scumm/file_nes.h
index 2dfb6c5..745ae3d 100644
--- a/engines/scumm/file_nes.h
+++ b/engines/scumm/file_nes.h
@@ -79,15 +79,15 @@ private:
 public:
 	ScummNESFile();
 
-	bool open(const Common::String &filename);
-	bool openSubFile(const Common::String &filename);
+	bool open(const Common::String &filename) override;
+	bool openSubFile(const Common::String &filename) override;
 
-	void close();
-	bool eos() const { return _stream->eos(); }
-	int32 pos() const { return _stream->pos(); }
-	int32 size() const { return _stream->size(); }
-	bool seek(int32 offs, int whence = SEEK_SET) { return _stream->seek(offs, whence); }
-	uint32 read(void *dataPtr, uint32 dataSize);
+	void close() override;
+	bool eos() const override { return _stream->eos(); }
+	int32 pos() const override { return _stream->pos(); }
+	int32 size() const override { return _stream->size(); }
+	bool seek(int32 offs, int whence = SEEK_SET) override { return _stream->seek(offs, whence); }
+	uint32 read(void *dataPtr, uint32 dataSize) override;
 };
 
 } // End of namespace Scumm
diff --git a/engines/scumm/gfx.h b/engines/scumm/gfx.h
index 35be192..6c8503c 100644
--- a/engines/scumm/gfx.h
+++ b/engines/scumm/gfx.h
@@ -293,13 +293,13 @@ protected:
 protected:
 	void decompressTMSK(byte *dst, const byte *tmsk, const byte *src, int height) const;
 
-	virtual void decodeMask(int x, int y, const int width, const int height,
+	void decodeMask(int x, int y, const int width, const int height,
 	                int stripnr, int numzbuf, const byte *zplane_list[9],
-	                bool transpStrip, byte flag);
+	                bool transpStrip, byte flag) override;
 
-	virtual void prepareDrawBitmap(const byte *ptr, VirtScreen *vs,
+	void prepareDrawBitmap(const byte *ptr, VirtScreen *vs,
 					const int x, const int y, const int width, const int height,
-	                int stripnr, int numstrip);
+	                int stripnr, int numstrip) override;
 public:
 	GdiHE(ScummEngine *vm);
 };
@@ -321,22 +321,22 @@ protected:
 	void drawStripNES(byte *dst, byte *mask, int dstPitch, int stripnr, int top, int height);
 	void drawStripNESMask(byte *dst, int stripnr, int top, int height) const;
 
-	virtual bool drawStrip(byte *dstPtr, VirtScreen *vs,
+	bool drawStrip(byte *dstPtr, VirtScreen *vs,
 					int x, int y, const int width, const int height,
-					int stripnr, const byte *smap_ptr);
+					int stripnr, const byte *smap_ptr) override;
 
-	virtual void decodeMask(int x, int y, const int width, const int height,
+	void decodeMask(int x, int y, const int width, const int height,
 	                int stripnr, int numzbuf, const byte *zplane_list[9],
-	                bool transpStrip, byte flag);
+	                bool transpStrip, byte flag) override;
 
-	virtual void prepareDrawBitmap(const byte *ptr, VirtScreen *vs,
+	void prepareDrawBitmap(const byte *ptr, VirtScreen *vs,
 					const int x, const int y, const int width, const int height,
-	                int stripnr, int numstrip);
+	                int stripnr, int numstrip) override;
 
 public:
 	GdiNES(ScummEngine *vm);
 
-	virtual void roomChanged(byte *roomptr);
+	void roomChanged(byte *roomptr) override;
 };
 
 #ifdef USE_RGB_COLOR
@@ -364,24 +364,24 @@ protected:
 	void drawStripPCEngine(byte *dst, byte *mask, int dstPitch, int stripnr, int top, int height);
 	void drawStripPCEngineMask(byte *dst, int stripnr, int top, int height) const;
 
-	virtual bool drawStrip(byte *dstPtr, VirtScreen *vs,
+	bool drawStrip(byte *dstPtr, VirtScreen *vs,
 					int x, int y, const int width, const int height,
-					int stripnr, const byte *smap_ptr);
+					int stripnr, const byte *smap_ptr) override;
 
-	virtual void decodeMask(int x, int y, const int width, const int height,
+	void decodeMask(int x, int y, const int width, const int height,
 	                int stripnr, int numzbuf, const byte *zplane_list[9],
-	                bool transpStrip, byte flag);
+	                bool transpStrip, byte flag) override;
 
-	virtual void prepareDrawBitmap(const byte *ptr, VirtScreen *vs,
+	void prepareDrawBitmap(const byte *ptr, VirtScreen *vs,
 					const int x, const int y, const int width, const int height,
-	                int stripnr, int numstrip);
+	                int stripnr, int numstrip) override;
 
 public:
 	GdiPCEngine(ScummEngine *vm);
-	~GdiPCEngine();
+	~GdiPCEngine() override;
 
-	virtual void loadTiles(byte *roomptr);
-	virtual void roomChanged(byte *roomptr);
+	void loadTiles(byte *roomptr) override;
+	void roomChanged(byte *roomptr) override;
 };
 #endif
 
@@ -401,22 +401,22 @@ protected:
 	void drawStripV1Background(byte *dst, int dstPitch, int stripnr, int height);
 	void drawStripV1Mask(byte *dst, int stripnr, int width, int height) const;
 
-	virtual bool drawStrip(byte *dstPtr, VirtScreen *vs,
+	bool drawStrip(byte *dstPtr, VirtScreen *vs,
 					int x, int y, const int width, const int height,
-					int stripnr, const byte *smap_ptr);
+					int stripnr, const byte *smap_ptr) override;
 
-	virtual void decodeMask(int x, int y, const int width, const int height,
+	void decodeMask(int x, int y, const int width, const int height,
 	                int stripnr, int numzbuf, const byte *zplane_list[9],
-	                bool transpStrip, byte flag);
+	                bool transpStrip, byte flag) override;
 
-	virtual void prepareDrawBitmap(const byte *ptr, VirtScreen *vs,
+	void prepareDrawBitmap(const byte *ptr, VirtScreen *vs,
 					const int x, const int y, const int width, const int height,
-	                int stripnr, int numstrip);
+	                int stripnr, int numstrip) override;
 
 public:
 	GdiV1(ScummEngine *vm);
 
-	virtual void roomChanged(byte *roomptr);
+	void roomChanged(byte *roomptr) override;
 };
 
 class GdiV2 : public Gdi {
@@ -427,29 +427,29 @@ protected:
 protected:
 	StripTable *generateStripTable(const byte *src, int width, int height, StripTable *table) const;
 
-	virtual bool drawStrip(byte *dstPtr, VirtScreen *vs,
+	bool drawStrip(byte *dstPtr, VirtScreen *vs,
 					int x, int y, const int width, const int height,
-					int stripnr, const byte *smap_ptr);
+					int stripnr, const byte *smap_ptr) override;
 
-	virtual void decodeMask(int x, int y, const int width, const int height,
+	void decodeMask(int x, int y, const int width, const int height,
 	                int stripnr, int numzbuf, const byte *zplane_list[9],
-	                bool transpStrip, byte flag);
+	                bool transpStrip, byte flag) override;
 
-	virtual void prepareDrawBitmap(const byte *ptr, VirtScreen *vs,
+	void prepareDrawBitmap(const byte *ptr, VirtScreen *vs,
 					const int x, const int y, const int width, const int height,
-	                int stripnr, int numstrip);
+	                int stripnr, int numstrip) override;
 
 public:
 	GdiV2(ScummEngine *vm);
-	~GdiV2();
+	~GdiV2() override;
 
-	virtual void roomChanged(byte *roomptr);
+	void roomChanged(byte *roomptr) override;
 };
 
 #ifdef USE_RGB_COLOR
 class GdiHE16bit : public GdiHE {
 protected:
-	virtual void writeRoomColor(byte *dst, byte color) const;
+	void writeRoomColor(byte *dst, byte color) const override;
 public:
 	GdiHE16bit(ScummEngine *vm);
 };
diff --git a/engines/scumm/he/intern_he.h b/engines/scumm/he/intern_he.h
index 90f78f0..d10e117 100644
--- a/engines/scumm/he/intern_he.h
+++ b/engines/scumm/he/intern_he.h
@@ -64,16 +64,16 @@ public:
 
 public:
 	ScummEngine_v60he(OSystem *syst, const DetectorResult &dr);
-	~ScummEngine_v60he();
+	~ScummEngine_v60he() override;
 
-	virtual Common::String generateFilename(const int room) const;
+	Common::String generateFilename(const int room) const override;
 
-	virtual void resetScumm();
+	void resetScumm() override;
 
 protected:
-	virtual void setupOpcodes();
+	void setupOpcodes() override;
 
-	virtual void saveLoadWithSerializer(Common::Serializer &s);
+	void saveLoadWithSerializer(Common::Serializer &s) override;
 
 	void localizeArray(int slot, byte scriptSlot);
 	void redimArray(int arrayId, int newX, int newY, int d);
@@ -83,7 +83,7 @@ protected:
 	int virtScreenSave(byte *dst, int x1, int y1, int x2, int y2);
 	void virtScreenLoad(int resIdx, int x1, int y1, int x2, int y2);
 
-	virtual void decodeParseString(int a, int b);
+	void decodeParseString(int a, int b) override;
 	void swapObjects(int object1, int object2);
 
 	Common::String convertFilePath(const byte *src);
@@ -96,10 +96,10 @@ protected:
 	Common::WriteStream *openSaveFileForAppending(const byte *fileName);
 	void deleteSaveFile(const byte *fileName);
 	void renameSaveFile(const byte *from, const byte *to);
-	void pauseEngineIntern(bool pause);
+	void pauseEngineIntern(bool pause) override;
 
-	Common::SeekableReadStream *openSaveFileForReading(int slot, bool compat, Common::String &fileName);
-	Common::WriteStream *openSaveFileForWriting(int slot, bool compat, Common::String &fileName);
+	Common::SeekableReadStream *openSaveFileForReading(int slot, bool compat, Common::String &fileName) override;
+	Common::WriteStream *openSaveFileForWriting(int slot, bool compat, Common::String &fileName) override;
 
 	/* HE version 60 script opcodes */
 	void o60_setState();
@@ -148,38 +148,38 @@ protected:
 
 public:
 	ScummEngine_v70he(OSystem *syst, const DetectorResult &dr);
-	~ScummEngine_v70he();
+	~ScummEngine_v70he() override;
 
-	virtual Common::String generateFilename(const int room) const;
+	Common::String generateFilename(const int room) const override;
 
 	void restoreBackgroundHE(Common::Rect rect, int dirtybit = 0);
 
 protected:
-	virtual void allocateArrays();
-	virtual int readResTypeList(ResType type);
-	virtual uint32 getResourceRoomOffset(ResType type, ResId idx);
-	virtual void setupOpcodes();
+	void allocateArrays() override;
+	int readResTypeList(ResType type) override;
+	uint32 getResourceRoomOffset(ResType type, ResId idx) override;
+	void setupOpcodes() override;
 
-	virtual void setupScummVars();
-	virtual void resetScummVars();
+	void setupScummVars() override;
+	void resetScummVars() override;
 
-	virtual void saveLoadWithSerializer(Common::Serializer &s);
+	void saveLoadWithSerializer(Common::Serializer &s) override;
 
-	virtual void readRoomsOffsets();
-	virtual void readGlobalObjects();
-	virtual void readIndexBlock(uint32 blocktype, uint32 itemsize);
+	void readRoomsOffsets() override;
+	void readGlobalObjects() override;
+	void readIndexBlock(uint32 blocktype, uint32 itemsize) override;
 
-	virtual void clearRoomObjects();
-	virtual void resetRoomObjects();
+	void clearRoomObjects() override;
+	void resetRoomObjects() override;
 
-	virtual int getActorFromPos(int x, int y);
+	int getActorFromPos(int x, int y) override;
 
-	virtual void loadFlObject(uint object, uint room);
+	void loadFlObject(uint object, uint room) override;
 	void storeFlObject(int slot);
 	void restoreFlObjects();
 
-	virtual void setCursorFromImg(uint img, uint room, uint imgindex);
-	virtual void setDefaultCursor();
+	void setCursorFromImg(uint img, uint room, uint imgindex) override;
+	void setDefaultCursor() override;
 
 	/* HE version 70 script opcodes */
 	void o70_soundOps();
@@ -209,7 +209,7 @@ protected:
 
 public:
 	ScummEngine_v71he(OSystem *syst, const DetectorResult &dr);
-	~ScummEngine_v71he();
+	~ScummEngine_v71he() override;
 
 	byte *heFindResourceData(uint32 tag, byte *ptr);
 	byte *heFindResource(uint32 tag, byte *ptr);
@@ -220,17 +220,17 @@ public:
 	virtual int setupStringArray(int size);
 
 protected:
-	virtual void setupOpcodes();
+	void setupOpcodes() override;
 
-	virtual void saveLoadWithSerializer(Common::Serializer &s);
+	void saveLoadWithSerializer(Common::Serializer &s) override;
 
-	virtual void redrawBGAreas();
+	void redrawBGAreas() override;
 
-	virtual void processActors();
+	void processActors() override;
 	void preProcessAuxQueue();
 	void postProcessAuxQueue();
 
-	virtual void clearDrawQueues();
+	void clearDrawQueues() override;
 
 	int getStringCharWidth(byte chr);
 	void appendSubstring(int dst, int src, int len2, int len);
@@ -287,28 +287,28 @@ protected:
 public:
 	ScummEngine_v72he(OSystem *syst, const DetectorResult &dr);
 
-	virtual void resetScumm();
+	void resetScumm() override;
 
-	virtual byte *getStringAddress(ResId idx);
-	virtual int setupStringArray(int size);
+	byte *getStringAddress(ResId idx) override;
+	int setupStringArray(int size) override;
 	virtual int setupStringArrayFromString(const char *cStr);
 	virtual void getStringFromArray(int arrayNumber, char *buffer, int maxLength);
 
 protected:
-	virtual void setupOpcodes();
+	void setupOpcodes() override;
 
-	virtual void setupScummVars();
-	virtual void resetScummVars();
-	virtual void readArrayFromIndexFile();
+	void setupScummVars() override;
+	void resetScummVars() override;
+	void readArrayFromIndexFile() override;
 
-	virtual void readMAXS(int blockSize);
+	void readMAXS(int blockSize) override;
 
-	virtual void redrawBGAreas();
-	virtual void checkExecVerbs();
+	void redrawBGAreas() override;
+	void checkExecVerbs() override;
 
 	byte *defineArray(int array, int type, int dim2start, int dim2end, int dim1start, int dim1end, bool newArray = false, int *newid = NULL);
-	virtual int readArray(int array, int idx2, int idx1);
-	virtual void writeArray(int array, int idx2, int idx1, int value);
+	int readArray(int array, int idx2, int idx1) override;
+	void writeArray(int array, int idx2, int idx1, int value) override;
 	void redimArray(int arrayId, int newDim2start, int newDim2end,
 					int newDim1start, int newDim1end, int type);
 	void checkArrayLimits(int array, int dim2start, int dim2end, int dim1start, int dim1end);
@@ -318,15 +318,15 @@ protected:
 	int readFileToArray(int slot, int32 size);
 	void writeFileFromArray(int slot, int32 resID);
 
-	virtual void decodeParseString(int a, int b);
+	void decodeParseString(int a, int b) override;
 	void decodeScriptString(byte *dst, bool scriptString = false);
 	void copyScriptString(byte *dst, int dstSize);
 
 	int findObject(int x, int y, int num, int *args);
 	int getSoundResourceSize(ResId idx);
 
-	virtual bool handleNextCharsetCode(Actor *a, int *c);
-	virtual int convertMessageToString(const byte *msg, byte *dst, int dstSize);
+	bool handleNextCharsetCode(Actor *a, int *c) override;
+	int convertMessageToString(const byte *msg, byte *dst, int dstSize) override;
 
 	void debugInput(byte *string);
 
@@ -401,23 +401,23 @@ public:
 	ScummEngine_v80he(OSystem *syst, const DetectorResult &dr);
 
 protected:
-	virtual void setupOpcodes();
+	void setupOpcodes() override;
 
-	virtual void setupScummVars();
-	virtual void resetScummVars();
+	void setupScummVars() override;
+	void resetScummVars() override;
 
-	virtual void parseEvent(Common::Event event);
+	void parseEvent(Common::Event event) override;
 
-	virtual void initCharset(int charset);
+	void initCharset(int charset) override;
 
-	virtual void clearDrawQueues();
+	void clearDrawQueues() override;
 
 	void createSound(int snd1id, int snd2id);
 
 	void drawLine(int x1, int y1, int x, int unk1, int unk2, int type, int id);
 	void drawPixel(int x, int y, int flags);
 
-	virtual void setDefaultCursor();
+	void setDefaultCursor() override;
 
 	/* HE version 80 script opcodes */
 	void o80_createSound();
@@ -472,30 +472,30 @@ protected:
 
 public:
 	ScummEngine_v90he(OSystem *syst, const DetectorResult &dr);
-	~ScummEngine_v90he();
+	~ScummEngine_v90he() override;
 
 protected:
-	virtual void allocateArrays();
-	virtual void setupOpcodes();
+	void allocateArrays() override;
+	void setupOpcodes() override;
 
-	virtual void resetScumm();
+	void resetScumm() override;
 
-	virtual void setupScummVars();
-	virtual void resetScummVars();
+	void setupScummVars() override;
+	void resetScummVars() override;
 
-	virtual void scummLoop(int delta);
-	virtual void scummLoop_handleDrawing();
-	virtual void runBootscript();
+	void scummLoop(int delta) override;
+	void scummLoop_handleDrawing() override;
+	void runBootscript() override;
 
-	virtual void processInput();
-	virtual void clearClickedStatus();
+	void processInput() override;
+	void clearClickedStatus() override;
 
-	virtual void saveLoadWithSerializer(Common::Serializer &s);
+	void saveLoadWithSerializer(Common::Serializer &s) override;
 
-	virtual void readMAXS(int blockSize);
+	void readMAXS(int blockSize) override;
 	void setResourceOffHeap(int typeId, int resId, int val);
 
-	virtual void processActors();
+	void processActors() override;
 
 	int computeWizHistogram(int resnum, int state, int x, int y, int w, int h);
 	void getArrayDim(int array, int *dim2start, int *dim2end, int *dim1start, int *dim1end);
@@ -574,20 +574,20 @@ class ScummEngine_v99he : public ScummEngine_v90he {
 public:
 	ScummEngine_v99he(OSystem *syst, const DetectorResult &dr) : ScummEngine_v90he(syst, dr) {}
 
-	virtual void resetScumm();
+	void resetScumm() override;
 
 protected:
-	virtual void resetScummVars();
+	void resetScummVars() override;
 
-	virtual void readMAXS(int blockSize);
+	void readMAXS(int blockSize) override;
 
-	virtual void saveLoadWithSerializer(Common::Serializer &s);
+	void saveLoadWithSerializer(Common::Serializer &s) override;
 
-	virtual void copyPalColor(int dst, int src);
-	virtual void darkenPalette(int redScale, int greenScale, int blueScale, int startColor, int endColor);
-	virtual void setPaletteFromPtr(const byte *ptr, int numcolor = -1);
-	virtual void setPalColor(int index, int r, int g, int b);
-	virtual void updatePalette();
+	void copyPalColor(int dst, int src) override;
+	void darkenPalette(int redScale, int greenScale, int blueScale, int startColor, int endColor) override;
+	void setPaletteFromPtr(const byte *ptr, int numcolor = -1) override;
+	void setPalColor(int index, int r, int g, int b) override;
+	void updatePalette() override;
 };
 
 class ScummEngine_v100he : public ScummEngine_v99he {
@@ -606,19 +606,19 @@ public:
 
 public:
 	ScummEngine_v100he(OSystem *syst, const DetectorResult &dr);
-	~ScummEngine_v100he();
+	~ScummEngine_v100he() override;
 
-	virtual void resetScumm();
+	void resetScumm() override;
 
-	virtual void setupScummVars();
-	virtual void resetScummVars();
+	void setupScummVars() override;
+	void resetScummVars() override;
 
 protected:
-	virtual void setupOpcodes();
+	void setupOpcodes() override;
 
-	virtual void saveLoadWithSerializer(Common::Serializer &s);
+	void saveLoadWithSerializer(Common::Serializer &s) override;
 
-	virtual void decodeParseString(int a, int b);
+	void decodeParseString(int a, int b) override;
 
 	/* HE version 100 script opcodes */
 	void o100_actorOps();
@@ -679,9 +679,9 @@ protected:
 
 public:
 	ScummEngine_vCUPhe(OSystem *syst, const DetectorResult &dr);
-	~ScummEngine_vCUPhe();
+	~ScummEngine_vCUPhe() override;
 
-	virtual Common::Error run();
+	Common::Error run() override;
 
 	void parseEvents();
 
diff --git a/engines/scumm/he/logic/baseball2001.cpp b/engines/scumm/he/logic/baseball2001.cpp
index 5cbc96a..7cece40 100644
--- a/engines/scumm/he/logic/baseball2001.cpp
+++ b/engines/scumm/he/logic/baseball2001.cpp
@@ -33,8 +33,8 @@ class LogicHEbaseball2001 : public LogicHE {
 public:
 	LogicHEbaseball2001(ScummEngine_v90he *vm) : LogicHE(vm) {}
 
-	int versionID();
-	int32 dispatch(int op, int numArgs, int32 *args);
+	int versionID() override;
+	int32 dispatch(int op, int numArgs, int32 *args) override;
 };
 
 int LogicHEbaseball2001::versionID() {
diff --git a/engines/scumm/he/logic/basketball.cpp b/engines/scumm/he/logic/basketball.cpp
index 96665f9..9d2b302 100644
--- a/engines/scumm/he/logic/basketball.cpp
+++ b/engines/scumm/he/logic/basketball.cpp
@@ -33,8 +33,8 @@ class LogicHEbasketball : public LogicHE {
 public:
 	LogicHEbasketball(ScummEngine_v90he *vm) : LogicHE(vm) {}
 
-	int versionID();
-	int32 dispatch(int op, int numArgs, int32 *args);
+	int versionID() override;
+	int32 dispatch(int op, int numArgs, int32 *args) override;
 
 private:
 	int op_1012();
diff --git a/engines/scumm/he/logic/football.cpp b/engines/scumm/he/logic/football.cpp
index ab93e9c..58b91b0 100644
--- a/engines/scumm/he/logic/football.cpp
+++ b/engines/scumm/he/logic/football.cpp
@@ -36,8 +36,8 @@ class LogicHEfootball : public LogicHE {
 public:
 	LogicHEfootball(ScummEngine_v90he *vm) : LogicHE(vm) {}
 
-	int versionID();
-	virtual int32 dispatch(int op, int numArgs, int32 *args);
+	int versionID() override;
+	int32 dispatch(int op, int numArgs, int32 *args) override;
 
 protected:
 	int lineEquation3D(int32 *args);
@@ -293,11 +293,11 @@ public:
                 _minX = 1000000;
 	}
 
-	int32 dispatch(int op, int numArgs, int32 *args);
+	int32 dispatch(int op, int numArgs, int32 *args) override;
 
 private:
-	int translateWorldToScreen(int32 *args);
-	int translateScreenToWorld(int32 *args);
+	int translateWorldToScreen(int32 *args) override;
+	int translateScreenToWorld(int32 *args) override;
 	int getDayOfWeek();
 	int initScreenTranslations();
 	int getPlaybookFiles(int32 *args);
diff --git a/engines/scumm/he/logic/funshop.cpp b/engines/scumm/he/logic/funshop.cpp
index 50759cf..c4f3dcb 100644
--- a/engines/scumm/he/logic/funshop.cpp
+++ b/engines/scumm/he/logic/funshop.cpp
@@ -35,8 +35,8 @@ class LogicHEfunshop : public LogicHE {
 public:
 	LogicHEfunshop(ScummEngine_v90he *vm) : LogicHE(vm) {}
 
-	int versionID();
-	int32 dispatch(int op, int numArgs, int32 *args);
+	int versionID() override;
+	int32 dispatch(int op, int numArgs, int32 *args) override;
 
 private:
 	void op_1004(int32 *args);
diff --git a/engines/scumm/he/logic/moonbase_logic.cpp b/engines/scumm/he/logic/moonbase_logic.cpp
index 880d86d..5af639c 100644
--- a/engines/scumm/he/logic/moonbase_logic.cpp
+++ b/engines/scumm/he/logic/moonbase_logic.cpp
@@ -39,11 +39,11 @@ class LogicHEmoonbase : public LogicHE {
 public:
 	LogicHEmoonbase(ScummEngine_v100he *vm) : LogicHE(vm) { _vm1 = vm; }
 
-	int versionID();
+	int versionID() override;
 
-	int startOfFrame();
+	int startOfFrame() override;
 
-	int32 dispatch(int op, int numArgs, int32 *args);
+	int32 dispatch(int op, int numArgs, int32 *args) override;
 
 private:
 	void op_create_multi_state_wiz(int op, int numArgs, int32 *args);
diff --git a/engines/scumm/he/logic/puttrace.cpp b/engines/scumm/he/logic/puttrace.cpp
index ba62c11..e9ab842 100644
--- a/engines/scumm/he/logic/puttrace.cpp
+++ b/engines/scumm/he/logic/puttrace.cpp
@@ -35,10 +35,10 @@ private:
 	double *_userDataD;
 public:
 	LogicHErace(ScummEngine_v90he *vm);
-	~LogicHErace();
+	~LogicHErace() override;
 
-	int versionID();
-	int32 dispatch(int op, int numArgs, int32 *args);
+	int versionID() override;
+	int32 dispatch(int op, int numArgs, int32 *args) override;
 
 private:
 	int32 op_1003(int32 *args);
diff --git a/engines/scumm/he/logic/soccer.cpp b/engines/scumm/he/logic/soccer.cpp
index af9ee7a..e9c7087 100644
--- a/engines/scumm/he/logic/soccer.cpp
+++ b/engines/scumm/he/logic/soccer.cpp
@@ -37,14 +37,14 @@ private:
 
 public:
 	LogicHEsoccer(ScummEngine_v90he *vm);
-	~LogicHEsoccer();
+	~LogicHEsoccer() override;
 
-	int versionID();
-	int32 dispatch(int op, int numArgs, int32 *args);
+	int versionID() override;
+	int32 dispatch(int op, int numArgs, int32 *args) override;
 
-	void beforeBootScript();
-	void initOnce();
-	int startOfFrame();
+	void beforeBootScript() override;
+	void initOnce() override;
+	int startOfFrame() override;
 
 private:
 	int op_1005(float x1, float y1, float z1, float x2, float y2, float z2, float *nextVelX, float *nextVelY, float *nextVelZ, float *a10);
diff --git a/engines/scumm/he/moonbase/ai_defenseunit.h b/engines/scumm/he/moonbase/ai_defenseunit.h
index a6085da..bec25ba 100644
--- a/engines/scumm/he/moonbase/ai_defenseunit.h
+++ b/engines/scumm/he/moonbase/ai_defenseunit.h
@@ -97,9 +97,9 @@ private:
 public:
 	AntiAirUnit(AI *ai);
 	AntiAirUnit(DefenseUnit *inUnit, AI *ai);
-	int getType() const { return DUT_ANTI_AIR; }
-	Common::Point *createTargetPos(int index, int distance, int weaponType, int sourceX, int sourceY);
-	int selectWeapon(int index);
+	int getType() const override { return DUT_ANTI_AIR; }
+	Common::Point *createTargetPos(int index, int distance, int weaponType, int sourceX, int sourceY) override;
+	int selectWeapon(int index) override;
 };
 
 class ShieldUnit : public DefenseUnit {
@@ -108,9 +108,9 @@ private:
 public:
 	ShieldUnit(AI *ai);
 	ShieldUnit(DefenseUnit *inUnit, AI *ai);
-	int getType() const { return DUT_SHIELD; }
-	Common::Point *createTargetPos(int index, int distance, int weaponType, int sourceX, int sourceY);
-	int selectWeapon(int index);
+	int getType() const override { return DUT_SHIELD; }
+	Common::Point *createTargetPos(int index, int distance, int weaponType, int sourceX, int sourceY) override;
+	int selectWeapon(int index) override;
 };
 
 class MineUnit : public DefenseUnit {
@@ -119,9 +119,9 @@ private:
 public:
 	MineUnit(AI *ai);
 	MineUnit(DefenseUnit *inUnit, AI *ai);
-	int getType() const { return DUT_MINE; }
-	Common::Point *createTargetPos(int index, int distance, int weaponType, int sourceX, int sourceY);
-	int selectWeapon(int index);
+	int getType() const override { return DUT_MINE; }
+	Common::Point *createTargetPos(int index, int distance, int weaponType, int sourceX, int sourceY) override;
+	int selectWeapon(int index) override;
 };
 
 class HubUnit : public DefenseUnit {
@@ -130,9 +130,9 @@ private:
 public:
 	HubUnit(AI *ai);
 	HubUnit(DefenseUnit *inUnit, AI *ai);
-	int getType() const { return DUT_HUB; }
-	Common::Point *createTargetPos(int index, int distance, int weaponType, int sourceX, int sourceY);
-	int selectWeapon(int index);
+	int getType() const override { return DUT_HUB; }
+	Common::Point *createTargetPos(int index, int distance, int weaponType, int sourceX, int sourceY) override;
+	int selectWeapon(int index) override;
 };
 
 class TowerUnit : public DefenseUnit {
@@ -141,9 +141,9 @@ private:
 public:
 	TowerUnit(AI *ai);
 	TowerUnit(DefenseUnit *inUnit, AI *ai);
-	int getType() const { return DUT_TOWER; }
-	Common::Point *createTargetPos(int index, int distance, int weaponType, int sourceX, int sourceY);
-	int selectWeapon(int index);
+	int getType() const override { return DUT_TOWER; }
+	Common::Point *createTargetPos(int index, int distance, int weaponType, int sourceX, int sourceY) override;
+	int selectWeapon(int index) override;
 };
 
 class BridgeUnit : public DefenseUnit {
@@ -152,9 +152,9 @@ private:
 public:
 	BridgeUnit(AI *ai);
 	BridgeUnit(DefenseUnit *inUnit, AI *ai);
-	int getType() const { return DUT_BRIDGE; }
-	Common::Point *createTargetPos(int index, int distance, int weaponType, int sourceX, int sourceY);
-	int selectWeapon(int index);
+	int getType() const override { return DUT_BRIDGE; }
+	Common::Point *createTargetPos(int index, int distance, int weaponType, int sourceX, int sourceY) override;
+	int selectWeapon(int index) override;
 };
 
 class EnergyUnit : public DefenseUnit {
@@ -163,9 +163,9 @@ private:
 public:
 	EnergyUnit(AI *ai);
 	EnergyUnit(DefenseUnit *inUnit, AI *ai);
-	int getType() const { return DUT_ENERGY; }
-	Common::Point *createTargetPos(int index, int distance, int weaponType, int sourceX, int sourceY);
-	int selectWeapon(int index);
+	int getType() const override { return DUT_ENERGY; }
+	Common::Point *createTargetPos(int index, int distance, int weaponType, int sourceX, int sourceY) override;
+	int selectWeapon(int index) override;
 };
 
 class OffenseUnit : public DefenseUnit {
@@ -174,9 +174,9 @@ private:
 public:
 	OffenseUnit(AI *ai);
 	OffenseUnit(DefenseUnit *inUnit, AI *ai);
-	int getType() const { return DUT_OFFENSE; }
-	Common::Point *createTargetPos(int index, int distance, int weaponType, int sourceX, int sourceY);
-	int selectWeapon(int index);
+	int getType() const override { return DUT_OFFENSE; }
+	Common::Point *createTargetPos(int index, int distance, int weaponType, int sourceX, int sourceY) override;
+	int selectWeapon(int index) override;
 };
 
 class CrawlerUnit : public DefenseUnit {
@@ -185,9 +185,9 @@ private:
 public:
 	CrawlerUnit(AI *ai);
 	CrawlerUnit(DefenseUnit *inUnit, AI *ai);
-	int getType() const { return DUT_CRAWLER; }
-	Common::Point *createTargetPos(int index, int distance, int weaponType, int sourceX, int sourceY);
-	int selectWeapon(int index);
+	int getType() const override { return DUT_CRAWLER; }
+	Common::Point *createTargetPos(int index, int distance, int weaponType, int sourceX, int sourceY) override;
+	int selectWeapon(int index) override;
 };
 
 } // End of namespace Scumm
diff --git a/engines/scumm/he/moonbase/ai_targetacquisition.h b/engines/scumm/he/moonbase/ai_targetacquisition.h
index 8c27c06..a541273 100644
--- a/engines/scumm/he/moonbase/ai_targetacquisition.h
+++ b/engines/scumm/he/moonbase/ai_targetacquisition.h
@@ -48,7 +48,7 @@ private:
 
 public:
 	Sortie(AI *ai) { _ai = ai; _unitType = 0; _shotPosX = _shotPosY = 0; }
-	virtual ~Sortie();
+	~Sortie() override;
 
 	static void setSourcePos(int x, int y) {
 		_sSourceX = x;
@@ -88,15 +88,15 @@ public:
 
 	Common::Array<DefenseUnit *> getEnemyDefenses() const { return _enemyDefenses; }
 
-	virtual IContainedObject *duplicate();
+	IContainedObject *duplicate() override;
 
-	virtual int numChildrenToGen();
-	virtual IContainedObject *createChildObj(int, int &completionFlag);
+	int numChildrenToGen() override;
+	IContainedObject *createChildObj(int, int &completionFlag) override;
 
 
-	virtual float calcH();
-	virtual int checkSuccess();
-	virtual float calcT();
+	float calcH() override;
+	int checkSuccess() override;
+	float calcT() override;
 };
 
 class Defender {
diff --git a/engines/scumm/he/moonbase/ai_traveller.h b/engines/scumm/he/moonbase/ai_traveller.h
index 20e69eb..f1c6bfa 100644
--- a/engines/scumm/he/moonbase/ai_traveller.h
+++ b/engines/scumm/he/moonbase/ai_traveller.h
@@ -61,14 +61,14 @@ private:
 	AI *_ai;
 
 protected:
-	virtual float calcH();
+	float calcH() override;
 
 public:
 	Traveller(AI *ai);
 	Traveller(int originX, int originY, AI *ai);
-	~Traveller() {}
+	~Traveller() override {}
 
-	IContainedObject *duplicate() { return this; }
+	IContainedObject *duplicate() override { return this; }
 
 	static void setTargetPosX(int posX) { _targetPosX = posX; }
 	static void setTargetPosY(int posY) { _targetPosY = posY; }
@@ -111,11 +111,11 @@ public:
 	void disableWaterFlag() { _waterFlag = 0; }
 	int getWaterFlag() const { return _waterFlag; }
 
-	virtual int numChildrenToGen();
-	virtual IContainedObject *createChildObj(int, int &);
+	int numChildrenToGen() override;
+	IContainedObject *createChildObj(int, int &) override;
 
-	virtual int checkSuccess();
-	virtual float calcT();
+	int checkSuccess() override;
+	float calcT() override;
 };
 
 } // End of namespace Scumm
diff --git a/engines/scumm/he/resource_he.h b/engines/scumm/he/resource_he.h
index c3fca17..f213d92 100644
--- a/engines/scumm/he/resource_he.h
+++ b/engines/scumm/he/resource_he.h
@@ -71,23 +71,23 @@ private:
 class Win32ResExtractor : public ResExtractor {
 public:
 	Win32ResExtractor(ScummEngine_v70he *scumm);
-	~Win32ResExtractor();
+	~Win32ResExtractor() override;
 
 private:
 	Common::PEResources *_exe;
 
-	bool extractResource(int id, CachedCursor *cc);
+	bool extractResource(int id, CachedCursor *cc) override;
 };
 
 class MacResExtractor : public ResExtractor {
 public:
 	MacResExtractor(ScummEngine_v70he *scumm);
-	~MacResExtractor() {}
+	~MacResExtractor() override {}
 
 private:
 	Common::MacResManager *_resMgr;
 
-	bool extractResource(int id, CachedCursor *cc);
+	bool extractResource(int id, CachedCursor *cc) override;
 };
 
 } // End of namespace Scumm
diff --git a/engines/scumm/he/sound_he.h b/engines/scumm/he/sound_he.h
index d5a2817..5dda920 100644
--- a/engines/scumm/he/sound_he.h
+++ b/engines/scumm/he/sound_he.h
@@ -59,15 +59,15 @@ public: // Used by createSound()
 
 public:
 	SoundHE(ScummEngine *parent, Audio::Mixer *mixer);
-	~SoundHE();
+	~SoundHE() override;
 
-	virtual void addSoundToQueue(int sound, int heOffset = 0, int heChannel = 0, int heFlags = 0, int heFreq = 0, int hePan = 0, int heVol = 0);
-	virtual void addSoundToQueue2(int sound, int heOffset = 0, int heChannel = 0, int heFlags = 0, int heFreq = 0, int hePan = 0, int heVol = 0);
+	void addSoundToQueue(int sound, int heOffset = 0, int heChannel = 0, int heFlags = 0, int heFreq = 0, int hePan = 0, int heVol = 0) override;
+	void addSoundToQueue2(int sound, int heOffset = 0, int heChannel = 0, int heFlags = 0, int heFreq = 0, int hePan = 0, int heVol = 0) override;
 
-	virtual int isSoundRunning(int sound) const;
-	virtual void stopSound(int sound);
-	virtual void stopAllSounds();
-	virtual void setupSound();
+	int isSoundRunning(int sound) const override;
+	void stopSound(int sound) override;
+	void stopAllSounds() override;
+	void setupSound() override;
 
 	bool getHEMusicDetails(int id, int &musicOffs, int &musicSize);
 	int findFreeSoundChannel();
@@ -84,7 +84,7 @@ public:
 	void stopSoundChannel(int chan);
 
 protected:
-	virtual void processSoundQueues();
+	void processSoundQueues() override;
 };
 
 
diff --git a/engines/scumm/he/sprite_he.h b/engines/scumm/he/sprite_he.h
index bb7f957..d53767a 100644
--- a/engines/scumm/he/sprite_he.h
+++ b/engines/scumm/he/sprite_he.h
@@ -154,7 +154,7 @@ class ScummEngine_v90he;
 class Sprite : public Common::Serializable {
 public:
 	Sprite(ScummEngine_v90he *vm);
-	virtual ~Sprite();
+	~Sprite() override;
 
 	SpriteInfo *_spriteTable;
 	SpriteGroup *_spriteGroups;
@@ -165,7 +165,7 @@ public:
 	int32 _varNumSprites;
 	int32 _varMaxSprites;
 
-	void saveLoadWithSerializer(Common::Serializer &s);
+	void saveLoadWithSerializer(Common::Serializer &s) override;
 	void resetBackground();
 	void setRedrawFlags(bool checkZOrder);
 	void sortActiveSprites();
diff --git a/engines/scumm/imuse/drivers/amiga.cpp b/engines/scumm/imuse/drivers/amiga.cpp
index c9855ea..9407f78 100644
--- a/engines/scumm/imuse/drivers/amiga.cpp
+++ b/engines/scumm/imuse/drivers/amiga.cpp
@@ -132,25 +132,25 @@ private:
 class IMusePart_Amiga : public MidiChannel {
 public:
 	IMusePart_Amiga(IMuseDriver_Amiga *driver, int id);
-	~IMusePart_Amiga() {}
+	~IMusePart_Amiga() override {}
 
-	MidiDriver *device() { return _driver; }
-	byte getNumber() { return _id; }
+	MidiDriver *device() override { return _driver; }
+	byte getNumber() override { return _id; }
 	bool allocate();
-	void release();
+	void release() override;
 
-	void send(uint32 b);
+	void send(uint32 b) override;
 
-	void noteOff(byte note);
-	void noteOn(byte note, byte velocity);
-	void controlChange(byte control, byte value);
-	void programChange(byte program);
-	void pitchBend(int16 bend);
-	void pitchBendFactor(byte value);
-	void transpose(int8 value);
+	void noteOff(byte note) override;
+	void noteOn(byte note, byte velocity) override;
+	void controlChange(byte control, byte value) override;
+	void programChange(byte program) override;
+	void pitchBend(int16 bend) override;
+	void pitchBendFactor(byte value) override;
+	void transpose(int8 value) override;
 
-	void priority(byte value);
-	void sysEx_customInstrument(uint32 type, const byte *instr) {}
+	void priority(byte value) override;
+	void sysEx_customInstrument(uint32 type, const byte *instr) override {}
 
 	int getPriority() const { return _priority; }
 	SoundChannel_Amiga *getChannel() const { return _out; }
diff --git a/engines/scumm/imuse/drivers/amiga.h b/engines/scumm/imuse/drivers/amiga.h
index 77c7507..29dc5d4 100644
--- a/engines/scumm/imuse/drivers/amiga.h
+++ b/engines/scumm/imuse/drivers/amiga.h
@@ -37,21 +37,21 @@ class IMuseDriver_Amiga : public MidiDriver, public Audio::Paula {
 friend class SoundChannel_Amiga;
 public:
 	IMuseDriver_Amiga(Audio::Mixer *mixer);
-	~IMuseDriver_Amiga();
+	~IMuseDriver_Amiga() override;
 
-	int open();
-	bool isOpen() const { return _isOpen; }
-	void close();
+	int open() override;
+	bool isOpen() const override { return _isOpen; }
+	void close() override;
 
-	void send(uint32 b);
+	void send(uint32 b) override;
 
-	void setTimerCallback(void *timer_param, Common::TimerManager::TimerProc timer_proc);
+	void setTimerCallback(void *timer_param, Common::TimerManager::TimerProc timer_proc) override;
 
-	uint32 getBaseTempo();
-	MidiChannel *allocateChannel();
-	MidiChannel *getPercussionChannel();
+	uint32 getBaseTempo() override;
+	MidiChannel *allocateChannel() override;
+	MidiChannel *getPercussionChannel() override;
 
-	void interrupt();
+	void interrupt() override;
 
 private:
 	void updateParser();
diff --git a/engines/scumm/imuse/drivers/fmtowns.cpp b/engines/scumm/imuse/drivers/fmtowns.cpp
index a85b459..7f6b0a8 100644
--- a/engines/scumm/imuse/drivers/fmtowns.cpp
+++ b/engines/scumm/imuse/drivers/fmtowns.cpp
@@ -118,23 +118,23 @@ class TownsMidiInputChannel : public MidiChannel {
 friend class TownsMidiOutputChannel;
 public:
 	TownsMidiInputChannel(MidiDriver_TOWNS *driver, int chanIndex);
-	~TownsMidiInputChannel();
+	~TownsMidiInputChannel() override;
 
-	MidiDriver *device() { return _driver; }
-	byte getNumber() { return _chanIndex; }
+	MidiDriver *device() override { return _driver; }
+	byte getNumber() override { return _chanIndex; }
 	bool allocate();
-	void release();
-
-	void send(uint32 b);
-
-	void noteOff(byte note);
-	void noteOn(byte note, byte velocity);
-	void programChange(byte program);
-	void pitchBend(int16 bend);
-	void controlChange(byte control, byte value);
-	void pitchBendFactor(byte value);
-	void priority(byte value);
-	void sysEx_customInstrument(uint32 type, const byte *instr);
+	void release() override;
+
+	void send(uint32 b) override;
+
+	void noteOff(byte note) override;
+	void noteOn(byte note, byte velocity) override;
+	void programChange(byte program) override;
+	void pitchBend(int16 bend) override;
+	void controlChange(byte control, byte value) override;
+	void pitchBendFactor(byte value) override;
+	void priority(byte value) override;
+	void sysEx_customInstrument(uint32 type, const byte *instr) override;
 
 private:
 	void controlModulationWheel(byte value);
diff --git a/engines/scumm/imuse/drivers/fmtowns.h b/engines/scumm/imuse/drivers/fmtowns.h
index 5413e37..e6c5c93 100644
--- a/engines/scumm/imuse/drivers/fmtowns.h
+++ b/engines/scumm/imuse/drivers/fmtowns.h
@@ -36,21 +36,21 @@ friend class TownsMidiInputChannel;
 friend class TownsMidiOutputChannel;
 public:
 	MidiDriver_TOWNS(Audio::Mixer *mixer);
-	~MidiDriver_TOWNS();
+	~MidiDriver_TOWNS() override;
 
-	int open();
-	bool isOpen() const { return _isOpen; }
-	void close();
+	int open() override;
+	bool isOpen() const override { return _isOpen; }
+	void close() override;
 
-	void send(uint32 b);
+	void send(uint32 b) override;
 
-	void setTimerCallback(void *timer_param, Common::TimerManager::TimerProc timer_proc);
+	void setTimerCallback(void *timer_param, Common::TimerManager::TimerProc timer_proc) override;
 
-	uint32 getBaseTempo();
-	MidiChannel *allocateChannel();
-	MidiChannel *getPercussionChannel();
+	uint32 getBaseTempo() override;
+	MidiChannel *allocateChannel() override;
+	MidiChannel *getPercussionChannel() override;
 
-	void timerCallback(int timerId);
+	void timerCallback(int timerId) override;
 
 private:
 	void updateParser();
diff --git a/engines/scumm/imuse/drivers/mac_m68k.h b/engines/scumm/imuse/drivers/mac_m68k.h
index 31beaf4..bd80609 100644
--- a/engines/scumm/imuse/drivers/mac_m68k.h
+++ b/engines/scumm/imuse/drivers/mac_m68k.h
@@ -37,27 +37,27 @@ class MacM68kDriver : public MidiDriver_Emulated {
 	friend class MidiChannel_MacM68k;
 public:
 	MacM68kDriver(Audio::Mixer *mixer);
-	~MacM68kDriver();
+	~MacM68kDriver() override;
 
-	virtual int open();
-	virtual void close();
+	int open() override;
+	void close() override;
 
-	virtual void send(uint32 d);
-	virtual void sysEx_customInstrument(byte channel, uint32 type, const byte *instr);
+	void send(uint32 d) override;
+	void sysEx_customInstrument(byte channel, uint32 type, const byte *instr) override;
 
-	virtual MidiChannel *allocateChannel();
-	virtual MidiChannel *getPercussionChannel() { return 0; }
+	MidiChannel *allocateChannel() override;
+	MidiChannel *getPercussionChannel() override { return 0; }
 
-	virtual bool isStereo() const { return false; }
-	virtual int getRate() const {
+	bool isStereo() const override { return false; }
+	int getRate() const override {
 		// The original is using a frequency of approx. 22254.54546 here.
 		// To be precise it uses the 16.16 fixed point value 0x56EE8BA3.
 		return 22254;
 	}
 
 protected:
-	virtual void generateSamples(int16 *buf, int len);
-	virtual void onTimer() {}
+	void generateSamples(int16 *buf, int len) override;
+	void onTimer() override {}
 
 private:
 	int *_mixBuffer;
@@ -130,19 +130,19 @@ private:
 	class MidiChannel_MacM68k : public MidiChannel {
 		friend class MacM68kDriver;
 	public:
-		virtual MidiDriver *device() { return _owner; }
-		virtual byte getNumber() { return _number; }
-		virtual void release();
-
-		virtual void send(uint32 b);
-		virtual void noteOff(byte note);
-		virtual void noteOn(byte note, byte velocity);
-		virtual void programChange(byte program);
-		virtual void pitchBend(int16 bend);
-		virtual void controlChange(byte control, byte value);
-		virtual void pitchBendFactor(byte value);
-		virtual void priority(byte value);
-		virtual void sysEx_customInstrument(uint32 type, const byte *instr);
+		MidiDriver *device() override { return _owner; }
+		byte getNumber() override { return _number; }
+		void release() override;
+
+		void send(uint32 b) override;
+		void noteOff(byte note) override;
+		void noteOn(byte note, byte velocity) override;
+		void programChange(byte program) override;
+		void pitchBend(int16 bend) override;
+		void controlChange(byte control, byte value) override;
+		void pitchBendFactor(byte value) override;
+		void priority(byte value) override;
+		void sysEx_customInstrument(uint32 type, const byte *instr) override;
 
 		void init(MacM68kDriver *owner, byte channel);
 		bool allocate();
diff --git a/engines/scumm/imuse/drivers/pcspk.h b/engines/scumm/imuse/drivers/pcspk.h
index 6a107e1..9cd1520 100644
--- a/engines/scumm/imuse/drivers/pcspk.h
+++ b/engines/scumm/imuse/drivers/pcspk.h
@@ -31,22 +31,22 @@ namespace Scumm {
 class PcSpkDriver : public MidiDriver_Emulated {
 public:
 	PcSpkDriver(Audio::Mixer *mixer);
-	~PcSpkDriver();
+	~PcSpkDriver() override;
 
-	virtual int open();
-	virtual void close();
+	int open() override;
+	void close() override;
 
-	virtual void send(uint32 d);
-	virtual void sysEx_customInstrument(byte channel, uint32 type, const byte *instr);
+	void send(uint32 d) override;
+	void sysEx_customInstrument(byte channel, uint32 type, const byte *instr) override;
 
-	virtual MidiChannel *allocateChannel();
-	virtual MidiChannel *getPercussionChannel() { return 0; }
+	MidiChannel *allocateChannel() override;
+	MidiChannel *getPercussionChannel() override { return 0; }
 
-	bool isStereo() const { return _pcSpk.isStereo(); }
-	int getRate() const { return _pcSpk.getRate(); }
+	bool isStereo() const override { return _pcSpk.isStereo(); }
+	int getRate() const override { return _pcSpk.getRate(); }
 protected:
-	void generateSamples(int16 *buf, int len);
-	void onTimer();
+	void generateSamples(int16 *buf, int len) override;
+	void onTimer() override;
 
 private:
 	Audio::PCSpeaker _pcSpk;
@@ -105,19 +105,19 @@ private:
 	};
 
 	struct MidiChannel_PcSpk : public MidiChannel {
-		virtual MidiDriver *device();
-		virtual byte getNumber();
-		virtual void release();
-
-		virtual void send(uint32 b);
-		virtual void noteOff(byte note);
-		virtual void noteOn(byte note, byte velocity);
-		virtual void programChange(byte program);
-		virtual void pitchBend(int16 bend);
-		virtual void controlChange(byte control, byte value);
-		virtual void pitchBendFactor(byte value);
-		virtual void priority(byte value);
-		virtual void sysEx_customInstrument(uint32 type, const byte *instr);
+		MidiDriver *device() override;
+		byte getNumber() override;
+		void release() override;
+
+		void send(uint32 b) override;
+		void noteOff(byte note) override;
+		void noteOn(byte note, byte velocity) override;
+		void programChange(byte program) override;
+		void pitchBend(int16 bend) override;
+		void controlChange(byte control, byte value) override;
+		void pitchBendFactor(byte value) override;
+		void priority(byte value) override;
+		void sysEx_customInstrument(uint32 type, const byte *instr) override;
 
 		void init(PcSpkDriver *owner, byte channel);
 		bool allocate();
diff --git a/engines/scumm/imuse/imuse_internal.h b/engines/scumm/imuse/imuse_internal.h
index 72c020f..5168717 100644
--- a/engines/scumm/imuse/imuse_internal.h
+++ b/engines/scumm/imuse/imuse_internal.h
@@ -245,7 +245,7 @@ public:
 
 public:
 	Player();
-	virtual ~Player();
+	~Player() override;
 
 	int addParameterFader(int param, int target, int time);
 	void clear();
@@ -272,7 +272,7 @@ public:
 	void onTimer();
 	void removePart(Part *part);
 	int scan(uint totrack, uint tobeat, uint totick);
-	void saveLoadWithSerializer(Common::Serializer &ser);
+	void saveLoadWithSerializer(Common::Serializer &ser) override;
 	int setHook(byte cls, byte value, byte chan) { return _hook.set(cls, value, chan); }
 	void setDetune(int detune);
 	void setOffsetNote(int offset);
@@ -287,9 +287,9 @@ public:
 
 public:
 	// MidiDriver interface
-	void send(uint32 b);
-	void sysEx(const byte *msg, uint16 length);
-	void metaEvent(byte type, byte *data, uint16 length);
+	void send(uint32 b) override;
+	void sysEx(const byte *msg, uint16 length) override;
+	void metaEvent(byte type, byte *data, uint16 length) override;
 };
 
 
@@ -364,7 +364,7 @@ struct Part : public Common::Serializable {
 
 	Part();
 
-	void saveLoadWithSerializer(Common::Serializer &ser);
+	void saveLoadWithSerializer(Common::Serializer &ser) override;
 
 private:
 	void sendPitchBend();
@@ -448,12 +448,12 @@ protected:
 
 protected:
 	IMuseInternal();
-	virtual ~IMuseInternal();
+	~IMuseInternal() override;
 
 	int initialize(OSystem *syst, MidiDriver *nativeMidiDriver, MidiDriver *adlibMidiDriver);
 
 	static void midiTimerCallback(void *data);
-	void on_timer(MidiDriver *midi);
+	void on_timer(MidiDriver *midi) override;
 
 	enum ChunkType {
 		kMThd = 1,
@@ -491,7 +491,7 @@ protected:
 
 	int enqueue_command(int a, int b, int c, int d, int e, int f, int g);
 	int enqueue_trigger(int sound, int marker);
-	int clear_queue();
+	int clear_queue() override;
 	int query_queue(int param);
 	Player *findActivePlayer(int id);
 
@@ -522,23 +522,23 @@ protected:
 
 public:
 	// IMuse interface
-	void pause(bool paused);
-	void saveLoadIMuse(Common::Serializer &ser, ScummEngine *scumm, bool fixAfterLoad = true);
-	bool get_sound_active(int sound) const;
-	int32 doCommand(int numargs, int args[]);
-	uint32 property(int prop, uint32 value);
-	virtual void addSysexHandler(byte mfgID, sysexfunc handler);
+	void pause(bool paused) override;
+	void saveLoadIMuse(Common::Serializer &ser, ScummEngine *scumm, bool fixAfterLoad = true) override;
+	bool get_sound_active(int sound) const override;
+	int32 doCommand(int numargs, int args[]) override;
+	uint32 property(int prop, uint32 value) override;
+	void addSysexHandler(byte mfgID, sysexfunc handler) override;
 
 public:
-	void startSoundWithNoteOffset(int sound, int offset);
+	void startSoundWithNoteOffset(int sound, int offset) override;
 
 	// MusicEngine interface
-	void setMusicVolume(int vol);
-	void startSound(int sound);
-	void stopSound(int sound);
-	void stopAllSounds();
-	int getSoundStatus(int sound) const;
-	int getMusicTimer();
+	void setMusicVolume(int vol) override;
+	void startSound(int sound) override;
+	void stopSound(int sound) override;
+	void stopAllSounds() override;
+	int getSoundStatus(int sound) const override;
+	int getMusicTimer() override;
 
 public:
 	// Factory function
diff --git a/engines/scumm/imuse/instrument.cpp b/engines/scumm/imuse/instrument.cpp
index 2ae38b1..83af489 100644
--- a/engines/scumm/imuse/instrument.cpp
+++ b/engines/scumm/imuse/instrument.cpp
@@ -131,10 +131,10 @@ private:
 public:
 	Instrument_Program(byte program, bool mt32);
 	Instrument_Program(Common::Serializer &s);
-	void saveLoadWithSerializer(Common::Serializer &s);
-	void send(MidiChannel *mc);
-	void copy_to(Instrument *dest) { dest->program(_program, _mt32); }
-	bool is_valid() {
+	void saveLoadWithSerializer(Common::Serializer &s) override;
+	void send(MidiChannel *mc) override;
+	void copy_to(Instrument *dest) override { dest->program(_program, _mt32); }
+	bool is_valid() override {
 		return (_program < 128) &&
 		       ((_native_mt32 == _mt32) || _native_mt32
 		        ? (MidiDriver::_gmToMt32[_program] < 128)
@@ -177,10 +177,10 @@ private:
 public:
 	Instrument_AdLib(const byte *data);
 	Instrument_AdLib(Common::Serializer &s);
-	void saveLoadWithSerializer(Common::Serializer &s);
-	void send(MidiChannel *mc);
-	void copy_to(Instrument *dest) { dest->adlib((byte *)&_instrument); }
-	bool is_valid() { return true; }
+	void saveLoadWithSerializer(Common::Serializer &s) override;
+	void send(MidiChannel *mc) override;
+	void copy_to(Instrument *dest) override { dest->adlib((byte *)&_instrument); }
+	bool is_valid() override { return true; }
 };
 
 class Instrument_Roland : public InstrumentInternal {
@@ -258,20 +258,20 @@ private:
 public:
 	Instrument_Roland(const byte *data);
 	Instrument_Roland(Common::Serializer &s);
-	void saveLoadWithSerializer(Common::Serializer &s);
-	void send(MidiChannel *mc);
-	void copy_to(Instrument *dest) { dest->roland((byte *)&_instrument); }
-	bool is_valid() { return (_native_mt32 ? true : (_instrument_name[0] != '\0')); }
+	void saveLoadWithSerializer(Common::Serializer &s) override;
+	void send(MidiChannel *mc) override;
+	void copy_to(Instrument *dest) override { dest->roland((byte *)&_instrument); }
+	bool is_valid() override { return (_native_mt32 ? true : (_instrument_name[0] != '\0')); }
 };
 
 class Instrument_PcSpk : public InstrumentInternal {
 public:
 	Instrument_PcSpk(const byte *data);
 	Instrument_PcSpk(Common::Serializer &s);
-	void saveLoadWithSerializer(Common::Serializer &s);
-	void send(MidiChannel *mc);
-	void copy_to(Instrument *dest) { dest->pcspk((byte *)&_instrument); }
-	bool is_valid() { return true; }
+	void saveLoadWithSerializer(Common::Serializer &s) override;
+	void send(MidiChannel *mc) override;
+	void copy_to(Instrument *dest) override { dest->pcspk((byte *)&_instrument); }
+	bool is_valid() override { return true; }
 
 private:
 	byte _instrument[23];
@@ -284,10 +284,10 @@ private:
 public:
 	Instrument_MacSfx(byte program);
 	Instrument_MacSfx(Common::Serializer &s);
-	void saveLoadWithSerializer(Common::Serializer &s);
-	void send(MidiChannel *mc);
-	void copy_to(Instrument *dest) { dest->macSfx(_program); }
-	bool is_valid() {
+	void saveLoadWithSerializer(Common::Serializer &s) override;
+	void send(MidiChannel *mc) override;
+	void copy_to(Instrument *dest) override { dest->macSfx(_program); }
+	bool is_valid() override {
 		return (_program < 128);
 	}
 };
diff --git a/engines/scumm/imuse/instrument.h b/engines/scumm/imuse/instrument.h
index 374b635..ccc7931 100644
--- a/engines/scumm/imuse/instrument.h
+++ b/engines/scumm/imuse/instrument.h
@@ -35,7 +35,7 @@ class Instrument;
 
 class InstrumentInternal : public Common::Serializable {
 public:
-	virtual ~InstrumentInternal() {}
+	~InstrumentInternal() override {}
 	virtual void send(MidiChannel *mc) = 0;
 	virtual void copy_to(Instrument *dest) = 0;
 	virtual bool is_valid() = 0;
@@ -57,7 +57,7 @@ public:
 	};
 
 	Instrument() : _type(0), _instrument(0) { }
-	~Instrument() { delete _instrument; }
+	~Instrument() override { delete _instrument; }
 	static void nativeMT32(bool native);
 	static const byte _gmRhythmMap[35];
 
@@ -77,7 +77,7 @@ public:
 
 	byte getType() { return _type; }
 	bool isValid() { return (_instrument ? _instrument->is_valid() : false); }
-	void saveLoadWithSerializer(Common::Serializer &s);
+	void saveLoadWithSerializer(Common::Serializer &s) override;
 	void send(MidiChannel *mc) {
 		if (_instrument)
 			_instrument->send(mc);
diff --git a/engines/scumm/imuse_digi/dimuse.h b/engines/scumm/imuse_digi/dimuse.h
index 86c8d21..e289ec7 100644
--- a/engines/scumm/imuse_digi/dimuse.h
+++ b/engines/scumm/imuse_digi/dimuse.h
@@ -123,7 +123,7 @@ private:
 
 public:
 	IMuseDigital(ScummEngine_v7 *scumm, Audio::Mixer *mixer, int fps);
-	virtual ~IMuseDigital();
+	~IMuseDigital() override;
 
 	void setAudioNames(int32 num, char *names);
 
@@ -133,7 +133,7 @@ public:
 	void startMusic(const char *soundName, int soundId, int hookId, int volume);
 	void startMusicWithOtherPos(const char *soundName, int soundId, int hookId, int volume, Track *otherTrack);
 	void startSfx(int soundId, int priority);
-	void startSound(int sound)
+	void startSound(int sound) override
 		{ error("IMuseDigital::startSound(int) should be never called"); }
 
 	void saveLoadEarly(Common::Serializer &ser);
@@ -148,14 +148,14 @@ public:
 	void setFade(int soundId, int destVolume, int delay60HzTicks);
 	int getCurMusicSoundId();
 	void setHookId(int soundId, int hookId);
-	void setMusicVolume(int vol) {}
-	void stopSound(int sound);
-	void stopAllSounds();
+	void setMusicVolume(int vol) override {}
+	void stopSound(int sound) override;
+	void stopAllSounds() override;
 	void pause(bool pause);
 	void parseScriptCmds(int cmd, int soundId, int sub_cmd, int d, int e, int f, int g, int h);
 	void refreshScripts();
 	void flushTracks();
-	int getSoundStatus(int sound) const;
+	int getSoundStatus(int sound) const override;
 	int32 getCurMusicPosInMs();
 	int32 getCurVoiceLipSyncWidth();
 	int32 getCurVoiceLipSyncHeight();
diff --git a/engines/scumm/midiparser_ro.cpp b/engines/scumm/midiparser_ro.cpp
index c358768..a829a87 100644
--- a/engines/scumm/midiparser_ro.cpp
+++ b/engines/scumm/midiparser_ro.cpp
@@ -39,11 +39,11 @@ protected:
 
 protected:
 	void compressToType0();
-	void parseNextEvent (EventInfo &info);
+	void parseNextEvent (EventInfo &info) override;
 
 public:
-	bool loadMusic (byte *data, uint32 size);
-	uint32 getTick() { return (uint32) _markerCount * _ppqn / 2; }
+	bool loadMusic (byte *data, uint32 size) override;
+	uint32 getTick() override { return (uint32) _markerCount * _ppqn / 2; }
 };
 
 
diff --git a/engines/scumm/music.h b/engines/scumm/music.h
index 06f45fe..702a890 100644
--- a/engines/scumm/music.h
+++ b/engines/scumm/music.h
@@ -40,7 +40,7 @@ namespace Scumm {
  */
 class MusicEngine : public Common::Serializable {
 public:
-	virtual ~MusicEngine() {}
+	~MusicEngine() override {}
 
 	/**
 	 * Set the output volume.
@@ -90,7 +90,7 @@ public:
 	/**
 	 * Save or load the music state.
 	 */
-	virtual void saveLoadWithSerializer(Common::Serializer &ser) {}
+	void saveLoadWithSerializer(Common::Serializer &ser) override {}
 };
 
 } // End of namespace Scumm
diff --git a/engines/scumm/players/player_ad.h b/engines/scumm/players/player_ad.h
index 20c8b3d..7e8b542 100644
--- a/engines/scumm/players/player_ad.h
+++ b/engines/scumm/players/player_ad.h
@@ -42,17 +42,17 @@ class ScummEngine;
 class Player_AD : public MusicEngine {
 public:
 	Player_AD(ScummEngine *scumm);
-	virtual ~Player_AD();
+	~Player_AD() override;
 
 	// MusicEngine API
-	virtual void setMusicVolume(int vol);
-	virtual void startSound(int sound);
-	virtual void stopSound(int sound);
-	virtual void stopAllSounds();
-	virtual int  getMusicTimer();
-	virtual int  getSoundStatus(int sound) const;
-
-	virtual void saveLoadWithSerializer(Common::Serializer &ser);
+	void setMusicVolume(int vol) override;
+	void startSound(int sound) override;
+	void stopSound(int sound) override;
+	void stopAllSounds() override;
+	int  getMusicTimer() override;
+	int  getSoundStatus(int sound) const override;
+
+	void saveLoadWithSerializer(Common::Serializer &ser) override;
 
 	// Timer callback
 	void onTimer();
diff --git a/engines/scumm/players/player_apple2.cpp b/engines/scumm/players/player_apple2.cpp
index 4eb3a07..91cdebb 100644
--- a/engines/scumm/players/player_apple2.cpp
+++ b/engines/scumm/players/player_apple2.cpp
@@ -35,7 +35,7 @@ namespace Scumm {
  */
 class AppleII_SoundFunction1_FreqUpDown : public AppleII_SoundFunction {
 public:
-	virtual void init(Player_AppleII *player, const byte *params) {
+	void init(Player_AppleII *player, const byte *params) override {
 		_player = player;
 		_delta = params[0];
 		_count = params[1];
@@ -44,7 +44,7 @@ public:
 		_decInterval = (params[4] >= 0x40);
 	}
 
-	virtual bool update() { // D085
+	bool update() override { // D085
 		if (_decInterval) {
 			do {
 				_update(_interval, _count);
@@ -83,13 +83,13 @@ protected:
  */
 class AppleII_SoundFunction2_SymmetricWave : public AppleII_SoundFunction {
 public:
-	virtual void init(Player_AppleII *player, const byte *params) {
+	void init(Player_AppleII *player, const byte *params) override {
 		_player = player;
 		_params = params;
 		_pos = 1;
 	}
 
-	virtual bool update() { // D0D6
+	bool update() override { // D0D6
 		// while (pos = 1; pos < 256; ++pos)
 		if (_pos < 256) {
 			byte interval = _params[_pos];
@@ -132,13 +132,13 @@ protected:
  */
 class AppleII_SoundFunction3_AsymmetricWave : public AppleII_SoundFunction {
 public:
-	virtual void init(Player_AppleII *player, const byte *params) {
+	void init(Player_AppleII *player, const byte *params) override {
 		_player = player;
 		_params = params;
 		_pos = 1;
 	}
 
-	virtual bool update() { // D132
+	bool update() override { // D132
 		// while (pos = 1; pos < 256; ++pos)
 		if (_pos < 256) {
 			byte interval = _params[_pos];
@@ -177,7 +177,7 @@ protected:
  */
 class AppleII_SoundFunction4_Polyphone : public AppleII_SoundFunction {
 public:
-	virtual void init(Player_AppleII *player, const byte *params) {
+	void init(Player_AppleII *player, const byte *params) override {
 		_player = player;
 		_params = params;
 		_updateRemain1 = 80;
@@ -185,7 +185,7 @@ public:
 		_count = 0;
 	}
 
-	virtual bool update() { // D170
+	bool update() override { // D170
 		// while (_params[0] != 0x01)
 		if (_params[0] != 0x01) {
 			if (_count == 0) // prepare next loop
@@ -273,14 +273,14 @@ protected:
  */
 class AppleII_SoundFunction5_Noise : public AppleII_SoundFunction {
 public:
-	virtual void init(Player_AppleII *player, const byte *params) {
+	void init(Player_AppleII *player, const byte *params) override {
 		_player = player;
 		_index = 0;
 		_param0 = params[0];
 		assert(_param0 > 0);
 	}
 
-	virtual bool update() { // D222
+	bool update() override { // D222
 		const byte noiseMask[] = {
 			0x3F, 0x3F, 0x7F, 0x7F, 0x7F, 0x7F, 0xFF, 0xFF, 0xFF, 0x0F, 0x0F
 		};
diff --git a/engines/scumm/players/player_apple2.h b/engines/scumm/players/player_apple2.h
index 2e897d5..34c42b2 100644
--- a/engines/scumm/players/player_apple2.h
+++ b/engines/scumm/players/player_apple2.h
@@ -238,24 +238,24 @@ protected:
 class Player_AppleII : public Audio::AudioStream, public MusicEngine {
 public:
 	Player_AppleII(ScummEngine *scumm, Audio::Mixer *mixer);
-	virtual ~Player_AppleII();
+	~Player_AppleII() override;
 
-	virtual void setMusicVolume(int vol) { _sampleConverter.setMusicVolume(vol); }
+	void setMusicVolume(int vol) override { _sampleConverter.setMusicVolume(vol); }
 	void setSampleRate(int rate) {
 		_sampleRate = rate;
 		_sampleConverter.setSampleRate(rate);
 	}
-	virtual void startSound(int sound);
-	virtual void stopSound(int sound);
-	virtual void stopAllSounds();
-	virtual int  getSoundStatus(int sound) const;
-	virtual int  getMusicTimer();
+	void startSound(int sound) override;
+	void stopSound(int sound) override;
+	void stopAllSounds() override;
+	int  getSoundStatus(int sound) const override;
+	int  getMusicTimer() override;
 
 	// AudioStream API
-	int readBuffer(int16 *buffer, const int numSamples);
-	bool isStereo() const { return false; }
-	bool endOfData() const { return false; }
-	int getRate() const { return _sampleRate; }
+	int readBuffer(int16 *buffer, const int numSamples) override;
+	bool isStereo() const override { return false; }
+	bool endOfData() const override { return false; }
+	int getRate() const override { return _sampleRate; }
 
 public:
 	void speakerToggle();
diff --git a/engines/scumm/players/player_he.h b/engines/scumm/players/player_he.h
index 1405a05..7949d3f 100644
--- a/engines/scumm/players/player_he.h
+++ b/engines/scumm/players/player_he.h
@@ -38,23 +38,23 @@ class ScummEngine;
 class Player_HE : public MusicEngine, public MidiDriver {
 public:
 	Player_HE(ScummEngine *scumm);
-	~Player_HE();
-	void setMusicVolume(int vol);
-	void startSound(int sound) { startSoundWithTrackID(sound, 0); }
-	void startSoundWithTrackID(int sound, int track);
-	void stopSound(int sound);
-	void stopAllSounds();
-	int  getSoundStatus(int sound) const;
-	int  getMusicTimer();
+	~Player_HE() override;
+	void setMusicVolume(int vol) override;
+	void startSound(int sound) override { startSoundWithTrackID(sound, 0); }
+	void startSoundWithTrackID(int sound, int track) override;
+	void stopSound(int sound) override;
+	void stopAllSounds() override;
+	int  getSoundStatus(int sound) const override;
+	int  getMusicTimer() override;
 
-	int open();
-	bool isOpen() const;
-	void close();
-	void setTimerCallback(void *timerParam, Common::TimerManager::TimerProc timerProc);
-	uint32 getBaseTempo();
-	MidiChannel *allocateChannel() { return NULL; };
-	MidiChannel *getPercussionChannel() { return NULL; };
-	void send(uint32 b);
+	int open() override;
+	bool isOpen() const override;
+	void close() override;
+	void setTimerCallback(void *timerParam, Common::TimerManager::TimerProc timerProc) override;
+	uint32 getBaseTempo() override;
+	MidiChannel *allocateChannel() override { return NULL; };
+	MidiChannel *getPercussionChannel() override { return NULL; };
+	void send(uint32 b) override;
 
 private:
 	ScummEngine *_vm;
diff --git a/engines/scumm/players/player_mac.h b/engines/scumm/players/player_mac.h
index 713d72c..4eb8a2d 100644
--- a/engines/scumm/players/player_mac.h
+++ b/engines/scumm/players/player_mac.h
@@ -44,25 +44,25 @@ class ScummEngine;
 class Player_Mac : public Audio::AudioStream, public MusicEngine {
 public:
 	Player_Mac(ScummEngine *scumm, Audio::Mixer *mixer, int numberOfChannels, int channelMask, bool fadeNoteEnds);
-	virtual ~Player_Mac();
+	~Player_Mac() override;
 
 	void init();
 
 	// MusicEngine API
-	virtual void setMusicVolume(int vol);
-	virtual void startSound(int sound);
-	virtual void stopSound(int sound);
-	virtual void stopAllSounds();
-	virtual int  getMusicTimer();
-	virtual int  getSoundStatus(int sound) const;
+	void setMusicVolume(int vol) override;
+	void startSound(int sound) override;
+	void stopSound(int sound) override;
+	void stopAllSounds() override;
+	int  getMusicTimer() override;
+	int  getSoundStatus(int sound) const override;
 
 	// AudioStream API
-	virtual int readBuffer(int16 *buffer, const int numSamples);
-	virtual bool isStereo() const { return false; }
-	virtual bool endOfData() const { return false; }
-	virtual int getRate() const { return _sampleRate; }
+	int readBuffer(int16 *buffer, const int numSamples) override;
+	bool isStereo() const override { return false; }
+	bool endOfData() const override { return false; }
+	int getRate() const override { return _sampleRate; }
 
-	virtual void saveLoadWithSerializer(Common::Serializer &ser);
+	void saveLoadWithSerializer(Common::Serializer &ser) override;
 
 private:
 	Common::Mutex _mutex;
diff --git a/engines/scumm/players/player_mod.h b/engines/scumm/players/player_mod.h
index a157f34..87e3145 100644
--- a/engines/scumm/players/player_mod.h
+++ b/engines/scumm/players/player_mod.h
@@ -40,7 +40,7 @@ namespace Scumm {
 class Player_MOD : public Audio::AudioStream {
 public:
 	Player_MOD(Audio::Mixer *mixer);
-	virtual ~Player_MOD();
+	~Player_MOD() override;
 	virtual void setMusicVolume(int vol);
 
 	virtual void startChannel(int id, void *data, int size, int rate, uint8 vol, int loopStart = 0, int loopEnd = 0, int8 pan = 0);
@@ -55,14 +55,14 @@ public:
 	virtual void clearUpdateProc();
 
 	// AudioStream API
-	int readBuffer(int16 *buffer, const int numSamples) {
+	int readBuffer(int16 *buffer, const int numSamples) override {
 		Common::StackLock lock(_mutex);
 		do_mix(buffer, numSamples / 2);
 		return numSamples;
 	}
-	bool isStereo() const { return true; }
-	bool endOfData() const { return false; }
-	int getRate() const { return _sampleRate; }
+	bool isStereo() const override { return true; }
+	bool endOfData() const override { return false; }
+	int getRate() const override { return _sampleRate; }
 
 private:
 	enum {
diff --git a/engines/scumm/players/player_nes.h b/engines/scumm/players/player_nes.h
index 6c5efe9..ac5f1ac 100644
--- a/engines/scumm/players/player_nes.h
+++ b/engines/scumm/players/player_nes.h
@@ -45,19 +45,19 @@ static const int NUMCHANS = 4;
 class Player_NES : public Audio::AudioStream, public MusicEngine {
 public:
 	Player_NES(ScummEngine *scumm, Audio::Mixer *mixer);
-	virtual ~Player_NES();
+	~Player_NES() override;
 
-	virtual void setMusicVolume(int vol);
-	virtual void startSound(int sound);
-	virtual void stopSound(int sound);
-	virtual void stopAllSounds();
-	virtual int  getSoundStatus(int sound) const;
+	void setMusicVolume(int vol) override;
+	void startSound(int sound) override;
+	void stopSound(int sound) override;
+	void stopAllSounds() override;
+	int  getSoundStatus(int sound) const override;
 
 	// AudioStream API
-	int readBuffer(int16 *buffer, const int numSamples);
-	bool isStereo() const { return false; }
-	bool endOfData() const { return false; }
-	int getRate() const { return _sampleRate; }
+	int readBuffer(int16 *buffer, const int numSamples) override;
+	bool isStereo() const override { return false; }
+	bool endOfData() const override { return false; }
+	int getRate() const override { return _sampleRate; }
 
 private:
 
diff --git a/engines/scumm/players/player_pce.h b/engines/scumm/players/player_pce.h
index 5c9a2d2..f8a45f2 100644
--- a/engines/scumm/players/player_pce.h
+++ b/engines/scumm/players/player_pce.h
@@ -73,20 +73,20 @@ private:
 
 public:
 	Player_PCE(ScummEngine *scumm, Audio::Mixer *mixer);
-	virtual ~Player_PCE();
+	~Player_PCE() override;
 
-	virtual void setMusicVolume(int vol) { _maxvol = vol; }
-	virtual void startSound(int sound);
-	virtual void stopSound(int sound);
-	virtual void stopAllSounds();
-	virtual int  getSoundStatus(int sound) const;
-	virtual int  getMusicTimer();
+	void setMusicVolume(int vol) override { _maxvol = vol; }
+	void startSound(int sound) override;
+	void stopSound(int sound) override;
+	void stopAllSounds() override;
+	int  getSoundStatus(int sound) const override;
+	int  getMusicTimer() override;
 
 	// AudioStream API
-	int readBuffer(int16 *buffer, const int numSamples);
-	bool isStereo() const { return true; }
-	bool endOfData() const { return false; }
-	int getRate() const { return _sampleRate; }
+	int readBuffer(int16 *buffer, const int numSamples) override;
+	bool isStereo() const override { return true; }
+	bool endOfData() const override { return false; }
+	int getRate() const override { return _sampleRate; }
 
 private:
 	ScummEngine *_vm;
diff --git a/engines/scumm/players/player_sid.h b/engines/scumm/players/player_sid.h
index aa7e6be..6a46113 100644
--- a/engines/scumm/players/player_sid.h
+++ b/engines/scumm/players/player_sid.h
@@ -54,20 +54,20 @@ class ScummEngine;
 class Player_SID : public Audio::AudioStream, public MusicEngine {
 public:
 	Player_SID(ScummEngine *scumm, Audio::Mixer *mixer);
-	virtual ~Player_SID();
+	~Player_SID() override;
 
-	virtual void setMusicVolume(int vol) { _maxvol = vol; }
-	virtual void startSound(int sound);
-	virtual void stopSound(int sound);
-	virtual void stopAllSounds();
-	virtual int  getSoundStatus(int sound) const;
-	virtual int  getMusicTimer();
+	void setMusicVolume(int vol) override { _maxvol = vol; }
+	void startSound(int sound) override;
+	void stopSound(int sound) override;
+	void stopAllSounds() override;
+	int  getSoundStatus(int sound) const override;
+	int  getMusicTimer() override;
 
 	// AudioStream API
-	int readBuffer(int16 *buffer, const int numSamples);
-	bool isStereo() const { return false; }
-	bool endOfData() const { return false; }
-	int getRate() const { return _sampleRate; }
+	int readBuffer(int16 *buffer, const int numSamples) override;
+	bool isStereo() const override { return false; }
+	bool endOfData() const override { return false; }
+	int getRate() const override { return _sampleRate; }
 
 private:
 	Resid::SID *_sid;
diff --git a/engines/scumm/players/player_towns.h b/engines/scumm/players/player_towns.h
index 6283547..4b59144 100644
--- a/engines/scumm/players/player_towns.h
+++ b/engines/scumm/players/player_towns.h
@@ -33,17 +33,17 @@ namespace Scumm {
 class Player_Towns : public MusicEngine {
 public:
 	Player_Towns(ScummEngine *vm, bool isVersion2);
-	virtual ~Player_Towns() {}
+	~Player_Towns() override {}
 
 	virtual bool init() = 0;
 
 	void setSfxVolume(int vol);
 
-	int getSoundStatus(int sound) const;
+	int getSoundStatus(int sound) const override;
 
 	virtual int32 doCommand(int numargs, int args[]) = 0;
 
-	virtual void saveLoadWithSerializer(Common::Serializer &ser);
+	void saveLoadWithSerializer(Common::Serializer &ser) override;
 	virtual void restoreAfterLoad();
 
 	// version 1 specific
@@ -83,27 +83,27 @@ protected:
 class Player_Towns_v1 : public Player_Towns {
 public:
 	Player_Towns_v1(ScummEngine *vm, Audio::Mixer *mixer);
-	~Player_Towns_v1();
+	~Player_Towns_v1() override;
 
-	bool init();
+	bool init() override;
 
-	void setMusicVolume(int vol);
-	void startSound(int sound);
-	void stopSound(int sound);
-	void stopAllSounds();
+	void setMusicVolume(int vol) override;
+	void startSound(int sound) override;
+	void stopSound(int sound) override;
+	void stopAllSounds() override;
 
-	int getSoundStatus(int sound) const;
-	int getCurrentCdaSound() { return _cdaCurrentSound; }
-	int getCurrentCdaVolume() { return (_cdaVolLeft + _cdaVolRight + 1) >> 1; }
+	int getSoundStatus(int sound) const override;
+	int getCurrentCdaSound() override { return _cdaCurrentSound; }
+	int getCurrentCdaVolume() override { return (_cdaVolLeft + _cdaVolRight + 1) >> 1; }
 
-	int32 doCommand(int numargs, int args[]);
+	int32 doCommand(int numargs, int args[]) override;
 
-	void setVolumeCD(int left, int right);
-	void setSoundVolume(int sound, int left, int right);
-	void setSoundNote(int sound, int note);
+	void setVolumeCD(int left, int right) override;
+	void setSoundVolume(int sound, int left, int right) override;
+	void setSoundNote(int sound, int note) override;
 
-	void saveLoadWithSerializer(Common::Serializer &ser);
-	void restoreAfterLoad();
+	void saveLoadWithSerializer(Common::Serializer &ser) override;
+	void restoreAfterLoad() override;
 
 private:
 	void restartLoopingSounds();
@@ -142,20 +142,20 @@ private:
 class Player_Towns_v2 : public Player_Towns {
 public:
 	Player_Towns_v2(ScummEngine *vm, Audio::Mixer *mixer, IMuse *imuse, bool disposeIMuse);
-	~Player_Towns_v2();
+	~Player_Towns_v2() override;
 
-	bool init();
+	bool init() override;
 
-	void setMusicVolume(int vol);
+	void setMusicVolume(int vol) override;
 
-	int getSoundStatus(int sound) const;
-	void startSound(int sound);
-	void stopSound(int sound);
-	void stopAllSounds();
+	int getSoundStatus(int sound) const override;
+	void startSound(int sound) override;
+	void stopSound(int sound) override;
+	void stopAllSounds() override;
 
-	int32 doCommand(int numargs, int args[]);
+	int32 doCommand(int numargs, int args[]) override;
 
-	void saveLoadWithSerializer(Common::Serializer &ser);
+	void saveLoadWithSerializer(Common::Serializer &ser) override;
 
 private:
 	void playVocTrack(const uint8 *data);
diff --git a/engines/scumm/players/player_v1.h b/engines/scumm/players/player_v1.h
index 3854922..34ac7a5 100644
--- a/engines/scumm/players/player_v1.h
+++ b/engines/scumm/players/player_v1.h
@@ -33,20 +33,20 @@ namespace Scumm {
 class Player_V1 : public Player_V2 {
 public:
 	Player_V1(ScummEngine *scumm, Audio::Mixer *mixer, bool pcjr);
-	~Player_V1();
+	~Player_V1() override;
 
-	virtual void startSound(int sound);
-	virtual void stopSound(int sound);
-	virtual void stopAllSounds();
-	virtual int  getMusicTimer();
+	void startSound(int sound) override;
+	void stopSound(int sound) override;
+	void stopAllSounds() override;
+	int  getMusicTimer() override;
 
 protected:
-	virtual void nextTick();
-	virtual void clear_channel(int i);
-	virtual void chainSound(int nr, byte *data);
+	void nextTick() override;
+	void clear_channel(int i) override;
+	void chainSound(int nr, byte *data) override;
 
-	virtual void generateSpkSamples(int16 *data, uint len);
-	virtual void generatePCjrSamples(int16 *data, uint len);
+	void generateSpkSamples(int16 *data, uint len) override;
+	void generatePCjrSamples(int16 *data, uint len) override;
 
 	void restartSound();
 
diff --git a/engines/scumm/players/player_v2.h b/engines/scumm/players/player_v2.h
index b7a602d..a0a4943 100644
--- a/engines/scumm/players/player_v2.h
+++ b/engines/scumm/players/player_v2.h
@@ -35,18 +35,18 @@ namespace Scumm {
 class Player_V2 : public Player_V2Base {
 public:
 	Player_V2(ScummEngine *scumm, Audio::Mixer *mixer, bool pcjr);
-	virtual ~Player_V2();
+	~Player_V2() override;
 
 	// MusicEngine API
-	virtual void setMusicVolume(int vol);
-	virtual void startSound(int sound);
-	virtual void stopSound(int sound);
-	virtual void stopAllSounds();
+	void setMusicVolume(int vol) override;
+	void startSound(int sound) override;
+	void stopSound(int sound) override;
+	void stopAllSounds() override;
 //	virtual int  getMusicTimer();
-	virtual int  getSoundStatus(int sound) const;
+	int  getSoundStatus(int sound) const override;
 
 	// AudioStream API
-	virtual int readBuffer(int16 *buffer, const int numSamples);
+	int readBuffer(int16 *buffer, const int numSamples) override;
 
 protected:
 	unsigned int _update_step;
diff --git a/engines/scumm/players/player_v2a.cpp b/engines/scumm/players/player_v2a.cpp
index 3431c16..80a9784 100644
--- a/engines/scumm/players/player_v2a.cpp
+++ b/engines/scumm/players/player_v2a.cpp
@@ -68,11 +68,11 @@ protected:
 class V2A_Sound_Unsupported : public V2A_Sound {
 public:
 	V2A_Sound_Unsupported() { }
-	virtual void start(Player_MOD *mod, int id, const byte *data) {
+	void start(Player_MOD *mod, int id, const byte *data) override {
 		warning("player_v2a - sound %i not supported", id);
 	}
-	virtual bool update() { return false; }
-	virtual void stop() { }
+	bool update() override { return false; }
+	void stop() override { }
 };
 
 // template, automatically stops all channels when a sound is silenced
@@ -81,7 +81,7 @@ class V2A_Sound_Base : public V2A_Sound {
 public:
 	V2A_Sound_Base() : _offset(0), _size(0), _data(0) { }
 	V2A_Sound_Base(uint16 offset, uint16 size) : _offset(offset), _size(size), _data(0) { }
-	virtual void stop() {
+	void stop() override {
 		assert(_id);
 		for (int i = 0; i < numChan; i++)
 			_mod->stopChannel(_id | (i << 8));
@@ -101,7 +101,7 @@ class V2A_Sound_Music : public V2A_Sound {
 public:
 	V2A_Sound_Music(uint16 instoff, uint16 voloff, uint16 chan1off, uint16 chan2off, uint16 chan3off, uint16 chan4off, uint16 sampoff, bool looped) :
 		_instoff(instoff), _voloff(voloff), _chan1off(chan1off), _chan2off(chan2off), _chan3off(chan3off), _chan4off(chan4off), _sampoff(sampoff), _looped(looped) { }
-	virtual void start(Player_MOD *mod, int id, const byte *data) {
+	void start(Player_MOD *mod, int id, const byte *data) override {
 		_mod = mod;
 		_id = id;
 
@@ -122,7 +122,7 @@ public:
 		}
 		update();
 	}
-	virtual bool update() {
+	bool update() override {
 		assert(_id);
 		int i, j = 0;
 		for (i = 0; i < 4; i++) {
@@ -194,7 +194,7 @@ public:
 			return false;
 		return true;
 	}
-	virtual void stop() {
+	void stop() override {
 		assert(_id);
 		for (int i = 0; i < 4; i++) {
 			if (_chan[i].dur)
@@ -230,7 +230,7 @@ class V2A_Sound_Single : public V2A_Sound_Base<1> {
 public:
 	V2A_Sound_Single(uint16 offset, uint16 size, uint16 freq, uint8 vol) :
 		V2A_Sound_Base<1>(offset, size), _freq(freq), _vol(vol) { }
-	virtual void start(Player_MOD *mod, int id, const byte *data) {
+	void start(Player_MOD *mod, int id, const byte *data) override {
 		_mod = mod;
 		_id = id;
 		char *tmp_data = (char *)malloc(_size);
@@ -239,7 +239,7 @@ public:
 		_mod->startChannel(_id, tmp_data, _size, BASE_FREQUENCY / _freq, vol, 0, 0);
 		_ticks = 1 + (60 * _size * _freq) / BASE_FREQUENCY;
 	}
-	virtual bool update() {
+	bool update() override {
 		assert(_id);
 		_ticks--;
 		if (!_ticks) {
@@ -261,7 +261,7 @@ public:
 		V2A_Sound_Base<1>(offset, size), _loopoffset(loopoffset), _loopsize(loopsize), _freq(freq), _vol(vol) { }
 	V2A_Sound_SingleLooped(uint16 offset, uint16 size, uint16 freq, uint8 vol) :
 		V2A_Sound_Base<1>(offset, size), _loopoffset(0), _loopsize(size), _freq(freq), _vol(vol) { }
-	virtual void start(Player_MOD *mod, int id, const byte *data) {
+	void start(Player_MOD *mod, int id, const byte *data) override {
 		_mod = mod;
 		_id = id;
 		char *tmp_data = (char *)malloc(_size);
@@ -269,7 +269,7 @@ public:
 		int vol = (_vol << 2) | (_vol >> 4);
 		_mod->startChannel(_id, tmp_data, _size, BASE_FREQUENCY / _freq, vol, _loopoffset, _loopoffset + _loopsize);
 	}
-	virtual bool update() {
+	bool update() override {
 		assert(_id);
 		return true;
 	}
@@ -285,7 +285,7 @@ class V2A_Sound_MultiLooped : public V2A_Sound_Base<2> {
 public:
 	V2A_Sound_MultiLooped(uint16 offset, uint16 size, uint16 freq1, uint8 vol1, uint16 freq2, uint8 vol2) :
 		V2A_Sound_Base<2>(offset, size), _freq1(freq1), _vol1(vol1), _freq2(freq2), _vol2(vol2) { }
-	virtual void start(Player_MOD *mod, int id, const byte *data) {
+	void start(Player_MOD *mod, int id, const byte *data) override {
 		_mod = mod;
 		_id = id;
 		char *tmp_data1 = (char *)malloc(_size);
@@ -297,7 +297,7 @@ public:
 		_mod->startChannel(_id | 0x000, tmp_data1, _size, BASE_FREQUENCY / _freq1, vol1, 0, _size, -127);
 		_mod->startChannel(_id | 0x100, tmp_data2, _size, BASE_FREQUENCY / _freq2, vol2, 0, _size, 127);
 	}
-	virtual bool update() {
+	bool update() override {
 		assert(_id);
 		return true;
 	}
@@ -313,11 +313,11 @@ class V2A_Sound_MultiLoopedDuration : public V2A_Sound_MultiLooped {
 public:
 	V2A_Sound_MultiLoopedDuration(uint16 offset, uint16 size, uint16 freq1, uint8 vol1, uint16 freq2, uint8 vol2, uint16 numframes) :
 		V2A_Sound_MultiLooped(offset, size, freq1, vol1, freq2, vol2), _duration(numframes) { }
-	virtual void start(Player_MOD *mod, int id, const byte *data) {
+	void start(Player_MOD *mod, int id, const byte *data) override {
 		V2A_Sound_MultiLooped::start(mod, id, data);
 		_ticks = 0;
 	}
-	virtual bool update() {
+	bool update() override {
 		assert(_id);
 		_ticks++;
 		if (_ticks >= _duration)
@@ -335,7 +335,7 @@ class V2A_Sound_SingleLoopedPitchbend : public V2A_Sound_Base<1> {
 public:
 	V2A_Sound_SingleLoopedPitchbend(uint16 offset, uint16 size, uint16 freq1, uint16 freq2, uint8 vol, uint8 step) :
 		V2A_Sound_Base<1>(offset, size), _freq1(freq1), _freq2(freq2), _vol(vol), _step(step) { }
-	virtual void start(Player_MOD *mod, int id, const byte *data) {
+	void start(Player_MOD *mod, int id, const byte *data) override {
 		_mod = mod;
 		_id = id;
 		char *tmp_data = (char *)malloc(_size);
@@ -344,7 +344,7 @@ public:
 		_curfreq = _freq1;
 		_mod->startChannel(_id, tmp_data, _size, BASE_FREQUENCY / _curfreq, vol, 0, _size);
 	}
-	virtual bool update() {
+	bool update() override {
 		assert(_id);
 		if (_freq1 < _freq2) {
 			_curfreq += _step;
@@ -376,7 +376,7 @@ class V2A_Sound_Special_Maniac69 : public V2A_Sound_Base<1> {
 public:
 	V2A_Sound_Special_Maniac69(uint16 offset, uint16 size, uint16 freq, uint8 vol) :
 		V2A_Sound_Base<1>(offset, size), _freq(freq), _vol(vol) { }
-	virtual void start(Player_MOD *mod, int id, const byte *data) {
+	void start(Player_MOD *mod, int id, const byte *data) override {
 		_mod = mod;
 		_id = id;
 		char *tmp_data = (char *)malloc(_size);
@@ -385,7 +385,7 @@ public:
 		_curfreq = _freq;
 		_mod->startChannel(_id, tmp_data, _size, BASE_FREQUENCY / _curfreq, _curvol >> 1, 0, _size);
 	}
-	virtual bool update() {
+	bool update() override {
 		assert(_id);
 		_curfreq += 2;
 		_mod->setChannelFreq(_id, BASE_FREQUENCY / _curfreq);
@@ -409,7 +409,7 @@ class V2A_Sound_Special_ManiacDing : public V2A_Sound_Base<1> {
 public:
 	V2A_Sound_Special_ManiacDing(uint16 offset, uint16 size, uint16 freq, uint8 fadeinrate, uint8 fadeoutrate) :
 		V2A_Sound_Base<1>(offset, size), _freq(freq), _fade1(fadeinrate), _fade2(fadeoutrate) { }
-	virtual void start(Player_MOD *mod, int id, const byte *data) {
+	void start(Player_MOD *mod, int id, const byte *data) override {
 		_mod = mod;
 		_id = id;
 		char *tmp_data = (char *)malloc(_size);
@@ -418,7 +418,7 @@ public:
 		_dir = 0;
 		_mod->startChannel(_id, tmp_data, _size, BASE_FREQUENCY / _freq, _curvol, 0, _size);
 	}
-	virtual bool update() {
+	bool update() override {
 		assert(_id);
 		if (_dir == 0) {
 			_curvol += _fade1;
@@ -449,7 +449,7 @@ class V2A_Sound_Special_ZakStereoDing : public V2A_Sound_Base<2> {
 public:
 	V2A_Sound_Special_ZakStereoDing(uint16 offset, uint16 size, uint16 freq1, uint16 freq2, uint8 fadeinrate, uint8 fadeoutrate) :
 		V2A_Sound_Base<2>(offset, size), _freq1(freq1), _freq2(freq2), _fade1(fadeinrate), _fade2(fadeoutrate) { }
-	virtual void start(Player_MOD *mod, int id, const byte *data) {
+	void start(Player_MOD *mod, int id, const byte *data) override {
 		_mod = mod;
 		_id = id;
 		char *tmp_data1 = (char *)malloc(_size);
@@ -461,7 +461,7 @@ public:
 		_mod->startChannel(_id | 0x000, tmp_data1, _size, BASE_FREQUENCY / _freq1, 1, 0, _size, -127);
 		_mod->startChannel(_id | 0x100, tmp_data2, _size, BASE_FREQUENCY / _freq2, 1, 0, _size, 127);
 	}
-	virtual bool update() {
+	bool update() override {
 		assert(_id);
 		if (_dir == 0) {
 			_curvol += _fade1;
@@ -494,7 +494,7 @@ class V2A_Sound_Special_ManiacTentacle : public V2A_Sound_Base<1> {
 public:
 	V2A_Sound_Special_ManiacTentacle(uint16 offset, uint16 size, uint16 freq1, uint16 freq2, uint16 step) :
 		V2A_Sound_Base<1>(offset, size), _freq1(freq1), _freq2(freq2), _step(step) { }
-	virtual void start(Player_MOD *mod, int id, const byte *data) {
+	void start(Player_MOD *mod, int id, const byte *data) override {
 		_mod = mod;
 		_id = id;
 		char *tmp_data = (char *)malloc(_size);
@@ -503,7 +503,7 @@ public:
 		_curvol = 0x3F;
 		_mod->startChannel(_id, tmp_data, _size, BASE_FREQUENCY / _curfreq, (_curvol << 2) | (_curvol >> 4), 0, _size);
 	}
-	virtual bool update() {
+	bool update() override {
 		assert(_id);
 		if (_curfreq > _freq2)
 			_curvol = 0x3F + _freq2 - _curfreq;
@@ -529,7 +529,7 @@ class V2A_Sound_Special_Maniac59 : public V2A_Sound_Base<1> {
 public:
 	V2A_Sound_Special_Maniac59(uint16 offset, uint16 size, uint16 freq1, uint16 freq2, uint16 step, uint8 vol) :
 		V2A_Sound_Base<1>(offset, size), _freq1(freq1), _freq2(freq2), _step(step), _vol(vol) { }
-	virtual void start(Player_MOD *mod, int id, const byte *data) {
+	void start(Player_MOD *mod, int id, const byte *data) override {
 		_mod = mod;
 		_id = id;
 		char *tmp_data = (char *)malloc(_size);
@@ -539,7 +539,7 @@ public:
 		_dir = 2;
 		_mod->startChannel(_id, tmp_data, _size, BASE_FREQUENCY / _curfreq, vol, 0, _size);
 	}
-	virtual bool update() {
+	bool update() override {
 		assert(_id);
 		if (_dir == 2) {
 			_curfreq += _step;
@@ -574,7 +574,7 @@ class V2A_Sound_Special_Maniac61 : public V2A_Sound_Base<1> {
 public:
 	V2A_Sound_Special_Maniac61(uint16 offset, uint16 size, uint16 freq1, uint16 freq2) :
 		V2A_Sound_Base<1>(offset, size), _freq1(freq1), _freq2(freq2) { }
-	virtual void start(Player_MOD *mod, int id, const byte *data) {
+	void start(Player_MOD *mod, int id, const byte *data) override {
 		_mod = mod;
 		_id = id;
 		char *tmp_data = (char *)malloc(_size);
@@ -583,7 +583,7 @@ public:
 		_curvol = 0x3F;
 		_mod->startChannel(_id, tmp_data, _size, BASE_FREQUENCY / _curfreq, (_curvol << 2) | (_curvol >> 4), 0, _size);
 	}
-	virtual bool update() {
+	bool update() override {
 		assert(_id);
 		_curfreq++;
 		if (!(_curfreq & 3))
@@ -608,7 +608,7 @@ class V2A_Sound_Special_ManiacPhone : public V2A_Sound_Base<2> {
 public:
 	V2A_Sound_Special_ManiacPhone(uint16 offset, uint16 size, uint16 freq1, uint8 vol1, uint16 freq2, uint8 vol2, uint16 numframes, uint8 playwidth, uint8 loopwidth) :
 		V2A_Sound_Base<2>(offset, size), _freq1(freq1), _vol1(vol1), _freq2(freq2), _vol2(vol2), _duration(numframes), _playwidth(playwidth), _loopwidth(loopwidth) { }
-	virtual void start(Player_MOD *mod, int id, const byte *data) {
+	void start(Player_MOD *mod, int id, const byte *data) override {
 		_mod = mod;
 		_id = id;
 		_data = (char *)malloc(READ_LE_UINT16(data));
@@ -617,7 +617,7 @@ public:
 		_ticks = 0;
 		_loop = 0;
 	}
-	virtual bool update() {
+	bool update() override {
 		assert(_id);
 		if (_loop == _playwidth) {
 			_mod->stopChannel(_id | 0x000);
@@ -663,7 +663,7 @@ class V2A_Sound_Special_Maniac46 : public V2A_Sound_Base<1> {
 public:
 	V2A_Sound_Special_Maniac46(uint16 offset, uint16 size, uint16 freq, uint8 vol, uint8 loopwidth, uint8 numloops) :
 		V2A_Sound_Base<1>(offset, size), _freq(freq), _vol(vol), _loopwidth(loopwidth), _numloops(numloops) { }
-	virtual void start(Player_MOD *mod, int id, const byte *data) {
+	void start(Player_MOD *mod, int id, const byte *data) override {
 		_mod = mod;
 		_id = id;
 		_data = (char *)malloc(READ_LE_UINT16(data));
@@ -672,7 +672,7 @@ public:
 		_loop = 0;
 		_loopctr = 0;
 	}
-	virtual bool update() {
+	bool update() override {
 		assert(_id);
 		_loop++;
 		if (_loop == _loopwidth) {
@@ -707,7 +707,7 @@ class V2A_Sound_Special_ManiacTypewriter : public V2A_Sound_Base<1> {
 public:
 	V2A_Sound_Special_ManiacTypewriter(uint16 offset, uint16 size, uint16 freq, uint8 vol, uint8 numdurs, const uint8 *durations, bool looped) :
 		V2A_Sound_Base<1>(offset, size), _freq(freq), _vol(vol), _numdurs(numdurs), _durations(durations), _looped(looped) { }
-	virtual void start(Player_MOD *mod, int id, const byte *data) {
+	void start(Player_MOD *mod, int id, const byte *data) override {
 		_mod = mod;
 		_id = id;
 		_data = (char *)malloc(READ_LE_UINT16(data));
@@ -716,7 +716,7 @@ public:
 		_curdur = 0;
 		_ticks = _durations[_curdur++];
 	}
-	virtual bool update() {
+	bool update() override {
 		assert(_id);
 		_ticks--;
 		if (!_ticks) {
@@ -755,7 +755,7 @@ class V2A_Sound_Special_Maniac44 : public V2A_Sound_Base<2> {
 public:
 	V2A_Sound_Special_Maniac44(uint16 offset1, uint16 size1, uint16 offset2, uint16 size2, uint16 freq1, uint16 freq2, uint8 vol) :
 		_offset1(offset1), _size1(size1), _offset2(offset2), _size2(size2), _freq1(freq1), _freq2(freq2), _vol(vol) { }
-	virtual void start(Player_MOD *mod, int id, const byte *data) {
+	void start(Player_MOD *mod, int id, const byte *data) override {
 		_mod = mod;
 		_id = id;
 		_data = (char *)malloc(READ_LE_UINT16(data));
@@ -767,7 +767,7 @@ public:
 
 		soundon(_data + _offset1, _size1);
 	}
-	virtual bool update() {
+	bool update() override {
 		assert(_id);
 		_mod->setChannelFreq(_id | 0x000, BASE_FREQUENCY / _curfreq);
 		_mod->setChannelFreq(_id | 0x100, BASE_FREQUENCY / (_curfreq + 3));
@@ -820,7 +820,7 @@ class V2A_Sound_Special_Maniac32 : public V2A_Sound_Base<4> {
 public:
 	V2A_Sound_Special_Maniac32(uint16 offset1, uint16 size1, uint16 offset2, uint16 size2, uint8 vol) :
 		_offset1(offset1), _size1(size1), _offset2(offset2), _size2(size2), _vol(vol) { }
-	virtual void start(Player_MOD *mod, int id, const byte *data) {
+	void start(Player_MOD *mod, int id, const byte *data) override {
 		_mod = mod;
 		_id = id;
 
@@ -846,7 +846,7 @@ public:
 		_mod->startChannel(_id | 0x200, tmp_data3, _size1, BASE_FREQUENCY / _freq3, _vol, 0, _size1, 127);
 		_mod->startChannel(_id | 0x300, tmp_data4, _size2, BASE_FREQUENCY / _freq4, _vol, 0, _size2, -127);
 	}
-	virtual bool update() {
+	bool update() override {
 		assert(_id);
 		updatefreq(_freq1, _step1, 0x00AA, 0x00FA);
 		updatefreq(_freq2, _step2, 0x019A, 0x03B6);
@@ -893,7 +893,7 @@ class V2A_Sound_Special_Zak70 : public V2A_Sound_Base<4> {
 public:
 	V2A_Sound_Special_Zak70(uint16 offset, uint16 size, uint16 freq1, uint16 freq2, uint16 freq3, uint16 freq4, uint8 vol) :
 		V2A_Sound_Base<4>(offset, size), _freq1(freq1), _freq2(freq2), _freq3(freq3), _freq4(freq4), _vol(vol) { }
-	virtual void start(Player_MOD *mod, int id, const byte *data) {
+	void start(Player_MOD *mod, int id, const byte *data) override {
 		_mod = mod;
 		_id = id;
 
@@ -910,7 +910,7 @@ public:
 		_mod->startChannel(_id | 0x200, tmp_data3, _size, BASE_FREQUENCY / _freq3, _vol, 0, _size, 127);
 		_mod->startChannel(_id | 0x300, tmp_data4, _size, BASE_FREQUENCY / _freq4, _vol, 0, _size, -127);
 	}
-	virtual bool update() {
+	bool update() override {
 		assert(_id);
 		return true;
 	}
@@ -928,11 +928,11 @@ class V2A_Sound_Special_Zak101 : public V2A_Sound_Special_Zak70 {
 public:
 	V2A_Sound_Special_Zak101(uint16 offset, uint16 size, uint16 freq1, uint16 freq2, uint16 freq3, uint16 freq4, uint8 vol, uint16 dur) :
 		V2A_Sound_Special_Zak70(offset, size, freq1, freq2, freq3, freq4, vol), _dur(dur) { }
-	virtual void start(Player_MOD *mod, int id, const byte *data) {
+	void start(Player_MOD *mod, int id, const byte *data) override {
 		V2A_Sound_Special_Zak70::start(mod, id, data);
 		_ticks = _dur;
 	}
-	virtual bool update() {
+	bool update() override {
 		assert(_id);
 		if (!--_ticks)
 			return false;
@@ -956,7 +956,7 @@ class V2A_Sound_Special_Zak37 : public V2A_Sound_Base<1> {
 public:
 	V2A_Sound_Special_Zak37(uint16 offset, uint16 size, uint16 freq, uint8 vol) :
 		V2A_Sound_Base<1>(offset, size), _freq(freq), _vol(vol) { }
-	virtual void start(Player_MOD *mod, int id, const byte *data) {
+	void start(Player_MOD *mod, int id, const byte *data) override {
 		_mod = mod;
 		_id = id;
 		char *tmp_data = (char *)malloc(_size);
@@ -964,7 +964,7 @@ public:
 		_curvol = _vol << 2;
 		_mod->startChannel(_id, tmp_data, _size, BASE_FREQUENCY / _freq, _curvol, 0, _size);
 	}
-	virtual bool update() {
+	bool update() override {
 		assert(_id);
 		if (!--_curvol)
 			return false;
@@ -984,7 +984,7 @@ class V2A_Sound_Special_ZakAirplane : public V2A_Sound_Base<1> {
 public:
 	V2A_Sound_Special_ZakAirplane(uint16 offset, uint16 size, uint16 freq1, uint16 freq2) :
 		V2A_Sound_Base<1>(offset, size), _freq1(freq1), _freq2(freq2) { }
-	virtual void start(Player_MOD *mod, int id, const byte *data) {
+	void start(Player_MOD *mod, int id, const byte *data) override {
 		_mod = mod;
 		_id = id;
 		char *tmp_data = (char *)malloc(_size);
@@ -994,7 +994,7 @@ public:
 		_mod->startChannel(_id, tmp_data, _size, BASE_FREQUENCY / _curfreq, (_curvol << 2) | (_curvol >> 4), 0, _size);
 		_ticks = 0;
 	}
-	virtual bool update() {
+	bool update() override {
 		assert(_id);
 		_ticks++;
 		if (_ticks < 4)
@@ -1029,7 +1029,7 @@ class V2A_Sound_Special_Zak71 : public V2A_Sound_Base<4> {
 public:
 	V2A_Sound_Special_Zak71(uint16 offset, uint16 size) :
 		_offset(offset), _size(size) { }
-	virtual void start(Player_MOD *mod, int id, const byte *data) {
+	void start(Player_MOD *mod, int id, const byte *data) override {
 		_mod = mod;
 		_id = id;
 
@@ -1052,7 +1052,7 @@ public:
 		_mod->startChannel(_id | 0x200, tmp_data3, _size, BASE_FREQUENCY / _freq3, MIN((_vol >> 1) + 3, 0x32), 0, _size, 127);
 		_mod->startChannel(_id | 0x300, tmp_data4, _size, BASE_FREQUENCY / _freq4, MIN((_vol >> 1) + 3, 0x32), 0, _size, -127);
 	}
-	virtual bool update() {
+	bool update() override {
 		assert(_id);
 		_freq1 += 0x14;
 		_freq2 += 0x1E;
@@ -1088,7 +1088,7 @@ class V2A_Sound_Special_Zak99 : public V2A_Sound_Base<1> {
 public:
 	V2A_Sound_Special_Zak99(uint16 offset, uint16 size, uint16 freq1, uint16 freq2, uint8 vol) :
 		V2A_Sound_Base<1>(offset, size), _freq1(freq1), _freq2(freq2), _vol(vol) { }
-	virtual void start(Player_MOD *mod, int id, const byte *data) {
+	void start(Player_MOD *mod, int id, const byte *data) override {
 		_mod = mod;
 		_id = id;
 		char *tmp_data = (char *)malloc(_size);
@@ -1099,7 +1099,7 @@ public:
 		_bendctr = 100;
 		_holdctr = 30;
 	}
-	virtual bool update() {
+	bool update() override {
 		assert(_id);
 		if (_curfreq >= _freq2) {
 			_mod->setChannelFreq(_id, BASE_FREQUENCY / _curfreq);
@@ -1132,7 +1132,7 @@ class V2A_Sound_Special_Zak54 : public V2A_Sound_Base<1> {
 public:
 	V2A_Sound_Special_Zak54(uint16 offset1, uint16 size1, uint16 offset2, uint16 size2, uint16 freq) :
 		_offset1(offset1), _size1(size1), _offset2(offset2), _size2(size2), _freq(freq) { }
-	virtual void start(Player_MOD *mod, int id, const byte *data) {
+	void start(Player_MOD *mod, int id, const byte *data) override {
 		_mod = mod;
 		_id = id;
 		_data = (char *)malloc(READ_LE_UINT16(data));
@@ -1143,7 +1143,7 @@ public:
 		_mod->startChannel(_id, tmp_data, _size1, BASE_FREQUENCY / _freq, _vol, 0, _size1);
 		_loop = _size1 * _freq * 60 / BASE_FREQUENCY;
 	}
-	virtual bool update() {
+	bool update() override {
 		assert(_id);
 		if (!_loop) {
 			_vol--;
@@ -1177,7 +1177,7 @@ class V2A_Sound_Special_Zak110 : public V2A_Sound_Base<2> {
 public:
 	V2A_Sound_Special_Zak110(uint16 offset1, uint16 size1, uint16 offset2, uint16 size2, uint16 freq1, uint16 freq2) :
 		_offset1(offset1), _size1(size1), _offset2(offset2), _size2(size2), _freq1(freq1), _freq2(freq2) { }
-	virtual void start(Player_MOD *mod, int id, const byte *data) {
+	void start(Player_MOD *mod, int id, const byte *data) override {
 		_mod = mod;
 		_id = id;
 		_data = (char *)malloc(READ_LE_UINT16(data));
@@ -1187,7 +1187,7 @@ public:
 		_vol = 0x1500;
 		_beepcount = 0;
 	}
-	virtual bool update() {
+	bool update() override {
 		char *tmp_data;
 		assert(_id);
 
@@ -1254,7 +1254,7 @@ class V2A_Sound_Special_Zak32 : public V2A_Sound_Base<2> {
 public:
 	V2A_Sound_Special_Zak32(uint16 offset1, uint16 offset2, uint16 size1, uint16 size2) :
 		_offset1(offset1), _offset2(offset2), _size1(size1), _size2(size2) { }
-	virtual void start(Player_MOD *mod, int id, const byte *data) {
+	void start(Player_MOD *mod, int id, const byte *data) override {
 		_mod = mod;
 		_id = id;
 		_data = (char *)malloc(READ_LE_UINT16(data));
@@ -1271,7 +1271,7 @@ public:
 		_mod->startChannel(_id | 0x000, tmp_data1, _size1, BASE_FREQUENCY / _freq, 0x7F, 0, _size1, -127);
 		_mod->startChannel(_id | 0x100, tmp_data2, _size1, BASE_FREQUENCY / (_freq + 3), 0x7F, 0, _size1, 127);
 	}
-	virtual bool update() {
+	bool update() override {
 		assert(_id);
 
 		if (_loopnum < 7) {
@@ -1329,7 +1329,7 @@ class V2A_Sound_Special_Zak52 : public V2A_Sound_Base<1> {
 public:
 	V2A_Sound_Special_Zak52(uint16 offset, uint16 size) :
 		_offset(offset), _size(size) { }
-	virtual void start(Player_MOD *mod, int id, const byte *data) {
+	void start(Player_MOD *mod, int id, const byte *data) override {
 		_mod = mod;
 		_id = id;
 		_data = (char *)malloc(READ_LE_UINT16(data));
@@ -1341,7 +1341,7 @@ public:
 		memcpy(tmp_data, _data + _offset, _size);
 		_mod->startChannel(_id | 0x000, tmp_data, _size, BASE_FREQUENCY / _curfreq, 0xFF, 0, _size, -127);
 	}
-	virtual bool update() {
+	bool update() override {
 		assert(_id);
 		int vol = (_curfreq - 0xC8) >> 3;
 		if (vol > 0x3F)
@@ -1368,7 +1368,7 @@ class V2A_Sound_Special_Zak61 : public V2A_Sound_Base<2> {
 public:
 	V2A_Sound_Special_Zak61(uint16 offset, uint16 size) :
 		_offset(offset), _size(size) { }
-	virtual void start(Player_MOD *mod, int id, const byte *data) {
+	void start(Player_MOD *mod, int id, const byte *data) override {
 		_mod = mod;
 		_id = id;
 		_data = (char *)malloc(READ_LE_UINT16(data));
@@ -1385,7 +1385,7 @@ public:
 		// start 2nd channel silent
 		_mod->startChannel(_id | 0x100, tmp_data2, _size, BASE_FREQUENCY / _curfreq, 0, 0, _size, 127);
 	}
-	virtual bool update() {
+	bool update() override {
 		assert(_id);
 		int freq = (_loop << 4) + _curfreq;
 		int vol = freq - 0x76;
@@ -1426,7 +1426,7 @@ class V2A_Sound_Special_Zak62 : public V2A_Sound_Base<2> {
 public:
 	V2A_Sound_Special_Zak62(uint16 offset, uint16 size) :
 		_offset(offset), _size(size) { }
-	virtual void start(Player_MOD *mod, int id, const byte *data) {
+	void start(Player_MOD *mod, int id, const byte *data) override {
 		_mod = mod;
 		_id = id;
 		_data = (char *)malloc(READ_LE_UINT16(data));
@@ -1443,7 +1443,7 @@ public:
 		// start 2nd channel silent
 		_mod->startChannel(_id | 0x100, tmp_data2, _size, BASE_FREQUENCY / _curfreq, 0, 0, _size, 127);
 	}
-	virtual bool update() {
+	bool update() override {
 		assert(_id);
 		int freq = (_loop << 4) + _curfreq;
 		int vol = 0x0200 - freq;
@@ -1484,7 +1484,7 @@ class V2A_Sound_Special_Zak82 : public V2A_Sound_Base<4> {
 public:
 	V2A_Sound_Special_Zak82(uint16 offset, uint16 size) :
 		_offset(offset), _size(size) { }
-	virtual void start(Player_MOD *mod, int id, const byte *data) {
+	void start(Player_MOD *mod, int id, const byte *data) override {
 		_mod = mod;
 		_id = id;
 		_data = (char *)malloc(READ_LE_UINT16(data));
@@ -1506,7 +1506,7 @@ public:
 		memcpy(tmp_data, _data + offset, size);
 		_mod->startChannel(_id | 0x000, tmp_data, size, BASE_FREQUENCY / 0x0479, 0xFF, 0, size);
 	}
-	virtual bool update() {
+	bool update() override {
 		assert(_id);
 		char *tmp_data1, *tmp_data2;
 		int size, offset = _offset;
@@ -1585,7 +1585,7 @@ class V2A_Sound_Special_Zak86 : public V2A_Sound_Base<1> {
 public:
 	V2A_Sound_Special_Zak86(uint16 offset, uint16 size) :
 		_offset(offset), _size(size) { }
-	virtual void start(Player_MOD *mod, int id, const byte *data) {
+	void start(Player_MOD *mod, int id, const byte *data) override {
 		_mod = mod;
 		_id = id;
 		_data = (char *)malloc(READ_LE_UINT16(data));
@@ -1602,7 +1602,7 @@ public:
 		memcpy(tmp_data, _data + offset, size);
 		_mod->startChannel(_id | 0x000, tmp_data, size, BASE_FREQUENCY / 0x0096, 0, 0, size, 0);
 	}
-	virtual bool update() {
+	bool update() override {
 		assert(_id);
 		int size, offset;
 		char *tmp_data;
@@ -1662,7 +1662,7 @@ class V2A_Sound_Special_Zak98 : public V2A_Sound_Base<4> {
 public:
 	V2A_Sound_Special_Zak98(uint16 offset, uint16 size) :
 		_offset(offset), _size(size) { }
-	virtual void start(Player_MOD *mod, int id, const byte *data) {
+	void start(Player_MOD *mod, int id, const byte *data) override {
 		_mod = mod;
 		_id = id;
 		_data = (char *)malloc(READ_LE_UINT16(data));
@@ -1693,7 +1693,7 @@ public:
 		_mod->startChannel(_id | 0x200, tmp_data3, _size, BASE_FREQUENCY / _freq[2], _vol[2], 0, _size, 127);
 		_mod->startChannel(_id | 0x300, tmp_data4, _size, BASE_FREQUENCY / _freq[3], _vol[3], 0, _size, -127);
 	}
-	virtual bool update() {
+	bool update() override {
 		assert(_id);
 		const uint16 _minvol[2] = {0x2E, 0x32};
 		int i;
diff --git a/engines/scumm/players/player_v2a.h b/engines/scumm/players/player_v2a.h
index 3733382..4baba18 100644
--- a/engines/scumm/players/player_v2a.h
+++ b/engines/scumm/players/player_v2a.h
@@ -40,14 +40,14 @@ class V2A_Sound;
 class Player_V2A : public MusicEngine {
 public:
 	Player_V2A(ScummEngine *scumm, Audio::Mixer *mixer);
-	virtual ~Player_V2A();
+	~Player_V2A() override;
 
-	virtual void setMusicVolume(int vol);
-	virtual void startSound(int sound);
-	virtual void stopSound(int sound);
-	virtual void stopAllSounds();
-	virtual int  getMusicTimer();
-	virtual int  getSoundStatus(int sound) const;
+	void setMusicVolume(int vol) override;
+	void startSound(int sound) override;
+	void stopSound(int sound) override;
+	void stopAllSounds() override;
+	int  getMusicTimer() override;
+	int  getSoundStatus(int sound) const override;
 
 private:
 	enum {
diff --git a/engines/scumm/players/player_v2base.h b/engines/scumm/players/player_v2base.h
index 83b496a..1a3dfb9 100644
--- a/engines/scumm/players/player_v2base.h
+++ b/engines/scumm/players/player_v2base.h
@@ -69,14 +69,14 @@ struct channel_data {
 class Player_V2Base : public Audio::AudioStream, public MusicEngine {
 public:
 	Player_V2Base(ScummEngine *scumm, Audio::Mixer *mixer, bool pcjr);
-	virtual ~Player_V2Base();
+	~Player_V2Base() override;
 
 	// MusicEngine API
 // 	virtual void setMusicVolume(int vol);
 // 	virtual void startSound(int sound);
 // 	virtual void stopSound(int sound);
 // 	virtual void stopAllSounds();
- 	virtual int  getMusicTimer();
+ 	int  getMusicTimer() override;
 // 	virtual int  getSoundStatus(int sound) const;
 
 	// AudioStream API
@@ -86,9 +86,9 @@ public:
 		return numSamples;
 	}
 */
-	virtual bool isStereo() const { return true; }
-	virtual bool endOfData() const { return false; }
-	virtual int getRate() const { return _sampleRate; }
+	bool isStereo() const override { return true; }
+	bool endOfData() const override { return false; }
+	int getRate() const override { return _sampleRate; }
 
 protected:
 	enum {
diff --git a/engines/scumm/players/player_v2cms.h b/engines/scumm/players/player_v2cms.h
index b68fa00..e97dbe5 100644
--- a/engines/scumm/players/player_v2cms.h
+++ b/engines/scumm/players/player_v2cms.h
@@ -35,19 +35,19 @@ namespace Scumm {
 class Player_V2CMS : public Player_V2Base {
 public:
 	Player_V2CMS(ScummEngine *scumm, Audio::Mixer *mixer);
-	virtual ~Player_V2CMS();
+	~Player_V2CMS() override;
 
 	// MusicEngine API
-	virtual void setMusicVolume(int vol);
-	virtual void startSound(int sound);
-	virtual void stopSound(int sound);
-	virtual void stopAllSounds();
-	virtual int  getMusicTimer();
-	virtual int  getSoundStatus(int sound) const;
+	void setMusicVolume(int vol) override;
+	void startSound(int sound) override;
+	void stopSound(int sound) override;
+	void stopAllSounds() override;
+	int  getMusicTimer() override;
+	int  getSoundStatus(int sound) const override;
 
 	// AudioStream API
-	virtual int readBuffer(int16 *buffer, const int numSamples);
-	virtual bool isStereo() const { return true; }
+	int readBuffer(int16 *buffer, const int numSamples) override;
+	bool isStereo() const override { return true; }
 
 private:
 	struct Voice {
diff --git a/engines/scumm/players/player_v3a.h b/engines/scumm/players/player_v3a.h
index 7a4ebec..aa31e3b 100644
--- a/engines/scumm/players/player_v3a.h
+++ b/engines/scumm/players/player_v3a.h
@@ -39,14 +39,14 @@ class ScummEngine;
 class Player_V3A : public MusicEngine {
 public:
 	Player_V3A(ScummEngine *scumm, Audio::Mixer *mixer);
-	virtual ~Player_V3A();
-
-	virtual void setMusicVolume(int vol);
-	virtual void startSound(int sound);
-	virtual void stopSound(int sound);
-	virtual void stopAllSounds();
-	virtual int  getMusicTimer();
-	virtual int  getSoundStatus(int sound) const;
+	~Player_V3A() override;
+
+	void setMusicVolume(int vol) override;
+	void startSound(int sound) override;
+	void stopSound(int sound) override;
+	void stopAllSounds() override;
+	int  getMusicTimer() override;
+	int  getSoundStatus(int sound) const override;
 
 private:
 	enum {
diff --git a/engines/scumm/players/player_v3m.h b/engines/scumm/players/player_v3m.h
index 645f1fb..5d6b59a 100644
--- a/engines/scumm/players/player_v3m.h
+++ b/engines/scumm/players/player_v3m.h
@@ -44,9 +44,9 @@ class Player_V3M : public Player_Mac {
 public:
 	Player_V3M(ScummEngine *scumm, Audio::Mixer *mixer);
 
-	virtual bool checkMusicAvailable();
-	virtual bool loadMusic(const byte *ptr);
-	virtual bool getNextNote(int ch, uint32 &samples, int &pitchModifier, byte &velocity);
+	bool checkMusicAvailable() override;
+	bool loadMusic(const byte *ptr) override;
+	bool getNextNote(int ch, uint32 &samples, int &pitchModifier, byte &velocity) override;
 };
 
 } // End of namespace Scumm
diff --git a/engines/scumm/players/player_v4a.h b/engines/scumm/players/player_v4a.h
index a746d59..2792f08 100644
--- a/engines/scumm/players/player_v4a.h
+++ b/engines/scumm/players/player_v4a.h
@@ -41,14 +41,14 @@ class ScummEngine;
 class Player_V4A : public MusicEngine {
 public:
 	Player_V4A(ScummEngine *scumm, Audio::Mixer *mixer);
-	virtual ~Player_V4A();
-
-	virtual void setMusicVolume(int vol);
-	virtual void startSound(int sound);
-	virtual void stopSound(int sound);
-	virtual void stopAllSounds();
-	virtual int  getMusicTimer();
-	virtual int  getSoundStatus(int sound) const;
+	~Player_V4A() override;
+
+	void setMusicVolume(int vol) override;
+	void startSound(int sound) override;
+	void stopSound(int sound) override;
+	void stopAllSounds() override;
+	int  getMusicTimer() override;
+	int  getSoundStatus(int sound) const override;
 
 private:
 	ScummEngine *const _vm;
diff --git a/engines/scumm/players/player_v5m.h b/engines/scumm/players/player_v5m.h
index 152aa15..7721983 100644
--- a/engines/scumm/players/player_v5m.h
+++ b/engines/scumm/players/player_v5m.h
@@ -44,9 +44,9 @@ class Player_V5M : public Player_Mac {
 public:
 	Player_V5M(ScummEngine *scumm, Audio::Mixer *mixer);
 
-	virtual bool checkMusicAvailable();
-	virtual bool loadMusic(const byte *ptr);
-	virtual bool getNextNote(int ch, uint32 &samples, int &pitchModifier, byte &velocity);
+	bool checkMusicAvailable() override;
+	bool loadMusic(const byte *ptr) override;
+	bool getNextNote(int ch, uint32 &samples, int &pitchModifier, byte &velocity) override;
 
 private:
 	uint32 _lastNoteSamples[3];
diff --git a/engines/scumm/scumm.h b/engines/scumm/scumm.h
index eeceb13..a7bffd9 100644
--- a/engines/scumm/scumm.h
+++ b/engines/scumm/scumm.h
@@ -416,29 +416,29 @@ protected:
 public:
 	// Constructor / Destructor
 	ScummEngine(OSystem *syst, const DetectorResult &dr);
-	virtual ~ScummEngine();
+	~ScummEngine() override;
 
 	// Engine APIs
 	Common::Error init();
 	Common::Error go();
-	virtual Common::Error run() override {
+	Common::Error run() override {
 		Common::Error err;
 		err = init();
 		if (err.getCode() != Common::kNoError)
 			return err;
 		return go();
 	}
-	virtual void errorString(const char *buf_input, char *buf_output, int buf_output_size) override;
-	virtual GUI::Debugger *getDebugger() override;
-	virtual bool hasFeature(EngineFeature f) const override;
-	virtual void syncSoundSettings() override;
+	void errorString(const char *buf_input, char *buf_output, int buf_output_size) override;
+	GUI::Debugger *getDebugger() override;
+	bool hasFeature(EngineFeature f) const override;
+	void syncSoundSettings() override;
 
-	virtual Common::Error loadGameState(int slot) override;
-	virtual bool canLoadGameStateCurrently() override;
-	virtual Common::Error saveGameState(int slot, const Common::String &desc) override;
-	virtual bool canSaveGameStateCurrently() override;
+	Common::Error loadGameState(int slot) override;
+	bool canLoadGameStateCurrently() override;
+	Common::Error saveGameState(int slot, const Common::String &desc) override;
+	bool canSaveGameStateCurrently() override;
 
-	virtual void pauseEngineIntern(bool pause) override;
+	void pauseEngineIntern(bool pause) override;
 
 protected:
 	virtual void setupScumm();
@@ -494,7 +494,7 @@ protected:
 	Dialog *_messageDialog;
 	Dialog *_versionDialog;
 
-	virtual int runDialog(Dialog &dialog) override;
+	int runDialog(Dialog &dialog) override;
 	void confirmExitDialog();
 	void confirmRestartDialog();
 	void pauseDialog();
@@ -610,7 +610,7 @@ protected:
 	bool saveState(int slot, bool compat, Common::String &fileName);
 	bool loadState(int slot, bool compat);
 	bool loadState(int slot, bool compat, Common::String &fileName);
-	virtual void saveLoadWithSerializer(Common::Serializer &s) override;
+	void saveLoadWithSerializer(Common::Serializer &s) override;
 	void saveResource(Common::Serializer &ser, ResType type, ResId idx);
 	void loadResource(Common::Serializer &ser, ResType type, ResId idx);
 	void loadResourceOLD(Common::Serializer &ser, ResType type, ResId idx);	// "Obsolete"
diff --git a/engines/scumm/scumm_v0.h b/engines/scumm/scumm_v0.h
index dd2142d..30a20c8 100644
--- a/engines/scumm/scumm_v0.h
+++ b/engines/scumm/scumm_v0.h
@@ -66,7 +66,7 @@ protected:
 public:
 	ScummEngine_v0(OSystem *syst, const DetectorResult &dr);
 
-	virtual void resetScumm();
+	void resetScumm() override;
 
 	byte walkboxFindTarget(Actor *a, int destbox, Common::Point walkdest);
 
@@ -75,22 +75,22 @@ public:
 	int DelayCalculateDelta();
 
 protected:
-	virtual void resetRoomObject(ObjectData *od, const byte *room, const byte *searchptr = NULL);
+	void resetRoomObject(ObjectData *od, const byte *room, const byte *searchptr = NULL) override;
 
-	virtual void setupOpcodes();
+	void setupOpcodes() override;
 
-	virtual void setupScummVars();
-	virtual void resetScummVars();
-	virtual void scummLoop(int delta);
-	virtual void decodeParseString();
+	void setupScummVars() override;
+	void resetScummVars() override;
+	void scummLoop(int delta) override;
+	void decodeParseString() override;
 
-	virtual void processInput();
+	void processInput() override;
 
-	virtual void saveLoadWithSerializer(Common::Serializer &s);
+	void saveLoadWithSerializer(Common::Serializer &s) override;
 
-	virtual bool objIsActor(int obj);
-	virtual int objToActor(int obj);
-	virtual int actorToObj(int actor);
+	bool objIsActor(int obj) override;
+	int objToActor(int obj) override;
+	int actorToObj(int actor) override;
 
 	// V0 MM Verb commands
 	int getVerbPrepId();
@@ -99,11 +99,11 @@ protected:
 	void verbExec();
 
 	virtual void runSentenceScript();
-	virtual void checkAndRunSentenceScript();
+	void checkAndRunSentenceScript() override;
 	bool checkPendingWalkAction();
 	bool checkSentenceComplete();
-	virtual void checkExecVerbs();
-	virtual void handleMouseOver(bool updateInventory);
+	void checkExecVerbs() override;
+	void handleMouseOver(bool updateInventory) override;
 	int verbPrepIdType(int verbid);
 	void resetVerbs();
 	void verbDemoMode();
@@ -118,18 +118,18 @@ protected:
 
 	void switchActor(int slot);
 
-	virtual int getVarOrDirectWord(byte mask);
-	virtual uint fetchScriptWord();
+	int getVarOrDirectWord(byte mask) override;
+	uint fetchScriptWord() override;
 
-	virtual int getActiveObject();
+	int getActiveObject() override;
 
 	void resetSentence();
 
-	bool areBoxesNeighbors(int box1nr, int box2nr);
+	bool areBoxesNeighbors(int box1nr, int box2nr) override;
 
 	bool ifEqualActiveObject2Common(bool checkType);
 
-	virtual int getCurrentLights() const;
+	int getCurrentLights() const override;
 
 	/* Version 0 script opcodes */
 	void o_stopCurrentScript();
diff --git a/engines/scumm/scumm_v2.h b/engines/scumm/scumm_v2.h
index 43226b8..e5002b8 100644
--- a/engines/scumm/scumm_v2.h
+++ b/engines/scumm/scumm_v2.h
@@ -47,39 +47,39 @@ protected:
 public:
 	ScummEngine_v2(OSystem *syst, const DetectorResult &dr);
 
-	virtual void resetScumm();
+	void resetScumm() override;
 
 	void checkV2MouseOver(Common::Point pos);
 	int checkV2Inventory(int x, int y);
 	void redrawV2Inventory();
 
 protected:
-	virtual void setupOpcodes();
+	void setupOpcodes() override;
 
-	virtual void setupScummVars();
-	virtual void resetScummVars();
-	virtual void decodeParseString();
+	void setupScummVars() override;
+	void resetScummVars() override;
+	void decodeParseString() override;
 
-	virtual void saveLoadWithSerializer(Common::Serializer &s);
+	void saveLoadWithSerializer(Common::Serializer &s) override;
 
-	virtual void processKeyboard(Common::KeyState lastKeyHit);
+	void processKeyboard(Common::KeyState lastKeyHit) override;
 
-	virtual void readIndexFile();
+	void readIndexFile() override;
 	void readClassicIndexFile();	// V1
 	void readEnhancedIndexFile();	// V2
-	virtual void readGlobalObjects();
-	virtual void loadCharset(int no);
+	void readGlobalObjects() override;
+	void loadCharset(int no) override;
 
-	virtual void runInputScript(int clickArea, int val, int mode);
-	virtual void runInventoryScript(int i);
+	void runInputScript(int clickArea, int val, int mode) override;
+	void runInventoryScript(int i) override;
 
-	virtual int getVar();
+	int getVar() override;
 
 	void getResultPosIndirect();
-	virtual void getResultPos();
+	void getResultPos() override;
 
-	virtual int readVar(uint var);
-	virtual void writeVar(uint var, int value);
+	int readVar(uint var) override;
+	void writeVar(uint var, int value) override;
 
 protected:
 	virtual int getActiveObject();
@@ -92,12 +92,12 @@ protected:
 	void resetSentence();
 	void setUserState(byte state);
 
-	virtual void handleMouseOver(bool updateInventory);
-	virtual void checkExecVerbs();
+	void handleMouseOver(bool updateInventory) override;
+	void checkExecVerbs() override;
 	void initV2MouseOver();
 	void initNESMouseOver();
 
-	virtual void setBuiltinCursor(int index);
+	void setBuiltinCursor(int index) override;
 
 	void drawPreposition(int index);
 
diff --git a/engines/scumm/scumm_v3.h b/engines/scumm/scumm_v3.h
index 29f170e..a7b35cf 100644
--- a/engines/scumm/scumm_v3.h
+++ b/engines/scumm/scumm_v3.h
@@ -33,17 +33,17 @@ namespace Scumm {
 class ScummEngine_v3 : public ScummEngine_v4 {
 public:
 	ScummEngine_v3(OSystem *syst, const DetectorResult &dr);
-	~ScummEngine_v3();
+	~ScummEngine_v3() override;
 
-	virtual void resetScumm();
+	void resetScumm() override;
 
 protected:
-	virtual void setupOpcodes();
+	void setupOpcodes() override;
 
-	virtual void readRoomsOffsets();
-	virtual void loadCharset(int no);
+	void readRoomsOffsets() override;
+	void loadCharset(int no) override;
 
-	virtual void processKeyboard(Common::KeyState lastKeyHit);
+	void processKeyboard(Common::KeyState lastKeyHit) override;
 
 	/* Version 3 script opcodes */
 	void o3_setBoxFlags();
@@ -59,11 +59,11 @@ public:
 	ScummEngine_v3old(OSystem *syst, const DetectorResult &dr);
 
 protected:
-	virtual int readResTypeList(ResType type);
-	virtual void readIndexFile();
-	virtual void setupRoomSubBlocks();
-	virtual void resetRoomSubBlocks();
-	virtual void resetRoomObjects();
+	int readResTypeList(ResType type) override;
+	void readIndexFile() override;
+	void setupRoomSubBlocks() override;
+	void resetRoomSubBlocks() override;
+	void resetRoomObjects() override;
 };
 
 
diff --git a/engines/scumm/scumm_v4.h b/engines/scumm/scumm_v4.h
index a008023..6aafab6 100644
--- a/engines/scumm/scumm_v4.h
+++ b/engines/scumm/scumm_v4.h
@@ -49,21 +49,21 @@ public:
 public:
 	ScummEngine_v4(OSystem *syst, const DetectorResult &dr);
 
-	virtual void resetScumm();
+	void resetScumm() override;
 
 protected:
-	virtual void setupOpcodes();
+	void setupOpcodes() override;
 
-	virtual void scummLoop_handleSaveLoad();
+	void scummLoop_handleSaveLoad() override;
 
-	virtual int readResTypeList(ResType type);
-	virtual void readIndexFile();
-	virtual void loadCharset(int no);
-	virtual void resetRoomObjects();
-	virtual void readMAXS(int blockSize);
-	virtual void readGlobalObjects();
+	int readResTypeList(ResType type) override;
+	void readIndexFile() override;
+	void loadCharset(int no) override;
+	void resetRoomObjects() override;
+	void readMAXS(int blockSize) override;
+	void readGlobalObjects() override;
 
-	virtual void resetRoomObject(ObjectData *od, const byte *room, const byte *searchptr = NULL);
+	void resetRoomObject(ObjectData *od, const byte *room, const byte *searchptr = NULL) override;
 
 	void saveVars();
 	void loadVars();
diff --git a/engines/scumm/scumm_v5.h b/engines/scumm/scumm_v5.h
index 76b6c12..4def0e3 100644
--- a/engines/scumm/scumm_v5.h
+++ b/engines/scumm/scumm_v5.h
@@ -54,21 +54,21 @@ public:
 
 	void clearFlashlight();
 
-	virtual void resetCursors();
+	void resetCursors() override;
 
 protected:
-	virtual void setupOpcodes();
+	void setupOpcodes() override;
 
-	virtual void scummLoop_handleActors();
-	virtual void scummLoop_handleSaveLoad();
+	void scummLoop_handleActors() override;
+	void scummLoop_handleSaveLoad() override;
 
-	virtual void setupScummVars();
-	virtual void resetScummVars();
+	void setupScummVars() override;
+	void resetScummVars() override;
 	virtual void decodeParseString();
 
-	virtual void saveLoadWithSerializer(Common::Serializer &s);
+	void saveLoadWithSerializer(Common::Serializer &s) override;
 
-	virtual void readMAXS(int blockSize);
+	void readMAXS(int blockSize) override;
 
 	int getWordVararg(int *ptr);
 
@@ -79,7 +79,7 @@ protected:
 	virtual void getResultPos();
 	void setResult(int result);
 
-	virtual void animateCursor();
+	void animateCursor() override;
 
 	virtual void setBuiltinCursor(int index);
 	void redefineBuiltinCursorFromChar(int index, int chr);
diff --git a/engines/scumm/scumm_v6.h b/engines/scumm/scumm_v6.h
index 83b9f2f..21e0e4d 100644
--- a/engines/scumm/scumm_v6.h
+++ b/engines/scumm/scumm_v6.h
@@ -95,23 +95,23 @@ protected:
 public:
 	ScummEngine_v6(OSystem *syst, const DetectorResult &dr);
 
-	virtual void resetScumm();
+	void resetScumm() override;
 
 protected:
-	virtual void setupOpcodes();
+	void setupOpcodes() override;
 
-	virtual void scummLoop_handleActors();
-	virtual void processKeyboard(Common::KeyState lastKeyHit);
+	void scummLoop_handleActors() override;
+	void processKeyboard(Common::KeyState lastKeyHit) override;
 
-	virtual void setupScummVars();
+	void setupScummVars() override;
 	virtual void decodeParseString(int a, int b);
-	virtual void readArrayFromIndexFile();
+	void readArrayFromIndexFile() override;
 
-	virtual byte *getStringAddress(ResId idx);
-	virtual void readMAXS(int blockSize);
+	byte *getStringAddress(ResId idx) override;
+	void readMAXS(int blockSize) override;
 
-	virtual void palManipulateInit(int resID, int start, int end, int time);
-	virtual void drawDirtyScreenParts();
+	void palManipulateInit(int resID, int start, int end, int time) override;
+	void drawDirtyScreenParts() override;
 
 	int getStackList(int *args, uint maxnum);
 	int popRoomAndObj(int *room);
@@ -147,7 +147,7 @@ protected:
 	void removeBlastObjects();
 	void removeBlastObject(BlastObject *eo);
 
-	virtual void clearDrawQueues();
+	void clearDrawQueues() override;
 
 public:
 	bool akos_increaseAnims(const byte *akos, Actor *a);
@@ -156,7 +156,7 @@ protected:
 	void akos_queCommand(byte cmd, Actor *a, int param_1, int param_2);
 	virtual void akos_processQueue();
 
-	virtual void processActors();
+	void processActors() override;
 
 	int getSpecialBox(int x, int y);
 
diff --git a/engines/scumm/scumm_v7.h b/engines/scumm/scumm_v7.h
index 6fe5f2e..4148fb1 100644
--- a/engines/scumm/scumm_v7.h
+++ b/engines/scumm/scumm_v7.h
@@ -38,7 +38,7 @@ class ScummEngine_v7 : public ScummEngine_v6 {
 	friend class Insane;
 public:
 	ScummEngine_v7(OSystem *syst, const DetectorResult &dr);
-	~ScummEngine_v7();
+	~ScummEngine_v7() override;
 
 
 protected:
@@ -94,46 +94,46 @@ public:
 	void processSubtitleQueue();
 	void addSubtitleToQueue(const byte *text, const Common::Point &pos, byte color, byte charset);
 	void clearSubtitleQueue();
-	virtual void CHARSET_1();
+	void CHARSET_1() override;
 	bool isSmushActive() { return _smushActive; }
 
 protected:
-	virtual int runDialog(Dialog &dialog);
+	int runDialog(Dialog &dialog) override;
 
-	virtual void scummLoop_handleSound();
-	virtual void scummLoop_handleDrawing();
-	virtual void processInput();
-	virtual void processKeyboard(Common::KeyState lastKeyHit);
+	void scummLoop_handleSound() override;
+	void scummLoop_handleDrawing() override;
+	void processInput() override;
+	void processKeyboard(Common::KeyState lastKeyHit) override;
 
-	virtual void setupScumm();
+	void setupScumm() override;
 
-	virtual void setupScummVars();
-	virtual void resetScummVars();
+	void setupScummVars() override;
+	void resetScummVars() override;
 
-	virtual void akos_processQueue();
+	void akos_processQueue() override;
 
-	virtual void saveLoadWithSerializer(Common::Serializer &s);
+	void saveLoadWithSerializer(Common::Serializer &s) override;
 
-	virtual void readMAXS(int blockSize);
-	virtual void readGlobalObjects();
-	virtual void readIndexBlock(uint32 blocktype, uint32 itemsize);
+	void readMAXS(int blockSize) override;
+	void readGlobalObjects() override;
+	void readIndexBlock(uint32 blocktype, uint32 itemsize) override;
 
-	virtual void setCameraAt(int pos_x, int pos_y);
-	virtual void setCameraFollows(Actor *a, bool setCamera = false);
-	virtual void moveCamera();
-	virtual void panCameraTo(int x, int y);
+	void setCameraAt(int pos_x, int pos_y) override;
+	void setCameraFollows(Actor *a, bool setCamera = false) override;
+	void moveCamera() override;
+	void panCameraTo(int x, int y) override;
 
-	virtual int getObjectIdFromOBIM(const byte *obim);
+	int getObjectIdFromOBIM(const byte *obim) override;
 
-	virtual void actorTalk(const byte *msg);
-	virtual void translateText(const byte *text, byte *trans_buff);
-	virtual void loadLanguageBundle();
+	void actorTalk(const byte *msg) override;
+	void translateText(const byte *text, byte *trans_buff) override;
+	void loadLanguageBundle() override;
 	void playSpeech(const byte *ptr);
 
-	virtual void drawVerb(int verb, int mode);
+	void drawVerb(int verb, int mode) override;
 
 
-	virtual void o6_kernelSetFunctions();
+	void o6_kernelSetFunctions() override;
 };
 
 
diff --git a/engines/scumm/scumm_v8.h b/engines/scumm/scumm_v8.h
index 714a7d2..d089d1c 100644
--- a/engines/scumm/scumm_v8.h
+++ b/engines/scumm/scumm_v8.h
@@ -42,32 +42,32 @@ protected:
 
 public:
 	ScummEngine_v8(OSystem *syst, const DetectorResult &dr);
-	~ScummEngine_v8();
+	~ScummEngine_v8() override;
 
 protected:
-	virtual void setupOpcodes();
+	void setupOpcodes() override;
 
-	virtual void printString(int m, const byte *msg);
+	void printString(int m, const byte *msg) override;
 
-	virtual void scummLoop_handleSaveLoad();
+	void scummLoop_handleSaveLoad() override;
 
-	virtual void setupScummVars();
-	virtual void resetScummVars();
-	virtual void decodeParseString(int m, int n);
-	virtual void readArrayFromIndexFile();
+	void setupScummVars() override;
+	void resetScummVars() override;
+	void decodeParseString(int m, int n) override;
+	void readArrayFromIndexFile() override;
 
-	virtual void readMAXS(int blockSize);
-	virtual void readGlobalObjects();
+	void readMAXS(int blockSize) override;
+	void readGlobalObjects() override;
 
-	virtual uint fetchScriptWord();
-	virtual int fetchScriptWordSigned();
+	uint fetchScriptWord() override;
+	int fetchScriptWordSigned() override;
 
-	virtual int readVar(uint var);
-	virtual void writeVar(uint var, int value);
+	int readVar(uint var) override;
+	void writeVar(uint var, int value) override;
 
-	virtual int getObjectIdFromOBIM(const byte *obim);
+	int getObjectIdFromOBIM(const byte *obim) override;
 
-	virtual void processKeyboard(Common::KeyState lastKeyHit);
+	void processKeyboard(Common::KeyState lastKeyHit) override;
 
 	void desaturatePalette(int hueScale, int satScale, int lightScale, int startColor, int endColor);
 
diff --git a/engines/scumm/smush/channel.h b/engines/scumm/smush/channel.h
index dc2219b..6f7fd7c 100644
--- a/engines/scumm/smush/channel.h
+++ b/engines/scumm/smush/channel.h
@@ -74,17 +74,17 @@ private:
 	bool _keepSize;
 
 protected:
-	bool handleSubTags(int32 &offset);
+	bool handleSubTags(int32 &offset) override;
 
 public:
 	SaudChannel(int32 track);
-	bool isTerminated() const;
-	bool setParameters(int32 duration, int32 flags, int32 vol1, int32 vol2, int32 index);
-	bool checkParameters(int32 index, int32 duration, int32 flags, int32 vol1, int32 vol2);
-	bool appendData(Common::SeekableReadStream &b, int32 size);
-	byte *getSoundData();
-	int32 getRate() { return 22050; }
-	bool getParameters(bool &stereo, bool &is_16bit, int32 &vol, int32 &pan) {
+	bool isTerminated() const override;
+	bool setParameters(int32 duration, int32 flags, int32 vol1, int32 vol2, int32 index) override;
+	bool checkParameters(int32 index, int32 duration, int32 flags, int32 vol1, int32 vol2) override;
+	bool appendData(Common::SeekableReadStream &b, int32 size) override;
+	byte *getSoundData() override;
+	int32 getRate() override { return 22050; }
+	bool getParameters(bool &stereo, bool &is_16bit, int32 &vol, int32 &pan) override {
 		stereo = false;
 		is_16bit = false;
 		vol = _volume;
@@ -104,17 +104,17 @@ private:
 protected:
 	void decode();
 	bool handleMap(byte *data);
-	bool handleSubTags(int32 &offset);
+	bool handleSubTags(int32 &offset) override;
 
 public:
 	ImuseChannel(int32 track);
-	bool isTerminated() const;
-	bool setParameters(int32 nbframes, int32 size, int32 track_flags, int32 unk1, int32);
-	bool checkParameters(int32 index, int32 nbframes, int32 size, int32 track_flags, int32 unk1);
-	bool appendData(Common::SeekableReadStream &b, int32 size);
-	byte *getSoundData();
-	int32 getRate() { return _rate; }
-	bool getParameters(bool &stereo, bool &is_16bit, int32 &vol, int32 &pan) {
+	bool isTerminated() const override;
+	bool setParameters(int32 nbframes, int32 size, int32 track_flags, int32 unk1, int32) override;
+	bool checkParameters(int32 index, int32 nbframes, int32 size, int32 track_flags, int32 unk1) override;
+	bool appendData(Common::SeekableReadStream &b, int32 size) override;
+	byte *getSoundData() override;
+	int32 getRate() override { return _rate; }
+	bool getParameters(bool &stereo, bool &is_16bit, int32 &vol, int32 &pan) override {
 		stereo = (_channels == 2);
 		is_16bit = (_bitsize > 8);
 		vol = _volume;
diff --git a/engines/scumm/sound.h b/engines/scumm/sound.h
index 740420e..637154b 100644
--- a/engines/scumm/sound.h
+++ b/engines/scumm/sound.h
@@ -103,7 +103,7 @@ public:
 
 public:
 	Sound(ScummEngine *parent, Audio::Mixer *mixer);
-	virtual ~Sound();
+	~Sound() override;
 	virtual void addSoundToQueue(int sound, int heOffset = 0, int heChannel = 0, int heFlags = 0, int heFreq = 0, int hePan = 0, int heVol = 0);
 	virtual void addSoundToQueue2(int sound, int heOffset = 0, int heChannel = 0, int heFlags = 0, int heFreq = 0, int hePan = 0, int heVol = 0);
 	void processSound();
@@ -132,7 +132,7 @@ public:
 	AudioCDManager::Status getCDStatus();
 	int getCurrentCDSound() const { return _currentCDSound; }
 
-	void saveLoadWithSerializer(Common::Serializer &ser);
+	void saveLoadWithSerializer(Common::Serializer &ser) override;
 
 protected:
 	void setupSfxFile();


Commit: 9240f1f36aafd21334ec53f6b89832fecbb55ca8
    https://github.com/scummvm/scummvm/commit/9240f1f36aafd21334ec53f6b89832fecbb55ca8
Author: Bastien Bouclet (bastien.bouclet at gmail.com)
Date: 2020-02-09T12:43:16+01:00

Commit Message:
SHERLOCK: Add override keywords

Changed paths:
    engines/sherlock/debugger.h
    engines/sherlock/detection.cpp
    engines/sherlock/music.h
    engines/sherlock/objects.h
    engines/sherlock/people.h
    engines/sherlock/scalpel/3do/movie_decoder.h
    engines/sherlock/scalpel/3do/scalpel_3do_screen.h
    engines/sherlock/scalpel/drivers/adlib.cpp
    engines/sherlock/scalpel/drivers/mt32.cpp
    engines/sherlock/scalpel/scalpel.h
    engines/sherlock/scalpel/scalpel_debugger.h
    engines/sherlock/scalpel/scalpel_fixed_text.h
    engines/sherlock/scalpel/scalpel_inventory.h
    engines/sherlock/scalpel/scalpel_journal.h
    engines/sherlock/scalpel/scalpel_map.h
    engines/sherlock/scalpel/scalpel_people.h
    engines/sherlock/scalpel/scalpel_saveload.h
    engines/sherlock/scalpel/scalpel_scene.h
    engines/sherlock/scalpel/scalpel_screen.h
    engines/sherlock/scalpel/scalpel_talk.h
    engines/sherlock/scalpel/scalpel_user_interface.h
    engines/sherlock/scalpel/tsage/logo.h
    engines/sherlock/screen.h
    engines/sherlock/sherlock.h
    engines/sherlock/surface.h
    engines/sherlock/tattoo/tattoo.h
    engines/sherlock/tattoo/tattoo_debugger.h
    engines/sherlock/tattoo/tattoo_fixed_text.h
    engines/sherlock/tattoo/tattoo_inventory.h
    engines/sherlock/tattoo/tattoo_journal.h
    engines/sherlock/tattoo/tattoo_map.h
    engines/sherlock/tattoo/tattoo_people.h
    engines/sherlock/tattoo/tattoo_scene.h
    engines/sherlock/tattoo/tattoo_screen.h
    engines/sherlock/tattoo/tattoo_talk.h
    engines/sherlock/tattoo/tattoo_user_interface.h
    engines/sherlock/tattoo/widget_files.h
    engines/sherlock/tattoo/widget_foolscap.h
    engines/sherlock/tattoo/widget_inventory.h
    engines/sherlock/tattoo/widget_lab.h
    engines/sherlock/tattoo/widget_options.h
    engines/sherlock/tattoo/widget_password.h
    engines/sherlock/tattoo/widget_quit.h
    engines/sherlock/tattoo/widget_talk.h
    engines/sherlock/tattoo/widget_text.h
    engines/sherlock/tattoo/widget_tooltip.h
    engines/sherlock/tattoo/widget_verbs.h


diff --git a/engines/sherlock/debugger.h b/engines/sherlock/debugger.h
index ae74690..f3b15b3 100644
--- a/engines/sherlock/debugger.h
+++ b/engines/sherlock/debugger.h
@@ -80,10 +80,10 @@ public:
 	AllLocations _showAllLocations;
 public:
 	Debugger(SherlockEngine *vm);
-	virtual ~Debugger() {}
+	~Debugger() override {}
 	static Debugger *init(SherlockEngine *vm);
 
-	void postEnter();
+	void postEnter() override;
 };
 
 } // End of namespace Sherlock
diff --git a/engines/sherlock/detection.cpp b/engines/sherlock/detection.cpp
index 2f03aad..8b3e9c6 100644
--- a/engines/sherlock/detection.cpp
+++ b/engines/sherlock/detection.cpp
@@ -151,42 +151,42 @@ public:
 	SherlockMetaEngine() : AdvancedMetaEngine(Sherlock::gameDescriptions, sizeof(Sherlock::SherlockGameDescription),
 		sherlockGames, optionsList) {}
 
-	virtual const char *getEngineId() const override {
+	const char *getEngineId() const override {
 		return "sherlock";
 	}
 
-	virtual const char *getName() const override {
+	const char *getName() const override {
 		return "Sherlock";
 	}
 
-	virtual const char *getOriginalCopyright() const override {
+	const char *getOriginalCopyright() const override {
 		return "Sherlock (C) 1992-1996 Mythos Software, (C) 1992-1996 Electronic Arts";
 	}
 
 	/**
 	 * Creates an instance of the game engine
 	 */
-	virtual bool createInstance(OSystem *syst, Engine **engine, const ADGameDescription *desc) const override;
+	bool createInstance(OSystem *syst, Engine **engine, const ADGameDescription *desc) const override;
 
 	/**
 	 * Returns a list of features the game's MetaEngine support
 	 */
-	virtual bool hasFeature(MetaEngineFeature f) const override;
+	bool hasFeature(MetaEngineFeature f) const override;
 
 	/**
 	 * Return a list of savegames
 	 */
-	virtual SaveStateList listSaves(const char *target) const override;
+	SaveStateList listSaves(const char *target) const override;
 
 	/**
 	 * Returns the maximum number of allowed save slots
 	 */
-	virtual int getMaximumSaveSlot() const override;
+	int getMaximumSaveSlot() const override;
 
 	/**
 	 * Deletes a savegame in the specified slot
 	 */
-	virtual void removeSaveState(const char *target, int slot) const override;
+	void removeSaveState(const char *target, int slot) const override;
 
 	/**
 	 * Given a specified savegame slot, returns extended information for the save
diff --git a/engines/sherlock/music.h b/engines/sherlock/music.h
index 5dc173c..511ac29 100644
--- a/engines/sherlock/music.h
+++ b/engines/sherlock/music.h
@@ -37,11 +37,11 @@ class SherlockEngine;
 class MidiParser_SH : public MidiParser {
 public:
 	MidiParser_SH();
-	~MidiParser_SH();
+	~MidiParser_SH() override;
 
 protected:
 	Common::Mutex _mutex;
-	void parseNextEvent(EventInfo &info);
+	void parseNextEvent(EventInfo &info) override;
 
 	uint8 _beats;
 	uint8 _lastEvent;
@@ -49,8 +49,8 @@ protected:
 	byte *_trackEnd;
 
 public:
-	bool loadMusic(byte *musData, uint32 musSize);
-	virtual void unloadMusic();
+	bool loadMusic(byte *musData, uint32 musSize) override;
+	void unloadMusic() override;
 
 private:
 	byte  *_musData;
diff --git a/engines/sherlock/objects.h b/engines/sherlock/objects.h
index 6f1148e..73ead6c 100644
--- a/engines/sherlock/objects.h
+++ b/engines/sherlock/objects.h
@@ -298,7 +298,7 @@ public:
 	int _oldWalkSequence;
 public:
 	Sprite(): BaseObject() { clear(); }
-	virtual ~Sprite() {}
+	~Sprite() override {}
 
 	static void setVm(SherlockEngine *vm) { _vm = vm; }
 
@@ -324,7 +324,7 @@ public:
 	 * @param seq	Which sequence to use (if there's more than 1)
 	 * @remarks		1: First talk seq, 2: second talk seq, etc.
 	 */
-	virtual void setObjTalkSequence(int seq) {}
+	void setObjTalkSequence(int seq) override {}
 
 	/**
 	* Return frame width
@@ -376,7 +376,7 @@ public:
 	ActionType _aMove;
 
 	Object();
-	virtual ~Object() {}
+	~Object() override {}
 
 	/**
 	 * Load the data for the object
@@ -438,7 +438,7 @@ public:
 	 * @param seq	Which sequence to use (if there's more than 1)
 	 * @remarks		1: First talk seq, 2: second talk seq, etc.
 	 */
-	virtual void setObjTalkSequence(int seq);
+	void setObjTalkSequence(int seq) override;
 };
 
 struct CAnim {
diff --git a/engines/sherlock/people.h b/engines/sherlock/people.h
index 41e298b..c3037da 100644
--- a/engines/sherlock/people.h
+++ b/engines/sherlock/people.h
@@ -74,7 +74,7 @@ public:
 	Common::String _walkVGSName;		// Name of walk library person is using
 public:
 	Person();
-	virtual ~Person() {}
+	~Person() override {}
 
 	/**
 	 * Called to set the character walking to the current cursor location.
diff --git a/engines/sherlock/scalpel/3do/movie_decoder.h b/engines/sherlock/scalpel/3do/movie_decoder.h
index 68fed10..b54c424 100644
--- a/engines/sherlock/scalpel/3do/movie_decoder.h
+++ b/engines/sherlock/scalpel/3do/movie_decoder.h
@@ -44,13 +44,13 @@ namespace Sherlock {
 class Scalpel3DOMovieDecoder : public Video::VideoDecoder {
 public:
 	Scalpel3DOMovieDecoder();
-	~Scalpel3DOMovieDecoder();
+	~Scalpel3DOMovieDecoder() override;
 
-	bool loadStream(Common::SeekableReadStream *stream);
-	void close();
+	bool loadStream(Common::SeekableReadStream *stream) override;
+	void close() override;
 
 protected:
-	void readNextPacket();
+	void readNextPacket() override;
 
 private:
 	int32 _streamVideoOffset; /* current stream offset for video decoding */
@@ -60,18 +60,18 @@ private:
 	class StreamVideoTrack : public VideoTrack  {
 	public:
 		StreamVideoTrack(uint32 width, uint32 height, uint32 codecTag, uint32 frameCount);
-		~StreamVideoTrack();
+		~StreamVideoTrack() override;
 
-		bool endOfTrack() const;
+		bool endOfTrack() const override;
 
-		uint16 getWidth() const { return _width; }
-		uint16 getHeight() const { return _height; }
-		Graphics::PixelFormat getPixelFormat() const;
-		int getCurFrame() const { return _curFrame; }
-		int getFrameCount() const { return _frameCount; }
+		uint16 getWidth() const override { return _width; }
+		uint16 getHeight() const override { return _height; }
+		Graphics::PixelFormat getPixelFormat() const override;
+		int getCurFrame() const override { return _curFrame; }
+		int getFrameCount() const override { return _frameCount; }
 		void setNextFrameStartTime(uint32 nextFrameStartTime) { _nextFrameStartTime = nextFrameStartTime; }
-		uint32 getNextFrameStartTime() const { return _nextFrameStartTime; }
-		const Graphics::Surface *decodeNextFrame() { return _surface; }
+		uint32 getNextFrameStartTime() const override { return _nextFrameStartTime; }
+		const Graphics::Surface *decodeNextFrame() override { return _surface; }
 
 		void decodeFrame(Common::SeekableReadStream *stream, uint32 videoTimeStamp);
 
@@ -89,12 +89,12 @@ private:
 	class StreamAudioTrack : public AudioTrack {
 	public:
 		StreamAudioTrack(uint32 codecTag, uint32 sampleRate, uint32 channels, Audio::Mixer::SoundType soundType);
-		~StreamAudioTrack();
+		~StreamAudioTrack() override;
 
 		void queueAudio(Common::SeekableReadStream *stream, uint32 size);
 
 	protected:
-		Audio::AudioStream *getAudioStream() const;
+		Audio::AudioStream *getAudioStream() const override;
 
 	private:
 		Audio::QueuingAudioStream *_audioStream;
diff --git a/engines/sherlock/scalpel/3do/scalpel_3do_screen.h b/engines/sherlock/scalpel/3do/scalpel_3do_screen.h
index dc27c10..2e5379a 100644
--- a/engines/sherlock/scalpel/3do/scalpel_3do_screen.h
+++ b/engines/sherlock/scalpel/3do/scalpel_3do_screen.h
@@ -40,7 +40,7 @@ protected:
 		int overrideColor);
 public:
 	Scalpel3DOScreen(SherlockEngine *vm);
-	virtual ~Scalpel3DOScreen() {}
+	~Scalpel3DOScreen() override {}
 
 	/**
 	 * Draws a sub-section of a surface at a given position within this surface
@@ -57,37 +57,37 @@ public:
 	/**
 	 * Draws a surface on this surface
 	 */
-	virtual void SHblitFrom(const Graphics::Surface &src);
+	void SHblitFrom(const Graphics::Surface &src) override;
 
 	/**
 	 * Draws a surface at a given position within this surface
 	 */
-	virtual void SHblitFrom(const Graphics::Surface &src, const Common::Point &destPos);
+	void SHblitFrom(const Graphics::Surface &src, const Common::Point &destPos) override;
 
 	/**
 	 * Draws a sub-section of a surface at a given position within this surface
 	 */
-	virtual void SHblitFrom(const Graphics::Surface &src, const Common::Point &destPos, const Common::Rect &srcBounds);
+	void SHblitFrom(const Graphics::Surface &src, const Common::Point &destPos, const Common::Rect &srcBounds) override;
 
 	/**
 	 * Draws an image frame at a given position within this surface with transparency
 	 */
-	virtual void SHtransBlitFrom(const ImageFrame &src, const Common::Point &pt,
-		bool flipped = false, int overrideColor = 0, int scaleVal = SCALE_THRESHOLD);
+	void SHtransBlitFrom(const ImageFrame &src, const Common::Point &pt,
+		bool flipped = false, int overrideColor = 0, int scaleVal = SCALE_THRESHOLD) override;
 
 	/**
 	 * Draws an image frame at a given position within this surface with transparency
 	 */
-	virtual void SHtransBlitFrom(const Graphics::Surface &src, const Common::Point &pt,
-		bool flipped = false, int overrideColor = 0, int scaleVal = SCALE_THRESHOLD);
+	void SHtransBlitFrom(const Graphics::Surface &src, const Common::Point &pt,
+		bool flipped = false, int overrideColor = 0, int scaleVal = SCALE_THRESHOLD) override;
 
 	/**
 	 * Fill a given area of the surface with a given color
 	 */
-	virtual void SHfillRect(const Common::Rect &r, uint color);
+	void SHfillRect(const Common::Rect &r, uint color) override;
 
-	virtual uint16 width() const;
-	virtual uint16 height() const;
+	uint16 width() const override;
+	uint16 height() const override;
 };
 
 } // End of namespace Scalpel
diff --git a/engines/sherlock/scalpel/drivers/adlib.cpp b/engines/sherlock/scalpel/drivers/adlib.cpp
index 3d29d0c..3f88556 100644
--- a/engines/sherlock/scalpel/drivers/adlib.cpp
+++ b/engines/sherlock/scalpel/drivers/adlib.cpp
@@ -221,24 +221,24 @@ public:
 		  _adlibTimerProc(0), _adlibTimerParam(0), _isOpen(false) {
 		memset(_voiceChannelMapping, 0, sizeof(_voiceChannelMapping));
 	}
-	virtual ~MidiDriver_SH_AdLib() { }
+	~MidiDriver_SH_AdLib() override { }
 
 	// MidiDriver
-	int open();
-	void close();
-	void send(uint32 b);
-	MidiChannel *allocateChannel() { return NULL; }
-	MidiChannel *getPercussionChannel() { return NULL; }
-	bool isOpen() const { return _isOpen; }
-	uint32 getBaseTempo() { return 1000000 / OPL::OPL::kDefaultCallbackFrequency; }
+	int open() override;
+	void close() override;
+	void send(uint32 b) override;
+	MidiChannel *allocateChannel() override { return NULL; }
+	MidiChannel *getPercussionChannel() override { return NULL; }
+	bool isOpen() const override { return _isOpen; }
+	uint32 getBaseTempo() override { return 1000000 / OPL::OPL::kDefaultCallbackFrequency; }
 
 	int getPolyphony() const { return SHERLOCK_ADLIB_VOICES_COUNT; }
 	bool hasRhythmChannel() const { return false; }
 
-	virtual void setTimerCallback(void *timerParam, Common::TimerManager::TimerProc timerProc);
+	void setTimerCallback(void *timerParam, Common::TimerManager::TimerProc timerProc) override;
 
 	void setVolume(byte volume);
-	virtual uint32 property(int prop, uint32 param);
+	uint32 property(int prop, uint32 param) override;
 
 	void newMusicData(byte *musicData, int32 musicDataSize);
 
diff --git a/engines/sherlock/scalpel/drivers/mt32.cpp b/engines/sherlock/scalpel/drivers/mt32.cpp
index 33e7671..e5db4fe 100644
--- a/engines/sherlock/scalpel/drivers/mt32.cpp
+++ b/engines/sherlock/scalpel/drivers/mt32.cpp
@@ -48,34 +48,34 @@ public:
 
 		memset(_MIDIchannelActive, 1, sizeof(_MIDIchannelActive));
 	}
-	virtual ~MidiDriver_MT32();
+	~MidiDriver_MT32() override;
 
 	// MidiDriver
-	int open();
-	void close();
-	bool isOpen() const { return _isOpen; }
+	int open() override;
+	void close() override;
+	bool isOpen() const override { return _isOpen; }
 
-	void send(uint32 b);
+	void send(uint32 b) override;
 
 	void newMusicData(byte *musicData, int32 musicDataSize);
 
-	MidiChannel *allocateChannel() {
+	MidiChannel *allocateChannel() override {
 		if (_driver)
 			return _driver->allocateChannel();
 		return NULL;
 	}
-	MidiChannel *getPercussionChannel() {
+	MidiChannel *getPercussionChannel() override {
 		if (_driver)
 			return _driver->getPercussionChannel();
 		return NULL;
 	}
 
-	void setTimerCallback(void *timer_param, Common::TimerManager::TimerProc timer_proc) {
+	void setTimerCallback(void *timer_param, Common::TimerManager::TimerProc timer_proc) override {
 		if (_driver)
 			_driver->setTimerCallback(timer_param, timer_proc);
 	}
 
-	uint32 getBaseTempo() {
+	uint32 getBaseTempo() override {
 		if (_driver) {
 			return _driver->getBaseTempo();
 		}
diff --git a/engines/sherlock/scalpel/scalpel.h b/engines/sherlock/scalpel/scalpel.h
index af4d72a..5bd57dd 100644
--- a/engines/sherlock/scalpel/scalpel.h
+++ b/engines/sherlock/scalpel/scalpel.h
@@ -107,20 +107,20 @@ protected:
 	/**
 	 * Game initialization
 	 */
-	virtual void initialize();
+	void initialize() override;
 
 	/**
 	 * Show the opening sequence
 	 */
-	virtual void showOpening();
+	void showOpening() override;
 
 	/**
 	 * Starting a scene within the game
 	 */
-	virtual void startScene();
+	void startScene() override;
 public:
 	ScalpelEngine(OSystem *syst, const SherlockGameDescription *gameDesc);
-	virtual ~ScalpelEngine();
+	~ScalpelEngine() override;
 
 	/**
 	 * Takes care of clearing the mirror in scene 12 (mansion drawing room), in case anything drew over it
diff --git a/engines/sherlock/scalpel/scalpel_debugger.h b/engines/sherlock/scalpel/scalpel_debugger.h
index 17a8477..8df571c 100644
--- a/engines/sherlock/scalpel/scalpel_debugger.h
+++ b/engines/sherlock/scalpel/scalpel_debugger.h
@@ -44,7 +44,7 @@ private:
 	bool cmd3DO_PlayAudio(int argc, const char **argv);
 public:
 	ScalpelDebugger(SherlockEngine *vm);
-	virtual ~ScalpelDebugger() {}
+	~ScalpelDebugger() override {}
 };
 
 } // End of namespace Scalpel
diff --git a/engines/sherlock/scalpel/scalpel_fixed_text.h b/engines/sherlock/scalpel/scalpel_fixed_text.h
index d9b3bbe..e03ebf1 100644
--- a/engines/sherlock/scalpel/scalpel_fixed_text.h
+++ b/engines/sherlock/scalpel/scalpel_fixed_text.h
@@ -194,17 +194,17 @@ private:
 	const FixedTextLanguageEntry *_curLanguageEntry;
 public:
 	ScalpelFixedText(SherlockEngine *vm);
-	virtual ~ScalpelFixedText() {}
+	~ScalpelFixedText() override {}
 
 	/**
 	 * Gets text
 	 */
-	virtual const char *getText(int fixedTextId);
+	const char *getText(int fixedTextId) override;
 
 	/**
 	 * Get action message
 	 */
-	virtual const Common::String getActionMessage(FixedTextActionId actionId, int messageIndex);
+	const Common::String getActionMessage(FixedTextActionId actionId, int messageIndex) override;
 };
 
 } // End of namespace Scalpel
diff --git a/engines/sherlock/scalpel/scalpel_inventory.h b/engines/sherlock/scalpel/scalpel_inventory.h
index 49d0555..f025d5e 100644
--- a/engines/sherlock/scalpel/scalpel_inventory.h
+++ b/engines/sherlock/scalpel/scalpel_inventory.h
@@ -32,7 +32,7 @@ namespace Scalpel {
 class ScalpelInventory : public Inventory {
 public:
 	ScalpelInventory(SherlockEngine *vm);
-	~ScalpelInventory();
+	~ScalpelInventory() override;
 
 	Common::String _fixedTextExit;
 	Common::String _fixedTextLook;
@@ -76,7 +76,7 @@ public:
 	 * Load the list of names the inventory items correspond to, if not already loaded,
 	 * and then calls loadGraphics to load the associated graphics
 	 */
-	virtual void loadInv();
+	void loadInv() override;
 
 	/**
 	 * Identifies a button number according to the key, that the user pressed
diff --git a/engines/sherlock/scalpel/scalpel_journal.h b/engines/sherlock/scalpel/scalpel_journal.h
index 2b04707..0fd7a92 100644
--- a/engines/sherlock/scalpel/scalpel_journal.h
+++ b/engines/sherlock/scalpel/scalpel_journal.h
@@ -94,7 +94,7 @@ private:
 	JournalButton getHighlightedButton(const Common::Point &pt);
 public:
 	ScalpelJournal(SherlockEngine *vm);
-	virtual ~ScalpelJournal() {}
+	~ScalpelJournal() override {}
 
 	/**
 	 * Display the journal
@@ -109,18 +109,18 @@ public:
 	/**
 	 * Draw the journal background, frame, and interface buttons
 	 */
-	virtual void drawFrame();
+	void drawFrame() override;
 
 	/**
 	 * Reset viewing position to the start of the journal
 	 */
-	virtual void resetPosition();
+	void resetPosition() override;
 
 	/**
 	 * Records statements that are said, in the order which they are said. The player
 	 * can then read the journal to review them
 	 */
-	virtual void record(int converseNum, int statementNum, bool replyOnly = false);
+	void record(int converseNum, int statementNum, bool replyOnly = false) override;
 };
 
 } // End of namespace Scalpel
diff --git a/engines/sherlock/scalpel/scalpel_map.h b/engines/sherlock/scalpel/scalpel_map.h
index b176777..5b27c8c 100644
--- a/engines/sherlock/scalpel/scalpel_map.h
+++ b/engines/sherlock/scalpel/scalpel_map.h
@@ -146,7 +146,7 @@ protected:
 	void highlightIcon(const Common::Point &pt);
 public:
 	ScalpelMap(SherlockEngine *vm);
-	virtual ~ScalpelMap() {}
+	~ScalpelMap() override {}
 
 	const MapEntry &operator[](int idx) { return _points[idx]; }
 
@@ -163,7 +163,7 @@ public:
 	/**
 	 * Show the map
 	 */
-	virtual int show();
+	int show() override;
 };
 
 } // End of namespace Scalpel
diff --git a/engines/sherlock/scalpel/scalpel_people.h b/engines/sherlock/scalpel/scalpel_people.h
index 1e29309..3623213 100644
--- a/engines/sherlock/scalpel/scalpel_people.h
+++ b/engines/sherlock/scalpel/scalpel_people.h
@@ -44,7 +44,7 @@ enum ScalpelSequences {
 class ScalpelPerson : public Person {
 public:
 	ScalpelPerson() : Person() {}
-	virtual ~ScalpelPerson() {}
+	~ScalpelPerson() override {}
 
 	/**
 	 * Synchronize the data for a savegame
@@ -54,34 +54,34 @@ public:
 	/**
 	* This adjusts the sprites position, as well as its animation sequence:
 	*/
-	virtual void adjustSprite();
+	void adjustSprite() override;
 
 	/**
 	 * Bring a moving character to a standing position
 	 */
-	virtual void gotoStand();
+	void gotoStand() override;
 
 	/**
 	 * Set the variables for moving a character from one poisition to another
 	 * in a straight line
 	 */
-	virtual void setWalking();
+	void setWalking() override;
 
 	/**
 	 * Walk to the co-ordinates passed, and then face the given direction
 	 */
-	virtual void walkToCoords(const Point32 &destPos, int destDir);
+	void walkToCoords(const Point32 &destPos, int destDir) override;
 
 	/**
 	 * Get the source position for a character potentially affected by scaling
 	 */
-	virtual Common::Point getSourcePoint() const;
+	Common::Point getSourcePoint() const override;
 };
 
 class ScalpelPeople : public People {
 public:
 	ScalpelPeople(SherlockEngine *vm);
-	virtual ~ScalpelPeople() {}
+	~ScalpelPeople() override {}
 
 	ScalpelPerson &operator[](PeopleId id) { return *(ScalpelPerson  *)_data[id]; }
 	ScalpelPerson  &operator[](int idx) { return *(ScalpelPerson  *)_data[idx]; }
@@ -94,22 +94,22 @@ public:
 	/**
 	 * Synchronize the data for a savegame
 	 */
-	virtual void synchronize(Serializer &s);
+	void synchronize(Serializer &s) override;
 
 	/**
 	 * Change the sequence of the scene background object associated with the specified speaker.
 	 */
-	virtual void setTalkSequence(int speaker, int sequenceNum = 1);
+	void setTalkSequence(int speaker, int sequenceNum = 1) override;
 
 	/**
 	 * Restrict passed point to zone using Sherlock's positioning rules
 	 */
-	virtual const Common::Point restrictToZone(int zoneId, const Common::Point &destPos);
+	const Common::Point restrictToZone(int zoneId, const Common::Point &destPos) override;
 
 	/**
 	 * Load the walking images for Sherlock
 	 */
-	virtual bool loadWalk();
+	bool loadWalk() override;
 
 	/**
 	 * If the specified speaker is a background object, it will set it so that it uses
@@ -120,7 +120,7 @@ public:
 	 * @param speaker		Who is speaking
 	 * @param sequenceNum	Which listen sequence to use
 	 */
-	virtual void setListenSequence(int speaker, int sequenceNum = 1);
+	void setListenSequence(int speaker, int sequenceNum = 1) override;
 };
 
 } // End of namespace Scalpel
diff --git a/engines/sherlock/scalpel/scalpel_saveload.h b/engines/sherlock/scalpel/scalpel_saveload.h
index 81e3d83..3e7046a 100644
--- a/engines/sherlock/scalpel/scalpel_saveload.h
+++ b/engines/sherlock/scalpel/scalpel_saveload.h
@@ -60,7 +60,7 @@ public:
 
 public:
 	ScalpelSaveManager(SherlockEngine *vm, const Common::String &target);
-	virtual ~ScalpelSaveManager() {}
+	~ScalpelSaveManager() override {}
 
 	/**
 	 * Shows the in-game dialog interface for loading and saving games
diff --git a/engines/sherlock/scalpel/scalpel_scene.h b/engines/sherlock/scalpel/scalpel_scene.h
index 8711fea..d091791 100644
--- a/engines/sherlock/scalpel/scalpel_scene.h
+++ b/engines/sherlock/scalpel/scalpel_scene.h
@@ -54,33 +54,33 @@ protected:
 	 * The _misc field of the structures contains the number of the graphic image
 	 * that it should point to after loading; _misc is then set to 0.
 	 */
-	virtual bool loadScene(const Common::String &filename);
+	bool loadScene(const Common::String &filename) override;
 
 	/**
 	 * Checks all the background shapes. If a background shape is animating,
 	 * it will flag it as needing to be drawn. If a non-animating shape is
 	 * colliding with another shape, it will also flag it as needing drawing
 	 */
-	virtual void checkBgShapes();
+	void checkBgShapes() override;
 
 	/**
 	 * Draw all the shapes, people and NPCs in the correct order
 	 */
-	virtual void drawAllShapes();
+	void drawAllShapes() override;
 
 	/**
 	 * Returns the index of the closest zone to a given point.
 	 */
-	virtual int closestZone(const Common::Point &pt);
+	int closestZone(const Common::Point &pt) override;
 public:
 	ScalpelScene(SherlockEngine *vm) : Scene(vm) {}
 
-	virtual ~ScalpelScene();
+	~ScalpelScene() override;
 
 	/**
 	 * Draw all objects and characters.
 	 */
-	virtual void doBgAnim();
+	void doBgAnim() override;
 
 	/**
 	 * Attempt to start a canimation sequence. It will load the requisite graphics, and
@@ -90,13 +90,13 @@ public:
 	 * @param playRate		Play rate. 0 is invalid; 1=normal speed, 2=1/2 speed, etc.
 	 *		A negative playRate can also be specified to play the animation in reverse
 	 */
-	virtual int startCAnim(int cAnimNum, int playRate = 1);
+	int startCAnim(int cAnimNum, int playRate = 1) override;
 
 	/**
 	 * Attempts to find a background shape within the passed bounds. If found,
 	 * it will return the shape number, or -1 on failure.
 	 */
-	virtual int findBgShape(const Common::Point &pt);
+	int findBgShape(const Common::Point &pt) override;
 };
 
 } // End of namespace Scalpel
diff --git a/engines/sherlock/scalpel/scalpel_screen.h b/engines/sherlock/scalpel/scalpel_screen.h
index d9be29c..03b2468 100644
--- a/engines/sherlock/scalpel/scalpel_screen.h
+++ b/engines/sherlock/scalpel/scalpel_screen.h
@@ -34,7 +34,7 @@ namespace Scalpel {
 class ScalpelScreen : public Screen {
 public:
 	ScalpelScreen(SherlockEngine *vm);
-	virtual ~ScalpelScreen() {}
+	~ScalpelScreen() override {}
 
 	/**
 	 * Draws a button for use in the inventory, talk, and examine dialogs.
diff --git a/engines/sherlock/scalpel/scalpel_talk.h b/engines/sherlock/scalpel/scalpel_talk.h
index e542331..ab7f510 100644
--- a/engines/sherlock/scalpel/scalpel_talk.h
+++ b/engines/sherlock/scalpel/scalpel_talk.h
@@ -63,30 +63,30 @@ protected:
 	/**
 	 * Display the talk interface window
 	 */
-	virtual void talkInterface(const byte *&str);
+	void talkInterface(const byte *&str) override;
 
 	/**
 	 * Pause when displaying a talk dialog on-screen
 	 */
-	virtual void talkWait(const byte *&str);
+	void talkWait(const byte *&str) override;
 
 	/**
 	 * Called when the active speaker is switched
 	 */
-	virtual void switchSpeaker();
+	void switchSpeaker() override;
 
 	/**
 	 * Called when a character being spoken to has no talk options to display
 	 */
-	virtual void nothingToSay();
+	void nothingToSay() override;
 
 	/**
 	 * Show the talk display
 	 */
-	virtual void showTalk();
+	void showTalk() override;
 public:
 	ScalpelTalk(SherlockEngine *vm);
-	virtual ~ScalpelTalk() {}
+	~ScalpelTalk() override {}
 
 	Common::String _fixedTextWindowExit;
 	Common::String _fixedTextWindowUp;
@@ -100,7 +100,7 @@ public:
 	 * Opens the talk file 'talk.tlk' and searches the index for the specified
 	 * conversation. If found, the data for that conversation is loaded
 	 */
-	virtual void loadTalkFile(const Common::String &filename);
+	void loadTalkFile(const Common::String &filename) override;
 
 	/**
 	 * Called whenever a conversation or item script needs to be run. For standard conversations,
@@ -110,29 +110,29 @@ public:
 	 *	In their case, the conversation display is simply suppressed, and control is passed on to
 	 *	doScript to implement whatever action is required.
 	 */
-	virtual void talkTo(const Common::String filename);
+	void talkTo(const Common::String filename) override;
 
 	/**
 	 * When the talk window has been displayed, waits a period of time proportional to
 	 * the amount of text that's been displayed
 	 */
-	virtual int waitForMore(int delay);
+	int waitForMore(int delay) override;
 
 	/**
 	 * Draws the interface for conversation display
 	 */
-	void drawInterface();
+	void drawInterface() override;
 
 	/**
 	 * Display a list of statements in a window at the bottom of the screen that the
 	 * player can select from.
 	 */
-	bool displayTalk(bool slamIt);
+	bool displayTalk(bool slamIt) override;
 
 	/**
 	 * Prints a single conversation option in the interface window
 	 */
-	int talkLine(int lineNum, int stateNum, byte color, int lineY, bool slamIt);
+	int talkLine(int lineNum, int stateNum, byte color, int lineY, bool slamIt) override;
 
 	/**
 	 * Trigger to play a 3DO talk dialog movie
@@ -147,23 +147,23 @@ public:
 	/**
 	 * Push the details of a passed object onto the saved sequences stack
 	 */
-	virtual void pushSequenceEntry(Object *obj);
+	void pushSequenceEntry(Object *obj) override;
 
 	/**
 	 * Pulls a background object sequence from the sequence stack and restore's the
 	 * object's sequence
 	 */
-	virtual void pullSequence(int slot = -1);
+	void pullSequence(int slot = -1) override;
 
 	/**
 	 * Returns true if the script stack is empty
 	 */
-	virtual bool isSequencesEmpty() const { return _sequenceStack.empty(); }
+	bool isSequencesEmpty() const override { return _sequenceStack.empty(); }
 
 	/**
 	 * Clears the stack of pending object sequences associated with speakers in the scene
 	 */
-	virtual void clearSequences();
+	void clearSequences() override;
 };
 
 } // End of namespace Scalpel
diff --git a/engines/sherlock/scalpel/scalpel_user_interface.h b/engines/sherlock/scalpel/scalpel_user_interface.h
index 586f9ab..2e6f253 100644
--- a/engines/sherlock/scalpel/scalpel_user_interface.h
+++ b/engines/sherlock/scalpel/scalpel_user_interface.h
@@ -179,7 +179,7 @@ public:
 
 public:
 	ScalpelUserInterface(SherlockEngine *vm);
-	virtual ~ScalpelUserInterface();
+	~ScalpelUserInterface() override;
 
 	/**
 	 * Handles counting down whilst checking for input, then clears the info line.
@@ -203,43 +203,43 @@ public:
 	/**
 	 * Resets the user interface
 	 */
-	virtual void reset();
+	void reset() override;
 
 	/**
 	 * Main input handler for the user interface
 	 */
-	virtual void handleInput();
+	void handleInput() override;
 
 	/**
 	 * Draw the user interface onto the screen's back buffers
 	 */
-	virtual void drawInterface(int bufferNum = 3);
+	void drawInterface(int bufferNum = 3) override;
 
 	/**
 	 * Displays a passed window by gradually scrolling it vertically on-screen
 	 */
-	virtual void summonWindow(const Surface &bgSurface, bool slideUp = true);
+	void summonWindow(const Surface &bgSurface, bool slideUp = true) override;
 
 	/**
 	 * Slide the window stored in the back buffer onto the screen
 	 */
-	virtual void summonWindow(bool slideUp = true, int height = CONTROLS_Y);
+	void summonWindow(bool slideUp = true, int height = CONTROLS_Y) override;
 
 	/**
 	 * Close a currently open window
 	 * @param flag	0 = slide old window down, 1 = slide prior UI back up
 	 */
-	virtual void banishWindow(bool slideUp = true);
+	void banishWindow(bool slideUp = true) override;
 
 	/**
 	 * Clears the info line of the screen
 	 */
-	virtual void clearInfo();
+	void clearInfo() override;
 
 	/**
 	 * Clear any active text window
 	 */
-	virtual void clearWindow();
+	void clearWindow() override;
 
 	/**
 	 * Print the previously selected object's decription
diff --git a/engines/sherlock/scalpel/tsage/logo.h b/engines/sherlock/scalpel/tsage/logo.h
index 5a669da..65a332d 100644
--- a/engines/sherlock/scalpel/tsage/logo.h
+++ b/engines/sherlock/scalpel/tsage/logo.h
@@ -46,7 +46,7 @@ public:
 	Common::Point _centroid;
 public:
 	ObjectSurface() : Surface() {}
-	virtual ~ObjectSurface() {}
+	~ObjectSurface() override {}
 };
 
 class Visage {
diff --git a/engines/sherlock/screen.h b/engines/sherlock/screen.h
index d1ec188..93df9ae 100644
--- a/engines/sherlock/screen.h
+++ b/engines/sherlock/screen.h
@@ -60,7 +60,7 @@ public:
 public:
 	static Screen *init(SherlockEngine *vm);
 	Screen(SherlockEngine *vm);
-	virtual ~Screen();
+	~Screen() override;
 
 	/**
 	 * Obtain the currently active back buffer.
diff --git a/engines/sherlock/sherlock.h b/engines/sherlock/sherlock.h
index 6486083..c9db8cd 100644
--- a/engines/sherlock/sherlock.h
+++ b/engines/sherlock/sherlock.h
@@ -103,7 +103,7 @@ protected:
 	/**
 	 * Returns a list of features the game itself supports
 	 */
-	virtual bool hasFeature(EngineFeature f) const override;
+	bool hasFeature(EngineFeature f) const override;
 
 	/**
 	 * Load game configuration esttings
@@ -137,37 +137,37 @@ public:
 	bool _isScreenDoubled;
 public:
 	SherlockEngine(OSystem *syst, const SherlockGameDescription *gameDesc);
-	virtual ~SherlockEngine();
+	~SherlockEngine() override;
 
 	/**
 	 * Main method for running the game
 	 */
-	virtual Common::Error run() override;
+	Common::Error run() override;
 
 	/**
 	 * Returns true if a savegame can be loaded
 	 */
-	virtual bool canLoadGameStateCurrently() override;
+	bool canLoadGameStateCurrently() override;
 
 	/**
 	 * Returns true if the game can be saved
 	 */
-	virtual bool canSaveGameStateCurrently() override;
+	bool canSaveGameStateCurrently() override;
 
 	/**
 	 * Called by the GMM to load a savegame
 	 */
-	virtual Common::Error loadGameState(int slot) override;
+	Common::Error loadGameState(int slot) override;
 
 	/**
 	 * Called by the GMM to save the game
 	 */
-	virtual Common::Error saveGameState(int slot, const Common::String &desc) override;
+	Common::Error saveGameState(int slot, const Common::String &desc) override;
 
 	/**
 	 * Called by the engine when sound settings are updated
 	 */
-	virtual void syncSoundSettings() override;
+	void syncSoundSettings() override;
 
 	/**
 	 * Saves game configuration information
diff --git a/engines/sherlock/surface.h b/engines/sherlock/surface.h
index 6e2904e..d18399c 100644
--- a/engines/sherlock/surface.h
+++ b/engines/sherlock/surface.h
@@ -119,7 +119,7 @@ protected:
 	* Override the addDirtyRect from Graphics::Screen, since for standard
 	* surfaces we don't need dirty rects to be tracked
 	*/
-	virtual void addDirtyRect(const Common::Rect &r) {}
+	void addDirtyRect(const Common::Rect &r) override {}
 public:
 	Surface() : BaseSurface() {}
 	Surface(int width_, int height_) : BaseSurface(width_, height_) {}
diff --git a/engines/sherlock/tattoo/tattoo.h b/engines/sherlock/tattoo/tattoo.h
index eff8734..f3d21f9 100644
--- a/engines/sherlock/tattoo/tattoo.h
+++ b/engines/sherlock/tattoo/tattoo.h
@@ -70,19 +70,19 @@ protected:
 	/**
 	 * Initialize the engine
 	 */
-	virtual void initialize();
+	void initialize() override;
 
-	virtual void showOpening();
+	void showOpening() override;
 
 	/**
 	 * Starting a scene within the game
 	 */
-	virtual void startScene();
+	void startScene() override;
 
 	/**
 	 * Load configuration options
 	 */
-	virtual void loadConfig();
+	void loadConfig() override;
 public:
 	bool _runningProlog;
 	bool _fastMode, _allowFastMode;
@@ -90,7 +90,7 @@ public:
 	bool _textWindowsOn;
 public:
 	TattooEngine(OSystem *syst, const SherlockGameDescription *gameDesc);
-	virtual ~TattooEngine();
+	~TattooEngine() override;
 
 	/**
 	 * Shows the foolscap puzzle
@@ -100,17 +100,17 @@ public:
 	/**
 	 * Save the game configuration
 	 */
-	virtual void saveConfig();
+	void saveConfig() override;
 
 	/**
 	 * Returns true if a savegame can be loaded
 	 */
-	virtual bool canLoadGameStateCurrently();
+	bool canLoadGameStateCurrently() override;
 
 	/**
 	 * Returns true if the game can be saved
 	 */
-	virtual bool canSaveGameStateCurrently();
+	bool canSaveGameStateCurrently() override;
 };
 
 } // End of namespace Tattoo
diff --git a/engines/sherlock/tattoo/tattoo_debugger.h b/engines/sherlock/tattoo/tattoo_debugger.h
index e729262..0a1205c 100644
--- a/engines/sherlock/tattoo/tattoo_debugger.h
+++ b/engines/sherlock/tattoo/tattoo_debugger.h
@@ -34,7 +34,7 @@ namespace Tattoo {
 class TattooDebugger : public Debugger {
 public:
 	TattooDebugger(SherlockEngine *vm);
-	virtual ~TattooDebugger() {}
+	~TattooDebugger() override {}
 };
 
 } // End of namespace Tattoo
diff --git a/engines/sherlock/tattoo/tattoo_fixed_text.h b/engines/sherlock/tattoo/tattoo_fixed_text.h
index eb636cd..25a5dbb 100644
--- a/engines/sherlock/tattoo/tattoo_fixed_text.h
+++ b/engines/sherlock/tattoo/tattoo_fixed_text.h
@@ -220,17 +220,17 @@ private:
 	const FixedTextLanguageEntry *_curLanguageEntry;
 public:
 	TattooFixedText(SherlockEngine *vm);
-	virtual ~TattooFixedText() {}
+	~TattooFixedText() override {}
 
 	/**
 	 * Gets text
 	 */
-	virtual const char *getText(int fixedTextId);
+	const char *getText(int fixedTextId) override;
 
 	/**
 	 * Get action message
 	 */
-	virtual const Common::String getActionMessage(FixedTextActionId actionId, int messageIndex);
+	const Common::String getActionMessage(FixedTextActionId actionId, int messageIndex) override;
 };
 
 } // End of namespace Tattoo
diff --git a/engines/sherlock/tattoo/tattoo_inventory.h b/engines/sherlock/tattoo/tattoo_inventory.h
index 0a46045..12c1039 100644
--- a/engines/sherlock/tattoo/tattoo_inventory.h
+++ b/engines/sherlock/tattoo/tattoo_inventory.h
@@ -32,13 +32,13 @@ namespace Tattoo {
 class TattooInventory : public Inventory {
 public:
 	TattooInventory(SherlockEngine *vm);
-	~TattooInventory();
+	~TattooInventory() override;
 
 	/**
 	 * Load the list of names the inventory items correspond to, if not already loaded,
 	 * and then calls loadGraphics to load the associated graphics
 	 */
-	virtual void loadInv();
+	void loadInv() override;
 };
 
 } // End of namespace Tattoo
diff --git a/engines/sherlock/tattoo/tattoo_journal.h b/engines/sherlock/tattoo/tattoo_journal.h
index 282f5b0..e6d98e8 100644
--- a/engines/sherlock/tattoo/tattoo_journal.h
+++ b/engines/sherlock/tattoo/tattoo_journal.h
@@ -98,7 +98,7 @@ private:
 	void showSavedDialog();
 public:
 	TattooJournal(SherlockEngine *vm);
-	virtual ~TattooJournal() {}
+	~TattooJournal() override {}
 
 	/**
 	 * Show the journal
@@ -108,13 +108,13 @@ public:
 	/**
 	 * Draw the journal background, frame, and interface buttons
 	 */
-	virtual void drawFrame();
+	void drawFrame() override;
 
 	/**
 	 * Records statements that are said, in the order which they are said. The player
 	 * can then read the journal to review them
 	 */
-	virtual void record(int converseNum, int statementNum, bool replyOnly = false);
+	void record(int converseNum, int statementNum, bool replyOnly = false) override;
 };
 
 } // End of namespace Tattoo
diff --git a/engines/sherlock/tattoo/tattoo_map.h b/engines/sherlock/tattoo/tattoo_map.h
index df3e3b3..8ce5b96 100644
--- a/engines/sherlock/tattoo/tattoo_map.h
+++ b/engines/sherlock/tattoo/tattoo_map.h
@@ -78,12 +78,12 @@ private:
 	void showCloseUp(int closeUpNum);
 public:
 	TattooMap(SherlockEngine *vm);
-	virtual ~TattooMap() {}
+	~TattooMap() override {}
 
 	/**
 	 * Show the map
 	 */
-	virtual int show();
+	int show() override;
 };
 
 } // End of namespace Tattoo
diff --git a/engines/sherlock/tattoo/tattoo_people.h b/engines/sherlock/tattoo/tattoo_people.h
index 1517084..23b95b8 100644
--- a/engines/sherlock/tattoo/tattoo_people.h
+++ b/engines/sherlock/tattoo/tattoo_people.h
@@ -111,7 +111,7 @@ protected:
 	/**
 	 * Get the source position for a character potentially affected by scaling
 	 */
-	virtual Common::Point getSourcePoint() const;
+	Common::Point getSourcePoint() const override;
 public:
 	Common::Stack<SavedNPCPath> _pathStack;
 	int _npcIndex;
@@ -128,7 +128,7 @@ public:
 	bool _lookHolmes;
 public:
 	TattooPerson();
-	virtual ~TattooPerson();
+	~TattooPerson() override;
 
 	/**
 	 * Clear the NPC related data
@@ -190,23 +190,23 @@ public:
 	/**
 	 * This adjusts the sprites position, as well as its animation sequence:
 	 */
-	virtual void adjustSprite();
+	void adjustSprite() override;
 
 	/**
 	 * Bring a moving character to a standing position
 	 */
-	virtual void gotoStand();
+	void gotoStand() override;
 
 	/**
 	 * Set the variables for moving a character from one poisition to another
 	 * in a straight line
 	 */
-	virtual void setWalking();
+	void setWalking() override;
 
 	/**
 	 * Walk to the co-ordinates passed, and then face the given direction
 	 */
-	virtual void walkToCoords(const Point32 &destPos, int destDir);
+	void walkToCoords(const Point32 &destPos, int destDir) override;
 
 	/**
 	 * Adjusts the frame and sequence variables of a sprite that corresponds to the current speaker
@@ -215,18 +215,18 @@ public:
 	 * @param seq	Which sequence to use (if there's more than 1)
 	 * @remarks		1: First talk seq, 2: second talk seq, etc.
 	 */
-	virtual void setObjTalkSequence(int seq);
+	void setObjTalkSequence(int seq) override;
 
 	/**
 	 * Center the visible screen so that the person is in the center of the screen
 	 */
-	virtual void centerScreenOnPerson();
+	void centerScreenOnPerson() override;
 };
 
 class TattooPeople : public People {
 public:
 	TattooPeople(SherlockEngine *vm);
-	virtual ~TattooPeople() {}
+	~TattooPeople() override {}
 
 	TattooPerson &operator[](PeopleId id) { return *(TattooPerson *)_data[id]; }
 	TattooPerson &operator[](int idx) { return *(TattooPerson *)_data[idx]; }
@@ -239,27 +239,27 @@ public:
 	/**
 	 * Finds the scene background object corresponding to a specified speaker
 	 */
-	virtual int findSpeaker(int speaker);
+	int findSpeaker(int speaker) override;
 
 	/**
 	 * Synchronize the data for a savegame
 	 */
-	virtual void synchronize(Serializer &s);
+	void synchronize(Serializer &s) override;
 
 	/**
 	 * Change the sequence of the scene background object associated with the specified speaker.
 	 */
-	virtual void setTalkSequence(int speaker, int sequenceNum = 1);
+	void setTalkSequence(int speaker, int sequenceNum = 1) override;
 
 	/**
 	 * Load the walking images for Sherlock
 	 */
-	virtual bool loadWalk();
+	bool loadWalk() override;
 
 	/**
 	 * Restrict passed point to zone using Sherlock's positioning rules
 	 */
-	virtual const Common::Point restrictToZone(int zoneId, const Common::Point &destPos);
+	const Common::Point restrictToZone(int zoneId, const Common::Point &destPos) override;
 
 	/**
 	 * If the specified speaker is a background object, it will set it so that it uses
@@ -270,7 +270,7 @@ public:
 	 * @param speaker		Who is speaking
 	 * @param sequenceNum	Which listen sequence to use
 	 */
-	virtual void setListenSequence(int speaker, int sequenceNum = 1);
+	void setListenSequence(int speaker, int sequenceNum = 1) override;
 };
 
 } // End of namespace Tattoo
diff --git a/engines/sherlock/tattoo/tattoo_scene.h b/engines/sherlock/tattoo/tattoo_scene.h
index 6783300..b78100d 100644
--- a/engines/sherlock/tattoo/tattoo_scene.h
+++ b/engines/sherlock/tattoo/tattoo_scene.h
@@ -76,34 +76,34 @@ protected:
 	 * The _misc field of the structures contains the number of the graphic image
 	 * that it should point to after loading; _misc is then set to 0.
 	 */
-	virtual bool loadScene(const Common::String &filename);
+	bool loadScene(const Common::String &filename) override;
 
 	/**
 	 * Checks all the background shapes. If a background shape is animating,
 	 * it will flag it as needing to be drawn. If a non-animating shape is
 	 * colliding with another shape, it will also flag it as needing drawing
 	 */
-	virtual void checkBgShapes();
+	void checkBgShapes() override;
 
 	/**
 	 * Draw all the shapes, people and NPCs in the correct order
 	 */
-	virtual void drawAllShapes();
+	void drawAllShapes() override;
 
 	/**
 	 * Called by loadScene when the palette is loaded for Rose Tattoo
 	 */
-	virtual void paletteLoaded();
+	void paletteLoaded() override;
 
 	/**
 	 * Synchronize the data for a savegame
 	 */
-	virtual void synchronize(Serializer &s);
+	void synchronize(Serializer &s) override;
 
 	/**
 	 * Returns the index of the closest zone to a given point.
 	 */
-	virtual int closestZone(const Common::Point &pt);
+	int closestZone(const Common::Point &pt) override;
 public:
 	StreamingImageFile _activeCAnim;
 	Common::Array<SceneTripEntry> _sceneTripCounters;
@@ -120,18 +120,18 @@ public:
 	/**
 	 * Fres all the graphics and other dynamically allocated data for the scene
 	 */
-	virtual void freeScene();
+	void freeScene() override;
 
 	/**
 	 * Draw all objects and characters.
 	 */
-	virtual void doBgAnim();
+	void doBgAnim() override;
 
 	/**
 	 * Update the screen back buffer with all of the scene objects which need
 	 * to be drawn
 	 */
-	virtual void updateBackground();
+	void updateBackground() override;
 
 	/**
 	 * Attempt to start a canimation sequence. It will load the requisite graphics, and
@@ -141,13 +141,13 @@ public:
 	 * @param playRate		Play rate. 0 is invalid; 1=normal speed, 2=1/2 speed, etc.
 	 *		A negative playRate can also be specified to play the animation in reverse
 	 */
-	virtual int startCAnim(int cAnimNum, int playRate = 1);
+	int startCAnim(int cAnimNum, int playRate = 1) override;
 
 	/**
 	 * Attempts to find a background shape within the passed bounds. If found,
 	 * it will return the shape number, or -1 on failure.
 	 */
-	virtual int findBgShape(const Common::Point &pt);
+	int findBgShape(const Common::Point &pt) override;
 };
 
 } // End of namespace Tattoo
diff --git a/engines/sherlock/tattoo/tattoo_screen.h b/engines/sherlock/tattoo/tattoo_screen.h
index b55e9bb..cfa7226 100644
--- a/engines/sherlock/tattoo/tattoo_screen.h
+++ b/engines/sherlock/tattoo/tattoo_screen.h
@@ -34,7 +34,7 @@ namespace Tattoo {
 class TattooScreen : public Screen {
 public:
 	TattooScreen(SherlockEngine *vm);
-	virtual ~TattooScreen() {}
+	~TattooScreen() override {}
 };
 
 } // End of namespace Tattoo
diff --git a/engines/sherlock/tattoo/tattoo_talk.h b/engines/sherlock/tattoo/tattoo_talk.h
index b1e2947..f6f1506 100644
--- a/engines/sherlock/tattoo/tattoo_talk.h
+++ b/engines/sherlock/tattoo/tattoo_talk.h
@@ -89,20 +89,20 @@ protected:
 	/**
 	 * Display the talk interface window
 	 */
-	virtual void talkInterface(const byte *&str);
+	void talkInterface(const byte *&str) override;
 
 	/**
 	 * Called when a character being spoken to has no talk options to display
 	 */
-	virtual void nothingToSay();
+	void nothingToSay() override;
 
 	/**
 	 * Show the talk display
 	 */
-	virtual void showTalk();
+	void showTalk() override;
 public:
 	TattooTalk(SherlockEngine *vm);
-	virtual ~TattooTalk() {}
+	~TattooTalk() override {}
 
 	/**
 	 * Called whenever a conversation or item script needs to be run. For standard conversations,
@@ -112,28 +112,28 @@ public:
 	 *	In their case, the conversation display is simply suppressed, and control is passed on to
 	 *	doScript to implement whatever action is required.
 	 */
-	virtual void talkTo(const Common::String filename);
+	void talkTo(const Common::String filename) override;
 
 	/**
 	 * Push the details of a passed object onto the saved sequences stack
 	 */
-	virtual void pushSequenceEntry(Object *obj);
+	void pushSequenceEntry(Object *obj) override;
 
 	/**
 	 * Pulls a background object sequence from the sequence stack and restore's the
 	 * object's sequence
 	 */
-	virtual void pullSequence(int slot = -1);
+	void pullSequence(int slot = -1) override;
 
 	/**
 	 * Returns true if the script stack is empty
 	 */
-	virtual bool isSequencesEmpty() const;
+	bool isSequencesEmpty() const override;
 
 	/**
 	 * Clears the stack of pending object sequences associated with speakers in the scene
 	 */
-	virtual void clearSequences();
+	void clearSequences() override;
 };
 
 } // End of namespace Tattoo
diff --git a/engines/sherlock/tattoo/tattoo_user_interface.h b/engines/sherlock/tattoo/tattoo_user_interface.h
index 28e4121..a1324ed 100644
--- a/engines/sherlock/tattoo/tattoo_user_interface.h
+++ b/engines/sherlock/tattoo/tattoo_user_interface.h
@@ -116,7 +116,7 @@ public:
 	WidgetList _postRenderWidgets;
 public:
 	TattooUserInterface(SherlockEngine *vm);
-	virtual ~TattooUserInterface();
+	~TattooUserInterface() override;
 
 	/**
 	 * Handles restoring any areas of the back buffer that were/are covered by UI elements
@@ -232,29 +232,29 @@ public:
 	/**
 	 * Resets the user interface
 	 */
-	virtual void reset();
+	void reset() override;
 
 	/**
 	 * Main input handler for the user interface
 	 */
-	virtual void handleInput();
+	void handleInput() override;
 
 	/**
 	 * Draw the user interface onto the screen's back buffers
 	 */
-	virtual void drawInterface(int bufferNum = 3);
+	void drawInterface(int bufferNum = 3) override;
 
 	/**
 	 * Clear any active text window
 	 */
-	virtual void clearWindow();
+	void clearWindow() override;
 
 	/**
 	 * Banish any active window
 	 * @remarks		Tattoo doesn't use sliding windows, but the parameter is in the base
 	 * UserInterface class as a convenience for Scalpel UI code
 	 */
-	virtual void banishWindow(bool slideUp = true);
+	void banishWindow(bool slideUp = true) override;
 };
 
 } // End of namespace Tattoo
diff --git a/engines/sherlock/tattoo/widget_files.h b/engines/sherlock/tattoo/widget_files.h
index a4feb0d..2f68e63 100644
--- a/engines/sherlock/tattoo/widget_files.h
+++ b/engines/sherlock/tattoo/widget_files.h
@@ -64,7 +64,7 @@ private:
 	/**
 	 * Return the area of a widget that the scrollbar will be drawn in
 	 */
-	virtual Common::Rect getScrollBarBounds() const;
+	Common::Rect getScrollBarBounds() const override;
 public:
 	WidgetFiles(SherlockEngine *vm, const Common::String &target);
 
@@ -76,7 +76,7 @@ public:
 	/**
 	 * Handle event processing
 	 */
-	virtual void handleEvents();
+	void handleEvents() override;
 };
 
 } // End of namespace Tattoo
diff --git a/engines/sherlock/tattoo/widget_foolscap.h b/engines/sherlock/tattoo/widget_foolscap.h
index 3c85998..2ecc6a3 100644
--- a/engines/sherlock/tattoo/widget_foolscap.h
+++ b/engines/sherlock/tattoo/widget_foolscap.h
@@ -57,7 +57,7 @@ private:
 	void restoreChar();
 public:
 	WidgetFoolscap(TattooEngine *vm);
-	virtual ~WidgetFoolscap();
+	~WidgetFoolscap() override;
 
 	/**
 	 * Show the foolscap puzzle
@@ -72,7 +72,7 @@ public:
 	/**
 	* Handle events whilst the widget is on-screen
 	*/
-	virtual void handleEvents();
+	void handleEvents() override;
 };
 
 } // End of namespace Tattoo
diff --git a/engines/sherlock/tattoo/widget_inventory.h b/engines/sherlock/tattoo/widget_inventory.h
index a051c32..43cbfb4 100644
--- a/engines/sherlock/tattoo/widget_inventory.h
+++ b/engines/sherlock/tattoo/widget_inventory.h
@@ -44,10 +44,10 @@ protected:
 	/**
 	* Overriden from base class, since tooltips have a completely transparent background
 	*/
-	virtual void drawBackground() {}
+	void drawBackground() override {}
 public:
 	WidgetInventoryTooltip(SherlockEngine *vm, WidgetInventory *owner);
-	virtual ~WidgetInventoryTooltip() {}
+	~WidgetInventoryTooltip() override {}
 
 	/**
 	 * Set the text for the tooltip
@@ -57,7 +57,7 @@ public:
 	/**
 	 * Handle updating the tooltip state
 	 */
-	virtual void handleEvents();
+	void handleEvents() override;
 };
 
 class WidgetInventoryVerbs : public WidgetBase {
@@ -70,14 +70,14 @@ public:
 	int _invVerbSelect, _oldInvVerbSelect;
 public:
 	WidgetInventoryVerbs(SherlockEngine *vm, WidgetInventory *owner);
-	virtual ~WidgetInventoryVerbs() {}
+	~WidgetInventoryVerbs() override {}
 
 	void load();
 
 	/**
 	 * Handle updating the tooltip state
 	 */
-	virtual void handleEvents();
+	void handleEvents() override;
 };
 
 class WidgetInventory: public WidgetBase {
@@ -113,7 +113,7 @@ public:
 	Common::String _verb;
 public:
 	WidgetInventory(SherlockEngine *vm);
-	virtual ~WidgetInventory() {}
+	~WidgetInventory() override {}
 
 	/**
 	 * Load the inventory window
@@ -133,22 +133,22 @@ public:
 	/**
 	 * Handle events whilst the widget is on-screen
 	 */
-	virtual void handleEvents();
+	void handleEvents() override;
 
 	/**
 	 * Close a currently active menu
 	 */
-	virtual void banishWindow();
+	void banishWindow() override;
 
 	/**
 	 * Erase any previous display of the widget on the screen
 	 */
-	virtual void erase();
+	void erase() override;
 
 	/**
 	 * Update the display of the widget on the screen
 	 */
-	virtual void draw();
+	void draw() override;
 };
 
 } // End of namespace Tattoo
diff --git a/engines/sherlock/tattoo/widget_lab.h b/engines/sherlock/tattoo/widget_lab.h
index 2f19200..735cf4b 100644
--- a/engines/sherlock/tattoo/widget_lab.h
+++ b/engines/sherlock/tattoo/widget_lab.h
@@ -46,17 +46,17 @@ public:
 	Common::String _remainingText;
 public:
 	WidgetLab(SherlockEngine *vm);
-	virtual ~WidgetLab() {}
+	~WidgetLab() override {}
 
 	/**
 	 * Summon the window
 	 */
-	virtual void summonWindow();
+	void summonWindow() override;
 
 	/**
 	 * Handle event processing
 	 */
-	virtual void handleEvents();
+	void handleEvents() override;
 };
 
 } // End of namespace Tattoo
diff --git a/engines/sherlock/tattoo/widget_options.h b/engines/sherlock/tattoo/widget_options.h
index 9be0105..8661541 100644
--- a/engines/sherlock/tattoo/widget_options.h
+++ b/engines/sherlock/tattoo/widget_options.h
@@ -49,7 +49,7 @@ private:
 	void render(OptionRenderMode mode = OP_ALL);
 public:
 	WidgetOptions(SherlockEngine *vm);
-	virtual ~WidgetOptions() {}
+	~WidgetOptions() override {}
 
 	/**
 	 * Load and then display the options dialog
@@ -59,7 +59,7 @@ public:
 	/**
 	 * Handle event processing
 	 */
-	virtual void handleEvents();
+	void handleEvents() override;
 };
 
 } // End of namespace Tattoo
diff --git a/engines/sherlock/tattoo/widget_password.h b/engines/sherlock/tattoo/widget_password.h
index f7e82c7..8b07832 100644
--- a/engines/sherlock/tattoo/widget_password.h
+++ b/engines/sherlock/tattoo/widget_password.h
@@ -48,7 +48,7 @@ private:
 	void close();
 public:
 	WidgetPassword(SherlockEngine *vm);
-	virtual ~WidgetPassword() {}
+	~WidgetPassword() override {}
 
 	/**
 	 * Show the password entry window
@@ -58,7 +58,7 @@ public:
 	/**
 	 * Handle event processing
 	 */
-	virtual void handleEvents();
+	void handleEvents() override;
 };
 
 } // End of namespace Tattoo
diff --git a/engines/sherlock/tattoo/widget_quit.h b/engines/sherlock/tattoo/widget_quit.h
index b8b640f..044930b 100644
--- a/engines/sherlock/tattoo/widget_quit.h
+++ b/engines/sherlock/tattoo/widget_quit.h
@@ -37,7 +37,7 @@ private:
 	int _select, _oldSelect;
 public:
 	WidgetQuit(SherlockEngine *vm);
-	virtual ~WidgetQuit() {}
+	~WidgetQuit() override {}
 
 	/**
 	 * Prompt the user whether to quit
@@ -47,7 +47,7 @@ public:
 	/**
 	 * Handle event processing
 	 */
-	virtual void handleEvents();
+	void handleEvents() override;
 };
 
 } // End of namespace Tattoo
diff --git a/engines/sherlock/tattoo/widget_talk.h b/engines/sherlock/tattoo/widget_talk.h
index f5e939b..4f812af 100644
--- a/engines/sherlock/tattoo/widget_talk.h
+++ b/engines/sherlock/tattoo/widget_talk.h
@@ -69,7 +69,7 @@ private:
 	void setStatementLines();
 public:
 	WidgetTalk(SherlockEngine *vm);
-	virtual ~WidgetTalk() {}
+	~WidgetTalk() override {}
 
 	/**
 	 * Figures out how many lines the available talk lines will take up, and opens a text window
@@ -85,7 +85,7 @@ public:
 	/**
 	 * Handle event processing
 	 */
-	virtual void handleEvents();
+	void handleEvents() override;
 };
 
 } // End of namespace Tattoo
diff --git a/engines/sherlock/tattoo/widget_text.h b/engines/sherlock/tattoo/widget_text.h
index f027bda..06493a6 100644
--- a/engines/sherlock/tattoo/widget_text.h
+++ b/engines/sherlock/tattoo/widget_text.h
@@ -47,7 +47,7 @@ public:
 	Common::String _remainingText;
 public:
 	WidgetText(SherlockEngine *vm);
-	virtual ~WidgetText() {}
+	~WidgetText() override {}
 
 	/**
 	 * Load the data for the text window
@@ -60,7 +60,7 @@ private:
 	int _menuCounter;
 public:
 	WidgetMessage(SherlockEngine *vm);
-	virtual ~WidgetMessage() {}
+	~WidgetMessage() override {}
 
 	/**
 	 * Load the data for the text window
@@ -70,7 +70,7 @@ public:
 	/**
 	 * Handle event processing
 	 */
-	virtual void handleEvents();
+	void handleEvents() override;
 };
 
 } // End of namespace Tattoo
diff --git a/engines/sherlock/tattoo/widget_tooltip.h b/engines/sherlock/tattoo/widget_tooltip.h
index 87f5d54..6506b59 100644
--- a/engines/sherlock/tattoo/widget_tooltip.h
+++ b/engines/sherlock/tattoo/widget_tooltip.h
@@ -36,17 +36,17 @@ namespace Tattoo {
 class WidgetTooltipBase : public WidgetBase {
 public:
 	WidgetTooltipBase(SherlockEngine *vm) : WidgetBase(vm) {}
-	virtual ~WidgetTooltipBase() {}
+	~WidgetTooltipBase() override {}
 
 	/**
 	 * Erase any previous display of the widget on the screen
 	 */
-	virtual void erase();
+	void erase() override;
 
 	/**
 	 * Update the display of the widget on the screen
 	 */
-	virtual void draw();
+	void draw() override;
 };
 
 class WidgetTooltip: public WidgetTooltipBase {
@@ -54,7 +54,7 @@ public:
 	int _offsetY;
 public:
 	WidgetTooltip(SherlockEngine *vm);
-	virtual ~WidgetTooltip() {}
+	~WidgetTooltip() override {}
 
 	/**
 	 * Set the text for the tooltip
@@ -64,7 +64,7 @@ public:
 	/**
 	 * Handle updating the tooltip state
 	 */
-	virtual void handleEvents();
+	void handleEvents() override;
 };
 
 class WidgetSceneTooltip : public WidgetTooltip {
@@ -74,7 +74,7 @@ public:
 	/**
 	 * Handle updating the tooltip state
 	 */
-	virtual void handleEvents();
+	void handleEvents() override;
 };
 
 class WidgetMapTooltip : public WidgetTooltip {
diff --git a/engines/sherlock/tattoo/widget_verbs.h b/engines/sherlock/tattoo/widget_verbs.h
index ce67842..25f2182 100644
--- a/engines/sherlock/tattoo/widget_verbs.h
+++ b/engines/sherlock/tattoo/widget_verbs.h
@@ -52,7 +52,7 @@ public:
 	Common::StringArray _verbCommands;
 public:
 	WidgetVerbs(SherlockEngine *vm);
-	virtual ~WidgetVerbs() {}
+	~WidgetVerbs() override {}
 
 	/**
 	 * Turns on the menu with all the verbs that are available for the given object
@@ -62,7 +62,7 @@ public:
 	/**
 	 * Process input for the dialog
 	 */
-	virtual void handleEvents();
+	void handleEvents() override;
 };
 
 } // End of namespace Tattoo


Commit: c2d95628ffd732b2d5fac15078732953775fb8c8
    https://github.com/scummvm/scummvm/commit/c2d95628ffd732b2d5fac15078732953775fb8c8
Author: Bastien Bouclet (bastien.bouclet at gmail.com)
Date: 2020-02-09T12:43:16+01:00

Commit Message:
SKY: Add override keywords

Changed paths:
    engines/sky/control.h
    engines/sky/debug.h
    engines/sky/detection.cpp
    engines/sky/music/adlibchannel.h
    engines/sky/music/adlibmusic.h
    engines/sky/music/gmchannel.h
    engines/sky/music/gmmusic.h
    engines/sky/music/mt32music.h
    engines/sky/sky.h


diff --git a/engines/sky/control.h b/engines/sky/control.h
index 2089c74..76d0a20 100644
--- a/engines/sky/control.h
+++ b/engines/sky/control.h
@@ -155,8 +155,8 @@ private:
 class TextResource : public ConResource {
 public:
 	TextResource(void *pSpData, uint32 pNSprites, uint32 pCurSprite, uint16 pX, uint16 pY, uint32 pText, uint8 pOnClick, OSystem *system, uint8 *screen);
-	virtual ~TextResource();
-	virtual void drawToScreen(bool doMask);
+	~TextResource() override;
+	void drawToScreen(bool doMask) override;
 	void flushForRedraw();
 private:
 	uint16 _oldX, _oldY;
diff --git a/engines/sky/debug.h b/engines/sky/debug.h
index 71b2083..53109ab 100644
--- a/engines/sky/debug.h
+++ b/engines/sky/debug.h
@@ -37,12 +37,12 @@ class SkyCompact;
 class Debugger : public GUI::Debugger {
 public:
 	Debugger(Logic *logic, Mouse *mouse, Screen *screen, SkyCompact *skyCompact);
-	virtual ~Debugger(); // we need this here for __SYMBIAN32__ archaic gcc/UIQ
+	~Debugger() override; // we need this here for __SYMBIAN32__ archaic gcc/UIQ
 	bool showGrid()	{	return _showGrid; }
 
 private:
-	virtual void preEnter();
-	virtual void postEnter();
+	void preEnter() override;
+	void postEnter() override;
 
 private:
 	bool Cmd_ShowGrid(int argc, const char **argv);
diff --git a/engines/sky/detection.cpp b/engines/sky/detection.cpp
index f513b2b..8ebb0e1 100644
--- a/engines/sky/detection.cpp
+++ b/engines/sky/detection.cpp
@@ -72,24 +72,24 @@ static const SkyVersion skyVersions[] = {
 
 class SkyMetaEngine : public MetaEngine {
 public:
-	virtual const char *getName() const override;
-	virtual const char *getOriginalCopyright() const override;
+	const char *getName() const override;
+	const char *getOriginalCopyright() const override;
 
 	const char *getEngineId() const override {
 		return "sky";
 	}
 
-	virtual bool hasFeature(MetaEngineFeature f) const override;
+	bool hasFeature(MetaEngineFeature f) const override;
 	PlainGameList getSupportedGames() const override;
-	virtual const ExtraGuiOptions getExtraGuiOptions(const Common::String &target) const override;
+	const ExtraGuiOptions getExtraGuiOptions(const Common::String &target) const override;
 	PlainGameDescriptor findGame(const char *gameid) const override;
 	DetectedGames detectGames(const Common::FSList &fslist) const override;
 
-	virtual Common::Error createInstance(OSystem *syst, Engine **engine) const override;
+	Common::Error createInstance(OSystem *syst, Engine **engine) const override;
 
-	virtual SaveStateList listSaves(const char *target) const override;
-	virtual int getMaximumSaveSlot() const override;
-	virtual void removeSaveState(const char *target, int slot) const override;
+	SaveStateList listSaves(const char *target) const override;
+	int getMaximumSaveSlot() const override;
+	void removeSaveState(const char *target, int slot) const override;
 };
 
 const char *SkyMetaEngine::getName() const {
diff --git a/engines/sky/music/adlibchannel.h b/engines/sky/music/adlibchannel.h
index b190ba2..4493ed7 100644
--- a/engines/sky/music/adlibchannel.h
+++ b/engines/sky/music/adlibchannel.h
@@ -64,10 +64,10 @@ typedef struct {
 class AdLibChannel : public ChannelBase {
 public:
 	AdLibChannel (OPL::OPL *opl, uint8 *pMusicData, uint16 startOfData);
-	virtual ~AdLibChannel();
-	virtual uint8 process(uint16 aktTime);
-	virtual void updateVolume(uint16 pVolume);
-	virtual bool isActive();
+	~AdLibChannel() override;
+	uint8 process(uint16 aktTime) override;
+	void updateVolume(uint16 pVolume) override;
+	bool isActive() override;
 private:
 	OPL::OPL *_opl;
 	uint8 *_musicData;
diff --git a/engines/sky/music/adlibmusic.h b/engines/sky/music/adlibmusic.h
index ebfa038..0c3539e 100644
--- a/engines/sky/music/adlibmusic.h
+++ b/engines/sky/music/adlibmusic.h
@@ -38,18 +38,18 @@ namespace Sky {
 class AdLibMusic : public MusicBase {
 public:
 	AdLibMusic(Audio::Mixer *pMixer, Disk *pDisk);
-	~AdLibMusic();
+	~AdLibMusic() override;
 
 	// AudioStream API
-	virtual void setVolume(uint16 param);
+	void setVolume(uint16 param) override;
 
 private:
 	OPL::OPL *_opl;
 	uint8 *_initSequence;
 	uint32 _sampleRate;
-	virtual void setupPointers();
-	virtual void setupChannels(uint8 *channelData);
-	virtual void startDriver();
+	void setupPointers() override;
+	void setupChannels(uint8 *channelData) override;
+	void startDriver() override;
 
 	void premixerCall(int16 *buf, uint len);
 
diff --git a/engines/sky/music/gmchannel.h b/engines/sky/music/gmchannel.h
index b935321..e5c7256 100644
--- a/engines/sky/music/gmchannel.h
+++ b/engines/sky/music/gmchannel.h
@@ -41,11 +41,11 @@ typedef struct {
 class GmChannel : public ChannelBase {
 public:
 	GmChannel(uint8 *pMusicData, uint16 startOfData, MidiDriver *pMidiDrv, const byte *pInstMap, const byte *veloTab);
-	~GmChannel();
+	~GmChannel() override override;
 	virtual void stopNote();
-	virtual uint8 process(uint16 aktTime);
-	virtual void updateVolume(uint16 pVolume);
-	virtual bool isActive();
+	uint8 process(uint16 aktTime) override override;
+	void updateVolume(uint16 pVolume) override override;
+	bool isActive() override override;
 private:
 	const byte *_instMap;
 	const byte *_veloTab;
diff --git a/engines/sky/music/gmmusic.h b/engines/sky/music/gmmusic.h
index fa2b960..be77ed2 100644
--- a/engines/sky/music/gmmusic.h
+++ b/engines/sky/music/gmmusic.h
@@ -32,8 +32,8 @@ namespace Sky {
 class GmMusic : public MusicBase {
 public:
 	GmMusic(MidiDriver *pMidiDrv, Audio::Mixer *pMixer, Disk *pDisk);
-	~GmMusic();
-	virtual void setVolume(uint16 param);
+	~GmMusic() override;
+	void setVolume(uint16 param) override;
 private:
 	static void passTimerFunc(void *param);
 	void timerCall();
@@ -43,9 +43,9 @@ private:
 	MidiDriver *_midiDrv;
 	static const byte _veloTab[128];
 
-	virtual void setupPointers();
-	virtual void setupChannels(uint8 *channelData);
-	virtual void startDriver();
+	void setupPointers() override;
+	void setupChannels(uint8 *channelData) override;
+	void startDriver() override;
 };
 
 } // End of namespace Sky
diff --git a/engines/sky/music/mt32music.h b/engines/sky/music/mt32music.h
index fe68910..c82ab4c 100644
--- a/engines/sky/music/mt32music.h
+++ b/engines/sky/music/mt32music.h
@@ -32,20 +32,20 @@ namespace Sky {
 class MT32Music : public MusicBase {
 public:
 	MT32Music(MidiDriver *pMidiDrv, Audio::Mixer *pMixer, Disk *pDisk);
-	~MT32Music();
+	~MT32Music() override;
 private:
 	static void passTimerFunc(void *param);
 	void timerCall();
 	bool processPatchSysEx(uint8 *sysExData);
-	virtual void setVolume(uint16 volume);
+	void setVolume(uint16 volume) override;
 
 	uint32 _timerCount;
 	uint8 *_sysExSequence;
 	MidiDriver *_midiDrv;
 
-	virtual void setupPointers();
-	virtual void setupChannels(uint8 *channelData);
-	virtual void startDriver();
+	void setupPointers() override;
+	void setupChannels(uint8 *channelData) override;
+	void startDriver() override;
 };
 
 } // End of namespace Sky
diff --git a/engines/sky/sky.h b/engines/sky/sky.h
index c157387..ab59e78 100644
--- a/engines/sky/sky.h
+++ b/engines/sky/sky.h
@@ -79,9 +79,9 @@ protected:
 
 public:
 	SkyEngine(OSystem *syst);
-	virtual ~SkyEngine();
+	~SkyEngine() override;
 
-	virtual void syncSoundSettings() override;
+	void syncSoundSettings() override;
 
 	static bool isDemo();
 	static bool isCDVersion();
@@ -100,15 +100,15 @@ protected:
 	// Engine APIs
 	Common::Error init();
 	Common::Error go();
-	virtual Common::Error run() override {
+	Common::Error run() override {
 		Common::Error err;
 		err = init();
 		if (err.getCode() != Common::kNoError)
 			return err;
 		return go();
 	}
-	virtual GUI::Debugger *getDebugger() override;
-	virtual bool hasFeature(EngineFeature f) const override;
+	GUI::Debugger *getDebugger() override;
+	bool hasFeature(EngineFeature f) const override;
 
 	byte _fastMode;
 


Commit: f7ca96be0e23e955248dbc0f69b62f8552da16c8
    https://github.com/scummvm/scummvm/commit/f7ca96be0e23e955248dbc0f69b62f8552da16c8
Author: Bastien Bouclet (bastien.bouclet at gmail.com)
Date: 2020-02-09T12:43:16+01:00

Commit Message:
SLUDGE: Add override keywords

Changed paths:
    engines/sludge/console.h
    engines/sludge/detection.cpp
    engines/sludge/hsi.h
    engines/sludge/newfatal.h
    engines/sludge/sludge.h


diff --git a/engines/sludge/console.h b/engines/sludge/console.h
index a720073..87f2b89 100644
--- a/engines/sludge/console.h
+++ b/engines/sludge/console.h
@@ -33,7 +33,7 @@ class SludgeEngine;
 class SludgeConsole: public GUI::Debugger {
 public:
 	SludgeConsole(SludgeEngine *vm);
-	virtual ~SludgeConsole(void);
+	~SludgeConsole(void) override;
 
 private:
 	SludgeEngine *_vm;
diff --git a/engines/sludge/detection.cpp b/engines/sludge/detection.cpp
index f64686a..ded2345 100644
--- a/engines/sludge/detection.cpp
+++ b/engines/sludge/detection.cpp
@@ -86,15 +86,15 @@ public:
 		return "sludge";
 	}
 
-	virtual const char *getName() const override {
+	const char *getName() const override {
 		return "Sludge";
 	}
 
-	virtual const char *getOriginalCopyright() const override {
+	const char *getOriginalCopyright() const override {
 		return "Sludge (C) 2000-2014 Hungry Software and contributors";
 	}
 
-	virtual bool createInstance(OSystem *syst, Engine **engine, const ADGameDescription *desc) const override {
+	bool createInstance(OSystem *syst, Engine **engine, const ADGameDescription *desc) const override {
 		const Sludge::SludgeGameDescription *gd = (const Sludge::SludgeGameDescription *)desc;
 			if (gd) {
 				*engine = new Sludge::SludgeEngine(syst, gd);
diff --git a/engines/sludge/hsi.h b/engines/sludge/hsi.h
index a1bef30..e220491 100644
--- a/engines/sludge/hsi.h
+++ b/engines/sludge/hsi.h
@@ -31,12 +31,12 @@ namespace Sludge {
 class HSIDecoder : public Image::ImageDecoder {
 public:
 	HSIDecoder();
-	virtual ~HSIDecoder();
+	~HSIDecoder() override;
 
 	// ImageDecoder API
-	void destroy();
-	virtual bool loadStream(Common::SeekableReadStream &stream);
-	virtual Graphics::Surface *getSurface() const { return _surface; }
+	void destroy() override;
+	bool loadStream(Common::SeekableReadStream &stream) override;
+	Graphics::Surface *getSurface() const override { return _surface; }
 	void setReserve(bool reserve) { _reserve = reserve; }
 
 private:
diff --git a/engines/sludge/newfatal.h b/engines/sludge/newfatal.h
index 81ca4b7..a33a21e 100644
--- a/engines/sludge/newfatal.h
+++ b/engines/sludge/newfatal.h
@@ -32,7 +32,7 @@ namespace Sludge {
 class FatalMsgManager : public Common::Singleton<Sludge::FatalMsgManager>{
 public:
 	FatalMsgManager();
-	~FatalMsgManager();
+	~FatalMsgManager() override;
 
 	void reset();
 
diff --git a/engines/sludge/sludge.h b/engines/sludge/sludge.h
index 692af64..e26fbc6 100644
--- a/engines/sludge/sludge.h
+++ b/engines/sludge/sludge.h
@@ -67,7 +67,7 @@ enum {
 class SludgeEngine: public Engine {
 protected:
 	// Engine APIs
-	virtual Common::Error run();
+	Common::Error run() override;
 
 public:
 	// global String variables
@@ -95,7 +95,7 @@ public:
 	FatalMsgManager *_fatalMan;
 
 	SludgeEngine(OSystem *syst, const SludgeGameDescription *gameDesc);
-	virtual ~SludgeEngine();
+	~SludgeEngine() override;
 
 	uint getLanguageID() const;
 	const char *getGameId() const;


Commit: f9dfb7f56028d28063ffc48094b0ed717d99ae5e
    https://github.com/scummvm/scummvm/commit/f9dfb7f56028d28063ffc48094b0ed717d99ae5e
Author: Bastien Bouclet (bastien.bouclet at gmail.com)
Date: 2020-02-09T12:43:16+01:00

Commit Message:
STARTREK: Add override keywords

Changed paths:
    engines/startrek/console.h
    engines/startrek/detection.cpp
    engines/startrek/fixedint.h
    engines/startrek/sprite.h
    engines/startrek/startrek.h


diff --git a/engines/startrek/console.h b/engines/startrek/console.h
index 5293557..555fbe9 100644
--- a/engines/startrek/console.h
+++ b/engines/startrek/console.h
@@ -32,7 +32,7 @@ class StarTrekEngine;
 class Console : public GUI::Debugger {
 public:
 	Console(StarTrekEngine *vm);
-	virtual ~Console(void);
+	~Console(void) override;
 
 private:
 	StarTrekEngine *_vm;
diff --git a/engines/startrek/detection.cpp b/engines/startrek/detection.cpp
index a9534d3..04b5a69 100644
--- a/engines/startrek/detection.cpp
+++ b/engines/startrek/detection.cpp
@@ -326,20 +326,20 @@ public:
 		return "startrek";
 	}
 
-	virtual const char *getName() const override {
+	const char *getName() const override {
 		return "Star Trek";
 	}
 
-	virtual const char *getOriginalCopyright() const override {
+	const char *getOriginalCopyright() const override {
 		return "Star Trek: 25th Anniversary, Star Trek: Judgment Rites (C) Interplay";
 	}
 
-	virtual bool hasFeature(MetaEngineFeature f) const override;
-	virtual bool createInstance(OSystem *syst, Engine **engine, const ADGameDescription *desc) const override;
+	bool hasFeature(MetaEngineFeature f) const override;
+	bool createInstance(OSystem *syst, Engine **engine, const ADGameDescription *desc) const override;
 
-	virtual SaveStateList listSaves(const char *target) const override;
-	virtual int getMaximumSaveSlot() const override;
-	virtual void removeSaveState(const char *target, int slot) const override;
+	SaveStateList listSaves(const char *target) const override;
+	int getMaximumSaveSlot() const override;
+	void removeSaveState(const char *target, int slot) const override;
 	SaveStateDescriptor querySaveMetaInfos(const char *target, int slot) const override;
 };
 
diff --git a/engines/startrek/fixedint.h b/engines/startrek/fixedint.h
index babed24..6dd7b08 100644
--- a/engines/startrek/fixedint.h
+++ b/engines/startrek/fixedint.h
@@ -158,7 +158,7 @@ public:
 		return val >= f.val;
 	}
 
-	void saveLoadWithSerializer(Common::Serializer &ser) {
+	void saveLoadWithSerializer(Common::Serializer &ser) override override {
 		if (totalBits == 16)
 			ser.syncAsSint16LE(val);
 		else if (totalBits == 32)
diff --git a/engines/startrek/sprite.h b/engines/startrek/sprite.h
index 73ba1c4..b5dba1c 100644
--- a/engines/startrek/sprite.h
+++ b/engines/startrek/sprite.h
@@ -72,7 +72,7 @@ struct Sprite : Common::Serializable {
 	Common::Rect getRect();
 
 	/// NOTE: even after calling this, "bitmap" must be reloaded by the caller.
-	virtual void saveLoadWithSerializer(Common::Serializer &ser);
+	void saveLoadWithSerializer(Common::Serializer &ser) override;
 };
 
 } // End of namespace StarTrek
diff --git a/engines/startrek/startrek.h b/engines/startrek/startrek.h
index 7c52440..f062050 100644
--- a/engines/startrek/startrek.h
+++ b/engines/startrek/startrek.h
@@ -227,11 +227,11 @@ protected:
 	// startrek.cpp
 public:
 	StarTrekEngine(OSystem *syst, const StarTrekGameDescription *gamedesc);
-	virtual ~StarTrekEngine();
+	~StarTrekEngine() override;
 
 	friend class Console;
 
-	Common::Error run();
+	Common::Error run() override;
 	Common::Error runGameMode(int mode, bool resume);
 
 	// Transporter room


Commit: 3b4a2dfadc650a49992f9a33dfe8c2b82527d8eb
    https://github.com/scummvm/scummvm/commit/3b4a2dfadc650a49992f9a33dfe8c2b82527d8eb
Author: Bastien Bouclet (bastien.bouclet at gmail.com)
Date: 2020-02-09T12:43:16+01:00

Commit Message:
SUPERNOVA: Add override keywords

Changed paths:
    engines/supernova/console.h
    engines/supernova/detection.cpp
    engines/supernova/graphics.h
    engines/supernova/supernova.h
    engines/supernova/supernova1/rooms.h
    engines/supernova/supernova1/state.h
    engines/supernova/supernova2/rooms.h
    engines/supernova/supernova2/state.h


diff --git a/engines/supernova/console.h b/engines/supernova/console.h
index 32642c8..29bbf6d 100644
--- a/engines/supernova/console.h
+++ b/engines/supernova/console.h
@@ -37,7 +37,7 @@ enum {
 class Console : public GUI::Debugger {
 public:
 	Console(Supernova::SupernovaEngine *vm, Supernova::GameManager *gm);
-	virtual ~Console() {}
+	~Console() override {}
 
 private:
 	SupernovaEngine *_vm;
diff --git a/engines/supernova/detection.cpp b/engines/supernova/detection.cpp
index 23fe1f6..ff549a1 100644
--- a/engines/supernova/detection.cpp
+++ b/engines/supernova/detection.cpp
@@ -106,22 +106,22 @@ public:
 		return "supernova";
 	}
 
-	virtual const char *getName() const override {
+	const char *getName() const override {
 		return "Mission Supernova";
 	}
 
-	virtual const char *getOriginalCopyright() const override {
+	const char *getOriginalCopyright() const override {
 		return "Mission Supernova (C) 1994 Thomas and Steffen Dingel";
 	}
 
-	virtual bool hasFeature(MetaEngineFeature f) const override;
-	virtual bool createInstance(OSystem *syst, Engine **engine, const ADGameDescription *desc) const override;
-	virtual SaveStateList listSaves(const char *target) const override;
-	virtual void removeSaveState(const char *target, int slot) const override;
-	virtual int getMaximumSaveSlot() const override {
+	bool hasFeature(MetaEngineFeature f) const override;
+	bool createInstance(OSystem *syst, Engine **engine, const ADGameDescription *desc) const override;
+	SaveStateList listSaves(const char *target) const override;
+	void removeSaveState(const char *target, int slot) const override;
+	int getMaximumSaveSlot() const override {
 		return 99;
 	}
-	virtual SaveStateDescriptor querySaveMetaInfos(const char *target, int slot) const override;
+	SaveStateDescriptor querySaveMetaInfos(const char *target, int slot) const override;
 };
 
 bool SupernovaMetaEngine::hasFeature(MetaEngineFeature f) const {
diff --git a/engines/supernova/graphics.h b/engines/supernova/graphics.h
index 060bb99..11ad129 100644
--- a/engines/supernova/graphics.h
+++ b/engines/supernova/graphics.h
@@ -41,12 +41,12 @@ class SupernovaEngine;
 class MSNImage : public Image::ImageDecoder {
 public:
 	MSNImage(SupernovaEngine *vm);
-	virtual ~MSNImage();
+	~MSNImage() override;
 
-	virtual void destroy();
-	virtual bool loadStream(Common::SeekableReadStream &stream);
-	virtual const Graphics::Surface *getSurface() const { return _sectionSurfaces[0]; }
-	virtual const byte *getPalette() const { return _palette; }
+	void destroy() override;
+	bool loadStream(Common::SeekableReadStream &stream) override;
+	const Graphics::Surface *getSurface() const override { return _sectionSurfaces[0]; }
+	const byte *getPalette() const override { return _palette; }
 
 	bool init(int filenumber);
 
diff --git a/engines/supernova/supernova.h b/engines/supernova/supernova.h
index a4dd15a..4635b34 100644
--- a/engines/supernova/supernova.h
+++ b/engines/supernova/supernova.h
@@ -62,15 +62,15 @@ class Screen;
 class SupernovaEngine : public Engine {
 public:
 	explicit SupernovaEngine(OSystem *syst);
-	~SupernovaEngine();
-
-	virtual Common::Error run() override;
-	virtual Common::Error loadGameState(int slot) override;
-	virtual bool canLoadGameStateCurrently() override;
-	virtual Common::Error saveGameState(int slot, const Common::String &desc) override;
-	virtual bool canSaveGameStateCurrently() override;
-	virtual bool hasFeature(EngineFeature f) const override;
-	virtual void pauseEngineIntern(bool pause) override;
+	~SupernovaEngine() override;
+
+	Common::Error run() override;
+	Common::Error loadGameState(int slot) override;
+	bool canLoadGameStateCurrently() override;
+	Common::Error saveGameState(int slot, const Common::String &desc) override;
+	bool canSaveGameStateCurrently() override;
+	bool hasFeature(EngineFeature f) const override;
+	void pauseEngineIntern(bool pause) override;
 
 	GameManager *_gm;
 	Console *_console;
diff --git a/engines/supernova/supernova1/rooms.h b/engines/supernova/supernova1/rooms.h
index aa11817..12f6dc0 100644
--- a/engines/supernova/supernova1/rooms.h
+++ b/engines/supernova/supernova1/rooms.h
@@ -50,7 +50,7 @@ class Room1: public Room {
 class Intro : public Room1 {
 public:
 	Intro(SupernovaEngine *vm, GameManager1 *gm);
-	virtual void onEntrance();
+	void onEntrance() override;
 
 private:
 	bool animate(int section1, int section2, int duration);
@@ -73,7 +73,7 @@ class ShipCorridor : public Room1 {
 public:
 	ShipCorridor(SupernovaEngine *vm, GameManager1 *gm);
 
-	virtual bool interact(Action verb, Object &obj1, Object &obj2);
+	bool interact(Action verb, Object &obj1, Object &obj2) override;
 
 private:
 };
@@ -82,7 +82,7 @@ class ShipHall: public Room1 {
 public:
 	ShipHall(SupernovaEngine *vm, GameManager1 *gm);
 
-	virtual bool interact(Action verb, Object &obj1, Object &obj2);
+	bool interact(Action verb, Object &obj1, Object &obj2) override;
 
 private:
 };
@@ -91,9 +91,9 @@ class ShipSleepCabin: public Room1 {
 public:
 	ShipSleepCabin(SupernovaEngine *vm, GameManager1 *gm);
 
-	virtual bool interact(Action verb, Object &obj1, Object &obj2);
-	virtual void animation();
-	virtual void onEntrance();
+	bool interact(Action verb, Object &obj1, Object &obj2) override;
+	void animation() override;
+	void onEntrance() override;
 
 private:
 	byte _color;
@@ -103,9 +103,9 @@ class ShipCockpit : public Room1 {
 public:
 	ShipCockpit(SupernovaEngine *vm, GameManager1 *gm);
 
-	virtual bool interact(Action verb, Object &obj1, Object &obj2);
-	virtual void animation();
-	virtual void onEntrance();
+	bool interact(Action verb, Object &obj1, Object &obj2) override;
+	void animation() override;
+	void onEntrance() override;
 
 private:
 	byte _color;
@@ -122,7 +122,7 @@ class ShipCabinL2 : public Room1 {
 public:
 	ShipCabinL2(SupernovaEngine *vm, GameManager1 *gm);
 
-	virtual bool interact(Action verb, Object &obj1, Object &obj2);
+	bool interact(Action verb, Object &obj1, Object &obj2) override;
 
 private:
 };
@@ -131,7 +131,7 @@ class ShipCabinL3 : public Room1 {
 public:
 	ShipCabinL3(SupernovaEngine *vm, GameManager1 *gm);
 
-	virtual bool interact(Action verb, Object &obj1, Object &obj2);
+	bool interact(Action verb, Object &obj1, Object &obj2) override;
 
 private:
 };
@@ -154,8 +154,8 @@ class ShipCabinR3 : public Room1 {
 public:
 	ShipCabinR3(SupernovaEngine *vm, GameManager1 *gm);
 
-	virtual bool interact(Action verb, Object &obj1, Object &obj2);
-	virtual void onEntrance();
+	bool interact(Action verb, Object &obj1, Object &obj2) override;
+	void onEntrance() override;
 
 private:
 };
@@ -171,8 +171,8 @@ class ShipAirlock : public Room1 {
 public:
 	ShipAirlock(SupernovaEngine *vm, GameManager1 *gm);
 
-	virtual bool interact(Action verb, Object &obj1, Object &obj2);
-	virtual void onEntrance();
+	bool interact(Action verb, Object &obj1, Object &obj2) override;
+	void onEntrance() override;
 
 private:
 };
@@ -181,8 +181,8 @@ class ShipHold : public Room1 {
 public:
 	ShipHold(SupernovaEngine *vm, GameManager1 *gm);
 
-	virtual bool interact(Action verb, Object &obj1, Object &obj2);
-	virtual void onEntrance();
+	bool interact(Action verb, Object &obj1, Object &obj2) override;
+	void onEntrance() override;
 
 private:
 };
@@ -191,7 +191,7 @@ class ShipLandingModule : public Room1 {
 public:
 	ShipLandingModule(SupernovaEngine *vm, GameManager1 *gm);
 
-	virtual bool interact(Action verb, Object &obj1, Object &obj2);
+	bool interact(Action verb, Object &obj1, Object &obj2) override;
 
 private:
 };
@@ -200,7 +200,7 @@ class ShipGenerator : public Room1 {
 public:
 	ShipGenerator(SupernovaEngine *vm, GameManager1 *gm);
 
-	virtual bool interact(Action verb, Object &obj1, Object &obj2);
+	bool interact(Action verb, Object &obj1, Object &obj2) override;
 
 private:
 };
@@ -218,8 +218,8 @@ class ArsanoRocks : public Room1 {
 public:
 	ArsanoRocks(SupernovaEngine *vm, GameManager1 *gm);
 
-	virtual void onEntrance();
-	virtual bool interact(Action verb, Object &obj1, Object &obj2);
+	void onEntrance() override;
+	bool interact(Action verb, Object &obj1, Object &obj2) override;
 
 private:
 };
@@ -235,9 +235,9 @@ class ArsanoMeetup : public Room1 {
 public:
 	ArsanoMeetup(SupernovaEngine *vm, GameManager1 *gm);
 
-	virtual void onEntrance();
-	virtual void animation();
-	virtual bool interact(Action verb, Object &obj1, Object &obj2);
+	void onEntrance() override;
+	void animation() override;
+	bool interact(Action verb, Object &obj1, Object &obj2) override;
 
 private:
 	byte _sign;
@@ -248,8 +248,8 @@ class ArsanoEntrance : public Room1 {
 public:
 	ArsanoEntrance(SupernovaEngine *vm, GameManager1 *gm);
 
-	virtual bool interact(Action verb, Object &obj1, Object &obj2);
-	virtual void animation();
+	bool interact(Action verb, Object &obj1, Object &obj2) override;
+	void animation() override;
 
 private:
 	int _dialog1[5];
@@ -262,7 +262,7 @@ class ArsanoRemaining : public Room1 {
 public:
 	ArsanoRemaining(SupernovaEngine *vm, GameManager1 *gm);
 
-	virtual void animation();
+	void animation() override;
 
 private:
 	bool _chewing;
@@ -273,9 +273,9 @@ class ArsanoRoger : public Room1 {
 public:
 	ArsanoRoger(SupernovaEngine *vm, GameManager1 *gm);
 
-	virtual void animation();
-	virtual void onEntrance();
-	virtual bool interact(Action verb, Object &obj1, Object &obj2);
+	void animation() override;
+	void onEntrance() override;
+	bool interact(Action verb, Object &obj1, Object &obj2) override;
 
 private:
 	int _dialog1[4];
@@ -287,8 +287,8 @@ class ArsanoGlider : public Room1 {
 public:
 	ArsanoGlider(SupernovaEngine *vm, GameManager1 *gm);
 
-	virtual void animation();
-	virtual bool interact(Action verb, Object &obj1, Object &obj2);
+	void animation() override;
+	bool interact(Action verb, Object &obj1, Object &obj2) override;
 
 private:
 	byte _sinus;
@@ -298,8 +298,8 @@ class ArsanoMeetup2 : public Room1 {
 public:
 	ArsanoMeetup2(SupernovaEngine *vm, GameManager1 *gm);
 
-	virtual void onEntrance();
-	virtual bool interact(Action verb, Object &obj1, Object &obj2);
+	void onEntrance() override;
+	bool interact(Action verb, Object &obj1, Object &obj2) override;
 
 	void shipStart();
 
@@ -315,7 +315,7 @@ class ArsanoMeetup3 : public Room1 {
 public:
 	ArsanoMeetup3(SupernovaEngine *vm, GameManager1 *gm);
 
-	virtual bool interact(Action verb, Object &obj1, Object &obj2);
+	bool interact(Action verb, Object &obj1, Object &obj2) override;
 
 private:
 	int _dialog2[4];
@@ -328,9 +328,9 @@ class AxacussCell : public Room1 {
 public:
 	AxacussCell(SupernovaEngine *vm, GameManager1 *gm);
 
-	virtual bool interact(Action verb, Object &obj1, Object &obj2);
-	virtual void animation();
-	virtual void onEntrance();
+	bool interact(Action verb, Object &obj1, Object &obj2) override;
+	void animation() override;
+	void onEntrance() override;
 
 private:
 };
@@ -339,7 +339,7 @@ class AxacussCorridor1 : public Room1 {
 public:
 	AxacussCorridor1(SupernovaEngine *vm, GameManager1 *gm);
 
-	virtual void onEntrance();
+	void onEntrance() override;
 
 private:
 };
@@ -348,7 +348,7 @@ class AxacussCorridor2 : public Room1 {
 public:
 	AxacussCorridor2(SupernovaEngine *vm, GameManager1 *gm);
 
-	virtual void onEntrance();
+	void onEntrance() override;
 
 private:
 };
@@ -357,7 +357,7 @@ class AxacussCorridor3 : public Room1 {
 public:
 	AxacussCorridor3(SupernovaEngine *vm, GameManager1 *gm);
 
-	virtual void onEntrance();
+	void onEntrance() override;
 
 private:
 };
@@ -366,9 +366,9 @@ class AxacussCorridor4 : public Room1 {
 public:
 	AxacussCorridor4(SupernovaEngine *vm, GameManager1 *gm);
 
-	virtual void onEntrance();
-	virtual void animation();
-	virtual bool interact(Action verb, Object &obj1, Object &obj2);
+	void onEntrance() override;
+	void animation() override;
+	bool interact(Action verb, Object &obj1, Object &obj2) override;
 
 private:
 };
@@ -377,8 +377,8 @@ class AxacussCorridor5 : public Room1 {
 public:
 	AxacussCorridor5(SupernovaEngine *vm, GameManager1 *gm);
 
-	virtual void onEntrance();
-	virtual bool interact(Action verb, Object &obj1, Object &obj2);
+	void onEntrance() override;
+	bool interact(Action verb, Object &obj1, Object &obj2) override;
 
 private:
 	void stopInteract(int sum);
@@ -397,8 +397,8 @@ class AxacussCorridor6 : public Room1 {
 public:
 	AxacussCorridor6(SupernovaEngine *vm, GameManager1 *gm);
 
-	virtual void onEntrance();
-	virtual bool interact(Action verb, Object &obj1, Object &obj2);
+	void onEntrance() override;
+	bool interact(Action verb, Object &obj1, Object &obj2) override;
 
 private:
 };
@@ -407,7 +407,7 @@ class AxacussCorridor7 : public Room1 {
 public:
 	AxacussCorridor7(SupernovaEngine *vm, GameManager1 *gm);
 
-	virtual void onEntrance();
+	void onEntrance() override;
 
 private:
 };
@@ -416,8 +416,8 @@ class AxacussCorridor8 : public Room1 {
 public:
 	AxacussCorridor8(SupernovaEngine *vm, GameManager1 *gm);
 
-	virtual void onEntrance();
-	virtual bool interact(Action verb, Object &obj1, Object &obj2);
+	void onEntrance() override;
+	bool interact(Action verb, Object &obj1, Object &obj2) override;
 
 private:
 };
@@ -426,8 +426,8 @@ class AxacussCorridor9 : public Room1 {
 public:
 	AxacussCorridor9(SupernovaEngine *vm, GameManager1 *gm);
 
-	virtual void onEntrance();
-	virtual bool interact(Action verb, Object &obj1, Object &obj2);
+	void onEntrance() override;
+	bool interact(Action verb, Object &obj1, Object &obj2) override;
 
 private:
 };
@@ -436,8 +436,8 @@ class AxacussBcorridor : public Room1 {
 public:
 	AxacussBcorridor(SupernovaEngine *vm, GameManager1 *gm);
 
-	virtual void onEntrance();
-	virtual bool interact(Action verb, Object &obj1, Object &obj2);
+	void onEntrance() override;
+	bool interact(Action verb, Object &obj1, Object &obj2) override;
 
 private:
 };
@@ -446,21 +446,21 @@ class AxacussIntersection : public Room1 {
 public:
 	AxacussIntersection(SupernovaEngine *vm, GameManager1 *gm);
 
-	virtual bool interact(Action verb, Object &obj1, Object &obj2);
+	bool interact(Action verb, Object &obj1, Object &obj2) override;
 };
 
 class AxacussExit : public Room1 {
 public:
 	AxacussExit(SupernovaEngine *vm, GameManager1 *gm);
 
-	virtual bool interact(Action verb, Object &obj1, Object &obj2);
+	bool interact(Action verb, Object &obj1, Object &obj2) override;
 };
 
 class AxacussOffice1 : public Room1 {
 public:
 	AxacussOffice1(SupernovaEngine *vm, GameManager1 *gm);
 
-	virtual bool interact(Action verb, Object &obj1, Object &obj2);
+	bool interact(Action verb, Object &obj1, Object &obj2) override;
 
 private:
 };
@@ -469,7 +469,7 @@ class AxacussOffice2 : public Room1 {
 public:
 	AxacussOffice2(SupernovaEngine *vm, GameManager1 *gm);
 
-	virtual bool interact(Action verb, Object &obj1, Object &obj2);
+	bool interact(Action verb, Object &obj1, Object &obj2) override;
 
 private:
 };
@@ -478,7 +478,7 @@ class AxacussOffice3 : public Room1 {
 public:
 	AxacussOffice3(SupernovaEngine *vm, GameManager1 *gm);
 
-	virtual bool interact(Action verb, Object &obj1, Object &obj2);
+	bool interact(Action verb, Object &obj1, Object &obj2) override;
 
 private:
 };
@@ -487,7 +487,7 @@ class AxacussOffice4 : public Room1 {
 public:
 	AxacussOffice4(SupernovaEngine *vm, GameManager1 *gm);
 
-	virtual bool interact(Action verb, Object &obj1, Object &obj2);
+	bool interact(Action verb, Object &obj1, Object &obj2) override;
 
 private:
 };
@@ -496,8 +496,8 @@ class AxacussOffice5 : public Room1 {
 public:
 	AxacussOffice5(SupernovaEngine *vm, GameManager1 *gm);
 
-	virtual void onEntrance();
-	virtual bool interact(Action verb, Object &obj1, Object &obj2);
+	void onEntrance() override;
+	bool interact(Action verb, Object &obj1, Object &obj2) override;
 
 private:
 };
@@ -506,7 +506,7 @@ class AxacussElevator : public Room1 {
 public:
 	AxacussElevator(SupernovaEngine *vm, GameManager1 *gm);
 
-	virtual bool interact(Action verb, Object &obj1, Object &obj2);
+	bool interact(Action verb, Object &obj1, Object &obj2) override;
 
 private:
 };
@@ -515,7 +515,7 @@ class AxacussStation : public Room1 {
 public:
 	AxacussStation(SupernovaEngine *vm, GameManager1 *gm);
 
-	virtual bool interact(Action verb, Object &obj1, Object &obj2);
+	bool interact(Action verb, Object &obj1, Object &obj2) override;
 
 private:
 };
@@ -524,7 +524,7 @@ class AxacussSign : public Room1 {
 public:
 	AxacussSign(SupernovaEngine *vm, GameManager1 *gm);
 
-	virtual bool interact(Action verb, Object &obj1, Object &obj2);
+	bool interact(Action verb, Object &obj1, Object &obj2) override;
 
 private:
 };
@@ -533,8 +533,8 @@ class Outro : public Room1 {
 public:
 	Outro(SupernovaEngine *vm, GameManager1 *gm);
 
-	virtual void onEntrance();
-	virtual void animation();
+	void onEntrance() override;
+	void animation() override;
 
 private:
 	void animate(int filenumber, int section1, int section2, int duration);
diff --git a/engines/supernova/supernova1/state.h b/engines/supernova/supernova1/state.h
index 9e997e9..25e0c4e 100644
--- a/engines/supernova/supernova1/state.h
+++ b/engines/supernova/supernova1/state.h
@@ -67,36 +67,36 @@ class GameState {
 class GameManager1: public GameManager {
 public:
 	GameManager1(SupernovaEngine *vm, Sound *sound);
-	virtual ~GameManager1();
+	~GameManager1() override;
 
 	GameState _state;
 
-	virtual void updateEvents();
-	virtual void executeRoom();
-	virtual bool serialize(Common::WriteStream *out);
-	virtual bool deserialize(Common::ReadStream *in, int version);
+	void updateEvents() override;
+	void executeRoom() override;
+	bool serialize(Common::WriteStream *out) override;
+	bool deserialize(Common::ReadStream *in, int version) override;
 
-	virtual void initState();
-	virtual void initRooms();
-	virtual void destroyRooms();
-	virtual bool canSaveGameStateCurrently();
-	virtual bool genericInteract(Action verb, Object &obj1, Object &obj2);
+	void initState() override;
+	void initRooms() override;
+	void destroyRooms() override;
+	bool canSaveGameStateCurrently() override;
+	bool genericInteract(Action verb, Object &obj1, Object &obj2) override;
 	bool isHelmetOff();
 	void great(uint number);
 	bool airless();
 	void shock();
 	void turnOff();
 	void turnOn();
-	virtual void roomBrightness();
+	void roomBrightness() override;
 	void openLocker(const Room *room, Object *obj, Object *lock, int section);
 	void closeLocker(const Room *room, Object *obj, Object *lock, int section);
-	virtual void drawMapExits();
-	virtual void handleInput();
-	virtual void handleTime();
-	virtual void loadTime();
-	virtual void saveTime();
+	void drawMapExits() override;
+	void handleInput() override;
+	void handleTime() override;
+	void loadTime() override;
+	void saveTime() override;
 	void shot(int a, int b);
-	virtual void takeMoney(int amount);
+	void takeMoney(int amount) override;
 	void search(int time);
 	void startSearch();
 	void guardNoticed();
diff --git a/engines/supernova/supernova2/rooms.h b/engines/supernova/supernova2/rooms.h
index 9f7420d..8e2da66 100644
--- a/engines/supernova/supernova2/rooms.h
+++ b/engines/supernova/supernova2/rooms.h
@@ -54,7 +54,7 @@ class Room2 : public Room {
 class Intro2 : public Room2 {
 public:
 	Intro2(SupernovaEngine *vm, GameManager2 *gm);
-	virtual void onEntrance();
+	void onEntrance() override;
 
 private:
 	void titleScreen();
@@ -71,59 +71,59 @@ private:
 class Airport : public Room2 {
 public:
 	Airport(SupernovaEngine *vm, GameManager2 *gm);
-	virtual void onEntrance();
+	void onEntrance() override;
 
 };
 
 class TaxiStand : public Room2 {
 public:
 	TaxiStand(SupernovaEngine *vm, GameManager2 *gm);
-	virtual void onEntrance();
-	virtual void animation();
-	virtual bool interact(Action verb, Object &obj1, Object &obj2);
+	void onEntrance() override;
+	void animation() override;
+	bool interact(Action verb, Object &obj1, Object &obj2) override;
 
 };
 
 class Street : public Room2 {
 public:
 	Street(SupernovaEngine *vm, GameManager2 *gm);
-	virtual void onEntrance();
-	virtual void animation();
-	virtual bool interact(Action verb, Object &obj1, Object &obj2);
+	void onEntrance() override;
+	void animation() override;
+	bool interact(Action verb, Object &obj1, Object &obj2) override;
 
 };
 
 class Games : public Room2 {
 public:
 	Games(SupernovaEngine *vm, GameManager2 *gm);
-	virtual void onEntrance();
-	virtual bool interact(Action verb, Object &obj1, Object &obj2);
+	void onEntrance() override;
+	bool interact(Action verb, Object &obj1, Object &obj2) override;
 
 };
 
 class Cabin2 : public Room2 {
 public:
 	Cabin2(SupernovaEngine *vm, GameManager2 *gm);
-	virtual void onEntrance();
-	virtual void animation();
-	virtual bool interact(Action verb, Object &obj1, Object &obj2);
+	void onEntrance() override;
+	void animation() override;
+	bool interact(Action verb, Object &obj1, Object &obj2) override;
 };
 
 class Kiosk : public Room2 {
 public:
 	Kiosk(SupernovaEngine *vm, GameManager2 *gm);
-	virtual void onEntrance();
-	virtual void animation();
-	virtual bool interact(Action verb, Object &obj1, Object &obj2);
+	void onEntrance() override;
+	void animation() override;
+	bool interact(Action verb, Object &obj1, Object &obj2) override;
 
 };
 
 class CulturePalace : public Room2 {
 public:
 	CulturePalace(SupernovaEngine *vm, GameManager2 *gm);
-	virtual void onEntrance();
-	virtual void animation();
-	virtual bool interact(Action verb, Object &obj1, Object &obj2);
+	void onEntrance() override;
+	void animation() override;
+	bool interact(Action verb, Object &obj1, Object &obj2) override;
 
 private:
 	void notEnoughMoney();
@@ -132,9 +132,9 @@ private:
 class Checkout : public Room2 {
 public:
 	Checkout(SupernovaEngine *vm, GameManager2 *gm);
-	virtual void onEntrance();
-	virtual void animation();
-	virtual bool interact(Action verb, Object &obj1, Object &obj2);
+	void onEntrance() override;
+	void animation() override;
+	bool interact(Action verb, Object &obj1, Object &obj2) override;
 
 private:
 	void appearance();
@@ -144,27 +144,27 @@ private:
 class City1 : public Room2 {
 public:
 	City1(SupernovaEngine *vm, GameManager2 *gm);
-	virtual void onEntrance();
-	virtual void animation();
-	virtual bool interact(Action verb, Object &obj1, Object &obj2);
+	void onEntrance() override;
+	void animation() override;
+	bool interact(Action verb, Object &obj1, Object &obj2) override;
 
 };
 
 class City2 : public Room2 {
 public:
 	City2(SupernovaEngine *vm, GameManager2 *gm);
-	virtual void onEntrance();
-	virtual void animation();
-	virtual bool interact(Action verb, Object &obj1, Object &obj2);
+	void onEntrance() override;
+	void animation() override;
+	bool interact(Action verb, Object &obj1, Object &obj2) override;
 
 };
 
 class Elevator2 : public Room2 {
 public:
 	Elevator2(SupernovaEngine *vm, GameManager2 *gm);
-	virtual void onEntrance();
-	virtual void animation();
-	virtual bool interact(Action verb, Object &obj1, Object &obj2);
+	void onEntrance() override;
+	void animation() override;
+	bool interact(Action verb, Object &obj1, Object &obj2) override;
 
 private:
 	void jobDescription();
@@ -173,18 +173,18 @@ private:
 class Apartment : public Room2 {
 public:
 	Apartment(SupernovaEngine *vm, GameManager2 *gm);
-	virtual void onEntrance();
-	virtual void animation();
-	virtual bool interact(Action verb, Object &obj1, Object &obj2);
+	void onEntrance() override;
+	void animation() override;
+	bool interact(Action verb, Object &obj1, Object &obj2) override;
 
 };
 
 class Ship : public Room2 {
 public:
 	Ship(SupernovaEngine *vm, GameManager2 *gm);
-	virtual void onEntrance();
-	virtual void animation();
-	virtual bool interact(Action verb, Object &obj1, Object &obj2);
+	void onEntrance() override;
+	void animation() override;
+	bool interact(Action verb, Object &obj1, Object &obj2) override;
 	Common::String _outroText;
 	Common::String _outroText2;
 
@@ -196,18 +196,18 @@ private:
 class Pyramid : public Room2 {
 public:
 	Pyramid(SupernovaEngine *vm, GameManager2 *gm);
-	virtual void onEntrance();
-	virtual void animation();
-	virtual bool interact(Action verb, Object &obj1, Object &obj2);
+	void onEntrance() override;
+	void animation() override;
+	bool interact(Action verb, Object &obj1, Object &obj2) override;
 
 };
 
 class PyrEntrance : public Room2 {
 public:
 	PyrEntrance(SupernovaEngine *vm, GameManager2 *gm);
-	virtual void onEntrance();
-	virtual void animation();
-	virtual bool interact(Action verb, Object &obj1, Object &obj2);
+	void onEntrance() override;
+	void animation() override;
+	bool interact(Action verb, Object &obj1, Object &obj2) override;
 
 private:
 	uint32 _waitTime;
@@ -216,243 +216,243 @@ private:
 class Upstairs1 : public Room2 {
 public:
 	Upstairs1(SupernovaEngine *vm, GameManager2 *gm);
-	virtual void onEntrance();
-	virtual void animation();
-	virtual bool interact(Action verb, Object &obj1, Object &obj2);
+	void onEntrance() override;
+	void animation() override;
+	bool interact(Action verb, Object &obj1, Object &obj2) override;
 
 };
 
 class Downstairs1 : public Room2 {
 public:
 	Downstairs1(SupernovaEngine *vm, GameManager2 *gm);
-	virtual void onEntrance();
-	virtual void animation();
-	virtual bool interact(Action verb, Object &obj1, Object &obj2);
+	void onEntrance() override;
+	void animation() override;
+	bool interact(Action verb, Object &obj1, Object &obj2) override;
 
 };
 
 class BottomRightDoor : public Room2 {
 public:
 	BottomRightDoor(SupernovaEngine *vm, GameManager2 *gm);
-	virtual void onEntrance();
-	virtual void animation();
-	virtual bool interact(Action verb, Object &obj1, Object &obj2);
+	void onEntrance() override;
+	void animation() override;
+	bool interact(Action verb, Object &obj1, Object &obj2) override;
 
 };
 
 class BottomLeftDoor : public Room2 {
 public:
 	BottomLeftDoor(SupernovaEngine *vm, GameManager2 *gm);
-	virtual void onEntrance();
-	virtual void animation();
-	virtual bool interact(Action verb, Object &obj1, Object &obj2);
+	void onEntrance() override;
+	void animation() override;
+	bool interact(Action verb, Object &obj1, Object &obj2) override;
 
 };
 
 class Upstairs2 : public Room2 {
 public:
 	Upstairs2(SupernovaEngine *vm, GameManager2 *gm);
-	virtual void onEntrance();
-	virtual void animation();
-	virtual bool interact(Action verb, Object &obj1, Object &obj2);
+	void onEntrance() override;
+	void animation() override;
+	bool interact(Action verb, Object &obj1, Object &obj2) override;
 
 };
 
 class Downstairs2 : public Room2 {
 public:
 	Downstairs2(SupernovaEngine *vm, GameManager2 *gm);
-	virtual void onEntrance();
-	virtual void animation();
-	virtual bool interact(Action verb, Object &obj1, Object &obj2);
+	void onEntrance() override;
+	void animation() override;
+	bool interact(Action verb, Object &obj1, Object &obj2) override;
 
 };
 
 class UpperDoor : public Room2 {
 public:
 	UpperDoor(SupernovaEngine *vm, GameManager2 *gm);
-	virtual void onEntrance();
-	virtual void animation();
-	virtual bool interact(Action verb, Object &obj1, Object &obj2);
+	void onEntrance() override;
+	void animation() override;
+	bool interact(Action verb, Object &obj1, Object &obj2) override;
 
 };
 
 class PuzzleFront : public Room2 {
 public:
 	PuzzleFront(SupernovaEngine *vm, GameManager2 *gm);
-	virtual void onEntrance();
-	virtual void animation();
-	virtual bool interact(Action verb, Object &obj1, Object &obj2);
+	void onEntrance() override;
+	void animation() override;
+	bool interact(Action verb, Object &obj1, Object &obj2) override;
 
 };
 
 class PuzzleBehind : public Room2 {
 public:
 	PuzzleBehind(SupernovaEngine *vm, GameManager2 *gm);
-	virtual void onEntrance();
-	virtual void animation();
-	virtual bool interact(Action verb, Object &obj1, Object &obj2);
+	void onEntrance() override;
+	void animation() override;
+	bool interact(Action verb, Object &obj1, Object &obj2) override;
 
 };
 
 class Formula1F : public Room2 {
 public:
 	Formula1F(SupernovaEngine *vm, GameManager2 *gm);
-	virtual void onEntrance();
-	virtual void animation();
-	virtual bool interact(Action verb, Object &obj1, Object &obj2);
+	void onEntrance() override;
+	void animation() override;
+	bool interact(Action verb, Object &obj1, Object &obj2) override;
 
 };
 
 class Formula1N : public Room2 {
 public:
 	Formula1N(SupernovaEngine *vm, GameManager2 *gm);
-	virtual void onEntrance();
-	virtual void animation();
-	virtual bool interact(Action verb, Object &obj1, Object &obj2);
+	void onEntrance() override;
+	void animation() override;
+	bool interact(Action verb, Object &obj1, Object &obj2) override;
 
 };
 
 class Formula2F : public Room2 {
 public:
 	Formula2F(SupernovaEngine *vm, GameManager2 *gm);
-	virtual void onEntrance();
-	virtual void animation();
-	virtual bool interact(Action verb, Object &obj1, Object &obj2);
+	void onEntrance() override;
+	void animation() override;
+	bool interact(Action verb, Object &obj1, Object &obj2) override;
 
 };
 
 class Formula2N : public Room2 {
 public:
 	Formula2N(SupernovaEngine *vm, GameManager2 *gm);
-	virtual void onEntrance();
-	virtual void animation();
-	virtual bool interact(Action verb, Object &obj1, Object &obj2);
+	void onEntrance() override;
+	void animation() override;
+	bool interact(Action verb, Object &obj1, Object &obj2) override;
 
 };
 
 class TomatoF : public Room2 {
 public:
 	TomatoF(SupernovaEngine *vm, GameManager2 *gm);
-	virtual void onEntrance();
-	virtual void animation();
-	virtual bool interact(Action verb, Object &obj1, Object &obj2);
+	void onEntrance() override;
+	void animation() override;
+	bool interact(Action verb, Object &obj1, Object &obj2) override;
 
 };
 
 class TomatoN : public Room2 {
 public:
 	TomatoN(SupernovaEngine *vm, GameManager2 *gm);
-	virtual void onEntrance();
-	virtual void animation();
-	virtual bool interact(Action verb, Object &obj1, Object &obj2);
+	void onEntrance() override;
+	void animation() override;
+	bool interact(Action verb, Object &obj1, Object &obj2) override;
 
 };
 
 class MonsterF : public Room2 {
 public:
 	MonsterF(SupernovaEngine *vm, GameManager2 *gm);
-	virtual void onEntrance();
-	virtual void animation();
-	virtual bool interact(Action verb, Object &obj1, Object &obj2);
+	void onEntrance() override;
+	void animation() override;
+	bool interact(Action verb, Object &obj1, Object &obj2) override;
 
 };
 
 class Monster1N : public Room2 {
 public:
 	Monster1N(SupernovaEngine *vm, GameManager2 *gm);
-	virtual void onEntrance();
-	virtual void animation();
-	virtual bool interact(Action verb, Object &obj1, Object &obj2);
+	void onEntrance() override;
+	void animation() override;
+	bool interact(Action verb, Object &obj1, Object &obj2) override;
 
 };
 
 class Monster2N : public Room2 {
 public:
 	Monster2N(SupernovaEngine *vm, GameManager2 *gm);
-	virtual void onEntrance();
-	virtual void animation();
-	virtual bool interact(Action verb, Object &obj1, Object &obj2);
+	void onEntrance() override;
+	void animation() override;
+	bool interact(Action verb, Object &obj1, Object &obj2) override;
 
 };
 
 class Upstairs3 : public Room2 {
 public:
 	Upstairs3(SupernovaEngine *vm, GameManager2 *gm);
-	virtual void onEntrance();
-	virtual void animation();
-	virtual bool interact(Action verb, Object &obj1, Object &obj2);
+	void onEntrance() override;
+	void animation() override;
+	bool interact(Action verb, Object &obj1, Object &obj2) override;
 
 };
 
 class Downstairs3 : public Room2 {
 public:
 	Downstairs3(SupernovaEngine *vm, GameManager2 *gm);
-	virtual void onEntrance();
-	virtual void animation();
-	virtual bool interact(Action verb, Object &obj1, Object &obj2);
+	void onEntrance() override;
+	void animation() override;
+	bool interact(Action verb, Object &obj1, Object &obj2) override;
 
 };
 
 class LCorridor1 : public Room2 {
 public:
 	LCorridor1(SupernovaEngine *vm, GameManager2 *gm);
-	virtual void onEntrance();
-	virtual void animation();
-	virtual bool interact(Action verb, Object &obj1, Object &obj2);
+	void onEntrance() override;
+	void animation() override;
+	bool interact(Action verb, Object &obj1, Object &obj2) override;
 
 };
 
 class LCorridor2 : public Room2 {
 public:
 	LCorridor2(SupernovaEngine *vm, GameManager2 *gm);
-	virtual void onEntrance();
-	virtual void animation();
-	virtual bool interact(Action verb, Object &obj1, Object &obj2);
+	void onEntrance() override;
+	void animation() override;
+	bool interact(Action verb, Object &obj1, Object &obj2) override;
 
 };
 
 class HoleRoom : public Room2 {
 public:
 	HoleRoom(SupernovaEngine *vm, GameManager2 *gm);
-	virtual void onEntrance();
-	virtual void animation();
-	virtual bool interact(Action verb, Object &obj1, Object &obj2);
+	void onEntrance() override;
+	void animation() override;
+	bool interact(Action verb, Object &obj1, Object &obj2) override;
 
 };
 
 class InHole : public Room2 {
 public:
 	InHole(SupernovaEngine *vm, GameManager2 *gm);
-	virtual void onEntrance();
-	virtual void animation();
-	virtual bool interact(Action verb, Object &obj1, Object &obj2);
+	void onEntrance() override;
+	void animation() override;
+	bool interact(Action verb, Object &obj1, Object &obj2) override;
 
 };
 
 class Floordoor : public Room2 {
 public:
 	Floordoor(SupernovaEngine *vm, GameManager2 *gm);
-	virtual void onEntrance();
-	virtual void animation();
-	virtual bool interact(Action verb, Object &obj1, Object &obj2);
+	void onEntrance() override;
+	void animation() override;
+	bool interact(Action verb, Object &obj1, Object &obj2) override;
 
 };
 
 class FloordoorU : public Room2 {
 public:
 	FloordoorU(SupernovaEngine *vm, GameManager2 *gm);
-	virtual void onEntrance();
-	virtual void animation();
-	virtual bool interact(Action verb, Object &obj1, Object &obj2);
+	void onEntrance() override;
+	void animation() override;
+	bool interact(Action verb, Object &obj1, Object &obj2) override;
 
 };
 
 class BstDoor : public Room2 {
 public:
 	BstDoor(SupernovaEngine *vm, GameManager2 *gm);
-	virtual void onEntrance();
-	virtual void animation();
-	virtual bool interact(Action verb, Object &obj1, Object &obj2);
+	void onEntrance() override;
+	void animation() override;
+	bool interact(Action verb, Object &obj1, Object &obj2) override;
 
 private:
 	bool _password[16];
@@ -461,252 +461,252 @@ private:
 class Hall2 : public Room2 {
 public:
 	Hall2(SupernovaEngine *vm, GameManager2 *gm);
-	virtual void onEntrance();
-	virtual void animation();
-	virtual bool interact(Action verb, Object &obj1, Object &obj2);
+	void onEntrance() override;
+	void animation() override;
+	bool interact(Action verb, Object &obj1, Object &obj2) override;
 
 };
 
 class CoffinRoom : public Room2 {
 public:
 	CoffinRoom(SupernovaEngine *vm, GameManager2 *gm);
-	virtual void onEntrance();
-	virtual void animation();
-	virtual bool interact(Action verb, Object &obj1, Object &obj2);
+	void onEntrance() override;
+	void animation() override;
+	bool interact(Action verb, Object &obj1, Object &obj2) override;
 
 };
 
 class Mask : public Room2 {
 public:
 	Mask(SupernovaEngine *vm, GameManager2 *gm);
-	virtual void onEntrance();
-	virtual void animation();
-	virtual bool interact(Action verb, Object &obj1, Object &obj2);
+	void onEntrance() override;
+	void animation() override;
+	bool interact(Action verb, Object &obj1, Object &obj2) override;
 
 };
 
 class Museum : public Room2 {
 public:
 	Museum(SupernovaEngine *vm, GameManager2 *gm);
-	virtual void onEntrance();
-	virtual void animation();
-	virtual bool interact(Action verb, Object &obj1, Object &obj2);
+	void onEntrance() override;
+	void animation() override;
+	bool interact(Action verb, Object &obj1, Object &obj2) override;
 
 };
 
 class MusEntrance : public Room2 {
 public:
 	MusEntrance(SupernovaEngine *vm, GameManager2 *gm);
-	virtual void onEntrance();
-	virtual void animation();
-	virtual bool interact(Action verb, Object &obj1, Object &obj2);
+	void onEntrance() override;
+	void animation() override;
+	bool interact(Action verb, Object &obj1, Object &obj2) override;
 
 };
 
 class Mus1 : public Room2 {
 public:
 	Mus1(SupernovaEngine *vm, GameManager2 *gm);
-	virtual void onEntrance();
-	virtual void animation();
-	virtual bool interact(Action verb, Object &obj1, Object &obj2);
+	void onEntrance() override;
+	void animation() override;
+	bool interact(Action verb, Object &obj1, Object &obj2) override;
 
 };
 
 class Mus2 : public Room2 {
 public:
 	Mus2(SupernovaEngine *vm, GameManager2 *gm);
-	virtual void onEntrance();
-	virtual void animation();
-	virtual bool interact(Action verb, Object &obj1, Object &obj2);
+	void onEntrance() override;
+	void animation() override;
+	bool interact(Action verb, Object &obj1, Object &obj2) override;
 
 };
 
 class Mus3 : public Room2 {
 public:
 	Mus3(SupernovaEngine *vm, GameManager2 *gm);
-	virtual void onEntrance();
-	virtual void animation();
-	virtual bool interact(Action verb, Object &obj1, Object &obj2);
+	void onEntrance() override;
+	void animation() override;
+	bool interact(Action verb, Object &obj1, Object &obj2) override;
 
 };
 
 class Mus4 : public Room2 {
 public:
 	Mus4(SupernovaEngine *vm, GameManager2 *gm);
-	virtual void onEntrance();
-	virtual void animation();
-	virtual bool interact(Action verb, Object &obj1, Object &obj2);
+	void onEntrance() override;
+	void animation() override;
+	bool interact(Action verb, Object &obj1, Object &obj2) override;
 
 };
 
 class Mus5 : public Room2 {
 public:
 	Mus5(SupernovaEngine *vm, GameManager2 *gm);
-	virtual void onEntrance();
-	virtual void animation();
-	virtual bool interact(Action verb, Object &obj1, Object &obj2);
+	void onEntrance() override;
+	void animation() override;
+	bool interact(Action verb, Object &obj1, Object &obj2) override;
 
 };
 
 class Mus6 : public Room2 {
 public:
 	Mus6(SupernovaEngine *vm, GameManager2 *gm);
-	virtual void onEntrance();
-	virtual void animation();
-	virtual bool interact(Action verb, Object &obj1, Object &obj2);
+	void onEntrance() override;
+	void animation() override;
+	bool interact(Action verb, Object &obj1, Object &obj2) override;
 
 };
 
 class Mus7 : public Room2 {
 public:
 	Mus7(SupernovaEngine *vm, GameManager2 *gm);
-	virtual void onEntrance();
-	virtual void animation();
-	virtual bool interact(Action verb, Object &obj1, Object &obj2);
+	void onEntrance() override;
+	void animation() override;
+	bool interact(Action verb, Object &obj1, Object &obj2) override;
 
 };
 
 class Mus8 : public Room2 {
 public:
 	Mus8(SupernovaEngine *vm, GameManager2 *gm);
-	virtual void onEntrance();
-	virtual void animation();
-	virtual bool interact(Action verb, Object &obj1, Object &obj2);
+	void onEntrance() override;
+	void animation() override;
+	bool interact(Action verb, Object &obj1, Object &obj2) override;
 
 };
 
 class Mus9 : public Room2 {
 public:
 	Mus9(SupernovaEngine *vm, GameManager2 *gm);
-	virtual void onEntrance();
-	virtual void animation();
-	virtual bool interact(Action verb, Object &obj1, Object &obj2);
+	void onEntrance() override;
+	void animation() override;
+	bool interact(Action verb, Object &obj1, Object &obj2) override;
 
 };
 
 class Mus10 : public Room2 {
 public:
 	Mus10(SupernovaEngine *vm, GameManager2 *gm);
-	virtual void onEntrance();
-	virtual void animation();
-	virtual bool interact(Action verb, Object &obj1, Object &obj2);
+	void onEntrance() override;
+	void animation() override;
+	bool interact(Action verb, Object &obj1, Object &obj2) override;
 
 };
 
 class Mus11 : public Room2 {
 public:
 	Mus11(SupernovaEngine *vm, GameManager2 *gm);
-	virtual void onEntrance();
-	virtual void animation();
-	virtual bool interact(Action verb, Object &obj1, Object &obj2);
+	void onEntrance() override;
+	void animation() override;
+	bool interact(Action verb, Object &obj1, Object &obj2) override;
 
 };
 
 class MusRound : public Room2 {
 public:
 	MusRound(SupernovaEngine *vm, GameManager2 *gm);
-	virtual void onEntrance();
-	virtual void animation();
-	virtual bool interact(Action verb, Object &obj1, Object &obj2);
+	void onEntrance() override;
+	void animation() override;
+	bool interact(Action verb, Object &obj1, Object &obj2) override;
 
 };
 
 class Mus12 : public Room2 {
 public:
 	Mus12(SupernovaEngine *vm, GameManager2 *gm);
-	virtual void onEntrance();
-	virtual void animation();
-	virtual bool interact(Action verb, Object &obj1, Object &obj2);
+	void onEntrance() override;
+	void animation() override;
+	bool interact(Action verb, Object &obj1, Object &obj2) override;
 
 };
 
 class Mus13 : public Room2 {
 public:
 	Mus13(SupernovaEngine *vm, GameManager2 *gm);
-	virtual void onEntrance();
-	virtual void animation();
-	virtual bool interact(Action verb, Object &obj1, Object &obj2);
+	void onEntrance() override;
+	void animation() override;
+	bool interact(Action verb, Object &obj1, Object &obj2) override;
 
 };
 
 class Mus14 : public Room2 {
 public:
 	Mus14(SupernovaEngine *vm, GameManager2 *gm);
-	virtual void onEntrance();
-	virtual void animation();
-	virtual bool interact(Action verb, Object &obj1, Object &obj2);
+	void onEntrance() override;
+	void animation() override;
+	bool interact(Action verb, Object &obj1, Object &obj2) override;
 
 };
 
 class Mus15 : public Room2 {
 public:
 	Mus15(SupernovaEngine *vm, GameManager2 *gm);
-	virtual void onEntrance();
-	virtual void animation();
-	virtual bool interact(Action verb, Object &obj1, Object &obj2);
+	void onEntrance() override;
+	void animation() override;
+	bool interact(Action verb, Object &obj1, Object &obj2) override;
 
 };
 
 class Mus16 : public Room2 {
 public:
 	Mus16(SupernovaEngine *vm, GameManager2 *gm);
-	virtual void onEntrance();
-	virtual void animation();
-	virtual bool interact(Action verb, Object &obj1, Object &obj2);
+	void onEntrance() override;
+	void animation() override;
+	bool interact(Action verb, Object &obj1, Object &obj2) override;
 
 };
 
 class Mus17 : public Room2 {
 public:
 	Mus17(SupernovaEngine *vm, GameManager2 *gm);
-	virtual void onEntrance();
-	virtual void animation();
-	virtual bool interact(Action verb, Object &obj1, Object &obj2);
+	void onEntrance() override;
+	void animation() override;
+	bool interact(Action verb, Object &obj1, Object &obj2) override;
 
 };
 
 class Mus18 : public Room2 {
 public:
 	Mus18(SupernovaEngine *vm, GameManager2 *gm);
-	virtual void onEntrance();
-	virtual void animation();
-	virtual bool interact(Action verb, Object &obj1, Object &obj2);
+	void onEntrance() override;
+	void animation() override;
+	bool interact(Action verb, Object &obj1, Object &obj2) override;
 
 };
 
 class Mus19 : public Room2 {
 public:
 	Mus19(SupernovaEngine *vm, GameManager2 *gm);
-	virtual void onEntrance();
-	virtual void animation();
-	virtual bool interact(Action verb, Object &obj1, Object &obj2);
+	void onEntrance() override;
+	void animation() override;
+	bool interact(Action verb, Object &obj1, Object &obj2) override;
 
 };
 
 class Mus20 : public Room2 {
 public:
 	Mus20(SupernovaEngine *vm, GameManager2 *gm);
-	virtual void onEntrance();
-	virtual void animation();
-	virtual bool interact(Action verb, Object &obj1, Object &obj2);
+	void onEntrance() override;
+	void animation() override;
+	bool interact(Action verb, Object &obj1, Object &obj2) override;
 
 };
 
 class Mus21 : public Room2 {
 public:
 	Mus21(SupernovaEngine *vm, GameManager2 *gm);
-	virtual void onEntrance();
-	virtual void animation();
-	virtual bool interact(Action verb, Object &obj1, Object &obj2);
+	void onEntrance() override;
+	void animation() override;
+	bool interact(Action verb, Object &obj1, Object &obj2) override;
 
 };
 
 class Mus22 : public Room2 {
 public:
 	Mus22(SupernovaEngine *vm, GameManager2 *gm);
-	virtual void onEntrance();
-	virtual void animation();
-	virtual bool interact(Action verb, Object &obj1, Object &obj2);
+	void onEntrance() override;
+	void animation() override;
+	bool interact(Action verb, Object &obj1, Object &obj2) override;
 
 };
 
diff --git a/engines/supernova/supernova2/state.h b/engines/supernova/supernova2/state.h
index 4d98673..53561d9 100644
--- a/engines/supernova/supernova2/state.h
+++ b/engines/supernova/supernova2/state.h
@@ -71,14 +71,14 @@ struct GameState2 {
 class GameManager2: public GameManager{
 public:
 	GameManager2(SupernovaEngine *vm, Sound *sound);
-	~GameManager2();
+	~GameManager2() override;
 
 	GameState2 _state;
 
-	virtual void updateEvents();
-	virtual void executeRoom();
-	virtual bool serialize(Common::WriteStream *out);
-	virtual bool deserialize(Common::ReadStream *in, int version);
+	void updateEvents() override;
+	void executeRoom() override;
+	bool serialize(Common::WriteStream *out) override;
+	bool deserialize(Common::ReadStream *in, int version) override;
 
 	byte _dials[6];
 
@@ -91,18 +91,18 @@ public:
 	RoomId _securityTab[10];
 	int _restTime;
 
-	virtual void initState();
-	virtual void initRooms();
-	virtual void destroyRooms();
-	virtual bool canSaveGameStateCurrently();
-	virtual bool genericInteract(Action verb, Object &obj1, Object &obj2);
-	virtual void roomBrightness() {}
-	virtual void drawMapExits();
-	virtual void handleInput();
-	virtual void handleTime();
-	virtual void loadTime() {}
-	virtual void saveTime() {}
-	virtual void takeMoney(int amount);
+	void initState() override;
+	void initRooms() override;
+	void destroyRooms() override;
+	bool canSaveGameStateCurrently() override;
+	bool genericInteract(Action verb, Object &obj1, Object &obj2) override;
+	void roomBrightness() override {}
+	void drawMapExits() override;
+	void handleInput() override;
+	void handleTime() override;
+	void loadTime() override {}
+	void saveTime() override {}
+	void takeMoney(int amount) override;
 	void taxi();
 	void leaveTaxi();
 	void taxiUnknownDestination();


Commit: 9d1447113dd8e438f7b5aca43bc01624fd09172e
    https://github.com/scummvm/scummvm/commit/9d1447113dd8e438f7b5aca43bc01624fd09172e
Author: Bastien Bouclet (bastien.bouclet at gmail.com)
Date: 2020-02-09T12:43:16+01:00

Commit Message:
SWORD1: Add override keywords

Changed paths:
    engines/sword1/console.h
    engines/sword1/detection.cpp
    engines/sword1/music.h
    engines/sword1/sword1.h


diff --git a/engines/sword1/console.h b/engines/sword1/console.h
index 88ee756..dc8bdf0 100644
--- a/engines/sword1/console.h
+++ b/engines/sword1/console.h
@@ -32,7 +32,7 @@ class SwordEngine;
 class SwordConsole : public GUI::Debugger {
 public:
 	SwordConsole(SwordEngine *vm);
-	virtual ~SwordConsole(void);
+	~SwordConsole(void) override;
 
 private:
 	SwordEngine *_vm;
diff --git a/engines/sword1/detection.cpp b/engines/sword1/detection.cpp
index 359b0d6..d9742dd 100644
--- a/engines/sword1/detection.cpp
+++ b/engines/sword1/detection.cpp
@@ -79,27 +79,27 @@ static const char *const g_filesToCheck[NUM_FILES_TO_CHECK] = { // these files h
 
 class SwordMetaEngine : public MetaEngine {
 public:
-	virtual const char *getEngineId() const override {
+	const char *getEngineId() const override {
 		return "sword1";
 	}
 
-	virtual const char *getName() const override {
+	const char *getName() const override {
 		return "Broken Sword: The Shadow of the Templars";
 	}
-	virtual const char *getOriginalCopyright() const override {
+	const char *getOriginalCopyright() const override {
 		return "Broken Sword: The Shadow of the Templars (C) Revolution";
 	}
 
-	virtual bool hasFeature(MetaEngineFeature f) const override;
+	bool hasFeature(MetaEngineFeature f) const override;
 	PlainGameList getSupportedGames() const override;
 	PlainGameDescriptor findGame(const char *gameId) const override;
 	DetectedGames detectGames(const Common::FSList &fslist) const override;
-	virtual SaveStateList listSaves(const char *target) const override;
-	virtual int getMaximumSaveSlot() const override;
-	virtual void removeSaveState(const char *target, int slot) const override;
+	SaveStateList listSaves(const char *target) const override;
+	int getMaximumSaveSlot() const override;
+	void removeSaveState(const char *target, int slot) const override;
 	SaveStateDescriptor querySaveMetaInfos(const char *target, int slot) const override;
 
-	virtual Common::Error createInstance(OSystem *syst, Engine **engine) const override;
+	Common::Error createInstance(OSystem *syst, Engine **engine) const override;
 };
 
 bool SwordMetaEngine::hasFeature(MetaEngineFeature f) const {
diff --git a/engines/sword1/music.h b/engines/sword1/music.h
index ec25427..d9adab3 100644
--- a/engines/sword1/music.h
+++ b/engines/sword1/music.h
@@ -42,7 +42,7 @@ private:
 	Audio::AudioStream *_audioSource;
 public:
 	MusicHandle() : _fading(0), _audioSource(NULL) {}
-	virtual int readBuffer(int16 *buffer, const int numSamples);
+	int readBuffer(int16 *buffer, const int numSamples) override;
 	bool play(const Common::String &filename, bool loop);
 	bool playPSX(uint16 id, bool loop);
 	void stop();
@@ -50,29 +50,29 @@ public:
 	void fadeDown();
 	bool streaming() const;
 	int32 fading() { return _fading; }
-	bool endOfData() const;
-	bool endOfStream() const { return false; }
-	bool isStereo() const;
-	int getRate() const;
+	bool endOfData() const override;
+	bool endOfStream() const override { return false; }
+	bool isStereo() const override;
+	int getRate() const override;
 };
 
 class Music : public Audio::AudioStream {
 public:
 	Music(Audio::Mixer *pMixer);
-	~Music();
+	~Music() override;
 	void startMusic(int32 tuneId, int32 loopFlag);
 	void fadeDown();
 	void setVolume(uint8 volL, uint8 volR);
 	void giveVolume(uint8 *volL, uint8 *volR);
 
 	// AudioStream API
-	int readBuffer(int16 *buffer, const int numSamples) {
+	int readBuffer(int16 *buffer, const int numSamples) override {
 		mixer(buffer, numSamples / 2);
 		return numSamples;
 	}
-	bool isStereo() const { return true; }
-	bool endOfData() const { return false; }
-	int getRate() const { return _sampleRate; }
+	bool isStereo() const override { return true; }
+	bool endOfData() const override { return false; }
+	int getRate() const override { return _sampleRate; }
 
 private:
 	Audio::st_volume_t _volumeL, _volumeR;
diff --git a/engines/sword1/sword1.h b/engines/sword1/sword1.h
index a72442d..db9f923 100644
--- a/engines/sword1/sword1.h
+++ b/engines/sword1/sword1.h
@@ -82,7 +82,7 @@ class SwordEngine : public Engine {
 	friend class SwordConsole;
 public:
 	SwordEngine(OSystem *syst);
-	virtual ~SwordEngine();
+	~SwordEngine() override;
 	static SystemVars _systemVars;
 	void reinitialize();
 
@@ -98,15 +98,15 @@ protected:
 	// Engine APIs
 	Common::Error init();
 	Common::Error go();
-	virtual Common::Error run() override {
+	Common::Error run() override {
 		Common::Error err;
 		err = init();
 		if (err.getCode() != Common::kNoError)
 			return err;
 		return go();
 	}
-	virtual bool hasFeature(EngineFeature f) const override;
-	virtual void syncSoundSettings() override;
+	bool hasFeature(EngineFeature f) const override;
+	void syncSoundSettings() override;
 
 	GUI::Debugger *getDebugger() override { return _console; }
 


Commit: c616550ebe025ad1d22c166c92e3aac9477adc90
    https://github.com/scummvm/scummvm/commit/c616550ebe025ad1d22c166c92e3aac9477adc90
Author: Bastien Bouclet (bastien.bouclet at gmail.com)
Date: 2020-02-09T12:43:16+01:00

Commit Message:
SWORD2: Add override keywords

Changed paths:
    engines/sword2/console.h
    engines/sword2/controls.cpp
    engines/sword2/controls.h
    engines/sword2/sound.h
    engines/sword2/sword2.cpp
    engines/sword2/sword2.h


diff --git a/engines/sword2/console.h b/engines/sword2/console.h
index 09e4565..7dd59e0 100644
--- a/engines/sword2/console.h
+++ b/engines/sword2/console.h
@@ -80,8 +80,8 @@ public:
 	void drawDebugGraphics();
 
 private:
-	virtual void preEnter();
-	virtual void postEnter();
+	void preEnter() override;
+	void postEnter() override;
 
 private:
 	Sword2Engine *_vm;
diff --git a/engines/sword2/controls.cpp b/engines/sword2/controls.cpp
index 3b34d42..5f1b1e1 100644
--- a/engines/sword2/controls.cpp
+++ b/engines/sword2/controls.cpp
@@ -552,15 +552,15 @@ public:
 		setHitRect(x, y, w, h);
 	}
 
-	virtual void onMouseExit() {
+	void onMouseExit() override {
 		setState(0);
 	}
 
-	virtual void onMouseDown(int x, int y) {
+	void onMouseDown(int x, int y) override {
 		setState(1);
 	}
 
-	virtual void onMouseUp(int x, int y) {
+	void onMouseUp(int x, int y) override {
 		if (getState() != 0) {
 			setState(0);
 			_parent->onAction(this);
@@ -583,21 +583,21 @@ public:
 		setHitRect(x, y, w, h);
 	}
 
-	virtual void onMouseExit() {
+	void onMouseExit() override {
 		setState(0);
 	}
 
-	virtual void onMouseDown(int x, int y) {
+	void onMouseDown(int x, int y) override {
 		setState(1);
 		_parent->onAction(this);
 		_holdCounter = 0;
 	}
 
-	virtual void onMouseUp(int x, int y) {
+	void onMouseUp(int x, int y) override {
 		setState(0);
 	}
 
-	virtual void onTick() {
+	void onTick() override {
 		if (getState() != 0) {
 			_holdCounter++;
 			if (_holdCounter > 16 && (_holdCounter % 4) == 0)
@@ -644,18 +644,18 @@ public:
 		return _value;
 	}
 
-	virtual void onMouseExit() {
+	void onMouseExit() override {
 		if (_holding && !_value)
 			setState(_upState);
 		_holding = false;
 	}
 
-	virtual void onMouseDown(int x, int y) {
+	void onMouseDown(int x, int y) override {
 		_holding = true;
 		setState(_downState);
 	}
 
-	virtual void onMouseUp(int x, int y) {
+	void onMouseUp(int x, int y) override {
 		if (_holding) {
 			_holding = false;
 			_value = !_value;
@@ -706,7 +706,7 @@ public:
 			createSurfaceImages(3406, x, y);
 	}
 
-	virtual void paint(Common::Rect *clipRect = NULL) {
+	void paint(Common::Rect *clipRect = NULL) override {
 		// This will redraw a bit more than is strictly necessary,
 		// but I doubt that will make any noticeable difference.
 
@@ -725,7 +725,7 @@ public:
 		return _value;
 	}
 
-	virtual void onMouseMove(int x, int y) {
+	void onMouseMove(int x, int y) override {
 		if (_dragging) {
 			int newX = x - _dragOffset;
 			int newValue;
@@ -748,7 +748,7 @@ public:
 		}
 	}
 
-	virtual void onMouseDown(int x, int y) {
+	void onMouseDown(int x, int y) override {
 		if (x >= _sprites[0].x && x < _sprites[0].x + 38) {
 			_dragging = true;
 			_dragOffset = x - _sprites[0].x;
@@ -765,12 +765,12 @@ public:
 		}
 	}
 
-	virtual void releaseMouse(int x, int y) {
+	void releaseMouse(int x, int y) override {
 		if (_dragging)
 			_dragging = false;
 	}
 
-	virtual void onTick() {
+	void onTick() override {
 		if (!_dragging) {
 			int target = posFromValue(_targetValue);
 
@@ -1106,7 +1106,7 @@ public:
 		return &_text[0];
 	}
 
-	virtual void paint(Common::Rect *clipRect = NULL) {
+	void paint(Common::Rect *clipRect = NULL) override {
 		Widget::paint();
 
 		// HACK: The main dialog is responsible for drawing the text
@@ -1116,7 +1116,7 @@ public:
 			_fr->drawText(_text, _sprites[0].x + 16, _sprites[0].y + 4 + 2 * getState());
 	}
 
-	virtual void onMouseDown(int x, int y) {
+	void onMouseDown(int x, int y) override {
 		if (_clickable) {
 			if (getState() == 0) {
 				setState(1);
@@ -1130,15 +1130,15 @@ public:
 		}
 	}
 
-	virtual void onWheelUp(int x, int y) {
+	void onWheelUp(int x, int y) override {
 		_parent->onAction(this, kWheelUp);
 	}
 
-	virtual void onWheelDown(int x, int y) {
+	void onWheelDown(int x, int y) override {
 		_parent->onAction(this, kWheelDown);
 	}
 
-	virtual void onKey(KeyboardEvent *ke) {
+	void onKey(KeyboardEvent *ke) override {
 		if (_editable) {
 			if (ke->kbd.keycode == Common::KEYCODE_BACKSPACE)
 				_parent->onAction(this, Common::KEYCODE_BACKSPACE);
@@ -1151,7 +1151,7 @@ public:
 		}
 	}
 
-	virtual void onTick() {
+	void onTick() override {
 		if (_editable)
 			_parent->onAction(this, kCursorTick);
 	}
diff --git a/engines/sword2/controls.h b/engines/sword2/controls.h
index ca41867..cb2bcbe 100644
--- a/engines/sword2/controls.h
+++ b/engines/sword2/controls.h
@@ -95,10 +95,10 @@ private:
 
 public:
 	OptionsDialog(Sword2Engine *vm);
-	~OptionsDialog();
+	~OptionsDialog() override;
 
-	virtual void paint();
-	virtual void onAction(Widget *widget, int result = 0);
+	void paint() override;
+	void onAction(Widget *widget, int result = 0) override;
 };
 
 class SaveRestoreDialog : public Dialog {
@@ -121,15 +121,15 @@ private:
 
 public:
 	SaveRestoreDialog(Sword2Engine *vm, int mode);
-	~SaveRestoreDialog();
+	~SaveRestoreDialog() override;
 
 	void updateSlots();
 	void drawEditBuffer(Slot *slot);
 
-	virtual void onAction(Widget *widget, int result = 0);
-	virtual void paint();
-	virtual void setResult(int result);
-	virtual int runModal();
+	void onAction(Widget *widget, int result = 0) override;
+	void paint() override;
+	void setResult(int result) override;
+	int runModal() override;
 };
 
 /**
@@ -149,27 +149,27 @@ private:
 
 public:
 	MiniDialog(Sword2Engine *vm, uint32 headerTextId, uint32 okTextId = TEXT_OK, uint32 cancelTextId = TEXT_CANCEL);
-	virtual ~MiniDialog();
-	virtual void paint();
-	virtual void onAction(Widget *widget, int result = 0);
+	~MiniDialog() override;
+	void paint() override;
+	void onAction(Widget *widget, int result = 0) override;
 };
 
 class StartDialog : public MiniDialog {
 public:
 	StartDialog(Sword2Engine *vm);
-	virtual int runModal();
+	int runModal() override;
 };
 
 class RestartDialog : public MiniDialog {
 public:
 	RestartDialog(Sword2Engine *vm);
-	virtual int runModal();
+	int runModal() override;
 };
 
 class QuitDialog : public MiniDialog {
 public:
 	QuitDialog(Sword2Engine *vm);
-	virtual int runModal();
+	int runModal() override;
 };
 
 class SaveDialog : public SaveRestoreDialog {
diff --git a/engines/sword2/sound.h b/engines/sword2/sound.h
index e250707..0b5e1ff 100644
--- a/engines/sword2/sound.h
+++ b/engines/sword2/sound.h
@@ -109,13 +109,13 @@ private:
 
 public:
 	CLUInputStream(Common::File *file, int size);
-	~CLUInputStream();
+	~CLUInputStream() override;
 
-	int readBuffer(int16 *buffer, const int numSamples);
+	int readBuffer(int16 *buffer, const int numSamples) override;
 
-	bool endOfData() const	{ return eosIntern(); }
-	bool isStereo() const	{ return false; }
-	int getRate() const	{ return 22050; }
+	bool endOfData() const override	{ return eosIntern(); }
+	bool isStereo() const override	{ return false; }
+	int getRate() const override	{ return 22050; }
 };
 
 struct SoundFileHandle {
@@ -153,13 +153,13 @@ private:
 
 public:
 	MusicInputStream(int cd, SoundFileHandle *fh, uint32 musicId, bool looping);
-	~MusicInputStream();
+	~MusicInputStream() override;
 
-	int readBuffer(int16 *buffer, const int numSamples);
+	int readBuffer(int16 *buffer, const int numSamples) override;
 
-	bool endOfData() const	{ return eosIntern(); }
-	bool isStereo() const	{ return _decoder->isStereo(); }
-	int getRate() const	{ return _decoder->getRate(); }
+	bool endOfData() const override	{ return eosIntern(); }
+	bool isStereo() const override	{ return _decoder->isStereo(); }
+	int getRate() const override	{ return _decoder->getRate(); }
 
 	int getCD()		{ return _cd; }
 
@@ -221,14 +221,14 @@ private:
 
 public:
 	Sound(Sword2Engine *vm);
-	~Sound();
+	~Sound() override;
 
 	// AudioStream API
 
-	int readBuffer(int16 *buffer, const int numSamples);
-	bool isStereo() const { return false; }
-	bool endOfData() const;
-	int getRate() const { return Sword2Engine::isPsx() ? 11025 : 22050; }
+	int readBuffer(int16 *buffer, const int numSamples) override;
+	bool isStereo() const override { return false; }
+	bool endOfData() const override;
+	int getRate() const override { return Sword2Engine::isPsx() ? 11025 : 22050; }
 
 	// End of AudioStream API
 
diff --git a/engines/sword2/sword2.cpp b/engines/sword2/sword2.cpp
index e1d9254..0ae106c 100644
--- a/engines/sword2/sword2.cpp
+++ b/engines/sword2/sword2.cpp
@@ -84,27 +84,27 @@ static const ExtraGuiOption sword2ExtraGuiOption = {
 
 class Sword2MetaEngine : public MetaEngine {
 public:
-	virtual const char *getEngineId() const override {
+	const char *getEngineId() const override {
 		return "sword2";
 	}
 
-	virtual const char *getName() const override {
+	const char *getName() const override {
 		return "Broken Sword II: The Smoking Mirror";
 	}
-	virtual const char *getOriginalCopyright() const override {
+	const char *getOriginalCopyright() const override {
 		return "Broken Sword II: The Smoking Mirror (C) Revolution";
 	}
 
-	virtual bool hasFeature(MetaEngineFeature f) const override;
+	bool hasFeature(MetaEngineFeature f) const override;
 	PlainGameList getSupportedGames() const override;
-	virtual const ExtraGuiOptions getExtraGuiOptions(const Common::String &target) const override;
+	const ExtraGuiOptions getExtraGuiOptions(const Common::String &target) const override;
 	PlainGameDescriptor findGame(const char *gameid) const override;
-	virtual DetectedGames detectGames(const Common::FSList &fslist) const override;
-	virtual SaveStateList listSaves(const char *target) const override;
-	virtual int getMaximumSaveSlot() const override;
-	virtual void removeSaveState(const char *target, int slot) const override;
+	DetectedGames detectGames(const Common::FSList &fslist) const override;
+	SaveStateList listSaves(const char *target) const override;
+	int getMaximumSaveSlot() const override;
+	void removeSaveState(const char *target, int slot) const override;
 
-	virtual Common::Error createInstance(OSystem *syst, Engine **engine) const override;
+	Common::Error createInstance(OSystem *syst, Engine **engine) const override;
 };
 
 bool Sword2MetaEngine::hasFeature(MetaEngineFeature f) const {
diff --git a/engines/sword2/sword2.h b/engines/sword2/sword2.h
index 74c99e3..c665320 100644
--- a/engines/sword2/sword2.h
+++ b/engines/sword2/sword2.h
@@ -142,15 +142,15 @@ private:
 
 protected:
 	// Engine APIs
-	virtual Common::Error run() override;
-	virtual GUI::Debugger *getDebugger() override;
-	virtual bool hasFeature(EngineFeature f) const override;
-	virtual void syncSoundSettings() override;
-	virtual void pauseEngineIntern(bool pause) override;
+	Common::Error run() override;
+	GUI::Debugger *getDebugger() override;
+	bool hasFeature(EngineFeature f) const override;
+	void syncSoundSettings() override;
+	void pauseEngineIntern(bool pause) override;
 
 public:
 	Sword2Engine(OSystem *syst);
-	~Sword2Engine();
+	~Sword2Engine() override;
 
 	int getFramesPerSecond();
 


Commit: c115c33b1f3c6212cbda2cd7cc5fd49f4b07fca3
    https://github.com/scummvm/scummvm/commit/c115c33b1f3c6212cbda2cd7cc5fd49f4b07fca3
Author: Bastien Bouclet (bastien.bouclet at gmail.com)
Date: 2020-02-09T12:43:16+01:00

Commit Message:
SWORD25: Add override keywords

Changed paths:
    engines/sword25/console.h
    engines/sword25/detection.cpp
    engines/sword25/fmv/movieplayer.h
    engines/sword25/gfx/animation.h
    engines/sword25/gfx/animationdescription.h
    engines/sword25/gfx/animationresource.h
    engines/sword25/gfx/animationtemplate.h
    engines/sword25/gfx/animationtemplateregistry.h
    engines/sword25/gfx/bitmap.h
    engines/sword25/gfx/bitmapresource.h
    engines/sword25/gfx/dynamicbitmap.h
    engines/sword25/gfx/graphicengine.h
    engines/sword25/gfx/image/renderedimage.h
    engines/sword25/gfx/image/swimage.h
    engines/sword25/gfx/image/vectorimage.h
    engines/sword25/gfx/panel.h
    engines/sword25/gfx/renderobjectmanager.h
    engines/sword25/gfx/rootrenderobject.h
    engines/sword25/gfx/staticbitmap.h
    engines/sword25/gfx/text.h
    engines/sword25/gfx/timedrenderobject.h
    engines/sword25/input/inputengine.h
    engines/sword25/input/inputengine_script.cpp
    engines/sword25/kernel/resservice.h
    engines/sword25/math/geometry.h
    engines/sword25/math/polygon.h
    engines/sword25/math/region.h
    engines/sword25/math/regionregistry.h
    engines/sword25/math/walkregion.h
    engines/sword25/package/packagemanager.h
    engines/sword25/script/luascript.h
    engines/sword25/script/script.h
    engines/sword25/sfx/soundengine.cpp
    engines/sword25/sfx/soundengine.h
    engines/sword25/sword25.h


diff --git a/engines/sword25/console.h b/engines/sword25/console.h
index ea955ee..bb78bcd 100644
--- a/engines/sword25/console.h
+++ b/engines/sword25/console.h
@@ -32,7 +32,7 @@ class Sword25Engine;
 class Sword25Console : public GUI::Debugger {
 public:
 	Sword25Console(Sword25Engine *vm);
-	virtual ~Sword25Console(void);
+	~Sword25Console(void) override;
 
 private:
 	Sword25Engine *_vm;
diff --git a/engines/sword25/detection.cpp b/engines/sword25/detection.cpp
index 23aeb23..1bfacea 100644
--- a/engines/sword25/detection.cpp
+++ b/engines/sword25/detection.cpp
@@ -61,19 +61,19 @@ public:
 		return "sword25";
 	}
 
-	virtual const char *getName() const override {
+	const char *getName() const override {
 		return "Broken Sword 2.5";
 	}
 
-	virtual const char *getOriginalCopyright() const override {
+	const char *getOriginalCopyright() const override {
 		return "Broken Sword 2.5 (C) Malte Thiesen, Daniel Queteschiner and Michael Elsdorfer";
 	}
 
-	virtual bool createInstance(OSystem *syst, Engine **engine, const ADGameDescription *desc) const override;
-	virtual bool hasFeature(MetaEngineFeature f) const override;
-	virtual const ExtraGuiOptions getExtraGuiOptions(const Common::String &target) const override;
-	virtual int getMaximumSaveSlot() const override { return Sword25::PersistenceService::getSlotCount(); }
-	virtual SaveStateList listSaves(const char *target) const override;
+	bool createInstance(OSystem *syst, Engine **engine, const ADGameDescription *desc) const override;
+	bool hasFeature(MetaEngineFeature f) const override;
+	const ExtraGuiOptions getExtraGuiOptions(const Common::String &target) const override;
+	int getMaximumSaveSlot() const override { return Sword25::PersistenceService::getSlotCount(); }
+	SaveStateList listSaves(const char *target) const override;
 };
 
 bool Sword25MetaEngine::createInstance(OSystem *syst, Engine **engine, const ADGameDescription *desc) const {
diff --git a/engines/sword25/fmv/movieplayer.h b/engines/sword25/fmv/movieplayer.h
index b59b223..2adfaae 100644
--- a/engines/sword25/fmv/movieplayer.h
+++ b/engines/sword25/fmv/movieplayer.h
@@ -53,7 +53,7 @@ public:
 	// -----------------------------------------------------------------------------
 
 	MoviePlayer(Kernel *pKernel);
-	~MoviePlayer();
+	~MoviePlayer() override;
 
 	// -----------------------------------------------------------------------------
 	// Player interface must be implemented by a Movie Player
diff --git a/engines/sword25/gfx/animation.h b/engines/sword25/gfx/animation.h
index b6f314e..de496b4 100644
--- a/engines/sword25/gfx/animation.h
+++ b/engines/sword25/gfx/animation.h
@@ -60,21 +60,21 @@ public:
 		AT_JOJO
 	};
 
-	virtual ~Animation();
+	~Animation() override;
 
 	void play();
 	void pause();
 	void stop();
 	void setFrame(uint nr);
 
-	virtual void setPos(int x, int y);
-	virtual void setX(int x);
-	virtual void setY(int y);
+	void setPos(int x, int y) override;
+	void setX(int x) override;
+	void setY(int y) override;
 
-	virtual int getX() const;
-	virtual int getY() const;
-	virtual int getAbsoluteX() const;
-	virtual int getAbsoluteY() const;
+	int getX() const override;
+	int getY() const override;
+	int getAbsoluteX() const override;
+	int getAbsoluteY() const override;
 
 	/**
 	    @brief Setzt den Alphawert der Animation.
@@ -127,10 +127,10 @@ public:
 		return _scaleFactorY;
 	}
 
-	virtual bool persist(OutputPersistenceBlock &writer);
-	virtual bool unpersist(InputPersistenceBlock &reader);
+	bool persist(OutputPersistenceBlock &writer) override;
+	bool unpersist(InputPersistenceBlock &reader) override;
 
-	virtual void frameNotification(int timeElapsed);
+	void frameNotification(int timeElapsed) override;
 
 	ANIMATION_TYPES     getAnimationType() const;
 	int                 getFPS() const;
@@ -151,7 +151,7 @@ public:
 	void setCallbacks();
 
 protected:
-	virtual bool doRender(RectangleList *updateRects);
+	bool doRender(RectangleList *updateRects) override;
 
 private:
 	enum Direction {
diff --git a/engines/sword25/gfx/animationdescription.h b/engines/sword25/gfx/animationdescription.h
index 7884e32..f67fab4 100644
--- a/engines/sword25/gfx/animationdescription.h
+++ b/engines/sword25/gfx/animationdescription.h
@@ -83,8 +83,8 @@ public:
 		return _colorModulationAllowed;
 	}
 
-	virtual bool persist(OutputPersistenceBlock &writer);
-	virtual bool unpersist(InputPersistenceBlock &reader);
+	bool persist(OutputPersistenceBlock &writer) override;
+	bool unpersist(InputPersistenceBlock &reader) override;
 
 protected:
 	Animation::ANIMATION_TYPES   _animationType;
diff --git a/engines/sword25/gfx/animationresource.h b/engines/sword25/gfx/animationresource.h
index 953cc88..33afcf5 100644
--- a/engines/sword25/gfx/animationresource.h
+++ b/engines/sword25/gfx/animationresource.h
@@ -46,15 +46,15 @@ class PackageManager;
 class AnimationResource : public Resource, public AnimationDescription, public Common::XMLParser {
 public:
 	AnimationResource(const Common::String &filename);
-	virtual ~AnimationResource();
+	~AnimationResource() override;
 
-	virtual const Frame &getFrame(uint index) const override {
+	const Frame &getFrame(uint index) const override {
 		return _frames[index];
 	}
-	virtual uint getFrameCount() const override {
+	uint getFrameCount() const override {
 		return _frames.size();
 	}
-	virtual void unlock() override {
+	void unlock() override {
 		release();
 	}
 
diff --git a/engines/sword25/gfx/animationtemplate.h b/engines/sword25/gfx/animationtemplate.h
index 6968e44..8f153ed 100644
--- a/engines/sword25/gfx/animationtemplate.h
+++ b/engines/sword25/gfx/animationtemplate.h
@@ -57,16 +57,16 @@ private:
 	AnimationTemplate(InputPersistenceBlock &reader, uint handle);
 
 public:
-	~AnimationTemplate();
+	~AnimationTemplate() override;
 
-	virtual const Frame    &getFrame(uint index) const {
+	const Frame    &getFrame(uint index) const override {
 		assert(index < _frames.size());
 		return _frames[index];
 	}
-	virtual uint    getFrameCount() const {
+	uint    getFrameCount() const override {
 		return _frames.size();
 	}
-	virtual void            unlock() {
+	void            unlock() override {
 		delete this;
 	}
 
@@ -104,8 +104,8 @@ public:
 	*/
 	void setFPS(int FPS);
 
-	virtual bool persist(OutputPersistenceBlock &writer);
-	virtual bool unpersist(InputPersistenceBlock &reader);
+	bool persist(OutputPersistenceBlock &writer) override;
+	bool unpersist(InputPersistenceBlock &reader) override;
 
 private:
 	Common::Array<Frame>  _frames;
diff --git a/engines/sword25/gfx/animationtemplateregistry.h b/engines/sword25/gfx/animationtemplateregistry.h
index cbc6cc0..ff76e85 100644
--- a/engines/sword25/gfx/animationtemplateregistry.h
+++ b/engines/sword25/gfx/animationtemplateregistry.h
@@ -48,8 +48,8 @@ class AnimationTemplateRegistry :
 			public Common::Singleton<AnimationTemplateRegistry> {
 public:
 
-	virtual bool persist(OutputPersistenceBlock &writer);
-	virtual bool unpersist(InputPersistenceBlock &reader);
+	bool persist(OutputPersistenceBlock &writer) override;
+	bool unpersist(InputPersistenceBlock &reader) override;
 };
 
 } // End of namespace Sword25
diff --git a/engines/sword25/gfx/bitmap.h b/engines/sword25/gfx/bitmap.h
index 71e0f1d..c0382ef 100644
--- a/engines/sword25/gfx/bitmap.h
+++ b/engines/sword25/gfx/bitmap.h
@@ -43,7 +43,7 @@ protected:
 
 public:
 
-	virtual ~Bitmap();
+	~Bitmap() override;
 
 	/**
 	    @brief Setzt den Alphawert des Bitmaps.
@@ -168,8 +168,8 @@ public:
 	virtual bool    isColorModulationAllowed() const = 0;
 	virtual bool    isSetContentAllowed() const = 0;
 
-	virtual bool    persist(OutputPersistenceBlock &writer);
-	virtual bool    unpersist(InputPersistenceBlock &reader);
+	bool    persist(OutputPersistenceBlock &writer) override;
+	bool    unpersist(InputPersistenceBlock &reader) override;
 
 protected:
 	bool  _flipH;
diff --git a/engines/sword25/gfx/bitmapresource.h b/engines/sword25/gfx/bitmapresource.h
index 2ae891f..ccdb4fb 100644
--- a/engines/sword25/gfx/bitmapresource.h
+++ b/engines/sword25/gfx/bitmapresource.h
@@ -42,7 +42,7 @@ class BitmapResource : public Resource {
 public:
 	BitmapResource(const Common::String &filename, Image *pImage) :
 					_pImage(pImage), Resource(filename, Resource::TYPE_BITMAP) {}
-	virtual ~BitmapResource() { delete _pImage; }
+	~BitmapResource() override { delete _pImage; }
 
 	/**
 	    @brief Gibt zurück, ob das Objekt einen gültigen Zustand hat.
diff --git a/engines/sword25/gfx/dynamicbitmap.h b/engines/sword25/gfx/dynamicbitmap.h
index ddea523..2847231 100644
--- a/engines/sword25/gfx/dynamicbitmap.h
+++ b/engines/sword25/gfx/dynamicbitmap.h
@@ -44,22 +44,22 @@ class DynamicBitmap : public Bitmap {
 	friend class RenderObject;
 
 public:
-	virtual ~DynamicBitmap();
+	~DynamicBitmap() override;
 
-	virtual uint getPixel(int x, int y) const;
+	uint getPixel(int x, int y) const override;
 
-	virtual bool setContent(const byte *pixeldata, uint size, uint offset, uint stride);
+	bool setContent(const byte *pixeldata, uint size, uint offset, uint stride) override;
 
-	virtual bool isScalingAllowed() const;
-	virtual bool isAlphaAllowed() const;
-	virtual bool isColorModulationAllowed() const;
-	virtual bool isSetContentAllowed() const;
+	bool isScalingAllowed() const override;
+	bool isAlphaAllowed() const override;
+	bool isColorModulationAllowed() const override;
+	bool isSetContentAllowed() const override;
 
-	virtual bool persist(OutputPersistenceBlock &writer);
-	virtual bool unpersist(InputPersistenceBlock &reader);
+	bool persist(OutputPersistenceBlock &writer) override;
+	bool unpersist(InputPersistenceBlock &reader) override;
 
 protected:
-	virtual bool doRender(RectangleList *updateRects);
+	bool doRender(RectangleList *updateRects) override;
 
 private:
 	DynamicBitmap(RenderObjectPtr<RenderObject> parentPtr, uint width, uint height);
diff --git a/engines/sword25/gfx/graphicengine.h b/engines/sword25/gfx/graphicengine.h
index cca87b4..5eb5959 100644
--- a/engines/sword25/gfx/graphicengine.h
+++ b/engines/sword25/gfx/graphicengine.h
@@ -100,7 +100,7 @@ public:
 	// Constructor
 	// -----------
 	GraphicEngine(Kernel *pKernel);
-	~GraphicEngine();
+	~GraphicEngine() override;
 
 	// Interface
 	// ---------
@@ -272,13 +272,13 @@ public:
 
 	// Resource-Managing Methods
 	// --------------------------
-	virtual Resource *loadResource(const Common::String &fileName);
-	virtual bool canLoadResource(const Common::String &fileName);
+	Resource *loadResource(const Common::String &fileName) override;
+	bool canLoadResource(const Common::String &fileName) override;
 
 	// Persistence Methods
 	// -------------------
-	virtual bool persist(OutputPersistenceBlock &writer);
-	virtual bool unpersist(InputPersistenceBlock &reader);
+	bool persist(OutputPersistenceBlock &writer) override;
+	bool unpersist(InputPersistenceBlock &reader) override;
 
 	static void ARGBColorToLuaColor(lua_State *L, uint color);
 	static uint luaColorToARGBColor(lua_State *L, int stackIndex);
diff --git a/engines/sword25/gfx/image/renderedimage.h b/engines/sword25/gfx/image/renderedimage.h
index bd324a2..63cef2f 100644
--- a/engines/sword25/gfx/image/renderedimage.h
+++ b/engines/sword25/gfx/image/renderedimage.h
@@ -61,55 +61,55 @@ public:
 	RenderedImage(uint width, uint height, bool &result);
 	RenderedImage();
 
-	virtual ~RenderedImage();
+	~RenderedImage() override;
 
-	virtual int getWidth() const {
+	int getWidth() const override {
 		return _surface.w;
 	}
-	virtual int getHeight() const {
+	int getHeight() const override {
 		return _surface.h;
 	}
-	virtual GraphicEngine::COLOR_FORMATS getColorFormat() const {
+	GraphicEngine::COLOR_FORMATS getColorFormat() const override {
 		return GraphicEngine::CF_ARGB32;
 	}
 
 	void copyDirectly(int posX, int posY);
 
-	virtual bool blit(int posX = 0, int posY = 0,
+	bool blit(int posX = 0, int posY = 0,
 	                  int flipping = Graphics::FLIP_NONE,
 	                  Common::Rect *pPartRect = NULL,
 	                  uint color = BS_ARGB(255, 255, 255, 255),
 	                  int width = -1, int height = -1,
-					  RectangleList *updateRects = 0);
-	virtual bool fill(const Common::Rect *pFillRect, uint color);
-	virtual bool setContent(const byte *pixeldata, uint size, uint offset = 0, uint stride = 0);
+					  RectangleList *updateRects = 0) override;
+	bool fill(const Common::Rect *pFillRect, uint color) override;
+	bool setContent(const byte *pixeldata, uint size, uint offset = 0, uint stride = 0) override;
 	void replaceContent(byte *pixeldata, int width, int height);
-	virtual uint getPixel(int x, int y);
+	uint getPixel(int x, int y) override;
 
-	virtual bool isBlitSource() const {
+	bool isBlitSource() const override {
 		return true;
 	}
-	virtual bool isBlitTarget() const {
+	bool isBlitTarget() const override {
 		return false;
 	}
-	virtual bool isScalingAllowed() const {
+	bool isScalingAllowed() const override {
 		return true;
 	}
-	virtual bool isFillingAllowed() const {
+	bool isFillingAllowed() const override {
 		return false;
 	}
-	virtual bool isAlphaAllowed() const {
+	bool isAlphaAllowed() const override {
 		return true;
 	}
-	virtual bool isColorModulationAllowed() const {
+	bool isColorModulationAllowed() const override {
 		return true;
 	}
-	virtual bool isSetContentAllowed() const {
+	bool isSetContentAllowed() const override {
 		return true;
 	}
 
 	void setIsTransparent(bool isTransparent) { _isTransparent = isTransparent; }
-	virtual bool isSolid() const { return !_isTransparent; }
+	bool isSolid() const override { return !_isTransparent; }
 
 private:
 	Graphics::TransparentSurface _surface;
diff --git a/engines/sword25/gfx/image/swimage.h b/engines/sword25/gfx/image/swimage.h
index 97c6395..1f5fb5e 100644
--- a/engines/sword25/gfx/image/swimage.h
+++ b/engines/sword25/gfx/image/swimage.h
@@ -42,47 +42,47 @@ namespace Sword25 {
 class SWImage : public Image {
 public:
 	SWImage(const Common::String &filename, bool &result);
-	virtual ~SWImage();
+	~SWImage() override;
 
-	virtual int getWidth() const {
+	int getWidth() const override {
 		return _image.w;
 	}
-	virtual int getHeight() const {
+	int getHeight() const override {
 		return _image.h;
 	}
-	virtual GraphicEngine::COLOR_FORMATS getColorFormat() const {
+	GraphicEngine::COLOR_FORMATS getColorFormat() const override {
 		return GraphicEngine::CF_ARGB32;
 	}
 
-	virtual bool blit(int posX = 0, int posY = 0,
+	bool blit(int posX = 0, int posY = 0,
 	                  int flipping = Graphics::FLIP_NONE,
 	                  Common::Rect *pPartRect = NULL,
 	                  uint color = BS_ARGB(255, 255, 255, 255),
 	                  int width = -1, int height = -1,
-					  RectangleList *updateRects = 0);
-	virtual bool fill(const Common::Rect *fillRectPtr, uint color);
-	virtual bool setContent(const byte *pixeldata, uint size, uint offset, uint stride);
-	virtual uint getPixel(int x, int y);
+					  RectangleList *updateRects = 0) override;
+	bool fill(const Common::Rect *fillRectPtr, uint color) override;
+	bool setContent(const byte *pixeldata, uint size, uint offset, uint stride) override;
+	uint getPixel(int x, int y) override;
 
-	virtual bool isBlitSource() const               {
+	bool isBlitSource() const override               {
 		return false;
 	}
-	virtual bool isBlitTarget() const               {
+	bool isBlitTarget() const override               {
 		return false;
 	}
-	virtual bool isScalingAllowed() const           {
+	bool isScalingAllowed() const override           {
 		return false;
 	}
-	virtual bool isFillingAllowed() const           {
+	bool isFillingAllowed() const override           {
 		return false;
 	}
-	virtual bool isAlphaAllowed() const             {
+	bool isAlphaAllowed() const override             {
 		return false;
 	}
-	virtual bool isColorModulationAllowed() const   {
+	bool isColorModulationAllowed() const override   {
 		return false;
 	}
-	virtual bool isSetContentAllowed() const        {
+	bool isSetContentAllowed() const override        {
 		return false;
 	}
 private:
diff --git a/engines/sword25/gfx/image/vectorimage.h b/engines/sword25/gfx/image/vectorimage.h
index b5c2100..302a1e7 100644
--- a/engines/sword25/gfx/image/vectorimage.h
+++ b/engines/sword25/gfx/image/vectorimage.h
@@ -156,7 +156,7 @@ private:
 class VectorImage : public Image {
 public:
 	VectorImage(const byte *pFileData, uint fileSize, bool &success, const Common::String &fname);
-	~VectorImage();
+	~VectorImage() override;
 
 	uint getElementCount() const {
 		return _elements.size();
@@ -172,48 +172,48 @@ public:
 	//
 	// Die abstrakten Methoden von BS_Image
 	//
-	virtual int getWidth() const {
+	int getWidth() const override {
 		return _boundingBox.width();
 	}
-	virtual int getHeight() const {
+	int getHeight() const override {
 		return _boundingBox.height();
 	}
-	virtual GraphicEngine::COLOR_FORMATS getColorFormat() const {
+	GraphicEngine::COLOR_FORMATS getColorFormat() const override {
 		return GraphicEngine::CF_ARGB32;
 	}
-	virtual bool fill(const Common::Rect *pFillRect = 0, uint color = BS_RGB(0, 0, 0));
+	bool fill(const Common::Rect *pFillRect = 0, uint color = BS_RGB(0, 0, 0)) override;
 
 	void render(int width, int height);
 
-	virtual uint getPixel(int x, int y);
-	virtual bool isBlitSource() const {
+	uint getPixel(int x, int y) override;
+	bool isBlitSource() const override {
 		return true;
 	}
-	virtual bool isBlitTarget() const {
+	bool isBlitTarget() const override {
 		return false;
 	}
-	virtual bool isScalingAllowed() const {
+	bool isScalingAllowed() const override {
 		return true;
 	}
-	virtual bool isFillingAllowed() const {
+	bool isFillingAllowed() const override {
 		return false;
 	}
-	virtual bool isAlphaAllowed() const {
+	bool isAlphaAllowed() const override {
 		return true;
 	}
-	virtual bool isColorModulationAllowed() const {
+	bool isColorModulationAllowed() const override {
 		return true;
 	}
-	virtual bool isSetContentAllowed() const {
+	bool isSetContentAllowed() const override {
 		return false;
 	}
-	virtual bool setContent(const byte *pixeldata, uint size, uint offset, uint stride);
-	virtual bool blit(int posX = 0, int posY = 0,
+	bool setContent(const byte *pixeldata, uint size, uint offset, uint stride) override;
+	bool blit(int posX = 0, int posY = 0,
 	                  int flipping = Graphics::FLIP_NONE,
 	                  Common::Rect *pPartRect = NULL,
 	                  uint color = BS_ARGB(255, 255, 255, 255),
 	                  int width = -1, int height = -1,
-					  RectangleList *updateRects = 0);
+					  RectangleList *updateRects = 0) override;
 
 	class SWFBitStream;
 
diff --git a/engines/sword25/gfx/panel.h b/engines/sword25/gfx/panel.h
index 5010cba..4446f49 100644
--- a/engines/sword25/gfx/panel.h
+++ b/engines/sword25/gfx/panel.h
@@ -45,7 +45,7 @@ private:
 	Panel(InputPersistenceBlock &reader, RenderObjectPtr<RenderObject> parentPtr, uint handle);
 
 public:
-	virtual ~Panel();
+	~Panel() override;
 
 	uint getColor() const {
 		return _color;
@@ -57,11 +57,11 @@ public:
 		}
 	}
 
-	virtual bool persist(OutputPersistenceBlock &writer);
-	virtual bool unpersist(InputPersistenceBlock &reader);
+	bool persist(OutputPersistenceBlock &writer) override;
+	bool unpersist(InputPersistenceBlock &reader) override;
 
 protected:
-	virtual bool doRender(RectangleList *updateRects);
+	bool doRender(RectangleList *updateRects) override;
 
 private:
 	uint32 _color;
diff --git a/engines/sword25/gfx/renderobjectmanager.h b/engines/sword25/gfx/renderobjectmanager.h
index c56e49a..7bba094 100644
--- a/engines/sword25/gfx/renderobjectmanager.h
+++ b/engines/sword25/gfx/renderobjectmanager.h
@@ -85,7 +85,7 @@ public:
 	    @param Die Anzahl an Framebuffern, die eingesetzt wird (Backbuffer + Primary).
 	*/
 	RenderObjectManager(int width, int height, int framebufferCount);
-	virtual ~RenderObjectManager();
+	~RenderObjectManager() override;
 
 	// Interface
 	// ---------
@@ -123,8 +123,8 @@ public:
 	*/
 	void detatchTimedRenderObject(RenderObjectPtr<TimedRenderObject> pRenderObject);
 
-	virtual bool persist(OutputPersistenceBlock &writer);
-	virtual bool unpersist(InputPersistenceBlock &reader);
+	bool persist(OutputPersistenceBlock &writer) override;
+	bool unpersist(InputPersistenceBlock &reader) override;
 
 private:
 	bool _frameStarted;
diff --git a/engines/sword25/gfx/rootrenderobject.h b/engines/sword25/gfx/rootrenderobject.h
index 608af8f..53a07b4 100644
--- a/engines/sword25/gfx/rootrenderobject.h
+++ b/engines/sword25/gfx/rootrenderobject.h
@@ -59,7 +59,7 @@ private:
 	}
 
 protected:
-	virtual bool doRender(RectangleList *updateRects) {
+	bool doRender(RectangleList *updateRects) override {
 		return true;
 	}
 };
diff --git a/engines/sword25/gfx/staticbitmap.h b/engines/sword25/gfx/staticbitmap.h
index 4ded60a..37b634e 100644
--- a/engines/sword25/gfx/staticbitmap.h
+++ b/engines/sword25/gfx/staticbitmap.h
@@ -48,24 +48,24 @@ private:
 	StaticBitmap(InputPersistenceBlock &reader, RenderObjectPtr<RenderObject> parentPtr, uint handle);
 
 public:
-	virtual ~StaticBitmap();
+	~StaticBitmap() override;
 
-	virtual uint getPixel(int x, int y) const;
+	uint getPixel(int x, int y) const override;
 
-	virtual bool setContent(const byte *pixeldata, uint size, uint offset, uint stride);
+	bool setContent(const byte *pixeldata, uint size, uint offset, uint stride) override;
 
-	virtual bool isScalingAllowed() const;
-	virtual bool isAlphaAllowed() const;
-	virtual bool isColorModulationAllowed() const;
-	virtual bool isSetContentAllowed() const {
+	bool isScalingAllowed() const override;
+	bool isAlphaAllowed() const override;
+	bool isColorModulationAllowed() const override;
+	bool isSetContentAllowed() const override {
 		return false;
 	}
 
-	virtual bool persist(OutputPersistenceBlock &writer);
-	virtual bool unpersist(InputPersistenceBlock &reader);
+	bool persist(OutputPersistenceBlock &writer) override;
+	bool unpersist(InputPersistenceBlock &reader) override;
 
 protected:
-	virtual bool doRender(RectangleList *updateRects);
+	bool doRender(RectangleList *updateRects) override;
 
 private:
 	Common::String _resourceFilename;
diff --git a/engines/sword25/gfx/text.h b/engines/sword25/gfx/text.h
index 0187643..852087e 100644
--- a/engines/sword25/gfx/text.h
+++ b/engines/sword25/gfx/text.h
@@ -132,11 +132,11 @@ public:
 		return _autoWrapThreshold;
 	}
 
-	virtual bool  persist(OutputPersistenceBlock &writer);
-	virtual bool  unpersist(InputPersistenceBlock &reader);
+	bool  persist(OutputPersistenceBlock &writer) override;
+	bool  unpersist(InputPersistenceBlock &reader) override;
 
 protected:
-	virtual bool doRender(RectangleList *updateRects);
+	bool doRender(RectangleList *updateRects) override;
 
 private:
 	Text(RenderObjectPtr<RenderObject> parentPtr);
diff --git a/engines/sword25/gfx/timedrenderobject.h b/engines/sword25/gfx/timedrenderobject.h
index 387cd21..14c3973 100644
--- a/engines/sword25/gfx/timedrenderobject.h
+++ b/engines/sword25/gfx/timedrenderobject.h
@@ -41,7 +41,7 @@ namespace Sword25 {
 class TimedRenderObject : public RenderObject {
 public:
 	TimedRenderObject(RenderObjectPtr<RenderObject> pParent, TYPES type, uint handle = 0);
-	~TimedRenderObject();
+	~TimedRenderObject() override;
 
 	/**
 	    @brief Teilt dem Objekt mit, dass ein neuer Frame begonnen wird.
diff --git a/engines/sword25/input/inputengine.h b/engines/sword25/input/inputengine.h
index c5ef40c..60240ad 100644
--- a/engines/sword25/input/inputengine.h
+++ b/engines/sword25/input/inputengine.h
@@ -55,7 +55,7 @@ namespace Sword25 {
 class InputEngine : public Service, public Persistable {
 public:
 	InputEngine(Kernel *pKernel);
-	~InputEngine();
+	~InputEngine() override;
 
 	// NOTE: These codes are registered in inputengine_script.cpp
 	// If you add or remove entries of this enum, you must also adjust
@@ -274,8 +274,8 @@ public:
 	void reportCharacter(byte character);
 	void reportCommand(KEY_COMMANDS command);
 
-	bool persist(OutputPersistenceBlock &writer);
-	bool unpersist(InputPersistenceBlock &reader);
+	bool persist(OutputPersistenceBlock &writer) override;
+	bool unpersist(InputPersistenceBlock &reader) override;
 
 private:
 	bool registerScriptBindings();
diff --git a/engines/sword25/input/inputengine_script.cpp b/engines/sword25/input/inputengine_script.cpp
index 17b0584..ef24338 100644
--- a/engines/sword25/input/inputengine_script.cpp
+++ b/engines/sword25/input/inputengine_script.cpp
@@ -69,7 +69,7 @@ public:
 	InputEngine::KEY_COMMANDS _command;
 
 protected:
-	int preFunctionInvokation(lua_State *L) {
+	int preFunctionInvokation(lua_State *L) override {
 		lua_pushnumber(L, _command);
 		return 1;
 	}
diff --git a/engines/sword25/kernel/resservice.h b/engines/sword25/kernel/resservice.h
index 11b0b82..d03d1bf 100644
--- a/engines/sword25/kernel/resservice.h
+++ b/engines/sword25/kernel/resservice.h
@@ -48,7 +48,7 @@ public:
 		pResource->registerResourceService(this);
 	}
 
-	virtual ~ResourceService() {}
+	~ResourceService() override {}
 
 	/**
 	 * Loads a resource
diff --git a/engines/sword25/math/geometry.h b/engines/sword25/math/geometry.h
index 1539a93..f5303b7 100644
--- a/engines/sword25/math/geometry.h
+++ b/engines/sword25/math/geometry.h
@@ -46,7 +46,7 @@ public:
 			error("Script bindings could not be registered.");
 	}
 
-	virtual ~Geometry() {}
+	~Geometry() override {}
 
 private:
 	bool registerScriptBindings();
diff --git a/engines/sword25/math/polygon.h b/engines/sword25/math/polygon.h
index 3cb2286..a9c52de 100644
--- a/engines/sword25/math/polygon.h
+++ b/engines/sword25/math/polygon.h
@@ -75,7 +75,7 @@ public:
 	/**
 	 * Deletes the BS_Polygon object
 	 */
-	virtual ~Polygon();
+	~Polygon() override;
 
 	/**
 	 * Initializes the BS_Polygon with a list of Vertecies.
@@ -173,8 +173,8 @@ public:
 	/// COntains the Vertecies of the polygon
 	Vertex *vertices;
 
-	virtual bool persist(OutputPersistenceBlock &writer);
-	virtual bool unpersist(InputPersistenceBlock &reader);
+	bool persist(OutputPersistenceBlock &writer) override;
+	bool unpersist(InputPersistenceBlock &reader) override;
 
 	Polygon &operator=(const Polygon &p) {
 		init(p.vertexCount, p.vertices);
diff --git a/engines/sword25/math/region.h b/engines/sword25/math/region.h
index a61c0c4..722392d 100644
--- a/engines/sword25/math/region.h
+++ b/engines/sword25/math/region.h
@@ -70,7 +70,7 @@ public:
 	static uint create(REGION_TYPE type);
 	static uint create(InputPersistenceBlock &reader, uint handle = 0);
 
-	virtual ~Region();
+	~Region() override;
 
 	/**
 	 * Initializes a BS_Region object
@@ -197,8 +197,8 @@ public:
 	// Manipulation Methods
 	//
 
-	virtual bool persist(OutputPersistenceBlock &writer);
-	virtual bool unpersist(InputPersistenceBlock &reader);
+	bool persist(OutputPersistenceBlock &writer) override;
+	bool unpersist(InputPersistenceBlock &reader) override;
 
 protected:
 	/// This specifies the type of object
diff --git a/engines/sword25/math/regionregistry.h b/engines/sword25/math/regionregistry.h
index 04a96c5..d778605 100644
--- a/engines/sword25/math/regionregistry.h
+++ b/engines/sword25/math/regionregistry.h
@@ -47,8 +47,8 @@ class RegionRegistry :
 			public Persistable,
 			public Common::Singleton<RegionRegistry> {
 public:
-	virtual bool persist(OutputPersistenceBlock &writer);
-	virtual bool unpersist(InputPersistenceBlock &reader);
+	bool persist(OutputPersistenceBlock &writer) override;
+	bool unpersist(InputPersistenceBlock &reader) override;
 };
 
 } // End of namespace Sword25
diff --git a/engines/sword25/math/walkregion.h b/engines/sword25/math/walkregion.h
index 9a3b6e6..be71325 100644
--- a/engines/sword25/math/walkregion.h
+++ b/engines/sword25/math/walkregion.h
@@ -51,9 +51,9 @@ protected:
 	WalkRegion(InputPersistenceBlock &Reader, uint handle);
 
 public:
-	virtual ~WalkRegion();
+	~WalkRegion() override;
 
-	virtual bool init(const Polygon &contour, const Common::Array<Polygon> *pHoles = 0);
+	bool init(const Polygon &contour, const Common::Array<Polygon> *pHoles = 0) override;
 
 	/**
 	 * Get the shortest path between two points in the region
@@ -83,7 +83,7 @@ public:
 	*/
 	bool queryPath(Vertex startPoint, Vertex endPoint, BS_Path &path);
 
-	virtual void setPos(int x, int y);
+	void setPos(int x, int y) override;
 
 	const Common::Array<Vertex> &getNodes() const {
 		return _nodes;
@@ -92,8 +92,8 @@ public:
 		return _visibilityMatrix;
 	}
 
-	virtual bool persist(OutputPersistenceBlock &writer);
-	virtual bool unpersist(InputPersistenceBlock &reader);
+	bool persist(OutputPersistenceBlock &writer) override;
+	bool unpersist(InputPersistenceBlock &reader) override;
 
 private:
 	Common::Array<Vertex> _nodes;
diff --git a/engines/sword25/package/packagemanager.h b/engines/sword25/package/packagemanager.h
index 72e15e6..c79734c 100644
--- a/engines/sword25/package/packagemanager.h
+++ b/engines/sword25/package/packagemanager.h
@@ -95,7 +95,7 @@ private:
 
 public:
 	PackageManager(Kernel *pKernel);
-	~PackageManager();
+	~PackageManager() override;
 
 	enum FILE_TYPES {
 		FT_DIRECTORY    = (1 << 0),
diff --git a/engines/sword25/script/luascript.h b/engines/sword25/script/luascript.h
index a13a507..8a32764 100644
--- a/engines/sword25/script/luascript.h
+++ b/engines/sword25/script/luascript.h
@@ -46,33 +46,33 @@ class Kernel;
 class LuaScriptEngine : public ScriptEngine {
 public:
 	LuaScriptEngine(Kernel *KernelPtr);
-	virtual ~LuaScriptEngine();
+	~LuaScriptEngine() override;
 
 	/**
 	 * Initializes the scripting engine
 	 * @return              Returns true if successful, otherwise false.
 	*/
-	virtual bool init();
+	bool init() override;
 
 	/**
 	 * Loads a script file and executes it
 	 * @param FileName      The filename of the script
 	 * @return              Returns true if successful, otherwise false.
 	 */
-	virtual bool executeFile(const Common::String &fileName);
+	bool executeFile(const Common::String &fileName) override;
 
 	/**
 	 * Execute a string of script code
 	 * @param Code          A string of script code
 	 * @return              Returns true if successful, otherwise false.
 	 */
-	virtual bool executeString(const Common::String &code);
+	bool executeString(const Common::String &code) override;
 
 	/**
 	 * Returns a pointer to the main object of the scripting language
 	 * @remark              Using this method breaks the encapsulation of the language
 	 */
-	virtual void *getScriptObject() {
+	void *getScriptObject() override {
 		return _state;
 	}
 
@@ -82,16 +82,16 @@ public:
 	 * @remark              How the command line parameters will be used by scripts is
 	 * dependant on the particular implementation.
 	 */
-	virtual void setCommandLine(const Common::StringArray &commandLineParameters);
+	void setCommandLine(const Common::StringArray &commandLineParameters) override;
 
 	/**
 	 * @remark              The Lua stack is cleared by this method
 	 */
-	virtual bool persist(OutputPersistenceBlock &writer);
+	bool persist(OutputPersistenceBlock &writer) override;
 	/**
 	 * @remark              The Lua stack is cleared by this method
 	 */
-	virtual bool unpersist(InputPersistenceBlock &reader);
+	bool unpersist(InputPersistenceBlock &reader) override;
 
 private:
 	lua_State *_state;
diff --git a/engines/sword25/script/script.h b/engines/sword25/script/script.h
index 8f9c00a..84701aa 100644
--- a/engines/sword25/script/script.h
+++ b/engines/sword25/script/script.h
@@ -47,7 +47,7 @@ class BS_InputPersistenceBlock;
 class ScriptEngine : public Service, public Persistable {
 public:
 	ScriptEngine(Kernel *KernelPtr) : Service(KernelPtr) {}
-	virtual ~ScriptEngine() {}
+	~ScriptEngine() override {}
 
 	// -----------------------------------------------------------------------------
 	// This method must be implemented by the script engine
@@ -84,8 +84,8 @@ public:
 	*/
 	virtual void setCommandLine(const Common::Array<Common::String> &commandLineParameters) = 0;
 
-	virtual bool persist(OutputPersistenceBlock &writer) = 0;
-	virtual bool unpersist(InputPersistenceBlock &reader) = 0;
+	bool persist(OutputPersistenceBlock &writer) override = 0;
+	bool unpersist(InputPersistenceBlock &reader) override = 0;
 };
 
 } // End of namespace Sword25
diff --git a/engines/sword25/sfx/soundengine.cpp b/engines/sword25/sfx/soundengine.cpp
index 2e7b41c..41edaa5 100644
--- a/engines/sword25/sfx/soundengine.cpp
+++ b/engines/sword25/sfx/soundengine.cpp
@@ -47,7 +47,7 @@ namespace Sword25 {
 class SoundResource : public Resource {
 public:
 	SoundResource(const Common::String &fileName) : Resource(fileName, Resource::TYPE_SOUND), _fname(fileName) {}
-	virtual ~SoundResource() {
+	~SoundResource() override {
 		debugC(1, kDebugSound, "SoundResource: Unloading file %s", _fname.c_str());
 	}
 
diff --git a/engines/sword25/sfx/soundengine.h b/engines/sword25/sfx/soundengine.h
index 9b4b329..07595d8 100644
--- a/engines/sword25/sfx/soundengine.h
+++ b/engines/sword25/sfx/soundengine.h
@@ -95,7 +95,7 @@ public:
 	typedef void (*DynamicSoundReadCallback)(void *UserData, void *Data, uint DataLength);
 
 	SoundEngine(Kernel *pKernel);
-	~SoundEngine() {}
+	~SoundEngine() override {}
 
 	/**
 	 * Initializes the sound engine
@@ -245,11 +245,11 @@ public:
 	 */
 	float getSoundPanning(uint handle);
 
-	Resource    *loadResource(const Common::String &fileName);
-	bool         canLoadResource(const Common::String &fileName);
+	Resource    *loadResource(const Common::String &fileName) override;
+	bool         canLoadResource(const Common::String &fileName) override;
 
-	bool persist(OutputPersistenceBlock &writer);
-	bool unpersist(InputPersistenceBlock &reader);
+	bool persist(OutputPersistenceBlock &writer) override;
+	bool unpersist(InputPersistenceBlock &reader) override;
 
 private:
 	bool registerScriptBindings();
diff --git a/engines/sword25/sword25.h b/engines/sword25/sword25.h
index 6ea7ef6..697c503 100644
--- a/engines/sword25/sword25.h
+++ b/engines/sword25/sword25.h
@@ -77,7 +77,7 @@ private:
 	Sword25Console *_console;
 
 protected:
-	virtual Common::Error run() override;
+	Common::Error run() override;
 	bool hasFeature(EngineFeature f) const override;
 // 	void pauseEngineIntern(bool pause);	// TODO: Implement this!!!
 // 	void syncSoundSettings();	// TODO: Implement this!!!
@@ -92,7 +92,7 @@ protected:
 
 public:
 	Sword25Engine(OSystem *syst, const ADGameDescription *gameDesc);
-	virtual ~Sword25Engine();
+	~Sword25Engine() override;
 
 	uint32 getGameFlags() const;
 


Commit: ea9425de165919720ea9f5c1ae3e88d2c55d3673
    https://github.com/scummvm/scummvm/commit/ea9425de165919720ea9f5c1ae3e88d2c55d3673
Author: Bastien Bouclet (bastien.bouclet at gmail.com)
Date: 2020-02-09T12:43:16+01:00

Commit Message:
TEENAGENT: Add override keywords

Changed paths:
    engines/teenagent/detection.cpp
    engines/teenagent/music.h
    engines/teenagent/pack.h
    engines/teenagent/teenagent.h


diff --git a/engines/teenagent/detection.cpp b/engines/teenagent/detection.cpp
index 4577598..4a5de27 100644
--- a/engines/teenagent/detection.cpp
+++ b/engines/teenagent/detection.cpp
@@ -90,19 +90,19 @@ public:
 	TeenAgentMetaEngine() : AdvancedMetaEngine(teenAgentGameDescriptions, sizeof(ADGameDescription), teenAgentGames) {
 	}
 
-	const char *getEngineId() const {
+	const char *getEngineId() const override {
 		return "teenagent";
 	}
 
-	virtual const char *getName() const {
+	const char *getName() const override {
 		return "TeenAgent";
 	}
 
-	virtual const char *getOriginalCopyright() const {
+	const char *getOriginalCopyright() const override {
 		return "TEENAGENT (C) 1994 Metropolis";
 	}
 
-	virtual bool hasFeature(MetaEngineFeature f) const {
+	bool hasFeature(MetaEngineFeature f) const override {
 		switch (f) {
 		case kSupportsListSaves:
 		case kSupportsDeleteSave:
@@ -115,7 +115,7 @@ public:
 		}
 	}
 
-	virtual bool createInstance(OSystem *syst, Engine **engine, const ADGameDescription *desc) const {
+	bool createInstance(OSystem *syst, Engine **engine, const ADGameDescription *desc) const override {
 		if (desc) {
 			*engine = new TeenAgent::TeenAgentEngine(syst, desc);
 		}
@@ -126,7 +126,7 @@ public:
 		return Common::String::format("%s.%02d", target, slot);
 	}
 
-	virtual SaveStateList listSaves(const char *target) const {
+	SaveStateList listSaves(const char *target) const override {
 		Common::String pattern = target;
 		pattern += ".##";
 
@@ -152,16 +152,16 @@ public:
 		return saveList;
 	}
 
-	virtual int getMaximumSaveSlot() const {
+	int getMaximumSaveSlot() const override {
 		return MAX_SAVES - 1;
 	}
 
-	virtual void removeSaveState(const char *target, int slot) const {
+	void removeSaveState(const char *target, int slot) const override {
 		Common::String filename = generateGameStateFileName(target, slot);
 		g_system->getSavefileManager()->removeSavefile(filename);
 	}
 
-	virtual SaveStateDescriptor querySaveMetaInfos(const char *target, int slot) const {
+	SaveStateDescriptor querySaveMetaInfos(const char *target, int slot) const override {
 		Common::String filename = generateGameStateFileName(target, slot);
 		Common::ScopedPtr<Common::InSaveFile> in(g_system->getSavefileManager()->openForLoading(filename));
 		if (!in)
diff --git a/engines/teenagent/music.h b/engines/teenagent/music.h
index 4b1b683..6589232 100644
--- a/engines/teenagent/music.h
+++ b/engines/teenagent/music.h
@@ -33,7 +33,7 @@ class TeenAgentEngine;
 class MusicPlayer : public Audio::Paula {
 public:
 	MusicPlayer(TeenAgentEngine *vm);
-	~MusicPlayer();
+	~MusicPlayer() override;
 
 	bool load(int id);
 	int getId() const { return _id; }
@@ -78,7 +78,7 @@ private:
 	Common::Array<Row> _rows;
 	uint _currRow;
 
-	void interrupt();
+	void interrupt() override;
 };
 
 } // End of namespace Teen
diff --git a/engines/teenagent/pack.h b/engines/teenagent/pack.h
index 3607bae..4a06bf1 100644
--- a/engines/teenagent/pack.h
+++ b/engines/teenagent/pack.h
@@ -51,14 +51,14 @@ class FilePack : public Pack {
 
 public:
 	FilePack();
-	~FilePack();
+	~FilePack() override;
 
-	virtual bool open(const Common::String &filename);
-	virtual void close();
+	bool open(const Common::String &filename) override;
+	void close() override;
 
-	virtual uint32 getSize(uint32 id) const;
-	virtual uint32 read(uint32 id, byte *dst, uint32 size) const;
-	virtual Common::SeekableReadStream *getStream(uint32 id) const;
+	uint32 getSize(uint32 id) const override;
+	uint32 read(uint32 id, byte *dst, uint32 size) const override;
+	Common::SeekableReadStream *getStream(uint32 id) const override;
 };
 
 /** Pack file which reopens file each request. Do not keep file descriptor open.
@@ -70,14 +70,14 @@ class TransientFilePack : public Pack {
 
 public:
 	TransientFilePack();
-	~TransientFilePack();
+	~TransientFilePack() override;
 
-	virtual bool open(const Common::String &filename);
-	virtual void close();
+	bool open(const Common::String &filename) override;
+	void close() override;
 
-	virtual uint32 getSize(uint32 id) const;
-	virtual uint32 read(uint32 id, byte *dst, uint32 size) const;
-	virtual Common::SeekableReadStream *getStream(uint32 id) const;
+	uint32 getSize(uint32 id) const override;
+	uint32 read(uint32 id, byte *dst, uint32 size) const override;
+	Common::SeekableReadStream *getStream(uint32 id) const override;
 };
 
 ///MemoryPack loads whole pack in memory, currently unused.
@@ -103,12 +103,12 @@ class MemoryPack : public Pack {
 	Common::Array<Chunk> chunks;
 
 public:
-	virtual bool open(const Common::String &filename);
-	virtual void close();
+	bool open(const Common::String &filename) override;
+	void close() override;
 
-	virtual uint32 getSize(uint32 id) const;
-	virtual uint32 read(uint32 id, byte *dst, uint32 size) const;
-	virtual Common::SeekableReadStream *getStream(uint32 id) const;
+	uint32 getSize(uint32 id) const override;
+	uint32 read(uint32 id, byte *dst, uint32 size) const override;
+	Common::SeekableReadStream *getStream(uint32 id) const override;
 };
 
 } // End of namespace TeenAgent
diff --git a/engines/teenagent/teenagent.h b/engines/teenagent/teenagent.h
index 852d4a1..f42e18d 100644
--- a/engines/teenagent/teenagent.h
+++ b/engines/teenagent/teenagent.h
@@ -84,14 +84,14 @@ const uint16 kScreenHeight = 200;
 class TeenAgentEngine : public Engine {
 public:
 	TeenAgentEngine(OSystem *system, const ADGameDescription *gd);
-	~TeenAgentEngine();
-
-	virtual Common::Error run() override;
-	virtual Common::Error loadGameState(int slot) override;
-	virtual Common::Error saveGameState(int slot, const Common::String &desc) override;
-	virtual bool canLoadGameStateCurrently() override { return true; }
-	virtual bool canSaveGameStateCurrently() override { return !_sceneBusy; }
-	virtual bool hasFeature(EngineFeature f) const override;
+	~TeenAgentEngine() override;
+
+	Common::Error run() override;
+	Common::Error loadGameState(int slot) override;
+	Common::Error saveGameState(int slot, const Common::String &desc) override;
+	bool canLoadGameStateCurrently() override { return true; }
+	bool canSaveGameStateCurrently() override { return !_sceneBusy; }
+	bool hasFeature(EngineFeature f) const override;
 
 	GUI::Debugger *getDebugger() override { return console; }
 


Commit: 1ef3e3fe3ef0764bb2f7bfd925e4136e12c7c811
    https://github.com/scummvm/scummvm/commit/1ef3e3fe3ef0764bb2f7bfd925e4136e12c7c811
Author: Bastien Bouclet (bastien.bouclet at gmail.com)
Date: 2020-02-09T12:43:16+01:00

Commit Message:
TESTBED: Add override keywords

Changed paths:
    engines/testbed/cloud.h
    engines/testbed/config.h
    engines/testbed/detection.cpp
    engines/testbed/encoding.h
    engines/testbed/events.h
    engines/testbed/fs.h
    engines/testbed/graphics.h
    engines/testbed/midi.h
    engines/testbed/misc.h
    engines/testbed/savegame.h
    engines/testbed/sound.h
    engines/testbed/speech.h
    engines/testbed/testbed.h
    engines/testbed/webserver.h


diff --git a/engines/testbed/cloud.h b/engines/testbed/cloud.h
index f27b61f..3a4a27b 100644
--- a/engines/testbed/cloud.h
+++ b/engines/testbed/cloud.h
@@ -67,12 +67,12 @@ public:
 	 * @see addTest()
 	 */
 	CloudTestSuite();
-	~CloudTestSuite() {}
-	const char *getName() const {
+	~CloudTestSuite() override {}
+	const char *getName() const override {
 		return "Cloud";
 	}
 
-	const char *getDescription() const {
+	const char *getDescription() const override {
 		return "CloudMan, Storage API tests";
 	}
 
diff --git a/engines/testbed/config.h b/engines/testbed/config.h
index 738f07a..ac48486 100644
--- a/engines/testbed/config.h
+++ b/engines/testbed/config.h
@@ -100,8 +100,8 @@ private:
 class TestbedOptionsDialog : public GUI::Dialog {
 public:
 	TestbedOptionsDialog(Common::Array<Testsuite *> &tsList, TestbedConfigManager *tsConfMan);
-	~TestbedOptionsDialog();
-	void handleCommand(GUI::CommandSender *sender, uint32 cmd, uint32 data);
+	~TestbedOptionsDialog() override;
+	void handleCommand(GUI::CommandSender *sender, uint32 cmd, uint32 data) override;
 
 private:
 	GUI::ListWidget::ColorList _colors;
@@ -115,8 +115,8 @@ private:
 class TestbedInteractionDialog : public GUI::Dialog {
 public:
 	TestbedInteractionDialog(uint x, uint y, uint w, uint h) : GUI::Dialog(x, y, w, h), _xOffset(0), _yOffset(0) {}
-	~TestbedInteractionDialog() {}
-	virtual void handleCommand(GUI::CommandSender *sender, uint32 cmd, uint32 data);
+	~TestbedInteractionDialog() override {}
+	void handleCommand(GUI::CommandSender *sender, uint32 cmd, uint32 data) override;
 	void addButton(uint w, uint h, const Common::String name, uint32 cmd, uint xOffset = 0, uint yPadding = 8);
 	void addButtonXY(uint x, uint y, uint w, uint h, const Common::String name, uint32 cmd);
 	void addText(uint w, uint h, const Common::String text, Graphics::TextAlign textAlign, uint xOffset, uint yPadding = 8);
diff --git a/engines/testbed/detection.cpp b/engines/testbed/detection.cpp
index a9dab61..5753787 100644
--- a/engines/testbed/detection.cpp
+++ b/engines/testbed/detection.cpp
@@ -51,25 +51,25 @@ public:
 		_md5Bytes = 512;
 	}
 
-	const char *getEngineId() const {
+	const char *getEngineId() const override {
 		return "testbed";
 	}
 
-	virtual const char *getName() const {
+	const char *getName() const override {
 		return "TestBed: The Backend Testing Framework";
 	}
 
-	virtual const char *getOriginalCopyright() const {
+	const char *getOriginalCopyright() const override {
 		return "Copyright (C) ScummVM";
 	}
 
-	virtual bool createInstance(OSystem *syst, Engine **engine, const ADGameDescription * /* desc */) const {
+	bool createInstance(OSystem *syst, Engine **engine, const ADGameDescription * /* desc */) const override {
 		// Instantiate Engine even if the game data is not found.
 		*engine = new Testbed::TestbedEngine(syst);
 		return true;
 	}
 
-	virtual bool hasFeature(MetaEngineFeature f) const override {
+	bool hasFeature(MetaEngineFeature f) const override {
 		return false;
 	}
 };
diff --git a/engines/testbed/encoding.h b/engines/testbed/encoding.h
index 2c0f2e1..f6ad41d 100644
--- a/engines/testbed/encoding.h
+++ b/engines/testbed/encoding.h
@@ -54,12 +54,12 @@ public:
 	 * @see addTest()
 	 */
 	EncodingTestSuite();
-	~EncodingTestSuite() {}
-	const char *getName() const {
+	~EncodingTestSuite() override {}
+	const char *getName() const override {
 		return "Encoding";
 	}
 
-	const char *getDescription() const {
+	const char *getDescription() const override {
 		return "Encoding conversion";
 	}
 
diff --git a/engines/testbed/events.h b/engines/testbed/events.h
index f8883ec..96158e0 100644
--- a/engines/testbed/events.h
+++ b/engines/testbed/events.h
@@ -51,11 +51,11 @@ public:
 	 * @see addTest()
 	 */
 	EventTestSuite();
-	~EventTestSuite() {}
-	const char *getName() const {
+	~EventTestSuite() override {}
+	const char *getName() const override {
 		return "Events";
 	}
-	const char *getDescription() const {
+	const char *getDescription() const override {
 		return "Events : Keyboard/Mouse/RTL";
 	}
 };
diff --git a/engines/testbed/fs.h b/engines/testbed/fs.h
index 690e601..2f83b6e 100644
--- a/engines/testbed/fs.h
+++ b/engines/testbed/fs.h
@@ -58,14 +58,14 @@ public:
 	 * @see addTest()
 	 */
 	FSTestSuite();
-	~FSTestSuite() {}
-	const char *getName() const {
+	~FSTestSuite() override {}
+	const char *getName() const override {
 		return "FS";
 	}
-	const char *getDescription() const {
+	const char *getDescription() const override {
 		return "File system tests (Navigation, Read/Write)";
 	}
-	void enable(bool flag);
+	void enable(bool flag) override;
 };
 
 } // End of namespace Testbed
diff --git a/engines/testbed/graphics.h b/engines/testbed/graphics.h
index 9cbf6b2..15622e4 100644
--- a/engines/testbed/graphics.h
+++ b/engines/testbed/graphics.h
@@ -68,11 +68,11 @@ public:
 	 * @see addTest()
 	 */
 	GFXTestSuite();
-	~GFXTestSuite() {}
-	const char *getName() const {
+	~GFXTestSuite() override {}
+	const char *getName() const override {
 		return "GFX";
 	}
-	const char *getDescription() const {
+	const char *getDescription() const override {
 		return "Graphics Subsystem";
 	}
 	static void setCustomColor(uint r, uint g, uint b);
diff --git a/engines/testbed/midi.h b/engines/testbed/midi.h
index 5ed0a73..4c5c12d 100644
--- a/engines/testbed/midi.h
+++ b/engines/testbed/midi.h
@@ -58,16 +58,16 @@ public:
 	 * @see addTest()
 	 */
 	MidiTestSuite();
-	~MidiTestSuite() {}
-	const char *getName() const {
+	~MidiTestSuite() override {}
+	const char *getName() const override {
 		return "MIDI";
 	}
 
-	const char *getDescription() const {
+	const char *getDescription() const override {
 		return "Midi Music";
 	}
 
-	void enable(bool flag);
+	void enable(bool flag) override;
 
 private:
 	bool _isMidiDataFound;
diff --git a/engines/testbed/misc.h b/engines/testbed/misc.h
index adfc322..2b232ea 100644
--- a/engines/testbed/misc.h
+++ b/engines/testbed/misc.h
@@ -65,11 +65,11 @@ public:
 	 * @see addTest()
 	 */
 	MiscTestSuite();
-	~MiscTestSuite() {}
-	const char *getName() const {
+	~MiscTestSuite() override {}
+	const char *getName() const override {
 		return "Misc";
 	}
-	const char *getDescription() const {
+	const char *getDescription() const override {
 		return "Miscellaneous: Timers/Mutexes/Datetime/openUrl";
 	}
 };
diff --git a/engines/testbed/savegame.h b/engines/testbed/savegame.h
index b242ee5..39df22b 100644
--- a/engines/testbed/savegame.h
+++ b/engines/testbed/savegame.h
@@ -53,11 +53,11 @@ public:
 	 * @see addTest()
 	 */
 	SaveGameTestSuite();
-	~SaveGameTestSuite() {}
-	const char *getName() const {
+	~SaveGameTestSuite() override {}
+	const char *getName() const override {
 		return "SaveGames";
 	}
-	const char *getDescription() const {
+	const char *getDescription() const override {
 		return "Saving Game state tests";
 	}
 };
diff --git a/engines/testbed/sound.h b/engines/testbed/sound.h
index 5de8877..1dd479a 100644
--- a/engines/testbed/sound.h
+++ b/engines/testbed/sound.h
@@ -32,8 +32,8 @@ namespace Testbed {
 class SoundSubsystemDialog : public TestbedInteractionDialog {
 public:
 	SoundSubsystemDialog();
-	~SoundSubsystemDialog() {}
-	void handleCommand(GUI::CommandSender *sender, uint32 cmd, uint32 data);
+	~SoundSubsystemDialog() override {}
+	void handleCommand(GUI::CommandSender *sender, uint32 cmd, uint32 data) override;
 	Audio::Mixer *_mixer;
 	Audio::SoundHandle _h1, _h2, _h3;
 };
@@ -60,13 +60,13 @@ public:
 	 * @see addTest()
 	 */
 	SoundSubsystemTestSuite();
-	~SoundSubsystemTestSuite() {}
+	~SoundSubsystemTestSuite() override {}
 
-	const char *getName() const {
+	const char *getName() const override {
 		return "SoundSubsystem";
 	}
 
-	const char *getDescription() const {
+	const char *getDescription() const override {
 		return "Sound Subsystem";
 	}
 };
diff --git a/engines/testbed/speech.h b/engines/testbed/speech.h
index 96df9a3..37cdd9a 100644
--- a/engines/testbed/speech.h
+++ b/engines/testbed/speech.h
@@ -65,12 +65,12 @@ public:
 	 * @see addTest()
 	 */
 	SpeechTestSuite();
-	~SpeechTestSuite() {}
-	const char *getName() const {
+	~SpeechTestSuite() override {}
+	const char *getName() const override {
 		return "Speech";
 	}
 
-	const char *getDescription() const {
+	const char *getDescription() const override {
 		return "Speech Subsystem";
 	}
 
diff --git a/engines/testbed/testbed.h b/engines/testbed/testbed.h
index 250f076..04c6bbf 100644
--- a/engines/testbed/testbed.h
+++ b/engines/testbed/testbed.h
@@ -43,9 +43,9 @@ enum {
 class TestbedEngine : public Engine {
 public:
 	TestbedEngine(OSystem *syst);
-	~TestbedEngine();
+	~TestbedEngine() override;
 
-	virtual Common::Error run() override;
+	Common::Error run() override;
 
 	/**
 	 * Invokes configured testsuites.
@@ -62,9 +62,9 @@ class TestbedExitDialog : public TestbedInteractionDialog {
 public:
 	TestbedExitDialog(Common::Array<Testsuite *> &testsuiteList) : TestbedInteractionDialog(80, 40, 500, 330),
 	_testsuiteList(testsuiteList) {}
-	~TestbedExitDialog() {}
+	~TestbedExitDialog() override {}
 	void init();
-	void handleCommand(GUI::CommandSender *sender, uint32 cmd, uint32 data);
+	void handleCommand(GUI::CommandSender *sender, uint32 cmd, uint32 data) override;
 	void run() { runModal(); }
 private:
 	Common::Array<Testsuite *> &_testsuiteList;
diff --git a/engines/testbed/webserver.h b/engines/testbed/webserver.h
index 3f30834..b0b868f 100644
--- a/engines/testbed/webserver.h
+++ b/engines/testbed/webserver.h
@@ -53,12 +53,12 @@ public:
 	 * @see addTest()
 	 */
 	WebserverTestSuite();
-	~WebserverTestSuite() {}
-	const char *getName() const {
+	~WebserverTestSuite() override {}
+	const char *getName() const override {
 		return "Webserver";
 	}
 
-	const char *getDescription() const {
+	const char *getDescription() const override {
 		return "Webserver tests";
 	}
 


Commit: b700f1fcd1d799ca113d323b463f884cedb445e5
    https://github.com/scummvm/scummvm/commit/b700f1fcd1d799ca113d323b463f884cedb445e5
Author: Bastien Bouclet (bastien.bouclet at gmail.com)
Date: 2020-02-09T12:43:16+01:00

Commit Message:
TINSEL: Add override keywords

Changed paths:
    engines/tinsel/adpcm.h
    engines/tinsel/debugger.h
    engines/tinsel/detection.cpp
    engines/tinsel/drives.h
    engines/tinsel/music.h
    engines/tinsel/tinsel.h


diff --git a/engines/tinsel/adpcm.h b/engines/tinsel/adpcm.h
index b63e8dc..8c73cb0 100644
--- a/engines/tinsel/adpcm.h
+++ b/engines/tinsel/adpcm.h
@@ -36,7 +36,7 @@ protected:
 		double d0, d1;
 	} _status;
 
-	void reset() {
+	void reset() override {
 		ADPCMStream::reset();
 		memset(&_status, 0, sizeof(_status));
 	}
@@ -64,7 +64,7 @@ public:
 	Tinsel4_ADPCMStream(Common::SeekableReadStream *stream, DisposeAfterUse::Flag disposeAfterUse, uint32 size, int rate, int channels, uint32 blockAlign)
 		: Tinsel_ADPCMStream(stream, disposeAfterUse, size, rate, channels, blockAlign) {}
 
-	virtual int readBuffer(int16 *buffer, const int numSamples);
+	int readBuffer(int16 *buffer, const int numSamples) override;
 };
 
 class Tinsel6_ADPCMStream : public Tinsel_ADPCMStream {
@@ -72,7 +72,7 @@ protected:
 	uint8 _chunkPos;
 	uint16 _chunkData;
 
-	void reset() {
+	void reset() override {
 		ADPCMStream::reset();
 		_chunkPos = 0;
 		_chunkData = 0;
@@ -85,7 +85,7 @@ public:
 		_chunkData = 0;
 	}
 
-	virtual int readBuffer(int16 *buffer, const int numSamples);
+	int readBuffer(int16 *buffer, const int numSamples) override;
 };
 
 class Tinsel8_ADPCMStream : public Tinsel_ADPCMStream {
@@ -93,7 +93,7 @@ public:
 	Tinsel8_ADPCMStream(Common::SeekableReadStream *stream, DisposeAfterUse::Flag disposeAfterUse, uint32 size, int rate, int channels, uint32 blockAlign)
 		: Tinsel_ADPCMStream(stream, disposeAfterUse, size, rate, channels, blockAlign) {}
 
-	virtual int readBuffer(int16 *buffer, const int numSamples);
+	int readBuffer(int16 *buffer, const int numSamples) override;
 };
 
 
diff --git a/engines/tinsel/debugger.h b/engines/tinsel/debugger.h
index 7e01c51..89cf77c 100644
--- a/engines/tinsel/debugger.h
+++ b/engines/tinsel/debugger.h
@@ -32,7 +32,7 @@ class TinselEngine;
 class Console: public GUI::Debugger {
 public:
 	Console();
-	virtual ~Console();
+	~Console() override;
 
 private:
 	bool cmd_item(int argc, const char **argv);
diff --git a/engines/tinsel/detection.cpp b/engines/tinsel/detection.cpp
index 1a9cc44..7218b89 100644
--- a/engines/tinsel/detection.cpp
+++ b/engines/tinsel/detection.cpp
@@ -90,22 +90,22 @@ public:
 		return "tinsel";
 	}
 
-	virtual const char *getName() const override {
+	const char *getName() const override {
 		return "Tinsel";
 	}
 
-	virtual const char *getOriginalCopyright() const override {
+	const char *getOriginalCopyright() const override {
 		return "Tinsel (C) Psygnosis";
 	}
 
-	virtual bool createInstance(OSystem *syst, Engine **engine, const ADGameDescription *desc) const override;
+	bool createInstance(OSystem *syst, Engine **engine, const ADGameDescription *desc) const override;
 	ADDetectedGame fallbackDetect(const FileMap &allFiles, const Common::FSList &fslist) const override;
 
-	virtual bool hasFeature(MetaEngineFeature f) const override;
-	virtual SaveStateList listSaves(const char *target) const override;
-	virtual int getMaximumSaveSlot() const override;
-	virtual SaveStateDescriptor querySaveMetaInfos(const char *target, int slot) const override;
-	virtual void removeSaveState(const char *target, int slot) const override;
+	bool hasFeature(MetaEngineFeature f) const override;
+	SaveStateList listSaves(const char *target) const override;
+	int getMaximumSaveSlot() const override;
+	SaveStateDescriptor querySaveMetaInfos(const char *target, int slot) const override;
+	void removeSaveState(const char *target, int slot) const override;
 };
 
 bool TinselMetaEngine::hasFeature(MetaEngineFeature f) const {
diff --git a/engines/tinsel/drives.h b/engines/tinsel/drives.h
index 5b80505..6bd128d 100644
--- a/engines/tinsel/drives.h
+++ b/engines/tinsel/drives.h
@@ -63,20 +63,20 @@ private:
 	bool openInternal(const Common::String &filename);
 public:
 	TinselFile();
-	~TinselFile();
+	~TinselFile() override;
 	bool open(const Common::String &filename);
 	void close();
 	char getCdNumber();
 
-	bool err() const;
-	void clearErr();
+	bool err() const override;
+	void clearErr() override;
 
-	bool eos() const;
-	uint32 read(void *dataPtr, uint32 dataSize);
+	bool eos() const override;
+	uint32 read(void *dataPtr, uint32 dataSize) override;
 
-	int32 pos() const;
-	int32 size() const;
-	bool seek(int32 offset, int whence = SEEK_SET);
+	int32 pos() const override;
+	int32 size() const override;
+	bool seek(int32 offset, int whence = SEEK_SET) override;
 };
 
 
diff --git a/engines/tinsel/music.h b/engines/tinsel/music.h
index 422d80a..2e91bb5 100644
--- a/engines/tinsel/music.h
+++ b/engines/tinsel/music.h
@@ -62,16 +62,16 @@ class MidiMusicPlayer : public Audio::MidiPlayer {
 public:
 	MidiMusicPlayer(TinselEngine *vm);
 
-	virtual void setVolume(int volume);
+	void setVolume(int volume) override;
 
 	void playMIDI(uint32 size, bool loop);
 
 //	void stop();
-	void pause();
-	void resume();
+	void pause() override;
+	void resume() override;
 
 	// MidiDriver_BASE interface implementation
-	virtual void send(uint32 b);
+	void send(uint32 b) override;
 
 	// The original sets the "sequence timing" to 109 Hz, whatever that
 	// means. The default is 120.
@@ -87,7 +87,7 @@ private:
 class PCMMusicPlayer : public Audio::AudioStream {
 public:
 	PCMMusicPlayer();
-	~PCMMusicPlayer();
+	~PCMMusicPlayer() override;
 
 	bool isPlaying() const;
 
@@ -111,11 +111,11 @@ public:
 	void startFadeOut(int ticks);
 	void fadeOutIteration();
 
-	int readBuffer(int16 *buffer, const int numSamples);
-	bool isStereo() const { return false; }
-	bool endOfData() const { return _end; }
-	bool endOfStream() const { return false; }
-	int getRate() const { return 22050; }
+	int readBuffer(int16 *buffer, const int numSamples) override;
+	bool isStereo() const override { return false; }
+	bool endOfData() const override { return _end; }
+	bool endOfStream() const override { return false; }
+	int getRate() const override { return 22050; }
 
 protected:
 	enum State {
diff --git a/engines/tinsel/tinsel.h b/engines/tinsel/tinsel.h
index ff56aeb..01cff3f 100644
--- a/engines/tinsel/tinsel.h
+++ b/engines/tinsel/tinsel.h
@@ -161,9 +161,9 @@ class TinselEngine : public Engine {
 protected:
 
 	// Engine APIs
-	virtual void initializePath(const Common::FSNode &gamePath) override;
-	virtual Common::Error run() override;
-	virtual bool hasFeature(EngineFeature f) const override;
+	void initializePath(const Common::FSNode &gamePath) override;
+	Common::Error run() override;
+	bool hasFeature(EngineFeature f) const override;
 	Common::Error loadGameState(int slot) override;
 #if 0
 	Common::Error saveGameState(int slot, const Common::String &desc);
@@ -175,7 +175,7 @@ protected:
 
 public:
 	TinselEngine(OSystem *syst, const TinselGameDescription *gameDesc);
-	virtual ~TinselEngine();
+	~TinselEngine() override;
 	int getGameId() {
 		return _gameId;
 	}


Commit: 4d708725456fb1ee741254b9d10178d038cbfece
    https://github.com/scummvm/scummvm/commit/4d708725456fb1ee741254b9d10178d038cbfece
Author: Bastien Bouclet (bastien.bouclet at gmail.com)
Date: 2020-02-09T12:43:16+01:00

Commit Message:
TITANIC: Add override keywords

Changed paths:
    engines/titanic/carry/arm.h
    engines/titanic/carry/auditory_centre.h
    engines/titanic/carry/bowl_ear.h
    engines/titanic/carry/brain.h
    engines/titanic/carry/bridge_piece.h
    engines/titanic/carry/carry.h
    engines/titanic/carry/carry_parrot.h
    engines/titanic/carry/central_core.h
    engines/titanic/carry/chicken.h
    engines/titanic/carry/crushed_tv.h
    engines/titanic/carry/ear.h
    engines/titanic/carry/eye.h
    engines/titanic/carry/feathers.h
    engines/titanic/carry/fruit.h
    engines/titanic/carry/glass.h
    engines/titanic/carry/hammer.h
    engines/titanic/carry/head_piece.h
    engines/titanic/carry/hose.h
    engines/titanic/carry/hose_end.h
    engines/titanic/carry/key.h
    engines/titanic/carry/liftbot_head.h
    engines/titanic/carry/long_stick.h
    engines/titanic/carry/magazine.h
    engines/titanic/carry/maitred_left_arm.h
    engines/titanic/carry/maitred_right_arm.h
    engines/titanic/carry/mouth.h
    engines/titanic/carry/napkin.h
    engines/titanic/carry/nose.h
    engines/titanic/carry/note.h
    engines/titanic/carry/parcel.h
    engines/titanic/carry/perch.h
    engines/titanic/carry/phonograph_cylinder.h
    engines/titanic/carry/phonograph_ear.h
    engines/titanic/carry/photograph.h
    engines/titanic/carry/plug_in.h
    engines/titanic/carry/speech_centre.h
    engines/titanic/carry/sweets.h
    engines/titanic/carry/vision_centre.h
    engines/titanic/continue_save_dialog.h
    engines/titanic/core/background.h
    engines/titanic/core/click_responder.h
    engines/titanic/core/dont_save_file_item.h
    engines/titanic/core/drop_target.h
    engines/titanic/core/file_item.h
    engines/titanic/core/game_object.h
    engines/titanic/core/game_object_desc_item.h
    engines/titanic/core/link_item.h
    engines/titanic/core/list.h
    engines/titanic/core/mail_man.h
    engines/titanic/core/message_target.h
    engines/titanic/core/multi_drop_target.h
    engines/titanic/core/named_item.h
    engines/titanic/core/node_item.h
    engines/titanic/core/project_item.h
    engines/titanic/core/resource_key.h
    engines/titanic/core/room_item.h
    engines/titanic/core/saveable_object.h
    engines/titanic/core/static_image.h
    engines/titanic/core/tree_item.h
    engines/titanic/core/turn_on_object.h
    engines/titanic/core/turn_on_play_sound.h
    engines/titanic/core/turn_on_turn_off.h
    engines/titanic/core/view_item.h
    engines/titanic/debugger.h
    engines/titanic/detection.cpp
    engines/titanic/events.h
    engines/titanic/game/announce.h
    engines/titanic/game/annoy_barbot.h
    engines/titanic/game/arb_background.h
    engines/titanic/game/arboretum_gate.h
    engines/titanic/game/auto_animate.h
    engines/titanic/game/bar_bell.h
    engines/titanic/game/bar_menu.h
    engines/titanic/game/bar_menu_button.h
    engines/titanic/game/belbot_get_light.h
    engines/titanic/game/bomb.h
    engines/titanic/game/bottom_of_well_monitor.h
    engines/titanic/game/bowl_unlocker.h
    engines/titanic/game/brain_slot.h
    engines/titanic/game/bridge_door.h
    engines/titanic/game/bridge_view.h
    engines/titanic/game/broken_pell_base.h
    engines/titanic/game/broken_pellerator.h
    engines/titanic/game/broken_pellerator_froz.h
    engines/titanic/game/cage.h
    engines/titanic/game/captains_wheel.h
    engines/titanic/game/cdrom.h
    engines/titanic/game/cdrom_computer.h
    engines/titanic/game/cdrom_tray.h
    engines/titanic/game/cell_point_button.h
    engines/titanic/game/chev_code.h
    engines/titanic/game/chev_panel.h
    engines/titanic/game/chicken_cooler.h
    engines/titanic/game/chicken_dispensor.h
    engines/titanic/game/close_broken_pel.h
    engines/titanic/game/code_wheel.h
    engines/titanic/game/computer.h
    engines/titanic/game/computer_screen.h
    engines/titanic/game/cookie.h
    engines/titanic/game/credits.h
    engines/titanic/game/credits_button.h
    engines/titanic/game/dead_area.h
    engines/titanic/game/desk_click_responder.h
    engines/titanic/game/doorbot_elevator_handler.h
    engines/titanic/game/doorbot_home_handler.h
    engines/titanic/game/ear_sweet_bowl.h
    engines/titanic/game/eject_phonograph_button.h
    engines/titanic/game/elevator_action_area.h
    engines/titanic/game/emma_control.h
    engines/titanic/game/empty_nut_bowl.h
    engines/titanic/game/end_credit_text.h
    engines/titanic/game/end_credits.h
    engines/titanic/game/end_explode_ship.h
    engines/titanic/game/end_game_credits.h
    engines/titanic/game/end_sequence_control.h
    engines/titanic/game/fan.h
    engines/titanic/game/fan_control.h
    engines/titanic/game/fan_decrease.h
    engines/titanic/game/fan_increase.h
    engines/titanic/game/fan_noises.h
    engines/titanic/game/floor_indicator.h
    engines/titanic/game/games_console.h
    engines/titanic/game/get_lift_eye2.h
    engines/titanic/game/glass_smasher.h
    engines/titanic/game/gondolier/gondolier_base.h
    engines/titanic/game/gondolier/gondolier_chest.h
    engines/titanic/game/gondolier/gondolier_face.h
    engines/titanic/game/gondolier/gondolier_mixer.h
    engines/titanic/game/gondolier/gondolier_slider.h
    engines/titanic/game/hammer_clip.h
    engines/titanic/game/hammer_dispensor.h
    engines/titanic/game/hammer_dispensor_button.h
    engines/titanic/game/head_slot.h
    engines/titanic/game/head_smash_event.h
    engines/titanic/game/head_smash_lever.h
    engines/titanic/game/head_spinner.h
    engines/titanic/game/idle_summoner.h
    engines/titanic/game/leave_sec_class_state.h
    engines/titanic/game/lemon_dispensor.h
    engines/titanic/game/light.h
    engines/titanic/game/light_switch.h
    engines/titanic/game/little_lift_button.h
    engines/titanic/game/long_stick_dispenser.h
    engines/titanic/game/maitred/maitred_arm_holder.h
    engines/titanic/game/maitred/maitred_body.h
    engines/titanic/game/maitred/maitred_legs.h
    engines/titanic/game/maitred/maitred_prod_receptor.h
    engines/titanic/game/missiveomat.h
    engines/titanic/game/missiveomat_button.h
    engines/titanic/game/movie_tester.h
    engines/titanic/game/music_console_button.h
    engines/titanic/game/music_room_phonograph.h
    engines/titanic/game/music_room_stop_phonograph_button.h
    engines/titanic/game/music_system_lock.h
    engines/titanic/game/musical_instrument.h
    engines/titanic/game/nav_helmet.h
    engines/titanic/game/nav_helmet_off.h
    engines/titanic/game/nav_helmet_on.h
    engines/titanic/game/navigation_computer.h
    engines/titanic/game/no_nut_bowl.h
    engines/titanic/game/nose_holder.h
    engines/titanic/game/null_port_hole.h
    engines/titanic/game/nut_replacer.h
    engines/titanic/game/parrot/parrot_lobby_controller.h
    engines/titanic/game/parrot/parrot_lobby_link_updater.h
    engines/titanic/game/parrot/parrot_lobby_object.h
    engines/titanic/game/parrot/parrot_lobby_view_object.h
    engines/titanic/game/parrot/parrot_loser.h
    engines/titanic/game/parrot/parrot_nut_bowl_actor.h
    engines/titanic/game/parrot/parrot_nut_eater.h
    engines/titanic/game/parrot/parrot_perch_holder.h
    engines/titanic/game/parrot/parrot_trigger.h
    engines/titanic/game/parrot/player_meets_parrot.h
    engines/titanic/game/pet/pet.h
    engines/titanic/game/pet/pet_class1.h
    engines/titanic/game/pet/pet_class2.h
    engines/titanic/game/pet/pet_class3.h
    engines/titanic/game/pet/pet_lift.h
    engines/titanic/game/pet/pet_monitor.h
    engines/titanic/game/pet/pet_pellerator.h
    engines/titanic/game/pet/pet_position.h
    engines/titanic/game/pet/pet_sentinal.h
    engines/titanic/game/pet/pet_sounds.h
    engines/titanic/game/pet/pet_transition.h
    engines/titanic/game/pet/pet_transport.h
    engines/titanic/game/pet_disabler.h
    engines/titanic/game/phonograph.h
    engines/titanic/game/phonograph_lid.h
    engines/titanic/game/pickup/pick_up.h
    engines/titanic/game/pickup/pick_up_bar_glass.h
    engines/titanic/game/pickup/pick_up_hose.h
    engines/titanic/game/pickup/pick_up_lemon.h
    engines/titanic/game/pickup/pick_up_speech_centre.h
    engines/titanic/game/pickup/pick_up_vis_centre.h
    engines/titanic/game/place_holder_item.h
    engines/titanic/game/placeholder/bar_shelf_vis_centre.h
    engines/titanic/game/placeholder/lemon_on_bar.h
    engines/titanic/game/placeholder/place_holder.h
    engines/titanic/game/placeholder/tv_on_bar.h
    engines/titanic/game/play_music_button.h
    engines/titanic/game/play_on_act.h
    engines/titanic/game/port_hole.h
    engines/titanic/game/record_phonograph_button.h
    engines/titanic/game/replacement_ear.h
    engines/titanic/game/reserved_table.h
    engines/titanic/game/restaurant_cylinder_holder.h
    engines/titanic/game/restaurant_phonograph.h
    engines/titanic/game/sauce_dispensor.h
    engines/titanic/game/search_point.h
    engines/titanic/game/season_background.h
    engines/titanic/game/season_barrel.h
    engines/titanic/game/seasonal_adjustment.h
    engines/titanic/game/service_elevator_window.h
    engines/titanic/game/sgt/armchair.h
    engines/titanic/game/sgt/basin.h
    engines/titanic/game/sgt/bedfoot.h
    engines/titanic/game/sgt/bedhead.h
    engines/titanic/game/sgt/chest_of_drawers.h
    engines/titanic/game/sgt/desk.h
    engines/titanic/game/sgt/deskchair.h
    engines/titanic/game/sgt/drawer.h
    engines/titanic/game/sgt/sgt_doors.h
    engines/titanic/game/sgt/sgt_nav.h
    engines/titanic/game/sgt/sgt_navigation.h
    engines/titanic/game/sgt/sgt_restaurant_doors.h
    engines/titanic/game/sgt/sgt_state_control.h
    engines/titanic/game/sgt/sgt_state_room.h
    engines/titanic/game/sgt/sgt_tv.h
    engines/titanic/game/sgt/sgt_upper_doors_sound.h
    engines/titanic/game/sgt/toilet.h
    engines/titanic/game/sgt/vase.h
    engines/titanic/game/sgt/washstand.h
    engines/titanic/game/ship_setting.h
    engines/titanic/game/ship_setting_button.h
    engines/titanic/game/show_cell_points.h
    engines/titanic/game/speech_dispensor.h
    engines/titanic/game/splash_animation.h
    engines/titanic/game/starling_puret.h
    engines/titanic/game/start_action.h
    engines/titanic/game/stop_phonograph_button.h
    engines/titanic/game/sub_glass.h
    engines/titanic/game/sub_wrapper.h
    engines/titanic/game/sweet_bowl.h
    engines/titanic/game/television.h
    engines/titanic/game/third_class_canal.h
    engines/titanic/game/throw_tv_down_well.h
    engines/titanic/game/titania_still_control.h
    engines/titanic/game/tow_parrot_nav.h
    engines/titanic/game/transport/gondolier.h
    engines/titanic/game/transport/lift.h
    engines/titanic/game/transport/lift_indicator.h
    engines/titanic/game/transport/pellerator.h
    engines/titanic/game/transport/service_elevator.h
    engines/titanic/game/transport/transport.h
    engines/titanic/game/up_lighter.h
    engines/titanic/game/useless_lever.h
    engines/titanic/game/variable_list.h
    engines/titanic/game/volume_control.h
    engines/titanic/game/wheel_button.h
    engines/titanic/game/wheel_hotspot.h
    engines/titanic/game/wheel_spin.h
    engines/titanic/game/wheel_spin_horn.h
    engines/titanic/game_view.h
    engines/titanic/gfx/act_button.h
    engines/titanic/gfx/changes_season_button.h
    engines/titanic/gfx/chev_left_off.h
    engines/titanic/gfx/chev_left_on.h
    engines/titanic/gfx/chev_right_off.h
    engines/titanic/gfx/chev_right_on.h
    engines/titanic/gfx/chev_send_rec_switch.h
    engines/titanic/gfx/edit_control.h
    engines/titanic/gfx/elevator_button.h
    engines/titanic/gfx/get_from_succ.h
    engines/titanic/gfx/helmet_on_off.h
    engines/titanic/gfx/home_photo.h
    engines/titanic/gfx/icon_nav_action.h
    engines/titanic/gfx/icon_nav_butt.h
    engines/titanic/gfx/icon_nav_down.h
    engines/titanic/gfx/icon_nav_image.h
    engines/titanic/gfx/icon_nav_left.h
    engines/titanic/gfx/icon_nav_receive.h
    engines/titanic/gfx/icon_nav_right.h
    engines/titanic/gfx/icon_nav_send.h
    engines/titanic/gfx/icon_nav_up.h
    engines/titanic/gfx/keybrd_butt.h
    engines/titanic/gfx/move_object_button.h
    engines/titanic/gfx/music_control.h
    engines/titanic/gfx/music_slider.h
    engines/titanic/gfx/music_slider_pitch.h
    engines/titanic/gfx/music_slider_speed.h
    engines/titanic/gfx/music_switch.h
    engines/titanic/gfx/music_switch_inversion.h
    engines/titanic/gfx/music_switch_reverse.h
    engines/titanic/gfx/music_voice_mute.h
    engines/titanic/gfx/send_to_succ.h
    engines/titanic/gfx/sgt_selector.h
    engines/titanic/gfx/slider_button.h
    engines/titanic/gfx/small_chev_left_off.h
    engines/titanic/gfx/small_chev_left_on.h
    engines/titanic/gfx/small_chev_right_off.h
    engines/titanic/gfx/small_chev_right_on.h
    engines/titanic/gfx/st_button.h
    engines/titanic/gfx/status_change_button.h
    engines/titanic/gfx/text_down.h
    engines/titanic/gfx/text_skrew.h
    engines/titanic/gfx/text_up.h
    engines/titanic/gfx/toggle_button.h
    engines/titanic/gfx/toggle_switch.h
    engines/titanic/main_game_window.h
    engines/titanic/messages/auto_sound_event.h
    engines/titanic/messages/bilge_auto_sound_event.h
    engines/titanic/messages/bilge_dispensor_event.h
    engines/titanic/messages/door_auto_sound_event.h
    engines/titanic/messages/messages.h
    engines/titanic/messages/service_elevator_door.h
    engines/titanic/moves/call_pellerator.h
    engines/titanic/moves/enter_bomb_room.h
    engines/titanic/moves/enter_bridge.h
    engines/titanic/moves/enter_exit_first_class_state.h
    engines/titanic/moves/enter_exit_mini_lift.h
    engines/titanic/moves/enter_exit_sec_class_mini_lift.h
    engines/titanic/moves/enter_exit_view.h
    engines/titanic/moves/enter_sec_class_state.h
    engines/titanic/moves/exit_arboretum.h
    engines/titanic/moves/exit_bridge.h
    engines/titanic/moves/exit_lift.h
    engines/titanic/moves/exit_pellerator.h
    engines/titanic/moves/exit_state_room.h
    engines/titanic/moves/exit_tiania.h
    engines/titanic/moves/move_player_in_parrot_room.h
    engines/titanic/moves/move_player_to.h
    engines/titanic/moves/move_player_to_from.h
    engines/titanic/moves/multi_move.h
    engines/titanic/moves/pan_from_pel.h
    engines/titanic/moves/restaurant_pan_handler.h
    engines/titanic/moves/restricted_move.h
    engines/titanic/moves/scraliontis_table.h
    engines/titanic/moves/trip_down_canal.h
    engines/titanic/npcs/barbot.h
    engines/titanic/npcs/bellbot.h
    engines/titanic/npcs/bilge_succubus.h
    engines/titanic/npcs/callbot.h
    engines/titanic/npcs/character.h
    engines/titanic/npcs/deskbot.h
    engines/titanic/npcs/doorbot.h
    engines/titanic/npcs/liftbot.h
    engines/titanic/npcs/maitre_d.h
    engines/titanic/npcs/mobile.h
    engines/titanic/npcs/parrot.h
    engines/titanic/npcs/parrot_succubus.h
    engines/titanic/npcs/robot_controller.h
    engines/titanic/npcs/starlings.h
    engines/titanic/npcs/succubus.h
    engines/titanic/npcs/summon_bots.h
    engines/titanic/npcs/titania.h
    engines/titanic/npcs/true_talk_npc.h
    engines/titanic/pet_control/pet_control.h
    engines/titanic/pet_control/pet_conversations.h
    engines/titanic/pet_control/pet_drag_chev.h
    engines/titanic/pet_control/pet_frame.h
    engines/titanic/pet_control/pet_gfx_element.h
    engines/titanic/pet_control/pet_graphic.h
    engines/titanic/pet_control/pet_graphic2.h
    engines/titanic/pet_control/pet_inventory.h
    engines/titanic/pet_control/pet_inventory_glyphs.h
    engines/titanic/pet_control/pet_leaf.h
    engines/titanic/pet_control/pet_load.h
    engines/titanic/pet_control/pet_load_save.h
    engines/titanic/pet_control/pet_mode_off.h
    engines/titanic/pet_control/pet_mode_on.h
    engines/titanic/pet_control/pet_mode_panel.h
    engines/titanic/pet_control/pet_pannel1.h
    engines/titanic/pet_control/pet_pannel2.h
    engines/titanic/pet_control/pet_pannel3.h
    engines/titanic/pet_control/pet_quit.h
    engines/titanic/pet_control/pet_real_life.h
    engines/titanic/pet_control/pet_remote.h
    engines/titanic/pet_control/pet_remote_glyphs.h
    engines/titanic/pet_control/pet_rooms.h
    engines/titanic/pet_control/pet_rooms_glyphs.h
    engines/titanic/pet_control/pet_save.h
    engines/titanic/pet_control/pet_show_translation.h
    engines/titanic/pet_control/pet_slider.h
    engines/titanic/pet_control/pet_sound.h
    engines/titanic/pet_control/pet_starfield.h
    engines/titanic/pet_control/pet_translation.h
    engines/titanic/sound/auto_music_player.h
    engines/titanic/sound/auto_music_player_base.h
    engines/titanic/sound/auto_sound_player.h
    engines/titanic/sound/auto_sound_player_adsr.h
    engines/titanic/sound/background_sound_maker.h
    engines/titanic/sound/bird_song.h
    engines/titanic/sound/dome_from_top_of_well.h
    engines/titanic/sound/enter_view_toggles_other_music.h
    engines/titanic/sound/gondolier_song.h
    engines/titanic/sound/music_player.h
    engines/titanic/sound/node_auto_sound_player.h
    engines/titanic/sound/restricted_auto_music_player.h
    engines/titanic/sound/room_auto_sound_player.h
    engines/titanic/sound/room_trigger_auto_music_player.h
    engines/titanic/sound/season_noises.h
    engines/titanic/sound/seasonal_music_player.h
    engines/titanic/sound/sound.h
    engines/titanic/sound/sound_manager.h
    engines/titanic/sound/titania_speech.h
    engines/titanic/sound/trigger_auto_music_player.h
    engines/titanic/sound/view_auto_sound_player.h
    engines/titanic/sound/view_toggles_other_music.h
    engines/titanic/sound/water_lapping_sounds.h
    engines/titanic/sound/wave_file.cpp
    engines/titanic/star_control/flight_manager_marked.h
    engines/titanic/star_control/flight_manager_unmarked.h
    engines/titanic/star_control/motion_control_marked.h
    engines/titanic/star_control/motion_control_unmarked.h
    engines/titanic/star_control/star_control.h
    engines/titanic/star_control/star_field.h
    engines/titanic/star_control/star_field_base.h
    engines/titanic/star_control/star_markers.h
    engines/titanic/star_control/star_ref.h
    engines/titanic/support/avi_surface.h
    engines/titanic/support/image.h
    engines/titanic/support/movie.h
    engines/titanic/support/movie_clip.h
    engines/titanic/support/movie_event.h
    engines/titanic/support/movie_manager.h
    engines/titanic/support/movie_range_info.h
    engines/titanic/support/screen_manager.h
    engines/titanic/support/simple_file.h
    engines/titanic/support/time_event_info.h
    engines/titanic/support/video_surface.h
    engines/titanic/titanic.h
    engines/titanic/true_talk/barbot_script.h
    engines/titanic/true_talk/bellbot_script.h
    engines/titanic/true_talk/deskbot_script.h
    engines/titanic/true_talk/doorbot_script.h
    engines/titanic/true_talk/liftbot_script.h
    engines/titanic/true_talk/maitred_script.h
    engines/titanic/true_talk/parrot_script.h
    engines/titanic/true_talk/succubus_script.h
    engines/titanic/true_talk/title_engine.h
    engines/titanic/true_talk/tt_action.h
    engines/titanic/true_talk/tt_adj.h
    engines/titanic/true_talk/tt_major_word.h
    engines/titanic/true_talk/tt_npc_script.h
    engines/titanic/true_talk/tt_picture.h
    engines/titanic/true_talk/tt_pronoun.h
    engines/titanic/true_talk/tt_room_script.h
    engines/titanic/true_talk/tt_scripts.h
    engines/titanic/true_talk/tt_sentence.h


diff --git a/engines/titanic/carry/arm.h b/engines/titanic/carry/arm.h
index 3eec4b6..0b5abda 100644
--- a/engines/titanic/carry/arm.h
+++ b/engines/titanic/carry/arm.h
@@ -55,12 +55,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/carry/auditory_centre.h b/engines/titanic/carry/auditory_centre.h
index 6f24e86..efa8df9 100644
--- a/engines/titanic/carry/auditory_centre.h
+++ b/engines/titanic/carry/auditory_centre.h
@@ -36,12 +36,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/carry/bowl_ear.h b/engines/titanic/carry/bowl_ear.h
index d78092f..5e41b0f 100644
--- a/engines/titanic/carry/bowl_ear.h
+++ b/engines/titanic/carry/bowl_ear.h
@@ -39,12 +39,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/carry/brain.h b/engines/titanic/carry/brain.h
index 4c41378..8e98a9a 100644
--- a/engines/titanic/carry/brain.h
+++ b/engines/titanic/carry/brain.h
@@ -48,12 +48,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/carry/bridge_piece.h b/engines/titanic/carry/bridge_piece.h
index 80a1cc9..f850303 100644
--- a/engines/titanic/carry/bridge_piece.h
+++ b/engines/titanic/carry/bridge_piece.h
@@ -42,12 +42,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/carry/carry.h b/engines/titanic/carry/carry.h
index e9069da..70d9691 100644
--- a/engines/titanic/carry/carry.h
+++ b/engines/titanic/carry/carry.h
@@ -67,12 +67,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/carry/carry_parrot.h b/engines/titanic/carry/carry_parrot.h
index e165482..38e66ec 100644
--- a/engines/titanic/carry/carry_parrot.h
+++ b/engines/titanic/carry/carry_parrot.h
@@ -53,12 +53,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/carry/central_core.h b/engines/titanic/carry/central_core.h
index cc5d9c2..49dd3f4 100644
--- a/engines/titanic/carry/central_core.h
+++ b/engines/titanic/carry/central_core.h
@@ -38,12 +38,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/carry/chicken.h b/engines/titanic/carry/chicken.h
index e9fd6cb..be8b2b8 100644
--- a/engines/titanic/carry/chicken.h
+++ b/engines/titanic/carry/chicken.h
@@ -55,12 +55,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/carry/crushed_tv.h b/engines/titanic/carry/crushed_tv.h
index 340930f..6e959e5 100644
--- a/engines/titanic/carry/crushed_tv.h
+++ b/engines/titanic/carry/crushed_tv.h
@@ -41,12 +41,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/carry/ear.h b/engines/titanic/carry/ear.h
index a357f46..1e2f534 100644
--- a/engines/titanic/carry/ear.h
+++ b/engines/titanic/carry/ear.h
@@ -38,12 +38,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/carry/eye.h b/engines/titanic/carry/eye.h
index 886bd39..cc6acb9 100644
--- a/engines/titanic/carry/eye.h
+++ b/engines/titanic/carry/eye.h
@@ -43,12 +43,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/carry/feathers.h b/engines/titanic/carry/feathers.h
index 7282bcb..067f271 100644
--- a/engines/titanic/carry/feathers.h
+++ b/engines/titanic/carry/feathers.h
@@ -36,12 +36,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/carry/fruit.h b/engines/titanic/carry/fruit.h
index bcbd314..8ede8e9 100644
--- a/engines/titanic/carry/fruit.h
+++ b/engines/titanic/carry/fruit.h
@@ -45,12 +45,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/carry/glass.h b/engines/titanic/carry/glass.h
index c6f7f3d..8626040 100644
--- a/engines/titanic/carry/glass.h
+++ b/engines/titanic/carry/glass.h
@@ -44,12 +44,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/carry/hammer.h b/engines/titanic/carry/hammer.h
index 8cc86f3..f36d1b7 100644
--- a/engines/titanic/carry/hammer.h
+++ b/engines/titanic/carry/hammer.h
@@ -38,12 +38,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/carry/head_piece.h b/engines/titanic/carry/head_piece.h
index 367f781..8460448 100644
--- a/engines/titanic/carry/head_piece.h
+++ b/engines/titanic/carry/head_piece.h
@@ -44,12 +44,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/carry/hose.h b/engines/titanic/carry/hose.h
index 0ec37b5..249f200 100644
--- a/engines/titanic/carry/hose.h
+++ b/engines/titanic/carry/hose.h
@@ -53,12 +53,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/carry/hose_end.h b/engines/titanic/carry/hose_end.h
index 836c944..e693319 100644
--- a/engines/titanic/carry/hose_end.h
+++ b/engines/titanic/carry/hose_end.h
@@ -36,12 +36,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/carry/key.h b/engines/titanic/carry/key.h
index 9d39579..7ac4d07 100644
--- a/engines/titanic/carry/key.h
+++ b/engines/titanic/carry/key.h
@@ -38,12 +38,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/carry/liftbot_head.h b/engines/titanic/carry/liftbot_head.h
index 44cc51c..cc04f4a 100644
--- a/engines/titanic/carry/liftbot_head.h
+++ b/engines/titanic/carry/liftbot_head.h
@@ -41,12 +41,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/carry/long_stick.h b/engines/titanic/carry/long_stick.h
index 329ca83..7a251e6 100644
--- a/engines/titanic/carry/long_stick.h
+++ b/engines/titanic/carry/long_stick.h
@@ -39,12 +39,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/carry/magazine.h b/engines/titanic/carry/magazine.h
index d1db468..cbd80a0 100644
--- a/engines/titanic/carry/magazine.h
+++ b/engines/titanic/carry/magazine.h
@@ -45,12 +45,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/carry/maitred_left_arm.h b/engines/titanic/carry/maitred_left_arm.h
index 0e1732d..264774e 100644
--- a/engines/titanic/carry/maitred_left_arm.h
+++ b/engines/titanic/carry/maitred_left_arm.h
@@ -40,12 +40,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/carry/maitred_right_arm.h b/engines/titanic/carry/maitred_right_arm.h
index 4a53d45..f4606df 100644
--- a/engines/titanic/carry/maitred_right_arm.h
+++ b/engines/titanic/carry/maitred_right_arm.h
@@ -36,12 +36,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/carry/mouth.h b/engines/titanic/carry/mouth.h
index f5f0f53..a9408f3 100644
--- a/engines/titanic/carry/mouth.h
+++ b/engines/titanic/carry/mouth.h
@@ -39,12 +39,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/carry/napkin.h b/engines/titanic/carry/napkin.h
index ce47dd6..84e7c83 100644
--- a/engines/titanic/carry/napkin.h
+++ b/engines/titanic/carry/napkin.h
@@ -38,12 +38,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/carry/nose.h b/engines/titanic/carry/nose.h
index 6e5be30..4fc7045 100644
--- a/engines/titanic/carry/nose.h
+++ b/engines/titanic/carry/nose.h
@@ -38,12 +38,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/carry/note.h b/engines/titanic/carry/note.h
index 37ebf96..bbb635e 100644
--- a/engines/titanic/carry/note.h
+++ b/engines/titanic/carry/note.h
@@ -41,12 +41,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/carry/parcel.h b/engines/titanic/carry/parcel.h
index f33c2ff..6139a2b 100644
--- a/engines/titanic/carry/parcel.h
+++ b/engines/titanic/carry/parcel.h
@@ -36,12 +36,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/carry/perch.h b/engines/titanic/carry/perch.h
index 8941c8e..d9edc4c 100644
--- a/engines/titanic/carry/perch.h
+++ b/engines/titanic/carry/perch.h
@@ -36,12 +36,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/carry/phonograph_cylinder.h b/engines/titanic/carry/phonograph_cylinder.h
index 086dedd..e45e876 100644
--- a/engines/titanic/carry/phonograph_cylinder.h
+++ b/engines/titanic/carry/phonograph_cylinder.h
@@ -63,12 +63,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/carry/phonograph_ear.h b/engines/titanic/carry/phonograph_ear.h
index df0700c..734fe44 100644
--- a/engines/titanic/carry/phonograph_ear.h
+++ b/engines/titanic/carry/phonograph_ear.h
@@ -41,12 +41,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/carry/photograph.h b/engines/titanic/carry/photograph.h
index 9cea1e4..babc6d9 100644
--- a/engines/titanic/carry/photograph.h
+++ b/engines/titanic/carry/photograph.h
@@ -48,12 +48,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/carry/plug_in.h b/engines/titanic/carry/plug_in.h
index 5f7d5dd..2be3e17 100644
--- a/engines/titanic/carry/plug_in.h
+++ b/engines/titanic/carry/plug_in.h
@@ -39,12 +39,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/carry/speech_centre.h b/engines/titanic/carry/speech_centre.h
index 806e222..6d90bfc8 100644
--- a/engines/titanic/carry/speech_centre.h
+++ b/engines/titanic/carry/speech_centre.h
@@ -45,12 +45,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/carry/sweets.h b/engines/titanic/carry/sweets.h
index 3655fab..f30765e 100644
--- a/engines/titanic/carry/sweets.h
+++ b/engines/titanic/carry/sweets.h
@@ -38,12 +38,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/carry/vision_centre.h b/engines/titanic/carry/vision_centre.h
index 14055a5..199a94f 100644
--- a/engines/titanic/carry/vision_centre.h
+++ b/engines/titanic/carry/vision_centre.h
@@ -38,12 +38,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/continue_save_dialog.h b/engines/titanic/continue_save_dialog.h
index 29a4bf4..3c7bfde 100644
--- a/engines/titanic/continue_save_dialog.h
+++ b/engines/titanic/continue_save_dialog.h
@@ -80,12 +80,12 @@ private:
 	Rect getSlotBounds(int index);
 public:
 	CContinueSaveDialog();
-	virtual ~CContinueSaveDialog();
+	~CContinueSaveDialog() override;
 
-	virtual void mouseMove(const Point &mousePos);
-	virtual void leftButtonDown(const Point &mousePos);
-	virtual void leftButtonUp(const Point &mousePos);
-	virtual void keyDown(Common::KeyState keyState);
+	void mouseMove(const Point &mousePos) override;
+	void leftButtonDown(const Point &mousePos) override;
+	void leftButtonUp(const Point &mousePos) override;
+	void keyDown(Common::KeyState keyState) override;
 
 	/**
 	 * Add a savegame to the list to be displayed
diff --git a/engines/titanic/core/background.h b/engines/titanic/core/background.h
index 6a1e4fd..0900e1c 100644
--- a/engines/titanic/core/background.h
+++ b/engines/titanic/core/background.h
@@ -46,12 +46,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/core/click_responder.h b/engines/titanic/core/click_responder.h
index 40f22d7..9cf61ec 100644
--- a/engines/titanic/core/click_responder.h
+++ b/engines/titanic/core/click_responder.h
@@ -38,12 +38,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/core/dont_save_file_item.h b/engines/titanic/core/dont_save_file_item.h
index 3862047..e06de23 100644
--- a/engines/titanic/core/dont_save_file_item.h
+++ b/engines/titanic/core/dont_save_file_item.h
@@ -35,17 +35,17 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 
 	/**
 	 * Returns true if the item is a file item
 	 */
-	virtual bool isFileItem() const { return false; }
+	bool isFileItem() const override { return false; }
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/core/drop_target.h b/engines/titanic/core/drop_target.h
index 3536f2a..8e9bece 100644
--- a/engines/titanic/core/drop_target.h
+++ b/engines/titanic/core/drop_target.h
@@ -56,12 +56,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/core/file_item.h b/engines/titanic/core/file_item.h
index 0b02d9d..0419953 100644
--- a/engines/titanic/core/file_item.h
+++ b/engines/titanic/core/file_item.h
@@ -39,17 +39,17 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 
 	/**
 	 * Returns true if the item is a file item
 	 */
-	virtual bool isFileItem() const { return true; }
+	bool isFileItem() const override { return true; }
 
 	/**
 	 * Form a filename for the file item
diff --git a/engines/titanic/core/game_object.h b/engines/titanic/core/game_object.h
index ebe1c66..9f5ab16 100644
--- a/engines/titanic/core/game_object.h
+++ b/engines/titanic/core/game_object.h
@@ -568,37 +568,37 @@ public:
 public:
 	CLASSDEF;
 	CGameObject();
-	~CGameObject();
+	~CGameObject() override;
 
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 
 	/**
 	 * Returns the clip list, if any, associated with the item
 	 */
-	virtual const CMovieClipList *getMovieClips() const { return &_movieClips; }
+	const CMovieClipList *getMovieClips() const override { return &_movieClips; }
 
 	/**
 	 * Allows the item to draw itself
 	 */
-	virtual void draw(CScreenManager *screenManager);
+	void draw(CScreenManager *screenManager) override;
 
 	/**
 	 * Gets the bounds occupied by the item
 	 */
-	virtual Rect getBounds() const;
+	Rect getBounds() const override;
 
 	/**
 	 * Free up any surface the object used
 	 */
-	virtual void freeSurface();
+	void freeSurface() override;
 
 	/**
 	 * Allows the item to draw itself
diff --git a/engines/titanic/core/game_object_desc_item.h b/engines/titanic/core/game_object_desc_item.h
index 4f485e0..d92a5cb 100644
--- a/engines/titanic/core/game_object_desc_item.h
+++ b/engines/titanic/core/game_object_desc_item.h
@@ -43,17 +43,17 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 
 	/**
 	 * Gets the name of the item, if any
 	 */
-	virtual const CString getName() const { return _name; }
+	const CString getName() const override { return _name; }
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/core/link_item.h b/engines/titanic/core/link_item.h
index 05435e8..eea3dce 100644
--- a/engines/titanic/core/link_item.h
+++ b/engines/titanic/core/link_item.h
@@ -59,17 +59,17 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 
 	/**
 	 * Returns true if the given item connects to another specified view
 	 */
-	virtual bool connectsTo(CViewItem *destView) const;
+	bool connectsTo(CViewItem *destView) const override;
 
 	/**
 	 * Set the destination for the link item
diff --git a/engines/titanic/core/list.h b/engines/titanic/core/list.h
index 6da3a92..dce26aa 100644
--- a/engines/titanic/core/list.h
+++ b/engines/titanic/core/list.h
@@ -40,12 +40,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 /**
@@ -65,18 +65,18 @@ public:
 public:
 	PtrListItem() : _item(nullptr) {}
 	PtrListItem(T *item) : _item(item) {}
-	virtual ~PtrListItem() { delete _item; }
+	~PtrListItem() override { delete _item; }
 };
 
 template<typename T>
 class List : public CSaveableObject, public Common::List<T *> {
 public:
-	virtual ~List() { destroyContents(); }
+	~List() override { destroyContents(); }
 
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent) {
+	void save(SimpleFile *file, int indent) override {
 		file->writeNumberLine(0, indent);
 
 		// Write out number of items
@@ -97,7 +97,7 @@ public:
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file) {
+	void load(SimpleFile *file) override {
 		file->readNumber();
 		file->readBuffer();
 
diff --git a/engines/titanic/core/mail_man.h b/engines/titanic/core/mail_man.h
index b5d6a15..feab094 100644
--- a/engines/titanic/core/mail_man.h
+++ b/engines/titanic/core/mail_man.h
@@ -37,12 +37,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 
 	/**
 	 * Get the first game object stored in the PET
diff --git a/engines/titanic/core/message_target.h b/engines/titanic/core/message_target.h
index a09e6e3..e5bdc14 100644
--- a/engines/titanic/core/message_target.h
+++ b/engines/titanic/core/message_target.h
@@ -91,12 +91,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/core/multi_drop_target.h b/engines/titanic/core/multi_drop_target.h
index 048ce9d..3e2d620 100644
--- a/engines/titanic/core/multi_drop_target.h
+++ b/engines/titanic/core/multi_drop_target.h
@@ -40,12 +40,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/core/named_item.h b/engines/titanic/core/named_item.h
index 9d46fe0..b793c06 100644
--- a/engines/titanic/core/named_item.h
+++ b/engines/titanic/core/named_item.h
@@ -41,27 +41,27 @@ public:
 	/**
 	 * Dump the item
 	 */
-	virtual CString dumpItem(int indent) const;
+	CString dumpItem(int indent) const override;
 
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 
 	/**
 	 * Gets the name of the item, if any
 	 */
-	virtual const CString getName() const { return _name; }
+	const CString getName() const override { return _name; }
 
 	/**
 	 * Returns true if the item's name matches a passed name
 	 */
-	virtual bool isEquals(const CString &name, bool startsWith = false) const;
+	bool isEquals(const CString &name, bool startsWith = false) const override;
 
 	/**
 	 * Find a parent node for the item
diff --git a/engines/titanic/core/node_item.h b/engines/titanic/core/node_item.h
index ea403dd..3ed1a71 100644
--- a/engines/titanic/core/node_item.h
+++ b/engines/titanic/core/node_item.h
@@ -39,12 +39,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 
 	/**
 	 * Gets the relative position of the node within the owning room
diff --git a/engines/titanic/core/project_item.h b/engines/titanic/core/project_item.h
index 1c5923f..dcef742 100644
--- a/engines/titanic/core/project_item.h
+++ b/engines/titanic/core/project_item.h
@@ -68,12 +68,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 /**
@@ -159,22 +159,22 @@ public:
 public:
 	CLASSDEF;
 	CProjectItem();
-	virtual ~CProjectItem() { destroyChildren(); }
+	~CProjectItem() override { destroyChildren(); }
 
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 
 	/**
 	 * Get the game manager for the project
 	 */
-	virtual CGameManager *getGameManager() const;
+	CGameManager *getGameManager() const override;
 
 	/**
 	 * Sets the game manager for the project, if not already set
diff --git a/engines/titanic/core/resource_key.h b/engines/titanic/core/resource_key.h
index f9c37a7..35deca3 100644
--- a/engines/titanic/core/resource_key.h
+++ b/engines/titanic/core/resource_key.h
@@ -42,12 +42,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 
 	/**
 	 * Return the key
diff --git a/engines/titanic/core/room_item.h b/engines/titanic/core/room_item.h
index cb343a1..4d3fba8 100644
--- a/engines/titanic/core/room_item.h
+++ b/engines/titanic/core/room_item.h
@@ -52,12 +52,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 
 	/**
 	 * Return a movie clip for the room by name
diff --git a/engines/titanic/core/saveable_object.h b/engines/titanic/core/saveable_object.h
index 80525f1..1fa09ac 100644
--- a/engines/titanic/core/saveable_object.h
+++ b/engines/titanic/core/saveable_object.h
@@ -49,7 +49,7 @@ class TypeTemplate : public ClassDef {
 public:
 	TypeTemplate(const char *className, ClassDef *parent) :
 		ClassDef(className, parent) {}
-	virtual CSaveableObject *create() { return new T(); }
+	CSaveableObject *create() override { return new T(); }
 };
 
 #define CLASSDEF \
diff --git a/engines/titanic/core/static_image.h b/engines/titanic/core/static_image.h
index 7a715a8..e2343ec 100644
--- a/engines/titanic/core/static_image.h
+++ b/engines/titanic/core/static_image.h
@@ -35,12 +35,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/core/tree_item.h b/engines/titanic/core/tree_item.h
index 8509e7d..ede7280 100644
--- a/engines/titanic/core/tree_item.h
+++ b/engines/titanic/core/tree_item.h
@@ -62,12 +62,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 
 	/**
 	 * Get the game manager for the project
diff --git a/engines/titanic/core/turn_on_object.h b/engines/titanic/core/turn_on_object.h
index 0f7cd76..522c263 100644
--- a/engines/titanic/core/turn_on_object.h
+++ b/engines/titanic/core/turn_on_object.h
@@ -40,12 +40,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/core/turn_on_play_sound.h b/engines/titanic/core/turn_on_play_sound.h
index 29a25a5..ff69542 100644
--- a/engines/titanic/core/turn_on_play_sound.h
+++ b/engines/titanic/core/turn_on_play_sound.h
@@ -41,12 +41,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/core/turn_on_turn_off.h b/engines/titanic/core/turn_on_turn_off.h
index 1749394..f54297c 100644
--- a/engines/titanic/core/turn_on_turn_off.h
+++ b/engines/titanic/core/turn_on_turn_off.h
@@ -44,12 +44,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/core/view_item.h b/engines/titanic/core/view_item.h
index ab6a437..988e9bf 100644
--- a/engines/titanic/core/view_item.h
+++ b/engines/titanic/core/view_item.h
@@ -74,12 +74,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 
 	/**
 	 * Get the resource key for the view
diff --git a/engines/titanic/debugger.h b/engines/titanic/debugger.h
index cd9da2b..d31159f 100644
--- a/engines/titanic/debugger.h
+++ b/engines/titanic/debugger.h
@@ -124,7 +124,7 @@ protected:
 	TitanicEngine *_vm;
 public:
 	Debugger(TitanicEngine *vm);
-	virtual ~Debugger() {}
+	~Debugger() override {}
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/detection.cpp b/engines/titanic/detection.cpp
index dc1ee84..dc18c03 100644
--- a/engines/titanic/detection.cpp
+++ b/engines/titanic/detection.cpp
@@ -62,23 +62,23 @@ public:
 		_maxScanDepth = 3;
 	}
 
-	virtual const char *getEngineId() const override {
+	const char *getEngineId() const override {
 		return "titanic";
 	}
 
-	virtual const char *getName() const override {
+	const char *getName() const override {
 		return "Starship Titanic";
 	}
 
-	virtual const char *getOriginalCopyright() const override {
+	const char *getOriginalCopyright() const override {
 		return "Starship Titanic (C) The Digital Village";
 	}
 
-	virtual bool hasFeature(MetaEngineFeature f) const override;
-	virtual bool createInstance(OSystem *syst, Engine **engine, const ADGameDescription *desc) const override;
-	virtual SaveStateList listSaves(const char *target) const override;
-	virtual int getMaximumSaveSlot() const override;
-	virtual void removeSaveState(const char *target, int slot) const override;
+	bool hasFeature(MetaEngineFeature f) const override;
+	bool createInstance(OSystem *syst, Engine **engine, const ADGameDescription *desc) const override;
+	SaveStateList listSaves(const char *target) const override;
+	int getMaximumSaveSlot() const override;
+	void removeSaveState(const char *target, int slot) const override;
 	SaveStateDescriptor querySaveMetaInfos(const char *target, int slot) const override;
 };
 
diff --git a/engines/titanic/events.h b/engines/titanic/events.h
index fdf9e91..5e55ddf 100644
--- a/engines/titanic/events.h
+++ b/engines/titanic/events.h
@@ -76,10 +76,10 @@ public:
 	bool _pressed;
 public:
 	CPressTarget() : _pressed(false) {}
-	virtual ~CPressTarget() {}
-	virtual void leftButtonDown(const Point &mousePos) { _pressed = true; }
-	virtual void middleButtonDown(const Point &mousePos) { _pressed = true; }
-	virtual void keyDown(Common::KeyState keyState) {
+	~CPressTarget() override {}
+	void leftButtonDown(const Point &mousePos) override { _pressed = true; }
+	void middleButtonDown(const Point &mousePos) override { _pressed = true; }
+	void keyDown(Common::KeyState keyState) override {
 		if (keyState.ascii)
 			_pressed = true;
 	}
diff --git a/engines/titanic/game/announce.h b/engines/titanic/game/announce.h
index caacb8f..cfb30fb 100644
--- a/engines/titanic/game/announce.h
+++ b/engines/titanic/game/announce.h
@@ -44,12 +44,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/annoy_barbot.h b/engines/titanic/game/annoy_barbot.h
index 0ccfe43..557b0b2 100644
--- a/engines/titanic/game/annoy_barbot.h
+++ b/engines/titanic/game/annoy_barbot.h
@@ -38,12 +38,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/arb_background.h b/engines/titanic/game/arb_background.h
index 88d4d1b..f538e64 100644
--- a/engines/titanic/game/arb_background.h
+++ b/engines/titanic/game/arb_background.h
@@ -41,12 +41,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/arboretum_gate.h b/engines/titanic/game/arboretum_gate.h
index ee364a3..70657f7 100644
--- a/engines/titanic/game/arboretum_gate.h
+++ b/engines/titanic/game/arboretum_gate.h
@@ -79,12 +79,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/auto_animate.h b/engines/titanic/game/auto_animate.h
index 48764ad..c729cab 100644
--- a/engines/titanic/game/auto_animate.h
+++ b/engines/titanic/game/auto_animate.h
@@ -43,12 +43,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/bar_bell.h b/engines/titanic/game/bar_bell.h
index b50fe50..cea4a1c 100644
--- a/engines/titanic/game/bar_bell.h
+++ b/engines/titanic/game/bar_bell.h
@@ -47,12 +47,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/bar_menu.h b/engines/titanic/game/bar_menu.h
index f16f7b0..41054d3 100644
--- a/engines/titanic/game/bar_menu.h
+++ b/engines/titanic/game/bar_menu.h
@@ -46,12 +46,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/bar_menu_button.h b/engines/titanic/game/bar_menu_button.h
index 300435c..38beb62 100644
--- a/engines/titanic/game/bar_menu_button.h
+++ b/engines/titanic/game/bar_menu_button.h
@@ -40,12 +40,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/belbot_get_light.h b/engines/titanic/game/belbot_get_light.h
index 1707ad4..3bf4012 100644
--- a/engines/titanic/game/belbot_get_light.h
+++ b/engines/titanic/game/belbot_get_light.h
@@ -41,12 +41,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/bomb.h b/engines/titanic/game/bomb.h
index c474abf..0f3dd5b 100644
--- a/engines/titanic/game/bomb.h
+++ b/engines/titanic/game/bomb.h
@@ -57,12 +57,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/bottom_of_well_monitor.h b/engines/titanic/game/bottom_of_well_monitor.h
index e17c8ab..669ebe5 100644
--- a/engines/titanic/game/bottom_of_well_monitor.h
+++ b/engines/titanic/game/bottom_of_well_monitor.h
@@ -44,12 +44,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/bowl_unlocker.h b/engines/titanic/game/bowl_unlocker.h
index b940661..eec95b0 100644
--- a/engines/titanic/game/bowl_unlocker.h
+++ b/engines/titanic/game/bowl_unlocker.h
@@ -42,12 +42,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/brain_slot.h b/engines/titanic/game/brain_slot.h
index a850363..3973dea 100644
--- a/engines/titanic/game/brain_slot.h
+++ b/engines/titanic/game/brain_slot.h
@@ -47,12 +47,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/bridge_door.h b/engines/titanic/game/bridge_door.h
index 010a8b8..78a83a1 100644
--- a/engines/titanic/game/bridge_door.h
+++ b/engines/titanic/game/bridge_door.h
@@ -38,12 +38,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/bridge_view.h b/engines/titanic/game/bridge_view.h
index 01bd631..e534bc7 100644
--- a/engines/titanic/game/bridge_view.h
+++ b/engines/titanic/game/bridge_view.h
@@ -44,12 +44,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/broken_pell_base.h b/engines/titanic/game/broken_pell_base.h
index 2d42f14..9a18fe9 100644
--- a/engines/titanic/game/broken_pell_base.h
+++ b/engines/titanic/game/broken_pell_base.h
@@ -43,12 +43,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/broken_pellerator.h b/engines/titanic/game/broken_pellerator.h
index f243f4e..c2d2d88 100644
--- a/engines/titanic/game/broken_pellerator.h
+++ b/engines/titanic/game/broken_pellerator.h
@@ -44,12 +44,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/broken_pellerator_froz.h b/engines/titanic/game/broken_pellerator_froz.h
index c198d02..fa5ba2c 100644
--- a/engines/titanic/game/broken_pellerator_froz.h
+++ b/engines/titanic/game/broken_pellerator_froz.h
@@ -44,12 +44,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/cage.h b/engines/titanic/game/cage.h
index 48b1b46..908bce3 100644
--- a/engines/titanic/game/cage.h
+++ b/engines/titanic/game/cage.h
@@ -43,12 +43,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/captains_wheel.h b/engines/titanic/game/captains_wheel.h
index 7dce1ac..b8d273f 100644
--- a/engines/titanic/game/captains_wheel.h
+++ b/engines/titanic/game/captains_wheel.h
@@ -49,12 +49,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/cdrom.h b/engines/titanic/game/cdrom.h
index 12175f6..6a390db 100644
--- a/engines/titanic/game/cdrom.h
+++ b/engines/titanic/game/cdrom.h
@@ -44,12 +44,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/cdrom_computer.h b/engines/titanic/game/cdrom_computer.h
index 39fa9b9..3d07dd6 100644
--- a/engines/titanic/game/cdrom_computer.h
+++ b/engines/titanic/game/cdrom_computer.h
@@ -40,12 +40,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/cdrom_tray.h b/engines/titanic/game/cdrom_tray.h
index 10fc1e1..74ab291 100644
--- a/engines/titanic/game/cdrom_tray.h
+++ b/engines/titanic/game/cdrom_tray.h
@@ -43,12 +43,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/cell_point_button.h b/engines/titanic/game/cell_point_button.h
index bee7344..a431eb3 100644
--- a/engines/titanic/game/cell_point_button.h
+++ b/engines/titanic/game/cell_point_button.h
@@ -52,12 +52,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/chev_code.h b/engines/titanic/game/chev_code.h
index 4a71b13..395d25b 100644
--- a/engines/titanic/game/chev_code.h
+++ b/engines/titanic/game/chev_code.h
@@ -48,12 +48,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/chev_panel.h b/engines/titanic/game/chev_panel.h
index bcfb920..2b22704 100644
--- a/engines/titanic/game/chev_panel.h
+++ b/engines/titanic/game/chev_panel.h
@@ -47,12 +47,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/chicken_cooler.h b/engines/titanic/game/chicken_cooler.h
index e1ad7cb..0bbfe4e 100644
--- a/engines/titanic/game/chicken_cooler.h
+++ b/engines/titanic/game/chicken_cooler.h
@@ -42,12 +42,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/chicken_dispensor.h b/engines/titanic/game/chicken_dispensor.h
index e605da0..165a7dc 100644
--- a/engines/titanic/game/chicken_dispensor.h
+++ b/engines/titanic/game/chicken_dispensor.h
@@ -49,12 +49,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/close_broken_pel.h b/engines/titanic/game/close_broken_pel.h
index 4bd6625..d4c5a76 100644
--- a/engines/titanic/game/close_broken_pel.h
+++ b/engines/titanic/game/close_broken_pel.h
@@ -38,12 +38,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/code_wheel.h b/engines/titanic/game/code_wheel.h
index 4af1c6f..b01e1fc 100644
--- a/engines/titanic/game/code_wheel.h
+++ b/engines/titanic/game/code_wheel.h
@@ -47,12 +47,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 
 	/**
 	 * Resets a code wheel back to the default 'O' value
diff --git a/engines/titanic/game/computer.h b/engines/titanic/game/computer.h
index 6acdba2..9fa8323 100644
--- a/engines/titanic/game/computer.h
+++ b/engines/titanic/game/computer.h
@@ -42,12 +42,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/computer_screen.h b/engines/titanic/game/computer_screen.h
index 8affef3..4507f4d 100644
--- a/engines/titanic/game/computer_screen.h
+++ b/engines/titanic/game/computer_screen.h
@@ -41,12 +41,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/cookie.h b/engines/titanic/game/cookie.h
index 2018dee..6908525 100644
--- a/engines/titanic/game/cookie.h
+++ b/engines/titanic/game/cookie.h
@@ -41,12 +41,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/credits.h b/engines/titanic/game/credits.h
index 23fd255..91f395f 100644
--- a/engines/titanic/game/credits.h
+++ b/engines/titanic/game/credits.h
@@ -40,12 +40,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/credits_button.h b/engines/titanic/game/credits_button.h
index 4a53083..1befd5e 100644
--- a/engines/titanic/game/credits_button.h
+++ b/engines/titanic/game/credits_button.h
@@ -40,12 +40,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/dead_area.h b/engines/titanic/game/dead_area.h
index fdb44ef..74ad051 100644
--- a/engines/titanic/game/dead_area.h
+++ b/engines/titanic/game/dead_area.h
@@ -42,12 +42,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/desk_click_responder.h b/engines/titanic/game/desk_click_responder.h
index 13cf7f4..1966dbe 100644
--- a/engines/titanic/game/desk_click_responder.h
+++ b/engines/titanic/game/desk_click_responder.h
@@ -40,12 +40,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/doorbot_elevator_handler.h b/engines/titanic/game/doorbot_elevator_handler.h
index f846273..2eef24e 100644
--- a/engines/titanic/game/doorbot_elevator_handler.h
+++ b/engines/titanic/game/doorbot_elevator_handler.h
@@ -40,12 +40,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/doorbot_home_handler.h b/engines/titanic/game/doorbot_home_handler.h
index 10552f2..cbb4086 100644
--- a/engines/titanic/game/doorbot_home_handler.h
+++ b/engines/titanic/game/doorbot_home_handler.h
@@ -37,12 +37,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/ear_sweet_bowl.h b/engines/titanic/game/ear_sweet_bowl.h
index 1324ed2..144b5b9 100644
--- a/engines/titanic/game/ear_sweet_bowl.h
+++ b/engines/titanic/game/ear_sweet_bowl.h
@@ -37,12 +37,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/eject_phonograph_button.h b/engines/titanic/game/eject_phonograph_button.h
index df8e602..890b67a 100644
--- a/engines/titanic/game/eject_phonograph_button.h
+++ b/engines/titanic/game/eject_phonograph_button.h
@@ -43,12 +43,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/elevator_action_area.h b/engines/titanic/game/elevator_action_area.h
index 75d3a06..e6d55e3 100644
--- a/engines/titanic/game/elevator_action_area.h
+++ b/engines/titanic/game/elevator_action_area.h
@@ -39,12 +39,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/emma_control.h b/engines/titanic/game/emma_control.h
index e4032ca..3caed74 100644
--- a/engines/titanic/game/emma_control.h
+++ b/engines/titanic/game/emma_control.h
@@ -44,12 +44,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/empty_nut_bowl.h b/engines/titanic/game/empty_nut_bowl.h
index d67e75b..0e3176b 100644
--- a/engines/titanic/game/empty_nut_bowl.h
+++ b/engines/titanic/game/empty_nut_bowl.h
@@ -42,12 +42,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/end_credit_text.h b/engines/titanic/game/end_credit_text.h
index a0e0078..5c8cd64 100644
--- a/engines/titanic/game/end_credit_text.h
+++ b/engines/titanic/game/end_credit_text.h
@@ -41,12 +41,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/end_credits.h b/engines/titanic/game/end_credits.h
index 257c5b6..4c99d9c 100644
--- a/engines/titanic/game/end_credits.h
+++ b/engines/titanic/game/end_credits.h
@@ -40,12 +40,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/end_explode_ship.h b/engines/titanic/game/end_explode_ship.h
index 592741e..9e85f46 100644
--- a/engines/titanic/game/end_explode_ship.h
+++ b/engines/titanic/game/end_explode_ship.h
@@ -43,12 +43,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/end_game_credits.h b/engines/titanic/game/end_game_credits.h
index 13a9242..fbf6ab8 100644
--- a/engines/titanic/game/end_game_credits.h
+++ b/engines/titanic/game/end_game_credits.h
@@ -43,12 +43,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/end_sequence_control.h b/engines/titanic/game/end_sequence_control.h
index 223f251..dbc7edc 100644
--- a/engines/titanic/game/end_sequence_control.h
+++ b/engines/titanic/game/end_sequence_control.h
@@ -40,12 +40,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/fan.h b/engines/titanic/game/fan.h
index 9cffce8..de394ea 100644
--- a/engines/titanic/game/fan.h
+++ b/engines/titanic/game/fan.h
@@ -41,12 +41,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/fan_control.h b/engines/titanic/game/fan_control.h
index 063243c..5948682 100644
--- a/engines/titanic/game/fan_control.h
+++ b/engines/titanic/game/fan_control.h
@@ -47,12 +47,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/fan_decrease.h b/engines/titanic/game/fan_decrease.h
index 2e90d09..c3b816a 100644
--- a/engines/titanic/game/fan_decrease.h
+++ b/engines/titanic/game/fan_decrease.h
@@ -36,12 +36,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/fan_increase.h b/engines/titanic/game/fan_increase.h
index 7ed74e1..beddab6 100644
--- a/engines/titanic/game/fan_increase.h
+++ b/engines/titanic/game/fan_increase.h
@@ -36,12 +36,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/fan_noises.h b/engines/titanic/game/fan_noises.h
index 488d42e..ff8d075 100644
--- a/engines/titanic/game/fan_noises.h
+++ b/engines/titanic/game/fan_noises.h
@@ -50,12 +50,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/floor_indicator.h b/engines/titanic/game/floor_indicator.h
index 38a1757..7160b2c 100644
--- a/engines/titanic/game/floor_indicator.h
+++ b/engines/titanic/game/floor_indicator.h
@@ -36,12 +36,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/games_console.h b/engines/titanic/game/games_console.h
index f849fd0..0321f58 100644
--- a/engines/titanic/game/games_console.h
+++ b/engines/titanic/game/games_console.h
@@ -40,12 +40,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/get_lift_eye2.h b/engines/titanic/game/get_lift_eye2.h
index c0dd492..d5d4149 100644
--- a/engines/titanic/game/get_lift_eye2.h
+++ b/engines/titanic/game/get_lift_eye2.h
@@ -43,12 +43,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/glass_smasher.h b/engines/titanic/game/glass_smasher.h
index e1eef6f..afb35bf 100644
--- a/engines/titanic/game/glass_smasher.h
+++ b/engines/titanic/game/glass_smasher.h
@@ -37,12 +37,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/gondolier/gondolier_base.h b/engines/titanic/game/gondolier/gondolier_base.h
index 8574a86..43f51bb 100644
--- a/engines/titanic/game/gondolier/gondolier_base.h
+++ b/engines/titanic/game/gondolier/gondolier_base.h
@@ -47,12 +47,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/gondolier/gondolier_chest.h b/engines/titanic/game/gondolier/gondolier_chest.h
index 8f06924..4188273 100644
--- a/engines/titanic/game/gondolier/gondolier_chest.h
+++ b/engines/titanic/game/gondolier/gondolier_chest.h
@@ -38,12 +38,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/gondolier/gondolier_face.h b/engines/titanic/game/gondolier/gondolier_face.h
index b441204..4c791f2 100644
--- a/engines/titanic/game/gondolier/gondolier_face.h
+++ b/engines/titanic/game/gondolier/gondolier_face.h
@@ -40,12 +40,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/gondolier/gondolier_mixer.h b/engines/titanic/game/gondolier/gondolier_mixer.h
index d1a0b18..0a104f6 100644
--- a/engines/titanic/game/gondolier/gondolier_mixer.h
+++ b/engines/titanic/game/gondolier/gondolier_mixer.h
@@ -52,12 +52,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/gondolier/gondolier_slider.h b/engines/titanic/game/gondolier/gondolier_slider.h
index 0679c0d..d6ab038 100644
--- a/engines/titanic/game/gondolier/gondolier_slider.h
+++ b/engines/titanic/game/gondolier/gondolier_slider.h
@@ -56,12 +56,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/hammer_clip.h b/engines/titanic/game/hammer_clip.h
index 4af58c2..82d0e58 100644
--- a/engines/titanic/game/hammer_clip.h
+++ b/engines/titanic/game/hammer_clip.h
@@ -41,12 +41,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/hammer_dispensor.h b/engines/titanic/game/hammer_dispensor.h
index f93f414..db22c64 100644
--- a/engines/titanic/game/hammer_dispensor.h
+++ b/engines/titanic/game/hammer_dispensor.h
@@ -44,12 +44,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/hammer_dispensor_button.h b/engines/titanic/game/hammer_dispensor_button.h
index 0194021..b627f6a 100644
--- a/engines/titanic/game/hammer_dispensor_button.h
+++ b/engines/titanic/game/hammer_dispensor_button.h
@@ -50,12 +50,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/head_slot.h b/engines/titanic/game/head_slot.h
index 1474e03..106a2aa 100644
--- a/engines/titanic/game/head_slot.h
+++ b/engines/titanic/game/head_slot.h
@@ -56,12 +56,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/head_smash_event.h b/engines/titanic/game/head_smash_event.h
index 09fd7a5..ee75b10 100644
--- a/engines/titanic/game/head_smash_event.h
+++ b/engines/titanic/game/head_smash_event.h
@@ -37,12 +37,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/head_smash_lever.h b/engines/titanic/game/head_smash_lever.h
index 19de079..4ad10b8 100644
--- a/engines/titanic/game/head_smash_lever.h
+++ b/engines/titanic/game/head_smash_lever.h
@@ -44,12 +44,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/head_spinner.h b/engines/titanic/game/head_spinner.h
index 4456070..dc39831 100644
--- a/engines/titanic/game/head_spinner.h
+++ b/engines/titanic/game/head_spinner.h
@@ -37,12 +37,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/idle_summoner.h b/engines/titanic/game/idle_summoner.h
index 054ec6e..fafc6ba 100644
--- a/engines/titanic/game/idle_summoner.h
+++ b/engines/titanic/game/idle_summoner.h
@@ -50,12 +50,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/leave_sec_class_state.h b/engines/titanic/game/leave_sec_class_state.h
index 0b1e854..edce7f2 100644
--- a/engines/titanic/game/leave_sec_class_state.h
+++ b/engines/titanic/game/leave_sec_class_state.h
@@ -35,12 +35,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/lemon_dispensor.h b/engines/titanic/game/lemon_dispensor.h
index bc58e0d..303a816 100644
--- a/engines/titanic/game/lemon_dispensor.h
+++ b/engines/titanic/game/lemon_dispensor.h
@@ -48,12 +48,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/light.h b/engines/titanic/game/light.h
index 2e5dbfa..01d4fcc 100644
--- a/engines/titanic/game/light.h
+++ b/engines/titanic/game/light.h
@@ -54,12 +54,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/light_switch.h b/engines/titanic/game/light_switch.h
index 1cde4f0..d457a83 100644
--- a/engines/titanic/game/light_switch.h
+++ b/engines/titanic/game/light_switch.h
@@ -52,12 +52,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/little_lift_button.h b/engines/titanic/game/little_lift_button.h
index 2cbf3b9..99812e8 100644
--- a/engines/titanic/game/little_lift_button.h
+++ b/engines/titanic/game/little_lift_button.h
@@ -40,12 +40,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/long_stick_dispenser.h b/engines/titanic/game/long_stick_dispenser.h
index be05ef9..98e5bf5 100644
--- a/engines/titanic/game/long_stick_dispenser.h
+++ b/engines/titanic/game/long_stick_dispenser.h
@@ -50,12 +50,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/maitred/maitred_arm_holder.h b/engines/titanic/game/maitred/maitred_arm_holder.h
index 22f961f..0113b6d 100644
--- a/engines/titanic/game/maitred/maitred_arm_holder.h
+++ b/engines/titanic/game/maitred/maitred_arm_holder.h
@@ -37,12 +37,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/maitred/maitred_body.h b/engines/titanic/game/maitred/maitred_body.h
index 1798958..4470d2e 100644
--- a/engines/titanic/game/maitred/maitred_body.h
+++ b/engines/titanic/game/maitred/maitred_body.h
@@ -41,12 +41,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/maitred/maitred_legs.h b/engines/titanic/game/maitred/maitred_legs.h
index b8a32ee..9a6c9bf 100644
--- a/engines/titanic/game/maitred/maitred_legs.h
+++ b/engines/titanic/game/maitred/maitred_legs.h
@@ -40,12 +40,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/maitred/maitred_prod_receptor.h b/engines/titanic/game/maitred/maitred_prod_receptor.h
index e862668..53f37ac 100644
--- a/engines/titanic/game/maitred/maitred_prod_receptor.h
+++ b/engines/titanic/game/maitred/maitred_prod_receptor.h
@@ -47,12 +47,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/missiveomat.h b/engines/titanic/game/missiveomat.h
index c8441ed..061f7e1 100644
--- a/engines/titanic/game/missiveomat.h
+++ b/engines/titanic/game/missiveomat.h
@@ -67,12 +67,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/missiveomat_button.h b/engines/titanic/game/missiveomat_button.h
index b029f6c..68e2040 100644
--- a/engines/titanic/game/missiveomat_button.h
+++ b/engines/titanic/game/missiveomat_button.h
@@ -42,12 +42,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/movie_tester.h b/engines/titanic/game/movie_tester.h
index 60eacee..ad3a03b 100644
--- a/engines/titanic/game/movie_tester.h
+++ b/engines/titanic/game/movie_tester.h
@@ -39,12 +39,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 
 	/**
 	 * Loads a movie
diff --git a/engines/titanic/game/music_console_button.h b/engines/titanic/game/music_console_button.h
index 80ce719..657701f 100644
--- a/engines/titanic/game/music_console_button.h
+++ b/engines/titanic/game/music_console_button.h
@@ -38,12 +38,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/music_room_phonograph.h b/engines/titanic/game/music_room_phonograph.h
index 9286861..33c5149 100644
--- a/engines/titanic/game/music_room_phonograph.h
+++ b/engines/titanic/game/music_room_phonograph.h
@@ -38,12 +38,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/music_room_stop_phonograph_button.h b/engines/titanic/game/music_room_stop_phonograph_button.h
index dd9e8b4..1571a0a 100644
--- a/engines/titanic/game/music_room_stop_phonograph_button.h
+++ b/engines/titanic/game/music_room_stop_phonograph_button.h
@@ -40,12 +40,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/music_system_lock.h b/engines/titanic/game/music_system_lock.h
index 0947915..46be1f9 100644
--- a/engines/titanic/game/music_system_lock.h
+++ b/engines/titanic/game/music_system_lock.h
@@ -40,12 +40,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/musical_instrument.h b/engines/titanic/game/musical_instrument.h
index 5d18ed9..ce1e743 100644
--- a/engines/titanic/game/musical_instrument.h
+++ b/engines/titanic/game/musical_instrument.h
@@ -35,12 +35,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/nav_helmet.h b/engines/titanic/game/nav_helmet.h
index 6e30c4b..ef8315f 100644
--- a/engines/titanic/game/nav_helmet.h
+++ b/engines/titanic/game/nav_helmet.h
@@ -46,12 +46,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/nav_helmet_off.h b/engines/titanic/game/nav_helmet_off.h
index c9529fe..0a26d4f 100644
--- a/engines/titanic/game/nav_helmet_off.h
+++ b/engines/titanic/game/nav_helmet_off.h
@@ -40,12 +40,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/nav_helmet_on.h b/engines/titanic/game/nav_helmet_on.h
index 452637c..f52e6ae 100644
--- a/engines/titanic/game/nav_helmet_on.h
+++ b/engines/titanic/game/nav_helmet_on.h
@@ -40,12 +40,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/navigation_computer.h b/engines/titanic/game/navigation_computer.h
index 27d06c1..5d7811d 100644
--- a/engines/titanic/game/navigation_computer.h
+++ b/engines/titanic/game/navigation_computer.h
@@ -35,12 +35,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/no_nut_bowl.h b/engines/titanic/game/no_nut_bowl.h
index cd8bc65..8eb24a3 100644
--- a/engines/titanic/game/no_nut_bowl.h
+++ b/engines/titanic/game/no_nut_bowl.h
@@ -38,12 +38,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/nose_holder.h b/engines/titanic/game/nose_holder.h
index ef20b6f..2607fa4 100644
--- a/engines/titanic/game/nose_holder.h
+++ b/engines/titanic/game/nose_holder.h
@@ -44,12 +44,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/null_port_hole.h b/engines/titanic/game/null_port_hole.h
index 2656427..848f6e2 100644
--- a/engines/titanic/game/null_port_hole.h
+++ b/engines/titanic/game/null_port_hole.h
@@ -36,12 +36,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/nut_replacer.h b/engines/titanic/game/nut_replacer.h
index e2eed4e..d1e65e8 100644
--- a/engines/titanic/game/nut_replacer.h
+++ b/engines/titanic/game/nut_replacer.h
@@ -37,12 +37,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/parrot/parrot_lobby_controller.h b/engines/titanic/game/parrot/parrot_lobby_controller.h
index 896a4e1..6a4a43b 100644
--- a/engines/titanic/game/parrot/parrot_lobby_controller.h
+++ b/engines/titanic/game/parrot/parrot_lobby_controller.h
@@ -36,12 +36,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/parrot/parrot_lobby_link_updater.h b/engines/titanic/game/parrot/parrot_lobby_link_updater.h
index 93db931..b9e9225 100644
--- a/engines/titanic/game/parrot/parrot_lobby_link_updater.h
+++ b/engines/titanic/game/parrot/parrot_lobby_link_updater.h
@@ -55,12 +55,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/parrot/parrot_lobby_object.h b/engines/titanic/game/parrot/parrot_lobby_object.h
index a210331..7ee101c 100644
--- a/engines/titanic/game/parrot/parrot_lobby_object.h
+++ b/engines/titanic/game/parrot/parrot_lobby_object.h
@@ -42,12 +42,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/parrot/parrot_lobby_view_object.h b/engines/titanic/game/parrot/parrot_lobby_view_object.h
index 484d709..e725cee 100644
--- a/engines/titanic/game/parrot/parrot_lobby_view_object.h
+++ b/engines/titanic/game/parrot/parrot_lobby_view_object.h
@@ -39,12 +39,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/parrot/parrot_loser.h b/engines/titanic/game/parrot/parrot_loser.h
index e03bfb0..2455eda 100644
--- a/engines/titanic/game/parrot/parrot_loser.h
+++ b/engines/titanic/game/parrot/parrot_loser.h
@@ -36,12 +36,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/parrot/parrot_nut_bowl_actor.h b/engines/titanic/game/parrot/parrot_nut_bowl_actor.h
index b228c0e..84bc1d7 100644
--- a/engines/titanic/game/parrot/parrot_nut_bowl_actor.h
+++ b/engines/titanic/game/parrot/parrot_nut_bowl_actor.h
@@ -46,12 +46,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/parrot/parrot_nut_eater.h b/engines/titanic/game/parrot/parrot_nut_eater.h
index e09ad63..f34c48e 100644
--- a/engines/titanic/game/parrot/parrot_nut_eater.h
+++ b/engines/titanic/game/parrot/parrot_nut_eater.h
@@ -46,12 +46,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/parrot/parrot_perch_holder.h b/engines/titanic/game/parrot/parrot_perch_holder.h
index c1fe243..262d3dc 100644
--- a/engines/titanic/game/parrot/parrot_perch_holder.h
+++ b/engines/titanic/game/parrot/parrot_perch_holder.h
@@ -39,12 +39,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/parrot/parrot_trigger.h b/engines/titanic/game/parrot/parrot_trigger.h
index 6fba77b..e233c3f 100644
--- a/engines/titanic/game/parrot/parrot_trigger.h
+++ b/engines/titanic/game/parrot/parrot_trigger.h
@@ -39,12 +39,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/parrot/player_meets_parrot.h b/engines/titanic/game/parrot/player_meets_parrot.h
index edae188..4a36a65 100644
--- a/engines/titanic/game/parrot/player_meets_parrot.h
+++ b/engines/titanic/game/parrot/player_meets_parrot.h
@@ -38,12 +38,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/pet/pet.h b/engines/titanic/game/pet/pet.h
index de31a42..310f13e 100644
--- a/engines/titanic/game/pet/pet.h
+++ b/engines/titanic/game/pet/pet.h
@@ -45,12 +45,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/pet/pet_class1.h b/engines/titanic/game/pet/pet_class1.h
index fb7a48b..2a94c64 100644
--- a/engines/titanic/game/pet/pet_class1.h
+++ b/engines/titanic/game/pet/pet_class1.h
@@ -35,12 +35,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/pet/pet_class2.h b/engines/titanic/game/pet/pet_class2.h
index c8855c8..85f0f4f 100644
--- a/engines/titanic/game/pet/pet_class2.h
+++ b/engines/titanic/game/pet/pet_class2.h
@@ -35,12 +35,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/pet/pet_class3.h b/engines/titanic/game/pet/pet_class3.h
index 59d8389..a10a150 100644
--- a/engines/titanic/game/pet/pet_class3.h
+++ b/engines/titanic/game/pet/pet_class3.h
@@ -35,12 +35,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/pet/pet_lift.h b/engines/titanic/game/pet/pet_lift.h
index ce3aace..8ec5caf 100644
--- a/engines/titanic/game/pet/pet_lift.h
+++ b/engines/titanic/game/pet/pet_lift.h
@@ -36,12 +36,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/pet/pet_monitor.h b/engines/titanic/game/pet/pet_monitor.h
index 61d1ba8..e6dd120 100644
--- a/engines/titanic/game/pet/pet_monitor.h
+++ b/engines/titanic/game/pet/pet_monitor.h
@@ -37,12 +37,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/pet/pet_pellerator.h b/engines/titanic/game/pet/pet_pellerator.h
index 51af6f1..049d3de 100644
--- a/engines/titanic/game/pet/pet_pellerator.h
+++ b/engines/titanic/game/pet/pet_pellerator.h
@@ -37,12 +37,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/pet/pet_position.h b/engines/titanic/game/pet/pet_position.h
index 0cf835f..d31ce2a 100644
--- a/engines/titanic/game/pet/pet_position.h
+++ b/engines/titanic/game/pet/pet_position.h
@@ -39,12 +39,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/pet/pet_sentinal.h b/engines/titanic/game/pet/pet_sentinal.h
index 150fe4a..f3aba5e 100644
--- a/engines/titanic/game/pet/pet_sentinal.h
+++ b/engines/titanic/game/pet/pet_sentinal.h
@@ -41,12 +41,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/pet/pet_sounds.h b/engines/titanic/game/pet/pet_sounds.h
index 2262fde..10dce48 100644
--- a/engines/titanic/game/pet/pet_sounds.h
+++ b/engines/titanic/game/pet/pet_sounds.h
@@ -41,12 +41,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/pet/pet_transition.h b/engines/titanic/game/pet/pet_transition.h
index d0fa20c..2ddcc46 100644
--- a/engines/titanic/game/pet/pet_transition.h
+++ b/engines/titanic/game/pet/pet_transition.h
@@ -36,12 +36,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/pet/pet_transport.h b/engines/titanic/game/pet/pet_transport.h
index 6a08c4b..4e4a7fd 100644
--- a/engines/titanic/game/pet/pet_transport.h
+++ b/engines/titanic/game/pet/pet_transport.h
@@ -38,12 +38,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/pet_disabler.h b/engines/titanic/game/pet_disabler.h
index 06e99be..7ec06ac 100644
--- a/engines/titanic/game/pet_disabler.h
+++ b/engines/titanic/game/pet_disabler.h
@@ -40,12 +40,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/phonograph.h b/engines/titanic/game/phonograph.h
index 6630a18..6be4ff8 100644
--- a/engines/titanic/game/phonograph.h
+++ b/engines/titanic/game/phonograph.h
@@ -51,12 +51,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/phonograph_lid.h b/engines/titanic/game/phonograph_lid.h
index 4e71d70..a118c5d 100644
--- a/engines/titanic/game/phonograph_lid.h
+++ b/engines/titanic/game/phonograph_lid.h
@@ -42,12 +42,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/pickup/pick_up.h b/engines/titanic/game/pickup/pick_up.h
index f5ee06f..186f63d 100644
--- a/engines/titanic/game/pickup/pick_up.h
+++ b/engines/titanic/game/pickup/pick_up.h
@@ -39,12 +39,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/pickup/pick_up_bar_glass.h b/engines/titanic/game/pickup/pick_up_bar_glass.h
index d273d96..833f82a 100644
--- a/engines/titanic/game/pickup/pick_up_bar_glass.h
+++ b/engines/titanic/game/pickup/pick_up_bar_glass.h
@@ -38,12 +38,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/pickup/pick_up_hose.h b/engines/titanic/game/pickup/pick_up_hose.h
index 2ad7c2a..d5527e3 100644
--- a/engines/titanic/game/pickup/pick_up_hose.h
+++ b/engines/titanic/game/pickup/pick_up_hose.h
@@ -43,12 +43,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/pickup/pick_up_lemon.h b/engines/titanic/game/pickup/pick_up_lemon.h
index c196acd..055d1e4 100644
--- a/engines/titanic/game/pickup/pick_up_lemon.h
+++ b/engines/titanic/game/pickup/pick_up_lemon.h
@@ -37,12 +37,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/pickup/pick_up_speech_centre.h b/engines/titanic/game/pickup/pick_up_speech_centre.h
index 81ee0b5..61175a1 100644
--- a/engines/titanic/game/pickup/pick_up_speech_centre.h
+++ b/engines/titanic/game/pickup/pick_up_speech_centre.h
@@ -38,12 +38,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/pickup/pick_up_vis_centre.h b/engines/titanic/game/pickup/pick_up_vis_centre.h
index a5f5921..83d2df0 100644
--- a/engines/titanic/game/pickup/pick_up_vis_centre.h
+++ b/engines/titanic/game/pickup/pick_up_vis_centre.h
@@ -37,12 +37,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/place_holder_item.h b/engines/titanic/game/place_holder_item.h
index c485037..b32194d 100644
--- a/engines/titanic/game/place_holder_item.h
+++ b/engines/titanic/game/place_holder_item.h
@@ -50,12 +50,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/placeholder/bar_shelf_vis_centre.h b/engines/titanic/game/placeholder/bar_shelf_vis_centre.h
index 2561364..43f5363 100644
--- a/engines/titanic/game/placeholder/bar_shelf_vis_centre.h
+++ b/engines/titanic/game/placeholder/bar_shelf_vis_centre.h
@@ -41,12 +41,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/placeholder/lemon_on_bar.h b/engines/titanic/game/placeholder/lemon_on_bar.h
index c6512ce..04c3b5f 100644
--- a/engines/titanic/game/placeholder/lemon_on_bar.h
+++ b/engines/titanic/game/placeholder/lemon_on_bar.h
@@ -38,12 +38,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/placeholder/place_holder.h b/engines/titanic/game/placeholder/place_holder.h
index b1aa041..70373cb 100644
--- a/engines/titanic/game/placeholder/place_holder.h
+++ b/engines/titanic/game/placeholder/place_holder.h
@@ -36,12 +36,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/placeholder/tv_on_bar.h b/engines/titanic/game/placeholder/tv_on_bar.h
index 0157bc8..1d596b3 100644
--- a/engines/titanic/game/placeholder/tv_on_bar.h
+++ b/engines/titanic/game/placeholder/tv_on_bar.h
@@ -38,12 +38,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/play_music_button.h b/engines/titanic/game/play_music_button.h
index 824b372..b9c69d9 100644
--- a/engines/titanic/game/play_music_button.h
+++ b/engines/titanic/game/play_music_button.h
@@ -41,12 +41,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/play_on_act.h b/engines/titanic/game/play_on_act.h
index 72615f2..62bd624 100644
--- a/engines/titanic/game/play_on_act.h
+++ b/engines/titanic/game/play_on_act.h
@@ -37,12 +37,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/port_hole.h b/engines/titanic/game/port_hole.h
index 9f1997a..fc0af7b 100644
--- a/engines/titanic/game/port_hole.h
+++ b/engines/titanic/game/port_hole.h
@@ -43,12 +43,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/record_phonograph_button.h b/engines/titanic/game/record_phonograph_button.h
index 985a4c4..36e3b36 100644
--- a/engines/titanic/game/record_phonograph_button.h
+++ b/engines/titanic/game/record_phonograph_button.h
@@ -40,12 +40,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/replacement_ear.h b/engines/titanic/game/replacement_ear.h
index 7775a96..ffdba04 100644
--- a/engines/titanic/game/replacement_ear.h
+++ b/engines/titanic/game/replacement_ear.h
@@ -36,12 +36,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/reserved_table.h b/engines/titanic/game/reserved_table.h
index bc037ae..926b7ce 100644
--- a/engines/titanic/game/reserved_table.h
+++ b/engines/titanic/game/reserved_table.h
@@ -41,12 +41,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/restaurant_cylinder_holder.h b/engines/titanic/game/restaurant_cylinder_holder.h
index 63f9ccd..849e9b4 100644
--- a/engines/titanic/game/restaurant_cylinder_holder.h
+++ b/engines/titanic/game/restaurant_cylinder_holder.h
@@ -51,12 +51,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/restaurant_phonograph.h b/engines/titanic/game/restaurant_phonograph.h
index 6724844..f92cc59 100644
--- a/engines/titanic/game/restaurant_phonograph.h
+++ b/engines/titanic/game/restaurant_phonograph.h
@@ -48,12 +48,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/sauce_dispensor.h b/engines/titanic/game/sauce_dispensor.h
index 7d7d921..0e986cc 100644
--- a/engines/titanic/game/sauce_dispensor.h
+++ b/engines/titanic/game/sauce_dispensor.h
@@ -50,12 +50,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/search_point.h b/engines/titanic/game/search_point.h
index 421f272..25eb645 100644
--- a/engines/titanic/game/search_point.h
+++ b/engines/titanic/game/search_point.h
@@ -39,12 +39,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/season_background.h b/engines/titanic/game/season_background.h
index d30fd7a..0304003 100644
--- a/engines/titanic/game/season_background.h
+++ b/engines/titanic/game/season_background.h
@@ -45,12 +45,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/season_barrel.h b/engines/titanic/game/season_barrel.h
index 6296b6f..87bf138 100644
--- a/engines/titanic/game/season_barrel.h
+++ b/engines/titanic/game/season_barrel.h
@@ -41,12 +41,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/seasonal_adjustment.h b/engines/titanic/game/seasonal_adjustment.h
index c170879..ecfad4b 100644
--- a/engines/titanic/game/seasonal_adjustment.h
+++ b/engines/titanic/game/seasonal_adjustment.h
@@ -46,12 +46,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/service_elevator_window.h b/engines/titanic/game/service_elevator_window.h
index baeef5a..6d9a589 100644
--- a/engines/titanic/game/service_elevator_window.h
+++ b/engines/titanic/game/service_elevator_window.h
@@ -44,12 +44,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/sgt/armchair.h b/engines/titanic/game/sgt/armchair.h
index 169b9b4..94950b4 100644
--- a/engines/titanic/game/sgt/armchair.h
+++ b/engines/titanic/game/sgt/armchair.h
@@ -38,12 +38,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/sgt/basin.h b/engines/titanic/game/sgt/basin.h
index 1fcb469..05d9ca8 100644
--- a/engines/titanic/game/sgt/basin.h
+++ b/engines/titanic/game/sgt/basin.h
@@ -38,12 +38,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/sgt/bedfoot.h b/engines/titanic/game/sgt/bedfoot.h
index cc7b82b..6f56e14 100644
--- a/engines/titanic/game/sgt/bedfoot.h
+++ b/engines/titanic/game/sgt/bedfoot.h
@@ -37,12 +37,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/sgt/bedhead.h b/engines/titanic/game/sgt/bedhead.h
index 7784cb8..2bbcff4 100644
--- a/engines/titanic/game/sgt/bedhead.h
+++ b/engines/titanic/game/sgt/bedhead.h
@@ -77,12 +77,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/sgt/chest_of_drawers.h b/engines/titanic/game/sgt/chest_of_drawers.h
index 5bf8529..cd1a2b6 100644
--- a/engines/titanic/game/sgt/chest_of_drawers.h
+++ b/engines/titanic/game/sgt/chest_of_drawers.h
@@ -38,12 +38,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/sgt/desk.h b/engines/titanic/game/sgt/desk.h
index 8b9e1fe..45b77c3 100644
--- a/engines/titanic/game/sgt/desk.h
+++ b/engines/titanic/game/sgt/desk.h
@@ -38,12 +38,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/sgt/deskchair.h b/engines/titanic/game/sgt/deskchair.h
index 6e7bbe4..72e5ad0 100644
--- a/engines/titanic/game/sgt/deskchair.h
+++ b/engines/titanic/game/sgt/deskchair.h
@@ -39,12 +39,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/sgt/drawer.h b/engines/titanic/game/sgt/drawer.h
index e8afe66..50714a0 100644
--- a/engines/titanic/game/sgt/drawer.h
+++ b/engines/titanic/game/sgt/drawer.h
@@ -41,12 +41,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/sgt/sgt_doors.h b/engines/titanic/game/sgt/sgt_doors.h
index b19c586..6c938e5 100644
--- a/engines/titanic/game/sgt/sgt_doors.h
+++ b/engines/titanic/game/sgt/sgt_doors.h
@@ -43,12 +43,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/sgt/sgt_nav.h b/engines/titanic/game/sgt/sgt_nav.h
index 78f6417..b2482fc 100644
--- a/engines/titanic/game/sgt/sgt_nav.h
+++ b/engines/titanic/game/sgt/sgt_nav.h
@@ -37,12 +37,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/sgt/sgt_navigation.h b/engines/titanic/game/sgt/sgt_navigation.h
index 5ba7a2f..52a5cbc 100644
--- a/engines/titanic/game/sgt/sgt_navigation.h
+++ b/engines/titanic/game/sgt/sgt_navigation.h
@@ -48,12 +48,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/sgt/sgt_restaurant_doors.h b/engines/titanic/game/sgt/sgt_restaurant_doors.h
index bcaaa71..30ecb48 100644
--- a/engines/titanic/game/sgt/sgt_restaurant_doors.h
+++ b/engines/titanic/game/sgt/sgt_restaurant_doors.h
@@ -39,12 +39,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/sgt/sgt_state_control.h b/engines/titanic/game/sgt/sgt_state_control.h
index 6f96359..195b585 100644
--- a/engines/titanic/game/sgt/sgt_state_control.h
+++ b/engines/titanic/game/sgt/sgt_state_control.h
@@ -44,12 +44,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/sgt/sgt_state_room.h b/engines/titanic/game/sgt/sgt_state_room.h
index bb900df..ed3870b 100644
--- a/engines/titanic/game/sgt/sgt_state_room.h
+++ b/engines/titanic/game/sgt/sgt_state_room.h
@@ -68,12 +68,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/sgt/sgt_tv.h b/engines/titanic/game/sgt/sgt_tv.h
index e5de38e..21d9db1 100644
--- a/engines/titanic/game/sgt/sgt_tv.h
+++ b/engines/titanic/game/sgt/sgt_tv.h
@@ -38,12 +38,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/sgt/sgt_upper_doors_sound.h b/engines/titanic/game/sgt/sgt_upper_doors_sound.h
index fc8c6c2..e578b2c 100644
--- a/engines/titanic/game/sgt/sgt_upper_doors_sound.h
+++ b/engines/titanic/game/sgt/sgt_upper_doors_sound.h
@@ -35,12 +35,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/sgt/toilet.h b/engines/titanic/game/sgt/toilet.h
index a4bc318..5564e69 100644
--- a/engines/titanic/game/sgt/toilet.h
+++ b/engines/titanic/game/sgt/toilet.h
@@ -38,12 +38,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/sgt/vase.h b/engines/titanic/game/sgt/vase.h
index e07d9ef..8018a70 100644
--- a/engines/titanic/game/sgt/vase.h
+++ b/engines/titanic/game/sgt/vase.h
@@ -38,12 +38,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/sgt/washstand.h b/engines/titanic/game/sgt/washstand.h
index 1b72cfa..c3a0a98 100644
--- a/engines/titanic/game/sgt/washstand.h
+++ b/engines/titanic/game/sgt/washstand.h
@@ -38,12 +38,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/ship_setting.h b/engines/titanic/game/ship_setting.h
index 198d97d..ca75cbd 100644
--- a/engines/titanic/game/ship_setting.h
+++ b/engines/titanic/game/ship_setting.h
@@ -46,12 +46,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/ship_setting_button.h b/engines/titanic/game/ship_setting_button.h
index e5457fa..1c64e38 100644
--- a/engines/titanic/game/ship_setting_button.h
+++ b/engines/titanic/game/ship_setting_button.h
@@ -44,12 +44,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/show_cell_points.h b/engines/titanic/game/show_cell_points.h
index 205547d..9eb5124 100644
--- a/engines/titanic/game/show_cell_points.h
+++ b/engines/titanic/game/show_cell_points.h
@@ -41,12 +41,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/speech_dispensor.h b/engines/titanic/game/speech_dispensor.h
index 55ff237..f2b9cc9 100644
--- a/engines/titanic/game/speech_dispensor.h
+++ b/engines/titanic/game/speech_dispensor.h
@@ -48,12 +48,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/splash_animation.h b/engines/titanic/game/splash_animation.h
index 11715b4..66a8840 100644
--- a/engines/titanic/game/splash_animation.h
+++ b/engines/titanic/game/splash_animation.h
@@ -35,12 +35,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/starling_puret.h b/engines/titanic/game/starling_puret.h
index 62a6173..a4e1e45 100644
--- a/engines/titanic/game/starling_puret.h
+++ b/engines/titanic/game/starling_puret.h
@@ -41,12 +41,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/start_action.h b/engines/titanic/game/start_action.h
index 60381ba..e2d2a5b 100644
--- a/engines/titanic/game/start_action.h
+++ b/engines/titanic/game/start_action.h
@@ -42,12 +42,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/stop_phonograph_button.h b/engines/titanic/game/stop_phonograph_button.h
index 07a19cc..45976a3 100644
--- a/engines/titanic/game/stop_phonograph_button.h
+++ b/engines/titanic/game/stop_phonograph_button.h
@@ -37,12 +37,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/sub_glass.h b/engines/titanic/game/sub_glass.h
index 22d16ff..1734fc7 100644
--- a/engines/titanic/game/sub_glass.h
+++ b/engines/titanic/game/sub_glass.h
@@ -48,12 +48,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/sub_wrapper.h b/engines/titanic/game/sub_wrapper.h
index 1094a2e..c39e927 100644
--- a/engines/titanic/game/sub_wrapper.h
+++ b/engines/titanic/game/sub_wrapper.h
@@ -40,12 +40,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/sweet_bowl.h b/engines/titanic/game/sweet_bowl.h
index 53433c8..060c517 100644
--- a/engines/titanic/game/sweet_bowl.h
+++ b/engines/titanic/game/sweet_bowl.h
@@ -38,12 +38,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/television.h b/engines/titanic/game/television.h
index 9147e63..0dab4eb 100644
--- a/engines/titanic/game/television.h
+++ b/engines/titanic/game/television.h
@@ -66,12 +66,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/third_class_canal.h b/engines/titanic/game/third_class_canal.h
index d0be8c0..ed07f56 100644
--- a/engines/titanic/game/third_class_canal.h
+++ b/engines/titanic/game/third_class_canal.h
@@ -36,12 +36,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/throw_tv_down_well.h b/engines/titanic/game/throw_tv_down_well.h
index c9e8fd5..09ac52a 100644
--- a/engines/titanic/game/throw_tv_down_well.h
+++ b/engines/titanic/game/throw_tv_down_well.h
@@ -44,12 +44,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/titania_still_control.h b/engines/titanic/game/titania_still_control.h
index b77227a..11ced98 100644
--- a/engines/titanic/game/titania_still_control.h
+++ b/engines/titanic/game/titania_still_control.h
@@ -37,12 +37,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/tow_parrot_nav.h b/engines/titanic/game/tow_parrot_nav.h
index 252d9b6..9847b18 100644
--- a/engines/titanic/game/tow_parrot_nav.h
+++ b/engines/titanic/game/tow_parrot_nav.h
@@ -36,12 +36,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/transport/gondolier.h b/engines/titanic/game/transport/gondolier.h
index 3b1e6d5..5027270 100644
--- a/engines/titanic/game/transport/gondolier.h
+++ b/engines/titanic/game/transport/gondolier.h
@@ -39,12 +39,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/transport/lift.h b/engines/titanic/game/transport/lift.h
index 3f2fca6..be6150e 100644
--- a/engines/titanic/game/transport/lift.h
+++ b/engines/titanic/game/transport/lift.h
@@ -52,12 +52,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/transport/lift_indicator.h b/engines/titanic/game/transport/lift_indicator.h
index 5ff9dc6..915a56c 100644
--- a/engines/titanic/game/transport/lift_indicator.h
+++ b/engines/titanic/game/transport/lift_indicator.h
@@ -50,12 +50,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/transport/pellerator.h b/engines/titanic/game/transport/pellerator.h
index 2ba4a13..1f243ea 100644
--- a/engines/titanic/game/transport/pellerator.h
+++ b/engines/titanic/game/transport/pellerator.h
@@ -44,12 +44,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/transport/service_elevator.h b/engines/titanic/game/transport/service_elevator.h
index 5cf1f6f..d305052 100644
--- a/engines/titanic/game/transport/service_elevator.h
+++ b/engines/titanic/game/transport/service_elevator.h
@@ -52,12 +52,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/transport/transport.h b/engines/titanic/game/transport/transport.h
index d872512..d74a520 100644
--- a/engines/titanic/game/transport/transport.h
+++ b/engines/titanic/game/transport/transport.h
@@ -39,12 +39,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/up_lighter.h b/engines/titanic/game/up_lighter.h
index fa7c116..0e60ee1 100644
--- a/engines/titanic/game/up_lighter.h
+++ b/engines/titanic/game/up_lighter.h
@@ -49,12 +49,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/useless_lever.h b/engines/titanic/game/useless_lever.h
index 33ed94b..66a72af 100644
--- a/engines/titanic/game/useless_lever.h
+++ b/engines/titanic/game/useless_lever.h
@@ -37,12 +37,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/variable_list.h b/engines/titanic/game/variable_list.h
index 9309e19..64e058f 100644
--- a/engines/titanic/game/variable_list.h
+++ b/engines/titanic/game/variable_list.h
@@ -43,12 +43,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 
diff --git a/engines/titanic/game/volume_control.h b/engines/titanic/game/volume_control.h
index dcc6f63..bdc5c5b 100644
--- a/engines/titanic/game/volume_control.h
+++ b/engines/titanic/game/volume_control.h
@@ -41,12 +41,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/wheel_button.h b/engines/titanic/game/wheel_button.h
index 7bdcece..30a7c6d 100644
--- a/engines/titanic/game/wheel_button.h
+++ b/engines/titanic/game/wheel_button.h
@@ -43,12 +43,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/wheel_hotspot.h b/engines/titanic/game/wheel_hotspot.h
index 41da0fb..75d91b6 100644
--- a/engines/titanic/game/wheel_hotspot.h
+++ b/engines/titanic/game/wheel_hotspot.h
@@ -45,12 +45,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/wheel_spin.h b/engines/titanic/game/wheel_spin.h
index f7993f0..9781509 100644
--- a/engines/titanic/game/wheel_spin.h
+++ b/engines/titanic/game/wheel_spin.h
@@ -40,12 +40,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game/wheel_spin_horn.h b/engines/titanic/game/wheel_spin_horn.h
index b8546b0..68dcb7d 100644
--- a/engines/titanic/game/wheel_spin_horn.h
+++ b/engines/titanic/game/wheel_spin_horn.h
@@ -39,12 +39,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/game_view.h b/engines/titanic/game_view.h
index d4a1be2..f828f64 100644
--- a/engines/titanic/game_view.h
+++ b/engines/titanic/game_view.h
@@ -82,12 +82,12 @@ public:
 	/**
 	 * Set the currently active view
 	 */
-	virtual void setView(CViewItem *item);
+	void setView(CViewItem *item) override;
 
 	/**
 	 * Handles drawing the view
 	 */
-	virtual void draw(const Rect &bounds);
+	void draw(const Rect &bounds) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/gfx/act_button.h b/engines/titanic/gfx/act_button.h
index 910ace1..b8295ae 100644
--- a/engines/titanic/gfx/act_button.h
+++ b/engines/titanic/gfx/act_button.h
@@ -37,12 +37,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/gfx/changes_season_button.h b/engines/titanic/gfx/changes_season_button.h
index 4f58818..8ef922c 100644
--- a/engines/titanic/gfx/changes_season_button.h
+++ b/engines/titanic/gfx/changes_season_button.h
@@ -37,12 +37,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/gfx/chev_left_off.h b/engines/titanic/gfx/chev_left_off.h
index 5034c1a..265865f 100644
--- a/engines/titanic/gfx/chev_left_off.h
+++ b/engines/titanic/gfx/chev_left_off.h
@@ -36,12 +36,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/gfx/chev_left_on.h b/engines/titanic/gfx/chev_left_on.h
index df430f6..212635a 100644
--- a/engines/titanic/gfx/chev_left_on.h
+++ b/engines/titanic/gfx/chev_left_on.h
@@ -36,12 +36,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/gfx/chev_right_off.h b/engines/titanic/gfx/chev_right_off.h
index 8f6c3fc..8e2a68c 100644
--- a/engines/titanic/gfx/chev_right_off.h
+++ b/engines/titanic/gfx/chev_right_off.h
@@ -36,12 +36,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/gfx/chev_right_on.h b/engines/titanic/gfx/chev_right_on.h
index accd42c..b98e2f7 100644
--- a/engines/titanic/gfx/chev_right_on.h
+++ b/engines/titanic/gfx/chev_right_on.h
@@ -36,12 +36,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/gfx/chev_send_rec_switch.h b/engines/titanic/gfx/chev_send_rec_switch.h
index b3ccab2..d5b3b53 100644
--- a/engines/titanic/gfx/chev_send_rec_switch.h
+++ b/engines/titanic/gfx/chev_send_rec_switch.h
@@ -36,12 +36,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/gfx/edit_control.h b/engines/titanic/gfx/edit_control.h
index 5ed91c9..941191e 100644
--- a/engines/titanic/gfx/edit_control.h
+++ b/engines/titanic/gfx/edit_control.h
@@ -52,12 +52,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/gfx/elevator_button.h b/engines/titanic/gfx/elevator_button.h
index 28110d8..0811d6d 100644
--- a/engines/titanic/gfx/elevator_button.h
+++ b/engines/titanic/gfx/elevator_button.h
@@ -36,12 +36,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/gfx/get_from_succ.h b/engines/titanic/gfx/get_from_succ.h
index f85f1b4..09257bd 100644
--- a/engines/titanic/gfx/get_from_succ.h
+++ b/engines/titanic/gfx/get_from_succ.h
@@ -36,12 +36,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/gfx/helmet_on_off.h b/engines/titanic/gfx/helmet_on_off.h
index c2910eb..960ec7c 100644
--- a/engines/titanic/gfx/helmet_on_off.h
+++ b/engines/titanic/gfx/helmet_on_off.h
@@ -36,12 +36,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/gfx/home_photo.h b/engines/titanic/gfx/home_photo.h
index 09b18b7..94bd487 100644
--- a/engines/titanic/gfx/home_photo.h
+++ b/engines/titanic/gfx/home_photo.h
@@ -36,12 +36,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/gfx/icon_nav_action.h b/engines/titanic/gfx/icon_nav_action.h
index 841334d..9eebcfd 100644
--- a/engines/titanic/gfx/icon_nav_action.h
+++ b/engines/titanic/gfx/icon_nav_action.h
@@ -36,12 +36,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/gfx/icon_nav_butt.h b/engines/titanic/gfx/icon_nav_butt.h
index c60877e..8d91249 100644
--- a/engines/titanic/gfx/icon_nav_butt.h
+++ b/engines/titanic/gfx/icon_nav_butt.h
@@ -35,12 +35,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/gfx/icon_nav_down.h b/engines/titanic/gfx/icon_nav_down.h
index 6c0c287..6f5cbad 100644
--- a/engines/titanic/gfx/icon_nav_down.h
+++ b/engines/titanic/gfx/icon_nav_down.h
@@ -36,12 +36,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/gfx/icon_nav_image.h b/engines/titanic/gfx/icon_nav_image.h
index 580762c..98a0eae 100644
--- a/engines/titanic/gfx/icon_nav_image.h
+++ b/engines/titanic/gfx/icon_nav_image.h
@@ -35,12 +35,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/gfx/icon_nav_left.h b/engines/titanic/gfx/icon_nav_left.h
index bb61c26..f56c995 100644
--- a/engines/titanic/gfx/icon_nav_left.h
+++ b/engines/titanic/gfx/icon_nav_left.h
@@ -36,12 +36,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/gfx/icon_nav_receive.h b/engines/titanic/gfx/icon_nav_receive.h
index 0744105..6564854 100644
--- a/engines/titanic/gfx/icon_nav_receive.h
+++ b/engines/titanic/gfx/icon_nav_receive.h
@@ -35,12 +35,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/gfx/icon_nav_right.h b/engines/titanic/gfx/icon_nav_right.h
index a1bed9c..3d03a12 100644
--- a/engines/titanic/gfx/icon_nav_right.h
+++ b/engines/titanic/gfx/icon_nav_right.h
@@ -36,12 +36,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/gfx/icon_nav_send.h b/engines/titanic/gfx/icon_nav_send.h
index f3af8d9..3eb89b7 100644
--- a/engines/titanic/gfx/icon_nav_send.h
+++ b/engines/titanic/gfx/icon_nav_send.h
@@ -35,12 +35,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/gfx/icon_nav_up.h b/engines/titanic/gfx/icon_nav_up.h
index 4b7320d..9b297e5 100644
--- a/engines/titanic/gfx/icon_nav_up.h
+++ b/engines/titanic/gfx/icon_nav_up.h
@@ -36,12 +36,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/gfx/keybrd_butt.h b/engines/titanic/gfx/keybrd_butt.h
index 822be41..7094dd3 100644
--- a/engines/titanic/gfx/keybrd_butt.h
+++ b/engines/titanic/gfx/keybrd_butt.h
@@ -36,12 +36,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/gfx/move_object_button.h b/engines/titanic/gfx/move_object_button.h
index 46c49c3..d3bebf0 100644
--- a/engines/titanic/gfx/move_object_button.h
+++ b/engines/titanic/gfx/move_object_button.h
@@ -40,12 +40,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/gfx/music_control.h b/engines/titanic/gfx/music_control.h
index 3da063a..c06930b 100644
--- a/engines/titanic/gfx/music_control.h
+++ b/engines/titanic/gfx/music_control.h
@@ -44,12 +44,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/gfx/music_slider.h b/engines/titanic/gfx/music_slider.h
index be2c563..44f6f3e 100644
--- a/engines/titanic/gfx/music_slider.h
+++ b/engines/titanic/gfx/music_slider.h
@@ -35,12 +35,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/gfx/music_slider_pitch.h b/engines/titanic/gfx/music_slider_pitch.h
index c375c6d..e493ef2 100644
--- a/engines/titanic/gfx/music_slider_pitch.h
+++ b/engines/titanic/gfx/music_slider_pitch.h
@@ -38,12 +38,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/gfx/music_slider_speed.h b/engines/titanic/gfx/music_slider_speed.h
index ce7b4d3..a7be3fe 100644
--- a/engines/titanic/gfx/music_slider_speed.h
+++ b/engines/titanic/gfx/music_slider_speed.h
@@ -38,12 +38,12 @@ public:
 	/**
 	* Save the data for the class to file
 	*/
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	* Load the data for the class from file
 	*/
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/gfx/music_switch.h b/engines/titanic/gfx/music_switch.h
index 35af84b..b9d6ab8 100644
--- a/engines/titanic/gfx/music_switch.h
+++ b/engines/titanic/gfx/music_switch.h
@@ -35,12 +35,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/gfx/music_switch_inversion.h b/engines/titanic/gfx/music_switch_inversion.h
index 869b474..ebefbab 100644
--- a/engines/titanic/gfx/music_switch_inversion.h
+++ b/engines/titanic/gfx/music_switch_inversion.h
@@ -38,12 +38,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/gfx/music_switch_reverse.h b/engines/titanic/gfx/music_switch_reverse.h
index 40e36a8..e658028 100644
--- a/engines/titanic/gfx/music_switch_reverse.h
+++ b/engines/titanic/gfx/music_switch_reverse.h
@@ -38,12 +38,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/gfx/music_voice_mute.h b/engines/titanic/gfx/music_voice_mute.h
index f64b107..f438b41 100644
--- a/engines/titanic/gfx/music_voice_mute.h
+++ b/engines/titanic/gfx/music_voice_mute.h
@@ -38,7 +38,7 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent) {
+	void save(SimpleFile *file, int indent) override {
 		file->writeNumberLine(1, indent);
 		CMusicControl::save(file, indent);
 	}
@@ -46,7 +46,7 @@ public:
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file) {
+	void load(SimpleFile *file) override {
 		file->readNumber();
 		CMusicControl::load(file);
 	}
diff --git a/engines/titanic/gfx/send_to_succ.h b/engines/titanic/gfx/send_to_succ.h
index 2017353..f1b3b26 100644
--- a/engines/titanic/gfx/send_to_succ.h
+++ b/engines/titanic/gfx/send_to_succ.h
@@ -36,12 +36,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/gfx/sgt_selector.h b/engines/titanic/gfx/sgt_selector.h
index be35635..5ff38db 100644
--- a/engines/titanic/gfx/sgt_selector.h
+++ b/engines/titanic/gfx/sgt_selector.h
@@ -35,12 +35,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/gfx/slider_button.h b/engines/titanic/gfx/slider_button.h
index 18ebbae..ec25d27 100644
--- a/engines/titanic/gfx/slider_button.h
+++ b/engines/titanic/gfx/slider_button.h
@@ -46,12 +46,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/gfx/small_chev_left_off.h b/engines/titanic/gfx/small_chev_left_off.h
index bed64be..e8a96c8 100644
--- a/engines/titanic/gfx/small_chev_left_off.h
+++ b/engines/titanic/gfx/small_chev_left_off.h
@@ -36,12 +36,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/gfx/small_chev_left_on.h b/engines/titanic/gfx/small_chev_left_on.h
index 9d17713..5fa4e0f 100644
--- a/engines/titanic/gfx/small_chev_left_on.h
+++ b/engines/titanic/gfx/small_chev_left_on.h
@@ -36,12 +36,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/gfx/small_chev_right_off.h b/engines/titanic/gfx/small_chev_right_off.h
index eb6ca45..16b4dd3 100644
--- a/engines/titanic/gfx/small_chev_right_off.h
+++ b/engines/titanic/gfx/small_chev_right_off.h
@@ -36,12 +36,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/gfx/small_chev_right_on.h b/engines/titanic/gfx/small_chev_right_on.h
index 1dfb2d6..c7f0dc9 100644
--- a/engines/titanic/gfx/small_chev_right_on.h
+++ b/engines/titanic/gfx/small_chev_right_on.h
@@ -36,12 +36,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/gfx/st_button.h b/engines/titanic/gfx/st_button.h
index 444c883..d31a95d 100644
--- a/engines/titanic/gfx/st_button.h
+++ b/engines/titanic/gfx/st_button.h
@@ -49,12 +49,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/gfx/status_change_button.h b/engines/titanic/gfx/status_change_button.h
index 9d18749..fcebd12 100644
--- a/engines/titanic/gfx/status_change_button.h
+++ b/engines/titanic/gfx/status_change_button.h
@@ -37,12 +37,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/gfx/text_down.h b/engines/titanic/gfx/text_down.h
index 9766060..fea7dfa 100644
--- a/engines/titanic/gfx/text_down.h
+++ b/engines/titanic/gfx/text_down.h
@@ -35,12 +35,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/gfx/text_skrew.h b/engines/titanic/gfx/text_skrew.h
index d0d9b82..b2329b0 100644
--- a/engines/titanic/gfx/text_skrew.h
+++ b/engines/titanic/gfx/text_skrew.h
@@ -35,12 +35,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/gfx/text_up.h b/engines/titanic/gfx/text_up.h
index dda8d84..68fb810 100644
--- a/engines/titanic/gfx/text_up.h
+++ b/engines/titanic/gfx/text_up.h
@@ -35,12 +35,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/gfx/toggle_button.h b/engines/titanic/gfx/toggle_button.h
index 4fb7cdf..e272f49 100644
--- a/engines/titanic/gfx/toggle_button.h
+++ b/engines/titanic/gfx/toggle_button.h
@@ -38,12 +38,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/gfx/toggle_switch.h b/engines/titanic/gfx/toggle_switch.h
index 69b8c50..f6dcc7a 100644
--- a/engines/titanic/gfx/toggle_switch.h
+++ b/engines/titanic/gfx/toggle_switch.h
@@ -42,12 +42,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/main_game_window.h b/engines/titanic/main_game_window.h
index f07f091..3797283 100644
--- a/engines/titanic/main_game_window.h
+++ b/engines/titanic/main_game_window.h
@@ -80,8 +80,8 @@ private:
 	 */
 	void drawViewContents(CScreenManager *screenManager);
 
-	void leftButtonDoubleClick(const Point &mousePos);
-	void middleButtonDoubleClick(const Point &mousePos);
+	void leftButtonDoubleClick(const Point &mousePos) override;
+	void middleButtonDoubleClick(const Point &mousePos) override;
 
 	/**
 	 * Returns true if the player can control the mouse
@@ -96,20 +96,20 @@ public:
 	void *_cursor;
 public:
 	CMainGameWindow(TitanicEngine *vm);
-	virtual ~CMainGameWindow();
+	~CMainGameWindow() override;
 
 	/**
 	* Called to handle any regular updates the game requires
 	*/
-	void onIdle();
-
-	virtual void mouseMove(const Point &mousePos);
-	virtual void leftButtonDown(const Point &mousePos);
-	virtual void leftButtonUp(const Point &mousePos);
-	virtual void middleButtonDown(const Point &mousePos);
-	virtual void middleButtonUp(const Point &mousePos);
-	virtual void mouseWheel(const Point &mousePos, bool wheelUp);
-	virtual void keyDown(Common::KeyState keyState);
+	void onIdle() override;
+
+	void mouseMove(const Point &mousePos) override;
+	void leftButtonDown(const Point &mousePos) override;
+	void leftButtonUp(const Point &mousePos) override;
+	void middleButtonDown(const Point &mousePos) override;
+	void middleButtonUp(const Point &mousePos) override;
+	void mouseWheel(const Point &mousePos, bool wheelUp) override;
+	void keyDown(Common::KeyState keyState) override;
 
 	/**
 	 * Called when the application starts
diff --git a/engines/titanic/messages/auto_sound_event.h b/engines/titanic/messages/auto_sound_event.h
index 085e624..9fb6720 100644
--- a/engines/titanic/messages/auto_sound_event.h
+++ b/engines/titanic/messages/auto_sound_event.h
@@ -40,12 +40,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/messages/bilge_auto_sound_event.h b/engines/titanic/messages/bilge_auto_sound_event.h
index 9a7fbd6..cc1cc32 100644
--- a/engines/titanic/messages/bilge_auto_sound_event.h
+++ b/engines/titanic/messages/bilge_auto_sound_event.h
@@ -34,12 +34,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/messages/bilge_dispensor_event.h b/engines/titanic/messages/bilge_dispensor_event.h
index 64e0f30..c884e56 100644
--- a/engines/titanic/messages/bilge_dispensor_event.h
+++ b/engines/titanic/messages/bilge_dispensor_event.h
@@ -44,12 +44,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/messages/door_auto_sound_event.h b/engines/titanic/messages/door_auto_sound_event.h
index 8b064a7..4128f71 100644
--- a/engines/titanic/messages/door_auto_sound_event.h
+++ b/engines/titanic/messages/door_auto_sound_event.h
@@ -46,12 +46,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/messages/messages.h b/engines/titanic/messages/messages.h
index 925898a..18c2aef 100644
--- a/engines/titanic/messages/messages.h
+++ b/engines/titanic/messages/messages.h
@@ -126,12 +126,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 
 	virtual bool isMouseMsg() const;
 	virtual bool isButtonDownMsg() const;
diff --git a/engines/titanic/messages/service_elevator_door.h b/engines/titanic/messages/service_elevator_door.h
index 69ad1e1..5fcd4e8 100644
--- a/engines/titanic/messages/service_elevator_door.h
+++ b/engines/titanic/messages/service_elevator_door.h
@@ -37,12 +37,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/moves/call_pellerator.h b/engines/titanic/moves/call_pellerator.h
index e03150d..569943b 100644
--- a/engines/titanic/moves/call_pellerator.h
+++ b/engines/titanic/moves/call_pellerator.h
@@ -47,12 +47,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/moves/enter_bomb_room.h b/engines/titanic/moves/enter_bomb_room.h
index ccdd51f..e1653eb 100644
--- a/engines/titanic/moves/enter_bomb_room.h
+++ b/engines/titanic/moves/enter_bomb_room.h
@@ -39,12 +39,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/moves/enter_bridge.h b/engines/titanic/moves/enter_bridge.h
index 837c0e9..e3fa9c5 100644
--- a/engines/titanic/moves/enter_bridge.h
+++ b/engines/titanic/moves/enter_bridge.h
@@ -40,12 +40,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/moves/enter_exit_first_class_state.h b/engines/titanic/moves/enter_exit_first_class_state.h
index ea5c52a..b91c41b 100644
--- a/engines/titanic/moves/enter_exit_first_class_state.h
+++ b/engines/titanic/moves/enter_exit_first_class_state.h
@@ -36,12 +36,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/moves/enter_exit_mini_lift.h b/engines/titanic/moves/enter_exit_mini_lift.h
index f2671a8..7b5b85c 100644
--- a/engines/titanic/moves/enter_exit_mini_lift.h
+++ b/engines/titanic/moves/enter_exit_mini_lift.h
@@ -41,12 +41,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/moves/enter_exit_sec_class_mini_lift.h b/engines/titanic/moves/enter_exit_sec_class_mini_lift.h
index a16122a..7be245b 100644
--- a/engines/titanic/moves/enter_exit_sec_class_mini_lift.h
+++ b/engines/titanic/moves/enter_exit_sec_class_mini_lift.h
@@ -50,12 +50,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/moves/enter_exit_view.h b/engines/titanic/moves/enter_exit_view.h
index 67aa564..a67c7de 100644
--- a/engines/titanic/moves/enter_exit_view.h
+++ b/engines/titanic/moves/enter_exit_view.h
@@ -45,12 +45,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/moves/enter_sec_class_state.h b/engines/titanic/moves/enter_sec_class_state.h
index 2b1bcaa..c17c599 100644
--- a/engines/titanic/moves/enter_sec_class_state.h
+++ b/engines/titanic/moves/enter_sec_class_state.h
@@ -41,12 +41,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/moves/exit_arboretum.h b/engines/titanic/moves/exit_arboretum.h
index ebb5629..aa5e23c 100644
--- a/engines/titanic/moves/exit_arboretum.h
+++ b/engines/titanic/moves/exit_arboretum.h
@@ -44,12 +44,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/moves/exit_bridge.h b/engines/titanic/moves/exit_bridge.h
index 6d8ba01..c519a5c 100644
--- a/engines/titanic/moves/exit_bridge.h
+++ b/engines/titanic/moves/exit_bridge.h
@@ -39,12 +39,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/moves/exit_lift.h b/engines/titanic/moves/exit_lift.h
index 93d760c..b58f84c 100644
--- a/engines/titanic/moves/exit_lift.h
+++ b/engines/titanic/moves/exit_lift.h
@@ -39,12 +39,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/moves/exit_pellerator.h b/engines/titanic/moves/exit_pellerator.h
index 8819d64..2f857b0 100644
--- a/engines/titanic/moves/exit_pellerator.h
+++ b/engines/titanic/moves/exit_pellerator.h
@@ -48,12 +48,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/moves/exit_state_room.h b/engines/titanic/moves/exit_state_room.h
index 19322ce..056444c 100644
--- a/engines/titanic/moves/exit_state_room.h
+++ b/engines/titanic/moves/exit_state_room.h
@@ -37,12 +37,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/moves/exit_tiania.h b/engines/titanic/moves/exit_tiania.h
index b911e10..1cfd857 100644
--- a/engines/titanic/moves/exit_tiania.h
+++ b/engines/titanic/moves/exit_tiania.h
@@ -40,12 +40,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/moves/move_player_in_parrot_room.h b/engines/titanic/moves/move_player_in_parrot_room.h
index 637c8b8..668d9a1 100644
--- a/engines/titanic/moves/move_player_in_parrot_room.h
+++ b/engines/titanic/moves/move_player_in_parrot_room.h
@@ -39,12 +39,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/moves/move_player_to.h b/engines/titanic/moves/move_player_to.h
index 822df69..e8cef84 100644
--- a/engines/titanic/moves/move_player_to.h
+++ b/engines/titanic/moves/move_player_to.h
@@ -40,12 +40,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/moves/move_player_to_from.h b/engines/titanic/moves/move_player_to_from.h
index fde4e94..ff79fbf 100644
--- a/engines/titanic/moves/move_player_to_from.h
+++ b/engines/titanic/moves/move_player_to_from.h
@@ -39,12 +39,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/moves/multi_move.h b/engines/titanic/moves/multi_move.h
index 12dd246..85433d2 100644
--- a/engines/titanic/moves/multi_move.h
+++ b/engines/titanic/moves/multi_move.h
@@ -39,12 +39,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/moves/pan_from_pel.h b/engines/titanic/moves/pan_from_pel.h
index 0a01aef..d2ebb17 100644
--- a/engines/titanic/moves/pan_from_pel.h
+++ b/engines/titanic/moves/pan_from_pel.h
@@ -40,12 +40,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/moves/restaurant_pan_handler.h b/engines/titanic/moves/restaurant_pan_handler.h
index 9684fd0..be3bafe 100644
--- a/engines/titanic/moves/restaurant_pan_handler.h
+++ b/engines/titanic/moves/restaurant_pan_handler.h
@@ -42,12 +42,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/moves/restricted_move.h b/engines/titanic/moves/restricted_move.h
index 639b024..3212d0b 100644
--- a/engines/titanic/moves/restricted_move.h
+++ b/engines/titanic/moves/restricted_move.h
@@ -40,12 +40,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/moves/scraliontis_table.h b/engines/titanic/moves/scraliontis_table.h
index b0d8c6b..0d57f41 100644
--- a/engines/titanic/moves/scraliontis_table.h
+++ b/engines/titanic/moves/scraliontis_table.h
@@ -44,12 +44,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/moves/trip_down_canal.h b/engines/titanic/moves/trip_down_canal.h
index f43fb05..2259f65 100644
--- a/engines/titanic/moves/trip_down_canal.h
+++ b/engines/titanic/moves/trip_down_canal.h
@@ -37,12 +37,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/npcs/barbot.h b/engines/titanic/npcs/barbot.h
index c40f83e..f2f24c2 100644
--- a/engines/titanic/npcs/barbot.h
+++ b/engines/titanic/npcs/barbot.h
@@ -104,12 +104,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/npcs/bellbot.h b/engines/titanic/npcs/bellbot.h
index 538c299..f0750cb 100644
--- a/engines/titanic/npcs/bellbot.h
+++ b/engines/titanic/npcs/bellbot.h
@@ -52,12 +52,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/npcs/bilge_succubus.h b/engines/titanic/npcs/bilge_succubus.h
index b56716d..7233e46 100644
--- a/engines/titanic/npcs/bilge_succubus.h
+++ b/engines/titanic/npcs/bilge_succubus.h
@@ -52,12 +52,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/npcs/callbot.h b/engines/titanic/npcs/callbot.h
index ca0e0c5..a10606f 100644
--- a/engines/titanic/npcs/callbot.h
+++ b/engines/titanic/npcs/callbot.h
@@ -41,12 +41,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/npcs/character.h b/engines/titanic/npcs/character.h
index e27cf4e..4c79ff6 100644
--- a/engines/titanic/npcs/character.h
+++ b/engines/titanic/npcs/character.h
@@ -44,12 +44,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/npcs/deskbot.h b/engines/titanic/npcs/deskbot.h
index 1b462f6..d9c3640 100644
--- a/engines/titanic/npcs/deskbot.h
+++ b/engines/titanic/npcs/deskbot.h
@@ -53,12 +53,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/npcs/doorbot.h b/engines/titanic/npcs/doorbot.h
index 1cb7ec3..a2aaac0 100644
--- a/engines/titanic/npcs/doorbot.h
+++ b/engines/titanic/npcs/doorbot.h
@@ -60,12 +60,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/npcs/liftbot.h b/engines/titanic/npcs/liftbot.h
index ccac53d..840fca1 100644
--- a/engines/titanic/npcs/liftbot.h
+++ b/engines/titanic/npcs/liftbot.h
@@ -53,12 +53,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/npcs/maitre_d.h b/engines/titanic/npcs/maitre_d.h
index 6677a58..9018fd2 100644
--- a/engines/titanic/npcs/maitre_d.h
+++ b/engines/titanic/npcs/maitre_d.h
@@ -58,12 +58,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/npcs/mobile.h b/engines/titanic/npcs/mobile.h
index 2ad939a..a2bc73c 100644
--- a/engines/titanic/npcs/mobile.h
+++ b/engines/titanic/npcs/mobile.h
@@ -39,12 +39,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/npcs/parrot.h b/engines/titanic/npcs/parrot.h
index ee27515..7c107da 100644
--- a/engines/titanic/npcs/parrot.h
+++ b/engines/titanic/npcs/parrot.h
@@ -82,12 +82,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/npcs/parrot_succubus.h b/engines/titanic/npcs/parrot_succubus.h
index ca80683..3f97e01 100644
--- a/engines/titanic/npcs/parrot_succubus.h
+++ b/engines/titanic/npcs/parrot_succubus.h
@@ -47,12 +47,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/npcs/robot_controller.h b/engines/titanic/npcs/robot_controller.h
index 326c228..d9679e1 100644
--- a/engines/titanic/npcs/robot_controller.h
+++ b/engines/titanic/npcs/robot_controller.h
@@ -40,12 +40,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/npcs/starlings.h b/engines/titanic/npcs/starlings.h
index 4885777..6f9d864 100644
--- a/engines/titanic/npcs/starlings.h
+++ b/engines/titanic/npcs/starlings.h
@@ -41,12 +41,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/npcs/succubus.h b/engines/titanic/npcs/succubus.h
index 0afdcd5..860b44a 100644
--- a/engines/titanic/npcs/succubus.h
+++ b/engines/titanic/npcs/succubus.h
@@ -105,12 +105,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/npcs/summon_bots.h b/engines/titanic/npcs/summon_bots.h
index 1da6e68..367f623 100644
--- a/engines/titanic/npcs/summon_bots.h
+++ b/engines/titanic/npcs/summon_bots.h
@@ -42,12 +42,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/npcs/titania.h b/engines/titanic/npcs/titania.h
index f94442d..e614db8 100644
--- a/engines/titanic/npcs/titania.h
+++ b/engines/titanic/npcs/titania.h
@@ -54,12 +54,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/npcs/true_talk_npc.h b/engines/titanic/npcs/true_talk_npc.h
index 03a4634..cb6774d 100644
--- a/engines/titanic/npcs/true_talk_npc.h
+++ b/engines/titanic/npcs/true_talk_npc.h
@@ -74,12 +74,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 
 	/**
 	 * Set the view for the NPC
diff --git a/engines/titanic/pet_control/pet_control.h b/engines/titanic/pet_control/pet_control.h
index a95b896..bd5ad3d 100644
--- a/engines/titanic/pet_control/pet_control.h
+++ b/engines/titanic/pet_control/pet_control.h
@@ -130,22 +130,22 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 
 	/**
 	 * Allows the item to draw itself
 	 */
-	virtual void draw(CScreenManager *screenManager);
+	void draw(CScreenManager *screenManager) override;
 
 	/**
 	 * Gets the bounds occupied by the item
 	 */
-	virtual Rect getBounds() const;
+	Rect getBounds() const override;
 
 	/**
 	 * Resets the PET, including all the sections within it
diff --git a/engines/titanic/pet_control/pet_conversations.h b/engines/titanic/pet_control/pet_conversations.h
index 37d216e..38bca0c 100644
--- a/engines/titanic/pet_control/pet_conversations.h
+++ b/engines/titanic/pet_control/pet_conversations.h
@@ -130,102 +130,102 @@ private:
 	void npcDialChange(uint dialNum, uint oldLevel, uint newLevel);
 public:
 	CPetConversations();
-	virtual ~CPetConversations() {}
+	~CPetConversations() override {}
 
 	/**
 	 * Sets up the section
 	 */
-	virtual bool setup(CPetControl *petControl);
+	bool setup(CPetControl *petControl) override;
 
 	/**
 	 * Reset the section
 	 */
-	virtual bool reset();
+	bool reset() override;
 
 	/**
 	 * Draw the section
 	 */
-	virtual void draw(CScreenManager *screenManager);
+	void draw(CScreenManager *screenManager) override;
 
 	/**
 	 * Get the bounds for the section
 	 */
-	virtual Rect getBounds() const;
+	Rect getBounds() const override;
 
 	/**
 	 * Returns true if the object is in a valid state
 	 */
-	virtual bool isValid(CPetControl *petControl);
+	bool isValid(CPetControl *petControl) override;
 
 	/**
 	 * Following are handlers for the various messages that the PET can
 	 * pass onto the currently active section/area
 	 */
-	virtual bool MouseButtonDownMsg(CMouseButtonDownMsg *msg);
-	virtual bool MouseButtonUpMsg(CMouseButtonUpMsg *msg);
-	virtual bool MouseDoubleClickMsg(CMouseDoubleClickMsg *msg);
-	virtual bool MouseWheelMsg(CMouseWheelMsg *msg);
-	virtual bool KeyCharMsg(CKeyCharMsg *msg);
-	virtual bool VirtualKeyCharMsg(CVirtualKeyCharMsg *msg);
+	bool MouseButtonDownMsg(CMouseButtonDownMsg *msg) override;
+	bool MouseButtonUpMsg(CMouseButtonUpMsg *msg) override;
+	bool MouseDoubleClickMsg(CMouseDoubleClickMsg *msg) override;
+	bool MouseWheelMsg(CMouseWheelMsg *msg) override;
+	bool KeyCharMsg(CKeyCharMsg *msg) override;
+	bool VirtualKeyCharMsg(CVirtualKeyCharMsg *msg) override;
 
 	/**
 	 * Display a message
 	 */
-	virtual void displayMessage(const CString &msg);
+	void displayMessage(const CString &msg) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file, int param);
+	void load(SimpleFile *file, int param) override;
 
 	/**
 	 * Called after a game has been loaded
 	 */
-	virtual void postLoad();
+	void postLoad() override;
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Called when a section is switched to
 	 */
-	virtual void enter(PetArea oldArea);
+	void enter(PetArea oldArea) override;
 
 	/**
 	 * Called when a section is being left, to switch to another area
 	 */
-	virtual void leave();
+	void leave() override;
 
 	/**
 	 * Called when a previously set up PET timer expires
 	 */
-	virtual void timerExpired(int val);
+	void timerExpired(int val) override;
 
 	/**
 	 * Display a title for an NPC
 	 */
-	virtual void displayNPCName(CGameObject *npc);
+	void displayNPCName(CGameObject *npc) override;
 
 	/**
 	 * Sets the NPC to use
 	 */
-	virtual void setNPC(const CString &name);
+	void setNPC(const CString &name) override;
 
 	/**
 	 * Resets the active NPC
 	 */
-	virtual void resetNPC();
+	void resetNPC() override;
 
 	/**
 	 * Show the text cursor
 	 */
-	virtual void showCursor();
+	void showCursor() override;
 
 	/**
 	 * Hide the text cursor
 	 */
-	virtual void hideCursor();
+	void hideCursor() override;
 
 	/**
 	 * Set the active NPC
diff --git a/engines/titanic/pet_control/pet_drag_chev.h b/engines/titanic/pet_control/pet_drag_chev.h
index 9f4a6f0..71ed3f4 100644
--- a/engines/titanic/pet_control/pet_drag_chev.h
+++ b/engines/titanic/pet_control/pet_drag_chev.h
@@ -39,12 +39,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/pet_control/pet_frame.h b/engines/titanic/pet_control/pet_frame.h
index 824ee40..4e1e2ba 100644
--- a/engines/titanic/pet_control/pet_frame.h
+++ b/engines/titanic/pet_control/pet_frame.h
@@ -53,28 +53,28 @@ public:
 	/**
 	 * Sets up the section
 	 */
-	virtual bool setup(CPetControl *petControl);
+	bool setup(CPetControl *petControl) override;
 
 	/**
 	 * Sets up the section
 	 */
-	virtual bool reset();
+	bool reset() override;
 
 	/**
 	 * Handles mouse down messages
 	 */
-	virtual bool MouseButtonDownMsg(CMouseButtonDownMsg *msg);
-	virtual bool MouseButtonUpMsg(CMouseButtonUpMsg *msg) { return false; }
+	bool MouseButtonDownMsg(CMouseButtonDownMsg *msg) override;
+	bool MouseButtonUpMsg(CMouseButtonUpMsg *msg) override { return false; }
 
 	/**
 	 * Returns true if the object is in a valid state
 	 */
-	virtual bool isValid(CPetControl *petControl);
+	bool isValid(CPetControl *petControl) override;
 
 	/**
 	 * Called after a game has been loaded
 	 */
-	virtual void postLoad();
+	void postLoad() override;
 
 	/**
 	 * Called when the current PET area changes
diff --git a/engines/titanic/pet_control/pet_gfx_element.h b/engines/titanic/pet_control/pet_gfx_element.h
index 3d2a06d..648a9d9 100644
--- a/engines/titanic/pet_control/pet_gfx_element.h
+++ b/engines/titanic/pet_control/pet_gfx_element.h
@@ -39,34 +39,34 @@ public:
 	/**
 	 * Setup the element
 	 */
-	virtual void setup(PetElementMode mode, const CString &name,
-		CPetControl *petControl);
+	void setup(PetElementMode mode, const CString &name,
+		CPetControl *petControl) override;
 
 	/**
 	 * Reset the element
 	 */
-	virtual void reset(const CString &name, CPetControl *petControl,
-		PetElementMode mode = MODE_UNSELECTED);
+	void reset(const CString &name, CPetControl *petControl,
+		PetElementMode mode = MODE_UNSELECTED) override;
 
 	/**
 	 * Draw the item
 	 */
-	virtual void draw(CScreenManager *screenManager);
+	void draw(CScreenManager *screenManager) override;
 
 	/**
 	 * Draw the item
 	 */
-	virtual void draw(CScreenManager *screenManager, const Common::Point &destPos);
+	void draw(CScreenManager *screenManager, const Common::Point &destPos) override;
 
 	/**
 	 * Get the bounds for the element
 	 */
-	virtual Rect getBounds() const;
+	Rect getBounds() const override;
 
 	/**
 	 * Get the game object associated with this item
 	 */
-	virtual CGameObject *getObject() const;
+	CGameObject *getObject() const override;
 
 	/**
 	 * Gets the explicit bounds set for the graphic element,
diff --git a/engines/titanic/pet_control/pet_graphic.h b/engines/titanic/pet_control/pet_graphic.h
index 630c844..51fc13f 100644
--- a/engines/titanic/pet_control/pet_graphic.h
+++ b/engines/titanic/pet_control/pet_graphic.h
@@ -35,12 +35,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/pet_control/pet_graphic2.h b/engines/titanic/pet_control/pet_graphic2.h
index 58852fc..620815e 100644
--- a/engines/titanic/pet_control/pet_graphic2.h
+++ b/engines/titanic/pet_control/pet_graphic2.h
@@ -35,12 +35,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/pet_control/pet_inventory.h b/engines/titanic/pet_control/pet_inventory.h
index c72145e..8dc9857 100644
--- a/engines/titanic/pet_control/pet_inventory.h
+++ b/engines/titanic/pet_control/pet_inventory.h
@@ -62,88 +62,88 @@ public:
 	/**
 	 * Sets up the section
 	 */
-	virtual bool setup(CPetControl *petControl);
+	bool setup(CPetControl *petControl) override;
 
 	/**
 	 * Sets up the section
 	 */
-	virtual bool reset();
+	bool reset() override;
 
 	/**
 	 * Draw the section
 	 */
-	virtual void draw(CScreenManager *screenManager);
+	void draw(CScreenManager *screenManager) override;
 
 	/**
 	 * Get the bounds for the section
 	 */
-	virtual Rect getBounds() const;
+	Rect getBounds() const override;
 
 	/**
 	 * Called when a general change occurs
 	 */
-	virtual void changed(int changeType);
+	void changed(int changeType) override;
 
 	/**
 	 * Called when a new room is entered
 	 */
-	virtual void enterRoom(CRoomItem *room);
+	void enterRoom(CRoomItem *room) override;
 
 	/**
 	 * Following are handlers for the various messages that the PET can
 	 * pass onto the currently active section/area
 	 */
-	virtual bool MouseButtonDownMsg(CMouseButtonDownMsg *msg);
-	virtual bool MouseDragStartMsg(CMouseDragStartMsg *msg);
-	virtual bool MouseButtonUpMsg(CMouseButtonUpMsg *msg);
-	virtual bool MouseDoubleClickMsg(CMouseDoubleClickMsg *msg);
-	virtual bool VirtualKeyCharMsg(CVirtualKeyCharMsg *msg);
-	virtual bool MouseWheelMsg(CMouseWheelMsg *msg);
+	bool MouseButtonDownMsg(CMouseButtonDownMsg *msg) override;
+	bool MouseDragStartMsg(CMouseDragStartMsg *msg) override;
+	bool MouseButtonUpMsg(CMouseButtonUpMsg *msg) override;
+	bool MouseDoubleClickMsg(CMouseDoubleClickMsg *msg) override;
+	bool VirtualKeyCharMsg(CVirtualKeyCharMsg *msg) override;
+	bool MouseWheelMsg(CMouseWheelMsg *msg) override;
 
 	/**
 	 * Returns item a drag-drop operation has dropped on, if any
 	 */
-	virtual CGameObject *dragEnd(const Point &pt) const;
+	CGameObject *dragEnd(const Point &pt) const override;
 
 	/**
 	 * Returns true if the object is in a valid state
 	 */
-	virtual bool isValid(CPetControl *petControl);
+	bool isValid(CPetControl *petControl) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file, int param);
+	void load(SimpleFile *file, int param) override;
 
 	/**
 	 * Called after a game has been loaded
 	 */
-	virtual void postLoad();
+	void postLoad() override;
 
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	* Called when a section is switched to
 	*/
-	virtual void enter(PetArea oldArea);
+	void enter(PetArea oldArea) override;
 
 	/**
 	* Called when a section is being left, to switch to another area
 	*/
-	virtual void leave();
+	void leave() override;
 
 	/**
 	 * Get a reference to the tooltip text associated with the section
 	 */
-	virtual CTextControl *getText() { return &_text; }
+	CTextControl *getText() override { return &_text; }
 
 	/**
 	 * Special retrieval of glyph background image
 	 */
-	virtual CGameObject *getBackground(int index) const;
+	CGameObject *getBackground(int index) const override;
 
 	/**
 	 *
diff --git a/engines/titanic/pet_control/pet_inventory_glyphs.h b/engines/titanic/pet_control/pet_inventory_glyphs.h
index 906bf18..520b3d0 100644
--- a/engines/titanic/pet_control/pet_inventory_glyphs.h
+++ b/engines/titanic/pet_control/pet_inventory_glyphs.h
@@ -77,57 +77,57 @@ public:
 	/**
 	 * Called when the PET area is entered
 	 */
-	virtual void enter();
+	void enter() override;
 
 	/**
 	 * Called when the PET area is left
 	 */
-	virtual void leave();
+	void leave() override;
 
 	/**
 	 * Draw the glyph at a specified position
 	 */
-	virtual void drawAt(CScreenManager *screenManager, const Point &pt, bool isHighlighted);
+	void drawAt(CScreenManager *screenManager, const Point &pt, bool isHighlighted) override;
 
 	/**
 	 * Unhighlight any currently highlighted element
 	 */
-	virtual void unhighlightCurrent();
+	void unhighlightCurrent() override;
 
 	/**
 	 * Highlight any currently highlighted element
 	 */
-	virtual void highlightCurrent(const Point &pt);
+	void highlightCurrent(const Point &pt) override;
 
 	/**
 	 * Glyph has been shifted to be first visible one
 	 */
-	virtual void glyphFocused(const Point &topLeft, bool flag);
+	void glyphFocused(const Point &topLeft, bool flag) override;
 
 	/**
 	 * Called when a glyph drag starts
 	 */
-	virtual bool dragGlyph(const Point &topLeft, CMouseDragStartMsg *msg);
+	bool dragGlyph(const Point &topLeft, CMouseDragStartMsg *msg) override;
 
 	/**
 	 * Returns the tooltip text for when the glyph is selected
 	 */
-	virtual void getTooltip(CTextControl *text);
+	void getTooltip(CTextControl *text) override;
 
 	/**
 	 * Return whether the glyph is currently valid
 	 */
-	virtual bool isValid() const { return _item && _repeated; }
+	bool isValid() const override { return _item && _repeated; }
 
 	/**
 	 * Returns the object associated with the glyph
 	 */
-	virtual CGameObject *getObjectAt() { return _item; }
+	CGameObject *getObjectAt() override { return _item; }
 
 	/**
 	 * Does a processing action on the glyph
 	 */
-	virtual bool doAction(CGlyphAction *action);
+	bool doAction(CGlyphAction *action) override;
 
 	/**
 	 * Set the inventory item
diff --git a/engines/titanic/pet_control/pet_leaf.h b/engines/titanic/pet_control/pet_leaf.h
index 0c21352..21b0e54 100644
--- a/engines/titanic/pet_control/pet_leaf.h
+++ b/engines/titanic/pet_control/pet_leaf.h
@@ -35,12 +35,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/pet_control/pet_load.h b/engines/titanic/pet_control/pet_load.h
index 103477a..093d293 100644
--- a/engines/titanic/pet_control/pet_load.h
+++ b/engines/titanic/pet_control/pet_load.h
@@ -32,37 +32,37 @@ public:
 	/**
 	 * Reset the glyph
 	 */
-	virtual bool reset();
+	bool reset() override;
 
 	/**
 	 * Handles mouse button up messages
 	 */
-	virtual bool MouseButtonUpMsg(const Point &pt);
+	bool MouseButtonUpMsg(const Point &pt) override;
 
 	/**
 	 * Highlight any currently highlighted element
 	 */
-	virtual void highlightCurrent(const Point &pt) { resetSlots(); }
+	void highlightCurrent(const Point &pt) override { resetSlots(); }
 
 	/**
 	 * Returns the tooltip text for when the glyph is selected
 	 */
-	virtual void getTooltip(CTextControl *text);
+	void getTooltip(CTextControl *text) override;
 
 	/**
 	 * Highlights a save slot
 	 */
-	virtual void highlightSave(int index) {}
+	void highlightSave(int index) override {}
 
 	/**
 	 * Unhighlight a save slot
 	 */
-	virtual void unhighlightSave(int index) {}
+	void unhighlightSave(int index) override {}
 
 	/**
 	 * Executes the loading or saving
 	 */
-	virtual void execute();
+	void execute() override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/pet_control/pet_load_save.h b/engines/titanic/pet_control/pet_load_save.h
index 5bdb2b5..3f094d3 100644
--- a/engines/titanic/pet_control/pet_load_save.h
+++ b/engines/titanic/pet_control/pet_load_save.h
@@ -71,27 +71,27 @@ public:
 	/**
 	 * Setup the glyph
 	 */
-	virtual bool setup(CPetControl *petControl, CPetGlyphs *owner);
+	bool setup(CPetControl *petControl, CPetGlyphs *owner) override;
 
 	/**
 	 * Reset the glyph
 	 */
-	virtual bool reset();
+	bool reset() override;
 
 	/**
 	 * Handles any secondary drawing of the glyph
 	 */
-	virtual void draw2(CScreenManager *screenManager);
+	void draw2(CScreenManager *screenManager) override;
 
 	/**
 	 * Called for mouse button down messages
 	 */
-	virtual bool MouseButtonDownMsg(const Point &pt);
+	bool MouseButtonDownMsg(const Point &pt) override;
 
 	/**
 	 * Handles keypresses when the glyph is focused
 	 */
-	virtual bool KeyCharMsg(int key);
+	bool KeyCharMsg(int key) override;
 
 	/**
 	 * Resets highlighting on the save slots
diff --git a/engines/titanic/pet_control/pet_mode_off.h b/engines/titanic/pet_control/pet_mode_off.h
index 9162270..de2023f 100644
--- a/engines/titanic/pet_control/pet_mode_off.h
+++ b/engines/titanic/pet_control/pet_mode_off.h
@@ -36,12 +36,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/pet_control/pet_mode_on.h b/engines/titanic/pet_control/pet_mode_on.h
index f77fd1f..278cb49 100644
--- a/engines/titanic/pet_control/pet_mode_on.h
+++ b/engines/titanic/pet_control/pet_mode_on.h
@@ -36,12 +36,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/pet_control/pet_mode_panel.h b/engines/titanic/pet_control/pet_mode_panel.h
index f37c543..4b56c49 100644
--- a/engines/titanic/pet_control/pet_mode_panel.h
+++ b/engines/titanic/pet_control/pet_mode_panel.h
@@ -36,12 +36,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/pet_control/pet_pannel1.h b/engines/titanic/pet_control/pet_pannel1.h
index f39314f..ab79a35 100644
--- a/engines/titanic/pet_control/pet_pannel1.h
+++ b/engines/titanic/pet_control/pet_pannel1.h
@@ -35,12 +35,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/pet_control/pet_pannel2.h b/engines/titanic/pet_control/pet_pannel2.h
index f820847..3c1c090 100644
--- a/engines/titanic/pet_control/pet_pannel2.h
+++ b/engines/titanic/pet_control/pet_pannel2.h
@@ -35,12 +35,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/pet_control/pet_pannel3.h b/engines/titanic/pet_control/pet_pannel3.h
index dd0d2f9..b9d6c61 100644
--- a/engines/titanic/pet_control/pet_pannel3.h
+++ b/engines/titanic/pet_control/pet_pannel3.h
@@ -35,12 +35,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/pet_control/pet_quit.h b/engines/titanic/pet_control/pet_quit.h
index 7eeedaf..d0c2273 100644
--- a/engines/titanic/pet_control/pet_quit.h
+++ b/engines/titanic/pet_control/pet_quit.h
@@ -37,32 +37,32 @@ public:
 	/**
 	 * Setup the glyph
 	 */
-	virtual bool setup(CPetControl *petControl, CPetGlyphs *owner);
+	bool setup(CPetControl *petControl, CPetGlyphs *owner) override;
 
 	/**
 	 * Reset the glyph
 	 */
-	virtual bool reset();
+	bool reset() override;
 
 	/**
 	 * Handles any secondary drawing of the glyph
 	 */
-	virtual void draw2(CScreenManager *screenManager);
+	void draw2(CScreenManager *screenManager) override;
 
 	/**
 	 * Called for mouse button down messages
 	 */
-	virtual bool MouseButtonDownMsg(const Point &pt);
+	bool MouseButtonDownMsg(const Point &pt) override;
 
 	/**
 	 * Handles mouse button up messages
 	 */
-	virtual bool MouseButtonUpMsg(const Point &pt);
+	bool MouseButtonUpMsg(const Point &pt) override;
 
 	/**
 	 * Returns the tooltip text for when the glyph is selected
 	 */
-	virtual void getTooltip(CTextControl *text);
+	void getTooltip(CTextControl *text) override;
 
 	/**
 	 * Get a reference to the tooltip text associated with the section
diff --git a/engines/titanic/pet_control/pet_real_life.h b/engines/titanic/pet_control/pet_real_life.h
index 965b4ea..9e792a8 100644
--- a/engines/titanic/pet_control/pet_real_life.h
+++ b/engines/titanic/pet_control/pet_real_life.h
@@ -47,84 +47,84 @@ private:
 	 */
 	void addButton(CPetGlyph *glyph);
 public:
-	virtual ~CPetRealLife() {}
+	~CPetRealLife() override {}
 
 	/**
 	 * Sets up the section
 	 */
-	virtual bool setup(CPetControl *petControl);
+	bool setup(CPetControl *petControl) override;
 
 	/**
 	 * Reset the section
 	 */
-	virtual bool reset();
+	bool reset() override;
 
 	/**
 	 * Draw the section
 	 */
-	virtual void draw(CScreenManager *screenManager);
+	void draw(CScreenManager *screenManager) override;
 
 	/**
 	 * Get the bounds for the section
 	 */
-	virtual Rect getBounds() const { return Rect(); }
+	Rect getBounds() const override { return Rect(); }
 
 	/**
 	 * Following are handlers for the various messages that the PET can
 	 * pass onto the currently active section/area
 	 */
-	virtual bool MouseButtonDownMsg(CMouseButtonDownMsg *msg);
-	virtual bool MouseDragStartMsg(CMouseDragStartMsg *msg);
-	virtual bool MouseDragMoveMsg(CMouseDragMoveMsg *msg);
-	virtual bool MouseDragEndMsg(CMouseDragEndMsg *msg);
-	virtual bool MouseButtonUpMsg(CMouseButtonUpMsg *msg);
-	virtual bool KeyCharMsg(CKeyCharMsg *msg);
-	virtual bool VirtualKeyCharMsg(CVirtualKeyCharMsg *msg);
+	bool MouseButtonDownMsg(CMouseButtonDownMsg *msg) override;
+	bool MouseDragStartMsg(CMouseDragStartMsg *msg) override;
+	bool MouseDragMoveMsg(CMouseDragMoveMsg *msg) override;
+	bool MouseDragEndMsg(CMouseDragEndMsg *msg) override;
+	bool MouseButtonUpMsg(CMouseButtonUpMsg *msg) override;
+	bool KeyCharMsg(CKeyCharMsg *msg) override;
+	bool VirtualKeyCharMsg(CVirtualKeyCharMsg *msg) override;
 
 	/**
 	 * Returns item a drag-drop operation has dropped on, if any
 	 */
-	virtual CGameObject *dragEnd(const Point &pt) const { return nullptr; }
+	CGameObject *dragEnd(const Point &pt) const override { return nullptr; }
 
 	/**
 	 * Returns true if the object is in a valid state
 	 */
-	virtual bool isValid(CPetControl *petControl);
+	bool isValid(CPetControl *petControl) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file, int param) {}
+	void load(SimpleFile *file, int param) override {}
 
 	/**
 	 * Called after a game has been loaded
 	 */
-	virtual void postLoad();
+	void postLoad() override;
 
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent) {}
+	void save(SimpleFile *file, int indent) override {}
 
 	/**
 	 * Called when a section is switched to
 	 */
-	virtual void enter(PetArea oldArea);
+	void enter(PetArea oldArea) override;
 
 	/**
 	 * Called when a section is being left, to switch to another area
 	 */
-	virtual void leave();
+	void leave() override;
 
 	/**
 	 * Called when a new room is entered
 	 */
-	virtual void enterRoom(CRoomItem *room) {}
+	void enterRoom(CRoomItem *room) override {}
 
 	/**
 	 * Get a reference to the tooltip text associated with the section
 	 */
-	virtual CTextControl *getText() { return &_text; }
+	CTextControl *getText() override { return &_text; }
 
 	/**
 	 * Handles updates to the sound levels
diff --git a/engines/titanic/pet_control/pet_remote.h b/engines/titanic/pet_control/pet_remote.h
index 008c645..16735cd 100644
--- a/engines/titanic/pet_control/pet_remote.h
+++ b/engines/titanic/pet_control/pet_remote.h
@@ -92,62 +92,62 @@ public:
 	/**
 	 * Sets up the section
 	 */
-	virtual bool setup(CPetControl *petControl);
+	bool setup(CPetControl *petControl) override;
 
 	/**
 	 * Reset the section
 	 */
-	virtual bool reset();
+	bool reset() override;
 
 	/**
 	 * Draw the section
 	 */
-	virtual void draw(CScreenManager *screenManager);
+	void draw(CScreenManager *screenManager) override;
 
 	/**
 	* Following are handlers for the various messages that the PET can
 	* pass onto the currently active section/area
 	*/
-	virtual bool MouseButtonDownMsg(CMouseButtonDownMsg *msg);
-	virtual bool MouseButtonUpMsg(CMouseButtonUpMsg *msg);
-	virtual bool MouseDoubleClickMsg(CMouseDoubleClickMsg *msg);
-	virtual bool VirtualKeyCharMsg(CVirtualKeyCharMsg *msg);
-	virtual bool MouseWheelMsg(CMouseWheelMsg *msg);
+	bool MouseButtonDownMsg(CMouseButtonDownMsg *msg) override;
+	bool MouseButtonUpMsg(CMouseButtonUpMsg *msg) override;
+	bool MouseDoubleClickMsg(CMouseDoubleClickMsg *msg) override;
+	bool VirtualKeyCharMsg(CVirtualKeyCharMsg *msg) override;
+	bool MouseWheelMsg(CMouseWheelMsg *msg) override;
 
 	/**
 	 * Returns true if the object is in a valid state
 	 */
-	virtual bool isValid(CPetControl *petControl);
+	bool isValid(CPetControl *petControl) override;
 
 	/**
 	 * Called after a game has been loaded
 	 */
-	virtual void postLoad();
+	void postLoad() override;
 
 	/**
 	 * Called when a section is switched to
 	 */
-	virtual void enter(PetArea oldArea);
+	void enter(PetArea oldArea) override;
 
 	/**
 	 * Called when a new room is entered
 	 */
-	virtual void enterRoom(CRoomItem *room);
+	void enterRoom(CRoomItem *room) override;
 
 	/**
 	 * Get a reference to the tooltip text associated with the section
 	 */
-	virtual CTextControl *getText();
+	CTextControl *getText() override;
 
 	/**
 	 * Get an element from the section by a designated Id
 	 */
-	virtual CPetGfxElement *getElement(uint id);
+	CPetGfxElement *getElement(uint id) override;
 
 	/**
 	 * Highlights a glyph item in the section
 	 */
-	virtual void highlight(int id);
+	void highlight(int id) override;
 
 	/**
 	 * Generates a PET message
diff --git a/engines/titanic/pet_control/pet_remote_glyphs.h b/engines/titanic/pet_control/pet_remote_glyphs.h
index fc7df8c..48a7a20 100644
--- a/engines/titanic/pet_control/pet_remote_glyphs.h
+++ b/engines/titanic/pet_control/pet_remote_glyphs.h
@@ -96,27 +96,27 @@ public:
 	/**
 	 * Setup the glyph
 	 */
-	virtual bool setup(CPetControl *petControl, CPetGlyphs *owner);
+	bool setup(CPetControl *petControl, CPetGlyphs *owner) override;
 
 	/**
 	 * Handles any secondary drawing of the glyph
 	 */
-	virtual void draw2(CScreenManager *screenManager);
+	void draw2(CScreenManager *screenManager) override;
 
 	/**
 	 * Called for mouse button down messages
 	 */
-	virtual bool MouseButtonDownMsg(const Point &pt);
+	bool MouseButtonDownMsg(const Point &pt) override;
 
 	/**
 	 * Handles mouse button up messages
 	 */
-	virtual bool MouseButtonUpMsg(const Point &pt);
+	bool MouseButtonUpMsg(const Point &pt) override;
 
 	/**
 	 * Returns the tooltip text for when the glyph is selected
 	 */
-	virtual void getTooltip(CTextControl *text);
+	void getTooltip(CTextControl *text) override;
 };
 
 class CToggleRemoteGlyph : public CPetRemoteGlyph {
@@ -129,12 +129,12 @@ public:
 	/**
 	 * Setup the glyph
 	 */
-	virtual bool setup(CPetControl *petControl, CPetGlyphs *owner);
+	bool setup(CPetControl *petControl, CPetGlyphs *owner) override;
 
 	/**
 	 * Handles any secondary drawing of the glyph
 	 */
-	virtual void draw2(CScreenManager *screenManager);
+	void draw2(CScreenManager *screenManager) override;
 
 	/**
 	 * Called for mouse button down messages to the default element
@@ -161,27 +161,27 @@ public:
 	/**
 	 * Setup the glyph
 	 */
-	virtual bool setup(CPetControl *petControl, CPetGlyphs *owner);
+	bool setup(CPetControl *petControl, CPetGlyphs *owner) override;
 
 	/**
 	 * Handles any secondary drawing of the glyph
 	 */
-	virtual void draw2(CScreenManager *screenManager);
+	void draw2(CScreenManager *screenManager) override;
 
 	/**
 	 * Called for mouse button down messages
 	 */
-	virtual bool MouseButtonDownMsg(const Point &pt);
+	bool MouseButtonDownMsg(const Point &pt) override;
 
 	/**
 	 * Handles mouse button up messages
 	 */
-	virtual bool MouseButtonUpMsg(const Point &pt);
+	bool MouseButtonUpMsg(const Point &pt) override;
 
 	/**
 	 * Returns the tooltip text for when the glyph is selected
 	 */
-	virtual void getTooltip(CTextControl *text);
+	void getTooltip(CTextControl *text) override;
 };
 
 class CSummonElevatorGlyph : public CBasicRemoteGlyph {
@@ -205,27 +205,27 @@ public:
 	/**
 	 * Setup the glyph
 	 */
-	virtual bool setup(CPetControl *petControl, CPetGlyphs *owner);
+	bool setup(CPetControl *petControl, CPetGlyphs *owner) override;
 
 	/**
 	 * Handles any secondary drawing of the glyph
 	 */
-	virtual void draw2(CScreenManager *screenManager);
+	void draw2(CScreenManager *screenManager) override;
 
 	/**
 	 * Called for mouse button down messages
 	 */
-	virtual bool MouseButtonDownMsg(const Point &pt);
+	bool MouseButtonDownMsg(const Point &pt) override;
 
 	/**
 	 * Handles mouse button up messages
 	 */
-	virtual bool MouseButtonUpMsg(const Point &pt);
+	bool MouseButtonUpMsg(const Point &pt) override;
 
 	/**
 	 * Returns the tooltip text for when the glyph is selected
 	 */
-	virtual void getTooltip(CTextControl *text);
+	void getTooltip(CTextControl *text) override;
 };
 
 class CEntertainmentDeviceGlyph : public CToggleRemoteGlyph {
@@ -239,27 +239,27 @@ public:
 	/**
 	 * Setup the glyph
 	 */
-	virtual bool setup(CPetControl *petControl, CPetGlyphs *owner);
+	bool setup(CPetControl *petControl, CPetGlyphs *owner) override;
 
 	/**
 	 * Handles any secondary drawing of the glyph
 	 */
-	virtual void draw2(CScreenManager *screenManager);
+	void draw2(CScreenManager *screenManager) override;
 
 	/**
 	 * Called for mouse button down messages
 	 */
-	virtual bool MouseButtonDownMsg(const Point &pt);
+	bool MouseButtonDownMsg(const Point &pt) override;
 
 	/**
 	 * Handles mouse button up messages
 	 */
-	virtual bool MouseButtonUpMsg(const Point &pt);
+	bool MouseButtonUpMsg(const Point &pt) override;
 
 	/**
 	 * Returns the tooltip text for when the glyph is selected
 	 */
-	virtual void getTooltip(CTextControl *text);
+	void getTooltip(CTextControl *text) override;
 };
 
 
@@ -273,27 +273,27 @@ public:
 	/**
 	* Setup the glyph
 	*/
-	virtual bool setup(CPetControl *petControl, CPetGlyphs *owner);
+	bool setup(CPetControl *petControl, CPetGlyphs *owner) override;
 
 	/**
 	* Handles any secondary drawing of the glyph
 	*/
-	virtual void draw2(CScreenManager *screenManager);
+	void draw2(CScreenManager *screenManager) override;
 
 	/**
 	* Called for mouse button down messages
 	*/
-	virtual bool MouseButtonDownMsg(const Point &pt);
+	bool MouseButtonDownMsg(const Point &pt) override;
 
 	/**
 	* Handles mouse button up messages
 	*/
-	virtual bool MouseButtonUpMsg(const Point &pt);
+	bool MouseButtonUpMsg(const Point &pt) override;
 
 	/**
 	* Returns the tooltip text for when the glyph is selected
 	*/
-	virtual void getTooltip(CTextControl *text);
+	void getTooltip(CTextControl *text) override;
 };
 
 class CDeployFloralGlyph : public CToggleRemoteGlyph {
@@ -301,26 +301,26 @@ public:
 	/**
 	 * Setup the glyph
 	 */
-	virtual bool setup(CPetControl *petControl, CPetGlyphs *owner);
+	bool setup(CPetControl *petControl, CPetGlyphs *owner) override;
 
 	/**
 	 * Called for mouse button down messages
 	 */
-	virtual bool MouseButtonDownMsg(const Point &pt) {
+	bool MouseButtonDownMsg(const Point &pt) override {
 		return elementMouseButtonDownMsg(pt, 0);
 	}
 
 	/**
 	 * Handles mouse button up messages
 	 */
-	virtual bool MouseButtonUpMsg(const Point &pt) {
+	bool MouseButtonUpMsg(const Point &pt) override {
 		return elementMouseButtonUpMsg(pt, 0);
 	}
 
 	/**
 	 * Returns the tooltip text for when the glyph is selected
 	 */
-	virtual void getTooltip(CTextControl *text);
+	void getTooltip(CTextControl *text) override;
 };
 
 class CDeployFullyRelaxationGlyph : public CToggleRemoteGlyph {
@@ -328,26 +328,26 @@ public:
 	/**
 	 * Setup the glyph
 	 */
-	virtual bool setup(CPetControl *petControl, CPetGlyphs *owner);
+	bool setup(CPetControl *petControl, CPetGlyphs *owner) override;
 
 	/**
 	 * Called for mouse button down messages
 	 */
-	virtual bool MouseButtonDownMsg(const Point &pt) {
+	bool MouseButtonDownMsg(const Point &pt) override {
 		return elementMouseButtonDownMsg(pt, 1);
 	}
 
 	/**
 	 * Handles mouse button up messages
 	 */
-	virtual bool MouseButtonUpMsg(const Point &pt) {
+	bool MouseButtonUpMsg(const Point &pt) override {
 		return elementMouseButtonUpMsg(pt, 1);
 	}
 
 	/**
 	 * Returns the tooltip text for when the glyph is selected
 	 */
-	virtual void getTooltip(CTextControl *text);
+	void getTooltip(CTextControl *text) override;
 };
 
 class CDeployComfortGlyph : public CToggleRemoteGlyph {
@@ -355,26 +355,26 @@ public:
 	/**
 	 * Setup the glyph
 	 */
-	virtual bool setup(CPetControl *petControl, CPetGlyphs *owner);
+	bool setup(CPetControl *petControl, CPetGlyphs *owner) override;
 
 	/**
 	 * Called for mouse button down messages
 	 */
-	virtual bool MouseButtonDownMsg(const Point &pt) {
+	bool MouseButtonDownMsg(const Point &pt) override {
 		return elementMouseButtonDownMsg(pt, 2);
 	}
 
 	/**
 	 * Handles mouse button up messages
 	 */
-	virtual bool MouseButtonUpMsg(const Point &pt) {
+	bool MouseButtonUpMsg(const Point &pt) override {
 		return elementMouseButtonUpMsg(pt, 2);
 	}
 
 	/**
 	 * Returns the tooltip text for when the glyph is selected
 	 */
-	virtual void getTooltip(CTextControl *text);
+	void getTooltip(CTextControl *text) override;
 };
 
 class CDeployMinorStorageGlyph : public CToggleRemoteGlyph {
@@ -382,26 +382,26 @@ public:
 	/**
 	 * Setup the glyph
 	 */
-	virtual bool setup(CPetControl *petControl, CPetGlyphs *owner);
+	bool setup(CPetControl *petControl, CPetGlyphs *owner) override;
 
 	/**
 	 * Called for mouse button down messages
 	 */
-	virtual bool MouseButtonDownMsg(const Point &pt) {
+	bool MouseButtonDownMsg(const Point &pt) override {
 		return elementMouseButtonDownMsg(pt, 3);
 	}
 
 	/**
 	 * Handles mouse button up messages
 	 */
-	virtual bool MouseButtonUpMsg(const Point &pt) {
+	bool MouseButtonUpMsg(const Point &pt) override {
 		return elementMouseButtonUpMsg(pt, 3);
 	}
 
 	/**
 	 * Returns the tooltip text for when the glyph is selected
 	 */
-	virtual void getTooltip(CTextControl *text);
+	void getTooltip(CTextControl *text) override;
 };
 
 class CDeployMajorRelaxationGlyph : public CToggleRemoteGlyph {
@@ -409,26 +409,26 @@ public:
 	/**
 	 * Setup the glyph
 	 */
-	virtual bool setup(CPetControl *petControl, CPetGlyphs *owner);
+	bool setup(CPetControl *petControl, CPetGlyphs *owner) override;
 
 	/**
 	 * Called for mouse button down messages
 	 */
-	virtual bool MouseButtonDownMsg(const Point &pt) {
+	bool MouseButtonDownMsg(const Point &pt) override {
 		return elementMouseButtonDownMsg(pt, 5);
 	}
 
 	/**
 	 * Handles mouse button up messages
 	 */
-	virtual bool MouseButtonUpMsg(const Point &pt) {
+	bool MouseButtonUpMsg(const Point &pt) override {
 		return elementMouseButtonUpMsg(pt, 5);
 	}
 
 	/**
 	 * Returns the tooltip text for when the glyph is selected
 	 */
-	virtual void getTooltip(CTextControl *text);
+	void getTooltip(CTextControl *text) override;
 };
 
 class CInflateRelaxationGlyph : public CToggleRemoteGlyph {
@@ -436,26 +436,26 @@ public:
 	/**
 	 * Setup the glyph
 	 */
-	virtual bool setup(CPetControl *petControl, CPetGlyphs *owner);
+	bool setup(CPetControl *petControl, CPetGlyphs *owner) override;
 
 	/**
 	 * Called for mouse button down messages
 	 */
-	virtual bool MouseButtonDownMsg(const Point &pt) {
+	bool MouseButtonDownMsg(const Point &pt) override {
 		return elementMouseButtonDownMsg(pt, 6);
 	}
 
 	/**
 	 * Handles mouse button up messages
 	 */
-	virtual bool MouseButtonUpMsg(const Point &pt) {
+	bool MouseButtonUpMsg(const Point &pt) override {
 		return elementMouseButtonUpMsg(pt, 6);
 	}
 
 	/**
 	 * Returns the tooltip text for when the glyph is selected
 	 */
-	virtual void getTooltip(CTextControl *text);
+	void getTooltip(CTextControl *text) override;
 };
 
 class CDeployMaintenanceGlyph : public CToggleRemoteGlyph {
@@ -463,26 +463,26 @@ public:
 	/**
 	* Setup the glyph
 	*/
-	virtual bool setup(CPetControl *petControl, CPetGlyphs *owner);
+	bool setup(CPetControl *petControl, CPetGlyphs *owner) override;
 
 	/**
 	* Called for mouse button down messages
 	*/
-	virtual bool MouseButtonDownMsg(const Point &pt) {
+	bool MouseButtonDownMsg(const Point &pt) override {
 		return elementMouseButtonDownMsg(pt, 7);
 	}
 
 	/**
 	* Handles mouse button up messages
 	*/
-	virtual bool MouseButtonUpMsg(const Point &pt) {
+	bool MouseButtonUpMsg(const Point &pt) override {
 		return elementMouseButtonUpMsg(pt, 7);
 	}
 
 	/**
 	* Returns the tooltip text for when the glyph is selected
 	*/
-	virtual void getTooltip(CTextControl *text);
+	void getTooltip(CTextControl *text) override;
 };
 
 class CDeployWorkSurfaceGlyph : public CToggleRemoteGlyph {
@@ -490,26 +490,26 @@ public:
 	/**
 	 * Setup the glyph
 	 */
-	virtual bool setup(CPetControl *petControl, CPetGlyphs *owner);
+	bool setup(CPetControl *petControl, CPetGlyphs *owner) override;
 
 	/**
 	 * Called for mouse button down messages
 	 */
-	virtual bool MouseButtonDownMsg(const Point &pt) {
+	bool MouseButtonDownMsg(const Point &pt) override {
 		return elementMouseButtonDownMsg(pt, 8);
 	}
 
 	/**
 	 * Handles mouse button up messages
 	 */
-	virtual bool MouseButtonUpMsg(const Point &pt) {
+	bool MouseButtonUpMsg(const Point &pt) override {
 		return elementMouseButtonUpMsg(pt, 8);
 	}
 
 	/**
 	 * Returns the tooltip text for when the glyph is selected
 	 */
-	virtual void getTooltip(CTextControl *text);
+	void getTooltip(CTextControl *text) override;
 };
 
 class CDeployMinorRelaxationGlyph : public CToggleRemoteGlyph {
@@ -517,26 +517,26 @@ public:
 	/**
 	 * Setup the glyph
 	 */
-	virtual bool setup(CPetControl *petControl, CPetGlyphs *owner);
+	bool setup(CPetControl *petControl, CPetGlyphs *owner) override;
 
 	/**
 	 * Called for mouse button down messages
 	 */
-	virtual bool MouseButtonDownMsg(const Point &pt) {
+	bool MouseButtonDownMsg(const Point &pt) override {
 		return elementMouseButtonDownMsg(pt, 9);
 	}
 
 	/**
 	 * Handles mouse button up messages
 	 */
-	virtual bool MouseButtonUpMsg(const Point &pt) {
+	bool MouseButtonUpMsg(const Point &pt) override {
 		return elementMouseButtonUpMsg(pt, 9);
 	}
 
 	/**
 	 * Returns the tooltip text for when the glyph is selected
 	 */
-	virtual void getTooltip(CTextControl *text);
+	void getTooltip(CTextControl *text) override;
 };
 
 class CDeploySinkGlyph : public CToggleRemoteGlyph {
@@ -544,26 +544,26 @@ public:
 	/**
 	 * Setup the glyph
 	 */
-	virtual bool setup(CPetControl *petControl, CPetGlyphs *owner);
+	bool setup(CPetControl *petControl, CPetGlyphs *owner) override;
 
 	/**
 	 * Called for mouse button down messages
 	 */
-	virtual bool MouseButtonDownMsg(const Point &pt) {
+	bool MouseButtonDownMsg(const Point &pt) override {
 		return elementMouseButtonDownMsg(pt, 10);
 	}
 
 	/**
 	 * Handles mouse button up messages
 	 */
-	virtual bool MouseButtonUpMsg(const Point &pt) {
+	bool MouseButtonUpMsg(const Point &pt) override {
 		return elementMouseButtonUpMsg(pt, 10);
 	}
 
 	/**
 	 * Returns the tooltip text for when the glyph is selected
 	 */
-	virtual void getTooltip(CTextControl *text);
+	void getTooltip(CTextControl *text) override;
 };
 
 class CDeployMajorStorageGlyph : public CToggleRemoteGlyph {
@@ -571,26 +571,26 @@ public:
 	/**
 	 * Setup the glyph
 	 */
-	virtual bool setup(CPetControl *petControl, CPetGlyphs *owner);
+	bool setup(CPetControl *petControl, CPetGlyphs *owner) override;
 
 	/**
 	 * Called for mouse button down messages
 	 */
-	virtual bool MouseButtonDownMsg(const Point &pt) {
+	bool MouseButtonDownMsg(const Point &pt) override {
 		return elementMouseButtonDownMsg(pt, 11);
 	}
 
 	/**
 	 * Handles mouse button up messages
 	 */
-	virtual bool MouseButtonUpMsg(const Point &pt) {
+	bool MouseButtonUpMsg(const Point &pt) override {
 		return elementMouseButtonUpMsg(pt, 11);
 	}
 
 	/**
 	 * Returns the tooltip text for when the glyph is selected
 	 */
-	virtual void getTooltip(CTextControl *text);
+	void getTooltip(CTextControl *text) override;
 };
 
 class CSuccubusDeliveryGlyph : public CPetRemoteGlyph {
@@ -603,27 +603,27 @@ public:
 	/**
 	 * Setup the glyph
 	 */
-	virtual bool setup(CPetControl *petControl, CPetGlyphs *owner);
+	bool setup(CPetControl *petControl, CPetGlyphs *owner) override;
 
 	/**
 	 * Handles any secondary drawing of the glyph
 	 */
-	virtual void draw2(CScreenManager *screenManager);
+	void draw2(CScreenManager *screenManager) override;
 
 	/**
 	 * Called for mouse button down messages
 	 */
-	virtual bool MouseButtonDownMsg(const Point &pt);
+	bool MouseButtonDownMsg(const Point &pt) override;
 
 	/**
 	 * Handles mouse button up messages
 	 */
-	virtual bool MouseButtonUpMsg(const Point &pt);
+	bool MouseButtonUpMsg(const Point &pt) override;
 
 	/**
 	 * Returns the tooltip text for when the glyph is selected
 	 */
-	virtual void getTooltip(CTextControl *text);
+	void getTooltip(CTextControl *text) override;
 };
 
 class CNavigationControllerGlyph : public CPetRemoteGlyph {
@@ -637,27 +637,27 @@ public:
 	/**
 	 * Setup the glyph
 	 */
-	virtual bool setup(CPetControl *petControl, CPetGlyphs *owner);
+	bool setup(CPetControl *petControl, CPetGlyphs *owner) override;
 
 	/**
 	 * Handles any secondary drawing of the glyph
 	 */
-	virtual void draw2(CScreenManager *screenManager);
+	void draw2(CScreenManager *screenManager) override;
 
 	/**
 	 * Called for mouse button down messages
 	 */
-	virtual bool MouseButtonDownMsg(const Point &pt);
+	bool MouseButtonDownMsg(const Point &pt) override;
 
 	/**
 	 * Handles mouse button up messages
 	 */
-	virtual bool MouseButtonUpMsg(const Point &pt);
+	bool MouseButtonUpMsg(const Point &pt) override;
 
 	/**
 	 * Returns the tooltip text for when the glyph is selected
 	 */
-	virtual void getTooltip(CTextControl *text);
+	void getTooltip(CTextControl *text) override;
 };
 
 class CGotoBottomOfWellGlyph : public CRemoteGotoGlyph {
@@ -709,27 +709,27 @@ public:
 	/**
 	 * Setup the glyph
 	 */
-	virtual bool setup(CPetControl *petControl, CPetGlyphs *owner);
+	bool setup(CPetControl *petControl, CPetGlyphs *owner) override;
 
 	/**
 	 * Handles any secondary drawing of the glyph
 	 */
-	virtual void draw2(CScreenManager *screenManager);
+	void draw2(CScreenManager *screenManager) override;
 
 	/**
 	 * Called for mouse button down messages
 	 */
-	virtual bool MouseButtonDownMsg(const Point &pt);
+	bool MouseButtonDownMsg(const Point &pt) override;
 
 	/**
 	 * Handles mouse button up messages
 	 */
-	virtual bool MouseButtonUpMsg(const Point &pt);
+	bool MouseButtonUpMsg(const Point &pt) override;
 
 	/**
 	 * Returns the tooltip text for when the glyph is selected
 	 */
-	virtual void getTooltip(CTextControl *text);
+	void getTooltip(CTextControl *text) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/pet_control/pet_rooms.h b/engines/titanic/pet_control/pet_rooms.h
index a893e9a..690caaf 100644
--- a/engines/titanic/pet_control/pet_rooms.h
+++ b/engines/titanic/pet_control/pet_rooms.h
@@ -76,77 +76,77 @@ public:
 	/**
 	 * Sets up the section
 	 */
-	virtual bool setup(CPetControl *petControl);
+	bool setup(CPetControl *petControl) override;
 
 	/**
 	 * Reset the section
 	 */
-	virtual bool reset();
+	bool reset() override;
 
 	/**
 	 * Draw the section
 	 */
-	virtual void draw(CScreenManager *screenManager);
+	void draw(CScreenManager *screenManager) override;
 
 	/**
 	 * Following are handlers for the various messages that the PET can
 	 * pass onto the currently active section/area
 	 */
-	virtual bool MouseButtonDownMsg(CMouseButtonDownMsg *msg);
-	virtual bool MouseDragStartMsg(CMouseDragStartMsg *msg);
-	virtual bool MouseButtonUpMsg(CMouseButtonUpMsg *msg);
-	virtual bool MouseDoubleClickMsg(CMouseDoubleClickMsg *msg);
-	virtual bool VirtualKeyCharMsg(CVirtualKeyCharMsg *msg);
+	bool MouseButtonDownMsg(CMouseButtonDownMsg *msg) override;
+	bool MouseDragStartMsg(CMouseDragStartMsg *msg) override;
+	bool MouseButtonUpMsg(CMouseButtonUpMsg *msg) override;
+	bool MouseDoubleClickMsg(CMouseDoubleClickMsg *msg) override;
+	bool VirtualKeyCharMsg(CVirtualKeyCharMsg *msg) override;
 
 	/**
 	 * Check whether a drag drop can occur
 	 */
-	virtual bool checkDragEnd(CGameObject *item);
+	bool checkDragEnd(CGameObject *item) override;
 
 	/**
 	 * Display a message
 	 */
-	virtual void displayMessage(const CString &msg);
+	void displayMessage(const CString &msg) override;
 
 	/**
 	 * Returns true if the object is in a valid state
 	 */
-	virtual bool isValid(CPetControl *petControl);
+	bool isValid(CPetControl *petControl) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file, int param);
+	void load(SimpleFile *file, int param) override;
 
 	/**
 	 * Called after a game has been loaded
 	 */
-	virtual void postLoad();
+	void postLoad() override;
 
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Called when a section is switched to
 	 */
-	virtual void enter(PetArea oldArea);
+	void enter(PetArea oldArea) override;
 
 	/**
 	 * Called when a new room is entered
 	 */
-	virtual void enterRoom(CRoomItem *room);
+	void enterRoom(CRoomItem *room) override;
 
 	/**
 	 * Get a reference to the tooltip text associated with the section
 	 */
-	virtual CTextControl *getText();
+	CTextControl *getText() override;
 
 	/**
 	 * Special retrieval of glyph background image
 	 */
-	virtual CGameObject *getBackground(int index) const;
+	CGameObject *getBackground(int index) const override;
 
 	/**
 	 * Reset the highlight
diff --git a/engines/titanic/pet_control/pet_rooms_glyphs.h b/engines/titanic/pet_control/pet_rooms_glyphs.h
index e10eafc..32ed31b 100644
--- a/engines/titanic/pet_control/pet_rooms_glyphs.h
+++ b/engines/titanic/pet_control/pet_rooms_glyphs.h
@@ -65,39 +65,39 @@ public:
 	/**
 	 * Setup the glyph
 	 */
-	virtual bool setup(CPetControl *petControl, CPetGlyphs *owner);
+	bool setup(CPetControl *petControl, CPetGlyphs *owner) override;
 
 	/**
 	 * Draw the glyph at a specified position
 	 */
-	virtual void drawAt(CScreenManager *screenManager, const Point &pt, bool isHighlighted);
+	void drawAt(CScreenManager *screenManager, const Point &pt, bool isHighlighted) override;
 
 	/**
 	 * Handles any secondary drawing of the glyph
 	 */
-	virtual void draw2(CScreenManager *screenManager) {}
+	void draw2(CScreenManager *screenManager) override {}
 
 	/**
 	 * Selects a glyph
 	 */
-	virtual void selectGlyph(const Point &topLeft, const Point &pt);
+	void selectGlyph(const Point &topLeft, const Point &pt) override;
 
 	/**
 	 * Called when a glyph drag starts
 	 */
-	virtual bool dragGlyph(const Point &topLeft, CMouseDragStartMsg *msg);
+	bool dragGlyph(const Point &topLeft, CMouseDragStartMsg *msg) override;
 
 	/**
 	 * Returns the tooltip text for when the glyph is selected
 	 */
-	virtual void getTooltip(CTextControl *text);
+	void getTooltip(CTextControl *text) override;
 
 	/**
 	 * Saves the data for the glyph
 	 */
-	virtual void saveGlyph(SimpleFile *file, int indent);
+	void saveGlyph(SimpleFile *file, int indent) override;
 
-	virtual bool proc33(CPetGlyph *glyph);
+	bool proc33(CPetGlyph *glyph) override;
 
 	/**
 	 * Loads flags for the glyph
diff --git a/engines/titanic/pet_control/pet_save.h b/engines/titanic/pet_control/pet_save.h
index 9b3c115..daab344 100644
--- a/engines/titanic/pet_control/pet_save.h
+++ b/engines/titanic/pet_control/pet_save.h
@@ -32,37 +32,37 @@ public:
 	/**
 	 * Reset the glyph
 	 */
-	virtual bool reset();
+	bool reset() override;
 
 	/**
 	 * Handles mouse button up messages
 	 */
-	virtual bool MouseButtonUpMsg(const Point &pt);
+	bool MouseButtonUpMsg(const Point &pt) override;
 
 	/**
 	 * Handles keypresses when the glyph is focused
 	 */
-	virtual bool KeyCharMsg(int key);
+	bool KeyCharMsg(int key) override;
 
 	/**
 	 * Unhighlight any currently highlighted element
 	 */
-	virtual void unhighlightCurrent() { unhighlightSave(_savegameSlotNum); }
+	void unhighlightCurrent() override { unhighlightSave(_savegameSlotNum); }
 
 	/**
 	 * Highlight any currently highlighted element
 	 */
-	virtual void highlightCurrent(const Point &pt);
+	void highlightCurrent(const Point &pt) override;
 
 	/**
 	 * Returns the tooltip text for when the glyph is selected
 	 */
-	virtual void getTooltip(CTextControl *text);
+	void getTooltip(CTextControl *text) override;
 
 	/**
 	 * Called on a highlighted item when PET area is entered
 	 */
-	virtual bool enterHighlighted() {
+	bool enterHighlighted() override {
 		highlightSave(_savegameSlotNum);
 		return true;
 	}
@@ -70,22 +70,22 @@ public:
 	/**
 	 * Called on a highlighted item when PET area is left
 	 */
-	virtual void leaveHighlighted() { unhighlightSave(_savegameSlotNum); }
+	void leaveHighlighted() override { unhighlightSave(_savegameSlotNum); }
 
 	/**
 	 * Highlights a save slot
 	 */
-	virtual void highlightSave(int index);
+	void highlightSave(int index) override;
 
 	/**
 	 * Unhighlight a save slot
 	 */
-	virtual void unhighlightSave(int index);
+	void unhighlightSave(int index) override;
 
 	/**
 	 * Executes the loading or saving
 	 */
-	virtual void execute();
+	void execute() override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/pet_control/pet_show_translation.h b/engines/titanic/pet_control/pet_show_translation.h
index a0feae8..6dcba4c 100644
--- a/engines/titanic/pet_control/pet_show_translation.h
+++ b/engines/titanic/pet_control/pet_show_translation.h
@@ -44,12 +44,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/pet_control/pet_slider.h b/engines/titanic/pet_control/pet_slider.h
index be8c846..274300d 100644
--- a/engines/titanic/pet_control/pet_slider.h
+++ b/engines/titanic/pet_control/pet_slider.h
@@ -211,27 +211,27 @@ public:
 	/**
 	 * Setup the background
 	 */
-	virtual void setupBackground(const CString &name, CPetControl *petControl);
+	void setupBackground(const CString &name, CPetControl *petControl) override;
 
 	/**
 	 * Setup the thumb
 	 */
-	virtual void setupThumb(const CString &name, CPetControl *petControl);
+	void setupThumb(const CString &name, CPetControl *petControl) override;
 
 	/**
 	 * Setup the background
 	 */
-	virtual void setupBackground2(const CString &name, CPetControl *petControl);
+	void setupBackground2(const CString &name, CPetControl *petControl) override;
 
 	/**
 	 * Setup the thumb
 	 */
-	virtual void setupThumb2(const CString &name, CPetControl *petControl);
+	void setupThumb2(const CString &name, CPetControl *petControl) override;
 
 	/**
 	 * Draw the slider
 	 */
-	virtual void draw(CScreenManager *screenManager);
+	void draw(CScreenManager *screenManager) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/pet_control/pet_sound.h b/engines/titanic/pet_control/pet_sound.h
index 54e2fc1..89a9b33 100644
--- a/engines/titanic/pet_control/pet_sound.h
+++ b/engines/titanic/pet_control/pet_sound.h
@@ -59,54 +59,54 @@ public:
 	/**
 	 * Setup the glyph
 	 */
-	virtual bool setup(CPetControl *petControl, CPetGlyphs *owner);
+	bool setup(CPetControl *petControl, CPetGlyphs *owner) override;
 
 	/**
 	 * Reset the glyph
 	 */
-	virtual bool reset();
+	bool reset() override;
 
 	/**
 	 * Handles any secondary drawing of the glyph
 	 */
-	virtual void draw2(CScreenManager *screenManager);
+	void draw2(CScreenManager *screenManager) override;
 
 	/**
 	 * Called for mouse button down messages
 	 */
-	virtual bool MouseButtonDownMsg(const Point &pt);
+	bool MouseButtonDownMsg(const Point &pt) override;
 
 	/**
 	 * Called when mouse drag starts
 	 */
-	virtual bool MouseDragStartMsg(CMouseDragStartMsg *msg);
+	bool MouseDragStartMsg(CMouseDragStartMsg *msg) override;
 
 	/**
 	 * Called during mouse drags
 	 */
-	virtual bool MouseDragMoveMsg(CMouseDragMoveMsg *msg);
+	bool MouseDragMoveMsg(CMouseDragMoveMsg *msg) override;
 
 	/**
 	 * Called when mouse drag ends
 	 */
-	virtual bool MouseDragEndMsg(CMouseDragEndMsg *msg);
+	bool MouseDragEndMsg(CMouseDragEndMsg *msg) override;
 
 	/**
 	 * Handles mouse button up messages
 	 */
-	virtual bool MouseButtonUpMsg(const Point &pt);
+	bool MouseButtonUpMsg(const Point &pt) override;
 
 	/**
 	 * Highlight any currently highlighted element
 	 */
-	virtual void highlightCurrent(const Point &pt) {
+	void highlightCurrent(const Point &pt) override {
 		setSliders();
 	}
 
 	/**
 	 * Returns the tooltip text for when the glyph is selected
 	 */
-	virtual void getTooltip(CTextControl *text);
+	void getTooltip(CTextControl *text) override;
 
 	/**
 	 * Sets the positions of the volume sliders
diff --git a/engines/titanic/pet_control/pet_starfield.h b/engines/titanic/pet_control/pet_starfield.h
index a0aa1c7..3cb3b98 100644
--- a/engines/titanic/pet_control/pet_starfield.h
+++ b/engines/titanic/pet_control/pet_starfield.h
@@ -70,44 +70,44 @@ public:
 	/**
 	 * Sets up the section
 	 */
-	virtual bool setup(CPetControl *petControl);
+	bool setup(CPetControl *petControl) override;
 
 	/**
 	 * Reset the section
 	 */
-	virtual bool reset();
+	bool reset() override;
 
 	/**
 	 * Draw the section
 	 */
-	virtual void draw(CScreenManager *screenManager);
+	void draw(CScreenManager *screenManager) override;
 
 	/**
 	* Following are handlers for the various messages that the PET can
 	* pass onto the currently active section/area
 	*/
-	virtual bool MouseButtonDownMsg(CMouseButtonDownMsg *msg);
-	virtual bool MouseButtonUpMsg(CMouseButtonUpMsg *msg);
+	bool MouseButtonDownMsg(CMouseButtonDownMsg *msg) override;
+	bool MouseButtonUpMsg(CMouseButtonUpMsg *msg) override;
 
 	/**
 	 * Returns true if the object is in a valid state
 	 */
-	virtual bool isValid(CPetControl *petControl);
+	bool isValid(CPetControl *petControl) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file, int param);
+	void load(SimpleFile *file, int param) override;
 
 	/**
 	 * Called after a game has been loaded
 	 */
-	virtual void postLoad();
+	void postLoad() override;
 
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Sets the display for the marker buttons
diff --git a/engines/titanic/pet_control/pet_translation.h b/engines/titanic/pet_control/pet_translation.h
index ce12be4..d6573c1 100644
--- a/engines/titanic/pet_control/pet_translation.h
+++ b/engines/titanic/pet_control/pet_translation.h
@@ -43,51 +43,51 @@ public:
 	/**
 	 * Sets up the section
 	 */
-	virtual bool setup(CPetControl *petControl);
+	bool setup(CPetControl *petControl) override;
 
 	/**
 	 * Reset the section
 	 */
-	virtual bool reset() { return true; }
+	bool reset() override { return true; }
 
 	/**
 	 * Draw the section
 	 */
-	virtual void draw(CScreenManager *screenManager);
+	void draw(CScreenManager *screenManager) override;
 
 	/**
 	 * Following are handlers for the various messages that the PET can
 	 * pass onto the currently active section/area
 	 */
-	virtual bool MouseButtonDownMsg(CMouseButtonDownMsg *msg) { return false; }
-	virtual bool MouseButtonUpMsg(CMouseButtonUpMsg *msg) { return false; }
+	bool MouseButtonDownMsg(CMouseButtonDownMsg *msg) override { return false; }
+	bool MouseButtonUpMsg(CMouseButtonUpMsg *msg) override { return false; }
 
 	/**
 	 * Returns true if the object is in a valid state
 	 */
-	virtual bool isValid(CPetControl *petControl) {
+	bool isValid(CPetControl *petControl) override {
 		return setupControl(petControl);
 	}
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file, int param) {}
+	void load(SimpleFile *file, int param) override {}
 
 	/**
 	 * Called after a game has been loaded
 	 */
-	virtual void postLoad() { reset(); }
+	void postLoad() override { reset(); }
 
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent) {}
+	void save(SimpleFile *file, int indent) override {}
 
 	/**
 	 * Get a reference to the tooltip text associated with the section
 	 */
-	virtual CTextControl *getText() { return &_tooltip; }
+	CTextControl *getText() override { return &_tooltip; }
 
 	/**
 	 * Clear any current translation text
diff --git a/engines/titanic/sound/auto_music_player.h b/engines/titanic/sound/auto_music_player.h
index 722aa9c..3df21e6 100644
--- a/engines/titanic/sound/auto_music_player.h
+++ b/engines/titanic/sound/auto_music_player.h
@@ -41,12 +41,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/sound/auto_music_player_base.h b/engines/titanic/sound/auto_music_player_base.h
index d039295..697b3e1 100644
--- a/engines/titanic/sound/auto_music_player_base.h
+++ b/engines/titanic/sound/auto_music_player_base.h
@@ -46,12 +46,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/sound/auto_sound_player.h b/engines/titanic/sound/auto_sound_player.h
index 0dfc440..09b7843 100644
--- a/engines/titanic/sound/auto_sound_player.h
+++ b/engines/titanic/sound/auto_sound_player.h
@@ -52,12 +52,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/sound/auto_sound_player_adsr.h b/engines/titanic/sound/auto_sound_player_adsr.h
index 9f09636..7d991aa 100644
--- a/engines/titanic/sound/auto_sound_player_adsr.h
+++ b/engines/titanic/sound/auto_sound_player_adsr.h
@@ -41,12 +41,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/sound/background_sound_maker.h b/engines/titanic/sound/background_sound_maker.h
index 94f3b79..185ac4b 100644
--- a/engines/titanic/sound/background_sound_maker.h
+++ b/engines/titanic/sound/background_sound_maker.h
@@ -39,12 +39,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/sound/bird_song.h b/engines/titanic/sound/bird_song.h
index 52af94b..3db85ba 100644
--- a/engines/titanic/sound/bird_song.h
+++ b/engines/titanic/sound/bird_song.h
@@ -40,12 +40,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/sound/dome_from_top_of_well.h b/engines/titanic/sound/dome_from_top_of_well.h
index 001f66a..3b56f6c 100644
--- a/engines/titanic/sound/dome_from_top_of_well.h
+++ b/engines/titanic/sound/dome_from_top_of_well.h
@@ -36,12 +36,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/sound/enter_view_toggles_other_music.h b/engines/titanic/sound/enter_view_toggles_other_music.h
index a91b1e1..8710a81 100644
--- a/engines/titanic/sound/enter_view_toggles_other_music.h
+++ b/engines/titanic/sound/enter_view_toggles_other_music.h
@@ -39,12 +39,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/sound/gondolier_song.h b/engines/titanic/sound/gondolier_song.h
index d586711..580e0e7 100644
--- a/engines/titanic/sound/gondolier_song.h
+++ b/engines/titanic/sound/gondolier_song.h
@@ -43,12 +43,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/sound/music_player.h b/engines/titanic/sound/music_player.h
index 4d322e0..7b24fdb 100644
--- a/engines/titanic/sound/music_player.h
+++ b/engines/titanic/sound/music_player.h
@@ -51,12 +51,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/sound/node_auto_sound_player.h b/engines/titanic/sound/node_auto_sound_player.h
index f5bdc42..d0b6928 100644
--- a/engines/titanic/sound/node_auto_sound_player.h
+++ b/engines/titanic/sound/node_auto_sound_player.h
@@ -41,12 +41,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/sound/restricted_auto_music_player.h b/engines/titanic/sound/restricted_auto_music_player.h
index d36ee5a..a2ea9e3 100644
--- a/engines/titanic/sound/restricted_auto_music_player.h
+++ b/engines/titanic/sound/restricted_auto_music_player.h
@@ -43,12 +43,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/sound/room_auto_sound_player.h b/engines/titanic/sound/room_auto_sound_player.h
index 56525cc..7125475 100644
--- a/engines/titanic/sound/room_auto_sound_player.h
+++ b/engines/titanic/sound/room_auto_sound_player.h
@@ -38,12 +38,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/sound/room_trigger_auto_music_player.h b/engines/titanic/sound/room_trigger_auto_music_player.h
index 1c3394c..9e1715d 100644
--- a/engines/titanic/sound/room_trigger_auto_music_player.h
+++ b/engines/titanic/sound/room_trigger_auto_music_player.h
@@ -38,12 +38,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/sound/season_noises.h b/engines/titanic/sound/season_noises.h
index cab8d59..3ead3d3 100644
--- a/engines/titanic/sound/season_noises.h
+++ b/engines/titanic/sound/season_noises.h
@@ -46,12 +46,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/sound/seasonal_music_player.h b/engines/titanic/sound/seasonal_music_player.h
index ef15c47..720c60b 100644
--- a/engines/titanic/sound/seasonal_music_player.h
+++ b/engines/titanic/sound/seasonal_music_player.h
@@ -48,12 +48,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/sound/sound.h b/engines/titanic/sound/sound.h
index d93db40..df6ea7c 100644
--- a/engines/titanic/sound/sound.h
+++ b/engines/titanic/sound/sound.h
@@ -52,7 +52,7 @@ public:
 	CSoundItem(File *dialogueFile, int speechId) : ListItem(), _waveFile(nullptr),
 		_dialogueFileHandle(dialogueFile), _speechId(speechId), _active(false),
 		_disposeAfterUse(DisposeAfterUse::NO) {}
-	virtual ~CSoundItem();
+	~CSoundItem() override;
 };
 
 class CSoundItemList : public List<CSoundItem> {
diff --git a/engines/titanic/sound/sound_manager.h b/engines/titanic/sound/sound_manager.h
index e07c62d..47299f0 100644
--- a/engines/titanic/sound/sound_manager.h
+++ b/engines/titanic/sound/sound_manager.h
@@ -327,21 +327,21 @@ public:
 
 public:
 	QSoundManager(Audio::Mixer *mixer);
-	virtual ~QSoundManager();
+	~QSoundManager() override;
 
 	/**
 	 * Loads a sound
 	 * @param name		Name of sound resource
 	 * @returns			Loaded wave file
 	 */
-	virtual CWaveFile *loadSound(const CString &name);
+	CWaveFile *loadSound(const CString &name) override;
 
 	/**
 	 * Loads a speech resource from a dialogue file
 	 * @param name		Name of sound resource
 	 * @returns			Loaded wave file
 	 */
-	virtual CWaveFile *loadSpeech(CDialogueFile *dialogueFile, int speechId);
+	CWaveFile *loadSpeech(CDialogueFile *dialogueFile, int speechId) override;
 
 	/**
 	 * Loads a music file
@@ -351,29 +351,29 @@ public:
 	 * music room puzzle. For ScummVM, we've reclassified some wave files that
 	 * contain background music as music as well.
 	 */
-	virtual CWaveFile *loadMusic(const CString &name);
+	CWaveFile *loadMusic(const CString &name) override;
 
 	/**
 	 * Loads a music file from a streaming audio buffer
 	 * @param buffer	Audio buffer
 	 * @returns			Loaded wave file
 	 */
-	virtual CWaveFile *loadMusic(CAudioBuffer *buffer, DisposeAfterUse::Flag disposeAfterUse);
+	CWaveFile *loadMusic(CAudioBuffer *buffer, DisposeAfterUse::Flag disposeAfterUse) override;
 
 	/**
 	 * Start playing a previously loaded sound resource
 	 */
-	virtual int playSound(CWaveFile &waveFile, CProximity &prox);
+	int playSound(CWaveFile &waveFile, CProximity &prox) override;
 
 	/**
 	 * Stop playing the specified sound
 	 */
-	virtual void stopSound(int handle);
+	void stopSound(int handle) override;
 
 	/**
 	 * Stops a designated range of channels
 	 */
-	virtual void stopChannel(int channel);
+	void stopChannel(int channel) override;
 
 	/**
 	 * Flags that a sound can be freed if a timeout is set
@@ -383,7 +383,7 @@ public:
 	/**
 	 * Stops sounds on all playing channels
 	 */
-	virtual void stopAllChannels();
+	void stopAllChannels() override;
 
 	/**
 	 * Sets the volume for a sound
@@ -391,7 +391,7 @@ public:
 	 * @param volume	New volume
 	 * @param seconds	Number of seconds to transition to the new volume
 	 */
-	virtual void setVolume(int handle, uint volume, uint seconds);
+	void setVolume(int handle, uint volume, uint seconds) override;
 
 	/**
 	 * Set the position for a sound
@@ -401,7 +401,7 @@ public:
 	 * @param z			z position in metres
 	 * @param panRate	Rate in milliseconds to transition
 	 */
-	virtual void setVectorPosition(int handle, double x, double y, double z, uint panRate);
+	void setVectorPosition(int handle, double x, double y, double z, uint panRate) override;
 
 	/**
 	 * Set the position for a sound
@@ -411,53 +411,53 @@ public:
 	 * @param elevation	Elevation value in degrees
 	 * @param panRate	Rate in milliseconds to transition
 	 */
-	virtual void setPolarPosition(int handle, double range, double azimuth, double elevation, uint panRate);
+	void setPolarPosition(int handle, double range, double azimuth, double elevation, uint panRate) override;
 
 	/**
 	 * Returns true if the given sound is currently active
 	 */
-	virtual bool isActive(int handle);
+	bool isActive(int handle) override;
 
 	/**
 	 * Returns true if the given sound is currently active
 	 */
-	virtual bool isActive(const CWaveFile *waveFile);
+	bool isActive(const CWaveFile *waveFile) override;
 
 	/**
 	 * Handles regularly updating the mixer
 	 */
-	virtual void waveMixPump();
+	void waveMixPump() override;
 
 	/**
 	 * Returns the movie latency
 	 */
-	virtual uint getLatency() const;
+	uint getLatency() const override;
 
 	/**
 	 * Sets the music volume percent
 	 */
-	virtual void setMusicPercent(double percent);
+	void setMusicPercent(double percent) override;
 
 	/**
 	 * Sets the speech volume percent
 	 */
-	virtual void setSpeechPercent(double percent);
+	void setSpeechPercent(double percent) override;
 
 	/**
 	 * Sets the master volume percent
 	 */
-	virtual void setMasterPercent(double percent);
+	void setMasterPercent(double percent) override;
 
 	/**
 	 * Sets the Parrot NPC volume percent
 	 */
-	virtual void setParrotPercent(double percent);
+	void setParrotPercent(double percent) override;
 
 	/**
 	 * Sets the position and orientation for the listener (player)
 	 */
-	virtual void setListenerPosition(double posX, double posY, double posZ,
-		double directionX, double directionY, double directionZ, bool stopSounds);
+	void setListenerPosition(double posX, double posY, double posZ,
+		double directionX, double directionY, double directionZ, bool stopSounds) override;
 
 	/**
 	 * Starts a wave file playing
diff --git a/engines/titanic/sound/titania_speech.h b/engines/titanic/sound/titania_speech.h
index 48e0b7b..461f54e 100644
--- a/engines/titanic/sound/titania_speech.h
+++ b/engines/titanic/sound/titania_speech.h
@@ -45,12 +45,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/sound/trigger_auto_music_player.h b/engines/titanic/sound/trigger_auto_music_player.h
index 45631e0..03efe14 100644
--- a/engines/titanic/sound/trigger_auto_music_player.h
+++ b/engines/titanic/sound/trigger_auto_music_player.h
@@ -38,12 +38,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/sound/view_auto_sound_player.h b/engines/titanic/sound/view_auto_sound_player.h
index b62805e..86b68d2 100644
--- a/engines/titanic/sound/view_auto_sound_player.h
+++ b/engines/titanic/sound/view_auto_sound_player.h
@@ -40,12 +40,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/sound/view_toggles_other_music.h b/engines/titanic/sound/view_toggles_other_music.h
index 1b5f110..315419f 100644
--- a/engines/titanic/sound/view_toggles_other_music.h
+++ b/engines/titanic/sound/view_toggles_other_music.h
@@ -39,12 +39,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/sound/water_lapping_sounds.h b/engines/titanic/sound/water_lapping_sounds.h
index 2d0594b..0607f7b 100644
--- a/engines/titanic/sound/water_lapping_sounds.h
+++ b/engines/titanic/sound/water_lapping_sounds.h
@@ -38,12 +38,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/sound/wave_file.cpp b/engines/titanic/sound/wave_file.cpp
index c2a66cf..f3774fd 100644
--- a/engines/titanic/sound/wave_file.cpp
+++ b/engines/titanic/sound/wave_file.cpp
@@ -39,12 +39,12 @@ private:
 public:
 	AudioBufferStream(CAudioBuffer *audioBuffer) : _audioBuffer(audioBuffer) {}
 
-	virtual int readBuffer(int16 *buffer, const int numSamples);
-	virtual bool isStereo() const { return false; }
-	virtual bool endOfData() const;
-	virtual int getRate() const { return 22050; }
-	virtual Audio::Timestamp getLength() const { return Audio::Timestamp(); }
-	virtual bool seek(const Audio::Timestamp &where) { return false; }
+	int readBuffer(int16 *buffer, const int numSamples) override;
+	bool isStereo() const override { return false; }
+	bool endOfData() const override;
+	int getRate() const override { return 22050; }
+	Audio::Timestamp getLength() const override { return Audio::Timestamp(); }
+	bool seek(const Audio::Timestamp &where) override { return false; }
 };
 
 int AudioBufferStream::readBuffer(int16 *buffer, const int numSamples) {
diff --git a/engines/titanic/star_control/flight_manager_marked.h b/engines/titanic/star_control/flight_manager_marked.h
index fa860fb..46a7745 100644
--- a/engines/titanic/star_control/flight_manager_marked.h
+++ b/engines/titanic/star_control/flight_manager_marked.h
@@ -39,7 +39,7 @@ private:
 	 */
 	void getVectorOnPath(FVector &pos) const;
 public:
-	virtual ~CMarkedAutoMover() {}
+	~CMarkedAutoMover() override {}
 
 	void setFlight(const FVector &oldPos, const FVector &newPos,
 		const FMatrix &oldOrientation, const FMatrix &newOrientation);
@@ -47,7 +47,7 @@ public:
 	/**
 	 * Applys speeds to the mover. More than one application is usually done for several transitions
 	 */
-	virtual MoverState move(CErrorCode &errorCode, FVector &pos, FMatrix &orientation);
+	MoverState move(CErrorCode &errorCode, FVector &pos, FMatrix &orientation) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/star_control/flight_manager_unmarked.h b/engines/titanic/star_control/flight_manager_unmarked.h
index 501e1b0..bf921ef 100644
--- a/engines/titanic/star_control/flight_manager_unmarked.h
+++ b/engines/titanic/star_control/flight_manager_unmarked.h
@@ -32,7 +32,7 @@ namespace Titanic {
  */
 class CFlightManagerUnmarked : public CFlightManagerBase {
 public:
-	virtual ~CFlightManagerUnmarked() {}
+	~CFlightManagerUnmarked() override {}
 
 	virtual void setOrientations(const FMatrix &srcOrient, const FMatrix &destOrient);
 
@@ -41,7 +41,7 @@ public:
 	 */
 	void setPathOrient(const FVector &srcV, const FVector &destV, const FMatrix &orientation);
 
-	virtual MoverState move(CErrorCode &errorCode, FVector &pos, FMatrix &orientation);
+	MoverState move(CErrorCode &errorCode, FVector &pos, FMatrix &orientation) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/star_control/motion_control_marked.h b/engines/titanic/star_control/motion_control_marked.h
index ad04d91..efecdee 100644
--- a/engines/titanic/star_control/motion_control_marked.h
+++ b/engines/titanic/star_control/motion_control_marked.h
@@ -36,19 +36,19 @@ private:
 	CMarkedAutoMover _autoMover;
 public:
 	CMotionControlMarked(const CNavigationInfo *src);
-	virtual ~CMotionControlMarked() {}
+	~CMotionControlMarked() override {}
 
 	/**
 	 * Move the mover from an old position and orientation to a new
 	 * position and orientation
 	 */
-	virtual void transitionBetweenPosOrients(const FVector &oldPos, const FVector &newPos,
-		const FMatrix &oldOrientation, const FMatrix &newOrientation);
+	void transitionBetweenPosOrients(const FVector &oldPos, const FVector &newPos,
+		const FMatrix &oldOrientation, const FMatrix &newOrientation) override;
 
 	/**
 	 * Update the passed position and orientation matrix
 	 */
-	virtual void updatePosition(CErrorCode &errorCode, FVector &pos, FMatrix &orientation);
+	void updatePosition(CErrorCode &errorCode, FVector &pos, FMatrix &orientation) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/star_control/motion_control_unmarked.h b/engines/titanic/star_control/motion_control_unmarked.h
index 0d6acb2..99fcc28 100644
--- a/engines/titanic/star_control/motion_control_unmarked.h
+++ b/engines/titanic/star_control/motion_control_unmarked.h
@@ -36,19 +36,19 @@ private:
 	CFlightManagerUnmarked _autoMover;
 public:
 	CMotionControlUnmarked(const CNavigationInfo *src);
-	virtual ~CMotionControlUnmarked() {}
+	~CMotionControlUnmarked() override {}
 
 	/**
 	 * Start a movement to a given specified destination
 	 */
-	virtual void moveTo(const FVector &srcV, const FVector &destV, const FMatrix &orientation);
+	void moveTo(const FVector &srcV, const FVector &destV, const FMatrix &orientation) override;
 
-	virtual void transitionBetweenOrientations(const FVector &v1, const FVector &v2, const FVector &v3, const FMatrix &m);
+	void transitionBetweenOrientations(const FVector &v1, const FVector &v2, const FVector &v3, const FMatrix &m) override;
 
 	/**
 	 * Update the passed position and orientation matrix
 	 */
-	virtual void updatePosition(CErrorCode &errorCode, FVector &pos, FMatrix &orientation);
+	void updatePosition(CErrorCode &errorCode, FVector &pos, FMatrix &orientation) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/star_control/star_control.h b/engines/titanic/star_control/star_control.h
index 6bbd45b..91d9da3 100644
--- a/engines/titanic/star_control/star_control.h
+++ b/engines/titanic/star_control/star_control.h
@@ -52,22 +52,22 @@ private:
 public:
 	CLASSDEF;
 	CStarControl();
-	virtual ~CStarControl();
+	~CStarControl() override;
 
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 
 	/**
 	 * Allows the item to draw itself
 	 */
-	virtual void draw(CScreenManager *screenManager);
+	void draw(CScreenManager *screenManager) override;
 
 	/**
 	 * _starField is currently showing the starfield
diff --git a/engines/titanic/star_control/star_field.h b/engines/titanic/star_control/star_field.h
index 2367e8d..0067e82 100644
--- a/engines/titanic/star_control/star_field.h
+++ b/engines/titanic/star_control/star_field.h
@@ -65,12 +65,12 @@ public:
 	/**
 	 * Load the data for the class from file
 	 */
-	void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 
 	/**
 	 * Save the data for the class to file
 	 */
-	void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	bool initDocument();
 
diff --git a/engines/titanic/star_control/star_field_base.h b/engines/titanic/star_control/star_field_base.h
index 12b4bcd..12b636a 100644
--- a/engines/titanic/star_control/star_field_base.h
+++ b/engines/titanic/star_control/star_field_base.h
@@ -29,17 +29,17 @@ namespace Titanic {
 
 class CStarFieldBase: public CBaseStars {
 public:
-	virtual ~CStarFieldBase() {}
+	~CStarFieldBase() override {}
 
-	virtual bool loadYale(int v1);
+	bool loadYale(int v1) override;
 
 	/**
 	 * Selects a star
 	 */
-	virtual bool selectStar(CSurfaceArea *surfaceArea, CCamera *camera,
-		const Common::Point &pt, void *handler = nullptr);
+	bool selectStar(CSurfaceArea *surfaceArea, CCamera *camera,
+		const Common::Point &pt, void *handler = nullptr) override;
 
-	virtual bool loadStar();
+	bool loadStar() override;
 
 	/**
 	 * Setup the control
diff --git a/engines/titanic/star_control/star_markers.h b/engines/titanic/star_control/star_markers.h
index 1d568de..9567500 100644
--- a/engines/titanic/star_control/star_markers.h
+++ b/engines/titanic/star_control/star_markers.h
@@ -29,17 +29,17 @@ namespace Titanic {
 
 class CStarMarkers : public CBaseStars {
 public:
-	virtual ~CStarMarkers() { clear(); }
+	~CStarMarkers() override { clear(); }
 
 	/**
 	 * Draw the item
 	 */
-	virtual void draw(CSurfaceArea *surfaceArea, CCamera *camera, CStarCloseup *closeup);
+	void draw(CSurfaceArea *surfaceArea, CCamera *camera, CStarCloseup *closeup) override;
 
 	/**
 	 * Adds a new star, or removes one if already present at the given co-ordinates
 	 */
-	virtual bool addStar(const CBaseStarEntry *entry);
+	bool addStar(const CBaseStarEntry *entry) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/star_control/star_ref.h b/engines/titanic/star_control/star_ref.h
index b2cc4b6..df3b858 100644
--- a/engines/titanic/star_control/star_ref.h
+++ b/engines/titanic/star_control/star_ref.h
@@ -52,9 +52,9 @@ public:
 public:
 	CStarRef1(CBaseStars *stars, const Common::Point &pt) :
 		CBaseStarRef(stars), _position(pt), _index(-1) {}
-	virtual ~CStarRef1() {}
+	~CStarRef1() override {}
 
-	virtual bool check(const Common::Point &pt, int index);
+	bool check(const Common::Point &pt, int index) override;
 };
 
 class CStarRefArray : public CBaseStarRef {
@@ -65,9 +65,9 @@ public:
 public:
 	CStarRefArray(CBaseStars *stars, Common::Array<CStarPosition> *positions) :
 		CBaseStarRef(stars), _positions(positions), _index(0) {}
-	virtual ~CStarRefArray() {}
+	~CStarRefArray() override {}
 
-	virtual bool check(const Common::Point &pt, int index);
+	bool check(const Common::Point &pt, int index) override;
 };
 
 class CStarRef3 : public CBaseStarRef {
@@ -75,9 +75,9 @@ public:
 	int _index;
 public:
 	CStarRef3(CBaseStars *stars) :CBaseStarRef(stars), _index(0) {}
-	virtual ~CStarRef3() {}
+	~CStarRef3() override {}
 
-	virtual bool check(const Common::Point &pt, int index);
+	bool check(const Common::Point &pt, int index) override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/support/avi_surface.h b/engines/titanic/support/avi_surface.h
index 3ee8c38..d824b4d 100644
--- a/engines/titanic/support/avi_surface.h
+++ b/engines/titanic/support/avi_surface.h
@@ -52,22 +52,22 @@ private:
 	File *_innerStream;
 public:
 	y222();
-	virtual ~y222();
+	~y222() override;
 
-	virtual uint32 read(void *dataPtr, uint32 dataSize);
-	virtual bool eos() const { return _innerStream->eos(); }
-	virtual int32 pos() const { return _innerStream->pos(); }
-	virtual int32 size() const { return _innerStream->size(); }
-	virtual bool seek(int32 offset, int whence = SEEK_SET) {
+	uint32 read(void *dataPtr, uint32 dataSize) override;
+	bool eos() const override { return _innerStream->eos(); }
+	int32 pos() const override { return _innerStream->pos(); }
+	int32 size() const override { return _innerStream->size(); }
+	bool seek(int32 offset, int whence = SEEK_SET) override {
 		return _innerStream->seek(offset, whence);
 	}
-	virtual bool skip(uint32 offset) {
+	bool skip(uint32 offset) override {
 		return _innerStream->skip(offset);
 	}
-	virtual char *readLine(char *s, size_t bufSize) {
+	char *readLine(char *s, size_t bufSize) override {
 		return _innerStream->readLine(s, bufSize);
 	}
-	virtual Common::String readLine() {
+	Common::String readLine() override {
 		return _innerStream->readLine();
 	}
 };
diff --git a/engines/titanic/support/image.h b/engines/titanic/support/image.h
index 9876f15..0daee68 100644
--- a/engines/titanic/support/image.h
+++ b/engines/titanic/support/image.h
@@ -33,7 +33,7 @@ class Image : public Graphics::ManagedSurface {
 private:
 	void loadBitmap(Common::SeekableReadStream &s);
 public:
-	virtual ~Image() {}
+	~Image() override {}
 
 	void load(const CString &resName);
 };
diff --git a/engines/titanic/support/movie.h b/engines/titanic/support/movie.h
index 36a7665..1217e07 100644
--- a/engines/titanic/support/movie.h
+++ b/engines/titanic/support/movie.h
@@ -65,7 +65,7 @@ public:
 	static void deinit();
 public:
 	CMovie();
-	virtual ~CMovie();
+	~CMovie() override;
 
 	/**
 	 * Starts playing the movie
@@ -178,29 +178,29 @@ private:
 	void movieStarted();
 public:
 	OSMovie(const CResourceKey &name, CVideoSurface *surface);
-	virtual ~OSMovie();
+	~OSMovie() override;
 
 	/**
 	 * Starts playing the movie
 	 */
-	virtual void play(uint flags, CGameObject *obj);
+	void play(uint flags, CGameObject *obj) override;
 
 	/**
 	 * Starts playing the movie
 	 */
-	virtual void play(uint startFrame, uint endFrame, uint flags, CGameObject *obj);
+	void play(uint startFrame, uint endFrame, uint flags, CGameObject *obj) override;
 
 	/**
 	 * Starts playing the movie
 	 */
-	virtual void play(uint startFrame, uint endFrame, uint initialFrame, uint flags, CGameObject *obj);
+	void play(uint startFrame, uint endFrame, uint initialFrame, uint flags, CGameObject *obj) override;
 
 	/**
 	 * Plays a sub-section of a movie, and doesn't return until either
 	 * the playback ends or a key has been pressed
 	 * @returns		True if the cutscene was not interrupted
 	 */
-	virtual bool playCutscene(const Rect &drawRect, uint startFrame, uint endFrame);
+	bool playCutscene(const Rect &drawRect, uint startFrame, uint endFrame) override;
 
 	/**
 	 * Pauses a movie
@@ -208,57 +208,57 @@ public:
 	 * as part of a scene load need to be paused until the scene is interactive,
 	 * or else they get played back too quickly
 	 */
-	virtual void pause();
+	void pause() override;
 
 	/**
 	 * Stops the movie
 	 */
-	virtual void stop();
+	void stop() override;
 
 	/**
 	 * Add a playback event
 	 */
-	virtual void addEvent(int eventId, CGameObject *obj);
+	void addEvent(int eventId, CGameObject *obj) override;
 
 	/**
 	 * Set the current frame number
 	 */
-	virtual void setFrame(uint frameNumber);
+	void setFrame(uint frameNumber) override;
 
 	/**
 	 * Handle any pending movie events
 	 */
-	virtual bool handleEvents(CMovieEventList &events);
+	bool handleEvents(CMovieEventList &events) override;
 
 	/**
 	 * Get the current frame number
 	 */
-	virtual int getFrame() const;
+	int getFrame() const override;
 
 	/**
 	 * Return any movie range info associated with the movie
 	 */
-	virtual const CMovieRangeInfoList *getMovieRangeInfo() const;
+	const CMovieRangeInfoList *getMovieRangeInfo() const override;
 
 	/**
 	 * Set the sound manager reference
 	 */
-	virtual void setSoundManager(CSoundManager *soundManager);
+	void setSoundManager(CSoundManager *soundManager) override;
 
 	/**
 	 * Set the frame rate for the movie
 	 */
-	virtual void setFrameRate(double rate);
+	void setFrameRate(double rate) override;
 
 	/**
 	 * Sets whether the video is playing (versus paused)
 	 */
-	virtual void setPlaying(bool playingFlag);
+	void setPlaying(bool playingFlag) override;
 
 	/**
 	 * Creates a duplicate of the transparency surface
 	 */
-	virtual Graphics::ManagedSurface *duplicateTransparency() const;
+	Graphics::ManagedSurface *duplicateTransparency() const override;
 };
 
 } // End of namespace Titanic
diff --git a/engines/titanic/support/movie_clip.h b/engines/titanic/support/movie_clip.h
index 17c91b1..9988fa2 100644
--- a/engines/titanic/support/movie_clip.h
+++ b/engines/titanic/support/movie_clip.h
@@ -56,12 +56,12 @@ public:
 	/**
 	 * Save the data for the class to file
 	 */
-	virtual void save(SimpleFile *file, int indent);
+	void save(SimpleFile *file, int indent) override;
 
 	/**
 	 * Load the data for the class from file
 	 */
-	virtual void load(SimpleFile *file);
+	void load(SimpleFile *file) override;
 };
 
 /**
diff --git a/engines/titanic/support/movie_event.h b/engines/titanic/support/movie_event.h
index af93c76..78b27ae 100644
--- a/engines/titanic/support/movie_event.h


Commit: 5764377a7991fca0a45d95632963e9fe34971e9f
    https://github.com/scummvm/scummvm/commit/5764377a7991fca0a45d95632963e9fe34971e9f
Author: Bastien Bouclet (bastien.bouclet at gmail.com)
Date: 2020-02-09T12:43:16+01:00

Commit Message:
TOLTECS: Add override keywords

Changed paths:
    engines/toltecs/console.h
    engines/toltecs/detection.cpp
    engines/toltecs/music.h
    engines/toltecs/resource.h
    engines/toltecs/sprite.cpp
    engines/toltecs/toltecs.h


diff --git a/engines/toltecs/console.h b/engines/toltecs/console.h
index 5e786d5..9500515 100644
--- a/engines/toltecs/console.h
+++ b/engines/toltecs/console.h
@@ -32,7 +32,7 @@ class ToltecsEngine;
 class Console : public GUI::Debugger {
 public:
 	Console(ToltecsEngine *vm);
-	virtual ~Console(void);
+	~Console(void) override;
 
 private:
 	ToltecsEngine *_vm;
diff --git a/engines/toltecs/detection.cpp b/engines/toltecs/detection.cpp
index 2d08cd0..d319de4 100644
--- a/engines/toltecs/detection.cpp
+++ b/engines/toltecs/detection.cpp
@@ -240,19 +240,19 @@ public:
 		return "toltecs";
 	}
 
-	virtual const char *getName() const override {
+	const char *getName() const override {
 		return "3 Skulls of the Toltecs";
 	}
 
-	virtual const char *getOriginalCopyright() const override {
+	const char *getOriginalCopyright() const override {
 		return "3 Skulls of the Toltecs (C) Revistronic 1996";
 	}
 
-	virtual bool hasFeature(MetaEngineFeature f) const override;
-	virtual bool createInstance(OSystem *syst, Engine **engine, const ADGameDescription *desc) const override;
-	virtual const ExtraGuiOptions getExtraGuiOptions(const Common::String &target) const override;
+	bool hasFeature(MetaEngineFeature f) const override;
+	bool createInstance(OSystem *syst, Engine **engine, const ADGameDescription *desc) const override;
+	const ExtraGuiOptions getExtraGuiOptions(const Common::String &target) const override;
 	SaveStateList listSaves(const char *target) const override;
-	virtual int getMaximumSaveSlot() const override;
+	int getMaximumSaveSlot() const override;
 	void removeSaveState(const char *target, int slot) const override;
 	SaveStateDescriptor querySaveMetaInfos(const char *target, int slot) const override;
 };
diff --git a/engines/toltecs/music.h b/engines/toltecs/music.h
index 25d67e9..808e10f 100644
--- a/engines/toltecs/music.h
+++ b/engines/toltecs/music.h
@@ -40,7 +40,7 @@ public:
 	void stopAndClear();
 
 	// MidiDriver_BASE interface implementation
-	virtual void send(uint32 b);
+	void send(uint32 b) override;
 
 protected:
 	bool _isGM;
@@ -54,7 +54,7 @@ class Music : public MusicPlayer {
 public:
 
 	Music(ArchiveReader *arc);
-	~Music() {}
+	~Music() override {}
 
 	void playSequence(int16 sequenceResIndex);
 	void stopSequence();
diff --git a/engines/toltecs/resource.h b/engines/toltecs/resource.h
index d8e8ad9..bec6539 100644
--- a/engines/toltecs/resource.h
+++ b/engines/toltecs/resource.h
@@ -38,7 +38,7 @@ const uint kMaxCacheSize = 8 * 1024 * 1024; // 8 MB
 class ArchiveReader : public Common::File {
 public:
 	ArchiveReader();
-	~ArchiveReader();
+	~ArchiveReader() override;
 
 	void openArchive(const char *filename);
 
diff --git a/engines/toltecs/sprite.cpp b/engines/toltecs/sprite.cpp
index be4be5d..a7dc16f 100644
--- a/engines/toltecs/sprite.cpp
+++ b/engines/toltecs/sprite.cpp
@@ -33,7 +33,7 @@ public:
 		_curWidth = _sprite->origWidth;
 		_curHeight = _sprite->origHeight;
 	}
-	SpriteReaderStatus readPacket(PixelPacket &packet) {
+	SpriteReaderStatus readPacket(PixelPacket &packet) override {
 		if (_sprite->flags & 0x40) {
 			// shadow sprite
 			packet.count = _source[0] & 0x7F;
@@ -86,7 +86,7 @@ public:
 		_scalerStatus = 0;
 		_xerror = 0;
 	}
-	SpriteReaderStatus readPacket(PixelPacket &packet) {
+	SpriteReaderStatus readPacket(PixelPacket &packet) override {
 		SpriteReaderStatus status = kSrsPixelsLeft;
 		if (_scalerStatus == 0) {
 			_xerror = _sprite->xdelta;
@@ -139,7 +139,7 @@ public:
 		_sourcep = 0;
 		_xerror = 0;
 	}
-	SpriteReaderStatus readPacket(PixelPacket &packet) {
+	SpriteReaderStatus readPacket(PixelPacket &packet) override {
 		SpriteReaderStatus status;
 		if (_scalerStatus == 0) {
 			_xerror = _sprite->xdelta;
diff --git a/engines/toltecs/toltecs.h b/engines/toltecs/toltecs.h
index 9751d61..8a4bc22 100644
--- a/engines/toltecs/toltecs.h
+++ b/engines/toltecs/toltecs.h
@@ -101,9 +101,9 @@ protected:
 
 public:
 	ToltecsEngine(OSystem *syst, const ToltecsGameDescription *gameDesc);
-	virtual ~ToltecsEngine();
+	~ToltecsEngine() override;
 
-	virtual bool hasFeature(EngineFeature f) const override;
+	bool hasFeature(EngineFeature f) const override;
 
 	Common::RandomSource *_rnd;
 	const ToltecsGameDescription *_gameDescription;


Commit: 550af3953ab5658069ab923ab381c8d2f9ded17b
    https://github.com/scummvm/scummvm/commit/550af3953ab5658069ab923ab381c8d2f9ded17b
Author: Bastien Bouclet (bastien.bouclet at gmail.com)
Date: 2020-02-09T12:43:16+01:00

Commit Message:
TONY: Add override keywords

Changed paths:
    engines/tony/custom.cpp
    engines/tony/debugger.h
    engines/tony/detection.cpp
    engines/tony/font.h
    engines/tony/game.h
    engines/tony/gfxcore.h
    engines/tony/inventory.h
    engines/tony/loc.h
    engines/tony/mpal/mpal.cpp
    engines/tony/mpal/mpalutils.h
    engines/tony/tony.h
    engines/tony/tonychar.h


diff --git a/engines/tony/custom.cpp b/engines/tony/custom.cpp
index 6bd53bb..af46f73 100644
--- a/engines/tony/custom.cpp
+++ b/engines/tony/custom.cpp
@@ -2221,7 +2221,7 @@ void doCredits(CORO_PARAM, uint32 nMsg, uint32 dwTime, uint32, uint32) {
 	int i;
 	uint32 startTime;
 
-	~CoroContextTag() {
+	~CoroContextTag() override {
 		delete msg;
 		delete[] text;
 	}
diff --git a/engines/tony/debugger.h b/engines/tony/debugger.h
index 1db1b46..c2d0abc 100644
--- a/engines/tony/debugger.h
+++ b/engines/tony/debugger.h
@@ -31,7 +31,7 @@ namespace Tony {
 class Debugger : public GUI::Debugger {
 public:
 	Debugger();
-	virtual ~Debugger() {}
+	~Debugger() override {}
 
 protected:
 	bool Cmd_Scene(int argc, const char **argv);
diff --git a/engines/tony/detection.cpp b/engines/tony/detection.cpp
index baa7bc4..6ac5dce 100644
--- a/engines/tony/detection.cpp
+++ b/engines/tony/detection.cpp
@@ -71,23 +71,23 @@ public:
 	TonyMetaEngine() : AdvancedMetaEngine(Tony::gameDescriptions, sizeof(Tony::TonyGameDescription), tonyGames) {
 	}
 
-	virtual const char *getEngineId() const override {
+	const char *getEngineId() const override {
 		return "tony";
 	}
 
-	virtual const char *getName() const override {
+	const char *getName() const override {
 		return "Tony Tough and the Night of Roasted Moths";
 	}
 
-	virtual const char *getOriginalCopyright() const override {
+	const char *getOriginalCopyright() const override {
 		return "Tony Tough and the Night of Roasted Moths (C) Protonic Interactive";
 	}
 
-	virtual bool hasFeature(MetaEngineFeature f) const override;
-	virtual bool createInstance(OSystem *syst, Engine **engine, const ADGameDescription *desc) const override;
-	virtual SaveStateList listSaves(const char *target) const override;
-	virtual int getMaximumSaveSlot() const override;
-	virtual void removeSaveState(const char *target, int slot) const override;
+	bool hasFeature(MetaEngineFeature f) const override;
+	bool createInstance(OSystem *syst, Engine **engine, const ADGameDescription *desc) const override;
+	SaveStateList listSaves(const char *target) const override;
+	int getMaximumSaveSlot() const override;
+	void removeSaveState(const char *target, int slot) const override;
 	SaveStateDescriptor querySaveMetaInfos(const char *target, int slot) const override;
 };
 
diff --git a/engines/tony/font.h b/engines/tony/font.h
index d52547a..90b27f8 100644
--- a/engines/tony/font.h
+++ b/engines/tony/font.h
@@ -59,8 +59,8 @@ private:
 	public:
 		RMFontPrimitive() : RMGfxPrimitive() { _nChar = 0; }
 		RMFontPrimitive(RMGfxTask *task) : RMGfxPrimitive(task) { _nChar = 0; }
-		virtual ~RMFontPrimitive() { }
-		virtual RMGfxPrimitive *duplicate() {
+		~RMFontPrimitive() override { }
+		RMGfxPrimitive *duplicate() override {
 			return new RMFontPrimitive(*this);
 		}
 
@@ -87,14 +87,14 @@ public:
 
 public:
 	RMFont();
-	virtual ~RMFont();
+	~RMFont() override;
 
 	// Initialization and closing
 	virtual void init() = 0;
 	virtual void close();
 
 	// Drawing
-	virtual void draw(CORO_PARAM, RMGfxTargetBuffer &bigBug, RMGfxPrimitive *prim);
+	void draw(CORO_PARAM, RMGfxTargetBuffer &bigBug, RMGfxPrimitive *prim) override;
 
 	// Create a primitive for a letter
 	RMGfxPrimitive *makeLetterPrimitive(byte bChar, int &nLength);
@@ -110,7 +110,7 @@ private:
 
 public:
 	RMFontColor();
-	virtual ~RMFontColor();
+	~RMFontColor() override;
 	virtual void setBaseColor(byte r, byte g, byte b);
 };
 
@@ -124,20 +124,20 @@ protected:
 
 protected:
 	// Overloaded methods
-	int convertToLetter(byte nChar);
-	int letterLength(int nChar, int nNext = 0);
+	int convertToLetter(byte nChar) override;
+	int letterLength(int nChar, int nNext = 0) override;
 
 public:
-	int letterHeight() {
+	int letterHeight() override {
 		return _hDefault;
 	}
-	virtual ~RMFontWithTables() {}
+	~RMFontWithTables() override {}
 };
 
 class RMFontDialog : public RMFontColor, public RMFontWithTables {
 public:
-	void init();
-	virtual ~RMFontDialog() {}
+	void init() override;
+	~RMFontDialog() override {}
 };
 
 class RMFontObj : public RMFontColor, public RMFontWithTables {
@@ -145,21 +145,21 @@ private:
 	void setBothCase(int nChar, int nNext, signed char spiazz);
 
 public:
-	void init();
-	virtual ~RMFontObj() {}
+	void init() override;
+	~RMFontObj() override {}
 };
 
 class RMFontMacc : public RMFontColor, public RMFontWithTables {
 public:
-	void init();
-	virtual ~RMFontMacc() {}
+	void init() override;
+	~RMFontMacc() override {}
 };
 
 class RMFontCredits : public RMFontColor, public RMFontWithTables {
 public:
-	void init();
-	virtual ~RMFontCredits() {}
-	virtual void setBaseColor(byte r, byte g, byte b) {}
+	void init() override;
+	~RMFontCredits() override {}
+	void setBaseColor(byte r, byte g, byte b) override {}
 };
 
 /**
@@ -194,7 +194,7 @@ protected:
 
 public:
 	RMText();
-	virtual ~RMText();
+	~RMText() override;
 	static void initStatics();
 	static void unload();
 
@@ -209,10 +209,10 @@ public:
 	void writeText(Common::String text, RMFontColor *font, int *time = NULL);
 
 	// Overloaded function to decide when you delete the object from the OT list
-	virtual void removeThis(CORO_PARAM, bool &result);
+	void removeThis(CORO_PARAM, bool &result) override;
 
 	// Overloading of the Draw to center the text, if necessary
-	virtual void draw(CORO_PARAM, RMGfxTargetBuffer &bigBuf, RMGfxPrimitive *prim);
+	void draw(CORO_PARAM, RMGfxTargetBuffer &bigBuf, RMGfxPrimitive *prim) override;
 
 	// Set the base color
 	void setColor(byte r, byte g, byte b);
@@ -239,20 +239,20 @@ protected:
 
 public:
 	RMTextDialog();
-	virtual ~RMTextDialog();
+	~RMTextDialog() override;
 
 	// Write the text
 	void writeText(const Common::String &text, int font, int *time = NULL);
 	void writeText(const Common::String &text, RMFontColor *font, int *time = NULL);
 
 	// Overloaded function to decide when you delete the object from the OT list
-	virtual void removeThis(CORO_PARAM, bool &result);
+	void removeThis(CORO_PARAM, bool &result) override;
 
 	// Overloaded de-registration
-	virtual void unregister();
+	void unregister() override;
 
 	// Overloading of the Draw to center the text, if necessary
-	virtual void draw(CORO_PARAM, RMGfxTargetBuffer &bigBuf, RMGfxPrimitive *prim);
+	void draw(CORO_PARAM, RMGfxTargetBuffer &bigBuf, RMGfxPrimitive *prim) override;
 
 	// Set the position
 	void setPosition(const RMPoint &pt);
@@ -280,14 +280,14 @@ protected:
 	RMLocation *_curLoc;
 	RMPoint _startScroll;
 
-	virtual void clipOnScreen(RMGfxPrimitive *prim);
+	void clipOnScreen(RMGfxPrimitive *prim) override;
 
 public:
 	RMTextDialogScrolling();
 	RMTextDialogScrolling(RMLocation *loc);
-	virtual ~RMTextDialogScrolling();
+	~RMTextDialogScrolling() override;
 
-	virtual void draw(CORO_PARAM, RMGfxTargetBuffer &bigBuf, RMGfxPrimitive *prim);
+	void draw(CORO_PARAM, RMGfxTargetBuffer &bigBuf, RMGfxPrimitive *prim) override;
 };
 
 /**
@@ -301,18 +301,18 @@ protected:
 
 public:
 	RMTextItemName();
-	virtual ~RMTextItemName();
+	~RMTextItemName() override;
 
 	void setMouseCoord(const RMPoint &m);
 
 	void doFrame(CORO_PARAM, RMGfxTargetBuffer &bigBuf, RMLocation &loc, RMPointer &ptr, RMInventory &inv);
-	virtual void draw(CORO_PARAM, RMGfxTargetBuffer &bigBuf, RMGfxPrimitive *prim);
+	void draw(CORO_PARAM, RMGfxTargetBuffer &bigBuf, RMGfxPrimitive *prim) override;
 
 	RMPoint getHotspot();
 	RMItem *getSelectedItem();
 	bool isItemSelected();
 
-	virtual void removeThis(CORO_PARAM, bool &result);
+	void removeThis(CORO_PARAM, bool &result) override;
 };
 
 /**
@@ -337,14 +337,14 @@ protected:
 	void setSelected(CORO_PARAM, int pos);
 
 public:
-	virtual void removeThis(CORO_PARAM, bool &result);
-	virtual void draw(CORO_PARAM, RMGfxTargetBuffer &bigBuf, RMGfxPrimitive *prim);
-	void unregister();
+	void removeThis(CORO_PARAM, bool &result) override;
+	void draw(CORO_PARAM, RMGfxTargetBuffer &bigBuf, RMGfxPrimitive *prim) override;
+	void unregister() override;
 
 public:
 	// Initialization
 	RMDialogChoice();
-	virtual ~RMDialogChoice();
+	~RMDialogChoice() override;
 
 	// Initialization and closure
 	using RMGfxWoodyBuffer::init;
diff --git a/engines/tony/game.h b/engines/tony/game.h
index cda07de..07920ee 100644
--- a/engines/tony/game.h
+++ b/engines/tony/game.h
@@ -184,10 +184,10 @@ public:
 public:
 	RMOptionButton(uint32 dwRes, RMPoint pt, bool bDoubleState = false);
 	RMOptionButton(const RMRect &pt);
-	virtual ~RMOptionButton();
+	~RMOptionButton() override;
 
 	bool doFrame(const RMPoint &mousePos, bool bLeftClick, bool bRightClick);
-	virtual void draw(CORO_PARAM, RMGfxTargetBuffer &bigBuf, RMGfxPrimitive *prim);
+	void draw(CORO_PARAM, RMGfxTargetBuffer &bigBuf, RMGfxPrimitive *prim) override;
 	void addToList(RMGfxTargetBuffer &bigBuf);
 	bool isActive();
 	void setActiveState(bool bState);
@@ -209,10 +209,10 @@ private:
 
 public:
 	RMOptionSlide(const RMPoint &pt, int m_nRange = 100, int m_nStartValue = 0, int slideSize = 300);
-	virtual ~RMOptionSlide();
+	~RMOptionSlide() override;
 
 	bool doFrame(const RMPoint &mousePos, bool bLeftClick, bool bRightClick);
-	virtual void draw(CORO_PARAM, RMGfxTargetBuffer &bigBuf, RMGfxPrimitive *prim);
+	void draw(CORO_PARAM, RMGfxTargetBuffer &bigBuf, RMGfxPrimitive *prim) override;
 	void addToList(RMGfxTargetBuffer &bigBuf);
 
 	int getValue();
@@ -298,7 +298,7 @@ private:
 
 public:
 	RMOptionScreen();
-	virtual ~RMOptionScreen();
+	~RMOptionScreen() override;
 
 	using RMGfxWoodyBuffer::init;
 	void init(CORO_PARAM, RMGfxTargetBuffer &bigBuf, bool &result);
@@ -310,9 +310,9 @@ public:
 	bool isClosing();
 
 	// Overloaded methods
-	virtual int priority();
-	virtual void draw(CORO_PARAM, RMGfxTargetBuffer &bigBuf, RMGfxPrimitive *prim);
-	virtual void removeThis(CORO_PARAM, bool &result);
+	int priority() override;
+	void draw(CORO_PARAM, RMGfxTargetBuffer &bigBuf, RMGfxPrimitive *prim) override;
+	void removeThis(CORO_PARAM, bool &result) override;
 
 	/**
 	 * Polling for the option screen
diff --git a/engines/tony/gfxcore.h b/engines/tony/gfxcore.h
index 1a0738e..7c0de18 100644
--- a/engines/tony/gfxcore.h
+++ b/engines/tony/gfxcore.h
@@ -152,7 +152,7 @@ public:
  */
 class RMGfxTaskSetPrior : public RMGfxTask {
 public:
-	virtual ~RMGfxTaskSetPrior() { }
+	~RMGfxTaskSetPrior() override { }
 	void setPriority(int nPrior);
 };
 
@@ -161,11 +161,11 @@ public:
  */
 class RMGfxClearTask : public RMGfxTask {
 public:
-	virtual ~RMGfxClearTask() { }
+	~RMGfxClearTask() override { }
 
-	int priority();
-	virtual void draw(CORO_PARAM, RMGfxTargetBuffer &bigBuf, RMGfxPrimitive *prim);
-	virtual void removeThis(CORO_PARAM, bool &result);
+	int priority() override;
+	void draw(CORO_PARAM, RMGfxTargetBuffer &bigBuf, RMGfxPrimitive *prim) override;
+	void removeThis(CORO_PARAM, bool &result) override;
 };
 
 /**
@@ -176,11 +176,11 @@ protected:
 	uint16 _wFillColor;
 
 public:
-	virtual ~RMGfxBox() { }
+	~RMGfxBox() override { }
 
 	void setColor(byte r, byte g, byte b);
-	virtual void draw(CORO_PARAM, RMGfxTargetBuffer &bigBuf, RMGfxPrimitive *prim);
-	virtual void removeThis(CORO_PARAM, bool &result);
+	void draw(CORO_PARAM, RMGfxTargetBuffer &bigBuf, RMGfxPrimitive *prim) override;
+	void removeThis(CORO_PARAM, bool &result) override;
 };
 
 /**
@@ -193,7 +193,7 @@ public:
 	virtual int init(const byte *buf, int dimx, int dimy, bool bLoadPalette = false);
 	virtual void init(Common::ReadStream &ds, int dimx, int dimy, bool bLoadPalette = false);
 
-	virtual ~RMGfxSourceBuffer();
+	~RMGfxSourceBuffer() override;
 
 protected:
 	virtual void prepareImage();
@@ -209,7 +209,7 @@ public:
  */
 class RMGfxSourceBuffer16 : public RMGfxSourceBuffer {
 public:
-	virtual void prepareImage();
+	void prepareImage() override;
 
 protected:
 	bool _bTrasp0;
@@ -217,13 +217,13 @@ protected:
 public:
 	RMGfxSourceBuffer16(bool bUseTrasp = false);
 	RMGfxSourceBuffer16(int dimx, int dimy);
-	virtual ~RMGfxSourceBuffer16();
+	~RMGfxSourceBuffer16() override;
 
 	// Initialization
 	void create(int dimx, int dimy);
 
-	int getBpp();
-	virtual void draw(CORO_PARAM, RMGfxTargetBuffer &bigBuf, RMGfxPrimitive *prim);
+	int getBpp() override;
+	void draw(CORO_PARAM, RMGfxTargetBuffer &bigBuf, RMGfxPrimitive *prim) override;
 };
 
 /**
@@ -239,10 +239,10 @@ protected:
 	virtual void preparePalette();
 
 public:
-	virtual ~RMGfxSourceBufferPal();
+	~RMGfxSourceBufferPal() override;
 
-	virtual int init(const byte *buf, int dimx, int dimy, bool bLoadPalette = false);
-	virtual void init(Common::ReadStream &ds, int dimx, int dimy, bool bLoadPalette = false);
+	int init(const byte *buf, int dimx, int dimy, bool bLoadPalette = false) override;
+	void init(Common::ReadStream &ds, int dimx, int dimy, bool bLoadPalette = false) override;
 
 	int loadPaletteWA(uint32 resID, bool bSwapped = false);
 	int loadPaletteWA(const byte *buf, bool bSwapped = false);
@@ -260,13 +260,13 @@ protected:
 public:
 	RMGfxSourceBuffer8(bool bTrasp0 = true);
 	RMGfxSourceBuffer8(int dimx, int dimy);
-	virtual ~RMGfxSourceBuffer8();
+	~RMGfxSourceBuffer8() override;
 
 	// Initialization
 	void create(int dimx, int dimy);
 
-	int getBpp();
-	virtual void draw(CORO_PARAM, RMGfxTargetBuffer &bigBuf, RMGfxPrimitive *prim);
+	int getBpp() override;
+	void draw(CORO_PARAM, RMGfxTargetBuffer &bigBuf, RMGfxPrimitive *prim) override;
 };
 
 /**
@@ -277,8 +277,8 @@ protected:
 	int calcTrasp(int f, int b);
 
 public:
-	virtual ~RMGfxSourceBuffer8AB();
-	virtual void draw(CORO_PARAM, RMGfxTargetBuffer &bigBuf, RMGfxPrimitive *prim);
+	~RMGfxSourceBuffer8AB() override;
+	void draw(CORO_PARAM, RMGfxTargetBuffer &bigBuf, RMGfxPrimitive *prim) override;
 };
 
 /**
@@ -306,19 +306,19 @@ protected:
 
 protected:
 	// Overriding initialization methods
-	virtual void prepareImage();
-	virtual void preparePalette();
+	void prepareImage() override;
+	void preparePalette() override;
 
 public:
 	RMGfxSourceBuffer8RLE();
-	virtual ~RMGfxSourceBuffer8RLE();
+	~RMGfxSourceBuffer8RLE() override;
 
 	// Overload of the initialization method
-	virtual void init(Common::ReadStream &ds, int dimx, int dimy, bool bLoadPalette = false);
-	virtual int init(const byte *buf, int dimx, int dimy, bool bLoadPalette = false);
+	void init(Common::ReadStream &ds, int dimx, int dimy, bool bLoadPalette = false) override;
+	int init(const byte *buf, int dimx, int dimy, bool bLoadPalette = false) override;
 
 	// Draw image with RLE decompression
-	virtual void draw(CORO_PARAM, RMGfxTargetBuffer &bigBuf, RMGfxPrimitive *prim);
+	void draw(CORO_PARAM, RMGfxTargetBuffer &bigBuf, RMGfxPrimitive *prim) override;
 
 	// Sets the color that will be alpha blended
 	void setAlphaBlendColor(int color);
@@ -329,36 +329,36 @@ public:
 
 class RMGfxSourceBuffer8RLEByte : public RMGfxSourceBuffer8RLE {
 protected:
-	void rleWriteTrasp(byte *  &cur, int rep);
-	void rleWriteAlphaBlend(byte *  &cur, int rep);
-	void rleWriteData(byte *  &cur, int rep, byte *src);
-	void rleWriteEOL(byte *  &cur);
-	void rleDecompressLine(uint16 *dst, byte *src, int nStartSkip, int nLength);
-	void rleDecompressLineFlipped(uint16 *dst, byte *src, int nStartSkip, int nLength);
+	void rleWriteTrasp(byte *  &cur, int rep) override;
+	void rleWriteAlphaBlend(byte *  &cur, int rep) override;
+	void rleWriteData(byte *  &cur, int rep, byte *src) override;
+	void rleWriteEOL(byte *  &cur) override;
+	void rleDecompressLine(uint16 *dst, byte *src, int nStartSkip, int nLength) override;
+	void rleDecompressLineFlipped(uint16 *dst, byte *src, int nStartSkip, int nLength) override;
 
 public:
-	virtual ~RMGfxSourceBuffer8RLEByte();
+	~RMGfxSourceBuffer8RLEByte() override;
 };
 
 class RMGfxSourceBuffer8RLEWord : public RMGfxSourceBuffer8RLE {
 protected:
-	void rleWriteTrasp(byte *  &cur, int rep);
-	void rleWriteAlphaBlend(byte *  &cur, int rep);
-	void rleWriteData(byte *  &cur, int rep, byte *src);
-	void rleWriteEOL(byte *  &cur);
-	virtual void rleDecompressLine(uint16 *dst, byte *src, int nStartSkip, int nLength);
-	virtual void rleDecompressLineFlipped(uint16 *dst, byte *src, int nStartSkip, int nLength);
+	void rleWriteTrasp(byte *  &cur, int rep) override;
+	void rleWriteAlphaBlend(byte *  &cur, int rep) override;
+	void rleWriteData(byte *  &cur, int rep, byte *src) override;
+	void rleWriteEOL(byte *  &cur) override;
+	void rleDecompressLine(uint16 *dst, byte *src, int nStartSkip, int nLength) override;
+	void rleDecompressLineFlipped(uint16 *dst, byte *src, int nStartSkip, int nLength) override;
 
 public:
-	virtual ~RMGfxSourceBuffer8RLEWord();
+	~RMGfxSourceBuffer8RLEWord() override;
 };
 
 class RMGfxSourceBuffer8RLEWordAB : public RMGfxSourceBuffer8RLEWord {
 protected:
-	virtual void rleDecompressLine(uint16 *dst, byte *src, int nStartSkip, int nLength);
+	void rleDecompressLine(uint16 *dst, byte *src, int nStartSkip, int nLength) override;
 
 public:
-	virtual ~RMGfxSourceBuffer8RLEWordAB();
+	~RMGfxSourceBuffer8RLEWordAB() override;
 };
 
 /**
@@ -377,42 +377,42 @@ protected:
 	void drawAA(RMGfxTargetBuffer &bigBuf, RMGfxPrimitive *prim);
 
 protected:
-	void prepareImage();
+	void prepareImage() override;
 
 public:
 	RMGfxSourceBuffer8AA();
-	virtual ~RMGfxSourceBuffer8AA();
+	~RMGfxSourceBuffer8AA() override;
 
 	// Draw with anti-aliasing
-	virtual void draw(CORO_PARAM, RMGfxTargetBuffer &bigBuf, RMGfxPrimitive *prim);
+	void draw(CORO_PARAM, RMGfxTargetBuffer &bigBuf, RMGfxPrimitive *prim) override;
 };
 
 class RMGfxSourceBuffer8RLEByteAA : public RMGfxSourceBuffer8RLEByte, public RMGfxSourceBuffer8AA {
 protected:
-	void prepareImage();
+	void prepareImage() override;
 
 public:
-	virtual void draw(CORO_PARAM, RMGfxTargetBuffer &bigBuf, RMGfxPrimitive *prim);
+	void draw(CORO_PARAM, RMGfxTargetBuffer &bigBuf, RMGfxPrimitive *prim) override;
 
 	// Overloaded initialization methods
-	virtual void init(Common::ReadStream &ds, int dimx, int dimy, bool bLoadPalette = false);
-	virtual int init(const byte *buf, int dimx, int dimy, bool bLoadPalette = false);
+	void init(Common::ReadStream &ds, int dimx, int dimy, bool bLoadPalette = false) override;
+	int init(const byte *buf, int dimx, int dimy, bool bLoadPalette = false) override;
 
-	virtual ~RMGfxSourceBuffer8RLEByteAA();
+	~RMGfxSourceBuffer8RLEByteAA() override;
 };
 
 class RMGfxSourceBuffer8RLEWordAA : public RMGfxSourceBuffer8RLEWord, public RMGfxSourceBuffer8AA {
 protected:
-	void prepareImage();
+	void prepareImage() override;
 
 public:
-	virtual void draw(CORO_PARAM, RMGfxTargetBuffer &bigBuf, RMGfxPrimitive *prim);
+	void draw(CORO_PARAM, RMGfxTargetBuffer &bigBuf, RMGfxPrimitive *prim) override;
 
 	// Overloaded initialization methods
-	virtual void init(Common::ReadStream &ds, int dimx, int dimy, bool bLoadPalette = false);
-	virtual int init(const byte *buf, int dimx, int dimy, bool bLoadPalette = false);
+	void init(Common::ReadStream &ds, int dimx, int dimy, bool bLoadPalette = false) override;
+	int init(const byte *buf, int dimx, int dimy, bool bLoadPalette = false) override;
 
-	virtual ~RMGfxSourceBuffer8RLEWordAA();
+	~RMGfxSourceBuffer8RLEWordAA() override;
 };
 
 /**
@@ -426,8 +426,8 @@ public:
 	// Initialization
 	void create(int dimx, int dimy);
 
-	int getBpp();
-	virtual void draw(CORO_PARAM, RMGfxTargetBuffer &bigBuf, RMGfxPrimitive *prim);
+	int getBpp() override;
+	void draw(CORO_PARAM, RMGfxTargetBuffer &bigBuf, RMGfxPrimitive *prim) override;
 };
 
 /**
@@ -460,7 +460,7 @@ protected:
 
 public:
 	RMGfxTargetBuffer();
-	virtual ~RMGfxTargetBuffer();
+	~RMGfxTargetBuffer() override;
 
 	static uint16 *_precalcTable;
 	static void createBWPrecalcTable();
@@ -493,9 +493,9 @@ class RMGfxWoodyBuffer: public RMGfxSourceBuffer16, public RMGfxTargetBuffer {
 public:
 	RMGfxWoodyBuffer();
 	RMGfxWoodyBuffer(int dimx, int dimy);
-	virtual ~RMGfxWoodyBuffer();
+	~RMGfxWoodyBuffer() override;
 
-	virtual void draw(CORO_PARAM, RMGfxTargetBuffer &bigBuf, RMGfxPrimitive *prim);
+	void draw(CORO_PARAM, RMGfxTargetBuffer &bigBuf, RMGfxPrimitive *prim) override;
 };
 
 } // End of namespace Tony
diff --git a/engines/tony/inventory.h b/engines/tony/inventory.h
index 5528e65..5ba381d 100644
--- a/engines/tony/inventory.h
+++ b/engines/tony/inventory.h
@@ -91,7 +91,7 @@ protected:
 
 public:
 	RMInventory();
-	virtual ~RMInventory();
+	~RMInventory() override;
 
 	/**
 	 * Prepare a frame
@@ -109,12 +109,12 @@ public:
 	/**
 	 * Overload test for removal from OT list
 	 */
-	virtual void removeThis(CORO_PARAM, bool &result);
+	void removeThis(CORO_PARAM, bool &result) override;
 
 	/**
 	 * Overload the drawing of the inventory
 	 */
-	virtual void draw(CORO_PARAM, RMGfxTargetBuffer &bigBuf, RMGfxPrimitive *prim);
+	void draw(CORO_PARAM, RMGfxTargetBuffer &bigBuf, RMGfxPrimitive *prim) override;
 
 	/**
 	 * Method for determining whether the inventory currently has the focus
@@ -195,7 +195,7 @@ protected:
 
 public:
 	RMInterface();
-	virtual ~RMInterface();
+	~RMInterface() override;
 
 	/**
 	 * The usual DoFrame (poll the graphics engine)
@@ -234,7 +234,7 @@ public:
 	/**
 	 * Overloaded Draw
 	 */
-	virtual void draw(CORO_PARAM, RMGfxTargetBuffer &bigBuf, RMGfxPrimitive *prim);
+	void draw(CORO_PARAM, RMGfxTargetBuffer &bigBuf, RMGfxPrimitive *prim) override;
 };
 
 } // End of namespace Tony
diff --git a/engines/tony/loc.h b/engines/tony/loc.h
index d065d60..a52670f 100644
--- a/engines/tony/loc.h
+++ b/engines/tony/loc.h
@@ -170,10 +170,10 @@ protected:
 
 public:
 	RMSprite();
-	virtual ~RMSprite();
+	~RMSprite() override;
 
 	void init(RMGfxSourceBuffer *buf);
-	virtual void draw(CORO_PARAM, RMGfxTargetBuffer &bigBuf, RMGfxPrimitive *prim);
+	void draw(CORO_PARAM, RMGfxTargetBuffer &bigBuf, RMGfxPrimitive *prim) override;
 	void setPalette(byte *lpBuf);
 	void getSizeFromStream(Common::SeekableReadStream &ds, int *dimx, int *dimy);
 	void LOXGetSizeFromStream(Common::SeekableReadStream &ds, int *dimx, int *dimy);
@@ -223,7 +223,7 @@ public:
 
 public:
 	RMItem();
-	virtual ~RMItem();
+	~RMItem() override;
 
 	// Process to make the object move on any animations.
 	// Returns TRUE if it should be redrawn on the next frame
@@ -233,13 +233,13 @@ public:
 	void setScrollPosition(const RMPoint &scroll);
 
 	// Overloading of check whether to remove from active list
-	virtual void removeThis(CORO_PARAM, bool &result);
+	void removeThis(CORO_PARAM, bool &result) override;
 
 	// Overloaded Draw
-	virtual void draw(CORO_PARAM, RMGfxTargetBuffer &bigBuf, RMGfxPrimitive *prim);
+	void draw(CORO_PARAM, RMGfxTargetBuffer &bigBuf, RMGfxPrimitive *prim) override;
 
 	// Overloaded priority: it's based on Z ordering
-	virtual int priority();
+	int priority() override;
 
 	// Pattern number
 	int numPattern();
@@ -413,17 +413,17 @@ protected:
 
 public:
 	RMCharacter();
-	virtual ~RMCharacter();
+	~RMCharacter() override;
 
 	void linkToBoxes(RMGameBoxes *theBoxes);
 
-	virtual void removeThis(CORO_PARAM, bool &result);
+	void removeThis(CORO_PARAM, bool &result) override;
 
 	// Update the position of a character
 	void doFrame(CORO_PARAM, RMGfxTargetBuffer *bigBuf, int loc);
 
 	// Overloaded draw
-	virtual void draw(CORO_PARAM, RMGfxTargetBuffer &bigBuf, RMGfxPrimitive *prim);
+	void draw(CORO_PARAM, RMGfxTargetBuffer &bigBuf, RMGfxPrimitive *prim) override;
 
 	// TRUE if you just stopped
 	bool endOfPath();
@@ -461,18 +461,18 @@ private:
 
 public:
 	RMWipe();
-	virtual ~RMWipe();
+	~RMWipe() override;
 
 	void doFrame(RMGfxTargetBuffer &bigBuf);
-	virtual void draw(CORO_PARAM, RMGfxTargetBuffer &bigBuf, RMGfxPrimitive *prim);
+	void draw(CORO_PARAM, RMGfxTargetBuffer &bigBuf, RMGfxPrimitive *prim) override;
 
 	void initFade(int type);
 	void closeFade();
 	void waitForFadeEnd(CORO_PARAM);
 
-	virtual void unregister();
-	virtual void removeThis(CORO_PARAM, bool &result);
-	virtual int priority();
+	void unregister() override;
+	void removeThis(CORO_PARAM, bool &result) override;
+	int priority() override;
 };
 
 /**
@@ -506,7 +506,7 @@ public:
 
 public:
 	RMLocation();
-	virtual ~RMLocation();
+	~RMLocation() override;
 
 	// Load variations
 	bool load(Common::SeekableReadStream &ds);
@@ -516,7 +516,7 @@ public:
 	void unload();
 
 	// Overloaded draw
-	virtual void draw(CORO_PARAM, RMGfxTargetBuffer &bigBuf, RMGfxPrimitive *prim);
+	void draw(CORO_PARAM, RMGfxTargetBuffer &bigBuf, RMGfxPrimitive *prim) override;
 
 	// Prepare a frame by drawing the location and all it's items
 	void doFrame(RMGfxTargetBuffer *bigBuf);
diff --git a/engines/tony/mpal/mpal.cpp b/engines/tony/mpal/mpal.cpp
index 7319509..cffa849 100644
--- a/engines/tony/mpal/mpal.cpp
+++ b/engines/tony/mpal/mpal.cpp
@@ -668,7 +668,7 @@ void ActionThread(CORO_PARAM, const void *param) {
 		int j, k;
 		LpMpalItem item;
 
-		~CoroContextTag() {
+		~CoroContextTag() override {
 			if (item)
 				globalDestroy(item);
 		}
@@ -797,7 +797,7 @@ void LocationPollThread(CORO_PARAM, const void *param) {
 		MYACTION *myActions;
 		MYTHREAD *myThreads;
 
-		~CoroContextTag() {
+		~CoroContextTag() override {
 			// Free data blocks
 			if (myThreads)
 				globalDestroy(myThreads);
diff --git a/engines/tony/mpal/mpalutils.h b/engines/tony/mpal/mpalutils.h
index 9ef534c..f6ee05e 100644
--- a/engines/tony/mpal/mpalutils.h
+++ b/engines/tony/mpal/mpalutils.h
@@ -57,7 +57,7 @@ public:
 class RMResRaw : public RMRes {
 public:
 	RMResRaw(uint32 resID);
-	virtual ~RMResRaw();
+	~RMResRaw() override;
 
 	const byte *dataPointer();
 	operator const byte*();
diff --git a/engines/tony/tony.h b/engines/tony/tony.h
index fb419e3..54c9bdd 100644
--- a/engines/tony/tony.h
+++ b/engines/tony/tony.h
@@ -95,8 +95,8 @@ private:
 
 protected:
 	// Engine APIs
-	virtual Common::Error run() override;
-	virtual bool hasFeature(EngineFeature f) const override;
+	Common::Error run() override;
+	bool hasFeature(EngineFeature f) const override;
 public:
 	LPCUSTOMFUNCTION _funcList[300];
 	Common::String _funcListStrings[300];
@@ -152,7 +152,7 @@ public:
 	int  _nTimeFreezed;
 public:
 	TonyEngine(OSystem *syst, const TonyGameDescription *gameDesc);
-	virtual ~TonyEngine();
+	~TonyEngine() override;
 
 	const TonyGameDescription *_gameDescription;
 	uint32 getFeatures() const;
@@ -164,8 +164,8 @@ public:
 		return &_theEngine;
 	}
 
-	virtual bool canLoadGameStateCurrently() override;
-	virtual bool canSaveGameStateCurrently() override;
+	bool canLoadGameStateCurrently() override;
+	bool canSaveGameStateCurrently() override;
 	Common::Error loadGameState(int slot) override;
 	Common::Error saveGameState(int slot, const Common::String &desc) override;
 
@@ -230,7 +230,7 @@ public:
 	void openInitLoadMenu(CORO_PARAM);
 	void openInitOptions(CORO_PARAM);
 
-	virtual void syncSoundSettings() override;
+	void syncSoundSettings() override;
 	void saveSoundSettings();
 };
 
diff --git a/engines/tony/tonychar.h b/engines/tony/tonychar.h
index 5c5be9c..125f8c5 100644
--- a/engines/tony/tonychar.h
+++ b/engines/tony/tonychar.h
@@ -110,7 +110,7 @@ protected:
 	/**
 	 * Overload of the allocation allocation of sprites
 	 */
-	virtual RMGfxSourceBuffer *newItemSpriteBuffer(int dimx, int dimy, bool bPreRLE);
+	RMGfxSourceBuffer *newItemSpriteBuffer(int dimx, int dimy, bool bPreRLE) override;
 
 	/**
 	 * Watch thread which waits for the end of an action
@@ -384,7 +384,7 @@ public:
 	/**
 	 * Draw method, which controls chararacter display
 	 */
-	virtual void draw(CORO_PARAM, RMGfxTargetBuffer &bigBuf, RMGfxPrimitive *prim);
+	void draw(CORO_PARAM, RMGfxTargetBuffer &bigBuf, RMGfxPrimitive *prim) override;
 
 	/**
 	 * Show or hide
@@ -400,18 +400,18 @@ public:
 	/**
 	 * Tony stops (on the right side with respect to any subject)
 	 */
-	virtual void stop(CORO_PARAM);
+	void stop(CORO_PARAM) override;
 	void stopNoAction(CORO_PARAM);
 
 	/**
 	 * Set a pattern
 	 */
-	void setPattern(int npatt, bool bPlayP0 = false);
+	void setPattern(int npatt, bool bPlayP0 = false) override;
 
 	/**
 	 * Reads the current pattern
 	 */
-	int getCurPattern();
+	int getCurPattern() override;
 
 	/**
 	 * Waits until the end of a pattern


Commit: 319758e7ea621835f6c31a251943378bad9a6d97
    https://github.com/scummvm/scummvm/commit/319758e7ea621835f6c31a251943378bad9a6d97
Author: Bastien Bouclet (bastien.bouclet at gmail.com)
Date: 2020-02-09T12:43:16+01:00

Commit Message:
TOON: Add override keywords

Changed paths:
    engines/toon/audio.h
    engines/toon/console.h
    engines/toon/detection.cpp
    engines/toon/drew.h
    engines/toon/flux.h
    engines/toon/movie.h
    engines/toon/toon.h


diff --git a/engines/toon/audio.h b/engines/toon/audio.h
index afac92d..c6200a9 100644
--- a/engines/toon/audio.h
+++ b/engines/toon/audio.h
@@ -35,7 +35,7 @@ class AudioStreamInstance : public Audio::AudioStream {
 
 public:
 	AudioStreamInstance(AudioManager *man, Audio::Mixer *mixer, Common::SeekableReadStream *stream, bool looping = false, bool deleteFileStreamAtEnd = false);
-	~AudioStreamInstance();
+	~AudioStreamInstance() override;
 	void play(bool fade = false, Audio::Mixer::SoundType soundType = Audio::Mixer::kMusicSoundType);
 	void stop(bool fade = false);
 
@@ -55,14 +55,14 @@ public:
 
 	void setVolume(int32 volume);
 protected:
-	int readBuffer(int16 *buffer, const int numSamples);
-	bool isStereo() const {
+	int readBuffer(int16 *buffer, const int numSamples) override;
+	bool isStereo() const override {
 		return false;
 	}
-	int getRate() const {
+	int getRate() const override {
 		return 22100;
 	}
-	bool endOfData() const {
+	bool endOfData() const override {
 		return _stopped;
 	}
 	void handleFade(int32 numSamples);
diff --git a/engines/toon/console.h b/engines/toon/console.h
index f545b67..111472d 100644
--- a/engines/toon/console.h
+++ b/engines/toon/console.h
@@ -32,7 +32,7 @@ class ToonEngine;
 class ToonConsole : public GUI::Debugger {
 public:
 	ToonConsole(ToonEngine *vm);
-	virtual ~ToonConsole(void);
+	~ToonConsole(void) override;
 
 private:
 	ToonEngine *_vm;
diff --git a/engines/toon/detection.cpp b/engines/toon/detection.cpp
index ecd5831..21dabd7 100644
--- a/engines/toon/detection.cpp
+++ b/engines/toon/detection.cpp
@@ -149,20 +149,20 @@ public:
 		return "toon";
 	}
 
-	virtual const char *getName() const override {
+	const char *getName() const override {
 		return "Toonstruck";
 	}
 
-	virtual const char *getOriginalCopyright() const override {
+	const char *getOriginalCopyright() const override {
 		return "Toonstruck (C) 1996 Virgin Interactive";
 	}
 
-	virtual bool hasFeature(MetaEngineFeature f) const override;
-	virtual bool 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;
+	bool 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;
 };
 
 bool ToonMetaEngine::hasFeature(MetaEngineFeature f) const {
diff --git a/engines/toon/drew.h b/engines/toon/drew.h
index 941df47..22c58b2 100644
--- a/engines/toon/drew.h
+++ b/engines/toon/drew.h
@@ -32,14 +32,14 @@ class ToonEngine;
 class CharacterDrew : public Character {
 public:
 	CharacterDrew(ToonEngine *vm);
-	virtual ~CharacterDrew();
-	bool setupPalette();
-	void playStandingAnim();
-	void setPosition(int16 x, int16 y);
-	void resetScale();
-	void update(int32 timeIncrement);
-	void playWalkAnim(int32 start, int32 end);
-	int32 getRandomIdleAnim();
+	~CharacterDrew() override;
+	bool setupPalette() override;
+	void playStandingAnim() override;
+	void setPosition(int16 x, int16 y) override;
+	void resetScale() override;
+	void update(int32 timeIncrement) override;
+	void playWalkAnim(int32 start, int32 end) override;
+	int32 getRandomIdleAnim() override;
 protected:
 	int32 _currentScale;
 };
diff --git a/engines/toon/flux.h b/engines/toon/flux.h
index a5778e5..c5d3363 100644
--- a/engines/toon/flux.h
+++ b/engines/toon/flux.h
@@ -32,14 +32,14 @@ namespace Toon {
 class CharacterFlux : public Character {
 public:
 	CharacterFlux(ToonEngine *vm);
-	virtual ~CharacterFlux();
-
-	void setPosition(int16 x, int16 y);
-	void playStandingAnim();
-	void playWalkAnim(int32 start, int32 end);
-	void update(int32 timeIncrement);
-	int32 getRandomIdleAnim();
-	void setVisible(bool visible);
+	~CharacterFlux() override;
+
+	void setPosition(int16 x, int16 y) override;
+	void playStandingAnim() override;
+	void playWalkAnim(int32 start, int32 end) override;
+	void update(int32 timeIncrement) override;
+	int32 getRandomIdleAnim() override;
+	void setVisible(bool visible) override;
 	static int32 fixFacingForAnimation(int32 originalFacing, int32 animationId);
 };
 
diff --git a/engines/toon/movie.h b/engines/toon/movie.h
index 4bbd0a9..62b9478 100644
--- a/engines/toon/movie.h
+++ b/engines/toon/movie.h
@@ -34,12 +34,12 @@ class ToonstruckSmackerDecoder : public Video::SmackerDecoder {
 public:
 	ToonstruckSmackerDecoder();
 
-	bool loadStream(Common::SeekableReadStream *stream);
+	bool loadStream(Common::SeekableReadStream *stream) override;
 	bool isLowRes() { return _lowRes; }
 
 protected:
-	void handleAudioTrack(byte track, uint32 chunkSize, uint32 unpackedSize);
-	SmackerVideoTrack *createVideoTrack(uint32 width, uint32 height, uint32 frameCount, const Common::Rational &frameRate, uint32 flags, uint32 signature) const;
+	void handleAudioTrack(byte track, uint32 chunkSize, uint32 unpackedSize) override;
+	SmackerVideoTrack *createVideoTrack(uint32 width, uint32 height, uint32 frameCount, const Common::Rational &frameRate, uint32 flags, uint32 signature) const override;
 
 private:
 	bool _lowRes;
diff --git a/engines/toon/toon.h b/engines/toon/toon.h
index 836dfe5..e6e4923 100644
--- a/engines/toon/toon.h
+++ b/engines/toon/toon.h
@@ -99,7 +99,7 @@ class PathFinding;
 class ToonEngine : public Engine {
 public:
 	ToonEngine(OSystem *syst, const ADGameDescription *gameDescription);
-	~ToonEngine();
+	~ToonEngine() override;
 
 	const ADGameDescription *_gameDescription;
 	Common::Language _language;
@@ -109,8 +109,8 @@ public:
 	char **_locationDirVisited;
 	char **_specialInfoLine;
 
-	Common::Error run();
-	GUI::Debugger *getDebugger() { return _console; }
+	Common::Error run() override;
+	GUI::Debugger *getDebugger() override { return _console; }
 	bool showMainmenu(bool &loadedGame);
 	bool showOptions();
 	void init();
@@ -212,9 +212,9 @@ public:
 	void waitForScriptStep();
 	void doMagnifierEffect();
 	void drawCustomText(int16 x, int16 y, const char *line, Graphics::Surface *frame, byte color);
-	bool canSaveGameStateCurrently();
-	bool canLoadGameStateCurrently();
-	void pauseEngineIntern(bool pause);
+	bool canSaveGameStateCurrently() override;
+	bool canLoadGameStateCurrently() override;
+	void pauseEngineIntern(bool pause) override;
 
 	Resources *resources() {
 		return _resources;
@@ -318,15 +318,15 @@ public:
 		return _shouldQuit;
 	}
 
-	Common::Error saveGameState(int slot, const Common::String &desc) {
+	Common::Error saveGameState(int slot, const Common::String &desc) override {
 		return (saveGame(slot, desc) ? Common::kNoError : Common::kWritingFailed);
 	}
 
-	Common::Error loadGameState(int slot) {
+	Common::Error loadGameState(int slot) override {
 		return (loadGame(slot) ? Common::kNoError : Common::kReadingFailed);
 	}
 
-	bool hasFeature(EngineFeature f) const {
+	bool hasFeature(EngineFeature f) const override {
 		return
 			(f == kSupportsRTL) ||
 			(f == kSupportsLoadingDuringRuntime) ||


Commit: 422e749ab32724a94c58ce97dc3a956c8ad90af1
    https://github.com/scummvm/scummvm/commit/422e749ab32724a94c58ce97dc3a956c8ad90af1
Author: Bastien Bouclet (bastien.bouclet at gmail.com)
Date: 2020-02-09T12:43:16+01:00

Commit Message:
TOUCHE: Add override keywords

Changed paths:
    engines/touche/console.h
    engines/touche/detection.cpp
    engines/touche/midi.h
    engines/touche/touche.h


diff --git a/engines/touche/console.h b/engines/touche/console.h
index ed7620a..5da1c44 100644
--- a/engines/touche/console.h
+++ b/engines/touche/console.h
@@ -32,7 +32,7 @@ class ToucheEngine;
 class ToucheConsole : public GUI::Debugger {
 public:
 	ToucheConsole(ToucheEngine *vm);
-	virtual ~ToucheConsole(void);
+	~ToucheConsole(void) override;
 
 private:
 	ToucheEngine *_vm;
diff --git a/engines/touche/detection.cpp b/engines/touche/detection.cpp
index 996fb73..e0a14ad 100644
--- a/engines/touche/detection.cpp
+++ b/engines/touche/detection.cpp
@@ -140,19 +140,19 @@ public:
 		return "touche";
 	}
 
-	virtual const char *getName() const override {
+	const char *getName() const override {
 		return "Touche: The Adventures of the Fifth Musketeer";
 	}
 
-	virtual const char *getOriginalCopyright() const override {
+	const char *getOriginalCopyright() const override {
 		return "Touche: The Adventures of the Fifth Musketeer (C) Clipper Software";
 	}
 
-	virtual bool hasFeature(MetaEngineFeature f) const override;
-	virtual bool createInstance(OSystem *syst, Engine **engine, const ADGameDescription *desc) const override;
-	virtual SaveStateList listSaves(const char *target) const override;
-	virtual int getMaximumSaveSlot() const override;
-	virtual void removeSaveState(const char *target, int slot) const override;
+	bool hasFeature(MetaEngineFeature f) const override;
+	bool createInstance(OSystem *syst, Engine **engine, const ADGameDescription *desc) const override;
+	SaveStateList listSaves(const char *target) const override;
+	int getMaximumSaveSlot() const override;
+	void removeSaveState(const char *target, int slot) const override;
 };
 
 bool ToucheMetaEngine::hasFeature(MetaEngineFeature f) const {
diff --git a/engines/touche/midi.h b/engines/touche/midi.h
index e54d432..df4d40f 100644
--- a/engines/touche/midi.h
+++ b/engines/touche/midi.h
@@ -42,10 +42,10 @@ public:
 
 	void play(Common::ReadStream &stream, int size, bool loop = false);
 	void adjustVolume(int diff);
-	void setVolume(int volume);
+	void setVolume(int volume) override;
 
 	// MidiDriver_BASE interface
-	virtual void send(uint32 b);
+	void send(uint32 b) override;
 };
 
 } // namespace Touche
diff --git a/engines/touche/touche.h b/engines/touche/touche.h
index a355621..0f3d496 100644
--- a/engines/touche/touche.h
+++ b/engines/touche/touche.h
@@ -469,12 +469,12 @@ public:
 	typedef void (ToucheEngine::*OpcodeProc)();
 
 	ToucheEngine(OSystem *system, Common::Language language);
-	virtual ~ToucheEngine();
+	~ToucheEngine() override;
 
 	// Engine APIs
-	virtual Common::Error run() override;
-	virtual bool hasFeature(EngineFeature f) const override;
-	virtual void syncSoundSettings() override;
+	Common::Error run() override;
+	bool hasFeature(EngineFeature f) const override;
+	void syncSoundSettings() override;
 	GUI::Debugger *getDebugger() override { return _console; }
 
 protected:
@@ -605,10 +605,10 @@ protected:
 
 	void saveGameStateData(Common::WriteStream *stream);
 	void loadGameStateData(Common::ReadStream *stream);
-	virtual Common::Error saveGameState(int num, const Common::String &description) override;
-	virtual Common::Error loadGameState(int num) override;
-	virtual bool canLoadGameStateCurrently() override;
-	virtual bool canSaveGameStateCurrently() override;
+	Common::Error saveGameState(int num, const Common::String &description) override;
+	Common::Error loadGameState(int num) override;
+	bool canLoadGameStateCurrently() override;
+	bool canSaveGameStateCurrently() override;
 
 	ToucheConsole *_console;
 


Commit: 5bf27834331068bf996291c1c52e290cbc089d15
    https://github.com/scummvm/scummvm/commit/5bf27834331068bf996291c1c52e290cbc089d15
Author: Bastien Bouclet (bastien.bouclet at gmail.com)
Date: 2020-02-09T12:43:16+01:00

Commit Message:
TSAGE: Add override keywords

Changed paths:
    engines/tsage/blue_force/blueforce_dialogs.h
    engines/tsage/blue_force/blueforce_logic.h
    engines/tsage/blue_force/blueforce_scenes0.h
    engines/tsage/blue_force/blueforce_scenes1.h
    engines/tsage/blue_force/blueforce_scenes2.h
    engines/tsage/blue_force/blueforce_scenes3.h
    engines/tsage/blue_force/blueforce_scenes4.h
    engines/tsage/blue_force/blueforce_scenes5.h
    engines/tsage/blue_force/blueforce_scenes6.h
    engines/tsage/blue_force/blueforce_scenes7.h
    engines/tsage/blue_force/blueforce_scenes8.h
    engines/tsage/blue_force/blueforce_scenes9.h
    engines/tsage/blue_force/blueforce_speakers.h
    engines/tsage/converse.h
    engines/tsage/core.h
    engines/tsage/debugger.h
    engines/tsage/detection.cpp
    engines/tsage/dialogs.h
    engines/tsage/events.h
    engines/tsage/globals.h
    engines/tsage/graphics.h
    engines/tsage/ringworld/ringworld_demo.h
    engines/tsage/ringworld/ringworld_dialogs.h
    engines/tsage/ringworld/ringworld_logic.h
    engines/tsage/ringworld/ringworld_scenes1.h
    engines/tsage/ringworld/ringworld_scenes10.h
    engines/tsage/ringworld/ringworld_scenes2.h
    engines/tsage/ringworld/ringworld_scenes3.h
    engines/tsage/ringworld/ringworld_scenes4.h
    engines/tsage/ringworld/ringworld_scenes5.h
    engines/tsage/ringworld/ringworld_scenes6.h
    engines/tsage/ringworld/ringworld_scenes8.h
    engines/tsage/ringworld/ringworld_speakers.h
    engines/tsage/ringworld2/ringworld2_airduct.h
    engines/tsage/ringworld2/ringworld2_dialogs.h
    engines/tsage/ringworld2/ringworld2_logic.h
    engines/tsage/ringworld2/ringworld2_outpost.h
    engines/tsage/ringworld2/ringworld2_scenes0.h
    engines/tsage/ringworld2/ringworld2_scenes1.h
    engines/tsage/ringworld2/ringworld2_scenes2.h
    engines/tsage/ringworld2/ringworld2_scenes3.h
    engines/tsage/ringworld2/ringworld2_speakers.h
    engines/tsage/ringworld2/ringworld2_vampire.h
    engines/tsage/saveload.h
    engines/tsage/scenes.h
    engines/tsage/screen.h
    engines/tsage/sound.h
    engines/tsage/tsage.h
    engines/tsage/user_interface.h


diff --git a/engines/tsage/blue_force/blueforce_dialogs.h b/engines/tsage/blue_force/blueforce_dialogs.h
index 38ec7a7..1a8b6c1 100644
--- a/engines/tsage/blue_force/blueforce_dialogs.h
+++ b/engines/tsage/blue_force/blueforce_dialogs.h
@@ -47,10 +47,10 @@ private:
 	int _selectedAction;
 public:
 	RightClickDialog();
-	~RightClickDialog();
+	~RightClickDialog() override;
 
-	virtual void draw();
-	virtual bool process(Event &event);
+	void draw() override;
+	bool process(Event &event) override;
 	void execute();
 };
 
@@ -64,10 +64,10 @@ private:
 	bool _closeFlag;
 public:
 	AmmoBeltDialog();
-	~AmmoBeltDialog();
+	~AmmoBeltDialog() override;
 
-	virtual void draw();
-	virtual bool process(Event &event);
+	void draw() override;
+	bool process(Event &event) override;
 	void execute();
 };
 
@@ -76,7 +76,7 @@ private:
 	GfxButton _buttons[8];
 public:
 	RadioConvDialog();
-	virtual ~RadioConvDialog();
+	~RadioConvDialog() override;
 	int execute();
 
 	static int show();
@@ -90,7 +90,7 @@ private:
 	GfxMessage _gfxMessage;
 public:
 	OptionsDialog();
-	virtual ~OptionsDialog() {}
+	~OptionsDialog() override {}
 
 	static void show();
 };
diff --git a/engines/tsage/blue_force/blueforce_logic.h b/engines/tsage/blue_force/blueforce_logic.h
index cb3c62d..3b4db08 100644
--- a/engines/tsage/blue_force/blueforce_logic.h
+++ b/engines/tsage/blue_force/blueforce_logic.h
@@ -39,13 +39,13 @@ using namespace TsAGE;
 
 class BlueForceGame: public Game {
 public:
-	virtual void start();
-	virtual Scene *createScene(int sceneNumber);
-	virtual void rightClick();
-	virtual void processEvent(Event &event);
-	virtual bool canSaveGameStateCurrently();
-	virtual bool canLoadGameStateCurrently();
-	virtual void restart();
+	void start() override;
+	Scene *createScene(int sceneNumber) override;
+	void rightClick() override;
+	void processEvent(Event &event) override;
+	bool canSaveGameStateCurrently() override;
+	bool canLoadGameStateCurrently() override;
+	void restart() override;
 };
 
 #define OBJ_ARRAY_SIZE 10
@@ -58,16 +58,16 @@ public:
 	AObjectArray();
 	void clear();
 
-	virtual Common::String getClassName() { return "AObjectArray"; }
-	virtual void synchronize(Serializer &s);
-	virtual void process(Event &event);
-	virtual void dispatch();
+	Common::String getClassName() override { return "AObjectArray"; }
+	void synchronize(Serializer &s) override;
+	void process(Event &event) override;
+	void dispatch() override;
 
 	void add(EventHandler *obj);
 	void remove(EventHandler *obj);
 	// The following line prevents compiler warnings about hiding the remove()
 	// method from the parent class.
-	virtual void remove() { EventHandler::remove(); }
+	void remove() override { EventHandler::remove(); }
 };
 
 class Timer: public EventHandler {
@@ -79,11 +79,11 @@ public:
 	Timer();
 	void set(uint32 delay, EventHandler *endHandler);
 
-	virtual Common::String getClassName() { return "Timer"; }
-	virtual void synchronize(Serializer &s);
-	virtual void remove();
-	virtual void signal();
-	virtual void dispatch();
+	Common::String getClassName() override { return "Timer"; }
+	void synchronize(Serializer &s) override;
+	void remove() override;
+	void signal() override;
+	void dispatch() override;
 };
 
 class TimerExt: public Timer {
@@ -93,10 +93,10 @@ public:
 	TimerExt();
 	void set(uint32 delay, EventHandler *endHandler, Action *action);
 
-	virtual Common::String getClassName() { return "TimerExt"; }
-	virtual void synchronize(Serializer &s);
-	virtual void remove();
-	virtual void signal();
+	Common::String getClassName() override { return "TimerExt"; }
+	void synchronize(Serializer &s) override;
+	void remove() override;
+	void signal() override;
 };
 
 
@@ -105,8 +105,8 @@ public:
 	int _state;
 
 	SceneHotspotExt() { _state = 0; }
-	virtual Common::String getClassName() { return "SceneHotspotExt"; }
-	virtual void synchronize(Serializer &s) {
+	Common::String getClassName() override { return "SceneHotspotExt"; }
+	void synchronize(Serializer &s) override {
 		SceneHotspot::synchronize(s);
 		s.syncAsSint16LE(_state);
 	}
@@ -119,10 +119,10 @@ public:
 
 class NamedObject: public SceneObject {
 public:
-	virtual Common::String getClassName() { return "NamedObject"; }
-	virtual void synchronize(Serializer &s);
-	virtual void postInit(SceneObjectList *OwnerList = NULL);
-	virtual bool startAction(CursorType action, Event &event);
+	Common::String getClassName() override { return "NamedObject"; }
+	void synchronize(Serializer &s) override;
+	void postInit(SceneObjectList *OwnerList = NULL) override;
+	bool startAction(CursorType action, Event &event) override;
 };
 
 class NamedObjectExt: public NamedObject {
@@ -130,8 +130,8 @@ public:
 	int _flag;
 
 	NamedObjectExt() { _flag = 0; }
-	virtual Common::String getClassName() { return "NamedObjectExt"; }
-	virtual void synchronize(Serializer &s) {
+	Common::String getClassName() override { return "NamedObjectExt"; }
+	void synchronize(Serializer &s) override {
 		NamedObject::synchronize(s);
 		s.syncAsSint16LE(_flag);
 	}
@@ -142,8 +142,8 @@ public:
 	int _talkCount;
 
 	NamedObject2() { _talkCount = 0; }
-	virtual Common::String getClassName() { return "NamedObject2"; }
-	virtual void synchronize(Serializer &s) {
+	Common::String getClassName() override { return "NamedObject2"; }
+	void synchronize(Serializer &s) override {
 		NamedObject::synchronize(s);
 		if (s.getVersion() < 12) {
 			int useless = 0;
@@ -159,9 +159,9 @@ public:
 	CountdownObject();
 	void fixCountdown(int mode, ...);
 
-	virtual Common::String getClassName() { return "CountdownObject"; }
-	virtual void synchronize(Serializer &s);
-	virtual void dispatch();
+	Common::String getClassName() override { return "CountdownObject"; }
+	void synchronize(Serializer &s) override;
+	void dispatch() override;
 };
 
 class FollowerObject: public NamedObject {
@@ -169,11 +169,11 @@ public:
 	SceneObject *_object;
 	FollowerObject();
 
-	virtual Common::String getClassName() { return "FollowerObject"; }
-	virtual void synchronize(Serializer &s);
-	virtual void remove();
-	virtual void dispatch();
-	virtual void reposition();
+	Common::String getClassName() override { return "FollowerObject"; }
+	void synchronize(Serializer &s) override;
+	void remove() override;
+	void dispatch() override;
+	void reposition() override;
 
 	void setup(SceneObject *object, int visage, int frameNum, int yDiff);
 };
@@ -183,10 +183,10 @@ public:
 	GfxSurface _img;
 
 	FocusObject();
-	virtual void postInit(SceneObjectList *OwnerList = NULL);
-	virtual void synchronize(Serializer &s);
-	virtual void remove();
-	virtual void process(Event &event);
+	void postInit(SceneObjectList *OwnerList = NULL) override;
+	void synchronize(Serializer &s) override;
+	void remove() override;
+	void process(Event &event) override;
 };
 
 enum ExitFrame { EXITFRAME_N = 1, EXITFRAME_NE = 2, EXITFRAME_E = 3, EXITFRAME_SE = 4,
@@ -207,12 +207,12 @@ public:
 public:
 	SceneExt();
 
-	virtual Common::String getClassName() { return "SceneExt"; }
-	virtual void postInit(SceneObjectList *OwnerList = NULL);
-	virtual void remove();
-	virtual void process(Event &event);
-	virtual void dispatch();
-	virtual void loadScene(int sceneNum);
+	Common::String getClassName() override { return "SceneExt"; }
+	void postInit(SceneObjectList *OwnerList = NULL) override;
+	void remove() override;
+	void process(Event &event) override;
+	void dispatch() override;
+	void loadScene(int sceneNum) override;
 	virtual void checkGun();
 
 	void addTimer(EventHandler *timer) { _timerList.add(timer); }
@@ -230,9 +230,9 @@ public:
 public:
 	PalettedScene();
 
-	virtual void synchronize(Serializer &s);
-	virtual void postInit(SceneObjectList *OwnerList = NULL);
-	virtual void remove();
+	void synchronize(Serializer &s) override;
+	void postInit(SceneObjectList *OwnerList = NULL) override;
+	void remove() override;
 	PaletteFader *addFader(const byte *arrBufferRGB, int step, Action *action);
 	void add2Faders(const byte *arrBufferRGB, int step, int paletteNum, Action *action);
 	void transition(const byte *arrBufferRGB, int arg8, int paletteNum, Action *action, int fromColor1, int fromColor2, int toColor1, int toColor2, bool flag);
@@ -240,11 +240,11 @@ public:
 
 class SceneHandlerExt: public SceneHandler {
 public:
-	virtual void postInit(SceneObjectList *OwnerList = NULL);
-	virtual void process(Event &event);
+	void postInit(SceneObjectList *OwnerList = NULL) override;
+	void process(Event &event) override;
 
-	virtual void playerAction(Event &event);
-	virtual void processEnd(Event &event);
+	void playerAction(Event &event) override;
+	void processEnd(Event &event) override;
 };
 
 class BlueForceInvObjectList : public InvObjectList {
@@ -325,16 +325,16 @@ public:
 	void setObjectScene(int objectNum, int sceneNumber);
 	void alterInventory(int mode);
 
-	virtual Common::String getClassName() { return "BlueForceInvObjectList"; }
+	Common::String getClassName() override { return "BlueForceInvObjectList"; }
 };
 
 class NamedHotspot : public SceneHotspot {
 public:
 	NamedHotspot();
 
-	virtual bool startAction(CursorType action, Event &event);
-	virtual Common::String getClassName() { return "NamedHotspot"; }
-	virtual void synchronize(Serializer &s);
+	bool startAction(CursorType action, Event &event) override;
+	Common::String getClassName() override { return "NamedHotspot"; }
+	void synchronize(Serializer &s) override;
 };
 
 class NamedHotspotExt : public NamedHotspot {
@@ -342,8 +342,8 @@ public:
 	int _flag;
 	NamedHotspotExt() { _flag = 0; }
 
-	virtual Common::String getClassName() { return "NamedHotspot"; }
-	virtual void synchronize(Serializer &s) {
+	Common::String getClassName() override { return "NamedHotspot"; }
+	void synchronize(Serializer &s) override {
 		NamedHotspot::synchronize(s);
 		s.syncAsSint16LE(_flag);
 	}
@@ -358,10 +358,10 @@ private:
 public:
 	void setup(const Common::String &msg) { _message = msg; }
 
-	virtual Common::String getClassName() { return "SceneMessage"; }
-	virtual void remove();
-	virtual void signal();
-	virtual void process(Event &event);
+	Common::String getClassName() override { return "SceneMessage"; }
+	void remove() override;
+	void signal() override;
+	void process(Event &event) override;
 };
 
 class IntroSceneText: public SceneText {
@@ -373,9 +373,9 @@ public:
 	IntroSceneText();
 	void setup(const Common::String &msg, Action *action);
 
-	virtual Common::String getClassName() { return "BFIntroText"; }
-	virtual void synchronize(Serializer &s);
-	virtual void dispatch();
+	Common::String getClassName() override { return "BFIntroText"; }
+	void synchronize(Serializer &s) override;
+	void dispatch() override;
 };
 
 } // End of namespace BlueForce
diff --git a/engines/tsage/blue_force/blueforce_scenes0.h b/engines/tsage/blue_force/blueforce_scenes0.h
index c6f3803..cbed5b2 100644
--- a/engines/tsage/blue_force/blueforce_scenes0.h
+++ b/engines/tsage/blue_force/blueforce_scenes0.h
@@ -45,7 +45,7 @@ class Scene20 : public SceneExt {
 	private:
 		ASoundExt _sound;
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 public:
 	Action1 _action1;
@@ -53,7 +53,7 @@ public:
 	SceneObject _tsunamiWave, _letterT, _letterS, _letterU;
 	SceneObject _letterN, _letterA, _letterM, _letterI;
 
-	virtual void postInit(SceneObjectList *OwnerList = NULL);
+	void postInit(SceneObjectList *OwnerList = NULL) override;
 };
 
 class Scene50: public SceneExt {
@@ -69,16 +69,16 @@ class Scene50: public SceneExt {
 		void update();
 		void highlight(bool btnDown);
 
-		virtual Common::String getClassName() { return "Scene50_Tooltip"; }
-		virtual void synchronize(Serializer &s);
+		Common::String getClassName() override { return "Scene50_Tooltip"; }
+		void synchronize(Serializer &s) override;
 	};
 	class Tooltip2: public Action {
 	public:
 		Tooltip2(): Action() {}
 
-		virtual Common::String getClassName() { return "Scene50_Tooltip2"; }
-		virtual void signal();
-		virtual void dispatch();
+		Common::String getClassName() override { return "Scene50_Tooltip2"; }
+		void signal() override;
+		void dispatch() override;
 	};
 public:
 	int _sceneNumber;
@@ -90,13 +90,13 @@ public:
 public:
 	Scene50();
 
-	virtual Common::String getClassName() { return "Scene50"; }
-	virtual void synchronize(Serializer &s);
+	Common::String getClassName() override { return "Scene50"; }
+	void synchronize(Serializer &s) override;
 
-	virtual void postInit(SceneObjectList *OwnerList = NULL);
-	virtual void remove();
-	virtual void signal();
-	virtual void process(Event &event);
+	void postInit(SceneObjectList *OwnerList = NULL) override;
+	void remove() override;
+	void signal() override;
+	void process(Event &event) override;
 };
 
 class Scene60 : public SceneExt {
@@ -106,34 +106,34 @@ class Scene60 : public SceneExt {
 		bool check1();
 		bool check2();
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class Item3: public NamedHotspot {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class Radio: public NamedHotspot {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class Compartment: public NamedHotspot {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 
 	/* Objects */
 	class MirandaCard: public NamedObject {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class TicketBook: public NamedObject {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class CompartmentDoor: public NamedObject {
 	public:
 		bool _flag;
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 
 	/* Actions */
@@ -141,15 +141,15 @@ class Scene60 : public SceneExt {
 	private:
 		int useRadio();
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action2: public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action3: public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 public:
 	SequenceManager _sequenceManager;
@@ -176,11 +176,11 @@ public:
 	CursorType _cursorId;
 
 	Scene60();
-	virtual void synchronize(Serializer &s);
-	virtual void postInit(SceneObjectList *OwnerList = NULL);
-	virtual void remove();
-	virtual void signal();
-	virtual void dispatch();
+	void synchronize(Serializer &s) override;
+	void postInit(SceneObjectList *OwnerList = NULL) override;
+	void remove() override;
+	void signal() override;
+	void dispatch() override;
 };
 
 
diff --git a/engines/tsage/blue_force/blueforce_scenes1.h b/engines/tsage/blue_force/blueforce_scenes1.h
index 8b65c97..0094696 100644
--- a/engines/tsage/blue_force/blueforce_scenes1.h
+++ b/engines/tsage/blue_force/blueforce_scenes1.h
@@ -43,8 +43,8 @@ class Scene100: public SceneExt {
 	/* Support classes */
 	class Text: public SceneText {
 	public:
-		virtual Common::String getClassName() { return "BF100Text"; }
-		virtual void dispatch();
+		Common::String getClassName() override { return "BF100Text"; }
+		void dispatch() override;
 	};
 
 	/* Actions */
@@ -56,16 +56,16 @@ class Scene100: public SceneExt {
 		SceneText _sceneText2;
 		int _textHeight;
 
-		virtual Common::String getClassName() { return "BF100Action1"; }
-		virtual void synchronize(Serializer &s) {
+		Common::String getClassName() override { return "BF100Action1"; }
+		void synchronize(Serializer &s) override {
 			ActionExt::synchronize(s);
 			s.syncAsSint16LE(_textHeight);
 		}
-		virtual void signal();
+		void signal() override;
 	};
 	class Action2: public ActionExt {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 public:
 	SequenceManager _sequenceManager;
@@ -76,23 +76,23 @@ public:
 	int _index;
 
 	Scene100();
-	virtual void postInit(SceneObjectList *OwnerList = NULL);
-	virtual void signal();
+	void postInit(SceneObjectList *OwnerList = NULL) override;
+	void signal() override;
 };
 
 class Scene109: public PalettedScene {
 	/* Actions */
 	class Action1: public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action2: public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action3: public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 
 public:
@@ -108,33 +108,33 @@ public:
 public:
 	Scene109();
 
-	virtual void postInit(SceneObjectList *OwnerList = NULL);
-	virtual void signal();
+	void postInit(SceneObjectList *OwnerList = NULL) override;
+	void signal() override;
 };
 
 class Scene110: public SceneExt {
 	/* Actions */
 	class Action1: public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action2: public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action3: public Action {
 	public:
-		virtual void signal();
-		virtual void dispatch();
+		void signal() override;
+		void dispatch() override;
 	};
 	class Action4: public Action {
 	public:
-		virtual void signal();
-		virtual void dispatch();
+		void signal() override;
+		void dispatch() override;
 	};
 	class Action5: public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 public:
 	NamedObject _object1, _object2, _object3, _object4, _object5, _object6, _object7, _object8, _object9, _object10;
@@ -145,18 +145,18 @@ public:
 	Action4 _action4;
 	Action5 _action5;
 public:
-	virtual void postInit(SceneObjectList *OwnerList = NULL);
+	void postInit(SceneObjectList *OwnerList = NULL) override;
 };
 
 class Scene114: public SceneExt {
 	/* Objects */
 	class Vechile: public NamedObject {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class Door: public NamedObject {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 public:
 	SequenceManager _sequenceManager1;
@@ -165,35 +165,35 @@ public:
 	NamedObject _lyle;
 	NamedHotspot _item1;
 public:
-	virtual void postInit(SceneObjectList *OwnerList = NULL);
-	virtual void signal();
+	void postInit(SceneObjectList *OwnerList = NULL) override;
+	void signal() override;
 };
 
 class Scene115: public SceneExt {
 	/* Objects */
 	class Kate: public NamedObject {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class Tony: public NamedObject {
 	public:
 		int _talkToTonyCtr2;
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class Object3: public NamedObject {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class Object4: public NamedObject {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 
 	/* Custom class */
 	class EventHandler1: public EventHandler {
 	public:
-		virtual Common::String getClassName() { return "Scene115_EventHandler1"; }
-		virtual void dispatch();
+		Common::String getClassName() override { return "Scene115_EventHandler1"; }
+		void dispatch() override;
 	};
 
 	/* Items */
@@ -203,55 +203,55 @@ class Scene115: public SceneExt {
 		int _jokeboxPlayingCtr;
 
 		Jukebox();
-		virtual bool startAction(CursorType action, Event &event);
-		virtual void signal();
-		virtual void synchronize(Serializer &s);
+		bool startAction(CursorType action, Event &event) override;
+		void signal() override;
+		void synchronize(Serializer &s) override;
 	};
 	class Item10: public NamedHotspot {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class Item14: public NamedHotspot {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 
 	/* Actions */
 	class Action1: public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action2: public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action3: public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action4: public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action5: public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action6: public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action7: public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action8: public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action9: public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 
 	SequenceManager _sequenceManager1;
@@ -292,40 +292,40 @@ class Scene115: public SceneExt {
 	int _talkToTonyCtr;
 public:
 	Scene115();
-	virtual void synchronize(Serializer &s);
-	virtual void postInit(SceneObjectList *OwnerList = NULL);
-	virtual void signal();
-	virtual void process(Event &event);
+	void synchronize(Serializer &s) override;
+	void postInit(SceneObjectList *OwnerList = NULL) override;
+	void signal() override;
+	void process(Event &event) override;
 };
 
 class Scene125: public SceneExt {
 	class Action1: public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action2: public Action {
 	public:
-		virtual void signal();
-		virtual void dispatch();
+		void signal() override;
+		void dispatch() override;
 	};
 	class Action3: public Action {
 	public:
-		virtual void signal();
-		virtual void dispatch();
+		void signal() override;
+		void dispatch() override;
 	};
 	class Action4: public Action {
 	public:
-		virtual void signal();
-		virtual void dispatch();
+		void signal() override;
+		void dispatch() override;
 	};
 	class Action5: public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action6: public Action {
 	public:
-		virtual void signal();
-		virtual void dispatch();
+		void signal() override;
+		void dispatch() override;
 	};
 
 public:
@@ -340,13 +340,13 @@ public:
 	ASoundExt _soundExt1;
 	ASoundExt _soundExt2;
 
-	void postInit(SceneObjectList *OwnerList);
+	void postInit(SceneObjectList *OwnerList) override;
 };
 
 class Scene140: public SceneExt {
 	class Action1: public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 public:
 	Action1 _action1;
@@ -355,7 +355,7 @@ public:
 	NamedObject _object2;
 	IntroSceneText _text;
 
-	void postInit(SceneObjectList *OwnerList);
+	void postInit(SceneObjectList *OwnerList) override;
 };
 
 class Scene150: public SceneExt {
@@ -363,28 +363,28 @@ class Scene150: public SceneExt {
 		NamedObject _object2;
 		ASound _sound1;
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 public:
 	NamedObject _object1;
 	Action1 _action1;
 
-	void postInit(SceneObjectList *OwnerList);
+	void postInit(SceneObjectList *OwnerList) override;
 };
 
 class Scene160: public SceneExt {
 	class Action1: public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action2: public Action {
 	public:
-		virtual void signal();
-		virtual void process(Event &event);
+		void signal() override;
+		void process(Event &event) override;
 	};
 	class Action3: public ActionExt {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 public:
 	NamedObject _flag, _kid, _kidBody, _leftOfficer, _grandma, _rightOfficer;
@@ -394,20 +394,20 @@ public:
 	Action3 _action3;
 	IntroSceneText _text;
 
-	void postInit(SceneObjectList *OwnerList);
+	void postInit(SceneObjectList *OwnerList) override;
 };
 
 class Scene180: public SceneExt {
 	/* Objects */
 	class Vechile: public NamedObject {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 
 	/* Items */
 	class GarageExit: public NamedHotspot {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 public:
 	SequenceManager _sequenceManager;
@@ -423,38 +423,38 @@ public:
 	int _dispatchMode;
 
 	Scene180();
-	virtual void synchronize(Serializer &s);
-	virtual void postInit(SceneObjectList *OwnerList = NULL);
-	virtual void signal();
-	virtual void process(Event &event);
-	virtual void dispatch();
+	void synchronize(Serializer &s) override;
+	void postInit(SceneObjectList *OwnerList = NULL) override;
+	void signal() override;
+	void process(Event &event) override;
+	void dispatch() override;
 };
 
 class Scene190: public SceneExt {
 	/* Objects */
 	class LyleCar: public NamedObject {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 
 	/* Items */
 	class Item1: public NamedHotspot {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class Item2: public NamedHotspot {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class Exit: public NamedHotspot {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 
 	/* Actions */
 	class Action1: public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 public:
 	SequenceManager _sequenceManager;
@@ -472,11 +472,11 @@ public:
 	bool _fieldB52;
 
 	Scene190();
-	virtual void postInit(SceneObjectList *OwnerList = NULL);
-	virtual void signal();
-	virtual void process(Event &event);
-	virtual void dispatch();
-	virtual void synchronize(Serializer &s);
+	void postInit(SceneObjectList *OwnerList = NULL) override;
+	void signal() override;
+	void process(Event &event) override;
+	void dispatch() override;
+	void synchronize(Serializer &s) override;
 };
 
 } // End of namespace BlueForce
diff --git a/engines/tsage/blue_force/blueforce_scenes2.h b/engines/tsage/blue_force/blueforce_scenes2.h
index 6ae3245..b047b83 100644
--- a/engines/tsage/blue_force/blueforce_scenes2.h
+++ b/engines/tsage/blue_force/blueforce_scenes2.h
@@ -45,11 +45,11 @@ class Scene200: public SceneExt {
 	/* Actions */
 	class Action1: public ActionExt {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action2: public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 public:
 	SequenceManager _sequenceManager;
@@ -59,19 +59,19 @@ public:
 	IntroObject  _object7, _object8, _object9;
 	NamedObject _object10, _object11;
 
-	virtual void postInit(SceneObjectList *OwnerList = NULL);
-	virtual void remove();
+	void postInit(SceneObjectList *OwnerList = NULL) override;
+	void remove() override;
 };
 
 class Scene210: public SceneExt {
 	/* Actions */
 	class Action1: public ActionExt {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action2: public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 public:
 	SequenceManager _sequenceManager;
@@ -81,19 +81,19 @@ public:
 	NamedObject _object9, _object10, _object11, _object12;
 	NamedObject _object13, _object14, _object15;
 
-	virtual void postInit(SceneObjectList *OwnerList = NULL);
-	virtual void remove();
+	void postInit(SceneObjectList *OwnerList = NULL) override;
+	void remove() override;
 };
 
 class Scene220: public SceneExt {
 	/* Actions */
 	class Action1: public ActionExt {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action2: public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 public:
 	SequenceManager _sequenceManager;
@@ -104,35 +104,35 @@ public:
 	IntroObject _object10, _object11, _object12, _object13;
 	IntroObject _object14, _object15, _object16;
 
-	virtual void postInit(SceneObjectList *OwnerList = NULL);
-	virtual void remove();
+	void postInit(SceneObjectList *OwnerList = NULL) override;
+	void remove() override;
 };
 
 class Scene225: public SceneExt {
 	/* Actions */
 	class Action1: public ActionExt {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action2: public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action3: public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action4: public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action5: public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action6: public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 public:
 	SequenceManager _sequenceManager;
@@ -149,48 +149,48 @@ public:
 	NamedObject _object17, _object18, _object19;
 	NamedObject _object20, _object21;
 
-	virtual void postInit(SceneObjectList *OwnerList = NULL);
-	virtual void remove();
+	void postInit(SceneObjectList *OwnerList = NULL) override;
+	void remove() override;
 };
 
 class Scene265: public SceneExt {
 	/* Actions */
 	class Action1: public ActionExt {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 public:
 	Action1 _action1;
 
-	virtual void postInit(SceneObjectList *OwnerList = NULL);
-	virtual void remove();
+	void postInit(SceneObjectList *OwnerList = NULL) override;
+	void remove() override;
 };
 
 class Scene270: public SceneExt {
 	/* Actions */
 	class Action1: public ActionExt {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 
 	/* Objects */
 	class Lyle: public NamedObject {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class Grandma: public NamedObject {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 
 	/* Items */
 	class Item: public NamedHotspot {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class Exit: public NamedHotspot {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 public:
 	SequenceManager _sequenceManager1, _sequenceManager2, _sequenceManager3;
@@ -215,34 +215,34 @@ public:
 	Common::Point _tempPos;
 
 	Scene270();
-	virtual void synchronize(Serializer &s);
-	virtual void postInit(SceneObjectList *OwnerList = NULL);
-	virtual void signal();
-	virtual void process(Event &event);
-	virtual void dispatch();
+	void synchronize(Serializer &s) override;
+	void postInit(SceneObjectList *OwnerList = NULL) override;
+	void signal() override;
+	void process(Event &event) override;
+	void dispatch() override;
 };
 
 class Scene271: public PalettedScene {
 	/* Actions */
 	class Action1: public ActionExt {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 
 	/* Objects */
 	class Object12: public NamedObject {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 
 	/* Items */
 	class Item: public NamedHotspot {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class Exit: public NamedHotspot {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 public:
 	SequenceManager _sequenceManager1, _sequenceManager2, _sequenceManager3;
@@ -269,26 +269,26 @@ public:
 	Common::Point _tempPos;
 
 	Scene271();
-	virtual void synchronize(Serializer &s);
-	virtual void postInit(SceneObjectList *OwnerList = NULL);
-	virtual void signal();
-	virtual void process(Event &event);
-	virtual void dispatch();
+	void synchronize(Serializer &s) override;
+	void postInit(SceneObjectList *OwnerList = NULL) override;
+	void signal() override;
+	void process(Event &event) override;
+	void dispatch() override;
 };
 
 class Scene280: public PalettedScene {
 	/* Actions */
 	class Action1: public ActionExt {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 public:
 	Action1 _action1;
 	SpeakerGameText _gameTextSpeaker;
 	NamedObject _jake, _dad, _mum, _object4;
 
-	void postInit(SceneObjectList *OwnerList);
-	virtual void signal();
+	void postInit(SceneObjectList *OwnerList) override;
+	void signal() override;
 };
 
 } // End of namespace BlueForce
diff --git a/engines/tsage/blue_force/blueforce_scenes3.h b/engines/tsage/blue_force/blueforce_scenes3.h
index e437fd3..d347ebf 100644
--- a/engines/tsage/blue_force/blueforce_scenes3.h
+++ b/engines/tsage/blue_force/blueforce_scenes3.h
@@ -47,51 +47,51 @@ class Scene300: public SceneExt {
 	public:
 		Object(int stripNumber) { _stripNumber = stripNumber; }
 
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class Object19: public NamedObject {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 
 	/* Items */
 	class Item1: public NamedHotspot {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class Item2: public NamedHotspot {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class Item14: public NamedHotspot {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class Item15: public NamedHotspot {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 
 	/* Actions */
 	class Action1: public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action2: public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action3: public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action4: public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action5: public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 private:
 	void setupInspection();
@@ -125,65 +125,65 @@ public:
 	int _field2760, _field2762;
 
 	Scene300();
-	virtual void postInit(SceneObjectList *OwnerList = NULL);
-	virtual void signal();
-	virtual void process(Event &event);
-	virtual void dispatch();
+	void postInit(SceneObjectList *OwnerList = NULL) override;
+	void signal() override;
+	void process(Event &event) override;
+	void dispatch() override;
 };
 
 class Scene315: public SceneExt {
 	/* Objects */
 	class BulletinMemo: public NamedObject {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class Object2: public NamedObject {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class ATFMemo: public NamedObject {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 
 	/* Items */
 	class Barry: public NamedHotspot {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class SutterSlot: public NamedHotspot {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class Sign: public NamedHotspot {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class BulletinBoard: public NamedHotspot {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class CleaningKit: public NamedHotspot {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class BriefingMaterial: public NamedHotspot {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class WestExit: public NamedHotspot {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class SouthWestExit: public NamedHotspot {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 
 	/* Actions */
 	class Action1: public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 public:
 	SequenceManager _sequenceManager;
@@ -218,18 +218,18 @@ public:
 	CursorType _currentCursor;
 
 	Scene315();
-	virtual void synchronize(Serializer &s);
-	virtual void postInit(SceneObjectList *OwnerList = NULL);
-	virtual void signal();
-	virtual void process(Event &event);
-	virtual void dispatch();
+	void synchronize(Serializer &s) override;
+	void postInit(SceneObjectList *OwnerList = NULL) override;
+	void signal() override;
+	void process(Event &event) override;
+	void dispatch() override;
 };
 
 class Scene325: public SceneExt {
 	/* Items */
 	class Item1: public NamedHotspot {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 public:
 	SequenceManager _sequenceManager;
@@ -238,14 +238,14 @@ public:
 	Item1 _item1;
 	NamedObject _object1, _object2, _object3, _object4, _object5;
 
-	virtual void postInit(SceneObjectList *OwnerList = NULL);
-	virtual void signal();
+	void postInit(SceneObjectList *OwnerList = NULL) override;
+	void signal() override;
 };
 
 class Scene330: public SceneExt {
 	class Timer1: public Timer {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 public:
 	SequenceManager _sequenceManager;
@@ -256,84 +256,84 @@ public:
 	int _seqNumber;
 
 	Scene330();
-	virtual void synchronize(Serializer &s);
-	virtual void postInit(SceneObjectList *OwnerList = NULL);
-	virtual void remove();
-	virtual void signal();
+	void synchronize(Serializer &s) override;
+	void postInit(SceneObjectList *OwnerList = NULL) override;
+	void remove() override;
+	void signal() override;
 };
 
 class Scene340: public PalettedScene {
 	/* Actions */
 	class Action1: public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action2: public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action3: public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action4: public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action5: public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action6: public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action7: public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action8: public Action {
 	public:
-		virtual void signal();
-		void process(Event &event);
+		void signal() override;
+		void process(Event &event) override;
 	};
 
 	/* Items */
 	class Item1: public NamedHotspot {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class WestExit: public NamedHotspot {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class SouthWestExit: public NamedHotspot {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class NorthExit: public NamedHotspot {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 
 	/* Objects */
 	class Child: public NamedObject {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class Woman: public NamedObject {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class Harrison: public NamedObject {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 
 	/* Timers */
 	class Timer2: public Timer {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 public:
 	SequenceManager _sequenceManager1, _sequenceManager2, _sequenceManager3;
@@ -365,43 +365,43 @@ public:
 	int _seqNumber1, _womanDialogCount, _backupPresent;
 
 	Scene340();
-	virtual void synchronize(Serializer &s);
-	virtual void postInit(SceneObjectList *OwnerList = NULL);
-	virtual void remove();
-	virtual void signal();
-	virtual void process(Event &event);
-	virtual void dispatch();
+	void synchronize(Serializer &s) override;
+	void postInit(SceneObjectList *OwnerList = NULL) override;
+	void remove() override;
+	void signal() override;
+	void process(Event &event) override;
+	void dispatch() override;
 };
 
 class Scene342: public PalettedScene {
 	/* Items */
 	class Item1: public NamedHotspot {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class WestExit: public NamedHotspot {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class SouthWestExit: public NamedHotspot {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class NorthExit: public NamedHotspot {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 
 	/* Objects */
 	class Lyle: public NamedObject {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 
 	/* Timers */
 	class Timer1: public Timer {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 public:
 	SequenceManager _sequenceManager1, _sequenceManager2;
@@ -421,47 +421,47 @@ public:
 	int _field1A1A;
 
 	Scene342();
-	virtual void synchronize(Serializer &s);
-	virtual void postInit(SceneObjectList *OwnerList = NULL);
-	virtual void remove();
-	virtual void signal();
-	virtual void process(Event &event);
-	virtual void dispatch();
+	void synchronize(Serializer &s) override;
+	void postInit(SceneObjectList *OwnerList = NULL) override;
+	void remove() override;
+	void signal() override;
+	void process(Event &event) override;
+	void dispatch() override;
 };
 
 class Scene350: public SceneExt {
 	/* Items */
 	class FireBox: public NamedHotspot {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class Yacht: public NamedHotspot {
 	public:
 		bool _flag;
 
-		virtual Common::String getClassName() { return "Scene350_Item6"; }
-		virtual void synchronize(Serializer &s);
-		virtual bool startAction(CursorType action, Event &event);
+		Common::String getClassName() override { return "Scene350_Item6"; }
+		void synchronize(Serializer &s) override;
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class SouthWestExit: public NamedHotspot {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 
 	/* Objects */
 	class Hook: public NamedObject {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class FireboxInset: public FocusObject {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 
 	/* Timers */
 	class Timer1: public Timer {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 public:
 	SequenceManager _sequenceManager1, _sequenceManager2, _sequenceManager3;
@@ -482,11 +482,11 @@ public:
 	int _field1D44, _field1D46;
 
 	Scene350();
-	virtual void postInit(SceneObjectList *OwnerList = NULL);
-	virtual void remove();
-	virtual void signal();
-	virtual void process(Event &event);
-	virtual void checkGun();
+	void postInit(SceneObjectList *OwnerList = NULL) override;
+	void remove() override;
+	void signal() override;
+	void process(Event &event) override;
+	void checkGun() override;
 };
 
 class Scene355: public PalettedScene {
@@ -497,73 +497,73 @@ class Scene355: public PalettedScene {
 		bool _onDuty;
 
 		Doorway() { _mode1356Count = _talkCount = 0; _onDuty = false; }
-		virtual Common::String getClassName() { return "Scene355_Doorway"; }
-		virtual void synchronize(Serializer &s);
-		virtual bool startAction(CursorType action, Event &event);
+		Common::String getClassName() override { return "Scene355_Doorway"; }
+		void synchronize(Serializer &s) override;
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class Locker: public NamedObject {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class LockerInset: public FocusObject {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class Object5: public NamedObject {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class Green: public NamedObjectExt {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class Lyle: public NamedObjectExt {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class Object8: public NamedObject {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 
 	/* Items */
 	class Item1: public SceneHotspot {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class Item2: public NamedHotspot {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class Item3: public SceneHotspotExt {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class Item4: public SceneHotspot {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class Pouch: public NamedHotspot {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class Item11: public NamedHotspot {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class RentalExit: public NamedHotspot {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 
 	/* Actions */
 	class Action1: public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action2: public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 public:
 	SequenceManager _sequenceManager;
@@ -598,11 +598,11 @@ public:
 	bool _modeFlag;
 
 	Scene355();
-	virtual void synchronize(Serializer &s);
-	virtual void postInit(SceneObjectList *OwnerList = NULL);
-	virtual void signal();
-	virtual void process(Event &event);
-	virtual void dispatch();
+	void synchronize(Serializer &s) override;
+	void postInit(SceneObjectList *OwnerList = NULL) override;
+	void signal() override;
+	void process(Event &event) override;
+	void dispatch() override;
 
 	void setMode(bool mode, int sceneMode);
 };
@@ -611,51 +611,51 @@ class Scene360: public SceneExt {
 	/* Objects */
 	class SlidingDoor: public NamedObject {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class Window: public NamedObject {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class Object4: public NamedObject {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class BaseballCards: public NamedObject {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class Harrison: public NamedObject {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class Object7: public NamedObject {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 
 	/* Items */
 	class Item1: public SceneHotspot {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class Item2: public SceneHotspot {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class Item3: public SceneHotspot {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class Barometer: public SceneHotspot {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 
 	/* Actions */
 	class Action1: public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 public:
 	SequenceManager _sequenceManager1, _sequenceManager2;
@@ -677,50 +677,50 @@ public:
 	Action1 _action1;
 	ASound _sound1;
 
-	virtual void synchronize(Serializer &s);
-	virtual void postInit(SceneObjectList *OwnerList = NULL);
-	virtual void signal();
-	virtual void process(Event &event);
-	virtual void dispatch();
+	void synchronize(Serializer &s) override;
+	void postInit(SceneObjectList *OwnerList = NULL) override;
+	void signal() override;
+	void process(Event &event) override;
+	void dispatch() override;
 };
 
 class Scene370: public SceneExt {
 	/* Items */
 	class Item1: public NamedHotspot {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class Item6: public SceneHotspot {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class Exit: public NamedHotspot {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 
 	/* Objects */
 	class GreensGun: public NamedObject {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class Green: public NamedObject2 {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class Harrison: public NamedObject {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class Laura: public NamedObject {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 
 	/* Speakers */
 	class SpeakerLaura370: public SpeakerLaura {
 	public:
-		virtual void setText(const Common::String &msg);
+		void setText(const Common::String &msg) override;
 	};
 public:
 	SequenceManager _sequenceManager;
@@ -742,21 +742,21 @@ public:
 	Exit _exit;
 	ASound _sound1;
 
-	virtual void postInit(SceneObjectList *OwnerList = NULL);
-	virtual void signal();
-	virtual void process(Event &event);
-	virtual void dispatch();
+	void postInit(SceneObjectList *OwnerList = NULL) override;
+	void signal() override;
+	void process(Event &event) override;
+	void dispatch() override;
 };
 
 class Scene380: public SceneExt {
 	/* Objects */
 	class Vechile: public NamedObjectExt {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class Door: public NamedObjectExt {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 public:
 	SequenceManager _sequenceManager;
@@ -766,39 +766,39 @@ public:
 	NamedHotspot _item1, _item2, _item3, _item4, _item5;
 	NamedHotspot _item6, _item7, _item8, _item9;
 
-	virtual void postInit(SceneObjectList *OwnerList = NULL);
-	virtual void signal();
+	void postInit(SceneObjectList *OwnerList = NULL) override;
+	void signal() override;
 };
 
 class Scene385: public SceneExt {
 	/* Items */
 	class Exit: public NamedHotspot {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 
 	/* Objects */
 	class Door: public NamedObject {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class Jim: public NamedObject {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class Dezi: public NamedObject {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 
 	/* Actions */
 	class Action1: public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action2: public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 public:
 	SequenceManager _sequenceManager;
@@ -817,50 +817,50 @@ public:
 	bool _jimFlag;
 
 	Scene385();
-	virtual void synchronize(Serializer &s);
-	virtual void postInit(SceneObjectList *OwnerList = NULL);
-	virtual void signal();
-	virtual void process(Event &event);
-	virtual void dispatch();
+	void synchronize(Serializer &s) override;
+	void postInit(SceneObjectList *OwnerList = NULL) override;
+	void signal() override;
+	void process(Event &event) override;
+	void dispatch() override;
 };
 
 class Scene390: public SceneExt {
 	/* Items */
 	class BookingForms: public NamedHotspotExt {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 
 	/* Objects */
 	class Green: public NamedObjectExt {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class Object2: public NamedObjectExt {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class Object3: public NamedObject {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class GangMember1: public NamedObjectExt {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class GangMember2: public NamedObjectExt {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class Door: public NamedObject {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 
 	/* Actions */
 	class Action1: public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 public:
 	SequenceManager _sequenceManager;
@@ -881,8 +881,8 @@ public:
 	NamedHotspot _item1, _item3, _item4;
 	BookingForms _bookingForms;
 
-	virtual void postInit(SceneObjectList *OwnerList = NULL);
-	virtual void signal();
+	void postInit(SceneObjectList *OwnerList = NULL) override;
+	void signal() override;
 };
 
 } // End of namespace BlueForce
diff --git a/engines/tsage/blue_force/blueforce_scenes4.h b/engines/tsage/blue_force/blueforce_scenes4.h
index 9a6df24..3941ad7 100644
--- a/engines/tsage/blue_force/blueforce_scenes4.h
+++ b/engines/tsage/blue_force/blueforce_scenes4.h
@@ -43,55 +43,55 @@ class Scene410: public SceneExt {
 	/* Actions */
 	class Action1: public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action2: public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action3: public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action4: public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action5: public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action6: public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action7: public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 
 	/* Objects */
 	class Driver: public NamedObject {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class Passenger: public NamedObject {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class Harrison: public NamedObject {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 
 	/* Items */
 	class Motorcycle: public NamedHotspot {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class TruckFront: public NamedHotspot {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 public:
 	SequenceManager _sequenceManager1, _sequenceManager2, _sequenceManager3;
@@ -124,42 +124,42 @@ public:
 	bool _driverOutOfTruckFl, _harrisonMovedFl;
 
 	Scene410();
-	virtual void postInit(SceneObjectList *OwnerList = NULL);
-	virtual void synchronize(Serializer &s);
-	virtual void signal();
-	virtual void process(Event &event);
-	virtual void dispatch();
+	void postInit(SceneObjectList *OwnerList = NULL) override;
+	void synchronize(Serializer &s) override;
+	void signal() override;
+	void process(Event &event) override;
+	void dispatch() override;
 };
 
 class Scene415: public SceneExt {
 	/* Objects */
 	class GunInset: public FocusObject {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
-		virtual void remove();
+		bool startAction(CursorType action, Event &event) override;
+		void remove() override;
 	};
 	class GunAndWig: public NamedObject {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class BulletsInset: public FocusObject {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
-		virtual void remove();
+		bool startAction(CursorType action, Event &event) override;
+		void remove() override;
 	};
 	class DashDrawer: public NamedObject {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class TheBullets: public NamedObject {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 
 	/* Items */
 	class Lever: public NamedHotspot {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 private:
 	void showBullets();
@@ -179,31 +179,31 @@ public:
 	bool _scoreWigRapFlag, _scoreBulletRapFlag;
 
 	Scene415();
-	virtual void postInit(SceneObjectList *OwnerList = NULL);
-	virtual void synchronize(Serializer &s);
-	virtual void signal();
-	virtual void dispatch();
+	void postInit(SceneObjectList *OwnerList = NULL) override;
+	void synchronize(Serializer &s) override;
+	void signal() override;
+	void dispatch() override;
 };
 
 class Scene440: public SceneExt {
 	/* Objects */
 	class Doorway: public NamedObject {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class Vechile: public NamedObject {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class Lyle: public NamedObject {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 
 	/* Items */
 	class Item1: public NamedHotspot {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 public:
 	SequenceManager _sequenceManager;
@@ -213,33 +213,33 @@ public:
 	Lyle _lyle;
 	Item1 _item1;
 
-	virtual void postInit(SceneObjectList *OwnerList = NULL);
-	virtual void signal();
+	void postInit(SceneObjectList *OwnerList = NULL) override;
+	void signal() override;
 };
 
 class Scene450: public SceneExt {
 	/* Objects */
 	class Weasel: public NamedObjectExt {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class Object2: public NamedObject {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class PinBoy: public NamedObject {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class Manager: public NamedObject {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 
 	/* Items */
 	class Exit: public NamedHotspot {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 public:
 	SequenceManager _sequenceManager;
@@ -261,10 +261,10 @@ public:
 	bool _talkManagerFl;
 
 	Scene450();
-	virtual void synchronize(Serializer &s);
-	virtual void postInit(SceneObjectList *OwnerList = NULL);
-	virtual void signal();
-	virtual void process(Event &event);
+	void synchronize(Serializer &s) override;
+	void postInit(SceneObjectList *OwnerList = NULL) override;
+	void signal() override;
+	void process(Event &event) override;
 };
 
 } // End of namespace BlueForce
diff --git a/engines/tsage/blue_force/blueforce_scenes5.h b/engines/tsage/blue_force/blueforce_scenes5.h
index 7c5bbb3..ffc2f54 100644
--- a/engines/tsage/blue_force/blueforce_scenes5.h
+++ b/engines/tsage/blue_force/blueforce_scenes5.h
@@ -43,21 +43,21 @@ class Scene550: public SceneExt {
 	/* Objects */
 	class Lyle: public NamedObject {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class CaravanDoor: public NamedObject {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class Vechile: public NamedObject {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 
 	/* Actions */
 	class Action1: public ActionExt {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 public:
 	SequenceManager _sequenceManager;
@@ -70,52 +70,52 @@ public:
 	SpeakerJakeJacket _jakeJacketSpeaker;
 	Action1 _action1;
 
-	virtual void postInit(SceneObjectList *OwnerList = NULL);
-	virtual void signal();
+	void postInit(SceneObjectList *OwnerList = NULL) override;
+	void signal() override;
 };
 
 class Scene551: public Scene550 {
 	/* Objects */
 	class Vechile: public NamedObject {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class DrunkStanding: public NamedObjectExt {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class Drunk: public NamedObjectExt {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class PatrolCarTrunk: public NamedObject {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class TrunkInset: public FocusObject {
 	public:
-		virtual void remove();
-		virtual bool startAction(CursorType action, Event &event);
+		void remove() override;
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class TrunkKits: public NamedObject {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class Harrison: public NamedObjectExt {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 
 	/* Items */
 	class Item4: public SceneHotspot {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 
 	/* Actions */
 	class Action2: public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 public:
 	SpeakerDrunk _drunkSpeaker;
@@ -135,82 +135,82 @@ public:
 	int _field1CD0, _field1CD2;
 
 	Scene551();
-	virtual void synchronize(Serializer &s);
-	void postInit(SceneObjectList *OwnerList = NULL);
-	virtual void signal();
-	virtual void dispatch();
+	void synchronize(Serializer &s) override;
+	void postInit(SceneObjectList *OwnerList = NULL) override;
+	void signal() override;
+	void dispatch() override;
 };
 
 class Scene560: public SceneExt {
 	/* Objects */
 	class DeskChair: public NamedObject {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class Box: public NamedObjectExt {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class SafeInset: public FocusObject {
 		/* Items */
 		class Item: public NamedHotspotExt {
 		public:
-			virtual bool startAction(CursorType action, Event &event);
+			bool startAction(CursorType action, Event &event) override;
 		};
 	public:
 		NamedObject _digit0, _digit1, _digit2;
 		Item _item1, _item2, _item3, _item4, _item5, _item6;
 		Visage _cursorVisage;
 
-		virtual Common::String getClassName() { return "Scene560_SafeInset"; }
-		virtual void postInit(SceneObjectList *OwnerList = NULL);
-		virtual void remove();
-		virtual void signal();
-		virtual void process(Event &event);
+		Common::String getClassName() override { return "Scene560_SafeInset"; }
+		void postInit(SceneObjectList *OwnerList = NULL) override;
+		void remove() override;
+		void signal() override;
+		void process(Event &event) override;
 	};
 	class Nickel: public NamedObject {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class BoxInset: public FocusObject {
 		/* Items */
 		class Item1: public NamedHotspot {
 		public:
-			virtual bool startAction(CursorType action, Event &event);
+			bool startAction(CursorType action, Event &event) override;
 		};
 	public:
 		Item1 _item1;
 
-		virtual Common::String getClassName() { return "Scene560_BoxInset"; }
-		virtual void postInit(SceneObjectList *OwnerList = NULL);
-		virtual void remove();
+		Common::String getClassName() override { return "Scene560_BoxInset"; }
+		void postInit(SceneObjectList *OwnerList = NULL) override;
+		void remove() override;
 	};
 
 	/* Item groups */
 	class PicturePart: public NamedHotspotExt {
 	public:
-		virtual Common::String getClassName() { return "Scene560_PicturePart"; }
-		virtual bool startAction(CursorType action, Event &event);
+		Common::String getClassName() override { return "Scene560_PicturePart"; }
+		bool startAction(CursorType action, Event &event) override;
 	};
 
 	/* Items */
 	class Computer: public NamedHotspot {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 
 	/* Actions */
 	class Action1: public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action2: public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action3: public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 public:
 	Action1 _action1;
@@ -233,10 +233,10 @@ public:
 	Common::Point _destPosition;
 
 	Scene560();
-	virtual void postInit(SceneObjectList *OwnerList = NULL);
-	virtual void signal();
-	virtual void process(Event &event);
-	virtual void dispatch();
+	void postInit(SceneObjectList *OwnerList = NULL) override;
+	void signal() override;
+	void process(Event &event) override;
+	void dispatch() override;
 };
 
 class Scene570: public SceneExt {
@@ -249,10 +249,10 @@ class Scene570: public SceneExt {
 		Common::String _passwordStr, _entryBuffer;
 
 		PasswordEntry();
-		virtual Common::String getClassName() { return "Scene570_PasswordEntry"; }
-		virtual void synchronize(Serializer &s);
-		virtual void postInit(SceneObjectList *OwnerList = NULL);
-		virtual void process(Event &event);
+		Common::String getClassName() override { return "Scene570_PasswordEntry"; }
+		void synchronize(Serializer &s) override;
+		void postInit(SceneObjectList *OwnerList = NULL) override;
+		void process(Event &event) override;
 	};
 	class Icon: public NamedObject {
 	public:
@@ -261,10 +261,10 @@ class Scene570: public SceneExt {
 		Common::String _text;
 
 		Icon();
-		virtual Common::String getClassName() { return "Scene570_Custom2"; }
-		virtual void synchronize(Serializer &s);
-		virtual void remove();
-		virtual bool startAction(CursorType action, Event &event);
+		Common::String getClassName() override { return "Scene570_Custom2"; }
+		void synchronize(Serializer &s) override;
+		void remove() override;
+		bool startAction(CursorType action, Event &event) override;
 
 		void setDetails(int iconId, int folderId, int parentFolderId, const Common::String &msg);
 	};
@@ -275,7 +275,7 @@ class Scene570: public SceneExt {
 		int _mode, _selectedFolder, _fieldAA, _fieldAC;
 
 		IconManager();
-		virtual void remove();
+		void remove() override;
 
 		void setup(int mode);
 		void hideList();
@@ -286,21 +286,21 @@ class Scene570: public SceneExt {
 	/* Objects */
 	class PowerSwitch: public NamedObject {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class PrinterIcon: public NamedObject {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class Object3: public FocusObject {
 	public:
-		virtual void remove();
+		void remove() override;
 	};
 
 	/* Items */
 	class FloppyDrive: public NamedHotspot {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 public:
 	SequenceManager _sequenceManager;
@@ -319,24 +319,24 @@ public:
 	NamedHotspot _item7, _printer, _window, _plant, _item11;
 	ASound _sound1;
 
-	virtual void postInit(SceneObjectList *OwnerList = NULL);
-	virtual void signal();
-	virtual void process(Event &event);
+	void postInit(SceneObjectList *OwnerList = NULL) override;
+	void signal() override;
+	void process(Event &event) override;
 };
 
 class Scene580: public SceneExt {
 	/* Objects */
 	class Vechile: public NamedObject {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class Door: public NamedObject {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class Lyle: public NamedObject {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 public:
 	SequenceManager _sequenceManager;
@@ -346,36 +346,36 @@ public:
 	NamedHotspot _item1;
 	SpeakerGameText _gameTextSpeaker;
 
-	virtual void postInit(SceneObjectList *OwnerList = NULL);
-	virtual void signal();
-	virtual void process(Event &event);
+	void postInit(SceneObjectList *OwnerList = NULL) override;
+	void signal() override;
+	void process(Event &event) override;
 };
 
 class Scene590: public PalettedScene {
 	/* Objects */
 	class Laura: public NamedObject {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class Skip: public NamedObject {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 
 	/* Items */
 	class Exit: public NamedHotspot {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 
 	/* Actions */
 	class Action1: public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action2: public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 public:
 	SequenceManager _sequenceManager;
@@ -394,11 +394,11 @@ public:
 	int _field17DC, _field17DE, _stripNumber, _field17E2;
 
 	Scene590();
-	virtual void synchronize(Serializer &s);
-	virtual void postInit(SceneObjectList *OwnerList = NULL);
-	virtual void signal();
-	virtual void process(Event &event);
-	virtual void dispatch();
+	void synchronize(Serializer &s) override;
+	void postInit(SceneObjectList *OwnerList = NULL) override;
+	void signal() override;
+	void process(Event &event) override;
+	void dispatch() override;
 };
 
 } // End of namespace BlueForce
diff --git a/engines/tsage/blue_force/blueforce_scenes6.h b/engines/tsage/blue_force/blueforce_scenes6.h
index 7ace22f..60cde98 100644
--- a/engines/tsage/blue_force/blueforce_scenes6.h
+++ b/engines/tsage/blue_force/blueforce_scenes6.h
@@ -43,7 +43,7 @@ class Scene600 : public SceneExt {
 	/* Actions */
 	class Action1 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 public:
 	SequenceManager _sequenceManager;
@@ -53,9 +53,9 @@ public:
 	BackgroundSceneObject _object4, _object5;
 	BackgroundSceneObject _object6, _object7, _object8;
 
-	virtual void postInit(SceneObjectList *OwnerList = NULL);
-	virtual void signal();
-	virtual void remove();
+	void postInit(SceneObjectList *OwnerList = NULL) override;
+	void signal() override;
+	void remove() override;
 };
 
 class Scene620 : public PalettedScene {
@@ -65,21 +65,21 @@ public:
 	NamedObject _object1, _object2, _object3;
 	NamedObject _object4, _object5, _object6;
 
-	virtual void postInit(SceneObjectList *OwnerList = NULL);
-	virtual void signal();
+	void postInit(SceneObjectList *OwnerList = NULL) override;
+	void signal() override;
 };
 
 class Scene666 : public SceneExt {
 	/* Actions */
 	class Action1 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 
 	/* Items */
 	class Item1: public NamedHotspot {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 public:
 	Action1 _action1;
@@ -88,9 +88,9 @@ public:
 	Item1 _item1;
 	SceneText _text;
 
-	virtual void postInit(SceneObjectList *OwnerList = NULL);
-	virtual void remove();
-	virtual void signal();
+	void postInit(SceneObjectList *OwnerList = NULL) override;
+	void remove() override;
+	void signal() override;
 };
 
 
@@ -98,11 +98,11 @@ class Scene690 : public SceneExt {
 	/* Objects */
 	class Object1: public NamedObject {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class Object2: public NamedObject {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 public:
 	SequenceManager _sequenceManager;
@@ -115,8 +115,8 @@ public:
 	NamedHotspot _item16, _item17;
 	SpeakerJake _jakeSpeaker;
 
-	virtual void postInit(SceneObjectList *OwnerList = NULL);
-	virtual void signal();
+	void postInit(SceneObjectList *OwnerList = NULL) override;
+	void signal() override;
 };
 } // End of namespace BlueForce
 
diff --git a/engines/tsage/blue_force/blueforce_scenes7.h b/engines/tsage/blue_force/blueforce_scenes7.h
index 91fb4c5..a00879f 100644
--- a/engines/tsage/blue_force/blueforce_scenes7.h
+++ b/engines/tsage/blue_force/blueforce_scenes7.h
@@ -43,25 +43,25 @@ class Scene710: public SceneExt {
 	// Actions
 	class Action1: public ActionExt {
 	public:
-		void signal();
+		void signal() override;
 	};
 	// Timers
 	class Timer1: public Timer {
 	public:
-		void signal();
+		void signal() override;
 	};
 	// Objects
 	class Object3: public NamedObject {
 	public:
-		bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class Object4: public NamedObject {
 	public:
-		bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class Object5: public NamedObject {
 	public:
-		bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 
 public:
@@ -94,10 +94,10 @@ public:
 	bool _watchCrate;
 	bool _throwStick;
 
-	virtual void postInit(SceneObjectList *OwnerList = NULL);
-	virtual void signal();
-	virtual void dispatch();
-	virtual void synchronize(Serializer &s);
+	void postInit(SceneObjectList *OwnerList = NULL) override;
+	void signal() override;
+	void dispatch() override;
+	void synchronize(Serializer &s) override;
 };
 
 } // End of namespace BlueForce
diff --git a/engines/tsage/blue_force/blueforce_scenes8.h b/engines/tsage/blue_force/blueforce_scenes8.h
index 09de14f..2b06d29 100644
--- a/engines/tsage/blue_force/blueforce_scenes8.h
+++ b/engines/tsage/blue_force/blueforce_scenes8.h
@@ -43,39 +43,39 @@ class Scene800: public SceneExt {
 	/* Actions */
 	class Action1 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 
 	/* Items */
 	class Item1: public SceneHotspot {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class Item2: public SceneHotspot {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 
 	/* Objects */
 	class Doorway: public NamedObject {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class Car1: public NamedObject {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class Motorcycle: public NamedObject {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class Lyle: public NamedObject {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class Car2: public NamedObject {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 
 public:
@@ -94,108 +94,108 @@ public:
 	Item2 _item2;
 	SceneText _text;
 
-	virtual void postInit(SceneObjectList *OwnerList = NULL);
-	virtual void signal();
-	virtual void dispatch();
+	void postInit(SceneObjectList *OwnerList = NULL) override;
+	void signal() override;
+	void dispatch() override;
 };
 
 class Scene810: public SceneExt {
 	/* Actions */
 	class Action1: public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action2: public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 
 	/* Items */
 	class Map: public SceneHotspot {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class Window: public SceneHotspot {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class Bookcase: public SceneHotspot {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class FaxMachine: public SceneHotspot {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class GarbageCan: public SceneHotspot {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class FileCabinets: public SceneHotspot {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class CoffeeMaker: public SceneHotspot {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class Shelves: public SceneHotspot {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class MicroficheReader: public SceneHotspot {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class Item10: public SceneHotspot {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class Pictures: public SceneHotspot {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class Item12: public SceneHotspot {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class Background: public SceneHotspot {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class Desk: public SceneHotspot {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class Exit: public NamedHotspot {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 
 	/* Objects */
 	class Lyle: public NamedObjectExt {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class Chair: public NamedObject {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class Object3: public NamedObject {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class FaxMachineInset: public FocusObject {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class Object5: public NamedObject {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class Object7: public NamedObject {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 public:
 	Action1 _action1;
@@ -232,26 +232,26 @@ public:
 	int _fieldA70, _fieldA74;
 
 	Scene810();
-	virtual void synchronize(Serializer &s);
-	virtual void postInit(SceneObjectList *OwnerList = NULL);
-	virtual void signal();
-	virtual void process(Event &event);
-	virtual void dispatch();
+	void synchronize(Serializer &s) override;
+	void postInit(SceneObjectList *OwnerList = NULL) override;
+	void signal() override;
+	void process(Event &event) override;
+	void dispatch() override;
 };
 
 class Scene820: public SceneExt {
 	/* Objects */
 	class PowerButton: public NamedObject {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class ForwardButton: public NamedObject {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class BackButton: public NamedObject {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 public:
 	SequenceManager _sequenceManager;
@@ -265,38 +265,38 @@ public:
 	int _pageNumber;
 
 	Scene820();
-	virtual void synchronize(Serializer &s);
-	virtual void postInit(SceneObjectList *OwnerList = NULL);
-	virtual void signal();
+	void synchronize(Serializer &s) override;
+	void postInit(SceneObjectList *OwnerList = NULL) override;
+	void signal() override;
 };
 
 class Scene830: public PalettedScene {
 	/* Items */
 	class SouthEastExit: public NamedHotspot {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class NoteBoard: public NamedHotspot {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 
 	/* Objects */
 	class Lyle: public NamedObject {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class Door: public NamedObject {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class RentalBoat: public NamedObject {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class Object5: public NamedObject {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 
 public:
@@ -316,53 +316,53 @@ public:
 	int _field18A4, _field18A6, _field18A8, _field18AA, _field18AC;
 
 	Scene830();
-	virtual void synchronize(Serializer &s);
-	virtual void postInit(SceneObjectList *OwnerList = NULL);
-	virtual void remove();
-	virtual void signal();
-	virtual void process(Event &event);
-	virtual void dispatch();
+	void synchronize(Serializer &s) override;
+	void postInit(SceneObjectList *OwnerList = NULL) override;
+	void remove() override;
+	void signal() override;
+	void process(Event &event) override;
+	void dispatch() override;
 };
 
 class Scene840: public PalettedScene {
 	/* Items */
 	class Coins: public NamedHotspot {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class Exit: public NamedHotspot {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 
 	/* Objects */
 	class BoatKeysInset: public FocusObject {
 		class RentalKeys: public NamedObject {
 		public:
-			virtual bool startAction(CursorType action, Event &event);
+			bool startAction(CursorType action, Event &event) override;
 		};
 		class WaveKeys: public NamedObject {
 		public:
-			virtual bool startAction(CursorType action, Event &event);
+			bool startAction(CursorType action, Event &event) override;
 		};
 	public:
 		RentalKeys _rentalKeys;
 		WaveKeys _waveKeys;
 		bool _usedRentalKeys,_usedWaveKeys;
 
-		virtual void synchronize(Serializer &s);
-		virtual void postInit(SceneObjectList *OwnerList = NULL);
-		virtual void remove();
-		virtual void process(Event &event);
-		virtual bool startAction(CursorType action, Event &event);
+		void synchronize(Serializer &s) override;
+		void postInit(SceneObjectList *OwnerList = NULL) override;
+		void remove() override;
+		void process(Event &event) override;
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class BoatKeys: public NamedObject {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class Carter: public NamedObject {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 
 public:
@@ -387,18 +387,18 @@ public:
 	int _field1AC2, _field1AC4, _field1AC6;
 
 	Scene840();
-	virtual void synchronize(Serializer &s);
-	virtual void postInit(SceneObjectList *OwnerList = NULL);
-	virtual void signal();
-	virtual void process(Event &event);
-	virtual void dispatch();
+	void synchronize(Serializer &s) override;
+	void postInit(SceneObjectList *OwnerList = NULL) override;
+	void signal() override;
+	void process(Event &event) override;
+	void dispatch() override;
 };
 
 class Scene850: public SceneExt {
 	/* Timers */
 	class Timer1: public Timer {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 public:
 	SequenceManager _sequenceManager;
@@ -406,16 +406,16 @@ public:
 	NamedObject _object1;
 	ASoundExt _sound1;
 
-	virtual void postInit(SceneObjectList *OwnerList = NULL);
-	virtual void remove();
-	virtual void signal();
+	void postInit(SceneObjectList *OwnerList = NULL) override;
+	void remove() override;
+	void signal() override;
 };
 
 class Scene860: public SceneExt {
 	/* Actions */
 	class Action1: public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 public:
 	SequenceManager _sequenceManager;
@@ -428,37 +428,37 @@ public:
 	Common::Point _destPos;
 
 	Scene860();
-	virtual void synchronize(Serializer &s);
-	virtual void postInit(SceneObjectList *OwnerList = NULL);
-	virtual void signal();
-	virtual void process(Event &event);
-	virtual void dispatch();
+	void synchronize(Serializer &s) override;
+	void postInit(SceneObjectList *OwnerList = NULL) override;
+	void signal() override;
+	void process(Event &event) override;
+	void dispatch() override;
 };
 
 class Scene870: public SceneExt {
 	/* Actions */
 	class Action1: public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 
 	/* Objects */
 	class Lyle: public NamedObjectExt {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class Green: public NamedObjectExt {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class CrateInset: public FocusObject {
 		class Jar: public NamedObjectExt {
 		public:
-			virtual bool startAction(CursorType action, Event &event);
+			bool startAction(CursorType action, Event &event) override;
 		};
 		class Rags: public NamedObjectExt {
 		public:
-			virtual bool startAction(CursorType action, Event &event);
+			bool startAction(CursorType action, Event &event) override;
 		};
 	private:
 		void initContents();
@@ -466,23 +466,23 @@ class Scene870: public SceneExt {
 		Jar _jar;
 		Rags _rags;
 
-		virtual void postInit(SceneObjectList *OwnerList = NULL);
-		virtual void remove();
-		virtual bool startAction(CursorType action, Event &event);
+		void postInit(SceneObjectList *OwnerList = NULL) override;
+		void remove() override;
+		bool startAction(CursorType action, Event &event) override;
 	};
 
 	/* Items */
 	class Boat: public NamedHotspot {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class Crate: public NamedHotspot {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class Exit: public NamedHotspot {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 public:
 	SequenceManager _sequenceManager;
@@ -504,12 +504,12 @@ public:
 	int _field1662, _field1664;
 
 	Scene870();
-	virtual void synchronize(Serializer &s);
-	virtual void postInit(SceneObjectList *OwnerList = NULL);
-	virtual void remove();
-	virtual void signal();
-	virtual void process(Event &event);
-	virtual void dispatch();
+	void synchronize(Serializer &s) override;
+	void postInit(SceneObjectList *OwnerList = NULL) override;
+	void remove() override;
+	void signal() override;
+	void process(Event &event) override;
+	void dispatch() override;
 
 	void startStrip(int stripNumber);
 };
@@ -520,23 +520,23 @@ class Scene880: public SceneExt {
 	private:
 		static void SequenceManager_callbackProc(int v1, int v2);
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 
 	/* Objects */
 	class Object4: public NamedObjectExt {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 
 	/* Items */
 	class NorthExit: public NamedHotspot {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class SouthEastExit: public NamedHotspot {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 private:
 	static void handleAction(Action *action);
@@ -555,11 +555,11 @@ public:
 	int _seqNumber;
 
 	Scene880();
-	virtual void synchronize(Serializer &s);
-	virtual void postInit(SceneObjectList *OwnerList = NULL);
-	virtual void signal();
-	virtual void process(Event &event);
-	virtual void dispatch();
+	void synchronize(Serializer &s) override;
+	void postInit(SceneObjectList *OwnerList = NULL) override;
+	void signal() override;
+	void process(Event &event) override;
+	void dispatch() override;
 };
 
 } // End of namespace BlueForce
diff --git a/engines/tsage/blue_force/blueforce_scenes9.h b/engines/tsage/blue_force/blueforce_scenes9.h
index eb6f481..11f2c48 100644
--- a/engines/tsage/blue_force/blueforce_scenes9.h
+++ b/engines/tsage/blue_force/blueforce_scenes9.h
@@ -43,50 +43,50 @@ class Scene900: public PalettedScene {
 	/* Items */
 	class Exterior: public NamedHotspot {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class WestExit: public NamedHotspot {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	/* Objects */
 	class Gate: public NamedObject {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class Door: public NamedObjectExt {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class Dog: public NamedObjectExt {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class Lyle: public NamedObject {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class Body: public NamedObject {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 
 	/* Actions */
 	class Action1 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action2 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action3 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action4 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 
 public:
@@ -114,58 +114,58 @@ public:
 	int _field1976;
 
 	Scene900();
-	virtual void postInit(SceneObjectList *OwnerList = NULL);
-	virtual void signal();
-	virtual void process(Event &event);
-	virtual void dispatch();
-	virtual void synchronize(Serializer &s);
+	void postInit(SceneObjectList *OwnerList = NULL) override;
+	void signal() override;
+	void process(Event &event) override;
+	void dispatch() override;
+	void synchronize(Serializer &s) override;
 };
 
 class Scene910: public PalettedScene {
 	/* Actions */
 	class Action1 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action2 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	/* Objects */
 	class Lyle: public NamedObject {
 	public:
 		int _field90;
-		virtual void synchronize(Serializer &s);
-		virtual bool startAction(CursorType action, Event &event);
+		void synchronize(Serializer &s) override;
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class Nico: public NamedObject {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class Stuart: public NamedObject {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class Forbes: public NamedObject {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class PowerCord: public NamedObject {
 	public:
 		int _field90, _field92;
 
-		virtual void synchronize(Serializer &s);
-		virtual bool startAction(CursorType action, Event &event);
+		void synchronize(Serializer &s) override;
+		bool startAction(CursorType action, Event &event) override;
 		void init(int val);
 
 	};
 	class BreakerBox: public NamedObject {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class FakeWall: public NamedObject {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 
 	class Object13: public NamedObject {
@@ -173,16 +173,16 @@ class Scene910: public PalettedScene {
 		int _state, _mode;
 	public:
 		void setupBreaker(int x, int y, int mode, int8 frameNumber);
-		virtual void synchronize(Serializer &s);
-		virtual bool startAction(CursorType action, Event &event);
-		virtual void remove();
+		void synchronize(Serializer &s) override;
+		bool startAction(CursorType action, Event &event) override;
+		void remove() override;
 	};
 
 	class BlackPlug: public Object13 {
 	public:
 		void init(int x, int y, int arg8, int8 mode);
-		virtual bool startAction(CursorType action, Event &event);
-		virtual void remove();
+		bool startAction(CursorType action, Event &event) override;
+		void remove() override;
 	};
 
 	class Object25: public NamedObject {
@@ -190,9 +190,9 @@ class Scene910: public PalettedScene {
 	public:
 		Object25();
 		void setupHiddenSwitch(int x, int y, int arg8, int argA);
-		virtual void synchronize(Serializer &s);
-		virtual bool startAction(CursorType action, Event &event);
-		virtual void remove();
+		void synchronize(Serializer &s) override;
+		bool startAction(CursorType action, Event &event) override;
+		void remove() override;
 	};
 
 	class BreakerBoxInset: public FocusObject {
@@ -202,16 +202,16 @@ class Scene910: public PalettedScene {
 	public:
 		Object13 _object27;
 		BlackPlug _object28;
-		virtual Common::String getClassName() { return "Scene910_object12"; }
-		virtual void postInit(SceneObjectList *OwnerList = NULL);
-		virtual void remove();
+		Common::String getClassName() override { return "Scene910_object12"; }
+		void postInit(SceneObjectList *OwnerList = NULL) override;
+		void remove() override;
 	};
 
 	class PowerButton: public NamedObject {
 	public:
 		NamedObject _object32;
-		virtual void remove();
-		virtual bool startAction(CursorType action, Event &event);
+		void remove() override;
+		bool startAction(CursorType action, Event &event) override;
 		void init(int frame);
 	};
 
@@ -219,39 +219,39 @@ class Scene910: public PalettedScene {
 		BlackPlug _blackPlug;
 		PowerButton _powerButton;
 	public:
-		virtual Common::String getClassName() { return "Scene910_object29"; }
-		virtual void postInit(SceneObjectList *OwnerList = NULL);
-		virtual void remove();
+		Common::String getClassName() override { return "Scene910_object29"; }
+		void postInit(SceneObjectList *OwnerList = NULL) override;
+		void remove() override;
 	};
 
 	/* Items */
 	class Generator: public NamedHotspot {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class Item2: public NamedHotspot {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class Item3: public NamedHotspot {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class Item9: public NamedHotspot {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class Item15: public NamedHotspot {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class Item16: public NamedHotspot {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class Item17: public NamedHotspot {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 
 	int _sceneSubMode, _breakerButtonCtr, _field2DE0, _field2DE2, _field2DE4;
@@ -289,13 +289,13 @@ public:
 	Item17 _item17;
 	ASoundExt _sound1, _sound2;
 
-	virtual void postInit(SceneObjectList *OwnerList = NULL);
-	virtual void synchronize(Serializer &s);
-	virtual void remove();
-	virtual void signal();
-	virtual void process(Event &event);
-	virtual void dispatch();
-	virtual void checkGun();
+	void postInit(SceneObjectList *OwnerList = NULL) override;
+	void synchronize(Serializer &s) override;
+	void remove() override;
+	void signal() override;
+	void process(Event &event) override;
+	void dispatch() override;
+	void checkGun() override;
 	void openHiddenDoor();
 	void closeHiddenDoor();
 };
@@ -304,11 +304,11 @@ class Scene920: public SceneExt {
 	/* Items */
 	class Item1: public NamedHotspot {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class Item8: public NamedHotspot {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 
 public:
@@ -329,54 +329,54 @@ public:
 	Item8 _exitN;
 	Common::Point _oldCoord;
 
-	virtual void postInit(SceneObjectList *OwnerList = NULL);
-	virtual void signal();
-	virtual void process(Event &event);
-	virtual void dispatch();
-	virtual void synchronize(Serializer &s);
+	void postInit(SceneObjectList *OwnerList = NULL) override;
+	void signal() override;
+	void process(Event &event) override;
+	void dispatch() override;
+	void synchronize(Serializer &s) override;
 };
 
 class Scene930: public PalettedScene {
 	/* Objects */
 	class Object1: public NamedObject {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class Object2: public FocusObject {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class Object3: public NamedObject {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class Object4: public FocusObject {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
-		virtual void remove();
+		bool startAction(CursorType action, Event &event) override;
+		void remove() override;
 	};
 	class Object5: public FocusObject {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
-		virtual void remove();
+		bool startAction(CursorType action, Event &event) override;
+		void remove() override;
 	};
 	/* Items */
 	class Item1: public NamedHotspot {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	/* Actions */
 	class Action1 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action2 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action3 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 
 	void showBootInset();
@@ -421,17 +421,17 @@ public:
 	bool _soleOpened;
 	int _bootInsetDisplayed;
 
-	virtual void postInit(SceneObjectList *OwnerList = NULL);
-	virtual void signal();
-	virtual void dispatch();
-	virtual void synchronize(Serializer &s);
+	void postInit(SceneObjectList *OwnerList = NULL) override;
+	void signal() override;
+	void dispatch() override;
+	void synchronize(Serializer &s) override;
 };
 
 class Scene935: public PalettedScene {
 	/* Actions */
 	class Action1 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 
 public:
@@ -442,22 +442,22 @@ public:
 	Action1 _action1;
 	VisualSpeaker _visualSpeaker;
 
-	virtual void postInit(SceneObjectList *OwnerList = NULL);
-	virtual void remove();
-	virtual void signal();
-	virtual void dispatch();
+	void postInit(SceneObjectList *OwnerList = NULL) override;
+	void remove() override;
+	void signal() override;
+	void dispatch() override;
 };
 
 class Scene940: public SceneExt {
 	/* Items */
 	class Item1: public NamedHotspot {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	/* Actions */
 	class Action1 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 
 public:
@@ -489,8 +489,8 @@ public:
 	SpeakerGameText _gameTextSpeaker1;
 	SpeakerGameText _gameTextSpeaker2;
 
-	virtual void postInit(SceneObjectList *OwnerList = NULL);
-	virtual void remove();
+	void postInit(SceneObjectList *OwnerList = NULL) override;
+	void remove() override;
 };
 
 } // End of namespace BlueForce
diff --git a/engines/tsage/blue_force/blueforce_speakers.h b/engines/tsage/blue_force/blueforce_speakers.h
index dfe6f51..edfc706 100644
--- a/engines/tsage/blue_force/blueforce_speakers.h
+++ b/engines/tsage/blue_force/blueforce_speakers.h
@@ -48,309 +48,309 @@ public:
 public:
 	VisualSpeaker();
 
-	virtual Common::String getClassName() { return "VisualSpeaker"; }
-	virtual void synchronize(Serializer &s);
-	virtual void remove();
-	virtual void startSpeaking(Action *action);
-	virtual void setText(const Common::String &msg);
+	Common::String getClassName() override { return "VisualSpeaker"; }
+	void synchronize(Serializer &s) override;
+	void remove() override;
+	void startSpeaking(Action *action) override;
+	void setText(const Common::String &msg) override;
 };
 
 class SpeakerGameText: public VisualSpeaker {
 public:
 	SpeakerGameText();
 
-	virtual Common::String getClassName() { return "SpeakerGameText"; }
+	Common::String getClassName() override { return "SpeakerGameText"; }
 };
 
 class SpeakerSutter: public VisualSpeaker {
 public:
 	SpeakerSutter();
 
-	virtual Common::String getClassName() { return "SpeakerSutter"; }
-	virtual void setText(const Common::String &msg);
+	Common::String getClassName() override { return "SpeakerSutter"; }
+	void setText(const Common::String &msg) override;
 };
 
 class SpeakerDoug: public VisualSpeaker {
 public:
 	SpeakerDoug();
 
-	virtual Common::String getClassName() { return "SpeakerDoug"; }
+	Common::String getClassName() override { return "SpeakerDoug"; }
 };
 
 class SpeakerJakeNoHead: public VisualSpeaker {
 public:
 	SpeakerJakeNoHead();
 
-	virtual Common::String getClassName() { return "SpeakerJakeNoHead"; }
+	Common::String getClassName() override { return "SpeakerJakeNoHead"; }
 };
 
 class SpeakerHarrison: public VisualSpeaker {
 public:
 	SpeakerHarrison();
 
-	virtual Common::String getClassName() { return "SpeakerHarrison"; }
-	virtual void setText(const Common::String &msg);
+	Common::String getClassName() override { return "SpeakerHarrison"; }
+	void setText(const Common::String &msg) override;
 };
 
 class SpeakerJake: public VisualSpeaker {
 public:
 	SpeakerJake();
 
-	virtual Common::String getClassName() { return "SpeakerJake"; }
-	virtual void setText(const Common::String &msg);
+	Common::String getClassName() override { return "SpeakerJake"; }
+	void setText(const Common::String &msg) override;
 };
 
 class SpeakerJakeJacket: public VisualSpeaker {
 public:
 	SpeakerJakeJacket();
 
-	virtual Common::String getClassName() { return "SpeakerJakeJacket"; }
-	virtual void setText(const Common::String &msg);
+	Common::String getClassName() override { return "SpeakerJakeJacket"; }
+	void setText(const Common::String &msg) override;
 };
 
 class SpeakerJakeUniform: public VisualSpeaker {
 public:
 	SpeakerJakeUniform();
 
-	virtual Common::String getClassName() { return "SpeakerJakeUniform"; }
-	virtual void setText(const Common::String &msg);
+	Common::String getClassName() override { return "SpeakerJakeUniform"; }
+	void setText(const Common::String &msg) override;
 };
 
 class SpeakerJailer: public VisualSpeaker {
 public:
 	SpeakerJailer();
 
-	virtual Common::String getClassName() { return "SpeakerJailer"; }
-	virtual void setText(const Common::String &msg);
+	Common::String getClassName() override { return "SpeakerJailer"; }
+	void setText(const Common::String &msg) override;
 };
 
 class SpeakerGreen: public VisualSpeaker {
 public:
 	SpeakerGreen();
 
-	virtual Common::String getClassName() { return "SpeakerGreen"; }
-	virtual void setText(const Common::String &msg);
+	Common::String getClassName() override { return "SpeakerGreen"; }
+	void setText(const Common::String &msg) override;
 };
 
 class SpeakerPSutter: public VisualSpeaker {
 public:
 	SpeakerPSutter();
 
-	virtual Common::String getClassName() { return "SpeakerPSutter"; }
-	virtual void setText(const Common::String &msg);
+	Common::String getClassName() override { return "SpeakerPSutter"; }
+	void setText(const Common::String &msg) override;
 };
 
 class SpeakerJakeRadio: public VisualSpeaker {
 public:
 	SpeakerJakeRadio();
 
-	virtual Common::String getClassName() { return "SpeakerJakeRadio"; }
+	Common::String getClassName() override { return "SpeakerJakeRadio"; }
 };
 
 class SpeakerLyleHat: public VisualSpeaker {
 public:
 	SpeakerLyleHat();
 
-	virtual Common::String getClassName() { return "SpeakerLyleHat"; }
-	virtual void setText(const Common::String &msg);
+	Common::String getClassName() override { return "SpeakerLyleHat"; }
+	void setText(const Common::String &msg) override;
 };
 
 class SpeakerJordan: public VisualSpeaker {
 public:
 	SpeakerJordan();
 
-	virtual Common::String getClassName() { return "SpeakerJordan"; }
-	virtual void setText(const Common::String &msg);
+	Common::String getClassName() override { return "SpeakerJordan"; }
+	void setText(const Common::String &msg) override;
 };
 
 class SpeakerSkip: public VisualSpeaker {
 public:
 	SpeakerSkip();
 
-	virtual Common::String getClassName() { return "SpeakerSkip"; }
-	virtual void setText(const Common::String &msg);
+	Common::String getClassName() override { return "SpeakerSkip"; }
+	void setText(const Common::String &msg) override;
 };
 
 class SpeakerSkipB: public VisualSpeaker {
 public:
 	SpeakerSkipB();
 
-	virtual Common::String getClassName() { return "SpeakerSkipB"; }
-	virtual void setText(const Common::String &msg);
+	Common::String getClassName() override { return "SpeakerSkipB"; }
+	void setText(const Common::String &msg) override;
 };
 
 class SpeakerCarter: public VisualSpeaker {
 public:
 	SpeakerCarter();
 
-	virtual Common::String getClassName() { return "SpeakerCarter"; }
-	virtual void setText(const Common::String &msg);
+	Common::String getClassName() override { return "SpeakerCarter"; }
+	void setText(const Common::String &msg) override;
 };
 
 class SpeakerDriver: public VisualSpeaker {
 public:
 	SpeakerDriver();
 
-	virtual Common::String getClassName() { return "SpeakerDriver"; }
-	virtual void setText(const Common::String &msg);
+	Common::String getClassName() override { return "SpeakerDriver"; }
+	void setText(const Common::String &msg) override;
 };
 
 class SpeakerShooter: public VisualSpeaker {
 public:
 	SpeakerShooter();
 
-	virtual Common::String getClassName() { return "SpeakerShooter"; }
-	virtual void setText(const Common::String &msg);
+	Common::String getClassName() override { return "SpeakerShooter"; }
+	void setText(const Common::String &msg) override;
 };
 
 class SpeakerJim: public VisualSpeaker {
 public:
 	SpeakerJim();
 
-	virtual Common::String getClassName() { return "SpeakerJim"; }
-	virtual void setText(const Common::String &msg);
+	Common::String getClassName() override { return "SpeakerJim"; }
+	void setText(const Common::String &msg) override;
 };
 
 class SpeakerDezi: public VisualSpeaker {
 public:
 	SpeakerDezi();
 
-	virtual Common::String getClassName() { return "SpeakerDezi"; }
-	virtual void setText(const Common::String &msg);
+	Common::String getClassName() override { return "SpeakerDezi"; }
+	void setText(const Common::String &msg) override;
 };
 
 class SpeakerJake385: public VisualSpeaker {
 public:
 	SpeakerJake385();
 
-	virtual Common::String getClassName() { return "SpeakerJake385"; }
-	virtual void setText(const Common::String &msg);
+	Common::String getClassName() override { return "SpeakerJake385"; }
+	void setText(const Common::String &msg) override;
 };
 
 class SpeakerLaura: public VisualSpeaker {
 public:
 	SpeakerLaura();
 
-	virtual Common::String getClassName() { return "SpeakerLaura"; }
-	virtual void setText(const Common::String &msg);
+	Common::String getClassName() override { return "SpeakerLaura"; }
+	void setText(const Common::String &msg) override;
 };
 
 class SpeakerLauraHeld: public VisualSpeaker {
 public:
 	SpeakerLauraHeld();
 
-	virtual Common::String getClassName() { return "SpeakerLaura"; }
-	virtual void setText(const Common::String &msg);
+	Common::String getClassName() override { return "SpeakerLaura"; }
+	void setText(const Common::String &msg) override;
 };
 
 class SpeakerEugene: public VisualSpeaker {
 public:
 	SpeakerEugene();
 
-	virtual Common::String getClassName() { return "SpeakerEugene"; }
-	virtual void setText(const Common::String &msg);
+	Common::String getClassName() override { return "SpeakerEugene"; }
+	void setText(const Common::String &msg) override;
 };
 
 class SpeakerWeasel: public VisualSpeaker {
 public:
 	SpeakerWeasel();
 
-	virtual Common::String getClassName() { return "SpeakerWeasel"; }
-	virtual void setText(const Common::String &msg);
+	Common::String getClassName() override { return "SpeakerWeasel"; }
+	void setText(const Common::String &msg) override;
 };
 
 class SpeakerBilly: public VisualSpeaker {
 public:
 	SpeakerBilly();
 
-	virtual Common::String getClassName() { return "SpeakerBilly"; }
-	virtual void setText(const Common::String &msg);
+	Common::String getClassName() override { return "SpeakerBilly"; }
+	void setText(const Common::String &msg) override;
 };
 
 class SpeakerDrunk: public VisualSpeaker {
 public:
 	SpeakerDrunk();
 
-	virtual Common::String getClassName() { return "SpeakerDrunk"; }
-	virtual void setText(const Common::String &msg);
+	Common::String getClassName() override { return "SpeakerDrunk"; }
+	void setText(const Common::String &msg) override;
 };
 
 class SpeakerGiggles: public VisualSpeaker {
 public:
 	SpeakerGiggles();
 
-	virtual Common::String getClassName() { return "SpeakerGiggles"; }
-	virtual void setText(const Common::String &msg);
+	Common::String getClassName() override { return "SpeakerGiggles"; }
+	void setText(const Common::String &msg) override;
 };
 
 class SpeakerFBI: public VisualSpeaker {
 public:
 	SpeakerFBI();
 
-	virtual Common::String getClassName() { return "FBI"; }
-	virtual void setText(const Common::String &msg);
+	Common::String getClassName() override { return "FBI"; }
+	void setText(const Common::String &msg) override;
 };
 
 class SpeakerNico: public VisualSpeaker {
 public:
 	SpeakerNico();
 
-	virtual Common::String getClassName() { return "NICO"; }
-	virtual void setText(const Common::String &msg);
+	Common::String getClassName() override { return "NICO"; }
+	void setText(const Common::String &msg) override;
 };
 
 class SpeakerDA: public VisualSpeaker {
 public:
 	SpeakerDA();
 
-	virtual Common::String getClassName() { return "DA"; }
-	virtual void setText(const Common::String &msg);
+	Common::String getClassName() override { return "DA"; }
+	void setText(const Common::String &msg) override;
 };
 
 class SpeakerGrandma: public VisualSpeaker {
 public:
 	SpeakerGrandma();
 
-	virtual Common::String getClassName() { return "SpeakerGrandma"; }
-	virtual void setText(const Common::String &msg);
+	Common::String getClassName() override { return "SpeakerGrandma"; }
+	void setText(const Common::String &msg) override;
 };
 
 class SpeakerLyle: public VisualSpeaker {
 public:
 	SpeakerLyle();
 
-	virtual Common::String getClassName() { return "SpeakerLyle"; }
-	virtual void setText(const Common::String &msg);
+	Common::String getClassName() override { return "SpeakerLyle"; }
+	void setText(const Common::String &msg) override;
 };
 
 class SpeakerGranText: public VisualSpeaker {
 public:
 	SpeakerGranText();
 
-	virtual Common::String getClassName() { return "SpeakerGranText"; }
+	Common::String getClassName() override { return "SpeakerGranText"; }
 };
 
 class SpeakerLyleText: public VisualSpeaker {
 public:
 	SpeakerLyleText();
 
-	virtual Common::String getClassName() { return "SpeakerLyleText"; }
+	Common::String getClassName() override { return "SpeakerLyleText"; }
 };
 
 class SpeakerKate: public VisualSpeaker {
 public:
 	SpeakerKate();
 
-	virtual Common::String getClassName() { return "SpeakerKate"; }
-	virtual void setText(const Common::String &msg);
+	Common::String getClassName() override { return "SpeakerKate"; }
+	void setText(const Common::String &msg) override;
 };
 
 class SpeakerTony: public VisualSpeaker {
 public:
 	SpeakerTony();
 
-	virtual Common::String getClassName() { return "SpeakerTony"; }
-	virtual void setText(const Common::String &msg);
+	Common::String getClassName() override { return "SpeakerTony"; }
+	void setText(const Common::String &msg) override;
 };
 } // End of namespace BlueForce
 
diff --git a/engines/tsage/converse.h b/engines/tsage/converse.h
index 3f4d14f..3c4cae6 100644
--- a/engines/tsage/converse.h
+++ b/engines/tsage/converse.h
@@ -60,12 +60,12 @@ public:
 public:
 	SequenceManager();
 
-	virtual Common::String getClassName() { return "SequenceManager"; }
-	virtual void synchronize(Serializer &s);
-	virtual void remove();
-	virtual void signal();
-	virtual void process(Event &event);
-	virtual void attached(EventHandler *newOwner, EventHandler *endHandler, va_list va);
+	Common::String getClassName() override { return "SequenceManager"; }
+	void synchronize(Serializer &s) override;
+	void remove() override;
+	void signal() override;
+	void process(Event &event) override;
+	void attached(EventHandler *newOwner, EventHandler *endHandler, va_list va) override;
 };
 
 
@@ -88,9 +88,9 @@ public:
 public:
 	Speaker();
 
-	virtual Common::String getClassName() { return "Speaker"; }
-	virtual void synchronize(Serializer &s);
-	virtual void remove();
+	Common::String getClassName() override { return "Speaker"; }
+	void synchronize(Serializer &s) override;
+	void remove() override;
 	virtual void startSpeaking(Action *action);
 	virtual void setText(const Common::String &msg);
 	virtual void removeText();
@@ -103,7 +103,7 @@ class SpeakerGameText : public Speaker {
 public:
 	SpeakerGameText();
 
-	virtual Common::String getClassName() { return "SpeakerGameText"; }
+	Common::String getClassName() override { return "SpeakerGameText"; }
 };
 
 class ScreenSpeaker : public Speaker {
@@ -112,15 +112,15 @@ public:
 public:
 	ScreenSpeaker();
 
-	virtual Common::String getClassName() { return "ScreenSpeaker"; }
-	virtual void setText(const Common::String &msg);
+	Common::String getClassName() override { return "ScreenSpeaker"; }
+	void setText(const Common::String &msg) override;
 };
 
 class SpeakerAction : public Action {
 public:
-	virtual void signal();
+	void signal() override;
 
-	virtual Common::String getClassName() { return "SpeakerAction"; }
+	Common::String getClassName() override { return "SpeakerAction"; }
 };
 
 class AnimatedSpeaker : public Speaker {
@@ -129,8 +129,8 @@ public:
 	SceneObject _object2;
 	SpeakerAction _speakerAction;
 public:
-	virtual Common::String getClassName() { return "AnimatedSpeaker"; }
-	virtual void removeText();
+	Common::String getClassName() override { return "AnimatedSpeaker"; }
+	void removeText() override;
 };
 
 class ChoiceEntry {
@@ -168,7 +168,7 @@ public:
 	void setFontNumber(int fontNum) { _fontNumber = fontNum; }
 	int execute(const Common::StringArray &choiceList);
 
-	virtual void draw();
+	void draw() override;
 };
 
 class Obj0A : public Serialisable {
@@ -176,7 +176,7 @@ public:
 	int _id;
 	uint _scriptOffset;
 
-	virtual void synchronize(Serializer &s) {
+	void synchronize(Serializer &s) override {
 		s.syncAsSint32LE(_id);
 		s.syncAsUint32LE(_scriptOffset);
 	}
@@ -199,7 +199,7 @@ public:
 	int _field16[11];
 public:
 	void load(const byte *dataP);
-	virtual void synchronize(Serializer &s);
+	void synchronize(Serializer &s) override;
 };
 
 typedef void (*StripProc)();
@@ -233,13 +233,13 @@ public:
 	byte *_lookupList;
 public:
 	StripManager();
-	virtual ~StripManager();
+	~StripManager() override;
 
-	virtual void synchronize(Serializer &s);
-	virtual void remove();
-	virtual void dispatch();
-	virtual void signal();
-	virtual void process(Event &event);
+	void synchronize(Serializer &s) override;
+	void remove() override;
+	void dispatch() override;
+	void signal() override;
+	void process(Event &event) override;
 
 	void start(int stripNum, EventHandler *owner, StripCallback *callback = NULL);
 	void start3(int stripNum, EventHandler *owner, byte *lookupList);
diff --git a/engines/tsage/core.h b/engines/tsage/core.h
index 1cee491..15fd5c2 100644
--- a/engines/tsage/core.h
+++ b/engines/tsage/core.h
@@ -67,8 +67,8 @@ public:
 	bool inInventory() const;
 	void setCursor();
 
-	virtual Common::String getClassName() { return "InvObject"; }
-	virtual void synchronize(Serializer &s) {
+	Common::String getClassName() override { return "InvObject"; }
+	void synchronize(Serializer &s) override {
 		s.syncAsUint16LE(_sceneNumber);
 	}
 };
@@ -83,8 +83,8 @@ public:
 	InvObject *getItem(int objectNum);
 	int getObjectScene(int objectNum);
 
-	virtual Common::String getClassName() { return "InvObjectList"; }
-	virtual void synchronize(Serializer &s);
+	Common::String getClassName() override { return "InvObjectList"; }
+	void synchronize(Serializer &s) override;
 };
 
 /*--------------------------------------------------------------------------*/
@@ -97,7 +97,7 @@ private:
 	int _ctr;
 public:
 	RefCounter() { clear(); }
-	virtual ~RefCounter() {}
+	~RefCounter() override {}
 
 	RefCounter(int v) { _ctr = v; }
 
@@ -110,7 +110,7 @@ public:
 	int incCtr() { return ++_ctr; }
 	int getCtr() const { return _ctr; }
 
-	virtual void synchronize(Serializer &s) { s.syncAsSint16LE(_ctr); }
+	void synchronize(Serializer &s) override { s.syncAsSint16LE(_ctr); }
 };
 
 class EventHandler : public SavedObject {
@@ -118,10 +118,10 @@ public:
 	Action *_action;
 
 	EventHandler() : SavedObject() { _action = NULL; }
-	virtual ~EventHandler() { destroy(); }
+	~EventHandler() override { destroy(); }
 
-	virtual void synchronize(Serializer &s) { SYNC_POINTER(_action); }
-	virtual Common::String getClassName() { return "EventHandler"; }
+	void synchronize(Serializer &s) override { SYNC_POINTER(_action); }
+	Common::String getClassName() override { return "EventHandler"; }
 	virtual void postInit(SceneObjectList *OwnerList = NULL) {}
 	virtual void remove() {}
 	virtual void signal() {}
@@ -143,11 +143,11 @@ public:
 
 	Action();
 
-	virtual void synchronize(Serializer &s);
-	virtual Common::String getClassName() { return "Action"; }
-	virtual void remove();
-	virtual void process(Event &event);
-	virtual void dispatch();
+	void synchronize(Serializer &s) override;
+	Common::String getClassName() override { return "Action"; }
+	void remove() override;
+	void process(Event &event) override;
+	void dispatch() override;
 	virtual void attached(EventHandler *newOwner, EventHandler *endHandler, va_list va);
 
 	void attach(EventHandler *newOwner, EventHandler *endHandler, ...) {
@@ -190,12 +190,12 @@ public:
 	SceneObject *_sceneObject;
 public:
 	ObjectMover() { _action = NULL; _sceneObject = NULL; _minorDiff = 0; _majorDiff = 0; _changeCtr = 0;}
-	virtual ~ObjectMover();
+	~ObjectMover() override;
 
-	virtual void synchronize(Serializer &s);
-	virtual Common::String getClassName() { return "ObjectMover"; }
-	virtual void remove();
-	virtual void dispatch();
+	void synchronize(Serializer &s) override;
+	Common::String getClassName() override { return "ObjectMover"; }
+	void remove() override;
+	void dispatch() override;
 	virtual void startMove(SceneObject *sceneObj, va_list va) {}
 	virtual void setup(const Common::Point &destPos);
 	virtual bool dontMove() const;
@@ -209,27 +209,27 @@ public:
 	int _maxArea;
 public:
 	ObjectMover2();
-	virtual ~ObjectMover2() {}
+	~ObjectMover2() override {}
 
-	virtual void synchronize(Serializer &s);
-	virtual Common::String getClassName() { return "ObjectMover2"; }
-	virtual void dispatch();
-	virtual void startMove(SceneObject *sceneObj, va_list va);
-	virtual void endMove();
+	void synchronize(Serializer &s) override;
+	Common::String getClassName() override { return "ObjectMover2"; }
+	void dispatch() override;
+	void startMove(SceneObject *sceneObj, va_list va) override;
+	void endMove() override;
 };
 
 class ObjectMover3 : public ObjectMover2 {
 public:
-	virtual Common::String getClassName() { return "ObjectMover3"; }
-	virtual void dispatch();
-	virtual void startMove(SceneObject *sceneObj, va_list va);
-	virtual void endMove();
+	Common::String getClassName() override { return "ObjectMover3"; }
+	void dispatch() override;
+	void startMove(SceneObject *sceneObj, va_list va) override;
+	void endMove() override;
 };
 
 class NpcMover : public ObjectMover {
 public:
-	virtual Common::String getClassName() { return "NpcMover"; }
-	virtual void startMove(SceneObject *sceneObj, va_list va);
+	Common::String getClassName() override { return "NpcMover"; }
+	void startMove(SceneObject *sceneObj, va_list va) override;
 };
 
 #define MAX_ROUTE_SIZE 20
@@ -261,10 +261,10 @@ public:
 	Common::Point _routeList[MAX_ROUTE_SIZE];
 	int _routeIndex;
 
-	virtual void synchronize(Serializer &s);
-	virtual Common::String getClassName() { return "PlayerMover"; }
-	virtual void startMove(SceneObject *sceneObj, va_list va);
-	virtual void endMove();
+	void synchronize(Serializer &s) override;
+	Common::String getClassName() override { return "PlayerMover"; }
+	void startMove(SceneObject *sceneObj, va_list va) override;
+	void endMove() override;
 };
 
 class PlayerMover2 : public PlayerMover {
@@ -274,11 +274,11 @@ public:
 	int _minArea;
 	PlayerMover2() : PlayerMover() { _destObject = NULL; _minArea = _maxArea = 0;}
 
-	virtual void synchronize(Serializer &s);
-	virtual Common::String getClassName() { return "PlayerMover2"; }
-	virtual void dispatch();
-	virtual void startMove(SceneObject *sceneObj, va_list va);
-	virtual void endMove();
+	void synchronize(Serializer &s) override;
+	Common::String getClassName() override { return "PlayerMover2"; }
+	void dispatch() override;
+	void startMove(SceneObject *sceneObj, va_list va) override;
+	void endMove() override;
 };
 
 /*--------------------------------------------------------------------------*/
@@ -292,7 +292,7 @@ public:
 public:
 	PaletteModifier();
 
-	virtual void synchronize(Serializer &s) {
+	void synchronize(Serializer &s) override {
 		SYNC_POINTER(_scenePalette);
 		SYNC_POINTER(_action);
 	}
@@ -309,8 +309,8 @@ public:
 	PaletteModifierCached();
 
 	virtual void setPalette(ScenePalette *palette, int step);
-	virtual Common::String getClassName() { return "PaletteModifierCached"; }
-	virtual void synchronize(Serializer &s);
+	Common::String getClassName() override { return "PaletteModifierCached"; }
+	void synchronize(Serializer &s) override;
 };
 
 class PaletteRotation: public PaletteModifierCached {
@@ -327,10 +327,10 @@ public:
 public:
 	PaletteRotation();
 
-	virtual Common::String getClassName() { return "PaletteRotation"; }
-	virtual void synchronize(Serializer &s);
-	virtual void signal();
-	virtual void remove();
+	Common::String getClassName() override { return "PaletteRotation"; }
+	void synchronize(Serializer &s) override;
+	void signal() override;
+	void remove() override;
 
 	void setStep(int step) { _step = step; }
 	void set(ScenePalette *palette, int start, int end, int rotationMode, int duration, Action *action);
@@ -342,11 +342,11 @@ class PaletteFader: public PaletteModifierCached {
 public:
 	byte _palette[256 * 3];
 public:
-	virtual Common::String getClassName() { return "PaletteFader"; }
-	virtual void synchronize(Serializer &s);
-	virtual void signal();
-	virtual void remove();
-	virtual void setPalette(ScenePalette *palette, int step);
+	Common::String getClassName() override { return "PaletteFader"; }
+	void synchronize(Serializer &s) override;
+	void signal() override;
+	void remove() override;
+	void setPalette(ScenePalette *palette, int step) override;
 };
 
 /*--------------------------------------------------------------------------*/
@@ -368,7 +368,7 @@ public:
 public:
 	ScenePalette();
 	ScenePalette(int paletteNum);
-	~ScenePalette();
+	~ScenePalette() override;
 
 	bool loadPalette(int paletteNum);
 	void loadPalette(const byte *pSrc, int start, int count);
@@ -387,8 +387,8 @@ public:
 
 	static void changeBackground(const Rect &bounds, FadeMode fadeMode);
 
-	virtual void synchronize(Serializer &s);
-	virtual Common::String getClassName() { return "ScenePalette"; }
+	void synchronize(Serializer &s) override;
+	Common::String getClassName() override { return "ScenePalette"; }
 };
 
 // DisplayParamType constant set. This must not be an enum
@@ -415,10 +415,10 @@ public:
 public:
 	SceneItem() : EventHandler() { _msg = "Feature"; _action = NULL; _sceneRegionId = 0; _yDiff = 0;}
 
-	virtual void synchronize(Serializer &s);
-	virtual Common::String getClassName() { return "SceneItem"; }
-	virtual void remove();
-	virtual void destroy() {}
+	void synchronize(Serializer &s) override;
+	Common::String getClassName() override { return "SceneItem"; }
+	void remove() override;
+	void destroy() override {}
 	virtual bool startAction(CursorType action, Event &event);
 	virtual void doAction(int action);
 
@@ -434,8 +434,8 @@ class SceneItemExt : public SceneItem {
 public:
 	int _state;
 
-	virtual Common::String getClassName() { return "SceneItemExt"; }
-	virtual void synchronize(Serializer &s) {
+	Common::String getClassName() override { return "SceneItemExt"; }
+	void synchronize(Serializer &s) override {
 		SceneItem::synchronize(s);
 		s.syncAsSint16LE(_state);
 	}
@@ -446,10 +446,10 @@ public:
 	int _resNum, _lookLineNum, _useLineNum, _talkLineNum;
 public:
 	SceneHotspot();
-	virtual void synchronize(Serializer &s);
-	virtual bool startAction(CursorType action, Event &event);
-	virtual Common::String getClassName() { return "SceneHotspot"; }
-	virtual void doAction(int action);
+	void synchronize(Serializer &s) override;
+	bool startAction(CursorType action, Event &event) override;
+	Common::String getClassName() override { return "SceneHotspot"; }
+	void doAction(int action) override;
 
 	void setDetails(int ys, int xs, int ye, int xe, const int resnum, const int lookLineNum, const int useLineNum);
 	void setDetails(const Rect &bounds, int resNum, int lookLineNum, int talkLineNum, int useLineNum, int mode, SceneItem *item);
@@ -499,15 +499,15 @@ public:
 	SceneObject *_sceneObject;
 public:
 	SceneObjectWrapper() { _sceneObject = NULL; }
-	virtual ~SceneObjectWrapper() {}
+	~SceneObjectWrapper() override {}
 
 	void setSceneObject(SceneObject *so);
 	void check();
 
-	virtual void synchronize(Serializer &s);
-	virtual Common::String getClassName() { return "SceneObjectWrapper"; }
-	virtual void remove();
-	virtual void dispatch();
+	void synchronize(Serializer &s) override;
+	Common::String getClassName() override { return "SceneObjectWrapper"; }
+	void remove() override;
+	void dispatch() override;
 };
 
 enum ObjectFlags {OBJFLAG_FIXED_PRIORITY = 1, OBJFLAG_NO_UPDATES = 2, OBJFLAG_ZOOMED = 4,
@@ -559,7 +559,7 @@ public:
 public:
 	SceneObject();
 	SceneObject(const SceneObject &so);
-	virtual ~SceneObject();
+	~SceneObject() override;
 
 	void setPosition(const Common::Point &p, int yDiff = 0);
 	void setStrip(int frameNum);
@@ -586,12 +586,12 @@ public:
 	int getFrameCount();
 	bool isNoMover() const { return !_mover || (_regionIndex > 0); }
 
-	virtual void synchronize(Serializer &s);
-	virtual Common::String getClassName() { return "SceneObject"; }
-	virtual void postInit(SceneObjectList *OwnerList = NULL);
-	virtual void remove();
-	virtual void process(Event &event) { event.handled = true; }
-	virtual void dispatch();
+	void synchronize(Serializer &s) override;
+	Common::String getClassName() override { return "SceneObject"; }
+	void postInit(SceneObjectList *OwnerList = NULL) override;
+	void remove() override;
+	void process(Event &event) override { event.handled = true; }
+	void dispatch() override;
 	virtual void calcAngle(const Common::Point &pt);
 	virtual void removeObject();
 	virtual GfxSurface getFrame();
@@ -612,10 +612,10 @@ public:
 
 class BackgroundSceneObject: public SceneObject {
 public:
-	virtual Common::String getClassName() { return "BackgroundSceneObject"; }
-	virtual void postInit(SceneObjectList *OwnerList = NULL);
-	virtual void draw();
-	virtual SceneObject *clone() const;
+	Common::String getClassName() override { return "BackgroundSceneObject"; }
+	void postInit(SceneObjectList *OwnerList = NULL) override;
+	void draw() override;
+	SceneObject *clone() const override;
 
 	void setup2(int visage, int stripFrameNum, int frameNum, int posX, int posY, int priority, int effect);
 	static void copySceneToBackground();
@@ -632,14 +632,14 @@ public:
 	GfxSurface _textSurface;
 public:
 	SceneText();
-	~SceneText();
+	~SceneText() override;
 
 	void setup(const Common::String &msg);
 
-	virtual void synchronize(Serializer &s);
-	virtual Common::String getClassName() { return "SceneText"; }
-	virtual GfxSurface getFrame() { return _textSurface; }
-	virtual void updateScreen();
+	void synchronize(Serializer &s) override;
+	Common::String getClassName() override { return "SceneText"; }
+	GfxSurface getFrame() override { return _textSurface; }
+	void updateScreen() override;
 };
 
 #define MAX_CHARACTERS 4
@@ -661,10 +661,10 @@ public:
 public:
 	Player();
 
-	virtual Common::String getClassName() { return "Player"; }
-	virtual void synchronize(Serializer &s);
-	virtual void postInit(SceneObjectList *OwnerList = NULL);
-	virtual void process(Event &event);
+	Common::String getClassName() override { return "Player"; }
+	void synchronize(Serializer &s) override;
+	void postInit(SceneObjectList *OwnerList = NULL) override;
+	void process(Event &event) override;
 
 	void disableControl();
 	void enableControl();
@@ -742,8 +742,8 @@ public:
 	SceneObjectList() { _listAltered = false; }
 	void sortList(Common::Array<SceneObject *> &ObjList);
 
-	virtual Common::String getClassName() { return "SceneObjectList"; }
-	virtual void synchronize(Serializer &s);
+	Common::String getClassName() override { return "SceneObjectList"; }
+	void synchronize(Serializer &s) override;
 
 	void draw();
 	void activate();
@@ -882,13 +882,13 @@ public:
 	int _nextWaitCtr;
 public:
 	GameHandler();
-	virtual ~GameHandler();
+	~GameHandler() override;
 	void execute();
 
-	virtual void synchronize(Serializer &s);
-	virtual Common::String getClassName() { return "GameHandler"; }
-	virtual void postInit(SceneObjectList *OwnerList = NULL) {}
-	virtual void dispatch() {}
+	void synchronize(Serializer &s) override;
+	Common::String getClassName() override { return "GameHandler"; }
+	void postInit(SceneObjectList *OwnerList = NULL) override {}
+	void dispatch() override {}
 };
 
 class SceneHandler : public GameHandler {
@@ -907,10 +907,10 @@ public:
 	void registerHandler();
 	uint32 getFrameDifference();
 
-	virtual Common::String getClassName() { return "SceneHandler"; }
-	virtual void postInit(SceneObjectList *OwnerList = NULL);
-	virtual void process(Event &event);
-	virtual void dispatch();
+	Common::String getClassName() override { return "SceneHandler"; }
+	void postInit(SceneObjectList *OwnerList = NULL) override;
+	void process(Event &event) override;
+	void dispatch() override;
 
 	static void dispatchObject(EventHandler *obj);
 	static void saveListener(Serializer &ser);
diff --git a/engines/tsage/debugger.h b/engines/tsage/debugger.h
index b0f4c66..b10ea3a 100644
--- a/engines/tsage/debugger.h
+++ b/engines/tsage/debugger.h
@@ -31,7 +31,7 @@ namespace TsAGE {
 class Debugger : public GUI::Debugger {
 public:
 	Debugger();
-	virtual ~Debugger() {}  // we need this for __SYMBIAN32__ archaic gcc/UIQ
+	~Debugger() override {}  // we need this for __SYMBIAN32__ archaic gcc/UIQ
 
 protected:
 	bool Cmd_Scene(int argc, const char **argv);
@@ -50,27 +50,27 @@ protected:
 
 class DemoDebugger : public Debugger {
 protected:
-	virtual bool Cmd_ListObjects(int argc, const char **argv);
-	virtual bool Cmd_MoveObject(int argc, const char **argv);
+	bool Cmd_ListObjects(int argc, const char **argv) override;
+	bool Cmd_MoveObject(int argc, const char **argv) override;
 };
 
 class RingworldDebugger : public Debugger {
 protected:
-	virtual bool Cmd_ListObjects(int argc, const char **argv);
-	virtual bool Cmd_MoveObject(int argc, const char **argv);
+	bool Cmd_ListObjects(int argc, const char **argv) override;
+	bool Cmd_MoveObject(int argc, const char **argv) override;
 };
 
 class BlueForceDebugger : public Debugger {
 protected:
-	virtual bool Cmd_ListObjects(int argc, const char **argv);
-	virtual bool Cmd_MoveObject(int argc, const char **argv);
+	bool Cmd_ListObjects(int argc, const char **argv) override;
+	bool Cmd_MoveObject(int argc, const char **argv) override;
 };
 
 class Ringworld2Debugger : public Debugger {
 protected:
-	virtual bool Cmd_ListObjects(int argc, const char **argv);
-	virtual bool Cmd_MoveObject(int argc, const char **argv);
-	virtual bool Cmd_SetOutpostAlphaDebug(int argc, const char **argv);
+	bool Cmd_ListObjects(int argc, const char **argv) override;
+	bool Cmd_MoveObject(int argc, const char **argv) override;
+	bool Cmd_SetOutpostAlphaDebug(int argc, const char **argv) override;
 };
 
 } // End of namespace TsAGE
diff --git a/engines/tsage/detection.cpp b/engines/tsage/detection.cpp
index d6473ea..962d0ce 100644
--- a/engines/tsage/detection.cpp
+++ b/engines/tsage/detection.cpp
@@ -76,19 +76,19 @@ public:
 	TSageMetaEngine() : AdvancedMetaEngine(TsAGE::gameDescriptions, sizeof(TsAGE::tSageGameDescription), tSageGameTitles) {
 	}
 
-	const char *getEngineId() const {
+	const char *getEngineId() const override {
 		return "tsage";
 	}
 
-	virtual const char *getName() const {
+	const char *getName() const override {
 		return "TsAGE";
 	}
 
-	virtual const char *getOriginalCopyright() const {
+	const char *getOriginalCopyright() const override {
 		return "(C) Tsunami Media";
 	}
 
-	virtual bool hasFeature(MetaEngineFeature f) const {
+	bool hasFeature(MetaEngineFeature f) const override {
 		switch (f) {
 		case kSupportsListSaves:
 		case kSupportsDeleteSave:
@@ -104,7 +104,7 @@ public:
 		}
 	}
 
-	virtual bool createInstance(OSystem *syst, Engine **engine, const ADGameDescription *desc) const {
+	bool createInstance(OSystem *syst, Engine **engine, const ADGameDescription *desc) const override {
 		if (desc) {
 			*engine = new TsAGE::TSageEngine(syst, (const TsAGE::tSageGameDescription *)desc);
 		}
@@ -115,7 +115,7 @@ public:
 		return Common::String::format("%s.%03d", target, slot);
 	}
 
-	virtual SaveStateList listSaves(const char *target) const {
+	SaveStateList listSaves(const char *target) const override {
 		Common::String pattern = target;
 		pattern += ".###";
 
@@ -145,16 +145,16 @@ public:
 		return saveList;
 	}
 
-	virtual int getMaximumSaveSlot() const {
+	int getMaximumSaveSlot() const override {
 		return MAX_SAVES - 1;
 	}
 
-	virtual void removeSaveState(const char *target, int slot) const {
+	void removeSaveState(const char *target, int slot) const override {
 		Common::String filename = Common::String::format("%s.%03d", target, slot);
 		g_system->getSavefileManager()->removeSavefile(filename);
 	}
 
-	SaveStateDescriptor querySaveMetaInfos(const char *target, int slot) const {
+	SaveStateDescriptor querySaveMetaInfos(const char *target, int slot) const override {
 		Common::InSaveFile *f = g_system->getSavefileManager()->openForLoading(
 			generateGameStateFileName(target, slot));
 
diff --git a/engines/tsage/dialogs.h b/engines/tsage/dialogs.h
index 33a5fa4..25357dd 100644
--- a/engines/tsage/dialogs.h
+++ b/engines/tsage/dialogs.h
@@ -49,7 +49,7 @@ class ModalDialog : public GfxDialog {
 protected:
 	void drawFrame();
 public:
-	virtual void draw();
+	void draw() override;
 };
 
 /*--------------------------------------------------------------------------*/
diff --git a/engines/tsage/events.h b/engines/tsage/events.h
index a3d96ab..d5f4923 100644
--- a/engines/tsage/events.h
+++ b/engines/tsage/events.h
@@ -153,7 +153,7 @@ public:
 	bool isInventoryIcon() const { return (_currentCursor >= 0) && (_currentCursor < 256); }
 	void proc1() { warning("TODO: EventsClass::proc1"); }
 
-	virtual void listenerSynchronize(Serializer &s);
+	void listenerSynchronize(Serializer &s) override;
 	static void loadNotifierProc(bool postFlag);
 };
 
diff --git a/engines/tsage/globals.h b/engines/tsage/globals.h
index 8a441db..689030d 100644
--- a/engines/tsage/globals.h
+++ b/engines/tsage/globals.h
@@ -75,7 +75,7 @@ public:
 	int _gfxEdgeAdjust;
 public:
 	Globals();
-	~Globals();
+	~Globals() override;
 
 	void setFlag(int flagNum) {
 		assert((flagNum >= 0) && (flagNum < MAX_FLAGS));
@@ -91,8 +91,8 @@ public:
 	}
 
 	GfxManager &gfxManager() { return **_gfxManagers.begin(); }
-	virtual Common::String getClassName() { return "Globals"; }
-	virtual void synchronize(Serializer &s);
+	Common::String getClassName() override { return "Globals"; }
+	void synchronize(Serializer &s) override;
 	virtual void reset();
 
 	void dispatchSounds();
@@ -111,8 +111,8 @@ public:
 	ASoundExt _inventorySound;
 
 	TsAGE2Globals();
-	virtual void reset();
-	virtual void synchronize(Serializer &s);
+	void reset() override;
+	void synchronize(Serializer &s) override;
 };
 
 extern Globals *g_globals;
@@ -220,9 +220,9 @@ public:
 	BlueForceGlobals();
 	bool getHasBullets();
 
-	virtual Common::String getClassName() { return "BFGlobals"; }
-	virtual void reset();
-	virtual void synchronize(Serializer &s);
+	Common::String getClassName() override { return "BFGlobals"; }
+	void reset() override;
+	void synchronize(Serializer &s) override;
 	void set2Flags(int flagNum);
 	bool removeFlag(int flagNum);
 };
@@ -297,9 +297,9 @@ public:
 	ScannerDialog *_scannerDialog;
 
 	Ringworld2Globals();
-	virtual ~Ringworld2Globals();
-	virtual void reset();
-	virtual void synchronize(Serializer &s);
+	~Ringworld2Globals() override;
+	void reset() override;
+	void synchronize(Serializer &s) override;
 };
 
 } // End of namespace Ringworld2
diff --git a/engines/tsage/graphics.h b/engines/tsage/graphics.h
index 51636c4..940cfb8 100644
--- a/engines/tsage/graphics.h
+++ b/engines/tsage/graphics.h
@@ -52,7 +52,7 @@ public:
 	void resize(const GfxSurface &surface, int xp, int yp, int percent);
 	void expandPanes();
 
-	virtual void synchronize(Serializer &s);
+	void synchronize(Serializer &s) override;
 };
 
 class GfxColors {
@@ -89,7 +89,7 @@ private:
 	  * Override the addDirtyRect from Graphics::Screen, since for standard
 	  * surfaces we don't need dirty rects to be tracked
 	  */
-	 virtual void addDirtyRect(const Common::Rect &r) {}
+	 void addDirtyRect(const Common::Rect &r) override {}
 public:
 	Common::Point _centroid;
 	int _transColor;
@@ -98,12 +98,12 @@ public:
 public:
 	GfxSurface();
 	GfxSurface(const GfxSurface &s);
-	virtual ~GfxSurface();
+	~GfxSurface() override;
 
 	Graphics::ManagedSurface &lockSurface();
 	void unlockSurface();
 	void synchronize(Serializer &s);
-	virtual void create(uint16 width, uint16 height);
+	void create(uint16 width, uint16 height) override;
 	void setBounds(const Rect &bounds);
 	const Rect &getBounds() const { return _bounds; }
 
@@ -215,9 +215,9 @@ public:
 
 	void setDetails(int resNum, int rlbNum, int cursorNum);
 
-	virtual void setDefaults();
-	virtual void draw();
-	virtual bool process(Event &event) { return false; }
+	void setDefaults() override;
+	void draw() override;
+	bool process(Event &event) override { return false; }
 };
 
 class GfxMessage : public GfxElement {
@@ -227,12 +227,12 @@ public:
 	int _width;
 public:
 	GfxMessage();
-	virtual ~GfxMessage() {}
+	~GfxMessage() override {}
 
 	void set(const Common::String &s, int width, TextAlign textAlign);
 
-	virtual void setDefaults();
-	virtual void draw();
+	void setDefaults() override;
+	void draw() override;
 };
 
 class GfxButton : public GfxElement {
@@ -242,7 +242,7 @@ public:
 	Common::String _message;
 public:
 	GfxButton() : GfxElement() {}
-	virtual ~GfxButton() {}
+	~GfxButton() override {}
 
 	void setText(const Common::String &s) {
 		_message = s;
@@ -250,9 +250,9 @@ public:
 	}
 
 	// Virtual table method
-	virtual void setDefaults();
-	virtual void draw();
-	virtual bool process(Event &event);
+	void setDefaults() override;
+	void draw() override;
+	bool process(Event &event) override;
 };
 
 class GfxManager {
@@ -324,7 +324,7 @@ public:
 	GfxSurface *_savedArea;
 public:
 	GfxDialog();
-	virtual ~GfxDialog();
+	~GfxDialog() override;
 
 	void add(GfxElement *element);
 	void addElements(GfxElement *ge, ...);
@@ -336,9 +336,9 @@ public:
 	}
 	GfxButton *execute(GfxButton *defaultButton = NULL);
 
-	virtual void setDefaults();
-	virtual void remove();
-	virtual void draw();
+	void setDefaults() override;
+	void remove() override;
+	void draw() override;
 
 	static void setPalette();
 
diff --git a/engines/tsage/ringworld/ringworld_demo.h b/engines/tsage/ringworld/ringworld_demo.h
index 2b93a40..d626eed 100644
--- a/engines/tsage/ringworld/ringworld_demo.h
+++ b/engines/tsage/ringworld/ringworld_demo.h
@@ -40,12 +40,12 @@ class RingworldDemoGame: public Game {
 private:
 	void pauseGame();
 public:
-	virtual void start();
-	virtual Scene *createScene(int sceneNumber);
-	virtual void quitGame();
-	virtual void processEvent(Event &event);
-	virtual bool canSaveGameStateCurrently();
-	virtual bool canLoadGameStateCurrently();
+	void start() override;
+	Scene *createScene(int sceneNumber) override;
+	void quitGame() override;
+	void processEvent(Event &event) override;
+	bool canSaveGameStateCurrently() override;
+	bool canLoadGameStateCurrently() override;
 };
 
 class RingworldDemoScene: public Scene {
@@ -55,9 +55,9 @@ public:
 	SceneObject _actor4, _actor5, _actor6;
 	ASound _soundHandler;
 
-	virtual void postInit(SceneObjectList *OwnerList = NULL);
-	virtual void process(Event &event);
-	virtual void signal();
+	void postInit(SceneObjectList *OwnerList = NULL) override;
+	void process(Event &event) override;
+	void signal() override;
 };
 
 } // End of namespace Ringworld
diff --git a/engines/tsage/ringworld/ringworld_dialogs.h b/engines/tsage/ringworld/ringworld_dialogs.h
index 4753968..ae57fb5 100644
--- a/engines/tsage/ringworld/ringworld_dialogs.h
+++ b/engines/tsage/ringworld/ringworld_dialogs.h
@@ -41,9 +41,9 @@ public:
 	int _buttonIndex;
 
 	RightClickButton(int buttonIndex, int xp, int yp);
-	~RightClickButton() { delete _savedButton; }
+	~RightClickButton() override { delete _savedButton; }
 
-	virtual void highlight();
+	void highlight() override;
 };
 
 class RightClickDialog : public GfxDialog {
@@ -56,10 +56,10 @@ private:
 	RightClickButton *findButton(const Common::Point &pt);
 public:
 	RightClickDialog();
-	~RightClickDialog();
+	~RightClickDialog() override;
 
-	virtual void draw();
-	virtual bool process(Event &event);
+	void draw() override;
+	bool process(Event &event) override;
 	void execute();
 };
 
@@ -71,7 +71,7 @@ private:
 	GfxMessage _gfxMessage;
 public:
 	OptionsDialog();
-	virtual ~OptionsDialog() {}
+	~OptionsDialog() override {}
 	GfxButton *execute() { return GfxDialog::execute(&_btnResume); }
 
 	static void show();
@@ -85,7 +85,7 @@ public:
 public:
 	GfxInvImage() : GfxImage(), _invObject(NULL) {}
 
-	virtual bool process(Event &event);
+	bool process(Event &event) override;
 };
 
 #define MAX_INVOBJECT_DISPLAY 20
@@ -96,7 +96,7 @@ private:
 	GfxButton _btnOk, _btnLook;
 public:
 	InventoryDialog();
-	virtual ~InventoryDialog();
+	~InventoryDialog() override;
 	void execute();
 
 	static void show();
diff --git a/engines/tsage/ringworld/ringworld_logic.h b/engines/tsage/ringworld/ringworld_logic.h
index d384593..576ab04 100644
--- a/engines/tsage/ringworld/ringworld_logic.h
+++ b/engines/tsage/ringworld/ringworld_logic.h
@@ -47,7 +47,7 @@ private:
 public:
 	DisplayHotspot(int regionId, ...);
 
-	virtual void doAction(int action) {
+	void doAction(int action) override {
 		if (!performAction(action))
 			SceneHotspot::doAction(action);
 	}
@@ -60,7 +60,7 @@ private:
 public:
 	DisplayObject(int firstAction, ...);
 
-	virtual void doAction(int action) {
+	void doAction(int action) override {
 		if (!performAction(action))
 			SceneHotspot::doAction(action);
 	}
@@ -70,11 +70,11 @@ class SceneObjectExt : public SceneObject {
 public:
 	int _state;
 
-	virtual void synchronize(Serializer &s) {
+	void synchronize(Serializer &s) override {
 		SceneObject::synchronize(s);
 		s.syncAsSint16LE(_state);
 	}
-	virtual Common::String getClassName() { return "SceneObjectExt"; }
+	Common::String getClassName() override { return "SceneObjectExt"; }
 };
 
 class SceneArea : public SavedObject {
@@ -89,14 +89,14 @@ public:
 	Rect _bounds;
 public:
 	SceneArea();
-	~SceneArea();
+	~SceneArea() override;
 
 	void setup(int resNum, int rlbNum, int subNum, int actionId);
 	void draw2();
 	void display();
 	void restore();
 
-	virtual void synchronize(Serializer &s);
+	void synchronize(Serializer &s) override;
 	virtual void draw(bool flag);
 	virtual void wait();
 };
@@ -141,31 +141,31 @@ public:
 public:
 	RingworldInvObjectList();
 
-	virtual Common::String getClassName() { return "RingworldInvObjectList"; }
+	Common::String getClassName() override { return "RingworldInvObjectList"; }
 };
 
 #define RING_INVENTORY (*((::TsAGE::Ringworld::RingworldInvObjectList *)g_globals->_inventory))
 
 class RingworldGame: public Game {
 public:
-	virtual void start();
-	virtual void restart();
-	virtual void endGame(int resNum, int lineNum);
-
-	virtual Scene *createScene(int sceneNumber);
-	virtual void processEvent(Event &event);
-	virtual void rightClick();
-	virtual bool canSaveGameStateCurrently();
-	virtual bool canLoadGameStateCurrently();
+	void start() override;
+	void restart() override;
+	void endGame(int resNum, int lineNum) override;
+
+	Scene *createScene(int sceneNumber) override;
+	void processEvent(Event &event) override;
+	void rightClick() override;
+	bool canSaveGameStateCurrently() override;
+	bool canLoadGameStateCurrently() override;
 };
 
 class NamedHotspot : public SceneHotspot {
 public:
 	NamedHotspot();
 
-	virtual void doAction(int action);
-	virtual Common::String getClassName() { return "NamedHotspot"; }
-	virtual void synchronize(Serializer &s);
+	void doAction(int action) override;
+	Common::String getClassName() override { return "NamedHotspot"; }
+	void synchronize(Serializer &s) override;
 };
 
 class NamedHotspotExt : public NamedHotspot {
@@ -173,8 +173,8 @@ public:
 	int _flag;
 	NamedHotspotExt() { _flag = 0; }
 
-	virtual Common::String getClassName() { return "NamedHotspot"; }
-	virtual void synchronize(Serializer &s) {
+	Common::String getClassName() override { return "NamedHotspot"; }
+	void synchronize(Serializer &s) override {
 		NamedHotspot::synchronize(s);
 		s.syncAsSint16LE(_flag);
 	}
diff --git a/engines/tsage/ringworld/ringworld_scenes1.h b/engines/tsage/ringworld/ringworld_scenes1.h
index 9f6de58..faed2ea 100644
--- a/engines/tsage/ringworld/ringworld_scenes1.h
+++ b/engines/tsage/ringworld/ringworld_scenes1.h
@@ -43,11 +43,11 @@ class Scene10 : public Scene {
 	/* Actions */
 	class Action1 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action2 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 public:
 	Speaker _speakerSText;
@@ -61,42 +61,42 @@ public:
 	SceneObject _leftSmoke;
 	SceneObject _rightSmoke;
 
-	virtual void stripCallback(int v);
-	virtual void postInit(SceneObjectList *OwnerList = NULL);
+	void stripCallback(int v) override;
+	void postInit(SceneObjectList *OwnerList = NULL) override;
 };
 
 class Scene15 : public Scene {
 	/* Actions */
 	class Action1 : public Action {
 	public:
-		virtual void signal();
-		virtual void dispatch();
+		void signal() override;
+		void dispatch() override;
 	};
 public:
 	Action1 _action1;
 	SceneObject _ship;
 	ASound _soundHandler;
 
-	virtual void postInit(SceneObjectList *OwnerList = NULL);
+	void postInit(SceneObjectList *OwnerList = NULL) override;
 };
 
 class Scene20 : public Scene {
 	/* Actions */
 	class Action1 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action2 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action3 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action4 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 public:
 	SequenceManager _sequenceManager;
@@ -113,10 +113,10 @@ public:
 	ASound _sound;
 public:
 	Scene20();
-	virtual ~Scene20() {}
+	~Scene20() override {}
 
-	virtual void postInit(SceneObjectList *OwnerList = NULL);
-	virtual void signal();
+	void postInit(SceneObjectList *OwnerList = NULL) override;
+	void signal() override;
 };
 
 class Scene30 : public Scene {
@@ -124,35 +124,35 @@ class Scene30 : public Scene {
 	// Doorway beam sensor
 	class BeamObject : public SceneObject {
 	public:
-		virtual void doAction(int action);
+		void doAction(int action) override;
 	};
 	// Doorway object
 	class DoorObject : public SceneObject {
 	public:
-		virtual void doAction(int action);
+		void doAction(int action) override;
 	};
 	// Kzin object
 	class KzinObject : public SceneObject {
 	public:
-		virtual void doAction(int action);
+		void doAction(int action) override;
 	};
 
 	/* Actions */
 	class BeamAction : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class KzinAction : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class RingAction : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class TalkAction : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 
 public:
@@ -174,70 +174,70 @@ public:
 	SpeakerQText _speakerQText;
 public:
 	Scene30();
-	virtual ~Scene30() {}
+	~Scene30() override {}
 
-	virtual void postInit(SceneObjectList *OwnerList = NULL);
-	virtual void signal();
+	void postInit(SceneObjectList *OwnerList = NULL) override;
+	void signal() override;
 };
 
 class Scene40 : public Scene {
 	/* Actions */
 	class Action1 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action2 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action3 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action4 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action5 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action6 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action7 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action8 : public Action {
 	public:
-		virtual void signal();
-		virtual void dispatch();
+		void signal() override;
+		void dispatch() override;
 	};
 
 	/* Objects */
 	class DyingKzin : public SceneObject {
 	public:
-		virtual void doAction(int action);
+		void doAction(int action) override;
 	};
 	class Assassin : public SceneObject {
 	public:
-		virtual void doAction(int action);
+		void doAction(int action) override;
 	};
 
 	/* Items */
 	class Item2 : public SceneHotspot {
 	public:
-		virtual void doAction(int action);
+		void doAction(int action) override;
 	};
 	class Item6 : public SceneHotspot {
 	public:
-		virtual void doAction(int action);
+		void doAction(int action) override;
 	};
 	class Item8 : public SceneHotspot {
 	public:
-		virtual void doAction(int action);
+		void doAction(int action) override;
 	};
 public:
 	SequenceManager _sequenceManager;
@@ -272,42 +272,42 @@ public:
 	DisplayHotspot _tree;
 
 	Scene40();
-	virtual void postInit(SceneObjectList *OwnerList = NULL);
-	virtual void signal();
-	virtual void dispatch();
+	void postInit(SceneObjectList *OwnerList = NULL) override;
+	void signal() override;
+	void dispatch() override;
 };
 
 class Scene50 : public Scene {
 	/* Actions */
 	class Action1 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action2 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action3 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 
 	/* Objects */
 	class Object1 : public SceneObject {
 	public:
-		virtual void doAction(int action);
+		void doAction(int action) override;
 	};
 	class LeftFlyCycle : public SceneObject {
 	public:
-		virtual void doAction(int action);
+		void doAction(int action) override;
 	};
 	class CenterFlyCycle : public SceneObject {
 	public:
-		virtual void doAction(int action);
+		void doAction(int action) override;
 	};
 	class RightFlyCycle : public SceneObject {
 	public:
-		virtual void doAction(int action);
+		void doAction(int action) override;
 	};
 
 public:
@@ -329,55 +329,55 @@ public:
 	DisplayHotspot _flagstones;
 
 	Scene50();
-	virtual void postInit(SceneObjectList *OwnerList = NULL);
-	virtual void signal();
-	virtual void dispatch();
+	void postInit(SceneObjectList *OwnerList = NULL) override;
+	void signal() override;
+	void dispatch() override;
 };
 
 class Scene60 : public Scene {
 	class Action1 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action2 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class PrevObject : public SceneObject {
 	public:
-		virtual void doAction(int action);
+		void doAction(int action) override;
 	};
 	class NextObject : public SceneObject {
 	public:
-		virtual void doAction(int action);
+		void doAction(int action) override;
 	};
 	class ExitObject : public SceneObject {
 	public:
-		virtual void doAction(int action);
+		void doAction(int action) override;
 	};
 	class MessageObject : public SceneObject {
 	public:
-		virtual void doAction(int action);
+		void doAction(int action) override;
 	};
 	class ControlObject : public SceneObject {
 	public:
-		virtual void doAction(int action);
+		void doAction(int action) override;
 	};
 	class SlaveObject : public SceneObjectExt {
 	public:
-		virtual void doAction(int action);
+		void doAction(int action) override;
 	};
 	class MasterObject : public SceneObjectExt {
 	public:
-		virtual void doAction(int action);
+		void doAction(int action) override;
 	};
 	class FloppyDrive : public SceneObject {
 	public:
-		virtual void doAction(int action);
+		void doAction(int action) override;
 	};
 	class Item1 : public SceneHotspot {
 	public:
-		virtual void doAction(int action);
+		void doAction(int action) override;
 	};
 	class Item : public SceneHotspot {
 	public:
@@ -388,7 +388,7 @@ class Scene60 : public Scene {
 			_messageNum = messageNum;
 			_sceneMode = sceneMode;
 		}
-		virtual void doAction(int action);
+		void doAction(int action) override;
 	};
 
 public:
@@ -419,23 +419,23 @@ public:
 	ASound _soundHandler3;
 
 	Scene60();
-	virtual void postInit(SceneObjectList *OwnerList = NULL);
-	virtual void signal();
-	virtual void process(Event &event);
+	void postInit(SceneObjectList *OwnerList = NULL) override;
+	void signal() override;
+	void process(Event &event) override;
 };
 
 class Scene90 : public Scene {
 	class Action1 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class SeekerShip : public SceneObject {
 	public:
-		virtual void doAction(int action);
+		void doAction(int action) override;
 	};
 	class Guard : public SceneObject {
 	public:
-		virtual void doAction(int action);
+		void doAction(int action) override;
 	};
 public:
 	SequenceManager _sequenceManager;
@@ -458,15 +458,15 @@ public:
 
 	Scene90();
 
-	virtual void stripCallback(int v);
-	virtual void postInit(SceneObjectList *OwnerList = NULL);
-	virtual void signal();
+	void stripCallback(int v) override;
+	void postInit(SceneObjectList *OwnerList = NULL) override;
+	void signal() override;
 };
 
 class Scene95 : public Scene {
 	class Action1 : public ActionExt {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 
 public:
@@ -475,39 +475,39 @@ public:
 	ASound _soundHandler;
 
 	Scene95();
-	virtual void postInit(SceneObjectList *OwnerList);
+	void postInit(SceneObjectList *OwnerList) override;
 };
 
 class Scene6100 : public Scene {
 	/* Actions */
 	class Action1 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action2 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action3 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action4 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action5 : public Action {
 	public:
-		virtual void dispatch();
+		void dispatch() override;
 	};
 	class GetBoxAction : public Action {
 	public:
-		virtual void signal();
-		virtual void dispatch();
+		void signal() override;
+		void dispatch() override;
 	};
 	class Action7 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 
 	/* Objects */
@@ -515,17 +515,17 @@ class Scene6100 : public Scene {
 	public:
 		FloatSet _floats;
 
-		virtual void synchronize(Serializer &s);
+		void synchronize(Serializer &s) override;
 	};
 	class ProbeMover : public NpcMover {
 	public:
-		virtual void dispatch();
+		void dispatch() override;
 	};
 
 	/* Items */
 	class Item1 : public SceneItem {
 	public:
-		virtual void doAction(int action);
+		void doAction(int action) override;
 	};
 
 public:
@@ -553,11 +553,11 @@ public:
 	bool _msgActive;
 
 	Scene6100();
-	virtual void synchronize(Serializer &s);
-	virtual void postInit(SceneObjectList *OwnerList = NULL);
-	virtual void remove();
-	virtual void process(Event &event);
-	virtual void dispatch();
+	void synchronize(Serializer &s) override;
+	void postInit(SceneObjectList *OwnerList = NULL) override;
+	void remove() override;
+	void process(Event &event) override;
+	void dispatch() override;
 	void showMessage(const Common::String &msg, int color, Action *action);
 
 };
diff --git a/engines/tsage/ringworld/ringworld_scenes10.h b/engines/tsage/ringworld/ringworld_scenes10.h
index ff1a6e9..b337840 100644
--- a/engines/tsage/ringworld/ringworld_scenes10.h
+++ b/engines/tsage/ringworld/ringworld_scenes10.h
@@ -41,12 +41,12 @@ class SceneObject9150 : public SceneObject {
 public:
 	int _timer, _signalFlag;
 
-	virtual void synchronize(Serializer &s) {
+	void synchronize(Serializer &s) override {
 		SceneObject::synchronize(s);
 		s.syncAsSint16LE(_timer);
 		s.syncAsSint16LE(_signalFlag);
 	}
-	virtual Common::String getClassName() { return "SceneObject9150"; }
+	Common::String getClassName() override { return "SceneObject9150"; }
 };
 
 class Scene2 : public Scene {
@@ -54,7 +54,7 @@ public :
 	int _sceneState;
 
 	Scene2();
-	virtual void synchronize(Serializer &s) {
+	void synchronize(Serializer &s) override {
 		Scene::synchronize(s);
 		s.syncAsSint16LE(_sceneState);
 	}
@@ -62,15 +62,15 @@ public :
 
 class Object9350 : public SceneObject {
 public:
-	virtual void postInit(SceneObjectList *OwnerList = NULL);
-	virtual void draw();
+	void postInit(SceneObjectList *OwnerList = NULL) override;
+	void draw() override;
 };
 
 class Scene9100 : public Scene {
 	/* Items */
 	class SceneHotspot1 : public NamedHotspot {
 	public:
-		virtual void doAction(int action);
+		void doAction(int action) override;
 	};
 public:
 	SequenceManager _sequenceManager;
@@ -87,16 +87,16 @@ public:
 	NamedHotspot _hotspotBoulders;
 	NamedHotspot _hotspotTrees;
 
-	virtual void postInit(SceneObjectList *OwnerList = NULL);
-	virtual void signal();
-	virtual void dispatch();
+	void postInit(SceneObjectList *OwnerList = NULL) override;
+	void signal() override;
+	void dispatch() override;
 };
 
 class Scene9150 : public Scene2 {
 	class Object3 : public SceneObject9150 {
 	public:
-		virtual void signal();
-		virtual void dispatch();
+		void signal() override;
+		void dispatch() override;
 	};
 public:
 	SequenceManager _sequenceManager1;
@@ -115,15 +115,15 @@ public:
 	NamedHotspot _sceneHotspot9;
 	NamedHotspot _sceneHotspot10;
 
-	virtual void postInit(SceneObjectList *OwnerList = NULL);
-	virtual void signal();
-	virtual void dispatch();
+	void postInit(SceneObjectList *OwnerList = NULL) override;
+	void signal() override;
+	void dispatch() override;
 };
 
 class Scene9200 : public Scene2 {
 	class SceneHotspot1 : public NamedHotspot{
 	public:
-		virtual void doAction(int action);
+		void doAction(int action) override;
 	};
 public:
 	SequenceManager _sequenceManager;
@@ -144,10 +144,10 @@ public:
 	NamedHotspot _hotspot7;
 	NamedHotspot _hotspot8;
 
-	virtual void postInit(SceneObjectList *OwnerList = NULL);
-	virtual void signal();
-	virtual void dispatch();
-	virtual void process(Event &event);
+	void postInit(SceneObjectList *OwnerList = NULL) override;
+	void signal() override;
+	void dispatch() override;
+	void process(Event &event) override;
 };
 
 class Scene9300 : public Scene {
@@ -169,9 +169,9 @@ public:
 	NamedHotspot _hotspot12;
 	NamedHotspot _hotspot13;
 
-	virtual void postInit(SceneObjectList *OwnerList = NULL);
-	virtual void signal();
-	virtual void dispatch();
+	void postInit(SceneObjectList *OwnerList = NULL) override;
+	void signal() override;
+	void dispatch() override;
 };
 
 class Scene9350 : public Scene2 {
@@ -185,9 +185,9 @@ public:
 	NamedHotspot _sceneHotspot4;
 	NamedHotspot _sceneHotspot5;
 
-	virtual void postInit(SceneObjectList *OwnerList = NULL);
-	virtual void signal();
-	virtual void dispatch();
+	void postInit(SceneObjectList *OwnerList = NULL) override;
+	void signal() override;
+	void dispatch() override;
 };
 
 class Scene9360 : public Scene2 {
@@ -204,20 +204,20 @@ public:
 	NamedHotspot _hotspot7;
 	NamedHotspot _hotspot8;
 
-	virtual void postInit(SceneObjectList *OwnerList = NULL);
-	virtual void signal();
-	virtual void dispatch();
+	void postInit(SceneObjectList *OwnerList = NULL) override;
+	void signal() override;
+	void dispatch() override;
 };
 
 class Scene9400 : public Scene2 {
 	class SceneHotspot7 : public NamedHotspot{
 	public:
-		virtual void doAction(int action);
+		void doAction(int action) override;
 	};
 
 	class SceneHotspot8 : public NamedHotspot{
 	public:
-		virtual void doAction(int action);
+		void doAction(int action) override;
 	};
 public:
 	Scene9400();
@@ -240,31 +240,31 @@ public:
 	SceneHotspot7 _hotspot7;
 	SceneHotspot8 _hotspot8;
 
-	virtual void postInit(SceneObjectList *OwnerList = NULL);
-	virtual void signal();
-	virtual void dispatch();
-	virtual void synchronize(Serializer &s);
+	void postInit(SceneObjectList *OwnerList = NULL) override;
+	void signal() override;
+	void dispatch() override;
+	void synchronize(Serializer &s) override;
 };
 
 class Scene9450 : public Scene2 {
 	class Object2 : public SceneObject {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 
 	class Object3 : public SceneObject9150 {
 	public:
-		virtual void dispatch();
+		void dispatch() override;
 	};
 
 	class Hotspot1 : public NamedHotspot{
 	public:
-		virtual void doAction(int action);
+		void doAction(int action) override;
 	};
 
 	class Hotspot3 : public NamedHotspot{
 	public:
-		virtual void doAction(int action);
+		void doAction(int action) override;
 	};
 public:
 	SceneObject _object1;
@@ -290,30 +290,30 @@ public:
 	NamedHotspot _hotspot15;
 	NamedHotspot _hotspot16;
 
-	virtual void postInit(SceneObjectList *OwnerList = NULL);
-	virtual void signal();
-	virtual void dispatch();
+	void postInit(SceneObjectList *OwnerList = NULL) override;
+	void signal() override;
+	void dispatch() override;
 };
 
 class Scene9500 : public Scene2 {
 	class Hotspot1 : public NamedHotspot{
 	public:
-		virtual void doAction(int action);
+		void doAction(int action) override;
 	};
 
 	class Hotspot2 : public NamedHotspot{
 	public:
-		virtual void doAction(int action);
+		void doAction(int action) override;
 	};
 
 	class Hotspot3 : public NamedHotspot{
 	public:
-		virtual void doAction(int action);
+		void doAction(int action) override;
 	};
 
 	class Hotspot4 : public NamedHotspot{
 	public:
-		virtual void doAction(int action);
+		void doAction(int action) override;
 	};
 
 public:
@@ -342,10 +342,10 @@ public:
 	NamedHotspot _hotspot19;
 	NamedHotspot _hotspot20;
 
-	virtual void postInit(SceneObjectList *OwnerList = NULL);
-	virtual void signal();
-	virtual void dispatch();
-	virtual void process(Event &event);
+	void postInit(SceneObjectList *OwnerList = NULL) override;
+	void signal() override;
+	void dispatch() override;
+	void process(Event &event) override;
 };
 
 class Scene9700 : public Scene2 {
@@ -359,9 +359,9 @@ class Scene9700 : public Scene2 {
 	NamedHotspot _sceneHotspot6;
 	GfxButton _gfxButton1;
 
-	virtual void postInit(SceneObjectList *OwnerList = NULL);
-	virtual void signal();
-	virtual void process(Event &event);
+	void postInit(SceneObjectList *OwnerList = NULL) override;
+	void signal() override;
+	void process(Event &event) override;
 };
 
 class Scene9750 : public Scene {
@@ -370,55 +370,55 @@ public:
 	SceneObject _object1;
 	SceneObject _object2;
 
-	virtual void postInit(SceneObjectList *OwnerList = NULL);
-	virtual void signal();
-	virtual void dispatch();
+	void postInit(SceneObjectList *OwnerList = NULL) override;
+	void signal() override;
+	void dispatch() override;
 };
 
 class Scene9850 : public Scene {
 	class Object6 : public SceneObject{
 	public:
-		virtual void doAction(int action);
+		void doAction(int action) override;
 	};
 
 	class Object7 : public SceneObjectExt{
 	public:
-		virtual void doAction(int action);
+		void doAction(int action) override;
 	};
 
 	class Hotspot12 : public NamedHotspot{
 	public:
-		virtual void doAction(int action);
+		void doAction(int action) override;
 	};
 
 	class Hotspot14 : public NamedHotspot{
 	public:
-		virtual void doAction(int action);
+		void doAction(int action) override;
 	};
 
 	class Hotspot16 : public NamedHotspot{
 	public:
-		virtual void doAction(int action);
+		void doAction(int action) override;
 	};
 
 	class Hotspot17 : public NamedHotspot{
 	public:
-		virtual void doAction(int action);
+		void doAction(int action) override;
 	};
 
 	class Hotspot18 : public NamedHotspot{
 	public:
-		virtual void doAction(int action);
+		void doAction(int action) override;
 	};
 
 	class Hotspot19 : public NamedHotspot{
 	public:
-		virtual void doAction(int action);
+		void doAction(int action) override;
 	};
 
 	class Hotspot20 : public NamedHotspot{
 	public:
-		virtual void doAction(int action);
+		void doAction(int action) override;
 	};
 public:
 	SequenceManager _sequenceManager;
@@ -451,10 +451,10 @@ public:
 	Hotspot19 _hotspot19;
 	Hotspot20 _spotLever;
 
-	virtual void postInit(SceneObjectList *OwnerList = NULL);
-	virtual void signal();
-	virtual void process(Event &event);
-	virtual void dispatch();
+	void postInit(SceneObjectList *OwnerList = NULL) override;
+	void signal() override;
+	void process(Event &event) override;
+	void dispatch() override;
 };
 
 class Scene9900 : public Scene {
@@ -463,7 +463,7 @@ class Scene9900 : public Scene {
 		SceneObject _object9;
 		ScenePalette _palette1;
 
-		virtual void signal();
+		void signal() override;
 	};
 
 	class strAction2 : public Action {
@@ -472,9 +472,9 @@ class Scene9900 : public Scene {
 		SceneText _txtArray2[2];
 		int _lineNum, _txtArray1Index, _var3;
 
-		virtual void signal();
-		virtual void dispatch();
-		virtual void synchronize(Serializer &s);
+		void signal() override;
+		void dispatch() override;
+		void synchronize(Serializer &s) override;
 	};
 
 	class strAction3 : public Action {
@@ -483,7 +483,7 @@ class Scene9900 : public Scene {
 		ScenePalette _palette2;
 		ScenePalette _palette3;
 
-		virtual void signal();
+		void signal() override;
 	};
 
 public:
@@ -502,21 +502,21 @@ public:
 	strAction3 _strAction3;
 	SpeakerMR _speakerMR;
 
-	virtual void postInit(SceneObjectList *OwnerList = NULL);
-	virtual void signal();
-	virtual void dispatch();
-	virtual void process(Event &event);
+	void postInit(SceneObjectList *OwnerList = NULL) override;
+	void signal() override;
+	void dispatch() override;
+	void process(Event &event) override;
 };
 
 class Scene9999 : public Scene {
 	/* Actions */
 	class Action1 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action2 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 
 public:
@@ -528,7 +528,7 @@ public:
 	SceneObject _object2;
 	SceneObject _object3;
 
-	virtual void postInit(SceneObjectList *OwnerList = NULL);
+	void postInit(SceneObjectList *OwnerList = NULL) override;
 };
 
 } // End of namespace Ringworld
diff --git a/engines/tsage/ringworld/ringworld_scenes2.h b/engines/tsage/ringworld/ringworld_scenes2.h
index 825cd04..55a0aac 100644
--- a/engines/tsage/ringworld/ringworld_scenes2.h
+++ b/engines/tsage/ringworld/ringworld_scenes2.h
@@ -41,17 +41,17 @@ class Scene1000 : public Scene {
 	/* Actions */
 	class Action1 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action2 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action3 : public Action {
 	private:
 		void zoom(bool up);
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 
 public:
@@ -60,14 +60,14 @@ public:
 	Action2 _action2;
 	Action3 _action3;
 
-	virtual void postInit(SceneObjectList *OwnerList = NULL);
+	void postInit(SceneObjectList *OwnerList = NULL) override;
 };
 
 class Scene1001 : public Scene {
 	/* Actions */
 	class Action1 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 public:
 	SpeakerQText _speakerQText;
@@ -79,7 +79,7 @@ public:
 	SceneObject _object5, _object6, _object7;
 	ASound _soundHandler1, _soundHandler2;
 
-	virtual void postInit(SceneObjectList *OwnerList = NULL);
+	void postInit(SceneObjectList *OwnerList = NULL) override;
 };
 
 class Scene1250 : public Scene {
@@ -87,19 +87,19 @@ public:
 	/* Actions */
 	class Action1 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action2 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action3 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action4 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 public:
 	SpeakerQText _speakerQText;
@@ -109,7 +109,7 @@ public:
 	Action4 _action4;
 	SceneObject _object1, _object2;
 
-	virtual void postInit(SceneObjectList *OwnerList = NULL);
+	void postInit(SceneObjectList *OwnerList = NULL) override;
 };
 
 class Scene1400 : public Scene {
@@ -117,13 +117,13 @@ public:
 	/* Actions */
 	class Action1 : public Action {
 	public:
-		virtual void signal();
-		virtual void dispatch();
+		void signal() override;
+		void dispatch() override;
 	};
 public:
 	Action1 _action1;
 
-	virtual void postInit(SceneObjectList *OwnerList = NULL);
+	void postInit(SceneObjectList *OwnerList = NULL) override;
 
 };
 
@@ -132,11 +132,11 @@ public:
 	/* Actions */
 	class Action1 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action2 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 public:
 	ASound _soundHandler;
@@ -144,7 +144,7 @@ public:
 	Action2 _action2;
 	SceneObject _object1, _object2, _object3;
 
-	virtual void postInit(SceneObjectList *OwnerList = NULL);
+	void postInit(SceneObjectList *OwnerList = NULL) override;
 };
 
 } // End of namespace Ringworld
diff --git a/engines/tsage/ringworld/ringworld_scenes3.h b/engines/tsage/ringworld/ringworld_scenes3.h
index 752b6ac..a09e1bf 100644
--- a/engines/tsage/ringworld/ringworld_scenes3.h
+++ b/engines/tsage/ringworld/ringworld_scenes3.h
@@ -39,59 +39,59 @@ class Scene2000 : public Scene {
 	/* Actions */
 	class Action1 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action2 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action3 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action4 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action5 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action6 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action7 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action8 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action9 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action10 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action11 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action12 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action13 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action14 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 
 public:
@@ -121,119 +121,119 @@ public:
 	SceneObject _object6, _object7, _object8, _object9, _object10;
 	ASound _soundHandler1, _soundHandler2;
 
-	virtual void postInit(SceneObjectList *OwnerList = NULL);
-	virtual void stripCallback(int v);
+	void postInit(SceneObjectList *OwnerList = NULL) override;
+	void stripCallback(int v) override;
 };
 
 class Scene2100 : public Scene {
 	/* Actions */
 	class Action1 : public ActionExt {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action2 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action3 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action4 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action5 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action6 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action7 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action8 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action9 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action10 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action11 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action12 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action13 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action14 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action15 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action16 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action17 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 
 	/* Hotspots */
 	class Hotspot2 : public SceneObject {
 	public:
-		virtual void doAction(int action);
+		void doAction(int action) override;
 	};
 	class Hotspot3 : public SceneObject {
 	public:
-		virtual void doAction(int action);
+		void doAction(int action) override;
 	};
 	class Hotspot4 : public SceneObject {
 	public:
-		virtual void doAction(int action);
+		void doAction(int action) override;
 	};
 	class Hotspot8 : public SceneObject {
 	public:
-		virtual void doAction(int action);
+		void doAction(int action) override;
 	};
 	class Hotspot10 : public SceneObject {
 	public:
-		virtual void doAction(int action);
+		void doAction(int action) override;
 	};
 	class Hotspot14 : public SceneObject {
 	public:
-		virtual void doAction(int action);
+		void doAction(int action) override;
 	};
 
 	/* Objects */
 	class Object1 : public SceneObject {
 	public:
-		virtual void doAction(int action);
+		void doAction(int action) override;
 	};
 	class Object2 : public SceneObject {
 	public:
-		virtual void doAction(int action);
+		void doAction(int action) override;
 	};
 	class Object3 : public SceneObject {
 	public:
-		virtual void doAction(int action);
+		void doAction(int action) override;
 	};
 public:
 	SequenceManager _sequenceManager;
@@ -287,10 +287,10 @@ public:
 	SceneArea _area1, _area2, _area3, _area4;
 
 	Scene2100();
-	virtual void postInit(SceneObjectList *OwnerList = NULL);
-	virtual void stripCallback(int v);
-	virtual void signal();
-	virtual void synchronize(Serializer &s);
+	void postInit(SceneObjectList *OwnerList = NULL) override;
+	void stripCallback(int v) override;
+	void signal() override;
+	void synchronize(Serializer &s) override;
 };
 
 class Scene2120 : public Scene {
@@ -311,8 +311,8 @@ class Scene2120 : public Scene {
 	public:
 		Action1();
 
-		virtual void signal();
-		virtual void dispatch();
+		void signal() override;
+		void dispatch() override;
 	};
 
 public:
@@ -327,41 +327,41 @@ public:
 	int _lineOffset;
 
 	Scene2120();
-	virtual void postInit(SceneObjectList *OwnerList = NULL);
-	virtual void synchronize(Serializer &s);
+	void postInit(SceneObjectList *OwnerList = NULL) override;
+	void synchronize(Serializer &s) override;
 };
 
 class Scene2150 : public Scene {
 	/* Actions */
 	class Action1 : public ActionExt {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action2 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 
 	/* Hotspots */
 	class Hotspot1 : public SceneObject {
 	public:
-		virtual void doAction(int action);
+		void doAction(int action) override;
 	};
 	class Hotspot2 : public SceneObject {
 	public:
-		virtual void doAction(int action);
+		void doAction(int action) override;
 	};
 	class Hotspot4 : public SceneObject {
 	public:
-		virtual void doAction(int action);
+		void doAction(int action) override;
 	};
 	class Hotspot7 : public SceneObject {
 	public:
-		virtual void doAction(int action);
+		void doAction(int action) override;
 	};
 	class Hotspot10 : public SceneObject {
 	public:
-		virtual void doAction(int action);
+		void doAction(int action) override;
 	};
 public:
 	ASound _soundHandler;
@@ -384,44 +384,44 @@ public:
 	Action2 _action2;
 
 	Scene2150();
-	virtual void postInit(SceneObjectList *OwnerList = NULL);
-	virtual void synchronize(Serializer &s);
-	virtual void signal();
-	virtual void dispatch();
+	void postInit(SceneObjectList *OwnerList = NULL) override;
+	void synchronize(Serializer &s) override;
+	void signal() override;
+	void dispatch() override;
 };
 
 class Scene2200 : public Scene {
 	/* Actions */
 	class Action1 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action2 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action3 : public ActionExt {
 	public:
-		virtual void signal();
-		virtual void process(Event &event);
+		void signal() override;
+		void process(Event &event) override;
 	};
 	class Action4 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 
 	/* Hotspots */
 	class Hotspot3 : public SceneObject {
 	public:
-		virtual void doAction(int action);
+		void doAction(int action) override;
 	};
 	class Hotspot5 : public SceneObject {
 	public:
-		virtual void doAction(int action);
+		void doAction(int action) override;
 	};
 	class Hotspot9 : public SceneObject {
 	public:
-		virtual void doAction(int action);
+		void doAction(int action) override;
 	};
 public:
 	SequenceManager _sequenceManager;
@@ -448,22 +448,22 @@ public:
 	ASound _soundHandler1, _soundHandler2;
 
 	Scene2200();
-	virtual void postInit(SceneObjectList *OwnerList = NULL);
-	virtual void stripCallback(int v);
-	virtual void synchronize(Serializer &s);
-	virtual void signal();
-	virtual void dispatch();
+	void postInit(SceneObjectList *OwnerList = NULL) override;
+	void stripCallback(int v) override;
+	void synchronize(Serializer &s) override;
+	void signal() override;
+	void dispatch() override;
 };
 
 class Scene2222 : public Scene {
 	/* Actions */
 	class Action1 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action2 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 
 public:
@@ -477,84 +477,84 @@ public:
 	Action2 _action2;
 	SceneObject _hotspot1, _hotspot2, _hotspot3, _hotspot4, _hotspot5;
 
-	virtual void postInit(SceneObjectList *OwnerList = NULL);
+	void postInit(SceneObjectList *OwnerList = NULL) override;
 };
 
 class Scene2230 : public Scene {
 	/* Actions */
 	class Action1 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action2 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action3 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action4 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action5 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action6 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action7 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action8 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 
 	/* Hotspots */
 	class Hotspot1 : public SceneObject {
 	public:
-		virtual void doAction(int action);
+		void doAction(int action) override;
 	};
 	class Hotspot3 : public SceneObject {
 	public:
-		virtual void doAction(int action);
+		void doAction(int action) override;
 	};
 	class Hotspot4 : public SceneObject {
 	public:
-		virtual void doAction(int action);
+		void doAction(int action) override;
 	};
 	class Hotspot5 : public SceneObject {
 	public:
-		virtual void doAction(int action);
+		void doAction(int action) override;
 	};
 	class Hotspot6 : public SceneObject {
 	public:
-		virtual void doAction(int action);
+		void doAction(int action) override;
 	};
 	class Hotspot7 : public SceneObject {
 	public:
-		virtual void doAction(int action);
+		void doAction(int action) override;
 	};
 	class Hotspot8 : public SceneObject {
 	public:
-		virtual void doAction(int action);
+		void doAction(int action) override;
 	};
 	class Hotspot10 : public SceneObject {
 	public:
-		virtual void doAction(int action);
+		void doAction(int action) override;
 	};
 	class Hotspot11 : public SceneObject {
 	public:
-		virtual void doAction(int action);
+		void doAction(int action) override;
 	};
 	class Hotspot12 : public SceneObject {
 	public:
-		virtual void doAction(int action);
+		void doAction(int action) override;
 	};
 public:
 	ASound _soundHandler;
@@ -582,78 +582,78 @@ public:
 	int _sceneMode;
 
 	Scene2230();
-	virtual void postInit(SceneObjectList *OwnerList = NULL);
-	virtual void synchronize(Serializer &s);
-	virtual void dispatch();
+	void postInit(SceneObjectList *OwnerList = NULL) override;
+	void synchronize(Serializer &s) override;
+	void dispatch() override;
 };
 
 class Scene2280 : public Scene {
 	/* Actions */
 	class Action1 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action2 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action3 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action4 : public ActionExt {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 
 	/* Hotspots */
 	class Hotspot1 : public SceneObject {
 	public:
-		virtual void doAction(int action);
+		void doAction(int action) override;
 	};
 	class Hotspot2 : public SceneObject {
 	public:
-		virtual void doAction(int action);
+		void doAction(int action) override;
 	};
 	class Hotspot4 : public SceneObject {
 	public:
-		virtual void doAction(int action);
+		void doAction(int action) override;
 	};
 	class Hotspot7 : public SceneObject {
 	public:
-		virtual void doAction(int action);
+		void doAction(int action) override;
 	};
 	class Hotspot8 : public SceneObject {
 	public:
-		virtual void doAction(int action);
+		void doAction(int action) override;
 	};
 	class Hotspot10 : public SceneObject {
 	public:
-		virtual void doAction(int action);
+		void doAction(int action) override;
 	};
 	class Hotspot12 : public SceneObject {
 	public:
-		virtual void doAction(int action);
+		void doAction(int action) override;
 	};
 	class Hotspot14 : public SceneObject {
 	public:
-		virtual void doAction(int action);
+		void doAction(int action) override;
 	};
 	class Hotspot15 : public SceneObject {
 	public:
-		virtual void doAction(int action);
+		void doAction(int action) override;
 	};
 	class Hotspot16 : public SceneObject {
 	public:
-		virtual void doAction(int action);
+		void doAction(int action) override;
 	};
 	class Hotspot17 : public SceneObject {
 	public:
-		virtual void doAction(int action);
+		void doAction(int action) override;
 	};
 	class Hotspot18 : public SceneObject {
 	public:
-		virtual void doAction(int action);
+		void doAction(int action) override;
 	};
 
 public:
@@ -682,39 +682,39 @@ public:
 	Hotspot18 _hotspot18;
 
 	Scene2280();
-	virtual void postInit(SceneObjectList *OwnerList = NULL);
-	virtual void synchronize(Serializer &s);
-	virtual void signal();
-	virtual void dispatch();
+	void postInit(SceneObjectList *OwnerList = NULL) override;
+	void synchronize(Serializer &s) override;
+	void signal() override;
+	void dispatch() override;
 };
 
 class Scene2300 : public Scene {
 	/* Actions */
 	class Action1 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action2 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action3 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action4 : public ActionExt {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 
 	/* Hotspots */
 	class Hotspot5 : public SceneObject {
 	public:
-		virtual void doAction(int action);
+		void doAction(int action) override;
 	};
 	class Hotspot7 : public SceneObject {
 	public:
-		virtual void doAction(int action);
+		void doAction(int action) override;
 	};
 public:
 	ASound _soundHandler1, _soundHandler2;
@@ -734,7 +734,7 @@ public:
 	DisplayHotspot _hotspot11, _hotspot12, _hotspot13, _hotspot14, _hotspot15;
 
 	Scene2300();
-	virtual void postInit(SceneObjectList *OwnerList = NULL);
+	void postInit(SceneObjectList *OwnerList = NULL) override;
 };
 
 class Scene2310 : public Scene {
@@ -763,80 +763,80 @@ public:
 	ProtectionEntry _pageList[21];
 
 	Scene2310();
-	virtual void postInit(SceneObjectList *OwnerList = NULL);
-	virtual void synchronize(Serializer &s);
-	virtual void signal();
-	virtual void process(Event &event);
-	virtual void dispatch();
+	void postInit(SceneObjectList *OwnerList = NULL) override;
+	void synchronize(Serializer &s) override;
+	void signal() override;
+	void process(Event &event) override;
+	void dispatch() override;
 };
 
 class Scene2320 : public Scene {
 	/* Actions */
 	class Action1 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action2 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action3 : public ActionExt {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action4 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action5 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action6 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action7 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action8 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 
 	/* Hotspots */
 	class Hotspot5 : public SceneObject {
 	public:
-		virtual void doAction(int action);
+		void doAction(int action) override;
 	};
 	class Hotspot6 : public SceneObject {
 	public:
-		virtual void doAction(int action);
+		void doAction(int action) override;
 	};
 	class Hotspot8 : public SceneObject {
 	public:
-		virtual void doAction(int action);
+		void doAction(int action) override;
 	};
 	class Hotspot10 : public SceneObjectExt {
 	public:
-		virtual void doAction(int action);
+		void doAction(int action) override;
 	};
 	class Hotspot11 : public SceneObjectExt {
 	public:
-		virtual void doAction(int action);
+		void doAction(int action) override;
 	};
 	class Hotspot12 : public SceneObject {
 	public:
-		virtual void doAction(int action);
+		void doAction(int action) override;
 	};
 	class Hotspot14 : public SceneObject {
 	public:
-		virtual void doAction(int action);
+		void doAction(int action) override;
 	};
 	class Hotspot15 : public SceneObject {
 	public:
-		virtual void doAction(int action);
+		void doAction(int action) override;
 	};
 public:
 	ASound _soundHandler;
@@ -876,23 +876,23 @@ public:
 	Action8 _action8;
 
 	Scene2320();
-	virtual void postInit(SceneObjectList *OwnerList = NULL);
-	virtual void synchronize(Serializer &s);
-	virtual void signal();
+	void postInit(SceneObjectList *OwnerList = NULL) override;
+	void synchronize(Serializer &s) override;
+	void signal() override;
 };
 
 class Scene2400 : public Scene {
 	/* Actions */
 	class Action1 : public Action {
 	public:
-		virtual void signal();
-		virtual void dispatch();
+		void signal() override;
+		void dispatch() override;
 	};
 public:
 	Action1 _action1;
 	SceneObject _object;
 
-	virtual void postInit(SceneObjectList *OwnerList = NULL);
+	void postInit(SceneObjectList *OwnerList = NULL) override;
 };
 
 } // End of namespace Ringworld
diff --git a/engines/tsage/ringworld/ringworld_scenes4.h b/engines/tsage/ringworld/ringworld_scenes4.h
index 72913ea..261ec8a 100644
--- a/engines/tsage/ringworld/ringworld_scenes4.h
+++ b/engines/tsage/ringworld/ringworld_scenes4.h
@@ -39,11 +39,11 @@ class Scene3500 : public Scene {
 	/* Actions */
 	class Action1 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action2 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 public:
 	SpeakerSText _speakerSText;
@@ -52,7 +52,7 @@ public:
 	Action1 _action1;
 	Action2 _action2;
 
-	virtual void postInit(SceneObjectList *OwnerList = NULL);
+	void postInit(SceneObjectList *OwnerList = NULL) override;
 };
 
 class Scene3700 : public Scene {
@@ -68,17 +68,17 @@ class Scene3700 : public Scene {
 		int _countdownCtr;
 
 		Viewer();
-		virtual Common::String getClassName() { return "Viewer"; }
-		virtual void synchronize(Serializer &s);
-		virtual void dispatch();
-		virtual void reposition();
-		virtual void draw();
+		Common::String getClassName() override { return "Viewer"; }
+		void synchronize(Serializer &s) override;
+		void dispatch() override;
+		void reposition() override;
+		void draw() override;
 	};
 
 	/* Actions */
 	class Action1 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 public:
 	Viewer _viewer;
@@ -89,7 +89,7 @@ public:
 	SpeakerMR _speakerMR;
 	ASound _soundHandler;
 
-	virtual void postInit(SceneObjectList *OwnerList = NULL);
+	void postInit(SceneObjectList *OwnerList = NULL) override;
 };
 
 } // End of namespace Ringworld
diff --git a/engines/tsage/ringworld/ringworld_scenes5.h b/engines/tsage/ringworld/ringworld_scenes5.h
index 3010c7b..b9306ac 100644
--- a/engines/tsage/ringworld/ringworld_scenes5.h
+++ b/engines/tsage/ringworld/ringworld_scenes5.h
@@ -39,104 +39,104 @@ class Scene4000 : public Scene {
 	/* Actions */
 	class Action1 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action2 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action3 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action4 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action5 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action6 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action7 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action8 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action9 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action10 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action11 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action12 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action13 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 
 	/* Hotspots */
 	class Miranda : public SceneObject {
 	public:
-		virtual void doAction(int action);
+		void doAction(int action) override;
 	};
 	class Hotspot8 : public SceneObject {
 	private:
 		int _ctr;
 	public:
 		Hotspot8();
-		virtual void synchronize(Serializer &s) {
+		void synchronize(Serializer &s) override {
 			SceneObject::synchronize(s);
 			s.syncAsUint16LE(_ctr);
 		}
-		virtual void doAction(int action);
+		void doAction(int action) override;
 	};
 	class GuardRock : public SceneObject {
 	public:
-		virtual void doAction(int action);
+		void doAction(int action) override;
 	};
 	class Ladder : public SceneObject {
 	public:
-		virtual void doAction(int action);
+		void doAction(int action) override;
 	};
 	class TheTech : public SceneObject {
 	public:
-		virtual void doAction(int action);
+		void doAction(int action) override;
 	};
 	class Hotspot13 : public SceneObject {
 	public:
-		virtual void doAction(int action);
+		void doAction(int action) override;
 	};
 	class Hotspot : public SceneObject {
 	public:
-		virtual void doAction(int action);
+		void doAction(int action) override;
 	};
 	class Hotspot17 : public SceneObject {
 	public:
-		virtual void doAction(int action);
+		void doAction(int action) override;
 	};
 	class Hotspot18 : public SceneObject {
 	public:
-		virtual void doAction(int action);
+		void doAction(int action) override;
 	};
 	class Hotspot23 : public SceneObject {
 	public:
-		virtual void doAction(int action);
+		void doAction(int action) override;
 	};
 public:
 	SequenceManager _sequenceManager1, _sequenceManager2, _sequenceManager3;
@@ -184,9 +184,9 @@ public:
 	Action13 _action13;
 
 	Scene4000();
-	virtual void postInit(SceneObjectList *OwnerList = NULL);
-	virtual void signal();
-	virtual void dispatch();
+	void postInit(SceneObjectList *OwnerList = NULL) override;
+	void signal() override;
+	void dispatch() override;
 };
 
 class Scene4010 : public Scene {
@@ -197,8 +197,8 @@ public:
 	SpeakerMText _speakerMText;
 	SceneObject _hotspot1, _hotspot2;
 
-	virtual void postInit(SceneObjectList *OwnerList = NULL);
-	virtual void signal();
+	void postInit(SceneObjectList *OwnerList = NULL) override;
+	void signal() override;
 };
 
 class Scene4025 : public Scene {
@@ -211,8 +211,8 @@ class Scene4025 : public Scene {
 		int _armStrip;
 		Common::Point _newPosition;
 
-		virtual void synchronize(Serializer &s);
-		virtual void doAction(int action);
+		void synchronize(Serializer &s) override;
+		void doAction(int action) override;
 	};
 	class Peg : public SceneObject {
 	public:
@@ -220,22 +220,22 @@ class Scene4025 : public Scene {
 		int _armStrip;
 
 		Peg() : SceneObject() { _pegId = 0; _armStrip = 3; }
-		virtual void synchronize(Serializer &s);
-		virtual void doAction(int action);
+		void synchronize(Serializer &s) override;
+		void doAction(int action) override;
 	};
 
 	/* Actions */
 	class Action1 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action2 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action3 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 public:
 	SequenceManager _sequenceManager;
@@ -250,41 +250,41 @@ public:
 	Hole *_holePtr;
 
 	Scene4025();
-	virtual void postInit(SceneObjectList *OwnerList = NULL);
-	virtual void synchronize(Serializer &s);
-	virtual void remove();
-	virtual void signal();
-	virtual void process(Event &event);
-	virtual void dispatch();
+	void postInit(SceneObjectList *OwnerList = NULL) override;
+	void synchronize(Serializer &s) override;
+	void remove() override;
+	void signal() override;
+	void process(Event &event) override;
+	void dispatch() override;
 };
 
 class Scene4045 : public Scene {
 	/* Actions */
 	class Action1 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action2 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action3 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 
 	/* Hotspots */
 	class OlloStand : public SceneObject {
 	public:
-		virtual void doAction(int action);
+		void doAction(int action) override;
 	};
 	class Miranda : public SceneObject {
 	public:
-		virtual void doAction(int action);
+		void doAction(int action) override;
 	};
 	class Necklace : public SceneObject {
 	public:
-		virtual void doAction(int action);
+		void doAction(int action) override;
 	};
 
 public:
@@ -307,39 +307,39 @@ public:
 	Action3 _action3;
 
 	Scene4045();
-	virtual void postInit(SceneObjectList *OwnerList = NULL);
-	virtual void stripCallback(int v);
-	virtual void signal();
-	virtual void dispatch();
+	void postInit(SceneObjectList *OwnerList = NULL) override;
+	void stripCallback(int v) override;
+	void signal() override;
+	void dispatch() override;
 };
 
 class Scene4050 : public Scene {
 	/* Actions */
 	class Action1 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action2 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action3 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action4 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 
 	/* Hotspots */
 	class Hotspot15 : public SceneObject {
 	public:
-		virtual void doAction(int action);
+		void doAction(int action) override;
 	};
 	class Hotspot17 : public SceneObject {
 	public:
-		virtual void doAction(int action);
+		void doAction(int action) override;
 	};
 public:
 	SpeakerPText _speakerPText;
@@ -358,58 +358,58 @@ public:
 	Hotspot17 _hotspot17;
 
 	Scene4050();
-	virtual void postInit(SceneObjectList *OwnerList = NULL);
-	virtual void signal();
-	virtual void dispatch();
+	void postInit(SceneObjectList *OwnerList = NULL) override;
+	void signal() override;
+	void dispatch() override;
 };
 
 class Scene4100 : public Scene {
 	/* Actions */
 	class Action1 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action2 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action3 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action4 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action5 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action6 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 
 	/* Hotspots */
 	class Hotspot1 : public SceneObject {
 	public:
-		virtual void doAction(int action);
+		void doAction(int action) override;
 	};
 	class Hotspot2 : public SceneObject {
 	public:
-		virtual void doAction(int action);
+		void doAction(int action) override;
 	};
 	class Miranda : public SceneObject {
 	public:
-		virtual void doAction(int action);
+		void doAction(int action) override;
 	};
 	class Ladder : public SceneObject {
 	public:
-		virtual void doAction(int action);
+		void doAction(int action) override;
 	};
 	class Hotspot14 : public SceneObject {
 	public:
-		virtual void doAction(int action);
+		void doAction(int action) override;
 	};
 public:
 	SequenceManager _sequenceManager;
@@ -436,43 +436,43 @@ public:
 	Hotspot14 _hotspot14;
 
 	Scene4100();
-	virtual void postInit(SceneObjectList *OwnerList = NULL);
-	virtual void signal();
-	virtual void dispatch();
+	void postInit(SceneObjectList *OwnerList = NULL) override;
+	void signal() override;
+	void dispatch() override;
 };
 
 class Scene4150 : public Scene {
 	/* Actions */
 	class Action1 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action2 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action3 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 
 	/* Hotspots */
 	class HotspotGroup1 : public SceneObject {
 	public:
-		virtual void doAction(int action);
+		void doAction(int action) override;
 	};
 	class HotspotGroup3 : public SceneObject {
 	public:
-		virtual void doAction(int action);
+		void doAction(int action) override;
 	};
 	class HotspotGroup6 : public SceneObject {
 	public:
-		virtual void doAction(int action);
+		void doAction(int action) override;
 	};
 
 	class Hotspot3 : public SceneObject {
 	public:
-		virtual void doAction(int action);
+		void doAction(int action) override;
 	};
 
 public:
@@ -495,54 +495,54 @@ public:
 	HotspotGroup6 _hotspot25, _hotspot26;
 
 	Scene4150();
-	virtual void postInit(SceneObjectList *OwnerList = NULL);
-	virtual void signal();
-	virtual void dispatch();
+	void postInit(SceneObjectList *OwnerList = NULL) override;
+	void signal() override;
+	void dispatch() override;
 };
 
 class Scene4250 : public Scene {
 	/* Actions */
 	class Action1 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action2 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action3 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action4 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action5 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 
 	/* Hotspots */
 	class Hotspot1 : public SceneObject {
 	public:
-		virtual void doAction(int action);
+		void doAction(int action) override;
 	};
 	class Hotspot2 : public SceneObject {
 	public:
-		virtual void doAction(int action);
+		void doAction(int action) override;
 	};
 	class Hotspot4 : public SceneObject {
 	public:
-		virtual void doAction(int action);
+		void doAction(int action) override;
 	};
 	class Hotspot6 : public SceneObject {
 	public:
-		virtual void doAction(int action);
+		void doAction(int action) override;
 	};
 	class Hotspot8 : public SceneObject {
 	public:
-		virtual void doAction(int action);
+		void doAction(int action) override;
 	};
 
 public:
@@ -573,50 +573,50 @@ public:
 	Hotspot8 _hotspot8;
 
 	Scene4250();
-	virtual void postInit(SceneObjectList *OwnerList = NULL);
-	virtual void signal();
-	virtual void dispatch();
+	void postInit(SceneObjectList *OwnerList = NULL) override;
+	void signal() override;
+	void dispatch() override;
 };
 
 class Scene4300 : public Scene {
 	/* Actions */
 	class Action1 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action2 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 
 	/* Hotspots */
 	class Hotspot8 : public SceneObject {
 	public:
-		virtual void doAction(int action);
+		void doAction(int action) override;
 	};
 	class Hotspot9 : public NamedHotspot {
 	public:
-		virtual void doAction(int action);
+		void doAction(int action) override;
 	};
 	class Hotspot10 : public SceneObject {
 	public:
-		virtual void doAction(int action);
+		void doAction(int action) override;
 	};
 	class Hotspot15 : public SceneObject {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Hotspot16 : public SceneObject {
 	public:
-		virtual void doAction(int action);
+		void doAction(int action) override;
 	};
 	class Hotspot17 : public SceneObject {
 	public:
-		virtual void doAction(int action);
+		void doAction(int action) override;
 	};
 	class Hotspot19 : public SceneObject {
 	public:
-		virtual void doAction(int action);
+		void doAction(int action) override;
 	};
 public:
 	ASound _soundHandler1, _soundHandler2;
@@ -643,12 +643,12 @@ public:
 	Action2 _action2;
 
 	Scene4300();
-	virtual void postInit(SceneObjectList *OwnerList = NULL);
-	virtual void stripCallback(int v);
-	virtual void remove();
-	virtual void signal();
-	virtual void dispatch();
-	virtual void process(Event &event);
+	void postInit(SceneObjectList *OwnerList = NULL) override;
+	void stripCallback(int v) override;
+	void remove() override;
+	void signal() override;
+	void dispatch() override;
+	void process(Event &event) override;
 };
 
 class Scene4301 : public Scene {
@@ -658,20 +658,20 @@ class Scene4301 : public Scene {
 		SceneObject _buttonList[6];
 		int _indexList[6];
 
-		virtual void synchronize(Serializer &s);
-		virtual void remove();
-		virtual void signal();
-		virtual void process(Event &event);
+		void synchronize(Serializer &s) override;
+		void remove() override;
+		void signal() override;
+		void process(Event &event) override;
 	};
 
 	/* Hotspots */
 	class Hotspot4 : public NamedHotspot {
 	public:
-		virtual void doAction(int action);
+		void doAction(int action) override;
 	};
 	class Hotspot5 : public NamedHotspot {
 	public:
-		virtual void doAction(int action);
+		void doAction(int action) override;
 	};
 
 public:
@@ -684,9 +684,9 @@ public:
 	Hotspot5 _hotspot5;
 	bool _puzzleDone;
 
-	virtual void postInit(SceneObjectList *OwnerList = NULL);
-	virtual void dispatch();
-	virtual void synchronize(Serializer &s) {
+	void postInit(SceneObjectList *OwnerList = NULL) override;
+	void dispatch() override;
+	void synchronize(Serializer &s) override {
 		Scene::synchronize(s);
 		s.syncAsSint16LE(_puzzleDone);
 	}
diff --git a/engines/tsage/ringworld/ringworld_scenes6.h b/engines/tsage/ringworld/ringworld_scenes6.h
index fcc7f90..c6f284e 100644
--- a/engines/tsage/ringworld/ringworld_scenes6.h
+++ b/engines/tsage/ringworld/ringworld_scenes6.h
@@ -41,42 +41,42 @@ class Scene5000 : public Scene {
 	/* Actions */
 	class Action1 : public Action {
 	public:
-		virtual void signal();
-		virtual void dispatch();
+		void signal() override;
+		void dispatch() override;
 	};
 	class Action2 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action3 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action4 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action5 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action6 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 
 	/* Hotspots */
 	class Hotspot7 : public SceneObject {
 	public:
-		virtual void doAction(int action);
+		void doAction(int action) override;
 	};
 	class Hotspot8 : public SceneObject {
 	public:
-		virtual void doAction(int action);
+		void doAction(int action) override;
 	};
 	class HotspotGroup1 : public SceneObject {
 	public:
-		virtual void doAction(int action);
+		void doAction(int action) override;
 	};
 public:
 	SequenceManager _sequenceManager;
@@ -98,73 +98,73 @@ public:
 	DisplayHotspot _hotspot16, _hotspot17, _hotspot18;
 
 	Scene5000();
-	virtual void postInit(SceneObjectList *OwnerList = NULL);
-	virtual void signal();
-	virtual void dispatch();
+	void postInit(SceneObjectList *OwnerList = NULL) override;
+	void signal() override;
+	void dispatch() override;
 };
 
 class Scene5100 : public Scene {
 	/* Actions */
 	class Action1 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action2 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action3 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action4 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action5 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action6 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 
 	/* Hotspots */
 	class HotspotGroup1 : public SceneObject {
 	public:
-		virtual void doAction(int action);
+		void doAction(int action) override;
 	};
 	class HotspotGroup2 : public SceneObject {
 	public:
-		virtual void doAction(int action);
+		void doAction(int action) override;
 	};
 	class Hotspot4 : public SceneObject {
 	public:
-		virtual void doAction(int action);
+		void doAction(int action) override;
 	};
 	class Hotspot9 : public SceneObject {
 	public:
-		virtual void doAction(int action);
+		void doAction(int action) override;
 	};
 	class Hotspot17 : public SceneObject {
 	public:
-		virtual void doAction(int action);
+		void doAction(int action) override;
 	};
 	class Hotspot18 : public SceneHotspot {
 	public:
 		int _index1;
 		int _index2;
 
-		virtual void doAction(int action);
+		void doAction(int action) override;
 	};
 	class Hotspot19 : public SceneObject {
 	public:
-		virtual void doAction(int action);
+		void doAction(int action) override;
 	};
 	class Hotspot20 : public SceneObject {
 	public:
-		virtual void doAction(int action);
+		void doAction(int action) override;
 	};
 public:
 	SequenceManager _sequenceManager;
@@ -193,42 +193,42 @@ public:
 	DisplayHotspot _hotspot21;
 
 	Scene5100();
-	virtual void postInit(SceneObjectList *OwnerList = NULL);
-	virtual void signal();
-	virtual void dispatch();
+	void postInit(SceneObjectList *OwnerList = NULL) override;
+	void signal() override;
+	void dispatch() override;
 };
 
 class Scene5200 : public Scene {
 	/* Actions */
 	class Action1 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action2 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action3 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action4 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 
 	/* Hotspots */
 	class Hotspot9 : public SceneObjectExt {
 	public:
-		virtual void doAction(int action);
+		void doAction(int action) override;
 	};
 	class Hotspot10 : public SceneObjectExt {
 	public:
-		virtual void doAction(int action);
+		void doAction(int action) override;
 	};
 	class Hotspot14 : public SceneObject {
 	public:
-		virtual void doAction(int action);
+		void doAction(int action) override;
 	};
 public:
 	ASound _soundHandler;
@@ -250,50 +250,50 @@ public:
 	Hotspot14 _hotspot14;
 
 	Scene5200();
-	virtual void stripCallback(int v);
-	virtual void postInit(SceneObjectList *OwnerList = NULL);
-	virtual void dispatch();
+	void stripCallback(int v) override;
+	void postInit(SceneObjectList *OwnerList = NULL) override;
+	void dispatch() override;
 };
 
 class Scene5300 : public Scene {
 	/* Actions */
 	class Action1 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action2 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action3 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 
 	/* Hotspots */
 	class Hotspot1 : public SceneObject {
 	public:
-		virtual void doAction(int action);
+		void doAction(int action) override;
 	};
 	class Hotspot2 : public SceneObject {
 	public:
-		virtual void doAction(int action);
+		void doAction(int action) override;
 	};
 	class Hotspot5 : public SceneObject {
 	public:
-		virtual void doAction(int action);
+		void doAction(int action) override;
 	};
 	class Hotspot6 : public SceneObject {
 	public:
-		virtual void doAction(int action);
+		void doAction(int action) override;
 	};
 	class Hotspot7 : public SceneObject {
 	public:
-		virtual void doAction(int action);
+		void doAction(int action) override;
 	};
 	class Hotspot8 : public SceneObject {
 	public:
-		virtual void doAction(int action);
+		void doAction(int action) override;
 	};
 public:
 	ASound _soundHandler;
@@ -320,9 +320,9 @@ public:
 	Hotspot8 _hotspot8;
 
 	Scene5300();
-	virtual void postInit(SceneObjectList *OwnerList = NULL);
-	virtual void signal();
-	virtual void synchronize(Serializer &s);
+	void postInit(SceneObjectList *OwnerList = NULL) override;
+	void signal() override;
+	void synchronize(Serializer &s) override;
 };
 
 } // End of namespace Ringworld
diff --git a/engines/tsage/ringworld/ringworld_scenes8.h b/engines/tsage/ringworld/ringworld_scenes8.h
index ad5a915..320af64 100644
--- a/engines/tsage/ringworld/ringworld_scenes8.h
+++ b/engines/tsage/ringworld/ringworld_scenes8.h
@@ -42,60 +42,60 @@ public:
 	int _useLineNum, _lookLineNum;
 	NamedHotspotMult();
 
-	virtual Common::String getClassName() { return "NamedHotspotMult"; }
-	virtual void synchronize(Serializer &s);
+	Common::String getClassName() override { return "NamedHotspotMult"; }
+	void synchronize(Serializer &s) override;
 };
 
 class SceneObject7700 : public SceneObjectExt {
 public:
 	int _lookLineNum, _defltLineNum;
 
-	virtual void synchronize(Serializer &s);
-	virtual Common::String getClassName() { return "SceneObject7700"; }
+	void synchronize(Serializer &s) override;
+	Common::String getClassName() override { return "SceneObject7700"; }
 };
 
 class Scene7000 : public Scene {
 	/* Actions */
 	class Action1 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action2 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action3 : public Action {
 	public:
-		virtual void dispatch();
-		virtual void signal();
+		void dispatch() override;
+		void signal() override;
 	};
 	class Action4 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action5 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action6 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action7 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 
 	/* Objects */
 	class Object1 : public SceneObject {
 	public:
-		virtual void doAction(int action);
+		void doAction(int action) override;
 	};
 
 	/* Items */
 	class Hotspot1 : public SceneHotspot {
 	public:
-		virtual void doAction(int action);
+		void doAction(int action) override;
 	};
 
 public:
@@ -125,48 +125,48 @@ public:
 	Action7 _action7;
 	Hotspot1  _hotspot1;
 
-	virtual void postInit(SceneObjectList *OwnerList = NULL);
-	virtual void signal();
-	virtual void dispatch();
+	void postInit(SceneObjectList *OwnerList = NULL) override;
+	void signal() override;
+	void dispatch() override;
 };
 
 class Scene7100 : public Scene {
 	/* Actions */
 	class Action3 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action4 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action5 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action6 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action7 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action8 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action9 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action10 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action11 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 
 public:
@@ -209,18 +209,18 @@ public:
 	Action10 _action10;
 	Action11 _action11;
 
-	virtual void postInit(SceneObjectList *OwnerList = NULL);
+	void postInit(SceneObjectList *OwnerList = NULL) override;
 };
 
 class Scene7200 : public Scene {
 	/* Actions */
 	class Action1 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action2 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 
 public:
@@ -237,26 +237,26 @@ public:
 	SceneObject _object9;
 	ASound _soundHandler;
 
-	virtual void postInit(SceneObjectList *OwnerList = NULL);
+	void postInit(SceneObjectList *OwnerList = NULL) override;
 };
 
 class Scene7300 : public Scene {
 	/* Actions */
 	class Action1 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action2 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action3 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action4 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 
 public:
@@ -277,19 +277,19 @@ public:
 	Action3 _action3;
 	Action4 _action4;
 
-	virtual void postInit(SceneObjectList *OwnerList = NULL);
-	virtual void dispatch();
+	void postInit(SceneObjectList *OwnerList = NULL) override;
+	void dispatch() override;
 };
 
 class Scene7600 : public Scene {
 	/* Actions */
 	class Action1 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action2 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 
 public:
@@ -304,114 +304,114 @@ public:
 	ASound _soundHandler1;
 	ASound _soundHandler2;
 
-	virtual void postInit(SceneObjectList *OwnerList = NULL);
+	void postInit(SceneObjectList *OwnerList = NULL) override;
 };
 
 class Scene7700 : public Scene {
 	/* Actions */
 	class Action1 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action2 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action3 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action4 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action5 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action6 : public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 
 	class Object1 : public SceneObject7700 {
 	public:
-		virtual void signal();
-		virtual void doAction(int action);
+		void signal() override;
+		void doAction(int action) override;
 	};
 	class Object3 : public SceneObject {
 	public:
-		virtual void doAction(int action);
+		void doAction(int action) override;
 	};
 	class Object7 : public SceneObjectExt {
 	public:
-		virtual void doAction(int action);
+		void doAction(int action) override;
 	};
 	class Object8 : public SceneObject {
 	public:
-		virtual void doAction(int action);
+		void doAction(int action) override;
 	};
 	class Object9 : public SceneObject {
 	public:
-		virtual void doAction(int action);
+		void doAction(int action) override;
 	};
 	class Object10 : public SceneObject {
 	public:
-		virtual void doAction(int action);
+		void doAction(int action) override;
 	};
 	class Object11 : public SceneObject {
 	public:
-		virtual void doAction(int action);
+		void doAction(int action) override;
 	};
 	class Object12 : public SceneObject {
 	public:
-		virtual void doAction(int action);
+		void doAction(int action) override;
 	};
 
 	/* Items */
 	class SceneHotspot1 : public SceneHotspot {
 	public:
-		virtual void doAction(int action);
+		void doAction(int action) override;
 	};
 	class SceneHotspot2 : public SceneHotspot {
 	public:
-		virtual void doAction(int action);
+		void doAction(int action) override;
 	};
 	class SceneHotspot3 : public SceneHotspot {
 	public:
-		virtual void doAction(int action);
+		void doAction(int action) override;
 	};
 	class SceneHotspot4 : public SceneHotspot {
 	public:
-		virtual void doAction(int action);
+		void doAction(int action) override;
 	};
 	class SceneHotspot5 : public SceneHotspot {
 	public:
-		virtual void doAction(int action);
+		void doAction(int action) override;
 	};
 	class SceneHotspot6 : public SceneHotspot {
 	public:
-		virtual void doAction(int action);
+		void doAction(int action) override;
 	};
 	class SceneItem7 : public SceneItem {
 	public:
-		virtual void doAction(int action);
+		void doAction(int action) override;
 	};
 	class SceneHotspot8 : public SceneHotspot {
 	public:
-		virtual void doAction(int action);
+		void doAction(int action) override;
 	};
 	class SceneHotspot9 : public SceneHotspot {
 	public:
-		virtual void doAction(int action);
+		void doAction(int action) override;
 	};
 	class SceneItem10 : public SceneItem {
 	public:
-		virtual void doAction(int action);
+		void doAction(int action) override;
 	};
 	class SceneHotspot11 : public NamedHotspotMult {
 	public:
-		virtual void doAction(int action);
+		void doAction(int action) override;
 	};
 public:
 	ASound _soundHandler;
@@ -483,11 +483,11 @@ public:
 	int _seatCountLeft1, _seatCountRight, _seatCountLeft2;
 
 	Scene7700();
-	virtual void postInit(SceneObjectList *OwnerList = NULL);
-	virtual void signal();
-	virtual void process(Event &event);
-	virtual void dispatch();
-	virtual void synchronize(Serializer &s);
+	void postInit(SceneObjectList *OwnerList = NULL) override;
+	void signal() override;
+	void process(Event &event) override;
+	void dispatch() override;
+	void synchronize(Serializer &s) override;
 };
 
 } // End of namespace Ringworld
diff --git a/engines/tsage/ringworld/ringworld_speakers.h b/engines/tsage/ringworld/ringworld_speakers.h
index 59e25dc..2606dd5 100644
--- a/engines/tsage/ringworld/ringworld_speakers.h
+++ b/engines/tsage/ringworld/ringworld_speakers.h
@@ -43,15 +43,15 @@ public:
 public:
 	SpeakerGText();
 
-	virtual Common::String getClassName() { return "SpeakerGText"; }
-	virtual void setText(const Common::String &msg);
-	virtual void removeText();
+	Common::String getClassName() override { return "SpeakerGText"; }
+	void setText(const Common::String &msg) override;
+	void removeText() override;
 };
 
 class SpeakerPOR : public AnimatedSpeaker {
 	class SpeakerAction1 : public SpeakerAction {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 
 public:
@@ -59,153 +59,153 @@ public:
 	SpeakerAction1 _action2;
 public:
 	SpeakerPOR();
-	virtual Common::String getClassName() { return "SpeakerPOR"; }
-	virtual void setText(const Common::String &msg);
+	Common::String getClassName() override { return "SpeakerPOR"; }
+	void setText(const Common::String &msg) override;
 };
 
 class SpeakerOR : public AnimatedSpeaker {
 public:
 	SpeakerOR();
-	virtual Common::String getClassName() { return "SpeakerOR"; }
-	virtual void setText(const Common::String &msg);
+	Common::String getClassName() override { return "SpeakerOR"; }
+	void setText(const Common::String &msg) override;
 };
 
 class SpeakerOText : public SpeakerGText {
 public:
 	SpeakerOText();
 
-	virtual Common::String getClassName() { return "SpeakerOText"; }
+	Common::String getClassName() override { return "SpeakerOText"; }
 };
 
 class SpeakerPOText : public ScreenSpeaker {
 public:
 	SpeakerPOText();
 
-	virtual Common::String getClassName() { return "SpeakerPOText"; }
+	Common::String getClassName() override { return "SpeakerPOText"; }
 };
 
 class SpeakerSText : public ScreenSpeaker {
 public:
 	SpeakerSText();
 
-	virtual Common::String getClassName() { return "SpeakerSText"; }
+	Common::String getClassName() override { return "SpeakerSText"; }
 };
 
 class SpeakerQText : public ScreenSpeaker {
 public:
 	SpeakerQText();
 
-	virtual Common::String getClassName() { return "SpeakerQText"; }
+	Common::String getClassName() override { return "SpeakerQText"; }
 };
 
 class SpeakerMText : public ScreenSpeaker {
 public:
 	SpeakerMText();
 
-	virtual Common::String getClassName() { return "SpeakerMText"; }
+	Common::String getClassName() override { return "SpeakerMText"; }
 };
 
 class SpeakerCText : public ScreenSpeaker {
 public:
 	SpeakerCText();
 
-	virtual Common::String getClassName() { return "SpeakerCText"; }
+	Common::String getClassName() override { return "SpeakerCText"; }
 };
 
 class SpeakerEText : public ScreenSpeaker {
 public:
 	SpeakerEText();
 
-	virtual Common::String getClassName() { return "SpeakerEText"; }
+	Common::String getClassName() override { return "SpeakerEText"; }
 };
 
 class SpeakerGR : public AnimatedSpeaker {
 public:
 	SpeakerGR();
 
-	virtual Common::String getClassName() { return "SpeakerGR"; }
-	virtual void setText(const Common::String &msg);
+	Common::String getClassName() override { return "SpeakerGR"; }
+	void setText(const Common::String &msg) override;
 };
 
 class SpeakerHText : public ScreenSpeaker {
 public:
 	SpeakerHText();
 
-	virtual Common::String getClassName() { return "SpeakerHText"; }
+	Common::String getClassName() override { return "SpeakerHText"; }
 };
 
 class SpeakerPText : public ScreenSpeaker {
 public:
 	SpeakerPText();
 
-	virtual Common::String getClassName() { return "SpeakerPText"; }
+	Common::String getClassName() override { return "SpeakerPText"; }
 };
 
 class SpeakerCHFText : public ScreenSpeaker {
 public:
 	SpeakerCHFText();
 
-	virtual Common::String getClassName() { return "SpeakerCHFText"; }
+	Common::String getClassName() override { return "SpeakerCHFText"; }
 };
 
 class SpeakerSKText : public ScreenSpeaker {
 public:
 	SpeakerSKText();
 
-	virtual Common::String getClassName() { return "SpeakerSKText"; }
+	Common::String getClassName() override { return "SpeakerSKText"; }
 };
 
 class SpeakerCDRText : public ScreenSpeaker {
 public:
 	SpeakerCDRText();
 
-	virtual Common::String getClassName() { return "SpeakerCDRText"; }
+	Common::String getClassName() override { return "SpeakerCDRText"; }
 };
 
 class SpeakerFLText : public ScreenSpeaker {
 public:
 	SpeakerFLText();
 
-	virtual Common::String getClassName() { return "SpeakerFLText"; }
+	Common::String getClassName() override { return "SpeakerFLText"; }
 };
 
 class SpeakerBatText : public ScreenSpeaker {
 public:
 	SpeakerBatText();
 
-	virtual Common::String getClassName() { return "SpeakerFLText"; }
+	Common::String getClassName() override { return "SpeakerFLText"; }
 };
 
 class SpeakerQR : public AnimatedSpeaker {
 public:
 	SpeakerQR();
 
-	virtual Common::String getClassName() { return "SpeakerQR"; }
-	virtual void setText(const Common::String &msg);
+	Common::String getClassName() override { return "SpeakerQR"; }
+	void setText(const Common::String &msg) override;
 };
 
 class SpeakerQU : public AnimatedSpeaker {
 public:
 	SpeakerQU();
 
-	virtual Common::String getClassName() { return "SpeakerQU"; }
-	virtual void setText(const Common::String &msg);
+	Common::String getClassName() override { return "SpeakerQU"; }
+	void setText(const Common::String &msg) override;
 };
 
 class SpeakerSKL : public AnimatedSpeaker {
 public:
 	SpeakerSKL();
 
-	virtual Common::String getClassName() { return "SpeakerQL"; }
-	virtual void setText(const Common::String &msg);
+	Common::String getClassName() override { return "SpeakerQL"; }
+	void setText(const Common::String &msg) override;
 };
 
 class SpeakerQL : public AnimatedSpeaker {
 public:
 	SpeakerQL();
 
-	virtual Common::String getClassName() { return "SpeakerQL"; }
-	virtual void setText(const Common::String &msg);
+	Common::String getClassName() override { return "SpeakerQL"; }
+	void setText(const Common::String &msg) override;
 };
 
 class SpeakerSR : public AnimatedSpeaker {
@@ -214,64 +214,64 @@ public:
 public:
 	SpeakerSR();
 
-	virtual Common::String getClassName() { return "SpeakerSR"; }
-	void setText(const Common::String &msg);
+	Common::String getClassName() override { return "SpeakerSR"; }
+	void setText(const Common::String &msg) override;
 };
 
 class SpeakerSL : public AnimatedSpeaker {
 public:
 	SpeakerSL();
 
-	virtual Common::String getClassName() { return "SpeakerSL"; }
-	virtual void setText(const Common::String &msg);
+	Common::String getClassName() override { return "SpeakerSL"; }
+	void setText(const Common::String &msg) override;
 };
 
 class SpeakerCR : public AnimatedSpeaker {
 public:
 	SpeakerCR();
 
-	virtual Common::String getClassName() { return "SpeakerCR"; }
-	virtual void setText(const Common::String &msg);
+	Common::String getClassName() override { return "SpeakerCR"; }
+	void setText(const Common::String &msg) override;
 };
 
 class SpeakerMR : public AnimatedSpeaker {
 public:
 	SpeakerMR();
 
-	virtual Common::String getClassName() { return "SpeakerMR"; }
-	virtual void setText(const Common::String &msg);
+	Common::String getClassName() override { return "SpeakerMR"; }
+	void setText(const Common::String &msg) override;
 };
 
 class SpeakerSAL : public AnimatedSpeaker {
 public:
 	SpeakerSAL();
 
-	virtual Common::String getClassName() { return "SpeakerSAL"; }
-	virtual void setText(const Common::String &msg);
+	Common::String getClassName() override { return "SpeakerSAL"; }
+	void setText(const Common::String &msg) override;
 };
 
 class SpeakerML : public AnimatedSpeaker {
 public:
 	SpeakerML();
 
-	virtual Common::String getClassName() { return "SpeakerML"; }
-	virtual void setText(const Common::String &msg);
+	Common::String getClassName() override { return "SpeakerML"; }
+	void setText(const Common::String &msg) override;
 };
 
 class SpeakerCHFL : public AnimatedSpeaker {
 public:
 	SpeakerCHFL();
 
-	virtual Common::String getClassName() { return "SpeakerCHFL"; }
-	virtual void setText(const Common::String &msg);
+	Common::String getClassName() override { return "SpeakerCHFL"; }
+	void setText(const Common::String &msg) override;
 };
 
 class SpeakerCHFR : public AnimatedSpeaker {
 public:
 	SpeakerCHFR();
 
-	virtual Common::String getClassName() { return "SpeakerCHFR"; }
-	virtual void setText(const Common::String &msg);
+	Common::String getClassName() override { return "SpeakerCHFR"; }
+	void setText(const Common::String &msg) override;
 };
 
 class SpeakerPL : public AnimatedSpeaker {
@@ -281,9 +281,9 @@ public:
 
 	SpeakerPL();
 
-	virtual Common::String getClassName() { return "SpeakerPL"; }
-	virtual void setText(const Common::String &msg);
-	virtual void removeText();
+	Common::String getClassName() override { return "SpeakerPL"; }
+	void setText(const Common::String &msg) override;
+	void removeText() override;
 };
 
 class SpeakerPR : public AnimatedSpeaker {
@@ -293,41 +293,41 @@ public:
 
 	SpeakerPR();
 
-	virtual Common::String getClassName() { return "SpeakerPR"; }
-	virtual void setText(const Common::String &msg);
-	virtual void removeText();
+	Common::String getClassName() override { return "SpeakerPR"; }
+	void setText(const Common::String &msg) override;
+	void removeText() override;
 };
 
 class SpeakerCDR : public AnimatedSpeaker {
 public:
 	SpeakerCDR();
 
-	virtual Common::String getClassName() { return "SpeakerCDR"; }
-	virtual void setText(const Common::String &msg);
+	Common::String getClassName() override { return "SpeakerCDR"; }
+	void setText(const Common::String &msg) override;
 };
 
 class SpeakerCDL : public AnimatedSpeaker {
 public:
 	SpeakerCDL();
 
-	virtual Common::String getClassName() { return "SpeakerCDL"; }
-	virtual void setText(const Common::String &msg);
+	Common::String getClassName() override { return "SpeakerCDL"; }
+	void setText(const Common::String &msg) override;
 };
 
 class SpeakerFLL : public AnimatedSpeaker {
 public:
 	SpeakerFLL();
 
-	virtual Common::String getClassName() { return "SpeakerFLL"; }
-	virtual void setText(const Common::String &msg);
+	Common::String getClassName() override { return "SpeakerFLL"; }
+	void setText(const Common::String &msg) override;
 };
 
 class SpeakerBatR : public AnimatedSpeaker {
 public:
 	SpeakerBatR();
 
-	virtual Common::String getClassName() { return "SpeakerBatR"; }
-	virtual void setText(const Common::String &msg);
+	Common::String getClassName() override { return "SpeakerBatR"; }
+	void setText(const Common::String &msg) override;
 };
 
 } // End of namespace Ringworld
diff --git a/engines/tsage/ringworld2/ringworld2_airduct.h b/engines/tsage/ringworld2/ringworld2_airduct.h
index 89dfe77..082bd5d 100644
--- a/engines/tsage/ringworld2/ringworld2_airduct.h
+++ b/engines/tsage/ringworld2/ringworld2_airduct.h
@@ -44,7 +44,7 @@ class Scene1200 : public SceneExt {
 		class Jumper : public SceneActorExt {
 		public:
 			void init(int state);
-			virtual bool startAction(CursorType action, Event &event);
+			bool startAction(CursorType action, Event &event) override;
 		};
 
 		Jumper _jumper1;
@@ -53,8 +53,8 @@ class Scene1200 : public SceneExt {
 
 		LaserPanel();
 
-		virtual void postInit(SceneObjectList *OwnerList = NULL);
-		virtual void remove();
+		void postInit(SceneObjectList *OwnerList = NULL) override;
+		void remove() override;
 	};
 
 public:
@@ -72,15 +72,15 @@ public:
 	bool _fixupMaze;
 
 	Scene1200();
-	void synchronize(Serializer &s);
+	void synchronize(Serializer &s) override;
 
 	void startCrawling(CrawlDirection dir);
 
-	virtual void postInit(SceneObjectList *OwnerList = NULL);
-	virtual void signal();
-	virtual void process(Event &event);
-	virtual void dispatch();
-	virtual void saveCharacter(int characterIndex);
+	void postInit(SceneObjectList *OwnerList = NULL) override;
+	void signal() override;
+	void process(Event &event) override;
+	void dispatch() override;
+	void saveCharacter(int characterIndex) override;
 };
 
 } // End of namespace Ringworld2
diff --git a/engines/tsage/ringworld2/ringworld2_dialogs.h b/engines/tsage/ringworld2/ringworld2_dialogs.h
index 71e0c23..4b1c42a 100644
--- a/engines/tsage/ringworld2/ringworld2_dialogs.h
+++ b/engines/tsage/ringworld2/ringworld2_dialogs.h
@@ -53,10 +53,10 @@ private:
 	CursorType _previousCursor;
 public:
 	RightClickDialog();
-	~RightClickDialog();
+	~RightClickDialog() override;
 
-	virtual void draw();
-	virtual bool process(Event &event);
+	void draw() override;
+	bool process(Event &event) override;
 	int execute();
 };
 
@@ -67,7 +67,7 @@ private:
 	GfxButton _btnCancel;
 public:
 	CharacterDialog();
-	virtual ~CharacterDialog() {}
+	~CharacterDialog() override {}
 
 	static void show();
 };
@@ -80,11 +80,11 @@ private:
 	GfxButton _btnResume;
 public:
 	HelpDialog();
-	virtual ~HelpDialog() {}
+	~HelpDialog() override {}
 
 	static void show();
 
-	virtual bool handleKeypress(Event &event, GfxButton *&btn);
+	bool handleKeypress(Event &event, GfxButton *&btn) override;
 };
 
 } // End of namespace Ringworld2
diff --git a/engines/tsage/ringworld2/ringworld2_logic.h b/engines/tsage/ringworld2/ringworld2_logic.h
index d95f279..b953938 100644
--- a/engines/tsage/ringworld2/ringworld2_logic.h
+++ b/engines/tsage/ringworld2/ringworld2_logic.h
@@ -53,12 +53,12 @@ public:
 	SceneArea();
 	void setDetails(const Rect &bounds, CursorType cursor);
 
-	virtual Common::String getClassName() { return "SceneArea"; }
-	virtual void synchronize(Serializer &s);
-	virtual void remove();
-	virtual void process(Event &event);
-	virtual bool startAction(CursorType action, Event &event) { return false; }
-	virtual void doAction(int action) {}
+	Common::String getClassName() override { return "SceneArea"; }
+	void synchronize(Serializer &s) override;
+	void remove() override;
+	void process(Event &event) override;
+	bool startAction(CursorType action, Event &event) override { return false; }
+	void doAction(int action) override {}
 };
 
 class SceneExit: public SceneArea {
@@ -72,8 +72,8 @@ public:
 	virtual void setDest(const Common::Point &p) { _destPos = p; }
 	virtual void changeScene();
 
-	virtual void synchronize(Serializer &s);
-	virtual void process(Event &event);
+	void synchronize(Serializer &s) override;
+	void process(Event &event) override;
 };
 
 class SceneExt: public Scene {
@@ -92,13 +92,13 @@ public:
 public:
 	SceneExt();
 
-	virtual Common::String getClassName() { return "SceneExt"; }
-	virtual void synchronize(Serializer &s);
-	virtual void postInit(SceneObjectList *OwnerList = NULL);
-	virtual void remove();
-	virtual void process(Event &event);
-	virtual void dispatch();
-	virtual void refreshBackground(int xAmount, int yAmount);
+	Common::String getClassName() override { return "SceneExt"; }
+	void synchronize(Serializer &s) override;
+	void postInit(SceneObjectList *OwnerList = NULL) override;
+	void remove() override;
+	void process(Event &event) override;
+	void dispatch() override;
+	void refreshBackground(int xAmount, int yAmount) override;
 	virtual void saveCharacter(int characterIndex);
 	virtual void restore() {}
 
@@ -111,10 +111,10 @@ public:
 
 class SceneHandlerExt: public SceneHandler {
 public:
-	virtual void postInit(SceneObjectList *OwnerList = NULL);
-	virtual void process(Event &event);
-	virtual void postLoad(int priorSceneBeforeLoad, int currentSceneBeforeLoad);
-	virtual void dispatch();
+	void postInit(SceneObjectList *OwnerList = NULL) override;
+	void process(Event &event) override;
+	void postLoad(int priorSceneBeforeLoad, int currentSceneBeforeLoad) override;
+	void dispatch() override;
 
 	void setupPaletteMaps();
 };
@@ -127,7 +127,7 @@ private:
 public:
 	DisplayHotspot(int regionId, ...);
 
-	virtual void doAction(int action) {
+	void doAction(int action) override {
 		if (!performAction(action))
 			SceneHotspot::doAction(action);
 	}
@@ -140,7 +140,7 @@ private:
 public:
 	DisplayObject(int firstAction, ...);
 
-	virtual void doAction(int action) {
+	void doAction(int action) override {
 		if (!performAction(action))
 			SceneHotspot::doAction(action);
 	}
@@ -150,11 +150,11 @@ class SceneObjectExt : public SceneObject {
 public:
 	int _state;
 
-	virtual void synchronize(Serializer &s) {
+	void synchronize(Serializer &s) override {
 		SceneObject::synchronize(s);
 		s.syncAsSint16LE(_state);
 	}
-	virtual Common::String getClassName() { return "SceneObjectExt"; }
+	Common::String getClassName() override { return "SceneObjectExt"; }
 };
 
 /*--------------------------------------------------------------------------*/
@@ -222,31 +222,31 @@ public:
 	void reset();
 	void setObjectScene(int objectNum, int sceneNumber);
 
-	virtual Common::String getClassName() { return "Ringworld2InvObjectList"; }
+	Common::String getClassName() override { return "Ringworld2InvObjectList"; }
 };
 
 #define RING2_INVENTORY (*((::TsAGE::Ringworld2::Ringworld2InvObjectList *)g_globals->_inventory))
 
 class Ringworld2Game: public Game {
 public:
-	virtual void start();
-	virtual void restartGame();
-	virtual void restart();
-	virtual void endGame(int resNum, int lineNum);
+	void start() override;
+	void restartGame() override;
+	void restart() override;
+	void endGame(int resNum, int lineNum) override;
 
-	virtual Scene *createScene(int sceneNumber);
-	virtual void processEvent(Event &event);
-	virtual void rightClick();
-	virtual bool canSaveGameStateCurrently();
-	virtual bool canLoadGameStateCurrently();
+	Scene *createScene(int sceneNumber) override;
+	void processEvent(Event &event) override;
+	void rightClick() override;
+	bool canSaveGameStateCurrently() override;
+	bool canLoadGameStateCurrently() override;
 };
 
 class NamedHotspot : public SceneHotspot {
 public:
 	NamedHotspot();
 
-	virtual bool startAction(CursorType action, Event &event);
-	virtual Common::String getClassName() { return "NamedHotspot"; }
+	bool startAction(CursorType action, Event &event) override;
+	Common::String getClassName() override { return "NamedHotspot"; }
 };
 
 class NamedHotspotExt : public NamedHotspot {
@@ -254,8 +254,8 @@ public:
 	int _flag;
 	NamedHotspotExt() { _flag = 0; }
 
-	virtual Common::String getClassName() { return "NamedHotspot"; }
-	virtual void synchronize(Serializer &s) {
+	Common::String getClassName() override { return "NamedHotspot"; }
+	void synchronize(Serializer &s) override {
 		NamedHotspot::synchronize(s);
 		s.syncAsSint16LE(_flag);
 	}
@@ -263,11 +263,11 @@ public:
 
 class SceneActor: public SceneObject {
 public:
-	virtual Common::String getClassName() { return "SceneActor"; }
-	virtual void postInit(SceneObjectList *OwnerList = NULL);
-	virtual void remove();
-	virtual bool startAction(CursorType action, Event &event);
-	virtual GfxSurface getFrame();
+	Common::String getClassName() override { return "SceneActor"; }
+	void postInit(SceneObjectList *OwnerList = NULL) override;
+	void remove() override;
+	bool startAction(CursorType action, Event &event) override;
+	GfxSurface getFrame() override;
 };
 
 class SceneActorExt: public SceneActor {
@@ -276,8 +276,8 @@ public:
 
 	SceneActorExt() { _state = 0; }
 
-	virtual Common::String getClassName() { return "SceneActorExt"; }
-	virtual void synchronize(Serializer &s) {
+	Common::String getClassName() override { return "SceneActorExt"; }
+	void synchronize(Serializer &s) override {
 		SceneActor::synchronize(s);
 		s.syncAsSint16LE(_state);
 	}
@@ -310,7 +310,7 @@ public:
 	int _mapImagePitch;
 public:
 	MazeUI();
-	virtual ~MazeUI();
+	~MazeUI() override;
 
 	void setDisplayBounds(const Rect &r);
 	bool setMazePosition(const Common::Point &pt);
@@ -319,10 +319,10 @@ public:
 	int getCellFromCellXY(const Common::Point &p);
 	int pixelToCellXY(Common::Point &pt);
 
-	virtual Common::String getClassName() { return "MazeUI"; }
-	virtual void synchronize(Serializer &s);
-	virtual void reposition();
-	virtual void draw();
+	Common::String getClassName() override { return "MazeUI"; }
+	void synchronize(Serializer &s) override;
+	void reposition() override;
+	void draw() override;
 };
 
 class SceneAreaObject: public SceneArea {
@@ -333,8 +333,8 @@ public:
 	Object1 _object1;
 	int _insetCount;
 
-	virtual void remove();
-	virtual void process(Event &event);
+	void remove() override;
+	void process(Event &event) override;
 	void setDetails(int visage, int strip, int frameNumber, const Common::Point &pt);
 	void setDetails(int resNum, int lookLineNum, int talkLineNum, int useLineNum);
 };
@@ -425,12 +425,12 @@ public:
 	uint32 _gameFrame;
 public:
 	AnimationPlayer();
-	~AnimationPlayer();
+	~AnimationPlayer() override;
 
-	virtual void synchronize(Serializer &s);
-	virtual void remove();
-	virtual void process(Event &event);
-	virtual void dispatch();
+	void synchronize(Serializer &s) override;
+	void remove() override;
+	void process(Event &event) override;
+	void dispatch() override;
 	virtual void flipPane() {}
 	virtual void changePane() {}
 	virtual void closing() {}
@@ -447,7 +447,7 @@ public:
 public:
 	AnimationPlayerExt();
 
-	virtual void synchronize(Serializer &s);
+	void synchronize(Serializer &s) override;
 };
 
 class ModalWindow: public SceneArea {
@@ -457,10 +457,10 @@ public:
 public:
 	ModalWindow();
 
-	virtual void remove();
-	virtual void synchronize(Serializer &s);
-	virtual Common::String getClassName() { return "ModalWindow"; }
-	virtual void process(Event &event);
+	void remove() override;
+	void synchronize(Serializer &s) override;
+	Common::String getClassName() override { return "ModalWindow"; }
+	void process(Event &event) override;
 	virtual void setup2(int visage, int stripFrameNum, int frameNum, int posX, int posY);
 	virtual void setup3(int resNum, int lookLineNum, int talkLineNum, int useLineNum);
 };
@@ -477,10 +477,10 @@ class ScannerDialog: public ModalWindow {
 		Button();
 		void setup(int buttonId);
 
-		virtual void synchronize(Serializer &s);
-		virtual Common::String getClassName() { return "ScannerButton"; }
-		virtual void process(Event &event);
-		virtual bool startAction(CursorType action, Event &event);
+		void synchronize(Serializer &s) override;
+		Common::String getClassName() override { return "ScannerButton"; }
+		void process(Event &event) override;
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class Slider: public SceneActor {
 	private:
@@ -496,11 +496,11 @@ class ScannerDialog: public ModalWindow {
 		Slider();
 		void setup(int initial, int xStart, int yp, int width, int xInc);
 
-		virtual void synchronize(Serializer &s);
-		virtual Common::String getClassName() { return "ScannerSlider"; }
-		virtual void remove();
-		virtual void process(Event &event);
-		virtual bool startAction(CursorType action, Event &event);
+		void synchronize(Serializer &s) override;
+		Common::String getClassName() override { return "ScannerSlider"; }
+		void remove() override;
+		void process(Event &event) override;
+		bool startAction(CursorType action, Event &event) override;
 	};
 public:
 	Button _talkButton;
@@ -513,9 +513,9 @@ public:
 public:
 	ScannerDialog();
 
-	virtual Common::String getClassName() { return "ScannerDialog"; }
-	virtual void remove();
-	virtual void setup2(int visage, int stripFrameNum, int frameNum, int posX, int posY);
+	Common::String getClassName() override { return "ScannerDialog"; }
+	void remove() override;
+	void setup2(int visage, int stripFrameNum, int frameNum, int posX, int posY) override;
 };
 
 } // End of namespace Ringworld2
diff --git a/engines/tsage/ringworld2/ringworld2_outpost.h b/engines/tsage/ringworld2/ringworld2_outpost.h
index 6c6952c..187beee 100644
--- a/engines/tsage/ringworld2/ringworld2_outpost.h
+++ b/engines/tsage/ringworld2/ringworld2_outpost.h
@@ -45,7 +45,7 @@ class Scene1337 : public SceneExt {
 		GfxButton _continueGame;
 
 		OptionsDialog();
-		virtual ~OptionsDialog() {}
+		~OptionsDialog() override {}
 		virtual GfxButton *execute(GfxButton *defaultButton);
 	public:
 		static void show();
@@ -59,7 +59,7 @@ class Scene1337 : public SceneExt {
 		Common::Point _stationPos;
 
 		Card();
-		void synchronize(Serializer &s);
+		void synchronize(Serializer &s) override;
 		bool isIn(Common::Point pt);
 	};
 
@@ -77,7 +77,7 @@ class Scene1337 : public SceneExt {
 		int _frameNum;
 
 		GameBoardSide();
-		void synchronize(Serializer &s);
+		void synchronize(Serializer &s) override;
 	};
 
 	class Action1337: public Action {
@@ -87,55 +87,55 @@ class Scene1337 : public SceneExt {
 
 	class Action1: public Action1337 {
 	public:
-		void signal();
+		void signal() override;
 	};
 	class Action2: public Action1337 {
 	public:
-		void signal();
+		void signal() override;
 	};
 	class Action3: public Action1337 {
 	public:
-		void signal();
+		void signal() override;
 	};
 	class Action4: public Action1337 {
 	public:
-		void signal();
+		void signal() override;
 	};
 	class Action5: public Action1337 {
 	public:
-		void signal();
+		void signal() override;
 	};
 	class Action6: public Action1337 {
 	public:
-		void signal();
+		void signal() override;
 	};
 	class Action7: public Action1337 {
 	public:
-		void signal();
+		void signal() override;
 	};
 	class Action8: public Action1337 {
 	public:
-		void signal();
+		void signal() override;
 	};
 	class Action9: public Action1337 {
 	public:
-		void signal();
+		void signal() override;
 	};
 	class Action10: public Action1337 {
 	public:
-		void signal();
+		void signal() override;
 	};
 	class Action11: public Action1337 {
 	public:
-		void signal();
+		void signal() override;
 	};
 	class Action12: public Action1337 {
 	public:
-		void signal();
+		void signal() override;
 	};
 	class Action13: public Action1337 {
 	public:
-		void signal();
+		void signal() override;
 	};
 public:
 	Action1 _action1;
@@ -196,7 +196,7 @@ public:
 	SceneObject _lowerDisplayCard[8];
 
 	Scene1337();
-	virtual void synchronize(Serializer &s);
+	void synchronize(Serializer &s) override;
 
 	void actionDisplay(int resNum, int lineNum, int x, int y, int keepOnScreen, int width, int textMode, int fontNum, int colFG, int colBGExt, int colFGExt);
 	void setAnimationInfo(Card *card);
@@ -247,10 +247,10 @@ public:
 	void subD1940(bool flag);
 	void subD1975(int arg1, int arg2);
 
-	virtual void postInit(SceneObjectList *OwnerList = NULL);
-	virtual void remove();
-	virtual void process(Event &event);
-	virtual void dispatch();
+	void postInit(SceneObjectList *OwnerList = NULL) override;
+	void remove() override;
+	void process(Event &event) override;
+	void dispatch() override;
 };
 
 } // End of namespace Ringworld2
diff --git a/engines/tsage/ringworld2/ringworld2_scenes0.h b/engines/tsage/ringworld2/ringworld2_scenes0.h
index f50c9a9..b1237e4 100644
--- a/engines/tsage/ringworld2/ringworld2_scenes0.h
+++ b/engines/tsage/ringworld2/ringworld2_scenes0.h
@@ -43,43 +43,43 @@ class Scene50: public SceneExt {
 
 	class Action1: public Action {
 	public:
-		void signal();
+		void signal() override;
 	};
 
 public:
 	Action1 _action1;
 
-	virtual void postInit(SceneObjectList *OwnerList = NULL);
-	virtual void process(Event &event);
+	void postInit(SceneObjectList *OwnerList = NULL) override;
+	void process(Event &event) override;
 };
 
 class Scene100: public SceneExt {
 	/* Objects */
 	class Door: public SceneActorExt {
 	public:
-		bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class Table: public SceneActor {
 	public:
-		bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class StasisNegator: public SceneActor {
 	public:
-		bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class DoorDisplay: public SceneActorExt {
 	public:
-		bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class SteppingDisks: public SceneActor {
 	public:
-		bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 
 	/* Items */
 	class Terminal: public NamedHotspot{
 	public:
-		bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 
 public:
@@ -94,17 +94,17 @@ public:
 	SteppingDisks _steppingDisks;
 	SequenceManager _sequenceManager1, _sequenceManager2;
 
-	virtual void postInit(SceneObjectList *OwnerList = NULL);
-	virtual void remove();
-	virtual void signal();
-	virtual void dispatch();
+	void postInit(SceneObjectList *OwnerList = NULL) override;
+	void remove() override;
+	void signal() override;
+	void dispatch() override;
 };
 
 class Scene125: public SceneExt {
 	/* Objects */
 	class Food: public SceneActor {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 
 	class Icon: public SceneActor {
@@ -115,10 +115,10 @@ class Scene125: public SceneExt {
 		SceneText _sceneText1, _sceneText2;
 
 		Icon();
-		virtual Common::String getClassName() { return "Scene125_Icon"; }
-		virtual void postInit(SceneObjectList *OwnerList = NULL);
-		virtual void synchronize(Serializer &s);
-		virtual void process(Event &event);
+		Common::String getClassName() override { return "Scene125_Icon"; }
+		void postInit(SceneObjectList *OwnerList = NULL) override;
+		void synchronize(Serializer &s) override;
+		void process(Event &event) override;
 
 		void setIcon(int id);
 		void showIcon();
@@ -128,7 +128,7 @@ class Scene125: public SceneExt {
 	/* Items */
 	class DiskSlot: public NamedHotspot {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 
 public:
@@ -146,11 +146,11 @@ public:
 	int _soundIndexes[10];
 
 	Scene125();
-	virtual void postInit(SceneObjectList *OwnerList = NULL);
-	virtual void synchronize(Serializer &s);
-	virtual void signal();
-	virtual void process(Event &event);
-	virtual void dispatch();
+	void postInit(SceneObjectList *OwnerList = NULL) override;
+	void synchronize(Serializer &s) override;
+	void signal() override;
+	void process(Event &event) override;
+	void dispatch() override;
 
 	void consoleAction(int id);
 	void setDetails(int resNum, int lineNum);
@@ -162,15 +162,15 @@ class Scene150: public Scene100 {
 public:
 	SceneActor _emptyRoomTable;
 public:
-	virtual void postInit(SceneObjectList *OwnerList = NULL);
-	virtual void remove();
-	virtual void signal();
+	void postInit(SceneObjectList *OwnerList = NULL) override;
+	void remove() override;
+	void signal() override;
 };
 
 class Scene160: public SceneExt {
 	class Action1: public Action {
 	public:
-		void signal();
+		void signal() override;
 	};
 public:
 	ASound _sound1;
@@ -180,10 +180,10 @@ public:
 	SynchronizedList<SceneText *> _creditsList;
 public:
 	Scene160();
-	virtual void postInit(SceneObjectList *OwnerList = NULL);
-	virtual void synchronize(Serializer &s);
-	virtual void remove();
-	virtual void process(Event &event);
+	void postInit(SceneObjectList *OwnerList = NULL) override;
+	void synchronize(Serializer &s) override;
+	void remove() override;
+	void process(Event &event) override;
 };
 
 class Scene175: public Scene150 {
@@ -192,7 +192,7 @@ class Scene175: public Scene150 {
 class Scene180: public SceneExt {
 	class Action1: public Action {
 	public:
-		void signal();
+		void signal() override;
 	};
 private:
 	void setSceneDelay(int v);
@@ -216,38 +216,38 @@ public:
 public:
 	Scene180();
 
-	virtual void postInit(SceneObjectList *OwnerList = NULL);
-	virtual void synchronize(Serializer &s);
-	virtual void remove();
-	virtual void signal();
-	virtual void process(Event &event);
-	virtual void dispatch();
-	virtual void restore();
+	void postInit(SceneObjectList *OwnerList = NULL) override;
+	void synchronize(Serializer &s) override;
+	void remove() override;
+	void signal() override;
+	void process(Event &event) override;
+	void dispatch() override;
+	void restore() override;
 };
 
 class Scene200: public SceneExt {
 	/* Objects */
 	class NorthDoor: public SceneActor {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class EastDoor: public SceneActor {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class WestDoor: public SceneActor {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 
 	/* Scene Exits */
 	class EastExit: public SceneExit {
 	public:
-		virtual void changeScene();
+		void changeScene() override;
 	};
 	class WestExit: public SceneExit {
 	public:
-		virtual void changeScene();
+		void changeScene() override;
 	};
 public:
 	NamedHotspot _background, _compartment, _westDoorDisplay, _eastDoorDisplay;
@@ -258,15 +258,15 @@ public:
 	WestExit _westExit;
 	SequenceManager _sequenceManager;
 
-	virtual void postInit(SceneObjectList *OwnerList = NULL);
-	virtual void signal();
+	void postInit(SceneObjectList *OwnerList = NULL) override;
+	void signal() override;
 };
 
 class Star: public SceneObject {
 public:
 	int _x100, _y100;
 public:
-	virtual Common::String getClassName() { return "Scene205_Star"; }
+	Common::String getClassName() override { return "Scene205_Star"; }
 };
 
 class Scene205: public SceneExt {
@@ -275,7 +275,7 @@ class Scene205: public SceneExt {
 	private:
 		void textLoop();
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 private:
 	void setup();
@@ -297,18 +297,18 @@ public:
 public:
 	Scene205();
 
-	virtual void postInit(SceneObjectList *OwnerList = NULL);
-	virtual void synchronize(Serializer &s);
-	virtual void remove();
-	virtual void process(Event &event);
-	virtual void dispatch();
+	void postInit(SceneObjectList *OwnerList = NULL) override;
+	void synchronize(Serializer &s) override;
+	void remove() override;
+	void process(Event &event) override;
+	void dispatch() override;
 };
 
 class Scene205Demo: public SceneExt {
 	/* Actions */
 	class Action1: public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 private:
 	void leaveScene();
@@ -317,9 +317,9 @@ public:
 	ASound _sound1;
 	Action1 _action1;
 public:
-	virtual void postInit(SceneObjectList *OwnerList = NULL);
-	virtual void remove();
-	virtual void process(Event &event);
+	void postInit(SceneObjectList *OwnerList = NULL) override;
+	void remove() override;
+	void process(Event &event) override;
 };
 
 class Scene250: public SceneExt {
@@ -329,8 +329,8 @@ class Scene250: public SceneExt {
 		Button();
 		void setFloor(int floorNumber);
 
-		virtual void synchronize(Serializer &s);
-		virtual bool startAction(CursorType action, Event &event);
+		void synchronize(Serializer &s) override;
+		bool startAction(CursorType action, Event &event) override;
 	};
 public:
 	int _currButtonY, _destButtonY, _elevatorSpeed;
@@ -345,62 +345,62 @@ public:
 	Scene250();
 	void changeFloor(int floorNumber);
 
-	virtual void synchronize(Serializer &s);
-	virtual void postInit(SceneObjectList *OwnerList = NULL);
-	virtual void signal();
-	virtual void process(Event &event);
-	virtual void dispatch();
+	void synchronize(Serializer &s) override;
+	void postInit(SceneObjectList *OwnerList = NULL) override;
+	void signal() override;
+	void process(Event &event) override;
+	void dispatch() override;
 };
 
 class Scene300: public SceneExt {
 	/* Actions */
 	class Action1: public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action2: public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action3: public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 	class Action4: public Action {
 	public:
-		virtual void signal();
+		void signal() override;
 	};
 
 	/* Items */
 	class QuinnWorkstation: public NamedHotspot {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class MirandaWorkstation: public NamedHotspot {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class SeekerWorkstation: public NamedHotspot {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 
 	/* Objects */
 	class Miranda: public SceneActor {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class Seeker: public SceneActor {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class Quinn: public SceneActor {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class Doorway: public SceneActor {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 public:
 	SequenceManager _sequenceManager1, _sequenceManager2, _sequenceManager3, _sequenceManager4;
@@ -435,10 +435,10 @@ public:
 	Scene300();
 	void signal309();
 
-	virtual void synchronize(Serializer &s);
-	virtual void postInit(SceneObjectList *OwnerList = NULL);
-	virtual void remove();
-	virtual void signal();
+	void synchronize(Serializer &s) override;
+	void postInit(SceneObjectList *OwnerList = NULL) override;
+	void remove() override;
+	void signal() override;
 };
 
 class Scene325: public SceneExt {
@@ -450,10 +450,10 @@ class Scene325: public SceneExt {
 		SceneText _sceneText1, _sceneText2;
 
 		Icon();
-		virtual Common::String getClassName() { return "Scene325_Icon"; }
-		virtual void postInit(SceneObjectList *OwnerList = NULL);
-		virtual void synchronize(Serializer &s);
-		virtual void process(Event &event);
+		Common::String getClassName() override { return "Scene325_Icon"; }
+		void postInit(SceneObjectList *OwnerList = NULL) override;
+		void synchronize(Serializer &s) override;
+		void process(Event &event) override;
 
 		void setIcon(int id);
 		void showIcon();
@@ -485,37 +485,37 @@ public:
 public:
 	Scene325();
 
-	virtual void postInit(SceneObjectList *OwnerList = NULL);
-	virtual void synchronize(Serializer &s);
-	virtual void remove();
-	virtual void signal();
-	virtual void process(Event &event);
-	virtual void dispatch();
+	void postInit(SceneObjectList *OwnerList = NULL) override;
+	void synchronize(Serializer &s) override;
+	void remove() override;
+	void signal() override;
+	void process(Event &event) override;
+	void dispatch() override;
 };
 
 class Scene400: public SceneExt {
 	/* Items */
 	class Terminal: public NamedHotspot {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 
 	/* Objects */
 	class Door: public SceneActor {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class Reader: public SceneActor {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class SensorProbe: public SceneActor {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class AttractorUnit: public SceneActor {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 public:
 	NamedHotspot _background, _equipment1, _equipment2, _equipment3;
@@ -533,10 +533,10 @@ public:
 	SequenceManager _sequenceManager1;
 	ASoundExt _sound1;
 
-	virtual void postInit(SceneObjectList *OwnerList = NULL);
-	virtual void remove();
-	virtual void signal();
-	virtual void dispatch();
+	void postInit(SceneObjectList *OwnerList = NULL) override;
+	void remove() override;
+	void signal() override;
+	void dispatch() override;
 };
 
 class Scene500: public SceneExt {
@@ -550,67 +550,67 @@ class Scene500: public SceneExt {
 			void doButtonPress();
 		public:
 			Button();
-			virtual Common::String getClassName() { return "Scene500_Button"; }
-			virtual void process(Event &event);
-			virtual bool startAction(CursorType action, Event &event);
-			virtual void synchronize(Serializer &s);
+			Common::String getClassName() override { return "Scene500_Button"; }
+			void process(Event &event) override;
+			bool startAction(CursorType action, Event &event) override;
+			void synchronize(Serializer &s) override;
 
 			void setupButton(int buttonId);
 		};
 	public:
 		Button _button1, _button2, _button3;
 
-		virtual Common::String getClassName() { return "Scene500_PanelWindow"; }
-		virtual void remove();
+		Common::String getClassName() override { return "Scene500_PanelWindow"; }
+		void remove() override;
 		void setDetails(int visage, int strip, int frameNumber, const Common::Point &pt);
 	};
 
 	/* Items */
 	class ControlPanel: public SceneHotspot {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 
 	/* Objects */
 	class Seeker: public SceneActor {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class Suit: public SceneActor {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class Doorway: public SceneActor {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class OxygenTanks: public SceneActor {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class AirLock: public SceneActor {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class TransparentDoor: public SceneActor {
 	public:
-		virtual void draw();
+		void draw() override;
 	};
 	class Aerosol: public SceneActor {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class SonicStunner: public SceneActor {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class Locker1: public SceneActor {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class Locker2: public SceneActor {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 public:
 	int _stripNumber;
@@ -633,9 +633,9 @@ public:
 	ASoundExt _sound1;
 	SequenceManager _sequenceManager1, _sequenceManager2;
 public:
-	virtual void postInit(SceneObjectList *OwnerList = NULL);
-	virtual void synchronize(Serializer &s);
-	virtual void signal();
+	void postInit(SceneObjectList *OwnerList = NULL) override;
+	void synchronize(Serializer &s) override;
+	void signal() override;
 };
 
 class Scene525: public SceneExt {
@@ -643,41 +643,41 @@ public:
 	SceneActor _actor1;
 	SequenceManager _sequenceManager;
 
-	virtual void postInit(SceneObjectList *OwnerList = NULL);
-	virtual void signal();
+	void postInit(SceneObjectList *OwnerList = NULL) override;
+	void signal() override;
 };
 
 class Scene600 : public SceneExt {
 	class CompartmentHotspot : public NamedHotspot {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class EngineCompartment : public NamedHotspot {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 
 	class Smoke : public SceneActor {
 	public:
-		virtual void signal();
-		virtual bool startAction(CursorType action, Event &event);
-		virtual void draw();
+		void signal() override;
+		bool startAction(CursorType action, Event &event) override;
+		void draw() override;
 	};
 	class Doorway : public SceneActor {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class Laser : public SceneActor {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class Aerosol : public SceneActor {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class Scanner : public SceneActor {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 public:
 	int _roomState;
@@ -701,43 +701,43 @@ public:
 	byte _pixelMap[256];
 
 	Scene600();
-	virtual void postInit(SceneObjectList *OwnerList = NULL);
-	virtual void remove();
-	virtual void signal();
-	virtual void process(Event &event);
-	virtual void dispatch();
-	virtual void synchronize(Serializer &s);
+	void postInit(SceneObjectList *OwnerList = NULL) override;
+	void remove() override;
+	void signal() override;
+	void process(Event &event) override;
+	void dispatch() override;
+	void synchronize(Serializer &s) override;
 };
 
 class Scene700: public SceneExt {
 	class Loft : public NamedHotspot {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class HandGrip : public NamedHotspot {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 
 	class LiftDoor : public SceneActor {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class SuitRoomDoor : public SceneActor {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class ControlPanel : public SceneActor {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class Cable : public SceneActor {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class LoftDoor : public SceneActor {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 public:
 	NamedHotspot _background;
@@ -765,43 +765,43 @@ public:
 	PaletteRotation *_rotation;
 
 	Scene700();
-	virtual void postInit(SceneObjectList *OwnerList = NULL);
-	virtual void remove();
-	virtual void signal();
-	virtual void synchronize(Serializer &s);
+	void postInit(SceneObjectList *OwnerList = NULL) override;
+	void remove() override;
+	void signal() override;
+	void synchronize(Serializer &s) override;
 };
 
 class Scene800: public SceneExt {
 	/* Items */
 	class Button: public NamedHotspot {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class CableJunction: public NamedHotspot {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class DeviceSlot: public NamedHotspot {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 
 	/* Objects */
 	class Door: public SceneActor {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class Tray: public SceneActor {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class ComScanner: public SceneActor {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class Cabinet: public SceneActor {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 public:
 	NamedHotspot _background, _autoDoc, _diskSlot, _couch;
@@ -816,8 +816,8 @@ public:
 	Cabinet _cabinet;
 	SequenceManager _sequenceManager1;
 
-	virtual void postInit(SceneObjectList *OwnerList = NULL);
-	virtual void signal();
+	void postInit(SceneObjectList *OwnerList = NULL) override;
+	void signal() override;
 };
 
 class Scene825: public SceneExt {
@@ -832,9 +832,9 @@ class Scene825: public SceneExt {
 		void setButton(int buttonId);
 		void setText(int textId);
 
-		virtual void synchronize(Serializer &s);
-		virtual void process(Event &event);
-		virtual bool startAction(CursorType action, Event &event);
+		void synchronize(Serializer &s) override;
+		void process(Event &event) override;
+		bool startAction(CursorType action, Event &event) override;
 	};
 public:
 	NamedHotspot _background, _console;
@@ -847,12 +847,12 @@ public:
 	const char *_autodocItems[11];
 public:
 	Scene825();
-	virtual void synchronize(Serializer &s);
-	virtual void postInit(SceneObjectList *OwnerList = NULL);
-	virtual void remove();
-	virtual void signal();
-	virtual void process(Event &event);
-	virtual void dispatch();
+	void synchronize(Serializer &s) override;
+	void postInit(SceneObjectList *OwnerList = NULL) override;
+	void remove() override;
+	void signal() override;
+	void process(Event &event) override;
+	void dispatch() override;
 
 	void doButtonPress(int buttonId);
 };
@@ -861,25 +861,25 @@ class Scene850: public SceneExt {
 	/* Items */
 	class Indicator: public NamedHotspot {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 
 	/* Objects */
 	class LiftDoor: public SceneActor {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class SickBayDoor: public SceneActor {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class Clamp: public SceneActor {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 	class Panel: public SceneActor {
 	public:
-		virtual bool startAction(CursorType action, Event &event);
+		bool startAction(CursorType action, Event &event) override;
 	};
 public:
 	NamedHotspot _background, _eastDoor, _compartment, _sickBayIndicator;
@@ -892,8 +892,8 @@ public:
 	Panel _panel;
 	SequenceManager _sequenceManager1;
 
-	virtual void postInit(SceneObjectList *OwnerList = NULL);
-	virtual void signal();
+	void postInit(SceneObjectList *OwnerList = NULL) override;
+	void signal() override;
 };
 
 class Scene900 : public SceneExt {
@@ -903,8 +903,8 @@ class Scene900 : public SceneExt {
 
 		Button();
 		void initButton(int buttonId);
-		virtual void synchronize(Serializer &s);
-		virtual bool startAction(CursorType action, Event &event);
+		void synchronize(Serializer &s) override;
+		bool startAction(CursorType action, Event &event) override;
 	};
 public:
 	int _controlsScreenNumber;
@@ -924,11 +924,11 @@ public:
 	SequenceManager _sequenceManager1;
 
 	Scene900();
-	virtual void postInit(SceneObjectList *OwnerList = NULL);
-	virtual void remove();
-	virtual void signal();
-	virtual void dispatch();
-	virtual void synchronize(Serializer &s);
+	void postInit(SceneObjectList *OwnerList = NULL) override;
+	void remove() override;
+	void signal() override;
+	void dispatch() override;
+	void synchronize(Serializer &s) override;
 };
 
 } // End of namespace Ringworld2
diff --git a/engines/tsage/ringworld2/ringworld2_scenes1.h b/engines/tsage/ringworld2/ringworld2_scenes1.h
index e6f5e0a..1d9b94b 100644
--- a/engines/tsage/ringworld2/ringworld2_scenes1.h
+++ b/engines/tsage/ringworld2/ringworld2_scenes1.h
@@ -51,41 +51,41 @@ public:
 public:
 	Scene1000();
 
-	virtual void postInit(SceneObjectList *OwnerList = NULL);
-	virtual void remove();
-	virtual void signal();
-	virtual void dispatch();
+	void postInit(SceneObjectList *OwnerList = NULL) override;
+	void remove() override;
+	void signal() override;
+	void dispatch() override;
 };
 
 class Scene1010 : public SceneExt {
 public:
 	SequenceManager _sequenceManager;
 
-	virtual void postInit(SceneObjectList *OwnerList = NULL);
-	virtual void signal();
+	void postInit(SceneObjectList *OwnerList = NULL) override;
+	void signal() override;
 };
 
 class Scene1020 : public SceneExt {
 public:


Commit: 31771a565eda4cc1611d2f284eec7a587660f6ad
    https://github.com/scummvm/scummvm/commit/31771a565eda4cc1611d2f284eec7a587660f6ad
Author: Bastien Bouclet (bastien.bouclet at gmail.com)
Date: 2020-02-09T12:43:16+01:00

Commit Message:
TUCKER: Add override keywords

Changed paths:
    engines/tucker/console.h
    engines/tucker/detection.cpp
    engines/tucker/tucker.h


diff --git a/engines/tucker/console.h b/engines/tucker/console.h
index 22f4d58..5139145 100644
--- a/engines/tucker/console.h
+++ b/engines/tucker/console.h
@@ -32,7 +32,7 @@ class TuckerEngine;
 class TuckerConsole : public GUI::Debugger {
 public:
 	TuckerConsole(TuckerEngine *vm);
-	virtual ~TuckerConsole(void);
+	~TuckerConsole(void) override;
 
 private:
 	TuckerEngine *_vm;
diff --git a/engines/tucker/detection.cpp b/engines/tucker/detection.cpp
index 77c1324..e402184 100644
--- a/engines/tucker/detection.cpp
+++ b/engines/tucker/detection.cpp
@@ -131,15 +131,15 @@ public:
 		return "tucker";
 	}
 
-	virtual const char *getName() const override {
+	const char *getName() const override {
 		return "Bud Tucker in Double Trouble";
 	}
 
-	virtual const char *getOriginalCopyright() const override {
+	const char *getOriginalCopyright() const override {
 		return "Bud Tucker in Double Trouble (C) Merit Studios";
 	}
 
-	virtual bool hasFeature(MetaEngineFeature f) const override {
+	bool hasFeature(MetaEngineFeature f) const override {
 		switch (f) {
 		case kSupportsListSaves:
 		case kSupportsLoadingDuringStartup:
@@ -154,14 +154,14 @@ public:
 		}
 	}
 
-	virtual bool createInstance(OSystem *syst, Engine **engine, const ADGameDescription *desc) const override {
+	bool createInstance(OSystem *syst, Engine **engine, const ADGameDescription *desc) const override {
 		if (desc) {
 			*engine = new Tucker::TuckerEngine(syst, desc->language, desc->flags);
 		}
 		return desc != nullptr;
 	}
 
-	virtual ADDetectedGame fallbackDetect(const FileMap &allFiles, const Common::FSList &fslist) const override {
+	ADDetectedGame fallbackDetect(const FileMap &allFiles, const Common::FSList &fslist) const override {
 		for (Common::FSList::const_iterator d = fslist.begin(); d != fslist.end(); ++d) {
 			Common::FSList audiofslist;
 			if (d->isDirectory() && d->getName().equalsIgnoreCase("audio") && d->getChildren(audiofslist, Common::FSNode::kListFilesOnly)) {
@@ -176,7 +176,7 @@ public:
 		return ADDetectedGame();
 	}
 
-	virtual SaveStateList listSaves(const char *target) const override {
+	SaveStateList listSaves(const char *target) const override {
 		Common::String pattern = Tucker::generateGameStateFileName(target, 0, true);
 		Common::StringArray filenames = g_system->getSavefileManager()->listSavefiles(pattern);
 		Tucker::TuckerEngine::SavegameHeader header;
@@ -202,11 +202,11 @@ public:
 		return saveList;
 	}
 
-	virtual int getMaximumSaveSlot() const override {
+	int getMaximumSaveSlot() const override {
 		return Tucker::kLastSaveSlot;
 	}
 
-	virtual void removeSaveState(const char *target, int slot) const override {
+	void removeSaveState(const char *target, int slot) const override {
 		Common::String filename = Tucker::generateGameStateFileName(target, slot);
 		g_system->getSavefileManager()->removeSavefile(filename);
 	}
diff --git a/engines/tucker/tucker.h b/engines/tucker/tucker.h
index d7127bf..9532449 100644
--- a/engines/tucker/tucker.h
+++ b/engines/tucker/tucker.h
@@ -446,10 +446,10 @@ public:
 	};
 
 	TuckerEngine(OSystem *system, Common::Language language, uint32 flags);
-	virtual ~TuckerEngine();
+	~TuckerEngine() override;
 
-	virtual Common::Error run() override;
-	virtual bool hasFeature(EngineFeature f) const override;
+	Common::Error run() override;
+	bool hasFeature(EngineFeature f) const override;
 	GUI::Debugger *getDebugger() override { return _console; }
 
 	WARN_UNUSED_RESULT static SavegameError readSavegameHeader(Common::InSaveFile *file, SavegameHeader &header, bool skipThumbnail = true);
@@ -743,14 +743,14 @@ protected:
 	void updateSprite_locationNum82(int i);
 
 	template<class S> SavegameError saveOrLoadGameStateData(S &s);
-	virtual Common::Error loadGameState(int slot) override;
-	virtual Common::Error saveGameState(int slot, const Common::String &description) override;
+	Common::Error loadGameState(int slot) override;
+	Common::Error saveGameState(int slot, const Common::String &description) override;
 	Common::Error writeSavegame(int slot, const Common::String &description, bool autosave = false);
 	SavegameError writeSavegameHeader(Common::OutSaveFile *file, SavegameHeader &header);
 	void writeAutosave();
 	bool canLoadOrSave() const;
-	virtual bool canLoadGameStateCurrently() override;
-	virtual bool canSaveGameStateCurrently() override;
+	bool canLoadGameStateCurrently() override;
+	bool canSaveGameStateCurrently() override;
 	virtual bool existsSavegame();
 
 	TuckerConsole *_console;


Commit: aedcefea743cb0ba2d37a1b4e539c5f405f3f9ba
    https://github.com/scummvm/scummvm/commit/aedcefea743cb0ba2d37a1b4e539c5f405f3f9ba
Author: Bastien Bouclet (bastien.bouclet at gmail.com)
Date: 2020-02-09T12:55:00+01:00

Commit Message:
ULTIMA: Add override keywords

Changed paths:
    engines/ultima/detection.h
    engines/ultima/nuvie/actors/md_actor.h
    engines/ultima/nuvie/actors/se_actor.h
    engines/ultima/nuvie/actors/u6_actor.h
    engines/ultima/nuvie/actors/wou_actor.h
    engines/ultima/nuvie/core/anim_manager.h
    engines/ultima/nuvie/core/converse_interpret.h
    engines/ultima/nuvie/core/debugger.h
    engines/ultima/nuvie/core/effect.h
    engines/ultima/nuvie/core/events.h
    engines/ultima/nuvie/core/magic.h
    engines/ultima/nuvie/core/timed_event.h
    engines/ultima/nuvie/core/weather.h
    engines/ultima/nuvie/files/nuvie_io.h
    engines/ultima/nuvie/files/nuvie_io_file.h
    engines/ultima/nuvie/files/u6_bmp.h
    engines/ultima/nuvie/fonts/bmp_font.h
    engines/ultima/nuvie/fonts/conv_font.h
    engines/ultima/nuvie/fonts/u6_font.h
    engines/ultima/nuvie/fonts/wou_font.h
    engines/ultima/nuvie/gui/gui_area.h
    engines/ultima/nuvie/gui/gui_button.h
    engines/ultima/nuvie/gui/gui_console.h
    engines/ultima/nuvie/gui/gui_dialog.h
    engines/ultima/nuvie/gui/gui_scroll_bar.h
    engines/ultima/nuvie/gui/gui_scroller.h
    engines/ultima/nuvie/gui/gui_text.h
    engines/ultima/nuvie/gui/gui_text_input.h
    engines/ultima/nuvie/gui/gui_text_toggle_button.h
    engines/ultima/nuvie/gui/gui_yes_no_dialog.h
    engines/ultima/nuvie/gui/widgets/background.h
    engines/ultima/nuvie/gui/widgets/command_bar.h
    engines/ultima/nuvie/gui/widgets/command_bar_new_ui.h
    engines/ultima/nuvie/gui/widgets/console.h
    engines/ultima/nuvie/gui/widgets/converse_gump.h
    engines/ultima/nuvie/gui/widgets/converse_gump_wou.h
    engines/ultima/nuvie/gui/widgets/fps_counter.h
    engines/ultima/nuvie/gui/widgets/gui_widget.h
    engines/ultima/nuvie/gui/widgets/map_window.h
    engines/ultima/nuvie/gui/widgets/msg_scroll.h
    engines/ultima/nuvie/gui/widgets/msg_scroll_new_ui.h
    engines/ultima/nuvie/menus/audio_dialog.h
    engines/ultima/nuvie/menus/cheats_dialog.h
    engines/ultima/nuvie/menus/game_menu_dialog.h
    engines/ultima/nuvie/menus/gameplay_dialog.h
    engines/ultima/nuvie/menus/input_dialog.h
    engines/ultima/nuvie/menus/video_dialog.h
    engines/ultima/nuvie/nuvie.h
    engines/ultima/nuvie/pathfinder/actor_path_finder.h
    engines/ultima/nuvie/pathfinder/astar_path.h
    engines/ultima/nuvie/pathfinder/combat_path_finder.h
    engines/ultima/nuvie/pathfinder/sched_path_finder.h
    engines/ultima/nuvie/pathfinder/seek_path.h
    engines/ultima/nuvie/pathfinder/u6_astar_path.h
    engines/ultima/nuvie/portraits/portrait_md.h
    engines/ultima/nuvie/portraits/portrait_se.h
    engines/ultima/nuvie/portraits/portrait_u6.h
    engines/ultima/nuvie/script/script_cutscene.h
    engines/ultima/nuvie/sound/adlib_sfx_manager.h
    engines/ultima/nuvie/sound/adplug/emu_opl.h
    engines/ultima/nuvie/sound/adplug/mid.h
    engines/ultima/nuvie/sound/adplug/opl_class.h
    engines/ultima/nuvie/sound/adplug/silent_opl.h
    engines/ultima/nuvie/sound/adplug/u6m.h
    engines/ultima/nuvie/sound/custom_sfx_manager.h
    engines/ultima/nuvie/sound/decoder/adlib_sfx_stream.h
    engines/ultima/nuvie/sound/decoder/fm_towns_decoder_stream.h
    engines/ultima/nuvie/sound/decoder/pc_speaker_stream.h
    engines/ultima/nuvie/sound/decoder/random_collection_audio_stream.cpp
    engines/ultima/nuvie/sound/decoder/u6_adplug_decoder_stream.h
    engines/ultima/nuvie/sound/pc_speaker_sfx_manager.h
    engines/ultima/nuvie/sound/song.h
    engines/ultima/nuvie/sound/song_adplug.h
    engines/ultima/nuvie/sound/towns_sfx_manager.h
    engines/ultima/nuvie/usecode/u6_usecode.h
    engines/ultima/nuvie/views/actor_view.h
    engines/ultima/nuvie/views/container_view_gump.h
    engines/ultima/nuvie/views/container_widget.h
    engines/ultima/nuvie/views/container_widget_gump.h
    engines/ultima/nuvie/views/doll_view_gump.h
    engines/ultima/nuvie/views/doll_widget.h
    engines/ultima/nuvie/views/draggable_view.h
    engines/ultima/nuvie/views/inventory_view.h
    engines/ultima/nuvie/views/inventory_widget.h
    engines/ultima/nuvie/views/map_editor_view.h
    engines/ultima/nuvie/views/md_sky_strip_widget.h
    engines/ultima/nuvie/views/party_view.h
    engines/ultima/nuvie/views/portrait_view.h
    engines/ultima/nuvie/views/portrait_view_gump.h
    engines/ultima/nuvie/views/scroll_view_gump.h
    engines/ultima/nuvie/views/scroll_widget_gump.h
    engines/ultima/nuvie/views/sign_view_gump.h
    engines/ultima/nuvie/views/spell_view.h
    engines/ultima/nuvie/views/spell_view_gump.h
    engines/ultima/nuvie/views/sun_moon_ribbon.h
    engines/ultima/nuvie/views/sun_moon_strip_widget.h
    engines/ultima/nuvie/views/view.h
    engines/ultima/shared/actions/action.h
    engines/ultima/shared/actions/huh.h
    engines/ultima/shared/actions/pass.h
    engines/ultima/shared/core/file.h
    engines/ultima/shared/core/named_item.h
    engines/ultima/shared/core/widgets.h
    engines/ultima/shared/early/font_resources.h
    engines/ultima/shared/early/game.h
    engines/ultima/shared/early/game_base.h
    engines/ultima/shared/early/ultima_early.h
    engines/ultima/shared/engine/data_archive.cpp
    engines/ultima/shared/engine/data_archive.h
    engines/ultima/shared/engine/debugger.h
    engines/ultima/shared/engine/events.h
    engines/ultima/shared/engine/resources.h
    engines/ultima/shared/engine/ultima.h
    engines/ultima/shared/gfx/info.h
    engines/ultima/shared/gfx/popup.h
    engines/ultima/shared/gfx/screen.h
    engines/ultima/shared/gfx/text_cursor.h
    engines/ultima/shared/gfx/text_input.h
    engines/ultima/shared/gfx/viewport_dungeon.h
    engines/ultima/shared/gfx/viewport_map.h
    engines/ultima/shared/gfx/visual_container.h
    engines/ultima/shared/gfx/visual_item.h
    engines/ultima/shared/maps/dungeon_creature.h
    engines/ultima/shared/maps/dungeon_widget.h
    engines/ultima/shared/maps/map_widget.h
    engines/ultima/ultima0/game.h
    engines/ultima/ultima1/actions/action.h
    engines/ultima/ultima1/actions/attack.h
    engines/ultima/ultima1/actions/move.h
    engines/ultima/ultima1/core/debugger.h
    engines/ultima/ultima1/core/party.h
    engines/ultima/ultima1/core/resources.h
    engines/ultima/ultima1/game.h
    engines/ultima/ultima1/maps/map.h
    engines/ultima/ultima1/maps/map_base.h
    engines/ultima/ultima1/maps/map_city_castle.h
    engines/ultima/ultima1/maps/map_dungeon.h
    engines/ultima/ultima1/maps/map_overworld.h
    engines/ultima/ultima1/maps/map_tile.h
    engines/ultima/ultima1/spells/blink.h
    engines/ultima/ultima1/spells/create.h
    engines/ultima/ultima1/spells/destroy.h
    engines/ultima/ultima1/spells/kill_magic_missile.h
    engines/ultima/ultima1/spells/ladder_down.h
    engines/ultima/ultima1/spells/ladder_up.h
    engines/ultima/ultima1/spells/open_unlock.h
    engines/ultima/ultima1/spells/prayer.h
    engines/ultima/ultima1/spells/spell.h
    engines/ultima/ultima1/spells/steal.h
    engines/ultima/ultima1/u1dialogs/armoury.h
    engines/ultima/ultima1/u1dialogs/buy_sell_dialog.h
    engines/ultima/ultima1/u1dialogs/combat.h
    engines/ultima/ultima1/u1dialogs/dialog.h
    engines/ultima/ultima1/u1dialogs/drop.h
    engines/ultima/ultima1/u1dialogs/full_screen_dialog.h
    engines/ultima/ultima1/u1dialogs/grocery.h
    engines/ultima/ultima1/u1dialogs/king.h
    engines/ultima/ultima1/u1dialogs/magic.h
    engines/ultima/ultima1/u1dialogs/ready.h
    engines/ultima/ultima1/u1dialogs/stats.h
    engines/ultima/ultima1/u1dialogs/tavern.h
    engines/ultima/ultima1/u1dialogs/transports.h
    engines/ultima/ultima1/u1dialogs/weaponry.h
    engines/ultima/ultima1/u1gfx/info.h
    engines/ultima/ultima1/u1gfx/sprites.h
    engines/ultima/ultima1/u1gfx/status.h
    engines/ultima/ultima1/u1gfx/text_cursor.h
    engines/ultima/ultima1/u1gfx/view_char_gen.h
    engines/ultima/ultima1/u1gfx/view_game.h
    engines/ultima/ultima1/u1gfx/view_title.h
    engines/ultima/ultima1/u1gfx/viewport_dungeon.h
    engines/ultima/ultima1/u1gfx/viewport_map.h
    engines/ultima/ultima1/u6gfx/game_view.h
    engines/ultima/ultima1/widgets/attack_effect.h
    engines/ultima/ultima1/widgets/bard.h
    engines/ultima/ultima1/widgets/dungeon_chest.h
    engines/ultima/ultima1/widgets/dungeon_coffin.h
    engines/ultima/ultima1/widgets/dungeon_monster.h
    engines/ultima/ultima1/widgets/dungeon_player.h
    engines/ultima/ultima1/widgets/dungeon_widget.h
    engines/ultima/ultima1/widgets/guard.h
    engines/ultima/ultima1/widgets/king.h
    engines/ultima/ultima1/widgets/merchant_armour.h
    engines/ultima/ultima1/widgets/merchant_grocer.h
    engines/ultima/ultima1/widgets/merchant_magic.h
    engines/ultima/ultima1/widgets/merchant_tavern.h
    engines/ultima/ultima1/widgets/merchant_transport.h
    engines/ultima/ultima1/widgets/merchant_weapons.h
    engines/ultima/ultima1/widgets/overworld_monster.h
    engines/ultima/ultima1/widgets/overworld_widget.h
    engines/ultima/ultima1/widgets/person.h
    engines/ultima/ultima1/widgets/princess.h
    engines/ultima/ultima1/widgets/transport.h
    engines/ultima/ultima1/widgets/urban_player.h
    engines/ultima/ultima1/widgets/urban_widget.h
    engines/ultima/ultima1/widgets/wench.h
    engines/ultima/ultima8/audio/audio_process.h
    engines/ultima/ultima8/audio/midi_player.h
    engines/ultima/ultima8/audio/music_flex.h
    engines/ultima/ultima8/audio/music_process.h
    engines/ultima/ultima8/audio/raw_audio_sample.h
    engines/ultima/ultima8/audio/sonarc_audio_sample.h
    engines/ultima/ultima8/audio/sound_flex.h
    engines/ultima/ultima8/audio/speech_flex.h
    engines/ultima/ultima8/convert/u8/convert_usecode_u8.h
    engines/ultima/ultima8/filesys/dir_file.h
    engines/ultima/ultima8/filesys/flex_file.h
    engines/ultima/ultima8/filesys/idata_source.h
    engines/ultima/ultima8/filesys/named_archive_file.h
    engines/ultima/ultima8/filesys/odata_source.h
    engines/ultima/ultima8/filesys/raw_archive.h
    engines/ultima/ultima8/filesys/u8_save_file.h
    engines/ultima/ultima8/games/remorse_game.h
    engines/ultima/ultima8/games/start_u8_process.h
    engines/ultima/ultima8/games/u8_game.h
    engines/ultima/ultima8/graphics/base_soft_render_surface.h
    engines/ultima/ultima8/graphics/fonts/font_shape_archive.h
    engines/ultima/ultima8/graphics/fonts/jp_font.h
    engines/ultima/ultima8/graphics/fonts/jp_rendered_text.h
    engines/ultima/ultima8/graphics/fonts/shape_font.h
    engines/ultima/ultima8/graphics/fonts/shape_rendered_text.h
    engines/ultima/ultima8/graphics/fonts/tt_font.h
    engines/ultima/ultima8/graphics/fonts/ttf_rendered_text.h
    engines/ultima/ultima8/graphics/gump_shape_archive.h
    engines/ultima/ultima8/graphics/inverter_process.h
    engines/ultima/ultima8/graphics/main_shape_archive.h
    engines/ultima/ultima8/graphics/palette_fader_process.h
    engines/ultima/ultima8/graphics/point_scaler.h
    engines/ultima/ultima8/graphics/shape_archive.h
    engines/ultima/ultima8/graphics/soft_render_surface.h
    engines/ultima/ultima8/graphics/texture_bitmap.h
    engines/ultima/ultima8/graphics/texture_png.h
    engines/ultima/ultima8/graphics/texture_targa.h
    engines/ultima/ultima8/gumps/ask_gump.h
    engines/ultima/ultima8/gumps/bark_gump.h
    engines/ultima/ultima8/gumps/bind_gump.h
    engines/ultima/ultima8/gumps/book_gump.h
    engines/ultima/ultima8/gumps/console_gump.h
    engines/ultima/ultima8/gumps/container_gump.h
    engines/ultima/ultima8/gumps/controls_gump.cpp
    engines/ultima/ultima8/gumps/controls_gump.h
    engines/ultima/ultima8/gumps/credits_gump.h
    engines/ultima/ultima8/gumps/desktop_gump.h
    engines/ultima/ultima8/gumps/fast_area_vis_gump.h
    engines/ultima/ultima8/gumps/game_map_gump.h
    engines/ultima/ultima8/gumps/gump.h
    engines/ultima/ultima8/gumps/gump_notify_process.h
    engines/ultima/ultima8/gumps/inverter_gump.h
    engines/ultima/ultima8/gumps/item_relative_gump.h
    engines/ultima/ultima8/gumps/main_menu_process.h
    engines/ultima/ultima8/gumps/menu_gump.h
    engines/ultima/ultima8/gumps/message_box_gump.h
    engines/ultima/ultima8/gumps/mini_stats_gump.h
    engines/ultima/ultima8/gumps/minimap_gump.h
    engines/ultima/ultima8/gumps/modal_gump.h
    engines/ultima/ultima8/gumps/movie_gump.h
    engines/ultima/ultima8/gumps/options_gump.h
    engines/ultima/ultima8/gumps/paged_gump.h
    engines/ultima/ultima8/gumps/paperdoll_gump.h
    engines/ultima/ultima8/gumps/pentagram_menu_gump.h
    engines/ultima/ultima8/gumps/quit_gump.h
    engines/ultima/ultima8/gumps/readable_gump.h
    engines/ultima/ultima8/gumps/resizable_gump.h
    engines/ultima/ultima8/gumps/scaler_gump.h
    engines/ultima/ultima8/gumps/scroll_gump.h
    engines/ultima/ultima8/gumps/shape_viewer_gump.h
    engines/ultima/ultima8/gumps/slider_gump.h
    engines/ultima/ultima8/gumps/target_gump.h
    engines/ultima/ultima8/gumps/u8_save_gump.h
    engines/ultima/ultima8/gumps/widgets/button_widget.h
    engines/ultima/ultima8/gumps/widgets/edit_widget.h
    engines/ultima/ultima8/gumps/widgets/game_widget.h
    engines/ultima/ultima8/gumps/widgets/sliding_widget.h
    engines/ultima/ultima8/gumps/widgets/text_widget.h
    engines/ultima/ultima8/kernel/delay_process.h
    engines/ultima/ultima8/kernel/joystick.h
    engines/ultima/ultima8/kernel/segmented_allocator.h
    engines/ultima/ultima8/kernel/segmented_pool.h
    engines/ultima/ultima8/misc/console.h
    engines/ultima/ultima8/misc/debugger.h
    engines/ultima/ultima8/misc/istring.h
    engines/ultima/ultima8/ultima8.h
    engines/ultima/ultima8/usecode/uc_process.h
    engines/ultima/ultima8/usecode/uc_stack.h
    engines/ultima/ultima8/usecode/usecode_flex.h
    engines/ultima/ultima8/world/actors/actor.h
    engines/ultima/ultima8/world/actors/actor_anim_process.h
    engines/ultima/ultima8/world/actors/actor_bark_notify_process.h
    engines/ultima/ultima8/world/actors/ambush_process.h
    engines/ultima/ultima8/world/actors/avatar_death_process.h
    engines/ultima/ultima8/world/actors/avatar_gravity_process.h
    engines/ultima/ultima8/world/actors/avatar_mover_process.h
    engines/ultima/ultima8/world/actors/clear_feign_death_process.h
    engines/ultima/ultima8/world/actors/combat_process.h
    engines/ultima/ultima8/world/actors/grant_peace_process.h
    engines/ultima/ultima8/world/actors/heal_process.h
    engines/ultima/ultima8/world/actors/loiter_process.h
    engines/ultima/ultima8/world/actors/main_actor.h
    engines/ultima/ultima8/world/actors/pathfinder_process.h
    engines/ultima/ultima8/world/actors/quick_avatar_mover_process.h
    engines/ultima/ultima8/world/actors/resurrection_process.h
    engines/ultima/ultima8/world/actors/scheduler_process.h
    engines/ultima/ultima8/world/actors/targeted_anim_process.h
    engines/ultima/ultima8/world/actors/teleport_to_egg_process.h
    engines/ultima/ultima8/world/camera_process.h
    engines/ultima/ultima8/world/container.h
    engines/ultima/ultima8/world/create_item_process.h
    engines/ultima/ultima8/world/destroy_item_process.h
    engines/ultima/ultima8/world/egg.h
    engines/ultima/ultima8/world/egg_hatcher_process.h
    engines/ultima/ultima8/world/fireball_process.h
    engines/ultima/ultima8/world/glob_egg.h
    engines/ultima/ultima8/world/gravity_process.h
    engines/ultima/ultima8/world/item.h
    engines/ultima/ultima8/world/monster_egg.h
    engines/ultima/ultima8/world/split_item_process.h
    engines/ultima/ultima8/world/sprite_process.h
    engines/ultima/ultima8/world/teleport_egg.h


diff --git a/engines/ultima/detection.h b/engines/ultima/detection.h
index a69ff2e..4d592e1 100644
--- a/engines/ultima/detection.h
+++ b/engines/ultima/detection.h
@@ -61,30 +61,30 @@ struct UltimaGameDescription {
 class UltimaMetaEngine : public AdvancedMetaEngine {
 public:
 	UltimaMetaEngine();
-	virtual ~UltimaMetaEngine();
+	~UltimaMetaEngine() override;
 
-	virtual const char *getEngineId() const override {
+	const char *getEngineId() const override {
 		return "ultima";
 	}
 
-	virtual const char *getName() const override {
+	const char *getName() const override {
 		return "Ultima";
 	}
 
-	virtual const char *getOriginalCopyright() const override {
+	const char *getOriginalCopyright() const override {
 		return "Ultima Games (C) 1980-1995 Origin Systems Inc.";
 	}
 
-	virtual const char *getSavegamePattern(const char *target = nullptr) const override;
-	virtual const char *getSavegameFile(int saveGameIdx, const char *target = nullptr) const override;
+	const char *getSavegamePattern(const char *target = nullptr) const override;
+	const char *getSavegameFile(int saveGameIdx, const char *target = nullptr) const override;
 
-	virtual bool createInstance(OSystem *syst, Engine **engine, const ADGameDescription *desc) const override;
-	virtual int getMaximumSaveSlot() const override;
+	bool createInstance(OSystem *syst, Engine **engine, const ADGameDescription *desc) const override;
+	int getMaximumSaveSlot() const override;
 
 	/**
 	 * Return a list of all save states associated with the given target.
 	 */
-	virtual SaveStateList listSaves(const char *target) const override;
+	SaveStateList listSaves(const char *target) const override;
 };
 
 namespace Ultima {
diff --git a/engines/ultima/nuvie/actors/md_actor.h b/engines/ultima/nuvie/actors/md_actor.h
index 5abd326..2de7d6f 100644
--- a/engines/ultima/nuvie/actors/md_actor.h
+++ b/engines/ultima/nuvie/actors/md_actor.h
@@ -34,9 +34,9 @@ protected:
 public:
 
 	MDActor(Map *m, ObjManager *om, GameClock *c);
-	~MDActor();
+	~MDActor() override;
 
-	virtual bool init(uint8 unused = 0) override;
+	bool init(uint8 unused = 0) override;
 	bool will_not_talk() override;
 	uint8 get_maxhp() override {
 		return (((level * 24 + strength * 2) < 255) ? (level * 24 + strength * 2) : 255);
@@ -47,7 +47,7 @@ public:
 	bool is_immobile() override;
 
 	bool check_move(uint16 new_x, uint16 new_y, uint8 new_z, ActorMoveFlags flags = 0) override;
-	virtual uint16 get_downward_facing_tile_num() override;
+	uint16 get_downward_facing_tile_num() override;
 	void set_direction(uint8 d) override;
 	bool is_passable() override;
 
diff --git a/engines/ultima/nuvie/actors/se_actor.h b/engines/ultima/nuvie/actors/se_actor.h
index 3dab344..e85dd47 100644
--- a/engines/ultima/nuvie/actors/se_actor.h
+++ b/engines/ultima/nuvie/actors/se_actor.h
@@ -35,9 +35,9 @@ protected:
 public:
 
 	SEActor(Map *m, ObjManager *om, GameClock *c);
-	~SEActor();
+	~SEActor() override;
 
-	virtual bool init(uint8 unused = 0) override;
+	bool init(uint8 unused = 0) override;
 	bool will_not_talk() override;
 	uint8 get_maxhp() override {
 		return (((level * 4 + strength * 2) < 255) ? (level * 4 + strength * 2) : 255);
diff --git a/engines/ultima/nuvie/actors/u6_actor.h b/engines/ultima/nuvie/actors/u6_actor.h
index b70f8a7..7f0a8e5 100644
--- a/engines/ultima/nuvie/actors/u6_actor.h
+++ b/engines/ultima/nuvie/actors/u6_actor.h
@@ -69,64 +69,64 @@ protected:
 public:
 
 	U6Actor(Map *m, ObjManager *om, GameClock *c);
-	~U6Actor();
-
-	bool init(uint8 obj_status = NO_OBJ_STATUS);
-	virtual uint16 get_downward_facing_tile_num();
-	bool updateSchedule(uint8 hour, bool teleport = false);
-	void set_worktype(uint8 new_worktype, bool init = false);
-	void revert_worktype();
-	void change_base_obj_n(uint16 val);
-	void set_direction(uint8 d);
-	void face_location(uint16 lx, uint16 ly);
-	void clear();
-	bool move(uint16 new_x, uint16 new_y, uint8 new_z, ActorMoveFlags flags = 0);
-	bool check_move(uint16 new_x, uint16 new_y, uint8 new_z, ActorMoveFlags flags = 0);
-	void twitch();
+	~U6Actor() override;
+
+	bool init(uint8 obj_status = NO_OBJ_STATUS) override;
+	uint16 get_downward_facing_tile_num() override;
+	bool updateSchedule(uint8 hour, bool teleport = false) override;
+	void set_worktype(uint8 new_worktype, bool init = false) override;
+	void revert_worktype() override;
+	void change_base_obj_n(uint16 val) override;
+	void set_direction(uint8 d) override;
+	void face_location(uint16 lx, uint16 ly) override;
+	void clear() override;
+	bool move(uint16 new_x, uint16 new_y, uint8 new_z, ActorMoveFlags flags = 0) override;
+	bool check_move(uint16 new_x, uint16 new_y, uint8 new_z, ActorMoveFlags flags = 0) override;
+	void twitch() override;
 	void do_twitch();
-	void die(bool create_body = true);
-	void set_paralyzed(bool paralyzed);
-	void set_protected(bool val);
-	void set_charmed(bool val);
-	void set_corpser_flag(bool val);
-	void set_cursed(bool val);
-	void set_asleep(bool val);
-	void set_ethereal(bool val) {
+	void die(bool create_body = true) override;
+	void set_paralyzed(bool paralyzed) override;
+	void set_protected(bool val) override;
+	void set_charmed(bool val) override;
+	void set_corpser_flag(bool val) override;
+	void set_cursed(bool val) override;
+	void set_asleep(bool val) override;
+	void set_ethereal(bool val) override {
 		current_movetype = val ? MOVETYPE_U6_ETHEREAL : actor_type->movetype;
 		ethereal = val;
 	}
 
-	uint8 get_object_readiable_location(Obj *obj);
-	const CombatType *get_object_combat_type(uint16 objN);
-	ActorTileType get_tile_type() {
+	uint8 get_object_readiable_location(Obj *obj) override;
+	const CombatType *get_object_combat_type(uint16 objN) override;
+	ActorTileType get_tile_type() override {
 		return (actor_type->tile_type);
 	}
-	Obj *inventory_get_food(Obj *container = 0);
-	uint8 get_maxhp() {
+	Obj *inventory_get_food(Obj *container = 0) override;
+	uint8 get_maxhp() override {
 		return (((level * 30) <= 255) ? (level * 30) : 255);    // U6
 	}
-	uint8 get_maxmagic();
+	uint8 get_maxmagic() override;
 
-	bool weapon_can_hit(const CombatType *weapon, Actor *target, uint16 *hit_x, uint16 *hit_y);
+	bool weapon_can_hit(const CombatType *weapon, Actor *target, uint16 *hit_x, uint16 *hit_y) override;
 
-	bool is_immobile(); // frozen by worktype or status
+	bool is_immobile() override; // frozen by worktype or status
 	bool can_twitch();
 
-	bool get_corpser_flag() {
+	bool get_corpser_flag() override {
 		return (movement_flags & ACTOR_MOVEMENT_FLAGS_CORPSER);
 	}
-	bool can_be_passed(Actor *other);
-	bool will_not_talk();
+	bool can_be_passed(Actor *other) override;
+	bool will_not_talk() override;
 
 	void set_actor_obj_n(uint16 new_obj_n);
-	void pathfind_to(MapCoord &d);
-	void handle_lightsource(uint8 hour);
+	void pathfind_to(MapCoord &d) override;
+	void handle_lightsource(uint8 hour) override;
 
-	uint8 get_hp_text_color();
-	uint8 get_str_text_color() {
+	uint8 get_hp_text_color() override;
+	uint8 get_str_text_color() override {
 		return 0x48;
 	}
-	uint8 get_dex_text_color() {
+	uint8 get_dex_text_color() override {
 		return 0x48;
 	}
 
@@ -166,10 +166,10 @@ protected:
 	inline void clear_surrounding_objs_list(bool delete_objs = false);
 	inline void init_surrounding_obj(uint16 x, uint16 y, uint8 z, uint16 actor_obj_n, uint16 obj_frame_n);
 
-	const CombatType *get_hand_combat_type();
+	const CombatType *get_hand_combat_type() override;
 
-	void print();
-	const char *get_worktype_string(uint32 wt);
+	void print() override;
+	const char *get_worktype_string(uint32 wt) override;
 	void inventory_make_all_objs_ok_to_take();
 };
 
diff --git a/engines/ultima/nuvie/actors/wou_actor.h b/engines/ultima/nuvie/actors/wou_actor.h
index 04e0d52..1d381f6 100644
--- a/engines/ultima/nuvie/actors/wou_actor.h
+++ b/engines/ultima/nuvie/actors/wou_actor.h
@@ -34,10 +34,10 @@ protected:
 public:
 
 	WOUActor(Map *m, ObjManager *om, GameClock *c) : Actor(m, om, c) { }
-	~WOUActor() { }
+	~WOUActor() override { }
 
-	virtual bool can_carry_object(uint16 obj_n, uint32 qty = 0);
-	virtual bool can_carry_object(Obj *obj);
+	bool can_carry_object(uint16 obj_n, uint32 qty = 0) override;
+	bool can_carry_object(Obj *obj) override;
 
 };
 
diff --git a/engines/ultima/nuvie/core/anim_manager.h b/engines/ultima/nuvie/core/anim_manager.h
index 5940cbd..312d931 100644
--- a/engines/ultima/nuvie/core/anim_manager.h
+++ b/engines/ultima/nuvie/core/anim_manager.h
@@ -137,7 +137,7 @@ protected:
 
 public:
 	NuvieAnim();
-	~NuvieAnim();
+	~NuvieAnim() override;
 
 	void pause() {
 		paused = true;
@@ -208,13 +208,13 @@ protected:
 
 	vector<PositionedTile *> tiles;
 
-	virtual void display();
+	void display() override;
 
 public:
 	TileAnim();
-	~TileAnim();
+	~TileAnim() override;
 
-	MapCoord get_location() {
+	MapCoord get_location() override {
 		return (MapCoord(tx, ty, 0));
 	}
 	void get_offset(uint32 &x_add, uint32 &y_add) {
@@ -223,13 +223,13 @@ public:
 	}
 	sint32 get_tile_id(PositionedTile *find_tile);
 
-	void move(uint32 x, uint32 y, uint32 add_x = 0, uint32 add_y = 0) {
+	void move(uint32 x, uint32 y, uint32 add_x = 0, uint32 add_y = 0) override {
 		tx = x;
 		ty = y;
 		px = add_x;
 		py = add_y;
 	}
-	void shift(sint32 sx, sint32 sy);
+	void shift(sint32 sx, sint32 sy) override;
 	void shift_tile(uint32 ptile_num, sint32 sx, sint32 sy);
 	void move_tile(PositionedTile *ptile, uint32 x, uint32 y);
 
@@ -249,7 +249,7 @@ public:
 	TimedAnim()  {
 		timer = NULL;
 	}
-	~TimedAnim() {
+	~TimedAnim() override {
 		stop_timer();
 	}
 	void start_timer(uint32 delay) {
@@ -262,7 +262,7 @@ public:
 		}
 	}
 
-	void stop() {
+	void stop() override {
 		stop_timer();
 		NuvieAnim::stop();
 	}
@@ -297,19 +297,19 @@ protected:
 	float x_left, y_left; // when unable to move in a call, fractional movement values are collected here
 	uint16 x_dist, y_dist; // distances from start->target on X-axis & Y-axis
 
-	bool update();
-	MapCoord get_location();
+	bool update() override;
+	MapCoord get_location() override;
 
-	virtual void display();
+	void display() override;
 
 public:
 	TossAnim(Tile *tile, const MapCoord &start, const MapCoord &stop, uint16 pixels_per_sec, uint8 stop_flags = 0);
 	TossAnim(Obj *obj, uint16 degrees, const MapCoord &start, const MapCoord &stop, uint16 pixels_per_sec, uint8 stop_flags = 0);
-	~TossAnim();
+	~TossAnim() override;
 
 	void init(Tile *tile, uint16 degrees, const MapCoord &start, const MapCoord &stop, uint16 pixels_per_sec, uint8 stop_flags);
-	void start();
-	void stop();
+	void start() override;
+	void stop() override;
 	uint32 update_position(uint32 max_move = 0);
 	inline void accumulate_moves(float moves, sint32 &x_move, sint32 &y_move, sint8 xdir, sint8 ydir);
 
@@ -346,9 +346,9 @@ class ExplosiveAnim : public TimedAnim {
 
 public:
 	ExplosiveAnim(MapCoord *start, uint32 size);
-	~ExplosiveAnim();
+	~ExplosiveAnim() override;
 	void start() override;
-	virtual uint16 callback(uint16 msg, CallBack *caller, void *data) override;
+	uint16 callback(uint16 msg, CallBack *caller, void *data) override;
 	bool update() override;
 	bool already_hit(MapEntity ent);
 	void hit_object(Obj *obj);
@@ -380,10 +380,10 @@ class ProjectileAnim : public TileAnim {
 	bool leaveTrailFlag;
 public:
 	ProjectileAnim(uint16 tileNum, MapCoord *start, vector<MapCoord> target, uint8 animSpeed, bool leaveTrailFlag = false, uint16 initialTileRotation = 0, uint16 rotationAmount = 0, uint8 src_y_offset = 0);
-	~ProjectileAnim();
-	void start();
+	~ProjectileAnim() override;
+	void start() override;
 
-	bool update();
+	bool update() override;
 
 protected:
 	void hit_entity(MapEntity entity);
@@ -403,9 +403,9 @@ class WingAnim : public TileAnim {
 
 public:
 	WingAnim(MapCoord target);
-	~WingAnim();
-	void start();
-	bool update();
+	~WingAnim() override;
+	void start() override;
+	bool update() override;
 
 };
 
@@ -427,9 +427,9 @@ class HailstormAnim : public TileAnim {
 
 public:
 	HailstormAnim(MapCoord t);
-	~HailstormAnim();
-	void start();
-	bool update();
+	~HailstormAnim() override;
+	void start() override;
+	bool update() override;
 
 protected:
 	sint8 find_free_hailstone();
@@ -447,7 +447,7 @@ public:
 	HitAnim(MapCoord *loc);
 	HitAnim(Actor *actor);
 
-	virtual uint16 callback(uint16 msg, CallBack *caller, void *msg_data) override;
+	uint16 callback(uint16 msg, CallBack *caller, void *msg_data) override;
 	void start() override {
 		start_timer(300);
 	}
@@ -460,13 +460,13 @@ class TextAnim : public TimedAnim {
 
 public:
 	TextAnim(Std::string text, MapCoord loc, uint32 dur);
-	~TextAnim();
-	uint16 callback(uint16 msg, CallBack *caller, void *msg_data);
-	void start()                    {
+	~TextAnim() override;
+	uint16 callback(uint16 msg, CallBack *caller, void *msg_data) override;
+	void start() override                    {
 		start_timer(duration);
 	}
 
-	void display();
+	void display() override;
 };
 
 class TileFadeAnim : public TileAnim {
@@ -481,9 +481,9 @@ public:
 	TileFadeAnim();
 	TileFadeAnim(MapCoord *loc, Tile *from, Tile *to, uint16 speed);
 	TileFadeAnim(MapCoord *loc, Tile *from, uint8 color_from, uint8 color_to, bool reverse, uint16 speed);
-	~TileFadeAnim();
+	~TileFadeAnim() override;
 
-	bool update();
+	bool update() override;
 protected:
 	void init(uint16 speed);
 };
diff --git a/engines/ultima/nuvie/core/converse_interpret.h b/engines/ultima/nuvie/core/converse_interpret.h
index 5ff1c65..2472785 100644
--- a/engines/ultima/nuvie/core/converse_interpret.h
+++ b/engines/ultima/nuvie/core/converse_interpret.h
@@ -320,7 +320,7 @@ public:
 	WOUConverseInterpret(Converse *owner) : ConverseInterpret(owner) { }
 
 protected:
-	virtual bool op_create_new(stack<converse_typed_value> &i);
+	bool op_create_new(stack<converse_typed_value> &i) override;
 };
 
 class SETalkInterpret : public ConverseInterpret {
diff --git a/engines/ultima/nuvie/core/debugger.h b/engines/ultima/nuvie/core/debugger.h
index de2cbfb..8cf5c88 100644
--- a/engines/ultima/nuvie/core/debugger.h
+++ b/engines/ultima/nuvie/core/debugger.h
@@ -34,7 +34,7 @@ namespace Nuvie {
 class Debugger : public Shared::Debugger {
 public:
 	Debugger();
-    virtual ~Debugger() {}
+    ~Debugger() override {}
 };
 
 } // End of namespace Nuvie
diff --git a/engines/ultima/nuvie/core/effect.h b/engines/ultima/nuvie/core/effect.h
index 2e3f757..3a64eed 100644
--- a/engines/ultima/nuvie/core/effect.h
+++ b/engines/ultima/nuvie/core/effect.h
@@ -75,7 +75,7 @@ protected:
 
 public:
 	Effect();
-	~Effect();
+	~Effect() override;
 
 	void retain() {
 		retain_count++;
@@ -95,7 +95,7 @@ public:
 	bool is_defunct()  {
 		return (defunct);
 	}
-	uint16 callback(uint16, CallBack *, void *) {
+	uint16 callback(uint16, CallBack *, void *) override {
 		return (0);
 	}
 };
@@ -117,7 +117,7 @@ public:
 	CannonballEffect(Obj *src_obj, sint8 direction = -1);
 //    CannonballEffect(Actor *src_actor, Actor *target_actor); from a ship
 
-	virtual uint16 callback(uint16 msg, CallBack *caller, void *data) override;
+	uint16 callback(uint16 msg, CallBack *caller, void *data) override;
 };
 
 class ProjectileEffect : public Effect {
@@ -152,7 +152,7 @@ public:
 
 	void init(uint16 tileNum, MapCoord start, vector<MapCoord> t, uint8 speed, bool trailFlag, uint16 initialTileRotation, uint16 rotationAmount, uint8 src_y_offset);
 
-	virtual uint16 callback(uint16 msg, CallBack *caller, void *data) override;
+	uint16 callback(uint16 msg, CallBack *caller, void *data) override;
 
 	vector<MapEntity> *get_hit_entities() {
 		return &hit_entities;
@@ -167,7 +167,7 @@ class ExpEffect : public ProjectileEffect {
 	uint16 exp_tile_num;
 
 protected:
-	void start_anim();
+	void start_anim() override;
 public:
 	ExpEffect(uint16 tileNum, MapCoord location);
 
@@ -187,7 +187,7 @@ public:
 		timer = NULL;
 		start_timer(delay);
 	}
-	~TimedEffect()                 {
+	~TimedEffect() override                 {
 		stop_timer();
 	}
 
@@ -199,7 +199,7 @@ public:
 		Effect::delete_self();
 	}
 
-	virtual uint16 callback(uint16 msg, CallBack *caller, void *data) override {
+	uint16 callback(uint16 msg, CallBack *caller, void *data) override {
 		if (msg == MESG_TIMED) delete_self();    //= 0;
 		return (0);
 	}
@@ -219,8 +219,8 @@ class QuakeEffect : public TimedEffect {
 
 public:
 	QuakeEffect(uint8 magnitude, uint32 duration, Actor *keep_on = NULL);
-	~QuakeEffect();
-	virtual uint16 callback(uint16 msg, CallBack *caller, void *data) override;
+	~QuakeEffect() override;
+	uint16 callback(uint16 msg, CallBack *caller, void *data) override;
 
 	void init_directions();
 	void recenter_map();
@@ -234,7 +234,7 @@ class HitEffect : public Effect {
 public:
 	HitEffect(Actor *target, uint32 duration = 300);
 	HitEffect(MapCoord location);
-	virtual uint16 callback(uint16 msg, CallBack *caller, void *data) override;
+	uint16 callback(uint16 msg, CallBack *caller, void *data) override;
 };
 
 /* Print text to MapWindow for a given duration
@@ -244,7 +244,7 @@ class TextEffect : public Effect {
 public:
 	TextEffect(Std::string text);
 	TextEffect(Std::string text, MapCoord location);
-	virtual uint16 callback(uint16 msg, CallBack *caller, void *data) override;
+	uint16 callback(uint16 msg, CallBack *caller, void *data) override;
 };
 
 
@@ -263,7 +263,7 @@ protected:
 
 public:
 	ExplosiveEffect(uint16 x, uint16 y, uint32 size, uint16 dmg = 0);
-	virtual uint16 callback(uint16 msg, CallBack *caller, void *data) override;
+	uint16 callback(uint16 msg, CallBack *caller, void *data) override;
 
 	// children can override
 	virtual void delete_self() {
@@ -286,8 +286,8 @@ public:
 	UseCodeExplosiveEffect(Obj *src_obj, uint16 x, uint16 y, uint32 size, uint16 dmg = 0, Obj *dont_hit_me = NULL)
 		: ExplosiveEffect(x, y, size, dmg), obj(src_obj), original_obj(dont_hit_me) {
 	}
-	void delete_self();
-	bool hit_object(Obj *hit_obj); // explosion hit something
+	void delete_self() override;
+	bool hit_object(Obj *hit_obj) override; // explosion hit something
 
 
 
@@ -312,12 +312,12 @@ protected:
 
 public:
 	ThrowObjectEffect();
-	virtual ~ThrowObjectEffect() { }
+	~ThrowObjectEffect() override { }
 
 	void hit_target(); // stops effect
 	void start_anim();
 
-	virtual uint16 callback(uint16 msg, CallBack *caller, void *data) = 0;
+	uint16 callback(uint16 msg, CallBack *caller, void *data) override = 0;
 };
 
 
@@ -333,7 +333,7 @@ public:
 	void hit_target();
 
 	void get_obj(Obj *obj, uint16 qty);
-	virtual uint16 callback(uint16 msg, CallBack *caller, void *data) override;
+	uint16 callback(uint16 msg, CallBack *caller, void *data) override;
 };
 
 #define MISSILE_DEFAULT_SPEED 200
@@ -366,7 +366,7 @@ public:
 	          const MapCoord &target, uint32 dmg, uint8 intercept, uint32 speed);
 	void hit_target();
 	void hit_blocking();
-	virtual uint16 callback(uint16 msg, CallBack *caller, void *data) override;
+	uint16 callback(uint16 msg, CallBack *caller, void *data) override;
 };
 
 #if 0
@@ -398,9 +398,9 @@ class SleepEffect : public Effect {
 public:
 	SleepEffect(Std::string until);
 	SleepEffect(uint8 to_hour);
-	~SleepEffect();
+	~SleepEffect() override;
 
-	virtual uint16 callback(uint16 msg, CallBack *caller, void *data) override;
+	uint16 callback(uint16 msg, CallBack *caller, void *data) override;
 	void delete_self();
 };
 
@@ -438,8 +438,8 @@ public:
 	FadeEffect(FadeType fade, FadeDirection dir, uint32 color = 0, uint32 speed = 0);
 	FadeEffect(FadeType fade, FadeDirection dir, Graphics::ManagedSurface *capture, uint32 speed = 0);
 	FadeEffect(FadeType fade, FadeDirection dir, Graphics::ManagedSurface *capture, uint16 x, uint16 y, uint32 speed = 0);
-	~FadeEffect();
-	virtual uint16 callback(uint16 msg, CallBack *caller, void *data) override;
+	~FadeEffect() override;
+	uint16 callback(uint16 msg, CallBack *caller, void *data) override;
 
 	bool pixelated_fade_out();
 	bool pixelated_fade_in();
@@ -465,8 +465,8 @@ protected:
 class GameFadeInEffect : public FadeEffect {
 public:
 	GameFadeInEffect(uint32 color);
-	~GameFadeInEffect();
-	virtual uint16 callback(uint16 msg, CallBack *caller, void *data) override;
+	~GameFadeInEffect() override;
+	uint16 callback(uint16 msg, CallBack *caller, void *data) override;
 };
 
 
@@ -479,8 +479,8 @@ class FadeObjectEffect : public Effect {
 	FadeDirection fade_dir;
 public:
 	FadeObjectEffect(Obj *obj, FadeDirection dir);
-	~FadeObjectEffect();
-	virtual uint16 callback(uint16 msg, CallBack *caller, void *data) override;
+	~FadeObjectEffect() override;
+	uint16 callback(uint16 msg, CallBack *caller, void *data) override;
 };
 
 
@@ -493,8 +493,8 @@ class VanishEffect : public Effect {
 	bool input_blocked;
 public:
 	VanishEffect(bool pause_user = VANISH_NOWAIT);
-	~VanishEffect();
-	virtual uint16 callback(uint16 msg, CallBack *caller, void *data) override;
+	~VanishEffect() override;
+	uint16 callback(uint16 msg, CallBack *caller, void *data) override;
 };
 
 class TileFadeEffect : public TimedEffect {
@@ -511,8 +511,8 @@ public:
 	TileFadeEffect(MapCoord loc, Tile *from, Tile *to, FadeType type, uint16 speed);
 	//TileFadeEffect(MapCoord loc, Tile *from, uint8 color_from, uint8 color_to, bool reverse, uint16 speed);
 	TileFadeEffect(Actor *a, uint16 speed);
-	~TileFadeEffect();
-	virtual uint16 callback(uint16 msg, CallBack *caller, void *data) override;
+	~TileFadeEffect() override;
+	uint16 callback(uint16 msg, CallBack *caller, void *data) override;
 
 protected:
 	void add_actor_anim();
@@ -532,8 +532,8 @@ class TileBlackFadeEffect : public TimedEffect {
 public:
 	TileBlackFadeEffect(Actor *a, uint8 fade_color, uint16 speed);
 	TileBlackFadeEffect(Obj *o, uint8 fade_color, uint16 speed);
-	~TileBlackFadeEffect();
-	virtual uint16 callback(uint16 msg, CallBack *caller, void *data) override;
+	~TileBlackFadeEffect() override;
+	uint16 callback(uint16 msg, CallBack *caller, void *data) override;
 protected:
 	void init(uint8 fade_color, uint16 speed);
 	void add_actor_anim();
@@ -555,10 +555,10 @@ class XorEffect : public TimedEffect {
 public:
 	/* eff_ms=length of visual effect */
 	XorEffect(uint32 eff_ms);
-	~XorEffect() { }
+	~XorEffect() override { }
 
 	/* Called by the timer between each effect stage. */
-	virtual uint16 callback(uint16 msg, CallBack *caller, void *data) override;
+	uint16 callback(uint16 msg, CallBack *caller, void *data) override;
 };
 
 /* Briefly modify the mapwindow colors, disable map-blacking and player
@@ -577,10 +577,10 @@ class U6WhitePotionEffect : public TimedEffect {
 public:
 	/* eff_ms=length of visual effect; delay_ms=length of x-ray effect */
 	U6WhitePotionEffect(uint32 eff_ms, uint32 delay_ms, Obj *callback_obj = NULL);
-	~U6WhitePotionEffect() { }
+	~U6WhitePotionEffect() override { }
 
 	/* Called by the timer between each effect stage. */
-	virtual uint16 callback(uint16 msg, CallBack *caller, void *data) override;
+	uint16 callback(uint16 msg, CallBack *caller, void *data) override;
 };
 
 
@@ -591,21 +591,21 @@ class XRayEffect : public TimedEffect {
 public:
 	/* eff_ms=length of x-ray effect */
 	XRayEffect(uint32 eff_ms);
-	~XRayEffect() { }
+	~XRayEffect() override { }
 
-	virtual uint16 callback(uint16 msg, CallBack *caller, void *data) override;
+	uint16 callback(uint16 msg, CallBack *caller, void *data) override;
 };
 
 /* Pause the game, create an effect, and wait for user input to continue. */
 class PauseEffect: public Effect {
 public:
 	/* Called by the Effect handler when input is available. */
-	virtual uint16 callback(uint16 msg, CallBack *caller, void *data) override;
+	uint16 callback(uint16 msg, CallBack *caller, void *data) override;
 	virtual void delete_self() {
 		Effect::delete_self();
 	}
 	PauseEffect();
-	~PauseEffect() { }
+	~PauseEffect() override { }
 };
 
 /* Gather text from scroll input then continue. */
@@ -613,9 +613,9 @@ class TextInputEffect: public Effect {
 	Std::string input;
 public:
 	/* Called by the Effect handler when input is available. */
-	virtual uint16 callback(uint16 msg, CallBack *caller, void *data) override;
+	uint16 callback(uint16 msg, CallBack *caller, void *data) override;
 	TextInputEffect(const char *allowed_chars, bool can_escape);
-	~TextInputEffect() { }
+	~TextInputEffect() override { }
 	Std::string get_input() {
 		return input;
 	}
@@ -624,12 +624,12 @@ public:
 class WizardEyeEffect: public Effect {
 public:
 	/* Called by the Effect handler when input is available. */
-	virtual uint16 callback(uint16 msg, CallBack *caller, void *data) override;
+	uint16 callback(uint16 msg, CallBack *caller, void *data) override;
 	virtual void delete_self() {
 		Effect::delete_self();
 	}
 	WizardEyeEffect(MapCoord location, uint16 duration);
-	~WizardEyeEffect() { }
+	~WizardEyeEffect() override { }
 };
 
 /* colors for PeerEffect */
@@ -668,9 +668,9 @@ class PeerEffect : public PauseEffect {
 
 public:
 	PeerEffect(uint16 x, uint16 y, uint8 z, Obj *callback_obj = 0);
-	~PeerEffect() { }
+	~PeerEffect() override { }
 	void init_effect();
-	void delete_self();
+	void delete_self() override;
 };
 
 class WingStrikeEffect : public Effect {
@@ -681,7 +681,7 @@ protected:
 public:
 	WingStrikeEffect(Actor *target_actor);
 
-	virtual uint16 callback(uint16 msg, CallBack *caller, void *data) override;
+	uint16 callback(uint16 msg, CallBack *caller, void *data) override;
 };
 
 class HailStormEffect : public Effect {
@@ -690,7 +690,7 @@ protected:
 public:
 	HailStormEffect(MapCoord target);
 
-	virtual uint16 callback(uint16 msg, CallBack *caller, void *data) override;
+	uint16 callback(uint16 msg, CallBack *caller, void *data) override;
 };
 
 #define EFFECT_PROCESS_GUI_INPUT true
@@ -703,9 +703,9 @@ protected:
 
 public:
 	AsyncEffect(Effect *e);
-	~AsyncEffect();
+	~AsyncEffect() override;
 	void run(bool process_gui_input = false);
-	virtual uint16 callback(uint16 msg, CallBack *caller, void *data) override;
+	uint16 callback(uint16 msg, CallBack *caller, void *data) override;
 };
 
 } // End of namespace Nuvie
diff --git a/engines/ultima/nuvie/core/events.h b/engines/ultima/nuvie/core/events.h
index db65215..a633c72 100644
--- a/engines/ultima/nuvie/core/events.h
+++ b/engines/ultima/nuvie/core/events.h
@@ -236,14 +236,14 @@ private:
 protected:
 	inline uint32 TimeLeft();
 
-	virtual uint16 callback(uint16 msg, CallBack *caller, void *data = NULL) override;
+	uint16 callback(uint16 msg, CallBack *caller, void *data = NULL) override;
 	bool handleSDL_KEYDOWN(const Common::Event *event);
 	const char *print_mode(EventMode mode);
 	void try_next_attack();
 
 public:
 	Events(Shared::EventsCallback *callback, Configuration *cfg);
-	virtual ~Events();
+	~Events() override;
 
 	void clear();
 
diff --git a/engines/ultima/nuvie/core/magic.h b/engines/ultima/nuvie/core/magic.h
index 2c13aea..f13622a 100644
--- a/engines/ultima/nuvie/core/magic.h
+++ b/engines/ultima/nuvie/core/magic.h
@@ -94,7 +94,7 @@ private:
 	 */
 public:
 	Magic();
-	~Magic();
+	~Magic() override;
 	bool init(Events *evt);
 
 	bool read_spell_list();
@@ -107,7 +107,7 @@ public:
 	bool cast();
 	void cast_spell_directly(uint8 spell_num);
 
-	virtual uint16 callback(uint16 msg, CallBack *caller, void *data = NULL) override;
+	uint16 callback(uint16 msg, CallBack *caller, void *data = NULL) override;
 	bool process_script_return(uint8 ret);
 	bool resume(MapCoord location);
 	bool resume(uint8 dir);
diff --git a/engines/ultima/nuvie/core/timed_event.h b/engines/ultima/nuvie/core/timed_event.h
index 421f45b..fd5fd3d 100644
--- a/engines/ultima/nuvie/core/timed_event.h
+++ b/engines/ultima/nuvie/core/timed_event.h
@@ -126,7 +126,7 @@ public:
 		: TimedEvent(reltime), msg(m) {
 		repeat_count = repeat ? -1 : 0;
 	}
-	void timed(uint32 evtime) {
+	void timed(uint32 evtime) override {
 		DEBUG(0, LEVEL_NOTIFICATION, "Activate! evtime=%d msg=\"%s\"\n", evtime, msg.c_str());
 	}
 };
@@ -151,11 +151,11 @@ public:
 	TimedPartyMove(MapCoord *d, MapCoord *t, uint32 step_delay = 500);
 	TimedPartyMove(MapCoord *d, MapCoord *t, Obj *use_obj, uint32 step_delay = 500);
 	TimedPartyMove(uint32 step_delay = 500);
-	~TimedPartyMove();
+	~TimedPartyMove() override;
 	void init(MapCoord *d, MapCoord *t, Obj *use_obj);
 	void timed(uint32 evtime) override;
 
-	virtual uint16 callback(uint16 msg, CallBack *caller, void *data = NULL) override;
+	uint16 callback(uint16 msg, CallBack *caller, void *data = NULL) override;
 
 protected:
 	bool move_party();
@@ -171,7 +171,7 @@ class TimedPartyMoveToVehicle : public TimedPartyMove {
 	Obj *ship_obj; // vehicle center
 public:
 	TimedPartyMoveToVehicle(MapCoord *d, Obj *obj, uint32 step_delay = 125);
-	void timed(uint32 evtime);
+	void timed(uint32 evtime) override;
 };
 
 
@@ -199,7 +199,7 @@ class TimedContainerSearch : public TimedEvent {
 	Obj *prev_obj; // removed from container
 public:
 	TimedContainerSearch(Obj *obj);
-	void timed(uint32 evtime);
+	void timed(uint32 evtime) override;
 };
 
 
@@ -211,8 +211,8 @@ class TimedCallback : public TimedEvent, public CallBack {
 public:
 	TimedCallback(CallBack *t, void *d, uint32 wait_time,
 	              bool repeat = false);
-	virtual ~TimedCallback() {  }
-	virtual void timed(uint32 evtime);
+	~TimedCallback() override {  }
+	void timed(uint32 evtime) override;
 	void clear_target() {
 		set_target(NULL);
 	}
@@ -222,7 +222,7 @@ public:
 class GameTimedCallback : public TimedCallback {
 public:
 	GameTimedCallback(CallBack *t, void *d, uint32 wait_time, bool repeat = false);
-	~GameTimedCallback() {  }
+	~GameTimedCallback() override {  }
 };
 
 
@@ -241,11 +241,11 @@ protected:
 public:
 	TimedAdvance(uint8 hours, uint16 r = 60);
 	TimedAdvance(Std::string timestring, uint16 r = 60); // "HH:MM"
-	virtual ~TimedAdvance() { }
+	~TimedAdvance() override { }
 
 	void init(uint16 min, uint16 r); // start time advance
 
-	virtual void timed(uint32 evtime);
+	void timed(uint32 evtime) override;
 	bool time_passed(); // returns true if stop time has passed
 	void get_time_from_string(uint8 &hour, uint8 &minute, Std::string timestring);
 };
@@ -258,7 +258,7 @@ class TimedRestGather : public TimedPartyMove {
 public:
 	TimedRestGather(uint16 x, uint16 y);
 
-	void timed(uint32 evtime);
+	void timed(uint32 evtime) override;
 
 protected:
 	bool move_party();
@@ -278,9 +278,9 @@ class TimedRest : public TimedAdvance {
 	uint8 number_that_had_food;
 public:
 	TimedRest(uint8 hours, Actor *lookout, Obj *campfire_obj);
-	~TimedRest();
+	~TimedRest() override;
 
-	void timed(uint32 evtime);
+	void timed(uint32 evtime) override;
 	void eat(Actor *actor);
 	void bard_play();
 	void sleep();
diff --git a/engines/ultima/nuvie/core/weather.h b/engines/ultima/nuvie/core/weather.h
index 780bc73..3fe0534 100644
--- a/engines/ultima/nuvie/core/weather.h
+++ b/engines/ultima/nuvie/core/weather.h
@@ -58,7 +58,7 @@ class Weather: public CallBack {
 public:
 
 	Weather(Configuration *cfg, GameClock *c, nuvie_game_t type);
-	~Weather();
+	~Weather() override;
 
 	bool load(NuvieIO *objlist);
 	bool save(NuvieIO *objlist);
@@ -79,7 +79,7 @@ public:
 	bool is_eclipse();
 	bool is_moon_visible();
 
-	virtual uint16 callback(uint16 msg, CallBack *caller, void *data = NULL) override;
+	uint16 callback(uint16 msg, CallBack *caller, void *data = NULL) override;
 
 protected:
 
diff --git a/engines/ultima/nuvie/files/nuvie_io.h b/engines/ultima/nuvie/files/nuvie_io.h
index 0e29410..7a5371b 100644
--- a/engines/ultima/nuvie/files/nuvie_io.h
+++ b/engines/ultima/nuvie/files/nuvie_io.h
@@ -112,28 +112,28 @@ protected:
 
 public:
 	NuvieIOBuffer();
-	virtual ~NuvieIOBuffer();
+	~NuvieIOBuffer() override;
 
 	bool open(unsigned char *buf, uint32 buf_size, bool copy_buf = NUVIE_BUF_COPY);
 
-	void close();
+	void close() override;
 
 	unsigned char *get_raw_data() {
 		return data;
 	}; //hehe evil
 
-	uint8 read1();
-	uint16 read2();
-	uint32 read4();
-	bool readToBuf(unsigned char *buf, uint32 buf_size);
+	uint8 read1() override;
+	uint16 read2() override;
+	uint32 read4() override;
+	bool readToBuf(unsigned char *buf, uint32 buf_size) override;
 
-	bool write1(uint8 src);
-	bool write2(uint16 src);
-	bool write4(uint32 src);
-	uint32 writeBuf(const unsigned char *src, uint32 src_size);
-	uint32 write(NuvieIO *src);
+	bool write1(uint8 src) override;
+	bool write2(uint16 src) override;
+	bool write4(uint32 src) override;
+	uint32 writeBuf(const unsigned char *src, uint32 src_size) override;
+	uint32 write(NuvieIO *src) override;
 
-	void seek(uint32 new_pos);
+	void seek(uint32 new_pos) override;
 };
 
 extern char *strgets(char *str, int n, Common::ReadStream *stream);
diff --git a/engines/ultima/nuvie/files/nuvie_io_file.h b/engines/ultima/nuvie/files/nuvie_io_file.h
index 4e89151..2500cc9 100644
--- a/engines/ultima/nuvie/files/nuvie_io_file.h
+++ b/engines/ultima/nuvie/files/nuvie_io_file.h
@@ -35,7 +35,7 @@ namespace Nuvie {
 class NuvieIOFile : public NuvieIO {
 public:
 	NuvieIOFile() {}
-	virtual ~NuvieIOFile() {}
+	~NuvieIOFile() override {}
 
 	virtual bool open(const Common::String &filename) {
 		return false;
@@ -48,18 +48,18 @@ private:
 	Common::File _srcFile;
 public:
 	NuvieIOFileRead() : NuvieIOFile(), _file(nullptr) {}
-	virtual ~NuvieIOFileRead();
+	~NuvieIOFileRead() override;
 
-	virtual bool open(const Common::String &filename) override;
+	bool open(const Common::String &filename) override;
 	virtual bool open(Common::InSaveFile *saveFile);
-	virtual void close() override;
-	virtual void seek(uint32 new_pos) override;
+	void close() override;
+	void seek(uint32 new_pos) override;
 
-	virtual uint8 read1() override;
-	virtual uint16 read2() override;
-	virtual uint32 read4() override;
+	uint8 read1() override;
+	uint16 read2() override;
+	uint32 read4() override;
 
-	virtual bool readToBuf(unsigned char *buf, uint32 buf_size) override;
+	bool readToBuf(unsigned char *buf, uint32 buf_size) override;
 
 	bool isOpen() const {
 		return _file != nullptr;
@@ -86,10 +86,10 @@ protected:
 	}
 public:
 	NuvieIOFileWrite();
-	virtual ~NuvieIOFileWrite();
-	virtual bool open(const Common::String &filename) override;
-	virtual void close() override;
-	virtual void seek(uint32 new_pos) override;
+	~NuvieIOFileWrite() override;
+	bool open(const Common::String &filename) override;
+	void close() override;
+	void seek(uint32 new_pos) override;
 
 	bool write1(uint8 src) override;
 	bool write2(uint16 src) override;
@@ -98,7 +98,7 @@ public:
 		_description = desc;
 	}
 
-	virtual uint32 writeBuf(const unsigned char *src, uint32 src_size) override;
+	uint32 writeBuf(const unsigned char *src, uint32 src_size) override;
 	uint32 write(NuvieIO *src) override;
 };
 
diff --git a/engines/ultima/nuvie/files/u6_bmp.h b/engines/ultima/nuvie/files/u6_bmp.h
index af81d66..5262c6f 100644
--- a/engines/ultima/nuvie/files/u6_bmp.h
+++ b/engines/ultima/nuvie/files/u6_bmp.h
@@ -37,9 +37,9 @@ private:
 public:
 
 	U6Bmp();
-	~U6Bmp();
+	~U6Bmp() override;
 
-	bool load(Std::string filename);
+	bool load(Std::string filename) override;
 
 };
 
diff --git a/engines/ultima/nuvie/fonts/bmp_font.h b/engines/ultima/nuvie/fonts/bmp_font.h
index de132e2..4ff8154 100644
--- a/engines/ultima/nuvie/fonts/bmp_font.h
+++ b/engines/ultima/nuvie/fonts/bmp_font.h
@@ -43,17 +43,17 @@ class BMPFont : public Font {
 public:
 
 	BMPFont();
-	~BMPFont();
+	~BMPFont() override;
 
 	bool init(Std::string bmp_filename, bool dual_fontmap = false);
 
-	uint16 getCharWidth(uint8 c);
-	uint16 getCharHeight() {
+	uint16 getCharWidth(uint8 c) override;
+	uint16 getCharHeight() override {
 		return 16;
 	}
 	uint16 drawChar(Screen *screen, uint8 char_num, uint16 x, uint16 y,
-	                uint8 color);
-	uint16 getStringWidth(const char *str, uint16 string_len);
+	                uint8 color) override;
+	uint16 getStringWidth(const char *str, uint16 string_len) override;
 protected:
 
 };
diff --git a/engines/ultima/nuvie/fonts/conv_font.h b/engines/ultima/nuvie/fonts/conv_font.h
index 10c9497..5513fa7 100644
--- a/engines/ultima/nuvie/fonts/conv_font.h
+++ b/engines/ultima/nuvie/fonts/conv_font.h
@@ -38,16 +38,16 @@ class ConvFont : public Font {
 public:
 
 	ConvFont();
-	~ConvFont();
+	~ConvFont() override;
 
 	bool init(unsigned char *data, uint8 *width_data, uint16 num_chars, uint16 char_offset);
 
-	uint16 getCharWidth(uint8 c);
-	uint16 getCharHeight() {
+	uint16 getCharWidth(uint8 c) override;
+	uint16 getCharHeight() override {
 		return 0;
 	}
 	uint16 drawChar(Screen *screen, uint8 char_num, uint16 x, uint16 y,
-	                uint8 color);
+	                uint8 color) override;
 protected:
 
 };
diff --git a/engines/ultima/nuvie/fonts/u6_font.h b/engines/ultima/nuvie/fonts/u6_font.h
index 136b701..8adc70c 100644
--- a/engines/ultima/nuvie/fonts/u6_font.h
+++ b/engines/ultima/nuvie/fonts/u6_font.h
@@ -41,18 +41,18 @@ private:
 public:
 
 	U6Font();
-	~U6Font();
+	~U6Font() override;
 
 	bool init(unsigned char *data, uint16 num_chars, uint16 char_offset);
 
-	uint16 getCharWidth(uint8 c) {
+	uint16 getCharWidth(uint8 c) override {
 		return 8;
 	}
-	uint16 getCharHeight() {
+	uint16 getCharHeight() override {
 		return 8;
 	}
 	uint16 drawChar(Screen *screen, uint8 char_num, uint16 x, uint16 y,
-	                uint8 color);
+	                uint8 color) override;
 protected:
 
 };
diff --git a/engines/ultima/nuvie/fonts/wou_font.h b/engines/ultima/nuvie/fonts/wou_font.h
index 3c46877..df7a5eb 100644
--- a/engines/ultima/nuvie/fonts/wou_font.h
+++ b/engines/ultima/nuvie/fonts/wou_font.h
@@ -42,20 +42,20 @@ private:
 public:
 
 	WOUFont();
-	virtual ~WOUFont();
+	~WOUFont() override;
 
 	bool init(const char *filename);
 	bool initWithBuffer(unsigned char *buffer, uint32 buffer_len);
 
 
-	virtual uint16 drawChar(Screen *screen, uint8 char_num, uint16 x, uint16 y,
-	                        uint8 color);
+	uint16 drawChar(Screen *screen, uint8 char_num, uint16 x, uint16 y,
+	                        uint8 color) override;
 
 	uint16 drawStringToShape(U6Shape *shp, const char *str, uint16 x, uint16 y, uint8 color);
 	uint8 drawCharToShape(U6Shape *shp, uint8 char_num, uint16 x, uint16 y, uint8 color);
 
-	virtual uint16 getCharWidth(uint8 c);
-	virtual uint16 getCharHeight() {
+	uint16 getCharWidth(uint8 c) override;
+	uint16 getCharHeight() override {
 		return height;
 	}
 private:
diff --git a/engines/ultima/nuvie/gui/gui_area.h b/engines/ultima/nuvie/gui/gui_area.h
index 267589c..c1252fc 100644
--- a/engines/ultima/nuvie/gui/gui_area.h
+++ b/engines/ultima/nuvie/gui/gui_area.h
@@ -45,10 +45,10 @@ public:
 	         uint8 fr, uint8 fg, uint8 fb, int fthick, int aShape = AREA_ANGULAR);
 
 	/* Map the color to the display */
-	virtual void SetDisplay(Screen *s);
+	void SetDisplay(Screen *s) override;
 
 	/* Show the widget  */
-	virtual void Display(bool full_redraw);
+	void Display(bool full_redraw) override;
 
 
 protected:
diff --git a/engines/ultima/nuvie/gui/gui_button.h b/engines/ultima/nuvie/gui/gui_button.h
index b8b55f7..5d7502a 100644
--- a/engines/ultima/nuvie/gui/gui_button.h
+++ b/engines/ultima/nuvie/gui/gui_button.h
@@ -84,18 +84,18 @@ public:
 	           GUI_Font *font, int alignment, int is_checkbutton,
 	           GUI_CallBack *callback, int flat = 0);
 
-	~GUI_Button();
+	~GUI_Button() override;
 
 	/* change features of a text button (if one of the dimensions is negativ, it's ignored) */
 	virtual void ChangeTextButton(int x, int y, int w, int h, const char *text, int alignment);
 
 	/* Show the widget  */
-	virtual void Display(bool full_redraw);
+	void Display(bool full_redraw) override;
 
 	/* Mouse hits activate us */
-	virtual GUI_status MouseDown(int x, int y, Shared::MouseButton button);
-	virtual GUI_status MouseUp(int x, int y, Shared::MouseButton button);
-	virtual GUI_status MouseMotion(int x, int y, uint8 state);
+	GUI_status MouseDown(int x, int y, Shared::MouseButton button) override;
+	GUI_status MouseUp(int x, int y, Shared::MouseButton button) override;
+	GUI_status MouseMotion(int x, int y, uint8 state) override;
 
 	/* Clickable or not ... */
 	virtual void Disable();
diff --git a/engines/ultima/nuvie/gui/gui_console.h b/engines/ultima/nuvie/gui/gui_console.h
index fca8c79..a492eba 100644
--- a/engines/ultima/nuvie/gui/gui_console.h
+++ b/engines/ultima/nuvie/gui/gui_console.h
@@ -43,18 +43,18 @@ class GUI_Console : public GUI_Widget {
 
 public:
 	GUI_Console(uint16 x, uint16 y, uint16 w, uint16 h);
-	~GUI_Console();
+	~GUI_Console() override;
 
 	/* Map the color to the display */
-	virtual void SetDisplay(Screen *s);
+	void SetDisplay(Screen *s) override;
 
 	/* Show the widget  */
-	virtual void Display(bool full_redraw);
+	void Display(bool full_redraw) override;
 
 	/* events, used for dragging the area. */
-	GUI_status MouseDown(int x, int y, Shared::MouseButton button);
-	GUI_status MouseUp(int x, int y, Shared::MouseButton button);
-	GUI_status MouseMotion(int x, int y, uint8 state);
+	GUI_status MouseDown(int x, int y, Shared::MouseButton button) override;
+	GUI_status MouseUp(int x, int y, Shared::MouseButton button) override;
+	GUI_status MouseMotion(int x, int y, uint8 state) override;
 
 	virtual void AddLine(Std::string line);
 
diff --git a/engines/ultima/nuvie/gui/gui_dialog.h b/engines/ultima/nuvie/gui/gui_dialog.h
index c65cdb6..9fe4769 100644
--- a/engines/ultima/nuvie/gui/gui_dialog.h
+++ b/engines/ultima/nuvie/gui/gui_dialog.h
@@ -50,18 +50,18 @@ class GUI_Dialog : public GUI_Widget {
 public:
 	/* Passed the area, color and shape */
 	GUI_Dialog(int x, int y, int w, int h, uint8 r, uint8 g, uint8 b, bool is_moveable);
-	~GUI_Dialog();
+	~GUI_Dialog() override;
 	/* Map the color to the display */
-	virtual void SetDisplay(Screen *s);
+	void SetDisplay(Screen *s) override;
 
 	/* Show the widget  */
-	virtual void Display(bool full_redraw);
+	void Display(bool full_redraw) override;
 
 	/* events, used for dragging the area. */
-	GUI_status MouseDown(int x, int y, Shared::MouseButton button);
-	GUI_status MouseUp(int x, int y, Shared::MouseButton button);
-	GUI_status MouseMotion(int x, int y, uint8 state);
-	void MoveRelative(int dx, int dy);
+	GUI_status MouseDown(int x, int y, Shared::MouseButton button) override;
+	GUI_status MouseUp(int x, int y, Shared::MouseButton button) override;
+	GUI_status MouseMotion(int x, int y, uint8 state) override;
+	void MoveRelative(int dx, int dy) override;
 protected:
 	bool can_drag;
 	void loadBorderImages();
diff --git a/engines/ultima/nuvie/gui/gui_scroll_bar.h b/engines/ultima/nuvie/gui/gui_scroll_bar.h
index 5c45184..f6a2185 100644
--- a/engines/ultima/nuvie/gui/gui_scroll_bar.h
+++ b/engines/ultima/nuvie/gui/gui_scroll_bar.h
@@ -73,16 +73,16 @@ public:
 	void set_slider_position(float percentage);
 
 	/* Map the color to the display */
-	virtual void SetDisplay(Screen *s);
+	void SetDisplay(Screen *s) override;
 
 	/* Show the widget  */
-	virtual void Display(bool full_redraw);
+	void Display(bool full_redraw) override;
 
 	/* events, used for dragging the area. */
-	GUI_status MouseDown(int x, int y, Shared::MouseButton button);
-	GUI_status MouseUp(int x, int y, Shared::MouseButton button);
-	GUI_status MouseMotion(int x, int y, uint8 state);
-	GUI_status MouseWheel(sint32 x, sint32 y);
+	GUI_status MouseDown(int x, int y, Shared::MouseButton button) override;
+	GUI_status MouseUp(int x, int y, Shared::MouseButton button) override;
+	GUI_status MouseMotion(int x, int y, uint8 state) override;
+	GUI_status MouseWheel(sint32 x, sint32 y) override;
 
 protected:
 	void loadButtons();
@@ -90,7 +90,7 @@ protected:
 
 	void send_slider_moved_msg();
 	bool move_slider(int new_slider_y);
-	GUI_status callback(uint16 msg, GUI_CallBack *caller, void *data);
+	GUI_status callback(uint16 msg, GUI_CallBack *caller, void *data) override;
 
 	void send_up_button_msg();
 	void send_down_button_msg();
diff --git a/engines/ultima/nuvie/gui/gui_scroller.h b/engines/ultima/nuvie/gui/gui_scroller.h
index f0a0850..0779f4b 100644
--- a/engines/ultima/nuvie/gui/gui_scroller.h
+++ b/engines/ultima/nuvie/gui/gui_scroller.h
@@ -48,8 +48,8 @@ public:
 	GUI_Scroller(int x, int y, int w, int h, uint8 r, uint8 g, uint8 b, uint16 r_height);
 
 	/* Map the color to the display */
-	virtual void SetDisplay(Screen *s);
-	void PlaceOnScreen(Screen *s, GUI_DragManager *dm, int x, int y);
+	void SetDisplay(Screen *s) override;
+	void PlaceOnScreen(Screen *s, GUI_DragManager *dm, int x, int y) override;
 	void move_up();
 	void move_down();
 	void page_up(bool all = false);
@@ -58,18 +58,18 @@ public:
 	int AddWidget(GUI_Widget *widget);
 
 	/* Show the widget  */
-	virtual void Display(bool full_redraw);
+	void Display(bool full_redraw) override;
 
 	/* events, used for dragging the area. */
-	GUI_status MouseDown(int x, int y, Shared::MouseButton button);
-	GUI_status MouseUp(int x, int y, Shared::MouseButton button);
-	GUI_status MouseMotion(int x, int y, uint8 state);
-	GUI_status MouseWheel(sint32 x, sint32 y);
+	GUI_status MouseDown(int x, int y, Shared::MouseButton button) override;
+	GUI_status MouseUp(int x, int y, Shared::MouseButton button) override;
+	GUI_status MouseMotion(int x, int y, uint8 state) override;
+	GUI_status MouseWheel(sint32 x, sint32 y) override;
 
 protected:
 	void update_viewport(bool update_slider);
 	void move_percentage(float offset_percentage);
-	GUI_status callback(uint16 msg, GUI_CallBack *caller, void *data);
+	GUI_status callback(uint16 msg, GUI_CallBack *caller, void *data) override;
 };
 
 } // End of namespace Nuvie
diff --git a/engines/ultima/nuvie/gui/gui_text.h b/engines/ultima/nuvie/gui/gui_text.h
index e9f5b80..ee8683e 100644
--- a/engines/ultima/nuvie/gui/gui_text.h
+++ b/engines/ultima/nuvie/gui/gui_text.h
@@ -40,10 +40,10 @@ protected:
 public:
 	GUI_Text(int x, int y, uint8 r, uint8 g, uint8 b, GUI_Font *gui_font, uint16 line_length);
 	GUI_Text(int x, int y, uint8 r, uint8 g, uint8 b, const char *str, GUI_Font *gui_font, uint16 line_length = 0);
-	~GUI_Text();
+	~GUI_Text() override;
 
 	/* Show the widget  */
-	virtual void Display(bool full_redraw);
+	void Display(bool full_redraw) override;
 
 };
 
diff --git a/engines/ultima/nuvie/gui/gui_text_input.h b/engines/ultima/nuvie/gui/gui_text_input.h
index 4ad604f..df309e7 100644
--- a/engines/ultima/nuvie/gui/gui_text_input.h
+++ b/engines/ultima/nuvie/gui/gui_text_input.h
@@ -48,12 +48,12 @@ public:
 
 	GUI_TextInput(int x, int y, uint8 r, uint8 g, uint8 b,
 	              const char *str, GUI_Font *gui_font, uint16 width, uint16 height, GUI_CallBack *callback);
-	~GUI_TextInput();
+	~GUI_TextInput() override;
 
-	void release_focus();
+	void release_focus() override;
 
-	GUI_status MouseUp(int x, int y, Shared::MouseButton button);
-	GUI_status KeyDown(const Common::KeyState &key);
+	GUI_status MouseUp(int x, int y, Shared::MouseButton button) override;
+	GUI_status KeyDown(const Common::KeyState &key) override;
 
 	void add_char(char c);
 	void remove_char();
@@ -61,11 +61,11 @@ public:
 	char *get_text() {
 		return text;
 	}
-	void SetDisplay(Screen *s);
+	void SetDisplay(Screen *s) override;
 	void display_cursor();
 
 	/* Show the widget  */
-	virtual void Display(bool full_redraw);
+	void Display(bool full_redraw) override;
 
 };
 
diff --git a/engines/ultima/nuvie/gui/gui_text_toggle_button.h b/engines/ultima/nuvie/gui/gui_text_toggle_button.h
index 73a9068..203f787 100644
--- a/engines/ultima/nuvie/gui/gui_text_toggle_button.h
+++ b/engines/ultima/nuvie/gui/gui_text_toggle_button.h
@@ -43,12 +43,12 @@ public:
 	                     GUI_Font *font, int alignment,
 	                     GUI_CallBack *callback, int flat = 0);
 
-	~GUI_TextToggleButton();
+	~GUI_TextToggleButton() override;
 
 	virtual int GetSelection() const;
 
-	virtual GUI_status MouseUp(int x, int y, Shared::MouseButton button);
-	virtual GUI_status Activate_button(int x = 0, int y = 0, Shared::MouseButton button = Shared::BUTTON_LEFT);
+	GUI_status MouseUp(int x, int y, Shared::MouseButton button) override;
+	GUI_status Activate_button(int x = 0, int y = 0, Shared::MouseButton button = Shared::BUTTON_LEFT) override;
 
 protected:
 	int selection;
diff --git a/engines/ultima/nuvie/gui/gui_yes_no_dialog.h b/engines/ultima/nuvie/gui/gui_yes_no_dialog.h
index 08bc313..0d1d229 100644
--- a/engines/ultima/nuvie/gui/gui_yes_no_dialog.h
+++ b/engines/ultima/nuvie/gui/gui_yes_no_dialog.h
@@ -47,11 +47,11 @@ private:
 public:
 	GUI_YesNoDialog(GUI *gui, int x, int y, int w, int h, const char *msg,
         CallBack *yesCallback, CallBack *noCallback);
-	~GUI_YesNoDialog();
+	~GUI_YesNoDialog() override;
 
-	GUI_status KeyDown(const Common::KeyState &key);
+	GUI_status KeyDown(const Common::KeyState &key) override;
 
-	GUI_status callback(uint16 msg, GUI_CallBack *caller, void *data);
+	GUI_status callback(uint16 msg, GUI_CallBack *caller, void *data) override;
 };
 
 } // End of namespace Nuvie
diff --git a/engines/ultima/nuvie/gui/widgets/background.h b/engines/ultima/nuvie/gui/widgets/background.h
index 75e4e6d..c058434 100644
--- a/engines/ultima/nuvie/gui/widgets/background.h
+++ b/engines/ultima/nuvie/gui/widgets/background.h
@@ -42,15 +42,15 @@ class Background: public GUI_Widget {
 public:
 
 	Background(Configuration *cfg);
-	~Background();
+	~Background() override;
 
 	bool init();
 	uint16 get_border_width() {
 		return border_width;
 	}
-	void Display(bool full_redraw);
-	bool drag_accept_drop(int x, int y, int message, void *data); // needed for original+_full_map
-	void drag_perform_drop(int x, int y, int message, void *data); // needed for original+_full_map
+	void Display(bool full_redraw) override;
+	bool drag_accept_drop(int x, int y, int message, void *data) override; // needed for original+_full_map
+	void drag_perform_drop(int x, int y, int message, void *data) override; // needed for original+_full_map
 	U6Shape *get_bg_shape() {
 		return background;
 	}
diff --git a/engines/ultima/nuvie/gui/widgets/command_bar.h b/engines/ultima/nuvie/gui/widgets/command_bar.h
index 6bf3f3b..4975c51 100644
--- a/engines/ultima/nuvie/gui/widgets/command_bar.h
+++ b/engines/ultima/nuvie/gui/widgets/command_bar.h
@@ -69,11 +69,11 @@ protected:
 public:
 	CommandBar();
 	CommandBar(Game *g);
-	~CommandBar();
+	~CommandBar() override;
 	virtual bool init_buttons();
 
-	virtual void Display(bool full_redraw) override;
-	virtual GUI_status MouseDown(int x, int y, Shared::MouseButton button) override;
+	void Display(bool full_redraw) override;
+	GUI_status MouseDown(int x, int y, Shared::MouseButton button) override;
 	void update() {
 		update_display = true;
 	}
@@ -90,10 +90,10 @@ public:
 		return selected_action;
 	}
 
-	virtual GUI_status callback(uint16 msg, GUI_CallBack *caller, void *data) override {
+	GUI_status callback(uint16 msg, GUI_CallBack *caller, void *data) override {
 		return GUI_PASS;
 	}
-	virtual uint16 callback(uint16 msg, CallBack *caller, void *data) override;
+	uint16 callback(uint16 msg, CallBack *caller, void *data) override;
 	bool load(NuvieIO *objlist);
 	bool save(NuvieIO *objlist);
 	bool drag_accept_drop(int x, int y, int message, void *data) override; // needed for !orig_style
diff --git a/engines/ultima/nuvie/gui/widgets/command_bar_new_ui.h b/engines/ultima/nuvie/gui/widgets/command_bar_new_ui.h
index bc10aae..ba09ee4 100644
--- a/engines/ultima/nuvie/gui/widgets/command_bar_new_ui.h
+++ b/engines/ultima/nuvie/gui/widgets/command_bar_new_ui.h
@@ -50,12 +50,12 @@ protected:
 	Font *font;
 public:
 	CommandBarNewUI(Game *g);
-	~CommandBarNewUI();
+	~CommandBarNewUI() override;
 
-	virtual void Display(bool full_redraw);
-	virtual GUI_status KeyDown(const Common::KeyState &key);
-	virtual GUI_status MouseDown(int x, int y, Shared::MouseButton button);
-	virtual GUI_status MouseUp(int x, int y, Shared::MouseButton button);
+	void Display(bool full_redraw) override;
+	GUI_status KeyDown(const Common::KeyState &key) override;
+	GUI_status MouseDown(int x, int y, Shared::MouseButton button) override;
+	GUI_status MouseUp(int x, int y, Shared::MouseButton button) override;
 
 private:
 	const char *get_command_name(sint8 command_num);
diff --git a/engines/ultima/nuvie/gui/widgets/console.h b/engines/ultima/nuvie/gui/widgets/console.h
index 0dc78b2..1620226 100644
--- a/engines/ultima/nuvie/gui/widgets/console.h
+++ b/engines/ultima/nuvie/gui/widgets/console.h
@@ -41,9 +41,9 @@ protected:
 
 public:
 	Console(Configuration *c, Screen *s, GUI *g, uint16 x, uint16 y, uint16 w, uint16 h);
-	~Console();
+	~Console() override;
 
-	void AddLine(Std::string line);
+	void AddLine(Std::string line) override;
 
 protected:
 
diff --git a/engines/ultima/nuvie/gui/widgets/converse_gump.h b/engines/ultima/nuvie/gui/widgets/converse_gump.h
index a4ff43da..5f7b7fe 100644
--- a/engines/ultima/nuvie/gui/widgets/converse_gump.h
+++ b/engines/ultima/nuvie/gui/widgets/converse_gump.h
@@ -66,47 +66,47 @@ class ConverseGump: public MsgScroll {
 public:
 
 	ConverseGump(Configuration *cfg, Font *f, Screen *s);
-	~ConverseGump();
+	~ConverseGump() override;
 
 	void set_actor_portrait(Actor *a);
 	unsigned char *create_framed_portrait(Actor *a);
-	virtual bool parse_token(MsgText *token);
-	virtual Std::string get_token_string_at_pos(uint16 x, uint16 y);
-	virtual void display_string(Std::string s, Font *f, bool include_on_map_window);
-	virtual void set_talking(bool state, Actor *actor = NULL);
-	virtual void set_font(uint8 font_type) {}
+	bool parse_token(MsgText *token) override;
+	Std::string get_token_string_at_pos(uint16 x, uint16 y) override;
+	void display_string(Std::string s, Font *f, bool include_on_map_window) override;
+	void set_talking(bool state, Actor *actor = NULL) override;
+	void set_font(uint8 font_type) override {}
 //bool get_solid_bg() { return solid_bg; }
 	void set_solid_bg(bool val) {
 		solid_bg = val;
 	}
 
-	void Display(bool full_redraw);
+	void Display(bool full_redraw) override;
 
-	GUI_status KeyDown(const Common::KeyState &key);
-	GUI_status MouseUp(int x, int y, Shared::MouseButton button);
+	GUI_status KeyDown(const Common::KeyState &key) override;
+	GUI_status MouseUp(int x, int y, Shared::MouseButton button) override;
 
-	GUI_status MouseDown(int x, int y, Shared::MouseButton button) {
+	GUI_status MouseDown(int x, int y, Shared::MouseButton button) override {
 		return GUI_YUM;
 	}
-	GUI_status MouseMotion(int x, int y, uint8 state) {
+	GUI_status MouseMotion(int x, int y, uint8 state) override {
 		return GUI_YUM;
 	}
-	GUI_status MouseEnter(uint8 state) {
+	GUI_status MouseEnter(uint8 state) override {
 		return GUI_YUM;
 	}
-	GUI_status MouseLeave(uint8 state) {
+	GUI_status MouseLeave(uint8 state) override {
 		return GUI_YUM;
 	}
-	GUI_status MouseClick(int x, int y, Shared::MouseButton button) {
+	GUI_status MouseClick(int x, int y, Shared::MouseButton button) override {
 		return GUI_YUM;
 	}
-	GUI_status MouseDouble(int x, int y, Shared::MouseButton button) {
+	GUI_status MouseDouble(int x, int y, Shared::MouseButton button) override {
 		return GUI_YUM;
 	}
-	GUI_status MouseDelayed(int x, int y, Shared::MouseButton button) {
+	GUI_status MouseDelayed(int x, int y, Shared::MouseButton button) override {
 		return GUI_YUM;
 	}
-	GUI_status MouseHeld(int x, int y, Shared::MouseButton button) {
+	GUI_status MouseHeld(int x, int y, Shared::MouseButton button) override {
 		return GUI_YUM;
 	}
 
@@ -114,21 +114,21 @@ public:
 		found_break_char = val;
 	}
 
-	virtual bool input_buf_add_char(char c);
-	virtual bool input_buf_remove_char();
+	bool input_buf_add_char(char c) override;
+	bool input_buf_remove_char() override;
 
-	virtual bool is_converse_finished() {
+	bool is_converse_finished() override {
 		return (is_holding_buffer_empty() && msg_buf.size() == 1 && msg_buf.back()->total_length == 0);
 	}
 
-	virtual void drawCursor(uint16 x, uint16 y);
+	void drawCursor(uint16 x, uint16 y) override;
 
 protected:
 	Std::string strip_whitespace_after_break(Std::string s);
 	void add_keyword(Std::string keyword);
 
-	virtual void set_permitted_input(const char *allowed);
-	virtual void clear_permitted_input();
+	void set_permitted_input(const char *allowed) override;
+	void clear_permitted_input() override;
 
 	bool cursor_at_input_section() {
 		return (keyword_list && cursor_position == keyword_list->size());
diff --git a/engines/ultima/nuvie/gui/widgets/converse_gump_wou.h b/engines/ultima/nuvie/gui/widgets/converse_gump_wou.h
index 1daec88..e103099 100644
--- a/engines/ultima/nuvie/gui/widgets/converse_gump_wou.h
+++ b/engines/ultima/nuvie/gui/widgets/converse_gump_wou.h
@@ -52,52 +52,52 @@ class ConverseGumpWOU: public MsgScroll {
 public:
 
 	ConverseGumpWOU(Configuration *cfg, Font *f, Screen *s);
-	~ConverseGumpWOU();
+	~ConverseGumpWOU() override;
 
-	virtual void set_talking(bool state, Actor *actor = NULL);
-	virtual void set_font(uint8 font_type) {}
-	virtual void display_converse_prompt();
+	void set_talking(bool state, Actor *actor = NULL) override;
+	void set_font(uint8 font_type) override {}
+	void display_converse_prompt() override;
 
-	void Display(bool full_redraw);
+	void Display(bool full_redraw) override;
 
-	GUI_status MouseUp(int x, int y, Shared::MouseButton button) {
+	GUI_status MouseUp(int x, int y, Shared::MouseButton button) override {
 		return GUI_YUM;
 	}
 
-	GUI_status MouseDown(int x, int y, Shared::MouseButton button) {
+	GUI_status MouseDown(int x, int y, Shared::MouseButton button) override {
 		return GUI_YUM;
 	}
-	GUI_status MouseMotion(int x, int y, uint8 state) {
+	GUI_status MouseMotion(int x, int y, uint8 state) override {
 		return GUI_YUM;
 	}
-	GUI_status MouseEnter(uint8 state) {
+	GUI_status MouseEnter(uint8 state) override {
 		return GUI_YUM;
 	}
-	GUI_status MouseLeave(uint8 state) {
+	GUI_status MouseLeave(uint8 state) override {
 		return GUI_YUM;
 	}
-	GUI_status MouseClick(int x, int y, Shared::MouseButton button) {
+	GUI_status MouseClick(int x, int y, Shared::MouseButton button) override {
 		return GUI_YUM;
 	}
-	GUI_status MouseDouble(int x, int y, Shared::MouseButton button) {
+	GUI_status MouseDouble(int x, int y, Shared::MouseButton button) override {
 		return GUI_YUM;
 	}
-	GUI_status MouseDelayed(int x, int y, Shared::MouseButton button) {
+	GUI_status MouseDelayed(int x, int y, Shared::MouseButton button) override {
 		return GUI_YUM;
 	}
-	GUI_status MouseHeld(int x, int y, Shared::MouseButton button) {
+	GUI_status MouseHeld(int x, int y, Shared::MouseButton button) override {
 		return GUI_YUM;
 	}
 
-	virtual bool is_converse_finished() {
+	bool is_converse_finished() override {
 		return (is_holding_buffer_empty() && !page_break);
 	}
 
 protected:
 
 	void input_add_string(Std::string token_str);
-	virtual void process_page_break();
-	virtual uint8 get_input_font_color() {
+	void process_page_break() override;
+	uint8 get_input_font_color() override {
 		return FONT_COLOR_WOU_CONVERSE_INPUT;
 	}
 	void display_bg();
diff --git a/engines/ultima/nuvie/gui/widgets/fps_counter.h b/engines/ultima/nuvie/gui/widgets/fps_counter.h
index 92f0c1c..1ff53a8 100644
--- a/engines/ultima/nuvie/gui/widgets/fps_counter.h
+++ b/engines/ultima/nuvie/gui/widgets/fps_counter.h
@@ -41,11 +41,11 @@ protected:
 
 public:
 	FpsCounter(Game *g);
-	~FpsCounter();
+	~FpsCounter() override;
 
 	void setFps(float fps);
 
-	virtual void Display(bool full_redraw);
+	void Display(bool full_redraw) override;
 
 	void update() {
 		update_display = true;
diff --git a/engines/ultima/nuvie/gui/widgets/gui_widget.h b/engines/ultima/nuvie/gui/widgets/gui_widget.h
index 32bd882..d141ad2 100644
--- a/engines/ultima/nuvie/gui/widgets/gui_widget.h
+++ b/engines/ultima/nuvie/gui/widgets/gui_widget.h
@@ -85,7 +85,7 @@ public:
 
 	GUI_Widget(void *data);
 	GUI_Widget(void *data, int x, int y, int w, int h);
-	virtual ~GUI_Widget();
+	~GUI_Widget() override;
 
 	int AddWidget(GUI_Widget *widget);
 
@@ -184,8 +184,8 @@ public:
 	virtual GUI_status MouseHeld(int x, int y, Shared::MouseButton button);
 	// </SB-X>
 
-	bool drag_accept_drop(int x, int y, int message, void *data);
-	void drag_perform_drop(int x, int y, int message, void *data);
+	bool drag_accept_drop(int x, int y, int message, void *data) override;
+	void drag_perform_drop(int x, int y, int message, void *data) override;
 
 	/* Main event handler function.
 	   This function gets raw SDL events from the GUI.
diff --git a/engines/ultima/nuvie/gui/widgets/map_window.h b/engines/ultima/nuvie/gui/widgets/map_window.h
index e338e75..5f5c00c 100644
--- a/engines/ultima/nuvie/gui/widgets/map_window.h
+++ b/engines/ultima/nuvie/gui/widgets/map_window.h
@@ -150,7 +150,7 @@ class MapWindow: public GUI_Widget {
 public:
 
 	MapWindow(Configuration *cfg, Map *m);
-	~MapWindow();
+	~MapWindow() override;
 
 	bool init(TileManager *tm, ObjManager *om, ActorManager *am);
 
@@ -289,31 +289,31 @@ public:
 	void updateBlacking();
 	void updateAmbience();
 	void update();
-	void Display(bool full_redraw);
-
-	virtual GUI_status MouseDown(int x, int y, Shared::MouseButton button);
-	virtual GUI_status MouseUp(int x, int y, Shared::MouseButton button);
-	virtual GUI_status MouseMotion(int x, int y, uint8 state);
-	GUI_status MouseDouble(int x, int y, Shared::MouseButton button);
-	GUI_status MouseClick(int x, int y, Shared::MouseButton button);
-	GUI_status Idle(void);
-	GUI_status MouseLeave(uint8 state);
-	GUI_status MouseDelayed(int x, int y, Shared::MouseButton button);
-	GUI_status MouseHeld(int x, int y, Shared::MouseButton button);
-	GUI_status KeyDown(const Common::KeyState &key);
-	GUI_status MouseWheel(sint32 x, sint32 y);
-
-	void drag_drop_success(int x, int y, int message, void *data);
-	void drag_drop_failed(int x, int y, int message, void *data);
-
-	bool drag_accept_drop(int x, int y, int message, void *data);
-	void drag_perform_drop(int x, int y, int message, void *data);
+	void Display(bool full_redraw) override;
+
+	GUI_status MouseDown(int x, int y, Shared::MouseButton button) override;
+	GUI_status MouseUp(int x, int y, Shared::MouseButton button) override;
+	GUI_status MouseMotion(int x, int y, uint8 state) override;
+	GUI_status MouseDouble(int x, int y, Shared::MouseButton button) override;
+	GUI_status MouseClick(int x, int y, Shared::MouseButton button) override;
+	GUI_status Idle(void) override;
+	GUI_status MouseLeave(uint8 state) override;
+	GUI_status MouseDelayed(int x, int y, Shared::MouseButton button) override;
+	GUI_status MouseHeld(int x, int y, Shared::MouseButton button) override;
+	GUI_status KeyDown(const Common::KeyState &key) override;
+	GUI_status MouseWheel(sint32 x, sint32 y) override;
+
+	void drag_drop_success(int x, int y, int message, void *data) override;
+	void drag_drop_failed(int x, int y, int message, void *data) override;
+
+	bool drag_accept_drop(int x, int y, int message, void *data) override;
+	void drag_perform_drop(int x, int y, int message, void *data) override;
 	bool move_on_drop(Obj *obj);
 	void set_interface();
 	InterfaceType get_interface();
 	bool is_interface_fullscreen_in_combat();
 
-	void drag_draw(int x, int y, int message, void *data);
+	void drag_draw(int x, int y, int message, void *data) override;
 
 	void update_mouse_cursor(uint32 mx, uint32 my);
 
diff --git a/engines/ultima/nuvie/gui/widgets/msg_scroll.h b/engines/ultima/nuvie/gui/widgets/msg_scroll.h
index 770aa48..96a6720 100644
--- a/engines/ultima/nuvie/gui/widgets/msg_scroll.h
+++ b/engines/ultima/nuvie/gui/widgets/msg_scroll.h
@@ -204,7 +204,7 @@ public:
 		discard_whitespace = false;
 		left_margin = 0;
 	}
-	~MsgScroll();
+	~MsgScroll() override;
 
 	void init(Configuration *cfg, Font *f);
 
@@ -278,12 +278,12 @@ public:
 		return (page_break);
 	}
 
-	GUI_status KeyDown(const Common::KeyState &key);
-	GUI_status MouseUp(int x, int y, Shared::MouseButton button);
-	GUI_status MouseWheel(sint32 x, sint32 y);
+	GUI_status KeyDown(const Common::KeyState &key) override;
+	GUI_status MouseUp(int x, int y, Shared::MouseButton button) override;
+	GUI_status MouseWheel(sint32 x, sint32 y) override;
 	virtual Std::string get_token_string_at_pos(uint16 x, uint16 y);
 //void updateScroll();
-	void Display(bool full_redraw);
+	void Display(bool full_redraw) override;
 
 	void clearCursor(uint16 x, uint16 y);
 	virtual void drawCursor(uint16 x, uint16 y);
diff --git a/engines/ultima/nuvie/gui/widgets/msg_scroll_new_ui.h b/engines/ultima/nuvie/gui/widgets/msg_scroll_new_ui.h
index f9d52a1..8df0b88 100644
--- a/engines/ultima/nuvie/gui/widgets/msg_scroll_new_ui.h
+++ b/engines/ultima/nuvie/gui/widgets/msg_scroll_new_ui.h
@@ -62,12 +62,12 @@ class MsgScrollNewUI: public MsgScroll {
 public:
 
 	MsgScrollNewUI(Configuration *cfg, Screen *s);
-	~MsgScrollNewUI();
+	~MsgScrollNewUI() override;
 
-	virtual GUI_status callback(uint16 msg, GUI_CallBack *caller, void *data) override {
+	GUI_status callback(uint16 msg, GUI_CallBack *caller, void *data) override {
 		return GUI_PASS;
 	}
-	virtual uint16 callback(uint16 msg, CallBack *caller, void *data) override;
+	uint16 callback(uint16 msg, CallBack *caller, void *data) override;
 	bool can_display_prompt() override {
 		return false;
 	}
diff --git a/engines/ultima/nuvie/menus/audio_dialog.h b/engines/ultima/nuvie/menus/audio_dialog.h
index ad2894b..8a9b8e0 100644
--- a/engines/ultima/nuvie/menus/audio_dialog.h
+++ b/engines/ultima/nuvie/menus/audio_dialog.h
@@ -46,12 +46,12 @@ protected:
 
 public:
 	AudioDialog(GUI_CallBack *callback);
-	~AudioDialog();
+	~AudioDialog() override;
 	bool init();
 
 	GUI_status close_dialog();
-	GUI_status KeyDown(const Common::KeyState &key);
-	GUI_status callback(uint16 msg, GUI_CallBack *caller, void *data);
+	GUI_status KeyDown(const Common::KeyState &key) override;
+	GUI_status callback(uint16 msg, GUI_CallBack *caller, void *data) override;
 };
 
 } // End of namespace Nuvie
diff --git a/engines/ultima/nuvie/menus/cheats_dialog.h b/engines/ultima/nuvie/menus/cheats_dialog.h
index 187380e..2c17b8b 100644
--- a/engines/ultima/nuvie/menus/cheats_dialog.h
+++ b/engines/ultima/nuvie/menus/cheats_dialog.h
@@ -44,12 +44,12 @@ protected:
 
 public:
 	CheatsDialog(GUI_CallBack *callback);
-	~CheatsDialog();
+	~CheatsDialog() override;
 	bool init();
 
 	GUI_status close_dialog();
-	GUI_status KeyDown(const Common::KeyState &key);
-	GUI_status callback(uint16 msg, GUI_CallBack *caller, void *data);
+	GUI_status KeyDown(const Common::KeyState &key) override;
+	GUI_status callback(uint16 msg, GUI_CallBack *caller, void *data) override;
 };
 
 } // End of namespace Nuvie
diff --git a/engines/ultima/nuvie/menus/game_menu_dialog.h b/engines/ultima/nuvie/menus/game_menu_dialog.h
index 83734f9..77cfd99 100644
--- a/engines/ultima/nuvie/menus/game_menu_dialog.h
+++ b/engines/ultima/nuvie/menus/game_menu_dialog.h
@@ -45,12 +45,12 @@ protected:
 	GUI_Button *button_index[9]; // add to here when you add a button. Keep buttons in order by height
 public:
 	GameMenuDialog(CallBack *callback);
-	~GameMenuDialog();
+	~GameMenuDialog() override;
 	bool init();
 
 	GUI_status close_dialog();
-	GUI_status KeyDown(const Common::KeyState &key);
-	GUI_status callback(uint16 msg, GUI_CallBack *caller, void *data);
+	GUI_status KeyDown(const Common::KeyState &key) override;
+	GUI_status callback(uint16 msg, GUI_CallBack *caller, void *data) override;
 };
 
 } // End of namespace Nuvie
diff --git a/engines/ultima/nuvie/menus/gameplay_dialog.h b/engines/ultima/nuvie/menus/gameplay_dialog.h
index 0434c2e..07273b2 100644
--- a/engines/ultima/nuvie/menus/gameplay_dialog.h
+++ b/engines/ultima/nuvie/menus/gameplay_dialog.h
@@ -48,12 +48,12 @@ protected:
 
 public:
 	GameplayDialog(GUI_CallBack *callback);
-	~GameplayDialog();
+	~GameplayDialog() override;
 	bool init();
 
 	GUI_status close_dialog();
-	GUI_status KeyDown(const Common::KeyState &key);
-	GUI_status callback(uint16 msg, GUI_CallBack *caller, void *data);
+	GUI_status KeyDown(const Common::KeyState &key) override;
+	GUI_status callback(uint16 msg, GUI_CallBack *caller, void *data) override;
 };
 
 } // End of namespace Nuvie
diff --git a/engines/ultima/nuvie/menus/input_dialog.h b/engines/ultima/nuvie/menus/input_dialog.h
index 238e5ba..3fddd41 100644
--- a/engines/ultima/nuvie/menus/input_dialog.h
+++ b/engines/ultima/nuvie/menus/input_dialog.h
@@ -47,12 +47,12 @@ protected:
 
 public:
 	InputDialog(GUI_CallBack *callback);
-	~InputDialog();
+	~InputDialog() override;
 	bool init();
 
 	GUI_status close_dialog();
-	GUI_status KeyDown(const Common::KeyState &key);
-	GUI_status callback(uint16 msg, GUI_CallBack *caller, void *data);
+	GUI_status KeyDown(const Common::KeyState &key) override;
+	GUI_status callback(uint16 msg, GUI_CallBack *caller, void *data) override;
 };
 
 } // End of namespace Nuvie
diff --git a/engines/ultima/nuvie/menus/video_dialog.h b/engines/ultima/nuvie/menus/video_dialog.h
index 58c76a4..5feb220 100644
--- a/engines/ultima/nuvie/menus/video_dialog.h
+++ b/engines/ultima/nuvie/menus/video_dialog.h
@@ -47,12 +47,12 @@ protected:
 	void rebuild_buttons(bool init);
 public:
 	VideoDialog(GUI_CallBack *callback);
-	~VideoDialog();
+	~VideoDialog() override;
 	bool init();
 
 	GUI_status close_dialog();
-	GUI_status KeyDown(const Common::KeyState &key);
-	GUI_status callback(uint16 msg, GUI_CallBack *caller, void *data);
+	GUI_status KeyDown(const Common::KeyState &key) override;
+	GUI_status callback(uint16 msg, GUI_CallBack *caller, void *data) override;
 };
 
 } // End of namespace Nuvie
diff --git a/engines/ultima/nuvie/nuvie.h b/engines/ultima/nuvie/nuvie.h
index b747ffb..5924cf2 100644
--- a/engines/ultima/nuvie/nuvie.h
+++ b/engines/ultima/nuvie/nuvie.h
@@ -55,41 +55,41 @@ private:
 
 	bool playIntro();
 protected:
-    virtual bool initialize() override;
+    bool initialize() override;
 
     /**
      * Returns the data archive folder and version that's required
      */
-    virtual bool isDataRequired(Common::String &folder, int &majorVersion, int &minorVersion) override;
+    bool isDataRequired(Common::String &folder, int &majorVersion, int &minorVersion) override;
 public:
 	const Std::string c_empty_string;
 public:
 	NuvieEngine(OSystem *syst, const Ultima::UltimaGameDescription *gameDesc);
-	~NuvieEngine();
+	~NuvieEngine() override;
 
 	/**
 	 * Play the game
 	 */
-	virtual Common::Error run() override;
+	Common::Error run() override;
 
 	/**
 	 * Indicates whether a game state can be loaded.
 	 * @param isAutosave	Flags whether it's an autosave check
 	 */
-	virtual bool canLoadGameStateCurrently(bool isAutosave) override;
+	bool canLoadGameStateCurrently(bool isAutosave) override;
 
 	/**
 	 * Indicates whether a game state can be saved.
 	 * @param isAutosave	Flags whether it's an autosave check
 	 */
-	virtual bool canSaveGameStateCurrently(bool isAutosave) override;
+	bool canSaveGameStateCurrently(bool isAutosave) override;
 
 	/**
 	 * Load a game state.
 	 * @param slot	the slot from which a savestate should be loaded
 	 * @return returns kNoError on success, else an error code.
 	 */
-	virtual Common::Error loadGameState(int slot) override;
+	Common::Error loadGameState(int slot) override;
 
 	/**
 	 * Save a game state.
@@ -98,9 +98,9 @@ public:
 	 * @param isAutosave If true, autosave is being created
 	 * @return returns kNoError on success, else an error code.
 	 */
-	virtual Common::Error saveGameState(int slot, const Common::String &desc, bool isAutosave) override;
+	Common::Error saveGameState(int slot, const Common::String &desc, bool isAutosave) override;
 
-	virtual ::GUI::Debugger *getDebugger() override {
+	::GUI::Debugger *getDebugger() const override {
 		return _debugger;
 	}
 
diff --git a/engines/ultima/nuvie/pathfinder/actor_path_finder.h b/engines/ultima/nuvie/pathfinder/actor_path_finder.h
index 803942f..dd44186 100644
--- a/engines/ultima/nuvie/pathfinder/actor_path_finder.h
+++ b/engines/ultima/nuvie/pathfinder/actor_path_finder.h
@@ -37,21 +37,21 @@ protected:
 
 public:
 	ActorPathFinder(Actor *a, MapCoord g);
-	virtual ~ActorPathFinder();
+	~ActorPathFinder() override;
 	void set_actor(Actor *a);
 
 	virtual bool update_location(); /* get location from actor (use any time) */
 	virtual void actor_moved(); /* the actor moved ON PATH...
                                    (use after get_next_move()) */
 
-	virtual bool check_loc(const MapCoord &loc);
+	bool check_loc(const MapCoord &loc) override;
 
 	void get_closest_dir(MapCoord &rel_step); // relative dir loc->goal
-	virtual bool get_next_move(MapCoord &step);
+	bool get_next_move(MapCoord &step) override;
 
 protected:
 	bool search_towards_target(const MapCoord &g, MapCoord &rel_step);
-	virtual bool check_dir(const MapCoord &loc, MapCoord &rel, sint8 rot = 0);
+	bool check_dir(const MapCoord &loc, MapCoord &rel, sint8 rot = 0) override;
 	bool check_dir_and_distance(MapCoord loc, MapCoord g, MapCoord &rel_step, sint8 rotate);
 };
 
diff --git a/engines/ultima/nuvie/pathfinder/astar_path.h b/engines/ultima/nuvie/pathfinder/astar_path.h
index a89f3ab..deb6f27 100644
--- a/engines/ultima/nuvie/pathfinder/astar_path.h
+++ b/engines/ultima/nuvie/pathfinder/astar_path.h
@@ -55,18 +55,18 @@ protected:
 	                       sint32 &nnode_to_neighbor);
 public:
 	AStarPath();
-	~AStarPath() { }
-	bool path_search(MapCoord &start, MapCoord &goal);
-	virtual uint32 path_cost_est(MapCoord &s, MapCoord &g)  {
+	~AStarPath() override { }
+	bool path_search(MapCoord &start, MapCoord &goal) override;
+	uint32 path_cost_est(MapCoord &s, MapCoord &g) override  {
 		return (Path::path_cost_est(s, g));
 	}
-	virtual uint32 get_max_score(uint32 cost) {
+	uint32 get_max_score(uint32 cost) override {
 		return (Path::get_max_score(cost));
 	}
 	uint32 path_cost_est(astar_node &n1, astar_node &n2) {
 		return (Path::path_cost_est(n1.loc, n2.loc));
 	}
-	sint32 step_cost(MapCoord &c1, MapCoord &c2);
+	sint32 step_cost(MapCoord &c1, MapCoord &c2) override;
 protected:
 	/* FIXME: These node functions can be replaced with a priority_queue and a list. */
 	astar_node *find_open_node(astar_node *ncmp);
diff --git a/engines/ultima/nuvie/pathfinder/combat_path_finder.h b/engines/ultima/nuvie/pathfinder/combat_path_finder.h
index e79af4c..1a890a2 100644
--- a/engines/ultima/nuvie/pathfinder/combat_path_finder.h
+++ b/engines/ultima/nuvie/pathfinder/combat_path_finder.h
@@ -39,14 +39,14 @@ protected:
 	Actor *target;
 	CombatPathFinderMode target_mode;
 
-	bool update_location();
+	bool update_location() override;
 
 	uint8 max_dist;
 
 public:
 	CombatPathFinder(Actor *a);
 	CombatPathFinder(Actor *a, Actor *t);
-	~CombatPathFinder();
+	~CombatPathFinder() override;
 	bool set_flee_mode(Actor *actor);
 	bool set_chase_mode(Actor *actor);
 	bool set_mode(CombatPathFinderMode mode, Actor *actor);
@@ -54,8 +54,8 @@ public:
 		max_dist = dist;
 	}
 
-	bool get_next_move(MapCoord &step);
-	bool reached_goal();
+	bool get_next_move(MapCoord &step) override;
+	bool reached_goal() override;
 };
 
 } // End of namespace Nuvie
diff --git a/engines/ultima/nuvie/pathfinder/sched_path_finder.h b/engines/ultima/nuvie/pathfinder/sched_path_finder.h
index ce70801..168f4d1 100644
--- a/engines/ultima/nuvie/pathfinder/sched_path_finder.h
+++ b/engines/ultima/nuvie/pathfinder/sched_path_finder.h
@@ -38,13 +38,13 @@ public:
 	/* Pass 'path_type' to define search rules and methods to be used. The
 	   PathFinder is responsible for deleting it when finished. */
 	SchedPathFinder(Actor *a, MapCoord g, Path *path_type);
-	~SchedPathFinder();
+	~SchedPathFinder() override;
 
-	bool get_next_move(MapCoord &step); /* returns the next step in the path */
-	bool find_path(); /* gets a NEW path from location->goal */
-	void actor_moved(); /* update location and step counters */
+	bool get_next_move(MapCoord &step) override; /* returns the next step in the path */
+	bool find_path() override; /* gets a NEW path from location->goal */
+	void actor_moved() override; /* update location and step counters */
 
-	virtual bool check_loc(const MapCoord &loc); // ignores other actors
+	bool check_loc(const MapCoord &loc) override; // ignores other actors
 protected:
 	bool is_location_in_path();
 	void incr_step();
diff --git a/engines/ultima/nuvie/pathfinder/seek_path.h b/engines/ultima/nuvie/pathfinder/seek_path.h
index b033ac2..2d0685e 100644
--- a/engines/ultima/nuvie/pathfinder/seek_path.h
+++ b/engines/ultima/nuvie/pathfinder/seek_path.h
@@ -45,11 +45,11 @@ protected:
 
 public:
 	SeekPath();
-	~SeekPath();
-	sint32 step_cost(MapCoord &c1, MapCoord &c2) {
+	~SeekPath() override;
+	sint32 step_cost(MapCoord &c1, MapCoord &c2) override {
 		return -1;
 	}
-	bool path_search(MapCoord &start, MapCoord &goal);
+	bool path_search(MapCoord &start, MapCoord &goal) override;
 	void delete_path() {
 		Path::delete_path();
 		delete_nodes();
diff --git a/engines/ultima/nuvie/pathfinder/u6_astar_path.h b/engines/ultima/nuvie/pathfinder/u6_astar_path.h
index 208730f..f019864 100644
--- a/engines/ultima/nuvie/pathfinder/u6_astar_path.h
+++ b/engines/ultima/nuvie/pathfinder/u6_astar_path.h
@@ -31,8 +31,8 @@ namespace Nuvie {
 /* This provides a U6-specific step_cost() method. */
 class U6AStarPath: public AStarPath {
 public:
-	sint32 step_cost(MapCoord &c1, MapCoord &c2);
-	uint32 path_cost_est(MapCoord &s, MapCoord &g);
+	sint32 step_cost(MapCoord &c1, MapCoord &c2) override;
+	uint32 path_cost_est(MapCoord &s, MapCoord &g) override;
 };
 
 } // End of namespace Nuvie
diff --git a/engines/ultima/nuvie/portraits/portrait_md.h b/engines/ultima/nuvie/portraits/portrait_md.h
index fe58b49..bc98e8d 100644
--- a/engines/ultima/nuvie/portraits/portrait_md.h
+++ b/engines/ultima/nuvie/portraits/portrait_md.h
@@ -39,13 +39,13 @@ class PortraitMD : public Portrait {
 public:
 	PortraitMD(Configuration *cfg): Portrait(cfg) {};
 
-	bool init();
-	bool load(NuvieIO *objlist);
-	unsigned char *get_portrait_data(Actor *actor);
+	bool init() override;
+	bool load(NuvieIO *objlist) override;
+	unsigned char *get_portrait_data(Actor *actor) override;
 
 protected:
 
-	uint8 get_portrait_num(Actor *actor);
+	uint8 get_portrait_num(Actor *actor) override;
 
 private:
 	U6Shape *get_background_shape(uint8 actor_num);
diff --git a/engines/ultima/nuvie/portraits/portrait_se.h b/engines/ultima/nuvie/portraits/portrait_se.h
index 7df7467..5d7682a 100644
--- a/engines/ultima/nuvie/portraits/portrait_se.h
+++ b/engines/ultima/nuvie/portraits/portrait_se.h
@@ -40,15 +40,15 @@ class PortraitSE : public Portrait {
 public:
 	PortraitSE(Configuration *cfg): Portrait(cfg) {};
 
-	bool init();
-	bool load(NuvieIO *objlist);
-	unsigned char *get_portrait_data(Actor *actor);
+	bool init() override;
+	bool load(NuvieIO *objlist) override;
+	unsigned char *get_portrait_data(Actor *actor) override;
 
 private:
 
 	U6Shape *get_background_shape(Actor *actor);
 	uint8 get_background_shape_num(Actor *actor);
-	uint8 get_portrait_num(Actor *actor);
+	uint8 get_portrait_num(Actor *actor) override;
 
 };
 
diff --git a/engines/ultima/nuvie/portraits/portrait_u6.h b/engines/ultima/nuvie/portraits/portrait_u6.h
index d2be79c..c9796f6 100644
--- a/engines/ultima/nuvie/portraits/portrait_u6.h
+++ b/engines/ultima/nuvie/portraits/portrait_u6.h
@@ -41,15 +41,15 @@ class PortraitU6 : public Portrait {
 public:
 
 	PortraitU6(Configuration *cfg) : Portrait(cfg) {};
-	~PortraitU6() {};
+	~PortraitU6() override {};
 
-	bool init();
-	bool load(NuvieIO *objlist);
-	unsigned char *get_portrait_data(Actor *actor);
+	bool init() override;
+	bool load(NuvieIO *objlist) override;
+	unsigned char *get_portrait_data(Actor *actor) override;
 
 private:
 
-	uint8 get_portrait_num(Actor *actor);
+	uint8 get_portrait_num(Actor *actor) override;
 
 };
 
diff --git a/engines/ultima/nuvie/script/script_cutscene.h b/engines/ultima/nuvie/script/script_cutscene.h
index 3999261..509743a 100644
--- a/engines/ultima/nuvie/script/script_cutscene.h
+++ b/engines/ultima/nuvie/script/script_cutscene.h
@@ -81,8 +81,8 @@ private:
 	} stars[STAR_FIELD_NUM_STARS];
 public:
 	CSStarFieldImage(U6Shape *shape);
-	virtual ~CSStarFieldImage() {}
-	virtual void updateEffect();
+	~CSStarFieldImage() override {}
+	void updateEffect() override;
 };
 
 struct CSSprite {
@@ -137,7 +137,7 @@ private:
 
 public:
 	ScriptCutscene(GUI *g, Configuration *cfg, SoundManager *sm);
-	~ScriptCutscene();
+	~ScriptCutscene() override;
 
 	Std::vector<Std::string> load_text(const char *filename, uint8 idx);
 
@@ -164,8 +164,8 @@ public:
 	void update();
 
 	void wait();
-	void Display(bool full_redraw);
-	virtual void Hide();
+	void Display(bool full_redraw) override;
+	void Hide() override;
 
 	void print_text(CSImage *image, const char *string, uint16 *x, uint16 *y, uint16 startx, uint16 width, uint8 color);
 
diff --git a/engines/ultima/nuvie/sound/adlib_sfx_manager.h b/engines/ultima/nuvie/sound/adlib_sfx_manager.h
index a41d329..761e6f3 100644
--- a/engines/ultima/nuvie/sound/adlib_sfx_manager.h
+++ b/engines/ultima/nuvie/sound/adlib_sfx_manager.h
@@ -35,10 +35,10 @@ namespace Nuvie {
 class AdLibSfxManager : public SfxManager {
 public:
 	AdLibSfxManager(Configuration *cfg, Audio::Mixer *m);
-	virtual ~AdLibSfxManager();
+	~AdLibSfxManager() override;
 
-	bool playSfx(SfxIdType sfx_id, uint8 volume);
-	bool playSfxLooping(SfxIdType sfx_id, Audio::SoundHandle *handle, uint8 volume);
+	bool playSfx(SfxIdType sfx_id, uint8 volume) override;
+	bool playSfxLooping(SfxIdType sfx_id, Audio::SoundHandle *handle, uint8 volume) override;
 
 private:
 	void playSoundSample(Audio::AudioStream *stream, Audio::SoundHandle *looping_handle, uint8 volume);
diff --git a/engines/ultima/nuvie/sound/adplug/emu_opl.h b/engines/ultima/nuvie/sound/adplug/emu_opl.h
index 1972b5e..93c4bfe 100644
--- a/engines/ultima/nuvie/sound/adplug/emu_opl.h
+++ b/engines/ultima/nuvie/sound/adplug/emu_opl.h
@@ -32,7 +32,7 @@ namespace Nuvie {
 class CEmuopl: public Copl {
 public:
 	CEmuopl(int rate, bool bit16, bool usestereo);  // rate = sample rate
-	virtual ~CEmuopl();
+	~CEmuopl() override;
 
 	int getRate() {
 		return oplRate;
@@ -41,8 +41,8 @@ public:
 	void update(short *buf, int samples);   // fill buffer
 
 	// template methods
-	void write(int reg, int val);
-	void init();
+	void write(int reg, int val) override;
+	void init() override;
 
 private:
 	bool    use16bit, stereo;
diff --git a/engines/ultima/nuvie/sound/adplug/mid.h b/engines/ultima/nuvie/sound/adplug/mid.h
index 7eafcdb..18cd341 100644
--- a/engines/ultima/nuvie/sound/adplug/mid.h
+++ b/engines/ultima/nuvie/sound/adplug/mid.h
@@ -32,29 +32,29 @@ public:
 	static CPlayer *factory(Copl *newopl);
 
 	CmidPlayer(Copl *newopl);
-	~CmidPlayer();
+	~CmidPlayer() override;
 
-	bool load(const Std::string &filename);
+	bool load(const Std::string &filename) override;
 	bool load(Std::string &filename, int song_index);
 	//bool load(const Std::string &filename, const CFileProvider &fp);
-	bool update();
-	void rewind(int subsong);
-	float getrefresh();
+	bool update() override;
+	void rewind(int subsong) override;
+	float getrefresh() override;
 
-	Std::string gettype();
-	Std::string gettitle() {
+	Std::string gettype() override;
+	Std::string gettitle() override {
 		return Std::string(title);
 	}
-	Std::string getauthor() {
+	Std::string getauthor() override {
 		return Std::string(author);
 	}
-	Std::string getdesc() {
+	Std::string getdesc() override {
 		return Std::string(remarks);
 	}
-	unsigned int getinstruments() {
+	unsigned int getinstruments() override {
 		return tins;
 	}
-	unsigned int getsubsongs() {
+	unsigned int getsubsongs() override {
 		return subsongs;
 	}
 
diff --git a/engines/ultima/nuvie/sound/adplug/opl_class.h b/engines/ultima/nuvie/sound/adplug/opl_class.h
index a3c3ca3..90531cb 100644
--- a/engines/ultima/nuvie/sound/adplug/opl_class.h
+++ b/engines/ultima/nuvie/sound/adplug/opl_class.h
@@ -213,7 +213,7 @@ private:
 
 public:
 	OplClass(int rate, bool bit16, bool usestereo); // rate = sample rate
-	~OplClass() {
+	~OplClass() override {
 		YM3812Shutdown();
 	}
 
@@ -224,8 +224,8 @@ public:
 	void update(short *buf, int samples);   // fill buffer
 
 	// template methods
-	void write(int reg, int val);
-	void init();
+	void write(int reg, int val) override;
+	void init() override;
 
 private:
 	int  YM3812Init(int num, int clock, int rate);
diff --git a/engines/ultima/nuvie/sound/adplug/silent_opl.h b/engines/ultima/nuvie/sound/adplug/silent_opl.h
index 2c1ff29..c0c8aa7 100644
--- a/engines/ultima/nuvie/sound/adplug/silent_opl.h
+++ b/engines/ultima/nuvie/sound/adplug/silent_opl.h
@@ -27,8 +27,8 @@ namespace Nuvie {
 
 class CSilentopl : public Copl {
 public:
-	void write(int reg, int val) { };
-	void init() { };
+	void write(int reg, int val) override { };
+	void init() override { };
 };
 
 } // End of namespace Nuvie
diff --git a/engines/ultima/nuvie/sound/adplug/u6m.h b/engines/ultima/nuvie/sound/adplug/u6m.h
index 4bf66c8..509ff51 100644
--- a/engines/ultima/nuvie/sound/adplug/u6m.h
+++ b/engines/ultima/nuvie/sound/adplug/u6m.h
@@ -37,16 +37,16 @@ public:
 		songend(0), song_pos(0), loop_position(0), read_delay(0) {
 	}
 
-	~Cu6mPlayer();
+	~Cu6mPlayer() override;
 
 
 
-	bool load(const Std::string &filename);
-	bool update();
-	void rewind(int subsong);
-	float getrefresh();
+	bool load(const Std::string &filename) override;
+	bool update() override;
+	void rewind(int subsong) override;
+	float getrefresh() override;
 
-	Std::string gettype() {
+	Std::string gettype() override {
 		return Std::string("Ultima 6 Music");
 	};
 
diff --git a/engines/ultima/nuvie/sound/custom_sfx_manager.h b/engines/ultima/nuvie/sound/custom_sfx_manager.h
index f73d1b3..749d427 100644
--- a/engines/ultima/nuvie/sound/custom_sfx_manager.h
+++ b/engines/ultima/nuvie/sound/custom_sfx_manager.h
@@ -36,10 +36,10 @@ namespace Nuvie {
 class CustomSfxManager : public SfxManager {
 public:
 	CustomSfxManager(Configuration *cfg, Audio::Mixer *m);
-	virtual ~CustomSfxManager();
+	~CustomSfxManager() override;
 
-	bool playSfx(SfxIdType sfx_id, uint8 volume);
-	bool playSfxLooping(SfxIdType sfx_id, Audio::SoundHandle *handle, uint8 volume);
+	bool playSfx(SfxIdType sfx_id, uint8 volume) override;
+	bool playSfxLooping(SfxIdType sfx_id, Audio::SoundHandle *handle, uint8 volume) override;
 
 	void playSoundSample(uint16 sample_num, Audio::SoundHandle *looping_handle, uint8 volume);
 
diff --git a/engines/ultima/nuvie/sound/decoder/adlib_sfx_stream.h b/engines/ultima/nuvie/sound/decoder/adlib_sfx_stream.h
index c298ab3..c28ead2 100644
--- a/engines/ultima/nuvie/sound/decoder/adlib_sfx_stream.h
+++ b/engines/ultima/nuvie/sound/decoder/adlib_sfx_stream.h
@@ -44,21 +44,21 @@ public:
 	}
 
 	AdLibSfxStream(Configuration *cfg, int rate, uint8 channel, sint8 note, uint8 velocity, uint8 program_number, uint32 d);
-	~AdLibSfxStream();
+	~AdLibSfxStream() override;
 
-	int readBuffer(sint16 *buffer, const int numSamples);
+	int readBuffer(sint16 *buffer, const int numSamples) override;
 
 	/** Is this a stereo stream? */
-	bool isStereo() const {
+	bool isStereo() const override {
 		return true;
 	}
 
 	/** Sample rate of the stream. */
-	int getRate() const {
+	int getRate() const override {
 		return opl->getRate();
 	}
 
-	bool rewind() {
+	bool rewind() override {
 		return false;
 	}
 
@@ -69,7 +69,7 @@ public:
 	 * This is used by e.g. a rate converter to decide whether to keep on
 	 * converting data or stop.
 	 */
-	bool endOfData() const {
+	bool endOfData() const override {
 		if (total_samples_played >= duration) {
 			return true;
 		}
diff --git a/engines/ultima/nuvie/sound/decoder/fm_towns_decoder_stream.h b/engines/ultima/nuvie/sound/decoder/fm_towns_decoder_stream.h
index 521bc3d..802c4bd 100644
--- a/engines/ultima/nuvie/sound/decoder/fm_towns_decoder_stream.h
+++ b/engines/ultima/nuvie/sound/decoder/fm_towns_decoder_stream.h
@@ -40,19 +40,19 @@ public:
 
 	FMtownsDecoderStream(unsigned char *buf, uint32 len);
 	FMtownsDecoderStream(Std::string filename, uint16 sample_num, bool isCompressed = true);
-	~FMtownsDecoderStream();
+	~FMtownsDecoderStream() override;
 
 	uint32 getLengthInMsec();
 
-	int readBuffer(sint16 *buffer, const int numSamples);
+	int readBuffer(sint16 *buffer, const int numSamples) override;
 
 	/** Is this a stereo stream? */
-	bool isStereo() const {
+	bool isStereo() const override {
 		return false;
 	}
 
 	/** Sample rate of the stream. */
-	int getRate() const {
+	int getRate() const override {
 		return 14700;
 	}
 
@@ -63,11 +63,11 @@ public:
 	 * This is used by e.g. a rate converter to decide whether to keep on
 	 * converting data or stop.
 	 */
-	bool endOfData() const {
+	bool endOfData() const override {
 		return (buf_pos >= buf_len);
 	}
 
-	bool rewind() {
+	bool rewind() override {
 		buf_pos = 0;
 		return true;
 	}
diff --git a/engines/ultima/nuvie/sound/decoder/pc_speaker_stream.h b/engines/ultima/nuvie/sound/decoder/pc_speaker_stream.h
index f4b7c10..06a2cf3 100644
--- a/engines/ultima/nuvie/sound/decoder/pc_speaker_stream.h
+++ b/engines/ultima/nuvie/sound/decoder/pc_speaker_stream.h
@@ -37,17 +37,17 @@ public:
 		finished = false;
 	}
 
-	~PCSpeakerStream() {
+	~PCSpeakerStream() override {
 		delete pcspkr;
 	}
 
 	/** Is this a stereo stream? */
-	bool isStereo() const {
+	bool isStereo() const override {
 		return false;
 	}
 
 	/** Sample rate of the stream. */
-	int getRate() const {
+	int getRate() const override {
 		return SPKR_OUTPUT_RATE;
 	}
 
@@ -58,11 +58,11 @@ public:
 	 * This is used by e.g. a rate converter to decide whether to keep on
 	 * converting data or stop.
 	 */
-	bool endOfData() const {
+	bool endOfData() const override {
 		return finished;
 	}
 
-	bool rewind() {
+	bool rewind() override {
 		return false;
 	}
 
@@ -79,9 +79,9 @@ public:
 	}
 
 	PCSpeakerFreqStream(uint start, uint16 d);
-	~PCSpeakerFreqStream();
+	~PCSpeakerFreqStream() override;
 	uint32 getLengthInMsec();
-	int readBuffer(sint16 *buffer, const int numSamples);
+	int readBuffer(sint16 *buffer, const int numSamples) override;
 
 protected:
 
@@ -98,9 +98,9 @@ public:
 	}
 
 	PCSpeakerSweepFreqStream(uint start, uint end, uint16 d, uint16 s);
-	~PCSpeakerSweepFreqStream();
+	~PCSpeakerSweepFreqStream() override;
 	uint32 getLengthInMsec();
-	int readBuffer(sint16 *buffer, const int numSamples);
+	int readBuffer(sint16 *buffer, const int numSamples) override;
 
 protected:
 
@@ -126,10 +126,10 @@ public:
 	}
 
 	PCSpeakerRandomStream(uint start, uint16 d, uint16 s);
-	~PCSpeakerRandomStream();
+	~PCSpeakerRandomStream() override;
 	uint32 getLengthInMsec();
 	uint16 getNextFreqValue();
-	int readBuffer(sint16 *buffer, const int numSamples);
+	int readBuffer(sint16 *buffer, const int numSamples) override;
 
 protected:
 
@@ -153,9 +153,9 @@ public:
 	}
 
 	PCSpeakerStutterStream(sint16 a0, uint16 a2, uint16 a4, uint16 a6, uint16 a8);
-	~PCSpeakerStutterStream();
+	~PCSpeakerStutterStream() override;
 	uint32 getLengthInMsec();
-	int readBuffer(sint16 *buffer, const int numSamples);
+	int readBuffer(sint16 *buffer, const int numSamples) override;
 
 protected:
 
diff --git a/engines/ultima/nuvie/sound/decoder/random_collection_audio_stream.cpp b/engines/ultima/nuvie/sound/decoder/random_collection_audio_stream.cpp
index a2382e5..ef7d1d1 100644
--- a/engines/ultima/nuvie/sound/decoder/random_collection_audio_stream.cpp
+++ b/engines/ultima/nuvie/sound/decoder/random_collection_audio_stream.cpp
@@ -68,24 +68,24 @@ public:
 			_currentStream = NULL;
 	}
 
-	~RandomCollectionAudioStreamImpl();
+	~RandomCollectionAudioStreamImpl() override;
 
 	// Implement the AudioStream API
-	virtual int readBuffer(int16 *buffer, const int numSamples);
-	virtual bool isStereo() const {
+	int readBuffer(int16 *buffer, const int numSamples) override;
+	bool isStereo() const override {
 		return _stereo;
 	}
-	virtual int getRate() const {
+	int getRate() const override {
 		return _rate;
 	}
-	virtual bool endOfData() const {
+	bool endOfData() const override {
 		return false;
 	}
-	virtual bool endOfStream() const {
+	bool endOfStream() const override {
 		return _finished;
 	}
 
-	virtual void finish() {
+	void finish() override {
 		_finished = true;
 	}
 };
diff --git a/engines/ultima/nuvie/sound/decoder/u6_adplug_decoder_stream.h b/engines/ultima/nuvie/sound/decoder/u6_adplug_decoder_stream.h
index 76eaa12..8f4545a 100644
--- a/engines/ultima/nuvie/sound/decoder/u6_adplug_decoder_stream.h
+++ b/engines/ultima/nuvie/sound/decoder/u6_adplug_decoder_stream.h
@@ -44,21 +44,21 @@ public:
 	}
 
 	U6AdPlugDecoderStream(CEmuopl *o, Std::string filename, uint16 song_num);
-	~U6AdPlugDecoderStream();
+	~U6AdPlugDecoderStream() override;
 
-	int readBuffer(sint16 *buffer, const int numSamples);
+	int readBuffer(sint16 *buffer, const int numSamples) override;
 
 	/** Is this a stereo stream? */
-	bool isStereo() const {
+	bool isStereo() const override {
 		return true;
 	}
 
 	/** Sample rate of the stream. */
-	int getRate() const {
+	int getRate() const override {
 		return opl->getRate();
 	}
 
-	bool rewind() {
+	bool rewind() override {
 		if (player) {
 			player->rewind();    //FIXME this would need to be locked if called outside mixer thread.
 			return true;
@@ -73,7 +73,7 @@ public:
 	 * This is used by e.g. a rate converter to decide whether to keep on
 	 * converting data or stop.
 	 */
-	bool endOfData() const {
+	bool endOfData() const override {
 		return false;
 	}
 private:
diff --git a/engines/ultima/nuvie/sound/pc_speaker_sfx_manager.h b/engines/ultima/nuvie/sound/pc_speaker_sfx_manager.h
index d186ea6..fef5db4 100644
--- a/engines/ultima/nuvie/sound/pc_speaker_sfx_manager.h
+++ b/engines/ultima/nuvie/sound/pc_speaker_sfx_manager.h
@@ -35,10 +35,10 @@ namespace Nuvie {
 class PCSpeakerSfxManager : public SfxManager {
 public:
 	PCSpeakerSfxManager(Configuration *cfg, Audio::Mixer *m);
-	virtual ~PCSpeakerSfxManager();
+	~PCSpeakerSfxManager() override;
 
-	bool playSfx(SfxIdType sfx_id, uint8 volume);
-	bool playSfxLooping(SfxIdType sfx_id, Audio::SoundHandle *handle, uint8 volume);
+	bool playSfx(SfxIdType sfx_id, uint8 volume) override;
+	bool playSfxLooping(SfxIdType sfx_id, Audio::SoundHandle *handle, uint8 volume) override;
 
 private:
 	void playSoundSample(Audio::AudioStream *stream, Audio::SoundHandle *looping_handle, uint8 volume);
diff --git a/engines/ultima/nuvie/sound/song.h b/engines/ultima/nuvie/sound/song.h
index 1f5380d..e590500 100644
--- a/engines/ultima/nuvie/sound/song.h
+++ b/engines/ultima/nuvie/sound/song.h
@@ -34,16 +34,16 @@ public:
 	virtual bool Init(const char *filename) {
 		return false;
 	}
-	bool Play(bool looping = false) {
+	bool Play(bool looping = false) override {
 		return false;
 	}
-	bool Stop() {
+	bool Stop() override {
 		return false;
 	}
-	bool SetVolume(uint8 volume) {
+	bool SetVolume(uint8 volume) override {
 		return false;
 	}
-	bool FadeOut(float seconds) {
+	bool FadeOut(float seconds) override {
 		return false;
 	}
 
diff --git a/engines/ultima/nuvie/sound/song_adplug.h b/engines/ultima/nuvie/sound/song_adplug.h
index 0b5c7ff..b691dc5 100644
--- a/engines/ultima/nuvie/sound/song_adplug.h
+++ b/engines/ultima/nuvie/sound/song_adplug.h
@@ -37,15 +37,15 @@ public:
 	uint16 samples_left;
 
 	SongAdPlug(Audio::Mixer *m, CEmuopl *o);
-	~SongAdPlug();
-	bool Init(const char *filename) {
+	~SongAdPlug() override;
+	bool Init(const char *filename) override {
 		return Init(filename, 0);
 	}
 	bool Init(const char *filename, uint16 song_num);
-	bool Play(bool looping = false);
-	bool Stop();
-	bool SetVolume(uint8 volume);
-	bool FadeOut(float seconds) {
+	bool Play(bool looping = false) override;
+	bool Stop() override;
+	bool SetVolume(uint8 volume) override;
+	bool FadeOut(float seconds) override {
 		return false;
 	}
 	CEmuopl *get_opl() {
diff --git a/engines/ultima/nuvie/sound/towns_sfx_manager.h b/engines/ultima/nuvie/sound/towns_sfx_manager.h
index 7908f6e..963f8f1 100644
--- a/engines/ultima/nuvie/sound/towns_sfx_manager.h
+++ b/engines/ultima/nuvie/sound/towns_sfx_manager.h
@@ -43,10 +43,10 @@ typedef struct {
 class TownsSfxManager : public SfxManager {
 public:
 	TownsSfxManager(Configuration *cfg, Audio::Mixer *m);
-	virtual ~TownsSfxManager();
+	~TownsSfxManager() override;
 
-	bool playSfx(SfxIdType sfx_id, uint8 volume);
-	bool playSfxLooping(SfxIdType sfx_id, Audio::SoundHandle *handle, uint8 volume);
+	bool playSfx(SfxIdType sfx_id, uint8 volume) override;
+	bool playSfxLooping(SfxIdType sfx_id, Audio::SoundHandle *handle, uint8 volume) override;
 
 private:
 	Std::string sounds2dat_filepath;
diff --git a/engines/ultima/nuvie/usecode/u6_usecode.h b/engines/ultima/nuvie/usecode/u6_usecode.h
index e43351b..df8d89b 100644
--- a/engines/ultima/nuvie/usecode/u6_usecode.h
+++ b/engines/ultima/nuvie/usecode/u6_usecode.h
@@ -74,7 +74,7 @@ class U6UseCode: public UseCode, public CallBack {
 public:
 
 	U6UseCode(Game *g, Configuration *cfg);
-	~U6UseCode();
+	~U6UseCode() override;
 
 	bool use_obj(Obj *obj, Actor *actor) override;
 	bool look_obj(Obj *obj, Actor *actor) override;
@@ -142,7 +142,7 @@ public:
 	bool is_container(uint16 obj_n, uint8 frame_n) override;
 	bool is_readable(Obj *obj) override;
 
-	virtual uint16 callback(uint16 msg, CallBack *caller, void *data = NULL) override;
+	uint16 callback(uint16 msg, CallBack *caller, void *data = NULL) override;
 
 protected:
 	bool uc_event(const U6ObjectType *type, UseCodeEvent ev, Obj *obj);
diff --git a/engines/ultima/nuvie/views/actor_view.h b/engines/ultima/nuvie/views/actor_view.h
index a2ddb69..51f6611 100644
--- a/engines/ultima/nuvie/views/actor_view.h
+++ b/engines/ultima/nuvie/views/actor_view.h
@@ -50,13 +50,13 @@ class ActorView : public View {
 
 public:
 	ActorView(Configuration *cfg);
-	~ActorView();
+	~ActorView() override;
 
 	bool init(Screen *tmp_screen, void *view_manager, uint16 x, uint16 y, Font *f, Party *p, TileManager *tm, ObjManager *om, Portrait *port);
 
-	bool set_party_member(uint8 party_member);
+	bool set_party_member(uint8 party_member) override;
 
-	void Display(bool full_redraw);
+	void Display(bool full_redraw) override;
 	void update() {
 		update_display = true;
 	}
@@ -69,9 +69,9 @@ protected:
 	void display_name();
 	void display_actor_stats();
 	bool in_party;
-	GUI_status MouseDown(int x, int y, Shared::MouseButton button);
-	GUI_status KeyDown(const Common::KeyState &key);
-	GUI_status MouseWheel(sint32 x, sint32 y);
+	GUI_status MouseDown(int x, int y, Shared::MouseButton button) override;
+	GUI_status KeyDown(const Common::KeyState &key) override;
+	GUI_status MouseWheel(sint32 x, sint32 y) override;
 	void update_cursor();
 	void select_button();
 };
diff --git a/engines/ultima/nuvie/views/container_view_gump.h b/engines/ultima/nuvie/views/container_view_gump.h
index 6e719aa..c3c1b7d 100644
--- a/engines/ultima/nuvie/views/container_view_gump.h
+++ b/engines/ultima/nuvie/views/container_view_gump.h
@@ -57,11 +57,11 @@ class ContainerViewGump : public DraggableView {
 
 public:
 	ContainerViewGump(Configuration *cfg);
-	~ContainerViewGump();
+	~ContainerViewGump() override;
 
 	bool init(Screen *tmp_screen, void *view_manager, uint16 x, uint16 y, Font *f, Party *p, TileManager *tm, ObjManager *om, Obj *container_obj_type);
 
-	void Display(bool full_redraw);
+	void Display(bool full_redraw) override;
 
 	void set_actor(Actor *a);
 	Actor *get_actor() {
@@ -76,20 +76,20 @@ public:
 		return (container_obj == NULL);
 	}
 
-	GUI_status KeyDown(const Common::KeyState &key);
+	GUI_status KeyDown(const Common::KeyState &key) override;
 
-	virtual GUI_status MouseDown(int x, int y, Shared::MouseButton button);
-	virtual GUI_status MouseUp(int x, int y, Shared::MouseButton button);
-	virtual GUI_status MouseMotion(int x, int y, uint8 state) {
+	GUI_status MouseDown(int x, int y, Shared::MouseButton button) override;
+	GUI_status MouseUp(int x, int y, Shared::MouseButton button) override;
+	GUI_status MouseMotion(int x, int y, uint8 state) override {
 		return DraggableView::MouseMotion(x, y, state);
 	}
-	virtual GUI_status MouseWheel(sint32 x, sint32 y);
-	virtual void MoveRelative(int dx, int dy) {
+	GUI_status MouseWheel(sint32 x, sint32 y) override;
+	void MoveRelative(int dx, int dy) override {
 		return DraggableView::MoveRelative(dx, dy);
 	}
 
 
-	GUI_status callback(uint16 msg, GUI_CallBack *caller, void *data);
+	GUI_status callback(uint16 msg, GUI_CallBack *caller, void *data) override;
 protected:
 
 	void init_container_type(Std::string datadir, Obj *obj_type);
diff --git a/engines/ultima/nuvie/views/container_widget.h b/engines/ultima/nuvie/views/container_widget.h
index 4c037a4..0098292 100644
--- a/engines/ultima/nuvie/views/container_widget.h
+++ b/engines/ultima/nuvie/views/container_widget.h
@@ -65,7 +65,7 @@ protected:
 
 public:
 	ContainerWidget(Configuration *cfg, GUI_CallBack *callback = NULL);
-	~ContainerWidget();
+	~ContainerWidget() override;
 
 	bool init(Actor *a, uint16 x, uint16 y, TileManager *tm, ObjManager *om, Font *f);
 	virtual void set_actor(Actor *a);
@@ -83,22 +83,22 @@ public:
 	bool is_showing_container() {
 		return (container_obj != NULL ? true : false);
 	}
-	void Display(bool full_redraw);
+	void Display(bool full_redraw) override;
 
-	virtual GUI_status MouseDown(int x, int y, Shared::MouseButton button);
-	virtual GUI_status MouseUp(int x, int y, Shared::MouseButton button);
-	virtual GUI_status MouseMotion(int x, int y, uint8 state);
-	GUI_status MouseDouble(int x, int y, Shared::MouseButton button);
-	GUI_status MouseClick(int x, int y, Shared::MouseButton button);
-	GUI_status MouseDelayed(int x, int y, Shared::MouseButton button);
+	GUI_status MouseDown(int x, int y, Shared::MouseButton button) override;
+	GUI_status MouseUp(int x, int y, Shared::MouseButton button) override;
+	GUI_status MouseMotion(int x, int y, uint8 state) override;
+	GUI_status MouseDouble(int x, int y, Shared::MouseButton button) override;
+	GUI_status MouseClick(int x, int y, Shared::MouseButton button) override;
+	GUI_status MouseDelayed(int x, int y, Shared::MouseButton button) override;
 
-	void drag_drop_success(int x, int y, int message, void *data);
-	void drag_drop_failed(int x, int y, int message, void *data);
+	void drag_drop_success(int x, int y, int message, void *data) override;
+	void drag_drop_failed(int x, int y, int message, void *data) override;
 
-	bool drag_accept_drop(int x, int y, int message, void *data);
-	void drag_perform_drop(int x, int y, int message, void *data);
+	bool drag_accept_drop(int x, int y, int message, void *data) override;
+	void drag_perform_drop(int x, int y, int message, void *data) override;
 
-	void drag_draw(int x, int y, int message, void *data);
+	void drag_draw(int x, int y, int message, void *data) override;
 
 protected:
 
diff --git a/engines/ultima/nuvie/views/container_widget_gump.h b/engines/ultima/nuvie/views/container_widget_gump.h
index c8e24f8..f7de461 100644
--- a/engines/ultima/nuvie/views/container_widget_gump.h
+++ b/engines/ultima/nuvie/views/container_widget_gump.h
@@ -46,14 +46,14 @@ private:
 
 public:
 	ContainerWidgetGump(Configuration *cfg, GUI_CallBack *callback = NULL);
-	~ContainerWidgetGump();
+	~ContainerWidgetGump() override;
 
 	bool init(Actor *a, uint16 x, uint16 y, uint8 Cols, uint8 Rows, TileManager *tm, ObjManager *om, Font *f, uint8 check_xoff, uint8 check_yoff);
 
-	void Display(bool full_redraw);
-	GUI_status KeyDown(const Common::KeyState &key);
+	void Display(bool full_redraw) override;
+	GUI_status KeyDown(const Common::KeyState &key) override;
 
-	virtual void set_actor(Actor *a);
+	void set_actor(Actor *a) override;
 private:
 
 	void cursor_right();
diff --git a/engines/ultima/nuvie/views/doll_view_gump.h b/engines/ultima/nuvie/views/doll_view_gump.h
index 687ca09..c01baaf 100644
--- a/engines/ultima/nuvie/views/doll_view_gump.h
+++ b/engines/ultima/nuvie/views/doll_view_gump.h
@@ -61,7 +61,7 @@ class DollViewGump : public DraggableView {
 
 public:
 	DollViewGump(Configuration *cfg);
-	~DollViewGump();
+	~DollViewGump() override;
 
 	bool init(Screen *tmp_screen, void *view_manager, uint16 x, uint16 y, Actor *a, Font *f, Party *p, TileManager *tm, ObjManager *om);
 
@@ -70,20 +70,20 @@ public:
 		return actor;
 	}
 
-	void Display(bool full_redraw);
+	void Display(bool full_redraw) override;
 
-	virtual GUI_status MouseDown(int x, int y, Shared::MouseButton button);
-	virtual GUI_status MouseUp(int x, int y, Shared::MouseButton button);
-	virtual GUI_status MouseMotion(int x, int y, uint8 state) {
+	GUI_status MouseDown(int x, int y, Shared::MouseButton button) override;
+	GUI_status MouseUp(int x, int y, Shared::MouseButton button) override;
+	GUI_status MouseMotion(int x, int y, uint8 state) override {
 		return DraggableView::MouseMotion(x, y, state);
 	}
-	virtual GUI_status MouseWheel(sint32 xpos, sint32 ypos);
-	virtual void MoveRelative(int dx, int dy) {
+	GUI_status MouseWheel(sint32 xpos, sint32 ypos) override;
+	void MoveRelative(int dx, int dy) override {
 		return DraggableView::MoveRelative(dx, dy);
 	}
 
 
-	GUI_status callback(uint16 msg, GUI_CallBack *caller, void *data);
+	GUI_status callback(uint16 msg, GUI_CallBack *caller, void *data) override;
 protected:
 
 	void displayEquipWeight();
@@ -98,7 +98,7 @@ private:
 	void setColorKey(Graphics::ManagedSurface *image);
 	GUI_status set_cursor_pos(gumpCursorPos pos);
 	GUI_status moveCursorRelative(uint8 direction);
-	GUI_status KeyDown(const Common::KeyState &key);
+	GUI_status KeyDown(const Common::KeyState &key) override;
 
 };
 
diff --git a/engines/ultima/nuvie/views/doll_widget.h b/engines/ultima/nuvie/views/doll_widget.h
index e59298f..dc2e75e 100644
--- a/engines/ultima/nuvie/views/doll_widget.h
+++ b/engines/ultima/nuvie/views/doll_widget.h
@@ -56,28 +56,28 @@ class DollWidget : public GUI_Widget {
 
 public:
 	DollWidget(Configuration *cfg, GUI_CallBack *callback = NULL);
-	~DollWidget();
+	~DollWidget() override;
 
 	bool init(Actor *a, uint16 x, uint16 y, TileManager *tm, ObjManager *om, bool in_portrat_view = false);
 	void free_doll_shapes();
 	void setColorKey(Graphics::ManagedSurface *image);
 	void set_actor(Actor *a);
-	void Display(bool full_redraw);
+	void Display(bool full_redraw) override;
 
-	virtual GUI_status MouseDown(int x, int y, Shared::MouseButton button);
-	virtual GUI_status MouseUp(int x, int y, Shared::MouseButton button);
-	virtual GUI_status MouseMotion(int x, int y, uint8 state);
-	GUI_status MouseDouble(int x, int y, Shared::MouseButton button);
-	GUI_status MouseClick(int x, int y, Shared::MouseButton button);
-	GUI_status MouseDelayed(int x, int y, Shared::MouseButton button);
+	GUI_status MouseDown(int x, int y, Shared::MouseButton button) override;
+	GUI_status MouseUp(int x, int y, Shared::MouseButton button) override;
+	GUI_status MouseMotion(int x, int y, uint8 state) override;
+	GUI_status MouseDouble(int x, int y, Shared::MouseButton button) override;
+	GUI_status MouseClick(int x, int y, Shared::MouseButton button) override;
+	GUI_status MouseDelayed(int x, int y, Shared::MouseButton button) override;
 
-	void drag_drop_success(int x, int y, int message, void *data);
-	void drag_drop_failed(int x, int y, int message, void *data);
+	void drag_drop_success(int x, int y, int message, void *data) override;
+	void drag_drop_failed(int x, int y, int message, void *data) override;
 
-	bool drag_accept_drop(int x, int y, int message, void *data);
-	void drag_perform_drop(int x, int y, int message, void *data);
+	bool drag_accept_drop(int x, int y, int message, void *data) override;
+	void drag_perform_drop(int x, int y, int message, void *data) override;
 
-	void drag_draw(int x, int y, int message, void *data);
+	void drag_draw(int x, int y, int message, void *data) override;
 
 	Common::Rect *get_item_hit_rect(uint8 location);
 
diff --git a/engines/ultima/nuvie/views/draggable_view.h b/engines/ultima/nuvie/views/draggable_view.h
index ddac5e1..a72bee4 100644
--- a/engines/ultima/nuvie/views/draggable_view.h
+++ b/engines/ultima/nuvie/views/draggable_view.h
@@ -43,13 +43,13 @@ private:
 
 public:
 	DraggableView(Configuration *config);
-	virtual ~DraggableView();
+	~DraggableView() override;
 
 	/* events, used for dragging the area. */
-	GUI_status MouseDown(int x, int y, Shared::MouseButton button);
-	GUI_status MouseUp(int x, int y, Shared::MouseButton button);
-	GUI_status MouseMotion(int x, int y, uint8 state);
-	void MoveRelative(int dx, int dy);
+	GUI_status MouseDown(int x, int y, Shared::MouseButton button) override;
+	GUI_status MouseUp(int x, int y, Shared::MouseButton button) override;
+	GUI_status MouseMotion(int x, int y, uint8 state) override;
+	void MoveRelative(int dx, int dy) override;
 
 protected:
 	void set_bg_color_key(uint8 r, uint8 g, uint8 b);
diff --git a/engines/ultima/nuvie/views/inventory_view.h b/engines/ultima/nuvie/views/inventory_view.h
index 9b7fc2a..d4e9879 100644
--- a/engines/ultima/nuvie/views/inventory_view.h
+++ b/engines/ultima/nuvie/views/inventory_view.h
@@ -64,10 +64,10 @@ class InventoryView : public View {
 
 public:
 	InventoryView(Configuration *cfg);
-	~InventoryView();
+	~InventoryView() override;
 
 	bool init(Screen *tmp_screen, void *view_manager, uint16 x, uint16 y, Font *f, Party *p, TileManager *tm, ObjManager *om);
-	bool set_party_member(uint8 party_member);
+	bool set_party_member(uint8 party_member) override;
 	bool set_actor(Actor *actor, bool pickpocket = false);
 	void set_show_cursor(bool state);
 	void moveCursorToSlot(uint8 slot_num);
@@ -82,9 +82,9 @@ public:
 		return (inventory_widget);
 	};
 
-	void Display(bool full_redraw);
-	void PlaceOnScreen(Screen *s, GUI_DragManager *dm, int x, int y);
-	GUI_status KeyDown(const Common::KeyState &key);
+	void Display(bool full_redraw) override;
+	void PlaceOnScreen(Screen *s, GUI_DragManager *dm, int x, int y) override;
+	GUI_status KeyDown(const Common::KeyState &key) override;
 	void simulate_CB_callback();
 	bool is_picking_pocket() {
 		return picking_pocket;
@@ -102,9 +102,9 @@ protected:
 	void update_cursor();
 	void hide_buttons();
 	void show_buttons();
-	GUI_status MouseDown(int x, int y, Shared::MouseButton button);
-	GUI_status MouseWheel(sint32 x, sint32 y);
-	GUI_status callback(uint16 msg, GUI_CallBack *caller, void *data);
+	GUI_status MouseDown(int x, int y, Shared::MouseButton button) override;
+	GUI_status MouseWheel(sint32 x, sint32 y) override;
+	GUI_status callback(uint16 msg, GUI_CallBack *caller, void *data) override;
 };
 
 } // End of namespace Nuvie
diff --git a/engines/ultima/nuvie/views/inventory_widget.h b/engines/ultima/nuvie/views/inventory_widget.h
index 437a25c..212316b 100644
--- a/engines/ultima/nuvie/views/inventory_widget.h
+++ b/engines/ultima/nuvie/views/inventory_widget.h
@@ -62,7 +62,7 @@ protected:
 
 public:
 	InventoryWidget(Configuration *cfg, GUI_CallBack *callback = NULL);
-	~InventoryWidget();
+	~InventoryWidget() override;
 
 	bool init(Actor *a, uint16 x, uint16 y, TileManager *tm, ObjManager *om, Font *f);
 	void set_actor(Actor *a);
@@ -82,22 +82,22 @@ public:
 	bool is_showing_container() {
 		return (container_obj != NULL ? true : false);
 	}
-	void Display(bool full_redraw);
-
-	virtual GUI_status MouseDown(int x, int y, Shared::MouseButton button);
-	virtual GUI_status MouseUp(int x, int y, Shared::MouseButton button);
-	virtual GUI_status MouseMotion(int x, int y, uint8 state);
-	GUI_status MouseDouble(int x, int y, Shared::MouseButton button);
-	GUI_status MouseClick(int x, int y, Shared::MouseButton button);
-	GUI_status MouseDelayed(int x, int y, Shared::MouseButton button);
-	GUI_status MouseWheel(sint32 x, sint32 y);
-	void drag_drop_success(int x, int y, int message, void *data);
-	void drag_drop_failed(int x, int y, int message, void *data);
-
-	bool drag_accept_drop(int x, int y, int message, void *data);
-	void drag_perform_drop(int x, int y, int message, void *data);
-
-	void drag_draw(int x, int y, int message, void *data);
+	void Display(bool full_redraw) override;
+
+	GUI_status MouseDown(int x, int y, Shared::MouseButton button) override;
+	GUI_status MouseUp(int x, int y, Shared::MouseButton button) override;
+	GUI_status MouseMotion(int x, int y, uint8 state) override;
+	GUI_status MouseDouble(int x, int y, Shared::MouseButton button) override;
+	GUI_status MouseClick(int x, int y, Shared::MouseButton button) override;
+	GUI_status MouseDelayed(int x, int y, Shared::MouseButton button) override;
+	GUI_status MouseWheel(sint32 x, sint32 y) override;
+	void drag_drop_success(int x, int y, int message, void *data) override;
+	void drag_drop_failed(int x, int y, int message, void *data) override;
+
+	bool drag_accept_drop(int x, int y, int message, void *data) override;
+	void drag_perform_drop(int x, int y, int message, void *data) override;
+
+	void drag_draw(int x, int y, int message, void *data) override;
 
 	uint8 get_num_rows() {
 		return game_type == NUVIE_GAME_U6 ? 3 : 4;
diff --git a/engines/ultima/nuvie/views/map_editor_view.h b/engines/ultima/nuvie/views/map_editor_view.h
index 6c796bd..59b35f9 100644
--- a/engines/ultima/nuvie/views/map_editor_view.h
+++ b/engines/ultima/nuvie/views/map_editor_view.h
@@ -42,17 +42,17 @@ private:
 	GUI_Button *down_button;
 public:
 	MapEditorView(Configuration *config);
-	virtual ~MapEditorView();
+	~MapEditorView() override;
 
 	bool init(Screen *tmp_screen, void *view_manager, uint16 x, uint16 y, Font *f, Party *p, TileManager *tm, ObjManager *om);
-	void Display(bool full_redraw);
-	GUI_status KeyDown(const Common::KeyState &key);
-	GUI_status MouseDown(int x, int y, Shared::MouseButton button);
-	GUI_status MouseUp(int x, int y, Shared::MouseButton button);
-	GUI_status MouseMotion(int x, int y, uint8 state);
+	void Display(bool full_redraw) override;
+	GUI_status KeyDown(const Common::KeyState &key) override;
+	GUI_status MouseDown(int x, int y, Shared::MouseButton button) override;
+	GUI_status MouseUp(int x, int y, Shared::MouseButton button) override;
+	GUI_status MouseMotion(int x, int y, uint8 state) override;
 
-	virtual void close_view();
-	GUI_status callback(uint16 msg, GUI_CallBack *caller, void *data);
+	void close_view() override;
+	GUI_status callback(uint16 msg, GUI_CallBack *caller, void *data) override;
 protected:
 	void setTile(uint16 x, uint16 y, uint8 level);
 	void toggleGrid();
diff --git a/engines/ultima/nuvie/views/md_sky_strip_widget.h b/engines/ultima/nuvie/views/md_sky_strip_widget.h
index 0584205..279c1ec 100644
--- a/engines/ultima/nuvie/views/md_sky_strip_widget.h
+++ b/engines/ultima/nuvie/views/md_sky_strip_widget.h
@@ -43,10 +43,10 @@ protected:
 
 public:
 	MDSkyStripWidget(Configuration *cfg, GameClock *c, Player *p);
-	~MDSkyStripWidget();
+	~MDSkyStripWidget() override;
 
 	void init(sint16 x, sint16 y);
-	void Display(bool full_redraw);
+	void Display(bool full_redraw) override;
 
 private:
 	void display_surface();
diff --git a/engines/ultima/nuvie/views/party_view.h b/engines/ultima/nuvie/views/party_view.h
index f03d15d..0bdef1a 100644
--- a/engines/ultima/nuvie/views/party_view.h
+++ b/engines/ultima/nuvie/views/party_view.h
@@ -47,17 +47,17 @@ class PartyView : public View {
 
 public:
 	PartyView(Configuration *cfg);
-	~PartyView();
+	~PartyView() override;
 
 	bool init(void *vm, uint16 x, uint16 y, Font *f, Party *p, Player *pl, TileManager *tm, ObjManager *om);
-	GUI_status MouseUp(int x, int y, Shared::MouseButton button);
-	GUI_status MouseDown(int x, int y, Shared::MouseButton button) {
+	GUI_status MouseUp(int x, int y, Shared::MouseButton button) override;
+	GUI_status MouseDown(int x, int y, Shared::MouseButton button) override {
 		return (GUI_YUM);
 	}
-	GUI_status MouseWheel(sint32 x, sint32 y);
-	bool drag_accept_drop(int x, int y, int message, void *data);
-	void drag_perform_drop(int x, int y, int message, void *data);
-	void Display(bool full_redraw);
+	GUI_status MouseWheel(sint32 x, sint32 y) override;
+	bool drag_accept_drop(int x, int y, int message, void *data) override;
+	void drag_perform_drop(int x, int y, int message, void *data) override;
+	void Display(bool full_redraw) override;
 	void update() {
 		update_display = true;
 	}
diff --git a/engines/ultima/nuvie/views/portrait_view.h b/engines/ultima/nuvie/views/portrait_view.h
index 5f777d8..476fcf8 100644
--- a/engines/ultima/nuvie/views/portrait_view.h
+++ b/engines/ultima/nuvie/views/portrait_view.h
@@ -62,11 +62,11 @@ class PortraitView : public View {
 
 public:
 	PortraitView(Configuration *cfg);
-	~PortraitView();
+	~PortraitView() override;
 
 	bool init(uint16 x, uint16 y, Font *f, Party *p, Player *player, TileManager *tm, ObjManager *om, Portrait *port);
-	void Display(bool full_redraw);
-	GUI_status HandleEvent(const Common::Event *event);
+	void Display(bool full_redraw) override;
+	GUI_status HandleEvent(const Common::Event *event) override;
 
 	bool set_portrait(Actor *actor, const char *name);
 	void set_show_cursor(bool state) {
diff --git a/engines/ultima/nuvie/views/portrait_view_gump.h b/engines/ultima/nuvie/views/portrait_view_gump.h
index 168b32c..940500b 100644
--- a/engines/ultima/nuvie/views/portrait_view_gump.h
+++ b/engines/ultima/nuvie/views/portrait_view_gump.h
@@ -53,23 +53,23 @@ class PortraitViewGump : public DraggableView {
 
 public:
 	PortraitViewGump(Configuration *cfg);
-	~PortraitViewGump();
+	~PortraitViewGump() override;
 
 	bool init(Screen *tmp_screen, void *view_manager, uint16 x, uint16 y, Font *f, Party *p, TileManager *tm, ObjManager *om, Portrait *por, Actor *a);
 
-	void Display(bool full_redraw);
+	void Display(bool full_redraw) override;
 
-	GUI_status callback(uint16 msg, GUI_CallBack *caller, void *data);
+	GUI_status callback(uint16 msg, GUI_CallBack *caller, void *data) override;
 
-	GUI_status MouseDown(int x, int y, Shared::MouseButton button);
-	GUI_status MouseWheel(sint32 x, sint32 y);
+	GUI_status MouseDown(int x, int y, Shared::MouseButton button) override;
+	GUI_status MouseWheel(sint32 x, sint32 y) override;
 
 protected:
 
 	void set_actor(Actor *a);
 	void left_arrow();
 	void right_arrow();
-	GUI_status KeyDown(const Common::KeyState &key);
+	GUI_status KeyDown(const Common::KeyState &key) override;
 	GUI_status set_cursor_pos(gumpCursorPos pos);
 };
 
diff --git a/engines/ultima/nuvie/views/scroll_view_gump.h b/engines/ultima/nuvie/views/scroll_view_gump.h
index b142bc6..25ea051 100644
--- a/engines/ultima/nuvie/views/scroll_view_gump.h
+++ b/engines/ultima/nuvie/views/scroll_view_gump.h
@@ -40,19 +40,19 @@ class ScrollViewGump : public DraggableView {
 
 public:
 	ScrollViewGump(Configuration *cfg);
-	~ScrollViewGump();
+	~ScrollViewGump() override;
 
 	bool init(Screen *tmp_screen, void *view_manager, Font *f, Party *p, TileManager *tm, ObjManager *om, Std::string text_string);
 
-	void Display(bool full_redraw);
+	void Display(bool full_redraw) override;
 
-	GUI_status callback(uint16 msg, GUI_CallBack *caller, void *data);
+	GUI_status callback(uint16 msg, GUI_CallBack *caller, void *data) override;
 
-	GUI_status MouseDown(int x, int y, Shared::MouseButton button);
-	GUI_status MouseUp(int x, int y, Shared::MouseButton button) {
+	GUI_status MouseDown(int x, int y, Shared::MouseButton button) override;
+	GUI_status MouseUp(int x, int y, Shared::MouseButton button) override {
 		return GUI_YUM;
 	}
-	GUI_status KeyDown(const Common::KeyState &key);
+	GUI_status KeyDown(const Common::KeyState &key) override;
 
 protected:
 
diff --git a/engines/ultima/nuvie/views/scroll_widget_gump.h b/engines/ultima/nuvie/views/scroll_widget_gump.h
index c010bba..8de349a2 100644
--- a/engines/ultima/nuvie/views/scroll_widget_gump.h
+++ b/engines/ultima/nuvie/views/scroll_widget_gump.h
@@ -70,7 +70,7 @@ class ScrollWidgetGump: public MsgScroll {
 public:
 
 	ScrollWidgetGump(Configuration *cfg, Screen *s);
-	~ScrollWidgetGump();
+	~ScrollWidgetGump() override;
 
 	bool parse_token(MsgText *token) override;
 
@@ -82,7 +82,7 @@ public:
 
 	void display_prompt() override {}
 	void display_string(Std::string s);
-	virtual void display_string(Std::string s, Font *f, bool include_on_map_window) override {
+	void display_string(Std::string s, Font *f, bool include_on_map_window) override {
 		return MsgScroll::display_string(s, f, include_on_map_window);
 	}
 
diff --git a/engines/ultima/nuvie/views/sign_view_gump.h b/engines/ultima/nuvie/views/sign_view_gump.h
index b4e0e1b..ac1adc8 100644
--- a/engines/ultima/nuvie/views/sign_view_gump.h
+++ b/engines/ultima/nuvie/views/sign_view_gump.h
@@ -42,16 +42,16 @@ class SignViewGump : public DraggableView {
 
 public:
 	SignViewGump(Configuration *cfg);
-	~SignViewGump();
+	~SignViewGump() override;
 
 	bool init(Screen *tmp_screen, void *view_manager, Font *f, Party *p, TileManager *tm, ObjManager *om, const char *text_string, uint16 length);
 
-	void Display(bool full_redraw);
+	void Display(bool full_redraw) override;
 
-	GUI_status callback(uint16 msg, GUI_CallBack *caller, void *data);
+	GUI_status callback(uint16 msg, GUI_CallBack *caller, void *data) override;
 
-	GUI_status MouseDown(int x, int y, Shared::MouseButton button);
-	GUI_status KeyDown(const Common::KeyState &key);
+	GUI_status MouseDown(int x, int y, Shared::MouseButton button) override;
+	GUI_status KeyDown(const Common::KeyState &key) override;
 
 protected:
 
diff --git a/engines/ultima/nuvie/views/spell_view.h b/engines/ultima/nuvie/views/spell_view.h
index e8312a2..510f84a 100644
--- a/engines/ultima/nuvie/views/spell_view.h
+++ b/engines/ultima/nuvie/views/spell_view.h
@@ -59,7 +59,7 @@ protected:
 
 public:
 	SpellView(Configuration *cfg);
-	~SpellView();
+	~SpellView() override;
 
 	bool init(Screen *tmp_screen, void *view_manager, uint16 x, uint16 y, Font *f, Party *p, TileManager *tm, ObjManager *om);
 
@@ -69,37 +69,37 @@ public:
 			return spell_container->quality;
 		} else return -1;
 	}
-	void Display(bool full_redraw);
-	void PlaceOnScreen(Screen *s, GUI_DragManager *dm, int x, int y);
+	void Display(bool full_redraw) override;
+	void PlaceOnScreen(Screen *s, GUI_DragManager *dm, int x, int y) override;
 	void close_look();
-	GUI_status KeyDown(const Common::KeyState &key);
-	GUI_status MouseDown(int x, int y, Shared::MouseButton button);
+	GUI_status KeyDown(const Common::KeyState &key) override;
+	GUI_status MouseDown(int x, int y, Shared::MouseButton button) override;
 
-	GUI_status MouseUp(int x, int y, Shared::MouseButton button) {
+	GUI_status MouseUp(int x, int y, Shared::MouseButton button) override {
 		return GUI_YUM;
 	}
-	GUI_status MouseMotion(int x, int y, uint8 state) {
+	GUI_status MouseMotion(int x, int y, uint8 state) override {
 		return GUI_YUM;
 	}
-	GUI_status MouseEnter(uint8 state) {
+	GUI_status MouseEnter(uint8 state) override {
 		return GUI_YUM;
 	}
-	GUI_status MouseLeave(uint8 state) {
+	GUI_status MouseLeave(uint8 state) override {
 		return GUI_YUM;
 	}
-	GUI_status MouseClick(int x, int y, Shared::MouseButton button) {
+	GUI_status MouseClick(int x, int y, Shared::MouseButton button) override {
 		return GUI_YUM;
 	}
-	GUI_status MouseDouble(int x, int y, Shared::MouseButton button) {
+	GUI_status MouseDouble(int x, int y, Shared::MouseButton button) override {
 		return GUI_YUM;
 	}
-	GUI_status MouseDelayed(int x, int y, Shared::MouseButton button) {
+	GUI_status MouseDelayed(int x, int y, Shared::MouseButton button) override {
 		return GUI_YUM;
 	}
-	GUI_status MouseHeld(int x, int y, Shared::MouseButton button) {
+	GUI_status MouseHeld(int x, int y, Shared::MouseButton button) override {
 		return GUI_YUM;
 	}
-	GUI_status MouseWheel(sint32 x, sint32 y);
+	GUI_status MouseWheel(sint32 x, sint32 y) override;
 
 protected:
 
@@ -128,7 +128,7 @@ protected:
 	GUI_status cancel_spell();
 	uint16 get_available_spell_count(Spell *s);
 
-	GUI_status callback(uint16 msg, GUI_CallBack *caller, void *data);
+	GUI_status callback(uint16 msg, GUI_CallBack *caller, void *data) override;
 };
 
 } // End of namespace Nuvie
diff --git a/engines/ultima/nuvie/views/spell_view_gump.h b/engines/ultima/nuvie/views/spell_view_gump.h
index 29bd687..e77fdb2 100644
--- a/engines/ultima/nuvie/views/spell_view_gump.h
+++ b/engines/ultima/nuvie/views/spell_view_gump.h
@@ -48,29 +48,29 @@ class SpellViewGump : public SpellView {
 	NuvieBmpFile bmp;
 public:
 	SpellViewGump(Configuration *cfg);
-	~SpellViewGump();
+	~SpellViewGump() override;
 
 	bool init(Screen *tmp_screen, void *view_manager, uint16 x, uint16 y, Font *f, Party *p, TileManager *tm, ObjManager *om);
 
-	void Display(bool full_redraw);
+	void Display(bool full_redraw) override;
 
-	virtual GUI_status MouseDown(int x, int y, Shared::MouseButton button);
-	virtual GUI_status MouseUp(int x, int y, Shared::MouseButton button);
-	virtual GUI_status MouseMotion(int x, int y, uint8 state) {
+	GUI_status MouseDown(int x, int y, Shared::MouseButton button) override;
+	GUI_status MouseUp(int x, int y, Shared::MouseButton button) override;
+	GUI_status MouseMotion(int x, int y, uint8 state) override {
 		return DraggableView::MouseMotion(x, y, state);
 	}
-	virtual GUI_status MouseWheel(sint32 x, sint32 y);
-	virtual void MoveRelative(int dx, int dy) {
+	GUI_status MouseWheel(sint32 x, sint32 y) override;
+	void MoveRelative(int dx, int dy) override {
 		return DraggableView::MoveRelative(dx, dy);
 	}
 
 
-	GUI_status callback(uint16 msg, GUI_CallBack *caller, void *data);
+	GUI_status callback(uint16 msg, GUI_CallBack *caller, void *data) override;
 protected:
 
 	sint16 getSpell(int x, int y);
 
-	virtual uint8 fill_cur_spell_list();
+	uint8 fill_cur_spell_list() override;
 	void loadCircleString(Std::string datadir);
 	void loadCircleSuffix(Std::string datadir, Std::string image);
 	void printSpellQty(uint8 spell_num, uint16 x, uint16 y);
diff --git a/engines/ultima/nuvie/views/sun_moon_ribbon.h b/engines/ultima/nuvie/views/sun_moon_ribbon.h
index ddce24e..13c3c47 100644
--- a/engines/ultima/nuvie/views/sun_moon_ribbon.h
+++ b/engines/ultima/nuvie/views/sun_moon_ribbon.h
@@ -38,12 +38,12 @@ private:
 
 public:
 	SunMoonRibbon(Player *p, Weather *w, TileManager *tm);
-	~SunMoonRibbon();
+	~SunMoonRibbon() override;
 
 	void init(Screen *screen);
-	void Display(bool full_redraw);
+	void Display(bool full_redraw) override;
 
-	GUI_status MouseDown(int x, int y, Shared::MouseButton button);
+	GUI_status MouseDown(int x, int y, Shared::MouseButton button) override;
 
 
 	void extend() {
@@ -54,7 +54,7 @@ public:
 	}
 
 protected:
-	void display_sun_moon(Tile *tile, uint8 pos);
+	void display_sun_moon(Tile *tile, uint8 pos) override;
 
 private:
 	void loadBgImage(uint8 num);
diff --git a/engines/ultima/nuvie/views/sun_moon_strip_widget.h b/engines/ultima/nuvie/views/sun_moon_strip_widget.h
index 38f075c..1a00738 100644
--- a/engines/ultima/nuvie/views/sun_moon_strip_widget.h
+++ b/engines/ultima/nuvie/views/sun_moon_strip_widget.h
@@ -39,10 +39,10 @@ protected:
 
 public:
 	SunMoonStripWidget(Player *p, TileManager *tm);
-	~SunMoonStripWidget();
+	~SunMoonStripWidget() override;
 
 	void init(sint16 x, sint16 y);
-	void Display(bool full_redraw);
+	void Display(bool full_redraw) override;
 
 protected:
 	virtual void display_sun_moon(Tile *tile, uint8 pos);
diff --git a/engines/ultima/nuvie/views/view.h b/engines/ultima/nuvie/views/view.h
index 0791436..68e8caa 100644
--- a/engines/ultima/nuvie/views/view.h
+++ b/engines/ultima/nuvie/views/view.h
@@ -58,7 +58,7 @@ protected:
 public:
 
 	View(Configuration *cfg);
-	virtual ~View();
+	~View() override;
 
 	bool init(uint16 x, uint16 y, Font *f, Party *p, TileManager *tm, ObjManager *om);
 
@@ -76,7 +76,7 @@ public:
 
 protected:
 
-	GUI_status callback(uint16 msg, GUI_CallBack *caller, void *data);
+	GUI_status callback(uint16 msg, GUI_CallBack *caller, void *data) override;
 	GUI_Button *loadButton(Std::string dir, Std::string name, uint16 x, uint16 y);
 };
 
diff --git a/engines/ultima/shared/actions/action.h b/engines/ultima/shared/actions/action.h
index 6431747..d06f43f 100644
--- a/engines/ultima/shared/actions/action.h
+++ b/engines/ultima/shared/actions/action.h
@@ -54,7 +54,7 @@ public:
 	/**
 	 * Destructor
 	 */
-	virtual ~Action() {}
+	~Action() override {}
 
 	/**
 	 * Jumps up through the parents to find the root game
diff --git a/engines/ultima/shared/actions/huh.h b/engines/ultima/shared/actions/huh.h
index 0ba7c93..65898b3 100644
--- a/engines/ultima/shared/actions/huh.h
+++ b/engines/ultima/shared/actions/huh.h
@@ -46,7 +46,7 @@ public:
 	/**
 	 * Destructor
 	 */
-	virtual ~Huh() {}
+	~Huh() override {}
 };
 
 } // End of namespace Actions
diff --git a/engines/ultima/shared/actions/pass.h b/engines/ultima/shared/actions/pass.h
index dd90826..6c8352e 100644
--- a/engines/ultima/shared/actions/pass.h
+++ b/engines/ultima/shared/actions/pass.h
@@ -46,7 +46,7 @@ public:
 	/**
 	 * Destructor
 	 */
-	virtual ~Pass() {}
+	~Pass() override {}
 };
 
 } // End of namespace Actions
diff --git a/engines/ultima/shared/core/file.h b/engines/ultima/shared/core/file.h
index 0a99eb9..6b6bfbb 100644
--- a/engines/ultima/shared/core/file.h
+++ b/engines/ultima/shared/core/file.h
@@ -42,27 +42,27 @@ public:
 	 * Open the file with the given filename, by searching SearchMan.
 	 * @param	name	the name of the file to open
 	 */
-	virtual bool open(const Common::String &name) override;
+	bool open(const Common::String &name) override;
 
 	/**
 	 * Open the file with the given filename from within the given archive.
 	 * @param	name	the name of the file to open
 	 * @param	archive		the archive in which to search for the file
 	 */
-	virtual bool open(const Common::String &name, Common::Archive &archive) override;
+	bool open(const Common::String &name, Common::Archive &archive) override;
 
 	/**
 	 * Open the file corresponding to the give node.
 	 * @param   node        the node to consider.
 	 */
-	virtual bool open(const Common::FSNode &node) override;
+	bool open(const Common::FSNode &node) override;
 
 	/**
 	 * 'Open' the given stream. That is, we just wrap around it
 	 * @param	stream		a pointer to a SeekableReadStream, or 0
 	 * @param	name		a string describing the 'file' corresponding to stream
 	 */
-	virtual bool open(SeekableReadStream *stream, const Common::String &name) override;
+	bool open(SeekableReadStream *stream, const Common::String &name) override;
 
 	/**
 	 * Reads in a null terminated string
diff --git a/engines/ultima/shared/core/named_item.h b/engines/ultima/shared/core/named_item.h
index d2715d1..13ea030 100644
--- a/engines/ultima/shared/core/named_item.h
+++ b/engines/ultima/shared/core/named_item.h
@@ -43,7 +43,7 @@ public:
 	/**
 	 * Gets the name of the item, if any
 	 */
-	virtual const Common::String getName() const override { return _name; }
+	const Common::String getName() const override { return _name; }
 };
 
 } // End of namespace Shared
diff --git a/engines/ultima/shared/core/widgets.h b/engines/ultima/shared/core/widgets.h
index 5e7dcd9..0d9b607 100644
--- a/engines/ultima/shared/core/widgets.h
+++ b/engines/ultima/shared/core/widgets.h
@@ -43,7 +43,7 @@ public:
 	/**
 	 * Destructor
 	 */
-	virtual ~StandardWidget() {}
+	~StandardWidget() override {}
 };
 
 class Creature : public StandardWidget {
@@ -79,19 +79,19 @@ public:
 	/**
 	 * Destructor
 	 */
-	virtual ~Creature() {}
+	~Creature() override {}
 
 	/**
 	 * Handles loading and saving games
 	 */
-	virtual void synchronize(Common::Serializer &s) override;
+	void synchronize(Common::Serializer &s) override;
 
 	/**
 	 * Called to update the widget at the end of a turn
 	 * @param isPreUpdate		Update is called twice in succesion during the end of turn update.
 	 *		Once with true for all widgets, then with it false
 	 */
-	virtual void update(bool isPreUpdate) override;
+	void update(bool isPreUpdate) override;
 
 	/**
 	 * True true if the creature is dead
@@ -116,7 +116,7 @@ public:
 	/**
 	 * Destructor
 	 */
-	virtual ~DungeonWidget() {}
+	~DungeonWidget() override {}
 
 	/**
 	 * Draws an item
diff --git a/engines/ultima/shared/early/font_resources.h b/engines/ultima/shared/early/font_resources.h
index 5688d5a..3c9c8cf 100644
--- a/engines/ultima/shared/early/font_resources.h
+++ b/engines/ultima/shared/early/font_resources.h
@@ -35,7 +35,7 @@ protected:
 	/**
 	 * Synchronize resource data
 	 */
-	virtual void synchronize() override;
+	void synchronize() override;
 public:
 	byte _font8x8[256][8];
 	byte _fontU6[256][8];
diff --git a/engines/ultima/shared/early/game.h b/engines/ultima/shared/early/game.h
index 6dbe9d8..327502f 100644
--- a/engines/ultima/shared/early/game.h
+++ b/engines/ultima/shared/early/game.h
@@ -91,7 +91,7 @@ public:
 	/**
 	 * Destructor
 	 */
-	virtual ~Game();
+	~Game() override;
 
 	/**
 	 * Play a sound effect
@@ -111,12 +111,12 @@ public:
 	/**
 	 * Returns the map
 	 */
-	virtual Maps::Map *getMap() const override { return _map; }
+	Maps::Map *getMap() const override { return _map; }
 
 	/**
 	 * Handles loading and saving games
 	 */
-	virtual void synchronize(Common::Serializer &s) override;
+	void synchronize(Common::Serializer &s) override;
 
 	/**
 	 * Signal an end of turn
diff --git a/engines/ultima/shared/early/game_base.h b/engines/ultima/shared/early/game_base.h
index aed282f..91d5637 100644
--- a/engines/ultima/shared/early/game_base.h
+++ b/engines/ultima/shared/early/game_base.h
@@ -90,22 +90,22 @@ public:
 	/**
 	 * Destructor
 	 */
-	virtual ~GameBase();
+	~GameBase() override;
 
 	/**
 	 * Called to handle any regular updates the game requires
 	 */
-	virtual void onIdle() override;
-
-	virtual void mouseMove(const Point &mousePos) override;
-	virtual void leftButtonDown(const Point &mousePos) override;
-	virtual void leftButtonUp(const Point &mousePos) override;
-	virtual void middleButtonDown(const Point &mousePos) override;
-	virtual void middleButtonUp(const Point &mousePos) override;
-	virtual void rightButtonDown(const Point &mousePos) override;
-	virtual void rightButtonUp(const Point &mousePos) override;
-	virtual void mouseWheel(const Point &mousePos, bool wheelUp) override;
-	virtual void keyDown(Common::KeyState keyState) override;
+	void onIdle() override;
+
+	void mouseMove(const Point &mousePos) override;
+	void leftButtonDown(const Point &mousePos) override;
+	void leftButtonUp(const Point &mousePos) override;
+	void middleButtonDown(const Point &mousePos) override;
+	void middleButtonUp(const Point &mousePos) override;
+	void rightButtonDown(const Point &mousePos) override;
+	void rightButtonUp(const Point &mousePos) override;
+	void mouseWheel(const Point &mousePos, bool wheelUp) override;
+	void keyDown(Common::KeyState keyState) override;
 
 	/**
 	 * Called when the game starts
diff --git a/engines/ultima/shared/early/ultima_early.h b/engines/ultima/shared/early/ultima_early.h
index d37201e..211a87e 100644
--- a/engines/ultima/shared/early/ultima_early.h
+++ b/engines/ultima/shared/early/ultima_early.h
@@ -71,30 +71,30 @@ private:
 	/**
 	 * Initialize the engine
 	 */
-	virtual bool initialize() override;
+	bool initialize() override;
 
 	/**
 	 * Deinitialize the engine
 	 */
 
-	virtual void deinitialize() override;
+	void deinitialize() override;
 
 	/**
 	 * Returns the data archive folder and version that's required
 	 */
-	virtual bool isDataRequired(Common::String &folder, int &majorVersion, int &minorVersion) override;
+	bool isDataRequired(Common::String &folder, int &majorVersion, int &minorVersion) override;
 public:
 	GameBase *_game;
 	MouseCursor *_mouseCursor;
 	Gfx::Screen *_screen;
 public:
 	UltimaEarlyEngine(OSystem *syst, const UltimaGameDescription *gameDesc);
-	virtual ~UltimaEarlyEngine();
+	~UltimaEarlyEngine() override;
 
 	/**
 	 * Main method for running the game
 	 */
-	virtual Common::Error run() override;
+	Common::Error run() override;
 
 	/**
 	 * Play the game
@@ -104,35 +104,35 @@ public:
 	/**
 	 * Get the screen
 	 */
-	virtual Graphics::Screen *getScreen() const override;
+	Graphics::Screen *getScreen() const override;
 	/**
 	 * Indicates whether a game state can be loaded.
 	 * @param isAutosave	Flags whether it's an autosave check
 	 */
-	virtual bool canLoadGameStateCurrently(bool isAutosave) override;
+	bool canLoadGameStateCurrently(bool isAutosave) override;
 
 	/**
 	 * Indicates whether a game state can be saved.
 	 * @param isAutosave	Flags whether it's an autosave check
 	 */
-	virtual bool canSaveGameStateCurrently(bool isAutosave) override;
+	bool canSaveGameStateCurrently(bool isAutosave) override;
 
 	/**
 	 * Load a savegame
 	 */
-	virtual Common::Error loadGameStream(Common::SeekableReadStream *stream) override;
+	Common::Error loadGameStream(Common::SeekableReadStream *stream) override;
 
 	/**
 	 * Save a game state.
 	 */
-	virtual Common::Error saveGameStream(Common::WriteStream *stream, bool isAutosave = false) override;
+	Common::Error saveGameStream(Common::WriteStream *stream, bool isAutosave = false) override;
 
 	/*
 	 * Creates a new hierarchy for the game, that contains all the logic for playing that particular game.
 	 */
 	Game *createGame() const;
 
-	virtual GUI::Debugger *getDebugger() override { return nullptr; }
+	GUI::Debugger *getDebugger() const override { return nullptr; }
 };
 
 } // End of namespace Shared
diff --git a/engines/ultima/shared/engine/data_archive.cpp b/engines/ultima/shared/engine/data_archive.cpp
index bf69edb..78c1a78 100644
--- a/engines/ultima/shared/engine/data_archive.cpp
+++ b/engines/ultima/shared/engine/data_archive.cpp
@@ -40,16 +40,16 @@ public:
 		const Common::String &subfolder) :
 		_member(member), _publicFolder("data/"), _innerfolder(subfolder) {
 	}
-	virtual ~UltimaDataArchiveMember() {}
-	virtual Common::SeekableReadStream *createReadStream() const {
+	~UltimaDataArchiveMember() override {}
+	Common::SeekableReadStream *createReadStream() const override {
 		return _member->createReadStream();
 	}
-	virtual Common::String getName() const {
+	Common::String getName() const override {
 		Common::String name = _member->getName();
 		assert(name.hasPrefixIgnoreCase(_innerfolder));
 		return _publicFolder + Common::String(name.c_str() + _innerfolder.size());
 	}
-	virtual Common::String getDisplayName() const {
+	Common::String getDisplayName() const override {
 		return _member->getDisplayName();
 	}
 };
diff --git a/engines/ultima/shared/engine/data_archive.h b/engines/ultima/shared/engine/data_archive.h
index 4755549..b6bfb2d 100644
--- a/engines/ultima/shared/engine/data_archive.h
+++ b/engines/ultima/shared/engine/data_archive.h
@@ -58,7 +58,7 @@ public:
     static UltimaDataArchive *load(const Common::String &subfolder,
 		int reqMajorVersion, int reqMinorVersion, Common::String &errorMsg);
 public:
-	virtual ~UltimaDataArchive() {
+	~UltimaDataArchive() override {
 		delete _zip;
 	}
 
@@ -67,7 +67,7 @@ public:
 	 * Patterns are not allowed, as this is meant to be a quick File::exists()
 	 * replacement.
 	 */
-	virtual bool hasFile(const Common::String &name) const override;
+	bool hasFile(const Common::String &name) const override;
 
 	/**
 	 * Add all members of the Archive matching the specified pattern to list.
@@ -75,7 +75,7 @@ public:
 	 *
 	 * @return the number of members added to list
 	 */
-	virtual int listMatchingMembers(Common::ArchiveMemberList &list,
+	int listMatchingMembers(Common::ArchiveMemberList &list,
 		const Common::String &pattern) const override;
 
 	/**
@@ -84,12 +84,12 @@ public:
 	 *
 	 * @return the number of names added to list
 	 */
-	virtual int listMembers(Common::ArchiveMemberList &list) const override;
+	int listMembers(Common::ArchiveMemberList &list) const override;
 
 	/**
 	 * Returns a ArchiveMember representation of the given file.
 	 */
-	virtual const Common::ArchiveMemberPtr getMember(const Common::String &name)
+	const Common::ArchiveMemberPtr getMember(const Common::String &name)
 		const override;
 
 	/**
@@ -97,7 +97,7 @@ public:
 	 * archive. If no member with this name exists, 0 is returned.
 	 * @return the newly created input stream
 	 */
-	virtual Common::SeekableReadStream *createReadStreamForMember(
+	Common::SeekableReadStream *createReadStreamForMember(
 		const Common::String &name) const override;
 };
 
diff --git a/engines/ultima/shared/engine/debugger.h b/engines/ultima/shared/engine/debugger.h
index 49c16fd..b0addff 100644
--- a/engines/ultima/shared/engine/debugger.h
+++ b/engines/ultima/shared/engine/debugger.h
@@ -42,7 +42,7 @@ protected:
 	int strToInt(const char *s);
 public:
 	Debugger();
-    virtual ~Debugger() {}
+    ~Debugger() override {}
 };
 
 } // End of namespace Shared
diff --git a/engines/ultima/shared/engine/events.h b/engines/ultima/shared/engine/events.h
index 567c424..590ab2a 100644
--- a/engines/ultima/shared/engine/events.h
+++ b/engines/ultima/shared/engine/events.h
@@ -103,18 +103,18 @@ public:
 public:
 	CPressTarget() : _pressed(false) {
 	}
-	virtual ~CPressTarget() {
+	~CPressTarget() override {
 	}
-	virtual void leftButtonDown(const Common::Point &mousePos) {
+	void leftButtonDown(const Common::Point &mousePos) override {
 		_pressed = true;
 	}
-	virtual void middleButtonDown(const Common::Point &mousePos) {
+	void middleButtonDown(const Common::Point &mousePos) override {
 		_pressed = true;
 	}
-	virtual void rightButtonDown(const Common::Point &mousePos) {
+	void rightButtonDown(const Common::Point &mousePos) override {
 		_pressed = true;
 	}
-	virtual void keyDown(Common::KeyState keyState) {
+	void keyDown(Common::KeyState keyState) override {
 		_pressed = true;
 	}
 };
diff --git a/engines/ultima/shared/engine/resources.h b/engines/ultima/shared/engine/resources.h
index 8f503cc..972d12f 100644
--- a/engines/ultima/shared/engine/resources.h
+++ b/engines/ultima/shared/engine/resources.h
@@ -107,15 +107,15 @@ protected:
 	 */
 	bool isSaving() const { return _owner != nullptr; }
 
-	virtual void syncString(const char *&str) override;
-	virtual void syncStrings(const char **str, size_t count) override;
-	virtual void syncStrings2D(const char **str, size_t count1, size_t count2) override;
-	virtual void syncNumber(int &val) override;
-	virtual void syncNumbers(int *vals, size_t count) override;
-	virtual void syncNumbers2D(int *vals, size_t count1, size_t count2) override;
-	virtual void syncNumbers3D(int *vals, size_t count1, size_t count2, size_t count3) override;
-	virtual void syncBytes(byte *vals, size_t count) override;
-	virtual void syncBytes2D(byte *vals, size_t count1, size_t count2) override;
+	void syncString(const char *&str) override;
+	void syncStrings(const char **str, size_t count) override;
+	void syncStrings2D(const char **str, size_t count1, size_t count2) override;
+	void syncNumber(int &val) override;
+	void syncNumbers(int *vals, size_t count) override;
+	void syncNumbers2D(int *vals, size_t count1, size_t count2) override;
+	void syncNumbers3D(int *vals, size_t count1, size_t count2, size_t count3) override;
+	void syncBytes(byte *vals, size_t count) override;
+	void syncBytes2D(byte *vals, size_t count1, size_t count2) override;
 public:
 	/**
 	 * Write out the resource to the in-memory resource store
@@ -168,7 +168,7 @@ public:
 	 * Patterns are not allowed, as this is meant to be a quick File::exists()
 	 * replacement.
 	 */
-	virtual bool hasFile(const Common::String &name) const  override;
+	bool hasFile(const Common::String &name) const  override;
 
 	/**
 	 * Add all members of the Archive to list.
@@ -176,19 +176,19 @@ public:
 	 *
 	 * @return the number of names added to list
 	 */
-	virtual int listMembers(Common::ArchiveMemberList &list) const  override;
+	int listMembers(Common::ArchiveMemberList &list) const  override;
 
 	/**
 	 * Returns a ArchiveMember representation of the given file.
 	 */
-	virtual const Common::ArchiveMemberPtr getMember(const Common::String &name) const  override;
+	const Common::ArchiveMemberPtr getMember(const Common::String &name) const  override;
 
 	/**
 	 * Create a stream bound to a member with the specified name in the
 	 * archive. If no member with this name exists, 0 is returned.
 	 * @return the newly created input stream
 	 */
-	virtual Common::SeekableReadStream *createReadStreamForMember(const Common::String &name) const  override;
+	Common::SeekableReadStream *createReadStreamForMember(const Common::String &name) const  override;
 };
 
 } // End of namespace Shared
diff --git a/engines/ultima/shared/engine/ultima.h b/engines/ultima/shared/engine/ultima.h
index f0c71d7..72c574b 100644
--- a/engines/ultima/shared/engine/ultima.h
+++ b/engines/ultima/shared/engine/ultima.h
@@ -71,12 +71,12 @@ public:
 	EventsManager *_events;
 public:
 	UltimaEngine(OSystem *syst, const Ultima::UltimaGameDescription *gameDesc);
-	~UltimaEngine();
+	~UltimaEngine() override;
 
 	/**
 	 * Returns supported engine features
 	 */
-	virtual bool hasFeature(EngineFeature f) const override;
+	bool hasFeature(EngineFeature f) const override;
 
 	/**
 	 * Returns game features
@@ -135,12 +135,12 @@ public:
 	/**
 	 * Checks if an auto save should be done, and if so, takes care of it
 	 */
-	virtual bool autoSaveCheck(int lastSaveTime) override;
+	bool autoSaveCheck(int lastSaveTime) override;
 
 	/**
 	 * Return the debugger
 	 */
-	virtual GUI::Debugger *getDebugger() override {
+	GUI::Debugger *getDebugger() override {
 		return _debugger;
 	}
 
@@ -158,7 +158,7 @@ public:
 	/**
 	 * Indicates whether a game state can be loaded.
 	 */
-	virtual bool canLoadGameStateCurrently() override {
+	bool canLoadGameStateCurrently() override {
 		return canLoadGameStateCurrently(false);
 	}
 
@@ -171,7 +171,7 @@ public:
 	/**
 	 * Indicates whether a game state can be saved.
 	 */
-	virtual bool canSaveGameStateCurrently() override {
+	bool canSaveGameStateCurrently() override {
 		return canSaveGameStateCurrently(false);
 	}
 };
diff --git a/engines/ultima/shared/gfx/info.h b/engines/ultima/shared/gfx/info.h
index 7be2721..6505ace 100644
--- a/engines/ultima/shared/gfx/info.h
+++ b/engines/ultima/shared/gfx/info.h
@@ -67,12 +67,12 @@ public:
 	/**
 	 * Destructor
 	 */
-	virtual ~Info();
+	~Info() override;
 
 	/**
 	 * Draw the contents
 	 */
-	virtual void draw() override;
+	void draw() override;
 };
 
 } // End of namespace Shared
diff --git a/engines/ultima/shared/gfx/popup.h b/engines/ultima/shared/gfx/popup.h
index bffd680..951defa 100644
--- a/engines/ultima/shared/gfx/popup.h
+++ b/engines/ultima/shared/gfx/popup.h
@@ -54,7 +54,7 @@ public:
 	/**
 	 * Destructor
 	 */
-	virtual ~Popup();
+	~Popup() override;
 
 	/**
 	 * Show the popup
diff --git a/engines/ultima/shared/gfx/screen.h b/engines/ultima/shared/gfx/screen.h
index ed8d477..deecf84 100644
--- a/engines/ultima/shared/gfx/screen.h
+++ b/engines/ultima/shared/gfx/screen.h
@@ -71,12 +71,12 @@ public:
 	/**
 	 * Updates the screen by copying any affected areas to the system
 	 */
-	virtual void update();
+	void update() override;
 
 	/**
 	 * Updates the screen at the end of an update call
 	 */
-	virtual void updateScreen();
+	void updateScreen() override;
 
 	/**
 	 * Sets the currently active cursor
diff --git a/engines/ultima/shared/gfx/text_cursor.h b/engines/ultima/shared/gfx/text_cursor.h
index 8ba28af..fe45a89 100644
--- a/engines/ultima/shared/gfx/text_cursor.h
+++ b/engines/ultima/shared/gfx/text_cursor.h
@@ -45,7 +45,7 @@ protected:
 public:
 	TextCursor() : _visible(false) {
 	}
-	virtual ~TextCursor() {
+	~TextCursor() override {
 	}
 
 	/**
@@ -66,7 +66,7 @@ public:
 	/**
 	 * Get the bounds of the cursor
 	 */
-	virtual Common::Rect getBounds() const { return _bounds; }
+	Common::Rect getBounds() const override { return _bounds; }
 
 	/**
 	 * Returns the position of the cursor
diff --git a/engines/ultima/shared/gfx/text_input.h b/engines/ultima/shared/gfx/text_input.h
index 9222b3d..31632be 100644
--- a/engines/ultima/shared/gfx/text_input.h
+++ b/engines/ultima/shared/gfx/text_input.h
@@ -47,7 +47,7 @@ public:
 	/**
 	 * Draws the visual item on the screen
 	 */
-	virtual void draw() override;
+	void draw() override;
 
 	/**
 	 * Show the text input
diff --git a/engines/ultima/shared/gfx/viewport_dungeon.h b/engines/ultima/shared/gfx/viewport_dungeon.h
index a718dd6..5de01a1 100644
--- a/engines/ultima/shared/gfx/viewport_dungeon.h
+++ b/engines/ultima/shared/gfx/viewport_dungeon.h
@@ -70,12 +70,12 @@ protected:
 public:
 	CLASSDEF;
 	ViewportDungeon(TreeItem *parent) : Gfx::VisualItem("ViewportDungeon", Rect(8, 8, 312, 152), parent) {}
-	virtual ~ViewportDungeon() {}
+	~ViewportDungeon() override {}
 
 	/**
 	 * Draws the dungeon
 	 */
-	virtual void draw() override;
+	void draw() override;
 };
 
 } // End of namespace Shared
diff --git a/engines/ultima/shared/gfx/viewport_map.h b/engines/ultima/shared/gfx/viewport_map.h
index 2613cd7..7b35a6d 100644
--- a/engines/ultima/shared/gfx/viewport_map.h
+++ b/engines/ultima/shared/gfx/viewport_map.h
@@ -44,12 +44,12 @@ public:
 	/**
 	 * Destructor
 	 */
-	virtual ~ViewportMap() {}
+	~ViewportMap() override {}
 
 	/**
 	 * Draws the map
 	 */
-	virtual void draw() override;
+	void draw() override;
 };
 
 } // End of namespace Shared
diff --git a/engines/ultima/shared/gfx/visual_container.h b/engines/ultima/shared/gfx/visual_container.h
index 7f6df94..c55ce2c 100644
--- a/engines/ultima/shared/gfx/visual_container.h
+++ b/engines/ultima/shared/gfx/visual_container.h
@@ -54,22 +54,22 @@ public:
 		VisualItem(name, parent), _mouseFocusItem(nullptr) {}
 	VisualContainer(const Common::String &name, const Rect &r, TreeItem *parent = nullptr) :
 		VisualItem(name, r, parent), _mouseFocusItem(nullptr) {}
-	virtual ~VisualContainer() {}
+	~VisualContainer() override {}
 
 	/**
 	 * Draws the container by iterating through each child and letting it draw
 	 */
-	virtual void draw() override;
+	void draw() override;
 
 	/**
 	 * Flags the item as being changed, requiring a redraw
 	 */
-	virtual void setDirty(bool dirty = true) override;
+	void setDirty(bool dirty = true) override;
 
 	/**
 	 * Returns true if the item is dirty, requiring a redraw
 	 */
-	virtual bool isDirty() const override;
+	bool isDirty() const override;
 };
 
 } // End of namespace Gfx
diff --git a/engines/ultima/shared/gfx/visual_item.h b/engines/ultima/shared/gfx/visual_item.h
index 1d9e106..8960651 100644
--- a/engines/ultima/shared/gfx/visual_item.h
+++ b/engines/ultima/shared/gfx/visual_item.h
@@ -58,7 +58,7 @@ public:
 	VisualItem(const Common::String &name, const Rect &r, TreeItem *parent = nullptr) : NamedItem(name),
 		_bounds(r) { init(parent); }
 
-	virtual ~VisualItem() {
+	~VisualItem() override {
 	}
 
 	/**
diff --git a/engines/ultima/shared/maps/dungeon_creature.h b/engines/ultima/shared/maps/dungeon_creature.h
index 0e77ba1..af1010f 100644
--- a/engines/ultima/shared/maps/dungeon_creature.h
+++ b/engines/ultima/shared/maps/dungeon_creature.h
@@ -47,7 +47,7 @@ public:
 	/**
 	 * Destructor
 	 */
-	virtual ~DungeonCreature() {}
+	~DungeonCreature() override {}
 
 	/**
 	 * Returns true if a monster blocks the background behind him
diff --git a/engines/ultima/shared/maps/dungeon_widget.h b/engines/ultima/shared/maps/dungeon_widget.h
index b76f198..76f74f9 100644
--- a/engines/ultima/shared/maps/dungeon_widget.h
+++ b/engines/ultima/shared/maps/dungeon_widget.h
@@ -53,7 +53,7 @@ public:
 	/**
 	 * Destructor
 	 */
-	virtual ~DungeonWidget() {}
+	~DungeonWidget() override {}
 
 	/**
 	 * Draws an item
diff --git a/engines/ultima/shared/maps/map_widget.h b/engines/ultima/shared/maps/map_widget.h
index cf469fd..354469d 100644
--- a/engines/ultima/shared/maps/map_widget.h
+++ b/engines/ultima/shared/maps/map_widget.h
@@ -76,7 +76,7 @@ public:
 	/**
 	 * Destructor
 	 */
-	virtual ~MapWidget() {}
+	~MapWidget() override {}
 
 	/**
 	 * Return a name for a widget class if it can be synchronized to savegames
diff --git a/engines/ultima/ultima0/game.h b/engines/ultima/ultima0/game.h
index 7c2b944..48db861 100644
--- a/engines/ultima/ultima0/game.h
+++ b/engines/ultima/ultima0/game.h
@@ -33,7 +33,7 @@ class Ultima0Game : public Shared::Game {
 public:
 	CLASSDEF;
 	Ultima0Game();
-	virtual ~Ultima0Game() {}
+	~Ultima0Game() override {}
 
 };
 
diff --git a/engines/ultima/ultima1/actions/action.h b/engines/ultima/ultima1/actions/action.h
index 236556b..cefd36c 100644
--- a/engines/ultima/ultima1/actions/action.h
+++ b/engines/ultima/ultima1/actions/action.h
@@ -46,7 +46,7 @@ public:
 	/**
 	 * Destructor
 	 */
-	virtual ~Action() {}
+	~Action() override {}
 
 	/**
 	 * Jumps up through the parents to find the root game
diff --git a/engines/ultima/ultima1/actions/attack.h b/engines/ultima/ultima1/actions/attack.h
index ffc54c5..3ae7736 100644
--- a/engines/ultima/ultima1/actions/attack.h
+++ b/engines/ultima/ultima1/actions/attack.h
@@ -66,7 +66,7 @@ protected:
 	/**
 	 * Do the attack in a given direction
 	 */
-	virtual void doAttack(Shared::Maps::Direction dir) override;
+	void doAttack(Shared::Maps::Direction dir) override;
 public:
 	CLASSDEF;
 
@@ -86,7 +86,7 @@ protected:
 	/**
 	 * Do the attack in a given direction
 	 */
-	virtual void doAttack(Shared::Maps::Direction dir) override;
+	void doAttack(Shared::Maps::Direction dir) override;
 public:
 	CLASSDEF;
 
diff --git a/engines/ultima/ultima1/actions/move.h b/engines/ultima/ultima1/actions/move.h
index 135de7a..1969e1d 100644
--- a/engines/ultima/ultima1/actions/move.h
+++ b/engines/ultima/ultima1/actions/move.h
@@ -66,7 +66,7 @@ public:
 	/**
 	 * Destructor
 	 */
-	virtual ~Move() {}
+	~Move() override {}
 };
 
 } // End of namespace Actions
diff --git a/engines/ultima/ultima1/core/debugger.h b/engines/ultima/ultima1/core/debugger.h
index b55aa15..257e117 100644
--- a/engines/ultima/ultima1/core/debugger.h
+++ b/engines/ultima/ultima1/core/debugger.h
@@ -36,7 +36,7 @@ private:
 	bool cmdSpell(int argc, const char **argv);
 public:
 	Debugger();
-    virtual ~Debugger() {}
+    ~Debugger() override {}
 };
 
 } // End of namespace Ultima1
diff --git a/engines/ultima/ultima1/core/party.h b/engines/ultima/ultima1/core/party.h
index dfbcaf4..9f6c035 100644
--- a/engines/ultima/ultima1/core/party.h
+++ b/engines/ultima/ultima1/core/party.h
@@ -69,7 +69,7 @@ public:
 	/**
 	 * Change the quantity by a given amount
 	 */
-	virtual void changeQuantity(int delta) override {
+	void changeQuantity(int delta) override {
 		if (_type != WEAPON_HANDS)
 			_quantity = (uint)CLIP((int)_quantity + delta, 0, 9999);
 	}
@@ -107,7 +107,7 @@ public:
 	/**
 	 * Change the quantity by a given amount
 	 */
-	virtual void changeQuantity(int delta) override {
+	void changeQuantity(int delta) override {
 		if (_type != ARMOR_SKIN)
 			_quantity = (uint)CLIP((int)_quantity + delta, 0, 9999);
 	}
diff --git a/engines/ultima/ultima1/core/resources.h b/engines/ultima/ultima1/core/resources.h
index 820aa5a..1517606 100644
--- a/engines/ultima/ultima1/core/resources.h
+++ b/engines/ultima/ultima1/core/resources.h
@@ -35,7 +35,7 @@ protected:
 	/**
 	 * Synchronize resource data
 	 */
-	virtual void synchronize() override;
+	void synchronize() override;
 public:
 	const char *TITLE_MESSAGES[13];
 	const char *MAIN_MENU_TEXT[7];
diff --git a/engines/ultima/ultima1/game.h b/engines/ultima/ultima1/game.h
index 1fb1b13..ff8316f 100644
--- a/engines/ultima/ultima1/game.h
+++ b/engines/ultima/ultima1/game.h
@@ -52,27 +52,27 @@ public:
 public:
 	CLASSDEF;
 	Ultima1Game();
-	virtual ~Ultima1Game();
+	~Ultima1Game() override;
 
 	/**
 	 * Handles loading and saving games
 	 */
-	virtual void synchronize(Common::Serializer &s) override;
+	void synchronize(Common::Serializer &s) override;
 
 	/**
 	 * Returns true if the current video mode is VGA
 	 */
-	virtual bool isVGA() const override { return _videoMode == VIDEOMODE_VGA; }
+	bool isVGA() const override { return _videoMode == VIDEOMODE_VGA; }
 
 	/**
 	 * Called when the game starts
 	 */
-	virtual void starting(bool isLoading) override;
+	void starting(bool isLoading) override;
 
 	/**
 	 * Returns true if the game can currently be saved
 	 */
-	virtual bool canSaveGameStateCurrently() override;
+	bool canSaveGameStateCurrently() override;
 
 	/**
 	 * Give some treasure
diff --git a/engines/ultima/ultima1/maps/map.h b/engines/ultima/ultima1/maps/map.h
index e384c25..f8c09d5 100644
--- a/engines/ultima/ultima1/maps/map.h
+++ b/engines/ultima/ultima1/maps/map.h
@@ -90,22 +90,22 @@ public:
 	/**
 	 * Destructor
 	 */
-	virtual ~Ultima1Map();
+	~Ultima1Map() override;
 
 	/**
 	 * Clears all map data
 	 */
-	virtual void clear() override;
+	void clear() override;
 
 	/**
 	 * Load a given map
 	 */
-	virtual void load(Shared::Maps::MapId mapId) override;
+	void load(Shared::Maps::MapId mapId) override;
 
 	/**
 	 * Handles loading and saving the map's data
 	 */
-	virtual void synchronize(Common::Serializer &s) override;
+	void synchronize(Common::Serializer &s) override;
 
 	/**
 	 * Action pass-throughs
diff --git a/engines/ultima/ultima1/maps/map_base.h b/engines/ultima/ultima1/maps/map_base.h
index 470b6bf..5461e9b 100644
--- a/engines/ultima/ultima1/maps/map_base.h
+++ b/engines/ultima/ultima1/maps/map_base.h
@@ -54,17 +54,17 @@ public:
 	/**
 	 * Destructor
 	 */
-	virtual ~MapBase() {}
+	~MapBase() override {}
 
 	/**
 	 * Gets a tile at a given position
 	 */
-	virtual void getTileAt(const Point &pt, Shared::Maps::MapTile *tile, bool includePlayer = true) override;
+	void getTileAt(const Point &pt, Shared::Maps::MapTile *tile, bool includePlayer = true) override;
 
 	/**
 	 * Instantiates a widget type by name
 	 */
-	virtual Shared::Maps::MapWidget *createWidget(const Common::String &name) override;
+	Shared::Maps::MapWidget *createWidget(const Common::String &name) override;
 
 	/**
 	 * Default implementation for actions
@@ -112,7 +112,7 @@ public:
 	/**
 	 * Cast a specific spell
 	 */
-	virtual void castSpell(uint spell) override;
+	void castSpell(uint spell) override;
 
 	/**
 	 * Handles dropping an amount of coins
diff --git a/engines/ultima/ultima1/maps/map_city_castle.h b/engines/ultima/ultima1/maps/map_city_castle.h
index 2e0c6b2..6c0cd19 100644
--- a/engines/ultima/ultima1/maps/map_city_castle.h
+++ b/engines/ultima/ultima1/maps/map_city_castle.h
@@ -76,42 +76,42 @@ public:
 	/**
 	 * Load the map
 	 */
-	virtual void load(Shared::Maps::MapId mapId) override;
+	void load(Shared::Maps::MapId mapId) override;
 
 	/**
 	 * Gets a tile at a given position
 	 */
-	virtual void getTileAt(const Point &pt, Shared::Maps::MapTile *tile, bool includePlayer = true) override;
+	void getTileAt(const Point &pt, Shared::Maps::MapTile *tile, bool includePlayer = true) override;
 
 	/**
 	 * Clears all map data
 	 */
-	virtual void clear() override;
+	void clear() override;
 
 	/**
 	 * Get the viewport position
 	 */
-	virtual Point getViewportPosition(const Point &viewportSize) override;
+	Point getViewportPosition(const Point &viewportSize) override;
 
 	/**
 	 * Cast a spell
 	 */
-	virtual void cast() override;
+	void cast() override;
 
 	/**
 	 * Do a drop action
 	 */
-	virtual void drop() override;
+	void drop() override;
 
 	/**
 	 * Do an inform action
 	 */
-	virtual void inform() override;
+	void inform() override;
 
 	/**
 	 * Do a steal action
 	 */
-	virtual void steal() override;
+	void steal() override;
 
 	/**
 	 * Perform an attack in a direction
@@ -122,7 +122,7 @@ public:
 	 * @param agility		Agility threshold
 	 * @param widgetNa
 	 */
-	virtual void attack(int direction, int effectId, uint maxDistance, uint amount, uint agility, const Common::String &hitWidget) override;
+	void attack(int direction, int effectId, uint maxDistance, uint amount, uint agility, const Common::String &hitWidget) override;
 
 	/**
 	 * Returns true if a wench is on an adjacent tile to the player
@@ -143,32 +143,32 @@ public:
 	/**
 	 * Destructor
 	 */
-	virtual ~MapCity() {}
+	~MapCity() override {}
 
 	/**
 	 * Load the map
 	 */
-	virtual void load(Shared::Maps::MapId mapId) override;
+	void load(Shared::Maps::MapId mapId) override;
 
 	/**
 	 * Handles dropping an amount of coins
 	 */
-	virtual void dropCoins(uint coins) override;
+	void dropCoins(uint coins) override;
 
 	/**
 	 * Do an get action
 	 */
-	virtual void get() override;
+	void get() override;
 
 	/**
 	 * Do a talk action
 	 */
-	virtual void talk() override;
+	void talk() override;
 
 	/**
 	 * Do an unlock action
 	 */
-	virtual void unlock() override;
+	void unlock() override;
 };
 
 /**
@@ -189,32 +189,32 @@ public:
 	/**
 	 * Load the map
 	 */
-	virtual void load(Shared::Maps::MapId mapId) override;
+	void load(Shared::Maps::MapId mapId) override;
 
 	/**
 	 * Handles loading and saving the map's data
 	 */
-	virtual void synchronize(Common::Serializer &s) override;
+	void synchronize(Common::Serializer &s) override;
 
 	/**
 	 * Handles dropping an amount of coins
 	 */
-	virtual void dropCoins(uint coins) override;
+	void dropCoins(uint coins) override;
 
 	/**
 	 * Do an get action
 	 */
-	virtual void get() override;
+	void get() override;
 
 	/**
 	 * Do a talk action
 	 */
-	virtual void talk() override;
+	void talk() override;
 
 	/**
 	 * Do an unlock action
 	 */
-	virtual void unlock() override;
+	void unlock() override;
 
 
 	/**
diff --git a/engines/ultima/ultima1/maps/map_dungeon.h b/engines/ultima/ultima1/maps/map_dungeon.h
index 31243f3..aae3582 100644
--- a/engines/ultima/ultima1/maps/map_dungeon.h
+++ b/engines/ultima/ultima1/maps/map_dungeon.h
@@ -71,7 +71,7 @@ public:
 public:
 	MapDungeon(Ultima1Game *game, Ultima1Map *map) : MapBase(game, map), _random("UltimaDungeons"),
 		_dungeonLevel(0), _dungeonExitHitPoints(0) {}
-	virtual ~MapDungeon() {}
+	~MapDungeon() override {}
 
 	/**
 	 * Handles loading and saving viewport
@@ -81,24 +81,24 @@ public:
 	/**
 	 * Load the map
 	 */
-	virtual void load(Shared::Maps::MapId mapId) override;
+	void load(Shared::Maps::MapId mapId) override;
 
 	/**
 	 * Gets a tile at a given position
 	 */
-	virtual void getTileAt(const Point &pt, Shared::Maps::MapTile *tile, bool includePlayer = true) override;
+	void getTileAt(const Point &pt, Shared::Maps::MapTile *tile, bool includePlayer = true) override;
 
 	/**
 	 * Changes the dungeon level by a given delta amount, and generates a new map
 	 * @param delta		Delta to change dungeon level by
 	 * @returns			False if dungeon left, true if still within dungeon
 	 */
-	virtual bool changeLevel(int delta) override;
+	bool changeLevel(int delta) override;
 
 	/**
 	 * Get the current map level
 	 */
-	virtual uint getLevel() const override { return _dungeonLevel; }
+	uint getLevel() const override { return _dungeonLevel; }
 
 	/**
 	 * Updates the map at the end of a turn
@@ -125,7 +125,7 @@ public:
 	 * @param direction		Direction
 	 * @param effectId		Sound effect to play
 	 */
-	virtual void attack(int direction, int effectId) override;
+	void attack(int direction, int effectId) override;
 
 	/**
 	 * Perform an attack in a direction
@@ -136,32 +136,32 @@ public:
 	 * @param agility		Agility threshold
 	 * @param widgetNa
 	 */
-	virtual void attack(int direction, int effectId, uint maxDistance, uint amount, uint agility, const Common::String &hitWidget) override;
+	void attack(int direction, int effectId, uint maxDistance, uint amount, uint agility, const Common::String &hitWidget) override;
 
 	/**
 	 * Do an inform action
 	 */
-	virtual void inform() override;
+	void inform() override;
 
 	/**
 	 * Do a climb action
 	 */
-	virtual void climb() override;
+	void climb() override;
 
 	/**
 	 * Do an open action
 	 */
-	virtual void open() override;
+	void open() override;
 
 	/**
 	 * Do an unlock action
 	 */
-	virtual void unlock() override { open(); }
+	void unlock() override { open(); }
 
 	/**
 	 * Cast a specific spell
 	 */
-	virtual void castSpell(uint spell) override;
+	void castSpell(uint spell) override;
 };
 
 } // End of namespace Maps
diff --git a/engines/ultima/ultima1/maps/map_overworld.h b/engines/ultima/ultima1/maps/map_overworld.h
index b7b3d21..cd5e404 100644
--- a/engines/ultima/ultima1/maps/map_overworld.h
+++ b/engines/ultima/ultima1/maps/map_overworld.h
@@ -41,32 +41,32 @@ private:
 	void loadWidgets();
 public:
 	MapOverworld(Ultima1Game *game, Ultima1Map *map) : MapBase(game, map) {}
-	virtual ~MapOverworld() {}
+	~MapOverworld() override {}
 
 	/**
 	 * Load the map
 	 */
-	virtual void load(Shared::Maps::MapId mapId) override;
+	void load(Shared::Maps::MapId mapId) override;
 
 	/**
 	 * Returns whether the map wraps around to the other side at it's edges (i.e. the overworld)
 	 */
-	virtual bool isMapWrapped() const override { return true; }
+	bool isMapWrapped() const override { return true; }
 
 	/**
 	 * Shifts the viewport by a given delta
 	 */
-	virtual void shiftViewport(const Point &delta) override;
+	void shiftViewport(const Point &delta) override;
 
 	/**
 	 * Get the viewport position
 	 */
-	virtual Point getViewportPosition(const Point &viewportSize) override;
+	Point getViewportPosition(const Point &viewportSize) override;
 
 	/**
 	 * Gets a point relative to the current position
 	 */
-	virtual Point getDeltaPosition(const Point &delta) override;
+	Point getDeltaPosition(const Point &delta) override;
 
 	/**
 	 * Perform an attack in a direction
@@ -77,27 +77,27 @@ public:
 	 * @param agility		Agility threshold
 	 * @param widgetNa
 	 */
-	virtual void attack(int direction, int effectId, uint maxDistance, uint amount, uint agility, const Common::String &hitWidget) override;
+	void attack(int direction, int effectId, uint maxDistance, uint amount, uint agility, const Common::String &hitWidget) override;
 
 	/**
 	 * Board a transport
 	 */
-	virtual void board() override;
+	void board() override;
 
 	/**
 	 * Do an enter action
 	 */
-	virtual void enter() override;
+	void enter() override;
 
 	/**
 	 * Do an inform action
 	 */
-	virtual void inform() override;
+	void inform() override;
 
 	/**
 	 * Do an exit transport action
 	 */
-	virtual void disembark() override;
+	void disembark() override;
 
 	/**
 	 * Get the lands number the player is currently within
diff --git a/engines/ultima/ultima1/maps/map_tile.h b/engines/ultima/ultima1/maps/map_tile.h
index 96b5a7c..2974f31 100644
--- a/engines/ultima/ultima1/maps/map_tile.h
+++ b/engines/ultima/ultima1/maps/map_tile.h
@@ -63,7 +63,7 @@ public:
 	/**
 	 * Clears tile data
 	 */
-	virtual void clear();
+	void clear() override;
 
 	/**
 	 * Return true if the tile base is water
diff --git a/engines/ultima/ultima1/spells/blink.h b/engines/ultima/ultima1/spells/blink.h
index 7ec18b9..633a7c0 100644
--- a/engines/ultima/ultima1/spells/blink.h
+++ b/engines/ultima/ultima1/spells/blink.h
@@ -42,7 +42,7 @@ public:
 	/**
 	 * Cast the spell within dungeons
 	 */
-	virtual void dungeonCast(Maps::MapDungeon *map) override;
+	void dungeonCast(Maps::MapDungeon *map) override;
 };
 
 } // End of  namespace U1Dialogs
diff --git a/engines/ultima/ultima1/spells/create.h b/engines/ultima/ultima1/spells/create.h
index 6bff0b9..5b022b7 100644
--- a/engines/ultima/ultima1/spells/create.h
+++ b/engines/ultima/ultima1/spells/create.h
@@ -42,7 +42,7 @@ public:
 	/**
 	 * Cast the spell within dungeons
 	 */
-	virtual void dungeonCast(Maps::MapDungeon *map) override;
+	void dungeonCast(Maps::MapDungeon *map) override;
 };
 
 } // End of  namespace U1Dialogs
diff --git a/engines/ultima/ultima1/spells/destroy.h b/engines/ultima/ultima1/spells/destroy.h
index 1f9901e..cac5954 100644
--- a/engines/ultima/ultima1/spells/destroy.h
+++ b/engines/ultima/ultima1/spells/destroy.h
@@ -42,7 +42,7 @@ public:
 	/**
 	 * Cast the spell within dungeons
 	 */
-	virtual void dungeonCast(Maps::MapDungeon *map) override;
+	void dungeonCast(Maps::MapDungeon *map) override;
 };
 
 } // End of  namespace U1Dialogs
diff --git a/engines/ultima/ultima1/spells/kill_magic_missile.h b/engines/ultima/ultima1/spells/kill_magic_missile.h
index 847a415..2a39225 100644
--- a/engines/ultima/ultima1/spells/kill_magic_missile.h
+++ b/engines/ultima/ultima1/spells/kill_magic_missile.h
@@ -49,7 +49,7 @@ public:
 	/**
 	 * Cast the spell outside a dungeon
 	 */
-	virtual void cast(Maps::MapBase *map) override;
+	void cast(Maps::MapBase *map) override;
 };
 
 /**
@@ -65,7 +65,7 @@ public:
 	/**
 	 * Cast the spell within dungeons
 	 */
-	virtual void dungeonCast(Maps::MapDungeon *map) override;
+	void dungeonCast(Maps::MapDungeon *map) override;
 };
 
 /**
@@ -81,7 +81,7 @@ public:
 	/**
 	 * Cast the spell within dungeons
 	 */
-	virtual void dungeonCast(Maps::MapDungeon *map) override;
+	void dungeonCast(Maps::MapDungeon *map) override;
 };
 
 } // End of  namespace U1Dialogs
diff --git a/engines/ultima/ultima1/spells/ladder_down.h b/engines/ultima/ultima1/spells/ladder_down.h
index f54bffa..8afac08 100644
--- a/engines/ultima/ultima1/spells/ladder_down.h
+++ b/engines/ultima/ultima1/spells/ladder_down.h
@@ -42,7 +42,7 @@ public:
 	/**
 	 * Cast the spell within dungeons
 	 */
-	virtual void dungeonCast(Maps::MapDungeon *map) override;
+	void dungeonCast(Maps::MapDungeon *map) override;
 };
 
 } // End of  namespace U1Dialogs
diff --git a/engines/ultima/ultima1/spells/ladder_up.h b/engines/ultima/ultima1/spells/ladder_up.h
index 2a20764..78fdde6 100644
--- a/engines/ultima/ultima1/spells/ladder_up.h
+++ b/engines/ultima/ultima1/spells/ladder_up.h
@@ -42,7 +42,7 @@ public:
 	/**
 	 * Cast the spell within dungeons
 	 */
-	virtual void dungeonCast(Maps::MapDungeon *map) override;
+	void dungeonCast(Maps::MapDungeon *map) override;
 };
 
 } // End of  namespace U1Dialogs
diff --git a/engines/ultima/ultima1/spells/open_unlock.h b/engines/ultima/ultima1/spells/open_unlock.h
index 71147b1..ce716d3 100644
--- a/engines/ultima/ultima1/spells/open_unlock.h
+++ b/engines/ultima/ultima1/spells/open_unlock.h
@@ -48,7 +48,7 @@ public:
 	/**
 	 * Cast the spell within dungeons
 	 */
-	virtual void dungeonCast(Maps::MapDungeon *map) override;
+	void dungeonCast(Maps::MapDungeon *map) override;
 };
 
 /**
diff --git a/engines/ultima/ultima1/spells/prayer.h b/engines/ultima/ultima1/spells/prayer.h
index 0049194..6bafbe9 100644
--- a/engines/ultima/ultima1/spells/prayer.h
+++ b/engines/ultima/ultima1/spells/prayer.h
@@ -42,12 +42,12 @@ public:
 	/**
 	 * Cast the spell outside a dungeon
 	 */
-	virtual void cast(Maps::MapBase *map) override;
+	void cast(Maps::MapBase *map) override;
 
 	/**
 	 * Cast the spell within dungeons
 	 */
-	virtual void dungeonCast(Maps::MapDungeon *map) override;
+	void dungeonCast(Maps::MapDungeon *map) override;
 };
 
 } // End of  namespace U1Dialogs
diff --git a/engines/ultima/ultima1/spells/spell.h b/engines/ultima/ultima1/spells/spell.h
index 7ff77bb..33e162b 100644
--- a/engines/ultima/ultima1/spells/spell.h
+++ b/engines/ultima/ultima1/spells/spell.h
@@ -65,7 +65,7 @@ public:
 	/**
 	 * Change the quantity by a given amount
 	 */
-	virtual void changeQuantity(int delta) override {
+	void changeQuantity(int delta) override {
 		_quantity = (uint)CLIP((int)_quantity + delta, 0, 255);
 	}
 
diff --git a/engines/ultima/ultima1/spells/steal.h b/engines/ultima/ultima1/spells/steal.h
index accd37c..fbefdee 100644
--- a/engines/ultima/ultima1/spells/steal.h
+++ b/engines/ultima/ultima1/spells/steal.h
@@ -42,7 +42,7 @@ public:
 	/**
 	 * Cast the spell within dungeons
 	 */
-	virtual void dungeonCast(Maps::MapDungeon *map) override;
+	void dungeonCast(Maps::MapDungeon *map) override;
 };
 
 } // End of  namespace U1Dialogs
diff --git a/engines/ultima/ultima1/u1dialogs/armoury.h b/engines/ultima/ultima1/u1dialogs/armoury.h
index 774f50c..deab893 100644
--- a/engines/ultima/ultima1/u1dialogs/armoury.h
+++ b/engines/ultima/ultima1/u1dialogs/armoury.h
@@ -34,7 +34,7 @@ namespace U1Dialogs {
  */
 class Armoury : public BuySellDialog {
 	DECLARE_MESSAGE_MAP;
-	virtual bool CharacterInputMsg(CCharacterInputMsg &msg) override;
+	bool CharacterInputMsg(CCharacterInputMsg &msg) override;
 private:
 //	uint _armouryNum;
 	uint _startIndex, _endIndex;
@@ -52,7 +52,7 @@ protected:
 	/**
 	 * Set the mode
 	 */
-	virtual void setMode(BuySell mode) override;
+	void setMode(BuySell mode) override;
 public:
 	CLASSDEF;
 
@@ -64,7 +64,7 @@ public:
 	/**
 	 * Draws the visual item on the screen
 	 */
-	virtual void draw() override;
+	void draw() override;
 };
 
 } // End of namespace U1Dialogs
diff --git a/engines/ultima/ultima1/u1dialogs/buy_sell_dialog.h b/engines/ultima/ultima1/u1dialogs/buy_sell_dialog.h
index 7deb9b1..85a9750 100644
--- a/engines/ultima/ultima1/u1dialogs/buy_sell_dialog.h
+++ b/engines/ultima/ultima1/u1dialogs/buy_sell_dialog.h
@@ -88,7 +88,7 @@ public:
 	/**
 	 * Draws the visual item on the screen
 	 */
-	virtual void draw() override;
+	void draw() override;
 };
 
 } // End of namespace U1Dialogs
diff --git a/engines/ultima/ultima1/u1dialogs/combat.h b/engines/ultima/ultima1/u1dialogs/combat.h
index 4369ea5..2fa12d7 100644
--- a/engines/ultima/ultima1/u1dialogs/combat.h
+++ b/engines/ultima/ultima1/u1dialogs/combat.h
@@ -62,7 +62,7 @@ public:
 	/**
 	 * Draws the visual item on the screen
 	 */
-	virtual void draw() override;
+	void draw() override;
 };
 
 } // End of namespace U1Dialogs
diff --git a/engines/ultima/ultima1/u1dialogs/dialog.h b/engines/ultima/ultima1/u1dialogs/dialog.h
index f22998d..722362d 100644
--- a/engines/ultima/ultima1/u1dialogs/dialog.h
+++ b/engines/ultima/ultima1/u1dialogs/dialog.h
@@ -91,12 +91,12 @@ public:
 	/**
 	 * Draws the visual item on the screen
 	 */
-	virtual void draw() override;
+	void draw() override;
 
 	/**
 	 * Hide the dialog
 	 */
-	virtual void hide() override;
+	void hide() override;
 };
 
 } // End of namespace U1Dialogs
diff --git a/engines/ultima/ultima1/u1dialogs/drop.h b/engines/ultima/ultima1/u1dialogs/drop.h
index 07a561a..ebc9ce0 100644
--- a/engines/ultima/ultima1/u1dialogs/drop.h
+++ b/engines/ultima/ultima1/u1dialogs/drop.h
@@ -82,7 +82,7 @@ public:
 	/**
 	 * Draws the visual item on the screen
 	 */
-	virtual void draw() override;
+	void draw() override;
 };
 
 } // End of namespace U1Dialogs
diff --git a/engines/ultima/ultima1/u1dialogs/full_screen_dialog.h b/engines/ultima/ultima1/u1dialogs/full_screen_dialog.h
index 2858c3d..b705e4a 100644
--- a/engines/ultima/ultima1/u1dialogs/full_screen_dialog.h
+++ b/engines/ultima/ultima1/u1dialogs/full_screen_dialog.h
@@ -48,7 +48,7 @@ public:
 	/**
 	 * Hide the popup
 	 */
-	virtual void hide();
+	void hide() override;
 };
 
 } // End of namespace U1Dialogs
diff --git a/engines/ultima/ultima1/u1dialogs/grocery.h b/engines/ultima/ultima1/u1dialogs/grocery.h
index 398f651..60a99ae 100644
--- a/engines/ultima/ultima1/u1dialogs/grocery.h
+++ b/engines/ultima/ultima1/u1dialogs/grocery.h
@@ -44,7 +44,7 @@ protected:
 	/**
 	 * Set the mode
 	 */
-	virtual void setMode(BuySell mode) override;
+	void setMode(BuySell mode) override;
 public:
 	CLASSDEF;
 
@@ -56,7 +56,7 @@ public:
 	/**
 	 * Draws the visual item on the screen
 	 */
-	virtual void draw() override;
+	void draw() override;
 };
 
 } // End of namespace U1Dialogs
diff --git a/engines/ultima/ultima1/u1dialogs/king.h b/engines/ultima/ultima1/u1dialogs/king.h
index cc8fc56..5eb1f86 100644
--- a/engines/ultima/ultima1/u1dialogs/king.h
+++ b/engines/ultima/ultima1/u1dialogs/king.h
@@ -87,7 +87,7 @@ public:
 	/**
 	 * Draws the visual item on the screen
 	 */
-	virtual void draw() override;
+	void draw() override;
 };
 
 } // End of namespace U1Dialogs
diff --git a/engines/ultima/ultima1/u1dialogs/magic.h b/engines/ultima/ultima1/u1dialogs/magic.h
index 67f766f..714ffac 100644
--- a/engines/ultima/ultima1/u1dialogs/magic.h
+++ b/engines/ultima/ultima1/u1dialogs/magic.h
@@ -36,7 +36,7 @@ using Shared::CCharacterInputMsg;
  */
 class Magic : public BuySellDialog {
 	DECLARE_MESSAGE_MAP;
-	virtual bool CharacterInputMsg(CCharacterInputMsg &msg) override;
+	bool CharacterInputMsg(CCharacterInputMsg &msg) override;
 private:
 //	uint _magicNum;
 	uint _startIndex, _endIndex;
@@ -49,7 +49,7 @@ protected:
 	/**
 	 * Set the mode
 	 */
-	virtual void setMode(BuySell mode) override;
+	void setMode(BuySell mode) override;
 public:
 	CLASSDEF;
 
@@ -61,7 +61,7 @@ public:
 	/**
 	 * Draws the visual item on the screen
 	 */
-	virtual void draw() override;
+	void draw() override;
 };
 
 } // End of namespace U1Dialogs
diff --git a/engines/ultima/ultima1/u1dialogs/ready.h b/engines/ultima/ultima1/u1dialogs/ready.h
index 85b8793..b34daf7 100644
--- a/engines/ultima/ultima1/u1dialogs/ready.h
+++ b/engines/ultima/ultima1/u1dialogs/ready.h
@@ -84,7 +84,7 @@ public:
 	/**
 	 * Draws the visual item on the screen
 	 */
-	virtual void draw() override;
+	void draw() override;
 };
 
 } // End of namespace U1Dialogs
diff --git a/engines/ultima/ultima1/u1dialogs/stats.h b/engines/ultima/ultima1/u1dialogs/stats.h
index 5c0b6c8..496269d 100644
--- a/engines/ultima/ultima1/u1dialogs/stats.h
+++ b/engines/ultima/ultima1/u1dialogs/stats.h
@@ -92,7 +92,7 @@ public:
 	/**
 	 * Draws the visual item on the screen
 	 */
-	virtual void draw() override;
+	void draw() override;
 };
 
 } // End of namespace U1Dialogs
diff --git a/engines/ultima/ultima1/u1dialogs/tavern.h b/engines/ultima/ultima1/u1dialogs/tavern.h
index 3da96da..0e6eea3 100644
--- a/engines/ultima/ultima1/u1dialogs/tavern.h
+++ b/engines/ultima/ultima1/u1dialogs/tavern.h
@@ -72,7 +72,7 @@ protected:
 	/**
 	 * Set the mode
 	 */
-	virtual void setMode(BuySell mode) override;
+	void setMode(BuySell mode) override;
 public:
 	CLASSDEF;
 
@@ -84,7 +84,7 @@ public:
 	/**
 	 * Draws the visual item on the screen
 	 */
-	virtual void draw() override;
+	void draw() override;
 };
 
 } // End of namespace U1Dialogs
diff --git a/engines/ultima/ultima1/u1dialogs/transports.h b/engines/ultima/ultima1/u1dialogs/transports.h
index 04872ab..c529deb 100644
--- a/engines/ultima/ultima1/u1dialogs/transports.h
+++ b/engines/ultima/ultima1/u1dialogs/transports.h
@@ -36,7 +36,7 @@ using Shared::CCharacterInputMsg;
  */
 class Transports : public BuySellDialog {
 	DECLARE_MESSAGE_MAP;
-	virtual bool CharacterInputMsg(CCharacterInputMsg &msg) override;
+	bool CharacterInputMsg(CCharacterInputMsg &msg) override;
 private:
 	uint _water, _woods, _grass;
 	bool _hasFreeTiles, _hasShuttle, _isClosed;
@@ -71,7 +71,7 @@ protected:
 	/**
 	 * Set the mode
 	 */
-	virtual void setMode(BuySell mode) override;
+	void setMode(BuySell mode) override;
 public:
 	CLASSDEF;
 
@@ -83,7 +83,7 @@ public:
 	/**
 	 * Draws the visual item on the screen
 	 */
-	virtual void draw() override;
+	void draw() override;
 };
 
 } // End of namespace U1Dialogs
diff --git a/engines/ultima/ultima1/u1dialogs/weaponry.h b/engines/ultima/ultima1/u1dialogs/weaponry.h
index d268fe5..fe03677 100644
--- a/engines/ultima/ultima1/u1dialogs/weaponry.h
+++ b/engines/ultima/ultima1/u1dialogs/weaponry.h
@@ -34,7 +34,7 @@ namespace U1Dialogs {
  */
 class Weaponry : public BuySellDialog {
 	DECLARE_MESSAGE_MAP;
-	virtual bool CharacterInputMsg(CCharacterInputMsg &msg) override;
+	bool CharacterInputMsg(CCharacterInputMsg &msg) override;
 private:
 //	uint _weaponryNum;
 	uint _startIndex, _endIndex;
@@ -52,7 +52,7 @@ protected:
 	/**
 	 * Set the mode
 	 */
-	virtual void setMode(BuySell mode) override;
+	void setMode(BuySell mode) override;
 public:
 	CLASSDEF;
 
@@ -64,7 +64,7 @@ public:
 	/**
 	 * Draws the visual item on the screen
 	 */
-	virtual void draw() override;
+	void draw() override;
 };
 
 } // End of namespace U1Dialogs
diff --git a/engines/ultima/ultima1/u1gfx/info.h b/engines/ultima/ultima1/u1gfx/info.h
index c9c7d76..e519083 100644
--- a/engines/ultima/ultima1/u1gfx/info.h
+++ b/engines/ultima/ultima1/u1gfx/info.h
@@ -37,7 +37,7 @@ protected:
 	/**
 	 * Draws a prompt character
 	 */
-	virtual void drawPrompt(Shared::Gfx::VisualSurface &surf, const Point &pt) override;
+	void drawPrompt(Shared::Gfx::VisualSurface &surf, const Point &pt) override;
 public:
 	/**
 	 * Constructor
@@ -47,7 +47,7 @@ public:
 	/**
 	 * Destructor
 	 */
-	virtual ~Info() {}
+	~Info() override {}
 };
 
 } // End of namespace U1Gfx
diff --git a/engines/ultima/ultima1/u1gfx/sprites.h b/engines/ultima/ultima1/u1gfx/sprites.h
index 4e9ac25..fc01d2b 100644
--- a/engines/ultima/ultima1/u1gfx/sprites.h
+++ b/engines/ultima/ultima1/u1gfx/sprites.h
@@ -61,12 +61,12 @@ public:
 	/**
 	 * Destructor
 	 */
-	virtual ~Sprites() {}
+	~Sprites() override {}
 
 	/**
 	 * Return a specific sprite
 	 */
-	virtual Shared::Gfx::Sprite &operator[](uint idx) override;
+	Shared::Gfx::Sprite &operator[](uint idx) override;
 
 	/**
 	 * Loads the Ultima 1 sprites
diff --git a/engines/ultima/ultima1/u1gfx/status.h b/engines/ultima/ultima1/u1gfx/status.h
index a4186e7..67fbe59 100644
--- a/engines/ultima/ultima1/u1gfx/status.h
+++ b/engines/ultima/ultima1/u1gfx/status.h
@@ -43,12 +43,12 @@ private:
 public:
 	CLASSDEF;
 	Status(TreeItem *parent);
-	virtual ~Status() {}
+	~Status() override {}
 
 	/**
 	 * Draw the contents
 	 */
-	virtual void draw() override;
+	void draw() override;
 };
 
 } // End of namespace U1Gfx
diff --git a/engines/ultima/ultima1/u1gfx/text_cursor.h b/engines/ultima/ultima1/u1gfx/text_cursor.h
index acbb75b..b916f66 100644
--- a/engines/ultima/ultima1/u1gfx/text_cursor.h
+++ b/engines/ultima/ultima1/u1gfx/text_cursor.h
@@ -48,17 +48,17 @@ public:
 	/**
 	 * Destructor
 	 */
-	virtual ~U1TextCursor() {}
+	~U1TextCursor() override {}
 
 	/**
 	 * Update the cursor
 	 */
-	virtual void update() override;
+	void update() override;
 
 	/**
 	 * Draw the cursor
 	 */
-	virtual void draw() override;
+	void draw() override;
 };
 
 } // End of namespace U1Gfx
diff --git a/engines/ultima/ultima1/u1gfx/view_char_gen.h b/engines/ultima/ultima1/u1gfx/view_char_gen.h
index 926f23d..3a469f4 100644
--- a/engines/ultima/ultima1/u1gfx/view_char_gen.h
+++ b/engines/ultima/ultima1/u1gfx/view_char_gen.h
@@ -146,12 +146,12 @@ public:
 	/**
 	 * Destructor
 	 */
-	virtual ~ViewCharacterGeneration();
+	~ViewCharacterGeneration() override;
 
 	/**
 	 * Draw the game screen
 	 */
-	virtual void draw() override;
+	void draw() override;
 };
 
 } // End of namespace U1Gfx
diff --git a/engines/ultima/ultima1/u1gfx/view_game.h b/engines/ultima/ultima1/u1gfx/view_game.h
index 88c971c..043e018 100644
--- a/engines/ultima/ultima1/u1gfx/view_game.h
+++ b/engines/ultima/ultima1/u1gfx/view_game.h
@@ -77,12 +77,12 @@ private:
 public:
 	CLASSDEF;
 	ViewGame(TreeItem *parent = nullptr);
-	virtual ~ViewGame();
+	~ViewGame() override;
 
 	/**
 	 * Draw the game screen
 	 */
-	virtual void draw() override;
+	void draw() override;
 };
 
 } // End of namespace U1Gfx
diff --git a/engines/ultima/ultima1/u1gfx/view_title.h b/engines/ultima/ultima1/u1gfx/view_title.h
index c9f6932..1b640f9 100644
--- a/engines/ultima/ultima1/u1gfx/view_title.h
+++ b/engines/ultima/ultima1/u1gfx/view_title.h
@@ -107,7 +107,7 @@ public:
 	/**
 	 * Draw the game screen
 	 */
-	virtual void draw() override;
+	void draw() override;
 };
 
 } // End of namespace U1Gfx
diff --git a/engines/ultima/ultima1/u1gfx/viewport_dungeon.h b/engines/ultima/ultima1/u1gfx/viewport_dungeon.h
index 87a5205..0595d8a 100644
--- a/engines/ultima/ultima1/u1gfx/viewport_dungeon.h
+++ b/engines/ultima/ultima1/u1gfx/viewport_dungeon.h
@@ -39,10 +39,10 @@ protected:
 	/**
 	 * Returns the surface for rendering the dungeon
 	 */
-	virtual Shared::DungeonSurface getSurface() override;
+	Shared::DungeonSurface getSurface() override;
 public:
 	ViewportDungeon(TreeItem *parent) : Shared::ViewportDungeon(parent) {}
-	virtual ~ViewportDungeon() {}
+	~ViewportDungeon() override {}
 };
 
 } // End of namespace U1Gfx
diff --git a/engines/ultima/ultima1/u1gfx/viewport_map.h b/engines/ultima/ultima1/u1gfx/viewport_map.h
index f6fea31..af336ad 100644
--- a/engines/ultima/ultima1/u1gfx/viewport_map.h
+++ b/engines/ultima/ultima1/u1gfx/viewport_map.h
@@ -48,12 +48,12 @@ public:
 	/**
 	 * Destructor
 	 */
-	virtual ~ViewportMap();
+	~ViewportMap() override;
 
 	/**
 	 * Draws the map
 	 */
-	virtual void draw() override;
+	void draw() override;
 };
 
 } // End of namespace U1Gfx
diff --git a/engines/ultima/ultima1/u6gfx/game_view.h b/engines/ultima/ultima1/u6gfx/game_view.h
index a91d73a..0076496 100644
--- a/engines/ultima/ultima1/u6gfx/game_view.h
+++ b/engines/ultima/ultima1/u6gfx/game_view.h
@@ -92,12 +92,12 @@ private:
 public:
 	CLASSDEF;
 	GameView(Shared::TreeItem *parent = nullptr);
-	virtual ~GameView();
+	~GameView() override;
 
 	/**
 	 * Draw the game screen
 	 */
-	virtual void draw() override;
+	void draw() override;
 };
 
 } // End of namespace U6Gfx
diff --git a/engines/ultima/ultima1/widgets/attack_effect.h b/engines/ultima/ultima1/widgets/attack_effect.h
index e911167..467762e 100644
--- a/engines/ultima/ultima1/widgets/attack_effect.h
+++ b/engines/ultima/ultima1/widgets/attack_effect.h
@@ -55,12 +55,12 @@ public:
 	/**
 	 * Handles loading and saving the widget's data
 	 */
-	virtual void synchronize(Common::Serializer &s) override;
+	void synchronize(Common::Serializer &s) override;
 
 	/**
 	 * Get the tile for the transport method
 	 */
-	virtual uint getTileNum() const override { return _tileId; }
+	uint getTileNum() const override { return _tileId; }
 
 	/**
 	 * Set the details for t
diff --git a/engines/ultima/ultima1/widgets/bard.h b/engines/ultima/ultima1/widgets/bard.h
index 3b4417c..cf7a511 100644
--- a/engines/ultima/ultima1/widgets/bard.h
+++ b/engines/ultima/ultima1/widgets/bard.h
@@ -43,7 +43,7 @@ protected:
 	/**
 	 * Handles moving creatures
 	 */
-	virtual void movement() override;
+	void movement() override;
 public:
 	DECLARE_WIDGET(Bard)
 
@@ -61,14 +61,14 @@ public:
 	/**
 	 * Talk to an NPC
 	 */
-	virtual void talk() override;
+	void talk() override;
 
 	/**
 	 * Removes hit points from a creature
 	 * @param amount		Amount to remove
 	 * @returns				Returns true if kills the creature
 	 */
-	virtual bool subtractHitPoints(uint amount) override;
+	bool subtractHitPoints(uint amount) override;
 };
 
 } // End of namespace Widgets
diff --git a/engines/ultima/ultima1/widgets/dungeon_chest.h b/engines/ultima/ultima1/widgets/dungeon_chest.h
index 71d0daa..c743b47 100644
--- a/engines/ultima/ultima1/widgets/dungeon_chest.h
+++ b/engines/ultima/ultima1/widgets/dungeon_chest.h
@@ -50,7 +50,7 @@ public:
 	 * Try to open/unlock the item
 	 * @returns		True if item was capable of being opened or unlocked
 	 */
-	virtual bool open() override;
+	bool open() override;
 };
 
 } // End of namespace Widgets
diff --git a/engines/ultima/ultima1/widgets/dungeon_coffin.h b/engines/ultima/ultima1/widgets/dungeon_coffin.h
index 0c6bef6..0b9f33f 100644
--- a/engines/ultima/ultima1/widgets/dungeon_coffin.h
+++ b/engines/ultima/ultima1/widgets/dungeon_coffin.h
@@ -55,7 +55,7 @@ public:
 	 * Try to open/unlock the item
 	 * @returns		True if item was capable of being opened or unlocked
 	 */
-	virtual bool open() override;
+	bool open() override;
 };
 
 } // End of namespace Widgets
diff --git a/engines/ultima/ultima1/widgets/dungeon_monster.h b/engines/ultima/ultima1/widgets/dungeon_monster.h
index 17baf01..a18312c 100644
--- a/engines/ultima/ultima1/widgets/dungeon_monster.h
+++ b/engines/ultima/ultima1/widgets/dungeon_monster.h
@@ -49,7 +49,7 @@ protected:
 	/**
 	 * Handles moving creatures
 	 */
-	virtual void movement() override;
+	void movement() override;
 public:
 	/**
 	 * Returns true if the given widget can move to a given position on the map
@@ -72,7 +72,7 @@ public:
 	/**
 	 * Destructor
 	 */
-	virtual ~DungeonMonster() {}
+	~DungeonMonster() override {}
 
 	/**
 	 * Returns the monster's type
@@ -82,34 +82,34 @@ public:
 	/**
 	 * Returns true if a monster blocks the background behind him
 	 */
-	virtual bool isBlockingView() const override;
+	bool isBlockingView() const override;
 
 	/**
 	 * Handles loading and saving games
 	 */
-	virtual void synchronize(Common::Serializer &s) override;
+	void synchronize(Common::Serializer &s) override;
 
 	/**
 	 * Draw a monster
 	 */
-	virtual void draw(Shared::DungeonSurface &s, uint distance) override;
+	void draw(Shared::DungeonSurface &s, uint distance) override;
 
 	/**
 	 * Called to update the widget at the end of a turn
 	 * @param isPreUpdate		Update is called twice in succesion during the end of turn update.
 	 *		Once with true for all widgets, then with it false
 	 */
-	virtual void update(bool isPreUpdate) override;
+	void update(bool isPreUpdate) override;
 
 	/**
 	 * Returns true if the given widget can move to a given position on the map
 	 */
-	virtual CanMove canMoveTo(const Point &destPos) override;
+	CanMove canMoveTo(const Point &destPos) override;
 
 	/**
 	 * Handles attacking the player
 	 */
-	virtual void attackParty() override;
+	void attackParty() override;
 
 	/**
 	 * Handles the player attacking the monster
diff --git a/engines/ultima/ultima1/widgets/dungeon_player.h b/engines/ultima/ultima1/widgets/dungeon_player.h
index b865c2a..9af2311 100644
--- a/engines/ultima/ultima1/widgets/dungeon_player.h
+++ b/engines/ultima/ultima1/widgets/dungeon_player.h
@@ -46,17 +46,17 @@ public:
 	/**
 	 * Destructor
 	 */
-	virtual ~DungeonPlayer() {}
+	~DungeonPlayer() override {}
 
 	/**
 	 * The player's viewpoint has no intrinsic drawing
 	 */
-	virtual void draw(Shared::DungeonSurface &s, uint distance) override {}
+	void draw(Shared::DungeonSurface &s, uint distance) override {}
 
 	/**
 	 * Returns true if the given widget can move to a given position on the map
 	 */
-	virtual CanMove canMoveTo(const Point &destPos) override;
+	CanMove canMoveTo(const Point &destPos) override;
 };
 
 } // End of namespace Widgets
diff --git a/engines/ultima/ultima1/widgets/dungeon_widget.h b/engines/ultima/ultima1/widgets/dungeon_widget.h
index 6f57c19..1898c78 100644
--- a/engines/ultima/ultima1/widgets/dungeon_widget.h
+++ b/engines/ultima/ultima1/widgets/dungeon_widget.h
@@ -94,7 +94,7 @@ public:
 	/**
 	 * Handles drawing the item
 	 */
-	virtual void draw(Shared::DungeonSurface &s, uint distance);
+	void draw(Shared::DungeonSurface &s, uint distance) override;
 };
 
 } // End of namespace Widgets
diff --git a/engines/ultima/ultima1/widgets/guard.h b/engines/ultima/ultima1/widgets/guard.h
index ae083be..85051cd 100644
--- a/engines/ultima/ultima1/widgets/guard.h
+++ b/engines/ultima/ultima1/widgets/guard.h
@@ -36,17 +36,17 @@ protected:
 	/**
 	 * Returns the attack distance for the guard
 	 */
-	virtual uint attackDistance() const override;
+	uint attackDistance() const override;
 
 	/**
 	 * Handles moving creatures
 	 */
-	virtual void movement() override;
+	void movement() override;
 
 	/**
 	 * Handles attacking the party
 	 */
-	virtual void attackParty() override;
+	void attackParty() override;
 public:
 	DECLARE_WIDGET(Guard)
 
@@ -65,7 +65,7 @@ public:
 	/**
 	 * Destructor
 	 */
-	virtual ~Guard() {}
+	~Guard() override {}
 };
 
 } // End of namespace Widgets
diff --git a/engines/ultima/ultima1/widgets/king.h b/engines/ultima/ultima1/widgets/king.h
index b3ff8ac..3ec348a 100644
--- a/engines/ultima/ultima1/widgets/king.h
+++ b/engines/ultima/ultima1/widgets/king.h
@@ -38,7 +38,7 @@ protected:
 	/**
 	 * Handles moving creatures
 	 */
-	virtual void movement() override;
+	void movement() override;
 public:
 	DECLARE_WIDGET(King)
 	CLASSDEF;
@@ -59,12 +59,12 @@ public:
 	 * @param amount		Amount to remove
 	 * @returns				Returns true if kills the creature
 	 */
-	virtual bool subtractHitPoints(uint amount) override;
+	bool subtractHitPoints(uint amount) override;
 
 	/**
 	 * Do a talk action
 	 */
-	virtual void talk() override;
+	void talk() override;
 };
 
 } // End of namespace Widgets
diff --git a/engines/ultima/ultima1/widgets/merchant_armour.h b/engines/ultima/ultima1/widgets/merchant_armour.h
index 6802682..a1fd353 100644
--- a/engines/ultima/ultima1/widgets/merchant_armour.h
+++ b/engines/ultima/ultima1/widgets/merchant_armour.h
@@ -64,17 +64,17 @@ public:
 	/**
 	 * Does the get action
 	 */
-	virtual void get() override;
+	void get() override;
 
 	/**
 	 * Does the steal action
 	 */
-	virtual void steal() override;
+	void steal() override;
 
 	/**
 	 * Does the talk action
 	 */
-	virtual void talk() override;
+	void talk() override;
 };
 
 } // End of namespace Widgets
diff --git a/engines/ultima/ultima1/widgets/merchant_grocer.h b/engines/ultima/ultima1/widgets/merchant_grocer.h
index 68a9b8d..074aaba 100644
--- a/engines/ultima/ultima1/widgets/merchant_grocer.h
+++ b/engines/ultima/ultima1/widgets/merchant_grocer.h
@@ -64,17 +64,17 @@ public:
 	/**
 	 * Does the get action
 	 */
-	virtual void get() override;
+	void get() override;
 
 	/**
 	 * Does the steal action
 	 */
-	virtual void steal() override;
+	void steal() override;
 
 	/**
 	 * Talk to an NPC
 	 */
-	virtual void talk() override;
+	void talk() override;
 };
 
 } // End of namespace Widgets
diff --git a/engines/ultima/ultima1/widgets/merchant_magic.h b/engines/ultima/ultima1/widgets/merchant_magic.h
index 903c5c8..0026004 100644
--- a/engines/ultima/ultima1/widgets/merchant_magic.h
+++ b/engines/ultima/ultima1/widgets/merchant_magic.h
@@ -58,7 +58,7 @@ public:
 	/**
 	 * Do a talk action
 	 */
-	virtual void talk() override;
+	void talk() override;
 };
 
 } // End of namespace Widgets
diff --git a/engines/ultima/ultima1/widgets/merchant_tavern.h b/engines/ultima/ultima1/widgets/merchant_tavern.h
index 7d239ee..ff3909d 100644
--- a/engines/ultima/ultima1/widgets/merchant_tavern.h
+++ b/engines/ultima/ultima1/widgets/merchant_tavern.h
@@ -58,7 +58,7 @@ public:
 	/**
 	 * Do the talk action
 	 */
-	virtual void talk() override;
+	void talk() override;
 };
 
 } // End of namespace Widgets
diff --git a/engines/ultima/ultima1/widgets/merchant_transport.h b/engines/ultima/ultima1/widgets/merchant_transport.h
index 887773c..0b6cbca 100644
--- a/engines/ultima/ultima1/widgets/merchant_transport.h
+++ b/engines/ultima/ultima1/widgets/merchant_transport.h
@@ -58,7 +58,7 @@ public:
 	/**
 	 * Do the talk action
 	 */
-	virtual void talk() override;
+	void talk() override;
 };
 
 } // End of namespace Widgets
diff --git a/engines/ultima/ultima1/widgets/merchant_weapons.h b/engines/ultima/ultima1/widgets/merchant_weapons.h
index a677d82..e53cc44 100644
--- a/engines/ultima/ultima1/widgets/merchant_weapons.h
+++ b/engines/ultima/ultima1/widgets/merchant_weapons.h
@@ -64,17 +64,17 @@ public:
 	/**
 	 * Does the get action
 	 */
-	virtual void get() override;
+	void get() override;
 
 	/**
 	 * Does the steal action
 	 */
-	virtual void steal() override;
+	void steal() override;
 
 	/**
 	 * Talk to an NPC
 	 */
-	virtual void talk() override;
+	void talk() override;
 };
 
 } // End of namespace Widgets
diff --git a/engines/ultima/ultima1/widgets/overworld_monster.h b/engines/ultima/ultima1/widgets/overworld_monster.h
index 74e300c..3d3a5bf 100644
--- a/engines/ultima/ultima1/widgets/overworld_monster.h
+++ b/engines/ultima/ultima1/widgets/overworld_monster.h
@@ -46,12 +46,12 @@ protected:
 	/**
 	 * Handles attacking the party
 	 */
-	virtual void attackParty() override;
+	void attackParty() override;
 
 	/**
 	 * Handles moving creatures
 	 */
-	virtual void movement() override;
+	void movement() override;
 public:
 	DECLARE_WIDGET(OverworldMonster)
 
@@ -70,7 +70,7 @@ public:
 	/**
 	 * Destructor
 	 */
-	virtual ~OverworldMonster() {}
+	~OverworldMonster() override {}
 
 	/**
 	 * Returns the monster's type
@@ -80,13 +80,13 @@ public:
 	/**
 	 * Handles loading and saving games
 	 */
-	virtual void synchronize(Common::Serializer &s) override;
+	void synchronize(Common::Serializer &s) override;
 
 	/**
 	 * Returns either the maximum attack distance for a monster, or 0 if the monster is beyond
 	 * that distance from the player
 	 */
-	virtual uint attackDistance() const override;
+	uint attackDistance() const override;
 };
 
 /**
diff --git a/engines/ultima/ultima1/widgets/overworld_widget.h b/engines/ultima/ultima1/widgets/overworld_widget.h
index 815cf49..eb3200d 100644
--- a/engines/ultima/ultima1/widgets/overworld_widget.h
+++ b/engines/ultima/ultima1/widgets/overworld_widget.h
@@ -72,17 +72,17 @@ public:
 	/**
 	 * Get the tile number for the person
 	 */
-	virtual uint getTileNum() const override { return _tileNum; }
+	uint getTileNum() const override { return _tileNum; }
 
 	/**
 	 * Handles loading and saving games
 	 */
-	virtual void synchronize(Common::Serializer &s) override;
+	void synchronize(Common::Serializer &s) override;
 
 	/**
 	 * Returns true if the given widget can move to a given position on the map
 	 */
-	virtual CanMove canMoveTo(const Point &destPos) override;
+	CanMove canMoveTo(const Point &destPos) override;
 };
 
 } // End of namespace Widgets
diff --git a/engines/ultima/ultima1/widgets/person.h b/engines/ultima/ultima1/widgets/person.h
index 2047370..4b666ac 100644
--- a/engines/ultima/ultima1/widgets/person.h
+++ b/engines/ultima/ultima1/widgets/person.h
@@ -76,7 +76,7 @@ public:
 	/**
 	 * Handles loading and saving data
 	 */
-	virtual void synchronize(Common::Serializer &s) override;
+	void synchronize(Common::Serializer &s) override;
 
 	/**
 	 * Talk to an NPC
@@ -88,7 +88,7 @@ public:
 	 * @param amount		Amount to remove
 	 * @returns				Returns true if kills the creature
 	 */
-	virtual bool subtractHitPoints(uint amount) override;
+	bool subtractHitPoints(uint amount) override;
 };
 
 } // End of namespace Widgets
diff --git a/engines/ultima/ultima1/widgets/princess.h b/engines/ultima/ultima1/widgets/princess.h
index 06c80b7..aa53cf0 100644
--- a/engines/ultima/ultima1/widgets/princess.h
+++ b/engines/ultima/ultima1/widgets/princess.h
@@ -37,7 +37,7 @@ protected:
 	/**
 	 * Handles moving creatures
 	 */
-	virtual void movement() override;
+	void movement() override;
 public:
 	DECLARE_WIDGET(Princess)
 
@@ -57,7 +57,7 @@ public:
 	 * @param amount		Amount to remove
 	 * @returns				Returns true if kills the creature
 	 */
-	virtual bool subtractHitPoints(uint amount) override;
+	bool subtractHitPoints(uint amount) override;
 };
 
 } // End of namespace Widgets
diff --git a/engines/ultima/ultima1/widgets/transport.h b/engines/ultima/ultima1/widgets/transport.h
index 6a99432..27f0d81 100644
--- a/engines/ultima/ultima1/widgets/transport.h
+++ b/engines/ultima/ultima1/widgets/transport.h
@@ -45,7 +45,7 @@ public:
 	/**
 	 * Get the tile for the transport method
 	 */
-	virtual uint getTileNum() const override;
+	uint getTileNum() const override;
 };
 
 /**
@@ -63,7 +63,7 @@ public:
 	/**
 	 * Returns true if the player can move onto a tile the widget occupies
 	 */
-	virtual bool isBlocking() const { return false; }
+	bool isBlocking() const override { return false; }
 
 	/**
 	 * Board a transport
@@ -103,7 +103,7 @@ public:
 	/**
 	 * Get the tile for the transport method
 	 */
-	virtual uint getTileNum() const override { return 9; }
+	uint getTileNum() const override { return 9; }
 };
 
 /**
@@ -123,7 +123,7 @@ public:
 	/**
 	 * Get the tile for the transport method
 	 */
-	virtual uint getTileNum() const override { return 10; }
+	uint getTileNum() const override { return 10; }
 };
 
 /**
@@ -143,7 +143,7 @@ public:
 	/**
 	 * Get the tile for the transport method
 	 */
-	virtual uint getTileNum() const override { return 11; }
+	uint getTileNum() const override { return 11; }
 };
 
 /**
@@ -163,12 +163,12 @@ public:
 	/**
 	 * Get the name of a transport's weapons
 	 */
-	virtual Common::String getWeaponsName() override;
+	Common::String getWeaponsName() override;
 
 	/**
 	 * Get the tile for the transport method
 	 */
-	virtual uint getTileNum() const override { return 12; }
+	uint getTileNum() const override { return 12; }
 };
 
 /**
@@ -188,12 +188,12 @@ public:
 	/**
 	 * Get the name of a transport's weapons
 	 */
-	virtual Common::String getWeaponsName() override;
+	Common::String getWeaponsName() override;
 
 	/**
 	 * Get the tile for the transport method
 	 */
-	virtual uint getTileNum() const override { return 14; }
+	uint getTileNum() const override { return 14; }
 };
 
 /**
@@ -215,12 +215,12 @@ public:
 	/**
 	 * Handles loading and saving data
 	 */
-	virtual void synchronize(Common::Serializer &s) override;
+	void synchronize(Common::Serializer &s) override;
 
 	/**
 	 * Get the tile for the transport method
 	 */
-	virtual uint getTileNum() const override { return 15; }
+	uint getTileNum() const override { return 15; }
 };
 
 /**
@@ -240,12 +240,12 @@ public:
 	/**
 	 * Get the tile for the transport method
 	 */
-	virtual uint getTileNum() const override { return 16; }
+	uint getTileNum() const override { return 16; }
 
 	/**
 	 * Board a transport
 	 */
-	virtual void board() override;
+	void board() override;
 };
 
 } // End of namespace Widgets
diff --git a/engines/ultima/ultima1/widgets/urban_player.h b/engines/ultima/ultima1/widgets/urban_player.h
index 846df9a..4a3ed39 100644
--- a/engines/ultima/ultima1/widgets/urban_player.h
+++ b/engines/ultima/ultima1/widgets/urban_player.h
@@ -57,7 +57,7 @@ public:
 	 * @param dir			Optional explicit direction to set. If not specified,
 	 *		the direction will be set relative to the position moved from
 	 */
-	virtual void moveTo(const Point &destPos, Shared::Maps::Direction dir = Shared::Maps::DIR_NONE) override;
+	void moveTo(const Point &destPos, Shared::Maps::Direction dir = Shared::Maps::DIR_NONE) override;
 };
 
 } // End of namespace Widgets
diff --git a/engines/ultima/ultima1/widgets/urban_widget.h b/engines/ultima/ultima1/widgets/urban_widget.h
index a25c09c..a3402a4 100644
--- a/engines/ultima/ultima1/widgets/urban_widget.h
+++ b/engines/ultima/ultima1/widgets/urban_widget.h
@@ -56,22 +56,22 @@ public:
 	/**
 	 * Destructor
 	 */
-	virtual ~UrbanWidget() {}
+	~UrbanWidget() override {}
 
 	/**
 	 * Get the tile number for the person
 	 */
-	virtual uint getTileNum() const override { return _tileNum; }
+	uint getTileNum() const override { return _tileNum; }
 
 	/**
 	 * Returns true if the given widget can move to a given position on the map
 	 */
-	virtual CanMove canMoveTo(const Point &destPos) override;
+	CanMove canMoveTo(const Point &destPos) override;
 
 	/**
 	 * Handles loading and saving games
 	 */
-	virtual void synchronize(Common::Serializer &s) override;
+	void synchronize(Common::Serializer &s) override;
 };
 
 } // End of namespace Widgets
diff --git a/engines/ultima/ultima1/widgets/wench.h b/engines/ultima/ultima1/widgets/wench.h
index 825b5d9..c663a73 100644
--- a/engines/ultima/ultima1/widgets/wench.h
+++ b/engines/ultima/ultima1/widgets/wench.h
@@ -35,7 +35,7 @@ protected:
 	/**
 	 * Handles moving creatures
 	 */
-	virtual void movement() override;
+	void movement() override;
 public:
 	DECLARE_WIDGET(Wench)
 	CLASSDEF;
@@ -60,7 +60,7 @@ public:
 	/**
 	 * Destructor
 	 */
-	virtual ~Wench() {}
+	~Wench() override {}
 };
 
 } // End of namespace Widgets
diff --git a/engines/ultima/ultima8/audio/audio_process.h b/engines/ultima/ultima8/audio/audio_process.h
index 8784d58..b0d512d 100644
--- a/engines/ultima/ultima8/audio/audio_process.h
+++ b/engines/ultima/ultima8/audio/audio_process.h
@@ -67,7 +67,7 @@ public:
 	ENABLE_RUNTIME_CLASSTYPE()
 
 	AudioProcess(void);
-	virtual ~AudioProcess(void);
+	~AudioProcess(void) override;
 
 	//! Get the current instance of the Audio Processes
 	static AudioProcess *get_instance() {
@@ -85,7 +85,7 @@ public:
 	static void ConCmd_playSFX(const Console::ArgvType &argv);
 
 
-	virtual void run() override;
+	void run() override;
 
 	void playSFX(int sfxnum, int priority, ObjId objid, int loops,
 	             bool no_duplicates, uint32 pitch_shift,
@@ -128,7 +128,7 @@ public:
 	bool loadData(IDataSource *ids, uint32 version);
 
 private:
-	virtual void saveData(ODataSource *ods) override;
+	void saveData(ODataSource *ods) override;
 	uint32 paused;
 
 	//! play the next speech sample for the text in this SampleInfo
diff --git a/engines/ultima/ultima8/audio/midi_player.h b/engines/ultima/ultima8/audio/midi_player.h
index f5aef59..67fd4af 100644
--- a/engines/ultima/ultima8/audio/midi_player.h
+++ b/engines/ultima/ultima8/audio/midi_player.h
@@ -36,7 +36,7 @@ namespace Ultima8 {
 class MidiPlayer : public Audio::MidiPlayer {
 public:
 	MidiPlayer();
-	~MidiPlayer();
+	~MidiPlayer() override;
 
 	/**
 	 * Play the specified music
diff --git a/engines/ultima/ultima8/audio/music_flex.h b/engines/ultima/ultima8/audio/music_flex.h
index 2f7fcab..6b9ec58 100644
--- a/engines/ultima/ultima8/audio/music_flex.h
+++ b/engines/ultima/ultima8/audio/music_flex.h
@@ -46,7 +46,7 @@ public:
 	};
 
 	MusicFlex(IDataSource *ds);
-	~MusicFlex();
+	~MusicFlex() override;
 
 	//! Get an xmidi
 	XMidiFile *getXMidi(uint32 index) {
@@ -64,9 +64,9 @@ public:
 	//! Get the Adlib Timbres (index 259)
 	IDataSource *getAdlibTimbres();
 
-	virtual void cache(uint32 index) override;
-	virtual void uncache(uint32 index) override;
-	virtual bool isCached(uint32 index) override;
+	void cache(uint32 index) override;
+	void uncache(uint32 index) override;
+	bool isCached(uint32 index) override;
 
 	uint8 *getRawObject(uint32 index, uint32 *sizep = 0) {
 		return Archive::getRawObject(index, sizep);
diff --git a/engines/ultima/ultima8/audio/music_process.h b/engines/ultima/ultima8/audio/music_process.h
index b8660ed..b64552c 100644
--- a/engines/ultima/ultima8/audio/music_process.h
+++ b/engines/ultima/ultima8/audio/music_process.h
@@ -40,7 +40,7 @@ class MusicProcess : public Process {
 		MUSIC_PLAY_WANTED = 3
 	};
 private:
-	virtual void saveData(ODataSource *ods) override;
+	void saveData(ODataSource *ods) override;
 
 	//! Play a music track
 	//! \param track The track number to play. Pass 0 to stop music
@@ -59,7 +59,7 @@ private:
 public:
 	MusicProcess();
 	MusicProcess(MidiPlayer *player); // Note that this does NOT delete the driver
-	virtual ~MusicProcess();
+	~MusicProcess() override;
 
 	// p_dynamic_cast stuff
 	ENABLE_RUNTIME_CLASSTYPE()
@@ -84,7 +84,7 @@ public:
 		return _wantedTrack;
 	}
 
-	virtual void run() override;
+	void run() override;
 
 	bool loadData(IDataSource *ids, uint32 version);
 
diff --git a/engines/ultima/ultima8/audio/raw_audio_sample.h b/engines/ultima/ultima8/audio/raw_audio_sample.h
index 24b52c4..5d8c8a9 100644
--- a/engines/ultima/ultima8/audio/raw_audio_sample.h
+++ b/engines/ultima/ultima8/audio/raw_audio_sample.h
@@ -32,11 +32,11 @@ class RawAudioSample : public AudioSample {
 public:
 	RawAudioSample(uint8 *buffer, uint32 size,
 	               uint32 rate, bool signeddata, bool stereo);
-	virtual ~RawAudioSample();
+	~RawAudioSample() override;
 
-	virtual void initDecompressor(void *DecompData) const;
-	virtual uint32 decompressFrame(void *DecompData, void *samples) const;
-	virtual void rewind(void *DecompData) const;
+	void initDecompressor(void *DecompData) const override;
+	uint32 decompressFrame(void *DecompData, void *samples) const override;
+	void rewind(void *DecompData) const override;
 
 protected:
 
diff --git a/engines/ultima/ultima8/audio/sonarc_audio_sample.h b/engines/ultima/ultima8/audio/sonarc_audio_sample.h
index f454736..fba50ed 100644
--- a/engines/ultima/ultima8/audio/sonarc_audio_sample.h
+++ b/engines/ultima/ultima8/audio/sonarc_audio_sample.h
@@ -50,11 +50,11 @@ class SonarcAudioSample : public AudioSample {
 
 public:
 	SonarcAudioSample(uint8 *buffer_, uint32 size_);
-	virtual ~SonarcAudioSample(void);
+	~SonarcAudioSample(void) override;
 
-	virtual void initDecompressor(void *DecompData) const;
-	virtual uint32 decompressFrame(void *DecompData, void *samples) const;
-	virtual void rewind(void *DecompData) const;
+	void initDecompressor(void *DecompData) const override;
+	uint32 decompressFrame(void *DecompData, void *samples) const override;
+	void rewind(void *DecompData) const override;
 };
 
 } // End of namespace Ultima8
diff --git a/engines/ultima/ultima8/audio/sound_flex.h b/engines/ultima/ultima8/audio/sound_flex.h
index 1d6a5cb..6476177 100644
--- a/engines/ultima/ultima8/audio/sound_flex.h
+++ b/engines/ultima/ultima8/audio/sound_flex.h
@@ -36,7 +36,7 @@ public:
 	ENABLE_RUNTIME_CLASSTYPE()
 
 	SoundFlex(IDataSource *ds);
-	~SoundFlex();
+	~SoundFlex() override;
 
 	//! Get an audiosample
 	AudioSample *getSample(uint32 index) {
@@ -45,9 +45,9 @@ public:
 		return samples[index];
 	}
 
-	virtual void cache(uint32 index) override;
-	virtual void uncache(uint32 index) override;
-	virtual bool isCached(uint32 index) override;
+	void cache(uint32 index) override;
+	void uncache(uint32 index) override;
+	bool isCached(uint32 index) override;
 
 private:
 	AudioSample      **samples;
diff --git a/engines/ultima/ultima8/audio/speech_flex.h b/engines/ultima/ultima8/audio/speech_flex.h
index bd964d4..e96ec22 100644
--- a/engines/ultima/ultima8/audio/speech_flex.h
+++ b/engines/ultima/ultima8/audio/speech_flex.h
@@ -38,7 +38,7 @@ public:
 	ENABLE_RUNTIME_CLASSTYPE()
 
 	SpeechFlex(IDataSource *ds);
-	virtual ~SpeechFlex(void);
+	~SpeechFlex(void) override;
 
 	int getIndexForPhrase(const Std::string &phrase,
 	                      uint32 start, uint32 &end) const;
diff --git a/engines/ultima/ultima8/convert/u8/convert_usecode_u8.h b/engines/ultima/ultima8/convert/u8/convert_usecode_u8.h
index 7dded1e..136f047 100644
--- a/engines/ultima/ultima8/convert/u8/convert_usecode_u8.h
+++ b/engines/ultima/ultima8/convert/u8/convert_usecode_u8.h
@@ -65,10 +65,10 @@ namespace Ultima8 {
 
 class ConvertUsecodeU8 : public ConvertUsecode {
 public:
-	const char* const *intrinsics()  { return _intrinsics;  };
-	const char* const *event_names() { return _event_names; };
-	void readheader(IDataSource *ucfile, UsecodeHeader &uch, uint32 &curOffset_);
-	void readevents(IDataSource *ucfile, const UsecodeHeader &/*uch*/)
+	const char* const *intrinsics() override  { return _intrinsics;  };
+	const char* const *event_names() override { return _event_names; };
+	void readheader(IDataSource *ucfile, UsecodeHeader &uch, uint32 &curOffset_) override;
+	void readevents(IDataSource *ucfile, const UsecodeHeader &/*uch*/) override
 	{
 #ifndef INCLUDE_CONVERTUSECODEU8_WITHOUT_BRINGING_IN_FOLD
 		EventMap.clear();
@@ -83,9 +83,9 @@ public:
 #endif
 	}
 
-	void readOp(TempOp &op, IDataSource *ucfile, uint32 &dbg_symbol_offset, Std::vector<DebugSymbol> &debugSymbols, bool &done)
+	void readOp(TempOp &op, IDataSource *ucfile, uint32 &dbg_symbol_offset, Std::vector<DebugSymbol> &debugSymbols, bool &done) override
 	{ readOpGeneric(op, ucfile, dbg_symbol_offset, debugSymbols, done, false); };
-	Node *readOp(IDataSource *ucfile, uint32 &dbg_symbol_offset, Std::vector<DebugSymbol> &debugSymbols, bool &done)
+	Node *readOp(IDataSource *ucfile, uint32 &dbg_symbol_offset, Std::vector<DebugSymbol> &debugSymbols, bool &done) override
 	{ return readOpGeneric(ucfile, dbg_symbol_offset, debugSymbols, done, false); };
 
 	
diff --git a/engines/ultima/ultima8/filesys/dir_file.h b/engines/ultima/ultima8/filesys/dir_file.h
index bfb6e72..c309b83 100644
--- a/engines/ultima/ultima8/filesys/dir_file.h
+++ b/engines/ultima/ultima8/filesys/dir_file.h
@@ -36,15 +36,15 @@ public:
 
 	//! create DirFile from path
 	explicit DirFile(const Std::string &path);
-	virtual ~DirFile();
+	~DirFile() override;
 
-	virtual bool exists(const Std::string &name) override;
+	bool exists(const Std::string &name) override;
 
-	virtual uint8 *getObject(const Std::string &name, uint32 *size = 0) override;
+	uint8 *getObject(const Std::string &name, uint32 *size = 0) override;
 
-	virtual uint32 getSize(const Std::string &name) override;
+	uint32 getSize(const Std::string &name) override;
 
-	virtual uint32 getCount() override {
+	uint32 getCount() override {
 		return count;
 	}
 
diff --git a/engines/ultima/ultima8/filesys/flex_file.h b/engines/ultima/ultima8/filesys/flex_file.h
index c0558a0..f1e291d 100644
--- a/engines/ultima/ultima8/filesys/flex_file.h
+++ b/engines/ultima/ultima8/filesys/flex_file.h
@@ -38,12 +38,12 @@ public:
 	//! create FlexFile from datasource; FlexFile takes ownership of ds
 	//! and deletes it when destructed
 	explicit FlexFile(IDataSource *ds);
-	virtual ~FlexFile();
+	~FlexFile() override;
 
-	virtual bool exists(uint32 index) override {
+	bool exists(uint32 index) override {
 		return getSize(index) > 0;
 	}
-	virtual bool exists(const Std::string &name) override {
+	bool exists(const Std::string &name) override {
 		uint32 index;
 		if (nameToIndex(name, index))
 			return exists(index);
@@ -51,8 +51,8 @@ public:
 			return false;
 	}
 
-	virtual uint8 *getObject(uint32 index, uint32 *size = 0) override;
-	virtual uint8 *getObject(const Std::string &name, uint32 *size = 0) override {
+	uint8 *getObject(uint32 index, uint32 *size = 0) override;
+	uint8 *getObject(const Std::string &name, uint32 *size = 0) override {
 		uint32 index;
 		if (nameToIndex(name, index))
 			return getObject(index, size);
@@ -61,8 +61,8 @@ public:
 	}
 
 
-	virtual uint32 getSize(uint32 index) override;
-	virtual uint32 getSize(const Std::string &name) override {
+	uint32 getSize(uint32 index) override;
+	uint32 getSize(const Std::string &name) override {
 		uint32 index;
 		if (nameToIndex(name, index))
 			return getSize(index);
@@ -70,18 +70,18 @@ public:
 			return 0;
 	}
 
-	virtual uint32 getCount() override {
+	uint32 getCount() override {
 		return count;
 	}
 
-	virtual uint32 getIndexCount() override {
+	uint32 getIndexCount() override {
 		return count;
 	}
 
-	virtual bool isIndexed() const override {
+	bool isIndexed() const override {
 		return true;
 	}
-	virtual bool isNamed() const override {
+	bool isNamed() const override {
 		return false;
 	}
 
diff --git a/engines/ultima/ultima8/filesys/idata_source.h b/engines/ultima/ultima8/filesys/idata_source.h
index fe15d96..9a4e192 100644
--- a/engines/ultima/ultima8/filesys/idata_source.h
+++ b/engines/ultima/ultima8/filesys/idata_source.h
@@ -177,7 +177,7 @@ public:
 		_in = data_stream;
 	}
 
-	virtual ~IFileDataSource() {
+	~IFileDataSource() override {
 		delete _in;
 	}
 
@@ -186,22 +186,22 @@ public:
 	}
 
 	//  Read a byte value
-	virtual uint8 read1() override {
+	uint8 read1() override {
 		return static_cast<uint8>(_in->readByte());
 	}
 
 	//  Read a 2-byte value, lsb first.
-	virtual uint16 read2() override {
+	uint16 read2() override {
 		return _in->readUint16LE();
 	}
 
 	//  Read a 2-byte value, hsb first.
-	virtual uint16 read2high() override {
+	uint16 read2high() override {
 		return _in->readUint16BE();
 	}
 
 	//  Read a 3-byte value, lsb first.
-	virtual uint32 read3() override {
+	uint32 read3() override {
 		uint32 val = 0;
 		val |= static_cast<uint32>(_in->readByte());
 		val |= static_cast<uint32>(_in->readByte() << 8);
@@ -210,40 +210,40 @@ public:
 	}
 
 	//  Read a 4-byte long value, lsb first.
-	virtual uint32 read4() override {
+	uint32 read4() override {
 		return _in->readUint32LE();
 	}
 
 	//  Read a 4-byte long value, hsb first.
-	virtual uint32 read4high() override {
+	uint32 read4high() override {
 		return _in->readUint32BE();
 	}
 
-	virtual int32 read(void *b, int32 len) override {
+	int32 read(void *b, int32 len) override {
 		return _in->read(b, len);
 	}
 
-	virtual void seek(uint32 pos) override {
+	void seek(uint32 pos) override {
 		_in->seek(pos);
 	}
 
-	virtual void skip(int32 pos) override {
+	void skip(int32 pos) override {
 		_in->seek(pos, SEEK_CUR);
 	}
 
-	virtual uint32 getSize() const override {
+	uint32 getSize() const override {
 		return _in->size();
 	}
 
-	virtual uint32 getPos() const override {
+	uint32 getPos() const override {
 		return _in->pos();
 	}
 
-	virtual bool eof() const override {
+	bool eof() const override {
 		return _in->eos();
 	}
 
-	virtual Common::SeekableReadStream *GetRawStream() override {
+	Common::SeekableReadStream *GetRawStream() override {
 		return _in;
 	}
 };
@@ -315,33 +315,33 @@ public:
 		if (is_text) ConvertTextBuffer();
 	}
 
-	virtual ~IBufferDataSource() override {
+	~IBufferDataSource() override {
 		if (free_buffer && buf) delete [] const_cast<uint8 *>(buf);
 		free_buffer = false;
 		buf = buf_ptr = 0;
 	}
 
-	virtual uint8 read1() override {
+	uint8 read1() override {
 		uint8 b0;
 		b0 = *buf_ptr++;
 		return (b0);
 	}
 
-	virtual uint16 read2() override {
+	uint16 read2() override {
 		uint8 b0, b1;
 		b0 = *buf_ptr++;
 		b1 = *buf_ptr++;
 		return (b0 | (b1 << 8));
 	}
 
-	virtual uint16 read2high() override {
+	uint16 read2high() override {
 		uint8 b0, b1;
 		b1 = *buf_ptr++;
 		b0 = *buf_ptr++;
 		return (b0 | (b1 << 8));
 	}
 
-	virtual uint32 read3() override {
+	uint32 read3() override {
 		uint8 b0, b1, b2;
 		b0 = *buf_ptr++;
 		b1 = *buf_ptr++;
@@ -349,7 +349,7 @@ public:
 		return (b0 | (b1 << 8) | (b2 << 16));
 	}
 
-	virtual uint32 read4() override {
+	uint32 read4() override {
 		uint8 b0, b1, b2, b3;
 		b0 = *buf_ptr++;
 		b1 = *buf_ptr++;
@@ -358,7 +358,7 @@ public:
 		return (b0 | (b1 << 8) | (b2 << 16) | (b3 << 24));
 	}
 
-	virtual uint32 read4high() override {
+	uint32 read4high() override {
 		uint8 b0, b1, b2, b3;
 		b3 = *buf_ptr++;
 		b2 = *buf_ptr++;
@@ -367,7 +367,7 @@ public:
 		return (b0 | (b1 << 8) | (b2 << 16) | (b3 << 24));
 	}
 
-	virtual int32 read(void *str, int32 num_bytes) override {
+	int32 read(void *str, int32 num_bytes) override {
 		if (buf_ptr >= buf + size) return 0;
 		int32 count = num_bytes;
 		if (buf_ptr + num_bytes > buf + size)
@@ -377,23 +377,23 @@ public:
 		return count;
 	}
 
-	virtual void seek(uint32 pos) override {
+	void seek(uint32 pos) override {
 		buf_ptr = buf + pos;
 	}
 
-	virtual void skip(int32 delta) override {
+	void skip(int32 delta) override {
 		buf_ptr += delta;
 	}
 
-	virtual uint32 getSize() const override {
+	uint32 getSize() const override {
 		return size;
 	}
 
-	virtual uint32 getPos() const override {
+	uint32 getPos() const override {
 		return static_cast<uint32>(buf_ptr - buf);
 	}
 
-	virtual bool eof() const override {
+	bool eof() const override {
 		return (static_cast<uint32>(buf_ptr - buf)) >= size;
 	}
 };
diff --git a/engines/ultima/ultima8/filesys/named_archive_file.h b/engines/ultima/ultima8/filesys/named_archive_file.h
index 1fcfda7..4960583 100644
--- a/engines/ultima/ultima8/filesys/named_archive_file.h
+++ b/engines/ultima/ultima8/filesys/named_archive_file.h
@@ -34,38 +34,38 @@ public:
 	ENABLE_RUNTIME_CLASSTYPE()
 
 	NamedArchiveFile() : indexCount(0) { }
-	virtual ~NamedArchiveFile() { }
+	~NamedArchiveFile() override { }
 
-	virtual bool exists(uint32 index) override {
+	bool exists(uint32 index) override {
 		Std::string name;
 		return (indexToName(index, name));
 	}
-	virtual bool exists(const Std::string &name) override = 0;
+	bool exists(const Std::string &name) override = 0;
 
-	virtual uint8 *getObject(uint32 index, uint32 *size = 0) override {
+	uint8 *getObject(uint32 index, uint32 *size = 0) override {
 		Std::string name;
 		if (!indexToName(index, name)) return 0;
 		return getObject(name, size);
 	}
-	virtual uint8 *getObject(const Std::string &name, uint32 *size = 0) override = 0;
+	uint8 *getObject(const Std::string &name, uint32 *size = 0) override = 0;
 
-	virtual uint32 getSize(uint32 index) override {
+	uint32 getSize(uint32 index) override {
 		Std::string name;
 		if (!indexToName(index, name)) return 0;
 		return getSize(name);
 	}
-	virtual uint32 getSize(const Std::string &name) override = 0;
+	uint32 getSize(const Std::string &name) override = 0;
 
-	virtual uint32 getCount() override = 0;
+	uint32 getCount() override = 0;
 
-	virtual uint32 getIndexCount() override {
+	uint32 getIndexCount() override {
 		return indexCount;
 	}
 
-	virtual bool isIndexed() const override {
+	bool isIndexed() const override {
 		return false;
 	}
-	virtual bool isNamed() const override {
+	bool isNamed() const override {
 		return true;
 	}
 
diff --git a/engines/ultima/ultima8/filesys/odata_source.h b/engines/ultima/ultima8/filesys/odata_source.h
index ff1c86b..542520f 100644
--- a/engines/ultima/ultima8/filesys/odata_source.h
+++ b/engines/ultima/ultima8/filesys/odata_source.h
@@ -84,7 +84,7 @@ public:
 		_out = data_stream;
 	}
 
-	virtual ~OFileDataSource() {
+	~OFileDataSource() override {
 		FORGET_OBJECT(_out);
 	}
 
@@ -92,61 +92,61 @@ public:
 		return !_out->err();
 	}
 
-	virtual void write1(uint32 val) override {
+	void write1(uint32 val) override {
 		_out->writeByte(val & 0xff);
 	}
 
-	virtual void write2(uint16 val) override {
+	void write2(uint16 val) override {
 		_out->writeUint16LE(val);
 	}
 
-	virtual void write2high(uint16 val) override {
+	void write2high(uint16 val) override {
 		_out->writeUint16BE(val);
 	}
 
-	virtual void write3(uint32 val) override {
+	void write3(uint32 val) override {
 		_out->writeByte(static_cast<byte>(val & 0xff));
 		_out->writeByte(static_cast<byte>((val >> 8) & 0xff));
 		_out->writeByte(static_cast<byte>((val >> 16) & 0xff));
 	}
 
-	virtual void write4(uint32 val) override {
+	void write4(uint32 val) override {
 		_out->writeUint32LE(val);
 	}
 
-	virtual void write4high(uint32 val) override {
+	void write4high(uint32 val) override {
 		_out->writeUint32BE(val);
 	}
 
-	virtual void write(const void *b, uint32 len) override {
+	void write(const void *b, uint32 len) override {
 		_out->write(static_cast<const char *>(b), len);
 	}
 
-	virtual void seek(uint32 pos) override {
+	void seek(uint32 pos) override {
 		Common::SeekableWriteStream *ws = dynamic_cast<Common::SeekableWriteStream *>(_out);
 		assert(ws);
 		ws->seek(pos);
 	}
 
-	virtual void skip(int32 amount) override {
+	void skip(int32 amount) override {
 		Common::SeekableWriteStream *ws = dynamic_cast<Common::SeekableWriteStream *>(_out);
 		assert(ws);
 		ws->seek(amount, SEEK_CUR);
 	}
 
-	virtual uint32 getSize() const override {
+	uint32 getSize() const override {
 		Common::SeekableWriteStream *ws = dynamic_cast<Common::SeekableWriteStream *>(_out);
 		assert(ws);
 		return ws->size();
 	}
 
-	virtual uint32 getPos() const override {
+	uint32 getPos() const override {
 		Common::SeekableWriteStream *ws = dynamic_cast<Common::SeekableWriteStream *>(_out);
 		assert(ws);
 		return _out->pos();
 	}
 
-	virtual Common::WriteStream *GetRawStream() override {
+	Common::WriteStream *GetRawStream() override {
 		return _out;
 	}
 };
@@ -169,60 +169,60 @@ public:
 		size = len;
 	};
 
-	virtual ~OBufferDataSource() {};
+	~OBufferDataSource() override {};
 
-	virtual void write1(uint32 val) override {
+	void write1(uint32 val) override {
 		*buf_ptr++ = val & 0xff;
 	};
 
-	virtual void write2(uint16 val) override {
+	void write2(uint16 val) override {
 		*buf_ptr++ = val & 0xff;
 		*buf_ptr++ = (val >> 8) & 0xff;
 	};
 
-	virtual void write2high(uint16 val) override {
+	void write2high(uint16 val) override {
 		*buf_ptr++ = (val >> 8) & 0xff;
 		*buf_ptr++ = val & 0xff;
 	};
 
-	virtual void write3(uint32 val) override {
+	void write3(uint32 val) override {
 		*buf_ptr++ = val & 0xff;
 		*buf_ptr++ = (val >> 8) & 0xff;
 		*buf_ptr++ = (val >> 16) & 0xff;
 	};
 
-	virtual void write4(uint32 val) override {
+	void write4(uint32 val) override {
 		*buf_ptr++ = val & 0xff;
 		*buf_ptr++ = (val >> 8) & 0xff;
 		*buf_ptr++ = (val >> 16) & 0xff;
 		*buf_ptr++ = (val >> 24) & 0xff;
 	};
 
-	virtual void write4high(uint32 val) override {
+	void write4high(uint32 val) override {
 		*buf_ptr++ = (val >> 24) & 0xff;
 		*buf_ptr++ = (val >> 16) & 0xff;
 		*buf_ptr++ = (val >> 8) & 0xff;
 		*buf_ptr++ = val & 0xff;
 	};
 
-	virtual void write(const void *b, uint32 len) override {
+	void write(const void *b, uint32 len) override {
 		Common::copy((const byte *)b, (const byte *)b + len, buf_ptr);
 		buf_ptr += len;
 	};
 
-	virtual void seek(uint32 pos) override {
+	void seek(uint32 pos) override {
 		buf_ptr = const_cast<unsigned char *>(buf) + pos;
 	};
 
-	virtual void skip(int32 pos) override {
+	void skip(int32 pos) override {
 		buf_ptr += pos;
 	};
 
-	virtual uint32 getSize() const override {
+	uint32 getSize() const override {
 		return size;
 	};
 
-	virtual uint32 getPos() const override {
+	uint32 getPos() const override {
 		return static_cast<uint32>(buf_ptr - buf);
 	};
 };
@@ -234,47 +234,47 @@ private:
 public:
 	ODequeDataSource() {}
 
-	virtual ~ODequeDataSource() {}
+	~ODequeDataSource() override {}
 
 	const Std::deque<byte> &buf() const {
 		return _out;
 	}
 
-	virtual void write1(uint32 val) override {
+	void write1(uint32 val) override {
 		_out.push_back(static_cast<byte>(val & 0xff));
 	}
 
-	virtual void write2(uint16 val) override {
+	void write2(uint16 val) override {
 		_out.push_back(static_cast<byte>(val & 0xff));
 		_out.push_back(static_cast<byte>((val >> 8) & 0xff));
 	}
 
-	virtual void write2high(uint16 val) override {
+	void write2high(uint16 val) override {
 		_out.push_back(static_cast<byte>((val >> 8) & 0xff));
 		_out.push_back(static_cast<byte>(val & 0xff));
 	}
 
-	virtual void write3(uint32 val) override {
+	void write3(uint32 val) override {
 		_out.push_back(static_cast<byte>(val & 0xff));
 		_out.push_back(static_cast<byte>((val >> 8) & 0xff));
 		_out.push_back(static_cast<byte>((val >> 16) & 0xff));
 	}
 
-	virtual void write4(uint32 val) override {
+	void write4(uint32 val) override {
 		_out.push_back(static_cast<byte>(val & 0xff));
 		_out.push_back(static_cast<byte>((val >> 8) & 0xff));
 		_out.push_back(static_cast<byte>((val >> 16) & 0xff));
 		_out.push_back(static_cast<byte>((val >> 24) & 0xff));
 	}
 
-	virtual void write4high(uint32 val) override {
+	void write4high(uint32 val) override {
 		_out.push_back(static_cast<byte>((val >> 24) & 0xff));
 		_out.push_back(static_cast<byte>((val >> 16) & 0xff));
 		_out.push_back(static_cast<byte>((val >> 8) & 0xff));
 		_out.push_back(static_cast<byte>(val & 0xff));
 	}
 
-	virtual void write(const void *b, uint32 length) override {
+	void write(const void *b, uint32 length) override {
 		write(b, length, length);
 	}
 
@@ -290,18 +290,18 @@ public:
 		_out.clear();
 	}
 
-	virtual void seek(uint32 /*pos*/) override {
+	void seek(uint32 /*pos*/) override {
 		/*_out->seekp(pos); FIXME: Do something here. */
 	}
-	virtual void skip(int32 /*pos*/) override {
+	void skip(int32 /*pos*/) override {
 		/*_out->seekp(pos, Std::ios::cur); FIXME: Do something here. */
 	}
 
-	virtual uint32 getSize() const override {
+	uint32 getSize() const override {
 		return static_cast<uint32>(_out.size());
 	}
 
-	virtual uint32 getPos() const override {
+	uint32 getPos() const override {
 		return static_cast<uint32>(_out.size()); /*return _out->tellp(); FIXME: Do something here. */
 	}
 };
@@ -357,35 +357,35 @@ public:
 		return buf;
 	}
 
-	virtual ~OAutoBufferDataSource() override {
+	~OAutoBufferDataSource() override {
 		delete [] buf_ptr;
 	}
 
-	virtual void write1(uint32 val) override {
+	void write1(uint32 val) override {
 		checkResize(1);
 		*buf_ptr++ = val & 0xff;
 	};
 
-	virtual void write2(uint16 val) override {
+	void write2(uint16 val) override {
 		checkResize(2);
 		*buf_ptr++ = val & 0xff;
 		*buf_ptr++ = (val >> 8) & 0xff;
 	};
 
-	virtual void write2high(uint16 val) override {
+	void write2high(uint16 val) override {
 		checkResize(2);
 		*buf_ptr++ = (val >> 8) & 0xff;
 		*buf_ptr++ = val & 0xff;
 	};
 
-	virtual void write3(uint32 val) override {
+	void write3(uint32 val) override {
 		checkResize(3);
 		*buf_ptr++ = val & 0xff;
 		*buf_ptr++ = (val >> 8) & 0xff;
 		*buf_ptr++ = (val >> 16) & 0xff;
 	};
 
-	virtual void write4(uint32 val) override {
+	void write4(uint32 val) override {
 		checkResize(4);
 		*buf_ptr++ = val & 0xff;
 		*buf_ptr++ = (val >> 8) & 0xff;
@@ -393,7 +393,7 @@ public:
 		*buf_ptr++ = (val >> 24) & 0xff;
 	};
 
-	virtual void write4high(uint32 val) override {
+	void write4high(uint32 val) override {
 		checkResize(4);
 		*buf_ptr++ = (val >> 24) & 0xff;
 		*buf_ptr++ = (val >> 16) & 0xff;
@@ -401,13 +401,13 @@ public:
 		*buf_ptr++ = val & 0xff;
 	};
 
-	virtual void write(const void *b, uint32 len) override {
+	void write(const void *b, uint32 len) override {
 		checkResize(len);
 		Common::copy((const byte *)b, (const byte *)b + len, buf_ptr);
 		buf_ptr += len;
 	};
 
-	virtual void seek(uint32 pos) override {
+	void seek(uint32 pos) override {
 		// No seeking past the end of the buffer
 		if (pos <= size) loc = pos;
 		else loc = size;
@@ -415,7 +415,7 @@ public:
 		buf_ptr = const_cast<unsigned char *>(buf) + loc;
 	};
 
-	virtual void skip(int32 pos) override {
+	void skip(int32 pos) override {
 		// No seeking past the end
 		if (pos >= 0) {
 			loc += pos;
@@ -430,11 +430,11 @@ public:
 		buf_ptr = const_cast<unsigned char *>(buf) + loc;
 	};
 
-	virtual uint32 getSize() const override {
+	uint32 getSize() const override {
 		return size;
 	};
 
-	virtual uint32 getPos() const override {
+	uint32 getPos() const override {
 		return static_cast<uint32>(buf_ptr - buf);
 	};
 
diff --git a/engines/ultima/ultima8/filesys/raw_archive.h b/engines/ultima/ultima8/filesys/raw_archive.h
index e63f2d4..6b60193 100644
--- a/engines/ultima/ultima8/filesys/raw_archive.h
+++ b/engines/ultima/ultima8/filesys/raw_archive.h
@@ -41,11 +41,11 @@ public:
 	explicit RawArchive(IDataSource *ids) : Archive(ids) { }
 	explicit RawArchive(const Std::string &path) : Archive(path) { }
 
-	virtual ~RawArchive();
+	~RawArchive() override;
 
-	virtual void cache(uint32 index) override;
-	virtual void uncache(uint32 index) override;
-	virtual bool isCached(uint32 index) override;
+	void cache(uint32 index) override;
+	void uncache(uint32 index) override;
+	bool isCached(uint32 index) override;
 
 	//! return object. DON'T delete or modify!
 	virtual const uint8 *get_object_nodel(uint32 index);
diff --git a/engines/ultima/ultima8/filesys/u8_save_file.h b/engines/ultima/ultima8/filesys/u8_save_file.h
index 217a532..37e931f 100644
--- a/engines/ultima/ultima8/filesys/u8_save_file.h
+++ b/engines/ultima/ultima8/filesys/u8_save_file.h
@@ -39,15 +39,15 @@ public:
 	//! create U8SaveFile from datasource; U8SaveFile takes ownership of ds
 	//! and deletes it when destructed
 	explicit U8SaveFile(IDataSource *ds);
-	virtual ~U8SaveFile();
+	~U8SaveFile() override;
 
-	virtual bool exists(const Std::string &name) override;
+	bool exists(const Std::string &name) override;
 
-	virtual uint8 *getObject(const Std::string &name, uint32 *size = 0) override;
+	uint8 *getObject(const Std::string &name, uint32 *size = 0) override;
 
-	virtual uint32 getSize(const Std::string &name) override;
+	uint32 getSize(const Std::string &name) override;
 
-	virtual uint32 getCount() override {
+	uint32 getCount() override {
 		return count;
 	}
 
diff --git a/engines/ultima/ultima8/games/remorse_game.h b/engines/ultima/ultima8/games/remorse_game.h
index 5009903..2d491b6 100644
--- a/engines/ultima/ultima8/games/remorse_game.h
+++ b/engines/ultima/ultima8/games/remorse_game.h
@@ -27,24 +27,24 @@ namespace Ultima8 {
 class RemorseGame : public Game {
 public:
 	RemorseGame();
-	virtual ~RemorseGame();
+	~RemorseGame() override;
 
 	//! load/init game's data files
-	virtual bool loadFiles();
+	bool loadFiles() override;
 
 	//! initialize new game
-	virtual bool startGame();
+	bool startGame() override;
 
 	//! start initial usecode
-	virtual bool startInitialUsecode(const Std::string &savegame);
+	bool startInitialUsecode(const Std::string &savegame) override;
 
 	//! write game-specific savegame info (avatar stats, equipment, ...)
-	virtual void writeSaveInfo(ODataSource *ods);
+	void writeSaveInfo(ODataSource *ods) override;
 
-	virtual ProcId playIntroMovie();
-	virtual ProcId playEndgameMovie();
-	virtual void playCredits();
-	virtual void playQuotes() { };
+	ProcId playIntroMovie() override;
+	ProcId playEndgameMovie() override;
+	void playCredits() override;
+	void playQuotes() override { };
 
 	static Game *createGame(GameInfo *info);
 
diff --git a/engines/ultima/ultima8/games/start_u8_process.h b/engines/ultima/ultima8/games/start_u8_process.h
index 3ed628f..335a7b6 100644
--- a/engines/ultima/ultima8/games/start_u8_process.h
+++ b/engines/ultima/ultima8/games/start_u8_process.h
@@ -33,14 +33,14 @@ protected:
 	bool _skipStart;
 	Std::string _saveName;
 
-	virtual void saveData(ODataSource *ods) override;
+	void saveData(ODataSource *ods) override;
 public:
 	StartU8Process(const Std::string &saveName);
 
 	// p_dynamic_cast stuff
 	ENABLE_RUNTIME_CLASSTYPE()
 
-	virtual void run() override;
+	void run() override;
 
 	bool loadData(IDataSource *ids, uint32 version);
 };
diff --git a/engines/ultima/ultima8/games/u8_game.h b/engines/ultima/ultima8/games/u8_game.h
index 7eddbe6..d8886e7 100644
--- a/engines/ultima/ultima8/games/u8_game.h
+++ b/engines/ultima/ultima8/games/u8_game.h
@@ -29,24 +29,24 @@ class IDataSource;
 class U8Game: public Game {
 public:
 	U8Game();
-	virtual ~U8Game();
+	~U8Game() override;
 
 	//! load/init game's data files
-	virtual bool loadFiles();
+	bool loadFiles() override;
 
 	//! initialize new game
-	virtual bool startGame();
+	bool startGame() override;
 
 	//! start initial usecode
-	virtual bool startInitialUsecode(const Std::string &savegame);
+	bool startInitialUsecode(const Std::string &savegame) override;
 
 	//! write game-specific savegame info (avatar stats, equipment, ...)
-	virtual void writeSaveInfo(ODataSource *ods);
+	void writeSaveInfo(ODataSource *ods) override;
 
-	virtual ProcId playIntroMovie();
-	virtual ProcId playEndgameMovie();
-	virtual void playCredits();
-	virtual void playQuotes();
+	ProcId playIntroMovie() override;
+	ProcId playEndgameMovie() override;
+	void playCredits() override;
+	void playQuotes() override;
 
 	static void ConCmd_cheatItems(const Console::ArgvType &argv);
 	static void ConCmd_cheatEquip(const Console::ArgvType &argv);
diff --git a/engines/ultima/ultima8/graphics/base_soft_render_surface.h b/engines/ultima/ultima8/graphics/base_soft_render_surface.h
index 402978f..2070449 100644
--- a/engines/ultima/ultima8/graphics/base_soft_render_surface.h
+++ b/engines/ultima/ultima8/graphics/base_soft_render_surface.h
@@ -101,7 +101,7 @@ protected:
 public:
 
 	// Virtual Destructor
-	virtual ~BaseSoftRenderSurface();
+	~BaseSoftRenderSurface() override;
 
 	//
 	// Being/End Painting
@@ -110,14 +110,14 @@ public:
 	// Begin painting to the buffer. MUST BE CALLED BEFORE DOING ANYTHING TO THE SURFACE!
 	// Can be called multiple times
 	// Returns Error Code on error. Check return code.....
-	virtual ECode BeginPainting() override;
+	ECode BeginPainting() override;
 
 	// Finish paining to the buffer. MUST BE CALLED FOR EACH CALL TO BeginPainting()
 	// Returns Error Code on error. Check return code.....
-	virtual ECode EndPainting() override;
+	ECode EndPainting() override;
 
 	// Get the surface as a Texture. Only valid for SecondaryRenderSurfaces
-	virtual Texture *GetSurfaceAsTexture() override;
+	Texture *GetSurfaceAsTexture() override;
 
 
 	//
@@ -125,28 +125,28 @@ public:
 	//
 
 	// Set the Origin of the Surface
-	virtual void SetOrigin(int32 x, int32 y) override;
+	void SetOrigin(int32 x, int32 y) override;
 
 	// Set the Origin of the Surface
-	virtual void GetOrigin(int32 &x, int32 &y) const override;
+	void GetOrigin(int32 &x, int32 &y) const override;
 
 	// Get the Surface Dimensions
-	virtual void GetSurfaceDims(Rect &) const override;
+	void GetSurfaceDims(Rect &) const override;
 
 	// Get Clipping Rectangle
-	virtual void GetClippingRect(Rect &) const override;
+	void GetClippingRect(Rect &) const override;
 
 	// Set Clipping Rectangle
-	virtual void SetClippingRect(const Rect &) override;
+	void SetClippingRect(const Rect &) override;
 
 	// Check Clipped. -1 if off screen, 0 if not clipped, 1 if clipped
-	virtual int16 CheckClipped(const Rect &) const override;
+	int16 CheckClipped(const Rect &) const override;
 
 	// Flip the surface
-	virtual void SetFlipped(bool flipped) override;
+	void SetFlipped(bool flipped) override;
 
 	// Has the render surface been flipped?
-	virtual bool IsFlipped() const override;
+	bool IsFlipped() const override;
 
 	//
 	// Surface Palettes
@@ -164,7 +164,7 @@ public:
 	// Get The Surface Palette
 	// TODO: virtual void GetPalette(uint8 palette[768]);
 
-	virtual void CreateNativePalette(Palette *palette) override;
+	void CreateNativePalette(Palette *palette) override;
 
 	Graphics::ManagedSurface *getRawSurface() const override {
 		return sdl_surf;
diff --git a/engines/ultima/ultima8/graphics/fonts/font_shape_archive.h b/engines/ultima/ultima8/graphics/fonts/font_shape_archive.h
index 328a10c..e5ebf17 100644
--- a/engines/ultima/ultima8/graphics/fonts/font_shape_archive.h
+++ b/engines/ultima/ultima8/graphics/fonts/font_shape_archive.h
@@ -49,14 +49,14 @@ public:
 	                 const ConvertShapeFormat *format_ = 0)
 		: ShapeArchive(path, id_, pal_, format_) { }
 
-	virtual ~FontShapeArchive() { }
+	~FontShapeArchive() override { }
 
 	//! load HVLeads from u8.ini
 	void setHVLeads();
 
 	ShapeFont *getFont(uint32 fontnum);
 
-	virtual void cache(uint32 fontnum) override;
+	void cache(uint32 fontnum) override;
 };
 
 } // End of namespace Ultima8
diff --git a/engines/ultima/ultima8/graphics/fonts/jp_font.h b/engines/ultima/ultima8/graphics/fonts/jp_font.h
index 47095ce..88eab41 100644
--- a/engines/ultima/ultima8/graphics/fonts/jp_font.h
+++ b/engines/ultima/ultima8/graphics/fonts/jp_font.h
@@ -34,21 +34,21 @@ class ShapeFont;
 class JPFont : public Font {
 public:
 	JPFont(ShapeFont *jpfont, unsigned int fontnum);
-	virtual ~JPFont();
+	~JPFont() override;
 
 	int getWidth(int c);
 
-	virtual int getHeight() override;
-	virtual int getBaseline() override;
-	virtual int getBaselineSkip() override;
+	int getHeight() override;
+	int getBaseline() override;
+	int getBaselineSkip() override;
 
-	virtual void getStringSize(const Std::string &text,
+	void getStringSize(const Std::string &text,
 		int32 &width, int32 &height) override;
-	virtual void getTextSize(const Std::string &text, int32 &resultwidth,
+	void getTextSize(const Std::string &text, int32 &resultwidth,
 		int32 &resultheight, unsigned int &remaining, int32 width = 0,
 		int32 height = 0, TextAlign align = TEXT_LEFT, bool u8specials = false) override;
 
-	virtual RenderedText *renderText(const Std::string &text,
+	RenderedText *renderText(const Std::string &text,
 		unsigned int &remaining, int32 width = 0, int32 height = 0,
 		TextAlign align = TEXT_LEFT, bool u8specials = false,
 		Std::string::size_type cursor = Std::string::npos) override;
diff --git a/engines/ultima/ultima8/graphics/fonts/jp_rendered_text.h b/engines/ultima/ultima8/graphics/fonts/jp_rendered_text.h
index 718d8eb..bc156be 100644
--- a/engines/ultima/ultima8/graphics/fonts/jp_rendered_text.h
+++ b/engines/ultima/ultima8/graphics/fonts/jp_rendered_text.h
@@ -37,10 +37,10 @@ public:
 	JPRenderedText(Std::list<PositionedText> &lines,
 	               int width, int height, int vlead, ShapeFont *font,
 	               unsigned int fontnum);
-	virtual ~JPRenderedText();
+	~JPRenderedText() override;
 
-	virtual void draw(RenderSurface *surface, int x, int y, bool destmasked = false) override;
-	virtual void drawBlended(RenderSurface *surface, int x, int y, uint32 col, bool destmasked = false) override;
+	void draw(RenderSurface *surface, int x, int y, bool destmasked = false) override;
+	void drawBlended(RenderSurface *surface, int x, int y, uint32 col, bool destmasked = false) override;
 
 	ENABLE_RUNTIME_CLASSTYPE()
 
diff --git a/engines/ultima/ultima8/graphics/fonts/shape_font.h b/engines/ultima/ultima8/graphics/fonts/shape_font.h
index f0449ff..dc7d724 100644
--- a/engines/ultima/ultima8/graphics/fonts/shape_font.h
+++ b/engines/ultima/ultima8/graphics/fonts/shape_font.h
@@ -39,11 +39,11 @@ class ShapeFont : public Font, public Shape {
 public:
 	ShapeFont(const uint8 *data, uint32 size, const ConvertShapeFormat *format,
 	          const uint16 flexId, const uint32 shapenum);
-	virtual ~ShapeFont();
+	~ShapeFont() override;
 
-	virtual int getHeight() override;
-	virtual int getBaseline() override;
-	virtual int getBaselineSkip() override;
+	int getHeight() override;
+	int getBaseline() override;
+	int getBaselineSkip() override;
 
 	int getWidth(char c);
 	int getVlead() const {
@@ -60,10 +60,10 @@ public:
 		hlead = hl;
 	}
 
-	virtual void getStringSize(const Std::string &text,
+	void getStringSize(const Std::string &text,
 		int32 &width, int32 &height) override;
 
-	virtual RenderedText *renderText(const Std::string &text,
+	RenderedText *renderText(const Std::string &text,
 		unsigned int &remaining, int32 width = 0, int32 height = 0,
 		TextAlign align = TEXT_LEFT, bool u8specials = false,
 		Std::string::size_type cursor = Std::string::npos) override;
diff --git a/engines/ultima/ultima8/graphics/fonts/shape_rendered_text.h b/engines/ultima/ultima8/graphics/fonts/shape_rendered_text.h
index 3a76a85..cbaea2a 100644
--- a/engines/ultima/ultima8/graphics/fonts/shape_rendered_text.h
+++ b/engines/ultima/ultima8/graphics/fonts/shape_rendered_text.h
@@ -36,10 +36,10 @@ class ShapeRenderedText : public RenderedText {
 public:
 	ShapeRenderedText(Std::list<PositionedText> &lines,
 	                  int width, int height, int vlead, ShapeFont *font);
-	virtual ~ShapeRenderedText();
+	~ShapeRenderedText() override;
 
-	virtual void draw(RenderSurface *surface, int x, int y, bool destmasked = false) override;
-	virtual void drawBlended(RenderSurface *surface, int x, int y, uint32 col, bool destmasked = false) override;
+	void draw(RenderSurface *surface, int x, int y, bool destmasked = false) override;
+	void drawBlended(RenderSurface *surface, int x, int y, uint32 col, bool destmasked = false) override;
 
 	ENABLE_RUNTIME_CLASSTYPE()
 
diff --git a/engines/ultima/ultima8/graphics/fonts/tt_font.h b/engines/ultima/ultima8/graphics/fonts/tt_font.h
index e2af335..bcbe01d 100644
--- a/engines/ultima/ultima8/graphics/fonts/tt_font.h
+++ b/engines/ultima/ultima8/graphics/fonts/tt_font.h
@@ -34,25 +34,25 @@ class TTFont : public Font {
 public:
 	TTFont(Graphics::Font *font, uint32 rgb, int bordersize,
 	       bool antiAliased, bool SJIS);
-	virtual ~TTFont();
+	~TTFont() override;
 
-	virtual int getHeight() override;
-	virtual int getBaseline() override;
-	virtual int getBaselineSkip() override;
+	int getHeight() override;
+	int getBaseline() override;
+	int getBaselineSkip() override;
 
 	bool isAntialiased() {
 		return antiAliased;
 	}
 
-	virtual void getStringSize(const Std::string &text,
+	void getStringSize(const Std::string &text,
 		int32 &width, int32 &height) override;
 
-	virtual void getTextSize(const Std::string &text,
+	void getTextSize(const Std::string &text,
 		int32 &resultwidth, int32 &resultheight, unsigned int &remaining,
 		int32 width = 0, int32 height = 0, TextAlign align = TEXT_LEFT,
 		bool u8specials = false) override;
 
-	virtual RenderedText *renderText(const Std::string &text,
+	RenderedText *renderText(const Std::string &text,
 		unsigned int &remaining, int32 width = 0, int32 height = 0,
 		TextAlign align = TEXT_LEFT, bool u8specials = false,
 		Std::string::size_type cursor = Std::string::npos) override;
diff --git a/engines/ultima/ultima8/graphics/fonts/ttf_rendered_text.h b/engines/ultima/ultima8/graphics/fonts/ttf_rendered_text.h
index e94330c..3609c8e 100644
--- a/engines/ultima/ultima8/graphics/fonts/ttf_rendered_text.h
+++ b/engines/ultima/ultima8/graphics/fonts/ttf_rendered_text.h
@@ -37,11 +37,11 @@ class TTFRenderedText : public RenderedText {
 public:
 	TTFRenderedText(Texture *texture, int width, int height, int vlead,
 	                TTFont *font);
-	virtual ~TTFRenderedText();
+	~TTFRenderedText() override;
 
-	virtual void draw(RenderSurface *surface, int x, int y,
+	void draw(RenderSurface *surface, int x, int y,
 	                  bool destmasked = false) override;
-	virtual void drawBlended(RenderSurface *surface, int x, int y, uint32 col,
+	void drawBlended(RenderSurface *surface, int x, int y, uint32 col,
 	                         bool destmasked = false) override;
 
 	ENABLE_RUNTIME_CLASSTYPE()
diff --git a/engines/ultima/ultima8/graphics/gump_shape_archive.h b/engines/ultima/ultima8/graphics/gump_shape_archive.h
index 5e91bec..a8daff6 100644
--- a/engines/ultima/ultima8/graphics/gump_shape_archive.h
+++ b/engines/ultima/ultima8/graphics/gump_shape_archive.h
@@ -49,7 +49,7 @@ public:
 	                 const ConvertShapeFormat *format_ = 0)
 		: ShapeArchive(path, id_, pal_, format_) { }
 
-	virtual ~GumpShapeArchive();
+	~GumpShapeArchive() override;
 
 	void loadGumpage(IDataSource *ds);
 	Rect *getGumpItemArea(uint32 shapenum);
diff --git a/engines/ultima/ultima8/graphics/inverter_process.h b/engines/ultima/ultima8/graphics/inverter_process.h
index ede83e8..31c8a8b 100644
--- a/engines/ultima/ultima8/graphics/inverter_process.h
+++ b/engines/ultima/ultima8/graphics/inverter_process.h
@@ -34,7 +34,7 @@ class InverterProcess : public Process {
 public:
 	InverterProcess();
 	InverterProcess(unsigned int targetstate);
-	virtual ~InverterProcess();
+	~InverterProcess() override;
 
 	// p_dynamic_class stuff
 	ENABLE_RUNTIME_CLASSTYPE()
@@ -43,7 +43,7 @@ public:
 		targetstate = target;
 	}
 
-	virtual void run() override;
+	void run() override;
 
 	static ProcId invertScreen();
 	static void ConCmd_invertScreen(const Console::ArgvType &argv);
@@ -52,7 +52,7 @@ public:
 
 	bool loadData(IDataSource *ids, uint32 version);
 protected:
-	virtual void saveData(ODataSource *ods) override;
+	void saveData(ODataSource *ods) override;
 
 	static InverterProcess *inverter;
 	unsigned int targetstate;
diff --git a/engines/ultima/ultima8/graphics/main_shape_archive.h b/engines/ultima/ultima8/graphics/main_shape_archive.h
index cee9355..59770c2 100644
--- a/engines/ultima/ultima8/graphics/main_shape_archive.h
+++ b/engines/ultima/ultima8/graphics/main_shape_archive.h
@@ -53,7 +53,7 @@ public:
 	                 const ConvertShapeFormat *format_ = 0)
 		: ShapeArchive(path, id_, pal_, format_), typeFlags(0), animdat(0) { }
 
-	virtual ~MainShapeArchive();
+	~MainShapeArchive() override;
 
 	void loadTypeFlags(IDataSource *ds);
 	ShapeInfo *getShapeInfo(uint32 shapenum);
diff --git a/engines/ultima/ultima8/graphics/palette_fader_process.h b/engines/ultima/ultima8/graphics/palette_fader_process.h
index afab67c..61987df 100644
--- a/engines/ultima/ultima8/graphics/palette_fader_process.h
+++ b/engines/ultima/ultima8/graphics/palette_fader_process.h
@@ -46,9 +46,9 @@ public:
 	PaletteFaderProcess(PalTransforms trans, int priority, int frames);
 	PaletteFaderProcess(uint32 rgba, bool from, int priority, int frames, bool current);
 	PaletteFaderProcess(int16 from[12], int16 to[12], int priority, int frames);
-	virtual ~PaletteFaderProcess(void);
+	~PaletteFaderProcess(void) override;
 
-	virtual void run() override;
+	void run() override;
 
 	INTRINSIC(I_fadeToPaletteTransform);
 	INTRINSIC(I_fadeToBlack);
@@ -59,7 +59,7 @@ public:
 
 	bool loadData(IDataSource *ids, uint32 version);
 protected:
-	virtual void saveData(ODataSource *ods) override;
+	void saveData(ODataSource *ods) override;
 };
 
 } // End of namespace Ultima8
diff --git a/engines/ultima/ultima8/graphics/point_scaler.h b/engines/ultima/ultima8/graphics/point_scaler.h
index e338ca6..0e935ce 100644
--- a/engines/ultima/ultima8/graphics/point_scaler.h
+++ b/engines/ultima/ultima8/graphics/point_scaler.h
@@ -32,8 +32,8 @@ class PointScaler : public Scaler {
 public:
 	PointScaler();
 
-	virtual uint32    ScaleBits() const;          //< bits for supported integer scaling
-	virtual bool      ScaleArbitrary() const;     //< supports arbitrary scaling of any degree
+	uint32    ScaleBits() const override;          //< bits for supported integer scaling
+	bool      ScaleArbitrary() const override;     //< supports arbitrary scaling of any degree
 };
 
 } // End of namespace Ultima8
diff --git a/engines/ultima/ultima8/graphics/shape_archive.h b/engines/ultima/ultima8/graphics/shape_archive.h
index 47a1bc8..324a9d5 100644
--- a/engines/ultima/ultima8/graphics/shape_archive.h
+++ b/engines/ultima/ultima8/graphics/shape_archive.h
@@ -51,13 +51,13 @@ public:
 	             const ConvertShapeFormat *format_ = 0)
 		: Archive(path), id(id_), format(format_), palette(pal_) { }
 
-	virtual ~ShapeArchive();
+	~ShapeArchive() override;
 
 	Shape *getShape(uint32 shapenum);
 
-	virtual void cache(uint32 shapenum) override;
-	virtual void uncache(uint32 shapenum) override;
-	virtual bool isCached(uint32 shapenum) override;
+	void cache(uint32 shapenum) override;
+	void uncache(uint32 shapenum) override;
+	bool isCached(uint32 shapenum) override;
 
 protected:
 	uint16 id;
diff --git a/engines/ultima/ultima8/graphics/soft_render_surface.h b/engines/ultima/ultima8/graphics/soft_render_surface.h
index 977c0be..e2adb91 100644
--- a/engines/ultima/ultima8/graphics/soft_render_surface.h
+++ b/engines/ultima/ultima8/graphics/soft_render_surface.h
@@ -55,16 +55,16 @@ public:
 	//
 
 	// Fill buffer (using a palette index)
-	virtual void Fill8(uint8 index, int32 sx, int32 sy, int32 w, int32 h);
+	void Fill8(uint8 index, int32 sx, int32 sy, int32 w, int32 h) override;
 
 	// Fill buffer (using a RGB colour)
-	virtual void Fill32(uint32 rgb, int32 sx, int32 sy, int32 w, int32 h);
+	void Fill32(uint32 rgb, int32 sx, int32 sy, int32 w, int32 h) override;
 
 	//! Fill alpha channel
-	virtual void FillAlpha(uint8 alpha, int32 sx, int32 sy, int32 w, int32 h);
+	void FillAlpha(uint8 alpha, int32 sx, int32 sy, int32 w, int32 h) override;
 
 	// Fill the region doing alpha blending
-	virtual void FillBlended(uint32 rgba, int32 sx, int32 sy, int32 w, int32 h);
+	void FillBlended(uint32 rgba, int32 sx, int32 sy, int32 w, int32 h) override;
 
 	//
 	// The rule for painting methods:
@@ -80,34 +80,34 @@ public:
 
 	// Paint a Shape
 	// TODO: virtual void Paint(CachedShape* s, uint32 frame, int32 x, int32 y);
-	virtual void Paint(Shape *s, uint32 frame, int32 x, int32 y, bool untformed_pal = false);
+	void Paint(Shape *s, uint32 frame, int32 x, int32 y, bool untformed_pal = false) override;
 
 	// Paint an Shape without clipping
 	// TODO: virtual void PaintNoClip(CachedShape*s, uint32 frame, int32 x, int32 y);
-	virtual void PaintNoClip(Shape *s, uint32 frame, int32 x, int32 y, bool untformed_pal = false);
+	void PaintNoClip(Shape *s, uint32 frame, int32 x, int32 y, bool untformed_pal = false) override;
 
 	// Paint a Translucent Shape.
 	// TODO: virtual void PaintTranslucent(CachedShape* s, uint32 frame, int32 x, int32 y);
-	virtual void PaintTranslucent(Shape *s, uint32 frame, int32 x, int32 y, bool untformed_pal = false);
+	void PaintTranslucent(Shape *s, uint32 frame, int32 x, int32 y, bool untformed_pal = false) override;
 
 	// Paint a Mirrored Shape
 	// TODO: virtual void PaintMirrored(CachedShape* s, uint32 frame, int32 x, int32 y, bool trans = false);
-	virtual void PaintMirrored(Shape *s, uint32 frame, int32 x, int32 y, bool trans = false, bool untformed_pal = false);
+	void PaintMirrored(Shape *s, uint32 frame, int32 x, int32 y, bool trans = false, bool untformed_pal = false) override;
 
 	// Paint a Invisible Shape
 	// TODO: virtual void PaintInvisible(CachedShape* s, uint32 frame, int32 x, int32 y, bool trans, bool mirrored);
-	virtual void PaintInvisible(Shape *s, uint32 frame, int32 x, int32 y, bool trans, bool mirrored, bool untformed_pal = false);
+	void PaintInvisible(Shape *s, uint32 frame, int32 x, int32 y, bool trans, bool mirrored, bool untformed_pal = false) override;
 
 	// Paint a Highlighted Shape of using the 32 Bit Colour col32 (0xAARRGGBB Alpha is blend level)
 	// TODO: virtual void PaintHighlight(CachedShape* s, uint32 frame, int32 x, int32 y, bool trans, bool mirrored, uint32 col32);
-	virtual void PaintHighlight(Shape *s, uint32 frame, int32 x, int32 y, bool trans, bool mirrored, uint32 col32, bool untformed_pal = false);
+	void PaintHighlight(Shape *s, uint32 frame, int32 x, int32 y, bool trans, bool mirrored, uint32 col32, bool untformed_pal = false) override;
 
 	// Paint a Invisible Highlighted Shape of using the 32 Bit Colour col32 (0xAARRGGBB Alpha is blend level)
 	// TODO: virtual void PaintHighlightInvis(CachedShape* s, uint32 frame, int32 x, int32 y, bool trans, bool mirrored, uint32 col32);
-	virtual void PaintHighlightInvis(Shape *s, uint32 frame, int32 x, int32 y, bool trans, bool mirrored, uint32 col32, bool untformed_pal = false);
+	void PaintHighlightInvis(Shape *s, uint32 frame, int32 x, int32 y, bool trans, bool mirrored, uint32 col32, bool untformed_pal = false) override;
 
 	// Paint a shape masked against destination alpha
-	virtual void PaintMasked(Shape *s, uint32 framenum, int32 x, int32 y, bool trans, bool mirrored, uint32 col32 = 0, bool untformed_pal = false);
+	void PaintMasked(Shape *s, uint32 framenum, int32 x, int32 y, bool trans, bool mirrored, uint32 col32 = 0, bool untformed_pal = false) override;
 
 
 	//
@@ -118,17 +118,17 @@ public:
 	// TODO: virtual void DrawLine8(uint8 index, int32 sx, int32 sy, int32 ex, int32 ey);
 
 	// Draw a RGB Line
-	virtual void DrawLine32(uint32 rgb, int32 sx, int32 sy, int32 ex, int32 ey);
+	void DrawLine32(uint32 rgb, int32 sx, int32 sy, int32 ex, int32 ey) override;
 
 
 	//
 	// Basic Font Drawing
 	//
 	// Draw FixedWidthFont
-	virtual void PrintTextFixed(FixedWidthFont *, const char *text, int x, int y);
+	void PrintTextFixed(FixedWidthFont *, const char *text, int x, int y) override;
 
 	// Draw a fixed width character from a FixedWidthFont
-	virtual void PrintCharFixed(FixedWidthFont *, int character, int x, int y);
+	void PrintCharFixed(FixedWidthFont *, int character, int x, int y) override;
 
 
 	//
@@ -136,19 +136,19 @@ public:
 	//
 
 	// Blit a region from a Texture (Alpha == 0 -> skipped)
-	virtual void Blit(Texture *, int32 sx, int32 sy, int32 w, int32 h, int32 dx, int32 dy, bool alpha_blend = false);
+	void Blit(Texture *, int32 sx, int32 sy, int32 w, int32 h, int32 dx, int32 dy, bool alpha_blend = false) override;
 
 	// Blit a region from a Texture with a Colour blend (AlphaTex == 0 -> skipped. AlphaCol32 -> Blend Factors)
-	virtual void FadedBlit(Texture *, int32 sx, int32 sy, int32 w, int32 h, int32 dx, int32 dy, uint32 col32, bool alpha_blend = false);
+	void FadedBlit(Texture *, int32 sx, int32 sy, int32 w, int32 h, int32 dx, int32 dy, uint32 col32, bool alpha_blend = false) override;
 
 	// Blit a region from a Texture with a Colour blend masked based on DestAlpha (AlphaTex == 0 || AlphaDest == 0 -> skipped. AlphaCol32 -> Blend Factors)
-	virtual void MaskedBlit(Texture *, int32 sx, int32 sy, int32 w, int32 h, int32 dx, int32 dy, uint32 col32, bool alpha_blend = false);
+	void MaskedBlit(Texture *, int32 sx, int32 sy, int32 w, int32 h, int32 dx, int32 dy, uint32 col32, bool alpha_blend = false) override;
 
 	// Blit a stretched region from a Texture (Alpha == 0 -> skipped)
-	virtual void StretchBlit(Texture *, int32 sx, int32 sy, int32 sw, int32 sh, int32 dx, int32 dy, int32 dw, int32 dh, bool clampedges = false);
+	void StretchBlit(Texture *, int32 sx, int32 sy, int32 sw, int32 sh, int32 dx, int32 dy, int32 dw, int32 dh, bool clampedges = false) override;
 
 	// Blit a region from a Texture using a scaler
-	virtual bool ScalerBlit(Texture *, int32 sx, int32 sy, int32 sw, int32 sh, int32 dx, int32 dy, int32 dw, int32 dh, const Scaler *, bool clampedges = false);
+	bool ScalerBlit(Texture *, int32 sx, int32 sy, int32 sw, int32 sh, int32 dx, int32 dy, int32 dw, int32 dh, const Scaler *, bool clampedges = false) override;
 
 	////////////////////////////////////////
 	// TODO: Add in Abstract 3d code Here //
diff --git a/engines/ultima/ultima8/graphics/texture_bitmap.h b/engines/ultima/ultima8/graphics/texture_bitmap.h
index 1665d56..522b147 100644
--- a/engines/ultima/ultima8/graphics/texture_bitmap.h
+++ b/engines/ultima/ultima8/graphics/texture_bitmap.h
@@ -33,7 +33,7 @@ struct TextureBitmap : public Texture {
 	TextureBitmap() : Texture() {}
 
 	// False on Error
-	virtual bool Read(IDataSource *ds);
+	bool Read(IDataSource *ds) override;
 };
 
 } // End of namespace Ultima8
diff --git a/engines/ultima/ultima8/graphics/texture_png.h b/engines/ultima/ultima8/graphics/texture_png.h
index 327e62b..354abbb 100644
--- a/engines/ultima/ultima8/graphics/texture_png.h
+++ b/engines/ultima/ultima8/graphics/texture_png.h
@@ -32,7 +32,7 @@ struct TexturePNG : public Texture {
 	TexturePNG() : Texture() {}
 
 	// False on Error
-	virtual bool Read(IDataSource *ds);
+	bool Read(IDataSource *ds) override;
 };
 
 } // End of namespace Ultima8
diff --git a/engines/ultima/ultima8/graphics/texture_targa.h b/engines/ultima/ultima8/graphics/texture_targa.h
index 0e06605..79f5d16 100644
--- a/engines/ultima/ultima8/graphics/texture_targa.h
+++ b/engines/ultima/ultima8/graphics/texture_targa.h
@@ -35,7 +35,7 @@ struct TextureTarga : public Texture {
 	TextureTarga() : Texture() {}
 
 	// False on Error
-	virtual bool Read(IDataSource *ds);
+	bool Read(IDataSource *ds) override;
 };
 
 } // End of namespace Ultima8
diff --git a/engines/ultima/ultima8/gumps/ask_gump.h b/engines/ultima/ultima8/gumps/ask_gump.h
index 753c543..d1f95b0 100644
--- a/engines/ultima/ultima8/gumps/ask_gump.h
+++ b/engines/ultima/ultima8/gumps/ask_gump.h
@@ -39,16 +39,16 @@ public:
 
 	AskGump();
 	AskGump(uint16 owner_, UCList *answers_);
-	virtual ~AskGump();
+	~AskGump() override;
 
 	// Init the gump, call after construction
-	virtual void        InitGump(Gump *newparent, bool take_focus = true) override;
+	void        InitGump(Gump *newparent, bool take_focus = true) override;
 
-	virtual void        ChildNotify(Gump *child, uint32 message) override;
+	void        ChildNotify(Gump *child, uint32 message) override;
 
 	bool loadData(IDataSource *ids, uint32 version);
 protected:
-	virtual void saveData(ODataSource *ods) override;
+	void saveData(ODataSource *ods) override;
 };
 
 } // End of namespace Ultima8
diff --git a/engines/ultima/ultima8/gumps/bark_gump.h b/engines/ultima/ultima8/gumps/bark_gump.h
index bce2602..57cb81b 100644
--- a/engines/ultima/ultima8/gumps/bark_gump.h
+++ b/engines/ultima/ultima8/gumps/bark_gump.h
@@ -43,16 +43,16 @@ public:
 
 	BarkGump();
 	BarkGump(uint16 owner_, Std::string msg, uint32 speechshapenum = 0);
-	virtual ~BarkGump(void);
+	~BarkGump(void) override;
 
 	// Run the gump (decrement the counter)
-	virtual void        run() override;
+	void        run() override;
 
 	// Got to the next page on mouse click
-	virtual Gump       *OnMouseDown(int button, int32 mx, int32 my) override;
+	Gump       *OnMouseDown(int button, int32 mx, int32 my) override;
 
 	// Init the gump, call after construction
-	virtual void        InitGump(Gump *newparent, bool take_focus = true) override;
+	void        InitGump(Gump *newparent, bool take_focus = true) override;
 
 protected:
 	//! show next text.
@@ -64,7 +64,7 @@ protected:
 public:
 	bool loadData(IDataSource *ids, uint32 version);
 protected:
-	virtual void saveData(ODataSource *ods) override;
+	void saveData(ODataSource *ods) override;
 };
 
 } // End of namespace Ultima8
diff --git a/engines/ultima/ultima8/gumps/bind_gump.h b/engines/ultima/ultima8/gumps/bind_gump.h
index 32ba568..cd51504 100644
--- a/engines/ultima/ultima8/gumps/bind_gump.h
+++ b/engines/ultima/ultima8/gumps/bind_gump.h
@@ -36,16 +36,16 @@ public:
 	ENABLE_RUNTIME_CLASSTYPE()
 
 	BindGump(istring *b, Gump *g);
-	virtual ~BindGump(void);
+	~BindGump(void) override;
 
 	// Init the gump, call after construction
-	virtual void InitGump(Gump *newparent, bool take_focus = true) override;
+	void InitGump(Gump *newparent, bool take_focus = true) override;
 
 	// Paint the Gump
-	virtual void PaintThis(RenderSurface *, int32 lerp_factor, bool scaled) override;
+	void PaintThis(RenderSurface *, int32 lerp_factor, bool scaled) override;
 
-	virtual bool OnKeyDown(int key, int mod) override;
-	virtual Gump   *OnMouseDown(int button, int32 mx, int32 my) override;
+	bool OnKeyDown(int key, int mod) override;
+	Gump   *OnMouseDown(int button, int32 mx, int32 my) override;
 
 	bool loadData(IDataSource *ids);
 
@@ -54,7 +54,7 @@ public:
 		UPDATE = 10
 	};
 protected:
-	virtual void saveData(ODataSource *ods) override;
+	void saveData(ODataSource *ods) override;
 	istring *binding;
 	Gump *invoker;
 };
diff --git a/engines/ultima/ultima8/gumps/book_gump.h b/engines/ultima/ultima8/gumps/book_gump.h
index dc8975d..35cc384 100644
--- a/engines/ultima/ultima8/gumps/book_gump.h
+++ b/engines/ultima/ultima8/gumps/book_gump.h
@@ -39,16 +39,16 @@ public:
 
 	BookGump();
 	BookGump(ObjId owner_, Std::string msg);
-	virtual ~BookGump();
+	~BookGump() override;
 
 	// Go to the next page on mouse click
-	virtual void OnMouseClick(int button, int32 mx, int32 my) override;
+	void OnMouseClick(int button, int32 mx, int32 my) override;
 
 	// Close on double click
-	virtual void OnMouseDouble(int button, int32 mx, int32 my) override;
+	void OnMouseDouble(int button, int32 mx, int32 my) override;
 
 	// Init the gump, call after construction
-	virtual void InitGump(Gump *newparent, bool take_focus = true) override;
+	void InitGump(Gump *newparent, bool take_focus = true) override;
 
 	INTRINSIC(I_readBook);
 
@@ -58,7 +58,7 @@ protected:
 public:
 	bool loadData(IDataSource *ids, uint32 version);
 protected:
-	virtual void saveData(ODataSource *ods) override;
+	void saveData(ODataSource *ods) override;
 };
 
 } // End of namespace Ultima8
diff --git a/engines/ultima/ultima8/gumps/console_gump.h b/engines/ultima/ultima8/gumps/console_gump.h
index df4c497..d994b4e 100644
--- a/engines/ultima/ultima8/gumps/console_gump.h
+++ b/engines/ultima/ultima8/gumps/console_gump.h
@@ -47,7 +47,7 @@ public:
 
 	ConsoleGump();
 	ConsoleGump(int x, int y, int w, int h);
-	virtual ~ConsoleGump();
+	~ConsoleGump() override;
 
 	void ToggleConsole();
 	void ShowConsole();
@@ -55,26 +55,26 @@ public:
 	bool ConsoleIsVisible();
 
 	// ConsoleGump doesn't have any 'effective' area
-	virtual bool PointOnGump(int mx, int my) override {
+	bool PointOnGump(int mx, int my) override {
 		return false;
 	}
 
-	virtual void run() override;
+	void run() override;
 
-	virtual void PaintThis(RenderSurface *surf, int32 lerp_factor, bool scaled) override;
+	void PaintThis(RenderSurface *surf, int32 lerp_factor, bool scaled) override;
 
-	virtual void RenderSurfaceChanged() override;
+	void RenderSurfaceChanged() override;
 
-	virtual bool        OnTextInput(int unicode) override;
-	virtual void        OnFocus(bool /*gain*/) override;
-	virtual bool        OnKeyDown(int key, int mod) override;
+	bool        OnTextInput(int unicode) override;
+	void        OnFocus(bool /*gain*/) override;
+	bool        OnKeyDown(int key, int mod) override;
 
 	static void         ConCmd_toggle(const Console::ArgvType &argv);   //!< "ConsoleGump::toggle" console command
 
 	bool    loadData(IDataSource *ids, uint32 version);
 
 protected:
-	virtual void saveData(ODataSource *ods) override;
+	void saveData(ODataSource *ods) override;
 
 private:
 };
diff --git a/engines/ultima/ultima8/gumps/container_gump.h b/engines/ultima/ultima8/gumps/container_gump.h
index f1c755a..34c1548 100644
--- a/engines/ultima/ultima8/gumps/container_gump.h
+++ b/engines/ultima/ultima8/gumps/container_gump.h
@@ -39,45 +39,45 @@ public:
 	ContainerGump();
 	ContainerGump(Shape *shape, uint32 framenum, uint16 owner,
 	              uint32 _Flags = FLAG_DRAGGABLE, int32 layer = LAYER_NORMAL);
-	virtual ~ContainerGump(void);
+	~ContainerGump(void) override;
 
 	void setItemArea(Rect *itemarea_) {
 		itemarea = *itemarea_;
 	}
 
 	// Close the gump
-	virtual void Close(bool no_del = false) override;
+	void Close(bool no_del = false) override;
 
 	// Init the gump, call after construction
-	virtual void InitGump(Gump *newparent, bool take_focus = true) override;
+	void InitGump(Gump *newparent, bool take_focus = true) override;
 
 	// Paint the Gump
-	virtual void PaintThis(RenderSurface *, int32 lerp_factor, bool scaled) override;
+	void PaintThis(RenderSurface *, int32 lerp_factor, bool scaled) override;
 
 	// Trace a click, and return ObjId
-	virtual uint16 TraceObjId(int32 mx, int32 my) override;
+	uint16 TraceObjId(int32 mx, int32 my) override;
 
 	// Get the location of an item in the gump (coords relative to this).
 	// Returns false on failure.
-	virtual bool GetLocationOfItem(uint16 itemid, int32 &gx, int32 &gy,
+	bool GetLocationOfItem(uint16 itemid, int32 &gx, int32 &gy,
 	                               int32 lerp_factor = 256) override;
 
 
-	virtual bool StartDraggingItem(Item *item, int mx, int my) override;
-	virtual bool DraggingItem(Item *item, int mx, int my) override;
-	virtual void DraggingItemLeftGump(Item *item) override;
-	virtual void StopDraggingItem(Item *item, bool moved) override;
-	virtual void DropItem(Item *item, int mx, int my) override;
+	bool StartDraggingItem(Item *item, int mx, int my) override;
+	bool DraggingItem(Item *item, int mx, int my) override;
+	void DraggingItemLeftGump(Item *item) override;
+	void StopDraggingItem(Item *item, bool moved) override;
+	void DropItem(Item *item, int mx, int my) override;
 
-	virtual Gump *OnMouseDown(int button, int32 mx, int32 my) override;
-	virtual void OnMouseClick(int button, int32 mx, int32 my) override;
-	virtual void OnMouseDouble(int button, int32 mx, int32 my) override;
+	Gump *OnMouseDown(int button, int32 mx, int32 my) override;
+	void OnMouseClick(int button, int32 mx, int32 my) override;
+	void OnMouseDouble(int button, int32 mx, int32 my) override;
 
 	bool loadData(IDataSource *ids, uint32 version);
 protected:
-	virtual void saveData(ODataSource *ods) override;
+	void saveData(ODataSource *ods) override;
 
-	virtual void GetItemLocation(int32 lerp_factor) override;
+	void GetItemLocation(int32 lerp_factor) override;
 
 	virtual Container *getTargetContainer(Item *item, int mx, int my);
 
diff --git a/engines/ultima/ultima8/gumps/controls_gump.cpp b/engines/ultima/ultima8/gumps/controls_gump.cpp
index 45fca30..0aab537 100644
--- a/engines/ultima/ultima8/gumps/controls_gump.cpp
+++ b/engines/ultima/ultima8/gumps/controls_gump.cpp
@@ -44,9 +44,9 @@ class ControlEntryGump : public Gump {
 public:
 	ENABLE_RUNTIME_CLASSTYPE()
 	ControlEntryGump(int x_, int y_, int width, const char *binding, const char *name);
-	virtual ~ControlEntryGump(void);
-	virtual void InitGump(Gump *newparent, bool take_focus = true) override;
-	virtual void ChildNotify(Gump *child, uint32 message) override;
+	~ControlEntryGump(void) override;
+	void InitGump(Gump *newparent, bool take_focus = true) override;
+	void ChildNotify(Gump *child, uint32 message) override;
 	void init();
 protected:
 	istring bindingName;
diff --git a/engines/ultima/ultima8/gumps/controls_gump.h b/engines/ultima/ultima8/gumps/controls_gump.h
index 3862ef8..78a1940 100644
--- a/engines/ultima/ultima8/gumps/controls_gump.h
+++ b/engines/ultima/ultima8/gumps/controls_gump.h
@@ -36,16 +36,16 @@ public:
 	ENABLE_RUNTIME_CLASSTYPE()
 
 	ControlsGump();
-	virtual ~ControlsGump(void);
+	~ControlsGump(void) override;
 
 	// Init the gump, call after construction
-	virtual void InitGump(Gump *newparent, bool take_focus = true) override;
+	void InitGump(Gump *newparent, bool take_focus = true) override;
 
 	// Paint the Gump
-	virtual void PaintThis(RenderSurface *, int32 lerp_factor, bool scaled) override;
+	void PaintThis(RenderSurface *, int32 lerp_factor, bool scaled) override;
 
-	virtual bool OnKeyDown(int key, int mod) override;
-	virtual void ChildNotify(Gump *child, uint32 message) override;
+	bool OnKeyDown(int key, int mod) override;
+	void ChildNotify(Gump *child, uint32 message) override;
 
 	static void showEngineMenu(PagedGump *pagedgump);
 	static void showU8Menu(PagedGump *pagedgump);
@@ -53,7 +53,7 @@ public:
 
 	bool loadData(IDataSource *ids);
 protected:
-	virtual void saveData(ODataSource *ods) override;
+	void saveData(ODataSource *ods) override;
 };
 
 } // End of namespace Ultima8
diff --git a/engines/ultima/ultima8/gumps/credits_gump.h b/engines/ultima/ultima8/gumps/credits_gump.h
index ac894ca..b702836 100644
--- a/engines/ultima/ultima8/gumps/credits_gump.h
+++ b/engines/ultima/ultima8/gumps/credits_gump.h
@@ -38,24 +38,24 @@ public:
 	CreditsGump();
 	CreditsGump(const Std::string &text, int parskip = 24,
 	            uint32 _Flags = 0, int32 layer_ = LAYER_MODAL);
-	virtual ~CreditsGump(void);
+	~CreditsGump(void) override;
 
 	// Init the gump, call after construction
-	virtual void InitGump(Gump *newparent, bool take_focus = true) override;
+	void InitGump(Gump *newparent, bool take_focus = true) override;
 
 	// Set a configuration option to true when user watches entire sequence
 	void SetFlagWhenFinished(Std::string configkey_) {
 		configkey = configkey_;
 	}
 
-	virtual void Close(bool no_del = false) override;
+	void Close(bool no_del = false) override;
 
-	virtual void run() override;
+	void run() override;
 
 	// Paint the Gump
-	virtual void PaintThis(RenderSurface *, int32 lerp_factor, bool scaled) override;
+	void PaintThis(RenderSurface *, int32 lerp_factor, bool scaled) override;
 
-	virtual bool OnKeyDown(int key, int mod) override;
+	bool OnKeyDown(int key, int mod) override;
 
 protected:
 
diff --git a/engines/ultima/ultima8/gumps/desktop_gump.h b/engines/ultima/ultima8/gumps/desktop_gump.h
index dbf805e..e20bcc1 100644
--- a/engines/ultima/ultima8/gumps/desktop_gump.h
+++ b/engines/ultima/ultima8/gumps/desktop_gump.h
@@ -36,14 +36,14 @@ public:
 
 	DesktopGump();
 	DesktopGump(int32 x, int32 y, int32 width, int32 height);
-	virtual ~DesktopGump(void);
+	~DesktopGump(void) override;
 
-	virtual void PaintThis(RenderSurface *surf, int32 lerp_factor, bool scaled) override;
-	virtual void PaintChildren(RenderSurface *surf, int32 lerp_factor, bool scaled) override;
+	void PaintThis(RenderSurface *surf, int32 lerp_factor, bool scaled) override;
+	void PaintChildren(RenderSurface *surf, int32 lerp_factor, bool scaled) override;
 
-	virtual bool StartDraggingChild(Gump *gump, int32 mx, int32 my) override;
-	virtual void DraggingChild(Gump *gump, int mx, int my) override;
-	virtual void StopDraggingChild(Gump *gump) override;
+	bool StartDraggingChild(Gump *gump, int32 mx, int32 my) override;
+	void DraggingChild(Gump *gump, int mx, int my) override;
+	void StopDraggingChild(Gump *gump) override;
 
 	bool loadData(IDataSource *ids, uint32 version);
 
@@ -54,8 +54,8 @@ public:
 	}
 
 protected:
-	virtual void saveData(ODataSource *ods) override;
-	virtual void RenderSurfaceChanged() override;
+	void saveData(ODataSource *ods) override;
+	void RenderSurfaceChanged() override;
 };
 
 } // End of namespace Ultima8
diff --git a/engines/ultima/ultima8/gumps/fast_area_vis_gump.h b/engines/ultima/ultima8/gumps/fast_area_vis_gump.h
index e7e4eb5..73bcbb9 100644
--- a/engines/ultima/ultima8/gumps/fast_area_vis_gump.h
+++ b/engines/ultima/ultima8/gumps/fast_area_vis_gump.h
@@ -34,10 +34,10 @@ public:
 	ENABLE_RUNTIME_CLASSTYPE()
 
 	FastAreaVisGump(void);
-	virtual ~FastAreaVisGump(void);
+	~FastAreaVisGump(void) override;
 
-	virtual void        PaintThis(RenderSurface *surf, int32 lerp_factor, bool scaled) override;
-	virtual uint16      TraceObjId(int32 mx, int32 my) override;
+	void        PaintThis(RenderSurface *surf, int32 lerp_factor, bool scaled) override;
+	uint16      TraceObjId(int32 mx, int32 my) override;
 
 	static void         ConCmd_toggle(const Console::ArgvType &argv);   //!< "FastAreaVisGump::toggle" console command
 
diff --git a/engines/ultima/ultima8/gumps/game_map_gump.h b/engines/ultima/ultima8/gumps/game_map_gump.h
index 27f22de..11f05f3 100644
--- a/engines/ultima/ultima8/gumps/game_map_gump.h
+++ b/engines/ultima/ultima8/gumps/game_map_gump.h
@@ -42,15 +42,15 @@ public:
 
 	GameMapGump();
 	GameMapGump(int x, int y, int w, int h);
-	virtual ~GameMapGump();
+	~GameMapGump() override;
 
-	virtual void        PaintThis(RenderSurface *surf, int32 lerp_factor, bool scaled) override;
+	void        PaintThis(RenderSurface *surf, int32 lerp_factor, bool scaled) override;
 
 	void                GetCameraLocation(int32 &x, int32 &y, int32 &z,
 	                                      int lerp_factor = 256);
 
 	// Trace a click, and return ObjId (parent coord space)
-	virtual uint16      TraceObjId(int32 mx, int32 my) override;
+	uint16      TraceObjId(int32 mx, int32 my) override;
 
 	// Trace a click, return ObjId, and the coordinates of the mouse click (gump coord space)
 	virtual uint16      TraceCoordinates(int mx, int my, int32 coords[3],
@@ -59,19 +59,19 @@ public:
 
 	// Get the location of an item in the gump (coords relative to this).
 	// Returns false on failure
-	virtual bool        GetLocationOfItem(uint16 itemid, int32 &gx, int32 &gy,
+	bool        GetLocationOfItem(uint16 itemid, int32 &gx, int32 &gy,
 	                                      int32 lerp_factor = 256) override;
 
-	virtual bool        StartDraggingItem(Item *item, int mx, int my) override;
-	virtual bool        DraggingItem(Item *item, int mx, int my) override;
-	virtual void        DraggingItemLeftGump(Item *item) override;
-	virtual void        StopDraggingItem(Item *item, bool moved) override;
-	virtual void        DropItem(Item *item, int mx, int my) override;
+	bool        StartDraggingItem(Item *item, int mx, int my) override;
+	bool        DraggingItem(Item *item, int mx, int my) override;
+	void        DraggingItemLeftGump(Item *item) override;
+	void        StopDraggingItem(Item *item, bool moved) override;
+	void        DropItem(Item *item, int mx, int my) override;
 
-	virtual Gump       *OnMouseDown(int button, int32 mx, int32 my) override;
-	virtual void        OnMouseUp(int button, int32 mx, int32 my) override;
-	virtual void        OnMouseClick(int button, int32 mx, int32 my) override;
-	virtual void        OnMouseDouble(int button, int32 mx, int32 my) override;
+	Gump       *OnMouseDown(int button, int32 mx, int32 my) override;
+	void        OnMouseUp(int button, int32 mx, int32 my) override;
+	void        OnMouseClick(int button, int32 mx, int32 my) override;
+	void        OnMouseDouble(int button, int32 mx, int32 my) override;
 
 	void IncSortOrder(int count);
 
@@ -90,10 +90,10 @@ public:
 	static void ConCmd_incrementSortOrder(const Console::ArgvType &argv);
 	static void ConCmd_decrementSortOrder(const Console::ArgvType &argv);
 
-	virtual void        RenderSurfaceChanged() override;
+	void        RenderSurfaceChanged() override;
 
 protected:
-	virtual void saveData(ODataSource *ods) override;
+	void saveData(ODataSource *ods) override;
 
 	bool display_dragging;
 	uint32 dragging_shape;
diff --git a/engines/ultima/ultima8/gumps/gump.h b/engines/ultima/ultima8/gumps/gump.h
index 12fcdfb..bd7888f 100644
--- a/engines/ultima/ultima8/gumps/gump.h
+++ b/engines/ultima/ultima8/gumps/gump.h
@@ -75,7 +75,7 @@ public:
 	Gump();
 	Gump(int x, int y, int width, int height, uint16 owner = 0,
 	     uint32 _Flags = 0, int32 layer = LAYER_NORMAL);
-	virtual ~Gump();
+	~Gump() override;
 
 public:
 
@@ -462,7 +462,7 @@ public:
 
 	bool loadData(IDataSource *ids, uint32 version);
 protected:
-	virtual void saveData(ODataSource *ods) override;
+	void saveData(ODataSource *ods) override;
 };
 
 } // End of namespace Ultima8
diff --git a/engines/ultima/ultima8/gumps/gump_notify_process.h b/engines/ultima/ultima8/gumps/gump_notify_process.h
index ddd0119..533f81e 100644
--- a/engines/ultima/ultima8/gumps/gump_notify_process.h
+++ b/engines/ultima/ultima8/gumps/gump_notify_process.h
@@ -39,7 +39,7 @@ public:
 
 	GumpNotifyProcess();
 	GumpNotifyProcess(uint16 it);
-	virtual ~GumpNotifyProcess(void);
+	~GumpNotifyProcess(void) override;
 
 	void setGump(Gump *g);
 	uint16 getGump() const {
@@ -48,15 +48,15 @@ public:
 
 	virtual void notifyClosing(int res);
 
-	virtual void terminate() override;
+	void terminate() override;
 
-	virtual void run() override;
+	void run() override;
 
-	virtual void dumpInfo() override;
+	void dumpInfo() override;
 
 	bool loadData(IDataSource *ids, uint32 version);
 protected:
-	virtual void saveData(ODataSource *ods) override;
+	void saveData(ODataSource *ods) override;
 };
 
 } // End of namespace Ultima8
diff --git a/engines/ultima/ultima8/gumps/inverter_gump.h b/engines/ultima/ultima8/gumps/inverter_gump.h
index 8ee8c33..67f47af 100644
--- a/engines/ultima/ultima8/gumps/inverter_gump.h
+++ b/engines/ultima/ultima8/gumps/inverter_gump.h
@@ -37,17 +37,17 @@ public:
 	ENABLE_RUNTIME_CLASSTYPE()
 
 	InverterGump(int32 x, int32 y, int32 width, int32 height);
-	virtual ~InverterGump(void);
+	~InverterGump(void) override;
 
-	virtual void Paint(RenderSurface *surf, int32 lerp_factor, bool scaled) override;
-	virtual void PaintChildren(RenderSurface *surf, int32 lerp_factor, bool scaled) override;
+	void Paint(RenderSurface *surf, int32 lerp_factor, bool scaled) override;
+	void PaintChildren(RenderSurface *surf, int32 lerp_factor, bool scaled) override;
 
-	virtual void ParentToGump(int32 &px, int32 &py,
+	void ParentToGump(int32 &px, int32 &py,
 	                          PointRoundDir r = ROUND_TOPLEFT) override;
-	virtual void GumpToParent(int32 &gx, int32 &gy,
+	void GumpToParent(int32 &gx, int32 &gy,
 	                          PointRoundDir r = ROUND_TOPLEFT) override;
 
-	virtual void RenderSurfaceChanged() override;
+	void RenderSurfaceChanged() override;
 
 protected:
 	RenderSurface *buffer;
diff --git a/engines/ultima/ultima8/gumps/item_relative_gump.h b/engines/ultima/ultima8/gumps/item_relative_gump.h
index 3d28ce9..cf4e677 100644
--- a/engines/ultima/ultima8/gumps/item_relative_gump.h
+++ b/engines/ultima/ultima8/gumps/item_relative_gump.h
@@ -38,24 +38,24 @@ public:
 
 	ItemRelativeGump();
 	ItemRelativeGump(int32 x, int32 y, int32 width, int32 height, uint16 owner, uint32 _Flags = 0, int32 layer = LAYER_NORMAL);
-	virtual ~ItemRelativeGump(void);
+	~ItemRelativeGump(void) override;
 
-	virtual void        InitGump(Gump *newparent, bool take_focus = true) override;
+	void        InitGump(Gump *newparent, bool take_focus = true) override;
 
 	// Paint the Gump (RenderSurface is relative to parent).
 	// Calls PaintThis and PaintChildren.
-	virtual void        Paint(RenderSurface *, int32 lerp_factor, bool scaled) override;
+	void        Paint(RenderSurface *, int32 lerp_factor, bool scaled) override;
 
-	virtual void        ParentToGump(int32 &px, int32 &py,
+	void        ParentToGump(int32 &px, int32 &py,
 	                                 PointRoundDir r = ROUND_TOPLEFT) override;
-	virtual void        GumpToParent(int32 &gx, int32 &gy,
+	void        GumpToParent(int32 &gx, int32 &gy,
 	                                 PointRoundDir r = ROUND_TOPLEFT) override;
 
-	virtual void        Move(int32 x, int32 y) override;
+	void        Move(int32 x, int32 y) override;
 
 	bool                loadData(IDataSource *ids, uint32 version);
 protected:
-	virtual void        saveData(ODataSource *ods) override;
+	void        saveData(ODataSource *ods) override;
 
 	virtual void        GetItemLocation(int32 lerp_factor);
 
diff --git a/engines/ultima/ultima8/gumps/main_menu_process.h b/engines/ultima/ultima8/gumps/main_menu_process.h
index 6441d69..d7e8957 100644
--- a/engines/ultima/ultima8/gumps/main_menu_process.h
+++ b/engines/ultima/ultima8/gumps/main_menu_process.h
@@ -38,11 +38,11 @@ public:
 	// p_dynamic_cast stuff
 	ENABLE_RUNTIME_CLASSTYPE()
 
-	virtual void run() override;
+	void run() override;
 
 	bool loadData(IDataSource *ids, uint32 version);
 protected:
-	virtual void saveData(ODataSource *ods) override;
+	void saveData(ODataSource *ods) override;
 
 	bool init;
 };
diff --git a/engines/ultima/ultima8/gumps/menu_gump.h b/engines/ultima/ultima8/gumps/menu_gump.h
index 42fee99..092d965 100644
--- a/engines/ultima/ultima8/gumps/menu_gump.h
+++ b/engines/ultima/ultima8/gumps/menu_gump.h
@@ -36,18 +36,18 @@ public:
 	ENABLE_RUNTIME_CLASSTYPE()
 
 	MenuGump(bool nameEntryMode = false);
-	virtual ~MenuGump(void);
+	~MenuGump(void) override;
 
 	// Init the gump, call after construction
-	virtual void InitGump(Gump *newparent, bool take_focus = true) override;
-	virtual void Close(bool no_del = false) override;
+	void InitGump(Gump *newparent, bool take_focus = true) override;
+	void Close(bool no_del = false) override;
 
 	// Paint the Gump
-	virtual void PaintThis(RenderSurface *, int32 lerp_factor, bool scaled) override;
+	void PaintThis(RenderSurface *, int32 lerp_factor, bool scaled) override;
 
-	virtual bool OnKeyDown(int key, int mod) override;
-	virtual bool OnTextInput(int unicode) override;
-	virtual void ChildNotify(Gump *child, uint32 message) override;
+	bool OnKeyDown(int key, int mod) override;
+	bool OnTextInput(int unicode) override;
+	void ChildNotify(Gump *child, uint32 message) override;
 
 	static void showMenu();
 	static void ConCmd_showMenu(const Console::ArgvType &argv);
diff --git a/engines/ultima/ultima8/gumps/message_box_gump.h b/engines/ultima/ultima8/gumps/message_box_gump.h
index 0264e03..017709a 100644
--- a/engines/ultima/ultima8/gumps/message_box_gump.h
+++ b/engines/ultima/ultima8/gumps/message_box_gump.h
@@ -42,15 +42,15 @@ public:
 
 	MessageBoxGump();
 	MessageBoxGump(const Std::string &title, const Std::string &message, uint32 title_colour, Std::vector<Std::string> *buttons);
-	virtual ~MessageBoxGump();
+	~MessageBoxGump() override;
 
 	// Init the gump, call after construction
-	virtual void InitGump(Gump *newparent, bool take_focus = true) override;
-	virtual void Close(bool no_del = false) override;
+	void InitGump(Gump *newparent, bool take_focus = true) override;
+	void Close(bool no_del = false) override;
 
 	bool loadData(IDataSource *ids, uint32 version);
 
-	virtual void PaintThis(RenderSurface *, int32 lerp_factor, bool scaled) override;
+	void PaintThis(RenderSurface *, int32 lerp_factor, bool scaled) override;
 
 	//! Create a Message Box
 	//! \param title Title of the message box
@@ -63,10 +63,10 @@ public:
 		return Show(title, message, 0xFF30308F, buttons);
 	}
 
-	virtual void ChildNotify(Gump *child, uint32 msg) override;
+	void ChildNotify(Gump *child, uint32 msg) override;
 
 protected:
-	virtual void saveData(ODataSource *ods) override;
+	void saveData(ODataSource *ods) override;
 };
 
 } // End of namespace Ultima8
diff --git a/engines/ultima/ultima8/gumps/mini_stats_gump.h b/engines/ultima/ultima8/gumps/mini_stats_gump.h
index f7b3400..53a3f87 100644
--- a/engines/ultima/ultima8/gumps/mini_stats_gump.h
+++ b/engines/ultima/ultima8/gumps/mini_stats_gump.h
@@ -36,23 +36,23 @@ public:
 	MiniStatsGump();
 	MiniStatsGump(int x, int y, uint32 _Flags = FLAG_DRAGGABLE,
 	              int32 layer = LAYER_NORMAL);
-	virtual ~MiniStatsGump(void);
+	~MiniStatsGump(void) override;
 
 	// Init the gump, call after construction
-	virtual void InitGump(Gump *newparent, bool take_focus = true) override;
+	void InitGump(Gump *newparent, bool take_focus = true) override;
 
 	// Paint this Gump
-	virtual void PaintThis(RenderSurface *, int32 lerp_factor, bool scaled) override;
+	void PaintThis(RenderSurface *, int32 lerp_factor, bool scaled) override;
 
 	// Trace a click, and return ObjId
-	virtual uint16 TraceObjId(int32 mx, int32 my) override;
+	uint16 TraceObjId(int32 mx, int32 my) override;
 
-	virtual Gump *OnMouseDown(int button, int32 mx, int32 my) override;
-	virtual void OnMouseDouble(int button, int32 mx, int32 my) override;
+	Gump *OnMouseDown(int button, int32 mx, int32 my) override;
+	void OnMouseDouble(int button, int32 mx, int32 my) override;
 
 	bool loadData(IDataSource *ids, uint32 version);
 protected:
-	virtual void saveData(ODataSource *ods) override;
+	void saveData(ODataSource *ods) override;
 };
 
 } // End of namespace Ultima8
diff --git a/engines/ultima/ultima8/gumps/minimap_gump.h b/engines/ultima/ultima8/gumps/minimap_gump.h
index 5edb32f..32611bc 100644
--- a/engines/ultima/ultima8/gumps/minimap_gump.h
+++ b/engines/ultima/ultima8/gumps/minimap_gump.h
@@ -45,17 +45,17 @@ public:
 
 	MiniMapGump(void);
 	MiniMapGump(int x, int y);
-	virtual ~MiniMapGump(void);
+	~MiniMapGump(void) override;
 
-	virtual void        PaintThis(RenderSurface *surf, int32 lerp_factor, bool scaled) override;
-	virtual uint16      TraceObjId(int32 mx, int32 my) override;
+	void        PaintThis(RenderSurface *surf, int32 lerp_factor, bool scaled) override;
+	uint16      TraceObjId(int32 mx, int32 my) override;
 
 	static void         ConCmd_toggle(const Console::ArgvType &argv);   //!< "MiniMapGump::toggle" console command
 	static void         ConCmd_generateWholeMap(const Console::ArgvType &argv); //!< "MiniMapGump::generateWholeMap" console command
 
 	bool loadData(IDataSource *ids, uint32 version);
 protected:
-	virtual void saveData(ODataSource *ods) override;
+	void saveData(ODataSource *ods) override;
 };
 
 } // End of namespace Ultima8
diff --git a/engines/ultima/ultima8/gumps/modal_gump.h b/engines/ultima/ultima8/gumps/modal_gump.h
index 1c5b998..e15dba6 100644
--- a/engines/ultima/ultima8/gumps/modal_gump.h
+++ b/engines/ultima/ultima8/gumps/modal_gump.h
@@ -37,21 +37,21 @@ public:
 	ModalGump(int x, int y, int width, int height, uint16 owner = 0,
 	          uint32 _Flags = 0, int32 layer = LAYER_MODAL);
 
-	~ModalGump();
+	~ModalGump() override;
 
-	virtual void InitGump(Gump *newparent, bool take_focus = true) override;
+	void InitGump(Gump *newparent, bool take_focus = true) override;
 
-	virtual void Close(bool no_del = false) override;
+	void Close(bool no_del = false) override;
 
-	virtual bool PointOnGump(int mx, int my) override;
-	virtual Gump *FindGump(int mx, int my) override;
-	virtual uint16 TraceObjId(int32 mx, int32 my) override;
+	bool PointOnGump(int mx, int my) override;
+	Gump *FindGump(int mx, int my) override;
+	uint16 TraceObjId(int32 mx, int32 my) override;
 
-	virtual Gump *OnMouseDown(int button, int32 mx, int32 my) override;
+	Gump *OnMouseDown(int button, int32 mx, int32 my) override;
 
 	bool loadData(IDataSource *ids, uint32 version);
 protected:
-	virtual void saveData(ODataSource *ods) override;
+	void saveData(ODataSource *ods) override;
 };
 
 } // End of namespace Ultima8
diff --git a/engines/ultima/ultima8/gumps/movie_gump.h b/engines/ultima/ultima8/gumps/movie_gump.h
index 6eca1b3..8c16135 100644
--- a/engines/ultima/ultima8/gumps/movie_gump.h
+++ b/engines/ultima/ultima8/gumps/movie_gump.h
@@ -39,18 +39,18 @@ public:
 	MovieGump();
 	MovieGump(int width, int height, RawArchive *skf, bool introMusicHack = false,
 	          uint32 _Flags = 0, int32 layer = LAYER_MODAL);
-	virtual ~MovieGump(void);
+	~MovieGump(void) override;
 
-	virtual void InitGump(Gump *newparent, bool take_focus = true) override;
+	void InitGump(Gump *newparent, bool take_focus = true) override;
 
-	virtual void Close(bool no_del = false) override;
+	void Close(bool no_del = false) override;
 
-	virtual void run() override;
+	void run() override;
 
 	// Paint the Gump
-	virtual void PaintThis(RenderSurface *, int32 lerp_factor, bool scaled) override;
+	void PaintThis(RenderSurface *, int32 lerp_factor, bool scaled) override;
 
-	virtual bool OnKeyDown(int key, int mod) override;
+	bool OnKeyDown(int key, int mod) override;
 
 	static ProcId U8MovieViewer(RawArchive *skf, bool introMusicHack = false);
 
@@ -59,7 +59,7 @@ public:
 
 	bool loadData(IDataSource *ids);
 protected:
-	virtual void saveData(ODataSource *ods) override;
+	void saveData(ODataSource *ods) override;
 
 	SKFPlayer *player;
 };
diff --git a/engines/ultima/ultima8/gumps/options_gump.h b/engines/ultima/ultima8/gumps/options_gump.h
index e20e0d4..87df34f 100644
--- a/engines/ultima/ultima8/gumps/options_gump.h
+++ b/engines/ultima/ultima8/gumps/options_gump.h
@@ -34,20 +34,20 @@ public:
 	ENABLE_RUNTIME_CLASSTYPE()
 
 	OptionsGump();
-	virtual ~OptionsGump(void);
+	~OptionsGump(void) override;
 
 	// Init the gump, call after construction
-	virtual void InitGump(Gump *newparent, bool take_focus = true) override;
+	void InitGump(Gump *newparent, bool take_focus = true) override;
 
 	// Paint the Gump
-	virtual void PaintThis(RenderSurface *, int32 lerp_factor, bool scaled) override;
+	void PaintThis(RenderSurface *, int32 lerp_factor, bool scaled) override;
 
-	virtual bool OnKeyDown(int key, int mod) override;
-	virtual void ChildNotify(Gump *child, uint32 message) override;
+	bool OnKeyDown(int key, int mod) override;
+	void ChildNotify(Gump *child, uint32 message) override;
 
 	bool loadData(IDataSource *ids);
 protected:
-	virtual void saveData(ODataSource *ods) override;
+	void saveData(ODataSource *ods) override;
 
 	virtual void selectEntry(int entry);
 };
diff --git a/engines/ultima/ultima8/gumps/paged_gump.h b/engines/ultima/ultima8/gumps/paged_gump.h
index d75318c..e82512a 100644
--- a/engines/ultima/ultima8/gumps/paged_gump.h
+++ b/engines/ultima/ultima8/gumps/paged_gump.h
@@ -34,17 +34,17 @@ public:
 	ENABLE_RUNTIME_CLASSTYPE()
 
 	PagedGump(int left, int right, int top, int shape);
-	virtual ~PagedGump(void);
+	~PagedGump(void) override;
 
 	// Init the gump, call after construction
-	virtual void InitGump(Gump *newparent, bool take_focus = true) override;
-	virtual void Close(bool no_del = false) override;
+	void InitGump(Gump *newparent, bool take_focus = true) override;
+	void Close(bool no_del = false) override;
 
 	// Paint the Gump
-	virtual void PaintThis(RenderSurface *, int32 lerp_factor, bool scaled) override;
+	void PaintThis(RenderSurface *, int32 lerp_factor, bool scaled) override;
 
-	virtual bool OnKeyDown(int key, int mod) override;
-	virtual void ChildNotify(Gump *child, uint32 message) override;
+	bool OnKeyDown(int key, int mod) override;
+	void ChildNotify(Gump *child, uint32 message) override;
 
 	//! add a page. Note: g already has to be a child gump.
 	void addPage(Gump *g);
@@ -55,7 +55,7 @@ public:
 
 	bool loadData(IDataSource *ids);
 protected:
-	virtual void saveData(ODataSource *ods) override;
+	void saveData(ODataSource *ods) override;
 	int leftOff, rightOff, topOff, gumpShape;
 	Std::vector<Gump *> gumps;
 	Gump *nextButton;
diff --git a/engines/ultima/ultima8/gumps/paperdoll_gump.h b/engines/ultima/ultima8/gumps/paperdoll_gump.h
index 468f81e..8ae7877 100644
--- a/engines/ultima/ultima8/gumps/paperdoll_gump.h
+++ b/engines/ultima/ultima8/gumps/paperdoll_gump.h
@@ -38,34 +38,34 @@ public:
 	PaperdollGump();
 	PaperdollGump(Shape *shape, uint32 framenum, uint16 owner,
 	              uint32 _Flags = FLAG_DRAGGABLE, int32 layer = LAYER_NORMAL);
-	virtual ~PaperdollGump(void);
+	~PaperdollGump(void) override;
 
 	// Init the gump, call after construction
-	virtual void InitGump(Gump *newparent, bool take_focus = true) override;
+	void InitGump(Gump *newparent, bool take_focus = true) override;
 
 	// Close the gump
-	virtual void Close(bool no_del = false) override;
+	void Close(bool no_del = false) override;
 
 	// Paint this Gump
-	virtual void PaintThis(RenderSurface *, int32 lerp_factor, bool scaled) override;
+	void PaintThis(RenderSurface *, int32 lerp_factor, bool scaled) override;
 
-	virtual void ChildNotify(Gump *child, uint32 message) override;
+	void ChildNotify(Gump *child, uint32 message) override;
 
 	// Trace a click, and return ObjId
-	virtual uint16 TraceObjId(int32 mx, int32 my) override;
+	uint16 TraceObjId(int32 mx, int32 my) override;
 
 	// Get the location of an item in the gump (coords relative to this).
 	// Returns false on failure.
-	virtual bool GetLocationOfItem(uint16 itemid, int32 &gx, int32 &gy,
+	bool GetLocationOfItem(uint16 itemid, int32 &gx, int32 &gy,
 	                               int32 lerp_factor = 256) override;
 
-	virtual bool StartDraggingItem(Item *item, int mx, int my) override;
-	virtual bool DraggingItem(Item *item, int mx, int my) override;
-	virtual void DropItem(Item *item, int mx, int my) override;
+	bool StartDraggingItem(Item *item, int mx, int my) override;
+	bool DraggingItem(Item *item, int mx, int my) override;
+	void DropItem(Item *item, int mx, int my) override;
 
 	bool loadData(IDataSource *ids, uint32 version);
 protected:
-	virtual void saveData(ODataSource *ods) override;
+	void saveData(ODataSource *ods) override;
 
 	//! Paint the stats
 	void PaintStats(RenderSurface *, int32 lerp_factor);
diff --git a/engines/ultima/ultima8/gumps/pentagram_menu_gump.h b/engines/ultima/ultima8/gumps/pentagram_menu_gump.h
index 97f4707..733205d 100644
--- a/engines/ultima/ultima8/gumps/pentagram_menu_gump.h
+++ b/engines/ultima/ultima8/gumps/pentagram_menu_gump.h
@@ -41,7 +41,7 @@ class PentagramMenuGump : public ModalGump {
 			flags |= PROC_RUNPAUSED;
 		}
 
-		virtual void run() {
+		void run() override {
 			pout << "Gump returned: " << result << Std::endl;
 			PentagramMenuGump *menu = p_dynamic_cast<PentagramMenuGump *>(ObjectManager::get_instance()->getObject(getItemNum()));
 			if (menu) menu->ProcessCallback(game, result);
@@ -53,18 +53,18 @@ public:
 	ENABLE_RUNTIME_CLASSTYPE()
 
 	PentagramMenuGump(int x, int y, int w, int h);
-	virtual ~PentagramMenuGump();
+	~PentagramMenuGump() override;
 
-	virtual void InitGump(Gump *newparent, bool take_focus = true) override;
+	void InitGump(Gump *newparent, bool take_focus = true) override;
 
-	virtual void PaintThis(RenderSurface *surf, int32 lerp_factor, bool scaled) override;
-	virtual void PaintChildren(RenderSurface *surf, int32 lerp_factor, bool scaled) override;
+	void PaintThis(RenderSurface *surf, int32 lerp_factor, bool scaled) override;
+	void PaintChildren(RenderSurface *surf, int32 lerp_factor, bool scaled) override;
 
-	virtual void ChildNotify(Gump *child, uint32 message) override;
+	void ChildNotify(Gump *child, uint32 message) override;
 
-	virtual bool OnKeyDown(int key, int mod) override;
+	bool OnKeyDown(int key, int mod) override;
 
-	virtual void run() override;
+	void run() override;
 
 #if 0
 	virtual uint16 TraceObjId(int32 mx, int32 my);
diff --git a/engines/ultima/ultima8/gumps/quit_gump.h b/engines/ultima/ultima8/gumps/quit_gump.h
index 32e976d..850be4b 100644
--- a/engines/ultima/ultima8/gumps/quit_gump.h
+++ b/engines/ultima/ultima8/gumps/quit_gump.h
@@ -34,15 +34,15 @@ public:
 	ENABLE_RUNTIME_CLASSTYPE()
 
 	QuitGump();
-	virtual ~QuitGump(void);
+	~QuitGump(void) override;
 
-	virtual void InitGump(Gump *newparent, bool take_focus = true) override;
+	void InitGump(Gump *newparent, bool take_focus = true) override;
 
-	virtual void PaintThis(RenderSurface *, int32 lerp_factor, bool scaled) override;
+	void PaintThis(RenderSurface *, int32 lerp_factor, bool scaled) override;
 
-	virtual bool OnKeyDown(int key, int mod) override;
-	virtual bool OnTextInput(int unicode) override;
-	virtual void ChildNotify(Gump *child, uint32 message) override;
+	bool OnKeyDown(int key, int mod) override;
+	bool OnTextInput(int unicode) override;
+	void ChildNotify(Gump *child, uint32 message) override;
 
 	static void verifyQuit();
 	//! "QuitGump::verifyQuit" console command
@@ -50,7 +50,7 @@ public:
 
 	bool loadData(IDataSource *ids);
 protected:
-	virtual void saveData(ODataSource *ods) override;
+	void saveData(ODataSource *ods) override;
 	ObjId yesWidget, noWidget;
 };
 
diff --git a/engines/ultima/ultima8/gumps/readable_gump.h b/engines/ultima/ultima8/gumps/readable_gump.h
index fde6cff..459a1a3 100644
--- a/engines/ultima/ultima8/gumps/readable_gump.h
+++ b/engines/ultima/ultima8/gumps/readable_gump.h
@@ -39,21 +39,21 @@ public:
 
 	ReadableGump();
 	ReadableGump(ObjId owner, uint16 shape, int font, Std::string msg);
-	virtual ~ReadableGump();
+	~ReadableGump() override;
 
 	// Close on mouse click on key press
-	virtual Gump *OnMouseDown(int button, int32 mx, int32 my) override;
-	virtual bool OnKeyDown(int key, int mod) override;
+	Gump *OnMouseDown(int button, int32 mx, int32 my) override;
+	bool OnKeyDown(int key, int mod) override;
 
 	// Init the gump, call after construction
-	virtual void InitGump(Gump *newparent, bool take_focus = true) override;
+	void InitGump(Gump *newparent, bool take_focus = true) override;
 
 	INTRINSIC(I_readGrave);
 	INTRINSIC(I_readPlaque);
 
 	bool loadData(IDataSource *ids, uint32 version);
 protected:
-	virtual void saveData(ODataSource *ods) override;
+	void saveData(ODataSource *ods) override;
 };
 
 } // End of namespace Ultima8
diff --git a/engines/ultima/ultima8/gumps/resizable_gump.h b/engines/ultima/ultima8/gumps/resizable_gump.h
index eac0464..2a7753c 100644
--- a/engines/ultima/ultima8/gumps/resizable_gump.h
+++ b/engines/ultima/ultima8/gumps/resizable_gump.h
@@ -36,7 +36,7 @@ namespace Ultima8 {
 class ResizableGump : public Gump {
 public:
 	ResizableGump(int x, int y, int width, int height);
-	virtual ~ResizableGump();
+	~ResizableGump() override;
 };
 
 } // End of namespace Ultima8
diff --git a/engines/ultima/ultima8/gumps/scaler_gump.h b/engines/ultima/ultima8/gumps/scaler_gump.h
index 26a9a52..2d3d35e 100644
--- a/engines/ultima/ultima8/gumps/scaler_gump.h
+++ b/engines/ultima/ultima8/gumps/scaler_gump.h
@@ -47,13 +47,13 @@ public:
 	//! \param sheight1 height before scaling (usually game-height)
 	//! \param scaler1 scaler to use
 	ScalerGump(int32 x, int32 y, int32 width, int32 height);
-	virtual ~ScalerGump(void);
+	~ScalerGump(void) override;
 
-	virtual void Paint(RenderSurface *surf, int32 lerp_factor, bool scaled) override;
-	virtual void RenderSurfaceChanged() override;
-	virtual void ParentToGump(int32 &px, int32 &py,
+	void Paint(RenderSurface *surf, int32 lerp_factor, bool scaled) override;
+	void RenderSurfaceChanged() override;
+	void ParentToGump(int32 &px, int32 &py,
 	                          PointRoundDir r = ROUND_TOPLEFT) override;
-	virtual void GumpToParent(int32 &gx, int32 &gy,
+	void GumpToParent(int32 &gx, int32 &gy,
 	                          PointRoundDir r = ROUND_TOPLEFT) override;
 
 	void GetScaledSize(int32 &sw, int32 &sh) const {
diff --git a/engines/ultima/ultima8/gumps/scroll_gump.h b/engines/ultima/ultima8/gumps/scroll_gump.h
index dbc8cec..30f4365 100644
--- a/engines/ultima/ultima8/gumps/scroll_gump.h
+++ b/engines/ultima/ultima8/gumps/scroll_gump.h
@@ -38,16 +38,16 @@ public:
 
 	ScrollGump();
 	ScrollGump(ObjId owner, Std::string msg);
-	virtual ~ScrollGump();
+	~ScrollGump() override;
 
 	// Go to the next page on mouse click
-	virtual void OnMouseClick(int button, int32 mx, int32 my) override;
+	void OnMouseClick(int button, int32 mx, int32 my) override;
 
 	// Close on double click
-	virtual void OnMouseDouble(int button, int32 mx, int32 my) override;
+	void OnMouseDouble(int button, int32 mx, int32 my) override;
 
 	// Init the gump, call after construction
-	virtual void InitGump(Gump *newparent, bool take_focus = true) override;
+	void InitGump(Gump *newparent, bool take_focus = true) override;
 
 	INTRINSIC(I_readScroll);
 
@@ -57,7 +57,7 @@ protected:
 public:
 	bool loadData(IDataSource *ids, uint32 version);
 protected:
-	virtual void saveData(ODataSource *ods) override;
+	void saveData(ODataSource *ods) override;
 };
 
 } // End of namespace Ultima8
diff --git a/engines/ultima/ultima8/gumps/shape_viewer_gump.h b/engines/ultima/ultima8/gumps/shape_viewer_gump.h
index 5ab650f..a3f402d 100644
--- a/engines/ultima/ultima8/gumps/shape_viewer_gump.h
+++ b/engines/ultima/ultima8/gumps/shape_viewer_gump.h
@@ -42,19 +42,19 @@ public:
 	ShapeViewerGump(int width, int height,
 	                Std::vector<Std::pair<Std::string, ShapeArchive *> > &flexes,
 	                uint32 _Flags = 0, int32 layer = LAYER_MODAL);
-	virtual ~ShapeViewerGump(void);
+	~ShapeViewerGump(void) override;
 
-	virtual void PaintThis(RenderSurface *, int32 lerp_factor, bool scaled) override;
+	void PaintThis(RenderSurface *, int32 lerp_factor, bool scaled) override;
 
-	virtual bool OnKeyDown(int key, int mod) override;
-	virtual bool OnTextInput(int unicode) override;
+	bool OnKeyDown(int key, int mod) override;
+	bool OnTextInput(int unicode) override;
 
 	static void U8ShapeViewer();
 	static void ConCmd_U8ShapeViewer(const Console::ArgvType &argv);
 
 	bool loadData(IDataSource *ids);
 protected:
-	virtual void saveData(ODataSource *ods) override;
+	void saveData(ODataSource *ods) override;
 
 	Std::vector<Std::pair<Std::string, ShapeArchive *> > flexes;
 	unsigned int curflex;
diff --git a/engines/ultima/ultima8/gumps/slider_gump.h b/engines/ultima/ultima8/gumps/slider_gump.h
index 5593f5e..5761d5c 100644
--- a/engines/ultima/ultima8/gumps/slider_gump.h
+++ b/engines/ultima/ultima8/gumps/slider_gump.h
@@ -39,25 +39,25 @@ public:
 	SliderGump();
 	SliderGump(int x, int y, int16 min, int16 max,
 	           int16 value, int16 delta = 1);
-	virtual ~SliderGump(void);
+	~SliderGump(void) override;
 
-	virtual void InitGump(Gump *newparent, bool take_focus = true) override;
-	virtual void PaintThis(RenderSurface *surf, int32 lerp_factor, bool scaled) override;
-	virtual void Close(bool no_del = false) override;
-	virtual void ChildNotify(Gump *child, uint32 message) override;
+	void InitGump(Gump *newparent, bool take_focus = true) override;
+	void PaintThis(RenderSurface *surf, int32 lerp_factor, bool scaled) override;
+	void Close(bool no_del = false) override;
+	void ChildNotify(Gump *child, uint32 message) override;
 
 	void setUsecodeNotify(UCProcess *ucp);
 
 	// Dragging
-	virtual bool StartDraggingChild(Gump *gump, int32 mx, int32 my) override;
-	virtual void DraggingChild(Gump *gump, int mx, int my) override;
-	virtual void StopDraggingChild(Gump *gump) override;
+	bool StartDraggingChild(Gump *gump, int32 mx, int32 my) override;
+	void DraggingChild(Gump *gump, int mx, int my) override;
+	void StopDraggingChild(Gump *gump) override;
 
-	virtual bool OnKeyDown(int key, int mod) override;
+	bool OnKeyDown(int key, int mod) override;
 
 	bool loadData(IDataSource *ids, uint32 version);
 protected:
-	virtual void saveData(ODataSource *ods) override;
+	void saveData(ODataSource *ods) override;
 
 	int16 min;
 	int16 max;
diff --git a/engines/ultima/ultima8/gumps/target_gump.h b/engines/ultima/ultima8/gumps/target_gump.h
index a5ce202..5127093 100644
--- a/engines/ultima/ultima8/gumps/target_gump.h
+++ b/engines/ultima/ultima8/gumps/target_gump.h
@@ -39,19 +39,19 @@ public:
 	TargetGump();
 	TargetGump(int x, int y);
 
-	virtual ~TargetGump(void);
+	~TargetGump(void) override;
 
-	virtual bool PointOnGump(int mx, int my) override;
-	virtual void InitGump(Gump *newparent, bool take_focus = true) override;
-	virtual void Close(bool no_del = false) override;
-	virtual void PaintThis(RenderSurface *surf, int32 lerp_factor, bool scaled) override;
-	virtual void OnMouseUp(int button, int32 mx, int32 my) override;
+	bool PointOnGump(int mx, int my) override;
+	void InitGump(Gump *newparent, bool take_focus = true) override;
+	void Close(bool no_del = false) override;
+	void PaintThis(RenderSurface *surf, int32 lerp_factor, bool scaled) override;
+	void OnMouseUp(int button, int32 mx, int32 my) override;
 
 	INTRINSIC(I_target);
 
 	bool loadData(IDataSource *ids, uint32 version);
 protected:
-	virtual void saveData(ODataSource *ods) override;
+	void saveData(ODataSource *ods) override;
 
 private:
 	bool target_tracing;
diff --git a/engines/ultima/ultima8/gumps/u8_save_gump.h b/engines/ultima/ultima8/gumps/u8_save_gump.h
index dd56cb4..11641b9 100644
--- a/engines/ultima/ultima8/gumps/u8_save_gump.h
+++ b/engines/ultima/ultima8/gumps/u8_save_gump.h
@@ -38,16 +38,16 @@ public:
 	ENABLE_RUNTIME_CLASSTYPE()
 
 	U8SaveGump(bool save, int page);
-	virtual ~U8SaveGump();
+	~U8SaveGump() override;
 
-	virtual void InitGump(Gump *newparent, bool take_focus = true) override;
-	virtual void Close(bool no_del = false) override;
+	void InitGump(Gump *newparent, bool take_focus = true) override;
+	void Close(bool no_del = false) override;
 
-	virtual Gump *OnMouseDown(int button, int32 mx, int32 my) override;
-	virtual void OnMouseClick(int button, int32 mx, int32 my) override;
-	virtual bool OnKeyDown(int key, int mod) override;
-	virtual void ChildNotify(Gump *child, uint32 message) override;
-	virtual void OnFocus(bool gain) override;
+	Gump *OnMouseDown(int button, int32 mx, int32 my) override;
+	void OnMouseClick(int button, int32 mx, int32 my) override;
+	bool OnKeyDown(int key, int mod) override;
+	void ChildNotify(Gump *child, uint32 message) override;
+	void OnFocus(bool gain) override;
 
 	static Std::string getFilename(int index);
 
diff --git a/engines/ultima/ultima8/gumps/widgets/button_widget.h b/engines/ultima/ultima8/gumps/widgets/button_widget.h
index 8c9e1f5..4daf73b 100644
--- a/engines/ultima/ultima8/gumps/widgets/button_widget.h
+++ b/engines/ultima/ultima8/gumps/widgets/button_widget.h
@@ -41,19 +41,19 @@ public:
 	             int32 layer = LAYER_NORMAL);
 	ButtonWidget(int X, int Y, FrameID frame_up, FrameID frame_down,
 	             bool mouseOver = false, int32 layer = LAYER_NORMAL);
-	virtual ~ButtonWidget(void);
+	~ButtonWidget(void) override;
 
-	virtual void InitGump(Gump *newparent, bool take_focus = true) override;
-	virtual uint16 TraceObjId(int32 mx, int32 my) override;
-	virtual bool PointOnGump(int mx, int my) override;
+	void InitGump(Gump *newparent, bool take_focus = true) override;
+	uint16 TraceObjId(int32 mx, int32 my) override;
+	bool PointOnGump(int mx, int my) override;
 
-	virtual Gump *OnMouseDown(int button, int32 mx, int32 my) override;
-	virtual void OnMouseUp(int button, int32 mx, int32 my) override;
-	virtual void OnMouseClick(int button, int32 mx, int32 my) override;
-	virtual void OnMouseDouble(int button, int32 mx, int32 my) override;
+	Gump *OnMouseDown(int button, int32 mx, int32 my) override;
+	void OnMouseUp(int button, int32 mx, int32 my) override;
+	void OnMouseClick(int button, int32 mx, int32 my) override;
+	void OnMouseDouble(int button, int32 mx, int32 my) override;
 
-	virtual void OnMouseOver() override;
-	virtual void OnMouseLeft() override;
+	void OnMouseOver() override;
+	void OnMouseLeft() override;
 
 	//! return the textwidget's vlead, or 0 for an image button
 	int getVlead();
@@ -80,7 +80,7 @@ protected:
 public:
 	bool loadData(IDataSource *ids, uint32 version);
 protected:
-	virtual void saveData(ODataSource *ods) override;
+	void saveData(ODataSource *ods) override;
 };
 
 } // End of namespace Ultima8
diff --git a/engines/ultima/ultima8/gumps/widgets/edit_widget.h b/engines/ultima/ultima8/gumps/widgets/edit_widget.h
index 92c11e0..a0be97f 100644
--- a/engines/ultima/ultima8/gumps/widgets/edit_widget.h
+++ b/engines/ultima/ultima8/gumps/widgets/edit_widget.h
@@ -44,17 +44,17 @@ public:
 	EditWidget(int X, int Y, Std::string txt, bool gamefont, int fontnum,
 	           int width, int height, unsigned int maxlength = 0,
 	           bool multiline = false);
-	virtual ~EditWidget(void);
+	~EditWidget(void) override;
 
-	virtual void InitGump(Gump *newparent, bool take_focus = true) override;
+	void InitGump(Gump *newparent, bool take_focus = true) override;
 
-	virtual void PaintThis(RenderSurface *, int32 lerp_factor, bool scaled) override;
-	virtual void PaintComposited(RenderSurface *surf, int32 lerp_factor, int32 sx, int32 sy) override;
+	void PaintThis(RenderSurface *, int32 lerp_factor, bool scaled) override;
+	void PaintComposited(RenderSurface *surf, int32 lerp_factor, int32 sx, int32 sy) override;
 
-	virtual Gump *OnMouseMotion(int32 mx, int32 my) override;
-	virtual bool OnKeyDown(int key, int mod) override;
-	virtual bool OnKeyUp(int key) override;
-	virtual bool OnTextInput(int unicode) override;
+	Gump *OnMouseMotion(int32 mx, int32 my) override;
+	bool OnKeyDown(int key, int mod) override;
+	bool OnKeyUp(int key) override;
+	bool OnTextInput(int unicode) override;
 
 	//! get the current text
 	Std::string getText() const {
diff --git a/engines/ultima/ultima8/gumps/widgets/game_widget.h b/engines/ultima/ultima8/gumps/widgets/game_widget.h
index 47566c9..d34e72b 100644
--- a/engines/ultima/ultima8/gumps/widgets/game_widget.h
+++ b/engines/ultima/ultima8/gumps/widgets/game_widget.h
@@ -37,21 +37,21 @@ public:
 	ENABLE_RUNTIME_CLASSTYPE()
 
 	GameWidget(int X, int Y, istring &game);
-	virtual ~GameWidget();
+	~GameWidget() override;
 
 	istring getGameName();
 
-	virtual void InitGump(Gump *newparent, bool take_focus = true) override;
+	void InitGump(Gump *newparent, bool take_focus = true) override;
 
-	virtual uint16 TraceObjId(int32 mx, int32 my) override;
+	uint16 TraceObjId(int32 mx, int32 my) override;
 
-	virtual void PaintThis(RenderSurface *, int32 lerp_factor, bool scaled) override;
+	void PaintThis(RenderSurface *, int32 lerp_factor, bool scaled) override;
 
-	virtual Gump *OnMouseDown(int button, int32 mx, int32 my) override;
-	virtual void OnMouseOver() override;
-	virtual void OnMouseLeft() override;
+	Gump *OnMouseDown(int button, int32 mx, int32 my) override;
+	void OnMouseOver() override;
+	void OnMouseLeft() override;
 
-	virtual void ChildNotify(Gump *child, uint32 message) override;
+	void ChildNotify(Gump *child, uint32 message) override;
 
 	enum Message {
 		GAME_PLAY     = 1,
diff --git a/engines/ultima/ultima8/gumps/widgets/sliding_widget.h b/engines/ultima/ultima8/gumps/widgets/sliding_widget.h
index be12520..305e123 100644
--- a/engines/ultima/ultima8/gumps/widgets/sliding_widget.h
+++ b/engines/ultima/ultima8/gumps/widgets/sliding_widget.h
@@ -35,14 +35,14 @@ public:
 
 	SlidingWidget();
 	SlidingWidget(int x, int y, Shape *shape, uint32 framenum);
-	virtual ~SlidingWidget();
+	~SlidingWidget() override;
 
-	virtual void InitGump(Gump *newparent, bool take_focus = true) override;
-	virtual uint16 TraceObjId(int32 mx, int32 my) override;
+	void InitGump(Gump *newparent, bool take_focus = true) override;
+	uint16 TraceObjId(int32 mx, int32 my) override;
 
 	bool loadData(IDataSource *ids, uint32 version);
 protected:
-	virtual void saveData(ODataSource *ods) override;
+	void saveData(ODataSource *ods) override;
 };
 
 } // End of namespace Ultima8
diff --git a/engines/ultima/ultima8/gumps/widgets/text_widget.h b/engines/ultima/ultima8/gumps/widgets/text_widget.h
index ecbe4ba..6509a1b 100644
--- a/engines/ultima/ultima8/gumps/widgets/text_widget.h
+++ b/engines/ultima/ultima8/gumps/widgets/text_widget.h
@@ -58,17 +58,17 @@ public:
 	TextWidget(int X, int Y, Std::string txt, bool gamefont, int fontnum,
 	           int width = 0, int height = 0,
 	           Font::TextAlign align = Font::TEXT_LEFT);
-	virtual ~TextWidget(void);
+	~TextWidget(void) override;
 
 	// Init the gump, call after construction
-	virtual void            InitGump(Gump *newparent, bool take_focus = true) override;
+	void            InitGump(Gump *newparent, bool take_focus = true) override;
 
 	// Overloadable method to Paint just this Gump (RenderSurface is relative to this)
-	virtual void            PaintThis(RenderSurface *, int32 lerp_factor, bool scaled) override;
+	void            PaintThis(RenderSurface *, int32 lerp_factor, bool scaled) override;
 
-	virtual void            PaintComposited(RenderSurface *surf, int32 lerp_factor, int32 scalex, int32 scaley) override;
+	void            PaintComposited(RenderSurface *surf, int32 lerp_factor, int32 scalex, int32 scaley) override;
 
-	virtual Gump *OnMouseMotion(int32 mx, int32 my) override;
+	Gump *OnMouseMotion(int32 mx, int32 my) override;
 
 	//! display the next part of the text
 	//! \return false if there is no more text to display
@@ -102,7 +102,7 @@ public:
 	bool loadData(IDataSource *ids, uint32 version);
 
 protected:
-	virtual void saveData(ODataSource *ods) override;
+	void saveData(ODataSource *ods) override;
 };
 
 } // End of namespace Ultima8
diff --git a/engines/ultima/ultima8/kernel/delay_process.h b/engines/ultima/ultima8/kernel/delay_process.h
index 17bfd0f..8f8d598 100644
--- a/engines/ultima/ultima8/kernel/delay_process.h
+++ b/engines/ultima/ultima8/kernel/delay_process.h
@@ -36,17 +36,17 @@ namespace Ultima8 {
 class DelayProcess : public Process {
 public:
 	explicit DelayProcess(int count_ = 0);
-	virtual ~DelayProcess();
+	~DelayProcess() override;
 
 	ENABLE_RUNTIME_CLASSTYPE()
 
-	virtual void run() override;
+	void run() override;
 
-	virtual void dumpInfo() override;
+	void dumpInfo() override;
 
 	bool loadData(IDataSource *ids, uint32 version);
 protected:
-	virtual void saveData(ODataSource *ods) override;
+	void saveData(ODataSource *ods) override;
 
 	int count;
 };
diff --git a/engines/ultima/ultima8/kernel/joystick.h b/engines/ultima/ultima8/kernel/joystick.h
index 16bbe9b..5e09612 100644
--- a/engines/ultima/ultima8/kernel/joystick.h
+++ b/engines/ultima/ultima8/kernel/joystick.h
@@ -45,15 +45,15 @@ class JoystickCursorProcess : public Process {
 public:
 	JoystickCursorProcess();
 	JoystickCursorProcess(Joystick js_, int x_axis_, int y_axis_);
-	virtual ~JoystickCursorProcess();
+	~JoystickCursorProcess() override;
 
 	ENABLE_RUNTIME_CLASSTYPE()
 
-	virtual void run() override;
+	void run() override;
 
 	bool loadData(IDataSource *ids, uint32 version);
 protected:
-	virtual void saveData(ODataSource *ods) override;
+	void saveData(ODataSource *ods) override;
 
 	Joystick js;
 	int x_axis, y_axis;
diff --git a/engines/ultima/ultima8/kernel/segmented_allocator.h b/engines/ultima/ultima8/kernel/segmented_allocator.h
index f8ec628..65014e0 100644
--- a/engines/ultima/ultima8/kernel/segmented_allocator.h
+++ b/engines/ultima/ultima8/kernel/segmented_allocator.h
@@ -34,21 +34,21 @@ namespace Ultima8 {
 class SegmentedAllocator: public Allocator {
 public:
 	SegmentedAllocator(size_t nodeCapacity, uint32 nodes);
-	virtual ~SegmentedAllocator();
+	~SegmentedAllocator() override;
 
 	ENABLE_RUNTIME_CLASSTYPE()
 
-	virtual void *allocate(size_t size) override;
+	void *allocate(size_t size) override;
 
-	virtual Pool *findPool(void *ptr) override;
+	Pool *findPool(void *ptr) override;
 
-	virtual void freeResources() override;
+	void freeResources() override;
 
-	virtual size_t getCapacity() override {
+	size_t getCapacity() override {
 		return nodeCapacity;
 	}
 
-	virtual void printInfo() override;
+	void printInfo() override;
 
 private:
 	Std::vector<SegmentedPool *> pools;
diff --git a/engines/ultima/ultima8/kernel/segmented_pool.h b/engines/ultima/ultima8/kernel/segmented_pool.h
index ac6068e..4fc7fe5 100644
--- a/engines/ultima/ultima8/kernel/segmented_pool.h
+++ b/engines/ultima/ultima8/kernel/segmented_pool.h
@@ -44,25 +44,25 @@ struct SegmentedPoolNode;
 class SegmentedPool: public Pool {
 public:
 	SegmentedPool(size_t nodeCapacity, uint32 nodes);
-	virtual ~SegmentedPool();
+	~SegmentedPool() override;
 
 	ENABLE_RUNTIME_CLASSTYPE()
 
-	virtual void *allocate(size_t size) override;
-	virtual void deallocate(void *ptr) override;
+	void *allocate(size_t size) override;
+	void deallocate(void *ptr) override;
 
-	virtual bool isFull() override {
+	bool isFull() override {
 		return freeNodeCount == 0;
 	}
-	virtual bool isEmpty() override {
+	bool isEmpty() override {
 		return freeNodeCount == nodes;
 	}
 
-	virtual bool inPool(void *ptr) override {
+	bool inPool(void *ptr) override {
 		return (ptr > startOfPool && ptr < endOfPool);
 	}
 
-	virtual void printInfo() override;
+	void printInfo() override;
 
 	size_t getNodeCapacity() {
 		return nodeCapacity;
diff --git a/engines/ultima/ultima8/misc/console.h b/engines/ultima/ultima8/misc/console.h
index 471e014..8732d05 100644
--- a/engines/ultima/ultima8/misc/console.h
+++ b/engines/ultima/ultima8/misc/console.h
@@ -408,7 +408,7 @@ private:
 public:
 	ConsoleStream() : Common::WriteStream(), _precision(Std::dec) {}
 
-	virtual int32 pos() const override {
+	int32 pos() const override {
 		return 0;
 	}
 
@@ -447,7 +447,7 @@ public:
 
 template<class T>
 class console_ostream : public ConsoleStream {
-	virtual uint32 write(const void *dataPtr, uint32 dataSize) override {
+	uint32 write(const void *dataPtr, uint32 dataSize) override {
 		Common::String str((const char *)dataPtr, (const char *)dataPtr + dataSize);
 		debugN("%s", str.c_str());
 		return dataSize;
@@ -468,7 +468,7 @@ extern console_ostream<char>        *ppout;
 template<class T>
 class console_err_ostream : public ConsoleStream {
 public:
-	virtual uint32 write(const void *dataPtr, uint32 dataSize) override {
+	uint32 write(const void *dataPtr, uint32 dataSize) override {
 		Common::String str((const char *)dataPtr, dataSize);
 		::warning("%s", str.c_str());
 		return str.size();
diff --git a/engines/ultima/ultima8/misc/debugger.h b/engines/ultima/ultima8/misc/debugger.h
index a5f90f1..99717fd 100644
--- a/engines/ultima/ultima8/misc/debugger.h
+++ b/engines/ultima/ultima8/misc/debugger.h
@@ -38,7 +38,7 @@ private:
 	bool cmdSpell(int argc, const char **argv);
 public:
 	Debugger();
-    virtual ~Debugger() {}
+    ~Debugger() override {}
 };
 
 } // End of namespace Ultima8
diff --git a/engines/ultima/ultima8/misc/istring.h b/engines/ultima/ultima8/misc/istring.h
index f0b67c7..e5ca3d5 100644
--- a/engines/ultima/ultima8/misc/istring.h
+++ b/engines/ultima/ultima8/misc/istring.h
@@ -70,9 +70,9 @@ public:
 	istring(const String &str) : Std::string(str) {}
 	explicit istring(char c) : Std::string(c) {}
 	istring(size_t n, char c) : Std::string(n, c) {}
-	virtual ~istring() {}
+	~istring() override {}
 
-	virtual int Compare(const string &s) const override {
+	int Compare(const string &s) const override {
 		return compareToIgnoreCase(s);
 	}
 
diff --git a/engines/ultima/ultima8/ultima8.h b/engines/ultima/ultima8/ultima8.h
index 42b54f4..040c262 100644
--- a/engines/ultima/ultima8/ultima8.h
+++ b/engines/ultima/ultima8/ultima8.h
@@ -201,23 +201,23 @@ private:
 	void handleDelayedEvents();
 protected:
 	// Engine APIs
-	virtual Common::Error run() override;
+	Common::Error run() override;
 
-	virtual bool initialize() override;
+	bool initialize() override;
 
-	virtual void DeclareArgs() override;
+	void DeclareArgs() override;
 
 	/**
 	 * Returns the data archive folder and version that's required
 	 */
-	virtual bool isDataRequired(Common::String &folder, int &majorVersion, int &minorVersion) override;
+	bool isDataRequired(Common::String &folder, int &majorVersion, int &minorVersion) override;
 public:
 	PointScaler point_scaler;
 public:
 	ENABLE_RUNTIME_CLASSTYPE()
 
 	Ultima8Engine(OSystem *syst, const Ultima::UltimaGameDescription *gameDesc);
-	virtual ~Ultima8Engine();
+	~Ultima8Engine() override;
 	void GUIError(const Common::String &msg);
 
 	static Ultima8Engine *get_instance() {
@@ -241,14 +241,14 @@ public:
 		return _screen;
 	}
 
-	virtual GUI::Debugger *getDebugger() override;
-	virtual Graphics::Screen *getScreen() const override;
+	GUI::Debugger *getDebugger() override;
+	Graphics::Screen *getScreen() const override;
 
-	virtual void runGame() override;
+	void runGame() override;
 	virtual void handleEvent(const Common::Event &event);
 
-	virtual void paint() override;
-	virtual bool isPainting() override {
+	void paint() override;
+	bool isPainting() override {
 		return _painting;
 	}
 
@@ -310,22 +310,22 @@ public:
 	/**
 	 * Notifies the engine that the sound settings may have changed
 	 */
-	virtual void syncSoundSettings() override;
+	void syncSoundSettings() override;
 
 	/**
 	 * Returns true if a savegame can be loaded
 	 */
-	virtual bool canLoadGameStateCurrently(bool isAutosave = false) override { return true; }
+	bool canLoadGameStateCurrently(bool isAutosave = false) override { return true; }
 
 	/**
 	 * Returns true if the game can be saved
 	 */
-	virtual bool canSaveGameStateCurrently(bool isAutosave = false) override;
+	bool canSaveGameStateCurrently(bool isAutosave = false) override;
 
 	/**
 	 * Load a game state
 	 */
-	virtual Common::Error loadGameState(int slot) override;
+	Common::Error loadGameState(int slot) override;
 
 	/**
 	 * Save a game state.
@@ -334,7 +334,7 @@ public:
 	 * @param isAutosave If true, autosave is being created
 	 * @return returns kNoError on success, else an error code.
 	 */
-	virtual Common::Error saveGameState(int slot, const Common::String &desc, bool isAutosave) override;
+	Common::Error saveGameState(int slot, const Common::String &desc, bool isAutosave) override;
 
 	//! save a game
 	//! \param filename the file to save to
diff --git a/engines/ultima/ultima8/usecode/uc_process.h b/engines/ultima/ultima8/usecode/uc_process.h
index 6127bdf..e7d6214 100644
--- a/engines/ultima/ultima8/usecode/uc_process.h
+++ b/engines/ultima/ultima8/usecode/uc_process.h
@@ -42,14 +42,14 @@ public:
 	UCProcess();
 	UCProcess(uint16 classid_, uint16 offset_, uint32 this_ptr = 0,
 	          int thissize = 0, const uint8 *args = 0, int argsize = 0);
-	~UCProcess();
+	~UCProcess() override;
 
 	// p_dynamic_cast stuff
 	ENABLE_RUNTIME_CLASSTYPE()
 
-	virtual void run() override;
+	void run() override;
 
-	virtual void terminate() override;
+	void terminate() override;
 
 	void freeOnTerminate(uint16 index, int type_);
 
@@ -58,11 +58,11 @@ public:
 	}
 
 	//! dump some info about this process to pout
-	virtual void dumpInfo() override;
+	void dumpInfo() override;
 
 	bool loadData(IDataSource *ids, uint32 version);
 protected:
-	virtual void saveData(ODataSource *ods) override;
+	void saveData(ODataSource *ods) override;
 
 	void load(uint16 classid_, uint16 offset_, uint32 this_ptr = 0,
 	          int thissize = 0, const uint8 *args = 0, int argsize = 0);
diff --git a/engines/ultima/ultima8/usecode/uc_stack.h b/engines/ultima/ultima8/usecode/uc_stack.h
index 2791464..e4ff734 100644
--- a/engines/ultima/ultima8/usecode/uc_stack.h
+++ b/engines/ultima/ultima8/usecode/uc_stack.h
@@ -166,7 +166,7 @@ public:
 class DynamicUCStack : public BaseUCStack {
 public:
 	DynamicUCStack(uint32 len = 0x1000) : BaseUCStack(len, new uint8[len]) { }
-	virtual ~DynamicUCStack() {
+	~DynamicUCStack() override {
 		delete [] buf;
 	}
 
@@ -182,7 +182,7 @@ class UCStack : public BaseUCStack {
 	uint8   buf_array[0x1000];
 public:
 	UCStack() : BaseUCStack(0x1000, buf_array) { }
-	virtual ~UCStack() { }
+	~UCStack() override { }
 
 	void save(ODataSource *ods);
 	bool load(IDataSource *ids, uint32 version);
diff --git a/engines/ultima/ultima8/usecode/usecode_flex.h b/engines/ultima/ultima8/usecode/usecode_flex.h
index 5bd6e5a..6945294 100644
--- a/engines/ultima/ultima8/usecode/usecode_flex.h
+++ b/engines/ultima/ultima8/usecode/usecode_flex.h
@@ -33,13 +33,13 @@ namespace Ultima8 {
 class UsecodeFlex : public Usecode, protected RawArchive {
 public:
 	UsecodeFlex(IDataSource *ds) : RawArchive(ds) { }
-	virtual ~UsecodeFlex() { }
+	~UsecodeFlex() override { }
 
-	virtual const uint8 *get_class(uint32 classid);
-	virtual uint32 get_class_size(uint32 classid);
-	virtual const char *get_class_name(uint32 classid);
-	virtual uint32 get_class_base_offset(uint32 classid);
-	virtual uint32 get_class_event_count(uint32 classid);
+	const uint8 *get_class(uint32 classid) override;
+	uint32 get_class_size(uint32 classid) override;
+	const char *get_class_name(uint32 classid) override;
+	uint32 get_class_base_offset(uint32 classid) override;
+	uint32 get_class_event_count(uint32 classid) override;
 };
 
 } // End of namespace Ultima8
diff --git a/engines/ultima/ultima8/world/actors/actor.h b/engines/ultima/ultima8/world/actors/actor.h
index 9e6fa05..c8eded5 100644
--- a/engines/ultima/ultima8/world/actors/actor.h
+++ b/engines/ultima/ultima8/world/actors/actor.h
@@ -39,7 +39,7 @@ class Actor : public Container {
 	friend class AnimationTracker;
 public:
 	Actor();
-	~Actor();
+	~Actor() override;
 
 	int16 getStr() const {
 		return strength;
@@ -146,7 +146,7 @@ public:
 
 	virtual void teleport(int mapnum, int32 x, int32 y, int32 z);
 
-	virtual bool removeItem(Item *item) override;
+	bool removeItem(Item *item) override;
 
 	//! \return the PID of the spawned usecode process if any (otherwise 0)
 	uint16 schedule(uint32 time);
@@ -159,7 +159,7 @@ public:
 	virtual int16 getAttackingDex();
 	virtual int16 getDefendingDex();
 
-	virtual uint16 getDamageType() override;
+	uint16 getDamageType() override;
 	virtual int getDamageAmount();
 
 	//! calculate the damage an attack against this Actor does.
@@ -172,7 +172,7 @@ public:
 	//! receive a hit
 	//! \param damage base damage (or zero to use attacker's default damage)
 	//! \param type damage type (or zero to use attacker's default type)
-	virtual void receiveHit(uint16 other, int dir, int damage, uint16 type) override;
+	void receiveHit(uint16 other, int dir, int damage, uint16 type) override;
 
 	//! die
 	//! \param damageType damage type that caused the death
@@ -212,9 +212,9 @@ public:
 	//! create an actor, assign objid, make it ethereal and load monster stats.
 	static Actor *createActor(uint32 shape, uint32 frame);
 
-	virtual uint16 assignObjId() override; // assign an NPC objid
+	uint16 assignObjId() override; // assign an NPC objid
 
-	virtual void dumpInfo() override;
+	void dumpInfo() override;
 
 	bool loadData(IDataSource *ids, uint32 version);
 
@@ -292,7 +292,7 @@ public:
 	};
 
 protected:
-	virtual void saveData(ODataSource *ods) override;
+	void saveData(ODataSource *ods) override;
 
 	int16 strength;
 	int16 dexterity;
diff --git a/engines/ultima/ultima8/world/actors/actor_anim_process.h b/engines/ultima/ultima8/world/actors/actor_anim_process.h
index 72f6bc8..a0e2251 100644
--- a/engines/ultima/ultima8/world/actors/actor_anim_process.h
+++ b/engines/ultima/ultima8/world/actors/actor_anim_process.h
@@ -44,11 +44,11 @@ public:
 	// p_dynamic_cast stuff
 	ENABLE_RUNTIME_CLASSTYPE()
 
-	virtual void run() override;
+	void run() override;
 
-	virtual void terminate() override;
+	void terminate() override;
 
-	virtual void dumpInfo() override;
+	void dumpInfo() override;
 
 	Animation::Sequence getAction() const {
 		return action;
@@ -56,7 +56,7 @@ public:
 
 	bool loadData(IDataSource *ids, uint32 version);
 protected:
-	virtual void saveData(ODataSource *ods) override;
+	void saveData(ODataSource *ods) override;
 
 	virtual bool init();
 
diff --git a/engines/ultima/ultima8/world/actors/actor_bark_notify_process.h b/engines/ultima/ultima8/world/actors/actor_bark_notify_process.h
index 17ef63e..673406b 100644
--- a/engines/ultima/ultima8/world/actors/actor_bark_notify_process.h
+++ b/engines/ultima/ultima8/world/actors/actor_bark_notify_process.h
@@ -34,13 +34,13 @@ public:
 
 	ActorBarkNotifyProcess();
 	ActorBarkNotifyProcess(uint16 it);
-	virtual ~ActorBarkNotifyProcess(void);
+	~ActorBarkNotifyProcess(void) override;
 
-	virtual void run() override;
+	void run() override;
 
 	bool loadData(IDataSource *ids, uint32 version);
 protected:
-	virtual void saveData(ODataSource *ods) override;
+	void saveData(ODataSource *ods) override;
 };
 
 } // End of namespace Ultima8
diff --git a/engines/ultima/ultima8/world/actors/ambush_process.h b/engines/ultima/ultima8/world/actors/ambush_process.h
index 2a2d34a..6be6aab 100644
--- a/engines/ultima/ultima8/world/actors/ambush_process.h
+++ b/engines/ultima/ultima8/world/actors/ambush_process.h
@@ -38,11 +38,11 @@ public:
 	// p_dynamic_cast stuff
 	ENABLE_RUNTIME_CLASSTYPE()
 
-	virtual void run() override;
+	void run() override;
 
 	bool loadData(IDataSource *ids, uint32 version);
 protected:
-	virtual void saveData(ODataSource *ods) override;
+	void saveData(ODataSource *ods) override;
 
 	uint32 delaycount;
 };
diff --git a/engines/ultima/ultima8/world/actors/avatar_death_process.h b/engines/ultima/ultima8/world/actors/avatar_death_process.h
index b814826..8a29756 100644
--- a/engines/ultima/ultima8/world/actors/avatar_death_process.h
+++ b/engines/ultima/ultima8/world/actors/avatar_death_process.h
@@ -37,11 +37,11 @@ public:
 	// p_dynamic_cast stuff
 	ENABLE_RUNTIME_CLASSTYPE()
 
-	virtual void run() override;
+	void run() override;
 
 	bool loadData(IDataSource *ids, uint32 version);
 protected:
-	virtual void saveData(ODataSource *ods) override;
+	void saveData(ODataSource *ods) override;
 };
 
 } // End of namespace Ultima8
diff --git a/engines/ultima/ultima8/world/actors/avatar_gravity_process.h b/engines/ultima/ultima8/world/actors/avatar_gravity_process.h
index 6378864..0a50075 100644
--- a/engines/ultima/ultima8/world/actors/avatar_gravity_process.h
+++ b/engines/ultima/ultima8/world/actors/avatar_gravity_process.h
@@ -38,11 +38,11 @@ public:
 	// p_dynamic_cast stuff
 	ENABLE_RUNTIME_CLASSTYPE()
 
-	virtual void run() override;
+	void run() override;
 
 	bool loadData(IDataSource *ids, uint32 version);
 protected:
-	virtual void saveData(ODataSource *ods) override;
+	void saveData(ODataSource *ods) override;
 
 	bool cling;
 };
diff --git a/engines/ultima/ultima8/world/actors/avatar_mover_process.h b/engines/ultima/ultima8/world/actors/avatar_mover_process.h
index 5e6853a..6692d91 100644
--- a/engines/ultima/ultima8/world/actors/avatar_mover_process.h
+++ b/engines/ultima/ultima8/world/actors/avatar_mover_process.h
@@ -33,12 +33,12 @@ namespace Ultima8 {
 class AvatarMoverProcess : public Process {
 public:
 	AvatarMoverProcess();
-	virtual ~AvatarMoverProcess();
+	~AvatarMoverProcess() override;
 
 	// p_dynamic_cast stuff
 	ENABLE_RUNTIME_CLASSTYPE()
 
-	virtual void run() override;
+	void run() override;
 
 	void OnMouseDown(int button, int32 mx, int32 my);
 	void OnMouseUp(int button);
@@ -49,7 +49,7 @@ public:
 
 	bool loadData(IDataSource *ids, uint32 version);
 protected:
-	virtual void saveData(ODataSource *ods) override;
+	void saveData(ODataSource *ods) override;
 
 	void handleHangingMode();
 	void handleCombatMode();
diff --git a/engines/ultima/ultima8/world/actors/clear_feign_death_process.h b/engines/ultima/ultima8/world/actors/clear_feign_death_process.h
index 87b70cc..be3b62b 100644
--- a/engines/ultima/ultima8/world/actors/clear_feign_death_process.h
+++ b/engines/ultima/ultima8/world/actors/clear_feign_death_process.h
@@ -38,11 +38,11 @@ public:
 	// p_dynamic_cast stuff
 	ENABLE_RUNTIME_CLASSTYPE()
 
-	virtual void run() override;
+	void run() override;
 
 	bool loadData(IDataSource *ids, uint32 version);
 protected:
-	virtual void saveData(ODataSource *ods) override;
+	void saveData(ODataSource *ods) override;
 };
 
 } // End of namespace Ultima8
diff --git a/engines/ultima/ultima8/world/actors/combat_process.h b/engines/ultima/ultima8/world/actors/combat_process.h
index 466a7b6..16859b8 100644
--- a/engines/ultima/ultima8/world/actors/combat_process.h
+++ b/engines/ultima/ultima8/world/actors/combat_process.h
@@ -38,19 +38,19 @@ public:
 	// p_dynamic_cast stuff
 	ENABLE_RUNTIME_CLASSTYPE()
 
-	virtual void run() override;
+	void run() override;
 
-	virtual void terminate() override;
+	void terminate() override;
 
 	ObjId getTarget();
 	void setTarget(ObjId target_);
 	ObjId seekTarget();
 
-	virtual void dumpInfo() override;
+	void dumpInfo() override;
 
 	bool loadData(IDataSource *ids, uint32 version);
 protected:
-	virtual void saveData(ODataSource *ods) override;
+	void saveData(ODataSource *ods) override;
 
 	bool isValidTarget(Actor *target_);
 	bool isEnemy(Actor *target_);
diff --git a/engines/ultima/ultima8/world/actors/grant_peace_process.h b/engines/ultima/ultima8/world/actors/grant_peace_process.h
index 875b109..7bd0f1d 100644
--- a/engines/ultima/ultima8/world/actors/grant_peace_process.h
+++ b/engines/ultima/ultima8/world/actors/grant_peace_process.h
@@ -39,13 +39,13 @@ public:
 	// p_dynamic_cast stuff
 	ENABLE_RUNTIME_CLASSTYPE()
 
-	virtual void run() override;
+	void run() override;
 
 	INTRINSIC(I_castGrantPeace);
 
 	bool loadData(IDataSource *ids, uint32 version);
 protected:
-	virtual void saveData(ODataSource *ods) override;
+	void saveData(ODataSource *ods) override;
 
 	bool havetarget;
 };
diff --git a/engines/ultima/ultima8/world/actors/heal_process.h b/engines/ultima/ultima8/world/actors/heal_process.h
index f0dce05..dd89a96 100644
--- a/engines/ultima/ultima8/world/actors/heal_process.h
+++ b/engines/ultima/ultima8/world/actors/heal_process.h
@@ -36,13 +36,13 @@ public:
 	// p_dynamic_cast stuff
 	ENABLE_RUNTIME_CLASSTYPE()
 
-	virtual void run() override;
+	void run() override;
 
 	INTRINSIC(I_feedAvatar);
 
 	bool loadData(IDataSource *ids, uint32 version);
 protected:
-	virtual void saveData(ODataSource *ods) override;
+	void saveData(ODataSource *ods) override;
 
 	void feedAvatar(uint16 food);
 
diff --git a/engines/ultima/ultima8/world/actors/loiter_process.h b/engines/ultima/ultima8/world/actors/loiter_process.h
index 485cbc2..15156e1 100644
--- a/engines/ultima/ultima8/world/actors/loiter_process.h
+++ b/engines/ultima/ultima8/world/actors/loiter_process.h
@@ -38,11 +38,11 @@ public:
 	// p_dynamic_cast stuff
 	ENABLE_RUNTIME_CLASSTYPE()
 
-	virtual void run() override;
+	void run() override;
 
 	bool loadData(IDataSource *ids, uint32 version);
 protected:
-	virtual void saveData(ODataSource *ods) override;
+	void saveData(ODataSource *ods) override;
 
 	int32 count;
 };
diff --git a/engines/ultima/ultima8/world/actors/main_actor.h b/engines/ultima/ultima8/world/actors/main_actor.h
index cdc8fed..1b9ca27 100644
--- a/engines/ultima/ultima8/world/actors/main_actor.h
+++ b/engines/ultima/ultima8/world/actors/main_actor.h
@@ -33,13 +33,13 @@ struct WeaponOverlayFrame;
 class MainActor : public Actor {
 public:
 	MainActor();
-	virtual ~MainActor();
+	~MainActor() override;
 
-	virtual bool CanAddItem(Item *item, bool checkwghtvol = false) override;
-	virtual bool addItem(Item *item, bool checkwghtvol = false) override;
+	bool CanAddItem(Item *item, bool checkwghtvol = false) override;
+	bool addItem(Item *item, bool checkwghtvol = false) override;
 
 	//! teleport to the given location on the given map
-	virtual void teleport(int mapNum_, int32 x_, int32 y_, int32 z_) override;
+	void teleport(int mapNum_, int32 x_, int32 y_, int32 z_) override;
 
 	//! teleport to a teleport-destination egg
 	//! \param mapnum The map to teleport to
@@ -66,20 +66,20 @@ public:
 	void accumulateInt(int n);
 
 	//! Get the GravityProcess of this Item, creating it if necessary
-	virtual GravityProcess *ensureGravityProcess() override;
+	GravityProcess *ensureGravityProcess() override;
 
-	virtual uint32 getArmourClass() override;
-	virtual uint16 getDefenseType() override;
-	virtual int16 getAttackingDex() override;
-	virtual int16 getDefendingDex() override;
+	uint32 getArmourClass() override;
+	uint16 getDefenseType() override;
+	int16 getAttackingDex() override;
+	int16 getDefendingDex() override;
 
-	virtual uint16 getDamageType() override;
-	virtual int getDamageAmount() override;
+	uint16 getDamageType() override;
+	int getDamageAmount() override;
 
-	virtual void setInCombat() override;
-	virtual void clearInCombat() override;
+	void setInCombat() override;
+	void clearInCombat() override;
 
-	virtual ProcId die(uint16 DamageType) override;
+	ProcId die(uint16 DamageType) override;
 
 	Std::string getName() {
 		return name;
@@ -138,7 +138,7 @@ public:
 
 
 protected:
-	virtual void saveData(ODataSource *ods) override;
+	void saveData(ODataSource *ods) override;
 
 	void useInventoryItem(uint32 shapenum);
 
diff --git a/engines/ultima/ultima8/world/actors/pathfinder_process.h b/engines/ultima/ultima8/world/actors/pathfinder_process.h
index 7be8280..32485cd 100644
--- a/engines/ultima/ultima8/world/actors/pathfinder_process.h
+++ b/engines/ultima/ultima8/world/actors/pathfinder_process.h
@@ -37,19 +37,19 @@ public:
 	PathfinderProcess();
 	PathfinderProcess(Actor *actor, ObjId item, bool hit = false);
 	PathfinderProcess(Actor *actor, int32 x, int32 y, int32 z);
-	virtual ~PathfinderProcess();
+	~PathfinderProcess() override;
 
 	// p_dynamic_cast stuff
 	ENABLE_RUNTIME_CLASSTYPE()
 
-	virtual void run() override;
-	virtual void terminate() override;
+	void run() override;
+	void terminate() override;
 
 //	virtual void terminate();
 
 	bool loadData(IDataSource *ids, uint32 version);
 protected:
-	virtual void saveData(ODataSource *ods) override;
+	void saveData(ODataSource *ods) override;
 
 	int32 targetx, targety, targetz;
 	ObjId targetitem;
diff --git a/engines/ultima/ultima8/world/actors/quick_avatar_mover_process.h b/engines/ultima/ultima8/world/actors/quick_avatar_mover_process.h
index f405078..548aa3f 100644
--- a/engines/ultima/ultima8/world/actors/quick_avatar_mover_process.h
+++ b/engines/ultima/ultima8/world/actors/quick_avatar_mover_process.h
@@ -33,13 +33,13 @@ public:
 	QuickAvatarMoverProcess();
 
 	QuickAvatarMoverProcess(int x, int y, int z, int _dir);
-	virtual ~QuickAvatarMoverProcess();
+	~QuickAvatarMoverProcess() override;
 
 	// p_dynamic_cast stuff
 	ENABLE_RUNTIME_CLASSTYPE()
 
-	virtual void run() override;
-	virtual void terminate() override;
+	void run() override;
+	void terminate() override;
 
 	static bool isQuarterSpeed() {
 		return quarter;
@@ -76,7 +76,7 @@ public:
 
 	bool loadData(IDataSource *ids, uint32 version);
 protected:
-	virtual void saveData(ODataSource *ods) override;
+	void saveData(ODataSource *ods) override;
 
 	int dx, dy, dz, dir;
 	static ProcId amp[6];
diff --git a/engines/ultima/ultima8/world/actors/resurrection_process.h b/engines/ultima/ultima8/world/actors/resurrection_process.h
index d89cbe3..c62c2ce 100644
--- a/engines/ultima/ultima8/world/actors/resurrection_process.h
+++ b/engines/ultima/ultima8/world/actors/resurrection_process.h
@@ -38,11 +38,11 @@ public:
 	// p_dynamic_cast stuff
 	ENABLE_RUNTIME_CLASSTYPE()
 
-	virtual void run() override;
+	void run() override;
 
 	bool loadData(IDataSource *ids, uint32 version);
 protected:
-	virtual void saveData(ODataSource *ods) override;
+	void saveData(ODataSource *ods) override;
 };
 
 } // End of namespace Ultima8
diff --git a/engines/ultima/ultima8/world/actors/scheduler_process.h b/engines/ultima/ultima8/world/actors/scheduler_process.h
index 17f70a2..4e49230 100644
--- a/engines/ultima/ultima8/world/actors/scheduler_process.h
+++ b/engines/ultima/ultima8/world/actors/scheduler_process.h
@@ -36,11 +36,11 @@ public:
 	// p_dynamic_cast stuff
 	ENABLE_RUNTIME_CLASSTYPE()
 
-	virtual void run() override;
+	void run() override;
 
 	bool loadData(IDataSource *ids, uint32 version);
 protected:
-	virtual void saveData(ODataSource *ods) override;
+	void saveData(ODataSource *ods) override;
 
 	uint32 lastRun;
 	uint16 nextActor;
diff --git a/engines/ultima/ultima8/world/actors/targeted_anim_process.h b/engines/ultima/ultima8/world/actors/targeted_anim_process.h
index 20a2364..72bb016 100644
--- a/engines/ultima/ultima8/world/actors/targeted_anim_process.h
+++ b/engines/ultima/ultima8/world/actors/targeted_anim_process.h
@@ -42,9 +42,9 @@ public:
 
 	bool loadData(IDataSource *ids, uint32 version);
 protected:
-	virtual void saveData(ODataSource *ods) override;
+	void saveData(ODataSource *ods) override;
 
-	virtual bool init() override;
+	bool init() override;
 
 	int32 x, y, z;
 };
diff --git a/engines/ultima/ultima8/world/actors/teleport_to_egg_process.h b/engines/ultima/ultima8/world/actors/teleport_to_egg_process.h
index c4f6864..3d94e6d 100644
--- a/engines/ultima/ultima8/world/actors/teleport_to_egg_process.h
+++ b/engines/ultima/ultima8/world/actors/teleport_to_egg_process.h
@@ -37,12 +37,12 @@ public:
 	// p_dynamic_cast stuff
 	ENABLE_RUNTIME_CLASSTYPE()
 
-	virtual void run() override;
+	void run() override;
 
 	bool loadData(IDataSource *ids, uint32 version);
 
 protected:
-	virtual void saveData(ODataSource *ods) override;
+	void saveData(ODataSource *ods) override;
 
 	int mapnum;
 	int teleport_id;
diff --git a/engines/ultima/ultima8/world/camera_process.h b/engines/ultima/ultima8/world/camera_process.h
index 4907d25..dd522ff 100644
--- a/engines/ultima/ultima8/world/camera_process.h
+++ b/engines/ultima/ultima8/world/camera_process.h
@@ -46,12 +46,12 @@ public:
 	CameraProcess(int32 x, int32 y, int32 z);               // Goto location
 	CameraProcess(int32 x, int32 y, int32 z, int32 time);   // Scroll to location
 
-	virtual ~CameraProcess();
+	~CameraProcess() override;
 
 	// p_dynamic_cast stuff
 	ENABLE_RUNTIME_CLASSTYPE()
 
-	virtual void run() override;
+	void run() override;
 
 	// You will notice that this isn't the same as how Item::GetLerped works
 	void GetLerped(int32 &x, int32 &y, int32 &z, int32 factor, bool noupdate = false);
@@ -81,11 +81,11 @@ public:
 
 	void                    ItemMoved();
 
-	virtual void terminate() override;   // Terminate NOW!
+	void terminate() override;   // Terminate NOW!
 
 	bool loadData(IDataSource *ids, uint32 version);
 private:
-	virtual void saveData(ODataSource *ods) override;
+	void saveData(ODataSource *ods) override;
 
 	int32 sx, sy, sz;
 	int32 ex, ey, ez;
diff --git a/engines/ultima/ultima8/world/container.h b/engines/ultima/ultima8/world/container.h
index 27050f5..3a04b6c 100644
--- a/engines/ultima/ultima8/world/container.h
+++ b/engines/ultima/ultima8/world/container.h
@@ -40,7 +40,7 @@ class Container : public Item {
 	friend class PaperdollGump;
 public:
 	Container();
-	virtual ~Container();
+	~Container() override;
 
 	// p_dynamic_cast stuff
 	ENABLE_RUNTIME_CLASSTYPE()
@@ -76,7 +76,7 @@ public:
 	void destroyContents();
 
 	//! Set flag on container and all its contents recursively
-	virtual void setFlagRecursively(uint32 mask) override;
+	void setFlagRecursively(uint32 mask) override;
 
 	//! Search the container for items matching the given loopscript.
 	//! \param itemlist The matching items are appended to this list
@@ -88,7 +88,7 @@ public:
 
 	//! Get the weight of the container and its contents
 	//! \return weight
-	virtual uint32 getTotalWeight() override;
+	uint32 getTotalWeight() override;
 
 	//! Get the container's capacity
 	virtual uint32 getCapacity();
@@ -98,15 +98,15 @@ public:
 
 	//! Assign self and contents an objID
 	//! \return the assiged ID
-	virtual ObjId assignObjId() override;
+	ObjId assignObjId() override;
 
 	//! Clear objIDs of self and contents
-	virtual void clearObjId() override;
+	void clearObjId() override;
 
 	//! Destroy self
-	virtual void destroy(bool delnow = false) override;
+	void destroy(bool delnow = false) override;
 
-	virtual void dumpInfo() override;
+	void dumpInfo() override;
 
 	bool loadData(IDataSource *ids, uint32 version);
 
@@ -115,7 +115,7 @@ public:
 
 protected:
 	//! save Container data
-	virtual void saveData(ODataSource *ods) override;
+	void saveData(ODataSource *ods) override;
 
 	Std::list<Item *> contents;
 };
diff --git a/engines/ultima/ultima8/world/create_item_process.h b/engines/ultima/ultima8/world/create_item_process.h
index cbfbeed..aae553b 100644
--- a/engines/ultima/ultima8/world/create_item_process.h
+++ b/engines/ultima/ultima8/world/create_item_process.h
@@ -38,13 +38,13 @@ public:
 	CreateItemProcess(uint32 shape, uint32 frame, uint16 quality,
 	                  uint16 flags, uint16 npcnum, uint16 mapnum,
 	                  uint32 extendedflags, int32 x, int32 y, int32 z);
-	virtual ~CreateItemProcess(void);
+	~CreateItemProcess(void) override;
 
-	virtual void run() override;
+	void run() override;
 
 	bool loadData(IDataSource *ids, uint32 version);
 protected:
-	virtual void saveData(ODataSource *ods) override;
+	void saveData(ODataSource *ods) override;
 
 	uint32 shape;
 	uint32 frame;
diff --git a/engines/ultima/ultima8/world/destroy_item_process.h b/engines/ultima/ultima8/world/destroy_item_process.h
index 1121f1c..22c5992 100644
--- a/engines/ultima/ultima8/world/destroy_item_process.h
+++ b/engines/ultima/ultima8/world/destroy_item_process.h
@@ -42,11 +42,11 @@ public:
 	// p_dynamic_cast stuff
 	ENABLE_RUNTIME_CLASSTYPE()
 
-	virtual void run() override;
+	void run() override;
 
 	bool loadData(IDataSource *ids, uint32 version);
 protected:
-	virtual void saveData(ODataSource *ods) override;
+	void saveData(ODataSource *ods) override;


Commit: 132e040b8fb72bf3deefd131563b0a0d294cf628
    https://github.com/scummvm/scummvm/commit/132e040b8fb72bf3deefd131563b0a0d294cf628
Author: Bastien Bouclet (bastien.bouclet at gmail.com)
Date: 2020-02-09T12:55:00+01:00

Commit Message:
VOYEUR: Add override keywords

Changed paths:
    engines/voyeur/animation.h
    engines/voyeur/debugger.h
    engines/voyeur/detection.cpp
    engines/voyeur/files.h
    engines/voyeur/screen.h
    engines/voyeur/voyeur.h


diff --git a/engines/voyeur/animation.h b/engines/voyeur/animation.h
index fbb0cc9..dea9107 100644
--- a/engines/voyeur/animation.h
+++ b/engines/voyeur/animation.h
@@ -91,15 +91,15 @@ private:
 		const RL2FileHeader &_header;
 		Audio::QueuingAudioStream *_audStream;
 	protected:
-		Audio::AudioStream *getAudioStream() const;
+		Audio::AudioStream *getAudioStream() const override;
 	public:
 		RL2AudioTrack(const RL2FileHeader &header, Common::SeekableReadStream *stream,
 			Audio::Mixer::SoundType soundType);
-		~RL2AudioTrack();
+		~RL2AudioTrack() override;
 
 		int numQueuedStreams() const { return _audStream->numQueuedStreams(); }
-		virtual bool isSeekable() const { return true; }
-		virtual bool seek(const Audio::Timestamp &time) { return true; }
+		bool isSeekable() const override { return true; }
+		bool seek(const Audio::Timestamp &time) override { return true; }
 
 		void queueSound(Common::SeekableReadStream *stream, int size);
 	};
@@ -108,26 +108,26 @@ private:
 	public:
 		RL2VideoTrack(const RL2FileHeader &header, RL2AudioTrack *audioTrack,
 			Common::SeekableReadStream *stream);
-		~RL2VideoTrack();
+		~RL2VideoTrack() override;
 
-		uint16 getWidth() const;
-		uint16 getHeight() const;
+		uint16 getWidth() const override;
+		uint16 getHeight() const override;
 		Graphics::Surface *getSurface() { return _surface; }
 		Graphics::Surface *getBackSurface();
-		Graphics::PixelFormat getPixelFormat() const;
-		int getCurFrame() const { return _curFrame; }
-		int getFrameCount() const { return _header._numFrames; }
-		const Graphics::Surface *decodeNextFrame();
-		const byte *getPalette() const { _dirtyPalette = false; return _header._palette; }
+		Graphics::PixelFormat getPixelFormat() const override;
+		int getCurFrame() const override { return _curFrame; }
+		int getFrameCount() const override { return _header._numFrames; }
+		const Graphics::Surface *decodeNextFrame() override;
+		const byte *getPalette() const override { _dirtyPalette = false; return _header._palette; }
 		int getPaletteCount() const { return _header._colorCount; }
-		bool hasDirtyPalette() const { return _dirtyPalette; }
+		bool hasDirtyPalette() const override { return _dirtyPalette; }
 		const Common::List<Common::Rect> *getDirtyRects() const { return &_dirtyRects; }
 		void clearDirtyRects() { _dirtyRects.clear(); }
 		void copyDirtyRectsToBuffer(uint8 *dst, uint pitch);
 
-		virtual Common::Rational getFrameRate() const { return _header.getFrameRate(); }
-		virtual bool isSeekable() const { return true; }
-		virtual bool seek(const Audio::Timestamp &time);
+		Common::Rational getFrameRate() const override { return _header.getFrameRate(); }
+		bool isSeekable() const override { return true; }
+		bool seek(const Audio::Timestamp &time) override;
 	private:
 		Common::SeekableReadStream *_fileStream;
 		const RL2FileHeader &_header;
@@ -164,16 +164,16 @@ private:
 	void copyDirtyRectsToBuffer(uint8 *dst, uint pitch);
 	int getPaletteStart() const { return _paletteStart; }
 	const RL2FileHeader &getHeader() { return _header; }
-	virtual void readNextPacket();
-	virtual bool seekIntern(const Audio::Timestamp &time);
+	void readNextPacket() override;
+	bool seekIntern(const Audio::Timestamp &time) override;
 
 public:
 	RL2Decoder();
-	virtual ~RL2Decoder();
+	~RL2Decoder() override;
 
-	virtual void close();
+	void close() override;
 
-	bool loadStream(Common::SeekableReadStream *stream);
+	bool loadStream(Common::SeekableReadStream *stream) override;
 	bool loadRL2File(const Common::String &file, bool palFlag);
 	bool loadVideo(int videoId);
 	int getPaletteCount() const { return _header._colorCount; }
diff --git a/engines/voyeur/debugger.h b/engines/voyeur/debugger.h
index 12d62c5..c37b613 100644
--- a/engines/voyeur/debugger.h
+++ b/engines/voyeur/debugger.h
@@ -62,7 +62,7 @@ protected:
 	bool Cmd_Mouse(int argc, const char **argv);
 public:
 	Debugger(VoyeurEngine *vm);
-	virtual ~Debugger() {}
+	~Debugger() override {}
 };
 
 } // End of namespace Voyeur
diff --git a/engines/voyeur/detection.cpp b/engines/voyeur/detection.cpp
index 66bcf04..a543260 100644
--- a/engines/voyeur/detection.cpp
+++ b/engines/voyeur/detection.cpp
@@ -70,23 +70,23 @@ public:
 		_maxScanDepth = 3;
 	}
 
-	virtual const char *getEngineId() const override {
+	const char *getEngineId() const override {
 		return "voyeur";
 	}
 
-	virtual const char *getName() const override {
+	const char *getName() const override {
 		return "Voyeur";
 	}
 
-	virtual const char *getOriginalCopyright() const override {
+	const char *getOriginalCopyright() const override {
 		return "Voyeur (C) Philips P.O.V. Entertainment Group";
 	}
 
-	virtual bool hasFeature(MetaEngineFeature f) const override;
-	virtual bool createInstance(OSystem *syst, Engine **engine, const ADGameDescription *desc) const override;
-	virtual SaveStateList listSaves(const char *target) const override;
-	virtual int getMaximumSaveSlot() const override;
-	virtual void removeSaveState(const char *target, int slot) const override;
+	bool hasFeature(MetaEngineFeature f) const override;
+	bool createInstance(OSystem *syst, Engine **engine, const ADGameDescription *desc) const override;
+	SaveStateList listSaves(const char *target) const override;
+	int getMaximumSaveSlot() const override;
+	void removeSaveState(const char *target, int slot) const override;
 	SaveStateDescriptor querySaveMetaInfos(const char *target, int slot) const override;
 };
 
diff --git a/engines/voyeur/files.h b/engines/voyeur/files.h
index 92b4395..bf05200 100644
--- a/engines/voyeur/files.h
+++ b/engines/voyeur/files.h
@@ -133,7 +133,7 @@ private:
 	void initFont();
 	void initSoundMap();
 protected:
-	virtual void initResource(int resType);
+	void initResource(int resType) override;
 public:
 	BVoyBoltFile(BoltFilesState &state);
 };
@@ -145,7 +145,7 @@ private:
 	void initPtr();
 	void initControl();
 protected:
-	virtual void initResource(int resType);
+	void initResource(int resType) override;
 public:
 	StampBoltFile(BoltFilesState &state);
 };
diff --git a/engines/voyeur/screen.h b/engines/voyeur/screen.h
index aaf6174..c9f35e6 100644
--- a/engines/voyeur/screen.h
+++ b/engines/voyeur/screen.h
@@ -79,7 +79,7 @@ private:
 		PictureResource *srcPic, PictureResource *destPic);
 public:
 	Screen(VoyeurEngine *vm);
-	virtual ~Screen();
+	~Screen() override;
 
 	void sInitGraphics();
 
diff --git a/engines/voyeur/voyeur.h b/engines/voyeur/voyeur.h
index 3937162..c262ae0 100644
--- a/engines/voyeur/voyeur.h
+++ b/engines/voyeur/voyeur.h
@@ -157,8 +157,8 @@ private:
 	void centerMansionView();
 protected:
 	// Engine APIs
-	virtual Common::Error run() override;
-	virtual bool hasFeature(EngineFeature f) const override;
+	Common::Error run() override;
+	bool hasFeature(EngineFeature f) const override;
 public:
 	BoltFile *_bVoy;
 	Debugger *_debugger;
@@ -195,7 +195,7 @@ public:
 	int _loadGameSlot;
 public:
 	VoyeurEngine(OSystem *syst, const VoyeurGameDescription *gameDesc);
-	virtual ~VoyeurEngine();
+	~VoyeurEngine() override;
 	void GUIError(const Common::String &msg);
 
 	uint32 getFeatures() const;
@@ -206,10 +206,10 @@ public:
 
 	int getRandomNumber(int maxNumber);
 	Common::String generateSaveName(int slotNumber);
-	virtual bool canLoadGameStateCurrently() override;
-	virtual bool canSaveGameStateCurrently() override;
-	virtual Common::Error loadGameState(int slot) override;
-	virtual Common::Error saveGameState(int slot, const Common::String &desc) override;
+	bool canLoadGameStateCurrently() override;
+	bool canSaveGameStateCurrently() override;
+	Common::Error loadGameState(int slot) override;
+	Common::Error saveGameState(int slot, const Common::String &desc) override;
 	void loadGame(int slot);
 
 	void playRL2Video(const Common::String &filename);


Commit: 6ebf1aa6d19b91f5488cab1dc8e7a36f66cb7f7e
    https://github.com/scummvm/scummvm/commit/6ebf1aa6d19b91f5488cab1dc8e7a36f66cb7f7e
Author: Bastien Bouclet (bastien.bouclet at gmail.com)
Date: 2020-02-09T12:55:00+01:00

Commit Message:
WAGE: Add override keywords

Changed paths:
    engines/wage/debugger.h
    engines/wage/detection.cpp
    engines/wage/wage.h


diff --git a/engines/wage/debugger.h b/engines/wage/debugger.h
index 9068776..91d8d54 100644
--- a/engines/wage/debugger.h
+++ b/engines/wage/debugger.h
@@ -39,7 +39,7 @@ protected:
 
 public:
 	Debugger(WageEngine *engine);
-	virtual ~Debugger();
+	~Debugger() override;
 };
 
 } // End of namespace Wage
diff --git a/engines/wage/detection.cpp b/engines/wage/detection.cpp
index 5d176db..b0cfeae 100644
--- a/engines/wage/detection.cpp
+++ b/engines/wage/detection.cpp
@@ -58,23 +58,23 @@ public:
 		_guiOptions = GUIO2(GUIO_NOSPEECH, GUIO_NOMIDI);
 	}
 
-	virtual const char *getEngineId() const override {
+	const char *getEngineId() const override {
 		return "wage";
 	}
 
-	virtual const char *getName() const override {
+	const char *getName() const override {
 		return "World Adventure Game Engine";
 	}
 
-	virtual const char *getOriginalCopyright() const override {
+	const char *getOriginalCopyright() const override {
 		return "World Builder (C) Silicon Beach Software";
 	}
 
-	virtual bool createInstance(OSystem *syst, Engine **engine, const ADGameDescription *desc) const override;
-	virtual bool hasFeature(MetaEngineFeature f) const override;
-	virtual SaveStateList listSaves(const char *target) const override;
-	virtual int getMaximumSaveSlot() const override;
-	virtual void removeSaveState(const char *target, int slot) const override;
+	bool createInstance(OSystem *syst, Engine **engine, const ADGameDescription *desc) const override;
+	bool hasFeature(MetaEngineFeature f) const override;
+	SaveStateList listSaves(const char *target) const override;
+	int getMaximumSaveSlot() const override;
+	void removeSaveState(const char *target, int slot) const override;
 };
 
 bool WageMetaEngine::hasFeature(MetaEngineFeature f) const {
diff --git a/engines/wage/wage.h b/engines/wage/wage.h
index b22ba31..0ab2f3d 100644
--- a/engines/wage/wage.h
+++ b/engines/wage/wage.h
@@ -114,11 +114,11 @@ class WageEngine : public Engine {
 	friend class Dialog;
 public:
 	WageEngine(OSystem *syst, const ADGameDescription *gameDesc);
-	~WageEngine();
+	~WageEngine() override;
 
-	virtual bool hasFeature(EngineFeature f) const override;
+	bool hasFeature(EngineFeature f) const override;
 
-	virtual Common::Error run() override;
+	Common::Error run() override;
 
 	bool canLoadGameStateCurrently() override;
 	bool canSaveGameStateCurrently() override;
@@ -212,8 +212,8 @@ public:
 	void redrawScene();
 	void saveGame();
 
-	virtual Common::Error loadGameState(int slot) override;
-	virtual Common::Error saveGameState(int slot, const Common::String &description) override;
+	Common::Error loadGameState(int slot) override;
+	Common::Error saveGameState(int slot, const Common::String &description) override;
 	bool scummVMSaveLoadDialog(bool isSave);
 
 private:
@@ -229,7 +229,7 @@ private:
 
 public:
 
-	virtual GUI::Debugger *getDebugger() override { return _debugger; }
+	GUI::Debugger *getDebugger() override { return _debugger; }
 
 private:
 	Console *_console;
@@ -245,7 +245,7 @@ private:
 class Console : public GUI::Debugger {
 public:
 	Console(WageEngine *vm) {}
-	virtual ~Console(void) {}
+	~Console(void) override {}
 };
 
 } // End of namespace Wage


Commit: 80166c0fea99bb490edce53ec640c00156b0c609
    https://github.com/scummvm/scummvm/commit/80166c0fea99bb490edce53ec640c00156b0c609
Author: Bastien Bouclet (bastien.bouclet at gmail.com)
Date: 2020-02-09T12:55:00+01:00

Commit Message:
WINTERMUTE: Add override keywords

Changed paths:
    engines/wintermute/ad/ad_actor.h
    engines/wintermute/ad/ad_entity.h
    engines/wintermute/ad/ad_game.h
    engines/wintermute/ad/ad_inventory.h
    engines/wintermute/ad/ad_inventory_box.h
    engines/wintermute/ad/ad_item.h
    engines/wintermute/ad/ad_layer.h
    engines/wintermute/ad/ad_node_state.h
    engines/wintermute/ad/ad_object.h
    engines/wintermute/ad/ad_path.h
    engines/wintermute/ad/ad_path_point.h
    engines/wintermute/ad/ad_region.h
    engines/wintermute/ad/ad_response.h
    engines/wintermute/ad/ad_response_box.h
    engines/wintermute/ad/ad_response_context.h
    engines/wintermute/ad/ad_rot_level.h
    engines/wintermute/ad/ad_scale_level.h
    engines/wintermute/ad/ad_scene.h
    engines/wintermute/ad/ad_scene_node.h
    engines/wintermute/ad/ad_scene_state.h
    engines/wintermute/ad/ad_sentence.h
    engines/wintermute/ad/ad_sprite_set.h
    engines/wintermute/ad/ad_talk_def.h
    engines/wintermute/ad/ad_talk_holder.h
    engines/wintermute/ad/ad_talk_node.h
    engines/wintermute/ad/ad_waypoint_group.h
    engines/wintermute/base/base_active_rect.h
    engines/wintermute/base/base_engine.h
    engines/wintermute/base/base_fader.h
    engines/wintermute/base/base_frame.h
    engines/wintermute/base/base_game.h
    engines/wintermute/base/base_keyboard_state.h
    engines/wintermute/base/base_named_object.h
    engines/wintermute/base/base_object.h
    engines/wintermute/base/base_point.h
    engines/wintermute/base/base_region.h
    engines/wintermute/base/base_script_holder.h
    engines/wintermute/base/base_scriptable.h
    engines/wintermute/base/base_sprite.h
    engines/wintermute/base/base_string_table.h
    engines/wintermute/base/base_sub_frame.h
    engines/wintermute/base/base_surface_storage.h
    engines/wintermute/base/base_transition_manager.h
    engines/wintermute/base/base_viewport.h
    engines/wintermute/base/file/base_file_entry.h
    engines/wintermute/base/file/base_package.h
    engines/wintermute/base/file/base_save_thumb_file.h
    engines/wintermute/base/font/base_font.h
    engines/wintermute/base/font/base_font_bitmap.h
    engines/wintermute/base/font/base_font_storage.h
    engines/wintermute/base/font/base_font_truetype.h
    engines/wintermute/base/gfx/base_renderer.h
    engines/wintermute/base/gfx/base_surface.h
    engines/wintermute/base/gfx/osystem/base_render_osystem.h
    engines/wintermute/base/gfx/osystem/base_surface_osystem.h
    engines/wintermute/base/particles/part_emitter.h
    engines/wintermute/base/particles/part_force.h
    engines/wintermute/base/particles/part_particle.h
    engines/wintermute/base/scriptables/debuggable/debuggable_script.h
    engines/wintermute/base/scriptables/script.h
    engines/wintermute/base/scriptables/script_engine.h
    engines/wintermute/base/scriptables/script_ext_array.h
    engines/wintermute/base/scriptables/script_ext_date.h
    engines/wintermute/base/scriptables/script_ext_directory.h
    engines/wintermute/base/scriptables/script_ext_file.h
    engines/wintermute/base/scriptables/script_ext_math.h
    engines/wintermute/base/scriptables/script_ext_mem_buffer.h
    engines/wintermute/base/scriptables/script_ext_object.h
    engines/wintermute/base/scriptables/script_ext_string.h
    engines/wintermute/base/scriptables/script_stack.h
    engines/wintermute/base/scriptables/script_value.h
    engines/wintermute/base/sound/base_sound.h
    engines/wintermute/base/sound/base_sound_buffer.h
    engines/wintermute/base/sound/base_sound_manager.h
    engines/wintermute/debugger.h
    engines/wintermute/debugger/debugger_controller.h
    engines/wintermute/debugger/listing_providers/basic_source_listing_provider.h
    engines/wintermute/debugger/listing_providers/blank_listing.h
    engines/wintermute/debugger/listing_providers/blank_listing_provider.h
    engines/wintermute/debugger/listing_providers/cached_source_listing_provider.h
    engines/wintermute/debugger/listing_providers/source_listing.h
    engines/wintermute/debugger/listing_providers/source_listing_provider.h
    engines/wintermute/detection.cpp
    engines/wintermute/ui/ui_button.h
    engines/wintermute/ui/ui_edit.h
    engines/wintermute/ui/ui_entity.h
    engines/wintermute/ui/ui_object.h
    engines/wintermute/ui/ui_text.h
    engines/wintermute/ui/ui_tiled_image.h
    engines/wintermute/ui/ui_window.h
    engines/wintermute/video/video_player.h
    engines/wintermute/video/video_subtitler.h
    engines/wintermute/video/video_theora_player.h
    engines/wintermute/wintermute.h


diff --git a/engines/wintermute/ad/ad_actor.h b/engines/wintermute/ad/ad_actor.h
index 90df7e4..e24b394 100644
--- a/engines/wintermute/ad/ad_actor.h
+++ b/engines/wintermute/ad/ad_actor.h
@@ -47,15 +47,15 @@ class AdActor : public AdTalkHolder {
 public:
 	TDirection angleToDirection(int angle);
 	DECLARE_PERSISTENT(AdActor, AdTalkHolder)
-	virtual int32 getHeight() override;
+	int32 getHeight() override;
 	BaseSprite *getTalkStance(const char *stance) override;
 	virtual void goTo(int x, int y, TDirection afterWalkDir = DI_NONE);
 	BasePoint *_targetPoint;
-	virtual bool update() override;
-	virtual bool display() override;
+	bool update() override;
+	bool display() override;
 	virtual void turnTo(TDirection dir);
 	AdActor(BaseGame *inGame/*=nullptr*/);
-	virtual ~AdActor();
+	~AdActor() override;
 	bool loadFile(const char *filename);
 	bool loadBuffer(char *buffer, bool complete = true);
 
@@ -79,14 +79,14 @@ private:
 	Common::String _turnLeftAnimName;
 	Common::String _turnRightAnimName;
 	BaseArray<AdSpriteSet *> _anims;
-	virtual bool playAnim(const char *filename) override;
+	bool playAnim(const char *filename) override;
 	AdSpriteSet *getAnimByName(const Common::String &animName);
 
 	// scripting interface
-	virtual ScValue *scGetProperty(const Common::String &name) override;
-	virtual bool scSetProperty(const char *name, ScValue *value) override;
-	virtual bool scCallMethod(ScScript *script, ScStack *stack, ScStack *thisStack, const char *name) override;
-	virtual const char *scToString() override;
+	ScValue *scGetProperty(const Common::String &name) override;
+	bool scSetProperty(const char *name, ScValue *value) override;
+	bool scCallMethod(ScScript *script, ScStack *stack, ScStack *thisStack, const char *name) override;
+	const char *scToString() override;
 
 	bool setDefaultAnimNames();
 	BaseSprite *getTalkStanceOld(const char *stance);
diff --git a/engines/wintermute/ad/ad_entity.h b/engines/wintermute/ad/ad_entity.h
index 7611b96..a96c041 100644
--- a/engines/wintermute/ad/ad_entity.h
+++ b/engines/wintermute/ad/ad_entity.h
@@ -40,13 +40,13 @@ public:
 	void setItem(const char *itemName);
 	DECLARE_PERSISTENT(AdEntity, AdTalkHolder)
 	void updatePosition();
-	virtual int32 getHeight() override;
+	int32 getHeight() override;
 	BaseRegion *_region;
-	virtual bool saveAsText(BaseDynamicBuffer *buffer, int indent) override;
-	virtual bool update() override;
-	virtual bool display() override;
+	bool saveAsText(BaseDynamicBuffer *buffer, int indent) override;
+	bool update() override;
+	bool display() override;
 	AdEntity(BaseGame *inGame);
-	virtual ~AdEntity();
+	~AdEntity() override;
 	bool loadFile(const char *filename);
 	bool loadBuffer(char *buffer, bool complete = true);
 
@@ -61,10 +61,10 @@ public:
 #endif
 
 	// scripting interface
-	virtual ScValue *scGetProperty(const Common::String &name) override;
-	virtual bool scSetProperty(const char *name, ScValue *value) override;
-	virtual bool scCallMethod(ScScript *script, ScStack *stack, ScStack *thisStack, const char *name) override;
-	virtual const char *scToString() override;
+	ScValue *scGetProperty(const Common::String &name) override;
+	bool scSetProperty(const char *name, ScValue *value) override;
+	bool scCallMethod(ScScript *script, ScStack *stack, ScStack *thisStack, const char *name) override;
+	const char *scToString() override;
 	Common::String debuggerToString() const override;
 private:
 	int32 _walkToX;
diff --git a/engines/wintermute/ad/ad_game.h b/engines/wintermute/ad/ad_game.h
index 1594163..7ccb772 100644
--- a/engines/wintermute/ad/ad_game.h
+++ b/engines/wintermute/ad/ad_game.h
@@ -44,15 +44,15 @@ class AdResponseContext;
 class AdResponseBox;
 class AdGame : public BaseGame {
 public:
-	virtual bool onScriptShutdown(ScScript *script) override;
+	bool onScriptShutdown(ScScript *script) override;
 
-	virtual bool onMouseLeftDown() override;
-	virtual bool onMouseLeftUp() override;
-	virtual bool onMouseLeftDblClick() override;
-	virtual bool onMouseRightDown() override;
-	virtual bool onMouseRightUp() override;
+	bool onMouseLeftDown() override;
+	bool onMouseLeftUp() override;
+	bool onMouseLeftDblClick() override;
+	bool onMouseRightDown() override;
+	bool onMouseRightUp() override;
 
-	virtual bool displayDebugInfo() override;
+	bool displayDebugInfo() override;
 
 	bool addSpeechDir(const char *dir);
 	bool removeSpeechDir(const char *dir);
@@ -61,7 +61,7 @@ public:
 	bool deleteItem(AdItem *Item);
 	char *_itemsFile;
 	bool _tempDisableSaveState;
-	virtual bool resetContent() override;
+	bool resetContent() override;
 	bool addItem(AdItem *item);
 	AdItem *getItemByName(const char *name) const;
 
@@ -69,7 +69,7 @@ public:
 	bool isItemTaken(char *itemName);
 	bool registerInventory(AdInventory *inv);
 	bool unregisterInventory(AdInventory *inv);
-	virtual bool displayContent(bool update = true, bool displayAll = false) override;
+	bool displayContent(bool update = true, bool displayAll = false) override;
 
 	bool gameResponseUsed(int ID) const;
 	bool addGameResponse(int ID);
@@ -80,8 +80,8 @@ public:
 	bool clearBranchResponses(char *name);
 	bool startDlgBranch(const char *branchName, const char *scriptName, const char *eventName);
 	bool endDlgBranch(const char *branchName, const char *scriptName, const char *eventName);
-	virtual bool windowLoadHook(UIWindow *win, char **buf, char **params) override;
-	virtual bool windowScriptMethodHook(UIWindow *win, ScScript *script, ScStack *stack, const char *name) override;
+	bool windowLoadHook(UIWindow *win, char **buf, char **params) override;
+	bool windowScriptMethodHook(UIWindow *win, ScScript *script, ScStack *stack, const char *name) override;
 
 	AdSceneState *getSceneState(const char *filename, bool saving);
 	BaseViewport *_sceneViewport;
@@ -93,7 +93,7 @@ public:
 
 	TTalkSkipButton _talkSkipButton;
 
-	virtual bool getVersion(byte *verMajor, byte *verMinor, byte *extMajor, byte *extMinor) const override;
+	bool getVersion(byte *verMajor, byte *verMinor, byte *extMajor, byte *extMinor) const override;
 	bool scheduleChangeScene(const char *filename, bool fadeIn);
 	void setPrevSceneName(const char *name);
 	void setPrevSceneFilename(const char *name);
@@ -115,24 +115,24 @@ public:
 	AdScene *_scene;
 	bool initLoop();
 	AdGame(const Common::String &gameId);
-	virtual ~AdGame();
+	~AdGame() override;
 
 	BaseArray<AdObject *> _objects;
 
-	virtual bool loadFile(const char *filename) override;
-	virtual bool loadBuffer(char *buffer, bool complete = true) override;
+	bool loadFile(const char *filename) override;
+	bool loadBuffer(char *buffer, bool complete = true) override;
 
 	bool loadItemsFile(const char *filename, bool merge = false);
 	bool loadItemsBuffer(char *buffer, bool merge = false);
 
 	// scripting interface
-	virtual ScValue *scGetProperty(const Common::String &name) override;
-	virtual bool scSetProperty(const char *name, ScValue *value) override;
-	virtual bool scCallMethod(ScScript *script, ScStack *stack, ScStack *thisStack, const char *name) override;
+	ScValue *scGetProperty(const Common::String &name) override;
+	bool scSetProperty(const char *name, ScValue *value) override;
+	bool scCallMethod(ScScript *script, ScStack *stack, ScStack *thisStack, const char *name) override;
 	bool validMouse();
 	Common::String debuggerToString() const override;
 private:
-	virtual bool externalCall(ScScript *script, ScStack *stack, ScStack *thisStack, char *name) override;
+	bool externalCall(ScScript *script, ScStack *stack, ScStack *thisStack, char *name) override;
 
 	AdObject *_invObject;
 	BaseArray<AdInventory *> _inventories;
diff --git a/engines/wintermute/ad/ad_inventory.h b/engines/wintermute/ad/ad_inventory.h
index c2092bc..552040a 100644
--- a/engines/wintermute/ad/ad_inventory.h
+++ b/engines/wintermute/ad/ad_inventory.h
@@ -42,7 +42,7 @@ public:
 	bool removeItem(AdItem *Item);
 	bool insertItem(const char *name, const char *insertAfter = nullptr);
 	AdInventory(BaseGame *inGame);
-	virtual ~AdInventory();
+	~AdInventory() override;
 	BaseArray<AdItem *> _takenItems;
 	int32 _scrollOffset;
 };
diff --git a/engines/wintermute/ad/ad_inventory_box.h b/engines/wintermute/ad/ad_inventory_box.h
index 6405927..ea80551 100644
--- a/engines/wintermute/ad/ad_inventory_box.h
+++ b/engines/wintermute/ad/ad_inventory_box.h
@@ -41,7 +41,7 @@ public:
 	bool _hideSelected;
 	DECLARE_PERSISTENT(AdInventoryBox, BaseObject)
 	bool _visible;
-	virtual bool display() override;
+	bool display() override;
 	UIButton *_closeButton;
 	int32 _spacing;
 	int32 _scrollOffset;
@@ -49,10 +49,10 @@ public:
 	bool listen(BaseScriptHolder *param1, uint32 param2) override;
 	UIWindow *_window;
 	AdInventoryBox(BaseGame *inGame);
-	virtual ~AdInventoryBox();
+	~AdInventoryBox() override;
 	bool loadFile(const char *filename);
 	bool loadBuffer(char *buffer, bool complete = true);
-	virtual bool saveAsText(BaseDynamicBuffer *buffer, int indent) override;
+	bool saveAsText(BaseDynamicBuffer *buffer, int indent) override;
 private:
 	bool _exclusive;
 	int32 _scrollBy;
diff --git a/engines/wintermute/ad/ad_item.h b/engines/wintermute/ad/ad_item.h
index dcfd1dd..1230735 100644
--- a/engines/wintermute/ad/ad_item.h
+++ b/engines/wintermute/ad/ad_item.h
@@ -48,15 +48,15 @@ public:
 	BaseSprite *_cursorNormal;
 	BaseSprite *_cursorHover;
 	AdItem(BaseGame *inGame);
-	virtual ~AdItem();
+	~AdItem() override;
 	bool loadFile(const char *filename);
 	bool loadBuffer(char *buffer, bool complete = true);
 
 	// scripting interface
-	virtual ScValue *scGetProperty(const Common::String &name) override;
-	virtual bool scSetProperty(const char *name, ScValue *value) override;
-	virtual bool scCallMethod(ScScript *script, ScStack *stack, ScStack *thisStack, const char *name) override;
-	virtual const char *scToString() override;
+	ScValue *scGetProperty(const Common::String &name) override;
+	bool scSetProperty(const char *name, ScValue *value) override;
+	bool scCallMethod(ScScript *script, ScStack *stack, ScStack *thisStack, const char *name) override;
+	const char *scToString() override;
 private:
 	bool _displayAmount;
 	int32 _amount;
diff --git a/engines/wintermute/ad/ad_layer.h b/engines/wintermute/ad/ad_layer.h
index 995ef28..46d458a 100644
--- a/engines/wintermute/ad/ad_layer.h
+++ b/engines/wintermute/ad/ad_layer.h
@@ -40,17 +40,17 @@ public:
 	int32 _width;
 	bool _main;
 	AdLayer(BaseGame *inGame);
-	virtual ~AdLayer();
+	~AdLayer() override;
 	BaseArray<AdSceneNode *> _nodes;
 	bool loadFile(const char *filename);
 	bool loadBuffer(char *buffer, bool complete = true);
-	virtual bool saveAsText(BaseDynamicBuffer *buffer, int indent) override;
+	bool saveAsText(BaseDynamicBuffer *buffer, int indent) override;
 
 	// scripting interface
-	virtual ScValue *scGetProperty(const Common::String &name) override;
-	virtual bool scSetProperty(const char *name, ScValue *value) override;
-	virtual bool scCallMethod(ScScript *script, ScStack *stack, ScStack *thisStack, const char *name) override;
-	virtual const char *scToString() override;
+	ScValue *scGetProperty(const Common::String &name) override;
+	bool scSetProperty(const char *name, ScValue *value) override;
+	bool scCallMethod(ScScript *script, ScStack *stack, ScStack *thisStack, const char *name) override;
+	const char *scToString() override;
 };
 
 } // End of namespace Wintermute
diff --git a/engines/wintermute/ad/ad_node_state.h b/engines/wintermute/ad/ad_node_state.h
index cf897e9..9fd6bc6 100644
--- a/engines/wintermute/ad/ad_node_state.h
+++ b/engines/wintermute/ad/ad_node_state.h
@@ -42,7 +42,7 @@ public:
 	void setCursor(const char *filename);
 	DECLARE_PERSISTENT(AdNodeState, BaseClass)
 	AdNodeState(BaseGame *inGame);
-	virtual ~AdNodeState();
+	~AdNodeState() override;
 	const char *getName() const { return _name; }
 private:
 	char *_name;
diff --git a/engines/wintermute/ad/ad_object.h b/engines/wintermute/ad/ad_object.h
index 35a734c..854ce71 100644
--- a/engines/wintermute/ad/ad_object.h
+++ b/engines/wintermute/ad/ad_object.h
@@ -55,17 +55,17 @@ public:
 
 	bool updateBlockRegion();
 
-	virtual bool getExtendedFlag(const char *flagName) override;
-	virtual bool resetSoundPan() override;
-	virtual bool updateSounds() override;
+	bool getExtendedFlag(const char *flagName) override;
+	bool resetSoundPan() override;
+	bool updateSounds() override;
 	bool reset();
 	DECLARE_PERSISTENT(AdObject, BaseObject)
 	virtual void talk(const char *text, const char *sound = nullptr, uint32 duration = 0, const char *stances = nullptr, TTextAlign align = TAL_CENTER);
-	virtual int32 getHeight() override;
+	int32 getHeight() override;
 
 	bool setFont(const char *filename);
-	virtual bool update() override;
-	virtual bool display() override;
+	bool update() override;
+	bool display() override;
 
 	bool _drawn;
 	bool _active;
@@ -73,20 +73,20 @@ public:
 
 	TObjectType getType() const;
 	AdObject(BaseGame *inGame);
-	virtual ~AdObject();
+	~AdObject() override;
 
 	BaseRegion *_currentBlockRegion;
 	AdWaypointGroup *_currentWptGroup;
 	AdInventory *getInventory();
 
-	virtual bool saveAsText(BaseDynamicBuffer *buffer, int indent) override;
-	virtual bool afterMove() override;
+	bool saveAsText(BaseDynamicBuffer *buffer, int indent) override;
+	bool afterMove() override;
 
 	// scripting interface
-	virtual ScValue *scGetProperty(const Common::String &name) override;
-	virtual bool scSetProperty(const char *name, ScValue *value) override;
-	virtual bool scCallMethod(ScScript *script, ScStack *stack, ScStack *thisStack, const char *name) override;
-	virtual const char *scToString() override;
+	ScValue *scGetProperty(const Common::String &name) override;
+	bool scSetProperty(const char *name, ScValue *value) override;
+	bool scCallMethod(ScScript *script, ScStack *stack, ScStack *thisStack, const char *name) override;
+	const char *scToString() override;
 	bool updateSpriteAttachments();
 	bool displaySpriteAttachments(bool preDisplay);
 
diff --git a/engines/wintermute/ad/ad_path.h b/engines/wintermute/ad/ad_path.h
index 8dbec5e..3d89d97 100644
--- a/engines/wintermute/ad/ad_path.h
+++ b/engines/wintermute/ad/ad_path.h
@@ -45,7 +45,7 @@ public:
 	BasePoint *getFirst();
 	void reset();
 	AdPath(BaseGame *inGame);
-	virtual ~AdPath();
+	~AdPath() override;
 	BaseArray<BasePoint *> _points;
 	int32 _currIndex;
 	bool _ready;
diff --git a/engines/wintermute/ad/ad_path_point.h b/engines/wintermute/ad/ad_path_point.h
index c375946..afd4c77 100644
--- a/engines/wintermute/ad/ad_path_point.h
+++ b/engines/wintermute/ad/ad_path_point.h
@@ -39,7 +39,7 @@ public:
 	DECLARE_PERSISTENT(AdPathPoint, BasePoint)
 	AdPathPoint(int initX, int initY, int initDistance);
 	AdPathPoint();
-	virtual ~AdPathPoint();
+	~AdPathPoint() override;
 	AdPathPoint *_origin;
 	bool _marked;
 	int32 _distance;
diff --git a/engines/wintermute/ad/ad_region.h b/engines/wintermute/ad/ad_region.h
index 2b5e468..c4310b2 100644
--- a/engines/wintermute/ad/ad_region.h
+++ b/engines/wintermute/ad/ad_region.h
@@ -38,20 +38,20 @@ public:
 	DECLARE_PERSISTENT(AdRegion, BaseRegion)
 
 	AdRegion(BaseGame *inGame);
-	virtual ~AdRegion();
+	~AdRegion() override;
 	bool loadFile(const char *filename);
 	bool loadBuffer(char *buffer, bool complete = true);
-	virtual bool saveAsText(BaseDynamicBuffer *buffer, int indent) override;
+	bool saveAsText(BaseDynamicBuffer *buffer, int indent) override;
 
 	bool hasDecoration() const;
 	bool isBlocked() const;
 	uint32 getAlpha() const;
 	float getZoom() const;
 	// scripting interface
-	virtual ScValue *scGetProperty(const Common::String &name) override;
-	virtual bool scSetProperty(const char *name, ScValue *value) override;
-	virtual bool scCallMethod(ScScript *script, ScStack *stack, ScStack *thisStack, const char *name) override;
-	virtual const char *scToString() override;
+	ScValue *scGetProperty(const Common::String &name) override;
+	bool scSetProperty(const char *name, ScValue *value) override;
+	bool scCallMethod(ScScript *script, ScStack *stack, ScStack *thisStack, const char *name) override;
+	const char *scToString() override;
 private:
 	uint32 _alpha;
 	float _zoom;
diff --git a/engines/wintermute/ad/ad_response.h b/engines/wintermute/ad/ad_response.h
index 22aac01..b7a3458 100644
--- a/engines/wintermute/ad/ad_response.h
+++ b/engines/wintermute/ad/ad_response.h
@@ -54,7 +54,7 @@ public:
 	const char *getTextOrig() const;
 
 	AdResponse(BaseGame *inGame);
-	virtual ~AdResponse();
+	~AdResponse() override;
 	TResponseType _responseType;
 private:
 	BaseSprite *_icon;
diff --git a/engines/wintermute/ad/ad_response_box.h b/engines/wintermute/ad/ad_response_box.h
index 9ef5a62..5649172 100644
--- a/engines/wintermute/ad/ad_response_box.h
+++ b/engines/wintermute/ad/ad_response_box.h
@@ -54,7 +54,7 @@ public:
 
 	DECLARE_PERSISTENT(AdResponseBox, BaseObject)
 	ScScript *_waitingScript;
-	virtual bool listen(BaseScriptHolder *param1, uint32 param2) override;
+	bool listen(BaseScriptHolder *param1, uint32 param2) override;
 	typedef enum {
 		EVENT_PREV,
 		EVENT_NEXT,
@@ -69,11 +69,11 @@ public:
 	void clearButtons();
 	void clearResponses();
 	AdResponseBox(BaseGame *inGame);
-	virtual ~AdResponseBox();
+	~AdResponseBox() override;
 
 	bool loadFile(const char *filename);
 	bool loadBuffer(char *buffer, bool complete = true);
-	virtual bool saveAsText(BaseDynamicBuffer *buffer, int indent) override;
+	bool saveAsText(BaseDynamicBuffer *buffer, int indent) override;
 
 	UIWindow *getResponseWindow();
 	uint32 getNumResponses() const;
diff --git a/engines/wintermute/ad/ad_response_context.h b/engines/wintermute/ad/ad_response_context.h
index 385ec2d..0597d55 100644
--- a/engines/wintermute/ad/ad_response_context.h
+++ b/engines/wintermute/ad/ad_response_context.h
@@ -42,7 +42,7 @@ public:
 
 	DECLARE_PERSISTENT(AdResponseContext, BaseClass)
 	AdResponseContext(BaseGame *inGame);
-	virtual ~AdResponseContext();
+	~AdResponseContext() override;
 private:
 	char *_context;
 };
diff --git a/engines/wintermute/ad/ad_rot_level.h b/engines/wintermute/ad/ad_rot_level.h
index f60dd0a..1df7f5c 100644
--- a/engines/wintermute/ad/ad_rot_level.h
+++ b/engines/wintermute/ad/ad_rot_level.h
@@ -38,9 +38,9 @@ class AdRotLevel : public BaseObject {
 public:
 	DECLARE_PERSISTENT(AdRotLevel, BaseObject)
 	AdRotLevel(BaseGame *inGame);
-	virtual ~AdRotLevel();
+	~AdRotLevel() override;
 	float getRotation() const { return _rotation; }
-	virtual bool saveAsText(BaseDynamicBuffer *buffer, int indent) override;
+	bool saveAsText(BaseDynamicBuffer *buffer, int indent) override;
 	bool loadFile(const char *filename);
 	bool loadBuffer(char *buffer, bool complete = true);
 };
diff --git a/engines/wintermute/ad/ad_scale_level.h b/engines/wintermute/ad/ad_scale_level.h
index 4d6a835..5a62bdd 100644
--- a/engines/wintermute/ad/ad_scale_level.h
+++ b/engines/wintermute/ad/ad_scale_level.h
@@ -38,8 +38,8 @@ class AdScaleLevel : public BaseObject {
 public:
 	DECLARE_PERSISTENT(AdScaleLevel, BaseObject)
 	AdScaleLevel(BaseGame *inGame);
-	virtual ~AdScaleLevel();
-	virtual bool saveAsText(BaseDynamicBuffer *buffer, int indent) override;
+	~AdScaleLevel() override;
+	bool saveAsText(BaseDynamicBuffer *buffer, int indent) override;
 	bool loadFile(const char *filename);
 	bool loadBuffer(char *buffer, bool complete = true);
 	float getScale() const;
diff --git a/engines/wintermute/ad/ad_scene.h b/engines/wintermute/ad/ad_scene.h
index dfae8f1..f63ffd3 100644
--- a/engines/wintermute/ad/ad_scene.h
+++ b/engines/wintermute/ad/ad_scene.h
@@ -87,7 +87,7 @@ public:
 	float getScaleAt(int y);
 	bool sortScaleLevels();
 	bool sortRotLevels();
-	virtual bool saveAsText(BaseDynamicBuffer *buffer, int indent) override;
+	bool saveAsText(BaseDynamicBuffer *buffer, int indent) override;
 	uint32 getAlphaAt(int x, int y, bool colorCheck = false);
 	bool _paralaxScrolling;
 	void skipTo(int offsetX, int offsetY);
@@ -96,7 +96,7 @@ public:
 	void skipToObject(BaseObject *object);
 	void scrollToObject(BaseObject *object);
 	void scrollTo(int offsetX, int offsetY);
-	virtual bool update() override;
+	bool update() override;
 	bool _autoScroll;
 	int32 _targetOffsetTop;
 	int32 _targetOffsetLeft;
@@ -109,7 +109,7 @@ public:
 	uint32 _scrollTimeH;
 	uint32 _lastTimeH;
 
-	virtual bool display() override;
+	bool display() override;
 	uint32 _pfMaxTime;
 	bool initLoop();
 	void pathFinderStep();
@@ -119,7 +119,7 @@ public:
 	float getZoomAt(int x, int y);
 	bool getPath(const BasePoint &source, const BasePoint &target, AdPath *path, BaseObject *requester = nullptr);
 	AdScene(BaseGame *inGame);
-	virtual ~AdScene();
+	~AdScene() override;
 	BaseArray<AdLayer *> _layers;
 	BaseArray<AdObject *> _objects;
 	BaseArray<AdWaypointGroup *> _waypointGroups;
@@ -152,15 +152,15 @@ public:
 	BaseArray<AdScaleLevel *> _scaleLevels;
 	BaseArray<AdRotLevel *> _rotLevels;
 
-	virtual bool restoreDeviceObjects() override;
+	bool restoreDeviceObjects() override;
 	int getPointsDist(const BasePoint &p1, const BasePoint &p2, BaseObject *requester = nullptr);
 
 	// scripting interface
-	virtual ScValue *scGetProperty(const Common::String &name) override;
-	virtual bool scSetProperty(const char *name, ScValue *value) override;
-	virtual bool scCallMethod(ScScript *script, ScStack *stack, ScStack *thisStack, const char *name) override;
-	virtual const char *scToString() override;
-	virtual Common::String debuggerToString() const override;
+	ScValue *scGetProperty(const Common::String &name) override;
+	bool scSetProperty(const char *name, ScValue *value) override;
+	bool scCallMethod(ScScript *script, ScStack *stack, ScStack *thisStack, const char *name) override;
+	const char *scToString() override;
+	Common::String debuggerToString() const override;
 
 private:
 	bool persistState(bool saving = true);
diff --git a/engines/wintermute/ad/ad_scene_node.h b/engines/wintermute/ad/ad_scene_node.h
index 34b59cd..a8f671a 100644
--- a/engines/wintermute/ad/ad_scene_node.h
+++ b/engines/wintermute/ad/ad_scene_node.h
@@ -45,7 +45,7 @@ public:
 	AdRegion *_region;
 	TObjectType _type;
 	AdSceneNode(BaseGame *inGame);
-	virtual ~AdSceneNode();
+	~AdSceneNode() override;
 
 };
 
diff --git a/engines/wintermute/ad/ad_scene_state.h b/engines/wintermute/ad/ad_scene_state.h
index 90e39f3..7ff4a4c 100644
--- a/engines/wintermute/ad/ad_scene_state.h
+++ b/engines/wintermute/ad/ad_scene_state.h
@@ -42,7 +42,7 @@ public:
 	const char *getFilename() const;
 	DECLARE_PERSISTENT(AdSceneState, BaseClass)
 	AdSceneState(BaseGame *inGame);
-	virtual ~AdSceneState();
+	~AdSceneState() override;
 private:
 	char *_filename;
 	BaseArray<AdNodeState *> _nodeStates;
diff --git a/engines/wintermute/ad/ad_sentence.h b/engines/wintermute/ad/ad_sentence.h
index 7d18778..7e6b99d 100644
--- a/engines/wintermute/ad/ad_sentence.h
+++ b/engines/wintermute/ad/ad_sentence.h
@@ -69,7 +69,7 @@ public:
 	char *_text;
 	uint32 _duration;
 	AdSentence(BaseGame *inGame);
-	virtual ~AdSentence();
+	~AdSentence() override;
 	AdTalkDef *_talkDef;
 
 	bool canSkip();
diff --git a/engines/wintermute/ad/ad_sprite_set.h b/engines/wintermute/ad/ad_sprite_set.h
index 8590970..a7f22f5 100644
--- a/engines/wintermute/ad/ad_sprite_set.h
+++ b/engines/wintermute/ad/ad_sprite_set.h
@@ -37,12 +37,12 @@ class BaseSprite;
 class AdSpriteSet : public BaseObject {
 public:
 	bool containsSprite(BaseSprite *sprite);
-	virtual bool saveAsText(BaseDynamicBuffer *buffer, int indent = 0) override;
+	bool saveAsText(BaseDynamicBuffer *buffer, int indent = 0) override;
 	BaseSprite *getSprite(TDirection direction);
 	DECLARE_PERSISTENT(AdSpriteSet, BaseObject)
 	BaseObject *_owner;
 	AdSpriteSet(BaseGame *inGame, BaseObject *owner = nullptr);
-	virtual ~AdSpriteSet();
+	~AdSpriteSet() override;
 	bool loadFile(const char *filename, int lifeTime = -1, TSpriteCacheType cacheType = CACHE_ALL);
 	bool loadBuffer(char *buffer, bool complete = true, int lifeTime = -1, TSpriteCacheType cacheType = CACHE_ALL);
 	BaseSprite *_sprites[NUM_DIRECTIONS];
diff --git a/engines/wintermute/ad/ad_talk_def.h b/engines/wintermute/ad/ad_talk_def.h
index a19c504..d314244 100644
--- a/engines/wintermute/ad/ad_talk_def.h
+++ b/engines/wintermute/ad/ad_talk_def.h
@@ -44,13 +44,13 @@ public:
 	DECLARE_PERSISTENT(AdTalkDef, BaseObject)
 
 	AdTalkDef(BaseGame *inGame);
-	virtual ~AdTalkDef();
+	~AdTalkDef() override;
 	bool loadFile(const char *filename);
 	bool loadBuffer(char *buffer, bool complete = true);
 	BaseArray<AdTalkNode *> _nodes;
 	char *_defaultSpriteFilename;
 	BaseSprite *_defaultSprite;
-	virtual bool saveAsText(BaseDynamicBuffer *buffer, int indent = 0) override;
+	bool saveAsText(BaseDynamicBuffer *buffer, int indent = 0) override;
 };
 
 } // End of namespace Wintermute
diff --git a/engines/wintermute/ad/ad_talk_holder.h b/engines/wintermute/ad/ad_talk_holder.h
index b5f8f48..8175967 100644
--- a/engines/wintermute/ad/ad_talk_holder.h
+++ b/engines/wintermute/ad/ad_talk_holder.h
@@ -37,18 +37,18 @@ class AdTalkHolder : public AdObject {
 public:
 	DECLARE_PERSISTENT(AdTalkHolder, AdObject)
 	virtual BaseSprite *getTalkStance(const char *stance);
-	virtual bool saveAsText(BaseDynamicBuffer *buffer, int indent) override;
+	bool saveAsText(BaseDynamicBuffer *buffer, int indent) override;
 	BaseSprite *_sprite;
 	BaseArray<BaseSprite *> _talkSprites;
 	BaseArray<BaseSprite *> _talkSpritesEx;
 	AdTalkHolder(BaseGame *inGame);
-	virtual ~AdTalkHolder();
+	~AdTalkHolder() override;
 
 	// scripting interface
-	virtual ScValue *scGetProperty(const Common::String &name) override;
-	virtual bool scSetProperty(const char *name, ScValue *value) override;
-	virtual bool scCallMethod(ScScript *script, ScStack *stack, ScStack *thisStack, const char *name) override;
-	virtual const char *scToString() override;
+	ScValue *scGetProperty(const Common::String &name) override;
+	bool scSetProperty(const char *name, ScValue *value) override;
+	bool scCallMethod(ScScript *script, ScStack *stack, ScStack *thisStack, const char *name) override;
+	const char *scToString() override;
 
 };
 
diff --git a/engines/wintermute/ad/ad_talk_node.h b/engines/wintermute/ad/ad_talk_node.h
index e619edf..2ad97f7 100644
--- a/engines/wintermute/ad/ad_talk_node.h
+++ b/engines/wintermute/ad/ad_talk_node.h
@@ -45,9 +45,9 @@ public:
 	DECLARE_PERSISTENT(AdTalkNode, BaseClass)
 
 	AdTalkNode(BaseGame *inGame);
-	virtual ~AdTalkNode();
+	~AdTalkNode() override;
 	bool loadBuffer(char *buffer, bool complete = true);
-	virtual bool saveAsText(BaseDynamicBuffer *buffer, int indent = 0) override;
+	bool saveAsText(BaseDynamicBuffer *buffer, int indent = 0) override;
 	char *_spriteFilename;
 	BaseSprite *_sprite;
 	uint32 _startTime;
diff --git a/engines/wintermute/ad/ad_waypoint_group.h b/engines/wintermute/ad/ad_waypoint_group.h
index 8eb6f69..26cded6 100644
--- a/engines/wintermute/ad/ad_waypoint_group.h
+++ b/engines/wintermute/ad/ad_waypoint_group.h
@@ -38,17 +38,17 @@ public:
 	void cleanup();
 	bool mimic(AdWaypointGroup *wpt, float scale = 100.0f, int x = 0, int y = 0);
 	DECLARE_PERSISTENT(AdWaypointGroup, BaseObject)
-	virtual bool saveAsText(BaseDynamicBuffer *buffer, int indent) override;
+	bool saveAsText(BaseDynamicBuffer *buffer, int indent) override;
 	AdWaypointGroup(BaseGame *inGame);
 	bool loadFile(const char *filename);
 	bool loadBuffer(char *buffer, bool complete = true);
-	virtual ~AdWaypointGroup();
+	~AdWaypointGroup() override;
 
 	bool _active;
 	BaseArray<BasePoint *> _points;
 
-	virtual ScValue *scGetProperty(const Common::String &name) override;
-	virtual bool scSetProperty(const char *name, ScValue *value) override;
+	ScValue *scGetProperty(const Common::String &name) override;
+	bool scSetProperty(const char *name, ScValue *value) override;
 private:
 	int32 _editorSelectedPoint;
 	float _lastMimicScale;
diff --git a/engines/wintermute/base/base_active_rect.h b/engines/wintermute/base/base_active_rect.h
index 29acc59..09a7f6d 100644
--- a/engines/wintermute/base/base_active_rect.h
+++ b/engines/wintermute/base/base_active_rect.h
@@ -51,7 +51,7 @@ public:
 	BaseActiveRect(BaseGame *inGameOwner = nullptr);
 	BaseActiveRect(BaseGame *inGameOwner, BaseObject *owner, BaseSubFrame *frame, int x, int y, int width, int height, float zoomX = 100, float zoomY = 100, bool precise = true);
 	BaseActiveRect(BaseGame *inGame, BaseObject *owner, BaseRegion *region, int offsetX, int offsetY);
-	virtual ~BaseActiveRect();
+	~BaseActiveRect() override;
 
 };
 
diff --git a/engines/wintermute/base/base_engine.h b/engines/wintermute/base/base_engine.h
index 99c3771..5e2f05c 100644
--- a/engines/wintermute/base/base_engine.h
+++ b/engines/wintermute/base/base_engine.h
@@ -115,7 +115,7 @@ class BaseEngine : public Common::Singleton<Wintermute::BaseEngine> {
 	uint32 _flags;
 public:
 	BaseEngine();
-	~BaseEngine();
+	~BaseEngine() override;
 	static void createInstance(const Common::String &targetName, const Common::String &gameId, Common::Language lang, WMETargetExecutable targetExecutable, uint32 flags);
 
 	void setGameRef(BaseGame *gameRef) { _gameRef = gameRef; }
diff --git a/engines/wintermute/base/base_fader.h b/engines/wintermute/base/base_fader.h
index 8c20b19..0bba980 100644
--- a/engines/wintermute/base/base_fader.h
+++ b/engines/wintermute/base/base_fader.h
@@ -44,7 +44,7 @@ public:
 	bool update() override;
 	DECLARE_PERSISTENT(BaseFader, BaseObject)
 	BaseFader(BaseGame *inGame);
-	virtual ~BaseFader();
+	~BaseFader() override;
 private:
 	bool _system;
 	bool _active;
diff --git a/engines/wintermute/base/base_frame.h b/engines/wintermute/base/base_frame.h
index 833c52a..eb1dc8d 100644
--- a/engines/wintermute/base/base_frame.h
+++ b/engines/wintermute/base/base_frame.h
@@ -56,16 +56,16 @@ public:
 	bool loadBuffer(char *buffer, int lifeTime, bool keepLoaded);
 
 	BaseFrame(BaseGame *inGame);
-	virtual ~BaseFrame();
+	~BaseFrame() override;
 
 	BaseArray<const char *> _applyEvent;
 
 	// scripting interface
-	virtual ScValue *scGetProperty(const Common::String &name) override;
-	virtual bool scSetProperty(const char *name, ScValue *value) override;
-	virtual bool scCallMethod(ScScript *script, ScStack *stack, ScStack *thisStack, const char *name) override;
-	virtual const char *scToString() override;
-	virtual Common::String debuggerToString() const override;
+	ScValue *scGetProperty(const Common::String &name) override;
+	bool scSetProperty(const char *name, ScValue *value) override;
+	bool scCallMethod(ScScript *script, ScStack *stack, ScStack *thisStack, const char *name) override;
+	const char *scToString() override;
+	Common::String debuggerToString() const override;
 
 private:
 	bool _keyframe;
diff --git a/engines/wintermute/base/base_game.h b/engines/wintermute/base/base_game.h
index 9dd8fe0..026656a 100644
--- a/engines/wintermute/base/base_game.h
+++ b/engines/wintermute/base/base_game.h
@@ -163,7 +163,7 @@ public:
 	BaseSurfaceStorage *_surfaceStorage;
 	BaseFontStorage *_fontStorage;
 	BaseGame(const Common::String &targetName);
-	virtual ~BaseGame();
+	~BaseGame() override;
 
 	bool _debugDebugMode;
 
@@ -178,10 +178,10 @@ public:
 
 	virtual bool externalCall(ScScript *script, ScStack *stack, ScStack *thisStack, char *name);
 	// scripting interface
-	virtual ScValue *scGetProperty(const Common::String &name) override;
-	virtual bool scSetProperty(const char *name, ScValue *value) override;
-	virtual bool scCallMethod(ScScript *script, ScStack *stack, ScStack *thisStack, const char *name) override;
-	virtual const char *scToString() override;
+	ScValue *scGetProperty(const Common::String &name) override;
+	bool scSetProperty(const char *name, ScValue *value) override;
+	bool scCallMethod(ScScript *script, ScStack *stack, ScStack *thisStack, const char *name) override;
+	const char *scToString() override;
 	// compatibility bits
 	bool _compatKillMethodThreads;
 
@@ -195,11 +195,11 @@ public:
 
 	bool getIsLoading() const { return _loading; }
 
-	virtual bool handleMouseWheel(int32 delta) override;
+	bool handleMouseWheel(int32 delta) override;
 	bool _quitting;
 	virtual bool getVersion(byte *verMajor, byte *verMinor, byte *extMajor, byte *extMinor) const;
 
-	virtual bool handleKeypress(Common::Event *event, bool printable = false) override;
+	bool handleKeypress(Common::Event *event, bool printable = false) override;
 	virtual void handleKeyRelease(Common::Event *event);
 
 	bool unfreeze();
@@ -219,7 +219,7 @@ public:
 	bool loadGame(uint32 slot);
 	bool loadGame(const char *filename);
 	bool saveGame(int32 slot, const char *desc, bool quickSave = false);
-	virtual bool showCursor() override;
+	bool showCursor() override;
 
 	BaseObject *_activeObject;
 
@@ -295,8 +295,8 @@ private:
 
 	int32 _soundBufferSizeSec;
 
-	virtual bool invalidateDeviceObjects() override;
-	virtual bool restoreDeviceObjects() override;
+	bool invalidateDeviceObjects() override;
+	bool restoreDeviceObjects() override;
 
 	// TODO: This can probably be removed completely:
 	bool _saveDirChecked;
diff --git a/engines/wintermute/base/base_keyboard_state.h b/engines/wintermute/base/base_keyboard_state.h
index 8a3a8f6..19313ec 100644
--- a/engines/wintermute/base/base_keyboard_state.h
+++ b/engines/wintermute/base/base_keyboard_state.h
@@ -46,7 +46,7 @@ class BaseKeyboardState : public BaseScriptable {
 public:
 	DECLARE_PERSISTENT(BaseKeyboardState, BaseScriptable)
 	BaseKeyboardState(BaseGame *inGame);
-	virtual ~BaseKeyboardState();
+	~BaseKeyboardState() override;
 	bool readKey(Common::Event *event);
 
 	void handleKeyPress(Common::Event *event);
@@ -57,10 +57,10 @@ public:
 	bool isCurrentPrintable() const;
 
 	// scripting interface
-	virtual ScValue *scGetProperty(const Common::String &name) override;
-	virtual bool scSetProperty(const char *name, ScValue *value) override;
-	virtual bool scCallMethod(ScScript *script, ScStack *stack, ScStack *thisStack, const char *name) override;
-	virtual const char *scToString() override;
+	ScValue *scGetProperty(const Common::String &name) override;
+	bool scSetProperty(const char *name, ScValue *value) override;
+	bool scCallMethod(ScScript *script, ScStack *stack, ScStack *thisStack, const char *name) override;
+	const char *scToString() override;
 
 private:
 	void init();
diff --git a/engines/wintermute/base/base_named_object.h b/engines/wintermute/base/base_named_object.h
index a337eae..e098ace 100644
--- a/engines/wintermute/base/base_named_object.h
+++ b/engines/wintermute/base/base_named_object.h
@@ -39,7 +39,7 @@ class BaseNamedObject : public BaseClass {
 public:
 	BaseNamedObject(BaseGame *inGame);
 	BaseNamedObject();
-	virtual ~BaseNamedObject(void);
+	~BaseNamedObject(void) override;
 	BaseNamedObject(TDynamicConstructor, TDynamicConstructor);
 
 	const char *getName() const { return _name; }
diff --git a/engines/wintermute/base/base_object.h b/engines/wintermute/base/base_object.h
index 8ae62af..04c464c 100644
--- a/engines/wintermute/base/base_object.h
+++ b/engines/wintermute/base/base_object.h
@@ -105,8 +105,8 @@ public:
 	BaseSprite *_cursor;
 	bool _sharedCursors;
 	BaseSprite *_activeCursor;
-	virtual bool saveAsText(BaseDynamicBuffer *buffer, int indent) override;
-	virtual bool listen(BaseScriptHolder *param1, uint32 param2) override;
+	bool saveAsText(BaseDynamicBuffer *buffer, int indent) override;
+	bool listen(BaseScriptHolder *param1, uint32 param2) override;
 
 	bool _movable;
 	bool _zoomable;
@@ -118,7 +118,7 @@ public:
 	bool _saveState;
 
 	BaseObject(BaseGame *inGame);
-	virtual ~BaseObject();
+	~BaseObject() override;
 	// base
 	virtual bool update()  {
 		return STATUS_FAILED;
@@ -137,10 +137,10 @@ public:
 
 public:
 	// scripting interface
-	virtual ScValue *scGetProperty(const Common::String &name) override;
-	virtual bool scSetProperty(const char *name, ScValue *value) override;
-	virtual bool scCallMethod(ScScript *script, ScStack *stack, ScStack *thisStack, const char *name) override;
-	virtual const char *scToString() override;
+	ScValue *scGetProperty(const Common::String &name) override;
+	bool scSetProperty(const char *name, ScValue *value) override;
+	bool scCallMethod(ScScript *script, ScStack *stack, ScStack *thisStack, const char *name) override;
+	const char *scToString() override;
 };
 
 } // End of namespace Wintermute
diff --git a/engines/wintermute/base/base_point.h b/engines/wintermute/base/base_point.h
index 6f5c1ca..0d247e3 100644
--- a/engines/wintermute/base/base_point.h
+++ b/engines/wintermute/base/base_point.h
@@ -41,7 +41,7 @@ public:
 	BasePoint(int initX, int initY);
 	int32 y;
 	int32 x;
-	virtual ~BasePoint();
+	~BasePoint() override;
 
 };
 
diff --git a/engines/wintermute/base/base_region.h b/engines/wintermute/base/base_region.h
index e019bb8..c82ba11 100644
--- a/engines/wintermute/base/base_region.h
+++ b/engines/wintermute/base/base_region.h
@@ -44,22 +44,22 @@ public:
 	bool _active;
 	int32 _editorSelectedPoint;
 	BaseRegion(BaseGame *inGame);
-	virtual ~BaseRegion();
+	~BaseRegion() override;
 	bool pointInRegion(int x, int y);
 	bool createRegion();
 	bool loadFile(const char *filename);
 	bool loadBuffer(char *buffer, bool complete = true);
 	Rect32 _rect;
 	BaseArray<BasePoint *> _points;
-	virtual bool saveAsText(BaseDynamicBuffer *buffer, int indent) override { return saveAsText(buffer, indent, nullptr); }
+	bool saveAsText(BaseDynamicBuffer *buffer, int indent) override { return saveAsText(buffer, indent, nullptr); }
 	virtual bool saveAsText(BaseDynamicBuffer *buffer, int indent, const char *nameOverride);
 
 	// scripting interface
-	virtual ScValue *scGetProperty(const Common::String &name) override;
-	virtual bool scSetProperty(const char *name, ScValue *value) override;
-	virtual bool scCallMethod(ScScript *script, ScStack *stack, ScStack *thisStack, const char *name) override;
-	virtual const char *scToString() override;
-	virtual Common::String debuggerToString() const override;
+	ScValue *scGetProperty(const Common::String &name) override;
+	bool scSetProperty(const char *name, ScValue *value) override;
+	bool scCallMethod(ScScript *script, ScStack *stack, ScStack *thisStack, const char *name) override;
+	const char *scToString() override;
+	Common::String debuggerToString() const override;
 
 private:
 	float _lastMimicScale;
diff --git a/engines/wintermute/base/base_script_holder.h b/engines/wintermute/base/base_script_holder.h
index 43b8393..b7faf97 100644
--- a/engines/wintermute/base/base_script_holder.h
+++ b/engines/wintermute/base/base_script_holder.h
@@ -40,15 +40,15 @@ public:
 	DECLARE_PERSISTENT(BaseScriptHolder, BaseScriptable)
 
 	BaseScriptHolder(BaseGame *inGame);
-	virtual ~BaseScriptHolder();
-	virtual ScScript *invokeMethodThread(const char *methodName) override;
+	~BaseScriptHolder() override;
+	ScScript *invokeMethodThread(const char *methodName) override;
 	virtual void makeFreezable(bool freezable);
 	bool canHandleEvent(const char *eventName) const;
-	virtual bool canHandleMethod(const char *eventMethod) const override;
+	bool canHandleMethod(const char *eventMethod) const override;
 	bool cleanup();
 	bool removeScript(ScScript *script);
 	bool addScript(const char *filename);
-	virtual bool saveAsText(BaseDynamicBuffer *buffer, int indent) override;
+	bool saveAsText(BaseDynamicBuffer *buffer, int indent) override;
 	virtual bool listen(BaseScriptHolder *param1, uint32 param2);
 	bool applyEvent(const char *eventName, bool unbreakable = false);
 	void setFilename(const char *filename);
@@ -59,11 +59,11 @@ public:
 
 	BaseArray<ScScript *> _scripts;
 	// scripting interface
-	virtual ScValue *scGetProperty(const Common::String &name) override;
-	virtual bool scSetProperty(const char *name, ScValue *value) override;
-	virtual bool scCallMethod(ScScript *script, ScStack *stack, ScStack *thisStack, const char *name) override;
-	virtual const char *scToString() override;
-	virtual void scDebuggerDesc(char *buf, int bufSize) override;
+	ScValue *scGetProperty(const Common::String &name) override;
+	bool scSetProperty(const char *name, ScValue *value) override;
+	bool scCallMethod(ScScript *script, ScStack *stack, ScStack *thisStack, const char *name) override;
+	const char *scToString() override;
+	void scDebuggerDesc(char *buf, int bufSize) override;
 	// IWmeObject
 private:
 	char *_filename;
diff --git a/engines/wintermute/base/base_scriptable.h b/engines/wintermute/base/base_scriptable.h
index 0baf45b..ef61d7c 100644
--- a/engines/wintermute/base/base_scriptable.h
+++ b/engines/wintermute/base/base_scriptable.h
@@ -45,7 +45,7 @@ public:
 	DECLARE_PERSISTENT(BaseScriptable, BaseNamedObject)
 
 	BaseScriptable(BaseGame *inGame, bool noValue = false, bool persistable = true);
-	virtual ~BaseScriptable();
+	~BaseScriptable() override;
 
 	// high level scripting interface
 	virtual bool canHandleMethod(const char *eventMethod) const;
diff --git a/engines/wintermute/base/base_sprite.h b/engines/wintermute/base/base_sprite.h
index 6f95855..944581f 100644
--- a/engines/wintermute/base/base_sprite.h
+++ b/engines/wintermute/base/base_sprite.h
@@ -60,15 +60,15 @@ public:
 	int32 _currentFrame;
 	bool addFrame(const char *filename, uint32 delay = 0, int hotspotX = 0, int hotspotY = 0, Rect32 *rect = nullptr);
 	BaseSprite(BaseGame *inGame, BaseObject *owner = nullptr);
-	virtual ~BaseSprite();
+	~BaseSprite() override;
 	BaseArray<BaseFrame *> _frames;
 	bool saveAsText(BaseDynamicBuffer *buffer, int indent) override;
 
 	// scripting interface
-	virtual ScValue *scGetProperty(const Common::String &name) override;
-	virtual bool scSetProperty(const char *name, ScValue *value) override;
-	virtual bool scCallMethod(ScScript *script, ScStack *stack, ScStack *thisStack, const char *name) override;
-	virtual const char *scToString() override;
+	ScValue *scGetProperty(const Common::String &name) override;
+	bool scSetProperty(const char *name, ScValue *value) override;
+	bool scCallMethod(ScScript *script, ScStack *stack, ScStack *thisStack, const char *name) override;
+	const char *scToString() override;
 	Common::String debuggerToString() const override;
 private:
 	BaseObject *_owner;
diff --git a/engines/wintermute/base/base_string_table.h b/engines/wintermute/base/base_string_table.h
index cfa3eeb..c0f6628 100644
--- a/engines/wintermute/base/base_string_table.h
+++ b/engines/wintermute/base/base_string_table.h
@@ -45,9 +45,9 @@ public:
 	const char *expandStatic(const char *string) const;
 	bool addString(const char *key, const char *val, bool reportDuplicities = true);
 	BaseStringTable(BaseGame *inGame);
-	virtual ~BaseStringTable();
+	~BaseStringTable() override;
 	char *getKey(const char *str) const;
-	bool persist(BasePersistenceManager *persistMgr);
+	bool persist(BasePersistenceManager *persistMgr) override;
 private:
 	Common::HashMap<Common::String, Common::String> _strings;
 	Common::Array<Common::String> _filenames;
diff --git a/engines/wintermute/base/base_sub_frame.h b/engines/wintermute/base/base_sub_frame.h
index 228b799..e9a648e 100644
--- a/engines/wintermute/base/base_sub_frame.h
+++ b/engines/wintermute/base/base_sub_frame.h
@@ -51,7 +51,7 @@ public:
 	bool saveAsText(BaseDynamicBuffer *buffer, int indent, bool complete);
 	bool _editorSelected;
 	BaseSubFrame(BaseGame *inGame);
-	virtual ~BaseSubFrame();
+	~BaseSubFrame() override;
 	bool loadBuffer(char *buffer, int lifeTime, bool keepLoaded);
 	bool draw(int x, int y, BaseObject *registerOwner = nullptr, float zoomX = 100, float zoomY = 100, bool precise = true, uint32 alpha = 0xFFFFFFFF, float rotate = 0.0f, Graphics::TSpriteBlendMode blendMode = Graphics::BLEND_NORMAL);
 	bool getBoundingRect(Rect32 *rect, int x, int y, float scaleX = 100, float scaleY = 100);
@@ -82,10 +82,10 @@ public:
 	BaseSurface *_surface;
 
 	// scripting interface
-	virtual ScValue *scGetProperty(const Common::String &name) override;
-	virtual bool scSetProperty(const char *name, ScValue *value) override;
-	virtual bool scCallMethod(ScScript *script, ScStack *stack, ScStack *thisStack, const char *name) override;
-	virtual const char *scToString() override;
+	ScValue *scGetProperty(const Common::String &name) override;
+	bool scSetProperty(const char *name, ScValue *value) override;
+	bool scCallMethod(ScScript *script, ScStack *stack, ScStack *thisStack, const char *name) override;
+	const char *scToString() override;
 	Common::String debuggerToString() const override;
 
 };
diff --git a/engines/wintermute/base/base_surface_storage.h b/engines/wintermute/base/base_surface_storage.h
index 2bec9a0..03cf7be 100644
--- a/engines/wintermute/base/base_surface_storage.h
+++ b/engines/wintermute/base/base_surface_storage.h
@@ -47,7 +47,7 @@ public:
 	BaseSurface *addSurface(const Common::String &filename, bool defaultCK = true, byte ckRed = 0, byte ckGreen = 0, byte ckBlue = 0, int lifeTime = -1, bool keepLoaded = false);
 	bool removeSurface(BaseSurface *surface);
 	BaseSurfaceStorage(BaseGame *inGame);
-	virtual ~BaseSurfaceStorage();
+	~BaseSurfaceStorage() override;
 
 	Common::Array<BaseSurface *> _surfaces;
 };
diff --git a/engines/wintermute/base/base_transition_manager.h b/engines/wintermute/base/base_transition_manager.h
index 3cfc0f2..507f54e 100644
--- a/engines/wintermute/base/base_transition_manager.h
+++ b/engines/wintermute/base/base_transition_manager.h
@@ -44,7 +44,7 @@ public:
 	bool isReady() const;
 	TTransMgrState _state;
 	BaseTransitionMgr(BaseGame *inGame);
-	virtual ~BaseTransitionMgr();
+	~BaseTransitionMgr() override;
 	TTransitionType _type;
 
 };
diff --git a/engines/wintermute/base/base_viewport.h b/engines/wintermute/base/base_viewport.h
index c2e8727..43c796c 100644
--- a/engines/wintermute/base/base_viewport.h
+++ b/engines/wintermute/base/base_viewport.h
@@ -47,7 +47,7 @@ public:
 	int32 _offsetX;
 	BaseObject *_mainObject;
 	BaseViewport(BaseGame *inGame = nullptr);
-	virtual ~BaseViewport();
+	~BaseViewport() override;
 	virtual Common::String debuggerToString() const;
 private:
 	Rect32 _rect;
diff --git a/engines/wintermute/base/file/base_file_entry.h b/engines/wintermute/base/file/base_file_entry.h
index 6bac378..1f91806 100644
--- a/engines/wintermute/base/file/base_file_entry.h
+++ b/engines/wintermute/base/file/base_file_entry.h
@@ -39,8 +39,8 @@ class BasePackage;
 
 class BaseFileEntry : public Common::ArchiveMember {
 public:
-	virtual Common::SeekableReadStream *createReadStream() const;
-	virtual Common::String getName() const { return _filename; }
+	Common::SeekableReadStream *createReadStream() const override;
+	Common::String getName() const override { return _filename; }
 	uint32 _timeDate2;
 	uint32 _timeDate1;
 	uint32 _flags;
@@ -51,7 +51,7 @@ public:
 	uint32 _offset;
 	BasePackage *_package;
 	BaseFileEntry();
-	virtual ~BaseFileEntry();
+	~BaseFileEntry() override;
 
 };
 
diff --git a/engines/wintermute/base/file/base_package.h b/engines/wintermute/base/file/base_package.h
index 578dc78..2b04722 100644
--- a/engines/wintermute/base/file/base_package.h
+++ b/engines/wintermute/base/file/base_package.h
@@ -47,7 +47,7 @@ public:
 
 class PackageSet : public Common::Archive {
 public:
-	virtual ~PackageSet();
+	~PackageSet() override;
 
 	PackageSet(Common::FSNode package, const Common::String &filename = "", bool searchSignature = false);
 	/**
@@ -55,7 +55,7 @@ public:
 	 * Patterns are not allowed, as this is meant to be a quick File::exists()
 	 * replacement.
 	 */
-	virtual bool hasFile(const Common::String &name) const;
+	bool hasFile(const Common::String &name) const override;
 
 	/**
 	 * Add all members of the Archive to list.
@@ -63,19 +63,19 @@ public:
 	 *
 	 * @return the number of names added to list
 	 */
-	virtual int listMembers(Common::ArchiveMemberList &list) const;
+	int listMembers(Common::ArchiveMemberList &list) const override;
 
 	/**
 	 * Returns a ArchiveMember representation of the given file.
 	 */
-	virtual const Common::ArchiveMemberPtr getMember(const Common::String &name) const;
+	const Common::ArchiveMemberPtr getMember(const Common::String &name) const override;
 
 	/**
 	 * Create a stream bound to a member with the specified name in the
 	 * archive. If no member with this name exists, 0 is returned.
 	 * @return the newly created input stream
 	 */
-	virtual Common::SeekableReadStream *createReadStreamForMember(const Common::String &name) const;
+	Common::SeekableReadStream *createReadStreamForMember(const Common::String &name) const override;
 
 	int getPriority() const { return _priority; }
 	uint32 getVersion() const { return _version; }
diff --git a/engines/wintermute/base/file/base_save_thumb_file.h b/engines/wintermute/base/file/base_save_thumb_file.h
index 4d90301..c03b689 100644
--- a/engines/wintermute/base/file/base_save_thumb_file.h
+++ b/engines/wintermute/base/file/base_save_thumb_file.h
@@ -38,11 +38,11 @@ namespace Wintermute {
 class BaseSaveThumbFile : public BaseFile {
 public:
 	BaseSaveThumbFile();
-	virtual ~BaseSaveThumbFile();
-	virtual bool seek(uint32 pos, int whence = SEEK_SET);
-	virtual bool read(void *buffer, uint32 size);
-	virtual bool close();
-	virtual bool open(const Common::String &filename);
+	~BaseSaveThumbFile() override;
+	bool seek(uint32 pos, int whence = SEEK_SET) override;
+	bool read(void *buffer, uint32 size) override;
+	bool close() override;
+	bool open(const Common::String &filename) override;
 private:
 	byte *_data;
 };
diff --git a/engines/wintermute/base/font/base_font.h b/engines/wintermute/base/font/base_font.h
index 5f37d98..2e0847e 100644
--- a/engines/wintermute/base/font/base_font.h
+++ b/engines/wintermute/base/font/base_font.h
@@ -46,7 +46,7 @@ public:
 	virtual void initLoop() {}
 	virtual void afterLoad() {}
 	BaseFont(BaseGame *inGame);
-	virtual ~BaseFont();
+	~BaseFont() override;
 
 	static BaseFont *createFromFile(BaseGame *game, const Common::String &filename);
 
diff --git a/engines/wintermute/base/font/base_font_bitmap.h b/engines/wintermute/base/font/base_font_bitmap.h
index c26a6ad..8519686 100644
--- a/engines/wintermute/base/font/base_font_bitmap.h
+++ b/engines/wintermute/base/font/base_font_bitmap.h
@@ -39,13 +39,13 @@ public:
 	DECLARE_PERSISTENT(BaseFontBitmap, BaseFont)
 	bool loadBuffer(char *buffer);
 	bool loadFile(const Common::String &filename);
-	virtual int getTextWidth(const byte *text, int maxLength = -1) override;
-	virtual int getTextHeight(const byte *text, int width) override;
-	virtual void drawText(const byte *text, int x, int y, int width, TTextAlign align = TAL_LEFT, int max_height = -1, int maxLength = -1) override;
-	virtual int getLetterHeight() override;
+	int getTextWidth(const byte *text, int maxLength = -1) override;
+	int getTextHeight(const byte *text, int width) override;
+	void drawText(const byte *text, int x, int y, int width, TTextAlign align = TAL_LEFT, int max_height = -1, int maxLength = -1) override;
+	int getLetterHeight() override;
 
 	BaseFontBitmap(BaseGame *inGame);
-	virtual ~BaseFontBitmap();
+	~BaseFontBitmap() override;
 
 private:
 	bool getWidths();
diff --git a/engines/wintermute/base/font/base_font_storage.h b/engines/wintermute/base/font/base_font_storage.h
index e29675a..9f0b8cc 100644
--- a/engines/wintermute/base/font/base_font_storage.h
+++ b/engines/wintermute/base/font/base_font_storage.h
@@ -45,7 +45,7 @@ public:
 	bool removeFont(BaseFont *font);
 	BaseFont *addFont(const Common::String &filename);
 	BaseFontStorage(BaseGame *inGame);
-	virtual ~BaseFontStorage();
+	~BaseFontStorage() override;
 	BaseArray<BaseFont *> _fonts;
 	bool initLoop();
 };
diff --git a/engines/wintermute/base/font/base_font_truetype.h b/engines/wintermute/base/font/base_font_truetype.h
index 74480d2..27c9279 100644
--- a/engines/wintermute/base/font/base_font_truetype.h
+++ b/engines/wintermute/base/font/base_font_truetype.h
@@ -97,12 +97,12 @@ public:
 public:
 	DECLARE_PERSISTENT(BaseFontTT, BaseFont)
 	BaseFontTT(BaseGame *inGame);
-	virtual ~BaseFontTT(void);
+	~BaseFontTT(void) override;
 
-	virtual int getTextWidth(const byte *text, int maxLength = -1) override;
-	virtual int getTextHeight(const byte *text, int width) override;
-	virtual void drawText(const byte *text, int x, int y, int width, TTextAlign align = TAL_LEFT, int max_height = -1, int maxLength = -1) override;
-	virtual int getLetterHeight() override;
+	int getTextWidth(const byte *text, int maxLength = -1) override;
+	int getTextHeight(const byte *text, int width) override;
+	void drawText(const byte *text, int x, int y, int width, TTextAlign align = TAL_LEFT, int max_height = -1, int maxLength = -1) override;
+	int getLetterHeight() override;
 
 	bool loadBuffer(char *buffer);
 	bool loadFile(const Common::String &filename);
diff --git a/engines/wintermute/base/gfx/base_renderer.h b/engines/wintermute/base/gfx/base_renderer.h
index e6ca9ca..fc30fc8 100644
--- a/engines/wintermute/base/gfx/base_renderer.h
+++ b/engines/wintermute/base/gfx/base_renderer.h
@@ -89,7 +89,7 @@ public:
 	virtual bool drawLine(int x1, int y1, int x2, int y2, uint32 color); 	// Unused outside indicator-display
 	virtual bool drawRect(int x1, int y1, int x2, int y2, uint32 color, int width = 1); 	// Unused outside indicator-display
 	BaseRenderer(BaseGame *inGame = nullptr);
-	virtual ~BaseRenderer();
+	~BaseRenderer() override;
 	virtual bool setProjection() {
 		return STATUS_OK;
 	};
diff --git a/engines/wintermute/base/gfx/base_surface.h b/engines/wintermute/base/gfx/base_surface.h
index ea743bd..25dc3e5 100644
--- a/engines/wintermute/base/gfx/base_surface.h
+++ b/engines/wintermute/base/gfx/base_surface.h
@@ -46,7 +46,7 @@ public:
 
 	bool _pixelOpReady;
 	BaseSurface(BaseGame *inGame);
-	virtual ~BaseSurface();
+	~BaseSurface() override;
 
 	virtual bool displayHalfTrans(int x, int y, Rect32 rect);
 	virtual bool isTransparentAt(int x, int y);
diff --git a/engines/wintermute/base/gfx/osystem/base_render_osystem.h b/engines/wintermute/base/gfx/osystem/base_render_osystem.h
index 4a486a6..54b556c 100644
--- a/engines/wintermute/base/gfx/osystem/base_render_osystem.h
+++ b/engines/wintermute/base/gfx/osystem/base_render_osystem.h
@@ -60,7 +60,7 @@ class RenderTicket;
 class BaseRenderOSystem : public BaseRenderer {
 public:
 	BaseRenderOSystem(BaseGame *inGame);
-	~BaseRenderOSystem();
+	~BaseRenderOSystem() override;
 
 	typedef Common::List<RenderTicket *>::iterator RenderQueueIterator;
 
@@ -68,8 +68,8 @@ public:
 
 	bool initRenderer(int width, int height, bool windowed) override;
 	bool flip() override;
-	virtual bool indicatorFlip() override;
-	virtual bool forcedFlip() override;
+	bool indicatorFlip() override;
+	bool forcedFlip() override;
 	bool fill(byte r, byte g, byte b, Common::Rect *rect = nullptr) override;
 	Graphics::PixelFormat getPixelFormat() const override;
 	void fade(uint16 alpha) override;
@@ -110,8 +110,8 @@ public:
 	float getScaleRatioY() const override {
 		return _ratioY;
 	}
-	virtual bool startSpriteBatch() override;
-	virtual bool endSpriteBatch() override;
+	bool startSpriteBatch() override;
+	bool endSpriteBatch() override;
 	void endSaveLoad() override;
 	void drawSurface(BaseSurfaceOSystem *owner, const Graphics::Surface *surf, Common::Rect *srcRect, Common::Rect *dstRect, Graphics::TransformStruct &transform);
 	BaseSurface *createSurface() override;
diff --git a/engines/wintermute/base/gfx/osystem/base_surface_osystem.h b/engines/wintermute/base/gfx/osystem/base_surface_osystem.h
index 0ef341f..f5b6dda 100644
--- a/engines/wintermute/base/gfx/osystem/base_surface_osystem.h
+++ b/engines/wintermute/base/gfx/osystem/base_surface_osystem.h
@@ -40,7 +40,7 @@ class BaseImage;
 class BaseSurfaceOSystem : public BaseSurface {
 public:
 	BaseSurfaceOSystem(BaseGame *inGame);
-	~BaseSurfaceOSystem();
+	~BaseSurfaceOSystem() override;
 
 	bool create(const Common::String &filename, bool defaultCK, byte ckRed, byte ckGreen, byte ckBlue, int lifeTime = -1, bool keepLoaded = false) override;
 	bool create(int width, int height) override;
@@ -58,12 +58,12 @@ public:
 	bool display(int x, int y, Rect32 rect, Graphics::TSpriteBlendMode blendMode = Graphics::BLEND_NORMAL, bool mirrorX = false, bool mirrorY = false) override;
 	bool displayZoom(int x, int y, Rect32 rect, float zoomX, float zoomY, uint32 alpha = Graphics::kDefaultRgbaMod, bool transparent = false, Graphics::TSpriteBlendMode blendMode = Graphics::BLEND_NORMAL, bool mirrorX = false, bool mirrorY = false) override;
 	bool displayTransform(int x, int y, Rect32 rect, Rect32 newRect, const Graphics::TransformStruct &transform) override;
-	virtual bool displayTiled(int x, int y, Rect32 rect, int numTimesX, int numTimesY) override;
-	virtual bool putSurface(const Graphics::Surface &surface, bool hasAlpha = false) override;
+	bool displayTiled(int x, int y, Rect32 rect, int numTimesX, int numTimesY) override;
+	bool putSurface(const Graphics::Surface &surface, bool hasAlpha = false) override;
 	/*  static unsigned DLL_CALLCONV ReadProc(void *buffer, unsigned size, unsigned count, fi_handle handle);
 	    static int DLL_CALLCONV SeekProc(fi_handle handle, long offset, int origin);
 	    static long DLL_CALLCONV TellProc(fi_handle handle);*/
-	virtual int getWidth() override {
+	int getWidth() override {
 		if (!_loaded) {
 			finishLoad();
 		}
@@ -72,7 +72,7 @@ public:
 		}
 		return _width;
 	}
-	virtual int getHeight() override {
+	int getHeight() override {
 		if (!_loaded) {
 			finishLoad();
 		}
diff --git a/engines/wintermute/base/particles/part_emitter.h b/engines/wintermute/base/particles/part_emitter.h
index 6b0d376..7b23ca6 100644
--- a/engines/wintermute/base/particles/part_emitter.h
+++ b/engines/wintermute/base/particles/part_emitter.h
@@ -41,7 +41,7 @@ public:
 	DECLARE_PERSISTENT(PartEmitter, BaseObject)
 
 	PartEmitter(BaseGame *inGame, BaseScriptHolder *Owner);
-	virtual ~PartEmitter(void);
+	~PartEmitter(void) override;
 
 	int32 _fadeOutTime;
 
@@ -63,10 +63,10 @@ public:
 	BaseArray<PartForce *> _forces;
 
 	// scripting interface
-	virtual ScValue *scGetProperty(const Common::String &name) override;
-	virtual bool scSetProperty(const char *name, ScValue *value) override;
-	virtual bool scCallMethod(ScScript *script, ScStack *stack, ScStack *thisStack, const char *name) override;
-	virtual const char *scToString() override;
+	ScValue *scGetProperty(const Common::String &name) override;
+	bool scSetProperty(const char *name, ScValue *value) override;
+	bool scCallMethod(ScScript *script, ScStack *stack, ScStack *thisStack, const char *name) override;
+	const char *scToString() override;
 
 
 private:
diff --git a/engines/wintermute/base/particles/part_force.h b/engines/wintermute/base/particles/part_force.h
index 11862d0..17f9a90 100644
--- a/engines/wintermute/base/particles/part_force.h
+++ b/engines/wintermute/base/particles/part_force.h
@@ -43,13 +43,13 @@ public:
 	};
 
 	PartForce(BaseGame *inGame);
-	virtual ~PartForce(void);
+	~PartForce(void) override;
 
 	Vector2 _pos;
 	Vector2 _direction;
 	TForceType _type;
 
-	bool persist(BasePersistenceManager *PersistMgr);
+	bool persist(BasePersistenceManager *PersistMgr) override;
 };
 
 } // End of namespace Wintermute
diff --git a/engines/wintermute/base/particles/part_particle.h b/engines/wintermute/base/particles/part_particle.h
index 9019845..128db66 100644
--- a/engines/wintermute/base/particles/part_particle.h
+++ b/engines/wintermute/base/particles/part_particle.h
@@ -47,7 +47,7 @@ public:
 	};
 
 	PartParticle(BaseGame *inGame);
-	virtual ~PartParticle(void);
+	~PartParticle(void) override;
 
 	float _growthRate;
 	bool _exponentialGrowth;
@@ -77,7 +77,7 @@ public:
 	bool fadeIn(uint32 currentTime, int fadeTime);
 	bool fadeOut(uint32 currentTime, int fadeTime);
 
-	bool persist(BasePersistenceManager *PersistMgr);
+	bool persist(BasePersistenceManager *PersistMgr) override;
 private:
 	uint32 _fadeStart;
 	int32 _fadeTime;
diff --git a/engines/wintermute/base/scriptables/debuggable/debuggable_script.h b/engines/wintermute/base/scriptables/debuggable/debuggable_script.h
index b32a5ca..6152629 100644
--- a/engines/wintermute/base/scriptables/debuggable/debuggable_script.h
+++ b/engines/wintermute/base/scriptables/debuggable/debuggable_script.h
@@ -35,12 +35,12 @@ class DebuggableScript : public ScScript {
 	int32 _stepDepth;
 	DebuggableScEngine *_engine;
 	BaseArray<WatchInstance *> _watchInstances;
-	virtual void preInstHook(uint32 inst) override;
-	virtual void postInstHook(uint32 inst) override;
+	void preInstHook(uint32 inst) override;
+	void postInstHook(uint32 inst) override;
 	void setStepDepth(int depth);
 public:
 	DebuggableScript(BaseGame *inGame, DebuggableScEngine *engine);
-	virtual ~DebuggableScript();
+	~DebuggableScript() override override;
 	ScValue *resolveName(const Common::String &name);
 	/**
 	 * Return argument to last II_DBG_LINE encountered
diff --git a/engines/wintermute/base/scriptables/script.h b/engines/wintermute/base/scriptables/script.h
index c1d1cce..91e3134 100644
--- a/engines/wintermute/base/scriptables/script.h
+++ b/engines/wintermute/base/scriptables/script.h
@@ -142,7 +142,7 @@ private:
 public:
 	Common::SeekableReadStream *_scriptStream;
 	ScScript(BaseGame *inGame, ScEngine *engine);
-	virtual ~ScScript();
+	~ScScript() override;
 	char *_filename;
 	bool _thread;
 	bool _methodThread;
diff --git a/engines/wintermute/base/scriptables/script_engine.h b/engines/wintermute/base/scriptables/script_engine.h
index 8b7e4acd..bb6aaf7 100644
--- a/engines/wintermute/base/scriptables/script_engine.h
+++ b/engines/wintermute/base/scriptables/script_engine.h
@@ -89,7 +89,7 @@ public:
 	static const bool _compilerAvailable = false;
 
 	ScEngine(BaseGame *inGame);
-	virtual ~ScEngine();
+	~ScEngine() override;
 	static byte *loadFile(void *data, char *filename, uint32 *size);
 	static void closeFile(void *data, byte *buffer);
 	static void parseElement(void *data, int line, int type, void *elementData);
diff --git a/engines/wintermute/base/scriptables/script_ext_array.h b/engines/wintermute/base/scriptables/script_ext_array.h
index cbd7791..99726fb 100644
--- a/engines/wintermute/base/scriptables/script_ext_array.h
+++ b/engines/wintermute/base/scriptables/script_ext_array.h
@@ -40,7 +40,7 @@ public:
 	DECLARE_PERSISTENT(SXArray, BaseScriptable)
 	SXArray(BaseGame *inGame, ScStack *stack);
 	SXArray(BaseGame *inGame);
-	virtual ~SXArray();
+	~SXArray() override;
 	ScValue *scGetProperty(const Common::String &name) override;
 	bool scSetProperty(const char *name, ScValue *value) override;
 	bool scCallMethod(ScScript *script, ScStack *stack, ScStack *thisStack, const char *name) override;
diff --git a/engines/wintermute/base/scriptables/script_ext_date.h b/engines/wintermute/base/scriptables/script_ext_date.h
index bf31b7e..826d1d1 100644
--- a/engines/wintermute/base/scriptables/script_ext_date.h
+++ b/engines/wintermute/base/scriptables/script_ext_date.h
@@ -39,7 +39,7 @@ public:
 	int scCompare(BaseScriptable *Value) override;
 	DECLARE_PERSISTENT(SXDate, BaseScriptable)
 	SXDate(BaseGame *inGame, ScStack *Stack);
-	virtual ~SXDate();
+	~SXDate() override;
 	ScValue *scGetProperty(const Common::String &name) override;
 	bool scSetProperty(const char *name, ScValue *value) override;
 	bool scCallMethod(ScScript *script, ScStack *stack, ScStack *thisStack, const char *name) override;
diff --git a/engines/wintermute/base/scriptables/script_ext_directory.h b/engines/wintermute/base/scriptables/script_ext_directory.h
index d24e9aa..c080f00 100644
--- a/engines/wintermute/base/scriptables/script_ext_directory.h
+++ b/engines/wintermute/base/scriptables/script_ext_directory.h
@@ -38,9 +38,9 @@ class SXDirectory : public BaseScriptable {
 public:
 	DECLARE_PERSISTENT(SXDirectory, BaseScriptable)
 	SXDirectory(BaseGame *inGame);
-	virtual ~SXDirectory();
-	virtual ScValue *scGetProperty(const Common::String &name) override;
-	virtual bool scCallMethod(ScScript *script, ScStack *stack, ScStack *thisStack, const char *name) override;
+	~SXDirectory() override;
+	ScValue *scGetProperty(const Common::String &name) override;
+	bool scCallMethod(ScScript *script, ScStack *stack, ScStack *thisStack, const char *name) override;
 };
 
 } // End of namespace Wintermute
diff --git a/engines/wintermute/base/scriptables/script_ext_file.h b/engines/wintermute/base/scriptables/script_ext_file.h
index c0bc6a4..4e635a8 100644
--- a/engines/wintermute/base/scriptables/script_ext_file.h
+++ b/engines/wintermute/base/scriptables/script_ext_file.h
@@ -45,7 +45,7 @@ public:
 	bool scCallMethod(ScScript *script, ScStack *stack, ScStack *thisStack, const char *name) override;
 	const char *scToString() override;
 	SXFile(BaseGame *inGame, ScStack *Stack);
-	virtual ~SXFile();
+	~SXFile() override;
 private:
 	Common::SeekableReadStream *_readFile;
 	Common::WriteStream *_writeFile;
diff --git a/engines/wintermute/base/scriptables/script_ext_math.h b/engines/wintermute/base/scriptables/script_ext_math.h
index 165ffdd..eec5609 100644
--- a/engines/wintermute/base/scriptables/script_ext_math.h
+++ b/engines/wintermute/base/scriptables/script_ext_math.h
@@ -38,9 +38,9 @@ class SXMath : public BaseScriptable {
 public:
 	DECLARE_PERSISTENT(SXMath, BaseScriptable)
 	SXMath(BaseGame *inGame);
-	virtual ~SXMath();
-	virtual ScValue *scGetProperty(const Common::String &name) override;
-	virtual bool scCallMethod(ScScript *script, ScStack *stack, ScStack *thisStack, const char *name) override;
+	~SXMath() override;
+	ScValue *scGetProperty(const Common::String &name) override;
+	bool scCallMethod(ScScript *script, ScStack *stack, ScStack *thisStack, const char *name) override;
 
 private:
 	double degreeToRadian(double value);
diff --git a/engines/wintermute/base/scriptables/script_ext_mem_buffer.h b/engines/wintermute/base/scriptables/script_ext_mem_buffer.h
index 88efea7..4a895e7 100644
--- a/engines/wintermute/base/scriptables/script_ext_mem_buffer.h
+++ b/engines/wintermute/base/scriptables/script_ext_mem_buffer.h
@@ -36,7 +36,7 @@ namespace Wintermute {
 
 class SXMemBuffer : public BaseScriptable {
 public:
-	virtual int scCompare(BaseScriptable *Val) override;
+	int scCompare(BaseScriptable *Val) override;
 	DECLARE_PERSISTENT(SXMemBuffer, BaseScriptable)
 	ScValue *scGetProperty(const Common::String &name) override;
 	bool scSetProperty(const char *name, ScValue *value) override;
@@ -44,8 +44,8 @@ public:
 	const char *scToString() override;
 	SXMemBuffer(BaseGame *inGame, ScStack *stack);
 	SXMemBuffer(BaseGame *inGame, void *buffer);
-	virtual ~SXMemBuffer();
-	virtual void *scToMemBuffer() override;
+	~SXMemBuffer() override;
+	void *scToMemBuffer() override;
 private:
 	int32 _size;
 
diff --git a/engines/wintermute/base/scriptables/script_ext_object.h b/engines/wintermute/base/scriptables/script_ext_object.h
index 04878be..9192279 100644
--- a/engines/wintermute/base/scriptables/script_ext_object.h
+++ b/engines/wintermute/base/scriptables/script_ext_object.h
@@ -38,7 +38,7 @@ class SXObject : public BaseObject {
 public:
 	DECLARE_PERSISTENT(SXObject, BaseObject)
 	SXObject(BaseGame *inGame, ScStack *Stack);
-	virtual ~SXObject();
+	~SXObject() override;
 };
 
 } // End of namespace Wintermute
diff --git a/engines/wintermute/base/scriptables/script_ext_string.h b/engines/wintermute/base/scriptables/script_ext_string.h
index 80159b4..f0d3e55 100644
--- a/engines/wintermute/base/scriptables/script_ext_string.h
+++ b/engines/wintermute/base/scriptables/script_ext_string.h
@@ -36,7 +36,7 @@ namespace Wintermute {
 
 class SXString : public BaseScriptable {
 public:
-	virtual int scCompare(BaseScriptable *Val) override;
+	int scCompare(BaseScriptable *Val) override;
 	DECLARE_PERSISTENT(SXString, BaseScriptable)
 	ScValue *scGetProperty(const Common::String &name) override;
 	bool scSetProperty(const char *name, ScValue *value) override;
@@ -46,7 +46,7 @@ public:
 	void setStringVal(const char *val);
 
 	SXString(BaseGame *inGame, ScStack *Stack);
-	virtual ~SXString();
+	~SXString() override;
 
 private:
 	char *_string;
diff --git a/engines/wintermute/base/scriptables/script_stack.h b/engines/wintermute/base/scriptables/script_stack.h
index fe7afae..4512b70 100644
--- a/engines/wintermute/base/scriptables/script_stack.h
+++ b/engines/wintermute/base/scriptables/script_stack.h
@@ -55,7 +55,7 @@ public:
 	void push(ScValue *val);
 	ScValue *pop();
 	ScStack(BaseGame *inGame);
-	virtual ~ScStack();
+	~ScStack() override;
 	BaseArray<ScValue *> _values;
 	int32 _sP;
 
diff --git a/engines/wintermute/base/scriptables/script_value.h b/engines/wintermute/base/scriptables/script_value.h
index 0aa6220..9e4a4f3 100644
--- a/engines/wintermute/base/scriptables/script_value.h
+++ b/engines/wintermute/base/scriptables/script_value.h
@@ -97,7 +97,7 @@ public:
 	ScValue(BaseGame *inGame, int32 Val);
 	ScValue(BaseGame *inGame, double Val);
 	ScValue(BaseGame *inGame, const char *Val);
-	virtual ~ScValue();
+	~ScValue() override;
 	Common::HashMap<Common::String, ScValue *> _valObject;
 	Common::HashMap<Common::String, ScValue *>::iterator _valIter;
 
diff --git a/engines/wintermute/base/sound/base_sound.h b/engines/wintermute/base/sound/base_sound.h
index ceeb81c..1768750 100644
--- a/engines/wintermute/base/sound/base_sound.h
+++ b/engines/wintermute/base/sound/base_sound.h
@@ -60,7 +60,7 @@ public:
 	bool setSoundSimple();
 	bool setSound(const Common::String &filename, Audio::Mixer::SoundType type = Audio::Mixer::kSFXSoundType, bool streamed = false);
 	BaseSound(BaseGame *inGame);
-	virtual ~BaseSound();
+	~BaseSound() override;
 
 	bool applyFX(TSFXType type = SFX_NONE, float param1 = 0, float param2 = 0, float param3 = 0, float param4 = 0);
 private:
diff --git a/engines/wintermute/base/sound/base_sound_buffer.h b/engines/wintermute/base/sound/base_sound_buffer.h
index b3f3046..5496220 100644
--- a/engines/wintermute/base/sound/base_sound_buffer.h
+++ b/engines/wintermute/base/sound/base_sound_buffer.h
@@ -46,7 +46,7 @@ class BaseSoundBuffer : public BaseClass {
 public:
 
 	BaseSoundBuffer(BaseGame *inGame);
-	virtual ~BaseSoundBuffer();
+	~BaseSoundBuffer() override;
 
 	bool pause();
 	bool play(bool looping = false, uint32 startSample = 0);
diff --git a/engines/wintermute/base/sound/base_sound_manager.h b/engines/wintermute/base/sound/base_sound_manager.h
index 30d943c..fc5a3d1 100644
--- a/engines/wintermute/base/sound/base_sound_manager.h
+++ b/engines/wintermute/base/sound/base_sound_manager.h
@@ -56,7 +56,7 @@ public:
 	bool initialize();
 	bool _soundAvailable;
 	BaseSoundMgr(BaseGame *inGame);
-	virtual ~BaseSoundMgr();
+	~BaseSoundMgr() override;
 	Common::Array<BaseSoundBuffer *> _sounds;
 	void saveSettings();
 private:
diff --git a/engines/wintermute/debugger.h b/engines/wintermute/debugger.h
index 6b1d231..d8440ce 100644
--- a/engines/wintermute/debugger.h
+++ b/engines/wintermute/debugger.h
@@ -63,7 +63,7 @@ class Error;
 class Console : public GUI::Debugger {
 public:
 	Console(WintermuteEngine *vm);
-	virtual ~Console();
+	~Console() override;
 	/*
 	 * Debug commands
 	 */
diff --git a/engines/wintermute/debugger/debugger_controller.h b/engines/wintermute/debugger/debugger_controller.h
index a5441dc..f470cbb 100644
--- a/engines/wintermute/debugger/debugger_controller.h
+++ b/engines/wintermute/debugger/debugger_controller.h
@@ -66,7 +66,7 @@ class DebuggerController : public ScriptMonitor {
 	bool bytecodeExists(const Common::String &filename);
 public:
 	DebuggerController(WintermuteEngine *vm);
-	~DebuggerController();
+	~DebuggerController() override;
 	Common::Array<TopEntry> getTop() const;
 	/**
 	 * Get the last line # we've stopped at
diff --git a/engines/wintermute/debugger/listing_providers/basic_source_listing_provider.h b/engines/wintermute/debugger/listing_providers/basic_source_listing_provider.h
index e242205..e9ee8c4 100644
--- a/engines/wintermute/debugger/listing_providers/basic_source_listing_provider.h
+++ b/engines/wintermute/debugger/listing_providers/basic_source_listing_provider.h
@@ -34,10 +34,10 @@ class BasicSourceListingProvider : public SourceListingProvider {
 	Common::FSDirectory *_fsDirectory;
 public:
 	BasicSourceListingProvider();
-	virtual ~BasicSourceListingProvider();
-	SourceListing *getListing(const Common::String &filename, ErrorCode &err);
-	ErrorCode setPath(const Common::String &path);
-	Common::String getPath() const;
+	~BasicSourceListingProvider() override;
+	SourceListing *getListing(const Common::String &filename, ErrorCode &err) override;
+	ErrorCode setPath(const Common::String &path) override;
+	Common::String getPath() const override;
 };
 
 }
diff --git a/engines/wintermute/debugger/listing_providers/blank_listing.h b/engines/wintermute/debugger/listing_providers/blank_listing.h
index 8c5ea19..80a0c3c 100644
--- a/engines/wintermute/debugger/listing_providers/blank_listing.h
+++ b/engines/wintermute/debugger/listing_providers/blank_listing.h
@@ -29,9 +29,9 @@ class BlankListing : public Listing {
 	const Common::String _filename;
 public:
 	BlankListing(const Common::String filename);
-	virtual ~BlankListing();
-	virtual uint getLength() const;
-	virtual Common::String getLine(uint n);
+	~BlankListing() override;
+	uint getLength() const override;
+	Common::String getLine(uint n) override;
 };
 
 } // End of namespace Wintermute
diff --git a/engines/wintermute/debugger/listing_providers/blank_listing_provider.h b/engines/wintermute/debugger/listing_providers/blank_listing_provider.h
index e583455..77079d2 100644
--- a/engines/wintermute/debugger/listing_providers/blank_listing_provider.h
+++ b/engines/wintermute/debugger/listing_providers/blank_listing_provider.h
@@ -31,8 +31,8 @@ namespace Wintermute {
 class BlankListingProvider : public ListingProvider {
 public:
 	BlankListingProvider();
-	~BlankListingProvider();
-	Listing *getListing(const Common::String &filename, ErrorCode &error);
+	~BlankListingProvider() override override;
+	Listing *getListing(const Common::String &filename, ErrorCode &error) override override;
 };
 } // End of namespace Wintermute
 #endif
diff --git a/engines/wintermute/debugger/listing_providers/cached_source_listing_provider.h b/engines/wintermute/debugger/listing_providers/cached_source_listing_provider.h
index 6e4925f..36cfc6e 100644
--- a/engines/wintermute/debugger/listing_providers/cached_source_listing_provider.h
+++ b/engines/wintermute/debugger/listing_providers/cached_source_listing_provider.h
@@ -41,10 +41,10 @@ class CachedSourceListingProvider : public SourceListingProvider {
 	void invalidateCache();
 public:
 	CachedSourceListingProvider();
-	virtual ~CachedSourceListingProvider();
-	ErrorCode setPath(const Common::String &path);
-	Common::String getPath() const;
-	Listing *getListing(const Common::String &filename, ErrorCode &err);
+	~CachedSourceListingProvider() override override;
+	ErrorCode setPath(const Common::String &path) override override;
+	Common::String getPath() const override override;
+	Listing *getListing(const Common::String &filename, ErrorCode &err) override override;
 };
 
 } // End of namespace Wintermute
diff --git a/engines/wintermute/debugger/listing_providers/source_listing.h b/engines/wintermute/debugger/listing_providers/source_listing.h
index bf08578..8e9eaf5 100644
--- a/engines/wintermute/debugger/listing_providers/source_listing.h
+++ b/engines/wintermute/debugger/listing_providers/source_listing.h
@@ -29,9 +29,9 @@ class SourceListing : public Listing {
 	const Common::Array<Common::String> _strings;
 public:
 	SourceListing(const Common::Array<Common::String> &strings);
-	virtual ~SourceListing();
-	virtual uint getLength() const;
-	virtual Common::String getLine(uint n);
+	~SourceListing() override override;
+	uint getLength() const override override;
+	Common::String getLine(uint n) override override;
 };
 }
 #endif /* DUMMY_LISTING_H_ */
diff --git a/engines/wintermute/debugger/listing_providers/source_listing_provider.h b/engines/wintermute/debugger/listing_providers/source_listing_provider.h
index 18f05e5..ae69537 100644
--- a/engines/wintermute/debugger/listing_providers/source_listing_provider.h
+++ b/engines/wintermute/debugger/listing_providers/source_listing_provider.h
@@ -34,11 +34,11 @@ class Listing;
 
 class SourceListingProvider : ListingProvider {
 public:
-	virtual ~SourceListingProvider() {};
+	~SourceListingProvider() override override {};
 	/**
 	 * Get a listing. When implementing this, the result should be safe to delete for the caller.
 	 */
-	virtual Listing *getListing(const Common::String &filename, ErrorCode &err) = 0;
+	Listing *getListing(const Common::String &filename, ErrorCode &err) override override = 0;
 	virtual ErrorCode setPath(const Common::String &path) = 0;
 	virtual Common::String getPath() const = 0;
 
diff --git a/engines/wintermute/detection.cpp b/engines/wintermute/detection.cpp
index e6438d3..1e13ef7 100644
--- a/engines/wintermute/detection.cpp
+++ b/engines/wintermute/detection.cpp
@@ -100,11 +100,11 @@ public:
 		return "wintermute";
 	}
 
-	virtual const char *getName() const override {
+	const char *getName() const override {
 		return "Wintermute";
 	}
 
-	virtual const char *getOriginalCopyright() const override {
+	const char *getOriginalCopyright() const override {
 		return "Copyright (C) 2011 Jan Nedoma";
 	}
 
@@ -154,7 +154,7 @@ public:
 		return game;
 	}
 
-	virtual bool createInstance(OSystem *syst, Engine **engine, const ADGameDescription *desc) const override {
+	bool createInstance(OSystem *syst, Engine **engine, const ADGameDescription *desc) const override {
 		assert(syst);
 		assert(engine);
 		const WMEGameDescription *gd = (const WMEGameDescription *)desc;
@@ -203,7 +203,7 @@ public:
 		pm.deleteSaveSlot(slot);
 	}
 
-	virtual SaveStateDescriptor querySaveMetaInfos(const char *target, int slot) const override {
+	SaveStateDescriptor querySaveMetaInfos(const char *target, int slot) const override {
 		Wintermute::BasePersistenceManager pm(target, true);
 		SaveStateDescriptor retVal;
 		retVal.setDescription("Invalid savegame");
diff --git a/engines/wintermute/ui/ui_button.h b/engines/wintermute/ui/ui_button.h
index cfe8f4b..b75e475 100644
--- a/engines/wintermute/ui/ui_button.h
+++ b/engines/wintermute/ui/ui_button.h
@@ -40,22 +40,22 @@ public:
 
 	DECLARE_PERSISTENT(UIButton, UIObject)
 	void press();
-	virtual bool display() override { return display(0, 0); }
-	virtual bool display(int offsetX, int offsetY) override;
+	bool display() override { return display(0, 0); }
+	bool display(int offsetX, int offsetY) override;
 
 	void correctSize() override;
 
 	UIButton(BaseGame *inGame = nullptr);
-	virtual ~UIButton();
+	~UIButton() override;
 	bool loadFile(const char *filename);
 	bool loadBuffer(char *buffer, bool complete = true);
-	virtual bool saveAsText(BaseDynamicBuffer *buffer, int indent) override;
+	bool saveAsText(BaseDynamicBuffer *buffer, int indent) override;
 
 	// scripting interface
-	virtual ScValue *scGetProperty(const Common::String &name) override;
-	virtual bool scSetProperty(const char *name, ScValue *value) override;
-	virtual bool scCallMethod(ScScript *script, ScStack *stack, ScStack *thisStack, const char *name) override;
-	virtual const char *scToString() override;
+	ScValue *scGetProperty(const Common::String &name) override;
+	bool scSetProperty(const char *name, ScValue *value) override;
+	bool scCallMethod(ScScript *script, ScStack *stack, ScStack *thisStack, const char *name) override;
+	const char *scToString() override;
 
 
 	void setFontHover(BaseFont *font);
diff --git a/engines/wintermute/ui/ui_edit.h b/engines/wintermute/ui/ui_edit.h
index 73dbb27..6439e8e 100644
--- a/engines/wintermute/ui/ui_edit.h
+++ b/engines/wintermute/ui/ui_edit.h
@@ -42,23 +42,23 @@ public:
 	int insertChars(int pos, const byte *chars, int num);
 	int deleteChars(int start, int end);
 
-	virtual bool display(int offsetX, int offsetY) override;
-	virtual bool handleKeypress(Common::Event *event, bool printable = false) override;
+	bool display(int offsetX, int offsetY) override;
+	bool handleKeypress(Common::Event *event, bool printable = false) override;
 
 	void setCursorChar(const char *character);
 
 	UIEdit(BaseGame *inGame);
-	virtual ~UIEdit();
+	~UIEdit() override;
 
 	bool loadFile(const char *filename);
 	bool loadBuffer(char *buffer, bool complete = true);
-	virtual bool saveAsText(BaseDynamicBuffer *buffer, int indent) override;
+	bool saveAsText(BaseDynamicBuffer *buffer, int indent) override;
 
 	// scripting interface
-	virtual ScValue *scGetProperty(const Common::String &name) override;
-	virtual bool scSetProperty(const char *name, ScValue *value) override;
-	virtual bool scCallMethod(ScScript *script, ScStack *stack, ScStack *thisStack, const char *name) override;
-	virtual const char *scToString() override;
+	ScValue *scGetProperty(const Common::String &name) override;
+	bool scSetProperty(const char *name, ScValue *value) override;
+	bool scCallMethod(ScScript *script, ScStack *stack, ScStack *thisStack, const char *name) override;
+	const char *scToString() override;
 private:
 	uint32 _cursorBlinkRate;
 	uint32 _lastBlinkTime;
diff --git a/engines/wintermute/ui/ui_entity.h b/engines/wintermute/ui/ui_entity.h
index 596b110..16ea18c 100644
--- a/engines/wintermute/ui/ui_entity.h
+++ b/engines/wintermute/ui/ui_entity.h
@@ -37,20 +37,20 @@ class UIEntity : public UIObject {
 public:
 	DECLARE_PERSISTENT(UIEntity, UIObject)
 	UIEntity(BaseGame *inGame);
-	virtual ~UIEntity();
+	~UIEntity() override;
 	bool loadFile(const char *filename);
 	bool loadBuffer(char *buffer, bool complete);
-	virtual bool saveAsText(BaseDynamicBuffer *buffer, int indent) override;
+	bool saveAsText(BaseDynamicBuffer *buffer, int indent) override;
 
-	virtual bool display() override { return display(0, 0); }
-	virtual bool display(int offsetX, int offsetY) override;
+	bool display() override { return display(0, 0); }
+	bool display(int offsetX, int offsetY) override;
 	bool setEntity(const char *filename);
 
 	// scripting interface
-	virtual ScValue *scGetProperty(const Common::String &name) override;
-	virtual bool scSetProperty(const char *name, ScValue *value) override;
-	virtual bool scCallMethod(ScScript *script, ScStack *stack, ScStack *thisStack, const char *name) override;
-	virtual const char *scToString() override;
+	ScValue *scGetProperty(const Common::String &name) override;
+	bool scSetProperty(const char *name, ScValue *value) override;
+	bool scCallMethod(ScScript *script, ScStack *stack, ScStack *thisStack, const char *name) override;
+	const char *scToString() override;
 
 private:
 	AdEntity *_entity;
diff --git a/engines/wintermute/ui/ui_object.h b/engines/wintermute/ui/ui_object.h
index 5212242..930b445 100644
--- a/engines/wintermute/ui/ui_object.h
+++ b/engines/wintermute/ui/ui_object.h
@@ -42,30 +42,30 @@ public:
 
 	bool getTotalOffset(int *offsetX, int *offsetY);
 	bool focus();
-	virtual bool handleMouse(TMouseEvent event, TMouseButton button) override;
+	bool handleMouse(TMouseEvent event, TMouseButton button) override;
 	bool isFocused();
 
 	DECLARE_PERSISTENT(UIObject, BaseObject)
 	UIObject *_parent;
-	virtual bool display() override { return display(0, 0); }
+	bool display() override { return display(0, 0); }
 	virtual bool display(int offsetX) { return display(offsetX, 0); }
 	virtual bool display(int offsetX, int offsetY);
 	virtual void correctSize();
 	void setText(const char *text);
 
 	UIObject(BaseGame *inGame = nullptr);
-	virtual ~UIObject();
+	~UIObject() override;
 	void setListener(BaseScriptHolder *object, BaseScriptHolder *listenerObject, uint32 listenerParam);
 	BaseScriptHolder *getListener() const;
 
 	UIObject *_focusedWidget;
-	virtual bool saveAsText(BaseDynamicBuffer *buffer, int indent) override;
+	bool saveAsText(BaseDynamicBuffer *buffer, int indent) override;
 
 	// scripting interface
-	virtual ScValue *scGetProperty(const Common::String &name) override;
-	virtual bool scSetProperty(const char *name, ScValue *value) override;
-	virtual bool scCallMethod(ScScript *script, ScStack *stack, ScStack *thisStack, const char *name) override;
-	virtual const char *scToString() override;
+	ScValue *scGetProperty(const Common::String &name) override;
+	bool scSetProperty(const char *name, ScValue *value) override;
+	bool scCallMethod(ScScript *script, ScStack *stack, ScStack *thisStack, const char *name) override;
+	const char *scToString() override;
 	TUIObjectType _type;
 
 	int32 getWidth() const;
diff --git a/engines/wintermute/ui/ui_text.h b/engines/wintermute/ui/ui_text.h
index 4e496bd..2e3a39c 100644
--- a/engines/wintermute/ui/ui_text.h
+++ b/engines/wintermute/ui/ui_text.h
@@ -40,19 +40,19 @@ private:
 	TTextAlign _textAlign;
 	TVerticalAlign _verticalAlign;
 public:
-	virtual bool display(int offsetX, int offsetY) override;
+	bool display(int offsetX, int offsetY) override;
 	DECLARE_PERSISTENT(UIText, UIObject)
 	UIText(BaseGame *inGame = nullptr);
-	virtual ~UIText();
+	~UIText() override;
 	bool loadFile(const char *filename);
 	bool loadBuffer(char *buffer, bool complete = true);
-	virtual bool saveAsText(BaseDynamicBuffer *buffer, int indent) override;
+	bool saveAsText(BaseDynamicBuffer *buffer, int indent) override;
 
 	// scripting interface
-	virtual ScValue *scGetProperty(const Common::String &name) override;
-	virtual bool scSetProperty(const char *name, ScValue *value) override;
-	virtual bool scCallMethod(ScScript *script, ScStack *stack, ScStack *thisStack, const char *name) override;
-	virtual const char *scToString() override;
+	ScValue *scGetProperty(const Common::String &name) override;
+	bool scSetProperty(const char *name, ScValue *value) override;
+	bool scCallMethod(ScScript *script, ScStack *stack, ScStack *thisStack, const char *name) override;
+	const char *scToString() override;
 };
 
 } // End of namespace Wintermute
diff --git a/engines/wintermute/ui/ui_tiled_image.h b/engines/wintermute/ui/ui_tiled_image.h
index 916353a..42f5a83 100644
--- a/engines/wintermute/ui/ui_tiled_image.h
+++ b/engines/wintermute/ui/ui_tiled_image.h
@@ -43,11 +43,11 @@ public:
 	void correctSize(int32 *width, int32 *height);
 	bool loadFile(const char *filename);
 	bool loadBuffer(char *buffer, bool complete = true);
-	virtual bool saveAsText(BaseDynamicBuffer *buffer, int indent) override;
+	bool saveAsText(BaseDynamicBuffer *buffer, int indent) override;
 
 	bool display(int x, int y, int width, int height);
 	UITiledImage(BaseGame *inGame = nullptr);
-	virtual ~UITiledImage();
+	~UITiledImage() override;
 private:
 	BaseSubFrame *_image;
 	Rect32 _upLeft;
diff --git a/engines/wintermute/ui/ui_window.h b/engines/wintermute/ui/ui_window.h
index 936c863..ad43f5a 100644
--- a/engines/wintermute/ui/ui_window.h
+++ b/engines/wintermute/ui/ui_window.h
@@ -42,36 +42,36 @@ public:
 	bool getWindowObjects(BaseArray<UIObject *> &Objects, bool InteractiveOnly);
 
 	void cleanup();
-	virtual void makeFreezable(bool freezable) override;
+	void makeFreezable(bool freezable) override;
 
-	virtual bool handleMouseWheel(int32 delta) override;
+	bool handleMouseWheel(int32 delta) override;
 
 	bool close();
 	bool goSystemExclusive();
 	bool goExclusive();
 	bool moveFocus(bool forward = true);
-	virtual bool handleMouse(TMouseEvent Event, TMouseButton Button) override;
+	bool handleMouse(TMouseEvent Event, TMouseButton Button) override;
 	DECLARE_PERSISTENT(UIWindow, UIObject)
 	bool showWidget(const char *name, bool visible = true);
 	bool enableWidget(const char *name, bool enable = true);
 
-	virtual bool display(int offsetX = 0, int offsetY = 0) override;
+	bool display(int offsetX = 0, int offsetY = 0) override;
 	UIWindow(BaseGame *inGame);
-	virtual ~UIWindow();
-	virtual bool handleKeypress(Common::Event *event, bool printable = false) override;
+	~UIWindow() override;
+	bool handleKeypress(Common::Event *event, bool printable = false) override;
 	BaseArray<UIObject *> _widgets;
 
 	bool loadFile(const char *filename);
 	bool loadBuffer(char *buffer, bool complete = true);
 
-	virtual bool listen(BaseScriptHolder *param1, uint32 param2) override;
-	virtual bool saveAsText(BaseDynamicBuffer *buffer, int indent) override;
+	bool listen(BaseScriptHolder *param1, uint32 param2) override;
+	bool saveAsText(BaseDynamicBuffer *buffer, int indent) override;
 
 	// scripting interface
-	virtual ScValue *scGetProperty(const Common::String &name) override;
-	virtual bool scSetProperty(const char *name, ScValue *value) override;
-	virtual bool scCallMethod(ScScript *script, ScStack *stack, ScStack *thisStack, const char *name) override;
-	virtual const char *scToString() override;
+	ScValue *scGetProperty(const Common::String &name) override;
+	bool scSetProperty(const char *name, ScValue *value) override;
+	bool scCallMethod(ScScript *script, ScStack *stack, ScStack *thisStack, const char *name) override;
+	const char *scToString() override;
 
 	bool getInGame() const;
 	TWindowMode getMode() const;
diff --git a/engines/wintermute/video/video_player.h b/engines/wintermute/video/video_player.h
index 8812e25..e9889d1 100644
--- a/engines/wintermute/video/video_player.h
+++ b/engines/wintermute/video/video_player.h
@@ -61,7 +61,7 @@ public:
 	bool initialize(const char *inFilename, const char *subtitleFile = nullptr);
 	bool cleanup();
 	VideoPlayer(BaseGame *inGame);
-	virtual ~VideoPlayer();
+	~VideoPlayer() override;
 
 	/*PAVIFILE _aviFile;
 
diff --git a/engines/wintermute/video/video_subtitler.h b/engines/wintermute/video/video_subtitler.h
index d2b5492..9bd0bfd 100644
--- a/engines/wintermute/video/video_subtitler.h
+++ b/engines/wintermute/video/video_subtitler.h
@@ -37,7 +37,7 @@ namespace Wintermute {
 class VideoSubtitler : public BaseClass {
 public:
 	VideoSubtitler(BaseGame *inGame);
-	virtual ~VideoSubtitler(void);
+	~VideoSubtitler(void) override;
 	bool loadSubtitles(const Common::String &filename, const Common::String &subtitleFile);
 	void display();
 	void update(uint32 frame);
diff --git a/engines/wintermute/video/video_theora_player.h b/engines/wintermute/video/video_theora_player.h
index 0b9b3d4..5a33dbd 100644
--- a/engines/wintermute/video/video_theora_player.h
+++ b/engines/wintermute/video/video_theora_player.h
@@ -53,7 +53,7 @@ public:
 	DECLARE_PERSISTENT(VideoTheoraPlayer, BaseClass)
 
 	VideoTheoraPlayer(BaseGame *inGame);
-	virtual ~VideoTheoraPlayer(void);
+	~VideoTheoraPlayer(void) override;
 
 	// external objects
 	Common::SeekableReadStream *_file;
diff --git a/engines/wintermute/wintermute.h b/engines/wintermute/wintermute.h
index 0c26c07..4d0a4f3 100644
--- a/engines/wintermute/wintermute.h
+++ b/engines/wintermute/wintermute.h
@@ -56,18 +56,18 @@ class WintermuteEngine : public Engine {
 public:
 	WintermuteEngine(OSystem *syst, const WMEGameDescription *desc);
 	WintermuteEngine();
-	~WintermuteEngine();
+	~WintermuteEngine() override;
 
 	virtual Wintermute::Console *getConsole() { return _debugger; }
 	void trigDebugger() { _trigDebug = true; }
 
-	virtual Common::Error run() override;
-	virtual bool hasFeature(EngineFeature f) const override;
+	Common::Error run() override;
+	bool hasFeature(EngineFeature f) const override;
 	Common::SaveFileManager *getSaveFileMan() { return _saveFileMan; }
-	virtual Common::Error loadGameState(int slot) override;
-	virtual bool canLoadGameStateCurrently() override;
-	virtual Common::Error saveGameState(int slot, const Common::String &desc) override;
-	virtual bool canSaveGameStateCurrently() override;
+	Common::Error loadGameState(int slot) override;
+	bool canLoadGameStateCurrently() override;
+	Common::Error saveGameState(int slot, const Common::String &desc) override;
+	bool canSaveGameStateCurrently() override;
 	// For detection-purposes:
 	static bool getGameInfo(const Common::FSList &fslist, Common::String &name, Common::String &caption);
 private:


Commit: 1bcdcabb29db592ce7364d94883cc898796191c6
    https://github.com/scummvm/scummvm/commit/1bcdcabb29db592ce7364d94883cc898796191c6
Author: Bastien Bouclet (bastien.bouclet at gmail.com)
Date: 2020-02-09T12:55:00+01:00

Commit Message:
XEEN: Add override keywords

Changed paths:
    engines/xeen/detection.cpp
    engines/xeen/dialogs/dialogs.h
    engines/xeen/dialogs/dialogs_spells.h
    engines/xeen/files.h
    engines/xeen/font.h
    engines/xeen/interface.h
    engines/xeen/item.h
    engines/xeen/locations.h
    engines/xeen/screen.h
    engines/xeen/sound_driver_adlib.h
    engines/xeen/sprites.h
    engines/xeen/swordsofxeen/swordsofxeen.h
    engines/xeen/window.h
    engines/xeen/worldofxeen/worldofxeen.h
    engines/xeen/worldofxeen/worldofxeen_menu.h
    engines/xeen/xeen.h
    engines/xeen/xsurface.h


diff --git a/engines/xeen/detection.cpp b/engines/xeen/detection.cpp
index fab7243..0f87b4f 100644
--- a/engines/xeen/detection.cpp
+++ b/engines/xeen/detection.cpp
@@ -120,23 +120,23 @@ public:
 		_maxScanDepth = 3;
 	}
 
-	virtual const char *getEngineId() const override {
+	const char *getEngineId() const override {
 		return "xeen";
 	}
 
-	virtual const char *getName() const override {
+	const char *getName() const override {
 		return "Xeen";
 	}
 
-	virtual const char *getOriginalCopyright() const override {
+	const char *getOriginalCopyright() const override {
 		return "Xeen (C) 1992-1993 New World Computing, Inc.";
 	}
 
-	virtual bool hasFeature(MetaEngineFeature f) const override;
-	virtual bool createInstance(OSystem *syst, Engine **engine, const ADGameDescription *desc) const override;
-	virtual SaveStateList listSaves(const char *target) const override;
-	virtual int getMaximumSaveSlot() const override;
-	virtual void removeSaveState(const char *target, int slot) const override;
+	bool hasFeature(MetaEngineFeature f) const override;
+	bool createInstance(OSystem *syst, Engine **engine, const ADGameDescription *desc) const override;
+	SaveStateList listSaves(const char *target) const override;
+	int getMaximumSaveSlot() const override;
+	void removeSaveState(const char *target, int slot) const override;
 	SaveStateDescriptor querySaveMetaInfos(const char *target, int slot) const override;
 };
 
diff --git a/engines/xeen/dialogs/dialogs.h b/engines/xeen/dialogs/dialogs.h
index 2350bb8..ed4399e 100644
--- a/engines/xeen/dialogs/dialogs.h
+++ b/engines/xeen/dialogs/dialogs.h
@@ -88,7 +88,7 @@ protected:
 	 * @param fadeIn	If true, does an initial fade in
 	 * @returns		True if key or mouse pressed
 	 */
-	virtual bool doScroll(bool rollUp, bool fadeIn);
+	bool doScroll(bool rollUp, bool fadeIn) override;
 
 	/**
 	 * Load a set of text strings from the given resource
@@ -144,7 +144,7 @@ protected:
 public:
 	SettingsBaseDialog(XeenEngine *vm) : ButtonContainer(vm) {}
 
-	virtual ~SettingsBaseDialog() {}
+	~SettingsBaseDialog() override {}
 };
 
 } // End of namespace Xeen
diff --git a/engines/xeen/dialogs/dialogs_spells.h b/engines/xeen/dialogs/dialogs_spells.h
index 26c3f00..6c4a7e2 100644
--- a/engines/xeen/dialogs/dialogs_spells.h
+++ b/engines/xeen/dialogs/dialogs_spells.h
@@ -86,7 +86,7 @@ private:
 	int _oldMode;
 private:
 	CastSpell(XeenEngine *vm);
-	~CastSpell();
+	~CastSpell() override;
 
 	int execute(Character *&c);
 
diff --git a/engines/xeen/files.h b/engines/xeen/files.h
index 6289cc2..cac69c4 100644
--- a/engines/xeen/files.h
+++ b/engines/xeen/files.h
@@ -139,17 +139,17 @@ public:
 	File(const Common::String &filename);
 	File(const Common::String &filename, int ccMode);
 	File(const Common::String &filename, Common::Archive &archive);
-	virtual ~File() {}
+	~File() override {}
 
 	/**
 	 * Opens the given file, throwing an error if it can't be opened
 	 */
-	virtual bool open(const Common::String &filename);
+	bool open(const Common::String &filename) override;
 
 	/**
 	 * Opens the given file, throwing an error if it can't be opened
 	 */
-	virtual bool open(const Common::String &filename, Common::Archive &archive);
+	bool open(const Common::String &filename, Common::Archive &archive) override;
 
 	/**
 	 * Opens the given file, throwing an error if it can't be opened
@@ -159,14 +159,14 @@ public:
 	/**
 	 * Opens the given file
 	 */
-	virtual bool open(const Common::FSNode &node) {
+	bool open(const Common::FSNode &node) override {
 		return Common::File::open(node);
 	}
 
 	/**
 	 * Opens the given file
 	 */
-	virtual bool open(SeekableReadStream *stream, const Common::String &name) {
+	bool open(SeekableReadStream *stream, const Common::String &name) override {
 		return Common::File::open(stream, name);
 	}
 
@@ -217,12 +217,12 @@ public:
 		_parentStream(parentStream),  _begin(parentStream->pos()) {
 	}
 
-	virtual uint32 write(const void *dataPtr, uint32 dataSize) {
+	uint32 write(const void *dataPtr, uint32 dataSize) override {
 		return _parentStream->write(dataPtr, dataSize);
 	}
-	virtual bool flush() { return _parentStream->flush(); }
-	virtual void finalize() {}
-	virtual int32 pos() const { return _parentStream->pos() - _begin; }
+	bool flush() override { return _parentStream->flush(); }
+	void finalize() override {}
+	int32 pos() const override { return _parentStream->pos() - _begin; }
 };
 
 class StringArray : public Common::StringArray {
@@ -290,9 +290,9 @@ public:
 	BaseCCArchive() {}
 
 	// Archive implementation
-	virtual bool hasFile(const Common::String &name) const;
-	virtual int listMembers(Common::ArchiveMemberList &list) const;
-	virtual const Common::ArchiveMemberPtr getMember(const Common::String &name) const;
+	bool hasFile(const Common::String &name) const override;
+	int listMembers(Common::ArchiveMemberList &list) const override;
+	const Common::ArchiveMemberPtr getMember(const Common::String &name) const override;
 };
 
 /**
@@ -304,14 +304,14 @@ private:
 	Common::String _prefix;
 	bool _encoded;
 protected:
-	virtual bool getHeaderEntry(const Common::String &resourceName, CCEntry &ccEntry) const;
+	bool getHeaderEntry(const Common::String &resourceName, CCEntry &ccEntry) const override;
 public:
 	CCArchive(const Common::String &filename, bool encoded);
 	CCArchive(const Common::String &filename, const Common::String &prefix, bool encoded);
-	virtual ~CCArchive();
+	~CCArchive() override;
 
 	// Archive implementation
-	virtual Common::SeekableReadStream *createReadStreamForMember(const Common::String &name) const;
+	Common::SeekableReadStream *createReadStreamForMember(const Common::String &name) const override;
 };
 
 class SaveArchive : public BaseCCArchive {
@@ -323,7 +323,7 @@ private:
 	Common::HashMap<uint16, Common::MemoryWriteStreamDynamic *> _newData;
 public:
 	SaveArchive(Party *party);
-	~SaveArchive();
+	~SaveArchive() override;
 
 	/**
 	* Sets up the dynamic data for the game for a new game
@@ -333,7 +333,7 @@ public:
 	/**
 	 * Archive implementation
 	 */
-	virtual Common::SeekableReadStream *createReadStreamForMember(const Common::String &name) const;
+	Common::SeekableReadStream *createReadStreamForMember(const Common::String &name) const override;
 
 	/**
 	 * Archive implementation
diff --git a/engines/xeen/font.h b/engines/xeen/font.h
index 90bd24b..a317a62 100644
--- a/engines/xeen/font.h
+++ b/engines/xeen/font.h
@@ -81,7 +81,7 @@ public:
 public:
 	FontSurface();
 	FontSurface(int wv, int hv);
-	virtual ~FontSurface() {}
+	~FontSurface() override {}
 
 	/**
 	 * Draws a symbol to the surface.
diff --git a/engines/xeen/interface.h b/engines/xeen/interface.h
index 5639171..b2bbc18 100644
--- a/engines/xeen/interface.h
+++ b/engines/xeen/interface.h
@@ -178,7 +178,7 @@ public:
 public:
 	Interface(XeenEngine *vm);
 
-	virtual ~Interface() {}
+	~Interface() override {}
 
 	void setup();
 
diff --git a/engines/xeen/item.h b/engines/xeen/item.h
index df13456..87ae29a 100644
--- a/engines/xeen/item.h
+++ b/engines/xeen/item.h
@@ -241,26 +241,26 @@ protected:
 	/**
 	 * Returns a text string listing all the stats/attributes of a given item
 	 */
-	virtual Common::String getAttributes(XeenItem &item, const Common::String &classes);
+	Common::String getAttributes(XeenItem &item, const Common::String &classes) override;
 public:
 	WeaponItems(Character *character) : InventoryItems(character, CATEGORY_WEAPON) {}
-	virtual ~WeaponItems() {}
+	~WeaponItems() override {}
 
 	/**
 	 * Equip a given weapon
 	 */
-	virtual void equipItem(int itemIndex);
+	void equipItem(int itemIndex) override;
 
 	/**
 	 * Assembles a full lines description for a specified item for use in
 	 * the Items dialog
 	 */
-	virtual Common::String getFullDescription(int itemIndex, int displayNum);
+	Common::String getFullDescription(int itemIndex, int displayNum) override;
 
 	/**
 	 * Enchants a weapon
 	 */
-	virtual void enchantItem(int itemIndex, int amount);
+	void enchantItem(int itemIndex, int amount) override;
 
 	/**
 	 * Returns true if the character has an Elder weapon in Swords of Xeen
@@ -273,26 +273,26 @@ protected:
 	/**
 	 * Returns a text string listing all the stats/attributes of a given item
 	 */
-	virtual Common::String getAttributes(XeenItem &item, const Common::String &classes);
+	Common::String getAttributes(XeenItem &item, const Common::String &classes) override;
 public:
 	ArmorItems(Character *character) : InventoryItems(character, CATEGORY_ARMOR) {}
-	virtual ~ArmorItems() {}
+	~ArmorItems() override {}
 
 	/**
 	 * Equip a given piece of armor
 	 */
-	virtual void equipItem(int itemIndex);
+	void equipItem(int itemIndex) override;
 
 	/**
 	 * Assembles a full lines description for a specified item for use in
 	 * the Items dialog
 	 */
-	virtual Common::String getFullDescription(int itemIndex, int displayNum);
+	Common::String getFullDescription(int itemIndex, int displayNum) override;
 
 	/**
 	 * Enchants an armor
 	 */
-	virtual void enchantItem(int itemIndex, int amount);
+	void enchantItem(int itemIndex, int amount) override;
 };
 
 class AccessoryItems : public InventoryItems {
@@ -300,20 +300,20 @@ protected:
 	/**
 	 * Returns a text string listing all the stats/attributes of a given item
 	 */
-	virtual Common::String getAttributes(XeenItem &item, const Common::String &classes);
+	Common::String getAttributes(XeenItem &item, const Common::String &classes) override;
 public:
 	AccessoryItems(Character *character) : InventoryItems(character, CATEGORY_ACCESSORY) {}
 
 	/**
 	 * Equip a given accessory
 	 */
-	virtual void equipItem(int itemIndex);
+	void equipItem(int itemIndex) override;
 
 	/**
 	 * Assembles a full lines description for a specified item for use in
 	 * the Items dialog
 	 */
-	virtual Common::String getFullDescription(int itemIndex, int displayNum);
+	Common::String getFullDescription(int itemIndex, int displayNum) override;
 };
 
 class MiscItems : public InventoryItems {
@@ -321,16 +321,16 @@ protected:
 	/**
 	 * Returns a text string listing all the stats/attributes of a given item
 	 */
-	virtual Common::String getAttributes(XeenItem &item, const Common::String &classes);
+	Common::String getAttributes(XeenItem &item, const Common::String &classes) override;
 public:
 	MiscItems(Character *character) : InventoryItems(character, CATEGORY_MISC) {}
-	virtual ~MiscItems() {}
+	~MiscItems() override {}
 
 	/**
 	 * Assembles a full lines description for a specified item for use in
 	 * the Items dialog
 	 */
-	virtual Common::String getFullDescription(int itemIndex, int displayNum);
+	Common::String getFullDescription(int itemIndex, int displayNum) override;
 };
 
 class InventoryItemsGroup {
diff --git a/engines/xeen/locations.h b/engines/xeen/locations.h
index ac9a75b..6ef4fff 100644
--- a/engines/xeen/locations.h
+++ b/engines/xeen/locations.h
@@ -82,7 +82,7 @@ protected:
 	virtual void farewell() {}
 public:
 	BaseLocation(LocationAction action);
-	virtual ~BaseLocation();
+	~BaseLocation() override;
 
 	/**
 	 * Show the town location
@@ -110,20 +110,20 @@ protected:
 	/**
 	 * Generates the display text for the location, for a given character
 	 */
-	virtual Common::String createLocationText(Character &ch);
+	Common::String createLocationText(Character &ch) override;
 
 	/**
 	 * Draw the visual background
 	 */
-	virtual void drawBackground();
+	void drawBackground() override;
 
 	/**
 	 * Handles options for the particular location
 	 */
-	virtual Character *doOptions(Character *c);
+	Character *doOptions(Character *c) override;
 public:
 	BankLocation();
-	virtual ~BankLocation() {}
+	~BankLocation() override {}
 };
 
 class BlacksmithLocation : public BaseLocation {
@@ -131,20 +131,20 @@ protected:
 	/**
 	* Generates the display text for the location, for a given character
 	*/
-	virtual Common::String createLocationText(Character &ch);
+	Common::String createLocationText(Character &ch) override;
 
 	/**
 	 * Handle any farewell
 	 */
-	virtual void farewell();
+	void farewell() override;
 
 	/**
 	 * Handles options for the particular location
 	 */
-	virtual Character *doOptions(Character *c);
+	Character *doOptions(Character *c) override;
 public:
 	BlacksmithLocation();
-	virtual ~BlacksmithLocation() {}
+	~BlacksmithLocation() override {}
 };
 
 class GuildLocation : public BaseLocation {
@@ -152,15 +152,15 @@ protected:
 	/**
 	 * Generates the display text for the location, for a given character
 	 */
-	virtual Common::String createLocationText(Character &ch);
+	Common::String createLocationText(Character &ch) override;
 
 	/**
 	 * Handles options for the particular location
 	 */
-	virtual Character *doOptions(Character *c);
+	Character *doOptions(Character *c) override;
 public:
 	GuildLocation();
-	virtual ~GuildLocation() {}
+	~GuildLocation() override {}
 };
 
 class TavernLocation : public BaseLocation {
@@ -173,20 +173,20 @@ protected:
 	/**
 	* Generates the display text for the location, for a given character
 	*/
-	virtual Common::String createLocationText(Character &ch);
+	Common::String createLocationText(Character &ch) override;
 
 	/**
 	 * Handle any farewell
 	 */
-	virtual void farewell();
+	void farewell() override;
 
 	/**
 	 * Handles options for the particular location
 	 */
-	virtual Character *doOptions(Character *c);
+	Character *doOptions(Character *c) override;
 public:
 	TavernLocation();
-	virtual ~TavernLocation() {}
+	~TavernLocation() override {}
 };
 
 class TempleLocation : public BaseLocation {
@@ -204,15 +204,15 @@ protected:
 	/**
 	* Generates the display text for the location, for a given character
 	*/
-	virtual Common::String createLocationText(Character &ch);
+	Common::String createLocationText(Character &ch) override;
 
 	/**
 	 * Handles options for the particular location
 	 */
-	virtual Character *doOptions(Character *c);
+	Character *doOptions(Character *c) override;
 public:
 	TempleLocation();
-	virtual ~TempleLocation() {}
+	~TempleLocation() override {}
 };
 
 class TrainingLocation : public BaseLocation {
@@ -225,26 +225,26 @@ protected:
 	/**
 	 * Generates the display text for the location, for a given character
 	 */
-	virtual Common::String createLocationText(Character &ch);
+	Common::String createLocationText(Character &ch) override;
 
 	/**
 	 * Handles options for the particular location
 	 */
-	virtual Character *doOptions(Character *c);
+	Character *doOptions(Character *c) override;
 public:
 	TrainingLocation();
-	virtual ~TrainingLocation() {}
+	~TrainingLocation() override {}
 };
 
 class ArenaLocation : public BaseLocation {
 public:
 	ArenaLocation();
-	virtual ~ArenaLocation() {}
+	~ArenaLocation() override {}
 
 	/**
 	 * Show the town location
 	 */
-	virtual int show();
+	int show() override;
 };
 
 class CutsceneLocation : public BaseLocation {
@@ -271,12 +271,12 @@ private:
 	void getNewLocation();
 public:
 	ReaperCutscene();
-	virtual ~ReaperCutscene() {}
+	~ReaperCutscene() override {}
 
 	/**
 	 * Show the town location
 	 */
-	virtual int show();
+	int show() override;
 };
 
 class GolemCutscene : public CutsceneLocation {
@@ -287,12 +287,12 @@ private:
 	void getNewLocation(); 
 public:
 	GolemCutscene();
-	virtual ~GolemCutscene() {}
+	~GolemCutscene() override {}
 
 	/**
 	 * Show the town location
 	 */
-	virtual int show();
+	int show() override;
 };
 
 class DwarfCutscene : public CutsceneLocation {
@@ -303,12 +303,12 @@ private:
 	void getNewLocation();
 public:
 	DwarfCutscene();
-	virtual ~DwarfCutscene() {}
+	~DwarfCutscene() override {}
 
 	/**
 	 * Show the town location
 	 */
-	virtual int show();
+	int show() override;
 };
 
 class SphinxCutscene : public CutsceneLocation {
@@ -319,23 +319,23 @@ private:
 	void getNewLocation();
 public:
 	SphinxCutscene();
-	virtual ~SphinxCutscene() {}
+	~SphinxCutscene() override {}
 
 	/**
 	 * Show the town location
 	 */
-	virtual int show();
+	int show() override;
 };
 
 class PyramidLocation : public BaseLocation {
 public:
 	PyramidLocation();
-	virtual ~PyramidLocation() {}
+	~PyramidLocation() override {}
 
 	/**
 	 * Show the town location
 	 */
-	virtual int show();
+	int show() override;
 };
 
 } // End of namespace Locations
diff --git a/engines/xeen/screen.h b/engines/xeen/screen.h
index 40b6958..82198fc 100644
--- a/engines/xeen/screen.h
+++ b/engines/xeen/screen.h
@@ -58,13 +58,13 @@ private:
 	void updatePalette(const byte *pal, int start, int count16);
 public:
 	Screen(XeenEngine *vm);
-	virtual ~Screen() {}
+	~Screen() override {}
 
 	/**
 	 * Base method that descendent classes can override for recording affected
 	 * dirty areas of the surface
 	 */
-	virtual void addDirtyRect(const Common::Rect &r) { Graphics::Screen::addDirtyRect(r); }
+	void addDirtyRect(const Common::Rect &r) override { Graphics::Screen::addDirtyRect(r); }
 
 	/**
 	 * Load a palette resource into the temporary palette
diff --git a/engines/xeen/sound_driver_adlib.h b/engines/xeen/sound_driver_adlib.h
index 8604184..c998385 100644
--- a/engines/xeen/sound_driver_adlib.h
+++ b/engines/xeen/sound_driver_adlib.h
@@ -106,35 +106,35 @@ private:
 	 */
 	byte calculateLevel(byte level, bool isFx);
 protected:
-	virtual bool musSetInstrument(const byte *&srcP, byte param);
-	virtual bool musSetPitchWheel(const byte *&srcP, byte param);
-	virtual bool musSetPanning(const byte *&srcP, byte param);
-	virtual bool musFade(const byte *&srcP, byte param);
-	virtual bool musStartNote(const byte *&srcP, byte param);
-	virtual bool musSetVolume(const byte *&srcP, byte param);
-	virtual bool musInjectMidi(const byte *&srcP, byte param);
-	virtual bool musPlayInstrument(const byte *&srcP, byte param);
-
-	virtual bool fxSetInstrument(const byte *&srcP, byte param);
-	virtual bool fxSetVolume(const byte *&srcP, byte param);
-	virtual bool fxMidiReset(const byte *&srcP, byte param);
-	virtual bool fxMidiDword(const byte *&srcP, byte param);
-	virtual bool fxSetPanning(const byte *&srcP, byte param);
-	virtual bool fxChannelOff(const byte *&srcP, byte param);
-	virtual bool fxFade(const byte *&srcP, byte param);
-	virtual bool fxStartNote(const byte *&srcP, byte param);
-	virtual bool fxInjectMidi(const byte *&srcP, byte param);
-	virtual bool fxPlayInstrument(const byte *&srcP, byte param);
+	bool musSetInstrument(const byte *&srcP, byte param) override;
+	bool musSetPitchWheel(const byte *&srcP, byte param) override;
+	bool musSetPanning(const byte *&srcP, byte param) override;
+	bool musFade(const byte *&srcP, byte param) override;
+	bool musStartNote(const byte *&srcP, byte param) override;
+	bool musSetVolume(const byte *&srcP, byte param) override;
+	bool musInjectMidi(const byte *&srcP, byte param) override;
+	bool musPlayInstrument(const byte *&srcP, byte param) override;
+
+	bool fxSetInstrument(const byte *&srcP, byte param) override;
+	bool fxSetVolume(const byte *&srcP, byte param) override;
+	bool fxMidiReset(const byte *&srcP, byte param) override;
+	bool fxMidiDword(const byte *&srcP, byte param) override;
+	bool fxSetPanning(const byte *&srcP, byte param) override;
+	bool fxChannelOff(const byte *&srcP, byte param) override;
+	bool fxFade(const byte *&srcP, byte param) override;
+	bool fxStartNote(const byte *&srcP, byte param) override;
+	bool fxInjectMidi(const byte *&srcP, byte param) override;
+	bool fxPlayInstrument(const byte *&srcP, byte param) override;
 
 	/**
 	 * Post-processing done when a pause countdown starts or is in progress
 	 */
-	virtual void pausePostProcess();
+	void pausePostProcess() override;
 
 	/**
 	 * Does a reset of any sound effect
 	 */
-	virtual void resetFX();
+	void resetFX() override;
 public:
 	/**
 	 * Constructor
@@ -144,22 +144,22 @@ public:
 	/**
 	 * Destructor
 	 */
-	virtual ~SoundDriverAdlib();
+	~SoundDriverAdlib() override;
 
 	/**
 	 * Starts an special effect playing
 	 */
-	virtual void playFX(uint effectId, const byte *data);
+	void playFX(uint effectId, const byte *data) override;
 
 	/**
 	 * Plays a song
 	 */
-	virtual void playSong(const byte *data);
+	void playSong(const byte *data) override;
 
 	/**
 	 * Executes special music command
 	 */
-	virtual int songCommand(uint commandId, byte musicVolume = 0, byte sfxVolume = 0);
+	int songCommand(uint commandId, byte musicVolume = 0, byte sfxVolume = 0) override;
 };
 
 } // End of namespace Xeen
diff --git a/engines/xeen/sprites.h b/engines/xeen/sprites.h
index 4cf9579..e414c6c 100644
--- a/engines/xeen/sprites.h
+++ b/engines/xeen/sprites.h
@@ -215,7 +215,7 @@ protected:
 	/**
 	 * Output a pixel
 	 */
-	virtual void drawPixel(byte *dest, byte pixel) override;
+	void drawPixel(byte *dest, byte pixel) override;
 public:
 	/**
 	 * Constructor
@@ -235,7 +235,7 @@ private:
 	/**
 	 * Output a pixel
 	 */
-	virtual void drawPixel(byte *dest, byte pixel) override;
+	void drawPixel(byte *dest, byte pixel) override;
 public:
 	/**
 	 * Constructor
@@ -250,7 +250,7 @@ protected:
 	/**
 	 * Output a pixel
 	 */
-	virtual void drawPixel(byte *dest, byte pixel) override;
+	void drawPixel(byte *dest, byte pixel) override;
 public:
 	/**
 	 * Constructor
@@ -273,7 +273,7 @@ protected:
 	/**
 	 * Output a pixel
 	 */
-	virtual void drawPixel(byte *dest, byte pixel) override;
+	void drawPixel(byte *dest, byte pixel) override;
 public:
 	/**
 	 * Constructor
@@ -288,7 +288,7 @@ protected:
 	/**
 	 * Output a pixel
 	 */
-	virtual void drawPixel(byte *dest, byte pixel) override;
+	void drawPixel(byte *dest, byte pixel) override;
 public:
 	/**
 	 * Constructor
diff --git a/engines/xeen/swordsofxeen/swordsofxeen.h b/engines/xeen/swordsofxeen/swordsofxeen.h
index b19f4e1..3ced3da 100644
--- a/engines/xeen/swordsofxeen/swordsofxeen.h
+++ b/engines/xeen/swordsofxeen/swordsofxeen.h
@@ -43,7 +43,7 @@ protected:
 	/**
 	 * Show the starting sequence/intro
 	 */
-	virtual void showStartup() { 
+	void showStartup() override { 
 		// Swords of Xeen doesn't have a starting title or intro
 		_gameMode = GMODE_MENU;
 	}
@@ -51,25 +51,25 @@ protected:
 	/**
 	 * Show the startup menu
 	 */
-	virtual void showMainMenu();
+	void showMainMenu() override;
 
 	/**
 	 * Death cutscene
 	 */
-	virtual void death();
+	void death() override;
 public:
 	SwordsOfXeenEngine(OSystem *syst, const XeenGameDescription *gameDesc);
-	virtual ~SwordsOfXeenEngine() {}
+	~SwordsOfXeenEngine() override {}
 
 	/**
 	 * Show a cutscene
 	 */
-	virtual void showCutscene(const Common::String &name, int status, uint score);
+	void showCutscene(const Common::String &name, int status, uint score) override;
 
 	/**
 	 * Dream sequence
 	 */
-	virtual void dream();
+	void dream() override;
 };
 
 #define SWORDS_VM (*(::Xeen::SwordsOfXeen::SwordsOfXeenEngine *)g_vm)
diff --git a/engines/xeen/window.h b/engines/xeen/window.h
index b63943f..31e830a 100644
--- a/engines/xeen/window.h
+++ b/engines/xeen/window.h
@@ -98,9 +98,9 @@ public:
 	Window(const Window &src);
 	Window(const Common::Rect &bounds, int a, int border,
 		int xLo, int ycL, int xHi, int ycH);
-	virtual ~Window() {}
+	~Window() override {}
 
-	virtual void addDirtyRect(const Common::Rect &r);
+	void addDirtyRect(const Common::Rect &r) override;
 
 	void setBounds(const Common::Rect &r);
 
diff --git a/engines/xeen/worldofxeen/worldofxeen.h b/engines/xeen/worldofxeen/worldofxeen.h
index 773b454..f4775aa 100644
--- a/engines/xeen/worldofxeen/worldofxeen.h
+++ b/engines/xeen/worldofxeen/worldofxeen.h
@@ -39,30 +39,30 @@ protected:
 	/**
 	 * Show the starting sequence/intro
 	 */
-	virtual void showStartup();
+	void showStartup() override;
 
 	/**
 	 * Show the startup menu
 	 */
-	virtual void showMainMenu();
+	void showMainMenu() override;
 
 	/**
 	 * Death cutscene
 	 */
-	virtual void death();
+	void death() override;
 public:
 	WorldOfXeenEngine(OSystem *syst, const XeenGameDescription *gameDesc);
-	virtual ~WorldOfXeenEngine() {}
+	~WorldOfXeenEngine() override {}
 
 	/**
 	 * Show a cutscene
 	 */
-	virtual void showCutscene(const Common::String &name, int status, uint score);
+	void showCutscene(const Common::String &name, int status, uint score) override;
 
 	/**
 	 * Dream sequence
 	 */
-	virtual void dream();
+	void dream() override;
 };
 
 #define WOX_VM (*(::Xeen::WorldOfXeen::WorldOfXeenEngine *)g_vm)
diff --git a/engines/xeen/worldofxeen/worldofxeen_menu.h b/engines/xeen/worldofxeen/worldofxeen_menu.h
index ba4a465..1af7336 100644
--- a/engines/xeen/worldofxeen/worldofxeen_menu.h
+++ b/engines/xeen/worldofxeen/worldofxeen_menu.h
@@ -87,12 +87,12 @@ protected:
 	/**
 	 * Called when the menu screen is first shown
 	 */
-	virtual void display();
+	void display() override;
 
 	/**
 	 * Shows the main menu dialog
 	 */
-	virtual void showMenuDialog();
+	void showMenuDialog() override;
 public:
 	CloudsMainMenuContainer();
 };
@@ -104,12 +104,12 @@ protected:
 	/**
 	 * Called when the menu screen is first shown
 	 */
-	virtual void display();
+	void display() override;
 
 	/**
 	* Shows the main menu dialog
 	*/
-	virtual void showMenuDialog();
+	void showMenuDialog() override;
 public:
 	DarkSideMainMenuContainer();
 };
@@ -119,12 +119,12 @@ protected:
 	/**
 	 * Called when the menu screen is first shown
 	 */
-	virtual void display();
+	void display() override;
 
 	/**
 	* Shows the main menu dialog
 	*/
-	virtual void showMenuDialog();
+	void showMenuDialog() override;
 public:
 	WorldOfXeenMainMenuContainer();
 };
@@ -134,12 +134,12 @@ protected:
 	/**
 	 * Called when the menu screen is first shown
 	 */
-	virtual void display();
+	void display() override;
 
 	/**
 	* Shows the main menu dialog
 	*/
-	virtual void showMenuDialog();
+	void showMenuDialog() override;
 public:
 	WorldOfXeenCDMainMenuContainer();
 };
@@ -156,7 +156,7 @@ public:
 	/**
 	 * Destructor
 	 */
-	virtual ~MenuContainerDialog() {
+	~MenuContainerDialog() override {
 		_owner->setOwner(nullptr);
 	}
 
@@ -181,17 +181,17 @@ public:
 	/**
 	 * Destructor
 	 */
-	virtual ~MainMenuDialog() {}
+	~MainMenuDialog() override {}
 
 	/**
 	 * Draws the dialog
 	 */
-	virtual void draw() = 0;
+	void draw() override = 0;
 
 	/**
 	 * Handles events
 	 */
-	virtual bool handleEvents();
+	bool handleEvents() override;
 
 };
 
@@ -212,17 +212,17 @@ public:
 	/**
 	 * Destructor
 	 */
-	virtual ~CloudsMenuDialog();
+	~CloudsMenuDialog() override;
 
 	/**
 	 * Draws the dialog
 	 */
-	virtual void draw();
+	void draw() override;
 
 	/**
 	 * Handles events
 	 */
-	virtual bool handleEvents();
+	bool handleEvents() override;
 };
 
 class DarkSideMenuDialog : public MainMenuDialog {
@@ -243,17 +243,17 @@ public:
 	/**
 	 * Destructor
 	 */
-	virtual ~DarkSideMenuDialog();
+	~DarkSideMenuDialog() override;
 
 	/**
 	 * Draws the dialog
 	 */
-	virtual void draw();
+	void draw() override;
 
 	/**
 	 * Handles events
 	 */
-	virtual bool handleEvents();
+	bool handleEvents() override;
 };
 
 class WorldMenuDialog : public MainMenuDialog {
@@ -273,17 +273,17 @@ public:
 	/**
 	* Destructor
 	*/
-	virtual ~WorldMenuDialog();
+	~WorldMenuDialog() override;
 
 	/**
 	 * Draws the dialog
 	 */
-	virtual void draw();
+	void draw() override;
 
 	/**
 	 * Handles events
 	 */
-	virtual bool handleEvents();
+	bool handleEvents() override;
 };
 
 class OtherOptionsDialog : public MenuContainerDialog {
@@ -303,17 +303,17 @@ public:
 	/**
 	 * Destructor
 	 */
-	virtual ~OtherOptionsDialog();
+	~OtherOptionsDialog() override;
 
 	/**
 	 * Draws the dialog
 	 */
-	virtual void draw();
+	void draw() override;
 
 	/**
 	 * Handles events
 	 */
-	virtual bool handleEvents();
+	bool handleEvents() override;
 };
 
 } // End of namespace WorldOfXeen
diff --git a/engines/xeen/xeen.h b/engines/xeen/xeen.h
index 905ade7..52377cd 100644
--- a/engines/xeen/xeen.h
+++ b/engines/xeen/xeen.h
@@ -131,8 +131,8 @@ private:
 	void loadSettings();
 
 	// Engine APIs
-	virtual Common::Error run() override;
-	virtual bool hasFeature(EngineFeature f) const override;
+	Common::Error run() override;
+	bool hasFeature(EngineFeature f) const override;
 
 	/**
 	 * Outer gameplay loop responsible for dispatching control to game-specific
@@ -198,7 +198,7 @@ public:
 	ExtendedOptions _extOptions;
 public:
 	XeenEngine(OSystem *syst, const XeenGameDescription *gameDesc);
-	virtual ~XeenEngine();
+	~XeenEngine() override;
 
 	/**
 	 * Returns the features
@@ -259,27 +259,27 @@ public:
 	/**
 	 * Load a savegame
 	 */
-	virtual Common::Error loadGameState(int slot) override;
+	Common::Error loadGameState(int slot) override;
 
 	/**
 	 * Save the game
 	 */
-	virtual Common::Error saveGameState(int slot, const Common::String &desc) override;
+	Common::Error saveGameState(int slot, const Common::String &desc) override;
 
 	/**
 	 * Updates sound settings
 	 */
-	virtual void syncSoundSettings() override;
+	void syncSoundSettings() override;
 
 	/**
 	 * Returns true if a savegame can currently be loaded
 	 */
-	virtual bool canLoadGameStateCurrently() override;
+	bool canLoadGameStateCurrently() override;
 
 	/**
 	* Returns true if the game can currently be saved
 	*/
-	virtual bool canSaveGameStateCurrently() override;
+	bool canSaveGameStateCurrently() override;
 
 	/**
 	 * Show a cutscene
diff --git a/engines/xeen/xsurface.h b/engines/xeen/xsurface.h
index 40d4611..b85e794 100644
--- a/engines/xeen/xsurface.h
+++ b/engines/xeen/xsurface.h
@@ -32,20 +32,20 @@ namespace Xeen {
 
 class BaseSurface: public Graphics::ManagedSurface {
 public:
-	virtual void addDirtyRect(const Common::Rect &r) {
+	void addDirtyRect(const Common::Rect &r) override {
 		Graphics::ManagedSurface::addDirtyRect(r);
 	}
 public:
 	BaseSurface() : Graphics::ManagedSurface() {}
 	BaseSurface(int width, int height) : Graphics::ManagedSurface(width, height) {}
-	virtual ~BaseSurface() {}
+	~BaseSurface() override {}
 };
 
 class XSurface : public BaseSurface {
 public:
 	XSurface() : BaseSurface() {}
 	XSurface(int width, int height) : BaseSurface(width, height) {}
-	virtual ~XSurface() {}
+	~XSurface() override {}
 };
 
 } // End of namespace Xeen


Commit: e3abab45ab27349a6296a5c3c447d331f3e5167b
    https://github.com/scummvm/scummvm/commit/e3abab45ab27349a6296a5c3c447d331f3e5167b
Author: Bastien Bouclet (bastien.bouclet at gmail.com)
Date: 2020-02-09T12:55:00+01:00

Commit Message:
ZVISION: Add override keywords

Changed paths:
    engines/zvision/core/console.h
    engines/zvision/detection.cpp
    engines/zvision/file/lzss_read_stream.h
    engines/zvision/file/zfs_archive.h
    engines/zvision/graphics/effects/fog.h
    engines/zvision/graphics/effects/light.h
    engines/zvision/graphics/effects/wave.h
    engines/zvision/scripting/actions.h
    engines/zvision/scripting/controls/fist_control.h
    engines/zvision/scripting/controls/hotmov_control.h
    engines/zvision/scripting/controls/input_control.h
    engines/zvision/scripting/controls/lever_control.h
    engines/zvision/scripting/controls/paint_control.h
    engines/zvision/scripting/controls/push_toggle_control.h
    engines/zvision/scripting/controls/safe_control.h
    engines/zvision/scripting/controls/save_control.h
    engines/zvision/scripting/controls/slot_control.h
    engines/zvision/scripting/controls/titler_control.h
    engines/zvision/scripting/effects/animation_effect.h
    engines/zvision/scripting/effects/distort_effect.h
    engines/zvision/scripting/effects/music_effect.h
    engines/zvision/scripting/effects/region_effect.h
    engines/zvision/scripting/effects/syncsound_effect.h
    engines/zvision/scripting/effects/timer_effect.h
    engines/zvision/scripting/effects/ttytext_effect.h
    engines/zvision/scripting/menu.h
    engines/zvision/sound/zork_raw.h
    engines/zvision/video/rlf_decoder.h
    engines/zvision/video/zork_avi_decoder.h
    engines/zvision/zvision.h


diff --git a/engines/zvision/core/console.h b/engines/zvision/core/console.h
index ac83418..6006c81 100644
--- a/engines/zvision/core/console.h
+++ b/engines/zvision/core/console.h
@@ -32,7 +32,7 @@ class ZVision;
 class Console : public GUI::Debugger {
 public:
 	Console(ZVision *engine);
-	virtual ~Console() {}
+	~Console() override {}
 
 private:
 	ZVision *_engine;
diff --git a/engines/zvision/detection.cpp b/engines/zvision/detection.cpp
index 08130a2..7152b5f 100644
--- a/engines/zvision/detection.cpp
+++ b/engines/zvision/detection.cpp
@@ -67,18 +67,18 @@ public:
 		return "zvision";
 	}
 
-	virtual const char *getName() const override {
+	const char *getName() const override {
 		return "Z-Vision";
 	}
 
-	virtual const char *getOriginalCopyright() const override {
+	const char *getOriginalCopyright() const override {
 		return "Z-Vision (C) 1996 Activision";
 	}
 
-	virtual bool hasFeature(MetaEngineFeature f) const override;
-	virtual bool createInstance(OSystem *syst, Engine **engine, const ADGameDescription *desc) const override;
+	bool hasFeature(MetaEngineFeature f) const override;
+	bool createInstance(OSystem *syst, Engine **engine, const ADGameDescription *desc) const override;
 	SaveStateList listSaves(const char *target) const override;
-	virtual int getMaximumSaveSlot() const override;
+	int getMaximumSaveSlot() const override;
 	void removeSaveState(const char *target, int slot) const override;
 	SaveStateDescriptor querySaveMetaInfos(const char *target, int slot) const override;
 };
diff --git a/engines/zvision/file/lzss_read_stream.h b/engines/zvision/file/lzss_read_stream.h
index 1420621..5b99b1b 100644
--- a/engines/zvision/file/lzss_read_stream.h
+++ b/engines/zvision/file/lzss_read_stream.h
@@ -54,8 +54,8 @@ private:
 	bool _eosFlag;
 
 public:
-	bool eos() const;
-	uint32 read(void *dataPtr, uint32 dataSize);
+	bool eos() const override;
+	uint32 read(void *dataPtr, uint32 dataSize) override;
 
 private:
 	/**
diff --git a/engines/zvision/file/zfs_archive.h b/engines/zvision/file/zfs_archive.h
index fe02214..1711e2e 100644
--- a/engines/zvision/file/zfs_archive.h
+++ b/engines/zvision/file/zfs_archive.h
@@ -58,14 +58,14 @@ class ZfsArchive : public Common::Archive {
 public:
 	ZfsArchive(const Common::String &fileName);
 	ZfsArchive(const Common::String &fileName, Common::SeekableReadStream *stream);
-	~ZfsArchive();
+	~ZfsArchive() override;
 
 	/**
 	 * Check if a member with the given name is present in the Archive.
 	 * Patterns are not allowed, as this is meant to be a quick File::exists()
 	 * replacement.
 	 */
-	bool hasFile(const Common::String &fileName) const;
+	bool hasFile(const Common::String &fileName) const override;
 
 	/**
 	 * Add all members of the Archive to list.
@@ -73,12 +73,12 @@ public:
 	 *
 	 * @return    The number of names added to list
 	 */
-	int listMembers(Common::ArchiveMemberList &list) const;
+	int listMembers(Common::ArchiveMemberList &list) const override;
 
 	/**
 	 * Returns a ArchiveMember representation of the given file.
 	 */
-	const Common::ArchiveMemberPtr getMember(const Common::String &name) const;
+	const Common::ArchiveMemberPtr getMember(const Common::String &name) const override;
 
 	/**
 	 * Create a stream bound to a member with the specified name in the
@@ -86,7 +86,7 @@ public:
 	 *
 	 * @return    The newly created input stream
 	 */
-	Common::SeekableReadStream *createReadStreamForMember(const Common::String &name) const;
+	Common::SeekableReadStream *createReadStreamForMember(const Common::String &name) const override;
 
 private:
 	const Common::String _fileName;
diff --git a/engines/zvision/graphics/effects/fog.h b/engines/zvision/graphics/effects/fog.h
index ee7e59f..61504a7 100644
--- a/engines/zvision/graphics/effects/fog.h
+++ b/engines/zvision/graphics/effects/fog.h
@@ -34,11 +34,11 @@ class FogFx : public GraphicsEffect {
 public:
 
 	FogFx(ZVision *engine, uint32 key, Common::Rect region, bool ported, EffectMap *Map, const Common::String &clouds);
-	~FogFx();
+	~FogFx() override;
 
-	const Graphics::Surface *draw(const Graphics::Surface &srcSubRect);
+	const Graphics::Surface *draw(const Graphics::Surface &srcSubRect) override;
 
-	void update();
+	void update() override;
 
 private:
 	EffectMap *_map;
diff --git a/engines/zvision/graphics/effects/light.h b/engines/zvision/graphics/effects/light.h
index cbc0ef1..3557c0f 100644
--- a/engines/zvision/graphics/effects/light.h
+++ b/engines/zvision/graphics/effects/light.h
@@ -33,11 +33,11 @@ class LightFx : public GraphicsEffect {
 public:
 
 	LightFx(ZVision *engine, uint32 key, Common::Rect region, bool ported, EffectMap *Map, int8 delta, int8 minD = -127, int8 maxD = 127);
-	~LightFx();
+	~LightFx() override;
 
-	const Graphics::Surface *draw(const Graphics::Surface &srcSubRect);
+	const Graphics::Surface *draw(const Graphics::Surface &srcSubRect) override;
 
-	void update();
+	void update() override;
 
 private:
 	EffectMap *_map;
diff --git a/engines/zvision/graphics/effects/wave.h b/engines/zvision/graphics/effects/wave.h
index 45333a0..408e0ae 100644
--- a/engines/zvision/graphics/effects/wave.h
+++ b/engines/zvision/graphics/effects/wave.h
@@ -34,11 +34,11 @@ class WaveFx : public GraphicsEffect {
 public:
 
 	WaveFx(ZVision *engine, uint32 key, Common::Rect region, bool ported, int16 frames, int16 centerX, int16 centerY, float ampl, float waveln, float spd);
-	~WaveFx();
+	~WaveFx() override;
 
-	const Graphics::Surface *draw(const Graphics::Surface &srcSubRect);
+	const Graphics::Surface *draw(const Graphics::Surface &srcSubRect) override;
 
-	void update();
+	void update() override;
 
 private:
 	int16 _frame;
diff --git a/engines/zvision/scripting/actions.h b/engines/zvision/scripting/actions.h
index 98d216a..fedf388 100644
--- a/engines/zvision/scripting/actions.h
+++ b/engines/zvision/scripting/actions.h
@@ -59,7 +59,7 @@ protected:
 class ActionAdd : public ResultAction {
 public:
 	ActionAdd(ZVision *engine, int32 slotkey, const Common::String &line);
-	bool execute();
+	bool execute() override;
 
 private:
 	uint32 _key;
@@ -69,8 +69,8 @@ private:
 class ActionAssign : public ResultAction {
 public:
 	ActionAssign(ZVision *engine, int32 slotkey, const Common::String &line);
-	~ActionAssign();
-	bool execute();
+	~ActionAssign() override;
+	bool execute() override;
 
 private:
 	uint32 _key;
@@ -80,7 +80,7 @@ private:
 class ActionAttenuate : public ResultAction {
 public:
 	ActionAttenuate(ZVision *engine, int32 slotkey, const Common::String &line);
-	bool execute();
+	bool execute() override;
 
 private:
 	uint32 _key;
@@ -90,7 +90,7 @@ private:
 class ActionChangeLocation : public ResultAction {
 public:
 	ActionChangeLocation(ZVision *engine, int32 slotkey, const Common::String &line);
-	bool execute();
+	bool execute() override;
 
 private:
 	char _world;
@@ -103,7 +103,7 @@ private:
 class ActionCrossfade : public ResultAction {
 public:
 	ActionCrossfade(ZVision *engine, int32 slotkey, const Common::String &line);
-	bool execute();
+	bool execute() override;
 
 private:
 	uint32 _keyOne;
@@ -118,7 +118,7 @@ private:
 class ActionCursor : public ResultAction {
 public:
 	ActionCursor(ZVision *engine, int32 slotkey, const Common::String &line);
-	bool execute();
+	bool execute() override;
 
 private:
 	uint8 _action;
@@ -127,7 +127,7 @@ private:
 class ActionDelayRender : public ResultAction {
 public:
 	ActionDelayRender(ZVision *engine, int32 slotkey, const Common::String &line);
-	bool execute();
+	bool execute() override;
 
 private:
 	uint32 _framesToDelay;
@@ -136,7 +136,7 @@ private:
 class ActionDisableControl : public ResultAction {
 public:
 	ActionDisableControl(ZVision *engine, int32 slotkey, const Common::String &line);
-	bool execute();
+	bool execute() override;
 
 private:
 	uint32 _key;
@@ -145,7 +145,7 @@ private:
 class ActionDisplayMessage : public ResultAction {
 public:
 	ActionDisplayMessage(ZVision *engine, int32 slotkey, const Common::String &line);
-	bool execute();
+	bool execute() override;
 
 private:
 	int16 _control;
@@ -155,14 +155,14 @@ private:
 class ActionDissolve : public ResultAction {
 public:
 	ActionDissolve(ZVision *engine);
-	bool execute();
+	bool execute() override;
 };
 
 class ActionDistort : public ResultAction {
 public:
 	ActionDistort(ZVision *engine, int32 slotkey, const Common::String &line);
-	~ActionDistort();
-	bool execute();
+	~ActionDistort() override;
+	bool execute() override;
 
 private:
 	int16 _distSlot;
@@ -176,7 +176,7 @@ private:
 class ActionEnableControl : public ResultAction {
 public:
 	ActionEnableControl(ZVision *engine, int32 slotkey, const Common::String &line);
-	bool execute();
+	bool execute() override;
 
 private:
 	uint32 _key;
@@ -185,13 +185,13 @@ private:
 class ActionFlushMouseEvents : public ResultAction {
 public:
 	ActionFlushMouseEvents(ZVision *engine, int32 slotkey);
-	bool execute();
+	bool execute() override;
 };
 
 class ActionInventory : public ResultAction {
 public:
 	ActionInventory(ZVision *engine, int32 slotkey, const Common::String &line);
-	bool execute();
+	bool execute() override;
 private:
 	int8 _type;
 	int32 _key;
@@ -200,7 +200,7 @@ private:
 class ActionKill : public ResultAction {
 public:
 	ActionKill(ZVision *engine, int32 slotkey, const Common::String &line);
-	bool execute();
+	bool execute() override;
 
 private:
 	uint32 _key;
@@ -210,7 +210,7 @@ private:
 class ActionMenuBarEnable : public ResultAction {
 public:
 	ActionMenuBarEnable(ZVision *engine, int32 slotkey, const Common::String &line);
-	bool execute();
+	bool execute() override;
 private:
 	uint16 _menus;
 };
@@ -218,8 +218,8 @@ private:
 class ActionMusic : public ResultAction {
 public:
 	ActionMusic(ZVision *engine, int32 slotkey, const Common::String &line, bool global);
-	~ActionMusic();
-	bool execute();
+	~ActionMusic() override;
+	bool execute() override;
 
 private:
 	Common::String _fileName;
@@ -234,8 +234,8 @@ private:
 class ActionPanTrack : public ResultAction {
 public:
 	ActionPanTrack(ZVision *engine, int32 slotkey, const Common::String &line);
-	~ActionPanTrack();
-	bool execute();
+	~ActionPanTrack() override;
+	bool execute() override;
 
 private:
 	int32 _pos;
@@ -245,8 +245,8 @@ private:
 class ActionPlayAnimation : public ResultAction {
 public:
 	ActionPlayAnimation(ZVision *engine, int32 slotkey, const Common::String &line);
-	~ActionPlayAnimation();
-	bool execute();
+	~ActionPlayAnimation() override;
+	bool execute() override;
 
 private:
 	Common::String _fileName;
@@ -264,7 +264,7 @@ private:
 class ActionPlayPreloadAnimation : public ResultAction {
 public:
 	ActionPlayPreloadAnimation(ZVision *engine, int32 slotkey, const Common::String &line);
-	bool execute();
+	bool execute() override;
 
 private:
 	uint32 _controlKey;
@@ -280,8 +280,8 @@ private:
 class ActionPreloadAnimation : public ResultAction {
 public:
 	ActionPreloadAnimation(ZVision *engine, int32 slotkey, const Common::String &line);
-	~ActionPreloadAnimation();
-	bool execute();
+	~ActionPreloadAnimation() override;
+	bool execute() override;
 
 private:
 	Common::String _fileName;
@@ -292,7 +292,7 @@ private:
 class ActionPreferences : public ResultAction {
 public:
 	ActionPreferences(ZVision *engine, int32 slotkey, const Common::String &line);
-	bool execute();
+	bool execute() override;
 
 private:
 	bool _save;
@@ -301,14 +301,14 @@ private:
 class ActionQuit : public ResultAction {
 public:
 	ActionQuit(ZVision *engine, int32 slotkey) : ResultAction(engine, slotkey) {}
-	bool execute();
+	bool execute() override;
 };
 
 class ActionRegion : public ResultAction {
 public:
 	ActionRegion(ZVision *engine, int32 slotkey, const Common::String &line);
-	~ActionRegion();
-	bool execute();
+	~ActionRegion() override;
+	bool execute() override;
 
 private:
 	Common::String _art;
@@ -324,7 +324,7 @@ private:
 class ActionUnloadAnimation : public ResultAction {
 public:
 	ActionUnloadAnimation(ZVision *engine, int32 slotkey, const Common::String &line);
-	bool execute();
+	bool execute() override;
 private:
 	uint32 _key;
 };
@@ -332,8 +332,8 @@ private:
 class ActionRandom : public ResultAction {
 public:
 	ActionRandom(ZVision *engine, int32 slotkey, const Common::String &line);
-	~ActionRandom();
-	bool execute();
+	~ActionRandom() override;
+	bool execute() override;
 
 private:
 	ValueSlot *_max;
@@ -342,7 +342,7 @@ private:
 class ActionRestoreGame : public ResultAction {
 public:
 	ActionRestoreGame(ZVision *engine, int32 slotkey, const Common::String &line);
-	bool execute();
+	bool execute() override;
 
 private:
 	Common::String _fileName;
@@ -351,7 +351,7 @@ private:
 class ActionRotateTo : public ResultAction {
 public:
 	ActionRotateTo(ZVision *engine, int32 slotkey, const Common::String &line);
-	bool execute();
+	bool execute() override;
 
 private:
 	int32 _toPos;
@@ -361,7 +361,7 @@ private:
 class ActionSetPartialScreen : public ResultAction {
 public:
 	ActionSetPartialScreen(ZVision *engine, int32 slotkey, const Common::String &line);
-	bool execute();
+	bool execute() override;
 
 private:
 	uint _x;
@@ -373,7 +373,7 @@ private:
 class ActionSetScreen : public ResultAction {
 public:
 	ActionSetScreen(ZVision *engine, int32 slotkey, const Common::String &line);
-	bool execute();
+	bool execute() override;
 
 private:
 	Common::String _fileName;
@@ -382,7 +382,7 @@ private:
 class ActionStop : public ResultAction {
 public:
 	ActionStop(ZVision *engine, int32 slotkey, const Common::String &line);
-	bool execute();
+	bool execute() override;
 
 private:
 	uint32 _key;
@@ -391,7 +391,7 @@ private:
 class ActionStreamVideo : public ResultAction {
 public:
 	ActionStreamVideo(ZVision *engine, int32 slotkey, const Common::String &line);
-	bool execute();
+	bool execute() override;
 
 private:
 	enum {
@@ -410,7 +410,7 @@ private:
 class ActionSyncSound : public ResultAction {
 public:
 	ActionSyncSound(ZVision *engine, int32 slotkey, const Common::String &line);
-	bool execute();
+	bool execute() override;
 
 private:
 	int _syncto;
@@ -420,8 +420,8 @@ private:
 class ActionTimer : public ResultAction {
 public:
 	ActionTimer(ZVision *engine, int32 slotkey, const Common::String &line);
-	~ActionTimer();
-	bool execute();
+	~ActionTimer() override;
+	bool execute() override;
 private:
 	ValueSlot *_time;
 };
@@ -429,8 +429,8 @@ private:
 class ActionTtyText : public ResultAction {
 public:
 	ActionTtyText(ZVision *engine, int32 slotkey, const Common::String &line);
-	~ActionTtyText();
-	bool execute();
+	~ActionTtyText() override;
+	bool execute() override;
 
 private:
 	Common::String _filename;
diff --git a/engines/zvision/scripting/controls/fist_control.h b/engines/zvision/scripting/controls/fist_control.h
index d7cbcb1..1fd3fc7 100644
--- a/engines/zvision/scripting/controls/fist_control.h
+++ b/engines/zvision/scripting/controls/fist_control.h
@@ -38,7 +38,7 @@ namespace ZVision {
 class FistControl : public Control {
 public:
 	FistControl(ZVision *engine, uint32 key, Common::SeekableReadStream &stream);
-	~FistControl();
+	~FistControl() override;
 
 private:
 	uint32 _fiststatus;
@@ -67,9 +67,9 @@ private:
 	int32   _animationId;
 
 public:
-	bool onMouseUp(const Common::Point &screenSpacePos, const Common::Point &backgroundImageSpacePos);
-	bool onMouseMove(const Common::Point &screenSpacePos, const Common::Point &backgroundImageSpacePos);
-	bool process(uint32 deltaTimeInMillis);
+	bool onMouseUp(const Common::Point &screenSpacePos, const Common::Point &backgroundImageSpacePos) override;
+	bool onMouseMove(const Common::Point &screenSpacePos, const Common::Point &backgroundImageSpacePos) override;
+	bool process(uint32 deltaTimeInMillis) override;
 
 private:
 	void readDescFile(const Common::String &fileName);
diff --git a/engines/zvision/scripting/controls/hotmov_control.h b/engines/zvision/scripting/controls/hotmov_control.h
index 99d1fd0..62ece39 100644
--- a/engines/zvision/scripting/controls/hotmov_control.h
+++ b/engines/zvision/scripting/controls/hotmov_control.h
@@ -38,7 +38,7 @@ namespace ZVision {
 class HotMovControl : public Control {
 public:
 	HotMovControl(ZVision *engine, uint32 key, Common::SeekableReadStream &stream);
-	~HotMovControl();
+	~HotMovControl() override;
 
 private:
 	int32  _framesCount;
@@ -48,9 +48,9 @@ private:
 	Common::Rect _rectangle;
 	Common::Array<Common::Rect> _frames;
 public:
-	bool onMouseUp(const Common::Point &screenSpacePos, const Common::Point &backgroundImageSpacePos);
-	bool onMouseMove(const Common::Point &screenSpacePos, const Common::Point &backgroundImageSpacePos);
-	bool process(uint32 deltaTimeInMillis);
+	bool onMouseUp(const Common::Point &screenSpacePos, const Common::Point &backgroundImageSpacePos) override;
+	bool onMouseMove(const Common::Point &screenSpacePos, const Common::Point &backgroundImageSpacePos) override;
+	bool process(uint32 deltaTimeInMillis) override;
 
 private:
 	void readHsFile(const Common::String &fileName);
diff --git a/engines/zvision/scripting/controls/input_control.h b/engines/zvision/scripting/controls/input_control.h
index 6abdb3c..76f5433 100644
--- a/engines/zvision/scripting/controls/input_control.h
+++ b/engines/zvision/scripting/controls/input_control.h
@@ -38,7 +38,7 @@ namespace ZVision {
 class InputControl : public Control {
 public:
 	InputControl(ZVision *engine, uint32 key, Common::SeekableReadStream &stream);
-	~InputControl();
+	~InputControl() override;
 
 private:
 	Graphics::Surface *_background;
@@ -59,18 +59,18 @@ private:
 	Video::VideoDecoder *_animation;
 
 public:
-	void focus() {
+	void focus() override {
 		_focused = true;
 		_textChanged = true;
 	}
-	void unfocus() {
+	void unfocus() override {
 		_focused = false;
 		_textChanged = true;
 	}
-	bool onMouseUp(const Common::Point &screenSpacePos, const Common::Point &backgroundImageSpacePos);
-	bool onMouseMove(const Common::Point &screenSpacePos, const Common::Point &backgroundImageSpacePos);
-	bool onKeyDown(Common::KeyState keyState);
-	bool process(uint32 deltaTimeInMillis);
+	bool onMouseUp(const Common::Point &screenSpacePos, const Common::Point &backgroundImageSpacePos) override;
+	bool onMouseMove(const Common::Point &screenSpacePos, const Common::Point &backgroundImageSpacePos) override;
+	bool onKeyDown(Common::KeyState keyState) override;
+	bool process(uint32 deltaTimeInMillis) override;
 	void setText(const Common::String &_str);
 	const Common::String getText();
 	bool enterPress();
diff --git a/engines/zvision/scripting/controls/lever_control.h b/engines/zvision/scripting/controls/lever_control.h
index 8787234..cbbeff0 100644
--- a/engines/zvision/scripting/controls/lever_control.h
+++ b/engines/zvision/scripting/controls/lever_control.h
@@ -38,7 +38,7 @@ namespace ZVision {
 class LeverControl : public Control {
 public:
 	LeverControl(ZVision *engine, uint32 key, Common::SeekableReadStream &stream);
-	~LeverControl();
+	~LeverControl() override;
 
 private:
 
@@ -81,10 +81,10 @@ private:
 	uint32 _accumulatedTime;
 
 public:
-	bool onMouseDown(const Common::Point &screenSpacePos, const Common::Point &backgroundImageSpacePos);
-	bool onMouseUp(const Common::Point &screenSpacePos, const Common::Point &backgroundImageSpacePos);
-	bool onMouseMove(const Common::Point &screenSpacePos, const Common::Point &backgroundImageSpacePos);
-	bool process(uint32 deltaTimeInMillis);
+	bool onMouseDown(const Common::Point &screenSpacePos, const Common::Point &backgroundImageSpacePos) override;
+	bool onMouseUp(const Common::Point &screenSpacePos, const Common::Point &backgroundImageSpacePos) override;
+	bool onMouseMove(const Common::Point &screenSpacePos, const Common::Point &backgroundImageSpacePos) override;
+	bool process(uint32 deltaTimeInMillis) override;
 
 private:
 	void parseLevFile(const Common::String &fileName);
diff --git a/engines/zvision/scripting/controls/paint_control.h b/engines/zvision/scripting/controls/paint_control.h
index aeb3f99..5d74003 100644
--- a/engines/zvision/scripting/controls/paint_control.h
+++ b/engines/zvision/scripting/controls/paint_control.h
@@ -36,19 +36,19 @@ namespace ZVision {
 class PaintControl : public Control {
 public:
 	PaintControl(ZVision *engine, uint32 key, Common::SeekableReadStream &stream);
-	~PaintControl();
+	~PaintControl() override;
 
 	/**
 	 * @param screenSpacePos             The position of the mouse in screen space
 	 * @param backgroundImageSpacePos    The position of the mouse in background image space
 	 */
-	bool onMouseUp(const Common::Point &screenSpacePos, const Common::Point &backgroundImageSpacePos);
+	bool onMouseUp(const Common::Point &screenSpacePos, const Common::Point &backgroundImageSpacePos) override;
 
 	/**
 	 * @param screenSpacePos             The position of the mouse in screen space
 	 * @param backgroundImageSpacePos    The position of the mouse in background image space
 	 */
-	bool onMouseDown(const Common::Point &screenSpacePos, const Common::Point &backgroundImageSpacePos);
+	bool onMouseDown(const Common::Point &screenSpacePos, const Common::Point &backgroundImageSpacePos) override;
 	/**
 	 * Called on every MouseMove. Tests if the mouse is inside _hotspot, and if so, sets the cursor.
 	 *
@@ -57,9 +57,9 @@ public:
 	 * @param backgroundImageSpacePos    The position of the mouse in background image space
 	 * @return                           Was the cursor changed?
 	 */
-	bool onMouseMove(const Common::Point &screenSpacePos, const Common::Point &backgroundImageSpacePos);
+	bool onMouseMove(const Common::Point &screenSpacePos, const Common::Point &backgroundImageSpacePos) override;
 
-	bool process(uint32 deltaTimeInMillis) {
+	bool process(uint32 deltaTimeInMillis) override {
 		return false;
 	};
 
diff --git a/engines/zvision/scripting/controls/push_toggle_control.h b/engines/zvision/scripting/controls/push_toggle_control.h
index 9444c77..2036f72 100644
--- a/engines/zvision/scripting/controls/push_toggle_control.h
+++ b/engines/zvision/scripting/controls/push_toggle_control.h
@@ -34,7 +34,7 @@ namespace ZVision {
 class PushToggleControl : public Control {
 public:
 	PushToggleControl(ZVision *engine, uint32 key, Common::SeekableReadStream &stream);
-	~PushToggleControl();
+	~PushToggleControl() override;
 
 	/**
 	 * Called when LeftMouse is pushed. Default is NOP.
@@ -42,14 +42,14 @@ public:
 	 * @param screenSpacePos             The position of the mouse in screen space
 	 * @param backgroundImageSpacePos    The position of the mouse in background image space
 	 */
-	bool onMouseDown(const Common::Point &screenSpacePos, const Common::Point &backgroundImageSpacePos);
+	bool onMouseDown(const Common::Point &screenSpacePos, const Common::Point &backgroundImageSpacePos) override;
 	/**
 	 * Called when LeftMouse is lifted. Calls ScriptManager::setStateValue(_key, 1);
 	 *
 	 * @param screenSpacePos             The position of the mouse in screen space
 	 * @param backgroundImageSpacePos    The position of the mouse in background image space
 	 */
-	bool onMouseUp(const Common::Point &screenSpacePos, const Common::Point &backgroundImageSpacePos);
+	bool onMouseUp(const Common::Point &screenSpacePos, const Common::Point &backgroundImageSpacePos) override;
 	/**
 	 * Called on every MouseMove. Tests if the mouse is inside _hotspot, and if so, sets the cursor.
 	 *
@@ -58,7 +58,7 @@ public:
 	 * @param backgroundImageSpacePos    The position of the mouse in background image space
 	 * @return                           Was the cursor changed?
 	 */
-	bool onMouseMove(const Common::Point &screenSpacePos, const Common::Point &backgroundImageSpacePos);
+	bool onMouseMove(const Common::Point &screenSpacePos, const Common::Point &backgroundImageSpacePos) override;
 
 private:
 	/**
diff --git a/engines/zvision/scripting/controls/safe_control.h b/engines/zvision/scripting/controls/safe_control.h
index 3e8c176..1382cad 100644
--- a/engines/zvision/scripting/controls/safe_control.h
+++ b/engines/zvision/scripting/controls/safe_control.h
@@ -38,7 +38,7 @@ namespace ZVision {
 class SafeControl : public Control {
 public:
 	SafeControl(ZVision *engine, uint32 key, Common::SeekableReadStream &stream);
-	~SafeControl();
+	~SafeControl() override;
 
 private:
 	int16  _statesCount;
@@ -55,9 +55,9 @@ private:
 	int16  _targetFrame;
 
 public:
-	bool onMouseUp(const Common::Point &screenSpacePos, const Common::Point &backgroundImageSpacePos);
-	bool onMouseMove(const Common::Point &screenSpacePos, const Common::Point &backgroundImageSpacePos);
-	bool process(uint32 deltaTimeInMillis);
+	bool onMouseUp(const Common::Point &screenSpacePos, const Common::Point &backgroundImageSpacePos) override;
+	bool onMouseMove(const Common::Point &screenSpacePos, const Common::Point &backgroundImageSpacePos) override;
+	bool process(uint32 deltaTimeInMillis) override;
 };
 
 } // End of namespace ZVision
diff --git a/engines/zvision/scripting/controls/save_control.h b/engines/zvision/scripting/controls/save_control.h
index cdc50eb..60adaa1 100644
--- a/engines/zvision/scripting/controls/save_control.h
+++ b/engines/zvision/scripting/controls/save_control.h
@@ -46,7 +46,7 @@ private:
 
 public:
 
-	bool process(uint32 deltaTimeInMillis);
+	bool process(uint32 deltaTimeInMillis) override;
 
 };
 
diff --git a/engines/zvision/scripting/controls/slot_control.h b/engines/zvision/scripting/controls/slot_control.h
index f70db26..2a66c67 100644
--- a/engines/zvision/scripting/controls/slot_control.h
+++ b/engines/zvision/scripting/controls/slot_control.h
@@ -35,7 +35,7 @@ namespace ZVision {
 class SlotControl : public Control {
 public:
 	SlotControl(ZVision *engine, uint32 key, Common::SeekableReadStream &stream);
-	~SlotControl();
+	~SlotControl() override;
 
 	/**
 	 * Called when LeftMouse is lifted. Calls ScriptManager::setStateValue(_key, 1);
@@ -43,7 +43,7 @@ public:
 	 * @param screenSpacePos             The position of the mouse in screen space
 	 * @param backgroundImageSpacePos    The position of the mouse in background image space
 	 */
-	bool onMouseUp(const Common::Point &screenSpacePos, const Common::Point &backgroundImageSpacePos);
+	bool onMouseUp(const Common::Point &screenSpacePos, const Common::Point &backgroundImageSpacePos) override;
 	/**
 	 * Called on every MouseMove. Tests if the mouse is inside _hotspot, and if so, sets the cursor.
 	 *
@@ -52,9 +52,9 @@ public:
 	 * @param backgroundImageSpacePos    The position of the mouse in background image space
 	 * @return                           Was the cursor changed?
 	 */
-	bool onMouseMove(const Common::Point &screenSpacePos, const Common::Point &backgroundImageSpacePos);
+	bool onMouseMove(const Common::Point &screenSpacePos, const Common::Point &backgroundImageSpacePos) override;
 
-	bool process(uint32 deltaTimeInMillis);
+	bool process(uint32 deltaTimeInMillis) override;
 
 private:
 	/**
diff --git a/engines/zvision/scripting/controls/titler_control.h b/engines/zvision/scripting/controls/titler_control.h
index dd96e4a..0c65223 100644
--- a/engines/zvision/scripting/controls/titler_control.h
+++ b/engines/zvision/scripting/controls/titler_control.h
@@ -36,7 +36,7 @@ namespace ZVision {
 class TitlerControl : public Control {
 public:
 	TitlerControl(ZVision *engine, uint32 key, Common::SeekableReadStream &stream);
-	~TitlerControl();
+	~TitlerControl() override;
 
 	void setString(int strLine);
 
diff --git a/engines/zvision/scripting/effects/animation_effect.h b/engines/zvision/scripting/effects/animation_effect.h
index 4b9a9ad..a02cdcc 100644
--- a/engines/zvision/scripting/effects/animation_effect.h
+++ b/engines/zvision/scripting/effects/animation_effect.h
@@ -42,7 +42,7 @@ class ZVision;
 class AnimationEffect : public ScriptingEffect {
 public:
 	AnimationEffect(ZVision *engine, uint32 controlKey, const Common::String &fileName, int32 mask, int32 frate, bool disposeAfterUse = true);
-	~AnimationEffect();
+	~AnimationEffect() override;
 
 	struct playnode {
 		Common::Rect pos;
@@ -67,11 +67,11 @@ private:
 	int32 _frmDelayOverride;
 
 public:
-	bool process(uint32 deltaTimeInMillis);
+	bool process(uint32 deltaTimeInMillis) override;
 
 	void addPlayNode(int32 slot, int x, int y, int x2, int y2, int startFrame, int endFrame, int loops = 1);
 
-	bool stop();
+	bool stop() override;
 };
 
 } // End of namespace ZVision
diff --git a/engines/zvision/scripting/effects/distort_effect.h b/engines/zvision/scripting/effects/distort_effect.h
index 5e7f18b..ad0bc3d 100644
--- a/engines/zvision/scripting/effects/distort_effect.h
+++ b/engines/zvision/scripting/effects/distort_effect.h
@@ -32,9 +32,9 @@ class ZVision;
 class DistortNode : public ScriptingEffect {
 public:
 	DistortNode(ZVision *engine, uint32 key, int16 speed, float startAngle, float endAngle, float startLineScale, float endLineScale);
-	~DistortNode();
+	~DistortNode() override;
 
-	bool process(uint32 deltaTimeInMillis);
+	bool process(uint32 deltaTimeInMillis) override;
 
 private:
 	int16 _speed;
diff --git a/engines/zvision/scripting/effects/music_effect.h b/engines/zvision/scripting/effects/music_effect.h
index d814c59..8325869 100644
--- a/engines/zvision/scripting/effects/music_effect.h
+++ b/engines/zvision/scripting/effects/music_effect.h
@@ -36,7 +36,7 @@ namespace ZVision {
 class MusicNodeBASE : public ScriptingEffect {
 public:
 	MusicNodeBASE(ZVision *engine, uint32 key, ScriptingEffectType type) : ScriptingEffect(engine, key, type) {}
-	~MusicNodeBASE() {}
+	~MusicNodeBASE() override {}
 
 	/**
 	 * Decrement the timer by the delta time. If the timer is finished, set the status
@@ -45,7 +45,7 @@ public:
 	 * @param deltaTimeInMillis    The number of milliseconds that have passed since last frame
 	 * @return                     If true, the node can be deleted after process() finishes
 	 */
-	virtual bool process(uint32 deltaTimeInMillis) = 0;
+	bool process(uint32 deltaTimeInMillis) override = 0;
 
 	virtual void setVolume(uint8 volume) = 0;
 	virtual uint8 getVolume() = 0;
@@ -58,7 +58,7 @@ public:
 class MusicNode : public MusicNodeBASE {
 public:
 	MusicNode(ZVision *engine, uint32 key, Common::String &file, bool loop, uint8 volume);
-	~MusicNode();
+	~MusicNode() override;
 
 	/**
 	 * Decrement the timer by the delta time. If the timer is finished, set the status
@@ -67,14 +67,14 @@ public:
 	 * @param deltaTimeInMillis    The number of milliseconds that have passed since last frame
 	 * @return                     If true, the node can be deleted after process() finishes
 	 */
-	bool process(uint32 deltaTimeInMillis);
+	bool process(uint32 deltaTimeInMillis) override;
 
-	void setVolume(uint8 volume);
-	uint8 getVolume();
-	void setDeltaVolume(uint8 volume);
-	void setBalance(int8 balance);
+	void setVolume(uint8 volume) override;
+	uint8 getVolume() override;
+	void setDeltaVolume(uint8 volume) override;
+	void setBalance(int8 balance) override;
 
-	void setFade(int32 time, uint8 target);
+	void setFade(int32 time, uint8 target) override;
 
 private:
 	uint8 _volume;
@@ -94,7 +94,7 @@ private:
 class MusicMidiNode : public MusicNodeBASE {
 public:
 	MusicMidiNode(ZVision *engine, uint32 key, int8 program, int8 note, int8 volume);
-	~MusicMidiNode();
+	~MusicMidiNode() override;
 
 	/**
 	 * Decrement the timer by the delta time. If the timer is finished, set the status
@@ -103,14 +103,14 @@ public:
 	 * @param deltaTimeInMillis    The number of milliseconds that have passed since last frame
 	 * @return                     If true, the node can be deleted after process() finishes
 	 */
-	bool process(uint32 deltaTimeInMillis);
+	bool process(uint32 deltaTimeInMillis) override;
 
-	void setVolume(uint8 volume);
-	uint8 getVolume();
-	void setDeltaVolume(uint8 volume);
-	void setBalance(int8 balance);
+	void setVolume(uint8 volume) override;
+	uint8 getVolume() override;
+	void setDeltaVolume(uint8 volume) override;
+	void setBalance(int8 balance) override;
 
-	void setFade(int32 time, uint8 target);
+	void setFade(int32 time, uint8 target) override;
 
 private:
 	int8 _chan;
@@ -123,9 +123,9 @@ private:
 class PanTrackNode : public ScriptingEffect {
 public:
 	PanTrackNode(ZVision *engine, uint32 key, uint32 slot, int16 pos);
-	~PanTrackNode();
+	~PanTrackNode() override;
 
-	bool process(uint32 deltaTimeInMillis);
+	bool process(uint32 deltaTimeInMillis) override;
 
 private:
 	uint32 _slot;
diff --git a/engines/zvision/scripting/effects/region_effect.h b/engines/zvision/scripting/effects/region_effect.h
index 90f284a..7754d5d 100644
--- a/engines/zvision/scripting/effects/region_effect.h
+++ b/engines/zvision/scripting/effects/region_effect.h
@@ -35,7 +35,7 @@ class ZVision;
 class RegionNode : public ScriptingEffect {
 public:
 	RegionNode(ZVision *engine, uint32 key, GraphicsEffect *effect, uint32 delay);
-	~RegionNode();
+	~RegionNode() override;
 
 	/**
 	 * Decrement the timer by the delta time. If the timer is finished, set the status
@@ -44,7 +44,7 @@ public:
 	 * @param deltaTimeInMillis    The number of milliseconds that have passed since last frame
 	 * @return                     If true, the node can be deleted after process() finishes
 	 */
-	bool process(uint32 deltaTimeInMillis);
+	bool process(uint32 deltaTimeInMillis) override;
 
 private:
 	int32 _timeLeft;
diff --git a/engines/zvision/scripting/effects/syncsound_effect.h b/engines/zvision/scripting/effects/syncsound_effect.h
index 6fd8e71..25f30e0 100644
--- a/engines/zvision/scripting/effects/syncsound_effect.h
+++ b/engines/zvision/scripting/effects/syncsound_effect.h
@@ -35,7 +35,7 @@ namespace ZVision {
 class SyncSoundNode : public ScriptingEffect {
 public:
 	SyncSoundNode(ZVision *engine, uint32 key, Common::String &file, int32 syncto);
-	~SyncSoundNode();
+	~SyncSoundNode() override;
 
 	/**
 	 * Decrement the timer by the delta time. If the timer is finished, set the status
@@ -44,7 +44,7 @@ public:
 	 * @param deltaTimeInMillis    The number of milliseconds that have passed since last frame
 	 * @return                     If true, the node can be deleted after process() finishes
 	 */
-	bool process(uint32 deltaTimeInMillis);
+	bool process(uint32 deltaTimeInMillis) override;
 private:
 	int32 _syncto;
 	Audio::SoundHandle _handle;
diff --git a/engines/zvision/scripting/effects/timer_effect.h b/engines/zvision/scripting/effects/timer_effect.h
index d3ec4e6..d4ba75e 100644
--- a/engines/zvision/scripting/effects/timer_effect.h
+++ b/engines/zvision/scripting/effects/timer_effect.h
@@ -32,7 +32,7 @@ class ZVision;
 class TimerNode : public ScriptingEffect {
 public:
 	TimerNode(ZVision *engine, uint32 key, uint timeInSeconds);
-	~TimerNode();
+	~TimerNode() override;
 
 	/**
 	 * Decrement the timer by the delta time. If the timer is finished, set the status
@@ -41,14 +41,14 @@ public:
 	 * @param deltaTimeInMillis    The number of milliseconds that have passed since last frame
 	 * @return                     If true, the node can be deleted after process() finishes
 	 */
-	bool process(uint32 deltaTimeInMillis);
-	void serialize(Common::WriteStream *stream);
-	void deserialize(Common::SeekableReadStream *stream);
-	inline bool needsSerialization() {
+	bool process(uint32 deltaTimeInMillis) override;
+	void serialize(Common::WriteStream *stream) override;
+	void deserialize(Common::SeekableReadStream *stream) override;
+	inline bool needsSerialization() override {
 		return true;
 	}
 
-	bool stop();
+	bool stop() override;
 
 private:
 	int32 _timeLeft;
diff --git a/engines/zvision/scripting/effects/ttytext_effect.h b/engines/zvision/scripting/effects/ttytext_effect.h
index 0928fa2..2bb46a1 100644
--- a/engines/zvision/scripting/effects/ttytext_effect.h
+++ b/engines/zvision/scripting/effects/ttytext_effect.h
@@ -38,7 +38,7 @@ namespace ZVision {
 class ttyTextNode : public ScriptingEffect {
 public:
 	ttyTextNode(ZVision *engine, uint32 key, const Common::String &file, const Common::Rect &r, int32 delay);
-	~ttyTextNode();
+	~ttyTextNode() override;
 
 	/**
 	 * Decrement the timer by the delta time. If the timer is finished, set the status
@@ -47,7 +47,7 @@ public:
 	 * @param deltaTimeInMillis    The number of milliseconds that have passed since last frame
 	 * @return                     If true, the node can be deleted after process() finishes
 	 */
-	bool process(uint32 deltaTimeInMillis);
+	bool process(uint32 deltaTimeInMillis) override;
 private:
 	Common::Rect _r;
 
diff --git a/engines/zvision/scripting/menu.h b/engines/zvision/scripting/menu.h
index f6b21b9..d64ee04 100644
--- a/engines/zvision/scripting/menu.h
+++ b/engines/zvision/scripting/menu.h
@@ -63,10 +63,10 @@ protected:
 class MenuZGI: public MenuHandler {
 public:
 	MenuZGI(ZVision *engine);
-	~MenuZGI();
-	void onMouseMove(const Common::Point &Pos);
-	void onMouseUp(const Common::Point &Pos);
-	void process(uint32 deltaTimeInMillis);
+	~MenuZGI() override;
+	void onMouseMove(const Common::Point &Pos) override;
+	void onMouseUp(const Common::Point &Pos) override;
+	void process(uint32 deltaTimeInMillis) override;
 private:
 	Graphics::Surface menuBack[3][2];
 	Graphics::Surface menuBar[4][2];
@@ -92,10 +92,10 @@ private:
 class MenuNemesis: public MenuHandler {
 public:
 	MenuNemesis(ZVision *engine);
-	~MenuNemesis();
-	void onMouseMove(const Common::Point &Pos);
-	void onMouseUp(const Common::Point &Pos);
-	void process(uint32 deltaTimeInMillis);
+	~MenuNemesis() override;
+	void onMouseMove(const Common::Point &Pos) override;
+	void onMouseUp(const Common::Point &Pos) override;
+	void process(uint32 deltaTimeInMillis) override;
 private:
 	Graphics::Surface but[4][6];
 	Graphics::Surface menuBar;
diff --git a/engines/zvision/sound/zork_raw.h b/engines/zvision/sound/zork_raw.h
index dbf576c..4e5b36b 100644
--- a/engines/zvision/sound/zork_raw.h
+++ b/engines/zvision/sound/zork_raw.h
@@ -86,7 +86,7 @@ class RawZorkStream : public Audio::RewindableAudioStream {
 public:
 	RawZorkStream(uint32 rate, bool stereo, DisposeAfterUse::Flag disposeStream, Common::SeekableReadStream *stream);
 
-	~RawZorkStream() {
+	~RawZorkStream() override {
 	}
 
 public:
@@ -103,23 +103,23 @@ private:
 	RawChunkStream _streamReader;
 
 public:
-	int readBuffer(int16 *buffer, const int numSamples);
+	int readBuffer(int16 *buffer, const int numSamples) override;
 
-	bool isStereo() const {
+	bool isStereo() const override {
 		return _stereo;
 	}
-	bool endOfData() const {
+	bool endOfData() const override {
 		return _endOfData;
 	}
 
-	int getRate() const {
+	int getRate() const override {
 		return _rate;
 	}
 	Audio::Timestamp getLength() const {
 		return _playtime;
 	}
 
-	bool rewind();
+	bool rewind() override;
 };
 
 /**
diff --git a/engines/zvision/video/rlf_decoder.h b/engines/zvision/video/rlf_decoder.h
index 8b8cbae..9399d17 100644
--- a/engines/zvision/video/rlf_decoder.h
+++ b/engines/zvision/video/rlf_decoder.h
@@ -33,27 +33,27 @@ namespace ZVision {
 class RLFDecoder : public Video::VideoDecoder {
 public:
 	RLFDecoder() {}
-	~RLFDecoder();
+	~RLFDecoder() override;
 
-	bool loadStream(Common::SeekableReadStream *stream);
+	bool loadStream(Common::SeekableReadStream *stream) override;
 
 private:
 	class RLFVideoTrack : public FixedRateVideoTrack {
 	public:
 		RLFVideoTrack(Common::SeekableReadStream *stream);
-		~RLFVideoTrack();
+		~RLFVideoTrack() override;
 
-		uint16 getWidth() const { return _width; }
-		uint16 getHeight() const { return _height; }
-		Graphics::PixelFormat getPixelFormat() const { return Graphics::PixelFormat(2, 5, 5, 5, 0, 10, 5, 0, 0); /* RGB 555 */ }
-		int getCurFrame() const { return _displayedFrame; }
-		int getFrameCount() const { return _frameCount; }
-		const Graphics::Surface *decodeNextFrame();
-		bool isSeekable() const { return true; }
-		bool seek(const Audio::Timestamp &time);
+		uint16 getWidth() const override { return _width; }
+		uint16 getHeight() const override { return _height; }
+		Graphics::PixelFormat getPixelFormat() const override { return Graphics::PixelFormat(2, 5, 5, 5, 0, 10, 5, 0, 0); /* RGB 555 */ }
+		int getCurFrame() const override { return _displayedFrame; }
+		int getFrameCount() const override { return _frameCount; }
+		const Graphics::Surface *decodeNextFrame() override;
+		bool isSeekable() const override { return true; }
+		bool seek(const Audio::Timestamp &time) override;
 
 	protected:
-		Common::Rational getFrameRate() const { return Common::Rational(1000, _frameTime); }
+		Common::Rational getFrameRate() const override { return Common::Rational(1000, _frameTime); }
 
 	private:
 		enum EncodingType {
diff --git a/engines/zvision/video/zork_avi_decoder.h b/engines/zvision/video/zork_avi_decoder.h
index 69a5e0a..4fb6e6b 100644
--- a/engines/zvision/video/zork_avi_decoder.h
+++ b/engines/zvision/video/zork_avi_decoder.h
@@ -33,23 +33,23 @@ class ZorkAVIDecoder : public Video::AVIDecoder {
 public:
 	ZorkAVIDecoder() {}
 
-	virtual ~ZorkAVIDecoder() {}
+	~ZorkAVIDecoder() override {}
 
 private:
 	class ZorkAVIAudioTrack : public Video::AVIDecoder::AVIAudioTrack {
 	public:
 		ZorkAVIAudioTrack(const AVIStreamHeader &streamHeader, const PCMWaveFormat &waveFormat, Audio::Mixer::SoundType soundType);
 
-		void createAudioStream();
-		void queueSound(Common::SeekableReadStream *stream);
-		void resetStream();
+		void createAudioStream() override;
+		void queueSound(Common::SeekableReadStream *stream) override;
+		void resetStream() override;
 
 	private:
 		Audio::QueuingAudioStream *_queueStream;
 		RawChunkStream _decoder;
 	};
 
-	Video::AVIDecoder::AVIAudioTrack *createAudioTrack(Video::AVIDecoder::AVIStreamHeader sHeader, Video::AVIDecoder::PCMWaveFormat wvInfo);
+	Video::AVIDecoder::AVIAudioTrack *createAudioTrack(Video::AVIDecoder::AVIStreamHeader sHeader, Video::AVIDecoder::PCMWaveFormat wvInfo) override;
 
 private:
 	// Audio Codecs
diff --git a/engines/zvision/zvision.h b/engines/zvision/zvision.h
index 8e9bd95..46192b9 100644
--- a/engines/zvision/zvision.h
+++ b/engines/zvision/zvision.h
@@ -99,7 +99,7 @@ enum ZVisionFeatures {
 class ZVision : public Engine {
 public:
 	ZVision(OSystem *syst, const ZVisionGameDescription *gameDesc);
-	~ZVision();
+	~ZVision() override;
 
 public:
 	/**




More information about the Scummvm-git-logs mailing list