[Scummvm-cvs-logs] scummvm master -> 485118ecd9640538337672e3a00bb312803da666
digitall
dgturner at iee.org
Sun Jul 14 06:06:53 CEST 2013
This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
485118ecd9 TUCKER: Add support for skipping unhandled/invalid instructions.
Commit: 485118ecd9640538337672e3a00bb312803da666
https://github.com/scummvm/scummvm/commit/485118ecd9640538337672e3a00bb312803da666
Author: D G Turner (digitall at scummvm.org)
Date: 2013-07-13T21:07:11-07:00
Commit Message:
TUCKER: Add support for skipping unhandled/invalid instructions.
This ensures that if any unhandled/invalid instructions are present,
they are skipped, rather than locking up engine execution.
This is a secondary fix for bug #3614697 - "Spanish version
uncompletable at end of 2nd part" and any other future bugs of this
type.
Changed paths:
engines/tucker/tucker.cpp
diff --git a/engines/tucker/tucker.cpp b/engines/tucker/tucker.cpp
index e3fd928..122be95 100644
--- a/engines/tucker/tucker.cpp
+++ b/engines/tucker/tucker.cpp
@@ -3064,8 +3064,9 @@ static const struct {
int TuckerEngine::readTableInstructionCode(int *index) {
bool match = false;
+ int nameLen = 0;
for (int i = 0; _instructions[i].name; ++i) {
- const int nameLen = strlen(_instructions[i].name);
+ nameLen = strlen(_instructions[i].name);
if (_instructions[i].name[1] == '0') {
if (_instructions[i].name[0] == _tableInstructionsPtr[0] && _instructions[i].name[2] == _tableInstructionsPtr[2]) {
const char digit = _tableInstructionsPtr[1];
@@ -3085,6 +3086,7 @@ int TuckerEngine::readTableInstructionCode(int *index) {
}
}
warning("Unhandled instruction '%c%c%c'", _tableInstructionsPtr[0], _tableInstructionsPtr[1], _tableInstructionsPtr[2]);
+ _tableInstructionsPtr += nameLen + 1;
return kCode_invalid;
}
More information about the Scummvm-git-logs
mailing list