diff options
| -rw-r--r-- | engines/saga/saveload.cpp | 7 | 
1 files changed, 6 insertions, 1 deletions
| diff --git a/engines/saga/saveload.cpp b/engines/saga/saveload.cpp index 05cf2f3aee..c93ace81b3 100644 --- a/engines/saga/saveload.cpp +++ b/engines/saga/saveload.cpp @@ -310,7 +310,12 @@ void SagaEngine::load(const char *fileName) {  	if (getGameType() != GType_ITE) {  		if (_scene->currentProtag() != 0 && _scene->currentChapterNumber() != 6) {  			ActorData *actor1 = _actor->getFirstActor(); -			ActorData *actor2 = _actor->getActor(_scene->currentProtag()); +			// Original stores the current protagonist ID from sfSwapActors: +			//ActorData *actor2 = _actor->getActor(_scene->currentProtag()); +			// However, we already store the protagonist, so merely getting the saved +			// protagonist is easier and safer, and works without glitches +			ActorData *actor2 = _actor->_protagonist; +  			SWAP(actor1->_location, actor2->_location);  			actor2->_flags &= ~kProtagonist; | 
