[Scummvm-cvs-logs] CVS: scummex image.cpp,1.9,1.10
Adrien Mercier
yoshizf at users.sourceforge.net
Mon Sep 22 14:32:06 CEST 2003
- Previous message: [Scummvm-cvs-logs] CVS: scummex image.cpp,1.8,1.9 resource.cpp,1.13,1.14 resource.h,1.6,1.7 scummex.cpp,1.16,1.17 wxwindows.cpp,1.13,1.14
- Next message: [Scummvm-cvs-logs] CVS: scummvm/common scaler.cpp,1.40,1.41
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
Update of /cvsroot/scummvm/scummex
In directory sc8-pr-cvs1:/tmp/cvs-serv2689
Modified Files:
image.cpp
Log Message:
Added support for v8 boxes
Index: image.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummex/image.cpp,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -d -r1.9 -r1.10
--- image.cpp 22 Sep 2003 19:47:58 -0000 1.9
+++ image.cpp 22 Sep 2003 21:31:18 -0000 1.10
@@ -107,31 +107,56 @@
}
int Image::drawBoxes(BlockTable *_blockTable, int id, File& _input, int newWindow) {
- int nBox, RMHDindex, width, height;
+ int nBox, RMHDindex, width, height, v8 = 0;
RMHDindex = _resource->findBlock(0, _blockTable, id, "RMHD", "-1");
width = _blockTable[RMHDindex].width;
height = _blockTable[RMHDindex].height;
- if (newWindow == 0)
- id = _resource->findBlock(0, _blockTable, id, "BOXD", "-1");
+ if (newWindow == 0) {
+ if ( _resource->findBlock(0, _blockTable, id, "IMAG", "-1") != -1) {
+ v8 = 1;
+ id = _resource->findBlock(1, _blockTable, id, "BOXD", "-1");
+ } else {
+ id = _resource->findBlock(0, _blockTable, id, "BOXD", "-1");
+ }
+ }
- _input.seek(_blockTable[id].offset + 10, SEEK_SET);
+ if (v8) {
+ _input.seek(_blockTable[id].offset + 12, SEEK_SET);
+ } else {
+ _input.seek(_blockTable[id].offset + 10, SEEK_SET);
+ }
nBox = _blockTable[id].numFiles;
- for (int i=0; i<nBox; i++) {
- _points[i][0].x = _input.readUint16LE();
- _points[i][0].y = _input.readUint16LE();
- _points[i][1].x = _input.readUint16LE();
- _points[i][1].y = _input.readUint16LE();
- _points[i][2].x = _input.readUint16LE();
- _points[i][2].y = _input.readUint16LE();
- _points[i][3].x = _input.readUint16LE();
- _points[i][3].y = _input.readUint16LE();
- _input.readUint16LE();
- _input.readUint16LE();
+ if (v8) {
+ for (int i=0; i<nBox; i++) {
+ _points[i][0].x = (short)_input.readUint32LE();
+ _points[i][0].y = (short)_input.readUint32LE();
+ _points[i][1].x = (short)_input.readUint32LE();
+ _points[i][1].y = (short)_input.readUint32LE();
+ _points[i][2].x = (short)_input.readUint32LE();
+ _points[i][2].y = (short)_input.readUint32LE();
+ _points[i][3].x = (short)_input.readUint32LE();
+ _points[i][3].y = (short)_input.readUint32LE();
+ _input.seek(20, SEEK_CUR);
+ }
+ } else {
+ for (int i=0; i<nBox; i++) {
+ _points[i][0].x = _input.readUint16LE();
+ _points[i][0].y = _input.readUint16LE();
+ _points[i][1].x = _input.readUint16LE();
+ _points[i][1].y = _input.readUint16LE();
+ _points[i][2].x = _input.readUint16LE();
+ _points[i][2].y = _input.readUint16LE();
+ _points[i][3].x = _input.readUint16LE();
+ _points[i][3].y = _input.readUint16LE();
+ _input.readUint16LE();
+ _input.readUint16LE();
+ }
}
+
if (newWindow == 1) {
_gui->DisplayImage("Boxes", width, height);
- Previous message: [Scummvm-cvs-logs] CVS: scummex image.cpp,1.8,1.9 resource.cpp,1.13,1.14 resource.h,1.6,1.7 scummex.cpp,1.16,1.17 wxwindows.cpp,1.13,1.14
- Next message: [Scummvm-cvs-logs] CVS: scummvm/common scaler.cpp,1.40,1.41
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
More information about the Scummvm-git-logs
mailing list