[Scummvm-cvs-logs] CVS: scummvm/bs2/driver d_sound.cpp,1.55,1.56 d_sound.h,1.12,1.13

Torbj?rn Andersson eriktorbjorn at users.sourceforge.net
Sun Sep 21 07:27:04 CEST 2003


Update of /cvsroot/scummvm/scummvm/bs2/driver
In directory sc8-pr-cvs1:/tmp/cvs-serv7955/driver

Modified Files:
	d_sound.cpp d_sound.h 
Log Message:
Some cleanup - lots more needed!


Index: d_sound.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/bs2/driver/d_sound.cpp,v
retrieving revision 1.55
retrieving revision 1.56
diff -u -d -r1.55 -r1.56
--- d_sound.cpp	17 Sep 2003 21:06:14 -0000	1.55
+++ d_sound.cpp	21 Sep 2003 14:26:25 -0000	1.56
@@ -153,12 +153,13 @@
 
 #include "stdafx.h"
 #include "driver96.h"
-#include "rdwin.h"			// for hwnd.
 #include "d_sound.h"
 #include "../sword2.h"
 #include "common/timer.h"
 #include "sound/mixer.h"
 
+// FIXME: Remove code duplication
+
[...1090 lines suppressed...]
 		if (!mute) {
-			if (!musStreaming[i] && musLooping[i])
-				StreamCompMusicFromLock(musFilename[i], musId[i], musLooping[i]);
+			if (!music[i]._streaming && music[i]._looping)
+				StreamCompMusicFromLock(music[i]._fileName, music[i]._id, music[i]._looping);
 		}
 
-		if (musStreaming[i] && !musFading[i]) {
-			if (mute) {
-				g_engine->_mixer->setChannelVolume(soundHandleMusic[i], musicVolTable[0]);
-			} else {
-				g_engine->_mixer->setChannelVolume(soundHandleMusic[i], musicVolTable[volMusic[i]]);
-			}
+		if (music[i]._streaming && !music[i]._fading) {
+			byte volume = mute ? 0 : musicVolTable[musicVol];
+
+			g_engine->_mixer->setChannelVolume(music[i]._handle, volume);
 		}
 	}
 }

Index: d_sound.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/bs2/driver/d_sound.h,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -d -r1.12 -r1.13
--- d_sound.h	10 Sep 2003 12:43:53 -0000	1.12
+++ d_sound.h	21 Sep 2003 14:26:25 -0000	1.13
@@ -43,6 +43,30 @@
 
 extern void sword2_sound_handler(void *refCon);
 
+typedef struct {
+	int32 _id;
+	bool _paused;
+	int8 _volume;
+	uint16 _rate;
+	uint32 _flags;
+	uint16 *_buf;
+	int32 _bufSize;
+	PlayingSoundHandle _handle;
+} fxHandle;
+
+typedef struct {
+	uint32 _id;
+	char _fileName[256];
+	bool _streaming;
+	bool _paused;
+	bool _looping;
+	int16 _fading;
+	int32 _filePos;
+	int32 _fileEnd;
+	int16 _lastSample;
+	PlayingSoundHandle _handle;
+} musicHandle;
+
 class Sword2Sound {
 	public:
 		Sword2Sound(SoundMixer *mixer);
@@ -66,8 +90,7 @@
 		int32 UnpauseFx(void);
 		int32 PauseMusic(void);
 		int32 UnpauseMusic(void);
-		int32 StreamMusic(uint8 *filename, int32 looping);
-		int32 StreamCompMusic(const char *filename, uint32 musicId, int32 looping);
+		int32 StreamCompMusic(const char *filename, uint32 musicId, bool looping);
 		int32 MusicTimeRemaining();
 		int32 ReverseStereo(void);
 		uint8 GetFxVolume(void);
@@ -76,32 +99,32 @@
 		uint8 IsMusicMute(void);
 		uint8 IsFxMute(void);
 		uint8 IsSpeechMute(void);
-		void  StopMusic(void);
-		void  SetFxVolume(uint8 vol);
-		void  SetSpeechVolume(uint8 vol);
-		void  SetMusicVolume(uint8 vol);
-		void  MuteMusic(uint8 mute);
-		void  MuteFx(uint8 mute);
-		void  MuteSpeech(uint8 mute);
+		void StopMusic(void);
+		void SetFxVolume(uint8 vol);
+		void SetSpeechVolume(uint8 vol);
+		void SetMusicVolume(uint8 vol);
+		void MuteMusic(uint8 mute);
+		void MuteFx(uint8 mute);
+		void MuteSpeech(uint8 mute);
 		int32 IsFxOpen(int32 id);
 		int32 SetFxVolumePan(int32 id, uint8 vol, int8 pan);
 		int32 SetFxIdVolume(int32 id, uint8 vol);
 		void UpdateCompSampleStreaming(void);
 		SoundMixer *_mixer;
 	private:
-		int32 StreamCompMusicFromLock(const char *filename, uint32 musicId, int32 looping);
+		int32 StreamCompMusicFromLock(const char *filename, uint32 musicId, bool looping);
 		int32 GetFxIndex(int32 id);
 		int32 DipMusic();
 
 		OSystem::MutexRef _mutex;
 
-		int32 fxId[MAXFX];
-		uint8 fxiPaused[MAXFX];
-		uint8 fxVolume[MAXFX];
-		uint16 fxRate[MAXFX];
-		uint32 flagsFx[MAXFX];
-		uint16 *bufferFx[MAXFX];
-		int32 bufferSizeFx[MAXFX];
+		fxHandle fx[MAXFX];
+		musicHandle music[MAXMUS];
+
+		// We used to have two music volumes - one for each channel -
+		// but they were always set to the same value.
+
+		uint8 musicVol;
 
 		uint8 soundOn;
 		uint8 speechStatus;
@@ -113,22 +136,9 @@
 		uint8 fxMuted;
 		uint8 compressedMusic;
 
-		int16 musStreaming[MAXMUS];
-		int16 musicPaused[MAXMUS];
-		int16 musFading[MAXMUS];
-		int16 musLooping[MAXMUS];
-
-		PlayingSoundHandle soundHandleFx[MAXFX];
-		PlayingSoundHandle soundHandleMusic[MAXMUS];
 		PlayingSoundHandle soundHandleSpeech;
 		File fpMus;
 		int bufferSizeMusic;
-		char musFilename[MAXMUS][256];
-		int32 musFilePos[MAXMUS];
-		int32 musEnd[MAXMUS];
-		int16 musLastSample[MAXMUS];
-		uint32 musId[MAXMUS];
-		uint32 volMusic[2];
 		uint8 musicMuted;
 };
 





More information about the Scummvm-git-logs mailing list