diff options
Diffstat (limited to 'engines/parallaction/parallaction.cpp')
-rw-r--r-- | engines/parallaction/parallaction.cpp | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/engines/parallaction/parallaction.cpp b/engines/parallaction/parallaction.cpp index e0291c5a2a..9c16a40fd4 100644 --- a/engines/parallaction/parallaction.cpp +++ b/engines/parallaction/parallaction.cpp @@ -759,7 +759,7 @@ void Parallaction::changeCharacter(const char *name) { // character for sanity before memory is freed freeCharacter(); - _disk->selectArchive((_vm->getPlatform() == Common::kPlatformAmiga) ? "disk0" : "disk1"); + Common::String oldArchive = _disk->selectArchive((_vm->getPlatform() == Common::kPlatformAmiga) ? "disk0" : "disk1"); _vm->_char._ani._cnv = _disk->loadFrames(fullName); if (!IS_DUMMY_CHARACTER(name)) { @@ -774,6 +774,9 @@ void Parallaction::changeCharacter(const char *name) { if (!(getFeatures() & GF_DEMO)) parseLocation("common"); } + + if (!oldArchive.empty()) + _disk->selectArchive(oldArchive); } strcpy(_characterName1, fullName); |