diff options
| author | Peter Kohaut | 2018-01-14 12:12:06 +0100 | 
|---|---|---|
| committer | Peter Kohaut | 2018-01-28 10:57:16 +0100 | 
| commit | 1e5f9d3078f236f306b5d868bcd52f4e47f7b512 (patch) | |
| tree | 0d402af27d75064d60e4674ab3bd4c9ad08759f1 /engines/bladerunner/audio_player.cpp | |
| parent | 3a937f19c0a5e347c801c62d345475be082f9e41 (diff) | |
| download | scummvm-rg350-1e5f9d3078f236f306b5d868bcd52f4e47f7b512.tar.gz scummvm-rg350-1e5f9d3078f236f306b5d868bcd52f4e47f7b512.tar.bz2 scummvm-rg350-1e5f9d3078f236f306b5d868bcd52f4e47f7b512.zip | |
BLADERUNNER: Added basic KIA interface
Settings works
Help works
Clue database works
Fixed code for inserting objects into scene
Reorganization of few files
Unification & code formatting of few older files
Diffstat (limited to 'engines/bladerunner/audio_player.cpp')
| -rw-r--r-- | engines/bladerunner/audio_player.cpp | 38 | 
1 files changed, 32 insertions, 6 deletions
| diff --git a/engines/bladerunner/audio_player.cpp b/engines/bladerunner/audio_player.cpp index 1e459e9b86..7aeba9c188 100644 --- a/engines/bladerunner/audio_player.cpp +++ b/engines/bladerunner/audio_player.cpp @@ -22,14 +22,14 @@  #include "bladerunner/audio_player.h" -#include "bladerunner/bladerunner.h" -  #include "bladerunner/archive.h"  #include "bladerunner/aud_stream.h"  #include "bladerunner/audio_mixer.h" +#include "bladerunner/bladerunner.h"  #include "common/debug.h"  #include "common/stream.h" +#include "common/random.h"  namespace Common {  	class MemoryReadStream; @@ -43,7 +43,7 @@ AudioCache::~AudioCache() {  	}  } -bool AudioCache::canAllocate(uint32 size) { +bool AudioCache::canAllocate(uint32 size) const {  	Common::StackLock lock(_mutex);  	return _maxSize - _totalSize >= size; @@ -84,7 +84,7 @@ void AudioCache::storeByHash(int32 hash, Common::SeekableReadStream *stream) {  	Common::StackLock lock(_mutex);  	uint32 size = stream->size(); -	byte *data = (byte*)malloc(size); +	byte *data = (byte *)malloc(size);  	stream->read(data, size);  	cacheItem item = { @@ -124,7 +124,8 @@ void AudioCache::decRef(int32 hash) {  	assert(false && "AudioCache::decRef: hash not found");  } -AudioPlayer::AudioPlayer(BladeRunnerEngine *vm) : _vm(vm) { +AudioPlayer::AudioPlayer(BladeRunnerEngine *vm) { +	_vm = vm;  	_cache = new AudioCache();  	for (int i = 0; i != 6; ++i) { @@ -177,6 +178,31 @@ void AudioPlayer::adjustPan(int track, int pan, int delay) {  	_vm->_audioMixer->adjustPan(_tracks[track].channel, pan, 60 * delay);  } +void AudioPlayer::setVolume(int volume) { +	_sfxVolume = volume; +} + +int AudioPlayer::getVolume() const { +	return _sfxVolume; +} + +void AudioPlayer::playSample() { +	Common::String name; + +	int rnd = _vm->_rnd.getRandomNumber(3); +	if (rnd == 0) { +		name = "gunmiss1.aud"; +	} else if (rnd == 1) { +		name = "gunmiss2.aud"; +	} else if (rnd == 2) { +		name = "gunmiss3.aud"; +	} else { +		name = "gunmiss4.aud"; +	} + +	playAud(name, 100, 0, 0, 100, 0); +} +  void AudioPlayer::remove(int channel) {  	Common::StackLock lock(_mutex);  	for (int i = 0; i != kTracks; ++i) { @@ -284,7 +310,7 @@ int AudioPlayer::playAud(const Common::String &name, int volume, int panFrom, in  	return track;  } -bool AudioPlayer::isActive(int track) { +bool AudioPlayer::isActive(int track) const {  	Common::StackLock lock(_mutex);  	if (track < 0 || track >= kTracks) {  		return false; | 
