[Scummvm-cvs-logs] CVS: scummvm/scumm akos.cpp,1.107.2.3,1.107.2.4 dialogs.cpp,1.103,1.103.2.1 module.mk,1.34,1.34.2.1 resource.cpp,1.188.2.1,1.188.2.2 saveload.cpp,1.140.2.1,1.140.2.2 script_v6.cpp,1.293.2.8,1.293.2.9 script_v8.cpp,2.229,2.229.2.1 scumm.h,1.369.2.2,1.369.2.3 scummvm.cpp,2.577.2.8,2.577.2.9

Pawel Kolodziejski aquadran at users.sourceforge.net
Sun May 2 09:37:11 CEST 2004


Update of /cvsroot/scummvm/scummvm/scumm
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv13901/scumm

Modified Files:
      Tag: branch-0-6-0
	akos.cpp dialogs.cpp module.mk resource.cpp saveload.cpp 
	script_v6.cpp script_v8.cpp scumm.h scummvm.cpp 
Log Message:
backported imuse digital from head cvs except save/load code

Index: akos.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/akos.cpp,v
retrieving revision 1.107.2.3
retrieving revision 1.107.2.4
diff -u -d -r1.107.2.3 -r1.107.2.4
--- akos.cpp	10 Apr 2004 18:14:56 -0000	1.107.2.3
+++ akos.cpp	2 May 2004 16:36:03 -0000	1.107.2.4
@@ -1338,7 +1338,7 @@
 	case 3:
 		if (param_1 != 0) {
 			if (_features & GF_DIGI_IMUSE)
-				_imuseDigital->startSfx(param_1);
+				_imuseDigital->startSfx(param_1, 63);
 			else
 				_sound->addSoundToQueue(param_1);
 		}
@@ -1358,21 +1358,21 @@
 	case 7:
 		if (param_1 != 0) {
 			if (_imuseDigital) {
-				_imuseDigital->parseScriptCmds(12, param_1 - 1, 0x600, param_2, 0, 0, 0, 0);
+				_imuseDigital->setVolume(param_1, param_2);
 			}
 		}
 		break;
 	case 8:
 		if (param_1 != 0) {
 			if (_imuseDigital) {
-				_imuseDigital->parseScriptCmds(12, param_1 - 1, 0x700, param_2, 0, 0, 0, 0);
+				_imuseDigital->setPan(param_1, param_2);
 			}
 		}
 		break;
 	case 9:
 		if (param_1 != 0) {
 			if (_imuseDigital) {
-				_imuseDigital->parseScriptCmds(12, param_1 - 1, 0x500, param_2, 0, 0, 0, 0);
+				_imuseDigital->setPriority(param_1, param_2);
 			}
 		}
 		break;

Index: dialogs.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/dialogs.cpp,v
retrieving revision 1.103
retrieving revision 1.103.2.1
diff -u -d -r1.103 -r1.103.2.1
--- dialogs.cpp	26 Jan 2004 07:40:14 -0000	1.103
+++ dialogs.cpp	2 May 2004 16:36:03 -0000	1.103.2.1
@@ -30,6 +30,7 @@
 #include "scumm/sound.h"
 #include "scumm/scumm.h"
 #include "scumm/imuse.h"
+#include "scumm/imuse_digi/dimuse.h"
 #include "scumm/player_v2.h"
 #include "scumm/verbs.h"
 #include "sound/mididrv.h"
@@ -435,7 +436,7 @@
 	//
 	// Some misc options
 	//
-	subtitlesCheckbox = new GUI::CheckboxWidget(this, 15, 62, 200, 16, "Show subtitles", 0, 'S');
+	subtitlesCheckbox = new GUI::CheckboxWidget(this, 15, 78, 200, 16, "Show subtitles", 0, 'S');
 
 	//
 	// Create the sub dialog(s)
@@ -471,6 +472,15 @@
 	int soundVolumeMaster = ConfMan.getInt("master_volume");
 	int soundVolumeMusic = ConfMan.getInt("music_volume");
 	int soundVolumeSfx = ConfMan.getInt("sfx_volume");
