[Scummvm-cvs-logs] SF.net SVN: scummvm:[52654] scummvm/trunk/engines/sci/engine/kstring.cpp

lskovlun at users.sourceforge.net lskovlun at users.sourceforge.net
Thu Sep 9 14:44:35 CEST 2010


Revision: 52654
          http://scummvm.svn.sourceforge.net/scummvm/?rev=52654&view=rev
Author:   lskovlun
Date:     2010-09-09 12:44:34 +0000 (Thu, 09 Sep 2010)

Log Message:
-----------
SCI: Support push and pop subfunctions in kMessage()
Glossary seems to work now.

Modified Paths:
--------------
    scummvm/trunk/engines/sci/engine/kstring.cpp

Modified: scummvm/trunk/engines/sci/engine/kstring.cpp
===================================================================
--- scummvm/trunk/engines/sci/engine/kstring.cpp	2010-09-09 12:01:04 UTC (rev 52653)
+++ scummvm/trunk/engines/sci/engine/kstring.cpp	2010-09-09 12:44:34 UTC (rev 52654)
@@ -486,10 +486,12 @@
 	}
 #endif
 
-	if ((func != K_MESSAGE_NEXT) && (argc < 2)) {
-		warning("Message: not enough arguments passed to subfunction %d", func);
-		return NULL_REG;
-	}
+//	TODO: Perhaps fix this check, currently doesn't work with PUSH and POP subfunctions
+//	Pepper uses them to to handle the glossary
+//	if ((func != K_MESSAGE_NEXT) && (argc < 2)) {
+//		warning("Message: not enough arguments passed to subfunction %d", func);
+//		return NULL_REG;
+//	}
 
 	MessageTuple tuple;
 
@@ -558,6 +560,12 @@
 
 		return NULL_REG;
 	}
+	case K_MESSAGE_PUSH:
+		s->_msgState->pushCursorStack();
+		break;
+	case K_MESSAGE_POP:
+		s->_msgState->popCursorStack();
+		break;
 	default:
 		warning("Message: subfunction %i invoked (not implemented)", func);
 	}


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