[Scummvm-cvs-logs] CVS: scummvm/scumm debugger.cpp,1.76,1.77 debugger.h,1.25,1.26 scumm.h,1.282,1.283

Jamieson Christian jamieson630 at users.sourceforge.net
Mon Aug 11 07:51:09 CEST 2003


Update of /cvsroot/scummvm/scummvm/scumm
In directory sc8-pr-cvs1:/tmp/cvs-serv7924/scummvm/scumm

Modified Files:
	debugger.cpp debugger.h scumm.h 
Log Message:
Expanded iMuse debugger commands. All iMuse
commands are now under "imuse", and underscores
have been removed.

imuse panic - Stop all music tracks
imuse multimidi on/off - Set multimidi
imuse play # - Play a sound resource
imuse play random - Play a random sound resource
imuse stop # - Stop a music resource
imuse stop all - Stop all music resources

Note that "play #" and "play random" only attempt
to play a sound resource. If the resource is not
a music resource or is in a format not supported by
the current music driver, it won't play.

You can use this as a mini jukebox, but be sure
you're in a room with minimal activity. The
goal is to minimize interference from the scripts
while playing sounds that are not expected in
that room.

Index: debugger.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/debugger.cpp,v
retrieving revision 1.76
retrieving revision 1.77
diff -u -d -r1.76 -r1.77
--- debugger.cpp	10 Aug 2003 11:39:17 -0000	1.76
+++ debugger.cpp	11 Aug 2003 14:48:21 -0000	1.77
@@ -111,8 +111,7 @@
 		DCmd_Register("show", &ScummDebugger::Cmd_Show);
 		DCmd_Register("hide", &ScummDebugger::Cmd_Hide);
 
-		DCmd_Register("imuse_multimidi", &ScummDebugger::Cmd_ImuseMultiMidi);
-		DCmd_Register("imuse_panic", &ScummDebugger::Cmd_ImusePanic);
+		DCmd_Register("imuse", &ScummDebugger::Cmd_IMuse);
 	}
 }
 
@@ -364,22 +363,61 @@
 	return false;
 }
 
-bool ScummDebugger::Cmd_ImuseMultiMidi (int argc, const char **argv) {
-	if (argc > 1) {
-		if (_s->_imuse)
-			_s->_imuse->property (IMuse::PROP_MULTI_MIDI, !strcmp (argv[1], "1") || !strcmp (argv[1], "on") || !strcmp (argv[1], "true"));
-		return false;
-	} else {
-		Debug_Printf("Use 'imuse_multimidi on|off' to switch\n");
+bool ScummDebugger::Cmd_IMuse (int argc, const char **argv) {
+	if (!_s->_imuse) {
+		Debug_Printf ("No iMuse engine is active.\n");
 		return true;
 	}
-}
 
-bool ScummDebugger::Cmd_ImusePanic (int argc, const char **argv) {
-	Debug_Printf ("AAAIIIEEEEEE!\n");
-	Debug_Printf ("Shutting down all music tracks\n");
-	if (_s->_imuse)
-		_s->_imuse->stop_all_sounds();
+	if (argc > 1) {
+		if (!strcmp (argv[1], "panic")) {
+			_s->_imuse->stop_all_sounds();
+			Debug_Printf ("AAAIIIEEEEEE!\n");
+			Debug_Printf ("Shutting down all music tracks\n");
+			return true;
+		} else if (!strcmp (argv[1], "multimidi")) {
+			if (argc > 2 && (!strcmp (argv[2], "on") || !strcmp (argv[2], "off"))) {
+				_s->_imuse->property (IMuse::PROP_MULTI_MIDI, !strcmp (argv[2], "on"));
+				Debug_Printf ("MultiMidi mode switched %s.\n", argv[2]);
+			} else {
+				Debug_Printf ("Specify \"on\" or \"off\" to switch.\n");
+			}
+			return true;
+		} else if (!strcmp (argv[1], "play")) {
+			if (argc > 2 && (!strcmp (argv[2], "random") || atoi (argv[2]) != 0)) {
+				int sound = atoi (argv[2]);
+				if (!strcmp (argv[2], "random")) {
+					Debug_Printf ("Selecting from %d songs...\n", _s->getNumSounds());
+					sound = _s->_rnd.getRandomNumber (_s->getNumSounds());
+				}
+				_s->ensureResourceLoaded (rtSound, sound);
+				_s->_imuse->startSound (sound);
+				Debug_Printf ("Attempted to start music %d.\n", sound);
+			} else {
+				Debug_Printf ("Specify a music resource # from 1-255.\n");
+			}
+			return true;
+		} else if (!strcmp (argv[1], "stop")) {
+			if (argc > 2 && (!strcmp (argv[2], "all") || atoi (argv[2]) != 0)) {
+				if (!strcmp (argv[2], "all")) {
+					_s->_imuse->stop_all_sounds();
+					Debug_Printf ("Shutting down all music tracks.\n");
+				} else {
+					_s->_imuse->stopSound (atoi (argv[2]));
+					Debug_Printf ("Attempted to stop music %d.\n", atoi (argv[2]));
+				}
+			} else {
+				Debug_Printf ("Specify a music resource # or \"all\".\n");
+			}
+			return true;
+		}
+	}
+
+	Debug_Printf ("Available iMuse commands:\n");
+	Debug_Printf ("  panic - Stop all music tracks\n");
+	Debug_Printf ("  multimidi on/off - Toggle dual MIDI drivers\n");
+	Debug_Printf ("  play # - Play a music resource\n");
+	Debug_Printf ("  stop # - Stop a music resource\n");
 	return true;
 }
 

Index: debugger.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/debugger.h,v
retrieving revision 1.25
retrieving revision 1.26
diff -u -d -r1.25 -r1.26
--- debugger.h	10 Aug 2003 11:39:17 -0000	1.25
+++ debugger.h	11 Aug 2003 14:48:21 -0000	1.26
@@ -94,8 +94,7 @@
 	bool Cmd_Show(int argc, const char **argv);
 	bool Cmd_Hide(int argc, const char **argv);
 
-	bool Cmd_ImuseMultiMidi (int argc, const char **argv);
-	bool Cmd_ImusePanic (int argc, const char **argv);
+	bool Cmd_IMuse (int argc, const char **argv);
 	
 	void printBox(int box);
 	void drawBox(int box);

Index: scumm.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/scumm.h,v
retrieving revision 1.282
retrieving revision 1.283
diff -u -d -r1.282 -r1.283
--- scumm.h	8 Aug 2003 11:32:40 -0000	1.282
+++ scumm.h	11 Aug 2003 14:48:21 -0000	1.283
@@ -407,10 +407,10 @@
 protected:
 	byte _fastMode;
 
+public:
 	/* Random number generation */
 	RandomSource _rnd;
 
-public:
 	/* Core variable definitions */
 	byte _gameId;
 
@@ -453,6 +453,7 @@
 public:
 	int _numCostumes;	// FIXME - should be protected, used by Actor::remapActorPalette
 
+	int getNumSounds() const { return _numSounds; }
 	BaseCostumeRenderer* _costumeRenderer;
 	
 	char *_audioNames;





More information about the Scummvm-git-logs mailing list