[Scummvm-cvs-logs] CVS: scummvm/queen cutaway.cpp,1.98,1.99 graphics.cpp,1.65,1.66 queen.cpp,1.66,1.67

Gregory Montoir cyx at users.sourceforge.net
Mon Jan 5 12:47:02 CET 2004


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

Modified Files:
	cutaway.cpp graphics.cpp queen.cpp 
Log Message:
- enabled debugger in QueenEngine::errorString
- initialise Cutaway::_personCount* when the Cutaway starts
- minor tweaks in BankManager


Index: cutaway.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/queen/cutaway.cpp,v
retrieving revision 1.98
retrieving revision 1.99
diff -u -d -r1.98 -r1.99
--- cutaway.cpp	5 Jan 2004 13:40:17 -0000	1.98
+++ cutaway.cpp	5 Jan 2004 20:46:37 -0000	1.99
@@ -788,8 +788,6 @@
 
 	Person p;
 
-	_personFaceCount = 0;	//Hello, please verify me. (Fixes crash on OSX)
-
 	if (object.objectNumber == OBJECT_JOE) {
 		if (object.moveToX || object.moveToY) {
 			_vm->walk()->moveJoe(0, object.moveToX, object.moveToY, true);
@@ -873,6 +871,9 @@
 	if (_comPanel == 0 || _comPanel == 2) {
 		_vm->logic()->sceneStart();
 	}
+
+	memset(_personFace, 0, sizeof(_personFace));
+	_personFaceCount = 0;
 
 	byte *ptr = _objectData;
 

Index: graphics.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/queen/graphics.cpp,v
retrieving revision 1.65
retrieving revision 1.66
diff -u -d -r1.65 -r1.66
--- graphics.cpp	5 Jan 2004 13:40:23 -0000	1.65
+++ graphics.cpp	5 Jan 2004 20:46:37 -0000	1.66
@@ -225,22 +225,18 @@
 
 void BankManager::unpack(uint32 srcframe, uint32 dstframe, uint32 bankslot) {
 	debug(9, "BankManager::unpack(%d, %d, %d)", srcframe, dstframe, bankslot);
-
-	uint8 *p = _banks[bankslot].data + _banks[bankslot].indexes[srcframe];
-
 	if (!_banks[bankslot].data)
-		error("BankManager::bankUnpack(%i, %i, %i) called but _banks[bankslot].data is NULL!", 
-				srcframe, dstframe, bankslot);
+		error("BankManager::unpack() _banks[bankslot].data is NULL!");
 		
 	BobFrame *pbf = &_frames[dstframe];
-	delete[] pbf->data;
-
+	uint8 *p = _banks[bankslot].data + _banks[bankslot].indexes[srcframe];
 	pbf->width    = READ_LE_UINT16(p + 0);
 	pbf->height   = READ_LE_UINT16(p + 2);
 	pbf->xhotspot = READ_LE_UINT16(p + 4);
 	pbf->yhotspot = READ_LE_UINT16(p + 6);
 
 	uint32 size = pbf->width * pbf->height;
+	delete[] pbf->data;
 	pbf->data = new uint8[ size ];
 	memcpy(pbf->data, p + 8, size);
 }
@@ -248,6 +244,8 @@
 
 void BankManager::overpack(uint32 srcframe, uint32 dstframe, uint32 bankslot) {
 	debug(9, "BankManager::overpack(%d, %d, %d)", srcframe, dstframe, bankslot);
+	if (!_banks[bankslot].data)
+		error("BankManager::overpack() _banks[bankslot].data is NULL!");
 
 	uint8 *p = _banks[bankslot].data + _banks[bankslot].indexes[srcframe];
 	uint16 src_w = READ_LE_UINT16(p + 0);
@@ -266,7 +264,7 @@
 void BankManager::close(uint32 bankslot) {
 	debug(9, "BankManager::close(%d)", bankslot);
 	delete[] _banks[bankslot].data;
-	_banks[bankslot].data = 0;	
+	memset(&_banks[bankslot], 0, sizeof(_banks[bankslot]));
 }
 
 

Index: queen.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/queen/queen.cpp,v
retrieving revision 1.66
retrieving revision 1.67
diff -u -d -r1.66 -r1.67
--- queen.cpp	5 Jan 2004 13:40:27 -0000	1.66
+++ queen.cpp	5 Jan 2004 20:46:37 -0000	1.67
@@ -116,6 +116,10 @@
 
 void QueenEngine::errorString(const char *buf1, char *buf2) {
 	strcpy(buf2, buf1);
+	if (_debugger && !_debugger->isAttached()) {
+		_debugger->attach(buf2);
+		_debugger->onFrame();
+	}
 }
 
 





More information about the Scummvm-git-logs mailing list