aboutsummaryrefslogtreecommitdiff
path: root/engines/pink/objects
diff options
context:
space:
mode:
authorAndrei Prykhodko2018-06-23 09:44:56 +0300
committerEugene Sandulenko2018-06-28 23:51:32 +0200
commit81f60be7c827c22e9ae0eab53089ef065a187898 (patch)
treeeefcd7eb15e48821b39cb6cb064d841562a20bdb /engines/pink/objects
parent42a649fd808114a4d31099951457f2e4f4b593e6 (diff)
downloadscummvm-rg350-81f60be7c827c22e9ae0eab53089ef065a187898.tar.gz
scummvm-rg350-81f60be7c827c22e9ae0eab53089ef065a187898.tar.bz2
scummvm-rg350-81f60be7c827c22e9ae0eab53089ef065a187898.zip
PINK: fixed playing last audio subsequence
Diffstat (limited to 'engines/pink/objects')
-rw-r--r--engines/pink/objects/sequences/sequence.cpp12
-rw-r--r--engines/pink/objects/sequences/sequence.h4
2 files changed, 8 insertions, 8 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();
}
diff --git a/engines/pink/objects/sequences/sequence.h b/engines/pink/objects/sequences/sequence.h
index ae446e4e82..7ebb95ce4c 100644
--- a/engines/pink/objects/sequences/sequence.h
+++ b/engines/pink/objects/sequences/sequence.h
@@ -24,7 +24,7 @@
#define PINK_SEQUENCE_H
#include "pink/sound.h"
-#include "pink/objects/object.h"
+#include "pink/objects/sequences/sequence_item.h"
namespace Pink {
@@ -86,9 +86,9 @@ public:
void skip() override;
private:
+ SequenceItemLeaderAudio *_leader;
Common::String _soundName;
Sound _sound;
- uint32 _sample;
};
} // End of namespace Pink