[Scummvm-cvs-logs] SF.net SVN: scummvm:[54794] scummvm/trunk/engines/mohawk

fuzzie at users.sourceforge.net fuzzie at users.sourceforge.net
Sun Dec 5 23:58:13 CET 2010


Revision: 54794
          http://scummvm.svn.sourceforge.net/scummvm/?rev=54794&view=rev
Author:   fuzzie
Date:     2010-12-05 22:58:13 +0000 (Sun, 05 Dec 2010)

Log Message:
-----------
MOHAWK: implement kLBNotifyChangeMode

Modified Paths:
--------------
    scummvm/trunk/engines/mohawk/livingbooks.cpp
    scummvm/trunk/engines/mohawk/livingbooks.h

Modified: scummvm/trunk/engines/mohawk/livingbooks.cpp
===================================================================
--- scummvm/trunk/engines/mohawk/livingbooks.cpp	2010-12-05 22:11:07 UTC (rev 54793)
+++ scummvm/trunk/engines/mohawk/livingbooks.cpp	2010-12-05 22:58:13 UTC (rev 54794)
@@ -1041,8 +1041,10 @@
 			debug(2, "kLBNotifyChangeMode: %d", event.param);
 			quitGame();
 		} else {
-			// FIXME
-			warning("ignoring V2/V3 kLBNotifyChangeMode");
+			// TODO: what is entry.newUnknown?
+			if (!loadPage((LBMode)event.newMode, event.newPage, event.newSubpage))
+				error("kLBNotifyChangeMode failed to move to mode %d, page %d.%d",
+					event.newMode, event.newPage, event.newSubpage);
 		}
 		break;
 
@@ -2050,7 +2052,14 @@
 
 			if (entry->opcode == kLBNotifyGUIAction)
 				_vm->addNotifyEvent(NotifyEvent(entry->opcode, _itemId));
-			else
+			else if (entry->opcode == kLBNotifyChangeMode && _vm->getGameType() != GType_LIVINGBOOKSV1) {
+				NotifyEvent event(entry->opcode, entry->param);
+				event.newUnknown = entry->newUnknown;
+				event.newMode = entry->newMode;
+				event.newPage = entry->newPage;
+				event.newSubpage = entry->newSubpage;
+				_vm->addNotifyEvent(event);
+			} else
 				_vm->addNotifyEvent(NotifyEvent(entry->opcode, entry->param));
 		} else {
 			if (entry->param != 0xffff) {

Modified: scummvm/trunk/engines/mohawk/livingbooks.h
===================================================================
--- scummvm/trunk/engines/mohawk/livingbooks.h	2010-12-05 22:11:07 UTC (rev 54793)
+++ scummvm/trunk/engines/mohawk/livingbooks.h	2010-12-05 22:58:13 UTC (rev 54794)
@@ -450,6 +450,12 @@
 	NotifyEvent(uint t, uint p) : type(t), param(p) { }
 	uint type;
 	uint param;
+
+	// kLBNotifyChangeMode
+	uint16 newUnknown;
+	uint16 newMode;
+	uint16 newPage;
+	uint16 newSubpage;
 };
 
 enum DelayedEventType {


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