aboutsummaryrefslogtreecommitdiff
path: root/engines/mohawk/cstime.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/mohawk/cstime.cpp')
-rw-r--r--engines/mohawk/cstime.cpp24
1 files changed, 24 insertions, 0 deletions
diff --git a/engines/mohawk/cstime.cpp b/engines/mohawk/cstime.cpp
index 6d4b370a30..44c61176be 100644
--- a/engines/mohawk/cstime.cpp
+++ b/engines/mohawk/cstime.cpp
@@ -310,6 +310,24 @@ void MohawkEngine_CSTime::eventIdle() {
}
break;
+ case kCSTimeEventCharSomeNIS55:
+ // This is like kCSTimeEventCharPlayNIS, only using a different flag variable.
+ if (_processingNIS55) {
+ CSTimeChar *chr = _case->getCurrScene()->getChar(event.param1);
+ if (chr->NISIsDone()) {
+ chr->removeNIS();
+ _processingNIS55 = false;
+ chr->setupAmbientAnims(true);
+ _events.pop_front();
+ processEvent = false;
+ } else {
+ done = true;
+ }
+ } else {
+ advanceQueue = false;
+ }
+ break;
+
default:
break;
}
@@ -350,6 +368,7 @@ bool MohawkEngine_CSTime::NISIsRunning() {
void MohawkEngine_CSTime::reset() {
_NISRunning = false;
+ _processingNIS55 = false;
_lastTimeout = 0xffffffff;
_processingEvent = false;
}
@@ -531,6 +550,11 @@ void MohawkEngine_CSTime::triggerEvent(CSTimeEvent &event) {
// FIXME
break;
+ case kCSTimeEventCharSomeNIS55:
+ _processingNIS55 = true;
+ _case->getCurrScene()->getChar(event.param1)->playNIS(event.param2);
+ break;
+
case kCSTimeEventUpdateBubble:
switch (event.param2) {
case 0: