[Scummvm-cvs-logs] CVS: scummvm/scumm script_v6.cpp,1.293,1.294
Eugene Sandulenko
sev at users.sourceforge.net
Sat Feb 14 06:55:02 CET 2004
Update of /cvsroot/scummvm/scummvm/scumm
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv24775
Modified Files:
script_v6.cpp
Log Message:
Implementation of o6_unknownE4
Index: script_v6.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/script_v6.cpp,v
retrieving revision 1.293
retrieving revision 1.294
diff -u -d -r1.293 -r1.294
--- script_v6.cpp 13 Feb 2004 01:06:31 -0000 1.293
+++ script_v6.cpp 14 Feb 2004 14:48:14 -0000 1.294
@@ -3113,7 +3113,37 @@
}
void ScummEngine_v6::o6_unknownE4() {
- warning("o6_unknownE4(%d) stub", pop());
+ int arg = pop();
+ const byte *room = getResourceAddress(rtRoom, _roomResource);
+ const byte *boxd = room;
+ const byte *boxm = room;
+ int32 dboxSize, mboxSize;
+
+ for (int i = 0; i < arg; i++)
+ boxd = findResource(MKID('BOXD'), boxd);
+
+ if (!boxd)
+ error("ScummEngine_v6::o6_unknownE4: Can't find boxes for set %d", arg);
+
+ dboxSize = READ_BE_UINT32(boxd + 4);
+ byte *matrix = createResource(rtMatrix, 2, dboxSize);
+
+ assert(matrix);
+ memcpy(matrix, boxd, dboxSize);
+
+ for (int i = 0; i < arg; i++)
+ boxm = findResource(MKID('BOXM'), boxm);
+
+ if (!boxm)
+ error("ScummEngine_v6::o6_unknownE4: Can't find boxes for set %d", arg);
+
+ mboxSize = READ_BE_UINT32(boxd + 4);
+ matrix = createResource(rtMatrix, 1, mboxSize);
+
+ assert(matrix);
+ memcpy(matrix, boxm, mboxSize);
+
+ showActors();
}
void ScummEngine_v6::decodeParseString(int m, int n) {
More information about the Scummvm-git-logs
mailing list