[Scummvm-cvs-logs] CVS: scummvm/scumm sound.cpp,1.63,1.64 sound.h,1.21,1.22
Pawel Kolodziejski
aquadran at users.sourceforge.net
Sat Dec 28 13:47:05 CET 2002
Update of /cvsroot/scummvm/scummvm/scumm
In directory sc8-pr-cvs1:/tmp/cvs-serv9564
Modified Files:
sound.cpp sound.h
Log Message:
added more stuff for CMI music
Index: sound.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/sound.cpp,v
retrieving revision 1.63
retrieving revision 1.64
diff -u -d -r1.63 -r1.64
--- sound.cpp 28 Dec 2002 16:38:15 -0000 1.63
+++ sound.cpp 28 Dec 2002 21:46:49 -0000 1.64
@@ -1053,7 +1053,10 @@
tag = READ_BE_UINT32(ptr); ptr += 4;
switch(tag) {
case MKID_BE('FRMT'):
- size = READ_BE_UINT32(ptr); ptr += 24;
+ ptr += 12;
+ _bundleMusicSampleBits = READ_BE_UINT32(ptr); ptr += 4;
+ rate = READ_BE_UINT32(ptr); ptr += 4;
+ channels = READ_BE_UINT32(ptr); ptr += 4;
break;
case MKID_BE('TEXT'):
case MKID_BE('REGN'):
@@ -1099,7 +1102,16 @@
ptr = _musicBundleBufFinal;
byte * buffer = NULL;
- uint32 final_size = decode12BitsSample(ptr, &buffer, size);
+ uint32 final_size;
+ if (_bundleMusicSampleBits == 12) {
+ final_size = decode12BitsSample(ptr, &buffer, size);
+ } else if (_bundleMusicSampleBits == 16) {
+ buffer = (byte*)malloc(size);
+ final_size = size;
+ memcpy(buffer, ptr, size);
+ } else {
+ warning("Sound::bundleMusicHandler to do more playStream options...");
+ }
if (_bundleMusicTrack == -1) {
_bundleMusicTrack = _scumm->_mixer->playStream(NULL, _scumm->_mixer->_beginSlots - 1, buffer, final_size, rate,
Index: sound.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/sound.h,v
retrieving revision 1.21
retrieving revision 1.22
diff -u -d -r1.21 -r1.22
--- sound.h 25 Dec 2002 14:46:39 -0000 1.21
+++ sound.h 28 Dec 2002 21:46:49 -0000 1.22
@@ -54,6 +54,7 @@
int32 _bundleMusicTrack;
bool _musicBundleToBeChanged;
bool _musicBundleToBeRemoved;
+ int32 _bundleMusicSampleBits;
File *_sfxFile;
uint32 _talk_sound_a1, _talk_sound_a2, _talk_sound_b1, _talk_sound_b2;
More information about the Scummvm-git-logs
mailing list