diff options
author | Nipun Garg | 2019-06-24 03:03:13 +0530 |
---|---|---|
committer | Eugene Sandulenko | 2019-09-03 17:16:58 +0200 |
commit | 2f54ef2f7f5f5c2c755e61b70a2333161bc4b112 (patch) | |
tree | e6c7f64b6ee1e674062cba8e70625243381680d4 | |
parent | 812878661af5aa502555c1e87e90c09dfafe5928 (diff) | |
download | scummvm-rg350-2f54ef2f7f5f5c2c755e61b70a2333161bc4b112.tar.gz scummvm-rg350-2f54ef2f7f5f5c2c755e61b70a2333161bc4b112.tar.bz2 scummvm-rg350-2f54ef2f7f5f5c2c755e61b70a2333161bc4b112.zip |
HDB: Process cineAnimEntity()
-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); |