aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engines/hdb/ai-cinematic.cpp27
1 files changed, 27 insertions, 0 deletions
diff --git a/engines/hdb/ai-cinematic.cpp b/engines/hdb/ai-cinematic.cpp
index dd1f1e641e..45b58b4910 100644
--- a/engines/hdb/ai-cinematic.cpp
+++ b/engines/hdb/ai-cinematic.cpp
@@ -198,6 +198,33 @@ void AI::processCines() {
}
}
break;
+ case C_ANIMENTITY:
+ AIEntity *e;
+ if (!_cine[i]->start) {
+ e = locateEntity(_cine[i]->title);
+ if (e) {
+ _cine[i]->e = e;
+ e->state = (AIState)_cine[i]->speed;
+ _cine[i]->start = 1;
+ if (_cine[i]->end) // Loop ?
+ complete = true;
+ e->animFrame = 0;
+ e->animDelay = e->animCycle;
+ animEntFrames(e);
+ } else {
+ warning("Can't locate '%s' in animEntity", _cine[i]->title);
+ complete = true;
+ }
+ } else {
+ e = _cine[i]->e;
+ if (!e->animFrame && e->animDelay == e->animCycle) {
+ e->state = STATE_STANDDOWN;
+ e->animFrame = 0;
+ e->animDelay = e->animCycle;
+ complete = true;
+ }
+ }
+ break;
case C_ENTITYFACE:
{
AIEntity *e = locateEntity(_cine[i]->title);