diff options
author | Paul Gilbert | 2012-11-16 21:24:52 +1100 |
---|---|---|
committer | Paul Gilbert | 2012-11-16 21:24:52 +1100 |
commit | 3b878fc4c52a91034ff921cde00c868162d7e600 (patch) | |
tree | 92ab1251e74e76732d047898962b078bcd9ca98a | |
parent | 6d1db995408f3325824698b330300a0292a49931 (diff) | |
download | scummvm-rg350-3b878fc4c52a91034ff921cde00c868162d7e600.tar.gz scummvm-rg350-3b878fc4c52a91034ff921cde00c868162d7e600.tar.bz2 scummvm-rg350-3b878fc4c52a91034ff921cde00c868162d7e600.zip |
HOPKINS: Fixed some save/loading of TEMP.SCR to use the SaveLoadManager.
These should really be refactored in the future to use a memory buffer. Moderns systems have enough memory that it shouldn't be a problem to store a copy of the currently loaded background.
-rw-r--r-- | engines/hopkins/anim.cpp | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/engines/hopkins/anim.cpp b/engines/hopkins/anim.cpp index a5821bbcce..fc576c4a32 100644 --- a/engines/hopkins/anim.cpp +++ b/engines/hopkins/anim.cpp @@ -279,6 +279,7 @@ void AnimationManager::PLAY_ANM2(const Common::String &filename, uint32 a2, uint memcpy(_vm->_graphicsManager.OLD_PAL, _vm->_graphicsManager.Palette, 0x301u); _vm->_fileManager.CONSTRUIT_LINUX("TEMP.SCR"); + if (_vm->_graphicsManager.nbrligne == SCREEN_WIDTH) _vm->_saveLoadManager.SAUVE_FICHIER(_vm->_globals.NFICHIER, _vm->_graphicsManager.VESA_SCREEN, 0x4B000u); if (_vm->_graphicsManager.nbrligne == 1280) @@ -362,7 +363,7 @@ void AnimationManager::PLAY_ANM2(const Common::String &filename, uint32 a2, uint _vm->_globals.dos_free2(v13); f.close(); - _vm->_fileManager.bload("TEMP.SCR", _vm->_graphicsManager.VESA_SCREEN); + _vm->_saveLoadManager.bload("TEMP.SCR", _vm->_graphicsManager.VESA_SCREEN); g_system->getSavefileManager()->removeSavefile("TEMP.SCR"); memcpy(_vm->_graphicsManager.Palette, _vm->_graphicsManager.OLD_PAL, 0x301u); @@ -468,7 +469,7 @@ LABEL_88: _vm->_globals.dos_free2(v13); f.close(); - _vm->_fileManager.bload("TEMP.SCR", _vm->_graphicsManager.VESA_SCREEN); + _vm->_saveLoadManager.bload("TEMP.SCR", _vm->_graphicsManager.VESA_SCREEN); g_system->getSavefileManager()->removeSavefile("TEMP.SCR"); memcpy(_vm->_graphicsManager.Palette, _vm->_graphicsManager.OLD_PAL, 0x301u); @@ -533,7 +534,7 @@ LABEL_88: _vm->_globals.dos_free2(v13); f.close(); - _vm->_fileManager.bload("TEMP.SCR", _vm->_graphicsManager.VESA_SCREEN); + _vm->_saveLoadManager.bload("TEMP.SCR", _vm->_graphicsManager.VESA_SCREEN); g_system->getSavefileManager()->removeSavefile("TEMP.SCR"); memcpy(_vm->_graphicsManager.Palette, _vm->_graphicsManager.OLD_PAL, 0x301u); @@ -632,7 +633,7 @@ LABEL_114: _vm->_graphicsManager.FADE_LINUX = 0; _vm->_globals.dos_free2(v13); - _vm->_fileManager.bload("TEMP.SCR", _vm->_graphicsManager.VESA_SCREEN); + _vm->_saveLoadManager.bload("TEMP.SCR", _vm->_graphicsManager.VESA_SCREEN); g_system->getSavefileManager()->removeSavefile("TEMP.SCR"); memcpy(_vm->_graphicsManager.Palette, _vm->_graphicsManager.OLD_PAL, 0x301u); @@ -1142,7 +1143,7 @@ LABEL_59: f.close(); if (!NO_COUL) { - _vm->_fileManager.bload("TEMP.SCR", _vm->_graphicsManager.VESA_SCREEN); + _vm->_saveLoadManager.bload("TEMP.SCR", _vm->_graphicsManager.VESA_SCREEN); g_system->getSavefileManager()->removeSavefile("TEMP.SCR"); _vm->_eventsManager.souris_flag = true; |