diff options
-rw-r--r-- | engines/hdb/ai-cinematic.cpp | 27 |
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); |