[Scummvm-cvs-logs] CVS: scummvm insane.cpp,1.51,1.52 scumm.h,1.196,1.197 scummvm.cpp,1.197,1.198 sound.cpp,1.122,1.123

Pawe? Ko?odziejski aquadran at users.sourceforge.net
Thu Aug 8 00:50:02 CEST 2002


Update of /cvsroot/scummvm/scummvm
In directory usw-pr-cvs1:/tmp/cvs-serv643

Modified Files:
	insane.cpp scumm.h scummvm.cpp sound.cpp 
Log Message:
DIG: replaced stopBundleMusic with pauseBundleMusic in SMUSH

Index: insane.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/insane.cpp,v
retrieving revision 1.51
retrieving revision 1.52
diff -u -d -r1.51 -r1.52
--- insane.cpp	8 Aug 2002 06:45:55 -0000	1.51
+++ insane.cpp	8 Aug 2002 07:48:56 -0000	1.52
@@ -1511,7 +1511,7 @@
 	pcd37.table_last_pitch = 0;
 	pcd37.table_last_flags = 0;
 
-	sm->stopBundleMusic();
+	sm->pauseBundleMusic(true);
 	init();
 	openFile(videoFile);
 
@@ -1530,7 +1530,7 @@
 		_frameChanged = 1;
 
 		if (ftell(_in) >= fileSize)
-			return;
+			break;
 #ifdef INSANE_DEBUG
 		warning("Playing frame %d", frameIndex);
 #endif
@@ -1562,5 +1562,5 @@
 
 	sm->_insaneState = 0;
 	sm->exitCutscene();
-
+	sm->pauseBundleMusic(false);
 }

Index: scumm.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm.h,v
retrieving revision 1.196
retrieving revision 1.197
diff -u -d -r1.196 -r1.197
--- scumm.h	4 Aug 2002 16:30:55 -0000	1.196
+++ scumm.h	8 Aug 2002 07:48:57 -0000	1.197
@@ -756,6 +756,7 @@
 	int32 _offsetBufBundleMusic;
 	byte * _musicBundleBufFinal;
 	byte * _musicBundleBufOutput;
+	bool _pauseBundleMusic;
 
 	void setupSound();
 	void processSoundQues();
@@ -781,6 +782,7 @@
 	bool isSfxFinished();
 	void playBundleSound(char *sound);
 	void playBundleMusic(int32 song);
+	void pauseBundleMusic(bool state);
 	void stopBundleMusic();
 	int bundleMusicHandler(int t);
 	void decompressBundleSound(int index);

Index: scummvm.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scummvm.cpp,v
retrieving revision 1.197
retrieving revision 1.198
diff -u -d -r1.197 -r1.198
--- scummvm.cpp	4 Aug 2002 16:30:56 -0000	1.197
+++ scummvm.cpp	8 Aug 2002 07:48:57 -0000	1.198
@@ -194,6 +194,8 @@
 #endif
 
 	_numberBundleMusic = -1;
+	_musicBundleBufFinal = NULL;
+	_musicBundleBufOutput = NULL;
 
 	_timer->installProcedure(&autosave, 5 * 60 * 1000);
 }

Index: sound.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/sound.cpp,v
retrieving revision 1.122
retrieving revision 1.123
diff -u -d -r1.122 -r1.123
--- sound.cpp	8 Aug 2002 06:45:55 -0000	1.122
+++ sound.cpp	8 Aug 2002 07:48:57 -0000	1.123
@@ -796,6 +796,7 @@
 		_currentSampleBundleMusic = 0;
 		_offsetSampleBundleMusic = 0;
 		_offsetBufBundleMusic = 0;
+		_pauseBundleMusic = false;	
 		_numberSamplesBundleMusic = _bundle->getNumberOfMusicSamplesByIndex(song);
 		_numberBundleMusic = song;
 		_timer->installProcedure(&music_handler, 1000);
@@ -810,13 +811,21 @@
 	}
 }
 
+void Scumm::pauseBundleMusic(bool state) {
+	_pauseBundleMusic = state;
+}
+
 void Scumm::stopBundleMusic() {
 	_timer->releaseProcedure(&music_handler);
 	_numberBundleMusic = -1;
-	if (_musicBundleBufFinal) 
+	if (_musicBundleBufFinal) {
 		free(_musicBundleBufFinal);
-	if (_musicBundleBufOutput)
+		_musicBundleBufFinal = NULL;
+	}
+	if (_musicBundleBufOutput) {
 		free(_musicBundleBufOutput);
+		_musicBundleBufOutput = NULL;
+	}
 }
 
 int Scumm::bundleMusicHandler(int t) {
@@ -824,11 +833,11 @@
 	int32 l, num = _numberSamplesBundleMusic, length, k;
 	int32 rate = 22050;
 	int32 tag, size = -1, header_size = 0;
-	if (_numberBundleMusic == -1)
-		_timer->releaseProcedure(&music_handler);
 	
 	ptr = _musicBundleBufOutput;
 	
+	if (_pauseBundleMusic)
+		return t;
 
 	for (k = 0, l = _currentSampleBundleMusic; l < num; k++) {
 		length = _bundle->decompressMusicSampleByIndex(_numberBundleMusic, l, (_musicBundleBufOutput + ((k * 0x2000) + _offsetBufBundleMusic)));





More information about the Scummvm-git-logs mailing list