[Scummvm-cvs-logs] scummvm master -> 6581bcad6dfb409924af55dc67e050f3a7504da1

sev- sev at scummvm.org
Sun May 22 01:19:48 CEST 2016


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

Summary:
21753098e1 NEVERHOOD: Reduce audio header dependencies
6581bcad6d Merge pull request #759 from salty-horse/neverhood_audio


Commit: 21753098e1e30fbb4f845e3f56eaad0cdf2eaa35
    https://github.com/scummvm/scummvm/commit/21753098e1e30fbb4f845e3f56eaad0cdf2eaa35
Author: Ori Avtalion (ori at avtalion.name)
Date: 2016-05-21T13:44:27+03:00

Commit Message:
NEVERHOOD: Reduce audio header dependencies

Changed paths:
    engines/neverhood/diskplayerscene.cpp
    engines/neverhood/diskplayerscene.h
    engines/neverhood/menumodule.cpp
    engines/neverhood/modules/module1300.cpp
    engines/neverhood/modules/module1300.h
    engines/neverhood/modules/module1300_sprites.h
    engines/neverhood/modules/module2800.cpp
    engines/neverhood/navigationscene.h
    engines/neverhood/neverhood.cpp
    engines/neverhood/scene.cpp
    engines/neverhood/scene.h
    engines/neverhood/screen.cpp
    engines/neverhood/screen.h
    engines/neverhood/smackerscene.cpp
    engines/neverhood/sound.cpp
    engines/neverhood/sound.h



diff --git a/engines/neverhood/diskplayerscene.cpp b/engines/neverhood/diskplayerscene.cpp
index 96a9358..e79f4c9 100644
--- a/engines/neverhood/diskplayerscene.cpp
+++ b/engines/neverhood/diskplayerscene.cpp
@@ -22,6 +22,7 @@
 
 #include "neverhood/diskplayerscene.h"
 #include "neverhood/mouse.h"
