[Scummvm-cvs-logs] CVS: scummex blocks.h,1.12,1.13 resource.cpp,1.27,1.28 resource.h,1.19,1.20

Eugene Sandulenko sev at users.sourceforge.net
Thu Jan 29 22:38:00 CET 2004


Update of /cvsroot/scummvm/scummex
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv24448

Modified Files:
	blocks.h resource.cpp resource.h 
Log Message:
Added support for FT SKIP tag and FT IACT tag.
Note. IACT subchunks were broken and still are.


Index: blocks.h
===================================================================
RCS file: /cvsroot/scummvm/scummex/blocks.h,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -d -r1.12 -r1.13
--- blocks.h	30 Sep 2003 12:28:33 -0000	1.12
+++ blocks.h	30 Jan 2004 02:07:51 -0000	1.13
@@ -168,7 +168,8 @@
 	CNVS,
 	POLD,
 	LSC2,
-	FMUS
+	FMUS,
+	SKIP
 };
 
 enum {

Index: resource.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummex/resource.cpp,v
retrieving revision 1.27
retrieving revision 1.28
diff -u -d -r1.27 -r1.28
--- resource.cpp	1 Oct 2003 10:06:11 -0000	1.27
+++ resource.cpp	30 Jan 2004 02:07:51 -0000	1.28
@@ -93,7 +93,7 @@
 			_blockTable[index].blockName[4] = '\0';
 			strcpy(_blockTable[index].blockType, _blockTable[index].blockName);
 			_blockTable[index].offset = _input.pos() - 4;
-			//printf("block: %s offset: %d\n", _blockTable[index].blockName, _blockTable[index].offset);
+			//printf("block: %s offset: %x\n", _blockTable[index].blockName, _blockTable[index].offset);
 			_blockTable[index].blockTypeID = getBlockType(_blockTable[index].blockName);
 			if (_blockTable[index].blockTypeID != -1) {
 				index = parseBlocks(_blockTable[index].blockName, _blockTable, _input, index, level);
@@ -630,14 +630,15 @@
 			_input.read(_blockTable[index+1].blockName, 4);
 			_blockTable[index+1].blockName[4] = '\0';
 			_blockTable[index+1].blockTypeID = getBlockType(_blockTable[index+1].blockName);
-			if (_blockTable[index+1].blockTypeID != -1) {
-				_input.seek(-4, SEEK_CUR);
-			} else {
-				_blockTable[bufindex].blockSize += 1;
-				_input.seek(-3, SEEK_CUR);
-			}
+			//if (_blockTable[index+1].blockTypeID != -1) {
+			//	_input.seek(-4, SEEK_CUR);
+			//} else {
+			//	_blockTable[bufindex].blockSize += 1;
+			//	_input.seek(-3, SEEK_CUR);
+			//}
+			_input.seek(_blockTable[bufindex].offset + _blockTable[bufindex].blockSize, SEEK_SET);
 			break;
-			
+
 		case FRME:
 		case SAUD:
 			_blockTable[index].blockSize = _input.readUint32BE() + 8;
@@ -767,7 +768,7 @@
 			break;
 
 		default:
-			_blockTable[index].blockSize = _input.readUint32BE();
+			_blockTable[index].blockSize = _input.readUint32BE() + 8;
 			_input.seek(_blockTable[index].offset + _blockTable[index].blockSize, SEEK_SET);
 			_gui->add_tree_elements(_blockTable[index].blockName, index, level, _blockTable[index].blockTypeID);
 			index++;

Index: resource.h
===================================================================
RCS file: /cvsroot/scummvm/scummex/resource.h,v
retrieving revision 1.19
retrieving revision 1.20
diff -u -d -r1.19 -r1.20
--- resource.h	1 Oct 2003 00:17:16 -0000	1.19
+++ resource.h	30 Jan 2004 02:07:51 -0000	1.20
@@ -210,10 +210,11 @@
 	{144, "CNVS", "", 0, "", 47},
 	{145, "POLD", "", 0, "", 47},
 	{146, "LSC2", "", 0, "", 47},
-	{147, "FMUS", "Music header?", 0, "", 47}
+	{147, "FMUS", "Music header?", 0, "", 47},
+	{148, "SKIP", "SMUSH Skip", 0, "", 47}
 };
 
-const int numBlocks = 148;
+const int numBlocks = 149;
 
 const struct blockInfo oldBlocksInfo[] = {
 	{200, "0R", "Directory of Rooms", 0, "", 18},





More information about the Scummvm-git-logs mailing list