[Scummvm-cvs-logs] CVS: scummvm/queen graphics.cpp,1.87,1.88 graphics.h,1.63,1.64 journal.cpp,1.27,1.28 logic.cpp,1.179,1.180 logic.h,1.115,1.116

Gregory Montoir cyx at users.sourceforge.net
Tue Jan 20 13:59:02 CET 2004


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

Modified Files:
	graphics.cpp graphics.h journal.cpp logic.cpp logic.h 
Log Message:
- fixed bug #880415 (only setup bam scene after all _vm->update() calls)
- constness


Index: graphics.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/queen/graphics.cpp,v
retrieving revision 1.87
retrieving revision 1.88
diff -u -d -r1.87 -r1.88
--- graphics.cpp	19 Jan 2004 21:47:20 -0000	1.87
+++ graphics.cpp	20 Jan 2004 21:58:26 -0000	1.88
@@ -200,7 +200,7 @@
 	_vm->display()->setMouseCursor(bf->data, bf->width, bf->height);
 }
 
-void Graphics::drawBob(const BobSlot *bs, BobFrame *bf, int16 x, int16 y) {
+void Graphics::drawBob(const BobSlot *bs, const BobFrame *bf, int16 x, int16 y) {
 	debug(9, "Graphics::drawBob(%d, %d, %d)", bs->frameNum, x, y);
 
 	uint16 w, h;
@@ -410,7 +410,7 @@
 }
 
 void Graphics::setBobText(
-		BobSlot *pbs, 
+		const BobSlot *pbs, 
 		const char *text, 
 		int textX, int textY, 
 		int color, int flags) {

Index: graphics.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/queen/graphics.h,v
retrieving revision 1.63
retrieving revision 1.64
diff -u -d -r1.63 -r1.64
--- graphics.h	19 Jan 2004 21:47:20 -0000	1.63
+++ graphics.h	20 Jan 2004 21:58:26 -0000	1.64
@@ -95,7 +95,7 @@
 	void unpackControlBank();
 	void setupMouseCursor();
 
-	void drawBob(const BobSlot *bs, BobFrame *bf, int16 x, int16 y);
+	void drawBob(const BobSlot *bs, const BobFrame *bf, int16 x, int16 y);
 	void drawInventoryItem(uint32 frameNum, uint16 x, uint16 y);
 	void pasteBob(uint16 objNum, uint16 image);
 	void shrinkFrame(const BobFrame *bf, uint16 percentage);
@@ -105,7 +105,7 @@
 	void clearBobs();
 	void stopBobs();
 	BobSlot *bob(int index);
-	void setBobText(BobSlot *bob, const char *text, int textX, int textY, int color, int flags);
+	void setBobText(const BobSlot *bob, const char *text, int textX, int textY, int color, int flags);
 
 	void handleParallax(uint16 roomNum);
 

Index: journal.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/queen/journal.cpp,v
retrieving revision 1.27
retrieving revision 1.28
diff -u -d -r1.27 -r1.28
--- journal.cpp	12 Jan 2004 13:40:01 -0000	1.27
+++ journal.cpp	20 Jan 2004 21:58:26 -0000	1.28
@@ -282,6 +282,7 @@
 		switch (_prevZoneNum) {
 		case ZN_REVIEW_ENTRY:
 			if (_saveDescriptions[currentSlot][0]) {
+				_vm->graphics()->clearBobs();
 				_vm->display()->palFadeOut(0, 223, JOURNAL_ROOM);
 				_vm->loadGameState(currentSlot);
 				_vm->display()->clearTexts(0, GAME_SCREEN_HEIGHT - 1);

Index: logic.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/queen/logic.cpp,v
retrieving revision 1.179
retrieving revision 1.180
diff -u -d -r1.179 -r1.180
--- logic.cpp	19 Jan 2004 22:31:21 -0000	1.179
+++ logic.cpp	20 Jan 2004 21:58:26 -0000	1.180
@@ -529,7 +529,7 @@
 	}
 }
 
-ActorData *Logic::findActor(uint16 noun, const char *name) {
+ActorData *Logic::findActor(uint16 noun, const char *name) const {
 	uint16 obj = currentRoomData() + noun;
 	int16 img = objectData(obj)->image;
 	if (img != -3 && img != -4) {
@@ -1362,9 +1362,8 @@
 }
 
 void Logic::setupRestoredGame() {
-	if (_vm->bam()->_flag != BamScene::F_STOP) {
-		_vm->bam()->prepareAnimation();
-	}
+	uint16 flag = _vm->bam()->_flag;
+	_vm->bam()->_flag = BamScene::F_STOP;
 
 	_vm->sound()->playSong(_vm->sound()->lastOverride());
 
@@ -1391,6 +1390,11 @@
 	_entryObj = 0;
 
 	inventoryRefresh();
+
+	if (flag != BamScene::F_STOP) {
+		_vm->bam()->_flag = flag;
+		_vm->bam()->prepareAnimation();
+	}
 }
 
 void Logic::sceneStart() {

Index: logic.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/queen/logic.h,v
retrieving revision 1.115
retrieving revision 1.116
diff -u -d -r1.115 -r1.116
--- logic.h	16 Jan 2004 15:03:52 -0000	1.115
+++ logic.h	20 Jan 2004 21:58:26 -0000	1.116
@@ -128,7 +128,7 @@
 	int16 entryObj() const { return _entryObj; }
 	void entryObj(int16 obj) { _entryObj = obj; }
 
-	ActorData *findActor(uint16 noun, const char *name = NULL);
+	ActorData *findActor(uint16 noun, const char *name = NULL) const;
 	bool initPerson(uint16 noun, const char *actorName, bool loadBank, Person *pp);
 	uint16 findPersonNumber(uint16 obj) const;
 





More information about the Scummvm-git-logs mailing list