+	int soundVolumeSpeech = ConfMan.getInt("speech_volume");
+
+	if (_vm->_imuseDigital) {
+		_vm->_mixer->setVolume(soundVolumeMaster);
+		_vm->_imuseDigital->setGroupMusicVolume(soundVolumeMusic / 2);
+		_vm->_imuseDigital->setGroupSfxVolume(soundVolumeSfx / 2);
+		_vm->_imuseDigital->setGroupVoiceVolume(soundVolumeSpeech / 2);
+		return;
+	}
 
 	if (_vm->_imuse) {
 		_vm->_imuse->set_music_volume(soundVolumeMusic);

Index: module.mk
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/module.mk,v
retrieving revision 1.34
retrieving revision 1.34.2.1
diff -u -d -r1.34 -r1.34.2.1
--- module.mk	7 Feb 2004 02:23:24 -0000	1.34
+++ module.mk	2 May 2004 16:36:03 -0000	1.34.2.1
@@ -49,6 +49,8 @@
 	scumm/imuse_digi/dimuse_codecs.o \
 	scumm/imuse_digi/dimuse_music.o \
 	scumm/imuse_digi/dimuse_sndmgr.o \
+	scumm/imuse_digi/dimuse_script.o \
+	scumm/imuse_digi/dimuse_track.o \
 	scumm/imuse_digi/dimuse_tables.o \
 	scumm/insane/insane.o \
 	scumm/insane/insane_ben.o \

Index: resource.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/resource.cpp,v
retrieving revision 1.188.2.1
retrieving revision 1.188.2.2
diff -u -d -r1.188.2.1 -r1.188.2.2
--- resource.cpp	29 Feb 2004 00:30:03 -0000	1.188.2.1
+++ resource.cpp	2 May 2004 16:36:03 -0000	1.188.2.2
@@ -233,7 +233,7 @@
 	if (_version == 8) {
 		char result;
 
-		_imuseDigital->stopAllSounds(true);
+		_imuseDigital->stopAllSounds();
 
 #ifdef MACOSX
 		sprintf(buf, "Cannot find file: '%s'\nPlease insert disc %d.\nPress OK to retry, Quit to exit", filename, disknum);

Index: saveload.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/saveload.cpp,v
retrieving revision 1.140.2.1
retrieving revision 1.140.2.2
diff -u -d -r1.140.2.1 -r1.140.2.2
--- saveload.cpp	17 Feb 2004 00:44:11 -0000	1.140.2.1
+++ saveload.cpp	2 May 2004 16:36:03 -0000	1.140.2.2
@@ -139,6 +139,11 @@
 	if (!_imuse || _saveSound || !_saveTemporaryState)
 		_sound->stopAllSounds();
 
+	if (_imuseDigital) {
+		_imuseDigital->stopAllSounds();
+		_imuseDigital->resetState();
+	}
+
 	_sound->stopCD();
 
 	_sound->pauseSounds(true);

Index: script_v6.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/script_v6.cpp,v
retrieving revision 1.293.2.8
retrieving revision 1.293.2.9
diff -u -d -r1.293.2.8 -r1.293.2.9
--- script_v6.cpp	11 Apr 2004 20:56:49 -0000	1.293.2.8
+++ script_v6.cpp	2 May 2004 16:36:03 -0000	1.293.2.9
@@ -1034,7 +1034,7 @@
 
 void ScummEngine_v6::o6_startSound() {
 	if (_features & GF_DIGI_IMUSE)
-		_imuseDigital->startSfx(pop());
+		_imuseDigital->startSfx(pop(), 64);
 	else
 		_sound->addSoundToQueue(pop());
 }

Index: script_v8.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/script_v8.cpp,v
retrieving revision 2.229
retrieving revision 2.229.2.1
diff -u -d -r2.229 -r2.229.2.1
--- script_v8.cpp	13 Feb 2004 06:43:10 -0000	2.229
+++ script_v8.cpp	2 May 2004 16:36:04 -0000	2.229.2.1
@@ -1459,14 +1459,14 @@
 		push(a->talkStartFrame);
 		}
 		break;
-	case 0xDD:		// getMasterSFXVol
-		push(ConfMan.getInt("sfx_volume") / 2);
+	case 0xDD:		// getGroupSfxVol
+		push(_imuseDigital->getGroupSfxVolume());
 		break;
-	case 0xDE:		// getMasterVoiceVol
-		push(ConfMan.getInt("sfx_volume") / 2);
+	case 0xDE:		// getGroupVoiceVol
+		push(_imuseDigital->getGroupVoiceVolume());
 		break;
-	case 0xDF:		// getMasterMusicVol
-		push(ConfMan.getInt("music_volume") / 2);
+	case 0xDF:		// getGroupMusicVol
+		push(_imuseDigital->getGroupMusicVolume());
 		break;
 	case 0xE0:		// readRegistryValue
 		{

Index: scumm.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/scumm.h,v
retrieving revision 1.369.2.2
retrieving revision 1.369.2.3
diff -u -d -r1.369.2.2 -r1.369.2.3
--- scumm.h	11 Apr 2004 20:56:50 -0000	1.369.2.2
+++ scumm.h	2 May 2004 16:36:04 -0000	1.369.2.3
@@ -501,11 +501,13 @@
 	void requestSave(int slot, const char *name, bool compatible = false);
 	void requestLoad(int slot);
 
+public:
+	void lock(int type, int i);
+	void unlock(int type, int i);
+
 protected:
 	/* Heap and memory management */
 	uint32 _maxHeapThreshold, _minHeapThreshold;
-	void lock(int type, int i);
-	void unlock(int type, int i);
 
 	/* Script VM - should be in Script class */
 	uint32 _localScriptList[NUM_LOCALSCRIPT];

Index: scummvm.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/Attic/scummvm.cpp,v
retrieving revision 2.577.2.8
retrieving revision 2.577.2.9
diff -u -d -r2.577.2.8 -r2.577.2.9
--- scummvm.cpp	11 Apr 2004 20:56:50 -0000	2.577.2.8
+++ scummvm.cpp	2 May 2004 16:36:04 -0000	2.577.2.9
@@ -695,6 +695,10 @@
 	// Init iMuse
 	if (_features & GF_DIGI_IMUSE) {
 		_musicEngine = _imuseDigital = new IMuseDigital(this);
+		_mixer->setVolume(ConfMan.getInt("master_volume"));
+		_imuseDigital->setGroupMusicVolume(ConfMan.getInt("music_volume") / 2);
+		_imuseDigital->setGroupSfxVolume(ConfMan.getInt("sfx_volume") / 2);
+		_imuseDigital->setGroupVoiceVolume(ConfMan.getInt("speech_volume") / 2);
 	} else if ((_features & GF_AMIGA) && (_version == 2)) {
 		_musicEngine = new Player_V2A(this);
 	} else if ((_features & GF_AMIGA) && (_version == 3)) {
@@ -1548,6 +1552,10 @@
 	}
 
 	_sound->processSoundQues();
+	if (_imuseDigital &&
+			( ((_gameId == GID_DIG) && (!(_features & GF_DEMO))) || (_gameId == GID_CMI) ))
+		_imuseDigital->refreshScripts();
+
 	camera._last = camera._cur;
 
 	if (!(++_expire_counter)) {





More information about the Scummvm-git-logs mailing list