Skip to content

Commit

Permalink
HOPKINS: Added code to delete saved temporary screen .SCR files
Browse files Browse the repository at this point in the history
  • Loading branch information
dreammaster committed Oct 28, 2012
1 parent 1dff18f commit a8e217a
Show file tree
Hide file tree
Showing 3 changed files with 30 additions and 18 deletions.
29 changes: 19 additions & 10 deletions engines/hopkins/anim.cpp
Expand Up @@ -271,13 +271,15 @@ void AnimationManager::PLAY_ANM2(const Common::String &filename, uint32 a2, uint
v18 = 0;
v20 = 1;
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)
_vm->_saveLoadManager.SAUVE_FICHIER(_vm->_globals.NFICHIER, _vm->_graphicsManager.VESA_SCREEN, 0x96000u);
if (!_vm->_graphicsManager.nbrligne)
_vm->_graphicsManager.ofscroll = 0;

v12 = _vm->_graphicsManager.VESA_SCREEN;
v13 = _vm->_globals.dos_malloc2(0x14u);
_vm->_fileManager.CONSTRUIT_FICHIER(_vm->_globals.HOPANM, filename);
Expand Down Expand Up @@ -354,8 +356,9 @@ void AnimationManager::PLAY_ANM2(const Common::String &filename, uint32 a2, uint
_vm->_globals.dos_free2(v13);
f.close();

_vm->_fileManager.CONSTRUIT_LINUX("TEMP.SCR");
_vm->_fileManager.bload(_vm->_globals.NFICHIER, _vm->_graphicsManager.VESA_SCREEN);
_vm->_fileManager.bload("TEMP.SCR", _vm->_graphicsManager.VESA_SCREEN);
g_system->getSavefileManager()->removeSavefile("TEMP.SCR");

memcpy(_vm->_graphicsManager.Palette, _vm->_graphicsManager.OLD_PAL, 0x301u);
v4 = &_vm->_graphicsManager.Palette[769];
_vm->_graphicsManager.Cls_Pal();
Expand Down Expand Up @@ -459,8 +462,9 @@ void AnimationManager::PLAY_ANM2(const Common::String &filename, uint32 a2, uint
_vm->_globals.dos_free2(v13);
f.close();

_vm->_fileManager.CONSTRUIT_LINUX("TEMP.SCR");
_vm->_fileManager.bload(_vm->_globals.NFICHIER, _vm->_graphicsManager.VESA_SCREEN);
_vm->_fileManager.bload("TEMP.SCR", _vm->_graphicsManager.VESA_SCREEN);
g_system->getSavefileManager()->removeSavefile("TEMP.SCR");

memcpy(_vm->_graphicsManager.Palette, _vm->_graphicsManager.OLD_PAL, 0x301u);
v4 = &_vm->_graphicsManager.Palette[769];
_vm->_graphicsManager.Cls_Pal();
Expand Down Expand Up @@ -523,8 +527,9 @@ void AnimationManager::PLAY_ANM2(const Common::String &filename, uint32 a2, uint
_vm->_globals.dos_free2(v13);
f.close();

_vm->_fileManager.CONSTRUIT_LINUX("TEMP.SCR");
_vm->_fileManager.bload(_vm->_globals.NFICHIER, _vm->_graphicsManager.VESA_SCREEN);
_vm->_fileManager.bload("TEMP.SCR", _vm->_graphicsManager.VESA_SCREEN);
g_system->getSavefileManager()->removeSavefile("TEMP.SCR");

memcpy(_vm->_graphicsManager.Palette, _vm->_graphicsManager.OLD_PAL, 0x301u);
v4 = &_vm->_graphicsManager.Palette[769];
_vm->_graphicsManager.Cls_Pal();
Expand Down Expand Up @@ -620,8 +625,10 @@ void AnimationManager::PLAY_ANM2(const Common::String &filename, uint32 a2, uint
}
_vm->_graphicsManager.FADE_LINUX = 0;
_vm->_globals.dos_free2(v13);
_vm->_fileManager.CONSTRUIT_LINUX("TEMP.SCR");
_vm->_fileManager.bload(_vm->_globals.NFICHIER, _vm->_graphicsManager.VESA_SCREEN);

_vm->_fileManager.bload("TEMP.SCR", _vm->_graphicsManager.VESA_SCREEN);
g_system->getSavefileManager()->removeSavefile("TEMP.SCR");

memcpy(_vm->_graphicsManager.Palette, _vm->_graphicsManager.OLD_PAL, 0x301u);
_vm->_graphicsManager.Cls_Pal();
_vm->_graphicsManager.DD_Lock();
Expand Down Expand Up @@ -970,6 +977,7 @@ void AnimationManager::PLAY_SEQ(int a1, const Common::String &a2, uint32 a3, uin
_vm->_eventsManager.souris_flag = 0;
if (!NO_COUL) {
_vm->_eventsManager.VBL();

_vm->_fileManager.CONSTRUIT_LINUX("TEMP.SCR");
if (_vm->_graphicsManager.nbrligne == SCREEN_WIDTH)
_vm->_saveLoadManager.SAUVE_FICHIER(_vm->_globals.NFICHIER, _vm->_graphicsManager.VESA_SCREEN, 0x4B000u);
Expand Down Expand Up @@ -1100,8 +1108,9 @@ void AnimationManager::PLAY_SEQ(int a1, const Common::String &a2, uint32 a3, uin
f.close();

if (!NO_COUL) {
_vm->_fileManager.CONSTRUIT_LINUX("TEMP.SCR");
_vm->_fileManager.bload(_vm->_globals.NFICHIER, _vm->_graphicsManager.VESA_SCREEN);
_vm->_fileManager.bload("TEMP.SCR", _vm->_graphicsManager.VESA_SCREEN);
g_system->getSavefileManager()->removeSavefile("TEMP.SCR");

_vm->_eventsManager.souris_flag = 1;
}
if (v7 == 1)
Expand Down
7 changes: 3 additions & 4 deletions engines/hopkins/objects.cpp
Expand Up @@ -4265,8 +4265,7 @@ void ObjectsManager::SPECIAL_JEU() {
v1 = _vm->_globals.dos_malloc2(0x3E8u);
memcpy(v1, _vm->_graphicsManager.Palette, 0x301u);

_vm->_fileManager.CONSTRUIT_LINUX("TEMP1.SCR");
_vm->_saveLoadManager.SAUVE_FICHIER(_vm->_globals.NFICHIER, _vm->_graphicsManager.VESA_SCREEN, 0x4B000u);
_vm->_saveLoadManager.SAUVE_FICHIER("TEMP1.SCR", _vm->_graphicsManager.VESA_SCREEN, 0x4B000u);

if (!_vm->_graphicsManager.nbrligne)
_vm->_graphicsManager.ofscroll = 0;
Expand All @@ -4282,8 +4281,8 @@ void ObjectsManager::SPECIAL_JEU() {
_vm->_graphicsManager.NB_SCREEN();
_vm->_globals.NECESSAIRE = 0;

_vm->_fileManager.CONSTRUIT_LINUX("TEMP1.SCR");
_vm->_saveLoadManager.bload(_vm->_globals.NFICHIER, _vm->_graphicsManager.VESA_SCREEN);
_vm->_saveLoadManager.bload("TEMP1.SCR", _vm->_graphicsManager.VESA_SCREEN);
g_system->getSavefileManager()->removeSavefile("TEMP1.SCR");

PERSO_ON = 0;
memcpy(_vm->_graphicsManager.Palette, v1, 0x301u);
Expand Down
12 changes: 8 additions & 4 deletions engines/hopkins/talk.cpp
Expand Up @@ -149,8 +149,8 @@ void TalkManager::PARLER_PERSO(const Common::String &filename) {
_vm->_graphicsManager.NB_SCREEN();
_vm->_globals.NECESSAIRE = 0;

_vm->_fileManager.CONSTRUIT_LINUX("TEMP.SCR");
_vm->_saveLoadManager.bload(_vm->_globals.NFICHIER, _vm->_graphicsManager.VESA_SCREEN);
_vm->_saveLoadManager.bload("TEMP.SCR", _vm->_graphicsManager.VESA_SCREEN);
g_system->getSavefileManager()->removeSavefile("TEMP.SCR");

_vm->_objectsManager.PERSO_ON = 0;
_vm->_eventsManager.btsouris = v14;
Expand Down Expand Up @@ -1233,11 +1233,13 @@ void TalkManager::OBJET_VIVANT(const Common::String &a2) {
}
PERSOSPR = _vm->_objectsManager.CHARGE_SPRITE(_vm->_globals.NFICHIER);
_vm->_globals.CAT_FLAG = 0;

_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 == (SCREEN_WIDTH * 2))
_vm->_saveLoadManager.SAUVE_FICHIER(_vm->_globals.NFICHIER, _vm->_graphicsManager.VESA_SCREEN, 0x96000u);

if (!_vm->_graphicsManager.nbrligne)
_vm->_graphicsManager.ofscroll = 0;
_vm->_graphicsManager.NB_SCREEN();
Expand Down Expand Up @@ -1300,8 +1302,10 @@ void TalkManager::OBJET_VIVANT(const Common::String &a2) {
_vm->_globals.NOMARCHE = 0;
if (_vm->_globals.SORTIE == 101)
_vm->_globals.SORTIE = 0;
_vm->_fileManager.CONSTRUIT_LINUX("TEMP.SCR");
_vm->_fileManager.bload(_vm->_globals.NFICHIER, _vm->_graphicsManager.VESA_SCREEN);

_vm->_fileManager.bload("TEMP.SCR", _vm->_graphicsManager.VESA_SCREEN);
g_system->getSavefileManager()->removeSavefile("TEMP.SCR");

_vm->_objectsManager.PERSO_ON = 0;
_vm->_eventsManager.btsouris = 4;
_vm->_eventsManager.CHANGE_MOUSE(4);
Expand Down

0 comments on commit a8e217a

Please sign in to comment.