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

bgk at users.sourceforge.net bgk at users.sourceforge.net
Mon Nov 29 22:01:02 CET 2010


Revision: 54637
          http://scummvm.svn.sourceforge.net/scummvm/?rev=54637&view=rev
Author:   bgk
Date:     2010-11-29 21:01:02 +0000 (Mon, 29 Nov 2010)

Log Message:
-----------
MOHAWK: Complete the list of stack / start cards.
Fix linking back from another age.

Modified Paths:
--------------
    scummvm/trunk/engines/mohawk/myst_scripts.cpp

Modified: scummvm/trunk/engines/mohawk/myst_scripts.cpp
===================================================================
--- scummvm/trunk/engines/mohawk/myst_scripts.cpp	2010-11-29 21:00:49 UTC (rev 54636)
+++ scummvm/trunk/engines/mohawk/myst_scripts.cpp	2010-11-29 21:01:02 UTC (rev 54637)
@@ -49,26 +49,32 @@
 	delete[] argv;
 }
 
-const uint8 MystScriptParser::stack_map[8] = {
+const uint8 MystScriptParser::stack_map[11] = {
 	kSeleniticStack,
 	kStoneshipStack,
 	kMystStack,
 	kMechanicalStack,
 	kChannelwoodStack,
-	0x0f,
+	kIntroStack,
 	kDniStack,
+	kMystStack,
+	kCreditsStack,
+	kMystStack,
 	kMystStack
 };
 
-const uint16 MystScriptParser::start_card[8] = {
+const uint16 MystScriptParser::start_card[11] = {
 	1282,
 	2029,
 	4396,
 	6122,
 	3137,
-	0,
+	1,
 	5038,
-	4134
+	4134,
+	10000,
+	4739,
+	4741
 };
 
 // NOTE: Credits Start Card is 10000
@@ -854,12 +860,16 @@
 				_vm->_system->delayMillis(10);
 
 			// TODO: Play Flyby Entry Movie on Masterpiece Edition..? Only on Myst to Age Link?
-			_vm->changeToStack(stack_map[targetStack]);
-			_vm->changeToCard(start_card[targetStack], true);
 
-			handle = _vm->_sound->playSound(soundIdLinkDst);
-			while (_vm->_mixer->isSoundHandleActive(*handle))
-				_vm->_system->delayMillis(10);
+			// TODO: Fix properly. Past this point the class may have been destroyed
+			// and thus class instance data is not available anymore
+			MohawkEngine_Myst *vm = _vm;
+			vm->changeToStack(stack_map[targetStack]);
+			vm->changeToCard(start_card[targetStack], true);
+
+			handle = vm->_sound->playSound(soundIdLinkDst);
+			while (vm->_mixer->isSoundHandleActive(*handle))
+				vm->_system->delayMillis(10);
 		}
 	} else
 		unknown(op, var, argc, argv);


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