aboutsummaryrefslogtreecommitdiff
path: root/engines/gob/inter_v1.cpp
diff options
context:
space:
mode:
authorSven Hesse2006-06-04 17:24:03 +0000
committerSven Hesse2006-06-04 17:24:03 +0000
commitb5bc1c82fa1e22091d5cfffa1217348acff8d0b2 (patch)
treeacddbddf84bdd53fcb4d1f142707a6b2f7498f3a /engines/gob/inter_v1.cpp
parentf57f02482208638d6c29bd740cc3090b993e1312 (diff)
downloadscummvm-rg350-b5bc1c82fa1e22091d5cfffa1217348acff8d0b2.tar.gz
scummvm-rg350-b5bc1c82fa1e22091d5cfffa1217348acff8d0b2.tar.bz2
scummvm-rg350-b5bc1c82fa1e22091d5cfffa1217348acff8d0b2.zip
- Fixed endianness/signess issues
- Added a memset in Video_v2::SpriteUncompressor(), that should have been there in the first place; this fixes the tree in GOB2's first room - Fixed ADL delete[]ing svn-id: r22917
Diffstat (limited to 'engines/gob/inter_v1.cpp')
-rw-r--r--engines/gob/inter_v1.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/engines/gob/inter_v1.cpp b/engines/gob/inter_v1.cpp
index 45ed7f8814..b6862f29c2 100644
--- a/engines/gob/inter_v1.cpp
+++ b/engines/gob/inter_v1.cpp
@@ -938,6 +938,7 @@ bool Inter_v1::o1_readData(char &cmdCount, int16 &counter, int16 &retFlag) {
int16 dataVar;
int16 offset;
int16 handle;
+ char buf[4];
evalExpr(0);
dataVar = _vm->_parse->parseVarIndex();
@@ -956,7 +957,11 @@ bool Inter_v1::o1_readData(char &cmdCount, int16 &counter, int16 &retFlag) {
else
_vm->_dataio->seekData(handle, offset, 0);
- retSize = _vm->_dataio->readData(handle, _vm->_global->_inter_variables + dataVar, size);
+ if (((dataVar >> 2) == 59) && (size == 4)) {
+ retSize = _vm->_dataio->readData(handle, buf, 4);
+ WRITE_VAR(59, READ_LE_UINT32(buf));
+ } else
+ retSize = _vm->_dataio->readData(handle, _vm->_global->_inter_variables + dataVar, size);
_vm->_dataio->closeData(handle);
if (retSize == size)