aboutsummaryrefslogtreecommitdiff
path: root/engines/pink/objects/sequences
diff options
context:
space:
mode:
Diffstat (limited to 'engines/pink/objects/sequences')
-rw-r--r--engines/pink/objects/sequences/seq_timer.cpp24
-rw-r--r--engines/pink/objects/sequences/seq_timer.h18
-rw-r--r--engines/pink/objects/sequences/sequence.cpp174
-rw-r--r--engines/pink/objects/sequences/sequence.h60
-rw-r--r--engines/pink/objects/sequences/sequence_context.cpp66
-rw-r--r--engines/pink/objects/sequences/sequence_context.h34
-rw-r--r--engines/pink/objects/sequences/sequence_item.cpp56
-rw-r--r--engines/pink/objects/sequences/sequence_item.h42
-rw-r--r--engines/pink/objects/sequences/sequencer.cpp94
-rw-r--r--engines/pink/objects/sequences/sequencer.h36
10 files changed, 302 insertions, 302 deletions
diff --git a/engines/pink/objects/sequences/seq_timer.cpp b/engines/pink/objects/sequences/seq_timer.cpp
index 974056a956..9f8ee31a4c 100644
--- a/engines/pink/objects/sequences/seq_timer.cpp
+++ b/engines/pink/objects/sequences/seq_timer.cpp
@@ -32,30 +32,30 @@
namespace Pink {
SeqTimer::SeqTimer()
- : _updatesToMessage(0) {}
+ : _updatesToMessage(0) {}
void SeqTimer::deserialize(Archive &archive) {
- _actor = archive.readString();
- _period = archive.readDWORD();
- _range = archive.readDWORD();
- _sequencer = static_cast<Sequencer*>(archive.readObject());
+ _actor = archive.readString();
+ _period = archive.readDWORD();
+ _range = archive.readDWORD();
+ _sequencer = static_cast<Sequencer*>(archive.readObject());
}
void SeqTimer::toConsole() {
- debug("\tSeqTimer: _actor=%s _period=%u _range=%u", _actor.c_str(), _period, _range);
+ debug("\tSeqTimer: _actor=%s _period=%u _range=%u", _actor.c_str(), _period, _range);
}
void SeqTimer::update() {
- Common::RandomSource &rnd =_sequencer->_page->getGame()->getRnd();
- if (_updatesToMessage--)
- return;
+ Common::RandomSource &rnd =_sequencer->_page->getGame()->getRnd();
+ if (_updatesToMessage--)
+ return;
_updatesToMessage = _range ? _period + rnd.getRandomNumber(_range) : _period;
SupportingActor *actor = static_cast<SupportingActor*>(_sequencer->_page->findActor(_actor));
- if (actor && !_sequencer->findSequenceActorState(actor->getName())){
- actor->onTimerMessage();
- }
+ if (actor && !_sequencer->findSequenceActorState(actor->getName())){
+ actor->onTimerMessage();
+ }
}
} // End of namespace Pink
diff --git a/engines/pink/objects/sequences/seq_timer.h b/engines/pink/objects/sequences/seq_timer.h
index bfd6295ce0..9af706f6c8 100644
--- a/engines/pink/objects/sequences/seq_timer.h
+++ b/engines/pink/objects/sequences/seq_timer.h
@@ -31,17 +31,17 @@ class Sequencer;
class SeqTimer : public Object {
public:
- SeqTimer();
- virtual void deserialize(Archive &archive);
- virtual void toConsole();
- virtual void update();
+ SeqTimer();
+ virtual void deserialize(Archive &archive);
+ virtual void toConsole();
+ virtual void update();
private:
- Common::String _actor;
- Sequencer *_sequencer;
- int _period;
- int _range;
- int _updatesToMessage;
+ Common::String _actor;
+ Sequencer *_sequencer;
+ int _period;
+ int _range;
+ int _updatesToMessage;
};
} // End of namespace Pink
diff --git a/engines/pink/objects/sequences/sequence.cpp b/engines/pink/objects/sequences/sequence.cpp
index 1e08bb5c02..5eeae68657 100644
--- a/engines/pink/objects/sequences/sequence.cpp
+++ b/engines/pink/objects/sequences/sequence.cpp
@@ -34,158 +34,158 @@
namespace Pink {
Sequence::Sequence()
- : _unk(0), _context(nullptr),
- _sequencer(nullptr) {}
+ : _unk(0), _context(nullptr),
+ _sequencer(nullptr) {}
Sequence::~Sequence() {
- for (uint i = 0; i < _items.size(); ++i) {
- delete _items[i];
- }
+ for (uint i = 0; i < _items.size(); ++i) {
+ delete _items[i];
+ }
}
void Sequence::deserialize(Archive &archive) {
- NamedObject::deserialize(archive);
- _sequencer = static_cast<Sequencer*>(archive.readObject());
- _items.deserialize(archive);
+ NamedObject::deserialize(archive);
+ _sequencer = static_cast<Sequencer*>(archive.readObject());
+ _items.deserialize(archive);
}
void Sequence::toConsole() {
- debug("\t\tSequence %s", _name.c_str());
- debug("\t\t\tItems:");
- for (uint i = 0; i < _items.size(); ++i) {
- _items[i]->toConsole();
- }
+ debug("\t\tSequence %s", _name.c_str());
+ debug("\t\t\tItems:");
+ for (uint i = 0; i < _items.size(); ++i) {
+ _items[i]->toConsole();
+ }
}
Common::Array<SequenceItem*> &Sequence::getItems() {
- return _items;
+ return _items;
}
void Sequence::setContext(SequenceContext *context) {
- _context = context;
+ _context = context;
}
void Sequence::init(int unk) {
- assert(_items.size());
- assert(dynamic_cast<SequenceItemLeader*>(_items[0])); // first item must always be a leader
- start(unk);
+ assert(_items.size());
+ assert(dynamic_cast<SequenceItemLeader*>(_items[0])); // first item must always be a leader
+ start(unk);
}
void Sequence::start(int unk) {
- if (_context->_nextItemIndex >= _items.size() || !_items[_context->_nextItemIndex]->execute(_context->_index, this, unk)){
- debug("Sequence %s ended", _name.c_str());
- end();
- return;
- }
+ if (_context->_nextItemIndex >= _items.size() || !_items[_context->_nextItemIndex]->execute(_context->_index, this, unk)){
+ debug("Sequence %s ended", _name.c_str());
+ end();
+ return;
+ }
- uint i;
- for (i = _context->_nextItemIndex + 1; i <_items.size(); ++i){
- if (_items[i]->isLeader())
- break;
- _items[i]->execute(_context->_index, this, unk);
- }
- _context->_nextItemIndex = i;
+ uint i;
+ for (i = _context->_nextItemIndex + 1; i <_items.size(); ++i){
+ if (_items[i]->isLeader())
+ break;
+ _items[i]->execute(_context->_index, this, unk);
+ }
+ _context->_nextItemIndex = i;
- Common::Array<SequenceActorState> &states = _context->_states;
- for (uint j = 0; j < states.size(); ++j) {
- states[j].check(_context->_index, this, unk);
- }
- _context->_index++;
+ Common::Array<SequenceActorState> &states = _context->_states;
+ for (uint j = 0; j < states.size(); ++j) {
+ states[j].check(_context->_index, this, unk);
+ }
+ _context->_index++;
}
void Sequence::update() {
- if (!_context->_actor->isPlaying()){
- debug("Sequence step ended");
- start(0);
- }
+ if (!_context->_actor->isPlaying()){
+ debug("Sequence step ended");
+ start(0);
+ }
}
void Sequence::end() {
- _context->_actor = 0;
- _unk = 1;
- _sequencer->removeContext(_context);
+ _context->_actor = 0;
+ _unk = 1;
+ _sequencer->removeContext(_context);
}
void Sequence::restart() {
- _context->setNextItemIndex(0);
- _context->clearActionsFromActorStates();
- start(0);
+ _context->setNextItemIndex(0);
+ _context->clearActionsFromActorStates();
+ start(0);
}
void Sequence::skipToLastSubSequence() {
- if (_unk && _context->getNextItemIndex() < _items.size()){
- int i = _items.size() - 1;
- while(i >= 0 && !_items[--i]->isLeader());
- assert(i >= 0);
- _context->setNextItemIndex(i);
- _context->clearActionsFromActorStates();
- skipItemsTo(i);
- start(0);
- }
+ if (_unk && _context->getNextItemIndex() < _items.size()){
+ int i = _items.size() - 1;
+ while(i >= 0 && !_items[--i]->isLeader());
+ assert(i >= 0);
+ _context->setNextItemIndex(i);
+ _context->clearActionsFromActorStates();
+ skipItemsTo(i);
+ start(0);
+ }
}
void Sequence::skipItemsTo(int index) {
- for(int i = 0; i < index; ++i){
- _items[i]->skip(this);
- }
+ for(int i = 0; i < index; ++i){
+ _items[i]->skip(this);
+ }
}
void Sequence::skipSubSequence() {
- if (_context->getNextItemIndex() < _context->getSequence()->getItems().size())
- _context->getSequence()->start(0);
+ if (_context->getNextItemIndex() < _context->getSequence()->getItems().size())
+ _context->getSequence()->start(0);
}
void SequenceAudio::deserialize(Archive &archive) {
- Sequence::deserialize(archive);
- _soundName = archive.readString();
+ Sequence::deserialize(archive);
+ _soundName = archive.readString();
}
void SequenceAudio::toConsole() {
- debug("\t\tSequenceAudio %s : _sound = %s", _name.c_str(), _soundName.c_str());
- debug("\t\t\tItems:");
- for (uint i = 0; i < _items.size(); ++i) {
- _items[i]->toConsole();
- }
+ debug("\t\tSequenceAudio %s : _sound = %s", _name.c_str(), _soundName.c_str());
+ debug("\t\t\tItems:");
+ for (uint i = 0; i < _items.size(); ++i) {
+ _items[i]->toConsole();
+ }
}
void SequenceAudio::start(int unk) {
- Sequence::start(unk);
- uint index = _context->getNextItemIndex();
- if (index < _items.size()) {
- SequenceItemLeaderAudio* leaderAudio = (SequenceItemLeaderAudio*) _items[index];
- _sample = leaderAudio->getSample();
- }
+ Sequence::start(unk);
+ uint index = _context->getNextItemIndex();
+ if (index < _items.size()) {
+ SequenceItemLeaderAudio* leaderAudio = (SequenceItemLeaderAudio*) _items[index];
+ _sample = leaderAudio->getSample();
+ }
}
void SequenceAudio::end() {
- delete _sound;
- _sound = nullptr;
- Sequence::end();
+ delete _sound;
+ _sound = nullptr;
+ Sequence::end();
}
void SequenceAudio::update() {
- if (!_sound->isPlaying())
- end();
- else if (_sample <= _sound->getCurrentSample()){
- start(0);
- }
+ if (!_sound->isPlaying())
+ end();
+ else if (_sample <= _sound->getCurrentSample()){
+ start(0);
+ }
}
void SequenceAudio::init(int unk) {
- _sample = 0;
- _sound = _sequencer->_page->loadSound(_soundName);
- _sound->play(Audio::Mixer::SoundType::kMusicSoundType, 100, 0);
- Sequence::init(unk);
+ _sample = 0;
+ _sound = _sequencer->_page->loadSound(_soundName);
+ _sound->play(Audio::Mixer::SoundType::kMusicSoundType, 100, 0);
+ Sequence::init(unk);
}
void SequenceAudio::restart() {
- _sound->play(Audio::Mixer::SoundType::kMusicSoundType, 100, 0);
- Sequence::restart();
+ _sound->play(Audio::Mixer::SoundType::kMusicSoundType, 100, 0);
+ Sequence::restart();
}
void SequenceAudio::skipToLastSubSequence() {
- end();
+ end();
}
} // End of namespace Pink
diff --git a/engines/pink/objects/sequences/sequence.h b/engines/pink/objects/sequences/sequence.h
index e40b0160e2..f4c6c5a1b3 100644
--- a/engines/pink/objects/sequences/sequence.h
+++ b/engines/pink/objects/sequences/sequence.h
@@ -33,54 +33,54 @@ class SequenceContext;
class Sequence : public NamedObject {
public:
- Sequence();
- virtual ~Sequence();
- virtual void deserialize(Archive &archive);
+ Sequence();
+ virtual ~Sequence();
+ virtual void deserialize(Archive &archive);
- virtual void toConsole();
+ virtual void toConsole();
- Common::Array<SequenceItem*> &getItems();
+ Common::Array<SequenceItem*> &getItems();
- void setContext(SequenceContext *context);
- virtual void init(int unk);
- virtual void start(int unk);
- virtual void end();
+ void setContext(SequenceContext *context);
+ virtual void init(int unk);
+ virtual void start(int unk);
+ virtual void end();
- virtual void update();
- virtual void restart();
- virtual void skipSubSequence();
- virtual void skipToLastSubSequence();
- void skipItemsTo(int index);
+ virtual void update();
+ virtual void restart();
+ virtual void skipSubSequence();
+ virtual void skipToLastSubSequence();
+ void skipItemsTo(int index);
public:
- SequenceContext *_context;
- Sequencer *_sequencer;
- Array<SequenceItem*> _items;
- int _unk;
+ SequenceContext *_context;
+ Sequencer *_sequencer;
+ Array<SequenceItem*> _items;
+ int _unk;
};
class Sound;
class SequenceAudio : public Sequence {
public:
- virtual void deserialize(Archive &archive);
- virtual void toConsole();
+ virtual void deserialize(Archive &archive);
+ virtual void toConsole();
- virtual void init(int unk);
- virtual void start(int unk);
- virtual void end();
+ virtual void init(int unk);
+ virtual void start(int unk);
+ virtual void end();
- virtual void update();
- virtual void restart();
+ virtual void update();
+ virtual void restart();
- virtual void skipSubSequence() {};
- virtual void skipToLastSubSequence();
+ virtual void skipSubSequence() {};
+ virtual void skipToLastSubSequence();
private:
- Common::String _soundName;
- Sound *_sound;
- uint _sample;
+ Common::String _soundName;
+ Sound *_sound;
+ uint _sample;
};
} // End of namespace Pink
diff --git a/engines/pink/objects/sequences/sequence_context.cpp b/engines/pink/objects/sequences/sequence_context.cpp
index 8ce85b7273..48cbfedfc5 100644
--- a/engines/pink/objects/sequences/sequence_context.cpp
+++ b/engines/pink/objects/sequences/sequence_context.cpp
@@ -32,62 +32,62 @@
namespace Pink {
SequenceActorState::SequenceActorState(const Common::String &name)
- :_actorName(name), _index(0)
+ :_actorName(name), _index(0)
{}
const Common::String &SequenceActorState::getActor() const {
- return _actorName;
+ return _actorName;
}
void SequenceActorState::check(int index, Sequence *sequence, bool unk) {
- Actor *actor = sequence->_sequencer->_page->findActor(_actorName);
- debug("%s %s", _actorName.c_str(), _actionName.c_str());
- if (_index != index && !_actionName.empty()){
- Action *action = actor->findAction(_actionName);
- if (actor->getAction() != action)
- actor->setAction(action, unk);
- }
+ Actor *actor = sequence->_sequencer->_page->findActor(_actorName);
+ debug("%s %s", _actorName.c_str(), _actionName.c_str());
+ if (_index != index && !_actionName.empty()){
+ Action *action = actor->findAction(_actionName);
+ if (actor->getAction() != action)
+ actor->setAction(action, unk);
+ }
}
SequenceContext::SequenceContext(Sequence *sequence, Sequencer *sequencer)
- : _sequence(sequence), _sequencer(sequencer),
- _nextItemIndex(0), _index(1), _actor(nullptr)
+ : _sequence(sequence), _sequencer(sequencer),
+ _nextItemIndex(0), _index(1), _actor(nullptr)
{
- sequence->setContext(this);
- Common::Array<SequenceItem*> &items = sequence->getItems();
- debug("SequenceContext for %s", _sequence->getName().c_str());
+ sequence->setContext(this);
+ Common::Array<SequenceItem*> &items = sequence->getItems();
+ debug("SequenceContext for %s", _sequence->getName().c_str());
- for (uint i = 0; i < items.size(); ++i) {
- bool found = 0;
- for (uint j = 0; j < _states.size(); ++j) {
- if (items[i]->getActor() == _states[j].getActor()){
- found = 1;
- break;
- }
- }
- if (!found) {
- debug(items[i]->getActor().c_str());
- _states.push_back({items[i]->getActor()});
- }
- }
+ for (uint i = 0; i < items.size(); ++i) {
+ bool found = 0;
+ for (uint j = 0; j < _states.size(); ++j) {
+ if (items[i]->getActor() == _states[j].getActor()){
+ found = 1;
+ break;
+ }
+ }
+ if (!found) {
+ debug(items[i]->getActor().c_str());
+ _states.push_back({items[i]->getActor()});
+ }
+ }
}
uint SequenceContext::getNextItemIndex() const {
- return _nextItemIndex;
+ return _nextItemIndex;
}
Sequence *SequenceContext::getSequence() const {
- return _sequence;
+ return _sequence;
}
void SequenceContext::clearActionsFromActorStates() {
- for (uint i = 0; i < _states.size(); ++i) {
- _states[i]._actionName.clear();
- }
+ for (uint i = 0; i < _states.size(); ++i) {
+ _states[i]._actionName.clear();
+ }
}
void SequenceContext::setNextItemIndex(int index) {
- _nextItemIndex = index;
+ _nextItemIndex = index;
}
} // End of namespace Pink
diff --git a/engines/pink/objects/sequences/sequence_context.h b/engines/pink/objects/sequences/sequence_context.h
index 334553cf57..e7acf093ea 100644
--- a/engines/pink/objects/sequences/sequence_context.h
+++ b/engines/pink/objects/sequences/sequence_context.h
@@ -32,37 +32,37 @@ class Sequencer;
class SequenceActorState {
public:
- SequenceActorState(const Common::String &name);
+ SequenceActorState(const Common::String &name);
- const Common::String &getActor() const;
- void check(int index, Sequence *sequence, bool unk);
+ const Common::String &getActor() const;
+ void check(int index, Sequence *sequence, bool unk);
public:
- Common::String _actorName;
- Common::String _actionName;
- int _index;
+ Common::String _actorName;
+ Common::String _actionName;
+ int _index;
};
class Actor;
class SequenceContext {
public:
- SequenceContext(Sequence *sequence, Sequencer* sequencer);
+ SequenceContext(Sequence *sequence, Sequencer* sequencer);
- uint getNextItemIndex() const;
- Sequence *getSequence() const;
+ uint getNextItemIndex() const;
+ Sequence *getSequence() const;
- void setNextItemIndex(int index);
+ void setNextItemIndex(int index);
- void clearActionsFromActorStates();
+ void clearActionsFromActorStates();
public:
- Sequence *_sequence;
- Sequencer *_sequencer;
- uint _nextItemIndex;
- Actor *_actor;
- Common::Array<SequenceActorState> _states;
- int _index;
+ Sequence *_sequence;
+ Sequencer *_sequencer;
+ uint _nextItemIndex;
+ Actor *_actor;
+ Common::Array<SequenceActorState> _states;
+ int _index;
};
}
diff --git a/engines/pink/objects/sequences/sequence_item.cpp b/engines/pink/objects/sequences/sequence_item.cpp
index a530390f97..7cc3f1b153 100644
--- a/engines/pink/objects/sequences/sequence_item.cpp
+++ b/engines/pink/objects/sequences/sequence_item.cpp
@@ -34,77 +34,77 @@
namespace Pink {
void SequenceItem::deserialize(Archive &archive) {
- _actor = archive.readString();
- _action = archive.readString();
+ _actor = archive.readString();
+ _action = archive.readString();
}
void SequenceItem::toConsole() {
- debug("\t\t\t\tSequenceItem: _actor=%s, _action=%s", _actor.c_str(), _action.c_str());
+ debug("\t\t\t\tSequenceItem: _actor=%s, _action=%s", _actor.c_str(), _action.c_str());
}
const Common::String &SequenceItem::getActor() const {
- return _actor;
+ return _actor;
}
const Common::String &SequenceItem::getAction() const {
- return _action;
+ return _action;
}
bool SequenceItem::execute(int index, Sequence *sequence, bool unk2) {
- Actor *actor;
- Action *action;
- if (!(actor = sequence->_sequencer->_page->findActor(_actor)) ||
- !(action = actor->findAction(_action))) {
- return false;
- }
+ Actor *actor;
+ Action *action;
+ if (!(actor = sequence->_sequencer->_page->findActor(_actor)) ||
+ !(action = actor->findAction(_action))) {
+ return false;
+ }
- actor->setAction(action, unk2);
+ actor->setAction(action, unk2);
- SequenceActorState *state = sequence->_sequencer->findSequenceActorState(_actor);
- state->_index = index;
- sequence->_context->_actor = isLeader() ? actor : sequence->_context->_actor;
+ SequenceActorState *state = sequence->_sequencer->findSequenceActorState(_actor);
+ state->_index = index;
+ sequence->_context->_actor = isLeader() ? actor : sequence->_context->_actor;
- return true;
+ return true;
}
bool SequenceItem::isLeader() {
- return false;
+ return false;
}
bool SequenceItemLeader::isLeader() {
- return true;
+ return true;
}
void SequenceItemLeader::toConsole() {
- debug("\t\t\t\tSequenceItemLeader: _actor=%s, _action=%s", _actor.c_str(), _action.c_str());
+ debug("\t\t\t\tSequenceItemLeader: _actor=%s, _action=%s", _actor.c_str(), _action.c_str());
}
void SequenceItemLeaderAudio::deserialize(Archive &archive) {
- SequenceItem::deserialize(archive);
- _sample = archive.readDWORD();
+ SequenceItem::deserialize(archive);
+ _sample = archive.readDWORD();
}
void SequenceItemLeaderAudio::toConsole() {
- debug("\t\t\t\tSequenceItemLeaderAudio: _actor=%s, _action=%s _sample=%d", _actor.c_str(), _action.c_str(), _sample);
+ debug("\t\t\t\tSequenceItemLeaderAudio: _actor=%s, _action=%s _sample=%d", _actor.c_str(), _action.c_str(), _sample);
}
uint32 SequenceItemLeaderAudio::getSample() {
- return _sample;
+ return _sample;
}
bool SequenceItemDefaultAction::execute(int index, Sequence *sequence, bool unk2) {
- SequenceActorState *state = sequence->_sequencer->findSequenceActorState(_actor);
- state->_actionName = _action;
- return true;
+ SequenceActorState *state = sequence->_sequencer->findSequenceActorState(_actor);
+ state->_actionName = _action;
+ return true;
}
void SequenceItemDefaultAction::toConsole() {
- debug("\t\t\t\tSequenceItemDefaultAction: _actor=%s, _action=%s", _actor.c_str(), _action.c_str());
+ debug("\t\t\t\tSequenceItemDefaultAction: _actor=%s, _action=%s", _actor.c_str(), _action.c_str());
}
void SequenceItemDefaultAction::skip(Sequence *sequence) {
- execute(0, sequence, 1);
+ execute(0, sequence, 1);
}
} // End of namespace Pink
diff --git a/engines/pink/objects/sequences/sequence_item.h b/engines/pink/objects/sequences/sequence_item.h
index dd026a87d9..df22f86fe5 100644
--- a/engines/pink/objects/sequences/sequence_item.h
+++ b/engines/pink/objects/sequences/sequence_item.h
@@ -31,53 +31,53 @@ class Sequence;
class SequenceItem : public Object {
public:
- virtual void deserialize(Archive &archive);
+ virtual void deserialize(Archive &archive);
- virtual void toConsole();
+ virtual void toConsole();
- const Common::String &getActor() const;
- const Common::String &getAction() const;
+ const Common::String &getActor() const;
+ const Common::String &getAction() const;
- virtual bool execute(int index, Sequence *sequence, bool unk2);
- virtual bool isLeader();
- virtual void skip(Sequence *sequence) {};
+ virtual bool execute(int index, Sequence *sequence, bool unk2);
+ virtual bool isLeader();
+ virtual void skip(Sequence *sequence) {};
protected:
- Common::String _actor;
- Common::String _action;
+ Common::String _actor;
+ Common::String _action;
};
class SequenceItemLeader : public SequenceItem {
public:
- virtual void toConsole();
- virtual bool isLeader();
+ virtual void toConsole();
+ virtual bool isLeader();
};
class SequenceItemLeaderAudio : public SequenceItemLeader {
public:
- virtual void deserialize(Archive &archive);
- virtual void toConsole();
- uint32 getSample();
+ virtual void deserialize(Archive &archive);
+ virtual void toConsole();
+ uint32 getSample();
private:
- uint32 _sample;
+ uint32 _sample;
};
class SequenceItemDefaultAction : public SequenceItem {
public:
- virtual bool execute(int index, Sequence *sequence, bool unk2);
- virtual void skip(Sequence *sequence);
+ virtual bool execute(int index, Sequence *sequence, bool unk2);
+ virtual void skip(Sequence *sequence);
- virtual void toConsole();
+ virtual void toConsole();
};
/* not used in games but is implemented in engine
class SequenceItemSideEffects : public SequenceItemDefaultAction {
public:
- virtual void deserialize(Archive &archive);
- virtual bool execute(int unk, Sequence *sequence, bool unk2);
+ virtual void deserialize(Archive &archive);
+ virtual bool execute(int unk, Sequence *sequence, bool unk2);
private
- Common::Array<SideEffect*> _sideEffects
+ Common::Array<SideEffect*> _sideEffects
};
*/
diff --git a/engines/pink/objects/sequences/sequencer.cpp b/engines/pink/objects/sequences/sequencer.cpp
index 5644aa8f25..430c8c2da0 100644
--- a/engines/pink/objects/sequences/sequencer.cpp
+++ b/engines/pink/objects/sequences/sequencer.cpp
@@ -34,18 +34,18 @@
namespace Pink {
Sequencer::Sequencer(GamePage *page)
- : _context(nullptr), _page(page), _time(0)
+ : _context(nullptr), _page(page), _time(0)
{}
Sequencer::~Sequencer() {
- for (uint i = 0; i < _sequences.size(); ++i) {
- delete _sequences[i];
- }
+ for (uint i = 0; i < _sequences.size(); ++i) {
+ delete _sequences[i];
+ }
}
void Sequencer::deserialize(Archive &archive) {
- _sequences.deserialize(archive);
- _timers.deserialize(archive);
+ _sequences.deserialize(archive);
+ _timers.deserialize(archive);
}
Sequence *Sequencer::findSequence(const Common::String &name) {
@@ -57,75 +57,75 @@ Sequence *Sequencer::findSequence(const Common::String &name) {
}
void Sequencer::authorSequence(Sequence *sequence, bool unk) {
- if (_context){
+ if (_context){
- }
+ }
- if (sequence){
- _context = new SequenceContext(sequence, this);
- //unload array of unknown objects
- _currentSequenceName = sequence->getName();
- sequence->init(unk);
- }
- else _currentSequenceName.clear();
+ if (sequence){
+ _context = new SequenceContext(sequence, this);
+ //unload array of unknown objects
+ _currentSequenceName = sequence->getName();
+ sequence->init(unk);
+ }
+ else _currentSequenceName.clear();
}
void Sequencer::toConsole() {
- debug("Sequencer:");
- for (uint i = 0; i < _sequences.size(); ++i) {
- _sequences[i]->toConsole();
- }
- for (uint i = 0; i < _timers.size(); ++i) {
- _timers[i]->toConsole();
- }
+ debug("Sequencer:");
+ for (uint i = 0; i < _sequences.size(); ++i) {
+ _sequences[i]->toConsole();
+ }
+ for (uint i = 0; i < _timers.size(); ++i) {
+ _timers[i]->toConsole();
+ }
}
void Sequencer::update() {
- if (_context)
- _context->_sequence->update();
- updateTimers();
+ if (_context)
+ _context->_sequence->update();
+ updateTimers();
}
void Sequencer::removeContext(SequenceContext *context) {
- delete _context;
- _context = nullptr;
+ delete _context;
+ _context = nullptr;
}
void Sequencer::skipSubSequence() {
- if (_context)
- _context->getSequence()->skipSubSequence();
+ if (_context)
+ _context->getSequence()->skipSubSequence();
}
void Sequencer::restartSequence() {
- _context->getSequence()->restart();
+ _context->getSequence()->restart();
}
void Sequencer::skipToLastSubSequence() {
- _context->getSequence()->skipToLastSubSequence();
+ _context->getSequence()->skipToLastSubSequence();
}
void Sequencer::updateTimers() {
- uint time = _page->getGame()->getTotalPlayTime();
- if (time - _time <= kTimersUpdateTime) {
- return;
- }
-
- _time = time;
- for (uint i = 0; i < _timers.size(); ++i) {
- _timers[i]->update();
- }
+ uint time = _page->getGame()->getTotalPlayTime();
+ if (time - _time <= kTimersUpdateTime) {
+ return;
+ }
+
+ _time = time;
+ for (uint i = 0; i < _timers.size(); ++i) {
+ _timers[i]->update();
+ }
}
SequenceActorState *Sequencer::findSequenceActorState(const Common::String &name) {
- if (!_context)
- return nullptr;
+ if (!_context)
+ return nullptr;
- for (uint i = 0; i < _context->_states.size(); ++i) {
- if (_context->_states[i].getActor() == name)
- return &_context->_states[i];
- }
+ for (uint i = 0; i < _context->_states.size(); ++i) {
+ if (_context->_states[i].getActor() == name)
+ return &_context->_states[i];
+ }
- return nullptr;
+ return nullptr;
}
} // End of namespace Pink
diff --git a/engines/pink/objects/sequences/sequencer.h b/engines/pink/objects/sequences/sequencer.h
index 0213728bac..c1b957b995 100644
--- a/engines/pink/objects/sequences/sequencer.h
+++ b/engines/pink/objects/sequences/sequencer.h
@@ -35,36 +35,36 @@ class SequenceActorState;
class Sequencer : public Object {
public:
- Sequencer(GamePage *page);
- ~Sequencer();
+ Sequencer(GamePage *page);
+ ~Sequencer();
- virtual void toConsole();
+ virtual void toConsole();
- virtual void deserialize(Archive &archive);
- Sequence* findSequence(const Common::String &name);
- SequenceActorState *findSequenceActorState(const Common::String &name);
+ virtual void deserialize(Archive &archive);
+ Sequence* findSequence(const Common::String &name);
+ SequenceActorState *findSequenceActorState(const Common::String &name);
- void authorSequence(Sequence *sequence, bool unk);
+ void authorSequence(Sequence *sequence, bool unk);
- void removeContext(SequenceContext *context);
+ void removeContext(SequenceContext *context);
- void update();
+ void update();
- void skipSubSequence();
- void restartSequence();
- void skipToLastSubSequence();
+ void skipSubSequence();
+ void restartSequence();
+ void skipToLastSubSequence();
public:
- void updateTimers();
+ void updateTimers();
- SequenceContext *_context;
- // context array
- Array<Sequence*> _sequences;
- Array<SeqTimer*> _timers;
+ SequenceContext *_context;
+ // context array
+ Array<Sequence*> _sequences;
+ Array<SeqTimer*> _timers;
Common::String _currentSequenceName;
GamePage *_page;
- uint _time;
+ uint _time;
};
} // End of namespace Pink