diff options
author | Johannes Schickel | 2006-01-10 16:10:54 +0000 |
---|---|---|
committer | Johannes Schickel | 2006-01-10 16:10:54 +0000 |
commit | 99128ff6078e809ce11c45784f6d83752ad84ff8 (patch) | |
tree | ccc7146de5b467a7d86cc098d46a5b8b904d5dfa /kyra/saveload.cpp | |
parent | 0a33d768abf831eee36b06b33d988c78b6fc7a3f (diff) | |
download | scummvm-rg350-99128ff6078e809ce11c45784f6d83752ad84ff8.tar.gz scummvm-rg350-99128ff6078e809ce11c45784f6d83752ad84ff8.tar.bz2 scummvm-rg350-99128ff6078e809ce11c45784f6d83752ad84ff8.zip |
This should fix bug # 1401295.
svn-id: r19972
Diffstat (limited to 'kyra/saveload.cpp')
-rw-r--r-- | kyra/saveload.cpp | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/kyra/saveload.cpp b/kyra/saveload.cpp index 65a4297d84..4808ef32bc 100644 --- a/kyra/saveload.cpp +++ b/kyra/saveload.cpp @@ -22,6 +22,7 @@ #include "kyra/kyra.h" #include "kyra/animator.h" #include "kyra/screen.h" +#include "kyra/resource.h" #include "common/savefile.h" #include "common/system.h" @@ -69,6 +70,17 @@ void KyraEngine::loadGame(const char *fileName) { warning("Make sure your savefile was from this version! (too old savefile version to detect that)"); } + // unload the current voice file should fix some problems with voices + if (_currentRoom != 0xFFFF && (_features & GF_TALKIE)) { + char file[32]; + assert(_currentRoom < _roomTableSize); + int tableId = _roomTable[_currentRoom].nameIndex; + assert(tableId < _roomFilenameTableSize); + strcpy(file, _roomFilenameTable[tableId]); + strcat(file, ".VRM"); + _res->unloadPakFile(file); + } + int brandonX = 0, brandonY = 0; for (int i = 0; i < 11; i++) { _characterList[i].sceneId = in->readUint16BE(); |