[Scummvm-cvs-logs] SF.net SVN: scummvm:[44890] scummvm/trunk/engines/sci/engine/message.cpp
waltervn at users.sourceforge.net
waltervn at users.sourceforge.net
Sun Oct 11 05:40:12 CEST 2009
Revision: 44890
http://scummvm.svn.sourceforge.net/scummvm/?rev=44890&view=rev
Author: waltervn
Date: 2009-10-11 03:40:11 +0000 (Sun, 11 Oct 2009)
Log Message:
-----------
SCI: Fix bug in Message() recursion
Modified Paths:
--------------
scummvm/trunk/engines/sci/engine/message.cpp
Modified: scummvm/trunk/engines/sci/engine/message.cpp
===================================================================
--- scummvm/trunk/engines/sci/engine/message.cpp 2009-10-11 02:47:07 UTC (rev 44889)
+++ scummvm/trunk/engines/sci/engine/message.cpp 2009-10-11 03:40:11 UTC (rev 44890)
@@ -182,9 +182,9 @@
if (recurse) {
MessageTuple &ref = record.refTuple;
- if ((ref.noun != 0) && (ref.verb != 0) && (ref.cond != 0)) {
+ if (ref.noun || ref.verb || ref.cond) {
t.seq++;
- stack.push(MessageTuple(ref.noun, ref.verb, ref.cond));
+ stack.push(ref);
continue;
}
}
@@ -202,16 +202,14 @@
MessageRecord record;
if (!buf.isNull()) {
- MessageTuple &t = _cursorStack.top();
- Common::String finalStr;
-
if (getRecord(_cursorStack, true, record)) {
outputString(buf, processString(record.string));
_lastReturned = record.tuple;
_lastReturnedModule = _cursorStack.getModule();
- t.seq++;
+ _cursorStack.top().seq++;
return record.talker;
} else {
+ MessageTuple &t = _cursorStack.top();
outputString(buf, Common::String::printf("Msg %d: %d %d %d %d not found", _cursorStack.getModule(), t.noun, t.verb, t.cond, t.seq));
return 0;
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
More information about the Scummvm-git-logs
mailing list