diff options
author | whitertandrek | 2018-03-25 22:32:07 +0300 |
---|---|---|
committer | Eugene Sandulenko | 2018-06-28 23:51:32 +0200 |
commit | 0e39a87862253841e133a8f098b492cd4f5dd255 (patch) | |
tree | 1f5c994f379880bc4b65937e93e8997df21895e2 /engines/pink/objects/actors | |
parent | c6df869fec46858d25d294854c1e446ca47fd85d (diff) | |
download | scummvm-rg350-0e39a87862253841e133a8f098b492cd4f5dd255.tar.gz scummvm-rg350-0e39a87862253841e133a8f098b492cd4f5dd255.tar.bz2 scummvm-rg350-0e39a87862253841e133a8f098b492cd4f5dd255.zip |
PINK: Implemented changing page and module, but without unloading old page. For now it can play logo of Wanderlust Interactive, then logo of MGM and Localizer Logo.
Diffstat (limited to 'engines/pink/objects/actors')
-rw-r--r-- | engines/pink/objects/actors/actor.cpp | 5 | ||||
-rw-r--r-- | engines/pink/objects/actors/actor.h | 2 | ||||
-rw-r--r-- | engines/pink/objects/actors/lead_actor.cpp | 14 | ||||
-rw-r--r-- | engines/pink/objects/actors/lead_actor.h | 1 |
4 files changed, 20 insertions, 2 deletions
diff --git a/engines/pink/objects/actors/actor.cpp b/engines/pink/objects/actors/actor.cpp index e612c83ae6..ba270ff7a5 100644 --- a/engines/pink/objects/actors/actor.cpp +++ b/engines/pink/objects/actors/actor.cpp @@ -108,14 +108,15 @@ Action *Actor::getAction() const { } bool Actor::isPlaying() { - return _isActionEnded; + return !_isActionEnded; } bool Actor::initPallete(Director *director) { for (int i = 0; i < _actions.size(); ++i) { if (_actions[i]->initPallete(director)) - break; + return true; } + return false; } } // End of namespace Pink diff --git a/engines/pink/objects/actors/actor.h b/engines/pink/objects/actors/actor.h index dd75183251..2dc9769275 100644 --- a/engines/pink/objects/actors/actor.h +++ b/engines/pink/objects/actors/actor.h @@ -59,6 +59,8 @@ public: bool initPallete(Director *director); + void update() {}; + protected: GamePage *_page; Action *_action; diff --git a/engines/pink/objects/actors/lead_actor.cpp b/engines/pink/objects/actors/lead_actor.cpp index 88c579c5c2..43e144be1f 100644 --- a/engines/pink/objects/actors/lead_actor.cpp +++ b/engines/pink/objects/actors/lead_actor.cpp @@ -50,6 +50,7 @@ void LeadActor::init(bool unk) { _state = kReady; } _page->getModule()->getInventoryMgr()->setLeadActor(this); + _page->getGame()->setLeadActor(this); Actor::init(unk); } @@ -64,6 +65,19 @@ LeadActor::State LeadActor::getState() const { return _state; } +void LeadActor::update() { + switch (_state) { + case kPlayingVideo: + _sequencer->update(); + if (!_sequencer->_context){ + _state = kUnk_Loading; + _page->getGame()->changeScene(_page); + } + default: + break; + } +} + void ParlSqPink::toConsole() { debug("ParlSqPink: _name = %s", _name.c_str()); for (int i = 0; i < _actions.size(); ++i) { diff --git a/engines/pink/objects/actors/lead_actor.h b/engines/pink/objects/actors/lead_actor.h index 319c3f7deb..d7c45e02bd 100644 --- a/engines/pink/objects/actors/lead_actor.h +++ b/engines/pink/objects/actors/lead_actor.h @@ -54,6 +54,7 @@ public: State getState() const; void start(bool isHandler); + void update(); private: State _state; |