[Scummvm-cvs-logs] scummvm master -> eaee951a2f4f6adf4be603a302134efa8c501183

sev- sev at scummvm.org
Sat Apr 26 22:33:50 CEST 2014


This automated email contains information about 5 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .

Summary:
452f939cba FULLPIPE: Implement Sound::freeSound() and Sound::stop()
ecdda5acdf FULLPIPE: Implement Sound() destructor
533b4accb2 FULLPIPE: Fixed Sound::getVolume()
64800b2ac2 FULLPIPE: Implement SoundList::getSoundItemById()
eaee951a2f FULLPIPE: Implement Sound::setPanAndVolume()


Commit: 452f939cbabd6680b0be6a3d3f6e393cb43939d5
    https://github.com/scummvm/scummvm/commit/452f939cbabd6680b0be6a3d3f6e393cb43939d5
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2014-04-26T17:32:41+03:00

Commit Message:
FULLPIPE: Implement Sound::freeSound() and Sound::stop()

Changed paths:
    engines/fullpipe/sound.cpp



diff --git a/engines/fullpipe/sound.cpp b/engines/fullpipe/sound.cpp
index 271b103..10ae376 100644
--- a/engines/fullpipe/sound.cpp
+++ b/engines/fullpipe/sound.cpp
@@ -140,7 +140,9 @@ void Sound::play(int flag) {
 }
 
 void Sound::freeSound() {
-	warning("STUB: Sound::freeSound()");
+	stop();
+
+	free(_soundData);
 }
 
 int Sound::getVolume() {
@@ -150,7 +152,7 @@ int Sound::getVolume() {
 }
 
 void Sound::stop() {
-	warning("STUB: Sound::stop()");
+	g_fp->_mixer->stopHandle(_handle);
 }
 
 void FullpipeEngine::setSceneMusicParameters(GameVar *gvar) {


Commit: ecdda5acdf919abe9c6803f8db470505fe425a20
    https://github.com/scummvm/scummvm/commit/ecdda5acdf919abe9c6803f8db470505fe425a20
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2014-04-26T17:34:24+03:00

Commit Message:
FULLPIPE: Implement Sound() destructor

Changed paths:
    engines/fullpipe/sound.cpp



diff --git a/engines/fullpipe/sound.cpp b/engines/fullpipe/sound.cpp
index 10ae376..294be17 100644
--- a/engines/fullpipe/sound.cpp
+++ b/engines/fullpipe/sound.cpp
@@ -85,7 +85,9 @@ Sound::Sound() {
 }
 
 Sound::~Sound() {
-	warning("STUB: Sound::~Sound()");
+	freeSound();
+
+	free(_description);
 }
 
 bool Sound::load(MfcArchive &file, NGIArchive *archive) {


Commit: 533b4accb2a9eb7d421b973ac196f602618906eb
    https://github.com/scummvm/scummvm/commit/533b4accb2a9eb7d421b973ac196f602618906eb
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2014-04-26T21:45:41+03:00

Commit Message:
FULLPIPE: Fixed Sound::getVolume()

Changed paths:
    engines/fullpipe/sound.cpp



diff --git a/engines/fullpipe/sound.cpp b/engines/fullpipe/sound.cpp
index 294be17..9126fdb 100644
--- a/engines/fullpipe/sound.cpp
+++ b/engines/fullpipe/sound.cpp
@@ -148,9 +148,7 @@ void Sound::freeSound() {
 }
 
 int Sound::getVolume() {
-	warning("STUB: Sound::getVolume()");
-
-	return _volume;
+	return g_fp->_mixer->getChannelVolume(_handle) * 39;  // 0..10000
 }
 
 void Sound::stop() {


Commit: 64800b2ac286d5aebc3ae16b60f651cf92db35b6
    https://github.com/scummvm/scummvm/commit/64800b2ac286d5aebc3ae16b60f651cf92db35b6
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2014-04-26T21:58:20+03:00

Commit Message:
FULLPIPE: Implement SoundList::getSoundItemById()

Changed paths:
    engines/fullpipe/sound.cpp
    engines/fullpipe/sound.h



diff --git a/engines/fullpipe/sound.cpp b/engines/fullpipe/sound.cpp
index 9126fdb..8c71446 100644
--- a/engines/fullpipe/sound.cpp
+++ b/engines/fullpipe/sound.cpp
@@ -74,6 +74,18 @@ bool SoundList::loadFile(const char *fname, char *libname) {
 	return load(archive, libname);
 }
 
+Sound *SoundList::getSoundItemById(int id) {
+	if (_soundItemsCount == 0) {
+		return _soundItems[0]->getId() != id ? 0 : _soundItems[0];
+	}
+
+	for (int i = 0; i < _soundItemsCount; i++) {
+		if (_soundItems[i]->getId() == id)
+			return _soundItems[i];
+	}
+	return NULL;
+}
+
 Sound::Sound() {
 	_id = 0;
 	_directSoundBuffer = 0;
@@ -301,7 +313,7 @@ void FullpipeEngine::playSound(int id, int flag) {
 	Sound *sound = 0;
 
 	for (int i = 0; i < _currSoundListCount; i++) {
-		sound = _currSoundList1[i]->getSoundById(id);
+		sound = _currSoundList1[i]->getSoundItemById(id);
 
 		if (sound)
 			break;
@@ -383,7 +395,7 @@ void global_messageHandler_handleSound(ExCommand *cmd) {
 	Sound *snd = 0;
 
 	for (int i = 0; i < g_fp->_currSoundListCount; i++)
-		snd = g_fp->_currSoundList1[i]->getSoundByIndex(i);
+		snd = g_fp->_currSoundList1[i]->getSoundItemById(cmd->_messageNum);
 
 	if (!snd)
 		return;
diff --git a/engines/fullpipe/sound.h b/engines/fullpipe/sound.h
index 21d9d82..14e766f 100644
--- a/engines/fullpipe/sound.h
+++ b/engines/fullpipe/sound.h
@@ -69,13 +69,7 @@ class SoundList : public CObject {
 
 	int getCount() { return _soundItemsCount; }
 	Sound *getSoundByIndex(int idx) { return _soundItems[idx]; }
-	Sound *getSoundById(int id) {
-		for (int i = 0; i < _soundItemsCount; i++) {
-			if (_soundItems[i]->getId() == id)
-				return _soundItems[i];
-		}
-		return NULL;
-	}
+	Sound *getSoundItemById(int id);
 };
 
 } // End of namespace Fullpipe


Commit: eaee951a2f4f6adf4be603a302134efa8c501183
    https://github.com/scummvm/scummvm/commit/eaee951a2f4f6adf4be603a302134efa8c501183
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2014-04-26T23:32:27+03:00

Commit Message:
FULLPIPE: Implement Sound::setPanAndVolume()

Changed paths:
    engines/fullpipe/sound.cpp



diff --git a/engines/fullpipe/sound.cpp b/engines/fullpipe/sound.cpp
index 8c71446..c337209 100644
--- a/engines/fullpipe/sound.cpp
+++ b/engines/fullpipe/sound.cpp
@@ -136,7 +136,8 @@ void Sound::setPanAndVolumeByStaticAni() {
 }
 
 void Sound::setPanAndVolume(int vol, int pan) {
-	warning("STUB: Sound::setPanAndVolume");
+	g_fp->_mixer->setChannelVolume(_handle, vol / 39); // 0..10000
+	g_fp->_mixer->setChannelBalance(_handle, pan / 78); // -10000..10000
 }
 
 void Sound::play(int flag) {






More information about the Scummvm-git-logs mailing list