[Scummvm-cvs-logs] SF.net SVN: scummvm:[54639] scummvm/trunk/engines/mohawk
bgk at users.sourceforge.net
bgk at users.sourceforge.net
Mon Nov 29 22:01:30 CET 2010
Revision: 54639
http://scummvm.svn.sourceforge.net/scummvm/?rev=54639&view=rev
Author: bgk
Date: 2010-11-29 21:01:30 +0000 (Mon, 29 Nov 2010)
Log Message:
-----------
MOHAWK: Implement retrieving the invoking resource from data for init and exit scripts.
Modified Paths:
--------------
scummvm/trunk/engines/mohawk/myst_scripts.cpp
scummvm/trunk/engines/mohawk/myst_scripts.h
Modified: scummvm/trunk/engines/mohawk/myst_scripts.cpp
===================================================================
--- scummvm/trunk/engines/mohawk/myst_scripts.cpp 2010-11-29 21:01:15 UTC (rev 54638)
+++ scummvm/trunk/engines/mohawk/myst_scripts.cpp 2010-11-29 21:01:30 UTC (rev 54639)
@@ -41,7 +41,7 @@
var = 0;
argc = 0;
argv = 0;
- u0 = 0;
+ resourceId = 0;
u1 = 0;
}
@@ -154,12 +154,17 @@
}
void MystScriptParser::runScript(MystScript script, MystResource *invokingResource) {
- _invokingResource = invokingResource;
-
debugC(kDebugScript, "Script Size: %d", script->size());
for (uint16 i = 0; i < script->size(); i++) {
MystScriptEntry &entry = script->operator[](i);
debugC(kDebugScript, "\tOpcode %d: %d", i, entry.opcode);
+
+ if (entry.type == kMystScriptNormal) {
+ _invokingResource = invokingResource;
+ } else {
+ _invokingResource = _vm->_resources[entry.resourceId];
+ }
+
runOpcode(entry.opcode, entry.var, entry.argc, entry.argv);
}
}
@@ -202,7 +207,7 @@
// u0 only exists in INIT and EXIT scripts
if (type != kMystScriptNormal)
- entry.u0 = stream->readUint16LE();
+ entry.resourceId = stream->readUint16LE();
entry.opcode = stream->readUint16LE();
entry.var = stream->readUint16LE();
Modified: scummvm/trunk/engines/mohawk/myst_scripts.h
===================================================================
--- scummvm/trunk/engines/mohawk/myst_scripts.h 2010-11-29 21:01:15 UTC (rev 54638)
+++ scummvm/trunk/engines/mohawk/myst_scripts.h 2010-11-29 21:01:30 UTC (rev 54639)
@@ -49,7 +49,7 @@
~MystScriptEntry();
MystScriptType type;
- uint16 u0;
+ uint16 resourceId;
uint16 opcode;
uint16 var;
uint16 argc;
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