[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