aboutsummaryrefslogtreecommitdiff
path: root/engines/sci/sound/audio32.cpp
diff options
context:
space:
mode:
authorFilippos Karapetis2016-06-23 21:58:13 +0300
committerFilippos Karapetis2016-06-23 21:58:13 +0300
commit5eaea05a2b6af0ddcf28fca1f0cd3fc0c54f4d07 (patch)
tree6ef7f13c03ebee63243dc6ec456b3b44b4b2298b /engines/sci/sound/audio32.cpp
parent17983508b37b3a00ca930c1bc2cf043475b51471 (diff)
downloadscummvm-rg350-5eaea05a2b6af0ddcf28fca1f0cd3fc0c54f4d07.tar.gz
scummvm-rg350-5eaea05a2b6af0ddcf28fca1f0cd3fc0c54f4d07.tar.bz2
scummvm-rg350-5eaea05a2b6af0ddcf28fca1f0cd3fc0c54f4d07.zip
SCI32: Properly initialize AudioChannel inside Audio32::play()
Fixes audio issues caused by uninitialized variables
Diffstat (limited to 'engines/sci/sound/audio32.cpp')
-rw-r--r--engines/sci/sound/audio32.cpp13
1 files changed, 11 insertions, 2 deletions
diff --git a/engines/sci/sound/audio32.cpp b/engines/sci/sound/audio32.cpp
index def3e4d838..c457311d66 100644
--- a/engines/sci/sound/audio32.cpp
+++ b/engines/sci/sound/audio32.cpp
@@ -561,11 +561,20 @@ uint16 Audio32::play(int16 channelIndex, const ResourceId resourceId, const bool
AudioChannel &channel = getChannel(channelIndex);
channel.id = resourceId;
channel.resource = resource;
+ channel.resourceStream = nullptr;
+ channel.stream = nullptr;
+ channel.converter = nullptr;
+ channel.duration = 0;
+ channel.startedAtTick = 0;
+ channel.pausedAtTick = 0;
channel.loop = loop;
- channel.robot = false;
- channel.vmd = false;
channel.lastFadeTick = 0;
+ channel.fadeVolume = 0;
+ channel.fadeSpeed = 0;
channel.fadeStepsRemaining = 0;
+ channel.stopChannelOnFade = false;
+ channel.robot = false;
+ channel.vmd = false;
channel.soundNode = soundNode;
channel.volume = volume < 0 || volume > kMaxVolume ? (int)kMaxVolume : volume;
// TODO: SCI3 introduces stereo audio