[Scummvm-cvs-logs] CVS: scummvm/scumm script_v90he.cpp,2.87,2.88
Gregory Montoir
cyx at users.sourceforge.net
Sat Oct 9 09:43:54 CEST 2004
- Previous message: [Scummvm-cvs-logs] CVS: scummvm/scumm intern.h,2.297,2.298 script_v100he.cpp,2.2,2.3 script_v7he.cpp,2.102,2.103 script_v90he.cpp,2.86,2.87
- Next message: [Scummvm-cvs-logs] CVS: web/news 20040930.xml,1.2,1.3
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
Update of /cvsroot/scummvm/scummvm/scumm
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv6878/scumm
Modified Files:
script_v90he.cpp
Log Message:
ScummEngine_v90he::processWizImage() cases 3 & 4
Index: script_v90he.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/script_v90he.cpp,v
retrieving revision 2.87
retrieving revision 2.88
diff -u -d -r2.87 -r2.88
--- script_v90he.cpp 9 Oct 2004 16:10:53 -0000 2.87
+++ script_v90he.cpp 9 Oct 2004 16:41:35 -0000 2.88
@@ -563,9 +563,55 @@
case 1:
displayWizComplexImage(params);
break;
- case 2:
case 3:
+ if (params->processFlags & 0x800) {
+ File f;
+ if (!f.open((const char *)params->filename, File::kFileReadMode)) {
+ warning("Unable to open for read '%s'", params->filename);
+ } else {
+ uint32 id = f.readUint32BE();
+ if (id != MKID('AWIZ') && id != MKID('MULT')) {
+ VAR(0x20) = -1;
+ } else {
+ uint32 size = f.readUint32BE();
+ f.seek(0, SEEK_SET);
+ byte *p = createResource(rtImage, params->img.resNum, size);
+ if (f.read(p, size) != size) {
+ nukeResource(rtImage, params->img.resNum);
+ warning("i/o error when reading '%s'", params->filename);
+ VAR(0x20) = -2;
+ } else {
+ VAR(0x20) = 0;
+ }
+ }
+ f.close();
+ }
+ }
+ break;
case 4:
+ if (params->processFlags & 0x800) {
+ if (params->unk_14C != 0) {
+ VAR(0x77) = -1;
+ } else {
+ File f;
+ if (!f.open((const char *)params->filename, File::kFileWriteMode)) {
+ warning("Unable to open for write '%s'", params->filename);
+ VAR(0x77) = -3;
+ } else {
+ byte *p = getResourceAddress(rtImage, params->img.resNum);
+ uint32 size = READ_BE_UINT32(p + 4);
+ if (f.write(p, size) != size) {
+ warning("i/o error when writing '%s'", params->filename);
+ VAR(0x77) = -2;
+ } else {
+ VAR(0x77) = 0;
+ }
+ f.close();
+ }
+ }
+ }
+ break;
+ case 2:
case 6:
// HE 99+
case 7:
- Previous message: [Scummvm-cvs-logs] CVS: scummvm/scumm intern.h,2.297,2.298 script_v100he.cpp,2.2,2.3 script_v7he.cpp,2.102,2.103 script_v90he.cpp,2.86,2.87
- Next message: [Scummvm-cvs-logs] CVS: web/news 20040930.xml,1.2,1.3
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
More information about the Scummvm-git-logs
mailing list