aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Gilbert2012-11-16 21:24:52 +1100
committerPaul Gilbert2012-11-16 21:24:52 +1100
commit3b878fc4c52a91034ff921cde00c868162d7e600 (patch)
tree92ab1251e74e76732d047898962b078bcd9ca98a
parent6d1db995408f3325824698b330300a0292a49931 (diff)
downloadscummvm-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.cpp11
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;