[Scummvm-cvs-logs] SF.net SVN: scummvm:[41966] scummvm/branches/gsoc2009-draci/engines/draci

dkasak13 at users.sourceforge.net dkasak13 at users.sourceforge.net
Tue Jun 30 00:27:38 CEST 2009


Revision: 41966
          http://scummvm.svn.sourceforge.net/scummvm/?rev=41966&view=rev
Author:   dkasak13
Date:     2009-06-29 22:27:38 +0000 (Mon, 29 Jun 2009)

Log Message:
-----------
Changed some data members in Draci::GameInfo from uint32 to uint16 (previously I thought that the 'word' type in the original engine was 32 bits). Removed a FIXME concerning struct size mismatch (matches when the previous sentence is taken into account). GameInfo::_numDialogBlocks is now calculated, not read in (it wasn't stored in the data files at all).

Modified Paths:
--------------
    scummvm/branches/gsoc2009-draci/engines/draci/game.cpp
    scummvm/branches/gsoc2009-draci/engines/draci/game.h

Modified: scummvm/branches/gsoc2009-draci/engines/draci/game.cpp
===================================================================
--- scummvm/branches/gsoc2009-draci/engines/draci/game.cpp	2009-06-29 22:20:30 UTC (rev 41965)
+++ scummvm/branches/gsoc2009-draci/engines/draci/game.cpp	2009-06-29 22:27:38 UTC (rev 41966)
@@ -82,15 +82,13 @@
 	_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 @@
 	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);
 }

Modified: scummvm/branches/gsoc2009-draci/engines/draci/game.h
===================================================================
--- scummvm/branches/gsoc2009-draci/engines/draci/game.h	2009-06-29 22:20:30 UTC (rev 41965)
+++ scummvm/branches/gsoc2009-draci/engines/draci/game.h	2009-06-29 22:27:38 UTC (rev 41966)
@@ -65,8 +65,8 @@
 	byte _numPersons;
 	byte _numDialogs;
 	uint16 _maxIconWidth, _maxIconHeight;
-	uint32 _musicLength;
-	uint32 _crc[4];
+	uint16 _musicLength;
+	uint16 _crc[4];
 	uint16 _numDialogBlocks;
 };
 


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.




More information about the Scummvm-git-logs mailing list