[Scummvm-cvs-logs] CVS: scummvm/scumm resource.cpp,1.151,1.152

Max Horn fingolfin at users.sourceforge.net
Mon Sep 8 20:37:01 CEST 2003


Update of /cvsroot/scummvm/scummvm/scumm
In directory sc8-pr-cvs1:/tmp/cvs-serv4763

Modified Files:
	resource.cpp 
Log Message:
added comment describing Mac0 format

Index: resource.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/resource.cpp,v
retrieving revision 1.151
retrieving revision 1.152
diff -u -d -r1.151 -r1.152
--- resource.cpp	8 Sep 2003 16:48:34 -0000	1.151
+++ resource.cpp	8 Sep 2003 23:18:11 -0000	1.152
@@ -837,10 +837,61 @@
 
 		   Maybe I am mistaken when I think it's four byte, some other parts
 		   seem to suggest it's 2 byte oriented, or even variable length...
-		 */
+		*/
+		/*
+		From Markus Magnuson (superqult) we got this information:
+		Mac0
+		---
+		   4 bytes - 'SOUN'
+		BE 4 bytes - block length
+		
+			   4 bytes  - 'Mac0'
+			BE 4 bytes  - (blockLength - 27)
+			   28 bytes - ???
+		
+			   do this three times (once for each channel):
+				  4 bytes  - 'Chan'
+			   BE 4 bytes  - channel length
+				  4 bytes  - instrument name (e.g. 'MARI')
+		
+				  do this for ((chanLength-24)/4) times:
+					 2 bytes  - note duration
+					 1 byte   - note value
+					 1 byte   - note velocity
+		
+				  4 bytes - ???
+				  4 bytes - 'Loop'/'Done'
+				  4 bytes - ???
+		
+		   1 byte - 0x09
+		---
+		
+		Instruments:
+		"MARI" - Marimba
+		"PLUC" - Pizzicato Strings
+		"HARM" - Harmonica
+		"PIPE" - Church Organ?
+		"TROM" - Trombone
+		"STRI" - String Ensemble
+		"HORN" - French Horn?
+		"VIBE" - Vibraphone
+		"SHAK" - Shakuhachi?
+		"PANP" - Pan Flute
+		"WHIS" - Whistle/Bottle
+		"ORGA" - Drawbar Organ
+		"BONG" - Woodblock?
+		"BASS" - Bass
+		
+		
+		Now the task could be to convert this into MIDI, to be fed into iMuse.
+		Or we do something similiar to what is done in Player_V3, assuming
+		we can identify SFX in the MI datafiles for each of the instruments
+		listed above.
+		*/
 		_fileHandle.seek(-12, SEEK_CUR);
 		total_size = _fileHandle.readUint32BE();
 		_fileHandle.read(createResource(type, idx, total_size), total_size - 8);
+//		dumpResource("sound-", idx, getResourceAddress(type, idx));
 		return 1;
 	} else if (basetag == MKID('Mac1')) {
 		_fileHandle.seek(-12, SEEK_CUR);





More information about the Scummvm-git-logs mailing list