[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