[Scummvm-cvs-logs] SF.net SVN: scummvm:[55651] scummvm/trunk/engines/hugo
strangerke at users.sourceforge.net
strangerke at users.sourceforge.net
Sun Jan 30 08:53:45 CET 2011
Revision: 55651
http://scummvm.svn.sourceforge.net/scummvm/?rev=55651&view=rev
Author: strangerke
Date: 2011-01-30 07:53:44 +0000 (Sun, 30 Jan 2011)
Log Message:
-----------
HUGO: Fix a crash in maze and a bug in lineHandler()
Modified Paths:
--------------
scummvm/trunk/engines/hugo/parser_v1d.cpp
scummvm/trunk/engines/hugo/parser_v1w.cpp
scummvm/trunk/engines/hugo/parser_v2d.cpp
scummvm/trunk/engines/hugo/parser_v3d.cpp
Modified: scummvm/trunk/engines/hugo/parser_v1d.cpp
===================================================================
--- scummvm/trunk/engines/hugo/parser_v1d.cpp 2011-01-30 02:18:53 UTC (rev 55650)
+++ scummvm/trunk/engines/hugo/parser_v1d.cpp 2011-01-30 07:53:44 UTC (rev 55651)
@@ -286,6 +286,9 @@
bool Parser_v1d::isCatchallVerb(bool testNounFl, char *noun, char *verb, objectList_t obj) {
debugC(1, kDebugParser, "isCatchallVerb(%d, %s, %s, object_list_t obj)", (testNounFl) ? 1 : 0, noun, verb);
+ if (_maze.enabledFl)
+ return false;
+
if (testNounFl && !noun)
return false;
Modified: scummvm/trunk/engines/hugo/parser_v1w.cpp
===================================================================
--- scummvm/trunk/engines/hugo/parser_v1w.cpp 2011-01-30 02:18:53 UTC (rev 55650)
+++ scummvm/trunk/engines/hugo/parser_v1w.cpp 2011-01-30 07:53:44 UTC (rev 55651)
@@ -175,6 +175,7 @@
return;
if (isCatchallVerb(_vm->_backgroundObjects[*_vm->_screen_p]))
return;
+
if (isBackgroundWord(_vm->_catchallList))
return;
if (isCatchallVerb(_vm->_catchallList))
Modified: scummvm/trunk/engines/hugo/parser_v2d.cpp
===================================================================
--- scummvm/trunk/engines/hugo/parser_v2d.cpp 2011-01-30 02:18:53 UTC (rev 55650)
+++ scummvm/trunk/engines/hugo/parser_v2d.cpp 2011-01-30 07:53:44 UTC (rev 55651)
@@ -116,8 +116,7 @@
if (!strcmp("exit", _vm->_line) || strstr(_vm->_line, "quit")) {
if (Utils::Box(kBoxYesNo, "%s", _vm->_text->getTextParser(kTBExit_1d)) != 0)
_vm->endGame();
- else
- return;
+ return;
}
// SAVE/RESTORE
Modified: scummvm/trunk/engines/hugo/parser_v3d.cpp
===================================================================
--- scummvm/trunk/engines/hugo/parser_v3d.cpp 2011-01-30 02:18:53 UTC (rev 55650)
+++ scummvm/trunk/engines/hugo/parser_v3d.cpp 2011-01-30 07:53:44 UTC (rev 55651)
@@ -118,8 +118,7 @@
if (!strcmp("exit", _vm->_line) || strstr(_vm->_line, "quit")) {
if (Utils::Box(kBoxYesNo, "%s", _vm->_text->getTextParser(kTBExit_1d)) != 0)
_vm->endGame();
- else
- return;
+ return;
}
// SAVE/RESTORE
@@ -179,6 +178,7 @@
return;
if (isCatchallVerb(_vm->_backgroundObjects[*_vm->_screen_p]))
return;
+
if (isBackgroundWord(_vm->_catchallList))
return;
if (isCatchallVerb(_vm->_catchallList))
@@ -416,6 +416,9 @@
bool Parser_v3d::isCatchallVerb(objectList_t obj) {
debugC(1, kDebugParser, "isCatchallVerb(object_list_t obj)");
+ if (_maze.enabledFl)
+ return false;
+
for (int i = 0; obj[i].verbIndex != 0; i++) {
if (isWordPresent(_vm->_text->getVerbArray(obj[i].verbIndex)) && obj[i].nounIndex == 0 &&
(!obj[i].matchFl || !findNoun()) &&
@@ -441,6 +444,9 @@
bool Parser_v3d::isBackgroundWord(objectList_t obj) {
debugC(1, kDebugParser, "isBackgroundWord(object_list_t obj)");
+ if (_maze.enabledFl)
+ return false;
+
for (int i = 0; obj[i].verbIndex != 0; i++) {
if (isWordPresent(_vm->_text->getVerbArray(obj[i].verbIndex)) &&
isWordPresent(_vm->_text->getNounArray(obj[i].nounIndex)) &&
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