aboutsummaryrefslogtreecommitdiff
path: root/engines/pink/objects/sequences/sequence.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/pink/objects/sequences/sequence.cpp')
-rw-r--r--engines/pink/objects/sequences/sequence.cpp12
1 files changed, 6 insertions, 6 deletions
diff --git a/engines/pink/objects/sequences/sequence.cpp b/engines/pink/objects/sequences/sequence.cpp
index 7e5a3a2677..5d303fbd65 100644
--- a/engines/pink/objects/sequences/sequence.cpp
+++ b/engines/pink/objects/sequences/sequence.cpp
@@ -28,7 +28,6 @@
#include "pink/objects/pages/game_page.h"
#include "pink/objects/sequences/sequence.h"
#include "pink/objects/sequences/sequence_context.h"
-#include "pink/objects/sequences/sequence_item.h"
#include "pink/objects/sequences/sequencer.h"
namespace Pink {
@@ -144,8 +143,9 @@ void SequenceAudio::start(bool loadingSave) {
Sequence::start(loadingSave);
uint index = _context->getNextItemIndex();
if (index < _items.size()) {
- SequenceItemLeaderAudio *leaderAudio = (SequenceItemLeaderAudio *)_items[index];
- _sample = leaderAudio->getSample();
+ _leader = (SequenceItemLeaderAudio *)_items[index];
+ } else {
+ _leader = nullptr;
}
}
@@ -157,18 +157,18 @@ void SequenceAudio::end() {
void SequenceAudio::update() {
if (!_sound.isPlaying())
end();
- else if (_sample <= _sound.getCurrentSample())
+ else if (_leader && _leader->getSample() <= _sound.getCurrentSample())
start(0);
}
void SequenceAudio::init(bool loadingSave) {
- _sample = 0;
+ _leader = nullptr;
_sound.play(_sequencer->getPage()->getResourceStream(_soundName), Audio::Mixer::kMusicSoundType);
start(loadingSave);
}
void SequenceAudio::restart() {
- _sample = 0;
+ _leader = nullptr;
_sound.play(_sequencer->getPage()->getResourceStream(_soundName), Audio::Mixer::kMusicSoundType);
Sequence::restart();
}