diff options
author | Johannes Schickel | 2006-01-08 13:50:35 +0000 |
---|---|---|
committer | Johannes Schickel | 2006-01-08 13:50:35 +0000 |
commit | 5713d00eab77e3b9911114986c0ce75b9c30f938 (patch) | |
tree | 3107aab0dabdee44cbf7e96807ad649c9e03b88e /kyra | |
parent | d34acdb4627c39f274e43ba8813bacc6204e110c (diff) | |
download | scummvm-rg350-5713d00eab77e3b9911114986c0ce75b9c30f938.tar.gz scummvm-rg350-5713d00eab77e3b9911114986c0ce75b9c30f938.tar.bz2 scummvm-rg350-5713d00eab77e3b9911114986c0ce75b9c30f938.zip |
Fixed bug with sequences playing and fixed a bug with an invaild write.
svn-id: r19945
Diffstat (limited to 'kyra')
-rw-r--r-- | kyra/kyra.cpp | 2 | ||||
-rwxr-xr-x | kyra/seqplayer.cpp | 2 | ||||
-rw-r--r-- | kyra/staticres.cpp | 4 |
3 files changed, 4 insertions, 4 deletions
diff --git a/kyra/kyra.cpp b/kyra/kyra.cpp index a4d86656a9..3706f93204 100644 --- a/kyra/kyra.cpp +++ b/kyra/kyra.cpp @@ -2703,7 +2703,7 @@ void KyraEngine::initAnimStateList() { void KyraEngine::initSceneObjectList(int brandonAlive) { debug(9, "KyraEngine::initSceneObjectList(%d)", brandonAlive); - for (int i = 0; i < 31; ++i) { + for (int i = 0; i < 28; ++i) { _animator->actors()[i].active = 0; } diff --git a/kyra/seqplayer.cpp b/kyra/seqplayer.cpp index 3102b4d7d0..618cdcd571 100755 --- a/kyra/seqplayer.cpp +++ b/kyra/seqplayer.cpp @@ -417,7 +417,7 @@ void SeqPlayer::s1_allocTempBuffer() { if (_vm->features() & GF_DEMO) { _seqQuitFlag = true; } else { - if (!_specialBuffer) { + if (!_specialBuffer && !_copyViewOffs) { _specialBuffer = new uint8[40960]; assert(_specialBuffer); int page = _screen->_curPage; diff --git a/kyra/staticres.cpp b/kyra/staticres.cpp index 2b846dcf3b..8a12825b0a 100644 --- a/kyra/staticres.cpp +++ b/kyra/staticres.cpp @@ -257,7 +257,7 @@ void KyraEngine::res_loadResources(int type) { void KyraEngine::res_unloadResources(int type) { debug(9, "res_unloadResources(%d)", type); - if ((type & RES_INTRO) || (type & RES_OUTRO) || type == RES_ALL) { + if ((type & RES_INTRO) || (type & RES_OUTRO) || type & RES_ALL) { res_freeLangTable(&_seq_WSATable, &_seq_WSATable_Size); res_freeLangTable(&_seq_CPSTable, &_seq_CPSTable_Size); res_freeLangTable(&_seq_COLTable, &_seq_COLTable_Size); @@ -278,7 +278,7 @@ void KyraEngine::res_unloadResources(int type) { res_freeLangTable(&_homeString, &_homeString_Size); } - if ((type & RES_INGAME) || type == RES_ALL) { + if ((type & RES_INGAME) || type & RES_ALL) { res_freeLangTable(&_roomFilenameTable, &_roomFilenameTableSize); delete [] _roomTable; _roomTable = 0; |