[Scummvm-cvs-logs] CVS: scummvm/queen command.cpp,1.17,1.18 command.h,1.5,1.6 cutaway.cpp,1.66,1.67 logic.cpp,1.99,1.100 logic.h,1.68,1.69 resource.cpp,1.28,1.29 sound.cpp,1.12,1.13 sound.h,1.5,1.6

Joost Peters joostp at users.sourceforge.net
Sat Nov 15 13:34:21 CET 2003


Update of /cvsroot/scummvm/scummvm/queen
In directory sc8-pr-cvs1:/tmp/cvs-serv11370/queen

Modified Files:
	command.cpp command.h cutaway.cpp logic.cpp logic.h 
	resource.cpp sound.cpp sound.h 
Log Message:
- Enabled missing calls to _sound->playSong, now it should *really* play all SFX
- Moved sound/music related toggle variables to Sound class
- Changed "Couldn't find file.." warning() to debug(7, ..)


Index: command.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/queen/command.cpp,v
retrieving revision 1.17
retrieving revision 1.18
diff -u -d -r1.17 -r1.18
--- command.cpp	15 Nov 2003 15:44:50 -0000	1.17
+++ command.cpp	15 Nov 2003 21:33:04 -0000	1.18
@@ -25,6 +25,7 @@
 #include "queen/input.h"
 #include "queen/graphics.h"
 #include "queen/logic.h"
+#include "queen/sound.h"
 #include "queen/talk.h"
 #include "queen/walk.h"
 
@@ -125,8 +126,8 @@
 }
 
 
