diff options
author | Bastien Bouclet | 2016-02-06 17:41:50 +0100 |
---|---|---|
committer | Bastien Bouclet | 2016-02-07 15:27:03 +0100 |
commit | 0463e00fb6b776c7774c4e1f06261e78732788f6 (patch) | |
tree | eae9a09163526920e731c60dd784e49b3e5ea75a /engines/mohawk/myst_scripts.h | |
parent | bff0dd191540b7698c9615a213916d1adf562bbb (diff) | |
download | scummvm-rg350-0463e00fb6b776c7774c4e1f06261e78732788f6.tar.gz scummvm-rg350-0463e00fb6b776c7774c4e1f06261e78732788f6.tar.bz2 scummvm-rg350-0463e00fb6b776c7774c4e1f06261e78732788f6.zip |
MOHAWK: Don't downcast _invokingResource using static_cast
Diffstat (limited to 'engines/mohawk/myst_scripts.h')
-rw-r--r-- | engines/mohawk/myst_scripts.h | 19 |
1 files changed, 17 insertions, 2 deletions
diff --git a/engines/mohawk/myst_scripts.h b/engines/mohawk/myst_scripts.h index 835bb7c270..69052b10f5 100644 --- a/engines/mohawk/myst_scripts.h +++ b/engines/mohawk/myst_scripts.h @@ -151,8 +151,6 @@ protected: Common::Array<MystOpcode *> _opcodes; - MystArea *_invokingResource; - uint16 _savedCardId; uint16 _savedMapCardId; uint16 _savedCursorId; @@ -163,8 +161,25 @@ protected: static const uint16 _startCard[]; void setupCommonOpcodes(); + + template<class T> + T *getInvokingResource() const; + +private: + MystArea *_invokingResource; }; +template<class T> +T *MystScriptParser::getInvokingResource() const { + T *resource = dynamic_cast<T *>(_invokingResource); + + if (!resource) { + error("Invoking resource has unexpected type"); + } + + return resource; +} + } // End of namespace Mohawk #undef DECLARE_OPCODE |