From 026ef70b87f4b85476cb6a3d74ffb9170a170718 Mon Sep 17 00:00:00 2001 From: Sven Hesse Date: Sat, 16 Jun 2012 15:23:31 +0200 Subject: GOB: Add a SaveLoad class for AJ's World Only contains a temp sprite handler ("menu.inf") for now. This fixes the graphical glitch after clicking on the cloud. --- engines/gob/save/saveload_ajworld.cpp | 94 +++++++++++++++++++++++++++++++++++ 1 file changed, 94 insertions(+) create mode 100644 engines/gob/save/saveload_ajworld.cpp (limited to 'engines/gob/save/saveload_ajworld.cpp') diff --git a/engines/gob/save/saveload_ajworld.cpp b/engines/gob/save/saveload_ajworld.cpp new file mode 100644 index 0000000000..727d071b3e --- /dev/null +++ b/engines/gob/save/saveload_ajworld.cpp @@ -0,0 +1,94 @@ +/* ScummVM - Graphic Adventure Engine + * + * ScummVM is the legal property of its developers, whose names + * are too numerous to list here. Please refer to the COPYRIGHT + * file distributed with this source distribution. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + */ + +#include "gob/save/saveload.h" +#include "gob/save/saveconverter.h" +#include "gob/inter.h" +#include "gob/variables.h" + +namespace Gob { + +SaveLoad_AJWorld::SaveFile SaveLoad_AJWorld::_saveFiles[] = { + { "menu.inf", kSaveModeSave, 0, "temporary sprite"} +}; + + +SaveLoad_AJWorld::SaveLoad_AJWorld(GobEngine *vm, const char *targetName) : + SaveLoad(vm) { + + _tempSpriteHandler = new TempSpriteHandler(vm); + + _saveFiles[0].handler = _tempSpriteHandler; +} + +SaveLoad_AJWorld::~SaveLoad_AJWorld() { + delete _tempSpriteHandler; +} + +const SaveLoad_AJWorld::SaveFile *SaveLoad_AJWorld::getSaveFile(const char *fileName) const { + fileName = stripPath(fileName); + + for (int i = 0; i < ARRAYSIZE(_saveFiles); i++) + if (!scumm_stricmp(fileName, _saveFiles[i].sourceName)) + return &_saveFiles[i]; + + return 0; +} + +SaveLoad_AJWorld::SaveFile *SaveLoad_AJWorld::getSaveFile(const char *fileName) { + fileName = stripPath(fileName); + + for (int i = 0; i < ARRAYSIZE(_saveFiles); i++) + if (!scumm_stricmp(fileName, _saveFiles[i].sourceName)) + return &_saveFiles[i]; + + return 0; +} + +SaveHandler *SaveLoad_AJWorld::getHandler(const char *fileName) const { + const SaveFile *saveFile = getSaveFile(fileName); + + if (saveFile) + return saveFile->handler; + + return 0; +} + +const char *SaveLoad_AJWorld::getDescription(const char *fileName) const { + const SaveFile *saveFile = getSaveFile(fileName); + + if (saveFile) + return saveFile->description; + + return 0; +} + +SaveLoad::SaveMode SaveLoad_AJWorld::getSaveMode(const char *fileName) const { + const SaveFile *saveFile = getSaveFile(fileName); + + if (saveFile) + return saveFile->mode; + + return kSaveModeNone; +} + +} // End of namespace Gob -- cgit v1.2.3