[Scummvm-cvs-logs] CVS: scummvm/simon simon.cpp,1.32,1.33
Travis Howell
kirben at users.sourceforge.net
Mon Oct 28 00:47:12 CET 2002
Update of /cvsroot/scummvm/scummvm/simon
In directory usw-pr-cvs1:/tmp/cvs-serv17361/simon
Modified Files:
simon.cpp
Log Message:
Fixes for voc support in simon 1 dos talkie, part of patch #629555
Index: simon.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/simon/simon.cpp,v
retrieving revision 1.32
retrieving revision 1.33
diff -u -d -r1.32 -r1.33
--- simon.cpp 26 Oct 2002 10:39:00 -0000 1.32
+++ simon.cpp 28 Oct 2002 08:46:35 -0000 1.33
@@ -4727,11 +4727,12 @@
uint16 datablock_offset;
uint16 version;
uint16 id;
- uint8 blocktype;
} GCC_PACK;
struct VocBlockHeader {
- uint8 tc;
+ uint8 blocktype;
+ uint8 size[3];
+ uint8 sr;
uint8 pack;
} GCC_PACK;
@@ -4791,12 +4792,10 @@
return;
}
- _voice_file->read(&size, 4);
- size = size & 0xffffff;
- _voice_file->seek(-1, SEEK_CUR);
_voice_file->read(&voc_block_hdr, sizeof(voc_block_hdr));
- uint32 samples_per_sec = 1000000L / (256L - (long)voc_block_hdr.tc);
+ size = voc_block_hdr.size[0] + (voc_block_hdr.size[1] << 8) + (voc_block_hdr.size[2] << 16) - 2;
+ uint32 samples_per_sec = 1000000L / (256L - (long)voc_block_hdr.sr);
byte *buffer = (byte *)malloc(size);
_voice_file->read(buffer, size);
@@ -4824,14 +4823,10 @@
return;
}
- _effects_file->read(&size, 4);
- // FIXME - do we really want to read a block of 4 bytes, ignoring endian issues?
- printf("FOO %08x / %d (please report this to Fingolfin)\n", size, size & 0xffffff);
- size = size & 0xffffff;
- _effects_file->seek(-1, SEEK_CUR);
_effects_file->read(&voc_block_hdr, sizeof(voc_block_hdr));
- uint32 samples_per_sec = 1000000L / (256L - (long)voc_block_hdr.tc);
+ size = voc_block_hdr.size[0] + (voc_block_hdr.size[1] << 8) + (voc_block_hdr.size[2] << 16) - 2;
+ uint32 samples_per_sec = 1000000L / (256L - (long)voc_block_hdr.sr);
byte *buffer = (byte *)malloc(size);
_effects_file->read(buffer, size);
More information about the Scummvm-git-logs
mailing list