-Command::Command(Logic *l, Graphics *g, Input *i, Walk *w)
-	: _logic(l), _graphics(g), _input(i), _walk(w) {
+Command::Command(Logic *l, Graphics *g, Input *i, Walk *w, Sound *s)
+	: _logic(l), _graphics(g), _input(i), _walk(w), _sound(s) {
 	_cmdText._graphics = _graphics;
 	_cmdText._logic = _logic;
 }
@@ -365,7 +366,7 @@
 	if (_selCmd.action.value() != VERB_OPEN && _selCmd.action.value() != VERB_CLOSE) {
 		// only play song if it's a PLAY BEFORE type
 		if (com->song > 0) {
-			// XXX playsong(com->song);
+			_sound->playSong(com->song);
 		}
 	}
 
@@ -423,7 +424,7 @@
 
 	// only play song if it's a PLAY AFTER type
 	if (com->song > 0) {
-		// XXX playsong(com->song);
+		_sound->playSong(com->song);
 	}
 
 	clear(true);
@@ -1045,7 +1046,7 @@
 
 			// play music if it exists... (or SFX for open/close door)
 			if (song != 0) {
-				// XXX playsong(abs(song));
+				_sound->playSong(abs(song));
 			}
 
 			if (objData->entryObj != 0) {
@@ -1067,7 +1068,7 @@
 
 			// play music if it exists... (or SFX for open/close door)
 			if (song != 0) {
-				// XXX playsong(abs(song));
+				_sound->playSong(abs(song));
 			}
 
 			if (objData->entryObj != 0) {

Index: command.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/queen/command.h,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -d -r1.5 -r1.6
--- command.h	4 Nov 2003 13:51:36 -0000	1.5
+++ command.h	15 Nov 2003 21:33:04 -0000	1.6
@@ -87,7 +87,7 @@
 class Command {
 public:
 	
-	Command(Logic*, Graphics*, Input*, Walk*);
+	Command(Logic*, Graphics*, Input*, Walk*, Sound*);
 	
 	//! initialise command construction
 	void clear(bool clearTexts);
@@ -188,6 +188,7 @@
 	Logic *_logic;
 	Graphics *_graphics;
 	Input *_input;
+	Sound *_sound;
 	Walk *_walk;
 
 };

Index: cutaway.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/queen/cutaway.cpp,v
retrieving revision 1.66
retrieving revision 1.67
diff -u -d -r1.66 -r1.67
--- cutaway.cpp	14 Nov 2003 14:35:51 -0000	1.66
+++ cutaway.cpp	15 Nov 2003 21:33:04 -0000	1.67
@@ -1072,7 +1072,7 @@
 				return NULL;
 
 			if (objAnim[i].song > 0)
-				/* XXX playsong(objAnim[i].song) */ ;
+				_sound->playSong(objAnim[i].song);
 
 			// Load but don't play
 			if(objAnim[i].song < 0) {
@@ -1396,9 +1396,9 @@
 	_input->cutawayQuitReset();
 
 	if (_songBeforeComic > 0)
-		/* XXX playsong(_songBeforeComic) */ ;
+		_sound->playSong(_songBeforeComic);
 	else if (_lastSong > 0)
-		/* XXX playsong(_lastSong) */ ;
+		_sound->playSong(_lastSong);
 }
 
 void Cutaway::stop() {

Index: logic.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/queen/logic.cpp,v
retrieving revision 1.99
retrieving revision 1.100
diff -u -d -r1.99 -r1.100
--- logic.cpp	15 Nov 2003 21:16:01 -0000	1.99
+++ logic.cpp	15 Nov 2003 21:33:04 -0000	1.100
@@ -28,6 +28,7 @@
 #include "queen/display.h"
 #include "queen/graphics.h"
 #include "queen/input.h"
+#include "queen/sound.h"
 #include "queen/talk.h"
 #include "queen/walk.h"
 
@@ -183,7 +184,7 @@
 	_joe.x = _joe.y = 0;
 	_joe.scale = 100;
 	_walk = new Walk(this, _graphics);
-	_cmd = new Command(this, _graphics, _input, _walk);
+	_cmd = new Command(this, _graphics, _input, _walk, _sound);
 	_dbg = new Debug(_input, this, _graphics);
 	memset(_gameState, 0, sizeof(_gameState));
 	memset(_talkSelected, 0, sizeof(_talkSelected));
@@ -380,9 +381,9 @@
 
 	_settings.textToggle = true;	
 	if (_resource->isFloppy())
-		_settings.speechToggle = false;
+		_sound->speechToggle(false);
 	else
-		_settings.speechToggle = true;
+		_sound->speechToggle(true);
 
 	_cmd->clear(false);
 	_scene = 0;
@@ -2376,9 +2377,9 @@
 	
 	WRITE_BE_UINT16(ptr, _settings.talkSpeed); ptr += 2;
 	WRITE_BE_UINT16(ptr, _settings.musicVolume); ptr += 2;
-	WRITE_BE_UINT16(ptr, _settings.sfxToggle ? 1 : 0); ptr += 2;
-	WRITE_BE_UINT16(ptr, _settings.speechToggle ? 1 : 0); ptr += 2;
-	WRITE_BE_UINT16(ptr, _settings.musicToggle ? 1 : 0); ptr += 2;
+	WRITE_BE_UINT16(ptr, _sound->sfxOn() ? 1 : 0); ptr += 2;
+	WRITE_BE_UINT16(ptr, _sound->speechOn() ? 1 : 0); ptr += 2;
+	WRITE_BE_UINT16(ptr, _sound->musicOn() ? 1 : 0); ptr += 2;
 	WRITE_BE_UINT16(ptr, _settings.textToggle ? 1 : 0); ptr += 2;
 	
 	for (i = 0; i < 4; i++) {
@@ -2443,9 +2444,9 @@
 	ptr += 32;	//skip description
 	_settings.talkSpeed = (int16)READ_BE_UINT16(ptr); ptr += 2;
 	_settings.musicVolume = (int16)READ_BE_UINT16(ptr); ptr += 2;
-	_settings.sfxToggle = READ_BE_UINT16(ptr) != 0; ptr += 2;
-	_settings.speechToggle = READ_BE_UINT16(ptr) != 0; ptr += 2;
-	_settings.musicToggle = READ_BE_UINT16(ptr) != 0; ptr += 2;
+	_sound->sfxToggle(READ_BE_UINT16(ptr) != 0); ptr += 2;
+	_sound->speechToggle(READ_BE_UINT16(ptr) != 0); ptr += 2;
+	_sound->musicToggle(READ_BE_UINT16(ptr) != 0); ptr += 2;
 	_settings.textToggle = READ_BE_UINT16(ptr) != 0; ptr += 2;
 
 	for (i = 0; i < 4; i++) {

Index: logic.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/queen/logic.h,v
retrieving revision 1.68
retrieving revision 1.69
diff -u -d -r1.68 -r1.69
--- logic.h	15 Nov 2003 15:44:50 -0000	1.68
+++ logic.h	15 Nov 2003 21:33:04 -0000	1.69
@@ -43,10 +43,7 @@
 
 struct GameConfig {
 	int musicVolume;
-	bool musicToggle;
-	bool sfxToggle;
 	bool textToggle;
-	bool speechToggle;
 	int talkSpeed;
 };
 

Index: resource.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/queen/resource.cpp,v
retrieving revision 1.28
retrieving revision 1.29
diff -u -d -r1.28 -r1.29
--- resource.cpp	10 Nov 2003 10:37:46 -0000	1.28
+++ resource.cpp	15 Nov 2003 21:33:04 -0000	1.29
@@ -124,7 +124,7 @@
 			high = cur;
 	}
 
-	warning("Couldn't find file '%s'", entryName);
+	debug(7, "Couldn't find file '%s'", entryName);
 	return -1;
 }
 

Index: sound.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/queen/sound.cpp,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -d -r1.12 -r1.13
--- sound.cpp	14 Nov 2003 00:45:44 -0000	1.12
+++ sound.cpp	15 Nov 2003 21:33:04 -0000	1.13
@@ -95,7 +95,7 @@
 #endif
 
 Sound::Sound(SoundMixer *mixer, Input *input, Resource  *resource) : 
-	_mixer(mixer), _input(input), _resource(resource), _lastOverride(0), _currentSong(0), _sfxHandle(0) {
+	_mixer(mixer), _input(input), _resource(resource), _lastOverride(0), _currentSong(0), _sfxHandle(0), _sfxToggle(true), _speechToggle(true), _musicToggle(true) {
 }
 
 Sound::~Sound() {
@@ -137,7 +137,7 @@
 void Sound::playSong(int16 songNum) {
 	int16 newTune = _song[songNum - 1].tuneList[0];
 
-	if (_tune[newTune - 1].sfx[0] /* && _sfxToggle */ )
+	if (_tune[newTune - 1].sfx[0] && sfxOn())
 		sfxPlay(_sfxName[_tune[newTune - 1].sfx[0] - 1]);
 }
 

Index: sound.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/queen/sound.h,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -d -r1.5 -r1.6
--- sound.h	14 Nov 2003 00:45:44 -0000	1.5
+++ sound.h	15 Nov 2003 21:33:04 -0000	1.6
@@ -56,6 +56,18 @@
 	void waitSfxFinished();
 	void playSong(int16 songNum);
 
+	bool sfxOn()			{ return _sfxToggle; }
+	void sfxToggle(bool val)	{ _sfxToggle = val; }
+	void toggleSfx()		{ _sfxToggle ^= true; }
+
+	bool speechOn()			{ return _speechToggle; }
+	void speechToggle(bool val)	{ _speechToggle = val; }
+	void toggleSpeech()		{ _speechToggle ^= true; }
+	
+	bool musicOn()			{ return _musicToggle; }
+	void musicToggle(bool val)	{ _musicToggle = val; }
+	void toggleMusic()		{ _musicToggle ^= true; }
+
 protected:
 	SoundMixer *_mixer;
 	Input *_input;
@@ -64,6 +76,10 @@
 	static const songData _song[];
 	static const tuneData _tune[];
 	static const char *_sfxName[];
+
+	bool _sfxToggle;
+	bool _speechToggle;
+	bool _musicToggle;
 	
 	int16 _lastOverride;
 	int16 _lastMerge;





More information about the Scummvm-git-logs mailing list