aboutsummaryrefslogtreecommitdiff
path: root/engines/draci/game.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/draci/game.cpp')
-rw-r--r--engines/draci/game.cpp17
1 files changed, 6 insertions, 11 deletions
diff --git a/engines/draci/game.cpp b/engines/draci/game.cpp
index 94c7c1fc31..72e431bf44 100644
--- a/engines/draci/game.cpp
+++ b/engines/draci/game.cpp
@@ -82,15 +82,13 @@ Game::Game(DraciEngine *vm) : _vm(vm) {
_info->_numDialogs = gameData.readByte();
_info->_maxIconWidth = gameData.readUint16LE();
_info->_maxIconHeight = gameData.readUint16LE();
- _info->_musicLength = gameData.readUint32LE();
+ _info->_musicLength = gameData.readUint16LE();
+ _info->_crc[0] = gameData.readUint16LE();
+ _info->_crc[1] = gameData.readUint16LE();
+ _info->_crc[2] = gameData.readUint16LE();
+ _info->_crc[3] = gameData.readUint16LE();
-// FIXME: Something is wrong here. The total file length is only 23 bytes
-// but the whole struct should be 35 bytes.
- _info->_crc[0] = gameData.readUint32LE();
- _info->_crc[1] = gameData.readUint32LE();
- _info->_crc[2] = gameData.readUint32LE();
- _info->_crc[3] = gameData.readUint32LE();
- _info->_numDialogBlocks = gameData.readUint16LE();
+ _info->_numDialogBlocks = curOffset;
// Read in variables
@@ -123,9 +121,6 @@ Game::Game(DraciEngine *vm) : _vm(vm) {
assert(numVariables == _info->_numVariables);
assert(numObjects == _info->_numObjects);
-// TODO: Why is this failing?
-// assert(curOffset == _info->_numDialogBlocks);
-
loadObject(0, &_heroObj);
_vm->_script->run(_heroObj._program, _heroObj._init);
}