+#include "neverhood/smackerplayer.h"
 
 namespace Neverhood {
 
diff --git a/engines/neverhood/diskplayerscene.h b/engines/neverhood/diskplayerscene.h
index 2ae85b9..dba10f3 100644
--- a/engines/neverhood/diskplayerscene.h
+++ b/engines/neverhood/diskplayerscene.h
@@ -26,11 +26,11 @@
 #include "neverhood/neverhood.h"
 #include "neverhood/resourceman.h"
 #include "neverhood/scene.h"
-#include "neverhood/smackerplayer.h"
 
 namespace Neverhood {
 
 class DiskplayerScene;
+class SmackerPlayer;
 
 class AsDiskplayerSceneKey : public AnimatedSprite {
 public:
diff --git a/engines/neverhood/menumodule.cpp b/engines/neverhood/menumodule.cpp
index 0f2a421..e58dd31 100644
--- a/engines/neverhood/menumodule.cpp
+++ b/engines/neverhood/menumodule.cpp
@@ -23,6 +23,8 @@
 #include "common/config-manager.h"
 #include "common/translation.h"
 
+#include "audio/mixer.h"
+
 #include "gui/saveload.h"
 
 #include "neverhood/menumodule.h"
diff --git a/engines/neverhood/modules/module1300.cpp b/engines/neverhood/modules/module1300.cpp
index 60ff041..65bd353 100644
--- a/engines/neverhood/modules/module1300.cpp
+++ b/engines/neverhood/modules/module1300.cpp
@@ -23,6 +23,7 @@
 #include "neverhood/diskplayerscene.h"
 #include "neverhood/gamemodule.h"
 #include "neverhood/menumodule.h"
+#include "neverhood/smackerplayer.h"
 #include "neverhood/modules/module1000_sprites.h"
 #include "neverhood/modules/module1200_sprites.h"
 #include "neverhood/modules/module1300.h"
diff --git a/engines/neverhood/modules/module1300.h b/engines/neverhood/modules/module1300.h
index 4a0ca6c..8164a51 100644
--- a/engines/neverhood/modules/module1300.h
+++ b/engines/neverhood/modules/module1300.h
@@ -26,10 +26,11 @@
 #include "neverhood/neverhood.h"
 #include "neverhood/module.h"
 #include "neverhood/scene.h"
-#include "neverhood/smackerplayer.h"
 
 namespace Neverhood {
 
+class SmackerPlayer;
+
 class Module1300 : public Module {
 public:
 	Module1300(NeverhoodEngine *vm, Module *parentModule, int which);
diff --git a/engines/neverhood/modules/module1300_sprites.h b/engines/neverhood/modules/module1300_sprites.h
index 6f4faaa..bf9f72a 100644
--- a/engines/neverhood/modules/module1300_sprites.h
+++ b/engines/neverhood/modules/module1300_sprites.h
@@ -26,7 +26,6 @@
 #include "neverhood/neverhood.h"
 #include "neverhood/module.h"
 #include "neverhood/scene.h"
-#include "neverhood/smackerplayer.h"
 
 namespace Neverhood {
 
diff --git a/engines/neverhood/modules/module2800.cpp b/engines/neverhood/modules/module2800.cpp
index ab22390..63d507d 100644
--- a/engines/neverhood/modules/module2800.cpp
+++ b/engines/neverhood/modules/module2800.cpp
@@ -23,6 +23,7 @@
 #include "neverhood/diskplayerscene.h"
 #include "neverhood/gamemodule.h"
 #include "neverhood/scene.h"
+#include "neverhood/smackerplayer.h"
 #include "neverhood/modules/module1000_sprites.h"
 #include "neverhood/modules/module1200_sprites.h"
 #include "neverhood/modules/module1700_sprites.h"
diff --git a/engines/neverhood/navigationscene.h b/engines/neverhood/navigationscene.h
index 8e286ef..e1dabfe 100644
--- a/engines/neverhood/navigationscene.h
+++ b/engines/neverhood/navigationscene.h
@@ -26,6 +26,7 @@
 #include "neverhood/neverhood.h"
 #include "neverhood/resourceman.h"
 #include "neverhood/scene.h"
+#include "neverhood/smackerplayer.h"
 
 namespace Neverhood {
 
diff --git a/engines/neverhood/neverhood.cpp b/engines/neverhood/neverhood.cpp
index c6cff86..0dc2719 100644
--- a/engines/neverhood/neverhood.cpp
+++ b/engines/neverhood/neverhood.cpp
@@ -24,6 +24,8 @@
 #include "common/config-manager.h"
 #include "common/textconsole.h"
 
+#include "audio/mixer.h"
+
 #include "base/plugins.h"
 #include "base/version.h"
 
diff --git a/engines/neverhood/scene.cpp b/engines/neverhood/scene.cpp
index 1a8e74d..8ed988c 100644
--- a/engines/neverhood/scene.cpp
+++ b/engines/neverhood/scene.cpp
@@ -22,6 +22,7 @@
 
 #include "neverhood/console.h"
 #include "neverhood/scene.h"
+#include "neverhood/smackerplayer.h"
 
 namespace Neverhood {
 
diff --git a/engines/neverhood/scene.h b/engines/neverhood/scene.h
index 98a7fa5..1d1faf2 100644
--- a/engines/neverhood/scene.h
+++ b/engines/neverhood/scene.h
@@ -31,13 +31,13 @@
 #include "neverhood/klaymen.h"
 #include "neverhood/module.h"
 #include "neverhood/palette.h"
-#include "neverhood/smackerplayer.h"
 #include "neverhood/sprite.h"
 #include "neverhood/staticdata.h"
 
 namespace Neverhood {
 
 class Console;
+class SmackerPlayer;
 
 class Scene : public Entity {
 public:
diff --git a/engines/neverhood/screen.cpp b/engines/neverhood/screen.cpp
index cc735c4..5cc7998 100644
--- a/engines/neverhood/screen.cpp
+++ b/engines/neverhood/screen.cpp
@@ -21,6 +21,7 @@
  */
 
 #include "graphics/palette.h"
+#include "video/smk_decoder.h"
 #include "neverhood/screen.h"
 
 namespace Neverhood {
diff --git a/engines/neverhood/screen.h b/engines/neverhood/screen.h
index 82ce90b..91bbe12 100644
--- a/engines/neverhood/screen.h
+++ b/engines/neverhood/screen.h
@@ -25,11 +25,14 @@
 
 #include "common/array.h"
 #include "graphics/surface.h"
-#include "video/smk_decoder.h"
 #include "neverhood/neverhood.h"
 #include "neverhood/microtiles.h"
 #include "neverhood/graphics.h"
 
+namespace Video {
+	class SmackerDecoder;
+}
+
 namespace Neverhood {
 
 struct RenderItem {
diff --git a/engines/neverhood/smackerscene.cpp b/engines/neverhood/smackerscene.cpp
index 2b43579..50677d7 100644
--- a/engines/neverhood/smackerscene.cpp
+++ b/engines/neverhood/smackerscene.cpp
@@ -21,6 +21,7 @@
  */
 
 #include "neverhood/smackerscene.h"
+#include "neverhood/smackerplayer.h"
 
 namespace Neverhood {
 
diff --git a/engines/neverhood/sound.cpp b/engines/neverhood/sound.cpp
index b15bea4..db22b72 100644
--- a/engines/neverhood/sound.cpp
+++ b/engines/neverhood/sound.cpp
@@ -21,10 +21,17 @@
  */
 
 #include "common/memstream.h"
-#include "graphics/palette.h"
+#include "audio/mixer.h"
 #include "neverhood/sound.h"
+#include "neverhood/resource.h"
 #include "neverhood/resourceman.h"
 
+// Convert volume from percent to 0..255
+#define VOLUME(volume) (Audio::Mixer::kMaxChannelVolume / 100 * (volume))
+
+// Convert panning from percent (50% equals center) to -127..0..+127
+#define PANNING(panning) (254 / 100 * (panning) - 127)
+
 namespace Neverhood {
 
 SoundResource::SoundResource(NeverhoodEngine *vm)
@@ -583,6 +590,11 @@ AudioResourceManSoundItem::AudioResourceManSoundItem(NeverhoodEngine *vm, uint32
 	_volume(100), _panning(50) {
 
 	_vm->_res->queryResource(_fileHash, _resourceHandle);
+	_soundHandle = new Audio::SoundHandle();
+}
+
+AudioResourceManSoundItem::~AudioResourceManSoundItem() {
+	delete _soundHandle;
 }
 
 void AudioResourceManSoundItem::loadSound() {
@@ -594,22 +606,22 @@ void AudioResourceManSoundItem::loadSound() {
 }
 
 void AudioResourceManSoundItem::unloadSound() {
-	if (_vm->_mixer->isSoundHandleActive(_soundHandle))
-		_vm->_mixer->stopHandle(_soundHandle);
+	if (_vm->_mixer->isSoundHandleActive(*_soundHandle))
+		_vm->_mixer->stopHandle(*_soundHandle);
 	_vm->_res->unloadResource(_resourceHandle);
 	_data = NULL;
 }
 
 void AudioResourceManSoundItem::setVolume(int16 volume) {
 	_volume = MIN<int16>(volume, 100);
-	if (_isPlaying && _vm->_mixer->isSoundHandleActive(_soundHandle))
-		_vm->_mixer->setChannelVolume(_soundHandle, VOLUME(_volume));
+	if (_isPlaying && _vm->_mixer->isSoundHandleActive(*_soundHandle))
+		_vm->_mixer->setChannelVolume(*_soundHandle, VOLUME(_volume));
 }
 
 void AudioResourceManSoundItem::setPan(int16 pan) {
 	_panning = MIN<int16>(pan, 100);
-	if (_isPlaying && _vm->_mixer->isSoundHandleActive(_soundHandle))
-		_vm->_mixer->setChannelVolume(_soundHandle, PANNING(_panning));
+	if (_isPlaying && _vm->_mixer->isSoundHandleActive(*_soundHandle))
+		_vm->_mixer->setChannelVolume(*_soundHandle, PANNING(_panning));
 }
 
 void AudioResourceManSoundItem::playSound(bool looping) {
@@ -619,7 +631,7 @@ void AudioResourceManSoundItem::playSound(bool looping) {
 		const byte *shiftValue = _resourceHandle.extData();
 		Common::MemoryReadStream *stream = new Common::MemoryReadStream(_data, _resourceHandle.size(), DisposeAfterUse::NO);
 		NeverhoodAudioStream *audioStream = new NeverhoodAudioStream(22050, *shiftValue, looping, DisposeAfterUse::YES, stream);
-		_vm->_mixer->playStream(Audio::Mixer::kSFXSoundType, &_soundHandle,
+		_vm->_mixer->playStream(Audio::Mixer::kSFXSoundType, _soundHandle,
 			audioStream, -1, VOLUME(_volume), PANNING(_panning));
 		debug(1, "playing sound %08X", _fileHash);
 		_isPlaying = true;
@@ -627,13 +639,13 @@ void AudioResourceManSoundItem::playSound(bool looping) {
 }
 
 void AudioResourceManSoundItem::stopSound() {
-	if (_vm->_mixer->isSoundHandleActive(_soundHandle))
-		_vm->_mixer->stopHandle(_soundHandle);
+	if (_vm->_mixer->isSoundHandleActive(*_soundHandle))
+		_vm->_mixer->stopHandle(*_soundHandle);
 	_isPlaying = false;
 }
 
 bool AudioResourceManSoundItem::isPlaying() {
-	return _vm->_mixer->isSoundHandleActive(_soundHandle);
+	return _vm->_mixer->isSoundHandleActive(*_soundHandle);
 }
 
 AudioResourceManMusicItem::AudioResourceManMusicItem(NeverhoodEngine *vm, uint32 fileHash)
@@ -641,6 +653,11 @@ AudioResourceManMusicItem::AudioResourceManMusicItem(NeverhoodEngine *vm, uint32
 	_volume(100), _panning(50),	_start(false), _isFadingIn(false), _isFadingOut(false), _isPlaying(false),
 	_fadeVolume(0), _fadeVolumeStep(0) {
 
+	_soundHandle = new Audio::SoundHandle();
+}
+
+AudioResourceManMusicItem::~AudioResourceManMusicItem() {
+	delete _soundHandle;
 }
 
 void AudioResourceManMusicItem::playMusic(int16 fadeVolumeStep) {
@@ -658,7 +675,7 @@ void AudioResourceManMusicItem::playMusic(int16 fadeVolumeStep) {
 }
 
 void AudioResourceManMusicItem::stopMusic(int16 fadeVolumeStep) {
-	if (_vm->_mixer->isSoundHandleActive(_soundHandle)) {
+	if (_vm->_mixer->isSoundHandleActive(*_soundHandle)) {
 		if (fadeVolumeStep != 0) {
 			if (_isFadingIn)
 				_isFadingIn = false;
@@ -667,7 +684,7 @@ void AudioResourceManMusicItem::stopMusic(int16 fadeVolumeStep) {
 			_isFadingOut = true;
 			_fadeVolumeStep = fadeVolumeStep;
 		} else {
-			_vm->_mixer->stopHandle(_soundHandle);
+			_vm->_mixer->stopHandle(*_soundHandle);
 		}
 		_isPlaying = false;
 	}
@@ -677,8 +694,8 @@ void AudioResourceManMusicItem::unloadMusic() {
 	if (_isFadingOut) {
 		_canRestart = true;
 	} else {
-		if (_vm->_mixer->isSoundHandleActive(_soundHandle))
-			_vm->_mixer->stopHandle(_soundHandle);
+		if (_vm->_mixer->isSoundHandleActive(*_soundHandle))
+			_vm->_mixer->stopHandle(*_soundHandle);
 		_isPlaying = false;
 		_terminate = true;
 	}
@@ -686,8 +703,8 @@ void AudioResourceManMusicItem::unloadMusic() {
 
 void AudioResourceManMusicItem::setVolume(int16 volume) {
 	_volume = MIN<int16>(volume, 100);
-	if (_isPlaying && _vm->_mixer->isSoundHandleActive(_soundHandle))
-		_vm->_mixer->setChannelVolume(_soundHandle, VOLUME(_volume));
+	if (_isPlaying && _vm->_mixer->isSoundHandleActive(*_soundHandle))
+		_vm->_mixer->setChannelVolume(*_soundHandle, VOLUME(_volume));
 }
 
 void AudioResourceManMusicItem::restart() {
@@ -698,33 +715,33 @@ void AudioResourceManMusicItem::restart() {
 
 void AudioResourceManMusicItem::update() {
 
-	if (_start && !_vm->_mixer->isSoundHandleActive(_soundHandle)) {
+	if (_start && !_vm->_mixer->isSoundHandleActive(*_soundHandle)) {
 		ResourceHandle resourceHandle;
 		_vm->_res->queryResource(_fileHash, resourceHandle);
 		Common::SeekableReadStream *stream = _vm->_res->createStream(_fileHash);
 		const byte *shiftValue = resourceHandle.extData();
 		NeverhoodAudioStream *audioStream = new NeverhoodAudioStream(22050, *shiftValue, true, DisposeAfterUse::YES, stream);
-		_vm->_mixer->playStream(Audio::Mixer::kMusicSoundType, &_soundHandle,
+		_vm->_mixer->playStream(Audio::Mixer::kMusicSoundType, _soundHandle,
 			audioStream, -1, VOLUME(_isFadingIn ? _fadeVolume : _volume),
 			PANNING(_panning));
 		_start = false;
 		_isPlaying = true;
 	}
 
-	if (_vm->_mixer->isSoundHandleActive(_soundHandle)) {
+	if (_vm->_mixer->isSoundHandleActive(*_soundHandle)) {
 		if (_isFadingIn) {
 			_fadeVolume += _fadeVolumeStep;
 			if (_fadeVolume >= _volume) {
 				_fadeVolume = _volume;
 				_isFadingIn = false;
 			}
-			_vm->_mixer->setChannelVolume(_soundHandle, VOLUME(_fadeVolume));
+			_vm->_mixer->setChannelVolume(*_soundHandle, VOLUME(_fadeVolume));
 		}
 		if (_isFadingOut) {
 			_fadeVolume -= _fadeVolumeStep;
 			if (_fadeVolume < 0)
 				_fadeVolume = 0;
-			_vm->_mixer->setChannelVolume(_soundHandle, VOLUME(_fadeVolume));
+			_vm->_mixer->setChannelVolume(*_soundHandle, VOLUME(_fadeVolume));
 			if (_fadeVolume == 0) {
 				_isFadingOut = false;
 				stopMusic(0);
diff --git a/engines/neverhood/sound.h b/engines/neverhood/sound.h
index 24947f0..e5e4ec9 100644
--- a/engines/neverhood/sound.h
+++ b/engines/neverhood/sound.h
@@ -24,23 +24,22 @@
 #define NEVERHOOD_SOUND_H
 
 #include "audio/audiostream.h"
-#include "audio/mixer.h"
 #include "common/array.h"
-#include "graphics/surface.h"
-#include "neverhood/neverhood.h"
-#include "neverhood/resource.h"
+#include "neverhood/resourceman.h"
 
-namespace Neverhood {
+namespace Common {
+class SeekableReadStream;
+}
 
-// Convert volume from percent to 0..255
-#define VOLUME(volume) (Audio::Mixer::kMaxChannelVolume / 100 * (volume))
+namespace Audio {
+class SoundHandle;
+}
 
-// Convert panning from percent (50% equals center) to -127..0..+127
-#define PANNING(panning) (254 / 100 * (panning) - 127)
+namespace Neverhood {
 
+class NeverhoodEngine;
 class AudioResourceManSoundItem;
 class AudioResourceManMusicItem;
-class AudioResourceMan;
 
 class SoundResource {
 public:
@@ -214,6 +213,7 @@ private:
 class AudioResourceManSoundItem {
 public:
 	AudioResourceManSoundItem(NeverhoodEngine *vm, uint32 fileHash);
+	~AudioResourceManSoundItem();
 	void loadSound();
 	void unloadSound();
 	void setVolume(int16 volume);
@@ -230,12 +230,13 @@ protected:
 	bool _isPlaying;
 	int16 _volume;
 	int16 _panning;
-	Audio::SoundHandle _soundHandle;
+	Audio::SoundHandle *_soundHandle;
 };
 
 class AudioResourceManMusicItem {
 public:
 	AudioResourceManMusicItem(NeverhoodEngine *vm, uint32 fileHash);
+	~AudioResourceManMusicItem();
 	void playMusic(int16 fadeVolumeStep);
 	void stopMusic(int16 fadeVolumeStep);
 	void unloadMusic();
@@ -259,7 +260,7 @@ protected:
 	bool _isFadingOut;
 	int16 _fadeVolume;
 	int16 _fadeVolumeStep;
-	Audio::SoundHandle _soundHandle;
+	Audio::SoundHandle *_soundHandle;
 };
 
 class AudioResourceMan {


Commit: 6581bcad6dfb409924af55dc67e050f3a7504da1
    https://github.com/scummvm/scummvm/commit/6581bcad6dfb409924af55dc67e050f3a7504da1
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2016-05-22T01:19:46+02:00

Commit Message:
Merge pull request #759 from salty-horse/neverhood_audio

NEVERHOOD: Reduce audio header dependencies

Changed paths:
    engines/neverhood/diskplayerscene.cpp
    engines/neverhood/diskplayerscene.h
    engines/neverhood/menumodule.cpp
    engines/neverhood/modules/module1300.cpp
    engines/neverhood/modules/module1300.h
    engines/neverhood/modules/module1300_sprites.h
    engines/neverhood/modules/module2800.cpp
    engines/neverhood/navigationscene.h
    engines/neverhood/neverhood.cpp
    engines/neverhood/scene.cpp
    engines/neverhood/scene.h
    engines/neverhood/screen.cpp
    engines/neverhood/screen.h
    engines/neverhood/smackerscene.cpp
    engines/neverhood/sound.cpp
    engines/neverhood/sound.h









More information about the Scummvm-git-logs mailing list