[Scummvm-cvs-logs] CVS: scummvm/scumm gfx.cpp,1.87,1.88 object.cpp,1.24,1.25 vars.cpp,1.9,1.10
Max Horn
fingolfin at users.sourceforge.net
Tue Dec 24 07:28:04 CET 2002
Update of /cvsroot/scummvm/scummvm/scumm
In directory sc8-pr-cvs1:/tmp/cvs-serv7734
Modified Files:
gfx.cpp object.cpp vars.cpp
Log Message:
some hacks to get V8 loading further. It now fails because it can't find the SMAP resource
Index: gfx.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/gfx.cpp,v
retrieving revision 1.87
retrieving revision 1.88
diff -u -d -r1.87 -r1.88
--- gfx.cpp 24 Dec 2002 07:53:29 -0000 1.87
+++ gfx.cpp 24 Dec 2002 15:27:26 -0000 1.88
@@ -668,7 +668,7 @@
gfxUsageBits[s + i] |= 0x80000000;
gdi.drawBitmap(getResourceAddress(rtRoom, _roomResource) + _IM00_offs,
- &virtscr[0], s, 0, virtscr[0].height, s, num, 0);
+ &virtscr[0], s, 0, virtscr[0].height, s, num, 0);
}
void Scumm::restoreCharsetBg()
@@ -1708,7 +1708,10 @@
&& _vars[VAR_SCROLL_SCRIPT]) {
_vars[VAR_CAMERA_POS_X] = camera._cur.x;
_vars[VAR_CAMERA_POS_Y] = camera._cur.y;
- runScript(_vars[VAR_SCROLL_SCRIPT], 0, 0, 0);
+ // FIXME - HACK - for now disable scroll script in V8, until we figure out
+ // what value VAR_SCROLL_SCRIPT has.
+ if (!(_features & GF_AFTER_V8))
+ runScript(_vars[VAR_SCROLL_SCRIPT], 0, 0, 0);
}
} else {
int t;
Index: object.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/object.cpp,v
retrieving revision 1.24
retrieving revision 1.25
diff -u -d -r1.24 -r1.25
--- object.cpp 24 Dec 2002 12:49:25 -0000 1.24
+++ object.cpp 24 Dec 2002 15:27:26 -0000 1.25
@@ -402,7 +402,8 @@
RoomHeader *roomhdr;
CodeHeader *cdhd;
- CHECK_HEAP room = getResourceAddress(rtRoom, _roomResource);
+ CHECK_HEAP
+ room = getResourceAddress(rtRoom, _roomResource);
roomhdr = (RoomHeader *)findResourceData(MKID('RMHD'), room);
if (_features & GF_AFTER_V8)
@@ -459,8 +460,8 @@
imhd = (ImageHeader *)findResourceData(MKID('IMHD'), ptr);
if (_features & GF_AFTER_V8)
// FIXME - in v8, IMHD seems to contain no obj_id, but rather a name string
- obim_id = 0;
-// obim_id = READ_LE_UINT32(&imhd->v8.obj_id);
+ // EVIL HACK to allow loading of the first COMI room
+ obim_id = 1373 + i;
else if (_features & GF_AFTER_V7)
obim_id = READ_LE_UINT16(&imhd->v7.obj_id);
else
@@ -473,13 +474,12 @@
searchptr = NULL;
}
- od = &_objs[1];
-
- for (i = 1; i <= _numObjectsInRoom; i++, od++) {
- setupRoomObject(od, room);
+ for (i = 1; i <= _numObjectsInRoom; i++) {
+ setupRoomObject(&_objs[i], room);
}
-CHECK_HEAP}
+ CHECK_HEAP
+}
void Scumm::loadRoomObjectsSmall()
{
@@ -541,7 +541,8 @@
setupRoomObject(od, room);
}
-CHECK_HEAP}
+ CHECK_HEAP
+}
void Scumm::setupRoomObject(ObjectData *od, byte *room)
{
@@ -574,15 +575,13 @@
od->actordir = (*(ptr + 17)) & 7;
od->height = *(ptr + 17); // ok
-
-
return;
}
- if (_features & GF_AFTER_V8)
- searchptr = getResourceAddress(rtRoomScripts, _roomResource);
- else
- searchptr = room;
+ if (_features & GF_AFTER_V8)
+ searchptr = getResourceAddress(rtRoomScripts, _roomResource);
+ else
+ searchptr = room;
cdhd = (CodeHeader *)findResourceData(MKID('CDHD'), searchptr + od->offs_obcd_to_room);
if (cdhd == NULL)
Index: vars.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/vars.cpp,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -d -r1.9 -r1.10
--- vars.cpp 23 Dec 2002 18:30:12 -0000 1.9
+++ vars.cpp 24 Dec 2002 15:27:27 -0000 1.10
@@ -232,4 +232,19 @@
VAR_PAUSE_KEY = 64; // ???
VAR_SAVELOADDIALOG_KEY = 65; // ???
+
+
+ // FIXME - HACK: no clue where these really are located, but we need to put them
+ // somewhere so that camera clamping works. So for now just assume they are on their
+ // V6 positions (which is somewhat unlikely, considering most stuff moved...)
+ VAR_CAMERA_MIN_X = 101;
+ VAR_CAMERA_MAX_X = 102;
+ VAR_CAMERA_MIN_Y = 103;
+ VAR_CAMERA_MAX_Y = 104;
+ VAR_CAMERA_THRESHOLD_X = 105;
+ VAR_CAMERA_THRESHOLD_Y = 106;
+ VAR_CAMERA_SPEED_X = 107;
+ VAR_CAMERA_SPEED_Y = 108;
+ VAR_CAMERA_ACCEL_X = 109;
+ VAR_CAMERA_ACCEL_Y = 110;
}
More information about the Scummvm-git-logs
mailing list