From 876e738dce6e3725ce28d8caf1520e71edfe09f0 Mon Sep 17 00:00:00 2001 From: Max Horn Date: Sat, 27 Nov 2004 00:26:11 +0000 Subject: Moved Engine::getSavePath() to class SaveFileManager; removed the 'directory' parameter from SaveFileManager::openSavefile and listSavefiles (they always use getSavePath() now, which is what we did anyway) svn-id: r15901 --- sky/control.cpp | 21 ++++++++++----------- sky/control.h | 3 +-- sky/sky.cpp | 2 +- 3 files changed, 12 insertions(+), 14 deletions(-) (limited to 'sky') diff --git a/sky/control.cpp b/sky/control.cpp index 2f0733937a..9e5839ddd3 100644 --- a/sky/control.cpp +++ b/sky/control.cpp @@ -191,7 +191,7 @@ void ControlStatus::drawToScreen(void) { _statusText->drawToScreen(WITH_MASK); } -Control::Control(SaveFileManager *saveFileMan, Screen *screen, Disk *disk, Mouse *mouse, Text *text, MusicBase *music, Logic *logic, Sound *sound, OSystem *system, const char *savePath) { +Control::Control(SaveFileManager *saveFileMan, Screen *screen, Disk *disk, Mouse *mouse, Text *text, MusicBase *music, Logic *logic, Sound *sound, OSystem *system) { _saveFileMan = saveFileMan; _skyScreen = screen; @@ -202,7 +202,6 @@ Control::Control(SaveFileManager *saveFileMan, Screen *screen, Disk *disk, Mouse _skyLogic = logic; _skySound = sound; _system = system; - _savePath = savePath; _memListRoot = NULL; } @@ -788,7 +787,7 @@ bool Control::autoSaveExists(void) { else sprintf(fName, "SKY-VM%03d.ASD", SkyEngine::_systemVars.gameVersion); - f = _saveFileMan->open_savefile(fName, _savePath, false); + f = _saveFileMan->openSavefile(fName, false); if (f != NULL) { test = true; delete f; @@ -887,7 +886,7 @@ uint16 Control::saveRestorePanel(bool allowSave) { refreshNames = true; } if (clickRes == NO_DISK_SPACE) { - displayMessage(0, "Could not save game in directory '%s'", _savePath); + displayMessage(0, "Could not save game in directory '%s'", _saveFileMan->getSavePath()); quitPanel = true; } if ((clickRes == CANCEL_PRESSED) || (clickRes == GAME_RESTORED)) @@ -1010,7 +1009,7 @@ void Control::loadDescriptions(uint8 *destBuf) { memset(destBuf, 0, MAX_SAVE_GAMES * MAX_TEXT_LEN); SaveFile *inf; - inf = _saveFileMan->open_savefile("SKY-VM.SAV",_savePath,false); + inf = _saveFileMan->openSavefile("SKY-VM.SAV", false); if (inf != NULL) { uint8 *tmpBuf = (uint8 *)malloc(MAX_SAVE_GAMES * MAX_TEXT_LEN); inf->read(tmpBuf, MAX_SAVE_GAMES * MAX_TEXT_LEN); @@ -1087,7 +1086,7 @@ void Control::saveDescriptions(uint8 *srcBuf) { } SaveFile *outf; - outf = _saveFileMan->open_savefile("SKY-VM.SAV", _savePath, true); + outf = _saveFileMan->openSavefile("SKY-VM.SAV", true); if (outf != NULL) { outf->write(tmpBuf, tmpPos - tmpBuf); delete outf; @@ -1103,16 +1102,16 @@ void Control::doAutoSave(void) { sprintf(fName, "SKY-VM%03d.ASD", SkyEngine::_systemVars.gameVersion); SaveFile *outf; - outf = _saveFileMan->open_savefile(fName, _savePath, true); + outf = _saveFileMan->openSavefile(fName, true); if (outf == NULL) { - displayMessage(0, "Unable to create autosave file '%s' in directory '%s'", fName, _savePath); + displayMessage(0, "Unable to create autosave file '%s' in directory '%s'", fName, _saveFileMan->getSavePath()); return; } uint8 *saveData = (uint8 *)malloc(0x20000); uint32 fSize = prepareSaveData(saveData); if (outf->write(saveData, fSize) != fSize) - displayMessage(0, "Unable to write autosave file '%s' in directory '%s'. Disk full?", fName, _savePath); + displayMessage(0, "Unable to write autosave file '%s' in directory '%s'. Disk full?", fName, _saveFileMan->getSavePath()); delete outf; free(saveData); @@ -1124,7 +1123,7 @@ uint16 Control::saveGameToFile(void) { sprintf(fName,"SKY-VM.%03d", _selectedGame); SaveFile *outf; - outf = _saveFileMan->open_savefile(fName, _savePath, true); + outf = _saveFileMan->openSavefile(fName, true); if (outf == NULL) { return NO_DISK_SPACE; } @@ -1529,7 +1528,7 @@ uint16 Control::restoreGameFromFile(bool autoSave) { sprintf(fName,"SKY-VM.%03d", _selectedGame); SaveFile *inf; - inf = _saveFileMan->open_savefile(fName, _savePath, false); + inf = _saveFileMan->openSavefile(fName, false); if (inf == NULL) { return RESTORE_FAILED; } diff --git a/sky/control.h b/sky/control.h index fcc1b5907e..15be94e0aa 100644 --- a/sky/control.h +++ b/sky/control.h @@ -175,7 +175,7 @@ private: class Control { public: - Control(SaveFileManager *saveFileMan, Screen *screen, Disk *disk, Mouse *mouse, Text *text, MusicBase *music, Logic *logic, Sound *sound, OSystem *system, const char *savePath); + Control(SaveFileManager *saveFileMan, Screen *screen, Disk *disk, Mouse *mouse, Text *text, MusicBase *music, Logic *logic, Sound *sound, OSystem *system); void doControlPanel(void); void doLoadSavePanel(void); void restartGame(void); @@ -230,7 +230,6 @@ private: void lodsStr(uint8 **srcPos, uint16 *src); uint16 parseSaveData(uint8 *srcBuf); - const char *_savePath; uint16 *lz77decode(uint16 *data); void applyDiff(uint16 *data, uint16 *diffData, uint16 len); static Compact *_saveLoadCpts[833]; //----------------- diff --git a/sky/sky.cpp b/sky/sky.cpp index bde61fcd0d..2c19622f7f 100644 --- a/sky/sky.cpp +++ b/sky/sky.cpp @@ -303,7 +303,7 @@ int SkyEngine::init(GameDetector &detector) { // initialize timer *after* _skyScreen has been initialized. _timer->installTimerProc(&timerHandler, 1000000 / 50, this); //call 50 times per second - _skyControl = new Control(_saveFileMan, _skyScreen, _skyDisk, _skyMouse, _skyText, _skyMusic, _skyLogic, _skySound, _system, getSavePath()); + _skyControl = new Control(_saveFileMan, _skyScreen, _skyDisk, _skyMouse, _skyText, _skyMusic, _skyLogic, _skySound, _system); _skyLogic->useControlInstance(_skyControl); if (_systemVars.gameVersion == 288) -- cgit v1.2.3