From 575f179f0f3fc62d4173115c141c6641f794c9ab Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Sat, 6 Oct 2012 23:21:10 +1000 Subject: HOPKINS: Converted the file manager from static to a standard manager class --- engines/hopkins/anim.cpp | 154 +++++++++++++------------- engines/hopkins/dialogs.cpp | 8 +- engines/hopkins/events.cpp | 2 +- engines/hopkins/files.cpp | 117 ++++++++++---------- engines/hopkins/files.h | 41 ++++--- engines/hopkins/font.cpp | 2 +- engines/hopkins/globals.cpp | 12 +- engines/hopkins/graphics.cpp | 72 ++++++------ engines/hopkins/hopkins.cpp | 255 ++++++++++++++++++++++--------------------- engines/hopkins/hopkins.h | 2 + engines/hopkins/menu.cpp | 32 +++--- engines/hopkins/objects.cpp | 108 +++++++++--------- engines/hopkins/talk.cpp | 58 +++++----- 13 files changed, 440 insertions(+), 423 deletions(-) diff --git a/engines/hopkins/anim.cpp b/engines/hopkins/anim.cpp index 6e463a1781..3971300ff4 100644 --- a/engines/hopkins/anim.cpp +++ b/engines/hopkins/anim.cpp @@ -55,10 +55,10 @@ void AnimationManager::PLAY_ANM(const Common::String &filename, uint32 rate1, ui v18 = 1; screenP = _vm->_graphicsManager.VESA_SCREEN; - FileManager::CONSTRUIT_FICHIER(GLOBALS.HOPANM, filename); + _vm->_fileManager.CONSTRUIT_FICHIER(_vm->_globals.HOPANM, filename); - if (!f.open(GLOBALS.NFICHIER)) - error("Not Found file %s", GLOBALS.NFICHIER.c_str()); + if (!f.open(_vm->_globals.NFICHIER)) + error("Not Found file %s", _vm->_globals.NFICHIER.c_str()); // TODO: Original above read seems to overlap the doneFlag f.skip(6); @@ -86,7 +86,7 @@ void AnimationManager::PLAY_ANM(const Common::String &filename, uint32 rate1, ui if (_vm->_graphicsManager.WinScan / _vm->_graphicsManager.Winbpp > SCREEN_WIDTH) { doneFlag = 1; - screenCopy = GLOBALS.dos_malloc2(SCREEN_WIDTH * SCREEN_HEIGHT); + screenCopy = _vm->_globals.dos_malloc2(SCREEN_WIDTH * SCREEN_HEIGHT); memcpy(screenCopy, screenP, SCREEN_WIDTH * SCREEN_HEIGHT); } @@ -163,7 +163,7 @@ void AnimationManager::PLAY_ANM(const Common::String &filename, uint32 rate1, ui if (doneFlag <= SCREEN_WIDTH) goto MAIN_LOOP; - screenCopy = GLOBALS.dos_free2(screenCopy); + screenCopy = _vm->_globals.dos_free2(screenCopy); goto MAIN_LOOP; } #endif @@ -218,7 +218,7 @@ REDRAW_ANIM: if (doneFlag != 1) goto MAIN_LOOP; - screenCopy = GLOBALS.dos_free2(screenCopy); + screenCopy = _vm->_globals.dos_free2(screenCopy); goto MAIN_LOOP; } #endif @@ -234,7 +234,7 @@ REDRAW_ANIM: FINISH: if (_vm->_graphicsManager.FADE_LINUX == 2 && !doneFlag) { - screenCopy = GLOBALS.dos_malloc2(SCREEN_WIDTH * SCREEN_HEIGHT); + screenCopy = _vm->_globals.dos_malloc2(SCREEN_WIDTH * SCREEN_HEIGHT); f.skip(6); f.read(_vm->_graphicsManager.Palette, PALETTE_EXT_BLOCK_SIZE); @@ -270,18 +270,18 @@ FINISH: } while (!doneFlag); _vm->_graphicsManager.FADE_OUTW_LINUX(screenCopy); - screenCopy = GLOBALS.dos_free2(screenCopy); + screenCopy = _vm->_globals.dos_free2(screenCopy); } if (doneFlag == 1) { if (_vm->_graphicsManager.FADE_LINUX == 2) _vm->_graphicsManager.FADE_OUTW_LINUX(screenCopy); - GLOBALS.dos_free2(screenCopy); + _vm->_globals.dos_free2(screenCopy); } _vm->_graphicsManager.FADE_LINUX = 0; f.close(); - GLOBALS.dos_free2(screenCopy); + _vm->_globals.dos_free2(screenCopy); _vm->_graphicsManager.NOLOCK = false; } @@ -315,16 +315,16 @@ void AnimationManager::PLAY_ANM2(const Common::String &filename, uint32 a2, uint v18 = 0; v20 = 1; memcpy(_vm->_graphicsManager.OLD_PAL, _vm->_graphicsManager.Palette, 0x301u); - FileManager::CONSTRUIT_LINUX("TEMP.SCR"); + _vm->_fileManager.CONSTRUIT_LINUX("TEMP.SCR"); if (_vm->_graphicsManager.nbrligne == SCREEN_WIDTH) - FileManager::SAUVE_FICHIER(_vm->_globals.NFICHIER, _vm->_graphicsManager.VESA_SCREEN, 0x4B000u); + _vm->_fileManager.SAUVE_FICHIER(_vm->_globals.NFICHIER, _vm->_graphicsManager.VESA_SCREEN, 0x4B000u); if (_vm->_graphicsManager.nbrligne == 1280) - FileManager::SAUVE_FICHIER(_vm->_globals.NFICHIER, _vm->_graphicsManager.VESA_SCREEN, 0x96000u); + _vm->_fileManager.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); - FileManager::CONSTRUIT_FICHIER(_vm->_globals.HOPANM, filename); + _vm->_fileManager.CONSTRUIT_FICHIER(_vm->_globals.HOPANM, filename); if (!f.open(_vm->_globals.NFICHIER)) error("Error opening file - %s"); @@ -398,8 +398,8 @@ void AnimationManager::PLAY_ANM2(const Common::String &filename, uint32 a2, uint _vm->_globals.dos_free2(v13); f.close(); - FileManager::CONSTRUIT_LINUX("TEMP.SCR"); - FileManager::bload(_vm->_globals.NFICHIER, _vm->_graphicsManager.VESA_SCREEN); + _vm->_fileManager.CONSTRUIT_LINUX("TEMP.SCR"); + _vm->_fileManager.bload(_vm->_globals.NFICHIER, _vm->_graphicsManager.VESA_SCREEN); memcpy(_vm->_graphicsManager.Palette, _vm->_graphicsManager.OLD_PAL, 0x301u); v4 = &_vm->_graphicsManager.Palette[769]; _vm->_graphicsManager.Cls_Pal(); @@ -503,8 +503,8 @@ LABEL_88: _vm->_globals.dos_free2(v13); f.close(); - FileManager::CONSTRUIT_LINUX("TEMP.SCR"); - FileManager::bload(_vm->_globals.NFICHIER, _vm->_graphicsManager.VESA_SCREEN); + _vm->_fileManager.CONSTRUIT_LINUX("TEMP.SCR"); + _vm->_fileManager.bload(_vm->_globals.NFICHIER, _vm->_graphicsManager.VESA_SCREEN); memcpy(_vm->_graphicsManager.Palette, _vm->_graphicsManager.OLD_PAL, 0x301u); v4 = &_vm->_graphicsManager.Palette[769]; _vm->_graphicsManager.Cls_Pal(); @@ -567,8 +567,8 @@ LABEL_88: _vm->_globals.dos_free2(v13); f.close(); - FileManager::CONSTRUIT_LINUX("TEMP.SCR"); - FileManager::bload(_vm->_globals.NFICHIER, _vm->_graphicsManager.VESA_SCREEN); + _vm->_fileManager.CONSTRUIT_LINUX("TEMP.SCR"); + _vm->_fileManager.bload(_vm->_globals.NFICHIER, _vm->_graphicsManager.VESA_SCREEN); memcpy(_vm->_graphicsManager.Palette, _vm->_graphicsManager.OLD_PAL, 0x301u); v4 = &_vm->_graphicsManager.Palette[769]; _vm->_graphicsManager.Cls_Pal(); @@ -664,8 +664,8 @@ LABEL_114: } _vm->_graphicsManager.FADE_LINUX = 0; _vm->_globals.dos_free2(v13); - FileManager::CONSTRUIT_LINUX("TEMP.SCR"); - FileManager::bload(_vm->_globals.NFICHIER, _vm->_graphicsManager.VESA_SCREEN); + _vm->_fileManager.CONSTRUIT_LINUX("TEMP.SCR"); + _vm->_fileManager.bload(_vm->_globals.NFICHIER, _vm->_graphicsManager.VESA_SCREEN); memcpy(_vm->_graphicsManager.Palette, _vm->_graphicsManager.OLD_PAL, 0x301u); _vm->_graphicsManager.Cls_Pal(); _vm->_graphicsManager.DD_Lock(); @@ -730,11 +730,11 @@ void AnimationManager::CHARGE_ANIM(const Common::String &animName) { CLEAR_ANIM(); Common::String filename = animName + ".ANI"; - FileManager::CONSTRUIT_FICHIER(GLOBALS.HOPANIM, filename); + _vm->_fileManager.CONSTRUIT_FICHIER(_vm->_globals.HOPANIM, filename); Common::File f; - if (!f.open(GLOBALS.NFICHIER)) - error("Failed to open %s", GLOBALS.NFICHIER.c_str()); + if (!f.open(_vm->_globals.NFICHIER)) + error("Failed to open %s", _vm->_globals.NFICHIER.c_str()); int filesize = f.size(); int nbytes = filesize - 115; @@ -755,16 +755,16 @@ void AnimationManager::CHARGE_ANIM(const Common::String &animName) { for (int idx = 1; idx <= 6; ++idx) { if (files[idx - 1][0]) { - FileManager::CONSTRUIT_FICHIER(GLOBALS.HOPANIM, files[idx - 1]); + _vm->_fileManager.CONSTRUIT_FICHIER(_vm->_globals.HOPANIM, files[idx - 1]); - if (!f.exists(GLOBALS.NFICHIER)) + if (!f.exists(_vm->_globals.NFICHIER)) error("File not found"); if (CHARGE_BANK_SPRITE1(idx, files[idx - 1])) error("File not compatible with this soft."); } } - byte *data = GLOBALS.dos_malloc2(nbytes + 1); + byte *data = _vm->_globals.dos_malloc2(nbytes + 1); f.read(data, nbytes); f.close(); @@ -772,23 +772,23 @@ void AnimationManager::CHARGE_ANIM(const Common::String &animName) { RECHERCHE_ANIM(data, idx, nbytes); } - GLOBALS.dos_free2(data); + _vm->_globals.dos_free2(data); } void AnimationManager::CLEAR_ANIM() { for (int idx = 0; idx < 35; ++idx) { - if (GLOBALS.Bqe_Anim[idx].data != PTRNUL) - GLOBALS.Bqe_Anim[idx].data = GLOBALS.dos_free2(GLOBALS.Bqe_Anim[idx].data); - GLOBALS.Bqe_Anim[idx].field4 = 0; + if (_vm->_globals.Bqe_Anim[idx].data != PTRNUL) + _vm->_globals.Bqe_Anim[idx].data = _vm->_globals.dos_free2(_vm->_globals.Bqe_Anim[idx].data); + _vm->_globals.Bqe_Anim[idx].field4 = 0; } for (int idx = 0; idx < 8; ++idx) { - if (GLOBALS.Bank[idx].data != PTRNUL) - GLOBALS.Bank[idx].data = GLOBALS.dos_free2(GLOBALS.Bank[idx].data); - GLOBALS.Bank[idx].field4 = 0; - GLOBALS.Bank[idx].filename1 = ""; - GLOBALS.Bank[idx].fileHeader = 0; - GLOBALS.Bank[idx].field1C = 0; + if (_vm->_globals.Bank[idx].data != PTRNUL) + _vm->_globals.Bank[idx].data = _vm->_globals.dos_free2(_vm->_globals.Bank[idx].data); + _vm->_globals.Bank[idx].field4 = 0; + _vm->_globals.Bank[idx].filename1 = ""; + _vm->_globals.Bank[idx].fileHeader = 0; + _vm->_globals.Bank[idx].field1C = 0; } } @@ -807,23 +807,23 @@ int AnimationManager::CHARGE_BANK_SPRITE1(int idx, const Common::String &filenam int v20; int v21; int result = 0; - FileManager::CONSTRUIT_FICHIER(GLOBALS.HOPANIM, filename); - GLOBALS.Bank[idx].field1C = FileManager::FLONG(GLOBALS.NFICHIER); - GLOBALS.Bank[idx].field4 = 1; - GLOBALS.Bank[idx].filename1 = filename; - GLOBALS.Bank[idx].filename2 = GLOBALS.REP_SPR; + _vm->_fileManager.CONSTRUIT_FICHIER(_vm->_globals.HOPANIM, filename); + _vm->_globals.Bank[idx].field1C = _vm->_fileManager.FLONG(_vm->_globals.NFICHIER); + _vm->_globals.Bank[idx].field4 = 1; + _vm->_globals.Bank[idx].filename1 = filename; + _vm->_globals.Bank[idx].filename2 = _vm->_globals.REP_SPR; - v3 = FileManager::CHARGE_FICHIER(GLOBALS.NFICHIER); + v3 = _vm->_fileManager.CHARGE_FICHIER(_vm->_globals.NFICHIER); v4 = v3; - GLOBALS.Bank[idx].fileHeader = 0; + _vm->_globals.Bank[idx].fileHeader = 0; if (*(v3 + 1) == 'L' && *(v3 + 2) == 'E') - GLOBALS.Bank[idx].fileHeader = 1; + _vm->_globals.Bank[idx].fileHeader = 1; if (*(v3 + 1) == 'O' && *(v3 + 2) == 'R') - GLOBALS.Bank[184].fileHeader = 2; + _vm->_globals.Bank[184].fileHeader = 2; - if (GLOBALS.Bank[idx].fileHeader) { - GLOBALS.Bank[idx].data = v3; + if (_vm->_globals.Bank[idx].fileHeader) { + _vm->_globals.Bank[idx].data = v3; v7 = 0; v8 = 0; @@ -841,45 +841,45 @@ int AnimationManager::CHARGE_BANK_SPRITE1(int idx, const Common::String &filenam } while (v7 != 1); if (v8 <= 249) { - GLOBALS.Bank[idx].field1A = v8; + _vm->_globals.Bank[idx].field1A = v8; - Common::String ofsFilename = GLOBALS.Bank[idx].filename1; + Common::String ofsFilename = _vm->_globals.Bank[idx].filename1; while (ofsFilename.lastChar() != '.') ofsFilename.deleteLastChar(); ofsFilename += ".OFS"; - FileManager::CONSTRUIT_FICHIER(GLOBALS.HOPANIM, ofsFilename); + _vm->_fileManager.CONSTRUIT_FICHIER(_vm->_globals.HOPANIM, ofsFilename); Common::File f; - if (!f.exists(GLOBALS.NFICHIER)) { - v19 = FileManager::CHARGE_FICHIER(GLOBALS.NFICHIER); + if (!f.exists(_vm->_globals.NFICHIER)) { + v19 = _vm->_fileManager.CHARGE_FICHIER(_vm->_globals.NFICHIER); v13 = v19; - if (GLOBALS.Bank[idx].field1A > 0) { - for (int v14 = 0; v14 < GLOBALS.Bank[idx].field1A; ++v14) { + if (_vm->_globals.Bank[idx].field1A > 0) { + for (int v14 = 0; v14 < _vm->_globals.Bank[idx].field1A; ++v14) { v16 = READ_LE_UINT16(v13); v17 = READ_LE_UINT16(v13 + 2); v21 = READ_LE_UINT16(v13 + 4); v20 = READ_LE_UINT16(v13 + 6); v13 += 8; - _vm->_objectsManager.set_offsetxy(GLOBALS.Bank[idx].data, v14, v16, v17, 0); - if (GLOBALS.Bank[idx].fileHeader == 2) - _vm->_objectsManager.set_offsetxy(GLOBALS.Bank[idx].data, v14, v21, v20, 1); + _vm->_objectsManager.set_offsetxy(_vm->_globals.Bank[idx].data, v14, v16, v17, 0); + if (_vm->_globals.Bank[idx].fileHeader == 2) + _vm->_objectsManager.set_offsetxy(_vm->_globals.Bank[idx].data, v14, v21, v20, 1); } } - GLOBALS.dos_free2(v19); + _vm->_globals.dos_free2(v19); } result = 0; } else { - GLOBALS.dos_free2(ptr); - GLOBALS.Bank[idx].field4 = 0; + _vm->_globals.dos_free2(ptr); + _vm->_globals.Bank[idx].field4 = 0; result = -2; } } else { - GLOBALS.dos_free2(v3); - GLOBALS.Bank[idx].field4 = 0; + _vm->_globals.dos_free2(v3); + _vm->_globals.Bank[idx].field4 = 0; result = -1; } @@ -933,8 +933,8 @@ void AnimationManager::RECHERCHE_ANIM(const byte *data, int idx, int nbytes) { breakFlag = true; if (nbytes < v6) { - GLOBALS.Bqe_Anim[idx].field4 = 0; - GLOBALS.Bqe_Anim[idx].data = PTRNUL; + _vm->_globals.Bqe_Anim[idx].field4 = 0; + _vm->_globals.Bqe_Anim[idx].data = PTRNUL; } ++v6; @@ -942,11 +942,11 @@ void AnimationManager::RECHERCHE_ANIM(const byte *data, int idx, int nbytes) { ++v5; } while (!breakFlag); - GLOBALS.Bqe_Anim[idx].data = GLOBALS.dos_malloc2(v7 + 50); - GLOBALS.Bqe_Anim[idx].field4 = 1; - memcpy(GLOBALS.Bqe_Anim[idx].data, v21 + data + 5, 20); + _vm->_globals.Bqe_Anim[idx].data = _vm->_globals.dos_malloc2(v7 + 50); + _vm->_globals.Bqe_Anim[idx].field4 = 1; + memcpy(_vm->_globals.Bqe_Anim[idx].data, v21 + data + 5, 20); - byte *dataP = GLOBALS.Bqe_Anim[idx].data; + byte *dataP = _vm->_globals.Bqe_Anim[idx].data; v9 = dataP + 20; v23 = v21 + data + 25; @@ -1019,17 +1019,17 @@ void AnimationManager::PLAY_SEQ(int a1, const Common::String &a2, uint32 a3, uin _vm->_eventsManager.souris_flag = 0; if (!NO_COUL) { _vm->_eventsManager.VBL(); - FileManager::CONSTRUIT_LINUX("TEMP.SCR"); + _vm->_fileManager.CONSTRUIT_LINUX("TEMP.SCR"); if (_vm->_graphicsManager.nbrligne == SCREEN_WIDTH) - FileManager::SAUVE_FICHIER(_vm->_globals.NFICHIER, _vm->_graphicsManager.VESA_SCREEN, 0x4B000u); + _vm->_fileManager.SAUVE_FICHIER(_vm->_globals.NFICHIER, _vm->_graphicsManager.VESA_SCREEN, 0x4B000u); if (_vm->_graphicsManager.nbrligne == (SCREEN_WIDTH * 2)) - FileManager::SAUVE_FICHIER(_vm->_globals.NFICHIER, _vm->_graphicsManager.VESA_SCREEN, 0x96000u); + _vm->_fileManager.SAUVE_FICHIER(_vm->_globals.NFICHIER, _vm->_graphicsManager.VESA_SCREEN, 0x96000u); if (!_vm->_graphicsManager.nbrligne) _vm->_graphicsManager.ofscroll = 0; } v9 = _vm->_graphicsManager.VESA_SCREEN; v10 = _vm->_globals.dos_malloc2(0x16u); - FileManager::CONSTRUIT_FICHIER(_vm->_globals.HOPSEQ, a2); + _vm->_fileManager.CONSTRUIT_FICHIER(_vm->_globals.HOPSEQ, a2); if (!f.open(_vm->_globals.NFICHIER)) error("Error opening file - %s", _vm->_globals.NFICHIER); @@ -1149,8 +1149,8 @@ LABEL_59: f.close(); if (!NO_COUL) { - FileManager::CONSTRUIT_LINUX("TEMP.SCR"); - FileManager::bload(_vm->_globals.NFICHIER, _vm->_graphicsManager.VESA_SCREEN); + _vm->_fileManager.CONSTRUIT_LINUX("TEMP.SCR"); + _vm->_fileManager.bload(_vm->_globals.NFICHIER, _vm->_graphicsManager.VESA_SCREEN); _vm->_eventsManager.souris_flag = 1; } if (v7 == 1) @@ -1187,7 +1187,7 @@ void AnimationManager::PLAY_SEQ2(const Common::String &a1, uint32 a2, uint32 a3, _vm->_eventsManager.souris_flag = 0; v10 = _vm->_graphicsManager.VESA_SCREEN; v11 = _vm->_globals.dos_malloc2(0x16u); - FileManager::CONSTRUIT_FICHIER(_vm->_globals.HOPSEQ, a1); + _vm->_fileManager.CONSTRUIT_FICHIER(_vm->_globals.HOPSEQ, a1); if (!f.open(_vm->_globals.NFICHIER)) error("File not found ", _vm->_globals.NFICHIER.c_str()); diff --git a/engines/hopkins/dialogs.cpp b/engines/hopkins/dialogs.cpp index 0cf1af84b5..4ed86cf7a6 100644 --- a/engines/hopkins/dialogs.cpp +++ b/engines/hopkins/dialogs.cpp @@ -40,13 +40,13 @@ void OptionsDialog::show(HopkinsEngine *vm) { vm->_eventsManager.CHANGE_MOUSE(0); vm->_eventsManager.VBL(); if (vm->_globals.FR == 1) - FileManager::CONSTRUIT_SYSTEM("OPTIFR.SPR"); + vm->_fileManager.CONSTRUIT_SYSTEM("OPTIFR.SPR"); if (!vm->_globals.FR) - FileManager::CONSTRUIT_SYSTEM("OPTIAN.SPR"); + vm->_fileManager.CONSTRUIT_SYSTEM("OPTIAN.SPR"); if (vm->_globals.FR == 2) - FileManager::CONSTRUIT_SYSTEM("OPTIES.SPR"); + vm->_fileManager.CONSTRUIT_SYSTEM("OPTIES.SPR"); - vm->_globals.OPTION_SPR = FileManager::CHARGE_FICHIER(vm->_globals.NFICHIER); + vm->_globals.OPTION_SPR = vm->_fileManager.CHARGE_FICHIER(vm->_globals.NFICHIER); vm->_globals.OPTION_FLAG = true; do { diff --git a/engines/hopkins/events.cpp b/engines/hopkins/events.cpp index b60562c92d..aaac4574b6 100644 --- a/engines/hopkins/events.cpp +++ b/engines/hopkins/events.cpp @@ -264,7 +264,7 @@ void EventsManager::VBL() { m_scroll(VESA_BUFFER, ofscroll, 50, SCREEN_WIDTH, 340, 0, 50); else m_scroll(VESA_BUFFER, ofscroll, 20, SCREEN_WIDTH, 440, 0, 20); - FileManager::DMESS(); + _vm->_fileManager.DMESS(); --REDRAW; } DD_Unlock(); diff --git a/engines/hopkins/files.cpp b/engines/hopkins/files.cpp index 0708c1d178..a6a0d28cf3 100644 --- a/engines/hopkins/files.cpp +++ b/engines/hopkins/files.cpp @@ -31,6 +31,13 @@ namespace Hopkins { +FileManager::FileManager() { +} + +void FileManager::setParent(HopkinsEngine *vm) { + _vm = vm; +} + void FileManager::initSaves() { Common::String dataFilename = "HISCORE.DAT"; byte data[100]; @@ -107,7 +114,7 @@ byte *FileManager::CHARGE_FICHIER(const Common::String &file) { // Allocate space for the file contents size_t filesize = f.size(); - byte *data = GLOBALS.dos_malloc2(filesize); + byte *data = _vm->_globals.dos_malloc2(filesize); if (!data) error("Error allocating space for file being loaded - %s", file.c_str()); @@ -126,7 +133,7 @@ void FileManager::CHARGE_FICHIER2(const Common::String &file, byte *buf) { error("Error opening file - %s", file.c_str()); filesize = f.size(); - FileManager::bload_it(f, buf, filesize); + _vm->_fileManager.bload_it(f, buf, filesize); f.close(); } @@ -143,7 +150,7 @@ void FileManager::bload(const Common::String &file, byte *buf) { if (!f.open(file)) error("Error openinig file - %s", file.c_str()); int32 filesize = f.size(); - FileManager::bload_it(f, buf, filesize); + _vm->_fileManager.bload_it(f, buf, filesize); f.close(); } @@ -152,26 +159,26 @@ int FileManager::bload_it(Common::ReadStream &stream, void *buf, size_t nbytes) } void FileManager::F_Censure() { - GLOBALS.CENSURE = false; + _vm->_globals.CENSURE = false; CONSTRUIT_SYSTEM("BLOOD.DAT"); - char *data = (char *)CHARGE_FICHIER(GLOBALS.NFICHIER); + char *data = (char *)CHARGE_FICHIER(_vm->_globals.NFICHIER); if (*(data + 6) == 'f' && *(data + 7) == 'r') - GLOBALS.CENSURE = false; + _vm->_globals.CENSURE = false; if (*(data + 6) == 'F' && *(data + 7) == 'R') - GLOBALS.CENSURE = false; + _vm->_globals.CENSURE = false; if (*(data + 6) == 'u' && *(data + 7) == 'k') - GLOBALS.CENSURE = true; + _vm->_globals.CENSURE = true; if (*(data + 6) == 'U' && *(data + 7) == 'K') - GLOBALS.CENSURE = true; + _vm->_globals.CENSURE = true; free(data); } int FileManager::CONSTRUIT_SYSTEM(const Common::String &file) { - GLOBALS.NFICHIER = Common::String::format("system/%s", file.c_str()); - return GLOBALS.NFICHIER.size(); + _vm->_globals.NFICHIER = Common::String::format("system/%s", file.c_str()); + return _vm->_globals.NFICHIER.size(); } void FileManager::CONSTRUIT_FICHIER(const Common::String &hop, const Common::String &file) { @@ -182,7 +189,7 @@ void FileManager::CONSTRUIT_FICHIER(const Common::String &hop, const Common::Str error("TODO: CONSTRUIT_FICHIER"); } - GLOBALS.NFICHIER = Common::String::format("%s/%s", hop.c_str(), file.c_str()); + _vm->_globals.NFICHIER = Common::String::format("%s/%s", hop.c_str(), file.c_str()); } byte *FileManager::LIBERE_FICHIER(byte *ptr) { @@ -196,91 +203,91 @@ byte *FileManager::RECHERCHE_CAT(const Common::String &file, int a2) { switch (a2) { case 1: - CONSTRUIT_FICHIER(GLOBALS.HOPLINK, "RES_INI.CAT"); - if (!f.exists(GLOBALS.NFICHIER)) + CONSTRUIT_FICHIER(_vm->_globals.HOPLINK, "RES_INI.CAT"); + if (!f.exists(_vm->_globals.NFICHIER)) return PTRNUL; - ptr = CHARGE_FICHIER(GLOBALS.NFICHIER); - CONSTRUIT_FICHIER(GLOBALS.HOPLINK, "RES_INI.RES"); + ptr = CHARGE_FICHIER(_vm->_globals.NFICHIER); + CONSTRUIT_FICHIER(_vm->_globals.HOPLINK, "RES_INI.RES"); break; case 2: - CONSTRUIT_FICHIER(GLOBALS.HOPLINK, "RES_REP.CAT"); - if (!f.exists(GLOBALS.NFICHIER)) + CONSTRUIT_FICHIER(_vm->_globals.HOPLINK, "RES_REP.CAT"); + if (!f.exists(_vm->_globals.NFICHIER)) return PTRNUL; - ptr = CHARGE_FICHIER(GLOBALS.NFICHIER); - CONSTRUIT_FICHIER(GLOBALS.HOPLINK, "RES_REP.RES"); + ptr = CHARGE_FICHIER(_vm->_globals.NFICHIER); + CONSTRUIT_FICHIER(_vm->_globals.HOPLINK, "RES_REP.RES"); break; case 3: - CONSTRUIT_FICHIER(GLOBALS.HOPLINK, "RES_LIN.CAT"); - if (!f.exists(GLOBALS.NFICHIER)) + CONSTRUIT_FICHIER(_vm->_globals.HOPLINK, "RES_LIN.CAT"); + if (!f.exists(_vm->_globals.NFICHIER)) return PTRNUL; - ptr = CHARGE_FICHIER(GLOBALS.NFICHIER); - CONSTRUIT_FICHIER(GLOBALS.HOPLINK, "RES_LIN.RES"); + ptr = CHARGE_FICHIER(_vm->_globals.NFICHIER); + CONSTRUIT_FICHIER(_vm->_globals.HOPLINK, "RES_LIN.RES"); break; case 4: - CONSTRUIT_FICHIER(GLOBALS.HOPANIM, "RES_ANI.CAT"); - if (!f.exists(GLOBALS.NFICHIER)) + CONSTRUIT_FICHIER(_vm->_globals.HOPANIM, "RES_ANI.CAT"); + if (!f.exists(_vm->_globals.NFICHIER)) return PTRNUL; - ptr = CHARGE_FICHIER(GLOBALS.NFICHIER); - CONSTRUIT_FICHIER(GLOBALS.HOPANIM, "RES_ANI.RES"); + ptr = CHARGE_FICHIER(_vm->_globals.NFICHIER); + CONSTRUIT_FICHIER(_vm->_globals.HOPANIM, "RES_ANI.RES"); break; case 5: - CONSTRUIT_FICHIER(GLOBALS.HOPANIM, "RES_PER.CAT"); - if (!f.exists(GLOBALS.NFICHIER)) + CONSTRUIT_FICHIER(_vm->_globals.HOPANIM, "RES_PER.CAT"); + if (!f.exists(_vm->_globals.NFICHIER)) return PTRNUL; - ptr = CHARGE_FICHIER(GLOBALS.NFICHIER); - CONSTRUIT_FICHIER(GLOBALS.HOPANIM, "RES_PER.RES"); + ptr = CHARGE_FICHIER(_vm->_globals.NFICHIER); + CONSTRUIT_FICHIER(_vm->_globals.HOPANIM, "RES_PER.RES"); break; case 6: - CONSTRUIT_FICHIER(GLOBALS.HOPIMAGE, "PIC.CAT"); - if (!f.exists(GLOBALS.NFICHIER)) + CONSTRUIT_FICHIER(_vm->_globals.HOPIMAGE, "PIC.CAT"); + if (!f.exists(_vm->_globals.NFICHIER)) return PTRNUL; - ptr = CHARGE_FICHIER(GLOBALS.NFICHIER); + ptr = CHARGE_FICHIER(_vm->_globals.NFICHIER); break; case 7: - CONSTRUIT_FICHIER(GLOBALS.HOPANIM, "RES_SAN.CAT"); - if (!f.exists(GLOBALS.NFICHIER)) + CONSTRUIT_FICHIER(_vm->_globals.HOPANIM, "RES_SAN.CAT"); + if (!f.exists(_vm->_globals.NFICHIER)) return PTRNUL; - ptr = CHARGE_FICHIER(GLOBALS.NFICHIER); + ptr = CHARGE_FICHIER(_vm->_globals.NFICHIER); break; case 8: - CONSTRUIT_FICHIER(GLOBALS.HOPLINK, "RES_SLI.CAT"); - if (!f.exists(GLOBALS.NFICHIER)) + CONSTRUIT_FICHIER(_vm->_globals.HOPLINK, "RES_SLI.CAT"); + if (!f.exists(_vm->_globals.NFICHIER)) return PTRNUL; - ptr = CHARGE_FICHIER(GLOBALS.NFICHIER); + ptr = CHARGE_FICHIER(_vm->_globals.NFICHIER); break; case 9: - switch (GLOBALS.FR) { + switch (_vm->_globals.FR) { case 0: - CONSTRUIT_FICHIER(GLOBALS.HOPLINK, "RES_VAN.CAT"); + CONSTRUIT_FICHIER(_vm->_globals.HOPLINK, "RES_VAN.CAT"); break; case 1: - CONSTRUIT_FICHIER(GLOBALS.HOPLINK, "RES_VFR.CAT"); + CONSTRUIT_FICHIER(_vm->_globals.HOPLINK, "RES_VFR.CAT"); break; case 2: - CONSTRUIT_FICHIER(GLOBALS.HOPLINK, "RES_VES.CAT"); + CONSTRUIT_FICHIER(_vm->_globals.HOPLINK, "RES_VES.CAT"); break; } - if (!f.exists(GLOBALS.NFICHIER)) + if (!f.exists(_vm->_globals.NFICHIER)) return PTRNUL; - ptr = CHARGE_FICHIER(GLOBALS.NFICHIER); + ptr = CHARGE_FICHIER(_vm->_globals.NFICHIER); break; // Deliberate fall-through to default: @@ -298,33 +305,33 @@ byte *FileManager::RECHERCHE_CAT(const Common::String &file, int a2) { if (name == file) { // Found entry for file, so get it's details from the catalogue entry const byte *pData = ptr + offsetVal; - GLOBALS.CAT_POSI = READ_LE_UINT32(pData + 15); - GLOBALS.CAT_TAILLE = READ_LE_UINT32(pData + 19); + _vm->_globals.CAT_POSI = READ_LE_UINT32(pData + 15); + _vm->_globals.CAT_TAILLE = READ_LE_UINT32(pData + 19); matchFlag = true; } if (name == "FINIS") { - GLOBALS.dos_free2(ptr); + _vm->_globals.dos_free2(ptr); return false; } offsetVal += 23; } while (!matchFlag); - GLOBALS.dos_free2(ptr); + _vm->_globals.dos_free2(ptr); // TODO: Double check whether this really should be an unsigned int comparison if ((uint16)(a2 - 6) > 1 && (uint16)(a2 - 8) > 1) { - if (!f.open(GLOBALS.NFICHIER)) + if (!f.open(_vm->_globals.NFICHIER)) error("CHARGE_FICHIER"); - f.seek(GLOBALS.CAT_POSI); + f.seek(_vm->_globals.CAT_POSI); - byte *catData = GLOBALS.dos_malloc2(GLOBALS.CAT_TAILLE); + byte *catData = _vm->_globals.dos_malloc2(_vm->_globals.CAT_TAILLE); if (catData == PTRNUL) error("CHARGE_FICHIER"); - bload_it(f, catData, GLOBALS.CAT_TAILLE); + bload_it(f, catData, _vm->_globals.CAT_TAILLE); f.close(); result = catData; } else { diff --git a/engines/hopkins/files.h b/engines/hopkins/files.h index 77361b2920..9aece5fba3 100644 --- a/engines/hopkins/files.h +++ b/engines/hopkins/files.h @@ -30,29 +30,36 @@ namespace Hopkins { +class HopkinsEngine; + class FileManager { public: - static void initSaves(); - static bool SAUVE_FICHIER(const Common::String &file, const void *buf, size_t n); - static bool bsave(const Common::String &file, const void *buf, size_t n); - static void Chage_Inifile(Common::StringMap &iniParams); - static byte *CHARGE_FICHIER(const Common::String &file); - static void CHARGE_FICHIER2(const Common::String &file, byte *a2); - static void DMESS(); - static void DMESS1(); - static void bload(const Common::String &file, byte *buf); - static int bload_it(Common::ReadStream &stream, void *buf, size_t nbytes); - static void F_Censure(); - static int CONSTRUIT_SYSTEM(const Common::String &file); - static void CONSTRUIT_FICHIER(const Common::String &hop, const Common::String &file); - static byte *LIBERE_FICHIER(byte *ptr); - static byte *RECHERCHE_CAT(const Common::String &file, int a2); - static Common::String CONSTRUIT_LINUX(const Common::String &file); + HopkinsEngine *_vm; +public: + FileManager(); + void setParent(HopkinsEngine *vm); + + void initSaves(); + bool SAUVE_FICHIER(const Common::String &file, const void *buf, size_t n); + bool bsave(const Common::String &file, const void *buf, size_t n); + void Chage_Inifile(Common::StringMap &iniParams); + byte *CHARGE_FICHIER(const Common::String &file); + void CHARGE_FICHIER2(const Common::String &file, byte *a2); + void DMESS(); + void DMESS1(); + void bload(const Common::String &file, byte *buf); + int bload_it(Common::ReadStream &stream, void *buf, size_t nbytes); + void F_Censure(); + int CONSTRUIT_SYSTEM(const Common::String &file); + void CONSTRUIT_FICHIER(const Common::String &hop, const Common::String &file); + byte *LIBERE_FICHIER(byte *ptr); + byte *RECHERCHE_CAT(const Common::String &file, int a2); + Common::String CONSTRUIT_LINUX(const Common::String &file); /** * Returns the size of a file. Throws an error if the file can't be found */ - static uint32 FLONG(const Common::String &filename); + uint32 FLONG(const Common::String &filename); }; } // End of namespace Hopkins diff --git a/engines/hopkins/font.cpp b/engines/hopkins/font.cpp index fb938bfbf6..919d55a3d5 100644 --- a/engines/hopkins/font.cpp +++ b/engines/hopkins/font.cpp @@ -224,7 +224,7 @@ void FontManager::BOITE(int idx, int fileIndex, const Common::String &filename, while (v62 <= 19); &Txt[idx].field408 = 1; - FileManager::CONSTRUIT_FICHIER(HOPLINK, filename); + _vm->_fileManager.CONSTRUIT_FICHIER(HOPLINK, filename); fname = _vm->_globals.NFICHIER; if (strncmp(fname.c_str(), oldname.c_str(), fname.size())) { diff --git a/engines/hopkins/globals.cpp b/engines/hopkins/globals.cpp index b7f5b51b5d..899cc842f1 100644 --- a/engines/hopkins/globals.cpp +++ b/engines/hopkins/globals.cpp @@ -697,8 +697,8 @@ void Globals::CLEAR_VBOB() { } void Globals::CHARGE_OBJET() { - FileManager::CONSTRUIT_SYSTEM("OBJET.DAT"); - byte *data = FileManager::CHARGE_FICHIER(NFICHIER); + _vm->_fileManager.CONSTRUIT_SYSTEM("OBJET.DAT"); + byte *data = _vm->_fileManager.CHARGE_FICHIER(NFICHIER); byte *srcP = data; for (int idx = 0; idx < 300; ++idx) { @@ -790,14 +790,14 @@ void Globals::CHARGE_CACHE(const Common::String &file) { Common::File f; RESET_CACHE(); - FileManager::CONSTRUIT_FICHIER(HOPLINK, file); - ptr = FileManager::CHARGE_FICHIER(NFICHIER); + _vm->_fileManager.CONSTRUIT_FICHIER(HOPLINK, file); + ptr = _vm->_fileManager.CHARGE_FICHIER(NFICHIER); v16 = Common::String((const char *)ptr); - FileManager::CONSTRUIT_FICHIER(HOPLINK, v16); + _vm->_fileManager.CONSTRUIT_FICHIER(HOPLINK, v16); if (!f.exists(NFICHIER)) { - spriteData = FileManager::CHARGE_FICHIER(NFICHIER); + spriteData = _vm->_fileManager.CHARGE_FICHIER(NFICHIER); CACHE_BANQUE[1] = spriteData; v15 = 60; v14 = 0; diff --git a/engines/hopkins/graphics.cpp b/engines/hopkins/graphics.cpp index 64013cd215..851768a6b9 100644 --- a/engines/hopkins/graphics.cpp +++ b/engines/hopkins/graphics.cpp @@ -79,8 +79,8 @@ GraphicsManager::GraphicsManager() { } GraphicsManager::~GraphicsManager() { - GLOBALS.dos_free2(VESA_SCREEN); - GLOBALS.dos_free2(VESA_BUFFER); + _vm->_globals.dos_free2(VESA_SCREEN); + _vm->_globals.dos_free2(VESA_BUFFER); } void GraphicsManager::setParent(HopkinsEngine *vm) { @@ -91,21 +91,21 @@ void GraphicsManager::SET_MODE(int width, int height) { if (!SDL_MODEYES) { SDL_ECHELLE = 0; - if (GLOBALS.XSETMODE == 1) + if (_vm->_globals.XSETMODE == 1) SDL_ECHELLE = 0; - if (GLOBALS.XSETMODE == 2) + if (_vm->_globals.XSETMODE == 2) SDL_ECHELLE = 25; - if (GLOBALS.XSETMODE == 3) + if (_vm->_globals.XSETMODE == 3) SDL_ECHELLE = 50; - if (GLOBALS.XSETMODE == 4) + if (_vm->_globals.XSETMODE == 4) SDL_ECHELLE = 75; - if (GLOBALS.XSETMODE == 5) - SDL_ECHELLE = GLOBALS.XZOOM; + if (_vm->_globals.XSETMODE == 5) + SDL_ECHELLE = _vm->_globals.XZOOM; int bpp = 8; - if (GLOBALS.XFORCE8 == 1) + if (_vm->_globals.XFORCE8 == 1) bpp = 8; - if (GLOBALS.XFORCE16 == 1) + if (_vm->_globals.XFORCE16 == 1) bpp = 16; if (SDL_ECHELLE) { @@ -122,8 +122,8 @@ void GraphicsManager::SET_MODE(int width, int height) { } // Init surfaces - VESA_SCREEN = GLOBALS.dos_malloc2(SCREEN_WIDTH * 2 * SCREEN_HEIGHT); - VESA_BUFFER = GLOBALS.dos_malloc2(SCREEN_WIDTH * 2 * SCREEN_HEIGHT); + VESA_SCREEN = _vm->_globals.dos_malloc2(SCREEN_WIDTH * 2 * SCREEN_HEIGHT); + VESA_BUFFER = _vm->_globals.dos_malloc2(SCREEN_WIDTH * 2 * SCREEN_HEIGHT); VideoPtr = NULL; XSCREEN = width; @@ -174,12 +174,12 @@ void GraphicsManager::CHARGE_ECRAN(const Common::String &file) { bool flag; Common::File f; - FileManager::DMESS1(); + _vm->_fileManager.DMESS1(); flag = true; - if (FileManager::RECHERCHE_CAT(file, 6)) { - FileManager::CONSTRUIT_FICHIER(GLOBALS.HOPIMAGE, file); - if (!f.open(GLOBALS.NFICHIER)) + if (_vm->_fileManager.RECHERCHE_CAT(file, 6)) { + _vm->_fileManager.CONSTRUIT_FICHIER(_vm->_globals.HOPIMAGE, file); + if (!f.open(_vm->_globals.NFICHIER)) error("CHARGE_ECRAN - %s", file.c_str()); f.seek(0, SEEK_END); @@ -364,12 +364,12 @@ void GraphicsManager::A_PCX640_480(byte *surface, const Common::String &file, by memset(surface, 0, SCREEN_WIDTH * 2 * SCREEN_HEIGHT); if (typeFlag) { - FileManager::CONSTRUIT_FICHIER(GLOBALS.HOPIMAGE, "PIC.RES"); - if (!f.open(GLOBALS.NFICHIER)) + _vm->_fileManager.CONSTRUIT_FICHIER(_vm->_globals.HOPIMAGE, "PIC.RES"); + if (!f.open(_vm->_globals.NFICHIER)) error("(nom)Erreur en cours de lecture."); - f.seek(GLOBALS.CAT_POSI); + f.seek(_vm->_globals.CAT_POSI); - v7 = GLOBALS.CAT_TAILLE - 896; + v7 = _vm->_globals.CAT_TAILLE - 896; v8 = f.read(HEADER_PCX, 128); v6 = READ_LE_UINT16(&HEADER_PCX[8]) + 1; @@ -387,8 +387,8 @@ void GraphicsManager::A_PCX640_480(byte *surface, const Common::String &file, by if (v8 == -1) error("Erreur en cours de lecture."); } else { - FileManager::CONSTRUIT_FICHIER(GLOBALS.HOPIMAGE, file); - if (!f.open(GLOBALS.NFICHIER)) + _vm->_fileManager.CONSTRUIT_FICHIER(_vm->_globals.HOPIMAGE, file); + if (!f.open(_vm->_globals.NFICHIER)) error("(nom)Erreur en cours de lecture."); filesize = f.size(); @@ -411,7 +411,7 @@ void GraphicsManager::A_PCX640_480(byte *surface, const Common::String &file, by v7 = filesize - 896; } - ptr = GLOBALS.dos_malloc2(0xEE60u); + ptr = _vm->_globals.dos_malloc2(0xEE60u); if (v7 >= 60000) { v21 = v7 / 60000 + 1; v23 = 60000 * (v7 / 60000) - v7; @@ -470,7 +470,7 @@ void GraphicsManager::A_PCX640_480(byte *surface, const Common::String &file, by } while (v18 < v19 * v20); if (typeFlag) { - f.seek(GLOBALS.CAT_TAILLE + GLOBALS.CAT_POSI - 768); + f.seek(_vm->_globals.CAT_TAILLE + _vm->_globals.CAT_POSI - 768); } else { filesize = f.size(); f.seek(filesize - 768); @@ -480,7 +480,7 @@ void GraphicsManager::A_PCX640_480(byte *surface, const Common::String &file, by error("A_PCX640_480"); f.close(); - GLOBALS.dos_free2(ptr); + _vm->_globals.dos_free2(ptr); } void GraphicsManager::Cls_Pal() { @@ -2342,25 +2342,25 @@ void GraphicsManager::OPTI_INI(const Common::String &file, int a2) { v9 = 0; v13 = file + ".ini"; - ptr = FileManager::RECHERCHE_CAT(v13, 1); + ptr = _vm->_fileManager.RECHERCHE_CAT(v13, 1); if (PTRNUL == ptr) { - FileManager::CONSTRUIT_FICHIER(_vm->_globals.HOPLINK, v13); - ptr = FileManager::CHARGE_FICHIER(_vm->_globals.NFICHIER); + _vm->_fileManager.CONSTRUIT_FICHIER(_vm->_globals.HOPLINK, v13); + ptr = _vm->_fileManager.CHARGE_FICHIER(_vm->_globals.NFICHIER); } if (!a2) { v13 = file + ".spr"; if (PTRNUL != _vm->_globals.SPRITE_ECRAN) - _vm->_globals.SPRITE_ECRAN = FileManager::LIBERE_FICHIER(_vm->_globals.SPRITE_ECRAN); + _vm->_globals.SPRITE_ECRAN = _vm->_fileManager.LIBERE_FICHIER(_vm->_globals.SPRITE_ECRAN); if (!_vm->_globals.NOSPRECRAN) { - _vm->_globals.SPRITE_ECRAN = FileManager::RECHERCHE_CAT(v13, 8); + _vm->_globals.SPRITE_ECRAN = _vm->_fileManager.RECHERCHE_CAT(v13, 8); if (_vm->_globals.SPRITE_ECRAN) { _vm->_globals.CAT_FLAG = 0; - FileManager::CONSTRUIT_FICHIER(_vm->_globals.HOPLINK, v13); + _vm->_fileManager.CONSTRUIT_FICHIER(_vm->_globals.HOPLINK, v13); } else { _vm->_globals.CAT_FLAG = 1; - FileManager::CONSTRUIT_FICHIER(_vm->_globals.HOPLINK, "RES_SLI.RES"); + _vm->_fileManager.CONSTRUIT_FICHIER(_vm->_globals.HOPLINK, "RES_SLI.RES"); } - _vm->_globals.SPRITE_ECRAN = FileManager::CHARGE_FICHIER(_vm->_globals.NFICHIER); + _vm->_globals.SPRITE_ECRAN = _vm->_fileManager.CHARGE_FICHIER(_vm->_globals.NFICHIER); _vm->_globals.CAT_FLAG = 0; } } @@ -2388,11 +2388,11 @@ void GraphicsManager::OPTI_INI(const Common::String &file, int a2) { _vm->_globals.COUCOU = _vm->_globals.dos_free2(_vm->_globals.COUCOU); v13 = file + ".rep"; - byte *dataP = FileManager::RECHERCHE_CAT(v13, 2); + byte *dataP = _vm->_fileManager.RECHERCHE_CAT(v13, 2); _vm->_globals.COUCOU = dataP; if (PTRNUL == dataP) { - FileManager::CONSTRUIT_FICHIER(_vm->_globals.HOPLINK, v13); - dataP = FileManager::CHARGE_FICHIER(_vm->_globals.NFICHIER); + _vm->_fileManager.CONSTRUIT_FICHIER(_vm->_globals.HOPLINK, v13); + dataP = _vm->_fileManager.CHARGE_FICHIER(_vm->_globals.NFICHIER); _vm->_globals.COUCOU = dataP; } } diff --git a/engines/hopkins/hopkins.cpp b/engines/hopkins/hopkins.cpp index a29253571f..0afc35c0b0 100644 --- a/engines/hopkins/hopkins.cpp +++ b/engines/hopkins/hopkins.cpp @@ -40,6 +40,7 @@ HopkinsEngine::HopkinsEngine(OSystem *syst, const HopkinsGameDescription *gameDe g_vm = this; _animationManager.setParent(this); _eventsManager.setParent(this); + _fileManager.setParent(this); _fontManager.setParent(this); _globals.setParent(this); _graphicsManager.setParent(this); @@ -52,23 +53,23 @@ HopkinsEngine::~HopkinsEngine() { } Common::Error HopkinsEngine::run() { - FileManager::initSaves(); + _fileManager.initSaves(); Common::StringMap iniParams; - FileManager::Chage_Inifile(iniParams); + _fileManager.Chage_Inifile(iniParams); processIniParams(iniParams); - GLOBALS.setConfig(); - FileManager::F_Censure(); + _globals.setConfig(); + _fileManager.F_Censure(); INIT_SYSTEM(); _soundManager.WSOUND_INIT(); - GLOBALS.CHARGE_OBJET(); + _globals.CHARGE_OBJET(); _objectsManager.CHANGE_OBJET(14); _objectsManager.AJOUTE_OBJET(14); - GLOBALS.HELICO = 0; + _globals.HELICO = 0; _eventsManager.MOUSE_OFF(); _graphicsManager.DD_Lock(); @@ -81,7 +82,7 @@ Common::Error HopkinsEngine::run() { _eventsManager.delay(1500); _graphicsManager.FADE_OUTW(); - if (!GLOBALS.internet) { + if (!_globals.internet) { _graphicsManager.FADE_LINUX = 2; _animationManager.PLAY_ANM("MP.ANM", 10, 16, 200); } @@ -95,22 +96,22 @@ Common::Error HopkinsEngine::run() { INTRORUN(); _globals.iRegul = 0; - FileManager::CONSTRUIT_SYSTEM("PERSO.SPR"); - GLOBALS.PERSO = FileManager::CHARGE_FICHIER(GLOBALS.NFICHIER); - GLOBALS.PERSO_TYPE = 0; - GLOBALS.PLANX = GLOBALS.PLANY = 0; - memset(GLOBALS.SAUVEGARDE, 0, 2000); - GLOBALS.SORTIE = 0; - GLOBALS.PASSWORD = 1; + _fileManager.CONSTRUIT_SYSTEM("PERSO.SPR"); + _globals.PERSO = _fileManager.CHARGE_FICHIER(_globals.NFICHIER); + _globals.PERSO_TYPE = 0; + _globals.PLANX = _globals.PLANY = 0; + memset(_globals.SAUVEGARDE, 0, 2000); + _globals.SORTIE = 0; + _globals.PASSWORD = 1; LABEL_12: - if (GLOBALS.SORTIE == 300) + if (_globals.SORTIE == 300) LABEL_13: - GLOBALS.SORTIE = 0; + _globals.SORTIE = 0; - if (!GLOBALS.SORTIE) { - GLOBALS.SORTIE = _menuManager.MENU(); - if (GLOBALS.SORTIE == -1) { + if (!_globals.SORTIE) { + _globals.SORTIE = _menuManager.MENU(); + if (_globals.SORTIE == -1) { if (!g_system->getEventManager()->shouldQuit()) PUBQUIT(); _globals.PERSO = _globals.dos_free2(_globals.PERSO); @@ -129,19 +130,19 @@ LABEL_13: if (g_system->getEventManager()->shouldQuit()) return Common::kNoError; - if (GLOBALS.SORTIE == 300) + if (_globals.SORTIE == 300) goto LABEL_13; - if (GLOBALS.SORTIE == 18) + if (_globals.SORTIE == 18) PASS(); - if (GLOBALS.SORTIE == 23) + if (_globals.SORTIE == 23) PASS(); - if (GLOBALS.SORTIE == 22) + if (_globals.SORTIE == 22) PASS(); - if (GLOBALS.SORTIE == 19) + if (_globals.SORTIE == 19) PASS(); - if (GLOBALS.SORTIE == 20) + if (_globals.SORTIE == 20) PASS(); - if (GLOBALS.SORTIE != 1) + if (_globals.SORTIE != 1) break; _globals.Max_Propre = 50; @@ -151,10 +152,10 @@ LABEL_13: _objectsManager.PERSONAGE2("IM01", "IM01", "ANIM01", "IM01", 1); } - if (GLOBALS.SORTIE != 3) + if (_globals.SORTIE != 3) break; - if (!*((byte *)GLOBALS.SAUVEGARDE + 170)) { + if (!*((byte *)_globals.SAUVEGARDE + 170)) { _soundManager.WSOUND(3); if (_globals.FR == 1) _graphicsManager.LOAD_IMAGE("fond_globals.FR"); @@ -174,41 +175,41 @@ LABEL_13: _graphicsManager.Cls_Pal(); _graphicsManager.FADE_LINUX = 2; - if (!GLOBALS.CENSURE) + if (!_globals.CENSURE) _animationManager.PLAY_ANM("BANQUE.ANM", 200, 28, 200); - if (GLOBALS.CENSURE == 1) + if (_globals.CENSURE == 1) _animationManager.PLAY_ANM("BANKUK.ANM", 200, 28, 200); _soundManager.SPECIAL_SOUND = 0; _soundManager.DEL_SAMPLE(1); _soundManager.DEL_SAMPLE(2); _soundManager.DEL_SAMPLE(3); _soundManager.DEL_SAMPLE(4); - *((byte *)GLOBALS.SAUVEGARDE + 170) = 1; + *((byte *)_globals.SAUVEGARDE + 170) = 1; } _globals.Max_Propre = 5; _globals.Max_Ligne_Long = 5; _globals.Max_Propre_Gen = 5; _globals.Max_Perso_Y = 450; - GLOBALS.NOSPRECRAN = 1; + _globals.NOSPRECRAN = 1; _objectsManager.PERSONAGE2("IM03", "IM03", "ANIM03", "IM03", 2); } - if (GLOBALS.SORTIE != 4) + if (_globals.SORTIE != 4) break; _globals.DESACTIVE_INVENT = true; _objectsManager.PLAN_BETA(); _globals.DESACTIVE_INVENT = false; } - if (GLOBALS.SORTIE != 5) + if (_globals.SORTIE != 5) break; _globals.Max_Propre = 5; _globals.Max_Ligne_Long = 5; _globals.Max_Propre_Gen = 5; _globals.Max_Perso_Y = 455; - GLOBALS.NOSPRECRAN = 1; - byte v1 = *((byte *)GLOBALS.SAUVEGARDE + 80); + _globals.NOSPRECRAN = 1; + byte v1 = *((byte *)_globals.SAUVEGARDE + 80); if (v1) { if (v1 == 1) _objectsManager.PERSONAGE2("IM05", "IM05A", "ANIM05B", "IM05", 3); @@ -216,10 +217,10 @@ LABEL_13: _objectsManager.PERSONAGE2("IM05", "IM05", "ANIM05", "IM05", 3); } - GLOBALS.NOSPRECRAN = 0; + _globals.NOSPRECRAN = 0; } - if (GLOBALS.SORTIE != 8) + if (_globals.SORTIE != 8) break; _globals.Max_Propre = 15; @@ -229,7 +230,7 @@ LABEL_13: _objectsManager.PERSONAGE2("IM08", "IM08", "ANIM08", "IM08", 2); } - if (GLOBALS.SORTIE != 6) + if (_globals.SORTIE != 6) break; _globals.Max_Propre = 15; _globals.Max_Ligne_Long = 20; @@ -238,32 +239,32 @@ LABEL_13: _objectsManager.PERSONAGE2("IM06", "IM06", "ANIM06", "IM06", 2); } - if (GLOBALS.SORTIE != 7) + if (_globals.SORTIE != 7) break; - if (*((byte *)GLOBALS.SAUVEGARDE + 220)) + if (*((byte *)_globals.SAUVEGARDE + 220)) _objectsManager.PERSONAGE("BOMBEB", "BOMBE", "BOMBE", "BOMBE", 2); else _objectsManager.PERSONAGE("BOMBEA", "BOMBE", "BOMBE", "BOMBE", 2); } - if (GLOBALS.SORTIE == 9) { + if (_globals.SORTIE == 9) { _globals.Max_Propre = 15; _globals.Max_Ligne_Long = 20; _globals.Max_Propre_Gen = 10; _globals.Max_Perso_Y = 440; - if (!*((byte *)GLOBALS.SAUVEGARDE + 225)) + if (!*((byte *)_globals.SAUVEGARDE + 225)) goto LABEL_109; _objectsManager.PERSONAGE2("IM09", "IM09", "ANIM09", "IM09", 10); } else { - if (GLOBALS.SORTIE == 10) { - GLOBALS.NOSPRECRAN = 1; + if (_globals.SORTIE == 10) { + _globals.NOSPRECRAN = 1; _objectsManager.PERSONAGE("IM10", "IM10", "ANIM10", "IM10", 9); goto LABEL_124; } - if (GLOBALS.SORTIE == 11) { - GLOBALS.NOSPRECRAN = 1; + if (_globals.SORTIE == 11) { + _globals.NOSPRECRAN = 1; _globals.Max_Propre = 15; _globals.Max_Ligne_Long = 20; _globals.Max_Propre_Gen = 10; @@ -272,14 +273,14 @@ LABEL_13: goto LABEL_124; } - switch (GLOBALS.SORTIE) { + switch (_globals.SORTIE) { case 12: _globals.Max_Propre = 15; _globals.Max_Ligne_Long = 20; _globals.Max_Propre_Gen = 10; _globals.Max_Perso_Y = 450; - if (*((byte *)GLOBALS.SAUVEGARDE + 225)) { - GLOBALS.NOSPRECRAN = 1; + if (*((byte *)_globals.SAUVEGARDE + 225)) { + _globals.NOSPRECRAN = 1; _objectsManager.PERSONAGE2("IM12", "IM12", "ANIM12", "IM12", 1); } else { LABEL_109: @@ -301,84 +302,84 @@ LABEL_109: _objectsManager.PERSONAGE2("IM14", "IM14", "ANIM14", "IM14", 1); break; default: - if (GLOBALS.SORTIE == 15) { - GLOBALS.NOSPRECRAN = 1; + if (_globals.SORTIE == 15) { + _globals.NOSPRECRAN = 1; _objectsManager.PERSONAGE("IM15", "IM15", "ANIM15", "IM15", 29); goto LABEL_124; } - if (GLOBALS.SORTIE == 16) { + if (_globals.SORTIE == 16) { _globals.Max_Propre = 5; _globals.Max_Ligne_Long = 5; _globals.Max_Propre_Gen = 5; _globals.Max_Perso_Y = 450; - byte v2 = *((byte *)GLOBALS.SAUVEGARDE + 113); + byte v2 = *((byte *)_globals.SAUVEGARDE + 113); if (v2 == 1) { _objectsManager.PERSONAGE2("IM16", "IM16A", "ANIM16", "IM16", 7); } else if (!v2) { _objectsManager.PERSONAGE2("IM16", "IM16", "ANIM16", "IM16", 7); } } else { - if (GLOBALS.SORTIE == 17) + if (_globals.SORTIE == 17) PASS(); - if (GLOBALS.SORTIE == 24) + if (_globals.SORTIE == 24) PASS(); - if (GLOBALS.SORTIE == 25) { + if (_globals.SORTIE == 25) { _globals.Max_Propre = 15; _globals.Max_Ligne_Long = 20; _globals.Max_Propre_Gen = 10; _globals.Max_Perso_Y = 445; _objectsManager.PERSONAGE2("IM25", "IM25", "ANIM25", "IM25", 30); } else { - if (GLOBALS.SORTIE == 33) { - GLOBALS.NOSPRECRAN = 1; + if (_globals.SORTIE == 33) { + _globals.NOSPRECRAN = 1; _objectsManager.PERSONAGE("IM33", "IM33", "ANIM33", "IM33", 8); goto LABEL_124; } - if (GLOBALS.SORTIE == 26) { + if (_globals.SORTIE == 26) { _globals.Max_Propre = 50; _globals.Max_Ligne_Long = 40; _globals.Max_Propre_Gen = 20; _globals.Max_Perso_Y = 435; _objectsManager.PERSONAGE2("IM26", "IM26", "ANIM26", "IM26", 30); } else { - if (GLOBALS.SORTIE == 27) + if (_globals.SORTIE == 27) PASS(); - if (GLOBALS.SORTIE == 28) + if (_globals.SORTIE == 28) PASS(); - if (GLOBALS.SORTIE == 29) + if (_globals.SORTIE == 29) PASS(); - if (GLOBALS.SORTIE == 30) + if (_globals.SORTIE == 30) PASS(); - if (GLOBALS.SORTIE == 31) + if (_globals.SORTIE == 31) PASS(); - if (GLOBALS.SORTIE == 35) + if (_globals.SORTIE == 35) ENDEMO(); - if (GLOBALS.SORTIE == 32) + if (_globals.SORTIE == 32) PASS(); - if (GLOBALS.SORTIE == 34) + if (_globals.SORTIE == 34) PASS(); - if ((uint16)(GLOBALS.SORTIE - 51) <= 38) + if ((uint16)(_globals.SORTIE - 51) <= 38) PASS(); - if (GLOBALS.SORTIE == 111) { - GLOBALS.NOSPRECRAN = 1; + if (_globals.SORTIE == 111) { + _globals.NOSPRECRAN = 1; _objectsManager.PERSONAGE("IM111", "IM111", "ANIM111", "IM111", 10); goto LABEL_124; } - if (GLOBALS.SORTIE == 112) { - GLOBALS.NOSPRECRAN = 1; + if (_globals.SORTIE == 112) { + _globals.NOSPRECRAN = 1; _objectsManager.PERSONAGE("IM112", "IM112", "ANIM112", "IM112", 10); LABEL_124: - GLOBALS.NOSPRECRAN = 0; - } else if (GLOBALS.SORTIE == 113) { - GLOBALS.SORTIE = 0; + _globals.NOSPRECRAN = 0; + } else if (_globals.SORTIE == 113) { + _globals.SORTIE = 0; _globals.OLD_ECRAN = _globals.ECRAN; - *((byte *)GLOBALS.SAUVEGARDE + 6) = _globals.ECRAN; + *((byte *)_globals.SAUVEGARDE + 6) = _globals.ECRAN; _globals.ECRAN = 113; - *((byte *)GLOBALS.SAUVEGARDE + 5) = 113; + *((byte *)_globals.SAUVEGARDE + 5) = 113; _menuManager.COMPUT_HOPKINS(1); _graphicsManager.DD_Lock(); @@ -390,29 +391,29 @@ LABEL_124: _graphicsManager.Cls_Pal(); _graphicsManager.RESET_SEGMENT_VESA(); } else { - if (GLOBALS.SORTIE == 114) { - GLOBALS.SORTIE = 0; + if (_globals.SORTIE == 114) { + _globals.SORTIE = 0; _globals.OLD_ECRAN = _globals.ECRAN; - *((byte *)GLOBALS.SAUVEGARDE + 6) = _globals.ECRAN; + *((byte *)_globals.SAUVEGARDE + 6) = _globals.ECRAN; _globals.ECRAN = 114; - *((byte *)GLOBALS.SAUVEGARDE + 5) = 114; + *((byte *)_globals.SAUVEGARDE + 5) = 114; _menuManager.COMPUT_HOPKINS(2); goto LABEL_128; } - if (GLOBALS.SORTIE == 115) { - GLOBALS.SORTIE = 0; + if (_globals.SORTIE == 115) { + _globals.SORTIE = 0; _globals.OLD_ECRAN = _globals.ECRAN; - *((byte *)GLOBALS.SAUVEGARDE + 6) = _globals.ECRAN; + *((byte *)_globals.SAUVEGARDE + 6) = _globals.ECRAN; _globals.ECRAN = 115; - *((byte *)GLOBALS.SAUVEGARDE + 5) = 115; + *((byte *)_globals.SAUVEGARDE + 5) = 115; _menuManager.COMPUT_HOPKINS(3); LABEL_128: _graphicsManager.DD_Lock(); _graphicsManager.Cls_Video(); _graphicsManager.DD_Unlock(); - } else if ((uint16)(GLOBALS.SORTIE - 194) > 5) { - if (GLOBALS.SORTIE == 151) { + } else if ((uint16)(_globals.SORTIE - 194) > 5) { + if (_globals.SORTIE == 151) { _soundManager.WSOUND(16); _globals.iRegul = 1; @@ -423,10 +424,10 @@ LABEL_128: _graphicsManager.FADE_LINUX = 2; _animationManager.PLAY_ANM("JOUR3A.anm", 12, 12, 2000); _globals.iRegul = 0; - GLOBALS.SORTIE = 300; + _globals.SORTIE = 300; } - if (GLOBALS.SORTIE == 150) { + if (_globals.SORTIE == 150) { _soundManager.WSOUND(16); _globals.iRegul = 1; @@ -437,10 +438,10 @@ LABEL_128: _graphicsManager.FADE_LINUX = 2; _animationManager.PLAY_ANM("JOUR1A.anm", 12, 12, 2000); _globals.iRegul = 0; - GLOBALS.SORTIE = 300; + _globals.SORTIE = 300; } - if (GLOBALS.SORTIE == 152) { + if (_globals.SORTIE == 152) { _soundManager.WSOUND(16); _globals.iRegul = 1; @@ -451,7 +452,7 @@ LABEL_128: _graphicsManager.FADE_LINUX = 2; _animationManager.PLAY_ANM("JOUR4A.anm", 12, 12, 2000); _globals.iRegul = 0; - GLOBALS.SORTIE = 300; + _globals.SORTIE = 300; } goto LABEL_12; } @@ -483,23 +484,23 @@ int HopkinsEngine::getRandomNumber(int maxNumber) { } void HopkinsEngine::processIniParams(Common::StringMap &iniParams) { - GLOBALS.XFULLSCREEN = iniParams["FULLSCREEN"] == "YES"; + _globals.XFULLSCREEN = iniParams["FULLSCREEN"] == "YES"; - GLOBALS.XSETMODE = 1; + _globals.XSETMODE = 1; if (iniParams.contains("SETMODE")) { int setMode = atoi(iniParams["SETMODE"].c_str()); - GLOBALS.XSETMODE = CLIP(setMode, 1, 5); + _globals.XSETMODE = CLIP(setMode, 1, 5); } - GLOBALS.XZOOM = 0; - if (GLOBALS.XSETMODE == 5 && iniParams.contains("ZOOM")) { + _globals.XZOOM = 0; + if (_globals.XSETMODE == 5 && iniParams.contains("ZOOM")) { int zoom = atoi(iniParams["ZOOM"].c_str()); - GLOBALS.XZOOM = CLIP(zoom, 25, 100); + _globals.XZOOM = CLIP(zoom, 25, 100); } - GLOBALS.XFORCE16 = iniParams["FORCE16BITS"] == "YES"; - GLOBALS.XFORCE8 = iniParams["FORCE8BITS"] == "YES"; - GLOBALS.CARD_SB = iniParams["SOUND"] == "YES"; + _globals.XFORCE16 = iniParams["FORCE16BITS"] == "YES"; + _globals.XFORCE8 = iniParams["FORCE8BITS"] == "YES"; + _globals.CARD_SB = iniParams["SOUND"] == "YES"; } void HopkinsEngine::INIT_SYSTEM() { @@ -511,15 +512,15 @@ void HopkinsEngine::INIT_SYSTEM() { switch (_globals.FR) { case 0: if (!_eventsManager.mouse_linux) - FileManager::CONSTRUIT_SYSTEM("SOUAN.SPR"); + _fileManager.CONSTRUIT_SYSTEM("SOUAN.SPR"); if (!_globals.FR && _eventsManager.mouse_linux) - FileManager::CONSTRUIT_SYSTEM("LSOUAN.SPR"); + _fileManager.CONSTRUIT_SYSTEM("LSOUAN.SPR"); break; case 1: - FileManager::CONSTRUIT_SYSTEM("LSOU_globals.FR.SPR"); + _fileManager.CONSTRUIT_SYSTEM("LSOU_globals.FR.SPR"); break; case 2: - FileManager::CONSTRUIT_SYSTEM("SOUES.SPR"); + _fileManager.CONSTRUIT_SYSTEM("SOUES.SPR"); break; } @@ -530,31 +531,31 @@ void HopkinsEngine::INIT_SYSTEM() { _eventsManager.souris_sizex = 34; _eventsManager.souris_sizey = 20; } - _eventsManager.pointeur_souris = FileManager::CHARGE_FICHIER(GLOBALS.NFICHIER); - - GLOBALS.clearAll(); - - FileManager::CONSTRUIT_SYSTEM("FONTE3.SPR"); - GLOBALS.police = FileManager::CHARGE_FICHIER(GLOBALS.NFICHIER); - GLOBALS.police_l = 12; - GLOBALS.police_h = 21; - FileManager::CONSTRUIT_SYSTEM("ICONE.SPR"); - GLOBALS.ICONE = FileManager::CHARGE_FICHIER(GLOBALS.NFICHIER); - FileManager::CONSTRUIT_SYSTEM("TETE.SPR"); - GLOBALS.TETE = FileManager::CHARGE_FICHIER(GLOBALS.NFICHIER); + _eventsManager.pointeur_souris = _fileManager.CHARGE_FICHIER(_globals.NFICHIER); + + _globals.clearAll(); + + _fileManager.CONSTRUIT_SYSTEM("FONTE3.SPR"); + _globals.police = _fileManager.CHARGE_FICHIER(_globals.NFICHIER); + _globals.police_l = 12; + _globals.police_h = 21; + _fileManager.CONSTRUIT_SYSTEM("ICONE.SPR"); + _globals.ICONE = _fileManager.CHARGE_FICHIER(_globals.NFICHIER); + _fileManager.CONSTRUIT_SYSTEM("TETE.SPR"); + _globals.TETE = _fileManager.CHARGE_FICHIER(_globals.NFICHIER); switch (_globals.FR) { case 0: - FileManager::CONSTRUIT_FICHIER(GLOBALS.HOPLINK, "ZONEAN.TXT"); - GLOBALS.BUF_ZONE = FileManager::CHARGE_FICHIER(GLOBALS.NFICHIER); + _fileManager.CONSTRUIT_FICHIER(_globals.HOPLINK, "ZONEAN.TXT"); + _globals.BUF_ZONE = _fileManager.CHARGE_FICHIER(_globals.NFICHIER); break; case 1: - FileManager::CONSTRUIT_FICHIER(GLOBALS.HOPLINK, "ZONE01.TXT"); - GLOBALS.BUF_ZONE = FileManager::CHARGE_FICHIER(GLOBALS.NFICHIER); + _fileManager.CONSTRUIT_FICHIER(_globals.HOPLINK, "ZONE01.TXT"); + _globals.BUF_ZONE = _fileManager.CHARGE_FICHIER(_globals.NFICHIER); break; case 2: - FileManager::CONSTRUIT_FICHIER(GLOBALS.HOPLINK, "ZONEES.TXT"); - GLOBALS.BUF_ZONE = FileManager::CHARGE_FICHIER(GLOBALS.NFICHIER); + _fileManager.CONSTRUIT_FICHIER(_globals.HOPLINK, "ZONEES.TXT"); + _globals.BUF_ZONE = _fileManager.CHARGE_FICHIER(_globals.NFICHIER); break; } @@ -563,12 +564,12 @@ void HopkinsEngine::INIT_SYSTEM() { _eventsManager.souris_flag = false; _eventsManager.souris_max(); - GLOBALS.HOPKINS_DATA(); + _globals.HOPKINS_DATA(); _eventsManager.ofset_souris_x = 0; _eventsManager.ofset_souris_y = 0; - GLOBALS.lItCounter = 0; - GLOBALS.lOldItCounter = 0; + _globals.lItCounter = 0; + _globals.lOldItCounter = 0; } void HopkinsEngine::INTRORUN() { diff --git a/engines/hopkins/hopkins.h b/engines/hopkins/hopkins.h index 0b1f97fb9c..f58dfd7f14 100644 --- a/engines/hopkins/hopkins.h +++ b/engines/hopkins/hopkins.h @@ -33,6 +33,7 @@ #include "graphics/surface.h" #include "hopkins/anim.h" #include "hopkins/events.h" +#include "hopkins/files.h" #include "hopkins/font.h" #include "hopkins/globals.h" #include "hopkins/graphics.h" @@ -96,6 +97,7 @@ public: EventsManager _eventsManager; FontManager _fontManager; Globals _globals; + FileManager _fileManager; GraphicsManager _graphicsManager; LinesManager _linesManager; MenuManager _menuManager; diff --git a/engines/hopkins/menu.cpp b/engines/hopkins/menu.cpp index 66436a830f..23baec188e 100644 --- a/engines/hopkins/menu.cpp +++ b/engines/hopkins/menu.cpp @@ -81,11 +81,11 @@ int MenuManager::MENU() { _vm->_graphicsManager.FADE_INW(); if (_vm->_globals.FR == 0) - FileManager::CONSTRUIT_SYSTEM("MENUAN.SPR"); + _vm->_fileManager.CONSTRUIT_SYSTEM("MENUAN.SPR"); if (_vm->_globals.FR == 1) - FileManager::CONSTRUIT_SYSTEM("MENUFR.SPR"); + _vm->_fileManager.CONSTRUIT_SYSTEM("MENUFR.SPR"); if (_vm->_globals.FR == 2) - FileManager::CONSTRUIT_SYSTEM("MENUES.SPR"); + _vm->_fileManager.CONSTRUIT_SYSTEM("MENUES.SPR"); spriteData = _vm->_objectsManager.CHARGE_SPRITE(_vm->_globals.NFICHIER); _vm->_eventsManager.MOUSE_ON(); @@ -279,13 +279,13 @@ void MenuManager::CHARGE_PARTIE() { v15 = 65; v16 = 84; v17 = 0; - FileManager::CONSTRUIT_LINUX(v8); + _vm->_fileManager.CONSTRUIT_LINUX(v8); if (f.open(_vm->_globals.NFICHIER)) { f.close(); v3 = _vm->_globals.SAUVEGARDE->data[svField10]; - FileManager::CONSTRUIT_LINUX(v8); - FileManager::bload(_vm->_globals.NFICHIER, &_vm->_globals.SAUVEGARDE->data[0]); + _vm->_fileManager.CONSTRUIT_LINUX(v8); + _vm->_fileManager.bload(_vm->_globals.NFICHIER, &_vm->_globals.SAUVEGARDE->data[0]); v4 = &_vm->_globals.SAUVEGARDE->data[svField1300]; v5 = 0; @@ -349,15 +349,15 @@ void MenuManager::SAUVE_PARTIE() { ++v4; } while (v4 <= 34); - FileManager::CONSTRUIT_LINUX(v7); - FileManager::SAUVE_FICHIER(_vm->_globals.NFICHIER, &_vm->_globals.SAUVEGARDE->data[0], 0x7D0u); + _vm->_fileManager.CONSTRUIT_LINUX(v7); + _vm->_fileManager.SAUVE_FICHIER(_vm->_globals.NFICHIER, &_vm->_globals.SAUVEGARDE->data[0], 0x7D0u); v12 = 46; v13 = 69; v14 = 67; v15 = 82; v16 = 0; - FileManager::CONSTRUIT_LINUX(v7); - FileManager::SAUVE_FICHIER(_vm->_globals.NFICHIER, v1, 0x2B80u); + _vm->_fileManager.CONSTRUIT_LINUX(v7); + _vm->_fileManager.SAUVE_FICHIER(_vm->_globals.NFICHIER, v1, 0x2B80u); } _vm->_globals.dos_free2(v1); } @@ -577,13 +577,13 @@ void MenuManager::LOAD_SAUVE(int a1) { Common::File f; if (_vm->_globals.FR == 1) - FileManager::CONSTRUIT_SYSTEM("SAVEFR.SPR"); + _vm->_fileManager.CONSTRUIT_SYSTEM("SAVEFR.SPR"); if (!_vm->_globals.FR) - FileManager::CONSTRUIT_SYSTEM("SAVEAN.SPR"); + _vm->_fileManager.CONSTRUIT_SYSTEM("SAVEAN.SPR"); if (_vm->_globals.FR == 2) - FileManager::CONSTRUIT_SYSTEM("SAVEES.SPR"); + _vm->_fileManager.CONSTRUIT_SYSTEM("SAVEES.SPR"); _vm->_objectsManager.SL_SPR = _vm->_objectsManager.CHARGE_SPRITE(_vm->_globals.NFICHIER); - FileManager::CONSTRUIT_SYSTEM("SAVE2.SPR"); + _vm->_fileManager.CONSTRUIT_SYSTEM("SAVE2.SPR"); _vm->_objectsManager.SL_SPR2 = _vm->_objectsManager.CHARGE_SPRITE(_vm->_globals.NFICHIER); _vm->_graphicsManager.Sprite_Vesa(_vm->_graphicsManager.VESA_BUFFER, _vm->_objectsManager.SL_SPR, _vm->_eventsManager.start_x + 483, 360, 0); if (_vm->_globals.FR) { @@ -611,9 +611,9 @@ void MenuManager::LOAD_SAUVE(int a1) { v11 = 67; v12 = 82; v13 = 0; - FileManager::CONSTRUIT_LINUX(s); + _vm->_fileManager.CONSTRUIT_LINUX(s); if (f.exists(_vm->_globals.NFICHIER)) { - v2 = FileManager::CHARGE_FICHIER(_vm->_globals.NFICHIER); + v2 = _vm->_fileManager.CHARGE_FICHIER(_vm->_globals.NFICHIER); v3 = v2; if (v1 == 1) _vm->_graphicsManager.Restore_Mem(_vm->_graphicsManager.VESA_BUFFER, v2, _vm->_eventsManager.start_x + 190, 112, 0x80u, 87); diff --git a/engines/hopkins/objects.cpp b/engines/hopkins/objects.cpp index 40689b11ee..3d2f625679 100644 --- a/engines/hopkins/objects.cpp +++ b/engines/hopkins/objects.cpp @@ -78,7 +78,7 @@ byte *ObjectsManager::CAPTURE_OBJET(int objIndex, int mode) { if (_vm->_globals.ADR_FICHIER_OBJ != PTRNUL) ObjectsManager::DEL_FICHIER_OBJ(); if (val1 == 1) { - FileManager::CONSTRUIT_SYSTEM("OBJET1.SPR"); + _vm->_fileManager.CONSTRUIT_SYSTEM("OBJET1.SPR"); _vm->_globals.ADR_FICHIER_OBJ = ObjectsManager::CHARGE_SPRITE(_vm->_globals.NFICHIER); } _vm->_globals.NUM_FICHIER_OBJ = val1; @@ -218,7 +218,7 @@ int ObjectsManager::sprite_alone(const byte *objectData, byte *sprite, int objIn byte *ObjectsManager::DEL_FICHIER_OBJ() { _vm->_globals.NUM_FICHIER_OBJ = 0; if (_vm->_globals.ADR_FICHIER_OBJ != PTRNUL) - _vm->_globals.ADR_FICHIER_OBJ = FileManager::LIBERE_FICHIER(_vm->_globals.ADR_FICHIER_OBJ); + _vm->_globals.ADR_FICHIER_OBJ = _vm->_fileManager.LIBERE_FICHIER(_vm->_globals.ADR_FICHIER_OBJ); byte *result = PTRNUL; _vm->_globals.ADR_FICHIER_OBJ = PTRNUL; @@ -226,8 +226,8 @@ byte *ObjectsManager::DEL_FICHIER_OBJ() { } byte *ObjectsManager::CHARGE_SPRITE(const Common::String &file) { - FileManager::DMESS1(); - return FileManager::CHARGE_FICHIER(file); + _vm->_fileManager.DMESS1(); + return _vm->_fileManager.CHARGE_FICHIER(file); } int ObjectsManager::capture_mem_sprite(const byte *objectData, byte *sprite, int objIndex) { @@ -1939,8 +1939,8 @@ void ObjectsManager::PLAN_BETA() { CHARGE_OBSTACLE("PLAN.OB2"); CHARGE_CACHE("PLAN.CA2"); CHARGE_ZONE("PLAN.ZO2"); - FileManager::CONSTRUIT_SYSTEM("VOITURE.SPR"); - sprite_ptr = FileManager::CHARGE_FICHIER(_vm->_globals.NFICHIER); + _vm->_fileManager.CONSTRUIT_SYSTEM("VOITURE.SPR"); + sprite_ptr = _vm->_fileManager.CHARGE_FICHIER(_vm->_globals.NFICHIER); _vm->_animationManager.CHARGE_ANIM("PLAN"); _vm->_graphicsManager.VISU_ALL(); _vm->_graphicsManager.INI_ECRAN2("PLAN"); @@ -2369,9 +2369,9 @@ void ObjectsManager::CLEAR_ECRAN() { DERLIGNE = 0; _vm->_globals.chemin = PTRNUL; if (_vm->_globals.COUCOU != PTRNUL) - _vm->_globals.COUCOU = FileManager::LIBERE_FICHIER(_vm->_globals.COUCOU); + _vm->_globals.COUCOU = _vm->_fileManager.LIBERE_FICHIER(_vm->_globals.COUCOU); if (PTRNUL != _vm->_globals.SPRITE_ECRAN) - _vm->_globals.SPRITE_ECRAN = FileManager::LIBERE_FICHIER(_vm->_globals.SPRITE_ECRAN); + _vm->_globals.SPRITE_ECRAN = _vm->_fileManager.LIBERE_FICHIER(_vm->_globals.SPRITE_ECRAN); _vm->_eventsManager.start_x = 0; _vm->_eventsManager.souris_n = 0; Vold_taille = 200; @@ -2449,22 +2449,22 @@ LABEL_7: _vm->_globals.DESACTIVE_INVENT = 1; _vm->_graphicsManager.SETCOLOR4(251, 100, 100, 100); if (_vm->_globals.FR == 1) - FileManager::CONSTRUIT_SYSTEM("INVENTFR.SPR"); + _vm->_fileManager.CONSTRUIT_SYSTEM("INVENTFR.SPR"); if (!_vm->_globals.FR) - FileManager::CONSTRUIT_SYSTEM("INVENTAN.SPR"); + _vm->_fileManager.CONSTRUIT_SYSTEM("INVENTAN.SPR"); if (_vm->_globals.FR == 2) - FileManager::CONSTRUIT_SYSTEM("INVENTES.SPR"); + _vm->_fileManager.CONSTRUIT_SYSTEM("INVENTES.SPR"); if (!f.open(_vm->_globals.NFICHIER)) error("Error opening file - %s", _vm->_globals.NFICHIER.c_str()); filesize = f.size(); _vm->_globals.Winventaire = _vm->_globals.dos_malloc2(filesize); - FileManager::bload_it(f, _vm->_globals.Winventaire, filesize); + _vm->_fileManager.bload_it(f, _vm->_globals.Winventaire, filesize); f.close(); - FileManager::CONSTRUIT_SYSTEM("INVENT2.SPR"); - inventaire2 = FileManager::CHARGE_FICHIER(_vm->_globals.NFICHIER); + _vm->_fileManager.CONSTRUIT_SYSTEM("INVENT2.SPR"); + inventaire2 = _vm->_fileManager.CHARGE_FICHIER(_vm->_globals.NFICHIER); v19 = _vm->_graphicsManager.ofscroll + 152; v18 = Get_Largeur(_vm->_globals.Winventaire, 0); v17 = Get_Hauteur(_vm->_globals.Winventaire, 0); @@ -2622,8 +2622,8 @@ void ObjectsManager::CHANGE_TETE(int a1, int a2) { _vm->_globals.SAUVEGARDE->data[svField357] = 1; T_RECTIF = 0; v4 = &_vm->_globals.SAUVEGARDE->field370; - FileManager::CONSTRUIT_SYSTEM("PERSO.SPR"); - FileManager::CHARGE_FICHIER2(_vm->_globals.NFICHIER, _vm->_globals.PERSO); + _vm->_fileManager.CONSTRUIT_SYSTEM("PERSO.SPR"); + _vm->_fileManager.CHARGE_FICHIER2(_vm->_globals.NFICHIER, _vm->_globals.PERSO); _vm->_globals.PERSO_TYPE = 0; SPRITE(_vm->_globals.PERSO, v4->field0, v4->field1, 0, 64, v4->field4, 0, 34, 190); LABEL_9: @@ -2649,8 +2649,8 @@ LABEL_9: _vm->_globals.SAUVEGARDE->data[svField356] = 1; _vm->_globals.SAUVEGARDE->data[svField357] = 0; v6 = &_vm->_globals.SAUVEGARDE->field380; - FileManager::CONSTRUIT_SYSTEM("PSAMAN.SPR"); - FileManager::CHARGE_FICHIER2(_vm->_globals.NFICHIER, _vm->_globals.PERSO); + _vm->_fileManager.CONSTRUIT_SYSTEM("PSAMAN.SPR"); + _vm->_fileManager.CHARGE_FICHIER2(_vm->_globals.NFICHIER, _vm->_globals.PERSO); _vm->_globals.PERSO_TYPE = 2; SPRITE(_vm->_globals.PERSO, v6->field0, v6->field1, 0, 64, v6->field4, 0, 20, 127); goto LABEL_9; @@ -3708,10 +3708,10 @@ void ObjectsManager::OPTI_OBJET() { int v7; file = "OBJET1.ini"; - data = FileManager::RECHERCHE_CAT(file, 1); + data = _vm->_fileManager.RECHERCHE_CAT(file, 1); if (data == PTRNUL) { - FileManager::CONSTRUIT_FICHIER(_vm->_globals.HOPLINK, file); - data = FileManager::CHARGE_FICHIER(_vm->_globals.NFICHIER); + _vm->_fileManager.CONSTRUIT_FICHIER(_vm->_globals.HOPLINK, file); + data = _vm->_fileManager.CHARGE_FICHIER(_vm->_globals.NFICHIER); } if ((data == PTRNUL) || *data != 'I' || *(data + 1) != 'N' || *(data + 2) != 'I') { @@ -3780,8 +3780,8 @@ void ObjectsManager::SPECIAL_JEU() { if (!_vm->_globals.CENSURE) { v1 = _vm->_globals.dos_malloc2(0x3E8u); memcpy(v1, _vm->_graphicsManager.Palette, 0x301u); - FileManager::CONSTRUIT_LINUX("TEMP1.SCR"); - FileManager::SAUVE_FICHIER(_vm->_globals.NFICHIER, _vm->_graphicsManager.VESA_SCREEN, 0x4B000u); + _vm->_fileManager.CONSTRUIT_LINUX("TEMP1.SCR"); + _vm->_fileManager.SAUVE_FICHIER(_vm->_globals.NFICHIER, _vm->_graphicsManager.VESA_SCREEN, 0x4B000u); if (!_vm->_graphicsManager.nbrligne) _vm->_graphicsManager.ofscroll = 0; _vm->_graphicsManager.NB_SCREEN(); @@ -3795,8 +3795,8 @@ void ObjectsManager::SPECIAL_JEU() { _vm->_globals.NECESSAIRE = 1; _vm->_graphicsManager.NB_SCREEN(); _vm->_globals.NECESSAIRE = 0; - FileManager::CONSTRUIT_LINUX("TEMP1.SCR"); - FileManager::bload(_vm->_globals.NFICHIER, _vm->_graphicsManager.VESA_SCREEN); + _vm->_fileManager.CONSTRUIT_LINUX("TEMP1.SCR"); + _vm->_fileManager.bload(_vm->_globals.NFICHIER, _vm->_graphicsManager.VESA_SCREEN); PERSO_ON = 0; memcpy(_vm->_graphicsManager.Palette, v1, 0x301u); _vm->_graphicsManager.SHOW_PALETTE(); @@ -5687,8 +5687,8 @@ LABEL_1141: _vm->_globals.SAUVEGARDE->data[svField354] = 1; } if (v76 == 56) { - FileManager::CONSTRUIT_SYSTEM("HOPFEM.SPR"); - FileManager::CHARGE_FICHIER2(_vm->_globals.NFICHIER, _vm->_globals.PERSO); + _vm->_fileManager.CONSTRUIT_SYSTEM("HOPFEM.SPR"); + _vm->_fileManager.CHARGE_FICHIER2(_vm->_globals.NFICHIER, _vm->_globals.PERSO); _vm->_globals.PERSO_TYPE = 1; _vm->_globals.SAUVEGARDE->data[svField122] = 1; _vm->_globals.HOPKINS_DATA(); @@ -5697,8 +5697,8 @@ LABEL_1141: VERIFTAILLE(); } if (v76 == 57) { - FileManager::CONSTRUIT_SYSTEM("PERSO.SPR"); - FileManager::CHARGE_FICHIER2(_vm->_globals.NFICHIER, _vm->_globals.PERSO); + _vm->_fileManager.CONSTRUIT_SYSTEM("PERSO.SPR"); + _vm->_fileManager.CHARGE_FICHIER2(_vm->_globals.NFICHIER, _vm->_globals.PERSO); _vm->_globals.PERSO_TYPE = 0; _vm->_globals.SAUVEGARDE->data[svField122] = 0; _vm->_globals.HOPKINS_DATA(); @@ -6135,8 +6135,8 @@ void ObjectsManager::ACTION_DOS(int idx) { _vm->_globals.GESTE = _vm->_globals.dos_free2(_vm->_globals.GESTE); _vm->_globals.GESTE_FLAG = 1; - FileManager::CONSTRUIT_SYSTEM("DOS.SPR"); - _vm->_globals.GESTE = FileManager::CHARGE_FICHIER(_vm->_globals.NFICHIER); + _vm->_fileManager.CONSTRUIT_SYSTEM("DOS.SPR"); + _vm->_globals.GESTE = _vm->_fileManager.CHARGE_FICHIER(_vm->_globals.NFICHIER); } if (idx == 1) ACTION(_vm->_globals.GESTE, "0,1,2,3,4,5,6,7,8,8,8,8,8,8,7,6,5,4,3,2,1,0,-1,", 0, 0, 8, 0); @@ -6171,8 +6171,8 @@ void ObjectsManager::ACTION_DROITE(int idx) { if (_vm->_globals.GESTE != PTRNUL) _vm->_globals.GESTE = _vm->_globals.dos_free2(_vm->_globals.GESTE); _vm->_globals.GESTE_FLAG = 3; - FileManager::CONSTRUIT_SYSTEM("PROFIL.SPR"); - _vm->_globals.GESTE = FileManager::CHARGE_FICHIER(_vm->_globals.NFICHIER); + _vm->_fileManager.CONSTRUIT_SYSTEM("PROFIL.SPR"); + _vm->_globals.GESTE = _vm->_fileManager.CHARGE_FICHIER(_vm->_globals.NFICHIER); } if (idx == 1) ACTION(_vm->_globals.GESTE, "20,19,18,17,16,15,14,13,13,13,13,13,14,15,16,17,18,19,20,-1,", 0, 0, 8, 0); @@ -6201,8 +6201,8 @@ void ObjectsManager::Q_DROITE(int idx) { if (_vm->_globals.GESTE != PTRNUL) _vm->_globals.GESTE = _vm->_globals.dos_free2(_vm->_globals.GESTE); _vm->_globals.GESTE_FLAG = 4; - FileManager::CONSTRUIT_SYSTEM("3Q.SPR"); - _vm->_globals.GESTE = FileManager::CHARGE_FICHIER(_vm->_globals.NFICHIER); + _vm->_fileManager.CONSTRUIT_SYSTEM("3Q.SPR"); + _vm->_globals.GESTE = _vm->_fileManager.CHARGE_FICHIER(_vm->_globals.NFICHIER); } if (idx == 1) ACTION(_vm->_globals.GESTE, "0,1,2,3,4,5,6,7,8,8,8,8,8,7,6,5,4,3,2,1,0,-1,", 0, 0, 8, 0); @@ -6231,8 +6231,8 @@ void ObjectsManager::ACTION_FACE(int idx) { if (_vm->_globals.GESTE != PTRNUL) _vm->_globals.GESTE = _vm->_globals.dos_free2(_vm->_globals.GESTE); _vm->_globals.GESTE_FLAG = 2; - FileManager::CONSTRUIT_SYSTEM("FACE.SPR"); - _vm->_globals.GESTE = FileManager::CHARGE_FICHIER(_vm->_globals.NFICHIER); + _vm->_fileManager.CONSTRUIT_SYSTEM("FACE.SPR"); + _vm->_globals.GESTE = _vm->_fileManager.CHARGE_FICHIER(_vm->_globals.NFICHIER); } if (idx == 1) ACTION(_vm->_globals.GESTE, "0,1,2,3,4,5,6,7,9,9,9,9,9,9,7,6,5,4,3,2,1,0,-1,", 0, 0, 8, 0); @@ -6249,8 +6249,8 @@ void ObjectsManager::Q_GAUCHE(int idx) { if (_vm->_globals.GESTE != PTRNUL) _vm->_globals.GESTE = _vm->_globals.dos_free2(_vm->_globals.GESTE); _vm->_globals.GESTE_FLAG = 4; - FileManager::CONSTRUIT_SYSTEM("3Q.SPR"); - _vm->_globals.GESTE = FileManager::CHARGE_FICHIER(_vm->_globals.NFICHIER); + _vm->_fileManager.CONSTRUIT_SYSTEM("3Q.SPR"); + _vm->_globals.GESTE = _vm->_fileManager.CHARGE_FICHIER(_vm->_globals.NFICHIER); } if (idx == 1) ACTION(_vm->_globals.GESTE, "0,1,2,3,4,5,6,7,8,8,8,8,8,7,6,5,4,3,2,1,0,-1,", 0, 0, 8, 1); @@ -6279,8 +6279,8 @@ void ObjectsManager::ACTION_GAUCHE(int idx) { if (_vm->_globals.GESTE != PTRNUL) _vm->_globals.GESTE = _vm->_globals.dos_free2(_vm->_globals.GESTE); _vm->_globals.GESTE_FLAG = 3; - FileManager::CONSTRUIT_SYSTEM("PROFIL.SPR"); - _vm->_globals.GESTE = FileManager::CHARGE_FICHIER(_vm->_globals.NFICHIER); + _vm->_fileManager.CONSTRUIT_SYSTEM("PROFIL.SPR"); + _vm->_globals.GESTE = _vm->_fileManager.CHARGE_FICHIER(_vm->_globals.NFICHIER); } if (idx == 1) ACTION(_vm->_globals.GESTE, "20,19,18,17,16,15,14,13,13,13,13,13,14,15,16,17,18,19,20,-1,", 0, 0, 8, 1); @@ -6434,10 +6434,10 @@ void ObjectsManager::INILINK(const Common::String &file) { v2 = 0; filename = file + ".LNK"; - ptr = FileManager::RECHERCHE_CAT(filename, 3); + ptr = _vm->_fileManager.RECHERCHE_CAT(filename, 3); nbytes = _vm->_globals.CAT_TAILLE; if (ptr == PTRNUL) { - FileManager::CONSTRUIT_FICHIER(_vm->_globals.HOPLINK, filename); + _vm->_fileManager.CONSTRUIT_FICHIER(_vm->_globals.HOPLINK, filename); if (!f.open(_vm->_globals.NFICHIER)) error("Error opening file - %s", _vm->_globals.NFICHIER.c_str()); @@ -6446,7 +6446,7 @@ void ObjectsManager::INILINK(const Common::String &file) { ptr = _vm->_globals.dos_malloc2(nbytes); if (PTRNUL == ptr) error("INILINK"); - FileManager::bload_it(f, ptr, nbytes); + _vm->_fileManager.bload_it(f, ptr, nbytes); f.close(); } if (!OBSSEUL) { @@ -6457,15 +6457,15 @@ void ObjectsManager::INILINK(const Common::String &file) { filename2 = Common::String((const char *)ptr + 1000); if (!filename2.empty()) { - _vm->_globals.CACHE_BANQUE[1] = FileManager::RECHERCHE_CAT(filename2, 8); + _vm->_globals.CACHE_BANQUE[1] = _vm->_fileManager.RECHERCHE_CAT(filename2, 8); if (_vm->_globals.CACHE_BANQUE[1]) { _vm->_globals.CAT_FLAG = 0; - FileManager::CONSTRUIT_FICHIER(_vm->_globals.HOPLINK, filename2); + _vm->_fileManager.CONSTRUIT_FICHIER(_vm->_globals.HOPLINK, filename2); } else { _vm->_globals.CAT_FLAG = 1; - FileManager::CONSTRUIT_FICHIER(_vm->_globals.HOPLINK, "RES_SLI.RES"); + _vm->_fileManager.CONSTRUIT_FICHIER(_vm->_globals.HOPLINK, "RES_SLI.RES"); } - _vm->_globals.CACHE_BANQUE[1] = FileManager::CHARGE_FICHIER(_vm->_globals.NFICHIER); + _vm->_globals.CACHE_BANQUE[1] = _vm->_fileManager.CHARGE_FICHIER(_vm->_globals.NFICHIER); _vm->_globals.CAT_FLAG = 0; v36 = 60; v37 = ptr + 1000; @@ -7619,21 +7619,21 @@ void ObjectsManager::PERSONAGE2(const Common::String &s1, const Common::String & if (!_vm->_globals.PERSO_TYPE) goto LABEL_70; if (!_vm->_globals.SAUVEGARDE->data[svField122] && !_vm->_globals.SAUVEGARDE->data[svField356]) { - FileManager::CONSTRUIT_SYSTEM("PERSO.SPR"); - FileManager::CHARGE_FICHIER2(_vm->_globals.NFICHIER, _vm->_globals.PERSO); + _vm->_fileManager.CONSTRUIT_SYSTEM("PERSO.SPR"); + _vm->_fileManager.CHARGE_FICHIER2(_vm->_globals.NFICHIER, _vm->_globals.PERSO); _vm->_globals.PERSO_TYPE = 0; } if (!_vm->_globals.PERSO_TYPE) { LABEL_70: if (_vm->_globals.SAUVEGARDE->data[svField122] == 1) { - FileManager::CONSTRUIT_SYSTEM("HOPFEM.SPR"); - FileManager::CHARGE_FICHIER2(_vm->_globals.NFICHIER, _vm->_globals.PERSO); + _vm->_fileManager.CONSTRUIT_SYSTEM("HOPFEM.SPR"); + _vm->_fileManager.CHARGE_FICHIER2(_vm->_globals.NFICHIER, _vm->_globals.PERSO); _vm->_globals.PERSO_TYPE = 1; } } if (_vm->_globals.PERSO_TYPE != 2 && _vm->_globals.SAUVEGARDE->data[svField356] == 1) { - FileManager::CONSTRUIT_SYSTEM("PSAMAN.SPR"); - FileManager::CHARGE_FICHIER2(_vm->_globals.NFICHIER, _vm->_globals.PERSO); + _vm->_fileManager.CONSTRUIT_SYSTEM("PSAMAN.SPR"); + _vm->_fileManager.CHARGE_FICHIER2(_vm->_globals.NFICHIER, _vm->_globals.PERSO); _vm->_globals.PERSO_TYPE = 2; } _vm->_globals.HOPKINS_DATA(); diff --git a/engines/hopkins/talk.cpp b/engines/hopkins/talk.cpp index 13179c1a36..f792f4d898 100644 --- a/engines/hopkins/talk.cpp +++ b/engines/hopkins/talk.cpp @@ -60,12 +60,12 @@ void TalkManager::PARLER_PERSO(const Common::String &filename) { _vm->_graphicsManager.no_scroll = 1; v13 = _vm->_globals.DESACTIVE_INVENT; _vm->_globals.DESACTIVE_INVENT = 1; - BUFFERPERSO = FileManager::RECHERCHE_CAT(filename, 5); + BUFFERPERSO = _vm->_fileManager.RECHERCHE_CAT(filename, 5); TAILLEPERSO = _vm->_globals.CAT_TAILLE; if (BUFFERPERSO == PTRNUL) { - FileManager::CONSTRUIT_FICHIER(_vm->_globals.HOPANIM, filename); - BUFFERPERSO = FileManager::CHARGE_FICHIER(_vm->_globals.NFICHIER); - TAILLEPERSO = FileManager::FLONG(_vm->_globals.NFICHIER); + _vm->_fileManager.CONSTRUIT_FICHIER(_vm->_globals.HOPANIM, filename); + BUFFERPERSO = _vm->_fileManager.CHARGE_FICHIER(_vm->_globals.NFICHIER); + TAILLEPERSO = _vm->_fileManager.FLONG(_vm->_globals.NFICHIER); } _vm->_globals.SAUVEGARDE->data[svField4] = 0; RENVOIE_FICHIER(40, v16, (const char *)BUFFERPERSO); @@ -81,21 +81,21 @@ void TalkManager::PARLER_PERSO(const Common::String &filename) { v2 = READ_LE_UINT16((uint16 *)BUFFERPERSO + 40); v3 = 20 * READ_LE_UINT16((uint16 *)BUFFERPERSO + 42) + 110; PCHERCHE = 20 * READ_LE_UINT16((uint16 *)BUFFERPERSO + 42) + 110; - PERSOSPR = FileManager::RECHERCHE_CAT(v16, 7); + PERSOSPR = _vm->_fileManager.RECHERCHE_CAT(v16, 7); if (PERSOSPR) { _vm->_globals.CAT_FLAG = 0; - FileManager::CONSTRUIT_FICHIER(_vm->_globals.HOPANIM, v16); + _vm->_fileManager.CONSTRUIT_FICHIER(_vm->_globals.HOPANIM, v16); } else { _vm->_globals.CAT_FLAG = 1; - FileManager::CONSTRUIT_FICHIER(_vm->_globals.HOPANIM, "RES_SAN.RES"); + _vm->_fileManager.CONSTRUIT_FICHIER(_vm->_globals.HOPANIM, "RES_SAN.RES"); } PERSOSPR = _vm->_objectsManager.CHARGE_SPRITE(_vm->_globals.NFICHIER); _vm->_globals.CAT_FLAG = 0; - FileManager::CONSTRUIT_LINUX("TEMP.SCR"); + _vm->_fileManager.CONSTRUIT_LINUX("TEMP.SCR"); if (_vm->_graphicsManager.nbrligne == 640) - FileManager::SAUVE_FICHIER(_vm->_globals.NFICHIER, _vm->_graphicsManager.VESA_SCREEN, 0x4B000u); + _vm->_fileManager.SAUVE_FICHIER(_vm->_globals.NFICHIER, _vm->_graphicsManager.VESA_SCREEN, 0x4B000u); if (_vm->_graphicsManager.nbrligne == 1280) - FileManager::SAUVE_FICHIER(_vm->_globals.NFICHIER, _vm->_graphicsManager.VESA_SCREEN, 0x96000u); + _vm->_fileManager.SAUVE_FICHIER(_vm->_globals.NFICHIER, _vm->_graphicsManager.VESA_SCREEN, 0x96000u); if (!_vm->_graphicsManager.nbrligne) _vm->_graphicsManager.ofscroll = 0; _vm->_graphicsManager.NB_SCREEN(); @@ -134,8 +134,8 @@ void TalkManager::PARLER_PERSO(const Common::String &filename) { PERSOSPR = _vm->_globals.LIBERE_FICHIER(PERSOSPR); _vm->_graphicsManager.NB_SCREEN(); _vm->_globals.NECESSAIRE = 0; - FileManager::CONSTRUIT_LINUX("TEMP.SCR"); - FileManager::bload(_vm->_globals.NFICHIER, _vm->_graphicsManager.VESA_SCREEN); + _vm->_fileManager.CONSTRUIT_LINUX("TEMP.SCR"); + _vm->_fileManager.bload(_vm->_globals.NFICHIER, _vm->_graphicsManager.VESA_SCREEN); _vm->_objectsManager.PERSO_ON = 0; _vm->_eventsManager.btsouris = v14; @@ -191,12 +191,12 @@ void TalkManager::PARLER_PERSO2(const Common::String &filename) { STATI = 1; v7 = _vm->_objectsManager.DESACTIVE_INVENT; _vm->_objectsManager.DESACTIVE_INVENT = 1; - BUFFERPERSO = FileManager::RECHERCHE_CAT(filename, 5); + BUFFERPERSO = _vm->_fileManager.RECHERCHE_CAT(filename, 5); TAILLEPERSO = _vm->_globals.CAT_TAILLE; if (BUFFERPERSO == PTRNUL) { - FileManager::CONSTRUIT_FICHIER(_vm->_globals.HOPANIM, filename); - BUFFERPERSO = FileManager::CHARGE_FICHIER(_vm->_globals.NFICHIER); - TAILLEPERSO = FileManager::FLONG(_vm->_globals.NFICHIER); + _vm->_fileManager.CONSTRUIT_FICHIER(_vm->_globals.HOPANIM, filename); + BUFFERPERSO = _vm->_fileManager.CHARGE_FICHIER(_vm->_globals.NFICHIER); + TAILLEPERSO = _vm->_fileManager.FLONG(_vm->_globals.NFICHIER); } _vm->_globals.SAUVEGARDE->data[svField4] = 0; @@ -621,7 +621,7 @@ int TalkManager::VERIF_BOITE(int idx, const Common::String &file, int a3) { v18 = 0; _vm->_globals.police_l = 11; - FileManager::CONSTRUIT_FICHIER(_vm->_globals.HOPLINK, file); + _vm->_fileManager.CONSTRUIT_FICHIER(_vm->_globals.HOPLINK, file); filename = dest = _vm->_globals.NFICHIER; filename += "IND"; @@ -1181,12 +1181,12 @@ void TalkManager::OBJET_VIVANT(const Common::String &a2) { _vm->_objectsManager.NUMZONE = -1; _vm->_eventsManager.btsouris = 4; _vm->_eventsManager.CHANGE_MOUSE(0); - BUFFERPERSO = FileManager::RECHERCHE_CAT(a2, 5); + BUFFERPERSO = _vm->_fileManager.RECHERCHE_CAT(a2, 5); TAILLEPERSO = _vm->_globals.CAT_TAILLE; if (BUFFERPERSO == PTRNUL) { - FileManager::CONSTRUIT_FICHIER(_vm->_globals.HOPANIM, a2); - BUFFERPERSO = FileManager::CHARGE_FICHIER(_vm->_globals.NFICHIER); - TAILLEPERSO = FileManager::FLONG(_vm->_globals.NFICHIER); + _vm->_fileManager.CONSTRUIT_FICHIER(_vm->_globals.HOPANIM, a2); + BUFFERPERSO = _vm->_fileManager.CHARGE_FICHIER(_vm->_globals.NFICHIER); + TAILLEPERSO = _vm->_fileManager.FLONG(_vm->_globals.NFICHIER); } RENVOIE_FICHIER(40, v23, (const char *)BUFFERPERSO); RENVOIE_FICHIER(0, v22, (const char *)BUFFERPERSO); @@ -1199,21 +1199,21 @@ void TalkManager::OBJET_VIVANT(const Common::String &a2) { if (!v6) { v20 = Common::String::format("IM%d", _vm->_globals.ECRAN); } - PERSOSPR = FileManager::RECHERCHE_CAT(v23, 7); + PERSOSPR = _vm->_fileManager.RECHERCHE_CAT(v23, 7); if (PERSOSPR) { _vm->_globals.CAT_FLAG = 0; - FileManager::CONSTRUIT_FICHIER(_vm->_globals.HOPANIM, v23); + _vm->_fileManager.CONSTRUIT_FICHIER(_vm->_globals.HOPANIM, v23); } else { _vm->_globals.CAT_FLAG = 1; - FileManager::CONSTRUIT_FICHIER(_vm->_globals.HOPANIM, "RES_SAN.RES"); + _vm->_fileManager.CONSTRUIT_FICHIER(_vm->_globals.HOPANIM, "RES_SAN.RES"); } PERSOSPR = _vm->_objectsManager.CHARGE_SPRITE(_vm->_globals.NFICHIER); _vm->_globals.CAT_FLAG = 0; - FileManager::CONSTRUIT_LINUX("TEMP.SCR"); + _vm->_fileManager.CONSTRUIT_LINUX("TEMP.SCR"); if (_vm->_graphicsManager.nbrligne == SCREEN_WIDTH) - FileManager::SAUVE_FICHIER(_vm->_globals.NFICHIER, _vm->_graphicsManager.VESA_SCREEN, 0x4B000u); + _vm->_fileManager.SAUVE_FICHIER(_vm->_globals.NFICHIER, _vm->_graphicsManager.VESA_SCREEN, 0x4B000u); if (_vm->_graphicsManager.nbrligne == (SCREEN_WIDTH * 2)) - FileManager::SAUVE_FICHIER(_vm->_globals.NFICHIER, _vm->_graphicsManager.VESA_SCREEN, 0x96000u); + _vm->_fileManager.SAUVE_FICHIER(_vm->_globals.NFICHIER, _vm->_graphicsManager.VESA_SCREEN, 0x96000u); if (!_vm->_graphicsManager.nbrligne) _vm->_graphicsManager.ofscroll = 0; _vm->_graphicsManager.NB_SCREEN(); @@ -1276,8 +1276,8 @@ void TalkManager::OBJET_VIVANT(const Common::String &a2) { _vm->_globals.NOMARCHE = 0; if (_vm->_globals.SORTIE == 101) _vm->_globals.SORTIE = 0; - FileManager::CONSTRUIT_LINUX("TEMP.SCR"); - FileManager::bload(_vm->_globals.NFICHIER, _vm->_graphicsManager.VESA_SCREEN); + _vm->_fileManager.CONSTRUIT_LINUX("TEMP.SCR"); + _vm->_fileManager.bload(_vm->_globals.NFICHIER, _vm->_graphicsManager.VESA_SCREEN); _vm->_objectsManager.PERSO_ON = 0; _vm->_eventsManager.btsouris = 4; _vm->_eventsManager.CHANGE_MOUSE(4); -- cgit v1.2.3