[Scummvm-cvs-logs] SF.net SVN: scummvm:[41793] scummvm/trunk/engines/gob

drmccoy at users.sourceforge.net drmccoy at users.sourceforge.net
Tue Jun 23 03:21:08 CEST 2009


Revision: 41793
          http://scummvm.svn.sourceforge.net/scummvm/?rev=41793&view=rev
Author:   drmccoy
Date:     2009-06-23 01:21:06 +0000 (Tue, 23 Jun 2009)

Log Message:
-----------
Added Script::getResourcesOffset()

Modified Paths:
--------------
    scummvm/trunk/engines/gob/game_v1.cpp
    scummvm/trunk/engines/gob/game_v2.cpp
    scummvm/trunk/engines/gob/script.cpp
    scummvm/trunk/engines/gob/script.h

Modified: scummvm/trunk/engines/gob/game_v1.cpp
===================================================================
--- scummvm/trunk/engines/gob/game_v1.cpp	2009-06-23 01:20:21 UTC (rev 41792)
+++ scummvm/trunk/engines/gob/game_v1.cpp	2009-06-23 01:21:06 UTC (rev 41793)
@@ -137,14 +137,12 @@
 				}
 			}
 
-			byte *filePtr = _script->getData() + 0x34;
 			_totResourceTable = 0;
-			if (READ_LE_UINT32(filePtr) != (uint32) -1) {
+			if (_script->getResourcesOffset() != ((uint32) -1)) {
 				_totResourceTable = new TotResTable;
-				_totResourceTable->dataPtr =
-					_script->getData() + READ_LE_UINT32(_script->getData() + 0x34);
+				_totResourceTable->dataPtr = _script->getData() + _script->getResourcesOffset();
 				Common::MemoryReadStream totResTable(_totResourceTable->dataPtr,
-						4294967295U);
+					_script->getSize() - _script->getResourcesOffset());
 
 				_totResourceTable->itemsCount = totResTable.readSint16LE();
 				_totResourceTable->unknown = totResTable.readByte();

Modified: scummvm/trunk/engines/gob/game_v2.cpp
===================================================================
--- scummvm/trunk/engines/gob/game_v2.cpp	2009-06-23 01:20:21 UTC (rev 41792)
+++ scummvm/trunk/engines/gob/game_v2.cpp	2009-06-23 01:21:06 UTC (rev 41793)
@@ -55,7 +55,6 @@
 	int16 _captureCounter;
 	int16 breakFrom;
 	int16 nestLevel;
-	byte *filePtr;
 	bool totTextLoc;
 
 	oldNestLevel = _vm->_inter->_nestLevel;
@@ -157,15 +156,13 @@
 				}
 			}
 
-			filePtr = _script->getData() + 0x34;
 			_totResourceTable = 0;
 			int32 resSize;
-			if (READ_LE_UINT32(filePtr) != (uint32) -1) {
+			if (_script->getResourcesOffset() != ((uint32) -1)) {
 				_totResourceTable = new TotResTable;
-				_totResourceTable->dataPtr =
-					_script->getData() + READ_LE_UINT32(_script->getData() + 0x34);
+				_totResourceTable->dataPtr = _script->getData() + _script->getResourcesOffset();
 				Common::MemoryReadStream totResTable(_totResourceTable->dataPtr,
-						4294967295U);
+						_script->getSize() - _script->getResourcesOffset());
 
 				_totResourceTable->itemsCount = totResTable.readSint16LE();
 				resSize = _totResourceTable->itemsCount * szGame_TotResItem + szGame_TotResTable;

Modified: scummvm/trunk/engines/gob/script.cpp
===================================================================
--- scummvm/trunk/engines/gob/script.cpp	2009-06-23 01:20:21 UTC (rev 41792)
+++ scummvm/trunk/engines/gob/script.cpp	2009-06-23 01:21:06 UTC (rev 41793)
@@ -414,6 +414,7 @@
 	_variablesCount = READ_LE_UINT32(_totData + 44);
 
 	_textsOffset = READ_LE_UINT32(_totData + 48);
+	_resourcesOffset = READ_LE_UINT32(_totData + 52);
 
 	_imFileNumber = _totData[59];
 	_exFileNumber = _totData[60];
@@ -511,6 +512,10 @@
 	return _textsOffset;
 }
 
+uint32 Script::getResourcesOffset() const {
+	return _resourcesOffset;
+}
+
 uint8 Script::getImFileNumber() const {
 	return _imFileNumber;
 }

Modified: scummvm/trunk/engines/gob/script.h
===================================================================
--- scummvm/trunk/engines/gob/script.h	2009-06-23 01:20:21 UTC (rev 41792)
+++ scummvm/trunk/engines/gob/script.h	2009-06-23 01:21:06 UTC (rev 41793)
@@ -121,6 +121,7 @@
 	uint8 getVersionMinor() const;
 	uint32 getVariablesCount() const;
 	uint32 getTextsOffset() const;
+	uint32 getResourcesOffset() const;
 	uint8 getImFileNumber() const;
 	uint8 getExFileNumber() const;
 	uint8 getCommunHandling() const;
@@ -149,6 +150,7 @@
 	uint8 _versionMinor;
 	uint32 _variablesCount;
 	uint32 _textsOffset;
+	uint32 _resourcesOffset;
 	uint8 _imFileNumber;
 	uint8 _exFileNumber;
 	uint8 _communHandling;


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