[Scummvm-cvs-logs] SF.net SVN: scummvm: [27946] scummvm/trunk/engines/saga

thebluegr at users.sourceforge.net thebluegr at users.sourceforge.net
Sat Jul 7 02:36:11 CEST 2007


Revision: 27946
          http://scummvm.svn.sourceforge.net/scummvm/?rev=27946&view=rev
Author:   thebluegr
Date:     2007-07-06 17:36:10 -0700 (Fri, 06 Jul 2007)

Log Message:
-----------
When loading a scene, start showing actors only after the scene background has been shown. This prevents some cases where some actors are shown prematurely before the next scene is loaded (e.g. in IHNM, when entering a chapter, after AM finishes his speech)

Modified Paths:
--------------
    scummvm/trunk/engines/saga/actor.cpp
    scummvm/trunk/engines/saga/actor.h
    scummvm/trunk/engines/saga/events.cpp
    scummvm/trunk/engines/saga/scene.cpp

Modified: scummvm/trunk/engines/saga/actor.cpp
===================================================================
--- scummvm/trunk/engines/saga/actor.cpp	2007-07-06 18:48:47 UTC (rev 27945)
+++ scummvm/trunk/engines/saga/actor.cpp	2007-07-07 00:36:10 UTC (rev 27946)
@@ -268,6 +268,8 @@
 	_pathRect.top = _vm->getDisplayInfo().pathStartY;
 	_pathRect.bottom = _vm->_scene->getHeight();
 
+	_showActors = true;
+
 	// Get actor resource file context
 	_actorContext = _vm->_resource->getContext(GAME_RESOURCEFILE);
 	if (_actorContext == NULL) {
@@ -1808,6 +1810,10 @@
 		return;
 	}
 
+	if (!_showActors) {
+		return;
+	}
+
 	CommonObjectOrderList::iterator drawOrderIterator;
 	CommonObjectDataPointer drawObject;
 	int frameNumber;

Modified: scummvm/trunk/engines/saga/actor.h
===================================================================
--- scummvm/trunk/engines/saga/actor.h	2007-07-06 18:48:47 UTC (rev 27945)
+++ scummvm/trunk/engines/saga/actor.h	2007-07-07 00:36:10 UTC (rev 27946)
@@ -612,6 +612,8 @@
 	void freeObjList();
 	void loadObjList(int objectCount, int objectsResourceID);
 
+	void showActors(bool flag) { _showActors = flag; }
+
 	/*
 	uint16 _currentFrameIndex;
 	void frameTest() {
@@ -712,6 +714,7 @@
 	int _xCellCount;
 	int _yCellCount;
 	Rect _pathRect;
+	bool _showActors;
 
 	PathDirectionData *_pathDirectionList;
 	int _pathDirectionListCount;

Modified: scummvm/trunk/engines/saga/events.cpp
===================================================================
--- scummvm/trunk/engines/saga/events.cpp	2007-07-06 18:48:47 UTC (rev 27945)
+++ scummvm/trunk/engines/saga/events.cpp	2007-07-07 00:36:10 UTC (rev 27946)
@@ -341,6 +341,7 @@
 					_vm->_gfx->setPalette(palPointer);
 				}
 			}
+			_vm->_actor->showActors(true);
 		}
 		break;
 	case kAnimEvent:

Modified: scummvm/trunk/engines/saga/scene.cpp
===================================================================
--- scummvm/trunk/engines/saga/scene.cpp	2007-07-06 18:48:47 UTC (rev 27945)
+++ scummvm/trunk/engines/saga/scene.cpp	2007-07-07 00:36:10 UTC (rev 27946)
@@ -570,6 +570,8 @@
 
 	_chapterPointsChanged = false;
 
+	_vm->_actor->showActors(false);
+
 	if ((_vm->getGameType() == GType_IHNM) && (loadSceneParams->chapter != NO_CHAPTER_CHANGE)) {
 		if (loadSceneParams->loadFlag != kLoadBySceneNumber) {
 			error("loadScene wrong usage");


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.




More information about the Scummvm-git-logs mailing list