aboutsummaryrefslogtreecommitdiff
path: root/engines/pink/objects/actors
diff options
context:
space:
mode:
authorwhitertandrek2018-03-25 22:32:07 +0300
committerEugene Sandulenko2018-06-28 23:51:32 +0200
commit0e39a87862253841e133a8f098b492cd4f5dd255 (patch)
tree1f5c994f379880bc4b65937e93e8997df21895e2 /engines/pink/objects/actors
parentc6df869fec46858d25d294854c1e446ca47fd85d (diff)
downloadscummvm-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.cpp5
-rw-r--r--engines/pink/objects/actors/actor.h2
-rw-r--r--engines/pink/objects/actors/lead_actor.cpp14
-rw-r--r--engines/pink/objects/actors/lead_actor.h1
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;