[Scummvm-cvs-logs] CVS: scummex resource.cpp,1.4,1.5 scummex.cpp,1.3,1.4 sound.cpp,1.2,1.3

Adrien Mercier yoshizf at users.sourceforge.net
Thu Sep 18 15:14:08 CEST 2003


Update of /cvsroot/scummvm/scummex
In directory sc8-pr-cvs1:/tmp/cvs-serv10908

Modified Files:
	resource.cpp scummex.cpp sound.cpp 
Log Message:
Added Crea block to parseBlocks, now getting the good sample rate and displaying it

Index: resource.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummex/resource.cpp,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -d -r1.4 -r1.5
--- resource.cpp	18 Sep 2003 20:50:56 -0000	1.4
+++ resource.cpp	18 Sep 2003 22:13:12 -0000	1.5
@@ -204,6 +204,7 @@
 	int numFiles, offset, number;
 	int bufindex;
 	uint blockOffset, blockSize;
+	byte temp[8];
 
 	strcpy(_blockTable[index].blockDescription, blocksInfo[_blockTable[index].blockTypeID].description);
 
@@ -760,6 +761,25 @@
 		case SDAT:
 			_blockTable[index].blockSize = _input.readUint32BE();
 			stopflag = 1;
+			_gui->add_tree_elements(_blockTable[index].blockName, index, level, _blockTable[index].blockTypeID);
+			index++;
+			break;
+
+		case Crea:
+			_input.seek(23, SEEK_CUR);
+			_input.read(temp, 3);
+			_blockTable[index].blockSize = (temp[0] | (temp[1] << 8) | (temp[2] << 16)) - 2;
+			_blockTable[index].blockSize += 28;
+			number = _input.readByte();
+			if (number == 0xa5 || number == 0xa6) {
+				_blockTable[index].variables = 11025;
+			} else if (number == 0xd2 || number == 0xd3) {
+				_blockTable[index].variables = 22050;
+			} else {
+				_blockTable[index].variables = 1000000L / (256L - number);
+			}
+
+			_input.seek(_blockTable[index].offset + _blockTable[index].blockSize, SEEK_SET);
 			_gui->add_tree_elements(_blockTable[index].blockName, index, level, _blockTable[index].blockTypeID);
 			index++;
 			break;

Index: scummex.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummex/scummex.cpp,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -d -r1.3 -r1.4
--- scummex.cpp	18 Sep 2003 19:37:14 -0000	1.3
+++ scummex.cpp	18 Sep 2003 22:13:12 -0000	1.4
@@ -356,7 +356,8 @@
 			_gui->updateLabel("SpecLabel3", "Number of Images", _blockTable[blockid].numFiles);
 			break;
 			
-		case 48:
+		case Crea:
+			_gui->updateLabel("SpecLabel1", "Sample Rate", _blockTable[blockid].variables);
 			_gui->SetButton(_blockTable[blockid].blockTypeID);
 			break;
 

Index: sound.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummex/sound.cpp,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -d -r1.2 -r1.3
--- sound.cpp	18 Sep 2003 19:37:14 -0000	1.2
+++ sound.cpp	18 Sep 2003 22:13:12 -0000	1.3
@@ -200,8 +200,14 @@
 			printf("Unsupported compression type %d\n", comp);
 			return;
 		}
-
-		real_rate = 1000000 / (256 - rate);
+		
+		if (rate == 0xa5 || rate == 0xa6) {
+			_blockTable[index].variables = 11025;
+		} else if (rate == 0xd2 || rate == 0xd3) {
+			_blockTable[index].variables = 22050;
+		} else {
+			_blockTable[index].variables = 1000000L / (256L - rate);
+		}
 
 		_input.seek(_blockTable[index].blockSize + _blockTable[index].offset + 5, SEEK_SET);
 	





More information about the Scummvm-git-logs mailing list