[Scummvm-cvs-logs] CVS: scummvm/queen logic.cpp,1.48,1.49

Gregory Montoir cyx at users.sourceforge.net
Sat Oct 18 10:46:02 CEST 2003


Update of /cvsroot/scummvm/scummvm/queen
In directory sc8-pr-cvs1:/tmp/cvs-serv16154

Modified Files:
	logic.cpp 
Log Message:
fix bad access on areas

Index: logic.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/queen/logic.cpp,v
retrieving revision 1.48
retrieving revision 1.49
diff -u -d -r1.48 -r1.49
--- logic.cpp	18 Oct 2003 14:01:43 -0000	1.48
+++ logic.cpp	18 Oct 2003 17:42:24 -0000	1.49
@@ -331,6 +331,9 @@
 }
 
 Area *Logic::currentRoomArea(int num) {
+	if (num == 0 || num > _areaMax[_currentRoom]) {
+		error("Logic::currentRoomArea() - Bad area number = %d (max = %d), currentRoom = %d", num, _areaMax[_currentRoom], _currentRoom);
+	}
 	return &_area[_currentRoom][num];
 }
 
@@ -602,6 +605,7 @@
 
 void Logic::zoneSet(uint16 screen, uint16 zone, uint16 x1, uint16 y1, uint16 x2, uint16 y2) {
 
+	debug(9, "Logic::zoneSet(%d, %d, (%d,%d), (%d,%d))", screen, zone, x1, y1, x2, y2);
 	ZoneSlot *pzs = &_zones[screen][zone];
 	pzs->valid = true;
 	pzs->box.x1 = x1;
@@ -614,7 +618,6 @@
 void Logic::zoneSet(uint16 screen, uint16 zone, const Box& box) {
 	
 	debug(9, "Logic::zoneSet(%d, %d, (%d,%d), (%d,%d))", screen, zone, box.x1, box.y1, box.x2, box.y2);
-
 	ZoneSlot *pzs = &_zones[screen][zone];
 	pzs->valid = true;
 	pzs->box = box;
@@ -660,6 +663,7 @@
 
 void Logic::zoneSetup() {
 
+	debug(9, "Logic::zoneSetup()");
 	zoneClearAll(ZONE_ROOM);
 
 	int i;
@@ -1132,6 +1136,7 @@
 	sprintf(filename, "%s.BBK", room);
 	_graphics->bankLoad(filename, 15);
 
+	zoneSetup();
 	_numFrames = 37 + FRAMES_JOE_XTRA;
 	roomSetupFurniture();
 	roomSetupObjects();
@@ -1145,7 +1150,6 @@
 	roomErase();
 	// TODO: _sound->loadSFX(SFXNAME[_currentRoom]);
 	roomSetup(room, comPanel, inCutaway);
-	zoneSetup();
 	ObjectData *pod = NULL;
 	if (mode != RDM_FADE_NOJOE) {
 		pod = joeSetupInRoom(mode != RDM_FADE_JOE_XY, scale);





More information about the Scummvm-git-logs mailing list