diff options
author | Paul Gilbert | 2016-08-25 20:46:33 -0400 |
---|---|---|
committer | Paul Gilbert | 2016-08-25 20:46:33 -0400 |
commit | 1f0b9cb68d02d956ec745bef16f0dbddaa743bec (patch) | |
tree | 1caba7007cc529982bd5932923d33b5cf8569853 /engines/titanic/core | |
parent | db179c11bb7d8f82183e39e2778491ead55d875e (diff) | |
download | scummvm-rg350-1f0b9cb68d02d956ec745bef16f0dbddaa743bec.tar.gz scummvm-rg350-1f0b9cb68d02d956ec745bef16f0dbddaa743bec.tar.bz2 scummvm-rg350-1f0b9cb68d02d956ec745bef16f0dbddaa743bec.zip |
TITANIC: Implemented more game classes
Diffstat (limited to 'engines/titanic/core')
-rw-r--r-- | engines/titanic/core/multi_drop_target.cpp | 22 | ||||
-rw-r--r-- | engines/titanic/core/multi_drop_target.h | 2 |
2 files changed, 24 insertions, 0 deletions
diff --git a/engines/titanic/core/multi_drop_target.cpp b/engines/titanic/core/multi_drop_target.cpp index f2998199b1..ad709fe38b 100644 --- a/engines/titanic/core/multi_drop_target.cpp +++ b/engines/titanic/core/multi_drop_target.cpp @@ -21,9 +21,14 @@ */ #include "titanic/core/multi_drop_target.h" +#include "titanic/support/string_parser.h" namespace Titanic { +BEGIN_MESSAGE_MAP(CMultiDropTarget, CDropTarget) + ON_MESSAGE(DropObjectMsg) +END_MESSAGE_MAP() + void CMultiDropTarget::save(SimpleFile *file, int indent) { file->writeNumberLine(1, indent); file->writeQuotedLine(_string5, indent); @@ -40,4 +45,21 @@ void CMultiDropTarget::load(SimpleFile *file) { CDropTarget::load(file); } +bool CMultiDropTarget::DropObjectMsg(CDropObjectMsg *msg) { + CStringParser parser1(_string5); + CStringParser parser2(_string6); + CString seperatorChars = ","; + int dropFrame = _dropFrame; + + while (parser2.parse(_itemMatchName, seperatorChars)) { + _dropFrame = parser1.readInt(); + CDropTarget::DropObjectMsg(msg); + + parser1.skipSeperators(seperatorChars); + parser2.skipSeperators(seperatorChars); + } + + return true; +} + } // End of namespace Titanic diff --git a/engines/titanic/core/multi_drop_target.h b/engines/titanic/core/multi_drop_target.h index c004b9bece..ab552f96e1 100644 --- a/engines/titanic/core/multi_drop_target.h +++ b/engines/titanic/core/multi_drop_target.h @@ -28,6 +28,8 @@ namespace Titanic { class CMultiDropTarget : public CDropTarget { + DECLARE_MESSAGE_MAP; + bool DropObjectMsg(CDropObjectMsg *msg); public: CString _string5; CString _string6; |