aboutsummaryrefslogtreecommitdiff
path: root/engines/mohawk/riven_scripts.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/mohawk/riven_scripts.cpp')
-rw-r--r--engines/mohawk/riven_scripts.cpp12
1 files changed, 4 insertions, 8 deletions
diff --git a/engines/mohawk/riven_scripts.cpp b/engines/mohawk/riven_scripts.cpp
index 6c744fca41..1445731199 100644
--- a/engines/mohawk/riven_scripts.cpp
+++ b/engines/mohawk/riven_scripts.cpp
@@ -766,20 +766,16 @@ RivenStackChangeCommand *RivenStackChangeCommand::createFromStream(MohawkEngine_
}
void RivenStackChangeCommand::execute() {
- int16 stackID = -1;
+ uint16 stackID;
if (_byStackId) {
stackID = _stackId;
} else {
Common::String stackName = _vm->getStack()->getName(kStackNames, _stackId);
- for (byte i = kStackFirst; i < kStackLast; i++)
- if (_vm->getStackName(i).equalsIgnoreCase(stackName)) {
- stackID = i;
- break;
- }
-
- if (stackID == -1)
+ stackID = RivenStacks::getId(stackName.c_str());
+ if (stackID == kStackUnknown) {
error ("'%s' is not a stack name!", stackName.c_str());
+ }
}
_vm->changeToStack(stackID);