diff --git a/engines/ultima/ultima8/audio/audio_process.h b/engines/ultima/ultima8/audio/audio_process.h index 632579ea793..5e8ac2eceac 100644 --- a/engines/ultima/ultima8/audio/audio_process.h +++ b/engines/ultima/ultima8/audio/audio_process.h @@ -86,7 +86,7 @@ public: static void ConCmd_playSFX(const Console::ArgvType &argv); - virtual void run(); + virtual void run() override; void playSFX(int sfxnum, int priority, ObjId objid, int loops, bool no_duplicates, uint32 pitch_shift, @@ -129,7 +129,7 @@ public: bool loadData(IDataSource *ids, uint32 version); private: - virtual void saveData(ODataSource *ods); + virtual void saveData(ODataSource *ods) override; uint32 paused; //! play the next speech sample for the text in this SampleInfo diff --git a/engines/ultima/ultima8/filesys/archive.h b/engines/ultima/ultima8/filesys/archive.h index 2a1cfdb7476..ad5934f61ab 100644 --- a/engines/ultima/ultima8/filesys/archive.h +++ b/engines/ultima/ultima8/filesys/archive.h @@ -37,7 +37,7 @@ namespace Pentagram { class Archive { public: - ENABLE_RUNTIME_CLASSTYPE() + ENABLE_RUNTIME_CLASSTYPE_BASE() //! create Archive without any input sources Archive(); diff --git a/engines/ultima/ultima8/filesys/archive_file.h b/engines/ultima/ultima8/filesys/archive_file.h index a0dfaa90a18..ef912b9cb85 100644 --- a/engines/ultima/ultima8/filesys/archive_file.h +++ b/engines/ultima/ultima8/filesys/archive_file.h @@ -33,7 +33,7 @@ class IDataSource; class ArchiveFile { public: - ENABLE_RUNTIME_CLASSTYPE() + ENABLE_RUNTIME_CLASSTYPE_BASE() virtual ~ArchiveFile() { } diff --git a/engines/ultima/ultima8/filesys/idata_source.h b/engines/ultima/ultima8/filesys/idata_source.h index 1411420aa6a..fe15d96b663 100644 --- a/engines/ultima/ultima8/filesys/idata_source.h +++ b/engines/ultima/ultima8/filesys/idata_source.h @@ -196,7 +196,7 @@ public: } // Read a 2-byte value, hsb first. - virtual uint16 read2high() { + virtual uint16 read2high() override { return _in->readUint16BE(); } diff --git a/engines/ultima/ultima8/filesys/odata_source.h b/engines/ultima/ultima8/filesys/odata_source.h index 91d02b766b0..ff1c86b57a8 100644 --- a/engines/ultima/ultima8/filesys/odata_source.h +++ b/engines/ultima/ultima8/filesys/odata_source.h @@ -146,7 +146,7 @@ public: return _out->pos(); } - virtual Common::WriteStream *GetRawStream() { + virtual Common::WriteStream *GetRawStream() override { return _out; } }; @@ -171,46 +171,46 @@ public: virtual ~OBufferDataSource() {}; - virtual void write1(uint32 val) { + virtual void write1(uint32 val) override { *buf_ptr++ = val & 0xff; }; - virtual void write2(uint16 val) { + virtual void write2(uint16 val) override { *buf_ptr++ = val & 0xff; *buf_ptr++ = (val >> 8) & 0xff; }; - virtual void write2high(uint16 val) { + virtual void write2high(uint16 val) override { *buf_ptr++ = (val >> 8) & 0xff; *buf_ptr++ = val & 0xff; }; - virtual void write3(uint32 val) { + virtual void write3(uint32 val) override { *buf_ptr++ = val & 0xff; *buf_ptr++ = (val >> 8) & 0xff; *buf_ptr++ = (val >> 16) & 0xff; }; - virtual void write4(uint32 val) { + virtual 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) { + virtual 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) { + virtual 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) { + virtual void seek(uint32 pos) override { buf_ptr = const_cast(buf) + pos; }; @@ -240,41 +240,41 @@ public: return _out; } - virtual void write1(uint32 val) { + virtual void write1(uint32 val) override { _out.push_back(static_cast(val & 0xff)); } - virtual void write2(uint16 val) { + virtual void write2(uint16 val) override { _out.push_back(static_cast(val & 0xff)); _out.push_back(static_cast((val >> 8) & 0xff)); } - virtual void write2high(uint16 val) { + virtual void write2high(uint16 val) override { _out.push_back(static_cast((val >> 8) & 0xff)); _out.push_back(static_cast(val & 0xff)); } - virtual void write3(uint32 val) { + virtual void write3(uint32 val) override { _out.push_back(static_cast(val & 0xff)); _out.push_back(static_cast((val >> 8) & 0xff)); _out.push_back(static_cast((val >> 16) & 0xff)); } - virtual void write4(uint32 val) { + virtual void write4(uint32 val) override { _out.push_back(static_cast(val & 0xff)); _out.push_back(static_cast((val >> 8) & 0xff)); _out.push_back(static_cast((val >> 16) & 0xff)); _out.push_back(static_cast((val >> 24) & 0xff)); } - virtual void write4high(uint32 val) { + virtual void write4high(uint32 val) override { _out.push_back(static_cast((val >> 24) & 0xff)); _out.push_back(static_cast((val >> 16) & 0xff)); _out.push_back(static_cast((val >> 8) & 0xff)); _out.push_back(static_cast(val & 0xff)); } - virtual void write(const void *b, uint32 length) { + virtual void write(const void *b, uint32 length) override { write(b, length, length); } @@ -290,7 +290,7 @@ public: _out.clear(); } - virtual void seek(uint32 /*pos*/) { + virtual void seek(uint32 /*pos*/) override { /*_out->seekp(pos); FIXME: Do something here. */ } virtual void skip(int32 /*pos*/) override { diff --git a/engines/ultima/ultima8/graphics/fonts/font.h b/engines/ultima/ultima8/graphics/fonts/font.h index 335aeae9d01..3acc7d66b71 100644 --- a/engines/ultima/ultima8/graphics/fonts/font.h +++ b/engines/ultima/ultima8/graphics/fonts/font.h @@ -46,7 +46,7 @@ public: Font(); virtual ~Font(); - ENABLE_RUNTIME_CLASSTYPE() + ENABLE_RUNTIME_CLASSTYPE_BASE() enum TextAlign { TEXT_LEFT, diff --git a/engines/ultima/ultima8/graphics/fonts/rendered_text.h b/engines/ultima/ultima8/graphics/fonts/rendered_text.h index ce31056af04..2489cb9abed 100644 --- a/engines/ultima/ultima8/graphics/fonts/rendered_text.h +++ b/engines/ultima/ultima8/graphics/fonts/rendered_text.h @@ -57,7 +57,7 @@ public: return vlead; } - ENABLE_RUNTIME_CLASSTYPE() + ENABLE_RUNTIME_CLASSTYPE_BASE() protected: int width, height; diff --git a/engines/ultima/ultima8/graphics/inverter_process.h b/engines/ultima/ultima8/graphics/inverter_process.h index 38dae6f4ac3..ede83e824e4 100644 --- a/engines/ultima/ultima8/graphics/inverter_process.h +++ b/engines/ultima/ultima8/graphics/inverter_process.h @@ -43,7 +43,7 @@ public: targetstate = target; } - virtual void run(); + virtual 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); + virtual void saveData(ODataSource *ods) override; static InverterProcess *inverter; unsigned int targetstate; diff --git a/engines/ultima/ultima8/graphics/shape.h b/engines/ultima/ultima8/graphics/shape.h index 483cfde8e6d..2f49e49faff 100644 --- a/engines/ultima/ultima8/graphics/shape.h +++ b/engines/ultima/ultima8/graphics/shape.h @@ -73,7 +73,7 @@ public: static const ConvertShapeFormat *DetectShapeFormat(const uint8 *data, uint32 size); static const ConvertShapeFormat *DetectShapeFormat(IDataSource *ds, uint32 size); - ENABLE_RUNTIME_CLASSTYPE() + ENABLE_RUNTIME_CLASSTYPE_BASE() ENABLE_CUSTOM_MEMORY_ALLOCATION() diff --git a/engines/ultima/ultima8/gumps/movie_gump.h b/engines/ultima/ultima8/gumps/movie_gump.h index d233f627cfc..6eca1b3ac34 100644 --- a/engines/ultima/ultima8/gumps/movie_gump.h +++ b/engines/ultima/ultima8/gumps/movie_gump.h @@ -41,16 +41,16 @@ public: uint32 _Flags = 0, int32 layer = LAYER_MODAL); virtual ~MovieGump(void); - virtual void InitGump(Gump *newparent, bool take_focus = true); + virtual void InitGump(Gump *newparent, bool take_focus = true) override; - virtual void Close(bool no_del = false); + virtual void Close(bool no_del = false) override; - virtual void run(); + virtual void run() override; // Paint the Gump - virtual void PaintThis(RenderSurface *, int32 lerp_factor, bool scaled); + virtual void PaintThis(RenderSurface *, int32 lerp_factor, bool scaled) override; - virtual bool OnKeyDown(int key, int mod); + virtual 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); + virtual void saveData(ODataSource *ods) override; SKFPlayer *player; }; diff --git a/engines/ultima/ultima8/gumps/shape_viewer_gump.h b/engines/ultima/ultima8/gumps/shape_viewer_gump.h index 19c7f26eb58..5ab650f8d61 100644 --- a/engines/ultima/ultima8/gumps/shape_viewer_gump.h +++ b/engines/ultima/ultima8/gumps/shape_viewer_gump.h @@ -44,17 +44,17 @@ public: uint32 _Flags = 0, int32 layer = LAYER_MODAL); virtual ~ShapeViewerGump(void); - virtual void PaintThis(RenderSurface *, int32 lerp_factor, bool scaled); + virtual void PaintThis(RenderSurface *, int32 lerp_factor, bool scaled) override; - virtual bool OnKeyDown(int key, int mod); - virtual bool OnTextInput(int unicode); + virtual bool OnKeyDown(int key, int mod) override; + virtual 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); + virtual void saveData(ODataSource *ods) override; Std::vector > flexes; unsigned int curflex; diff --git a/engines/ultima/ultima8/kernel/allocator.h b/engines/ultima/ultima8/kernel/allocator.h index 4fa6c836c8e..92b5a1ea2bb 100644 --- a/engines/ultima/ultima8/kernel/allocator.h +++ b/engines/ultima/ultima8/kernel/allocator.h @@ -34,7 +34,7 @@ public: Allocator(); virtual ~Allocator(); - ENABLE_RUNTIME_CLASSTYPE() + ENABLE_RUNTIME_CLASSTYPE_BASE() virtual void *allocate(size_t size) = 0; diff --git a/engines/ultima/ultima8/kernel/core_app.h b/engines/ultima/ultima8/kernel/core_app.h index 217b8f30e94..cda6c26d477 100644 --- a/engines/ultima/ultima8/kernel/core_app.h +++ b/engines/ultima/ultima8/kernel/core_app.h @@ -47,7 +47,7 @@ struct GameInfo; class CoreApp { public: - ENABLE_RUNTIME_CLASSTYPE() + ENABLE_RUNTIME_CLASSTYPE_BASE() CoreApp(const Ultima::UltimaGameDescription *gameDesc); virtual ~CoreApp(); diff --git a/engines/ultima/ultima8/kernel/delay_process.h b/engines/ultima/ultima8/kernel/delay_process.h index 6bcbf0169a2..17bfd0f26c2 100644 --- a/engines/ultima/ultima8/kernel/delay_process.h +++ b/engines/ultima/ultima8/kernel/delay_process.h @@ -40,13 +40,13 @@ public: ENABLE_RUNTIME_CLASSTYPE() - virtual void run(); + virtual void run() override; - virtual void dumpInfo(); + virtual void dumpInfo() override; bool loadData(IDataSource *ids, uint32 version); protected: - virtual void saveData(ODataSource *ods); + virtual void saveData(ODataSource *ods) override; int count; }; diff --git a/engines/ultima/ultima8/kernel/object.h b/engines/ultima/ultima8/kernel/object.h index 46e976a438f..542ae2ad084 100644 --- a/engines/ultima/ultima8/kernel/object.h +++ b/engines/ultima/ultima8/kernel/object.h @@ -38,7 +38,7 @@ public: virtual ~Object(); // p_dynamic_cast stuff - ENABLE_RUNTIME_CLASSTYPE() + ENABLE_RUNTIME_CLASSTYPE_BASE() // memory pooling stuff ENABLE_CUSTOM_MEMORY_ALLOCATION() diff --git a/engines/ultima/ultima8/kernel/pool.h b/engines/ultima/ultima8/kernel/pool.h index 5f105ed4542..f01a00e3e65 100644 --- a/engines/ultima/ultima8/kernel/pool.h +++ b/engines/ultima/ultima8/kernel/pool.h @@ -34,7 +34,7 @@ public: virtual ~Pool(); // p_dynamic_cast stuff - ENABLE_RUNTIME_CLASSTYPE() + ENABLE_RUNTIME_CLASSTYPE_BASE() virtual void *allocate(size_t size) = 0; virtual void deallocate(void *ptr) = 0; diff --git a/engines/ultima/ultima8/kernel/process.h b/engines/ultima/ultima8/kernel/process.h index d2eb534931e..c7be2bdf0a0 100644 --- a/engines/ultima/ultima8/kernel/process.h +++ b/engines/ultima/ultima8/kernel/process.h @@ -42,7 +42,7 @@ public: virtual ~Process() { } // p_dynamic_cast stuff - ENABLE_RUNTIME_CLASSTYPE() + ENABLE_RUNTIME_CLASSTYPE_BASE() // memory pooling stuff ENABLE_CUSTOM_MEMORY_ALLOCATION() diff --git a/engines/ultima/ultima8/misc/p_dynamic_cast.h b/engines/ultima/ultima8/misc/p_dynamic_cast.h index 3361ccb7b1e..5c4f8069583 100644 --- a/engines/ultima/ultima8/misc/p_dynamic_cast.h +++ b/engines/ultima/ultima8/misc/p_dynamic_cast.h @@ -43,6 +43,13 @@ struct RunTimeClassType { // p_dynamic_cast. Make sure this is public! // #define ENABLE_RUNTIME_CLASSTYPE() \ + static const RunTimeClassType ClassType; \ + virtual bool IsOfType(const RunTimeClassType & type) override; \ + virtual bool IsOfType(const char * type) override; \ + template inline bool IsOfType() { return IsOfType(Type::ClassType); } \ + virtual const RunTimeClassType & GetClassType() override { return ClassType; } + +#define ENABLE_RUNTIME_CLASSTYPE_BASE() \ static const RunTimeClassType ClassType; \ virtual bool IsOfType(const RunTimeClassType & type); \ virtual bool IsOfType(const char * type); \ diff --git a/engines/ultima/ultima8/ultima8.h b/engines/ultima/ultima8/ultima8.h index f2cb317f67e..7b03487d4e6 100644 --- a/engines/ultima/ultima8/ultima8.h +++ b/engines/ultima/ultima8/ultima8.h @@ -80,11 +80,11 @@ class AudioMixer; class Ultima8Engine : public Shared::UltimaEngine, public CoreApp { private: Std::list textmodes; //!< Gumps that want text mode - + /** * Does engine deinitialization */ - void deinitialize(); + void deinitialize() override; // Load and save games from arbitrary filenames from the console static void ConCmd_saveGame(const Console::ArgvType &argv); //!< "Ultima8Engine::saveGame " console command @@ -209,7 +209,7 @@ protected: virtual bool initialize() override; - virtual void DeclareArgs(); + virtual void DeclareArgs() override; /** * Returns the data archive folder and version that's required diff --git a/engines/ultima/ultima8/usecode/uc_process.h b/engines/ultima/ultima8/usecode/uc_process.h index 008ac64569d..6127bdf30db 100644 --- a/engines/ultima/ultima8/usecode/uc_process.h +++ b/engines/ultima/ultima8/usecode/uc_process.h @@ -47,9 +47,9 @@ public: // p_dynamic_cast stuff ENABLE_RUNTIME_CLASSTYPE() - virtual void run(); + virtual void run() override; - virtual void terminate(); + virtual 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(); + virtual void dumpInfo() override; bool loadData(IDataSource *ids, uint32 version); protected: - virtual void saveData(ODataSource *ods); + virtual 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/world/actors/ambush_process.h b/engines/ultima/ultima8/world/actors/ambush_process.h index f43ecedaa7e..2a2d34a1b21 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(); + virtual void run() override; bool loadData(IDataSource *ids, uint32 version); protected: - virtual void saveData(ODataSource *ods); + virtual void saveData(ODataSource *ods) override; uint32 delaycount; }; diff --git a/engines/ultima/ultima8/world/actors/avatar_gravity_process.h b/engines/ultima/ultima8/world/actors/avatar_gravity_process.h index 95ff961fafc..6378864f4e4 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(); + virtual void run() override; bool loadData(IDataSource *ids, uint32 version); protected: - virtual void saveData(ODataSource *ods); + virtual void saveData(ODataSource *ods) override; bool cling; }; diff --git a/engines/ultima/ultima8/world/actors/heal_process.h b/engines/ultima/ultima8/world/actors/heal_process.h index c0c69e832cd..f0dce05ffdd 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(); + virtual void run() override; INTRINSIC(I_feedAvatar); bool loadData(IDataSource *ids, uint32 version); protected: - virtual void saveData(ODataSource *ods); + virtual void saveData(ODataSource *ods) override; void feedAvatar(uint16 food); diff --git a/engines/ultima/ultima8/world/actors/pathfinder_process.h b/engines/ultima/ultima8/world/actors/pathfinder_process.h index 2cde44055d9..7be8280982d 100644 --- a/engines/ultima/ultima8/world/actors/pathfinder_process.h +++ b/engines/ultima/ultima8/world/actors/pathfinder_process.h @@ -42,14 +42,14 @@ public: // p_dynamic_cast stuff ENABLE_RUNTIME_CLASSTYPE() - virtual void run(); - virtual void terminate(); + virtual void run() override; + virtual void terminate() override; // virtual void terminate(); bool loadData(IDataSource *ids, uint32 version); protected: - virtual void saveData(ODataSource *ods); + virtual void saveData(ODataSource *ods) override; int32 targetx, targety, targetz; ObjId targetitem; diff --git a/engines/ultima/ultima8/world/actors/scheduler_process.h b/engines/ultima/ultima8/world/actors/scheduler_process.h index 6a71af7c372..17f70a28072 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(); + virtual void run() override; bool loadData(IDataSource *ids, uint32 version); protected: - virtual void saveData(ODataSource *ods); + virtual void saveData(ODataSource *ods) override; uint32 lastRun; uint16 nextActor; 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 481589445f7..c4f6864ad0f 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(); + virtual void run() override; bool loadData(IDataSource *ids, uint32 version); protected: - virtual void saveData(ODataSource *ods); + virtual void saveData(ODataSource *ods) override; int mapnum; int teleport_id; diff --git a/engines/ultima/ultima8/world/egg_hatcher_process.h b/engines/ultima/ultima8/world/egg_hatcher_process.h index 33cb90eb6ab..a3624c733af 100644 --- a/engines/ultima/ultima8/world/egg_hatcher_process.h +++ b/engines/ultima/ultima8/world/egg_hatcher_process.h @@ -39,14 +39,14 @@ public: // p_dynamic_cast stuff ENABLE_RUNTIME_CLASSTYPE() - virtual void run(); + virtual void run() override; void addEgg(Egg *egg); void addEgg(uint16 egg); bool loadData(IDataSource *ids, uint32 version); private: - virtual void saveData(ODataSource *ods); + virtual void saveData(ODataSource *ods) override; Std::vector eggs; }; diff --git a/engines/ultima/ultima8/world/fireball_process.h b/engines/ultima/ultima8/world/fireball_process.h index 080db42b232..873c235cac8 100644 --- a/engines/ultima/ultima8/world/fireball_process.h +++ b/engines/ultima/ultima8/world/fireball_process.h @@ -39,15 +39,15 @@ public: // p_dynamic_cast stuff ENABLE_RUNTIME_CLASSTYPE() - virtual void run(); + virtual void run() override; - virtual void terminate(); + virtual void terminate() override; INTRINSIC(I_TonysBalls); bool loadData(IDataSource *ids, uint32 version); protected: - virtual void saveData(ODataSource *ods); + virtual void saveData(ODataSource *ods) override; void explode(); diff --git a/engines/ultima/ultima8/world/gravity_process.h b/engines/ultima/ultima8/world/gravity_process.h index 76cec294f9a..3265b17220b 100644 --- a/engines/ultima/ultima8/world/gravity_process.h +++ b/engines/ultima/ultima8/world/gravity_process.h @@ -44,14 +44,14 @@ public: // p_dynamic_cast stuff ENABLE_RUNTIME_CLASSTYPE() - virtual void run(); - virtual void terminate(); + virtual void run() override; + virtual void terminate() override; - virtual void dumpInfo(); + virtual void dumpInfo() override; bool loadData(IDataSource *ids, uint32 version); protected: - virtual void saveData(ODataSource *ods); + virtual void saveData(ODataSource *ods) override; void fallStopped();