diff options
-rw-r--r-- | engines/tucker/tucker.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/engines/tucker/tucker.cpp b/engines/tucker/tucker.cpp index 766172c87f..092bd74a47 100644 --- a/engines/tucker/tucker.cpp +++ b/engines/tucker/tucker.cpp @@ -3088,6 +3088,11 @@ int TuckerEngine::readTableInstructionCode(int *index) { } int TuckerEngine::readTableInstructionParam(int len) { + // skip duplicated minus signs (bua,--1, c0a,--1, ...) + if (len >= 3 && memcmp(_tableInstructionsPtr, "--", 2) == 0) { + ++_tableInstructionsPtr; + --len; + } char *end = 0; const int param = strtol((const char *)_tableInstructionsPtr, &end, 10); if (end != (const char *)_tableInstructionsPtr + len) { |