[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