diff options
author | Matthew Hoops | 2010-05-18 04:17:58 +0000 |
---|---|---|
committer | Matthew Hoops | 2010-05-18 04:17:58 +0000 |
commit | 3dda73d9a2b65da0dad2d184c52f5ebbee682b59 (patch) | |
tree | b6169db546b692ff9ef889826deda4bfa0b76bf4 /engines/sci/engine/message.cpp | |
parent | 0fe2ba6a0dd1bc7a3edda7ed8deaeba10f39ab9b (diff) | |
download | scummvm-rg350-3dda73d9a2b65da0dad2d184c52f5ebbee682b59.tar.gz scummvm-rg350-3dda73d9a2b65da0dad2d184c52f5ebbee682b59.tar.bz2 scummvm-rg350-3dda73d9a2b65da0dad2d184c52f5ebbee682b59.zip |
Add initial support for KQ6 Mac. Wrapper functions for read/writing to pointers are now used (found in util.*) for code that has different endianness in SCI1.1+ Mac games. Add support for Mac 'snd ' and 'CURS' resources. QFG1 Mac is not yet playable due to script compression.
svn-id: r49070
Diffstat (limited to 'engines/sci/engine/message.cpp')
-rw-r--r-- | engines/sci/engine/message.cpp | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/engines/sci/engine/message.cpp b/engines/sci/engine/message.cpp index a4f5da2b4e..07f8792471 100644 --- a/engines/sci/engine/message.cpp +++ b/engines/sci/engine/message.cpp @@ -23,9 +23,11 @@ * */ + #include "sci/engine/message.h" #include "sci/engine/kernel.h" #include "sci/engine/seg_manager.h" +#include "sci/util.h" namespace Sci { @@ -43,7 +45,7 @@ public: return false; // Read message count from last word in header - _messageCount = READ_LE_UINT16(_data + _headerSize - 2); + _messageCount = READ_SCI11ENDIAN_UINT16(_data + _headerSize - 2); if (_messageCount * _recordSize + _headerSize > _size) return false; @@ -124,7 +126,7 @@ public: record.tuple = tuple; record.refTuple = MessageTuple(recordPtr[7], recordPtr[8], recordPtr[9]); record.talker = recordPtr[4]; - record.string = (const char *)_data + READ_LE_UINT16(recordPtr + 5); + record.string = (const char *)_data + READ_SCI11ENDIAN_UINT16(recordPtr + 5); return true; } recordPtr += _recordSize; @@ -143,7 +145,7 @@ bool MessageState::getRecord(CursorStack &stack, bool recurse, MessageRecord &re } MessageReader *reader; - int version = READ_LE_UINT16(res->data) / 1000; + int version = READ_SCI11ENDIAN_UINT32(res->data) / 1000; switch (version) { case 2: |