[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