diff options
| -rw-r--r-- | engines/saga/actor.cpp | 6 | ||||
| -rw-r--r-- | engines/saga/actor.h | 3 | ||||
| -rw-r--r-- | engines/saga/events.cpp | 1 | ||||
| -rw-r--r-- | engines/saga/scene.cpp | 2 | 
4 files changed, 12 insertions, 0 deletions
| diff --git a/engines/saga/actor.cpp b/engines/saga/actor.cpp index ecf7202725..d7882a78fd 100644 --- a/engines/saga/actor.cpp +++ b/engines/saga/actor.cpp @@ -268,6 +268,8 @@ Actor::Actor(SagaEngine *vm) : _vm(vm) {  	_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 @@ void Actor::drawActors() {  		return;  	} +	if (!_showActors) { +		return; +	} +  	CommonObjectOrderList::iterator drawOrderIterator;  	CommonObjectDataPointer drawObject;  	int frameNumber; diff --git a/engines/saga/actor.h b/engines/saga/actor.h index 1557abffb9..b9ec62337c 100644 --- a/engines/saga/actor.h +++ b/engines/saga/actor.h @@ -612,6 +612,8 @@ public:  	void freeObjList();  	void loadObjList(int objectCount, int objectsResourceID); +	void showActors(bool flag) { _showActors = flag; } +  	/*  	uint16 _currentFrameIndex;  	void frameTest() { @@ -712,6 +714,7 @@ private:  	int _xCellCount;  	int _yCellCount;  	Rect _pathRect; +	bool _showActors;  	PathDirectionData *_pathDirectionList;  	int _pathDirectionListCount; diff --git a/engines/saga/events.cpp b/engines/saga/events.cpp index 191ea4ed61..b93c6017c7 100644 --- a/engines/saga/events.cpp +++ b/engines/saga/events.cpp @@ -341,6 +341,7 @@ int Events::handleOneShot(Event *event) {  					_vm->_gfx->setPalette(palPointer);  				}  			} +			_vm->_actor->showActors(true);  		}  		break;  	case kAnimEvent: diff --git a/engines/saga/scene.cpp b/engines/saga/scene.cpp index 84d1b45114..362b212b14 100644 --- a/engines/saga/scene.cpp +++ b/engines/saga/scene.cpp @@ -570,6 +570,8 @@ void Scene::loadScene(LoadSceneParams *loadSceneParams) {  	_chapterPointsChanged = false; +	_vm->_actor->showActors(false); +  	if ((_vm->getGameType() == GType_IHNM) && (loadSceneParams->chapter != NO_CHAPTER_CHANGE)) {  		if (loadSceneParams->loadFlag != kLoadBySceneNumber) {  			error("loadScene wrong usage"); | 
