From db519373c111d8eced7d7fb4148d4655204813bc Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Sat, 18 May 2013 12:40:43 +1000 Subject: VOYEUR: Added engine skeleton --- engines/configure.engines | 1 + engines/plugins_table.h | 3 + engines/voyeur/detection.cpp | 170 ++++++++++++++++++++++++++++++++++++++ engines/voyeur/detection_tables.h | 45 ++++++++++ engines/voyeur/module.mk | 13 +++ engines/voyeur/voyeur.cpp | 83 +++++++++++++++++++ engines/voyeur/voyeur.h | 88 ++++++++++++++++++++ 7 files changed, 403 insertions(+) create mode 100644 engines/voyeur/detection.cpp create mode 100644 engines/voyeur/detection_tables.h create mode 100644 engines/voyeur/module.mk create mode 100644 engines/voyeur/voyeur.cpp create mode 100644 engines/voyeur/voyeur.h diff --git a/engines/configure.engines b/engines/configure.engines index 15aa11d0ef..7325b105ad 100644 --- a/engines/configure.engines +++ b/engines/configure.engines @@ -50,4 +50,5 @@ add_engine touche "Touche: The Adventures of the Fifth Musketeer" yes add_engine tony "Tony Tough and the Night of Roasted Moths" yes "" "" "16bit" add_engine tsage "TsAGE" yes add_engine tucker "Bud Tucker in Double Trouble" yes +add_engine voyeur "Voyeur" yes add_engine wintermute "Wintermute" no "" "" "png zlib vorbis 16bit" diff --git a/engines/plugins_table.h b/engines/plugins_table.h index 44979458ca..c68aa05e58 100644 --- a/engines/plugins_table.h +++ b/engines/plugins_table.h @@ -113,6 +113,9 @@ LINK_PLUGIN(TOUCHE) #if PLUGIN_ENABLED_STATIC(TUCKER) LINK_PLUGIN(TUCKER) #endif +#if PLUGIN_ENABLED_STATIC(VOYEUR) +LINK_PLUGIN(VOYEUR) +#endif #if PLUGIN_ENABLED_STATIC(WINTERMUTE) LINK_PLUGIN(WINTERMUTE) #endif diff --git a/engines/voyeur/detection.cpp b/engines/voyeur/detection.cpp new file mode 100644 index 0000000000..e9a5b8d982 --- /dev/null +++ b/engines/voyeur/detection.cpp @@ -0,0 +1,170 @@ +/* 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 "voyeur/voyeur.h" + +#include "base/plugins.h" +#include "common/savefile.h" +#include "common/str-array.h" +#include "common/memstream.h" +#include "engines/advancedDetector.h" +#include "common/system.h" +#include "graphics/colormasks.h" +#include "graphics/surface.h" + +#define MAX_SAVES 99 + +namespace Voyeur { + +struct VoyeurGameDescription { + ADGameDescription desc; +}; + +uint32 VoyeurEngine::getFeatures() const { + return _gameDescription->desc.flags; +} + +Common::Language VoyeurEngine::getLanguage() const { + return _gameDescription->desc.language; +} + +Common::Platform VoyeurEngine::getPlatform() const { + return _gameDescription->desc.platform; +} + +bool VoyeurEngine::getIsDemo() const { + return _gameDescription->desc.flags & ADGF_DEMO; +} + +} // End of namespace Voyeur + +static const PlainGameDescriptor voyeurGames[] = { + {"voyeur", "Voyeur"}, + {0, 0} +}; + +#include "voyeur/detection_tables.h" + +class VoyeurMetaEngine : public AdvancedMetaEngine { +public: + VoyeurMetaEngine() : AdvancedMetaEngine(Voyeur::gameDescriptions, sizeof(Voyeur::VoyeurGameDescription), voyeurGames) { + _maxScanDepth = 3; + } + + virtual const char *getName() const { + return "Voyeur Engine"; + } + + virtual const char *getOriginalCopyright() const { + return "Voyeur (c)"; + } + + virtual bool hasFeature(MetaEngineFeature f) const; + virtual bool createInstance(OSystem *syst, Engine **engine, const ADGameDescription *desc) const; + virtual SaveStateList listSaves(const char *target) const; + virtual int getMaximumSaveSlot() const; + virtual void removeSaveState(const char *target, int slot) const; + SaveStateDescriptor querySaveMetaInfos(const char *target, int slot) const; +}; + +bool VoyeurMetaEngine::hasFeature(MetaEngineFeature f) const { + return + (f == kSupportsListSaves) || + (f == kSupportsLoadingDuringStartup) || + (f == kSupportsDeleteSave) || + (f == kSavesSupportMetaInfo) || + (f == kSavesSupportThumbnail); +} + +bool Voyeur::VoyeurEngine::hasFeature(EngineFeature f) const { + return + (f == kSupportsRTL) || + (f == kSupportsLoadingDuringRuntime) || + (f == kSupportsSavingDuringRuntime); +} + +bool VoyeurMetaEngine::createInstance(OSystem *syst, Engine **engine, const ADGameDescription *desc) const { + const Voyeur::VoyeurGameDescription *gd = (const Voyeur::VoyeurGameDescription *)desc; + if (gd) { + *engine = new Voyeur::VoyeurEngine(syst, gd); + } + return gd != 0; +} + +SaveStateList VoyeurMetaEngine::listSaves(const char *target) const { + Common::SaveFileManager *saveFileMan = g_system->getSavefileManager(); + Common::StringArray filenames; + Common::String saveDesc; + Common::String pattern = Common::String::format("%s.0??", target); + + filenames = saveFileMan->listSavefiles(pattern); + sort(filenames.begin(), filenames.end()); // Sort to get the files in numerical order + + SaveStateList saveList; + for (Common::StringArray::const_iterator file = filenames.begin(); file != filenames.end(); ++file) { + const char *ext = strrchr(file->c_str(), '.'); + int slot = ext ? atoi(ext + 1) : -1; + + if (slot >= 0 && slot < MAX_SAVES) { + Common::InSaveFile *in = g_system->getSavefileManager()->openForLoading(*file); + + if (in) { + delete in; + } + } + } + + return saveList; +} + +int VoyeurMetaEngine::getMaximumSaveSlot() const { + return MAX_SAVES; +} + +void VoyeurMetaEngine::removeSaveState(const char *target, int slot) const { + Common::String filename = Common::String::format("%s.%03d", target, slot); + g_system->getSavefileManager()->removeSavefile(filename); +} + +SaveStateDescriptor VoyeurMetaEngine::querySaveMetaInfos(const char *target, int slot) const { + Common::String filename = Common::String::format("%s.%03d", target, slot); + Common::InSaveFile *f = g_system->getSavefileManager()->openForLoading(filename); + + if (f) { + delete f; + + // Create the return descriptor + SaveStateDescriptor desc(slot, ""); + + return desc; + } + + return SaveStateDescriptor(); +} + + +#if PLUGIN_ENABLED_DYNAMIC(VOYEUR) +REGISTER_PLUGIN_DYNAMIC(VOYEUR, PLUGIN_TYPE_ENGINE, VoyeurMetaEngine); +#else +REGISTER_PLUGIN_STATIC(VOYEUR, PLUGIN_TYPE_ENGINE, VoyeurMetaEngine); +#endif diff --git a/engines/voyeur/detection_tables.h b/engines/voyeur/detection_tables.h new file mode 100644 index 0000000000..8f85b9273a --- /dev/null +++ b/engines/voyeur/detection_tables.h @@ -0,0 +1,45 @@ +/* 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. + * + */ + +namespace Voyeur { + +static const VoyeurGameDescription gameDescriptions[] = { + { + // Voyeur + { + "voyeur", + 0, + { + {"Voyeur.exe", 0, "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", 292864}, + AD_LISTEND + }, + Common::EN_ANY, + Common::kPlatformDOS, + ADGF_NO_FLAGS, + GUIO1(GUIO_NONE) + }, + }, + + { AD_TABLE_END_MARKER } +}; + +} // End of namespace Voyeur diff --git a/engines/voyeur/module.mk b/engines/voyeur/module.mk new file mode 100644 index 0000000000..c4dad92c37 --- /dev/null +++ b/engines/voyeur/module.mk @@ -0,0 +1,13 @@ +MODULE := engines/voyeur + +MODULE_OBJS := \ + detection.o \ + voyeur.o + +# This module can be built as a plugin +ifeq ($(ENABLE_VOYEUR), DYNAMIC_PLUGIN) +PLUGIN := 1 +endif + +# Include common rules +include $(srcdir)/rules.mk diff --git a/engines/voyeur/voyeur.cpp b/engines/voyeur/voyeur.cpp new file mode 100644 index 0000000000..43e7f51540 --- /dev/null +++ b/engines/voyeur/voyeur.cpp @@ -0,0 +1,83 @@ +/* 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 "voyeur/voyeur.h" +#include "common/scummsys.h" +#include "common/config-manager.h" +#include "common/debug-channels.h" + +namespace Voyeur { + +VoyeurEngine *g_vm; + +VoyeurEngine::VoyeurEngine(OSystem *syst, const VoyeurGameDescription *gameDesc) : Engine(syst), + _gameDescription(gameDesc), _randomSource("Voyeur") { + DebugMan.addDebugChannel(kDebugPath, "Path", "Pathfinding debug level"); +} + +VoyeurEngine::~VoyeurEngine() { +} + +Common::String VoyeurEngine::generateSaveName(int slot) { + return Common::String::format("%s.%03d", _targetName.c_str(), slot); +} + +/** + * Returns true if it is currently okay to restore a game + */ +bool VoyeurEngine::canLoadGameStateCurrently() { + return true; +} + +/** + * Returns true if it is currently okay to save the game + */ +bool VoyeurEngine::canSaveGameStateCurrently() { + return true; +} + +/** + * Load the savegame at the specified slot index + */ +Common::Error VoyeurEngine::loadGameState(int slot) { + return Common::kNoError; +} + +/** + * Save the game to the given slot index, and with the given name + */ +Common::Error VoyeurEngine::saveGameState(int slot, const Common::String &desc) { + //TODO + return Common::kNoError; +} + +Common::Error VoyeurEngine::run() { + + + return Common::kNoError; +} + +int VoyeurEngine::getRandomNumber(int maxNumber) { + return _randomSource.getRandomNumber(maxNumber); +} + +} // End of namespace Voyeur diff --git a/engines/voyeur/voyeur.h b/engines/voyeur/voyeur.h new file mode 100644 index 0000000000..fe82c9116c --- /dev/null +++ b/engines/voyeur/voyeur.h @@ -0,0 +1,88 @@ +/* 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. + * + */ + +#ifndef VOYEUR_VOYEUR_H +#define VOYEUR_VOYEUR_H + +#include "common/scummsys.h" +#include "common/system.h" +#include "common/error.h" +#include "common/random.h" +#include "common/util.h" +#include "engines/engine.h" +#include "graphics/surface.h" + +/** + * This is the namespace of the Voyeur engine. + * + * Status of this engine: In Development + * + * Games using this engine: + * - Voyeur + */ +namespace Voyeur { + +#define DEBUG_BASIC 1 +#define DEBUG_INTERMEDIATE 2 +#define DEBUG_DETAILED 3 + +#define SCREEN_WIDTH 320 +#define SCREEN_HEIGHT 200 + +enum VoyeurDebugChannels { + kDebugPath = 1 << 0 +}; + +struct VoyeurGameDescription; + +class VoyeurEngine : public Engine { +private: + const VoyeurGameDescription *_gameDescription; + Common::RandomSource _randomSource; + +protected: + // Engine APIs + virtual Common::Error run(); + virtual bool hasFeature(EngineFeature f) const; + +public: + VoyeurEngine(OSystem *syst, const VoyeurGameDescription *gameDesc); + virtual ~VoyeurEngine(); + void GUIError(const Common::String &msg); + + uint32 getFeatures() const; + Common::Language getLanguage() const; + Common::Platform getPlatform() const; + uint16 getVersion() const; + bool getIsDemo() const; + + int getRandomNumber(int maxNumber); + Common::String generateSaveName(int slotNumber); + virtual bool canLoadGameStateCurrently(); + virtual bool canSaveGameStateCurrently(); + virtual Common::Error loadGameState(int slot); + virtual Common::Error saveGameState(int slot, const Common::String &desc); +}; + +} // End of namespace Voyeur + +#endif /* VOYEUR_VOYEUR_H */ -- cgit v1.2.3 From b72298fa6f7da9eda854b78a1c69c8365ffdf30c Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Sat, 18 May 2013 13:13:48 +1000 Subject: VOYEUR: Added proper detection entry --- engines/voyeur/detection_tables.h | 4 ++-- engines/voyeur/events.cpp | 31 +++++++++++++++++++++++++++ engines/voyeur/events.h | 45 +++++++++++++++++++++++++++++++++++++++ engines/voyeur/voyeur.cpp | 9 +++++++- engines/voyeur/voyeur.h | 3 +++ 5 files changed, 89 insertions(+), 3 deletions(-) create mode 100644 engines/voyeur/events.cpp create mode 100644 engines/voyeur/events.h diff --git a/engines/voyeur/detection_tables.h b/engines/voyeur/detection_tables.h index 8f85b9273a..789eb4c22b 100644 --- a/engines/voyeur/detection_tables.h +++ b/engines/voyeur/detection_tables.h @@ -24,12 +24,12 @@ namespace Voyeur { static const VoyeurGameDescription gameDescriptions[] = { { - // Voyeur + // Voyeur DOS English { "voyeur", 0, { - {"Voyeur.exe", 0, "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", 292864}, + {"a1100100.rl2", 0, "b44630677618d034970ca0a13c1c1237", 336361}, AD_LISTEND }, Common::EN_ANY, diff --git a/engines/voyeur/events.cpp b/engines/voyeur/events.cpp new file mode 100644 index 0000000000..f84172f559 --- /dev/null +++ b/engines/voyeur/events.cpp @@ -0,0 +1,31 @@ +/* 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 "voyeur/events.h" + +namespace Voyeur { + +void EventManager::resetMouse() { + +} + +} // End of namespace Voyeur diff --git a/engines/voyeur/events.h b/engines/voyeur/events.h new file mode 100644 index 0000000000..5715591c52 --- /dev/null +++ b/engines/voyeur/events.h @@ -0,0 +1,45 @@ +/* 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. + * + */ + +#ifndef VOYEUR_EVENTS_H +#define VOYEUR_EVENTS_H + +#include "common/scummsys.h" +#include "common/events.h" + +namespace Voyeur { + +class VoyeurEngine; + +class EventManager { +private: + VoyeurEngine *_vm; +public: + EventManager() {} + void setVm(VoyeurEngine *vm) { _vm = vm; } + + void resetMouse(); +}; + +} // End of namespace Voyeur + +#endif /* VOYEUR_VOYEUR_H */ diff --git a/engines/voyeur/voyeur.cpp b/engines/voyeur/voyeur.cpp index 43e7f51540..580bacbd6f 100644 --- a/engines/voyeur/voyeur.cpp +++ b/engines/voyeur/voyeur.cpp @@ -71,7 +71,7 @@ Common::Error VoyeurEngine::saveGameState(int slot, const Common::String &desc) } Common::Error VoyeurEngine::run() { - + ESP_Init(); return Common::kNoError; } @@ -80,4 +80,11 @@ int VoyeurEngine::getRandomNumber(int maxNumber) { return _randomSource.getRandomNumber(maxNumber); } +void VoyeurEngine::ESP_Init() { + _eventManager.setVm(this); + + _eventManager.resetMouse(); + +} + } // End of namespace Voyeur diff --git a/engines/voyeur/voyeur.h b/engines/voyeur/voyeur.h index fe82c9116c..627f7d8108 100644 --- a/engines/voyeur/voyeur.h +++ b/engines/voyeur/voyeur.h @@ -23,6 +23,7 @@ #ifndef VOYEUR_VOYEUR_H #define VOYEUR_VOYEUR_H +#include "voyeur/events.h" #include "common/scummsys.h" #include "common/system.h" #include "common/error.h" @@ -58,7 +59,9 @@ class VoyeurEngine : public Engine { private: const VoyeurGameDescription *_gameDescription; Common::RandomSource _randomSource; + EventManager _eventManager; + void ESP_Init(); protected: // Engine APIs virtual Common::Error run(); -- cgit v1.2.3 From 0c5561cc07ff6257b832feeca644bcd136fe2a0f Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Mon, 20 May 2013 12:45:54 +1000 Subject: VOYEUR: In progress work on bolt file manager --- engines/voyeur/files.cpp | 143 ++++++++++++++++++++++++++++++++++++++++++++ engines/voyeur/files.h | 105 ++++++++++++++++++++++++++++++++ engines/voyeur/graphics.cpp | 27 +++++++++ engines/voyeur/graphics.h | 38 ++++++++++++ engines/voyeur/module.mk | 3 + engines/voyeur/voyeur.cpp | 18 +++++- engines/voyeur/voyeur.h | 8 +++ 7 files changed, 340 insertions(+), 2 deletions(-) create mode 100644 engines/voyeur/files.cpp create mode 100644 engines/voyeur/files.h create mode 100644 engines/voyeur/graphics.cpp create mode 100644 engines/voyeur/graphics.h diff --git a/engines/voyeur/files.cpp b/engines/voyeur/files.cpp new file mode 100644 index 0000000000..4480f48f18 --- /dev/null +++ b/engines/voyeur/files.cpp @@ -0,0 +1,143 @@ +/* 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 "voyeur/files.h" + +namespace Voyeur { + +FilesManager::FilesManager() { + _decompressSize = 0x7000; +} + +bool FilesManager::openBOLTLib(const Common::String &filename, BoltFile *&boltFile) { + if (boltFile != NULL) { + _curLibPtr = boltFile; + return true; + } + + // TODO: Specific library classes for buoy.blt versus stampblt.blt + // Create the bolt file interface object and load the index + boltFile = _curLibPtr = new BoltFile(); + return true; +} + +/*------------------------------------------------------------------------*/ + +#define BOLT_GROUP_SIZE 16 + +BoltFile *BoltFile::_curLibPtr = NULL; +BoltGroup *BoltFile::_curGroupPtr = NULL; +byte *BoltFile::_curMemInfoPtr = NULL; +int BoltFile::_fromGroupFlag = 0; + +BoltFile::BoltFile() { + if (!_curFd.open("buoy.blt")) + error("Could not open buoy.blt"); + _curFilePosition = 0; + + // Read in the file header + byte header[16]; + _curFd.read(&header[0], 16); + + if (strncmp((const char *)&header[0], "BOLT", 4) != 0) + error("Tried to load non-bolt file"); + + int totalGroups = header[11] ? header[11] : 0x100; + for (int i = 0; i < totalGroups; ++i) + _groups.push_back(BoltGroup(_curFd.readStream(_curFd.size()))); +} + +BoltFile::~BoltFile() { + _curFd.close(); +} + +bool BoltFile::getBoltGroup(uint32 id) { + ++_fromGroupFlag; + _curLibPtr = this; + _curGroupPtr = &_groups[(id >> 8) & 0xff]; + int count = _curGroupPtr->_count ? _curGroupPtr->_count : 256; + + if (_curGroupPtr->_groupPtr) { + // Group already loaded + _curMemInfoPtr = _curGroupPtr->_groupPtr; + } else { + // Load the group + _curGroupPtr->load(); + } + + if (_curGroupPtr->_callInitGro) + initGro(); + + if ((id >> 16) == 0) { + if (!_curGroupPtr->_loaded) { + _curGroupPtr->load(); + } else { + id &= 0xff00; + for (int idx = 0; idx < count; ++idx, ++id) { + byte *member = getBoltMember(id); + assert(member); + } + } + } + + resolveAll(); + --_fromGroupFlag; + return true; +} + +/*------------------------------------------------------------------------*/ + +BoltGroup::BoltGroup(Common::SeekableReadStream *f): _file(f) { + byte buffer[BOLT_GROUP_SIZE]; + + _groupPtr = NULL; + + _file->read(&buffer[0], BOLT_GROUP_SIZE); + _loaded = false; + _callInitGro = buffer[1] != 0; + _count = buffer[3]; + _fileOffset = READ_LE_UINT32(&buffer[8]); +} + +void BoltGroup::load() { + _file->seek(_fileOffset); + + byte header[4]; + _file->read(&header[0], 4); + + // Read the entries + int count = _count ? _count : 256; + for (int i = 0; i < count; ++i) + _entries.push_back(BoltEntry(_file)); +} + +/*------------------------------------------------------------------------*/ + +BoltEntry::BoltEntry(Common::SeekableReadStream *f): _file(f) { + +} + +void BoltEntry::load() { + +} + +} // End of namespace Voyeur diff --git a/engines/voyeur/files.h b/engines/voyeur/files.h new file mode 100644 index 0000000000..1db1fdf4b0 --- /dev/null +++ b/engines/voyeur/files.h @@ -0,0 +1,105 @@ +/* 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. + * + */ + +#ifndef VOYEUR_FILES_H +#define VOYEUR_FILES_H + +#include "common/scummsys.h" +#include "common/file.h" +#include "common/str.h" + +namespace Voyeur { + +class VoyeurEngine; +class BoltGroup; +class BoltEntry; + +class BoltFile { +private: + static BoltFile *_curLibPtr; + static BoltGroup *_curGroupPtr; + static byte *_curMemInfoPtr; + static int _fromGroupFlag; +private: + Common::File _curFd; + int _curFilePosition; + Common::Array _groups; +private: + bool getBoltGroup(uint32 id); + void resolveAll() {} + byte *getBoltMember(uint32 id) { return NULL; } +public: + BoltFile(); + ~BoltFile(); + + // Methods copied into bolt virtual table + void initType() {} + void termType() {} + void initMem() {} + void termMem() {} + void initGro() {} + void termGro() {} +}; + +class BoltGroup { +private: + Common::SeekableReadStream *_file; +public: + bool _loaded; + bool _callInitGro; + int _count; + int _fileOffset; + byte *_groupPtr; + Common::Array _entries; +public: + BoltGroup(Common::SeekableReadStream *f); + + void load(); +}; + + +class BoltEntry { +private: + Common::SeekableReadStream *_file; +public: + int _fileOffset; +public: + BoltEntry(Common::SeekableReadStream *f); + + void load(); +}; + +class FilesManager { +private: + int _decompressSize; +public: + BoltFile *_curLibPtr; +public: + FilesManager(); + + bool openBOLTLib(const Common::String &filename, BoltFile *&boltFile); + +}; + +} // End of namespace Voyeur + +#endif /* VOYEUR_VOYEUR_H */ diff --git a/engines/voyeur/graphics.cpp b/engines/voyeur/graphics.cpp new file mode 100644 index 0000000000..008b014be1 --- /dev/null +++ b/engines/voyeur/graphics.cpp @@ -0,0 +1,27 @@ +/* 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 "voyeur/graphics.h" + +namespace Voyeur { + +} // End of namespace Voyeur diff --git a/engines/voyeur/graphics.h b/engines/voyeur/graphics.h new file mode 100644 index 0000000000..f1b568e064 --- /dev/null +++ b/engines/voyeur/graphics.h @@ -0,0 +1,38 @@ +/* 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. + * + */ + +#ifndef VOYEUR_GRAPHICS_H +#define VOYEUR_GRAPHICS_H + +#include "common/scummsys.h" +#include "graphics/surface.h" + +namespace Voyeur { + +class GraphicsManager { +public: + GraphicsManager() {} +}; + +} // End of namespace Voyeur + +#endif /* VOYEUR_VOYEUR_H */ diff --git a/engines/voyeur/module.mk b/engines/voyeur/module.mk index c4dad92c37..24984cd8d3 100644 --- a/engines/voyeur/module.mk +++ b/engines/voyeur/module.mk @@ -2,6 +2,9 @@ MODULE := engines/voyeur MODULE_OBJS := \ detection.o \ + events.o \ + files.o \ + graphics.o \ voyeur.o # This module can be built as a plugin diff --git a/engines/voyeur/voyeur.cpp b/engines/voyeur/voyeur.cpp index 580bacbd6f..dc3fcb221a 100644 --- a/engines/voyeur/voyeur.cpp +++ b/engines/voyeur/voyeur.cpp @@ -32,9 +32,11 @@ VoyeurEngine *g_vm; VoyeurEngine::VoyeurEngine(OSystem *syst, const VoyeurGameDescription *gameDesc) : Engine(syst), _gameDescription(gameDesc), _randomSource("Voyeur") { DebugMan.addDebugChannel(kDebugPath, "Path", "Pathfinding debug level"); + _bVoyBoltFile = NULL; } VoyeurEngine::~VoyeurEngine() { + delete _bVoyBoltFile; } Common::String VoyeurEngine::generateSaveName(int slot) { @@ -73,17 +75,29 @@ Common::Error VoyeurEngine::saveGameState(int slot, const Common::String &desc) Common::Error VoyeurEngine::run() { ESP_Init(); + globalInitBolt(); + _eventManager.resetMouse(); + + //doHeadTitle(); + return Common::kNoError; } + int VoyeurEngine::getRandomNumber(int maxNumber) { return _randomSource.getRandomNumber(maxNumber); } -void VoyeurEngine::ESP_Init() { +void VoyeurEngine::initialiseManagers() { _eventManager.setVm(this); +} + +void VoyeurEngine::ESP_Init() { +} + +void VoyeurEngine::globalInitBolt() { + _filesManager.openBOLTLib("buoy.blt", _bVoyBoltFile); - _eventManager.resetMouse(); } diff --git a/engines/voyeur/voyeur.h b/engines/voyeur/voyeur.h index 627f7d8108..8b5eb75ba0 100644 --- a/engines/voyeur/voyeur.h +++ b/engines/voyeur/voyeur.h @@ -24,6 +24,8 @@ #define VOYEUR_VOYEUR_H #include "voyeur/events.h" +#include "voyeur/files.h" +#include "voyeur/graphics.h" #include "common/scummsys.h" #include "common/system.h" #include "common/error.h" @@ -60,8 +62,14 @@ private: const VoyeurGameDescription *_gameDescription; Common::RandomSource _randomSource; EventManager _eventManager; + FilesManager _filesManager; + GraphicsManager _graphicsManager; + + BoltFile *_bVoyBoltFile; void ESP_Init(); + void initialiseManagers(); + void globalInitBolt(); protected: // Engine APIs virtual Common::Error run(); -- cgit v1.2.3 From 4b638bc4b05ce42432979b8b06ad0afac31142a7 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Tue, 21 May 2013 11:18:40 +1000 Subject: VOYEUR: Further work on bolt file loading --- engines/voyeur/files.cpp | 63 ++++++++++++++++++++++++++++++++++++++++++----- engines/voyeur/files.h | 27 ++++++++++++++------ engines/voyeur/voyeur.cpp | 6 +++-- engines/voyeur/voyeur.h | 1 + 4 files changed, 81 insertions(+), 16 deletions(-) diff --git a/engines/voyeur/files.cpp b/engines/voyeur/files.cpp index 4480f48f18..fa3d27e1d6 100644 --- a/engines/voyeur/files.cpp +++ b/engines/voyeur/files.cpp @@ -28,7 +28,7 @@ FilesManager::FilesManager() { _decompressSize = 0x7000; } -bool FilesManager::openBOLTLib(const Common::String &filename, BoltFile *&boltFile) { +bool FilesManager::openBoltLib(const Common::String &filename, BoltFile *&boltFile) { if (boltFile != NULL) { _curLibPtr = boltFile; return true; @@ -46,11 +46,14 @@ bool FilesManager::openBOLTLib(const Common::String &filename, BoltFile *&boltFi BoltFile *BoltFile::_curLibPtr = NULL; BoltGroup *BoltFile::_curGroupPtr = NULL; +BoltEntry *BoltFile::_curMemberPtr = NULL; byte *BoltFile::_curMemInfoPtr = NULL; int BoltFile::_fromGroupFlag = 0; +byte BoltFile::_xorMask = 0; +bool BoltFile::_encrypt = false; BoltFile::BoltFile() { - if (!_curFd.open("buoy.blt")) + if (!_curFd.open("bvoy.blt")) error("Could not open buoy.blt"); _curFilePosition = 0; @@ -63,7 +66,7 @@ BoltFile::BoltFile() { int totalGroups = header[11] ? header[11] : 0x100; for (int i = 0; i < totalGroups; ++i) - _groups.push_back(BoltGroup(_curFd.readStream(_curFd.size()))); + _groups.push_back(BoltGroup(_curFd))); } BoltFile::~BoltFile() { @@ -104,6 +107,40 @@ bool BoltFile::getBoltGroup(uint32 id) { return true; } +byte *BoltFile::memberAddr(uint32 id) { + BoltGroup &group = _groups[id >> 8]; + if (!group._loaded) + return NULL; + + return group._entries[id & 0xff]._data; +} + +byte *BoltFile::getBoltMember(uint32 id) { + _curLibPtr = this; + + // Get the group, and load it's entry list if not already loaded + _curGroupPtr = &_groups[(id >> 8) & 0xff << 4]; + if (!_curGroupPtr->_loaded) + _curGroupPtr->load(); + + // Get the entry + _curMemberPtr = &_curGroupPtr->_entries[id & 0xff]; + if (_curMemberPtr->_field1) + initMem(_curMemberPtr->_field1); + + // Return the data for the entry if it's already been loaded + if (_curMemberPtr->_data) + return _curMemberPtr->_data; + + _xorMask = _curMemberPtr->_xorMask; + _encrypt = (_curMemberPtr->_mode & 0x10) != 0; + + if (_curGroupPtr->_loaded) { + + } + //TODO +} + /*------------------------------------------------------------------------*/ BoltGroup::BoltGroup(Common::SeekableReadStream *f): _file(f) { @@ -114,7 +151,7 @@ BoltGroup::BoltGroup(Common::SeekableReadStream *f): _file(f) { _file->read(&buffer[0], BOLT_GROUP_SIZE); _loaded = false; _callInitGro = buffer[1] != 0; - _count = buffer[3]; + _count = buffer[3] ? buffer[3] : 256; // TODO: Added this in. Check it's okay _fileOffset = READ_LE_UINT32(&buffer[8]); } @@ -128,16 +165,30 @@ void BoltGroup::load() { int count = _count ? _count : 256; for (int i = 0; i < count; ++i) _entries.push_back(BoltEntry(_file)); + + _loaded = true; } /*------------------------------------------------------------------------*/ BoltEntry::BoltEntry(Common::SeekableReadStream *f): _file(f) { - + _data = NULL; + + byte buffer[16]; + _file->read(&buffer[0], 16); + _mode = buffer[0]; + _field1 = buffer[1]; + _field3 = buffer[3]; + _xorMask = buffer[4] & 0xff; // TODO: Is this right?? + _size = READ_LE_UINT32(&buffer[4]); + _fileOffset = READ_LE_UINT32(&buffer[8]); } -void BoltEntry::load() { +BoltEntry::~BoltEntry() { + delete[] _data; +} +void BoltEntry::load() { } } // End of namespace Voyeur diff --git a/engines/voyeur/files.h b/engines/voyeur/files.h index 1db1fdf4b0..381ba20255 100644 --- a/engines/voyeur/files.h +++ b/engines/voyeur/files.h @@ -37,27 +37,32 @@ class BoltFile { private: static BoltFile *_curLibPtr; static BoltGroup *_curGroupPtr; + static BoltEntry *_curMemberPtr; static byte *_curMemInfoPtr; static int _fromGroupFlag; + static byte _xorMask; + static bool _encrypt; private: Common::File _curFd; int _curFilePosition; Common::Array _groups; private: - bool getBoltGroup(uint32 id); void resolveAll() {} - byte *getBoltMember(uint32 id) { return NULL; } -public: - BoltFile(); - ~BoltFile(); + byte *getBoltMember(uint32 id); // Methods copied into bolt virtual table void initType() {} void termType() {} - void initMem() {} + void initMem(int id) {} void termMem() {} void initGro() {} void termGro() {} +public: + BoltFile(); + ~BoltFile(); + + bool getBoltGroup(uint32 id); + byte *memberAddr(uint32 id); }; class BoltGroup { @@ -81,9 +86,16 @@ class BoltEntry { private: Common::SeekableReadStream *_file; public: + byte _mode; + byte _field1; + byte _field3; int _fileOffset; + byte _xorMask; + int _size; + byte *_data; public: BoltEntry(Common::SeekableReadStream *f); + virtual ~BoltEntry(); void load(); }; @@ -96,8 +108,7 @@ public: public: FilesManager(); - bool openBOLTLib(const Common::String &filename, BoltFile *&boltFile); - + bool openBoltLib(const Common::String &filename, BoltFile *&boltFile); }; } // End of namespace Voyeur diff --git a/engines/voyeur/voyeur.cpp b/engines/voyeur/voyeur.cpp index dc3fcb221a..256a642de0 100644 --- a/engines/voyeur/voyeur.cpp +++ b/engines/voyeur/voyeur.cpp @@ -96,8 +96,10 @@ void VoyeurEngine::ESP_Init() { } void VoyeurEngine::globalInitBolt() { - _filesManager.openBOLTLib("buoy.blt", _bVoyBoltFile); - + _filesManager.openBoltLib("bvoy.blt", _bVoyBoltFile); + _bVoyBoltFile->getBoltGroup(0x10000); + _bVoyBoltFile->getBoltGroup(0x10100); + _fontPtr = _bVoyBoltFile->memberAddr(0x101); } diff --git a/engines/voyeur/voyeur.h b/engines/voyeur/voyeur.h index 8b5eb75ba0..fb30359130 100644 --- a/engines/voyeur/voyeur.h +++ b/engines/voyeur/voyeur.h @@ -66,6 +66,7 @@ private: GraphicsManager _graphicsManager; BoltFile *_bVoyBoltFile; + byte *_fontPtr; void ESP_Init(); void initialiseManagers(); -- cgit v1.2.3 From bff4076093554700e94c4db74a47adabb5f7c74e Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Tue, 21 May 2013 13:19:12 +1000 Subject: VOYEUR: Fixes for loading group index --- engines/voyeur/files.cpp | 26 +++++++++++--------------- 1 file changed, 11 insertions(+), 15 deletions(-) diff --git a/engines/voyeur/files.cpp b/engines/voyeur/files.cpp index fa3d27e1d6..d6df3aa1ea 100644 --- a/engines/voyeur/files.cpp +++ b/engines/voyeur/files.cpp @@ -66,7 +66,7 @@ BoltFile::BoltFile() { int totalGroups = header[11] ? header[11] : 0x100; for (int i = 0; i < totalGroups; ++i) - _groups.push_back(BoltGroup(_curFd))); + _groups.push_back(BoltGroup(&_curFd)); } BoltFile::~BoltFile() { @@ -90,16 +90,14 @@ bool BoltFile::getBoltGroup(uint32 id) { if (_curGroupPtr->_callInitGro) initGro(); - if ((id >> 16) == 0) { - if (!_curGroupPtr->_loaded) { - _curGroupPtr->load(); - } else { - id &= 0xff00; - for (int idx = 0; idx < count; ++idx, ++id) { - byte *member = getBoltMember(id); - assert(member); - } + if ((id >> 16) != 0) { + id &= 0xff00; + for (int idx = 0; idx < count; ++idx, ++id) { + byte *member = getBoltMember(id); + assert(member); } + } else if (!_curGroupPtr->_loaded) { + _curGroupPtr->load(); } resolveAll(); @@ -139,6 +137,8 @@ byte *BoltFile::getBoltMember(uint32 id) { } //TODO + + return NULL; } /*------------------------------------------------------------------------*/ @@ -158,12 +158,8 @@ BoltGroup::BoltGroup(Common::SeekableReadStream *f): _file(f) { void BoltGroup::load() { _file->seek(_fileOffset); - byte header[4]; - _file->read(&header[0], 4); - // Read the entries - int count = _count ? _count : 256; - for (int i = 0; i < count; ++i) + for (int i = 0; i < _count; ++i) _entries.push_back(BoltEntry(_file)); _loaded = true; -- cgit v1.2.3 From a52dffb3156220ed8ae7497b0273da0386bb335e Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Wed, 22 May 2013 12:07:17 +1000 Subject: VOYEUR: Implemented code for default decompression --- engines/voyeur/files.cpp | 163 ++++++++++++++++++++++++++++++++++++++++++++--- engines/voyeur/files.h | 29 +++++++-- 2 files changed, 179 insertions(+), 13 deletions(-) diff --git a/engines/voyeur/files.cpp b/engines/voyeur/files.cpp index d6df3aa1ea..6c4e824f75 100644 --- a/engines/voyeur/files.cpp +++ b/engines/voyeur/files.cpp @@ -51,6 +51,22 @@ byte *BoltFile::_curMemInfoPtr = NULL; int BoltFile::_fromGroupFlag = 0; byte BoltFile::_xorMask = 0; bool BoltFile::_encrypt = false; +int BoltFile::_curFilePosition = 0; +int BoltFile::_bufferEnd = 0; +int BoltFile::_bufferBegin = 0; +int BoltFile::_bytesLeft = 0; +int BoltFile::_bufSize = 0; +byte *BoltFile::_bufP = NULL; +byte *BoltFile::_bufStart = NULL; +byte *BoltFile::_bufPos = NULL; +byte BoltFile::_decompressBuf[512]; +int BoltFile::_historyIndex; +byte BoltFile::_historyBuffer[0x200]; +int BoltFile::_runLength; +int BoltFile::_decompState; +int BoltFile::_runType; +int BoltFile::_runValue; +int BoltFile::_runOffset; BoltFile::BoltFile() { if (!_curFd.open("bvoy.blt")) @@ -79,11 +95,8 @@ bool BoltFile::getBoltGroup(uint32 id) { _curGroupPtr = &_groups[(id >> 8) & 0xff]; int count = _curGroupPtr->_count ? _curGroupPtr->_count : 256; - if (_curGroupPtr->_groupPtr) { - // Group already loaded - _curMemInfoPtr = _curGroupPtr->_groupPtr; - } else { - // Load the group + if (!_curGroupPtr->_loaded) { + // Load the group index _curGroupPtr->load(); } @@ -96,7 +109,8 @@ bool BoltFile::getBoltGroup(uint32 id) { byte *member = getBoltMember(id); assert(member); } - } else if (!_curGroupPtr->_loaded) { + } else if (!_curGroupPtr->_processed) { + _curGroupPtr->_processed = true; _curGroupPtr->load(); } @@ -133,23 +147,154 @@ byte *BoltFile::getBoltMember(uint32 id) { _xorMask = _curMemberPtr->_xorMask; _encrypt = (_curMemberPtr->_mode & 0x10) != 0; - if (_curGroupPtr->_loaded) { + if (_curGroupPtr->_processed) { + // TODO: Figure out weird access type. Uncompressed read perhaps? + //int fileDiff = _curGroupPtr->_fileOffset - _curMemberPtr->_fileOffset; + + } else { + _bufStart = _decompressBuf; + _bufSize = DECOMPRESS_SIZE; + + if (_curMemberPtr->_fileOffset < _bufferBegin || _curMemberPtr->_fileOffset >= _bufferEnd) { + _bytesLeft = 0; + _bufPos = _bufStart; + _bufferBegin = -1; + _bufferEnd = _curMemberPtr->_fileOffset; + } else { + _bufPos = _curMemberPtr->_fileOffset + _bufferBegin + _bufStart; + _bufSize = ((_bufPos - _bufStart) << 16) >> 16; // TODO: Validate this + _bytesLeft = _bufSize; + } + _decompState = 0; + _historyIndex = 0; + initType(); } //TODO return NULL; } +void BoltFile::initType() { + _curMemberPtr->_data = decompress(0, _curMemberPtr->_size, _curMemberPtr->_mode); +} + +#define NEXT_BYTE if (--_bytesLeft <= 0) nextBlock() + +byte *BoltFile::decompress(byte *buf, int size, int mode) { + if (buf) + buf = new byte[size]; + byte *bufP = buf; + + if (mode & 8) { + _decompState = 1; + _runType = 0; + _runLength = size; + } + + while (size > 0) { + if (!_decompState) { + NEXT_BYTE; + byte nextByte = *_bufPos++; + + switch (nextByte & 0xC0) { + case 0: + _runType = 0; + _runLength = 30 - (nextByte & 0x1f) + 1; + break; + case 0x40: + _runType = 1; + _runLength = 35 - (nextByte & 0x1f); + NEXT_BYTE; + _runOffset = *_bufPos++ + ((nextByte & 0x20) << 3); + break; + case 0x80: + _runType = 1; + _runLength = (nextByte & 0x20) ? ((32 - (nextByte & 0x1f)) << 2) + 2 : + (32 - (nextByte & 0x1f)) << 2; + NEXT_BYTE; + _runOffset = *_bufPos++ << 1; + break; + default: + _runType = 2; + + if (nextByte & 0x20) { + _runLength = 0; + } else { + NEXT_BYTE; + _runLength = ((32 - (nextByte & 0x1f)) + (*_bufPos++ << 5)) << 2; + NEXT_BYTE; + _bufPos++; + NEXT_BYTE; + _runValue = *_bufPos++; + } + break; + } + + _runOffset = _historyIndex - _runOffset; + } + + int runOffset = _runOffset & 0x1ff; + int len; + if (_runLength <= size) { + len = _runLength; + _decompState = 0; + } else { + _decompState = 1; + _runLength = len = size; + if (_runType == 1) + _runOffset += len; + } + + // Handle the run lengths + switch (_runType) { + case 0: + while (len-- > 0) { + NEXT_BYTE; + _historyBuffer[_historyIndex] = *_bufPos++; + _historyIndex = (_historyIndex + 1) & 0x1ff; + } + break; + case 1: + while (len-- > 0) { + _historyBuffer[_historyIndex] = _historyBuffer[runOffset]; + *bufP++ = _historyBuffer[runOffset]; + _historyIndex = (_historyIndex + 1) & 0x1ff; + } + break; + default: + while (len-- > 0) { + _historyBuffer[_historyIndex] = _runValue; + _historyIndex = (_historyIndex + 1) & 0x1ff; + } + break; + } + } + + return buf; +} + +void BoltFile::nextBlock() { + if (_curFilePosition != _bufferEnd) + _curFd.seek(_bufferEnd); + + _bufferBegin = _curFilePosition; + int bytesRead = _curFd.read(_bufStart, _bufSize); + + _bufferEnd = _curFilePosition = _bufferBegin + bytesRead; + _bytesLeft -= bytesRead; + _bufPos = _bufStart; +} + /*------------------------------------------------------------------------*/ BoltGroup::BoltGroup(Common::SeekableReadStream *f): _file(f) { byte buffer[BOLT_GROUP_SIZE]; - _groupPtr = NULL; + _loaded = false; _file->read(&buffer[0], BOLT_GROUP_SIZE); - _loaded = false; + _processed = buffer[0] != 0; _callInitGro = buffer[1] != 0; _count = buffer[3] ? buffer[3] : 256; // TODO: Added this in. Check it's okay _fileOffset = READ_LE_UINT32(&buffer[8]); diff --git a/engines/voyeur/files.h b/engines/voyeur/files.h index 381ba20255..3b38dcceb3 100644 --- a/engines/voyeur/files.h +++ b/engines/voyeur/files.h @@ -32,6 +32,7 @@ namespace Voyeur { class VoyeurEngine; class BoltGroup; class BoltEntry; +#define DECOMPRESS_SIZE 512 class BoltFile { private: @@ -42,16 +43,36 @@ private: static int _fromGroupFlag; static byte _xorMask; static bool _encrypt; + // TODO: Move decompression statics and methods into BoltEntry + static int _curFilePosition; + static int _bufferEnd; + static int _bufferBegin; + static int _bytesLeft; + static int _bufSize; + static byte *_bufP; + static byte *_bufStart; + static byte *_bufPos; + static byte _decompressBuf[DECOMPRESS_SIZE]; + static int _historyIndex; + static byte _historyBuffer[0x200]; + static int _runLength; + static int _decompState; + static int _runType; + static int _runValue; + static int _runOffset; private: Common::File _curFd; - int _curFilePosition; Common::Array _groups; + + // Decompression + byte *decompress(byte *buf, int size, int mode); + void nextBlock(); private: void resolveAll() {} byte *getBoltMember(uint32 id); // Methods copied into bolt virtual table - void initType() {} + void initType(); void termType() {} void initMem(int id) {} void termMem() {} @@ -69,11 +90,11 @@ class BoltGroup { private: Common::SeekableReadStream *_file; public: - bool _loaded; + byte _loaded; + bool _processed; bool _callInitGro; int _count; int _fileOffset; - byte *_groupPtr; Common::Array _entries; public: BoltGroup(Common::SeekableReadStream *f); -- cgit v1.2.3 From ca0eb9bd758e35b52f64eb84d225c2b0ffe3f921 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Wed, 22 May 2013 13:15:43 +1000 Subject: VOYEUR: Some initial bugfixes for resource decompression --- engines/voyeur/files.cpp | 6 +++--- engines/voyeur/files.h | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/engines/voyeur/files.cpp b/engines/voyeur/files.cpp index 6c4e824f75..472d69062c 100644 --- a/engines/voyeur/files.cpp +++ b/engines/voyeur/files.cpp @@ -59,7 +59,7 @@ int BoltFile::_bufSize = 0; byte *BoltFile::_bufP = NULL; byte *BoltFile::_bufStart = NULL; byte *BoltFile::_bufPos = NULL; -byte BoltFile::_decompressBuf[512]; +byte BoltFile::_decompressBuf[DECOMPRESS_SIZE]; int BoltFile::_historyIndex; byte BoltFile::_historyBuffer[0x200]; int BoltFile::_runLength; @@ -278,11 +278,11 @@ void BoltFile::nextBlock() { if (_curFilePosition != _bufferEnd) _curFd.seek(_bufferEnd); - _bufferBegin = _curFilePosition; + _bufferBegin = _bufferEnd; int bytesRead = _curFd.read(_bufStart, _bufSize); _bufferEnd = _curFilePosition = _bufferBegin + bytesRead; - _bytesLeft -= bytesRead; + _bytesLeft = bytesRead - 1; _bufPos = _bufStart; } diff --git a/engines/voyeur/files.h b/engines/voyeur/files.h index 3b38dcceb3..b481a08a06 100644 --- a/engines/voyeur/files.h +++ b/engines/voyeur/files.h @@ -32,7 +32,7 @@ namespace Voyeur { class VoyeurEngine; class BoltGroup; class BoltEntry; -#define DECOMPRESS_SIZE 512 +#define DECOMPRESS_SIZE 0x7000 class BoltFile { private: -- cgit v1.2.3 From 7c85f94a57e74cdac6193db043fc9233f3fa6905 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Wed, 22 May 2013 14:00:47 +1000 Subject: VOYEUR: First group's members are now successfully decompressed --- engines/voyeur/files.cpp | 18 ++++++++++-------- engines/voyeur/files.h | 1 - 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/engines/voyeur/files.cpp b/engines/voyeur/files.cpp index 472d69062c..7d6a11e2d3 100644 --- a/engines/voyeur/files.cpp +++ b/engines/voyeur/files.cpp @@ -56,7 +56,6 @@ int BoltFile::_bufferEnd = 0; int BoltFile::_bufferBegin = 0; int BoltFile::_bytesLeft = 0; int BoltFile::_bufSize = 0; -byte *BoltFile::_bufP = NULL; byte *BoltFile::_bufStart = NULL; byte *BoltFile::_bufPos = NULL; byte BoltFile::_decompressBuf[DECOMPRESS_SIZE]; @@ -165,14 +164,13 @@ byte *BoltFile::getBoltMember(uint32 id) { _bufSize = ((_bufPos - _bufStart) << 16) >> 16; // TODO: Validate this _bytesLeft = _bufSize; } - - _decompState = 0; - _historyIndex = 0; - initType(); } - //TODO - return NULL; + _decompState = 0; + _historyIndex = 0; + initType(); + + return _curMemberPtr->_data; } void BoltFile::initType() { @@ -182,7 +180,7 @@ void BoltFile::initType() { #define NEXT_BYTE if (--_bytesLeft <= 0) nextBlock() byte *BoltFile::decompress(byte *buf, int size, int mode) { - if (buf) + if (!buf) buf = new byte[size]; byte *bufP = buf; @@ -246,6 +244,9 @@ byte *BoltFile::decompress(byte *buf, int size, int mode) { _runOffset += len; } + // Reduce the remaining size + size -= len; + // Handle the run lengths switch (_runType) { case 0: @@ -265,6 +266,7 @@ byte *BoltFile::decompress(byte *buf, int size, int mode) { default: while (len-- > 0) { _historyBuffer[_historyIndex] = _runValue; + *bufP++ = _runValue; _historyIndex = (_historyIndex + 1) & 0x1ff; } break; diff --git a/engines/voyeur/files.h b/engines/voyeur/files.h index b481a08a06..ed20528a5f 100644 --- a/engines/voyeur/files.h +++ b/engines/voyeur/files.h @@ -49,7 +49,6 @@ private: static int _bufferBegin; static int _bytesLeft; static int _bufSize; - static byte *_bufP; static byte *_bufStart; static byte *_bufPos; static byte _decompressBuf[DECOMPRESS_SIZE]; -- cgit v1.2.3 From d4a137528f17ef16d0d1ff703afcdfa7c71172ed Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Wed, 22 May 2013 21:43:26 +1000 Subject: VOEYUR: Now the font data pointer loads correctly --- engines/voyeur/files.cpp | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/engines/voyeur/files.cpp b/engines/voyeur/files.cpp index 7d6a11e2d3..ca54a89074 100644 --- a/engines/voyeur/files.cpp +++ b/engines/voyeur/files.cpp @@ -92,7 +92,6 @@ bool BoltFile::getBoltGroup(uint32 id) { ++_fromGroupFlag; _curLibPtr = this; _curGroupPtr = &_groups[(id >> 8) & 0xff]; - int count = _curGroupPtr->_count ? _curGroupPtr->_count : 256; if (!_curGroupPtr->_loaded) { // Load the group index @@ -104,7 +103,7 @@ bool BoltFile::getBoltGroup(uint32 id) { if ((id >> 16) != 0) { id &= 0xff00; - for (int idx = 0; idx < count; ++idx, ++id) { + for (int idx = 0; idx < _curGroupPtr->_count; ++idx, ++id) { byte *member = getBoltMember(id); assert(member); } @@ -130,7 +129,7 @@ byte *BoltFile::getBoltMember(uint32 id) { _curLibPtr = this; // Get the group, and load it's entry list if not already loaded - _curGroupPtr = &_groups[(id >> 8) & 0xff << 4]; + _curGroupPtr = &_groups[(id >> 8) & 0xff]; if (!_curGroupPtr->_loaded) _curGroupPtr->load(); -- cgit v1.2.3 From 71d2b5008de98bd94fc439cdda7ba8f8f13e760e Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Wed, 22 May 2013 22:29:24 +1000 Subject: VOYEUR: Finished globalInitBolt method --- engines/voyeur/graphics.cpp | 4 +++ engines/voyeur/graphics.h | 6 +++- engines/voyeur/voyeur.cpp | 12 ++++++++ engines/voyeur/voyeur.h | 68 +++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 89 insertions(+), 1 deletion(-) diff --git a/engines/voyeur/graphics.cpp b/engines/voyeur/graphics.cpp index 008b014be1..4763a2d551 100644 --- a/engines/voyeur/graphics.cpp +++ b/engines/voyeur/graphics.cpp @@ -24,4 +24,8 @@ namespace Voyeur { +GraphicsManager::GraphicsManager() { + _palFlag = false; +} + } // End of namespace Voyeur diff --git a/engines/voyeur/graphics.h b/engines/voyeur/graphics.h index f1b568e064..bac4787cc7 100644 --- a/engines/voyeur/graphics.h +++ b/engines/voyeur/graphics.h @@ -30,7 +30,11 @@ namespace Voyeur { class GraphicsManager { public: - GraphicsManager() {} + bool _palFlag; +public: + GraphicsManager(); + + void addFadeInt() { } // TODO; }; } // End of namespace Voyeur diff --git a/engines/voyeur/voyeur.cpp b/engines/voyeur/voyeur.cpp index 256a642de0..d20a916b35 100644 --- a/engines/voyeur/voyeur.cpp +++ b/engines/voyeur/voyeur.cpp @@ -101,6 +101,18 @@ void VoyeurEngine::globalInitBolt() { _bVoyBoltFile->getBoltGroup(0x10100); _fontPtr = _bVoyBoltFile->memberAddr(0x101); + // Setup default flags + Common::fill((byte *)&_voy, (byte *)&_voy + sizeof(SVoy), 0); + _voy._eCursorOff[0x74 / 2] = 1; + _voy._eCursorOff[0x68 / 2] = 0; + _voy._eventTable[0x3e6]._data3 = 63; + _voy._eventTable[0x3e6]._data4 = 63; + _voy._evidence[19] = 0; + _voy._evidence[17] = 0; + _voy._evidence[18] = 9999; + + _voy._curICF0 = _graphicsManager._palFlag ? 0xFFFFA5E0 : 0x5F90; + _graphicsManager.addFadeInt(); } } // End of namespace Voyeur diff --git a/engines/voyeur/voyeur.h b/engines/voyeur/voyeur.h index fb30359130..a930c5d0c6 100644 --- a/engines/voyeur/voyeur.h +++ b/engines/voyeur/voyeur.h @@ -57,6 +57,73 @@ enum VoyeurDebugChannels { struct VoyeurGameDescription; +class Event { +public: + int _hours; + int _minutes; + int _seconds; + int _type; + int _data1; + int _data2; + int _data3; + int _data4; +}; + +class SVoy { +public: + int _delaySecs; + int _RTANum; + int _RTVNum; + int _switchBGNum; + int _group; + int _resolvePtr; + int _seconds; + int _minutes; + int _hours; + int _morning; + int _timeChangeFlag; + int _totalSeconds; + int _gameSeconds; + int _vCursorOn[160]; + int _vCursorOff[160]; + int _aCursorOn[60]; + int _aCursorOff[60]; + int _eCursorOn[60]; + int _eCursorOff[60]; + int _timeStart; + int _duration; + int _vidStart; + int _doApt; + int _function; + int _anim; + int _level; + int _levelDone; + int _flags; + int _evGroup; + byte *_evPicPtrs[6]; + byte *_evCmPtrs[6]; + int _audioTime; + int _phones[5]; + int _numPhonesUsed; + int _evidence[20]; + int _computerNum; + int _computerBut; + int _computerOn; + int _computerOff; + int _dead; + int _deadTime; + int _eventCnt; + Event _eventTable[1000]; + int _curICF0; + int _curICF1; + int _fadeICF0; + int _fadeICF1; + int _fadeFunc; + int _lastInplay; + int _incriminate; + int _policeEvent; +}; + class VoyeurEngine : public Engine { private: const VoyeurGameDescription *_gameDescription; @@ -67,6 +134,7 @@ private: BoltFile *_bVoyBoltFile; byte *_fontPtr; + SVoy _voy; void ESP_Init(); void initialiseManagers(); -- cgit v1.2.3 From 0d26e515fb89a2a61c16eb3bb5b2e9f544dc4aff Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Thu, 23 May 2013 23:13:28 +1000 Subject: VOYEUR: Start of work on general initialisation --- engines/voyeur/events.h | 3 +- engines/voyeur/files.h | 2 +- engines/voyeur/game.cpp | 31 +++++++++++++ engines/voyeur/game.h | 109 ++++++++++++++++++++++++++++++++++++++++++++ engines/voyeur/graphics.cpp | 47 +++++++++++++++++++ engines/voyeur/graphics.h | 36 ++++++++++++++- engines/voyeur/module.mk | 1 + engines/voyeur/voyeur.cpp | 19 +++++++- engines/voyeur/voyeur.h | 75 +++--------------------------- 9 files changed, 249 insertions(+), 74 deletions(-) create mode 100644 engines/voyeur/game.cpp create mode 100644 engines/voyeur/game.h diff --git a/engines/voyeur/events.h b/engines/voyeur/events.h index 5715591c52..1588cac35d 100644 --- a/engines/voyeur/events.h +++ b/engines/voyeur/events.h @@ -24,7 +24,6 @@ #define VOYEUR_EVENTS_H #include "common/scummsys.h" -#include "common/events.h" namespace Voyeur { @@ -42,4 +41,4 @@ public: } // End of namespace Voyeur -#endif /* VOYEUR_VOYEUR_H */ +#endif /* VOYEUR_EVENTS_H */ diff --git a/engines/voyeur/files.h b/engines/voyeur/files.h index ed20528a5f..1503ddf15a 100644 --- a/engines/voyeur/files.h +++ b/engines/voyeur/files.h @@ -133,4 +133,4 @@ public: } // End of namespace Voyeur -#endif /* VOYEUR_VOYEUR_H */ +#endif /* VOYEUR_FILES_H */ diff --git a/engines/voyeur/game.cpp b/engines/voyeur/game.cpp new file mode 100644 index 0000000000..3d80b6004f --- /dev/null +++ b/engines/voyeur/game.cpp @@ -0,0 +1,31 @@ +/* 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 "voyeur/game.h" + +namespace Voyeur { + +void IntData::audioInit() { + +} + +} // End of namespace Voyeur diff --git a/engines/voyeur/game.h b/engines/voyeur/game.h new file mode 100644 index 0000000000..44d8c05c88 --- /dev/null +++ b/engines/voyeur/game.h @@ -0,0 +1,109 @@ +/* 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. + * + */ + +#ifndef VOYEUR_GAME_H +#define VOYEUR_GAME_H + +#include "common/scummsys.h" +#include "common/events.h" + +namespace Voyeur { + +class VoyeurEngine; + +class Event { +public: + int _hours; + int _minutes; + int _seconds; + int _type; + int _data1; + int _data2; + int _data3; + int _data4; +}; + +class SVoy { +public: + int _delaySecs; + int _RTANum; + int _RTVNum; + int _switchBGNum; + int _group; + int _resolvePtr; + int _seconds; + int _minutes; + int _hours; + int _morning; + int _timeChangeFlag; + int _totalSeconds; + int _gameSeconds; + int _vCursorOn[160]; + int _vCursorOff[160]; + int _aCursorOn[60]; + int _aCursorOff[60]; + int _eCursorOn[60]; + int _eCursorOff[60]; + int _timeStart; + int _duration; + int _vidStart; + int _doApt; + int _function; + int _anim; + int _level; + int _levelDone; + int _flags; + int _evGroup; + byte *_evPicPtrs[6]; + byte *_evCmPtrs[6]; + int _audioTime; + int _phones[5]; + int _numPhonesUsed; + int _evidence[20]; + int _computerNum; + int _computerBut; + int _computerOn; + int _computerOff; + int _dead; + int _deadTime; + int _eventCnt; + Event _eventTable[1000]; + int _curICF0; + int _curICF1; + int _fadeICF0; + int _fadeICF1; + int _fadeFunc; + int _lastInplay; + int _incriminate; + int _policeEvent; +}; + +class IntData { +public: + byte *_colors; +public: + void audioInit(); +}; + +} // End of namespace Voyeur + +#endif /* VOYEUR_GAME_H */ diff --git a/engines/voyeur/graphics.cpp b/engines/voyeur/graphics.cpp index 4763a2d551..311199c045 100644 --- a/engines/voyeur/graphics.cpp +++ b/engines/voyeur/graphics.cpp @@ -21,6 +21,8 @@ */ #include "voyeur/graphics.h" +#include "engines/util.h" +#include "graphics/surface.h" namespace Voyeur { @@ -28,4 +30,49 @@ GraphicsManager::GraphicsManager() { _palFlag = false; } +void GraphicsManager::sInitGraphics() { + initGraphics(SCREEN_WIDTH, SCREEN_HEIGHT, false); +} + +void GraphicsManager::addFadeInt() { + _fadeIntNode._intFunc = fadeIntFunc; + _fadeIntNode._flags = 0; + _fadeIntNode._curTime = 0; + _fadeIntNode._timeReset = 1; + + addIntNode(&_fadeIntNode); +} + +void GraphicsManager::vInitColor() { + _fadeIntNode._intFunc = vDoFadeInt; + _cycleIntNode._intFunc = vDoCycleInt; + +} + +void GraphicsManager::addIntNode(IntNode *node) { + +} + +void GraphicsManager::fadeIntFunc() { + +} + +void GraphicsManager::vDoFadeInt() { + +} + +void GraphicsManager::vDoCycleInt() { + +} + +/*------------------------------------------------------------------------*/ + +IntNode::IntNode() { + _nextNode = NULL; + _intFunc = NULL; + _curTime = 0; + _timeReset = 0; + _flags = 0; +} + } // End of namespace Voyeur diff --git a/engines/voyeur/graphics.h b/engines/voyeur/graphics.h index bac4787cc7..7589e8f1ec 100644 --- a/engines/voyeur/graphics.h +++ b/engines/voyeur/graphics.h @@ -24,19 +24,51 @@ #define VOYEUR_GRAPHICS_H #include "common/scummsys.h" +#include "common/array.h" #include "graphics/surface.h" namespace Voyeur { +#define SCREEN_WIDTH 320 +#define SCREEN_HEIGHT 200 +#define PALETTE_COUNT 256 +#define PALETTE_SIZE (256 * 3) + +typedef void (*IntFuncPtr)(); + +class IntNode { +public: + IntNode *_nextNode; + IntFuncPtr _intFunc; + uint32 _curTime; + uint32 _timeReset; + uint32 _flags; +public: + IntNode(); +}; + class GraphicsManager { +private: + static void fadeIntFunc(); + static void vDoFadeInt(); + static void vDoCycleInt(); + void addIntNode(IntNode *node); public: bool _palFlag; + IntNode _fadeIntNode; + IntNode _cycleIntNode; + IntNode _evintnode; + IntNode _mainintnode; + byte _VGAColors[PALETTE_SIZE]; + Common::Array _colorChain; public: GraphicsManager(); + void sInitGraphics(); - void addFadeInt() { } // TODO; + void addFadeInt(); + void vInitColor(); }; } // End of namespace Voyeur -#endif /* VOYEUR_VOYEUR_H */ +#endif /* VOYEUR_GRAPHICS_H */ diff --git a/engines/voyeur/module.mk b/engines/voyeur/module.mk index 24984cd8d3..b13c414b92 100644 --- a/engines/voyeur/module.mk +++ b/engines/voyeur/module.mk @@ -3,6 +3,7 @@ MODULE := engines/voyeur MODULE_OBJS := \ detection.o \ events.o \ + game.o \ files.o \ graphics.o \ voyeur.o diff --git a/engines/voyeur/voyeur.cpp b/engines/voyeur/voyeur.cpp index d20a916b35..99671f647a 100644 --- a/engines/voyeur/voyeur.cpp +++ b/engines/voyeur/voyeur.cpp @@ -21,6 +21,7 @@ */ #include "voyeur/voyeur.h" +#include "voyeur/graphics.h" #include "common/scummsys.h" #include "common/config-manager.h" #include "common/debug-channels.h" @@ -74,8 +75,8 @@ Common::Error VoyeurEngine::saveGameState(int slot, const Common::String &desc) Common::Error VoyeurEngine::run() { ESP_Init(); - globalInitBolt(); + _eventManager.resetMouse(); //doHeadTitle(); @@ -96,6 +97,8 @@ void VoyeurEngine::ESP_Init() { } void VoyeurEngine::globalInitBolt() { + initBolt(); + _filesManager.openBoltLib("bvoy.blt", _bVoyBoltFile); _bVoyBoltFile->getBoltGroup(0x10000); _bVoyBoltFile->getBoltGroup(0x10100); @@ -115,4 +118,18 @@ void VoyeurEngine::globalInitBolt() { _graphicsManager.addFadeInt(); } +void VoyeurEngine::initBolt() { + vInitInterrupts(); + _graphicsManager.sInitGraphics(); + _graphicsManager.vInitColor(); + initInput(); +} + +void VoyeurEngine::vInitInterrupts() { + _intPtr._colors = &_graphicsManager._VGAColors[0]; +} + +void VoyeurEngine::initInput() { +} + } // End of namespace Voyeur diff --git a/engines/voyeur/voyeur.h b/engines/voyeur/voyeur.h index a930c5d0c6..e2092b3b9b 100644 --- a/engines/voyeur/voyeur.h +++ b/engines/voyeur/voyeur.h @@ -25,6 +25,7 @@ #include "voyeur/events.h" #include "voyeur/files.h" +#include "voyeur/game.h" #include "voyeur/graphics.h" #include "common/scummsys.h" #include "common/system.h" @@ -48,8 +49,7 @@ namespace Voyeur { #define DEBUG_INTERMEDIATE 2 #define DEBUG_DETAILED 3 -#define SCREEN_WIDTH 320 -#define SCREEN_HEIGHT 200 +#define MAX_RESOLVE 1000 enum VoyeurDebugChannels { kDebugPath = 1 << 0 @@ -57,72 +57,6 @@ enum VoyeurDebugChannels { struct VoyeurGameDescription; -class Event { -public: - int _hours; - int _minutes; - int _seconds; - int _type; - int _data1; - int _data2; - int _data3; - int _data4; -}; - -class SVoy { -public: - int _delaySecs; - int _RTANum; - int _RTVNum; - int _switchBGNum; - int _group; - int _resolvePtr; - int _seconds; - int _minutes; - int _hours; - int _morning; - int _timeChangeFlag; - int _totalSeconds; - int _gameSeconds; - int _vCursorOn[160]; - int _vCursorOff[160]; - int _aCursorOn[60]; - int _aCursorOff[60]; - int _eCursorOn[60]; - int _eCursorOff[60]; - int _timeStart; - int _duration; - int _vidStart; - int _doApt; - int _function; - int _anim; - int _level; - int _levelDone; - int _flags; - int _evGroup; - byte *_evPicPtrs[6]; - byte *_evCmPtrs[6]; - int _audioTime; - int _phones[5]; - int _numPhonesUsed; - int _evidence[20]; - int _computerNum; - int _computerBut; - int _computerOn; - int _computerOff; - int _dead; - int _deadTime; - int _eventCnt; - Event _eventTable[1000]; - int _curICF0; - int _curICF1; - int _fadeICF0; - int _fadeICF1; - int _fadeFunc; - int _lastInplay; - int _incriminate; - int _policeEvent; -}; class VoyeurEngine : public Engine { private: @@ -135,10 +69,15 @@ private: BoltFile *_bVoyBoltFile; byte *_fontPtr; SVoy _voy; + Common::Array _resolves; + IntData _intPtr; void ESP_Init(); void initialiseManagers(); void globalInitBolt(); + void initBolt(); + void vInitInterrupts(); + void initInput(); protected: // Engine APIs virtual Common::Error run(); -- cgit v1.2.3 From 3c6507812eed761c8c357b1bf41b378b6ca3dc9c Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Fri, 24 May 2013 21:54:40 -0400 Subject: VOYEUR: Clean up of IntData usage --- engines/voyeur/game.cpp | 13 +++++++++++++ engines/voyeur/game.h | 15 +++++++++++++++ engines/voyeur/graphics.cpp | 22 +++++----------------- engines/voyeur/graphics.h | 28 ++++++++++------------------ engines/voyeur/voyeur.cpp | 1 + engines/voyeur/voyeur.h | 4 ++-- 6 files changed, 46 insertions(+), 37 deletions(-) diff --git a/engines/voyeur/game.cpp b/engines/voyeur/game.cpp index 3d80b6004f..26e5d3113b 100644 --- a/engines/voyeur/game.cpp +++ b/engines/voyeur/game.cpp @@ -28,4 +28,17 @@ void IntData::audioInit() { } +void IntData::addIntNode(IntNode *node) { + _intNodes.push_back(node); +} + +/*------------------------------------------------------------------------*/ + +IntNode::IntNode() { + _intFunc = NULL; + _curTime = 0; + _timeReset = 0; + _flags = 0; +} + } // End of namespace Voyeur diff --git a/engines/voyeur/game.h b/engines/voyeur/game.h index 44d8c05c88..99f97fd9d1 100644 --- a/engines/voyeur/game.h +++ b/engines/voyeur/game.h @@ -97,11 +97,26 @@ public: int _policeEvent; }; +typedef void (*IntFuncPtr)(); + +class IntNode { +public: + IntFuncPtr _intFunc; + uint32 _curTime; + uint32 _timeReset; + uint32 _flags; +public: + IntNode(); +}; + class IntData { public: byte *_colors; + Common::List _intNodes; public: void audioInit(); + void addIntNode(IntNode *node); + }; } // End of namespace Voyeur diff --git a/engines/voyeur/graphics.cpp b/engines/voyeur/graphics.cpp index 311199c045..4b1e05c9ff 100644 --- a/engines/voyeur/graphics.cpp +++ b/engines/voyeur/graphics.cpp @@ -21,6 +21,8 @@ */ #include "voyeur/graphics.h" +#include "voyeur/game.h" +#include "voyeur/voyeur.h" #include "engines/util.h" #include "graphics/surface.h" @@ -39,18 +41,14 @@ void GraphicsManager::addFadeInt() { _fadeIntNode._flags = 0; _fadeIntNode._curTime = 0; _fadeIntNode._timeReset = 1; - - addIntNode(&_fadeIntNode); + + _vm->_intPtr.addIntNode(&_fadeIntNode); } void GraphicsManager::vInitColor() { _fadeIntNode._intFunc = vDoFadeInt; _cycleIntNode._intFunc = vDoCycleInt; - -} - -void GraphicsManager::addIntNode(IntNode *node) { - + // TODO: more } void GraphicsManager::fadeIntFunc() { @@ -65,14 +63,4 @@ void GraphicsManager::vDoCycleInt() { } -/*------------------------------------------------------------------------*/ - -IntNode::IntNode() { - _nextNode = NULL; - _intFunc = NULL; - _curTime = 0; - _timeReset = 0; - _flags = 0; -} - } // End of namespace Voyeur diff --git a/engines/voyeur/graphics.h b/engines/voyeur/graphics.h index 7589e8f1ec..d92a6b6268 100644 --- a/engines/voyeur/graphics.h +++ b/engines/voyeur/graphics.h @@ -23,6 +23,7 @@ #ifndef VOYEUR_GRAPHICS_H #define VOYEUR_GRAPHICS_H +#include "voyeur/game.h" #include "common/scummsys.h" #include "common/array.h" #include "graphics/surface.h" @@ -34,26 +35,11 @@ namespace Voyeur { #define PALETTE_COUNT 256 #define PALETTE_SIZE (256 * 3) -typedef void (*IntFuncPtr)(); - -class IntNode { -public: - IntNode *_nextNode; - IntFuncPtr _intFunc; - uint32 _curTime; - uint32 _timeReset; - uint32 _flags; -public: - IntNode(); -}; +class VoyeurEngine; class GraphicsManager { -private: - static void fadeIntFunc(); - static void vDoFadeInt(); - static void vDoCycleInt(); - void addIntNode(IntNode *node); public: + VoyeurEngine *_vm; bool _palFlag; IntNode _fadeIntNode; IntNode _cycleIntNode; @@ -61,12 +47,18 @@ public: IntNode _mainintnode; byte _VGAColors[PALETTE_SIZE]; Common::Array _colorChain; +private: + static void fadeIntFunc(); + static void vDoFadeInt(); + static void vDoCycleInt(); + void addIntNode(IntNode *node); public: GraphicsManager(); + void setVm(VoyeurEngine *vm) { _vm = vm; } void sInitGraphics(); - void addFadeInt(); void vInitColor(); + void addFadeInt(); }; } // End of namespace Voyeur diff --git a/engines/voyeur/voyeur.cpp b/engines/voyeur/voyeur.cpp index 99671f647a..ac1105e4c7 100644 --- a/engines/voyeur/voyeur.cpp +++ b/engines/voyeur/voyeur.cpp @@ -91,6 +91,7 @@ int VoyeurEngine::getRandomNumber(int maxNumber) { void VoyeurEngine::initialiseManagers() { _eventManager.setVm(this); + _graphicsManager.setVm(this); } void VoyeurEngine::ESP_Init() { diff --git a/engines/voyeur/voyeur.h b/engines/voyeur/voyeur.h index e2092b3b9b..6676b1c742 100644 --- a/engines/voyeur/voyeur.h +++ b/engines/voyeur/voyeur.h @@ -70,7 +70,6 @@ private: byte *_fontPtr; SVoy _voy; Common::Array _resolves; - IntData _intPtr; void ESP_Init(); void initialiseManagers(); @@ -82,7 +81,8 @@ protected: // Engine APIs virtual Common::Error run(); virtual bool hasFeature(EngineFeature f) const; - +public: + IntData _intPtr; public: VoyeurEngine(OSystem *syst, const VoyeurGameDescription *gameDesc); virtual ~VoyeurEngine(); -- cgit v1.2.3 From aff7c3d9bdd917044a7da4d5919cad9e3a86181d Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Sat, 25 May 2013 09:58:03 -0400 Subject: VOYEUR: Beginnings of Bolt init function array --- engines/voyeur/events.cpp | 14 +++++++++++- engines/voyeur/events.h | 13 +++++++++-- engines/voyeur/files.cpp | 53 ++++++++++++++++++++++++++++++++++++++++----- engines/voyeur/files.h | 19 +++++++++++++--- engines/voyeur/graphics.cpp | 37 +++++++++++++++++++++++++------ engines/voyeur/graphics.h | 16 ++++++++++---- engines/voyeur/voyeur.cpp | 35 ++++++++++++++++++++---------- engines/voyeur/voyeur.h | 10 +++++---- 8 files changed, 159 insertions(+), 38 deletions(-) diff --git a/engines/voyeur/events.cpp b/engines/voyeur/events.cpp index f84172f559..2fb41475e7 100644 --- a/engines/voyeur/events.cpp +++ b/engines/voyeur/events.cpp @@ -21,10 +21,22 @@ */ #include "voyeur/events.h" +#include "voyeur/voyeur.h" namespace Voyeur { -void EventManager::resetMouse() { +void EventsManager::resetMouse() { + // No implementation +} + +void EventsManager::startMainClockInt() { + _mainIntNode._intFunc = mainVoyeurIntFunc; + _mainIntNode._flags = 0; + _mainIntNode._curTime = 0; + _mainIntNode._timeReset = _vm->_graphicsManager._palFlag ? 50 : 60; +} + +void EventsManager::mainVoyeurIntFunc() { } diff --git a/engines/voyeur/events.h b/engines/voyeur/events.h index 1588cac35d..0acdc73908 100644 --- a/engines/voyeur/events.h +++ b/engines/voyeur/events.h @@ -24,19 +24,28 @@ #define VOYEUR_EVENTS_H #include "common/scummsys.h" +#include "voyeur/game.h" namespace Voyeur { class VoyeurEngine; -class EventManager { +class EventsManager { private: VoyeurEngine *_vm; + + static void mainVoyeurIntFunc(); +public: + IntNode _fadeIntNode; + IntNode _cycleIntNode; + IntNode _evintnode; + IntNode _mainIntNode; public: - EventManager() {} + EventsManager() {} void setVm(VoyeurEngine *vm) { _vm = vm; } void resetMouse(); + void startMainClockInt(); }; } // End of namespace Voyeur diff --git a/engines/voyeur/files.cpp b/engines/voyeur/files.cpp index ca54a89074..32b8917d0a 100644 --- a/engines/voyeur/files.cpp +++ b/engines/voyeur/files.cpp @@ -67,6 +67,16 @@ int BoltFile::_runType; int BoltFile::_runValue; int BoltFile::_runOffset; +const BoltMethodPtr BoltFile::_fnInitType[25] = { + &BoltFile::initDefault, &BoltFile::initDefault, &BoltFile::initDefault, &BoltFile::initDefault, + &BoltFile::initDefault, &BoltFile::initDefault, &BoltFile::initDefault, &BoltFile::initDefault, + &BoltFile::sInitPic, &BoltFile::initDefault, &BoltFile::vInitCMap, &BoltFile::vInitCycl, + &BoltFile::initDefault, &BoltFile::initDefault, &BoltFile::initDefault, &BoltFile::initViewPort, + &BoltFile::initViewPortList, &BoltFile::initDefault, &BoltFile::initFontInfo, + &BoltFile::initSoundMap, &BoltFile::initDefault, &BoltFile::initDefault, &BoltFile::initDefault, + &BoltFile::initDefault, &BoltFile::initDefault +}; + BoltFile::BoltFile() { if (!_curFd.open("bvoy.blt")) error("Could not open buoy.blt"); @@ -167,13 +177,12 @@ byte *BoltFile::getBoltMember(uint32 id) { _decompState = 0; _historyIndex = 0; - initType(); - return _curMemberPtr->_data; -} + // Initialise the resource + assert(_curMemberPtr->_initMethod < 25); + (this->*_fnInitType[_curMemberPtr->_initMethod])(); -void BoltFile::initType() { - _curMemberPtr->_data = decompress(0, _curMemberPtr->_size, _curMemberPtr->_mode); + return _curMemberPtr->_data; } #define NEXT_BYTE if (--_bytesLeft <= 0) nextBlock() @@ -287,6 +296,38 @@ void BoltFile::nextBlock() { _bufPos = _bufStart; } +void BoltFile::initDefault() { + _curMemberPtr->_data = decompress(0, _curMemberPtr->_size, _curMemberPtr->_mode); +} + +void BoltFile::sInitPic() { + error("TODO: sInitPic not implemented"); +} + +void BoltFile::vInitCMap() { + error("TODO: vInitCMap not implemented"); +} + +void BoltFile::vInitCycl() { + error("TODO: vInitCycl not implemented"); +} + +void BoltFile::initViewPort() { + error("TODO: initViewPort not implemented"); +} + +void BoltFile::initViewPortList() { + error("TODO: initViewPortList not implemented"); +} + +void BoltFile::initFontInfo() { + error("TODO: initFontInfo not implemented"); +} + +void BoltFile::initSoundMap() { + error("TODO: initSoundMap not implemented"); +} + /*------------------------------------------------------------------------*/ BoltGroup::BoltGroup(Common::SeekableReadStream *f): _file(f) { @@ -320,7 +361,7 @@ BoltEntry::BoltEntry(Common::SeekableReadStream *f): _file(f) { _file->read(&buffer[0], 16); _mode = buffer[0]; _field1 = buffer[1]; - _field3 = buffer[3]; + _initMethod = buffer[3]; _xorMask = buffer[4] & 0xff; // TODO: Is this right?? _size = READ_LE_UINT32(&buffer[4]); _fileOffset = READ_LE_UINT32(&buffer[8]); diff --git a/engines/voyeur/files.h b/engines/voyeur/files.h index 1503ddf15a..095d3eacab 100644 --- a/engines/voyeur/files.h +++ b/engines/voyeur/files.h @@ -30,10 +30,13 @@ namespace Voyeur { class VoyeurEngine; +class BoltFile; class BoltGroup; class BoltEntry; #define DECOMPRESS_SIZE 0x7000 +typedef void (BoltFile::*BoltMethodPtr)(); + class BoltFile { private: static BoltFile *_curLibPtr; @@ -59,10 +62,21 @@ private: static int _runType; static int _runValue; static int _runOffset; + static const BoltMethodPtr _fnInitType[25]; private: Common::File _curFd; Common::Array _groups; + // initType method table + void initDefault(); + void sInitPic(); + void vInitCMap(); + void vInitCycl(); + void initViewPort(); + void initViewPortList(); + void initFontInfo(); + void initSoundMap(); + // Decompression byte *decompress(byte *buf, int size, int mode); void nextBlock(); @@ -70,8 +84,7 @@ private: void resolveAll() {} byte *getBoltMember(uint32 id); - // Methods copied into bolt virtual table - void initType(); + void initType() {} void termType() {} void initMem(int id) {} void termMem() {} @@ -108,7 +121,7 @@ private: public: byte _mode; byte _field1; - byte _field3; + byte _initMethod; int _fileOffset; byte _xorMask; int _size; diff --git a/engines/voyeur/graphics.cpp b/engines/voyeur/graphics.cpp index 4b1e05c9ff..2261b4f73b 100644 --- a/engines/voyeur/graphics.cpp +++ b/engines/voyeur/graphics.cpp @@ -37,17 +37,18 @@ void GraphicsManager::sInitGraphics() { } void GraphicsManager::addFadeInt() { - _fadeIntNode._intFunc = fadeIntFunc; - _fadeIntNode._flags = 0; - _fadeIntNode._curTime = 0; - _fadeIntNode._timeReset = 1; + IntNode &node = _vm->_eventsManager._fadeIntNode; + node._intFunc = fadeIntFunc; + node._flags = 0; + node._curTime = 0; + node._timeReset = 1; - _vm->_intPtr.addIntNode(&_fadeIntNode); + _vm->_intPtr.addIntNode(&node); } void GraphicsManager::vInitColor() { - _fadeIntNode._intFunc = vDoFadeInt; - _cycleIntNode._intFunc = vDoCycleInt; + _vm->_eventsManager._fadeIntNode._intFunc = vDoFadeInt; + _vm->_eventsManager._cycleIntNode._intFunc = vDoCycleInt; // TODO: more } @@ -63,4 +64,26 @@ void GraphicsManager::vDoCycleInt() { } +void GraphicsManager::setupViewPort() { + setupViewPort(&GraphicsManager::setupMCGASaveRect, &GraphicsManager::addRectOptSaveRect, + &GraphicsManager::restoreMCGASaveRect); +} + +void GraphicsManager::setupViewPort(GraphicMethodPtr setupFn, + GraphicMethodPtr addRectFn, GraphicMethodPtr restoreFn) { + +} + +void GraphicsManager::setupMCGASaveRect() { + +} + +void GraphicsManager::restoreMCGASaveRect() { + +} + +void GraphicsManager::addRectOptSaveRect() { + +} + } // End of namespace Voyeur diff --git a/engines/voyeur/graphics.h b/engines/voyeur/graphics.h index d92a6b6268..a0f01dfc63 100644 --- a/engines/voyeur/graphics.h +++ b/engines/voyeur/graphics.h @@ -36,22 +36,29 @@ namespace Voyeur { #define PALETTE_SIZE (256 * 3) class VoyeurEngine; +class GraphicsManager; + +typedef void (GraphicsManager::*GraphicMethodPtr)(); class GraphicsManager { public: VoyeurEngine *_vm; bool _palFlag; - IntNode _fadeIntNode; - IntNode _cycleIntNode; - IntNode _evintnode; - IntNode _mainintnode; byte _VGAColors[PALETTE_SIZE]; Common::Array _colorChain; + byte *_backgroundPage; private: static void fadeIntFunc(); static void vDoFadeInt(); static void vDoCycleInt(); + + void setupMCGASaveRect(); + void restoreMCGASaveRect(); + void addRectOptSaveRect(); + void addIntNode(IntNode *node); + void setupViewPort(GraphicMethodPtr setupFn, GraphicMethodPtr addRectFn, + GraphicMethodPtr restoreFn); public: GraphicsManager(); void setVm(VoyeurEngine *vm) { _vm = vm; } @@ -59,6 +66,7 @@ public: void vInitColor(); void addFadeInt(); + void setupViewPort(); }; } // End of namespace Voyeur diff --git a/engines/voyeur/voyeur.cpp b/engines/voyeur/voyeur.cpp index ac1105e4c7..beded3e6fd 100644 --- a/engines/voyeur/voyeur.cpp +++ b/engines/voyeur/voyeur.cpp @@ -33,11 +33,13 @@ VoyeurEngine *g_vm; VoyeurEngine::VoyeurEngine(OSystem *syst, const VoyeurGameDescription *gameDesc) : Engine(syst), _gameDescription(gameDesc), _randomSource("Voyeur") { DebugMan.addDebugChannel(kDebugPath, "Path", "Pathfinding debug level"); - _bVoyBoltFile = NULL; + _bVoy = NULL; + + initialiseManagers(); } VoyeurEngine::~VoyeurEngine() { - delete _bVoyBoltFile; + delete _bVoy; } Common::String VoyeurEngine::generateSaveName(int slot) { @@ -77,7 +79,8 @@ Common::Error VoyeurEngine::run() { ESP_Init(); globalInitBolt(); - _eventManager.resetMouse(); + _eventsManager.resetMouse(); + doHeadTitle(); //doHeadTitle(); @@ -90,7 +93,7 @@ int VoyeurEngine::getRandomNumber(int maxNumber) { } void VoyeurEngine::initialiseManagers() { - _eventManager.setVm(this); + _eventsManager.setVm(this); _graphicsManager.setVm(this); } @@ -100,22 +103,22 @@ void VoyeurEngine::ESP_Init() { void VoyeurEngine::globalInitBolt() { initBolt(); - _filesManager.openBoltLib("bvoy.blt", _bVoyBoltFile); - _bVoyBoltFile->getBoltGroup(0x10000); - _bVoyBoltFile->getBoltGroup(0x10100); - _fontPtr = _bVoyBoltFile->memberAddr(0x101); + _filesManager.openBoltLib("bvoy.blt", _bVoy); + _bVoy->getBoltGroup(0x10000); + _bVoy->getBoltGroup(0x10100); + _fontPtr = _bVoy->memberAddr(0x101); // Setup default flags Common::fill((byte *)&_voy, (byte *)&_voy + sizeof(SVoy), 0); _voy._eCursorOff[0x74 / 2] = 1; _voy._eCursorOff[0x68 / 2] = 0; - _voy._eventTable[0x3e6]._data3 = 63; - _voy._eventTable[0x3e6]._data4 = 63; + _voy._eventTable[998]._data3 = 63; + _voy._eventTable[998]._data4 = 63; _voy._evidence[19] = 0; _voy._evidence[17] = 0; _voy._evidence[18] = 9999; - _voy._curICF0 = _graphicsManager._palFlag ? 0xFFFFA5E0 : 0x5F90; + _voy._curICF0 = _graphicsManager._palFlag ? 0xFFFFA5E0 : 0x5F90; _graphicsManager.addFadeInt(); } @@ -133,4 +136,14 @@ void VoyeurEngine::vInitInterrupts() { void VoyeurEngine::initInput() { } +void VoyeurEngine::doHeadTitle() { + char dest[144]; + + _eventsManager.startMainClockInt(); + if (_bVoy->getBoltGroup(0x10500)) { + _graphicsManager._backgroundPage = _bVoy->memberAddr(0x502); +// _graphicsManager._vPort.setupViewPort(); + } +} + } // End of namespace Voyeur diff --git a/engines/voyeur/voyeur.h b/engines/voyeur/voyeur.h index 6676b1c742..d8fb4ad711 100644 --- a/engines/voyeur/voyeur.h +++ b/engines/voyeur/voyeur.h @@ -62,11 +62,8 @@ class VoyeurEngine : public Engine { private: const VoyeurGameDescription *_gameDescription; Common::RandomSource _randomSource; - EventManager _eventManager; - FilesManager _filesManager; - GraphicsManager _graphicsManager; - BoltFile *_bVoyBoltFile; + BoltFile *_bVoy; byte *_fontPtr; SVoy _voy; Common::Array _resolves; @@ -83,6 +80,9 @@ protected: virtual bool hasFeature(EngineFeature f) const; public: IntData _intPtr; + EventsManager _eventsManager; + FilesManager _filesManager; + GraphicsManager _graphicsManager; public: VoyeurEngine(OSystem *syst, const VoyeurGameDescription *gameDesc); virtual ~VoyeurEngine(); @@ -100,6 +100,8 @@ public: virtual bool canSaveGameStateCurrently(); virtual Common::Error loadGameState(int slot); virtual Common::Error saveGameState(int slot, const Common::String &desc); + + void doHeadTitle(); }; } // End of namespace Voyeur -- cgit v1.2.3 From a855cf648bb0835f7fbc5f5622166697383e89ea Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Sat, 25 May 2013 15:36:57 -0400 Subject: VOYEUR: Refactoring Bolt statics into a separate class --- engines/voyeur/files.cpp | 349 ++++++++++++++++++++++++++--------------------- engines/voyeur/files.h | 86 ++++++++---- 2 files changed, 248 insertions(+), 187 deletions(-) diff --git a/engines/voyeur/files.cpp b/engines/voyeur/files.cpp index 32b8917d0a..ee581065a9 100644 --- a/engines/voyeur/files.cpp +++ b/engines/voyeur/files.cpp @@ -24,170 +24,36 @@ namespace Voyeur { -FilesManager::FilesManager() { - _decompressSize = 0x7000; -} - -bool FilesManager::openBoltLib(const Common::String &filename, BoltFile *&boltFile) { - if (boltFile != NULL) { - _curLibPtr = boltFile; - return true; - } - - // TODO: Specific library classes for buoy.blt versus stampblt.blt - // Create the bolt file interface object and load the index - boltFile = _curLibPtr = new BoltFile(); - return true; -} - -/*------------------------------------------------------------------------*/ - #define BOLT_GROUP_SIZE 16 -BoltFile *BoltFile::_curLibPtr = NULL; -BoltGroup *BoltFile::_curGroupPtr = NULL; -BoltEntry *BoltFile::_curMemberPtr = NULL; -byte *BoltFile::_curMemInfoPtr = NULL; -int BoltFile::_fromGroupFlag = 0; -byte BoltFile::_xorMask = 0; -bool BoltFile::_encrypt = false; -int BoltFile::_curFilePosition = 0; -int BoltFile::_bufferEnd = 0; -int BoltFile::_bufferBegin = 0; -int BoltFile::_bytesLeft = 0; -int BoltFile::_bufSize = 0; -byte *BoltFile::_bufStart = NULL; -byte *BoltFile::_bufPos = NULL; -byte BoltFile::_decompressBuf[DECOMPRESS_SIZE]; -int BoltFile::_historyIndex; -byte BoltFile::_historyBuffer[0x200]; -int BoltFile::_runLength; -int BoltFile::_decompState; -int BoltFile::_runType; -int BoltFile::_runValue; -int BoltFile::_runOffset; - -const BoltMethodPtr BoltFile::_fnInitType[25] = { - &BoltFile::initDefault, &BoltFile::initDefault, &BoltFile::initDefault, &BoltFile::initDefault, - &BoltFile::initDefault, &BoltFile::initDefault, &BoltFile::initDefault, &BoltFile::initDefault, - &BoltFile::sInitPic, &BoltFile::initDefault, &BoltFile::vInitCMap, &BoltFile::vInitCycl, - &BoltFile::initDefault, &BoltFile::initDefault, &BoltFile::initDefault, &BoltFile::initViewPort, - &BoltFile::initViewPortList, &BoltFile::initDefault, &BoltFile::initFontInfo, - &BoltFile::initSoundMap, &BoltFile::initDefault, &BoltFile::initDefault, &BoltFile::initDefault, - &BoltFile::initDefault, &BoltFile::initDefault -}; - -BoltFile::BoltFile() { - if (!_curFd.open("bvoy.blt")) - error("Could not open buoy.blt"); +BoltFilesState::BoltFilesState() { + _curLibPtr = NULL; + _curGroupPtr = NULL; + _curMemberPtr = NULL; + _curMemInfoPtr = NULL; + _fromGroupFlag = 0; + _xorMask = 0; + _encrypt = false; _curFilePosition = 0; - - // Read in the file header - byte header[16]; - _curFd.read(&header[0], 16); - - if (strncmp((const char *)&header[0], "BOLT", 4) != 0) - error("Tried to load non-bolt file"); - - int totalGroups = header[11] ? header[11] : 0x100; - for (int i = 0; i < totalGroups; ++i) - _groups.push_back(BoltGroup(&_curFd)); -} - -BoltFile::~BoltFile() { - _curFd.close(); -} - -bool BoltFile::getBoltGroup(uint32 id) { - ++_fromGroupFlag; - _curLibPtr = this; - _curGroupPtr = &_groups[(id >> 8) & 0xff]; - - if (!_curGroupPtr->_loaded) { - // Load the group index - _curGroupPtr->load(); - } - - if (_curGroupPtr->_callInitGro) - initGro(); - - if ((id >> 16) != 0) { - id &= 0xff00; - for (int idx = 0; idx < _curGroupPtr->_count; ++idx, ++id) { - byte *member = getBoltMember(id); - assert(member); - } - } else if (!_curGroupPtr->_processed) { - _curGroupPtr->_processed = true; - _curGroupPtr->load(); - } - - resolveAll(); - --_fromGroupFlag; - return true; -} - -byte *BoltFile::memberAddr(uint32 id) { - BoltGroup &group = _groups[id >> 8]; - if (!group._loaded) - return NULL; - - return group._entries[id & 0xff]._data; -} - -byte *BoltFile::getBoltMember(uint32 id) { - _curLibPtr = this; - - // Get the group, and load it's entry list if not already loaded - _curGroupPtr = &_groups[(id >> 8) & 0xff]; - if (!_curGroupPtr->_loaded) - _curGroupPtr->load(); - - // Get the entry - _curMemberPtr = &_curGroupPtr->_entries[id & 0xff]; - if (_curMemberPtr->_field1) - initMem(_curMemberPtr->_field1); - - // Return the data for the entry if it's already been loaded - if (_curMemberPtr->_data) - return _curMemberPtr->_data; - - _xorMask = _curMemberPtr->_xorMask; - _encrypt = (_curMemberPtr->_mode & 0x10) != 0; - - if (_curGroupPtr->_processed) { - // TODO: Figure out weird access type. Uncompressed read perhaps? - //int fileDiff = _curGroupPtr->_fileOffset - _curMemberPtr->_fileOffset; - - } else { - _bufStart = _decompressBuf; - _bufSize = DECOMPRESS_SIZE; - - if (_curMemberPtr->_fileOffset < _bufferBegin || _curMemberPtr->_fileOffset >= _bufferEnd) { - _bytesLeft = 0; - _bufPos = _bufStart; - _bufferBegin = -1; - _bufferEnd = _curMemberPtr->_fileOffset; - } else { - _bufPos = _curMemberPtr->_fileOffset + _bufferBegin + _bufStart; - _bufSize = ((_bufPos - _bufStart) << 16) >> 16; // TODO: Validate this - _bytesLeft = _bufSize; - } - } - - _decompState = 0; + _bufferEnd = 0; + _bufferBegin = 0; + _bytesLeft = 0; + _bufSize = 0; + _bufStart = NULL; + _bufPos = NULL; _historyIndex = 0; + _runLength = 0; + _decompState = 0; + _runType = 0; + _runValue = 0; + _runOffset = 0; - // Initialise the resource - assert(_curMemberPtr->_initMethod < 25); - (this->*_fnInitType[_curMemberPtr->_initMethod])(); - - return _curMemberPtr->_data; + Common::fill(&_historyBuffer[0], &_historyBuffer[0x200], 0); } #define NEXT_BYTE if (--_bytesLeft <= 0) nextBlock() -byte *BoltFile::decompress(byte *buf, int size, int mode) { +byte *BoltFilesState::decompress(byte *buf, int size, int mode) { if (!buf) buf = new byte[size]; byte *bufP = buf; @@ -284,7 +150,9 @@ byte *BoltFile::decompress(byte *buf, int size, int mode) { return buf; } -void BoltFile::nextBlock() { +#undef NEXT_BYTE + +void BoltFilesState::nextBlock() { if (_curFilePosition != _bufferEnd) _curFd.seek(_bufferEnd); @@ -296,12 +164,153 @@ void BoltFile::nextBlock() { _bufPos = _bufStart; } +/*------------------------------------------------------------------------*/ + +FilesManager::FilesManager() { + _decompressSize = 0x7000; +} + +bool FilesManager::openBoltLib(const Common::String &filename, BoltFile *&boltFile) { + if (boltFile != NULL) { + _boltFilesState._curLibPtr = boltFile; + return true; + } + + // TODO: Specific library classes for buoy.blt versus stampblt.blt + // Create the bolt file interface object and load the index + boltFile = _boltFilesState._curLibPtr = new BoltFile(_boltFilesState); + return true; +} + +/*------------------------------------------------------------------------*/ + +const BoltMethodPtr BoltFile::_fnInitType[25] = { + &BoltFile::initDefault, &BoltFile::initDefault, &BoltFile::initDefault, &BoltFile::initDefault, + &BoltFile::initDefault, &BoltFile::initDefault, &BoltFile::initDefault, &BoltFile::initDefault, + &BoltFile::sInitPic, &BoltFile::initDefault, &BoltFile::vInitCMap, &BoltFile::vInitCycl, + &BoltFile::initDefault, &BoltFile::initDefault, &BoltFile::initDefault, &BoltFile::initViewPort, + &BoltFile::initViewPortList, &BoltFile::initDefault, &BoltFile::initFontInfo, + &BoltFile::initSoundMap, &BoltFile::initDefault, &BoltFile::initDefault, &BoltFile::initDefault, + &BoltFile::initDefault, &BoltFile::initDefault +}; + +BoltFile::BoltFile(BoltFilesState &state): _state(state) { + if (!_state._curFd.open("bvoy.blt")) + error("Could not open buoy.blt"); + _state._curFilePosition = 0; + + // Read in the file header + byte header[16]; + _state._curFd.read(&header[0], 16); + + if (strncmp((const char *)&header[0], "BOLT", 4) != 0) + error("Tried to load non-bolt file"); + + int totalGroups = header[11] ? header[11] : 0x100; + for (int i = 0; i < totalGroups; ++i) + _groups.push_back(BoltGroup(&_state._curFd)); +} + +BoltFile::~BoltFile() { + _state._curFd.close(); +} + +bool BoltFile::getBoltGroup(uint32 id) { + ++_state._fromGroupFlag; + _state._curLibPtr = this; + _state._curGroupPtr = &_groups[(id >> 8) & 0xff]; + + if (!_state._curGroupPtr->_loaded) { + // Load the group index + _state._curGroupPtr->load(); + } + + if (_state._curGroupPtr->_callInitGro) + initGro(); + + if ((id >> 16) != 0) { + id &= 0xff00; + for (int idx = 0; idx < _state._curGroupPtr->_count; ++idx, ++id) { + byte *member = getBoltMember(id); + assert(member); + } + } else if (!_state._curGroupPtr->_processed) { + _state._curGroupPtr->_processed = true; + _state._curGroupPtr->load(); + } + + resolveAll(); + --_state._fromGroupFlag; + return true; +} + +byte *BoltFile::memberAddr(uint32 id) { + BoltGroup &group = _groups[id >> 8]; + if (!group._loaded) + return NULL; + + return group._entries[id & 0xff]._data; +} + +byte *BoltFile::getBoltMember(uint32 id) { + _state._curLibPtr = this; + + // Get the group, and load it's entry list if not already loaded + _state._curGroupPtr = &_groups[(id >> 8) & 0xff]; + if (!_state._curGroupPtr->_loaded) + _state._curGroupPtr->load(); + + // Get the entry + _state._curMemberPtr = &_state._curGroupPtr->_entries[id & 0xff]; + if (_state._curMemberPtr->_field1) + initMem(_state._curMemberPtr->_field1); + + // Return the data for the entry if it's already been loaded + if (_state._curMemberPtr->_data) + return _state._curMemberPtr->_data; + + _state._xorMask = _state._curMemberPtr->_xorMask; + _state._encrypt = (_state._curMemberPtr->_mode & 0x10) != 0; + + if (_state._curGroupPtr->_processed) { + // TODO: Figure out weird access type. Uncompressed read perhaps? + //int fileDiff = _state._curGroupPtr->_fileOffset - _state._curMemberPtr->_fileOffset; + + } else { + _state._bufStart = _state._decompressBuf; + _state._bufSize = DECOMPRESS_SIZE; + + if (_state._curMemberPtr->_fileOffset < _state._bufferBegin || _state._curMemberPtr->_fileOffset >= _state._bufferEnd) { + _state._bytesLeft = 0; + _state._bufPos = _state._bufStart; + _state._bufferBegin = -1; + _state._bufferEnd = _state._curMemberPtr->_fileOffset; + } else { + _state._bufPos = _state._curMemberPtr->_fileOffset + _state._bufferBegin + _state._bufStart; + _state._bufSize = ((_state._bufPos - _state._bufStart) << 16) >> 16; // TODO: Validate this + _state._bytesLeft = _state._bufSize; + } + } + + _state._decompState = 0; + _state._historyIndex = 0; + + // Initialise the resource + assert(_state._curMemberPtr->_initMethod < 25); + (this->*_fnInitType[_state._curMemberPtr->_initMethod])(); + + return _state._curMemberPtr->_data; +} + void BoltFile::initDefault() { - _curMemberPtr->_data = decompress(0, _curMemberPtr->_size, _curMemberPtr->_mode); + _state._curMemberPtr->_data = _state.decompress(0, _state._curMemberPtr->_size, + _state._curMemberPtr->_mode); } void BoltFile::sInitPic() { - error("TODO: sInitPic not implemented"); + // Read in the header data + _state._curMemberPtr->_data = _state.decompress(0, 24, _state._curMemberPtr->_mode); + } void BoltFile::vInitCMap() { @@ -356,6 +365,7 @@ void BoltGroup::load() { BoltEntry::BoltEntry(Common::SeekableReadStream *f): _file(f) { _data = NULL; + _picResource = NULL; byte buffer[16]; _file->read(&buffer[0], 16); @@ -369,9 +379,32 @@ BoltEntry::BoltEntry(Common::SeekableReadStream *f): _file(f) { BoltEntry::~BoltEntry() { delete[] _data; + delete _picResource; } void BoltEntry::load() { + // TODO: Currently, all entry loading and decompression is done in BoltFile::memberAddr. + // Ideally, a lot of the code should be moved here +} + +/*------------------------------------------------------------------------*/ + +PictureResource::PictureResource(BoltFilesState &state, const byte *src) { + _flags = READ_LE_UINT16(src); + _select = src[2]; + _pick = src[3]; + _onOff = src[4]; + _depth = src[5]; + _offset = Common::Point(READ_LE_UINT16(&src[6]), READ_LE_UINT16(&src[8])); + _width = READ_LE_UINT16(&src[10]); + _height = READ_LE_UINT16(&src[12]); + _maskData = READ_LE_UINT32(&src[14]); + + _imgData = NULL; +} + +PictureResource::~PictureResource() { + delete _imgData; } } // End of namespace Voyeur diff --git a/engines/voyeur/files.h b/engines/voyeur/files.h index 095d3eacab..658f7ac405 100644 --- a/engines/voyeur/files.h +++ b/engines/voyeur/files.h @@ -25,6 +25,7 @@ #include "common/scummsys.h" #include "common/file.h" +#include "common/rect.h" #include "common/str.h" namespace Voyeur { @@ -33,38 +34,48 @@ class VoyeurEngine; class BoltFile; class BoltGroup; class BoltEntry; +class PictureResource; #define DECOMPRESS_SIZE 0x7000 typedef void (BoltFile::*BoltMethodPtr)(); +class BoltFilesState { +public: + BoltFile *_curLibPtr; + BoltGroup *_curGroupPtr; + BoltEntry *_curMemberPtr; + byte *_curMemInfoPtr; + int _fromGroupFlag; + byte _xorMask; + bool _encrypt; + int _curFilePosition; + int _bufferEnd; + int _bufferBegin; + int _bytesLeft; + int _bufSize; + byte *_bufStart; + byte *_bufPos; + byte _decompressBuf[DECOMPRESS_SIZE]; + int _historyIndex; + byte _historyBuffer[0x200]; + int _runLength; + int _decompState; + int _runType; + int _runValue; + int _runOffset; + Common::File _curFd; +public: + BoltFilesState(); + + byte *decompress(byte *buf, int size, int mode); + void nextBlock(); +}; + class BoltFile { private: - static BoltFile *_curLibPtr; - static BoltGroup *_curGroupPtr; - static BoltEntry *_curMemberPtr; - static byte *_curMemInfoPtr; - static int _fromGroupFlag; - static byte _xorMask; - static bool _encrypt; - // TODO: Move decompression statics and methods into BoltEntry - static int _curFilePosition; - static int _bufferEnd; - static int _bufferBegin; - static int _bytesLeft; - static int _bufSize; - static byte *_bufStart; - static byte *_bufPos; - static byte _decompressBuf[DECOMPRESS_SIZE]; - static int _historyIndex; - static byte _historyBuffer[0x200]; - static int _runLength; - static int _decompState; - static int _runType; - static int _runValue; - static int _runOffset; static const BoltMethodPtr _fnInitType[25]; private: - Common::File _curFd; + BoltFilesState &_state; Common::Array _groups; // initType method table @@ -76,10 +87,6 @@ private: void initViewPortList(); void initFontInfo(); void initSoundMap(); - - // Decompression - byte *decompress(byte *buf, int size, int mode); - void nextBlock(); private: void resolveAll() {} byte *getBoltMember(uint32 id); @@ -91,7 +98,7 @@ private: void initGro() {} void termGro() {} public: - BoltFile(); + BoltFile(BoltFilesState &state); ~BoltFile(); bool getBoltGroup(uint32 id); @@ -126,6 +133,8 @@ public: byte _xorMask; int _size; byte *_data; + + PictureResource *_picResource; public: BoltEntry(Common::SeekableReadStream *f); virtual ~BoltEntry(); @@ -137,6 +146,7 @@ class FilesManager { private: int _decompressSize; public: + BoltFilesState _boltFilesState; BoltFile *_curLibPtr; public: FilesManager(); @@ -144,6 +154,24 @@ public: bool openBoltLib(const Common::String &filename, BoltFile *&boltFile); }; +class PictureResource { + uint16 _flags; + byte _select; + byte _pick; + byte _onOff; + byte _depth; + Common::Point _offset; + int _width; + int _height; + uint32 _maskData; + uint16 _planeSize; + + byte *_imgData; +public: + PictureResource(BoltFilesState &state, const byte *src); + virtual ~PictureResource(); +}; + } // End of namespace Voyeur #endif /* VOYEUR_FILES_H */ -- cgit v1.2.3 From e33fb4f897fae750e50502348b3e894b36b7f783 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Sat, 25 May 2013 20:51:53 -0400 Subject: VOYEUR: Fixes for decompression, and picture initialisation --- engines/voyeur/files.cpp | 106 ++++++++++++++++++++++++++++++++++++++------ engines/voyeur/files.h | 15 ++++++- engines/voyeur/graphics.cpp | 2 + engines/voyeur/graphics.h | 2 + engines/voyeur/voyeur.cpp | 1 + 5 files changed, 110 insertions(+), 16 deletions(-) diff --git a/engines/voyeur/files.cpp b/engines/voyeur/files.cpp index ee581065a9..93f1b87089 100644 --- a/engines/voyeur/files.cpp +++ b/engines/voyeur/files.cpp @@ -21,6 +21,8 @@ */ #include "voyeur/files.h" +#include "voyeur/graphics.h" +#include "voyeur/voyeur.h" namespace Voyeur { @@ -47,8 +49,9 @@ BoltFilesState::BoltFilesState() { _runType = 0; _runValue = 0; _runOffset = 0; - Common::fill(&_historyBuffer[0], &_historyBuffer[0x200], 0); + _curFd = NULL; + _boltPageFrame = NULL; } #define NEXT_BYTE if (--_bytesLeft <= 0) nextBlock() @@ -126,7 +129,9 @@ byte *BoltFilesState::decompress(byte *buf, int size, int mode) { case 0: while (len-- > 0) { NEXT_BYTE; - _historyBuffer[_historyIndex] = *_bufPos++; + byte v = *_bufPos++; + _historyBuffer[_historyIndex] = v; + *bufP++ = v; _historyIndex = (_historyIndex + 1) & 0x1ff; } break; @@ -135,6 +140,7 @@ byte *BoltFilesState::decompress(byte *buf, int size, int mode) { _historyBuffer[_historyIndex] = _historyBuffer[runOffset]; *bufP++ = _historyBuffer[runOffset]; _historyIndex = (_historyIndex + 1) & 0x1ff; + runOffset = (runOffset + 1) & 0x1ff; } break; default: @@ -154,10 +160,10 @@ byte *BoltFilesState::decompress(byte *buf, int size, int mode) { void BoltFilesState::nextBlock() { if (_curFilePosition != _bufferEnd) - _curFd.seek(_bufferEnd); + _curFd->seek(_bufferEnd); _bufferBegin = _bufferEnd; - int bytesRead = _curFd.read(_bufStart, _bufSize); + int bytesRead = _curFd->read(_bufStart, _bufSize); _bufferEnd = _curFilePosition = _bufferBegin + bytesRead; _bytesLeft = bytesRead - 1; @@ -195,24 +201,25 @@ const BoltMethodPtr BoltFile::_fnInitType[25] = { }; BoltFile::BoltFile(BoltFilesState &state): _state(state) { - if (!_state._curFd.open("bvoy.blt")) + _state._curFd = &_file; + if (!_file.open("bvoy.blt")) error("Could not open buoy.blt"); _state._curFilePosition = 0; // Read in the file header byte header[16]; - _state._curFd.read(&header[0], 16); + _file.read(&header[0], 16); if (strncmp((const char *)&header[0], "BOLT", 4) != 0) error("Tried to load non-bolt file"); int totalGroups = header[11] ? header[11] : 0x100; for (int i = 0; i < totalGroups; ++i) - _groups.push_back(BoltGroup(&_state._curFd)); + _groups.push_back(BoltGroup(_state._curFd)); } BoltFile::~BoltFile() { - _state._curFd.close(); + _state._curFd->close(); } bool BoltFile::getBoltGroup(uint32 id) { @@ -280,15 +287,15 @@ byte *BoltFile::getBoltMember(uint32 id) { _state._bufStart = _state._decompressBuf; _state._bufSize = DECOMPRESS_SIZE; - if (_state._curMemberPtr->_fileOffset < _state._bufferBegin || _state._curMemberPtr->_fileOffset >= _state._bufferEnd) { + if ((_state._curFd != &_file) || (_state._curMemberPtr->_fileOffset < _state._bufferBegin) + || (_state._curMemberPtr->_fileOffset >= _state._bufferEnd)) { _state._bytesLeft = 0; _state._bufPos = _state._bufStart; _state._bufferBegin = -1; _state._bufferEnd = _state._curMemberPtr->_fileOffset; } else { - _state._bufPos = _state._curMemberPtr->_fileOffset + _state._bufferBegin + _state._bufStart; - _state._bufSize = ((_state._bufPos - _state._bufStart) << 16) >> 16; // TODO: Validate this - _state._bytesLeft = _state._bufSize; + _state._bufPos = _state._curMemberPtr->_fileOffset - _state._bufferBegin + _state._bufStart; + _state._bytesLeft = _state._bufSize - (_state._bufPos - _state._bufStart); } } @@ -309,8 +316,9 @@ void BoltFile::initDefault() { void BoltFile::sInitPic() { // Read in the header data - _state._curMemberPtr->_data = _state.decompress(0, 24, _state._curMemberPtr->_mode); - + _state._curMemberPtr->_data = _state.decompress(NULL, 24, _state._curMemberPtr->_mode); + _state._curMemberPtr->_picResource = new PictureResource(_state, + _state._curMemberPtr->_data); } void BoltFile::vInitCMap() { @@ -401,6 +409,76 @@ PictureResource::PictureResource(BoltFilesState &state, const byte *src) { _maskData = READ_LE_UINT32(&src[14]); _imgData = NULL; + + int nbytes = _width * _height; + if (_flags & 0x20) { + warning("TODO: sInitPic flags&0x20"); + } else if (_flags & 8) { + int mode = 0; + if (_width == 320) { + mode = 147; + state._sImageShift = 2; + state._SVGAReset = false; + } else { + state._SVGAReset = true; + if (_width == 640) { + if (_height == 400) { + mode = 220; + state._sImageShift = 3; + } else { + mode = 221; + state._sImageShift = 3; + } + } else if (_width == 800) { + mode = 222; + state._sImageShift = 3; + } else if (_width == 1024) { + mode = 226; + state._sImageShift = 3; + } + } + + if (mode != state._vm->_graphicsManager._SVGAMode) { + state._vm->_graphicsManager._SVGAMode = mode; + // TODO: If necessary, simulate SVGA mode change + } + +// byte *imgData = _imgData; + if (_flags & 0x10) { + // TODO: Figure out what it's doing. Looks like a direct clearing + // of the screen directly + } else { + // TODO: Figure out direct screen loading + } + } else { + if (_flags & 0x1000) { + if (!(_flags & 0x10)) + nbytes = state._curMemberPtr->_size - 24; + + int mask = (nbytes + 0x3FFF) >> 14; + _imgData = NULL; + + if (state._boltPageFrame == 0) + state.EMSGetFrameAddr(&state._boltPageFrame); + if (state._boltPageFrame != 0) { + if (!state.EMSAllocatePages(&_planeSize)) { + _maskData = mask; + + for (int idx = 0; idx < mask; ++idx) + state.EMSMapPageHandle(_planeSize, idx, idx); + + state.decompress(state._boltPageFrame, nbytes, state._curMemberPtr->_mode); + return; + } + } + } + + if (_flags & 0x10) { + _imgData = new byte[nbytes]; + } else { + _imgData = state.decompress(NULL, nbytes, state._curMemberPtr->_mode); + } + } } PictureResource::~PictureResource() { diff --git a/engines/voyeur/files.h b/engines/voyeur/files.h index 658f7ac405..64a164a9dc 100644 --- a/engines/voyeur/files.h +++ b/engines/voyeur/files.h @@ -41,6 +41,7 @@ typedef void (BoltFile::*BoltMethodPtr)(); class BoltFilesState { public: + VoyeurEngine *_vm; BoltFile *_curLibPtr; BoltGroup *_curGroupPtr; BoltEntry *_curMemberPtr; @@ -63,12 +64,20 @@ public: int _runType; int _runValue; int _runOffset; - Common::File _curFd; + Common::File *_curFd; + + byte *_boltPageFrame; + int _sImageShift; + bool _SVGAReset; public: BoltFilesState(); byte *decompress(byte *buf, int size, int mode); void nextBlock(); + + void EMSGetFrameAddr(byte **pageFrame) {} // TODO: Maybe? + bool EMSAllocatePages(uint *planeSize) { return false; } // TODO: Maybe? + void EMSMapPageHandle(int planeSize, int idx1, int idx2) {} // TODO: Maybe? }; class BoltFile { @@ -77,6 +86,7 @@ private: private: BoltFilesState &_state; Common::Array _groups; + Common::File _file; // initType method table void initDefault(); @@ -150,6 +160,7 @@ public: BoltFile *_curLibPtr; public: FilesManager(); + void setVm(VoyeurEngine *vm) { _boltFilesState._vm = vm; } bool openBoltLib(const Common::String &filename, BoltFile *&boltFile); }; @@ -164,7 +175,7 @@ class PictureResource { int _width; int _height; uint32 _maskData; - uint16 _planeSize; + uint _planeSize; byte *_imgData; public: diff --git a/engines/voyeur/graphics.cpp b/engines/voyeur/graphics.cpp index 2261b4f73b..be8e5316fe 100644 --- a/engines/voyeur/graphics.cpp +++ b/engines/voyeur/graphics.cpp @@ -30,6 +30,8 @@ namespace Voyeur { GraphicsManager::GraphicsManager() { _palFlag = false; + _SVGAPage = 0; + _SVGAMode = 0; } void GraphicsManager::sInitGraphics() { diff --git a/engines/voyeur/graphics.h b/engines/voyeur/graphics.h index a0f01dfc63..72b5047b29 100644 --- a/engines/voyeur/graphics.h +++ b/engines/voyeur/graphics.h @@ -47,6 +47,8 @@ public: byte _VGAColors[PALETTE_SIZE]; Common::Array _colorChain; byte *_backgroundPage; + int _SVGAPage; + int _SVGAMode; private: static void fadeIntFunc(); static void vDoFadeInt(); diff --git a/engines/voyeur/voyeur.cpp b/engines/voyeur/voyeur.cpp index beded3e6fd..457d8639b3 100644 --- a/engines/voyeur/voyeur.cpp +++ b/engines/voyeur/voyeur.cpp @@ -94,6 +94,7 @@ int VoyeurEngine::getRandomNumber(int maxNumber) { void VoyeurEngine::initialiseManagers() { _eventsManager.setVm(this); + _filesManager.setVm(this); _graphicsManager.setVm(this); } -- cgit v1.2.3 From 23f3866e14fb1795145c9f3631955e5138c34628 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Sat, 25 May 2013 23:30:48 -0400 Subject: VOYEUR: Implemented initViewPort and pointer resolve methods --- engines/voyeur/files.cpp | 72 +++++++++++++++++++++++++++++++++++++++++++++++- engines/voyeur/files.h | 51 +++++++++++++++++++++++++++++----- 2 files changed, 115 insertions(+), 8 deletions(-) diff --git a/engines/voyeur/files.cpp b/engines/voyeur/files.cpp index 93f1b87089..343485edf8 100644 --- a/engines/voyeur/files.cpp +++ b/engines/voyeur/files.cpp @@ -259,6 +259,49 @@ byte *BoltFile::memberAddr(uint32 id) { return group._entries[id & 0xff]._data; } +byte *BoltFile::memberAddrOffset(uint32 id) { + BoltGroup &group = _groups[(id >> 24) << 4]; + if (!group._loaded) + return NULL; + + return group._entries[(id >> 16) & 0xff]._data + (id & 0xffff); +} + +/** + * Resolves an Id to an offset within a loaded resource + */ +void BoltFile::resolveIt(uint32 id, byte **p) { + if ((int32)id == -1) { + *p = NULL; + } else { + byte *ptr = memberAddrOffset(id); + if (ptr) { + *p = ptr; + } else { + *p = NULL; + assert(_state._resolves.size() < 1000); + _state._resolves.push_back(ResolveEntry(id, p)); + } + } +} + +void BoltFile::resolveFunction(uint32 id, BoltMethodPtr *fn) { + if ((int32)id == -1) { + *fn = NULL; + } else { + error("Function fnTermGro array not supported"); + } +} + +/** + * Resolve any data references to within resources that weren't + * previously loaded, but are now + */ +void BoltFile::resolveAll() { + for (uint idx = 0; idx < _state._resolves.size(); ++idx) + *_state._resolves[idx]._p = memberAddrOffset(_state._resolves[idx]._id); +} + byte *BoltFile::getBoltMember(uint32 id) { _state._curLibPtr = this; @@ -330,7 +373,9 @@ void BoltFile::vInitCycl() { } void BoltFile::initViewPort() { - error("TODO: initViewPort not implemented"); + initDefault(); + _state._curMemberPtr->_viewPortResource = new ViewPortResource( + _state, _state._curMemberPtr->_data); } void BoltFile::initViewPortList() { @@ -374,6 +419,7 @@ void BoltGroup::load() { BoltEntry::BoltEntry(Common::SeekableReadStream *f): _file(f) { _data = NULL; _picResource = NULL; + _viewPortResource = NULL; byte buffer[16]; _file->read(&buffer[0], 16); @@ -388,6 +434,7 @@ BoltEntry::BoltEntry(Common::SeekableReadStream *f): _file(f) { BoltEntry::~BoltEntry() { delete[] _data; delete _picResource; + delete _viewPortResource; } void BoltEntry::load() { @@ -485,4 +532,27 @@ PictureResource::~PictureResource() { delete _imgData; } +/*------------------------------------------------------------------------*/ + +ViewPortResource::ViewPortResource(BoltFilesState &state, const byte *src) { + state._curLibPtr->resolveIt(READ_LE_UINT32(src + 2), &_field2); + state._curLibPtr->resolveIt(READ_LE_UINT32(src + 0x20), &_field20); + state._curLibPtr->resolveIt(READ_LE_UINT32(src + 0x24), &_field24); + state._curLibPtr->resolveIt(READ_LE_UINT32(src + 0x28), &_field28); + state._curLibPtr->resolveIt(READ_LE_UINT32(src + 0x2c), &_field2C); + state._curLibPtr->resolveIt(READ_LE_UINT32(src + 0x30), &_field30); + state._curLibPtr->resolveIt(READ_LE_UINT32(src + 0x34), &_field34); + state._curLibPtr->resolveIt(READ_LE_UINT32(src + 0x38), &_field38); + state._curLibPtr->resolveIt(READ_LE_UINT32(src + 0x3C), &_field3C); + state._curLibPtr->resolveIt(READ_LE_UINT32(src + 0x7A), &_field7A); + + state._curLibPtr->resolveFunction(READ_LE_UINT32(src + 0x7E), &_fn1); + state._curLibPtr->resolveFunction(READ_LE_UINT32(src + 0x82), &_fn2); + state._curLibPtr->resolveFunction(READ_LE_UINT32(src + 0x86), &_fn3); + state._curLibPtr->resolveFunction(READ_LE_UINT32(src + 0x8A), &_fn4); + + if (!_fn4 && _fn3) + _fn3 = &BoltFile::addRectNoSaveBack; +} + } // End of namespace Voyeur diff --git a/engines/voyeur/files.h b/engines/voyeur/files.h index 64a164a9dc..c8c480768a 100644 --- a/engines/voyeur/files.h +++ b/engines/voyeur/files.h @@ -35,10 +35,20 @@ class BoltFile; class BoltGroup; class BoltEntry; class PictureResource; +class ViewPortResource; + #define DECOMPRESS_SIZE 0x7000 typedef void (BoltFile::*BoltMethodPtr)(); +class ResolveEntry { +public: + uint32 _id; + byte **_p; + + ResolveEntry(uint32 id, byte **p) { _id = id; _p = p; } +}; + class BoltFilesState { public: VoyeurEngine *_vm; @@ -65,6 +75,7 @@ public: int _runValue; int _runOffset; Common::File *_curFd; + Common::Array _resolves; byte *_boltPageFrame; int _sImageShift; @@ -98,21 +109,25 @@ private: void initFontInfo(); void initSoundMap(); private: - void resolveAll() {} + void resolveAll(); byte *getBoltMember(uint32 id); - void initType() {} - void termType() {} - void initMem(int id) {} - void termMem() {} - void initGro() {} - void termGro() {} + void termType() {} // TODO + void initMem(int id) {} // TODO + void termMem() {} // TODO + void initGro() {} // TODO + void termGro() {} // TODO public: BoltFile(BoltFilesState &state); ~BoltFile(); bool getBoltGroup(uint32 id); byte *memberAddr(uint32 id); + byte *memberAddrOffset(uint32 id); + void resolveIt(uint32 id, byte **p); + void resolveFunction(uint32 id, BoltMethodPtr *fn); + + void addRectNoSaveBack() {} // TODO }; class BoltGroup { @@ -145,6 +160,7 @@ public: byte *_data; PictureResource *_picResource; + ViewPortResource *_viewPortResource; public: BoltEntry(Common::SeekableReadStream *f); virtual ~BoltEntry(); @@ -183,6 +199,27 @@ public: virtual ~PictureResource(); }; +class ViewPortResource { +public: + byte *_field2; + byte *_field20; + byte *_field24; + byte *_field28; + byte *_field2C; + byte *_field30; + byte *_field34; + byte *_field38; + byte *_field3C; + byte *_field7A; + BoltMethodPtr _fn1; + BoltMethodPtr _fn2; + BoltMethodPtr _fn3; + BoltMethodPtr _fn4; +public: + ViewPortResource(BoltFilesState &state, const byte *src); + virtual ~ViewPortResource() {} +}; + } // End of namespace Voyeur #endif /* VOYEUR_FILES_H */ -- cgit v1.2.3 From ab4f798f5bedeec7520c15f8b5b64efda469d95f Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Sun, 26 May 2013 22:18:54 -0400 Subject: VOYEUR: Added code for initViewPortList --- engines/voyeur/files.cpp | 21 ++++++++++++++++++++- engines/voyeur/files.h | 11 +++++++++++ engines/voyeur/graphics.h | 1 + 3 files changed, 32 insertions(+), 1 deletion(-) diff --git a/engines/voyeur/files.cpp b/engines/voyeur/files.cpp index 343485edf8..811bdf600b 100644 --- a/engines/voyeur/files.cpp +++ b/engines/voyeur/files.cpp @@ -379,7 +379,9 @@ void BoltFile::initViewPort() { } void BoltFile::initViewPortList() { - error("TODO: initViewPortList not implemented"); + initDefault(); + _state._curMemberPtr->_viewPortListResource = new ViewPortListResource( + _state, _state._curMemberPtr->_data); } void BoltFile::initFontInfo() { @@ -435,6 +437,7 @@ BoltEntry::~BoltEntry() { delete[] _data; delete _picResource; delete _viewPortResource; + delete _viewPortListResource; } void BoltEntry::load() { @@ -555,4 +558,20 @@ ViewPortResource::ViewPortResource(BoltFilesState &state, const byte *src) { _fn3 = &BoltFile::addRectNoSaveBack; } +/*------------------------------------------------------------------------*/ + +ViewPortListResource::ViewPortListResource(BoltFilesState &state, const byte *src) { + uint32 *idP = (uint32 *)&src[0]; + uint count = READ_LE_UINT32(idP++); + + for (uint i = 0; i < count; ++i, ++idP) { + uint32 id = READ_LE_UINT32(idP); + _entries.push_back(NULL); + state._curLibPtr->resolveIt(id, &_entries[_entries.size() - 1]); + } + + state._vm->_graphicsManager._vPort = &_entries[0]; + state._curLibPtr->resolveIt(READ_LE_UINT32(&src[4]), &_field4); +} + } // End of namespace Voyeur diff --git a/engines/voyeur/files.h b/engines/voyeur/files.h index c8c480768a..47ef5a1f46 100644 --- a/engines/voyeur/files.h +++ b/engines/voyeur/files.h @@ -36,6 +36,7 @@ class BoltGroup; class BoltEntry; class PictureResource; class ViewPortResource; +class ViewPortListResource; #define DECOMPRESS_SIZE 0x7000 @@ -161,6 +162,7 @@ public: PictureResource *_picResource; ViewPortResource *_viewPortResource; + ViewPortListResource *_viewPortListResource; public: BoltEntry(Common::SeekableReadStream *f); virtual ~BoltEntry(); @@ -220,6 +222,15 @@ public: virtual ~ViewPortResource() {} }; +class ViewPortListResource { +public: + byte *_field4; + Common::Array _entries; + + ViewPortListResource(BoltFilesState &state, const byte *src); + virtual ~ViewPortListResource() {} +}; + } // End of namespace Voyeur #endif /* VOYEUR_FILES_H */ diff --git a/engines/voyeur/graphics.h b/engines/voyeur/graphics.h index 72b5047b29..152ce00d9e 100644 --- a/engines/voyeur/graphics.h +++ b/engines/voyeur/graphics.h @@ -49,6 +49,7 @@ public: byte *_backgroundPage; int _SVGAPage; int _SVGAMode; + byte **_vPort; private: static void fadeIntFunc(); static void vDoFadeInt(); -- cgit v1.2.3 From 83524863d744c71eb5083fc4f9ce32d576f7810d Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Mon, 27 May 2013 23:01:15 -0400 Subject: VOYEUR: Implemented remaining Bolt init methods --- engines/voyeur/events.cpp | 9 ++++++++ engines/voyeur/events.h | 4 +++- engines/voyeur/files.cpp | 56 ++++++++++++++++++++++++++++++++++++++++++----- engines/voyeur/files.h | 32 +++++++++++++++++++++++++++ 4 files changed, 94 insertions(+), 7 deletions(-) diff --git a/engines/voyeur/events.cpp b/engines/voyeur/events.cpp index 2fb41475e7..f84c97879a 100644 --- a/engines/voyeur/events.cpp +++ b/engines/voyeur/events.cpp @@ -25,6 +25,10 @@ namespace Voyeur { +EventsManager::EventsManager() { + _cycleStatus = 0; +} + void EventsManager::resetMouse() { // No implementation } @@ -40,4 +44,9 @@ void EventsManager::mainVoyeurIntFunc() { } +void EventsManager::vStopCycle() { + _cycleIntNode._flags = 1; + _cycleStatus &= 2; +} + } // End of namespace Voyeur diff --git a/engines/voyeur/events.h b/engines/voyeur/events.h index 0acdc73908..a3696a9568 100644 --- a/engines/voyeur/events.h +++ b/engines/voyeur/events.h @@ -40,12 +40,14 @@ public: IntNode _cycleIntNode; IntNode _evintnode; IntNode _mainIntNode; + int _cycleStatus; public: - EventsManager() {} + EventsManager(); void setVm(VoyeurEngine *vm) { _vm = vm; } void resetMouse(); void startMainClockInt(); + void vStopCycle(); }; } // End of namespace Voyeur diff --git a/engines/voyeur/files.cpp b/engines/voyeur/files.cpp index 811bdf600b..74c2f17103 100644 --- a/engines/voyeur/files.cpp +++ b/engines/voyeur/files.cpp @@ -365,11 +365,16 @@ void BoltFile::sInitPic() { } void BoltFile::vInitCMap() { - error("TODO: vInitCMap not implemented"); + initDefault(); + _state._curMemberPtr->_cMapResource = new CMapResource( + _state, _state._curMemberPtr->_data); } void BoltFile::vInitCycl() { - error("TODO: vInitCycl not implemented"); + initDefault(); + _state._vm->_eventsManager.vStopCycle(); + _state._curMemberPtr->_vInitCyclResource = new VInitCyclResource( + _state, _state._curMemberPtr->_data); } void BoltFile::initViewPort() { @@ -385,11 +390,13 @@ void BoltFile::initViewPortList() { } void BoltFile::initFontInfo() { - error("TODO: initFontInfo not implemented"); + initDefault(); + _state._curMemberPtr->_fontResource = new FontResource( + _state, _state._curMemberPtr->_data); } void BoltFile::initSoundMap() { - error("TODO: initSoundMap not implemented"); + initDefault(); } /*------------------------------------------------------------------------*/ @@ -422,6 +429,10 @@ BoltEntry::BoltEntry(Common::SeekableReadStream *f): _file(f) { _data = NULL; _picResource = NULL; _viewPortResource = NULL; + _viewPortListResource = NULL; + _fontResource = NULL; + _cMapResource = NULL; + _vInitCyclResource = NULL; byte buffer[16]; _file->read(&buffer[0], 16); @@ -438,6 +449,9 @@ BoltEntry::~BoltEntry() { delete _picResource; delete _viewPortResource; delete _viewPortListResource; + delete _fontResource; + delete _cMapResource; + delete _vInitCyclResource; } void BoltEntry::load() { @@ -561,8 +575,9 @@ ViewPortResource::ViewPortResource(BoltFilesState &state, const byte *src) { /*------------------------------------------------------------------------*/ ViewPortListResource::ViewPortListResource(BoltFilesState &state, const byte *src) { - uint32 *idP = (uint32 *)&src[0]; - uint count = READ_LE_UINT32(idP++); + uint count = READ_LE_UINT16(src); + + uint32 *idP = (uint32 *)&src[8]; for (uint i = 0; i < count; ++i, ++idP) { uint32 id = READ_LE_UINT32(idP); @@ -574,4 +589,33 @@ ViewPortListResource::ViewPortListResource(BoltFilesState &state, const byte *sr state._curLibPtr->resolveIt(READ_LE_UINT32(&src[4]), &_field4); } +/*------------------------------------------------------------------------*/ + +FontResource::FontResource(BoltFilesState &state, const byte *src) { + state._curLibPtr->resolveIt(READ_LE_UINT32(src + 0xC), &_fieldC); +} + +/*------------------------------------------------------------------------*/ + +CMapResource::CMapResource(BoltFilesState &state, const byte *src) { + _start = READ_LE_UINT16(src + 2); + _end = READ_LE_UINT16(src + 4); + + int count = _end - _start; + _palette = new byte[count * 3]; + Common::copy(src + 6, src + 6 + 3 * count, _palette); +} + +CMapResource::~CMapResource() { + delete[] _palette; +} + +/*------------------------------------------------------------------------*/ + +VInitCyclResource::VInitCyclResource(BoltFilesState &state, const byte *src) { + for (int i = 0; i < 4; ++i) { + state._curLibPtr->resolveIt(READ_LE_UINT32(src + 8 + i * 4), &_ptr[i]); + } +} + } // End of namespace Voyeur diff --git a/engines/voyeur/files.h b/engines/voyeur/files.h index 47ef5a1f46..eb0c313c3b 100644 --- a/engines/voyeur/files.h +++ b/engines/voyeur/files.h @@ -37,6 +37,9 @@ class BoltEntry; class PictureResource; class ViewPortResource; class ViewPortListResource; +class FontResource; +class CMapResource; +class VInitCyclResource; #define DECOMPRESS_SIZE 0x7000 @@ -163,6 +166,9 @@ public: PictureResource *_picResource; ViewPortResource *_viewPortResource; ViewPortListResource *_viewPortListResource; + FontResource *_fontResource; + CMapResource *_cMapResource; + VInitCyclResource *_vInitCyclResource; public: BoltEntry(Common::SeekableReadStream *f); virtual ~BoltEntry(); @@ -231,6 +237,32 @@ public: virtual ~ViewPortListResource() {} }; +class FontResource { +public: + byte *_fieldC; + + FontResource(BoltFilesState &state, const byte *src); + virtual ~FontResource() {} +}; + +class CMapResource { +public: + int _start; + int _end; + byte *_palette; +public: + CMapResource(BoltFilesState &state, const byte *src); + virtual ~CMapResource(); +}; + +class VInitCyclResource { +public: + byte *_ptr[4]; +public: + VInitCyclResource(BoltFilesState &state, const byte *src); + virtual ~VInitCyclResource() {} +}; + } // End of namespace Voyeur #endif /* VOYEUR_FILES_H */ -- cgit v1.2.3 From d770907c33c8991fa683500686ff3af3a09639fc Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Tue, 28 May 2013 22:39:32 -0400 Subject: VOYEUR: Starting on viewport activation, and extra bolt entry guards --- engines/voyeur/files.cpp | 80 +++++++++++++++++++++++++++++++++++++++++---- engines/voyeur/files.h | 26 ++++++++++++++- engines/voyeur/graphics.cpp | 22 ------------- engines/voyeur/graphics.h | 10 ++---- engines/voyeur/voyeur.cpp | 3 +- 5 files changed, 102 insertions(+), 39 deletions(-) diff --git a/engines/voyeur/files.cpp b/engines/voyeur/files.cpp index 74c2f17103..70a6a6ef08 100644 --- a/engines/voyeur/files.cpp +++ b/engines/voyeur/files.cpp @@ -251,12 +251,27 @@ bool BoltFile::getBoltGroup(uint32 id) { return true; } +BoltEntry &BoltFile::getBoltEntry(uint32 id) { + BoltGroup &group = _groups[id >> 8]; + assert(!group._loaded); + + BoltEntry &entry = group._entries[id & 0xff]; + assert(!entry.hasResource() || (id & 0xffff) == 0); + + return entry; +} + byte *BoltFile::memberAddr(uint32 id) { BoltGroup &group = _groups[id >> 8]; if (!group._loaded) return NULL; - return group._entries[id & 0xff]._data; + // If an entry already has a processed representation, we shouldn't + // still be accessing the raw data + BoltEntry &entry = group._entries[id & 0xff]; + assert(!entry.hasResource()); + + return entry._data; } byte *BoltFile::memberAddrOffset(uint32 id) { @@ -264,7 +279,12 @@ byte *BoltFile::memberAddrOffset(uint32 id) { if (!group._loaded) return NULL; - return group._entries[(id >> 16) & 0xff]._data + (id & 0xffff); + // If an entry already has a processed representation, we shouldn't + // still be accessing the raw data + BoltEntry &entry = group._entries[(id >> 16) & 0xff]; + assert(!entry.hasResource()); + + return entry._data + (id & 0xffff); } /** @@ -459,6 +479,14 @@ void BoltEntry::load() { // Ideally, a lot of the code should be moved here } +/** + * Returns true if the given bolt entry has an attached resource + */ +bool BoltEntry::hasResource() const { + return _picResource || _viewPortResource || _viewPortListResource + || _fontResource || _cMapResource || _vInitCyclResource; +} + /*------------------------------------------------------------------------*/ PictureResource::PictureResource(BoltFilesState &state, const byte *src) { @@ -551,8 +579,15 @@ PictureResource::~PictureResource() { /*------------------------------------------------------------------------*/ -ViewPortResource::ViewPortResource(BoltFilesState &state, const byte *src) { +ViewPortResource::ViewPortResource(BoltFilesState &state, const byte *src): + _state(state) { state._curLibPtr->resolveIt(READ_LE_UINT32(src + 2), &_field2); + _fieldC = READ_LE_UINT16(src + 0xC); + _fieldE = READ_LE_UINT16(src + 0xE); + _field10 = READ_LE_UINT16(src + 0x10); + _field12 = READ_LE_UINT16(src + 0x12); + _field18 = READ_LE_UINT16(src + 0x18); + state._curLibPtr->resolveIt(READ_LE_UINT32(src + 0x20), &_field20); state._curLibPtr->resolveIt(READ_LE_UINT32(src + 0x24), &_field24); state._curLibPtr->resolveIt(READ_LE_UINT32(src + 0x28), &_field28); @@ -561,6 +596,12 @@ ViewPortResource::ViewPortResource(BoltFilesState &state, const byte *src) { state._curLibPtr->resolveIt(READ_LE_UINT32(src + 0x34), &_field34); state._curLibPtr->resolveIt(READ_LE_UINT32(src + 0x38), &_field38); state._curLibPtr->resolveIt(READ_LE_UINT32(src + 0x3C), &_field3C); + + _field46 = READ_LE_UINT16(src + 0x46); + _field48 = READ_LE_UINT16(src + 0x48); + _field4A = READ_LE_UINT16(src + 0x4A); + _field4C = READ_LE_UINT16(src + 0x4C); + state._curLibPtr->resolveIt(READ_LE_UINT32(src + 0x7A), &_field7A); state._curLibPtr->resolveFunction(READ_LE_UINT32(src + 0x7E), &_fn1); @@ -572,6 +613,30 @@ ViewPortResource::ViewPortResource(BoltFilesState &state, const byte *src) { _fn3 = &BoltFile::addRectNoSaveBack; } +void ViewPortResource::setupViewPort(int v, ViewPortMethodPtr setupFn, + ViewPortMethodPtr addRectFn, ViewPortMethodPtr restoreFn, byte *page) { + byte *fld20 = _field20; + // TODO: More stuff +} + +void ViewPortResource::setupMCGASaveRect() { + +} + +void ViewPortResource::restoreMCGASaveRect() { + +} + +void ViewPortResource::addRectOptSaveRect() { + +} + +void ViewPortResource::setupViewPort() { + setupViewPort(0, &ViewPortResource::setupMCGASaveRect, + &ViewPortResource::addRectOptSaveRect, &ViewPortResource::restoreMCGASaveRect, + _state._vm->_graphicsManager._backgroundPage); +} + /*------------------------------------------------------------------------*/ ViewPortListResource::ViewPortListResource(BoltFilesState &state, const byte *src) { @@ -581,12 +646,13 @@ ViewPortListResource::ViewPortListResource(BoltFilesState &state, const byte *sr for (uint i = 0; i < count; ++i, ++idP) { uint32 id = READ_LE_UINT32(idP); - _entries.push_back(NULL); - state._curLibPtr->resolveIt(id, &_entries[_entries.size() - 1]); + BoltEntry &entry = state._curLibPtr->getBoltEntry(id); + + assert(entry._viewPortResource); + _entries.push_back(entry._viewPortResource); } - state._vm->_graphicsManager._vPort = &_entries[0]; - state._curLibPtr->resolveIt(READ_LE_UINT32(&src[4]), &_field4); + state._vm->_graphicsManager._vPort = _entries[0]; } /*------------------------------------------------------------------------*/ diff --git a/engines/voyeur/files.h b/engines/voyeur/files.h index eb0c313c3b..1bc9a9d8a3 100644 --- a/engines/voyeur/files.h +++ b/engines/voyeur/files.h @@ -126,6 +126,7 @@ public: ~BoltFile(); bool getBoltGroup(uint32 id); + BoltEntry &getBoltEntry(uint32 id); byte *memberAddr(uint32 id); byte *memberAddrOffset(uint32 id); void resolveIt(uint32 id, byte **p); @@ -174,6 +175,7 @@ public: virtual ~BoltEntry(); void load(); + bool hasResource() const; }; class FilesManager { @@ -207,9 +209,25 @@ public: virtual ~PictureResource(); }; +typedef void (ViewPortResource::*ViewPortMethodPtr)(); + class ViewPortResource { +private: + BoltFilesState &_state; + + void setupMCGASaveRect(); + void restoreMCGASaveRect(); + void addRectOptSaveRect(); +private: + void setupViewPort(int v, ViewPortMethodPtr setupFn, ViewPortMethodPtr addRectFn, + ViewPortMethodPtr restoreFn, byte *page); public: byte *_field2; + int _fieldC; + int _fieldE; + int _field10; + int _field12; + int _field18; byte *_field20; byte *_field24; byte *_field28; @@ -218,6 +236,10 @@ public: byte *_field34; byte *_field38; byte *_field3C; + int _field46; + int _field48; + int _field4A; + int _field4C; byte *_field7A; BoltMethodPtr _fn1; BoltMethodPtr _fn2; @@ -226,12 +248,14 @@ public: public: ViewPortResource(BoltFilesState &state, const byte *src); virtual ~ViewPortResource() {} + + void setupViewPort(); }; class ViewPortListResource { public: byte *_field4; - Common::Array _entries; + Common::Array _entries; ViewPortListResource(BoltFilesState &state, const byte *src); virtual ~ViewPortListResource() {} diff --git a/engines/voyeur/graphics.cpp b/engines/voyeur/graphics.cpp index be8e5316fe..2686049fa6 100644 --- a/engines/voyeur/graphics.cpp +++ b/engines/voyeur/graphics.cpp @@ -66,26 +66,4 @@ void GraphicsManager::vDoCycleInt() { } -void GraphicsManager::setupViewPort() { - setupViewPort(&GraphicsManager::setupMCGASaveRect, &GraphicsManager::addRectOptSaveRect, - &GraphicsManager::restoreMCGASaveRect); -} - -void GraphicsManager::setupViewPort(GraphicMethodPtr setupFn, - GraphicMethodPtr addRectFn, GraphicMethodPtr restoreFn) { - -} - -void GraphicsManager::setupMCGASaveRect() { - -} - -void GraphicsManager::restoreMCGASaveRect() { - -} - -void GraphicsManager::addRectOptSaveRect() { - -} - } // End of namespace Voyeur diff --git a/engines/voyeur/graphics.h b/engines/voyeur/graphics.h index 152ce00d9e..ae23d28ebe 100644 --- a/engines/voyeur/graphics.h +++ b/engines/voyeur/graphics.h @@ -23,6 +23,7 @@ #ifndef VOYEUR_GRAPHICS_H #define VOYEUR_GRAPHICS_H +#include "voyeur/files.h" #include "voyeur/game.h" #include "common/scummsys.h" #include "common/array.h" @@ -49,19 +50,13 @@ public: byte *_backgroundPage; int _SVGAPage; int _SVGAMode; - byte **_vPort; + ViewPortResource *_vPort; private: static void fadeIntFunc(); static void vDoFadeInt(); static void vDoCycleInt(); - void setupMCGASaveRect(); - void restoreMCGASaveRect(); - void addRectOptSaveRect(); - void addIntNode(IntNode *node); - void setupViewPort(GraphicMethodPtr setupFn, GraphicMethodPtr addRectFn, - GraphicMethodPtr restoreFn); public: GraphicsManager(); void setVm(VoyeurEngine *vm) { _vm = vm; } @@ -69,7 +64,6 @@ public: void vInitColor(); void addFadeInt(); - void setupViewPort(); }; } // End of namespace Voyeur diff --git a/engines/voyeur/voyeur.cpp b/engines/voyeur/voyeur.cpp index 457d8639b3..2a4a1cdf6c 100644 --- a/engines/voyeur/voyeur.cpp +++ b/engines/voyeur/voyeur.cpp @@ -143,7 +143,8 @@ void VoyeurEngine::doHeadTitle() { _eventsManager.startMainClockInt(); if (_bVoy->getBoltGroup(0x10500)) { _graphicsManager._backgroundPage = _bVoy->memberAddr(0x502); -// _graphicsManager._vPort.setupViewPort(); + _graphicsManager._vPort->setupViewPort(); + } } -- cgit v1.2.3 From 452fdc64af09d2f4dc95212581d3ee4d571ca04b Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Tue, 28 May 2013 23:57:16 -0400 Subject: VOYEUR: Fixes to pointer fields in viewport setup --- engines/voyeur/files.cpp | 29 +++++++++++++++++++---------- engines/voyeur/files.h | 14 ++++++++------ engines/voyeur/graphics.h | 2 +- engines/voyeur/voyeur.cpp | 2 +- 4 files changed, 29 insertions(+), 18 deletions(-) diff --git a/engines/voyeur/files.cpp b/engines/voyeur/files.cpp index 70a6a6ef08..51a414f8f0 100644 --- a/engines/voyeur/files.cpp +++ b/engines/voyeur/files.cpp @@ -252,15 +252,22 @@ bool BoltFile::getBoltGroup(uint32 id) { } BoltEntry &BoltFile::getBoltEntry(uint32 id) { - BoltGroup &group = _groups[id >> 8]; - assert(!group._loaded); + BoltGroup &group = _groups[id >> 24]; + assert(group._loaded); - BoltEntry &entry = group._entries[id & 0xff]; + BoltEntry &entry = group._entries[(id >> 16) & 0xff]; assert(!entry.hasResource() || (id & 0xffff) == 0); return entry; } +PictureResource *BoltFile::getPictureResouce(uint32 id) { + if ((int32)id == -1) + return NULL; + + return getBoltEntry(id)._picResource; +} + byte *BoltFile::memberAddr(uint32 id) { BoltGroup &group = _groups[id >> 8]; if (!group._loaded) @@ -275,7 +282,7 @@ byte *BoltFile::memberAddr(uint32 id) { } byte *BoltFile::memberAddrOffset(uint32 id) { - BoltGroup &group = _groups[(id >> 24) << 4]; + BoltGroup &group = _groups[id >> 24]; if (!group._loaded) return NULL; @@ -581,17 +588,18 @@ PictureResource::~PictureResource() { ViewPortResource::ViewPortResource(BoltFilesState &state, const byte *src): _state(state) { - state._curLibPtr->resolveIt(READ_LE_UINT32(src + 2), &_field2); + _next = state._curLibPtr->getBoltEntry(READ_LE_UINT32(src + 2))._viewPortResource; _fieldC = READ_LE_UINT16(src + 0xC); _fieldE = READ_LE_UINT16(src + 0xE); _field10 = READ_LE_UINT16(src + 0x10); _field12 = READ_LE_UINT16(src + 0x12); _field18 = READ_LE_UINT16(src + 0x18); - state._curLibPtr->resolveIt(READ_LE_UINT32(src + 0x20), &_field20); + _picResource = state._curLibPtr->getPictureResouce(READ_LE_UINT32(src + 0x20)); state._curLibPtr->resolveIt(READ_LE_UINT32(src + 0x24), &_field24); - state._curLibPtr->resolveIt(READ_LE_UINT32(src + 0x28), &_field28); - state._curLibPtr->resolveIt(READ_LE_UINT32(src + 0x2c), &_field2C); + _picResource2 = state._curLibPtr->getPictureResouce(READ_LE_UINT32(src + 0x28)); + _picResource3 = state._curLibPtr->getPictureResouce(READ_LE_UINT32(src + 0x2C)); + state._curLibPtr->resolveIt(READ_LE_UINT32(src + 0x30), &_field30); state._curLibPtr->resolveIt(READ_LE_UINT32(src + 0x34), &_field34); state._curLibPtr->resolveIt(READ_LE_UINT32(src + 0x38), &_field38); @@ -614,8 +622,9 @@ ViewPortResource::ViewPortResource(BoltFilesState &state, const byte *src): } void ViewPortResource::setupViewPort(int v, ViewPortMethodPtr setupFn, - ViewPortMethodPtr addRectFn, ViewPortMethodPtr restoreFn, byte *page) { - byte *fld20 = _field20; + ViewPortMethodPtr addRectFn, ViewPortMethodPtr restoreFn, + PictureResource *page) { + PictureResource *pic = _picResource; // TODO: More stuff } diff --git a/engines/voyeur/files.h b/engines/voyeur/files.h index 1bc9a9d8a3..9d66cbab60 100644 --- a/engines/voyeur/files.h +++ b/engines/voyeur/files.h @@ -126,13 +126,15 @@ public: ~BoltFile(); bool getBoltGroup(uint32 id); - BoltEntry &getBoltEntry(uint32 id); byte *memberAddr(uint32 id); byte *memberAddrOffset(uint32 id); void resolveIt(uint32 id, byte **p); void resolveFunction(uint32 id, BoltMethodPtr *fn); void addRectNoSaveBack() {} // TODO + + BoltEntry &getBoltEntry(uint32 id); + PictureResource *getPictureResouce(uint32 id); }; class BoltGroup { @@ -220,18 +222,18 @@ private: void addRectOptSaveRect(); private: void setupViewPort(int v, ViewPortMethodPtr setupFn, ViewPortMethodPtr addRectFn, - ViewPortMethodPtr restoreFn, byte *page); + ViewPortMethodPtr restoreFn, PictureResource *page); public: - byte *_field2; + ViewPortResource *_next; int _fieldC; int _fieldE; int _field10; int _field12; int _field18; - byte *_field20; + PictureResource *_picResource; byte *_field24; - byte *_field28; - byte *_field2C; + PictureResource *_picResource2; + PictureResource *_picResource3; byte *_field30; byte *_field34; byte *_field38; diff --git a/engines/voyeur/graphics.h b/engines/voyeur/graphics.h index ae23d28ebe..6598cb0ba0 100644 --- a/engines/voyeur/graphics.h +++ b/engines/voyeur/graphics.h @@ -47,7 +47,7 @@ public: bool _palFlag; byte _VGAColors[PALETTE_SIZE]; Common::Array _colorChain; - byte *_backgroundPage; + PictureResource *_backgroundPage; int _SVGAPage; int _SVGAMode; ViewPortResource *_vPort; diff --git a/engines/voyeur/voyeur.cpp b/engines/voyeur/voyeur.cpp index 2a4a1cdf6c..dc25ec4745 100644 --- a/engines/voyeur/voyeur.cpp +++ b/engines/voyeur/voyeur.cpp @@ -142,7 +142,7 @@ void VoyeurEngine::doHeadTitle() { _eventsManager.startMainClockInt(); if (_bVoy->getBoltGroup(0x10500)) { - _graphicsManager._backgroundPage = _bVoy->memberAddr(0x502); + _graphicsManager._backgroundPage = _bVoy->getBoltEntry(0x5020000)._picResource; _graphicsManager._vPort->setupViewPort(); } -- cgit v1.2.3 From 04794adf5cd9ac330aa82e6af6abe1390fca6cb7 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Wed, 29 May 2013 23:21:07 -0400 Subject: VOYEUR: Completed setupViewPort --- engines/voyeur/files.cpp | 128 ++++++++++++++++++++++++++++++-------------- engines/voyeur/files.h | 38 +++++-------- engines/voyeur/graphics.cpp | 16 ++++++ engines/voyeur/graphics.h | 12 ++++- 4 files changed, 128 insertions(+), 66 deletions(-) diff --git a/engines/voyeur/files.cpp b/engines/voyeur/files.cpp index 51a414f8f0..966e71bdb0 100644 --- a/engines/voyeur/files.cpp +++ b/engines/voyeur/files.cpp @@ -312,7 +312,7 @@ void BoltFile::resolveIt(uint32 id, byte **p) { } } -void BoltFile::resolveFunction(uint32 id, BoltMethodPtr *fn) { +void BoltFile::resolveFunction(uint32 id, GraphicMethodPtr *fn) { if ((int32)id == -1) { *fn = NULL; } else { @@ -502,36 +502,38 @@ PictureResource::PictureResource(BoltFilesState &state, const byte *src) { _pick = src[3]; _onOff = src[4]; _depth = src[5]; - _offset = Common::Point(READ_LE_UINT16(&src[6]), READ_LE_UINT16(&src[8])); - _width = READ_LE_UINT16(&src[10]); - _height = READ_LE_UINT16(&src[12]); + + int xs = READ_LE_UINT16(&src[6]); + int ys = READ_LE_UINT16(&src[8]); + _bounds = Common::Rect(xs, ys, xs + READ_LE_UINT16(&src[10]), + ys + READ_LE_UINT16(&src[12])); _maskData = READ_LE_UINT32(&src[14]); _imgData = NULL; - int nbytes = _width * _height; + int nbytes = _bounds.width() * _bounds.height(); if (_flags & 0x20) { - warning("TODO: sInitPic flags&0x20"); + error("TODO: sInitPic flags&0x20"); } else if (_flags & 8) { int mode = 0; - if (_width == 320) { + if (_bounds.width() == 320) { mode = 147; state._sImageShift = 2; state._SVGAReset = false; } else { state._SVGAReset = true; - if (_width == 640) { - if (_height == 400) { + if (_bounds.width() == 640) { + if (_bounds.height() == 400) { mode = 220; state._sImageShift = 3; } else { mode = 221; state._sImageShift = 3; } - } else if (_width == 800) { + } else if (_bounds.width() == 800) { mode = 222; state._sImageShift = 3; - } else if (_width == 1024) { + } else if (_bounds.width() == 1024) { mode = 226; state._sImageShift = 3; } @@ -542,6 +544,7 @@ PictureResource::PictureResource(BoltFilesState &state, const byte *src) { // TODO: If necessary, simulate SVGA mode change } + error("TODO: Implement extra picture resource modes"); // byte *imgData = _imgData; if (_flags & 0x10) { // TODO: Figure out what it's doing. Looks like a direct clearing @@ -589,14 +592,15 @@ PictureResource::~PictureResource() { ViewPortResource::ViewPortResource(BoltFilesState &state, const byte *src): _state(state) { _next = state._curLibPtr->getBoltEntry(READ_LE_UINT32(src + 2))._viewPortResource; - _fieldC = READ_LE_UINT16(src + 0xC); - _fieldE = READ_LE_UINT16(src + 0xE); - _field10 = READ_LE_UINT16(src + 0x10); - _field12 = READ_LE_UINT16(src + 0x12); + + int xs = READ_LE_UINT16(src + 0xC); + int ys = READ_LE_UINT16(src + 0xE); + _bounds = Common::Rect(xs, ys, xs + READ_LE_UINT16(src + 0x10), + ys + READ_LE_UINT16(src + 0x12)); _field18 = READ_LE_UINT16(src + 0x18); _picResource = state._curLibPtr->getPictureResouce(READ_LE_UINT32(src + 0x20)); - state._curLibPtr->resolveIt(READ_LE_UINT32(src + 0x24), &_field24); + _activePage = state._curLibPtr->getPictureResouce(READ_LE_UINT32(src + 0x24)); _picResource2 = state._curLibPtr->getPictureResouce(READ_LE_UINT32(src + 0x28)); _picResource3 = state._curLibPtr->getPictureResouce(READ_LE_UINT32(src + 0x2C)); @@ -605,45 +609,89 @@ ViewPortResource::ViewPortResource(BoltFilesState &state, const byte *src): state._curLibPtr->resolveIt(READ_LE_UINT32(src + 0x38), &_field38); state._curLibPtr->resolveIt(READ_LE_UINT32(src + 0x3C), &_field3C); - _field46 = READ_LE_UINT16(src + 0x46); - _field48 = READ_LE_UINT16(src + 0x48); - _field4A = READ_LE_UINT16(src + 0x4A); - _field4C = READ_LE_UINT16(src + 0x4C); + xs = READ_LE_UINT16(src + 0x46); + ys = READ_LE_UINT16(src + 0x48); + _clipRect = Common::Rect(xs, ys, xs + READ_LE_UINT16(src + 0x4A), + ys + READ_LE_UINT16(src + 0x4C)); state._curLibPtr->resolveIt(READ_LE_UINT32(src + 0x7A), &_field7A); - state._curLibPtr->resolveFunction(READ_LE_UINT32(src + 0x7E), &_fn1); - state._curLibPtr->resolveFunction(READ_LE_UINT32(src + 0x82), &_fn2); - state._curLibPtr->resolveFunction(READ_LE_UINT32(src + 0x86), &_fn3); - state._curLibPtr->resolveFunction(READ_LE_UINT32(src + 0x8A), &_fn4); + state._curLibPtr->resolveFunction(READ_LE_UINT32(src + 0x7E), (GraphicMethodPtr *)&_fn1); + state._curLibPtr->resolveFunction(READ_LE_UINT32(src + 0x82), (GraphicMethodPtr *)&_setupFn); + state._curLibPtr->resolveFunction(READ_LE_UINT32(src + 0x86), (GraphicMethodPtr *)&_addFn); + state._curLibPtr->resolveFunction(READ_LE_UINT32(src + 0x8A), (GraphicMethodPtr *)&_restoreFn); - if (!_fn4 && _fn3) - _fn3 = &BoltFile::addRectNoSaveBack; + if (!_restoreFn && _addFn) + _addFn = &GraphicsManager::addRectNoSaveBack; } -void ViewPortResource::setupViewPort(int v, ViewPortMethodPtr setupFn, - ViewPortMethodPtr addRectFn, ViewPortMethodPtr restoreFn, - PictureResource *page) { +void ViewPortResource::setupViewPort(PictureResource *page, Common::Rect *clipRect, + ViewPortSetupPtr setupFn, ViewPortAddPtr addFn, ViewPortRestorePtr restoreFn) { PictureResource *pic = _picResource; - // TODO: More stuff -} + Common::Rect r(_bounds.left + pic->_bounds.left, _bounds.top + pic->_bounds.top, + _bounds.right, _bounds.bottom); + int xDiff, yDiff; + + if (page) { + // Clip based on the passed picture resource + xDiff = page->_bounds.left - r.left; + yDiff = page->_bounds.top - r.top; + + if (xDiff > 0) { + r.left = page->_bounds.left; + r.setWidth(xDiff <= r.width() ? r.width() - xDiff : 0); + } + if (yDiff > 0) { + r.top = page->_bounds.top; + r.setHeight(yDiff <= r.height() ? r.height() - yDiff : 0); + } -void ViewPortResource::setupMCGASaveRect() { - -} + xDiff = page->_bounds.left + page->_bounds.width(); + yDiff = page->_bounds.top + page->_bounds.height(); -void ViewPortResource::restoreMCGASaveRect() { + if (xDiff > 0) + r.setWidth(xDiff <= r.width() ? r.width() - xDiff : 0); + if (yDiff > 0) + r.setHeight(yDiff <= r.height() ? r.height() - yDiff : 0); + } -} + if (clipRect) { + // Clip based on the passed clip rectangles + xDiff = clipRect->left - r.left; + yDiff = clipRect->top - r.top; + + if (xDiff > 0) { + r.left = clipRect->left; + r.setWidth(xDiff <= r.width() ? r.width() - xDiff : 0); + } + if (yDiff > 0) { + r.top = clipRect->top; + r.setHeight(yDiff <= r.height() ? r.height() - yDiff : 0); + } + //dx=clipRec->left, cx=clipRect.y + xDiff = r.right - clipRect->right; + yDiff = r.right - clipRect->right; + + if (xDiff > 0) + r.setWidth(xDiff <= r.width() ? r.width() - xDiff : 0); + if (yDiff > 0) + r.setHeight(yDiff <= r.height() ? r.height() - yDiff : 0); + } -void ViewPortResource::addRectOptSaveRect() { + _activePage = page; + _field18 = 0; + _setupFn = setupFn; + _addFn = addFn; + _restoreFn = restoreFn; + if (setupFn) + (_state._vm->_graphicsManager.*setupFn)(this); } void ViewPortResource::setupViewPort() { - setupViewPort(0, &ViewPortResource::setupMCGASaveRect, - &ViewPortResource::addRectOptSaveRect, &ViewPortResource::restoreMCGASaveRect, - _state._vm->_graphicsManager._backgroundPage); + setupViewPort(_state._vm->_graphicsManager._backgroundPage, NULL, + &GraphicsManager::setupMCGASaveRect, &GraphicsManager::addRectOptSaveRect, + &GraphicsManager::restoreMCGASaveRect); } /*------------------------------------------------------------------------*/ diff --git a/engines/voyeur/files.h b/engines/voyeur/files.h index 9d66cbab60..91f47e21dd 100644 --- a/engines/voyeur/files.h +++ b/engines/voyeur/files.h @@ -27,6 +27,7 @@ #include "common/file.h" #include "common/rect.h" #include "common/str.h" +#include "voyeur/graphics.h" namespace Voyeur { @@ -129,9 +130,7 @@ public: byte *memberAddr(uint32 id); byte *memberAddrOffset(uint32 id); void resolveIt(uint32 id, byte **p); - void resolveFunction(uint32 id, BoltMethodPtr *fn); - - void addRectNoSaveBack() {} // TODO + void resolveFunction(uint32 id, GraphicMethodPtr *fn); BoltEntry &getBoltEntry(uint32 id); PictureResource *getPictureResouce(uint32 id); @@ -194,14 +193,13 @@ public: }; class PictureResource { +public: uint16 _flags; byte _select; byte _pick; byte _onOff; byte _depth; - Common::Point _offset; - int _width; - int _height; + Common::Rect _bounds; uint32 _maskData; uint _planeSize; @@ -216,37 +214,27 @@ typedef void (ViewPortResource::*ViewPortMethodPtr)(); class ViewPortResource { private: BoltFilesState &_state; - - void setupMCGASaveRect(); - void restoreMCGASaveRect(); - void addRectOptSaveRect(); private: - void setupViewPort(int v, ViewPortMethodPtr setupFn, ViewPortMethodPtr addRectFn, - ViewPortMethodPtr restoreFn, PictureResource *page); + void setupViewPort(PictureResource *page, Common::Rect *clipRect, ViewPortSetupPtr setupFn, + ViewPortAddPtr addFn, ViewPortRestorePtr restoreFn); public: ViewPortResource *_next; - int _fieldC; - int _fieldE; - int _field10; - int _field12; + Common::Rect _bounds; int _field18; PictureResource *_picResource; - byte *_field24; + PictureResource *_activePage; PictureResource *_picResource2; PictureResource *_picResource3; byte *_field30; byte *_field34; byte *_field38; byte *_field3C; - int _field46; - int _field48; - int _field4A; - int _field4C; + Common::Rect _clipRect; byte *_field7A; - BoltMethodPtr _fn1; - BoltMethodPtr _fn2; - BoltMethodPtr _fn3; - BoltMethodPtr _fn4; + GraphicMethodPtr _fn1; + ViewPortSetupPtr _setupFn; + ViewPortAddPtr _addFn; + ViewPortRestorePtr _restoreFn; public: ViewPortResource(BoltFilesState &state, const byte *src); virtual ~ViewPortResource() {} diff --git a/engines/voyeur/graphics.cpp b/engines/voyeur/graphics.cpp index 2686049fa6..e7bff00d31 100644 --- a/engines/voyeur/graphics.cpp +++ b/engines/voyeur/graphics.cpp @@ -66,4 +66,20 @@ void GraphicsManager::vDoCycleInt() { } +void GraphicsManager::setupMCGASaveRect(ViewPortResource *viewPort) { + +} + +void GraphicsManager::addRectOptSaveRect(ViewPortResource *viewPort, void *v2, void *v3) { + +} + +void GraphicsManager::restoreMCGASaveRect(ViewPortResource *viewPort) { + +} + +void GraphicsManager::addRectNoSaveBack(ViewPortResource *viewPort, void *v2, void *v3) { + +} + } // End of namespace Voyeur diff --git a/engines/voyeur/graphics.h b/engines/voyeur/graphics.h index 6598cb0ba0..43f2563f0d 100644 --- a/engines/voyeur/graphics.h +++ b/engines/voyeur/graphics.h @@ -23,7 +23,7 @@ #ifndef VOYEUR_GRAPHICS_H #define VOYEUR_GRAPHICS_H -#include "voyeur/files.h" +//#include "voyeur/files.h" #include "voyeur/game.h" #include "common/scummsys.h" #include "common/array.h" @@ -38,8 +38,13 @@ namespace Voyeur { class VoyeurEngine; class GraphicsManager; +class PictureResource; +class ViewPortResource; typedef void (GraphicsManager::*GraphicMethodPtr)(); +typedef void (GraphicsManager::*ViewPortSetupPtr)(ViewPortResource *); +typedef void (GraphicsManager::*ViewPortAddPtr)(ViewPortResource *, void *v2, void *v3); +typedef void (GraphicsManager::*ViewPortRestorePtr)(ViewPortResource *); class GraphicsManager { public: @@ -64,6 +69,11 @@ public: void vInitColor(); void addFadeInt(); + + void setupMCGASaveRect(ViewPortResource *viewPort); + void addRectOptSaveRect(ViewPortResource *viewPort, void *v2, void *v3); + void restoreMCGASaveRect(ViewPortResource *viewPort); + void addRectNoSaveBack(ViewPortResource *viewPort, void *v2, void *v3); }; } // End of namespace Voyeur -- cgit v1.2.3 From 8e1325e5384171b23f0951e7874487ff94389be5 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Thu, 30 May 2013 08:31:06 -0400 Subject: VOYEUR: Implemented the setupMCGASaveRect method --- engines/voyeur/files.cpp | 26 ++++++++++++++++---------- engines/voyeur/files.h | 2 ++ engines/voyeur/graphics.cpp | 20 +++++++++++++++++++- engines/voyeur/graphics.h | 4 ++++ 4 files changed, 41 insertions(+), 11 deletions(-) diff --git a/engines/voyeur/files.cpp b/engines/voyeur/files.cpp index 966e71bdb0..ee23855cbf 100644 --- a/engines/voyeur/files.cpp +++ b/engines/voyeur/files.cpp @@ -542,9 +542,9 @@ PictureResource::PictureResource(BoltFilesState &state, const byte *src) { if (mode != state._vm->_graphicsManager._SVGAMode) { state._vm->_graphicsManager._SVGAMode = mode; // TODO: If necessary, simulate SVGA mode change + warning("TODO: May need to implement SVGA stub code"); } - error("TODO: Implement extra picture resource modes"); // byte *imgData = _imgData; if (_flags & 0x10) { // TODO: Figure out what it's doing. Looks like a direct clearing @@ -591,6 +591,7 @@ PictureResource::~PictureResource() { ViewPortResource::ViewPortResource(BoltFilesState &state, const byte *src): _state(state) { + _flags = READ_LE_UINT16(src); _next = state._curLibPtr->getBoltEntry(READ_LE_UINT32(src + 2))._viewPortResource; int xs = READ_LE_UINT16(src + 0xC); @@ -609,6 +610,7 @@ ViewPortResource::ViewPortResource(BoltFilesState &state, const byte *src): state._curLibPtr->resolveIt(READ_LE_UINT32(src + 0x38), &_field38); state._curLibPtr->resolveIt(READ_LE_UINT32(src + 0x3C), &_field3C); + _field42 = (int16)READ_LE_UINT16(src + 0x42); xs = READ_LE_UINT16(src + 0x46); ys = READ_LE_UINT16(src + 0x48); _clipRect = Common::Rect(xs, ys, xs + READ_LE_UINT16(src + 0x4A), @@ -628,8 +630,8 @@ ViewPortResource::ViewPortResource(BoltFilesState &state, const byte *src): void ViewPortResource::setupViewPort(PictureResource *page, Common::Rect *clipRect, ViewPortSetupPtr setupFn, ViewPortAddPtr addFn, ViewPortRestorePtr restoreFn) { PictureResource *pic = _picResource; - Common::Rect r(_bounds.left + pic->_bounds.left, _bounds.top + pic->_bounds.top, - _bounds.right, _bounds.bottom); + Common::Rect r = _bounds; + r.translate(pic->_bounds.left, pic->_bounds.top); int xDiff, yDiff; if (page) { @@ -638,16 +640,18 @@ void ViewPortResource::setupViewPort(PictureResource *page, Common::Rect *clipRe yDiff = page->_bounds.top - r.top; if (xDiff > 0) { + int width = r.width(); r.left = page->_bounds.left; - r.setWidth(xDiff <= r.width() ? r.width() - xDiff : 0); + r.setWidth(xDiff <= width ? width - xDiff : 0); } if (yDiff > 0) { + int height = r.height(); r.top = page->_bounds.top; - r.setHeight(yDiff <= r.height() ? r.height() - yDiff : 0); + r.setHeight(yDiff <= height ? height - yDiff : 0); } - xDiff = page->_bounds.left + page->_bounds.width(); - yDiff = page->_bounds.top + page->_bounds.height(); + xDiff = r.right - page->_bounds.right; + yDiff = r.bottom - page->_bounds.bottom; if (xDiff > 0) r.setWidth(xDiff <= r.width() ? r.width() - xDiff : 0); @@ -661,14 +665,16 @@ void ViewPortResource::setupViewPort(PictureResource *page, Common::Rect *clipRe yDiff = clipRect->top - r.top; if (xDiff > 0) { + int width = r.width(); r.left = clipRect->left; - r.setWidth(xDiff <= r.width() ? r.width() - xDiff : 0); + r.setWidth(xDiff <= width ? width - xDiff : 0); } if (yDiff > 0) { + int height = r.height(); r.top = clipRect->top; - r.setHeight(yDiff <= r.height() ? r.height() - yDiff : 0); + r.setHeight(yDiff <= height ? height - yDiff : 0); } - //dx=clipRec->left, cx=clipRect.y + xDiff = r.right - clipRect->right; yDiff = r.right - clipRect->right; diff --git a/engines/voyeur/files.h b/engines/voyeur/files.h index 91f47e21dd..228b5093bb 100644 --- a/engines/voyeur/files.h +++ b/engines/voyeur/files.h @@ -218,6 +218,7 @@ private: void setupViewPort(PictureResource *page, Common::Rect *clipRect, ViewPortSetupPtr setupFn, ViewPortAddPtr addFn, ViewPortRestorePtr restoreFn); public: + int _flags; ViewPortResource *_next; Common::Rect _bounds; int _field18; @@ -229,6 +230,7 @@ public: byte *_field34; byte *_field38; byte *_field3C; + int16 _field42; Common::Rect _clipRect; byte *_field7A; GraphicMethodPtr _fn1; diff --git a/engines/voyeur/graphics.cpp b/engines/voyeur/graphics.cpp index e7bff00d31..33391703d3 100644 --- a/engines/voyeur/graphics.cpp +++ b/engines/voyeur/graphics.cpp @@ -29,9 +29,11 @@ namespace Voyeur { GraphicsManager::GraphicsManager() { - _palFlag = false; _SVGAPage = 0; _SVGAMode = 0; + _palFlag = false; + _MCGAMode = false; + _clipPtr = NULL; } void GraphicsManager::sInitGraphics() { @@ -67,7 +69,19 @@ void GraphicsManager::vDoCycleInt() { } void GraphicsManager::setupMCGASaveRect(ViewPortResource *viewPort) { + _MCGAMode = true; + + if (viewPort->_activePage) { + viewPort->_activePage->_flags |= 1; + Common::Rect *clipRect = _clipPtr; + _clipPtr = &viewPort->_clipRect; + + sDrawPic(viewPort->_activePage, viewPort->_picResource, viewPort, NULL); + _clipPtr = clipRect; + } + + viewPort->_field42 = -1; } void GraphicsManager::addRectOptSaveRect(ViewPortResource *viewPort, void *v2, void *v3) { @@ -82,4 +96,8 @@ void GraphicsManager::addRectNoSaveBack(ViewPortResource *viewPort, void *v2, vo } +void GraphicsManager::sDrawPic(PictureResource *pic, PictureResource *pic2, ViewPortResource *viewPort, void *v3) { + +} + } // End of namespace Voyeur diff --git a/engines/voyeur/graphics.h b/engines/voyeur/graphics.h index 43f2563f0d..ce89621e67 100644 --- a/engines/voyeur/graphics.h +++ b/engines/voyeur/graphics.h @@ -56,6 +56,8 @@ public: int _SVGAPage; int _SVGAMode; ViewPortResource *_vPort; + bool _MCGAMode; + Common::Rect *_clipPtr; private: static void fadeIntFunc(); static void vDoFadeInt(); @@ -74,6 +76,8 @@ public: void addRectOptSaveRect(ViewPortResource *viewPort, void *v2, void *v3); void restoreMCGASaveRect(ViewPortResource *viewPort); void addRectNoSaveBack(ViewPortResource *viewPort, void *v2, void *v3); + + void sDrawPic(PictureResource *pic, PictureResource *pic2, ViewPortResource *viewPort, void *v3); }; } // End of namespace Voyeur -- cgit v1.2.3 From 43d31cc33424c053e8f42c7fcb5f18b422ef1ef9 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Fri, 31 May 2013 18:40:04 -0400 Subject: VOYEUR: Implemented first execution path through sInitPic --- engines/voyeur/files.cpp | 4 +- engines/voyeur/files.h | 7 ++ engines/voyeur/graphics.cpp | 177 +++++++++++++++++++++++++++++++++++++++++++- engines/voyeur/graphics.h | 7 +- 4 files changed, 191 insertions(+), 4 deletions(-) diff --git a/engines/voyeur/files.cpp b/engines/voyeur/files.cpp index ee23855cbf..6f2ef5c288 100644 --- a/engines/voyeur/files.cpp +++ b/engines/voyeur/files.cpp @@ -510,6 +510,7 @@ PictureResource::PictureResource(BoltFilesState &state, const byte *src) { _maskData = READ_LE_UINT32(&src[14]); _imgData = NULL; + _secondPicture = NULL; int nbytes = _bounds.width() * _bounds.height(); if (_flags & 0x20) { @@ -683,9 +684,10 @@ void ViewPortResource::setupViewPort(PictureResource *page, Common::Rect *clipRe if (yDiff > 0) r.setHeight(yDiff <= r.height() ? r.height() - yDiff : 0); } - +// clip = (0x20, 0x14, width: 0x140, height: 0C8h _activePage = page; _field18 = 0; + _clipRect = r; _setupFn = setupFn; _addFn = addFn; _restoreFn = restoreFn; diff --git a/engines/voyeur/files.h b/engines/voyeur/files.h index 228b5093bb..57fbb0f880 100644 --- a/engines/voyeur/files.h +++ b/engines/voyeur/files.h @@ -204,6 +204,13 @@ public: uint _planeSize; byte *_imgData; + + // TODO: Investigate further just why/how pictuers are chained + PictureResource *_secondPicture; + // TODO: Figure out if the following data is part of all pictures, or if + // only for certain types (when flags & 0x8000 != 0) + Common::Rect _bounds2; + Field86MethodPtr _field86; public: PictureResource(BoltFilesState &state, const byte *src); virtual ~PictureResource(); diff --git a/engines/voyeur/graphics.cpp b/engines/voyeur/graphics.cpp index 33391703d3..006aca12b3 100644 --- a/engines/voyeur/graphics.cpp +++ b/engines/voyeur/graphics.cpp @@ -31,8 +31,11 @@ namespace Voyeur { GraphicsManager::GraphicsManager() { _SVGAPage = 0; _SVGAMode = 0; + _SVGAReset = 0; + _screenOffset = 0; _palFlag = false; _MCGAMode = false; + _saveBack = false; _clipPtr = NULL; } @@ -76,7 +79,7 @@ void GraphicsManager::setupMCGASaveRect(ViewPortResource *viewPort) { Common::Rect *clipRect = _clipPtr; _clipPtr = &viewPort->_clipRect; - sDrawPic(viewPort->_activePage, viewPort->_picResource, viewPort, NULL); + sDrawPic(viewPort->_activePage, viewPort->_picResource, Common::Point(), NULL); _clipPtr = clipRect; } @@ -96,8 +99,178 @@ void GraphicsManager::addRectNoSaveBack(ViewPortResource *viewPort, void *v2, vo } -void GraphicsManager::sDrawPic(PictureResource *pic, PictureResource *pic2, ViewPortResource *viewPort, void *v3) { +void GraphicsManager::sDrawPic(PictureResource *srcPic, PictureResource *destPic, + const Common::Point &offset, void *v3) { + int var4C = 0; + int width1, width2; + int widthDiff, widthDiff2; + int height1; + int srcOffset; + int screenOffset; + int flags1, flags2; + PictureResource *saveddestPic = NULL; + Common::Rect newBounds; + Common::Rect backBounds; + int var24; + bool isClipped = false; + int var52; + int var20, var22; + int var26; + byte *imgData1, *imgData2; + byte *srcP, *destP; + if (srcPic->_flags & 0x8000) { + srcPic = srcPic->_secondPicture; + warning("TODO: Particularly validate 'extended' pictures"); + } + if (destPic->_flags & 0x8000) { + saveddestPic = destPic; + destPic = destPic->_secondPicture; + warning("TODO: Particularly validate 'extended' pictures"); + } + + Common::Point ofs = Common::Point(offset.x + srcPic->_bounds.left - destPic->_bounds.left, + offset.y + srcPic->_bounds.top - destPic->_bounds.top); + width1 = width2 = srcPic->_bounds.width(); + height1 = srcPic->_bounds.height(); + srcOffset = 0; + flags1 = srcPic->_flags; + flags2 = destPic->_flags; + + if (flags1 & 1) { + if (_clipPtr) { + int xs = _clipPtr->left - srcPic->_bounds.left; + int ys = _clipPtr->top - srcPic->_bounds.top; + newBounds = Common::Rect(xs, ys, xs + _clipPtr->width(), ys + _clipPtr->height()); + } else if (saveddestPic) { + int xs = saveddestPic->_bounds2.left - destPic->_bounds.left; + int ys = saveddestPic->_bounds2.top - destPic->_bounds.top; + newBounds = Common::Rect(xs, ys, xs + destPic->_bounds2.width(), ys + destPic->_bounds2.height()); + } else { + newBounds = Common::Rect(0, 0, destPic->_bounds.width(), destPic->_bounds.height()); + } + + var24 = ofs.y - newBounds.top; + if (var24 < 0) { + var52 = width2; + srcOffset -= var24 * var52; + height1 += var24; + ofs.y = newBounds.top; + + if (height1 <= 0) + return; + + isClipped = true; + } + + var20 = newBounds.bottom - (ofs.y + height1); + if (var20 < 0) { + height1 += var20; + if (height1 <= 0) + return; + } + + var22 = ofs.x - newBounds.left; + if (var22 < 0) { + srcOffset -= var22; + width2 += var22; + ofs.x = newBounds.left; + + if (width2 <= 0) + return; + + isClipped = true; + } + + var26 = newBounds.right - (ofs.x + width2); + if (var26 < 0) { + width2 += var26; + if (width2 <= 0) + return; + + isClipped = true; + } + } + + screenOffset = ofs.y * destPic->_bounds.width() + ofs.x; + widthDiff = width1 - width2; + widthDiff2 = destPic->_bounds.width() - width2; + + if (saveddestPic) { + error("TODO: Examine further when it's actually used"); + if (!_saveBack || ((srcPic->_flags & 0x800) != 0)) { + // TODO + } else if (!saveddestPic->_field86) { + // TODO + } else { + int xs = ofs.x + destPic->_bounds.left; + int ys = ofs.y + destPic->_bounds.top; + backBounds = Common::Rect(xs, ys, xs + width2, ys + height1); + + (this->*saveddestPic->_field86)(saveddestPic, saveddestPic->_bounds.top, backBounds); + } + } + + if (flags1 & 0x1000) { + imgData1 = srcPic->_imgData + (var4C << 14) + _screenOffset; + for (uint idx = 0; idx < srcPic->_maskData; ++idx) { + if (var4C < 4) { + EMSMapPageHandle(srcPic->_planeSize, srcPic->_imgData[idx], var4C); + ++var4C; + } + } + } else { + imgData1 = srcPic->_imgData; + } + if (flags2 & 0x1000) { + imgData2 = destPic->_imgData + (var4C << 14) + _screenOffset; + for (uint idx = 0; idx < srcPic->_maskData; ++idx) { + if (var4C < 4) { + EMSMapPageHandle(destPic->_planeSize, destPic->_imgData[idx], var4C); + ++var4C; + } + } + } else { + imgData2 = destPic->_imgData; + } + + _SVGAPage = _SVGAReset; + if (srcPic->_select != 0xff) + return; + + if (srcPic->_pick == 0xff) { + if (flags1 & 8) { + error("TODO: sDrawPic"); + } else { + srcP = imgData1 + srcOffset; + + if (flags2 & 8) { + error("TODO: sDrawPic"); + } else { + destP = imgData2 + screenOffset; + + if (flags1 & 2) { + error("TODO: sDrawPic"); + } else { + if (flags1 & 0x100) { + error("TODO: sDrawPic"); + } else { + for (int yp = 0; yp < height1; ++yp) { + Common::copy(srcP, srcP + width2, destP); + destP += width2 + widthDiff2; + srcP += width2 + widthDiff; + } + } + } + } + } + } else { + error("TODO: sDrawPic"); + } +} + +void GraphicsManager::EMSMapPageHandle(int v1, int v2, int v3) { + // TODO } } // End of namespace Voyeur diff --git a/engines/voyeur/graphics.h b/engines/voyeur/graphics.h index ce89621e67..d17b18d3b0 100644 --- a/engines/voyeur/graphics.h +++ b/engines/voyeur/graphics.h @@ -45,6 +45,7 @@ typedef void (GraphicsManager::*GraphicMethodPtr)(); typedef void (GraphicsManager::*ViewPortSetupPtr)(ViewPortResource *); typedef void (GraphicsManager::*ViewPortAddPtr)(ViewPortResource *, void *v2, void *v3); typedef void (GraphicsManager::*ViewPortRestorePtr)(ViewPortResource *); +typedef void (GraphicsManager::*Field86MethodPtr)(void *pic, int y, Common::Rect &bounds); class GraphicsManager { public: @@ -55,9 +56,12 @@ public: PictureResource *_backgroundPage; int _SVGAPage; int _SVGAMode; + int _SVGAReset; ViewPortResource *_vPort; bool _MCGAMode; + bool _saveBack; Common::Rect *_clipPtr; + int _screenOffset; private: static void fadeIntFunc(); static void vDoFadeInt(); @@ -77,7 +81,8 @@ public: void restoreMCGASaveRect(ViewPortResource *viewPort); void addRectNoSaveBack(ViewPortResource *viewPort, void *v2, void *v3); - void sDrawPic(PictureResource *pic, PictureResource *pic2, ViewPortResource *viewPort, void *v3); + void EMSMapPageHandle(int v1, int v2, int v3); + void sDrawPic(PictureResource *srcPic, PictureResource *destPic, const Common::Point &offset, void *v3); }; } // End of namespace Voyeur -- cgit v1.2.3 From 4279eedceb261e3c179343b15d2e6841dc0bd43b Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Fri, 31 May 2013 21:03:16 -0400 Subject: VOYEUR: Cleanup of sDrawPic parameter usage and viewport initialisation --- engines/voyeur/files.cpp | 10 +++++---- engines/voyeur/files.h | 16 +++++--------- engines/voyeur/graphics.cpp | 54 ++++++++++++++++++++++++++++----------------- engines/voyeur/graphics.h | 15 ++++++++----- engines/voyeur/voyeur.cpp | 9 ++++++-- 5 files changed, 62 insertions(+), 42 deletions(-) diff --git a/engines/voyeur/files.cpp b/engines/voyeur/files.cpp index 6f2ef5c288..f72517a672 100644 --- a/engines/voyeur/files.cpp +++ b/engines/voyeur/files.cpp @@ -412,8 +412,13 @@ void BoltFile::initViewPort() { void BoltFile::initViewPortList() { initDefault(); - _state._curMemberPtr->_viewPortListResource = new ViewPortListResource( + + ViewPortListResource *res; + _state._curMemberPtr->_viewPortListResource = res = new ViewPortListResource( _state, _state._curMemberPtr->_data); + + _state._vm->_graphicsManager._viewPortListPtr = &res->_entries; + _state._vm->_graphicsManager._vPort = &res->_entries[0]; } void BoltFile::initFontInfo() { @@ -510,7 +515,6 @@ PictureResource::PictureResource(BoltFilesState &state, const byte *src) { _maskData = READ_LE_UINT32(&src[14]); _imgData = NULL; - _secondPicture = NULL; int nbytes = _bounds.width() * _bounds.height(); if (_flags & 0x20) { @@ -716,8 +720,6 @@ ViewPortListResource::ViewPortListResource(BoltFilesState &state, const byte *sr assert(entry._viewPortResource); _entries.push_back(entry._viewPortResource); } - - state._vm->_graphicsManager._vPort = _entries[0]; } /*------------------------------------------------------------------------*/ diff --git a/engines/voyeur/files.h b/engines/voyeur/files.h index 57fbb0f880..d75c88ae0b 100644 --- a/engines/voyeur/files.h +++ b/engines/voyeur/files.h @@ -192,9 +192,13 @@ public: bool openBoltLib(const Common::String &filename, BoltFile *&boltFile); }; -class PictureResource { +class DisplayResource { public: uint16 _flags; +}; + +class PictureResource: public DisplayResource { +public: byte _select; byte _pick; byte _onOff; @@ -204,13 +208,6 @@ public: uint _planeSize; byte *_imgData; - - // TODO: Investigate further just why/how pictuers are chained - PictureResource *_secondPicture; - // TODO: Figure out if the following data is part of all pictures, or if - // only for certain types (when flags & 0x8000 != 0) - Common::Rect _bounds2; - Field86MethodPtr _field86; public: PictureResource(BoltFilesState &state, const byte *src); virtual ~PictureResource(); @@ -218,14 +215,13 @@ public: typedef void (ViewPortResource::*ViewPortMethodPtr)(); -class ViewPortResource { +class ViewPortResource: public DisplayResource { private: BoltFilesState &_state; private: void setupViewPort(PictureResource *page, Common::Rect *clipRect, ViewPortSetupPtr setupFn, ViewPortAddPtr addFn, ViewPortRestorePtr restoreFn); public: - int _flags; ViewPortResource *_next; Common::Rect _bounds; int _field18; diff --git a/engines/voyeur/graphics.cpp b/engines/voyeur/graphics.cpp index 006aca12b3..0a208e4978 100644 --- a/engines/voyeur/graphics.cpp +++ b/engines/voyeur/graphics.cpp @@ -37,6 +37,8 @@ GraphicsManager::GraphicsManager() { _MCGAMode = false; _saveBack = false; _clipPtr = NULL; + _viewPortListPtr = NULL; + _vPort = NULL; } void GraphicsManager::sInitGraphics() { @@ -87,19 +89,19 @@ void GraphicsManager::setupMCGASaveRect(ViewPortResource *viewPort) { viewPort->_field42 = -1; } -void GraphicsManager::addRectOptSaveRect(ViewPortResource *viewPort, void *v2, void *v3) { - +void GraphicsManager::addRectOptSaveRect(ViewPortResource *viewPort, int y, Common::Rect *bounds) { + // TODO } void GraphicsManager::restoreMCGASaveRect(ViewPortResource *viewPort) { - + // TODO } -void GraphicsManager::addRectNoSaveBack(ViewPortResource *viewPort, void *v2, void *v3) { +void GraphicsManager::addRectNoSaveBack(ViewPortResource *viewPort, int y, Common::Rect *bounds) { } -void GraphicsManager::sDrawPic(PictureResource *srcPic, PictureResource *destPic, +void GraphicsManager::sDrawPic(DisplayResource *srcDisplay, DisplayResource *destDisplay, const Common::Point &offset, void *v3) { int var4C = 0; int width1, width2; @@ -108,7 +110,7 @@ void GraphicsManager::sDrawPic(PictureResource *srcPic, PictureResource *destPic int srcOffset; int screenOffset; int flags1, flags2; - PictureResource *saveddestPic = NULL; + ViewPortResource *destViewPort = NULL; Common::Rect newBounds; Common::Rect backBounds; int var24; @@ -119,14 +121,17 @@ void GraphicsManager::sDrawPic(PictureResource *srcPic, PictureResource *destPic byte *imgData1, *imgData2; byte *srcP, *destP; - if (srcPic->_flags & 0x8000) { - srcPic = srcPic->_secondPicture; - warning("TODO: Particularly validate 'extended' pictures"); + // Get the picture parameters, or deference viewport pointers to get their pictures + PictureResource *srcPic = (PictureResource *)srcDisplay; + PictureResource *destPic = (PictureResource *)destDisplay; + + if (srcDisplay->_flags & 0x8000) { + // A viewport was passed, not a picture + srcPic = ((ViewPortResource *)srcDisplay)->_picResource; } - if (destPic->_flags & 0x8000) { - saveddestPic = destPic; - destPic = destPic->_secondPicture; - warning("TODO: Particularly validate 'extended' pictures"); + if (destDisplay->_flags & 0x8000) { + destViewPort = (ViewPortResource *)destDisplay; + destPic = destViewPort->_picResource; } Common::Point ofs = Common::Point(offset.x + srcPic->_bounds.left - destPic->_bounds.left, @@ -142,10 +147,11 @@ void GraphicsManager::sDrawPic(PictureResource *srcPic, PictureResource *destPic int xs = _clipPtr->left - srcPic->_bounds.left; int ys = _clipPtr->top - srcPic->_bounds.top; newBounds = Common::Rect(xs, ys, xs + _clipPtr->width(), ys + _clipPtr->height()); - } else if (saveddestPic) { - int xs = saveddestPic->_bounds2.left - destPic->_bounds.left; - int ys = saveddestPic->_bounds2.top - destPic->_bounds.top; - newBounds = Common::Rect(xs, ys, xs + destPic->_bounds2.width(), ys + destPic->_bounds2.height()); + } else if (destViewPort) { + int xs = destViewPort->_clipRect.left - destPic->_bounds.left; + int ys = destViewPort->_clipRect.top - destPic->_bounds.top; + newBounds = Common::Rect(xs, ys, xs + destViewPort->_clipRect.width(), + ys + destViewPort->_clipRect.height()); } else { newBounds = Common::Rect(0, 0, destPic->_bounds.width(), destPic->_bounds.height()); } @@ -196,18 +202,18 @@ void GraphicsManager::sDrawPic(PictureResource *srcPic, PictureResource *destPic widthDiff = width1 - width2; widthDiff2 = destPic->_bounds.width() - width2; - if (saveddestPic) { + if (destViewPort) { error("TODO: Examine further when it's actually used"); if (!_saveBack || ((srcPic->_flags & 0x800) != 0)) { // TODO - } else if (!saveddestPic->_field86) { + } else if (!destViewPort->_addFn) { // TODO } else { int xs = ofs.x + destPic->_bounds.left; int ys = ofs.y + destPic->_bounds.top; backBounds = Common::Rect(xs, ys, xs + width2, ys + height1); - (this->*saveddestPic->_field86)(saveddestPic, saveddestPic->_bounds.top, backBounds); + (this->*destViewPort->_addFn)(destViewPort, destViewPort->_bounds.top, &backBounds); } } @@ -273,4 +279,12 @@ void GraphicsManager::EMSMapPageHandle(int v1, int v2, int v3) { // TODO } +void GraphicsManager::flipPage() { + +} + +void GraphicsManager::sWaitFlip() { + +} + } // End of namespace Voyeur diff --git a/engines/voyeur/graphics.h b/engines/voyeur/graphics.h index d17b18d3b0..f7e43ff65a 100644 --- a/engines/voyeur/graphics.h +++ b/engines/voyeur/graphics.h @@ -38,14 +38,14 @@ namespace Voyeur { class VoyeurEngine; class GraphicsManager; +class DisplayResource; class PictureResource; class ViewPortResource; typedef void (GraphicsManager::*GraphicMethodPtr)(); typedef void (GraphicsManager::*ViewPortSetupPtr)(ViewPortResource *); -typedef void (GraphicsManager::*ViewPortAddPtr)(ViewPortResource *, void *v2, void *v3); +typedef void (GraphicsManager::*ViewPortAddPtr)(ViewPortResource *, int y, Common::Rect *bounds); typedef void (GraphicsManager::*ViewPortRestorePtr)(ViewPortResource *); -typedef void (GraphicsManager::*Field86MethodPtr)(void *pic, int y, Common::Rect &bounds); class GraphicsManager { public: @@ -57,7 +57,8 @@ public: int _SVGAPage; int _SVGAMode; int _SVGAReset; - ViewPortResource *_vPort; + Common::Array *_viewPortListPtr; + ViewPortResource **_vPort; bool _MCGAMode; bool _saveBack; Common::Rect *_clipPtr; @@ -77,12 +78,14 @@ public: void addFadeInt(); void setupMCGASaveRect(ViewPortResource *viewPort); - void addRectOptSaveRect(ViewPortResource *viewPort, void *v2, void *v3); + void addRectOptSaveRect(ViewPortResource *viewPort, int y, Common::Rect *bounds); void restoreMCGASaveRect(ViewPortResource *viewPort); - void addRectNoSaveBack(ViewPortResource *viewPort, void *v2, void *v3); + void addRectNoSaveBack(ViewPortResource *viewPort, int y, Common::Rect *bounds); void EMSMapPageHandle(int v1, int v2, int v3); - void sDrawPic(PictureResource *srcPic, PictureResource *destPic, const Common::Point &offset, void *v3); + void sDrawPic(DisplayResource *srcDisplay, DisplayResource *destDisplay, const Common::Point &offset, void *v3); + void flipPage(); + void sWaitFlip(); }; } // End of namespace Voyeur diff --git a/engines/voyeur/voyeur.cpp b/engines/voyeur/voyeur.cpp index dc25ec4745..27bf8585c9 100644 --- a/engines/voyeur/voyeur.cpp +++ b/engines/voyeur/voyeur.cpp @@ -143,8 +143,13 @@ void VoyeurEngine::doHeadTitle() { _eventsManager.startMainClockInt(); if (_bVoy->getBoltGroup(0x10500)) { _graphicsManager._backgroundPage = _bVoy->getBoltEntry(0x5020000)._picResource; - _graphicsManager._vPort->setupViewPort(); - + (*_graphicsManager._vPort)->setupViewPort(); + (*_graphicsManager._vPort)->_flags |= 8; + + _graphicsManager.flipPage(); + _graphicsManager.sWaitFlip(); + + // TODO: } } -- cgit v1.2.3 From a6c852c99d73d9bef30d85d59cbb8364858a0daa Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Fri, 31 May 2013 21:31:33 -0400 Subject: VOYEUR: Implemented flipPage --- engines/voyeur/files.cpp | 21 ++++++++++++--------- engines/voyeur/files.h | 8 +++++--- engines/voyeur/graphics.cpp | 36 +++++++++++++++++++++++++++++++++--- engines/voyeur/graphics.h | 2 ++ 4 files changed, 52 insertions(+), 15 deletions(-) diff --git a/engines/voyeur/files.cpp b/engines/voyeur/files.cpp index f72517a672..05617a04cc 100644 --- a/engines/voyeur/files.cpp +++ b/engines/voyeur/files.cpp @@ -598,17 +598,20 @@ ViewPortResource::ViewPortResource(BoltFilesState &state, const byte *src): _state(state) { _flags = READ_LE_UINT16(src); _next = state._curLibPtr->getBoltEntry(READ_LE_UINT32(src + 2))._viewPortResource; - - int xs = READ_LE_UINT16(src + 0xC); - int ys = READ_LE_UINT16(src + 0xE); - _bounds = Common::Rect(xs, ys, xs + READ_LE_UINT16(src + 0x10), - ys + READ_LE_UINT16(src + 0x12)); + _pageCount = READ_LE_UINT16(src + 6); + _pageIndex = READ_LE_UINT16(src + 8); + _lastPage = READ_LE_UINT16(src + 10); + + int xs = READ_LE_UINT16(src + 12); + int ys = READ_LE_UINT16(src + 14); + _bounds = Common::Rect(xs, ys, xs + READ_LE_UINT16(src + 16), + ys + READ_LE_UINT16(src + 18)); _field18 = READ_LE_UINT16(src + 0x18); - _picResource = state._curLibPtr->getPictureResouce(READ_LE_UINT32(src + 0x20)); + _currentPic = state._curLibPtr->getPictureResouce(READ_LE_UINT32(src + 0x20)); _activePage = state._curLibPtr->getPictureResouce(READ_LE_UINT32(src + 0x24)); - _picResource2 = state._curLibPtr->getPictureResouce(READ_LE_UINT32(src + 0x28)); - _picResource3 = state._curLibPtr->getPictureResouce(READ_LE_UINT32(src + 0x2C)); + _pages[0] = state._curLibPtr->getPictureResouce(READ_LE_UINT32(src + 0x28)); + _pages[1] = state._curLibPtr->getPictureResouce(READ_LE_UINT32(src + 0x2C)); state._curLibPtr->resolveIt(READ_LE_UINT32(src + 0x30), &_field30); state._curLibPtr->resolveIt(READ_LE_UINT32(src + 0x34), &_field34); @@ -634,7 +637,7 @@ ViewPortResource::ViewPortResource(BoltFilesState &state, const byte *src): void ViewPortResource::setupViewPort(PictureResource *page, Common::Rect *clipRect, ViewPortSetupPtr setupFn, ViewPortAddPtr addFn, ViewPortRestorePtr restoreFn) { - PictureResource *pic = _picResource; + PictureResource *pic = _currentPic; Common::Rect r = _bounds; r.translate(pic->_bounds.left, pic->_bounds.top); int xDiff, yDiff; diff --git a/engines/voyeur/files.h b/engines/voyeur/files.h index d75c88ae0b..8e00731b78 100644 --- a/engines/voyeur/files.h +++ b/engines/voyeur/files.h @@ -223,12 +223,14 @@ private: ViewPortAddPtr addFn, ViewPortRestorePtr restoreFn); public: ViewPortResource *_next; + int _pageCount; + int _pageIndex; + int _lastPage; Common::Rect _bounds; int _field18; - PictureResource *_picResource; + PictureResource *_currentPic; PictureResource *_activePage; - PictureResource *_picResource2; - PictureResource *_picResource3; + PictureResource *_pages[2]; byte *_field30; byte *_field34; byte *_field38; diff --git a/engines/voyeur/graphics.cpp b/engines/voyeur/graphics.cpp index 0a208e4978..0b47e935fb 100644 --- a/engines/voyeur/graphics.cpp +++ b/engines/voyeur/graphics.cpp @@ -33,6 +33,7 @@ GraphicsManager::GraphicsManager() { _SVGAMode = 0; _SVGAReset = 0; _screenOffset = 0; + _planeSelect = 0; _palFlag = false; _MCGAMode = false; _saveBack = false; @@ -81,7 +82,7 @@ void GraphicsManager::setupMCGASaveRect(ViewPortResource *viewPort) { Common::Rect *clipRect = _clipPtr; _clipPtr = &viewPort->_clipRect; - sDrawPic(viewPort->_activePage, viewPort->_picResource, Common::Point(), NULL); + sDrawPic(viewPort->_activePage, viewPort->_currentPic, Common::Point(), NULL); _clipPtr = clipRect; } @@ -127,11 +128,11 @@ void GraphicsManager::sDrawPic(DisplayResource *srcDisplay, DisplayResource *des if (srcDisplay->_flags & 0x8000) { // A viewport was passed, not a picture - srcPic = ((ViewPortResource *)srcDisplay)->_picResource; + srcPic = ((ViewPortResource *)srcDisplay)->_currentPic; } if (destDisplay->_flags & 0x8000) { destViewPort = (ViewPortResource *)destDisplay; - destPic = destViewPort->_picResource; + destPic = destViewPort->_currentPic; } Common::Point ofs = Common::Point(offset.x + srcPic->_bounds.left - destPic->_bounds.left, @@ -275,12 +276,41 @@ void GraphicsManager::sDrawPic(DisplayResource *srcDisplay, DisplayResource *des } } +void GraphicsManager::sDisplayPic(PictureResource *pic) { + // TODO +} + void GraphicsManager::EMSMapPageHandle(int v1, int v2, int v3) { // TODO } void GraphicsManager::flipPage() { + Common::Array &viewPorts = *_viewPortListPtr; + bool flipFlag = false; + + for (uint idx = 0; idx < viewPorts.size(); ++idx) { + if (viewPorts[idx]->_flags & 0x20) { + if ((viewPorts[idx]->_flags & 9) == 9) { + if (_planeSelect == idx) + sDisplayPic(viewPorts[idx]->_currentPic); + flipFlag = true; + } + } + if (flipFlag) { + ViewPortResource &viewPort = *viewPorts[idx]; + + viewPort._lastPage = viewPort._pageIndex; + ++viewPort._pageIndex; + + if (viewPort._pageIndex >= viewPort._pageCount) + viewPort._pageIndex = 0; + + assert(viewPort._pageIndex < 2); + viewPort._currentPic = viewPort._pages[viewPort._pageIndex]; + viewPort._flags = (viewPort._flags & 0xFFF7) | 0x40; + } + } } void GraphicsManager::sWaitFlip() { diff --git a/engines/voyeur/graphics.h b/engines/voyeur/graphics.h index f7e43ff65a..1c86952f33 100644 --- a/engines/voyeur/graphics.h +++ b/engines/voyeur/graphics.h @@ -63,6 +63,7 @@ public: bool _saveBack; Common::Rect *_clipPtr; int _screenOffset; + uint _planeSelect; private: static void fadeIntFunc(); static void vDoFadeInt(); @@ -84,6 +85,7 @@ public: void EMSMapPageHandle(int v1, int v2, int v3); void sDrawPic(DisplayResource *srcDisplay, DisplayResource *destDisplay, const Common::Point &offset, void *v3); + void sDisplayPic(PictureResource *pic); void flipPage(); void sWaitFlip(); }; -- cgit v1.2.3 From 8b6d3169cc407ba000dac4d9b4bec5719fce52a4 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Fri, 31 May 2013 22:13:28 -0400 Subject: VOYEUR: Implemented sWaitFlip --- engines/voyeur/events.cpp | 22 ++++++++++++++++++++++ engines/voyeur/events.h | 2 ++ engines/voyeur/files.cpp | 4 +++- engines/voyeur/files.h | 2 +- engines/voyeur/game.cpp | 4 ++++ engines/voyeur/game.h | 3 +++ engines/voyeur/graphics.cpp | 16 ++++++---------- engines/voyeur/graphics.h | 1 - engines/voyeur/voyeur.cpp | 4 ++-- engines/voyeur/voyeur.h | 1 - 10 files changed, 43 insertions(+), 16 deletions(-) diff --git a/engines/voyeur/events.cpp b/engines/voyeur/events.cpp index f84c97879a..c7ec6b99a7 100644 --- a/engines/voyeur/events.cpp +++ b/engines/voyeur/events.cpp @@ -49,4 +49,26 @@ void EventsManager::vStopCycle() { _cycleStatus &= 2; } +void EventsManager::sWaitFlip() { + // TODO: See if this needs a proper wait loop with event polling + //while (_intPtr._field39) ; + + Common::Array &viewPorts = *_vm->_graphicsManager._viewPortListPtr; + for (uint idx = 0; idx < viewPorts.size(); ++idx) { + ViewPortResource &viewPort = *viewPorts[idx]; + + if (_vm->_graphicsManager._saveBack && (viewPort._flags & 0x40)) { + Common::Rect *clipPtr = _vm->_graphicsManager._clipPtr; + _vm->_graphicsManager._clipPtr = &viewPort._clipRect; + + if (viewPort._restoreFn) + (_vm->_graphicsManager.*viewPort._restoreFn)(&viewPort); + + _vm->_graphicsManager._clipPtr = clipPtr; + viewPort._field40[viewPort._pageIndex] = 0; + viewPort._flags &= 0xFFBF; + } + } +} + } // End of namespace Voyeur diff --git a/engines/voyeur/events.h b/engines/voyeur/events.h index a3696a9568..98e491a56a 100644 --- a/engines/voyeur/events.h +++ b/engines/voyeur/events.h @@ -36,6 +36,7 @@ private: static void mainVoyeurIntFunc(); public: + IntData _intPtr; IntNode _fadeIntNode; IntNode _cycleIntNode; IntNode _evintnode; @@ -48,6 +49,7 @@ public: void resetMouse(); void startMainClockInt(); void vStopCycle(); + void sWaitFlip(); }; } // End of namespace Voyeur diff --git a/engines/voyeur/files.cpp b/engines/voyeur/files.cpp index 05617a04cc..aacefd99f3 100644 --- a/engines/voyeur/files.cpp +++ b/engines/voyeur/files.cpp @@ -618,7 +618,9 @@ ViewPortResource::ViewPortResource(BoltFilesState &state, const byte *src): state._curLibPtr->resolveIt(READ_LE_UINT32(src + 0x38), &_field38); state._curLibPtr->resolveIt(READ_LE_UINT32(src + 0x3C), &_field3C); - _field42 = (int16)READ_LE_UINT16(src + 0x42); + for (int i = 0; i < 3; ++i) + _field40[i] = (int16)READ_LE_UINT16(src + 0x40 + 2 * i); + xs = READ_LE_UINT16(src + 0x46); ys = READ_LE_UINT16(src + 0x48); _clipRect = Common::Rect(xs, ys, xs + READ_LE_UINT16(src + 0x4A), diff --git a/engines/voyeur/files.h b/engines/voyeur/files.h index 8e00731b78..ccbea8a209 100644 --- a/engines/voyeur/files.h +++ b/engines/voyeur/files.h @@ -235,7 +235,7 @@ public: byte *_field34; byte *_field38; byte *_field3C; - int16 _field42; + int16 _field40[3]; Common::Rect _clipRect; byte *_field7A; GraphicMethodPtr _fn1; diff --git a/engines/voyeur/game.cpp b/engines/voyeur/game.cpp index 26e5d3113b..e38863a1e4 100644 --- a/engines/voyeur/game.cpp +++ b/engines/voyeur/game.cpp @@ -24,6 +24,10 @@ namespace Voyeur { +IntData::IntData() { + _field9 = false; +} + void IntData::audioInit() { } diff --git a/engines/voyeur/game.h b/engines/voyeur/game.h index 99f97fd9d1..35fffbe649 100644 --- a/engines/voyeur/game.h +++ b/engines/voyeur/game.h @@ -111,9 +111,12 @@ public: class IntData { public: + bool _field9; byte *_colors; Common::List _intNodes; public: + IntData(); + void audioInit(); void addIntNode(IntNode *node); diff --git a/engines/voyeur/graphics.cpp b/engines/voyeur/graphics.cpp index 0b47e935fb..b0487a0e8b 100644 --- a/engines/voyeur/graphics.cpp +++ b/engines/voyeur/graphics.cpp @@ -53,7 +53,7 @@ void GraphicsManager::addFadeInt() { node._curTime = 0; node._timeReset = 1; - _vm->_intPtr.addIntNode(&node); + _vm->_eventsManager._intPtr.addIntNode(&node); } void GraphicsManager::vInitColor() { @@ -63,15 +63,15 @@ void GraphicsManager::vInitColor() { } void GraphicsManager::fadeIntFunc() { - + // TODO: more } void GraphicsManager::vDoFadeInt() { - + // TODO: more } void GraphicsManager::vDoCycleInt() { - + // TODO: more } void GraphicsManager::setupMCGASaveRect(ViewPortResource *viewPort) { @@ -87,7 +87,7 @@ void GraphicsManager::setupMCGASaveRect(ViewPortResource *viewPort) { _clipPtr = clipRect; } - viewPort->_field42 = -1; + viewPort->_field40[1] = -1; } void GraphicsManager::addRectOptSaveRect(ViewPortResource *viewPort, int y, Common::Rect *bounds) { @@ -99,7 +99,7 @@ void GraphicsManager::restoreMCGASaveRect(ViewPortResource *viewPort) { } void GraphicsManager::addRectNoSaveBack(ViewPortResource *viewPort, int y, Common::Rect *bounds) { - + // TODO: more } void GraphicsManager::sDrawPic(DisplayResource *srcDisplay, DisplayResource *destDisplay, @@ -313,8 +313,4 @@ void GraphicsManager::flipPage() { } } -void GraphicsManager::sWaitFlip() { - -} - } // End of namespace Voyeur diff --git a/engines/voyeur/graphics.h b/engines/voyeur/graphics.h index 1c86952f33..c34c2b44d3 100644 --- a/engines/voyeur/graphics.h +++ b/engines/voyeur/graphics.h @@ -87,7 +87,6 @@ public: void sDrawPic(DisplayResource *srcDisplay, DisplayResource *destDisplay, const Common::Point &offset, void *v3); void sDisplayPic(PictureResource *pic); void flipPage(); - void sWaitFlip(); }; } // End of namespace Voyeur diff --git a/engines/voyeur/voyeur.cpp b/engines/voyeur/voyeur.cpp index 27bf8585c9..1ff1bdea22 100644 --- a/engines/voyeur/voyeur.cpp +++ b/engines/voyeur/voyeur.cpp @@ -131,7 +131,7 @@ void VoyeurEngine::initBolt() { } void VoyeurEngine::vInitInterrupts() { - _intPtr._colors = &_graphicsManager._VGAColors[0]; + _eventsManager._intPtr._colors = &_graphicsManager._VGAColors[0]; } void VoyeurEngine::initInput() { @@ -147,7 +147,7 @@ void VoyeurEngine::doHeadTitle() { (*_graphicsManager._vPort)->_flags |= 8; _graphicsManager.flipPage(); - _graphicsManager.sWaitFlip(); + _eventsManager.sWaitFlip(); // TODO: } diff --git a/engines/voyeur/voyeur.h b/engines/voyeur/voyeur.h index d8fb4ad711..818615faaa 100644 --- a/engines/voyeur/voyeur.h +++ b/engines/voyeur/voyeur.h @@ -79,7 +79,6 @@ protected: virtual Common::Error run(); virtual bool hasFeature(EngineFeature f) const; public: - IntData _intPtr; EventsManager _eventsManager; FilesManager _filesManager; GraphicsManager _graphicsManager; -- cgit v1.2.3 From 99f474a3b6471392295f6d1cc33acd6ae4123447 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Sat, 1 Jun 2013 12:35:50 -0400 Subject: VOYEUR: Implemented the restoreMCGASaveRect method --- engines/voyeur/events.cpp | 2 +- engines/voyeur/files.cpp | 24 +++++++++++++++++++----- engines/voyeur/files.h | 8 +++----- engines/voyeur/game.cpp | 2 ++ engines/voyeur/game.h | 2 ++ engines/voyeur/graphics.cpp | 41 +++++++++++++++++++++++++++++++++++------ engines/voyeur/graphics.h | 9 ++++++--- engines/voyeur/voyeur.cpp | 2 +- 8 files changed, 69 insertions(+), 21 deletions(-) diff --git a/engines/voyeur/events.cpp b/engines/voyeur/events.cpp index c7ec6b99a7..c43c810b88 100644 --- a/engines/voyeur/events.cpp +++ b/engines/voyeur/events.cpp @@ -65,7 +65,7 @@ void EventsManager::sWaitFlip() { (_vm->_graphicsManager.*viewPort._restoreFn)(&viewPort); _vm->_graphicsManager._clipPtr = clipPtr; - viewPort._field40[viewPort._pageIndex] = 0; + viewPort._rectListCount[viewPort._pageIndex] = 0; viewPort._flags &= 0xFFBF; } } diff --git a/engines/voyeur/files.cpp b/engines/voyeur/files.cpp index aacefd99f3..8522cc77d7 100644 --- a/engines/voyeur/files.cpp +++ b/engines/voyeur/files.cpp @@ -614,12 +614,21 @@ ViewPortResource::ViewPortResource(BoltFilesState &state, const byte *src): _pages[1] = state._curLibPtr->getPictureResouce(READ_LE_UINT32(src + 0x2C)); state._curLibPtr->resolveIt(READ_LE_UINT32(src + 0x30), &_field30); - state._curLibPtr->resolveIt(READ_LE_UINT32(src + 0x34), &_field34); - state._curLibPtr->resolveIt(READ_LE_UINT32(src + 0x38), &_field38); - state._curLibPtr->resolveIt(READ_LE_UINT32(src + 0x3C), &_field3C); - for (int i = 0; i < 3; ++i) - _field40[i] = (int16)READ_LE_UINT16(src + 0x40 + 2 * i); + // Get the rect list + for (int i = 0; i < 3; ++i) { + _rectListCount[i] = (int16)READ_LE_UINT16(src + 0x40 + 2 * i); + + int16 *rectList = (int16 *)state._curLibPtr->memberAddrOffset(READ_LE_UINT32(src + 0x34 + i * 4)); + _rectListPtr[i] = new Common::Array(); + + for (int i = 0; i < _rectListCount[0]; ++i) { + int xs = FROM_LE_16(rectList[0]); + int ys = FROM_LE_16(rectList[1]); + _rectListPtr[i]->push_back(Common::Rect(xs, ys, xs + FROM_LE_16(rectList[2]), + ys + FROM_LE_16(rectList[3]))); + } + } xs = READ_LE_UINT16(src + 0x46); ys = READ_LE_UINT16(src + 0x48); @@ -637,6 +646,11 @@ ViewPortResource::ViewPortResource(BoltFilesState &state, const byte *src): _addFn = &GraphicsManager::addRectNoSaveBack; } +ViewPortResource::~ViewPortResource() { + for (int i = 0; i < 3; ++i) + delete _rectListPtr[i]; +} + void ViewPortResource::setupViewPort(PictureResource *page, Common::Rect *clipRect, ViewPortSetupPtr setupFn, ViewPortAddPtr addFn, ViewPortRestorePtr restoreFn) { PictureResource *pic = _currentPic; diff --git a/engines/voyeur/files.h b/engines/voyeur/files.h index ccbea8a209..32c203eec8 100644 --- a/engines/voyeur/files.h +++ b/engines/voyeur/files.h @@ -232,10 +232,8 @@ public: PictureResource *_activePage; PictureResource *_pages[2]; byte *_field30; - byte *_field34; - byte *_field38; - byte *_field3C; - int16 _field40[3]; + Common::Array *_rectListPtr[3]; + int _rectListCount[3]; Common::Rect _clipRect; byte *_field7A; GraphicMethodPtr _fn1; @@ -244,7 +242,7 @@ public: ViewPortRestorePtr _restoreFn; public: ViewPortResource(BoltFilesState &state, const byte *src); - virtual ~ViewPortResource() {} + virtual ~ViewPortResource(); void setupViewPort(); }; diff --git a/engines/voyeur/game.cpp b/engines/voyeur/game.cpp index e38863a1e4..9167cd942b 100644 --- a/engines/voyeur/game.cpp +++ b/engines/voyeur/game.cpp @@ -26,6 +26,8 @@ namespace Voyeur { IntData::IntData() { _field9 = false; + _flipWait = false; + _field2A = 0; } void IntData::audioInit() { diff --git a/engines/voyeur/game.h b/engines/voyeur/game.h index 35fffbe649..d99df39c02 100644 --- a/engines/voyeur/game.h +++ b/engines/voyeur/game.h @@ -112,6 +112,8 @@ public: class IntData { public: bool _field9; + bool _flipWait; + int _field2A; byte *_colors; Common::List _intNodes; public: diff --git a/engines/voyeur/graphics.cpp b/engines/voyeur/graphics.cpp index b0487a0e8b..3acf2a35f5 100644 --- a/engines/voyeur/graphics.cpp +++ b/engines/voyeur/graphics.cpp @@ -34,6 +34,7 @@ GraphicsManager::GraphicsManager() { _SVGAReset = 0; _screenOffset = 0; _planeSelect = 0; + _sImageShift = 3; _palFlag = false; _MCGAMode = false; _saveBack = false; @@ -87,18 +88,34 @@ void GraphicsManager::setupMCGASaveRect(ViewPortResource *viewPort) { _clipPtr = clipRect; } - viewPort->_field40[1] = -1; + viewPort->_rectListCount[1] = -1; } -void GraphicsManager::addRectOptSaveRect(ViewPortResource *viewPort, int y, Common::Rect *bounds) { +void GraphicsManager::addRectOptSaveRect(ViewPortResource *viewPort, int idx, const Common::Rect &bounds) { // TODO } void GraphicsManager::restoreMCGASaveRect(ViewPortResource *viewPort) { - // TODO + if (viewPort->_rectListCount[0] != -1) { + for (int i = 0; i < viewPort->_rectListCount[0]; ++i) { + addRectOptSaveRect(viewPort, 1, (*viewPort->_rectListPtr[0])[i]); + } + } else { + viewPort->_rectListCount[1] = -1; + } + + restoreBack(*viewPort->_rectListPtr[1], viewPort->_rectListCount[1], viewPort->_pages[0], + viewPort->_pages[1]); + + int count = viewPort->_rectListCount[0]; + restoreBack(*viewPort->_rectListPtr[0], viewPort->_rectListCount[0], + viewPort->_activePage, viewPort->_currentPic); + + SWAP(viewPort->_rectListPtr[0], viewPort->_rectListPtr[1]); + viewPort->_rectListCount[1] = count; } -void GraphicsManager::addRectNoSaveBack(ViewPortResource *viewPort, int y, Common::Rect *bounds) { +void GraphicsManager::addRectNoSaveBack(ViewPortResource *viewPort, int idx, const Common::Rect &bounds) { // TODO: more } @@ -214,7 +231,7 @@ void GraphicsManager::sDrawPic(DisplayResource *srcDisplay, DisplayResource *des int ys = ofs.y + destPic->_bounds.top; backBounds = Common::Rect(xs, ys, xs + width2, ys + height1); - (this->*destViewPort->_addFn)(destViewPort, destViewPort->_bounds.top, &backBounds); + (this->*destViewPort->_addFn)(destViewPort, destViewPort->_bounds.top, backBounds); } } @@ -276,8 +293,15 @@ void GraphicsManager::sDrawPic(DisplayResource *srcDisplay, DisplayResource *des } } +/** + * Queues the given picture for display + */ void GraphicsManager::sDisplayPic(PictureResource *pic) { - // TODO + if (pic->_flags & 8) { + _vm->_eventsManager._intPtr._field2A = READ_LE_UINT32(pic->_imgData) >> _sImageShift; + } + + _vm->_eventsManager._intPtr._flipWait = true; } void GraphicsManager::EMSMapPageHandle(int v1, int v2, int v3) { @@ -313,4 +337,9 @@ void GraphicsManager::flipPage() { } } +void GraphicsManager::restoreBack(Common::Array &rectList, int rectListCount, + PictureResource *srcPic, PictureResource *destPic) { + //TODO +} + } // End of namespace Voyeur diff --git a/engines/voyeur/graphics.h b/engines/voyeur/graphics.h index c34c2b44d3..263d44eb65 100644 --- a/engines/voyeur/graphics.h +++ b/engines/voyeur/graphics.h @@ -44,7 +44,7 @@ class ViewPortResource; typedef void (GraphicsManager::*GraphicMethodPtr)(); typedef void (GraphicsManager::*ViewPortSetupPtr)(ViewPortResource *); -typedef void (GraphicsManager::*ViewPortAddPtr)(ViewPortResource *, int y, Common::Rect *bounds); +typedef void (GraphicsManager::*ViewPortAddPtr)(ViewPortResource *, int idx, const Common::Rect &bounds); typedef void (GraphicsManager::*ViewPortRestorePtr)(ViewPortResource *); class GraphicsManager { @@ -64,12 +64,15 @@ public: Common::Rect *_clipPtr; int _screenOffset; uint _planeSelect; + int _sImageShift; private: static void fadeIntFunc(); static void vDoFadeInt(); static void vDoCycleInt(); void addIntNode(IntNode *node); + void restoreBack(Common::Array &rectList, int rectListCount, + PictureResource *srcPic, PictureResource *destPic); public: GraphicsManager(); void setVm(VoyeurEngine *vm) { _vm = vm; } @@ -79,9 +82,9 @@ public: void addFadeInt(); void setupMCGASaveRect(ViewPortResource *viewPort); - void addRectOptSaveRect(ViewPortResource *viewPort, int y, Common::Rect *bounds); + void addRectOptSaveRect(ViewPortResource *viewPort, int idx, const Common::Rect &bounds); void restoreMCGASaveRect(ViewPortResource *viewPort); - void addRectNoSaveBack(ViewPortResource *viewPort, int y, Common::Rect *bounds); + void addRectNoSaveBack(ViewPortResource *viewPort, int idx, const Common::Rect &bounds); void EMSMapPageHandle(int v1, int v2, int v3); void sDrawPic(DisplayResource *srcDisplay, DisplayResource *destDisplay, const Common::Point &offset, void *v3); diff --git a/engines/voyeur/voyeur.cpp b/engines/voyeur/voyeur.cpp index 1ff1bdea22..82ee1a87af 100644 --- a/engines/voyeur/voyeur.cpp +++ b/engines/voyeur/voyeur.cpp @@ -138,7 +138,7 @@ void VoyeurEngine::initInput() { } void VoyeurEngine::doHeadTitle() { - char dest[144]; +// char dest[144]; _eventsManager.startMainClockInt(); if (_bVoy->getBoltGroup(0x10500)) { -- cgit v1.2.3 From b85aa4f8d92ecb1d66052837b0128786b52e3ee1 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Sat, 1 Jun 2013 13:01:09 -0400 Subject: VOYEUR: Implemented the restoreBack method --- engines/voyeur/files.h | 5 +++++ engines/voyeur/graphics.cpp | 18 +++++++++++++++--- engines/voyeur/graphics.h | 2 +- 3 files changed, 21 insertions(+), 4 deletions(-) diff --git a/engines/voyeur/files.h b/engines/voyeur/files.h index 32c203eec8..da3d277f73 100644 --- a/engines/voyeur/files.h +++ b/engines/voyeur/files.h @@ -232,8 +232,13 @@ public: PictureResource *_activePage; PictureResource *_pages[2]; byte *_field30; + + // Rect lists and counts. Note that _rectListCount values of '-1' seem to have + // special significance, which is why I'm not making them redundant in favour + // of the arrays' .size() method Common::Array *_rectListPtr[3]; int _rectListCount[3]; + Common::Rect _clipRect; byte *_field7A; GraphicMethodPtr _fn1; diff --git a/engines/voyeur/graphics.cpp b/engines/voyeur/graphics.cpp index 3acf2a35f5..eaa7dfa621 100644 --- a/engines/voyeur/graphics.cpp +++ b/engines/voyeur/graphics.cpp @@ -83,7 +83,7 @@ void GraphicsManager::setupMCGASaveRect(ViewPortResource *viewPort) { Common::Rect *clipRect = _clipPtr; _clipPtr = &viewPort->_clipRect; - sDrawPic(viewPort->_activePage, viewPort->_currentPic, Common::Point(), NULL); + sDrawPic(viewPort->_activePage, viewPort->_currentPic, Common::Point()); _clipPtr = clipRect; } @@ -120,7 +120,7 @@ void GraphicsManager::addRectNoSaveBack(ViewPortResource *viewPort, int idx, con } void GraphicsManager::sDrawPic(DisplayResource *srcDisplay, DisplayResource *destDisplay, - const Common::Point &offset, void *v3) { + const Common::Point &offset) { int var4C = 0; int width1, width2; int widthDiff, widthDiff2; @@ -339,7 +339,19 @@ void GraphicsManager::flipPage() { void GraphicsManager::restoreBack(Common::Array &rectList, int rectListCount, PictureResource *srcPic, PictureResource *destPic) { - //TODO + bool saveBack = _saveBack; + _saveBack = false; + + if (rectListCount == -1) { + sDrawPic(srcPic, destPic, Common::Point()); + } else { + for (int i = rectListCount; i >= 0; --i) { + _clipPtr = &rectList[i]; + sDrawPic(srcPic, destPic, Common::Point()); + } + } + + _saveBack = saveBack; } } // End of namespace Voyeur diff --git a/engines/voyeur/graphics.h b/engines/voyeur/graphics.h index 263d44eb65..7bb25d33df 100644 --- a/engines/voyeur/graphics.h +++ b/engines/voyeur/graphics.h @@ -87,7 +87,7 @@ public: void addRectNoSaveBack(ViewPortResource *viewPort, int idx, const Common::Rect &bounds); void EMSMapPageHandle(int v1, int v2, int v3); - void sDrawPic(DisplayResource *srcDisplay, DisplayResource *destDisplay, const Common::Point &offset, void *v3); + void sDrawPic(DisplayResource *srcDisplay, DisplayResource *destDisplay, const Common::Point &offset); void sDisplayPic(PictureResource *pic); void flipPage(); }; -- cgit v1.2.3 From 0dc30622d3348321527d57e892dfadfc41b4c025 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Sat, 1 Jun 2013 19:38:50 -0400 Subject: VOYEUR: Firthur work on sDrawPic and add fn --- engines/voyeur/graphics.cpp | 57 ++++++++++++++++++++++++++++++++++++++++++--- engines/voyeur/graphics.h | 2 ++ 2 files changed, 56 insertions(+), 3 deletions(-) diff --git a/engines/voyeur/graphics.cpp b/engines/voyeur/graphics.cpp index eaa7dfa621..da077941ff 100644 --- a/engines/voyeur/graphics.cpp +++ b/engines/voyeur/graphics.cpp @@ -45,6 +45,12 @@ GraphicsManager::GraphicsManager() { void GraphicsManager::sInitGraphics() { initGraphics(SCREEN_WIDTH, SCREEN_HEIGHT, false); + _screenSurface.create(SCREEN_WIDTH, SCREEN_HEIGHT, + Graphics::PixelFormat::createFormatCLUT8()); +} + +GraphicsManager::~GraphicsManager() { + _screenSurface.free(); } void GraphicsManager::addFadeInt() { @@ -92,7 +98,25 @@ void GraphicsManager::setupMCGASaveRect(ViewPortResource *viewPort) { } void GraphicsManager::addRectOptSaveRect(ViewPortResource *viewPort, int idx, const Common::Rect &bounds) { - // TODO + int count1, count2; + int idx1, varE, var24; + + if (viewPort->_rectListCount[idx] == -1) + return; + + viewPort->_rectListPtr[idx]->push_back(bounds); + count1 = count2 = viewPort->_rectListCount[idx]; + varE = var24 = 0; + + if (count1 > 0) { + for (idx1 = 0; idx1 < count1; ++idx1) { + // TODO: In progress + + Common::Array &rectList = *viewPort->_rectListPtr[idx]; + } + + viewPort->_rectListCount[idx] = idx1; + } } void GraphicsManager::restoreMCGASaveRect(ViewPortResource *viewPort) { @@ -269,15 +293,42 @@ void GraphicsManager::sDrawPic(DisplayResource *srcDisplay, DisplayResource *des srcP = imgData1 + srcOffset; if (flags2 & 8) { - error("TODO: sDrawPic"); + // loc_258D8 + destP = imgData2 + screenOffset; + + if (flags1 & 2) { + // loc_258F5 + } else { + // loc_25D40 + if (flags1 & 0x100) { + // loc_25D4A + } else { + // loc_2606D + destP = (byte *)_screenSurface.pixels; + + for (int yp = 0; yp < height1; ++yp) { + Common::copy(srcP, srcP + width2, destP); + destP += width2 + widthDiff2; + srcP += width2 + widthDiff; + } + } + } } else { destP = imgData2 + screenOffset; + // loc_2615E if (flags1 & 2) { error("TODO: sDrawPic"); } else { if (flags1 & 0x100) { - error("TODO: sDrawPic"); + srcP = imgData1; + + if (isClipped) { + // loc_26424 + + } else { + // loc_26543 + } } else { for (int yp = 0; yp < height1; ++yp) { Common::copy(srcP, srcP + width2, destP); diff --git a/engines/voyeur/graphics.h b/engines/voyeur/graphics.h index 7bb25d33df..1eec37bab7 100644 --- a/engines/voyeur/graphics.h +++ b/engines/voyeur/graphics.h @@ -65,6 +65,7 @@ public: int _screenOffset; uint _planeSelect; int _sImageShift; + Graphics::Surface _screenSurface; private: static void fadeIntFunc(); static void vDoFadeInt(); @@ -75,6 +76,7 @@ private: PictureResource *srcPic, PictureResource *destPic); public: GraphicsManager(); + ~GraphicsManager(); void setVm(VoyeurEngine *vm) { _vm = vm; } void sInitGraphics(); -- cgit v1.2.3 From e9e596e741b70a9a6b3481732ca2dd37adefe8f6 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Sat, 1 Jun 2013 20:07:20 -0400 Subject: VOYEUR: Fixes for recent changes to ViewPortResource initialisation --- engines/voyeur/files.cpp | 27 +++++++++++++++++---------- 1 file changed, 17 insertions(+), 10 deletions(-) diff --git a/engines/voyeur/files.cpp b/engines/voyeur/files.cpp index 8522cc77d7..758ba9f481 100644 --- a/engines/voyeur/files.cpp +++ b/engines/voyeur/files.cpp @@ -616,17 +616,24 @@ ViewPortResource::ViewPortResource(BoltFilesState &state, const byte *src): state._curLibPtr->resolveIt(READ_LE_UINT32(src + 0x30), &_field30); // Get the rect list - for (int i = 0; i < 3; ++i) { - _rectListCount[i] = (int16)READ_LE_UINT16(src + 0x40 + 2 * i); + for (int listIndex = 0; listIndex < 3; ++listIndex) { + _rectListCount[listIndex] = (int16)READ_LE_UINT16(src + 0x40 + 2 * listIndex); + uint32 id = READ_LE_UINT32(src + 0x34 + listIndex * 4); - int16 *rectList = (int16 *)state._curLibPtr->memberAddrOffset(READ_LE_UINT32(src + 0x34 + i * 4)); - _rectListPtr[i] = new Common::Array(); - - for (int i = 0; i < _rectListCount[0]; ++i) { - int xs = FROM_LE_16(rectList[0]); - int ys = FROM_LE_16(rectList[1]); - _rectListPtr[i]->push_back(Common::Rect(xs, ys, xs + FROM_LE_16(rectList[2]), - ys + FROM_LE_16(rectList[3]))); + if (id == -1) { + _rectListPtr[listIndex] = NULL; + } else { + _rectListPtr[listIndex] = new Common::Array(); + + if (_rectListCount[listIndex] > 0) { + int16 *rectList = (int16 *)state._curLibPtr->memberAddrOffset(id); + for (int i = 0; i < _rectListCount[listIndex]; ++i) { + int xs = FROM_LE_16(rectList[0]); + int ys = FROM_LE_16(rectList[1]); + _rectListPtr[i]->push_back(Common::Rect(xs, ys, xs + FROM_LE_16(rectList[2]), + ys + FROM_LE_16(rectList[3]))); + } + } } } -- cgit v1.2.3 From f70fd947327495b8c4ff9e595c1371dbcd43cd3f Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Sat, 1 Jun 2013 22:14:59 -0400 Subject: VOYEUR: Added in debugger and adding event manager methods --- engines/voyeur/debugger.cpp | 34 +++++++++++++++++++++++++++ engines/voyeur/debugger.h | 45 ++++++++++++++++++++++++++++++++++++ engines/voyeur/events.cpp | 56 +++++++++++++++++++++++++++++++++++++++++++++ engines/voyeur/events.h | 13 +++++++++++ engines/voyeur/module.mk | 1 + engines/voyeur/voyeur.cpp | 1 + engines/voyeur/voyeur.h | 2 ++ 7 files changed, 152 insertions(+) create mode 100644 engines/voyeur/debugger.cpp create mode 100644 engines/voyeur/debugger.h diff --git a/engines/voyeur/debugger.cpp b/engines/voyeur/debugger.cpp new file mode 100644 index 0000000000..8407ead22f --- /dev/null +++ b/engines/voyeur/debugger.cpp @@ -0,0 +1,34 @@ +/* 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 "voyeur/debugger.h" + +#include "voyeur/graphics.h" +#include "voyeur/voyeur.h" + +namespace Voyeur { + +Debugger::Debugger() : GUI::Debugger() { + DCmd_Register("continue", WRAP_METHOD(Debugger, Cmd_Exit)); +} + +} // End of namespace Voyeur diff --git a/engines/voyeur/debugger.h b/engines/voyeur/debugger.h new file mode 100644 index 0000000000..302008716b --- /dev/null +++ b/engines/voyeur/debugger.h @@ -0,0 +1,45 @@ +/* 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. + * + */ + +#ifndef VOYEUR_DEBUGGER_H +#define VOYEUR_DEBUGGER_H + +#include "common/scummsys.h" +#include "gui/debugger.h" + +namespace Voyeur { + +class VoyeurEngine; + +class Debugger : public GUI::Debugger { +private: + VoyeurEngine *_vm; + +public: + Debugger(); + virtual ~Debugger() {} + void setVm(VoyeurEngine *vm) { _vm = vm; } +}; + +} // End of namespace Voyeur + +#endif diff --git a/engines/voyeur/events.cpp b/engines/voyeur/events.cpp index c43c810b88..3202cb3b1f 100644 --- a/engines/voyeur/events.cpp +++ b/engines/voyeur/events.cpp @@ -27,6 +27,9 @@ namespace Voyeur { EventsManager::EventsManager() { _cycleStatus = 0; + _mouseButton = 0; + _priorFrameTime = g_system->getMillis(); + Common::fill(&_keyState[0], &_keyState[256], false); } void EventsManager::resetMouse() { @@ -71,4 +74,57 @@ void EventsManager::sWaitFlip() { } } +void EventsManager::checkForNextFrameCounter() { + // Check for next game frame + uint32 milli = g_system->getMillis(); + if ((milli - _priorFrameTime) >= GAME_FRAME_TIME) { + ++_gameCounter; + _priorFrameTime = milli; + + // Signal the ScummVM debugger + _vm->_debugger.onFrame(); + } +} + +void EventsManager::delay(int totalMilli) { + uint32 delayEnd = g_system->getMillis() + totalMilli; + + while (!_vm->shouldQuit() && g_system->getMillis() < delayEnd) { + g_system->delayMillis(10); + } +} + +void EventsManager::pollEvents() { + checkForNextFrameCounter(); + + Common::Event event; + while (g_system->getEventManager()->pollEvent(event)) { + // Handle keypress + switch (event.type) { + case Common::EVENT_QUIT: + case Common::EVENT_RTL: + return; + + case Common::EVENT_KEYDOWN: + _keyState[(byte)toupper(event.kbd.ascii)] = true; + return; + case Common::EVENT_KEYUP: + _keyState[(byte)toupper(event.kbd.ascii)] = false; + return; + case Common::EVENT_LBUTTONDOWN: + _mouseButton = 1; + return; + case Common::EVENT_RBUTTONDOWN: + _mouseButton = 2; + return; + case Common::EVENT_LBUTTONUP: + case Common::EVENT_RBUTTONUP: + _mouseButton = 0; + return; + default: + break; + } + } +} + } // End of namespace Voyeur diff --git a/engines/voyeur/events.h b/engines/voyeur/events.h index 98e491a56a..249db4a1fd 100644 --- a/engines/voyeur/events.h +++ b/engines/voyeur/events.h @@ -30,11 +30,21 @@ namespace Voyeur { class VoyeurEngine; +#define GAME_FRAME_RATE 50 +#define GAME_FRAME_TIME (1000 / GAME_FRAME_RATE) + class EventsManager { private: VoyeurEngine *_vm; + uint32 _priorFrameTime; + uint32 _gameCounter; + bool _keyState[256]; + int _mouseButton; static void mainVoyeurIntFunc(); +private: + void checkForNextFrameCounter(); + public: IntData _intPtr; IntNode _fadeIntNode; @@ -50,6 +60,9 @@ public: void startMainClockInt(); void vStopCycle(); void sWaitFlip(); + + void delay(int totalMilli); + void pollEvents(); }; } // End of namespace Voyeur diff --git a/engines/voyeur/module.mk b/engines/voyeur/module.mk index b13c414b92..bbe3d2e5e9 100644 --- a/engines/voyeur/module.mk +++ b/engines/voyeur/module.mk @@ -1,6 +1,7 @@ MODULE := engines/voyeur MODULE_OBJS := \ + debugger.o \ detection.o \ events.o \ game.o \ diff --git a/engines/voyeur/voyeur.cpp b/engines/voyeur/voyeur.cpp index 82ee1a87af..ea3e3ceb9a 100644 --- a/engines/voyeur/voyeur.cpp +++ b/engines/voyeur/voyeur.cpp @@ -93,6 +93,7 @@ int VoyeurEngine::getRandomNumber(int maxNumber) { } void VoyeurEngine::initialiseManagers() { + _debugger.setVm(this); _eventsManager.setVm(this); _filesManager.setVm(this); _graphicsManager.setVm(this); diff --git a/engines/voyeur/voyeur.h b/engines/voyeur/voyeur.h index 818615faaa..346d7fbc13 100644 --- a/engines/voyeur/voyeur.h +++ b/engines/voyeur/voyeur.h @@ -23,6 +23,7 @@ #ifndef VOYEUR_VOYEUR_H #define VOYEUR_VOYEUR_H +#include "voyeur/debugger.h" #include "voyeur/events.h" #include "voyeur/files.h" #include "voyeur/game.h" @@ -79,6 +80,7 @@ protected: virtual Common::Error run(); virtual bool hasFeature(EngineFeature f) const; public: + Debugger _debugger; EventsManager _eventsManager; FilesManager _filesManager; GraphicsManager _graphicsManager; -- cgit v1.2.3 From 2a2e1a08cf07b6e1d2fed86e64fb8b71575bbd6c Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Sun, 2 Jun 2013 22:33:47 -0400 Subject: VOYEUR: Fix to event manager delays and screen updates methods --- engines/voyeur/events.cpp | 7 +++++++ engines/voyeur/graphics.cpp | 4 ++-- engines/voyeur/voyeur.cpp | 1 + 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/engines/voyeur/events.cpp b/engines/voyeur/events.cpp index 3202cb3b1f..7a9bd5aa55 100644 --- a/engines/voyeur/events.cpp +++ b/engines/voyeur/events.cpp @@ -81,6 +81,11 @@ void EventsManager::checkForNextFrameCounter() { ++_gameCounter; _priorFrameTime = milli; + // Display the frame + g_system->copyRectToScreen((byte *)_vm->_graphicsManager._screenSurface.pixels, + SCREEN_WIDTH, 0, 0, SCREEN_WIDTH, SCREEN_HEIGHT); + g_system->updateScreen(); + // Signal the ScummVM debugger _vm->_debugger.onFrame(); } @@ -91,6 +96,8 @@ void EventsManager::delay(int totalMilli) { while (!_vm->shouldQuit() && g_system->getMillis() < delayEnd) { g_system->delayMillis(10); + + pollEvents(); } } diff --git a/engines/voyeur/graphics.cpp b/engines/voyeur/graphics.cpp index da077941ff..fb32e75b91 100644 --- a/engines/voyeur/graphics.cpp +++ b/engines/voyeur/graphics.cpp @@ -37,7 +37,7 @@ GraphicsManager::GraphicsManager() { _sImageShift = 3; _palFlag = false; _MCGAMode = false; - _saveBack = false; + _saveBack = true; _clipPtr = NULL; _viewPortListPtr = NULL; _vPort = NULL; @@ -396,7 +396,7 @@ void GraphicsManager::restoreBack(Common::Array &rectList, int rec if (rectListCount == -1) { sDrawPic(srcPic, destPic, Common::Point()); } else { - for (int i = rectListCount; i >= 0; --i) { + for (int i = rectListCount - 1; i >= 0; --i) { _clipPtr = &rectList[i]; sDrawPic(srcPic, destPic, Common::Point()); } diff --git a/engines/voyeur/voyeur.cpp b/engines/voyeur/voyeur.cpp index ea3e3ceb9a..79fb2fb0ca 100644 --- a/engines/voyeur/voyeur.cpp +++ b/engines/voyeur/voyeur.cpp @@ -151,6 +151,7 @@ void VoyeurEngine::doHeadTitle() { _eventsManager.sWaitFlip(); // TODO: + _eventsManager.delay(1000); } } -- cgit v1.2.3 From 6bce04959b05805829abf3382e699391f165f0fa Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Wed, 5 Jun 2013 21:28:51 -0400 Subject: VOYEUR: Implemented more doHeadTitle startup code, and startFade --- engines/voyeur/events.cpp | 85 +++++++++++++++++++++++++++++++++++++++++++-- engines/voyeur/events.h | 11 ++++-- engines/voyeur/files.cpp | 32 +++++++++++++---- engines/voyeur/files.h | 13 +++++-- engines/voyeur/game.cpp | 5 +++ engines/voyeur/game.h | 7 +++- engines/voyeur/graphics.cpp | 15 +++++++- engines/voyeur/graphics.h | 6 +++- engines/voyeur/voyeur.cpp | 36 +++++++++++++++++-- 9 files changed, 189 insertions(+), 21 deletions(-) diff --git a/engines/voyeur/events.cpp b/engines/voyeur/events.cpp index 7a9bd5aa55..29959a8fae 100644 --- a/engines/voyeur/events.cpp +++ b/engines/voyeur/events.cpp @@ -22,10 +22,11 @@ #include "voyeur/events.h" #include "voyeur/voyeur.h" +#include "graphics/palette.h" namespace Voyeur { -EventsManager::EventsManager() { +EventsManager::EventsManager(): _intPtr(_audioStruc) { _cycleStatus = 0; _mouseButton = 0; _priorFrameTime = g_system->getMillis(); @@ -56,7 +57,7 @@ void EventsManager::sWaitFlip() { // TODO: See if this needs a proper wait loop with event polling //while (_intPtr._field39) ; - Common::Array &viewPorts = *_vm->_graphicsManager._viewPortListPtr; + Common::Array &viewPorts = _vm->_graphicsManager._viewPortListPtr->_entries; for (uint idx = 0; idx < viewPorts.size(); ++idx) { ViewPortResource &viewPort = *viewPorts[idx]; @@ -81,6 +82,9 @@ void EventsManager::checkForNextFrameCounter() { ++_gameCounter; _priorFrameTime = milli; + // Run the timer-based updates + videoTimer(); + // Display the frame g_system->copyRectToScreen((byte *)_vm->_graphicsManager._screenSurface.pixels, SCREEN_WIDTH, 0, 0, SCREEN_WIDTH, SCREEN_HEIGHT); @@ -91,7 +95,18 @@ void EventsManager::checkForNextFrameCounter() { } } -void EventsManager::delay(int totalMilli) { +void EventsManager::videoTimer() { + if (_audioStruc._hasPalette) { + _audioStruc._hasPalette = false; + + g_system->getPaletteManager()->setPalette(_audioStruc._palette, + _audioStruc._palStartIndex, + _audioStruc._palEndIndex - _audioStruc._palStartIndex + 1); + } +} + +void EventsManager::delay(int cycles) { + uint32 totalMilli = cycles * 1000 / GAME_FRAME_RATE; uint32 delayEnd = g_system->getMillis() + totalMilli; while (!_vm->shouldQuit() && g_system->getMillis() < delayEnd) { @@ -134,4 +149,68 @@ void EventsManager::pollEvents() { } } +void EventsManager::startFade(CMapResource *cMap) { + _fadeIntNode._flags |= 1; + if (_cycleStatus & 1) + _cycleIntNode._flags |= 1; + + _fadeFirstCol = cMap->_start; + _fadeLastCol = cMap->_end; + _fadeCount = cMap->_steps + 1; + + if (cMap->_steps > 0) { + _vm->_graphicsManager._fadeStatus = cMap->_fadeStatus; + uint16 *destP = (uint16 *)(_vm->_graphicsManager._viewPortListPtr->_palette + + (_fadeFirstCol * 16)); + byte *vgaP = &_vm->_graphicsManager._VGAColors[_fadeFirstCol * 3]; + int mapIndex = 0; + + for (int idx = _fadeFirstCol; idx <= _fadeLastCol; ++idx) { + destP[0] = vgaP[0] << 8; + uint32 rComp = (uint16)((cMap->_entries[mapIndex * 3] << 8) - destP[0]) | 0x80; + destP[3] = rComp / cMap->_steps; + + destP[1] = vgaP[1] << 8; + uint32 gComp = (uint16)((cMap->_entries[mapIndex * 3 + 1] << 8) - destP[1]) | 0x80; + destP[4] = gComp / cMap->_steps; + + destP[2] = vgaP[2] << 8; + uint32 bComp = (uint16)((cMap->_entries[mapIndex * 3 + 2] << 8) - destP[2]) | 0x80; + destP[5] = bComp / cMap->_steps; + destP[6] = bComp % cMap->_steps; + + destP += 8; + + if (!(cMap->_fadeStatus & 1)) + ++mapIndex; + } + + if (cMap->_fadeStatus & 2) + _intPtr._field3B = 1; + _fadeIntNode._flags &= ~1; + } else { + byte *vgaP = &_vm->_graphicsManager._VGAColors[_fadeFirstCol * 3]; + int mapIndex = 0; + + for (int idx = _fadeFirstCol; idx <= _fadeLastCol; ++idx, vgaP += 3) { + Common::copy(&cMap->_entries[mapIndex], &cMap->_entries[mapIndex + 3], vgaP); + + if (!(cMap->_fadeStatus & 1)) + mapIndex += 3; + } + + if (_intPtr._palStartIndex > _fadeFirstCol) + _intPtr._palStartIndex = _fadeFirstCol; + if (_intPtr._palEndIndex < _fadeLastCol) + _intPtr._palEndIndex = _fadeLastCol; + + _intPtr._hasPalette = true; + if (!(cMap->_fadeStatus & 2)) + _intPtr._field38 = 1; + } + + if (_cycleStatus & 1) + _cycleIntNode._flags &= ~1; +} + } // End of namespace Voyeur diff --git a/engines/voyeur/events.h b/engines/voyeur/events.h index 249db4a1fd..f19a6ec7c2 100644 --- a/engines/voyeur/events.h +++ b/engines/voyeur/events.h @@ -29,6 +29,7 @@ namespace Voyeur { class VoyeurEngine; +class CMapResource; #define GAME_FRAME_RATE 50 #define GAME_FRAME_TIME (1000 / GAME_FRAME_RATE) @@ -44,14 +45,17 @@ private: static void mainVoyeurIntFunc(); private: void checkForNextFrameCounter(); - + void videoTimer(); public: - IntData _intPtr; + IntData _audioStruc; + IntData &_intPtr; IntNode _fadeIntNode; IntNode _cycleIntNode; IntNode _evintnode; IntNode _mainIntNode; int _cycleStatus; + int _fadeFirstCol, _fadeLastCol; + int _fadeCount; public: EventsManager(); void setVm(VoyeurEngine *vm) { _vm = vm; } @@ -61,8 +65,9 @@ public: void vStopCycle(); void sWaitFlip(); - void delay(int totalMilli); + void delay(int cycles); void pollEvents(); + void startFade(CMapResource *cMap); }; } // End of namespace Voyeur diff --git a/engines/voyeur/files.cpp b/engines/voyeur/files.cpp index 758ba9f481..4970fc2d24 100644 --- a/engines/voyeur/files.cpp +++ b/engines/voyeur/files.cpp @@ -251,6 +251,10 @@ bool BoltFile::getBoltGroup(uint32 id) { return true; } +void BoltFile::freeBoltGroup(uint32 id) { + warning("TODO: freeBoltGroup"); +} + BoltEntry &BoltFile::getBoltEntry(uint32 id) { BoltGroup &group = _groups[id >> 24]; assert(group._loaded); @@ -268,6 +272,13 @@ PictureResource *BoltFile::getPictureResouce(uint32 id) { return getBoltEntry(id)._picResource; } +CMapResource *BoltFile::getCMapResource(uint32 id) { + if ((int32)id == -1) + return NULL; + + return getBoltEntry(id)._cMapResource; +} + byte *BoltFile::memberAddr(uint32 id) { BoltGroup &group = _groups[id >> 8]; if (!group._loaded) @@ -417,7 +428,7 @@ void BoltFile::initViewPortList() { _state._curMemberPtr->_viewPortListResource = res = new ViewPortListResource( _state, _state._curMemberPtr->_data); - _state._vm->_graphicsManager._viewPortListPtr = &res->_entries; + _state._vm->_graphicsManager._viewPortListPtr = res; _state._vm->_graphicsManager._vPort = &res->_entries[0]; } @@ -441,6 +452,7 @@ BoltGroup::BoltGroup(Common::SeekableReadStream *f): _file(f) { _file->read(&buffer[0], BOLT_GROUP_SIZE); _processed = buffer[0] != 0; _callInitGro = buffer[1] != 0; + _termGroIndex = buffer[2]; _count = buffer[3] ? buffer[3] : 256; // TODO: Added this in. Check it's okay _fileOffset = READ_LE_UINT32(&buffer[8]); } @@ -546,8 +558,7 @@ PictureResource::PictureResource(BoltFilesState &state, const byte *src) { if (mode != state._vm->_graphicsManager._SVGAMode) { state._vm->_graphicsManager._SVGAMode = mode; - // TODO: If necessary, simulate SVGA mode change - warning("TODO: May need to implement SVGA stub code"); + state._vm->_graphicsManager.clearPalette(); } // byte *imgData = _imgData; @@ -746,6 +757,8 @@ ViewPortListResource::ViewPortListResource(BoltFilesState &state, const byte *sr assert(entry._viewPortResource); _entries.push_back(entry._viewPortResource); } + + state._curLibPtr->resolveIt(READ_LE_UINT32(src + 4), &_palette); } /*------------------------------------------------------------------------*/ @@ -756,17 +769,22 @@ FontResource::FontResource(BoltFilesState &state, const byte *src) { /*------------------------------------------------------------------------*/ -CMapResource::CMapResource(BoltFilesState &state, const byte *src) { +CMapResource::CMapResource(BoltFilesState &state, const byte *src): _vm(state._vm) { + _steps = READ_LE_UINT16(src); _start = READ_LE_UINT16(src + 2); _end = READ_LE_UINT16(src + 4); int count = _end - _start; - _palette = new byte[count * 3]; - Common::copy(src + 6, src + 6 + 3 * count, _palette); + _entries = new byte[count * 3]; + Common::copy(src + 6, src + 6 + 3 * count, _entries); } CMapResource::~CMapResource() { - delete[] _palette; + delete[] _entries; +} + +void CMapResource::startFade() { + _vm->_eventsManager.startFade(this); } /*------------------------------------------------------------------------*/ diff --git a/engines/voyeur/files.h b/engines/voyeur/files.h index da3d277f73..49d6db1333 100644 --- a/engines/voyeur/files.h +++ b/engines/voyeur/files.h @@ -127,6 +127,7 @@ public: ~BoltFile(); bool getBoltGroup(uint32 id); + void freeBoltGroup(uint32 id); byte *memberAddr(uint32 id); byte *memberAddrOffset(uint32 id); void resolveIt(uint32 id, byte **p); @@ -134,6 +135,7 @@ public: BoltEntry &getBoltEntry(uint32 id); PictureResource *getPictureResouce(uint32 id); + CMapResource *getCMapResource(uint32 id); }; class BoltGroup { @@ -143,6 +145,7 @@ public: byte _loaded; bool _processed; bool _callInitGro; + int _termGroIndex; int _count; int _fileOffset; Common::Array _entries; @@ -254,7 +257,7 @@ public: class ViewPortListResource { public: - byte *_field4; + byte *_palette; Common::Array _entries; ViewPortListResource(BoltFilesState &state, const byte *src); @@ -270,13 +273,19 @@ public: }; class CMapResource { +private: + VoyeurEngine *_vm; public: + int _steps; + int _fadeStatus; int _start; int _end; - byte *_palette; + byte *_entries; public: CMapResource(BoltFilesState &state, const byte *src); virtual ~CMapResource(); + + void startFade(); }; class VInitCyclResource { diff --git a/engines/voyeur/game.cpp b/engines/voyeur/game.cpp index 9167cd942b..7c1f49f64f 100644 --- a/engines/voyeur/game.cpp +++ b/engines/voyeur/game.cpp @@ -27,7 +27,12 @@ namespace Voyeur { IntData::IntData() { _field9 = false; _flipWait = false; + _hasPalette = false; + _field3B = 0; _field2A = 0; + _palStartIndex = 0; + _palEndIndex = 0; + _palette = NULL; } void IntData::audioInit() { diff --git a/engines/voyeur/game.h b/engines/voyeur/game.h index d99df39c02..2b9864cb3e 100644 --- a/engines/voyeur/game.h +++ b/engines/voyeur/game.h @@ -114,7 +114,12 @@ public: bool _field9; bool _flipWait; int _field2A; - byte *_colors; + bool _hasPalette; + int _field38; + int _field3B; + int _palStartIndex; + int _palEndIndex; + byte *_palette; Common::List _intNodes; public: IntData(); diff --git a/engines/voyeur/graphics.cpp b/engines/voyeur/graphics.cpp index fb32e75b91..a172483d00 100644 --- a/engines/voyeur/graphics.cpp +++ b/engines/voyeur/graphics.cpp @@ -24,6 +24,7 @@ #include "voyeur/game.h" #include "voyeur/voyeur.h" #include "engines/util.h" +#include "graphics/palette.h" #include "graphics/surface.h" namespace Voyeur { @@ -47,6 +48,8 @@ void GraphicsManager::sInitGraphics() { initGraphics(SCREEN_WIDTH, SCREEN_HEIGHT, false); _screenSurface.create(SCREEN_WIDTH, SCREEN_HEIGHT, Graphics::PixelFormat::createFormatCLUT8()); + + clearPalette(); } GraphicsManager::~GraphicsManager() { @@ -360,7 +363,7 @@ void GraphicsManager::EMSMapPageHandle(int v1, int v2, int v3) { } void GraphicsManager::flipPage() { - Common::Array &viewPorts = *_viewPortListPtr; + Common::Array &viewPorts = _viewPortListPtr->_entries; bool flipFlag = false; for (uint idx = 0; idx < viewPorts.size(); ++idx) { @@ -405,4 +408,14 @@ void GraphicsManager::restoreBack(Common::Array &rectList, int rec _saveBack = saveBack; } +void GraphicsManager::clearPalette() { + byte palette[768]; + Common::fill(&palette[0], &palette[768], 0); + g_system->getPaletteManager()->setPalette(&palette[0], 0, 256); +} + +void GraphicsManager::screenReset() { + // TODO +} + } // End of namespace Voyeur diff --git a/engines/voyeur/graphics.h b/engines/voyeur/graphics.h index 1eec37bab7..98f01c3bbe 100644 --- a/engines/voyeur/graphics.h +++ b/engines/voyeur/graphics.h @@ -41,6 +41,7 @@ class GraphicsManager; class DisplayResource; class PictureResource; class ViewPortResource; +class ViewPortListResource; typedef void (GraphicsManager::*GraphicMethodPtr)(); typedef void (GraphicsManager::*ViewPortSetupPtr)(ViewPortResource *); @@ -57,7 +58,7 @@ public: int _SVGAPage; int _SVGAMode; int _SVGAReset; - Common::Array *_viewPortListPtr; + ViewPortListResource *_viewPortListPtr; ViewPortResource **_vPort; bool _MCGAMode; bool _saveBack; @@ -66,6 +67,7 @@ public: uint _planeSelect; int _sImageShift; Graphics::Surface _screenSurface; + int _fadeStatus; private: static void fadeIntFunc(); static void vDoFadeInt(); @@ -92,6 +94,8 @@ public: void sDrawPic(DisplayResource *srcDisplay, DisplayResource *destDisplay, const Common::Point &offset); void sDisplayPic(PictureResource *pic); void flipPage(); + void clearPalette(); + void screenReset(); }; } // End of namespace Voyeur diff --git a/engines/voyeur/voyeur.cpp b/engines/voyeur/voyeur.cpp index 79fb2fb0ca..18f3edfecc 100644 --- a/engines/voyeur/voyeur.cpp +++ b/engines/voyeur/voyeur.cpp @@ -132,7 +132,7 @@ void VoyeurEngine::initBolt() { } void VoyeurEngine::vInitInterrupts() { - _eventsManager._intPtr._colors = &_graphicsManager._VGAColors[0]; + _eventsManager._intPtr._palette = &_graphicsManager._VGAColors[0]; } void VoyeurEngine::initInput() { @@ -142,6 +142,8 @@ void VoyeurEngine::doHeadTitle() { // char dest[144]; _eventsManager.startMainClockInt(); + + // Show starting screen if (_bVoy->getBoltGroup(0x10500)) { _graphicsManager._backgroundPage = _bVoy->getBoltEntry(0x5020000)._picResource; (*_graphicsManager._vPort)->setupViewPort(); @@ -150,8 +152,36 @@ void VoyeurEngine::doHeadTitle() { _graphicsManager.flipPage(); _eventsManager.sWaitFlip(); - // TODO: - _eventsManager.delay(1000); + // Fade in the screen + CMapResource *cMap = _bVoy->getCMapResource(0x5010000); + assert(cMap); + cMap->_steps = 60; + cMap->startFade(); + + _eventsManager.delay(150); + if (shouldQuit()) + return; + /* Commented out until fade in is working + // Fade out the screen + cMap->_steps = 30; + cMap->startFade(); + if (shouldQuit()) + return; + + (*_graphicsManager._vPort)->_flags |= 8; + _graphicsManager.flipPage(); + _eventsManager.sWaitFlip(); + + while (!shouldQuit() && (_graphicsManager._fadeStatus & 1)) + _eventsManager.delay(1); + + _graphicsManager.screenReset(); + _bVoy->freeBoltGroup(0x10500); + _graphicsManager.screenReset(); + + if (shouldQuit()) + return; + */ } } -- cgit v1.2.3 From f5ed290025ce2825fcdcc549ea6a1f651502bc44 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Wed, 5 Jun 2013 22:10:13 -0400 Subject: VOYEUR: Minor palette load bugfixes. First screen is now partly showing --- engines/voyeur/files.cpp | 3 ++- engines/voyeur/voyeur.cpp | 6 +++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/engines/voyeur/files.cpp b/engines/voyeur/files.cpp index 4970fc2d24..9afbe79783 100644 --- a/engines/voyeur/files.cpp +++ b/engines/voyeur/files.cpp @@ -770,7 +770,8 @@ FontResource::FontResource(BoltFilesState &state, const byte *src) { /*------------------------------------------------------------------------*/ CMapResource::CMapResource(BoltFilesState &state, const byte *src): _vm(state._vm) { - _steps = READ_LE_UINT16(src); + _steps = src[0]; + _fadeStatus = src[1]; _start = READ_LE_UINT16(src + 2); _end = READ_LE_UINT16(src + 4); diff --git a/engines/voyeur/voyeur.cpp b/engines/voyeur/voyeur.cpp index 18f3edfecc..325d696dd9 100644 --- a/engines/voyeur/voyeur.cpp +++ b/engines/voyeur/voyeur.cpp @@ -152,10 +152,10 @@ void VoyeurEngine::doHeadTitle() { _graphicsManager.flipPage(); _eventsManager.sWaitFlip(); - // Fade in the screen - CMapResource *cMap = _bVoy->getCMapResource(0x5010000); + // Immediate fade in to show the initial screen + CMapResource *cMap = _bVoy->getCMapResource(0x5030000); assert(cMap); - cMap->_steps = 60; + cMap->_steps = 0; cMap->startFade(); _eventsManager.delay(150); -- cgit v1.2.3 From adef1bc27df1208df20dc30ed83dea46b96e248d Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Thu, 6 Jun 2013 23:48:46 -0400 Subject: VOYEUR: Some cleanup of sDrawPic, and decompression fixes --- engines/voyeur/files.cpp | 8 ++++++-- engines/voyeur/graphics.cpp | 46 ++++++++++++++++++++++----------------------- 2 files changed, 29 insertions(+), 25 deletions(-) diff --git a/engines/voyeur/files.cpp b/engines/voyeur/files.cpp index 9afbe79783..9456aeb6be 100644 --- a/engines/voyeur/files.cpp +++ b/engines/voyeur/files.cpp @@ -57,8 +57,10 @@ BoltFilesState::BoltFilesState() { #define NEXT_BYTE if (--_bytesLeft <= 0) nextBlock() byte *BoltFilesState::decompress(byte *buf, int size, int mode) { - if (!buf) + if (!buf) { buf = new byte[size]; + Common::fill(buf, buf + size, 0); + } byte *bufP = buf; if (mode & 8) { @@ -116,7 +118,8 @@ byte *BoltFilesState::decompress(byte *buf, int size, int mode) { _decompState = 0; } else { _decompState = 1; - _runLength = len = size; + len = size; + _runLength -= size; if (_runType == 1) _runOffset += len; } @@ -593,6 +596,7 @@ PictureResource::PictureResource(BoltFilesState &state, const byte *src) { if (_flags & 0x10) { _imgData = new byte[nbytes]; + Common::fill(_imgData, _imgData + nbytes, 0); } else { _imgData = state.decompress(NULL, nbytes, state._curMemberPtr->_mode); } diff --git a/engines/voyeur/graphics.cpp b/engines/voyeur/graphics.cpp index a172483d00..7a6780085c 100644 --- a/engines/voyeur/graphics.cpp +++ b/engines/voyeur/graphics.cpp @@ -154,7 +154,7 @@ void GraphicsManager::sDrawPic(DisplayResource *srcDisplay, DisplayResource *des int height1; int srcOffset; int screenOffset; - int flags1, flags2; + int srcFlags, destFlags; ViewPortResource *destViewPort = NULL; Common::Rect newBounds; Common::Rect backBounds; @@ -163,7 +163,7 @@ void GraphicsManager::sDrawPic(DisplayResource *srcDisplay, DisplayResource *des int var52; int var20, var22; int var26; - byte *imgData1, *imgData2; + byte *srcImgData, *destImgData; byte *srcP, *destP; // Get the picture parameters, or deference viewport pointers to get their pictures @@ -184,10 +184,10 @@ void GraphicsManager::sDrawPic(DisplayResource *srcDisplay, DisplayResource *des width1 = width2 = srcPic->_bounds.width(); height1 = srcPic->_bounds.height(); srcOffset = 0; - flags1 = srcPic->_flags; - flags2 = destPic->_flags; + srcFlags = srcPic->_flags; + destFlags = destPic->_flags; - if (flags1 & 1) { + if (srcFlags & 1) { if (_clipPtr) { int xs = _clipPtr->left - srcPic->_bounds.left; int ys = _clipPtr->top - srcPic->_bounds.top; @@ -262,8 +262,8 @@ void GraphicsManager::sDrawPic(DisplayResource *srcDisplay, DisplayResource *des } } - if (flags1 & 0x1000) { - imgData1 = srcPic->_imgData + (var4C << 14) + _screenOffset; + if (srcFlags & 0x1000) { + srcImgData = srcPic->_imgData + (var4C << 14) + _screenOffset; for (uint idx = 0; idx < srcPic->_maskData; ++idx) { if (var4C < 4) { EMSMapPageHandle(srcPic->_planeSize, srcPic->_imgData[idx], var4C); @@ -271,10 +271,10 @@ void GraphicsManager::sDrawPic(DisplayResource *srcDisplay, DisplayResource *des } } } else { - imgData1 = srcPic->_imgData; + srcImgData = srcPic->_imgData; } - if (flags2 & 0x1000) { - imgData2 = destPic->_imgData + (var4C << 14) + _screenOffset; + if (destFlags & 0x1000) { + destImgData = destPic->_imgData + (var4C << 14) + _screenOffset; for (uint idx = 0; idx < srcPic->_maskData; ++idx) { if (var4C < 4) { EMSMapPageHandle(destPic->_planeSize, destPic->_imgData[idx], var4C); @@ -282,7 +282,7 @@ void GraphicsManager::sDrawPic(DisplayResource *srcDisplay, DisplayResource *des } } } else { - imgData2 = destPic->_imgData; + destImgData = destPic->_imgData; } _SVGAPage = _SVGAReset; @@ -290,24 +290,24 @@ void GraphicsManager::sDrawPic(DisplayResource *srcDisplay, DisplayResource *des return; if (srcPic->_pick == 0xff) { - if (flags1 & 8) { + if (srcFlags & 8) { error("TODO: sDrawPic"); } else { - srcP = imgData1 + srcOffset; + srcP = srcImgData + srcOffset; - if (flags2 & 8) { + if (destFlags & 8) { // loc_258D8 - destP = imgData2 + screenOffset; + destP = destImgData + screenOffset; - if (flags1 & 2) { - // loc_258F5 + if (srcFlags & 2) { + // loc_258F5f } else { // loc_25D40 - if (flags1 & 0x100) { + if (srcFlags & 0x100) { // loc_25D4A } else { // loc_2606D - destP = (byte *)_screenSurface.pixels; + destP = (byte *)_screenSurface.pixels + screenOffset; for (int yp = 0; yp < height1; ++yp) { Common::copy(srcP, srcP + width2, destP); @@ -317,14 +317,14 @@ void GraphicsManager::sDrawPic(DisplayResource *srcDisplay, DisplayResource *des } } } else { - destP = imgData2 + screenOffset; + destP = destImgData + screenOffset; // loc_2615E - if (flags1 & 2) { + if (srcFlags & 2) { error("TODO: sDrawPic"); } else { - if (flags1 & 0x100) { - srcP = imgData1; + if (srcFlags & 0x100) { + srcP = srcImgData; if (isClipped) { // loc_26424 -- cgit v1.2.3 From 8342e1ed75c9d17e262b9dbb9aad32153d530745 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Fri, 7 Jun 2013 20:15:26 -0400 Subject: VOYEUR: Fix glitch in decoding first screen --- engines/voyeur/files.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/engines/voyeur/files.cpp b/engines/voyeur/files.cpp index 9456aeb6be..c335e8a485 100644 --- a/engines/voyeur/files.cpp +++ b/engines/voyeur/files.cpp @@ -54,7 +54,7 @@ BoltFilesState::BoltFilesState() { _boltPageFrame = NULL; } -#define NEXT_BYTE if (--_bytesLeft <= 0) nextBlock() +#define NEXT_BYTE if (--_bytesLeft < 0) nextBlock() byte *BoltFilesState::decompress(byte *buf, int size, int mode) { if (!buf) { -- cgit v1.2.3 From 8d6d3d8aa629c452daa27aa8cf49497d8cf02fce Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Fri, 7 Jun 2013 21:22:00 -0400 Subject: VOYEUR: Some fixes for startup palette loading --- engines/voyeur/events.cpp | 2 +- engines/voyeur/graphics.cpp | 2 +- engines/voyeur/voyeur.cpp | 7 ++++--- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/engines/voyeur/events.cpp b/engines/voyeur/events.cpp index 29959a8fae..02b0f7f738 100644 --- a/engines/voyeur/events.cpp +++ b/engines/voyeur/events.cpp @@ -159,7 +159,7 @@ void EventsManager::startFade(CMapResource *cMap) { _fadeCount = cMap->_steps + 1; if (cMap->_steps > 0) { - _vm->_graphicsManager._fadeStatus = cMap->_fadeStatus; + _vm->_graphicsManager._fadeStatus = cMap->_fadeStatus | 1; uint16 *destP = (uint16 *)(_vm->_graphicsManager._viewPortListPtr->_palette + (_fadeFirstCol * 16)); byte *vgaP = &_vm->_graphicsManager._VGAColors[_fadeFirstCol * 3]; diff --git a/engines/voyeur/graphics.cpp b/engines/voyeur/graphics.cpp index 7a6780085c..36184dbd76 100644 --- a/engines/voyeur/graphics.cpp +++ b/engines/voyeur/graphics.cpp @@ -77,7 +77,7 @@ void GraphicsManager::fadeIntFunc() { } void GraphicsManager::vDoFadeInt() { - // TODO: more + } void GraphicsManager::vDoCycleInt() { diff --git a/engines/voyeur/voyeur.cpp b/engines/voyeur/voyeur.cpp index 325d696dd9..aa48ebdd8a 100644 --- a/engines/voyeur/voyeur.cpp +++ b/engines/voyeur/voyeur.cpp @@ -152,17 +152,19 @@ void VoyeurEngine::doHeadTitle() { _graphicsManager.flipPage(); _eventsManager.sWaitFlip(); - // Immediate fade in to show the initial screen + // Immediate palette load to show the initial screen CMapResource *cMap = _bVoy->getCMapResource(0x5030000); assert(cMap); cMap->_steps = 0; cMap->startFade(); + // Wait briefly _eventsManager.delay(150); if (shouldQuit()) return; - /* Commented out until fade in is working + // Fade out the screen + cMap = _bVoy->getCMapResource(0x5040000); cMap->_steps = 30; cMap->startFade(); if (shouldQuit()) @@ -181,7 +183,6 @@ void VoyeurEngine::doHeadTitle() { if (shouldQuit()) return; - */ } } -- cgit v1.2.3 From 48c18a7c1448a169cc07e21e4f2e883642e9e42a Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Fri, 7 Jun 2013 22:07:57 -0400 Subject: VOYEUR: Implemented decoding of viewport list palette data --- engines/voyeur/events.cpp | 29 +++++++++++++---------------- engines/voyeur/files.cpp | 22 ++++++++++++++++++++-- engines/voyeur/files.h | 12 +++++++++++- 3 files changed, 44 insertions(+), 19 deletions(-) diff --git a/engines/voyeur/events.cpp b/engines/voyeur/events.cpp index 02b0f7f738..a59d11ca45 100644 --- a/engines/voyeur/events.cpp +++ b/engines/voyeur/events.cpp @@ -160,26 +160,23 @@ void EventsManager::startFade(CMapResource *cMap) { if (cMap->_steps > 0) { _vm->_graphicsManager._fadeStatus = cMap->_fadeStatus | 1; - uint16 *destP = (uint16 *)(_vm->_graphicsManager._viewPortListPtr->_palette + - (_fadeFirstCol * 16)); byte *vgaP = &_vm->_graphicsManager._VGAColors[_fadeFirstCol * 3]; int mapIndex = 0; for (int idx = _fadeFirstCol; idx <= _fadeLastCol; ++idx) { - destP[0] = vgaP[0] << 8; - uint32 rComp = (uint16)((cMap->_entries[mapIndex * 3] << 8) - destP[0]) | 0x80; - destP[3] = rComp / cMap->_steps; - - destP[1] = vgaP[1] << 8; - uint32 gComp = (uint16)((cMap->_entries[mapIndex * 3 + 1] << 8) - destP[1]) | 0x80; - destP[4] = gComp / cMap->_steps; - - destP[2] = vgaP[2] << 8; - uint32 bComp = (uint16)((cMap->_entries[mapIndex * 3 + 2] << 8) - destP[2]) | 0x80; - destP[5] = bComp / cMap->_steps; - destP[6] = bComp % cMap->_steps; - - destP += 8; + ViewPortPalEntry &palEntry = _vm->_graphicsManager._viewPortListPtr->_palette[idx]; + palEntry._rEntry = vgaP[0] << 8; + uint32 rComp = (uint16)((cMap->_entries[mapIndex * 3] << 8) - palEntry._rEntry) | 0x80; + palEntry.field6 = rComp / cMap->_steps; + + palEntry._gEntry = vgaP[1] << 8; + uint32 gComp = (uint16)((cMap->_entries[mapIndex * 3 + 1] << 8) - palEntry._gEntry) | 0x80; + palEntry.field8 = gComp / cMap->_steps; + + palEntry._bEntry = vgaP[2] << 8; + uint32 bComp = (uint16)((cMap->_entries[mapIndex * 3 + 2] << 8) -palEntry._bEntry) | 0x80; + palEntry.fieldA = bComp / cMap->_steps; + palEntry.fieldC = bComp % cMap->_steps; if (!(cMap->_fadeStatus & 1)) ++mapIndex; diff --git a/engines/voyeur/files.cpp b/engines/voyeur/files.cpp index c335e8a485..3bf0d5174c 100644 --- a/engines/voyeur/files.cpp +++ b/engines/voyeur/files.cpp @@ -752,8 +752,13 @@ void ViewPortResource::setupViewPort() { ViewPortListResource::ViewPortListResource(BoltFilesState &state, const byte *src) { uint count = READ_LE_UINT16(src); - uint32 *idP = (uint32 *)&src[8]; + // Load palette map + byte *palData = state._curLibPtr->memberAddr(READ_LE_UINT32(src + 4)); + for (uint i = 0; i < 256; ++i, palData += 16) + _palette.push_back(ViewPortPalEntry(palData)); + // Load view port pointer list + uint32 *idP = (uint32 *)&src[8]; for (uint i = 0; i < count; ++i, ++idP) { uint32 id = READ_LE_UINT32(idP); BoltEntry &entry = state._curLibPtr->getBoltEntry(id); @@ -761,10 +766,23 @@ ViewPortListResource::ViewPortListResource(BoltFilesState &state, const byte *sr assert(entry._viewPortResource); _entries.push_back(entry._viewPortResource); } +} - state._curLibPtr->resolveIt(READ_LE_UINT32(src + 4), &_palette); +/*------------------------------------------------------------------------*/ + +ViewPortPalEntry::ViewPortPalEntry(const byte *src) { + uint16 *v = (uint16 *)src; + _rEntry = READ_LE_UINT16(v++); + _gEntry = READ_LE_UINT16(v++); + _bEntry = READ_LE_UINT16(v++); + field6 = READ_LE_UINT16(v++); + field8 = READ_LE_UINT16(v++); + fieldA = READ_LE_UINT16(v++); + fieldC = READ_LE_UINT16(v++); + fieldE = READ_LE_UINT16(v++); } + /*------------------------------------------------------------------------*/ FontResource::FontResource(BoltFilesState &state, const byte *src) { diff --git a/engines/voyeur/files.h b/engines/voyeur/files.h index 49d6db1333..4edf1892a7 100644 --- a/engines/voyeur/files.h +++ b/engines/voyeur/files.h @@ -255,9 +255,19 @@ public: void setupViewPort(); }; +class ViewPortPalEntry { +public: + uint16 _rEntry, _gEntry, _bEntry; + uint16 field6, field8, fieldA; + uint16 fieldC; + uint16 fieldE; +public: + ViewPortPalEntry(const byte *src); +}; + class ViewPortListResource { public: - byte *_palette; + Common::Array _palette; Common::Array _entries; ViewPortListResource(BoltFilesState &state, const byte *src); -- cgit v1.2.3 From 3780d9abecdb769f85129d63194df77aab364f21 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Sat, 8 Jun 2013 10:31:37 -0400 Subject: VOYEUR: Major cleanup of code between EventsManager and GraphicsManager --- engines/voyeur/events.cpp | 84 +++++++++++++++++++++++++++++++++++++++++---- engines/voyeur/events.h | 24 ++++++++++++- engines/voyeur/files.cpp | 9 +++-- engines/voyeur/files.h | 5 ++- engines/voyeur/game.cpp | 13 ------- engines/voyeur/game.h | 15 -------- engines/voyeur/graphics.cpp | 28 --------------- engines/voyeur/graphics.h | 6 ---- engines/voyeur/voyeur.cpp | 6 ++-- 9 files changed, 109 insertions(+), 81 deletions(-) diff --git a/engines/voyeur/events.cpp b/engines/voyeur/events.cpp index a59d11ca45..88a0be879f 100644 --- a/engines/voyeur/events.cpp +++ b/engines/voyeur/events.cpp @@ -26,9 +26,19 @@ namespace Voyeur { +IntNode::IntNode() { + _intFunc = NULL; + _curTime = 0; + _timeReset = 0; + _flags = 0; +} + +/*------------------------------------------------------------------------*/ + EventsManager::EventsManager(): _intPtr(_audioStruc) { _cycleStatus = 0; _mouseButton = 0; + _fadeStatus = 0; _priorFrameTime = g_system->getMillis(); Common::fill(&_keyState[0], &_keyState[256], false); } @@ -38,14 +48,14 @@ void EventsManager::resetMouse() { } void EventsManager::startMainClockInt() { - _mainIntNode._intFunc = mainVoyeurIntFunc; + _mainIntNode._intFunc = &EventsManager::mainVoyeurIntFunc; _mainIntNode._flags = 0; _mainIntNode._curTime = 0; _mainIntNode._timeReset = _vm->_graphicsManager._palFlag ? 50 : 60; } void EventsManager::mainVoyeurIntFunc() { - + // TODO } void EventsManager::vStopCycle() { @@ -159,7 +169,7 @@ void EventsManager::startFade(CMapResource *cMap) { _fadeCount = cMap->_steps + 1; if (cMap->_steps > 0) { - _vm->_graphicsManager._fadeStatus = cMap->_fadeStatus | 1; + _fadeStatus = cMap->_fadeStatus |= 1; byte *vgaP = &_vm->_graphicsManager._VGAColors[_fadeFirstCol * 3]; int mapIndex = 0; @@ -167,16 +177,16 @@ void EventsManager::startFade(CMapResource *cMap) { ViewPortPalEntry &palEntry = _vm->_graphicsManager._viewPortListPtr->_palette[idx]; palEntry._rEntry = vgaP[0] << 8; uint32 rComp = (uint16)((cMap->_entries[mapIndex * 3] << 8) - palEntry._rEntry) | 0x80; - palEntry.field6 = rComp / cMap->_steps; + palEntry._rChange = rComp / cMap->_steps; palEntry._gEntry = vgaP[1] << 8; uint32 gComp = (uint16)((cMap->_entries[mapIndex * 3 + 1] << 8) - palEntry._gEntry) | 0x80; - palEntry.field8 = gComp / cMap->_steps; + palEntry._gChange = gComp / cMap->_steps; palEntry._bEntry = vgaP[2] << 8; uint32 bComp = (uint16)((cMap->_entries[mapIndex * 3 + 2] << 8) -palEntry._bEntry) | 0x80; - palEntry.fieldA = bComp / cMap->_steps; - palEntry.fieldC = bComp % cMap->_steps; + palEntry._bChange = bComp / cMap->_steps; + palEntry._palIndex = bComp % cMap->_steps; if (!(cMap->_fadeStatus & 1)) ++mapIndex; @@ -210,4 +220,64 @@ void EventsManager::startFade(CMapResource *cMap) { _cycleIntNode._flags &= ~1; } +void EventsManager::addIntNode(IntNode *node) { + _intNodes.push_back(node); +} + +void EventsManager::addFadeInt() { + IntNode &node = _fadeIntNode; + node._intFunc = &EventsManager::fadeIntFunc; + node._flags = 0; + node._curTime = 0; + node._timeReset = 1; + + addIntNode(&node); +} + +void EventsManager::vDoFadeInt() { + if (_intPtr._field3B & 1) + return; + if (--_fadeCount == 0) { + _fadeIntNode._flags |= 1; + _fadeStatus &= ~1; + } + + + for (int i = _fadeFirstCol; i <= _fadeLastCol; ++i) { + ViewPortPalEntry &palEntry = _vm->_graphicsManager._viewPortListPtr->_palette[i]; + byte *vgaP = &_vm->_graphicsManager._VGAColors[palEntry._palIndex * 3]; + + palEntry._rEntry += palEntry._rChange; + palEntry._gEntry += palEntry._gChange; + palEntry._bEntry += palEntry._bChange; + + vgaP[0] = palEntry._rEntry >> 8; + vgaP[1] = palEntry._gEntry >> 8; + vgaP[2] = palEntry._bEntry >> 8; + } + + if (_intPtr._palStartIndex > _fadeFirstCol) + _intPtr._palStartIndex = _fadeFirstCol; + if (_intPtr._palEndIndex < _fadeLastCol) + _intPtr._palEndIndex = _fadeLastCol; + + _intPtr._hasPalette = true; + _intPtr._field38 = 1; +} + +void EventsManager::vDoCycleInt() { + // TODO: more +} + + +void EventsManager::fadeIntFunc() { + // TODO: more +} + +void EventsManager::vInitColor() { + _fadeIntNode._intFunc = &EventsManager::vDoFadeInt; + _cycleIntNode._intFunc = &EventsManager::vDoCycleInt; + // TODO: more +} + } // End of namespace Voyeur diff --git a/engines/voyeur/events.h b/engines/voyeur/events.h index f19a6ec7c2..1b47109c5c 100644 --- a/engines/voyeur/events.h +++ b/engines/voyeur/events.h @@ -29,11 +29,24 @@ namespace Voyeur { class VoyeurEngine; +class EventsManager; class CMapResource; #define GAME_FRAME_RATE 50 #define GAME_FRAME_TIME (1000 / GAME_FRAME_RATE) +typedef void (EventsManager::*EventMethodPtr)(); + +class IntNode { +public: + EventMethodPtr _intFunc; + uint32 _curTime; + uint32 _timeReset; + uint32 _flags; +public: + IntNode(); +}; + class EventsManager { private: VoyeurEngine *_vm; @@ -41,11 +54,15 @@ private: uint32 _gameCounter; bool _keyState[256]; int _mouseButton; + Common::List _intNodes; - static void mainVoyeurIntFunc(); + void mainVoyeurIntFunc(); private: void checkForNextFrameCounter(); void videoTimer(); + void vDoFadeInt(); + void vDoCycleInt(); + void fadeIntFunc(); public: IntData _audioStruc; IntData &_intPtr; @@ -56,6 +73,8 @@ public: int _cycleStatus; int _fadeFirstCol, _fadeLastCol; int _fadeCount; + int _fadeStatus; + public: EventsManager(); void setVm(VoyeurEngine *vm) { _vm = vm; } @@ -64,10 +83,13 @@ public: void startMainClockInt(); void vStopCycle(); void sWaitFlip(); + void vInitColor(); void delay(int cycles); void pollEvents(); void startFade(CMapResource *cMap); + void addIntNode(IntNode *node); + void addFadeInt(); }; } // End of namespace Voyeur diff --git a/engines/voyeur/files.cpp b/engines/voyeur/files.cpp index 3bf0d5174c..383523e149 100644 --- a/engines/voyeur/files.cpp +++ b/engines/voyeur/files.cpp @@ -775,11 +775,10 @@ ViewPortPalEntry::ViewPortPalEntry(const byte *src) { _rEntry = READ_LE_UINT16(v++); _gEntry = READ_LE_UINT16(v++); _bEntry = READ_LE_UINT16(v++); - field6 = READ_LE_UINT16(v++); - field8 = READ_LE_UINT16(v++); - fieldA = READ_LE_UINT16(v++); - fieldC = READ_LE_UINT16(v++); - fieldE = READ_LE_UINT16(v++); + _rChange = READ_LE_UINT16(v++); + _gChange = READ_LE_UINT16(v++); + _bChange = READ_LE_UINT16(v++); + _palIndex = READ_LE_UINT16(v++); } diff --git a/engines/voyeur/files.h b/engines/voyeur/files.h index 4edf1892a7..816813769f 100644 --- a/engines/voyeur/files.h +++ b/engines/voyeur/files.h @@ -258,9 +258,8 @@ public: class ViewPortPalEntry { public: uint16 _rEntry, _gEntry, _bEntry; - uint16 field6, field8, fieldA; - uint16 fieldC; - uint16 fieldE; + uint16 _rChange, _gChange, _bChange; + uint16 _palIndex; public: ViewPortPalEntry(const byte *src); }; diff --git a/engines/voyeur/game.cpp b/engines/voyeur/game.cpp index 7c1f49f64f..d6aeb69eb7 100644 --- a/engines/voyeur/game.cpp +++ b/engines/voyeur/game.cpp @@ -39,17 +39,4 @@ void IntData::audioInit() { } -void IntData::addIntNode(IntNode *node) { - _intNodes.push_back(node); -} - -/*------------------------------------------------------------------------*/ - -IntNode::IntNode() { - _intFunc = NULL; - _curTime = 0; - _timeReset = 0; - _flags = 0; -} - } // End of namespace Voyeur diff --git a/engines/voyeur/game.h b/engines/voyeur/game.h index 2b9864cb3e..7acc921096 100644 --- a/engines/voyeur/game.h +++ b/engines/voyeur/game.h @@ -97,18 +97,6 @@ public: int _policeEvent; }; -typedef void (*IntFuncPtr)(); - -class IntNode { -public: - IntFuncPtr _intFunc; - uint32 _curTime; - uint32 _timeReset; - uint32 _flags; -public: - IntNode(); -}; - class IntData { public: bool _field9; @@ -120,13 +108,10 @@ public: int _palStartIndex; int _palEndIndex; byte *_palette; - Common::List _intNodes; public: IntData(); void audioInit(); - void addIntNode(IntNode *node); - }; } // End of namespace Voyeur diff --git a/engines/voyeur/graphics.cpp b/engines/voyeur/graphics.cpp index 36184dbd76..a236e8bbd3 100644 --- a/engines/voyeur/graphics.cpp +++ b/engines/voyeur/graphics.cpp @@ -56,34 +56,6 @@ GraphicsManager::~GraphicsManager() { _screenSurface.free(); } -void GraphicsManager::addFadeInt() { - IntNode &node = _vm->_eventsManager._fadeIntNode; - node._intFunc = fadeIntFunc; - node._flags = 0; - node._curTime = 0; - node._timeReset = 1; - - _vm->_eventsManager._intPtr.addIntNode(&node); -} - -void GraphicsManager::vInitColor() { - _vm->_eventsManager._fadeIntNode._intFunc = vDoFadeInt; - _vm->_eventsManager._cycleIntNode._intFunc = vDoCycleInt; - // TODO: more -} - -void GraphicsManager::fadeIntFunc() { - // TODO: more -} - -void GraphicsManager::vDoFadeInt() { - -} - -void GraphicsManager::vDoCycleInt() { - // TODO: more -} - void GraphicsManager::setupMCGASaveRect(ViewPortResource *viewPort) { _MCGAMode = true; diff --git a/engines/voyeur/graphics.h b/engines/voyeur/graphics.h index 98f01c3bbe..c1a0adafd1 100644 --- a/engines/voyeur/graphics.h +++ b/engines/voyeur/graphics.h @@ -67,13 +67,10 @@ public: uint _planeSelect; int _sImageShift; Graphics::Surface _screenSurface; - int _fadeStatus; private: static void fadeIntFunc(); - static void vDoFadeInt(); static void vDoCycleInt(); - void addIntNode(IntNode *node); void restoreBack(Common::Array &rectList, int rectListCount, PictureResource *srcPic, PictureResource *destPic); public: @@ -82,9 +79,6 @@ public: void setVm(VoyeurEngine *vm) { _vm = vm; } void sInitGraphics(); - void vInitColor(); - void addFadeInt(); - void setupMCGASaveRect(ViewPortResource *viewPort); void addRectOptSaveRect(ViewPortResource *viewPort, int idx, const Common::Rect &bounds); void restoreMCGASaveRect(ViewPortResource *viewPort); diff --git a/engines/voyeur/voyeur.cpp b/engines/voyeur/voyeur.cpp index aa48ebdd8a..98d88ac75a 100644 --- a/engines/voyeur/voyeur.cpp +++ b/engines/voyeur/voyeur.cpp @@ -121,13 +121,13 @@ void VoyeurEngine::globalInitBolt() { _voy._evidence[18] = 9999; _voy._curICF0 = _graphicsManager._palFlag ? 0xFFFFA5E0 : 0x5F90; - _graphicsManager.addFadeInt(); + _eventsManager.addFadeInt(); } void VoyeurEngine::initBolt() { vInitInterrupts(); _graphicsManager.sInitGraphics(); - _graphicsManager.vInitColor(); + _eventsManager.vInitColor(); initInput(); } @@ -174,7 +174,7 @@ void VoyeurEngine::doHeadTitle() { _graphicsManager.flipPage(); _eventsManager.sWaitFlip(); - while (!shouldQuit() && (_graphicsManager._fadeStatus & 1)) + while (!shouldQuit() && (_eventsManager._fadeStatus & 1)) _eventsManager.delay(1); _graphicsManager.screenReset(); -- cgit v1.2.3 From 11a4fef956dc955c44fc323bdb28580bcb8888e5 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Sat, 8 Jun 2013 15:41:22 -0400 Subject: VOYEUR: Some further work implementing fading --- engines/voyeur/events.cpp | 76 ++++++++++++++++++++++++++++++++++++--------- engines/voyeur/events.h | 10 ++++-- engines/voyeur/game.cpp | 12 +++++-- engines/voyeur/game.h | 13 ++++++-- engines/voyeur/graphics.cpp | 2 +- 5 files changed, 90 insertions(+), 23 deletions(-) diff --git a/engines/voyeur/events.cpp b/engines/voyeur/events.cpp index 88a0be879f..f76f99ac9f 100644 --- a/engines/voyeur/events.cpp +++ b/engines/voyeur/events.cpp @@ -33,9 +33,17 @@ IntNode::IntNode() { _flags = 0; } +IntNode::IntNode(uint16 curTime, uint16 timeReset, uint16 flags) { + _intFunc = NULL; + _curTime = curTime; + _timeReset = timeReset; + _flags = flags; +} + /*------------------------------------------------------------------------*/ -EventsManager::EventsManager(): _intPtr(_audioStruc) { +EventsManager::EventsManager(): _intPtr(_gameData), + _fadeIntNode(0, 0, 3), _cycleIntNode(0, 0, 3) { _cycleStatus = 0; _mouseButton = 0; _fadeStatus = 0; @@ -65,7 +73,7 @@ void EventsManager::vStopCycle() { void EventsManager::sWaitFlip() { // TODO: See if this needs a proper wait loop with event polling - //while (_intPtr._field39) ; + //while (_intPtr.field39) ; Common::Array &viewPorts = _vm->_graphicsManager._viewPortListPtr->_entries; for (uint idx = 0; idx < viewPorts.size(); ++idx) { @@ -93,7 +101,7 @@ void EventsManager::checkForNextFrameCounter() { _priorFrameTime = milli; // Run the timer-based updates - videoTimer(); + voyeurTimer(); // Display the frame g_system->copyRectToScreen((byte *)_vm->_graphicsManager._screenSurface.pixels, @@ -105,13 +113,51 @@ void EventsManager::checkForNextFrameCounter() { } } +void EventsManager::voyeurTimer() { + _gameData.field22 += _gameData.field24; + _gameData.field1A += _gameData.field1E; + // _gameData.field1C += _gameData._timerFn; *** WHY INC field by a function pointer?! + + _gameData.field16 = 0; + _gameData.field3D = 1; + + if (--_gameData.field26 <= 0) { + if (_gameData._flipWait) { + _gameData.field38 = 1; + _gameData._flipWait = false; + _gameData.field3B = 0; + } + + _gameData.field26 >>= 8; + } + + videoTimer(); + + // Iterate through the list of registered nodes + Common::List::iterator i; + for (i = _intNodes.begin(); i != _intNodes.end(); ++i) { + IntNode &node = **i; + + if (node._flags & 1) + continue; + if (!(node._flags & 2)) { + if (--node._curTime != 0) + continue; + + node._curTime = node._timeReset; + } + + (this->*node._intFunc)(); + } +} + void EventsManager::videoTimer() { - if (_audioStruc._hasPalette) { - _audioStruc._hasPalette = false; + if (_gameData._hasPalette) { + _gameData._hasPalette = false; - g_system->getPaletteManager()->setPalette(_audioStruc._palette, - _audioStruc._palStartIndex, - _audioStruc._palEndIndex - _audioStruc._palStartIndex + 1); + g_system->getPaletteManager()->setPalette(_gameData._palette, + _gameData._palStartIndex, + _gameData._palEndIndex - _gameData._palStartIndex + 1); } } @@ -193,7 +239,7 @@ void EventsManager::startFade(CMapResource *cMap) { } if (cMap->_fadeStatus & 2) - _intPtr._field3B = 1; + _intPtr.field3B = 1; _fadeIntNode._flags &= ~1; } else { byte *vgaP = &_vm->_graphicsManager._VGAColors[_fadeFirstCol * 3]; @@ -213,7 +259,7 @@ void EventsManager::startFade(CMapResource *cMap) { _intPtr._hasPalette = true; if (!(cMap->_fadeStatus & 2)) - _intPtr._field38 = 1; + _intPtr.field38 = 1; } if (_cycleStatus & 1) @@ -225,7 +271,7 @@ void EventsManager::addIntNode(IntNode *node) { } void EventsManager::addFadeInt() { - IntNode &node = _fadeIntNode; + IntNode &node = _fade2IntNode; node._intFunc = &EventsManager::fadeIntFunc; node._flags = 0; node._curTime = 0; @@ -235,7 +281,7 @@ void EventsManager::addFadeInt() { } void EventsManager::vDoFadeInt() { - if (_intPtr._field3B & 1) + if (_intPtr.field3B & 1) return; if (--_fadeCount == 0) { _fadeIntNode._flags |= 1; @@ -262,7 +308,7 @@ void EventsManager::vDoFadeInt() { _intPtr._palEndIndex = _fadeLastCol; _intPtr._hasPalette = true; - _intPtr._field38 = 1; + _intPtr.field38 = 1; } void EventsManager::vDoCycleInt() { @@ -277,7 +323,9 @@ void EventsManager::fadeIntFunc() { void EventsManager::vInitColor() { _fadeIntNode._intFunc = &EventsManager::vDoFadeInt; _cycleIntNode._intFunc = &EventsManager::vDoCycleInt; - // TODO: more + + addIntNode(&_fadeIntNode); + addIntNode(&_cycleIntNode); } } // End of namespace Voyeur diff --git a/engines/voyeur/events.h b/engines/voyeur/events.h index 1b47109c5c..22626cd003 100644 --- a/engines/voyeur/events.h +++ b/engines/voyeur/events.h @@ -24,6 +24,7 @@ #define VOYEUR_EVENTS_H #include "common/scummsys.h" +#include "common/list.h" #include "voyeur/game.h" namespace Voyeur { @@ -40,11 +41,12 @@ typedef void (EventsManager::*EventMethodPtr)(); class IntNode { public: EventMethodPtr _intFunc; - uint32 _curTime; - uint32 _timeReset; + uint16 _curTime; + uint16 _timeReset; uint32 _flags; public: IntNode(); + IntNode(uint16 curTime, uint16 timeReset, uint16 flags); }; class EventsManager { @@ -59,14 +61,16 @@ private: void mainVoyeurIntFunc(); private: void checkForNextFrameCounter(); + void voyeurTimer(); void videoTimer(); void vDoFadeInt(); void vDoCycleInt(); void fadeIntFunc(); public: - IntData _audioStruc; + IntData _gameData; IntData &_intPtr; IntNode _fadeIntNode; + IntNode _fade2IntNode; IntNode _cycleIntNode; IntNode _evintnode; IntNode _mainIntNode; diff --git a/engines/voyeur/game.cpp b/engines/voyeur/game.cpp index d6aeb69eb7..e1ad8592f0 100644 --- a/engines/voyeur/game.cpp +++ b/engines/voyeur/game.cpp @@ -28,8 +28,16 @@ IntData::IntData() { _field9 = false; _flipWait = false; _hasPalette = false; - _field3B = 0; - _field2A = 0; + field16 = 0; + field1A = 0; + field1E = 0; + field22 = 0; + field24 = 0; + field26 = 0; + field2A = 0; + field38 = 0; + field3B = 0; + field3D = 0; _palStartIndex = 0; _palEndIndex = 0; _palette = NULL; diff --git a/engines/voyeur/game.h b/engines/voyeur/game.h index 7acc921096..5ad90ddf1a 100644 --- a/engines/voyeur/game.h +++ b/engines/voyeur/game.h @@ -101,10 +101,17 @@ class IntData { public: bool _field9; bool _flipWait; - int _field2A; + int field16; + int field1A; + int field1E; + int field22; + int field24; + int field26; + int field2A; bool _hasPalette; - int _field38; - int _field3B; + int field38; + int field3B; + int field3D; int _palStartIndex; int _palEndIndex; byte *_palette; diff --git a/engines/voyeur/graphics.cpp b/engines/voyeur/graphics.cpp index a236e8bbd3..7f9fd48c8f 100644 --- a/engines/voyeur/graphics.cpp +++ b/engines/voyeur/graphics.cpp @@ -324,7 +324,7 @@ void GraphicsManager::sDrawPic(DisplayResource *srcDisplay, DisplayResource *des */ void GraphicsManager::sDisplayPic(PictureResource *pic) { if (pic->_flags & 8) { - _vm->_eventsManager._intPtr._field2A = READ_LE_UINT32(pic->_imgData) >> _sImageShift; + _vm->_eventsManager._intPtr.field2A = READ_LE_UINT32(pic->_imgData) >> _sImageShift; } _vm->_eventsManager._intPtr._flipWait = true; -- cgit v1.2.3 From b1eeefaab1c0ac5b7fa3513bbe5415e2a08d23ca Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Sat, 8 Jun 2013 15:49:44 -0400 Subject: VOYEUR: Implement freeBoltGroup and related logic --- engines/voyeur/files.cpp | 17 ++++++++++++++++- engines/voyeur/files.h | 2 ++ 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/engines/voyeur/files.cpp b/engines/voyeur/files.cpp index 383523e149..3bbea7a5d1 100644 --- a/engines/voyeur/files.cpp +++ b/engines/voyeur/files.cpp @@ -255,7 +255,11 @@ bool BoltFile::getBoltGroup(uint32 id) { } void BoltFile::freeBoltGroup(uint32 id) { - warning("TODO: freeBoltGroup"); + _state._curLibPtr = this; + _state._curGroupPtr = &_groups[(id >> 8) & 0xff]; + + // Unload the group + _state._curGroupPtr->unload(); } BoltEntry &BoltFile::getBoltEntry(uint32 id) { @@ -460,6 +464,9 @@ BoltGroup::BoltGroup(Common::SeekableReadStream *f): _file(f) { _fileOffset = READ_LE_UINT32(&buffer[8]); } +BoltGroup::~BoltGroup() { +} + void BoltGroup::load() { _file->seek(_fileOffset); @@ -470,6 +477,14 @@ void BoltGroup::load() { _loaded = true; } +void BoltGroup::unload() { + if (!_loaded) + return; + + _entries.clear(); + _loaded = false; +} + /*------------------------------------------------------------------------*/ BoltEntry::BoltEntry(Common::SeekableReadStream *f): _file(f) { diff --git a/engines/voyeur/files.h b/engines/voyeur/files.h index 816813769f..996dc2b3a0 100644 --- a/engines/voyeur/files.h +++ b/engines/voyeur/files.h @@ -151,8 +151,10 @@ public: Common::Array _entries; public: BoltGroup(Common::SeekableReadStream *f); + virtual ~BoltGroup(); void load(); + void unload(); }; -- cgit v1.2.3 From 54c470d36ff9d739644bb93df7e693d162eedbd1 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Sat, 8 Jun 2013 17:51:41 -0400 Subject: VOYEUR: Implemented fillPic and related code --- engines/voyeur/files.cpp | 12 ++++++ engines/voyeur/files.h | 1 + engines/voyeur/graphics.cpp | 93 ++++++++++++++++++++++++++++++++++++++++++--- engines/voyeur/graphics.h | 3 ++ engines/voyeur/voyeur.cpp | 1 - 5 files changed, 104 insertions(+), 6 deletions(-) diff --git a/engines/voyeur/files.cpp b/engines/voyeur/files.cpp index 3bbea7a5d1..02d7c7a25b 100644 --- a/engines/voyeur/files.cpp +++ b/engines/voyeur/files.cpp @@ -543,6 +543,7 @@ PictureResource::PictureResource(BoltFilesState &state, const byte *src) { _bounds = Common::Rect(xs, ys, xs + READ_LE_UINT16(&src[10]), ys + READ_LE_UINT16(&src[12])); _maskData = READ_LE_UINT32(&src[14]); + _planeSize = READ_LE_UINT16(&src[22]); _imgData = NULL; @@ -618,6 +619,17 @@ PictureResource::PictureResource(BoltFilesState &state, const byte *src) { } } +PictureResource::PictureResource() { + _select = 0; + _pick = 0; + _onOff = 0; + _depth = 0; + _maskData = 0; + _planeSize = 0; + + _imgData = NULL; +} + PictureResource::~PictureResource() { delete _imgData; } diff --git a/engines/voyeur/files.h b/engines/voyeur/files.h index 996dc2b3a0..df29924fa3 100644 --- a/engines/voyeur/files.h +++ b/engines/voyeur/files.h @@ -215,6 +215,7 @@ public: byte *_imgData; public: PictureResource(BoltFilesState &state, const byte *src); + PictureResource(); virtual ~PictureResource(); }; diff --git a/engines/voyeur/graphics.cpp b/engines/voyeur/graphics.cpp index 7f9fd48c8f..e579d7f2ff 100644 --- a/engines/voyeur/graphics.cpp +++ b/engines/voyeur/graphics.cpp @@ -220,11 +220,24 @@ void GraphicsManager::sDrawPic(DisplayResource *srcDisplay, DisplayResource *des widthDiff2 = destPic->_bounds.width() - width2; if (destViewPort) { - error("TODO: Examine further when it's actually used"); if (!_saveBack || ((srcPic->_flags & 0x800) != 0)) { - // TODO + backBounds.left = destPic->_bounds.left + offset.x; + backBounds.top = destPic->_bounds.top + offset.y; + backBounds.setWidth(width2); + backBounds.setHeight(height1); + addRectOptSaveRect(destViewPort, 1, backBounds); + } else if (!destViewPort->_addFn) { - // TODO + if (destViewPort->_rectListCount[destViewPort->_pageIndex] < -1) { + Common::Rect r; + r.left = destPic->_bounds.left + offset.x; + r.top = destPic->_bounds.top + offset.y; + r.setWidth(width2); + r.setHeight(height1); + + (*destViewPort->_rectListPtr[destViewPort->_pageIndex]).push_back(r); + ++destViewPort->_rectListCount[destViewPort->_pageIndex]; + } } else { int xs = ofs.x + destPic->_bounds.left; int ys = ofs.y + destPic->_bounds.top; @@ -315,8 +328,46 @@ void GraphicsManager::sDrawPic(DisplayResource *srcDisplay, DisplayResource *des } } } else { - error("TODO: sDrawPic"); + // loc_26666 + if (srcPic->_pick == 0) { + // loc_2727A + int onOff = srcPic->_onOff; + int onOff2 = onOff | (onOff << 8); + + if (srcFlags & 2) { + if (srcFlags & 8) { + + } else { + + } + } else { + // TODO + + } + + } else { + // loc_26673 + // TODO + } + } +} + +void GraphicsManager::fillPic(DisplayResource *display, byte onOff) { + PictureResource *pic; + if (display->_flags & 0x8000) { + pic = ((ViewPortResource *)display)->_currentPic; + } else { + pic = (PictureResource *)display; } + + PictureResource picResource; + picResource._flags = 0; + picResource._select = 0xff; + picResource._pick = 0; + picResource._onOff = onOff; + picResource._bounds = pic->_bounds; + + sDrawPic(&picResource, display, Common::Point()); } /** @@ -386,8 +437,40 @@ void GraphicsManager::clearPalette() { g_system->getPaletteManager()->setPalette(&palette[0], 0, 256); } +void GraphicsManager::resetPalette() { + for (int i = 0; i < 256; ++i) + setColor(i, 0, 0, 0); + + _vm->_eventsManager._intPtr.field38 = 1; + _vm->_eventsManager._intPtr._hasPalette = true; +} + +void GraphicsManager::setColor(int idx, int r, int g, int b) { + byte *vgaP = &_VGAColors[idx * 3]; + vgaP[0] = r >> 2; + vgaP[1] = g >> 2; + vgaP[2] = b >> 2; + + _vm->_eventsManager._intPtr._palStartIndex = MIN(_vm->_eventsManager._intPtr._palStartIndex, idx); + _vm->_eventsManager._intPtr._palEndIndex = MAX(_vm->_eventsManager._intPtr._palEndIndex, idx); +} + void GraphicsManager::screenReset() { - // TODO + resetPalette(); + (*_vPort)->setupViewPort(); + fillPic(*_vPort, 0); + + // Flag the following viewport + uint i = 0; + while (i < _viewPortListPtr->_entries.size() && _viewPortListPtr->_entries[i] != *_vPort) + ++i; + assert(i < (_viewPortListPtr->_entries.size() - 1)); + + _viewPortListPtr->_entries[i + 1]->_flags |= 8; + + // Flip + flipPage(); + _vm->_eventsManager.sWaitFlip(); } } // End of namespace Voyeur diff --git a/engines/voyeur/graphics.h b/engines/voyeur/graphics.h index c1a0adafd1..5d0b00d35c 100644 --- a/engines/voyeur/graphics.h +++ b/engines/voyeur/graphics.h @@ -86,9 +86,12 @@ public: void EMSMapPageHandle(int v1, int v2, int v3); void sDrawPic(DisplayResource *srcDisplay, DisplayResource *destDisplay, const Common::Point &offset); + void GraphicsManager::fillPic(DisplayResource *display, byte onOff); void sDisplayPic(PictureResource *pic); void flipPage(); void clearPalette(); + void resetPalette(); + void setColor(int idx, int r, int g, int b); void screenReset(); }; diff --git a/engines/voyeur/voyeur.cpp b/engines/voyeur/voyeur.cpp index 98d88ac75a..93bb7a664a 100644 --- a/engines/voyeur/voyeur.cpp +++ b/engines/voyeur/voyeur.cpp @@ -179,7 +179,6 @@ void VoyeurEngine::doHeadTitle() { _graphicsManager.screenReset(); _bVoy->freeBoltGroup(0x10500); - _graphicsManager.screenReset(); if (shouldQuit()) return; -- cgit v1.2.3 From 7bf4d492538fefa73787f687913f1b905af8f808 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Mon, 10 Jun 2013 21:29:12 -0400 Subject: VOYEUR: Starting to implement code for the lock screen --- engines/voyeur/files.cpp | 19 +++++++++ engines/voyeur/files.h | 1 + engines/voyeur/game.cpp | 3 ++ engines/voyeur/graphics.cpp | 17 ++++++++ engines/voyeur/graphics.h | 22 ++++++++++ engines/voyeur/module.mk | 1 + engines/voyeur/utils.cpp | 31 ++++++++++++++ engines/voyeur/utils.h | 37 ++++++++++++++++ engines/voyeur/voyeur.cpp | 101 +++++++++++++++++++++++++++----------------- engines/voyeur/voyeur.h | 6 ++- 10 files changed, 198 insertions(+), 40 deletions(-) create mode 100644 engines/voyeur/utils.cpp create mode 100644 engines/voyeur/utils.h diff --git a/engines/voyeur/files.cpp b/engines/voyeur/files.cpp index 02d7c7a25b..bdbf05c633 100644 --- a/engines/voyeur/files.cpp +++ b/engines/voyeur/files.cpp @@ -191,6 +191,25 @@ bool FilesManager::openBoltLib(const Common::String &filename, BoltFile *&boltFi return true; } +byte *FilesManager::fload(const Common::String &filename, int *size) { + Common::File f; + int filesize; + byte *data = NULL; + + if (f.open(filename)) { + // Read in the file + filesize = f.size(); + data = new byte[filesize]; + f.read(data, filesize); + } else { + filesize = 0; + } + + if (size) + *size = filesize; + return data; +} + /*------------------------------------------------------------------------*/ const BoltMethodPtr BoltFile::_fnInitType[25] = { diff --git a/engines/voyeur/files.h b/engines/voyeur/files.h index df29924fa3..d1b3a09ac4 100644 --- a/engines/voyeur/files.h +++ b/engines/voyeur/files.h @@ -195,6 +195,7 @@ public: void setVm(VoyeurEngine *vm) { _boltFilesState._vm = vm; } bool openBoltLib(const Common::String &filename, BoltFile *&boltFile); + byte *fload(const Common::String &filename, int *size = NULL); }; class DisplayResource { diff --git a/engines/voyeur/game.cpp b/engines/voyeur/game.cpp index e1ad8592f0..9d71fbf653 100644 --- a/engines/voyeur/game.cpp +++ b/engines/voyeur/game.cpp @@ -21,6 +21,7 @@ */ #include "voyeur/game.h" +#include "voyeur/voyeur.h" namespace Voyeur { @@ -47,4 +48,6 @@ void IntData::audioInit() { } +/*------------------------------------------------------------------------*/ + } // End of namespace Voyeur diff --git a/engines/voyeur/graphics.cpp b/engines/voyeur/graphics.cpp index e579d7f2ff..0f077d5074 100644 --- a/engines/voyeur/graphics.cpp +++ b/engines/voyeur/graphics.cpp @@ -29,6 +29,23 @@ namespace Voyeur { +FontInfo::FontInfo() { + _curFont = NULL; + _picFlags = 3; + _picSelect = 0xff; + _picPick = 0xff; + _picOnOff = 0; + _fontFlags = 0; + _justify = 0; + _fontSaveBack = 0; + _justifyWidth = 1; + _justifyHeight = 1; + _shadow = Common::Point(1, 1); + _foreColor = 1; + _backColor = 0; + _shadowColor = 0; +} + GraphicsManager::GraphicsManager() { _SVGAPage = 0; _SVGAMode = 0; diff --git a/engines/voyeur/graphics.h b/engines/voyeur/graphics.h index 5d0b00d35c..2e65089af6 100644 --- a/engines/voyeur/graphics.h +++ b/engines/voyeur/graphics.h @@ -42,6 +42,28 @@ class DisplayResource; class PictureResource; class ViewPortResource; class ViewPortListResource; +class FontResource; + +class FontInfo { +public: + FontResource *_curFont; + byte _picFlags; + byte _picSelect; + byte _picPick; + byte _picOnOff; + byte _fontFlags; + byte _justify; + int _fontSaveBack; + Common::Point _pos; + int _justifyWidth; + int _justifyHeight; + Common::Point _shadow; + int _foreColor; + int _backColor; + int _shadowColor; +public: + FontInfo(); +}; typedef void (GraphicsManager::*GraphicMethodPtr)(); typedef void (GraphicsManager::*ViewPortSetupPtr)(ViewPortResource *); diff --git a/engines/voyeur/module.mk b/engines/voyeur/module.mk index bbe3d2e5e9..3e9cbe436a 100644 --- a/engines/voyeur/module.mk +++ b/engines/voyeur/module.mk @@ -7,6 +7,7 @@ MODULE_OBJS := \ game.o \ files.o \ graphics.o \ + utils.o \ voyeur.o # This module can be built as a plugin diff --git a/engines/voyeur/utils.cpp b/engines/voyeur/utils.cpp new file mode 100644 index 0000000000..4ddfd71f6d --- /dev/null +++ b/engines/voyeur/utils.cpp @@ -0,0 +1,31 @@ +/* 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 "voyeur/utils.h" + +namespace Voyeur { + +void LockClass::getSysData() { + +} + +} // End of namespace Voyeur diff --git a/engines/voyeur/utils.h b/engines/voyeur/utils.h new file mode 100644 index 0000000000..9aed6b3ef4 --- /dev/null +++ b/engines/voyeur/utils.h @@ -0,0 +1,37 @@ +/* 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. + * + */ + +#ifndef VOYEUR_UTILS_H +#define VOYEUR_UTILS_H + +#include "common/scummsys.h" + +namespace Voyeur { + +class LockClass { +public: + void getSysData(); +}; + +} // End of namespace Voyeur + +#endif /* VOYEUR_UTILS_H */ diff --git a/engines/voyeur/voyeur.cpp b/engines/voyeur/voyeur.cpp index 93bb7a664a..5c3c42c46f 100644 --- a/engines/voyeur/voyeur.cpp +++ b/engines/voyeur/voyeur.cpp @@ -144,45 +144,70 @@ void VoyeurEngine::doHeadTitle() { _eventsManager.startMainClockInt(); // Show starting screen - if (_bVoy->getBoltGroup(0x10500)) { - _graphicsManager._backgroundPage = _bVoy->getBoltEntry(0x5020000)._picResource; - (*_graphicsManager._vPort)->setupViewPort(); - (*_graphicsManager._vPort)->_flags |= 8; - - _graphicsManager.flipPage(); - _eventsManager.sWaitFlip(); - - // Immediate palette load to show the initial screen - CMapResource *cMap = _bVoy->getCMapResource(0x5030000); - assert(cMap); - cMap->_steps = 0; - cMap->startFade(); - - // Wait briefly - _eventsManager.delay(150); - if (shouldQuit()) - return; - - // Fade out the screen - cMap = _bVoy->getCMapResource(0x5040000); - cMap->_steps = 30; - cMap->startFade(); - if (shouldQuit()) - return; - - (*_graphicsManager._vPort)->_flags |= 8; - _graphicsManager.flipPage(); - _eventsManager.sWaitFlip(); - - while (!shouldQuit() && (_eventsManager._fadeStatus & 1)) - _eventsManager.delay(1); - - _graphicsManager.screenReset(); - _bVoy->freeBoltGroup(0x10500); - - if (shouldQuit()) - return; + if (_bVoy->getBoltGroup(0x10500)) + showConversionScreen(); + if (shouldQuit()) + return; + + doLock(); + + // TODO +} + +void VoyeurEngine::showConversionScreen() { + _graphicsManager._backgroundPage = _bVoy->getBoltEntry(0x5020000)._picResource; + (*_graphicsManager._vPort)->setupViewPort(); + (*_graphicsManager._vPort)->_flags |= 8; + + _graphicsManager.flipPage(); + _eventsManager.sWaitFlip(); + + // Immediate palette load to show the initial screen + CMapResource *cMap = _bVoy->getCMapResource(0x5030000); + assert(cMap); + cMap->_steps = 0; + cMap->startFade(); + + // Wait briefly + _eventsManager.delay(150); + if (shouldQuit()) + return; + + // Fade out the screen + cMap = _bVoy->getCMapResource(0x5040000); + cMap->_steps = 30; + cMap->startFade(); + if (shouldQuit()) + return; + + (*_graphicsManager._vPort)->_flags |= 8; + _graphicsManager.flipPage(); + _eventsManager.sWaitFlip(); + + while (!shouldQuit() && (_eventsManager._fadeStatus & 1)) + _eventsManager.delay(1); + + _graphicsManager.screenReset(); + _bVoy->freeBoltGroup(0x10500); +} + +bool VoyeurEngine::doLock() { + int var12 = 0; + int var14 = 0; + int di = 1; + int wrongSize; + byte *buttonVoc = _filesManager.fload("button.voc"); + byte *wrongVoc = _filesManager.fload("wrong.voc", &wrongSize); + bool result = false; + + if (_bVoy->getBoltGroup(0x10700)) { + } + + delete[] buttonVoc; + delete[] wrongVoc; + + return result; } } // End of namespace Voyeur diff --git a/engines/voyeur/voyeur.h b/engines/voyeur/voyeur.h index 346d7fbc13..0b74208fa4 100644 --- a/engines/voyeur/voyeur.h +++ b/engines/voyeur/voyeur.h @@ -75,6 +75,10 @@ private: void initBolt(); void vInitInterrupts(); void initInput(); + + void doHeadTitle(); + void showConversionScreen(); + bool doLock(); protected: // Engine APIs virtual Common::Error run(); @@ -101,8 +105,6 @@ public: virtual bool canSaveGameStateCurrently(); virtual Common::Error loadGameState(int slot); virtual Common::Error saveGameState(int slot, const Common::String &desc); - - void doHeadTitle(); }; } // End of namespace Voyeur -- cgit v1.2.3 From ca8a47700da17ef0c4de934a5fc980ca1e9de92e Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Mon, 10 Jun 2013 21:46:19 -0400 Subject: VOYEUR: Add missing code from CMapResource & ViewPortListResource initialisation --- engines/voyeur/files.cpp | 7 +++++++ engines/voyeur/files.h | 1 + 2 files changed, 8 insertions(+) diff --git a/engines/voyeur/files.cpp b/engines/voyeur/files.cpp index bdbf05c633..f258e53221 100644 --- a/engines/voyeur/files.cpp +++ b/engines/voyeur/files.cpp @@ -797,6 +797,7 @@ void ViewPortResource::setupViewPort() { ViewPortListResource::ViewPortListResource(BoltFilesState &state, const byte *src) { uint count = READ_LE_UINT16(src); + _palIndex = READ_LE_UINT16(src + 2); // Load palette map byte *palData = state._curLibPtr->memberAddr(READ_LE_UINT32(src + 4)); @@ -845,6 +846,12 @@ CMapResource::CMapResource(BoltFilesState &state, const byte *src): _vm(state._v int count = _end - _start; _entries = new byte[count * 3]; Common::copy(src + 6, src + 6 + 3 * count, _entries); + + int palIndex = state._vm->_graphicsManager._viewPortListPtr->_palIndex; + if (_end > palIndex) + _end = palIndex; + if (_start > palIndex) + _start = palIndex; } CMapResource::~CMapResource() { diff --git a/engines/voyeur/files.h b/engines/voyeur/files.h index d1b3a09ac4..e24318fce1 100644 --- a/engines/voyeur/files.h +++ b/engines/voyeur/files.h @@ -272,6 +272,7 @@ class ViewPortListResource { public: Common::Array _palette; Common::Array _entries; + int _palIndex; ViewPortListResource(BoltFilesState &state, const byte *src); virtual ~ViewPortListResource() {} -- cgit v1.2.3 From f9b2c62bcd9522d67efde81af95b6c5401013f21 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Mon, 10 Jun 2013 23:24:02 -0400 Subject: VOYEUR: Fading now works correctly --- engines/voyeur/events.cpp | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/engines/voyeur/events.cpp b/engines/voyeur/events.cpp index f76f99ac9f..84e993effe 100644 --- a/engines/voyeur/events.cpp +++ b/engines/voyeur/events.cpp @@ -215,25 +215,25 @@ void EventsManager::startFade(CMapResource *cMap) { _fadeCount = cMap->_steps + 1; if (cMap->_steps > 0) { - _fadeStatus = cMap->_fadeStatus |= 1; + _fadeStatus = cMap->_fadeStatus | 1; byte *vgaP = &_vm->_graphicsManager._VGAColors[_fadeFirstCol * 3]; int mapIndex = 0; - for (int idx = _fadeFirstCol; idx <= _fadeLastCol; ++idx) { + for (int idx = _fadeFirstCol; idx <= _fadeLastCol; ++idx, vgaP += 3) { ViewPortPalEntry &palEntry = _vm->_graphicsManager._viewPortListPtr->_palette[idx]; palEntry._rEntry = vgaP[0] << 8; - uint32 rComp = (uint16)((cMap->_entries[mapIndex * 3] << 8) - palEntry._rEntry) | 0x80; - palEntry._rChange = rComp / cMap->_steps; + int rDiff = (cMap->_entries[mapIndex * 3] << 8) - palEntry._rEntry; + palEntry._rChange = rDiff / cMap->_steps; palEntry._gEntry = vgaP[1] << 8; - uint32 gComp = (uint16)((cMap->_entries[mapIndex * 3 + 1] << 8) - palEntry._gEntry) | 0x80; - palEntry._gChange = gComp / cMap->_steps; + int gDiff = (cMap->_entries[mapIndex * 3 + 1] << 8) - palEntry._gEntry; + palEntry._gChange = gDiff / cMap->_steps; palEntry._bEntry = vgaP[2] << 8; - uint32 bComp = (uint16)((cMap->_entries[mapIndex * 3 + 2] << 8) -palEntry._bEntry) | 0x80; - palEntry._bChange = bComp / cMap->_steps; - palEntry._palIndex = bComp % cMap->_steps; - + int bDiff = (cMap->_entries[mapIndex * 3 + 2] << 8) - palEntry._bEntry; + palEntry._bChange = bDiff / cMap->_steps; + + palEntry._palIndex = idx; if (!(cMap->_fadeStatus & 1)) ++mapIndex; } -- cgit v1.2.3 From e24e181a2a7ca734550c75905ea6e8c079d4a20d Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Wed, 12 Jun 2013 22:13:52 -0400 Subject: VOYEUR: Work implementing the lock display screen --- engines/voyeur/events.cpp | 7 ++ engines/voyeur/events.h | 5 +- engines/voyeur/files.cpp | 14 ++-- engines/voyeur/files.h | 3 +- engines/voyeur/game.h | 3 +- engines/voyeur/graphics.cpp | 23 +++++- engines/voyeur/graphics.h | 9 ++- engines/voyeur/module.mk | 1 + engines/voyeur/sound.cpp | 47 ++++++++++++ engines/voyeur/sound.h | 47 ++++++++++++ engines/voyeur/utils.cpp | 26 ++++++- engines/voyeur/utils.h | 24 +++++- engines/voyeur/voyeur.cpp | 176 +++++++++++++++++++++++++++++++++++++++++--- engines/voyeur/voyeur.h | 2 + 14 files changed, 364 insertions(+), 23 deletions(-) create mode 100644 engines/voyeur/sound.cpp create mode 100644 engines/voyeur/sound.h diff --git a/engines/voyeur/events.cpp b/engines/voyeur/events.cpp index 84e993effe..47f70d39bf 100644 --- a/engines/voyeur/events.cpp +++ b/engines/voyeur/events.cpp @@ -199,6 +199,9 @@ void EventsManager::pollEvents() { case Common::EVENT_RBUTTONUP: _mouseButton = 0; return; + case Common::EVENT_MOUSEMOVE: + _mousePos = event.mouse; + break; default: break; } @@ -328,4 +331,8 @@ void EventsManager::vInitColor() { addIntNode(&_cycleIntNode); } +void EventsManager::setCursorTo(int idx, int mode) { + // TODO +} + } // End of namespace Voyeur diff --git a/engines/voyeur/events.h b/engines/voyeur/events.h index 22626cd003..8689127b0d 100644 --- a/engines/voyeur/events.h +++ b/engines/voyeur/events.h @@ -57,6 +57,7 @@ private: bool _keyState[256]; int _mouseButton; Common::List _intNodes; + Common::Point _mousePos; void mainVoyeurIntFunc(); private: @@ -78,7 +79,6 @@ public: int _fadeFirstCol, _fadeLastCol; int _fadeCount; int _fadeStatus; - public: EventsManager(); void setVm(VoyeurEngine *vm) { _vm = vm; } @@ -94,6 +94,9 @@ public: void startFade(CMapResource *cMap); void addIntNode(IntNode *node); void addFadeInt(); + + void setCursorTo(int idx, int mode); + Common::Point getMousePos() { return _mousePos; } }; } // End of namespace Voyeur diff --git a/engines/voyeur/files.cpp b/engines/voyeur/files.cpp index f258e53221..b2f4d4f58c 100644 --- a/engines/voyeur/files.cpp +++ b/engines/voyeur/files.cpp @@ -291,7 +291,7 @@ BoltEntry &BoltFile::getBoltEntry(uint32 id) { return entry; } -PictureResource *BoltFile::getPictureResouce(uint32 id) { +PictureResource *BoltFile::getPictureResource(uint32 id) { if ((int32)id == -1) return NULL; @@ -669,10 +669,10 @@ ViewPortResource::ViewPortResource(BoltFilesState &state, const byte *src): ys + READ_LE_UINT16(src + 18)); _field18 = READ_LE_UINT16(src + 0x18); - _currentPic = state._curLibPtr->getPictureResouce(READ_LE_UINT32(src + 0x20)); - _activePage = state._curLibPtr->getPictureResouce(READ_LE_UINT32(src + 0x24)); - _pages[0] = state._curLibPtr->getPictureResouce(READ_LE_UINT32(src + 0x28)); - _pages[1] = state._curLibPtr->getPictureResouce(READ_LE_UINT32(src + 0x2C)); + _currentPic = state._curLibPtr->getPictureResource(READ_LE_UINT32(src + 0x20)); + _activePage = state._curLibPtr->getPictureResource(READ_LE_UINT32(src + 0x24)); + _pages[0] = state._curLibPtr->getPictureResource(READ_LE_UINT32(src + 0x28)); + _pages[1] = state._curLibPtr->getPictureResource(READ_LE_UINT32(src + 0x2C)); state._curLibPtr->resolveIt(READ_LE_UINT32(src + 0x30), &_field30); @@ -793,6 +793,10 @@ void ViewPortResource::setupViewPort() { &GraphicsManager::restoreMCGASaveRect); } +void ViewPortResource::drawText(const Common::String &msg) { + // TODO +} + /*------------------------------------------------------------------------*/ ViewPortListResource::ViewPortListResource(BoltFilesState &state, const byte *src) { diff --git a/engines/voyeur/files.h b/engines/voyeur/files.h index e24318fce1..4d3c2039c5 100644 --- a/engines/voyeur/files.h +++ b/engines/voyeur/files.h @@ -134,7 +134,7 @@ public: void resolveFunction(uint32 id, GraphicMethodPtr *fn); BoltEntry &getBoltEntry(uint32 id); - PictureResource *getPictureResouce(uint32 id); + PictureResource *getPictureResource(uint32 id); CMapResource *getCMapResource(uint32 id); }; @@ -257,6 +257,7 @@ public: virtual ~ViewPortResource(); void setupViewPort(); + void drawText(const Common::String &msg); }; class ViewPortPalEntry { diff --git a/engines/voyeur/game.h b/engines/voyeur/game.h index 5ad90ddf1a..e47a880422 100644 --- a/engines/voyeur/game.h +++ b/engines/voyeur/game.h @@ -38,8 +38,7 @@ public: int _type; int _data1; int _data2; - int _data3; - int _data4; + byte *_data; }; class SVoy { diff --git a/engines/voyeur/graphics.cpp b/engines/voyeur/graphics.cpp index 0f077d5074..9f547c65ca 100644 --- a/engines/voyeur/graphics.cpp +++ b/engines/voyeur/graphics.cpp @@ -46,7 +46,28 @@ FontInfo::FontInfo() { _shadowColor = 0; } -GraphicsManager::GraphicsManager() { +FontInfo::FontInfo(byte picFlags, byte picSelect, byte picPick, byte picOnOff, byte fontFlags, + byte justify, int fontSaveBack, const Common::Point &pos, int justifyWidth, int justifyHeight, + const Common::Point &shadow, int foreColor, int backColor, int shadowColor) { + _curFont = NULL; + _picSelect = picSelect; + _picPick = picPick; + _picOnOff = picOnOff; + _fontFlags = fontFlags; + _justify = justify; + _fontSaveBack = fontSaveBack; + _pos = pos; + _justifyWidth = justifyWidth; + _justifyHeight = justifyHeight; + _shadow = shadow; + _foreColor = foreColor; + _backColor = backColor; + _shadowColor = shadowColor; +} + +GraphicsManager::GraphicsManager(): + _defaultFontInfo(3, 0xff, 0xff, 0, 0, 0, 0, Common::Point(), 1, 1, Common::Point(1, 1), 1, 0, 0), + _fontPtr(&_defaultFontInfo) { _SVGAPage = 0; _SVGAMode = 0; _SVGAReset = 0; diff --git a/engines/voyeur/graphics.h b/engines/voyeur/graphics.h index 2e65089af6..cd1d47b6fc 100644 --- a/engines/voyeur/graphics.h +++ b/engines/voyeur/graphics.h @@ -43,6 +43,7 @@ class PictureResource; class ViewPortResource; class ViewPortListResource; class FontResource; +class CMapResource; class FontInfo { public: @@ -63,6 +64,9 @@ public: int _shadowColor; public: FontInfo(); + FontInfo(byte picFlags, byte picSelect, byte picPick, byte picOnOff, byte fontFlags, byte justify, + int fontSaveBack, const Common::Point &pos, int justifyWidth, int justifyHeight, + const Common::Point &shadow, int foreColor, int backColor, int shadowColor); }; typedef void (GraphicsManager::*GraphicMethodPtr)(); @@ -89,6 +93,9 @@ public: uint _planeSelect; int _sImageShift; Graphics::Surface _screenSurface; + CMapResource *_backColors; + FontInfo *_fontPtr; + FontInfo _defaultFontInfo; private: static void fadeIntFunc(); static void vDoCycleInt(); @@ -108,7 +115,7 @@ public: void EMSMapPageHandle(int v1, int v2, int v3); void sDrawPic(DisplayResource *srcDisplay, DisplayResource *destDisplay, const Common::Point &offset); - void GraphicsManager::fillPic(DisplayResource *display, byte onOff); + void fillPic(DisplayResource *display, byte onOff = 0); void sDisplayPic(PictureResource *pic); void flipPage(); void clearPalette(); diff --git a/engines/voyeur/module.mk b/engines/voyeur/module.mk index 3e9cbe436a..48f63dc2f0 100644 --- a/engines/voyeur/module.mk +++ b/engines/voyeur/module.mk @@ -7,6 +7,7 @@ MODULE_OBJS := \ game.o \ files.o \ graphics.o \ + sound.o \ utils.o \ voyeur.o diff --git a/engines/voyeur/sound.cpp b/engines/voyeur/sound.cpp new file mode 100644 index 0000000000..628e6e27a9 --- /dev/null +++ b/engines/voyeur/sound.cpp @@ -0,0 +1,47 @@ +/* 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 "voyeur/sound.h" + +namespace Voyeur { + +SoundManager::SoundManager() { +} + +void SoundManager::playVOCMap(byte *voc, int vocSize) { + // TODO +} + +bool SoundManager::vocMapStatus() { + // TODO + return false; +} + +void SoundManager::continueVocMap() { + // TODO +} + +void SoundManager::abortVOCMap() { + // TODO +} + +} // End of namespace Voyeur diff --git a/engines/voyeur/sound.h b/engines/voyeur/sound.h new file mode 100644 index 0000000000..01d5dc20b9 --- /dev/null +++ b/engines/voyeur/sound.h @@ -0,0 +1,47 @@ +/* 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. + * + */ + +#ifndef VOYEUR_SOUND_H +#define VOYEUR_SOUND_H + +#include "common/scummsys.h" +#include "common/str.h" +#include "voyeur/files.h" + +namespace Voyeur { + +class SoundManager { +private: + VoyeurEngine *_vm; +public: + SoundManager(); + void setVm(VoyeurEngine *vm) { _vm = vm; } + + void playVOCMap(byte *voc, int vocSize); + bool vocMapStatus(); + void continueVocMap(); + void abortVOCMap(); +}; + +} // End of namespace Voyeur + +#endif /* VOYEUR_SOUND_H */ diff --git a/engines/voyeur/utils.cpp b/engines/voyeur/utils.cpp index 4ddfd71f6d..a5745e67cb 100644 --- a/engines/voyeur/utils.cpp +++ b/engines/voyeur/utils.cpp @@ -21,11 +21,35 @@ */ #include "voyeur/utils.h" +#include "common/savefile.h" namespace Voyeur { -void LockClass::getSysData() { +LockTime::LockTime() { + field0 = field1 = field2 = field3 = 0; +} + +void LockClass::getSysDate() { + +} + +void LockClass::getThePassword() { + field0 = 26; + _password = "3333"; + fieldE = field16; + field12 = field1A; + fieldC = -1; + + // TODO: Original loaded 'VOYEUR.DAT' here to get most recent game's password. + // We'll want to transform this to proper savegames in ScummVM +} + +void LockClass::saveThePassword() { + //TODO +} +Common::String LockClass::getDateString() { + return Common::String(); } } // End of namespace Voyeur diff --git a/engines/voyeur/utils.h b/engines/voyeur/utils.h index 9aed6b3ef4..b9266781dc 100644 --- a/engines/voyeur/utils.h +++ b/engines/voyeur/utils.h @@ -24,12 +24,34 @@ #define VOYEUR_UTILS_H #include "common/scummsys.h" +#include "common/str.h" namespace Voyeur { +class LockTime { +public: + int field0; + int field1; + int field2; + int field3; + + LockTime(); +}; + class LockClass { public: - void getSysData(); + int field0; + Common::String _password; + int fieldC; + LockTime fieldE; + int field12; + LockTime field16; + int field1A; +public: + void getSysDate(); + void getThePassword(); + void saveThePassword(); + Common::String getDateString(); }; } // End of namespace Voyeur diff --git a/engines/voyeur/voyeur.cpp b/engines/voyeur/voyeur.cpp index 5c3c42c46f..c2e99076af 100644 --- a/engines/voyeur/voyeur.cpp +++ b/engines/voyeur/voyeur.cpp @@ -22,6 +22,7 @@ #include "voyeur/voyeur.h" #include "voyeur/graphics.h" +#include "voyeur/utils.h" #include "common/scummsys.h" #include "common/config-manager.h" #include "common/debug-channels.h" @@ -97,6 +98,7 @@ void VoyeurEngine::initialiseManagers() { _eventsManager.setVm(this); _filesManager.setVm(this); _graphicsManager.setVm(this); + _soundManager.setVm(this); } void VoyeurEngine::ESP_Init() { @@ -114,8 +116,7 @@ void VoyeurEngine::globalInitBolt() { Common::fill((byte *)&_voy, (byte *)&_voy + sizeof(SVoy), 0); _voy._eCursorOff[0x74 / 2] = 1; _voy._eCursorOff[0x68 / 2] = 0; - _voy._eventTable[998]._data3 = 63; - _voy._eventTable[998]._data4 = 63; + _voy._eventTable[998]._data = NULL; // Original set 63h:63h _voy._evidence[19] = 0; _voy._evidence[17] = 0; _voy._evidence[18] = 9999; @@ -192,16 +193,171 @@ void VoyeurEngine::showConversionScreen() { } bool VoyeurEngine::doLock() { - int var12 = 0; - int var14 = 0; - int di = 1; - int wrongSize; - byte *buttonVoc = _filesManager.fload("button.voc"); - byte *wrongVoc = _filesManager.fload("wrong.voc", &wrongSize); - bool result = false; + bool result = true; + bool flag = false; + int buttonVocSize, wrongVocSize; + byte *buttonVoc = _filesManager.fload("button.voc", &buttonVocSize); + byte *wrongVoc = _filesManager.fload("wrong.voc", &wrongVocSize); + LockClass lock; + PictureResource *srcPic; + byte *keyData; + int keyCount; + Common::String msg; + int key; if (_bVoy->getBoltGroup(0x10700)) { - + lock.getSysDate(); + lock.getThePassword(); + + _voy._eventTable[999]._type = lock.fieldC; + _voy._eventTable[999]._data = _bVoy->memberAddr(0x704); + + Common::String password = lock._password; + srcPic = _bVoy->getPictureResource(0x702); + + // Get the mappings of keys on the keypad + keyData = _bVoy->memberAddr(0x705); + keyCount = READ_LE_UINT16(keyData); + + _graphicsManager._backColors = _bVoy->getCMapResource(0x7010000); + _graphicsManager._backgroundPage = _bVoy->getPictureResource(0x700); + (*_graphicsManager._vPort)->setupViewPort(); + + _graphicsManager._backColors->startFade(); + (*_graphicsManager._vPort)->_flags |= 8; + + _graphicsManager.flipPage(); + _eventsManager.sWaitFlip(); + while (!shouldQuit() && (_eventsManager._fadeStatus & 1)) + _eventsManager.delay(1); + + _eventsManager.setCursorTo(127, 0); + _graphicsManager.setColor(1, 0x40, 0x40, 0x40); + _graphicsManager.setColor(2, 0x60, 0x60, 0x60); + _graphicsManager.setColor(3, 0x0A, 0xA0, 0x0A); + _graphicsManager.setColor(4, 0x0E, 0xE0, 0x0E); + + _eventsManager._intPtr.field38 = 1; + _eventsManager._intPtr._hasPalette = true; + + _graphicsManager._fontPtr->_curFont = _bVoy->getBoltEntry(0x708)._fontResource; + _graphicsManager._fontPtr->_fontSaveBack = 0; + _graphicsManager._fontPtr->_fontFlags = 0; + + Common::String dateString = lock.getDateString(); + Common::String playString = Common::String::format("Last Play %s", msg.c_str()); + + bool breakFlag = false; + while (!breakFlag && !shouldQuit()) { + (*_graphicsManager._vPort)->setupViewPort(); + (*_graphicsManager._vPort)->_flags |= 8; + _graphicsManager.flipPage(); + _eventsManager.sWaitFlip(); + + // Display the last play time + _graphicsManager._fontPtr->_pos = Common::Point(0, 97); + _graphicsManager._fontPtr->_justify = 1; + _graphicsManager._fontPtr->_justifyWidth = 384; + _graphicsManager._fontPtr->_justifyHeight = 97; + + (*_graphicsManager._vPort)->drawText(playString); + (*_graphicsManager._vPort)->_flags |= 8; + _graphicsManager.flipPage(); + _eventsManager.sWaitFlip(); + + // Loop for getting key presses + do { + do { + // Scan through the list of key rects to check if a keypad key is highlighted + key = -1; + Common::Point mousePos = _eventsManager.getMousePos(); + + for (int keyIndex = 0; keyIndex < keyCount; ++keyIndex) { + int x1 = READ_LE_UINT16(keyData + (((keyIndex << 2) + 1) << 1)); + int x2 = READ_LE_UINT16(keyData + (((keyIndex << 2) + 3) << 1)); + int y1 = READ_LE_UINT16(keyData + (((keyIndex << 2) + 2) << 1)); + int y2 = READ_LE_UINT16(keyData + (((keyIndex << 2) + 2) << 1)); + + if (mousePos.x >= x1 && mousePos.x <= x2 && mousePos.y >= y1 && mousePos.y <= y2) { + key = keyIndex; + } + } + + _eventsManager.setCursorTo(127, (key == -1) ? 0 : 1); + _eventsManager._intPtr.field38 = 1; + _eventsManager._intPtr._hasPalette = true; + + // TODO: Check is the mouse cursor being manually drawn here? I so, refactor + _graphicsManager.sDrawPic(srcPic, *_graphicsManager._vPort, mousePos); + (*_graphicsManager._vPort)->_flags |= 8; + _graphicsManager.flipPage(); + _eventsManager.sWaitFlip(); + + _eventsManager.delay(1); + } while (!shouldQuit() && !_voy._incriminate); + } while (!shouldQuit() && key == -1); + + _soundManager.abortVOCMap(); + _soundManager.playVOCMap(buttonVoc, buttonVocSize); + + while (_soundManager.vocMapStatus()) { + if (shouldQuit()) + break; + + _soundManager.continueVocMap(); + _eventsManager.delay(1); + } + + // Process the key + if (key < 10) { + if (playString.size() < 10) { + playString += '0' + key; + continue; + } + } else if (key == 10) { + if (!flag) { + if ((password.size() == 0 && !playString.size()) || (password == playString)) { + breakFlag = true; + result = true; + break; + } + } else { + if (playString.size() > 0) { + result = 1; + breakFlag = true; + break; + } + } + } else if (key == 11) { + if ((password.size() == 0 && !playString.size()) || (password != playString)) { + (*_graphicsManager._vPort)->setupViewPort(); + flag = true; + playString = ""; + continue; + } + } else if (key == 12) { + breakFlag = true; + result = false; + break; + } else { + continue; + } + + _soundManager.playVOCMap(wrongVoc, wrongVocSize); + } + + _graphicsManager.fillPic(*_graphicsManager._vPort); + (*_graphicsManager._vPort)->_flags |= 8; + _graphicsManager.flipPage(); + _eventsManager.sWaitFlip(); + _graphicsManager.resetPalette(); + + if (flag && result) + lock._password = msg; + lock.saveThePassword(); + + _voy._eventTable[999]._data = NULL; + _bVoy->freeBoltGroup(0x10700); } delete[] buttonVoc; diff --git a/engines/voyeur/voyeur.h b/engines/voyeur/voyeur.h index 0b74208fa4..723875512c 100644 --- a/engines/voyeur/voyeur.h +++ b/engines/voyeur/voyeur.h @@ -28,6 +28,7 @@ #include "voyeur/files.h" #include "voyeur/game.h" #include "voyeur/graphics.h" +#include "voyeur/sound.h" #include "common/scummsys.h" #include "common/system.h" #include "common/error.h" @@ -88,6 +89,7 @@ public: EventsManager _eventsManager; FilesManager _filesManager; GraphicsManager _graphicsManager; + SoundManager _soundManager; public: VoyeurEngine(OSystem *syst, const VoyeurGameDescription *gameDesc); virtual ~VoyeurEngine(); -- cgit v1.2.3 From 0fe067ba4a2d0eea71ad91eaad1d537f1b42e97c Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Wed, 12 Jun 2013 22:43:54 -0400 Subject: VOYEUR: Lock screen background now correctly showing --- engines/voyeur/files.cpp | 2 ++ engines/voyeur/graphics.cpp | 26 +++++++++++++++++++++++++- engines/voyeur/voyeur.cpp | 1 + 3 files changed, 28 insertions(+), 1 deletion(-) diff --git a/engines/voyeur/files.cpp b/engines/voyeur/files.cpp index b2f4d4f58c..74da77dda1 100644 --- a/engines/voyeur/files.cpp +++ b/engines/voyeur/files.cpp @@ -295,6 +295,8 @@ PictureResource *BoltFile::getPictureResource(uint32 id) { if ((int32)id == -1) return NULL; + if (id & 0xffff) + id <<= 16; return getBoltEntry(id)._picResource; } diff --git a/engines/voyeur/graphics.cpp b/engines/voyeur/graphics.cpp index 9f547c65ca..ace4b35718 100644 --- a/engines/voyeur/graphics.cpp +++ b/engines/voyeur/graphics.cpp @@ -344,7 +344,31 @@ void GraphicsManager::sDrawPic(DisplayResource *srcDisplay, DisplayResource *des // loc_2615E if (srcFlags & 2) { - error("TODO: sDrawPic"); + srcP = srcImgData + srcOffset; + + if (destFlags & 8) { + error("TODO: sDrawPic"); + } else { + // loc_25773 + // Copy from screen to surface with transparency + destP = destImgData + screenOffset; + srcP = (byte *)_screenSurface.pixels + srcOffset; + + if (srcFlags & 2) { + for (int yp = 0; yp < height1; ++yp) { + for (int xp = 0; xp < width2; ++xp, ++destP) { + byte srcPixel = *srcP++; + if (srcPixel) + *destP = srcPixel; + } + + destP += widthDiff2; + srcP += widthDiff; + } + } else { + error("TODO: sDrawPic"); + } + } } else { if (srcFlags & 0x100) { srcP = srcImgData; diff --git a/engines/voyeur/voyeur.cpp b/engines/voyeur/voyeur.cpp index c2e99076af..83e5d80802 100644 --- a/engines/voyeur/voyeur.cpp +++ b/engines/voyeur/voyeur.cpp @@ -214,6 +214,7 @@ bool VoyeurEngine::doLock() { Common::String password = lock._password; srcPic = _bVoy->getPictureResource(0x702); + assert(srcPic); // Get the mappings of keys on the keypad keyData = _bVoy->memberAddr(0x705); -- cgit v1.2.3 From b02c72b45f0ea15490b41896e33d40cb783b96e6 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Fri, 14 Jun 2013 22:01:59 -0400 Subject: VOYEUR: Initial implementation of drawText method --- engines/voyeur/files.cpp | 235 +++++++++++++++++++++++++++++++++++++++++++- engines/voyeur/files.h | 22 ++++- engines/voyeur/graphics.cpp | 33 +++++-- engines/voyeur/graphics.h | 23 ++++- engines/voyeur/voyeur.cpp | 4 +- 5 files changed, 297 insertions(+), 20 deletions(-) diff --git a/engines/voyeur/files.cpp b/engines/voyeur/files.cpp index 74da77dda1..cfc82ddc67 100644 --- a/engines/voyeur/files.cpp +++ b/engines/voyeur/files.cpp @@ -795,10 +795,222 @@ void ViewPortResource::setupViewPort() { &GraphicsManager::restoreMCGASaveRect); } -void ViewPortResource::drawText(const Common::String &msg) { +int ViewPortResource::drawText(const Common::String &msg) { + GraphicsManager &gfxManager = _state._vm->_graphicsManager; + FontInfo &fontInfo = *gfxManager._fontPtr; + FontResource &fontData = *fontInfo._curFont; + int xShadows[9] = { 0, 1, 1, 1, 0, -1, -1, -1, 0 }; + int yShadows[9] = { 0, 1, 0, -1, -1, -1, 0, 1, 1 }; + + Common::Rect *clipPtr = gfxManager._clipPtr; + if (!(fontInfo._picFlags & 1)) + gfxManager._clipPtr = NULL; + + int minChar = fontData._minChar; + int padding = fontData._padding; + int fontHeight = fontData._fontHeight; + int totalChars = fontData._maxChar - fontData._minChar; + int msgWidth = 0; + int xp = 0, yp = 0; + + Common::Point pos = fontInfo._pos; + + _fontChar._flags = fontInfo._picFlags | 2; + _fontChar._select = fontInfo._picSelect; + _fontChar._bounds.setHeight(fontHeight); + + if (gfxManager._drawTextPermFlag || (fontInfo._fontFlags & 1) || fontInfo._justify || + (gfxManager._saveBack && fontInfo._fontSaveBack && (_flags & 0x8000))) { + msgWidth = textWidth(msg); + yp = pos.y; + xp = pos.x; + + switch (fontInfo._justify) { + case 1: + xp = pos.x + (fontInfo._justifyWidth / 2) - (msgWidth / 2); + break; + case 2: + xp = pos.x + fontInfo._justifyWidth - msgWidth; + break; + default: + break; + } + + if (!(fontInfo._fontFlags & 3)) { + _fontRect.left = xp; + _fontRect.top = yp; + _fontRect.setWidth(msgWidth); + _fontRect.setHeight(fontHeight); + } else { + _fontRect.left = pos.x; + _fontRect.top = pos.y; + _fontRect.setWidth(fontInfo._justifyWidth); + _fontRect.setHeight(fontInfo._justifyHeight); + } + + pos.x = xp; + pos.y = yp; + + if (fontInfo._fontFlags & 4) { + if (fontInfo._shadow.x <= 0) { + _fontRect.left += fontInfo._shadow.x; + _fontRect.right -= fontInfo._shadow.x * 2; + } else { + _fontRect.right += fontInfo._shadow.x; + } + + if (fontInfo._shadow.y <= 0) { + _fontRect.top += fontInfo._shadow.y; + _fontRect.bottom -= fontInfo._shadow.y * 2; + } else { + _fontRect.bottom += fontInfo._shadow.y; + } + } else if (fontInfo._fontFlags & 8) { + if (fontInfo._shadow.x <= 0) { + _fontRect.left += fontInfo._shadow.x; + _fontRect.right -= fontInfo._shadow.x * 3; + } else { + _fontRect.right += fontInfo._shadow.x * 3; + _fontRect.left -= fontInfo._shadow.x; + } + + if (fontInfo._shadow.y <= 0) { + _fontRect.top += fontInfo._shadow.y; + _fontRect.bottom -= fontInfo._shadow.y * 3; + } else { + _fontRect.bottom += fontInfo._shadow.y * 3; + _fontRect.top -= fontInfo._shadow.y; + } + } + } + + if (gfxManager._saveBack && fontInfo._fontSaveBack && (_flags & 0x8000)) { + addSaveRect(_pageIndex, _fontRect); + } + + if (fontInfo._fontFlags & 1) { + gfxManager._drawPtr->_pos = Common::Point(_fontRect.left, _fontRect.top); + gfxManager._drawPtr->_penColor = fontInfo._backColor; + sFillBox(_fontRect.width()); + } + + bool saveBack = gfxManager._saveBack; + gfxManager._saveBack = false; + + int count = 0; + if (!(fontInfo._fontFlags & 4)) + count = 1; + else if (fontInfo._fontFlags & 8) + count = 8; + + for (int i = 0; i < count; ++i) { + xp = pos.x; + yp = pos.y; + + switch (xShadows[i]) { + case -1: + xp -= fontInfo._shadow.x; + break; + case 1: + xp += fontInfo._shadow.x; + break; + default: + break; + } + + switch (yShadows[i]) { + case -1: + yp -= fontInfo._shadow.y; + break; + case 1: + yp += fontInfo._shadow.y; + break; + default: + break; + } + + if (i == 0) { + _fontChar._pick = 0; + _fontChar._onOff = fontInfo._shadowColor; + } else if (fontData.field2 == 1 || (fontInfo._fontFlags & 0x10)) { + _fontChar._pick = 0; + _fontChar._onOff = fontInfo._foreColor; + } else { + _fontChar._pick = fontInfo._picPick; + _fontChar._onOff = fontInfo._picOnOff; + _fontChar._depth = fontData.field2; + } + + // Loop to draw each character in turn + msgWidth = -padding; + const char *msgP = msg.c_str(); + char ch; + + while ((ch = *msgP++) != '\0') { + int charValue = (int)ch - minChar; + if (charValue >= totalChars || fontData._charWidth[charValue] == 0) + charValue = fontData._maxChar - minChar; + + int charWidth = fontData._charWidth[charValue]; + _fontChar._bounds.setWidth(charWidth); + + uint16 offset = READ_LE_UINT16(fontData._data1 + charValue * 2); + _fontChar._imgData = fontData._data2 + offset * 2; + + gfxManager.sDrawPic(&_fontChar, this, Common::Point(xp, yp)); + + xp += charWidth + padding; + msgWidth += charWidth + padding; + } + } + + msgWidth = MAX(msgWidth, 0); + if (fontInfo._justify == ALIGN_LEFT) + fontInfo._pos.x = xp; + + gfxManager._saveBack = saveBack; + gfxManager._clipPtr = clipPtr; + + return msgWidth; +} + +int ViewPortResource::textWidth(const Common::String &msg) { + if (msg.size() == 0) + return 0; + + const char *msgP = msg.c_str(); + FontResource &fontData = *_state._vm->_graphicsManager._fontPtr->_curFont; + int minChar = fontData._minChar; + int maxChar = fontData._maxChar; + int padding = fontData._padding; + int totalWidth = -padding; + char ch; + + // Loop through the characters + while ((ch = *msgP++) != '\0') { + int charValue = (int)ch; + if (charValue < minChar || charValue > maxChar) + charValue = maxChar; + + if (!fontData._charWidth[charValue - minChar]) + charValue = maxChar; + + totalWidth += fontData._charWidth[charValue - minChar] + padding; + } + + if (totalWidth < 0) + totalWidth = 0; + return totalWidth; +} + +void ViewPortResource::addSaveRect(int pageIndex, const Common::Rect &r) { // TODO } +void ViewPortResource::sFillBox(int width) { + +} + /*------------------------------------------------------------------------*/ ViewPortListResource::ViewPortListResource(BoltFilesState &state, const byte *src) { @@ -837,8 +1049,25 @@ ViewPortPalEntry::ViewPortPalEntry(const byte *src) { /*------------------------------------------------------------------------*/ -FontResource::FontResource(BoltFilesState &state, const byte *src) { - state._curLibPtr->resolveIt(READ_LE_UINT32(src + 0xC), &_fieldC); +FontResource::FontResource(BoltFilesState &state, byte *src) { + _minChar = src[0]; + _maxChar = src[1]; + field2 = src[2]; + _padding = src[3]; + _fontHeight = src[5]; + field6 = src[6]; + + int totalChars = _maxChar - _minChar + 1; + _charWidth = new int[totalChars]; + for (int i = 0; i < totalChars; ++i) + _charWidth[i] = READ_LE_UINT16(src + 8 + 2 * i); + + _data1 = src + 8 + totalChars * 2; + _data2 = _data1 + totalChars * 2; +} + +FontResource::~FontResource() { + delete[] _charWidth; } /*------------------------------------------------------------------------*/ diff --git a/engines/voyeur/files.h b/engines/voyeur/files.h index 4d3c2039c5..499cbb8972 100644 --- a/engines/voyeur/files.h +++ b/engines/voyeur/files.h @@ -252,12 +252,17 @@ public: ViewPortSetupPtr _setupFn; ViewPortAddPtr _addFn; ViewPortRestorePtr _restoreFn; + PictureResource _fontChar; + Common::Rect _fontRect; public: ViewPortResource(BoltFilesState &state, const byte *src); virtual ~ViewPortResource(); void setupViewPort(); - void drawText(const Common::String &msg); + int drawText(const Common::String &msg); + int textWidth(const Common::String &msg); + void addSaveRect(int pageIndex, const Common::Rect &r); + void sFillBox(int width); }; class ViewPortPalEntry { @@ -281,10 +286,17 @@ public: class FontResource { public: - byte *_fieldC; - - FontResource(BoltFilesState &state, const byte *src); - virtual ~FontResource() {} + int _minChar, _maxChar; + int field2; + int _padding; + int _fontHeight; + int field6; + int *_charWidth; + byte *_data1; + byte *_data2; + + FontResource(BoltFilesState &state, byte *src); + virtual ~FontResource(); }; class CMapResource { diff --git a/engines/voyeur/graphics.cpp b/engines/voyeur/graphics.cpp index ace4b35718..fda7c833f7 100644 --- a/engines/voyeur/graphics.cpp +++ b/engines/voyeur/graphics.cpp @@ -36,7 +36,7 @@ FontInfo::FontInfo() { _picPick = 0xff; _picOnOff = 0; _fontFlags = 0; - _justify = 0; + _justify = ALIGN_LEFT; _fontSaveBack = 0; _justifyWidth = 1; _justifyHeight = 1; @@ -47,7 +47,7 @@ FontInfo::FontInfo() { } FontInfo::FontInfo(byte picFlags, byte picSelect, byte picPick, byte picOnOff, byte fontFlags, - byte justify, int fontSaveBack, const Common::Point &pos, int justifyWidth, int justifyHeight, + FontJustify justify, int fontSaveBack, const Common::Point &pos, int justifyWidth, int justifyHeight, const Common::Point &shadow, int foreColor, int backColor, int shadowColor) { _curFont = NULL; _picSelect = picSelect; @@ -65,9 +65,20 @@ FontInfo::FontInfo(byte picFlags, byte picSelect, byte picPick, byte picOnOff, b _shadowColor = shadowColor; } +/*------------------------------------------------------------------------*/ + +DrawInfo::DrawInfo(int penColor, const Common::Point &pos, int flags) { + _penColor = penColor; + _pos = pos; + _flags = flags; +} + +/*------------------------------------------------------------------------*/ + GraphicsManager::GraphicsManager(): - _defaultFontInfo(3, 0xff, 0xff, 0, 0, 0, 0, Common::Point(), 1, 1, Common::Point(1, 1), 1, 0, 0), - _fontPtr(&_defaultFontInfo) { + _defaultFontInfo(3, 0xff, 0xff, 0, 0, ALIGN_LEFT, 0, Common::Point(), 1, 1, + Common::Point(1, 1), 1, 0, 0), _defaultDrawInfo(1, Common::Point(), 0), + _fontPtr(&_defaultFontInfo), _drawPtr(&_defaultDrawInfo) { _SVGAPage = 0; _SVGAMode = 0; _SVGAReset = 0; @@ -77,6 +88,7 @@ GraphicsManager::GraphicsManager(): _palFlag = false; _MCGAMode = false; _saveBack = true; + _drawTextPermFlag = false; _clipPtr = NULL; _viewPortListPtr = NULL; _vPort = NULL; @@ -350,11 +362,11 @@ void GraphicsManager::sDrawPic(DisplayResource *srcDisplay, DisplayResource *des error("TODO: sDrawPic"); } else { // loc_25773 - // Copy from screen to surface with transparency destP = destImgData + screenOffset; srcP = (byte *)_screenSurface.pixels + srcOffset; if (srcFlags & 2) { + // Copy from screen to surface with transparency for (int yp = 0; yp < height1; ++yp) { for (int xp = 0; xp < width2; ++xp, ++destP) { byte srcPixel = *srcP++; @@ -366,7 +378,16 @@ void GraphicsManager::sDrawPic(DisplayResource *srcDisplay, DisplayResource *des srcP += widthDiff; } } else { - error("TODO: sDrawPic"); + // Copy from screen surface without transparency + for (int yp = 0; yp < height1; ++yp) { + for (int xp = 0; xp < width2; ++xp, ++destP) { + byte srcPixel = *srcP++; + *destP = srcPixel; + } + + destP += widthDiff2; + srcP += widthDiff; + } } } } else { diff --git a/engines/voyeur/graphics.h b/engines/voyeur/graphics.h index cd1d47b6fc..9c66a32a67 100644 --- a/engines/voyeur/graphics.h +++ b/engines/voyeur/graphics.h @@ -45,6 +45,8 @@ class ViewPortListResource; class FontResource; class CMapResource; +enum FontJustify { ALIGN_LEFT = 0, ALIGN_CENTRE = 1, ALIGN_RIGHT = 2 }; + class FontInfo { public: FontResource *_curFont; @@ -53,7 +55,7 @@ public: byte _picPick; byte _picOnOff; byte _fontFlags; - byte _justify; + FontJustify _justify; int _fontSaveBack; Common::Point _pos; int _justifyWidth; @@ -64,9 +66,19 @@ public: int _shadowColor; public: FontInfo(); - FontInfo(byte picFlags, byte picSelect, byte picPick, byte picOnOff, byte fontFlags, byte justify, - int fontSaveBack, const Common::Point &pos, int justifyWidth, int justifyHeight, - const Common::Point &shadow, int foreColor, int backColor, int shadowColor); + FontInfo(byte picFlags, byte picSelect, byte picPick, byte picOnOff, byte fontFlags, + FontJustify justify, int fontSaveBack, const Common::Point &pos, int justifyWidth, + int justifyHeight, const Common::Point &shadow, int foreColor, int backColor, + int shadowColor); +}; + +class DrawInfo { +public: + int _penColor; + Common::Point _pos; + int _flags; +public: + DrawInfo(int penColor, const Common::Point &pos, int flags); }; typedef void (GraphicsManager::*GraphicMethodPtr)(); @@ -96,6 +108,9 @@ public: CMapResource *_backColors; FontInfo *_fontPtr; FontInfo _defaultFontInfo; + DrawInfo *_drawPtr; + DrawInfo _defaultDrawInfo; + bool _drawTextPermFlag; private: static void fadeIntFunc(); static void vDoCycleInt(); diff --git a/engines/voyeur/voyeur.cpp b/engines/voyeur/voyeur.cpp index 83e5d80802..9078cc9eda 100644 --- a/engines/voyeur/voyeur.cpp +++ b/engines/voyeur/voyeur.cpp @@ -257,7 +257,7 @@ bool VoyeurEngine::doLock() { // Display the last play time _graphicsManager._fontPtr->_pos = Common::Point(0, 97); - _graphicsManager._fontPtr->_justify = 1; + _graphicsManager._fontPtr->_justify = ALIGN_CENTRE; _graphicsManager._fontPtr->_justifyWidth = 384; _graphicsManager._fontPtr->_justifyHeight = 97; @@ -277,7 +277,7 @@ bool VoyeurEngine::doLock() { int x1 = READ_LE_UINT16(keyData + (((keyIndex << 2) + 1) << 1)); int x2 = READ_LE_UINT16(keyData + (((keyIndex << 2) + 3) << 1)); int y1 = READ_LE_UINT16(keyData + (((keyIndex << 2) + 2) << 1)); - int y2 = READ_LE_UINT16(keyData + (((keyIndex << 2) + 2) << 1)); + int y2 = READ_LE_UINT16(keyData + (((keyIndex << 2) + 4) << 1)); if (mousePos.x >= x1 && mousePos.x <= x2 && mousePos.y >= y1 && mousePos.y <= y2) { key = keyIndex; -- cgit v1.2.3 From 0a0db2bf73fc417d1094ae744e0d350dd4462d38 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Sat, 15 Jun 2013 11:39:28 -0400 Subject: VOYEUR: Refactoring and bugfixes for correctly loading fontInfo and font resources --- engines/voyeur/files.cpp | 99 ++++++++++++++++++++++++++++++++++++++++----- engines/voyeur/files.h | 33 ++++++++++++++- engines/voyeur/graphics.cpp | 42 ++----------------- engines/voyeur/graphics.h | 31 +------------- engines/voyeur/voyeur.cpp | 18 ++++++--- engines/voyeur/voyeur.h | 2 +- 6 files changed, 140 insertions(+), 85 deletions(-) diff --git a/engines/voyeur/files.cpp b/engines/voyeur/files.cpp index cfc82ddc67..94a770ae0e 100644 --- a/engines/voyeur/files.cpp +++ b/engines/voyeur/files.cpp @@ -217,7 +217,7 @@ const BoltMethodPtr BoltFile::_fnInitType[25] = { &BoltFile::initDefault, &BoltFile::initDefault, &BoltFile::initDefault, &BoltFile::initDefault, &BoltFile::sInitPic, &BoltFile::initDefault, &BoltFile::vInitCMap, &BoltFile::vInitCycl, &BoltFile::initDefault, &BoltFile::initDefault, &BoltFile::initDefault, &BoltFile::initViewPort, - &BoltFile::initViewPortList, &BoltFile::initDefault, &BoltFile::initFontInfo, + &BoltFile::initViewPortList, &BoltFile::initFont, &BoltFile::initFontInfo, &BoltFile::initSoundMap, &BoltFile::initDefault, &BoltFile::initDefault, &BoltFile::initDefault, &BoltFile::initDefault, &BoltFile::initDefault }; @@ -281,7 +281,7 @@ void BoltFile::freeBoltGroup(uint32 id) { _state._curGroupPtr->unload(); } -BoltEntry &BoltFile::getBoltEntry(uint32 id) { +BoltEntry &BoltFile::getBoltEntryFromLong(uint32 id) { BoltGroup &group = _groups[id >> 24]; assert(group._loaded); @@ -291,20 +291,32 @@ BoltEntry &BoltFile::getBoltEntry(uint32 id) { return entry; } +BoltEntry &BoltFile::boltEntry(uint16 id) { + BoltGroup &group = _groups[id >> 8]; + assert(group._loaded); + + BoltEntry &entry = group._entries[id & 0xff]; + assert(entry.hasResource()); + + return entry; +} + PictureResource *BoltFile::getPictureResource(uint32 id) { if ((int32)id == -1) return NULL; if (id & 0xffff) id <<= 16; - return getBoltEntry(id)._picResource; + return getBoltEntryFromLong(id)._picResource; } CMapResource *BoltFile::getCMapResource(uint32 id) { if ((int32)id == -1) return NULL; - return getBoltEntry(id)._cMapResource; + if (id & 0xffff) + id <<= 16; + return getBoltEntryFromLong(id)._cMapResource; } byte *BoltFile::memberAddr(uint32 id) { @@ -462,10 +474,15 @@ void BoltFile::initViewPortList() { void BoltFile::initFontInfo() { initDefault(); - _state._curMemberPtr->_fontResource = new FontResource( + _state._curMemberPtr->_fontInfoResource = new FontInfoResource( _state, _state._curMemberPtr->_data); } +void BoltFile::initFont() { + initDefault(); + _state._curMemberPtr->_fontResource = new FontResource(_state, _state._curMemberPtr->_data); +} + void BoltFile::initSoundMap() { initDefault(); } @@ -514,6 +531,7 @@ BoltEntry::BoltEntry(Common::SeekableReadStream *f): _file(f) { _viewPortResource = NULL; _viewPortListResource = NULL; _fontResource = NULL; + _fontInfoResource = NULL; _cMapResource = NULL; _vInitCyclResource = NULL; @@ -533,6 +551,7 @@ BoltEntry::~BoltEntry() { delete _viewPortResource; delete _viewPortListResource; delete _fontResource; + delete _fontInfoResource; delete _cMapResource; delete _vInitCyclResource; } @@ -547,7 +566,7 @@ void BoltEntry::load() { */ bool BoltEntry::hasResource() const { return _picResource || _viewPortResource || _viewPortListResource - || _fontResource || _cMapResource || _vInitCyclResource; + || _fontResource || _fontInfoResource || _cMapResource || _vInitCyclResource; } /*------------------------------------------------------------------------*/ @@ -660,7 +679,7 @@ PictureResource::~PictureResource() { ViewPortResource::ViewPortResource(BoltFilesState &state, const byte *src): _state(state) { _flags = READ_LE_UINT16(src); - _next = state._curLibPtr->getBoltEntry(READ_LE_UINT32(src + 2))._viewPortResource; + _next = state._curLibPtr->getBoltEntryFromLong(READ_LE_UINT32(src + 2))._viewPortResource; _pageCount = READ_LE_UINT16(src + 6); _pageIndex = READ_LE_UINT16(src + 8); _lastPage = READ_LE_UINT16(src + 10); @@ -797,7 +816,9 @@ void ViewPortResource::setupViewPort() { int ViewPortResource::drawText(const Common::String &msg) { GraphicsManager &gfxManager = _state._vm->_graphicsManager; - FontInfo &fontInfo = *gfxManager._fontPtr; + assert(gfxManager._fontPtr); + assert(gfxManager._fontPtr->_curFont); + FontInfoResource &fontInfo = *gfxManager._fontPtr; FontResource &fontData = *fontInfo._curFont; int xShadows[9] = { 0, 1, 1, 1, 0, -1, -1, -1, 0 }; int yShadows[9] = { 0, 1, 0, -1, -1, -1, 0, 1, 1 }; @@ -1026,7 +1047,7 @@ ViewPortListResource::ViewPortListResource(BoltFilesState &state, const byte *sr uint32 *idP = (uint32 *)&src[8]; for (uint i = 0; i < count; ++i, ++idP) { uint32 id = READ_LE_UINT32(idP); - BoltEntry &entry = state._curLibPtr->getBoltEntry(id); + BoltEntry &entry = state._curLibPtr->getBoltEntryFromLong(id); assert(entry._viewPortResource); _entries.push_back(entry._viewPortResource); @@ -1072,6 +1093,66 @@ FontResource::~FontResource() { /*------------------------------------------------------------------------*/ +FontInfoResource::FontInfoResource(BoltFilesState &state, const byte *src) { + _curFont = NULL; + _picFlags = src[4]; + _picSelect = src[5]; + _picPick = src[6]; + _picOnOff = src[7]; + _fontFlags = src[8]; + _justify = (FontJustify)src[9]; + _fontSaveBack = READ_LE_UINT16(src + 10); + _pos.x = (int16)READ_LE_UINT16(src + 12); + _pos.y = (int16)READ_LE_UINT16(src + 14); + _justifyWidth = READ_LE_UINT16(src + 16); + _justifyHeight = READ_LE_UINT16(src + 18); + _shadow.x = READ_LE_UINT16(src + 20); + _shadow.y = READ_LE_UINT16(src + 22); + _foreColor = READ_LE_UINT16(src + 24); + _backColor = READ_LE_UINT16(src + 26); + _shadowColor = READ_LE_UINT16(src + 28); +} + +FontInfoResource::FontInfoResource() { + _curFont = NULL; + _picFlags = 3; + _picSelect = 0xff; + _picPick = 0xff; + _picOnOff = 0; + _fontFlags = 0; + _justify = ALIGN_LEFT; + _fontSaveBack = 0; + _justifyWidth = 1; + _justifyHeight = 1; + _shadow = Common::Point(1, 1); + _foreColor = 1; + _backColor = 0; + _shadowColor = 0; +} + +FontInfoResource::FontInfoResource(byte picFlags, byte picSelect, byte picPick, byte picOnOff, + byte fontFlags, FontJustify justify, int fontSaveBack, const Common::Point &pos, + int justifyWidth, int justifyHeight, const Common::Point &shadow, int foreColor, + int backColor, int shadowColor) { + _curFont = NULL; + _picFlags = picFlags; + _picSelect = picSelect; + _picPick = picPick; + _picOnOff = picOnOff; + _fontFlags = fontFlags; + _justify = justify; + _fontSaveBack = fontSaveBack; + _pos = pos; + _justifyWidth = justifyWidth; + _justifyHeight = justifyHeight; + _shadow = shadow; + _foreColor = foreColor; + _backColor = backColor; + _shadowColor = shadowColor; +} + +/*------------------------------------------------------------------------*/ + CMapResource::CMapResource(BoltFilesState &state, const byte *src): _vm(state._vm) { _steps = src[0]; _fadeStatus = src[1]; diff --git a/engines/voyeur/files.h b/engines/voyeur/files.h index 499cbb8972..f612904b6d 100644 --- a/engines/voyeur/files.h +++ b/engines/voyeur/files.h @@ -112,6 +112,7 @@ private: void initViewPort(); void initViewPortList(); void initFontInfo(); + void initFont(); void initSoundMap(); private: void resolveAll(); @@ -133,7 +134,8 @@ public: void resolveIt(uint32 id, byte **p); void resolveFunction(uint32 id, GraphicMethodPtr *fn); - BoltEntry &getBoltEntry(uint32 id); + BoltEntry &boltEntry(uint16 id); + BoltEntry &getBoltEntryFromLong(uint32 id); PictureResource *getPictureResource(uint32 id); CMapResource *getCMapResource(uint32 id); }; @@ -174,6 +176,7 @@ public: ViewPortResource *_viewPortResource; ViewPortListResource *_viewPortListResource; FontResource *_fontResource; + FontInfoResource *_fontInfoResource; CMapResource *_cMapResource; VInitCyclResource *_vInitCyclResource; public: @@ -299,6 +302,34 @@ public: virtual ~FontResource(); }; +enum FontJustify { ALIGN_LEFT = 0, ALIGN_CENTRE = 1, ALIGN_RIGHT = 2 }; + +class FontInfoResource { +public: + FontResource *_curFont; + byte _picFlags; + byte _picSelect; + byte _picPick; + byte _picOnOff; + byte _fontFlags; + FontJustify _justify; + int _fontSaveBack; + Common::Point _pos; + int _justifyWidth; + int _justifyHeight; + Common::Point _shadow; + int _foreColor; + int _backColor; + int _shadowColor; +public: + FontInfoResource(BoltFilesState &state, const byte *src); + FontInfoResource(); + FontInfoResource(byte picFlags, byte picSelect, byte picPick, byte picOnOff, byte fontFlags, + FontJustify justify, int fontSaveBack, const Common::Point &pos, int justifyWidth, + int justifyHeight, const Common::Point &shadow, int foreColor, int backColor, + int shadowColor); +}; + class CMapResource { private: VoyeurEngine *_vm; diff --git a/engines/voyeur/graphics.cpp b/engines/voyeur/graphics.cpp index fda7c833f7..7a6c72c027 100644 --- a/engines/voyeur/graphics.cpp +++ b/engines/voyeur/graphics.cpp @@ -29,42 +29,6 @@ namespace Voyeur { -FontInfo::FontInfo() { - _curFont = NULL; - _picFlags = 3; - _picSelect = 0xff; - _picPick = 0xff; - _picOnOff = 0; - _fontFlags = 0; - _justify = ALIGN_LEFT; - _fontSaveBack = 0; - _justifyWidth = 1; - _justifyHeight = 1; - _shadow = Common::Point(1, 1); - _foreColor = 1; - _backColor = 0; - _shadowColor = 0; -} - -FontInfo::FontInfo(byte picFlags, byte picSelect, byte picPick, byte picOnOff, byte fontFlags, - FontJustify justify, int fontSaveBack, const Common::Point &pos, int justifyWidth, int justifyHeight, - const Common::Point &shadow, int foreColor, int backColor, int shadowColor) { - _curFont = NULL; - _picSelect = picSelect; - _picPick = picPick; - _picOnOff = picOnOff; - _fontFlags = fontFlags; - _justify = justify; - _fontSaveBack = fontSaveBack; - _pos = pos; - _justifyWidth = justifyWidth; - _justifyHeight = justifyHeight; - _shadow = shadow; - _foreColor = foreColor; - _backColor = backColor; - _shadowColor = shadowColor; -} - /*------------------------------------------------------------------------*/ DrawInfo::DrawInfo(int penColor, const Common::Point &pos, int flags) { @@ -76,9 +40,8 @@ DrawInfo::DrawInfo(int penColor, const Common::Point &pos, int flags) { /*------------------------------------------------------------------------*/ GraphicsManager::GraphicsManager(): - _defaultFontInfo(3, 0xff, 0xff, 0, 0, ALIGN_LEFT, 0, Common::Point(), 1, 1, - Common::Point(1, 1), 1, 0, 0), _defaultDrawInfo(1, Common::Point(), 0), - _fontPtr(&_defaultFontInfo), _drawPtr(&_defaultDrawInfo) { + _defaultDrawInfo(1, Common::Point(), 0), + _drawPtr(&_defaultDrawInfo) { _SVGAPage = 0; _SVGAMode = 0; _SVGAReset = 0; @@ -92,6 +55,7 @@ GraphicsManager::GraphicsManager(): _clipPtr = NULL; _viewPortListPtr = NULL; _vPort = NULL; + _fontPtr = NULL; } void GraphicsManager::sInitGraphics() { diff --git a/engines/voyeur/graphics.h b/engines/voyeur/graphics.h index 9c66a32a67..02e9698a5e 100644 --- a/engines/voyeur/graphics.h +++ b/engines/voyeur/graphics.h @@ -43,35 +43,9 @@ class PictureResource; class ViewPortResource; class ViewPortListResource; class FontResource; +class FontInfoResource; class CMapResource; -enum FontJustify { ALIGN_LEFT = 0, ALIGN_CENTRE = 1, ALIGN_RIGHT = 2 }; - -class FontInfo { -public: - FontResource *_curFont; - byte _picFlags; - byte _picSelect; - byte _picPick; - byte _picOnOff; - byte _fontFlags; - FontJustify _justify; - int _fontSaveBack; - Common::Point _pos; - int _justifyWidth; - int _justifyHeight; - Common::Point _shadow; - int _foreColor; - int _backColor; - int _shadowColor; -public: - FontInfo(); - FontInfo(byte picFlags, byte picSelect, byte picPick, byte picOnOff, byte fontFlags, - FontJustify justify, int fontSaveBack, const Common::Point &pos, int justifyWidth, - int justifyHeight, const Common::Point &shadow, int foreColor, int backColor, - int shadowColor); -}; - class DrawInfo { public: int _penColor; @@ -106,8 +80,7 @@ public: int _sImageShift; Graphics::Surface _screenSurface; CMapResource *_backColors; - FontInfo *_fontPtr; - FontInfo _defaultFontInfo; + FontInfoResource *_fontPtr; DrawInfo *_drawPtr; DrawInfo _defaultDrawInfo; bool _drawTextPermFlag; diff --git a/engines/voyeur/voyeur.cpp b/engines/voyeur/voyeur.cpp index 9078cc9eda..3dec56fe6c 100644 --- a/engines/voyeur/voyeur.cpp +++ b/engines/voyeur/voyeur.cpp @@ -32,7 +32,9 @@ namespace Voyeur { VoyeurEngine *g_vm; VoyeurEngine::VoyeurEngine(OSystem *syst, const VoyeurGameDescription *gameDesc) : Engine(syst), - _gameDescription(gameDesc), _randomSource("Voyeur") { + _gameDescription(gameDesc), _randomSource("Voyeur"), + _defaultFontInfo(3, 0xff, 0xff, 0, 0, ALIGN_LEFT, 0, Common::Point(), 1, 1, + Common::Point(1, 1), 1, 0, 0) { DebugMan.addDebugChannel(kDebugPath, "Path", "Pathfinding debug level"); _bVoy = NULL; @@ -99,6 +101,7 @@ void VoyeurEngine::initialiseManagers() { _filesManager.setVm(this); _graphicsManager.setVm(this); _soundManager.setVm(this); + } void VoyeurEngine::ESP_Init() { @@ -110,7 +113,10 @@ void VoyeurEngine::globalInitBolt() { _filesManager.openBoltLib("bvoy.blt", _bVoy); _bVoy->getBoltGroup(0x10000); _bVoy->getBoltGroup(0x10100); - _fontPtr = _bVoy->memberAddr(0x101); + + _graphicsManager._fontPtr = &_defaultFontInfo; + _graphicsManager._fontPtr->_curFont = _bVoy->boltEntry(0x101)._fontResource; + assert(_graphicsManager._fontPtr->_curFont); // Setup default flags Common::fill((byte *)&_voy, (byte *)&_voy + sizeof(SVoy), 0); @@ -156,7 +162,7 @@ void VoyeurEngine::doHeadTitle() { } void VoyeurEngine::showConversionScreen() { - _graphicsManager._backgroundPage = _bVoy->getBoltEntry(0x5020000)._picResource; + _graphicsManager._backgroundPage = _bVoy->boltEntry(0x502)._picResource; (*_graphicsManager._vPort)->setupViewPort(); (*_graphicsManager._vPort)->_flags |= 8; @@ -164,7 +170,7 @@ void VoyeurEngine::showConversionScreen() { _eventsManager.sWaitFlip(); // Immediate palette load to show the initial screen - CMapResource *cMap = _bVoy->getCMapResource(0x5030000); + CMapResource *cMap = _bVoy->getCMapResource(0x503); assert(cMap); cMap->_steps = 0; cMap->startFade(); @@ -238,10 +244,10 @@ bool VoyeurEngine::doLock() { _graphicsManager.setColor(3, 0x0A, 0xA0, 0x0A); _graphicsManager.setColor(4, 0x0E, 0xE0, 0x0E); - _eventsManager._intPtr.field38 = 1; + _eventsManager._intPtr. field38 = 1; _eventsManager._intPtr._hasPalette = true; - _graphicsManager._fontPtr->_curFont = _bVoy->getBoltEntry(0x708)._fontResource; + _graphicsManager._fontPtr->_curFont = _bVoy->boltEntry(0x708)._fontResource; _graphicsManager._fontPtr->_fontSaveBack = 0; _graphicsManager._fontPtr->_fontFlags = 0; diff --git a/engines/voyeur/voyeur.h b/engines/voyeur/voyeur.h index 723875512c..7a156b8f3f 100644 --- a/engines/voyeur/voyeur.h +++ b/engines/voyeur/voyeur.h @@ -66,9 +66,9 @@ private: Common::RandomSource _randomSource; BoltFile *_bVoy; - byte *_fontPtr; SVoy _voy; Common::Array _resolves; + FontInfoResource _defaultFontInfo; void ESP_Init(); void initialiseManagers(); -- cgit v1.2.3 From 76ba4bcafba4f8c70c318094650bfa45fd674308 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Sun, 16 Jun 2013 09:03:03 -0400 Subject: VOYEUR: Font rendering fixes --- engines/voyeur/files.cpp | 24 ++++++++-- engines/voyeur/files.h | 2 + engines/voyeur/graphics.cpp | 114 ++++++++++++++++++++++++++++++-------------- 3 files changed, 100 insertions(+), 40 deletions(-) diff --git a/engines/voyeur/files.cpp b/engines/voyeur/files.cpp index 94a770ae0e..69cfcc2786 100644 --- a/engines/voyeur/files.cpp +++ b/engines/voyeur/files.cpp @@ -670,6 +670,20 @@ PictureResource::PictureResource() { _imgData = NULL; } +PictureResource::PictureResource(int flags, int select, int pick, int onOff, + int depth, const Common::Rect &bounds, int maskData, byte *imgData, + int planeSize) { + _flags = flags; + _select = select; + _pick = pick; + _onOff = onOff; + _depth = depth; + _bounds = bounds; + _maskData = maskData; + _imgData = imgData; + _planeSize = planeSize; +} + PictureResource::~PictureResource() { delete _imgData; } @@ -677,7 +691,7 @@ PictureResource::~PictureResource() { /*------------------------------------------------------------------------*/ ViewPortResource::ViewPortResource(BoltFilesState &state, const byte *src): - _state(state) { + _fontChar(0, 0xff, 0xff, 0, 0, Common::Rect(), 0, NULL, 0), _state(state) { _flags = READ_LE_UINT16(src); _next = state._curLibPtr->getBoltEntryFromLong(READ_LE_UINT32(src + 2))._viewPortResource; _pageCount = READ_LE_UINT16(src + 6); @@ -919,12 +933,12 @@ int ViewPortResource::drawText(const Common::String &msg) { gfxManager._saveBack = false; int count = 0; - if (!(fontInfo._fontFlags & 4)) + if (fontInfo._fontFlags & 4) count = 1; else if (fontInfo._fontFlags & 8) count = 8; - for (int i = 0; i < count; ++i) { + for (int i = count; i >= 0; --i) { xp = pos.x; yp = pos.y; @@ -950,7 +964,7 @@ int ViewPortResource::drawText(const Common::String &msg) { break; } - if (i == 0) { + if (i != 0) { _fontChar._pick = 0; _fontChar._onOff = fontInfo._shadowColor; } else if (fontData.field2 == 1 || (fontInfo._fontFlags & 0x10)) { @@ -969,7 +983,7 @@ int ViewPortResource::drawText(const Common::String &msg) { while ((ch = *msgP++) != '\0') { int charValue = (int)ch - minChar; - if (charValue >= totalChars || fontData._charWidth[charValue] == 0) + if (charValue < 0 || charValue >= totalChars || fontData._charWidth[charValue] == 0) charValue = fontData._maxChar - minChar; int charWidth = fontData._charWidth[charValue]; diff --git a/engines/voyeur/files.h b/engines/voyeur/files.h index f612904b6d..659f29baaf 100644 --- a/engines/voyeur/files.h +++ b/engines/voyeur/files.h @@ -219,6 +219,8 @@ public: byte *_imgData; public: PictureResource(BoltFilesState &state, const byte *src); + PictureResource(int flags, int select, int pick, int onOff, int depth, + const Common::Rect &bounds, int maskData, byte *imgData, int planeSize); PictureResource(); virtual ~PictureResource(); }; diff --git a/engines/voyeur/graphics.cpp b/engines/voyeur/graphics.cpp index 7a6c72c027..99abc11f52 100644 --- a/engines/voyeur/graphics.cpp +++ b/engines/voyeur/graphics.cpp @@ -93,19 +93,9 @@ void GraphicsManager::addRectOptSaveRect(ViewPortResource *viewPort, int idx, co if (viewPort->_rectListCount[idx] == -1) return; + // TODO: Lots of code in original, which I suspect may be overlapping rect merging viewPort->_rectListPtr[idx]->push_back(bounds); - count1 = count2 = viewPort->_rectListCount[idx]; - varE = var24 = 0; - - if (count1 > 0) { - for (idx1 = 0; idx1 < count1; ++idx1) { - // TODO: In progress - - Common::Array &rectList = *viewPort->_rectListPtr[idx]; - } - - viewPort->_rectListCount[idx] = idx1; - } + ++viewPort->_rectListCount[idx]; } void GraphicsManager::restoreMCGASaveRect(ViewPortResource *viewPort) { @@ -148,9 +138,11 @@ void GraphicsManager::sDrawPic(DisplayResource *srcDisplay, DisplayResource *des bool isClipped = false; int var52; int var20, var22; - int var26; + int var26, var2C; + byte *srcImgData, *destImgData; byte *srcP, *destP; + byte byteVal, byteVal2; // Get the picture parameters, or deference viewport pointers to get their pictures PictureResource *srcPic = (PictureResource *)srcDisplay; @@ -292,6 +284,7 @@ void GraphicsManager::sDrawPic(DisplayResource *srcDisplay, DisplayResource *des if (srcFlags & 8) { error("TODO: sDrawPic"); } else { + // loc_258B8 srcP = srcImgData + srcOffset; if (destFlags & 8) { @@ -316,43 +309,94 @@ void GraphicsManager::sDrawPic(DisplayResource *srcDisplay, DisplayResource *des } } } else { + // loc_2615E destP = destImgData + screenOffset; - // loc_2615E if (srcFlags & 2) { - srcP = srcImgData + srcOffset; - - if (destFlags & 8) { - error("TODO: sDrawPic"); - } else { - // loc_25773 - destP = destImgData + screenOffset; - srcP = (byte *)_screenSurface.pixels + srcOffset; + // loc_2617e + if (srcFlags & 0x100) { + // loc_26188 + srcP = srcImgData; + if (isClipped) { + // loc_26199 +error("TODO: var22/var24/var2C not initialised before use?"); + if (var22 < 0) { + var22 = -var22; + } else { + var22 = 0; + } + var26 = var22 + width2; + if (var24 < 0) { + var24 = -var24; + } else { + var24 = 0; + } - if (srcFlags & 2) { - // Copy from screen to surface with transparency + width2 = srcPic->_bounds.width(); + height1 = var24 + height1; + byteVal = 0; + for (int yp = 0; yp < height1; ++yp) { - for (int xp = 0; xp < width2; ++xp, ++destP) { - byte srcPixel = *srcP++; - if (srcPixel) - *destP = srcPixel; + for (int xp = 0; xp < width2; ++xp) { + if (byteVal2 <= 0) { + byteVal = *srcP++; + if (byteVal & 0x80) { + byteVal &= 0x7f; + byteVal2 = *srcP++; + if (!byteVal2) + byteVal2 = width2; + } + } + + if (yp >= var24 && xp >= var22 && xp < var26) { + if (byteVal > 0) + *destP = byteVal; + ++destP; + } } - destP += widthDiff2; - srcP += widthDiff; + if (yp >= var24) + destP += widthDiff2; } } else { - // Copy from screen surface without transparency + // loc_262BE + byteVal = 0; for (int yp = 0; yp < height1; ++yp) { - for (int xp = 0; xp < width2; ++xp, ++destP) { - byte srcPixel = *srcP++; - *destP = srcPixel; + for (int xp = 0; xp < width2; ++xp) { + byteVal2 = 0; + if (!byteVal2) { + byteVal = *++srcP; + if (byteVal & 0x80) { + byteVal &= 0x7f; + byteVal2 = *srcP++; + + if (!byteVal2) + byteVal2 = width2; + } + } + + if (byteVal > 0) + *destP = byteVal; + + ++destP; + --byteVal2; } destP += widthDiff2; - srcP += widthDiff; } } + } else { + // loc_2637F + // Copy with transparency + for (int yp = 0; yp < height1; ++yp) { + for (int xp = 0; xp < width2; ++xp, ++srcP, ++destP) { + if (*srcP != 0) + *destP = *srcP; + } + + destP += widthDiff2; + srcP += widthDiff; + } } } else { if (srcFlags & 0x100) { -- cgit v1.2.3 From 8f3d5d53200bc9a2b9f54ee94939766d34d8e3b6 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Sun, 16 Jun 2013 21:20:42 -0400 Subject: VOYEUR: Fixed initialisation of viewport parent pointer --- engines/voyeur/events.cpp | 7 +++++-- engines/voyeur/files.cpp | 12 +++++++++--- engines/voyeur/files.h | 2 +- engines/voyeur/graphics.cpp | 11 ++--------- 4 files changed, 17 insertions(+), 15 deletions(-) diff --git a/engines/voyeur/events.cpp b/engines/voyeur/events.cpp index 47f70d39bf..9a22efefef 100644 --- a/engines/voyeur/events.cpp +++ b/engines/voyeur/events.cpp @@ -72,8 +72,10 @@ void EventsManager::vStopCycle() { } void EventsManager::sWaitFlip() { - // TODO: See if this needs a proper wait loop with event polling - //while (_intPtr.field39) ; + while (_gameData._flipWait && !_vm->shouldQuit()) { + pollEvents(); + g_system->delayMillis(10); + } Common::Array &viewPorts = _vm->_graphicsManager._viewPortListPtr->_entries; for (uint idx = 0; idx < viewPorts.size(); ++idx) { @@ -88,6 +90,7 @@ void EventsManager::sWaitFlip() { _vm->_graphicsManager._clipPtr = clipPtr; viewPort._rectListCount[viewPort._pageIndex] = 0; + viewPort._rectListPtr[viewPort._pageIndex]->clear(); viewPort._flags &= 0xFFBF; } } diff --git a/engines/voyeur/files.cpp b/engines/voyeur/files.cpp index 69cfcc2786..335255d3e5 100644 --- a/engines/voyeur/files.cpp +++ b/engines/voyeur/files.cpp @@ -457,8 +457,14 @@ void BoltFile::vInitCycl() { void BoltFile::initViewPort() { initDefault(); - _state._curMemberPtr->_viewPortResource = new ViewPortResource( - _state, _state._curMemberPtr->_data); + + ViewPortResource *viewPort; + byte *src = _state._curMemberPtr->_data; + _state._curMemberPtr->_viewPortResource = viewPort = new ViewPortResource(_state, src); + + // This is done post-constructor, since viewports can be self referential, so + // we ned the _viewPortResource field to have been set before resolving the pointer + viewPort->_parent = getBoltEntryFromLong(READ_LE_UINT32(src + 2))._viewPortResource; } void BoltFile::initViewPortList() { @@ -693,7 +699,7 @@ PictureResource::~PictureResource() { ViewPortResource::ViewPortResource(BoltFilesState &state, const byte *src): _fontChar(0, 0xff, 0xff, 0, 0, Common::Rect(), 0, NULL, 0), _state(state) { _flags = READ_LE_UINT16(src); - _next = state._curLibPtr->getBoltEntryFromLong(READ_LE_UINT32(src + 2))._viewPortResource; + _parent = NULL; _pageCount = READ_LE_UINT16(src + 6); _pageIndex = READ_LE_UINT16(src + 8); _lastPage = READ_LE_UINT16(src + 10); diff --git a/engines/voyeur/files.h b/engines/voyeur/files.h index 659f29baaf..4d8b86f9a6 100644 --- a/engines/voyeur/files.h +++ b/engines/voyeur/files.h @@ -234,7 +234,7 @@ private: void setupViewPort(PictureResource *page, Common::Rect *clipRect, ViewPortSetupPtr setupFn, ViewPortAddPtr addFn, ViewPortRestorePtr restoreFn); public: - ViewPortResource *_next; + ViewPortResource *_parent; int _pageCount; int _pageIndex; int _lastPage; diff --git a/engines/voyeur/graphics.cpp b/engines/voyeur/graphics.cpp index 99abc11f52..9eacda86c2 100644 --- a/engines/voyeur/graphics.cpp +++ b/engines/voyeur/graphics.cpp @@ -549,15 +549,8 @@ void GraphicsManager::setColor(int idx, int r, int g, int b) { void GraphicsManager::screenReset() { resetPalette(); (*_vPort)->setupViewPort(); - fillPic(*_vPort, 0); - - // Flag the following viewport - uint i = 0; - while (i < _viewPortListPtr->_entries.size() && _viewPortListPtr->_entries[i] != *_vPort) - ++i; - assert(i < (_viewPortListPtr->_entries.size() - 1)); - - _viewPortListPtr->_entries[i + 1]->_flags |= 8; + fillPic(*_vPort, 0); + (*_vPort)->_parent->_flags |= 8; // Flip flipPage(); -- cgit v1.2.3 From eea9f9d2bb970f73117c9293835f0eed786c87da Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Sun, 16 Jun 2013 21:50:31 -0400 Subject: VOYEUR: Implemented setCursorTo method --- engines/voyeur/events.cpp | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/engines/voyeur/events.cpp b/engines/voyeur/events.cpp index 9a22efefef..bc69ea4f42 100644 --- a/engines/voyeur/events.cpp +++ b/engines/voyeur/events.cpp @@ -335,7 +335,22 @@ void EventsManager::vInitColor() { } void EventsManager::setCursorTo(int idx, int mode) { - // TODO + switch (idx) { + case 0: + _vm->_graphicsManager.setColor(idx, 90, 90, 232); + break; + case 1: + _vm->_graphicsManager.setColor(idx, 232, 90, 90); + break; + case 2: + _vm->_graphicsManager.setColor(idx, 90, 232, 90); + break; + case 3: + _vm->_graphicsManager.setColor(idx, 90, 232, 232); + break; + default: + break; + } } } // End of namespace Voyeur -- cgit v1.2.3 From 90d916d26ab39a80ad211811e9cd0a32d12dbaac Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Mon, 17 Jun 2013 22:28:30 -0400 Subject: VOYEUR: Added missing entry for Voyeur in engines.mk --- engines/engines.mk | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/engines/engines.mk b/engines/engines.mk index b905a288c9..595b0ae3a2 100644 --- a/engines/engines.mk +++ b/engines/engines.mk @@ -241,3 +241,8 @@ ifdef ENABLE_WINTERMUTE DEFINES += -DENABLE_WINTERMUTE=$(ENABLE_WINTERMUTE) MODULES += engines/wintermute endif + +ifdef ENABLE_VOYEUR +DEFINES += -DENABLE_VOYEUR=$(ENABLE_VOYEUR) +MODULES += engines/voyeur +endif -- cgit v1.2.3 From ef902493c4ba9f63a184ba25dbd8f608deabfcd5 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Mon, 17 Jun 2013 22:41:58 -0400 Subject: VOYEUR: Some cleanup and enum-ifying graphic drawing code --- engines/voyeur/events.cpp | 4 ++-- engines/voyeur/files.cpp | 2 +- engines/voyeur/files.h | 6 ++++++ engines/voyeur/graphics.cpp | 13 +++++++------ engines/voyeur/voyeur.cpp | 14 +++++++------- 5 files changed, 23 insertions(+), 16 deletions(-) diff --git a/engines/voyeur/events.cpp b/engines/voyeur/events.cpp index bc69ea4f42..7f8f55f9aa 100644 --- a/engines/voyeur/events.cpp +++ b/engines/voyeur/events.cpp @@ -81,7 +81,7 @@ void EventsManager::sWaitFlip() { for (uint idx = 0; idx < viewPorts.size(); ++idx) { ViewPortResource &viewPort = *viewPorts[idx]; - if (_vm->_graphicsManager._saveBack && (viewPort._flags & 0x40)) { + if (_vm->_graphicsManager._saveBack && (viewPort._flags & DISPFLAG_40)) { Common::Rect *clipPtr = _vm->_graphicsManager._clipPtr; _vm->_graphicsManager._clipPtr = &viewPort._clipRect; @@ -91,7 +91,7 @@ void EventsManager::sWaitFlip() { _vm->_graphicsManager._clipPtr = clipPtr; viewPort._rectListCount[viewPort._pageIndex] = 0; viewPort._rectListPtr[viewPort._pageIndex]->clear(); - viewPort._flags &= 0xFFBF; + viewPort._flags &= ~DISPFLAG_40; } } } diff --git a/engines/voyeur/files.cpp b/engines/voyeur/files.cpp index 335255d3e5..035162bd2b 100644 --- a/engines/voyeur/files.cpp +++ b/engines/voyeur/files.cpp @@ -691,7 +691,7 @@ PictureResource::PictureResource(int flags, int select, int pick, int onOff, } PictureResource::~PictureResource() { - delete _imgData; + delete[] _imgData; } /*------------------------------------------------------------------------*/ diff --git a/engines/voyeur/files.h b/engines/voyeur/files.h index 4d8b86f9a6..77b53ccdef 100644 --- a/engines/voyeur/files.h +++ b/engines/voyeur/files.h @@ -201,6 +201,12 @@ public: byte *fload(const Common::String &filename, int *size = NULL); }; +enum DisplayFlag { DISPFLAG_1 = 1, DISPFLAG_2 = 2, DISPFLAG_4 = 4, DISPFLAG_8 = 8, + DISPFLAG_10 = 0x10, DISPFLAG_20 = 0x20, DISPFLAG_40 = 0x40, DISPFLAG_80 = 0x80, + DISPFLAG_100 = 0x100, DISPFLAG_200 = 0x200, DISPFLAG_400 = 0x400, + DISPFLAG_800 = 0x800, DISPFLAG_1000 = 0x1000, DISPFLAG_2000 = 0x2000, + DISPFLAG_4000 = 0x4000, DISPFLAG_VIEWPORT = 0x8000 }; + class DisplayResource { public: uint16 _flags; diff --git a/engines/voyeur/graphics.cpp b/engines/voyeur/graphics.cpp index 9eacda86c2..b4443a2743 100644 --- a/engines/voyeur/graphics.cpp +++ b/engines/voyeur/graphics.cpp @@ -148,11 +148,11 @@ void GraphicsManager::sDrawPic(DisplayResource *srcDisplay, DisplayResource *des PictureResource *srcPic = (PictureResource *)srcDisplay; PictureResource *destPic = (PictureResource *)destDisplay; - if (srcDisplay->_flags & 0x8000) { + if (srcDisplay->_flags & DISPFLAG_VIEWPORT) { // A viewport was passed, not a picture srcPic = ((ViewPortResource *)srcDisplay)->_currentPic; } - if (destDisplay->_flags & 0x8000) { + if (destDisplay->_flags & DISPFLAG_VIEWPORT) { destViewPort = (ViewPortResource *)destDisplay; destPic = destViewPort->_currentPic; } @@ -465,7 +465,7 @@ void GraphicsManager::fillPic(DisplayResource *display, byte onOff) { * Queues the given picture for display */ void GraphicsManager::sDisplayPic(PictureResource *pic) { - if (pic->_flags & 8) { + if (pic->_flags & DISPFLAG_8) { _vm->_eventsManager._intPtr.field2A = READ_LE_UINT32(pic->_imgData) >> _sImageShift; } @@ -481,8 +481,9 @@ void GraphicsManager::flipPage() { bool flipFlag = false; for (uint idx = 0; idx < viewPorts.size(); ++idx) { - if (viewPorts[idx]->_flags & 0x20) { - if ((viewPorts[idx]->_flags & 9) == 9) { + if (viewPorts[idx]->_flags & DISPFLAG_20) { + if ((viewPorts[idx]->_flags & (DISPFLAG_8 || DISPFLAG_1)) + == (DISPFLAG_8 || DISPFLAG_1)) { if (_planeSelect == idx) sDisplayPic(viewPorts[idx]->_currentPic); flipFlag = true; @@ -500,7 +501,7 @@ void GraphicsManager::flipPage() { assert(viewPort._pageIndex < 2); viewPort._currentPic = viewPort._pages[viewPort._pageIndex]; - viewPort._flags = (viewPort._flags & 0xFFF7) | 0x40; + viewPort._flags = (viewPort._flags & ~DISPFLAG_8) | DISPFLAG_40; } } } diff --git a/engines/voyeur/voyeur.cpp b/engines/voyeur/voyeur.cpp index 3dec56fe6c..a8a072ef86 100644 --- a/engines/voyeur/voyeur.cpp +++ b/engines/voyeur/voyeur.cpp @@ -164,7 +164,7 @@ void VoyeurEngine::doHeadTitle() { void VoyeurEngine::showConversionScreen() { _graphicsManager._backgroundPage = _bVoy->boltEntry(0x502)._picResource; (*_graphicsManager._vPort)->setupViewPort(); - (*_graphicsManager._vPort)->_flags |= 8; + (*_graphicsManager._vPort)->_flags |= DISPFLAG_8; _graphicsManager.flipPage(); _eventsManager.sWaitFlip(); @@ -187,7 +187,7 @@ void VoyeurEngine::showConversionScreen() { if (shouldQuit()) return; - (*_graphicsManager._vPort)->_flags |= 8; + (*_graphicsManager._vPort)->_flags |= DISPFLAG_8; _graphicsManager.flipPage(); _eventsManager.sWaitFlip(); @@ -231,7 +231,7 @@ bool VoyeurEngine::doLock() { (*_graphicsManager._vPort)->setupViewPort(); _graphicsManager._backColors->startFade(); - (*_graphicsManager._vPort)->_flags |= 8; + (*_graphicsManager._vPort)->_parent->_flags |= DISPFLAG_8; _graphicsManager.flipPage(); _eventsManager.sWaitFlip(); @@ -257,7 +257,7 @@ bool VoyeurEngine::doLock() { bool breakFlag = false; while (!breakFlag && !shouldQuit()) { (*_graphicsManager._vPort)->setupViewPort(); - (*_graphicsManager._vPort)->_flags |= 8; + (*_graphicsManager._vPort)->_parent->_flags |= DISPFLAG_8; _graphicsManager.flipPage(); _eventsManager.sWaitFlip(); @@ -268,7 +268,7 @@ bool VoyeurEngine::doLock() { _graphicsManager._fontPtr->_justifyHeight = 97; (*_graphicsManager._vPort)->drawText(playString); - (*_graphicsManager._vPort)->_flags |= 8; + (*_graphicsManager._vPort)->_parent->_flags |= DISPFLAG_8; _graphicsManager.flipPage(); _eventsManager.sWaitFlip(); @@ -296,7 +296,7 @@ bool VoyeurEngine::doLock() { // TODO: Check is the mouse cursor being manually drawn here? I so, refactor _graphicsManager.sDrawPic(srcPic, *_graphicsManager._vPort, mousePos); - (*_graphicsManager._vPort)->_flags |= 8; + (*_graphicsManager._vPort)->_parent->_flags |= DISPFLAG_8; _graphicsManager.flipPage(); _eventsManager.sWaitFlip(); @@ -354,7 +354,7 @@ bool VoyeurEngine::doLock() { } _graphicsManager.fillPic(*_graphicsManager._vPort); - (*_graphicsManager._vPort)->_flags |= 8; + (*_graphicsManager._vPort)->_parent->_flags |= DISPFLAG_8; _graphicsManager.flipPage(); _eventsManager.sWaitFlip(); _graphicsManager.resetPalette(); -- cgit v1.2.3 From 1a2f6fe6f36a30d9dc6e6c4dcf48b448983a31b3 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Mon, 17 Jun 2013 22:45:59 -0400 Subject: VOYEUR: Fix memory overrun in fading code --- engines/voyeur/events.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/engines/voyeur/events.cpp b/engines/voyeur/events.cpp index 7f8f55f9aa..22b70b435c 100644 --- a/engines/voyeur/events.cpp +++ b/engines/voyeur/events.cpp @@ -252,7 +252,7 @@ void EventsManager::startFade(CMapResource *cMap) { int mapIndex = 0; for (int idx = _fadeFirstCol; idx <= _fadeLastCol; ++idx, vgaP += 3) { - Common::copy(&cMap->_entries[mapIndex], &cMap->_entries[mapIndex + 3], vgaP); + Common::copy(&cMap->_entries[mapIndex], &cMap->_entries[mapIndex + 2], vgaP); if (!(cMap->_fadeStatus & 1)) mapIndex += 3; -- cgit v1.2.3 From b135ce3d28c0558433807fab73bd06514a1ec62f Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Mon, 17 Jun 2013 22:59:26 -0400 Subject: VOYEUR: Further fading memory access bugfixes --- engines/voyeur/events.cpp | 2 +- engines/voyeur/files.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/engines/voyeur/events.cpp b/engines/voyeur/events.cpp index 22b70b435c..7f8f55f9aa 100644 --- a/engines/voyeur/events.cpp +++ b/engines/voyeur/events.cpp @@ -252,7 +252,7 @@ void EventsManager::startFade(CMapResource *cMap) { int mapIndex = 0; for (int idx = _fadeFirstCol; idx <= _fadeLastCol; ++idx, vgaP += 3) { - Common::copy(&cMap->_entries[mapIndex], &cMap->_entries[mapIndex + 2], vgaP); + Common::copy(&cMap->_entries[mapIndex], &cMap->_entries[mapIndex + 3], vgaP); if (!(cMap->_fadeStatus & 1)) mapIndex += 3; diff --git a/engines/voyeur/files.cpp b/engines/voyeur/files.cpp index 035162bd2b..992fb5ad05 100644 --- a/engines/voyeur/files.cpp +++ b/engines/voyeur/files.cpp @@ -1179,7 +1179,7 @@ CMapResource::CMapResource(BoltFilesState &state, const byte *src): _vm(state._v _start = READ_LE_UINT16(src + 2); _end = READ_LE_UINT16(src + 4); - int count = _end - _start; + int count = _end - _start + 1; _entries = new byte[count * 3]; Common::copy(src + 6, src + 6 + 3 * count, _entries); -- cgit v1.2.3 From 65a6308a5a2dce2410ab8509e89a1c0e09d22558 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Mon, 17 Jun 2013 23:06:00 -0400 Subject: VOYEUR: Fix crash on shutdown --- engines/voyeur/files.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/engines/voyeur/files.cpp b/engines/voyeur/files.cpp index 992fb5ad05..9e97dea1cd 100644 --- a/engines/voyeur/files.cpp +++ b/engines/voyeur/files.cpp @@ -1000,6 +1000,7 @@ int ViewPortResource::drawText(const Common::String &msg) { gfxManager.sDrawPic(&_fontChar, this, Common::Point(xp, yp)); + _fontChar._imgData = NULL; xp += charWidth + padding; msgWidth += charWidth + padding; } -- cgit v1.2.3 From c0e6fcba732e58c8aef16362971ae2a91d749e3c Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Tue, 18 Jun 2013 23:14:46 -0400 Subject: VOYEUR: Implemented sDrawPic modes for screen clearing --- engines/voyeur/graphics.cpp | 36 +++++++++++++++++++++++++----------- engines/voyeur/voyeur.cpp | 3 ++- 2 files changed, 27 insertions(+), 12 deletions(-) diff --git a/engines/voyeur/graphics.cpp b/engines/voyeur/graphics.cpp index b4443a2743..c2f6768fc9 100644 --- a/engines/voyeur/graphics.cpp +++ b/engines/voyeur/graphics.cpp @@ -226,7 +226,7 @@ void GraphicsManager::sDrawPic(DisplayResource *srcDisplay, DisplayResource *des widthDiff2 = destPic->_bounds.width() - width2; if (destViewPort) { - if (!_saveBack || ((srcPic->_flags & 0x800) != 0)) { + if (!_saveBack || ((srcPic->_flags & DISPFLAG_800) != 0)) { backBounds.left = destPic->_bounds.left + offset.x; backBounds.top = destPic->_bounds.top + offset.y; backBounds.setWidth(width2); @@ -253,7 +253,7 @@ void GraphicsManager::sDrawPic(DisplayResource *srcDisplay, DisplayResource *des } } - if (srcFlags & 0x1000) { + if (srcFlags & DISPFLAG_1000) { srcImgData = srcPic->_imgData + (var4C << 14) + _screenOffset; for (uint idx = 0; idx < srcPic->_maskData; ++idx) { if (var4C < 4) { @@ -264,7 +264,7 @@ void GraphicsManager::sDrawPic(DisplayResource *srcDisplay, DisplayResource *des } else { srcImgData = srcPic->_imgData; } - if (destFlags & 0x1000) { + if (destFlags & DISPFLAG_1000) { destImgData = destPic->_imgData + (var4C << 14) + _screenOffset; for (uint idx = 0; idx < srcPic->_maskData; ++idx) { if (var4C < 4) { @@ -422,18 +422,32 @@ error("TODO: var22/var24/var2C not initialised before use?"); // loc_26666 if (srcPic->_pick == 0) { // loc_2727A - int onOff = srcPic->_onOff; - int onOff2 = onOff | (onOff << 8); - - if (srcFlags & 2) { - if (srcFlags & 8) { + byte onOff = srcPic->_onOff; + if (srcFlags & DISPFLAG_2) { + if (srcFlags & DISPFLAG_8) { + error("sDrawPic: TODO"); } else { - + error("sDrawPic: TODO"); } } else { - // TODO + // loc_27477 + if (destFlags & DISPFLAG_8) { + // loc_27481 + destP = (byte *)_screenSurface.pixels + screenOffset; + for (int yp = 0; yp < height1; ++yp) { + Common::fill(srcP, srcP + width2, onOff); + destP += width2 + widthDiff2; + } + } else { + // loc_2753C + destP = destImgData + screenOffset; + for (int yp = 0; yp < height1; ++yp) { + Common::fill(destP, destP + width2, onOff); + destP += width2 + widthDiff2; + } + } } } else { @@ -551,7 +565,7 @@ void GraphicsManager::screenReset() { resetPalette(); (*_vPort)->setupViewPort(); fillPic(*_vPort, 0); - (*_vPort)->_parent->_flags |= 8; + (*_vPort)->_parent->_flags |= DISPFLAG_8; // Flip flipPage(); diff --git a/engines/voyeur/voyeur.cpp b/engines/voyeur/voyeur.cpp index a8a072ef86..664e40e6e6 100644 --- a/engines/voyeur/voyeur.cpp +++ b/engines/voyeur/voyeur.cpp @@ -252,7 +252,8 @@ bool VoyeurEngine::doLock() { _graphicsManager._fontPtr->_fontFlags = 0; Common::String dateString = lock.getDateString(); - Common::String playString = Common::String::format("Last Play %s", msg.c_str()); + msg = "16:49 8/12"; + Common::String playString = Common::String::format("Last Play %s", msg.c_str()); bool breakFlag = false; while (!breakFlag && !shouldQuit()) { -- cgit v1.2.3 From 3e62f279d55b5ceb11c72887800fc5ed07e4e31b Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Wed, 19 Jun 2013 00:16:51 -0400 Subject: VOYEUR: Fix loading and use of font resource top padding --- engines/voyeur/files.cpp | 18 +++++++++--------- engines/voyeur/files.h | 2 +- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/engines/voyeur/files.cpp b/engines/voyeur/files.cpp index 9e97dea1cd..09fbc17c56 100644 --- a/engines/voyeur/files.cpp +++ b/engines/voyeur/files.cpp @@ -844,7 +844,7 @@ int ViewPortResource::drawText(const Common::String &msg) { int yShadows[9] = { 0, 1, 0, -1, -1, -1, 0, 1, 1 }; Common::Rect *clipPtr = gfxManager._clipPtr; - if (!(fontInfo._picFlags & 1)) + if (!(fontInfo._picFlags & DISPFLAG_1)) gfxManager._clipPtr = NULL; int minChar = fontData._minChar; @@ -854,14 +854,14 @@ int ViewPortResource::drawText(const Common::String &msg) { int msgWidth = 0; int xp = 0, yp = 0; - Common::Point pos = fontInfo._pos; + Common::Point pos = Common::Point(fontInfo._pos.x, fontInfo._pos.y + fontData._topPadding); - _fontChar._flags = fontInfo._picFlags | 2; + _fontChar._flags = fontInfo._picFlags | DISPFLAG_2; _fontChar._select = fontInfo._picSelect; _fontChar._bounds.setHeight(fontHeight); - if (gfxManager._drawTextPermFlag || (fontInfo._fontFlags & 1) || fontInfo._justify || - (gfxManager._saveBack && fontInfo._fontSaveBack && (_flags & 0x8000))) { + if (gfxManager._drawTextPermFlag || (fontInfo._fontFlags & DISPFLAG_1) || fontInfo._justify || + (gfxManager._saveBack && fontInfo._fontSaveBack && (_flags & DISPFLAG_VIEWPORT))) { msgWidth = textWidth(msg); yp = pos.y; xp = pos.x; @@ -929,7 +929,7 @@ int ViewPortResource::drawText(const Common::String &msg) { addSaveRect(_pageIndex, _fontRect); } - if (fontInfo._fontFlags & 1) { + if (fontInfo._fontFlags & DISPFLAG_1) { gfxManager._drawPtr->_pos = Common::Point(_fontRect.left, _fontRect.top); gfxManager._drawPtr->_penColor = fontInfo._backColor; sFillBox(_fontRect.width()); @@ -939,9 +939,9 @@ int ViewPortResource::drawText(const Common::String &msg) { gfxManager._saveBack = false; int count = 0; - if (fontInfo._fontFlags & 4) + if (fontInfo._fontFlags & DISPFLAG_4) count = 1; - else if (fontInfo._fontFlags & 8) + else if (fontInfo._fontFlags & DISPFLAG_8) count = 8; for (int i = count; i >= 0; --i) { @@ -1097,7 +1097,7 @@ FontResource::FontResource(BoltFilesState &state, byte *src) { field2 = src[2]; _padding = src[3]; _fontHeight = src[5]; - field6 = src[6]; + _topPadding = (int8)src[6]; int totalChars = _maxChar - _minChar + 1; _charWidth = new int[totalChars]; diff --git a/engines/voyeur/files.h b/engines/voyeur/files.h index 77b53ccdef..a00686397c 100644 --- a/engines/voyeur/files.h +++ b/engines/voyeur/files.h @@ -301,7 +301,7 @@ public: int field2; int _padding; int _fontHeight; - int field6; + int _topPadding; int *_charWidth; byte *_data1; byte *_data2; -- cgit v1.2.3 From 4c70e6afceeb262e2500a3d0920a762fedbf4e2f Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Wed, 19 Jun 2013 23:02:40 -0400 Subject: VOYEUR: On-screen text finally showing up --- engines/voyeur/files.cpp | 2 +- engines/voyeur/graphics.cpp | 38 +++++++++++++++++++------------------- engines/voyeur/graphics.h | 2 +- 3 files changed, 21 insertions(+), 21 deletions(-) diff --git a/engines/voyeur/files.cpp b/engines/voyeur/files.cpp index 09fbc17c56..f0a7468be8 100644 --- a/engines/voyeur/files.cpp +++ b/engines/voyeur/files.cpp @@ -925,7 +925,7 @@ int ViewPortResource::drawText(const Common::String &msg) { } } - if (gfxManager._saveBack && fontInfo._fontSaveBack && (_flags & 0x8000)) { + if (gfxManager._saveBack && fontInfo._fontSaveBack && (_flags & DISPFLAG_VIEWPORT)) { addSaveRect(_pageIndex, _fontRect); } diff --git a/engines/voyeur/graphics.cpp b/engines/voyeur/graphics.cpp index c2f6768fc9..3220977252 100644 --- a/engines/voyeur/graphics.cpp +++ b/engines/voyeur/graphics.cpp @@ -123,7 +123,7 @@ void GraphicsManager::addRectNoSaveBack(ViewPortResource *viewPort, int idx, con } void GraphicsManager::sDrawPic(DisplayResource *srcDisplay, DisplayResource *destDisplay, - const Common::Point &offset) { + const Common::Point &initialOffset) { int var4C = 0; int width1, width2; int widthDiff, widthDiff2; @@ -157,8 +157,8 @@ void GraphicsManager::sDrawPic(DisplayResource *srcDisplay, DisplayResource *des destPic = destViewPort->_currentPic; } - Common::Point ofs = Common::Point(offset.x + srcPic->_bounds.left - destPic->_bounds.left, - offset.y + srcPic->_bounds.top - destPic->_bounds.top); + Common::Point offset = Common::Point(initialOffset.x + srcPic->_bounds.left - destPic->_bounds.left, + initialOffset.y + srcPic->_bounds.top - destPic->_bounds.top); width1 = width2 = srcPic->_bounds.width(); height1 = srcPic->_bounds.height(); srcOffset = 0; @@ -179,12 +179,12 @@ void GraphicsManager::sDrawPic(DisplayResource *srcDisplay, DisplayResource *des newBounds = Common::Rect(0, 0, destPic->_bounds.width(), destPic->_bounds.height()); } - var24 = ofs.y - newBounds.top; + var24 = offset.y - newBounds.top; if (var24 < 0) { var52 = width2; srcOffset -= var24 * var52; height1 += var24; - ofs.y = newBounds.top; + offset.y = newBounds.top; if (height1 <= 0) return; @@ -192,18 +192,18 @@ void GraphicsManager::sDrawPic(DisplayResource *srcDisplay, DisplayResource *des isClipped = true; } - var20 = newBounds.bottom - (ofs.y + height1); + var20 = newBounds.bottom - (offset.y + height1); if (var20 < 0) { height1 += var20; if (height1 <= 0) return; } - var22 = ofs.x - newBounds.left; + var22 = offset.x - newBounds.left; if (var22 < 0) { srcOffset -= var22; width2 += var22; - ofs.x = newBounds.left; + offset.x = newBounds.left; if (width2 <= 0) return; @@ -211,7 +211,7 @@ void GraphicsManager::sDrawPic(DisplayResource *srcDisplay, DisplayResource *des isClipped = true; } - var26 = newBounds.right - (ofs.x + width2); + var26 = newBounds.right - (offset.x + width2); if (var26 < 0) { width2 += var26; if (width2 <= 0) @@ -221,7 +221,7 @@ void GraphicsManager::sDrawPic(DisplayResource *srcDisplay, DisplayResource *des } } - screenOffset = ofs.y * destPic->_bounds.width() + ofs.x; + screenOffset = offset.y * destPic->_bounds.width() + offset.x; widthDiff = width1 - width2; widthDiff2 = destPic->_bounds.width() - width2; @@ -245,8 +245,8 @@ void GraphicsManager::sDrawPic(DisplayResource *srcDisplay, DisplayResource *des ++destViewPort->_rectListCount[destViewPort->_pageIndex]; } } else { - int xs = ofs.x + destPic->_bounds.left; - int ys = ofs.y + destPic->_bounds.top; + int xs = offset.x + destPic->_bounds.left; + int ys = offset.y + destPic->_bounds.top; backBounds = Common::Rect(xs, ys, xs + width2, ys + height1); (this->*destViewPort->_addFn)(destViewPort, destViewPort->_bounds.top, backBounds); @@ -281,21 +281,21 @@ void GraphicsManager::sDrawPic(DisplayResource *srcDisplay, DisplayResource *des return; if (srcPic->_pick == 0xff) { - if (srcFlags & 8) { + if (srcFlags & DISPFLAG_8) { error("TODO: sDrawPic"); } else { // loc_258B8 srcP = srcImgData + srcOffset; - if (destFlags & 8) { + if (destFlags & DISPFLAG_8) { // loc_258D8 destP = destImgData + screenOffset; - if (srcFlags & 2) { + if (srcFlags & DISPFLAG_2) { // loc_258F5f } else { // loc_25D40 - if (srcFlags & 0x100) { + if (srcFlags & DISPFLAG_100) { // loc_25D4A } else { // loc_2606D @@ -312,9 +312,9 @@ void GraphicsManager::sDrawPic(DisplayResource *srcDisplay, DisplayResource *des // loc_2615E destP = destImgData + screenOffset; - if (srcFlags & 2) { + if (srcFlags & DISPFLAG_2) { // loc_2617e - if (srcFlags & 0x100) { + if (srcFlags & DISPFLAG_100) { // loc_26188 srcP = srcImgData; if (isClipped) { @@ -459,7 +459,7 @@ error("TODO: var22/var24/var2C not initialised before use?"); void GraphicsManager::fillPic(DisplayResource *display, byte onOff) { PictureResource *pic; - if (display->_flags & 0x8000) { + if (display->_flags & DISPFLAG_VIEWPORT) { pic = ((ViewPortResource *)display)->_currentPic; } else { pic = (PictureResource *)display; diff --git a/engines/voyeur/graphics.h b/engines/voyeur/graphics.h index 02e9698a5e..6e6fdb154e 100644 --- a/engines/voyeur/graphics.h +++ b/engines/voyeur/graphics.h @@ -102,7 +102,7 @@ public: void addRectNoSaveBack(ViewPortResource *viewPort, int idx, const Common::Rect &bounds); void EMSMapPageHandle(int v1, int v2, int v3); - void sDrawPic(DisplayResource *srcDisplay, DisplayResource *destDisplay, const Common::Point &offset); + void sDrawPic(DisplayResource *srcDisplay, DisplayResource *destDisplay, const Common::Point &initialOffset); void fillPic(DisplayResource *display, byte onOff = 0); void sDisplayPic(PictureResource *pic); void flipPage(); -- cgit v1.2.3 From 412ac6a00df783802301463135659cbf5b5237ef Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Thu, 20 Jun 2013 08:38:38 -0400 Subject: VOYEUR: Minor cleanup of doLock cursor code --- engines/voyeur/voyeur.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/engines/voyeur/voyeur.cpp b/engines/voyeur/voyeur.cpp index 664e40e6e6..276fd323cf 100644 --- a/engines/voyeur/voyeur.cpp +++ b/engines/voyeur/voyeur.cpp @@ -205,7 +205,7 @@ bool VoyeurEngine::doLock() { byte *buttonVoc = _filesManager.fload("button.voc", &buttonVocSize); byte *wrongVoc = _filesManager.fload("wrong.voc", &wrongVocSize); LockClass lock; - PictureResource *srcPic; + PictureResource *cursorPic; byte *keyData; int keyCount; Common::String msg; @@ -219,8 +219,8 @@ bool VoyeurEngine::doLock() { _voy._eventTable[999]._data = _bVoy->memberAddr(0x704); Common::String password = lock._password; - srcPic = _bVoy->getPictureResource(0x702); - assert(srcPic); + cursorPic = _bVoy->getPictureResource(0x702); + assert(cursorPic); // Get the mappings of keys on the keypad keyData = _bVoy->memberAddr(0x705); @@ -295,8 +295,8 @@ bool VoyeurEngine::doLock() { _eventsManager._intPtr.field38 = 1; _eventsManager._intPtr._hasPalette = true; - // TODO: Check is the mouse cursor being manually drawn here? I so, refactor - _graphicsManager.sDrawPic(srcPic, *_graphicsManager._vPort, mousePos); + // TODO:Refactor the mouse cursor to use ScummVM cursor code + _graphicsManager.sDrawPic(cursorPic, *_graphicsManager._vPort, mousePos); (*_graphicsManager._vPort)->_parent->_flags |= DISPFLAG_8; _graphicsManager.flipPage(); _eventsManager.sWaitFlip(); -- cgit v1.2.3 From ff270eb61e49a10401b6643b7c5b430268597789 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Thu, 20 Jun 2013 21:24:30 -0400 Subject: VOYEUR: Fix setting cursor colour in lock screen --- engines/voyeur/events.cpp | 2 +- engines/voyeur/graphics.cpp | 8 ++++---- engines/voyeur/graphics.h | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/engines/voyeur/events.cpp b/engines/voyeur/events.cpp index 7f8f55f9aa..ce481e0594 100644 --- a/engines/voyeur/events.cpp +++ b/engines/voyeur/events.cpp @@ -335,7 +335,7 @@ void EventsManager::vInitColor() { } void EventsManager::setCursorTo(int idx, int mode) { - switch (idx) { + switch (mode) { case 0: _vm->_graphicsManager.setColor(idx, 90, 90, 232); break; diff --git a/engines/voyeur/graphics.cpp b/engines/voyeur/graphics.cpp index 3220977252..dd64aae28a 100644 --- a/engines/voyeur/graphics.cpp +++ b/engines/voyeur/graphics.cpp @@ -551,11 +551,11 @@ void GraphicsManager::resetPalette() { _vm->_eventsManager._intPtr._hasPalette = true; } -void GraphicsManager::setColor(int idx, int r, int g, int b) { +void GraphicsManager::setColor(int idx, byte r, byte g, byte b) { byte *vgaP = &_VGAColors[idx * 3]; - vgaP[0] = r >> 2; - vgaP[1] = g >> 2; - vgaP[2] = b >> 2; + vgaP[0] = r; + vgaP[1] = g; + vgaP[2] = b; _vm->_eventsManager._intPtr._palStartIndex = MIN(_vm->_eventsManager._intPtr._palStartIndex, idx); _vm->_eventsManager._intPtr._palEndIndex = MAX(_vm->_eventsManager._intPtr._palEndIndex, idx); diff --git a/engines/voyeur/graphics.h b/engines/voyeur/graphics.h index 6e6fdb154e..f6ad837b1a 100644 --- a/engines/voyeur/graphics.h +++ b/engines/voyeur/graphics.h @@ -108,7 +108,7 @@ public: void flipPage(); void clearPalette(); void resetPalette(); - void setColor(int idx, int r, int g, int b); + void setColor(int idx, byte r, byte g, byte b); void screenReset(); }; -- cgit v1.2.3 From 1c34c1847e456c68b9633bb045d833b2b0e6e501 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Thu, 20 Jun 2013 21:42:48 -0400 Subject: VOYEUR: Lock screen mouse clicks now working --- engines/voyeur/events.cpp | 2 ++ engines/voyeur/voyeur.cpp | 1 + engines/voyeur/voyeur.h | 2 +- 3 files changed, 4 insertions(+), 1 deletion(-) diff --git a/engines/voyeur/events.cpp b/engines/voyeur/events.cpp index ce481e0594..e96ff12bd1 100644 --- a/engines/voyeur/events.cpp +++ b/engines/voyeur/events.cpp @@ -194,12 +194,14 @@ void EventsManager::pollEvents() { return; case Common::EVENT_LBUTTONDOWN: _mouseButton = 1; + _vm->_voy._incriminate = true; return; case Common::EVENT_RBUTTONDOWN: _mouseButton = 2; return; case Common::EVENT_LBUTTONUP: case Common::EVENT_RBUTTONUP: + _vm->_voy._incriminate = false; _mouseButton = 0; return; case Common::EVENT_MOUSEMOVE: diff --git a/engines/voyeur/voyeur.cpp b/engines/voyeur/voyeur.cpp index 276fd323cf..5afc46152e 100644 --- a/engines/voyeur/voyeur.cpp +++ b/engines/voyeur/voyeur.cpp @@ -303,6 +303,7 @@ bool VoyeurEngine::doLock() { _eventsManager.delay(1); } while (!shouldQuit() && !_voy._incriminate); + _voy._incriminate = false; } while (!shouldQuit() && key == -1); _soundManager.abortVOCMap(); diff --git a/engines/voyeur/voyeur.h b/engines/voyeur/voyeur.h index 7a156b8f3f..95a664e7aa 100644 --- a/engines/voyeur/voyeur.h +++ b/engines/voyeur/voyeur.h @@ -66,7 +66,6 @@ private: Common::RandomSource _randomSource; BoltFile *_bVoy; - SVoy _voy; Common::Array _resolves; FontInfoResource _defaultFontInfo; @@ -90,6 +89,7 @@ public: FilesManager _filesManager; GraphicsManager _graphicsManager; SoundManager _soundManager; + SVoy _voy; public: VoyeurEngine(OSystem *syst, const VoyeurGameDescription *gameDesc); virtual ~VoyeurEngine(); -- cgit v1.2.3 From 975cc8075d89f91309c35adf778bb286ccc7d84e Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Thu, 20 Jun 2013 22:08:01 -0400 Subject: VOYEUR: Fixed colours of lock screen text display --- engines/voyeur/utils.cpp | 2 +- engines/voyeur/voyeur.cpp | 40 ++++++++++++++++++++++++---------------- 2 files changed, 25 insertions(+), 17 deletions(-) diff --git a/engines/voyeur/utils.cpp b/engines/voyeur/utils.cpp index a5745e67cb..5c861389d9 100644 --- a/engines/voyeur/utils.cpp +++ b/engines/voyeur/utils.cpp @@ -49,7 +49,7 @@ void LockClass::saveThePassword() { } Common::String LockClass::getDateString() { - return Common::String(); + return Common::String("ScummVM"); } } // End of namespace Voyeur diff --git a/engines/voyeur/voyeur.cpp b/engines/voyeur/voyeur.cpp index 5afc46152e..c969acd7c2 100644 --- a/engines/voyeur/voyeur.cpp +++ b/engines/voyeur/voyeur.cpp @@ -208,7 +208,6 @@ bool VoyeurEngine::doLock() { PictureResource *cursorPic; byte *keyData; int keyCount; - Common::String msg; int key; if (_bVoy->getBoltGroup(0x10700)) { @@ -239,10 +238,10 @@ bool VoyeurEngine::doLock() { _eventsManager.delay(1); _eventsManager.setCursorTo(127, 0); - _graphicsManager.setColor(1, 0x40, 0x40, 0x40); - _graphicsManager.setColor(2, 0x60, 0x60, 0x60); - _graphicsManager.setColor(3, 0x0A, 0xA0, 0x0A); - _graphicsManager.setColor(4, 0x0E, 0xE0, 0x0E); + _graphicsManager.setColor(1, 64, 64, 64); + _graphicsManager.setColor(2, 96, 96, 96); + _graphicsManager.setColor(3, 160, 160, 160); + _graphicsManager.setColor(4, 224, 224, 224); _eventsManager._intPtr. field38 = 1; _eventsManager._intPtr._hasPalette = true; @@ -252,9 +251,9 @@ bool VoyeurEngine::doLock() { _graphicsManager._fontPtr->_fontFlags = 0; Common::String dateString = lock.getDateString(); - msg = "16:49 8/12"; - Common::String playString = Common::String::format("Last Play %s", msg.c_str()); + Common::String displayString = Common::String::format("Last Play %s", dateString.c_str()); + bool firstLoop = true; bool breakFlag = false; while (!breakFlag && !shouldQuit()) { (*_graphicsManager._vPort)->setupViewPort(); @@ -268,11 +267,16 @@ bool VoyeurEngine::doLock() { _graphicsManager._fontPtr->_justifyWidth = 384; _graphicsManager._fontPtr->_justifyHeight = 97; - (*_graphicsManager._vPort)->drawText(playString); + (*_graphicsManager._vPort)->drawText(displayString); (*_graphicsManager._vPort)->_parent->_flags |= DISPFLAG_8; _graphicsManager.flipPage(); _eventsManager.sWaitFlip(); + if (firstLoop) { + firstLoop = false; + displayString = ""; + } + // Loop for getting key presses do { do { @@ -319,32 +323,36 @@ bool VoyeurEngine::doLock() { // Process the key if (key < 10) { - if (playString.size() < 10) { - playString += '0' + key; + // Numeric key + if (displayString.size() < 10) { + displayString += '0' + key; continue; } } else if (key == 10) { + // Accept key if (!flag) { - if ((password.size() == 0 && !playString.size()) || (password == playString)) { + if ((password.empty() && displayString.empty()) || (password == displayString)) { breakFlag = true; result = true; break; } } else { - if (playString.size() > 0) { - result = 1; + if (displayString.size() > 0) { + result = true; breakFlag = true; break; } } } else if (key == 11) { - if ((password.size() == 0 && !playString.size()) || (password != playString)) { + // New code + if ((password.empty() && displayString.empty()) || (password != displayString)) { (*_graphicsManager._vPort)->setupViewPort(); flag = true; - playString = ""; + displayString = ""; continue; } } else if (key == 12) { + // Exit keyword breakFlag = true; result = false; break; @@ -362,7 +370,7 @@ bool VoyeurEngine::doLock() { _graphicsManager.resetPalette(); if (flag && result) - lock._password = msg; + lock._password = displayString; lock.saveThePassword(); _voy._eventTable[999]._data = NULL; -- cgit v1.2.3 From 8c2b956120c9f11e6aa89753aa5dcdee8d2f1d7a Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Fri, 21 Jun 2013 00:18:19 -0400 Subject: VOYEUR: Converted cursor drawing to use CursorMan --- engines/voyeur/events.cpp | 23 ++++++++++++++++- engines/voyeur/events.h | 8 +++++- engines/voyeur/files.cpp | 1 + engines/voyeur/files.h | 4 +-- engines/voyeur/graphics.cpp | 63 ++++++++++++++++++++++++++++++++++++++++++++- engines/voyeur/voyeur.cpp | 17 ++++++------ 6 files changed, 102 insertions(+), 14 deletions(-) diff --git a/engines/voyeur/events.cpp b/engines/voyeur/events.cpp index e96ff12bd1..6bd0012fe7 100644 --- a/engines/voyeur/events.cpp +++ b/engines/voyeur/events.cpp @@ -22,6 +22,7 @@ #include "voyeur/events.h" #include "voyeur/voyeur.h" +#include "graphics/cursorman.h" #include "graphics/palette.h" namespace Voyeur { @@ -336,7 +337,19 @@ void EventsManager::vInitColor() { addIntNode(&_cycleIntNode); } -void EventsManager::setCursorTo(int idx, int mode) { +void EventsManager::setCursor(PictureResource *pic) { + PictureResource cursor; + cursor._bounds = pic->_bounds; + cursor._flags = DISPFLAG_CURSOR; + + _vm->_graphicsManager.sDrawPic(pic, &cursor, Common::Point()); +} + +void EventsManager::setCursor(byte *cursorData, int width, int height) { + CursorMan.replaceCursor(cursorData, width, height, 0, 0, 0); +} + +void EventsManager::setCursorColor(int idx, int mode) { switch (mode) { case 0: _vm->_graphicsManager.setColor(idx, 90, 90, 232); @@ -355,4 +368,12 @@ void EventsManager::setCursorTo(int idx, int mode) { } } +void EventsManager::mouseOn() { + CursorMan.showMouse(true); +} + +void EventsManager::mouseOff() { + CursorMan.showMouse(false); +} + } // End of namespace Voyeur diff --git a/engines/voyeur/events.h b/engines/voyeur/events.h index 8689127b0d..0b78bc2dd8 100644 --- a/engines/voyeur/events.h +++ b/engines/voyeur/events.h @@ -25,6 +25,8 @@ #include "common/scummsys.h" #include "common/list.h" +#include "graphics/surface.h" +#include "voyeur/files.h" #include "voyeur/game.h" namespace Voyeur { @@ -95,7 +97,11 @@ public: void addIntNode(IntNode *node); void addFadeInt(); - void setCursorTo(int idx, int mode); + void setCursor(PictureResource *pic); + void setCursor(byte *cursorData, int width, int height); + void setCursorColor(int idx, int mode); + void mouseOn(); + void mouseOff(); Common::Point getMousePos() { return _mousePos; } }; diff --git a/engines/voyeur/files.cpp b/engines/voyeur/files.cpp index f0a7468be8..16566d8ef3 100644 --- a/engines/voyeur/files.cpp +++ b/engines/voyeur/files.cpp @@ -666,6 +666,7 @@ PictureResource::PictureResource(BoltFilesState &state, const byte *src) { } PictureResource::PictureResource() { + _flags = 0; _select = 0; _pick = 0; _onOff = 0; diff --git a/engines/voyeur/files.h b/engines/voyeur/files.h index a00686397c..5d825ffce9 100644 --- a/engines/voyeur/files.h +++ b/engines/voyeur/files.h @@ -205,11 +205,11 @@ enum DisplayFlag { DISPFLAG_1 = 1, DISPFLAG_2 = 2, DISPFLAG_4 = 4, DISPFLAG_8 = DISPFLAG_10 = 0x10, DISPFLAG_20 = 0x20, DISPFLAG_40 = 0x40, DISPFLAG_80 = 0x80, DISPFLAG_100 = 0x100, DISPFLAG_200 = 0x200, DISPFLAG_400 = 0x400, DISPFLAG_800 = 0x800, DISPFLAG_1000 = 0x1000, DISPFLAG_2000 = 0x2000, - DISPFLAG_4000 = 0x4000, DISPFLAG_VIEWPORT = 0x8000 }; + DISPFLAG_4000 = 0x4000, DISPFLAG_VIEWPORT = 0x8000, DISPFLAG_CURSOR = 0x10000 }; class DisplayResource { public: - uint16 _flags; + uint32 _flags; }; class PictureResource: public DisplayResource { diff --git a/engines/voyeur/graphics.cpp b/engines/voyeur/graphics.cpp index dd64aae28a..9cf255306f 100644 --- a/engines/voyeur/graphics.cpp +++ b/engines/voyeur/graphics.cpp @@ -139,6 +139,7 @@ void GraphicsManager::sDrawPic(DisplayResource *srcDisplay, DisplayResource *des int var52; int var20, var22; int var26, var2C; + byte pixel; byte *srcImgData, *destImgData; byte *srcP, *destP; @@ -164,6 +165,7 @@ void GraphicsManager::sDrawPic(DisplayResource *srcDisplay, DisplayResource *des srcOffset = 0; srcFlags = srcPic->_flags; destFlags = destPic->_flags; + byte *cursorData = NULL; if (srcFlags & 1) { if (_clipPtr) { @@ -280,6 +282,12 @@ void GraphicsManager::sDrawPic(DisplayResource *srcDisplay, DisplayResource *des if (srcPic->_select != 0xff) return; + if (destFlags & DISPFLAG_CURSOR) { + cursorData = new byte[width2 * height1]; + Common::fill(cursorData, cursorData + width2 * height1, 0); + destImgData = cursorData; + } + if (srcPic->_pick == 0xff) { if (srcFlags & DISPFLAG_8) { error("TODO: sDrawPic"); @@ -292,7 +300,55 @@ void GraphicsManager::sDrawPic(DisplayResource *srcDisplay, DisplayResource *des destP = destImgData + screenOffset; if (srcFlags & DISPFLAG_2) { - // loc_258F5f + // loc_25652 + srcP = srcImgData + srcOffset; + + if (destFlags & DISPFLAG_8) { + // loc_2566F + if (srcFlags & DISPFLAG_2) { + // loc_256FA + srcP = (byte *)_screenSurface.pixels + srcOffset; + + for (int yp = 0; yp < height1; ++yp) { + for (int xp = 0; xp < width2; ++width2, ++srcP, ++destP) { + pixel = *srcP; + if (pixel) + *destP = pixel; + } + + srcP += widthDiff; + destP += widthDiff2; + } + } else { + // loc_25706 + for (int yp = 0; yp < height1; ++yp) { + Common::copy(srcP, srcP + width2, destP); + srcP += width2 + widthDiff; + destP += width2 + widthDiff2; + } + } + } else { + // loc_25773 + destP = destImgData + screenOffset; + + if (srcFlags & DISPFLAG_2) { + // loc_25793 + for (int yp = 0; yp < height1; ++yp) { + Common::copy(srcP, srcP + width2, destP); + srcP += width2 + widthDiff; + destP += width2 + widthDiff2; + } + } else { + // loc_25829 + destP = (byte *)_screenSurface.pixels + screenOffset; + + for (int yp = 0; yp < height1; ++yp) { + Common::copy(srcP, srcP + width2, destP); + srcP += width2 + widthDiff; + destP += width2 + widthDiff2; + } + } + } } else { // loc_25D40 if (srcFlags & DISPFLAG_100) { @@ -455,6 +511,11 @@ error("TODO: var22/var24/var2C not initialised before use?"); // TODO } } + + if (cursorData) { + _vm->_eventsManager.setCursor(cursorData, width2, height1); + delete[] cursorData; + } } void GraphicsManager::fillPic(DisplayResource *display, byte onOff) { diff --git a/engines/voyeur/voyeur.cpp b/engines/voyeur/voyeur.cpp index c969acd7c2..8be57e496f 100644 --- a/engines/voyeur/voyeur.cpp +++ b/engines/voyeur/voyeur.cpp @@ -237,12 +237,16 @@ bool VoyeurEngine::doLock() { while (!shouldQuit() && (_eventsManager._fadeStatus & 1)) _eventsManager.delay(1); - _eventsManager.setCursorTo(127, 0); + _eventsManager.setCursorColor(127, 0); _graphicsManager.setColor(1, 64, 64, 64); _graphicsManager.setColor(2, 96, 96, 96); _graphicsManager.setColor(3, 160, 160, 160); _graphicsManager.setColor(4, 224, 224, 224); + // Set up the cursor + _eventsManager.setCursor(cursorPic); + _eventsManager.mouseOn(); + _eventsManager._intPtr. field38 = 1; _eventsManager._intPtr._hasPalette = true; @@ -282,7 +286,8 @@ bool VoyeurEngine::doLock() { do { // Scan through the list of key rects to check if a keypad key is highlighted key = -1; - Common::Point mousePos = _eventsManager.getMousePos(); + Common::Point mousePos = _eventsManager.getMousePos() + + Common::Point(30, 20); for (int keyIndex = 0; keyIndex < keyCount; ++keyIndex) { int x1 = READ_LE_UINT16(keyData + (((keyIndex << 2) + 1) << 1)); @@ -295,16 +300,10 @@ bool VoyeurEngine::doLock() { } } - _eventsManager.setCursorTo(127, (key == -1) ? 0 : 1); + _eventsManager.setCursorColor(127, (key == -1) ? 0 : 1); _eventsManager._intPtr.field38 = 1; _eventsManager._intPtr._hasPalette = true; - // TODO:Refactor the mouse cursor to use ScummVM cursor code - _graphicsManager.sDrawPic(cursorPic, *_graphicsManager._vPort, mousePos); - (*_graphicsManager._vPort)->_parent->_flags |= DISPFLAG_8; - _graphicsManager.flipPage(); - _eventsManager.sWaitFlip(); - _eventsManager.delay(1); } while (!shouldQuit() && !_voy._incriminate); _voy._incriminate = false; -- cgit v1.2.3 From c4a56dbdb87ef347106ae9a16426df5306d8a91f Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Sat, 22 Jun 2013 11:57:51 -0400 Subject: VOYEUR: Implemented RL2 video decoder --- engines/voyeur/animation.cpp | 279 +++++++++++++++++++++++++++++++++++++++++++ engines/voyeur/animation.h | 100 ++++++++++++++++ engines/voyeur/graphics.cpp | 4 + engines/voyeur/graphics.h | 1 + engines/voyeur/module.mk | 1 + engines/voyeur/voyeur.cpp | 35 +++++- engines/voyeur/voyeur.h | 2 + 7 files changed, 421 insertions(+), 1 deletion(-) create mode 100644 engines/voyeur/animation.cpp create mode 100644 engines/voyeur/animation.h diff --git a/engines/voyeur/animation.cpp b/engines/voyeur/animation.cpp new file mode 100644 index 0000000000..b2bcb2a35c --- /dev/null +++ b/engines/voyeur/animation.cpp @@ -0,0 +1,279 @@ +/* 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 "voyeur/animation.h" +#include "common/system.h" +#include "graphics/surface.h" + +namespace Video { + +RL2Decoder::RL2Decoder() { +} + +RL2Decoder::~RL2Decoder() { + close(); +} + +bool RL2Decoder::loadStream(Common::SeekableReadStream *stream) { + close(); + + stream->seek(8); + + // Check RL2 magic number + uint32 signature = stream->readUint32LE(); + if (signature != 0x33564c52 /* RLV3 */ && signature != 0x32564c52 /* RLV2 */) { + warning("RL2Decoder::loadStream(): attempted to load non-RL2 data (type = 0x%08X)", signature); + return false; + } + + addTrack(new RL2VideoTrack(stream)); + return true; +} + +const Common::List *RL2Decoder::getDirtyRects() const { + const Track *track = getTrack(0); + + if (track) + return ((const RL2VideoTrack *)track)->getDirtyRects(); + + return 0; +} + +void RL2Decoder::clearDirtyRects() { + Track *track = getTrack(0); + + if (track) + ((RL2VideoTrack *)track)->clearDirtyRects(); +} + +void RL2Decoder::copyDirtyRectsToBuffer(uint8 *dst, uint pitch) { + Track *track = getTrack(0); + + if (track) + ((RL2VideoTrack *)track)->copyDirtyRectsToBuffer(dst, pitch); +} + +RL2Decoder::RL2VideoTrack::RL2VideoTrack(Common::SeekableReadStream *stream) { + _fileStream = stream; + + stream->seek(4); + uint32 backSize = stream->readUint32LE(); + assert(backSize == 0 || backSize == (320 * 200)); + + stream->seek(16); + _frameCount = stream->readUint16LE(); + + // Calculate the frame rate + stream->seek(22); + int soundRate = stream->readUint16LE(); + int rate = stream->readUint16LE(); + stream->skip(2); + int defSoundSize = stream->readUint16LE(); + + int fps = (soundRate > 0) ? rate / defSoundSize : 11025 / 1103; + _frameDelay = 1000 / fps; + + _surface = new Graphics::Surface(); + _surface->create(320, 200, Graphics::PixelFormat::createFormatCLUT8()); + if (backSize == 0) { + _backSurface = NULL; + } else { + _backSurface = new Graphics::Surface(); + _backSurface->create(320, 200, Graphics::PixelFormat::createFormatCLUT8()); + + stream->seek(0x324); + _fileStream->read((byte *)_backSurface->pixels, 320 * 200); + } + + stream->seek(30); + _videoBase = stream->readUint16LE(); + stream->seek(36); + _palette = new byte[3 * 256]; + stream->read(_palette, 256 * 3); + _dirtyPalette = true; + + _curFrame = 0; + _nextFrameStartTime = 0; + + // Read in the frame offsets. Since we're only worried about the video data + // here, we'll calculate video offsets taking into account sound data size + stream->seek(0x324 + backSize + 4 * _frameCount); + + _frameOffset = new uint32[_frameCount]; + for (uint i = 0; i < _frameCount; ++i) + _frameOffset[i] = _fileStream->readUint32LE(); + + // Adust frame offsets to skip sound data + for (uint i = 0; i < _frameCount; ++i) + _frameOffset[i] += _fileStream->readUint32LE() & 0xffff; +} + +RL2Decoder::RL2VideoTrack::~RL2VideoTrack() { + delete _fileStream; + delete[] _palette; + delete[] _frameOffset; + + _surface->free(); + delete _surface; + if (_backSurface) { + _backSurface->free(); + delete _backSurface; + } +} + +bool RL2Decoder::RL2VideoTrack::endOfTrack() const { + return getCurFrame() >= getFrameCount(); +} + +bool RL2Decoder::RL2VideoTrack::rewind() { + _curFrame = 0; + _nextFrameStartTime = 0; + + _fileStream->seek(_frameOffset[0]); + + return true; +} + +uint16 RL2Decoder::RL2VideoTrack::getWidth() const { + return _surface->w; +} + +uint16 RL2Decoder::RL2VideoTrack::getHeight() const { + return _surface->h; +} + +Graphics::PixelFormat RL2Decoder::RL2VideoTrack::getPixelFormat() const { + return _surface->format; +} + +const Graphics::Surface *RL2Decoder::RL2VideoTrack::decodeNextFrame() { + if (_curFrame == 0 && _backSurface) { + // Read in the background frame + _fileStream->seek(0x324); + rl2DecodeFrameWithoutBackground(0); + _dirtyRects.push_back(Common::Rect(0, 0, _surface->w, _surface->h)); + } + + _fileStream->seek(_frameOffset[_curFrame]); + + if (_backSurface) + rl2DecodeFrameWithBackground(); + else + rl2DecodeFrameWithoutBackground(); + + _curFrame++; + _nextFrameStartTime += _frameDelay; + + return _surface; +} + +void RL2Decoder::RL2VideoTrack::copyDirtyRectsToBuffer(uint8 *dst, uint pitch) { + for (Common::List::const_iterator it = _dirtyRects.begin(); it != _dirtyRects.end(); ++it) { + for (int y = (*it).top; y < (*it).bottom; ++y) { + const int x = (*it).left; + memcpy(dst + y * pitch + x, (byte *)_surface->pixels + y * getWidth() + x, (*it).right - x); + } + } + + clearDirtyRects(); +} + +void RL2Decoder::RL2VideoTrack::copyFrame(uint8 *data) { + memcpy((byte *)_surface->pixels, data, getWidth() * getHeight()); + + // Redraw + _dirtyRects.clear(); + _dirtyRects.push_back(Common::Rect(0, 0, getWidth(), getHeight())); +} + +void RL2Decoder::RL2VideoTrack::rl2DecodeFrameWithoutBackground(int screenOffset) { + if (screenOffset == -1) + screenOffset = _videoBase; + byte *destP = (byte *)_surface->pixels + screenOffset; + int frameSize = _surface->w * _surface->h - screenOffset; + + _fileStream->seek(_frameOffset[_curFrame]); + while (frameSize > 0) { + byte nextByte = _fileStream->readByte(); + + if (nextByte < 0x80) { + *destP++ = nextByte; + --frameSize; + } else if (nextByte == 0x80) { + int runLength = _fileStream->readByte(); + if (runLength == 0) + return; + + runLength = MIN(runLength, frameSize); + Common::fill(destP, destP + runLength, 0); + destP += runLength; + frameSize -= runLength; + } else { + int runLength = _fileStream->readByte(); + + runLength = MIN(runLength, frameSize); + Common::fill(destP, destP + runLength, nextByte & 0x7f); + destP += runLength; + frameSize -= runLength; + } + } +} + +void RL2Decoder::RL2VideoTrack::rl2DecodeFrameWithBackground() { + int screenOffset = _videoBase; + int frameSize = _surface->w * _surface->h - _videoBase; + byte *src = (byte *)_backSurface->pixels; + byte *dest = (byte *)_surface->pixels; + + _fileStream->seek(_frameOffset[_curFrame]); + while (frameSize > 0) { + byte nextByte = _fileStream->readByte(); + + if (nextByte == 0) { + dest[screenOffset] = src[screenOffset]; + ++screenOffset; + --frameSize; + } else if (nextByte < 0x80) { + dest[screenOffset] = nextByte | 0x80; + ++screenOffset; + --frameSize; + } else if (nextByte == 0x80) { + byte runLength = _fileStream->readByte(); + if (runLength == 0) + return; + + assert(runLength <= frameSize); + Common::copy(src + screenOffset, src + screenOffset + runLength, dest); + screenOffset += runLength; + frameSize -= runLength; + } else { + byte runLength = _fileStream->readByte(); + + assert(runLength <= frameSize); + Common::fill(dest + screenOffset, dest + screenOffset + runLength, nextByte & 0x7f); + screenOffset += runLength; + frameSize -= runLength; + } + } +} + +} // End of namespace Video diff --git a/engines/voyeur/animation.h b/engines/voyeur/animation.h new file mode 100644 index 0000000000..dccf409e92 --- /dev/null +++ b/engines/voyeur/animation.h @@ -0,0 +1,100 @@ +/* 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. + * + */ + +#ifndef VOYEUR_ANIMATION_H +#define VOYEUR_ANIMATION_H + +#include "video/video_decoder.h" +#include "common/list.h" +#include "common/rect.h" +#include "common/stream.h" + +namespace Video { + +/** + * Decoder for RL2 videos. + * + * Video decoder used in engines: + * - voyeur + */ +class RL2Decoder : public VideoDecoder { +public: + RL2Decoder(); + virtual ~RL2Decoder(); + + bool loadStream(Common::SeekableReadStream *stream); + + const Common::List *getDirtyRects() const; + void clearDirtyRects(); + void copyDirtyRectsToBuffer(uint8 *dst, uint pitch); + +private: + class RL2VideoTrack : public VideoTrack { + public: + RL2VideoTrack(Common::SeekableReadStream *stream); + ~RL2VideoTrack(); + + bool endOfTrack() const; + bool isRewindable() const { return true; } + bool rewind(); + + uint16 getWidth() const; + uint16 getHeight() const; + Graphics::PixelFormat getPixelFormat() const; + int getCurFrame() const { return _curFrame; } + int getFrameCount() const { return _frameCount; } + uint32 getNextFrameStartTime() const { return _nextFrameStartTime; } + const Graphics::Surface *decodeNextFrame(); + const byte *getPalette() const { _dirtyPalette = false; return _palette; } + bool hasDirtyPalette() const { return _dirtyPalette; } + + const Common::List *getDirtyRects() const { return &_dirtyRects; } + void clearDirtyRects() { _dirtyRects.clear(); } + void copyDirtyRectsToBuffer(uint8 *dst, uint pitch); + + private: + Common::SeekableReadStream *_fileStream; + Graphics::Surface *_surface; + Graphics::Surface *_backSurface; + + int _curFrame; + + byte *_palette; + mutable bool _dirtyPalette; + + uint32 _frameCount; + uint32 _videoBase; + uint32 *_frameOffset; + uint32 _frameDelay; + uint32 _nextFrameStartTime; + + Common::List _dirtyRects; + + void copyFrame(uint8 *data); + void rl2DecodeFrameWithBackground(); + void rl2DecodeFrameWithoutBackground(int screenOffset = -1); + }; +}; + +} // End of namespace Video + +#endif /* VOYEUR_ANIMATION_H */ diff --git a/engines/voyeur/graphics.cpp b/engines/voyeur/graphics.cpp index 9cf255306f..c79081ceef 100644 --- a/engines/voyeur/graphics.cpp +++ b/engines/voyeur/graphics.cpp @@ -604,6 +604,10 @@ void GraphicsManager::clearPalette() { g_system->getPaletteManager()->setPalette(&palette[0], 0, 256); } +void GraphicsManager::setPalette(const byte *palette, int start, int count) { + g_system->getPaletteManager()->setPalette(palette, start, count); +} + void GraphicsManager::resetPalette() { for (int i = 0; i < 256; ++i) setColor(i, 0, 0, 0); diff --git a/engines/voyeur/graphics.h b/engines/voyeur/graphics.h index f6ad837b1a..23a29657f1 100644 --- a/engines/voyeur/graphics.h +++ b/engines/voyeur/graphics.h @@ -107,6 +107,7 @@ public: void sDisplayPic(PictureResource *pic); void flipPage(); void clearPalette(); + void setPalette(const byte *palette, int start, int count); void resetPalette(); void setColor(int idx, byte r, byte g, byte b); void screenReset(); diff --git a/engines/voyeur/module.mk b/engines/voyeur/module.mk index 48f63dc2f0..645b62ff49 100644 --- a/engines/voyeur/module.mk +++ b/engines/voyeur/module.mk @@ -1,6 +1,7 @@ MODULE := engines/voyeur MODULE_OBJS := \ + animation.o \ debugger.o \ detection.o \ events.o \ diff --git a/engines/voyeur/voyeur.cpp b/engines/voyeur/voyeur.cpp index 8be57e496f..1e140f8621 100644 --- a/engines/voyeur/voyeur.cpp +++ b/engines/voyeur/voyeur.cpp @@ -21,6 +21,7 @@ */ #include "voyeur/voyeur.h" +#include "voyeur/animation.h" #include "voyeur/graphics.h" #include "voyeur/utils.h" #include "common/scummsys.h" @@ -156,8 +157,13 @@ void VoyeurEngine::doHeadTitle() { if (shouldQuit()) return; - doLock(); + if (ConfMan.getBool("copy_protection")) { + bool result = doLock(); + if (!result || shouldQuit()) + return; + } + playRL2Video("a1100100.rl2"); // TODO } @@ -196,6 +202,8 @@ void VoyeurEngine::showConversionScreen() { _graphicsManager.screenReset(); _bVoy->freeBoltGroup(0x10500); + + } bool VoyeurEngine::doLock() { @@ -376,10 +384,35 @@ bool VoyeurEngine::doLock() { _bVoy->freeBoltGroup(0x10700); } + _eventsManager.mouseOff(); + delete[] buttonVoc; delete[] wrongVoc; return result; } +void VoyeurEngine::playRL2Video(const Common::String &filename) { + ::Video::RL2Decoder decoder; + decoder.loadFile(filename); + decoder.start(); + + while (!shouldQuit() && !decoder.endOfVideo() && !_voy._incriminate) { + if (decoder.hasDirtyPalette()) { + const byte *palette = decoder.getPalette(); + _graphicsManager.setPalette(palette, 0, 256); + } + + if (decoder.needsUpdate()) { + const Graphics::Surface *frame = decoder.decodeNextFrame(); + + Common::copy((byte *)frame->pixels, (byte *)frame->pixels + 320 * 200, + (byte *)_graphicsManager._screenSurface.pixels); + } + + _eventsManager.pollEvents(); + g_system->delayMillis(10); + } +} + } // End of namespace Voyeur diff --git a/engines/voyeur/voyeur.h b/engines/voyeur/voyeur.h index 95a664e7aa..06ac691569 100644 --- a/engines/voyeur/voyeur.h +++ b/engines/voyeur/voyeur.h @@ -107,6 +107,8 @@ public: virtual bool canSaveGameStateCurrently(); virtual Common::Error loadGameState(int slot); virtual Common::Error saveGameState(int slot, const Common::String &desc); + + void playRL2Video(const Common::String &filename); }; } // End of namespace Voyeur -- cgit v1.2.3 From 527a52e473789685ec601cf2f052cf5a3a65d2d2 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Sat, 22 Jun 2013 19:28:52 -0400 Subject: VOYEUR: Sound for RL2 video files is sort of working --- engines/voyeur/animation.cpp | 167 +++++++++++++++++++++++++++++++------------ engines/voyeur/animation.h | 68 +++++++++++++++--- 2 files changed, 179 insertions(+), 56 deletions(-) diff --git a/engines/voyeur/animation.cpp b/engines/voyeur/animation.cpp index b2bcb2a35c..7b5316b513 100644 --- a/engines/voyeur/animation.cpp +++ b/engines/voyeur/animation.cpp @@ -21,12 +21,14 @@ */ #include "voyeur/animation.h" +#include "common/memstream.h" #include "common/system.h" +#include "audio/decoders/raw.h" #include "graphics/surface.h" namespace Video { -RL2Decoder::RL2Decoder() { +RL2Decoder::RL2Decoder(Audio::Mixer::SoundType soundType) : _soundType(soundType) { } RL2Decoder::~RL2Decoder() { @@ -36,16 +38,25 @@ RL2Decoder::~RL2Decoder() { bool RL2Decoder::loadStream(Common::SeekableReadStream *stream) { close(); - stream->seek(8); + // Load basic file information + _header.load(stream); // Check RL2 magic number - uint32 signature = stream->readUint32LE(); - if (signature != 0x33564c52 /* RLV3 */ && signature != 0x32564c52 /* RLV2 */) { - warning("RL2Decoder::loadStream(): attempted to load non-RL2 data (type = 0x%08X)", signature); + if (!_header.isValid()) { + warning("RL2Decoder::loadStream(): attempted to load non-RL2 data (0x%08X)", _header._signature); return false; } - addTrack(new RL2VideoTrack(stream)); + // Add an audio track if sound is present + RL2AudioTrack *audioTrack = NULL; + if (_header._soundRate) { + audioTrack = new RL2AudioTrack(_header, _soundType); + addTrack(audioTrack); + } + + // Create a video track + addTrack(new RL2VideoTrack(_header, audioTrack, stream)); + return true; } @@ -72,65 +83,91 @@ void RL2Decoder::copyDirtyRectsToBuffer(uint8 *dst, uint pitch) { ((RL2VideoTrack *)track)->copyDirtyRectsToBuffer(dst, pitch); } -RL2Decoder::RL2VideoTrack::RL2VideoTrack(Common::SeekableReadStream *stream) { - _fileStream = stream; +/*------------------------------------------------------------------------*/ - stream->seek(4); - uint32 backSize = stream->readUint32LE(); - assert(backSize == 0 || backSize == (320 * 200)); +RL2Decoder::RL2FileHeader::RL2FileHeader() { + _frameOffsets = NULL; + _frameSoundSizes = NULL; +} - stream->seek(16); - _frameCount = stream->readUint16LE(); +RL2Decoder::RL2FileHeader::~RL2FileHeader() { + delete[] _frameOffsets; + _frameSoundSizes; +} - // Calculate the frame rate - stream->seek(22); - int soundRate = stream->readUint16LE(); - int rate = stream->readUint16LE(); - stream->skip(2); - int defSoundSize = stream->readUint16LE(); +void RL2Decoder::RL2FileHeader::load(Common::SeekableReadStream *stream) { + stream->seek(0); + + _form = stream->readUint32LE(); + _backSize = stream->readUint32LE(); + _signature = stream->readUint32LE(); + + if (!isValid()) + return; + + _dataSize = stream->readUint32LE(); + _numFrames = stream->readUint32LE(); + _method = stream->readUint16LE(); + _soundRate = stream->readUint16LE(); + _rate = stream->readUint16LE(); + _channels = stream->readUint16LE(); + _defSoundSize = stream->readUint16LE(); + _videoBase = stream->readUint16LE(); + _colorCount = stream->readUint32LE(); + assert(_colorCount <= 256); + + stream->read(_palette, 768); - int fps = (soundRate > 0) ? rate / defSoundSize : 11025 / 1103; + // Skip over background frame, if any, and the list of overall frame sizes (which we don't use) + stream->skip(_backSize + 4 * _numFrames); + + // Load frame offsets + _frameOffsets = new uint32[_numFrames]; + for (int i = 0; i < _numFrames; ++i) + _frameOffsets[i] = stream->readUint32LE(); + + // Load the size of the sound portion of each frame + _frameSoundSizes = new int[_numFrames]; + for (int i = 0; i < _numFrames; ++i) + _frameSoundSizes[i] = stream->readUint32LE() & 0xffff; +} + +bool RL2Decoder::RL2FileHeader::isValid() const { + return _signature == MKTAG('R','L','V','2') || _signature != MKTAG('R','L','V','3'); +} + +/*------------------------------------------------------------------------*/ + +RL2Decoder::RL2VideoTrack::RL2VideoTrack(const RL2FileHeader &header, RL2AudioTrack *audioTrack, + Common::SeekableReadStream *stream): + _header(header), _audioTrack(audioTrack), _fileStream(stream) { + assert(header._backSize == 0 || header._backSize == (320 * 200)); + + // Calculate the frame rate + int fps = (header._soundRate > 0) ? header._rate / header._defSoundSize : 11025 / 1103; _frameDelay = 1000 / fps; _surface = new Graphics::Surface(); _surface->create(320, 200, Graphics::PixelFormat::createFormatCLUT8()); - if (backSize == 0) { + if (header._backSize == 0) { _backSurface = NULL; } else { _backSurface = new Graphics::Surface(); _backSurface->create(320, 200, Graphics::PixelFormat::createFormatCLUT8()); stream->seek(0x324); - _fileStream->read((byte *)_backSurface->pixels, 320 * 200); + rl2DecodeFrameWithoutBackground(0); } - stream->seek(30); - _videoBase = stream->readUint16LE(); - stream->seek(36); - _palette = new byte[3 * 256]; - stream->read(_palette, 256 * 3); + _videoBase = header._videoBase; _dirtyPalette = true; _curFrame = 0; _nextFrameStartTime = 0; - - // Read in the frame offsets. Since we're only worried about the video data - // here, we'll calculate video offsets taking into account sound data size - stream->seek(0x324 + backSize + 4 * _frameCount); - - _frameOffset = new uint32[_frameCount]; - for (uint i = 0; i < _frameCount; ++i) - _frameOffset[i] = _fileStream->readUint32LE(); - - // Adust frame offsets to skip sound data - for (uint i = 0; i < _frameCount; ++i) - _frameOffset[i] += _fileStream->readUint32LE() & 0xffff; } RL2Decoder::RL2VideoTrack::~RL2VideoTrack() { delete _fileStream; - delete[] _palette; - delete[] _frameOffset; _surface->free(); delete _surface; @@ -148,8 +185,6 @@ bool RL2Decoder::RL2VideoTrack::rewind() { _curFrame = 0; _nextFrameStartTime = 0; - _fileStream->seek(_frameOffset[0]); - return true; } @@ -173,8 +208,14 @@ const Graphics::Surface *RL2Decoder::RL2VideoTrack::decodeNextFrame() { _dirtyRects.push_back(Common::Rect(0, 0, _surface->w, _surface->h)); } - _fileStream->seek(_frameOffset[_curFrame]); - + // Move to the next frame data + _fileStream->seek(_header._frameOffsets[_curFrame]); + + // If there's any sound data, pass it to the audio track + if (_header._frameSoundSizes[_curFrame] > 0 && _audioTrack) + _audioTrack->queueSound(_fileStream, _header._frameSoundSizes[_curFrame]); + + // Decode the graphic data if (_backSurface) rl2DecodeFrameWithBackground(); else @@ -211,7 +252,6 @@ void RL2Decoder::RL2VideoTrack::rl2DecodeFrameWithoutBackground(int screenOffset byte *destP = (byte *)_surface->pixels + screenOffset; int frameSize = _surface->w * _surface->h - screenOffset; - _fileStream->seek(_frameOffset[_curFrame]); while (frameSize > 0) { byte nextByte = _fileStream->readByte(); @@ -244,7 +284,6 @@ void RL2Decoder::RL2VideoTrack::rl2DecodeFrameWithBackground() { byte *src = (byte *)_backSurface->pixels; byte *dest = (byte *)_surface->pixels; - _fileStream->seek(_frameOffset[_curFrame]); while (frameSize > 0) { byte nextByte = _fileStream->readByte(); @@ -276,4 +315,38 @@ void RL2Decoder::RL2VideoTrack::rl2DecodeFrameWithBackground() { } } +/*------------------------------------------------------------------------*/ + +RL2Decoder::RL2AudioTrack::RL2AudioTrack(const RL2FileHeader &header, Audio::Mixer::SoundType soundType): + _header(header), _soundType(soundType) { + _audStream = createAudioStream(); +} + +RL2Decoder::RL2AudioTrack::~RL2AudioTrack() { + delete _audStream; +} + +void RL2Decoder::RL2AudioTrack::queueSound(Common::SeekableReadStream *stream, int size) { + if (_audStream) { + // Queue the sound data + byte *data = new byte[size]; + stream->read(data, size); + Common::MemoryReadStream *memoryStream = new Common::MemoryReadStream(data, size, + DisposeAfterUse::YES); + + _audStream->queueAudioStream(Audio::makeRawStream(memoryStream, _header._rate, + Audio::FLAG_UNSIGNED, DisposeAfterUse::YES), DisposeAfterUse::YES); + } else { + delete stream; + } +} + +Audio::AudioStream *RL2Decoder::RL2AudioTrack::getAudioStream() const { + return _audStream; +} + +Audio::QueuingAudioStream *RL2Decoder::RL2AudioTrack::createAudioStream() { + return Audio::makeQueuingAudioStream(_header._rate, _header._channels == 2); +} + } // End of namespace Video diff --git a/engines/voyeur/animation.h b/engines/voyeur/animation.h index dccf409e92..c5991f49f0 100644 --- a/engines/voyeur/animation.h +++ b/engines/voyeur/animation.h @@ -24,6 +24,8 @@ #define VOYEUR_ANIMATION_H #include "video/video_decoder.h" +#include "audio/audiostream.h" +#include "audio/mixer.h" #include "common/list.h" #include "common/rect.h" #include "common/stream.h" @@ -37,8 +39,37 @@ namespace Video { * - voyeur */ class RL2Decoder : public VideoDecoder { + + class RL2FileHeader { + public: + uint32 _form; + uint32 _backSize; + uint32 _signature; + uint32 _dataSize; + int _numFrames; + int _method; + int _soundRate; + int _rate; + int _channels; + int _defSoundSize; + int _videoBase; + int _colorCount; + byte _palette[768]; + + uint32 *_frameOffsets; + int *_frameSoundSizes; + public: + RL2FileHeader(); + ~RL2FileHeader(); + void load(Common::SeekableReadStream *stream); + bool isValid() const; + }; + +private: + Audio::Mixer::SoundType _soundType; + RL2FileHeader _header; public: - RL2Decoder(); + RL2Decoder(Audio::Mixer::SoundType soundType = Audio::Mixer::kPlainSoundType); virtual ~RL2Decoder(); bool loadStream(Common::SeekableReadStream *stream); @@ -48,9 +79,29 @@ public: void copyDirtyRectsToBuffer(uint8 *dst, uint pitch); private: + class RL2AudioTrack : public AudioTrack { + public: + RL2AudioTrack(const RL2FileHeader &header, Audio::Mixer::SoundType soundType); + ~RL2AudioTrack(); + + void queueSound(Common::SeekableReadStream *stream, int size); + Audio::Mixer::SoundType getSoundType() const { return _soundType; } + + protected: + Audio::AudioStream *getAudioStream() const; + + private: + Audio::Mixer::SoundType _soundType; + const RL2FileHeader &_header; + + Audio::QueuingAudioStream *_audStream; + Audio::QueuingAudioStream *createAudioStream(); + }; + class RL2VideoTrack : public VideoTrack { public: - RL2VideoTrack(Common::SeekableReadStream *stream); + RL2VideoTrack(const RL2FileHeader &header, RL2AudioTrack *audioTrack, + Common::SeekableReadStream *stream); ~RL2VideoTrack(); bool endOfTrack() const; @@ -61,10 +112,10 @@ private: uint16 getHeight() const; Graphics::PixelFormat getPixelFormat() const; int getCurFrame() const { return _curFrame; } - int getFrameCount() const { return _frameCount; } + int getFrameCount() const { return _header._numFrames; } uint32 getNextFrameStartTime() const { return _nextFrameStartTime; } const Graphics::Surface *decodeNextFrame(); - const byte *getPalette() const { _dirtyPalette = false; return _palette; } + const byte *getPalette() const { _dirtyPalette = false; return _header._palette; } bool hasDirtyPalette() const { return _dirtyPalette; } const Common::List *getDirtyRects() const { return &_dirtyRects; } @@ -73,17 +124,16 @@ private: private: Common::SeekableReadStream *_fileStream; + const RL2FileHeader &_header; + RL2AudioTrack *_audioTrack; Graphics::Surface *_surface; Graphics::Surface *_backSurface; - int _curFrame; - - byte *_palette; mutable bool _dirtyPalette; - uint32 _frameCount; + int _curFrame; uint32 _videoBase; - uint32 *_frameOffset; + uint32 *_frameOffsets; uint32 _frameDelay; uint32 _nextFrameStartTime; -- cgit v1.2.3 From b4bfc7c71cd716111b97e389f98cf00e7e7163d9 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Sat, 22 Jun 2013 21:09:20 -0400 Subject: VOYEUR: Implementing code for showing title sequence --- engines/voyeur/voyeur.cpp | 46 ++++++++++++++++++++++++++++++++++++++++++++-- engines/voyeur/voyeur.h | 1 + 2 files changed, 45 insertions(+), 2 deletions(-) diff --git a/engines/voyeur/voyeur.cpp b/engines/voyeur/voyeur.cpp index 1e140f8621..75d97aa174 100644 --- a/engines/voyeur/voyeur.cpp +++ b/engines/voyeur/voyeur.cpp @@ -163,8 +163,7 @@ void VoyeurEngine::doHeadTitle() { return; } - playRL2Video("a1100100.rl2"); - // TODO + showTitleScreen(); } void VoyeurEngine::showConversionScreen() { @@ -392,6 +391,49 @@ bool VoyeurEngine::doLock() { return result; } +void VoyeurEngine::showTitleScreen() { + if (_bVoy->getBoltGroup(0x10500)) { + _graphicsManager._backgroundPage = _bVoy->getPictureResource(0x500); + + (*_graphicsManager._vPort)->setupViewPort(); + (*_graphicsManager._vPort)->_flags |= DISPFLAG_8; + _graphicsManager.flipPage(); + _eventsManager.sWaitFlip(); + + // Immediate palette load to show the initial screen + CMapResource *cMap = _bVoy->getCMapResource(0x501); + assert(cMap); + cMap->_steps = 60; + cMap->startFade(); + + // Wait briefly + _eventsManager.delay(200); + if (shouldQuit()) + return; + + // Fade out the screen + cMap = _bVoy->getCMapResource(0x504); + cMap->_steps = 30; + cMap->startFade(); + + (*_graphicsManager._vPort)->_flags |= DISPFLAG_8; + _graphicsManager.flipPage(); + _eventsManager.sWaitFlip(); + + while (!shouldQuit() && (_eventsManager._fadeStatus & 1)) + _eventsManager.delay(1); + if (shouldQuit()) + return; + + _graphicsManager.screenReset(); + _eventsManager.delay(200); + _bVoy->freeBoltGroup(0x10500); + + playRL2Video("a1100100.rl2"); + _graphicsManager.screenReset(); + } +} + void VoyeurEngine::playRL2Video(const Common::String &filename) { ::Video::RL2Decoder decoder; decoder.loadFile(filename); diff --git a/engines/voyeur/voyeur.h b/engines/voyeur/voyeur.h index 06ac691569..10fe19253c 100644 --- a/engines/voyeur/voyeur.h +++ b/engines/voyeur/voyeur.h @@ -79,6 +79,7 @@ private: void doHeadTitle(); void showConversionScreen(); bool doLock(); + void showTitleScreen(); protected: // Engine APIs virtual Common::Error run(); -- cgit v1.2.3 From cc4486772c32f3ccc334541c8200e31375d78c78 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Sun, 23 Jun 2013 11:16:53 -0400 Subject: VOYEUR: Fix in bounds clipping in sDrawPic --- engines/voyeur/graphics.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/engines/voyeur/graphics.cpp b/engines/voyeur/graphics.cpp index c79081ceef..98b3e74087 100644 --- a/engines/voyeur/graphics.cpp +++ b/engines/voyeur/graphics.cpp @@ -169,8 +169,8 @@ void GraphicsManager::sDrawPic(DisplayResource *srcDisplay, DisplayResource *des if (srcFlags & 1) { if (_clipPtr) { - int xs = _clipPtr->left - srcPic->_bounds.left; - int ys = _clipPtr->top - srcPic->_bounds.top; + int xs = _clipPtr->left - destPic->_bounds.left; + int ys = _clipPtr->top - destPic->_bounds.top; newBounds = Common::Rect(xs, ys, xs + _clipPtr->width(), ys + _clipPtr->height()); } else if (destViewPort) { int xs = destViewPort->_clipRect.left - destPic->_bounds.left; -- cgit v1.2.3 From 2654135257bc6771a3e18794df15b0d8fc238647 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Sun, 23 Jun 2013 11:31:54 -0400 Subject: VOYEUR: Fix crash from using background resource after it's group is freed --- engines/voyeur/animation.cpp | 2 +- engines/voyeur/graphics.cpp | 1 + engines/voyeur/voyeur.cpp | 3 ++- 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/engines/voyeur/animation.cpp b/engines/voyeur/animation.cpp index 7b5316b513..1f4e623976 100644 --- a/engines/voyeur/animation.cpp +++ b/engines/voyeur/animation.cpp @@ -329,7 +329,7 @@ RL2Decoder::RL2AudioTrack::~RL2AudioTrack() { void RL2Decoder::RL2AudioTrack::queueSound(Common::SeekableReadStream *stream, int size) { if (_audStream) { // Queue the sound data - byte *data = new byte[size]; + byte *data = (byte *)malloc(size); stream->read(data, size); Common::MemoryReadStream *memoryStream = new Common::MemoryReadStream(data, size, DisposeAfterUse::YES); diff --git a/engines/voyeur/graphics.cpp b/engines/voyeur/graphics.cpp index 98b3e74087..f517f1afa2 100644 --- a/engines/voyeur/graphics.cpp +++ b/engines/voyeur/graphics.cpp @@ -628,6 +628,7 @@ void GraphicsManager::setColor(int idx, byte r, byte g, byte b) { void GraphicsManager::screenReset() { resetPalette(); + (*_vPort)->setupViewPort(); fillPic(*_vPort, 0); (*_vPort)->_parent->_flags |= DISPFLAG_8; diff --git a/engines/voyeur/voyeur.cpp b/engines/voyeur/voyeur.cpp index 75d97aa174..e7adc7d11b 100644 --- a/engines/voyeur/voyeur.cpp +++ b/engines/voyeur/voyeur.cpp @@ -427,10 +427,11 @@ void VoyeurEngine::showTitleScreen() { _graphicsManager.screenReset(); _eventsManager.delay(200); - _bVoy->freeBoltGroup(0x10500); playRL2Video("a1100100.rl2"); _graphicsManager.screenReset(); + + _bVoy->freeBoltGroup(0x10500); } } -- cgit v1.2.3 From a4e445702f5c65337f21364ac9d5f37e28e8e657 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Sun, 23 Jun 2013 14:55:27 -0400 Subject: VOYEUR: Implemented doTransitionCard --- engines/voyeur/files.cpp | 4 ++++ engines/voyeur/files.h | 1 + engines/voyeur/game.cpp | 45 +++++++++++++++++++++++++++++++++++++++++++++ engines/voyeur/game.h | 11 +++++++++++ engines/voyeur/voyeur.cpp | 32 +++++++++++++++++++++++++++++--- engines/voyeur/voyeur.h | 6 ++++-- 6 files changed, 94 insertions(+), 5 deletions(-) diff --git a/engines/voyeur/files.cpp b/engines/voyeur/files.cpp index 16566d8ef3..34098e42a1 100644 --- a/engines/voyeur/files.cpp +++ b/engines/voyeur/files.cpp @@ -1051,7 +1051,11 @@ void ViewPortResource::addSaveRect(int pageIndex, const Common::Rect &r) { } void ViewPortResource::sFillBox(int width) { + // TODO +} +void ViewPortResource::fillPic(byte onOff) { + _state._vm->_graphicsManager.fillPic(this, onOff); } /*------------------------------------------------------------------------*/ diff --git a/engines/voyeur/files.h b/engines/voyeur/files.h index 5d825ffce9..b66546cd0c 100644 --- a/engines/voyeur/files.h +++ b/engines/voyeur/files.h @@ -274,6 +274,7 @@ public: int textWidth(const Common::String &msg); void addSaveRect(int pageIndex, const Common::Rect &r); void sFillBox(int width); + void fillPic(byte onOff = 0); }; class ViewPortPalEntry { diff --git a/engines/voyeur/game.cpp b/engines/voyeur/game.cpp index 9d71fbf653..47b59b87db 100644 --- a/engines/voyeur/game.cpp +++ b/engines/voyeur/game.cpp @@ -50,4 +50,49 @@ void IntData::audioInit() { /*------------------------------------------------------------------------*/ +Game::Game() { +} + +void Game::doTransitionCard(const Common::String &time, const Common::String &location) { + _vm->_graphicsManager.setColor(128, 16, 16, 16); + _vm->_graphicsManager.setColor(224, 220, 220, 220); + _vm->_eventsManager._intPtr.field38 = true; + _vm->_eventsManager._intPtr._hasPalette = true; + + (*_vm->_graphicsManager._vPort)->setupViewPort(); + (*_vm->_graphicsManager._vPort)->fillPic(128); + _vm->_graphicsManager.flipPage(); + _vm->_eventsManager.sWaitFlip(); + + (*_vm->_graphicsManager._vPort)->_parent->_flags |= DISPFLAG_8; + _vm->_graphicsManager.flipPage(); + _vm->_eventsManager.sWaitFlip(); + (*_vm->_graphicsManager._vPort)->fillPic(128); + + FontInfoResource &fi = *_vm->_graphicsManager._fontPtr; + fi._curFont = _vm->_bVoy->boltEntry(257)._fontResource; + fi._foreColor = 224; + fi._fontSaveBack = 0; + fi._pos = Common::Point(0, 116); + fi._justify = ALIGN_CENTRE; + fi._justifyWidth = 384; + fi._justifyHeight = 120; + + (*_vm->_graphicsManager._vPort)->drawText(time); + + if (!location.empty()) { + fi._pos = Common::Point(0, 138); + fi._justify = ALIGN_CENTRE; + fi._justifyWidth = 384; + fi._justifyHeight = 140; + + (*_vm->_graphicsManager._vPort)->drawText(location); + } + + (*_vm->_graphicsManager._vPort)->_parent->_flags |= DISPFLAG_8; + _vm->_graphicsManager.flipPage(); + _vm->_eventsManager.sWaitFlip(); +} + + } // End of namespace Voyeur diff --git a/engines/voyeur/game.h b/engines/voyeur/game.h index e47a880422..b569cb712f 100644 --- a/engines/voyeur/game.h +++ b/engines/voyeur/game.h @@ -25,6 +25,7 @@ #include "common/scummsys.h" #include "common/events.h" +#include "common/str.h" namespace Voyeur { @@ -120,6 +121,16 @@ public: void audioInit(); }; +class Game { +private: + VoyeurEngine *_vm; +public: + Game(); + void setVm(VoyeurEngine *vm) { _vm = vm; } + + void doTransitionCard(const Common::String &time, const Common::String &location); +}; + } // End of namespace Voyeur #endif /* VOYEUR_GAME_H */ diff --git a/engines/voyeur/voyeur.cpp b/engines/voyeur/voyeur.cpp index e7adc7d11b..f54d72acaa 100644 --- a/engines/voyeur/voyeur.cpp +++ b/engines/voyeur/voyeur.cpp @@ -100,6 +100,7 @@ void VoyeurEngine::initialiseManagers() { _debugger.setVm(this); _eventsManager.setVm(this); _filesManager.setVm(this); + _game.setVm(this); _graphicsManager.setVm(this); _soundManager.setVm(this); @@ -146,7 +147,7 @@ void VoyeurEngine::vInitInterrupts() { void VoyeurEngine::initInput() { } -void VoyeurEngine::doHeadTitle() { +bool VoyeurEngine::doHeadTitle() { // char dest[144]; _eventsManager.startMainClockInt(); @@ -155,15 +156,35 @@ void VoyeurEngine::doHeadTitle() { if (_bVoy->getBoltGroup(0x10500)) showConversionScreen(); if (shouldQuit()) - return; + return false; if (ConfMan.getBool("copy_protection")) { bool result = doLock(); if (!result || shouldQuit()) - return; + return false; } showTitleScreen(); + + // Opening + if (!_voy._incriminate) { + doOpening(); + _game.doTransitionCard("Saturday Afternoon", "Player's Apartment"); + _eventsManager.delay(90); + } else { + _voy._incriminate = false; + } + + if (_voy._eCursorOff[58] & 0x80) { + if (_voy._evidence[19] == 0) { + // TODO + } else { + // TODO + } + } + + _voy._eCursorOff[55] = 140; + return true; } void VoyeurEngine::showConversionScreen() { @@ -428,6 +449,7 @@ void VoyeurEngine::showTitleScreen() { _graphicsManager.screenReset(); _eventsManager.delay(200); + // Voyeur title playRL2Video("a1100100.rl2"); _graphicsManager.screenReset(); @@ -435,6 +457,10 @@ void VoyeurEngine::showTitleScreen() { } } +void VoyeurEngine::doOpening() { + +} + void VoyeurEngine::playRL2Video(const Common::String &filename) { ::Video::RL2Decoder decoder; decoder.loadFile(filename); diff --git a/engines/voyeur/voyeur.h b/engines/voyeur/voyeur.h index 10fe19253c..f698aae702 100644 --- a/engines/voyeur/voyeur.h +++ b/engines/voyeur/voyeur.h @@ -65,7 +65,6 @@ private: const VoyeurGameDescription *_gameDescription; Common::RandomSource _randomSource; - BoltFile *_bVoy; Common::Array _resolves; FontInfoResource _defaultFontInfo; @@ -76,18 +75,21 @@ private: void vInitInterrupts(); void initInput(); - void doHeadTitle(); + bool doHeadTitle(); void showConversionScreen(); bool doLock(); void showTitleScreen(); + void doOpening(); protected: // Engine APIs virtual Common::Error run(); virtual bool hasFeature(EngineFeature f) const; public: + BoltFile *_bVoy; Debugger _debugger; EventsManager _eventsManager; FilesManager _filesManager; + Game _game; GraphicsManager _graphicsManager; SoundManager _soundManager; SVoy _voy; -- cgit v1.2.3 From d8ef42a7619113f57ce14aa3a4430e4d576ad0b4 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Mon, 24 Jun 2013 08:51:42 -0400 Subject: VOYEUR: Work on doOpening method --- engines/voyeur/game.cpp | 3 +++ engines/voyeur/game.h | 6 ++++++ engines/voyeur/voyeur.cpp | 53 ++++++++++++++++++++++++++++++++++++++++++++++- 3 files changed, 61 insertions(+), 1 deletion(-) diff --git a/engines/voyeur/game.cpp b/engines/voyeur/game.cpp index 47b59b87db..a653a842ae 100644 --- a/engines/voyeur/game.cpp +++ b/engines/voyeur/game.cpp @@ -94,5 +94,8 @@ void Game::doTransitionCard(const Common::String &time, const Common::String &lo _vm->_eventsManager.sWaitFlip(); } +void Game::addVideoEventStart() { + +} } // End of namespace Voyeur diff --git a/engines/voyeur/game.h b/engines/voyeur/game.h index b569cb712f..eb7d5f5e59 100644 --- a/engines/voyeur/game.h +++ b/engines/voyeur/game.h @@ -124,11 +124,17 @@ public: class Game { private: VoyeurEngine *_vm; +public: + int _v2A098; + int _v2A0A6; + int _v2A0A4; + int _v2A09A; public: Game(); void setVm(VoyeurEngine *vm) { _vm = vm; } void doTransitionCard(const Common::String &time, const Common::String &location); + void addVideoEventStart(); }; } // End of namespace Voyeur diff --git a/engines/voyeur/voyeur.cpp b/engines/voyeur/voyeur.cpp index f54d72acaa..f39d9be9d0 100644 --- a/engines/voyeur/voyeur.cpp +++ b/engines/voyeur/voyeur.cpp @@ -259,9 +259,9 @@ bool VoyeurEngine::doLock() { _graphicsManager._backColors->startFade(); (*_graphicsManager._vPort)->_parent->_flags |= DISPFLAG_8; - _graphicsManager.flipPage(); _eventsManager.sWaitFlip(); + while (!shouldQuit() && (_eventsManager._fadeStatus & 1)) _eventsManager.delay(1); @@ -458,7 +458,58 @@ void VoyeurEngine::showTitleScreen() { } void VoyeurEngine::doOpening() { + _graphicsManager.screenReset(); + + if (!_bVoy->getBoltGroup(0x10200)) + return; + byte *frameTable = _bVoy->memberAddr(0x215); + byte *xyTable = _bVoy->memberAddr(0x216); + byte *whTable = _bVoy->memberAddr(0x217); + int frmaeIndex = 0; + int creditShow = 1; + _game._v2A098 = 1; + _voy._eCursorOff[52] = 0; + _voy._RTVNum = 0; + _voy._eCursorOff[50] = _voy._RTVNum; + _game._v2A0A6 = 4; + _game._v2A0A4 = 0; + _voy._eCursorOff[58] = 16; + _game._v2A09A = -1; + _game.addVideoEventStart(); + _voy._eCursorOff[58] &= ~1; + + for (int i = 0; i < 256; ++i) + _graphicsManager.setColor(i, 8, 8, 8); + + _eventsManager._intPtr.field38 = 1; + _eventsManager._intPtr._hasPalette = true; + (*_graphicsManager._vPort)->setupViewPort(); + (*_graphicsManager._vPort)->_parent->_flags |= DISPFLAG_8; + _graphicsManager.flipPage(); + _eventsManager.sWaitFlip(); + + ::Video::RL2Decoder decoder; + decoder.loadFile("a2300100.rl2"); + decoder.start(); + + while (!shouldQuit() && !decoder.endOfVideo() && !_voy._incriminate) { + if (decoder.hasDirtyPalette()) { + const byte *palette = decoder.getPalette(); + _graphicsManager.setPalette(palette, 0, 256); + } + + if (decoder.needsUpdate()) { + const Graphics::Surface *frame = decoder.decodeNextFrame(); + + Common::copy((byte *)frame->pixels, (byte *)frame->pixels + 320 * 200, + (byte *)_graphicsManager._screenSurface.pixels); + } + + _eventsManager.pollEvents(); + g_system->delayMillis(10); + } + } void VoyeurEngine::playRL2Video(const Common::String &filename) { -- cgit v1.2.3 From 66d1f7a8de2ff5a21ad013f45924c406f4833e9a Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Wed, 26 Jun 2013 22:23:50 -0400 Subject: VOYEUR: Fixes for opening scene to start --- engines/voyeur/animation.cpp | 1 - engines/voyeur/graphics.cpp | 7 +++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/engines/voyeur/animation.cpp b/engines/voyeur/animation.cpp index 1f4e623976..3bcc6cf10f 100644 --- a/engines/voyeur/animation.cpp +++ b/engines/voyeur/animation.cpp @@ -141,7 +141,6 @@ bool RL2Decoder::RL2FileHeader::isValid() const { RL2Decoder::RL2VideoTrack::RL2VideoTrack(const RL2FileHeader &header, RL2AudioTrack *audioTrack, Common::SeekableReadStream *stream): _header(header), _audioTrack(audioTrack), _fileStream(stream) { - assert(header._backSize == 0 || header._backSize == (320 * 200)); // Calculate the frame rate int fps = (header._soundRate > 0) ? header._rate / header._defSoundSize : 11025 / 1103; diff --git a/engines/voyeur/graphics.cpp b/engines/voyeur/graphics.cpp index f517f1afa2..6e3ed103ce 100644 --- a/engines/voyeur/graphics.cpp +++ b/engines/voyeur/graphics.cpp @@ -54,6 +54,7 @@ GraphicsManager::GraphicsManager(): _drawTextPermFlag = false; _clipPtr = NULL; _viewPortListPtr = NULL; + _backgroundPage = NULL; _vPort = NULL; _fontPtr = NULL; } @@ -586,6 +587,11 @@ void GraphicsManager::restoreBack(Common::Array &rectList, int rec bool saveBack = _saveBack; _saveBack = false; + // WORKAROUND: Since _backgroundPage can point to a resource freed at the end of display methods, + // I'm now explicitly resetting it to null in screenReset(), so at this point it can be null + if (!srcPic) + return; + if (rectListCount == -1) { sDrawPic(srcPic, destPic, Common::Point()); } else { @@ -629,6 +635,7 @@ void GraphicsManager::setColor(int idx, byte r, byte g, byte b) { void GraphicsManager::screenReset() { resetPalette(); + _backgroundPage = NULL; (*_vPort)->setupViewPort(); fillPic(*_vPort, 0); (*_vPort)->_parent->_flags |= DISPFLAG_8; -- cgit v1.2.3 From 626c988841649f75c9c3dda46330f4b6805292a6 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Sun, 1 Dec 2013 22:56:28 -0500 Subject: VOYEUR: Fix for correctly displaying lock screen --- engines/voyeur/graphics.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/engines/voyeur/graphics.cpp b/engines/voyeur/graphics.cpp index 3a37eb9fb0..e220bbf652 100644 --- a/engines/voyeur/graphics.cpp +++ b/engines/voyeur/graphics.cpp @@ -584,14 +584,14 @@ void GraphicsManager::flipPage() { void GraphicsManager::restoreBack(Common::Array &rectList, int rectListCount, PictureResource *srcPic, PictureResource *destPic) { - bool saveBack = _saveBack; - _saveBack = false; - // WORKAROUND: Since _backgroundPage can point to a resource freed at the end of display methods, // I'm now explicitly resetting it to null in screenReset(), so at this point it can be null if (!srcPic) return; + bool saveBack = _saveBack; + _saveBack = false; + if (rectListCount == -1) { sDrawPic(srcPic, destPic, Common::Point()); } else { -- cgit v1.2.3 From 1fb422cde207b8b24ab9e8a545abb4c9204773c3 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Mon, 2 Dec 2013 08:29:51 -0500 Subject: VOYEUR: Implemented sound effects for the lock screen --- engines/voyeur/sound.cpp | 15 +++++++++++---- engines/voyeur/sound.h | 6 +++++- engines/voyeur/voyeur.cpp | 2 +- 3 files changed, 17 insertions(+), 6 deletions(-) diff --git a/engines/voyeur/sound.cpp b/engines/voyeur/sound.cpp index 628e6e27a9..baba45fb45 100644 --- a/engines/voyeur/sound.cpp +++ b/engines/voyeur/sound.cpp @@ -20,15 +20,22 @@ * */ +#include "audio/audiostream.h" +#include "audio/decoders/raw.h" +#include "common/memstream.h" #include "voyeur/sound.h" namespace Voyeur { -SoundManager::SoundManager() { +SoundManager::SoundManager(Audio::Mixer *mixer) { + _mixer = mixer; } void SoundManager::playVOCMap(byte *voc, int vocSize) { - // TODO + Common::MemoryReadStream *dataStream = new Common::MemoryReadStream(voc, vocSize, DisposeAfterUse::NO); + Audio::AudioStream *audioStream = Audio::makeVOCStream(dataStream, Audio::FLAG_UNSIGNED, DisposeAfterUse::YES); + + _mixer->playStream(Audio::Mixer::kSFXSoundType, &_soundHandle, audioStream); } bool SoundManager::vocMapStatus() { @@ -37,11 +44,11 @@ bool SoundManager::vocMapStatus() { } void SoundManager::continueVocMap() { - // TODO + // No implementation needed in ScummVM } void SoundManager::abortVOCMap() { - // TODO + _mixer->stopHandle(_soundHandle); } } // End of namespace Voyeur diff --git a/engines/voyeur/sound.h b/engines/voyeur/sound.h index 01d5dc20b9..0784b9274e 100644 --- a/engines/voyeur/sound.h +++ b/engines/voyeur/sound.h @@ -25,6 +25,8 @@ #include "common/scummsys.h" #include "common/str.h" +#include "audio/mixer.h" +#include "audio/decoders/voc.h" #include "voyeur/files.h" namespace Voyeur { @@ -32,8 +34,10 @@ namespace Voyeur { class SoundManager { private: VoyeurEngine *_vm; + Audio::Mixer *_mixer; + Audio::SoundHandle _soundHandle; public: - SoundManager(); + SoundManager(Audio::Mixer *mixer); void setVm(VoyeurEngine *vm) { _vm = vm; } void playVOCMap(byte *voc, int vocSize); diff --git a/engines/voyeur/voyeur.cpp b/engines/voyeur/voyeur.cpp index 871fc41d25..bafc360728 100644 --- a/engines/voyeur/voyeur.cpp +++ b/engines/voyeur/voyeur.cpp @@ -33,7 +33,7 @@ namespace Voyeur { VoyeurEngine *g_vm; VoyeurEngine::VoyeurEngine(OSystem *syst, const VoyeurGameDescription *gameDesc) : Engine(syst), - _gameDescription(gameDesc), _randomSource("Voyeur"), + _gameDescription(gameDesc), _randomSource("Voyeur"), _soundManager(_mixer), _defaultFontInfo(3, 0xff, 0xff, 0, 0, ALIGN_LEFT, 0, Common::Point(), 1, 1, Common::Point(1, 1), 1, 0, 0) { DebugMan.addDebugChannel(kDebugPath, "Path", "Pathfinding debug level"); -- cgit v1.2.3 From 08d68be2dceb1d3d3029ea415a3316bb81a9fde4 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Mon, 2 Dec 2013 22:09:21 -0500 Subject: VOYEUR: Fix for playback of animations with a background --- engines/voyeur/animation.cpp | 15 ++++++++++----- engines/voyeur/voyeur.cpp | 2 +- 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/engines/voyeur/animation.cpp b/engines/voyeur/animation.cpp index cbd7b0af18..4278d50d96 100644 --- a/engines/voyeur/animation.cpp +++ b/engines/voyeur/animation.cpp @@ -153,9 +153,6 @@ RL2Decoder::RL2VideoTrack::RL2VideoTrack(const RL2FileHeader &header, RL2AudioTr } else { _backSurface = new Graphics::Surface(); _backSurface->create(320, 200, Graphics::PixelFormat::createFormatCLUT8()); - - stream->seek(0x324); - rl2DecodeFrameWithoutBackground(0); } _videoBase = header._videoBase; @@ -204,6 +201,9 @@ const Graphics::Surface *RL2Decoder::RL2VideoTrack::decodeNextFrame() { // Read in the background frame _fileStream->seek(0x324); rl2DecodeFrameWithoutBackground(0); + + Common::copy((byte *)_surface->getPixels(), (byte *)_surface->getPixels() + (320 * 200), + (byte *)_backSurface->getPixels()); _dirtyRects.push_back(Common::Rect(0, 0, _surface->w, _surface->h)); } @@ -215,10 +215,15 @@ const Graphics::Surface *RL2Decoder::RL2VideoTrack::decodeNextFrame() { _audioTrack->queueSound(_fileStream, _header._frameSoundSizes[_curFrame]); // Decode the graphic data - if (_backSurface) + if (_backSurface) { + if (_curFrame > 0) + Common::copy((byte *)_backSurface->getPixels(), (byte *)_backSurface->getPixels() + (320 * 200), + (byte *)_surface->getPixels()); + rl2DecodeFrameWithBackground(); - else + } else { rl2DecodeFrameWithoutBackground(); + } _curFrame++; _nextFrameStartTime += _frameDelay; diff --git a/engines/voyeur/voyeur.cpp b/engines/voyeur/voyeur.cpp index bafc360728..080d40fc21 100644 --- a/engines/voyeur/voyeur.cpp +++ b/engines/voyeur/voyeur.cpp @@ -164,7 +164,7 @@ bool VoyeurEngine::doHeadTitle() { return false; } - showTitleScreen(); +// showTitleScreen(); // Opening if (!_voy._incriminate) { -- cgit v1.2.3 From 805230e16364c5b4fbdb3f3450502ca59e2ba873 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Mon, 2 Dec 2013 22:45:29 -0500 Subject: VOYEUR: Fix for stuttering sound in animation playback --- engines/voyeur/animation.cpp | 24 ++++++++++++++++++++---- engines/voyeur/animation.h | 3 ++- 2 files changed, 22 insertions(+), 5 deletions(-) diff --git a/engines/voyeur/animation.cpp b/engines/voyeur/animation.cpp index 4278d50d96..0f98dbbf63 100644 --- a/engines/voyeur/animation.cpp +++ b/engines/voyeur/animation.cpp @@ -50,7 +50,7 @@ bool RL2Decoder::loadStream(Common::SeekableReadStream *stream) { // Add an audio track if sound is present RL2AudioTrack *audioTrack = NULL; if (_header._soundRate) { - audioTrack = new RL2AudioTrack(_header, _soundType); + audioTrack = new RL2AudioTrack(_header, stream, _soundType); addTrack(audioTrack); } @@ -211,8 +211,7 @@ const Graphics::Surface *RL2Decoder::RL2VideoTrack::decodeNextFrame() { _fileStream->seek(_header._frameOffsets[_curFrame]); // If there's any sound data, pass it to the audio track - if (_header._frameSoundSizes[_curFrame] > 0 && _audioTrack) - _audioTrack->queueSound(_fileStream, _header._frameSoundSizes[_curFrame]); + _fileStream->seek(_header._frameSoundSizes[_curFrame], SEEK_CUR); // Decode the graphic data if (_backSurface) { @@ -321,9 +320,24 @@ void RL2Decoder::RL2VideoTrack::rl2DecodeFrameWithBackground() { /*------------------------------------------------------------------------*/ -RL2Decoder::RL2AudioTrack::RL2AudioTrack(const RL2FileHeader &header, Audio::Mixer::SoundType soundType): +RL2Decoder::RL2AudioTrack::RL2AudioTrack(const RL2FileHeader &header, Common::SeekableReadStream *stream, Audio::Mixer::SoundType soundType): _header(header), _soundType(soundType) { _audStream = createAudioStream(); + + // Add all the sound data for all the frames at once to avoid stuttering + for (int frameNumber = 0; frameNumber < header._numFrames; ++frameNumber) { + int offset = _header._frameOffsets[frameNumber]; + int size = _header._frameSoundSizes[frameNumber]; + + byte *data = (byte *)malloc(size); + stream->seek(offset); + stream->read(data, size); + Common::MemoryReadStream *memoryStream = new Common::MemoryReadStream(data, size, + DisposeAfterUse::YES); + + _audStream->queueAudioStream(Audio::makeRawStream(memoryStream, _header._rate, + Audio::FLAG_UNSIGNED, DisposeAfterUse::YES), DisposeAfterUse::YES); + } } RL2Decoder::RL2AudioTrack::~RL2AudioTrack() { @@ -340,6 +354,8 @@ void RL2Decoder::RL2AudioTrack::queueSound(Common::SeekableReadStream *stream, i _audStream->queueAudioStream(Audio::makeRawStream(memoryStream, _header._rate, Audio::FLAG_UNSIGNED, DisposeAfterUse::YES), DisposeAfterUse::YES); + // _audioTrack->queueSound(_fileStream, _header._frameSoundSizes[_curFrame]); + } else { delete stream; } diff --git a/engines/voyeur/animation.h b/engines/voyeur/animation.h index c5991f49f0..53d24fc0c3 100644 --- a/engines/voyeur/animation.h +++ b/engines/voyeur/animation.h @@ -81,7 +81,8 @@ public: private: class RL2AudioTrack : public AudioTrack { public: - RL2AudioTrack(const RL2FileHeader &header, Audio::Mixer::SoundType soundType); + RL2AudioTrack(const RL2FileHeader &header, Common::SeekableReadStream *stream, + Audio::Mixer::SoundType soundType); ~RL2AudioTrack(); void queueSound(Common::SeekableReadStream *stream, int size); -- cgit v1.2.3 From 39a86aed6a7add9aaf90095af757a2876e93374a Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Tue, 3 Dec 2013 22:17:04 -0500 Subject: VOYEUR: Implemented sDrawPic mode for writing transition card text --- engines/voyeur/files.cpp | 8 ++++---- engines/voyeur/files.h | 4 ++-- engines/voyeur/graphics.cpp | 22 ++++++++++++++++++---- engines/voyeur/voyeur.cpp | 1 - 4 files changed, 24 insertions(+), 11 deletions(-) diff --git a/engines/voyeur/files.cpp b/engines/voyeur/files.cpp index 34098e42a1..5171d581ba 100644 --- a/engines/voyeur/files.cpp +++ b/engines/voyeur/files.cpp @@ -996,8 +996,8 @@ int ViewPortResource::drawText(const Common::String &msg) { int charWidth = fontData._charWidth[charValue]; _fontChar._bounds.setWidth(charWidth); - uint16 offset = READ_LE_UINT16(fontData._data1 + charValue * 2); - _fontChar._imgData = fontData._data2 + offset * 2; + uint16 offset = READ_LE_UINT16(fontData._charOffsets + charValue * 2); + _fontChar._imgData = fontData._charImages + offset * 2; gfxManager.sDrawPic(&_fontChar, this, Common::Point(xp, yp)); @@ -1109,8 +1109,8 @@ FontResource::FontResource(BoltFilesState &state, byte *src) { for (int i = 0; i < totalChars; ++i) _charWidth[i] = READ_LE_UINT16(src + 8 + 2 * i); - _data1 = src + 8 + totalChars * 2; - _data2 = _data1 + totalChars * 2; + _charOffsets = src + 8 + totalChars * 2; + _charImages = _charOffsets + totalChars * 2; } FontResource::~FontResource() { diff --git a/engines/voyeur/files.h b/engines/voyeur/files.h index b66546cd0c..43836f5fa0 100644 --- a/engines/voyeur/files.h +++ b/engines/voyeur/files.h @@ -304,8 +304,8 @@ public: int _fontHeight; int _topPadding; int *_charWidth; - byte *_data1; - byte *_data2; + byte *_charOffsets; + byte *_charImages; FontResource(BoltFilesState &state, byte *src); virtual ~FontResource(); diff --git a/engines/voyeur/graphics.cpp b/engines/voyeur/graphics.cpp index e220bbf652..2ee385f1f7 100644 --- a/engines/voyeur/graphics.cpp +++ b/engines/voyeur/graphics.cpp @@ -482,10 +482,24 @@ error("TODO: var22/var24/var2C not initialised before use?"); byte onOff = srcPic->_onOff; if (srcFlags & DISPFLAG_2) { - if (srcFlags & DISPFLAG_8) { - error("sDrawPic: TODO"); - } else { - error("sDrawPic: TODO"); + if (!(srcFlags & DISPFLAG_8)) { + srcP = srcImgData + srcOffset; + + if (destFlags & DISPFLAG_8) { + // loc_272C3 + error("TODO"); + } else { + destP = destImgData + screenOffset; + for (int yp = 0; yp < height1; ++yp) { + for (int xp = 0; xp < width2; ++xp, ++destP) { + if ((int8)*srcP++ < 0) + *destP = onOff; + } + + destP += widthDiff2; + srcP += widthDiff; + } + } } } else { // loc_27477 diff --git a/engines/voyeur/voyeur.cpp b/engines/voyeur/voyeur.cpp index 080d40fc21..4c1d47d9fb 100644 --- a/engines/voyeur/voyeur.cpp +++ b/engines/voyeur/voyeur.cpp @@ -509,7 +509,6 @@ void VoyeurEngine::doOpening() { _eventsManager.pollEvents(); g_system->delayMillis(10); } - } void VoyeurEngine::playRL2Video(const Common::String &filename) { -- cgit v1.2.3 From 958654fe94af389cced91c3e3955efbbb7288dab Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Wed, 4 Dec 2013 22:25:34 -0500 Subject: VOYEUR: Added staticres.cpp file --- engines/voyeur/game.cpp | 5 +++++ engines/voyeur/game.h | 2 ++ engines/voyeur/module.mk | 1 + engines/voyeur/staticres.cpp | 36 ++++++++++++++++++++++++++++++++++++ engines/voyeur/staticres.h | 34 ++++++++++++++++++++++++++++++++++ engines/voyeur/voyeur.cpp | 17 ++++++++++++++--- 6 files changed, 92 insertions(+), 3 deletions(-) create mode 100644 engines/voyeur/staticres.cpp create mode 100644 engines/voyeur/staticres.h diff --git a/engines/voyeur/game.cpp b/engines/voyeur/game.cpp index a653a842ae..85ea5df50a 100644 --- a/engines/voyeur/game.cpp +++ b/engines/voyeur/game.cpp @@ -51,6 +51,7 @@ void IntData::audioInit() { /*------------------------------------------------------------------------*/ Game::Game() { + _iForceDeath = -1; } void Game::doTransitionCard(const Common::String &time, const Common::String &location) { @@ -98,4 +99,8 @@ void Game::addVideoEventStart() { } +void Game::playStamp() { + +} + } // End of namespace Voyeur diff --git a/engines/voyeur/game.h b/engines/voyeur/game.h index eb7d5f5e59..cb7f62db57 100644 --- a/engines/voyeur/game.h +++ b/engines/voyeur/game.h @@ -129,12 +129,14 @@ public: int _v2A0A6; int _v2A0A4; int _v2A09A; + int _iForceDeath; public: Game(); void setVm(VoyeurEngine *vm) { _vm = vm; } void doTransitionCard(const Common::String &time, const Common::String &location); void addVideoEventStart(); + void playStamp(); }; } // End of namespace Voyeur diff --git a/engines/voyeur/module.mk b/engines/voyeur/module.mk index 645b62ff49..40efce40ee 100644 --- a/engines/voyeur/module.mk +++ b/engines/voyeur/module.mk @@ -9,6 +9,7 @@ MODULE_OBJS := \ files.o \ graphics.o \ sound.o \ + staticres.o \ utils.o \ voyeur.o diff --git a/engines/voyeur/staticres.cpp b/engines/voyeur/staticres.cpp new file mode 100644 index 0000000000..23fa3602eb --- /dev/null +++ b/engines/voyeur/staticres.cpp @@ -0,0 +1,36 @@ +/* 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 "voyeur/staticres.h" + +namespace Voyeur { + +const int COMPUTER_DEFAULTS[] = { + 18, 1, 0, 1, 33, 0, 998, -1, 18, 2, 0, 1, 41, 0, + 998, -1, 18, 3, 0, 1, 47, 0, 998, -1, 18, 4, 0, + 1, 53, 0, 998, -1, 18, 5, 0, 1, 46, 0, 998, -1, + 18, 6, 0, 1, 50, 0, 998, -1, 18, 7, 0, 1, 40, 0, + 998, -1, 18, 8, 0, 1, 43, 0, 998, -1, 19, 1, 0, + 2, 28, 0, 998, -1 +}; + +} // End of namespace Voyeur diff --git a/engines/voyeur/staticres.h b/engines/voyeur/staticres.h new file mode 100644 index 0000000000..cd92ae467a --- /dev/null +++ b/engines/voyeur/staticres.h @@ -0,0 +1,34 @@ +/* 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. + * + */ + +#ifndef VOYEUR_STATICRES_H +#define VOYEUR_STATICRES_H + +#include "common/scummsys.h" + +namespace Voyeur { + +extern const int COMPUTER_DEFAULTS[]; + +} // End of namespace Voyeur + +#endif diff --git a/engines/voyeur/voyeur.cpp b/engines/voyeur/voyeur.cpp index 4c1d47d9fb..4df5ebef28 100644 --- a/engines/voyeur/voyeur.cpp +++ b/engines/voyeur/voyeur.cpp @@ -23,6 +23,7 @@ #include "voyeur/voyeur.h" #include "voyeur/animation.h" #include "voyeur/graphics.h" +#include "voyeur/staticres.h" #include "voyeur/utils.h" #include "common/scummsys.h" #include "common/config-manager.h" @@ -84,7 +85,12 @@ Common::Error VoyeurEngine::run() { globalInitBolt(); _eventsManager.resetMouse(); - doHeadTitle(); + if (doHeadTitle()) { + if (_game._iForceDeath >= 1 && _game._iForceDeath <= 4) + _voy._eCursorOff[58] |= 0x80; + + _game.playStamp(); + } //doHeadTitle(); @@ -176,11 +182,16 @@ bool VoyeurEngine::doHeadTitle() { } if (_voy._eCursorOff[58] & 0x80) { + // TODO: Check when these are called, and the two different loops. + // Also, comptuerNu isn't an array in IDB? + /* if (_voy._evidence[19] == 0) { - // TODO + Common::copy(&COMPUTER_DEFAULTS[0], &COMPUTER_DEFAULTS[9 * 8], &_voy._computerNum[0]); + _voy._evidence[19] = 9; } else { - // TODO + error("_computerNum loaded with uninitialized list here"); } + */ } _voy._eCursorOff[55] = 140; -- cgit v1.2.3 From 75c960081c1a729c9f356c622ef9b2d9e0911f9d Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Thu, 5 Dec 2013 21:49:12 -0500 Subject: VOYEUR: Did some refactoring of game files --- engines/voyeur/events.cpp | 22 +++++++ engines/voyeur/events.h | 91 +++++++++++++++++++++++++- engines/voyeur/game.cpp | 106 ------------------------------ engines/voyeur/game.h | 144 ----------------------------------------- engines/voyeur/graphics.cpp | 1 - engines/voyeur/graphics.h | 3 +- engines/voyeur/module.mk | 4 +- engines/voyeur/voyeur.cpp | 59 ++++++++++++++--- engines/voyeur/voyeur.h | 11 +++- engines/voyeur/voyeur_game.cpp | 36 +++++++++++ 10 files changed, 209 insertions(+), 268 deletions(-) delete mode 100644 engines/voyeur/game.cpp delete mode 100644 engines/voyeur/game.h create mode 100644 engines/voyeur/voyeur_game.cpp diff --git a/engines/voyeur/events.cpp b/engines/voyeur/events.cpp index 56b7afd377..2c534b666b 100644 --- a/engines/voyeur/events.cpp +++ b/engines/voyeur/events.cpp @@ -22,6 +22,7 @@ #include "voyeur/events.h" #include "voyeur/voyeur.h" +#include "common/events.h" #include "graphics/cursorman.h" #include "graphics/palette.h" @@ -43,6 +44,27 @@ IntNode::IntNode(uint16 curTime, uint16 timeReset, uint16 flags) { /*------------------------------------------------------------------------*/ +IntData::IntData() { + _field9 = false; + _flipWait = false; + _hasPalette = false; + field16 = 0; + field1A = 0; + field1E = 0; + field22 = 0; + field24 = 0; + field26 = 0; + field2A = 0; + field38 = 0; + field3B = 0; + field3D = 0; + _palStartIndex = 0; + _palEndIndex = 0; + _palette = NULL; +} + +/*------------------------------------------------------------------------*/ + EventsManager::EventsManager(): _intPtr(_gameData), _fadeIntNode(0, 0, 3), _cycleIntNode(0, 0, 3) { _cycleStatus = 0; diff --git a/engines/voyeur/events.h b/engines/voyeur/events.h index 0b78bc2dd8..efc7ac4c47 100644 --- a/engines/voyeur/events.h +++ b/engines/voyeur/events.h @@ -27,7 +27,6 @@ #include "common/list.h" #include "graphics/surface.h" #include "voyeur/files.h" -#include "voyeur/game.h" namespace Voyeur { @@ -51,6 +50,96 @@ public: IntNode(uint16 curTime, uint16 timeReset, uint16 flags); }; +class Event { +public: + int _hours; + int _minutes; + int _seconds; + int _type; + int _data1; + int _data2; + byte *_data; +}; + +class SVoy { +public: + int _delaySecs; + int _RTANum; + int _RTVNum; + int _switchBGNum; + int _group; + int _resolvePtr; + int _seconds; + int _minutes; + int _hours; + int _morning; + int _timeChangeFlag; + int _totalSeconds; + int _gameSeconds; + int _vCursorOn[160]; + int _vCursorOff[160]; + int _aCursorOn[60]; + int _aCursorOff[60]; + int _eCursorOn[60]; + int _eCursorOff[60]; + int _timeStart; + int _duration; + int _vidStart; + int _doApt; + int _function; + int _anim; + int _level; + int _levelDone; + int _flags; + int _evGroup; + byte *_evPicPtrs[6]; + byte *_evCmPtrs[6]; + int _audioTime; + int _phones[5]; + int _numPhonesUsed; + int _evidence[20]; + int _computerNum; + int _computerBut; + int _computerOn; + int _computerOff; + int _dead; + int _deadTime; + int _eventCnt; + Event _eventTable[1000]; + int _curICF0; + int _curICF1; + int _fadeICF0; + int _fadeICF1; + int _fadeFunc; + int _lastInplay; + int _incriminate; + int _policeEvent; +}; + +class IntData { +public: + bool _field9; + bool _flipWait; + int field16; + int field1A; + int field1E; + int field22; + int field24; + int field26; + int field2A; + bool _hasPalette; + int field38; + int field3B; + int field3D; + int _palStartIndex; + int _palEndIndex; + byte *_palette; +public: + IntData(); + + void audioInit(); +}; + class EventsManager { private: VoyeurEngine *_vm; diff --git a/engines/voyeur/game.cpp b/engines/voyeur/game.cpp deleted file mode 100644 index 85ea5df50a..0000000000 --- a/engines/voyeur/game.cpp +++ /dev/null @@ -1,106 +0,0 @@ -/* 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 "voyeur/game.h" -#include "voyeur/voyeur.h" - -namespace Voyeur { - -IntData::IntData() { - _field9 = false; - _flipWait = false; - _hasPalette = false; - field16 = 0; - field1A = 0; - field1E = 0; - field22 = 0; - field24 = 0; - field26 = 0; - field2A = 0; - field38 = 0; - field3B = 0; - field3D = 0; - _palStartIndex = 0; - _palEndIndex = 0; - _palette = NULL; -} - -void IntData::audioInit() { - -} - -/*------------------------------------------------------------------------*/ - -Game::Game() { - _iForceDeath = -1; -} - -void Game::doTransitionCard(const Common::String &time, const Common::String &location) { - _vm->_graphicsManager.setColor(128, 16, 16, 16); - _vm->_graphicsManager.setColor(224, 220, 220, 220); - _vm->_eventsManager._intPtr.field38 = true; - _vm->_eventsManager._intPtr._hasPalette = true; - - (*_vm->_graphicsManager._vPort)->setupViewPort(); - (*_vm->_graphicsManager._vPort)->fillPic(128); - _vm->_graphicsManager.flipPage(); - _vm->_eventsManager.sWaitFlip(); - - (*_vm->_graphicsManager._vPort)->_parent->_flags |= DISPFLAG_8; - _vm->_graphicsManager.flipPage(); - _vm->_eventsManager.sWaitFlip(); - (*_vm->_graphicsManager._vPort)->fillPic(128); - - FontInfoResource &fi = *_vm->_graphicsManager._fontPtr; - fi._curFont = _vm->_bVoy->boltEntry(257)._fontResource; - fi._foreColor = 224; - fi._fontSaveBack = 0; - fi._pos = Common::Point(0, 116); - fi._justify = ALIGN_CENTRE; - fi._justifyWidth = 384; - fi._justifyHeight = 120; - - (*_vm->_graphicsManager._vPort)->drawText(time); - - if (!location.empty()) { - fi._pos = Common::Point(0, 138); - fi._justify = ALIGN_CENTRE; - fi._justifyWidth = 384; - fi._justifyHeight = 140; - - (*_vm->_graphicsManager._vPort)->drawText(location); - } - - (*_vm->_graphicsManager._vPort)->_parent->_flags |= DISPFLAG_8; - _vm->_graphicsManager.flipPage(); - _vm->_eventsManager.sWaitFlip(); -} - -void Game::addVideoEventStart() { - -} - -void Game::playStamp() { - -} - -} // End of namespace Voyeur diff --git a/engines/voyeur/game.h b/engines/voyeur/game.h deleted file mode 100644 index cb7f62db57..0000000000 --- a/engines/voyeur/game.h +++ /dev/null @@ -1,144 +0,0 @@ -/* 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. - * - */ - -#ifndef VOYEUR_GAME_H -#define VOYEUR_GAME_H - -#include "common/scummsys.h" -#include "common/events.h" -#include "common/str.h" - -namespace Voyeur { - -class VoyeurEngine; - -class Event { -public: - int _hours; - int _minutes; - int _seconds; - int _type; - int _data1; - int _data2; - byte *_data; -}; - -class SVoy { -public: - int _delaySecs; - int _RTANum; - int _RTVNum; - int _switchBGNum; - int _group; - int _resolvePtr; - int _seconds; - int _minutes; - int _hours; - int _morning; - int _timeChangeFlag; - int _totalSeconds; - int _gameSeconds; - int _vCursorOn[160]; - int _vCursorOff[160]; - int _aCursorOn[60]; - int _aCursorOff[60]; - int _eCursorOn[60]; - int _eCursorOff[60]; - int _timeStart; - int _duration; - int _vidStart; - int _doApt; - int _function; - int _anim; - int _level; - int _levelDone; - int _flags; - int _evGroup; - byte *_evPicPtrs[6]; - byte *_evCmPtrs[6]; - int _audioTime; - int _phones[5]; - int _numPhonesUsed; - int _evidence[20]; - int _computerNum; - int _computerBut; - int _computerOn; - int _computerOff; - int _dead; - int _deadTime; - int _eventCnt; - Event _eventTable[1000]; - int _curICF0; - int _curICF1; - int _fadeICF0; - int _fadeICF1; - int _fadeFunc; - int _lastInplay; - int _incriminate; - int _policeEvent; -}; - -class IntData { -public: - bool _field9; - bool _flipWait; - int field16; - int field1A; - int field1E; - int field22; - int field24; - int field26; - int field2A; - bool _hasPalette; - int field38; - int field3B; - int field3D; - int _palStartIndex; - int _palEndIndex; - byte *_palette; -public: - IntData(); - - void audioInit(); -}; - -class Game { -private: - VoyeurEngine *_vm; -public: - int _v2A098; - int _v2A0A6; - int _v2A0A4; - int _v2A09A; - int _iForceDeath; -public: - Game(); - void setVm(VoyeurEngine *vm) { _vm = vm; } - - void doTransitionCard(const Common::String &time, const Common::String &location); - void addVideoEventStart(); - void playStamp(); -}; - -} // End of namespace Voyeur - -#endif /* VOYEUR_GAME_H */ diff --git a/engines/voyeur/graphics.cpp b/engines/voyeur/graphics.cpp index 2ee385f1f7..dc62336c25 100644 --- a/engines/voyeur/graphics.cpp +++ b/engines/voyeur/graphics.cpp @@ -21,7 +21,6 @@ */ #include "voyeur/graphics.h" -#include "voyeur/game.h" #include "voyeur/voyeur.h" #include "engines/util.h" #include "graphics/palette.h" diff --git a/engines/voyeur/graphics.h b/engines/voyeur/graphics.h index 23a29657f1..518ec1a459 100644 --- a/engines/voyeur/graphics.h +++ b/engines/voyeur/graphics.h @@ -23,10 +23,9 @@ #ifndef VOYEUR_GRAPHICS_H #define VOYEUR_GRAPHICS_H -//#include "voyeur/files.h" -#include "voyeur/game.h" #include "common/scummsys.h" #include "common/array.h" +#include "common/rect.h" #include "graphics/surface.h" namespace Voyeur { diff --git a/engines/voyeur/module.mk b/engines/voyeur/module.mk index 40efce40ee..1562624fbb 100644 --- a/engines/voyeur/module.mk +++ b/engines/voyeur/module.mk @@ -5,13 +5,13 @@ MODULE_OBJS := \ debugger.o \ detection.o \ events.o \ - game.o \ files.o \ graphics.o \ sound.o \ staticres.o \ utils.o \ - voyeur.o + voyeur.o \ + voyeur_game.o # This module can be built as a plugin ifeq ($(ENABLE_VOYEUR), DYNAMIC_PLUGIN) diff --git a/engines/voyeur/voyeur.cpp b/engines/voyeur/voyeur.cpp index 4df5ebef28..eaae6c8290 100644 --- a/engines/voyeur/voyeur.cpp +++ b/engines/voyeur/voyeur.cpp @@ -39,6 +39,7 @@ VoyeurEngine::VoyeurEngine(OSystem *syst, const VoyeurGameDescription *gameDesc) Common::Point(1, 1), 1, 0, 0) { DebugMan.addDebugChannel(kDebugPath, "Path", "Pathfinding debug level"); _bVoy = NULL; + _iForceDeath = -1; initialiseManagers(); } @@ -86,10 +87,10 @@ Common::Error VoyeurEngine::run() { _eventsManager.resetMouse(); if (doHeadTitle()) { - if (_game._iForceDeath >= 1 && _game._iForceDeath <= 4) + if (_iForceDeath >= 1 && _iForceDeath <= 4) _voy._eCursorOff[58] |= 0x80; - _game.playStamp(); + playStamp(); } //doHeadTitle(); @@ -106,7 +107,6 @@ void VoyeurEngine::initialiseManagers() { _debugger.setVm(this); _eventsManager.setVm(this); _filesManager.setVm(this); - _game.setVm(this); _graphicsManager.setVm(this); _soundManager.setVm(this); @@ -175,7 +175,7 @@ bool VoyeurEngine::doHeadTitle() { // Opening if (!_voy._incriminate) { doOpening(); - _game.doTransitionCard("Saturday Afternoon", "Player's Apartment"); + doTransitionCard("Saturday Afternoon", "Player's Apartment"); _eventsManager.delay(90); } else { _voy._incriminate = false; @@ -479,15 +479,15 @@ void VoyeurEngine::doOpening() { byte *whTable = _bVoy->memberAddr(0x217); int frmaeIndex = 0; int creditShow = 1; - _game._v2A098 = 1; + _v2A098 = 1; _voy._eCursorOff[52] = 0; _voy._RTVNum = 0; _voy._eCursorOff[50] = _voy._RTVNum; - _game._v2A0A6 = 4; - _game._v2A0A4 = 0; + _v2A0A6 = 4; + _v2A0A4 = 0; _voy._eCursorOff[58] = 16; - _game._v2A09A = -1; - _game.addVideoEventStart(); + _v2A09A = -1; + addVideoEventStart(); _voy._eCursorOff[58] &= ~1; for (int i = 0; i < 256; ++i) @@ -545,4 +545,45 @@ void VoyeurEngine::playRL2Video(const Common::String &filename) { } } +void VoyeurEngine::doTransitionCard(const Common::String &time, const Common::String &location) { + _graphicsManager.setColor(128, 16, 16, 16); + _graphicsManager.setColor(224, 220, 220, 220); + _eventsManager._intPtr.field38 = true; + _eventsManager._intPtr._hasPalette = true; + + (*_graphicsManager._vPort)->setupViewPort(); + (*_graphicsManager._vPort)->fillPic(128); + _graphicsManager.flipPage(); + _eventsManager.sWaitFlip(); + + (*_graphicsManager._vPort)->_parent->_flags |= DISPFLAG_8; + _graphicsManager.flipPage(); + _eventsManager.sWaitFlip(); + (*_graphicsManager._vPort)->fillPic(128); + + FontInfoResource &fi = *_graphicsManager._fontPtr; + fi._curFont = _bVoy->boltEntry(257)._fontResource; + fi._foreColor = 224; + fi._fontSaveBack = 0; + fi._pos = Common::Point(0, 116); + fi._justify = ALIGN_CENTRE; + fi._justifyWidth = 384; + fi._justifyHeight = 120; + + (*_graphicsManager._vPort)->drawText(time); + + if (!location.empty()) { + fi._pos = Common::Point(0, 138); + fi._justify = ALIGN_CENTRE; + fi._justifyWidth = 384; + fi._justifyHeight = 140; + + (*_graphicsManager._vPort)->drawText(location); + } + + (*_graphicsManager._vPort)->_parent->_flags |= DISPFLAG_8; + _graphicsManager.flipPage(); + _eventsManager.sWaitFlip(); +} + } // End of namespace Voyeur diff --git a/engines/voyeur/voyeur.h b/engines/voyeur/voyeur.h index f698aae702..9306fb55e5 100644 --- a/engines/voyeur/voyeur.h +++ b/engines/voyeur/voyeur.h @@ -26,7 +26,6 @@ #include "voyeur/debugger.h" #include "voyeur/events.h" #include "voyeur/files.h" -#include "voyeur/game.h" #include "voyeur/graphics.h" #include "voyeur/sound.h" #include "common/scummsys.h" @@ -64,9 +63,13 @@ class VoyeurEngine : public Engine { private: const VoyeurGameDescription *_gameDescription; Common::RandomSource _randomSource; - Common::Array _resolves; FontInfoResource _defaultFontInfo; + int _iForceDeath; + int _v2A098; + int _v2A0A6; + int _v2A0A4; + int _v2A09A; void ESP_Init(); void initialiseManagers(); @@ -74,12 +77,14 @@ private: void initBolt(); void vInitInterrupts(); void initInput(); + void addVideoEventStart(); bool doHeadTitle(); void showConversionScreen(); bool doLock(); void showTitleScreen(); void doOpening(); + void playStamp(); protected: // Engine APIs virtual Common::Error run(); @@ -89,7 +94,6 @@ public: Debugger _debugger; EventsManager _eventsManager; FilesManager _filesManager; - Game _game; GraphicsManager _graphicsManager; SoundManager _soundManager; SVoy _voy; @@ -112,6 +116,7 @@ public: virtual Common::Error saveGameState(int slot, const Common::String &desc); void playRL2Video(const Common::String &filename); + void doTransitionCard(const Common::String &time, const Common::String &location); }; } // End of namespace Voyeur diff --git a/engines/voyeur/voyeur_game.cpp b/engines/voyeur/voyeur_game.cpp new file mode 100644 index 0000000000..bc7fa6fe20 --- /dev/null +++ b/engines/voyeur/voyeur_game.cpp @@ -0,0 +1,36 @@ +/* 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 "voyeur/voyeur.h" + +namespace Voyeur { + +void VoyeurEngine::addVideoEventStart() { + +} + + +void VoyeurEngine::playStamp() { + +} + +} // End of namespace Voyeur -- cgit v1.2.3 From 9922353f5618a2f3b0371b02cca14707fbdc5a4b Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Thu, 5 Dec 2013 22:36:59 -0500 Subject: VOYEUR: Implemented addVideoEventStart and dependent variable initialisation --- engines/voyeur/events.cpp | 5 +++++ engines/voyeur/events.h | 37 +++++++++++++++++++++---------------- engines/voyeur/graphics.cpp | 2 +- engines/voyeur/voyeur.cpp | 18 ++++++++++-------- engines/voyeur/voyeur.h | 4 ---- engines/voyeur/voyeur_game.cpp | 9 +++++++-- 6 files changed, 44 insertions(+), 31 deletions(-) diff --git a/engines/voyeur/events.cpp b/engines/voyeur/events.cpp index 2c534b666b..5aa00e77f9 100644 --- a/engines/voyeur/events.cpp +++ b/engines/voyeur/events.cpp @@ -72,6 +72,11 @@ EventsManager::EventsManager(): _intPtr(_gameData), _fadeStatus = 0; _priorFrameTime = g_system->getMillis(); Common::fill(&_keyState[0], &_keyState[256], false); + + _videoComputerNum = 0; + _videoComputerBut1 = 0; + _videoComputerBut4 = 0; + _videoDead = 0; } void EventsManager::resetMouse() { diff --git a/engines/voyeur/events.h b/engines/voyeur/events.h index efc7ac4c47..47a6c5ab3c 100644 --- a/engines/voyeur/events.h +++ b/engines/voyeur/events.h @@ -50,15 +50,13 @@ public: IntNode(uint16 curTime, uint16 timeReset, uint16 flags); }; -class Event { +class VoyeurEvent { public: - int _hours; - int _minutes; - int _seconds; - int _type; - int _data1; - int _data2; - byte *_data; + int _computerNum; + int _computerBut[4]; + int _computerOn; + int _computerOff; + int _dead; }; class SVoy { @@ -98,14 +96,16 @@ public: int _phones[5]; int _numPhonesUsed; int _evidence[20]; - int _computerNum; - int _computerBut; - int _computerOn; - int _computerOff; - int _dead; - int _deadTime; - int _eventCnt; - Event _eventTable[1000]; + VoyeurEvent _events[1000]; + int _field4376; + int _field4378; + int _field437A; + int _field437C; + int _field437E; + int _field4380; + int _field4382; + int _field4384; + byte *_field4386; int _curICF0; int _curICF1; int _fadeICF0; @@ -170,6 +170,11 @@ public: int _fadeFirstCol, _fadeLastCol; int _fadeCount; int _fadeStatus; + + int _videoComputerNum; + int _videoComputerBut1; + int _videoComputerBut4; + int _videoDead; public: EventsManager(); void setVm(VoyeurEngine *vm) { _vm = vm; } diff --git a/engines/voyeur/graphics.cpp b/engines/voyeur/graphics.cpp index dc62336c25..9b9ebe462b 100644 --- a/engines/voyeur/graphics.cpp +++ b/engines/voyeur/graphics.cpp @@ -506,7 +506,7 @@ error("TODO: var22/var24/var2C not initialised before use?"); // loc_27481 destP = (byte *)_screenSurface.getPixels() + screenOffset; for (int yp = 0; yp < height1; ++yp) { - Common::fill(srcP, srcP + width2, onOff); + Common::fill(destP, destP + width2, onOff); destP += width2 + widthDiff2; } } else { diff --git a/engines/voyeur/voyeur.cpp b/engines/voyeur/voyeur.cpp index eaae6c8290..72de920680 100644 --- a/engines/voyeur/voyeur.cpp +++ b/engines/voyeur/voyeur.cpp @@ -130,7 +130,7 @@ void VoyeurEngine::globalInitBolt() { Common::fill((byte *)&_voy, (byte *)&_voy + sizeof(SVoy), 0); _voy._eCursorOff[0x74 / 2] = 1; _voy._eCursorOff[0x68 / 2] = 0; - _voy._eventTable[998]._data = NULL; // Original set 63h:63h + _voy._field4376 = NULL; // Original set 63h:63h _voy._evidence[19] = 0; _voy._evidence[17] = 0; _voy._evidence[18] = 9999; @@ -253,8 +253,8 @@ bool VoyeurEngine::doLock() { lock.getSysDate(); lock.getThePassword(); - _voy._eventTable[999]._type = lock.fieldC; - _voy._eventTable[999]._data = _bVoy->memberAddr(0x704); + _voy._field4380 = lock.fieldC; + _voy._field4386 = _bVoy->memberAddr(0x704); Common::String password = lock._password; cursorPic = _bVoy->getPictureResource(0x702); @@ -411,7 +411,7 @@ bool VoyeurEngine::doLock() { lock._password = displayString; lock.saveThePassword(); - _voy._eventTable[999]._data = NULL; + _voy._field4386 = NULL; _bVoy->freeBoltGroup(0x10700); } @@ -479,15 +479,17 @@ void VoyeurEngine::doOpening() { byte *whTable = _bVoy->memberAddr(0x217); int frmaeIndex = 0; int creditShow = 1; - _v2A098 = 1; + _voy._eCursorOff[52] = 0; _voy._RTVNum = 0; _voy._eCursorOff[50] = _voy._RTVNum; - _v2A0A6 = 4; - _v2A0A4 = 0; _voy._eCursorOff[58] = 16; - _v2A09A = -1; + _eventsManager._videoComputerNum = 4; + _eventsManager._videoComputerBut1 = 0; + _eventsManager._videoComputerBut4 = 1; + _eventsManager._videoDead = -1; addVideoEventStart(); + _voy._eCursorOff[58] &= ~1; for (int i = 0; i < 256; ++i) diff --git a/engines/voyeur/voyeur.h b/engines/voyeur/voyeur.h index 9306fb55e5..74bb714e1a 100644 --- a/engines/voyeur/voyeur.h +++ b/engines/voyeur/voyeur.h @@ -66,10 +66,6 @@ private: Common::Array _resolves; FontInfoResource _defaultFontInfo; int _iForceDeath; - int _v2A098; - int _v2A0A6; - int _v2A0A4; - int _v2A09A; void ESP_Init(); void initialiseManagers(); diff --git a/engines/voyeur/voyeur_game.cpp b/engines/voyeur/voyeur_game.cpp index bc7fa6fe20..48c65c5045 100644 --- a/engines/voyeur/voyeur_game.cpp +++ b/engines/voyeur/voyeur_game.cpp @@ -25,10 +25,15 @@ namespace Voyeur { void VoyeurEngine::addVideoEventStart() { - + VoyeurEvent &e = _voy._events[_voy._evidence[19]]; + e._computerNum = _eventsManager._videoComputerNum; + e._computerBut[0] = _eventsManager._videoComputerBut1; + e._computerBut[1] = _voy._delaySecs; + e._computerBut[2] = 1; + e._computerBut[3] = _eventsManager._videoComputerBut4; + e._dead = _eventsManager._videoDead; } - void VoyeurEngine::playStamp() { } -- cgit v1.2.3 From b40c34a8836dc12bc541579afad06dfb1e097a95 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Sat, 7 Dec 2013 19:17:40 -0500 Subject: VOYEUR: Fix engine to not be enabled by default --- engines/voyeur/configure.engine | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/engines/voyeur/configure.engine b/engines/voyeur/configure.engine index 647e20267f..23891fccb7 100644 --- a/engines/voyeur/configure.engine +++ b/engines/voyeur/configure.engine @@ -1,3 +1,4 @@ + # This file is included from the main "configure" script # add_engine [name] [desc] [build-by-default] [subengines] [base games] [deps] -add_engine voyeur "Voyeur" yes +add_engine voyeur "Voyeur" no -- cgit v1.2.3 From a6ceaf29854a47785c7a36831bea41411e1bb0cf Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Sat, 7 Dec 2013 20:44:28 -0500 Subject: VOYEUR: Refactoring of BoltFile now that have more than one bolt file --- engines/voyeur/events.cpp | 1 + engines/voyeur/events.h | 3 +- engines/voyeur/files.cpp | 119 ++++++++++++++++++++++++++++------------- engines/voyeur/files.h | 43 +++++++++------ engines/voyeur/staticres.cpp | 10 ++++ engines/voyeur/staticres.h | 2 + engines/voyeur/voyeur.h | 3 ++ engines/voyeur/voyeur_game.cpp | 23 +++++++- 8 files changed, 150 insertions(+), 54 deletions(-) diff --git a/engines/voyeur/events.cpp b/engines/voyeur/events.cpp index 5aa00e77f9..5d347d0964 100644 --- a/engines/voyeur/events.cpp +++ b/engines/voyeur/events.cpp @@ -73,6 +73,7 @@ EventsManager::EventsManager(): _intPtr(_gameData), _priorFrameTime = g_system->getMillis(); Common::fill(&_keyState[0], &_keyState[256], false); + _v2A0A2 = 0; _videoComputerNum = 0; _videoComputerBut1 = 0; _videoComputerBut4 = 0; diff --git a/engines/voyeur/events.h b/engines/voyeur/events.h index 47a6c5ab3c..3cfdca4faa 100644 --- a/engines/voyeur/events.h +++ b/engines/voyeur/events.h @@ -66,7 +66,7 @@ public: int _RTVNum; int _switchBGNum; int _group; - int _resolvePtr; + const int *_resolvePtr; int _seconds; int _minutes; int _hours; @@ -171,6 +171,7 @@ public: int _fadeCount; int _fadeStatus; + int _v2A0A2; int _videoComputerNum; int _videoComputerBut1; int _videoComputerBut4; diff --git a/engines/voyeur/files.cpp b/engines/voyeur/files.cpp index 5171d581ba..9f7242c0d2 100644 --- a/engines/voyeur/files.cpp +++ b/engines/voyeur/files.cpp @@ -185,9 +185,14 @@ bool FilesManager::openBoltLib(const Common::String &filename, BoltFile *&boltFi return true; } - // TODO: Specific library classes for buoy.blt versus stampblt.blt // Create the bolt file interface object and load the index - boltFile = _boltFilesState._curLibPtr = new BoltFile(_boltFilesState); + if (filename == "bvoy.blt") + boltFile = _boltFilesState._curLibPtr = new BVoyBoltFile(_boltFilesState); + else if (filename == "stampblt.blt") + boltFile = _boltFilesState._curLibPtr = new StampBoltFile(_boltFilesState); + else + error("Unknown bolt file specified"); + return true; } @@ -212,20 +217,10 @@ byte *FilesManager::fload(const Common::String &filename, int *size) { /*------------------------------------------------------------------------*/ -const BoltMethodPtr BoltFile::_fnInitType[25] = { - &BoltFile::initDefault, &BoltFile::initDefault, &BoltFile::initDefault, &BoltFile::initDefault, - &BoltFile::initDefault, &BoltFile::initDefault, &BoltFile::initDefault, &BoltFile::initDefault, - &BoltFile::sInitPic, &BoltFile::initDefault, &BoltFile::vInitCMap, &BoltFile::vInitCycl, - &BoltFile::initDefault, &BoltFile::initDefault, &BoltFile::initDefault, &BoltFile::initViewPort, - &BoltFile::initViewPortList, &BoltFile::initFont, &BoltFile::initFontInfo, - &BoltFile::initSoundMap, &BoltFile::initDefault, &BoltFile::initDefault, &BoltFile::initDefault, - &BoltFile::initDefault, &BoltFile::initDefault -}; - -BoltFile::BoltFile(BoltFilesState &state): _state(state) { +BoltFile::BoltFile(const Common::String &filename, BoltFilesState &state): _state(state) { _state._curFd = &_file; - if (!_file.open("bvoy.blt")) - error("Could not open buoy.blt"); + if (!_file.open(filename)) + error("Could not open %s", filename.c_str()); _state._curFilePosition = 0; // Read in the file header @@ -403,7 +398,7 @@ byte *BoltFile::getBoltMember(uint32 id) { if (_state._curGroupPtr->_processed) { // TODO: Figure out weird access type. Uncompressed read perhaps? //int fileDiff = _state._curGroupPtr->_fileOffset - _state._curMemberPtr->_fileOffset; - + error("TODO: processed bolt flag"); } else { _state._bufStart = _state._decompressBuf; _state._bufSize = DECOMPRESS_SIZE; @@ -425,7 +420,7 @@ byte *BoltFile::getBoltMember(uint32 id) { // Initialise the resource assert(_state._curMemberPtr->_initMethod < 25); - (this->*_fnInitType[_state._curMemberPtr->_initMethod])(); + initResource(_state._curMemberPtr->_initMethod); return _state._curMemberPtr->_data; } @@ -435,27 +430,44 @@ void BoltFile::initDefault() { _state._curMemberPtr->_mode); } -void BoltFile::sInitPic() { - // Read in the header data - _state._curMemberPtr->_data = _state.decompress(NULL, 24, _state._curMemberPtr->_mode); - _state._curMemberPtr->_picResource = new PictureResource(_state, - _state._curMemberPtr->_data); -} +/*------------------------------------------------------------------------*/ -void BoltFile::vInitCMap() { - initDefault(); - _state._curMemberPtr->_cMapResource = new CMapResource( - _state, _state._curMemberPtr->_data); +BVoyBoltFile::BVoyBoltFile(BoltFilesState &state): BoltFile("bvoy.blt", state) { } -void BoltFile::vInitCycl() { - initDefault(); - _state._vm->_eventsManager.vStopCycle(); - _state._curMemberPtr->_vInitCyclResource = new VInitCyclResource( - _state, _state._curMemberPtr->_data); +void BVoyBoltFile::initResource(int resType) { + switch (resType) { + case 8: + sInitPic(); + break; + case 10: + vInitCMap(); + break; + case 11: + vInitCycl(); + break; + case 15: + initViewPort(); + break; + case 16: + initViewPortList(); + break; + case 17: + initFont(); + break; + case 18: + initFontInfo(); + break; + case 19: + initSoundMap(); + break; + default: + initDefault(); + break; + } } -void BoltFile::initViewPort() { +void BVoyBoltFile::initViewPort() { initDefault(); ViewPortResource *viewPort; @@ -467,7 +479,7 @@ void BoltFile::initViewPort() { viewPort->_parent = getBoltEntryFromLong(READ_LE_UINT32(src + 2))._viewPortResource; } -void BoltFile::initViewPortList() { +void BVoyBoltFile::initViewPortList() { initDefault(); ViewPortListResource *res; @@ -478,19 +490,52 @@ void BoltFile::initViewPortList() { _state._vm->_graphicsManager._vPort = &res->_entries[0]; } -void BoltFile::initFontInfo() { +void BVoyBoltFile::initFontInfo() { initDefault(); _state._curMemberPtr->_fontInfoResource = new FontInfoResource( _state, _state._curMemberPtr->_data); } -void BoltFile::initFont() { +void BVoyBoltFile::initFont() { initDefault(); _state._curMemberPtr->_fontResource = new FontResource(_state, _state._curMemberPtr->_data); } -void BoltFile::initSoundMap() { +void BVoyBoltFile::initSoundMap() { + initDefault(); +} + +void BVoyBoltFile::sInitPic() { + // Read in the header data + _state._curMemberPtr->_data = _state.decompress(NULL, 24, _state._curMemberPtr->_mode); + _state._curMemberPtr->_picResource = new PictureResource(_state, + _state._curMemberPtr->_data); +} + +void BVoyBoltFile::vInitCMap() { + initDefault(); + _state._curMemberPtr->_cMapResource = new CMapResource( + _state, _state._curMemberPtr->_data); +} + +void BVoyBoltFile::vInitCycl() { initDefault(); + _state._vm->_eventsManager.vStopCycle(); + _state._curMemberPtr->_vInitCyclResource = new VInitCyclResource( + _state, _state._curMemberPtr->_data); +} + +/*------------------------------------------------------------------------*/ + +StampBoltFile::StampBoltFile(BoltFilesState &state): BoltFile("stampblt.blt", state) { +} + +void StampBoltFile::initResource(int resType) { + switch (resType) { + default: + initDefault(); + break; + } } /*------------------------------------------------------------------------*/ diff --git a/engines/voyeur/files.h b/engines/voyeur/files.h index 43836f5fa0..0871a5eeae 100644 --- a/engines/voyeur/files.h +++ b/engines/voyeur/files.h @@ -44,8 +44,6 @@ class VInitCyclResource; #define DECOMPRESS_SIZE 0x7000 -typedef void (BoltFile::*BoltMethodPtr)(); - class ResolveEntry { public: uint32 _id; @@ -98,22 +96,13 @@ public: class BoltFile { private: - static const BoltMethodPtr _fnInitType[25]; -private: - BoltFilesState &_state; Common::Array _groups; Common::File _file; +protected: + BoltFilesState &_state; - // initType method table + virtual void initResource(int resType) = 0; void initDefault(); - void sInitPic(); - void vInitCMap(); - void vInitCycl(); - void initViewPort(); - void initViewPortList(); - void initFontInfo(); - void initFont(); - void initSoundMap(); private: void resolveAll(); byte *getBoltMember(uint32 id); @@ -124,7 +113,7 @@ private: void initGro() {} // TODO void termGro() {} // TODO public: - BoltFile(BoltFilesState &state); + BoltFile(const Common::String &filename, BoltFilesState &state); ~BoltFile(); bool getBoltGroup(uint32 id); @@ -140,6 +129,30 @@ public: CMapResource *getCMapResource(uint32 id); }; +class BVoyBoltFile: public BoltFile { +private: + // initType method table + void sInitPic(); + void vInitCMap(); + void vInitCycl(); + void initViewPort(); + void initViewPortList(); + void initFontInfo(); + void initFont(); + void initSoundMap(); +protected: + virtual void initResource(int resType); +public: + BVoyBoltFile(BoltFilesState &state); +}; + +class StampBoltFile: public BoltFile { +protected: + virtual void initResource(int resType); +public: + StampBoltFile(BoltFilesState &state); +}; + class BoltGroup { private: Common::SeekableReadStream *_file; diff --git a/engines/voyeur/staticres.cpp b/engines/voyeur/staticres.cpp index 23fa3602eb..a3a76b679f 100644 --- a/engines/voyeur/staticres.cpp +++ b/engines/voyeur/staticres.cpp @@ -33,4 +33,14 @@ const int COMPUTER_DEFAULTS[] = { 2, 28, 0, 998, -1 }; +const int RESOLVE_TABLE[] = { + 0x2A00, 0x4A00, 0x1000, 0x4B00, 0x2C00, 0x4F00, 0x1400, 0x5000, + 0x1700, 0x5100, 0x1800, 0x5200, 0x3300, 0x5400, 0x3700, 0x5500, + 0x1A00, 0x1C00, 0x1E00, 0x1F00, 0x2100, 0x2200, 0x2400, 0x2700, + 0x2B00, 0x1100, 0x4C00, 0x1200, 0x4D00, 0x1300, 0x4E00, 0x2E00, + 0x1900, 0x3200, 0x3400, 0x3800, 0x2800, 0x3E00, 0x4100, 0x2900, + 0x4400, 0x4600, 0x5300, 0x3900, 0x7600, 0x7200, 0x7300, 0x7400, + 0x7500 +}; + } // End of namespace Voyeur diff --git a/engines/voyeur/staticres.h b/engines/voyeur/staticres.h index cd92ae467a..704ea35012 100644 --- a/engines/voyeur/staticres.h +++ b/engines/voyeur/staticres.h @@ -29,6 +29,8 @@ namespace Voyeur { extern const int COMPUTER_DEFAULTS[]; +extern const int RESOLVE_TABLE[]; + } // End of namespace Voyeur #endif diff --git a/engines/voyeur/voyeur.h b/engines/voyeur/voyeur.h index 74bb714e1a..56301e5107 100644 --- a/engines/voyeur/voyeur.h +++ b/engines/voyeur/voyeur.h @@ -66,6 +66,7 @@ private: Common::Array _resolves; FontInfoResource _defaultFontInfo; int _iForceDeath; + byte *_stampData; void ESP_Init(); void initialiseManagers(); @@ -80,7 +81,9 @@ private: bool doLock(); void showTitleScreen(); void doOpening(); + void playStamp(); + void initThreadStruct(int commandId); protected: // Engine APIs virtual Common::Error run(); diff --git a/engines/voyeur/voyeur_game.cpp b/engines/voyeur/voyeur_game.cpp index 48c65c5045..43227d3dd8 100644 --- a/engines/voyeur/voyeur_game.cpp +++ b/engines/voyeur/voyeur_game.cpp @@ -21,6 +21,7 @@ */ #include "voyeur/voyeur.h" +#include "voyeur/staticres.h" namespace Voyeur { @@ -35,7 +36,27 @@ void VoyeurEngine::addVideoEventStart() { } void VoyeurEngine::playStamp() { - + BoltFile *boltFile = NULL; + _filesManager.openBoltLib("stampblt.blt", boltFile); + + boltFile->getBoltGroup(0x10000); + _voy._resolvePtr = &RESOLVE_TABLE[0]; + byte *commandData = boltFile->memberAddr(3); + //uint32 commandId = READ_LE_UINT32(commandData); + //initThreadStruct(commandId); + + _voy._delaySecs = 0; + _eventsManager._videoComputerNum = 9; + _eventsManager._videoComputerBut1 = 0; + _eventsManager._v2A0A2 = 0; + _voy._eCursorOff[53] = 1; + + bool breakFlag = false; + while (!breakFlag && !shouldQuit()) { + breakFlag = true; + } + + _voy._field4386 = 0; } } // End of namespace Voyeur -- cgit v1.2.3 From a86b1c3d583d0c1646844e23005f3197fca608f3 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Sun, 8 Dec 2013 10:40:26 -0500 Subject: VOYEUR: Implementation of basic StampBoltFile resource types --- engines/voyeur/files.cpp | 64 +++++++++++++++++++++++++++++++++++++++++- engines/voyeur/files.h | 31 ++++++++++++++++++++ engines/voyeur/voyeur.cpp | 1 + engines/voyeur/voyeur.h | 4 ++- engines/voyeur/voyeur_game.cpp | 10 +++++-- 5 files changed, 105 insertions(+), 5 deletions(-) diff --git a/engines/voyeur/files.cpp b/engines/voyeur/files.cpp index 9f7242c0d2..ab8c54d1cd 100644 --- a/engines/voyeur/files.cpp +++ b/engines/voyeur/files.cpp @@ -532,12 +532,35 @@ StampBoltFile::StampBoltFile(BoltFilesState &state): BoltFile("stampblt.blt", st void StampBoltFile::initResource(int resType) { switch (resType) { + case 6: + initPtr(); + break; + case 24: + initControl(); + break; default: initDefault(); break; } } +void StampBoltFile::initPtr() { + initDefault(); + + _state._curMemberPtr->_ptrResource = new PtrResource(_state, + _state._curMemberPtr->_data); +} + +void StampBoltFile::initControl() { + initDefault(); + + ControlResource *res; + _state._curMemberPtr->_controlResource = res = new ControlResource(_state, + _state._curMemberPtr->_data); + + _state._vm->_controlPtr = res; +} + /*------------------------------------------------------------------------*/ BoltGroup::BoltGroup(Common::SeekableReadStream *f): _file(f) { @@ -585,6 +608,8 @@ BoltEntry::BoltEntry(Common::SeekableReadStream *f): _file(f) { _fontInfoResource = NULL; _cMapResource = NULL; _vInitCyclResource = NULL; + _ptrResource = NULL; + _controlResource = NULL; byte buffer[16]; _file->read(&buffer[0], 16); @@ -605,6 +630,8 @@ BoltEntry::~BoltEntry() { delete _fontInfoResource; delete _cMapResource; delete _vInitCyclResource; + delete _ptrResource; + delete _controlResource; } void BoltEntry::load() { @@ -617,7 +644,8 @@ void BoltEntry::load() { */ bool BoltEntry::hasResource() const { return _picResource || _viewPortResource || _viewPortListResource - || _fontResource || _fontInfoResource || _cMapResource || _vInitCyclResource; + || _fontResource || _fontInfoResource || _cMapResource + || _vInitCyclResource || _ptrResource || _controlResource; } /*------------------------------------------------------------------------*/ @@ -1257,4 +1285,38 @@ VInitCyclResource::VInitCyclResource(BoltFilesState &state, const byte *src) { } } +/*------------------------------------------------------------------------*/ + +PtrResource::PtrResource(BoltFilesState &state, const byte *src) { + // Load pointer list + uint32 *idP = (uint32 *)&src[0]; + int size = state._curMemberPtr->_size; + + for (int i = 0; i < size / 4; ++i, ++idP) { + uint32 id = READ_LE_UINT32(idP); + BoltEntry &entry = state._curLibPtr->getBoltEntryFromLong(id); + + _entries.push_back(&entry); + } +} + +/*------------------------------------------------------------------------*/ + +ControlResource::ControlResource(BoltFilesState &state, const byte *src) { + // Get pointer + uint32 ptrId = READ_LE_UINT32(&src[0x32]); + _ptr = state._curLibPtr->getBoltEntryFromLong(ptrId)._data; + + // Load pointer list + uint32 *idP = (uint32 *)&src[0x10]; + int count = READ_LE_UINT16(&src[0x36]); + + for (int i = 0; i < count; ++i, ++idP) { + uint32 id = READ_LE_UINT32(idP); + BoltEntry &entry = state._curLibPtr->getBoltEntryFromLong(id); + + _entries.push_back(entry._data); + } +} + } // End of namespace Voyeur diff --git a/engines/voyeur/files.h b/engines/voyeur/files.h index 0871a5eeae..584328c853 100644 --- a/engines/voyeur/files.h +++ b/engines/voyeur/files.h @@ -41,6 +41,8 @@ class ViewPortListResource; class FontResource; class CMapResource; class VInitCyclResource; +class PtrResource; +class ControlResource; #define DECOMPRESS_SIZE 0x7000 @@ -147,6 +149,9 @@ public: }; class StampBoltFile: public BoltFile { +private: + void initPtr(); + void initControl(); protected: virtual void initResource(int resType); public: @@ -185,6 +190,7 @@ public: int _size; byte *_data; + // bvoy.blt resource types PictureResource *_picResource; ViewPortResource *_viewPortResource; ViewPortListResource *_viewPortListResource; @@ -192,6 +198,10 @@ public: FontInfoResource *_fontInfoResource; CMapResource *_cMapResource; VInitCyclResource *_vInitCyclResource; + + // stampblt.blt resource types + PtrResource *_ptrResource; + ControlResource *_controlResource; public: BoltEntry(Common::SeekableReadStream *f); virtual ~BoltEntry(); @@ -225,6 +235,8 @@ public: uint32 _flags; }; +/* bvoy.blt resource types */ + class PictureResource: public DisplayResource { public: byte _select; @@ -376,6 +388,25 @@ public: virtual ~VInitCyclResource() {} }; +/* stampblt.blt resources */ + +class PtrResource { +public: + Common::Array _entries; + + PtrResource(BoltFilesState &state, const byte *src); + virtual ~PtrResource() {} +}; + +class ControlResource { +public: + byte *_ptr; + Common::Array _entries; + + ControlResource(BoltFilesState &state, const byte *src); + virtual ~ControlResource() {} +}; + } // End of namespace Voyeur #endif /* VOYEUR_FILES_H */ diff --git a/engines/voyeur/voyeur.cpp b/engines/voyeur/voyeur.cpp index 72de920680..b890d0af95 100644 --- a/engines/voyeur/voyeur.cpp +++ b/engines/voyeur/voyeur.cpp @@ -40,6 +40,7 @@ VoyeurEngine::VoyeurEngine(OSystem *syst, const VoyeurGameDescription *gameDesc) DebugMan.addDebugChannel(kDebugPath, "Path", "Pathfinding debug level"); _bVoy = NULL; _iForceDeath = -1; + _controlPtr = NULL; initialiseManagers(); } diff --git a/engines/voyeur/voyeur.h b/engines/voyeur/voyeur.h index 56301e5107..681e87637b 100644 --- a/engines/voyeur/voyeur.h +++ b/engines/voyeur/voyeur.h @@ -83,7 +83,7 @@ private: void doOpening(); void playStamp(); - void initThreadStruct(int commandId); + void initThreadStruct(byte *threadStruct); protected: // Engine APIs virtual Common::Error run(); @@ -96,6 +96,8 @@ public: GraphicsManager _graphicsManager; SoundManager _soundManager; SVoy _voy; + + ControlResource *_controlPtr; public: VoyeurEngine(OSystem *syst, const VoyeurGameDescription *gameDesc); virtual ~VoyeurEngine(); diff --git a/engines/voyeur/voyeur_game.cpp b/engines/voyeur/voyeur_game.cpp index 43227d3dd8..fc21604651 100644 --- a/engines/voyeur/voyeur_game.cpp +++ b/engines/voyeur/voyeur_game.cpp @@ -41,9 +41,9 @@ void VoyeurEngine::playStamp() { boltFile->getBoltGroup(0x10000); _voy._resolvePtr = &RESOLVE_TABLE[0]; - byte *commandData = boltFile->memberAddr(3); - //uint32 commandId = READ_LE_UINT32(commandData); - //initThreadStruct(commandId); + PtrResource *threadsList = boltFile->boltEntry(3)._ptrResource; + byte *threadP = threadsList->_entries[0]->_data; + initThreadStruct(threadP); _voy._delaySecs = 0; _eventsManager._videoComputerNum = 9; @@ -59,4 +59,8 @@ void VoyeurEngine::playStamp() { _voy._field4386 = 0; } +void VoyeurEngine::initThreadStruct(byte *threadStruct) { + // TODO +} + } // End of namespace Voyeur -- cgit v1.2.3 From ce3cb58d1511aa7de1dfad5bc92149559b4450f6 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Sun, 8 Dec 2013 14:44:48 -0500 Subject: VOYEUR: Extra control/group initialisation --- engines/voyeur/files.cpp | 1 + engines/voyeur/voyeur.cpp | 1 + engines/voyeur/voyeur.h | 9 ++++++++- engines/voyeur/voyeur_game.cpp | 24 ++++++++++++++++++++---- 4 files changed, 30 insertions(+), 5 deletions(-) diff --git a/engines/voyeur/files.cpp b/engines/voyeur/files.cpp index ab8c54d1cd..b17f324ffe 100644 --- a/engines/voyeur/files.cpp +++ b/engines/voyeur/files.cpp @@ -558,6 +558,7 @@ void StampBoltFile::initControl() { _state._curMemberPtr->_controlResource = res = new ControlResource(_state, _state._curMemberPtr->_data); + _state._vm->_controlGroupPtr = _state._curGroupPtr; _state._vm->_controlPtr = res; } diff --git a/engines/voyeur/voyeur.cpp b/engines/voyeur/voyeur.cpp index b890d0af95..9348f5fb5a 100644 --- a/engines/voyeur/voyeur.cpp +++ b/engines/voyeur/voyeur.cpp @@ -41,6 +41,7 @@ VoyeurEngine::VoyeurEngine(OSystem *syst, const VoyeurGameDescription *gameDesc) _bVoy = NULL; _iForceDeath = -1; _controlPtr = NULL; + _stampFlags = 0; initialiseManagers(); } diff --git a/engines/voyeur/voyeur.h b/engines/voyeur/voyeur.h index 681e87637b..43a18e0a3a 100644 --- a/engines/voyeur/voyeur.h +++ b/engines/voyeur/voyeur.h @@ -66,7 +66,6 @@ private: Common::Array _resolves; FontInfoResource _defaultFontInfo; int _iForceDeath; - byte *_stampData; void ESP_Init(); void initialiseManagers(); @@ -83,6 +82,8 @@ private: void doOpening(); void playStamp(); + void initStamp(); + void initUseCount(); void initThreadStruct(byte *threadStruct); protected: // Engine APIs @@ -97,7 +98,13 @@ public: SoundManager _soundManager; SVoy _voy; + BoltFile *_stampLibPtr; + BoltGroup *_controlGroupPtr; ControlResource *_controlPtr; + byte *_stampData; + BoltGroup *_stackGroupPtr; + int _stampFlags; + int _stm_useCount[8]; public: VoyeurEngine(OSystem *syst, const VoyeurGameDescription *gameDesc); virtual ~VoyeurEngine(); diff --git a/engines/voyeur/voyeur_game.cpp b/engines/voyeur/voyeur_game.cpp index fc21604651..07821d8086 100644 --- a/engines/voyeur/voyeur_game.cpp +++ b/engines/voyeur/voyeur_game.cpp @@ -36,12 +36,14 @@ void VoyeurEngine::addVideoEventStart() { } void VoyeurEngine::playStamp() { - BoltFile *boltFile = NULL; - _filesManager.openBoltLib("stampblt.blt", boltFile); + _stampLibPtr = NULL; + _filesManager.openBoltLib("stampblt.blt", _stampLibPtr); - boltFile->getBoltGroup(0x10000); + _stampLibPtr->getBoltGroup(0x10000); _voy._resolvePtr = &RESOLVE_TABLE[0]; - PtrResource *threadsList = boltFile->boltEntry(3)._ptrResource; + initStamp(); + + PtrResource *threadsList = _stampLibPtr->boltEntry(3)._ptrResource; byte *threadP = threadsList->_entries[0]->_data; initThreadStruct(threadP); @@ -59,6 +61,20 @@ void VoyeurEngine::playStamp() { _voy._field4386 = 0; } +void VoyeurEngine::initStamp() { + _stampFlags &= ~1; + _stackGroupPtr = _controlGroupPtr; + + if (_controlPtr->_entries.size() == 0) + error("No control entries"); + + initUseCount(); +} + +void VoyeurEngine::initUseCount() { + Common::fill(&_stm_useCount[0], &_stm_useCount[8], 0); +} + void VoyeurEngine::initThreadStruct(byte *threadStruct) { // TODO } -- cgit v1.2.3 From fc7c1cd33e21c7fd9b78764ee7bb02e35733fbac Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Sun, 8 Dec 2013 16:51:50 -0500 Subject: VOYEUR: More thread/stack initialisation --- engines/voyeur/files.cpp | 31 ++++++++++++++++++++++++++-- engines/voyeur/files.h | 20 +++++++++++++++++- engines/voyeur/voyeur.h | 5 ++++- engines/voyeur/voyeur_game.cpp | 47 +++++++++++++++++++++++++++++++++++++----- 4 files changed, 94 insertions(+), 9 deletions(-) diff --git a/engines/voyeur/files.cpp b/engines/voyeur/files.cpp index b17f324ffe..8f188fa3c8 100644 --- a/engines/voyeur/files.cpp +++ b/engines/voyeur/files.cpp @@ -276,6 +276,11 @@ void BoltFile::freeBoltGroup(uint32 id) { _state._curGroupPtr->unload(); } +void BoltFile::freeBoltMember(uint32 id) { + // TODO: Determine whether this is needed + warning("TODO: BoltFile::freeBoltMember"); +} + BoltEntry &BoltFile::getBoltEntryFromLong(uint32 id) { BoltGroup &group = _groups[id >> 24]; assert(group._loaded); @@ -532,6 +537,9 @@ StampBoltFile::StampBoltFile(BoltFilesState &state): BoltFile("stampblt.blt", st void StampBoltFile::initResource(int resType) { switch (resType) { + case 0: + initThread(); + break; case 6: initPtr(); break; @@ -544,6 +552,13 @@ void StampBoltFile::initResource(int resType) { } } +void StampBoltFile::initThread() { + initDefault(); + + _state._curMemberPtr->_threadResource = new ThreadResource(_state, + _state._curMemberPtr->_data); +} + void StampBoltFile::initPtr() { initDefault(); @@ -611,6 +626,7 @@ BoltEntry::BoltEntry(Common::SeekableReadStream *f): _file(f) { _vInitCyclResource = NULL; _ptrResource = NULL; _controlResource = NULL; + _threadResource = NULL; byte buffer[16]; _file->read(&buffer[0], 16); @@ -646,7 +662,8 @@ void BoltEntry::load() { bool BoltEntry::hasResource() const { return _picResource || _viewPortResource || _viewPortListResource || _fontResource || _fontInfoResource || _cMapResource - || _vInitCyclResource || _ptrResource || _controlResource; + || _vInitCyclResource || _ptrResource || _controlResource + || _threadResource; } /*------------------------------------------------------------------------*/ @@ -1288,6 +1305,11 @@ VInitCyclResource::VInitCyclResource(BoltFilesState &state, const byte *src) { /*------------------------------------------------------------------------*/ +ThreadResource::ThreadResource(BoltFilesState &state, const byte *src) { +} + +/*------------------------------------------------------------------------*/ + PtrResource::PtrResource(BoltFilesState &state, const byte *src) { // Load pointer list uint32 *idP = (uint32 *)&src[0]; @@ -1308,6 +1330,11 @@ ControlResource::ControlResource(BoltFilesState &state, const byte *src) { uint32 ptrId = READ_LE_UINT32(&src[0x32]); _ptr = state._curLibPtr->getBoltEntryFromLong(ptrId)._data; + for (int i = 0; i < 8; ++i) { + _memberIds[i] = READ_LE_UINT16(src + i * 2); + _entries[i] = NULL; + } + // Load pointer list uint32 *idP = (uint32 *)&src[0x10]; int count = READ_LE_UINT16(&src[0x36]); @@ -1316,7 +1343,7 @@ ControlResource::ControlResource(BoltFilesState &state, const byte *src) { uint32 id = READ_LE_UINT32(idP); BoltEntry &entry = state._curLibPtr->getBoltEntryFromLong(id); - _entries.push_back(entry._data); + _entries[i] = entry._data; } } diff --git a/engines/voyeur/files.h b/engines/voyeur/files.h index 584328c853..8cb7fc8b22 100644 --- a/engines/voyeur/files.h +++ b/engines/voyeur/files.h @@ -43,6 +43,7 @@ class CMapResource; class VInitCyclResource; class PtrResource; class ControlResource; +class ThreadResource; #define DECOMPRESS_SIZE 0x7000 @@ -120,6 +121,7 @@ public: bool getBoltGroup(uint32 id); void freeBoltGroup(uint32 id); + void freeBoltMember(uint32 id); byte *memberAddr(uint32 id); byte *memberAddrOffset(uint32 id); void resolveIt(uint32 id, byte **p); @@ -150,6 +152,7 @@ public: class StampBoltFile: public BoltFile { private: + void initThread(); void initPtr(); void initControl(); protected: @@ -202,6 +205,7 @@ public: // stampblt.blt resource types PtrResource *_ptrResource; ControlResource *_controlResource; + ThreadResource *_threadResource; public: BoltEntry(Common::SeekableReadStream *f); virtual ~BoltEntry(); @@ -400,13 +404,27 @@ public: class ControlResource { public: + int _memberIds[8]; + byte *_entries[8]; byte *_ptr; - Common::Array _entries; ControlResource(BoltFilesState &state, const byte *src); virtual ~ControlResource() {} }; +class ThreadResource { +public: + int _field0; + int _controlIndex; + int _field4, _field6; + int _field3A; + int _field3E; + byte *_ctlPtr; +public: + ThreadResource(BoltFilesState &state, const byte *src); + virtual ~ThreadResource() {} +}; + } // End of namespace Voyeur #endif /* VOYEUR_FILES_H */ diff --git a/engines/voyeur/voyeur.h b/engines/voyeur/voyeur.h index 43a18e0a3a..236d83ff6d 100644 --- a/engines/voyeur/voyeur.h +++ b/engines/voyeur/voyeur.h @@ -84,7 +84,10 @@ private: void playStamp(); void initStamp(); void initUseCount(); - void initThreadStruct(byte *threadStruct); + void initThreadStruct(ThreadResource *thread, int v1, int idx); + bool stm_loadAStack(ThreadResource *thread, int idx); + void stm_unloadAStack(int idx); + void stm_doState(ThreadResource *thread); protected: // Engine APIs virtual Common::Error run(); diff --git a/engines/voyeur/voyeur_game.cpp b/engines/voyeur/voyeur_game.cpp index 07821d8086..f6dc0b0d43 100644 --- a/engines/voyeur/voyeur_game.cpp +++ b/engines/voyeur/voyeur_game.cpp @@ -44,8 +44,8 @@ void VoyeurEngine::playStamp() { initStamp(); PtrResource *threadsList = _stampLibPtr->boltEntry(3)._ptrResource; - byte *threadP = threadsList->_entries[0]->_data; - initThreadStruct(threadP); + ThreadResource *threadP = threadsList->_entries[0]->_threadResource; + initThreadStruct(threadP, 0, 0); _voy._delaySecs = 0; _eventsManager._videoComputerNum = 9; @@ -65,7 +65,7 @@ void VoyeurEngine::initStamp() { _stampFlags &= ~1; _stackGroupPtr = _controlGroupPtr; - if (_controlPtr->_entries.size() == 0) + if (!_controlPtr->_entries[0]) error("No control entries"); initUseCount(); @@ -75,8 +75,45 @@ void VoyeurEngine::initUseCount() { Common::fill(&_stm_useCount[0], &_stm_useCount[8], 0); } -void VoyeurEngine::initThreadStruct(byte *threadStruct) { - // TODO +void VoyeurEngine::initThreadStruct(ThreadResource *thread, int v1, int idx) { + thread->_controlIndex = -1; + if (stm_loadAStack(thread, idx)) { + thread->_field4 = thread->_field6 = -1; + thread->_field0 = idx; + thread->_field3A = -1; + thread->_field3E = -1; + + stm_doState(thread); + } +} + +bool VoyeurEngine::stm_loadAStack(ThreadResource *thread, int idx) { + if (_stampFlags & 1) { + stm_unloadAStack(thread->_controlIndex); + if (!_stm_useCount[idx]) { + BoltEntry &boltEntry = _stampLibPtr->boltEntry(_controlPtr->_memberIds[idx]); + if (!boltEntry._data) + return false; + + _controlPtr->_entries[idx] = boltEntry._data; + } + + ++_stm_useCount[idx]; + } + + thread->_ctlPtr = _controlPtr->_entries[idx]; +} + +void VoyeurEngine::stm_unloadAStack(int idx) { + if ((_stampFlags & 1) && _stm_useCount[idx]) { + if (--_stm_useCount[idx] == 0) { + _stampLibPtr->freeBoltMember(_controlPtr->_memberIds[idx]); + } + } +} + +void VoyeurEngine::stm_doState(ThreadResource *thread) { + } } // End of namespace Voyeur -- cgit v1.2.3 From bad9219c27d8b62079fe0f96c8cc7020d2c58da7 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Sun, 8 Dec 2013 18:02:46 -0500 Subject: VOYEUR: Temporarily disable startup screens --- engines/voyeur/voyeur.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/engines/voyeur/voyeur.cpp b/engines/voyeur/voyeur.cpp index 9348f5fb5a..000012c899 100644 --- a/engines/voyeur/voyeur.cpp +++ b/engines/voyeur/voyeur.cpp @@ -161,8 +161,8 @@ bool VoyeurEngine::doHeadTitle() { _eventsManager.startMainClockInt(); // Show starting screen - if (_bVoy->getBoltGroup(0x10500)) - showConversionScreen(); +// if (_bVoy->getBoltGroup(0x10500)) +// showConversionScreen(); if (shouldQuit()) return false; @@ -176,8 +176,8 @@ bool VoyeurEngine::doHeadTitle() { // Opening if (!_voy._incriminate) { - doOpening(); - doTransitionCard("Saturday Afternoon", "Player's Apartment"); +// doOpening(); +// doTransitionCard("Saturday Afternoon", "Player's Apartment"); _eventsManager.delay(90); } else { _voy._incriminate = false; -- cgit v1.2.3 From 96b1fb8601ebdda0a6bd8220d55baf3386d1551a Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Sun, 8 Dec 2013 18:23:40 -0500 Subject: VOYEUR: Fixes for ControlResource initialisation --- engines/voyeur/files.cpp | 13 ++++++------- engines/voyeur/files.h | 1 + engines/voyeur/voyeur.h | 2 ++ engines/voyeur/voyeur_game.cpp | 19 ++++++++++++++++++- 4 files changed, 27 insertions(+), 8 deletions(-) diff --git a/engines/voyeur/files.cpp b/engines/voyeur/files.cpp index 8f188fa3c8..f9fce61f8d 100644 --- a/engines/voyeur/files.cpp +++ b/engines/voyeur/files.cpp @@ -236,7 +236,9 @@ BoltFile::BoltFile(const Common::String &filename, BoltFilesState &state): _stat } BoltFile::~BoltFile() { - _state._curFd->close(); + _file.close(); + if (_state._curFd == &_file) + _state._curFd = NULL; } bool BoltFile::getBoltGroup(uint32 id) { @@ -1306,6 +1308,7 @@ VInitCyclResource::VInitCyclResource(BoltFilesState &state, const byte *src) { /*------------------------------------------------------------------------*/ ThreadResource::ThreadResource(BoltFilesState &state, const byte *src) { + _flags = READ_LE_UINT16(&src[8]); } /*------------------------------------------------------------------------*/ @@ -1330,10 +1333,8 @@ ControlResource::ControlResource(BoltFilesState &state, const byte *src) { uint32 ptrId = READ_LE_UINT32(&src[0x32]); _ptr = state._curLibPtr->getBoltEntryFromLong(ptrId)._data; - for (int i = 0; i < 8; ++i) { + for (int i = 0; i < 8; ++i) _memberIds[i] = READ_LE_UINT16(src + i * 2); - _entries[i] = NULL; - } // Load pointer list uint32 *idP = (uint32 *)&src[0x10]; @@ -1341,9 +1342,7 @@ ControlResource::ControlResource(BoltFilesState &state, const byte *src) { for (int i = 0; i < count; ++i, ++idP) { uint32 id = READ_LE_UINT32(idP); - BoltEntry &entry = state._curLibPtr->getBoltEntryFromLong(id); - - _entries[i] = entry._data; + state._curLibPtr->resolveIt(id, &_entries[i]); } } diff --git a/engines/voyeur/files.h b/engines/voyeur/files.h index 8cb7fc8b22..7ea7dead91 100644 --- a/engines/voyeur/files.h +++ b/engines/voyeur/files.h @@ -417,6 +417,7 @@ public: int _field0; int _controlIndex; int _field4, _field6; + int _flags; int _field3A; int _field3E; byte *_ctlPtr; diff --git a/engines/voyeur/voyeur.h b/engines/voyeur/voyeur.h index 236d83ff6d..549a335416 100644 --- a/engines/voyeur/voyeur.h +++ b/engines/voyeur/voyeur.h @@ -83,10 +83,12 @@ private: void playStamp(); void initStamp(); + void closeStamp(); void initUseCount(); void initThreadStruct(ThreadResource *thread, int v1, int idx); bool stm_loadAStack(ThreadResource *thread, int idx); void stm_unloadAStack(int idx); + void stm_unloadAllStacks(); void stm_doState(ThreadResource *thread); protected: // Engine APIs diff --git a/engines/voyeur/voyeur_game.cpp b/engines/voyeur/voyeur_game.cpp index f6dc0b0d43..ee7ef66c6d 100644 --- a/engines/voyeur/voyeur_game.cpp +++ b/engines/voyeur/voyeur_game.cpp @@ -59,6 +59,9 @@ void VoyeurEngine::playStamp() { } _voy._field4386 = 0; + closeStamp(); + _stampLibPtr->freeBoltGroup(0x10000); + delete _stampLibPtr; } void VoyeurEngine::initStamp() { @@ -71,6 +74,10 @@ void VoyeurEngine::initStamp() { initUseCount(); } +void VoyeurEngine::closeStamp() { + stm_unloadAllStacks(); +} + void VoyeurEngine::initUseCount() { Common::fill(&_stm_useCount[0], &_stm_useCount[8], 0); } @@ -102,6 +109,7 @@ bool VoyeurEngine::stm_loadAStack(ThreadResource *thread, int idx) { } thread->_ctlPtr = _controlPtr->_entries[idx]; + return true; } void VoyeurEngine::stm_unloadAStack(int idx) { @@ -112,8 +120,17 @@ void VoyeurEngine::stm_unloadAStack(int idx) { } } -void VoyeurEngine::stm_doState(ThreadResource *thread) { +void VoyeurEngine::stm_unloadAllStacks() { + if (_stampFlags & 1) { + for (int i = 0; i < 8; ++i) { + if (_stm_useCount[i]) + _stampLibPtr->freeBoltMember(_controlPtr->_memberIds[i]); + } + } +} +void VoyeurEngine::stm_doState(ThreadResource *thread) { + warning("TODO: stm_doState"); } } // End of namespace Voyeur -- cgit v1.2.3 From 7ccc9a3fabc7138ab45dfe1bf987ac4e07739b50 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Sun, 8 Dec 2013 19:25:40 -0500 Subject: VOYEUR: Moved stm methods into ThreadResource class --- engines/voyeur/files.cpp | 49 +++++++++++++++++++++++++++++++++++- engines/voyeur/files.h | 12 +++++++++ engines/voyeur/voyeur.cpp | 1 - engines/voyeur/voyeur.h | 9 +------ engines/voyeur/voyeur_game.cpp | 57 ++++++------------------------------------ 5 files changed, 68 insertions(+), 60 deletions(-) diff --git a/engines/voyeur/files.cpp b/engines/voyeur/files.cpp index f9fce61f8d..84f0df81ef 100644 --- a/engines/voyeur/files.cpp +++ b/engines/voyeur/files.cpp @@ -1307,10 +1307,57 @@ VInitCyclResource::VInitCyclResource(BoltFilesState &state, const byte *src) { /*------------------------------------------------------------------------*/ -ThreadResource::ThreadResource(BoltFilesState &state, const byte *src) { +int ThreadResource::_stampFlags = 0; +int ThreadResource::_useCount[8]; + +ThreadResource::ThreadResource(BoltFilesState &state, const byte *src): + _vm(state._vm) { _flags = READ_LE_UINT16(&src[8]); } +bool ThreadResource::loadAStack(int idx) { + if (_stampFlags & 1) { + unloadAStack(_controlIndex); + if (!_useCount[idx]) { + BoltEntry &boltEntry = _vm->_stampLibPtr->boltEntry(_vm->_controlPtr->_memberIds[idx]); + if (!boltEntry._data) + return false; + + _vm->_controlPtr->_entries[idx] = boltEntry._data; + } + + ++_useCount[idx]; + } + + _ctlPtr = _vm->_controlPtr->_entries[idx]; + return true; +} + +void ThreadResource::unloadAStack(int idx) { + if ((_stampFlags & 1) && _useCount[idx]) { + if (--_useCount[idx] == 0) { + _vm->_stampLibPtr->freeBoltMember(_vm->_controlPtr->_memberIds[idx]); + } + } +} + +void ThreadResource::doState() { + warning("TODO: stm_doState"); +} + +void ThreadResource::unloadAllStacks(VoyeurEngine *vm) { + if (_stampFlags & 1) { + for (int i = 0; i < 8; ++i) { + if (_useCount[i]) + vm->_stampLibPtr->freeBoltMember(vm->_controlPtr->_memberIds[i]); + } + } +} + +void ThreadResource::initUseCount() { + Common::fill(&_useCount[0], &_useCount[8], 0); +} + /*------------------------------------------------------------------------*/ PtrResource::PtrResource(BoltFilesState &state, const byte *src) { diff --git a/engines/voyeur/files.h b/engines/voyeur/files.h index 7ea7dead91..3ce9d4c2f6 100644 --- a/engines/voyeur/files.h +++ b/engines/voyeur/files.h @@ -414,6 +414,14 @@ public: class ThreadResource { public: + static int _stampFlags; + static int _useCount[8]; + + static void initUseCount(); + static void unloadAllStacks(VoyeurEngine *vm); +public: + VoyeurEngine *_vm; + int _field0; int _controlIndex; int _field4, _field6; @@ -424,6 +432,10 @@ public: public: ThreadResource(BoltFilesState &state, const byte *src); virtual ~ThreadResource() {} + + bool loadAStack(int idx); + void unloadAStack(int idx); + void doState(); }; } // End of namespace Voyeur diff --git a/engines/voyeur/voyeur.cpp b/engines/voyeur/voyeur.cpp index 000012c899..7312728c24 100644 --- a/engines/voyeur/voyeur.cpp +++ b/engines/voyeur/voyeur.cpp @@ -41,7 +41,6 @@ VoyeurEngine::VoyeurEngine(OSystem *syst, const VoyeurGameDescription *gameDesc) _bVoy = NULL; _iForceDeath = -1; _controlPtr = NULL; - _stampFlags = 0; initialiseManagers(); } diff --git a/engines/voyeur/voyeur.h b/engines/voyeur/voyeur.h index 549a335416..772343b00a 100644 --- a/engines/voyeur/voyeur.h +++ b/engines/voyeur/voyeur.h @@ -84,12 +84,7 @@ private: void playStamp(); void initStamp(); void closeStamp(); - void initUseCount(); - void initThreadStruct(ThreadResource *thread, int v1, int idx); - bool stm_loadAStack(ThreadResource *thread, int idx); - void stm_unloadAStack(int idx); - void stm_unloadAllStacks(); - void stm_doState(ThreadResource *thread); + void initThreadStruct(ThreadResource *thread, int idx, int v3); protected: // Engine APIs virtual Common::Error run(); @@ -108,8 +103,6 @@ public: ControlResource *_controlPtr; byte *_stampData; BoltGroup *_stackGroupPtr; - int _stampFlags; - int _stm_useCount[8]; public: VoyeurEngine(OSystem *syst, const VoyeurGameDescription *gameDesc); virtual ~VoyeurEngine(); diff --git a/engines/voyeur/voyeur_game.cpp b/engines/voyeur/voyeur_game.cpp index ee7ef66c6d..adaff87672 100644 --- a/engines/voyeur/voyeur_game.cpp +++ b/engines/voyeur/voyeur_game.cpp @@ -65,72 +65,29 @@ void VoyeurEngine::playStamp() { } void VoyeurEngine::initStamp() { - _stampFlags &= ~1; + ThreadResource::_stampFlags &= ~1; _stackGroupPtr = _controlGroupPtr; if (!_controlPtr->_entries[0]) error("No control entries"); - initUseCount(); + ThreadResource::initUseCount(); } void VoyeurEngine::closeStamp() { - stm_unloadAllStacks(); + ThreadResource::unloadAllStacks(this); } -void VoyeurEngine::initUseCount() { - Common::fill(&_stm_useCount[0], &_stm_useCount[8], 0); -} - -void VoyeurEngine::initThreadStruct(ThreadResource *thread, int v1, int idx) { +void VoyeurEngine::initThreadStruct(ThreadResource *thread, int idx, int v3) { thread->_controlIndex = -1; - if (stm_loadAStack(thread, idx)) { + if (thread->loadAStack(idx)) { thread->_field4 = thread->_field6 = -1; - thread->_field0 = idx; + thread->_field0 = v3; thread->_field3A = -1; thread->_field3E = -1; - stm_doState(thread); - } -} - -bool VoyeurEngine::stm_loadAStack(ThreadResource *thread, int idx) { - if (_stampFlags & 1) { - stm_unloadAStack(thread->_controlIndex); - if (!_stm_useCount[idx]) { - BoltEntry &boltEntry = _stampLibPtr->boltEntry(_controlPtr->_memberIds[idx]); - if (!boltEntry._data) - return false; - - _controlPtr->_entries[idx] = boltEntry._data; - } - - ++_stm_useCount[idx]; - } - - thread->_ctlPtr = _controlPtr->_entries[idx]; - return true; -} - -void VoyeurEngine::stm_unloadAStack(int idx) { - if ((_stampFlags & 1) && _stm_useCount[idx]) { - if (--_stm_useCount[idx] == 0) { - _stampLibPtr->freeBoltMember(_controlPtr->_memberIds[idx]); - } - } -} - -void VoyeurEngine::stm_unloadAllStacks() { - if (_stampFlags & 1) { - for (int i = 0; i < 8; ++i) { - if (_stm_useCount[i]) - _stampLibPtr->freeBoltMember(_controlPtr->_memberIds[i]); - } + thread->doState(); } } -void VoyeurEngine::stm_doState(ThreadResource *thread) { - warning("TODO: stm_doState"); -} - } // End of namespace Voyeur -- cgit v1.2.3 From ce9b127cbcea20c827cd20b0385776338b08b7bc Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Sun, 8 Dec 2013 22:57:11 -0500 Subject: VOYEUR: Further thread initialisation methods --- engines/voyeur/files.cpp | 49 ++++++++++++++++++++++++++++++++++++++++-- engines/voyeur/files.h | 19 +++++++++++++--- engines/voyeur/voyeur.h | 2 +- engines/voyeur/voyeur_game.cpp | 4 ++-- 4 files changed, 66 insertions(+), 8 deletions(-) diff --git a/engines/voyeur/files.cpp b/engines/voyeur/files.cpp index 84f0df81ef..5b7e475640 100644 --- a/engines/voyeur/files.cpp +++ b/engines/voyeur/files.cpp @@ -1309,10 +1309,11 @@ VInitCyclResource::VInitCyclResource(BoltFilesState &state, const byte *src) { int ThreadResource::_stampFlags = 0; int ThreadResource::_useCount[8]; +byte *ThreadResource::_threadDataPtr = NULL; ThreadResource::ThreadResource(BoltFilesState &state, const byte *src): _vm(state._vm) { - _flags = READ_LE_UINT16(&src[8]); + _flags = src[8]; } bool ThreadResource::loadAStack(int idx) { @@ -1341,8 +1342,52 @@ void ThreadResource::unloadAStack(int idx) { } } -void ThreadResource::doState() { +bool ThreadResource::doState() { + _flags |= 1; + + if (!getStateInfo()) + return false; + warning("TODO: stm_doState"); + return true; +} + +bool ThreadResource::getStateInfo() { + _field9 = 0; + int id = READ_LE_UINT16(_ctlPtr); + + if (id <= _threadId) { + _field9 |= 0x80; + return false; + } else { + uint32 fld = READ_LE_UINT32(_ctlPtr + 2); + fld += _threadId << 3; + _field46 = READ_LE_UINT32(_ctlPtr + fld + 4); + + fld = READ_LE_UINT32(_ctlPtr + fld); + byte *baseP = _ctlPtr + fld; + _field42 = READ_LE_UINT16(baseP); + _field40 = READ_LE_UINT16(baseP + 2); + _field44 = READ_LE_UINT16(baseP + 4); + + _field28E = getDataOffset(); + _field28E += READ_LE_UINT32(baseP + 6) / 2; + + _field4A = baseP + 10; + + getButtonsText(); + return true; + } +} + +byte *ThreadResource::getDataOffset() { + uint32 offset = READ_LE_UINT32(_ctlPtr + 10); + _threadDataPtr = _ctlPtr + offset; + return _threadDataPtr; +} + +void ThreadResource::getButtonsText() { + warning("TODO: stm_getButtonsText"); } void ThreadResource::unloadAllStacks(VoyeurEngine *vm) { diff --git a/engines/voyeur/files.h b/engines/voyeur/files.h index 3ce9d4c2f6..1beb091a19 100644 --- a/engines/voyeur/files.h +++ b/engines/voyeur/files.h @@ -416,26 +416,39 @@ class ThreadResource { public: static int _stampFlags; static int _useCount[8]; + static byte *_threadDataPtr; static void initUseCount(); static void unloadAllStacks(VoyeurEngine *vm); +private: + bool getStateInfo(); + byte *getDataOffset(); + void getButtonsText(); public: VoyeurEngine *_vm; - int _field0; + int _threadId; int _controlIndex; int _field4, _field6; - int _flags; + byte _flags; + int _field9; int _field3A; int _field3E; + int _field40; + int _field42; + int _field44; + uint32 _field46; + byte *_field4A; + byte *_ctlPtr; + byte *_field28E; public: ThreadResource(BoltFilesState &state, const byte *src); virtual ~ThreadResource() {} bool loadAStack(int idx); void unloadAStack(int idx); - void doState(); + bool doState(); }; } // End of namespace Voyeur diff --git a/engines/voyeur/voyeur.h b/engines/voyeur/voyeur.h index 772343b00a..bf84893495 100644 --- a/engines/voyeur/voyeur.h +++ b/engines/voyeur/voyeur.h @@ -84,7 +84,7 @@ private: void playStamp(); void initStamp(); void closeStamp(); - void initThreadStruct(ThreadResource *thread, int idx, int v3); + void initThreadStruct(ThreadResource *thread, int idx, int id); protected: // Engine APIs virtual Common::Error run(); diff --git a/engines/voyeur/voyeur_game.cpp b/engines/voyeur/voyeur_game.cpp index adaff87672..0401704d3c 100644 --- a/engines/voyeur/voyeur_game.cpp +++ b/engines/voyeur/voyeur_game.cpp @@ -78,11 +78,11 @@ void VoyeurEngine::closeStamp() { ThreadResource::unloadAllStacks(this); } -void VoyeurEngine::initThreadStruct(ThreadResource *thread, int idx, int v3) { +void VoyeurEngine::initThreadStruct(ThreadResource *thread, int idx, int id) { thread->_controlIndex = -1; if (thread->loadAStack(idx)) { thread->_field4 = thread->_field6 = -1; - thread->_field0 = v3; + thread->_threadId = id; thread->_field3A = -1; thread->_field3E = -1; -- cgit v1.2.3 From afc4e0ed333ca4acd5fcb092362f9910225ffd93 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Sun, 8 Dec 2013 23:44:06 -0500 Subject: VOYEUR: Implemented thread getButtonsText and support methods --- engines/voyeur/files.cpp | 66 +++++++++++++++++++++++++++++++++++++++++++++++- engines/voyeur/files.h | 3 +++ 2 files changed, 68 insertions(+), 1 deletion(-) diff --git a/engines/voyeur/files.cpp b/engines/voyeur/files.cpp index 5b7e475640..c5838637c8 100644 --- a/engines/voyeur/files.cpp +++ b/engines/voyeur/files.cpp @@ -1387,7 +1387,21 @@ byte *ThreadResource::getDataOffset() { } void ThreadResource::getButtonsText() { - warning("TODO: stm_getButtonsText"); + int idx = 0; + + for (const byte *p = _field4A; *p != 0x49; p = getNextRecord(p)) { + if (*p == 0xC0) { + ++p; + if (*p++ & 0x80) { + assert(idx < 7); + _field8E[idx] = getRecordOffset(p); + p += 4; + } + + ++idx; + _field8E[idx] = NULL; + } + } } void ThreadResource::unloadAllStacks(VoyeurEngine *vm) { @@ -1403,6 +1417,56 @@ void ThreadResource::initUseCount() { Common::fill(&_useCount[0], &_useCount[8], 0); } +const byte *ThreadResource::getRecordOffset(const byte *p) { + uint32 recSize = READ_LE_UINT32(p) + READ_LE_UINT32(p + 6); + return _ctlPtr + recSize; +} + +const byte *ThreadResource::getNextRecord(const byte *p) { + byte v = *p++; + + switch (v) { + case 2: + case 4: + case 6: + case 8: + case 10: + return p + 8; + case 1: + case 3: + case 5: + case 7: + case 9: + case 11: + case 21: + case 22: + case 25: + case 26: + return p + 5; + case 17: + case 23: + case 24: + case 27: + case 28: + return p + 2; + case 19: + case 41: + return p + 6; + case 18: + case 51: + case 52: + return p + 1; + case 74: + return p + 4; + case 192: + if (*p * 0x80) + p += 4; + return p + 2; + default: + return p; + } +} + /*------------------------------------------------------------------------*/ PtrResource::PtrResource(BoltFilesState &state, const byte *src) { diff --git a/engines/voyeur/files.h b/engines/voyeur/files.h index 1beb091a19..13023f80fb 100644 --- a/engines/voyeur/files.h +++ b/engines/voyeur/files.h @@ -424,6 +424,8 @@ private: bool getStateInfo(); byte *getDataOffset(); void getButtonsText(); + const byte *getRecordOffset(const byte *p); + const byte *getNextRecord(const byte *p); public: VoyeurEngine *_vm; @@ -439,6 +441,7 @@ public: int _field44; uint32 _field46; byte *_field4A; + const byte *_field8E[8]; byte *_ctlPtr; byte *_field28E; -- cgit v1.2.3 From 03f7fb64dbbdd3d595f15b7fa0f12f42eaee02eb Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Mon, 9 Dec 2013 22:22:32 -0500 Subject: VOYEUR: Implemented the playStamp method --- engines/voyeur/events.cpp | 29 ++++++ engines/voyeur/events.h | 13 ++- engines/voyeur/files.cpp | 75 +++++++++++++++- engines/voyeur/files.h | 21 ++++- engines/voyeur/sound.cpp | 4 + engines/voyeur/sound.h | 1 + engines/voyeur/voyeur.cpp | 2 + engines/voyeur/voyeur.h | 14 ++- engines/voyeur/voyeur_game.cpp | 196 ++++++++++++++++++++++++++++++++++++++--- 9 files changed, 336 insertions(+), 19 deletions(-) diff --git a/engines/voyeur/events.cpp b/engines/voyeur/events.cpp index 5d347d0964..5edcf22d05 100644 --- a/engines/voyeur/events.cpp +++ b/engines/voyeur/events.cpp @@ -71,6 +71,7 @@ EventsManager::EventsManager(): _intPtr(_gameData), _mouseButton = 0; _fadeStatus = 0; _priorFrameTime = g_system->getMillis(); + _joe = 0; Common::fill(&_keyState[0], &_keyState[256], false); _v2A0A2 = 0; @@ -404,4 +405,32 @@ void EventsManager::mouseOff() { CursorMan.showMouse(false); } +void EventsManager::getMouseInfo() { + if (_vm->_voy._eCursorOff[58] & 0x10) { + if ((_gameCounter - _joe) > 8) { + _joe = _gameCounter; + + // TODO: Figure out difference between setOneColor and setColor calls + if (_vm->_bob) { + _vm->_bob = false; + //_vm->_graphicsManager.setColor(128, 55, 5, 5); + _vm->_graphicsManager.setColor(128, 220, 20, 20); + } else { + _vm->_bob = true; + //_vm->_graphicsManager.setColor(128, 55, 55, 55); + _vm->_graphicsManager.setColor(128, 220, 20, 20); + } + } + } + + _vm->_voy._incriminate = _vm->_voy._newIncriminate; + _vm->_voy._lastInplay = _vm->_voy._newLastInplay; + _vm->_voy._fadeFunc = _vm->_voy._newFadeFunc; + _vm->_voy._fadeICF1 = _vm->_voy._newFadeICF1; +} + +void EventsManager::checkForKey() { + warning("TODO: checkForKey"); +} + } // End of namespace Voyeur diff --git a/engines/voyeur/events.h b/engines/voyeur/events.h index 3cfdca4faa..c7bd52d59a 100644 --- a/engines/voyeur/events.h +++ b/engines/voyeur/events.h @@ -104,16 +104,22 @@ public: int _field437E; int _field4380; int _field4382; - int _field4384; + int _videoEventId; byte *_field4386; int _curICF0; int _curICF1; int _fadeICF0; int _fadeICF1; - int _fadeFunc; + void (*_fadeFunc)(); int _lastInplay; int _incriminate; int _policeEvent; + + // Fields not originally in _voy, but I'm putting in for convenience + int _newIncriminate; + int _newLastInplay; + int _newFadeICF1; + void (*_newFadeFunc)(); }; class IntData { @@ -145,6 +151,7 @@ private: VoyeurEngine *_vm; uint32 _priorFrameTime; uint32 _gameCounter; + uint32 _joe; bool _keyState[256]; int _mouseButton; Common::List _intNodes; @@ -198,6 +205,8 @@ public: void mouseOn(); void mouseOff(); Common::Point getMousePos() { return _mousePos; } + void getMouseInfo(); + void checkForKey(); }; } // End of namespace Voyeur diff --git a/engines/voyeur/files.cpp b/engines/voyeur/files.cpp index c5838637c8..056be5d4c4 100644 --- a/engines/voyeur/files.cpp +++ b/engines/voyeur/files.cpp @@ -1316,6 +1316,18 @@ ThreadResource::ThreadResource(BoltFilesState &state, const byte *src): _flags = src[8]; } +void ThreadResource::initThreadStruct(int idx, int id) { + _controlIndex = -1; + if (loadAStack(idx)) { + _field4 = _field6 = -1; + _threadId = id; + _field3A = -1; + _field3E = -1; + + doState(); + } +} + bool ThreadResource::loadAStack(int idx) { if (_stampFlags & 1) { unloadAStack(_controlIndex); @@ -1348,8 +1360,18 @@ bool ThreadResource::doState() { if (!getStateInfo()) return false; - warning("TODO: stm_doState"); - return true; + getButtonsFlags(); + getField1CE(); + + _vm->_glGoScene = -1; + _vm->_glGoStack = -1; + + performOpenCard(); + if (_field40 & 1) { + return chooseSTAMPButton(_vm->getRandomNumber(_field42 - 1)); + } else { + return true; + } } bool ThreadResource::getStateInfo() { @@ -1393,7 +1415,7 @@ void ThreadResource::getButtonsText() { if (*p == 0xC0) { ++p; if (*p++ & 0x80) { - assert(idx < 7); + assert(idx < 63); _field8E[idx] = getRecordOffset(p); p += 4; } @@ -1404,6 +1426,35 @@ void ThreadResource::getButtonsText() { } } +void ThreadResource::getButtonsFlags() { + int idx = 0; + + for (const byte *p = _field4A; *p != 0x49; p = getNextRecord(p)) { + if (*p == 0xC0) { + if (*++p & 0x20) + _field40 |= 2; + + _field4E[idx] = *p++; + _field18E[idx] = *p++; + + if (_field4E[idx] & 0x80) + p += 4; + + ++idx; + } + } +} + +void ThreadResource::getField1CE() { + int idx = 0; + + for (const byte *p = _field4A; *p != 0x49; p = getNextRecord(p)) { + assert(idx < 47); + _field1CE[idx++] = getRecordOffset(p); + _field1CE[idx] = NULL; + } +} + void ThreadResource::unloadAllStacks(VoyeurEngine *vm) { if (_stampFlags & 1) { for (int i = 0; i < 8; ++i) { @@ -1413,6 +1464,15 @@ void ThreadResource::unloadAllStacks(VoyeurEngine *vm) { } } +void ThreadResource::performOpenCard() { + for (const byte *p = _field4A; *p != 0x49; p = getNextRecord(p)) { + if (*p == 0x47) { + cardAction(p + 1); + return; + } + } +} + void ThreadResource::initUseCount() { Common::fill(&_useCount[0], &_useCount[8], 0); } @@ -1467,6 +1527,15 @@ const byte *ThreadResource::getNextRecord(const byte *p) { } } +void ThreadResource::cardAction(const byte *p) { + warning("TODO: cardAction"); +} + +bool ThreadResource::chooseSTAMPButton(int idx) { + warning("TODO: chooseSTAMPButton"); + return false; +} + /*------------------------------------------------------------------------*/ PtrResource::PtrResource(BoltFilesState &state, const byte *src) { diff --git a/engines/voyeur/files.h b/engines/voyeur/files.h index 13023f80fb..f79c723733 100644 --- a/engines/voyeur/files.h +++ b/engines/voyeur/files.h @@ -424,8 +424,12 @@ private: bool getStateInfo(); byte *getDataOffset(); void getButtonsText(); + void getButtonsFlags(); + void getField1CE(); + void performOpenCard(); const byte *getRecordOffset(const byte *p); const byte *getNextRecord(const byte *p); + void cardAction(const byte *p); public: VoyeurEngine *_vm; @@ -441,17 +445,30 @@ public: int _field44; uint32 _field46; byte *_field4A; - const byte *_field8E[8]; - + byte _field4E[64]; + const byte *_field8E[64]; + byte _field18E[64]; + const byte *_field1CE[48]; byte *_ctlPtr; byte *_field28E; public: ThreadResource(BoltFilesState &state, const byte *src); virtual ~ThreadResource() {} + void initThreadStruct(int idx, int id); bool loadAStack(int idx); void unloadAStack(int idx); bool doState(); + + bool chooseSTAMPButton(int idx); + void parsePlayCommands(); + int doInterface(); + void doRoom(); + int doApt(); + void doTapePlaying(); + void checkForMurder(); + void checkForIncriminate(); + }; } // End of namespace Voyeur diff --git a/engines/voyeur/sound.cpp b/engines/voyeur/sound.cpp index baba45fb45..f30fc649b8 100644 --- a/engines/voyeur/sound.cpp +++ b/engines/voyeur/sound.cpp @@ -51,4 +51,8 @@ void SoundManager::abortVOCMap() { _mixer->stopHandle(_soundHandle); } +void SoundManager::stopVOCPlay() { + warning("TODO: stopVOCPlay()"); +} + } // End of namespace Voyeur diff --git a/engines/voyeur/sound.h b/engines/voyeur/sound.h index 0784b9274e..6f233e66d2 100644 --- a/engines/voyeur/sound.h +++ b/engines/voyeur/sound.h @@ -43,6 +43,7 @@ public: void playVOCMap(byte *voc, int vocSize); bool vocMapStatus(); void continueVocMap(); + void stopVOCPlay(); void abortVOCMap(); }; diff --git a/engines/voyeur/voyeur.cpp b/engines/voyeur/voyeur.cpp index 7312728c24..58e94866b1 100644 --- a/engines/voyeur/voyeur.cpp +++ b/engines/voyeur/voyeur.cpp @@ -41,6 +41,8 @@ VoyeurEngine::VoyeurEngine(OSystem *syst, const VoyeurGameDescription *gameDesc) _bVoy = NULL; _iForceDeath = -1; _controlPtr = NULL; + _bob = false; + _playStamp1 = _playStamp2 = 0; initialiseManagers(); } diff --git a/engines/voyeur/voyeur.h b/engines/voyeur/voyeur.h index bf84893495..a2bde98e72 100644 --- a/engines/voyeur/voyeur.h +++ b/engines/voyeur/voyeur.h @@ -84,7 +84,14 @@ private: void playStamp(); void initStamp(); void closeStamp(); - void initThreadStruct(ThreadResource *thread, int idx, int id); + void reviewTape(); + bool doGossip(); + int doApt(); + void doTapePlaying(); + bool checkForMurder(); + void checkForIncriminate(); + void playAVideoEvent(int eventId); + int getChooseButton(); protected: // Engine APIs virtual Common::Error run(); @@ -103,6 +110,11 @@ public: ControlResource *_controlPtr; byte *_stampData; BoltGroup *_stackGroupPtr; + int _glGoScene; + int _glGoStack; + bool _bob; + int _playStamp1; + int _playStamp2; public: VoyeurEngine(OSystem *syst, const VoyeurGameDescription *gameDesc); virtual ~VoyeurEngine(); diff --git a/engines/voyeur/voyeur_game.cpp b/engines/voyeur/voyeur_game.cpp index 0401704d3c..4545a73416 100644 --- a/engines/voyeur/voyeur_game.cpp +++ b/engines/voyeur/voyeur_game.cpp @@ -45,7 +45,7 @@ void VoyeurEngine::playStamp() { PtrResource *threadsList = _stampLibPtr->boltEntry(3)._ptrResource; ThreadResource *threadP = threadsList->_entries[0]->_threadResource; - initThreadStruct(threadP, 0, 0); + threadP->initThreadStruct(0, 0); _voy._delaySecs = 0; _eventsManager._videoComputerNum = 9; @@ -53,9 +53,159 @@ void VoyeurEngine::playStamp() { _eventsManager._v2A0A2 = 0; _voy._eCursorOff[53] = 1; + int buttonId; bool breakFlag = false; while (!breakFlag && !shouldQuit()) { - breakFlag = true; + _eventsManager.getMouseInfo(); + _playStamp1 = _playStamp2 = -1; + _eventsManager._videoComputerBut4 = -1; + + threadP->parsePlayCommands(); + + bool flag = breakFlag = (_voy._eCursorOff[58] & 2) != 0; + + switch (_voy._eCursorOff[54]) { + case 5: + buttonId = threadP->doInterface(); + + if (buttonId == -2) { + switch (doApt()) { + case 0: + _voy._eCursorOff[55] = 140; + break; + case 1: + _voy._eCursorOff[58] = -2; + _voy._eCursorOff[53] = 1; + threadP->chooseSTAMPButton(22); + _voy._eCursorOff[55] = 143; + break; + case 2: + _voy._eCursorOff[58] = -2; + reviewTape(); + _voy._eCursorOff[53] = 1; + _voy._eCursorOff[55] = 142; + break; + case 3: + _voy._eCursorOff[58] = -2; + threadP->chooseSTAMPButton(21); + break; + case 4: + breakFlag = true; + break; + case 5: + doGossip(); + _voy._eCursorOff[53] = 1; + _voy._eCursorOff[55] = 141; + _voy._eCursorOff[58] = -1; + break; + default: + break; + } + } else { + threadP->chooseSTAMPButton(buttonId); + } + break; + + case 6: + threadP->doRoom(); + break; + + case 16: + _voy._eCursorOff[56] = 17; + buttonId = threadP->doApt(); + + switch (buttonId) { + case 1: + threadP->chooseSTAMPButton(22); + flag = true; + break; + case 2: + reviewTape(); + _voy._eCursorOff[53] = 1; + break; + case 4: + flag = true; + breakFlag = true; + break; + default: + break; + } + break; + + case 17: + doTapePlaying(); + if (!checkForMurder() && _voy._eCursorOff[56] <= 15) + checkForIncriminate(); + + if (_voy._videoEventId != -1) + playAVideoEvent(_voy._videoEventId); + _voy._eCursorOff[58] &= 0x10; + threadP->chooseSTAMPButton(0); + break; + + case 130: { + //_tmflag = 1; + if (_bVoy->getBoltGroup(_playStamp1)) { + _graphicsManager._backgroundPage = _bVoy->boltEntry(_playStamp1)._picResource; + _graphicsManager._backColors = _bVoy->boltEntry(_playStamp1 + 1)._cMapResource; + + int buttonId = getChooseButton(); + if (_voy._fadeFunc) + buttonId = 4; + + _bVoy->freeBoltGroup(_playStamp1); + _graphicsManager.screenReset(); + _playStamp1 = -1; + flag = true; + + if (buttonId == 4) { + _voy._eCursorOff[54] = 131; + _eventsManager.checkForKey(); + threadP->chooseSTAMPButton(buttonId); + flag = true; + } else { + threadP->chooseSTAMPButton(buttonId); + _voy._eCursorOff[53] = 1; + } + } + break; + } + + default: + break; + } + + do { + if (flag) { + if (_playStamp2 != -1) { + _soundManager.stopVOCPlay(); + _playStamp2 = -1; + } + + _eventsManager._videoComputerBut4 = -1; + + if (_voy._eCursorOff[59] != -1) { + _bVoy->freeBoltGroup(_voy._eCursorOff[59]); + _voy._eCursorOff[59] = -1; + } + + if (_playStamp1 != -1) { + _bVoy->freeBoltGroup(_playStamp1); + _playStamp1 = -1; + } + + // Break out of loop + flag = false; + + } else if (threadP->_field40 == 2) { + _eventsManager.getMouseInfo(); + threadP->chooseSTAMPButton(0); + flag = true; + } else { + threadP->chooseSTAMPButton(0); + flag = true; + } + } while (flag); } _voy._field4386 = 0; @@ -78,16 +228,40 @@ void VoyeurEngine::closeStamp() { ThreadResource::unloadAllStacks(this); } -void VoyeurEngine::initThreadStruct(ThreadResource *thread, int idx, int id) { - thread->_controlIndex = -1; - if (thread->loadAStack(idx)) { - thread->_field4 = thread->_field6 = -1; - thread->_threadId = id; - thread->_field3A = -1; - thread->_field3E = -1; +void VoyeurEngine::reviewTape() { + warning("TODO: reviewTape"); +} - thread->doState(); - } +bool VoyeurEngine::doGossip() { + warning("TODO: doGossip"); + return false; +} + +int VoyeurEngine::doApt() { + warning("TODO"); + return 0; +} + +void VoyeurEngine::doTapePlaying() { + warning("TODO"); +} + +bool VoyeurEngine::checkForMurder() { + warning("TODO"); + return false; +} + +void VoyeurEngine::checkForIncriminate() { + warning("TODO"); +} + +void VoyeurEngine::playAVideoEvent(int eventId) { + warning("TODO"); +} + +int VoyeurEngine::getChooseButton() { + warning("TODO"); + return 0; } } // End of namespace Voyeur -- cgit v1.2.3 From 9cb1122a989b255e8944c07afdeed2175b2ee5cc Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Mon, 9 Dec 2013 22:28:53 -0500 Subject: VOYEUR: Implement stubs for thread methods needed by playStamp --- engines/voyeur/files.cpp | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/engines/voyeur/files.cpp b/engines/voyeur/files.cpp index 056be5d4c4..6b0fc772d1 100644 --- a/engines/voyeur/files.cpp +++ b/engines/voyeur/files.cpp @@ -1536,6 +1536,24 @@ bool ThreadResource::chooseSTAMPButton(int idx) { return false; } +void ThreadResource::parsePlayCommands() { + +} + +int ThreadResource::doApt() { + warning("TODO: doApt"); + return 0; +} + +void ThreadResource::doRoom() { + warning("TODO: doRoom"); +} + +int ThreadResource::doInterface() { + warning("TODO: doInterface"); + return 0; +} + /*------------------------------------------------------------------------*/ PtrResource::PtrResource(BoltFilesState &state, const byte *src) { -- cgit v1.2.3 From 573e2c143dd34658c23f9c5820bb8eac0262ad9b Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Tue, 10 Dec 2013 09:19:54 -0500 Subject: VOYEUR: Start of implementing parsePlayCommands --- engines/voyeur/events.cpp | 19 ++++++++- engines/voyeur/events.h | 40 ++++++++++-------- engines/voyeur/files.cpp | 93 +++++++++++++++++++++++++++++++++++++++++- engines/voyeur/files.h | 3 +- engines/voyeur/sound.cpp | 16 ++++++++ engines/voyeur/sound.h | 4 ++ engines/voyeur/staticres.cpp | 6 +++ engines/voyeur/staticres.h | 2 + engines/voyeur/voyeur.cpp | 23 +++++------ engines/voyeur/voyeur.h | 1 + engines/voyeur/voyeur_game.cpp | 50 +++++++++++------------ 11 files changed, 201 insertions(+), 56 deletions(-) diff --git a/engines/voyeur/events.cpp b/engines/voyeur/events.cpp index 5edcf22d05..67471ad1b8 100644 --- a/engines/voyeur/events.cpp +++ b/engines/voyeur/events.cpp @@ -42,6 +42,19 @@ IntNode::IntNode(uint16 curTime, uint16 timeReset, uint16 flags) { _flags = flags; } +/*------------------------------------------------------------------------*/ + +VoyeurEvent::VoyeurEvent(int v1, int v2, int v3, int v4, int v5, int v6, int v7) { + _computerNum = v1; + _computerBut[0] = v2; + _computerBut[1] = v3; + _computerBut[2] = v4; + _computerBut[3] = v5; + _computerOn = v6; + _dead = v7; +} + + /*------------------------------------------------------------------------*/ IntData::IntData() { @@ -406,7 +419,7 @@ void EventsManager::mouseOff() { } void EventsManager::getMouseInfo() { - if (_vm->_voy._eCursorOff[58] & 0x10) { + if (_vm->_voy._field478 & 0x10) { if ((_gameCounter - _joe) > 8) { _joe = _gameCounter; @@ -433,4 +446,8 @@ void EventsManager::checkForKey() { warning("TODO: checkForKey"); } +void EventsManager::startCursorBlink() { + error("TODO: startCursorBlink"); +} + } // End of namespace Voyeur diff --git a/engines/voyeur/events.h b/engines/voyeur/events.h index c7bd52d59a..62ae6fd079 100644 --- a/engines/voyeur/events.h +++ b/engines/voyeur/events.h @@ -57,6 +57,8 @@ public: int _computerOn; int _computerOff; int _dead; +public: + VoyeurEvent(int v1, int v2, int v3, int v4, int v5, int v6, int v7); }; class SVoy { @@ -65,21 +67,25 @@ public: int _RTANum; int _RTVNum; int _switchBGNum; - int _group; - const int *_resolvePtr; - int _seconds; - int _minutes; - int _hours; - int _morning; - int _timeChangeFlag; - int _totalSeconds; - int _gameSeconds; - int _vCursorOn[160]; - int _vCursorOff[160]; - int _aCursorOn[60]; - int _aCursorOff[60]; - int _eCursorOn[60]; - int _eCursorOff[60]; + int _arr1[8][20]; + int _arr2[8][20]; + int _arr3[3][20]; + int _arr4[3][20]; + int _arr5[3][20]; + int _arr6[3][20]; + int _arr7[20]; + + int _field468; + int _field46A; + int _vocSecondsOffset; + int _field46E; + int _field470; + int _field472; + int _field474; + int _field478; + int _field47A; + int _field4F2; + int _timeStart; int _duration; int _vidStart; @@ -96,7 +102,8 @@ public: int _phones[5]; int _numPhonesUsed; int _evidence[20]; - VoyeurEvent _events[1000]; + + Common::Array _events; int _field4376; int _field4378; int _field437A; @@ -207,6 +214,7 @@ public: Common::Point getMousePos() { return _mousePos; } void getMouseInfo(); void checkForKey(); + void startCursorBlink(); }; } // End of namespace Voyeur diff --git a/engines/voyeur/files.cpp b/engines/voyeur/files.cpp index 6b0fc772d1..c8db3395f4 100644 --- a/engines/voyeur/files.cpp +++ b/engines/voyeur/files.cpp @@ -23,6 +23,7 @@ #include "voyeur/files.h" #include "voyeur/graphics.h" #include "voyeur/voyeur.h" +#include "voyeur/staticres.h" namespace Voyeur { @@ -1390,7 +1391,7 @@ bool ThreadResource::getStateInfo() { byte *baseP = _ctlPtr + fld; _field42 = READ_LE_UINT16(baseP); _field40 = READ_LE_UINT16(baseP + 2); - _field44 = READ_LE_UINT16(baseP + 4); + _parseCount = READ_LE_UINT16(baseP + 4); _field28E = getDataOffset(); _field28E += READ_LE_UINT32(baseP + 6) / 2; @@ -1536,10 +1537,93 @@ bool ThreadResource::chooseSTAMPButton(int idx) { return false; } +#define GET_WORD READ_LE_UINT16(dataP); dataP += 2; {} + void ThreadResource::parsePlayCommands() { + Common::fill(&_vm->_voy._arr1[0][0], &_vm->_voy._arr1[8][20], 0); + Common::fill(&_vm->_voy._arr2[0][0], &_vm->_voy._arr2[8][20], 0); + Common::fill(&_vm->_voy._arr3[0][0], &_vm->_voy._arr3[3][20], 9999); + Common::fill(&_vm->_voy._arr4[0][0], &_vm->_voy._arr4[3][20], 0); + Common::fill(&_vm->_voy._arr5[0][0], &_vm->_voy._arr5[3][20], 9999); + Common::fill(&_vm->_voy._arr6[0][0], &_vm->_voy._arr6[3][20], 0); + Common::fill(&_vm->_voy._arr7[0], &_vm->_voy._arr7[20], 0); + + byte *dataP = _field28E; + int v2; + for (int parseIndex = 0; parseIndex < _parseCount; ++parseIndex) { + uint16 id = GET_WORD; + + switch (id) { + case 0: + _vm->_playStamp2 = READ_LE_UINT16(dataP); + dataP += 2; + break; + case 1: + v2 = GET_WORD; + if (v2 == 0 || READ_LE_UINT16(_vm->_controlPtr->_ptr + 4) == 0) { + _vm->_eventsManager._videoComputerBut4 = READ_LE_UINT16(dataP); + _vm->_voy._field468 = READ_LE_UINT16(dataP + 2); + _vm->_voy._field46A = READ_LE_UINT16(dataP + 4); + + if (_vm->_voy._RTVNum < _vm->_voy._field468 || + (_vm->_voy._field468 + _vm->_voy._field46A) < _vm->_voy._RTVNum) { + _vm->_eventsManager._videoComputerBut4 = -1; + } else { + _vm->_voy._vocSecondsOffset = _vm->_voy._RTVNum - _vm->_voy._field468; + addAudioEventStart(); + + assert(_vm->_eventsManager._videoComputerBut4 < 38); + _vm->_graphicsManager._backgroundPage = _vm->_bVoy->boltEntry( + 0x7F00 + BLIND_TABLE[_vm->_eventsManager._videoComputerBut4])._picResource; + _vm->_graphicsManager._backColors = _vm->_bVoy->boltEntry(0x7F01 + + BLIND_TABLE[_vm->_eventsManager._videoComputerBut4])._cMapResource; + + (*_vm->_graphicsManager._vPort)->setupViewPort(); + _vm->_graphicsManager._backColors->startFade(); + (*_vm->_graphicsManager._vPort)->_flags |= 8; + _vm->_graphicsManager.flipPage(); + _vm->_eventsManager.sWaitFlip(); + + while (!_vm->shouldQuit() && (_vm->_eventsManager._fadeStatus & 1)) + _vm->_eventsManager.delay(1); + + _vm->_voy._field478 = -2; + _vm->_soundManager.setVOCOffset(_vm->_voy._vocSecondsOffset * 11025); + Common::String filename = _vm->_soundManager.getVOCFileName( + _vm->_eventsManager._videoComputerBut4 + 159); + _vm->_soundManager.startVOCPlay(filename); + _vm->_voy._field478 |= 16; + _vm->_eventsManager.startCursorBlink(); + + while (!_vm->shouldQuit() && !_vm->_voy._incriminate && + _vm->_soundManager.getVOCStatus()) + _vm->_eventsManager.delay(1); + + _vm->_voy._field478 |= 1; + _vm->_soundManager.stopVOCPlay(); + addAudioEventEnd(); + _vm->_eventsManager.incrementTime(1); + _vm->_eventsManager.incrementTime(1); + + _vm->_bVoy->freeBoltGroup(0x17F00); + _vm->_voy._field478 = -17; + _vm->_eventsManager._videoComputerBut4 = -1; + _vm->_voy._field470 = 129; + parseIndex = 999; + } + } + + dataP += 6; + break; + default: + break; + } + } } +#undef GET_WORD + int ThreadResource::doApt() { warning("TODO: doApt"); return 0; @@ -1554,6 +1638,13 @@ int ThreadResource::doInterface() { return 0; } +void ThreadResource::addAudioEventStart() { + _vm->_voy._events.push_back(VoyeurEvent(_vm->_eventsManager._videoComputerNum, + _vm->_eventsManager._videoComputerBut1, _vm->_voy._delaySecs, 2, + _vm->_eventsManager._videoComputerBut4, _vm->_voy._vocSecondsOffset, + _vm->_eventsManager._videoDead)); +} + /*------------------------------------------------------------------------*/ PtrResource::PtrResource(BoltFilesState &state, const byte *src) { diff --git a/engines/voyeur/files.h b/engines/voyeur/files.h index f79c723733..12791cb8c0 100644 --- a/engines/voyeur/files.h +++ b/engines/voyeur/files.h @@ -430,6 +430,7 @@ private: const byte *getRecordOffset(const byte *p); const byte *getNextRecord(const byte *p); void cardAction(const byte *p); + void addAudioEventStart(); public: VoyeurEngine *_vm; @@ -442,7 +443,7 @@ public: int _field3E; int _field40; int _field42; - int _field44; + int _parseCount; uint32 _field46; byte *_field4A; byte _field4E[64]; diff --git a/engines/voyeur/sound.cpp b/engines/voyeur/sound.cpp index f30fc649b8..752a35dcc8 100644 --- a/engines/voyeur/sound.cpp +++ b/engines/voyeur/sound.cpp @@ -55,4 +55,20 @@ void SoundManager::stopVOCPlay() { warning("TODO: stopVOCPlay()"); } +void SoundManager::setVOCOffset(int offset) { + error("TODO: setVOCOffset"); +} + +Common::String SoundManager::getVOCFileName(int idx) { + error("TODO: getVOCFileName"); +} + +void SoundManager::startVOCPlay(const Common::String &filename) { + error("TODO: startVOCPlay"); +} + +int SoundManager::getVOCStatus() { + error("TODO: getVOCStatus"); +} + } // End of namespace Voyeur diff --git a/engines/voyeur/sound.h b/engines/voyeur/sound.h index 6f233e66d2..6de9804b8a 100644 --- a/engines/voyeur/sound.h +++ b/engines/voyeur/sound.h @@ -45,6 +45,10 @@ public: void continueVocMap(); void stopVOCPlay(); void abortVOCMap(); + void setVOCOffset(int offset); + Common::String getVOCFileName(int idx); + void startVOCPlay(const Common::String &filename); + int getVOCStatus(); }; } // End of namespace Voyeur diff --git a/engines/voyeur/staticres.cpp b/engines/voyeur/staticres.cpp index a3a76b679f..f64cbdcc45 100644 --- a/engines/voyeur/staticres.cpp +++ b/engines/voyeur/staticres.cpp @@ -43,4 +43,10 @@ const int RESOLVE_TABLE[] = { 0x7500 }; +const int BLIND_TABLE[] = { + 0, 1, 2, 3, 4, 5, 6, 7, 8, 0, 9, 10, 11, 1, 11, 5, 12, + 13, 16, 15, 16, 17, 18, 5, 6, 18, 17, 13, 13, 14, 14, + 5, 12, 6, 6, 13, 14, 13 +}; + } // End of namespace Voyeur diff --git a/engines/voyeur/staticres.h b/engines/voyeur/staticres.h index 704ea35012..4cd00e4b7a 100644 --- a/engines/voyeur/staticres.h +++ b/engines/voyeur/staticres.h @@ -31,6 +31,8 @@ extern const int COMPUTER_DEFAULTS[]; extern const int RESOLVE_TABLE[]; +extern const int BLIND_TABLE[]; + } // End of namespace Voyeur #endif diff --git a/engines/voyeur/voyeur.cpp b/engines/voyeur/voyeur.cpp index 58e94866b1..184026a044 100644 --- a/engines/voyeur/voyeur.cpp +++ b/engines/voyeur/voyeur.cpp @@ -91,7 +91,7 @@ Common::Error VoyeurEngine::run() { _eventsManager.resetMouse(); if (doHeadTitle()) { if (_iForceDeath >= 1 && _iForceDeath <= 4) - _voy._eCursorOff[58] |= 0x80; + _voy._field478 |= 0x80; playStamp(); } @@ -131,12 +131,11 @@ void VoyeurEngine::globalInitBolt() { // Setup default flags Common::fill((byte *)&_voy, (byte *)&_voy + sizeof(SVoy), 0); - _voy._eCursorOff[0x74 / 2] = 1; - _voy._eCursorOff[0x68 / 2] = 0; + _voy._field478 = 1; _voy._field4376 = NULL; // Original set 63h:63h - _voy._evidence[19] = 0; - _voy._evidence[17] = 0; - _voy._evidence[18] = 9999; + _voy._field4F2 = 9999; + _voy._field472 = -1; + _voy._field478 = 256; _voy._curICF0 = _graphicsManager._palFlag ? 0xFFFFA5E0 : 0x5F90; _eventsManager.addFadeInt(); @@ -184,7 +183,7 @@ bool VoyeurEngine::doHeadTitle() { _voy._incriminate = false; } - if (_voy._eCursorOff[58] & 0x80) { + if (_voy._field478 & 0x80) { // TODO: Check when these are called, and the two different loops. // Also, comptuerNu isn't an array in IDB? /* @@ -197,7 +196,7 @@ bool VoyeurEngine::doHeadTitle() { */ } - _voy._eCursorOff[55] = 140; + _voy._field472 = 140; return true; } @@ -483,17 +482,17 @@ void VoyeurEngine::doOpening() { int frmaeIndex = 0; int creditShow = 1; - _voy._eCursorOff[52] = 0; + _voy._vocSecondsOffset = 0; _voy._RTVNum = 0; - _voy._eCursorOff[50] = _voy._RTVNum; - _voy._eCursorOff[58] = 16; + _voy._field468 = _voy._RTVNum; + _voy._field478 = 16; _eventsManager._videoComputerNum = 4; _eventsManager._videoComputerBut1 = 0; _eventsManager._videoComputerBut4 = 1; _eventsManager._videoDead = -1; addVideoEventStart(); - _voy._eCursorOff[58] &= ~1; + _voy._field478 &= ~1; for (int i = 0; i < 256; ++i) _graphicsManager.setColor(i, 8, 8, 8); diff --git a/engines/voyeur/voyeur.h b/engines/voyeur/voyeur.h index a2bde98e72..9edabbf687 100644 --- a/engines/voyeur/voyeur.h +++ b/engines/voyeur/voyeur.h @@ -115,6 +115,7 @@ public: bool _bob; int _playStamp1; int _playStamp2; + const int *_resolvePtr; public: VoyeurEngine(OSystem *syst, const VoyeurGameDescription *gameDesc); virtual ~VoyeurEngine(); diff --git a/engines/voyeur/voyeur_game.cpp b/engines/voyeur/voyeur_game.cpp index 4545a73416..1d453e36f4 100644 --- a/engines/voyeur/voyeur_game.cpp +++ b/engines/voyeur/voyeur_game.cpp @@ -40,7 +40,7 @@ void VoyeurEngine::playStamp() { _filesManager.openBoltLib("stampblt.blt", _stampLibPtr); _stampLibPtr->getBoltGroup(0x10000); - _voy._resolvePtr = &RESOLVE_TABLE[0]; + _resolvePtr = &RESOLVE_TABLE[0]; initStamp(); PtrResource *threadsList = _stampLibPtr->boltEntry(3)._ptrResource; @@ -51,7 +51,7 @@ void VoyeurEngine::playStamp() { _eventsManager._videoComputerNum = 9; _eventsManager._videoComputerBut1 = 0; _eventsManager._v2A0A2 = 0; - _voy._eCursorOff[53] = 1; + _voy._field46E = 1; int buttonId; bool breakFlag = false; @@ -62,31 +62,31 @@ void VoyeurEngine::playStamp() { threadP->parsePlayCommands(); - bool flag = breakFlag = (_voy._eCursorOff[58] & 2) != 0; - - switch (_voy._eCursorOff[54]) { + bool flag = breakFlag = (_voy._field478 & 2) != 0; + + switch (_voy._field470) { case 5: buttonId = threadP->doInterface(); if (buttonId == -2) { switch (doApt()) { case 0: - _voy._eCursorOff[55] = 140; + _voy._field472 = 140; break; case 1: - _voy._eCursorOff[58] = -2; - _voy._eCursorOff[53] = 1; + _voy._field478 = -2; + _voy._field46E = 1; threadP->chooseSTAMPButton(22); - _voy._eCursorOff[55] = 143; + _voy._field472 = 143; break; case 2: - _voy._eCursorOff[58] = -2; + _voy._field478 = -2; reviewTape(); - _voy._eCursorOff[53] = 1; - _voy._eCursorOff[55] = 142; + _voy._field46E = 1; + _voy._field472 = 142; break; case 3: - _voy._eCursorOff[58] = -2; + _voy._field478 = -2; threadP->chooseSTAMPButton(21); break; case 4: @@ -94,9 +94,9 @@ void VoyeurEngine::playStamp() { break; case 5: doGossip(); - _voy._eCursorOff[53] = 1; - _voy._eCursorOff[55] = 141; - _voy._eCursorOff[58] = -1; + _voy._field46E = 1; + _voy._field472 = 141; + _voy._field478 = -1; break; default: break; @@ -111,7 +111,7 @@ void VoyeurEngine::playStamp() { break; case 16: - _voy._eCursorOff[56] = 17; + _voy._field474 = 17; buttonId = threadP->doApt(); switch (buttonId) { @@ -121,7 +121,7 @@ void VoyeurEngine::playStamp() { break; case 2: reviewTape(); - _voy._eCursorOff[53] = 1; + _voy._field46E = 1; break; case 4: flag = true; @@ -134,12 +134,12 @@ void VoyeurEngine::playStamp() { case 17: doTapePlaying(); - if (!checkForMurder() && _voy._eCursorOff[56] <= 15) + if (!checkForMurder() && _voy._field474 <= 15) checkForIncriminate(); if (_voy._videoEventId != -1) playAVideoEvent(_voy._videoEventId); - _voy._eCursorOff[58] &= 0x10; + _voy._field478 &= 0x10; threadP->chooseSTAMPButton(0); break; @@ -159,13 +159,13 @@ void VoyeurEngine::playStamp() { flag = true; if (buttonId == 4) { - _voy._eCursorOff[54] = 131; + _voy._field470 = 131; _eventsManager.checkForKey(); threadP->chooseSTAMPButton(buttonId); flag = true; } else { threadP->chooseSTAMPButton(buttonId); - _voy._eCursorOff[53] = 1; + _voy._field46E = 1; } } break; @@ -184,9 +184,9 @@ void VoyeurEngine::playStamp() { _eventsManager._videoComputerBut4 = -1; - if (_voy._eCursorOff[59] != -1) { - _bVoy->freeBoltGroup(_voy._eCursorOff[59]); - _voy._eCursorOff[59] = -1; + if (_voy._field47A != -1) { + _bVoy->freeBoltGroup(_voy._field47A); + _voy._field47A = -1; } if (_playStamp1 != -1) { -- cgit v1.2.3 From 966065269574f258d6106e2a48f23b6d5cf6da9a Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Tue, 10 Dec 2013 20:47:05 -0500 Subject: VOYEUR: More of parsePlayCommands implemented --- engines/voyeur/events.cpp | 4 ++++ engines/voyeur/events.h | 1 + engines/voyeur/files.cpp | 29 +++++++++++++++++++++++++++-- engines/voyeur/files.h | 1 + engines/voyeur/voyeur.cpp | 4 ++++ engines/voyeur/voyeur.h | 1 + 6 files changed, 38 insertions(+), 2 deletions(-) diff --git a/engines/voyeur/events.cpp b/engines/voyeur/events.cpp index 67471ad1b8..6dbd7de4a5 100644 --- a/engines/voyeur/events.cpp +++ b/engines/voyeur/events.cpp @@ -450,4 +450,8 @@ void EventsManager::startCursorBlink() { error("TODO: startCursorBlink"); } +void EventsManager::incrementTime(int amt) { + error("TODO: incrementTime"); +} + } // End of namespace Voyeur diff --git a/engines/voyeur/events.h b/engines/voyeur/events.h index 62ae6fd079..5c33beec61 100644 --- a/engines/voyeur/events.h +++ b/engines/voyeur/events.h @@ -215,6 +215,7 @@ public: void getMouseInfo(); void checkForKey(); void startCursorBlink(); + void incrementTime(int amt); }; } // End of namespace Voyeur diff --git a/engines/voyeur/files.cpp b/engines/voyeur/files.cpp index c8db3395f4..4f2cfbf6c3 100644 --- a/engines/voyeur/files.cpp +++ b/engines/voyeur/files.cpp @@ -1555,11 +1555,12 @@ void ThreadResource::parsePlayCommands() { uint16 id = GET_WORD; switch (id) { - case 0: + case 1: _vm->_playStamp2 = READ_LE_UINT16(dataP); dataP += 2; break; - case 1: + + case 2: v2 = GET_WORD; if (v2 == 0 || READ_LE_UINT16(_vm->_controlPtr->_ptr + 4) == 0) { _vm->_eventsManager._videoComputerBut4 = READ_LE_UINT16(dataP); @@ -1616,6 +1617,26 @@ void ThreadResource::parsePlayCommands() { dataP += 6; break; + + case 3: + break; + + case 4: + case 22: + _vm->_eventsManager._videoComputerBut4 = READ_LE_UINT16(dataP) - 1; + dataP += 2; + + // TODO: Original had a block here that would never be executed + + _vm->_voy._vocSecondsOffset = 0; + _vm->_voy._field468 = _vm->_voy._RTVNum; + _vm->_voy._field478 &= ~0x11; + _vm->playAVideo(_vm->_eventsManager._videoComputerBut4); + _vm->_voy._field478 |= 1; + _vm->_eventsManager._videoComputerBut4 = -1; + parseIndex = 999; + break; + default: break; } @@ -1645,6 +1666,10 @@ void ThreadResource::addAudioEventStart() { _vm->_eventsManager._videoDead)); } +void ThreadResource::addAudioEventEnd() { + error("TODO: addAudioEventEnd"); +} + /*------------------------------------------------------------------------*/ PtrResource::PtrResource(BoltFilesState &state, const byte *src) { diff --git a/engines/voyeur/files.h b/engines/voyeur/files.h index 12791cb8c0..4dc95fd7e7 100644 --- a/engines/voyeur/files.h +++ b/engines/voyeur/files.h @@ -431,6 +431,7 @@ private: const byte *getNextRecord(const byte *p); void cardAction(const byte *p); void addAudioEventStart(); + void addAudioEventEnd(); public: VoyeurEngine *_vm; diff --git a/engines/voyeur/voyeur.cpp b/engines/voyeur/voyeur.cpp index 184026a044..6409bbbc0f 100644 --- a/engines/voyeur/voyeur.cpp +++ b/engines/voyeur/voyeur.cpp @@ -590,4 +590,8 @@ void VoyeurEngine::doTransitionCard(const Common::String &time, const Common::St _eventsManager.sWaitFlip(); } +void VoyeurEngine::playAVideo(int id) { + warning("TODO: playAVideo"); +} + } // End of namespace Voyeur diff --git a/engines/voyeur/voyeur.h b/engines/voyeur/voyeur.h index 9edabbf687..2619a5115d 100644 --- a/engines/voyeur/voyeur.h +++ b/engines/voyeur/voyeur.h @@ -136,6 +136,7 @@ public: void playRL2Video(const Common::String &filename); void doTransitionCard(const Common::String &time, const Common::String &location); + void playAVideo(int id); }; } // End of namespace Voyeur -- cgit v1.2.3 From 10be9a527be4f6a0ac74cb8f916e93da712730c6 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Tue, 10 Dec 2013 21:34:48 -0500 Subject: VOYEUR: Split ThreadResource into it's own file --- engines/voyeur/files_threads.cpp | 392 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 392 insertions(+) create mode 100644 engines/voyeur/files_threads.cpp diff --git a/engines/voyeur/files_threads.cpp b/engines/voyeur/files_threads.cpp new file mode 100644 index 0000000000..bb58bcd7bb --- /dev/null +++ b/engines/voyeur/files_threads.cpp @@ -0,0 +1,392 @@ +/* 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 "voyeur/files.h" +#include "voyeur/graphics.h" +#include "voyeur/voyeur.h" +#include "voyeur/staticres.h" + +namespace Voyeur { + +int ThreadResource::_stampFlags = 0; +int ThreadResource::_useCount[8]; +byte *ThreadResource::_threadDataPtr = NULL; + +ThreadResource::ThreadResource(BoltFilesState &state, const byte *src): + _vm(state._vm) { + _flags = src[8]; +} + +void ThreadResource::initThreadStruct(int idx, int id) { + _controlIndex = -1; + if (loadAStack(idx)) { + _field4 = _field6 = -1; + _threadId = id; + _field3A = -1; + _field3E = -1; + + doState(); + } +} + +bool ThreadResource::loadAStack(int idx) { + if (_stampFlags & 1) { + unloadAStack(_controlIndex); + if (!_useCount[idx]) { + BoltEntry &boltEntry = _vm->_stampLibPtr->boltEntry(_vm->_controlPtr->_memberIds[idx]); + if (!boltEntry._data) + return false; + + _vm->_controlPtr->_entries[idx] = boltEntry._data; + } + + ++_useCount[idx]; + } + + _ctlPtr = _vm->_controlPtr->_entries[idx]; + return true; +} + +void ThreadResource::unloadAStack(int idx) { + if ((_stampFlags & 1) && _useCount[idx]) { + if (--_useCount[idx] == 0) { + _vm->_stampLibPtr->freeBoltMember(_vm->_controlPtr->_memberIds[idx]); + } + } +} + +bool ThreadResource::doState() { + _flags |= 1; + + if (!getStateInfo()) + return false; + + getButtonsFlags(); + getField1CE(); + + _vm->_glGoScene = -1; + _vm->_glGoStack = -1; + + performOpenCard(); + if (_field40 & 1) { + return chooseSTAMPButton(_vm->getRandomNumber(_field42 - 1)); + } else { + return true; + } +} + +bool ThreadResource::getStateInfo() { + _field9 = 0; + int id = READ_LE_UINT16(_ctlPtr); + + if (id <= _threadId) { + _field9 |= 0x80; + return false; + } else { + uint32 fld = READ_LE_UINT32(_ctlPtr + 2); + fld += _threadId << 3; + _field46 = READ_LE_UINT32(_ctlPtr + fld + 4); + + fld = READ_LE_UINT32(_ctlPtr + fld); + byte *baseP = _ctlPtr + fld; + _field42 = READ_LE_UINT16(baseP); + _field40 = READ_LE_UINT16(baseP + 2); + _parseCount = READ_LE_UINT16(baseP + 4); + + _field28E = getDataOffset(); + _field28E += READ_LE_UINT32(baseP + 6) / 2; + + _field4A = baseP + 10; + + getButtonsText(); + return true; + } +} + +byte *ThreadResource::getDataOffset() { + uint32 offset = READ_LE_UINT32(_ctlPtr + 10); + _threadDataPtr = _ctlPtr + offset; + return _threadDataPtr; +} + +void ThreadResource::getButtonsText() { + int idx = 0; + + for (const byte *p = _field4A; *p != 0x49; p = getNextRecord(p)) { + if (*p == 0xC0) { + ++p; + if (*p++ & 0x80) { + assert(idx < 63); + _field8E[idx] = getRecordOffset(p); + p += 4; + } + + ++idx; + _field8E[idx] = NULL; + } + } +} + +void ThreadResource::getButtonsFlags() { + int idx = 0; + + for (const byte *p = _field4A; *p != 0x49; p = getNextRecord(p)) { + if (*p == 0xC0) { + if (*++p & 0x20) + _field40 |= 2; + + _field4E[idx] = *p++; + _field18E[idx] = *p++; + + if (_field4E[idx] & 0x80) + p += 4; + + ++idx; + } + } +} + +void ThreadResource::getField1CE() { + int idx = 0; + + for (const byte *p = _field4A; *p != 0x49; p = getNextRecord(p)) { + assert(idx < 47); + _field1CE[idx++] = getRecordOffset(p); + _field1CE[idx] = NULL; + } +} + +void ThreadResource::unloadAllStacks(VoyeurEngine *vm) { + if (_stampFlags & 1) { + for (int i = 0; i < 8; ++i) { + if (_useCount[i]) + vm->_stampLibPtr->freeBoltMember(vm->_controlPtr->_memberIds[i]); + } + } +} + +void ThreadResource::performOpenCard() { + for (const byte *p = _field4A; *p != 0x49; p = getNextRecord(p)) { + if (*p == 0x47) { + cardAction(p + 1); + return; + } + } +} + +void ThreadResource::initUseCount() { + Common::fill(&_useCount[0], &_useCount[8], 0); +} + +const byte *ThreadResource::getRecordOffset(const byte *p) { + uint32 recSize = READ_LE_UINT32(p) + READ_LE_UINT32(p + 6); + return _ctlPtr + recSize; +} + +const byte *ThreadResource::getNextRecord(const byte *p) { + byte v = *p++; + + switch (v) { + case 2: + case 4: + case 6: + case 8: + case 10: + return p + 8; + case 1: + case 3: + case 5: + case 7: + case 9: + case 11: + case 21: + case 22: + case 25: + case 26: + return p + 5; + case 17: + case 23: + case 24: + case 27: + case 28: + return p + 2; + case 19: + case 41: + return p + 6; + case 18: + case 51: + case 52: + return p + 1; + case 74: + return p + 4; + case 192: + if (*p * 0x80) + p += 4; + return p + 2; + default: + return p; + } +} + +void ThreadResource::cardAction(const byte *p) { + warning("TODO: cardAction"); +} + +bool ThreadResource::chooseSTAMPButton(int idx) { + warning("TODO: chooseSTAMPButton"); + return false; +} + +#define GET_WORD READ_LE_UINT16(dataP); dataP += 2; {} + +void ThreadResource::parsePlayCommands() { + Common::fill(&_vm->_voy._arr1[0][0], &_vm->_voy._arr1[8][20], 0); + Common::fill(&_vm->_voy._arr2[0][0], &_vm->_voy._arr2[8][20], 0); + Common::fill(&_vm->_voy._arr3[0][0], &_vm->_voy._arr3[3][20], 9999); + Common::fill(&_vm->_voy._arr4[0][0], &_vm->_voy._arr4[3][20], 0); + Common::fill(&_vm->_voy._arr5[0][0], &_vm->_voy._arr5[3][20], 9999); + Common::fill(&_vm->_voy._arr6[0][0], &_vm->_voy._arr6[3][20], 0); + Common::fill(&_vm->_voy._arr7[0], &_vm->_voy._arr7[20], 0); + + byte *dataP = _field28E; + int v2; + + for (int parseIndex = 0; parseIndex < _parseCount; ++parseIndex) { + uint16 id = GET_WORD; + + switch (id) { + case 1: + _vm->_playStamp2 = READ_LE_UINT16(dataP); + dataP += 2; + break; + + case 2: + v2 = GET_WORD; + if (v2 == 0 || READ_LE_UINT16(_vm->_controlPtr->_ptr + 4) == 0) { + _vm->_eventsManager._videoComputerBut4 = READ_LE_UINT16(dataP); + _vm->_voy._field468 = READ_LE_UINT16(dataP + 2); + _vm->_voy._field46A = READ_LE_UINT16(dataP + 4); + + if (_vm->_voy._RTVNum < _vm->_voy._field468 || + (_vm->_voy._field468 + _vm->_voy._field46A) < _vm->_voy._RTVNum) { + _vm->_eventsManager._videoComputerBut4 = -1; + } else { + _vm->_voy._vocSecondsOffset = _vm->_voy._RTVNum - _vm->_voy._field468; + addAudioEventStart(); + + assert(_vm->_eventsManager._videoComputerBut4 < 38); + _vm->_graphicsManager._backgroundPage = _vm->_bVoy->boltEntry( + 0x7F00 + BLIND_TABLE[_vm->_eventsManager._videoComputerBut4])._picResource; + _vm->_graphicsManager._backColors = _vm->_bVoy->boltEntry(0x7F01 + + BLIND_TABLE[_vm->_eventsManager._videoComputerBut4])._cMapResource; + + (*_vm->_graphicsManager._vPort)->setupViewPort(); + _vm->_graphicsManager._backColors->startFade(); + (*_vm->_graphicsManager._vPort)->_flags |= 8; + _vm->_graphicsManager.flipPage(); + _vm->_eventsManager.sWaitFlip(); + + while (!_vm->shouldQuit() && (_vm->_eventsManager._fadeStatus & 1)) + _vm->_eventsManager.delay(1); + + _vm->_voy._field478 = -2; + _vm->_soundManager.setVOCOffset(_vm->_voy._vocSecondsOffset * 11025); + Common::String filename = _vm->_soundManager.getVOCFileName( + _vm->_eventsManager._videoComputerBut4 + 159); + _vm->_soundManager.startVOCPlay(filename); + _vm->_voy._field478 |= 16; + _vm->_eventsManager.startCursorBlink(); + + while (!_vm->shouldQuit() && !_vm->_voy._incriminate && + _vm->_soundManager.getVOCStatus()) + _vm->_eventsManager.delay(1); + + _vm->_voy._field478 |= 1; + _vm->_soundManager.stopVOCPlay(); + addAudioEventEnd(); + _vm->_eventsManager.incrementTime(1); + _vm->_eventsManager.incrementTime(1); + + _vm->_bVoy->freeBoltGroup(0x17F00); + _vm->_voy._field478 = -17; + _vm->_eventsManager._videoComputerBut4 = -1; + _vm->_voy._field470 = 129; + parseIndex = 999; + } + } + + dataP += 6; + break; + + case 3: + break; + + case 4: + case 22: + _vm->_eventsManager._videoComputerBut4 = READ_LE_UINT16(dataP) - 1; + dataP += 2; + + // TODO: Original had a block here that would never be executed + + _vm->_voy._vocSecondsOffset = 0; + _vm->_voy._field468 = _vm->_voy._RTVNum; + _vm->_voy._field478 &= ~0x11; + _vm->playAVideo(_vm->_eventsManager._videoComputerBut4); + _vm->_voy._field478 |= 1; + _vm->_eventsManager._videoComputerBut4 = -1; + parseIndex = 999; + break; + + default: + break; + } + } +} + +#undef GET_WORD + +int ThreadResource::doApt() { + warning("TODO: doApt"); + return 0; +} + +void ThreadResource::doRoom() { + warning("TODO: doRoom"); +} + +int ThreadResource::doInterface() { + warning("TODO: doInterface"); + return 0; +} + +void ThreadResource::addAudioEventStart() { + _vm->_voy._events.push_back(VoyeurEvent(_vm->_eventsManager._videoComputerNum, + _vm->_eventsManager._videoComputerBut1, _vm->_voy._delaySecs, 2, + _vm->_eventsManager._videoComputerBut4, _vm->_voy._vocSecondsOffset, + _vm->_eventsManager._videoDead)); +} + +void ThreadResource::addAudioEventEnd() { + error("TODO: addAudioEventEnd"); +} + +} // End of namespace Voyeur -- cgit v1.2.3 From d08953ccd94b00c1e74cfb36fb230649c4e58bae Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Wed, 11 Dec 2013 00:11:02 -0500 Subject: VOYEUR: Implemented more of parsePlayCommands --- engines/voyeur/events.h | 6 + engines/voyeur/files.cpp | 375 +-------------------------------------- engines/voyeur/files.h | 4 +- engines/voyeur/files_threads.cpp | 244 ++++++++++++++++++++++++- engines/voyeur/module.mk | 1 + engines/voyeur/staticres.cpp | 25 +++ engines/voyeur/staticres.h | 6 + engines/voyeur/voyeur.cpp | 4 + engines/voyeur/voyeur.h | 3 +- 9 files changed, 296 insertions(+), 372 deletions(-) diff --git a/engines/voyeur/events.h b/engines/voyeur/events.h index 5c33beec61..97927e7d7d 100644 --- a/engines/voyeur/events.h +++ b/engines/voyeur/events.h @@ -82,8 +82,14 @@ public: int _field470; int _field472; int _field474; + int _field476; int _field478; int _field47A; + int _field4E2; + Common::Rect _rect4E4; + int _field4EC; + int _field4EE; + int _field4F0; int _field4F2; int _timeStart; diff --git a/engines/voyeur/files.cpp b/engines/voyeur/files.cpp index 4f2cfbf6c3..9b1a0b186a 100644 --- a/engines/voyeur/files.cpp +++ b/engines/voyeur/files.cpp @@ -242,7 +242,7 @@ BoltFile::~BoltFile() { _state._curFd = NULL; } -bool BoltFile::getBoltGroup(uint32 id) { +BoltGroup *BoltFile::getBoltGroup(uint32 id) { ++_state._fromGroupFlag; _state._curLibPtr = this; _state._curGroupPtr = &_groups[(id >> 8) & 0xff]; @@ -268,7 +268,8 @@ bool BoltFile::getBoltGroup(uint32 id) { resolveAll(); --_state._fromGroupFlag; - return true; + + return _state._curGroupPtr; } void BoltFile::freeBoltGroup(uint32 id) { @@ -929,6 +930,12 @@ void ViewPortResource::setupViewPort() { &GraphicsManager::restoreMCGASaveRect); } +void ViewPortResource::setupViewPort(PictureResource *pic) { + setupViewPort(pic, NULL, + &GraphicsManager::setupMCGASaveRect, &GraphicsManager::addRectOptSaveRect, + &GraphicsManager::restoreMCGASaveRect); +} + int ViewPortResource::drawText(const Common::String &msg) { GraphicsManager &gfxManager = _state._vm->_graphicsManager; assert(gfxManager._fontPtr); @@ -1308,370 +1315,6 @@ VInitCyclResource::VInitCyclResource(BoltFilesState &state, const byte *src) { /*------------------------------------------------------------------------*/ -int ThreadResource::_stampFlags = 0; -int ThreadResource::_useCount[8]; -byte *ThreadResource::_threadDataPtr = NULL; - -ThreadResource::ThreadResource(BoltFilesState &state, const byte *src): - _vm(state._vm) { - _flags = src[8]; -} - -void ThreadResource::initThreadStruct(int idx, int id) { - _controlIndex = -1; - if (loadAStack(idx)) { - _field4 = _field6 = -1; - _threadId = id; - _field3A = -1; - _field3E = -1; - - doState(); - } -} - -bool ThreadResource::loadAStack(int idx) { - if (_stampFlags & 1) { - unloadAStack(_controlIndex); - if (!_useCount[idx]) { - BoltEntry &boltEntry = _vm->_stampLibPtr->boltEntry(_vm->_controlPtr->_memberIds[idx]); - if (!boltEntry._data) - return false; - - _vm->_controlPtr->_entries[idx] = boltEntry._data; - } - - ++_useCount[idx]; - } - - _ctlPtr = _vm->_controlPtr->_entries[idx]; - return true; -} - -void ThreadResource::unloadAStack(int idx) { - if ((_stampFlags & 1) && _useCount[idx]) { - if (--_useCount[idx] == 0) { - _vm->_stampLibPtr->freeBoltMember(_vm->_controlPtr->_memberIds[idx]); - } - } -} - -bool ThreadResource::doState() { - _flags |= 1; - - if (!getStateInfo()) - return false; - - getButtonsFlags(); - getField1CE(); - - _vm->_glGoScene = -1; - _vm->_glGoStack = -1; - - performOpenCard(); - if (_field40 & 1) { - return chooseSTAMPButton(_vm->getRandomNumber(_field42 - 1)); - } else { - return true; - } -} - -bool ThreadResource::getStateInfo() { - _field9 = 0; - int id = READ_LE_UINT16(_ctlPtr); - - if (id <= _threadId) { - _field9 |= 0x80; - return false; - } else { - uint32 fld = READ_LE_UINT32(_ctlPtr + 2); - fld += _threadId << 3; - _field46 = READ_LE_UINT32(_ctlPtr + fld + 4); - - fld = READ_LE_UINT32(_ctlPtr + fld); - byte *baseP = _ctlPtr + fld; - _field42 = READ_LE_UINT16(baseP); - _field40 = READ_LE_UINT16(baseP + 2); - _parseCount = READ_LE_UINT16(baseP + 4); - - _field28E = getDataOffset(); - _field28E += READ_LE_UINT32(baseP + 6) / 2; - - _field4A = baseP + 10; - - getButtonsText(); - return true; - } -} - -byte *ThreadResource::getDataOffset() { - uint32 offset = READ_LE_UINT32(_ctlPtr + 10); - _threadDataPtr = _ctlPtr + offset; - return _threadDataPtr; -} - -void ThreadResource::getButtonsText() { - int idx = 0; - - for (const byte *p = _field4A; *p != 0x49; p = getNextRecord(p)) { - if (*p == 0xC0) { - ++p; - if (*p++ & 0x80) { - assert(idx < 63); - _field8E[idx] = getRecordOffset(p); - p += 4; - } - - ++idx; - _field8E[idx] = NULL; - } - } -} - -void ThreadResource::getButtonsFlags() { - int idx = 0; - - for (const byte *p = _field4A; *p != 0x49; p = getNextRecord(p)) { - if (*p == 0xC0) { - if (*++p & 0x20) - _field40 |= 2; - - _field4E[idx] = *p++; - _field18E[idx] = *p++; - - if (_field4E[idx] & 0x80) - p += 4; - - ++idx; - } - } -} - -void ThreadResource::getField1CE() { - int idx = 0; - - for (const byte *p = _field4A; *p != 0x49; p = getNextRecord(p)) { - assert(idx < 47); - _field1CE[idx++] = getRecordOffset(p); - _field1CE[idx] = NULL; - } -} - -void ThreadResource::unloadAllStacks(VoyeurEngine *vm) { - if (_stampFlags & 1) { - for (int i = 0; i < 8; ++i) { - if (_useCount[i]) - vm->_stampLibPtr->freeBoltMember(vm->_controlPtr->_memberIds[i]); - } - } -} - -void ThreadResource::performOpenCard() { - for (const byte *p = _field4A; *p != 0x49; p = getNextRecord(p)) { - if (*p == 0x47) { - cardAction(p + 1); - return; - } - } -} - -void ThreadResource::initUseCount() { - Common::fill(&_useCount[0], &_useCount[8], 0); -} - -const byte *ThreadResource::getRecordOffset(const byte *p) { - uint32 recSize = READ_LE_UINT32(p) + READ_LE_UINT32(p + 6); - return _ctlPtr + recSize; -} - -const byte *ThreadResource::getNextRecord(const byte *p) { - byte v = *p++; - - switch (v) { - case 2: - case 4: - case 6: - case 8: - case 10: - return p + 8; - case 1: - case 3: - case 5: - case 7: - case 9: - case 11: - case 21: - case 22: - case 25: - case 26: - return p + 5; - case 17: - case 23: - case 24: - case 27: - case 28: - return p + 2; - case 19: - case 41: - return p + 6; - case 18: - case 51: - case 52: - return p + 1; - case 74: - return p + 4; - case 192: - if (*p * 0x80) - p += 4; - return p + 2; - default: - return p; - } -} - -void ThreadResource::cardAction(const byte *p) { - warning("TODO: cardAction"); -} - -bool ThreadResource::chooseSTAMPButton(int idx) { - warning("TODO: chooseSTAMPButton"); - return false; -} - -#define GET_WORD READ_LE_UINT16(dataP); dataP += 2; {} - -void ThreadResource::parsePlayCommands() { - Common::fill(&_vm->_voy._arr1[0][0], &_vm->_voy._arr1[8][20], 0); - Common::fill(&_vm->_voy._arr2[0][0], &_vm->_voy._arr2[8][20], 0); - Common::fill(&_vm->_voy._arr3[0][0], &_vm->_voy._arr3[3][20], 9999); - Common::fill(&_vm->_voy._arr4[0][0], &_vm->_voy._arr4[3][20], 0); - Common::fill(&_vm->_voy._arr5[0][0], &_vm->_voy._arr5[3][20], 9999); - Common::fill(&_vm->_voy._arr6[0][0], &_vm->_voy._arr6[3][20], 0); - Common::fill(&_vm->_voy._arr7[0], &_vm->_voy._arr7[20], 0); - - byte *dataP = _field28E; - int v2; - - for (int parseIndex = 0; parseIndex < _parseCount; ++parseIndex) { - uint16 id = GET_WORD; - - switch (id) { - case 1: - _vm->_playStamp2 = READ_LE_UINT16(dataP); - dataP += 2; - break; - - case 2: - v2 = GET_WORD; - if (v2 == 0 || READ_LE_UINT16(_vm->_controlPtr->_ptr + 4) == 0) { - _vm->_eventsManager._videoComputerBut4 = READ_LE_UINT16(dataP); - _vm->_voy._field468 = READ_LE_UINT16(dataP + 2); - _vm->_voy._field46A = READ_LE_UINT16(dataP + 4); - - if (_vm->_voy._RTVNum < _vm->_voy._field468 || - (_vm->_voy._field468 + _vm->_voy._field46A) < _vm->_voy._RTVNum) { - _vm->_eventsManager._videoComputerBut4 = -1; - } else { - _vm->_voy._vocSecondsOffset = _vm->_voy._RTVNum - _vm->_voy._field468; - addAudioEventStart(); - - assert(_vm->_eventsManager._videoComputerBut4 < 38); - _vm->_graphicsManager._backgroundPage = _vm->_bVoy->boltEntry( - 0x7F00 + BLIND_TABLE[_vm->_eventsManager._videoComputerBut4])._picResource; - _vm->_graphicsManager._backColors = _vm->_bVoy->boltEntry(0x7F01 + - BLIND_TABLE[_vm->_eventsManager._videoComputerBut4])._cMapResource; - - (*_vm->_graphicsManager._vPort)->setupViewPort(); - _vm->_graphicsManager._backColors->startFade(); - (*_vm->_graphicsManager._vPort)->_flags |= 8; - _vm->_graphicsManager.flipPage(); - _vm->_eventsManager.sWaitFlip(); - - while (!_vm->shouldQuit() && (_vm->_eventsManager._fadeStatus & 1)) - _vm->_eventsManager.delay(1); - - _vm->_voy._field478 = -2; - _vm->_soundManager.setVOCOffset(_vm->_voy._vocSecondsOffset * 11025); - Common::String filename = _vm->_soundManager.getVOCFileName( - _vm->_eventsManager._videoComputerBut4 + 159); - _vm->_soundManager.startVOCPlay(filename); - _vm->_voy._field478 |= 16; - _vm->_eventsManager.startCursorBlink(); - - while (!_vm->shouldQuit() && !_vm->_voy._incriminate && - _vm->_soundManager.getVOCStatus()) - _vm->_eventsManager.delay(1); - - _vm->_voy._field478 |= 1; - _vm->_soundManager.stopVOCPlay(); - addAudioEventEnd(); - _vm->_eventsManager.incrementTime(1); - _vm->_eventsManager.incrementTime(1); - - _vm->_bVoy->freeBoltGroup(0x17F00); - _vm->_voy._field478 = -17; - _vm->_eventsManager._videoComputerBut4 = -1; - _vm->_voy._field470 = 129; - parseIndex = 999; - } - } - - dataP += 6; - break; - - case 3: - break; - - case 4: - case 22: - _vm->_eventsManager._videoComputerBut4 = READ_LE_UINT16(dataP) - 1; - dataP += 2; - - // TODO: Original had a block here that would never be executed - - _vm->_voy._vocSecondsOffset = 0; - _vm->_voy._field468 = _vm->_voy._RTVNum; - _vm->_voy._field478 &= ~0x11; - _vm->playAVideo(_vm->_eventsManager._videoComputerBut4); - _vm->_voy._field478 |= 1; - _vm->_eventsManager._videoComputerBut4 = -1; - parseIndex = 999; - break; - - default: - break; - } - } -} - -#undef GET_WORD - -int ThreadResource::doApt() { - warning("TODO: doApt"); - return 0; -} - -void ThreadResource::doRoom() { - warning("TODO: doRoom"); -} - -int ThreadResource::doInterface() { - warning("TODO: doInterface"); - return 0; -} - -void ThreadResource::addAudioEventStart() { - _vm->_voy._events.push_back(VoyeurEvent(_vm->_eventsManager._videoComputerNum, - _vm->_eventsManager._videoComputerBut1, _vm->_voy._delaySecs, 2, - _vm->_eventsManager._videoComputerBut4, _vm->_voy._vocSecondsOffset, - _vm->_eventsManager._videoDead)); -} - -void ThreadResource::addAudioEventEnd() { - error("TODO: addAudioEventEnd"); -} - -/*------------------------------------------------------------------------*/ - PtrResource::PtrResource(BoltFilesState &state, const byte *src) { // Load pointer list uint32 *idP = (uint32 *)&src[0]; diff --git a/engines/voyeur/files.h b/engines/voyeur/files.h index 4dc95fd7e7..5705608e71 100644 --- a/engines/voyeur/files.h +++ b/engines/voyeur/files.h @@ -119,7 +119,7 @@ public: BoltFile(const Common::String &filename, BoltFilesState &state); ~BoltFile(); - bool getBoltGroup(uint32 id); + BoltGroup *getBoltGroup(uint32 id); void freeBoltGroup(uint32 id); void freeBoltMember(uint32 id); byte *memberAddr(uint32 id); @@ -299,6 +299,7 @@ public: virtual ~ViewPortResource(); void setupViewPort(); + void setupViewPort(PictureResource *pic); int drawText(const Common::String &msg); int textWidth(const Common::String &msg); void addSaveRect(int pageIndex, const Common::Rect &r); @@ -432,6 +433,7 @@ private: void cardAction(const byte *p); void addAudioEventStart(); void addAudioEventEnd(); + void addVideoEventEnd(); public: VoyeurEngine *_vm; diff --git a/engines/voyeur/files_threads.cpp b/engines/voyeur/files_threads.cpp index bb58bcd7bb..e89e603a7b 100644 --- a/engines/voyeur/files_threads.cpp +++ b/engines/voyeur/files_threads.cpp @@ -268,7 +268,7 @@ void ThreadResource::parsePlayCommands() { Common::fill(&_vm->_voy._arr7[0], &_vm->_voy._arr7[20], 0); byte *dataP = _field28E; - int v2; + int v2, v3; for (int parseIndex = 0; parseIndex < _parseCount; ++parseIndex) { uint16 id = GET_WORD; @@ -338,6 +338,50 @@ void ThreadResource::parsePlayCommands() { break; case 3: + v2 = GET_WORD; + if (v2 == 0 || READ_LE_UINT16(_vm->_controlPtr->_ptr + 4) == 0) { + _vm->_eventsManager._videoComputerBut4 = READ_LE_UINT16(dataP); + _vm->_voy._field468 = READ_LE_UINT16(dataP + 2); + _vm->_voy._field46A = READ_LE_UINT16(dataP + 4); + + if (_vm->_voy._RTVNum < _vm->_voy._field468 || + (_vm->_voy._field468 + _vm->_voy._field46A) < _vm->_voy._RTVNum) { + _vm->_eventsManager._videoComputerBut4 = -1; + } else { + _vm->_voy._vocSecondsOffset = _vm->_voy._RTVNum - _vm->_voy._field468; + addAudioEventStart(); + _vm->_voy._field478 &= ~1; + _vm->_voy._field478 |= 0x10; + _vm->playAVideo(_vm->_eventsManager._videoComputerBut4); + + _vm->_voy._field478 &= ~0x10; + _vm->_voy._field478 |= 1; + addVideoEventEnd(); + _vm->_eventsManager.incrementTime(1); + + _vm->_eventsManager._videoComputerBut4 = -1; + _vm->_playStamp1 = -1; + + if (_vm->_eventsManager._videoDead != -1) { + _vm->_bVoy->freeBoltGroup(0x10E00); + _vm->_eventsManager._videoDead = -1; + (*_vm->_graphicsManager._vPort)->_flags |= 8; + + _vm->_graphicsManager.flipPage(); + _vm->_eventsManager.sWaitFlip(); + } + + _vm->_eventsManager._videoDead = -1; + if (_field42 == 2 && _vm->_voy._incriminate == 0) { + _vm->_voy._field470 = 132; + parseIndex = 999; + } else { + _vm->_voy._field470 = 129; + } + } + } + + dataP += 6; break; case 4: @@ -345,17 +389,205 @@ void ThreadResource::parsePlayCommands() { _vm->_eventsManager._videoComputerBut4 = READ_LE_UINT16(dataP) - 1; dataP += 2; - // TODO: Original had a block here that would never be executed + if (id == 22) { + int resolveIndex = GET_WORD; + _vm->_playStamp1 = _vm->_resolvePtr[resolveIndex]; + } _vm->_voy._vocSecondsOffset = 0; _vm->_voy._field468 = _vm->_voy._RTVNum; _vm->_voy._field478 &= ~0x11; _vm->playAVideo(_vm->_eventsManager._videoComputerBut4); _vm->_voy._field478 |= 1; - _vm->_eventsManager._videoComputerBut4 = -1; - parseIndex = 999; + + if (id != 2) { + _vm->_eventsManager._videoComputerBut4 = -1; + parseIndex = 999; + } else { + // TODO: Double-check this + int count = _vm->_bVoy->getBoltGroup(_vm->_playStamp1)->_entries.size(); + _vm->_soundManager.stopVOCPlay(); + _vm->_eventsManager.getMouseInfo(); + + for (int i = 0; i < count; ++i) { + PictureResource *pic = _vm->_bVoy->boltEntry(_vm->_playStamp1 + i * 2)._picResource; + CMapResource *pal = _vm->_bVoy->boltEntry(_vm->_playStamp1 + i * 2 + 1)._cMapResource; + + (*_vm->_graphicsManager._vPort)->setupViewPort(pic); + pal->startFade(); + + (*_vm->_graphicsManager._vPort)->_flags |= 8; + _vm->_graphicsManager.flipPage(); + _vm->_eventsManager.sWaitFlip(); + + while (!_vm->shouldQuit() && (_vm->_eventsManager._fadeStatus & 1)) + _vm->_eventsManager.delay(1); + + if (i > 0) { + _vm->_bVoy->freeBoltMember(_vm->_playStamp1 + i * 2); + _vm->_bVoy->freeBoltMember(_vm->_playStamp1 + i * 2 + 1); + } + + Common::String file = Common::String::format("news%d.voc", i + 1); + _vm->_soundManager.startVOCPlay(file); + + while (!_vm->shouldQuit() && !_vm->_voy._incriminate && + _vm->_soundManager.getVOCStatus()) { + _vm->_eventsManager.delay(1); + _vm->_eventsManager.getMouseInfo(); + } + + _vm->_soundManager.stopVOCPlay(); + + if (i == (count - 1)) + _vm->_eventsManager.delay(480); + + if (_vm->shouldQuit() || _vm->_voy._incriminate) + break; + } + + _vm->_bVoy->freeBoltGroup(_vm->_playStamp1); + _vm->_playStamp1 = -1; + _vm->_eventsManager._videoComputerBut4 = -1; + parseIndex = 999; + } break; + case 5: + v2 = READ_LE_UINT16(dataP); + if (v2 == 0 || READ_LE_UINT16(_vm->_controlPtr->_ptr + 4) == 0) { + _vm->_voy._field470 = 5; + int count = READ_LE_UINT16(dataP + 2); + _vm->_voy._field476 = READ_LE_UINT16(dataP + 4); + + if (_vm->_voy._field474 != count) { + if (_vm->_voy._field474 > 1) + _vm->_voy._field478 &= ~0x100; + + _vm->_voy._field474 = count; + _vm->_eventsManager._videoComputerBut1 = LEVEL_M[count - 1]; + _vm->_eventsManager._videoComputerNum = LEVEL_H[count - 1]; + //_vm->_v2A0A2 = 0; + _vm->_voy._RTVNum = 0; + _vm->_voy._RTANum = 255; + } + + _vm->_voy._delaySecs = (_vm->_voy._field474 == 6) ? 1 : 0; + } + + dataP += 6; + break; + + case 6: + _vm->_voy._field470 = 6; + v2 = GET_WORD; + _vm->_playStamp1 = _vm->_resolvePtr[v2]; + break; + + case 7: + v2 = READ_LE_UINT16(dataP); + v3 = READ_LE_UINT16(dataP + 2) - 1; + + if (v2 == 0 || READ_LE_UINT16(_vm->_controlPtr->_ptr + 4) == 0) { + int idx = 0; + while (_vm->_voy._arr1[idx][v3] != 9999) + ++idx; + + _vm->_voy._arr1[idx][v3] = READ_LE_UINT16(dataP + 4) + READ_LE_UINT16(dataP + 6); + _vm->_voy._arr2[idx][v3] = v3; + } + + dataP += 8; + break; + + case 8: + v2 = READ_LE_UINT16(dataP); + v3 = READ_LE_UINT16(dataP + 2) - 1; + + if (v2 == 0 || READ_LE_UINT16(_vm->_controlPtr->_ptr + 4) == 0) { + int idx = 0; + while (_vm->_voy._arr3[idx][v3] != 9999) + ++idx; + + _vm->_voy._arr3[idx][v3] = READ_LE_UINT16(dataP + 4) + READ_LE_UINT16(dataP + 6); + _vm->_voy._arr4[idx][v3] = v3; + } + + dataP += 8; + break; + + case 9: + v2 = READ_LE_UINT16(dataP); + v3 = READ_LE_UINT16(dataP + 2) - 1; + + if (v2 == 0 || READ_LE_UINT16(_vm->_controlPtr->_ptr + 4) == 0) { + int idx = 0; + while (_vm->_voy._arr5[idx][v3] != 9999) + ++idx; + + _vm->_voy._arr5[idx][v3] = READ_LE_UINT16(dataP + 4) + READ_LE_UINT16(dataP + 6); + _vm->_voy._arr6[idx][v3] = v3; + } + + dataP += 8; + break; + + case 10: + if (_vm->_iForceDeath == -1) { + int randomVal; + do { + randomVal = _vm->getRandomNumber(3); + } while (randomVal == _vm->_voy._field4380); + + _vm->_voy._field4380 = randomVal; + WRITE_LE_UINT16(_vm->_controlPtr->_ptr + 4, randomVal); + } else { + _vm->_voy._field4380 = _vm->_iForceDeath; + WRITE_LE_UINT16(_vm->_controlPtr->_ptr + 4, _vm->_iForceDeath); + } + + _vm->saveLastInplay(); + break; + + case 11: + _vm->_voy._field478 = 2; + break; + + case 12: + v2 = READ_LE_UINT16(dataP); + + if (v2 == 0 || READ_LE_UINT16(_vm->_controlPtr->_ptr + 4) == 0) { + _vm->_voy._field47A = _vm->_resolvePtr[READ_LE_UINT16(dataP + 2)]; + _vm->_voy._arr7[READ_LE_UINT16(dataP + 4) - 1] = 1; + } + + dataP += 6; + break; + + case 13: + v2 = READ_LE_UINT16(dataP); + + if (v2 == 0 || READ_LE_UINT16(_vm->_controlPtr->_ptr + 4) == 0) { + _vm->_voy._field4E2 = READ_LE_UINT16(dataP + 2); + _vm->_voy._field4EC = READ_LE_UINT16(dataP + 4); + _vm->_voy._field4EE = READ_LE_UINT16(dataP + 6); + + _vm->_voy._rect4E4.left = COMP_BUT_TABLE[_vm->_voy._field4E2 * 4]; + _vm->_voy._rect4E4.top = COMP_BUT_TABLE[_vm->_voy._field4E2 * 4 + 1]; + _vm->_voy._rect4E4.right = COMP_BUT_TABLE[_vm->_voy._field4E2 * 4 + 2]; + _vm->_voy._rect4E4.bottom = COMP_BUT_TABLE[_vm->_voy._field4E2 * 4 + 3]; + } + + dataP += 8; + break; + + case 14: + _vm->_playStamp1 = 2048; + _vm->_voy._field470 = 130; + break; + + // TODO: More + default: break; } @@ -389,4 +621,8 @@ void ThreadResource::addAudioEventEnd() { error("TODO: addAudioEventEnd"); } +void ThreadResource::addVideoEventEnd() { + error("TODO: addVideoEventEnd"); +} + } // End of namespace Voyeur diff --git a/engines/voyeur/module.mk b/engines/voyeur/module.mk index 1562624fbb..c52502d2e2 100644 --- a/engines/voyeur/module.mk +++ b/engines/voyeur/module.mk @@ -6,6 +6,7 @@ MODULE_OBJS := \ detection.o \ events.o \ files.o \ + files_threads.o \ graphics.o \ sound.o \ staticres.o \ diff --git a/engines/voyeur/staticres.cpp b/engines/voyeur/staticres.cpp index f64cbdcc45..f5dd561758 100644 --- a/engines/voyeur/staticres.cpp +++ b/engines/voyeur/staticres.cpp @@ -43,10 +43,35 @@ const int RESOLVE_TABLE[] = { 0x7500 }; +const int LEVEL_H[] = { + 4, 7, 7, 8, 9, 10, 2, 2, 4, 8, 8, 9, 9, 10, 10, 11, 11 +}; + +const int LEVEL_M[] = { + 0, 0, 30, 0, 30, 0, 0, 0, 30, 0, 30, 0, 45, 0, 30, 0, 30 +}; + const int BLIND_TABLE[] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 0, 9, 10, 11, 1, 11, 5, 12, 13, 16, 15, 16, 17, 18, 5, 6, 18, 17, 13, 13, 14, 14, 5, 12, 6, 6, 13, 14, 13 }; +const int COMP_BUT_TABLE[] = { + 269, 128, 307, 163, + 269, 128, 307, 163, + 68, 79, 98, 102, + 68, 79, 98, 102, + 68, 79, 98, 102, + 68, 79, 98, 102, + 248, 138, 291, 163, + 83, 132, 143, 156, + 248, 138, 291, 163, + 83, 132, 143, 156, + 83, 132, 143, 156, + 248, 138, 291, 163, + 68, 79, 98, 102, + 68, 79, 98, 102 +}; + } // End of namespace Voyeur diff --git a/engines/voyeur/staticres.h b/engines/voyeur/staticres.h index 4cd00e4b7a..e9c4164848 100644 --- a/engines/voyeur/staticres.h +++ b/engines/voyeur/staticres.h @@ -31,8 +31,14 @@ extern const int COMPUTER_DEFAULTS[]; extern const int RESOLVE_TABLE[]; +extern const int LEVEL_H[]; + +extern const int LEVEL_M[]; + extern const int BLIND_TABLE[]; +extern const int COMP_BUT_TABLE[]; + } // End of namespace Voyeur #endif diff --git a/engines/voyeur/voyeur.cpp b/engines/voyeur/voyeur.cpp index 6409bbbc0f..9d5c6a34e1 100644 --- a/engines/voyeur/voyeur.cpp +++ b/engines/voyeur/voyeur.cpp @@ -594,4 +594,8 @@ void VoyeurEngine::playAVideo(int id) { warning("TODO: playAVideo"); } +void VoyeurEngine::saveLastInplay() { + error("TODO: saveLastInplay"); +} + } // End of namespace Voyeur diff --git a/engines/voyeur/voyeur.h b/engines/voyeur/voyeur.h index 2619a5115d..7a585297a7 100644 --- a/engines/voyeur/voyeur.h +++ b/engines/voyeur/voyeur.h @@ -65,7 +65,6 @@ private: Common::RandomSource _randomSource; Common::Array _resolves; FontInfoResource _defaultFontInfo; - int _iForceDeath; void ESP_Init(); void initialiseManagers(); @@ -116,6 +115,7 @@ public: int _playStamp1; int _playStamp2; const int *_resolvePtr; + int _iForceDeath; public: VoyeurEngine(OSystem *syst, const VoyeurGameDescription *gameDesc); virtual ~VoyeurEngine(); @@ -137,6 +137,7 @@ public: void playRL2Video(const Common::String &filename); void doTransitionCard(const Common::String &time, const Common::String &location); void playAVideo(int id); + void saveLastInplay(); }; } // End of namespace Voyeur -- cgit v1.2.3 From 7f5a5606a53ac4e17f4465b0e127dc2a44531cbe Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Wed, 11 Dec 2013 21:46:06 -0500 Subject: VOYEUR: Implemented remainder of parsePlayCommands --- engines/voyeur/files.h | 2 +- engines/voyeur/files_threads.cpp | 115 ++++++++++++++++++++++++++++++++++++++- engines/voyeur/voyeur.h | 2 + engines/voyeur/voyeur_game.cpp | 8 +++ 4 files changed, 123 insertions(+), 4 deletions(-) diff --git a/engines/voyeur/files.h b/engines/voyeur/files.h index 5705608e71..f32cbdf6ea 100644 --- a/engines/voyeur/files.h +++ b/engines/voyeur/files.h @@ -418,7 +418,7 @@ public: static int _stampFlags; static int _useCount[8]; static byte *_threadDataPtr; - + static CMapResource *_cmd14Pal; static void initUseCount(); static void unloadAllStacks(VoyeurEngine *vm); private: diff --git a/engines/voyeur/files_threads.cpp b/engines/voyeur/files_threads.cpp index e89e603a7b..a65710245e 100644 --- a/engines/voyeur/files_threads.cpp +++ b/engines/voyeur/files_threads.cpp @@ -30,6 +30,7 @@ namespace Voyeur { int ThreadResource::_stampFlags = 0; int ThreadResource::_useCount[8]; byte *ThreadResource::_threadDataPtr = NULL; +CMapResource *ThreadResource::_cmd14Pal = NULL; ThreadResource::ThreadResource(BoltFilesState &state, const byte *src): _vm(state._vm) { @@ -269,6 +270,8 @@ void ThreadResource::parsePlayCommands() { byte *dataP = _field28E; int v2, v3; + PictureResource *pic; + CMapResource *pal; for (int parseIndex = 0; parseIndex < _parseCount; ++parseIndex) { uint16 id = GET_WORD; @@ -410,8 +413,8 @@ void ThreadResource::parsePlayCommands() { _vm->_eventsManager.getMouseInfo(); for (int i = 0; i < count; ++i) { - PictureResource *pic = _vm->_bVoy->boltEntry(_vm->_playStamp1 + i * 2)._picResource; - CMapResource *pal = _vm->_bVoy->boltEntry(_vm->_playStamp1 + i * 2 + 1)._cMapResource; + pic = _vm->_bVoy->boltEntry(_vm->_playStamp1 + i * 2)._picResource; + pal = _vm->_bVoy->boltEntry(_vm->_playStamp1 + i * 2 + 1)._cMapResource; (*_vm->_graphicsManager._vPort)->setupViewPort(pic); pal->startFade(); @@ -586,7 +589,113 @@ void ThreadResource::parsePlayCommands() { _vm->_voy._field470 = 130; break; - // TODO: More + case 15: + _vm->_playStamp1 = (_vm->_voy._field4382 - 1) * 8 + 0x7700; + _vm->_voy._field47A = ((READ_LE_UINT16(_vm->_controlPtr->_ptr + 4) + - 1) << 8) + 0x7B00; + + pic = _vm->_bVoy->boltEntry(_vm->_playStamp1)._picResource; + _cmd14Pal = _vm->_bVoy->boltEntry(_vm->_playStamp1 + 1)._cMapResource; + + (*_vm->_graphicsManager._vPort)->setupViewPort(pic); + _cmd14Pal->startFade(); + + (*_vm->_graphicsManager._vPort)->_flags |= 8; + _vm->_graphicsManager.flipPage(); + _vm->_eventsManager.sWaitFlip(); + + while (!_vm->shouldQuit() && (_vm->_eventsManager._fadeStatus & 1)) + _vm->_eventsManager.delay(1); + _vm->_eventsManager.getMouseInfo(); + + for (int idx = 1; idx < 4; ++idx) { + if (idx == 3) { + pic = _vm->_bVoy->boltEntry(_vm->_voy._field47A)._picResource; + _cmd14Pal = _vm->_bVoy->boltEntry(_vm->_voy._field47A + 1)._cMapResource; + } else { + pic = _vm->_bVoy->boltEntry(_vm->_playStamp1 + idx * 2)._picResource; + _cmd14Pal = _vm->_bVoy->boltEntry(_vm->_playStamp1 + idx * 2 + 1)._cMapResource; + } + + (*_vm->_graphicsManager._vPort)->setupViewPort(pic); + _cmd14Pal->startFade(); + + (*_vm->_graphicsManager._vPort)->_flags |= 8; + _vm->_graphicsManager.flipPage(); + _vm->_eventsManager.sWaitFlip(); + + while (!_vm->shouldQuit() && (_vm->_eventsManager._fadeStatus & 1)) + _vm->_eventsManager.delay(1); + + _vm->_bVoy->freeBoltMember(_vm->_playStamp1 + (idx - 1) * 2); + _vm->_bVoy->freeBoltMember(_vm->_playStamp1 + (idx - 1) * 2 + 1); + + Common::String fname = Common::String::format("news%d.voc", idx); + + while (!_vm->shouldQuit() && !_vm->_voy._incriminate && + _vm->_soundManager.getVOCStatus()) + _vm->_eventsManager.delay(1); + + _vm->_soundManager.stopVOCPlay(); + if (idx == 3) + _vm->_eventsManager.delay(3); + + if (_vm->shouldQuit() || _vm->_voy._incriminate) + break; + } + + _vm->_bVoy->freeBoltGroup(_vm->_playStamp1); + _vm->_bVoy->freeBoltGroup(_vm->_voy._field47A); + _vm->_playStamp1 = -1; + _vm->_voy._field47A = -1; + break; + + case 16: + _vm->_voy._field470 = 16; + break; + + case 17: + _vm->_voy._field470 = 17; + break; + + case 18: + v2 = READ_LE_UINT16(dataP); + v3 = READ_LE_UINT16(dataP + 2); + + if (v2 == 0 || READ_LE_UINT16(_vm->_controlPtr->_ptr + 4) == 0) + _vm->_voy._field4F2 = v3; + + dataP += 4; + break; + + case 19: + _vm->_voy._field472 = 140; + _vm->loadTheApt(); + _vm->_voy._field472 = 141; + _vm->freeTheApt(); + break; + + case 20: + _vm->_voy._field472 = -1; + _vm->loadTheApt(); + _vm->_voy._field472 = 141; + _vm->freeTheApt(); + break; + + case 21: + _vm->_voy._field472 = -1; + _vm->loadTheApt(); + _vm->_voy._field472 = 140; + _vm->freeTheApt(); + break; + + case 23: + _vm->_voy._field474 = 17; + _vm->_voy._field472 = -1; + _vm->loadTheApt(); + _vm->_voy._field472 = 144; + _vm->freeTheApt(); + break; default: break; diff --git a/engines/voyeur/voyeur.h b/engines/voyeur/voyeur.h index 7a585297a7..675200ee33 100644 --- a/engines/voyeur/voyeur.h +++ b/engines/voyeur/voyeur.h @@ -138,6 +138,8 @@ public: void doTransitionCard(const Common::String &time, const Common::String &location); void playAVideo(int id); void saveLastInplay(); + void loadTheApt(); + void freeTheApt(); }; } // End of namespace Voyeur diff --git a/engines/voyeur/voyeur_game.cpp b/engines/voyeur/voyeur_game.cpp index 1d453e36f4..616a0b89a7 100644 --- a/engines/voyeur/voyeur_game.cpp +++ b/engines/voyeur/voyeur_game.cpp @@ -264,4 +264,12 @@ int VoyeurEngine::getChooseButton() { return 0; } +void VoyeurEngine::loadTheApt() { + error("TODO: loadTheApt"); +} + +void VoyeurEngine::freeTheApt() { + error("TODO: freeTheApt"); +} + } // End of namespace Voyeur -- cgit v1.2.3 From d5762b5332d0031cd3e4327fb868d8358dcaf7c2 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Wed, 11 Dec 2013 21:51:33 -0500 Subject: VOYEUR: Removed use of GET_WORD macro in parsePlayCommands --- engines/voyeur/files_threads.cpp | 35 ++++++++++++++++++----------------- 1 file changed, 18 insertions(+), 17 deletions(-) diff --git a/engines/voyeur/files_threads.cpp b/engines/voyeur/files_threads.cpp index a65710245e..dc9d014992 100644 --- a/engines/voyeur/files_threads.cpp +++ b/engines/voyeur/files_threads.cpp @@ -257,8 +257,6 @@ bool ThreadResource::chooseSTAMPButton(int idx) { return false; } -#define GET_WORD READ_LE_UINT16(dataP); dataP += 2; {} - void ThreadResource::parsePlayCommands() { Common::fill(&_vm->_voy._arr1[0][0], &_vm->_voy._arr1[8][20], 0); Common::fill(&_vm->_voy._arr2[0][0], &_vm->_voy._arr2[8][20], 0); @@ -274,7 +272,8 @@ void ThreadResource::parsePlayCommands() { CMapResource *pal; for (int parseIndex = 0; parseIndex < _parseCount; ++parseIndex) { - uint16 id = GET_WORD; + uint16 id = READ_LE_UINT16(dataP); + dataP += 2; switch (id) { case 1: @@ -283,11 +282,12 @@ void ThreadResource::parsePlayCommands() { break; case 2: - v2 = GET_WORD; + v2 = READ_LE_UINT16(dataP); + if (v2 == 0 || READ_LE_UINT16(_vm->_controlPtr->_ptr + 4) == 0) { - _vm->_eventsManager._videoComputerBut4 = READ_LE_UINT16(dataP); - _vm->_voy._field468 = READ_LE_UINT16(dataP + 2); - _vm->_voy._field46A = READ_LE_UINT16(dataP + 4); + _vm->_eventsManager._videoComputerBut4 = READ_LE_UINT16(dataP + 2); + _vm->_voy._field468 = READ_LE_UINT16(dataP + 4); + _vm->_voy._field46A = READ_LE_UINT16(dataP + 6); if (_vm->_voy._RTVNum < _vm->_voy._field468 || (_vm->_voy._field468 + _vm->_voy._field46A) < _vm->_voy._RTVNum) { @@ -337,15 +337,16 @@ void ThreadResource::parsePlayCommands() { } } - dataP += 6; + dataP += 8; break; case 3: - v2 = GET_WORD; + v2 = READ_LE_UINT16(dataP); + if (v2 == 0 || READ_LE_UINT16(_vm->_controlPtr->_ptr + 4) == 0) { - _vm->_eventsManager._videoComputerBut4 = READ_LE_UINT16(dataP); - _vm->_voy._field468 = READ_LE_UINT16(dataP + 2); - _vm->_voy._field46A = READ_LE_UINT16(dataP + 4); + _vm->_eventsManager._videoComputerBut4 = READ_LE_UINT16(dataP + 2); + _vm->_voy._field468 = READ_LE_UINT16(dataP + 4); + _vm->_voy._field46A = READ_LE_UINT16(dataP + 6); if (_vm->_voy._RTVNum < _vm->_voy._field468 || (_vm->_voy._field468 + _vm->_voy._field46A) < _vm->_voy._RTVNum) { @@ -384,7 +385,7 @@ void ThreadResource::parsePlayCommands() { } } - dataP += 6; + dataP += 8; break; case 4: @@ -393,7 +394,8 @@ void ThreadResource::parsePlayCommands() { dataP += 2; if (id == 22) { - int resolveIndex = GET_WORD; + int resolveIndex = READ_LE_UINT16(dataP); + dataP += 2; _vm->_playStamp1 = _vm->_resolvePtr[resolveIndex]; } @@ -483,8 +485,9 @@ void ThreadResource::parsePlayCommands() { case 6: _vm->_voy._field470 = 6; - v2 = GET_WORD; + v2 = READ_LE_UINT16(dataP); _vm->_playStamp1 = _vm->_resolvePtr[v2]; + dataP += 2; break; case 7: @@ -703,8 +706,6 @@ void ThreadResource::parsePlayCommands() { } } -#undef GET_WORD - int ThreadResource::doApt() { warning("TODO: doApt"); return 0; -- cgit v1.2.3 From 7f018dafd5e56285e40d834de17447de3894a148 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Wed, 11 Dec 2013 22:20:48 -0500 Subject: VOYEUR: Bugfixes for getField1CE method --- engines/voyeur/files_threads.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/engines/voyeur/files_threads.cpp b/engines/voyeur/files_threads.cpp index dc9d014992..0c0e9aba9e 100644 --- a/engines/voyeur/files_threads.cpp +++ b/engines/voyeur/files_threads.cpp @@ -169,10 +169,11 @@ void ThreadResource::getButtonsFlags() { void ThreadResource::getField1CE() { int idx = 0; - for (const byte *p = _field4A; *p != 0x49; p = getNextRecord(p)) { + for (const byte *p = _field4A; *p++ != 0x49; p = getNextRecord(p)) { assert(idx < 47); _field1CE[idx++] = getRecordOffset(p); _field1CE[idx] = NULL; + p += 4; } } @@ -199,7 +200,7 @@ void ThreadResource::initUseCount() { } const byte *ThreadResource::getRecordOffset(const byte *p) { - uint32 recSize = READ_LE_UINT32(p) + READ_LE_UINT32(p + 6); + uint32 recSize = READ_LE_UINT32(p) + READ_LE_UINT32(_ctlPtr + 6); return _ctlPtr + recSize; } -- cgit v1.2.3 From ae7bb13f20889c402b55f7d9ef55223b3437da06 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Wed, 11 Dec 2013 22:36:40 -0500 Subject: VOYEUR: Fix loading of ControlResource --- engines/voyeur/files.cpp | 2 +- engines/voyeur/files_threads.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/engines/voyeur/files.cpp b/engines/voyeur/files.cpp index 9b1a0b186a..c725169140 100644 --- a/engines/voyeur/files.cpp +++ b/engines/voyeur/files.cpp @@ -1333,7 +1333,7 @@ PtrResource::PtrResource(BoltFilesState &state, const byte *src) { ControlResource::ControlResource(BoltFilesState &state, const byte *src) { // Get pointer uint32 ptrId = READ_LE_UINT32(&src[0x32]); - _ptr = state._curLibPtr->getBoltEntryFromLong(ptrId)._data; + state._curLibPtr->resolveIt(ptrId, &_ptr); for (int i = 0; i < 8; ++i) _memberIds[i] = READ_LE_UINT16(src + i * 2); diff --git a/engines/voyeur/files_threads.cpp b/engines/voyeur/files_threads.cpp index 0c0e9aba9e..a437f012c7 100644 --- a/engines/voyeur/files_threads.cpp +++ b/engines/voyeur/files_threads.cpp @@ -543,7 +543,7 @@ void ThreadResource::parsePlayCommands() { if (_vm->_iForceDeath == -1) { int randomVal; do { - randomVal = _vm->getRandomNumber(3); + randomVal = _vm->getRandomNumber(3) + 1; } while (randomVal == _vm->_voy._field4380); _vm->_voy._field4380 = randomVal; -- cgit v1.2.3 From 888f35fe5edb2c9de74651f2ba4be1975470bd0f Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Wed, 11 Dec 2013 22:57:51 -0500 Subject: VOYEUR: Implemented the saveLastInplay method --- engines/voyeur/utils.cpp | 6 +++--- engines/voyeur/voyeur.cpp | 6 +++++- engines/voyeur/voyeur.h | 4 ++++ 3 files changed, 12 insertions(+), 4 deletions(-) diff --git a/engines/voyeur/utils.cpp b/engines/voyeur/utils.cpp index 5c861389d9..74470dc6c7 100644 --- a/engines/voyeur/utils.cpp +++ b/engines/voyeur/utils.cpp @@ -30,7 +30,7 @@ LockTime::LockTime() { } void LockClass::getSysDate() { - + // May not be needed for ScummVM } void LockClass::getThePassword() { @@ -41,11 +41,11 @@ void LockClass::getThePassword() { fieldC = -1; // TODO: Original loaded 'VOYEUR.DAT' here to get most recent game's password. - // We'll want to transform this to proper savegames in ScummVM + // but since we allow seperate savegames in ScummVM, this is somewhat deprecated. } void LockClass::saveThePassword() { - //TODO + // May not be needed for ScummVM } Common::String LockClass::getDateString() { diff --git a/engines/voyeur/voyeur.cpp b/engines/voyeur/voyeur.cpp index 9d5c6a34e1..3b924fe759 100644 --- a/engines/voyeur/voyeur.cpp +++ b/engines/voyeur/voyeur.cpp @@ -595,7 +595,11 @@ void VoyeurEngine::playAVideo(int id) { } void VoyeurEngine::saveLastInplay() { - error("TODO: saveLastInplay"); + LockClass lock; + lock.getThePassword(); + lock.fieldC = _voy._field4380; + lock.getSysDate(); + lock.saveThePassword(); } } // End of namespace Voyeur diff --git a/engines/voyeur/voyeur.h b/engines/voyeur/voyeur.h index 675200ee33..248d150022 100644 --- a/engines/voyeur/voyeur.h +++ b/engines/voyeur/voyeur.h @@ -137,6 +137,10 @@ public: void playRL2Video(const Common::String &filename); void doTransitionCard(const Common::String &time, const Common::String &location); void playAVideo(int id); + + /** + * Saves the last time the game was played + */ void saveLastInplay(); void loadTheApt(); void freeTheApt(); -- cgit v1.2.3 From dfd4e765f2072a108308be183427504c2efad643 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Thu, 12 Dec 2013 08:51:13 -0500 Subject: VOYEUR: Implementing code for chooseSTAMPButton and sub-methods --- engines/voyeur/files.h | 10 +++- engines/voyeur/files_threads.cpp | 118 +++++++++++++++++++++++++++++++++++++-- engines/voyeur/voyeur_game.cpp | 2 +- 3 files changed, 124 insertions(+), 6 deletions(-) diff --git a/engines/voyeur/files.h b/engines/voyeur/files.h index f32cbdf6ea..e753b1d4c0 100644 --- a/engines/voyeur/files.h +++ b/engines/voyeur/files.h @@ -430,10 +430,18 @@ private: void performOpenCard(); const byte *getRecordOffset(const byte *p); const byte *getNextRecord(const byte *p); + const byte *getSTAMPCard(int cardId); + int getStateFromID(uint32 id); + uint32 getSID(int sid); void cardAction(const byte *p); + void doSTAMPCardAction(); void addAudioEventStart(); void addAudioEventEnd(); void addVideoEventEnd(); + bool goToStateID(int stackId, int sceneId); + bool goToState(int stackId, int sceneId); + const byte *cardPerform(const byte *card); + void savePrevious(); public: VoyeurEngine *_vm; @@ -464,7 +472,7 @@ public: void unloadAStack(int idx); bool doState(); - bool chooseSTAMPButton(int idx); + bool chooseSTAMPButton(int buttonId); void parsePlayCommands(); int doInterface(); void doRoom(); diff --git a/engines/voyeur/files_threads.cpp b/engines/voyeur/files_threads.cpp index a437f012c7..8176a4f925 100644 --- a/engines/voyeur/files_threads.cpp +++ b/engines/voyeur/files_threads.cpp @@ -249,16 +249,88 @@ const byte *ThreadResource::getNextRecord(const byte *p) { } } -void ThreadResource::cardAction(const byte *p) { - warning("TODO: cardAction"); +const byte *ThreadResource::getSTAMPCard(int cardId) { + const byte *p; + int count = 0; + for (p = _field4A; count <= cardId && *p != 0x49; p = getNextRecord(p)) { + if (*p == 0xC0) + ++count; + } + + return p; +} + +int ThreadResource::getStateFromID(uint32 id) { + int count = READ_LE_UINT16(_ctlPtr); + + for (int i = 0; i < count; ++i) { + uint32 sid = getSID(i); + if (sid == id) + return i; + } + + return -1; +} + +uint32 ThreadResource::getSID(int sid) { + uint32 offset = READ_LE_UINT32(_ctlPtr + 2) + (sid << 3) + 4; + return READ_LE_UINT32(_ctlPtr + offset); +} + +void ThreadResource::doSTAMPCardAction() { + for (const byte *p = _field4A; *p != 0x49; p = getNextRecord(p)) { + if (*p == 0x48) { + cardAction(p + 1); + return; + } + } +} + +void ThreadResource::cardAction(const byte *card) { + _vm->_glGoScene = -1; + _vm->_glGoStack = -1; + + // Loop to perform card commands + while (!_vm->shouldQuit() && *card < 70 && _vm->_glGoScene == -1) { + card = cardPerform(card); + } } -bool ThreadResource::chooseSTAMPButton(int idx) { - warning("TODO: chooseSTAMPButton"); +bool ThreadResource::chooseSTAMPButton(int buttonId) { + _flags &= ~1; + + for (int idx = 0; idx < _field42; ++idx) { + if (_field18E[idx] == buttonId) { + const byte *card = getSTAMPCard(idx); + cardAction(card); + + bool flag = true; + while (!_vm->shouldQuit() && _vm->_glGoStack != -1 && flag) { + doSTAMPCardAction(); + flag = goToStateID(_vm->_glGoStack, _vm->_glGoScene); + } + + while (!_vm->shouldQuit() && _vm->_glGoScene != -1 && flag) { + doSTAMPCardAction(); + flag = goToState(-1, _vm->_glGoScene); + } + + return flag; + } + } + return false; } void ThreadResource::parsePlayCommands() { + _vm->_voy._field470 = -1; + _vm->_voy._field468 = 0; + _vm->_voy._field46A = 0; + _vm->_voy._field47A = -1; + _vm->_voy._field4E2 = -1; + _vm->_voy._field478 &= ~8; + _vm->_eventsManager._videoDead = -1; + Common::fill(&_vm->_voy._arr1[0][0], &_vm->_voy._arr1[8][20], 0); Common::fill(&_vm->_voy._arr2[0][0], &_vm->_voy._arr2[8][20], 0); Common::fill(&_vm->_voy._arr3[0][0], &_vm->_voy._arr3[3][20], 9999); @@ -707,6 +779,11 @@ void ThreadResource::parsePlayCommands() { } } +const byte *ThreadResource::cardPerform(const byte *card) { + error("TODO"); + return NULL; +} + int ThreadResource::doApt() { warning("TODO: doApt"); return 0; @@ -736,4 +813,37 @@ void ThreadResource::addVideoEventEnd() { error("TODO: addVideoEventEnd"); } +bool ThreadResource::goToStateID(int stackId, int sceneId) { + // Save current stack + savePrevious(); + + if (_controlIndex == stackId || stackId == -1 || loadAStack(stackId)) { + // Now in the correct state + _threadId = getStateFromID(sceneId); + + if (_threadId != -1) { + return doState(); + } else { + _threadId = _field4; + _controlIndex = _field6; + } + } + + return false; +} + +bool ThreadResource::goToState(int stackId, int sceneId) { + error("TODO: goToState"); +} + +void ThreadResource::savePrevious() { + if (_field4 == _threadId && _controlIndex == _field6) { + _flags &= ~1; + } else { + _flags |= 1; + _field4 = _threadId; + _field6 = _controlIndex; + } +} + } // End of namespace Voyeur diff --git a/engines/voyeur/voyeur_game.cpp b/engines/voyeur/voyeur_game.cpp index 616a0b89a7..8c765b2687 100644 --- a/engines/voyeur/voyeur_game.cpp +++ b/engines/voyeur/voyeur_game.cpp @@ -197,7 +197,7 @@ void VoyeurEngine::playStamp() { // Break out of loop flag = false; - } else if (threadP->_field40 == 2) { + } else if (threadP->_field40 & 2) { _eventsManager.getMouseInfo(); threadP->chooseSTAMPButton(0); flag = true; -- cgit v1.2.3 From 1187a4fc2516e01f951f0f165f287098f133cfee Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Thu, 12 Dec 2013 20:33:59 -0500 Subject: VOYEUR: Implemented goToState method --- engines/voyeur/files_threads.cpp | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/engines/voyeur/files_threads.cpp b/engines/voyeur/files_threads.cpp index 8176a4f925..7ba3c5e62d 100644 --- a/engines/voyeur/files_threads.cpp +++ b/engines/voyeur/files_threads.cpp @@ -833,7 +833,15 @@ bool ThreadResource::goToStateID(int stackId, int sceneId) { } bool ThreadResource::goToState(int stackId, int sceneId) { - error("TODO: goToState"); + savePrevious(); + if (stackId == -1 || loadAStack(stackId)) { + if (sceneId != -1) + _threadId = sceneId; + + return doState(); + } else { + return false; + } } void ThreadResource::savePrevious() { -- cgit v1.2.3 From c479aed9d1282469656fa74bafd5d99758c03931 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Thu, 12 Dec 2013 23:56:54 -0500 Subject: VOYEUR: Implemented cardPerform and cardPerform2 --- engines/voyeur/files.h | 7 +- engines/voyeur/files_threads.cpp | 265 ++++++++++++++++++++++++++++++++++++++- 2 files changed, 267 insertions(+), 5 deletions(-) diff --git a/engines/voyeur/files.h b/engines/voyeur/files.h index e753b1d4c0..43057afec4 100644 --- a/engines/voyeur/files.h +++ b/engines/voyeur/files.h @@ -441,7 +441,10 @@ private: bool goToStateID(int stackId, int sceneId); bool goToState(int stackId, int sceneId); const byte *cardPerform(const byte *card); + bool cardPerform2(const byte *p, int cardCmdId); void savePrevious(); + void setButtonFlag(int idx, byte bits); + void clearButtonFlag(int idx, byte bits); public: VoyeurEngine *_vm; @@ -450,6 +453,8 @@ public: int _field4, _field6; byte _flags; int _field9; + int _fieldA[8]; + int _field2A[8]; int _field3A; int _field3E; int _field40; @@ -457,7 +462,7 @@ public: int _parseCount; uint32 _field46; byte *_field4A; - byte _field4E[64]; + byte _buttonFlags[64]; const byte *_field8E[64]; byte _field18E[64]; const byte *_field1CE[48]; diff --git a/engines/voyeur/files_threads.cpp b/engines/voyeur/files_threads.cpp index 7ba3c5e62d..bba87cfda4 100644 --- a/engines/voyeur/files_threads.cpp +++ b/engines/voyeur/files_threads.cpp @@ -155,10 +155,10 @@ void ThreadResource::getButtonsFlags() { if (*++p & 0x20) _field40 |= 2; - _field4E[idx] = *p++; + _buttonFlags[idx] = *p++; _field18E[idx] = *p++; - if (_field4E[idx] & 0x80) + if (_buttonFlags[idx] & 0x80) p += 4; ++idx; @@ -780,10 +780,259 @@ void ThreadResource::parsePlayCommands() { } const byte *ThreadResource::cardPerform(const byte *card) { - error("TODO"); - return NULL; + int var7 = 0; + uint32 varC = 0; + const byte *p, *p2; + byte *pDest; + + uint16 id = *card++; + int varD = 5; + uint32 v2; + int v3; + byte bVal; + uint32 idx1, idx2; + + switch (id) { + case 1: + v2 = READ_LE_UINT32(card); + card += 4; + WRITE_LE_UINT32(_vm->_controlPtr->_ptr + (*card << 2), v2); + ++card; + break; + + case 2: + v2 = READ_LE_UINT32(_vm->_controlPtr->_ptr + (*card++ << 2)), + WRITE_LE_UINT32(_vm->_controlPtr->_ptr + (*card++ << 2), v2); + break; + + case 3: + v2 = READ_LE_UINT32(card); + card += 4; + WRITE_LE_UINT32(_vm->_controlPtr->_ptr + (*card++ << 2), v2); + break; + + case 4: + v2 = READ_LE_UINT32(_vm->_controlPtr->_ptr + (*card++ << 2)); + WRITE_LE_UINT32(_vm->_controlPtr->_ptr + (*card++ << 2), v2); + break; + + case 5: + v2 = READ_LE_UINT32(card); + card += 4; + pDest = _vm->_controlPtr->_ptr + (*card++ << 2); + WRITE_LE_UINT32(pDest, READ_LE_UINT32(pDest) - v2); + break; + + case 6: + idx1 = *card++; + idx2 = *card++; + + v2 = READ_LE_UINT32(_vm->_controlPtr->_ptr + idx2); + pDest = _vm->_controlPtr->_ptr + idx1; + WRITE_LE_UINT32(pDest, READ_LE_UINT32(pDest) - v2); + break; + + case 7: + v3 = *card++; + v2 = READ_LE_UINT32(card); + card += 4; + pDest = _vm->_controlPtr->_ptr + (v3 << 2); + WRITE_LE_UINT32(pDest, READ_LE_UINT32(pDest) * v2); + break; + + case 8: + idx1 = *card++; + idx2 = *card++; + + pDest = _vm->_controlPtr->_ptr + (idx1 << 2); + p2 = _vm->_controlPtr->_ptr + (idx2 << 2); + WRITE_LE_UINT32(pDest, READ_LE_UINT32(pDest) * READ_LE_UINT32(p2)); + break; + + case 9: + idx1 = *card++; + v2 = READ_LE_UINT32(card); + card += 4; + + pDest = _vm->_controlPtr->_ptr + (idx1 << 2); + WRITE_LE_UINT32(pDest, READ_LE_UINT32(pDest) / v2); + break; + + case 10: + idx1 = *card++; + idx2 = *card++; + + pDest = _vm->_controlPtr->_ptr + (idx1 << 2); + p2 = _vm->_controlPtr->_ptr + (idx2 << 2); + WRITE_LE_UINT32(pDest, READ_LE_UINT32(pDest) / READ_LE_UINT32(p2)); + break; + + case 11: + v2 = READ_LE_UINT32(card); + card += 4; + v2 = _vm->getRandomNumber(v2 - 1) + 1; + WRITE_LE_UINT32(_vm->_controlPtr->_ptr + (*card++ << 2), v2); + break; + + case 17: + _vm->_glGoScene = READ_LE_UINT16(card); + card += 2; + _vm->_glGoStack = -1; + break; + + case 18: + v2 = READ_LE_UINT32(_vm->_controlPtr->_ptr + (*card++ << 2)); + _vm->_glGoScene = getStateFromID(v2); + break; + + case 19: + _vm->_glGoScene = READ_LE_UINT32(card); + card += 4; + _vm->_glGoStack = READ_LE_UINT16(card); + card += 2; + break; + + case 22: + case 23: + case 26: + case 27: + varD -= 3; + // Deliberate fall-through + + case 20: + case 21: + case 24: + case 25: + bVal = card[varD]; + if (bVal == 61) { + if (cardPerform2(card, id)) { + card += varD; + while (*card != 30 && *card != 29) + card = cardPerform(card); + + if (*card == 29) { + int count = 1; + while (count > 0) { + card = getNextRecord(card); + if (*card == 30) + --count; + if (*card >= 21 && *card <= 28) + ++count; + } + } + } else { + card += varD; + int count = 1; + while (count > 0) { + card = getNextRecord(card); + if (*card == 29 || *card == 30) + --count; + if (*card < 21 || *card > 28) + continue; + + const byte *nextP = getNextRecord(card + 2); + if (*nextP == 61) + ++count; + } + } + + ++card; + } else { + if (cardPerform2(card, id)) { + card += varD; + card = cardPerform(card); + while (*card++ != 61) ; + } else { + card += varD; + while (*card != 61 && *card != 29) + ++card; + } + } + break; + + case 41: + bVal = *card++; + assert(bVal < 8); + _fieldA[bVal] = READ_LE_UINT32(card); + card += 4; + + _field2A[bVal] = READ_LE_UINT16(card); + card += 2; + + case 45: + _field3A = _field46; + _field3E = _controlIndex; + break; + + case 46: + _vm->_glGoScene = _field3A; + _vm->_glGoStack = _field3E; + _field3A = -1; + _field3E = -1; + break; + + case 51: + setButtonFlag(READ_LE_UINT16(card), 64); + break; + + case 52: + clearButtonFlag(READ_LE_UINT16(card), 64); + break; + + default: + break; + } + + return card; } +bool ThreadResource::cardPerform2(const byte *pSrc, int cardCmdId) { + uint32 vLong, vLong2; + + switch (cardCmdId) { + case 21: + vLong = READ_LE_UINT32(pSrc + 1); + return READ_LE_UINT32(_vm->_controlPtr->_ptr + (*pSrc << 2)) == vLong; + + case 22: + vLong = READ_LE_UINT32(pSrc + 1); + return READ_LE_UINT32(_vm->_controlPtr->_ptr + (*pSrc << 2)) != vLong; + + case 23: + vLong = READ_LE_UINT32(_vm->_controlPtr->_ptr + (*pSrc << 2)); + vLong2 = READ_LE_UINT32(_vm->_controlPtr->_ptr + (*(pSrc + 1) << 2)); + return vLong == vLong2; + + case 24: + vLong = READ_LE_UINT32(_vm->_controlPtr->_ptr + (*pSrc << 2)); + vLong2 = READ_LE_UINT32(_vm->_controlPtr->_ptr + (*(pSrc + 1) << 2)); + return vLong != vLong2; + + case 25: + vLong = READ_LE_UINT32(_vm->_controlPtr->_ptr + (*pSrc << 2)); + vLong2 = READ_LE_UINT32(pSrc + 1); + return vLong < vLong2; + + case 26: + vLong = READ_LE_UINT32(_vm->_controlPtr->_ptr + (*pSrc << 2)); + vLong2 = READ_LE_UINT32(pSrc + 1); + return vLong > vLong2; + + case 27: + vLong = READ_LE_UINT32(_vm->_controlPtr->_ptr + (*pSrc << 2)); + vLong2 = READ_LE_UINT32(_vm->_controlPtr->_ptr + (*(pSrc + 1) << 2)); + return vLong < vLong2; + + case 28: + vLong = READ_LE_UINT32(_vm->_controlPtr->_ptr + (*pSrc << 2)); + vLong2 = READ_LE_UINT32(_vm->_controlPtr->_ptr + (*(pSrc + 1) << 2)); + return vLong > vLong2; + + default: + return false; + } +} + int ThreadResource::doApt() { warning("TODO: doApt"); return 0; @@ -854,4 +1103,12 @@ void ThreadResource::savePrevious() { } } +void ThreadResource::setButtonFlag(int idx, byte bits) { + _buttonFlags[idx] |= bits; +} + +void ThreadResource::clearButtonFlag(int idx, byte bits) { + _buttonFlags[idx] &= ~bits; +} + } // End of namespace Voyeur -- cgit v1.2.3 From 09b22952ce6d108ae5063c79a2e08bcddda1fc6c Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Fri, 13 Dec 2013 20:51:06 -0500 Subject: VOYEUR: Minor fix to getNextRecord and added a few debug lines --- engines/voyeur/files_threads.cpp | 7 ++++++- engines/voyeur/voyeur.h | 4 +++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/engines/voyeur/files_threads.cpp b/engines/voyeur/files_threads.cpp index bba87cfda4..40febd75ae 100644 --- a/engines/voyeur/files_threads.cpp +++ b/engines/voyeur/files_threads.cpp @@ -241,7 +241,7 @@ const byte *ThreadResource::getNextRecord(const byte *p) { case 74: return p + 4; case 192: - if (*p * 0x80) + if (*p & 0x80) p += 4; return p + 2; default: @@ -252,6 +252,7 @@ const byte *ThreadResource::getNextRecord(const byte *p) { const byte *ThreadResource::getSTAMPCard(int cardId) { const byte *p; int count = 0; + for (p = _field4A; count <= cardId && *p != 0x49; p = getNextRecord(p)) { if (*p == 0xC0) ++count; @@ -1063,6 +1064,8 @@ void ThreadResource::addVideoEventEnd() { } bool ThreadResource::goToStateID(int stackId, int sceneId) { + debugC(DEBUG_BASIC, kDebugScripts, "goToStateID - %d, %d", stackId, sceneId); + // Save current stack savePrevious(); @@ -1082,6 +1085,8 @@ bool ThreadResource::goToStateID(int stackId, int sceneId) { } bool ThreadResource::goToState(int stackId, int sceneId) { + debugC(DEBUG_BASIC, kDebugScripts, "goToState - %d, %d", stackId, sceneId); + savePrevious(); if (stackId == -1 || loadAStack(stackId)) { if (sceneId != -1) diff --git a/engines/voyeur/voyeur.h b/engines/voyeur/voyeur.h index 248d150022..9712f2b4f2 100644 --- a/engines/voyeur/voyeur.h +++ b/engines/voyeur/voyeur.h @@ -53,9 +53,11 @@ namespace Voyeur { #define MAX_RESOLVE 1000 enum VoyeurDebugChannels { - kDebugPath = 1 << 0 + kDebugPath = 1 << 0, + kDebugScripts = 1 << 1 }; + struct VoyeurGameDescription; -- cgit v1.2.3 From f2b8c518811998bd05b59c332092dc6fa28024b4 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Fri, 13 Dec 2013 22:10:39 -0500 Subject: VOYEUR: Added extra initialisation for ControlResource objects --- engines/voyeur/files.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/engines/voyeur/files.cpp b/engines/voyeur/files.cpp index c725169140..61c5e4295e 100644 --- a/engines/voyeur/files.cpp +++ b/engines/voyeur/files.cpp @@ -1342,6 +1342,7 @@ ControlResource::ControlResource(BoltFilesState &state, const byte *src) { uint32 *idP = (uint32 *)&src[0x10]; int count = READ_LE_UINT16(&src[0x36]); + Common::fill(&_entries[0], &_entries[8], (byte *)nullptr); for (int i = 0; i < count; ++i, ++idP) { uint32 id = READ_LE_UINT32(idP); state._curLibPtr->resolveIt(id, &_entries[i]); -- cgit v1.2.3 From b80d0e9aa3c6d7fe3706a7e634623559a36e4548 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Fri, 13 Dec 2013 22:11:16 -0500 Subject: VOYEUR: Fix field intiialisation in getStateInfo --- engines/voyeur/files_threads.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/engines/voyeur/files_threads.cpp b/engines/voyeur/files_threads.cpp index 40febd75ae..67df87fd78 100644 --- a/engines/voyeur/files_threads.cpp +++ b/engines/voyeur/files_threads.cpp @@ -35,6 +35,7 @@ CMapResource *ThreadResource::_cmd14Pal = NULL; ThreadResource::ThreadResource(BoltFilesState &state, const byte *src): _vm(state._vm) { _flags = src[8]; + _ctlPtr = nullptr; } void ThreadResource::initThreadStruct(int idx, int id) { @@ -114,7 +115,7 @@ bool ThreadResource::getStateInfo() { _parseCount = READ_LE_UINT16(baseP + 4); _field28E = getDataOffset(); - _field28E += READ_LE_UINT32(baseP + 6) / 2; + _field28E += (READ_LE_UINT32(baseP + 6) / 2) << 1; _field4A = baseP + 10; -- cgit v1.2.3 From 208c5aa6b75f31135fda7af7484b17ca1b14c82d Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Fri, 13 Dec 2013 23:03:25 -0500 Subject: VOYEUR: Fix for parsePlayCommands command 9 --- engines/voyeur/files_threads.cpp | 7 +++++-- engines/voyeur/voyeur.cpp | 1 + 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/engines/voyeur/files_threads.cpp b/engines/voyeur/files_threads.cpp index 67df87fd78..3880893c29 100644 --- a/engines/voyeur/files_threads.cpp +++ b/engines/voyeur/files_threads.cpp @@ -348,6 +348,8 @@ void ThreadResource::parsePlayCommands() { for (int parseIndex = 0; parseIndex < _parseCount; ++parseIndex) { uint16 id = READ_LE_UINT16(dataP); + debugC(DEBUG_BASIC, kDebugScripts, "parsePlayCommands (%d of %d) - cmd #%d", + parseIndex, _parseCount, id); dataP += 2; switch (id) { @@ -606,8 +608,9 @@ void ThreadResource::parsePlayCommands() { while (_vm->_voy._arr5[idx][v3] != 9999) ++idx; - _vm->_voy._arr5[idx][v3] = READ_LE_UINT16(dataP + 4) + READ_LE_UINT16(dataP + 6); - _vm->_voy._arr6[idx][v3] = v3; + v2 = READ_LE_UINT16(dataP + 4); + _vm->_voy._arr5[idx][v3] = v2; + _vm->_voy._arr6[idx][v3] = v2 + READ_LE_UINT16(dataP + 6) - 2; } dataP += 8; diff --git a/engines/voyeur/voyeur.cpp b/engines/voyeur/voyeur.cpp index 3b924fe759..b8f0babb6f 100644 --- a/engines/voyeur/voyeur.cpp +++ b/engines/voyeur/voyeur.cpp @@ -38,6 +38,7 @@ VoyeurEngine::VoyeurEngine(OSystem *syst, const VoyeurGameDescription *gameDesc) _defaultFontInfo(3, 0xff, 0xff, 0, 0, ALIGN_LEFT, 0, Common::Point(), 1, 1, Common::Point(1, 1), 1, 0, 0) { DebugMan.addDebugChannel(kDebugPath, "Path", "Pathfinding debug level"); + DebugMan.addDebugChannel(kDebugScripts, "scripts", "Game scripts"); _bVoy = NULL; _iForceDeath = -1; _controlPtr = NULL; -- cgit v1.2.3 From b9bd380a29cff9e1ad3a11b47dbc273630c740a4 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Fri, 13 Dec 2013 23:13:35 -0500 Subject: VOYEUR: Fixes for parsePlayCommands command 7 --- engines/voyeur/files_threads.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/engines/voyeur/files_threads.cpp b/engines/voyeur/files_threads.cpp index 3880893c29..195e05d71f 100644 --- a/engines/voyeur/files_threads.cpp +++ b/engines/voyeur/files_threads.cpp @@ -333,7 +333,7 @@ void ThreadResource::parsePlayCommands() { _vm->_voy._field478 &= ~8; _vm->_eventsManager._videoDead = -1; - Common::fill(&_vm->_voy._arr1[0][0], &_vm->_voy._arr1[8][20], 0); + Common::fill(&_vm->_voy._arr1[0][0], &_vm->_voy._arr1[8][20], 9999); Common::fill(&_vm->_voy._arr2[0][0], &_vm->_voy._arr2[8][20], 0); Common::fill(&_vm->_voy._arr3[0][0], &_vm->_voy._arr3[3][20], 9999); Common::fill(&_vm->_voy._arr4[0][0], &_vm->_voy._arr4[3][20], 0); @@ -576,8 +576,9 @@ void ThreadResource::parsePlayCommands() { while (_vm->_voy._arr1[idx][v3] != 9999) ++idx; - _vm->_voy._arr1[idx][v3] = READ_LE_UINT16(dataP + 4) + READ_LE_UINT16(dataP + 6); - _vm->_voy._arr2[idx][v3] = v3; + v2 = READ_LE_UINT16(dataP + 4); + _vm->_voy._arr1[idx][v3] = v2; + _vm->_voy._arr2[idx][v3] = v2 + READ_LE_UINT16(dataP + 6) - 2; } dataP += 8; -- cgit v1.2.3 From 033929d70184eea4f8a0507380f316ea9f27373f Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Fri, 13 Dec 2013 23:18:59 -0500 Subject: VOYEUR: Fixes for parsePlayCommands command 8 --- engines/voyeur/files_threads.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/engines/voyeur/files_threads.cpp b/engines/voyeur/files_threads.cpp index 195e05d71f..c09293ade5 100644 --- a/engines/voyeur/files_threads.cpp +++ b/engines/voyeur/files_threads.cpp @@ -585,7 +585,7 @@ void ThreadResource::parsePlayCommands() { break; case 8: - v2 = READ_LE_UINT16(dataP); + v2 = READ_LE_UINT16(dataP); v3 = READ_LE_UINT16(dataP + 2) - 1; if (v2 == 0 || READ_LE_UINT16(_vm->_controlPtr->_ptr + 4) == 0) { @@ -593,8 +593,9 @@ void ThreadResource::parsePlayCommands() { while (_vm->_voy._arr3[idx][v3] != 9999) ++idx; - _vm->_voy._arr3[idx][v3] = READ_LE_UINT16(dataP + 4) + READ_LE_UINT16(dataP + 6); - _vm->_voy._arr4[idx][v3] = v3; + v2 = READ_LE_UINT16(dataP + 4); + _vm->_voy._arr3[idx][v3] = v2; + _vm->_voy._arr4[idx][v3] = v2 + READ_LE_UINT16(dataP + 6) - 2; } dataP += 8; -- cgit v1.2.3 From 4ffa060832dbf7ad103ae80790e07eac91b329f0 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Fri, 13 Dec 2013 23:26:51 -0500 Subject: VOYEUR: Make parsePlayCommands debug parse Index be 1-based --- engines/voyeur/files_threads.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/engines/voyeur/files_threads.cpp b/engines/voyeur/files_threads.cpp index c09293ade5..893e5e9d58 100644 --- a/engines/voyeur/files_threads.cpp +++ b/engines/voyeur/files_threads.cpp @@ -349,7 +349,7 @@ void ThreadResource::parsePlayCommands() { for (int parseIndex = 0; parseIndex < _parseCount; ++parseIndex) { uint16 id = READ_LE_UINT16(dataP); debugC(DEBUG_BASIC, kDebugScripts, "parsePlayCommands (%d of %d) - cmd #%d", - parseIndex, _parseCount, id); + parseIndex + 1, _parseCount, id); dataP += 2; switch (id) { -- cgit v1.2.3 From debe14fc5089a7be9edc1a86843c0213f48c6af4 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Sat, 14 Dec 2013 11:07:01 -0500 Subject: VOYEUR: Fixes for casting warnings --- engines/voyeur/animation.cpp | 2 +- engines/voyeur/files.cpp | 14 +++++++------- engines/voyeur/files.h | 2 +- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/engines/voyeur/animation.cpp b/engines/voyeur/animation.cpp index 0f98dbbf63..c771f04f80 100644 --- a/engines/voyeur/animation.cpp +++ b/engines/voyeur/animation.cpp @@ -92,7 +92,7 @@ RL2Decoder::RL2FileHeader::RL2FileHeader() { RL2Decoder::RL2FileHeader::~RL2FileHeader() { delete[] _frameOffsets; - _frameSoundSizes; + delete[] _frameSoundSizes; } void RL2Decoder::RL2FileHeader::load(Common::SeekableReadStream *stream) { diff --git a/engines/voyeur/files.cpp b/engines/voyeur/files.cpp index 61c5e4295e..fb9bcc3389 100644 --- a/engines/voyeur/files.cpp +++ b/engines/voyeur/files.cpp @@ -816,7 +816,7 @@ ViewPortResource::ViewPortResource(BoltFilesState &state, const byte *src): // Get the rect list for (int listIndex = 0; listIndex < 3; ++listIndex) { _rectListCount[listIndex] = (int16)READ_LE_UINT16(src + 0x40 + 2 * listIndex); - uint32 id = READ_LE_UINT32(src + 0x34 + listIndex * 4); + int id = (int)READ_LE_UINT32(src + 0x34 + listIndex * 4); if (id == -1) { _rectListPtr[listIndex] = NULL; @@ -826,8 +826,8 @@ ViewPortResource::ViewPortResource(BoltFilesState &state, const byte *src): if (_rectListCount[listIndex] > 0) { int16 *rectList = (int16 *)state._curLibPtr->memberAddrOffset(id); for (int i = 0; i < _rectListCount[listIndex]; ++i) { - int xs = FROM_LE_16(rectList[0]); - int ys = FROM_LE_16(rectList[1]); + xs = FROM_LE_16(rectList[0]); + ys = FROM_LE_16(rectList[1]); _rectListPtr[i]->push_back(Common::Rect(xs, ys, xs + FROM_LE_16(rectList[2]), ys + FROM_LE_16(rectList[3]))); } @@ -1171,7 +1171,7 @@ ViewPortListResource::ViewPortListResource(BoltFilesState &state, const byte *sr _palette.push_back(ViewPortPalEntry(palData)); // Load view port pointer list - uint32 *idP = (uint32 *)&src[8]; + const uint32 *idP = (const uint32 *)&src[8]; for (uint i = 0; i < count; ++i, ++idP) { uint32 id = READ_LE_UINT32(idP); BoltEntry &entry = state._curLibPtr->getBoltEntryFromLong(id); @@ -1184,7 +1184,7 @@ ViewPortListResource::ViewPortListResource(BoltFilesState &state, const byte *sr /*------------------------------------------------------------------------*/ ViewPortPalEntry::ViewPortPalEntry(const byte *src) { - uint16 *v = (uint16 *)src; + const uint16 *v = (const uint16 *)src; _rEntry = READ_LE_UINT16(v++); _gEntry = READ_LE_UINT16(v++); _bEntry = READ_LE_UINT16(v++); @@ -1317,7 +1317,7 @@ VInitCyclResource::VInitCyclResource(BoltFilesState &state, const byte *src) { PtrResource::PtrResource(BoltFilesState &state, const byte *src) { // Load pointer list - uint32 *idP = (uint32 *)&src[0]; + const uint32 *idP = (const uint32 *)&src[0]; int size = state._curMemberPtr->_size; for (int i = 0; i < size / 4; ++i, ++idP) { @@ -1339,7 +1339,7 @@ ControlResource::ControlResource(BoltFilesState &state, const byte *src) { _memberIds[i] = READ_LE_UINT16(src + i * 2); // Load pointer list - uint32 *idP = (uint32 *)&src[0x10]; + const uint32 *idP = (const uint32 *)&src[0x10]; int count = READ_LE_UINT16(&src[0x36]); Common::fill(&_entries[0], &_entries[8], (byte *)nullptr); diff --git a/engines/voyeur/files.h b/engines/voyeur/files.h index 43057afec4..98e0aa206c 100644 --- a/engines/voyeur/files.h +++ b/engines/voyeur/files.h @@ -117,7 +117,7 @@ private: void termGro() {} // TODO public: BoltFile(const Common::String &filename, BoltFilesState &state); - ~BoltFile(); + virtual ~BoltFile(); BoltGroup *getBoltGroup(uint32 id); void freeBoltGroup(uint32 id); -- cgit v1.2.3 From 49d50afb4728d6a5773fb8faeac3629bf56953ee Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Sat, 14 Dec 2013 11:39:15 -0500 Subject: VOYEUR: In progress implementation of doInterface --- engines/voyeur/events.h | 1 + engines/voyeur/files.h | 4 ++ engines/voyeur/files_threads.cpp | 88 ++++++++++++++++++++++++++++++++++++++-- engines/voyeur/graphics.cpp | 4 ++ engines/voyeur/graphics.h | 1 + engines/voyeur/voyeur.cpp | 1 + engines/voyeur/voyeur.h | 5 +++ engines/voyeur/voyeur_game.cpp | 20 +++++++++ 8 files changed, 120 insertions(+), 4 deletions(-) diff --git a/engines/voyeur/events.h b/engines/voyeur/events.h index 97927e7d7d..9fe3464431 100644 --- a/engines/voyeur/events.h +++ b/engines/voyeur/events.h @@ -201,6 +201,7 @@ public: void setVm(VoyeurEngine *vm) { _vm = vm; } void resetMouse(); + void setMousePos(const Common::Point &p) { _mousePos = p; } void startMainClockInt(); void vStopCycle(); void sWaitFlip(); diff --git a/engines/voyeur/files.h b/engines/voyeur/files.h index 98e0aa206c..03862838cc 100644 --- a/engines/voyeur/files.h +++ b/engines/voyeur/files.h @@ -421,6 +421,10 @@ public: static CMapResource *_cmd14Pal; static void initUseCount(); static void unloadAllStacks(VoyeurEngine *vm); + static int _currentMouseX; + static int _currentMouseY; + + static void init(); private: bool getStateInfo(); byte *getDataOffset(); diff --git a/engines/voyeur/files_threads.cpp b/engines/voyeur/files_threads.cpp index 893e5e9d58..aacc619f6b 100644 --- a/engines/voyeur/files_threads.cpp +++ b/engines/voyeur/files_threads.cpp @@ -27,10 +27,21 @@ namespace Voyeur { -int ThreadResource::_stampFlags = 0; +int ThreadResource::_stampFlags; int ThreadResource::_useCount[8]; -byte *ThreadResource::_threadDataPtr = NULL; -CMapResource *ThreadResource::_cmd14Pal = NULL; +byte *ThreadResource::_threadDataPtr; +CMapResource *ThreadResource::_cmd14Pal; +int ThreadResource::_currentMouseX; +int ThreadResource::_currentMouseY; + +void ThreadResource::init() { + _stampFlags = 0; + Common::fill(&_useCount[0], &_useCount[8], 0); + _threadDataPtr = nullptr; + _cmd14Pal = nullptr; + _currentMouseX = 392; + _currentMouseY = 57; +} ThreadResource::ThreadResource(BoltFilesState &state, const byte *src): _vm(state._vm) { @@ -1050,7 +1061,76 @@ void ThreadResource::doRoom() { } int ThreadResource::doInterface() { - warning("TODO: doInterface"); + int varA = -1; + int var8 = 0; + + if (_vm->_voy._field478 != _vm->_voy._field46E) { + _vm->_voy._field46E = 0; + return -1; + } + + _vm->_voy._field478 &= ~0x100; + _vm->_playStamp1 = -1; + _vm->_eventsManager._intPtr.field1E = 1; + _vm->_eventsManager._intPtr.field1A = 0; + + if (_vm->_voy._RTVNum >= _vm->_voy._field476 || _vm->_voy._RTVNum < 0) + _vm->_voy._RTVNum = _vm->_voy._field476 - 1; + + if (_vm->_voy._field474 < 15 && (_vm->_voy._field476 - 3) < _vm->_voy._RTVNum) { + _vm->_voy._RTVNum = _vm->_voy._field476; + _vm->makeViewFinder(); + + _vm->_eventsManager.setMousePos(Common::Point(_currentMouseX, _currentMouseY)); + _vm->initIFace(); + _vm->_voy._RTVNum = _vm->_voy._field476 - 4; + _vm->_voy._field478 &= ~1; + + while (!_vm->shouldQuit() && _vm->_voy._RTVNum < _vm->_voy._field476) { + _vm->flashTimeBar(); + } + + _vm->_voy._field478 = 1; + chooseSTAMPButton(20); + parsePlayCommands(); + } + + _vm->checkTransition(); + _vm->makeViewFinder(); + _vm->_eventsManager.getMouseInfo(); + _vm->_eventsManager.setMousePos(Common::Point(_currentMouseX, _currentMouseY)); + _vm->initIFace(); + + byte *dataP = _vm->_bVoy->memberAddr(_vm->_playStamp1); + _vm->_playStamp2 = 151 - _vm->getRandomNumber(5); + _vm->_voy._vocSecondsOffset = _vm->getRandomNumber(29); + + Common::String fname = _vm->_soundManager.getVOCFileName(_vm->_playStamp2); + _vm->_soundManager.startVOCPlay(fname); + _vm->_eventsManager.getMouseInfo(); + _vm->_eventsManager.setMousePos(Common::Point(_currentMouseX, _currentMouseY)); + + _vm->_graphicsManager.setColor(240, 220, 220, 220); + _vm->_eventsManager._intPtr.field38 = true; + _vm->_eventsManager._intPtr._hasPalette = true; + _vm->_voy._field478 &= ~1; + + for (;;) { + _vm->doTimeBar(1); + _vm->_eventsManager.getMouseInfo(); + + const Common::Point &pt = _vm->_eventsManager.getMousePos(); + if (pt.x != _currentMouseX || pt.y != _currentMouseY || var8 != varA) { + varA = var8; + _vm->_graphicsManager.doScroll(pt); + + _currentMouseX = pt.x; + _currentMouseY = pt.y; + } + + // TODO + } + return 0; } diff --git a/engines/voyeur/graphics.cpp b/engines/voyeur/graphics.cpp index 9b9ebe462b..c8b554c0ed 100644 --- a/engines/voyeur/graphics.cpp +++ b/engines/voyeur/graphics.cpp @@ -658,4 +658,8 @@ void GraphicsManager::screenReset() { _vm->_eventsManager.sWaitFlip(); } +void GraphicsManager::doScroll(const Common::Point &pt) { + error("TODO: doScroll"); +} + } // End of namespace Voyeur diff --git a/engines/voyeur/graphics.h b/engines/voyeur/graphics.h index 518ec1a459..10dab5bd2a 100644 --- a/engines/voyeur/graphics.h +++ b/engines/voyeur/graphics.h @@ -110,6 +110,7 @@ public: void resetPalette(); void setColor(int idx, byte r, byte g, byte b); void screenReset(); + void doScroll(const Common::Point &pt); }; } // End of namespace Voyeur diff --git a/engines/voyeur/voyeur.cpp b/engines/voyeur/voyeur.cpp index b8f0babb6f..84aa0c440b 100644 --- a/engines/voyeur/voyeur.cpp +++ b/engines/voyeur/voyeur.cpp @@ -117,6 +117,7 @@ void VoyeurEngine::initialiseManagers() { } void VoyeurEngine::ESP_Init() { + ThreadResource::init(); } void VoyeurEngine::globalInitBolt() { diff --git a/engines/voyeur/voyeur.h b/engines/voyeur/voyeur.h index 9712f2b4f2..264c20346d 100644 --- a/engines/voyeur/voyeur.h +++ b/engines/voyeur/voyeur.h @@ -146,6 +146,11 @@ public: void saveLastInplay(); void loadTheApt(); void freeTheApt(); + void makeViewFinder(); + void initIFace(); + void checkTransition(); + void doTimeBar(int v); + void flashTimeBar(); }; } // End of namespace Voyeur diff --git a/engines/voyeur/voyeur_game.cpp b/engines/voyeur/voyeur_game.cpp index 8c765b2687..505f79483d 100644 --- a/engines/voyeur/voyeur_game.cpp +++ b/engines/voyeur/voyeur_game.cpp @@ -272,4 +272,24 @@ void VoyeurEngine::freeTheApt() { error("TODO: freeTheApt"); } +void VoyeurEngine::makeViewFinder() { + error("TODO"); +} + +void VoyeurEngine::initIFace(){ + error("TODO"); +} + +void VoyeurEngine::checkTransition(){ + error("TODO"); +} + +void VoyeurEngine::doTimeBar(int v) { + error("TODO"); +} + +void VoyeurEngine::flashTimeBar(){ + error("TODO"); +} + } // End of namespace Voyeur -- cgit v1.2.3 From af90a11ff258461cd84dfc89ecfbe54fc720c312 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Sat, 14 Dec 2013 17:38:01 -0500 Subject: VOYEUR: Fix various warnings --- engines/voyeur/events.h | 2 +- engines/voyeur/files_threads.cpp | 4 +--- engines/voyeur/graphics.cpp | 5 +---- engines/voyeur/voyeur.cpp | 8 +++++--- engines/voyeur/voyeur_game.cpp | 2 +- 5 files changed, 9 insertions(+), 12 deletions(-) diff --git a/engines/voyeur/events.h b/engines/voyeur/events.h index 9fe3464431..decd23341e 100644 --- a/engines/voyeur/events.h +++ b/engines/voyeur/events.h @@ -110,7 +110,7 @@ public: int _evidence[20]; Common::Array _events; - int _field4376; + byte *_field4376; int _field4378; int _field437A; int _field437C; diff --git a/engines/voyeur/files_threads.cpp b/engines/voyeur/files_threads.cpp index aacc619f6b..f74b7dbb38 100644 --- a/engines/voyeur/files_threads.cpp +++ b/engines/voyeur/files_threads.cpp @@ -798,9 +798,7 @@ void ThreadResource::parsePlayCommands() { } const byte *ThreadResource::cardPerform(const byte *card) { - int var7 = 0; - uint32 varC = 0; - const byte *p, *p2; + const byte *p2; byte *pDest; uint16 id = *card++; diff --git a/engines/voyeur/graphics.cpp b/engines/voyeur/graphics.cpp index c8b554c0ed..1ac7f48ea2 100644 --- a/engines/voyeur/graphics.cpp +++ b/engines/voyeur/graphics.cpp @@ -87,9 +87,6 @@ void GraphicsManager::setupMCGASaveRect(ViewPortResource *viewPort) { } void GraphicsManager::addRectOptSaveRect(ViewPortResource *viewPort, int idx, const Common::Rect &bounds) { - int count1, count2; - int idx1, varE, var24; - if (viewPort->_rectListCount[idx] == -1) return; @@ -138,7 +135,7 @@ void GraphicsManager::sDrawPic(DisplayResource *srcDisplay, DisplayResource *des bool isClipped = false; int var52; int var20, var22; - int var26, var2C; + int var26; byte pixel; byte *srcImgData, *destImgData; diff --git a/engines/voyeur/voyeur.cpp b/engines/voyeur/voyeur.cpp index 84aa0c440b..6c4e841243 100644 --- a/engines/voyeur/voyeur.cpp +++ b/engines/voyeur/voyeur.cpp @@ -134,7 +134,7 @@ void VoyeurEngine::globalInitBolt() { // Setup default flags Common::fill((byte *)&_voy, (byte *)&_voy + sizeof(SVoy), 0); _voy._field478 = 1; - _voy._field4376 = NULL; // Original set 63h:63h + _voy._field4376 = nullptr; // Original set 63h:63h _voy._field4F2 = 9999; _voy._field472 = -1; _voy._field478 = 256; @@ -473,6 +473,7 @@ void VoyeurEngine::showTitleScreen() { } void VoyeurEngine::doOpening() { +/* _graphicsManager.screenReset(); if (!_bVoy->getBoltGroup(0x10200)) @@ -519,13 +520,14 @@ void VoyeurEngine::doOpening() { if (decoder.needsUpdate()) { const Graphics::Surface *frame = decoder.decodeNextFrame(); - Common::copy((byte *)frame->getPixels(), (byte *)frame->getPixels() + 320 * 200, + Common::copy((const byte *)frame->getPixels(), (const byte *)frame->getPixels() + 320 * 200, (byte *)_graphicsManager._screenSurface.getPixels()); } _eventsManager.pollEvents(); g_system->delayMillis(10); } + */ } void VoyeurEngine::playRL2Video(const Common::String &filename) { @@ -542,7 +544,7 @@ void VoyeurEngine::playRL2Video(const Common::String &filename) { if (decoder.needsUpdate()) { const Graphics::Surface *frame = decoder.decodeNextFrame(); - Common::copy((byte *)frame->getPixels(), (byte *)frame->getPixels() + 320 * 200, + Common::copy((const byte *)frame->getPixels(), (const byte *)frame->getPixels() + 320 * 200, (byte *)_graphicsManager._screenSurface.getPixels()); } diff --git a/engines/voyeur/voyeur_game.cpp b/engines/voyeur/voyeur_game.cpp index 505f79483d..f887e73ca6 100644 --- a/engines/voyeur/voyeur_game.cpp +++ b/engines/voyeur/voyeur_game.cpp @@ -149,7 +149,7 @@ void VoyeurEngine::playStamp() { _graphicsManager._backgroundPage = _bVoy->boltEntry(_playStamp1)._picResource; _graphicsManager._backColors = _bVoy->boltEntry(_playStamp1 + 1)._cMapResource; - int buttonId = getChooseButton(); + buttonId = getChooseButton(); if (_voy._fadeFunc) buttonId = 4; -- cgit v1.2.3 From 95316a59569b08eb0fb1df7548da500da7948bca Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Sat, 14 Dec 2013 20:40:19 -0500 Subject: VOYEUR: Implemented doInterface method --- engines/voyeur/files_threads.cpp | 130 +++++++++++++++++++++++++++++++++++++-- engines/voyeur/graphics.cpp | 4 ++ engines/voyeur/graphics.h | 1 + engines/voyeur/voyeur.h | 1 + engines/voyeur/voyeur_game.cpp | 14 +++-- 5 files changed, 139 insertions(+), 11 deletions(-) diff --git a/engines/voyeur/files_threads.cpp b/engines/voyeur/files_threads.cpp index f74b7dbb38..532e7f981c 100644 --- a/engines/voyeur/files_threads.cpp +++ b/engines/voyeur/files_threads.cpp @@ -1061,10 +1061,12 @@ void ThreadResource::doRoom() { int ThreadResource::doInterface() { int varA = -1; int var8 = 0; + PictureResource *pic; + Common::Point pt; if (_vm->_voy._field478 != _vm->_voy._field46E) { _vm->_voy._field46E = 0; - return -1; + return -2; } _vm->_voy._field478 &= ~0x100; @@ -1113,11 +1115,11 @@ int ThreadResource::doInterface() { _vm->_eventsManager._intPtr._hasPalette = true; _vm->_voy._field478 &= ~1; - for (;;) { + do { _vm->doTimeBar(1); _vm->_eventsManager.getMouseInfo(); - const Common::Point &pt = _vm->_eventsManager.getMousePos(); + pt = _vm->_eventsManager.getMousePos(); if (pt.x != _currentMouseX || pt.y != _currentMouseY || var8 != varA) { varA = var8; _vm->_graphicsManager.doScroll(pt); @@ -1126,10 +1128,126 @@ int ThreadResource::doInterface() { _currentMouseY = pt.y; } - // TODO - } + _vm->checkPhoneCall(); + if (!_vm->_soundManager.getVOCStatus()) { + _vm->_playStamp2 = 151 - _vm->getRandomNumber(5); + _vm->_soundManager.startVOCPlay(_vm->_soundManager.getVOCFileName(_vm->_playStamp2)); + } - return 0; + Common::Point pt = _vm->_eventsManager.getMousePos() + Common::Point(120, 75); + + for (int idx = 0; idx < READ_LE_UINT16(dataP); ++idx) { + if (READ_LE_UINT16(dataP + (idx * 8 + 2)) <= pt.x && + READ_LE_UINT16(dataP + (idx * 8 + 6)) >= pt.x && + READ_LE_UINT16(dataP + (idx * 8 + 4)) <= pt.y && + READ_LE_UINT16(dataP + (idx * 8 + 8)) >= pt.y) { + // Rect check done + for (int arrIndex = 0; arrIndex < 3; ++arrIndex) { + if (_vm->_voy._arr3[arrIndex][idx] <= _vm->_voy._RTVNum && + _vm->_voy._arr4[arrIndex][idx] > _vm->_voy._RTVNum) { + // Draw the picture + pic = _vm->_bVoy->boltEntry(276)._picResource; + _vm->_graphicsManager.sDrawPic(pic, *_vm->_graphicsManager._vPort, + Common::Point(178, 108)); + var8 = idx; + } + + if (_vm->_voy._arr5[arrIndex][idx] <= _vm->_voy._RTVNum && + _vm->_voy._arr6[idx][idx] > _vm->_voy._RTVNum) { + // Draw the picture + pic = _vm->_bVoy->boltEntry(277)._picResource; + _vm->_graphicsManager.sDrawPic(pic, *_vm->_graphicsManager._vPort, + Common::Point(178, 108)); + var8 = idx; + } + } + + for (int arrIndex = 0; arrIndex < 3; ++arrIndex) { + if (_vm->_voy._arr1[arrIndex][idx] <= _vm->_voy._RTVNum && + _vm->_voy._arr2[arrIndex][idx] > _vm->_voy._RTVNum) { + // Draw the picture + pic = _vm->_bVoy->boltEntry(375)._picResource; + _vm->_graphicsManager.sDrawPic(pic, *_vm->_graphicsManager._vPort, + Common::Point(178, 108)); + var8 = idx; + } + } + } + } + + if (var8 == -1) { + // Draw the default picture + pic = _vm->_bVoy->boltEntry(274)._picResource; + _vm->_graphicsManager.sDrawPic(pic, *_vm->_graphicsManager._vPort, + Common::Point(178, 108)); + } + + if (_vm->_voy._RTVNum & 2) { + _vm->_graphicsManager.drawANumber(*_vm->_graphicsManager._vPort, + 10 / _vm->_eventsManager._videoComputerBut1, 0x1900BE); + _vm->_graphicsManager.drawANumber(*_vm->_graphicsManager._vPort, + 10 % _vm->_eventsManager._videoComputerBut1, 0x1900BE); + + if (_vm->_voy._RTANum & 4) { + int v = 10 / _vm->_eventsManager._videoComputerNum; + _vm->_graphicsManager.drawANumber(*_vm->_graphicsManager._vPort, + v == 0 ? 10 : v, 0x1900BE); + _vm->_graphicsManager.drawANumber(*_vm->_graphicsManager._vPort, + _vm->_eventsManager._videoComputerNum % 10, 0x1900AC); + + pic = _vm->_bVoy->boltEntry(274)._picResource; + _vm->_graphicsManager.sDrawPic(pic, *_vm->_graphicsManager._vPort, + Common::Point(215, 27)); + } + } + + _vm->_voy._RTANum = 0; + (*_vm->_graphicsManager._vPort)->_flags |= 8; + _vm->_graphicsManager.flipPage(); + _vm->_eventsManager.sWaitFlip(); + + pt = _vm->_eventsManager.getMousePos(); + if ((_vm->_voy._field476 <= _vm->_voy._RTVNum) || ((_vm->_voy._field478 & 0x80) && + (_vm->_voy._fadeFunc != NULL) && (pt.x == 0))) { + _vm->_eventsManager.getMouseInfo(); + + if (_vm->_voy._field474 == 15) { + var8 = 20; + _vm->_voy._field474 = 17; + _vm->_soundManager.stopVOCPlay(); + _vm->checkTransition(); + _vm->_voy._lastInplay = true; + } else { + _vm->_voy._field478 = 1; + _currentMouseX = pt.x; + _currentMouseY = pt.y; + + chooseSTAMPButton(20); + parsePlayCommands(); + _vm->checkTransition(); + _vm->makeViewFinder(); + + _vm->_eventsManager.setMousePos(Common::Point(_currentMouseX, _currentMouseY)); + _vm->initIFace(); + + dataP = _vm->_bVoy->memberAddr(_vm->_playStamp1 + 1); + _vm->_eventsManager.getMouseInfo(); + _vm->_eventsManager.setMousePos(Common::Point(_currentMouseX, _currentMouseY)); + + _vm->_voy._field478 &= ~2; + _vm->_eventsManager._intPtr.field1E = 1; + _vm->_eventsManager._intPtr.field1A = 0; + } + } + } while (!_vm->_voy._fadeFunc && !_vm->shouldQuit() && + (!_vm->_voy._lastInplay || var8 == -1)); + + _vm->_voy._field478 |= 1; + _vm->_bVoy->freeBoltGroup(_vm->_playStamp1); + if (_vm->_playStamp2 != -1) + _vm->_soundManager.stopVOCPlay(); + + return !_vm->_voy._fadeFunc ? var8 : -2; } void ThreadResource::addAudioEventStart() { diff --git a/engines/voyeur/graphics.cpp b/engines/voyeur/graphics.cpp index 1ac7f48ea2..fbf671c408 100644 --- a/engines/voyeur/graphics.cpp +++ b/engines/voyeur/graphics.cpp @@ -529,6 +529,10 @@ error("TODO: var22/var24/var2C not initialised before use?"); } } +void GraphicsManager::drawANumber(DisplayResource *display, int num, int offset) { + warning("TODO: drawANumber"); +} + void GraphicsManager::fillPic(DisplayResource *display, byte onOff) { PictureResource *pic; if (display->_flags & DISPFLAG_VIEWPORT) { diff --git a/engines/voyeur/graphics.h b/engines/voyeur/graphics.h index 10dab5bd2a..4c31a449cf 100644 --- a/engines/voyeur/graphics.h +++ b/engines/voyeur/graphics.h @@ -104,6 +104,7 @@ public: void sDrawPic(DisplayResource *srcDisplay, DisplayResource *destDisplay, const Common::Point &initialOffset); void fillPic(DisplayResource *display, byte onOff = 0); void sDisplayPic(PictureResource *pic); + void drawANumber(DisplayResource *display, int num, int offset); void flipPage(); void clearPalette(); void setPalette(const byte *palette, int start, int count); diff --git a/engines/voyeur/voyeur.h b/engines/voyeur/voyeur.h index 264c20346d..1fd6b24ed2 100644 --- a/engines/voyeur/voyeur.h +++ b/engines/voyeur/voyeur.h @@ -151,6 +151,7 @@ public: void checkTransition(); void doTimeBar(int v); void flashTimeBar(); + void checkPhoneCall(); }; } // End of namespace Voyeur diff --git a/engines/voyeur/voyeur_game.cpp b/engines/voyeur/voyeur_game.cpp index f887e73ca6..ff532084be 100644 --- a/engines/voyeur/voyeur_game.cpp +++ b/engines/voyeur/voyeur_game.cpp @@ -273,23 +273,27 @@ void VoyeurEngine::freeTheApt() { } void VoyeurEngine::makeViewFinder() { - error("TODO"); + error("TODO:makeViewFinder"); } void VoyeurEngine::initIFace(){ - error("TODO"); + error("TODO: initIFace"); } void VoyeurEngine::checkTransition(){ - error("TODO"); + error("TODO: checkTransition"); } void VoyeurEngine::doTimeBar(int v) { - error("TODO"); + error("TODO: doTimeBar"); } void VoyeurEngine::flashTimeBar(){ - error("TODO"); + error("TODO: flashTimeBar"); +} + +void VoyeurEngine::checkPhoneCall() { + error("TODO: checkPhoneCall"); } } // End of namespace Voyeur -- cgit v1.2.3 From fc757c3169c2ec9df8064ae9e901fae79105be3a Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Sat, 14 Dec 2013 20:42:16 -0500 Subject: VOYEUR: Fix shadowed variable in doInterface --- engines/voyeur/files_threads.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/engines/voyeur/files_threads.cpp b/engines/voyeur/files_threads.cpp index 532e7f981c..12314df731 100644 --- a/engines/voyeur/files_threads.cpp +++ b/engines/voyeur/files_threads.cpp @@ -1134,7 +1134,7 @@ int ThreadResource::doInterface() { _vm->_soundManager.startVOCPlay(_vm->_soundManager.getVOCFileName(_vm->_playStamp2)); } - Common::Point pt = _vm->_eventsManager.getMousePos() + Common::Point(120, 75); + pt = _vm->_eventsManager.getMousePos() + Common::Point(120, 75); for (int idx = 0; idx < READ_LE_UINT16(dataP); ++idx) { if (READ_LE_UINT16(dataP + (idx * 8 + 2)) <= pt.x && -- cgit v1.2.3 From 798a93d8995011a5cc2cc2a611fb2c6f774d9600 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Sat, 14 Dec 2013 21:08:56 -0500 Subject: VOYEUR: Slight fix to doInterface method --- engines/voyeur/files_threads.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/engines/voyeur/files_threads.cpp b/engines/voyeur/files_threads.cpp index 12314df731..a8cf28841e 100644 --- a/engines/voyeur/files_threads.cpp +++ b/engines/voyeur/files_threads.cpp @@ -1064,7 +1064,8 @@ int ThreadResource::doInterface() { PictureResource *pic; Common::Point pt; - if (_vm->_voy._field478 != _vm->_voy._field46E) { + _vm->_voy._field478 |= 1; + if (_vm->_voy._field46E) { _vm->_voy._field46E = 0; return -2; } -- cgit v1.2.3 From e44fa657e4cfc3c27b4eb607ba1d1cb11aade053 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Sat, 14 Dec 2013 22:27:16 -0500 Subject: VOYEUR: Implemented support methods needed for doApt --- engines/voyeur/events.h | 2 +- engines/voyeur/files.h | 5 + engines/voyeur/files_threads.cpp | 199 +++++++++++++++++++++++++++++++++++++-- engines/voyeur/graphics.cpp | 43 +++++++++ engines/voyeur/graphics.h | 3 + engines/voyeur/voyeur.cpp | 2 +- engines/voyeur/voyeur.h | 3 - engines/voyeur/voyeur_game.cpp | 15 +-- 8 files changed, 244 insertions(+), 28 deletions(-) diff --git a/engines/voyeur/events.h b/engines/voyeur/events.h index decd23341e..9fe3464431 100644 --- a/engines/voyeur/events.h +++ b/engines/voyeur/events.h @@ -110,7 +110,7 @@ public: int _evidence[20]; Common::Array _events; - byte *_field4376; + int _field4376; int _field4378; int _field437A; int _field437C; diff --git a/engines/voyeur/files.h b/engines/voyeur/files.h index 03862838cc..c81761af17 100644 --- a/engines/voyeur/files.h +++ b/engines/voyeur/files.h @@ -423,6 +423,8 @@ public: static void unloadAllStacks(VoyeurEngine *vm); static int _currentMouseX; static int _currentMouseY; + static int _doAptState1; + static int _doAptState2; static void init(); private: @@ -449,6 +451,9 @@ private: void savePrevious(); void setButtonFlag(int idx, byte bits); void clearButtonFlag(int idx, byte bits); + void loadTheApt(); + void freeTheApt(); + void doAptAnim(int mode); public: VoyeurEngine *_vm; diff --git a/engines/voyeur/files_threads.cpp b/engines/voyeur/files_threads.cpp index a8cf28841e..0143084645 100644 --- a/engines/voyeur/files_threads.cpp +++ b/engines/voyeur/files_threads.cpp @@ -33,6 +33,8 @@ byte *ThreadResource::_threadDataPtr; CMapResource *ThreadResource::_cmd14Pal; int ThreadResource::_currentMouseX; int ThreadResource::_currentMouseY; +int ThreadResource::_doAptState1; +int ThreadResource::_doAptState2; void ThreadResource::init() { _stampFlags = 0; @@ -41,6 +43,8 @@ void ThreadResource::init() { _cmd14Pal = nullptr; _currentMouseX = 392; _currentMouseY = 57; + _doAptState1 = -1; + _doAptState2 = -1; } ThreadResource::ThreadResource(BoltFilesState &state, const byte *src): @@ -764,31 +768,31 @@ void ThreadResource::parsePlayCommands() { case 19: _vm->_voy._field472 = 140; - _vm->loadTheApt(); + loadTheApt(); _vm->_voy._field472 = 141; - _vm->freeTheApt(); + freeTheApt(); break; case 20: _vm->_voy._field472 = -1; - _vm->loadTheApt(); + loadTheApt(); _vm->_voy._field472 = 141; - _vm->freeTheApt(); + freeTheApt(); break; case 21: _vm->_voy._field472 = -1; - _vm->loadTheApt(); + loadTheApt(); _vm->_voy._field472 = 140; - _vm->freeTheApt(); + freeTheApt(); break; case 23: _vm->_voy._field474 = 17; _vm->_voy._field472 = -1; - _vm->loadTheApt(); + loadTheApt(); _vm->_voy._field472 = 144; - _vm->freeTheApt(); + freeTheApt(); break; default: @@ -1050,7 +1054,24 @@ bool ThreadResource::cardPerform2(const byte *pSrc, int cardCmdId) { } int ThreadResource::doApt() { - warning("TODO: doApt"); + int varC = -1; + loadTheApt(); + + _vm->_playStamp2 = 151; + byte *dataP = _vm->_bVoy->memberAddr(_vm->_playStamp1); + PictureResource *srcPic = _vm->_bVoy->boltEntry(_vm->_playStamp1 + 3)._picResource; + _vm->_eventsManager.getMouseInfo(); + + if (_doAptState1 == -1) { + _doAptState1 = READ_LE_UINT16(dataP + 18) + 16; + _doAptState2 = READ_LE_UINT16(dataP + 20) + 16; + _vm->_playStamp2 = 153; + } + + if (_vm->_voy._field470 == 16) { + // TODO + } + return 0; } @@ -1319,4 +1340,164 @@ void ThreadResource::clearButtonFlag(int idx, byte bits) { _buttonFlags[idx] &= ~bits; } +void ThreadResource::loadTheApt() { + switch (_vm->_voy._field474) { + case 1: + case 2: + case 5: + case 6: + case 7: + case 8: + case 9: + case 17: + _vm->_playStamp1 = 0x5700; + break; + case 3: + _vm->_playStamp1 = 0x5800; + break; + case 4: + case 10: + case 11: + case 12: + case 13: + case 14: + case 15: + case 16: + _vm->_playStamp1 = 0x5900; + break; + default: + break; + } + + if (_vm->_voy._field472 == 143) + _vm->_voy._field472 = -1; + + if (_vm->_voy._field472 != -1) { + doAptAnim(1); + _vm->_bVoy->getBoltGroup(_vm->_playStamp1); + _vm->_voy._field472 = -1; + _vm->_graphicsManager._backgroundPage = _vm->_bVoy->boltEntry( + _vm->_playStamp1 + 5)._picResource; + (*_vm->_graphicsManager._vPort)->setupViewPort( + _vm->_graphicsManager._backgroundPage); + } else { + _vm->_bVoy->getBoltGroup(_vm->_playStamp1); + _vm->_graphicsManager._backgroundPage = _vm->_bVoy->boltEntry( + _vm->_playStamp1 + 5)._picResource; + (*_vm->_graphicsManager._vPort)->setupViewPort( + _vm->_graphicsManager._backgroundPage); + } + + CMapResource *pal = _vm->_bVoy->boltEntry(_vm->_playStamp1 + 4)._cMapResource; + pal->_steps = 1; + pal->startFade(); + + (*_vm->_graphicsManager._vPort)->_flags |= 8; + _vm->_graphicsManager.flipPage(); + _vm->_eventsManager.sWaitFlip(); + + while (!_vm->shouldQuit() && (_vm->_eventsManager._fadeStatus & 1)) + _vm->_eventsManager.delay(1); +} + +void ThreadResource::freeTheApt() { + _vm->_graphicsManager.fadeDownICF1(5); + (*_vm->_graphicsManager._vPort)->_flags |= 8; + _vm->_graphicsManager.flipPage(); + _vm->_eventsManager.sWaitFlip(); + + while (!_vm->shouldQuit() && (_vm->_eventsManager._fadeStatus & 1)) + _vm->_eventsManager.delay(1); + + _vm->_graphicsManager.fadeUpICF1(0); + + if (_vm->_playStamp2 != -1) { + _vm->_soundManager.stopVOCPlay(); + _vm->_playStamp2 = -1; + } + + if (_vm->_voy._field472 == -1) { + _vm->_graphicsManager.fadeDownICF(6); + } else { + doAptAnim(2); + } + + if (_vm->_voy._field472 == 140) { + _vm->_graphicsManager.screenReset(); + _vm->_graphicsManager.resetPalette(); + } + + (*_vm->_graphicsManager._vPort)->setupViewPort(nullptr); + _vm->_bVoy->freeBoltGroup(_vm->_playStamp1); + _vm->_playStamp1 = -1; + _vm->_voy._field4386 = 0; +} + +void ThreadResource::doAptAnim(int mode) { + _vm->_bVoy->freeBoltGroup(0x10100); + + int id = 0; + switch (_vm->_voy._field472) { + case 140: + id = 0x5A00; + break; + case 141: + id = 0x6000; + break; + case 142: + id = 0x6600; + break; + case 143: + id = 0x6C00; + break; + case 144: + id = 0x6F00; + break; + default: + break; + } + + int id2 = (id == 0x6C00 || id == 0x6F00) ? 1 : 2; + switch (_vm->_voy._field474) { + case 3: + id += id2 << 8; + break; + case 4: + case 10: + case 11: + case 12: + case 13: + case 14: + case 15: + case 16: + id += id2 << 9; + break; + default: + break; + } + + if (mode) + id += 0x100; + + if (_vm->_bVoy->getBoltGroup(id)) { + CMapResource *pal = _vm->_bVoy->boltEntry(id)._cMapResource; + pal->_steps = 1; + + for (int idx = 0; (idx < 6) && !_vm->shouldQuit(); ++idx) { + PictureResource *pic = _vm->_bVoy->boltEntry(id + idx)._picResource; + (*_vm->_graphicsManager._vPort)->setupViewPort(pic); + + (*_vm->_graphicsManager._vPort)->_flags |= 8; + _vm->_graphicsManager.flipPage(); + _vm->_eventsManager.sWaitFlip(); + + _vm->_eventsManager.delay(5); + } + + _vm->_bVoy->freeBoltGroup(id); + } + + _vm->_bVoy->getBoltGroup(0x10100); +} + } // End of namespace Voyeur diff --git a/engines/voyeur/graphics.cpp b/engines/voyeur/graphics.cpp index fbf671c408..96214b7779 100644 --- a/engines/voyeur/graphics.cpp +++ b/engines/voyeur/graphics.cpp @@ -663,4 +663,47 @@ void GraphicsManager::doScroll(const Common::Point &pt) { error("TODO: doScroll"); } +void GraphicsManager::fadeDownICF1(int steps) { + if (steps > 0) { + int stepAmount = _vm->_voy._field4378 / steps; + + for (int idx = 0; idx < steps; ++idx) { + _vm->_voy._field4378 -= stepAmount; + _vm->_eventsManager.delay(1); + } + } + + _vm->_voy._field4378 = 0; +} + +void GraphicsManager::fadeUpICF1(int steps) { + if (steps > 0) { + int stepAmount = (63 - _vm->_voy._field4378) / steps; + + for (int idx = 0; idx < steps; ++idx) { + _vm->_voy._field4378 += stepAmount; + _vm->_eventsManager.delay(1); + } + } + + _vm->_voy._field4378 = 63; +} + +void GraphicsManager::fadeDownICF(int steps) { + if (steps > 0) { + _vm->_eventsManager.mouseOff(); + int stepAmount1 = _vm->_voy._field4376 / steps; + int stepAmount2 = _vm->_voy._field4378 / steps; + + for (int idx = 0; idx < steps; ++idx) { + _vm->_voy._field4376 -= stepAmount1; + _vm->_voy._field4378 -= stepAmount2; + _vm->_eventsManager.delay(1); + } + } + + _vm->_voy._field4376 = 0; + _vm->_voy._field4378 = 0; +} + } // End of namespace Voyeur diff --git a/engines/voyeur/graphics.h b/engines/voyeur/graphics.h index 4c31a449cf..cdd582873a 100644 --- a/engines/voyeur/graphics.h +++ b/engines/voyeur/graphics.h @@ -112,6 +112,9 @@ public: void setColor(int idx, byte r, byte g, byte b); void screenReset(); void doScroll(const Common::Point &pt); + void fadeDownICF1(int steps); + void fadeUpICF1(int steps); + void fadeDownICF(int steps); }; } // End of namespace Voyeur diff --git a/engines/voyeur/voyeur.cpp b/engines/voyeur/voyeur.cpp index 6c4e841243..f143b0d643 100644 --- a/engines/voyeur/voyeur.cpp +++ b/engines/voyeur/voyeur.cpp @@ -134,7 +134,7 @@ void VoyeurEngine::globalInitBolt() { // Setup default flags Common::fill((byte *)&_voy, (byte *)&_voy + sizeof(SVoy), 0); _voy._field478 = 1; - _voy._field4376 = nullptr; // Original set 63h:63h + _voy._field4376 = _voy._field4378 = 127; _voy._field4F2 = 9999; _voy._field472 = -1; _voy._field478 = 256; diff --git a/engines/voyeur/voyeur.h b/engines/voyeur/voyeur.h index 1fd6b24ed2..5d0c26787d 100644 --- a/engines/voyeur/voyeur.h +++ b/engines/voyeur/voyeur.h @@ -87,7 +87,6 @@ private: void closeStamp(); void reviewTape(); bool doGossip(); - int doApt(); void doTapePlaying(); bool checkForMurder(); void checkForIncriminate(); @@ -144,8 +143,6 @@ public: * Saves the last time the game was played */ void saveLastInplay(); - void loadTheApt(); - void freeTheApt(); void makeViewFinder(); void initIFace(); void checkTransition(); diff --git a/engines/voyeur/voyeur_game.cpp b/engines/voyeur/voyeur_game.cpp index ff532084be..93bb9d95b6 100644 --- a/engines/voyeur/voyeur_game.cpp +++ b/engines/voyeur/voyeur_game.cpp @@ -69,7 +69,7 @@ void VoyeurEngine::playStamp() { buttonId = threadP->doInterface(); if (buttonId == -2) { - switch (doApt()) { + switch (threadP->doApt()) { case 0: _voy._field472 = 140; break; @@ -237,11 +237,6 @@ bool VoyeurEngine::doGossip() { return false; } -int VoyeurEngine::doApt() { - warning("TODO"); - return 0; -} - void VoyeurEngine::doTapePlaying() { warning("TODO"); } @@ -264,14 +259,6 @@ int VoyeurEngine::getChooseButton() { return 0; } -void VoyeurEngine::loadTheApt() { - error("TODO: loadTheApt"); -} - -void VoyeurEngine::freeTheApt() { - error("TODO: freeTheApt"); -} - void VoyeurEngine::makeViewFinder() { error("TODO:makeViewFinder"); } -- cgit v1.2.3 From 8eae02966998007397a056c99b7e236c30d88bf1 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Sun, 15 Dec 2013 11:15:58 -0500 Subject: VOYEUR: Fix for resource pointers resolveAll not clearing it's resolve it --- engines/voyeur/files.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/engines/voyeur/files.cpp b/engines/voyeur/files.cpp index fb9bcc3389..ec95664165 100644 --- a/engines/voyeur/files.cpp +++ b/engines/voyeur/files.cpp @@ -382,6 +382,8 @@ void BoltFile::resolveFunction(uint32 id, GraphicMethodPtr *fn) { void BoltFile::resolveAll() { for (uint idx = 0; idx < _state._resolves.size(); ++idx) *_state._resolves[idx]._p = memberAddrOffset(_state._resolves[idx]._id); + + _state._resolves.clear(); } byte *BoltFile::getBoltMember(uint32 id) { -- cgit v1.2.3 From 2f3bb44f5e00c34bd852b65ce8aa04a34941526b Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Sun, 15 Dec 2013 13:28:42 -0500 Subject: VOYEUR: Fix for loading bolt groups --- engines/voyeur/files.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/engines/voyeur/files.cpp b/engines/voyeur/files.cpp index ec95664165..8d0b1a63a4 100644 --- a/engines/voyeur/files.cpp +++ b/engines/voyeur/files.cpp @@ -255,7 +255,7 @@ BoltGroup *BoltFile::getBoltGroup(uint32 id) { if (_state._curGroupPtr->_callInitGro) initGro(); - if ((id >> 16) != 0) { + if ((id >> 8) != 0) { id &= 0xff00; for (int idx = 0; idx < _state._curGroupPtr->_count; ++idx, ++id) { byte *member = getBoltMember(id); -- cgit v1.2.3 From 28ecf5ba53c81389dfd3ef8f7f4ee25d00ced39e Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Sun, 15 Dec 2013 15:08:25 -0500 Subject: VOYEUR: Fix extra flag parameters for getBoltGroup and freeBoltGroup --- engines/voyeur/files.cpp | 27 +++++++++++++++++---------- engines/voyeur/files.h | 7 +++++-- engines/voyeur/files_threads.cpp | 10 ++++++---- engines/voyeur/voyeur.cpp | 18 +++++++++--------- engines/voyeur/voyeur_game.cpp | 4 ++-- 5 files changed, 39 insertions(+), 27 deletions(-) diff --git a/engines/voyeur/files.cpp b/engines/voyeur/files.cpp index 8d0b1a63a4..a9473d4b70 100644 --- a/engines/voyeur/files.cpp +++ b/engines/voyeur/files.cpp @@ -242,7 +242,7 @@ BoltFile::~BoltFile() { _state._curFd = NULL; } -BoltGroup *BoltFile::getBoltGroup(uint32 id) { +BoltGroup *BoltFile::getBoltGroup(uint16 id, bool process) { ++_state._fromGroupFlag; _state._curLibPtr = this; _state._curGroupPtr = &_groups[(id >> 8) & 0xff]; @@ -255,7 +255,8 @@ BoltGroup *BoltFile::getBoltGroup(uint32 id) { if (_state._curGroupPtr->_callInitGro) initGro(); - if ((id >> 8) != 0) { + if (process) { + // Pre-process the resources id &= 0xff00; for (int idx = 0; idx < _state._curGroupPtr->_count; ++idx, ++id) { byte *member = getBoltMember(id); @@ -272,7 +273,9 @@ BoltGroup *BoltFile::getBoltGroup(uint32 id) { return _state._curGroupPtr; } -void BoltFile::freeBoltGroup(uint32 id) { +void BoltFile::freeBoltGroup(uint16 id, bool freeEntries) { + // TODO: I currently ignore freeEntries flag, in favour of always + // freeing. Need to check whether this can really ever be false. _state._curLibPtr = this; _state._curGroupPtr = &_groups[(id >> 8) & 0xff]; @@ -691,9 +694,13 @@ PictureResource::PictureResource(BoltFilesState &state, const byte *src) { _imgData = NULL; int nbytes = _bounds.width() * _bounds.height(); - if (_flags & 0x20) { - error("TODO: sInitPic flags&0x20"); - } else if (_flags & 8) { + if (_flags & PICFLAG_20) { + if (_flags & (PICFLAG_80 | PICFLAG_40)) { + error("TODO: sInitPic"); + } else { + error("TODO: sInitPic"); + } + } else if (_flags & PICFLAG_8) { int mode = 0; if (_bounds.width() == 320) { mode = 147; @@ -724,15 +731,15 @@ PictureResource::PictureResource(BoltFilesState &state, const byte *src) { } // byte *imgData = _imgData; - if (_flags & 0x10) { + if (_flags & PICFLAG_10) { // TODO: Figure out what it's doing. Looks like a direct clearing // of the screen directly } else { // TODO: Figure out direct screen loading } } else { - if (_flags & 0x1000) { - if (!(_flags & 0x10)) + if (_flags & PICFLAG_1000) { + if (!(_flags & PICFLAG_10)) nbytes = state._curMemberPtr->_size - 24; int mask = (nbytes + 0x3FFF) >> 14; @@ -753,7 +760,7 @@ PictureResource::PictureResource(BoltFilesState &state, const byte *src) { } } - if (_flags & 0x10) { + if (_flags & PICFLAG_10) { _imgData = new byte[nbytes]; Common::fill(_imgData, _imgData + nbytes, 0); } else { diff --git a/engines/voyeur/files.h b/engines/voyeur/files.h index c81761af17..28c77bb5f1 100644 --- a/engines/voyeur/files.h +++ b/engines/voyeur/files.h @@ -119,8 +119,8 @@ public: BoltFile(const Common::String &filename, BoltFilesState &state); virtual ~BoltFile(); - BoltGroup *getBoltGroup(uint32 id); - void freeBoltGroup(uint32 id); + BoltGroup *getBoltGroup(uint16 id, bool process = true); + void freeBoltGroup(uint16 id, bool freeEntries = true); void freeBoltMember(uint32 id); byte *memberAddr(uint32 id); byte *memberAddrOffset(uint32 id); @@ -241,6 +241,9 @@ public: /* bvoy.blt resource types */ +enum PictureFlag { PICFLAG_8 = 8, PICFLAG_10 = 0x10, PICFLAG_20 = 0x20, + PICFLAG_40 = 0x40, PICFLAG_80 = 0x80, PICFLAG_1000 = 0x1000 }; + class PictureResource: public DisplayResource { public: byte _select; diff --git a/engines/voyeur/files_threads.cpp b/engines/voyeur/files_threads.cpp index 0143084645..944fbc0c6e 100644 --- a/engines/voyeur/files_threads.cpp +++ b/engines/voyeur/files_threads.cpp @@ -421,7 +421,7 @@ void ThreadResource::parsePlayCommands() { _vm->_eventsManager.incrementTime(1); _vm->_eventsManager.incrementTime(1); - _vm->_bVoy->freeBoltGroup(0x17F00); + _vm->_bVoy->freeBoltGroup(0x7F00); _vm->_voy._field478 = -17; _vm->_eventsManager._videoComputerBut4 = -1; _vm->_voy._field470 = 129; @@ -459,7 +459,7 @@ void ThreadResource::parsePlayCommands() { _vm->_playStamp1 = -1; if (_vm->_eventsManager._videoDead != -1) { - _vm->_bVoy->freeBoltGroup(0x10E00); + _vm->_bVoy->freeBoltGroup(0xE00); _vm->_eventsManager._videoDead = -1; (*_vm->_graphicsManager._vPort)->_flags |= 8; @@ -1434,8 +1434,9 @@ void ThreadResource::freeTheApt() { } void ThreadResource::doAptAnim(int mode) { - _vm->_bVoy->freeBoltGroup(0x10100); + _vm->_bVoy->freeBoltGroup(0x100, true); + // Figure out the resource to use int id = 0; switch (_vm->_voy._field472) { case 140: @@ -1479,6 +1480,7 @@ void ThreadResource::doAptAnim(int mode) { if (mode) id += 0x100; + // Do the display if (_vm->_bVoy->getBoltGroup(id)) { CMapResource *pal = _vm->_bVoy->boltEntry(id)._cMapResource; pal->_steps = 1; @@ -1497,7 +1499,7 @@ void ThreadResource::doAptAnim(int mode) { _vm->_bVoy->freeBoltGroup(id); } - _vm->_bVoy->getBoltGroup(0x10100); + _vm->_bVoy->getBoltGroup(0x100); } } // End of namespace Voyeur diff --git a/engines/voyeur/voyeur.cpp b/engines/voyeur/voyeur.cpp index f143b0d643..bb8b137b3e 100644 --- a/engines/voyeur/voyeur.cpp +++ b/engines/voyeur/voyeur.cpp @@ -124,8 +124,8 @@ void VoyeurEngine::globalInitBolt() { initBolt(); _filesManager.openBoltLib("bvoy.blt", _bVoy); - _bVoy->getBoltGroup(0x10000); - _bVoy->getBoltGroup(0x10100); + _bVoy->getBoltGroup(0x000); + _bVoy->getBoltGroup(0x100); _graphicsManager._fontPtr = &_defaultFontInfo; _graphicsManager._fontPtr->_curFont = _bVoy->boltEntry(0x101)._fontResource; @@ -163,7 +163,7 @@ bool VoyeurEngine::doHeadTitle() { _eventsManager.startMainClockInt(); // Show starting screen -// if (_bVoy->getBoltGroup(0x10500)) +// if (_bVoy->getBoltGroup(0x500)) // showConversionScreen(); if (shouldQuit()) return false; @@ -236,7 +236,7 @@ void VoyeurEngine::showConversionScreen() { _eventsManager.delay(1); _graphicsManager.screenReset(); - _bVoy->freeBoltGroup(0x10500); + _bVoy->freeBoltGroup(0x500); } @@ -253,7 +253,7 @@ bool VoyeurEngine::doLock() { int keyCount; int key; - if (_bVoy->getBoltGroup(0x10700)) { + if (_bVoy->getBoltGroup(0x700)) { lock.getSysDate(); lock.getThePassword(); @@ -416,7 +416,7 @@ bool VoyeurEngine::doLock() { lock.saveThePassword(); _voy._field4386 = NULL; - _bVoy->freeBoltGroup(0x10700); + _bVoy->freeBoltGroup(0x700); } _eventsManager.mouseOff(); @@ -428,7 +428,7 @@ bool VoyeurEngine::doLock() { } void VoyeurEngine::showTitleScreen() { - if (_bVoy->getBoltGroup(0x10500)) { + if (_bVoy->getBoltGroup(0x500)) { _graphicsManager._backgroundPage = _bVoy->getPictureResource(0x500); (*_graphicsManager._vPort)->setupViewPort(); @@ -468,7 +468,7 @@ void VoyeurEngine::showTitleScreen() { playRL2Video("a1100100.rl2"); _graphicsManager.screenReset(); - _bVoy->freeBoltGroup(0x10500); + _bVoy->freeBoltGroup(0x500); } } @@ -476,7 +476,7 @@ void VoyeurEngine::doOpening() { /* _graphicsManager.screenReset(); - if (!_bVoy->getBoltGroup(0x10200)) + if (!_bVoy->getBoltGroup(0x200, true)) return; byte *frameTable = _bVoy->memberAddr(0x215); diff --git a/engines/voyeur/voyeur_game.cpp b/engines/voyeur/voyeur_game.cpp index 93bb9d95b6..172150360d 100644 --- a/engines/voyeur/voyeur_game.cpp +++ b/engines/voyeur/voyeur_game.cpp @@ -39,7 +39,7 @@ void VoyeurEngine::playStamp() { _stampLibPtr = NULL; _filesManager.openBoltLib("stampblt.blt", _stampLibPtr); - _stampLibPtr->getBoltGroup(0x10000); + _stampLibPtr->getBoltGroup(0); _resolvePtr = &RESOLVE_TABLE[0]; initStamp(); @@ -210,7 +210,7 @@ void VoyeurEngine::playStamp() { _voy._field4386 = 0; closeStamp(); - _stampLibPtr->freeBoltGroup(0x10000); + _stampLibPtr->freeBoltGroup(0); delete _stampLibPtr; } -- cgit v1.2.3 From 663d08b192027a534f077168b72e79fe63a799fd Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Sun, 15 Dec 2013 17:51:47 -0500 Subject: VOYEUR: Fix for when multiple bolt files are open --- engines/voyeur/files.cpp | 10 ++++++---- engines/voyeur/files.h | 3 ++- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/engines/voyeur/files.cpp b/engines/voyeur/files.cpp index a9473d4b70..28f4763877 100644 --- a/engines/voyeur/files.cpp +++ b/engines/voyeur/files.cpp @@ -163,9 +163,10 @@ byte *BoltFilesState::decompress(byte *buf, int size, int mode) { #undef NEXT_BYTE void BoltFilesState::nextBlock() { - if (_curFilePosition != _bufferEnd) - _curFd->seek(_bufferEnd); + if (&_curLibPtr->_file != _curFd || _curFilePosition != _bufferEnd) + _curLibPtr->_file.seek(_bufferEnd); + _curFd = &_curLibPtr->_file; _bufferBegin = _bufferEnd; int bytesRead = _curFd->read(_bufStart, _bufSize); @@ -219,7 +220,6 @@ byte *FilesManager::fload(const Common::String &filename, int *size) { /*------------------------------------------------------------------------*/ BoltFile::BoltFile(const Common::String &filename, BoltFilesState &state): _state(state) { - _state._curFd = &_file; if (!_file.open(filename)) error("Could not open %s", filename.c_str()); _state._curFilePosition = 0; @@ -233,13 +233,15 @@ BoltFile::BoltFile(const Common::String &filename, BoltFilesState &state): _stat int totalGroups = header[11] ? header[11] : 0x100; for (int i = 0; i < totalGroups; ++i) - _groups.push_back(BoltGroup(_state._curFd)); + _groups.push_back(BoltGroup(&_file)); } BoltFile::~BoltFile() { _file.close(); if (_state._curFd == &_file) _state._curFd = NULL; + if (_state._curLibPtr == this) + _state._curLibPtr = NULL; } BoltGroup *BoltFile::getBoltGroup(uint16 id, bool process) { diff --git a/engines/voyeur/files.h b/engines/voyeur/files.h index 28c77bb5f1..e82d6a83bc 100644 --- a/engines/voyeur/files.h +++ b/engines/voyeur/files.h @@ -100,7 +100,6 @@ public: class BoltFile { private: Common::Array _groups; - Common::File _file; protected: BoltFilesState &_state; @@ -115,6 +114,8 @@ private: void termMem() {} // TODO void initGro() {} // TODO void termGro() {} // TODO +public: + Common::File _file; public: BoltFile(const Common::String &filename, BoltFilesState &state); virtual ~BoltFile(); -- cgit v1.2.3 From e132e8b7c1c99c503a9e369dbe9bb7383fd0c221 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Sun, 15 Dec 2013 19:01:44 -0500 Subject: VOYEUR: Implemented doApt --- engines/voyeur/files.h | 4 +- engines/voyeur/files_threads.cpp | 105 +++++++++++++++++++++++++++++++++++---- 2 files changed, 98 insertions(+), 11 deletions(-) diff --git a/engines/voyeur/files.h b/engines/voyeur/files.h index e82d6a83bc..0a7df284cc 100644 --- a/engines/voyeur/files.h +++ b/engines/voyeur/files.h @@ -427,8 +427,8 @@ public: static void unloadAllStacks(VoyeurEngine *vm); static int _currentMouseX; static int _currentMouseY; - static int _doAptState1; - static int _doAptState2; + static int _doAptPosX; + static int _doAptPosY; static void init(); private: diff --git a/engines/voyeur/files_threads.cpp b/engines/voyeur/files_threads.cpp index 944fbc0c6e..3411d7e064 100644 --- a/engines/voyeur/files_threads.cpp +++ b/engines/voyeur/files_threads.cpp @@ -33,8 +33,8 @@ byte *ThreadResource::_threadDataPtr; CMapResource *ThreadResource::_cmd14Pal; int ThreadResource::_currentMouseX; int ThreadResource::_currentMouseY; -int ThreadResource::_doAptState1; -int ThreadResource::_doAptState2; +int ThreadResource::_doAptPosX; +int ThreadResource::_doAptPosY; void ThreadResource::init() { _stampFlags = 0; @@ -43,8 +43,8 @@ void ThreadResource::init() { _cmd14Pal = nullptr; _currentMouseX = 392; _currentMouseY = 57; - _doAptState1 = -1; - _doAptState2 = -1; + _doAptPosX = -1; + _doAptPosY = -1; } ThreadResource::ThreadResource(BoltFilesState &state, const byte *src): @@ -1062,17 +1062,104 @@ int ThreadResource::doApt() { PictureResource *srcPic = _vm->_bVoy->boltEntry(_vm->_playStamp1 + 3)._picResource; _vm->_eventsManager.getMouseInfo(); - if (_doAptState1 == -1) { - _doAptState1 = READ_LE_UINT16(dataP + 18) + 16; - _doAptState2 = READ_LE_UINT16(dataP + 20) + 16; + if (_doAptPosX == -1) { + _doAptPosX = READ_LE_UINT16(dataP + 18) + 16; + _doAptPosY = READ_LE_UINT16(dataP + 20) + 16; _vm->_playStamp2 = 153; } if (_vm->_voy._field470 == 16) { - // TODO + WRITE_LE_UINT16(dataP + 2, 999); + WRITE_LE_UINT16(dataP + 26, 999); + _doAptPosX = READ_LE_UINT16(dataP + 34) + 28; + _doAptPosY = READ_LE_UINT16(dataP + 36) + 28; } - return 0; + _vm->_eventsManager.setMousePos(Common::Point(_doAptPosX, _doAptPosY)); + _vm->_soundManager.startVOCPlay(_vm->_soundManager.getVOCFileName(_vm->_playStamp2)); + _vm->_playStamp2 = 151; + + _vm->_graphicsManager.setColor(129, 82, 82, 82); + _vm->_graphicsManager.setColor(130, 112, 112, 112); + _vm->_graphicsManager.setColor(131, 215, 215, 215); + _vm->_graphicsManager.setColor(132, 235, 235, 235); + + _vm->_eventsManager._intPtr.field38 = true; + _vm->_eventsManager._intPtr._hasPalette = true; + + int result; + Common::Point pt; + PictureResource *pic; + do { + _vm->_eventsManager.getMouseInfo(); + if (_vm->_soundManager.getVOCStatus()) { + _vm->_playStamp2 = _vm->getRandomNumber(4) + 151; + _vm->_soundManager.startVOCPlay(_vm->_soundManager.getVOCFileName(_vm->_playStamp2)); + } + + result = -1; + pt = _vm->_eventsManager.getMousePos(); + for (int idx = 0; idx < READ_LE_UINT16(dataP); ++idx) { + if (READ_LE_UINT16(dataP + idx * 8 + 2) <= pt.x && + READ_LE_UINT16(dataP + idx * 8 + 6) >= pt.x && + READ_LE_UINT16(dataP + idx * 8 + 4) <= pt.y && + READ_LE_UINT16(dataP + idx * 8 + 8) >= pt.y) { + // Found entry + result = idx; + + if (idx != varC) { + if ((_vm->_voy._field478 & 0x100) && (result == 2)) + result = 5; + + pic = _vm->_bVoy->boltEntry(_vm->_playStamp1 + + result + 6)._picResource; + _vm->_graphicsManager.sDrawPic(pic, *_vm->_graphicsManager._vPort, + Common::Point(106, 200)); + } + + break; + } + } + + pic = _vm->_bVoy->boltEntry((result == -1) ? _vm->_playStamp1 + 2 : + _vm->_playStamp1 + 3)._picResource; + _vm->_graphicsManager.sDrawPic(pic, *_vm->_graphicsManager._vPort, pt); + + (*_vm->_graphicsManager._vPort)->_flags |= 8; + _vm->_graphicsManager.flipPage(); + _vm->_eventsManager.sWaitFlip(); + + } while (!_vm->shouldQuit() && !_vm->_voy._lastInplay && result == -1); + + pt = _vm->_eventsManager.getMousePos(); + _doAptPosX = pt.x; + _doAptPosY = pt.y; + + switch (result) { + case 0: + _vm->_voy._field472 = 140; + break; + case 1: + _vm->_voy._field472 = 143; + break; + case 2: + _vm->_voy._field472 = 142; + case 5: + _vm->_voy._field472 = 141; + break; + default: + _vm->_voy._field472 = -1; + break; + } + + freeTheApt(); + if (_vm->_voy._field474 == 1 && result == 0) + _vm->checkTransition(); + + if (!result) + _vm->makeViewFinder(); + + return result; } void ThreadResource::doRoom() { -- cgit v1.2.3 From 7d8aa0a506ea635a1e60ebef34a704b8d7a24fde Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Sun, 15 Dec 2013 20:11:11 -0500 Subject: VOYEUR: Implemented getVOCFileName --- engines/voyeur/sound.cpp | 12 ++++++++++-- engines/voyeur/staticres.cpp | 31 +++++++++++++++++++++++++++++++ engines/voyeur/staticres.h | 2 ++ 3 files changed, 43 insertions(+), 2 deletions(-) diff --git a/engines/voyeur/sound.cpp b/engines/voyeur/sound.cpp index 752a35dcc8..ea6f9fa525 100644 --- a/engines/voyeur/sound.cpp +++ b/engines/voyeur/sound.cpp @@ -24,6 +24,7 @@ #include "audio/decoders/raw.h" #include "common/memstream.h" #include "voyeur/sound.h" +#include "voyeur/staticres.h" namespace Voyeur { @@ -60,11 +61,18 @@ void SoundManager::setVOCOffset(int offset) { } Common::String SoundManager::getVOCFileName(int idx) { - error("TODO: getVOCFileName"); + return Common::String::format("%s.voc", VOC_FILENAMES[idx]); } void SoundManager::startVOCPlay(const Common::String &filename) { - error("TODO: startVOCPlay"); + Common::File f; + if (!f.open(filename)) + error("Could not find voc file - %s", filename.c_str()); + + Audio::AudioStream *audioStream = Audio::makeVOCStream(f.readStream(f.size()), + Audio::FLAG_UNSIGNED, DisposeAfterUse::YES); + + _mixer->playStream(Audio::Mixer::kSFXSoundType, &_soundHandle, audioStream); } int SoundManager::getVOCStatus() { diff --git a/engines/voyeur/staticres.cpp b/engines/voyeur/staticres.cpp index f5dd561758..0056bbee22 100644 --- a/engines/voyeur/staticres.cpp +++ b/engines/voyeur/staticres.cpp @@ -74,4 +74,35 @@ const int COMP_BUT_TABLE[] = { 68, 79, 98, 102 }; +const char *const VOC_FILENAMES[] = { + "A2110100", nullptr, "A2300100", nullptr, "B1220100", nullptr, "C1220100", nullptr, + "C1290100", nullptr, "D1220100", nullptr, "D1270100", nullptr, "E1210100", nullptr, + "E1260100", nullptr, "E1280100", nullptr, "E1325100", nullptr, "F1200100", nullptr, + "G1250100", nullptr, "G1260100", nullptr, "H1200100", nullptr, "H1230100", nullptr, + "H1310100", nullptr, "I1300100", nullptr, "J1220100", nullptr, "J1230100", nullptr, + "J1320100", nullptr, "K1260100", nullptr, "K1280100", nullptr, "K1325100", nullptr, + "L1210100", nullptr, "L1280100", nullptr, "L1290100", nullptr, "L1300100", nullptr, + "L1310100", nullptr, "M1260100", nullptr, "M1310100", nullptr, "N1210100", nullptr, + "N1225100", nullptr, "N1275510", nullptr, "N1280510", nullptr, "N1325100", nullptr, + "O1230100", nullptr, "O1260100", nullptr, "O1260520", nullptr, "O1280100", nullptr, + "O1325540", nullptr, "P1276710", nullptr, "P1280540", nullptr, "P1280740", nullptr, + "P1290510", nullptr, "P1325100", nullptr, "P1325300", nullptr, "P1325520", nullptr, + "Q1230100", nullptr, "Q1240530", nullptr, "Q1240730", nullptr, "Q1260100", nullptr, + "Q1260520", nullptr, "Q1260720", nullptr, "Q1325100", nullptr, "R1280540", nullptr, + "Z1110510", nullptr, "Z1110520", nullptr, "Z1110530", nullptr, "Z1110540", nullptr, + "Z1110545", nullptr, "Z2320100", nullptr, "Z2905300", nullptr, "Z3110100", nullptr, + "Z3115510", nullptr, "Z3115520", nullptr, "Z3115530", nullptr, "Z3115540", nullptr, + "Z4915100", nullptr, "Z4915200", nullptr, "Z4915300", + nullptr, nullptr, nullptr, nullptr, nullptr, + "MMARG", "MZACK", "MREED", "MJESSI", "MCHLOE", "MCAMERA", "MENDCRED", + "NEWCALL2", "PHONE1", "PHONE2", "PHONE3", "PHONE6", "PHONE8", + "B1300100", "C1250100", "C1320100", "D1320100", "E1210200", "E1260200", + "E1280200", "E1310100", "G1230100", "G1300100", "I1210100", "I1270100", + "I1280100", "J1250100", "J1280100", "K1260200", "K1270100", "K1325200", + "L1240100", "M1200100", "M1230100", "M1290100", "N1250100", "N1260100", + "N1280100", "O1250510", "O1290510", "O1320510", "O1320710", "P1240100", + "P1240530", "P1260100", "P1270100", "P1280100", "P1280530", "P1320530", + "Q1240100", "E1325100" +}; + } // End of namespace Voyeur diff --git a/engines/voyeur/staticres.h b/engines/voyeur/staticres.h index e9c4164848..505b64411e 100644 --- a/engines/voyeur/staticres.h +++ b/engines/voyeur/staticres.h @@ -39,6 +39,8 @@ extern const int BLIND_TABLE[]; extern const int COMP_BUT_TABLE[]; +extern const char *const VOC_FILENAMES[]; + } // End of namespace Voyeur #endif -- cgit v1.2.3 From 5dde350ba085e0d22001614f354bd3718490bffe Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Mon, 16 Dec 2013 22:21:11 -0500 Subject: VOYEUR: Implemented getVOCStatus --- engines/voyeur/sound.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/engines/voyeur/sound.cpp b/engines/voyeur/sound.cpp index ea6f9fa525..baad356c07 100644 --- a/engines/voyeur/sound.cpp +++ b/engines/voyeur/sound.cpp @@ -76,7 +76,7 @@ void SoundManager::startVOCPlay(const Common::String &filename) { } int SoundManager::getVOCStatus() { - error("TODO: getVOCStatus"); + return _mixer->isSoundHandleActive(_soundHandle); } } // End of namespace Voyeur -- cgit v1.2.3 From 2346671e7c9d8034d79e72549e3e468deadefdbd Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Mon, 16 Dec 2013 22:21:41 -0500 Subject: VOYEUR: Resource fix in doAptAnim --- engines/voyeur/files_threads.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/engines/voyeur/files_threads.cpp b/engines/voyeur/files_threads.cpp index 3411d7e064..903ff4fbbe 100644 --- a/engines/voyeur/files_threads.cpp +++ b/engines/voyeur/files_threads.cpp @@ -1573,7 +1573,7 @@ void ThreadResource::doAptAnim(int mode) { pal->_steps = 1; for (int idx = 0; (idx < 6) && !_vm->shouldQuit(); ++idx) { - PictureResource *pic = _vm->_bVoy->boltEntry(id + idx)._picResource; + PictureResource *pic = _vm->_bVoy->boltEntry(id + idx + 1)._picResource; (*_vm->_graphicsManager._vPort)->setupViewPort(pic); (*_vm->_graphicsManager._vPort)->_flags |= 8; -- cgit v1.2.3 From b99176fee6f8f3f78783f19ba760fbb35647044b Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Tue, 17 Dec 2013 20:18:01 -0500 Subject: VOYEUR: Fix for sound playback in the apartment --- engines/voyeur/files_threads.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/engines/voyeur/files_threads.cpp b/engines/voyeur/files_threads.cpp index 903ff4fbbe..eb9f27d0e5 100644 --- a/engines/voyeur/files_threads.cpp +++ b/engines/voyeur/files_threads.cpp @@ -1092,7 +1092,7 @@ int ThreadResource::doApt() { PictureResource *pic; do { _vm->_eventsManager.getMouseInfo(); - if (_vm->_soundManager.getVOCStatus()) { + if (!_vm->_soundManager.getVOCStatus()) { _vm->_playStamp2 = _vm->getRandomNumber(4) + 151; _vm->_soundManager.startVOCPlay(_vm->_soundManager.getVOCFileName(_vm->_playStamp2)); } -- cgit v1.2.3 From 23f9cb19b4e4d36b2a1c52847a54a8ae9c430f32 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Wed, 18 Dec 2013 08:53:44 -0500 Subject: VOYEUR: In progress work on fixing initial apartment animation --- engines/voyeur/events.cpp | 9 ++++----- engines/voyeur/files_threads.cpp | 3 ++- engines/voyeur/graphics.cpp | 32 ++++++++++++++++++++++++++++++++ engines/voyeur/graphics.h | 1 + 4 files changed, 39 insertions(+), 6 deletions(-) diff --git a/engines/voyeur/events.cpp b/engines/voyeur/events.cpp index 6dbd7de4a5..b752c50c0c 100644 --- a/engines/voyeur/events.cpp +++ b/engines/voyeur/events.cpp @@ -201,8 +201,8 @@ void EventsManager::videoTimer() { if (_gameData._hasPalette) { _gameData._hasPalette = false; - g_system->getPaletteManager()->setPalette(_gameData._palette, - _gameData._palStartIndex, + g_system->getPaletteManager()->setPalette(_gameData._palette + + _gameData._palStartIndex * 3, _gameData._palStartIndex, _gameData._palEndIndex - _gameData._palStartIndex + 1); } } @@ -423,14 +423,13 @@ void EventsManager::getMouseInfo() { if ((_gameCounter - _joe) > 8) { _joe = _gameCounter; - // TODO: Figure out difference between setOneColor and setColor calls if (_vm->_bob) { _vm->_bob = false; - //_vm->_graphicsManager.setColor(128, 55, 5, 5); + _vm->_graphicsManager.setOneColor(128, 55, 5, 5); _vm->_graphicsManager.setColor(128, 220, 20, 20); } else { _vm->_bob = true; - //_vm->_graphicsManager.setColor(128, 55, 55, 55); + _vm->_graphicsManager.setOneColor(128, 55, 55, 55); _vm->_graphicsManager.setColor(128, 220, 20, 20); } } diff --git a/engines/voyeur/files_threads.cpp b/engines/voyeur/files_threads.cpp index eb9f27d0e5..c8080641f1 100644 --- a/engines/voyeur/files_threads.cpp +++ b/engines/voyeur/files_threads.cpp @@ -1575,12 +1575,13 @@ void ThreadResource::doAptAnim(int mode) { for (int idx = 0; (idx < 6) && !_vm->shouldQuit(); ++idx) { PictureResource *pic = _vm->_bVoy->boltEntry(id + idx + 1)._picResource; (*_vm->_graphicsManager._vPort)->setupViewPort(pic); + pal->startFade(); (*_vm->_graphicsManager._vPort)->_flags |= 8; _vm->_graphicsManager.flipPage(); _vm->_eventsManager.sWaitFlip(); - _vm->_eventsManager.delay(5); + _vm->_eventsManager.delay(50); } _vm->_bVoy->freeBoltGroup(id); diff --git a/engines/voyeur/graphics.cpp b/engines/voyeur/graphics.cpp index 96214b7779..25f63a99a2 100644 --- a/engines/voyeur/graphics.cpp +++ b/engines/voyeur/graphics.cpp @@ -56,6 +56,7 @@ GraphicsManager::GraphicsManager(): _backgroundPage = NULL; _vPort = NULL; _fontPtr = NULL; + Common::fill(&_VGAColors[0], &_VGAColors[PALETTE_SIZE], 0); } void GraphicsManager::sInitGraphics() { @@ -350,6 +351,7 @@ void GraphicsManager::sDrawPic(DisplayResource *srcDisplay, DisplayResource *des // loc_25D40 if (srcFlags & DISPFLAG_100) { // loc_25D4A + error("TODO: sDrawPic"); } else { // loc_2606D destP = (byte *)_screenSurface.getPixels() + screenOffset; @@ -453,13 +455,35 @@ error("TODO: var22/var24/var2C not initialised before use?"); } } else { if (srcFlags & 0x100) { + // Simple run-length encoded image srcP = srcImgData; if (isClipped) { // loc_26424 + error("TODO: sDrawPic"); } else { // loc_26543 + for (int yp = 0; yp < height1; ++yp) { + int runLength = 0; + for (int xp = 0; xp < width2; ++xp, --runLength) { + if (runLength <= 0) { + // Start of run length, so get pixel and repeat length + pixel = *srcP++; + if (pixel & 0x80) { + pixel &= 0x7f; + runLength = *srcP++; + if (runLength == 0) + runLength = width2; + } + } + + // Copy pixel to output + *destP++ = pixel; + } + + destP += widthDiff2; + } } } else { for (int yp = 0; yp < height1; ++yp) { @@ -646,6 +670,14 @@ void GraphicsManager::setColor(int idx, byte r, byte g, byte b) { _vm->_eventsManager._intPtr._palEndIndex = MAX(_vm->_eventsManager._intPtr._palEndIndex, idx); } +void GraphicsManager::setOneColor(int idx, byte r, byte g, byte b) { + byte palEntry[3]; + palEntry[0] = r; + palEntry[1] = g; + palEntry[2] = b; + g_system->getPaletteManager()->setPalette(&palEntry[0], idx, 1); +} + void GraphicsManager::screenReset() { resetPalette(); diff --git a/engines/voyeur/graphics.h b/engines/voyeur/graphics.h index cdd582873a..549d05f911 100644 --- a/engines/voyeur/graphics.h +++ b/engines/voyeur/graphics.h @@ -110,6 +110,7 @@ public: void setPalette(const byte *palette, int start, int count); void resetPalette(); void setColor(int idx, byte r, byte g, byte b); + void setOneColor(int idx, byte r, byte g, byte b); void screenReset(); void doScroll(const Common::Point &pt); void fadeDownICF1(int steps); -- cgit v1.2.3 From 29fe53993bae1c3317901d7a333588dbb8ba6d83 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Wed, 18 Dec 2013 09:03:18 -0500 Subject: VOYEUR: Fix error in vDoFadeInt --- engines/voyeur/events.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/engines/voyeur/events.cpp b/engines/voyeur/events.cpp index b752c50c0c..2cf3d9edb5 100644 --- a/engines/voyeur/events.cpp +++ b/engines/voyeur/events.cpp @@ -337,6 +337,7 @@ void EventsManager::vDoFadeInt() { if (--_fadeCount == 0) { _fadeIntNode._flags |= 1; _fadeStatus &= ~1; + return; } -- cgit v1.2.3 From 1a4c6d46ace615ec82893dcd11b6e5a4260496a4 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Wed, 18 Dec 2013 09:17:47 -0500 Subject: VOYEUR: Reset doAptAnim frame delay back to what it should be --- engines/voyeur/files_threads.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/engines/voyeur/files_threads.cpp b/engines/voyeur/files_threads.cpp index c8080641f1..bf68659b35 100644 --- a/engines/voyeur/files_threads.cpp +++ b/engines/voyeur/files_threads.cpp @@ -1581,7 +1581,7 @@ void ThreadResource::doAptAnim(int mode) { _vm->_graphicsManager.flipPage(); _vm->_eventsManager.sWaitFlip(); - _vm->_eventsManager.delay(50); + _vm->_eventsManager.delay(5); } _vm->_bVoy->freeBoltGroup(id); -- cgit v1.2.3 From 6cd2d0139797e47527190d670cbf6453277046f0 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Wed, 18 Dec 2013 09:34:48 -0500 Subject: VOYEUR: Fixes for doApt mouse handling --- engines/voyeur/files_threads.cpp | 64 ++++++++++++++++++++++------------------ 1 file changed, 35 insertions(+), 29 deletions(-) diff --git a/engines/voyeur/files_threads.cpp b/engines/voyeur/files_threads.cpp index bf68659b35..c4e4708391 100644 --- a/engines/voyeur/files_threads.cpp +++ b/engines/voyeur/files_threads.cpp @@ -1054,25 +1054,25 @@ bool ThreadResource::cardPerform2(const byte *pSrc, int cardCmdId) { } int ThreadResource::doApt() { - int varC = -1; loadTheApt(); _vm->_playStamp2 = 151; - byte *dataP = _vm->_bVoy->memberAddr(_vm->_playStamp1); + _vm->_voy._field4386 = _vm->_bVoy->memberAddr(_vm->_playStamp1); + byte *hotspotsP = _vm->_bVoy->memberAddr(_vm->_playStamp1 + 1); PictureResource *srcPic = _vm->_bVoy->boltEntry(_vm->_playStamp1 + 3)._picResource; _vm->_eventsManager.getMouseInfo(); if (_doAptPosX == -1) { - _doAptPosX = READ_LE_UINT16(dataP + 18) + 16; - _doAptPosY = READ_LE_UINT16(dataP + 20) + 16; + _doAptPosX = READ_LE_UINT16(hotspotsP + 18) + 16; + _doAptPosY = READ_LE_UINT16(hotspotsP + 20) + 16; _vm->_playStamp2 = 153; } if (_vm->_voy._field470 == 16) { - WRITE_LE_UINT16(dataP + 2, 999); - WRITE_LE_UINT16(dataP + 26, 999); - _doAptPosX = READ_LE_UINT16(dataP + 34) + 28; - _doAptPosY = READ_LE_UINT16(dataP + 36) + 28; + WRITE_LE_UINT16(hotspotsP + 2, 999); + WRITE_LE_UINT16(hotspotsP + 26, 999); + _doAptPosX = READ_LE_UINT16(hotspotsP + 34) + 28; + _doAptPosY = READ_LE_UINT16(hotspotsP + 36) + 28; } _vm->_eventsManager.setMousePos(Common::Point(_doAptPosX, _doAptPosY)); @@ -1087,32 +1087,37 @@ int ThreadResource::doApt() { _vm->_eventsManager._intPtr.field38 = true; _vm->_eventsManager._intPtr._hasPalette = true; - int result; + // Main loop to allow users to move the cursor and select hotspots + int hotspotId; + int prevHotspotId = -1; Common::Point pt; PictureResource *pic; do { _vm->_eventsManager.getMouseInfo(); if (!_vm->_soundManager.getVOCStatus()) { + // Previous sound ended, so start up a new one _vm->_playStamp2 = _vm->getRandomNumber(4) + 151; _vm->_soundManager.startVOCPlay(_vm->_soundManager.getVOCFileName(_vm->_playStamp2)); } - result = -1; + // Loop through the hotspot list + hotspotId = -1; pt = _vm->_eventsManager.getMousePos(); - for (int idx = 0; idx < READ_LE_UINT16(dataP); ++idx) { - if (READ_LE_UINT16(dataP + idx * 8 + 2) <= pt.x && - READ_LE_UINT16(dataP + idx * 8 + 6) >= pt.x && - READ_LE_UINT16(dataP + idx * 8 + 4) <= pt.y && - READ_LE_UINT16(dataP + idx * 8 + 8) >= pt.y) { - // Found entry - result = idx; - - if (idx != varC) { - if ((_vm->_voy._field478 & 0x100) && (result == 2)) - result = 5; - + for (int idx = 0; idx < READ_LE_UINT16(hotspotsP); ++idx) { + if (pt.x > READ_LE_UINT16(hotspotsP + idx * 8 + 2) && + pt.x < READ_LE_UINT16(hotspotsP + idx * 8 + 6) && + pt.y > READ_LE_UINT16(hotspotsP + idx * 8 + 4) && + pt.y < READ_LE_UINT16(hotspotsP + idx * 8 + 8)) { + // Cursor is within hotspot area + hotspotId = idx; + + if (idx != prevHotspotId) { + if ((_vm->_voy._field478 & 0x100) && (hotspotId == 2)) + hotspotId = 5; + + // Draw the text description for the highlighted hotspot pic = _vm->_bVoy->boltEntry(_vm->_playStamp1 + - result + 6)._picResource; + hotspotId + 6)._picResource; _vm->_graphicsManager.sDrawPic(pic, *_vm->_graphicsManager._vPort, Common::Point(106, 200)); } @@ -1121,7 +1126,8 @@ int ThreadResource::doApt() { } } - pic = _vm->_bVoy->boltEntry((result == -1) ? _vm->_playStamp1 + 2 : + // Draw either standard or highlighted eye cursor + pic = _vm->_bVoy->boltEntry((hotspotId == -1) ? _vm->_playStamp1 + 2 : _vm->_playStamp1 + 3)._picResource; _vm->_graphicsManager.sDrawPic(pic, *_vm->_graphicsManager._vPort, pt); @@ -1129,13 +1135,13 @@ int ThreadResource::doApt() { _vm->_graphicsManager.flipPage(); _vm->_eventsManager.sWaitFlip(); - } while (!_vm->shouldQuit() && !_vm->_voy._lastInplay && result == -1); + } while (!_vm->shouldQuit() && (!_vm->_voy._lastInplay || hotspotId == -1)); pt = _vm->_eventsManager.getMousePos(); _doAptPosX = pt.x; _doAptPosY = pt.y; - switch (result) { + switch (hotspotId) { case 0: _vm->_voy._field472 = 140; break; @@ -1153,13 +1159,13 @@ int ThreadResource::doApt() { } freeTheApt(); - if (_vm->_voy._field474 == 1 && result == 0) + if (_vm->_voy._field474 == 1 && hotspotId == 0) _vm->checkTransition(); - if (!result) + if (!hotspotId) _vm->makeViewFinder(); - return result; + return hotspotId; } void ThreadResource::doRoom() { -- cgit v1.2.3 From 13b4c9ca68b5505f4b851d3d36f3f9cb9a333f95 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Wed, 18 Dec 2013 20:13:34 -0500 Subject: VOYEUR: Renaming of mouse click fields --- engines/voyeur/events.cpp | 7 ++++--- engines/voyeur/events.h | 4 ++-- engines/voyeur/files_threads.cpp | 6 +++--- 3 files changed, 9 insertions(+), 8 deletions(-) diff --git a/engines/voyeur/events.cpp b/engines/voyeur/events.cpp index 2cf3d9edb5..866706daa5 100644 --- a/engines/voyeur/events.cpp +++ b/engines/voyeur/events.cpp @@ -237,14 +237,15 @@ void EventsManager::pollEvents() { return; case Common::EVENT_LBUTTONDOWN: _mouseButton = 1; - _vm->_voy._incriminate = true; + _vm->_voy._newMouseClicked = true; return; case Common::EVENT_RBUTTONDOWN: _mouseButton = 2; + _vm->_voy._newMouseClicked = true; return; case Common::EVENT_LBUTTONUP: case Common::EVENT_RBUTTONUP: - _vm->_voy._incriminate = false; + _vm->_voy._newMouseClicked = false; _mouseButton = 0; return; case Common::EVENT_MOUSEMOVE: @@ -437,7 +438,7 @@ void EventsManager::getMouseInfo() { } _vm->_voy._incriminate = _vm->_voy._newIncriminate; - _vm->_voy._lastInplay = _vm->_voy._newLastInplay; + _vm->_voy._mouseClicked = _vm->_voy._newMouseClicked; _vm->_voy._fadeFunc = _vm->_voy._newFadeFunc; _vm->_voy._fadeICF1 = _vm->_voy._newFadeICF1; } diff --git a/engines/voyeur/events.h b/engines/voyeur/events.h index 9fe3464431..b341a238a9 100644 --- a/engines/voyeur/events.h +++ b/engines/voyeur/events.h @@ -124,13 +124,13 @@ public: int _fadeICF0; int _fadeICF1; void (*_fadeFunc)(); - int _lastInplay; + bool _mouseClicked; int _incriminate; int _policeEvent; // Fields not originally in _voy, but I'm putting in for convenience int _newIncriminate; - int _newLastInplay; + bool _newMouseClicked; int _newFadeICF1; void (*_newFadeFunc)(); }; diff --git a/engines/voyeur/files_threads.cpp b/engines/voyeur/files_threads.cpp index c4e4708391..70bbf32b4b 100644 --- a/engines/voyeur/files_threads.cpp +++ b/engines/voyeur/files_threads.cpp @@ -1135,7 +1135,7 @@ int ThreadResource::doApt() { _vm->_graphicsManager.flipPage(); _vm->_eventsManager.sWaitFlip(); - } while (!_vm->shouldQuit() && (!_vm->_voy._lastInplay || hotspotId == -1)); + } while (!_vm->shouldQuit() && (!_vm->_voy._mouseClicked || hotspotId == -1)); pt = _vm->_eventsManager.getMousePos(); _doAptPosX = pt.x; @@ -1331,7 +1331,7 @@ int ThreadResource::doInterface() { _vm->_voy._field474 = 17; _vm->_soundManager.stopVOCPlay(); _vm->checkTransition(); - _vm->_voy._lastInplay = true; + _vm->_voy._mouseClicked = true; } else { _vm->_voy._field478 = 1; _currentMouseX = pt.x; @@ -1355,7 +1355,7 @@ int ThreadResource::doInterface() { } } } while (!_vm->_voy._fadeFunc && !_vm->shouldQuit() && - (!_vm->_voy._lastInplay || var8 == -1)); + (!_vm->_voy._mouseClicked || var8 == -1)); _vm->_voy._field478 |= 1; _vm->_bVoy->freeBoltGroup(_vm->_playStamp1); -- cgit v1.2.3 From f588211815d6383665072cb7637d40c8c4b5582a Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Wed, 18 Dec 2013 21:26:26 -0500 Subject: VOYEUR: Implemented checkTransition --- engines/voyeur/events.cpp | 2 -- engines/voyeur/events.h | 6 ++--- engines/voyeur/files_threads.cpp | 41 ++++++++++++++++--------------- engines/voyeur/sound.cpp | 2 +- engines/voyeur/staticres.cpp | 6 +++++ engines/voyeur/staticres.h | 6 +++++ engines/voyeur/voyeur.cpp | 7 ++++-- engines/voyeur/voyeur.h | 3 +++ engines/voyeur/voyeur_game.cpp | 52 +++++++++++++++++++++++++++++++++------- 9 files changed, 86 insertions(+), 39 deletions(-) diff --git a/engines/voyeur/events.cpp b/engines/voyeur/events.cpp index 866706daa5..e5755399ef 100644 --- a/engines/voyeur/events.cpp +++ b/engines/voyeur/events.cpp @@ -88,8 +88,6 @@ EventsManager::EventsManager(): _intPtr(_gameData), Common::fill(&_keyState[0], &_keyState[256], false); _v2A0A2 = 0; - _videoComputerNum = 0; - _videoComputerBut1 = 0; _videoComputerBut4 = 0; _videoDead = 0; } diff --git a/engines/voyeur/events.h b/engines/voyeur/events.h index b341a238a9..9313ba3a56 100644 --- a/engines/voyeur/events.h +++ b/engines/voyeur/events.h @@ -63,7 +63,7 @@ public: class SVoy { public: - int _delaySecs; + int _isAM; int _RTANum; int _RTVNum; int _switchBGNum; @@ -81,7 +81,7 @@ public: int _field46E; int _field470; int _field472; - int _field474; + int _checkTransitionId; int _field476; int _field478; int _field47A; @@ -192,8 +192,6 @@ public: int _fadeStatus; int _v2A0A2; - int _videoComputerNum; - int _videoComputerBut1; int _videoComputerBut4; int _videoDead; public: diff --git a/engines/voyeur/files_threads.cpp b/engines/voyeur/files_threads.cpp index 70bbf32b4b..e774674351 100644 --- a/engines/voyeur/files_threads.cpp +++ b/engines/voyeur/files_threads.cpp @@ -557,19 +557,19 @@ void ThreadResource::parsePlayCommands() { int count = READ_LE_UINT16(dataP + 2); _vm->_voy._field476 = READ_LE_UINT16(dataP + 4); - if (_vm->_voy._field474 != count) { - if (_vm->_voy._field474 > 1) + if (_vm->_voy._checkTransitionId != count) { + if (_vm->_voy._checkTransitionId > 1) _vm->_voy._field478 &= ~0x100; - _vm->_voy._field474 = count; - _vm->_eventsManager._videoComputerBut1 = LEVEL_M[count - 1]; - _vm->_eventsManager._videoComputerNum = LEVEL_H[count - 1]; + _vm->_voy._checkTransitionId = count; + _vm->_gameMinute = LEVEL_M[count - 1]; + _vm->_gameHour = LEVEL_H[count - 1]; //_vm->_v2A0A2 = 0; _vm->_voy._RTVNum = 0; _vm->_voy._RTANum = 255; } - _vm->_voy._delaySecs = (_vm->_voy._field474 == 6) ? 1 : 0; + _vm->_voy._isAM = (_vm->_voy._checkTransitionId == 6) ? 1 : 0; } dataP += 6; @@ -788,7 +788,7 @@ void ThreadResource::parsePlayCommands() { break; case 23: - _vm->_voy._field474 = 17; + _vm->_voy._checkTransitionId = 17; _vm->_voy._field472 = -1; loadTheApt(); _vm->_voy._field472 = 144; @@ -1059,7 +1059,6 @@ int ThreadResource::doApt() { _vm->_playStamp2 = 151; _vm->_voy._field4386 = _vm->_bVoy->memberAddr(_vm->_playStamp1); byte *hotspotsP = _vm->_bVoy->memberAddr(_vm->_playStamp1 + 1); - PictureResource *srcPic = _vm->_bVoy->boltEntry(_vm->_playStamp1 + 3)._picResource; _vm->_eventsManager.getMouseInfo(); if (_doAptPosX == -1) { @@ -1159,7 +1158,7 @@ int ThreadResource::doApt() { } freeTheApt(); - if (_vm->_voy._field474 == 1 && hotspotId == 0) + if (_vm->_voy._checkTransitionId == 1 && hotspotId == 0) _vm->checkTransition(); if (!hotspotId) @@ -1192,7 +1191,7 @@ int ThreadResource::doInterface() { if (_vm->_voy._RTVNum >= _vm->_voy._field476 || _vm->_voy._RTVNum < 0) _vm->_voy._RTVNum = _vm->_voy._field476 - 1; - if (_vm->_voy._field474 < 15 && (_vm->_voy._field476 - 3) < _vm->_voy._RTVNum) { + if (_vm->_voy._checkTransitionId < 15 && (_vm->_voy._field476 - 3) < _vm->_voy._RTVNum) { _vm->_voy._RTVNum = _vm->_voy._field476; _vm->makeViewFinder(); @@ -1299,16 +1298,16 @@ int ThreadResource::doInterface() { if (_vm->_voy._RTVNum & 2) { _vm->_graphicsManager.drawANumber(*_vm->_graphicsManager._vPort, - 10 / _vm->_eventsManager._videoComputerBut1, 0x1900BE); + 10 / _vm->_gameMinute, 0x1900BE); _vm->_graphicsManager.drawANumber(*_vm->_graphicsManager._vPort, - 10 % _vm->_eventsManager._videoComputerBut1, 0x1900BE); + 10 % _vm->_gameMinute, 0x1900BE); if (_vm->_voy._RTANum & 4) { - int v = 10 / _vm->_eventsManager._videoComputerNum; + int v = 10 / _vm->_gameHour; _vm->_graphicsManager.drawANumber(*_vm->_graphicsManager._vPort, v == 0 ? 10 : v, 0x1900BE); _vm->_graphicsManager.drawANumber(*_vm->_graphicsManager._vPort, - _vm->_eventsManager._videoComputerNum % 10, 0x1900AC); + _vm->_gameHour % 10, 0x1900AC); pic = _vm->_bVoy->boltEntry(274)._picResource; _vm->_graphicsManager.sDrawPic(pic, *_vm->_graphicsManager._vPort, @@ -1326,9 +1325,9 @@ int ThreadResource::doInterface() { (_vm->_voy._fadeFunc != NULL) && (pt.x == 0))) { _vm->_eventsManager.getMouseInfo(); - if (_vm->_voy._field474 == 15) { + if (_vm->_voy._checkTransitionId == 15) { var8 = 20; - _vm->_voy._field474 = 17; + _vm->_voy._checkTransitionId = 17; _vm->_soundManager.stopVOCPlay(); _vm->checkTransition(); _vm->_voy._mouseClicked = true; @@ -1366,8 +1365,8 @@ int ThreadResource::doInterface() { } void ThreadResource::addAudioEventStart() { - _vm->_voy._events.push_back(VoyeurEvent(_vm->_eventsManager._videoComputerNum, - _vm->_eventsManager._videoComputerBut1, _vm->_voy._delaySecs, 2, + _vm->_voy._events.push_back(VoyeurEvent(_vm->_gameHour, + _vm->_gameMinute, _vm->_voy._isAM, 2, _vm->_eventsManager._videoComputerBut4, _vm->_voy._vocSecondsOffset, _vm->_eventsManager._videoDead)); } @@ -1434,7 +1433,7 @@ void ThreadResource::clearButtonFlag(int idx, byte bits) { } void ThreadResource::loadTheApt() { - switch (_vm->_voy._field474) { + switch (_vm->_voy._checkTransitionId) { case 1: case 2: case 5: @@ -1552,7 +1551,7 @@ void ThreadResource::doAptAnim(int mode) { } int id2 = (id == 0x6C00 || id == 0x6F00) ? 1 : 2; - switch (_vm->_voy._field474) { + switch (_vm->_voy._checkTransitionId) { case 3: id += id2 << 8; break; @@ -1570,7 +1569,7 @@ void ThreadResource::doAptAnim(int mode) { break; } - if (mode) + if (mode == 1) id += 0x100; // Do the display diff --git a/engines/voyeur/sound.cpp b/engines/voyeur/sound.cpp index baad356c07..1cd0cf3c00 100644 --- a/engines/voyeur/sound.cpp +++ b/engines/voyeur/sound.cpp @@ -53,7 +53,7 @@ void SoundManager::abortVOCMap() { } void SoundManager::stopVOCPlay() { - warning("TODO: stopVOCPlay()"); + _mixer->stopHandle(_soundHandle); } void SoundManager::setVOCOffset(int offset) { diff --git a/engines/voyeur/staticres.cpp b/engines/voyeur/staticres.cpp index 0056bbee22..b6f373078b 100644 --- a/engines/voyeur/staticres.cpp +++ b/engines/voyeur/staticres.cpp @@ -105,4 +105,10 @@ const char *const VOC_FILENAMES[] = { "Q1240100", "E1325100" }; +const char *const SATURDAY = "Saturday"; +const char *const SUNDAY = "Sunday"; +const char *const MONDAY = "Monday Morning"; +const char *const AM = "am"; +const char *const PM = "pm"; + } // End of namespace Voyeur diff --git a/engines/voyeur/staticres.h b/engines/voyeur/staticres.h index 505b64411e..990e2cf72a 100644 --- a/engines/voyeur/staticres.h +++ b/engines/voyeur/staticres.h @@ -41,6 +41,12 @@ extern const int COMP_BUT_TABLE[]; extern const char *const VOC_FILENAMES[]; +extern const char *const SATURDAY; +extern const char *const SUNDAY; +extern const char *const MONDAY; +extern const char *const AM; +extern const char *const PM; + } // End of namespace Voyeur #endif diff --git a/engines/voyeur/voyeur.cpp b/engines/voyeur/voyeur.cpp index bb8b137b3e..1c8c185f78 100644 --- a/engines/voyeur/voyeur.cpp +++ b/engines/voyeur/voyeur.cpp @@ -44,6 +44,9 @@ VoyeurEngine::VoyeurEngine(OSystem *syst, const VoyeurGameDescription *gameDesc) _controlPtr = NULL; _bob = false; _playStamp1 = _playStamp2 = 0; + _checkTransitionId = -1; + _gameHour = 0; + _gameMinute = 0; initialiseManagers(); } @@ -489,8 +492,8 @@ void VoyeurEngine::doOpening() { _voy._RTVNum = 0; _voy._field468 = _voy._RTVNum; _voy._field478 = 16; - _eventsManager._videoComputerNum = 4; - _eventsManager._videoComputerBut1 = 0; + _eventsManager._gameHour = 4; + _eventsManager._gameMinute = 0; _eventsManager._videoComputerBut4 = 1; _eventsManager._videoDead = -1; addVideoEventStart(); diff --git a/engines/voyeur/voyeur.h b/engines/voyeur/voyeur.h index 5d0c26787d..f35af7d17c 100644 --- a/engines/voyeur/voyeur.h +++ b/engines/voyeur/voyeur.h @@ -117,6 +117,9 @@ public: int _playStamp2; const int *_resolvePtr; int _iForceDeath; + int _checkTransitionId; + int _gameHour; + int _gameMinute; public: VoyeurEngine(OSystem *syst, const VoyeurGameDescription *gameDesc); virtual ~VoyeurEngine(); diff --git a/engines/voyeur/voyeur_game.cpp b/engines/voyeur/voyeur_game.cpp index 172150360d..54ff56863f 100644 --- a/engines/voyeur/voyeur_game.cpp +++ b/engines/voyeur/voyeur_game.cpp @@ -27,9 +27,9 @@ namespace Voyeur { void VoyeurEngine::addVideoEventStart() { VoyeurEvent &e = _voy._events[_voy._evidence[19]]; - e._computerNum = _eventsManager._videoComputerNum; - e._computerBut[0] = _eventsManager._videoComputerBut1; - e._computerBut[1] = _voy._delaySecs; + e._computerNum = _gameHour; + e._computerBut[0] = _gameMinute; + e._computerBut[1] = _voy._isAM; e._computerBut[2] = 1; e._computerBut[3] = _eventsManager._videoComputerBut4; e._dead = _eventsManager._videoDead; @@ -47,9 +47,9 @@ void VoyeurEngine::playStamp() { ThreadResource *threadP = threadsList->_entries[0]->_threadResource; threadP->initThreadStruct(0, 0); - _voy._delaySecs = 0; - _eventsManager._videoComputerNum = 9; - _eventsManager._videoComputerBut1 = 0; + _voy._isAM = 0; + _gameHour = 9; + _gameMinute = 0; _eventsManager._v2A0A2 = 0; _voy._field46E = 1; @@ -111,7 +111,7 @@ void VoyeurEngine::playStamp() { break; case 16: - _voy._field474 = 17; + _voy._checkTransitionId = 17; buttonId = threadP->doApt(); switch (buttonId) { @@ -134,7 +134,7 @@ void VoyeurEngine::playStamp() { case 17: doTapePlaying(); - if (!checkForMurder() && _voy._field474 <= 15) + if (!checkForMurder() && _voy._checkTransitionId <= 15) checkForIncriminate(); if (_voy._videoEventId != -1) @@ -268,7 +268,41 @@ void VoyeurEngine::initIFace(){ } void VoyeurEngine::checkTransition(){ - error("TODO: checkTransition"); + Common::String time, day; + + if (_voy._checkTransitionId != _checkTransitionId) { + switch (_voy._checkTransitionId) { + case 0: + break; + case 1: + case 2: + case 3: + case 4: + day = SATURDAY; + break; + case 17: + day = MONDAY; + break; + default: + day = SUNDAY; + break; + } + + if (!day.empty()) { + _graphicsManager.fadeDownICF(6); + + if (_voy._checkTransitionId != 17) { + const char *amPm = _voy._isAM ? AM : PM; + time = Common::String::format("%d:%02d%s", + _gameHour, _gameMinute, amPm); + } + + doTransitionCard(day, time); + _eventsManager.delay(180); + } + + _checkTransitionId = _voy._checkTransitionId; + } } void VoyeurEngine::doTimeBar(int v) { -- cgit v1.2.3 From 72c21cf0a77519e71febcfe0a2aef0fc44a3af87 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Wed, 18 Dec 2013 22:01:16 -0500 Subject: VOYEUR: Implemented drawIfaceTime --- engines/voyeur/events.h | 2 +- engines/voyeur/files.cpp | 20 +++++++++++++ engines/voyeur/files.h | 1 + engines/voyeur/files_threads.cpp | 30 +++++++++---------- engines/voyeur/graphics.cpp | 2 +- engines/voyeur/graphics.h | 2 +- engines/voyeur/voyeur_game.cpp | 65 +++++++++++++++++++++++++++++++++++----- 7 files changed, 97 insertions(+), 25 deletions(-) diff --git a/engines/voyeur/events.h b/engines/voyeur/events.h index 9313ba3a56..0db1281706 100644 --- a/engines/voyeur/events.h +++ b/engines/voyeur/events.h @@ -81,7 +81,7 @@ public: int _field46E; int _field470; int _field472; - int _checkTransitionId; + int _transitionId; int _field476; int _field478; int _field47A; diff --git a/engines/voyeur/files.cpp b/engines/voyeur/files.cpp index 28f4763877..31f6362d53 100644 --- a/engines/voyeur/files.cpp +++ b/engines/voyeur/files.cpp @@ -1170,6 +1170,26 @@ void ViewPortResource::fillPic(byte onOff) { _state._vm->_graphicsManager.fillPic(this, onOff); } +void ViewPortResource::drawIfaceTime() { + // Hour display + _state._vm->_graphicsManager.drawANumber(*_state._vm->_graphicsManager._vPort, + (_state._vm->_gameHour / 10) == 0 ? 10 : _state._vm->_gameHour / 10, + Common::Point(161, 25)); + _state._vm->_graphicsManager.drawANumber(*_state._vm->_graphicsManager._vPort, + _state._vm->_gameHour % 10, Common::Point(172, 25)); + + // Minute display + _state._vm->_graphicsManager.drawANumber(*_state._vm->_graphicsManager._vPort, + _state._vm->_gameMinute / 10, Common::Point(190, 25)); + _state._vm->_graphicsManager.drawANumber(*_state._vm->_graphicsManager._vPort, + _state._vm->_gameMinute % 10, Common::Point(201, 25)); + + // AM/PM indicator + PictureResource *pic = _state._vm->_bVoy->boltEntry(_state._vm->_voy._isAM ? 272 : 273)._picResource; + _state._vm->_graphicsManager.sDrawPic(pic, *_state._vm->_graphicsManager._vPort, + Common::Point(215, 27)); +} + /*------------------------------------------------------------------------*/ ViewPortListResource::ViewPortListResource(BoltFilesState &state, const byte *src) { diff --git a/engines/voyeur/files.h b/engines/voyeur/files.h index 0a7df284cc..f25f56f0bc 100644 --- a/engines/voyeur/files.h +++ b/engines/voyeur/files.h @@ -309,6 +309,7 @@ public: void addSaveRect(int pageIndex, const Common::Rect &r); void sFillBox(int width); void fillPic(byte onOff = 0); + void drawIfaceTime(); }; class ViewPortPalEntry { diff --git a/engines/voyeur/files_threads.cpp b/engines/voyeur/files_threads.cpp index e774674351..3aada4c89a 100644 --- a/engines/voyeur/files_threads.cpp +++ b/engines/voyeur/files_threads.cpp @@ -557,11 +557,11 @@ void ThreadResource::parsePlayCommands() { int count = READ_LE_UINT16(dataP + 2); _vm->_voy._field476 = READ_LE_UINT16(dataP + 4); - if (_vm->_voy._checkTransitionId != count) { - if (_vm->_voy._checkTransitionId > 1) + if (_vm->_voy._transitionId != count) { + if (_vm->_voy._transitionId > 1) _vm->_voy._field478 &= ~0x100; - _vm->_voy._checkTransitionId = count; + _vm->_voy._transitionId = count; _vm->_gameMinute = LEVEL_M[count - 1]; _vm->_gameHour = LEVEL_H[count - 1]; //_vm->_v2A0A2 = 0; @@ -569,7 +569,7 @@ void ThreadResource::parsePlayCommands() { _vm->_voy._RTANum = 255; } - _vm->_voy._isAM = (_vm->_voy._checkTransitionId == 6) ? 1 : 0; + _vm->_voy._isAM = (_vm->_voy._transitionId == 6) ? 1 : 0; } dataP += 6; @@ -788,7 +788,7 @@ void ThreadResource::parsePlayCommands() { break; case 23: - _vm->_voy._checkTransitionId = 17; + _vm->_voy._transitionId = 17; _vm->_voy._field472 = -1; loadTheApt(); _vm->_voy._field472 = 144; @@ -1158,7 +1158,7 @@ int ThreadResource::doApt() { } freeTheApt(); - if (_vm->_voy._checkTransitionId == 1 && hotspotId == 0) + if (_vm->_voy._transitionId == 1 && hotspotId == 0) _vm->checkTransition(); if (!hotspotId) @@ -1191,7 +1191,7 @@ int ThreadResource::doInterface() { if (_vm->_voy._RTVNum >= _vm->_voy._field476 || _vm->_voy._RTVNum < 0) _vm->_voy._RTVNum = _vm->_voy._field476 - 1; - if (_vm->_voy._checkTransitionId < 15 && (_vm->_voy._field476 - 3) < _vm->_voy._RTVNum) { + if (_vm->_voy._transitionId < 15 && (_vm->_voy._field476 - 3) < _vm->_voy._RTVNum) { _vm->_voy._RTVNum = _vm->_voy._field476; _vm->makeViewFinder(); @@ -1298,16 +1298,16 @@ int ThreadResource::doInterface() { if (_vm->_voy._RTVNum & 2) { _vm->_graphicsManager.drawANumber(*_vm->_graphicsManager._vPort, - 10 / _vm->_gameMinute, 0x1900BE); + 10 / _vm->_gameMinute, Common::Point(190, 25)); _vm->_graphicsManager.drawANumber(*_vm->_graphicsManager._vPort, - 10 % _vm->_gameMinute, 0x1900BE); + 10 % _vm->_gameMinute, Common::Point(190, 25)); if (_vm->_voy._RTANum & 4) { int v = 10 / _vm->_gameHour; _vm->_graphicsManager.drawANumber(*_vm->_graphicsManager._vPort, - v == 0 ? 10 : v, 0x1900BE); + v == 0 ? 10 : v, Common::Point(190, 25)); _vm->_graphicsManager.drawANumber(*_vm->_graphicsManager._vPort, - _vm->_gameHour % 10, 0x1900AC); + _vm->_gameHour % 10, Common::Point(172, 25)); pic = _vm->_bVoy->boltEntry(274)._picResource; _vm->_graphicsManager.sDrawPic(pic, *_vm->_graphicsManager._vPort, @@ -1325,9 +1325,9 @@ int ThreadResource::doInterface() { (_vm->_voy._fadeFunc != NULL) && (pt.x == 0))) { _vm->_eventsManager.getMouseInfo(); - if (_vm->_voy._checkTransitionId == 15) { + if (_vm->_voy._transitionId == 15) { var8 = 20; - _vm->_voy._checkTransitionId = 17; + _vm->_voy._transitionId = 17; _vm->_soundManager.stopVOCPlay(); _vm->checkTransition(); _vm->_voy._mouseClicked = true; @@ -1433,7 +1433,7 @@ void ThreadResource::clearButtonFlag(int idx, byte bits) { } void ThreadResource::loadTheApt() { - switch (_vm->_voy._checkTransitionId) { + switch (_vm->_voy._transitionId) { case 1: case 2: case 5: @@ -1551,7 +1551,7 @@ void ThreadResource::doAptAnim(int mode) { } int id2 = (id == 0x6C00 || id == 0x6F00) ? 1 : 2; - switch (_vm->_voy._checkTransitionId) { + switch (_vm->_voy._transitionId) { case 3: id += id2 << 8; break; diff --git a/engines/voyeur/graphics.cpp b/engines/voyeur/graphics.cpp index 25f63a99a2..dad1d6e652 100644 --- a/engines/voyeur/graphics.cpp +++ b/engines/voyeur/graphics.cpp @@ -553,7 +553,7 @@ error("TODO: var22/var24/var2C not initialised before use?"); } } -void GraphicsManager::drawANumber(DisplayResource *display, int num, int offset) { +void GraphicsManager::drawANumber(DisplayResource *display, int num, const Common::Point &pt) { warning("TODO: drawANumber"); } diff --git a/engines/voyeur/graphics.h b/engines/voyeur/graphics.h index 549d05f911..1017726a0b 100644 --- a/engines/voyeur/graphics.h +++ b/engines/voyeur/graphics.h @@ -104,7 +104,7 @@ public: void sDrawPic(DisplayResource *srcDisplay, DisplayResource *destDisplay, const Common::Point &initialOffset); void fillPic(DisplayResource *display, byte onOff = 0); void sDisplayPic(PictureResource *pic); - void drawANumber(DisplayResource *display, int num, int offset); + void drawANumber(DisplayResource *display, int num, const Common::Point &pt); void flipPage(); void clearPalette(); void setPalette(const byte *palette, int start, int count); diff --git a/engines/voyeur/voyeur_game.cpp b/engines/voyeur/voyeur_game.cpp index 54ff56863f..52b727201c 100644 --- a/engines/voyeur/voyeur_game.cpp +++ b/engines/voyeur/voyeur_game.cpp @@ -111,7 +111,7 @@ void VoyeurEngine::playStamp() { break; case 16: - _voy._checkTransitionId = 17; + _voy._transitionId = 17; buttonId = threadP->doApt(); switch (buttonId) { @@ -134,7 +134,7 @@ void VoyeurEngine::playStamp() { case 17: doTapePlaying(); - if (!checkForMurder() && _voy._checkTransitionId <= 15) + if (!checkForMurder() && _voy._transitionId <= 15) checkForIncriminate(); if (_voy._videoEventId != -1) @@ -260,7 +260,58 @@ int VoyeurEngine::getChooseButton() { } void VoyeurEngine::makeViewFinder() { - error("TODO:makeViewFinder"); + _graphicsManager._backgroundPage = _bVoy->boltEntry(0x103)._picResource; + _graphicsManager.sDrawPic(_graphicsManager._backgroundPage, + *_graphicsManager._vPort, Common::Point(0, 0)); + CMapResource *pal = _bVoy->boltEntry(0x104)._cMapResource; + + int palOffset = 0; + switch (_voy._transitionId) { + case 1: + case 2: + case 5: + case 6: + case 7: + case 8: + case 9: + case 17: + palOffset = 0; + break; + case 3: + palOffset = 1; + break; + case 4: + case 10: + case 11: + case 12: + case 13: + case 14: + case 15: + case 16: + palOffset = 2; + break; + default: + break; + } + + (*_graphicsManager._vPort)->drawIfaceTime(); + doTimeBar(1); + pal->startFade(); + + (*_graphicsManager._vPort)->_flags |= 8; + _graphicsManager.flipPage(); + _eventsManager.sWaitFlip(); + + while (!shouldQuit() && (_eventsManager._fadeStatus & 1)) + _eventsManager.delay(1); + + _graphicsManager.setColor(241, 105, 105, 105); + _graphicsManager.setColor(242, 105, 105, 105); + _graphicsManager.setColor(243, 105, 105, 105); + _graphicsManager.setColor(palOffset + 241, 219, 235, 235); + + _eventsManager._intPtr.field38 = 1; + _eventsManager._intPtr._hasPalette = true; } void VoyeurEngine::initIFace(){ @@ -270,8 +321,8 @@ void VoyeurEngine::initIFace(){ void VoyeurEngine::checkTransition(){ Common::String time, day; - if (_voy._checkTransitionId != _checkTransitionId) { - switch (_voy._checkTransitionId) { + if (_voy._transitionId != _checkTransitionId) { + switch (_voy._transitionId) { case 0: break; case 1: @@ -291,7 +342,7 @@ void VoyeurEngine::checkTransition(){ if (!day.empty()) { _graphicsManager.fadeDownICF(6); - if (_voy._checkTransitionId != 17) { + if (_voy._transitionId != 17) { const char *amPm = _voy._isAM ? AM : PM; time = Common::String::format("%d:%02d%s", _gameHour, _gameMinute, amPm); @@ -301,7 +352,7 @@ void VoyeurEngine::checkTransition(){ _eventsManager.delay(180); } - _checkTransitionId = _voy._checkTransitionId; + _checkTransitionId = _voy._transitionId; } } -- cgit v1.2.3 From a73ea5c3dc0bfd8c5ad6909fcf74cb51fffe3702 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Thu, 19 Dec 2013 09:25:40 -0500 Subject: VOYEUR: Beginnings of camera spy screen --- engines/voyeur/files.cpp | 23 +++++++++--- engines/voyeur/files.h | 4 +- engines/voyeur/files_threads.cpp | 2 +- engines/voyeur/graphics.cpp | 42 ++++++++++++++++++++- engines/voyeur/voyeur.cpp | 3 ++ engines/voyeur/voyeur.h | 5 ++- engines/voyeur/voyeur_game.cpp | 80 +++++++++++++++++++++++++++++++++++++--- 7 files changed, 143 insertions(+), 16 deletions(-) diff --git a/engines/voyeur/files.cpp b/engines/voyeur/files.cpp index 31f6362d53..6f44806acd 100644 --- a/engines/voyeur/files.cpp +++ b/engines/voyeur/files.cpp @@ -941,8 +941,8 @@ void ViewPortResource::setupViewPort() { &GraphicsManager::restoreMCGASaveRect); } -void ViewPortResource::setupViewPort(PictureResource *pic) { - setupViewPort(pic, NULL, +void ViewPortResource::setupViewPort(PictureResource *pic, Common::Rect *clipRect) { + setupViewPort(pic, clipRect, &GraphicsManager::setupMCGASaveRect, &GraphicsManager::addRectOptSaveRect, &GraphicsManager::restoreMCGASaveRect); } @@ -1045,7 +1045,7 @@ int ViewPortResource::drawText(const Common::String &msg) { if (fontInfo._fontFlags & DISPFLAG_1) { gfxManager._drawPtr->_pos = Common::Point(_fontRect.left, _fontRect.top); gfxManager._drawPtr->_penColor = fontInfo._backColor; - sFillBox(_fontRect.width()); + sFillBox(_fontRect.width(), _fontRect.height()); } bool saveBack = gfxManager._saveBack; @@ -1160,10 +1160,23 @@ int ViewPortResource::textWidth(const Common::String &msg) { void ViewPortResource::addSaveRect(int pageIndex, const Common::Rect &r) { // TODO + warning("TODO: addSaveRect"); } -void ViewPortResource::sFillBox(int width) { - // TODO +void ViewPortResource::sFillBox(int width, int height) { + bool saveBack = _state._vm->_graphicsManager._saveBack; + _state._vm->_graphicsManager._saveBack = false; + + PictureResource pr; + pr._flags = 1; + pr._select = 0xff; + pr._pick = 0; + pr._onOff = _state._vm->_graphicsManager._drawPtr->_penColor; + pr._bounds = Common::Rect(0, 0, width, height); + + _state._vm->_graphicsManager.sDrawPic(&pr, this, + _state._vm->_graphicsManager._drawPtr->_pos); + _state._vm->_graphicsManager._saveBack = saveBack; } void ViewPortResource::fillPic(byte onOff) { diff --git a/engines/voyeur/files.h b/engines/voyeur/files.h index f25f56f0bc..a48dbaa3e5 100644 --- a/engines/voyeur/files.h +++ b/engines/voyeur/files.h @@ -303,11 +303,11 @@ public: virtual ~ViewPortResource(); void setupViewPort(); - void setupViewPort(PictureResource *pic); + void setupViewPort(PictureResource *pic, Common::Rect *clipRect = NULL); int drawText(const Common::String &msg); int textWidth(const Common::String &msg); void addSaveRect(int pageIndex, const Common::Rect &r); - void sFillBox(int width); + void sFillBox(int width, int height); void fillPic(byte onOff = 0); void drawIfaceTime(); }; diff --git a/engines/voyeur/files_threads.cpp b/engines/voyeur/files_threads.cpp index 3aada4c89a..16924056e0 100644 --- a/engines/voyeur/files_threads.cpp +++ b/engines/voyeur/files_threads.cpp @@ -1230,7 +1230,7 @@ int ThreadResource::doInterface() { _vm->_voy._field478 &= ~1; do { - _vm->doTimeBar(1); + _vm->doTimeBar(true); _vm->_eventsManager.getMouseInfo(); pt = _vm->_eventsManager.getMousePos(); diff --git a/engines/voyeur/graphics.cpp b/engines/voyeur/graphics.cpp index dad1d6e652..185f51be54 100644 --- a/engines/voyeur/graphics.cpp +++ b/engines/voyeur/graphics.cpp @@ -554,7 +554,8 @@ error("TODO: var22/var24/var2C not initialised before use?"); } void GraphicsManager::drawANumber(DisplayResource *display, int num, const Common::Point &pt) { - warning("TODO: drawANumber"); + PictureResource *pic = _vm->_bVoy->boltEntry(num + 261)._picResource; + sDrawPic(pic, display, pt); } void GraphicsManager::fillPic(DisplayResource *display, byte onOff) { @@ -692,7 +693,44 @@ void GraphicsManager::screenReset() { } void GraphicsManager::doScroll(const Common::Point &pt) { - error("TODO: doScroll"); + Common::Rect clipRect(72, 47, 240, 148); + (*_vm->_graphicsManager._vPort)->setupViewPort(NULL, &clipRect); + + PictureResource *pic; + int base = 0; + switch (_vm->_voy._transitionId) { + case 0: + break; + case 1: + case 2: + case 5: + case 6: + case 7: + case 8: + case 9: + base = 0xB00; + break; + case 3: + base = 0xC00; + break; + default: + base = 0xD00; + } + + if (base) { + pic = _vm->_bVoy->boltEntry(base + 3)._picResource; + sDrawPic(pic, *_vPort, Common::Point(784 - pt.x + 712, 150 - pt.y - 104)); + pic = _vm->_bVoy->boltEntry(base + 4)._picResource; + sDrawPic(pic, *_vPort, Common::Point(784 - pt.x + 712, 150 - pt.y - 44)); + pic = _vm->_bVoy->boltEntry(base + 5)._picResource; + sDrawPic(pic, *_vPort, Common::Point(784 - pt.x + 712, 150 - pt.y + 16)); + pic = _vm->_bVoy->boltEntry(base + 6)._picResource; + sDrawPic(pic, *_vPort, Common::Point(784 - pt.x + 712, 150 - pt.y + 76)); + pic = _vm->_bVoy->boltEntry(base + 7)._picResource; + sDrawPic(pic, *_vPort, Common::Point(784 - pt.x + 712, 150 - pt.y + 136)); + } + + (*_vPort)->setupViewPort(); } void GraphicsManager::fadeDownICF1(int steps) { diff --git a/engines/voyeur/voyeur.cpp b/engines/voyeur/voyeur.cpp index 1c8c185f78..fe2730700f 100644 --- a/engines/voyeur/voyeur.cpp +++ b/engines/voyeur/voyeur.cpp @@ -47,6 +47,9 @@ VoyeurEngine::VoyeurEngine(OSystem *syst, const VoyeurGameDescription *gameDesc) _checkTransitionId = -1; _gameHour = 0; _gameMinute = 0; + _flashTimeVal = 0; + _flashTimeFlag = false; + _timeBarVal = -1; initialiseManagers(); } diff --git a/engines/voyeur/voyeur.h b/engines/voyeur/voyeur.h index f35af7d17c..b18a7c0b97 100644 --- a/engines/voyeur/voyeur.h +++ b/engines/voyeur/voyeur.h @@ -120,6 +120,9 @@ public: int _checkTransitionId; int _gameHour; int _gameMinute; + int _flashTimeVal; + bool _flashTimeFlag; + int _timeBarVal; public: VoyeurEngine(OSystem *syst, const VoyeurGameDescription *gameDesc); virtual ~VoyeurEngine(); @@ -149,7 +152,7 @@ public: void makeViewFinder(); void initIFace(); void checkTransition(); - void doTimeBar(int v); + void doTimeBar(bool force); void flashTimeBar(); void checkPhoneCall(); }; diff --git a/engines/voyeur/voyeur_game.cpp b/engines/voyeur/voyeur_game.cpp index 52b727201c..bdf4ee01a0 100644 --- a/engines/voyeur/voyeur_game.cpp +++ b/engines/voyeur/voyeur_game.cpp @@ -295,7 +295,7 @@ void VoyeurEngine::makeViewFinder() { } (*_graphicsManager._vPort)->drawIfaceTime(); - doTimeBar(1); + doTimeBar(true); pal->startFade(); (*_graphicsManager._vPort)->_flags |= 8; @@ -315,7 +315,40 @@ void VoyeurEngine::makeViewFinder() { } void VoyeurEngine::initIFace(){ - error("TODO: initIFace"); + int playStamp1 = _playStamp1; + switch (_voy._transitionId) { + case 0: + break; + case 1: + case 2: + case 5: + case 6: + case 7: + case 8: + case 9: + _playStamp1 = 0xB00; + break; + case 3: + _playStamp1 = 0xC00; + break; + default: + _playStamp1 = 0xD00; + break; + } + if (playStamp1 != -1) + _bVoy->freeBoltGroup(playStamp1, true); + + _bVoy->getBoltGroup(_playStamp1); + CMapResource *pal = _bVoy->boltEntry(_playStamp1 + 2)._cMapResource; + pal->startFade(); + + _graphicsManager.doScroll(_eventsManager.getMousePos()); + + _voy._field4386 = _bVoy->memberAddr(_playStamp1); + + // Note: the original did two loops to preload members here, which is + // redundant for ScummVM, since computers are faster these days, and + // getting resources as needed will be fast enough. } void VoyeurEngine::checkTransition(){ @@ -356,12 +389,49 @@ void VoyeurEngine::checkTransition(){ } } -void VoyeurEngine::doTimeBar(int v) { - error("TODO: doTimeBar"); +void VoyeurEngine::doTimeBar(bool force) { + flashTimeBar(); + + if ((force || _timeBarVal != _voy._RTVNum) && _voy._field476 > 0) { + if (_voy._RTVNum > _voy._field476 || _voy._RTVNum < 0) + _voy._RTVNum = _voy._field476 - 1; + + _timeBarVal = _voy._RTVNum; + int height = ((_voy._field476 - _voy._RTVNum) * 59) / _voy._field476; + int fullHeight = MAX(151 - height, 93); + + _graphicsManager._drawPtr->_penColor = 134; + _graphicsManager._drawPtr->_pos = Common::Point(39, 92); + + (*_graphicsManager._vPort)->sFillBox(6, fullHeight - 92); + if (height > 0) { + _graphicsManager.setColor(215, 238, 238, 238); + _eventsManager._intPtr.field38 = 1; + _eventsManager._intPtr._hasPalette = true; + + _graphicsManager._drawPtr->_penColor = 215; + _graphicsManager._drawPtr->_pos = Common::Point(39, fullHeight); + (*_graphicsManager._vPort)->sFillBox(6, height); + } + } } void VoyeurEngine::flashTimeBar(){ - error("TODO: flashTimeBar"); + if (_voy._RTVNum >= 0 && (_voy._field476 - _voy._RTVNum) < 11 && + (_eventsManager._intPtr.field1A >= (_flashTimeVal + 15) || + _eventsManager._intPtr.field1A < _flashTimeVal)) { + // Within time range + _flashTimeVal = _eventsManager._intPtr.field1A; + + if (_flashTimeFlag) + _graphicsManager.setColor(240, 220, 20, 20); + else + _graphicsManager.setColor(240, 220, 220, 220); + + _eventsManager._intPtr.field38 = 1; + _eventsManager._intPtr._hasPalette = true; + _flashTimeFlag = !_flashTimeFlag; + } } void VoyeurEngine::checkPhoneCall() { -- cgit v1.2.3 From 171d1594899e7064f2ebbbafd0f7b7858aaa2444 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Fri, 20 Dec 2013 22:51:31 -0500 Subject: VOYEUR: Implemented doRoom method --- engines/voyeur/events.cpp | 4 + engines/voyeur/events.h | 5 + engines/voyeur/files_threads.cpp | 205 ++++++++++++++++++++++++++++++++++++++- engines/voyeur/sound.cpp | 4 + engines/voyeur/sound.h | 1 + engines/voyeur/voyeur.cpp | 1 + engines/voyeur/voyeur.h | 10 +- engines/voyeur/voyeur_game.cpp | 42 +++++++- 8 files changed, 269 insertions(+), 3 deletions(-) diff --git a/engines/voyeur/events.cpp b/engines/voyeur/events.cpp index e5755399ef..b28acfba0f 100644 --- a/engines/voyeur/events.cpp +++ b/engines/voyeur/events.cpp @@ -418,6 +418,10 @@ void EventsManager::mouseOff() { CursorMan.showMouse(false); } +void EventsManager::hideCursor() { + error("TODO: hideCursor"); +} + void EventsManager::getMouseInfo() { if (_vm->_voy._field478 & 0x10) { if ((_gameCounter - _joe) > 8) { diff --git a/engines/voyeur/events.h b/engines/voyeur/events.h index 0db1281706..494b90d6de 100644 --- a/engines/voyeur/events.h +++ b/engines/voyeur/events.h @@ -85,6 +85,10 @@ public: int _field476; int _field478; int _field47A; + int _field4AC; + int _field4AE[5]; + int _field4B8; + int _field4E2; Common::Rect _rect4E4; int _field4EC; @@ -216,6 +220,7 @@ public: void setCursorColor(int idx, int mode); void mouseOn(); void mouseOff(); + void hideCursor(); Common::Point getMousePos() { return _mousePos; } void getMouseInfo(); void checkForKey(); diff --git a/engines/voyeur/files_threads.cpp b/engines/voyeur/files_threads.cpp index 16924056e0..ef6022a7bd 100644 --- a/engines/voyeur/files_threads.cpp +++ b/engines/voyeur/files_threads.cpp @@ -1168,7 +1168,210 @@ int ThreadResource::doApt() { } void ThreadResource::doRoom() { - warning("TODO: doRoom"); + VoyeurEngine &vm = *_vm; + SVoy &voy = vm._voy; + + vm.makeViewFinderP(); + voy._field437E = 0; + int varE = 0; + + if (!vm._bVoy->getBoltGroup(vm._playStamp1, true)) + return; + + vm._graphicsManager._backColors = vm._bVoy->boltEntry(vm._playStamp1 + 1)._cMapResource; + vm._graphicsManager._backgroundPage = vm._bVoy->boltEntry(vm._playStamp1)._picResource; + (*vm._graphicsManager._vPort)->setupViewPort(vm._graphicsManager._backgroundPage); + vm._graphicsManager._backColors->startFade(); + + voy._field437A = 2; + voy._field437C = 0; + voy._field437E = 1; + + byte *dataP = vm._bVoy->memberAddr(vm._playStamp1 + 4); + int count = READ_LE_UINT16(dataP); + int i4e4 = -1; + + PictureResource *pic1 = vm._bVoy->boltEntry(vm._playStamp1 + 2)._picResource; + PictureResource *pic2 = vm._bVoy->boltEntry(vm._playStamp1 + 3)._picResource; + + byte arr[10]; + strcpy((char *)&arr[0], "0"); + voy._field4386 = &arr[0]; + + vm._eventsManager.getMouseInfo(); + vm._eventsManager.setMousePos(Common::Point(192, 120)); + voy._field437E = 0; + vm._playStamp2 = 146; + voy._field4AC = voy._RTVNum; + + voy._vocSecondsOffset = 0; + vm._soundManager.startVOCPlay(vm._playStamp2); + voy._field478 &= ~1; + + bool breakFlag = false; + while (!breakFlag) { + vm._graphicsManager.setColor(128, 0, 255, 0); + vm._eventsManager._intPtr.field38 = 1; + vm._eventsManager._intPtr._hasPalette = true; + + do { + if (vm._playStamp2 != -1 && !vm._soundManager.getVOCStatus()) { + voy._field4AC = voy._RTVNum; + voy._vocSecondsOffset = 0; + vm._soundManager.startVOCPlay(vm._playStamp2); + } + + vm._eventsManager.getMouseInfo(); + Common::Point pt = vm._eventsManager.getMousePos(); + i4e4 = -1; + if (voy._field4E2 != -1 && voy._rect4E4.contains(pt)) + i4e4 = 999; + + for (int idx = 0; idx < count; ++idx) { + if (pt.x > READ_LE_UINT16(dataP + idx * 12 + 6) && + pt.x < READ_LE_UINT16(dataP + idx * 12 + 10) && + pt.y > READ_LE_UINT16(dataP + idx * 12 + 8) && + pt.y < READ_LE_UINT16(dataP + idx * 12 + 12)) { + int arrIndex = READ_LE_UINT16(dataP + idx * 12 + 2); + if (voy._arr7[arrIndex - 1] == 1) { + i4e4 = idx; + break; + } + } + } + + if (i4e4 == -1) { + vm._graphicsManager.sDrawPic(pic1, *vm._graphicsManager._vPort, + Common::Point(pt.x - 9, pt.y - 9)); + vm._eventsManager.setCursorColor(128, 0); + } else if (i4e4 != 999 || voy._RTVNum < voy._field4EC || + (voy._field4EE - 2) < voy._RTVNum) { + vm._graphicsManager.sDrawPic(pic2, *vm._graphicsManager._vPort, + Common::Point(pt.x - 12, pt.y - 9)); + vm._eventsManager.setCursorColor(128, 1); + } else { + vm._graphicsManager.sDrawPic(pic2, + *vm._graphicsManager._vPort, + Common::Point(pt.x - 12, pt.y - 9)); + vm._eventsManager.setCursorColor(128, 2); + } + + vm._eventsManager._intPtr.field38 = 1; + vm._eventsManager._intPtr._hasPalette = true; + vm._graphicsManager.flipPage(); + vm._eventsManager.sWaitFlip(); + } while (!vm.shouldQuit() && !voy._incriminate); + + if (!voy._mouseClicked || i4e4 == -1) { + if (voy._fadeFunc) + breakFlag = true; + + Common::Point pt = vm._eventsManager.getMousePos(); + vm._eventsManager.getMouseInfo(); + vm._eventsManager.setMousePos(pt); + } else { + voy._field478 |= 16; + vm._eventsManager.startCursorBlink(); + + if (i4e4 == 999) { + (*_vm->_graphicsManager._vPort)->_flags |= 8; + _vm->_graphicsManager.flipPage(); + _vm->_eventsManager.sWaitFlip(); + + if (vm._playStamp2 != -1) { + voy._vocSecondsOffset = voy._RTVNum - + voy._field4AC; + vm._soundManager.stopVOCPlay(); + } + + vm.getComputerBrush(); + + (*vm._graphicsManager._vPort)->_flags |= 8; + vm._graphicsManager.flipPage(); + vm._eventsManager.sWaitFlip(); + vm.addPlainEvent(); + + voy._incriminate = false; + vm._eventsManager.startCursorBlink(); + + if (vm.doComputerText(9999)) + vm.addComputerEventEnd(); + + vm._bVoy->freeBoltGroup(0x4900); + } else { + vm.doEvidDisplay(i4e4, 999); + } + + voy._field478 &= ~0x10; + if (!voy._incriminate) + vm._eventsManager.delay(18000); + + vm._bVoy->freeBoltGroup(vm._playStamp1); + vm._bVoy->getBoltGroup(vm._playStamp1); + dataP = vm._bVoy->memberAddr(vm._playStamp1 + 4); + pic1 = vm._bVoy->boltEntry(vm._playStamp1 + 2)._picResource; + pic2 = vm._bVoy->boltEntry(vm._playStamp1 + 3)._picResource; + vm._graphicsManager._backColors = vm._bVoy->boltEntry( + vm._playStamp1 + 2)._cMapResource; + vm._graphicsManager._backgroundPage = vm._bVoy->boltEntry( + vm._playStamp1)._picResource; + + vm._graphicsManager._backColors->startFade(); + (*vm._graphicsManager._vPort)->_flags |= 8; + vm._graphicsManager.flipPage(); + vm._eventsManager.sWaitFlip(); + + while (!vm.shouldQuit() && (vm._eventsManager._fadeStatus & 1)) + vm._eventsManager.delay(1); + vm._eventsManager.hideCursor(); + + while (!vm.shouldQuit() && voy._field4378 > 0) { + if (voy._field4376 < 63) { + voy._field4376 += 4; + if (voy._field4376 > 63) + voy._field4376 = 63; + } + + if (voy._field4378 > 0) { + voy._field4378 -= 8; + if (voy._field4378 < 0) + voy._field4378 = 0; + } + + vm._eventsManager.delay(1); + } + + (*vm._graphicsManager._vPort)->_flags |= 8; + vm._graphicsManager.flipPage(); + vm._eventsManager.sWaitFlip(); + + vm._graphicsManager.fadeUpICF1(0); + voy._field478 &= 0x10; + } + } + + voy._field478 = 1; + vm._eventsManager.incrementTime(1); + voy._field4386 = 0; + voy._field437E = 0; + vm.makeViewFinderP(); + + if (voy._field47A != -1) { + vm._bVoy->freeBoltGroup(voy._field47A, 1); + voy._field47A = -1; + } + + if (vm._playStamp1 != -1) { + vm._bVoy->freeBoltGroup(vm._playStamp1); + vm._playStamp1 = -1; + } + + if (vm._playStamp2 != -1) { + vm._soundManager.stopVOCPlay(); + vm._playStamp2 = -1; + } + + chooseSTAMPButton(0); } int ThreadResource::doInterface() { diff --git a/engines/voyeur/sound.cpp b/engines/voyeur/sound.cpp index 1cd0cf3c00..e53716a70c 100644 --- a/engines/voyeur/sound.cpp +++ b/engines/voyeur/sound.cpp @@ -75,6 +75,10 @@ void SoundManager::startVOCPlay(const Common::String &filename) { _mixer->playStream(Audio::Mixer::kSFXSoundType, &_soundHandle, audioStream); } +void SoundManager::startVOCPlay(int soundId) { + startVOCPlay(getVOCFileName(soundId)); +} + int SoundManager::getVOCStatus() { return _mixer->isSoundHandleActive(_soundHandle); } diff --git a/engines/voyeur/sound.h b/engines/voyeur/sound.h index 6de9804b8a..a73bd4a753 100644 --- a/engines/voyeur/sound.h +++ b/engines/voyeur/sound.h @@ -48,6 +48,7 @@ public: void setVOCOffset(int offset); Common::String getVOCFileName(int idx); void startVOCPlay(const Common::String &filename); + void startVOCPlay(int soundId); int getVOCStatus(); }; diff --git a/engines/voyeur/voyeur.cpp b/engines/voyeur/voyeur.cpp index fe2730700f..53698b2702 100644 --- a/engines/voyeur/voyeur.cpp +++ b/engines/voyeur/voyeur.cpp @@ -50,6 +50,7 @@ VoyeurEngine::VoyeurEngine(OSystem *syst, const VoyeurGameDescription *gameDesc) _flashTimeVal = 0; _flashTimeFlag = false; _timeBarVal = -1; + _checkPhoneVal = 0; initialiseManagers(); } diff --git a/engines/voyeur/voyeur.h b/engines/voyeur/voyeur.h index b18a7c0b97..31f05fb2c2 100644 --- a/engines/voyeur/voyeur.h +++ b/engines/voyeur/voyeur.h @@ -74,7 +74,6 @@ private: void initBolt(); void vInitInterrupts(); void initInput(); - void addVideoEventStart(); bool doHeadTitle(); void showConversionScreen(); @@ -123,6 +122,7 @@ public: int _flashTimeVal; bool _flashTimeFlag; int _timeBarVal; + int _checkPhoneVal; public: VoyeurEngine(OSystem *syst, const VoyeurGameDescription *gameDesc); virtual ~VoyeurEngine(); @@ -150,11 +150,19 @@ public: */ void saveLastInplay(); void makeViewFinder(); + void makeViewFinderP(); void initIFace(); void checkTransition(); + bool doComputerText(int v); + void getComputerBrush(); void doTimeBar(bool force); void flashTimeBar(); void checkPhoneCall(); + void doEvidDisplay(int v1, int v2); + + void addVideoEventStart(); + void addComputerEventEnd(); + void addPlainEvent(); }; } // End of namespace Voyeur diff --git a/engines/voyeur/voyeur_game.cpp b/engines/voyeur/voyeur_game.cpp index bdf4ee01a0..8ebb2c2563 100644 --- a/engines/voyeur/voyeur_game.cpp +++ b/engines/voyeur/voyeur_game.cpp @@ -35,6 +35,14 @@ void VoyeurEngine::addVideoEventStart() { e._dead = _eventsManager._videoDead; } +void VoyeurEngine::addComputerEventEnd() { + error("TODO: addComputerEventEnd"); +} + +void VoyeurEngine::addPlainEvent() { + error("TODO: addPlainEvent"); +} + void VoyeurEngine::playStamp() { _stampLibPtr = NULL; _filesManager.openBoltLib("stampblt.blt", _stampLibPtr); @@ -314,6 +322,10 @@ void VoyeurEngine::makeViewFinder() { _eventsManager._intPtr._hasPalette = true; } +void VoyeurEngine::makeViewFinderP() { + _graphicsManager.screenReset(); +} + void VoyeurEngine::initIFace(){ int playStamp1 = _playStamp1; switch (_voy._transitionId) { @@ -389,6 +401,14 @@ void VoyeurEngine::checkTransition(){ } } +bool VoyeurEngine::doComputerText(int v) { + error("TODO: doComputerText"); +} + +void VoyeurEngine::getComputerBrush() { + error("TODO: getComputerBrush"); +} + void VoyeurEngine::doTimeBar(bool force) { flashTimeBar(); @@ -435,7 +455,27 @@ void VoyeurEngine::flashTimeBar(){ } void VoyeurEngine::checkPhoneCall() { - error("TODO: checkPhoneCall"); + if ((_voy._field476 - _voy._RTVNum) >= 36 && _voy._field4B8 < 5 && + _playStamp2 <= 151 && _playStamp2 > 146) { + if ((_voy._switchBGNum < _checkPhoneVal || _checkPhoneVal > 180) && + !_soundManager.getVOCStatus()) { + int soundIndex; + do { + soundIndex = getRandomNumber(4); + } while (_voy._field4AE[soundIndex]); + _playStamp2 = 154 + soundIndex; + + _soundManager.stopVOCPlay(); + _soundManager.startVOCPlay(_playStamp2); + _checkPhoneVal = _voy._switchBGNum; + ++_voy._field4AE[soundIndex]; + ++_voy._field4B8; + } + } +} + +void VoyeurEngine::doEvidDisplay(int v1, int v2) { + error("TODO: doEvidDisplay"); } } // End of namespace Voyeur -- cgit v1.2.3 From 537ec24e1ee3d7c9e4dd082d2ebec5e6880a869f Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Fri, 20 Dec 2013 23:03:17 -0500 Subject: VOYEUR: Renamed a couple of event fields --- engines/voyeur/events.cpp | 12 ++++++------ engines/voyeur/events.h | 13 +++++++++---- engines/voyeur/files_threads.cpp | 3 +-- engines/voyeur/voyeur_game.cpp | 12 ++++++------ 4 files changed, 22 insertions(+), 18 deletions(-) diff --git a/engines/voyeur/events.cpp b/engines/voyeur/events.cpp index b28acfba0f..eb793d3142 100644 --- a/engines/voyeur/events.cpp +++ b/engines/voyeur/events.cpp @@ -44,12 +44,12 @@ IntNode::IntNode(uint16 curTime, uint16 timeReset, uint16 flags) { /*------------------------------------------------------------------------*/ -VoyeurEvent::VoyeurEvent(int v1, int v2, int v3, int v4, int v5, int v6, int v7) { - _computerNum = v1; - _computerBut[0] = v2; - _computerBut[1] = v3; - _computerBut[2] = v4; - _computerBut[3] = v5; +VoyeurEvent::VoyeurEvent(int hour, int minute, bool isAM, int v4, int v5, int v6, int v7) { + _hour = hour; + _minute = minute; + _isAM = isAM; + _field6 = v4; + _field8 = v5; _computerOn = v6; _dead = v7; } diff --git a/engines/voyeur/events.h b/engines/voyeur/events.h index 494b90d6de..c8377487dc 100644 --- a/engines/voyeur/events.h +++ b/engines/voyeur/events.h @@ -52,13 +52,16 @@ public: class VoyeurEvent { public: - int _computerNum; - int _computerBut[4]; + int _hour; + int _minute; + bool _isAM; + int _field6; + int _field8; int _computerOn; int _computerOff; int _dead; public: - VoyeurEvent(int v1, int v2, int v3, int v4, int v5, int v6, int v7); + VoyeurEvent(int hour, int minute, bool isAM, int v4, int v5, int v6, int v7); }; class SVoy { @@ -95,6 +98,9 @@ public: int _field4EE; int _field4F0; int _field4F2; + int _eventCount; + Common::Array _events; + int _timeStart; int _duration; @@ -113,7 +119,6 @@ public: int _numPhonesUsed; int _evidence[20]; - Common::Array _events; int _field4376; int _field4378; int _field437A; diff --git a/engines/voyeur/files_threads.cpp b/engines/voyeur/files_threads.cpp index ef6022a7bd..229d4c3fb5 100644 --- a/engines/voyeur/files_threads.cpp +++ b/engines/voyeur/files_threads.cpp @@ -1170,10 +1170,9 @@ int ThreadResource::doApt() { void ThreadResource::doRoom() { VoyeurEngine &vm = *_vm; SVoy &voy = vm._voy; - + vm.makeViewFinderP(); voy._field437E = 0; - int varE = 0; if (!vm._bVoy->getBoltGroup(vm._playStamp1, true)) return; diff --git a/engines/voyeur/voyeur_game.cpp b/engines/voyeur/voyeur_game.cpp index 8ebb2c2563..41a657fbc5 100644 --- a/engines/voyeur/voyeur_game.cpp +++ b/engines/voyeur/voyeur_game.cpp @@ -26,12 +26,12 @@ namespace Voyeur { void VoyeurEngine::addVideoEventStart() { - VoyeurEvent &e = _voy._events[_voy._evidence[19]]; - e._computerNum = _gameHour; - e._computerBut[0] = _gameMinute; - e._computerBut[1] = _voy._isAM; - e._computerBut[2] = 1; - e._computerBut[3] = _eventsManager._videoComputerBut4; + VoyeurEvent &e = _voy._events[_voy._eventCount]; + e._hour = _gameHour; + e._minute = _gameMinute; + e._isAM = _voy._isAM; + e._field6 = 1; + e._field8 = _eventsManager._videoComputerBut4; e._dead = _eventsManager._videoDead; } -- cgit v1.2.3 From 2fe3902dc923ae7219c25e9988b25c0cae6dd4e4 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Sat, 21 Dec 2013 11:52:53 -0500 Subject: VOYEUR: Fix to start doInterface after doApt --- engines/voyeur/voyeur_game.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/engines/voyeur/voyeur_game.cpp b/engines/voyeur/voyeur_game.cpp index 41a657fbc5..b56f2c7551 100644 --- a/engines/voyeur/voyeur_game.cpp +++ b/engines/voyeur/voyeur_game.cpp @@ -112,6 +112,8 @@ void VoyeurEngine::playStamp() { } else { threadP->chooseSTAMPButton(buttonId); } + + flag = true; break; case 6: -- cgit v1.2.3 From 4f9c900a039c2be64847720122382ef11090df2d Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Tue, 24 Dec 2013 07:38:39 +1100 Subject: VOYEUR: Fixes for video camera battery countdown --- engines/voyeur/events.cpp | 16 +++++++++++++-- engines/voyeur/files.h | 17 ++++++++++++++++ engines/voyeur/files_threads.cpp | 42 +++++++++++++++++++++------------------- engines/voyeur/voyeur.h | 8 ++++++++ 4 files changed, 61 insertions(+), 22 deletions(-) diff --git a/engines/voyeur/events.cpp b/engines/voyeur/events.cpp index eb793d3142..6d38dc4695 100644 --- a/engines/voyeur/events.cpp +++ b/engines/voyeur/events.cpp @@ -104,7 +104,12 @@ void EventsManager::startMainClockInt() { } void EventsManager::mainVoyeurIntFunc() { - // TODO + if (!(_vm->_voy._field478 & 1)) { + ++_vm->_voy._switchBGNum; + ++_vm->_voy._RTVNum; + if (_vm->_voy._RTVNum >= _vm->_voy._field4F2) + _vm->_voy._field4F0 = 1; + } } void EventsManager::vStopCycle() { @@ -147,6 +152,9 @@ void EventsManager::checkForNextFrameCounter() { // Run the timer-based updates voyeurTimer(); + if ((_gameCounter % GAME_FRAME_RATE) == 0) + mainVoyeurIntFunc(); + // Display the frame g_system->copyRectToScreen((byte *)_vm->_graphicsManager._screenSurface.getPixels(), SCREEN_WIDTH, 0, 0, SCREEN_WIDTH, SCREEN_HEIGHT); @@ -193,6 +201,7 @@ void EventsManager::voyeurTimer() { (this->*node._intFunc)(); } + } void EventsManager::videoTimer() { @@ -423,6 +432,8 @@ void EventsManager::hideCursor() { } void EventsManager::getMouseInfo() { + pollEvents(); + if (_vm->_voy._field478 & 0x10) { if ((_gameCounter - _joe) > 8) { _joe = _gameCounter; @@ -454,7 +465,8 @@ void EventsManager::startCursorBlink() { } void EventsManager::incrementTime(int amt) { - error("TODO: incrementTime"); + for (int i = 0; i < amt; ++i) + mainVoyeurIntFunc(); } } // End of namespace Voyeur diff --git a/engines/voyeur/files.h b/engines/voyeur/files.h index a48dbaa3e5..61c910be49 100644 --- a/engines/voyeur/files.h +++ b/engines/voyeur/files.h @@ -456,8 +456,20 @@ private: void savePrevious(); void setButtonFlag(int idx, byte bits); void clearButtonFlag(int idx, byte bits); + + /** + * Loads data needed for displaying the initial apartment screen + */ void loadTheApt(); + + /** + * Frees the apartment screen data + */ void freeTheApt(); + + /** + * Does any necessary animation at the start or end of showing the apartment. + */ void doAptAnim(int mode); public: VoyeurEngine *_vm; @@ -495,7 +507,12 @@ public: void parsePlayCommands(); int doInterface(); void doRoom(); + + /** + * Shows the apartment screen + */ int doApt(); + void doTapePlaying(); void checkForMurder(); void checkForIncriminate(); diff --git a/engines/voyeur/files_threads.cpp b/engines/voyeur/files_threads.cpp index 229d4c3fb5..be35143932 100644 --- a/engines/voyeur/files_threads.cpp +++ b/engines/voyeur/files_threads.cpp @@ -1208,7 +1208,7 @@ void ThreadResource::doRoom() { voy._field478 &= ~1; bool breakFlag = false; - while (!breakFlag) { + while (!vm.shouldQuit() && !breakFlag) { vm._graphicsManager.setColor(128, 0, 255, 0); vm._eventsManager._intPtr.field38 = 1; vm._eventsManager._intPtr._hasPalette = true; @@ -1374,8 +1374,6 @@ void ThreadResource::doRoom() { } int ThreadResource::doInterface() { - int varA = -1; - int var8 = 0; PictureResource *pic; Common::Point pt; @@ -1431,13 +1429,15 @@ int ThreadResource::doInterface() { _vm->_eventsManager._intPtr._hasPalette = true; _vm->_voy._field478 &= ~1; + int priorRegionIndex = -1; + int regionIndex = 0; do { _vm->doTimeBar(true); _vm->_eventsManager.getMouseInfo(); pt = _vm->_eventsManager.getMousePos(); - if (pt.x != _currentMouseX || pt.y != _currentMouseY || var8 != varA) { - varA = var8; + if (pt.x != _currentMouseX || pt.y != _currentMouseY || regionIndex != priorRegionIndex) { + priorRegionIndex = regionIndex; _vm->_graphicsManager.doScroll(pt); _currentMouseX = pt.x; @@ -1451,6 +1451,7 @@ int ThreadResource::doInterface() { } pt = _vm->_eventsManager.getMousePos() + Common::Point(120, 75); + regionIndex = -1; for (int idx = 0; idx < READ_LE_UINT16(dataP); ++idx) { if (READ_LE_UINT16(dataP + (idx * 8 + 2)) <= pt.x && @@ -1465,7 +1466,7 @@ int ThreadResource::doInterface() { pic = _vm->_bVoy->boltEntry(276)._picResource; _vm->_graphicsManager.sDrawPic(pic, *_vm->_graphicsManager._vPort, Common::Point(178, 108)); - var8 = idx; + regionIndex = idx; } if (_vm->_voy._arr5[arrIndex][idx] <= _vm->_voy._RTVNum && @@ -1474,44 +1475,45 @@ int ThreadResource::doInterface() { pic = _vm->_bVoy->boltEntry(277)._picResource; _vm->_graphicsManager.sDrawPic(pic, *_vm->_graphicsManager._vPort, Common::Point(178, 108)); - var8 = idx; + regionIndex = idx; } } - for (int arrIndex = 0; arrIndex < 3; ++arrIndex) { + for (int arrIndex = 0; arrIndex < 8; ++arrIndex) { if (_vm->_voy._arr1[arrIndex][idx] <= _vm->_voy._RTVNum && _vm->_voy._arr2[arrIndex][idx] > _vm->_voy._RTVNum) { // Draw the picture pic = _vm->_bVoy->boltEntry(375)._picResource; _vm->_graphicsManager.sDrawPic(pic, *_vm->_graphicsManager._vPort, Common::Point(178, 108)); - var8 = idx; + regionIndex = idx; } } } } - if (var8 == -1) { - // Draw the default picture + if (regionIndex == -1) { + // Draw the crosshairs cursor in the center of the screen pic = _vm->_bVoy->boltEntry(274)._picResource; _vm->_graphicsManager.sDrawPic(pic, *_vm->_graphicsManager._vPort, Common::Point(178, 108)); } - if (_vm->_voy._RTVNum & 2) { + // Regularly update the time display + if (_vm->_voy._RTANum & 2) { _vm->_graphicsManager.drawANumber(*_vm->_graphicsManager._vPort, - 10 / _vm->_gameMinute, Common::Point(190, 25)); + _vm->_gameMinute / 10, Common::Point(190, 25)); _vm->_graphicsManager.drawANumber(*_vm->_graphicsManager._vPort, - 10 % _vm->_gameMinute, Common::Point(190, 25)); + _vm->_gameMinute % 10, Common::Point(201, 25)); if (_vm->_voy._RTANum & 4) { - int v = 10 / _vm->_gameHour; + int v = _vm->_gameHour / 10; _vm->_graphicsManager.drawANumber(*_vm->_graphicsManager._vPort, - v == 0 ? 10 : v, Common::Point(190, 25)); + v == 0 ? 10 : v, Common::Point(161, 25)); _vm->_graphicsManager.drawANumber(*_vm->_graphicsManager._vPort, _vm->_gameHour % 10, Common::Point(172, 25)); - pic = _vm->_bVoy->boltEntry(274)._picResource; + pic = _vm->_bVoy->boltEntry(_vm->_voy._isAM ? 272 : 273)._picResource; _vm->_graphicsManager.sDrawPic(pic, *_vm->_graphicsManager._vPort, Common::Point(215, 27)); } @@ -1528,7 +1530,7 @@ int ThreadResource::doInterface() { _vm->_eventsManager.getMouseInfo(); if (_vm->_voy._transitionId == 15) { - var8 = 20; + regionIndex = 20; _vm->_voy._transitionId = 17; _vm->_soundManager.stopVOCPlay(); _vm->checkTransition(); @@ -1556,14 +1558,14 @@ int ThreadResource::doInterface() { } } } while (!_vm->_voy._fadeFunc && !_vm->shouldQuit() && - (!_vm->_voy._mouseClicked || var8 == -1)); + (!_vm->_voy._mouseClicked || regionIndex == -1)); _vm->_voy._field478 |= 1; _vm->_bVoy->freeBoltGroup(_vm->_playStamp1); if (_vm->_playStamp2 != -1) _vm->_soundManager.stopVOCPlay(); - return !_vm->_voy._fadeFunc ? var8 : -2; + return !_vm->_voy._fadeFunc ? regionIndex : -2; } void ThreadResource::addAudioEventStart() { diff --git a/engines/voyeur/voyeur.h b/engines/voyeur/voyeur.h index 31f05fb2c2..a48f9c2784 100644 --- a/engines/voyeur/voyeur.h +++ b/engines/voyeur/voyeur.h @@ -155,7 +155,15 @@ public: void checkTransition(); bool doComputerText(int v); void getComputerBrush(); + + /** + * Displays the time/charge remaining on the video camera screen + */ void doTimeBar(bool force); + + /** + * If necessary, flashes the time remaining bar on the video camera screen + */ void flashTimeBar(); void checkPhoneCall(); void doEvidDisplay(int v1, int v2); -- cgit v1.2.3 From 1af5a3b1b4174c2238b6d7ab81600eefe929dc9c Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Tue, 24 Dec 2013 09:50:42 +1100 Subject: VOYEUR: Fix for setting up viewport clipping rect --- engines/voyeur/files.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/engines/voyeur/files.cpp b/engines/voyeur/files.cpp index 6f44806acd..9dff1f0ea7 100644 --- a/engines/voyeur/files.cpp +++ b/engines/voyeur/files.cpp @@ -916,7 +916,7 @@ void ViewPortResource::setupViewPort(PictureResource *page, Common::Rect *clipRe } xDiff = r.right - clipRect->right; - yDiff = r.right - clipRect->right; + yDiff = r.bottom - clipRect->bottom; if (xDiff > 0) r.setWidth(xDiff <= r.width() ? r.width() - xDiff : 0); -- cgit v1.2.3 From 156f78e7cdb4c49b437c378d7239806784bcee54 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Tue, 24 Dec 2013 10:32:41 +1100 Subject: VOYEUR: Bugfixes and move for doScroll method --- engines/voyeur/files.h | 4 ++++ engines/voyeur/files_threads.cpp | 2 +- engines/voyeur/graphics.cpp | 41 -------------------------------------- engines/voyeur/graphics.h | 1 - engines/voyeur/voyeur.h | 6 ++++++ engines/voyeur/voyeur_game.cpp | 43 +++++++++++++++++++++++++++++++++++++++- 6 files changed, 53 insertions(+), 44 deletions(-) diff --git a/engines/voyeur/files.h b/engines/voyeur/files.h index 61c910be49..aa03383366 100644 --- a/engines/voyeur/files.h +++ b/engines/voyeur/files.h @@ -505,6 +505,10 @@ public: bool chooseSTAMPButton(int buttonId); void parsePlayCommands(); + + /** + * Do the camera view looking at the mansion + */ int doInterface(); void doRoom(); diff --git a/engines/voyeur/files_threads.cpp b/engines/voyeur/files_threads.cpp index be35143932..4432d7eb84 100644 --- a/engines/voyeur/files_threads.cpp +++ b/engines/voyeur/files_threads.cpp @@ -1438,7 +1438,7 @@ int ThreadResource::doInterface() { pt = _vm->_eventsManager.getMousePos(); if (pt.x != _currentMouseX || pt.y != _currentMouseY || regionIndex != priorRegionIndex) { priorRegionIndex = regionIndex; - _vm->_graphicsManager.doScroll(pt); + _vm->doScroll(pt); _currentMouseX = pt.x; _currentMouseY = pt.y; diff --git a/engines/voyeur/graphics.cpp b/engines/voyeur/graphics.cpp index 185f51be54..a62a912c35 100644 --- a/engines/voyeur/graphics.cpp +++ b/engines/voyeur/graphics.cpp @@ -692,47 +692,6 @@ void GraphicsManager::screenReset() { _vm->_eventsManager.sWaitFlip(); } -void GraphicsManager::doScroll(const Common::Point &pt) { - Common::Rect clipRect(72, 47, 240, 148); - (*_vm->_graphicsManager._vPort)->setupViewPort(NULL, &clipRect); - - PictureResource *pic; - int base = 0; - switch (_vm->_voy._transitionId) { - case 0: - break; - case 1: - case 2: - case 5: - case 6: - case 7: - case 8: - case 9: - base = 0xB00; - break; - case 3: - base = 0xC00; - break; - default: - base = 0xD00; - } - - if (base) { - pic = _vm->_bVoy->boltEntry(base + 3)._picResource; - sDrawPic(pic, *_vPort, Common::Point(784 - pt.x + 712, 150 - pt.y - 104)); - pic = _vm->_bVoy->boltEntry(base + 4)._picResource; - sDrawPic(pic, *_vPort, Common::Point(784 - pt.x + 712, 150 - pt.y - 44)); - pic = _vm->_bVoy->boltEntry(base + 5)._picResource; - sDrawPic(pic, *_vPort, Common::Point(784 - pt.x + 712, 150 - pt.y + 16)); - pic = _vm->_bVoy->boltEntry(base + 6)._picResource; - sDrawPic(pic, *_vPort, Common::Point(784 - pt.x + 712, 150 - pt.y + 76)); - pic = _vm->_bVoy->boltEntry(base + 7)._picResource; - sDrawPic(pic, *_vPort, Common::Point(784 - pt.x + 712, 150 - pt.y + 136)); - } - - (*_vPort)->setupViewPort(); -} - void GraphicsManager::fadeDownICF1(int steps) { if (steps > 0) { int stepAmount = _vm->_voy._field4378 / steps; diff --git a/engines/voyeur/graphics.h b/engines/voyeur/graphics.h index 1017726a0b..3bfef0ee81 100644 --- a/engines/voyeur/graphics.h +++ b/engines/voyeur/graphics.h @@ -112,7 +112,6 @@ public: void setColor(int idx, byte r, byte g, byte b); void setOneColor(int idx, byte r, byte g, byte b); void screenReset(); - void doScroll(const Common::Point &pt); void fadeDownICF1(int steps); void fadeUpICF1(int steps); void fadeDownICF(int steps); diff --git a/engines/voyeur/voyeur.h b/engines/voyeur/voyeur.h index a48f9c2784..0da5058992 100644 --- a/engines/voyeur/voyeur.h +++ b/engines/voyeur/voyeur.h @@ -165,6 +165,12 @@ public: * If necessary, flashes the time remaining bar on the video camera screen */ void flashTimeBar(); + + /** + * Handle scrolling of the mansion view in the camera sights + */ + void doScroll(const Common::Point &pt); + void checkPhoneCall(); void doEvidDisplay(int v1, int v2); diff --git a/engines/voyeur/voyeur_game.cpp b/engines/voyeur/voyeur_game.cpp index b56f2c7551..1a6c2d1673 100644 --- a/engines/voyeur/voyeur_game.cpp +++ b/engines/voyeur/voyeur_game.cpp @@ -356,7 +356,7 @@ void VoyeurEngine::initIFace(){ CMapResource *pal = _bVoy->boltEntry(_playStamp1 + 2)._cMapResource; pal->startFade(); - _graphicsManager.doScroll(_eventsManager.getMousePos()); + doScroll(_eventsManager.getMousePos()); _voy._field4386 = _bVoy->memberAddr(_playStamp1); @@ -365,6 +365,47 @@ void VoyeurEngine::initIFace(){ // getting resources as needed will be fast enough. } +void VoyeurEngine::doScroll(const Common::Point &pt) { + Common::Rect clipRect(72, 47, 72 + 240, 47 + 148); + (*_graphicsManager._vPort)->setupViewPort(NULL, &clipRect); + + PictureResource *pic; + int base = 0; + switch (_voy._transitionId) { + case 0: + break; + case 1: + case 2: + case 5: + case 6: + case 7: + case 8: + case 9: + base = 0xB00; + break; + case 3: + base = 0xC00; + break; + default: + base = 0xD00; + } + + if (base) { + pic = _bVoy->boltEntry(base + 3)._picResource; + _graphicsManager.sDrawPic(pic, *_graphicsManager._vPort, Common::Point(784 - pt.x - 712, 150 - pt.y - 104)); + pic = _bVoy->boltEntry(base + 4)._picResource; + _graphicsManager.sDrawPic(pic, *_graphicsManager._vPort, Common::Point(784 - pt.x - 712, 150 - pt.y - 44)); + pic = _bVoy->boltEntry(base + 5)._picResource; + _graphicsManager.sDrawPic(pic, *_graphicsManager._vPort, Common::Point(784 - pt.x - 712, 150 - pt.y + 16)); + pic = _bVoy->boltEntry(base + 6)._picResource; + _graphicsManager.sDrawPic(pic, *_graphicsManager._vPort, Common::Point(784 - pt.x - 712, 150 - pt.y + 76)); + pic = _bVoy->boltEntry(base + 7)._picResource; + _graphicsManager.sDrawPic(pic, *_graphicsManager._vPort, Common::Point(784 - pt.x - 712, 150 - pt.y + 136)); + } + + (*_graphicsManager._vPort)->setupViewPort(); +} + void VoyeurEngine::checkTransition(){ Common::String time, day; -- cgit v1.2.3 From fa6eb76d6607608edc2415a827aac787915ca11f Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Tue, 24 Dec 2013 16:32:50 +1100 Subject: VOYEUR: Implemented further event methods, and miscellaneous --- engines/voyeur/events.cpp | 85 ++++++++++++++++++++++---- engines/voyeur/events.h | 25 +++++--- engines/voyeur/files.h | 3 - engines/voyeur/files_threads.cpp | 44 +++++--------- engines/voyeur/graphics.cpp | 2 +- engines/voyeur/staticres.cpp | 3 + engines/voyeur/staticres.h | 3 + engines/voyeur/voyeur.h | 6 +- engines/voyeur/voyeur_game.cpp | 127 +++++++++++++++++++++++++++++++++------ 9 files changed, 219 insertions(+), 79 deletions(-) diff --git a/engines/voyeur/events.cpp b/engines/voyeur/events.cpp index 6d38dc4695..1139b95cbf 100644 --- a/engines/voyeur/events.cpp +++ b/engines/voyeur/events.cpp @@ -42,19 +42,6 @@ IntNode::IntNode(uint16 curTime, uint16 timeReset, uint16 flags) { _flags = flags; } -/*------------------------------------------------------------------------*/ - -VoyeurEvent::VoyeurEvent(int hour, int minute, bool isAM, int v4, int v5, int v6, int v7) { - _hour = hour; - _minute = minute; - _isAM = isAM; - _field6 = v4; - _field8 = v5; - _computerOn = v6; - _dead = v7; -} - - /*------------------------------------------------------------------------*/ IntData::IntData() { @@ -469,4 +456,76 @@ void EventsManager::incrementTime(int amt) { mainVoyeurIntFunc(); } +void EventsManager::addVideoEventStart() { + VoyeurEvent &e = _vm->_voy._events[_vm->_voy._eventCount]; + e._hour = _vm->_gameHour; + e._minute = _vm->_gameMinute; + e._isAM = _vm->_voy._isAM; + e._type = EVTYPE_VIDEO; + e._field8 = _vm->_eventsManager._videoComputerBut4; + e._computerOn = _vm->_voy._vocSecondsOffset; + e._dead = _vm->_eventsManager._videoDead; +} + +void EventsManager::addVideoEventEnd() { + VoyeurEvent &e = _vm->_voy._events[_vm->_voy._eventCount]; + e._computerOff = _vm->_voy._RTVNum - _vm->_voy._field468 - _vm->_voy._vocSecondsOffset; + if (_vm->_voy._eventCount < (TOTAL_EVENTS - 1)) + ++_vm->_voy._eventCount; +} + +void EventsManager::addAudioEventStart() { + VoyeurEvent &e = _vm->_voy._events[_vm->_voy._eventCount]; + e._hour = _vm->_gameHour; + e._minute = _vm->_gameMinute; + e._isAM = _vm->_voy._isAM; + e._type = EVTYPE_AUDIO; + e._field8 = _vm->_eventsManager._videoComputerBut4; + e._computerOn = _vm->_voy._field47A; + e._dead = _vm->_eventsManager._videoDead; +} + +void EventsManager::addAudioEventEnd() { + VoyeurEvent &e = _vm->_voy._events[_vm->_voy._eventCount]; + e._computerOff = _vm->_voy._RTVNum - _vm->_voy._field468 - _vm->_voy._vocSecondsOffset; + if (_vm->_voy._eventCount < (TOTAL_EVENTS - 1)) + ++_vm->_voy._eventCount; +} + +void EventsManager::addEvidEventStart(int v) { + VoyeurEvent &e = _vm->_voy._events[_vm->_voy._eventCount]; + e._hour = _vm->_gameHour; + e._minute = _vm->_gameMinute; + e._isAM = _vm->_voy._isAM; + e._type = EVTYPE_EVID; + e._field8 = _vm->_eventsManager._videoComputerBut4; + e._computerOn = _vm->_voy._vocSecondsOffset; + e._dead = _vm->_eventsManager._videoDead; + +} + +void EventsManager::addEvidEventEnd(int dead) { + VoyeurEvent &e = _vm->_voy._events[_vm->_voy._eventCount]; + e._dead = dead; + if (_vm->_voy._eventCount < (TOTAL_EVENTS - 1)) + ++_vm->_voy._eventCount; +} + +void EventsManager::addComputerEventStart() { + VoyeurEvent &e = _vm->_voy._events[_vm->_voy._eventCount]; + e._hour = _vm->_gameHour; + e._minute = _vm->_gameMinute; + e._isAM = _vm->_voy._isAM; + e._type = EVTYPE_COMPUTER; + e._field8 = _vm->_playStamp1; + e._computerOn = _vm->_voy._computerTextId; +} + +void EventsManager::addComputerEventEnd(int v) { + VoyeurEvent &e = _vm->_voy._events[_vm->_voy._eventCount]; + e._computerOff = v; + if (_vm->_voy._eventCount < (TOTAL_EVENTS - 1)) + ++_vm->_voy._eventCount; +} + } // End of namespace Voyeur diff --git a/engines/voyeur/events.h b/engines/voyeur/events.h index c8377487dc..c7d8910f5c 100644 --- a/engines/voyeur/events.h +++ b/engines/voyeur/events.h @@ -36,6 +36,7 @@ class CMapResource; #define GAME_FRAME_RATE 50 #define GAME_FRAME_TIME (1000 / GAME_FRAME_RATE) +#define TOTAL_EVENTS 1000 typedef void (EventsManager::*EventMethodPtr)(); @@ -50,18 +51,18 @@ public: IntNode(uint16 curTime, uint16 timeReset, uint16 flags); }; -class VoyeurEvent { -public: +enum VoyeurEventType { EVTYPE_VIDEO = 1, EVTYPE_AUDIO = 2, EVTYPE_EVID = 3, + EVTYPE_COMPUTER = 4 }; + +struct VoyeurEvent { int _hour; int _minute; bool _isAM; - int _field6; + VoyeurEventType _type; int _field8; int _computerOn; int _computerOff; int _dead; -public: - VoyeurEvent(int hour, int minute, bool isAM, int v4, int v5, int v6, int v7); }; class SVoy { @@ -92,15 +93,14 @@ public: int _field4AE[5]; int _field4B8; - int _field4E2; + int _computerTextId; Common::Rect _rect4E4; int _field4EC; int _field4EE; int _field4F0; int _field4F2; int _eventCount; - Common::Array _events; - + VoyeurEvent _events[TOTAL_EVENTS]; int _timeStart; int _duration; @@ -231,6 +231,15 @@ public: void checkForKey(); void startCursorBlink(); void incrementTime(int amt); + + void addVideoEventStart(); + void addVideoEventEnd(); + void addAudioEventStart(); + void addAudioEventEnd(); + void addEvidEventStart(int v); + void addEvidEventEnd(int dead); + void addComputerEventStart(); + void addComputerEventEnd(int v); }; } // End of namespace Voyeur diff --git a/engines/voyeur/files.h b/engines/voyeur/files.h index aa03383366..f15f066736 100644 --- a/engines/voyeur/files.h +++ b/engines/voyeur/files.h @@ -446,9 +446,6 @@ private: uint32 getSID(int sid); void cardAction(const byte *p); void doSTAMPCardAction(); - void addAudioEventStart(); - void addAudioEventEnd(); - void addVideoEventEnd(); bool goToStateID(int stackId, int sceneId); bool goToState(int stackId, int sceneId); const byte *cardPerform(const byte *card); diff --git a/engines/voyeur/files_threads.cpp b/engines/voyeur/files_threads.cpp index 4432d7eb84..38a5fab80c 100644 --- a/engines/voyeur/files_threads.cpp +++ b/engines/voyeur/files_threads.cpp @@ -344,7 +344,7 @@ void ThreadResource::parsePlayCommands() { _vm->_voy._field468 = 0; _vm->_voy._field46A = 0; _vm->_voy._field47A = -1; - _vm->_voy._field4E2 = -1; + _vm->_voy._computerTextId = -1; _vm->_voy._field478 &= ~8; _vm->_eventsManager._videoDead = -1; @@ -386,7 +386,7 @@ void ThreadResource::parsePlayCommands() { _vm->_eventsManager._videoComputerBut4 = -1; } else { _vm->_voy._vocSecondsOffset = _vm->_voy._RTVNum - _vm->_voy._field468; - addAudioEventStart(); + _vm->_eventsManager.addAudioEventStart(); assert(_vm->_eventsManager._videoComputerBut4 < 38); _vm->_graphicsManager._backgroundPage = _vm->_bVoy->boltEntry( @@ -417,7 +417,7 @@ void ThreadResource::parsePlayCommands() { _vm->_voy._field478 |= 1; _vm->_soundManager.stopVOCPlay(); - addAudioEventEnd(); + _vm->_eventsManager.addAudioEventEnd(); _vm->_eventsManager.incrementTime(1); _vm->_eventsManager.incrementTime(1); @@ -445,14 +445,14 @@ void ThreadResource::parsePlayCommands() { _vm->_eventsManager._videoComputerBut4 = -1; } else { _vm->_voy._vocSecondsOffset = _vm->_voy._RTVNum - _vm->_voy._field468; - addAudioEventStart(); + _vm->_eventsManager.addAudioEventStart(); _vm->_voy._field478 &= ~1; _vm->_voy._field478 |= 0x10; _vm->playAVideo(_vm->_eventsManager._videoComputerBut4); _vm->_voy._field478 &= ~0x10; _vm->_voy._field478 |= 1; - addVideoEventEnd(); + _vm->_eventsManager.addVideoEventEnd(); _vm->_eventsManager.incrementTime(1); _vm->_eventsManager._videoComputerBut4 = -1; @@ -669,14 +669,14 @@ void ThreadResource::parsePlayCommands() { v2 = READ_LE_UINT16(dataP); if (v2 == 0 || READ_LE_UINT16(_vm->_controlPtr->_ptr + 4) == 0) { - _vm->_voy._field4E2 = READ_LE_UINT16(dataP + 2); + _vm->_voy._computerTextId = READ_LE_UINT16(dataP + 2); _vm->_voy._field4EC = READ_LE_UINT16(dataP + 4); _vm->_voy._field4EE = READ_LE_UINT16(dataP + 6); - _vm->_voy._rect4E4.left = COMP_BUT_TABLE[_vm->_voy._field4E2 * 4]; - _vm->_voy._rect4E4.top = COMP_BUT_TABLE[_vm->_voy._field4E2 * 4 + 1]; - _vm->_voy._rect4E4.right = COMP_BUT_TABLE[_vm->_voy._field4E2 * 4 + 2]; - _vm->_voy._rect4E4.bottom = COMP_BUT_TABLE[_vm->_voy._field4E2 * 4 + 3]; + _vm->_voy._rect4E4.left = COMP_BUT_TABLE[_vm->_voy._computerTextId * 4]; + _vm->_voy._rect4E4.top = COMP_BUT_TABLE[_vm->_voy._computerTextId * 4 + 1]; + _vm->_voy._rect4E4.right = COMP_BUT_TABLE[_vm->_voy._computerTextId * 4 + 2]; + _vm->_voy._rect4E4.bottom = COMP_BUT_TABLE[_vm->_voy._computerTextId * 4 + 3]; } dataP += 8; @@ -1223,7 +1223,7 @@ void ThreadResource::doRoom() { vm._eventsManager.getMouseInfo(); Common::Point pt = vm._eventsManager.getMousePos(); i4e4 = -1; - if (voy._field4E2 != -1 && voy._rect4E4.contains(pt)) + if (voy._computerTextId != -1 && voy._rect4E4.contains(pt)) i4e4 = 999; for (int idx = 0; idx < count; ++idx) { @@ -1288,13 +1288,14 @@ void ThreadResource::doRoom() { (*vm._graphicsManager._vPort)->_flags |= 8; vm._graphicsManager.flipPage(); vm._eventsManager.sWaitFlip(); - vm.addPlainEvent(); + vm._eventsManager.addComputerEventStart(); voy._incriminate = false; vm._eventsManager.startCursorBlink(); - if (vm.doComputerText(9999)) - vm.addComputerEventEnd(); + int v = vm.doComputerText(9999); + if (v) + vm._eventsManager.addComputerEventEnd(v); vm._bVoy->freeBoltGroup(0x4900); } else { @@ -1568,21 +1569,6 @@ int ThreadResource::doInterface() { return !_vm->_voy._fadeFunc ? regionIndex : -2; } -void ThreadResource::addAudioEventStart() { - _vm->_voy._events.push_back(VoyeurEvent(_vm->_gameHour, - _vm->_gameMinute, _vm->_voy._isAM, 2, - _vm->_eventsManager._videoComputerBut4, _vm->_voy._vocSecondsOffset, - _vm->_eventsManager._videoDead)); -} - -void ThreadResource::addAudioEventEnd() { - error("TODO: addAudioEventEnd"); -} - -void ThreadResource::addVideoEventEnd() { - error("TODO: addVideoEventEnd"); -} - bool ThreadResource::goToStateID(int stackId, int sceneId) { debugC(DEBUG_BASIC, kDebugScripts, "goToStateID - %d, %d", stackId, sceneId); diff --git a/engines/voyeur/graphics.cpp b/engines/voyeur/graphics.cpp index a62a912c35..f07616bb36 100644 --- a/engines/voyeur/graphics.cpp +++ b/engines/voyeur/graphics.cpp @@ -137,7 +137,7 @@ void GraphicsManager::sDrawPic(DisplayResource *srcDisplay, DisplayResource *des int var52; int var20, var22; int var26; - byte pixel; + byte pixel = 0; byte *srcImgData, *destImgData; byte *srcP, *destP; diff --git a/engines/voyeur/staticres.cpp b/engines/voyeur/staticres.cpp index b6f373078b..6835ff053b 100644 --- a/engines/voyeur/staticres.cpp +++ b/engines/voyeur/staticres.cpp @@ -111,4 +111,7 @@ const char *const MONDAY = "Monday Morning"; const char *const AM = "am"; const char *const PM = "pm"; +const char *const START_OF_MESSAGE = "*** Start of Message ***"; +const char *const END_OF_MESSAGE = "*** End of Message ***"; + } // End of namespace Voyeur diff --git a/engines/voyeur/staticres.h b/engines/voyeur/staticres.h index 990e2cf72a..ab35ac202f 100644 --- a/engines/voyeur/staticres.h +++ b/engines/voyeur/staticres.h @@ -47,6 +47,9 @@ extern const char *const MONDAY; extern const char *const AM; extern const char *const PM; +extern const char *const START_OF_MESSAGE; +extern const char *const END_OF_MESSAGE; + } // End of namespace Voyeur #endif diff --git a/engines/voyeur/voyeur.h b/engines/voyeur/voyeur.h index 0da5058992..7b065e6675 100644 --- a/engines/voyeur/voyeur.h +++ b/engines/voyeur/voyeur.h @@ -153,7 +153,7 @@ public: void makeViewFinderP(); void initIFace(); void checkTransition(); - bool doComputerText(int v); + bool doComputerText(int maxLen); void getComputerBrush(); /** @@ -173,10 +173,6 @@ public: void checkPhoneCall(); void doEvidDisplay(int v1, int v2); - - void addVideoEventStart(); - void addComputerEventEnd(); - void addPlainEvent(); }; } // End of namespace Voyeur diff --git a/engines/voyeur/voyeur_game.cpp b/engines/voyeur/voyeur_game.cpp index 1a6c2d1673..471fec9284 100644 --- a/engines/voyeur/voyeur_game.cpp +++ b/engines/voyeur/voyeur_game.cpp @@ -25,24 +25,6 @@ namespace Voyeur { -void VoyeurEngine::addVideoEventStart() { - VoyeurEvent &e = _voy._events[_voy._eventCount]; - e._hour = _gameHour; - e._minute = _gameMinute; - e._isAM = _voy._isAM; - e._field6 = 1; - e._field8 = _eventsManager._videoComputerBut4; - e._dead = _eventsManager._videoDead; -} - -void VoyeurEngine::addComputerEventEnd() { - error("TODO: addComputerEventEnd"); -} - -void VoyeurEngine::addPlainEvent() { - error("TODO: addPlainEvent"); -} - void VoyeurEngine::playStamp() { _stampLibPtr = NULL; _filesManager.openBoltLib("stampblt.blt", _stampLibPtr); @@ -444,12 +426,107 @@ void VoyeurEngine::checkTransition(){ } } -bool VoyeurEngine::doComputerText(int v) { - error("TODO: doComputerText"); +bool VoyeurEngine::doComputerText(int maxLen) { + FontInfoResource &font = *_graphicsManager._fontPtr; + int totalChars = 0; + + font._curFont = _bVoy->boltEntry(0x4910)._fontResource; + font._foreColor = 129; + font._fontSaveBack = false; + font._fontFlags = 0; + if (_voy._vocSecondsOffset > 60) + _voy._vocSecondsOffset = 0; + + if (_voy._RTVNum > _voy._field4EE && maxLen == 9999) { + if (_playStamp2 != -1) + _soundManager.startVOCPlay(_playStamp2); + font._justify = ALIGN_LEFT; + font._justifyWidth = 384; + font._justifyHeight = 100; + font._pos = Common::Point(128, 100); + (*_graphicsManager._vPort)->drawText(END_OF_MESSAGE); + } else if (_voy._RTVNum < _voy._field4EC && maxLen == 9999) { + if (_playStamp2 != -1) + _soundManager.startVOCPlay(_playStamp2); + font._justify = ALIGN_LEFT; + font._justifyWidth = 384; + font._justifyHeight = 100; + font._pos = Common::Point(120, 100); + (*_graphicsManager._vPort)->drawText(START_OF_MESSAGE); + } else { + char *msg = (char *)_bVoy->memberAddr(0x4900 + _voy._computerTextId); + font._pos = Common::Point(96, 60); + + bool showEnd = true; + int yp = 60; + do { + if (_playStamp2 != -1 && !_soundManager.getVOCStatus()) { + if (_voy._vocSecondsOffset > 60) + _voy._vocSecondsOffset = 0; + _soundManager.startVOCPlay(_playStamp2); + } + + char c = *msg++; + if (c == '\0') { + if (showEnd) { + _eventsManager.delay(90); + _graphicsManager._drawPtr->_pos = Common::Point(54, 96); + _graphicsManager._drawPtr->_penColor = 254; + (*_graphicsManager._vPort)->sFillBox(196, 124); + _graphicsManager._fontPtr->_justify = ALIGN_LEFT; + _graphicsManager._fontPtr->_justifyWidth = 384; + _graphicsManager._fontPtr->_justifyHeight = 100; + _graphicsManager._fontPtr->_pos = Common::Point(128, 100); + (*_graphicsManager._vPort)->drawText(END_OF_MESSAGE); + } + break; + } + + if (c == '~' || c == '^') { + if (c == '^') { + yp += 10; + } else { + _eventsManager.delay(90); + _graphicsManager._drawPtr->_pos = Common::Point(54, 96); + _graphicsManager._drawPtr->_penColor = 255; + (*_graphicsManager._vPort)->sFillBox(196, 124); + yp = 60; + } + + _graphicsManager._fontPtr->_pos = Common::Point(96, yp); + } else if (c == '_') { + showEnd = false; + } else { + _graphicsManager._fontPtr->_justify = ALIGN_LEFT; + _graphicsManager._fontPtr->_justifyWidth = 0; + _graphicsManager._fontPtr->_justifyHeight = 0; + (*_graphicsManager._vPort)->drawText(Common::String(c)); + _eventsManager.delay(4); + } + + (*_graphicsManager._vPort)->_flags |= 8; + _graphicsManager.flipPage(); + _eventsManager.sWaitFlip(); + _eventsManager.getMouseInfo(); + ++totalChars; + + } while (!shouldQuit() && !_voy._incriminate && totalChars < maxLen); + + _voy._field4EE = 0; + } + + (*_graphicsManager._vPort)->_flags |= 8; + _graphicsManager.flipPage(); + _eventsManager.sWaitFlip(); + + _graphicsManager._fontPtr->_curFont = _bVoy->boltEntry(0x101)._fontResource; + return totalChars; } void VoyeurEngine::getComputerBrush() { error("TODO: getComputerBrush"); +// if (_bVoy->getBoltGroup(0x4900)) { +// } } void VoyeurEngine::doTimeBar(bool force) { @@ -518,6 +595,16 @@ void VoyeurEngine::checkPhoneCall() { } void VoyeurEngine::doEvidDisplay(int v1, int v2) { + _eventsManager.getMouseInfo(); + (*_graphicsManager._vPort)->_flags |= 8; + _graphicsManager.flipPage(); + _eventsManager.sWaitFlip(); + + if (_playStamp2 != -1) { + _voy._vocSecondsOffset = _voy._RTVNum - _voy._field4AC; + _soundManager.stopVOCPlay(); + } + error("TODO: doEvidDisplay"); } -- cgit v1.2.3 From 2721c2e3ed3bf038bd5b835501db5bf1e4c6e3bb Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Wed, 25 Dec 2013 14:08:37 +1100 Subject: VOYEUR: Implemented reviewTape and dependent code --- engines/voyeur/events.cpp | 12 +- engines/voyeur/events.h | 1 + engines/voyeur/staticres.cpp | 2 + engines/voyeur/staticres.h | 2 + engines/voyeur/voyeur_game.cpp | 274 ++++++++++++++++++++++++++++++++++++++++- 5 files changed, 288 insertions(+), 3 deletions(-) diff --git a/engines/voyeur/events.cpp b/engines/voyeur/events.cpp index 1139b95cbf..b78105825e 100644 --- a/engines/voyeur/events.cpp +++ b/engines/voyeur/events.cpp @@ -22,6 +22,7 @@ #include "voyeur/events.h" #include "voyeur/voyeur.h" +#include "voyeur/staticres.h" #include "common/events.h" #include "graphics/cursorman.h" #include "graphics/palette.h" @@ -359,12 +360,12 @@ void EventsManager::vDoFadeInt() { } void EventsManager::vDoCycleInt() { - // TODO: more + warning("TODO"); } void EventsManager::fadeIntFunc() { - // TODO: more + warning("TODO"); } void EventsManager::vInitColor() { @@ -528,4 +529,11 @@ void EventsManager::addComputerEventEnd(int v) { ++_vm->_voy._eventCount; } +Common::String EventsManager::getEvidString(int eventIndex) { + assert(eventIndex <= _vm->_voy._eventCount); + VoyeurEvent &e = _vm->_voy._events[eventIndex]; + return Common::String::format("%03d %.2d:%.2d %s %s", eventIndex + 1, + e._hour, e._minute, e._isAM ? AM : PM, EVENT_TYPE_STRINGS[e._type - 1]); +} + } // End of namespace Voyeur diff --git a/engines/voyeur/events.h b/engines/voyeur/events.h index c7d8910f5c..3c7d202c90 100644 --- a/engines/voyeur/events.h +++ b/engines/voyeur/events.h @@ -240,6 +240,7 @@ public: void addEvidEventEnd(int dead); void addComputerEventStart(); void addComputerEventEnd(int v); + Common::String getEvidString(int eventIndex); }; } // End of namespace Voyeur diff --git a/engines/voyeur/staticres.cpp b/engines/voyeur/staticres.cpp index 6835ff053b..0108dac66c 100644 --- a/engines/voyeur/staticres.cpp +++ b/engines/voyeur/staticres.cpp @@ -114,4 +114,6 @@ const char *const PM = "pm"; const char *const START_OF_MESSAGE = "*** Start of Message ***"; const char *const END_OF_MESSAGE = "*** End of Message ***"; +const char *const EVENT_TYPE_STRINGS[4] = { "Video", "Audio" "Evidence", "Computer" }; + } // End of namespace Voyeur diff --git a/engines/voyeur/staticres.h b/engines/voyeur/staticres.h index ab35ac202f..ae970b8537 100644 --- a/engines/voyeur/staticres.h +++ b/engines/voyeur/staticres.h @@ -50,6 +50,8 @@ extern const char *const PM; extern const char *const START_OF_MESSAGE; extern const char *const END_OF_MESSAGE; +extern const char *const EVENT_TYPE_STRINGS[4]; + } // End of namespace Voyeur #endif diff --git a/engines/voyeur/voyeur_game.cpp b/engines/voyeur/voyeur_game.cpp index 471fec9284..d7cd7e865b 100644 --- a/engines/voyeur/voyeur_game.cpp +++ b/engines/voyeur/voyeur_game.cpp @@ -221,7 +221,279 @@ void VoyeurEngine::closeStamp() { } void VoyeurEngine::reviewTape() { - warning("TODO: reviewTape"); + int var22 = 0; + int si = 0; + int newX = -1; + int newY = -1; + int var20 = 7; + Common::Rect tempRect(58, 30, 58 + 223, 30 + 124); + Common::Point pt; + int evtIndex = 0; + int foundIndex; + + _bVoy->getBoltGroup(0x900); + PictureResource *cursor = _bVoy->boltEntry(0x903)._picResource; + + if ((_voy._eventCount - 8) != 0) + si = MAX(_voy._eventCount - 8, 0); + + if ((si + _voy._eventCount) <= 7) + var20 = si + _voy._eventCount - 1; + + bool breakFlag = false; + while (!shouldQuit() && !breakFlag) { + _voy._field4386 = _bVoy->memberAddr(0x907); + byte *dataP = _bVoy->memberAddr(0x906); + int varA = READ_LE_UINT16(dataP); + _graphicsManager._backColors = _bVoy->boltEntry(0x902)._cMapResource; + _graphicsManager._backgroundPage = _bVoy->boltEntry(0x901)._picResource; + (*_graphicsManager._vPort)->setupViewPort(_graphicsManager._backgroundPage); + _graphicsManager._backColors->startFade(); + + (*_graphicsManager._vPort)->_flags |= 8; + _graphicsManager.flipPage(); + _eventsManager.sWaitFlip(); + while (!shouldQuit() && (_eventsManager._fadeStatus & 1)) + _eventsManager.delay(1); + + _graphicsManager.setColor(1, 32, 32, 32); + _graphicsManager.setColor(2, 96, 96, 96); + _graphicsManager.setColor(3, 160, 160, 160); + _graphicsManager.setColor(4, 224, 224, 224); + _graphicsManager.setColor(9, 24, 64, 24); + _graphicsManager.setColor(10, 64, 132, 64); + _graphicsManager.setColor(11, 100, 192, 100); + _graphicsManager.setColor(12, 120, 248, 120); + _eventsManager.setCursorColor(128, 1); + + _eventsManager._intPtr.field38 = 1; + _eventsManager._intPtr._hasPalette = true; + _graphicsManager._fontPtr->_curFont = _bVoy->boltEntry(0x909)._fontResource; + _graphicsManager._fontPtr->_fontSaveBack = false; + _graphicsManager._fontPtr->_fontFlags = 0; + + _eventsManager.getMouseInfo(); + if (newX == -1) { + _eventsManager.setMousePos(Common::Point((int16)READ_LE_UINT16(dataP + 10) + 12, + (int16)READ_LE_UINT16(dataP + 12) + 6)); + } else { + _eventsManager.setMousePos(Common::Point(newX, newY)); + } + + _playStamp2 = 151; + _voy._vocSecondsOffset = 0; + bool var1E = true; + do { + if (_playStamp2 != -1 && !_soundManager.getVOCStatus()) { + _voy._field4AC = _voy._RTVNum; + _soundManager.startVOCPlay(_playStamp2); + } + + if (var1E) { + var1E = false; + (*_graphicsManager._vPort)->_flags |= 8; + _graphicsManager.flipPage(); + _eventsManager.sWaitFlip(); + + _graphicsManager._drawPtr->_penColor = 0; + _graphicsManager._drawPtr->_pos = Common::Point(tempRect.left, tempRect.top); + // TODO: Check - does drawText need to work on PictureResources? + ((ViewPortResource *)_graphicsManager._backgroundPage)->sFillBox(tempRect.width(), tempRect.height()); + + newX = si; + int yp = 45; + evtIndex = si; + for (int idx = 0; idx < 8 && evtIndex < _voy._eventCount; ++idx) { + _graphicsManager._fontPtr->_picFlags = 0; + _graphicsManager._fontPtr->_picSelect = 0xff; + _graphicsManager._fontPtr->_picPick = 7; + _graphicsManager._fontPtr->_picOnOff = (idx == var20) ? 8 : 0; + _graphicsManager._fontPtr->_pos = Common::Point(68, yp); + _graphicsManager._fontPtr->_justify = ALIGN_LEFT; + _graphicsManager._fontPtr->_justifyWidth = 0; + _graphicsManager._fontPtr->_justifyHeight = 0; + + Common::String msg = _eventsManager.getEvidString(evtIndex); + // TODO: Does drawText need to work on picture resources? + ((ViewPortResource *)_graphicsManager._backgroundPage)->drawText(msg); + + yp += 15; + ++evtIndex; + } + + (*_graphicsManager._vPort)->addSaveRect( + (*_graphicsManager._vPort)->_lastPage, tempRect); + (*_graphicsManager._vPort)->_flags |= 8; + _graphicsManager.flipPage(); + _eventsManager.sWaitFlip(); + + (*_graphicsManager._vPort)->addSaveRect( + (*_graphicsManager._vPort)->_lastPage, tempRect); + } + + _graphicsManager.sDrawPic(cursor, *_graphicsManager._vPort, + _eventsManager.getMousePos()); + (*_graphicsManager._vPort)->_flags |= 8; + _graphicsManager.flipPage(); + _eventsManager.sWaitFlip(); + + _eventsManager.getMouseInfo(); + foundIndex = -1; + Common::Point tempPos = _eventsManager.getMousePos() + Common::Point(14, 7); + for (int idx = 0; idx < varA; ++idx) { + if (READ_LE_UINT16(dataP + idx * 8 + 2) <= tempPos.x && + READ_LE_UINT16(dataP + idx * 8 + 6) >= tempPos.x && + READ_LE_UINT16(dataP + idx * 8 + 4) <= tempPos.y && + READ_LE_UINT16(dataP + idx * 8 + 4) <= tempPos.y) { + // Found hotspot area + foundIndex = idx; + break; + } + } + + pt = _eventsManager.getMousePos(); + if (tempPos.x >= 68 && tempPos.x <= 277 && tempPos.y >= 31 && tempPos.y <= 154) { + tempPos.y -= 2; + foundIndex = (tempPos.y - 31) / 15; + if ((tempPos.y - 31) % 15 >= 12 || (si + foundIndex) >= _voy._eventCount) { + _eventsManager.setCursorColor(128, 0); + foundIndex = 999; + } else if (!_voy._mouseClicked) { + _eventsManager.setCursorColor(128, 2); + foundIndex = 999; + } else { + _eventsManager.setCursorColor(128, 2); + var20 = foundIndex; + + (*_graphicsManager._vPort)->_flags |= 8; + _graphicsManager.flipPage(); + _eventsManager.sWaitFlip(); + + _graphicsManager._drawPtr->_penColor = 0; + _graphicsManager._drawPtr->_pos = Common::Point(tempRect.left, tempRect.top); + // TODO: Does sFillBox need to work on picture resources? + ((ViewPortResource *)_graphicsManager._backgroundPage)->sFillBox(tempRect.width(), tempRect.height()); + + evtIndex = si; + int yp = 45; + + for (int idx = 0; idx < 8 && evtIndex < _voy._eventCount; ++idx) { + _graphicsManager._fontPtr->_picFlags = 0; + _graphicsManager._fontPtr->_picSelect = 0xff; + _graphicsManager._fontPtr->_picPick = 7; + _graphicsManager._fontPtr->_picOnOff = (idx == var20) ? 8 : 0; + _graphicsManager._fontPtr->_pos = Common::Point(68, yp); + _graphicsManager._fontPtr->_justify = ALIGN_LEFT; + _graphicsManager._fontPtr->_justifyWidth = 0; + _graphicsManager._fontPtr->_justifyHeight = 0; + + Common::String msg = _eventsManager.getEvidString(evtIndex); + // TODO: Does sFillBox need to work on picture resources? + ((ViewPortResource *)_graphicsManager._backgroundPage)->drawText(msg); + + yp += 115; + ++evtIndex; + } + + (*_graphicsManager._vPort)->addSaveRect( + (*_graphicsManager._vPort)->_lastPage, tempRect); + (*_graphicsManager._vPort)->_flags |= 8; + _graphicsManager.flipPage(); + _eventsManager.sWaitFlip(); + + (*_graphicsManager._vPort)->addSaveRect( + (*_graphicsManager._vPort)->_lastPage, tempRect); + (*_graphicsManager._vPort)->_flags |= 8; + _graphicsManager.flipPage(); + _eventsManager.sWaitFlip(); + + _eventsManager.getMouseInfo(); + foundIndex = 999; + } + } else if ((_voy._field478 & 0x40) && READ_LE_UINT16(_voy._field4386) == pt.x && + READ_LE_UINT16(_voy._field4386 + 6) == pt.y) { + foundIndex = 999; + } else if ((_voy._field478 & 0x40) && READ_LE_UINT16(_voy._field4386) == pt.x && + READ_LE_UINT16(_voy._field4386 + 2) == pt.y) { + foundIndex = 998; + } else { + _eventsManager.setCursorColor(128, (foundIndex == -1) ? 0 : 1); + } + + _eventsManager._intPtr.field38 = true; + _eventsManager._intPtr._hasPalette = true; + + if (_voy._incriminate || _voy._fadeICF1) { + switch (foundIndex) { + case 2: + if (si > 0) { + --si; + var1E = true; + } + foundIndex = -1; + break; + + case 3: + if (si > 0) { + si -= 8; + if (si < 0) + si = 0; + var1E = true; + } + foundIndex = -1; + break; + + case 4: + if ((_voy._eventCount - 8) > si) { + ++si; + var1E = true; + } + foundIndex = -1; + break; + + case 5: + if (_voy._eventCount >= 8 && (_voy._eventCount - 8) != si) { + si += 8; + if ((_voy._eventCount - 8) < si) + si = _voy._eventCount - 8; + var1E = true; + } + foundIndex = -1; + break; + + default: + break; + } + + while (var20 > 0 && (var20 + si) >= _voy._eventCount) + --var20; + } + + pt = _eventsManager.getMousePos(); + if (_voy._incriminate && READ_LE_UINT16(_voy._field4386) == pt.x && + (_voy._field478 & 0x40) && _voy._fadeFunc) { + WRITE_LE_UINT32(_controlPtr->_ptr + 4, (pt.y / 60) + 1); + foundIndex = -1; + _voy._fadeFunc = 0; + } + + if (_voy._fadeFunc) + foundIndex = 0; + + } while (!shouldQuit() && (!_voy._incriminate || foundIndex == -1)); + + + + warning("TODO"); + } + + _graphicsManager._fontPtr->_curFont = _bVoy->boltEntry(0x101)._fontResource; + _bVoy->freeBoltGroup(0x900); + + (*_graphicsManager._vPort)->fillPic(0); + (*_graphicsManager._vPort)->_flags |= 8; + _graphicsManager.flipPage(); + _eventsManager.sWaitFlip(); } bool VoyeurEngine::doGossip() { -- cgit v1.2.3 From c5f9cf913440cfdaeb7d7798cc0c490a2ea0d067 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Wed, 25 Dec 2013 15:43:18 +1100 Subject: VOYEUR: Implemented doGossip --- engines/voyeur/files_threads.cpp | 7 +--- engines/voyeur/voyeur.cpp | 13 +++++++ engines/voyeur/voyeur.h | 12 ++++++- engines/voyeur/voyeur_game.cpp | 78 +++++++++++++++++++++++++++++++++++++--- 4 files changed, 99 insertions(+), 11 deletions(-) diff --git a/engines/voyeur/files_threads.cpp b/engines/voyeur/files_threads.cpp index 38a5fab80c..f2b5955b1a 100644 --- a/engines/voyeur/files_threads.cpp +++ b/engines/voyeur/files_threads.cpp @@ -513,12 +513,7 @@ void ThreadResource::parsePlayCommands() { (*_vm->_graphicsManager._vPort)->setupViewPort(pic); pal->startFade(); - (*_vm->_graphicsManager._vPort)->_flags |= 8; - _vm->_graphicsManager.flipPage(); - _vm->_eventsManager.sWaitFlip(); - - while (!_vm->shouldQuit() && (_vm->_eventsManager._fadeStatus & 1)) - _vm->_eventsManager.delay(1); + _vm->flipPageAndWaitForFade(); if (i > 0) { _vm->_bVoy->freeBoltMember(_vm->_playStamp1 + i * 2); diff --git a/engines/voyeur/voyeur.cpp b/engines/voyeur/voyeur.cpp index 53698b2702..90ea87339d 100644 --- a/engines/voyeur/voyeur.cpp +++ b/engines/voyeur/voyeur.cpp @@ -613,4 +613,17 @@ void VoyeurEngine::saveLastInplay() { lock.saveThePassword(); } +void VoyeurEngine::flipPageAndWait() { + (*_graphicsManager._vPort)->_flags |= 8; + _graphicsManager.flipPage(); + _eventsManager.sWaitFlip(); +} + +void VoyeurEngine::flipPageAndWaitForFade() { + flipPageAndWait(); + + while (!shouldQuit() && (_eventsManager._fadeStatus & 1)) + _eventsManager.delay(1); +} + } // End of namespace Voyeur diff --git a/engines/voyeur/voyeur.h b/engines/voyeur/voyeur.h index 7b065e6675..283352ca21 100644 --- a/engines/voyeur/voyeur.h +++ b/engines/voyeur/voyeur.h @@ -85,7 +85,7 @@ private: void initStamp(); void closeStamp(); void reviewTape(); - bool doGossip(); + void doGossip(); void doTapePlaying(); bool checkForMurder(); void checkForIncriminate(); @@ -173,6 +173,16 @@ public: void checkPhoneCall(); void doEvidDisplay(int v1, int v2); + + /** + * Flips the active page and waits until it's drawn + */ + void flipPageAndWait(); + + /** + * Flips the active page and waits until it's drawn and faded in + */ + void flipPageAndWaitForFade(); }; } // End of namespace Voyeur diff --git a/engines/voyeur/voyeur_game.cpp b/engines/voyeur/voyeur_game.cpp index d7cd7e865b..468d6b1387 100644 --- a/engines/voyeur/voyeur_game.cpp +++ b/engines/voyeur/voyeur_game.cpp @@ -22,6 +22,7 @@ #include "voyeur/voyeur.h" #include "voyeur/staticres.h" +#include "voyeur/animation.h" namespace Voyeur { @@ -221,7 +222,7 @@ void VoyeurEngine::closeStamp() { } void VoyeurEngine::reviewTape() { - int var22 = 0; +// int var22 = 0; int si = 0; int newX = -1; int newY = -1; @@ -496,9 +497,78 @@ void VoyeurEngine::reviewTape() { _eventsManager.sWaitFlip(); } -bool VoyeurEngine::doGossip() { - warning("TODO: doGossip"); - return false; +void VoyeurEngine::doGossip() { + _graphicsManager.resetPalette(); + _graphicsManager.screenReset(); + + if (!_bVoy->getBoltGroup(0x300)) + return; + + PictureResource *pic = _bVoy->boltEntry(0x300)._picResource; + (*_graphicsManager._vPort)->setupViewPort(pic); + CMapResource *pal = _bVoy->boltEntry(0x301)._cMapResource; + pal->startFade(); + + flipPageAndWaitForFade(); + + // Load the gossip animation + ::Video::RL2Decoder decoder; + decoder.loadFile("a2050100.rl2"); + + byte *frameNumsP = _bVoy->memberAddr(0x309); + byte *posP = _bVoy->memberAddr(0x30A); + + // Main playback loop + int picCtr = 0; + decoder.start(); + while (!shouldQuit() && !decoder.endOfVideo() && !_voy._incriminate) { + if (decoder.hasDirtyPalette()) { + const byte *palette = decoder.getPalette(); + _graphicsManager.setPalette(palette, 0, 256); + } + + if (decoder.needsUpdate()) { + const Graphics::Surface *frame = decoder.decodeNextFrame(); + + Common::copy((const byte *)frame->getPixels(), (const byte *)frame->getPixels() + 320 * 200, + (byte *)_graphicsManager._screenSurface.getPixels()); + + if (decoder.getCurFrame() >= READ_LE_UINT16(frameNumsP + picCtr * 4)) { + PictureResource *pic = _bVoy->boltEntry(0x302 + picCtr)._picResource; + Common::Point pt(READ_LE_UINT16(posP + 4 * picCtr + 2), + READ_LE_UINT16(posP + 4 * picCtr)); + _graphicsManager.sDrawPic(pic, *_graphicsManager._vPort, pt); + } + + flipPageAndWait(); + } + + _eventsManager.pollEvents(); + g_system->delayMillis(10); + } + + decoder.loadFile("a2110100.rl2"); + decoder.start(); + + while (!shouldQuit() && !decoder.endOfVideo() && !_voy._incriminate) { + if (decoder.hasDirtyPalette()) { + const byte *palette = decoder.getPalette(); + _graphicsManager.setPalette(palette, 0, 256); + } + + if (decoder.needsUpdate()) { + const Graphics::Surface *frame = decoder.decodeNextFrame(); + + Common::copy((const byte *)frame->getPixels(), (const byte *)frame->getPixels() + 320 * 200, + (byte *)_graphicsManager._screenSurface.getPixels()); + } + + _eventsManager.pollEvents(); + g_system->delayMillis(10); + } + + _bVoy->freeBoltGroup(0x300); + _graphicsManager.screenReset(); } void VoyeurEngine::doTapePlaying() { -- cgit v1.2.3 From 562df7ede10f8340faf92f9c47d0414467b03852 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Wed, 25 Dec 2013 16:05:01 +1100 Subject: VOYEUR: Implement doTapePlaying --- engines/voyeur/files.cpp | 10 ++++++++++ engines/voyeur/files.h | 9 +++++++++ engines/voyeur/voyeur_game.cpp | 23 ++++++++++++++++++++++- 3 files changed, 41 insertions(+), 1 deletion(-) diff --git a/engines/voyeur/files.cpp b/engines/voyeur/files.cpp index 9dff1f0ea7..69256aacb2 100644 --- a/engines/voyeur/files.cpp +++ b/engines/voyeur/files.cpp @@ -1393,4 +1393,14 @@ ControlResource::ControlResource(BoltFilesState &state, const byte *src) { } } +/*------------------------------------------------------------------------*/ + +void CycleResource::vStartCycle() { + error("TODO: vStartCycle"); +} + +void CycleResource::vStopCycle() { + error("TODO: vStopCycle"); +} + } // End of namespace Voyeur diff --git a/engines/voyeur/files.h b/engines/voyeur/files.h index f15f066736..7c004a526f 100644 --- a/engines/voyeur/files.h +++ b/engines/voyeur/files.h @@ -418,6 +418,15 @@ public: virtual ~ControlResource() {} }; +class CycleResource { +public: + CycleResource(BoltFilesState &state, const byte *src) {} + virtual ~CycleResource() {} + + void vStartCycle(); + void vStopCycle(); +}; + class ThreadResource { public: static int _stampFlags; diff --git a/engines/voyeur/voyeur_game.cpp b/engines/voyeur/voyeur_game.cpp index 468d6b1387..2be982b2b9 100644 --- a/engines/voyeur/voyeur_game.cpp +++ b/engines/voyeur/voyeur_game.cpp @@ -572,7 +572,28 @@ void VoyeurEngine::doGossip() { } void VoyeurEngine::doTapePlaying() { - warning("TODO"); + if (!_bVoy->getBoltGroup(0xA00)) + return; + + _eventsManager.getMouseInfo(); + _graphicsManager._backColors = _bVoy->boltEntry(0xA01)._cMapResource; + _graphicsManager._backgroundPage = _bVoy->boltEntry(0xA00)._picResource; + PictureResource *pic = _bVoy->boltEntry(0xA02)._picResource; + + (*_graphicsManager._vPort)->setupViewPort(_graphicsManager._backgroundPage); + _graphicsManager.sDrawPic(pic, *_graphicsManager._vPort, Common::Point(57, 30)); + flipPageAndWaitForFade(); + + CycleResource *cycle = _bVoy->boltEntry(0xA05)._cycleResource; + cycle->vStartCycle(); + + _soundManager.startVOCPlay("vcr.voc"); + while (!shouldQuit() && !_voy._incriminate && _soundManager.getVOCStatus()) { + _eventsManager.delay(2); + } + + _soundManager.stopVOCPlay(); + _bVoy->freeBoltGroup(0xA00); } bool VoyeurEngine::checkForMurder() { -- cgit v1.2.3 From 754601bbab9e08daca0f9bb43776a50cecc70520 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Wed, 25 Dec 2013 16:40:46 +1100 Subject: VOYEUR: Better implementation of rect resources --- engines/voyeur/events.h | 2 +- engines/voyeur/files.cpp | 57 ++++++++++++++++++++++++++++++---------- engines/voyeur/files.h | 12 +++++++++ engines/voyeur/files_threads.cpp | 11 ++++---- engines/voyeur/voyeur.cpp | 4 +-- engines/voyeur/voyeur_game.cpp | 16 +++++------ 6 files changed, 71 insertions(+), 31 deletions(-) diff --git a/engines/voyeur/events.h b/engines/voyeur/events.h index 3c7d202c90..5a94434d78 100644 --- a/engines/voyeur/events.h +++ b/engines/voyeur/events.h @@ -127,7 +127,7 @@ public: int _field4380; int _field4382; int _videoEventId; - byte *_field4386; + RectResource *_viewBounds; int _curICF0; int _curICF1; int _fadeICF0; diff --git a/engines/voyeur/files.cpp b/engines/voyeur/files.cpp index 69256aacb2..3b90e52294 100644 --- a/engines/voyeur/files.cpp +++ b/engines/voyeur/files.cpp @@ -453,6 +453,9 @@ BVoyBoltFile::BVoyBoltFile(BoltFilesState &state): BoltFile("bvoy.blt", state) { void BVoyBoltFile::initResource(int resType) { switch (resType) { + case 2: + sInitRect(); + break; case 8: sInitPic(); break; @@ -521,6 +524,11 @@ void BVoyBoltFile::initSoundMap() { initDefault(); } +void BVoyBoltFile::sInitRect() { + _state._curMemberPtr->_data = _state.decompress(NULL, 8, _state._curMemberPtr->_mode); + _state._curMemberPtr->_rectResource = new RectResource(_state, _state._curMemberPtr->_data); +} + void BVoyBoltFile::sInitPic() { // Read in the header data _state._curMemberPtr->_data = _state.decompress(NULL, 24, _state._curMemberPtr->_mode); @@ -627,17 +635,20 @@ void BoltGroup::unload() { /*------------------------------------------------------------------------*/ BoltEntry::BoltEntry(Common::SeekableReadStream *f): _file(f) { - _data = NULL; - _picResource = NULL; - _viewPortResource = NULL; - _viewPortListResource = NULL; - _fontResource = NULL; - _fontInfoResource = NULL; - _cMapResource = NULL; - _vInitCyclResource = NULL; - _ptrResource = NULL; - _controlResource = NULL; - _threadResource = NULL; + _data = nullptr; + _rectResource = nullptr; + _picResource = nullptr; + _viewPortResource = nullptr; + _viewPortListResource = nullptr; + _fontResource = nullptr; + _fontInfoResource = nullptr; + _cMapResource = nullptr; + _vInitCyclResource = nullptr; + _ptrResource = nullptr; + _controlResource = nullptr; + _vInitCyclResource = nullptr; + _cycleResource = nullptr; + _threadResource = nullptr; byte buffer[16]; _file->read(&buffer[0], 16); @@ -651,6 +662,7 @@ BoltEntry::BoltEntry(Common::SeekableReadStream *f): _file(f) { BoltEntry::~BoltEntry() { delete[] _data; + delete _rectResource; delete _picResource; delete _viewPortResource; delete _viewPortListResource; @@ -658,6 +670,7 @@ BoltEntry::~BoltEntry() { delete _fontInfoResource; delete _cMapResource; delete _vInitCyclResource; + delete _cycleResource; delete _ptrResource; delete _controlResource; } @@ -671,10 +684,26 @@ void BoltEntry::load() { * Returns true if the given bolt entry has an attached resource */ bool BoltEntry::hasResource() const { - return _picResource || _viewPortResource || _viewPortListResource + return _rectResource || _picResource || _viewPortResource || _viewPortListResource || _fontResource || _fontInfoResource || _cMapResource - || _vInitCyclResource || _ptrResource || _controlResource - || _threadResource; + || _vInitCyclResource || _cycleResource + || _ptrResource || _controlResource || _threadResource; +} + +/*------------------------------------------------------------------------*/ + +RectResource::RectResource(BoltFilesState &state, const byte *src) { + left = READ_LE_UINT16(src); + top = READ_LE_UINT16(src + 2); + setWidth(READ_LE_UINT16(src + 4)); + setHeight(READ_LE_UINT16(src + 6)); +} + +RectResource::RectResource(int x1, int y1, int x2, int y2) { + left = x1; + top = y1; + right = x2; + bottom = y2; } /*------------------------------------------------------------------------*/ diff --git a/engines/voyeur/files.h b/engines/voyeur/files.h index 7c004a526f..4440490e12 100644 --- a/engines/voyeur/files.h +++ b/engines/voyeur/files.h @@ -35,6 +35,7 @@ class VoyeurEngine; class BoltFile; class BoltGroup; class BoltEntry; +class RectResource; class PictureResource; class ViewPortResource; class ViewPortListResource; @@ -43,6 +44,7 @@ class CMapResource; class VInitCyclResource; class PtrResource; class ControlResource; +class CycleResource; class ThreadResource; #define DECOMPRESS_SIZE 0x7000 @@ -137,6 +139,7 @@ public: class BVoyBoltFile: public BoltFile { private: // initType method table + void sInitRect(); void sInitPic(); void vInitCMap(); void vInitCycl(); @@ -195,6 +198,7 @@ public: byte *_data; // bvoy.blt resource types + RectResource *_rectResource; PictureResource *_picResource; ViewPortResource *_viewPortResource; ViewPortListResource *_viewPortListResource; @@ -202,6 +206,7 @@ public: FontInfoResource *_fontInfoResource; CMapResource *_cMapResource; VInitCyclResource *_vInitCyclResource; + CycleResource *_cycleResource; // TODO: Dup with VInit? // stampblt.blt resource types PtrResource *_ptrResource; @@ -229,6 +234,13 @@ public: byte *fload(const Common::String &filename, int *size = NULL); }; +class RectResource: public Common::Rect { +public: + RectResource(BoltFilesState &state, const byte *src); + RectResource(int xp, int yp, int width, int height); + virtual ~RectResource() {} +}; + enum DisplayFlag { DISPFLAG_1 = 1, DISPFLAG_2 = 2, DISPFLAG_4 = 4, DISPFLAG_8 = 8, DISPFLAG_10 = 0x10, DISPFLAG_20 = 0x20, DISPFLAG_40 = 0x40, DISPFLAG_80 = 0x80, DISPFLAG_100 = 0x100, DISPFLAG_200 = 0x200, DISPFLAG_400 = 0x400, diff --git a/engines/voyeur/files_threads.cpp b/engines/voyeur/files_threads.cpp index f2b5955b1a..43bebf3564 100644 --- a/engines/voyeur/files_threads.cpp +++ b/engines/voyeur/files_threads.cpp @@ -1052,7 +1052,7 @@ int ThreadResource::doApt() { loadTheApt(); _vm->_playStamp2 = 151; - _vm->_voy._field4386 = _vm->_bVoy->memberAddr(_vm->_playStamp1); + _vm->_voy._viewBounds = _vm->_bVoy->boltEntry(_vm->_playStamp1)._rectResource; byte *hotspotsP = _vm->_bVoy->memberAddr(_vm->_playStamp1 + 1); _vm->_eventsManager.getMouseInfo(); @@ -1188,9 +1188,8 @@ void ThreadResource::doRoom() { PictureResource *pic1 = vm._bVoy->boltEntry(vm._playStamp1 + 2)._picResource; PictureResource *pic2 = vm._bVoy->boltEntry(vm._playStamp1 + 3)._picResource; - byte arr[10]; - strcpy((char *)&arr[0], "0"); - voy._field4386 = &arr[0]; + RectResource viewBounds(48, 38, 336, 202); + voy._viewBounds = &viewBounds; vm._eventsManager.getMouseInfo(); vm._eventsManager.setMousePos(Common::Point(192, 120)); @@ -1347,7 +1346,7 @@ void ThreadResource::doRoom() { voy._field478 = 1; vm._eventsManager.incrementTime(1); - voy._field4386 = 0; + voy._viewBounds = nullptr; voy._field437E = 0; vm.makeViewFinderP(); @@ -1707,7 +1706,7 @@ void ThreadResource::freeTheApt() { (*_vm->_graphicsManager._vPort)->setupViewPort(nullptr); _vm->_bVoy->freeBoltGroup(_vm->_playStamp1); _vm->_playStamp1 = -1; - _vm->_voy._field4386 = 0; + _vm->_voy._viewBounds = nullptr; } void ThreadResource::doAptAnim(int mode) { diff --git a/engines/voyeur/voyeur.cpp b/engines/voyeur/voyeur.cpp index 90ea87339d..ab8f3cf6a0 100644 --- a/engines/voyeur/voyeur.cpp +++ b/engines/voyeur/voyeur.cpp @@ -265,7 +265,7 @@ bool VoyeurEngine::doLock() { lock.getThePassword(); _voy._field4380 = lock.fieldC; - _voy._field4386 = _bVoy->memberAddr(0x704); + _voy._viewBounds = _bVoy->boltEntry(0x704)._rectResource; Common::String password = lock._password; cursorPic = _bVoy->getPictureResource(0x702); @@ -422,7 +422,7 @@ bool VoyeurEngine::doLock() { lock._password = displayString; lock.saveThePassword(); - _voy._field4386 = NULL; + _voy._viewBounds = nullptr; _bVoy->freeBoltGroup(0x700); } diff --git a/engines/voyeur/voyeur_game.cpp b/engines/voyeur/voyeur_game.cpp index 2be982b2b9..811f386835 100644 --- a/engines/voyeur/voyeur_game.cpp +++ b/engines/voyeur/voyeur_game.cpp @@ -201,7 +201,7 @@ void VoyeurEngine::playStamp() { } while (flag); } - _voy._field4386 = 0; + _voy._viewBounds = nullptr; closeStamp(); _stampLibPtr->freeBoltGroup(0); delete _stampLibPtr; @@ -243,7 +243,7 @@ void VoyeurEngine::reviewTape() { bool breakFlag = false; while (!shouldQuit() && !breakFlag) { - _voy._field4386 = _bVoy->memberAddr(0x907); + _voy._viewBounds = _bVoy->boltEntry(0x907)._rectResource; byte *dataP = _bVoy->memberAddr(0x906); int varA = READ_LE_UINT16(dataP); _graphicsManager._backColors = _bVoy->boltEntry(0x902)._cMapResource; @@ -411,11 +411,11 @@ void VoyeurEngine::reviewTape() { _eventsManager.getMouseInfo(); foundIndex = 999; } - } else if ((_voy._field478 & 0x40) && READ_LE_UINT16(_voy._field4386) == pt.x && - READ_LE_UINT16(_voy._field4386 + 6) == pt.y) { + } else if ((_voy._field478 & 0x40) && _voy._viewBounds->left == pt.x && + _voy._viewBounds->bottom == pt.y) { foundIndex = 999; - } else if ((_voy._field478 & 0x40) && READ_LE_UINT16(_voy._field4386) == pt.x && - READ_LE_UINT16(_voy._field4386 + 2) == pt.y) { + } else if ((_voy._field478 & 0x40) && _voy._viewBounds->left == pt.x && + _voy._viewBounds->top == pt.y) { foundIndex = 998; } else { _eventsManager.setCursorColor(128, (foundIndex == -1) ? 0 : 1); @@ -471,7 +471,7 @@ void VoyeurEngine::reviewTape() { } pt = _eventsManager.getMousePos(); - if (_voy._incriminate && READ_LE_UINT16(_voy._field4386) == pt.x && + if (_voy._incriminate && _voy._viewBounds->left == pt.x && (_voy._field478 & 0x40) && _voy._fadeFunc) { WRITE_LE_UINT32(_controlPtr->_ptr + 4, (pt.y / 60) + 1); foundIndex = -1; @@ -703,7 +703,7 @@ void VoyeurEngine::initIFace(){ doScroll(_eventsManager.getMousePos()); - _voy._field4386 = _bVoy->memberAddr(_playStamp1); + _voy._viewBounds = _bVoy->boltEntry(_playStamp1)._rectResource; // Note: the original did two loops to preload members here, which is // redundant for ScummVM, since computers are faster these days, and -- cgit v1.2.3 From 6e801e246be36d8efa9003a316bbd1424d51d4ae Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Wed, 25 Dec 2013 17:07:05 +1100 Subject: VOYEUR: Enhance RectResource to handle rect sets --- engines/voyeur/files.cpp | 27 ++++++++++++++++++++------- engines/voyeur/files.h | 4 +++- engines/voyeur/files_threads.cpp | 23 +++++++++++------------ 3 files changed, 34 insertions(+), 20 deletions(-) diff --git a/engines/voyeur/files.cpp b/engines/voyeur/files.cpp index 3b90e52294..1eefef40b1 100644 --- a/engines/voyeur/files.cpp +++ b/engines/voyeur/files.cpp @@ -525,8 +525,10 @@ void BVoyBoltFile::initSoundMap() { } void BVoyBoltFile::sInitRect() { - _state._curMemberPtr->_data = _state.decompress(NULL, 8, _state._curMemberPtr->_mode); - _state._curMemberPtr->_rectResource = new RectResource(_state, _state._curMemberPtr->_data); + _state._curMemberPtr->_data = _state.decompress(NULL, _state._curMemberPtr->_size, + _state._curMemberPtr->_mode); + _state._curMemberPtr->_rectResource = new RectResource(_state._curMemberPtr->_data, + _state._curMemberPtr->_size); } void BVoyBoltFile::sInitPic() { @@ -692,11 +694,22 @@ bool BoltEntry::hasResource() const { /*------------------------------------------------------------------------*/ -RectResource::RectResource(BoltFilesState &state, const byte *src) { - left = READ_LE_UINT16(src); - top = READ_LE_UINT16(src + 2); - setWidth(READ_LE_UINT16(src + 4)); - setHeight(READ_LE_UINT16(src + 6)); +RectResource::RectResource(const byte *src, int size) { + int count = 1; + if (size != 8) { + count = READ_LE_UINT16(src); + src += 2; + } + + for (int i = 0; i < count; ++i, src += 8) { + _entries.push_back(Common::Rect(READ_LE_UINT16(src), READ_LE_UINT16(src + 2), + READ_LE_UINT16(src + 4), READ_LE_UINT16(src + 6))); + } + + left = _entries[0].left; + top = _entries[0].top; + right = _entries[0].right; + bottom = _entries[0].bottom; } RectResource::RectResource(int x1, int y1, int x2, int y2) { diff --git a/engines/voyeur/files.h b/engines/voyeur/files.h index 4440490e12..48592dae61 100644 --- a/engines/voyeur/files.h +++ b/engines/voyeur/files.h @@ -236,7 +236,9 @@ public: class RectResource: public Common::Rect { public: - RectResource(BoltFilesState &state, const byte *src); + Common::Array _entries; +public: + RectResource(const byte *src, int size); RectResource(int xp, int yp, int width, int height); virtual ~RectResource() {} }; diff --git a/engines/voyeur/files_threads.cpp b/engines/voyeur/files_threads.cpp index 43bebf3564..15f2e96125 100644 --- a/engines/voyeur/files_threads.cpp +++ b/engines/voyeur/files_threads.cpp @@ -1053,20 +1053,21 @@ int ThreadResource::doApt() { _vm->_playStamp2 = 151; _vm->_voy._viewBounds = _vm->_bVoy->boltEntry(_vm->_playStamp1)._rectResource; - byte *hotspotsP = _vm->_bVoy->memberAddr(_vm->_playStamp1 + 1); + Common::Array &hotspots = _vm->_bVoy->boltEntry( + _vm->_playStamp1 + 1)._rectResource->_entries; _vm->_eventsManager.getMouseInfo(); if (_doAptPosX == -1) { - _doAptPosX = READ_LE_UINT16(hotspotsP + 18) + 16; - _doAptPosY = READ_LE_UINT16(hotspotsP + 20) + 16; + _doAptPosX = hotspots[2].left; + _doAptPosY = hotspots[2].top; _vm->_playStamp2 = 153; } if (_vm->_voy._field470 == 16) { - WRITE_LE_UINT16(hotspotsP + 2, 999); - WRITE_LE_UINT16(hotspotsP + 26, 999); - _doAptPosX = READ_LE_UINT16(hotspotsP + 34) + 28; - _doAptPosY = READ_LE_UINT16(hotspotsP + 36) + 28; + hotspots[0].left = 999; + hotspots[3].left = 999; + _doAptPosX = hotspots[4].left + 28; + _doAptPosY = hotspots[4].top + 28; } _vm->_eventsManager.setMousePos(Common::Point(_doAptPosX, _doAptPosY)); @@ -1097,11 +1098,9 @@ int ThreadResource::doApt() { // Loop through the hotspot list hotspotId = -1; pt = _vm->_eventsManager.getMousePos(); - for (int idx = 0; idx < READ_LE_UINT16(hotspotsP); ++idx) { - if (pt.x > READ_LE_UINT16(hotspotsP + idx * 8 + 2) && - pt.x < READ_LE_UINT16(hotspotsP + idx * 8 + 6) && - pt.y > READ_LE_UINT16(hotspotsP + idx * 8 + 4) && - pt.y < READ_LE_UINT16(hotspotsP + idx * 8 + 8)) { + for (int idx = 0; idx < hotspots.size(); ++idx) { + if (pt.x > hotspots[idx].left && pt.x < hotspots[idx].right && + pt.y > hotspots[idx].top && pt.y < hotspots[idx].bottom) { // Cursor is within hotspot area hotspotId = idx; -- cgit v1.2.3 From 0c82fc1bafce8dc6e6a0852c4bd65e92005eaf39 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Wed, 25 Dec 2013 19:26:49 +1100 Subject: VOYEUR: Implemented checkForMurder --- engines/voyeur/voyeur_game.cpp | 49 +++++++++++++++++++++++++++++++++++++++++- 1 file changed, 48 insertions(+), 1 deletion(-) diff --git a/engines/voyeur/voyeur_game.cpp b/engines/voyeur/voyeur_game.cpp index 811f386835..617b48c8d5 100644 --- a/engines/voyeur/voyeur_game.cpp +++ b/engines/voyeur/voyeur_game.cpp @@ -597,7 +597,54 @@ void VoyeurEngine::doTapePlaying() { } bool VoyeurEngine::checkForMurder() { - warning("TODO"); + int v = READ_LE_UINT32(_controlPtr->_ptr + 12); + + for (int idx = 0; idx < _voy._eventCount; ++idx) { + VoyeurEvent &evt = _voy._events[idx]; + + if (evt._type == EVTYPE_VIDEO) { + switch (READ_LE_UINT32(_controlPtr->_ptr + 4)) { + case 1: + if (evt._field8 == 41 && evt._computerOn <= 15 && + (evt._computerOff + evt._computerOn) >= 16) { + WRITE_LE_UINT32(_controlPtr->_ptr + 12, 1); + } + break; + + case 2: + if (evt._field8 == 53 && evt._computerOn <= 19 && + (evt._computerOff + evt._computerOn) >= 21) { + WRITE_LE_UINT32(_controlPtr->_ptr + 12, 2); + } + break; + + case 3: + if (evt._field8 == 50 && evt._computerOn <= 28 && + (evt._computerOff + evt._computerOn) >= 29) { + WRITE_LE_UINT32(_controlPtr->_ptr + 12, 3); + } + break; + + case 4: + if (evt._field8 == 43 && evt._computerOn <= 10 && + (evt._computerOff + evt._computerOn) >= 14) { + WRITE_LE_UINT32(_controlPtr->_ptr + 12, 4); + } + break; + + default: + break; + } + } + + if (READ_LE_UINT32(_controlPtr->_ptr + 12) == READ_LE_UINT32(_controlPtr->_ptr + 4)) { + _voy._videoEventId = idx; + return true; + } + } + + WRITE_LE_UINT32(_controlPtr->_ptr + 12, v); + _voy._videoEventId = -1; return false; } -- cgit v1.2.3 From 6e1a7abeefea61b41ff7821030758941ec642665 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Wed, 25 Dec 2013 19:38:32 +1100 Subject: VOYEUR: Implemented checkForIncriminate --- engines/voyeur/voyeur.h | 2 +- engines/voyeur/voyeur_game.cpp | 43 ++++++++++++++++++++++++++++++++++++++++-- 2 files changed, 42 insertions(+), 3 deletions(-) diff --git a/engines/voyeur/voyeur.h b/engines/voyeur/voyeur.h index 283352ca21..e0a354989f 100644 --- a/engines/voyeur/voyeur.h +++ b/engines/voyeur/voyeur.h @@ -88,7 +88,7 @@ private: void doGossip(); void doTapePlaying(); bool checkForMurder(); - void checkForIncriminate(); + bool checkForIncriminate(); void playAVideoEvent(int eventId); int getChooseButton(); protected: diff --git a/engines/voyeur/voyeur_game.cpp b/engines/voyeur/voyeur_game.cpp index 617b48c8d5..cce07eb497 100644 --- a/engines/voyeur/voyeur_game.cpp +++ b/engines/voyeur/voyeur_game.cpp @@ -648,8 +648,47 @@ bool VoyeurEngine::checkForMurder() { return false; } -void VoyeurEngine::checkForIncriminate() { - warning("TODO"); +bool VoyeurEngine::checkForIncriminate() { + _voy._field4382 = 0; + + for (int idx = 0; idx < _voy._eventCount; ++idx) { + VoyeurEvent &evt = _voy._events[idx]; + + if (evt._type == EVTYPE_VIDEO) { + if (evt._field8 == 44 && evt._computerOn <= 40 && + (evt._computerOff + evt._computerOn) >= 70) { + _voy._field4382 = 1; + } + + if (evt._field8 == 44 && evt._computerOn <= 79 && + (evt._computerOff + evt._computerOn) >= 129) { + _voy._field4382 = 1; + } + + if (evt._field8 == 20 && evt._computerOn <= 28 && + (evt._computerOff + evt._computerOn) >= 45) { + _voy._field4382 = 2; + } + + if (evt._field8 == 35 && evt._computerOn <= 17 && + (evt._computerOff + evt._computerOn) >= 36) { + _voy._field4382 = 3; + } + + if (evt._field8 == 30 && evt._computerOn <= 80 && + (evt._computerOff + evt._computerOn) >= 139) { + _voy._field4382 = 4; + } + } + + if (_voy._field4382) { + WRITE_LE_UINT32(_controlPtr->_ptr + 12, 88); + _voy._videoEventId = idx; + return true; + } + } + + _voy._videoEventId = -1; } void VoyeurEngine::playAVideoEvent(int eventId) { -- cgit v1.2.3 From 88c9dac8c0695ad328bf354ad54e5bb3fa5ba1de Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Thu, 26 Dec 2013 07:30:46 +1100 Subject: VOYEUR: Implemented playAVideoDuration --- engines/voyeur/animation.cpp | 6 +++++ engines/voyeur/animation.h | 1 + engines/voyeur/files_threads.cpp | 2 +- engines/voyeur/sound.cpp | 2 +- engines/voyeur/staticres.cpp | 2 +- engines/voyeur/staticres.h | 2 +- engines/voyeur/voyeur.cpp | 53 ++++++++++++++++++++++++++++++++++++++++ engines/voyeur/voyeur.h | 3 ++- engines/voyeur/voyeur_game.cpp | 10 ++++++-- 9 files changed, 74 insertions(+), 7 deletions(-) diff --git a/engines/voyeur/animation.cpp b/engines/voyeur/animation.cpp index c771f04f80..ce1fc9e2b5 100644 --- a/engines/voyeur/animation.cpp +++ b/engines/voyeur/animation.cpp @@ -21,6 +21,7 @@ */ #include "voyeur/animation.h" +#include "voyeur/staticres.h" #include "common/memstream.h" #include "common/system.h" #include "audio/decoders/raw.h" @@ -35,6 +36,11 @@ RL2Decoder::~RL2Decoder() { close(); } +bool RL2Decoder::loadVideo(int videoId) { + Common::String filename = Common::String::format("%s.rl2", ::Voyeur::SZ_FILENAMES[videoId]); + return loadFile(filename); +} + bool RL2Decoder::loadStream(Common::SeekableReadStream *stream) { close(); diff --git a/engines/voyeur/animation.h b/engines/voyeur/animation.h index 53d24fc0c3..b06e3cb5d9 100644 --- a/engines/voyeur/animation.h +++ b/engines/voyeur/animation.h @@ -73,6 +73,7 @@ public: virtual ~RL2Decoder(); bool loadStream(Common::SeekableReadStream *stream); + bool loadVideo(int videoId); const Common::List *getDirtyRects() const; void clearDirtyRects(); diff --git a/engines/voyeur/files_threads.cpp b/engines/voyeur/files_threads.cpp index 15f2e96125..26e4b5987b 100644 --- a/engines/voyeur/files_threads.cpp +++ b/engines/voyeur/files_threads.cpp @@ -1098,7 +1098,7 @@ int ThreadResource::doApt() { // Loop through the hotspot list hotspotId = -1; pt = _vm->_eventsManager.getMousePos(); - for (int idx = 0; idx < hotspots.size(); ++idx) { + for (int idx = 0; idx < (int)hotspots.size(); ++idx) { if (pt.x > hotspots[idx].left && pt.x < hotspots[idx].right && pt.y > hotspots[idx].top && pt.y < hotspots[idx].bottom) { // Cursor is within hotspot area diff --git a/engines/voyeur/sound.cpp b/engines/voyeur/sound.cpp index e53716a70c..bf6374fce3 100644 --- a/engines/voyeur/sound.cpp +++ b/engines/voyeur/sound.cpp @@ -61,7 +61,7 @@ void SoundManager::setVOCOffset(int offset) { } Common::String SoundManager::getVOCFileName(int idx) { - return Common::String::format("%s.voc", VOC_FILENAMES[idx]); + return Common::String::format("%s.voc", SZ_FILENAMES[idx]); } void SoundManager::startVOCPlay(const Common::String &filename) { diff --git a/engines/voyeur/staticres.cpp b/engines/voyeur/staticres.cpp index 0108dac66c..294a1676b4 100644 --- a/engines/voyeur/staticres.cpp +++ b/engines/voyeur/staticres.cpp @@ -74,7 +74,7 @@ const int COMP_BUT_TABLE[] = { 68, 79, 98, 102 }; -const char *const VOC_FILENAMES[] = { +const char *const SZ_FILENAMES[] = { "A2110100", nullptr, "A2300100", nullptr, "B1220100", nullptr, "C1220100", nullptr, "C1290100", nullptr, "D1220100", nullptr, "D1270100", nullptr, "E1210100", nullptr, "E1260100", nullptr, "E1280100", nullptr, "E1325100", nullptr, "F1200100", nullptr, diff --git a/engines/voyeur/staticres.h b/engines/voyeur/staticres.h index ae970b8537..8c97af72a8 100644 --- a/engines/voyeur/staticres.h +++ b/engines/voyeur/staticres.h @@ -39,7 +39,7 @@ extern const int BLIND_TABLE[]; extern const int COMP_BUT_TABLE[]; -extern const char *const VOC_FILENAMES[]; +extern const char *const SZ_FILENAMES[]; extern const char *const SATURDAY; extern const char *const SUNDAY; diff --git a/engines/voyeur/voyeur.cpp b/engines/voyeur/voyeur.cpp index ab8f3cf6a0..1e09a8f965 100644 --- a/engines/voyeur/voyeur.cpp +++ b/engines/voyeur/voyeur.cpp @@ -560,6 +560,59 @@ void VoyeurEngine::playRL2Video(const Common::String &filename) { } } +void VoyeurEngine::playAVideoDuration(int videoId, int duration) { + byte *dataP = NULL; + int totalFrames = duration * 10; + + if (videoId != -1) + return; + + if (videoId != 42) { + _eventsManager._videoDead = 0; + dataP = _bVoy->memberAddr(0xE00); + } + + ::Video::RL2Decoder decoder; + decoder.loadVideo(videoId); + + decoder.start(); + decoder.seek(Audio::Timestamp(_voy._vocSecondsOffset * 1000)); + int endFrame = decoder.getCurFrame() + totalFrames; + + while (!shouldQuit() && !decoder.endOfVideo() && !_voy._incriminate && + (decoder.getCurFrame() < endFrame)) { + if (decoder.hasDirtyPalette()) { + const byte *palette = decoder.getPalette(); + _graphicsManager.setPalette(palette, 0, 256); + } + + if (decoder.needsUpdate()) { + const Graphics::Surface *frame = decoder.decodeNextFrame(); + + Common::copy((const byte *)frame->getPixels(), (const byte *)frame->getPixels() + 320 * 200, + (byte *)_graphicsManager._screenSurface.getPixels()); + } + + _eventsManager.pollEvents(); + g_system->delayMillis(10); + } + + // RL2 finished + _graphicsManager.screenReset(); + _voy._field478 &= ~0x10; + + if (_voy._field478 & 8) { + // TODO: Figure out resource type for the data resource + /* + byte *imgData = (*_graphicsManager._vPort)->_currentPic->_imgData; + (*_graphicsManager._vPort)->_currentPic->_imgData = dataP[12 and 14]; + imgData[12 and 14] = imgData; + _voy._field478 &= ~8; + */ + warning("TODO: playAVideoDuration - %x", dataP); + } +} + void VoyeurEngine::doTransitionCard(const Common::String &time, const Common::String &location) { _graphicsManager.setColor(128, 16, 16, 16); _graphicsManager.setColor(224, 220, 220, 220); diff --git a/engines/voyeur/voyeur.h b/engines/voyeur/voyeur.h index e0a354989f..7f900df001 100644 --- a/engines/voyeur/voyeur.h +++ b/engines/voyeur/voyeur.h @@ -89,7 +89,8 @@ private: void doTapePlaying(); bool checkForMurder(); bool checkForIncriminate(); - void playAVideoEvent(int eventId); + void playAVideoEvent(int eventIndex); + void playAVideoDuration(int v1, int v2); int getChooseButton(); protected: // Engine APIs diff --git a/engines/voyeur/voyeur_game.cpp b/engines/voyeur/voyeur_game.cpp index cce07eb497..fc0168d68a 100644 --- a/engines/voyeur/voyeur_game.cpp +++ b/engines/voyeur/voyeur_game.cpp @@ -691,8 +691,14 @@ bool VoyeurEngine::checkForIncriminate() { _voy._videoEventId = -1; } -void VoyeurEngine::playAVideoEvent(int eventId) { - warning("TODO"); +void VoyeurEngine::playAVideoEvent(int eventIndex) { + VoyeurEvent &evt = _voy._events[eventIndex]; + _eventsManager._videoComputerBut4 = evt._field8; + _voy._vocSecondsOffset = evt._computerOn; + _eventsManager._videoDead = evt._dead; + _voy._field478 &= ~1; + + playAVideoDuration(_eventsManager._videoComputerBut4, evt._computerOff); } int VoyeurEngine::getChooseButton() { -- cgit v1.2.3 From 906f2546b497b7662dc40d2b6628ca27d91b9178 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Thu, 26 Dec 2013 09:35:27 +1100 Subject: VOYEUR: Implemented getChooseButton --- engines/voyeur/voyeur.h | 2 +- engines/voyeur/voyeur_game.cpp | 55 ++++++++++++++++++++++++++++++++++++++++-- 2 files changed, 54 insertions(+), 3 deletions(-) diff --git a/engines/voyeur/voyeur.h b/engines/voyeur/voyeur.h index 7f900df001..0d2ea7e589 100644 --- a/engines/voyeur/voyeur.h +++ b/engines/voyeur/voyeur.h @@ -90,7 +90,6 @@ private: bool checkForMurder(); bool checkForIncriminate(); void playAVideoEvent(int eventIndex); - void playAVideoDuration(int v1, int v2); int getChooseButton(); protected: // Engine APIs @@ -145,6 +144,7 @@ public: void playRL2Video(const Common::String &filename); void doTransitionCard(const Common::String &time, const Common::String &location); void playAVideo(int id); + void playAVideoDuration(int v1, int v2); /** * Saves the last time the game was played diff --git a/engines/voyeur/voyeur_game.cpp b/engines/voyeur/voyeur_game.cpp index fc0168d68a..9dec623e0f 100644 --- a/engines/voyeur/voyeur_game.cpp +++ b/engines/voyeur/voyeur_game.cpp @@ -689,6 +689,7 @@ bool VoyeurEngine::checkForIncriminate() { } _voy._videoEventId = -1; + return false; } void VoyeurEngine::playAVideoEvent(int eventIndex) { @@ -702,8 +703,58 @@ void VoyeurEngine::playAVideoEvent(int eventIndex) { } int VoyeurEngine::getChooseButton() { - warning("TODO"); - return 0; + int prevIndex = -2; + Common::Array &hotspots = _bVoy->boltEntry(_playStamp1 + + 6)._rectResource->_entries; + int selectedIndex = -1; + + (*_graphicsManager._vPort)->setupViewPort(_graphicsManager._backgroundPage); + _graphicsManager._backColors->_steps = 0; + _graphicsManager._backColors->startFade(); + flipPageAndWait(); + + _voy._viewBounds = _bVoy->boltEntry(_playStamp1 + 7)._rectResource; + PictureResource *cursorPic = _bVoy->boltEntry(_playStamp1 + 2)._picResource; + + do { + do { + if (_playStamp2 != -1 && !_soundManager.getVOCStatus()) + _soundManager.startVOCPlay(_playStamp2); + + _eventsManager.getMouseInfo(); + selectedIndex = -1; + Common::Point pt = _eventsManager.getMousePos(); + + for (uint idx = 0; idx < hotspots.size(); ++idx) { + if (hotspots[idx].contains(pt)) { + if (!_voy._field4F0 || (idx + 1) != READ_LE_UINT32(_controlPtr->_ptr + 4)) { + selectedIndex = idx; + if (selectedIndex != prevIndex) { + PictureResource *btnPic = _bVoy->boltEntry(_playStamp1 + 8 + idx)._picResource; + _graphicsManager.sDrawPic(btnPic, *_graphicsManager._vPort, + Common::Point(106, 200)); + + cursorPic = _bVoy->boltEntry(_playStamp1 + 4)._picResource; + } + } + } + } + + if (selectedIndex == -1) { + cursorPic = _bVoy->boltEntry(_playStamp1 + 2)._picResource; + PictureResource *btnPic = _bVoy->boltEntry(_playStamp1 + 12)._picResource; + _graphicsManager.sDrawPic(btnPic, *_graphicsManager._vPort, + Common::Point(106, 200)); + } + + _graphicsManager.sDrawPic(cursorPic, *_graphicsManager._vPort, + Common::Point(pt.x + 13, pt.y - 12)); + + flipPageAndWait(); + } while (!shouldQuit() && !_voy._incriminate); + } while (!shouldQuit() && selectedIndex == -1 && !_voy._fadeFunc); + + return selectedIndex; } void VoyeurEngine::makeViewFinder() { -- cgit v1.2.3 From 554756f93fb77c8e15e697b2b4c3d2bf09c95232 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Thu, 26 Dec 2013 09:36:27 +1100 Subject: VOYEUR: Fix prototype for playAVideoDuration --- engines/voyeur/voyeur.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/engines/voyeur/voyeur.h b/engines/voyeur/voyeur.h index 0d2ea7e589..16909052a7 100644 --- a/engines/voyeur/voyeur.h +++ b/engines/voyeur/voyeur.h @@ -144,7 +144,7 @@ public: void playRL2Video(const Common::String &filename); void doTransitionCard(const Common::String &time, const Common::String &location); void playAVideo(int id); - void playAVideoDuration(int v1, int v2); + void playAVideoDuration(int videoId, int duration); /** * Saves the last time the game was played -- cgit v1.2.3 From 16cbccf09ac3f98e5dddfa866e35c5cd319f8f5d Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Thu, 26 Dec 2013 15:47:27 +1100 Subject: VOYEUR: Remove redundant method definition --- engines/voyeur/files.h | 1 - 1 file changed, 1 deletion(-) diff --git a/engines/voyeur/files.h b/engines/voyeur/files.h index 48592dae61..8ccfab8a20 100644 --- a/engines/voyeur/files.h +++ b/engines/voyeur/files.h @@ -537,7 +537,6 @@ public: */ int doApt(); - void doTapePlaying(); void checkForMurder(); void checkForIncriminate(); -- cgit v1.2.3 From 8ed1171ca07e5857c1ab4862052bc7451f8728e7 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Fri, 27 Dec 2013 20:42:05 +1100 Subject: VOYEUR: Convert doInterface to use new rects resource type --- engines/voyeur/files_threads.cpp | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/engines/voyeur/files_threads.cpp b/engines/voyeur/files_threads.cpp index 26e4b5987b..8d0ad00c34 100644 --- a/engines/voyeur/files_threads.cpp +++ b/engines/voyeur/files_threads.cpp @@ -1409,7 +1409,8 @@ int ThreadResource::doInterface() { _vm->_eventsManager.setMousePos(Common::Point(_currentMouseX, _currentMouseY)); _vm->initIFace(); - byte *dataP = _vm->_bVoy->memberAddr(_vm->_playStamp1); + Common::Array &hotspots = _vm->_bVoy->boltEntry( + _vm->_playStamp1)._rectResource->_entries; _vm->_playStamp2 = 151 - _vm->getRandomNumber(5); _vm->_voy._vocSecondsOffset = _vm->getRandomNumber(29); @@ -1447,11 +1448,8 @@ int ThreadResource::doInterface() { pt = _vm->_eventsManager.getMousePos() + Common::Point(120, 75); regionIndex = -1; - for (int idx = 0; idx < READ_LE_UINT16(dataP); ++idx) { - if (READ_LE_UINT16(dataP + (idx * 8 + 2)) <= pt.x && - READ_LE_UINT16(dataP + (idx * 8 + 6)) >= pt.x && - READ_LE_UINT16(dataP + (idx * 8 + 4)) <= pt.y && - READ_LE_UINT16(dataP + (idx * 8 + 8)) >= pt.y) { + for (int idx = 0; idx < (int)hotspots.size(); ++idx) { + if (hotspots[idx].contains(pt)) { // Rect check done for (int arrIndex = 0; arrIndex < 3; ++arrIndex) { if (_vm->_voy._arr3[arrIndex][idx] <= _vm->_voy._RTVNum && @@ -1542,7 +1540,7 @@ int ThreadResource::doInterface() { _vm->_eventsManager.setMousePos(Common::Point(_currentMouseX, _currentMouseY)); _vm->initIFace(); - dataP = _vm->_bVoy->memberAddr(_vm->_playStamp1 + 1); + hotspots = _vm->_bVoy->boltEntry(_vm->_playStamp1 + 1)._rectResource->_entries; _vm->_eventsManager.getMouseInfo(); _vm->_eventsManager.setMousePos(Common::Point(_currentMouseX, _currentMouseY)); -- cgit v1.2.3 From 3b9cdf48eec9afc3664d04fa1ecbd71c94eb8cf5 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Sat, 28 Dec 2013 13:30:51 +1100 Subject: VOYEUR: Fix for doRoom start and looping --- engines/voyeur/events.cpp | 2 ++ engines/voyeur/files.cpp | 2 ++ engines/voyeur/voyeur_game.cpp | 2 +- 3 files changed, 5 insertions(+), 1 deletion(-) diff --git a/engines/voyeur/events.cpp b/engines/voyeur/events.cpp index b78105825e..4d5c03ce60 100644 --- a/engines/voyeur/events.cpp +++ b/engines/voyeur/events.cpp @@ -233,6 +233,7 @@ void EventsManager::pollEvents() { case Common::EVENT_LBUTTONDOWN: _mouseButton = 1; _vm->_voy._newMouseClicked = true; + _vm->_voy._newIncriminate = true; return; case Common::EVENT_RBUTTONDOWN: _mouseButton = 2; @@ -241,6 +242,7 @@ void EventsManager::pollEvents() { case Common::EVENT_LBUTTONUP: case Common::EVENT_RBUTTONUP: _vm->_voy._newMouseClicked = false; + _vm->_voy._newIncriminate = false; _mouseButton = 0; return; case Common::EVENT_MOUSEMOVE: diff --git a/engines/voyeur/files.cpp b/engines/voyeur/files.cpp index 1eefef40b1..2602ace735 100644 --- a/engines/voyeur/files.cpp +++ b/engines/voyeur/files.cpp @@ -527,6 +527,8 @@ void BVoyBoltFile::initSoundMap() { void BVoyBoltFile::sInitRect() { _state._curMemberPtr->_data = _state.decompress(NULL, _state._curMemberPtr->_size, _state._curMemberPtr->_mode); + + if ((_state._curMemberPtr->_size % 8) == 0 || (_state._curMemberPtr->_size % 8) == 2) _state._curMemberPtr->_rectResource = new RectResource(_state._curMemberPtr->_data, _state._curMemberPtr->_size); } diff --git a/engines/voyeur/voyeur_game.cpp b/engines/voyeur/voyeur_game.cpp index 9dec623e0f..badea5912f 100644 --- a/engines/voyeur/voyeur_game.cpp +++ b/engines/voyeur/voyeur_game.cpp @@ -891,7 +891,7 @@ void VoyeurEngine::doScroll(const Common::Point &pt) { _graphicsManager.sDrawPic(pic, *_graphicsManager._vPort, Common::Point(784 - pt.x - 712, 150 - pt.y + 136)); } - (*_graphicsManager._vPort)->setupViewPort(); + (*_graphicsManager._vPort)->setupViewPort(NULL); } void VoyeurEngine::checkTransition(){ -- cgit v1.2.3 From 9eccf91aea8dc8f8ebbaa61c04152d0e1f70902e Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Sat, 28 Dec 2013 14:01:06 +1100 Subject: VOYEUR: Implemented startCursorBlink and drawDot --- engines/voyeur/events.cpp | 10 +++++++++- engines/voyeur/graphics.cpp | 8 ++++++++ engines/voyeur/graphics.h | 1 + engines/voyeur/staticres.cpp | 10 ++++++++++ engines/voyeur/staticres.h | 4 ++++ 5 files changed, 32 insertions(+), 1 deletion(-) diff --git a/engines/voyeur/events.cpp b/engines/voyeur/events.cpp index 4d5c03ce60..d622a6d00f 100644 --- a/engines/voyeur/events.cpp +++ b/engines/voyeur/events.cpp @@ -451,7 +451,15 @@ void EventsManager::checkForKey() { } void EventsManager::startCursorBlink() { - error("TODO: startCursorBlink"); + if (_vm->_voy._field478 & 0x10) { + _vm->_graphicsManager.setOneColor(128, 55, 5, 5); + _vm->_graphicsManager.setColor(128, 220, 20, 20); + _intPtr.field38 = true; + _intPtr._hasPalette = true; + + _vm->_graphicsManager.drawDot(); + //copySection(); + } } void EventsManager::incrementTime(int amt) { diff --git a/engines/voyeur/graphics.cpp b/engines/voyeur/graphics.cpp index f07616bb36..47c7293322 100644 --- a/engines/voyeur/graphics.cpp +++ b/engines/voyeur/graphics.cpp @@ -22,6 +22,7 @@ #include "voyeur/graphics.h" #include "voyeur/voyeur.h" +#include "voyeur/staticres.h" #include "engines/util.h" #include "graphics/palette.h" #include "graphics/surface.h" @@ -735,4 +736,11 @@ void GraphicsManager::fadeDownICF(int steps) { _vm->_voy._field4378 = 0; } +void GraphicsManager::drawDot() { + for (int y = 0; y < 9; ++y) { + byte *pDest = (byte *)_screenSurface.getPixels() + DOT_LINE_START[y] + DOT_LINE_OFFSET[y]; + Common::fill(pDest, pDest + DOT_LINE_LENGTH[y], 0x80); + } +} + } // End of namespace Voyeur diff --git a/engines/voyeur/graphics.h b/engines/voyeur/graphics.h index 3bfef0ee81..92b3e51453 100644 --- a/engines/voyeur/graphics.h +++ b/engines/voyeur/graphics.h @@ -115,6 +115,7 @@ public: void fadeDownICF1(int steps); void fadeUpICF1(int steps); void fadeDownICF(int steps); + void drawDot(); }; } // End of namespace Voyeur diff --git a/engines/voyeur/staticres.cpp b/engines/voyeur/staticres.cpp index 294a1676b4..1ce8a74141 100644 --- a/engines/voyeur/staticres.cpp +++ b/engines/voyeur/staticres.cpp @@ -116,4 +116,14 @@ const char *const END_OF_MESSAGE = "*** End of Message ***"; const char *const EVENT_TYPE_STRINGS[4] = { "Video", "Audio" "Evidence", "Computer" }; +int DOT_LINE_START[9] = { + 0E880, 0xE9C0, 0xEB00, 0xEC40, 0xED80, 0xEEC0, 0xF000, 0xF140, 0xF280 +}; +int DOT_LINE_OFFSET[9] = { + 144, 143, 142, 141, 141, 141, 142, 143, 144 +}; +int DOT_LINE_LENGTH[9] = { + 5, 7, 9, 11, 11, 11, 9, 7, 5 +}; + } // End of namespace Voyeur diff --git a/engines/voyeur/staticres.h b/engines/voyeur/staticres.h index 8c97af72a8..a6b81f06d6 100644 --- a/engines/voyeur/staticres.h +++ b/engines/voyeur/staticres.h @@ -52,6 +52,10 @@ extern const char *const END_OF_MESSAGE; extern const char *const EVENT_TYPE_STRINGS[4]; +extern int DOT_LINE_START[9]; +extern int DOT_LINE_OFFSET[9]; +extern int DOT_LINE_LENGTH[9]; + } // End of namespace Voyeur #endif -- cgit v1.2.3 From 19c208a05d47562181c64833f25ada59751e5c88 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Sat, 28 Dec 2013 15:02:54 +1100 Subject: VOYEUR: Refactored code fragments to use flipPageAndWaitForFade method --- engines/voyeur/files_threads.cpp | 37 +++++-------------------------------- 1 file changed, 5 insertions(+), 32 deletions(-) diff --git a/engines/voyeur/files_threads.cpp b/engines/voyeur/files_threads.cpp index 8d0ad00c34..3a626d4801 100644 --- a/engines/voyeur/files_threads.cpp +++ b/engines/voyeur/files_threads.cpp @@ -396,12 +396,7 @@ void ThreadResource::parsePlayCommands() { (*_vm->_graphicsManager._vPort)->setupViewPort(); _vm->_graphicsManager._backColors->startFade(); - (*_vm->_graphicsManager._vPort)->_flags |= 8; - _vm->_graphicsManager.flipPage(); - _vm->_eventsManager.sWaitFlip(); - - while (!_vm->shouldQuit() && (_vm->_eventsManager._fadeStatus & 1)) - _vm->_eventsManager.delay(1); + _vm->flipPageAndWaitForFade(); _vm->_voy._field478 = -2; _vm->_soundManager.setVOCOffset(_vm->_voy._vocSecondsOffset * 11025); @@ -692,13 +687,8 @@ void ThreadResource::parsePlayCommands() { (*_vm->_graphicsManager._vPort)->setupViewPort(pic); _cmd14Pal->startFade(); + _vm->flipPageAndWaitForFade(); - (*_vm->_graphicsManager._vPort)->_flags |= 8; - _vm->_graphicsManager.flipPage(); - _vm->_eventsManager.sWaitFlip(); - - while (!_vm->shouldQuit() && (_vm->_eventsManager._fadeStatus & 1)) - _vm->_eventsManager.delay(1); _vm->_eventsManager.getMouseInfo(); for (int idx = 1; idx < 4; ++idx) { @@ -712,13 +702,7 @@ void ThreadResource::parsePlayCommands() { (*_vm->_graphicsManager._vPort)->setupViewPort(pic); _cmd14Pal->startFade(); - - (*_vm->_graphicsManager._vPort)->_flags |= 8; - _vm->_graphicsManager.flipPage(); - _vm->_eventsManager.sWaitFlip(); - - while (!_vm->shouldQuit() && (_vm->_eventsManager._fadeStatus & 1)) - _vm->_eventsManager.delay(1); + _vm->flipPageAndWaitForFade(); _vm->_bVoy->freeBoltMember(_vm->_playStamp1 + (idx - 1) * 2); _vm->_bVoy->freeBoltMember(_vm->_playStamp1 + (idx - 1) * 2 + 1); @@ -1664,23 +1648,12 @@ void ThreadResource::loadTheApt() { CMapResource *pal = _vm->_bVoy->boltEntry(_vm->_playStamp1 + 4)._cMapResource; pal->_steps = 1; pal->startFade(); - - (*_vm->_graphicsManager._vPort)->_flags |= 8; - _vm->_graphicsManager.flipPage(); - _vm->_eventsManager.sWaitFlip(); - - while (!_vm->shouldQuit() && (_vm->_eventsManager._fadeStatus & 1)) - _vm->_eventsManager.delay(1); + _vm->flipPageAndWaitForFade(); } void ThreadResource::freeTheApt() { _vm->_graphicsManager.fadeDownICF1(5); - (*_vm->_graphicsManager._vPort)->_flags |= 8; - _vm->_graphicsManager.flipPage(); - _vm->_eventsManager.sWaitFlip(); - - while (!_vm->shouldQuit() && (_vm->_eventsManager._fadeStatus & 1)) - _vm->_eventsManager.delay(1); + _vm->flipPageAndWaitForFade(); _vm->_graphicsManager.fadeUpICF1(0); -- cgit v1.2.3 From 84752aa27227bc3dde6005f818d4b2a9b21b8b5b Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Sat, 28 Dec 2013 15:09:44 +1100 Subject: VOYEUR: Refactored code fragments to use flipPageAndWait --- engines/voyeur/files_threads.cpp | 34 ++++++-------------------- engines/voyeur/voyeur_game.cpp | 53 +++++++++------------------------------- 2 files changed, 20 insertions(+), 67 deletions(-) diff --git a/engines/voyeur/files_threads.cpp b/engines/voyeur/files_threads.cpp index 3a626d4801..2d389c014c 100644 --- a/engines/voyeur/files_threads.cpp +++ b/engines/voyeur/files_threads.cpp @@ -456,10 +456,7 @@ void ThreadResource::parsePlayCommands() { if (_vm->_eventsManager._videoDead != -1) { _vm->_bVoy->freeBoltGroup(0xE00); _vm->_eventsManager._videoDead = -1; - (*_vm->_graphicsManager._vPort)->_flags |= 8; - - _vm->_graphicsManager.flipPage(); - _vm->_eventsManager.sWaitFlip(); + _vm->flipPageAndWait(); } _vm->_eventsManager._videoDead = -1; @@ -1108,9 +1105,7 @@ int ThreadResource::doApt() { _vm->_playStamp1 + 3)._picResource; _vm->_graphicsManager.sDrawPic(pic, *_vm->_graphicsManager._vPort, pt); - (*_vm->_graphicsManager._vPort)->_flags |= 8; - _vm->_graphicsManager.flipPage(); - _vm->_eventsManager.sWaitFlip(); + _vm->flipPageAndWait(); } while (!_vm->shouldQuit() && (!_vm->_voy._mouseClicked || hotspotId == -1)); @@ -1250,9 +1245,7 @@ void ThreadResource::doRoom() { vm._eventsManager.startCursorBlink(); if (i4e4 == 999) { - (*_vm->_graphicsManager._vPort)->_flags |= 8; - _vm->_graphicsManager.flipPage(); - _vm->_eventsManager.sWaitFlip(); + _vm->flipPageAndWait(); if (vm._playStamp2 != -1) { voy._vocSecondsOffset = voy._RTVNum - @@ -1261,10 +1254,8 @@ void ThreadResource::doRoom() { } vm.getComputerBrush(); + _vm->flipPageAndWait(); - (*vm._graphicsManager._vPort)->_flags |= 8; - vm._graphicsManager.flipPage(); - vm._eventsManager.sWaitFlip(); vm._eventsManager.addComputerEventStart(); voy._incriminate = false; @@ -1294,9 +1285,7 @@ void ThreadResource::doRoom() { vm._playStamp1)._picResource; vm._graphicsManager._backColors->startFade(); - (*vm._graphicsManager._vPort)->_flags |= 8; - vm._graphicsManager.flipPage(); - vm._eventsManager.sWaitFlip(); + _vm->flipPageAndWait(); while (!vm.shouldQuit() && (vm._eventsManager._fadeStatus & 1)) vm._eventsManager.delay(1); @@ -1318,9 +1307,7 @@ void ThreadResource::doRoom() { vm._eventsManager.delay(1); } - (*vm._graphicsManager._vPort)->_flags |= 8; - vm._graphicsManager.flipPage(); - vm._eventsManager.sWaitFlip(); + _vm->flipPageAndWait(); vm._graphicsManager.fadeUpICF1(0); voy._field478 &= 0x10; @@ -1496,9 +1483,7 @@ int ThreadResource::doInterface() { } _vm->_voy._RTANum = 0; - (*_vm->_graphicsManager._vPort)->_flags |= 8; - _vm->_graphicsManager.flipPage(); - _vm->_eventsManager.sWaitFlip(); + _vm->flipPageAndWait(); pt = _vm->_eventsManager.getMousePos(); if ((_vm->_voy._field476 <= _vm->_voy._RTVNum) || ((_vm->_voy._field478 & 0x80) && @@ -1736,10 +1721,7 @@ void ThreadResource::doAptAnim(int mode) { (*_vm->_graphicsManager._vPort)->setupViewPort(pic); pal->startFade(); - (*_vm->_graphicsManager._vPort)->_flags |= 8; - _vm->_graphicsManager.flipPage(); - _vm->_eventsManager.sWaitFlip(); - + _vm->flipPageAndWait(); _vm->_eventsManager.delay(5); } diff --git a/engines/voyeur/voyeur_game.cpp b/engines/voyeur/voyeur_game.cpp index badea5912f..8bb1bded9c 100644 --- a/engines/voyeur/voyeur_game.cpp +++ b/engines/voyeur/voyeur_game.cpp @@ -251,11 +251,7 @@ void VoyeurEngine::reviewTape() { (*_graphicsManager._vPort)->setupViewPort(_graphicsManager._backgroundPage); _graphicsManager._backColors->startFade(); - (*_graphicsManager._vPort)->_flags |= 8; - _graphicsManager.flipPage(); - _eventsManager.sWaitFlip(); - while (!shouldQuit() && (_eventsManager._fadeStatus & 1)) - _eventsManager.delay(1); + flipPageAndWaitForFade(); _graphicsManager.setColor(1, 32, 32, 32); _graphicsManager.setColor(2, 96, 96, 96); @@ -292,9 +288,7 @@ void VoyeurEngine::reviewTape() { if (var1E) { var1E = false; - (*_graphicsManager._vPort)->_flags |= 8; - _graphicsManager.flipPage(); - _eventsManager.sWaitFlip(); + flipPageAndWait(); _graphicsManager._drawPtr->_penColor = 0; _graphicsManager._drawPtr->_pos = Common::Point(tempRect.left, tempRect.top); @@ -324,9 +318,7 @@ void VoyeurEngine::reviewTape() { (*_graphicsManager._vPort)->addSaveRect( (*_graphicsManager._vPort)->_lastPage, tempRect); - (*_graphicsManager._vPort)->_flags |= 8; - _graphicsManager.flipPage(); - _eventsManager.sWaitFlip(); + flipPageAndWait(); (*_graphicsManager._vPort)->addSaveRect( (*_graphicsManager._vPort)->_lastPage, tempRect); @@ -334,9 +326,7 @@ void VoyeurEngine::reviewTape() { _graphicsManager.sDrawPic(cursor, *_graphicsManager._vPort, _eventsManager.getMousePos()); - (*_graphicsManager._vPort)->_flags |= 8; - _graphicsManager.flipPage(); - _eventsManager.sWaitFlip(); + flipPageAndWait(); _eventsManager.getMouseInfo(); foundIndex = -1; @@ -366,9 +356,7 @@ void VoyeurEngine::reviewTape() { _eventsManager.setCursorColor(128, 2); var20 = foundIndex; - (*_graphicsManager._vPort)->_flags |= 8; - _graphicsManager.flipPage(); - _eventsManager.sWaitFlip(); + flipPageAndWait(); _graphicsManager._drawPtr->_penColor = 0; _graphicsManager._drawPtr->_pos = Common::Point(tempRect.left, tempRect.top); @@ -398,15 +386,11 @@ void VoyeurEngine::reviewTape() { (*_graphicsManager._vPort)->addSaveRect( (*_graphicsManager._vPort)->_lastPage, tempRect); - (*_graphicsManager._vPort)->_flags |= 8; - _graphicsManager.flipPage(); - _eventsManager.sWaitFlip(); + flipPageAndWait(); (*_graphicsManager._vPort)->addSaveRect( (*_graphicsManager._vPort)->_lastPage, tempRect); - (*_graphicsManager._vPort)->_flags |= 8; - _graphicsManager.flipPage(); - _eventsManager.sWaitFlip(); + flipPageAndWait(); _eventsManager.getMouseInfo(); foundIndex = 999; @@ -492,9 +476,7 @@ void VoyeurEngine::reviewTape() { _bVoy->freeBoltGroup(0x900); (*_graphicsManager._vPort)->fillPic(0); - (*_graphicsManager._vPort)->_flags |= 8; - _graphicsManager.flipPage(); - _eventsManager.sWaitFlip(); + flipPageAndWait(); } void VoyeurEngine::doGossip() { @@ -796,12 +778,7 @@ void VoyeurEngine::makeViewFinder() { doTimeBar(true); pal->startFade(); - (*_graphicsManager._vPort)->_flags |= 8; - _graphicsManager.flipPage(); - _eventsManager.sWaitFlip(); - - while (!shouldQuit() && (_eventsManager._fadeStatus & 1)) - _eventsManager.delay(1); + flipPageAndWaitForFade(); _graphicsManager.setColor(241, 105, 105, 105); _graphicsManager.setColor(242, 105, 105, 105); @@ -1010,9 +987,7 @@ bool VoyeurEngine::doComputerText(int maxLen) { _eventsManager.delay(4); } - (*_graphicsManager._vPort)->_flags |= 8; - _graphicsManager.flipPage(); - _eventsManager.sWaitFlip(); + flipPageAndWait(); _eventsManager.getMouseInfo(); ++totalChars; @@ -1021,9 +996,7 @@ bool VoyeurEngine::doComputerText(int maxLen) { _voy._field4EE = 0; } - (*_graphicsManager._vPort)->_flags |= 8; - _graphicsManager.flipPage(); - _eventsManager.sWaitFlip(); + flipPageAndWait(); _graphicsManager._fontPtr->_curFont = _bVoy->boltEntry(0x101)._fontResource; return totalChars; @@ -1102,9 +1075,7 @@ void VoyeurEngine::checkPhoneCall() { void VoyeurEngine::doEvidDisplay(int v1, int v2) { _eventsManager.getMouseInfo(); - (*_graphicsManager._vPort)->_flags |= 8; - _graphicsManager.flipPage(); - _eventsManager.sWaitFlip(); + flipPageAndWait(); if (_playStamp2 != -1) { _voy._vocSecondsOffset = _voy._RTVNum - _voy._field4AC; -- cgit v1.2.3 From b08e80cd6643b366774551360c7ba9ed611d48e6 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Sat, 28 Dec 2013 18:37:37 +1100 Subject: VOYEUR: Implemented evidence display code --- engines/voyeur/events.cpp | 20 ++++++++++ engines/voyeur/events.h | 18 ++++----- engines/voyeur/files_threads.cpp | 8 ++-- engines/voyeur/voyeur.cpp | 12 +++--- engines/voyeur/voyeur.h | 2 +- engines/voyeur/voyeur_game.cpp | 80 ++++++++++++++++++++++++++++++++++++++-- 6 files changed, 115 insertions(+), 25 deletions(-) diff --git a/engines/voyeur/events.cpp b/engines/voyeur/events.cpp index d622a6d00f..b5643e44e6 100644 --- a/engines/voyeur/events.cpp +++ b/engines/voyeur/events.cpp @@ -213,6 +213,18 @@ void EventsManager::delay(int cycles) { } } +void EventsManager::delayClick(int cycles) { + uint32 totalMilli = cycles * 1000 / GAME_FRAME_RATE; + uint32 delayEnd = g_system->getMillis() + totalMilli; + + while (!_vm->shouldQuit() && g_system->getMillis() < delayEnd + && !_vm->_voy._incriminate) { + g_system->delayMillis(10); + + pollEvents(); + } +} + void EventsManager::pollEvents() { checkForNextFrameCounter(); @@ -370,6 +382,10 @@ void EventsManager::fadeIntFunc() { warning("TODO"); } +void EventsManager::deleteIntNode(IntNode *node) { + _intNodes.remove(node); +} + void EventsManager::vInitColor() { _fadeIntNode._intFunc = &EventsManager::vDoFadeInt; _cycleIntNode._intFunc = &EventsManager::vDoCycleInt; @@ -539,6 +555,10 @@ void EventsManager::addComputerEventEnd(int v) { ++_vm->_voy._eventCount; } +void EventsManager::stopEvidDim() { + deleteIntNode(&_evIntNode); +} + Common::String EventsManager::getEvidString(int eventIndex) { assert(eventIndex <= _vm->_voy._eventCount); VoyeurEvent &e = _vm->_voy._events[eventIndex]; diff --git a/engines/voyeur/events.h b/engines/voyeur/events.h index 5a94434d78..1e4559c65b 100644 --- a/engines/voyeur/events.h +++ b/engines/voyeur/events.h @@ -89,6 +89,8 @@ public: int _field476; int _field478; int _field47A; + PictureResource *_evPicPtrs[6]; + CMapResource *_evCmPtrs[6]; int _field4AC; int _field4AE[5]; int _field4B8; @@ -105,15 +107,7 @@ public: int _timeStart; int _duration; int _vidStart; - int _doApt; - int _function; - int _anim; - int _level; - int _levelDone; - int _flags; - int _evGroup; - byte *_evPicPtrs[6]; - byte *_evCmPtrs[6]; + int _audioTime; int _phones[5]; int _numPhonesUsed; @@ -187,13 +181,14 @@ private: void vDoFadeInt(); void vDoCycleInt(); void fadeIntFunc(); + void deleteIntNode(IntNode *node); public: IntData _gameData; IntData &_intPtr; IntNode _fadeIntNode; IntNode _fade2IntNode; IntNode _cycleIntNode; - IntNode _evintnode; + IntNode _evIntNode; IntNode _mainIntNode; int _cycleStatus; int _fadeFirstCol, _fadeLastCol; @@ -215,6 +210,7 @@ public: void vInitColor(); void delay(int cycles); + void delayClick(int cycles); void pollEvents(); void startFade(CMapResource *cMap); void addIntNode(IntNode *node); @@ -240,6 +236,8 @@ public: void addEvidEventEnd(int dead); void addComputerEventStart(); void addComputerEventEnd(int v); + void stopEvidDim(); + Common::String getEvidString(int eventIndex); }; diff --git a/engines/voyeur/files_threads.cpp b/engines/voyeur/files_threads.cpp index 2d389c014c..944c9db558 100644 --- a/engines/voyeur/files_threads.cpp +++ b/engines/voyeur/files_threads.cpp @@ -408,7 +408,7 @@ void ThreadResource::parsePlayCommands() { while (!_vm->shouldQuit() && !_vm->_voy._incriminate && _vm->_soundManager.getVOCStatus()) - _vm->_eventsManager.delay(1); + _vm->_eventsManager.delayClick(1); _vm->_voy._field478 |= 1; _vm->_soundManager.stopVOCPlay(); @@ -517,7 +517,7 @@ void ThreadResource::parsePlayCommands() { while (!_vm->shouldQuit() && !_vm->_voy._incriminate && _vm->_soundManager.getVOCStatus()) { - _vm->_eventsManager.delay(1); + _vm->_eventsManager.delayClick(1); _vm->_eventsManager.getMouseInfo(); } @@ -1272,7 +1272,7 @@ void ThreadResource::doRoom() { voy._field478 &= ~0x10; if (!voy._incriminate) - vm._eventsManager.delay(18000); + vm._eventsManager.delayClick(18000); vm._bVoy->freeBoltGroup(vm._playStamp1); vm._bVoy->getBoltGroup(vm._playStamp1); @@ -1722,7 +1722,7 @@ void ThreadResource::doAptAnim(int mode) { pal->startFade(); _vm->flipPageAndWait(); - _vm->_eventsManager.delay(5); + _vm->_eventsManager.delayClick(5); } _vm->_bVoy->freeBoltGroup(id); diff --git a/engines/voyeur/voyeur.cpp b/engines/voyeur/voyeur.cpp index 1e09a8f965..76aa8fe1ef 100644 --- a/engines/voyeur/voyeur.cpp +++ b/engines/voyeur/voyeur.cpp @@ -187,7 +187,7 @@ bool VoyeurEngine::doHeadTitle() { if (!_voy._incriminate) { // doOpening(); // doTransitionCard("Saturday Afternoon", "Player's Apartment"); - _eventsManager.delay(90); + _eventsManager.delayClick(90); } else { _voy._incriminate = false; } @@ -224,7 +224,7 @@ void VoyeurEngine::showConversionScreen() { cMap->startFade(); // Wait briefly - _eventsManager.delay(150); + _eventsManager.delayClick(150); if (shouldQuit()) return; @@ -240,12 +240,10 @@ void VoyeurEngine::showConversionScreen() { _eventsManager.sWaitFlip(); while (!shouldQuit() && (_eventsManager._fadeStatus & 1)) - _eventsManager.delay(1); + _eventsManager.delayClick(1); _graphicsManager.screenReset(); _bVoy->freeBoltGroup(0x500); - - } bool VoyeurEngine::doLock() { @@ -450,7 +448,7 @@ void VoyeurEngine::showTitleScreen() { cMap->startFade(); // Wait briefly - _eventsManager.delay(200); + _eventsManager.delayClick(200); if (shouldQuit()) return; @@ -469,7 +467,7 @@ void VoyeurEngine::showTitleScreen() { return; _graphicsManager.screenReset(); - _eventsManager.delay(200); + _eventsManager.delayClick(200); // Voyeur title playRL2Video("a1100100.rl2"); diff --git a/engines/voyeur/voyeur.h b/engines/voyeur/voyeur.h index 16909052a7..f18ec4be16 100644 --- a/engines/voyeur/voyeur.h +++ b/engines/voyeur/voyeur.h @@ -173,7 +173,7 @@ public: void doScroll(const Common::Point &pt); void checkPhoneCall(); - void doEvidDisplay(int v1, int v2); + void doEvidDisplay(int evidId, int eventId); /** * Flips the active page and waits until it's drawn diff --git a/engines/voyeur/voyeur_game.cpp b/engines/voyeur/voyeur_game.cpp index 8bb1bded9c..f0e81e90f5 100644 --- a/engines/voyeur/voyeur_game.cpp +++ b/engines/voyeur/voyeur_game.cpp @@ -571,7 +571,7 @@ void VoyeurEngine::doTapePlaying() { _soundManager.startVOCPlay("vcr.voc"); while (!shouldQuit() && !_voy._incriminate && _soundManager.getVOCStatus()) { - _eventsManager.delay(2); + _eventsManager.delayClick(2); } _soundManager.stopVOCPlay(); @@ -1073,7 +1073,7 @@ void VoyeurEngine::checkPhoneCall() { } } -void VoyeurEngine::doEvidDisplay(int v1, int v2) { +void VoyeurEngine::doEvidDisplay(int evidId, int eventId) { _eventsManager.getMouseInfo(); flipPageAndWait(); @@ -1082,7 +1082,81 @@ void VoyeurEngine::doEvidDisplay(int v1, int v2) { _soundManager.stopVOCPlay(); } - error("TODO: doEvidDisplay"); + _bVoy->getBoltGroup(_voy._field47A); + PictureResource *pic = _bVoy->boltEntry(_voy._field47A + evidId * 2)._picResource; + _graphicsManager.sDrawPic(pic, *_graphicsManager._vPort, Common::Point( + 384 - pic->_bounds.width() / 2, 240 - pic->_bounds.height() / 2)); + _bVoy->freeBoltMember(_voy._field47A + evidId * 2); + + CMapResource *pal = _bVoy->boltEntry(_voy._field47A + evidId * 2 + 1)._cMapResource; + pal->startFade(); + + while (!shouldQuit() && (_eventsManager._fadeStatus & 1)) + _eventsManager.delay(1); + _bVoy->freeBoltMember(_voy._field47A + evidId * 2 + 1); + + byte *dataP = _bVoy->memberAddr(_playStamp1 + 4); + int count = (int16)READ_LE_UINT16(dataP + evidId * 12 + 4); + + if (count > 0) { + for (int idx = 1; idx <= count; ++idx) { + _voy._evPicPtrs[idx - 1] = _bVoy->boltEntry(_voy._field47A + + (evidId + idx) * 2)._picResource; + _voy._evCmPtrs[idx - 1] = _bVoy->boltEntry(_voy._field47A + + (evidId + idx) * 2 + 1)._cMapResource; + } + } + + flipPageAndWait(); + _eventsManager.stopEvidDim(); + + if (eventId == 999) + _eventsManager.addEvidEventStart(eventId); + + _eventsManager.getMouseInfo(); + + int arrIndex = 0; + bool breakFlag = _voy._fadeFunc != NULL; + int evidIdx = evidId; + + while (!shouldQuit() && !breakFlag) { + if (_playStamp2 != -1 && !_soundManager.getVOCStatus()) { + if (_voy._vocSecondsOffset > 60) + _voy._vocSecondsOffset = 0; + + _soundManager.startVOCPlay(_playStamp2); + } + + _eventsManager.delay(600); + if (_voy._fadeFunc) + break; + if (count == 0 || evidIdx >= eventId) + continue; + + PictureResource *pic = _voy._evPicPtrs[arrIndex]; + _graphicsManager.sDrawPic(pic, *_graphicsManager._vPort, + Common::Point((384 - pic->_bounds.width()) / 2, + (240 - pic->_bounds.height()) / 2)); + _voy._evCmPtrs[arrIndex]->startFade(); + while (!shouldQuit() && (_eventsManager._fadeStatus & 1)) + _eventsManager.delay(1); + + flipPageAndWait(); + _eventsManager.delay(6); + + ++evidIdx; + ++arrIndex; + --count; + } + + if (eventId != 999) + _eventsManager.addEvidEventEnd(evidIdx); + + count = (int16)READ_LE_UINT16(dataP + evidId * 12 + 4); + for (int idx = 1; idx <= count; ++idx) { + _bVoy->freeBoltGroup(_voy._field47A + (evidId + idx) * 2); + _bVoy->freeBoltGroup(_voy._field47A + (evidId + idx) * 2 + 1); + } } } // End of namespace Voyeur -- cgit v1.2.3 From f01ff9a938acbaaaf04b553b4b65b2a98eb0f684 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Sat, 28 Dec 2013 18:45:32 +1100 Subject: VOYEUR: Further replacement of page flip code with flipPageAndWait calls --- engines/voyeur/graphics.cpp | 5 +---- engines/voyeur/voyeur.cpp | 49 ++++++++++----------------------------------- 2 files changed, 12 insertions(+), 42 deletions(-) diff --git a/engines/voyeur/graphics.cpp b/engines/voyeur/graphics.cpp index 47c7293322..f6829b45ea 100644 --- a/engines/voyeur/graphics.cpp +++ b/engines/voyeur/graphics.cpp @@ -686,11 +686,8 @@ void GraphicsManager::screenReset() { _backgroundPage = NULL; (*_vPort)->setupViewPort(); fillPic(*_vPort, 0); - (*_vPort)->_parent->_flags |= DISPFLAG_8; - // Flip - flipPage(); - _vm->_eventsManager.sWaitFlip(); + _vm->flipPageAndWait(); } void GraphicsManager::fadeDownICF1(int steps) { diff --git a/engines/voyeur/voyeur.cpp b/engines/voyeur/voyeur.cpp index 76aa8fe1ef..7778614f35 100644 --- a/engines/voyeur/voyeur.cpp +++ b/engines/voyeur/voyeur.cpp @@ -212,10 +212,7 @@ bool VoyeurEngine::doHeadTitle() { void VoyeurEngine::showConversionScreen() { _graphicsManager._backgroundPage = _bVoy->boltEntry(0x502)._picResource; (*_graphicsManager._vPort)->setupViewPort(); - (*_graphicsManager._vPort)->_flags |= DISPFLAG_8; - - _graphicsManager.flipPage(); - _eventsManager.sWaitFlip(); + flipPageAndWait(); // Immediate palette load to show the initial screen CMapResource *cMap = _bVoy->getCMapResource(0x503); @@ -235,12 +232,7 @@ void VoyeurEngine::showConversionScreen() { if (shouldQuit()) return; - (*_graphicsManager._vPort)->_flags |= DISPFLAG_8; - _graphicsManager.flipPage(); - _eventsManager.sWaitFlip(); - - while (!shouldQuit() && (_eventsManager._fadeStatus & 1)) - _eventsManager.delayClick(1); + flipPageAndWaitForFade(); _graphicsManager.screenReset(); _bVoy->freeBoltGroup(0x500); @@ -309,9 +301,7 @@ bool VoyeurEngine::doLock() { bool breakFlag = false; while (!breakFlag && !shouldQuit()) { (*_graphicsManager._vPort)->setupViewPort(); - (*_graphicsManager._vPort)->_parent->_flags |= DISPFLAG_8; - _graphicsManager.flipPage(); - _eventsManager.sWaitFlip(); + flipPageAndWait(); // Display the last play time _graphicsManager._fontPtr->_pos = Common::Point(0, 97); @@ -320,9 +310,7 @@ bool VoyeurEngine::doLock() { _graphicsManager._fontPtr->_justifyHeight = 97; (*_graphicsManager._vPort)->drawText(displayString); - (*_graphicsManager._vPort)->_parent->_flags |= DISPFLAG_8; - _graphicsManager.flipPage(); - _eventsManager.sWaitFlip(); + flipPageAndWait(); if (firstLoop) { firstLoop = false; @@ -411,9 +399,7 @@ bool VoyeurEngine::doLock() { } _graphicsManager.fillPic(*_graphicsManager._vPort); - (*_graphicsManager._vPort)->_parent->_flags |= DISPFLAG_8; - _graphicsManager.flipPage(); - _eventsManager.sWaitFlip(); + flipPageAndWait(); _graphicsManager.resetPalette(); if (flag && result) @@ -437,9 +423,7 @@ void VoyeurEngine::showTitleScreen() { _graphicsManager._backgroundPage = _bVoy->getPictureResource(0x500); (*_graphicsManager._vPort)->setupViewPort(); - (*_graphicsManager._vPort)->_flags |= DISPFLAG_8; - _graphicsManager.flipPage(); - _eventsManager.sWaitFlip(); + flipPageAndWait(); // Immediate palette load to show the initial screen CMapResource *cMap = _bVoy->getCMapResource(0x501); @@ -457,12 +441,7 @@ void VoyeurEngine::showTitleScreen() { cMap->_steps = 30; cMap->startFade(); - (*_graphicsManager._vPort)->_flags |= DISPFLAG_8; - _graphicsManager.flipPage(); - _eventsManager.sWaitFlip(); - - while (!shouldQuit() && (_eventsManager._fadeStatus & 1)) - _eventsManager.delay(1); + flipPageAndWaitForFade(); if (shouldQuit()) return; @@ -508,9 +487,7 @@ void VoyeurEngine::doOpening() { _eventsManager._intPtr.field38 = 1; _eventsManager._intPtr._hasPalette = true; (*_graphicsManager._vPort)->setupViewPort(); - (*_graphicsManager._vPort)->_parent->_flags |= DISPFLAG_8; - _graphicsManager.flipPage(); - _eventsManager.sWaitFlip(); + flipPageAndWait(); ::Video::RL2Decoder decoder; decoder.loadFile("a2300100.rl2"); @@ -622,9 +599,7 @@ void VoyeurEngine::doTransitionCard(const Common::String &time, const Common::St _graphicsManager.flipPage(); _eventsManager.sWaitFlip(); - (*_graphicsManager._vPort)->_parent->_flags |= DISPFLAG_8; - _graphicsManager.flipPage(); - _eventsManager.sWaitFlip(); + flipPageAndWait(); (*_graphicsManager._vPort)->fillPic(128); FontInfoResource &fi = *_graphicsManager._fontPtr; @@ -647,9 +622,7 @@ void VoyeurEngine::doTransitionCard(const Common::String &time, const Common::St (*_graphicsManager._vPort)->drawText(location); } - (*_graphicsManager._vPort)->_parent->_flags |= DISPFLAG_8; - _graphicsManager.flipPage(); - _eventsManager.sWaitFlip(); + flipPageAndWait(); } void VoyeurEngine::playAVideo(int id) { @@ -665,7 +638,7 @@ void VoyeurEngine::saveLastInplay() { } void VoyeurEngine::flipPageAndWait() { - (*_graphicsManager._vPort)->_flags |= 8; + (*_graphicsManager._vPort)->_flags |= DISPFLAG_8; _graphicsManager.flipPage(); _eventsManager.sWaitFlip(); } -- cgit v1.2.3 From f88c4727781b6e6eea4a8a5a7dd09ae90e55ba68 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Sat, 28 Dec 2013 19:53:00 +1100 Subject: VOYEUR: Fixed naming of mouse state flags --- engines/voyeur/events.cpp | 14 ++++++++------ engines/voyeur/events.h | 10 ++++------ engines/voyeur/files_threads.cpp | 34 +++++++++++++++++----------------- engines/voyeur/voyeur.cpp | 14 +++++++------- engines/voyeur/voyeur_game.cpp | 33 ++++++++++++++++----------------- 5 files changed, 52 insertions(+), 53 deletions(-) diff --git a/engines/voyeur/events.cpp b/engines/voyeur/events.cpp index b5643e44e6..94f137e569 100644 --- a/engines/voyeur/events.cpp +++ b/engines/voyeur/events.cpp @@ -218,7 +218,7 @@ void EventsManager::delayClick(int cycles) { uint32 delayEnd = g_system->getMillis() + totalMilli; while (!_vm->shouldQuit() && g_system->getMillis() < delayEnd - && !_vm->_voy._incriminate) { + && !_vm->_voy._mouseClicked) { g_system->delayMillis(10); pollEvents(); @@ -244,17 +244,19 @@ void EventsManager::pollEvents() { return; case Common::EVENT_LBUTTONDOWN: _mouseButton = 1; + _vm->_voy._newLeftClick = true; _vm->_voy._newMouseClicked = true; - _vm->_voy._newIncriminate = true; return; case Common::EVENT_RBUTTONDOWN: _mouseButton = 2; + _vm->_voy._newRightClick = true; _vm->_voy._newMouseClicked = true; return; case Common::EVENT_LBUTTONUP: case Common::EVENT_RBUTTONUP: _vm->_voy._newMouseClicked = false; - _vm->_voy._newIncriminate = false; + _vm->_voy._newLeftClick = false; + _vm->_voy._newRightClick = false; _mouseButton = 0; return; case Common::EVENT_MOUSEMOVE: @@ -456,10 +458,10 @@ void EventsManager::getMouseInfo() { } } - _vm->_voy._incriminate = _vm->_voy._newIncriminate; _vm->_voy._mouseClicked = _vm->_voy._newMouseClicked; - _vm->_voy._fadeFunc = _vm->_voy._newFadeFunc; - _vm->_voy._fadeICF1 = _vm->_voy._newFadeICF1; + _vm->_voy._leftClick = _vm->_voy._newLeftClick; + _vm->_voy._rightClick = _vm->_voy._newRightClick; + _vm->_voy._mouseUnk = _vm->_voy._newMouseUnk; } void EventsManager::checkForKey() { diff --git a/engines/voyeur/events.h b/engines/voyeur/events.h index 1e4559c65b..6b7d4e8682 100644 --- a/engines/voyeur/events.h +++ b/engines/voyeur/events.h @@ -125,17 +125,15 @@ public: int _curICF0; int _curICF1; int _fadeICF0; - int _fadeICF1; - void (*_fadeFunc)(); + bool _leftClick, _rightClick; bool _mouseClicked; - int _incriminate; + bool _mouseUnk; int _policeEvent; // Fields not originally in _voy, but I'm putting in for convenience - int _newIncriminate; bool _newMouseClicked; - int _newFadeICF1; - void (*_newFadeFunc)(); + bool _newLeftClick, _newRightClick; + bool _newMouseUnk; }; class IntData { diff --git a/engines/voyeur/files_threads.cpp b/engines/voyeur/files_threads.cpp index 944c9db558..49b271e79c 100644 --- a/engines/voyeur/files_threads.cpp +++ b/engines/voyeur/files_threads.cpp @@ -406,7 +406,7 @@ void ThreadResource::parsePlayCommands() { _vm->_voy._field478 |= 16; _vm->_eventsManager.startCursorBlink(); - while (!_vm->shouldQuit() && !_vm->_voy._incriminate && + while (!_vm->shouldQuit() && !_vm->_voy._mouseClicked && _vm->_soundManager.getVOCStatus()) _vm->_eventsManager.delayClick(1); @@ -460,7 +460,7 @@ void ThreadResource::parsePlayCommands() { } _vm->_eventsManager._videoDead = -1; - if (_field42 == 2 && _vm->_voy._incriminate == 0) { + if (_field42 == 2 && _vm->_voy._mouseClicked == 0) { _vm->_voy._field470 = 132; parseIndex = 999; } else { @@ -515,7 +515,7 @@ void ThreadResource::parsePlayCommands() { Common::String file = Common::String::format("news%d.voc", i + 1); _vm->_soundManager.startVOCPlay(file); - while (!_vm->shouldQuit() && !_vm->_voy._incriminate && + while (!_vm->shouldQuit() && !_vm->_voy._mouseClicked && _vm->_soundManager.getVOCStatus()) { _vm->_eventsManager.delayClick(1); _vm->_eventsManager.getMouseInfo(); @@ -526,7 +526,7 @@ void ThreadResource::parsePlayCommands() { if (i == (count - 1)) _vm->_eventsManager.delay(480); - if (_vm->shouldQuit() || _vm->_voy._incriminate) + if (_vm->shouldQuit() || _vm->_voy._mouseClicked) break; } @@ -706,7 +706,7 @@ void ThreadResource::parsePlayCommands() { Common::String fname = Common::String::format("news%d.voc", idx); - while (!_vm->shouldQuit() && !_vm->_voy._incriminate && + while (!_vm->shouldQuit() && !_vm->_voy._mouseClicked && _vm->_soundManager.getVOCStatus()) _vm->_eventsManager.delay(1); @@ -714,7 +714,7 @@ void ThreadResource::parsePlayCommands() { if (idx == 3) _vm->_eventsManager.delay(3); - if (_vm->shouldQuit() || _vm->_voy._incriminate) + if (_vm->shouldQuit() || _vm->_voy._mouseClicked) break; } @@ -1107,7 +1107,7 @@ int ThreadResource::doApt() { _vm->flipPageAndWait(); - } while (!_vm->shouldQuit() && (!_vm->_voy._mouseClicked || hotspotId == -1)); + } while (!_vm->shouldQuit() && (!_vm->_voy._leftClick || hotspotId == -1)); pt = _vm->_eventsManager.getMousePos(); _doAptPosX = pt.x; @@ -1231,10 +1231,10 @@ void ThreadResource::doRoom() { vm._eventsManager._intPtr._hasPalette = true; vm._graphicsManager.flipPage(); vm._eventsManager.sWaitFlip(); - } while (!vm.shouldQuit() && !voy._incriminate); + } while (!vm.shouldQuit() && !voy._mouseClicked); - if (!voy._mouseClicked || i4e4 == -1) { - if (voy._fadeFunc) + if (!voy._leftClick || i4e4 == -1) { + if (voy._rightClick) breakFlag = true; Common::Point pt = vm._eventsManager.getMousePos(); @@ -1258,7 +1258,7 @@ void ThreadResource::doRoom() { vm._eventsManager.addComputerEventStart(); - voy._incriminate = false; + voy._mouseClicked = false; vm._eventsManager.startCursorBlink(); int v = vm.doComputerText(9999); @@ -1271,7 +1271,7 @@ void ThreadResource::doRoom() { } voy._field478 &= ~0x10; - if (!voy._incriminate) + if (!voy._mouseClicked) vm._eventsManager.delayClick(18000); vm._bVoy->freeBoltGroup(vm._playStamp1); @@ -1487,7 +1487,7 @@ int ThreadResource::doInterface() { pt = _vm->_eventsManager.getMousePos(); if ((_vm->_voy._field476 <= _vm->_voy._RTVNum) || ((_vm->_voy._field478 & 0x80) && - (_vm->_voy._fadeFunc != NULL) && (pt.x == 0))) { + (_vm->_voy._rightClick != NULL) && (pt.x == 0))) { _vm->_eventsManager.getMouseInfo(); if (_vm->_voy._transitionId == 15) { @@ -1495,7 +1495,7 @@ int ThreadResource::doInterface() { _vm->_voy._transitionId = 17; _vm->_soundManager.stopVOCPlay(); _vm->checkTransition(); - _vm->_voy._mouseClicked = true; + _vm->_voy._leftClick = true; } else { _vm->_voy._field478 = 1; _currentMouseX = pt.x; @@ -1518,15 +1518,15 @@ int ThreadResource::doInterface() { _vm->_eventsManager._intPtr.field1A = 0; } } - } while (!_vm->_voy._fadeFunc && !_vm->shouldQuit() && - (!_vm->_voy._mouseClicked || regionIndex == -1)); + } while (!_vm->_voy._rightClick && !_vm->shouldQuit() && + (!_vm->_voy._leftClick || regionIndex == -1)); _vm->_voy._field478 |= 1; _vm->_bVoy->freeBoltGroup(_vm->_playStamp1); if (_vm->_playStamp2 != -1) _vm->_soundManager.stopVOCPlay(); - return !_vm->_voy._fadeFunc ? regionIndex : -2; + return !_vm->_voy._rightClick ? regionIndex : -2; } bool ThreadResource::goToStateID(int stackId, int sceneId) { diff --git a/engines/voyeur/voyeur.cpp b/engines/voyeur/voyeur.cpp index 7778614f35..966ce77e20 100644 --- a/engines/voyeur/voyeur.cpp +++ b/engines/voyeur/voyeur.cpp @@ -184,12 +184,12 @@ bool VoyeurEngine::doHeadTitle() { // showTitleScreen(); // Opening - if (!_voy._incriminate) { + if (!_voy._mouseClicked) { // doOpening(); // doTransitionCard("Saturday Afternoon", "Player's Apartment"); _eventsManager.delayClick(90); } else { - _voy._incriminate = false; + _voy._mouseClicked = false; } if (_voy._field478 & 0x80) { @@ -341,8 +341,8 @@ bool VoyeurEngine::doLock() { _eventsManager._intPtr._hasPalette = true; _eventsManager.delay(1); - } while (!shouldQuit() && !_voy._incriminate); - _voy._incriminate = false; + } while (!shouldQuit() && !_voy._mouseClicked); + _voy._mouseClicked = false; } while (!shouldQuit() && key == -1); _soundManager.abortVOCMap(); @@ -493,7 +493,7 @@ void VoyeurEngine::doOpening() { decoder.loadFile("a2300100.rl2"); decoder.start(); - while (!shouldQuit() && !decoder.endOfVideo() && !_voy._incriminate) { + while (!shouldQuit() && !decoder.endOfVideo() && !_voy._mouseClicked) { if (decoder.hasDirtyPalette()) { const byte *palette = decoder.getPalette(); _graphicsManager.setPalette(palette, 0, 256); @@ -517,7 +517,7 @@ void VoyeurEngine::playRL2Video(const Common::String &filename) { decoder.loadFile(filename); decoder.start(); - while (!shouldQuit() && !decoder.endOfVideo() && !_voy._incriminate) { + while (!shouldQuit() && !decoder.endOfVideo() && !_voy._mouseClicked) { if (decoder.hasDirtyPalette()) { const byte *palette = decoder.getPalette(); _graphicsManager.setPalette(palette, 0, 256); @@ -554,7 +554,7 @@ void VoyeurEngine::playAVideoDuration(int videoId, int duration) { decoder.seek(Audio::Timestamp(_voy._vocSecondsOffset * 1000)); int endFrame = decoder.getCurFrame() + totalFrames; - while (!shouldQuit() && !decoder.endOfVideo() && !_voy._incriminate && + while (!shouldQuit() && !decoder.endOfVideo() && !_voy._mouseClicked && (decoder.getCurFrame() < endFrame)) { if (decoder.hasDirtyPalette()) { const byte *palette = decoder.getPalette(); diff --git a/engines/voyeur/voyeur_game.cpp b/engines/voyeur/voyeur_game.cpp index f0e81e90f5..a7fab19ad1 100644 --- a/engines/voyeur/voyeur_game.cpp +++ b/engines/voyeur/voyeur_game.cpp @@ -143,7 +143,7 @@ void VoyeurEngine::playStamp() { _graphicsManager._backColors = _bVoy->boltEntry(_playStamp1 + 1)._cMapResource; buttonId = getChooseButton(); - if (_voy._fadeFunc) + if (_voy._rightClick) buttonId = 4; _bVoy->freeBoltGroup(_playStamp1); @@ -349,7 +349,7 @@ void VoyeurEngine::reviewTape() { if ((tempPos.y - 31) % 15 >= 12 || (si + foundIndex) >= _voy._eventCount) { _eventsManager.setCursorColor(128, 0); foundIndex = 999; - } else if (!_voy._mouseClicked) { + } else if (!_voy._leftClick) { _eventsManager.setCursorColor(128, 2); foundIndex = 999; } else { @@ -408,7 +408,7 @@ void VoyeurEngine::reviewTape() { _eventsManager._intPtr.field38 = true; _eventsManager._intPtr._hasPalette = true; - if (_voy._incriminate || _voy._fadeICF1) { + if (_voy._mouseClicked || _voy._mouseUnk) { switch (foundIndex) { case 2: if (si > 0) { @@ -455,17 +455,17 @@ void VoyeurEngine::reviewTape() { } pt = _eventsManager.getMousePos(); - if (_voy._incriminate && _voy._viewBounds->left == pt.x && - (_voy._field478 & 0x40) && _voy._fadeFunc) { + if (_voy._mouseClicked && _voy._viewBounds->left == pt.x && + (_voy._field478 & 0x40) && _voy._rightClick) { WRITE_LE_UINT32(_controlPtr->_ptr + 4, (pt.y / 60) + 1); foundIndex = -1; - _voy._fadeFunc = 0; + _voy._rightClick = 0; } - if (_voy._fadeFunc) + if (_voy._rightClick) foundIndex = 0; - } while (!shouldQuit() && (!_voy._incriminate || foundIndex == -1)); + } while (!shouldQuit() && (!_voy._mouseClicked || foundIndex == -1)); @@ -503,7 +503,7 @@ void VoyeurEngine::doGossip() { // Main playback loop int picCtr = 0; decoder.start(); - while (!shouldQuit() && !decoder.endOfVideo() && !_voy._incriminate) { + while (!shouldQuit() && !decoder.endOfVideo() && !_voy._mouseClicked) { if (decoder.hasDirtyPalette()) { const byte *palette = decoder.getPalette(); _graphicsManager.setPalette(palette, 0, 256); @@ -532,7 +532,7 @@ void VoyeurEngine::doGossip() { decoder.loadFile("a2110100.rl2"); decoder.start(); - while (!shouldQuit() && !decoder.endOfVideo() && !_voy._incriminate) { + while (!shouldQuit() && !decoder.endOfVideo() && !_voy._mouseClicked) { if (decoder.hasDirtyPalette()) { const byte *palette = decoder.getPalette(); _graphicsManager.setPalette(palette, 0, 256); @@ -570,7 +570,7 @@ void VoyeurEngine::doTapePlaying() { cycle->vStartCycle(); _soundManager.startVOCPlay("vcr.voc"); - while (!shouldQuit() && !_voy._incriminate && _soundManager.getVOCStatus()) { + while (!shouldQuit() && !_voy._mouseClicked && _soundManager.getVOCStatus()) { _eventsManager.delayClick(2); } @@ -733,8 +733,8 @@ int VoyeurEngine::getChooseButton() { Common::Point(pt.x + 13, pt.y - 12)); flipPageAndWait(); - } while (!shouldQuit() && !_voy._incriminate); - } while (!shouldQuit() && selectedIndex == -1 && !_voy._fadeFunc); + } while (!shouldQuit() && !_voy._mouseClicked); + } while (!shouldQuit() && selectedIndex == -1 && !_voy._rightClick); return selectedIndex; } @@ -991,7 +991,7 @@ bool VoyeurEngine::doComputerText(int maxLen) { _eventsManager.getMouseInfo(); ++totalChars; - } while (!shouldQuit() && !_voy._incriminate && totalChars < maxLen); + } while (!shouldQuit() && !_voy._mouseClicked && totalChars < maxLen); _voy._field4EE = 0; } @@ -1116,10 +1116,9 @@ void VoyeurEngine::doEvidDisplay(int evidId, int eventId) { _eventsManager.getMouseInfo(); int arrIndex = 0; - bool breakFlag = _voy._fadeFunc != NULL; int evidIdx = evidId; - while (!shouldQuit() && !breakFlag) { + while (!shouldQuit() && !_voy._rightClick) { if (_playStamp2 != -1 && !_soundManager.getVOCStatus()) { if (_voy._vocSecondsOffset > 60) _voy._vocSecondsOffset = 0; @@ -1128,7 +1127,7 @@ void VoyeurEngine::doEvidDisplay(int evidId, int eventId) { } _eventsManager.delay(600); - if (_voy._fadeFunc) + if (_voy._rightClick) break; if (count == 0 || evidIdx >= eventId) continue; -- cgit v1.2.3 From 8fa75375d417ee8b52b6b0ca71d58771c5093e16 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Sat, 28 Dec 2013 20:32:17 +1100 Subject: VOYEUR: Bugfixes for doEvidDisplay --- engines/voyeur/events.cpp | 14 +++++++++----- engines/voyeur/voyeur_game.cpp | 4 ++-- 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/engines/voyeur/events.cpp b/engines/voyeur/events.cpp index 94f137e569..6b2b49639a 100644 --- a/engines/voyeur/events.cpp +++ b/engines/voyeur/events.cpp @@ -217,12 +217,11 @@ void EventsManager::delayClick(int cycles) { uint32 totalMilli = cycles * 1000 / GAME_FRAME_RATE; uint32 delayEnd = g_system->getMillis() + totalMilli; - while (!_vm->shouldQuit() && g_system->getMillis() < delayEnd - && !_vm->_voy._mouseClicked) { + do { g_system->delayMillis(10); - - pollEvents(); - } + getMouseInfo(); + } while (!_vm->shouldQuit() && g_system->getMillis() < delayEnd + && !_vm->_voy._mouseClicked); } void EventsManager::pollEvents() { @@ -462,6 +461,11 @@ void EventsManager::getMouseInfo() { _vm->_voy._leftClick = _vm->_voy._newLeftClick; _vm->_voy._rightClick = _vm->_voy._newRightClick; _vm->_voy._mouseUnk = _vm->_voy._newMouseUnk; + + _vm->_voy._newMouseClicked = false; + _vm->_voy._newLeftClick = false; + _vm->_voy._newRightClick = false; + _vm->_voy._mouseUnk = false; } void EventsManager::checkForKey() { diff --git a/engines/voyeur/voyeur_game.cpp b/engines/voyeur/voyeur_game.cpp index a7fab19ad1..7ea19109ff 100644 --- a/engines/voyeur/voyeur_game.cpp +++ b/engines/voyeur/voyeur_game.cpp @@ -1085,7 +1085,7 @@ void VoyeurEngine::doEvidDisplay(int evidId, int eventId) { _bVoy->getBoltGroup(_voy._field47A); PictureResource *pic = _bVoy->boltEntry(_voy._field47A + evidId * 2)._picResource; _graphicsManager.sDrawPic(pic, *_graphicsManager._vPort, Common::Point( - 384 - pic->_bounds.width() / 2, 240 - pic->_bounds.height() / 2)); + (384 - pic->_bounds.width()) / 2, (240 - pic->_bounds.height()) / 2)); _bVoy->freeBoltMember(_voy._field47A + evidId * 2); CMapResource *pal = _bVoy->boltEntry(_voy._field47A + evidId * 2 + 1)._cMapResource; @@ -1126,7 +1126,7 @@ void VoyeurEngine::doEvidDisplay(int evidId, int eventId) { _soundManager.startVOCPlay(_playStamp2); } - _eventsManager.delay(600); + _eventsManager.delayClick(600); if (_voy._rightClick) break; if (count == 0 || evidIdx >= eventId) -- cgit v1.2.3 From aa42e7d2bdd9f368ca9941309a19027afe54a30f Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Sat, 28 Dec 2013 20:40:53 +1100 Subject: VOYEUR: Fix data needed for drawDot --- engines/voyeur/staticres.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/engines/voyeur/staticres.cpp b/engines/voyeur/staticres.cpp index 1ce8a74141..d0f590eab3 100644 --- a/engines/voyeur/staticres.cpp +++ b/engines/voyeur/staticres.cpp @@ -117,7 +117,7 @@ const char *const END_OF_MESSAGE = "*** End of Message ***"; const char *const EVENT_TYPE_STRINGS[4] = { "Video", "Audio" "Evidence", "Computer" }; int DOT_LINE_START[9] = { - 0E880, 0xE9C0, 0xEB00, 0xEC40, 0xED80, 0xEEC0, 0xF000, 0xF140, 0xF280 + 0xE880, 0xE9C0, 0xEB00, 0xEC40, 0xED80, 0xEEC0, 0xF000, 0xF140, 0xF280 }; int DOT_LINE_OFFSET[9] = { 144, 143, 142, 141, 141, 141, 142, 143, 144 -- cgit v1.2.3 From d763f838622c010a4ebd8ecfc2be183b1eb5271f Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Sat, 28 Dec 2013 20:53:33 +1100 Subject: VOYEUR: Fixes for mouse cursor calls --- engines/voyeur/events.cpp | 8 ++------ engines/voyeur/events.h | 3 +-- engines/voyeur/files_threads.cpp | 2 +- engines/voyeur/graphics.cpp | 2 +- engines/voyeur/voyeur.cpp | 4 ++-- 5 files changed, 7 insertions(+), 12 deletions(-) diff --git a/engines/voyeur/events.cpp b/engines/voyeur/events.cpp index 6b2b49639a..469d80cc6e 100644 --- a/engines/voyeur/events.cpp +++ b/engines/voyeur/events.cpp @@ -426,16 +426,12 @@ void EventsManager::setCursorColor(int idx, int mode) { } } -void EventsManager::mouseOn() { +void EventsManager::showCursor() { CursorMan.showMouse(true); } -void EventsManager::mouseOff() { - CursorMan.showMouse(false); -} - void EventsManager::hideCursor() { - error("TODO: hideCursor"); + CursorMan.showMouse(false); } void EventsManager::getMouseInfo() { diff --git a/engines/voyeur/events.h b/engines/voyeur/events.h index 6b7d4e8682..3d1c5779e5 100644 --- a/engines/voyeur/events.h +++ b/engines/voyeur/events.h @@ -217,8 +217,7 @@ public: void setCursor(PictureResource *pic); void setCursor(byte *cursorData, int width, int height); void setCursorColor(int idx, int mode); - void mouseOn(); - void mouseOff(); + void showCursor(); void hideCursor(); Common::Point getMousePos() { return _mousePos; } void getMouseInfo(); diff --git a/engines/voyeur/files_threads.cpp b/engines/voyeur/files_threads.cpp index 49b271e79c..6b2b26860d 100644 --- a/engines/voyeur/files_threads.cpp +++ b/engines/voyeur/files_threads.cpp @@ -1280,7 +1280,7 @@ void ThreadResource::doRoom() { pic1 = vm._bVoy->boltEntry(vm._playStamp1 + 2)._picResource; pic2 = vm._bVoy->boltEntry(vm._playStamp1 + 3)._picResource; vm._graphicsManager._backColors = vm._bVoy->boltEntry( - vm._playStamp1 + 2)._cMapResource; + vm._playStamp1 + 1)._cMapResource; vm._graphicsManager._backgroundPage = vm._bVoy->boltEntry( vm._playStamp1)._picResource; diff --git a/engines/voyeur/graphics.cpp b/engines/voyeur/graphics.cpp index f6829b45ea..f189d2b699 100644 --- a/engines/voyeur/graphics.cpp +++ b/engines/voyeur/graphics.cpp @@ -718,7 +718,7 @@ void GraphicsManager::fadeUpICF1(int steps) { void GraphicsManager::fadeDownICF(int steps) { if (steps > 0) { - _vm->_eventsManager.mouseOff(); + _vm->_eventsManager.hideCursor(); int stepAmount1 = _vm->_voy._field4376 / steps; int stepAmount2 = _vm->_voy._field4378 / steps; diff --git a/engines/voyeur/voyeur.cpp b/engines/voyeur/voyeur.cpp index 966ce77e20..f4b83e589a 100644 --- a/engines/voyeur/voyeur.cpp +++ b/engines/voyeur/voyeur.cpp @@ -285,7 +285,7 @@ bool VoyeurEngine::doLock() { // Set up the cursor _eventsManager.setCursor(cursorPic); - _eventsManager.mouseOn(); + _eventsManager.showCursor(); _eventsManager._intPtr. field38 = 1; _eventsManager._intPtr._hasPalette = true; @@ -410,7 +410,7 @@ bool VoyeurEngine::doLock() { _bVoy->freeBoltGroup(0x700); } - _eventsManager.mouseOff(); + _eventsManager.hideCursor(); delete[] buttonVoc; delete[] wrongVoc; -- cgit v1.2.3 From 2c0a94d174e38ec13b52622e0a79cd9566ac6e35 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Sat, 28 Dec 2013 21:17:57 +1100 Subject: VOYEUR: Fix right click to exit room closeups --- engines/voyeur/voyeur_game.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/engines/voyeur/voyeur_game.cpp b/engines/voyeur/voyeur_game.cpp index 7ea19109ff..8a228874f1 100644 --- a/engines/voyeur/voyeur_game.cpp +++ b/engines/voyeur/voyeur_game.cpp @@ -101,6 +101,7 @@ void VoyeurEngine::playStamp() { case 6: threadP->doRoom(); + flag = true; break; case 16: -- cgit v1.2.3 From 1256fb6b666a36fbbd8f3223d2c776bca9a3ca83 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Sun, 29 Dec 2013 09:54:40 +1100 Subject: VOYEUR: Add support for creating a PictureResource from a Graphics::Surface --- engines/voyeur/files.cpp | 21 ++++++++++++++++++--- engines/voyeur/files.h | 1 + 2 files changed, 19 insertions(+), 3 deletions(-) diff --git a/engines/voyeur/files.cpp b/engines/voyeur/files.cpp index 2602ace735..9d86c66c2e 100644 --- a/engines/voyeur/files.cpp +++ b/engines/voyeur/files.cpp @@ -697,10 +697,12 @@ bool BoltEntry::hasResource() const { /*------------------------------------------------------------------------*/ RectResource::RectResource(const byte *src, int size) { - int count = 1; - if (size != 8) { + int count; + if ((size % 8) == 2) { count = READ_LE_UINT16(src); src += 2; + } else { + count = size / 8; } for (int i = 0; i < count; ++i, src += 8) { @@ -815,6 +817,19 @@ PictureResource::PictureResource(BoltFilesState &state, const byte *src) { } } +PictureResource::PictureResource(Graphics::Surface *surface) { + _flags = 0; + _select = 0; + _pick = 0; + _onOff = 0; + _depth = 0; + _maskData = 0; + _planeSize = 0; + + _bounds = Common::Rect(0, 0, surface->w, surface->h); + _imgData = (byte *)surface->getPixels(); +} + PictureResource::PictureResource() { _flags = 0; _select = 0; @@ -967,7 +982,7 @@ void ViewPortResource::setupViewPort(PictureResource *page, Common::Rect *clipRe if (yDiff > 0) r.setHeight(yDiff <= r.height() ? r.height() - yDiff : 0); } -// clip = (0x20, 0x14, width: 0x140, height: 0C8h + _activePage = page; _field18 = 0; _clipRect = r; diff --git a/engines/voyeur/files.h b/engines/voyeur/files.h index 8ccfab8a20..832e157b7b 100644 --- a/engines/voyeur/files.h +++ b/engines/voyeur/files.h @@ -274,6 +274,7 @@ public: PictureResource(BoltFilesState &state, const byte *src); PictureResource(int flags, int select, int pick, int onOff, int depth, const Common::Rect &bounds, int maskData, byte *imgData, int planeSize); + PictureResource::PictureResource(Graphics::Surface *surface); PictureResource(); virtual ~PictureResource(); }; -- cgit v1.2.3 From 10af04da6a9a01d2f1ff5febed86c4c5ca6cfb8d Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Sun, 29 Dec 2013 09:58:43 +1100 Subject: VOYEUR: Mouse flags cleanup and in progress work on doGossip --- engines/voyeur/animation.cpp | 13 ++++++-- engines/voyeur/animation.h | 3 +- engines/voyeur/events.cpp | 47 +++++++++++++++------------ engines/voyeur/events.h | 15 ++++----- engines/voyeur/files_threads.cpp | 34 +++++++++---------- engines/voyeur/voyeur.cpp | 14 ++++---- engines/voyeur/voyeur_game.cpp | 70 ++++++++++++++++++++++------------------ 7 files changed, 108 insertions(+), 88 deletions(-) diff --git a/engines/voyeur/animation.cpp b/engines/voyeur/animation.cpp index ce1fc9e2b5..4f8cca5707 100644 --- a/engines/voyeur/animation.cpp +++ b/engines/voyeur/animation.cpp @@ -67,7 +67,7 @@ bool RL2Decoder::loadStream(Common::SeekableReadStream *stream) { } const Common::List *RL2Decoder::getDirtyRects() const { - const Track *track = getTrack(0); + const Track *track = getTrack(1); if (track) return ((const RL2VideoTrack *)track)->getDirtyRects(); @@ -76,19 +76,26 @@ const Common::List *RL2Decoder::getDirtyRects() const { } void RL2Decoder::clearDirtyRects() { - Track *track = getTrack(0); + Track *track = getTrack(1); if (track) ((RL2VideoTrack *)track)->clearDirtyRects(); } void RL2Decoder::copyDirtyRectsToBuffer(uint8 *dst, uint pitch) { - Track *track = getTrack(0); + Track *track = getTrack(1); if (track) ((RL2VideoTrack *)track)->copyDirtyRectsToBuffer(dst, pitch); } +Graphics::Surface *RL2Decoder::getVideoSurface() { + Track *track = getTrack(1); + assert(track); + + return ((RL2VideoTrack *)track)->getSurface(); +} + /*------------------------------------------------------------------------*/ RL2Decoder::RL2FileHeader::RL2FileHeader() { diff --git a/engines/voyeur/animation.h b/engines/voyeur/animation.h index b06e3cb5d9..feaaf2166c 100644 --- a/engines/voyeur/animation.h +++ b/engines/voyeur/animation.h @@ -78,7 +78,7 @@ public: const Common::List *getDirtyRects() const; void clearDirtyRects(); void copyDirtyRectsToBuffer(uint8 *dst, uint pitch); - + Graphics::Surface *getVideoSurface(); private: class RL2AudioTrack : public AudioTrack { public: @@ -112,6 +112,7 @@ private: uint16 getWidth() const; uint16 getHeight() const; + Graphics::Surface *getSurface() { return _surface; } Graphics::PixelFormat getPixelFormat() const; int getCurFrame() const { return _curFrame; } int getFrameCount() const { return _header._numFrames; } diff --git a/engines/voyeur/events.cpp b/engines/voyeur/events.cpp index 469d80cc6e..890eaeaf23 100644 --- a/engines/voyeur/events.cpp +++ b/engines/voyeur/events.cpp @@ -74,6 +74,11 @@ EventsManager::EventsManager(): _intPtr(_gameData), _priorFrameTime = g_system->getMillis(); _joe = 0; Common::fill(&_keyState[0], &_keyState[256], false); + + _leftClick = _rightClick = false; + _mouseClicked = _mouseUnk = false; + _newLeftClick = _newRightClick = false;; + _newMouseClicked = _newMouseUnk = false; _v2A0A2 = 0; _videoComputerBut4 = 0; @@ -106,11 +111,6 @@ void EventsManager::vStopCycle() { } void EventsManager::sWaitFlip() { - while (_gameData._flipWait && !_vm->shouldQuit()) { - pollEvents(); - g_system->delayMillis(10); - } - Common::Array &viewPorts = _vm->_graphicsManager._viewPortListPtr->_entries; for (uint idx = 0; idx < viewPorts.size(); ++idx) { ViewPortResource &viewPort = *viewPorts[idx]; @@ -128,6 +128,11 @@ void EventsManager::sWaitFlip() { viewPort._flags &= ~DISPFLAG_40; } } + + while (_gameData._flipWait && !_vm->shouldQuit()) { + pollEvents(); + g_system->delayMillis(10); + } } void EventsManager::checkForNextFrameCounter() { @@ -221,7 +226,7 @@ void EventsManager::delayClick(int cycles) { g_system->delayMillis(10); getMouseInfo(); } while (!_vm->shouldQuit() && g_system->getMillis() < delayEnd - && !_vm->_voy._mouseClicked); + && !_vm->_eventsManager._mouseClicked); } void EventsManager::pollEvents() { @@ -243,19 +248,19 @@ void EventsManager::pollEvents() { return; case Common::EVENT_LBUTTONDOWN: _mouseButton = 1; - _vm->_voy._newLeftClick = true; - _vm->_voy._newMouseClicked = true; + _vm->_eventsManager._newLeftClick = true; + _vm->_eventsManager._newMouseClicked = true; return; case Common::EVENT_RBUTTONDOWN: _mouseButton = 2; - _vm->_voy._newRightClick = true; - _vm->_voy._newMouseClicked = true; + _vm->_eventsManager._newRightClick = true; + _vm->_eventsManager._newMouseClicked = true; return; case Common::EVENT_LBUTTONUP: case Common::EVENT_RBUTTONUP: - _vm->_voy._newMouseClicked = false; - _vm->_voy._newLeftClick = false; - _vm->_voy._newRightClick = false; + _vm->_eventsManager._newMouseClicked = false; + _vm->_eventsManager._newLeftClick = false; + _vm->_eventsManager._newRightClick = false; _mouseButton = 0; return; case Common::EVENT_MOUSEMOVE: @@ -453,15 +458,15 @@ void EventsManager::getMouseInfo() { } } - _vm->_voy._mouseClicked = _vm->_voy._newMouseClicked; - _vm->_voy._leftClick = _vm->_voy._newLeftClick; - _vm->_voy._rightClick = _vm->_voy._newRightClick; - _vm->_voy._mouseUnk = _vm->_voy._newMouseUnk; + _vm->_eventsManager._mouseClicked = _vm->_eventsManager._newMouseClicked; + _vm->_eventsManager._leftClick = _vm->_eventsManager._newLeftClick; + _vm->_eventsManager._rightClick = _vm->_eventsManager._newRightClick; + _vm->_eventsManager._mouseUnk = _vm->_eventsManager._newMouseUnk; - _vm->_voy._newMouseClicked = false; - _vm->_voy._newLeftClick = false; - _vm->_voy._newRightClick = false; - _vm->_voy._mouseUnk = false; + _vm->_eventsManager._newMouseClicked = false; + _vm->_eventsManager._newLeftClick = false; + _vm->_eventsManager._newRightClick = false; + _vm->_eventsManager._mouseUnk = false; } void EventsManager::checkForKey() { diff --git a/engines/voyeur/events.h b/engines/voyeur/events.h index 3d1c5779e5..487d59e94d 100644 --- a/engines/voyeur/events.h +++ b/engines/voyeur/events.h @@ -125,15 +125,7 @@ public: int _curICF0; int _curICF1; int _fadeICF0; - bool _leftClick, _rightClick; - bool _mouseClicked; - bool _mouseUnk; int _policeEvent; - - // Fields not originally in _voy, but I'm putting in for convenience - bool _newMouseClicked; - bool _newLeftClick, _newRightClick; - bool _newMouseUnk; }; class IntData { @@ -193,6 +185,13 @@ public: int _fadeCount; int _fadeStatus; + bool _leftClick, _rightClick; + bool _mouseClicked; + bool _mouseUnk; + bool _newMouseClicked; + bool _newLeftClick, _newRightClick; + bool _newMouseUnk; + int _v2A0A2; int _videoComputerBut4; int _videoDead; diff --git a/engines/voyeur/files_threads.cpp b/engines/voyeur/files_threads.cpp index 6b2b26860d..1d04ddc44e 100644 --- a/engines/voyeur/files_threads.cpp +++ b/engines/voyeur/files_threads.cpp @@ -406,7 +406,7 @@ void ThreadResource::parsePlayCommands() { _vm->_voy._field478 |= 16; _vm->_eventsManager.startCursorBlink(); - while (!_vm->shouldQuit() && !_vm->_voy._mouseClicked && + while (!_vm->shouldQuit() && !_vm->_eventsManager._mouseClicked && _vm->_soundManager.getVOCStatus()) _vm->_eventsManager.delayClick(1); @@ -460,7 +460,7 @@ void ThreadResource::parsePlayCommands() { } _vm->_eventsManager._videoDead = -1; - if (_field42 == 2 && _vm->_voy._mouseClicked == 0) { + if (_field42 == 2 && _vm->_eventsManager._mouseClicked == 0) { _vm->_voy._field470 = 132; parseIndex = 999; } else { @@ -515,7 +515,7 @@ void ThreadResource::parsePlayCommands() { Common::String file = Common::String::format("news%d.voc", i + 1); _vm->_soundManager.startVOCPlay(file); - while (!_vm->shouldQuit() && !_vm->_voy._mouseClicked && + while (!_vm->shouldQuit() && !_vm->_eventsManager._mouseClicked && _vm->_soundManager.getVOCStatus()) { _vm->_eventsManager.delayClick(1); _vm->_eventsManager.getMouseInfo(); @@ -526,7 +526,7 @@ void ThreadResource::parsePlayCommands() { if (i == (count - 1)) _vm->_eventsManager.delay(480); - if (_vm->shouldQuit() || _vm->_voy._mouseClicked) + if (_vm->shouldQuit() || _vm->_eventsManager._mouseClicked) break; } @@ -706,7 +706,7 @@ void ThreadResource::parsePlayCommands() { Common::String fname = Common::String::format("news%d.voc", idx); - while (!_vm->shouldQuit() && !_vm->_voy._mouseClicked && + while (!_vm->shouldQuit() && !_vm->_eventsManager._mouseClicked && _vm->_soundManager.getVOCStatus()) _vm->_eventsManager.delay(1); @@ -714,7 +714,7 @@ void ThreadResource::parsePlayCommands() { if (idx == 3) _vm->_eventsManager.delay(3); - if (_vm->shouldQuit() || _vm->_voy._mouseClicked) + if (_vm->shouldQuit() || _vm->_eventsManager._mouseClicked) break; } @@ -1107,7 +1107,7 @@ int ThreadResource::doApt() { _vm->flipPageAndWait(); - } while (!_vm->shouldQuit() && (!_vm->_voy._leftClick || hotspotId == -1)); + } while (!_vm->shouldQuit() && (!_vm->_eventsManager._leftClick || hotspotId == -1)); pt = _vm->_eventsManager.getMousePos(); _doAptPosX = pt.x; @@ -1231,10 +1231,10 @@ void ThreadResource::doRoom() { vm._eventsManager._intPtr._hasPalette = true; vm._graphicsManager.flipPage(); vm._eventsManager.sWaitFlip(); - } while (!vm.shouldQuit() && !voy._mouseClicked); + } while (!vm.shouldQuit() && !vm._eventsManager._mouseClicked); - if (!voy._leftClick || i4e4 == -1) { - if (voy._rightClick) + if (!vm._eventsManager._leftClick || i4e4 == -1) { + if (vm._eventsManager._rightClick) breakFlag = true; Common::Point pt = vm._eventsManager.getMousePos(); @@ -1258,7 +1258,7 @@ void ThreadResource::doRoom() { vm._eventsManager.addComputerEventStart(); - voy._mouseClicked = false; + vm._eventsManager._mouseClicked = false; vm._eventsManager.startCursorBlink(); int v = vm.doComputerText(9999); @@ -1271,7 +1271,7 @@ void ThreadResource::doRoom() { } voy._field478 &= ~0x10; - if (!voy._mouseClicked) + if (!vm._eventsManager._mouseClicked) vm._eventsManager.delayClick(18000); vm._bVoy->freeBoltGroup(vm._playStamp1); @@ -1487,7 +1487,7 @@ int ThreadResource::doInterface() { pt = _vm->_eventsManager.getMousePos(); if ((_vm->_voy._field476 <= _vm->_voy._RTVNum) || ((_vm->_voy._field478 & 0x80) && - (_vm->_voy._rightClick != NULL) && (pt.x == 0))) { + (_vm->_eventsManager._rightClick != NULL) && (pt.x == 0))) { _vm->_eventsManager.getMouseInfo(); if (_vm->_voy._transitionId == 15) { @@ -1495,7 +1495,7 @@ int ThreadResource::doInterface() { _vm->_voy._transitionId = 17; _vm->_soundManager.stopVOCPlay(); _vm->checkTransition(); - _vm->_voy._leftClick = true; + _vm->_eventsManager._leftClick = true; } else { _vm->_voy._field478 = 1; _currentMouseX = pt.x; @@ -1518,15 +1518,15 @@ int ThreadResource::doInterface() { _vm->_eventsManager._intPtr.field1A = 0; } } - } while (!_vm->_voy._rightClick && !_vm->shouldQuit() && - (!_vm->_voy._leftClick || regionIndex == -1)); + } while (!_vm->_eventsManager._rightClick && !_vm->shouldQuit() && + (!_vm->_eventsManager._leftClick || regionIndex == -1)); _vm->_voy._field478 |= 1; _vm->_bVoy->freeBoltGroup(_vm->_playStamp1); if (_vm->_playStamp2 != -1) _vm->_soundManager.stopVOCPlay(); - return !_vm->_voy._rightClick ? regionIndex : -2; + return !_vm->_eventsManager._rightClick ? regionIndex : -2; } bool ThreadResource::goToStateID(int stackId, int sceneId) { diff --git a/engines/voyeur/voyeur.cpp b/engines/voyeur/voyeur.cpp index f4b83e589a..b2256f06b5 100644 --- a/engines/voyeur/voyeur.cpp +++ b/engines/voyeur/voyeur.cpp @@ -184,12 +184,12 @@ bool VoyeurEngine::doHeadTitle() { // showTitleScreen(); // Opening - if (!_voy._mouseClicked) { + if (!_eventsManager._mouseClicked) { // doOpening(); // doTransitionCard("Saturday Afternoon", "Player's Apartment"); _eventsManager.delayClick(90); } else { - _voy._mouseClicked = false; + _eventsManager._mouseClicked = false; } if (_voy._field478 & 0x80) { @@ -341,8 +341,8 @@ bool VoyeurEngine::doLock() { _eventsManager._intPtr._hasPalette = true; _eventsManager.delay(1); - } while (!shouldQuit() && !_voy._mouseClicked); - _voy._mouseClicked = false; + } while (!shouldQuit() && !_eventsManager._mouseClicked); + _eventsManager._mouseClicked = false; } while (!shouldQuit() && key == -1); _soundManager.abortVOCMap(); @@ -493,7 +493,7 @@ void VoyeurEngine::doOpening() { decoder.loadFile("a2300100.rl2"); decoder.start(); - while (!shouldQuit() && !decoder.endOfVideo() && !_voy._mouseClicked) { + while (!shouldQuit() && !decoder.endOfVideo() && !_eventsManager._mouseClicked) { if (decoder.hasDirtyPalette()) { const byte *palette = decoder.getPalette(); _graphicsManager.setPalette(palette, 0, 256); @@ -517,7 +517,7 @@ void VoyeurEngine::playRL2Video(const Common::String &filename) { decoder.loadFile(filename); decoder.start(); - while (!shouldQuit() && !decoder.endOfVideo() && !_voy._mouseClicked) { + while (!shouldQuit() && !decoder.endOfVideo() && !_eventsManager._mouseClicked) { if (decoder.hasDirtyPalette()) { const byte *palette = decoder.getPalette(); _graphicsManager.setPalette(palette, 0, 256); @@ -554,7 +554,7 @@ void VoyeurEngine::playAVideoDuration(int videoId, int duration) { decoder.seek(Audio::Timestamp(_voy._vocSecondsOffset * 1000)); int endFrame = decoder.getCurFrame() + totalFrames; - while (!shouldQuit() && !decoder.endOfVideo() && !_voy._mouseClicked && + while (!shouldQuit() && !decoder.endOfVideo() && !_eventsManager._mouseClicked && (decoder.getCurFrame() < endFrame)) { if (decoder.hasDirtyPalette()) { const byte *palette = decoder.getPalette(); diff --git a/engines/voyeur/voyeur_game.cpp b/engines/voyeur/voyeur_game.cpp index 8a228874f1..8f49680202 100644 --- a/engines/voyeur/voyeur_game.cpp +++ b/engines/voyeur/voyeur_game.cpp @@ -144,7 +144,7 @@ void VoyeurEngine::playStamp() { _graphicsManager._backColors = _bVoy->boltEntry(_playStamp1 + 1)._cMapResource; buttonId = getChooseButton(); - if (_voy._rightClick) + if (_eventsManager._rightClick) buttonId = 4; _bVoy->freeBoltGroup(_playStamp1); @@ -350,7 +350,7 @@ void VoyeurEngine::reviewTape() { if ((tempPos.y - 31) % 15 >= 12 || (si + foundIndex) >= _voy._eventCount) { _eventsManager.setCursorColor(128, 0); foundIndex = 999; - } else if (!_voy._leftClick) { + } else if (!_eventsManager._leftClick) { _eventsManager.setCursorColor(128, 2); foundIndex = 999; } else { @@ -409,7 +409,7 @@ void VoyeurEngine::reviewTape() { _eventsManager._intPtr.field38 = true; _eventsManager._intPtr._hasPalette = true; - if (_voy._mouseClicked || _voy._mouseUnk) { + if (_eventsManager._mouseClicked || _eventsManager._mouseUnk) { switch (foundIndex) { case 2: if (si > 0) { @@ -456,17 +456,17 @@ void VoyeurEngine::reviewTape() { } pt = _eventsManager.getMousePos(); - if (_voy._mouseClicked && _voy._viewBounds->left == pt.x && - (_voy._field478 & 0x40) && _voy._rightClick) { + if (_eventsManager._mouseClicked && _voy._viewBounds->left == pt.x && + (_voy._field478 & 0x40) && _eventsManager._rightClick) { WRITE_LE_UINT32(_controlPtr->_ptr + 4, (pt.y / 60) + 1); foundIndex = -1; - _voy._rightClick = 0; + _eventsManager._rightClick = 0; } - if (_voy._rightClick) + if (_eventsManager._rightClick) foundIndex = 0; - } while (!shouldQuit() && (!_voy._mouseClicked || foundIndex == -1)); + } while (!shouldQuit() && (!_eventsManager._mouseClicked || foundIndex == -1)); @@ -487,42 +487,50 @@ void VoyeurEngine::doGossip() { if (!_bVoy->getBoltGroup(0x300)) return; - PictureResource *pic = _bVoy->boltEntry(0x300)._picResource; - (*_graphicsManager._vPort)->setupViewPort(pic); - CMapResource *pal = _bVoy->boltEntry(0x301)._cMapResource; - pal->startFade(); - - flipPageAndWaitForFade(); - // Load the gossip animation ::Video::RL2Decoder decoder; decoder.loadFile("a2050100.rl2"); + decoder.start(); + + PictureResource *bgPic = _bVoy->boltEntry(0x300)._picResource; + CMapResource *pal = _bVoy->boltEntry(0x301)._cMapResource; + pal->startFade(); + + // Transfer initial background to video decoder + PictureResource videoFrame(decoder.getVideoSurface()); + _graphicsManager.sDrawPic(bgPic, &videoFrame, Common::Point(-32, -20)); byte *frameNumsP = _bVoy->memberAddr(0x309); - byte *posP = _bVoy->memberAddr(0x30A); + byte *posP = _bVoy->boltEntry(0x30A)._data; // Main playback loop + int picCtr = 0; decoder.start(); - while (!shouldQuit() && !decoder.endOfVideo() && !_voy._mouseClicked) { + while (!shouldQuit() && !decoder.endOfVideo() && !_eventsManager._mouseClicked) { if (decoder.hasDirtyPalette()) { const byte *palette = decoder.getPalette(); _graphicsManager.setPalette(palette, 0, 256); } if (decoder.needsUpdate()) { - const Graphics::Surface *frame = decoder.decodeNextFrame(); - - Common::copy((const byte *)frame->getPixels(), (const byte *)frame->getPixels() + 320 * 200, - (byte *)_graphicsManager._screenSurface.getPixels()); - + // If reached a point where a new background is needed, load it + // and copy over to the video decoder if (decoder.getCurFrame() >= READ_LE_UINT16(frameNumsP + picCtr * 4)) { - PictureResource *pic = _bVoy->boltEntry(0x302 + picCtr)._picResource; + PictureResource *newBgPic = _bVoy->boltEntry(0x302 + picCtr)._picResource; Common::Point pt(READ_LE_UINT16(posP + 4 * picCtr + 2), READ_LE_UINT16(posP + 4 * picCtr)); - _graphicsManager.sDrawPic(pic, *_graphicsManager._vPort, pt); + + _graphicsManager.sDrawPic(newBgPic, &videoFrame, pt); + ++picCtr; } + // Decode the next frame and display + const Graphics::Surface *frame = decoder.decodeNextFrame(); + Common::copy((const byte *)frame->getPixels(), (const byte *)frame->getPixels() + 320 * 200, + (byte *)_graphicsManager._screenSurface.getPixels()); + + flipPageAndWait(); } @@ -533,7 +541,7 @@ void VoyeurEngine::doGossip() { decoder.loadFile("a2110100.rl2"); decoder.start(); - while (!shouldQuit() && !decoder.endOfVideo() && !_voy._mouseClicked) { + while (!shouldQuit() && !decoder.endOfVideo() && !_eventsManager._mouseClicked) { if (decoder.hasDirtyPalette()) { const byte *palette = decoder.getPalette(); _graphicsManager.setPalette(palette, 0, 256); @@ -571,7 +579,7 @@ void VoyeurEngine::doTapePlaying() { cycle->vStartCycle(); _soundManager.startVOCPlay("vcr.voc"); - while (!shouldQuit() && !_voy._mouseClicked && _soundManager.getVOCStatus()) { + while (!shouldQuit() && !_eventsManager._mouseClicked && _soundManager.getVOCStatus()) { _eventsManager.delayClick(2); } @@ -734,8 +742,8 @@ int VoyeurEngine::getChooseButton() { Common::Point(pt.x + 13, pt.y - 12)); flipPageAndWait(); - } while (!shouldQuit() && !_voy._mouseClicked); - } while (!shouldQuit() && selectedIndex == -1 && !_voy._rightClick); + } while (!shouldQuit() && !_eventsManager._mouseClicked); + } while (!shouldQuit() && selectedIndex == -1 && !_eventsManager._rightClick); return selectedIndex; } @@ -992,7 +1000,7 @@ bool VoyeurEngine::doComputerText(int maxLen) { _eventsManager.getMouseInfo(); ++totalChars; - } while (!shouldQuit() && !_voy._mouseClicked && totalChars < maxLen); + } while (!shouldQuit() && !_eventsManager._mouseClicked && totalChars < maxLen); _voy._field4EE = 0; } @@ -1119,7 +1127,7 @@ void VoyeurEngine::doEvidDisplay(int evidId, int eventId) { int arrIndex = 0; int evidIdx = evidId; - while (!shouldQuit() && !_voy._rightClick) { + while (!shouldQuit() && !_eventsManager._rightClick) { if (_playStamp2 != -1 && !_soundManager.getVOCStatus()) { if (_voy._vocSecondsOffset > 60) _voy._vocSecondsOffset = 0; @@ -1128,7 +1136,7 @@ void VoyeurEngine::doEvidDisplay(int evidId, int eventId) { } _eventsManager.delayClick(600); - if (_voy._rightClick) + if (_eventsManager._rightClick) break; if (count == 0 || evidIdx >= eventId) continue; -- cgit v1.2.3 From 3fd1abbe324a5386608fea083b15d2bd9c02e3c7 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Sun, 29 Dec 2013 21:12:03 +1100 Subject: VOYEUR: Implemented playAVideo code, and support for RLV3 videos --- engines/voyeur/animation.cpp | 5 +++-- engines/voyeur/voyeur.cpp | 12 ++++++------ engines/voyeur/voyeur.h | 2 +- engines/voyeur/voyeur_game.cpp | 7 +++++-- 4 files changed, 15 insertions(+), 11 deletions(-) diff --git a/engines/voyeur/animation.cpp b/engines/voyeur/animation.cpp index 4f8cca5707..4099ea87bd 100644 --- a/engines/voyeur/animation.cpp +++ b/engines/voyeur/animation.cpp @@ -37,7 +37,8 @@ RL2Decoder::~RL2Decoder() { } bool RL2Decoder::loadVideo(int videoId) { - Common::String filename = Common::String::format("%s.rl2", ::Voyeur::SZ_FILENAMES[videoId]); + Common::String filename = Common::String::format("%s.rl2", + ::Voyeur::SZ_FILENAMES[videoId * 2]); return loadFile(filename); } @@ -161,7 +162,7 @@ RL2Decoder::RL2VideoTrack::RL2VideoTrack(const RL2FileHeader &header, RL2AudioTr _surface = new Graphics::Surface(); _surface->create(320, 200, Graphics::PixelFormat::createFormatCLUT8()); - if (header._backSize == 0) { + if (header._backSize == 0 || !strncmp((char *)&header._signature, "RLV3", 4)) { _backSurface = NULL; } else { _backSurface = new Graphics::Surface(); diff --git a/engines/voyeur/voyeur.cpp b/engines/voyeur/voyeur.cpp index b2256f06b5..dbd48f7a6a 100644 --- a/engines/voyeur/voyeur.cpp +++ b/engines/voyeur/voyeur.cpp @@ -535,14 +535,18 @@ void VoyeurEngine::playRL2Video(const Common::String &filename) { } } +void VoyeurEngine::playAVideo(int videoId) { + playAVideoDuration(videoId, 9999); +} + void VoyeurEngine::playAVideoDuration(int videoId, int duration) { byte *dataP = NULL; int totalFrames = duration * 10; - if (videoId != -1) + if (videoId == -1) return; - if (videoId != 42) { + if (videoId == 42) { _eventsManager._videoDead = 0; dataP = _bVoy->memberAddr(0xE00); } @@ -625,10 +629,6 @@ void VoyeurEngine::doTransitionCard(const Common::String &time, const Common::St flipPageAndWait(); } -void VoyeurEngine::playAVideo(int id) { - warning("TODO: playAVideo"); -} - void VoyeurEngine::saveLastInplay() { LockClass lock; lock.getThePassword(); diff --git a/engines/voyeur/voyeur.h b/engines/voyeur/voyeur.h index f18ec4be16..2dde65c5d3 100644 --- a/engines/voyeur/voyeur.h +++ b/engines/voyeur/voyeur.h @@ -143,7 +143,7 @@ public: void playRL2Video(const Common::String &filename); void doTransitionCard(const Common::String &time, const Common::String &location); - void playAVideo(int id); + void playAVideo(int videoId); void playAVideoDuration(int videoId, int duration); /** diff --git a/engines/voyeur/voyeur_game.cpp b/engines/voyeur/voyeur_game.cpp index 8f49680202..46b4ef6ce1 100644 --- a/engines/voyeur/voyeur_game.cpp +++ b/engines/voyeur/voyeur_game.cpp @@ -498,8 +498,11 @@ void VoyeurEngine::doGossip() { // Transfer initial background to video decoder PictureResource videoFrame(decoder.getVideoSurface()); - _graphicsManager.sDrawPic(bgPic, &videoFrame, Common::Point(-32, -20)); + _graphicsManager.sDrawPic(bgPic, &videoFrame, Common::Point(-32, -20)); + flipPageAndWait(); + + /* byte *frameNumsP = _bVoy->memberAddr(0x309); byte *posP = _bVoy->boltEntry(0x30A)._data; @@ -557,7 +560,7 @@ void VoyeurEngine::doGossip() { _eventsManager.pollEvents(); g_system->delayMillis(10); } - + */ _bVoy->freeBoltGroup(0x300); _graphicsManager.screenReset(); } -- cgit v1.2.3 From beb64fe5278c7a97bb52499446a868ad2ec81d77 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Mon, 30 Dec 2013 07:33:36 +1100 Subject: VOYEUR: Adding support for manually set backgrounds to RL2 playback --- engines/voyeur/animation.cpp | 56 +++++++++++++++++++++++++++++++++--------- engines/voyeur/animation.h | 36 ++++++++++++++------------- engines/voyeur/voyeur.cpp | 2 ++ engines/voyeur/voyeur_game.cpp | 4 +-- 4 files changed, 67 insertions(+), 31 deletions(-) diff --git a/engines/voyeur/animation.cpp b/engines/voyeur/animation.cpp index 4099ea87bd..0fce36d54b 100644 --- a/engines/voyeur/animation.cpp +++ b/engines/voyeur/animation.cpp @@ -90,11 +90,11 @@ void RL2Decoder::copyDirtyRectsToBuffer(uint8 *dst, uint pitch) { ((RL2VideoTrack *)track)->copyDirtyRectsToBuffer(dst, pitch); } -Graphics::Surface *RL2Decoder::getVideoSurface() { +RL2Decoder::RL2VideoTrack *RL2Decoder::getVideoTrack() { Track *track = getTrack(1); assert(track); - return ((RL2VideoTrack *)track)->getSurface(); + return (RL2VideoTrack *)track; } /*------------------------------------------------------------------------*/ @@ -162,12 +162,11 @@ RL2Decoder::RL2VideoTrack::RL2VideoTrack(const RL2FileHeader &header, RL2AudioTr _surface = new Graphics::Surface(); _surface->create(320, 200, Graphics::PixelFormat::createFormatCLUT8()); - if (header._backSize == 0 || !strncmp((char *)&header._signature, "RLV3", 4)) { - _backSurface = NULL; - } else { - _backSurface = new Graphics::Surface(); - _backSurface->create(320, 200, Graphics::PixelFormat::createFormatCLUT8()); - } + + _backSurface = NULL; + _hasBackFrame = header._backSize != 0 && strncmp((char *)&header._signature, "RLV3", 4); + if (_hasBackFrame) + initBackSurface(); _videoBase = header._videoBase; _dirtyPalette = true; @@ -187,6 +186,11 @@ RL2Decoder::RL2VideoTrack::~RL2VideoTrack() { } } +void RL2Decoder::RL2VideoTrack::initBackSurface() { + _backSurface = new Graphics::Surface(); + _backSurface->create(320, 200, Graphics::PixelFormat::createFormatCLUT8()); +} + bool RL2Decoder::RL2VideoTrack::endOfTrack() const { return getCurFrame() >= getFrameCount(); } @@ -211,7 +215,7 @@ Graphics::PixelFormat RL2Decoder::RL2VideoTrack::getPixelFormat() const { } const Graphics::Surface *RL2Decoder::RL2VideoTrack::decodeNextFrame() { - if (_curFrame == 0 && _backSurface) { + if (_curFrame == 0 && _hasBackFrame) { // Read in the background frame _fileStream->seek(0x324); rl2DecodeFrameWithoutBackground(0); @@ -228,7 +232,7 @@ const Graphics::Surface *RL2Decoder::RL2VideoTrack::decodeNextFrame() { _fileStream->seek(_header._frameSoundSizes[_curFrame], SEEK_CUR); // Decode the graphic data - if (_backSurface) { + if (_hasBackFrame) { if (_curFrame > 0) Common::copy((byte *)_backSurface->getPixels(), (byte *)_backSurface->getPixels() + (320 * 200), (byte *)_surface->getPixels()); @@ -266,22 +270,38 @@ void RL2Decoder::RL2VideoTrack::copyFrame(uint8 *data) { void RL2Decoder::RL2VideoTrack::rl2DecodeFrameWithoutBackground(int screenOffset) { if (screenOffset == -1) screenOffset = _videoBase; - byte *destP = (byte *)_surface->getPixels() + screenOffset; + const byte *srcP = !_backSurface ? NULL : (const byte *)_backSurface->getPixels(); + byte *destP = (byte *)_surface->getPixels(); int frameSize = _surface->w * _surface->h - screenOffset; + // If a background was manually set, copy over the initial part remaining unchanged + if (srcP && screenOffset > 0) { + Common::copy(srcP, srcP + screenOffset, destP); + srcP += screenOffset; + } + destP += screenOffset; + + // Main frame decode loop while (frameSize > 0) { byte nextByte = _fileStream->readByte(); if (nextByte < 0x80) { *destP++ = nextByte; --frameSize; + if (srcP) + ++srcP; } else if (nextByte == 0x80) { int runLength = _fileStream->readByte(); if (runLength == 0) return; runLength = MIN(runLength, frameSize); - Common::fill(destP, destP + runLength, 0); + if (srcP) { + Common::copy(srcP, srcP + runLength, destP); + srcP += runLength; + } else { + Common::fill(destP, destP + runLength, 0); + } destP += runLength; frameSize -= runLength; } else { @@ -291,6 +311,8 @@ void RL2Decoder::RL2VideoTrack::rl2DecodeFrameWithoutBackground(int screenOffset Common::fill(destP, destP + runLength, nextByte & 0x7f); destP += runLength; frameSize -= runLength; + if (srcP) + srcP += runLength; } } } @@ -332,6 +354,16 @@ void RL2Decoder::RL2VideoTrack::rl2DecodeFrameWithBackground() { } } +void RL2Decoder::RL2VideoTrack::setupBackSurface(Graphics::Surface *surface) { + if (!_backSurface) + initBackSurface(); + + assert(surface->w == _backSurface->w && surface->h == _backSurface->h); + const byte *srcP = (const byte *)surface->getPixels(); + byte *destP = (byte *)_backSurface->getPixels(); + Common::copy(srcP, srcP + surface->w * surface->h, destP); +} + /*------------------------------------------------------------------------*/ RL2Decoder::RL2AudioTrack::RL2AudioTrack(const RL2FileHeader &header, Common::SeekableReadStream *stream, Audio::Mixer::SoundType soundType): diff --git a/engines/voyeur/animation.h b/engines/voyeur/animation.h index feaaf2166c..bb3f34a461 100644 --- a/engines/voyeur/animation.h +++ b/engines/voyeur/animation.h @@ -39,7 +39,7 @@ namespace Video { * - voyeur */ class RL2Decoder : public VideoDecoder { - +private: class RL2FileHeader { public: uint32 _form; @@ -65,21 +65,6 @@ class RL2Decoder : public VideoDecoder { bool isValid() const; }; -private: - Audio::Mixer::SoundType _soundType; - RL2FileHeader _header; -public: - RL2Decoder(Audio::Mixer::SoundType soundType = Audio::Mixer::kPlainSoundType); - virtual ~RL2Decoder(); - - bool loadStream(Common::SeekableReadStream *stream); - bool loadVideo(int videoId); - - const Common::List *getDirtyRects() const; - void clearDirtyRects(); - void copyDirtyRectsToBuffer(uint8 *dst, uint pitch); - Graphics::Surface *getVideoSurface(); -private: class RL2AudioTrack : public AudioTrack { public: RL2AudioTrack(const RL2FileHeader &header, Common::SeekableReadStream *stream, @@ -120,10 +105,10 @@ private: const Graphics::Surface *decodeNextFrame(); const byte *getPalette() const { _dirtyPalette = false; return _header._palette; } bool hasDirtyPalette() const { return _dirtyPalette; } - const Common::List *getDirtyRects() const { return &_dirtyRects; } void clearDirtyRects() { _dirtyRects.clear(); } void copyDirtyRectsToBuffer(uint8 *dst, uint pitch); + void setupBackSurface(Graphics::Surface *surface); private: Common::SeekableReadStream *_fileStream; @@ -131,6 +116,7 @@ private: RL2AudioTrack *_audioTrack; Graphics::Surface *_surface; Graphics::Surface *_backSurface; + bool _hasBackFrame; mutable bool _dirtyPalette; @@ -145,7 +131,23 @@ private: void copyFrame(uint8 *data); void rl2DecodeFrameWithBackground(); void rl2DecodeFrameWithoutBackground(int screenOffset = -1); + void initBackSurface(); }; + +private: + Audio::Mixer::SoundType _soundType; + RL2FileHeader _header; +public: + RL2Decoder(Audio::Mixer::SoundType soundType = Audio::Mixer::kPlainSoundType); + virtual ~RL2Decoder(); + + bool loadStream(Common::SeekableReadStream *stream); + bool loadVideo(int videoId); + + const Common::List *getDirtyRects() const; + void clearDirtyRects(); + void copyDirtyRectsToBuffer(uint8 *dst, uint pitch); + RL2VideoTrack *getVideoTrack(); }; } // End of namespace Video diff --git a/engines/voyeur/voyeur.cpp b/engines/voyeur/voyeur.cpp index dbd48f7a6a..62544ea3b3 100644 --- a/engines/voyeur/voyeur.cpp +++ b/engines/voyeur/voyeur.cpp @@ -555,6 +555,8 @@ void VoyeurEngine::playAVideoDuration(int videoId, int duration) { decoder.loadVideo(videoId); decoder.start(); + decoder.getVideoTrack()->setupBackSurface(&_graphicsManager._screenSurface); + decoder.seek(Audio::Timestamp(_voy._vocSecondsOffset * 1000)); int endFrame = decoder.getCurFrame() + totalFrames; diff --git a/engines/voyeur/voyeur_game.cpp b/engines/voyeur/voyeur_game.cpp index 46b4ef6ce1..ef7a70886f 100644 --- a/engines/voyeur/voyeur_game.cpp +++ b/engines/voyeur/voyeur_game.cpp @@ -497,8 +497,8 @@ void VoyeurEngine::doGossip() { pal->startFade(); // Transfer initial background to video decoder - PictureResource videoFrame(decoder.getVideoSurface()); - _graphicsManager.sDrawPic(bgPic, &videoFrame, Common::Point(-32, -20)); + //PictureResource videoFrame(decoder.getVideoSurface()); + //_graphicsManager.sDrawPic(bgPic, &videoFrame, Common::Point(-32, -20)); flipPageAndWait(); -- cgit v1.2.3 From c4197b4e30a321c36488494d66a3fb99e0002780 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Mon, 30 Dec 2013 07:45:44 +1100 Subject: VOYEUR: Move _isRLV3 flag to animation header class --- engines/voyeur/animation.cpp | 4 +++- engines/voyeur/animation.h | 1 + 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/engines/voyeur/animation.cpp b/engines/voyeur/animation.cpp index 0fce36d54b..2f8c71bf68 100644 --- a/engines/voyeur/animation.cpp +++ b/engines/voyeur/animation.cpp @@ -115,6 +115,7 @@ void RL2Decoder::RL2FileHeader::load(Common::SeekableReadStream *stream) { _form = stream->readUint32LE(); _backSize = stream->readUint32LE(); _signature = stream->readUint32LE(); + _isRLV3 = !strncmp((const char *)&_signature, "RLV3", 4); if (!isValid()) return; @@ -163,8 +164,9 @@ RL2Decoder::RL2VideoTrack::RL2VideoTrack(const RL2FileHeader &header, RL2AudioTr _surface = new Graphics::Surface(); _surface->create(320, 200, Graphics::PixelFormat::createFormatCLUT8()); + _hasBackFrame = header._backSize != 0 && !header._isRLV3; + _backSurface = NULL; - _hasBackFrame = header._backSize != 0 && strncmp((char *)&header._signature, "RLV3", 4); if (_hasBackFrame) initBackSurface(); diff --git a/engines/voyeur/animation.h b/engines/voyeur/animation.h index bb3f34a461..60d4830cf1 100644 --- a/engines/voyeur/animation.h +++ b/engines/voyeur/animation.h @@ -58,6 +58,7 @@ private: uint32 *_frameOffsets; int *_frameSoundSizes; + bool _isRLV3; public: RL2FileHeader(); ~RL2FileHeader(); -- cgit v1.2.3 From c78e83d7848940db511f53a4ed5ccad56b498bec Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Mon, 30 Dec 2013 08:05:45 +1100 Subject: VOYEUR: Implemented remainder of playAVideoDuration --- engines/voyeur/voyeur.cpp | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/engines/voyeur/voyeur.cpp b/engines/voyeur/voyeur.cpp index 62544ea3b3..edb7f4a8d5 100644 --- a/engines/voyeur/voyeur.cpp +++ b/engines/voyeur/voyeur.cpp @@ -546,9 +546,11 @@ void VoyeurEngine::playAVideoDuration(int videoId, int duration) { if (videoId == -1) return; + PictureResource *pic = NULL; if (videoId == 42) { _eventsManager._videoDead = 0; - dataP = _bVoy->memberAddr(0xE00); + pic = _bVoy->boltEntry(0xE00 + _eventsManager._videoDead)._picResource; + warning("%xh", pic); } ::Video::RL2Decoder decoder; @@ -583,14 +585,11 @@ void VoyeurEngine::playAVideoDuration(int videoId, int duration) { _voy._field478 &= ~0x10; if (_voy._field478 & 8) { - // TODO: Figure out resource type for the data resource - /* + assert(pic); byte *imgData = (*_graphicsManager._vPort)->_currentPic->_imgData; - (*_graphicsManager._vPort)->_currentPic->_imgData = dataP[12 and 14]; - imgData[12 and 14] = imgData; + (*_graphicsManager._vPort)->_currentPic->_imgData = pic->_imgData; + pic->_imgData = imgData; _voy._field478 &= ~8; - */ - warning("TODO: playAVideoDuration - %x", dataP); } } -- cgit v1.2.3 From f1686fcf16de1ed3303369f6f3b4c29daeb25d44 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Mon, 30 Dec 2013 10:00:26 +1100 Subject: VOYEUR: Fix bugs in police arriving playback --- engines/voyeur/files_threads.cpp | 2 +- engines/voyeur/voyeur_game.cpp | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/engines/voyeur/files_threads.cpp b/engines/voyeur/files_threads.cpp index 1d04ddc44e..ecf564c2ce 100644 --- a/engines/voyeur/files_threads.cpp +++ b/engines/voyeur/files_threads.cpp @@ -489,7 +489,7 @@ void ThreadResource::parsePlayCommands() { _vm->playAVideo(_vm->_eventsManager._videoComputerBut4); _vm->_voy._field478 |= 1; - if (id != 2) { + if (id != 22) { _vm->_eventsManager._videoComputerBut4 = -1; parseIndex = 999; } else { diff --git a/engines/voyeur/voyeur_game.cpp b/engines/voyeur/voyeur_game.cpp index ef7a70886f..ba5123e121 100644 --- a/engines/voyeur/voyeur_game.cpp +++ b/engines/voyeur/voyeur_game.cpp @@ -65,19 +65,19 @@ void VoyeurEngine::playStamp() { _voy._field472 = 140; break; case 1: - _voy._field478 = -2; + _voy._field478 &= ~1; _voy._field46E = 1; threadP->chooseSTAMPButton(22); _voy._field472 = 143; break; case 2: - _voy._field478 = -2; + _voy._field478 &= ~1; reviewTape(); _voy._field46E = 1; _voy._field472 = 142; break; case 3: - _voy._field478 = -2; + _voy._field478 &= ~1; threadP->chooseSTAMPButton(21); break; case 4: -- cgit v1.2.3 From 485c19b569bce6b69dd8b90c5304dca334f9ddc5 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Mon, 30 Dec 2013 10:25:46 +1100 Subject: VOYEUR: Clean up playAVideoDuration --- engines/voyeur/events.cpp | 3 +++ engines/voyeur/events.h | 3 +++ engines/voyeur/files.cpp | 30 ++++++++++++++---------------- engines/voyeur/files.h | 24 ++++++++---------------- engines/voyeur/voyeur.cpp | 2 -- engines/voyeur/voyeur_game.cpp | 2 +- 6 files changed, 29 insertions(+), 35 deletions(-) diff --git a/engines/voyeur/events.cpp b/engines/voyeur/events.cpp index 890eaeaf23..61c37a6db9 100644 --- a/engines/voyeur/events.cpp +++ b/engines/voyeur/events.cpp @@ -74,6 +74,9 @@ EventsManager::EventsManager(): _intPtr(_gameData), _priorFrameTime = g_system->getMillis(); _joe = 0; Common::fill(&_keyState[0], &_keyState[256], false); + Common::fill(&_cycleTime[0], &_cycleTime[4], 0); + Common::fill(&_cycleNext[0], &_cycleNext[4], 0); + _cyclePtr = NULL; _leftClick = _rightClick = false; _mouseClicked = _mouseUnk = false; diff --git a/engines/voyeur/events.h b/engines/voyeur/events.h index 487d59e94d..99f583a2d0 100644 --- a/engines/voyeur/events.h +++ b/engines/voyeur/events.h @@ -162,6 +162,9 @@ private: int _mouseButton; Common::List _intNodes; Common::Point _mousePos; + int _cycleTime[4]; + int _cycleNext[4]; + VInitCycleResource *_cyclePtr; void mainVoyeurIntFunc(); private: diff --git a/engines/voyeur/files.cpp b/engines/voyeur/files.cpp index 9d86c66c2e..d02c5ce577 100644 --- a/engines/voyeur/files.cpp +++ b/engines/voyeur/files.cpp @@ -549,7 +549,7 @@ void BVoyBoltFile::vInitCMap() { void BVoyBoltFile::vInitCycl() { initDefault(); _state._vm->_eventsManager.vStopCycle(); - _state._curMemberPtr->_vInitCyclResource = new VInitCyclResource( + _state._curMemberPtr->_vInitCycleResource = new VInitCycleResource( _state, _state._curMemberPtr->_data); } @@ -647,11 +647,10 @@ BoltEntry::BoltEntry(Common::SeekableReadStream *f): _file(f) { _fontResource = nullptr; _fontInfoResource = nullptr; _cMapResource = nullptr; - _vInitCyclResource = nullptr; + _vInitCycleResource = nullptr; _ptrResource = nullptr; _controlResource = nullptr; - _vInitCyclResource = nullptr; - _cycleResource = nullptr; + _vInitCycleResource = nullptr; _threadResource = nullptr; byte buffer[16]; @@ -673,8 +672,7 @@ BoltEntry::~BoltEntry() { delete _fontResource; delete _fontInfoResource; delete _cMapResource; - delete _vInitCyclResource; - delete _cycleResource; + delete _vInitCycleResource; delete _ptrResource; delete _controlResource; } @@ -690,7 +688,7 @@ void BoltEntry::load() { bool BoltEntry::hasResource() const { return _rectResource || _picResource || _viewPortResource || _viewPortListResource || _fontResource || _fontInfoResource || _cMapResource - || _vInitCyclResource || _cycleResource + || _vInitCycleResource || _ptrResource || _controlResource || _threadResource; } @@ -1410,12 +1408,20 @@ void CMapResource::startFade() { /*------------------------------------------------------------------------*/ -VInitCyclResource::VInitCyclResource(BoltFilesState &state, const byte *src) { +VInitCycleResource::VInitCycleResource(BoltFilesState &state, const byte *src) { for (int i = 0; i < 4; ++i) { state._curLibPtr->resolveIt(READ_LE_UINT32(src + 8 + i * 4), &_ptr[i]); } } +void VInitCycleResource::vStartCycle() { + error("TODO"); +} + +void VInitCycleResource::vStopCycle() { + error("TODO: vStopCycle"); +} + /*------------------------------------------------------------------------*/ PtrResource::PtrResource(BoltFilesState &state, const byte *src) { @@ -1454,12 +1460,4 @@ ControlResource::ControlResource(BoltFilesState &state, const byte *src) { /*------------------------------------------------------------------------*/ -void CycleResource::vStartCycle() { - error("TODO: vStartCycle"); -} - -void CycleResource::vStopCycle() { - error("TODO: vStopCycle"); -} - } // End of namespace Voyeur diff --git a/engines/voyeur/files.h b/engines/voyeur/files.h index 832e157b7b..47a6df5c8f 100644 --- a/engines/voyeur/files.h +++ b/engines/voyeur/files.h @@ -41,10 +41,9 @@ class ViewPortResource; class ViewPortListResource; class FontResource; class CMapResource; -class VInitCyclResource; +class VInitCycleResource; class PtrResource; class ControlResource; -class CycleResource; class ThreadResource; #define DECOMPRESS_SIZE 0x7000 @@ -205,8 +204,7 @@ public: FontResource *_fontResource; FontInfoResource *_fontInfoResource; CMapResource *_cMapResource; - VInitCyclResource *_vInitCyclResource; - CycleResource *_cycleResource; // TODO: Dup with VInit? + VInitCycleResource *_vInitCycleResource; // stampblt.blt resource types PtrResource *_ptrResource; @@ -405,12 +403,15 @@ public: void startFade(); }; -class VInitCyclResource { +class VInitCycleResource { public: byte *_ptr[4]; public: - VInitCyclResource(BoltFilesState &state, const byte *src); - virtual ~VInitCyclResource() {} + VInitCycleResource(BoltFilesState &state, const byte *src); + virtual ~VInitCycleResource() {} + + void vStartCycle(); + void vStopCycle(); }; /* stampblt.blt resources */ @@ -433,15 +434,6 @@ public: virtual ~ControlResource() {} }; -class CycleResource { -public: - CycleResource(BoltFilesState &state, const byte *src) {} - virtual ~CycleResource() {} - - void vStartCycle(); - void vStopCycle(); -}; - class ThreadResource { public: static int _stampFlags; diff --git a/engines/voyeur/voyeur.cpp b/engines/voyeur/voyeur.cpp index edb7f4a8d5..4a51d89e1f 100644 --- a/engines/voyeur/voyeur.cpp +++ b/engines/voyeur/voyeur.cpp @@ -540,7 +540,6 @@ void VoyeurEngine::playAVideo(int videoId) { } void VoyeurEngine::playAVideoDuration(int videoId, int duration) { - byte *dataP = NULL; int totalFrames = duration * 10; if (videoId == -1) @@ -550,7 +549,6 @@ void VoyeurEngine::playAVideoDuration(int videoId, int duration) { if (videoId == 42) { _eventsManager._videoDead = 0; pic = _bVoy->boltEntry(0xE00 + _eventsManager._videoDead)._picResource; - warning("%xh", pic); } ::Video::RL2Decoder decoder; diff --git a/engines/voyeur/voyeur_game.cpp b/engines/voyeur/voyeur_game.cpp index ba5123e121..89e48afb74 100644 --- a/engines/voyeur/voyeur_game.cpp +++ b/engines/voyeur/voyeur_game.cpp @@ -578,7 +578,7 @@ void VoyeurEngine::doTapePlaying() { _graphicsManager.sDrawPic(pic, *_graphicsManager._vPort, Common::Point(57, 30)); flipPageAndWaitForFade(); - CycleResource *cycle = _bVoy->boltEntry(0xA05)._cycleResource; + VInitCycleResource *cycle = _bVoy->boltEntry(0xA05)._vInitCycleResource; cycle->vStartCycle(); _soundManager.startVOCPlay("vcr.voc"); -- cgit v1.2.3 From 60743fc8c90a9d35bde1e632ed2ae5b55fb8168d Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Mon, 30 Dec 2013 16:52:50 +1100 Subject: VOYEUR: Implemented vDoCycleInt --- engines/voyeur/events.cpp | 80 +++++++++++++++++++++++++++++++++++++++++++++-- engines/voyeur/events.h | 6 ++-- engines/voyeur/files.cpp | 23 +++++++++++--- engines/voyeur/files.h | 5 ++- 4 files changed, 104 insertions(+), 10 deletions(-) diff --git a/engines/voyeur/events.cpp b/engines/voyeur/events.cpp index 61c37a6db9..115482ec29 100644 --- a/engines/voyeur/events.cpp +++ b/engines/voyeur/events.cpp @@ -75,7 +75,7 @@ EventsManager::EventsManager(): _intPtr(_gameData), _joe = 0; Common::fill(&_keyState[0], &_keyState[256], false); Common::fill(&_cycleTime[0], &_cycleTime[4], 0); - Common::fill(&_cycleNext[0], &_cycleNext[4], 0); + Common::fill(&_cycleNext[0], &_cycleNext[4], (byte *)nullptr); _cyclePtr = NULL; _leftClick = _rightClick = false; @@ -383,7 +383,83 @@ void EventsManager::vDoFadeInt() { } void EventsManager::vDoCycleInt() { - warning("TODO"); + for (int idx = 3; idx >= 0; --idx) { + if (_cyclePtr->_v[idx] && --_cycleTime[idx] <= 0) { + byte *pSrc = _cycleNext[idx]; + byte *pPal = _vm->_graphicsManager._VGAColors; + + if (_cyclePtr->_v[idx] == 1) { + do { + int palIndex = READ_LE_UINT16(pSrc); + pPal[palIndex * 3] = pSrc[3]; + pPal[palIndex * 3 + 1] = pSrc[4]; + pPal[palIndex * 3 + 1] = pSrc[5]; + pSrc += 6; + + if ((int16)READ_LE_UINT16(pSrc) >= 0) { + // Resetting back to start of cycle data + pSrc = _cycleNext[idx]; + break; + } + } while (*(pSrc + 2) == 0); + + _cycleNext[idx] = pSrc; + _cycleTime[idx] = pSrc[2]; + } else { + _cycleTime[idx] = pSrc[4]; + + if (pSrc[5] == 1) { + // Move palette entry to end of range + int start = READ_LE_UINT16(pSrc); + int end = READ_LE_UINT16(&pSrc[2]); + int len = end - start; + + // Store the RGB of the first entry to be moved + byte r = pSrc[start * 3]; + byte g = pSrc[start * 3 + 1]; + byte b = pSrc[start * 3 + 2]; + + // Move the remainder of the range backwards one entry + // TODO: Is this allowing for overlap properly? + Common::copy(&pSrc[start * 3 + 3], &pSrc[end * 3], &pSrc[start * 3]); + + // Place the original saved entry at the end of the range + pSrc[end * 3 - 3] = r; + pSrc[end * 3 - 2] = g; + pSrc[end * 3 - 1] = b; + + if (_fadeStatus & 1) { + //dx = start, di = end + warning("TODO: Adjustment of ViewPortListResource"); + } + } else { + // Move palette entry to end of range + int start = READ_LE_UINT16(pSrc); + int end = READ_LE_UINT16(&pSrc[2]); + int len = end - start; + + // Store the RGB of the entry to be moved + byte r = pSrc[end * 3 - 3]; + byte g = pSrc[end * 3 - 2]; + byte b = pSrc[end * 3 - 1]; + + // Move the remainder of the range forwards one entry + // TODO: Does this allow for overlap range correctly? + Common::copy_backward(&pSrc[start * 3 + 3], &pSrc[end * 3], &pSrc[start * 3]); + + // Place the original saved entry at the end of the range + pSrc[start * 3] = r; + pSrc[start * 3] = g; + pSrc[start * 3] = b; + + if (_fadeStatus & 1) { + //dx = start, di = end + warning("TODO: Adjustment of ViewPortListResource"); + } + } + } + } + } } diff --git a/engines/voyeur/events.h b/engines/voyeur/events.h index 99f583a2d0..c346426fad 100644 --- a/engines/voyeur/events.h +++ b/engines/voyeur/events.h @@ -162,9 +162,6 @@ private: int _mouseButton; Common::List _intNodes; Common::Point _mousePos; - int _cycleTime[4]; - int _cycleNext[4]; - VInitCycleResource *_cyclePtr; void mainVoyeurIntFunc(); private: @@ -198,6 +195,9 @@ public: int _v2A0A2; int _videoComputerBut4; int _videoDead; + int _cycleTime[4]; + byte *_cycleNext[4]; + VInitCycleResource *_cyclePtr; public: EventsManager(); void setVm(VoyeurEngine *vm) { _vm = vm; } diff --git a/engines/voyeur/files.cpp b/engines/voyeur/files.cpp index d02c5ce577..b4867881e0 100644 --- a/engines/voyeur/files.cpp +++ b/engines/voyeur/files.cpp @@ -1408,18 +1408,33 @@ void CMapResource::startFade() { /*------------------------------------------------------------------------*/ -VInitCycleResource::VInitCycleResource(BoltFilesState &state, const byte *src) { +VInitCycleResource::VInitCycleResource(BoltFilesState &state, const byte *src): + _state(state) { + // Set up arrays for (int i = 0; i < 4; ++i) { + _v[i] = READ_LE_UINT16(src + i * 2); state._curLibPtr->resolveIt(READ_LE_UINT32(src + 8 + i * 4), &_ptr[i]); } } -void VInitCycleResource::vStartCycle() { - error("TODO"); +void VInitCycleResource::vStartCycle(int flags) { + EventsManager &evt = _state._vm->_eventsManager; + evt._cycleIntNode._flags |= 1; + evt._cyclePtr = this; + + for (int i = 0; i < 4; ++i) { + evt._cycleNext[i] = _ptr[i]; + evt._cycleTime[i] = 0; + } + + evt._cycleStatus = flags | 1; + evt._cycleIntNode._flags &= ~1; } void VInitCycleResource::vStopCycle() { - error("TODO: vStopCycle"); + EventsManager &evt = _state._vm->_eventsManager; + evt._cycleIntNode._flags |= 1; + evt._cycleStatus &= ~1; } /*------------------------------------------------------------------------*/ diff --git a/engines/voyeur/files.h b/engines/voyeur/files.h index 47a6df5c8f..dd798915a7 100644 --- a/engines/voyeur/files.h +++ b/engines/voyeur/files.h @@ -404,13 +404,16 @@ public: }; class VInitCycleResource { +private: + BoltFilesState &_state; public: + int _v[4]; byte *_ptr[4]; public: VInitCycleResource(BoltFilesState &state, const byte *src); virtual ~VInitCycleResource() {} - void vStartCycle(); + void vStartCycle(int flags = 0); void vStopCycle(); }; -- cgit v1.2.3 From cb15e2863f397d6906cb509ee5ec00102fe38baf Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Mon, 30 Dec 2013 17:31:32 +1100 Subject: VOYEUR: Fix to doTapePlaying to show tape image --- engines/voyeur/voyeur_game.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/engines/voyeur/voyeur_game.cpp b/engines/voyeur/voyeur_game.cpp index 89e48afb74..2c33d3350e 100644 --- a/engines/voyeur/voyeur_game.cpp +++ b/engines/voyeur/voyeur_game.cpp @@ -573,12 +573,13 @@ void VoyeurEngine::doTapePlaying() { _graphicsManager._backColors = _bVoy->boltEntry(0xA01)._cMapResource; _graphicsManager._backgroundPage = _bVoy->boltEntry(0xA00)._picResource; PictureResource *pic = _bVoy->boltEntry(0xA02)._picResource; + VInitCycleResource *cycle = _bVoy->boltEntry(0xA05)._vInitCycleResource; (*_graphicsManager._vPort)->setupViewPort(_graphicsManager._backgroundPage); _graphicsManager.sDrawPic(pic, *_graphicsManager._vPort, Common::Point(57, 30)); + _graphicsManager._backColors->startFade(); flipPageAndWaitForFade(); - VInitCycleResource *cycle = _bVoy->boltEntry(0xA05)._vInitCycleResource; cycle->vStartCycle(); _soundManager.startVOCPlay("vcr.voc"); -- cgit v1.2.3 From f08231939f626f4acafb899fc8780b73260f1ada Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Mon, 30 Dec 2013 20:28:29 +1100 Subject: VOYEUR: Removed duplicate vStopCycle method --- engines/voyeur/events.cpp | 5 ----- engines/voyeur/events.h | 1 - engines/voyeur/files.cpp | 2 +- 3 files changed, 1 insertion(+), 7 deletions(-) diff --git a/engines/voyeur/events.cpp b/engines/voyeur/events.cpp index 115482ec29..514d9837b8 100644 --- a/engines/voyeur/events.cpp +++ b/engines/voyeur/events.cpp @@ -108,11 +108,6 @@ void EventsManager::mainVoyeurIntFunc() { } } -void EventsManager::vStopCycle() { - _cycleIntNode._flags = 1; - _cycleStatus &= 2; -} - void EventsManager::sWaitFlip() { Common::Array &viewPorts = _vm->_graphicsManager._viewPortListPtr->_entries; for (uint idx = 0; idx < viewPorts.size(); ++idx) { diff --git a/engines/voyeur/events.h b/engines/voyeur/events.h index c346426fad..4734e541a6 100644 --- a/engines/voyeur/events.h +++ b/engines/voyeur/events.h @@ -205,7 +205,6 @@ public: void resetMouse(); void setMousePos(const Common::Point &p) { _mousePos = p; } void startMainClockInt(); - void vStopCycle(); void sWaitFlip(); void vInitColor(); diff --git a/engines/voyeur/files.cpp b/engines/voyeur/files.cpp index b4867881e0..0b4e567e0a 100644 --- a/engines/voyeur/files.cpp +++ b/engines/voyeur/files.cpp @@ -548,9 +548,9 @@ void BVoyBoltFile::vInitCMap() { void BVoyBoltFile::vInitCycl() { initDefault(); - _state._vm->_eventsManager.vStopCycle(); _state._curMemberPtr->_vInitCycleResource = new VInitCycleResource( _state, _state._curMemberPtr->_data); + _state._curMemberPtr->_vInitCycleResource->vStopCycle(); } /*------------------------------------------------------------------------*/ -- cgit v1.2.3 From 87a6e72fc55c776796cfe8337d4add5988c9c595 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Mon, 30 Dec 2013 22:00:15 +1100 Subject: VOYEUR: Fixes to vDoCycleInt for tape playback palette animation --- engines/voyeur/events.cpp | 43 +++++++++++++++++++++++------------------- engines/voyeur/files.cpp | 2 +- engines/voyeur/files.h | 2 +- engines/voyeur/voyeur_game.cpp | 1 + 4 files changed, 27 insertions(+), 21 deletions(-) diff --git a/engines/voyeur/events.cpp b/engines/voyeur/events.cpp index 514d9837b8..74d8eeee44 100644 --- a/engines/voyeur/events.cpp +++ b/engines/voyeur/events.cpp @@ -379,11 +379,12 @@ void EventsManager::vDoFadeInt() { void EventsManager::vDoCycleInt() { for (int idx = 3; idx >= 0; --idx) { - if (_cyclePtr->_v[idx] && --_cycleTime[idx] <= 0) { + if (_cyclePtr->_type[idx] && --_cycleTime[idx] <= 0) { byte *pSrc = _cycleNext[idx]; byte *pPal = _vm->_graphicsManager._VGAColors; - if (_cyclePtr->_v[idx] == 1) { + if (_cyclePtr->_type[idx] != 1) { + // New palette data being specified - loop to set entries do { int palIndex = READ_LE_UINT16(pSrc); pPal[palIndex * 3] = pSrc[3]; @@ -401,51 +402,52 @@ void EventsManager::vDoCycleInt() { _cycleNext[idx] = pSrc; _cycleTime[idx] = pSrc[2]; } else { + // Palette rotation to be done _cycleTime[idx] = pSrc[4]; if (pSrc[5] == 1) { // Move palette entry to end of range int start = READ_LE_UINT16(pSrc); int end = READ_LE_UINT16(&pSrc[2]); - int len = end - start; + assert(start < 0x100 && end <= 0x100); // Store the RGB of the first entry to be moved - byte r = pSrc[start * 3]; - byte g = pSrc[start * 3 + 1]; - byte b = pSrc[start * 3 + 2]; + byte r = pPal[start * 3]; + byte g = pPal[start * 3 + 1]; + byte b = pPal[start * 3 + 2]; // Move the remainder of the range backwards one entry // TODO: Is this allowing for overlap properly? - Common::copy(&pSrc[start * 3 + 3], &pSrc[end * 3], &pSrc[start * 3]); + Common::copy(&pPal[start * 3 + 3], &pPal[end * 3 + 3], &pPal[start * 3]); // Place the original saved entry at the end of the range - pSrc[end * 3 - 3] = r; - pSrc[end * 3 - 2] = g; - pSrc[end * 3 - 1] = b; + pPal[end * 3] = r; + pPal[end * 3 + 1] = g; + pPal[end * 3 + 2] = b; if (_fadeStatus & 1) { //dx = start, di = end warning("TODO: Adjustment of ViewPortListResource"); } } else { - // Move palette entry to end of range + // Move palette entry to start of range int start = READ_LE_UINT16(pSrc); int end = READ_LE_UINT16(&pSrc[2]); - int len = end - start; + assert(start < 0x100 && end <= 0x100); // Store the RGB of the entry to be moved - byte r = pSrc[end * 3 - 3]; - byte g = pSrc[end * 3 - 2]; - byte b = pSrc[end * 3 - 1]; + byte r = pPal[end * 3]; + byte g = pPal[end * 3 + 1]; + byte b = pPal[end * 3 + 2]; // Move the remainder of the range forwards one entry // TODO: Does this allow for overlap range correctly? - Common::copy_backward(&pSrc[start * 3 + 3], &pSrc[end * 3], &pSrc[start * 3]); + Common::copy_backward(&pPal[start * 3], &pPal[end * 3], &pPal[end * 3 + 3]); // Place the original saved entry at the end of the range - pSrc[start * 3] = r; - pSrc[start * 3] = g; - pSrc[start * 3] = b; + pPal[start * 3] = r; + pPal[start * 3 + 1] = g; + pPal[start * 3 + 2] = b; if (_fadeStatus & 1) { //dx = start, di = end @@ -453,6 +455,9 @@ void EventsManager::vDoCycleInt() { } } } + + _intPtr._hasPalette = true; + _intPtr.field38 = true; } } } diff --git a/engines/voyeur/files.cpp b/engines/voyeur/files.cpp index 0b4e567e0a..1b33c5f997 100644 --- a/engines/voyeur/files.cpp +++ b/engines/voyeur/files.cpp @@ -1412,7 +1412,7 @@ VInitCycleResource::VInitCycleResource(BoltFilesState &state, const byte *src): _state(state) { // Set up arrays for (int i = 0; i < 4; ++i) { - _v[i] = READ_LE_UINT16(src + i * 2); + _type[i] = READ_LE_UINT16(src + i * 2); state._curLibPtr->resolveIt(READ_LE_UINT32(src + 8 + i * 4), &_ptr[i]); } } diff --git a/engines/voyeur/files.h b/engines/voyeur/files.h index dd798915a7..2d1aa9d29b 100644 --- a/engines/voyeur/files.h +++ b/engines/voyeur/files.h @@ -407,7 +407,7 @@ class VInitCycleResource { private: BoltFilesState &_state; public: - int _v[4]; + int _type[4]; byte *_ptr[4]; public: VInitCycleResource(BoltFilesState &state, const byte *src); diff --git a/engines/voyeur/voyeur_game.cpp b/engines/voyeur/voyeur_game.cpp index 2c33d3350e..963caabc12 100644 --- a/engines/voyeur/voyeur_game.cpp +++ b/engines/voyeur/voyeur_game.cpp @@ -588,6 +588,7 @@ void VoyeurEngine::doTapePlaying() { } _soundManager.stopVOCPlay(); + cycle->vStopCycle(); _bVoy->freeBoltGroup(0xA00); } -- cgit v1.2.3 From 2d71a0594d10ede390312cf87903da914c2db8c7 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Tue, 31 Dec 2013 18:39:38 +1100 Subject: VOYEUR: Fix guilt check post doTapePlaying call --- engines/voyeur/events.cpp | 4 ++-- engines/voyeur/voyeur_game.cpp | 7 +++++-- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/engines/voyeur/events.cpp b/engines/voyeur/events.cpp index 74d8eeee44..6ac36ddb94 100644 --- a/engines/voyeur/events.cpp +++ b/engines/voyeur/events.cpp @@ -409,7 +409,7 @@ void EventsManager::vDoCycleInt() { // Move palette entry to end of range int start = READ_LE_UINT16(pSrc); int end = READ_LE_UINT16(&pSrc[2]); - assert(start < 0x100 && end <= 0x100); + assert(start < 0x100 && end < 0x100); // Store the RGB of the first entry to be moved byte r = pPal[start * 3]; @@ -433,7 +433,7 @@ void EventsManager::vDoCycleInt() { // Move palette entry to start of range int start = READ_LE_UINT16(pSrc); int end = READ_LE_UINT16(&pSrc[2]); - assert(start < 0x100 && end <= 0x100); + assert(start < 0x100 && end < 0x100); // Store the RGB of the entry to be moved byte r = pPal[end * 3]; diff --git a/engines/voyeur/voyeur_game.cpp b/engines/voyeur/voyeur_game.cpp index 963caabc12..740bf1728a 100644 --- a/engines/voyeur/voyeur_game.cpp +++ b/engines/voyeur/voyeur_game.cpp @@ -131,10 +131,13 @@ void VoyeurEngine::playStamp() { if (!checkForMurder() && _voy._transitionId <= 15) checkForIncriminate(); - if (_voy._videoEventId != -1) + if (_voy._videoEventId != -1) { playAVideoEvent(_voy._videoEventId); - _voy._field478 &= 0x10; + _voy._field478 &= ~0x10; + } + threadP->chooseSTAMPButton(0); + flag = true; break; case 130: { -- cgit v1.2.3 From 577b7cefa0112cf33940e70b33e0cc91a0987f26 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Wed, 1 Jan 2014 07:00:36 +1100 Subject: VOYEUR: Animation improvements to better handle Voyeur RL2 videos --- engines/voyeur/animation.cpp | 114 ++++++++++++++++++++++--------------------- engines/voyeur/animation.h | 4 +- engines/voyeur/voyeur.cpp | 2 - 3 files changed, 61 insertions(+), 59 deletions(-) diff --git a/engines/voyeur/animation.cpp b/engines/voyeur/animation.cpp index 2f8c71bf68..db800ad015 100644 --- a/engines/voyeur/animation.cpp +++ b/engines/voyeur/animation.cpp @@ -164,7 +164,7 @@ RL2Decoder::RL2VideoTrack::RL2VideoTrack(const RL2FileHeader &header, RL2AudioTr _surface = new Graphics::Surface(); _surface->create(320, 200, Graphics::PixelFormat::createFormatCLUT8()); - _hasBackFrame = header._backSize != 0 && !header._isRLV3; + _hasBackFrame = header._backSize != 0; _backSurface = NULL; if (_hasBackFrame) @@ -218,10 +218,11 @@ Graphics::PixelFormat RL2Decoder::RL2VideoTrack::getPixelFormat() const { const Graphics::Surface *RL2Decoder::RL2VideoTrack::decodeNextFrame() { if (_curFrame == 0 && _hasBackFrame) { - // Read in the background frame + // Read in the initial background frame _fileStream->seek(0x324); - rl2DecodeFrameWithoutBackground(0); + rl2DecodeFrameWithoutTransparency(0); + initBackSurface(); Common::copy((byte *)_surface->getPixels(), (byte *)_surface->getPixels() + (320 * 200), (byte *)_backSurface->getPixels()); _dirtyRects.push_back(Common::Rect(0, 0, _surface->w, _surface->h)); @@ -233,15 +234,12 @@ const Graphics::Surface *RL2Decoder::RL2VideoTrack::decodeNextFrame() { // If there's any sound data, pass it to the audio track _fileStream->seek(_header._frameSoundSizes[_curFrame], SEEK_CUR); - // Decode the graphic data + // Decode the graphic data using the appropriate method depending on whether the animation + // has a background or just raw frames without any background transparency if (_hasBackFrame) { - if (_curFrame > 0) - Common::copy((byte *)_backSurface->getPixels(), (byte *)_backSurface->getPixels() + (320 * 200), - (byte *)_surface->getPixels()); - - rl2DecodeFrameWithBackground(); + rl2DecodeFrameWithTransparency(_videoBase); } else { - rl2DecodeFrameWithoutBackground(); + rl2DecodeFrameWithoutTransparency(_videoBase); } _curFrame++; @@ -269,71 +267,71 @@ void RL2Decoder::RL2VideoTrack::copyFrame(uint8 *data) { _dirtyRects.push_back(Common::Rect(0, 0, getWidth(), getHeight())); } -void RL2Decoder::RL2VideoTrack::rl2DecodeFrameWithoutBackground(int screenOffset) { +void RL2Decoder::RL2VideoTrack::rl2DecodeFrameWithoutTransparency(int screenOffset) { if (screenOffset == -1) screenOffset = _videoBase; - const byte *srcP = !_backSurface ? NULL : (const byte *)_backSurface->getPixels(); - byte *destP = (byte *)_surface->getPixels(); int frameSize = _surface->w * _surface->h - screenOffset; - - // If a background was manually set, copy over the initial part remaining unchanged - if (srcP && screenOffset > 0) { - Common::copy(srcP, srcP + screenOffset, destP); - srcP += screenOffset; - } - destP += screenOffset; + byte *destP = (byte *)_surface->getPixels(); // Main frame decode loop - while (frameSize > 0) { - byte nextByte = _fileStream->readByte(); + byte nextByte; + for (;;) { + nextByte = _fileStream->readByte(); if (nextByte < 0x80) { + // Simple byte to copy to output + assert(frameSize > 0); *destP++ = nextByte; --frameSize; - if (srcP) - ++srcP; - } else if (nextByte == 0x80) { - int runLength = _fileStream->readByte(); - if (runLength == 0) - return; - - runLength = MIN(runLength, frameSize); - if (srcP) { - Common::copy(srcP, srcP + runLength, destP); - srcP += runLength; - } else { - Common::fill(destP, destP + runLength, 0); - } + } else if (nextByte > 0x80) { + // Lower 7 bits a run length for the following byte + byte runLength = _fileStream->readByte(); + assert(frameSize >= runLength); + Common::fill(destP, destP + runLength, nextByte & 0x7f); destP += runLength; frameSize -= runLength; } else { - int runLength = _fileStream->readByte(); - - runLength = MIN(runLength, frameSize); - Common::fill(destP, destP + runLength, nextByte & 0x7f); + // Follow byte run length for zeroes. If zero, indicates end of image + byte runLength = _fileStream->readByte(); + if (runLength == 0) + break; + + assert(frameSize >= runLength); + Common::fill(destP, destP + runLength, 0); destP += runLength; frameSize -= runLength; - if (srcP) - srcP += runLength; } } + + // If there's any remaining screen area, zero it out + byte *endP = (byte *)_surface->getPixels() + _surface->w * _surface->h; + if (destP != endP) + Common::fill(destP, endP, 0); } -void RL2Decoder::RL2VideoTrack::rl2DecodeFrameWithBackground() { - int screenOffset = _videoBase; - int frameSize = _surface->w * _surface->h - _videoBase; - byte *src = (byte *)_backSurface->getPixels(); - byte *dest = (byte *)_surface->getPixels(); +void RL2Decoder::RL2VideoTrack::rl2DecodeFrameWithTransparency(int screenOffset) { + int frameSize = _surface->w * _surface->h; + byte *refP = (byte *)_backSurface->getPixels(); + byte *destP = (byte *)_surface->getPixels(); + + // If there's a screen offset, copy unchanged initial pixels from reference surface + if (screenOffset > 0) + Common::copy(refP, refP + screenOffset, destP); - while (frameSize > 0) { + // Main decode loop + for (;;) { byte nextByte = _fileStream->readByte(); if (nextByte == 0) { - dest[screenOffset] = src[screenOffset]; + // Move one single byte from reference surface + assert(frameSize > 0); + destP[screenOffset] = refP[screenOffset]; ++screenOffset; --frameSize; } else if (nextByte < 0x80) { - dest[screenOffset] = nextByte | 0x80; + // Raw byte to copy to output + assert(frameSize > 0); + destP[screenOffset] = nextByte; ++screenOffset; --frameSize; } else if (nextByte == 0x80) { @@ -341,19 +339,25 @@ void RL2Decoder::RL2VideoTrack::rl2DecodeFrameWithBackground() { if (runLength == 0) return; - assert(runLength <= frameSize); - Common::copy(src + screenOffset, src + screenOffset + runLength, dest); + assert(frameSize >= runLength); + Common::copy(refP + screenOffset, refP + screenOffset + runLength, destP + screenOffset); screenOffset += runLength; frameSize -= runLength; } else { + // Run length of a single pixel value byte runLength = _fileStream->readByte(); - - assert(runLength <= frameSize); - Common::fill(dest + screenOffset, dest + screenOffset + runLength, nextByte & 0x7f); + nextByte &= 0x7f; + + assert(frameSize >= runLength); + Common::fill(destP + screenOffset, destP + screenOffset + runLength, nextByte); screenOffset += runLength; frameSize -= runLength; } } + + // If there's a remaining section of the screen not covered, copy it from reference surface + if (screenOffset < (_surface->w * _surface->h)) + Common::copy(refP + screenOffset, refP + (_surface->w * _surface->h), destP + screenOffset); } void RL2Decoder::RL2VideoTrack::setupBackSurface(Graphics::Surface *surface) { diff --git a/engines/voyeur/animation.h b/engines/voyeur/animation.h index 60d4830cf1..9f1a2ab833 100644 --- a/engines/voyeur/animation.h +++ b/engines/voyeur/animation.h @@ -130,8 +130,8 @@ private: Common::List _dirtyRects; void copyFrame(uint8 *data); - void rl2DecodeFrameWithBackground(); - void rl2DecodeFrameWithoutBackground(int screenOffset = -1); + void rl2DecodeFrameWithTransparency(int screenOffset); + void rl2DecodeFrameWithoutTransparency(int screenOffset = -1); void initBackSurface(); }; diff --git a/engines/voyeur/voyeur.cpp b/engines/voyeur/voyeur.cpp index 4a51d89e1f..051c8b955d 100644 --- a/engines/voyeur/voyeur.cpp +++ b/engines/voyeur/voyeur.cpp @@ -555,8 +555,6 @@ void VoyeurEngine::playAVideoDuration(int videoId, int duration) { decoder.loadVideo(videoId); decoder.start(); - decoder.getVideoTrack()->setupBackSurface(&_graphicsManager._screenSurface); - decoder.seek(Audio::Timestamp(_voy._vocSecondsOffset * 1000)); int endFrame = decoder.getCurFrame() + totalFrames; -- cgit v1.2.3 From 1cdca7cd7f4108418c0b9077a51b491755770fdb Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Wed, 1 Jan 2014 07:15:52 +1100 Subject: VOYEUR: Fix memory leak in animation header class --- engines/voyeur/animation.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/engines/voyeur/animation.cpp b/engines/voyeur/animation.cpp index db800ad015..393cd70c26 100644 --- a/engines/voyeur/animation.cpp +++ b/engines/voyeur/animation.cpp @@ -100,8 +100,8 @@ RL2Decoder::RL2VideoTrack *RL2Decoder::getVideoTrack() { /*------------------------------------------------------------------------*/ RL2Decoder::RL2FileHeader::RL2FileHeader() { - _frameOffsets = NULL; - _frameSoundSizes = NULL; + _frameOffsets = nullptr; + _frameSoundSizes = nullptr; } RL2Decoder::RL2FileHeader::~RL2FileHeader() { @@ -137,11 +137,13 @@ void RL2Decoder::RL2FileHeader::load(Common::SeekableReadStream *stream) { stream->skip(_backSize + 4 * _numFrames); // Load frame offsets + delete[] _frameOffsets; _frameOffsets = new uint32[_numFrames]; for (int i = 0; i < _numFrames; ++i) _frameOffsets[i] = stream->readUint32LE(); // Load the size of the sound portion of each frame + delete[] _frameSoundSizes; _frameSoundSizes = new int[_numFrames]; for (int i = 0; i < _numFrames; ++i) _frameSoundSizes[i] = stream->readUint32LE() & 0xffff; -- cgit v1.2.3 From f153ef4b462c73a6d072b4d82c7e8e673c2183fc Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Wed, 1 Jan 2014 07:17:29 +1100 Subject: VOYEUR: Fix compiler warning --- engines/voyeur/files.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/engines/voyeur/files.h b/engines/voyeur/files.h index 2d1aa9d29b..0532b7c3d4 100644 --- a/engines/voyeur/files.h +++ b/engines/voyeur/files.h @@ -272,7 +272,7 @@ public: PictureResource(BoltFilesState &state, const byte *src); PictureResource(int flags, int select, int pick, int onOff, int depth, const Common::Rect &bounds, int maskData, byte *imgData, int planeSize); - PictureResource::PictureResource(Graphics::Surface *surface); + PictureResource(Graphics::Surface *surface); PictureResource(); virtual ~PictureResource(); }; -- cgit v1.2.3 From 9f103cb8fb4ffa0851206a11aa51b42571c4605d Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Wed, 1 Jan 2014 08:09:05 +1100 Subject: VOYEUR: Workaround for original intrepreter frame overruns --- engines/voyeur/animation.cpp | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/engines/voyeur/animation.cpp b/engines/voyeur/animation.cpp index 393cd70c26..b862f3a8d9 100644 --- a/engines/voyeur/animation.cpp +++ b/engines/voyeur/animation.cpp @@ -180,8 +180,10 @@ RL2Decoder::RL2VideoTrack::RL2VideoTrack(const RL2FileHeader &header, RL2AudioTr } RL2Decoder::RL2VideoTrack::~RL2VideoTrack() { + // Free the file stream delete _fileStream; + // Free surfaces _surface->free(); delete _surface; if (_backSurface) { @@ -224,7 +226,6 @@ const Graphics::Surface *RL2Decoder::RL2VideoTrack::decodeNextFrame() { _fileStream->seek(0x324); rl2DecodeFrameWithoutTransparency(0); - initBackSurface(); Common::copy((byte *)_surface->getPixels(), (byte *)_surface->getPixels() + (320 * 200), (byte *)_backSurface->getPixels()); _dirtyRects.push_back(Common::Rect(0, 0, _surface->w, _surface->h)); @@ -312,7 +313,7 @@ void RL2Decoder::RL2VideoTrack::rl2DecodeFrameWithoutTransparency(int screenOffs } void RL2Decoder::RL2VideoTrack::rl2DecodeFrameWithTransparency(int screenOffset) { - int frameSize = _surface->w * _surface->h; + int frameSize = _surface->w * _surface->h - screenOffset; byte *refP = (byte *)_backSurface->getPixels(); byte *destP = (byte *)_surface->getPixels(); @@ -321,12 +322,11 @@ void RL2Decoder::RL2VideoTrack::rl2DecodeFrameWithTransparency(int screenOffset) Common::copy(refP, refP + screenOffset, destP); // Main decode loop - for (;;) { + while (frameSize > 0) { byte nextByte = _fileStream->readByte(); if (nextByte == 0) { // Move one single byte from reference surface - assert(frameSize > 0); destP[screenOffset] = refP[screenOffset]; ++screenOffset; --frameSize; @@ -337,20 +337,21 @@ void RL2Decoder::RL2VideoTrack::rl2DecodeFrameWithTransparency(int screenOffset) ++screenOffset; --frameSize; } else if (nextByte == 0x80) { - byte runLength = _fileStream->readByte(); + int runLength = _fileStream->readByte(); if (runLength == 0) return; - assert(frameSize >= runLength); + // Run length of transparency (i.e. pixels to copy from reference frame) + runLength = MIN(runLength, frameSize); Common::copy(refP + screenOffset, refP + screenOffset + runLength, destP + screenOffset); screenOffset += runLength; frameSize -= runLength; } else { // Run length of a single pixel value - byte runLength = _fileStream->readByte(); + int runLength = _fileStream->readByte(); nextByte &= 0x7f; - assert(frameSize >= runLength); + runLength = MIN(runLength, frameSize); Common::fill(destP + screenOffset, destP + screenOffset + runLength, nextByte); screenOffset += runLength; frameSize -= runLength; -- cgit v1.2.3 From 3e268ca4e0963b95e36d84e506d1d2397fa84ecb Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Tue, 31 Dec 2013 13:43:47 -1000 Subject: VOYEUR: Fix to cardPerform switch cases --- engines/voyeur/files_threads.cpp | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/engines/voyeur/files_threads.cpp b/engines/voyeur/files_threads.cpp index ecf564c2ce..df6ad3ae75 100644 --- a/engines/voyeur/files_threads.cpp +++ b/engines/voyeur/files_threads.cpp @@ -787,6 +787,7 @@ const byte *ThreadResource::cardPerform(const byte *card) { int v3; byte bVal; uint32 idx1, idx2; + debugC(DEBUG_BASIC, kDebugScripts, "cardPerform - %d", id); switch (id) { case 1: @@ -888,17 +889,17 @@ const byte *ThreadResource::cardPerform(const byte *card) { card += 2; break; - case 22: case 23: - case 26: + case 24: case 27: + case 28: varD -= 3; // Deliberate fall-through - case 20: case 21: - case 24: + case 22: case 25: + case 26: bVal = card[varD]; if (bVal == 61) { if (cardPerform2(card, id)) { -- cgit v1.2.3 From 5c20b3c331178129f6c9dcacce9b36b0a1133dd8 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Tue, 31 Dec 2013 16:08:00 -1000 Subject: VOYEUR: Implementing game end methods --- engines/voyeur/animation.cpp | 31 ++++++-- engines/voyeur/animation.h | 7 ++ engines/voyeur/files.cpp | 1 + engines/voyeur/voyeur.cpp | 2 + engines/voyeur/voyeur.h | 33 +++++++++ engines/voyeur/voyeur_game.cpp | 160 +++++++++++++++++++++++++++++++++++++++++ 6 files changed, 230 insertions(+), 4 deletions(-) diff --git a/engines/voyeur/animation.cpp b/engines/voyeur/animation.cpp index b862f3a8d9..0fc5669c66 100644 --- a/engines/voyeur/animation.cpp +++ b/engines/voyeur/animation.cpp @@ -22,6 +22,7 @@ #include "voyeur/animation.h" #include "voyeur/staticres.h" +#include "voyeur/voyeur.h" #include "common/memstream.h" #include "common/system.h" #include "audio/decoders/raw.h" @@ -97,6 +98,27 @@ RL2Decoder::RL2VideoTrack *RL2Decoder::getVideoTrack() { return (RL2VideoTrack *)track; } +void RL2Decoder::play(::Voyeur::VoyeurEngine *vm) { + vm->_eventsManager.getMouseInfo(); + + while (!vm->shouldQuit() && !endOfVideo() && !vm->_eventsManager._mouseClicked) { + if (hasDirtyPalette()) { + const byte *palette = getPalette(); + vm->_graphicsManager.setPalette(palette, 0, 256); + } + + if (needsUpdate()) { + const Graphics::Surface *frame = decodeNextFrame(); + + Common::copy((const byte *)frame->getPixels(), (const byte *)frame->getPixels() + 320 * 200, + (byte *)vm->_graphicsManager._screenSurface.getPixels()); + } + + vm->_eventsManager.getMouseInfo(); + g_system->delayMillis(10); + } +} + /*------------------------------------------------------------------------*/ RL2Decoder::RL2FileHeader::RL2FileHeader() { @@ -288,18 +310,19 @@ void RL2Decoder::RL2VideoTrack::rl2DecodeFrameWithoutTransparency(int screenOffs --frameSize; } else if (nextByte > 0x80) { // Lower 7 bits a run length for the following byte - byte runLength = _fileStream->readByte(); - assert(frameSize >= runLength); + int runLength = _fileStream->readByte(); + runLength = MIN(runLength, frameSize); + Common::fill(destP, destP + runLength, nextByte & 0x7f); destP += runLength; frameSize -= runLength; } else { // Follow byte run length for zeroes. If zero, indicates end of image - byte runLength = _fileStream->readByte(); + int runLength = _fileStream->readByte(); if (runLength == 0) break; - assert(frameSize >= runLength); + runLength = MIN(runLength, frameSize); Common::fill(destP, destP + runLength, 0); destP += runLength; frameSize -= runLength; diff --git a/engines/voyeur/animation.h b/engines/voyeur/animation.h index 9f1a2ab833..c68c670fbb 100644 --- a/engines/voyeur/animation.h +++ b/engines/voyeur/animation.h @@ -30,6 +30,12 @@ #include "common/rect.h" #include "common/stream.h" +namespace Voyeur { + +class VoyeurEngine; + +} + namespace Video { /** @@ -149,6 +155,7 @@ public: void clearDirtyRects(); void copyDirtyRectsToBuffer(uint8 *dst, uint pitch); RL2VideoTrack *getVideoTrack(); + void play(::Voyeur::VoyeurEngine *vm); }; } // End of namespace Video diff --git a/engines/voyeur/files.cpp b/engines/voyeur/files.cpp index 1b33c5f997..1e08acb489 100644 --- a/engines/voyeur/files.cpp +++ b/engines/voyeur/files.cpp @@ -454,6 +454,7 @@ BVoyBoltFile::BVoyBoltFile(BoltFilesState &state): BoltFile("bvoy.blt", state) { void BVoyBoltFile::initResource(int resType) { switch (resType) { case 2: + // Also used for point list, and ending credits credit data sInitRect(); break; case 8: diff --git a/engines/voyeur/voyeur.cpp b/engines/voyeur/voyeur.cpp index 051c8b955d..fa9b12e70f 100644 --- a/engines/voyeur/voyeur.cpp +++ b/engines/voyeur/voyeur.cpp @@ -102,6 +102,8 @@ Common::Error VoyeurEngine::run() { _voy._field478 |= 0x80; playStamp(); + if (!shouldQuit()) + doTailTitle(); } //doHeadTitle(); diff --git a/engines/voyeur/voyeur.h b/engines/voyeur/voyeur.h index 2dde65c5d3..8cf13259dc 100644 --- a/engines/voyeur/voyeur.h +++ b/engines/voyeur/voyeur.h @@ -84,11 +84,44 @@ private: void playStamp(); void initStamp(); void closeStamp(); + + /** + * Shows the game ending title animation + */ + void doTailTitle(); + + /** + * Shows the game ending credits + */ + void doClosingCredits(); + + /** + * Shows the final anti-piracy message before exiting the game + */ + void doPiracy(); + void reviewTape(); + + /** + * Shows the TV gossip animation + */ void doGossip(); + + /** + * Shows the animation of the VCR tape during the 'Call the Police' sequence + */ void doTapePlaying(); + + /** + * Does a check as to whether a murder has been witnessed + */ bool checkForMurder(); + + /** + * Does a check for whether incriminating evidence has been revealed + */ bool checkForIncriminate(); + void playAVideoEvent(int eventIndex); int getChooseButton(); protected: diff --git a/engines/voyeur/voyeur_game.cpp b/engines/voyeur/voyeur_game.cpp index 740bf1728a..c0989e2206 100644 --- a/engines/voyeur/voyeur_game.cpp +++ b/engines/voyeur/voyeur_game.cpp @@ -225,6 +225,166 @@ void VoyeurEngine::closeStamp() { ThreadResource::unloadAllStacks(this); } +void VoyeurEngine::doTailTitle() { + _bVoy->freeBoltGroup(0x100); + (*_graphicsManager._vPort)->setupViewPort(NULL); + _graphicsManager.screenReset(); + + if (_bVoy->getBoltGroup(0x600)) { + ::Video::RL2Decoder decoder; + decoder.loadFile("a1100200.rl2"); + decoder.start(); + decoder.play(this); + + if (!shouldQuit() && !_eventsManager._mouseClicked) { + doClosingCredits(); + + if (!shouldQuit() && !_eventsManager._mouseClicked) { + _graphicsManager.screenReset(); + + PictureResource *pic = _bVoy->boltEntry(0x602)._picResource; + CMapResource *pal = _bVoy->boltEntry(0x603)._cMapResource; + + (*_graphicsManager._vPort)->setupViewPort(pic); + pal->startFade(); + flipPageAndWaitForFade(); + _eventsManager.delayClick(300); + + pic = _bVoy->boltEntry(0x604)._picResource; + pal = _bVoy->boltEntry(0x605)._cMapResource; + + (*_graphicsManager._vPort)->setupViewPort(pic); + pal->startFade(); + flipPageAndWaitForFade(); + _eventsManager.delayClick(120); + + _soundManager.stopVOCPlay(); + } + } + + _bVoy->freeBoltGroup(0x600); + } + + if (!shouldQuit()) { + _bVoy->getBoltGroup(0x100); + doPiracy(); + } +} + +void VoyeurEngine::doClosingCredits() { + if (!_bVoy->getBoltGroup(0x400)) + return; + + const char *msg = (const char *)_bVoy->memberAddr(0x404); + const byte *yList = (const byte *)_bVoy->memberAddr(0x405); + + (*_graphicsManager._vPort)->setupViewPort(NULL); + _graphicsManager.setColor(1, 180, 180, 180); + _graphicsManager.setColor(2, 200, 200, 200); + _eventsManager._intPtr.field38 = true; + _eventsManager._intPtr._hasPalette = true; + + _graphicsManager._fontPtr->_curFont = _bVoy->boltEntry(0x402)._fontResource; + _graphicsManager._fontPtr->_foreColor = 2; + _graphicsManager._fontPtr->_backColor = 2; + _graphicsManager._fontPtr->_fontSaveBack = false; + _graphicsManager._fontPtr->_fontFlags = 0; + + _soundManager.startVOCPlay(152); + FontInfoResource &fi = *_graphicsManager._fontPtr; + + for (int idx = 0; idx < 78; ++idx) { + byte *entry = yList + idx * 6; + int flags = READ_LE_UINT16(entry + 4); + + if (flags & 0x10) + (*_graphicsManager->_vPort)->sFillPic(); + + if (flags & 1) { + fi._foreColor = 1; + fi._curFont = _bVoy->boltEntry(0x402)._fontResource; + fi.justify = true; + fi.justifyWidth = 384; + fi._justifyHeight = 240; + fi._pos = Common::Point(0, READ_LE_UINT16(entry)); + + (*_graphicsManager._vPort)->drawText(msg); + msg += strlen(msg) + 1; + } + + if (flags & 0x40) { + fi._foreColor = 2; + fi._curFont = _bVoy->boltEntry(0x400)._fontResource; + fi.justify = true; + fi.justifyWidth = 384; + fi._justifyHeight = 240; + fi._pos = Common::Point(0, READ_LE_UINT16(entry)); + + (*_graphicsManager._vPort)->drawText(msg); + msg += strlen(msg) + 1; + } + + if (flags & 2) { + fi._foreColor = 1; + fi._curFont = _bVoy->boltEntry(0x400)._fontResource; + fi.justify = false; + fi.justifyWidth = 384; + fi._justifyHeight = 240; + fi._pos = Common::Point(38, READ_LE_UINT16(entry)); + + (*_graphicsManager._vPort)->drawText(msg); + msg += strlen(msg) + 1; + + fi._foreColor = 2; + fi.justify = false; + fi.justifyWidth = 384; + fi._justifyHeight = 240; + fi._pos = Common::Point(198, READ_LE_UINT16(entry)); + + (*_graphicsManager._vPort)->drawText(msg); + msg += strlen(msg) + 1; + } + + if (flags & 4) { + fi._foreColor = 1; + fi._curFont = _bVoy->boltEntry(0x402)._fontResource; + fi.justify = true; + fi.justifyWidth = 384; + fi._justifyHeight = 240; + fi._pos = Common::Point(0, READ_LE_UINT16(entry)); + + (*_graphicsManager._vPort)->drawText(msg); + msg += strlen(msg) + 1; + + fi._foreColor = 2; + fi._curFont = _bVoy->boltEntry(0x400)._fontResource; + fi.justify = true; + fi.justifyWidth = 384; + fi._justifyHeight = 240; + fi._pos = Common::Point(0, READ_LE_UINT16(entry) + 13); + + (*_graphicsManager._vPort)->drawText(msg); + msg += strlen(msg) + 1; + } + + if (flags & 0x20) { + flipPageAndWait(); + _eventsManager.delayClick(READ_LE_UINT16(entry + 2) * 60); + } + + if (shouldQuit() || _eventsManager._mouseClicked) + break; + } + + _soundManager.stopVOCPlay(); + _graphicsManager._fontPtr->_curFont = _bVoy->boltEntry(0x101)._fontResource; + _bVoy->freeBoltGroup(0x400); +} + +void VoyeurEngine::doPiracy() { + +} + void VoyeurEngine::reviewTape() { // int var22 = 0; int si = 0; -- cgit v1.2.3 From 86a0d366e4f1234ea2f40c770efb2fffe292c9a9 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Tue, 31 Dec 2013 16:36:28 -1000 Subject: VOYEUR: Implemented game ending title and credits --- engines/voyeur/staticres.cpp | 13 +++++++++ engines/voyeur/staticres.h | 2 ++ engines/voyeur/voyeur_game.cpp | 60 +++++++++++++++++++++++++++++++----------- 3 files changed, 59 insertions(+), 16 deletions(-) diff --git a/engines/voyeur/staticres.cpp b/engines/voyeur/staticres.cpp index d0f590eab3..7bba6517fe 100644 --- a/engines/voyeur/staticres.cpp +++ b/engines/voyeur/staticres.cpp @@ -126,4 +126,17 @@ int DOT_LINE_LENGTH[9] = { 5, 7, 9, 11, 11, 11, 9, 7, 5 }; +const char *const PIRACY_MESSAGE[] = { + "It is illegal to make", + "unauthorized copies of", + "this software. Duplication", + "of this software for any", + "reason including sale,", + "loan, rental, or gift is a", + "crime. Penalties include", + "fines of up to $50,000", + "and jail terms up to", + "5 years." +}; + } // End of namespace Voyeur diff --git a/engines/voyeur/staticres.h b/engines/voyeur/staticres.h index a6b81f06d6..20bffe01e3 100644 --- a/engines/voyeur/staticres.h +++ b/engines/voyeur/staticres.h @@ -56,6 +56,8 @@ extern int DOT_LINE_START[9]; extern int DOT_LINE_OFFSET[9]; extern int DOT_LINE_LENGTH[9]; +extern const char *const PIRACY_MESSAGE[]; + } // End of namespace Voyeur #endif diff --git a/engines/voyeur/voyeur_game.cpp b/engines/voyeur/voyeur_game.cpp index c0989e2206..c57de37162 100644 --- a/engines/voyeur/voyeur_game.cpp +++ b/engines/voyeur/voyeur_game.cpp @@ -226,7 +226,6 @@ void VoyeurEngine::closeStamp() { } void VoyeurEngine::doTailTitle() { - _bVoy->freeBoltGroup(0x100); (*_graphicsManager._vPort)->setupViewPort(NULL); _graphicsManager.screenReset(); @@ -276,7 +275,7 @@ void VoyeurEngine::doClosingCredits() { return; const char *msg = (const char *)_bVoy->memberAddr(0x404); - const byte *yList = (const byte *)_bVoy->memberAddr(0x405); + const byte *creditList = (const byte *)_bVoy->memberAddr(0x405); (*_graphicsManager._vPort)->setupViewPort(NULL); _graphicsManager.setColor(1, 180, 180, 180); @@ -294,17 +293,17 @@ void VoyeurEngine::doClosingCredits() { FontInfoResource &fi = *_graphicsManager._fontPtr; for (int idx = 0; idx < 78; ++idx) { - byte *entry = yList + idx * 6; + const byte *entry = creditList + idx * 6; int flags = READ_LE_UINT16(entry + 4); if (flags & 0x10) - (*_graphicsManager->_vPort)->sFillPic(); + (*_graphicsManager._vPort)->fillPic(); if (flags & 1) { fi._foreColor = 1; fi._curFont = _bVoy->boltEntry(0x402)._fontResource; - fi.justify = true; - fi.justifyWidth = 384; + fi._justify = ALIGN_CENTRE; + fi._justifyWidth = 384; fi._justifyHeight = 240; fi._pos = Common::Point(0, READ_LE_UINT16(entry)); @@ -315,8 +314,8 @@ void VoyeurEngine::doClosingCredits() { if (flags & 0x40) { fi._foreColor = 2; fi._curFont = _bVoy->boltEntry(0x400)._fontResource; - fi.justify = true; - fi.justifyWidth = 384; + fi._justify = ALIGN_CENTRE; + fi._justifyWidth = 384; fi._justifyHeight = 240; fi._pos = Common::Point(0, READ_LE_UINT16(entry)); @@ -327,8 +326,8 @@ void VoyeurEngine::doClosingCredits() { if (flags & 2) { fi._foreColor = 1; fi._curFont = _bVoy->boltEntry(0x400)._fontResource; - fi.justify = false; - fi.justifyWidth = 384; + fi._justify = ALIGN_LEFT; + fi._justifyWidth = 384; fi._justifyHeight = 240; fi._pos = Common::Point(38, READ_LE_UINT16(entry)); @@ -336,8 +335,8 @@ void VoyeurEngine::doClosingCredits() { msg += strlen(msg) + 1; fi._foreColor = 2; - fi.justify = false; - fi.justifyWidth = 384; + fi._justify = ALIGN_LEFT; + fi._justifyWidth = 384; fi._justifyHeight = 240; fi._pos = Common::Point(198, READ_LE_UINT16(entry)); @@ -348,8 +347,8 @@ void VoyeurEngine::doClosingCredits() { if (flags & 4) { fi._foreColor = 1; fi._curFont = _bVoy->boltEntry(0x402)._fontResource; - fi.justify = true; - fi.justifyWidth = 384; + fi._justify = ALIGN_CENTRE; + fi._justifyWidth = 384; fi._justifyHeight = 240; fi._pos = Common::Point(0, READ_LE_UINT16(entry)); @@ -358,8 +357,8 @@ void VoyeurEngine::doClosingCredits() { fi._foreColor = 2; fi._curFont = _bVoy->boltEntry(0x400)._fontResource; - fi.justify = true; - fi.justifyWidth = 384; + fi._justify = ALIGN_CENTRE; + fi._justifyWidth = 384; fi._justifyHeight = 240; fi._pos = Common::Point(0, READ_LE_UINT16(entry) + 13); @@ -382,7 +381,36 @@ void VoyeurEngine::doClosingCredits() { } void VoyeurEngine::doPiracy() { + _graphicsManager.screenReset(); + _graphicsManager.setColor(1, 0, 0, 0); + _graphicsManager.setColor(2, 255, 255, 255); + _eventsManager._intPtr.field38 = true; + _eventsManager._intPtr._hasPalette = true; + (*_graphicsManager._vPort)->setupViewPort(NULL); + (*_graphicsManager._vPort)->fillPic(1); + FontInfoResource &fi = *_graphicsManager._fontPtr; + fi._curFont = _bVoy->boltEntry(0x101)._fontResource; + fi._foreColor = 2; + fi._backColor = 2; + fi._fontSaveBack = false; + fi._fontFlags = 0; + fi._justify = ALIGN_CENTRE; + fi._justifyWidth = 384; + fi._justifyHeight = 230; + + // Loop through the piracy message array to draw each line + int yp, idx; + for (idx = 0, yp = 33; idx < 10; ++idx) { + fi._pos = Common::Point(0, yp); + (*_graphicsManager._vPort)->drawText(PIRACY_MESSAGE[idx]); + + yp += fi._curFont->_fontHeight + 4; + } + + flipPageAndWait(); + _eventsManager.getMouseInfo(); + _eventsManager.delayClick(720); } void VoyeurEngine::reviewTape() { -- cgit v1.2.3 From 76f7d974f6f0fe97033e07481f0b9d8f2cc2b42b Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Thu, 2 Jan 2014 14:28:31 -1000 Subject: VOYEUR: In progress work trying to fix doGossip --- engines/voyeur/animation.cpp | 15 +++++++-------- engines/voyeur/animation.h | 3 ++- engines/voyeur/graphics.cpp | 12 ++++++++++++ engines/voyeur/graphics.h | 1 + engines/voyeur/voyeur_game.cpp | 19 +++++++------------ 5 files changed, 29 insertions(+), 21 deletions(-) diff --git a/engines/voyeur/animation.cpp b/engines/voyeur/animation.cpp index 0fc5669c66..5bda66e7fe 100644 --- a/engines/voyeur/animation.cpp +++ b/engines/voyeur/animation.cpp @@ -195,7 +195,7 @@ RL2Decoder::RL2VideoTrack::RL2VideoTrack(const RL2FileHeader &header, RL2AudioTr initBackSurface(); _videoBase = header._videoBase; - _dirtyPalette = true; + _dirtyPalette = header._colorCount > 0; _curFrame = 0; _nextFrameStartTime = 0; @@ -261,7 +261,7 @@ const Graphics::Surface *RL2Decoder::RL2VideoTrack::decodeNextFrame() { // Decode the graphic data using the appropriate method depending on whether the animation // has a background or just raw frames without any background transparency - if (_hasBackFrame) { + if (_backSurface) { rl2DecodeFrameWithTransparency(_videoBase); } else { rl2DecodeFrameWithoutTransparency(_videoBase); @@ -350,6 +350,7 @@ void RL2Decoder::RL2VideoTrack::rl2DecodeFrameWithTransparency(int screenOffset) if (nextByte == 0) { // Move one single byte from reference surface + assert(frameSize > 0); destP[screenOffset] = refP[screenOffset]; ++screenOffset; --frameSize; @@ -366,6 +367,7 @@ void RL2Decoder::RL2VideoTrack::rl2DecodeFrameWithTransparency(int screenOffset) // Run length of transparency (i.e. pixels to copy from reference frame) runLength = MIN(runLength, frameSize); + Common::copy(refP + screenOffset, refP + screenOffset + runLength, destP + screenOffset); screenOffset += runLength; frameSize -= runLength; @@ -373,8 +375,8 @@ void RL2Decoder::RL2VideoTrack::rl2DecodeFrameWithTransparency(int screenOffset) // Run length of a single pixel value int runLength = _fileStream->readByte(); nextByte &= 0x7f; - runLength = MIN(runLength, frameSize); + Common::fill(destP + screenOffset, destP + screenOffset + runLength, nextByte); screenOffset += runLength; frameSize -= runLength; @@ -386,14 +388,11 @@ void RL2Decoder::RL2VideoTrack::rl2DecodeFrameWithTransparency(int screenOffset) Common::copy(refP + screenOffset, refP + (_surface->w * _surface->h), destP + screenOffset); } -void RL2Decoder::RL2VideoTrack::setupBackSurface(Graphics::Surface *surface) { +Graphics::Surface *RL2Decoder::RL2VideoTrack::getBackSurface() { if (!_backSurface) initBackSurface(); - assert(surface->w == _backSurface->w && surface->h == _backSurface->h); - const byte *srcP = (const byte *)surface->getPixels(); - byte *destP = (byte *)_backSurface->getPixels(); - Common::copy(srcP, srcP + surface->w * surface->h, destP); + return _backSurface; } /*------------------------------------------------------------------------*/ diff --git a/engines/voyeur/animation.h b/engines/voyeur/animation.h index c68c670fbb..ed237775cf 100644 --- a/engines/voyeur/animation.h +++ b/engines/voyeur/animation.h @@ -105,17 +105,18 @@ private: uint16 getWidth() const; uint16 getHeight() const; Graphics::Surface *getSurface() { return _surface; } + Graphics::Surface *getBackSurface(); Graphics::PixelFormat getPixelFormat() const; int getCurFrame() const { return _curFrame; } int getFrameCount() const { return _header._numFrames; } uint32 getNextFrameStartTime() const { return _nextFrameStartTime; } const Graphics::Surface *decodeNextFrame(); const byte *getPalette() const { _dirtyPalette = false; return _header._palette; } + int getPaletteCount() const { return _header._colorCount; } bool hasDirtyPalette() const { return _dirtyPalette; } const Common::List *getDirtyRects() const { return &_dirtyRects; } void clearDirtyRects() { _dirtyRects.clear(); } void copyDirtyRectsToBuffer(uint8 *dst, uint pitch); - void setupBackSurface(Graphics::Surface *surface); private: Common::SeekableReadStream *_fileStream; diff --git a/engines/voyeur/graphics.cpp b/engines/voyeur/graphics.cpp index f189d2b699..e4b30b14c4 100644 --- a/engines/voyeur/graphics.cpp +++ b/engines/voyeur/graphics.cpp @@ -680,6 +680,18 @@ void GraphicsManager::setOneColor(int idx, byte r, byte g, byte b) { g_system->getPaletteManager()->setPalette(&palEntry[0], idx, 1); } +void GraphicsManager::setColors(int start, int count, const byte *pal) { + for (int i = 0; i < count; ++i) { + if ((i + start) != 128) { + const byte *rgb = pal + i * 3; + setColor(i + start, rgb[0], rgb[1], rgb[2]); + } + } + + _vm->_eventsManager._intPtr.field38 = true; + _vm->_eventsManager._intPtr._hasPalette = true; +} + void GraphicsManager::screenReset() { resetPalette(); diff --git a/engines/voyeur/graphics.h b/engines/voyeur/graphics.h index 92b3e51453..970e814be2 100644 --- a/engines/voyeur/graphics.h +++ b/engines/voyeur/graphics.h @@ -111,6 +111,7 @@ public: void resetPalette(); void setColor(int idx, byte r, byte g, byte b); void setOneColor(int idx, byte r, byte g, byte b); + void setColors(int start, int count, const byte *pal); void screenReset(); void fadeDownICF1(int steps); void fadeUpICF1(int steps); diff --git a/engines/voyeur/voyeur_game.cpp b/engines/voyeur/voyeur_game.cpp index c57de37162..dab7149c2a 100644 --- a/engines/voyeur/voyeur_game.cpp +++ b/engines/voyeur/voyeur_game.cpp @@ -688,23 +688,21 @@ void VoyeurEngine::doGossip() { pal->startFade(); // Transfer initial background to video decoder - //PictureResource videoFrame(decoder.getVideoSurface()); - //_graphicsManager.sDrawPic(bgPic, &videoFrame, Common::Point(-32, -20)); + PictureResource videoFrame(decoder.getVideoTrack()->getBackSurface()); + bgPic->_bounds.moveTo(0, 0); + _graphicsManager.sDrawPic(bgPic, &videoFrame, Common::Point(0, 0)); flipPageAndWait(); - /* byte *frameNumsP = _bVoy->memberAddr(0x309); byte *posP = _bVoy->boltEntry(0x30A)._data; // Main playback loop - int picCtr = 0; - decoder.start(); while (!shouldQuit() && !decoder.endOfVideo() && !_eventsManager._mouseClicked) { if (decoder.hasDirtyPalette()) { const byte *palette = decoder.getPalette(); - _graphicsManager.setPalette(palette, 0, 256); + _graphicsManager.setPalette(palette, 128, 128); } if (decoder.needsUpdate()) { @@ -723,15 +721,12 @@ void VoyeurEngine::doGossip() { const Graphics::Surface *frame = decoder.decodeNextFrame(); Common::copy((const byte *)frame->getPixels(), (const byte *)frame->getPixels() + 320 * 200, (byte *)_graphicsManager._screenSurface.getPixels()); - - - flipPageAndWait(); } - - _eventsManager.pollEvents(); + + _eventsManager.getMouseInfo(); g_system->delayMillis(10); } - + /* decoder.loadFile("a2110100.rl2"); decoder.start(); -- cgit v1.2.3 From 1c3708630bd4e2698704883e1b1aeea94ef8379b Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Fri, 3 Jan 2014 09:20:53 -1000 Subject: VOYEUR: Replaced original game mansion scrolling with a more effective one The original had the cursor fixed in the middle of the screen, and scrolled the mansion view as the mouse moves. Since this doesn't really work for windowed mode nor tablets, I've replaced it with a new version that scrolls when the mouse cursor is near any edge of the screen --- engines/voyeur/events.cpp | 2 +- engines/voyeur/files.h | 8 +++- engines/voyeur/files_threads.cpp | 93 ++++++++++++++++++++++++++-------------- engines/voyeur/voyeur.cpp | 1 + engines/voyeur/voyeur.h | 14 ++++++ engines/voyeur/voyeur_game.cpp | 5 ++- 6 files changed, 86 insertions(+), 37 deletions(-) diff --git a/engines/voyeur/events.cpp b/engines/voyeur/events.cpp index 6ac36ddb94..e7f7916676 100644 --- a/engines/voyeur/events.cpp +++ b/engines/voyeur/events.cpp @@ -488,7 +488,7 @@ void EventsManager::setCursor(PictureResource *pic) { } void EventsManager::setCursor(byte *cursorData, int width, int height) { - CursorMan.replaceCursor(cursorData, width, height, 0, 0, 0); + CursorMan.replaceCursor(cursorData, width, height, width / 2, height / 2, 0); } void EventsManager::setCursorColor(int idx, int mode) { diff --git a/engines/voyeur/files.h b/engines/voyeur/files.h index 0532b7c3d4..17f5ccc125 100644 --- a/engines/voyeur/files.h +++ b/engines/voyeur/files.h @@ -445,8 +445,6 @@ public: static CMapResource *_cmd14Pal; static void initUseCount(); static void unloadAllStacks(VoyeurEngine *vm); - static int _currentMouseX; - static int _currentMouseY; static int _doAptPosX; static int _doAptPosY; @@ -487,6 +485,12 @@ private: * Does any necessary animation at the start or end of showing the apartment. */ void doAptAnim(int mode); + + /** + * Updates the mansion scroll position if ncessary, and returns true if it + * has been changed. + */ + bool checkMansionScroll(); public: VoyeurEngine *_vm; diff --git a/engines/voyeur/files_threads.cpp b/engines/voyeur/files_threads.cpp index df6ad3ae75..2d9ae816eb 100644 --- a/engines/voyeur/files_threads.cpp +++ b/engines/voyeur/files_threads.cpp @@ -31,8 +31,6 @@ int ThreadResource::_stampFlags; int ThreadResource::_useCount[8]; byte *ThreadResource::_threadDataPtr; CMapResource *ThreadResource::_cmd14Pal; -int ThreadResource::_currentMouseX; -int ThreadResource::_currentMouseY; int ThreadResource::_doAptPosX; int ThreadResource::_doAptPosY; @@ -41,8 +39,6 @@ void ThreadResource::init() { Common::fill(&_useCount[0], &_useCount[8], 0); _threadDataPtr = nullptr; _cmd14Pal = nullptr; - _currentMouseX = 392; - _currentMouseY = 57; _doAptPosX = -1; _doAptPosY = -1; } @@ -1361,7 +1357,6 @@ int ThreadResource::doInterface() { _vm->_voy._RTVNum = _vm->_voy._field476; _vm->makeViewFinder(); - _vm->_eventsManager.setMousePos(Common::Point(_currentMouseX, _currentMouseY)); _vm->initIFace(); _vm->_voy._RTVNum = _vm->_voy._field476 - 4; _vm->_voy._field478 &= ~1; @@ -1378,7 +1373,6 @@ int ThreadResource::doInterface() { _vm->checkTransition(); _vm->makeViewFinder(); _vm->_eventsManager.getMouseInfo(); - _vm->_eventsManager.setMousePos(Common::Point(_currentMouseX, _currentMouseY)); _vm->initIFace(); Common::Array &hotspots = _vm->_bVoy->boltEntry( @@ -1389,26 +1383,34 @@ int ThreadResource::doInterface() { Common::String fname = _vm->_soundManager.getVOCFileName(_vm->_playStamp2); _vm->_soundManager.startVOCPlay(fname); _vm->_eventsManager.getMouseInfo(); - _vm->_eventsManager.setMousePos(Common::Point(_currentMouseX, _currentMouseY)); _vm->_graphicsManager.setColor(240, 220, 220, 220); _vm->_eventsManager._intPtr.field38 = true; _vm->_eventsManager._intPtr._hasPalette = true; _vm->_voy._field478 &= ~1; + // Set the cusor + PictureResource *crosshairsCursor = _vm->_bVoy->boltEntry(0x112)._picResource; + PictureResource *mangifyCursor = _vm->_bVoy->boltEntry(0x114)._picResource; + PictureResource *unk1Cursor = _vm->_bVoy->boltEntry(0x115)._picResource; + PictureResource *unk2Cursor = _vm->_bVoy->boltEntry(0x113)._picResource; + + _vm->_eventsManager.setCursor(crosshairsCursor); + _vm->_eventsManager.showCursor(); + + // Main loop int priorRegionIndex = -1; int regionIndex = 0; + Common::Rect mansionViewBounds(MANSION_VIEW_X, MANSION_VIEW_Y, + MANSION_VIEW_X + MANSION_VIEW_WIDTH, MANSION_VIEW_Y + MANSION_VIEW_HEIGHT); + do { _vm->doTimeBar(true); _vm->_eventsManager.getMouseInfo(); - pt = _vm->_eventsManager.getMousePos(); - if (pt.x != _currentMouseX || pt.y != _currentMouseY || regionIndex != priorRegionIndex) { + if (checkMansionScroll()) { priorRegionIndex = regionIndex; - _vm->doScroll(pt); - - _currentMouseX = pt.x; - _currentMouseY = pt.y; + _vm->doScroll(_vm->_mansionViewPos); } _vm->checkPhoneCall(); @@ -1417,7 +1419,13 @@ int ThreadResource::doInterface() { _vm->_soundManager.startVOCPlay(_vm->_soundManager.getVOCFileName(_vm->_playStamp2)); } - pt = _vm->_eventsManager.getMousePos() + Common::Point(120, 75); + // Calculate the mouse position within the entire mansion + pt = _vm->_eventsManager.getMousePos(); + if (!mansionViewBounds.contains(pt)) + pt = Common::Point(-1, -1); + else + pt = _vm->_mansionViewPos + + Common::Point(pt.x - MANSION_VIEW_X, pt.y - MANSION_VIEW_Y); regionIndex = -1; for (int idx = 0; idx < (int)hotspots.size(); ++idx) { @@ -1426,19 +1434,15 @@ int ThreadResource::doInterface() { for (int arrIndex = 0; arrIndex < 3; ++arrIndex) { if (_vm->_voy._arr3[arrIndex][idx] <= _vm->_voy._RTVNum && _vm->_voy._arr4[arrIndex][idx] > _vm->_voy._RTVNum) { - // Draw the picture - pic = _vm->_bVoy->boltEntry(276)._picResource; - _vm->_graphicsManager.sDrawPic(pic, *_vm->_graphicsManager._vPort, - Common::Point(178, 108)); + // Found a hotspot - switch to the magnifying glass cursor + _vm->_eventsManager.setCursor(mangifyCursor); regionIndex = idx; } if (_vm->_voy._arr5[arrIndex][idx] <= _vm->_voy._RTVNum && _vm->_voy._arr6[idx][idx] > _vm->_voy._RTVNum) { - // Draw the picture - pic = _vm->_bVoy->boltEntry(277)._picResource; - _vm->_graphicsManager.sDrawPic(pic, *_vm->_graphicsManager._vPort, - Common::Point(178, 108)); + // Set unk? cursor + _vm->_eventsManager.setCursor(unk1Cursor); regionIndex = idx; } } @@ -1447,9 +1451,7 @@ int ThreadResource::doInterface() { if (_vm->_voy._arr1[arrIndex][idx] <= _vm->_voy._RTVNum && _vm->_voy._arr2[arrIndex][idx] > _vm->_voy._RTVNum) { // Draw the picture - pic = _vm->_bVoy->boltEntry(375)._picResource; - _vm->_graphicsManager.sDrawPic(pic, *_vm->_graphicsManager._vPort, - Common::Point(178, 108)); + _vm->_eventsManager.setCursor(unk2Cursor); regionIndex = idx; } } @@ -1457,10 +1459,8 @@ int ThreadResource::doInterface() { } if (regionIndex == -1) { - // Draw the crosshairs cursor in the center of the screen - pic = _vm->_bVoy->boltEntry(274)._picResource; - _vm->_graphicsManager.sDrawPic(pic, *_vm->_graphicsManager._vPort, - Common::Point(178, 108)); + // Reset back to the crosshairs cursor + _vm->_eventsManager.setCursor(crosshairsCursor); } // Regularly update the time display @@ -1499,20 +1499,16 @@ int ThreadResource::doInterface() { _vm->_eventsManager._leftClick = true; } else { _vm->_voy._field478 = 1; - _currentMouseX = pt.x; - _currentMouseY = pt.y; chooseSTAMPButton(20); parsePlayCommands(); _vm->checkTransition(); _vm->makeViewFinder(); - _vm->_eventsManager.setMousePos(Common::Point(_currentMouseX, _currentMouseY)); _vm->initIFace(); hotspots = _vm->_bVoy->boltEntry(_vm->_playStamp1 + 1)._rectResource->_entries; _vm->_eventsManager.getMouseInfo(); - _vm->_eventsManager.setMousePos(Common::Point(_currentMouseX, _currentMouseY)); _vm->_voy._field478 &= ~2; _vm->_eventsManager._intPtr.field1E = 1; @@ -1522,6 +1518,7 @@ int ThreadResource::doInterface() { } while (!_vm->_eventsManager._rightClick && !_vm->shouldQuit() && (!_vm->_eventsManager._leftClick || regionIndex == -1)); + _vm->_eventsManager.hideCursor(); _vm->_voy._field478 |= 1; _vm->_bVoy->freeBoltGroup(_vm->_playStamp1); if (_vm->_playStamp2 != -1) @@ -1530,6 +1527,36 @@ int ThreadResource::doInterface() { return !_vm->_eventsManager._rightClick ? regionIndex : -2; } +bool ThreadResource::checkMansionScroll() { + Common::Point pt = _vm->_eventsManager.getMousePos() - + Common::Point(MANSION_VIEW_X, MANSION_VIEW_Y); + Common::Point &viewPos = _vm->_mansionViewPos; + bool result = false; + + // Scroll mansion view if close to any of the mansion edges + if (pt.x >= 0 && pt.x < MANSION_SCROLL_AREA_X && viewPos.x > 0) { + viewPos.x = MAX(viewPos.x - MANSION_SCROLL_INC_X, 0); + result = true; + } + if (pt.x >= (MANSION_VIEW_WIDTH - MANSION_SCROLL_AREA_X) && + pt.x < MANSION_VIEW_WIDTH && viewPos.x < MANSION_MAX_X) { + viewPos.x = MIN(viewPos.x + MANSION_SCROLL_INC_X, MANSION_MAX_X); + result = true; + } + if (pt.y >= 0 && pt.y < MANSION_SCROLL_AREA_Y && viewPos.y > 0) { + viewPos.y = MAX(viewPos.y - MANSION_SCROLL_INC_Y, 0); + result = true; + } + if (pt.y >= (MANSION_VIEW_HEIGHT - MANSION_SCROLL_AREA_Y) && + pt.y < MANSION_VIEW_HEIGHT && viewPos.y < MANSION_MAX_Y) { + viewPos.y = MIN(viewPos.y + MANSION_SCROLL_INC_Y, MANSION_MAX_Y); + result = true; + } + + // Return whether mansion view area has changed + return result; +} + bool ThreadResource::goToStateID(int stackId, int sceneId) { debugC(DEBUG_BASIC, kDebugScripts, "goToStateID - %d, %d", stackId, sceneId); diff --git a/engines/voyeur/voyeur.cpp b/engines/voyeur/voyeur.cpp index fa9b12e70f..cf4a1352f2 100644 --- a/engines/voyeur/voyeur.cpp +++ b/engines/voyeur/voyeur.cpp @@ -51,6 +51,7 @@ VoyeurEngine::VoyeurEngine(OSystem *syst, const VoyeurGameDescription *gameDesc) _flashTimeFlag = false; _timeBarVal = -1; _checkPhoneVal = 0; + _mansionScrollCountdown = 0; initialiseManagers(); } diff --git a/engines/voyeur/voyeur.h b/engines/voyeur/voyeur.h index 8cf13259dc..209f5ec303 100644 --- a/engines/voyeur/voyeur.h +++ b/engines/voyeur/voyeur.h @@ -52,6 +52,18 @@ namespace Voyeur { #define MAX_RESOLVE 1000 +// Maximum scroll x, y for viewing the mansion +#define MANSION_MAX_X 784 +#define MANSION_MAX_Y 150 +#define MANSION_VIEW_X 40 +#define MANSION_VIEW_Y 27 +#define MANSION_VIEW_WIDTH 240 +#define MANSION_VIEW_HEIGHT 148 +#define MANSION_SCROLL_AREA_X 20 +#define MANSION_SCROLL_AREA_Y 10 +#define MANSION_SCROLL_INC_X 4 +#define MANSION_SCROLL_INC_Y 2 + enum VoyeurDebugChannels { kDebugPath = 1 << 0, kDebugScripts = 1 << 1 @@ -156,6 +168,8 @@ public: bool _flashTimeFlag; int _timeBarVal; int _checkPhoneVal; + Common::Point _mansionViewPos; + int _mansionScrollCountdown; public: VoyeurEngine(OSystem *syst, const VoyeurGameDescription *gameDesc); virtual ~VoyeurEngine(); diff --git a/engines/voyeur/voyeur_game.cpp b/engines/voyeur/voyeur_game.cpp index dab7149c2a..73484d72e9 100644 --- a/engines/voyeur/voyeur_game.cpp +++ b/engines/voyeur/voyeur_game.cpp @@ -1021,7 +1021,10 @@ void VoyeurEngine::initIFace(){ CMapResource *pal = _bVoy->boltEntry(_playStamp1 + 2)._cMapResource; pal->startFade(); - doScroll(_eventsManager.getMousePos()); + // Start the mansion off centered + _mansionViewPos = Common::Point((MANSION_MAX_X - MANSION_VIEW_WIDTH) / 2, + (MANSION_MAX_Y - MANSION_VIEW_HEIGHT) / 2); + doScroll(_mansionViewPos); _voy._viewBounds = _bVoy->boltEntry(_playStamp1)._rectResource; -- cgit v1.2.3 From 5b2ad8515e45642bc2829d4f62aaa571b73b1bf1 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Fri, 3 Jan 2014 09:28:40 -1000 Subject: VOYEUR: Fix names of cursor variables in doInterface --- engines/voyeur/files_threads.cpp | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/engines/voyeur/files_threads.cpp b/engines/voyeur/files_threads.cpp index 2d9ae816eb..87a8249b53 100644 --- a/engines/voyeur/files_threads.cpp +++ b/engines/voyeur/files_threads.cpp @@ -1391,9 +1391,9 @@ int ThreadResource::doInterface() { // Set the cusor PictureResource *crosshairsCursor = _vm->_bVoy->boltEntry(0x112)._picResource; - PictureResource *mangifyCursor = _vm->_bVoy->boltEntry(0x114)._picResource; - PictureResource *unk1Cursor = _vm->_bVoy->boltEntry(0x115)._picResource; - PictureResource *unk2Cursor = _vm->_bVoy->boltEntry(0x113)._picResource; + PictureResource *eyeCursor = _vm->_bVoy->boltEntry(0x113)._picResource; + PictureResource *listenCursor = _vm->_bVoy->boltEntry(0x114)._picResource; + PictureResource *mangifyCursor = _vm->_bVoy->boltEntry(0x115)._picResource; _vm->_eventsManager.setCursor(crosshairsCursor); _vm->_eventsManager.showCursor(); @@ -1435,14 +1435,14 @@ int ThreadResource::doInterface() { if (_vm->_voy._arr3[arrIndex][idx] <= _vm->_voy._RTVNum && _vm->_voy._arr4[arrIndex][idx] > _vm->_voy._RTVNum) { // Found a hotspot - switch to the magnifying glass cursor - _vm->_eventsManager.setCursor(mangifyCursor); + _vm->_eventsManager.setCursor(listenCursor); regionIndex = idx; } if (_vm->_voy._arr5[arrIndex][idx] <= _vm->_voy._RTVNum && _vm->_voy._arr6[idx][idx] > _vm->_voy._RTVNum) { // Set unk? cursor - _vm->_eventsManager.setCursor(unk1Cursor); + _vm->_eventsManager.setCursor(mangifyCursor); regionIndex = idx; } } @@ -1451,7 +1451,7 @@ int ThreadResource::doInterface() { if (_vm->_voy._arr1[arrIndex][idx] <= _vm->_voy._RTVNum && _vm->_voy._arr2[arrIndex][idx] > _vm->_voy._RTVNum) { // Draw the picture - _vm->_eventsManager.setCursor(unk2Cursor); + _vm->_eventsManager.setCursor(eyeCursor); regionIndex = idx; } } -- cgit v1.2.3 From 795422bb2909bbcc84d259021257cad2ed323522 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Fri, 3 Jan 2014 09:35:17 -1000 Subject: VOYEUR: Fix loading of correct hotspot list in doInterface --- engines/voyeur/files_threads.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/engines/voyeur/files_threads.cpp b/engines/voyeur/files_threads.cpp index 87a8249b53..0a11f471fa 100644 --- a/engines/voyeur/files_threads.cpp +++ b/engines/voyeur/files_threads.cpp @@ -1376,7 +1376,7 @@ int ThreadResource::doInterface() { _vm->initIFace(); Common::Array &hotspots = _vm->_bVoy->boltEntry( - _vm->_playStamp1)._rectResource->_entries; + _vm->_playStamp1 + 1)._rectResource->_entries; _vm->_playStamp2 = 151 - _vm->getRandomNumber(5); _vm->_voy._vocSecondsOffset = _vm->getRandomNumber(29); -- cgit v1.2.3 From ac157b7bc740a1878f22c659fc20a49cf75e9d1f Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Fri, 3 Jan 2014 10:17:40 -1000 Subject: VOYEUR: Workaround for original code causing crash after calling doEvidDisplay --- engines/voyeur/files_threads.cpp | 7 +++++-- engines/voyeur/voyeur_game.cpp | 4 ++-- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/engines/voyeur/files_threads.cpp b/engines/voyeur/files_threads.cpp index 0a11f471fa..4a4ec61536 100644 --- a/engines/voyeur/files_threads.cpp +++ b/engines/voyeur/files_threads.cpp @@ -1271,8 +1271,11 @@ void ThreadResource::doRoom() { if (!vm._eventsManager._mouseClicked) vm._eventsManager.delayClick(18000); - vm._bVoy->freeBoltGroup(vm._playStamp1); - vm._bVoy->getBoltGroup(vm._playStamp1); + // WORKAROUND: Done in original, but not now, since freeing and reloading + // the group would invalidate the _backgroundPage picture resource + //vm._bVoy->freeBoltGroup(vm._playStamp1); + //vm._bVoy->getBoltGroup(vm._playStamp1); + dataP = vm._bVoy->memberAddr(vm._playStamp1 + 4); pic1 = vm._bVoy->boltEntry(vm._playStamp1 + 2)._picResource; pic2 = vm._bVoy->boltEntry(vm._playStamp1 + 3)._picResource; diff --git a/engines/voyeur/voyeur_game.cpp b/engines/voyeur/voyeur_game.cpp index 73484d72e9..0a4537f8c8 100644 --- a/engines/voyeur/voyeur_game.cpp +++ b/engines/voyeur/voyeur_game.cpp @@ -1356,8 +1356,8 @@ void VoyeurEngine::doEvidDisplay(int evidId, int eventId) { count = (int16)READ_LE_UINT16(dataP + evidId * 12 + 4); for (int idx = 1; idx <= count; ++idx) { - _bVoy->freeBoltGroup(_voy._field47A + (evidId + idx) * 2); - _bVoy->freeBoltGroup(_voy._field47A + (evidId + idx) * 2 + 1); + _bVoy->freeBoltMember(_voy._field47A + (evidId + idx) * 2); + _bVoy->freeBoltMember(_voy._field47A + (evidId + idx) * 2 + 1); } } -- cgit v1.2.3 From 2db6d543a0e893d2a6827353810c73f72dd54201 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Fri, 3 Jan 2014 10:20:44 -1000 Subject: VOYEUR: Tweaked vertical scroll area/rate for viewing mansion --- engines/voyeur/voyeur.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/engines/voyeur/voyeur.h b/engines/voyeur/voyeur.h index 209f5ec303..302f2b45d2 100644 --- a/engines/voyeur/voyeur.h +++ b/engines/voyeur/voyeur.h @@ -52,7 +52,7 @@ namespace Voyeur { #define MAX_RESOLVE 1000 -// Maximum scroll x, y for viewing the mansion +// Constants used for doInterface display of the mansion #define MANSION_MAX_X 784 #define MANSION_MAX_Y 150 #define MANSION_VIEW_X 40 @@ -60,9 +60,9 @@ namespace Voyeur { #define MANSION_VIEW_WIDTH 240 #define MANSION_VIEW_HEIGHT 148 #define MANSION_SCROLL_AREA_X 20 -#define MANSION_SCROLL_AREA_Y 10 +#define MANSION_SCROLL_AREA_Y 20 #define MANSION_SCROLL_INC_X 4 -#define MANSION_SCROLL_INC_Y 2 +#define MANSION_SCROLL_INC_Y 4 enum VoyeurDebugChannels { kDebugPath = 1 << 0, -- cgit v1.2.3 From bbecd20818f96b0128dfb0a5fb539fe3bcc4d2d5 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Fri, 3 Jan 2014 11:00:12 -1000 Subject: VOYEUR: Variable renaming for Video Id --- engines/voyeur/events.cpp | 9 ++++----- engines/voyeur/events.h | 3 +-- engines/voyeur/files_threads.cpp | 30 +++++++++++++++--------------- engines/voyeur/voyeur.cpp | 3 ++- engines/voyeur/voyeur.h | 1 + engines/voyeur/voyeur_game.cpp | 26 +++++++++++++------------- 6 files changed, 36 insertions(+), 36 deletions(-) diff --git a/engines/voyeur/events.cpp b/engines/voyeur/events.cpp index e7f7916676..5053b38d85 100644 --- a/engines/voyeur/events.cpp +++ b/engines/voyeur/events.cpp @@ -84,7 +84,6 @@ EventsManager::EventsManager(): _intPtr(_gameData), _newMouseClicked = _newMouseUnk = false; _v2A0A2 = 0; - _videoComputerBut4 = 0; _videoDead = 0; } @@ -575,7 +574,7 @@ void EventsManager::addVideoEventStart() { e._minute = _vm->_gameMinute; e._isAM = _vm->_voy._isAM; e._type = EVTYPE_VIDEO; - e._field8 = _vm->_eventsManager._videoComputerBut4; + e._videoId = _vm->_videoId; e._computerOn = _vm->_voy._vocSecondsOffset; e._dead = _vm->_eventsManager._videoDead; } @@ -593,7 +592,7 @@ void EventsManager::addAudioEventStart() { e._minute = _vm->_gameMinute; e._isAM = _vm->_voy._isAM; e._type = EVTYPE_AUDIO; - e._field8 = _vm->_eventsManager._videoComputerBut4; + e._videoId = _vm->_videoId; e._computerOn = _vm->_voy._field47A; e._dead = _vm->_eventsManager._videoDead; } @@ -611,7 +610,7 @@ void EventsManager::addEvidEventStart(int v) { e._minute = _vm->_gameMinute; e._isAM = _vm->_voy._isAM; e._type = EVTYPE_EVID; - e._field8 = _vm->_eventsManager._videoComputerBut4; + e._videoId = _vm->_videoId; e._computerOn = _vm->_voy._vocSecondsOffset; e._dead = _vm->_eventsManager._videoDead; @@ -630,7 +629,7 @@ void EventsManager::addComputerEventStart() { e._minute = _vm->_gameMinute; e._isAM = _vm->_voy._isAM; e._type = EVTYPE_COMPUTER; - e._field8 = _vm->_playStamp1; + e._videoId = _vm->_playStamp1; e._computerOn = _vm->_voy._computerTextId; } diff --git a/engines/voyeur/events.h b/engines/voyeur/events.h index 4734e541a6..1e884c684d 100644 --- a/engines/voyeur/events.h +++ b/engines/voyeur/events.h @@ -59,7 +59,7 @@ struct VoyeurEvent { int _minute; bool _isAM; VoyeurEventType _type; - int _field8; + int _videoId; int _computerOn; int _computerOff; int _dead; @@ -193,7 +193,6 @@ public: bool _newMouseUnk; int _v2A0A2; - int _videoComputerBut4; int _videoDead; int _cycleTime[4]; byte *_cycleNext[4]; diff --git a/engines/voyeur/files_threads.cpp b/engines/voyeur/files_threads.cpp index 4a4ec61536..4adf4d7216 100644 --- a/engines/voyeur/files_threads.cpp +++ b/engines/voyeur/files_threads.cpp @@ -373,22 +373,22 @@ void ThreadResource::parsePlayCommands() { v2 = READ_LE_UINT16(dataP); if (v2 == 0 || READ_LE_UINT16(_vm->_controlPtr->_ptr + 4) == 0) { - _vm->_eventsManager._videoComputerBut4 = READ_LE_UINT16(dataP + 2); + _vm->_videoId = READ_LE_UINT16(dataP + 2); _vm->_voy._field468 = READ_LE_UINT16(dataP + 4); _vm->_voy._field46A = READ_LE_UINT16(dataP + 6); if (_vm->_voy._RTVNum < _vm->_voy._field468 || (_vm->_voy._field468 + _vm->_voy._field46A) < _vm->_voy._RTVNum) { - _vm->_eventsManager._videoComputerBut4 = -1; + _vm->_videoId = -1; } else { _vm->_voy._vocSecondsOffset = _vm->_voy._RTVNum - _vm->_voy._field468; _vm->_eventsManager.addAudioEventStart(); - assert(_vm->_eventsManager._videoComputerBut4 < 38); + assert(_vm->_videoId < 38); _vm->_graphicsManager._backgroundPage = _vm->_bVoy->boltEntry( - 0x7F00 + BLIND_TABLE[_vm->_eventsManager._videoComputerBut4])._picResource; + 0x7F00 + BLIND_TABLE[_vm->_videoId])._picResource; _vm->_graphicsManager._backColors = _vm->_bVoy->boltEntry(0x7F01 + - BLIND_TABLE[_vm->_eventsManager._videoComputerBut4])._cMapResource; + BLIND_TABLE[_vm->_videoId])._cMapResource; (*_vm->_graphicsManager._vPort)->setupViewPort(); _vm->_graphicsManager._backColors->startFade(); @@ -397,7 +397,7 @@ void ThreadResource::parsePlayCommands() { _vm->_voy._field478 = -2; _vm->_soundManager.setVOCOffset(_vm->_voy._vocSecondsOffset * 11025); Common::String filename = _vm->_soundManager.getVOCFileName( - _vm->_eventsManager._videoComputerBut4 + 159); + _vm->_videoId + 159); _vm->_soundManager.startVOCPlay(filename); _vm->_voy._field478 |= 16; _vm->_eventsManager.startCursorBlink(); @@ -414,7 +414,7 @@ void ThreadResource::parsePlayCommands() { _vm->_bVoy->freeBoltGroup(0x7F00); _vm->_voy._field478 = -17; - _vm->_eventsManager._videoComputerBut4 = -1; + _vm->_videoId = -1; _vm->_voy._field470 = 129; parseIndex = 999; } @@ -427,26 +427,26 @@ void ThreadResource::parsePlayCommands() { v2 = READ_LE_UINT16(dataP); if (v2 == 0 || READ_LE_UINT16(_vm->_controlPtr->_ptr + 4) == 0) { - _vm->_eventsManager._videoComputerBut4 = READ_LE_UINT16(dataP + 2); + _vm->_videoId = READ_LE_UINT16(dataP + 2); _vm->_voy._field468 = READ_LE_UINT16(dataP + 4); _vm->_voy._field46A = READ_LE_UINT16(dataP + 6); if (_vm->_voy._RTVNum < _vm->_voy._field468 || (_vm->_voy._field468 + _vm->_voy._field46A) < _vm->_voy._RTVNum) { - _vm->_eventsManager._videoComputerBut4 = -1; + _vm->_videoId = -1; } else { _vm->_voy._vocSecondsOffset = _vm->_voy._RTVNum - _vm->_voy._field468; _vm->_eventsManager.addAudioEventStart(); _vm->_voy._field478 &= ~1; _vm->_voy._field478 |= 0x10; - _vm->playAVideo(_vm->_eventsManager._videoComputerBut4); + _vm->playAVideo(_vm->_videoId); _vm->_voy._field478 &= ~0x10; _vm->_voy._field478 |= 1; _vm->_eventsManager.addVideoEventEnd(); _vm->_eventsManager.incrementTime(1); - _vm->_eventsManager._videoComputerBut4 = -1; + _vm->_videoId = -1; _vm->_playStamp1 = -1; if (_vm->_eventsManager._videoDead != -1) { @@ -470,7 +470,7 @@ void ThreadResource::parsePlayCommands() { case 4: case 22: - _vm->_eventsManager._videoComputerBut4 = READ_LE_UINT16(dataP) - 1; + _vm->_videoId = READ_LE_UINT16(dataP) - 1; dataP += 2; if (id == 22) { @@ -482,11 +482,11 @@ void ThreadResource::parsePlayCommands() { _vm->_voy._vocSecondsOffset = 0; _vm->_voy._field468 = _vm->_voy._RTVNum; _vm->_voy._field478 &= ~0x11; - _vm->playAVideo(_vm->_eventsManager._videoComputerBut4); + _vm->playAVideo(_vm->_videoId); _vm->_voy._field478 |= 1; if (id != 22) { - _vm->_eventsManager._videoComputerBut4 = -1; + _vm->_videoId = -1; parseIndex = 999; } else { // TODO: Double-check this @@ -528,7 +528,7 @@ void ThreadResource::parsePlayCommands() { _vm->_bVoy->freeBoltGroup(_vm->_playStamp1); _vm->_playStamp1 = -1; - _vm->_eventsManager._videoComputerBut4 = -1; + _vm->_videoId = -1; parseIndex = 999; } break; diff --git a/engines/voyeur/voyeur.cpp b/engines/voyeur/voyeur.cpp index cf4a1352f2..24738fa639 100644 --- a/engines/voyeur/voyeur.cpp +++ b/engines/voyeur/voyeur.cpp @@ -44,6 +44,7 @@ VoyeurEngine::VoyeurEngine(OSystem *syst, const VoyeurGameDescription *gameDesc) _controlPtr = NULL; _bob = false; _playStamp1 = _playStamp2 = 0; + _videoId = -1; _checkTransitionId = -1; _gameHour = 0; _gameMinute = 0; @@ -478,7 +479,7 @@ void VoyeurEngine::doOpening() { _voy._field478 = 16; _eventsManager._gameHour = 4; _eventsManager._gameMinute = 0; - _eventsManager._videoComputerBut4 = 1; + _videoId = 1; _eventsManager._videoDead = -1; addVideoEventStart(); diff --git a/engines/voyeur/voyeur.h b/engines/voyeur/voyeur.h index 302f2b45d2..f146ee2599 100644 --- a/engines/voyeur/voyeur.h +++ b/engines/voyeur/voyeur.h @@ -159,6 +159,7 @@ public: bool _bob; int _playStamp1; int _playStamp2; + int _videoId; const int *_resolvePtr; int _iForceDeath; int _checkTransitionId; diff --git a/engines/voyeur/voyeur_game.cpp b/engines/voyeur/voyeur_game.cpp index 0a4537f8c8..5f6b7b3949 100644 --- a/engines/voyeur/voyeur_game.cpp +++ b/engines/voyeur/voyeur_game.cpp @@ -49,7 +49,7 @@ void VoyeurEngine::playStamp() { while (!breakFlag && !shouldQuit()) { _eventsManager.getMouseInfo(); _playStamp1 = _playStamp2 = -1; - _eventsManager._videoComputerBut4 = -1; + _videoId = -1; threadP->parsePlayCommands(); @@ -179,7 +179,7 @@ void VoyeurEngine::playStamp() { _playStamp2 = -1; } - _eventsManager._videoComputerBut4 = -1; + _videoId = -1; if (_voy._field47A != -1) { _bVoy->freeBoltGroup(_voy._field47A); @@ -787,28 +787,28 @@ bool VoyeurEngine::checkForMurder() { if (evt._type == EVTYPE_VIDEO) { switch (READ_LE_UINT32(_controlPtr->_ptr + 4)) { case 1: - if (evt._field8 == 41 && evt._computerOn <= 15 && + if (evt._videoId == 41 && evt._computerOn <= 15 && (evt._computerOff + evt._computerOn) >= 16) { WRITE_LE_UINT32(_controlPtr->_ptr + 12, 1); } break; case 2: - if (evt._field8 == 53 && evt._computerOn <= 19 && + if (evt._videoId == 53 && evt._computerOn <= 19 && (evt._computerOff + evt._computerOn) >= 21) { WRITE_LE_UINT32(_controlPtr->_ptr + 12, 2); } break; case 3: - if (evt._field8 == 50 && evt._computerOn <= 28 && + if (evt._videoId == 50 && evt._computerOn <= 28 && (evt._computerOff + evt._computerOn) >= 29) { WRITE_LE_UINT32(_controlPtr->_ptr + 12, 3); } break; case 4: - if (evt._field8 == 43 && evt._computerOn <= 10 && + if (evt._videoId == 43 && evt._computerOn <= 10 && (evt._computerOff + evt._computerOn) >= 14) { WRITE_LE_UINT32(_controlPtr->_ptr + 12, 4); } @@ -837,27 +837,27 @@ bool VoyeurEngine::checkForIncriminate() { VoyeurEvent &evt = _voy._events[idx]; if (evt._type == EVTYPE_VIDEO) { - if (evt._field8 == 44 && evt._computerOn <= 40 && + if (evt._videoId == 44 && evt._computerOn <= 40 && (evt._computerOff + evt._computerOn) >= 70) { _voy._field4382 = 1; } - if (evt._field8 == 44 && evt._computerOn <= 79 && + if (evt._videoId == 44 && evt._computerOn <= 79 && (evt._computerOff + evt._computerOn) >= 129) { _voy._field4382 = 1; } - if (evt._field8 == 20 && evt._computerOn <= 28 && + if (evt._videoId == 20 && evt._computerOn <= 28 && (evt._computerOff + evt._computerOn) >= 45) { _voy._field4382 = 2; } - if (evt._field8 == 35 && evt._computerOn <= 17 && + if (evt._videoId == 35 && evt._computerOn <= 17 && (evt._computerOff + evt._computerOn) >= 36) { _voy._field4382 = 3; } - if (evt._field8 == 30 && evt._computerOn <= 80 && + if (evt._videoId == 30 && evt._computerOn <= 80 && (evt._computerOff + evt._computerOn) >= 139) { _voy._field4382 = 4; } @@ -876,12 +876,12 @@ bool VoyeurEngine::checkForIncriminate() { void VoyeurEngine::playAVideoEvent(int eventIndex) { VoyeurEvent &evt = _voy._events[eventIndex]; - _eventsManager._videoComputerBut4 = evt._field8; + _videoId = evt._videoId; _voy._vocSecondsOffset = evt._computerOn; _eventsManager._videoDead = evt._dead; _voy._field478 &= ~1; - playAVideoDuration(_eventsManager._videoComputerBut4, evt._computerOff); + playAVideoDuration(_videoId, evt._computerOff); } int VoyeurEngine::getChooseButton() { -- cgit v1.2.3 From 3672e3fa16c976c048e5221790e4e8e7e3627808 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Fri, 3 Jan 2014 14:40:14 -1000 Subject: VOYEUR: Fix parsePlayCommands case 3 setting Video Id correctly --- engines/voyeur/files_threads.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/engines/voyeur/files_threads.cpp b/engines/voyeur/files_threads.cpp index 4adf4d7216..2b791c43ab 100644 --- a/engines/voyeur/files_threads.cpp +++ b/engines/voyeur/files_threads.cpp @@ -427,7 +427,7 @@ void ThreadResource::parsePlayCommands() { v2 = READ_LE_UINT16(dataP); if (v2 == 0 || READ_LE_UINT16(_vm->_controlPtr->_ptr + 4) == 0) { - _vm->_videoId = READ_LE_UINT16(dataP + 2); + _vm->_videoId = READ_LE_UINT16(dataP + 2) - 1; _vm->_voy._field468 = READ_LE_UINT16(dataP + 4); _vm->_voy._field46A = READ_LE_UINT16(dataP + 6); -- cgit v1.2.3 From 7d9680058ac51042524f17d2ead7b3a43fa66b35 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Fri, 3 Jan 2014 18:09:19 -1000 Subject: VOYEUR: Fixes for decoding RL2 videos with transparency --- engines/voyeur/animation.cpp | 5 ++--- engines/voyeur/animation.h | 1 + engines/voyeur/voyeur.cpp | 13 +++++++------ 3 files changed, 10 insertions(+), 9 deletions(-) diff --git a/engines/voyeur/animation.cpp b/engines/voyeur/animation.cpp index 5bda66e7fe..42172b7a33 100644 --- a/engines/voyeur/animation.cpp +++ b/engines/voyeur/animation.cpp @@ -355,9 +355,9 @@ void RL2Decoder::RL2VideoTrack::rl2DecodeFrameWithTransparency(int screenOffset) ++screenOffset; --frameSize; } else if (nextByte < 0x80) { - // Raw byte to copy to output + // Single 7-bit pixel to output (128-255) assert(frameSize > 0); - destP[screenOffset] = nextByte; + destP[screenOffset] = nextByte | 0x80; ++screenOffset; --frameSize; } else if (nextByte == 0x80) { @@ -374,7 +374,6 @@ void RL2Decoder::RL2VideoTrack::rl2DecodeFrameWithTransparency(int screenOffset) } else { // Run length of a single pixel value int runLength = _fileStream->readByte(); - nextByte &= 0x7f; runLength = MIN(runLength, frameSize); Common::fill(destP + screenOffset, destP + screenOffset + runLength, nextByte); diff --git a/engines/voyeur/animation.h b/engines/voyeur/animation.h index ed237775cf..34cc9eec12 100644 --- a/engines/voyeur/animation.h +++ b/engines/voyeur/animation.h @@ -157,6 +157,7 @@ public: void copyDirtyRectsToBuffer(uint8 *dst, uint pitch); RL2VideoTrack *getVideoTrack(); void play(::Voyeur::VoyeurEngine *vm); + int getPaletteCount() const { return _header._colorCount; } }; } // End of namespace Video diff --git a/engines/voyeur/voyeur.cpp b/engines/voyeur/voyeur.cpp index 24738fa639..52bcd05930 100644 --- a/engines/voyeur/voyeur.cpp +++ b/engines/voyeur/voyeur.cpp @@ -564,11 +564,6 @@ void VoyeurEngine::playAVideoDuration(int videoId, int duration) { while (!shouldQuit() && !decoder.endOfVideo() && !_eventsManager._mouseClicked && (decoder.getCurFrame() < endFrame)) { - if (decoder.hasDirtyPalette()) { - const byte *palette = decoder.getPalette(); - _graphicsManager.setPalette(palette, 0, 256); - } - if (decoder.needsUpdate()) { const Graphics::Surface *frame = decoder.decodeNextFrame(); @@ -576,7 +571,13 @@ void VoyeurEngine::playAVideoDuration(int videoId, int duration) { (byte *)_graphicsManager._screenSurface.getPixels()); } - _eventsManager.pollEvents(); + if (decoder.hasDirtyPalette()) { + const byte *palette = decoder.getPalette(); + _graphicsManager.setPalette(palette, 0, decoder.getPaletteCount()); + _graphicsManager.setOneColor(128, 220, 20, 20); + } + + _eventsManager.getMouseInfo(); g_system->delayMillis(10); } -- cgit v1.2.3 From ce5b8c54a92accf12d43fe1f681d277166b72fb9 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Fri, 3 Jan 2014 20:11:00 -1000 Subject: VOYEUR: Hooked up debugger, and added a 'time' command --- engines/voyeur/debugger.cpp | 53 ++++++++++++++++++++++++++++++- engines/voyeur/debugger.h | 9 ++++++ engines/voyeur/events.cpp | 23 +++++++++++--- engines/voyeur/events.h | 2 +- engines/voyeur/files_threads.cpp | 21 +++++++------ engines/voyeur/voyeur.h | 10 ++++++ engines/voyeur/voyeur_game.cpp | 67 +++++++++++++++++++++++----------------- 7 files changed, 140 insertions(+), 45 deletions(-) diff --git a/engines/voyeur/debugger.cpp b/engines/voyeur/debugger.cpp index 8407ead22f..04fdff2d49 100644 --- a/engines/voyeur/debugger.cpp +++ b/engines/voyeur/debugger.cpp @@ -21,14 +21,65 @@ */ #include "voyeur/debugger.h" - #include "voyeur/graphics.h" #include "voyeur/voyeur.h" +#include "voyeur/staticres.h" namespace Voyeur { Debugger::Debugger() : GUI::Debugger() { + // Register methods DCmd_Register("continue", WRAP_METHOD(Debugger, Cmd_Exit)); + DCmd_Register("exit", WRAP_METHOD(Debugger, Cmd_Exit)); + DCmd_Register("time", WRAP_METHOD(Debugger, Cmd_Time)); + + // Set fields + _isTimeActive = true; +} + +bool Debugger::Cmd_Time(int argc, const char **argv) { + if (argc < 2) { + // Get the current day and time of day + Common::String dtString = _vm->getDayName(); + Common::String timeString = _vm->getTimeOfDay(); + if (!timeString.empty()) + dtString += " " + timeString; + + DebugPrintf("Current date/time is: %s, time is %s\n", + dtString.c_str(), _isTimeActive ? "on" : "off"); + DebugPrintf("Format: %s [on | off | 1..17]\n\n", argv[0]); + } else { + if (!strcmp(argv[1], "on")) { + _isTimeActive = true; + DebugPrintf("Time is now on\n\n"); + } else if (!strcmp(argv[1], "off")) { + _isTimeActive = false; + DebugPrintf("Time is now off\n\n"); + } else { + int timeId = atoi(argv[1]); + if (timeId >= 1 && timeId <= 17) { + _vm->_voy._transitionId = timeId; + _vm->_gameHour = LEVEL_H[timeId - 1]; + _vm->_gameMinute = LEVEL_M[timeId - 1]; + _vm->_voy._isAM = timeId == 6; + + _vm->_voy._RTVNum = 0; + _vm->_voy._RTANum = 255; + + // Get the new current day and time of day + Common::String dtString = _vm->getDayName(); + Common::String timeString = _vm->getTimeOfDay(); + if (!timeString.empty()) + dtString += " " + timeString; + + DebugPrintf("Current date/time is now: %s\n\n", dtString.c_str()); + } else { + DebugPrintf("Unknown parameter\n\n"); + } + } + } + + return true; } } // End of namespace Voyeur diff --git a/engines/voyeur/debugger.h b/engines/voyeur/debugger.h index 302008716b..0391fadffd 100644 --- a/engines/voyeur/debugger.h +++ b/engines/voyeur/debugger.h @@ -33,11 +33,20 @@ class VoyeurEngine; class Debugger : public GUI::Debugger { private: VoyeurEngine *_vm; +public: + /** + * Specifies whether time should pass, and the video camera's batteries go down + * @default true + */ + bool _isTimeActive; +protected: + bool Cmd_Time(int argc, const char **argv); public: Debugger(); virtual ~Debugger() {} void setVm(VoyeurEngine *vm) { _vm = vm; } + }; } // End of namespace Voyeur diff --git a/engines/voyeur/events.cpp b/engines/voyeur/events.cpp index 5053b38d85..a46de4740b 100644 --- a/engines/voyeur/events.cpp +++ b/engines/voyeur/events.cpp @@ -101,9 +101,14 @@ void EventsManager::startMainClockInt() { void EventsManager::mainVoyeurIntFunc() { if (!(_vm->_voy._field478 & 1)) { ++_vm->_voy._switchBGNum; - ++_vm->_voy._RTVNum; - if (_vm->_voy._RTVNum >= _vm->_voy._field4F2) - _vm->_voy._field4F0 = 1; + + if (_vm->_debugger._isTimeActive) { + // Increase camera discharge + ++_vm->_voy._RTVNum; + + if (_vm->_voy._RTVNum >= _vm->_voy._field4F2) + _vm->_voy._field4F0 = 1; + } } } @@ -145,6 +150,9 @@ void EventsManager::checkForNextFrameCounter() { if ((_gameCounter % GAME_FRAME_RATE) == 0) mainVoyeurIntFunc(); + // Give time to the debugger + _vm->_debugger.onFrame(); + // Display the frame g_system->copyRectToScreen((byte *)_vm->_graphicsManager._screenSurface.getPixels(), SCREEN_WIDTH, 0, 0, SCREEN_WIDTH, SCREEN_HEIGHT); @@ -238,7 +246,14 @@ void EventsManager::pollEvents() { return; case Common::EVENT_KEYDOWN: - _keyState[(byte)toupper(event.kbd.ascii)] = true; + // Check for debugger + if (event.kbd.keycode == Common::KEYCODE_d && (event.kbd.flags & Common::KBD_CTRL)) { + // Attach to the debugger + _vm->_debugger.attach(); + _vm->_debugger.onFrame(); + } else { + _keyState[(byte)toupper(event.kbd.ascii)] = true; + } return; case Common::EVENT_KEYUP: _keyState[(byte)toupper(event.kbd.ascii)] = false; diff --git a/engines/voyeur/events.h b/engines/voyeur/events.h index 1e884c684d..e7aedd5218 100644 --- a/engines/voyeur/events.h +++ b/engines/voyeur/events.h @@ -86,7 +86,7 @@ public: int _field470; int _field472; int _transitionId; - int _field476; + int _RTVLimit; int _field478; int _field47A; PictureResource *_evPicPtrs[6]; diff --git a/engines/voyeur/files_threads.cpp b/engines/voyeur/files_threads.cpp index 2b791c43ab..b7d1402b35 100644 --- a/engines/voyeur/files_threads.cpp +++ b/engines/voyeur/files_threads.cpp @@ -538,7 +538,7 @@ void ThreadResource::parsePlayCommands() { if (v2 == 0 || READ_LE_UINT16(_vm->_controlPtr->_ptr + 4) == 0) { _vm->_voy._field470 = 5; int count = READ_LE_UINT16(dataP + 2); - _vm->_voy._field476 = READ_LE_UINT16(dataP + 4); + _vm->_voy._RTVLimit = READ_LE_UINT16(dataP + 4); if (_vm->_voy._transitionId != count) { if (_vm->_voy._transitionId > 1) @@ -552,7 +552,7 @@ void ThreadResource::parsePlayCommands() { _vm->_voy._RTANum = 255; } - _vm->_voy._isAM = (_vm->_voy._transitionId == 6) ? 1 : 0; + _vm->_voy._isAM = _vm->_voy._transitionId == 6; } dataP += 6; @@ -1353,18 +1353,18 @@ int ThreadResource::doInterface() { _vm->_eventsManager._intPtr.field1E = 1; _vm->_eventsManager._intPtr.field1A = 0; - if (_vm->_voy._RTVNum >= _vm->_voy._field476 || _vm->_voy._RTVNum < 0) - _vm->_voy._RTVNum = _vm->_voy._field476 - 1; + if (_vm->_voy._RTVNum >= _vm->_voy._RTVLimit || _vm->_voy._RTVNum < 0) + _vm->_voy._RTVNum = _vm->_voy._RTVLimit - 1; - if (_vm->_voy._transitionId < 15 && (_vm->_voy._field476 - 3) < _vm->_voy._RTVNum) { - _vm->_voy._RTVNum = _vm->_voy._field476; + if (_vm->_voy._transitionId < 15 && (_vm->_voy._RTVLimit - 3) < _vm->_voy._RTVNum) { + _vm->_voy._RTVNum = _vm->_voy._RTVLimit; _vm->makeViewFinder(); _vm->initIFace(); - _vm->_voy._RTVNum = _vm->_voy._field476 - 4; + _vm->_voy._RTVNum = _vm->_voy._RTVLimit - 4; _vm->_voy._field478 &= ~1; - while (!_vm->shouldQuit() && _vm->_voy._RTVNum < _vm->_voy._field476) { + while (!_vm->shouldQuit() && _vm->_voy._RTVNum < _vm->_voy._RTVLimit) { _vm->flashTimeBar(); } @@ -1490,8 +1490,9 @@ int ThreadResource::doInterface() { _vm->flipPageAndWait(); pt = _vm->_eventsManager.getMousePos(); - if ((_vm->_voy._field476 <= _vm->_voy._RTVNum) || ((_vm->_voy._field478 & 0x80) && - (_vm->_eventsManager._rightClick != NULL) && (pt.x == 0))) { + if ((_vm->_voy._RTVNum >= _vm->_voy._RTVLimit) || ((_vm->_voy._field478 & 0x80) && + _vm->_eventsManager._rightClick && (pt.x == 0))) { + // Time to transition to the next time period _vm->_eventsManager.getMouseInfo(); if (_vm->_voy._transitionId == 15) { diff --git a/engines/voyeur/voyeur.h b/engines/voyeur/voyeur.h index f146ee2599..c0bc1d9c82 100644 --- a/engines/voyeur/voyeur.h +++ b/engines/voyeur/voyeur.h @@ -232,6 +232,16 @@ public: * Flips the active page and waits until it's drawn and faded in */ void flipPageAndWaitForFade(); + + /** + * Returns the string for the current in-game day of the week + */ + Common::String getDayName(); + + /** + * Returns the string for the current in-game time of day + */ + Common::String getTimeOfDay(); }; } // End of namespace Voyeur diff --git a/engines/voyeur/voyeur_game.cpp b/engines/voyeur/voyeur_game.cpp index 5f6b7b3949..9364247ba6 100644 --- a/engines/voyeur/voyeur_game.cpp +++ b/engines/voyeur/voyeur_game.cpp @@ -1078,40 +1078,49 @@ void VoyeurEngine::checkTransition(){ Common::String time, day; if (_voy._transitionId != _checkTransitionId) { - switch (_voy._transitionId) { - case 0: - break; - case 1: - case 2: - case 3: - case 4: - day = SATURDAY; - break; - case 17: - day = MONDAY; - break; - default: - day = SUNDAY; - break; - } + // Get the day + day = getDayName(); + // Only proceed if a valid day string was returned if (!day.empty()) { _graphicsManager.fadeDownICF(6); - if (_voy._transitionId != 17) { - const char *amPm = _voy._isAM ? AM : PM; - time = Common::String::format("%d:%02d%s", - _gameHour, _gameMinute, amPm); - } + // Get the time of day string + time = getTimeOfDay(); + // Show a transition card with the day and time, and wait doTransitionCard(day, time); - _eventsManager.delay(180); + _eventsManager.delayClick(180); } _checkTransitionId = _voy._transitionId; } } +Common::String VoyeurEngine::getDayName() { + switch (_voy._transitionId) { + case 0: + return ""; + case 1: + case 2: + case 3: + case 4: + return SATURDAY; + case 17: + return MONDAY; + default: + return SUNDAY; + } +} + +Common::String VoyeurEngine::getTimeOfDay() { + if (_voy._transitionId == 17) + return ""; + + const char *amPm = _voy._isAM ? AM : PM; + return Common::String::format("%d:%02d%s", _gameHour, _gameMinute, amPm); +} + bool VoyeurEngine::doComputerText(int maxLen) { FontInfoResource &font = *_graphicsManager._fontPtr; int totalChars = 0; @@ -1214,12 +1223,12 @@ void VoyeurEngine::getComputerBrush() { void VoyeurEngine::doTimeBar(bool force) { flashTimeBar(); - if ((force || _timeBarVal != _voy._RTVNum) && _voy._field476 > 0) { - if (_voy._RTVNum > _voy._field476 || _voy._RTVNum < 0) - _voy._RTVNum = _voy._field476 - 1; + if ((force || _timeBarVal != _voy._RTVNum) && _voy._RTVLimit > 0) { + if (_voy._RTVNum > _voy._RTVLimit || _voy._RTVNum < 0) + _voy._RTVNum = _voy._RTVLimit - 1; _timeBarVal = _voy._RTVNum; - int height = ((_voy._field476 - _voy._RTVNum) * 59) / _voy._field476; + int height = ((_voy._RTVLimit - _voy._RTVNum) * 59) / _voy._RTVLimit; int fullHeight = MAX(151 - height, 93); _graphicsManager._drawPtr->_penColor = 134; @@ -1239,10 +1248,10 @@ void VoyeurEngine::doTimeBar(bool force) { } void VoyeurEngine::flashTimeBar(){ - if (_voy._RTVNum >= 0 && (_voy._field476 - _voy._RTVNum) < 11 && + if (_voy._RTVNum >= 0 && (_voy._RTVLimit - _voy._RTVNum) < 11 && (_eventsManager._intPtr.field1A >= (_flashTimeVal + 15) || _eventsManager._intPtr.field1A < _flashTimeVal)) { - // Within time range + // Within camera low power range _flashTimeVal = _eventsManager._intPtr.field1A; if (_flashTimeFlag) @@ -1257,7 +1266,7 @@ void VoyeurEngine::flashTimeBar(){ } void VoyeurEngine::checkPhoneCall() { - if ((_voy._field476 - _voy._RTVNum) >= 36 && _voy._field4B8 < 5 && + if ((_voy._RTVLimit - _voy._RTVNum) >= 36 && _voy._field4B8 < 5 && _playStamp2 <= 151 && _playStamp2 > 146) { if ((_voy._switchBGNum < _checkPhoneVal || _checkPhoneVal > 180) && !_soundManager.getVOCStatus()) { -- cgit v1.2.3 From 99dc594cb9391fefe4650610c531df44563bf20c Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Sun, 5 Jan 2014 11:29:03 -0500 Subject: VOYEUR: Fix for crash when changing time period --- engines/voyeur/debugger.cpp | 1 + engines/voyeur/files_threads.cpp | 9 ++++----- engines/voyeur/voyeur_game.cpp | 3 +++ 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/engines/voyeur/debugger.cpp b/engines/voyeur/debugger.cpp index 04fdff2d49..f97e73a5ce 100644 --- a/engines/voyeur/debugger.cpp +++ b/engines/voyeur/debugger.cpp @@ -63,6 +63,7 @@ bool Debugger::Cmd_Time(int argc, const char **argv) { _vm->_gameMinute = LEVEL_M[timeId - 1]; _vm->_voy._isAM = timeId == 6; + // Camera back to full charge _vm->_voy._RTVNum = 0; _vm->_voy._RTANum = 255; diff --git a/engines/voyeur/files_threads.cpp b/engines/voyeur/files_threads.cpp index b7d1402b35..48eee998d5 100644 --- a/engines/voyeur/files_threads.cpp +++ b/engines/voyeur/files_threads.cpp @@ -1378,7 +1378,7 @@ int ThreadResource::doInterface() { _vm->_eventsManager.getMouseInfo(); _vm->initIFace(); - Common::Array &hotspots = _vm->_bVoy->boltEntry( + Common::Array *hotspots = &_vm->_bVoy->boltEntry( _vm->_playStamp1 + 1)._rectResource->_entries; _vm->_playStamp2 = 151 - _vm->getRandomNumber(5); _vm->_voy._vocSecondsOffset = _vm->getRandomNumber(29); @@ -1399,7 +1399,6 @@ int ThreadResource::doInterface() { PictureResource *mangifyCursor = _vm->_bVoy->boltEntry(0x115)._picResource; _vm->_eventsManager.setCursor(crosshairsCursor); - _vm->_eventsManager.showCursor(); // Main loop int priorRegionIndex = -1; @@ -1431,8 +1430,8 @@ int ThreadResource::doInterface() { Common::Point(pt.x - MANSION_VIEW_X, pt.y - MANSION_VIEW_Y); regionIndex = -1; - for (int idx = 0; idx < (int)hotspots.size(); ++idx) { - if (hotspots[idx].contains(pt)) { + for (int idx = 0; idx < (int)hotspots->size(); ++idx) { + if ((*hotspots)[idx].contains(pt)) { // Rect check done for (int arrIndex = 0; arrIndex < 3; ++arrIndex) { if (_vm->_voy._arr3[arrIndex][idx] <= _vm->_voy._RTVNum && @@ -1511,7 +1510,7 @@ int ThreadResource::doInterface() { _vm->initIFace(); - hotspots = _vm->_bVoy->boltEntry(_vm->_playStamp1 + 1)._rectResource->_entries; + hotspots = &_vm->_bVoy->boltEntry(_vm->_playStamp1 + 1)._rectResource->_entries; _vm->_eventsManager.getMouseInfo(); _vm->_voy._field478 &= ~2; diff --git a/engines/voyeur/voyeur_game.cpp b/engines/voyeur/voyeur_game.cpp index 9364247ba6..25ad3310ac 100644 --- a/engines/voyeur/voyeur_game.cpp +++ b/engines/voyeur/voyeur_game.cpp @@ -1028,6 +1028,9 @@ void VoyeurEngine::initIFace(){ _voy._viewBounds = _bVoy->boltEntry(_playStamp1)._rectResource; + // Show the cursor using ScummVM functionality + _eventsManager.showCursor(); + // Note: the original did two loops to preload members here, which is // redundant for ScummVM, since computers are faster these days, and // getting resources as needed will be fast enough. -- cgit v1.2.3 From 7c256c491a71feb3dd608e0351072939cb7ac796 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Sun, 5 Jan 2014 14:15:53 -0500 Subject: VOYEUR: Refactored doAptPosX/Y into a local variable --- engines/voyeur/files.h | 2 -- engines/voyeur/files_threads.cpp | 21 +++++++++------------ 2 files changed, 9 insertions(+), 14 deletions(-) diff --git a/engines/voyeur/files.h b/engines/voyeur/files.h index 17f5ccc125..69bbb78d14 100644 --- a/engines/voyeur/files.h +++ b/engines/voyeur/files.h @@ -445,8 +445,6 @@ public: static CMapResource *_cmd14Pal; static void initUseCount(); static void unloadAllStacks(VoyeurEngine *vm); - static int _doAptPosX; - static int _doAptPosY; static void init(); private: diff --git a/engines/voyeur/files_threads.cpp b/engines/voyeur/files_threads.cpp index 48eee998d5..637b8ff65a 100644 --- a/engines/voyeur/files_threads.cpp +++ b/engines/voyeur/files_threads.cpp @@ -31,16 +31,12 @@ int ThreadResource::_stampFlags; int ThreadResource::_useCount[8]; byte *ThreadResource::_threadDataPtr; CMapResource *ThreadResource::_cmd14Pal; -int ThreadResource::_doAptPosX; -int ThreadResource::_doAptPosY; void ThreadResource::init() { _stampFlags = 0; Common::fill(&_useCount[0], &_useCount[8], 0); _threadDataPtr = nullptr; _cmd14Pal = nullptr; - _doAptPosX = -1; - _doAptPosY = -1; } ThreadResource::ThreadResource(BoltFilesState &state, const byte *src): @@ -1029,26 +1025,27 @@ bool ThreadResource::cardPerform2(const byte *pSrc, int cardCmdId) { int ThreadResource::doApt() { loadTheApt(); + Common::Point aptPos(-1, -1); _vm->_playStamp2 = 151; _vm->_voy._viewBounds = _vm->_bVoy->boltEntry(_vm->_playStamp1)._rectResource; Common::Array &hotspots = _vm->_bVoy->boltEntry( _vm->_playStamp1 + 1)._rectResource->_entries; _vm->_eventsManager.getMouseInfo(); - if (_doAptPosX == -1) { - _doAptPosX = hotspots[2].left; - _doAptPosY = hotspots[2].top; + if (aptPos.x == -1) { + aptPos.x = hotspots[2].left; + aptPos.y = hotspots[2].top; _vm->_playStamp2 = 153; } if (_vm->_voy._field470 == 16) { hotspots[0].left = 999; hotspots[3].left = 999; - _doAptPosX = hotspots[4].left + 28; - _doAptPosY = hotspots[4].top + 28; + aptPos.x = hotspots[4].left + 28; + aptPos.y = hotspots[4].top + 28; } - _vm->_eventsManager.setMousePos(Common::Point(_doAptPosX, _doAptPosY)); + _vm->_eventsManager.setMousePos(Common::Point(aptPos.x, aptPos.y)); _vm->_soundManager.startVOCPlay(_vm->_soundManager.getVOCFileName(_vm->_playStamp2)); _vm->_playStamp2 = 151; @@ -1107,8 +1104,8 @@ int ThreadResource::doApt() { } while (!_vm->shouldQuit() && (!_vm->_eventsManager._leftClick || hotspotId == -1)); pt = _vm->_eventsManager.getMousePos(); - _doAptPosX = pt.x; - _doAptPosY = pt.y; + aptPos.x = pt.x; + aptPos.y = pt.y; switch (hotspotId) { case 0: -- cgit v1.2.3 From 1690ffb2bfc3ddcbbebe755a33f94f62b7ba81a0 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Sun, 5 Jan 2014 14:41:09 -0500 Subject: VOYEUR: Moved _stampFlags to VoyeurEngine --- engines/voyeur/files.h | 1 - engines/voyeur/files_threads.cpp | 8 +++----- engines/voyeur/voyeur.cpp | 1 + engines/voyeur/voyeur.h | 1 + engines/voyeur/voyeur_game.cpp | 2 +- 5 files changed, 6 insertions(+), 7 deletions(-) diff --git a/engines/voyeur/files.h b/engines/voyeur/files.h index 69bbb78d14..b1eef580d1 100644 --- a/engines/voyeur/files.h +++ b/engines/voyeur/files.h @@ -439,7 +439,6 @@ public: class ThreadResource { public: - static int _stampFlags; static int _useCount[8]; static byte *_threadDataPtr; static CMapResource *_cmd14Pal; diff --git a/engines/voyeur/files_threads.cpp b/engines/voyeur/files_threads.cpp index 637b8ff65a..1e4fdb1bc6 100644 --- a/engines/voyeur/files_threads.cpp +++ b/engines/voyeur/files_threads.cpp @@ -27,13 +27,11 @@ namespace Voyeur { -int ThreadResource::_stampFlags; int ThreadResource::_useCount[8]; byte *ThreadResource::_threadDataPtr; CMapResource *ThreadResource::_cmd14Pal; void ThreadResource::init() { - _stampFlags = 0; Common::fill(&_useCount[0], &_useCount[8], 0); _threadDataPtr = nullptr; _cmd14Pal = nullptr; @@ -58,7 +56,7 @@ void ThreadResource::initThreadStruct(int idx, int id) { } bool ThreadResource::loadAStack(int idx) { - if (_stampFlags & 1) { + if (_vm->_stampFlags & 1) { unloadAStack(_controlIndex); if (!_useCount[idx]) { BoltEntry &boltEntry = _vm->_stampLibPtr->boltEntry(_vm->_controlPtr->_memberIds[idx]); @@ -76,7 +74,7 @@ bool ThreadResource::loadAStack(int idx) { } void ThreadResource::unloadAStack(int idx) { - if ((_stampFlags & 1) && _useCount[idx]) { + if ((_vm->_stampFlags & 1) && _useCount[idx]) { if (--_useCount[idx] == 0) { _vm->_stampLibPtr->freeBoltMember(_vm->_controlPtr->_memberIds[idx]); } @@ -186,7 +184,7 @@ void ThreadResource::getField1CE() { } void ThreadResource::unloadAllStacks(VoyeurEngine *vm) { - if (_stampFlags & 1) { + if (vm->_stampFlags & 1) { for (int i = 0; i < 8; ++i) { if (_useCount[i]) vm->_stampLibPtr->freeBoltMember(vm->_controlPtr->_memberIds[i]); diff --git a/engines/voyeur/voyeur.cpp b/engines/voyeur/voyeur.cpp index 52bcd05930..dce4cf8ed5 100644 --- a/engines/voyeur/voyeur.cpp +++ b/engines/voyeur/voyeur.cpp @@ -43,6 +43,7 @@ VoyeurEngine::VoyeurEngine(OSystem *syst, const VoyeurGameDescription *gameDesc) _iForceDeath = -1; _controlPtr = NULL; _bob = false; + _stampFlags = 0; _playStamp1 = _playStamp2 = 0; _videoId = -1; _checkTransitionId = -1; diff --git a/engines/voyeur/voyeur.h b/engines/voyeur/voyeur.h index c0bc1d9c82..ed7891706b 100644 --- a/engines/voyeur/voyeur.h +++ b/engines/voyeur/voyeur.h @@ -157,6 +157,7 @@ public: int _glGoScene; int _glGoStack; bool _bob; + int _stampFlags; int _playStamp1; int _playStamp2; int _videoId; diff --git a/engines/voyeur/voyeur_game.cpp b/engines/voyeur/voyeur_game.cpp index 25ad3310ac..762b98829b 100644 --- a/engines/voyeur/voyeur_game.cpp +++ b/engines/voyeur/voyeur_game.cpp @@ -212,7 +212,7 @@ void VoyeurEngine::playStamp() { } void VoyeurEngine::initStamp() { - ThreadResource::_stampFlags &= ~1; + _stampFlags &= ~1; _stackGroupPtr = _controlGroupPtr; if (!_controlPtr->_entries[0]) -- cgit v1.2.3 From 9c2b761b310fecc098c721676163fa34b96b6666 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Sun, 5 Jan 2014 14:54:55 -0500 Subject: VOYEUR: Rename the old _playStamp1/2 variables to have better names --- engines/voyeur/events.cpp | 2 +- engines/voyeur/files_threads.cpp | 152 +++++++++++++++++++-------------------- engines/voyeur/voyeur.cpp | 2 +- engines/voyeur/voyeur.h | 4 +- engines/voyeur/voyeur_game.cpp | 86 +++++++++++----------- 5 files changed, 123 insertions(+), 123 deletions(-) diff --git a/engines/voyeur/events.cpp b/engines/voyeur/events.cpp index a46de4740b..95e3047f8d 100644 --- a/engines/voyeur/events.cpp +++ b/engines/voyeur/events.cpp @@ -644,7 +644,7 @@ void EventsManager::addComputerEventStart() { e._minute = _vm->_gameMinute; e._isAM = _vm->_voy._isAM; e._type = EVTYPE_COMPUTER; - e._videoId = _vm->_playStamp1; + e._videoId = _vm->_playStampGroupId; e._computerOn = _vm->_voy._computerTextId; } diff --git a/engines/voyeur/files_threads.cpp b/engines/voyeur/files_threads.cpp index 1e4fdb1bc6..d412e11566 100644 --- a/engines/voyeur/files_threads.cpp +++ b/engines/voyeur/files_threads.cpp @@ -359,7 +359,7 @@ void ThreadResource::parsePlayCommands() { switch (id) { case 1: - _vm->_playStamp2 = READ_LE_UINT16(dataP); + _vm->_currentVocId = READ_LE_UINT16(dataP); dataP += 2; break; @@ -441,7 +441,7 @@ void ThreadResource::parsePlayCommands() { _vm->_eventsManager.incrementTime(1); _vm->_videoId = -1; - _vm->_playStamp1 = -1; + _vm->_playStampGroupId = -1; if (_vm->_eventsManager._videoDead != -1) { _vm->_bVoy->freeBoltGroup(0xE00); @@ -470,7 +470,7 @@ void ThreadResource::parsePlayCommands() { if (id == 22) { int resolveIndex = READ_LE_UINT16(dataP); dataP += 2; - _vm->_playStamp1 = _vm->_resolvePtr[resolveIndex]; + _vm->_playStampGroupId = _vm->_resolvePtr[resolveIndex]; } _vm->_voy._vocSecondsOffset = 0; @@ -484,13 +484,13 @@ void ThreadResource::parsePlayCommands() { parseIndex = 999; } else { // TODO: Double-check this - int count = _vm->_bVoy->getBoltGroup(_vm->_playStamp1)->_entries.size(); + int count = _vm->_bVoy->getBoltGroup(_vm->_playStampGroupId)->_entries.size(); _vm->_soundManager.stopVOCPlay(); _vm->_eventsManager.getMouseInfo(); for (int i = 0; i < count; ++i) { - pic = _vm->_bVoy->boltEntry(_vm->_playStamp1 + i * 2)._picResource; - pal = _vm->_bVoy->boltEntry(_vm->_playStamp1 + i * 2 + 1)._cMapResource; + pic = _vm->_bVoy->boltEntry(_vm->_playStampGroupId + i * 2)._picResource; + pal = _vm->_bVoy->boltEntry(_vm->_playStampGroupId + i * 2 + 1)._cMapResource; (*_vm->_graphicsManager._vPort)->setupViewPort(pic); pal->startFade(); @@ -498,8 +498,8 @@ void ThreadResource::parsePlayCommands() { _vm->flipPageAndWaitForFade(); if (i > 0) { - _vm->_bVoy->freeBoltMember(_vm->_playStamp1 + i * 2); - _vm->_bVoy->freeBoltMember(_vm->_playStamp1 + i * 2 + 1); + _vm->_bVoy->freeBoltMember(_vm->_playStampGroupId + i * 2); + _vm->_bVoy->freeBoltMember(_vm->_playStampGroupId + i * 2 + 1); } Common::String file = Common::String::format("news%d.voc", i + 1); @@ -520,8 +520,8 @@ void ThreadResource::parsePlayCommands() { break; } - _vm->_bVoy->freeBoltGroup(_vm->_playStamp1); - _vm->_playStamp1 = -1; + _vm->_bVoy->freeBoltGroup(_vm->_playStampGroupId); + _vm->_playStampGroupId = -1; _vm->_videoId = -1; parseIndex = 999; } @@ -555,7 +555,7 @@ void ThreadResource::parsePlayCommands() { case 6: _vm->_voy._field470 = 6; v2 = READ_LE_UINT16(dataP); - _vm->_playStamp1 = _vm->_resolvePtr[v2]; + _vm->_playStampGroupId = _vm->_resolvePtr[v2]; dataP += 2; break; @@ -660,17 +660,17 @@ void ThreadResource::parsePlayCommands() { break; case 14: - _vm->_playStamp1 = 2048; + _vm->_playStampGroupId = 2048; _vm->_voy._field470 = 130; break; case 15: - _vm->_playStamp1 = (_vm->_voy._field4382 - 1) * 8 + 0x7700; + _vm->_playStampGroupId = (_vm->_voy._field4382 - 1) * 8 + 0x7700; _vm->_voy._field47A = ((READ_LE_UINT16(_vm->_controlPtr->_ptr + 4) - 1) << 8) + 0x7B00; - pic = _vm->_bVoy->boltEntry(_vm->_playStamp1)._picResource; - _cmd14Pal = _vm->_bVoy->boltEntry(_vm->_playStamp1 + 1)._cMapResource; + pic = _vm->_bVoy->boltEntry(_vm->_playStampGroupId)._picResource; + _cmd14Pal = _vm->_bVoy->boltEntry(_vm->_playStampGroupId + 1)._cMapResource; (*_vm->_graphicsManager._vPort)->setupViewPort(pic); _cmd14Pal->startFade(); @@ -683,16 +683,16 @@ void ThreadResource::parsePlayCommands() { pic = _vm->_bVoy->boltEntry(_vm->_voy._field47A)._picResource; _cmd14Pal = _vm->_bVoy->boltEntry(_vm->_voy._field47A + 1)._cMapResource; } else { - pic = _vm->_bVoy->boltEntry(_vm->_playStamp1 + idx * 2)._picResource; - _cmd14Pal = _vm->_bVoy->boltEntry(_vm->_playStamp1 + idx * 2 + 1)._cMapResource; + pic = _vm->_bVoy->boltEntry(_vm->_playStampGroupId + idx * 2)._picResource; + _cmd14Pal = _vm->_bVoy->boltEntry(_vm->_playStampGroupId + idx * 2 + 1)._cMapResource; } (*_vm->_graphicsManager._vPort)->setupViewPort(pic); _cmd14Pal->startFade(); _vm->flipPageAndWaitForFade(); - _vm->_bVoy->freeBoltMember(_vm->_playStamp1 + (idx - 1) * 2); - _vm->_bVoy->freeBoltMember(_vm->_playStamp1 + (idx - 1) * 2 + 1); + _vm->_bVoy->freeBoltMember(_vm->_playStampGroupId + (idx - 1) * 2); + _vm->_bVoy->freeBoltMember(_vm->_playStampGroupId + (idx - 1) * 2 + 1); Common::String fname = Common::String::format("news%d.voc", idx); @@ -708,9 +708,9 @@ void ThreadResource::parsePlayCommands() { break; } - _vm->_bVoy->freeBoltGroup(_vm->_playStamp1); + _vm->_bVoy->freeBoltGroup(_vm->_playStampGroupId); _vm->_bVoy->freeBoltGroup(_vm->_voy._field47A); - _vm->_playStamp1 = -1; + _vm->_playStampGroupId = -1; _vm->_voy._field47A = -1; break; @@ -1024,16 +1024,16 @@ int ThreadResource::doApt() { loadTheApt(); Common::Point aptPos(-1, -1); - _vm->_playStamp2 = 151; - _vm->_voy._viewBounds = _vm->_bVoy->boltEntry(_vm->_playStamp1)._rectResource; + _vm->_currentVocId = 151; + _vm->_voy._viewBounds = _vm->_bVoy->boltEntry(_vm->_playStampGroupId)._rectResource; Common::Array &hotspots = _vm->_bVoy->boltEntry( - _vm->_playStamp1 + 1)._rectResource->_entries; + _vm->_playStampGroupId + 1)._rectResource->_entries; _vm->_eventsManager.getMouseInfo(); if (aptPos.x == -1) { aptPos.x = hotspots[2].left; aptPos.y = hotspots[2].top; - _vm->_playStamp2 = 153; + _vm->_currentVocId = 153; } if (_vm->_voy._field470 == 16) { @@ -1044,8 +1044,8 @@ int ThreadResource::doApt() { } _vm->_eventsManager.setMousePos(Common::Point(aptPos.x, aptPos.y)); - _vm->_soundManager.startVOCPlay(_vm->_soundManager.getVOCFileName(_vm->_playStamp2)); - _vm->_playStamp2 = 151; + _vm->_soundManager.startVOCPlay(_vm->_soundManager.getVOCFileName(_vm->_currentVocId)); + _vm->_currentVocId = 151; _vm->_graphicsManager.setColor(129, 82, 82, 82); _vm->_graphicsManager.setColor(130, 112, 112, 112); @@ -1064,8 +1064,8 @@ int ThreadResource::doApt() { _vm->_eventsManager.getMouseInfo(); if (!_vm->_soundManager.getVOCStatus()) { // Previous sound ended, so start up a new one - _vm->_playStamp2 = _vm->getRandomNumber(4) + 151; - _vm->_soundManager.startVOCPlay(_vm->_soundManager.getVOCFileName(_vm->_playStamp2)); + _vm->_currentVocId = _vm->getRandomNumber(4) + 151; + _vm->_soundManager.startVOCPlay(_vm->_soundManager.getVOCFileName(_vm->_currentVocId)); } // Loop through the hotspot list @@ -1082,7 +1082,7 @@ int ThreadResource::doApt() { hotspotId = 5; // Draw the text description for the highlighted hotspot - pic = _vm->_bVoy->boltEntry(_vm->_playStamp1 + + pic = _vm->_bVoy->boltEntry(_vm->_playStampGroupId + hotspotId + 6)._picResource; _vm->_graphicsManager.sDrawPic(pic, *_vm->_graphicsManager._vPort, Common::Point(106, 200)); @@ -1093,8 +1093,8 @@ int ThreadResource::doApt() { } // Draw either standard or highlighted eye cursor - pic = _vm->_bVoy->boltEntry((hotspotId == -1) ? _vm->_playStamp1 + 2 : - _vm->_playStamp1 + 3)._picResource; + pic = _vm->_bVoy->boltEntry((hotspotId == -1) ? _vm->_playStampGroupId + 2 : + _vm->_playStampGroupId + 3)._picResource; _vm->_graphicsManager.sDrawPic(pic, *_vm->_graphicsManager._vPort, pt); _vm->flipPageAndWait(); @@ -1139,11 +1139,11 @@ void ThreadResource::doRoom() { vm.makeViewFinderP(); voy._field437E = 0; - if (!vm._bVoy->getBoltGroup(vm._playStamp1, true)) + if (!vm._bVoy->getBoltGroup(vm._playStampGroupId, true)) return; - vm._graphicsManager._backColors = vm._bVoy->boltEntry(vm._playStamp1 + 1)._cMapResource; - vm._graphicsManager._backgroundPage = vm._bVoy->boltEntry(vm._playStamp1)._picResource; + vm._graphicsManager._backColors = vm._bVoy->boltEntry(vm._playStampGroupId + 1)._cMapResource; + vm._graphicsManager._backgroundPage = vm._bVoy->boltEntry(vm._playStampGroupId)._picResource; (*vm._graphicsManager._vPort)->setupViewPort(vm._graphicsManager._backgroundPage); vm._graphicsManager._backColors->startFade(); @@ -1151,12 +1151,12 @@ void ThreadResource::doRoom() { voy._field437C = 0; voy._field437E = 1; - byte *dataP = vm._bVoy->memberAddr(vm._playStamp1 + 4); + byte *dataP = vm._bVoy->memberAddr(vm._playStampGroupId + 4); int count = READ_LE_UINT16(dataP); int i4e4 = -1; - PictureResource *pic1 = vm._bVoy->boltEntry(vm._playStamp1 + 2)._picResource; - PictureResource *pic2 = vm._bVoy->boltEntry(vm._playStamp1 + 3)._picResource; + PictureResource *pic1 = vm._bVoy->boltEntry(vm._playStampGroupId + 2)._picResource; + PictureResource *pic2 = vm._bVoy->boltEntry(vm._playStampGroupId + 3)._picResource; RectResource viewBounds(48, 38, 336, 202); voy._viewBounds = &viewBounds; @@ -1164,11 +1164,11 @@ void ThreadResource::doRoom() { vm._eventsManager.getMouseInfo(); vm._eventsManager.setMousePos(Common::Point(192, 120)); voy._field437E = 0; - vm._playStamp2 = 146; + vm._currentVocId = 146; voy._field4AC = voy._RTVNum; voy._vocSecondsOffset = 0; - vm._soundManager.startVOCPlay(vm._playStamp2); + vm._soundManager.startVOCPlay(vm._currentVocId); voy._field478 &= ~1; bool breakFlag = false; @@ -1178,10 +1178,10 @@ void ThreadResource::doRoom() { vm._eventsManager._intPtr._hasPalette = true; do { - if (vm._playStamp2 != -1 && !vm._soundManager.getVOCStatus()) { + if (vm._currentVocId != -1 && !vm._soundManager.getVOCStatus()) { voy._field4AC = voy._RTVNum; voy._vocSecondsOffset = 0; - vm._soundManager.startVOCPlay(vm._playStamp2); + vm._soundManager.startVOCPlay(vm._currentVocId); } vm._eventsManager.getMouseInfo(); @@ -1239,7 +1239,7 @@ void ThreadResource::doRoom() { if (i4e4 == 999) { _vm->flipPageAndWait(); - if (vm._playStamp2 != -1) { + if (vm._currentVocId != -1) { voy._vocSecondsOffset = voy._RTVNum - voy._field4AC; vm._soundManager.stopVOCPlay(); @@ -1268,16 +1268,16 @@ void ThreadResource::doRoom() { // WORKAROUND: Done in original, but not now, since freeing and reloading // the group would invalidate the _backgroundPage picture resource - //vm._bVoy->freeBoltGroup(vm._playStamp1); - //vm._bVoy->getBoltGroup(vm._playStamp1); + //vm._bVoy->freeBoltGroup(vm._playStampGroupId); + //vm._bVoy->getBoltGroup(vm._playStampGroupId); - dataP = vm._bVoy->memberAddr(vm._playStamp1 + 4); - pic1 = vm._bVoy->boltEntry(vm._playStamp1 + 2)._picResource; - pic2 = vm._bVoy->boltEntry(vm._playStamp1 + 3)._picResource; + dataP = vm._bVoy->memberAddr(vm._playStampGroupId + 4); + pic1 = vm._bVoy->boltEntry(vm._playStampGroupId + 2)._picResource; + pic2 = vm._bVoy->boltEntry(vm._playStampGroupId + 3)._picResource; vm._graphicsManager._backColors = vm._bVoy->boltEntry( - vm._playStamp1 + 1)._cMapResource; + vm._playStampGroupId + 1)._cMapResource; vm._graphicsManager._backgroundPage = vm._bVoy->boltEntry( - vm._playStamp1)._picResource; + vm._playStampGroupId)._picResource; vm._graphicsManager._backColors->startFade(); _vm->flipPageAndWait(); @@ -1320,14 +1320,14 @@ void ThreadResource::doRoom() { voy._field47A = -1; } - if (vm._playStamp1 != -1) { - vm._bVoy->freeBoltGroup(vm._playStamp1); - vm._playStamp1 = -1; + if (vm._playStampGroupId != -1) { + vm._bVoy->freeBoltGroup(vm._playStampGroupId); + vm._playStampGroupId = -1; } - if (vm._playStamp2 != -1) { + if (vm._currentVocId != -1) { vm._soundManager.stopVOCPlay(); - vm._playStamp2 = -1; + vm._currentVocId = -1; } chooseSTAMPButton(0); @@ -1344,7 +1344,7 @@ int ThreadResource::doInterface() { } _vm->_voy._field478 &= ~0x100; - _vm->_playStamp1 = -1; + _vm->_playStampGroupId = -1; _vm->_eventsManager._intPtr.field1E = 1; _vm->_eventsManager._intPtr.field1A = 0; @@ -1374,11 +1374,11 @@ int ThreadResource::doInterface() { _vm->initIFace(); Common::Array *hotspots = &_vm->_bVoy->boltEntry( - _vm->_playStamp1 + 1)._rectResource->_entries; - _vm->_playStamp2 = 151 - _vm->getRandomNumber(5); + _vm->_playStampGroupId + 1)._rectResource->_entries; + _vm->_currentVocId = 151 - _vm->getRandomNumber(5); _vm->_voy._vocSecondsOffset = _vm->getRandomNumber(29); - Common::String fname = _vm->_soundManager.getVOCFileName(_vm->_playStamp2); + Common::String fname = _vm->_soundManager.getVOCFileName(_vm->_currentVocId); _vm->_soundManager.startVOCPlay(fname); _vm->_eventsManager.getMouseInfo(); @@ -1412,8 +1412,8 @@ int ThreadResource::doInterface() { _vm->checkPhoneCall(); if (!_vm->_soundManager.getVOCStatus()) { - _vm->_playStamp2 = 151 - _vm->getRandomNumber(5); - _vm->_soundManager.startVOCPlay(_vm->_soundManager.getVOCFileName(_vm->_playStamp2)); + _vm->_currentVocId = 151 - _vm->getRandomNumber(5); + _vm->_soundManager.startVOCPlay(_vm->_soundManager.getVOCFileName(_vm->_currentVocId)); } // Calculate the mouse position within the entire mansion @@ -1505,7 +1505,7 @@ int ThreadResource::doInterface() { _vm->initIFace(); - hotspots = &_vm->_bVoy->boltEntry(_vm->_playStamp1 + 1)._rectResource->_entries; + hotspots = &_vm->_bVoy->boltEntry(_vm->_playStampGroupId + 1)._rectResource->_entries; _vm->_eventsManager.getMouseInfo(); _vm->_voy._field478 &= ~2; @@ -1518,8 +1518,8 @@ int ThreadResource::doInterface() { _vm->_eventsManager.hideCursor(); _vm->_voy._field478 |= 1; - _vm->_bVoy->freeBoltGroup(_vm->_playStamp1); - if (_vm->_playStamp2 != -1) + _vm->_bVoy->freeBoltGroup(_vm->_playStampGroupId); + if (_vm->_currentVocId != -1) _vm->_soundManager.stopVOCPlay(); return !_vm->_eventsManager._rightClick ? regionIndex : -2; @@ -1618,10 +1618,10 @@ void ThreadResource::loadTheApt() { case 8: case 9: case 17: - _vm->_playStamp1 = 0x5700; + _vm->_playStampGroupId = 0x5700; break; case 3: - _vm->_playStamp1 = 0x5800; + _vm->_playStampGroupId = 0x5800; break; case 4: case 10: @@ -1631,7 +1631,7 @@ void ThreadResource::loadTheApt() { case 14: case 15: case 16: - _vm->_playStamp1 = 0x5900; + _vm->_playStampGroupId = 0x5900; break; default: break; @@ -1642,21 +1642,21 @@ void ThreadResource::loadTheApt() { if (_vm->_voy._field472 != -1) { doAptAnim(1); - _vm->_bVoy->getBoltGroup(_vm->_playStamp1); + _vm->_bVoy->getBoltGroup(_vm->_playStampGroupId); _vm->_voy._field472 = -1; _vm->_graphicsManager._backgroundPage = _vm->_bVoy->boltEntry( - _vm->_playStamp1 + 5)._picResource; + _vm->_playStampGroupId + 5)._picResource; (*_vm->_graphicsManager._vPort)->setupViewPort( _vm->_graphicsManager._backgroundPage); } else { - _vm->_bVoy->getBoltGroup(_vm->_playStamp1); + _vm->_bVoy->getBoltGroup(_vm->_playStampGroupId); _vm->_graphicsManager._backgroundPage = _vm->_bVoy->boltEntry( - _vm->_playStamp1 + 5)._picResource; + _vm->_playStampGroupId + 5)._picResource; (*_vm->_graphicsManager._vPort)->setupViewPort( _vm->_graphicsManager._backgroundPage); } - CMapResource *pal = _vm->_bVoy->boltEntry(_vm->_playStamp1 + 4)._cMapResource; + CMapResource *pal = _vm->_bVoy->boltEntry(_vm->_playStampGroupId + 4)._cMapResource; pal->_steps = 1; pal->startFade(); _vm->flipPageAndWaitForFade(); @@ -1668,9 +1668,9 @@ void ThreadResource::freeTheApt() { _vm->_graphicsManager.fadeUpICF1(0); - if (_vm->_playStamp2 != -1) { + if (_vm->_currentVocId != -1) { _vm->_soundManager.stopVOCPlay(); - _vm->_playStamp2 = -1; + _vm->_currentVocId = -1; } if (_vm->_voy._field472 == -1) { @@ -1685,8 +1685,8 @@ void ThreadResource::freeTheApt() { } (*_vm->_graphicsManager._vPort)->setupViewPort(nullptr); - _vm->_bVoy->freeBoltGroup(_vm->_playStamp1); - _vm->_playStamp1 = -1; + _vm->_bVoy->freeBoltGroup(_vm->_playStampGroupId); + _vm->_playStampGroupId = -1; _vm->_voy._viewBounds = nullptr; } diff --git a/engines/voyeur/voyeur.cpp b/engines/voyeur/voyeur.cpp index dce4cf8ed5..37ed0be6be 100644 --- a/engines/voyeur/voyeur.cpp +++ b/engines/voyeur/voyeur.cpp @@ -44,7 +44,7 @@ VoyeurEngine::VoyeurEngine(OSystem *syst, const VoyeurGameDescription *gameDesc) _controlPtr = NULL; _bob = false; _stampFlags = 0; - _playStamp1 = _playStamp2 = 0; + _playStampGroupId = _currentVocId = 0; _videoId = -1; _checkTransitionId = -1; _gameHour = 0; diff --git a/engines/voyeur/voyeur.h b/engines/voyeur/voyeur.h index ed7891706b..69055498be 100644 --- a/engines/voyeur/voyeur.h +++ b/engines/voyeur/voyeur.h @@ -158,8 +158,8 @@ public: int _glGoStack; bool _bob; int _stampFlags; - int _playStamp1; - int _playStamp2; + int _playStampGroupId; + int _currentVocId; int _videoId; const int *_resolvePtr; int _iForceDeath; diff --git a/engines/voyeur/voyeur_game.cpp b/engines/voyeur/voyeur_game.cpp index 762b98829b..9f70d7418a 100644 --- a/engines/voyeur/voyeur_game.cpp +++ b/engines/voyeur/voyeur_game.cpp @@ -48,7 +48,7 @@ void VoyeurEngine::playStamp() { bool breakFlag = false; while (!breakFlag && !shouldQuit()) { _eventsManager.getMouseInfo(); - _playStamp1 = _playStamp2 = -1; + _playStampGroupId = _currentVocId = -1; _videoId = -1; threadP->parsePlayCommands(); @@ -142,17 +142,17 @@ void VoyeurEngine::playStamp() { case 130: { //_tmflag = 1; - if (_bVoy->getBoltGroup(_playStamp1)) { - _graphicsManager._backgroundPage = _bVoy->boltEntry(_playStamp1)._picResource; - _graphicsManager._backColors = _bVoy->boltEntry(_playStamp1 + 1)._cMapResource; + if (_bVoy->getBoltGroup(_playStampGroupId)) { + _graphicsManager._backgroundPage = _bVoy->boltEntry(_playStampGroupId)._picResource; + _graphicsManager._backColors = _bVoy->boltEntry(_playStampGroupId + 1)._cMapResource; buttonId = getChooseButton(); if (_eventsManager._rightClick) buttonId = 4; - _bVoy->freeBoltGroup(_playStamp1); + _bVoy->freeBoltGroup(_playStampGroupId); _graphicsManager.screenReset(); - _playStamp1 = -1; + _playStampGroupId = -1; flag = true; if (buttonId == 4) { @@ -174,9 +174,9 @@ void VoyeurEngine::playStamp() { do { if (flag) { - if (_playStamp2 != -1) { + if (_currentVocId != -1) { _soundManager.stopVOCPlay(); - _playStamp2 = -1; + _currentVocId = -1; } _videoId = -1; @@ -186,9 +186,9 @@ void VoyeurEngine::playStamp() { _voy._field47A = -1; } - if (_playStamp1 != -1) { - _bVoy->freeBoltGroup(_playStamp1); - _playStamp1 = -1; + if (_playStampGroupId != -1) { + _bVoy->freeBoltGroup(_playStampGroupId); + _playStampGroupId = -1; } // Break out of loop @@ -469,13 +469,13 @@ void VoyeurEngine::reviewTape() { _eventsManager.setMousePos(Common::Point(newX, newY)); } - _playStamp2 = 151; + _currentVocId = 151; _voy._vocSecondsOffset = 0; bool var1E = true; do { - if (_playStamp2 != -1 && !_soundManager.getVOCStatus()) { + if (_currentVocId != -1 && !_soundManager.getVOCStatus()) { _voy._field4AC = _voy._RTVNum; - _soundManager.startVOCPlay(_playStamp2); + _soundManager.startVOCPlay(_currentVocId); } if (var1E) { @@ -886,7 +886,7 @@ void VoyeurEngine::playAVideoEvent(int eventIndex) { int VoyeurEngine::getChooseButton() { int prevIndex = -2; - Common::Array &hotspots = _bVoy->boltEntry(_playStamp1 + Common::Array &hotspots = _bVoy->boltEntry(_playStampGroupId + 6)._rectResource->_entries; int selectedIndex = -1; @@ -895,13 +895,13 @@ int VoyeurEngine::getChooseButton() { _graphicsManager._backColors->startFade(); flipPageAndWait(); - _voy._viewBounds = _bVoy->boltEntry(_playStamp1 + 7)._rectResource; - PictureResource *cursorPic = _bVoy->boltEntry(_playStamp1 + 2)._picResource; + _voy._viewBounds = _bVoy->boltEntry(_playStampGroupId + 7)._rectResource; + PictureResource *cursorPic = _bVoy->boltEntry(_playStampGroupId + 2)._picResource; do { do { - if (_playStamp2 != -1 && !_soundManager.getVOCStatus()) - _soundManager.startVOCPlay(_playStamp2); + if (_currentVocId != -1 && !_soundManager.getVOCStatus()) + _soundManager.startVOCPlay(_currentVocId); _eventsManager.getMouseInfo(); selectedIndex = -1; @@ -912,19 +912,19 @@ int VoyeurEngine::getChooseButton() { if (!_voy._field4F0 || (idx + 1) != READ_LE_UINT32(_controlPtr->_ptr + 4)) { selectedIndex = idx; if (selectedIndex != prevIndex) { - PictureResource *btnPic = _bVoy->boltEntry(_playStamp1 + 8 + idx)._picResource; + PictureResource *btnPic = _bVoy->boltEntry(_playStampGroupId + 8 + idx)._picResource; _graphicsManager.sDrawPic(btnPic, *_graphicsManager._vPort, Common::Point(106, 200)); - cursorPic = _bVoy->boltEntry(_playStamp1 + 4)._picResource; + cursorPic = _bVoy->boltEntry(_playStampGroupId + 4)._picResource; } } } } if (selectedIndex == -1) { - cursorPic = _bVoy->boltEntry(_playStamp1 + 2)._picResource; - PictureResource *btnPic = _bVoy->boltEntry(_playStamp1 + 12)._picResource; + cursorPic = _bVoy->boltEntry(_playStampGroupId + 2)._picResource; + PictureResource *btnPic = _bVoy->boltEntry(_playStampGroupId + 12)._picResource; _graphicsManager.sDrawPic(btnPic, *_graphicsManager._vPort, Common::Point(106, 200)); } @@ -994,7 +994,7 @@ void VoyeurEngine::makeViewFinderP() { } void VoyeurEngine::initIFace(){ - int playStamp1 = _playStamp1; + int playStamp1 = _playStampGroupId; switch (_voy._transitionId) { case 0: break; @@ -1005,20 +1005,20 @@ void VoyeurEngine::initIFace(){ case 7: case 8: case 9: - _playStamp1 = 0xB00; + _playStampGroupId = 0xB00; break; case 3: - _playStamp1 = 0xC00; + _playStampGroupId = 0xC00; break; default: - _playStamp1 = 0xD00; + _playStampGroupId = 0xD00; break; } if (playStamp1 != -1) _bVoy->freeBoltGroup(playStamp1, true); - _bVoy->getBoltGroup(_playStamp1); - CMapResource *pal = _bVoy->boltEntry(_playStamp1 + 2)._cMapResource; + _bVoy->getBoltGroup(_playStampGroupId); + CMapResource *pal = _bVoy->boltEntry(_playStampGroupId + 2)._cMapResource; pal->startFade(); // Start the mansion off centered @@ -1026,7 +1026,7 @@ void VoyeurEngine::initIFace(){ (MANSION_MAX_Y - MANSION_VIEW_HEIGHT) / 2); doScroll(_mansionViewPos); - _voy._viewBounds = _bVoy->boltEntry(_playStamp1)._rectResource; + _voy._viewBounds = _bVoy->boltEntry(_playStampGroupId)._rectResource; // Show the cursor using ScummVM functionality _eventsManager.showCursor(); @@ -1136,16 +1136,16 @@ bool VoyeurEngine::doComputerText(int maxLen) { _voy._vocSecondsOffset = 0; if (_voy._RTVNum > _voy._field4EE && maxLen == 9999) { - if (_playStamp2 != -1) - _soundManager.startVOCPlay(_playStamp2); + if (_currentVocId != -1) + _soundManager.startVOCPlay(_currentVocId); font._justify = ALIGN_LEFT; font._justifyWidth = 384; font._justifyHeight = 100; font._pos = Common::Point(128, 100); (*_graphicsManager._vPort)->drawText(END_OF_MESSAGE); } else if (_voy._RTVNum < _voy._field4EC && maxLen == 9999) { - if (_playStamp2 != -1) - _soundManager.startVOCPlay(_playStamp2); + if (_currentVocId != -1) + _soundManager.startVOCPlay(_currentVocId); font._justify = ALIGN_LEFT; font._justifyWidth = 384; font._justifyHeight = 100; @@ -1158,10 +1158,10 @@ bool VoyeurEngine::doComputerText(int maxLen) { bool showEnd = true; int yp = 60; do { - if (_playStamp2 != -1 && !_soundManager.getVOCStatus()) { + if (_currentVocId != -1 && !_soundManager.getVOCStatus()) { if (_voy._vocSecondsOffset > 60) _voy._vocSecondsOffset = 0; - _soundManager.startVOCPlay(_playStamp2); + _soundManager.startVOCPlay(_currentVocId); } char c = *msg++; @@ -1270,17 +1270,17 @@ void VoyeurEngine::flashTimeBar(){ void VoyeurEngine::checkPhoneCall() { if ((_voy._RTVLimit - _voy._RTVNum) >= 36 && _voy._field4B8 < 5 && - _playStamp2 <= 151 && _playStamp2 > 146) { + _currentVocId <= 151 && _currentVocId > 146) { if ((_voy._switchBGNum < _checkPhoneVal || _checkPhoneVal > 180) && !_soundManager.getVOCStatus()) { int soundIndex; do { soundIndex = getRandomNumber(4); } while (_voy._field4AE[soundIndex]); - _playStamp2 = 154 + soundIndex; + _currentVocId = 154 + soundIndex; _soundManager.stopVOCPlay(); - _soundManager.startVOCPlay(_playStamp2); + _soundManager.startVOCPlay(_currentVocId); _checkPhoneVal = _voy._switchBGNum; ++_voy._field4AE[soundIndex]; ++_voy._field4B8; @@ -1292,7 +1292,7 @@ void VoyeurEngine::doEvidDisplay(int evidId, int eventId) { _eventsManager.getMouseInfo(); flipPageAndWait(); - if (_playStamp2 != -1) { + if (_currentVocId != -1) { _voy._vocSecondsOffset = _voy._RTVNum - _voy._field4AC; _soundManager.stopVOCPlay(); } @@ -1310,7 +1310,7 @@ void VoyeurEngine::doEvidDisplay(int evidId, int eventId) { _eventsManager.delay(1); _bVoy->freeBoltMember(_voy._field47A + evidId * 2 + 1); - byte *dataP = _bVoy->memberAddr(_playStamp1 + 4); + byte *dataP = _bVoy->memberAddr(_playStampGroupId + 4); int count = (int16)READ_LE_UINT16(dataP + evidId * 12 + 4); if (count > 0) { @@ -1334,11 +1334,11 @@ void VoyeurEngine::doEvidDisplay(int evidId, int eventId) { int evidIdx = evidId; while (!shouldQuit() && !_eventsManager._rightClick) { - if (_playStamp2 != -1 && !_soundManager.getVOCStatus()) { + if (_currentVocId != -1 && !_soundManager.getVOCStatus()) { if (_voy._vocSecondsOffset > 60) _voy._vocSecondsOffset = 0; - _soundManager.startVOCPlay(_playStamp2); + _soundManager.startVOCPlay(_currentVocId); } _eventsManager.delayClick(600); -- cgit v1.2.3 From c884d5bf1488db9d05b0afb0088768a97f6b1b52 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Sun, 5 Jan 2014 16:47:03 -0500 Subject: VOYEUR: Added a state field for current game area --- engines/voyeur/files.cpp | 4 ++-- engines/voyeur/files_threads.cpp | 3 +++ engines/voyeur/voyeur.cpp | 2 +- engines/voyeur/voyeur.h | 3 ++- engines/voyeur/voyeur_game.cpp | 3 +++ 5 files changed, 11 insertions(+), 4 deletions(-) diff --git a/engines/voyeur/files.cpp b/engines/voyeur/files.cpp index 1e08acb489..2403898e6f 100644 --- a/engines/voyeur/files.cpp +++ b/engines/voyeur/files.cpp @@ -286,8 +286,8 @@ void BoltFile::freeBoltGroup(uint16 id, bool freeEntries) { } void BoltFile::freeBoltMember(uint32 id) { - // TODO: Determine whether this is needed - warning("TODO: BoltFile::freeBoltMember"); + // TODO: Determine whether this is needed, given all group entries are automatically loaded +// warning("TODO: BoltFile::freeBoltMember"); } BoltEntry &BoltFile::getBoltEntryFromLong(uint32 id) { diff --git a/engines/voyeur/files_threads.cpp b/engines/voyeur/files_threads.cpp index d412e11566..20d781457d 100644 --- a/engines/voyeur/files_threads.cpp +++ b/engines/voyeur/files_threads.cpp @@ -1061,6 +1061,7 @@ int ThreadResource::doApt() { Common::Point pt; PictureResource *pic; do { + _vm->_voyeurArea = AREA_APARTMENT; _vm->_eventsManager.getMouseInfo(); if (!_vm->_soundManager.getVOCStatus()) { // Previous sound ended, so start up a new one @@ -1173,6 +1174,7 @@ void ThreadResource::doRoom() { bool breakFlag = false; while (!vm.shouldQuit() && !breakFlag) { + _vm->_voyeurArea = AREA_ROOM; vm._graphicsManager.setColor(128, 0, 255, 0); vm._eventsManager._intPtr.field38 = 1; vm._eventsManager._intPtr._hasPalette = true; @@ -1402,6 +1404,7 @@ int ThreadResource::doInterface() { MANSION_VIEW_X + MANSION_VIEW_WIDTH, MANSION_VIEW_Y + MANSION_VIEW_HEIGHT); do { + _vm->_voyeurArea = AREA_INTERFACE; _vm->doTimeBar(true); _vm->_eventsManager.getMouseInfo(); diff --git a/engines/voyeur/voyeur.cpp b/engines/voyeur/voyeur.cpp index 37ed0be6be..a6ad25f618 100644 --- a/engines/voyeur/voyeur.cpp +++ b/engines/voyeur/voyeur.cpp @@ -53,7 +53,7 @@ VoyeurEngine::VoyeurEngine(OSystem *syst, const VoyeurGameDescription *gameDesc) _flashTimeFlag = false; _timeBarVal = -1; _checkPhoneVal = 0; - _mansionScrollCountdown = 0; + _voyeurArea = AREA_NONE; initialiseManagers(); } diff --git a/engines/voyeur/voyeur.h b/engines/voyeur/voyeur.h index 69055498be..53f170819f 100644 --- a/engines/voyeur/voyeur.h +++ b/engines/voyeur/voyeur.h @@ -69,6 +69,7 @@ enum VoyeurDebugChannels { kDebugScripts = 1 << 1 }; +enum VoyeurArea { AREA_NONE, AREA_APARTMENT, AREA_INTERFACE, AREA_ROOM, AREA_EVIDENCE }; struct VoyeurGameDescription; @@ -171,7 +172,7 @@ public: int _timeBarVal; int _checkPhoneVal; Common::Point _mansionViewPos; - int _mansionScrollCountdown; + VoyeurArea _voyeurArea; public: VoyeurEngine(OSystem *syst, const VoyeurGameDescription *gameDesc); virtual ~VoyeurEngine(); diff --git a/engines/voyeur/voyeur_game.cpp b/engines/voyeur/voyeur_game.cpp index 9f70d7418a..e6f8d612f3 100644 --- a/engines/voyeur/voyeur_game.cpp +++ b/engines/voyeur/voyeur_game.cpp @@ -47,6 +47,7 @@ void VoyeurEngine::playStamp() { int buttonId; bool breakFlag = false; while (!breakFlag && !shouldQuit()) { + _voyeurArea = AREA_NONE; _eventsManager.getMouseInfo(); _playStampGroupId = _currentVocId = -1; _videoId = -1; @@ -1334,6 +1335,8 @@ void VoyeurEngine::doEvidDisplay(int evidId, int eventId) { int evidIdx = evidId; while (!shouldQuit() && !_eventsManager._rightClick) { + _voyeurArea = AREA_EVIDENCE; + if (_currentVocId != -1 && !_soundManager.getVOCStatus()) { if (_voy._vocSecondsOffset > 60) _voy._vocSecondsOffset = 0; -- cgit v1.2.3 From 1fb73446e3358a2fe045647c8cb5d1b621d43ce7 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Sun, 5 Jan 2014 20:56:14 -0500 Subject: VOYEUR: Clean up of some of the startup code --- engines/voyeur/events.cpp | 15 +++++++++ engines/voyeur/events.h | 14 +++++++++ engines/voyeur/voyeur.cpp | 80 ++++++++++++++++++++++++++++++----------------- 3 files changed, 81 insertions(+), 28 deletions(-) diff --git a/engines/voyeur/events.cpp b/engines/voyeur/events.cpp index 95e3047f8d..b96ce6796e 100644 --- a/engines/voyeur/events.cpp +++ b/engines/voyeur/events.cpp @@ -66,6 +66,21 @@ IntData::IntData() { /*------------------------------------------------------------------------*/ +void SVoy::addEvent(int hour, int minute, VoyeurEventType type, int videoId, + int on, int off, int dead) { + VoyeurEvent &e = _events[_eventCount++]; + + e._hour = hour; + e._minute = minute; + e._isAM = hour < 12; + e._videoId = videoId; + e._computerOn = on; + e._computerOff = off; + e._dead = dead; +} + +/*------------------------------------------------------------------------*/ + EventsManager::EventsManager(): _intPtr(_gameData), _fadeIntNode(0, 0, 3), _cycleIntNode(0, 0, 3) { _cycleStatus = 0; diff --git a/engines/voyeur/events.h b/engines/voyeur/events.h index e7aedd5218..bd119f2fb8 100644 --- a/engines/voyeur/events.h +++ b/engines/voyeur/events.h @@ -101,7 +101,15 @@ public: int _field4EE; int _field4F0; int _field4F2; + + /** + * Total number of game events that have occurred + */ int _eventCount; + + /** + * List of game events that have occurred + */ VoyeurEvent _events[TOTAL_EVENTS]; int _timeStart; @@ -126,6 +134,12 @@ public: int _curICF1; int _fadeICF0; int _policeEvent; +public: + /** + * Add an event to the list of game events that have occurred + */ + void addEvent(int hour, int minute, VoyeurEventType type, int videoId, int on, + int off, int dead); }; class IntData { diff --git a/engines/voyeur/voyeur.cpp b/engines/voyeur/voyeur.cpp index a6ad25f618..0238651c4c 100644 --- a/engines/voyeur/voyeur.cpp +++ b/engines/voyeur/voyeur.cpp @@ -171,44 +171,60 @@ void VoyeurEngine::initInput() { bool VoyeurEngine::doHeadTitle() { // char dest[144]; - + _eventsManager.startMainClockInt(); - + /* // Show starting screen -// if (_bVoy->getBoltGroup(0x500)) -// showConversionScreen(); - if (shouldQuit()) - return false; + if (_bVoy->getBoltGroup(0x500)) { + showConversionScreen(); + _bVoy->freeBoltGroup(0x500); + + if (shouldQuit()) + return false; + } if (ConfMan.getBool("copy_protection")) { + // Display lock screen bool result = doLock(); if (!result || shouldQuit()) return false; } -// showTitleScreen(); + // Show the title screen + showTitleScreen(); + if (shouldQuit()) + return false; // Opening if (!_eventsManager._mouseClicked) { -// doOpening(); -// doTransitionCard("Saturday Afternoon", "Player's Apartment"); + doOpening(); + doTransitionCard("Saturday Afternoon", "Player's Apartment"); _eventsManager.delayClick(90); } else { _eventsManager._mouseClicked = false; } - + */ if (_voy._field478 & 0x80) { - // TODO: Check when these are called, and the two different loops. - // Also, comptuerNu isn't an array in IDB? - /* - if (_voy._evidence[19] == 0) { - Common::copy(&COMPUTER_DEFAULTS[0], &COMPUTER_DEFAULTS[9 * 8], &_voy._computerNum[0]); - _voy._evidence[19] = 9; - } else { - error("_computerNum loaded with uninitialized list here"); - } - */ - } + // Add initial game event set + if (_voy._eventCount <= 1) + _voy.addEvent(18, 1, EVTYPE_VIDEO, 33, 0, 998, -1); + if (_voy._eventCount <= 2) + _voy.addEvent(18, 2, EVTYPE_VIDEO, 41, 0, 998, -1); + if (_voy._eventCount <= 3) + _voy.addEvent(18, 3, EVTYPE_VIDEO, 47, 0, 998, -1); + if (_voy._eventCount <= 4) + _voy.addEvent(18, 4, EVTYPE_VIDEO, 53, 0, 998, -1); + if (_voy._eventCount <= 5) + _voy.addEvent(18, 5, EVTYPE_VIDEO, 46, 0, 998, -1); + if (_voy._eventCount <= 6) + _voy.addEvent(18, 6, EVTYPE_VIDEO, 50, 0, 998, -1); + if (_voy._eventCount <= 7) + _voy.addEvent(18, 7, EVTYPE_VIDEO, 40, 0, 998, -1); + if (_voy._eventCount <= 8) + _voy.addEvent(18, 8, EVTYPE_VIDEO, 43, 0, 998, -1); + if (_voy._eventCount <= 9) + _voy.addEvent(19, 1, EVTYPE_AUDIO, 20, 0, 998, -1); + } _voy._field472 = 140; return true; @@ -240,7 +256,6 @@ void VoyeurEngine::showConversionScreen() { flipPageAndWaitForFade(); _graphicsManager.screenReset(); - _bVoy->freeBoltGroup(0x500); } bool VoyeurEngine::doLock() { @@ -462,7 +477,7 @@ void VoyeurEngine::showTitleScreen() { } void VoyeurEngine::doOpening() { -/* + /* _graphicsManager.screenReset(); if (!_bVoy->getBoltGroup(0x200, true)) @@ -478,11 +493,11 @@ void VoyeurEngine::doOpening() { _voy._RTVNum = 0; _voy._field468 = _voy._RTVNum; _voy._field478 = 16; - _eventsManager._gameHour = 4; - _eventsManager._gameMinute = 0; + _gameHour = 4; + _gameMinute = 0; _videoId = 1; _eventsManager._videoDead = -1; - addVideoEventStart(); + _eventsManager.addVideoEventStart(); _voy._field478 &= ~1; @@ -497,7 +512,7 @@ void VoyeurEngine::doOpening() { ::Video::RL2Decoder decoder; decoder.loadFile("a2300100.rl2"); decoder.start(); - + decoder.play(this); while (!shouldQuit() && !decoder.endOfVideo() && !_eventsManager._mouseClicked) { if (decoder.hasDirtyPalette()) { const byte *palette = decoder.getPalette(); @@ -514,6 +529,15 @@ void VoyeurEngine::doOpening() { _eventsManager.pollEvents(); g_system->delayMillis(10); } + + if ((_voy._RTVNum - _voy._field468) < 2) + _eventsManager.delay(60); + + _voy._field478 |= 1; + _eventsManager.addVideoEventEnd(); + _voy._field478 &= 0x10; + + _bVoy->freeBoltGroup(0x200); */ } @@ -535,7 +559,7 @@ void VoyeurEngine::playRL2Video(const Common::String &filename) { (byte *)_graphicsManager._screenSurface.getPixels()); } - _eventsManager.pollEvents(); + _eventsManager.getMouseInfo(); g_system->delayMillis(10); } } -- cgit v1.2.3 From 996b2aa43ca5615001d5aa0004a71612cc677eac Mon Sep 17 00:00:00 2001 From: Strangerke Date: Mon, 6 Jan 2014 07:47:47 +0100 Subject: VOYEUR: Use boolean for _isAM instead of int --- engines/voyeur/debugger.cpp | 2 +- engines/voyeur/events.h | 2 +- engines/voyeur/files_threads.cpp | 2 +- engines/voyeur/voyeur_game.cpp | 5 ++--- 4 files changed, 5 insertions(+), 6 deletions(-) diff --git a/engines/voyeur/debugger.cpp b/engines/voyeur/debugger.cpp index f97e73a5ce..c437bff03d 100644 --- a/engines/voyeur/debugger.cpp +++ b/engines/voyeur/debugger.cpp @@ -61,7 +61,7 @@ bool Debugger::Cmd_Time(int argc, const char **argv) { _vm->_voy._transitionId = timeId; _vm->_gameHour = LEVEL_H[timeId - 1]; _vm->_gameMinute = LEVEL_M[timeId - 1]; - _vm->_voy._isAM = timeId == 6; + _vm->_voy._isAM = (timeId == 6); // Camera back to full charge _vm->_voy._RTVNum = 0; diff --git a/engines/voyeur/events.h b/engines/voyeur/events.h index bd119f2fb8..a8ef89aaee 100644 --- a/engines/voyeur/events.h +++ b/engines/voyeur/events.h @@ -67,7 +67,7 @@ struct VoyeurEvent { class SVoy { public: - int _isAM; + bool _isAM; int _RTANum; int _RTVNum; int _switchBGNum; diff --git a/engines/voyeur/files_threads.cpp b/engines/voyeur/files_threads.cpp index 20d781457d..dc46b789ec 100644 --- a/engines/voyeur/files_threads.cpp +++ b/engines/voyeur/files_threads.cpp @@ -546,7 +546,7 @@ void ThreadResource::parsePlayCommands() { _vm->_voy._RTANum = 255; } - _vm->_voy._isAM = _vm->_voy._transitionId == 6; + _vm->_voy._isAM = (_vm->_voy._transitionId == 6); } dataP += 6; diff --git a/engines/voyeur/voyeur_game.cpp b/engines/voyeur/voyeur_game.cpp index e6f8d612f3..251772e200 100644 --- a/engines/voyeur/voyeur_game.cpp +++ b/engines/voyeur/voyeur_game.cpp @@ -38,7 +38,7 @@ void VoyeurEngine::playStamp() { ThreadResource *threadP = threadsList->_entries[0]->_threadResource; threadP->initThreadStruct(0, 0); - _voy._isAM = 0; + _voy._isAM = false; _gameHour = 9; _gameMinute = 0; _eventsManager._v2A0A2 = 0; @@ -1121,8 +1121,7 @@ Common::String VoyeurEngine::getTimeOfDay() { if (_voy._transitionId == 17) return ""; - const char *amPm = _voy._isAM ? AM : PM; - return Common::String::format("%d:%02d%s", _gameHour, _gameMinute, amPm); + return Common::String::format("%d:%02d%s", _gameHour, _gameMinute, _voy._isAM ? AM : PM); } bool VoyeurEngine::doComputerText(int maxLen) { -- cgit v1.2.3 From 12386de64b3b3fbb779d4262a0edfcb4fa5ee463 Mon Sep 17 00:00:00 2001 From: Strangerke Date: Mon, 6 Jan 2014 08:03:09 +0100 Subject: VOYEUR: Remove an unused variable and constant --- engines/voyeur/voyeur.h | 4 ---- 1 file changed, 4 deletions(-) diff --git a/engines/voyeur/voyeur.h b/engines/voyeur/voyeur.h index 53f170819f..b114c526f0 100644 --- a/engines/voyeur/voyeur.h +++ b/engines/voyeur/voyeur.h @@ -50,8 +50,6 @@ namespace Voyeur { #define DEBUG_INTERMEDIATE 2 #define DEBUG_DETAILED 3 -#define MAX_RESOLVE 1000 - // Constants used for doInterface display of the mansion #define MANSION_MAX_X 784 #define MANSION_MAX_Y 150 @@ -73,12 +71,10 @@ enum VoyeurArea { AREA_NONE, AREA_APARTMENT, AREA_INTERFACE, AREA_ROOM, AREA_EVI struct VoyeurGameDescription; - class VoyeurEngine : public Engine { private: const VoyeurGameDescription *_gameDescription; Common::RandomSource _randomSource; - Common::Array _resolves; FontInfoResource _defaultFontInfo; void ESP_Init(); -- cgit v1.2.3 From 6dff1574590c60eab526b7dcc4061ec9f15c0821 Mon Sep 17 00:00:00 2001 From: Strangerke Date: Tue, 7 Jan 2014 00:06:16 +0100 Subject: VOYEUR: Remove a couple of useless variables, change type of some other to use booleans, add CHECKME --- engines/voyeur/events.cpp | 9 ++++----- engines/voyeur/events.h | 5 ++--- engines/voyeur/files_threads.cpp | 6 +++--- engines/voyeur/graphics.cpp | 2 +- engines/voyeur/voyeur.cpp | 4 ++-- engines/voyeur/voyeur.h | 2 +- engines/voyeur/voyeur_game.cpp | 21 ++++++++++----------- 7 files changed, 23 insertions(+), 26 deletions(-) diff --git a/engines/voyeur/events.cpp b/engines/voyeur/events.cpp index b96ce6796e..f9e150c8a0 100644 --- a/engines/voyeur/events.cpp +++ b/engines/voyeur/events.cpp @@ -56,7 +56,7 @@ IntData::IntData() { field24 = 0; field26 = 0; field2A = 0; - field38 = 0; + field38 = false; field3B = 0; field3D = 0; _palStartIndex = 0; @@ -98,7 +98,6 @@ EventsManager::EventsManager(): _intPtr(_gameData), _newLeftClick = _newRightClick = false;; _newMouseClicked = _newMouseUnk = false; - _v2A0A2 = 0; _videoDead = 0; } @@ -188,7 +187,7 @@ void EventsManager::voyeurTimer() { if (--_gameData.field26 <= 0) { if (_gameData._flipWait) { - _gameData.field38 = 1; + _gameData.field38 = true; _gameData._flipWait = false; _gameData.field3B = 0; } @@ -353,7 +352,7 @@ void EventsManager::startFade(CMapResource *cMap) { _intPtr._hasPalette = true; if (!(cMap->_fadeStatus & 2)) - _intPtr.field38 = 1; + _intPtr.field38 = true; } if (_cycleStatus & 1) @@ -403,7 +402,7 @@ void EventsManager::vDoFadeInt() { _intPtr._palEndIndex = _fadeLastCol; _intPtr._hasPalette = true; - _intPtr.field38 = 1; + _intPtr.field38 = true; } void EventsManager::vDoCycleInt() { diff --git a/engines/voyeur/events.h b/engines/voyeur/events.h index a8ef89aaee..a51b66916a 100644 --- a/engines/voyeur/events.h +++ b/engines/voyeur/events.h @@ -82,7 +82,7 @@ public: int _field468; int _field46A; int _vocSecondsOffset; - int _field46E; + bool _field46E; int _field470; int _field472; int _transitionId; @@ -154,7 +154,7 @@ public: int field26; int field2A; bool _hasPalette; - int field38; + bool field38; int field3B; int field3D; int _palStartIndex; @@ -206,7 +206,6 @@ public: bool _newLeftClick, _newRightClick; bool _newMouseUnk; - int _v2A0A2; int _videoDead; int _cycleTime[4]; byte *_cycleNext[4]; diff --git a/engines/voyeur/files_threads.cpp b/engines/voyeur/files_threads.cpp index dc46b789ec..9f694ecaf9 100644 --- a/engines/voyeur/files_threads.cpp +++ b/engines/voyeur/files_threads.cpp @@ -1176,7 +1176,7 @@ void ThreadResource::doRoom() { while (!vm.shouldQuit() && !breakFlag) { _vm->_voyeurArea = AREA_ROOM; vm._graphicsManager.setColor(128, 0, 255, 0); - vm._eventsManager._intPtr.field38 = 1; + vm._eventsManager._intPtr.field38 = true; vm._eventsManager._intPtr._hasPalette = true; do { @@ -1221,7 +1221,7 @@ void ThreadResource::doRoom() { vm._eventsManager.setCursorColor(128, 2); } - vm._eventsManager._intPtr.field38 = 1; + vm._eventsManager._intPtr.field38 = true; vm._eventsManager._intPtr._hasPalette = true; vm._graphicsManager.flipPage(); vm._eventsManager.sWaitFlip(); @@ -1341,7 +1341,7 @@ int ThreadResource::doInterface() { _vm->_voy._field478 |= 1; if (_vm->_voy._field46E) { - _vm->_voy._field46E = 0; + _vm->_voy._field46E = false; return -2; } diff --git a/engines/voyeur/graphics.cpp b/engines/voyeur/graphics.cpp index e4b30b14c4..c4080e7d38 100644 --- a/engines/voyeur/graphics.cpp +++ b/engines/voyeur/graphics.cpp @@ -658,7 +658,7 @@ void GraphicsManager::resetPalette() { for (int i = 0; i < 256; ++i) setColor(i, 0, 0, 0); - _vm->_eventsManager._intPtr.field38 = 1; + _vm->_eventsManager._intPtr.field38 = true; _vm->_eventsManager._intPtr._hasPalette = true; } diff --git a/engines/voyeur/voyeur.cpp b/engines/voyeur/voyeur.cpp index 0238651c4c..af17460d91 100644 --- a/engines/voyeur/voyeur.cpp +++ b/engines/voyeur/voyeur.cpp @@ -307,7 +307,7 @@ bool VoyeurEngine::doLock() { _eventsManager.setCursor(cursorPic); _eventsManager.showCursor(); - _eventsManager._intPtr. field38 = 1; + _eventsManager._intPtr. field38 = true; _eventsManager._intPtr._hasPalette = true; _graphicsManager._fontPtr->_curFont = _bVoy->boltEntry(0x708)._fontResource; @@ -357,7 +357,7 @@ bool VoyeurEngine::doLock() { } _eventsManager.setCursorColor(127, (key == -1) ? 0 : 1); - _eventsManager._intPtr.field38 = 1; + _eventsManager._intPtr.field38 = true; _eventsManager._intPtr._hasPalette = true; _eventsManager.delay(1); diff --git a/engines/voyeur/voyeur.h b/engines/voyeur/voyeur.h index b114c526f0..552b9d035e 100644 --- a/engines/voyeur/voyeur.h +++ b/engines/voyeur/voyeur.h @@ -159,7 +159,7 @@ public: int _currentVocId; int _videoId; const int *_resolvePtr; - int _iForceDeath; + int _iForceDeath; // CHECKME: The original initializes it in ESP_init() int _checkTransitionId; int _gameHour; int _gameMinute; diff --git a/engines/voyeur/voyeur_game.cpp b/engines/voyeur/voyeur_game.cpp index 251772e200..e943af63ce 100644 --- a/engines/voyeur/voyeur_game.cpp +++ b/engines/voyeur/voyeur_game.cpp @@ -41,8 +41,7 @@ void VoyeurEngine::playStamp() { _voy._isAM = false; _gameHour = 9; _gameMinute = 0; - _eventsManager._v2A0A2 = 0; - _voy._field46E = 1; + _voy._field46E = true; int buttonId; bool breakFlag = false; @@ -67,14 +66,14 @@ void VoyeurEngine::playStamp() { break; case 1: _voy._field478 &= ~1; - _voy._field46E = 1; + _voy._field46E = true; threadP->chooseSTAMPButton(22); _voy._field472 = 143; break; case 2: _voy._field478 &= ~1; reviewTape(); - _voy._field46E = 1; + _voy._field46E = true; _voy._field472 = 142; break; case 3: @@ -86,7 +85,7 @@ void VoyeurEngine::playStamp() { break; case 5: doGossip(); - _voy._field46E = 1; + _voy._field46E = true; _voy._field472 = 141; _voy._field478 = -1; break; @@ -116,7 +115,7 @@ void VoyeurEngine::playStamp() { break; case 2: reviewTape(); - _voy._field46E = 1; + _voy._field46E = true; break; case 4: flag = true; @@ -163,7 +162,7 @@ void VoyeurEngine::playStamp() { flag = true; } else { threadP->chooseSTAMPButton(buttonId); - _voy._field46E = 1; + _voy._field46E = true; } } break; @@ -456,7 +455,7 @@ void VoyeurEngine::reviewTape() { _graphicsManager.setColor(12, 120, 248, 120); _eventsManager.setCursorColor(128, 1); - _eventsManager._intPtr.field38 = 1; + _eventsManager._intPtr.field38 = true; _eventsManager._intPtr._hasPalette = true; _graphicsManager._fontPtr->_curFont = _bVoy->boltEntry(0x909)._fontResource; _graphicsManager._fontPtr->_fontSaveBack = false; @@ -986,7 +985,7 @@ void VoyeurEngine::makeViewFinder() { _graphicsManager.setColor(243, 105, 105, 105); _graphicsManager.setColor(palOffset + 241, 219, 235, 235); - _eventsManager._intPtr.field38 = 1; + _eventsManager._intPtr.field38 = true; _eventsManager._intPtr._hasPalette = true; } @@ -1240,7 +1239,7 @@ void VoyeurEngine::doTimeBar(bool force) { (*_graphicsManager._vPort)->sFillBox(6, fullHeight - 92); if (height > 0) { _graphicsManager.setColor(215, 238, 238, 238); - _eventsManager._intPtr.field38 = 1; + _eventsManager._intPtr.field38 = true; _eventsManager._intPtr._hasPalette = true; _graphicsManager._drawPtr->_penColor = 215; @@ -1262,7 +1261,7 @@ void VoyeurEngine::flashTimeBar(){ else _graphicsManager.setColor(240, 220, 220, 220); - _eventsManager._intPtr.field38 = 1; + _eventsManager._intPtr.field38 = true; _eventsManager._intPtr._hasPalette = true; _flashTimeFlag = !_flashTimeFlag; } -- cgit v1.2.3 From 2a206ebd7f84b41ba93518a2c003ba67bedf72df Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Mon, 6 Jan 2014 22:01:36 -0500 Subject: VOYEUR: Moved SVoy and game events to their own file --- engines/voyeur/events.cpp | 87 ---------------------------------- engines/voyeur/events.h | 100 --------------------------------------- engines/voyeur/files_threads.cpp | 12 ++--- engines/voyeur/module.mk | 1 + engines/voyeur/voyeur.cpp | 2 +- engines/voyeur/voyeur.h | 1 + engines/voyeur/voyeur_game.cpp | 4 +- 7 files changed, 11 insertions(+), 196 deletions(-) diff --git a/engines/voyeur/events.cpp b/engines/voyeur/events.cpp index f9e150c8a0..ba86ba8f58 100644 --- a/engines/voyeur/events.cpp +++ b/engines/voyeur/events.cpp @@ -66,21 +66,6 @@ IntData::IntData() { /*------------------------------------------------------------------------*/ -void SVoy::addEvent(int hour, int minute, VoyeurEventType type, int videoId, - int on, int off, int dead) { - VoyeurEvent &e = _events[_eventCount++]; - - e._hour = hour; - e._minute = minute; - e._isAM = hour < 12; - e._videoId = videoId; - e._computerOn = on; - e._computerOff = off; - e._dead = dead; -} - -/*------------------------------------------------------------------------*/ - EventsManager::EventsManager(): _intPtr(_gameData), _fadeIntNode(0, 0, 3), _cycleIntNode(0, 0, 3) { _cycleStatus = 0; @@ -597,78 +582,6 @@ void EventsManager::incrementTime(int amt) { mainVoyeurIntFunc(); } -void EventsManager::addVideoEventStart() { - VoyeurEvent &e = _vm->_voy._events[_vm->_voy._eventCount]; - e._hour = _vm->_gameHour; - e._minute = _vm->_gameMinute; - e._isAM = _vm->_voy._isAM; - e._type = EVTYPE_VIDEO; - e._videoId = _vm->_videoId; - e._computerOn = _vm->_voy._vocSecondsOffset; - e._dead = _vm->_eventsManager._videoDead; -} - -void EventsManager::addVideoEventEnd() { - VoyeurEvent &e = _vm->_voy._events[_vm->_voy._eventCount]; - e._computerOff = _vm->_voy._RTVNum - _vm->_voy._field468 - _vm->_voy._vocSecondsOffset; - if (_vm->_voy._eventCount < (TOTAL_EVENTS - 1)) - ++_vm->_voy._eventCount; -} - -void EventsManager::addAudioEventStart() { - VoyeurEvent &e = _vm->_voy._events[_vm->_voy._eventCount]; - e._hour = _vm->_gameHour; - e._minute = _vm->_gameMinute; - e._isAM = _vm->_voy._isAM; - e._type = EVTYPE_AUDIO; - e._videoId = _vm->_videoId; - e._computerOn = _vm->_voy._field47A; - e._dead = _vm->_eventsManager._videoDead; -} - -void EventsManager::addAudioEventEnd() { - VoyeurEvent &e = _vm->_voy._events[_vm->_voy._eventCount]; - e._computerOff = _vm->_voy._RTVNum - _vm->_voy._field468 - _vm->_voy._vocSecondsOffset; - if (_vm->_voy._eventCount < (TOTAL_EVENTS - 1)) - ++_vm->_voy._eventCount; -} - -void EventsManager::addEvidEventStart(int v) { - VoyeurEvent &e = _vm->_voy._events[_vm->_voy._eventCount]; - e._hour = _vm->_gameHour; - e._minute = _vm->_gameMinute; - e._isAM = _vm->_voy._isAM; - e._type = EVTYPE_EVID; - e._videoId = _vm->_videoId; - e._computerOn = _vm->_voy._vocSecondsOffset; - e._dead = _vm->_eventsManager._videoDead; - -} - -void EventsManager::addEvidEventEnd(int dead) { - VoyeurEvent &e = _vm->_voy._events[_vm->_voy._eventCount]; - e._dead = dead; - if (_vm->_voy._eventCount < (TOTAL_EVENTS - 1)) - ++_vm->_voy._eventCount; -} - -void EventsManager::addComputerEventStart() { - VoyeurEvent &e = _vm->_voy._events[_vm->_voy._eventCount]; - e._hour = _vm->_gameHour; - e._minute = _vm->_gameMinute; - e._isAM = _vm->_voy._isAM; - e._type = EVTYPE_COMPUTER; - e._videoId = _vm->_playStampGroupId; - e._computerOn = _vm->_voy._computerTextId; -} - -void EventsManager::addComputerEventEnd(int v) { - VoyeurEvent &e = _vm->_voy._events[_vm->_voy._eventCount]; - e._computerOff = v; - if (_vm->_voy._eventCount < (TOTAL_EVENTS - 1)) - ++_vm->_voy._eventCount; -} - void EventsManager::stopEvidDim() { deleteIntNode(&_evIntNode); } diff --git a/engines/voyeur/events.h b/engines/voyeur/events.h index a51b66916a..d2909542e6 100644 --- a/engines/voyeur/events.h +++ b/engines/voyeur/events.h @@ -36,7 +36,6 @@ class CMapResource; #define GAME_FRAME_RATE 50 #define GAME_FRAME_TIME (1000 / GAME_FRAME_RATE) -#define TOTAL_EVENTS 1000 typedef void (EventsManager::*EventMethodPtr)(); @@ -51,97 +50,6 @@ public: IntNode(uint16 curTime, uint16 timeReset, uint16 flags); }; -enum VoyeurEventType { EVTYPE_VIDEO = 1, EVTYPE_AUDIO = 2, EVTYPE_EVID = 3, - EVTYPE_COMPUTER = 4 }; - -struct VoyeurEvent { - int _hour; - int _minute; - bool _isAM; - VoyeurEventType _type; - int _videoId; - int _computerOn; - int _computerOff; - int _dead; -}; - -class SVoy { -public: - bool _isAM; - int _RTANum; - int _RTVNum; - int _switchBGNum; - int _arr1[8][20]; - int _arr2[8][20]; - int _arr3[3][20]; - int _arr4[3][20]; - int _arr5[3][20]; - int _arr6[3][20]; - int _arr7[20]; - - int _field468; - int _field46A; - int _vocSecondsOffset; - bool _field46E; - int _field470; - int _field472; - int _transitionId; - int _RTVLimit; - int _field478; - int _field47A; - PictureResource *_evPicPtrs[6]; - CMapResource *_evCmPtrs[6]; - int _field4AC; - int _field4AE[5]; - int _field4B8; - - int _computerTextId; - Common::Rect _rect4E4; - int _field4EC; - int _field4EE; - int _field4F0; - int _field4F2; - - /** - * Total number of game events that have occurred - */ - int _eventCount; - - /** - * List of game events that have occurred - */ - VoyeurEvent _events[TOTAL_EVENTS]; - - int _timeStart; - int _duration; - int _vidStart; - - int _audioTime; - int _phones[5]; - int _numPhonesUsed; - int _evidence[20]; - - int _field4376; - int _field4378; - int _field437A; - int _field437C; - int _field437E; - int _field4380; - int _field4382; - int _videoEventId; - RectResource *_viewBounds; - int _curICF0; - int _curICF1; - int _fadeICF0; - int _policeEvent; -public: - /** - * Add an event to the list of game events that have occurred - */ - void addEvent(int hour, int minute, VoyeurEventType type, int videoId, int on, - int off, int dead); -}; - class IntData { public: bool _field9; @@ -238,14 +146,6 @@ public: void startCursorBlink(); void incrementTime(int amt); - void addVideoEventStart(); - void addVideoEventEnd(); - void addAudioEventStart(); - void addAudioEventEnd(); - void addEvidEventStart(int v); - void addEvidEventEnd(int dead); - void addComputerEventStart(); - void addComputerEventEnd(int v); void stopEvidDim(); Common::String getEvidString(int eventIndex); diff --git a/engines/voyeur/files_threads.cpp b/engines/voyeur/files_threads.cpp index 9f694ecaf9..1764c223d7 100644 --- a/engines/voyeur/files_threads.cpp +++ b/engines/voyeur/files_threads.cpp @@ -376,7 +376,7 @@ void ThreadResource::parsePlayCommands() { _vm->_videoId = -1; } else { _vm->_voy._vocSecondsOffset = _vm->_voy._RTVNum - _vm->_voy._field468; - _vm->_eventsManager.addAudioEventStart(); + _vm->_voy.addAudioEventStart(); assert(_vm->_videoId < 38); _vm->_graphicsManager._backgroundPage = _vm->_bVoy->boltEntry( @@ -402,7 +402,7 @@ void ThreadResource::parsePlayCommands() { _vm->_voy._field478 |= 1; _vm->_soundManager.stopVOCPlay(); - _vm->_eventsManager.addAudioEventEnd(); + _vm->_voy.addAudioEventEnd(); _vm->_eventsManager.incrementTime(1); _vm->_eventsManager.incrementTime(1); @@ -430,14 +430,14 @@ void ThreadResource::parsePlayCommands() { _vm->_videoId = -1; } else { _vm->_voy._vocSecondsOffset = _vm->_voy._RTVNum - _vm->_voy._field468; - _vm->_eventsManager.addAudioEventStart(); + _vm->_voy.addAudioEventStart(); _vm->_voy._field478 &= ~1; _vm->_voy._field478 |= 0x10; _vm->playAVideo(_vm->_videoId); _vm->_voy._field478 &= ~0x10; _vm->_voy._field478 |= 1; - _vm->_eventsManager.addVideoEventEnd(); + _vm->_voy.addVideoEventEnd(); _vm->_eventsManager.incrementTime(1); _vm->_videoId = -1; @@ -1250,14 +1250,14 @@ void ThreadResource::doRoom() { vm.getComputerBrush(); _vm->flipPageAndWait(); - vm._eventsManager.addComputerEventStart(); + vm._voy.addComputerEventStart(); vm._eventsManager._mouseClicked = false; vm._eventsManager.startCursorBlink(); int v = vm.doComputerText(9999); if (v) - vm._eventsManager.addComputerEventEnd(v); + vm._voy.addComputerEventEnd(v); vm._bVoy->freeBoltGroup(0x4900); } else { diff --git a/engines/voyeur/module.mk b/engines/voyeur/module.mk index c52502d2e2..f2a69dfe76 100644 --- a/engines/voyeur/module.mk +++ b/engines/voyeur/module.mk @@ -2,6 +2,7 @@ MODULE := engines/voyeur MODULE_OBJS := \ animation.o \ + data.o \ debugger.o \ detection.o \ events.o \ diff --git a/engines/voyeur/voyeur.cpp b/engines/voyeur/voyeur.cpp index af17460d91..bc2a30b0b7 100644 --- a/engines/voyeur/voyeur.cpp +++ b/engines/voyeur/voyeur.cpp @@ -125,7 +125,7 @@ void VoyeurEngine::initialiseManagers() { _filesManager.setVm(this); _graphicsManager.setVm(this); _soundManager.setVm(this); - + _voy.setVm(this); } void VoyeurEngine::ESP_Init() { diff --git a/engines/voyeur/voyeur.h b/engines/voyeur/voyeur.h index 552b9d035e..4ee5f84b02 100644 --- a/engines/voyeur/voyeur.h +++ b/engines/voyeur/voyeur.h @@ -24,6 +24,7 @@ #define VOYEUR_VOYEUR_H #include "voyeur/debugger.h" +#include "voyeur/data.h" #include "voyeur/events.h" #include "voyeur/files.h" #include "voyeur/graphics.h" diff --git a/engines/voyeur/voyeur_game.cpp b/engines/voyeur/voyeur_game.cpp index e943af63ce..a8330c02b3 100644 --- a/engines/voyeur/voyeur_game.cpp +++ b/engines/voyeur/voyeur_game.cpp @@ -1325,7 +1325,7 @@ void VoyeurEngine::doEvidDisplay(int evidId, int eventId) { _eventsManager.stopEvidDim(); if (eventId == 999) - _eventsManager.addEvidEventStart(eventId); + _voy.addEvidEventStart(eventId); _eventsManager.getMouseInfo(); @@ -1365,7 +1365,7 @@ void VoyeurEngine::doEvidDisplay(int evidId, int eventId) { } if (eventId != 999) - _eventsManager.addEvidEventEnd(evidIdx); + _voy.addEvidEventEnd(evidIdx); count = (int16)READ_LE_UINT16(dataP + evidId * 12 + 4); for (int idx = 1; idx <= count; ++idx) { -- cgit v1.2.3 From 3eff4af3c514f75eaa6e91ab94fd644d69557341 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Mon, 6 Jan 2014 22:54:46 -0500 Subject: VOYEUR: Added new data source file --- engines/voyeur/data.cpp | 192 ++++++++++++++++++++++++++++++++++++++++++++++++ engines/voyeur/data.h | 140 +++++++++++++++++++++++++++++++++++ 2 files changed, 332 insertions(+) create mode 100644 engines/voyeur/data.cpp create mode 100644 engines/voyeur/data.h diff --git a/engines/voyeur/data.cpp b/engines/voyeur/data.cpp new file mode 100644 index 0000000000..f98478b723 --- /dev/null +++ b/engines/voyeur/data.cpp @@ -0,0 +1,192 @@ +/* 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 "voyeur/data.h" +#include "voyeur/voyeur.h" + +namespace Voyeur { + +void VoyeurEvent::synchronize(Common::Serializer &s) { + s.syncAsByte(_hour); + s.syncAsByte(_minute); + s.syncAsByte(_isAM); + s.syncAsByte(_type); + s.syncAsSint16LE(_videoId); + s.syncAsSint16LE(_computerOn); + s.syncAsSint16LE(_computerOff); + s.syncAsSint16LE(_dead); +} + +/*------------------------------------------------------------------------*/ + +void SVoy::setVm(VoyeurEngine *vm) { + _vm = vm; +} + +void SVoy::addEvent(int hour, int minute, VoyeurEventType type, int videoId, + int on, int off, int dead) { + VoyeurEvent &e = _events[_eventCount++]; + + e._hour = hour; + e._minute = minute; + e._isAM = hour < 12; + e._videoId = videoId; + e._computerOn = on; + e._computerOff = off; + e._dead = dead; +} + +void SVoy::synchronize(Common::Serializer &s) { + s.syncAsByte(_isAM); + s.syncAsSint16LE(_RTANum); + s.syncAsSint16LE(_RTVNum); + s.syncAsSint16LE(_switchBGNum); + + for (int v1 = 0; v1 < 8; ++v1) { + for (int v2 = 0; v2 < 20; ++v2) { + s.syncAsSint16LE(_arr1[v1][v2]); + s.syncAsSint16LE(_arr2[v1][v2]); + } + } + for (int v1 = 0; v1 < 4; ++v1) { + for (int v2 = 0; v2 < 20; ++v2) { + s.syncAsSint16LE(_arr3[v1][v2]); + s.syncAsSint16LE(_arr4[v1][v2]); + } + } + for (int v1 = 0; v1 < 4; ++v1) { + for (int v2 = 0; v2 < 20; ++v2) { + s.syncAsSint16LE(_arr5[v1][v2]); + s.syncAsSint16LE(_arr6[v1][v2]); + } + } + for (int v1 = 0; v1 < 20; ++v1) { + s.syncAsSint16LE(_arr7[20]); + } + + s.syncAsSint16LE(_field468); + s.syncAsSint16LE(_field46A); + s.syncAsSint16LE(_vocSecondsOffset); + s.syncAsSint16LE(_field46E); + s.syncAsSint16LE(_field470); + s.syncAsSint16LE(_field472); + s.syncAsSint16LE(_transitionId); + s.syncAsSint16LE(_RTVLimit); + s.syncAsSint16LE(_field478); + s.syncAsSint16LE(_field47A); + + s.syncAsSint16LE(_field4AC); + s.syncAsSint16LE(_field4B8); + s.syncAsSint16LE(_computerTextId); + s.syncAsSint16LE(_field4EC); + s.syncAsSint16LE(_field4EE); + s.syncAsSint16LE(_field4F0); + s.syncAsSint16LE(_field4F2); + + // Events + s.syncAsUint16LE(_eventCount); + for (int idx = 0; idx < _eventCount; ++idx) + _events[idx].synchronize(s); + + s.syncAsSint16LE(_field4376); + s.syncAsSint16LE(_field4378); + s.syncAsSint16LE(_field437A); + s.syncAsSint16LE(_field437C); + s.syncAsSint16LE(_field437E); + s.syncAsSint16LE(_field4380); + s.syncAsSint16LE(_field4382); + s.syncAsSint16LE(_videoEventId); +} + +void SVoy::addVideoEventStart() { + VoyeurEvent &e = _events[_eventCount]; + e._hour = _vm->_gameHour; + e._minute = _vm->_gameMinute; + e._isAM = _isAM; + e._type = EVTYPE_VIDEO; + e._videoId = _vm->_videoId; + e._computerOn = _vocSecondsOffset; + e._dead = _vm->_eventsManager._videoDead; +} + +void SVoy::addVideoEventEnd() { + VoyeurEvent &e = _events[_eventCount]; + e._computerOff = _RTVNum - _field468 - _vocSecondsOffset; + if (_eventCount < (TOTAL_EVENTS - 1)) + ++_eventCount; +} + +void SVoy::addAudioEventStart() { + VoyeurEvent &e = _events[_eventCount]; + e._hour = _vm->_gameHour; + e._minute = _vm->_gameMinute; + e._isAM = _isAM; + e._type = EVTYPE_AUDIO; + e._videoId = _vm->_videoId; + e._computerOn = _field47A; + e._dead = _vm->_eventsManager._videoDead; +} + +void SVoy::addAudioEventEnd() { + VoyeurEvent &e = _events[_eventCount]; + e._computerOff = _RTVNum - _field468 - _vocSecondsOffset; + if (_eventCount < (TOTAL_EVENTS - 1)) + ++_eventCount; +} + +void SVoy::addEvidEventStart(int v) { + VoyeurEvent &e = _events[_eventCount]; + e._hour = _vm->_gameHour; + e._minute = _vm->_gameMinute; + e._isAM = _isAM; + e._type = EVTYPE_EVID; + e._videoId = _vm->_videoId; + e._computerOn = _vocSecondsOffset; + e._dead = _vm->_eventsManager._videoDead; + +} + +void SVoy::addEvidEventEnd(int dead) { + VoyeurEvent &e = _events[_eventCount]; + e._dead = dead; + if (_eventCount < (TOTAL_EVENTS - 1)) + ++_eventCount; +} + +void SVoy::addComputerEventStart() { + VoyeurEvent &e = _events[_eventCount]; + e._hour = _vm->_gameHour; + e._minute = _vm->_gameMinute; + e._isAM = _isAM; + e._type = EVTYPE_COMPUTER; + e._videoId = _vm->_playStampGroupId; + e._computerOn = _computerTextId; +} + +void SVoy::addComputerEventEnd(int v) { + VoyeurEvent &e = _events[_eventCount]; + e._computerOff = v; + if (_eventCount < (TOTAL_EVENTS - 1)) + ++_eventCount; +} + +} // End of namespace Voyeur diff --git a/engines/voyeur/data.h b/engines/voyeur/data.h new file mode 100644 index 0000000000..03545adea3 --- /dev/null +++ b/engines/voyeur/data.h @@ -0,0 +1,140 @@ +/* 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. + * + */ + +#ifndef VOYEUR_DATA_H +#define VOYEUR_DATA_H + +#include "common/scummsys.h" +#include "common/serializer.h" +#include "voyeur/files.h" + +namespace Voyeur { + +#define TOTAL_EVENTS 1000 + +enum VoyeurEventType { EVTYPE_VIDEO = 1, EVTYPE_AUDIO = 2, EVTYPE_EVID = 3, + EVTYPE_COMPUTER = 4 }; + +struct VoyeurEvent { + int _hour; + int _minute; + bool _isAM; + VoyeurEventType _type; + int _videoId; + int _computerOn; + int _computerOff; + int _dead; + + void synchronize(Common::Serializer &s); +}; + +class VoyeurEngne; + +class SVoy { +private: + VoyeurEngine *_vm; +public: + bool _isAM; + int _RTANum; + int _RTVNum; + int _switchBGNum; + int _arr1[8][20]; + int _arr2[8][20]; + int _arr3[3][20]; + int _arr4[3][20]; + int _arr5[3][20]; + int _arr6[3][20]; + int _arr7[20]; + + int _field468; + int _field46A; + int _vocSecondsOffset; + bool _field46E; + int _field470; + int _field472; + int _transitionId; + int _RTVLimit; + int _field478; + int _field47A; + PictureResource *_evPicPtrs[6]; + CMapResource *_evCmPtrs[6]; + int _field4AC; + int _field4AE[5]; + int _field4B8; + + int _computerTextId; + Common::Rect _rect4E4; + int _field4EC; + int _field4EE; + int _field4F0; + int _field4F2; + + /** + * Total number of game events that have occurred + */ + int _eventCount; + + /** + * List of game events that have occurred + */ + VoyeurEvent _events[TOTAL_EVENTS]; + + int _field4376; + int _field4378; + int _field437A; + int _field437C; + int _field437E; + int _field4380; + int _field4382; + int _videoEventId; + RectResource *_viewBounds; + int _curICF0; + int _curICF1; + int _fadeICF0; + int _policeEvent; +public: + void setVm(VoyeurEngine *vm); + + /** + * Synchronise the data + */ + void synchronize(Common::Serializer &s); + + /** + * Add an event to the list of game events that have occurred + */ + void addEvent(int hour, int minute, VoyeurEventType type, int videoId, int on, + int off, int dead); + + void addVideoEventStart(); + void addVideoEventEnd(); + void addAudioEventStart(); + void addAudioEventEnd(); + void addEvidEventStart(int v); + void addEvidEventEnd(int dead); + void addComputerEventStart(); + void addComputerEventEnd(int v); +}; + +} // End of namespace Voyeur + +#endif /* VOYEUR_DATA_H */ -- cgit v1.2.3 From e6e8008e67224f4a45f9965d1e00cb3da5f9652a Mon Sep 17 00:00:00 2001 From: Strangerke Date: Tue, 7 Jan 2014 07:26:53 +0100 Subject: VOYEUR: Change some more types, add comments about unused variables --- engines/voyeur/events.cpp | 12 ++++++------ engines/voyeur/events.h | 16 ++++++++-------- 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/engines/voyeur/events.cpp b/engines/voyeur/events.cpp index ba86ba8f58..deaa978a46 100644 --- a/engines/voyeur/events.cpp +++ b/engines/voyeur/events.cpp @@ -57,8 +57,8 @@ IntData::IntData() { field26 = 0; field2A = 0; field38 = false; - field3B = 0; - field3D = 0; + field3B = false; + field3D = false; _palStartIndex = 0; _palEndIndex = 0; _palette = NULL; @@ -168,13 +168,13 @@ void EventsManager::voyeurTimer() { // _gameData.field1C += _gameData._timerFn; *** WHY INC field by a function pointer?! _gameData.field16 = 0; - _gameData.field3D = 1; + _gameData.field3D = true; if (--_gameData.field26 <= 0) { if (_gameData._flipWait) { _gameData.field38 = true; _gameData._flipWait = false; - _gameData.field3B = 0; + _gameData.field3B = false; } _gameData.field26 >>= 8; @@ -317,7 +317,7 @@ void EventsManager::startFade(CMapResource *cMap) { } if (cMap->_fadeStatus & 2) - _intPtr.field3B = 1; + _intPtr.field3B = true; _fadeIntNode._flags &= ~1; } else { byte *vgaP = &_vm->_graphicsManager._VGAColors[_fadeFirstCol * 3]; @@ -359,7 +359,7 @@ void EventsManager::addFadeInt() { } void EventsManager::vDoFadeInt() { - if (_intPtr.field3B & 1) + if (_intPtr.field3B) return; if (--_fadeCount == 0) { _fadeIntNode._flags |= 1; diff --git a/engines/voyeur/events.h b/engines/voyeur/events.h index d2909542e6..3c474aaded 100644 --- a/engines/voyeur/events.h +++ b/engines/voyeur/events.h @@ -52,19 +52,19 @@ public: class IntData { public: - bool _field9; + bool _field9; // CHECKME: Useless variable bool _flipWait; - int field16; + int field16; // CHECKME: Useless variable int field1A; int field1E; - int field22; - int field24; + int field22; // CHECKME: Useless variable + int field24; // CHECKME: Useless variable int field26; - int field2A; + int field2A; // CHECKME: Useless variable bool _hasPalette; - bool field38; - int field3B; - int field3D; + bool field38; // CHECKME: Useless variable + bool field3B; // Skip fading + bool field3D; // CHECKME: Useless variable int _palStartIndex; int _palEndIndex; byte *_palette; -- cgit v1.2.3 From 7e5dea4f5efefca7d59ab092be30fc3ef2af9ef8 Mon Sep 17 00:00:00 2001 From: Strangerke Date: Tue, 7 Jan 2014 07:46:14 +0100 Subject: VOYEUR: Silent 2 CppCheck warnings by differencing if/else branches --- engines/voyeur/files.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/engines/voyeur/files.cpp b/engines/voyeur/files.cpp index 2403898e6f..4c0ae1b4f2 100644 --- a/engines/voyeur/files.cpp +++ b/engines/voyeur/files.cpp @@ -743,9 +743,9 @@ PictureResource::PictureResource(BoltFilesState &state, const byte *src) { int nbytes = _bounds.width() * _bounds.height(); if (_flags & PICFLAG_20) { if (_flags & (PICFLAG_80 | PICFLAG_40)) { - error("TODO: sInitPic"); + error("TODO: sInitPic - Case 40 | 80"); } else { - error("TODO: sInitPic"); + error("TODO: sInitPic - Case !(40 | 80)"); } } else if (_flags & PICFLAG_8) { int mode = 0; @@ -781,8 +781,10 @@ PictureResource::PictureResource(BoltFilesState &state, const byte *src) { if (_flags & PICFLAG_10) { // TODO: Figure out what it's doing. Looks like a direct clearing // of the screen directly + error("TODO: sInitPic - Case 10"); } else { // TODO: Figure out direct screen loading + error("TODO: sInitPic - Case !10"); } } else { if (_flags & PICFLAG_1000) { -- cgit v1.2.3 From d0703467b42d3636f3d81683efc3e336ab33052f Mon Sep 17 00:00:00 2001 From: Strangerke Date: Tue, 7 Jan 2014 08:17:06 +0100 Subject: VOYEUR: Fix some more CppCheck warnings --- engines/voyeur/files_threads.cpp | 2 +- engines/voyeur/graphics.cpp | 8 +++----- engines/voyeur/voyeur.cpp | 11 ++++------- engines/voyeur/voyeur_game.cpp | 3 +-- 4 files changed, 9 insertions(+), 15 deletions(-) diff --git a/engines/voyeur/files_threads.cpp b/engines/voyeur/files_threads.cpp index 1764c223d7..4348a14896 100644 --- a/engines/voyeur/files_threads.cpp +++ b/engines/voyeur/files_threads.cpp @@ -1398,11 +1398,11 @@ int ThreadResource::doInterface() { _vm->_eventsManager.setCursor(crosshairsCursor); // Main loop - int priorRegionIndex = -1; int regionIndex = 0; Common::Rect mansionViewBounds(MANSION_VIEW_X, MANSION_VIEW_Y, MANSION_VIEW_X + MANSION_VIEW_WIDTH, MANSION_VIEW_Y + MANSION_VIEW_HEIGHT); + int priorRegionIndex = -1; do { _vm->_voyeurArea = AREA_INTERFACE; _vm->doTimeBar(true); diff --git a/engines/voyeur/graphics.cpp b/engines/voyeur/graphics.cpp index c4080e7d38..ec26017541 100644 --- a/engines/voyeur/graphics.cpp +++ b/engines/voyeur/graphics.cpp @@ -135,8 +135,7 @@ void GraphicsManager::sDrawPic(DisplayResource *srcDisplay, DisplayResource *des Common::Rect backBounds; int var24; bool isClipped = false; - int var52; - int var20, var22; + int var22; int var26; byte pixel = 0; @@ -182,8 +181,7 @@ void GraphicsManager::sDrawPic(DisplayResource *srcDisplay, DisplayResource *des var24 = offset.y - newBounds.top; if (var24 < 0) { - var52 = width2; - srcOffset -= var24 * var52; + srcOffset -= var24 * width2; height1 += var24; offset.y = newBounds.top; @@ -193,7 +191,7 @@ void GraphicsManager::sDrawPic(DisplayResource *srcDisplay, DisplayResource *des isClipped = true; } - var20 = newBounds.bottom - (offset.y + height1); + int var20 = newBounds.bottom - (offset.y + height1); if (var20 < 0) { height1 += var20; if (height1 <= 0) diff --git a/engines/voyeur/voyeur.cpp b/engines/voyeur/voyeur.cpp index bc2a30b0b7..d6b95316be 100644 --- a/engines/voyeur/voyeur.cpp +++ b/engines/voyeur/voyeur.cpp @@ -265,10 +265,6 @@ bool VoyeurEngine::doLock() { byte *buttonVoc = _filesManager.fload("button.voc", &buttonVocSize); byte *wrongVoc = _filesManager.fload("wrong.voc", &wrongVocSize); LockClass lock; - PictureResource *cursorPic; - byte *keyData; - int keyCount; - int key; if (_bVoy->getBoltGroup(0x700)) { lock.getSysDate(); @@ -278,12 +274,12 @@ bool VoyeurEngine::doLock() { _voy._viewBounds = _bVoy->boltEntry(0x704)._rectResource; Common::String password = lock._password; - cursorPic = _bVoy->getPictureResource(0x702); + PictureResource *cursorPic = _bVoy->getPictureResource(0x702); assert(cursorPic); // Get the mappings of keys on the keypad - keyData = _bVoy->memberAddr(0x705); - keyCount = READ_LE_UINT16(keyData); + byte *keyData = _bVoy->memberAddr(0x705); + int keyCount = READ_LE_UINT16(keyData); _graphicsManager._backColors = _bVoy->getCMapResource(0x7010000); _graphicsManager._backgroundPage = _bVoy->getPictureResource(0x700); @@ -338,6 +334,7 @@ bool VoyeurEngine::doLock() { } // Loop for getting key presses + int key; do { do { // Scan through the list of key rects to check if a keypad key is highlighted diff --git a/engines/voyeur/voyeur_game.cpp b/engines/voyeur/voyeur_game.cpp index a8330c02b3..2212453cdf 100644 --- a/engines/voyeur/voyeur_game.cpp +++ b/engines/voyeur/voyeur_game.cpp @@ -1040,7 +1040,6 @@ void VoyeurEngine::doScroll(const Common::Point &pt) { Common::Rect clipRect(72, 47, 72 + 240, 47 + 148); (*_graphicsManager._vPort)->setupViewPort(NULL, &clipRect); - PictureResource *pic; int base = 0; switch (_voy._transitionId) { case 0: @@ -1062,7 +1061,7 @@ void VoyeurEngine::doScroll(const Common::Point &pt) { } if (base) { - pic = _bVoy->boltEntry(base + 3)._picResource; + PictureResource *pic = _bVoy->boltEntry(base + 3)._picResource; _graphicsManager.sDrawPic(pic, *_graphicsManager._vPort, Common::Point(784 - pt.x - 712, 150 - pt.y - 104)); pic = _bVoy->boltEntry(base + 4)._picResource; _graphicsManager.sDrawPic(pic, *_graphicsManager._vPort, Common::Point(784 - pt.x - 712, 150 - pt.y - 44)); -- cgit v1.2.3 From dfe3d8b4ceab85f3831ad4fe7fb0fa587c1e67fa Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Wed, 8 Jan 2014 23:31:34 -0500 Subject: VOYEUR: Preliminary savegame functionality --- engines/voyeur/detection.cpp | 14 +- engines/voyeur/events.h | 1 + engines/voyeur/files.h | 4 + engines/voyeur/files_threads.cpp | 11 ++ engines/voyeur/graphics.cpp | 4 + engines/voyeur/graphics.h | 6 + engines/voyeur/voyeur.cpp | 305 ++++++++++++++++++++++++++++----------- engines/voyeur/voyeur.h | 24 +++ engines/voyeur/voyeur_game.cpp | 34 ++--- 9 files changed, 304 insertions(+), 99 deletions(-) diff --git a/engines/voyeur/detection.cpp b/engines/voyeur/detection.cpp index e9a5b8d982..10f96042e0 100644 --- a/engines/voyeur/detection.cpp +++ b/engines/voyeur/detection.cpp @@ -121,6 +121,8 @@ SaveStateList VoyeurMetaEngine::listSaves(const char *target) const { sort(filenames.begin(), filenames.end()); // Sort to get the files in numerical order SaveStateList saveList; + Voyeur::VoyeurSavegameHeader header; + for (Common::StringArray::const_iterator file = filenames.begin(); file != filenames.end(); ++file) { const char *ext = strrchr(file->c_str(), '.'); int slot = ext ? atoi(ext + 1) : -1; @@ -129,6 +131,10 @@ SaveStateList VoyeurMetaEngine::listSaves(const char *target) const { Common::InSaveFile *in = g_system->getSavefileManager()->openForLoading(*file); if (in) { + if (header.read(in)) { + saveList.push_back(SaveStateDescriptor(slot, header._saveName)); + header._thumbnail->free(); + } delete in; } } @@ -151,10 +157,16 @@ SaveStateDescriptor VoyeurMetaEngine::querySaveMetaInfos(const char *target, int Common::InSaveFile *f = g_system->getSavefileManager()->openForLoading(filename); if (f) { + Voyeur::VoyeurSavegameHeader header; + header.read(f); delete f; // Create the return descriptor - SaveStateDescriptor desc(slot, ""); + SaveStateDescriptor desc(slot, header._saveName); + desc.setThumbnail(header._thumbnail); + desc.setSaveDate(header._saveYear, header._saveMonth, header._saveDay); + desc.setSaveTime(header._saveHour, header._saveMinutes); + desc.setPlayTime(header._totalFrames * GAME_FRAME_TIME); return desc; } diff --git a/engines/voyeur/events.h b/engines/voyeur/events.h index 3c474aaded..753139bf35 100644 --- a/engines/voyeur/events.h +++ b/engines/voyeur/events.h @@ -141,6 +141,7 @@ public: void showCursor(); void hideCursor(); Common::Point getMousePos() { return _mousePos; } + uint32 getGameCounter() const { return _gameCounter; } void getMouseInfo(); void checkForKey(); void startCursorBlink(); diff --git a/engines/voyeur/files.h b/engines/voyeur/files.h index b1eef580d1..f14b744721 100644 --- a/engines/voyeur/files.h +++ b/engines/voyeur/files.h @@ -537,6 +537,10 @@ public: void checkForMurder(); void checkForIncriminate(); + /** + * Synchronizes the game data + */ + void synchronize(Common::Serializer &s); }; } // End of namespace Voyeur diff --git a/engines/voyeur/files_threads.cpp b/engines/voyeur/files_threads.cpp index 4348a14896..cee4e46c81 100644 --- a/engines/voyeur/files_threads.cpp +++ b/engines/voyeur/files_threads.cpp @@ -1062,6 +1062,13 @@ int ThreadResource::doApt() { PictureResource *pic; do { _vm->_voyeurArea = AREA_APARTMENT; + + if (_vm->_loadGameSlot != -1) { + // Load a savegame + _vm->loadGame(_vm->_loadGameSlot); + _vm->_loadGameSlot = -1; + } + _vm->_eventsManager.getMouseInfo(); if (!_vm->_soundManager.getVOCStatus()) { // Previous sound ended, so start up a new one @@ -1760,4 +1767,8 @@ void ThreadResource::doAptAnim(int mode) { _vm->_bVoy->getBoltGroup(0x100); } +void ThreadResource::synchronize(Common::Serializer &s) { + warning("TODO: ThreadResource::synchronize"); +} + } // End of namespace Voyeur diff --git a/engines/voyeur/graphics.cpp b/engines/voyeur/graphics.cpp index ec26017541..1e21818450 100644 --- a/engines/voyeur/graphics.cpp +++ b/engines/voyeur/graphics.cpp @@ -750,4 +750,8 @@ void GraphicsManager::drawDot() { } } +void GraphicsManager::synchronize(Common::Serializer &s) { + warning("TODO: GraphicsManager::synchronize"); +} + } // End of namespace Voyeur diff --git a/engines/voyeur/graphics.h b/engines/voyeur/graphics.h index 970e814be2..ccc20e5df9 100644 --- a/engines/voyeur/graphics.h +++ b/engines/voyeur/graphics.h @@ -26,6 +26,7 @@ #include "common/scummsys.h" #include "common/array.h" #include "common/rect.h" +#include "common/serializer.h" #include "graphics/surface.h" namespace Voyeur { @@ -117,6 +118,11 @@ public: void fadeUpICF1(int steps); void fadeDownICF(int steps); void drawDot(); + + /** + * Synchronizes the game data + */ + void synchronize(Common::Serializer &s); }; } // End of namespace Voyeur diff --git a/engines/voyeur/voyeur.cpp b/engines/voyeur/voyeur.cpp index d6b95316be..72678fa6f0 100644 --- a/engines/voyeur/voyeur.cpp +++ b/engines/voyeur/voyeur.cpp @@ -28,6 +28,9 @@ #include "common/scummsys.h" #include "common/config-manager.h" #include "common/debug-channels.h" +#include "graphics/palette.h" +#include "graphics/scaler.h" +#include "graphics/thumbnail.h" namespace Voyeur { @@ -37,8 +40,6 @@ VoyeurEngine::VoyeurEngine(OSystem *syst, const VoyeurGameDescription *gameDesc) _gameDescription(gameDesc), _randomSource("Voyeur"), _soundManager(_mixer), _defaultFontInfo(3, 0xff, 0xff, 0, 0, ALIGN_LEFT, 0, Common::Point(), 1, 1, Common::Point(1, 1), 1, 0, 0) { - DebugMan.addDebugChannel(kDebugPath, "Path", "Pathfinding debug level"); - DebugMan.addDebugChannel(kDebugScripts, "scripts", "Game scripts"); _bVoy = NULL; _iForceDeath = -1; _controlPtr = NULL; @@ -54,6 +55,7 @@ VoyeurEngine::VoyeurEngine(OSystem *syst, const VoyeurGameDescription *gameDesc) _timeBarVal = -1; _checkPhoneVal = 0; _voyeurArea = AREA_NONE; + _loadGameSlot = -1; initialiseManagers(); } @@ -62,39 +64,6 @@ VoyeurEngine::~VoyeurEngine() { delete _bVoy; } -Common::String VoyeurEngine::generateSaveName(int slot) { - return Common::String::format("%s.%03d", _targetName.c_str(), slot); -} - -/** - * Returns true if it is currently okay to restore a game - */ -bool VoyeurEngine::canLoadGameStateCurrently() { - return true; -} - -/** - * Returns true if it is currently okay to save the game - */ -bool VoyeurEngine::canSaveGameStateCurrently() { - return true; -} - -/** - * Load the savegame at the specified slot index - */ -Common::Error VoyeurEngine::loadGameState(int slot) { - return Common::kNoError; -} - -/** - * Save the game to the given slot index, and with the given name - */ -Common::Error VoyeurEngine::saveGameState(int slot, const Common::String &desc) { - //TODO - return Common::kNoError; -} - Common::Error VoyeurEngine::run() { ESP_Init(); globalInitBolt(); @@ -130,6 +99,12 @@ void VoyeurEngine::initialiseManagers() { void VoyeurEngine::ESP_Init() { ThreadResource::init(); + + DebugMan.addDebugChannel(kDebugPath, "Path", "Pathfinding debug level"); + DebugMan.addDebugChannel(kDebugScripts, "scripts", "Game scripts"); + + if (ConfMan.hasKey("save_slot")) + _loadGameSlot = ConfMan.getInt("save_slot"); } void VoyeurEngine::globalInitBolt() { @@ -173,58 +148,61 @@ bool VoyeurEngine::doHeadTitle() { // char dest[144]; _eventsManager.startMainClockInt(); + + if (_loadGameSlot == -1) { /* - // Show starting screen - if (_bVoy->getBoltGroup(0x500)) { - showConversionScreen(); - _bVoy->freeBoltGroup(0x500); + // Show starting screen + if (_bVoy->getBoltGroup(0x500)) { + showConversionScreen(); + _bVoy->freeBoltGroup(0x500); - if (shouldQuit()) - return false; - } + if (shouldQuit()) + return false; + } - if (ConfMan.getBool("copy_protection")) { - // Display lock screen - bool result = doLock(); - if (!result || shouldQuit()) - return false; - } + if (ConfMan.getBool("copy_protection")) { + // Display lock screen + bool result = doLock(); + if (!result || shouldQuit()) + return false; + } - // Show the title screen - showTitleScreen(); - if (shouldQuit()) - return false; + // Show the title screen + showTitleScreen(); + if (shouldQuit()) + return false; - // Opening - if (!_eventsManager._mouseClicked) { - doOpening(); - doTransitionCard("Saturday Afternoon", "Player's Apartment"); - _eventsManager.delayClick(90); - } else { - _eventsManager._mouseClicked = false; - } + // Opening + if (!_eventsManager._mouseClicked) { + doOpening(); + doTransitionCard("Saturday Afternoon", "Player's Apartment"); + _eventsManager.delayClick(90); + } else { + _eventsManager._mouseClicked = false; + } */ - if (_voy._field478 & 0x80) { - // Add initial game event set - if (_voy._eventCount <= 1) - _voy.addEvent(18, 1, EVTYPE_VIDEO, 33, 0, 998, -1); - if (_voy._eventCount <= 2) - _voy.addEvent(18, 2, EVTYPE_VIDEO, 41, 0, 998, -1); - if (_voy._eventCount <= 3) - _voy.addEvent(18, 3, EVTYPE_VIDEO, 47, 0, 998, -1); - if (_voy._eventCount <= 4) - _voy.addEvent(18, 4, EVTYPE_VIDEO, 53, 0, 998, -1); - if (_voy._eventCount <= 5) - _voy.addEvent(18, 5, EVTYPE_VIDEO, 46, 0, 998, -1); - if (_voy._eventCount <= 6) - _voy.addEvent(18, 6, EVTYPE_VIDEO, 50, 0, 998, -1); - if (_voy._eventCount <= 7) - _voy.addEvent(18, 7, EVTYPE_VIDEO, 40, 0, 998, -1); - if (_voy._eventCount <= 8) - _voy.addEvent(18, 8, EVTYPE_VIDEO, 43, 0, 998, -1); - if (_voy._eventCount <= 9) - _voy.addEvent(19, 1, EVTYPE_AUDIO, 20, 0, 998, -1); - } + if (_voy._field478 & 0x80) { + // Add initial game event set + if (_voy._eventCount <= 1) + _voy.addEvent(18, 1, EVTYPE_VIDEO, 33, 0, 998, -1); + if (_voy._eventCount <= 2) + _voy.addEvent(18, 2, EVTYPE_VIDEO, 41, 0, 998, -1); + if (_voy._eventCount <= 3) + _voy.addEvent(18, 3, EVTYPE_VIDEO, 47, 0, 998, -1); + if (_voy._eventCount <= 4) + _voy.addEvent(18, 4, EVTYPE_VIDEO, 53, 0, 998, -1); + if (_voy._eventCount <= 5) + _voy.addEvent(18, 5, EVTYPE_VIDEO, 46, 0, 998, -1); + if (_voy._eventCount <= 6) + _voy.addEvent(18, 6, EVTYPE_VIDEO, 50, 0, 998, -1); + if (_voy._eventCount <= 7) + _voy.addEvent(18, 7, EVTYPE_VIDEO, 40, 0, 998, -1); + if (_voy._eventCount <= 8) + _voy.addEvent(18, 8, EVTYPE_VIDEO, 43, 0, 998, -1); + if (_voy._eventCount <= 9) + _voy.addEvent(19, 1, EVTYPE_AUDIO, 20, 0, 998, -1); + } + } _voy._field472 = 140; return true; @@ -674,4 +652,169 @@ void VoyeurEngine::flipPageAndWaitForFade() { _eventsManager.delay(1); } +/*------------------------------------------------------------------------*/ + +Common::String VoyeurEngine::generateSaveName(int slot) { + return Common::String::format("%s.%03d", _targetName.c_str(), slot); +} + +/** + * Returns true if it is currently okay to restore a game + */ +bool VoyeurEngine::canLoadGameStateCurrently() { + return _voyeurArea == AREA_APARTMENT; +} + +/** + * Returns true if it is currently okay to save the game + */ +bool VoyeurEngine::canSaveGameStateCurrently() { + return _voyeurArea == AREA_APARTMENT; +} + +/** + * Load the savegame at the specified slot index + */ +Common::Error VoyeurEngine::loadGameState(int slot) { + _loadGameSlot = slot; + return Common::kNoError; +} + +void VoyeurEngine::loadGame(int slot) { + // Open up the save file + Common::InSaveFile *saveFile = g_system->getSavefileManager()->openForLoading(g_vm->generateSaveName(slot)); + if (!saveFile) + return; + + Common::Serializer serializer(saveFile, NULL); + + // Read in the savegame header + VoyeurSavegameHeader header; + if (!header.read(saveFile)) + return; + if (header._thumbnail) + header._thumbnail->free(); + delete header._thumbnail; + + serializer.syncVersion(header._version); + synchronize(serializer); + + delete saveFile; +} + +/** + * Save the game to the given slot index, and with the given name + */ +Common::Error VoyeurEngine::saveGameState(int slot, const Common::String &desc) { + // Open the save file for writing + Common::OutSaveFile *saveFile = g_system->getSavefileManager()->openForSaving(generateSaveName(slot)); + if (!saveFile) + return Common::kCreatingFileFailed; + + // Write out the header + VoyeurSavegameHeader header; + header.write(saveFile, this, desc); + + // Set up a serializer + Common::Serializer serializer(NULL, saveFile); + + // Synchronise the data + synchronize(serializer); + + saveFile->finalize(); + delete saveFile; + + return Common::kNoError; +} + +void VoyeurEngine::synchronize(Common::Serializer &s) { + s.syncAsSint16LE(_glGoScene); + s.syncAsSint16LE(_glGoStack); + s.syncAsSint16LE(_bob); + s.syncAsSint16LE(_stampFlags); + s.syncAsSint16LE(_playStampGroupId); + s.syncAsSint16LE(_currentVocId); + s.syncAsSint16LE(_videoId); + + s.syncAsSint16LE(_iForceDeath); + s.syncAsSint16LE(_checkTransitionId); + s.syncAsSint16LE(_gameHour); + s.syncAsSint16LE(_gameMinute); + s.syncAsSint16LE(_flashTimeVal); + s.syncAsSint16LE(_flashTimeFlag); + s.syncAsSint16LE(_timeBarVal); + s.syncAsSint16LE(_checkPhoneVal); + + // Sub-systems + _voy.synchronize(s); + _graphicsManager.synchronize(s); + _mainThread->synchronize(s); +} + +/*------------------------------------------------------------------------*/ + +bool VoyeurSavegameHeader::read(Common::InSaveFile *f) { + char id[4]; + _thumbnail = NULL; + + f->read(&id[0], 4); + if (strncmp(id, "VOYR", 4)) { + warning("Invalid savegame"); + return false; + } + + _version = f->readByte(); + if (_version > VOYEUR_SAVEGAME_VERSION) + return false; + + char c; + while ((c = f->readByte()) != 0) + _saveName += c; + + // Get the thumbnail + _thumbnail = Graphics::loadThumbnail(*f); + if (!_thumbnail) + return false; + + // Read in the save datet/ime + _saveYear = f->readSint16LE(); + _saveMonth = f->readSint16LE(); + _saveDay = f->readSint16LE(); + _saveHour = f->readSint16LE(); + _saveMinutes = f->readSint16LE(); + _totalFrames = f->readUint32LE(); + + return true; +} + +void VoyeurSavegameHeader::write(Common::OutSaveFile *f, VoyeurEngine *vm, const Common::String &saveName) { + // Write ident string + f->write("VOYR", 4); + + // Write out savegame version + f->writeByte(VOYEUR_SAVEGAME_VERSION); + + // Write out savegame name + f->write(saveName.c_str(), saveName.size()); + f->writeByte(0); + + // Create a thumbnail and save it + Graphics::Surface *thumb = new Graphics::Surface(); + ::createThumbnail(thumb, (byte *)vm->_graphicsManager._screenSurface.getPixels(), + SCREEN_WIDTH, SCREEN_HEIGHT, vm->_graphicsManager._VGAColors); + Graphics::saveThumbnail(*f, *thumb); + thumb->free(); + delete thumb; + + // Write the save datet/ime + TimeDate td; + g_system->getTimeAndDate(td); + f->writeSint16LE(td.tm_year + 1900); + f->writeSint16LE(td.tm_mon + 1); + f->writeSint16LE(td.tm_mday); + f->writeSint16LE(td.tm_hour); + f->writeSint16LE(td.tm_min); + f->writeUint32LE(vm->_eventsManager.getGameCounter()); +} + } // End of namespace Voyeur diff --git a/engines/voyeur/voyeur.h b/engines/voyeur/voyeur.h index 4ee5f84b02..1622524108 100644 --- a/engines/voyeur/voyeur.h +++ b/engines/voyeur/voyeur.h @@ -33,6 +33,8 @@ #include "common/system.h" #include "common/error.h" #include "common/random.h" +#include "common/savefile.h" +#include "common/serializer.h" #include "common/util.h" #include "engines/engine.h" #include "graphics/surface.h" @@ -134,6 +136,11 @@ private: void playAVideoEvent(int eventIndex); int getChooseButton(); + + /** + * Synchronizes the game data + */ + void synchronize(Common::Serializer &s); protected: // Engine APIs virtual Common::Error run(); @@ -169,7 +176,9 @@ public: int _timeBarVal; int _checkPhoneVal; Common::Point _mansionViewPos; + ThreadResource *_mainThread; VoyeurArea _voyeurArea; + int _loadGameSlot; public: VoyeurEngine(OSystem *syst, const VoyeurGameDescription *gameDesc); virtual ~VoyeurEngine(); @@ -187,6 +196,7 @@ public: virtual bool canSaveGameStateCurrently(); virtual Common::Error loadGameState(int slot); virtual Common::Error saveGameState(int slot, const Common::String &desc); + void loadGame(int slot); void playRL2Video(const Common::String &filename); void doTransitionCard(const Common::String &time, const Common::String &location); @@ -243,6 +253,20 @@ public: Common::String getTimeOfDay(); }; +#define VOYEUR_SAVEGAME_VERSION 1 + +struct VoyeurSavegameHeader { + uint8 _version; + Common::String _saveName; + Graphics::Surface *_thumbnail; + int _saveYear, _saveMonth, _saveDay; + int _saveHour, _saveMinutes; + int _totalFrames; + + bool read(Common::InSaveFile *f); + void write(Common::OutSaveFile *f, VoyeurEngine *vm, const Common::String &saveName); +}; + } // End of namespace Voyeur #endif /* VOYEUR_VOYEUR_H */ diff --git a/engines/voyeur/voyeur_game.cpp b/engines/voyeur/voyeur_game.cpp index 2212453cdf..64af53899d 100644 --- a/engines/voyeur/voyeur_game.cpp +++ b/engines/voyeur/voyeur_game.cpp @@ -35,8 +35,8 @@ void VoyeurEngine::playStamp() { initStamp(); PtrResource *threadsList = _stampLibPtr->boltEntry(3)._ptrResource; - ThreadResource *threadP = threadsList->_entries[0]->_threadResource; - threadP->initThreadStruct(0, 0); + _mainThread = threadsList->_entries[0]->_threadResource; + _mainThread->initThreadStruct(0, 0); _voy._isAM = false; _gameHour = 9; @@ -51,23 +51,23 @@ void VoyeurEngine::playStamp() { _playStampGroupId = _currentVocId = -1; _videoId = -1; - threadP->parsePlayCommands(); + _mainThread->parsePlayCommands(); bool flag = breakFlag = (_voy._field478 & 2) != 0; switch (_voy._field470) { case 5: - buttonId = threadP->doInterface(); + buttonId = _mainThread->doInterface(); if (buttonId == -2) { - switch (threadP->doApt()) { + switch (_mainThread->doApt()) { case 0: _voy._field472 = 140; break; case 1: _voy._field478 &= ~1; _voy._field46E = true; - threadP->chooseSTAMPButton(22); + _mainThread->chooseSTAMPButton(22); _voy._field472 = 143; break; case 2: @@ -78,7 +78,7 @@ void VoyeurEngine::playStamp() { break; case 3: _voy._field478 &= ~1; - threadP->chooseSTAMPButton(21); + _mainThread->chooseSTAMPButton(21); break; case 4: breakFlag = true; @@ -93,24 +93,24 @@ void VoyeurEngine::playStamp() { break; } } else { - threadP->chooseSTAMPButton(buttonId); + _mainThread->chooseSTAMPButton(buttonId); } flag = true; break; case 6: - threadP->doRoom(); + _mainThread->doRoom(); flag = true; break; case 16: _voy._transitionId = 17; - buttonId = threadP->doApt(); + buttonId = _mainThread->doApt(); switch (buttonId) { case 1: - threadP->chooseSTAMPButton(22); + _mainThread->chooseSTAMPButton(22); flag = true; break; case 2: @@ -136,7 +136,7 @@ void VoyeurEngine::playStamp() { _voy._field478 &= ~0x10; } - threadP->chooseSTAMPButton(0); + _mainThread->chooseSTAMPButton(0); flag = true; break; @@ -158,10 +158,10 @@ void VoyeurEngine::playStamp() { if (buttonId == 4) { _voy._field470 = 131; _eventsManager.checkForKey(); - threadP->chooseSTAMPButton(buttonId); + _mainThread->chooseSTAMPButton(buttonId); flag = true; } else { - threadP->chooseSTAMPButton(buttonId); + _mainThread->chooseSTAMPButton(buttonId); _voy._field46E = true; } } @@ -194,12 +194,12 @@ void VoyeurEngine::playStamp() { // Break out of loop flag = false; - } else if (threadP->_field40 & 2) { + } else if (_mainThread->_field40 & 2) { _eventsManager.getMouseInfo(); - threadP->chooseSTAMPButton(0); + _mainThread->chooseSTAMPButton(0); flag = true; } else { - threadP->chooseSTAMPButton(0); + _mainThread->chooseSTAMPButton(0); flag = true; } } while (flag); -- cgit v1.2.3 From 5774ce53df3d6603416cb31bdb570ce19ae9d9b4 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Tue, 14 Jan 2014 21:49:26 -0500 Subject: VOYEUR: Further saving logic --- engines/voyeur/files.h | 10 +++++----- engines/voyeur/graphics.cpp | 2 +- engines/voyeur/voyeur.cpp | 7 +++++++ 3 files changed, 13 insertions(+), 6 deletions(-) diff --git a/engines/voyeur/files.h b/engines/voyeur/files.h index f14b744721..6fc7ad7d0b 100644 --- a/engines/voyeur/files.h +++ b/engines/voyeur/files.h @@ -468,11 +468,6 @@ private: void setButtonFlag(int idx, byte bits); void clearButtonFlag(int idx, byte bits); - /** - * Loads data needed for displaying the initial apartment screen - */ - void loadTheApt(); - /** * Frees the apartment screen data */ @@ -534,6 +529,11 @@ public: */ int doApt(); + /** + * Loads data needed for displaying the initial apartment screen + */ + void loadTheApt(); + void checkForMurder(); void checkForIncriminate(); diff --git a/engines/voyeur/graphics.cpp b/engines/voyeur/graphics.cpp index 1e21818450..6c62c6f041 100644 --- a/engines/voyeur/graphics.cpp +++ b/engines/voyeur/graphics.cpp @@ -751,7 +751,7 @@ void GraphicsManager::drawDot() { } void GraphicsManager::synchronize(Common::Serializer &s) { - warning("TODO: GraphicsManager::synchronize"); + s.syncBytes(&_VGAColors[0], PALETTE_SIZE); } } // End of namespace Voyeur diff --git a/engines/voyeur/voyeur.cpp b/engines/voyeur/voyeur.cpp index 72678fa6f0..c70bb20f4b 100644 --- a/engines/voyeur/voyeur.cpp +++ b/engines/voyeur/voyeur.cpp @@ -687,6 +687,7 @@ void VoyeurEngine::loadGame(int slot) { return; Common::Serializer serializer(saveFile, NULL); + _checkTransitionId = _voy._transitionId; // Read in the savegame header VoyeurSavegameHeader header; @@ -700,6 +701,12 @@ void VoyeurEngine::loadGame(int slot) { synchronize(serializer); delete saveFile; + + // Show a transition card if the time index has changed + checkTransition(); + + // Load the apartment + _mainThread->loadTheApt(); } /** -- cgit v1.2.3 From 0985cc51c259aa81ad8583b1dda82e071d7f367b Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Tue, 14 Jan 2014 23:19:24 -0500 Subject: VOYEUR: Implement pictures with horizontal or vertical flip --- engines/voyeur/files.cpp | 37 +++++++++++++++++++++++++++++++++++-- engines/voyeur/files.h | 12 +++++++++++- 2 files changed, 46 insertions(+), 3 deletions(-) diff --git a/engines/voyeur/files.cpp b/engines/voyeur/files.cpp index 4c0ae1b4f2..02cdda0f5b 100644 --- a/engines/voyeur/files.cpp +++ b/engines/voyeur/files.cpp @@ -742,8 +742,17 @@ PictureResource::PictureResource(BoltFilesState &state, const byte *src) { int nbytes = _bounds.width() * _bounds.height(); if (_flags & PICFLAG_20) { - if (_flags & (PICFLAG_80 | PICFLAG_40)) { - error("TODO: sInitPic - Case 40 | 80"); + if (_flags & (PICFLAG_VFLIP | PICFLAG_HFLIP)) { + // Get the raw data for the picture from another resource + uint32 id = READ_LE_UINT32(&src[18]); + const byte *srcData = state._curLibPtr->boltEntry(id)._data; + _imgData = new byte[nbytes]; + + // Flip the image data either horizontally or vertically + if (_flags & PICFLAG_HFLIP) + flipHorizontal(srcData); + else + flipVertical(srcData); } else { error("TODO: sInitPic - Case !(40 | 80)"); } @@ -861,6 +870,30 @@ PictureResource::~PictureResource() { delete[] _imgData; } +void PictureResource::flipHorizontal(const byte *data) { + const byte *srcP = data + 18; + byte *destP = _imgData + _bounds.width() - 1; + + for (int y = 0; y < _bounds.height(); ++y) { + for (int x = 0; x < _bounds.width(); ++x, ++srcP, --destP) + *destP = *srcP; + + srcP += _bounds.width(); + destP += _bounds.width(); + } +} + +void PictureResource::flipVertical(const byte *data) { + const byte *srcP = data + 18; + byte *destP = _imgData + _bounds.width() * (_bounds.height() - 1); + + for (int y = 0; y < _bounds.height(); ++y) { + Common::copy(srcP, srcP + _bounds.width(), destP); + srcP += _bounds.width(); + destP -= _bounds.width(); + } +} + /*------------------------------------------------------------------------*/ ViewPortResource::ViewPortResource(BoltFilesState &state, const byte *src): diff --git a/engines/voyeur/files.h b/engines/voyeur/files.h index 6fc7ad7d0b..105eba51cb 100644 --- a/engines/voyeur/files.h +++ b/engines/voyeur/files.h @@ -255,9 +255,19 @@ public: /* bvoy.blt resource types */ enum PictureFlag { PICFLAG_8 = 8, PICFLAG_10 = 0x10, PICFLAG_20 = 0x20, - PICFLAG_40 = 0x40, PICFLAG_80 = 0x80, PICFLAG_1000 = 0x1000 }; + PICFLAG_HFLIP = 0x40, PICFLAG_VFLIP = 0x80, PICFLAG_1000 = 0x1000 }; class PictureResource: public DisplayResource { +private: + /** + * Flip the image data horizontally + */ + void flipHorizontal(const byte *data); + + /** + * Flip the image data vertically + */ + void flipVertical(const byte *data); public: byte _select; byte _pick; -- cgit v1.2.3 From b0e397551c2e6dc9b3e7f5ce726b00ac6a460398 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Thu, 16 Jan 2014 09:25:31 -0500 Subject: VOYEUR: Implemented remaining initialisations in sInitPic --- engines/voyeur/files.cpp | 44 +++++++++++++++++++++++++++++++------------- engines/voyeur/files.h | 12 ++++++++++-- 2 files changed, 41 insertions(+), 15 deletions(-) diff --git a/engines/voyeur/files.cpp b/engines/voyeur/files.cpp index 02cdda0f5b..e728696038 100644 --- a/engines/voyeur/files.cpp +++ b/engines/voyeur/files.cpp @@ -739,6 +739,7 @@ PictureResource::PictureResource(BoltFilesState &state, const byte *src) { _planeSize = READ_LE_UINT16(&src[22]); _imgData = NULL; + _freeImgData = DisposeAfterUse::YES; int nbytes = _bounds.width() * _bounds.height(); if (_flags & PICFLAG_20) { @@ -754,9 +755,18 @@ PictureResource::PictureResource(BoltFilesState &state, const byte *src) { else flipVertical(srcData); } else { - error("TODO: sInitPic - Case !(40 | 80)"); + uint32 id = READ_LE_UINT32(&src[18]) >> 16; + byte *imgData = state._curLibPtr->boltEntry(id)._picResource->_imgData; + _freeImgData = DisposeAfterUse::NO; + + if (_flags & PICFLAG_PIC_OFFSET) { + _imgData = imgData + (READ_LE_UINT32(&src[18]) & 0xffff); + } else { + warning("TODO: Double-check if this is correct"); + _imgData = imgData + (READ_LE_UINT32(&src[18]) & 0xffff); + } } - } else if (_flags & PICFLAG_8) { + } else if (_flags & PICFLAG_PIC_OFFSET) { int mode = 0; if (_bounds.width() == 320) { mode = 147; @@ -786,18 +796,23 @@ PictureResource::PictureResource(BoltFilesState &state, const byte *src) { state._vm->_graphicsManager.clearPalette(); } -// byte *imgData = _imgData; - if (_flags & PICFLAG_10) { - // TODO: Figure out what it's doing. Looks like a direct clearing - // of the screen directly - error("TODO: sInitPic - Case 10"); + int screenOffset = READ_LE_UINT32(&src[18]) & 0xffff; + assert(screenOffset == 0); + + if (_flags & PICFLAG_CLEAR_SCREEN) { + // Clear screen picture. That's right. This game actually has a picture + // resource flag to clear the screen! Bizarre. + Graphics::Surface &s = state._vm->_graphicsManager._screenSurface; + s.fillRect(Common::Rect(0, 0, SCREEN_WIDTH, SCREEN_HEIGHT), 0); } else { - // TODO: Figure out direct screen loading - error("TODO: sInitPic - Case !10"); + // Direct sceren loading picture. In this case, the raw data of the resource + // is directly decompressed into the screen surface. Again, bizarre. + byte *pDest = (byte *)state._vm->_graphicsManager._screenSurface.getPixels(); + state.decompress(pDest, SCREEN_WIDTH * SCREEN_HEIGHT, state._curMemberPtr->_mode); } } else { - if (_flags & PICFLAG_1000) { - if (!(_flags & PICFLAG_10)) + if (_flags & PICFLAG_CLEAR_SCREEN00) { + if (!(_flags & PICFLAG_CLEAR_SCREEN)) nbytes = state._curMemberPtr->_size - 24; int mask = (nbytes + 0x3FFF) >> 14; @@ -818,7 +833,7 @@ PictureResource::PictureResource(BoltFilesState &state, const byte *src) { } } - if (_flags & PICFLAG_10) { + if (_flags & PICFLAG_CLEAR_SCREEN) { _imgData = new byte[nbytes]; Common::fill(_imgData, _imgData + nbytes, 0); } else { @@ -838,6 +853,7 @@ PictureResource::PictureResource(Graphics::Surface *surface) { _bounds = Common::Rect(0, 0, surface->w, surface->h); _imgData = (byte *)surface->getPixels(); + _freeImgData = DisposeAfterUse::NO; } PictureResource::PictureResource() { @@ -850,6 +866,7 @@ PictureResource::PictureResource() { _planeSize = 0; _imgData = NULL; + _freeImgData = DisposeAfterUse::NO; } PictureResource::PictureResource(int flags, int select, int pick, int onOff, @@ -867,7 +884,8 @@ PictureResource::PictureResource(int flags, int select, int pick, int onOff, } PictureResource::~PictureResource() { - delete[] _imgData; + if (_freeImgData == DisposeAfterUse::YES) + delete[] _imgData; } void PictureResource::flipHorizontal(const byte *data) { diff --git a/engines/voyeur/files.h b/engines/voyeur/files.h index 105eba51cb..e2a638028b 100644 --- a/engines/voyeur/files.h +++ b/engines/voyeur/files.h @@ -254,8 +254,8 @@ public: /* bvoy.blt resource types */ -enum PictureFlag { PICFLAG_8 = 8, PICFLAG_10 = 0x10, PICFLAG_20 = 0x20, - PICFLAG_HFLIP = 0x40, PICFLAG_VFLIP = 0x80, PICFLAG_1000 = 0x1000 }; +enum PictureFlag { PICFLAG_PIC_OFFSET = 8, PICFLAG_CLEAR_SCREEN = 0x10, PICFLAG_20 = 0x20, + PICFLAG_HFLIP = 0x40, PICFLAG_VFLIP = 0x80, PICFLAG_CLEAR_SCREEN00 = 0x1000 }; class PictureResource: public DisplayResource { private: @@ -277,7 +277,15 @@ public: uint32 _maskData; uint _planeSize; + /** + * Image data for the picture + */ byte *_imgData; + + /** + * Flag to indicate whether to free the image data + */ + DisposeAfterUse::Flag _freeImgData; public: PictureResource(BoltFilesState &state, const byte *src); PictureResource(int flags, int select, int pick, int onOff, int depth, -- cgit v1.2.3 From c1657dc2789cf5fd680248850ca9f51c85698498 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Thu, 16 Jan 2014 22:11:41 -0500 Subject: VOYEUR: Fix selection of apartment music after initial phone call ends --- engines/voyeur/files_threads.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/engines/voyeur/files_threads.cpp b/engines/voyeur/files_threads.cpp index cee4e46c81..8fa2ec7724 100644 --- a/engines/voyeur/files_threads.cpp +++ b/engines/voyeur/files_threads.cpp @@ -1072,7 +1072,7 @@ int ThreadResource::doApt() { _vm->_eventsManager.getMouseInfo(); if (!_vm->_soundManager.getVOCStatus()) { // Previous sound ended, so start up a new one - _vm->_currentVocId = _vm->getRandomNumber(4) + 151; + _vm->_currentVocId = 151 - _vm->getRandomNumber(4); _vm->_soundManager.startVOCPlay(_vm->_soundManager.getVOCFileName(_vm->_currentVocId)); } -- cgit v1.2.3 From 6b059631ce8a54556bb27891438f65cd1fed59dc Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Fri, 17 Jan 2014 21:57:33 -0500 Subject: VOYEUR: Cleanup of doGossip, and better generic video playback code --- engines/voyeur/animation.cpp | 64 ++++++++++++++++++++++++++++-------------- engines/voyeur/animation.h | 18 +++++++++++- engines/voyeur/voyeur_game.cpp | 62 ++++++++-------------------------------- 3 files changed, 71 insertions(+), 73 deletions(-) diff --git a/engines/voyeur/animation.cpp b/engines/voyeur/animation.cpp index 42172b7a33..02dc8c25be 100644 --- a/engines/voyeur/animation.cpp +++ b/engines/voyeur/animation.cpp @@ -23,6 +23,7 @@ #include "voyeur/animation.h" #include "voyeur/staticres.h" #include "voyeur/voyeur.h" +#include "common/endian.h" #include "common/memstream.h" #include "common/system.h" #include "audio/decoders/raw.h" @@ -98,27 +99,6 @@ RL2Decoder::RL2VideoTrack *RL2Decoder::getVideoTrack() { return (RL2VideoTrack *)track; } -void RL2Decoder::play(::Voyeur::VoyeurEngine *vm) { - vm->_eventsManager.getMouseInfo(); - - while (!vm->shouldQuit() && !endOfVideo() && !vm->_eventsManager._mouseClicked) { - if (hasDirtyPalette()) { - const byte *palette = getPalette(); - vm->_graphicsManager.setPalette(palette, 0, 256); - } - - if (needsUpdate()) { - const Graphics::Surface *frame = decodeNextFrame(); - - Common::copy((const byte *)frame->getPixels(), (const byte *)frame->getPixels() + 320 * 200, - (byte *)vm->_graphicsManager._screenSurface.getPixels()); - } - - vm->_eventsManager.getMouseInfo(); - g_system->delayMillis(10); - } -} - /*------------------------------------------------------------------------*/ RL2Decoder::RL2FileHeader::RL2FileHeader() { @@ -446,3 +426,45 @@ Audio::QueuingAudioStream *RL2Decoder::RL2AudioTrack::createAudioStream() { } } // End of namespace Video + +/*------------------------------------------------------------------------*/ + +namespace Voyeur { + +void VoyeurRL2Decoder::play(VoyeurEngine *vm, int resourceOffset, byte *frames, byte *imgPos) { + vm->flipPageAndWait(); + + PictureResource videoFrame(getVideoTrack()->getBackSurface()); + int picCtr = 0; + while (!vm->shouldQuit() && !endOfVideo() && !vm->_eventsManager._mouseClicked) { + if (hasDirtyPalette()) { + const byte *palette = getPalette(); + vm->_graphicsManager.setPalette(palette, 128, 128); + } + + if (needsUpdate()) { + if (frames) { + // If reached a point where a new background is needed, load it + // and copy over to the video decoder + if (getCurFrame() >= READ_LE_UINT16(frames + picCtr * 4)) { + PictureResource *newPic = vm->_bVoy->boltEntry(0x302 + picCtr)._picResource; + Common::Point pt(READ_LE_UINT16(imgPos + 4 * picCtr) - 32, + READ_LE_UINT16(imgPos + 4 * picCtr + 2) - 20); + + vm->_graphicsManager.sDrawPic(newPic, &videoFrame, pt); + ++picCtr; + } + + // Decode the next frame and display + const Graphics::Surface *frame = decodeNextFrame(); + Common::copy((const byte *)frame->getPixels(), (const byte *)frame->getPixels() + 320 * 200, + (byte *)vm->_graphicsManager._screenSurface.getPixels()); + } + } + + vm->_eventsManager.getMouseInfo(); + g_system->delayMillis(10); + } +} + +} // End of namespace Video diff --git a/engines/voyeur/animation.h b/engines/voyeur/animation.h index 34cc9eec12..b1648887ab 100644 --- a/engines/voyeur/animation.h +++ b/engines/voyeur/animation.h @@ -29,6 +29,7 @@ #include "common/list.h" #include "common/rect.h" #include "common/stream.h" +#include "voyeur/files.h" namespace Voyeur { @@ -156,10 +157,25 @@ public: void clearDirtyRects(); void copyDirtyRectsToBuffer(uint8 *dst, uint pitch); RL2VideoTrack *getVideoTrack(); - void play(::Voyeur::VoyeurEngine *vm); int getPaletteCount() const { return _header._colorCount; } }; } // End of namespace Video +namespace Voyeur { + +class VoyeurRL2Decoder: public Video::RL2Decoder { +public: + /** + * Play back a given Voyeur RL2 video + * @param vm Engine reference + * @param resourceOffset Starting resource to use for frame pictures + * @param frames Optional frame numbers resource for when to apply image data + * @param imgPos Position to draw image data + */ + void play(VoyeurEngine *vm, int resourceOffset = 0, byte *frames = NULL, byte *imgPos = NULL); +}; + +} + #endif /* VOYEUR_ANIMATION_H */ diff --git a/engines/voyeur/voyeur_game.cpp b/engines/voyeur/voyeur_game.cpp index 64af53899d..2e59b77004 100644 --- a/engines/voyeur/voyeur_game.cpp +++ b/engines/voyeur/voyeur_game.cpp @@ -230,7 +230,7 @@ void VoyeurEngine::doTailTitle() { _graphicsManager.screenReset(); if (_bVoy->getBoltGroup(0x600)) { - ::Video::RL2Decoder decoder; + VoyeurRL2Decoder decoder; decoder.loadFile("a1100200.rl2"); decoder.start(); decoder.play(this); @@ -679,10 +679,11 @@ void VoyeurEngine::doGossip() { return; // Load the gossip animation - ::Video::RL2Decoder decoder; + VoyeurRL2Decoder decoder; decoder.loadFile("a2050100.rl2"); decoder.start(); + // Get the resource data for the first gossip video PictureResource *bgPic = _bVoy->boltEntry(0x300)._picResource; CMapResource *pal = _bVoy->boltEntry(0x301)._cMapResource; pal->startFade(); @@ -692,61 +693,20 @@ void VoyeurEngine::doGossip() { bgPic->_bounds.moveTo(0, 0); _graphicsManager.sDrawPic(bgPic, &videoFrame, Common::Point(0, 0)); - flipPageAndWait(); - byte *frameNumsP = _bVoy->memberAddr(0x309); byte *posP = _bVoy->boltEntry(0x30A)._data; - // Main playback loop - int picCtr = 0; - while (!shouldQuit() && !decoder.endOfVideo() && !_eventsManager._mouseClicked) { - if (decoder.hasDirtyPalette()) { - const byte *palette = decoder.getPalette(); - _graphicsManager.setPalette(palette, 128, 128); - } - - if (decoder.needsUpdate()) { - // If reached a point where a new background is needed, load it - // and copy over to the video decoder - if (decoder.getCurFrame() >= READ_LE_UINT16(frameNumsP + picCtr * 4)) { - PictureResource *newBgPic = _bVoy->boltEntry(0x302 + picCtr)._picResource; - Common::Point pt(READ_LE_UINT16(posP + 4 * picCtr + 2), - READ_LE_UINT16(posP + 4 * picCtr)); - - _graphicsManager.sDrawPic(newBgPic, &videoFrame, pt); - ++picCtr; - } - - // Decode the next frame and display - const Graphics::Surface *frame = decoder.decodeNextFrame(); - Common::copy((const byte *)frame->getPixels(), (const byte *)frame->getPixels() + 320 * 200, - (byte *)_graphicsManager._screenSurface.getPixels()); - } - - _eventsManager.getMouseInfo(); - g_system->delayMillis(10); - } - /* - decoder.loadFile("a2110100.rl2"); - decoder.start(); - - while (!shouldQuit() && !decoder.endOfVideo() && !_eventsManager._mouseClicked) { - if (decoder.hasDirtyPalette()) { - const byte *palette = decoder.getPalette(); - _graphicsManager.setPalette(palette, 0, 256); - } - - if (decoder.needsUpdate()) { - const Graphics::Surface *frame = decoder.decodeNextFrame(); + // Play the initial gossip video + decoder.play(this, 0x302, frameNumsP, posP); - Common::copy((const byte *)frame->getPixels(), (const byte *)frame->getPixels() + 320 * 200, - (byte *)_graphicsManager._screenSurface.getPixels()); - } + if (!_eventsManager._mouseClicked) { + // Play further interview + decoder.loadFile("a2110100.rl2"); + decoder.start(); - _eventsManager.pollEvents(); - g_system->delayMillis(10); + decoder.play(this); } - */ + _bVoy->freeBoltGroup(0x300); _graphicsManager.screenReset(); } -- cgit v1.2.3 From 829de693ef90fd6381ab6525158d1a38d9df6d3d Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Fri, 17 Jan 2014 23:01:41 -0500 Subject: VOYEUR: Fix for video playback when no custom pic list needs to be applied --- engines/voyeur/animation.cpp | 10 +++++----- engines/voyeur/files_threads.cpp | 2 ++ engines/voyeur/voyeur_game.cpp | 11 +++++------ 3 files changed, 12 insertions(+), 11 deletions(-) diff --git a/engines/voyeur/animation.cpp b/engines/voyeur/animation.cpp index 02dc8c25be..0d4d842fab 100644 --- a/engines/voyeur/animation.cpp +++ b/engines/voyeur/animation.cpp @@ -454,12 +454,12 @@ void VoyeurRL2Decoder::play(VoyeurEngine *vm, int resourceOffset, byte *frames, vm->_graphicsManager.sDrawPic(newPic, &videoFrame, pt); ++picCtr; } - - // Decode the next frame and display - const Graphics::Surface *frame = decodeNextFrame(); - Common::copy((const byte *)frame->getPixels(), (const byte *)frame->getPixels() + 320 * 200, - (byte *)vm->_graphicsManager._screenSurface.getPixels()); } + + // Decode the next frame and display + const Graphics::Surface *frame = decodeNextFrame(); + Common::copy((const byte *)frame->getPixels(), (const byte *)frame->getPixels() + 320 * 200, + (byte *)vm->_graphicsManager._screenSurface.getPixels()); } vm->_eventsManager.getMouseInfo(); diff --git a/engines/voyeur/files_threads.cpp b/engines/voyeur/files_threads.cpp index 8fa2ec7724..4b074720c0 100644 --- a/engines/voyeur/files_threads.cpp +++ b/engines/voyeur/files_threads.cpp @@ -1086,6 +1086,8 @@ int ThreadResource::doApt() { hotspotId = idx; if (idx != prevHotspotId) { + // Check for whether to replace hotspot Id for "Watch TV" for + // "Review the Tape" if player has already watched the TV if ((_vm->_voy._field478 & 0x100) && (hotspotId == 2)) hotspotId = 5; diff --git a/engines/voyeur/voyeur_game.cpp b/engines/voyeur/voyeur_game.cpp index 2e59b77004..57a08b7d2d 100644 --- a/engines/voyeur/voyeur_game.cpp +++ b/engines/voyeur/voyeur_game.cpp @@ -699,13 +699,12 @@ void VoyeurEngine::doGossip() { // Play the initial gossip video decoder.play(this, 0x302, frameNumsP, posP); - if (!_eventsManager._mouseClicked) { - // Play further interview - decoder.loadFile("a2110100.rl2"); - decoder.start(); + // Play interview video + decoder.loadFile("a2110100.rl2"); + decoder.start(); - decoder.play(this); - } + _eventsManager.getMouseInfo(); + decoder.play(this); _bVoy->freeBoltGroup(0x300); _graphicsManager.screenReset(); -- cgit v1.2.3 From 7ad8dfa0a720ea5b7db502424ba73fb7059824b6 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Fri, 17 Jan 2014 23:19:54 -0500 Subject: VOYEUR: Fix switching TV watch gossip to reviewing the tape --- engines/voyeur/files_threads.cpp | 8 ++++---- engines/voyeur/voyeur_game.cpp | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/engines/voyeur/files_threads.cpp b/engines/voyeur/files_threads.cpp index 4b074720c0..850e6dfa06 100644 --- a/engines/voyeur/files_threads.cpp +++ b/engines/voyeur/files_threads.cpp @@ -388,7 +388,7 @@ void ThreadResource::parsePlayCommands() { _vm->_graphicsManager._backColors->startFade(); _vm->flipPageAndWaitForFade(); - _vm->_voy._field478 = -2; + _vm->_voy._field478 &= ~1; _vm->_soundManager.setVOCOffset(_vm->_voy._vocSecondsOffset * 11025); Common::String filename = _vm->_soundManager.getVOCFileName( _vm->_videoId + 159); @@ -407,7 +407,7 @@ void ThreadResource::parsePlayCommands() { _vm->_eventsManager.incrementTime(1); _vm->_bVoy->freeBoltGroup(0x7F00); - _vm->_voy._field478 = -17; + _vm->_voy._field478 &= ~0x10; _vm->_videoId = -1; _vm->_voy._field470 = 129; parseIndex = 999; @@ -628,7 +628,7 @@ void ThreadResource::parsePlayCommands() { break; case 11: - _vm->_voy._field478 = 2; + _vm->_voy._field478 |= 2; break; case 12: @@ -1085,7 +1085,7 @@ int ThreadResource::doApt() { // Cursor is within hotspot area hotspotId = idx; - if (idx != prevHotspotId) { + if (hotspotId != prevHotspotId) { // Check for whether to replace hotspot Id for "Watch TV" for // "Review the Tape" if player has already watched the TV if ((_vm->_voy._field478 & 0x100) && (hotspotId == 2)) diff --git a/engines/voyeur/voyeur_game.cpp b/engines/voyeur/voyeur_game.cpp index 57a08b7d2d..ca8737389a 100644 --- a/engines/voyeur/voyeur_game.cpp +++ b/engines/voyeur/voyeur_game.cpp @@ -87,7 +87,7 @@ void VoyeurEngine::playStamp() { doGossip(); _voy._field46E = true; _voy._field472 = 141; - _voy._field478 = -1; + _voy._field478 &= ~0x100; break; default: break; -- cgit v1.2.3 From 8792e4f97b7ad3cb1863dd0ccf15adaac7f6a061 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Sat, 18 Jan 2014 07:58:16 -0500 Subject: VOYEUR: Fix anonymous resource in reviewTape to a hotspot list --- engines/voyeur/voyeur.h | 3 +++ engines/voyeur/voyeur_game.cpp | 17 +++++++---------- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/engines/voyeur/voyeur.h b/engines/voyeur/voyeur.h index 1622524108..33e924a26d 100644 --- a/engines/voyeur/voyeur.h +++ b/engines/voyeur/voyeur.h @@ -112,6 +112,9 @@ private: */ void doPiracy(); + /** + * Review previous tape recordings on the TV + */ void reviewTape(); /** diff --git a/engines/voyeur/voyeur_game.cpp b/engines/voyeur/voyeur_game.cpp index ca8737389a..f31e67b0fc 100644 --- a/engines/voyeur/voyeur_game.cpp +++ b/engines/voyeur/voyeur_game.cpp @@ -433,11 +433,11 @@ void VoyeurEngine::reviewTape() { if ((si + _voy._eventCount) <= 7) var20 = si + _voy._eventCount - 1; + _voy._viewBounds = _bVoy->boltEntry(0x907)._rectResource; + Common::Array &hotspots = _bVoy->boltEntry(0x906)._rectResource->_entries; + bool breakFlag = false; while (!shouldQuit() && !breakFlag) { - _voy._viewBounds = _bVoy->boltEntry(0x907)._rectResource; - byte *dataP = _bVoy->memberAddr(0x906); - int varA = READ_LE_UINT16(dataP); _graphicsManager._backColors = _bVoy->boltEntry(0x902)._cMapResource; _graphicsManager._backgroundPage = _bVoy->boltEntry(0x901)._picResource; (*_graphicsManager._vPort)->setupViewPort(_graphicsManager._backgroundPage); @@ -463,8 +463,7 @@ void VoyeurEngine::reviewTape() { _eventsManager.getMouseInfo(); if (newX == -1) { - _eventsManager.setMousePos(Common::Point((int16)READ_LE_UINT16(dataP + 10) + 12, - (int16)READ_LE_UINT16(dataP + 12) + 6)); + _eventsManager.setMousePos(Common::Point(hotspots[1].left + 12, hotspots[1].top + 6)); } else { _eventsManager.setMousePos(Common::Point(newX, newY)); } @@ -523,11 +522,8 @@ void VoyeurEngine::reviewTape() { _eventsManager.getMouseInfo(); foundIndex = -1; Common::Point tempPos = _eventsManager.getMousePos() + Common::Point(14, 7); - for (int idx = 0; idx < varA; ++idx) { - if (READ_LE_UINT16(dataP + idx * 8 + 2) <= tempPos.x && - READ_LE_UINT16(dataP + idx * 8 + 6) >= tempPos.x && - READ_LE_UINT16(dataP + idx * 8 + 4) <= tempPos.y && - READ_LE_UINT16(dataP + idx * 8 + 4) <= tempPos.y) { + for (uint idx = 0; idx < hotspots.size(); ++idx) { + if (hotspots[idx].contains(tempPos)) { // Found hotspot area foundIndex = idx; break; @@ -552,6 +548,7 @@ void VoyeurEngine::reviewTape() { _graphicsManager._drawPtr->_penColor = 0; _graphicsManager._drawPtr->_pos = Common::Point(tempRect.left, tempRect.top); + // TODO: Does sFillBox need to work on picture resources? ((ViewPortResource *)_graphicsManager._backgroundPage)->sFillBox(tempRect.width(), tempRect.height()); -- cgit v1.2.3 From cbbdf4db47cc6efeef5d9fa2630445e64aa3e444 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Sat, 18 Jan 2014 08:09:38 -0500 Subject: VOYEUR: Fix sFillBox to work for PictureResource as well --- engines/voyeur/files.cpp | 50 ++++++++++++++++++++++++++---------------- engines/voyeur/files.h | 8 ++++++- engines/voyeur/voyeur_game.cpp | 6 ++--- 3 files changed, 40 insertions(+), 24 deletions(-) diff --git a/engines/voyeur/files.cpp b/engines/voyeur/files.cpp index e728696038..67488e4643 100644 --- a/engines/voyeur/files.cpp +++ b/engines/voyeur/files.cpp @@ -724,7 +724,34 @@ RectResource::RectResource(int x1, int y1, int x2, int y2) { /*------------------------------------------------------------------------*/ -PictureResource::PictureResource(BoltFilesState &state, const byte *src) { +DisplayResource::DisplayResource() { + _vm = NULL; +} + +DisplayResource::DisplayResource(VoyeurEngine *vm) { + _vm = vm; +} + +void DisplayResource::sFillBox(int width, int height) { + assert(_vm); + bool saveBack = _vm->_graphicsManager._saveBack; + _vm->_graphicsManager._saveBack = false; + + PictureResource pr; + pr._flags = 1; + pr._select = 0xff; + pr._pick = 0; + pr._onOff = _vm->_graphicsManager._drawPtr->_penColor; + pr._bounds = Common::Rect(0, 0, width, height); + + _vm->_graphicsManager.sDrawPic(&pr, this, _vm->_graphicsManager._drawPtr->_pos); + _vm->_graphicsManager._saveBack = saveBack; +} + +/*------------------------------------------------------------------------*/ + +PictureResource::PictureResource(BoltFilesState &state, const byte *src): + DisplayResource(state._vm) { _flags = READ_LE_UINT16(src); _select = src[2]; _pick = src[3]; @@ -915,7 +942,8 @@ void PictureResource::flipVertical(const byte *data) { /*------------------------------------------------------------------------*/ ViewPortResource::ViewPortResource(BoltFilesState &state, const byte *src): - _fontChar(0, 0xff, 0xff, 0, 0, Common::Rect(), 0, NULL, 0), _state(state) { + _fontChar(0, 0xff, 0xff, 0, 0, Common::Rect(), 0, NULL, 0), + _state(state), DisplayResource(state._vm) { _flags = READ_LE_UINT16(src); _parent = NULL; _pageCount = READ_LE_UINT16(src + 6); @@ -1271,23 +1299,7 @@ int ViewPortResource::textWidth(const Common::String &msg) { void ViewPortResource::addSaveRect(int pageIndex, const Common::Rect &r) { // TODO - warning("TODO: addSaveRect"); -} - -void ViewPortResource::sFillBox(int width, int height) { - bool saveBack = _state._vm->_graphicsManager._saveBack; - _state._vm->_graphicsManager._saveBack = false; - - PictureResource pr; - pr._flags = 1; - pr._select = 0xff; - pr._pick = 0; - pr._onOff = _state._vm->_graphicsManager._drawPtr->_penColor; - pr._bounds = Common::Rect(0, 0, width, height); - - _state._vm->_graphicsManager.sDrawPic(&pr, this, - _state._vm->_graphicsManager._drawPtr->_pos); - _state._vm->_graphicsManager._saveBack = saveBack; + error("TODO: addSaveRect"); } void ViewPortResource::fillPic(byte onOff) { diff --git a/engines/voyeur/files.h b/engines/voyeur/files.h index e2a638028b..cbbf35eff8 100644 --- a/engines/voyeur/files.h +++ b/engines/voyeur/files.h @@ -248,8 +248,15 @@ enum DisplayFlag { DISPFLAG_1 = 1, DISPFLAG_2 = 2, DISPFLAG_4 = 4, DISPFLAG_8 = DISPFLAG_4000 = 0x4000, DISPFLAG_VIEWPORT = 0x8000, DISPFLAG_CURSOR = 0x10000 }; class DisplayResource { +private: + VoyeurEngine *_vm; public: uint32 _flags; +public: + DisplayResource(); + DisplayResource(VoyeurEngine *vm); + + void sFillBox(int width, int height); }; /* bvoy.blt resource types */ @@ -338,7 +345,6 @@ public: int drawText(const Common::String &msg); int textWidth(const Common::String &msg); void addSaveRect(int pageIndex, const Common::Rect &r); - void sFillBox(int width, int height); void fillPic(byte onOff = 0); void drawIfaceTime(); }; diff --git a/engines/voyeur/voyeur_game.cpp b/engines/voyeur/voyeur_game.cpp index f31e67b0fc..d55a972c64 100644 --- a/engines/voyeur/voyeur_game.cpp +++ b/engines/voyeur/voyeur_game.cpp @@ -483,8 +483,7 @@ void VoyeurEngine::reviewTape() { _graphicsManager._drawPtr->_penColor = 0; _graphicsManager._drawPtr->_pos = Common::Point(tempRect.left, tempRect.top); - // TODO: Check - does drawText need to work on PictureResources? - ((ViewPortResource *)_graphicsManager._backgroundPage)->sFillBox(tempRect.width(), tempRect.height()); + _graphicsManager._backgroundPage->sFillBox(tempRect.width(), tempRect.height()); newX = si; int yp = 45; @@ -549,8 +548,7 @@ void VoyeurEngine::reviewTape() { _graphicsManager._drawPtr->_penColor = 0; _graphicsManager._drawPtr->_pos = Common::Point(tempRect.left, tempRect.top); - // TODO: Does sFillBox need to work on picture resources? - ((ViewPortResource *)_graphicsManager._backgroundPage)->sFillBox(tempRect.width(), tempRect.height()); + _graphicsManager._backgroundPage->sFillBox(tempRect.width(), tempRect.height()); evtIndex = si; int yp = 45; -- cgit v1.2.3 From e387b016c02fcec0e5f4446f1a1064e6b0171e08 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Sat, 18 Jan 2014 10:16:27 -0500 Subject: VOYEUR: Implemented addSaveRect and clipRect --- engines/voyeur/files.cpp | 47 +++++++++++++++++++++++++++++++++++++++++- engines/voyeur/files.h | 5 +++++ engines/voyeur/voyeur_game.cpp | 3 +-- 3 files changed, 52 insertions(+), 3 deletions(-) diff --git a/engines/voyeur/files.cpp b/engines/voyeur/files.cpp index 67488e4643..b776483b36 100644 --- a/engines/voyeur/files.cpp +++ b/engines/voyeur/files.cpp @@ -748,6 +748,43 @@ void DisplayResource::sFillBox(int width, int height) { _vm->_graphicsManager._saveBack = saveBack; } +bool DisplayResource::clipRect(Common::Rect &rect) { + Common::Rect clipRect; + if (_vm->_graphicsManager._clipPtr) { + clipRect = *_vm->_graphicsManager._clipPtr; + } else if (_flags & DISPFLAG_VIEWPORT) { + clipRect = ((ViewPortResource *)this)->_clipRect; + } else { + clipRect = ((PictureResource *)this)->_bounds; + } + + Common::Rect r = rect; + if (r.left < clipRect.left) { + if (r.right <= clipRect.left) + return false; + r.setWidth(r.right - clipRect.left); + } + if (r.right >= clipRect.right) { + if (r.left >= clipRect.left) + return false; + r.setWidth(clipRect.right - r.left); + } + + if (r.top < clipRect.top) { + if (r.bottom <= clipRect.top) + return false; + r.setHeight(r.bottom - clipRect.top); + } + if (r.bottom >= clipRect.bottom) { + if (r.top >= clipRect.top) + return false; + r.setWidth(clipRect.bottom - r.top); + } + + rect = r; + return true; +} + /*------------------------------------------------------------------------*/ PictureResource::PictureResource(BoltFilesState &state, const byte *src): @@ -1299,7 +1336,15 @@ int ViewPortResource::textWidth(const Common::String &msg) { void ViewPortResource::addSaveRect(int pageIndex, const Common::Rect &r) { // TODO - error("TODO: addSaveRect"); + Common::Rect rect = r; + + if (clipRect(rect)) { + if (_addFn) { + (_state._vm->_graphicsManager.*_addFn)(this, pageIndex, rect); + } else if (_rectListCount[pageIndex] != -1) { + _rectListPtr[pageIndex]->push_back(rect); + } + } } void ViewPortResource::fillPic(byte onOff) { diff --git a/engines/voyeur/files.h b/engines/voyeur/files.h index cbbf35eff8..b22aae4980 100644 --- a/engines/voyeur/files.h +++ b/engines/voyeur/files.h @@ -256,7 +256,12 @@ public: DisplayResource(); DisplayResource(VoyeurEngine *vm); + /** + * Fill a box of the given size at the current _drawPtr location + */ void sFillBox(int width, int height); + + bool clipRect(Common::Rect &rect); }; /* bvoy.blt resource types */ diff --git a/engines/voyeur/voyeur_game.cpp b/engines/voyeur/voyeur_game.cpp index d55a972c64..3178ccd087 100644 --- a/engines/voyeur/voyeur_game.cpp +++ b/engines/voyeur/voyeur_game.cpp @@ -546,8 +546,7 @@ void VoyeurEngine::reviewTape() { flipPageAndWait(); _graphicsManager._drawPtr->_penColor = 0; - _graphicsManager._drawPtr->_pos = Common::Point(tempRect.left, tempRect.top); - + _graphicsManager._drawPtr->_pos = Common::Point(tempRect.left, tempRect.top); _graphicsManager._backgroundPage->sFillBox(tempRect.width(), tempRect.height()); evtIndex = si; -- cgit v1.2.3 From f084539957e461cd74179008f81791fd29f0d311 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Sat, 18 Jan 2014 14:38:33 -0500 Subject: VOYEUR: Converted drawText and textWidth to work on PictureResource --- engines/voyeur/files.cpp | 427 ++++++++++++++++++++++---------------------- engines/voyeur/files.h | 16 +- engines/voyeur/graphics.cpp | 2 + engines/voyeur/graphics.h | 1 + 4 files changed, 231 insertions(+), 215 deletions(-) diff --git a/engines/voyeur/files.cpp b/engines/voyeur/files.cpp index b776483b36..3de0d88621 100644 --- a/engines/voyeur/files.cpp +++ b/engines/voyeur/files.cpp @@ -785,6 +785,221 @@ bool DisplayResource::clipRect(Common::Rect &rect) { return true; } +int DisplayResource::drawText(const Common::String &msg) { + GraphicsManager &gfxManager = _vm->_graphicsManager; + assert(gfxManager._fontPtr); + assert(gfxManager._fontPtr->_curFont); + FontInfoResource &fontInfo = *gfxManager._fontPtr; + PictureResource &fontChar = *_vm->_graphicsManager._fontChar; + FontResource &fontData = *fontInfo._curFont; + int xShadows[9] = { 0, 1, 1, 1, 0, -1, -1, -1, 0 }; + int yShadows[9] = { 0, 1, 0, -1, -1, -1, 0, 1, 1 }; + + Common::Rect *clipPtr = gfxManager._clipPtr; + if (!(fontInfo._picFlags & DISPFLAG_1)) + gfxManager._clipPtr = NULL; + + int minChar = fontData._minChar; + int padding = fontData._padding; + int fontHeight = fontData._fontHeight; + int totalChars = fontData._maxChar - fontData._minChar; + int msgWidth = 0; + int xp = 0, yp = 0; + + Common::Point pos = Common::Point(fontInfo._pos.x, fontInfo._pos.y + fontData._topPadding); + + fontChar._flags = fontInfo._picFlags | DISPFLAG_2; + fontChar._select = fontInfo._picSelect; + fontChar._bounds.setHeight(fontHeight); + + ViewPortResource *viewPort = !(_flags & DISPFLAG_VIEWPORT) ? NULL : + (ViewPortResource *)this; + + if (gfxManager._drawTextPermFlag || (fontInfo._fontFlags & DISPFLAG_1) || fontInfo._justify || + (gfxManager._saveBack && fontInfo._fontSaveBack && (_flags & DISPFLAG_VIEWPORT))) { + msgWidth = viewPort->textWidth(msg); + yp = pos.y; + xp = pos.x; + + switch (fontInfo._justify) { + case 1: + xp = pos.x + (fontInfo._justifyWidth / 2) - (msgWidth / 2); + break; + case 2: + xp = pos.x + fontInfo._justifyWidth - msgWidth; + break; + default: + break; + } + + if (!(fontInfo._fontFlags & 3)) { + viewPort->_fontRect.left = xp; + viewPort->_fontRect.top = yp; + viewPort->_fontRect.setWidth(msgWidth); + viewPort->_fontRect.setHeight(fontHeight); + } else { + viewPort->_fontRect.left = pos.x; + viewPort->_fontRect.top = pos.y; + viewPort->_fontRect.setWidth(fontInfo._justifyWidth); + viewPort->_fontRect.setHeight(fontInfo._justifyHeight); + } + + pos.x = xp; + pos.y = yp; + + if (fontInfo._fontFlags & 4) { + if (fontInfo._shadow.x <= 0) { + viewPort->_fontRect.left += fontInfo._shadow.x; + viewPort->_fontRect.right -= fontInfo._shadow.x * 2; + } else { + viewPort->_fontRect.right += fontInfo._shadow.x; + } + + if (fontInfo._shadow.y <= 0) { + viewPort->_fontRect.top += fontInfo._shadow.y; + viewPort->_fontRect.bottom -= fontInfo._shadow.y * 2; + } else { + viewPort->_fontRect.bottom += fontInfo._shadow.y; + } + } else if (fontInfo._fontFlags & 8) { + if (fontInfo._shadow.x <= 0) { + viewPort->_fontRect.left += fontInfo._shadow.x; + viewPort->_fontRect.right -= fontInfo._shadow.x * 3; + } else { + viewPort->_fontRect.right += fontInfo._shadow.x * 3; + viewPort->_fontRect.left -= fontInfo._shadow.x; + } + + if (fontInfo._shadow.y <= 0) { + viewPort->_fontRect.top += fontInfo._shadow.y; + viewPort->_fontRect.bottom -= fontInfo._shadow.y * 3; + } else { + viewPort->_fontRect.bottom += fontInfo._shadow.y * 3; + viewPort->_fontRect.top -= fontInfo._shadow.y; + } + } + } + + if (gfxManager._saveBack && fontInfo._fontSaveBack && (_flags & DISPFLAG_VIEWPORT)) { + viewPort->addSaveRect(viewPort->_pageIndex, viewPort->_fontRect); + } + + if (fontInfo._fontFlags & DISPFLAG_1) { + gfxManager._drawPtr->_pos = Common::Point(viewPort->_fontRect.left, viewPort->_fontRect.top); + gfxManager._drawPtr->_penColor = fontInfo._backColor; + sFillBox(viewPort->_fontRect.width(), viewPort->_fontRect.height()); + } + + bool saveBack = gfxManager._saveBack; + gfxManager._saveBack = false; + + int count = 0; + if (fontInfo._fontFlags & DISPFLAG_4) + count = 1; + else if (fontInfo._fontFlags & DISPFLAG_8) + count = 8; + + for (int i = count; i >= 0; --i) { + xp = pos.x; + yp = pos.y; + + switch (xShadows[i]) { + case -1: + xp -= fontInfo._shadow.x; + break; + case 1: + xp += fontInfo._shadow.x; + break; + default: + break; + } + + switch (yShadows[i]) { + case -1: + yp -= fontInfo._shadow.y; + break; + case 1: + yp += fontInfo._shadow.y; + break; + default: + break; + } + + if (i != 0) { + fontChar._pick = 0; + fontChar._onOff = fontInfo._shadowColor; + } else if (fontData.field2 == 1 || (fontInfo._fontFlags & 0x10)) { + fontChar._pick = 0; + fontChar._onOff = fontInfo._foreColor; + } else { + fontChar._pick = fontInfo._picPick; + fontChar._onOff = fontInfo._picOnOff; + fontChar._depth = fontData.field2; + } + + // Loop to draw each character in turn + msgWidth = -padding; + const char *msgP = msg.c_str(); + char ch; + + while ((ch = *msgP++) != '\0') { + int charValue = (int)ch - minChar; + if (charValue < 0 || charValue >= totalChars || fontData._charWidth[charValue] == 0) + charValue = fontData._maxChar - minChar; + + int charWidth = fontData._charWidth[charValue]; + fontChar._bounds.setWidth(charWidth); + + uint16 offset = READ_LE_UINT16(fontData._charOffsets + charValue * 2); + fontChar._imgData = fontData._charImages + offset * 2; + + gfxManager.sDrawPic(&fontChar, this, Common::Point(xp, yp)); + + fontChar._imgData = NULL; + xp += charWidth + padding; + msgWidth += charWidth + padding; + } + } + + msgWidth = MAX(msgWidth, 0); + if (fontInfo._justify == ALIGN_LEFT) + fontInfo._pos.x = xp; + + gfxManager._saveBack = saveBack; + gfxManager._clipPtr = clipPtr; + + return msgWidth; +} + +int DisplayResource::textWidth(const Common::String &msg) { + if (msg.size() == 0) + return 0; + + const char *msgP = msg.c_str(); + FontResource &fontData = *_vm->_graphicsManager._fontPtr->_curFont; + int minChar = fontData._minChar; + int maxChar = fontData._maxChar; + int padding = fontData._padding; + int totalWidth = -padding; + char ch; + + // Loop through the characters + while ((ch = *msgP++) != '\0') { + int charValue = (int)ch; + if (charValue < minChar || charValue > maxChar) + charValue = maxChar; + + if (!fontData._charWidth[charValue - minChar]) + charValue = maxChar; + + totalWidth += fontData._charWidth[charValue - minChar] + padding; + } + + if (totalWidth < 0) + totalWidth = 0; + return totalWidth; +} + /*------------------------------------------------------------------------*/ PictureResource::PictureResource(BoltFilesState &state, const byte *src): @@ -979,7 +1194,6 @@ void PictureResource::flipVertical(const byte *data) { /*------------------------------------------------------------------------*/ ViewPortResource::ViewPortResource(BoltFilesState &state, const byte *src): - _fontChar(0, 0xff, 0xff, 0, 0, Common::Rect(), 0, NULL, 0), _state(state), DisplayResource(state._vm) { _flags = READ_LE_UINT16(src); _parent = NULL; @@ -1123,217 +1337,6 @@ void ViewPortResource::setupViewPort(PictureResource *pic, Common::Rect *clipRec &GraphicsManager::restoreMCGASaveRect); } -int ViewPortResource::drawText(const Common::String &msg) { - GraphicsManager &gfxManager = _state._vm->_graphicsManager; - assert(gfxManager._fontPtr); - assert(gfxManager._fontPtr->_curFont); - FontInfoResource &fontInfo = *gfxManager._fontPtr; - FontResource &fontData = *fontInfo._curFont; - int xShadows[9] = { 0, 1, 1, 1, 0, -1, -1, -1, 0 }; - int yShadows[9] = { 0, 1, 0, -1, -1, -1, 0, 1, 1 }; - - Common::Rect *clipPtr = gfxManager._clipPtr; - if (!(fontInfo._picFlags & DISPFLAG_1)) - gfxManager._clipPtr = NULL; - - int minChar = fontData._minChar; - int padding = fontData._padding; - int fontHeight = fontData._fontHeight; - int totalChars = fontData._maxChar - fontData._minChar; - int msgWidth = 0; - int xp = 0, yp = 0; - - Common::Point pos = Common::Point(fontInfo._pos.x, fontInfo._pos.y + fontData._topPadding); - - _fontChar._flags = fontInfo._picFlags | DISPFLAG_2; - _fontChar._select = fontInfo._picSelect; - _fontChar._bounds.setHeight(fontHeight); - - if (gfxManager._drawTextPermFlag || (fontInfo._fontFlags & DISPFLAG_1) || fontInfo._justify || - (gfxManager._saveBack && fontInfo._fontSaveBack && (_flags & DISPFLAG_VIEWPORT))) { - msgWidth = textWidth(msg); - yp = pos.y; - xp = pos.x; - - switch (fontInfo._justify) { - case 1: - xp = pos.x + (fontInfo._justifyWidth / 2) - (msgWidth / 2); - break; - case 2: - xp = pos.x + fontInfo._justifyWidth - msgWidth; - break; - default: - break; - } - - if (!(fontInfo._fontFlags & 3)) { - _fontRect.left = xp; - _fontRect.top = yp; - _fontRect.setWidth(msgWidth); - _fontRect.setHeight(fontHeight); - } else { - _fontRect.left = pos.x; - _fontRect.top = pos.y; - _fontRect.setWidth(fontInfo._justifyWidth); - _fontRect.setHeight(fontInfo._justifyHeight); - } - - pos.x = xp; - pos.y = yp; - - if (fontInfo._fontFlags & 4) { - if (fontInfo._shadow.x <= 0) { - _fontRect.left += fontInfo._shadow.x; - _fontRect.right -= fontInfo._shadow.x * 2; - } else { - _fontRect.right += fontInfo._shadow.x; - } - - if (fontInfo._shadow.y <= 0) { - _fontRect.top += fontInfo._shadow.y; - _fontRect.bottom -= fontInfo._shadow.y * 2; - } else { - _fontRect.bottom += fontInfo._shadow.y; - } - } else if (fontInfo._fontFlags & 8) { - if (fontInfo._shadow.x <= 0) { - _fontRect.left += fontInfo._shadow.x; - _fontRect.right -= fontInfo._shadow.x * 3; - } else { - _fontRect.right += fontInfo._shadow.x * 3; - _fontRect.left -= fontInfo._shadow.x; - } - - if (fontInfo._shadow.y <= 0) { - _fontRect.top += fontInfo._shadow.y; - _fontRect.bottom -= fontInfo._shadow.y * 3; - } else { - _fontRect.bottom += fontInfo._shadow.y * 3; - _fontRect.top -= fontInfo._shadow.y; - } - } - } - - if (gfxManager._saveBack && fontInfo._fontSaveBack && (_flags & DISPFLAG_VIEWPORT)) { - addSaveRect(_pageIndex, _fontRect); - } - - if (fontInfo._fontFlags & DISPFLAG_1) { - gfxManager._drawPtr->_pos = Common::Point(_fontRect.left, _fontRect.top); - gfxManager._drawPtr->_penColor = fontInfo._backColor; - sFillBox(_fontRect.width(), _fontRect.height()); - } - - bool saveBack = gfxManager._saveBack; - gfxManager._saveBack = false; - - int count = 0; - if (fontInfo._fontFlags & DISPFLAG_4) - count = 1; - else if (fontInfo._fontFlags & DISPFLAG_8) - count = 8; - - for (int i = count; i >= 0; --i) { - xp = pos.x; - yp = pos.y; - - switch (xShadows[i]) { - case -1: - xp -= fontInfo._shadow.x; - break; - case 1: - xp += fontInfo._shadow.x; - break; - default: - break; - } - - switch (yShadows[i]) { - case -1: - yp -= fontInfo._shadow.y; - break; - case 1: - yp += fontInfo._shadow.y; - break; - default: - break; - } - - if (i != 0) { - _fontChar._pick = 0; - _fontChar._onOff = fontInfo._shadowColor; - } else if (fontData.field2 == 1 || (fontInfo._fontFlags & 0x10)) { - _fontChar._pick = 0; - _fontChar._onOff = fontInfo._foreColor; - } else { - _fontChar._pick = fontInfo._picPick; - _fontChar._onOff = fontInfo._picOnOff; - _fontChar._depth = fontData.field2; - } - - // Loop to draw each character in turn - msgWidth = -padding; - const char *msgP = msg.c_str(); - char ch; - - while ((ch = *msgP++) != '\0') { - int charValue = (int)ch - minChar; - if (charValue < 0 || charValue >= totalChars || fontData._charWidth[charValue] == 0) - charValue = fontData._maxChar - minChar; - - int charWidth = fontData._charWidth[charValue]; - _fontChar._bounds.setWidth(charWidth); - - uint16 offset = READ_LE_UINT16(fontData._charOffsets + charValue * 2); - _fontChar._imgData = fontData._charImages + offset * 2; - - gfxManager.sDrawPic(&_fontChar, this, Common::Point(xp, yp)); - - _fontChar._imgData = NULL; - xp += charWidth + padding; - msgWidth += charWidth + padding; - } - } - - msgWidth = MAX(msgWidth, 0); - if (fontInfo._justify == ALIGN_LEFT) - fontInfo._pos.x = xp; - - gfxManager._saveBack = saveBack; - gfxManager._clipPtr = clipPtr; - - return msgWidth; -} - -int ViewPortResource::textWidth(const Common::String &msg) { - if (msg.size() == 0) - return 0; - - const char *msgP = msg.c_str(); - FontResource &fontData = *_state._vm->_graphicsManager._fontPtr->_curFont; - int minChar = fontData._minChar; - int maxChar = fontData._maxChar; - int padding = fontData._padding; - int totalWidth = -padding; - char ch; - - // Loop through the characters - while ((ch = *msgP++) != '\0') { - int charValue = (int)ch; - if (charValue < minChar || charValue > maxChar) - charValue = maxChar; - - if (!fontData._charWidth[charValue - minChar]) - charValue = maxChar; - - totalWidth += fontData._charWidth[charValue - minChar] + padding; - } - - if (totalWidth < 0) - totalWidth = 0; - return totalWidth; -} - void ViewPortResource::addSaveRect(int pageIndex, const Common::Rect &r) { // TODO Common::Rect rect = r; diff --git a/engines/voyeur/files.h b/engines/voyeur/files.h index b22aae4980..6cc747d9a1 100644 --- a/engines/voyeur/files.h +++ b/engines/voyeur/files.h @@ -261,6 +261,19 @@ public: */ void sFillBox(int width, int height); + /** + * Draw text at the current pen position + */ + int drawText(const Common::String &msg); + + /** + * Return the width of a given text in the current font + */ + int textWidth(const Common::String &msg); + + /** + * Clip the given rectangle by the currently viewable area + */ bool clipRect(Common::Rect &rect); }; @@ -339,7 +352,6 @@ public: ViewPortSetupPtr _setupFn; ViewPortAddPtr _addFn; ViewPortRestorePtr _restoreFn; - PictureResource _fontChar; Common::Rect _fontRect; public: ViewPortResource(BoltFilesState &state, const byte *src); @@ -347,8 +359,6 @@ public: void setupViewPort(); void setupViewPort(PictureResource *pic, Common::Rect *clipRect = NULL); - int drawText(const Common::String &msg); - int textWidth(const Common::String &msg); void addSaveRect(int pageIndex, const Common::Rect &r); void fillPic(byte onOff = 0); void drawIfaceTime(); diff --git a/engines/voyeur/graphics.cpp b/engines/voyeur/graphics.cpp index 6c62c6f041..4dd4c67b0f 100644 --- a/engines/voyeur/graphics.cpp +++ b/engines/voyeur/graphics.cpp @@ -58,6 +58,7 @@ GraphicsManager::GraphicsManager(): _vPort = NULL; _fontPtr = NULL; Common::fill(&_VGAColors[0], &_VGAColors[PALETTE_SIZE], 0); + _fontChar = new PictureResource(0, 0xff, 0xff, 0, 0, Common::Rect(), 0, NULL, 0); } void GraphicsManager::sInitGraphics() { @@ -70,6 +71,7 @@ void GraphicsManager::sInitGraphics() { GraphicsManager::~GraphicsManager() { _screenSurface.free(); + delete _fontChar; } void GraphicsManager::setupMCGASaveRect(ViewPortResource *viewPort) { diff --git a/engines/voyeur/graphics.h b/engines/voyeur/graphics.h index ccc20e5df9..6205499ea7 100644 --- a/engines/voyeur/graphics.h +++ b/engines/voyeur/graphics.h @@ -81,6 +81,7 @@ public: Graphics::Surface _screenSurface; CMapResource *_backColors; FontInfoResource *_fontPtr; + PictureResource *_fontChar; DrawInfo *_drawPtr; DrawInfo _defaultDrawInfo; bool _drawTextPermFlag; -- cgit v1.2.3 From 3f50f14698193dc3f9c6904bc5d8f304d97a8b86 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Sat, 18 Jan 2014 17:32:59 -0500 Subject: VOYEUR: Implemented remainder of reviewTape and dependent methods --- engines/voyeur/data.cpp | 45 +++++++++++++ engines/voyeur/data.h | 2 + engines/voyeur/sound.cpp | 4 ++ engines/voyeur/sound.h | 1 + engines/voyeur/voyeur.cpp | 12 ++-- engines/voyeur/voyeur_game.cpp | 150 ++++++++++++++++++++++++++++++++--------- 6 files changed, 175 insertions(+), 39 deletions(-) diff --git a/engines/voyeur/data.cpp b/engines/voyeur/data.cpp index f98478b723..1e40ff7096 100644 --- a/engines/voyeur/data.cpp +++ b/engines/voyeur/data.cpp @@ -189,4 +189,49 @@ void SVoy::addComputerEventEnd(int v) { ++_eventCount; } +void SVoy::reviewAnEvidEvent(int eventIndex) { + VoyeurEvent &e = _events[eventIndex]; + _vm->_playStampGroupId = e._videoId; + _field47A = e._computerOn; + int frameOff = e._computerOff; + + if (_vm->_bVoy->getBoltGroup(_vm->_playStampGroupId)) { + _vm->_graphicsManager._backColors = _vm->_bVoy->boltEntry(_vm->_playStampGroupId + 1)._cMapResource; + _vm->_graphicsManager._backgroundPage = _vm->_bVoy->boltEntry(_vm->_playStampGroupId)._picResource; + (*_vm->_graphicsManager._vPort)->setupViewPort(_vm->_graphicsManager._backgroundPage); + _vm->_graphicsManager._backColors->startFade(); + + _vm->doEvidDisplay(frameOff, e._dead); + _vm->_bVoy->freeBoltGroup(_vm->_playStampGroupId); + _vm->_playStampGroupId = -1; + + if (_field47A != -1) { + _vm->_bVoy->freeBoltGroup(_field47A); + _field47A = -1; + } + } +} + +void SVoy::reviewComputerEvent(int eventIndex) { + VoyeurEvent &e = _events[eventIndex]; + _vm->_playStampGroupId = e._videoId; + _computerTextId = e._computerOn; + + if (_vm->_bVoy->getBoltGroup(_vm->_playStampGroupId)) { + _vm->_graphicsManager._backColors = _vm->_bVoy->boltEntry(_vm->_playStampGroupId + 1)._cMapResource; + _vm->_graphicsManager._backgroundPage = _vm->_bVoy->boltEntry(_vm->_playStampGroupId)._picResource; + (*_vm->_graphicsManager._vPort)->setupViewPort(_vm->_graphicsManager._backgroundPage); + _vm->_graphicsManager._backColors->startFade(); + _vm->flipPageAndWaitForFade(); + + _vm->getComputerBrush(); + _vm->flipPageAndWait(); + _vm->doComputerText(e._computerOff); + + _vm->_bVoy->freeBoltGroup(0x4900); + _vm->_bVoy->freeBoltGroup(_vm->_playStampGroupId); + _vm->_playStampGroupId = -1; + } +} + } // End of namespace Voyeur diff --git a/engines/voyeur/data.h b/engines/voyeur/data.h index 03545adea3..4fadf5b29b 100644 --- a/engines/voyeur/data.h +++ b/engines/voyeur/data.h @@ -133,6 +133,8 @@ public: void addEvidEventEnd(int dead); void addComputerEventStart(); void addComputerEventEnd(int v); + void reviewAnEvidEvent(int eventIndex); + void reviewComputerEvent(int eventIndex); }; } // End of namespace Voyeur diff --git a/engines/voyeur/sound.cpp b/engines/voyeur/sound.cpp index bf6374fce3..73051211e0 100644 --- a/engines/voyeur/sound.cpp +++ b/engines/voyeur/sound.cpp @@ -83,4 +83,8 @@ int SoundManager::getVOCStatus() { return _mixer->isSoundHandleActive(_soundHandle); } +uint32 SoundManager::getVOCFrame() { + error("TODO: getVOCFrame"); +} + } // End of namespace Voyeur diff --git a/engines/voyeur/sound.h b/engines/voyeur/sound.h index a73bd4a753..729a7d9da1 100644 --- a/engines/voyeur/sound.h +++ b/engines/voyeur/sound.h @@ -50,6 +50,7 @@ public: void startVOCPlay(const Common::String &filename); void startVOCPlay(int soundId); int getVOCStatus(); + uint32 getVOCFrame(); }; } // End of namespace Voyeur diff --git a/engines/voyeur/voyeur.cpp b/engines/voyeur/voyeur.cpp index c70bb20f4b..b4e8f94d22 100644 --- a/engines/voyeur/voyeur.cpp +++ b/engines/voyeur/voyeur.cpp @@ -452,7 +452,6 @@ void VoyeurEngine::showTitleScreen() { } void VoyeurEngine::doOpening() { - /* _graphicsManager.screenReset(); if (!_bVoy->getBoltGroup(0x200, true)) @@ -461,8 +460,9 @@ void VoyeurEngine::doOpening() { byte *frameTable = _bVoy->memberAddr(0x215); byte *xyTable = _bVoy->memberAddr(0x216); byte *whTable = _bVoy->memberAddr(0x217); - int frmaeIndex = 0; + int frameIndex = 0; int creditShow = 1; + warning("TODO: %x %x %x %d %d", frameTable, xyTable, whTable, creditShow, frameIndex); _voy._vocSecondsOffset = 0; _voy._RTVNum = 0; @@ -472,7 +472,7 @@ void VoyeurEngine::doOpening() { _gameMinute = 0; _videoId = 1; _eventsManager._videoDead = -1; - _eventsManager.addVideoEventStart(); + _voy.addVideoEventStart(); _voy._field478 &= ~1; @@ -483,7 +483,7 @@ void VoyeurEngine::doOpening() { _eventsManager._intPtr._hasPalette = true; (*_graphicsManager._vPort)->setupViewPort(); flipPageAndWait(); - + /* ::Video::RL2Decoder decoder; decoder.loadFile("a2300100.rl2"); decoder.start(); @@ -504,16 +504,16 @@ void VoyeurEngine::doOpening() { _eventsManager.pollEvents(); g_system->delayMillis(10); } + */ if ((_voy._RTVNum - _voy._field468) < 2) _eventsManager.delay(60); _voy._field478 |= 1; - _eventsManager.addVideoEventEnd(); + _voy.addVideoEventEnd(); _voy._field478 &= 0x10; _bVoy->freeBoltGroup(0x200); - */ } void VoyeurEngine::playRL2Video(const Common::String &filename) { diff --git a/engines/voyeur/voyeur_game.cpp b/engines/voyeur/voyeur_game.cpp index 3178ccd087..d57f9a6732 100644 --- a/engines/voyeur/voyeur_game.cpp +++ b/engines/voyeur/voyeur_game.cpp @@ -415,10 +415,10 @@ void VoyeurEngine::doPiracy() { void VoyeurEngine::reviewTape() { // int var22 = 0; - int si = 0; + int eventStart = 0; int newX = -1; int newY = -1; - int var20 = 7; + int eventLine = 7; Common::Rect tempRect(58, 30, 58 + 223, 30 + 124); Common::Point pt; int evtIndex = 0; @@ -428,10 +428,10 @@ void VoyeurEngine::reviewTape() { PictureResource *cursor = _bVoy->boltEntry(0x903)._picResource; if ((_voy._eventCount - 8) != 0) - si = MAX(_voy._eventCount - 8, 0); + eventStart = MAX(_voy._eventCount - 8, 0); - if ((si + _voy._eventCount) <= 7) - var20 = si + _voy._eventCount - 1; + if ((eventStart + _voy._eventCount) <= 7) + eventLine = eventStart + _voy._eventCount - 1; _voy._viewBounds = _bVoy->boltEntry(0x907)._rectResource; Common::Array &hotspots = _bVoy->boltEntry(0x906)._rectResource->_entries; @@ -485,22 +485,20 @@ void VoyeurEngine::reviewTape() { _graphicsManager._drawPtr->_pos = Common::Point(tempRect.left, tempRect.top); _graphicsManager._backgroundPage->sFillBox(tempRect.width(), tempRect.height()); - newX = si; int yp = 45; - evtIndex = si; - for (int idx = 0; idx < 8 && evtIndex < _voy._eventCount; ++idx) { + evtIndex = eventStart; + for (int lineNum = 0; lineNum < 8 && evtIndex < _voy._eventCount; ++lineNum) { _graphicsManager._fontPtr->_picFlags = 0; _graphicsManager._fontPtr->_picSelect = 0xff; _graphicsManager._fontPtr->_picPick = 7; - _graphicsManager._fontPtr->_picOnOff = (idx == var20) ? 8 : 0; + _graphicsManager._fontPtr->_picOnOff = (lineNum == eventLine) ? 8 : 0; _graphicsManager._fontPtr->_pos = Common::Point(68, yp); _graphicsManager._fontPtr->_justify = ALIGN_LEFT; _graphicsManager._fontPtr->_justifyWidth = 0; _graphicsManager._fontPtr->_justifyHeight = 0; Common::String msg = _eventsManager.getEvidString(evtIndex); - // TODO: Does drawText need to work on picture resources? - ((ViewPortResource *)_graphicsManager._backgroundPage)->drawText(msg); + _graphicsManager._backgroundPage->drawText(msg); yp += 15; ++evtIndex; @@ -533,7 +531,7 @@ void VoyeurEngine::reviewTape() { if (tempPos.x >= 68 && tempPos.x <= 277 && tempPos.y >= 31 && tempPos.y <= 154) { tempPos.y -= 2; foundIndex = (tempPos.y - 31) / 15; - if ((tempPos.y - 31) % 15 >= 12 || (si + foundIndex) >= _voy._eventCount) { + if ((tempPos.y - 31) % 15 >= 12 || (eventStart + foundIndex) >= _voy._eventCount) { _eventsManager.setCursorColor(128, 0); foundIndex = 999; } else if (!_eventsManager._leftClick) { @@ -541,7 +539,7 @@ void VoyeurEngine::reviewTape() { foundIndex = 999; } else { _eventsManager.setCursorColor(128, 2); - var20 = foundIndex; + eventLine = foundIndex; flipPageAndWait(); @@ -549,22 +547,21 @@ void VoyeurEngine::reviewTape() { _graphicsManager._drawPtr->_pos = Common::Point(tempRect.left, tempRect.top); _graphicsManager._backgroundPage->sFillBox(tempRect.width(), tempRect.height()); - evtIndex = si; + evtIndex = eventStart; int yp = 45; for (int idx = 0; idx < 8 && evtIndex < _voy._eventCount; ++idx) { _graphicsManager._fontPtr->_picFlags = 0; _graphicsManager._fontPtr->_picSelect = 0xff; _graphicsManager._fontPtr->_picPick = 7; - _graphicsManager._fontPtr->_picOnOff = (idx == var20) ? 8 : 0; + _graphicsManager._fontPtr->_picOnOff = (idx == eventLine) ? 8 : 0; _graphicsManager._fontPtr->_pos = Common::Point(68, yp); _graphicsManager._fontPtr->_justify = ALIGN_LEFT; _graphicsManager._fontPtr->_justifyWidth = 0; _graphicsManager._fontPtr->_justifyHeight = 0; Common::String msg = _eventsManager.getEvidString(evtIndex); - // TODO: Does sFillBox need to work on picture resources? - ((ViewPortResource *)_graphicsManager._backgroundPage)->drawText(msg); + _graphicsManager._backgroundPage->drawText(msg); yp += 115; ++evtIndex; @@ -597,36 +594,36 @@ void VoyeurEngine::reviewTape() { if (_eventsManager._mouseClicked || _eventsManager._mouseUnk) { switch (foundIndex) { case 2: - if (si > 0) { - --si; + if (eventStart > 0) { + --eventStart; var1E = true; } foundIndex = -1; break; case 3: - if (si > 0) { - si -= 8; - if (si < 0) - si = 0; + if (eventStart > 0) { + eventStart -= 8; + if (eventStart < 0) + eventStart = 0; var1E = true; } foundIndex = -1; break; case 4: - if ((_voy._eventCount - 8) > si) { - ++si; + if ((_voy._eventCount - 8) > eventStart) { + ++eventStart; var1E = true; } foundIndex = -1; break; case 5: - if (_voy._eventCount >= 8 && (_voy._eventCount - 8) != si) { - si += 8; - if ((_voy._eventCount - 8) < si) - si = _voy._eventCount - 8; + if (_voy._eventCount >= 8 && (_voy._eventCount - 8) != eventStart) { + eventStart += 8; + if ((_voy._eventCount - 8) < eventStart) + eventStart = _voy._eventCount - 8; var1E = true; } foundIndex = -1; @@ -636,8 +633,8 @@ void VoyeurEngine::reviewTape() { break; } - while (var20 > 0 && (var20 + si) >= _voy._eventCount) - --var20; + while (eventLine > 0 && (eventLine + eventStart) >= _voy._eventCount) + --eventLine; } pt = _eventsManager.getMousePos(); @@ -653,16 +650,88 @@ void VoyeurEngine::reviewTape() { } while (!shouldQuit() && (!_eventsManager._mouseClicked || foundIndex == -1)); + newY = _eventsManager.getMousePos().y; + _voy._field437E = 0; + _voy._viewBounds = nullptr; + (*_graphicsManager._vPort)->setupViewPort(NULL); + + if (_currentVocId != -1) { + _voy._vocSecondsOffset = _voy._RTVNum - _voy._field4AC; + _soundManager.stopVOCPlay(); + } + + // Break out if the exit button was pressed + if (!foundIndex) + break; + + int eventIndex = eventStart + eventLine; + VoyeurEvent &e = _voy._events[eventIndex]; + switch (e._type) { + case EVTYPE_VIDEO: + playAVideoEvent(eventIndex); + break; + + case EVTYPE_AUDIO: { + _videoId = e._videoId; + _voy._vocSecondsOffset = e._computerOn; + _graphicsManager._backgroundPage = _bVoy->boltEntry(0x7F00 + + BLIND_TABLE[_videoId])._picResource; + _graphicsManager._backColors = _bVoy->boltEntry(0x7F01 + + BLIND_TABLE[_videoId])._cMapResource; + + (*_graphicsManager._vPort)->setupViewPort(_graphicsManager._backgroundPage); + _graphicsManager._backColors->startFade(); + flipPageAndWaitForFade(); + + _eventsManager._intPtr.field1E = 1; + _eventsManager._intPtr.field1A = 0; + _voy._field478 &= ~1; + + // Play suond for the given duration + _soundManager.setVOCOffset(_voy._vocSecondsOffset * 11025); + _soundManager.startVOCPlay(_videoId + 159); + uint32 offFrame = e._computerOff; + + while (!_eventsManager._mouseClicked && _soundManager.getVOCStatus() && + _soundManager.getVOCFrame() < offFrame) { + _eventsManager.getMouseInfo(); + _eventsManager.delay(10); + } + + _voy._field478 |= 1; + _soundManager.stopVOCPlay(); + _bVoy->freeBoltGroup(0x7F00); + break; + } + + case EVTYPE_EVID: + _bVoy->freeBoltGroup(0x900); + _voy.reviewAnEvidEvent(evtIndex); + + _voy._vocSecondsOffset = _voy._RTVNum - _voy._field4AC; + _soundManager.stopVOCPlay(); + _bVoy->getBoltGroup(0x900); + break; + case EVTYPE_COMPUTER: + _bVoy->freeBoltGroup(0x900); + _voy.reviewComputerEvent(evtIndex); + + _voy._vocSecondsOffset = _voy._RTVNum - _voy._field4AC; + _soundManager.stopVOCPlay(); + _bVoy->getBoltGroup(0x900); + break; - warning("TODO"); + default: + break; + } } _graphicsManager._fontPtr->_curFont = _bVoy->boltEntry(0x101)._fontResource; - _bVoy->freeBoltGroup(0x900); (*_graphicsManager._vPort)->fillPic(0); flipPageAndWait(); + _bVoy->freeBoltGroup(0x900); } void VoyeurEngine::doGossip() { @@ -835,6 +904,21 @@ void VoyeurEngine::playAVideoEvent(int eventIndex) { _voy._field478 &= ~1; playAVideoDuration(_videoId, evt._computerOff); + + _voy._field478 |= 1; + if (_eventsManager._videoDead != -1) { + _bVoy->freeBoltGroup(0xE00); + _eventsManager._videoDead = -1; + flipPageAndWait(); + _eventsManager._videoDead = -1; + } + + _videoId = -1; + if (_eventsManager._videoDead != -1) { + _bVoy->freeBoltGroup(0xE00); + _eventsManager._videoDead = -1; + flipPageAndWait(); + } } int VoyeurEngine::getChooseButton() { -- cgit v1.2.3 From 7f236696c960493469669ac0c02cab324ad2dd64 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Sat, 18 Jan 2014 17:57:40 -0500 Subject: VOYEUR: Minor fixes to reviewTape --- engines/voyeur/events.cpp | 1 + engines/voyeur/voyeur_game.cpp | 6 +++--- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/engines/voyeur/events.cpp b/engines/voyeur/events.cpp index deaa978a46..d79b6a0fed 100644 --- a/engines/voyeur/events.cpp +++ b/engines/voyeur/events.cpp @@ -72,6 +72,7 @@ EventsManager::EventsManager(): _intPtr(_gameData), _mouseButton = 0; _fadeStatus = 0; _priorFrameTime = g_system->getMillis(); + _gameCounter = 0; _joe = 0; Common::fill(&_keyState[0], &_keyState[256], false); Common::fill(&_cycleTime[0], &_cycleTime[4], 0); diff --git a/engines/voyeur/voyeur_game.cpp b/engines/voyeur/voyeur_game.cpp index d57f9a6732..fe53e26252 100644 --- a/engines/voyeur/voyeur_game.cpp +++ b/engines/voyeur/voyeur_game.cpp @@ -433,11 +433,11 @@ void VoyeurEngine::reviewTape() { if ((eventStart + _voy._eventCount) <= 7) eventLine = eventStart + _voy._eventCount - 1; - _voy._viewBounds = _bVoy->boltEntry(0x907)._rectResource; - Common::Array &hotspots = _bVoy->boltEntry(0x906)._rectResource->_entries; - bool breakFlag = false; while (!shouldQuit() && !breakFlag) { + _voy._viewBounds = _bVoy->boltEntry(0x907)._rectResource; + Common::Array &hotspots = _bVoy->boltEntry(0x906)._rectResource->_entries; + _graphicsManager._backColors = _bVoy->boltEntry(0x902)._cMapResource; _graphicsManager._backgroundPage = _bVoy->boltEntry(0x901)._picResource; (*_graphicsManager._vPort)->setupViewPort(_graphicsManager._backgroundPage); -- cgit v1.2.3 From 00873d3124bb2011dda6bfc177ad38585ca9cebf Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Sat, 18 Jan 2014 23:47:04 -0500 Subject: VOYEUR: Fix for phone message playing every time apartment was shown --- engines/voyeur/files.h | 5 +++-- engines/voyeur/files_threads.cpp | 22 ++++++++++++---------- engines/voyeur/voyeur.cpp | 2 +- 3 files changed, 16 insertions(+), 13 deletions(-) diff --git a/engines/voyeur/files.h b/engines/voyeur/files.h index 6cc747d9a1..0b98a34447 100644 --- a/engines/voyeur/files.h +++ b/engines/voyeur/files.h @@ -485,6 +485,9 @@ public: static void unloadAllStacks(VoyeurEngine *vm); static void init(); +private: + VoyeurEngine *_vm; + Common::Point _aptPos; private: bool getStateInfo(); byte *getDataOffset(); @@ -523,8 +526,6 @@ private: */ bool checkMansionScroll(); public: - VoyeurEngine *_vm; - int _threadId; int _controlIndex; int _field4, _field6; diff --git a/engines/voyeur/files_threads.cpp b/engines/voyeur/files_threads.cpp index 850e6dfa06..58ce373b75 100644 --- a/engines/voyeur/files_threads.cpp +++ b/engines/voyeur/files_threads.cpp @@ -41,6 +41,7 @@ ThreadResource::ThreadResource(BoltFilesState &state, const byte *src): _vm(state._vm) { _flags = src[8]; _ctlPtr = nullptr; + _aptPos = Common::Point(-1, -1); } void ThreadResource::initThreadStruct(int idx, int id) { @@ -1023,27 +1024,27 @@ bool ThreadResource::cardPerform2(const byte *pSrc, int cardCmdId) { int ThreadResource::doApt() { loadTheApt(); - Common::Point aptPos(-1, -1); _vm->_currentVocId = 151; _vm->_voy._viewBounds = _vm->_bVoy->boltEntry(_vm->_playStampGroupId)._rectResource; Common::Array &hotspots = _vm->_bVoy->boltEntry( _vm->_playStampGroupId + 1)._rectResource->_entries; _vm->_eventsManager.getMouseInfo(); - if (aptPos.x == -1) { - aptPos.x = hotspots[2].left; - aptPos.y = hotspots[2].top; + // Very first time apartment is shown, start the phone message + if (_aptPos.x == -1) { + _aptPos.x = hotspots[2].left; + _aptPos.y = hotspots[2].top; _vm->_currentVocId = 153; } if (_vm->_voy._field470 == 16) { hotspots[0].left = 999; hotspots[3].left = 999; - aptPos.x = hotspots[4].left + 28; - aptPos.y = hotspots[4].top + 28; + _aptPos.x = hotspots[4].left + 28; + _aptPos.y = hotspots[4].top + 28; } - _vm->_eventsManager.setMousePos(Common::Point(aptPos.x, aptPos.y)); + _vm->_eventsManager.setMousePos(Common::Point(_aptPos.x, _aptPos.y)); _vm->_soundManager.startVOCPlay(_vm->_soundManager.getVOCFileName(_vm->_currentVocId)); _vm->_currentVocId = 151; @@ -1112,8 +1113,8 @@ int ThreadResource::doApt() { } while (!_vm->shouldQuit() && (!_vm->_eventsManager._leftClick || hotspotId == -1)); pt = _vm->_eventsManager.getMousePos(); - aptPos.x = pt.x; - aptPos.y = pt.y; + _aptPos.x = pt.x; + _aptPos.y = pt.y; switch (hotspotId) { case 0: @@ -1770,7 +1771,8 @@ void ThreadResource::doAptAnim(int mode) { } void ThreadResource::synchronize(Common::Serializer &s) { - warning("TODO: ThreadResource::synchronize"); + s.syncAsSint16LE(_aptPos.x); + s.syncAsSint16LE(_aptPos.y); } } // End of namespace Voyeur diff --git a/engines/voyeur/voyeur.cpp b/engines/voyeur/voyeur.cpp index b4e8f94d22..889b6fdeaa 100644 --- a/engines/voyeur/voyeur.cpp +++ b/engines/voyeur/voyeur.cpp @@ -682,7 +682,7 @@ Common::Error VoyeurEngine::loadGameState(int slot) { void VoyeurEngine::loadGame(int slot) { // Open up the save file - Common::InSaveFile *saveFile = g_system->getSavefileManager()->openForLoading(g_vm->generateSaveName(slot)); + Common::InSaveFile *saveFile = g_system->getSavefileManager()->openForLoading(generateSaveName(slot)); if (!saveFile) return; -- cgit v1.2.3 From f49a0e3a06822a0cc77d73f3cbd62de86dddca2d Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Sun, 19 Jan 2014 21:58:55 -0500 Subject: VOYEUR: Some fixes for savegame loading --- engines/voyeur/data.cpp | 7 ++++++- engines/voyeur/data.h | 2 +- engines/voyeur/files_threads.cpp | 40 ++++++++++++++++++++-------------------- engines/voyeur/voyeur.cpp | 9 +++++++-- engines/voyeur/voyeur_game.cpp | 8 ++++---- 5 files changed, 38 insertions(+), 28 deletions(-) diff --git a/engines/voyeur/data.cpp b/engines/voyeur/data.cpp index 1e40ff7096..77e33371b0 100644 --- a/engines/voyeur/data.cpp +++ b/engines/voyeur/data.cpp @@ -88,7 +88,12 @@ void SVoy::synchronize(Common::Serializer &s) { s.syncAsSint16LE(_vocSecondsOffset); s.syncAsSint16LE(_field46E); s.syncAsSint16LE(_field470); - s.syncAsSint16LE(_field472); + + s.syncAsSint16LE(_aptLoadMode); + if (s.isLoading()) + // Reset apartment loading mode to initial game value + _aptLoadMode = 140; + s.syncAsSint16LE(_transitionId); s.syncAsSint16LE(_RTVLimit); s.syncAsSint16LE(_field478); diff --git a/engines/voyeur/data.h b/engines/voyeur/data.h index 4fadf5b29b..53c6ebebbb 100644 --- a/engines/voyeur/data.h +++ b/engines/voyeur/data.h @@ -70,7 +70,7 @@ public: int _vocSecondsOffset; bool _field46E; int _field470; - int _field472; + int _aptLoadMode; int _transitionId; int _RTVLimit; int _field478; diff --git a/engines/voyeur/files_threads.cpp b/engines/voyeur/files_threads.cpp index 58ce373b75..fac44c7fbc 100644 --- a/engines/voyeur/files_threads.cpp +++ b/engines/voyeur/files_threads.cpp @@ -734,31 +734,31 @@ void ThreadResource::parsePlayCommands() { break; case 19: - _vm->_voy._field472 = 140; + _vm->_voy._aptLoadMode = 140; loadTheApt(); - _vm->_voy._field472 = 141; + _vm->_voy._aptLoadMode = 141; freeTheApt(); break; case 20: - _vm->_voy._field472 = -1; + _vm->_voy._aptLoadMode = -1; loadTheApt(); - _vm->_voy._field472 = 141; + _vm->_voy._aptLoadMode = 141; freeTheApt(); break; case 21: - _vm->_voy._field472 = -1; + _vm->_voy._aptLoadMode = -1; loadTheApt(); - _vm->_voy._field472 = 140; + _vm->_voy._aptLoadMode = 140; freeTheApt(); break; case 23: _vm->_voy._transitionId = 17; - _vm->_voy._field472 = -1; + _vm->_voy._aptLoadMode = -1; loadTheApt(); - _vm->_voy._field472 = 144; + _vm->_voy._aptLoadMode = 144; freeTheApt(); break; @@ -1118,18 +1118,18 @@ int ThreadResource::doApt() { switch (hotspotId) { case 0: - _vm->_voy._field472 = 140; + _vm->_voy._aptLoadMode = 140; break; case 1: - _vm->_voy._field472 = 143; + _vm->_voy._aptLoadMode = 143; break; case 2: - _vm->_voy._field472 = 142; + _vm->_voy._aptLoadMode = 142; case 5: - _vm->_voy._field472 = 141; + _vm->_voy._aptLoadMode = 141; break; default: - _vm->_voy._field472 = -1; + _vm->_voy._aptLoadMode = -1; break; } @@ -1650,13 +1650,13 @@ void ThreadResource::loadTheApt() { break; } - if (_vm->_voy._field472 == 143) - _vm->_voy._field472 = -1; + if (_vm->_voy._aptLoadMode == 143) + _vm->_voy._aptLoadMode = -1; - if (_vm->_voy._field472 != -1) { + if (_vm->_voy._aptLoadMode != -1) { doAptAnim(1); _vm->_bVoy->getBoltGroup(_vm->_playStampGroupId); - _vm->_voy._field472 = -1; + _vm->_voy._aptLoadMode = -1; _vm->_graphicsManager._backgroundPage = _vm->_bVoy->boltEntry( _vm->_playStampGroupId + 5)._picResource; (*_vm->_graphicsManager._vPort)->setupViewPort( @@ -1686,13 +1686,13 @@ void ThreadResource::freeTheApt() { _vm->_currentVocId = -1; } - if (_vm->_voy._field472 == -1) { + if (_vm->_voy._aptLoadMode == -1) { _vm->_graphicsManager.fadeDownICF(6); } else { doAptAnim(2); } - if (_vm->_voy._field472 == 140) { + if (_vm->_voy._aptLoadMode == 140) { _vm->_graphicsManager.screenReset(); _vm->_graphicsManager.resetPalette(); } @@ -1708,7 +1708,7 @@ void ThreadResource::doAptAnim(int mode) { // Figure out the resource to use int id = 0; - switch (_vm->_voy._field472) { + switch (_vm->_voy._aptLoadMode) { case 140: id = 0x5A00; break; diff --git a/engines/voyeur/voyeur.cpp b/engines/voyeur/voyeur.cpp index 889b6fdeaa..06617be585 100644 --- a/engines/voyeur/voyeur.cpp +++ b/engines/voyeur/voyeur.cpp @@ -123,7 +123,7 @@ void VoyeurEngine::globalInitBolt() { _voy._field478 = 1; _voy._field4376 = _voy._field4378 = 127; _voy._field4F2 = 9999; - _voy._field472 = -1; + _voy._aptLoadMode = -1; _voy._field478 = 256; _voy._curICF0 = _graphicsManager._palFlag ? 0xFFFFA5E0 : 0x5F90; @@ -204,7 +204,7 @@ bool VoyeurEngine::doHeadTitle() { } } - _voy._field472 = 140; + _voy._aptLoadMode = 140; return true; } @@ -687,8 +687,13 @@ void VoyeurEngine::loadGame(int slot) { return; Common::Serializer serializer(saveFile, NULL); + + // Store the current time index before the game is loaded _checkTransitionId = _voy._transitionId; + // Stop any playing sound + _soundManager.stopVOCPlay(); + // Read in the savegame header VoyeurSavegameHeader header; if (!header.read(saveFile)) diff --git a/engines/voyeur/voyeur_game.cpp b/engines/voyeur/voyeur_game.cpp index fe53e26252..9863695e54 100644 --- a/engines/voyeur/voyeur_game.cpp +++ b/engines/voyeur/voyeur_game.cpp @@ -62,19 +62,19 @@ void VoyeurEngine::playStamp() { if (buttonId == -2) { switch (_mainThread->doApt()) { case 0: - _voy._field472 = 140; + _voy._aptLoadMode = 140; break; case 1: _voy._field478 &= ~1; _voy._field46E = true; _mainThread->chooseSTAMPButton(22); - _voy._field472 = 143; + _voy._aptLoadMode = 143; break; case 2: _voy._field478 &= ~1; reviewTape(); _voy._field46E = true; - _voy._field472 = 142; + _voy._aptLoadMode = 142; break; case 3: _voy._field478 &= ~1; @@ -86,7 +86,7 @@ void VoyeurEngine::playStamp() { case 5: doGossip(); _voy._field46E = true; - _voy._field472 = 141; + _voy._aptLoadMode = 141; _voy._field478 &= ~0x100; break; default: -- cgit v1.2.3 From 758e35e79bf1c2a70bc0b17b06573e5a776285a2 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Sun, 19 Jan 2014 22:46:33 -0500 Subject: VOYEUR: Further savegame loading fixes --- engines/voyeur/data.cpp | 11 ++++++----- engines/voyeur/voyeur.cpp | 2 -- 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/engines/voyeur/data.cpp b/engines/voyeur/data.cpp index 77e33371b0..3227e3cd45 100644 --- a/engines/voyeur/data.cpp +++ b/engines/voyeur/data.cpp @@ -88,12 +88,7 @@ void SVoy::synchronize(Common::Serializer &s) { s.syncAsSint16LE(_vocSecondsOffset); s.syncAsSint16LE(_field46E); s.syncAsSint16LE(_field470); - s.syncAsSint16LE(_aptLoadMode); - if (s.isLoading()) - // Reset apartment loading mode to initial game value - _aptLoadMode = 140; - s.syncAsSint16LE(_transitionId); s.syncAsSint16LE(_RTVLimit); s.syncAsSint16LE(_field478); @@ -120,6 +115,12 @@ void SVoy::synchronize(Common::Serializer &s) { s.syncAsSint16LE(_field4380); s.syncAsSint16LE(_field4382); s.syncAsSint16LE(_videoEventId); + + if (s.isLoading()) { + // Reset apartment loading mode to initial game value + _aptLoadMode = 140; + _viewBounds = nullptr; + } } void SVoy::addVideoEventStart() { diff --git a/engines/voyeur/voyeur.cpp b/engines/voyeur/voyeur.cpp index 06617be585..d5de47d34a 100644 --- a/engines/voyeur/voyeur.cpp +++ b/engines/voyeur/voyeur.cpp @@ -702,7 +702,6 @@ void VoyeurEngine::loadGame(int slot) { header._thumbnail->free(); delete header._thumbnail; - serializer.syncVersion(header._version); synchronize(serializer); delete saveFile; @@ -749,7 +748,6 @@ void VoyeurEngine::synchronize(Common::Serializer &s) { s.syncAsSint16LE(_videoId); s.syncAsSint16LE(_iForceDeath); - s.syncAsSint16LE(_checkTransitionId); s.syncAsSint16LE(_gameHour); s.syncAsSint16LE(_gameMinute); s.syncAsSint16LE(_flashTimeVal); -- cgit v1.2.3 From 0e68c9ac5985e640be1ada6ce8c11ee0b9f6c57e Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Sun, 19 Jan 2014 23:00:18 -0500 Subject: VOYEUR: Fix for SVoy data initialization --- engines/voyeur/data.cpp | 5 +++++ engines/voyeur/data.h | 1 + engines/voyeur/voyeur.cpp | 1 - 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/engines/voyeur/data.cpp b/engines/voyeur/data.cpp index 3227e3cd45..9104d5f560 100644 --- a/engines/voyeur/data.cpp +++ b/engines/voyeur/data.cpp @@ -38,6 +38,11 @@ void VoyeurEvent::synchronize(Common::Serializer &s) { /*------------------------------------------------------------------------*/ +SVoy::SVoy() { + // Initialise all the data fields of SVoy to empty values + Common::fill((byte *)this, (byte *)this + sizeof(SVoy), 0); +} + void SVoy::setVm(VoyeurEngine *vm) { _vm = vm; } diff --git a/engines/voyeur/data.h b/engines/voyeur/data.h index 53c6ebebbb..e33c3c7b2b 100644 --- a/engines/voyeur/data.h +++ b/engines/voyeur/data.h @@ -112,6 +112,7 @@ public: int _fadeICF0; int _policeEvent; public: + SVoy(); void setVm(VoyeurEngine *vm); /** diff --git a/engines/voyeur/voyeur.cpp b/engines/voyeur/voyeur.cpp index d5de47d34a..72f568ba82 100644 --- a/engines/voyeur/voyeur.cpp +++ b/engines/voyeur/voyeur.cpp @@ -119,7 +119,6 @@ void VoyeurEngine::globalInitBolt() { assert(_graphicsManager._fontPtr->_curFont); // Setup default flags - Common::fill((byte *)&_voy, (byte *)&_voy + sizeof(SVoy), 0); _voy._field478 = 1; _voy._field4376 = _voy._field4378 = 127; _voy._field4F2 = 9999; -- cgit v1.2.3 From a662be53699ee7b8ee91fde4682986b95063ba90 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Mon, 20 Jan 2014 17:11:23 -0500 Subject: VOYEUR: Fix palette issues in first half of doGossip --- engines/voyeur/animation.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/engines/voyeur/animation.cpp b/engines/voyeur/animation.cpp index 0d4d842fab..3278e4f8fa 100644 --- a/engines/voyeur/animation.cpp +++ b/engines/voyeur/animation.cpp @@ -439,7 +439,7 @@ void VoyeurRL2Decoder::play(VoyeurEngine *vm, int resourceOffset, byte *frames, while (!vm->shouldQuit() && !endOfVideo() && !vm->_eventsManager._mouseClicked) { if (hasDirtyPalette()) { const byte *palette = getPalette(); - vm->_graphicsManager.setPalette(palette, 128, 128); + vm->_graphicsManager.setPalette(palette + 3, 129, 127); } if (needsUpdate()) { -- cgit v1.2.3 From 3fc2a80be61717e4a40bdd9f7623ecb6d70293d7 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Mon, 20 Jan 2014 18:31:50 -0500 Subject: VOYEUR: Fix palette issues in second half of doGossip --- engines/voyeur/animation.cpp | 16 ++++++++++++++-- engines/voyeur/animation.h | 3 +++ engines/voyeur/graphics.cpp | 8 ++++++++ engines/voyeur/graphics.h | 1 + engines/voyeur/voyeur_game.cpp | 8 ++++++-- 5 files changed, 32 insertions(+), 4 deletions(-) diff --git a/engines/voyeur/animation.cpp b/engines/voyeur/animation.cpp index 3278e4f8fa..7c0d21a74f 100644 --- a/engines/voyeur/animation.cpp +++ b/engines/voyeur/animation.cpp @@ -32,6 +32,7 @@ namespace Video { RL2Decoder::RL2Decoder(Audio::Mixer::SoundType soundType) : _soundType(soundType) { + _paletteStart = 0; } RL2Decoder::~RL2Decoder() { @@ -44,11 +45,18 @@ bool RL2Decoder::loadVideo(int videoId) { return loadFile(filename); } +bool RL2Decoder::loadFile(const Common::String &file, bool palFlag) { + bool result = VideoDecoder::loadFile(file); + _paletteStart = palFlag ? 0 : 128; + return result; +} + bool RL2Decoder::loadStream(Common::SeekableReadStream *stream) { close(); // Load basic file information _header.load(stream); + _paletteStart = 0; // Check RL2 magic number if (!_header.isValid()) { @@ -431,15 +439,19 @@ Audio::QueuingAudioStream *RL2Decoder::RL2AudioTrack::createAudioStream() { namespace Voyeur { -void VoyeurRL2Decoder::play(VoyeurEngine *vm, int resourceOffset, byte *frames, byte *imgPos) { +void VoyeurRL2Decoder::play(VoyeurEngine *vm, int resourceOffset, + byte *frames, byte *imgPos) { vm->flipPageAndWait(); + int paletteStart = getPaletteStart(); + int paletteCount = getPaletteCount(); PictureResource videoFrame(getVideoTrack()->getBackSurface()); int picCtr = 0; while (!vm->shouldQuit() && !endOfVideo() && !vm->_eventsManager._mouseClicked) { if (hasDirtyPalette()) { const byte *palette = getPalette(); - vm->_graphicsManager.setPalette(palette + 3, 129, 127); + + vm->_graphicsManager.setPalette128(palette, paletteStart, paletteCount); } if (needsUpdate()) { diff --git a/engines/voyeur/animation.h b/engines/voyeur/animation.h index b1648887ab..d5e1f9fd6f 100644 --- a/engines/voyeur/animation.h +++ b/engines/voyeur/animation.h @@ -146,17 +146,20 @@ private: private: Audio::Mixer::SoundType _soundType; RL2FileHeader _header; + int _paletteStart; public: RL2Decoder(Audio::Mixer::SoundType soundType = Audio::Mixer::kPlainSoundType); virtual ~RL2Decoder(); bool loadStream(Common::SeekableReadStream *stream); + bool loadFile(const Common::String &file, bool palFlag = false); bool loadVideo(int videoId); const Common::List *getDirtyRects() const; void clearDirtyRects(); void copyDirtyRectsToBuffer(uint8 *dst, uint pitch); RL2VideoTrack *getVideoTrack(); + int getPaletteStart() const { return _paletteStart; } int getPaletteCount() const { return _header._colorCount; } }; diff --git a/engines/voyeur/graphics.cpp b/engines/voyeur/graphics.cpp index 4dd4c67b0f..bea322717d 100644 --- a/engines/voyeur/graphics.cpp +++ b/engines/voyeur/graphics.cpp @@ -654,6 +654,14 @@ void GraphicsManager::setPalette(const byte *palette, int start, int count) { g_system->getPaletteManager()->setPalette(palette, start, count); } +void GraphicsManager::setPalette128(const byte *palette, int start, int count) { + byte rgb[3]; + g_system->getPaletteManager()->grabPalette(&rgb[0], 128, 1); + g_system->getPaletteManager()->setPalette(palette, start, count); + g_system->getPaletteManager()->setPalette(&rgb[0], 128, 1); +} + + void GraphicsManager::resetPalette() { for (int i = 0; i < 256; ++i) setColor(i, 0, 0, 0); diff --git a/engines/voyeur/graphics.h b/engines/voyeur/graphics.h index 6205499ea7..5ba08eda87 100644 --- a/engines/voyeur/graphics.h +++ b/engines/voyeur/graphics.h @@ -110,6 +110,7 @@ public: void flipPage(); void clearPalette(); void setPalette(const byte *palette, int start, int count); + void setPalette128(const byte *palette, int start, int count); void resetPalette(); void setColor(int idx, byte r, byte g, byte b); void setOneColor(int idx, byte r, byte g, byte b); diff --git a/engines/voyeur/voyeur_game.cpp b/engines/voyeur/voyeur_game.cpp index 9863695e54..030835c355 100644 --- a/engines/voyeur/voyeur_game.cpp +++ b/engines/voyeur/voyeur_game.cpp @@ -743,7 +743,7 @@ void VoyeurEngine::doGossip() { // Load the gossip animation VoyeurRL2Decoder decoder; - decoder.loadFile("a2050100.rl2"); + decoder.loadFile("a2050100.rl2", false); decoder.start(); // Get the resource data for the first gossip video @@ -762,8 +762,12 @@ void VoyeurEngine::doGossip() { // Play the initial gossip video decoder.play(this, 0x302, frameNumsP, posP); + // Reset the palette and clear the screen + _graphicsManager.resetPalette(); + _graphicsManager.screenReset(); + // Play interview video - decoder.loadFile("a2110100.rl2"); + decoder.loadFile("a2110100.rl2", true); decoder.start(); _eventsManager.getMouseInfo(); -- cgit v1.2.3 From b247d8d0a739232820b10d4cf625f2c4b68116ca Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Mon, 20 Jan 2014 22:59:13 -0500 Subject: VOYEUR: Fix for aborting out of sending someoneo the tape --- engines/voyeur/files_threads.cpp | 5 +++++ engines/voyeur/voyeur.h | 5 +++++ engines/voyeur/voyeur_game.cpp | 3 +-- 3 files changed, 11 insertions(+), 2 deletions(-) diff --git a/engines/voyeur/files_threads.cpp b/engines/voyeur/files_threads.cpp index fac44c7fbc..7cd5e6e624 100644 --- a/engines/voyeur/files_threads.cpp +++ b/engines/voyeur/files_threads.cpp @@ -39,6 +39,10 @@ void ThreadResource::init() { ThreadResource::ThreadResource(BoltFilesState &state, const byte *src): _vm(state._vm) { + _threadId = READ_LE_UINT16(&src[0]); + _controlIndex = READ_LE_UINT16(&src[0]); + _field4 = READ_LE_UINT16(&src[0]); + _field6 = READ_LE_UINT16(&src[0]); _flags = src[8]; _ctlPtr = nullptr; _aptPos = Common::Point(-1, -1); @@ -71,6 +75,7 @@ bool ThreadResource::loadAStack(int idx) { } _ctlPtr = _vm->_controlPtr->_entries[idx]; + _controlIndex = idx; return true; } diff --git a/engines/voyeur/voyeur.h b/engines/voyeur/voyeur.h index 33e924a26d..bdbf3c138e 100644 --- a/engines/voyeur/voyeur.h +++ b/engines/voyeur/voyeur.h @@ -138,6 +138,11 @@ private: bool checkForIncriminate(); void playAVideoEvent(int eventIndex); + + /** + * Shows the user a screen to select one of four characters to send the + * video tape to + */ int getChooseButton(); /** diff --git a/engines/voyeur/voyeur_game.cpp b/engines/voyeur/voyeur_game.cpp index 030835c355..e5239171ad 100644 --- a/engines/voyeur/voyeur_game.cpp +++ b/engines/voyeur/voyeur_game.cpp @@ -155,11 +155,10 @@ void VoyeurEngine::playStamp() { _playStampGroupId = -1; flag = true; - if (buttonId == 4) { + if (buttonId != 4) { _voy._field470 = 131; _eventsManager.checkForKey(); _mainThread->chooseSTAMPButton(buttonId); - flag = true; } else { _mainThread->chooseSTAMPButton(buttonId); _voy._field46E = true; -- cgit v1.2.3 From 3e12562654d1b94365c695bbf6585af63ad71a4c Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Tue, 21 Jan 2014 21:04:13 -0500 Subject: VOYEUR: Renaming of thread data pointers --- engines/voyeur/files.h | 12 ++++----- engines/voyeur/files_threads.cpp | 53 ++++++++++++++++++++-------------------- engines/voyeur/voyeur_game.cpp | 2 +- 3 files changed, 33 insertions(+), 34 deletions(-) diff --git a/engines/voyeur/files.h b/engines/voyeur/files.h index 0b98a34447..edc5ee5811 100644 --- a/engines/voyeur/files.h +++ b/engines/voyeur/files.h @@ -533,19 +533,19 @@ public: int _field9; int _fieldA[8]; int _field2A[8]; - int _field3A; - int _field3E; - int _field40; - int _field42; + int _newSceneId; + int _newStackId; + int _stateFlags; + int _stateCount; int _parseCount; uint32 _field46; - byte *_field4A; + byte *_threadInfoPtr; byte _buttonFlags[64]; const byte *_field8E[64]; byte _field18E[64]; const byte *_field1CE[48]; byte *_ctlPtr; - byte *_field28E; + byte *_playCommandsPtr; public: ThreadResource(BoltFilesState &state, const byte *src); virtual ~ThreadResource() {} diff --git a/engines/voyeur/files_threads.cpp b/engines/voyeur/files_threads.cpp index 7cd5e6e624..6ce772922b 100644 --- a/engines/voyeur/files_threads.cpp +++ b/engines/voyeur/files_threads.cpp @@ -53,8 +53,8 @@ void ThreadResource::initThreadStruct(int idx, int id) { if (loadAStack(idx)) { _field4 = _field6 = -1; _threadId = id; - _field3A = -1; - _field3E = -1; + _newSceneId = -1; + _newStackId = -1; doState(); } @@ -100,8 +100,8 @@ bool ThreadResource::doState() { _vm->_glGoStack = -1; performOpenCard(); - if (_field40 & 1) { - return chooseSTAMPButton(_vm->getRandomNumber(_field42 - 1)); + if (_stateFlags & 1) { + return chooseSTAMPButton(_vm->getRandomNumber(_stateCount - 1)); } else { return true; } @@ -121,14 +121,14 @@ bool ThreadResource::getStateInfo() { fld = READ_LE_UINT32(_ctlPtr + fld); byte *baseP = _ctlPtr + fld; - _field42 = READ_LE_UINT16(baseP); - _field40 = READ_LE_UINT16(baseP + 2); + _stateCount = READ_LE_UINT16(baseP); + _stateFlags = READ_LE_UINT16(baseP + 2); _parseCount = READ_LE_UINT16(baseP + 4); - _field28E = getDataOffset(); - _field28E += (READ_LE_UINT32(baseP + 6) / 2) << 1; + _playCommandsPtr = getDataOffset(); + _playCommandsPtr += (READ_LE_UINT32(baseP + 6) / 2) << 1; - _field4A = baseP + 10; + _threadInfoPtr = baseP + 10; getButtonsText(); return true; @@ -144,7 +144,7 @@ byte *ThreadResource::getDataOffset() { void ThreadResource::getButtonsText() { int idx = 0; - for (const byte *p = _field4A; *p != 0x49; p = getNextRecord(p)) { + for (const byte *p = _threadInfoPtr; *p != 0x49; p = getNextRecord(p)) { if (*p == 0xC0) { ++p; if (*p++ & 0x80) { @@ -162,10 +162,10 @@ void ThreadResource::getButtonsText() { void ThreadResource::getButtonsFlags() { int idx = 0; - for (const byte *p = _field4A; *p != 0x49; p = getNextRecord(p)) { + for (const byte *p = _threadInfoPtr; *p != 0x49; p = getNextRecord(p)) { if (*p == 0xC0) { if (*++p & 0x20) - _field40 |= 2; + _stateFlags |= 2; _buttonFlags[idx] = *p++; _field18E[idx] = *p++; @@ -181,7 +181,7 @@ void ThreadResource::getButtonsFlags() { void ThreadResource::getField1CE() { int idx = 0; - for (const byte *p = _field4A; *p++ != 0x49; p = getNextRecord(p)) { + for (const byte *p = _threadInfoPtr; *p++ != 0x49; p = getNextRecord(p)) { assert(idx < 47); _field1CE[idx++] = getRecordOffset(p); _field1CE[idx] = NULL; @@ -199,7 +199,7 @@ void ThreadResource::unloadAllStacks(VoyeurEngine *vm) { } void ThreadResource::performOpenCard() { - for (const byte *p = _field4A; *p != 0x49; p = getNextRecord(p)) { + for (const byte *p = _threadInfoPtr; *p != 0x49; p = getNextRecord(p)) { if (*p == 0x47) { cardAction(p + 1); return; @@ -265,7 +265,7 @@ const byte *ThreadResource::getSTAMPCard(int cardId) { const byte *p; int count = 0; - for (p = _field4A; count <= cardId && *p != 0x49; p = getNextRecord(p)) { + for (p = _threadInfoPtr; count <= cardId && *p != 0x49; p = getNextRecord(p)) { if (*p == 0xC0) ++count; } @@ -291,7 +291,7 @@ uint32 ThreadResource::getSID(int sid) { } void ThreadResource::doSTAMPCardAction() { - for (const byte *p = _field4A; *p != 0x49; p = getNextRecord(p)) { + for (const byte *p = _threadInfoPtr; *p != 0x49; p = getNextRecord(p)) { if (*p == 0x48) { cardAction(p + 1); return; @@ -312,7 +312,7 @@ void ThreadResource::cardAction(const byte *card) { bool ThreadResource::chooseSTAMPButton(int buttonId) { _flags &= ~1; - for (int idx = 0; idx < _field42; ++idx) { + for (int idx = 0; idx < _stateCount; ++idx) { if (_field18E[idx] == buttonId) { const byte *card = getSTAMPCard(idx); cardAction(card); @@ -352,7 +352,7 @@ void ThreadResource::parsePlayCommands() { Common::fill(&_vm->_voy._arr6[0][0], &_vm->_voy._arr6[3][20], 0); Common::fill(&_vm->_voy._arr7[0], &_vm->_voy._arr7[20], 0); - byte *dataP = _field28E; + byte *dataP = _playCommandsPtr; int v2, v3; PictureResource *pic; CMapResource *pal; @@ -456,7 +456,7 @@ void ThreadResource::parsePlayCommands() { } _vm->_eventsManager._videoDead = -1; - if (_field42 == 2 && _vm->_eventsManager._mouseClicked == 0) { + if (_stateCount == 2 && _vm->_eventsManager._mouseClicked == 0) { _vm->_voy._field470 = 132; parseIndex = 999; } else { @@ -953,15 +953,15 @@ const byte *ThreadResource::cardPerform(const byte *card) { card += 2; case 45: - _field3A = _field46; - _field3E = _controlIndex; + _newSceneId = _field46; + _newStackId = _controlIndex; break; case 46: - _vm->_glGoScene = _field3A; - _vm->_glGoStack = _field3E; - _field3A = -1; - _field3E = -1; + _vm->_glGoScene = _newSceneId; + _vm->_glGoStack = _newStackId; + _newSceneId = -1; + _newStackId = -1; break; case 51: @@ -1257,8 +1257,7 @@ void ThreadResource::doRoom() { _vm->flipPageAndWait(); if (vm._currentVocId != -1) { - voy._vocSecondsOffset = voy._RTVNum - - voy._field4AC; + voy._vocSecondsOffset = voy._RTVNum - voy._field4AC; vm._soundManager.stopVOCPlay(); } diff --git a/engines/voyeur/voyeur_game.cpp b/engines/voyeur/voyeur_game.cpp index e5239171ad..95c6deb1e7 100644 --- a/engines/voyeur/voyeur_game.cpp +++ b/engines/voyeur/voyeur_game.cpp @@ -193,7 +193,7 @@ void VoyeurEngine::playStamp() { // Break out of loop flag = false; - } else if (_mainThread->_field40 & 2) { + } else if (_mainThread->_stateFlags & 2) { _eventsManager.getMouseInfo(); _mainThread->chooseSTAMPButton(0); flag = true; -- cgit v1.2.3 From 0f9cfc373f8d6e0097a9558abed25be8dcd938fc Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Sat, 25 Jan 2014 14:31:06 -0500 Subject: VOYEUR: Refactored RL2 decoder to better load audio on the fly --- engines/voyeur/animation.cpp | 98 ++++++++++++++++++++++++++++---------------- engines/voyeur/animation.h | 34 ++++++++++----- 2 files changed, 86 insertions(+), 46 deletions(-) diff --git a/engines/voyeur/animation.cpp b/engines/voyeur/animation.cpp index 7c0d21a74f..af4c989bb3 100644 --- a/engines/voyeur/animation.cpp +++ b/engines/voyeur/animation.cpp @@ -31,8 +31,13 @@ namespace Video { +// Number of audio frames to keep audio track topped up when playing back video +#define SOUND_FRAMES_READAHEAD 3 + RL2Decoder::RL2Decoder(Audio::Mixer::SoundType soundType) : _soundType(soundType) { _paletteStart = 0; + _fileStream = nullptr; + _soundFrameNumber = -1; } RL2Decoder::~RL2Decoder() { @@ -55,6 +60,7 @@ bool RL2Decoder::loadStream(Common::SeekableReadStream *stream) { close(); // Load basic file information + _fileStream = stream; _header.load(stream); _paletteStart = 0; @@ -74,6 +80,15 @@ bool RL2Decoder::loadStream(Common::SeekableReadStream *stream) { // Create a video track addTrack(new RL2VideoTrack(_header, audioTrack, stream)); + // Load the offset/sizes of the video's audio data + //_soundFrames.reserve(header._numFrames); + for (int frameNumber = 0; frameNumber < _header._numFrames; ++frameNumber) { + int offset = _header._frameOffsets[frameNumber]; + int size = _header._frameSoundSizes[frameNumber]; + + _soundFrames.push_back(SoundFrame(offset, size)); + } + return true; } @@ -107,6 +122,43 @@ RL2Decoder::RL2VideoTrack *RL2Decoder::getVideoTrack() { return (RL2VideoTrack *)track; } +RL2Decoder::RL2AudioTrack *RL2Decoder::getAudioTrack() { + Track *track = getTrack(0); + assert(track); + + return (RL2AudioTrack *)track; +} + +void RL2Decoder::readNextPacket() { + int frameNumber = getCurFrame(); + RL2AudioTrack *audioTrack = getAudioTrack(); + + // Handle queueing sound data + if (_soundFrameNumber == -1) + _soundFrameNumber = frameNumber; + + while (audioTrack->numQueuedStreams() < SOUND_FRAMES_READAHEAD && + (_soundFrameNumber < (int)_soundFrames.size())) { + _fileStream->seek(_soundFrames[_soundFrameNumber]._offset); + audioTrack->queueSound(_fileStream, _soundFrames[_soundFrameNumber]._size); + ++_soundFrameNumber; + } +} + +void RL2Decoder::close() { + VideoDecoder::close(); + delete _fileStream; + _fileStream = nullptr; + _soundFrameNumber = -1; +} + +/*------------------------------------------------------------------------*/ + +RL2Decoder::SoundFrame::SoundFrame(int offset, int size) { + _offset = offset; + _size = size; +} + /*------------------------------------------------------------------------*/ RL2Decoder::RL2FileHeader::RL2FileHeader() { @@ -173,6 +225,7 @@ RL2Decoder::RL2VideoTrack::RL2VideoTrack(const RL2FileHeader &header, RL2AudioTr int fps = (header._soundRate > 0) ? header._rate / header._defSoundSize : 11025 / 1103; _frameDelay = 1000 / fps; + // Set up surfaces _surface = new Graphics::Surface(); _surface->create(320, 200, Graphics::PixelFormat::createFormatCLUT8()); @@ -190,9 +243,6 @@ RL2Decoder::RL2VideoTrack::RL2VideoTrack(const RL2FileHeader &header, RL2AudioTr } RL2Decoder::RL2VideoTrack::~RL2VideoTrack() { - // Free the file stream - delete _fileStream; - // Free surfaces _surface->free(); delete _surface; @@ -386,22 +436,8 @@ Graphics::Surface *RL2Decoder::RL2VideoTrack::getBackSurface() { RL2Decoder::RL2AudioTrack::RL2AudioTrack(const RL2FileHeader &header, Common::SeekableReadStream *stream, Audio::Mixer::SoundType soundType): _header(header), _soundType(soundType) { - _audStream = createAudioStream(); - - // Add all the sound data for all the frames at once to avoid stuttering - for (int frameNumber = 0; frameNumber < header._numFrames; ++frameNumber) { - int offset = _header._frameOffsets[frameNumber]; - int size = _header._frameSoundSizes[frameNumber]; - - byte *data = (byte *)malloc(size); - stream->seek(offset); - stream->read(data, size); - Common::MemoryReadStream *memoryStream = new Common::MemoryReadStream(data, size, - DisposeAfterUse::YES); - - _audStream->queueAudioStream(Audio::makeRawStream(memoryStream, _header._rate, - Audio::FLAG_UNSIGNED, DisposeAfterUse::YES), DisposeAfterUse::YES); - } + // Create audio straem for the audio track + _audStream = Audio::makeQueuingAudioStream(_header._rate, _header._channels == 2); } RL2Decoder::RL2AudioTrack::~RL2AudioTrack() { @@ -409,30 +445,20 @@ RL2Decoder::RL2AudioTrack::~RL2AudioTrack() { } void RL2Decoder::RL2AudioTrack::queueSound(Common::SeekableReadStream *stream, int size) { - if (_audStream) { - // Queue the sound data - byte *data = (byte *)malloc(size); - stream->read(data, size); - Common::MemoryReadStream *memoryStream = new Common::MemoryReadStream(data, size, - DisposeAfterUse::YES); - - _audStream->queueAudioStream(Audio::makeRawStream(memoryStream, _header._rate, - Audio::FLAG_UNSIGNED, DisposeAfterUse::YES), DisposeAfterUse::YES); - // _audioTrack->queueSound(_fileStream, _header._frameSoundSizes[_curFrame]); + // Queue the sound data + byte *data = (byte *)malloc(size); + stream->read(data, size); + Common::MemoryReadStream *memoryStream = new Common::MemoryReadStream(data, size, + DisposeAfterUse::YES); - } else { - delete stream; - } + _audStream->queueAudioStream(Audio::makeRawStream(memoryStream, _header._rate, + Audio::FLAG_UNSIGNED, DisposeAfterUse::YES), DisposeAfterUse::YES); } Audio::AudioStream *RL2Decoder::RL2AudioTrack::getAudioStream() const { return _audStream; } -Audio::QueuingAudioStream *RL2Decoder::RL2AudioTrack::createAudioStream() { - return Audio::makeQueuingAudioStream(_header._rate, _header._channels == 2); -} - } // End of namespace Video /*------------------------------------------------------------------------*/ diff --git a/engines/voyeur/animation.h b/engines/voyeur/animation.h index d5e1f9fd6f..0caac9f25d 100644 --- a/engines/voyeur/animation.h +++ b/engines/voyeur/animation.h @@ -26,6 +26,7 @@ #include "video/video_decoder.h" #include "audio/audiostream.h" #include "audio/mixer.h" +#include "common/array.h" #include "common/list.h" #include "common/rect.h" #include "common/stream.h" @@ -73,24 +74,30 @@ private: bool isValid() const; }; + class SoundFrame { + public: + int _offset; + int _size; + + SoundFrame(int offset, int size); + }; + class RL2AudioTrack : public AudioTrack { + private: + Audio::Mixer::SoundType _soundType; + const RL2FileHeader &_header; + Audio::QueuingAudioStream *_audStream; + protected: + Audio::AudioStream *getAudioStream() const; public: RL2AudioTrack(const RL2FileHeader &header, Common::SeekableReadStream *stream, Audio::Mixer::SoundType soundType); ~RL2AudioTrack(); - void queueSound(Common::SeekableReadStream *stream, int size); Audio::Mixer::SoundType getSoundType() const { return _soundType; } + int numQueuedStreams() const { return _audStream->numQueuedStreams(); } - protected: - Audio::AudioStream *getAudioStream() const; - - private: - Audio::Mixer::SoundType _soundType; - const RL2FileHeader &_header; - - Audio::QueuingAudioStream *_audStream; - Audio::QueuingAudioStream *createAudioStream(); + void queueSound(Common::SeekableReadStream *stream, int size); }; class RL2VideoTrack : public VideoTrack { @@ -144,9 +151,12 @@ private: }; private: + Common::SeekableReadStream *_fileStream; Audio::Mixer::SoundType _soundType; RL2FileHeader _header; int _paletteStart; + Common::Array _soundFrames; + int _soundFrameNumber; public: RL2Decoder(Audio::Mixer::SoundType soundType = Audio::Mixer::kPlainSoundType); virtual ~RL2Decoder(); @@ -155,10 +165,14 @@ public: bool loadFile(const Common::String &file, bool palFlag = false); bool loadVideo(int videoId); + virtual void readNextPacket(); + virtual void close(); + const Common::List *getDirtyRects() const; void clearDirtyRects(); void copyDirtyRectsToBuffer(uint8 *dst, uint pitch); RL2VideoTrack *getVideoTrack(); + RL2AudioTrack *getAudioTrack(); int getPaletteStart() const { return _paletteStart; } int getPaletteCount() const { return _header._colorCount; } }; -- cgit v1.2.3 From ee26919e9074b46155e5a8013f623c6b892779df Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Sat, 25 Jan 2014 18:46:26 -0500 Subject: VOYEUR: Simply RL2 video decoder, and add proper seeking support --- engines/voyeur/animation.cpp | 34 +++++++++++++++++++++++----------- engines/voyeur/animation.h | 17 +++++++++++------ engines/voyeur/voyeur.cpp | 2 +- 3 files changed, 35 insertions(+), 18 deletions(-) diff --git a/engines/voyeur/animation.cpp b/engines/voyeur/animation.cpp index af4c989bb3..f1126e50bb 100644 --- a/engines/voyeur/animation.cpp +++ b/engines/voyeur/animation.cpp @@ -81,7 +81,7 @@ bool RL2Decoder::loadStream(Common::SeekableReadStream *stream) { addTrack(new RL2VideoTrack(_header, audioTrack, stream)); // Load the offset/sizes of the video's audio data - //_soundFrames.reserve(header._numFrames); + _soundFrames.reserve(_header._numFrames); for (int frameNumber = 0; frameNumber < _header._numFrames; ++frameNumber) { int offset = _header._frameOffsets[frameNumber]; int size = _header._frameSoundSizes[frameNumber]; @@ -145,6 +145,15 @@ void RL2Decoder::readNextPacket() { } } +bool RL2Decoder::seek(const Audio::Timestamp &where) { + // TODO: Ideally, I need a way to clear the audio track's QueuingAudioStream when + // a seek is done. Otherwise, as current, seeking can only be done correctly when + // the video is first loaded. + + _soundFrameNumber = -1; + return VideoDecoder::seek(where); +} + void RL2Decoder::close() { VideoDecoder::close(); delete _fileStream; @@ -215,16 +224,16 @@ bool RL2Decoder::RL2FileHeader::isValid() const { return _signature == MKTAG('R','L','V','2') || _signature != MKTAG('R','L','V','3'); } +double RL2Decoder::RL2FileHeader::getFrameRate() const { + return (_soundRate > 0) ? _rate / _defSoundSize : 11025 / 1103; +} + /*------------------------------------------------------------------------*/ RL2Decoder::RL2VideoTrack::RL2VideoTrack(const RL2FileHeader &header, RL2AudioTrack *audioTrack, Common::SeekableReadStream *stream): _header(header), _audioTrack(audioTrack), _fileStream(stream) { - // Calculate the frame rate - int fps = (header._soundRate > 0) ? header._rate / header._defSoundSize : 11025 / 1103; - _frameDelay = 1000 / fps; - // Set up surfaces _surface = new Graphics::Surface(); _surface->create(320, 200, Graphics::PixelFormat::createFormatCLUT8()); @@ -239,7 +248,7 @@ RL2Decoder::RL2VideoTrack::RL2VideoTrack(const RL2FileHeader &header, RL2AudioTr _dirtyPalette = header._colorCount > 0; _curFrame = 0; - _nextFrameStartTime = 0; + _initialFrame = true; } RL2Decoder::RL2VideoTrack::~RL2VideoTrack() { @@ -261,10 +270,13 @@ bool RL2Decoder::RL2VideoTrack::endOfTrack() const { return getCurFrame() >= getFrameCount(); } -bool RL2Decoder::RL2VideoTrack::rewind() { - _curFrame = 0; - _nextFrameStartTime = 0; +bool RL2Decoder::RL2VideoTrack::seek(const Audio::Timestamp &time) { + int frame = time.totalNumberOfFrames(); + + if (frame < 0 || frame >= _header._numFrames) + return false; + _curFrame = frame; return true; } @@ -281,7 +293,7 @@ Graphics::PixelFormat RL2Decoder::RL2VideoTrack::getPixelFormat() const { } const Graphics::Surface *RL2Decoder::RL2VideoTrack::decodeNextFrame() { - if (_curFrame == 0 && _hasBackFrame) { + if (_initialFrame && _hasBackFrame) { // Read in the initial background frame _fileStream->seek(0x324); rl2DecodeFrameWithoutTransparency(0); @@ -289,6 +301,7 @@ const Graphics::Surface *RL2Decoder::RL2VideoTrack::decodeNextFrame() { Common::copy((byte *)_surface->getPixels(), (byte *)_surface->getPixels() + (320 * 200), (byte *)_backSurface->getPixels()); _dirtyRects.push_back(Common::Rect(0, 0, _surface->w, _surface->h)); + _initialFrame = false; } // Move to the next frame data @@ -306,7 +319,6 @@ const Graphics::Surface *RL2Decoder::RL2VideoTrack::decodeNextFrame() { } _curFrame++; - _nextFrameStartTime += _frameDelay; return _surface; } diff --git a/engines/voyeur/animation.h b/engines/voyeur/animation.h index 0caac9f25d..bfa9c8c8ae 100644 --- a/engines/voyeur/animation.h +++ b/engines/voyeur/animation.h @@ -26,6 +26,7 @@ #include "video/video_decoder.h" #include "audio/audiostream.h" #include "audio/mixer.h" +#include "audio/timestamp.h" #include "common/array.h" #include "common/list.h" #include "common/rect.h" @@ -72,6 +73,7 @@ private: ~RL2FileHeader(); void load(Common::SeekableReadStream *stream); bool isValid() const; + double getFrameRate() const; }; class SoundFrame { @@ -96,19 +98,19 @@ private: Audio::Mixer::SoundType getSoundType() const { return _soundType; } int numQueuedStreams() const { return _audStream->numQueuedStreams(); } + virtual bool isSeekable() const { return true; } + virtual bool seek(const Audio::Timestamp &time) { return true; } void queueSound(Common::SeekableReadStream *stream, int size); }; - class RL2VideoTrack : public VideoTrack { + class RL2VideoTrack : public FixedRateVideoTrack { public: RL2VideoTrack(const RL2FileHeader &header, RL2AudioTrack *audioTrack, Common::SeekableReadStream *stream); ~RL2VideoTrack(); bool endOfTrack() const; - bool isRewindable() const { return true; } - bool rewind(); uint16 getWidth() const; uint16 getHeight() const; @@ -117,7 +119,6 @@ private: Graphics::PixelFormat getPixelFormat() const; int getCurFrame() const { return _curFrame; } int getFrameCount() const { return _header._numFrames; } - uint32 getNextFrameStartTime() const { return _nextFrameStartTime; } const Graphics::Surface *decodeNextFrame(); const byte *getPalette() const { _dirtyPalette = false; return _header._palette; } int getPaletteCount() const { return _header._colorCount; } @@ -126,6 +127,9 @@ private: void clearDirtyRects() { _dirtyRects.clear(); } void copyDirtyRectsToBuffer(uint8 *dst, uint pitch); + virtual Common::Rational getFrameRate() const { return _header.getFrameRate(); } + virtual bool isSeekable() const { return true; } + virtual bool seek(const Audio::Timestamp &time); private: Common::SeekableReadStream *_fileStream; const RL2FileHeader &_header; @@ -136,11 +140,10 @@ private: mutable bool _dirtyPalette; + bool _initialFrame; int _curFrame; uint32 _videoBase; uint32 *_frameOffsets; - uint32 _frameDelay; - uint32 _nextFrameStartTime; Common::List _dirtyRects; @@ -167,6 +170,7 @@ public: virtual void readNextPacket(); virtual void close(); + virtual bool seek(const Audio::Timestamp &where); const Common::List *getDirtyRects() const; void clearDirtyRects(); @@ -175,6 +179,7 @@ public: RL2AudioTrack *getAudioTrack(); int getPaletteStart() const { return _paletteStart; } int getPaletteCount() const { return _header._colorCount; } + const RL2FileHeader &getHeader() { return _header; } }; } // End of namespace Video diff --git a/engines/voyeur/voyeur.cpp b/engines/voyeur/voyeur.cpp index 72f568ba82..490d35e345 100644 --- a/engines/voyeur/voyeur.cpp +++ b/engines/voyeur/voyeur.cpp @@ -558,7 +558,7 @@ void VoyeurEngine::playAVideoDuration(int videoId, int duration) { decoder.loadVideo(videoId); decoder.start(); - decoder.seek(Audio::Timestamp(_voy._vocSecondsOffset * 1000)); + decoder.seek(Audio::Timestamp(_voy._vocSecondsOffset * 1000, decoder.getHeader().getFrameRate())); int endFrame = decoder.getCurFrame() + totalFrames; while (!shouldQuit() && !decoder.endOfVideo() && !_eventsManager._mouseClicked && -- cgit v1.2.3 From d2e8a6bed53c58ac3c9100dee399585c781fe9fb Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Sun, 26 Jan 2014 18:13:44 -0500 Subject: VOYEUR: Implemented lots more sDrawPic logic --- engines/voyeur/files.h | 6 +- engines/voyeur/graphics.cpp | 298 ++++++++++++++++++++++++++++++++++++++++++- engines/voyeur/staticres.cpp | 2 +- 3 files changed, 300 insertions(+), 6 deletions(-) diff --git a/engines/voyeur/files.h b/engines/voyeur/files.h index edc5ee5811..cc30d0a493 100644 --- a/engines/voyeur/files.h +++ b/engines/voyeur/files.h @@ -279,8 +279,10 @@ public: /* bvoy.blt resource types */ -enum PictureFlag { PICFLAG_PIC_OFFSET = 8, PICFLAG_CLEAR_SCREEN = 0x10, PICFLAG_20 = 0x20, - PICFLAG_HFLIP = 0x40, PICFLAG_VFLIP = 0x80, PICFLAG_CLEAR_SCREEN00 = 0x1000 }; +enum PictureFlag { PICFLAG_2 = 2, PICFLAG_PIC_OFFSET = 8, PICFLAG_CLEAR_SCREEN = 0x10, + PICFLAG_20 = 0x20, PICFLAG_HFLIP = 0x40, PICFLAG_VFLIP = 0x80, PICFLAG_100 = 0x100, + PICFLAG_CLEAR_SCREEN00 = 0x1000 +}; class PictureResource: public DisplayResource { private: diff --git a/engines/voyeur/graphics.cpp b/engines/voyeur/graphics.cpp index bea322717d..387be4e499 100644 --- a/engines/voyeur/graphics.cpp +++ b/engines/voyeur/graphics.cpp @@ -135,9 +135,9 @@ void GraphicsManager::sDrawPic(DisplayResource *srcDisplay, DisplayResource *des ViewPortResource *destViewPort = NULL; Common::Rect newBounds; Common::Rect backBounds; - int var24; + int var22 = 0; + int var24 = 0; bool isClipped = false; - int var22; int var26; byte pixel = 0; @@ -544,7 +544,299 @@ error("TODO: var22/var24/var2C not initialised before use?"); } else { // loc_26673 - // TODO + int pick = srcPic->_pick; + int onOff = srcPic->_onOff; + + if (!(srcFlags & PICFLAG_PIC_OFFSET)) { + srcP = srcImgData += srcOffset; + int pixel = 0; + + if (destFlags & PICFLAG_PIC_OFFSET) { + destP = destImgData + screenOffset; + if (srcFlags & PICFLAG_2) { + if (srcFlags & PICFLAG_100) { + if (isClipped) { + // loc_266E3 + destP = (byte *)_screenSurface.getPixels() + screenOffset; + var22 = (var22 < 0) ? -var22 : 0; + var26 = var22 + width2; + var24 = (var24 < 0) ? -var24 : 0; + pick = 0x7F; + width2 = srcPic->_bounds.width(); + height1 = var24 + height1; + + for (int yp = 0; yp < height1; ++yp) { + int byteVal2 = 0; + for (int xp = 0; xp < width2; ++xp, --byteVal2) { + if (byteVal2 <= 0) { + pixel = *srcP++; + if (pixel & 0x80) { + pixel &= 0x7F; + byteVal2 = *srcP++; + if (!byteVal2) + byteVal2 = width2; + } + } + + if (yp >= var24 && xp >= var22 && xp < var26) { + if (pixel) { + *destP = (pixel & pick) ^ onOff; + } + ++destP; + } + } + if (yp >= var24) + destP += widthDiff2; + } + } else { + // loc_26815 + destP = (byte *)_screenSurface.getPixels() + screenOffset; + + for (int yp = 0; yp < height1; ++yp) { + for (int xp = 0; xp < width2; ++xp, ++destP) { + byteVal2 = 0; + for (int xp = 0; xp < width2; ++xp, ++destP, --byteVal2) { + if (!byteVal2) { + pixel = *srcP++; + if (pixel & 0x80) { + pixel &= 0x7F; + byteVal2 = *srcP++; + if (!byteVal2) { + byteVal2 = width2; + } + } + } + + if (pixel) + *destP = (pixel & pick) ^ onOff; + } + } + + destP += widthDiff2; + } + } + } else { + // Direct screen write + destP = (byte *)_screenSurface.getPixels() + screenOffset; + + for (int yp = 0; yp < height1; ++yp) { + for (int xp = 0; xp < width2; ++xp, ++srcP, ++destP) { + if (*srcP) + *destP = (*srcP & pick) ^ onOff; + } + destP += widthDiff2; + srcP += widthDiff; + } + } + } else if (srcFlags & PICFLAG_100) { + srcP = srcImgData; + if (isClipped) { + // loc_269FD + var22 = (var22 < 0) ? -var22 : 0; + var26 = var22 + width2; + var24 = (var24 < 0) ? -var24 : 0; + width2 = srcPic->_bounds.width(); + height1 = var24 + height1; + + for (int yp = 0; yp < height1; ++yp) { + byteVal2 = 0; + for (int xp = 0; xp < width2; ++xp) { + if (!byteVal2) { + pixel = *srcP++; + if (pixel & 0x80) { + pixel = 0x7F; + byteVal2 = *srcP++; + + if (!byteVal2) + byteVal2 = width2; + } + } + + if (yp >= var24 && xp >= var22 && xp < var26) { + *destP++ = (pixel & 0x80) ^ onOff; + } + } + } + } else { + // loc_26BD5 + destP = (byte *)_screenSurface.getPixels() + screenOffset; + + for (int yp = 0; yp < height1; ++yp) { + byteVal2 = 0; + + for (int xp = 0; xp < width2; ++xp, ++destP) { + if (!byteVal2) { + pixel = *srcP++; + if (pixel & 0x80) { + pixel &= 0x7F; + byteVal2 = *srcP++; + if (!byteVal2) + byteVal2 = width2; + } + } + + *destP = (pixel & pick) ^ onOff; + } + + destP += widthDiff2; + } + } + } else { + // loc_26C9A + destP = (byte *)_screenSurface.getPixels() + screenOffset; + + for (int yp = 0; yp < height1; ++yp) { + for (int xp = 0; xp < width2; ++xp, ++srcP, ++destP) { + *destP = (*srcP & pick) ^ onOff; + } + destP += widthDiff2; + srcP += widthDiff; + } + } + } else { + // loc_26D2F + destP = destImgData + screenOffset; + + if (srcFlags & PICFLAG_2) { + // loc_26D4F + if (srcFlags & PICFLAG_100) { + srcP = srcImgData; + + if (isClipped) { + // loc_26D6A + var22 = (var22 < 0) ? -var22 : 0; + var26 = var22 + width2; + var24 = (var24 < 0) ? -var24 : 0; + width2 = srcPic->_bounds.width(); + height1 = var24 + height1; + + for (int yp = 0; yp < height1; ++yp) { + byteVal2 = 0; + + for (int xp = 0; xp < width2; ++xp, --byteVal2) { + if (!byteVal2) { + pixel = *srcP++; + if (pixel & 0x80) { + pixel &= 0x7F; + byteVal2 = *srcP++; + if (!byteVal2) + byteVal2 = width2; + } + } + + if (yp >= var24 && xp >= var22 && xp < var26) { + if (pixel) + *destP = (pixel & pick) ^ onOff; + + ++destP; + } + } + + if (yp >= var24) + destP += widthDiff2; + } + } else { + // loc_26E95 + for (int yp = 0; yp < height1; ++yp) { + byteVal2 = 0; + for (int xp = 0; xp < width2; ++xp, ++destP, --byteVal2) { + if (!byteVal2) { + pixel = *srcP++; + if (pixel & 0x80) { + pixel &= 0x7F; + byteVal2 = *srcP++; + if (!byteVal2) + byteVal2 = width2; + } + } + + if (pixel) + *destP = (pixel & pick) ^ onOff; + } + + destP += widthDiff2; + } + } + } else { + // loc_26F5D + for (int yp = 0; yp < height1; ++yp) { + for (int xp = 0; xp < width2; ++xp, ++srcP, ++destP) { + if (*srcP) + *destP = (*srcP & pick) ^ onOff; + } + destP += widthDiff2; + srcP += widthDiff; + } + } + } else { + // loc_26FEF + if (srcFlags & PICFLAG_100) { + // loc_26FF9 + for (int yp = 0; yp < height1; ++yp) { + for (int xp = 0; xp < width2; ++xp, ++srcP, ++destP) { + *destP = (*srcP & pick) ^ onOff; + } + destP += widthDiff2; + srcP += widthDiff; + } + } else { + // loc_271F0 + srcP = srcImgData; + + if (isClipped) { + // loc_2700A + var22 = (var22 < 0) ? -var22 : 0; + var26 = var22 + width2; + var24 = (var24 < 0) ? -var24 : 0; + width2 = srcPic->_bounds.width(); + height1 = var24 + height1; + + for (int yp = 0; yp < height1; ++yp) { + byteVal2 = 0; + + for (int xp = 0; xp < width2; ++xp, --byteVal2) { + if (!byteVal2) { + pixel = *srcP++; + if (pixel & 0x80) { + pixel &= 0x7F; + byteVal2 = *srcP++; + if (!byteVal2) + byteVal2 = width2; + } + } + + if (yp >= var24 && xp >= var22 && xp < var26) { + *destP++ = (pixel & pick) ^ onOff; + } + } + + if (yp >= var24) + destP += widthDiff2; + } + } else { + // loc_2712F + for (int yp = 0; yp < height1; ++yp) { + byteVal2 = 0; + for (int xp = 0; xp < width2; ++xp, ++destP, --byteVal2) { + if (!byteVal2) { + pixel = *srcP++; + if (pixel & 0x80) { + pixel &= 0x7F; + byteVal2 = *srcP++; + if (!byteVal2) + byteVal2 = width2; + } + } + + *destP = (*srcP & pick) ^ onOff; + } + destP += widthDiff2; + } + } + } + } + } + } } } diff --git a/engines/voyeur/staticres.cpp b/engines/voyeur/staticres.cpp index 7bba6517fe..078731e965 100644 --- a/engines/voyeur/staticres.cpp +++ b/engines/voyeur/staticres.cpp @@ -114,7 +114,7 @@ const char *const PM = "pm"; const char *const START_OF_MESSAGE = "*** Start of Message ***"; const char *const END_OF_MESSAGE = "*** End of Message ***"; -const char *const EVENT_TYPE_STRINGS[4] = { "Video", "Audio" "Evidence", "Computer" }; +const char *const EVENT_TYPE_STRINGS[4] = { "Video", "Audio", "Evidence", "Computer" }; int DOT_LINE_START[9] = { 0xE880, 0xE9C0, 0xEB00, 0xEC40, 0xED80, 0xEEC0, 0xF000, 0xF140, 0xF280 -- cgit v1.2.3 From 336a02047b1b52f7a052712bcce2b3608958f8b6 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Tue, 28 Jan 2014 23:22:41 -0500 Subject: VOYEUR: Fixes for flagging video events, and reviewing them in reviewTape --- engines/voyeur/files_threads.cpp | 2 +- engines/voyeur/voyeur.cpp | 1 + engines/voyeur/voyeur_game.cpp | 8 ++++---- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/engines/voyeur/files_threads.cpp b/engines/voyeur/files_threads.cpp index 6ce772922b..a7e69c90c2 100644 --- a/engines/voyeur/files_threads.cpp +++ b/engines/voyeur/files_threads.cpp @@ -436,7 +436,7 @@ void ThreadResource::parsePlayCommands() { _vm->_videoId = -1; } else { _vm->_voy._vocSecondsOffset = _vm->_voy._RTVNum - _vm->_voy._field468; - _vm->_voy.addAudioEventStart(); + _vm->_voy.addVideoEventStart(); _vm->_voy._field478 &= ~1; _vm->_voy._field478 |= 0x10; _vm->playAVideo(_vm->_videoId); diff --git a/engines/voyeur/voyeur.cpp b/engines/voyeur/voyeur.cpp index 490d35e345..12d627ddb4 100644 --- a/engines/voyeur/voyeur.cpp +++ b/engines/voyeur/voyeur.cpp @@ -561,6 +561,7 @@ void VoyeurEngine::playAVideoDuration(int videoId, int duration) { decoder.seek(Audio::Timestamp(_voy._vocSecondsOffset * 1000, decoder.getHeader().getFrameRate())); int endFrame = decoder.getCurFrame() + totalFrames; + _eventsManager.getMouseInfo(); while (!shouldQuit() && !decoder.endOfVideo() && !_eventsManager._mouseClicked && (decoder.getCurFrame() < endFrame)) { if (decoder.needsUpdate()) { diff --git a/engines/voyeur/voyeur_game.cpp b/engines/voyeur/voyeur_game.cpp index 95c6deb1e7..ed04c875b9 100644 --- a/engines/voyeur/voyeur_game.cpp +++ b/engines/voyeur/voyeur_game.cpp @@ -535,10 +535,10 @@ void VoyeurEngine::reviewTape() { foundIndex = 999; } else if (!_eventsManager._leftClick) { _eventsManager.setCursorColor(128, 2); - foundIndex = 999; + foundIndex = -1; } else { _eventsManager.setCursorColor(128, 2); - eventLine = foundIndex; + eventLine = foundIndex; flipPageAndWait(); @@ -562,7 +562,7 @@ void VoyeurEngine::reviewTape() { Common::String msg = _eventsManager.getEvidString(evtIndex); _graphicsManager._backgroundPage->drawText(msg); - yp += 115; + yp += 15; ++evtIndex; } @@ -575,7 +575,7 @@ void VoyeurEngine::reviewTape() { flipPageAndWait(); _eventsManager.getMouseInfo(); - foundIndex = 999; + foundIndex = -1; } } else if ((_voy._field478 & 0x40) && _voy._viewBounds->left == pt.x && _voy._viewBounds->bottom == pt.y) { -- cgit v1.2.3 From 5f4fc9a1dd5668ab9fa9706a8e86b2ec3ac808d1 Mon Sep 17 00:00:00 2001 From: johndoe123 Date: Fri, 27 Dec 2013 13:49:38 +0100 Subject: BBVS: Initial commit --- engines/bbvs/bbvs.cpp | 2196 ++++++++++++++++++++++++++ engines/bbvs/bbvs.h | 412 +++++ engines/bbvs/configure.engine | 3 + engines/bbvs/detection.cpp | 161 ++ engines/bbvs/dialogs.cpp | 182 +++ engines/bbvs/dialogs.h | 81 + engines/bbvs/gamemodule.cpp | 630 ++++++++ engines/bbvs/gamemodule.h | 251 +++ engines/bbvs/graphics.cpp | 141 ++ engines/bbvs/graphics.h | 61 + engines/bbvs/minigames/bbairguitar.cpp | 1198 ++++++++++++++ engines/bbvs/minigames/bbairguitar.h | 148 ++ engines/bbvs/minigames/bbairguitar_anims.cpp | 186 +++ engines/bbvs/minigames/bbant.cpp | 1340 ++++++++++++++++ engines/bbvs/minigames/bbant.h | 177 +++ engines/bbvs/minigames/bbant_anims.cpp | 757 +++++++++ engines/bbvs/minigames/bbloogie.cpp | 1361 ++++++++++++++++ engines/bbvs/minigames/bbloogie.h | 141 ++ engines/bbvs/minigames/bbloogie_anims.cpp | 138 ++ engines/bbvs/minigames/bbtennis.cpp | 1278 +++++++++++++++ engines/bbvs/minigames/bbtennis.h | 134 ++ engines/bbvs/minigames/bbtennis_anims.cpp | 142 ++ engines/bbvs/minigames/minigame.cpp | 74 + engines/bbvs/minigames/minigame.h | 70 + engines/bbvs/module.mk | 29 + engines/bbvs/saveload.cpp | 287 ++++ engines/bbvs/sound.cpp | 107 ++ engines/bbvs/sound.h | 63 + engines/bbvs/spritemodule.cpp | 112 ++ engines/bbvs/spritemodule.h | 68 + engines/bbvs/videoplayer.cpp | 83 + engines/configure.engines | 1 + engines/engines.mk | 5 + engines/plugins_table.h | 3 + 34 files changed, 12020 insertions(+) create mode 100644 engines/bbvs/bbvs.cpp create mode 100644 engines/bbvs/bbvs.h create mode 100644 engines/bbvs/configure.engine create mode 100644 engines/bbvs/detection.cpp create mode 100644 engines/bbvs/dialogs.cpp create mode 100644 engines/bbvs/dialogs.h create mode 100644 engines/bbvs/gamemodule.cpp create mode 100644 engines/bbvs/gamemodule.h create mode 100644 engines/bbvs/graphics.cpp create mode 100644 engines/bbvs/graphics.h create mode 100644 engines/bbvs/minigames/bbairguitar.cpp create mode 100644 engines/bbvs/minigames/bbairguitar.h create mode 100644 engines/bbvs/minigames/bbairguitar_anims.cpp create mode 100644 engines/bbvs/minigames/bbant.cpp create mode 100644 engines/bbvs/minigames/bbant.h create mode 100644 engines/bbvs/minigames/bbant_anims.cpp create mode 100644 engines/bbvs/minigames/bbloogie.cpp create mode 100644 engines/bbvs/minigames/bbloogie.h create mode 100644 engines/bbvs/minigames/bbloogie_anims.cpp create mode 100644 engines/bbvs/minigames/bbtennis.cpp create mode 100644 engines/bbvs/minigames/bbtennis.h create mode 100644 engines/bbvs/minigames/bbtennis_anims.cpp create mode 100644 engines/bbvs/minigames/minigame.cpp create mode 100644 engines/bbvs/minigames/minigame.h create mode 100644 engines/bbvs/module.mk create mode 100644 engines/bbvs/saveload.cpp create mode 100644 engines/bbvs/sound.cpp create mode 100644 engines/bbvs/sound.h create mode 100644 engines/bbvs/spritemodule.cpp create mode 100644 engines/bbvs/spritemodule.h create mode 100644 engines/bbvs/videoplayer.cpp diff --git a/engines/bbvs/bbvs.cpp b/engines/bbvs/bbvs.cpp new file mode 100644 index 0000000000..2b0a4a5d51 --- /dev/null +++ b/engines/bbvs/bbvs.cpp @@ -0,0 +1,2196 @@ +/* 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 "bbvs/bbvs.h" +#include "bbvs/dialogs.h" +#include "bbvs/gamemodule.h" +#include "bbvs/graphics.h" +#include "bbvs/sound.h" +#include "bbvs/spritemodule.h" +#include "bbvs/minigames/bbairguitar.h" +#include "bbvs/minigames/bbant.h" +#include "bbvs/minigames/bbloogie.h" +#include "bbvs/minigames/bbtennis.h" +#include "bbvs/minigames/minigame.h" + +#include "audio/audiostream.h" +#include "common/config-manager.h" +#include "common/debug-channels.h" +#include "common/error.h" +#include "common/fs.h" +#include "common/timer.h" +#include "engines/util.h" +#include "graphics/cursorman.h" +#include "graphics/font.h" +#include "graphics/fontman.h" +#include "graphics/palette.h" +#include "graphics/surface.h" + +namespace Bbvs { + +static const BBPoint kInventorySlotPositions[] = { + { 66, 191}, { 94, 217}, {192, 217}, {159, 213}, {228, 49}, + {137, 49}, {168, 165}, {101, 55}, {177, 46}, {165, 165}, + {202, 74}, {141, 53}, {164, 164}, {165, 78}, {167, 71}, + {142, 188}, {171, 100}, {250, 216}, {200, 72}, {200, 72}, + {101, 82}, { 67, 93}, {133, 87}, {123, 220}, {199, 129}, + {188, 192}, {102, 82}, {188, 192}, { 99, 170}, { 68, 126}, + {159, 130}, {102, 116}, {207, 157}, {130, 141}, {236, 100}, + {102, 197}, {141, 186}, {200, 102}, {221, 220}, {222, 188}, + {135, 93}, {134, 145}, { 96, 224}, {128, 224}, {160, 224}, + {192, 224}, {224, 224}, {240, 224}, {256, 224}, { 0, 0} +}; + +static const BBRect kVerbRects[6] = { + {-32, -2, 19, 27}, {-33, -33, 19, 27}, { 12, -2, 19, 27}, + { 13, -33, 19, 27}, {-10, 8, 19, 27}, {-11, -49, 19, 27} +}; + +static const int8 kWalkTurnTbl[] = { + 7, 9, 4, 8, 6, 10, 5, 11 +}; + +static const int8 kWalkAnimTbl[32] = { + 3, 0, 0, 0, 2, 1, 1, 1, + 15, 12, 14, 13, 0, 0, 0, 0, + 7, 9, 4, 8, 6, 10, 5, 11, + 3, 0, 2, 1, 15, 12, 14, 13 +}; + +static const int8 kTurnInfo[8][8] = { + { 0, 1, 1, 1, 1, -1, -1, -1}, + {-1, 0, 1, 1, 1, 1, -1, -1}, + {-1, -1, 0, 1, 1, 1, 1, -1}, + {-1, -1, -1, 0, 1, 1, 1, 1}, + { 1, -1, -1, -1, 0, 1, 1, 1}, + { 1, 1, -1, -1, -1, 0, 1, 1}, + { 1, 1, 1, -1, -1, -1, 0, 1}, + { 1, 1, 1, 1, -1, -1, -1, 0} +}; + +static const byte kTurnTbl[] = { + 2, 6, 4, 0, 2, 6, 4, 0, + 3, 1, 5, 7, 0, 0, 0, 0 +}; + +static const int kAfterVideoSceneNum[] = { +// 0, 43, 23, 12, 4, 44, 2, +// 16, 4, 4, 4, 44, 12, 44 + 0, 43, 23, 12, 4, 44, 2, + 16, 4, 4, 4, 44, 12, 32 +}; + +const int kMainMenu = 44; + +bool WalkArea::contains(const Common::Point &pt) const { + return Common::Rect(x, y, x + width, y + height).contains(pt); +} + +BbvsEngine::BbvsEngine(OSystem *syst, const ADGameDescription *gd) : + Engine(syst), _gameDescription(gd) { + + _random = new Common::RandomSource("bbvs"); + + Engine::syncSoundSettings(); + +} + +BbvsEngine::~BbvsEngine() { + + delete _random; + +} + +void BbvsEngine::newGame() { + _currInventoryItem = -1; + _newSceneNum = 32; +} + +void BbvsEngine::continueGameFromQuickSave() { + _bootSaveSlot = 0; +} + +void BbvsEngine::setNewSceneNum(int newSceneNum) { + _newSceneNum = newSceneNum; +} + +Common::Error BbvsEngine::run() { + + _isSaveAllowed = false; + _hasSnapshot = false; + + initGraphics(320, 240, false); + + _screen = new Screen(_system); + _gameModule = new GameModule(); + _spriteModule = new SpriteModule(); + _sound = new SoundMan(); + + allocSnapshot(); + + _gameTicks = 0; + _playVideoNumber = 0; + _bootSaveSlot = -1; + + memset(_inventoryItemStatus, 0, sizeof(_inventoryItemStatus)); + memset(_gameVars, 0, sizeof(_gameVars)); + memset(_sceneVisited, 0, sizeof(_sceneVisited)); + + _mouseX = 160; + _mouseY = 120; + _mouseButtons = 0; + + _currVerbNum = kVerbLook; + _currInventoryItem = -1; + _currTalkObjectIndex = -1; + _currSceneNum = 0; + //_newSceneNum = 31; + + //_newSceneNum = 23; // Class room + _newSceneNum = kMainMenu; // Main menu (TODO Buttons etc.) + //_newSceneNum = 25;// Tank and crash + //_newSceneNum = 7; + //_newSceneNum = 12; + + if (ConfMan.hasKey("save_slot")) + _bootSaveSlot = ConfMan.getInt("save_slot"); + + while (!shouldQuit()) { + updateEvents(); + if (_currSceneNum < kMainMenu || _newSceneNum > 0 || _bootSaveSlot >= 0) + updateGame(); + else if (_currSceneNum == kMainMenu) + runMainMenu(); + if (_playVideoNumber > 0) { + playVideo(_playVideoNumber); + _playVideoNumber = 0; + } + } + + writeContinueSavegame(); + + freeSnapshot(); + + delete _sound; + delete _spriteModule; + delete _gameModule; + delete _screen; + + debug(0, "run() done"); + + return Common::kNoError; +} + +bool BbvsEngine::hasFeature(EngineFeature f) const { + return + (f == kSupportsRTL) || + (f == kSupportsLoadingDuringRuntime) || + (f == kSupportsSavingDuringRuntime); +} + +void BbvsEngine::updateEvents() { + Common::Event event; + + while (_eventMan->pollEvent(event)) { + switch (event.type) { + case Common::EVENT_KEYDOWN: + _keyCode = event.kbd.keycode; + break; + case Common::EVENT_KEYUP: + _keyCode = Common::KEYCODE_INVALID; + break; + case Common::EVENT_MOUSEMOVE: + _mouseX = event.mouse.x; + _mouseY = event.mouse.y; + break; + case Common::EVENT_LBUTTONDOWN: + _mouseButtons |= kLeftButtonClicked; + _mouseButtons |= kLeftButtonDown; + break; + case Common::EVENT_LBUTTONUP: + _mouseButtons &= ~kLeftButtonDown; + break; + case Common::EVENT_RBUTTONDOWN: + _mouseButtons |= kRightButtonClicked; + _mouseButtons |= kRightButtonDown; + break; + case Common::EVENT_RBUTTONUP: + _mouseButtons &= ~kRightButtonDown; + break; + case Common::EVENT_QUIT: + quitGame(); + break; + default: + break; + } + } +} + +int BbvsEngine::getRandom(int max) { + return max == 0 ? 0 : _random->getRandomNumber(max - 1); +} + +void BbvsEngine::drawDebugInfo() { +#if 0 + Graphics::Surface *s = _screen->_surface; + const Graphics::Font *font = FontMan.getFontByUsage(Graphics::FontManager::kConsoleFont); + for (int i = 0; i < _walkAreasCount; ++i) { + WalkArea *walkArea = &_walkAreas[i]; + Common::Rect r(walkArea->x, walkArea->y, walkArea->x + walkArea->width, walkArea->y + walkArea->height); + s->frameRect(r, 255); + Common::String text = Common::String::format("%d", i); + font->drawString(s, text, r.left + 1, r.top + 1, 100, 11); + } +#endif +} + +void BbvsEngine::drawScreen() { + drawDebugInfo(); + _screen->copyToScreen(); +} + +void BbvsEngine::updateGame() { + int currTicks, inputTicks; + + if (_gameTicks > 0) { + currTicks = _system->getMillis(); + inputTicks = (currTicks - _gameTicks) / 17; + _gameTicks = currTicks - (currTicks - _gameTicks) % 17; + } else { + inputTicks = 1; + _gameTicks = _system->getMillis(); + } + + if (inputTicks > 20) { + inputTicks = 20; + _gameTicks = _system->getMillis(); + } + + if (inputTicks == 0) + return; + + if (_mouseX >= 320 || _mouseY >= 240) { + _mouseY = -1; + _mouseX = -1; + } + + bool done; + + do { + done = !update(_mouseX, _mouseY, _mouseButtons, _keyCode); + _mouseButtons &= ~kLeftButtonClicked; + _mouseButtons &= ~kRightButtonClicked; + _keyCode = Common::KEYCODE_INVALID; + } while (--inputTicks && _playVideoNumber == 0 && _gameTicks > 0 && !done); + + if (!done && _playVideoNumber == 0 && _gameTicks > 0) { + DrawList drawList; + buildDrawList(drawList); + _screen->drawDrawList(drawList, _spriteModule); + drawScreen(); + } + +} + +bool BbvsEngine::evalCondition(Conditions &conditions) { + bool result = true; + for (int i = 0; i < 8 && result; ++i) { + const Condition &condition = conditions.conditions[i]; + switch (condition.cond) { + case kCondSceneObjectVerb: + result = _activeItemType == KITSceneObject && condition.value1 == _currVerbNum && condition.value2 == _activeItemIndex; + break; + case kCondBgObjectVerb: + result = _activeItemType == kITBgObject && condition.value1 == _currVerbNum && condition.value2 == _activeItemIndex; + break; + case kCondSceneObjectInventory: + result = _activeItemType == KITSceneObject && _currVerbNum == kVerbInvItem && condition.value1 == _currInventoryItem && condition.value2 == _activeItemIndex; + break; + case kCondBgObjectInventory: + result = _activeItemType == kITBgObject && _currVerbNum == kVerbInvItem && condition.value1 == _currInventoryItem && condition.value2 == _activeItemIndex; + break; + case kCondHasInventoryItem: + result = _inventoryItemStatus[condition.value1] != 0; + break; + case kCondHasNotInventoryItem: + result = _inventoryItemStatus[condition.value1] == 0; + break; + case kCondIsGameVar: + result = _gameVars[condition.value2] != 0; + break; + case kCondIsNotGameVar: + result = _gameVars[condition.value2] == 0; + break; + case kCondIsPrevSceneNum: + result = condition.value2 == _prevSceneNum; + break; + case kCondIsCurrTalkObject: + result = condition.value2 == _currTalkObjectIndex; + break; + case kCondIsDialogItem: + result = _activeItemType == kITDialog && condition.value1 == _activeItemIndex; + break; + case kCondIsCameraNum: + result = condition.value1 == _currCameraNum; + break; + case kCondIsNotPrevSceneNum: + result = condition.value2 != _prevSceneNum; + break; + case kCondIsButtheadAtBgObject: + result = _buttheadObject && _gameModule->getBgObject(condition.value2)->rect.contains(_buttheadObject->x >> 16, _buttheadObject->y >> 16); + break; + case kCondIsNotSceneVisited: + result = _sceneVisited[_currSceneNum] == 0; + break; + case kCondIsSceneVisited: + result = _sceneVisited[_currSceneNum] != 0; + break; + case kCondUnused: + case kCondDialogItem0: + case kCondIsCameraNumTransition: + result = false; + break; + } + } + return result; +} + +bool BbvsEngine::evalCameraCondition(Conditions &conditions, int value) { + bool result = true; + for (int i = 0; i < 8 && result; ++i) { + const Condition &condition = conditions.conditions[i]; + switch (condition.cond) { + case kCondHasInventoryItem: + result = _inventoryItemStatus[condition.value1] != 0; + break; + case kCondHasNotInventoryItem: + result = _inventoryItemStatus[condition.value1] == 0; + break; + case kCondIsGameVar: + result = _gameVars[condition.value2] != 0; + break; + case kCondIsNotGameVar: + result = _gameVars[condition.value2] == 0; + break; + case kCondIsPrevSceneNum: + result = condition.value2 == _prevSceneNum; + break; + case kCondIsNotPrevSceneNum: + result = condition.value2 != _prevSceneNum; + break; + case kCondIsNotSceneVisited: + result = _sceneVisited[_currSceneNum] == 0; + break; + case kCondIsSceneVisited: + result = _sceneVisited[_currSceneNum] != 0; + break; + case kCondIsCameraNumTransition: + result = condition.value1 == _currCameraNum && condition.value2 == value; + break; + case kCondUnused: + case kCondSceneObjectVerb: + case kCondBgObjectVerb: + case kCondSceneObjectInventory: + case kCondBgObjectInventory: + case kCondIsCurrTalkObject: + case kCondIsDialogItem: + case kCondIsCameraNum: + case kCondDialogItem0: + case kCondIsButtheadAtBgObject: + result = false; + break; + default: + break; + } + } + return result; +} + +int BbvsEngine::evalDialogCondition(Conditions &conditions) { + int result = -1; + bool success = false; + for (int i = 0; i < 8; ++i) { + const Condition &condition = conditions.conditions[i]; + switch (condition.cond) { + case kCondSceneObjectVerb: + success = _activeItemType == KITSceneObject && condition.value1 == _currVerbNum && condition.value2 == _activeItemIndex; + break; + case kCondBgObjectVerb: + success = _activeItemType == kITBgObject && condition.value1 == _currVerbNum && condition.value2 == _activeItemIndex; + break; + case kCondSceneObjectInventory: + success = _activeItemType == KITSceneObject && _currVerbNum == kVerbInvItem && condition.value1 == _currInventoryItem && condition.value2 == _activeItemIndex; + break; + case kCondBgObjectInventory: + success = _activeItemType == kITBgObject && _currVerbNum == kVerbInvItem && condition.value1 == _currInventoryItem && condition.value2 == _activeItemIndex; + break; + case kCondHasInventoryItem: + success = _inventoryItemStatus[condition.value1] != 0; + break; + case kCondHasNotInventoryItem: + success = _inventoryItemStatus[condition.value1] == 0; + break; + case kCondIsGameVar: + success = _gameVars[condition.value2] != 0; + break; + case kCondIsNotGameVar: + success = _gameVars[condition.value2] == 0; + break; + case kCondIsPrevSceneNum: + success = condition.value2 == _prevSceneNum; + break; + case kCondIsCurrTalkObject: + success = condition.value2 == _currTalkObjectIndex; + break; + case kCondIsDialogItem: + result = condition.value1; + break; + case kCondIsCameraNum: + success = condition.value1 == _currCameraNum; + break; + case kCondIsNotPrevSceneNum: + success = condition.value2 != _prevSceneNum; + break; + case kCondIsButtheadAtBgObject: + success = _buttheadObject && _gameModule->getBgObject(condition.value2)->rect.contains(_buttheadObject->x >> 16, _buttheadObject->y >> 16); + break; + case kCondIsNotSceneVisited: + success = _sceneVisited[_currSceneNum] == 0; + break; + case kCondIsSceneVisited: + success = _sceneVisited[_currSceneNum] != 0; + break; + case kCondDialogItem0: + return 0; + case kCondUnused: + case kCondIsCameraNumTransition: + success = false; + break; + } + if (!success) + return -1; + } + return result; +} + +void BbvsEngine::evalActionResults(ActionResults &results) { + for (int i = 0; i < 8; ++i) { + const ActionResult &result = results.actionResults[i]; + switch (result.kind) { + case kActResAddInventoryItem: + _inventoryItemStatus[result.value1] = 1; + _currVerbNum = kVerbInvItem; + _currInventoryItem = result.value1; + break; + case kActResRemoveInventoryItem: + _inventoryItemStatus[result.value1] = 0; + if (result.value1 == _currInventoryItem) + _currInventoryItem = -1; + if (_currVerbNum == kVerbInvItem) + _currVerbNum = kVerbLook; + break; + case kActResSetGameVar: + _gameVars[result.value2] = 1; + break; + case kActResUnsetGameVar: + _gameVars[result.value2] = 0; + break; + case kActResStartDialog: + _gameState = kGSDialog; + break; + case kActResChangeScene: + _newSceneNum = result.value2; + break; + } + } +} + +void BbvsEngine::updateBackgroundSounds() { + for (int i = 0; i < _gameModule->getSceneSoundsCount(); ++i) { + SceneSound *sceneSound = _gameModule->getSceneSound(i); + bool isActive = evalCondition(sceneSound->conditions); + debug(5, "bgSound(%d) isActive: %d; soundNum: %d", i, isActive, sceneSound->soundNum); + if (isActive && !_backgroundSoundsActive[i]) { + playSound(sceneSound->soundNum, true); + _backgroundSoundsActive[i] = 1; + } else if (!isActive && _backgroundSoundsActive[i]) { + stopSound(sceneSound->soundNum); + _backgroundSoundsActive[i] = 0; + } + } +} + +void BbvsEngine::loadScene(int sceneNum) { + debug("BbvsEngine::loadScene() sceneNum: %d", sceneNum); + + Common::String sprFilename = Common::String::format("vnm/vspr%04d.vnm", sceneNum); + Common::String gamFilename = Common::String::format("vnm/game%04d.vnm", sceneNum); + + _screen->clear(); + + _spriteModule->load(sprFilename.c_str()); + _gameModule->load(gamFilename.c_str()); + + Palette palette = _spriteModule->getPalette(); + _screen->setPalette(palette); + + // Preload sounds + for (uint i = 0; i < _gameModule->getPreloadSoundsCount(); ++i) { + Common::String filename = Common::String::format("snd/snd%05d.aif", _gameModule->getPreloadSound(i)); + _sound->loadSound(filename); + } + + if (sceneNum >= kMainMenu) { + DrawList drawList; + drawList.add(_gameModule->getBgSpriteIndex(0), 0, 0, 0); + _screen->drawDrawList(drawList, _spriteModule); + drawScreen(); + } + +} + +void BbvsEngine::initScene(bool sounds) { + + stopSpeech(); + stopSounds(); + _sound->unloadSounds(); + + _gameState = kGSScene; + _prevSceneNum = _currSceneNum; + _sceneVisited[_currSceneNum] = 1; + _mouseCursorSpriteIndex = 0; + _verbPos.x = -1; + _verbPos.y = -1; + _activeItemType = kITEmpty; + _activeItemIndex = 0; + _cameraPos.x = 0; + _cameraPos.y = 0; + _newCameraPos.x = 0; + _newCameraPos.y = 0; + _inventoryButtonIndex = -1; + _currTalkObjectIndex = -1; + _currCameraNum = 0; + _walkMousePos.x = -1; + _walkMousePos.y = -1; + _currAction = 0; + _currActionCommandIndex = -1; + _currActionCommandTimeStamp = 0; + _dialogSlotCount = 0; + _buttheadObject = 0; + _beavisObject = 0; + + memset(_backgroundSoundsActive, 0, sizeof(_backgroundSoundsActive)); + + memset(_sceneObjects, 0, sizeof(_sceneObjects)); + for (int i = 0; i < kSceneObjectsCount; ++i) { + _sceneObjects[i].walkDestPt.x = -1; + _sceneObjects[i].walkDestPt.y = -1; + } + + memset(_dialogItemStatus, 0, sizeof(_dialogItemStatus)); + + _sceneObjectActions.clear(); + + loadScene(_newSceneNum); + _currSceneNum = _newSceneNum; + _newSceneNum = 0; + + for (int i = 0; i < _gameModule->getSceneObjectDefsCount(); ++i) + _sceneObjects[i].sceneObjectDef = _gameModule->getSceneObjectDef(i); + + for (int i = 0; i < _gameModule->getSceneObjectInitsCount(); ++i) { + SceneObjectInit *soInit = _gameModule->getSceneObjectInit(i); + if (evalCondition(soInit->conditions)) { + SceneObject *sceneObject = &_sceneObjects[soInit->sceneObjectIndex]; + sceneObject->anim = _gameModule->getAnimation(soInit->animIndex); + sceneObject->animIndex = soInit->animIndex; + sceneObject->frameIndex = sceneObject->anim->frameCount - 1; + sceneObject->frameTicks = 1; + sceneObject->x = soInit->x << 16; + sceneObject->y = soInit->y << 16; + } + } + + if (_gameModule->getButtheadObjectIndex() >= 0) { + _buttheadObject = &_sceneObjects[_gameModule->getButtheadObjectIndex()]; + // Search for the Beavis object + for (int i = 0; i < _gameModule->getSceneObjectDefsCount(); ++i) + if (!strcmp(_sceneObjects[i].sceneObjectDef->name, "Beavis")) { + _beavisObject = &_sceneObjects[i]; + break; + } + } + + updateSceneObjectsTurnValue(); + + updateWalkableRects(); + + _currCameraNum = 0; + if (_buttheadObject) { + int minDistance = 0xFFFFFF; + for (int cameraNum = 0; cameraNum < 4; ++cameraNum) { + CameraInit *cameraInit = _gameModule->getCameraInit(cameraNum); + int curDistance = ABS(cameraInit->cameraPos.x - (int)(_buttheadObject->x >> 16) + 160); + if (curDistance < minDistance) { + minDistance = curDistance; + _currCameraNum = cameraNum; + } + } + } + + _cameraPos = _gameModule->getCameraInit(_currCameraNum)->cameraPos; + _newCameraPos = _cameraPos; + + _walkAreaActions.clear(); + for (int i = 0; i < _gameModule->getActionsCount(); ++i) { + Action *action = _gameModule->getAction(i); + for (int j = 0; j < 8; ++j) + if (action->conditions.conditions[j].cond == kCondIsButtheadAtBgObject) + _walkAreaActions.push_back(action); + } + + _mouseCursorSpriteIndex = 0; + + _activeItemIndex = 0; + _activeItemType = kITEmpty; + + for (int i = 0; i < _gameModule->getActionsCount(); ++i) { + Action *action = _gameModule->getAction(i); + if (evalCondition(action->conditions)) { + _gameState = kGSWait; + _currAction = action; + for (uint j = 0; j < action->actionCommands.size(); ++j) { + ActionCommand *actionCommand = &action->actionCommands[j]; + if (actionCommand->cmd == kActionCmdSetCameraPos) { + _currCameraNum = actionCommand->param; + _cameraPos = _gameModule->getCameraInit(_currCameraNum)->cameraPos; + _newCameraPos = _cameraPos; + break; + } + } + break; + } + } + + if (sounds) + updateBackgroundSounds(); + +} + +bool BbvsEngine::changeScene() { + + writeContinueSavegame(); + + if (_newSceneNum >= 27 && _newSceneNum <= 30) { + // Run minigames + stopSpeech(); + stopSounds(); + _sceneVisited[_currSceneNum] = 1; + if (runMinigame(_newSceneNum - 27)) { + SWAP(_currSceneNum, _newSceneNum); + } + } else if (_newSceneNum >= 31 && _newSceneNum <= 43) { + // Play video + stopSpeech(); + stopSounds(); + _sceneVisited[_currSceneNum] = 1; + _playVideoNumber = _newSceneNum - 30; + _currSceneNum = _newSceneNum; + _newSceneNum = kAfterVideoSceneNum[_playVideoNumber]; + } else if (_newSceneNum >= 100 && _currSceneNum == 45) { + // Play secret video + stopSounds(); + _playVideoNumber = _newSceneNum; + _currSceneNum = 49; + _newSceneNum = 45; + } else { + // Normal scene + initScene(true); + } + + return true; + +} + +bool BbvsEngine::update(int mouseX, int mouseY, uint mouseButtons, Common::KeyCode keyCode) { + + if (_bootSaveSlot >= 0) { + loadGameState(_bootSaveSlot); + _gameTicks = 0; + _bootSaveSlot = -1; + return false; + } + + if (_newSceneNum != 0) { + _gameTicks = 0; + return changeScene(); + } + + _mousePos.x = mouseX + _cameraPos.x; + _mousePos.y = mouseY + _cameraPos.y; + + switch (_gameState) { + + case kGSScene: + _isSaveAllowed = true; + saveSnapshot(); + if (mouseButtons & kRightButtonDown) { + _verbPos = _mousePos; + if (_mousePos.x - _cameraPos.x < 33) + _verbPos.x = _cameraPos.x + 33; + if (_verbPos.x - _cameraPos.x > 287) + _verbPos.x = _cameraPos.x + 287; + if (_verbPos.y - _cameraPos.y < 51) + _verbPos.y = _cameraPos.y + 51; + if (_verbPos.y - _cameraPos.y > 208) + _verbPos.y = _cameraPos.y + 208; + _gameState = kGSVerbs; + } else { + switch (keyCode) { + case Common::KEYCODE_SPACE: + case Common::KEYCODE_i: + _inventoryButtonIndex = -1; + _gameState = kGSInventory; + return true; + case Common::KEYCODE_l: + _currVerbNum = kVerbLook; + break; + case Common::KEYCODE_t: + _currVerbNum = kVerbTalk; + break; + case Common::KEYCODE_u: + _currVerbNum = kVerbUse; + break; + case Common::KEYCODE_w: + _currVerbNum = kVerbWalk; + break; + default: + break; + } + updateScene(mouseButtons & kLeftButtonClicked); + updateCommon(); + } + break; + + case kGSInventory: + _isSaveAllowed = true; + saveSnapshot(); + if (mouseButtons & kRightButtonClicked) + _currVerbNum = kVerbUse; + switch (keyCode) { + case Common::KEYCODE_SPACE: + case Common::KEYCODE_i: + _gameState = kGSScene; + stopSpeech(); + return true; + case Common::KEYCODE_l: + _currVerbNum = kVerbLook; + break; + case Common::KEYCODE_u: + _currVerbNum = kVerbUse; + break; + default: + break; + } + updateInventory(mouseButtons & kLeftButtonClicked); + break; + + case kGSVerbs: + _isSaveAllowed = false; + updateVerbs(); + if (!(mouseButtons & kRightButtonDown)) { + if (_currVerbNum == kVerbShowInv) { + _inventoryButtonIndex = -1; + _gameState = kGSInventory; + } else { + _gameState = kGSScene; + } + } + break; + + case kGSWait: + case kGSWaitDialog: + _isSaveAllowed = false; + _activeItemType = kITEmpty; + _activeItemIndex = 0; + _mouseCursorSpriteIndex = _gameModule->getGuiSpriteIndex(9); + if (keyCode == Common::KEYCODE_ESCAPE) + skipCurrAction(); + else + updateCommon(); + break; + + case kGSDialog: + _isSaveAllowed = true; + saveSnapshot(); + updateDialog(mouseButtons & kLeftButtonClicked); + updateCommon(); + break; + + } + + return true; +} + +void BbvsEngine::buildDrawList(DrawList &drawList) { + + if (_gameState == kGSInventory) { + + // Inventory background + drawList.add(_gameModule->getGuiSpriteIndex(15), 0, 0, 0); + + // Inventory button + if (_inventoryButtonIndex == 0) + drawList.add(_gameModule->getGuiSpriteIndex(18 + 0), 97, 13, 1); + else if (_inventoryButtonIndex == 1) + drawList.add(_gameModule->getGuiSpriteIndex(18 + 1), 135, 15, 1); + else if (_inventoryButtonIndex == 2) + drawList.add(_gameModule->getGuiSpriteIndex(18 + 2), 202, 13, 1); + + // Inventory items + int currItem = -1; + if (_currVerbNum == kVerbInvItem) + currItem = _currInventoryItem; + for (int i = 0; i < 50; ++i) + if (_inventoryItemStatus[i] && currItem != i) + drawList.add(_gameModule->getInventoryItemSpriteIndex(i * 2), kInventorySlotPositions[i].x, kInventorySlotPositions[i].y, 1); + + } else { + + // Scene objects + for (int i = 0; i < _gameModule->getSceneObjectDefsCount(); ++i) { + SceneObject *sceneObject = &_sceneObjects[i]; + Animation *anim = sceneObject->anim; + if (anim) { + drawList.add(anim->frameSpriteIndices[sceneObject->frameIndex], + (sceneObject->x >> 16) - _cameraPos.x, (sceneObject->y >> 16) - _cameraPos.y, + sceneObject->y >> 16); + } + } + + // Background objects + for (int i = 0; i < _gameModule->getBgSpritesCount(); ++i) + drawList.add(_gameModule->getBgSpriteIndex(i), -_cameraPos.x, -_cameraPos.y, _gameModule->getBgSpritePriority(i)); + + if (_gameState == kGSVerbs) { + // Verbs icon background + for (int i = 0; i < 6; ++i) { + if (i != 4) { + int index = (i == _activeItemIndex) ? 17 : 16; + drawList.add(_gameModule->getGuiSpriteIndex(index), _verbPos.x + kVerbRects[i].x - _cameraPos.x, + _verbPos.y + kVerbRects[i].y - _cameraPos.y, 499); + } + } + // Verbs background + drawList.add(_gameModule->getGuiSpriteIndex(13), _verbPos.x - _cameraPos.x, + _verbPos.y - _cameraPos.y, 500); + // Selected inventory item + if (_currInventoryItem >= 0) { + drawList.add(_gameModule->getInventoryItemSpriteIndex(2 * _currInventoryItem), _verbPos.x - _cameraPos.x, + _verbPos.y - _cameraPos.y + 27, 500); + } + } + + if (_gameState == kGSDialog) { + // Dialog background + drawList.add(_gameModule->getGuiSpriteIndex(14), 0, 0, 500); + // Dialog icons + int iconX = 16; + for (int i = 0; i < 50; ++i) + if (_dialogItemStatus[i]) { + drawList.add(_gameModule->getDialogItemSpriteIndex(i), iconX, 36, 501); + iconX += 32; + } + } + + } + + // Mouse cursor + if (_mouseCursorSpriteIndex > 0 && _mousePos.x >= 0) + drawList.add(_mouseCursorSpriteIndex, _mousePos.x - _cameraPos.x, _mousePos.y - _cameraPos.y, 1000); + +} + +void BbvsEngine::updateVerbs() { + + _activeItemIndex = 99; + + if (_mousePos.x < 0) { + _mouseCursorSpriteIndex = 0; + return; + } + + for (int i = 0; i < 6; ++i) { + const BBRect &verbRect = kVerbRects[i]; + const int16 x = _verbPos.x + verbRect.x; + const int16 y = _verbPos.y + verbRect.y; + if (Common::Rect(x, y, x + verbRect.width, y + verbRect.height).contains(_mousePos)) { + if (i != kVerbInvItem || _currInventoryItem >= 0) { + _currVerbNum = i; + _activeItemIndex = i; + } + break; + } + } + + switch (_currVerbNum) { + case kVerbLook: + case kVerbUse: + case kVerbTalk: + case kVerbWalk: + _mouseCursorSpriteIndex = _gameModule->getGuiSpriteIndex(2 * _currVerbNum); + break; + case kVerbInvItem: + _mouseCursorSpriteIndex = _gameModule->getInventoryItemSpriteIndex(2 * _currInventoryItem); + break; + case kVerbShowInv: + _mouseCursorSpriteIndex = _gameModule->getGuiSpriteIndex(8); + break; + } + +} + +void BbvsEngine::updateDialog(bool clicked) { + + if (_mousePos.x < 0) { + _mouseCursorSpriteIndex = 0; + _activeItemType = 0; + return; + } + + if (_mousePos.y > 32) { + _mouseCursorSpriteIndex = _gameModule->getGuiSpriteIndex(10); + _activeItemIndex = 0; + _activeItemType = kITEmpty; + if (clicked) + _gameState = kGSScene; + return; + } + + int slotX = (_mousePos.x - _cameraPos.x) / 32; + + if (slotX >= _dialogSlotCount) { + _mouseCursorSpriteIndex = _gameModule->getGuiSpriteIndex(4); + _activeItemType = kITEmpty; + _activeItemIndex = 0; + return; + } + + _mouseCursorSpriteIndex = _gameModule->getGuiSpriteIndex(5); + _activeItemType = kITDialog; + + // Find the selected dialog item index + for (int i = 0; i < 50 && slotX >= 0; ++i) { + if (_dialogItemStatus[i]) { + --slotX; + _activeItemIndex = i; + } + } + + // Select the dialog item action if it was clicked + if (clicked) { + for (int i = 0; i < _gameModule->getActionsCount(); ++i) { + Action *action = _gameModule->getAction(i); + if (evalCondition(action->conditions)) { + _mouseCursorSpriteIndex = 0; + _gameState = kGSWaitDialog; + _currAction = action; + break; + } + } + } + +} + +void BbvsEngine::updateInventory(bool clicked) { + + Common::Rect kInvButtonRects[3] = { + Common::Rect(97, 13, 97 + 20, 13 + 26), + Common::Rect(135, 15, 135 + 46, 15 + 25), + Common::Rect(202, 13, 202 + 20, 13 + 26)}; + + if (_mousePos.x < 0) { + _mouseCursorSpriteIndex = 0; + _activeItemType = 0; + return; + } + + if (_currVerbNum != kVerbLook && _currVerbNum != kVerbUse && _currVerbNum != kVerbInvItem) + _currVerbNum = kVerbUse; + + const int16 mx = _mousePos.x - _cameraPos.x; + const int16 my = _mousePos.y - _cameraPos.y; + + // Check inventory exit left/right edge of screen + if (mx < 40 || mx > 280) { + _mouseCursorSpriteIndex = _gameModule->getGuiSpriteIndex(10); + _activeItemIndex = 0; + _activeItemType = kITEmpty; + if (clicked) { + _gameState = kGSScene; + stopSpeech(); + } + return; + } + + // Check hovered/clicked inventory button + _inventoryButtonIndex = -1; + if (kInvButtonRects[0].contains(mx, my)) { + _inventoryButtonIndex = 0; + if (clicked) + _currVerbNum = kVerbLook; + } else if (kInvButtonRects[2].contains(mx, my)) { + _inventoryButtonIndex = 2; + if (clicked) + _currVerbNum = kVerbUse; + } else if (kInvButtonRects[1].contains(mx, my)) { + _inventoryButtonIndex = 1; + _mouseCursorSpriteIndex = _gameModule->getGuiSpriteIndex(10); + _activeItemIndex = 0; + _activeItemType = kITEmpty; + if (clicked) { + _gameState = kGSScene; + stopSpeech(); + } + return; + } + + // Find hovered/clicked inventory item + + int currItem = -1; + + if (_currVerbNum == kVerbInvItem) + currItem = _currInventoryItem; + + _activeItemType = kITEmpty; + + for (int i = 0; i < 50; ++i) { + if (_inventoryItemStatus[i] && i != currItem) { + InventoryItemInfo *info = _gameModule->getInventoryItemInfo(i); + const int16 sx = kInventorySlotPositions[i].x + info->xOffs; + const int16 sy = kInventorySlotPositions[i].y + info->yOffs; + if (Common::Rect(sx, sy, sx + info->width, sy + info->height).contains(mx, my)) { + _activeItemType = kITInvItem; + _activeItemIndex = i; + break; + } + } + } + + // Update mouse cursor and select inventory item if clicked + + if (_activeItemType == kITInvItem) { + if (clicked) { + if (_currVerbNum == kVerbLook) { + stopSpeech(); + playSpeech(_activeItemIndex + 10000); + } else if (_currVerbNum == kVerbUse) { + _currInventoryItem = _activeItemIndex; + _currVerbNum = kVerbInvItem; + _mouseCursorSpriteIndex = _gameModule->getInventoryItemSpriteIndex(2 * _activeItemIndex); + } else if (_currVerbNum == kVerbInvItem) { + if ((_currInventoryItem == 22 && _activeItemIndex == 39) || + (_currInventoryItem == 39 && _activeItemIndex == 22)) { + _inventoryItemStatus[22] = 0; + _inventoryItemStatus[39] = 0; + _inventoryItemStatus[40] = 1; + _currVerbNum = kVerbInvItem; + _currInventoryItem = 40; + _mouseCursorSpriteIndex = _gameModule->getInventoryItemSpriteIndex(40); + } + if ((_currInventoryItem == 25 && _activeItemIndex == 26) || + (_currInventoryItem == 26 && _activeItemIndex == 25)) { + _inventoryItemStatus[26] = 0; + _inventoryItemStatus[25] = 0; + _inventoryItemStatus[27] = 1; + _currVerbNum = kVerbInvItem; + _currInventoryItem = 27; + _mouseCursorSpriteIndex = _gameModule->getInventoryItemSpriteIndex(27); + } + } + } else { + if (_currVerbNum == kVerbLook) + _mouseCursorSpriteIndex = _gameModule->getGuiSpriteIndex(1); + else if (_currVerbNum == kVerbUse) + _mouseCursorSpriteIndex = _gameModule->getGuiSpriteIndex(3); + else if (_currVerbNum == kVerbInvItem) + _mouseCursorSpriteIndex = _gameModule->getInventoryItemSpriteIndex(2 * _currInventoryItem + 1); + } + } else { + if (_currVerbNum >= kVerbInvItem) + _mouseCursorSpriteIndex = _gameModule->getInventoryItemSpriteIndex(2 * _currInventoryItem); + else + _mouseCursorSpriteIndex = _gameModule->getGuiSpriteIndex(2 * _currVerbNum); + } + +} + +void BbvsEngine::updateScene(bool clicked) { + + if (_mousePos.x < 0) { + _mouseCursorSpriteIndex = 0; + _activeItemType = kITNone; + return; + } + + int lastPriority = 0; + + _activeItemType = kITEmpty; + + for (int i = 0; i < _gameModule->getSceneObjectDefsCount(); ++i) { + SceneObject *sceneObject = &_sceneObjects[i]; + if (sceneObject->anim) { + Common::Rect frameRect = sceneObject->anim->frameRects1[sceneObject->frameIndex]; + const int objY = sceneObject->y >> 16; + frameRect.translate(sceneObject->x >> 16, objY); + if (lastPriority <= objY && frameRect.width() > 0 && frameRect.contains(_mousePos)) { + lastPriority = objY; + _activeItemIndex = i; + _activeItemType = KITSceneObject; + } + } + } + + for (int i = 0; i < _gameModule->getBgObjectsCount(); ++i) { + BgObject *bgObject = _gameModule->getBgObject(i); + if (lastPriority <= bgObject->rect.bottom && bgObject->rect.contains(_mousePos)) { + lastPriority = bgObject->rect.bottom; + _activeItemIndex = i; + _activeItemType = kITBgObject; + } + } + + if (_currVerbNum >= kVerbInvItem) + _mouseCursorSpriteIndex = _gameModule->getInventoryItemSpriteIndex(2 * _currInventoryItem); + else + _mouseCursorSpriteIndex = _gameModule->getGuiSpriteIndex(2 * _currVerbNum); + + bool checkMore = true; + + if (_activeItemType == KITSceneObject || _activeItemType == kITBgObject) { + for (int i = 0; i < _gameModule->getActionsCount(); ++i) { + Action *action = _gameModule->getAction(i); + if (evalCondition(action->conditions)) { + checkMore = false; + if (clicked) { + _mouseCursorSpriteIndex = 0; + _gameState = kGSWait; + _currAction = action; + if (_currVerbNum == kVerbTalk) + _currTalkObjectIndex = _activeItemIndex; + if (_buttheadObject) { + _buttheadObject->walkDestPt.x = -1; + _buttheadObject->walkCount = 0; + } + } else { + if (_currVerbNum >= kVerbInvItem) + _mouseCursorSpriteIndex = _gameModule->getInventoryItemSpriteIndex(2 * _currInventoryItem + 1); + else + _mouseCursorSpriteIndex = _gameModule->getGuiSpriteIndex(2 * _currVerbNum + 1); + } + break; + } + } + } + + // Test scroll arrow left + if (checkMore && _buttheadObject && _buttheadObject->anim && _mousePos.x - _cameraPos.x < 16 && _currCameraNum > 0) { + --_currCameraNum; + for (int i = 0; i < _gameModule->getActionsCount(); ++i) { + Action *action = _gameModule->getAction(i); + if (evalCameraCondition(action->conditions, _currCameraNum + 1)) { + checkMore = false; + if (clicked) { + _mouseCursorSpriteIndex = 0; + _gameState = kGSWait; + _currAction = action; + _buttheadObject->walkDestPt.x = -1; + _buttheadObject->walkCount = 0; + } else { + _activeItemType = kITScroll; + _mouseCursorSpriteIndex = _gameModule->getGuiSpriteIndex(12); + } + break; + } + } + ++_currCameraNum; + } + + // Test scroll arrow right + if (checkMore && _buttheadObject && _buttheadObject->anim && _mousePos.x - _cameraPos.x >= 304 && _currCameraNum < 4) { + ++_currCameraNum; + for (int i = 0; i < _gameModule->getActionsCount(); ++i) { + Action *action = _gameModule->getAction(i); + if (evalCameraCondition(action->conditions, _currCameraNum - 1)) { + checkMore = false; + if (clicked) { + _mouseCursorSpriteIndex = 0; + _gameState = kGSWait; + _currAction = action; + _buttheadObject->walkDestPt.x = -1; + _buttheadObject->walkCount = 0; + } else { + _activeItemType = kITScroll; + _mouseCursorSpriteIndex = _gameModule->getGuiSpriteIndex(11); + } + break; + } + } + --_currCameraNum; + } + + if (checkMore && _buttheadObject && _buttheadObject->anim) { + _walkMousePos = _mousePos; + + while (1) { + int foundIndex = -1; + + for (int i = 0; i < _walkableRectsCount; ++i) + if (_walkableRects[i].contains(_walkMousePos)) { + foundIndex = i; + break; + } + + if (foundIndex >= 0) { + if (_walkMousePos.y != _mousePos.y) + _walkMousePos.y = _walkableRects[foundIndex].top; + break; + } else { + _walkMousePos.y += 4; + if (_walkMousePos.y >= 240) + break; + } + + } + + if (_beavisObject->anim) { + Common::Rect frameRect = _beavisObject->anim->frameRects2[_beavisObject->frameIndex]; + frameRect.translate(_beavisObject->x >> 16, (_beavisObject->y >> 16) + 1); + if (!frameRect.isEmpty() && frameRect.contains(_walkMousePos)) + _walkMousePos.y = frameRect.bottom; + } + + if (_walkMousePos.y < 240 && canButtheadWalkToDest(_walkMousePos)) { + if (clicked) { + _buttheadObject->walkDestPt = _walkMousePos; + _buttheadObject->walkCount = 0; + } + for (int i = 0; i < _gameModule->getSceneExitsCount(); ++i) { + SceneExit *sceneExit = _gameModule->getSceneExit(i); + if (sceneExit->rect.contains(_walkMousePos.x, _walkMousePos.y)) { + _activeItemIndex = i; + _activeItemType = kITSceneExit; + _mouseCursorSpriteIndex = _gameModule->getGuiSpriteIndex(10); + } + } + } else { + _walkMousePos.x = -1; + _walkMousePos.y = -1; + } + + } + +} + +bool BbvsEngine::performActionCommand(ActionCommand *actionCommand) { + debug(5, "BbvsEngine::performActionCommand() cmd: %d", actionCommand->cmd); + + switch (actionCommand->cmd) { + + case kActionCmdStop: + stopSpeech(); + return false; + + case kActionCmdWalkObject: + { + SceneObject *sceneObject = &_sceneObjects[actionCommand->sceneObjectIndex]; + debug(5, "[%s] walks from (%d, %d) to (%d, %d)", sceneObject->sceneObjectDef->name, + sceneObject->x >> 16, sceneObject->y >> 16, actionCommand->walkDest.x, actionCommand->walkDest.y); + walkObject(sceneObject, actionCommand->walkDest, actionCommand->param); + } + return true; + + case kActionCmdMoveObject: + { + SceneObject *sceneObject = &_sceneObjects[actionCommand->sceneObjectIndex]; + sceneObject->x = actionCommand->walkDest.x << 16; + sceneObject->y = actionCommand->walkDest.y << 16; + sceneObject->xIncr = 0; + sceneObject->yIncr = 0; + sceneObject->walkCount = 0; + } + return true; + + case kActionCmdAnimObject: + { + SceneObject *sceneObject = &_sceneObjects[actionCommand->sceneObjectIndex]; + if (actionCommand->param == 0) { + sceneObject->anim = 0; + sceneObject->animIndex = 0; + sceneObject->frameTicks = 0; + sceneObject->frameIndex = 0; + } else if (actionCommand->timeStamp != 0 || sceneObject->anim != _gameModule->getAnimation(actionCommand->param)) { + sceneObject->animIndex = actionCommand->param; + sceneObject->anim = _gameModule->getAnimation(actionCommand->param); + sceneObject->frameIndex = sceneObject->anim->frameCount - 1; + sceneObject->frameTicks = 1; + } + } + return true; + + case kActionCmdSetCameraPos: + _currCameraNum = actionCommand->param; + _newCameraPos = _gameModule->getCameraInit(_currCameraNum)->cameraPos; + updateBackgroundSounds(); + return true; + + case kActionCmdPlaySpeech: + playSpeech(actionCommand->param); + return true; + + case kActionCmdPlaySound: + playSound(actionCommand->param); + return true; + + case kActionCmdStartBackgroundSound: + { + const uint soundIndex = _gameModule->getSceneSoundIndex(actionCommand->param); + if (!_backgroundSoundsActive[soundIndex]) { + _backgroundSoundsActive[soundIndex] = 1; + playSound(actionCommand->param, true); + } + } + return true; + + case kActionCmdStopBackgroundSound: + { + const uint soundIndex = _gameModule->getSceneSoundIndex(actionCommand->param); + _backgroundSoundsActive[soundIndex] = 0; + stopSound(actionCommand->param); + } + return true; + + default: + return true; + + } + +} + +bool BbvsEngine::processCurrAction() { + bool actionsFinished = false; + + if (_sceneObjectActions.size() == 0) { + + for (uint i = 0; i < _currAction->actionCommands.size(); ++i) { + ActionCommand *actionCommand = &_currAction->actionCommands[i]; + if (actionCommand->timeStamp != 0) + break; + + if (actionCommand->cmd == kActionCmdMoveObject || actionCommand->cmd == kActionCmdAnimObject) { + SceneObjectAction *sceneObjectAction = 0; + // See if there's already an entry for the SceneObject + for (uint j = 0; j < _sceneObjectActions.size(); ++j) + if (_sceneObjectActions[j].sceneObjectIndex == actionCommand->sceneObjectIndex) { + sceneObjectAction = &_sceneObjectActions[j]; + break; + } + // If not, add one + if (!sceneObjectAction) { + SceneObjectAction newSceneObjectAction; + newSceneObjectAction.sceneObjectIndex = actionCommand->sceneObjectIndex; + _sceneObjectActions.push_back(newSceneObjectAction); + sceneObjectAction = &_sceneObjectActions.back(); + } + if (actionCommand->cmd == kActionCmdMoveObject) { + sceneObjectAction->walkDest = actionCommand->walkDest; + } else { + sceneObjectAction->animationIndex = actionCommand->param; + } + } + + if (actionCommand->cmd == kActionCmdSetCameraPos) { + _currCameraNum = actionCommand->param; + _newCameraPos = _gameModule->getCameraInit(actionCommand->param)->cameraPos; + } + + } + + // Delete entries for SceneObjects without anim + for (uint i = 0; i < _sceneObjectActions.size();) { + if (!_sceneObjects[_sceneObjectActions[i].sceneObjectIndex].anim) + _sceneObjectActions.remove_at(i); + else + ++i; + } + + // Prepare affected scene objects + for (uint i = 0; i < _sceneObjectActions.size(); ++i) { + _sceneObjects[_sceneObjectActions[i].sceneObjectIndex].walkCount = 0; + _sceneObjects[_sceneObjectActions[i].sceneObjectIndex].turnCount = 0; + } + + } + + actionsFinished = true; + + // Update SceneObject actions (walk and turn) + for (uint i = 0; i < _sceneObjectActions.size(); ++i) { + SceneObjectAction *soAction = &_sceneObjectActions[i]; + SceneObject *sceneObject = &_sceneObjects[soAction->sceneObjectIndex]; + if (sceneObject->walkDestPt.x != -1) { + debug(5, "waiting for walk to finish"); + actionsFinished = false; + } else if ((sceneObject->x >> 16) != soAction->walkDest.x || (sceneObject->y >> 16) != soAction->walkDest.y) { + debug(5, "starting to walk"); + sceneObject->walkDestPt = soAction->walkDest; + actionsFinished = false; + } else if (sceneObject->walkCount == 0 && sceneObject->turnCount == 0) { + debug(5, "not walking"); + for (int turnCount = 0; turnCount < 8; ++turnCount) + if (sceneObject->sceneObjectDef->animIndices[kWalkTurnTbl[turnCount]] == soAction->animationIndex && sceneObject->turnValue != turnCount) { + sceneObject->turnCount = turnCount | 0x80; + break; + } + } + if (sceneObject->turnCount) + actionsFinished = false; + } + + if (actionsFinished) + _sceneObjectActions.clear(); + + return actionsFinished; +} + +void BbvsEngine::skipCurrAction() { + ActionCommands &actionCommands = _currAction->actionCommands; + while (_currAction && _newSceneNum == 0) + updateCommon(); + for (uint i = 0; i < actionCommands.size(); ++i) + if (actionCommands[i].cmd == kActionCmdPlaySound) + stopSound(actionCommands[i].param); + _system->delayMillis(250); + _gameTicks = 0; +} + +void BbvsEngine::updateCommon() { + + if (_currAction) { + + bool doActionCommands = true; + + if (_currActionCommandTimeStamp == 0) { + doActionCommands = processCurrAction(); + _currActionCommandIndex = 0; + } + + if (doActionCommands) { + + ActionCommand *actionCommand = &_currAction->actionCommands[_currActionCommandIndex]; + + while (actionCommand->timeStamp == _currActionCommandTimeStamp && + _currActionCommandIndex < (int)_currAction->actionCommands.size()) { + if (!performActionCommand(actionCommand)) { + _gameState = kGSScene; + evalActionResults(_currAction->results); + if (_gameState == kGSDialog) + updateDialogConditions(); + _currAction = 0; + _currActionCommandTimeStamp = 0; + _currActionCommandIndex = -1; + updateSceneObjectsTurnValue(); + updateWalkableRects(); + break; + } + actionCommand = &_currAction->actionCommands[++_currActionCommandIndex]; + } + + if (_currAction) { + ++_currActionCommandTimeStamp; + } else { + _activeItemIndex = 0; + _mouseCursorSpriteIndex = 0; + _activeItemType = kITEmpty; + for (int i = 0; i < _gameModule->getActionsCount(); ++i) { + Action *action = _gameModule->getAction(i); + if (evalCondition(action->conditions)) { + _gameState = kGSWait; + _currAction = action; + } + } + } + + } + + } + + for (int i = 0; i < _gameModule->getSceneObjectDefsCount(); ++i) { + SceneObject *sceneObject = &_sceneObjects[i]; + + if (sceneObject->walkDestPt.x != -1) { + if (sceneObject->walkCount == 0) { + debug(5, "[%s] needs to walk", sceneObject->sceneObjectDef->name); + startWalkObject(sceneObject); + if (sceneObject->walkCount == 0) { + debug(5, "no walk possible"); + sceneObject->walkDestPt.x = -1; + sceneObject->walkDestPt.y = -1; + sceneObject->xIncr = 0; + sceneObject->yIncr = 0; + } + } + updateWalkObject(sceneObject); + } + + if (sceneObject->walkCount > 0 && sceneObject->turnCount == 0) { + debug(5, "walk step, xIncr: %d, yIncr: %d", sceneObject->xIncr, sceneObject->yIncr); + sceneObject->x += sceneObject->xIncr; + sceneObject->y += sceneObject->yIncr; + --sceneObject->walkCount; + } else if (sceneObject->turnCount != 0) { + debug(5, "need turn, turnCount: %d", sceneObject->turnCount); + turnObject(sceneObject); + } + + if (sceneObject == _buttheadObject && sceneObject->walkDestPt.x != -1) { + for (uint j = 0; j < _walkAreaActions.size(); ++j) { + if (_walkAreaActions[j] != _currAction && evalCondition(_walkAreaActions[j]->conditions)) { + _sceneObjectActions.clear(); + _gameState = kGSWait; + _currAction = _walkAreaActions[j]; + _currActionCommandTimeStamp = 0; + _currActionCommandIndex = -1; + for (int k = 0; k < _gameModule->getSceneObjectDefsCount(); ++k) { + SceneObject *sceneObject2 = &_sceneObjects[k]; + sceneObject2->walkDestPt.x = -1; + sceneObject2->walkDestPt.y = -1; + sceneObject2->walkCount = 0; + } + break; + } + } + } + + if (sceneObject->anim && --sceneObject->frameTicks == 0) { + if (++sceneObject->frameIndex >= sceneObject->anim->frameCount) + sceneObject->frameIndex = 0; + sceneObject->frameTicks = sceneObject->anim->frameTicks[sceneObject->frameIndex]; + } + + } + + if (!_currAction && _buttheadObject) { + int16 buttheadX = _buttheadObject->x >> 16; + int16 buttheadY = _buttheadObject->y >> 16; + CameraInit *cameraInit = _gameModule->getCameraInit(_currCameraNum); + for (int i = 0; i < 8; ++i) { + if (cameraInit->rects[i].contains(buttheadX, buttheadY)) { + int newCameraNum = cameraInit->cameraLinks[i]; + if (_currCameraNum != newCameraNum) { + int prevCameraNum = _currCameraNum; + _currCameraNum = newCameraNum; + _newCameraPos = _gameModule->getCameraInit(newCameraNum)->cameraPos; + for (int j = 0; j < _gameModule->getActionsCount(); ++j) { + Action *action = _gameModule->getAction(j); + if (evalCameraCondition(action->conditions, prevCameraNum)) { + _gameState = kGSWait; + _currAction = action; + _mouseCursorSpriteIndex = 0; + _buttheadObject->walkDestPt.x = -1; + _buttheadObject->walkCount = 0; + break; + } + } + updateBackgroundSounds(); + } + } + } + } + + if (_cameraPos.x < _newCameraPos.x) + ++_cameraPos.x; + if (_cameraPos.x > _newCameraPos.x) + --_cameraPos.x; + if (_cameraPos.y < _newCameraPos.y) + ++_cameraPos.y; + if (_cameraPos.y > _newCameraPos.y) + --_cameraPos.y; + + // Check if Butthead is inside a scene exit + if (_newSceneNum == 0 && !_currAction && _buttheadObject) { + int16 buttheadX = _buttheadObject->x >> 16; + int16 buttheadY = _buttheadObject->y >> 16; + for (int i = 0; i < _gameModule->getSceneExitsCount(); ++i) { + SceneExit *sceneExit = _gameModule->getSceneExit(i); + if (sceneExit->rect.contains(buttheadX, buttheadY)) { + _newSceneNum = sceneExit->newModuleNum; + break; + } + } + } + +} + +void BbvsEngine::startWalkObject(SceneObject *sceneObject) { + const int kMaxDistance = 0xFFFFFF; + + if (_buttheadObject != sceneObject && _beavisObject != sceneObject) + return; + + initWalkAreas(sceneObject); + _sourceWalkAreaPt.x = sceneObject->x >> 16; + _sourceWalkAreaPt.y = sceneObject->y >> 16; + + _sourceWalkArea = getWalkAreaAtPos(_sourceWalkAreaPt); + if (!_sourceWalkArea) + return; + + _destWalkAreaPt = sceneObject->walkDestPt; + + _destWalkArea = getWalkAreaAtPos(_destWalkAreaPt); + if (!_destWalkArea) + return; + + if (_sourceWalkArea != _destWalkArea) { + _currWalkDistance = kMaxDistance; + walkFindPath(_sourceWalkArea, 0); + _destWalkAreaPt = _currWalkDistance == kMaxDistance ? _sourceWalkAreaPt : _finalWalkPt; + } + + walkObject(sceneObject, _destWalkAreaPt, sceneObject->sceneObjectDef->walkSpeed); + +} + +void BbvsEngine::updateWalkObject(SceneObject *sceneObject) { + int animIndex; + + if (sceneObject->walkCount > 0 && (sceneObject->xIncr != 0 || sceneObject->yIncr != 0)) { + if (ABS(sceneObject->xIncr) <= ABS(sceneObject->yIncr)) + sceneObject->turnValue = sceneObject->yIncr >= 0 ? 0 : 4; + else + sceneObject->turnValue = sceneObject->xIncr >= 0 ? 6 : 2; + animIndex = sceneObject->sceneObjectDef->animIndices[kWalkAnimTbl[sceneObject->turnValue]]; + sceneObject->turnCount = 0; + sceneObject->turnTicks = 0; + } else { + animIndex = sceneObject->sceneObjectDef->animIndices[kWalkTurnTbl[sceneObject->turnValue]]; + } + + Animation *anim = 0; + if (animIndex > 0) + anim = _gameModule->getAnimation(animIndex); + + if (sceneObject->anim != anim) { + if (anim) { + sceneObject->anim = anim; + sceneObject->animIndex = animIndex; + sceneObject->frameTicks = 1; + sceneObject->frameIndex = anim->frameCount - 1; + } else { + sceneObject->anim = 0; + sceneObject->animIndex = 0; + sceneObject->frameTicks = 0; + sceneObject->frameIndex = 0; + } + } + +} + +void BbvsEngine::walkObject(SceneObject *sceneObject, const Common::Point &destPt, int walkSpeed) { + int deltaX = destPt.x - (sceneObject->x >> 16); + int deltaY = destPt.y - (sceneObject->y >> 16); + float distance = sqrt(deltaX * deltaX + deltaY * deltaY); + // NOTE The original doesn't have this check but without it the whole pathfinding breaks + if (distance > 0.0) { + sceneObject->walkCount = distance / ((((float)ABS(deltaX) / distance) + 1.0) * ((float)walkSpeed / 120)); + sceneObject->xIncr = ((float)deltaX / sceneObject->walkCount) * 65536.0; + sceneObject->yIncr = ((float)deltaY / sceneObject->walkCount) * 65536.0; + sceneObject->x = (sceneObject->x & 0xFFFF0000) | 0x8000; + sceneObject->y = (sceneObject->y & 0xFFFF0000) | 0x8000; + } else + sceneObject->walkCount = 0; +} + +void BbvsEngine::turnObject(SceneObject *sceneObject) { + if (sceneObject->turnTicks > 0) { + --sceneObject->turnTicks; + } else { + int turnDir = kTurnInfo[sceneObject->turnValue][sceneObject->turnCount & 0x7F]; + if (turnDir) { + sceneObject->turnValue = (sceneObject->turnValue + turnDir) & 7; + int turnAnimIndex = sceneObject->sceneObjectDef->animIndices[kWalkTurnTbl[sceneObject->turnValue]]; + if (turnAnimIndex) { + Animation *anim = _gameModule->getAnimation(turnAnimIndex); + if (anim) { + sceneObject->anim = anim; + sceneObject->animIndex = turnAnimIndex; + sceneObject->turnTicks = 4; + sceneObject->frameTicks = 1; + sceneObject->frameIndex = anim->frameCount - 1; + } + } + } else { + sceneObject->turnCount = 0; + } + } +} + +bool BbvsEngine::rectIntersection(const Common::Rect &rect1, const Common::Rect &rect2, Common::Rect &outRect) { + outRect.left = MAX(rect1.left, rect2.left); + outRect.top = MAX(rect1.top, rect2.top); + outRect.right = MIN(rect1.right, rect2.right); + outRect.bottom = MIN(rect1.bottom, rect2.bottom); + return !outRect.isEmpty(); +} + +int BbvsEngine::rectSubtract(const Common::Rect &rect1, const Common::Rect &rect2, Common::Rect *outRects) { + int count = 0; + Common::Rect workRect; + if (rectIntersection(rect1, rect2, workRect)) { + count = 0; + outRects[count] = Common::Rect(rect2.width(), workRect.top - rect2.top); + if (!outRects[count].isEmpty()) { + outRects[count].translate(rect2.left, rect2.top); + ++count; + } + outRects[count] = Common::Rect(workRect.left - rect2.left, workRect.height()); + if (!outRects[count].isEmpty()) { + outRects[count].translate(rect2.left, workRect.top); + ++count; + } + outRects[count] = Common::Rect(rect2.right - workRect.right, workRect.height()); + if (!outRects[count].isEmpty()) { + outRects[count].translate(workRect.right, workRect.top); + ++count; + } + outRects[count] = Common::Rect(rect2.width(), rect2.bottom - workRect.bottom); + if (!outRects[count].isEmpty()) { + outRects[count].translate(rect2.left, workRect.bottom); + ++count; + } + } else { + outRects[0] = rect2; + count = 1; + } + return count; +} + +WalkInfo *BbvsEngine::addWalkInfo(int16 x, int16 y, int delta, int direction, int16 midPtX, int16 midPtY, int walkAreaIndex) { + WalkInfo *walkInfo = &_walkInfos[_walkInfosCount++]; + walkInfo->walkAreaIndex = walkAreaIndex; + walkInfo->direction = direction; + walkInfo->x = x; + walkInfo->y = y; + walkInfo->delta = delta; + walkInfo->midPt.x = midPtX; + walkInfo->midPt.y = midPtY; + return walkInfo; +} + +void BbvsEngine::initWalkAreas(SceneObject *sceneObject) { + int16 objX = sceneObject->x >> 16; + int16 objY = sceneObject->y >> 16; + Common::Rect rect; + bool doRect = false; + Common::Rect *workWalkableRects; + + if (_buttheadObject == sceneObject && _beavisObject->anim) { + rect = _beavisObject->anim->frameRects2[_beavisObject->frameIndex]; + rect.translate(_beavisObject->x >> 16, 1 + (_beavisObject->y >> 16)); + doRect = !rect.isEmpty(); + } else if (_buttheadObject->anim) { + rect = _buttheadObject->anim->frameRects2[_buttheadObject->frameIndex]; + rect.translate(_buttheadObject->x >> 16, 1 + (_buttheadObject->y >> 16)); + doRect = !rect.isEmpty(); + } + + workWalkableRects = _walkableRects; + + _walkAreasCount = _walkableRectsCount; + + if (doRect && !rect.contains(objX, objY)) { + _walkAreasCount = 0; + for (int i = 0; i < _walkableRectsCount; ++i) + _walkAreasCount += rectSubtract(rect, _walkableRects[i], &_tempWalkableRects1[_walkAreasCount]); + workWalkableRects = _tempWalkableRects1; + } + + for (int i = 0; i < _walkAreasCount; ++i) { + _walkAreas[i].x = workWalkableRects[i].left; + _walkAreas[i].y = workWalkableRects[i].top; + _walkAreas[i].width = workWalkableRects[i].width(); + _walkAreas[i].height = workWalkableRects[i].height(); + _walkAreas[i].checked = false; + _walkAreas[i].linksCount = 0; + } + + _walkInfosCount = 0; + + // Find connections between the walkRects + + for (int i = 0; i < _walkAreasCount; ++i) { + WalkArea *walkArea1 = &_walkAreas[i]; + int xIter = walkArea1->x + walkArea1->width; + int yIter = walkArea1->y + walkArea1->height; + + for (int j = 0; j < _walkAreasCount; ++j) { + WalkArea *walkArea2 = &_walkAreas[j]; + + if (i == j) + continue; + + if (walkArea2->y == yIter) { + int wa1x = MAX(walkArea1->x, walkArea2->x); + int wa2x = MIN(walkArea2->x + walkArea2->width, xIter); + if (wa2x > wa1x) { + debug(5, "WalkArea %d connected to %d by Y", i, j); + WalkInfo *walkInfo1 = addWalkInfo(wa1x, yIter - 1, wa2x - wa1x, 0, wa1x + (wa2x - wa1x) / 2, yIter - 1, i); + WalkInfo *walkInfo2 = addWalkInfo(wa1x, yIter, wa2x - wa1x, 0, wa1x + (wa2x - wa1x) / 2, yIter, j); + walkArea1->linksD1[walkArea1->linksCount] = walkInfo1; + walkArea1->linksD2[walkArea1->linksCount] = walkInfo2; + walkArea1->links[walkArea1->linksCount++] = walkArea2; + walkArea2->linksD1[walkArea2->linksCount] = walkInfo2; + walkArea2->linksD2[walkArea2->linksCount] = walkInfo1; + walkArea2->links[walkArea2->linksCount++] = walkArea1; + } + } + + if (walkArea2->x == xIter) { + int wa1y = MAX(walkArea1->y, walkArea2->y); + int wa2y = MIN(walkArea2->y + walkArea2->height, yIter); + if (wa2y > wa1y) { + debug(5, "WalkArea %d connected to %d by X", i, j); + WalkInfo *walkInfo1 = addWalkInfo(xIter - 1, wa1y, wa2y - wa1y, 1, xIter - 1, wa1y + (wa2y - wa1y) / 2, i); + WalkInfo *walkInfo2 = addWalkInfo(xIter, wa1y, wa2y - wa1y, 1, xIter, wa1y + (wa2y - wa1y) / 2, j); + walkArea1->linksD1[walkArea1->linksCount] = walkInfo1; + walkArea1->linksD2[walkArea1->linksCount] = walkInfo2; + walkArea1->links[walkArea1->linksCount++] = walkArea2; + walkArea2->linksD1[walkArea2->linksCount] = walkInfo2; + walkArea2->linksD2[walkArea2->linksCount] = walkInfo1; + walkArea2->links[walkArea2->linksCount++] = walkArea1; + } + } + + } + + } + +} + +WalkArea *BbvsEngine::getWalkAreaAtPos(const Common::Point &pt) { + for (int i = 0; i < _walkAreasCount; ++i) { + WalkArea *walkArea = &_walkAreas[i]; + if (walkArea->contains(pt)) + return walkArea; + } + return 0; +} + +bool BbvsEngine::canButtheadWalkToDest(const Common::Point &destPt) { + Common::Point srcPt; + + _walkReachedDestArea = false; + initWalkAreas(_buttheadObject); + srcPt.x = _buttheadObject->x >> 16; + srcPt.y = _buttheadObject->y >> 16; + _sourceWalkArea = getWalkAreaAtPos(srcPt); + if (_sourceWalkArea) { + _destWalkArea = getWalkAreaAtPos(destPt); + if (_destWalkArea) + canWalkToDest(_sourceWalkArea, 0); + } + return _walkReachedDestArea; +} + +void BbvsEngine::canWalkToDest(WalkArea *walkArea, int infoCount) { + + if (_destWalkArea == walkArea) { + _walkReachedDestArea = true; + return; + } + + if (_gameModule->getFieldC() <= 320 || infoCount <= 20) { + walkArea->checked = true; + for (int linkIndex = 0; linkIndex < walkArea->linksCount; ++linkIndex) { + if (!walkArea->links[linkIndex]->checked) { + canWalkToDest(walkArea->links[linkIndex], infoCount + 2); + if (_walkReachedDestArea) + break; + } + } + walkArea->checked = false; + } + +} + +bool BbvsEngine::walkTestLineWalkable(const Common::Point &sourcePt, const Common::Point &destPt, WalkInfo *walkInfo) { + const float ptDeltaX = destPt.x - sourcePt.x; + const float ptDeltaY = destPt.y - sourcePt.y; + const float wDeltaX = walkInfo->x - sourcePt.x; + const float wDeltaY = walkInfo->y - sourcePt.y; + if (destPt.x == sourcePt.x) + return true; + if (walkInfo->direction) { + const float nDeltaY = wDeltaX * ptDeltaY / ptDeltaX + (float)sourcePt.y - (float)walkInfo->y; + return (nDeltaY >= 0.0) && (nDeltaY < (float)walkInfo->delta); + } else { + const float nDeltaX = wDeltaY / ptDeltaX * ptDeltaY + (float)sourcePt.x - (float)walkInfo->x; + return (nDeltaX >= 0.0) && (nDeltaX < (float)walkInfo->delta); + } + return false; +} + +void BbvsEngine::walkFindPath(WalkArea *sourceWalkArea, int infoCount) { + if (_destWalkArea == sourceWalkArea) { + walkFoundPath(infoCount); + } else if (_gameModule->getFieldC() <= 320 || infoCount <= 20) { + sourceWalkArea->checked = true; + for (int linkIndex = 0; linkIndex < sourceWalkArea->linksCount; ++linkIndex) { + if (!sourceWalkArea->links[linkIndex]->checked) { + _walkInfoPtrs[infoCount + 0] = sourceWalkArea->linksD1[linkIndex]; + _walkInfoPtrs[infoCount + 1] = sourceWalkArea->linksD2[linkIndex]; + walkFindPath(sourceWalkArea->links[linkIndex], infoCount + 2); + } + } + sourceWalkArea->checked = false; + } +} + +int BbvsEngine::calcDistance(const Common::Point &pt1, const Common::Point &pt2) { + return sqrt((pt1.x - pt2.x) * (pt1.x - pt2.x) + (pt1.y - pt2.y) * (pt1.y - pt2.y)); +} + +void BbvsEngine::walkFoundPath(int count) { + debug(5, "BbvsEngine::walkFoundPath(%d)", count); + + Common::Point midPt = _sourceWalkAreaPt; + int totalMidPtDistance = 0; + + if (count > 0) { + Common::Point lastMidPt; + int halfCount = (count + 1) >> 1; + for (int i = 0; i < halfCount; ++i) { + lastMidPt = midPt; + midPt = _walkInfoPtrs[i * 2]->midPt; + totalMidPtDistance += calcDistance(midPt, lastMidPt); + } + } + + int distance = calcDistance(midPt, _destWalkAreaPt) + totalMidPtDistance; + + debug(5, "BbvsEngine::walkFoundPath() distance: %d; _currWalkDistance: %d", distance, _currWalkDistance); + + if (distance >= _currWalkDistance) + return; + + debug(5, "BbvsEngine::walkFoundPath() distance smaller"); + + _currWalkDistance = distance; + + Common::Point destPt = _destWalkAreaPt, newDestPt; + + // TODO This needs some cleanup but seems to work + + while (1) { + + int index = 0; + if (count > 0) { + do { + if (!walkTestLineWalkable(_sourceWalkAreaPt, destPt, _walkInfoPtrs[index])) + break; + ++index; + } while (index < count); + } + + if (index == count) + break; + + WalkInfo *walkInfo = _walkInfoPtrs[--count]; + destPt.x = walkInfo->x; + destPt.y = walkInfo->y; + + if (walkInfo->direction) { + newDestPt.x = walkInfo->x; + newDestPt.y = walkInfo->y + walkInfo->delta - 1; + } else { + newDestPt.x = walkInfo->x + walkInfo->delta - 1; + newDestPt.y = walkInfo->y; + } + + if ((newDestPt.x - _destWalkAreaPt.x) * (newDestPt.x - _destWalkAreaPt.x) + + (newDestPt.y - _destWalkAreaPt.y) * (newDestPt.y - _destWalkAreaPt.y) < + (destPt.x - _destWalkAreaPt.x) * (destPt.x - _destWalkAreaPt.x) + + (destPt.y - _destWalkAreaPt.y) * (destPt.y - _destWalkAreaPt.y)) + destPt = newDestPt; + + } + + debug(5, "BbvsEngine::walkFoundPath() destPt: (%d, %d)", destPt.x, destPt.y); + + _finalWalkPt = destPt; + + debug(5, "BbvsEngine::walkFoundPath() OK"); + +} + +void BbvsEngine::updateWalkableRects() { + // Go through all walkable rects and subtract all scene object rects + Common::Rect *rectsList1 = _tempWalkableRects1; + Common::Rect *rectsList2 = _gameModule->getWalkRects(); + _walkableRectsCount = _gameModule->getWalkRectsCount(); + for (int i = 0; i < _gameModule->getSceneObjectDefsCount(); ++i) { + SceneObject *sceneObject = &_sceneObjects[i]; + Animation *anim = sceneObject->anim; + if (anim && _buttheadObject != sceneObject && _beavisObject != sceneObject) { + Common::Rect rect = sceneObject->anim->frameRects2[sceneObject->frameIndex]; + rect.translate(sceneObject->x >> 16, sceneObject->y >> 16); + int count = _walkableRectsCount; + _walkableRectsCount = 0; + for (int j = 0; j < count; ++j) + _walkableRectsCount += rectSubtract(rect, rectsList2[j], &rectsList1[_walkableRectsCount]); + if (rectsList1 == _tempWalkableRects1) { + rectsList1 = _tempWalkableRects2; + rectsList2 = _tempWalkableRects1; + } else { + rectsList1 = _tempWalkableRects1; + rectsList2 = _tempWalkableRects2; + } + } + } + for (int i = 0; i < _walkableRectsCount; ++i) + _walkableRects[i] = rectsList2[i]; +} + +void BbvsEngine::updateSceneObjectsTurnValue() { + for (int i = 0; i < _gameModule->getSceneObjectDefsCount(); ++i) { + SceneObject *sceneObject = &_sceneObjects[i]; + sceneObject->turnValue = 0; + for (int j = 0; j < 12; ++j) { + if (sceneObject->sceneObjectDef->animIndices[j] == sceneObject->animIndex) { + sceneObject->turnValue = kTurnTbl[j]; + break; + } + } + } +} + +void BbvsEngine::updateDialogConditions() { + _dialogSlotCount = 0; + memset(_dialogItemStatus, 0, sizeof(_dialogItemStatus)); + for (int i = 0; i < _gameModule->getActionsCount(); ++i) { + Action *action = _gameModule->getAction(i); + int slotIndex = evalDialogCondition(action->conditions); + if (slotIndex >= 0) { + _dialogItemStatus[slotIndex] = 1; + ++_dialogSlotCount; + } + } +} + +void BbvsEngine::playSpeech(int soundNum) { + debug(5, "playSpeech(%0d)", soundNum); + Common::String sndFilename = Common::String::format("snd/snd%05d.aif", soundNum); + Common::File *fd = new Common::File(); + fd->open(sndFilename); + Audio::AudioStream *audioStream = Audio::makeLoopingAudioStream(Audio::makeAIFFStream(fd, DisposeAfterUse::YES), 1); + _mixer->playStream(Audio::Mixer::kSpeechSoundType, &_speechSoundHandle, audioStream); + +} + +void BbvsEngine::stopSpeech() { + _mixer->stopHandle(_speechSoundHandle); +} + +void BbvsEngine::playSound(uint soundNum, bool loop) { + debug(5, "playSound(%0d)", soundNum); + for (uint i = 0; i < _gameModule->getPreloadSoundsCount(); ++i) + if (_gameModule->getPreloadSound(i) == soundNum) { + _sound->playSound(i, loop); + break; + } +} + +void BbvsEngine::stopSound(uint soundNum) { + for (uint i = 0; i < _gameModule->getPreloadSoundsCount(); ++i) + if (_gameModule->getPreloadSound(i) == soundNum) { + _sound->stopSound(i); + break; + } +} + +void BbvsEngine::stopSounds() { + _sound->stopAllSounds(); +} + +bool BbvsEngine::runMinigame(int minigameNum) { + debug("BbvsEngine::runMinigame() minigameNum: %d", minigameNum); + + int callFlags = 0; + + if (_currSceneNum != kMainMenu) + callFlags = 1; + + _sound->unloadSounds(); + + Minigame *minigame = 0; + + switch (minigameNum) { + case 0: + minigame = new MinigameBbloogie(this); + break; + case 1: + minigame = new MinigameBbTennis(this); + break; + case 2: + minigame = new MinigameBbAnt(this); + break; + case 3: + minigame = new MinigameBbAirGuitar(this); + break; + default: + error("Incorrect minigame number %d", minigameNum); + break; + } + + int minigameResult = minigame->run(callFlags); + + delete minigame; + + // Check if the prinicpal was hit with a megaloogie in the loogie minigame + if (minigameNum == 0 && minigameResult == 1) + _gameVars[42] = 1; + + //DEBUG Fake it :) + if (minigameNum == 0) + _gameVars[42] = 1; + + return true; +} + +void BbvsEngine::runMainMenu() { + MainMenu *mainMenu = new MainMenu(this); + mainMenu->runModal(); + delete mainMenu; +} + +} // End of namespace Bbvs diff --git a/engines/bbvs/bbvs.h b/engines/bbvs/bbvs.h new file mode 100644 index 0000000000..eaeb529fb8 --- /dev/null +++ b/engines/bbvs/bbvs.h @@ -0,0 +1,412 @@ +/* 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. + * + */ + +#ifndef BBVS_H +#define BBVS_H + +#include "audio/mixer.h" +#include "audio/decoders/aiff.h" +#include "common/array.h" +#include "common/events.h" +#include "common/file.h" +#include "common/memstream.h" +#include "common/random.h" +#include "common/str.h" +#include "common/substream.h" +#include "common/system.h" +#include "common/winexe.h" +#include "common/winexe_pe.h" +#include "engines/engine.h" + +struct ADGameDescription; + +namespace Bbvs { + +class ActionCommands; +struct Action; +class GameModule; +struct Condition; +struct Conditions; +struct ActionResult; +struct ActionResults; +struct ActionCommand; +struct CameraInit; +struct SceneObjectDef; +struct SceneObjectInit; +struct SceneExit; +struct Animation; +struct SceneSound; +class DrawList; +class SpriteModule; +class Screen; +class SoundMan; + +#define BBVS_SAVEGAME_VERSION 0 + +enum { + kVerbLook = 0, + kVerbUse = 1, + kVerbTalk = 2, + kVerbWalk = 3, + kVerbInvItem = 4, + kVerbShowInv = 5 +}; + +enum { + kITNone = 0, + kITEmpty = 1, + KITSceneObject = 2, + kITBgObject = 3, + kITDialog = 4, + kITScroll = 5, + kITSceneExit = 6, + kITInvItem = 7 +}; + +enum { + kGSScene = 0, + kGSInventory = 1, + kGSVerbs = 2, + kGSWait = 3, + kGSDialog = 4, + kGSWaitDialog = 5 +}; + +enum { + kActionCmdStop = 0, + kActionCmdWalkObject = 3, + kActionCmdMoveObject = 4, + kActionCmdAnimObject = 5, + kActionCmdSetCameraPos = 7, + kActionCmdPlaySpeech = 8, + kActionCmdPlaySound = 10, + kActionCmdStartBackgroundSound = 11, + kActionCmdStopBackgroundSound = 12 +}; + +enum { + kCondUnused = 1, + kCondSceneObjectVerb = 2, + kCondBgObjectVerb = 3, + kCondSceneObjectInventory = 4, + kCondBgObjectInventory = 5, + kCondHasInventoryItem = 6, + kCondHasNotInventoryItem = 7, + kCondIsGameVar = 8, + kCondIsNotGameVar = 9, + kCondIsPrevSceneNum = 10, + kCondIsCurrTalkObject = 11, + kCondIsDialogItem = 12, + kCondIsCameraNum = 13, + kCondIsNotPrevSceneNum = 14, + kCondDialogItem0 = 15, + kCondIsButtheadAtBgObject = 16, + kCondIsNotSceneVisited = 17, + kCondIsSceneVisited = 18, + kCondIsCameraNumTransition = 19 +}; + +enum { + kActResAddInventoryItem = 1, + kActResRemoveInventoryItem = 2, + kActResSetGameVar = 3, + kActResUnsetGameVar = 4, + kActResStartDialog = 5, + kActResChangeScene = 6 +}; + +enum { + kLeftButtonClicked = 1, + kRightButtonClicked = 2, + kLeftButtonDown = 4, + kRightButtonDown = 8, + kAnyButtonClicked = kLeftButtonClicked | kRightButtonClicked, + kAnyButtonDown = kLeftButtonDown | kRightButtonDown +}; + +struct BBPoint { + int16 x, y; +}; + +struct BBRect { + int16 x, y, width, height; +}; + +struct BBPolygon { + const BBPoint *points; + int pointsCount; +}; + +struct Rect { + int left, top, right, bottom; +}; + +struct SceneObject { + uint32 x, y; + SceneObjectDef *sceneObjectDef; + Animation *anim; + int animIndex; + int frameIndex; + int frameTicks; + int walkCount; + int xIncr, yIncr; + int turnValue, turnCount, turnTicks; + Common::Point walkDestPt; + SceneObject() : sceneObjectDef(0), anim(0) { + } +}; + +struct SceneObjectAction { + int sceneObjectIndex; + int animationIndex; + Common::Point walkDest; +}; + +struct WalkInfo { + int16 x, y; + int delta; + int direction; + Common::Point midPt; + int walkAreaIndex; +}; + +struct WalkArea { + int16 x, y, width, height; + bool checked; + int linksCount; + WalkArea *links[16]; + WalkInfo *linksD1[32]; + WalkInfo *linksD2[32]; + bool contains(const Common::Point &pt) const; +}; + +const int kSceneObjectsCount = 64; +const int kSceneSoundsCount = 8; +const int kInventoryItemStatusCount = 50; +const int kDialogItemStatusCount = 50; +const int kGameVarsCount = 2000; +const int kSceneVisitedCount = 64; + +class BbvsEngine : public Engine { +protected: + Common::Error run(); + virtual bool hasFeature(EngineFeature f) const; +public: + BbvsEngine(OSystem *syst, const ADGameDescription *gd); + ~BbvsEngine(); + void newGame(); + void continueGameFromQuickSave(); + void setNewSceneNum(int newSceneNum); +private: + const ADGameDescription *_gameDescription; + Graphics::PixelFormat _pixelFormat; +public: + Common::RandomSource *_random; + + GameModule *_gameModule; + SpriteModule *_spriteModule; + SoundMan *_sound; + + Screen *_screen; + + int _bootSaveSlot; + + int _mouseX, _mouseY; + uint _mouseButtons; + Common::KeyCode _keyCode; + + int _mouseCursorSpriteIndex; + + int _gameState; + int _gameTicks; + + Common::Point _mousePos; + Common::Point _verbPos; + Common::Point _walkMousePos; + + int _activeItemType; + int _activeItemIndex; + int _currTalkObjectIndex; + + Common::Point _cameraPos, _newCameraPos; + + int _newSceneNum, _prevSceneNum, _currSceneNum; + int _playVideoNumber; + + int _dialogSlotCount; + byte _dialogItemStatus[kDialogItemStatusCount]; + + byte _gameVars[kGameVarsCount]; + byte _sceneVisited[kSceneVisitedCount]; + + int _currVerbNum; + + int _currInventoryItem; + byte _inventoryItemStatus[kInventoryItemStatusCount]; + int _inventoryButtonIndex; + + Action *_currAction; + uint32 _currActionCommandTimeStamp; + int _currActionCommandIndex; + + Common::Array _walkAreaActions; + + SceneObject _sceneObjects[kSceneObjectsCount]; + Common::Array _sceneObjectActions; + + SceneObject *_buttheadObject, *_beavisObject; + int _currCameraNum; + + byte _backgroundSoundsActive[kSceneSoundsCount]; + Audio::SoundHandle _speechSoundHandle; + + int _walkAreasCount; + WalkArea _walkAreas[80]; + int _walkInfosCount; + WalkInfo _walkInfos[256]; + int _walkableRectsCount; + Common::Rect _walkableRects[256]; + Common::Rect _tempWalkableRects1[256]; + Common::Rect _tempWalkableRects2[256]; + WalkInfo *_walkInfoPtrs[256]; + + WalkArea *_sourceWalkArea, *_destWalkArea; + Common::Point _sourceWalkAreaPt, _destWalkAreaPt, _finalWalkPt; + int _currWalkDistance; + bool _walkReachedDestArea; + + bool _hasSnapshot; + uint32 _snapshotSize; + byte *_snapshot; + Common::SeekableMemoryWriteStream *_snapshotStream; + + void updateEvents(); + int getRandom(int max); + + void drawDebugInfo(); + void drawScreen(); + + void updateGame(); + + bool evalCondition(Conditions &conditions); + bool evalCameraCondition(Conditions &conditions, int value); + int evalDialogCondition(Conditions &conditions); + void evalActionResults(ActionResults &results); + + void updateBackgroundSounds(); + + void loadScene(int sceneNum); + void initScene(bool sounds); + bool changeScene(); + bool update(int mouseX, int mouseY, uint mouseButtons, Common::KeyCode keyCode); + + void buildDrawList(DrawList &drawList); + + void updateVerbs(); + void updateDialog(bool clicked); + void updateInventory(bool clicked); + void updateScene(bool clicked); + + bool performActionCommand(ActionCommand *actionCommand); + bool processCurrAction(); + void skipCurrAction(); + + void updateCommon(); + + void updateWalkableRects(); + void startWalkObject(SceneObject *sceneObject); + void updateWalkObject(SceneObject *sceneObject); + void walkObject(SceneObject *sceneObject, const Common::Point &destPt, int walkSpeed); + void turnObject(SceneObject *sceneObject); + + bool rectIntersection(const Common::Rect &rect1, const Common::Rect &rect2, Common::Rect &outRect); + int rectSubtract(const Common::Rect &rect1, const Common::Rect &rect2, Common::Rect *outRects); + + WalkInfo *addWalkInfo(int16 x, int16 y, int delta, int direction, int16 midPtX, int16 midPtY, int walkAreaIndex); + void initWalkAreas(SceneObject *sceneObject); + WalkArea *getWalkAreaAtPos(const Common::Point &pt); + bool canButtheadWalkToDest(const Common::Point &destPt); + void canWalkToDest(WalkArea *walkArea, int infoCount); + bool walkTestLineWalkable(const Common::Point &sourcePt, const Common::Point &destPt, WalkInfo *walkInfo); + void walkFindPath(WalkArea *sourceWalkArea, int infoCount); + int calcDistance(const Common::Point &pt1, const Common::Point &pt2); + void walkFoundPath(int count); + + void updateSceneObjectsTurnValue(); + void updateDialogConditions(); + + void playSpeech(int soundNum); + void stopSpeech(); + + void playSound(uint soundNum, bool loop = false); + void stopSound(uint soundNum); + void stopSounds(); + + bool runMinigame(int minigameNum); + void playVideo(int videoNum); + + void runMainMenu(); + + // Savegame API + + enum kReadSaveHeaderError { + kRSHENoError = 0, + kRSHEInvalidType = 1, + kRSHEInvalidVersion = 2, + kRSHEIoError = 3 + }; + + struct SaveHeader { + Common::String description; + uint32 version; + byte gameID; + uint32 flags; + uint32 saveDate; + uint32 saveTime; + uint32 playTime; + Graphics::Surface *thumbnail; + }; + + bool _isSaveAllowed; + + bool canLoadGameStateCurrently() { return _isSaveAllowed; } + bool canSaveGameStateCurrently() { return _isSaveAllowed; } + Common::Error loadGameState(int slot); + Common::Error saveGameState(int slot, const Common::String &description); + void savegame(const char *filename, const char *description); + void loadgame(const char *filename); + const char *getSavegameFilename(int num); + bool existsSavegame(int num); + static Common::String getSavegameFilename(const Common::String &target, int num); + static kReadSaveHeaderError readSaveHeader(Common::SeekableReadStream *in, bool loadThumbnail, SaveHeader &header); + + void allocSnapshot(); + void freeSnapshot(); + void saveSnapshot(); + + void writeContinueSavegame(); + +}; + +} // End of namespace Bbvs + +#endif // BBVS_H diff --git a/engines/bbvs/configure.engine b/engines/bbvs/configure.engine new file mode 100644 index 0000000000..c1dc1ef924 --- /dev/null +++ b/engines/bbvs/configure.engine @@ -0,0 +1,3 @@ +# This file is included from the main "configure" script +# add_engine [name] [desc] [build-by-default] [subengines] [base games] [deps] +add_engine bbvs "Beavis and Butthead in Virtual Stupidity" no diff --git a/engines/bbvs/detection.cpp b/engines/bbvs/detection.cpp new file mode 100644 index 0000000000..698380dfc1 --- /dev/null +++ b/engines/bbvs/detection.cpp @@ -0,0 +1,161 @@ +/* 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 "bbvs/bbvs.h" + +#include "common/config-manager.h" +#include "engines/advancedDetector.h" +#include "common/savefile.h" +#include "common/system.h" +#include "base/plugins.h" +#include "graphics/thumbnail.h" + +static const PlainGameDescriptor bbvsGames[] = { + { "bbvs", "Bbvs" }, + { 0, 0 } +}; + +namespace Bbvs { + +static const ADGameDescription gameDescriptions[] = { + { + "bbvs", "", + { + {"game0001.vnm", 0, "637e5411751c7065bc385dd73d224561", 64004}, + AD_LISTEND + }, + Common::EN_ANY, Common::kPlatformWindows, ADGF_NO_FLAGS, GUIO0() + }, + + AD_TABLE_END_MARKER +}; + +} // End of namespace Bbvs + +static const char * const directoryGlobs[] = { + "vnm", + 0 +}; + +class BbvsMetaEngine : public AdvancedMetaEngine { +public: + BbvsMetaEngine() : AdvancedMetaEngine(Bbvs::gameDescriptions, sizeof(ADGameDescription), bbvsGames) { + _singleid = "bbvs"; + _maxScanDepth = 3; + _directoryGlobs = directoryGlobs; + } + + virtual const char *getName() const { + return "MTV's Beavis and Butt-Head in Virtual Stupidity"; + } + + virtual const char *getOriginalCopyright() const { + return "(C) 1995 Viacom New Media"; + } + + virtual bool hasFeature(MetaEngineFeature f) const; + virtual bool createInstance(OSystem *syst, Engine **engine, const ADGameDescription *desc) const; + virtual int getMaximumSaveSlot() const; + virtual SaveStateList listSaves(const char *target) const; + SaveStateDescriptor querySaveMetaInfos(const char *target, int slot) const; + virtual void removeSaveState(const char *target, int slot) const; +}; + +bool BbvsMetaEngine::hasFeature(MetaEngineFeature f) const { + return + (f == kSupportsListSaves) || + (f == kSupportsDeleteSave) || + (f == kSupportsLoadingDuringStartup) || + (f == kSavesSupportMetaInfo) || + (f == kSavesSupportThumbnail) || + (f == kSavesSupportCreationDate); +} + +void BbvsMetaEngine::removeSaveState(const char *target, int slot) const { + Common::String fileName = Common::String::format("%s.%03d", target, slot); + g_system->getSavefileManager()->removeSavefile(fileName); +} + +int BbvsMetaEngine::getMaximumSaveSlot() const { + return 999; +} + +SaveStateList BbvsMetaEngine::listSaves(const char *target) const { + Common::SaveFileManager *saveFileMan = g_system->getSavefileManager(); + Bbvs::BbvsEngine::SaveHeader header; + Common::String pattern = target; + pattern += ".???"; + Common::StringArray filenames; + filenames = saveFileMan->listSavefiles(pattern.c_str()); + Common::sort(filenames.begin(), filenames.end()); // Sort (hopefully ensuring we are sorted numerically..) + SaveStateList saveList; + for (Common::StringArray::const_iterator file = filenames.begin(); file != filenames.end(); file++) { + // Obtain the last 3 digits of the filename, since they correspond to the save slot + int slotNum = atoi(file->c_str() + file->size() - 3); + if (slotNum >= 0 && slotNum <= 999) { + Common::InSaveFile *in = saveFileMan->openForLoading(file->c_str()); + if (in) { + if (Bbvs::BbvsEngine::readSaveHeader(in, false, header) == Bbvs::BbvsEngine::kRSHENoError) { + saveList.push_back(SaveStateDescriptor(slotNum, header.description)); + } + delete in; + } + } + } + return saveList; +} + +SaveStateDescriptor BbvsMetaEngine::querySaveMetaInfos(const char *target, int slot) const { + Common::String filename = Bbvs::BbvsEngine::getSavegameFilename(target, slot); + Common::InSaveFile *in = g_system->getSavefileManager()->openForLoading(filename.c_str()); + if (in) { + Bbvs::BbvsEngine::SaveHeader header; + Bbvs::BbvsEngine::kReadSaveHeaderError error; + error = Bbvs::BbvsEngine::readSaveHeader(in, true, header); + delete in; + if (error == Bbvs::BbvsEngine::kRSHENoError) { + SaveStateDescriptor desc(slot, header.description); + // Slot 0 is used for the "Continue" save + desc.setDeletableFlag(slot != 0); + desc.setWriteProtectedFlag(slot == 0); + desc.setThumbnail(header.thumbnail); + desc.setSaveDate(header.saveDate & 0xFFFF, (header.saveDate >> 16) & 0xFF, (header.saveDate >> 24) & 0xFF); + desc.setSaveTime((header.saveTime >> 16) & 0xFF, (header.saveTime >> 8) & 0xFF); + desc.setPlayTime(header.playTime * 1000); + return desc; + } + } + return SaveStateDescriptor(); +} + +bool BbvsMetaEngine::createInstance(OSystem *syst, Engine **engine, const ADGameDescription *desc) const { + if (desc) { + *engine = new Bbvs::BbvsEngine(syst, desc); + } + return desc != 0; +} + +#if PLUGIN_ENABLED_DYNAMIC(BBVS) + REGISTER_PLUGIN_DYNAMIC(BBVS, PLUGIN_TYPE_ENGINE, BbvsMetaEngine); +#else + REGISTER_PLUGIN_STATIC(BBVS, PLUGIN_TYPE_ENGINE, BbvsMetaEngine); +#endif diff --git a/engines/bbvs/dialogs.cpp b/engines/bbvs/dialogs.cpp new file mode 100644 index 0000000000..5247a58ec8 --- /dev/null +++ b/engines/bbvs/dialogs.cpp @@ -0,0 +1,182 @@ +/* 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 "bbvs/dialogs.h" +#include "common/events.h" +#include "gui/gui-manager.h" +#include "gui/ThemeEval.h" + +namespace Bbvs { + +struct MenuButton { + const char *label; + uint32 cmd; +}; + +static const MenuButton kMenuButtons[] = { + // Main menu + {"New Game", kCmdNewGame}, + {"Continue", kCmdContinue}, + {"Options", kCmdOptions}, + {"Mini Games", kCmdMiniGames}, + {"Quit", kCmdQuit}, + // Options + {"Uninstall", kCmdUninstall}, + {"Credits", kCmdCredits}, + {"Opening", kCmdOpening}, + {"Chicks 'n' Stuff", kCmdChicksNStuff}, + {"Back ..", kCmdBack}, + // Minigames + {"Hock-A-Loogie", kCmdHockALoogie}, + {"Bug Justice", kCmdBugJustice}, + {"Court Chaos", kCmdCourtChaos}, + {"Air Guitar", kCmdAirGuitar}, + {"Back ..", kCmdBack} +}; + +MainMenu::MainMenu(BbvsEngine *vm) : Dialog(0, 0, 1, 1), _vm(vm) { + init(); +} + +MainMenu::~MainMenu() { +} + +void MainMenu::init() { + _buttons[0] = new GUI::ButtonWidget(this, 0, 0, 1, 1, "", 0, 0); + _buttons[1] = new GUI::ButtonWidget(this, 0, 0, 1, 1, "", 0, 0); + _buttons[2] = new GUI::ButtonWidget(this, 0, 0, 1, 1, "", 0, 0); + _buttons[3] = new GUI::ButtonWidget(this, 0, 0, 1, 1, "", 0, 0); + _buttons[4] = new GUI::ButtonWidget(this, 0, 0, 1, 1, "", 0, 0); + gotoMenuScreen(kMainMenuScr); +} + +void MainMenu::reflowLayout() { + const int screenW = g_system->getOverlayWidth(); + const int screenH = g_system->getOverlayHeight(); + + const int buttonWidth = screenW * 70 / 320; + const int buttonHeight = screenH * 14 / 240; + const int buttonPadding = screenW * 3 / 320; + + _w = 2 * buttonWidth + buttonPadding; + _h = 3 * buttonHeight + 3 * buttonPadding; + _x = (screenW - _w) / 2; + _y = screenH - _h; + + int x = 0, y = 0; + + x = 0; + y = 0; + _buttons[0]->resize(x, y, buttonWidth, buttonHeight); + x += buttonWidth + buttonPadding; + _buttons[1]->resize(x, y, buttonWidth, buttonHeight); + + x = 0; + y += buttonHeight + buttonPadding; + _buttons[2]->resize(x, y, buttonWidth, buttonHeight); + x += buttonWidth + buttonPadding; + _buttons[3]->resize(x, y, buttonWidth, buttonHeight); + + x = (_w - buttonWidth) / 2; // Center the last button + y += buttonHeight + buttonPadding; + _buttons[4]->resize(x, y, buttonWidth, buttonHeight); + + GUI::Dialog::reflowLayout(); + +} + +void MainMenu::handleCommand(GUI::CommandSender *sender, uint32 command, uint32 data) { + switch (command) { + // Main menu + case kCmdNewGame: + close(); + _vm->newGame(); + break; + case kCmdContinue: + close(); + _vm->continueGameFromQuickSave(); + break; + case kCmdOptions: + gotoMenuScreen(kOptionsMenuScr); + break; + case kCmdMiniGames: + gotoMenuScreen(kMiniGamesMenuScr); + break; + case kCmdQuit: + close(); + _vm->quitGame(); + break; + // Options menu + case kCmdUninstall: + break; + case kCmdCredits: + gotoScene(45); + break; + case kCmdOpening: + gotoScene(43); + break; + case kCmdChicksNStuff: + gotoScene(41); + break; + // Minigames menu + case kCmdHockALoogie: + gotoScene(27); + break; + case kCmdBugJustice: + gotoScene(29); + break; + case kCmdCourtChaos: + gotoScene(28); + break; + case kCmdAirGuitar: + gotoScene(30); + break; + case kCmdBack: + gotoMenuScreen(kMainMenuScr); + break; + default: + Dialog::handleCommand(sender, command, data); + } +} + +void MainMenu::gotoMenuScreen(int screen) { + for (int i = 0; i < 5; ++i) { + const MenuButton *btn = &kMenuButtons[screen * 5 + i]; + _buttons[i]->setLabel(btn->label); + _buttons[i]->setCmd(btn->cmd); + _buttons[i]->setEnabled(btn->cmd != 0); + } + // Enable the "Continue" button if a savegame at slot 0 exists + if (screen == kMainMenuScr) + _buttons[1]->setEnabled(canContinue()); +} + +bool MainMenu::canContinue() { + return _vm->existsSavegame(0); +} + +void MainMenu::gotoScene(int sceneNum) { + close(); + _vm->setNewSceneNum(sceneNum); +} + +} // End of namespace Hugo diff --git a/engines/bbvs/dialogs.h b/engines/bbvs/dialogs.h new file mode 100644 index 0000000000..9ecc33aaab --- /dev/null +++ b/engines/bbvs/dialogs.h @@ -0,0 +1,81 @@ +/* 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. + * + */ + +#ifndef BBVS_DIALOGS_H +#define BBVS_DIALOGS_H + +#include "bbvs/bbvs.h" +#include "gui/dialog.h" +#include "gui/widgets/edittext.h" + +namespace Bbvs { + +enum { + // Main menu + kCmdNewGame = 'NEWG', + kCmdContinue = 'CONT', + kCmdOptions = 'OPTN', + kCmdMiniGames = 'MINI', + kCmdQuit = 'QUIT', + // Options + kCmdUninstall = 0, + kCmdCredits = 'CRED', + kCmdOpening = 'OPEN', + kCmdChicksNStuff = 'CHIC', + // Minigames + kCmdHockALoogie = 'HOCK', + kCmdBugJustice = 'BUGJ', + kCmdCourtChaos = 'CORT', + kCmdAirGuitar = 'AIRG', + kCmdBack = 'BACK' +}; + +enum { + kMainMenuScr = 0, + kOptionsMenuScr = 1, + kMiniGamesMenuScr = 2 +}; + +class MainMenu : public GUI::Dialog { +public: + MainMenu(BbvsEngine *vm); + ~MainMenu(); + + void reflowLayout(); + void handleCommand(GUI::CommandSender *sender, uint32 command, uint32 data); + +protected: + BbvsEngine *_vm; + + void init(); + + GUI::ButtonWidget *_buttons[5]; + + void gotoMenuScreen(int index); + bool canContinue(); + void gotoScene(int sceneNum); + +}; + +} + +#endif // BBVS_DIALOGS_H diff --git a/engines/bbvs/gamemodule.cpp b/engines/bbvs/gamemodule.cpp new file mode 100644 index 0000000000..abc5086a7d --- /dev/null +++ b/engines/bbvs/gamemodule.cpp @@ -0,0 +1,630 @@ +/* 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 "bbvs/gamemodule.h" +#include "engines/util.h" + +namespace Bbvs { + +#define DEBUG_DUMP + +GameModule::GameModule() + : _bgSpriteCount(0), _bgSpriteIndices(0), _bgSpritePriorities(0), _walkRectsCount(0), + _walkRects(0), _sceneExitsCount(0), _sceneExits(0), _bgObjectsCount(0), _bgObjects(0), + _animationsCount(0), _animations(0), _sceneObjectDefsCount(0), _sceneObjectDefs(0), + _sceneObjectInitsCount(0), _sceneObjectInits(0), _actionsCount(0), _actions(0), + _sceneSoundsCount(0), _sceneSounds(0), _preloadSoundsCount(0), _preloadSounds(0) { +} + +GameModule::~GameModule() { + unload(); +} + +void GameModule::load(const char *filename) { + debug(0, "GameModule::load()"); + + unload(); + + Common::File fd; + + if (!fd.open(filename)) + error("GameModule::load() Could not open %s", filename); + + loadBgSprites(fd); + loadCameraInits(fd); + loadWalkRects(fd); + loadSceneExits(fd); + loadBgObjects(fd); + loadAnimations(fd); + loadSceneObjectDefs(fd); + loadSceneObjectInits(fd); + loadActions(fd); + loadGuiSpriteIndices(fd); + loadInventoryItemSpriteIndices(fd); + loadInventoryItemInfos(fd); + loadDialogItemSpriteIndices(fd); + loadSceneSounds(fd); + loadPreloadSounds(fd); + + fd.seek(0xC); + _fieldC = fd.readUint32LE(); + + fd.seek(0x1A8); + _buttheadObjectIndex = fd.readUint32LE(); + + fd.close(); + + debug(0, "GameModule::load() OK"); +} + +int GameModule::getFieldC() { + return _fieldC; +} + +int GameModule::getButtheadObjectIndex() { + return _buttheadObjectIndex; +} + +int GameModule::getGuiSpriteIndex(int index) { + assert(index < kGuiSpriteCount); + return _guiSpriteIndices[index]; +} + +int GameModule::getInventoryItemSpriteIndex(int index) { + assert(index < kInventoryItemSpriteCount); + return _inventoryItemSpriteIndices[index]; +} + +int GameModule::getDialogItemSpriteIndex(int index) { + assert(index < kDialogItemSpriteCount); + return _dialogItemSpriteIndices[index]; +} + +int GameModule::getActionsCount() { + return _actionsCount; +} + +Action *GameModule::getAction(int index) { + assert(index < _actionsCount); + return &_actions[index]; +} + +InventoryItemInfo *GameModule::getInventoryItemInfo(int index) { + assert(index < kInventoryItemCount); + return &_inventoryItemInfos[index]; +} + +CameraInit *GameModule::getCameraInit(int cameraNum) { + assert(cameraNum < kCameraInitsCount); + return &_cameraInits[cameraNum]; +} + +int GameModule::getSceneExitsCount() { + return _sceneExitsCount; +} + +SceneExit *GameModule::getSceneExit(int index) { + assert(index < _sceneExitsCount); + return &_sceneExits[index]; +} + +int GameModule::getWalkRectsCount() { + return _walkRectsCount; +} + +Common::Rect *GameModule::getWalkRects() { + return _walkRects; +} + +int GameModule::getSceneObjectDefsCount() { + return _sceneObjectDefsCount; +} + +SceneObjectDef *GameModule::getSceneObjectDef(int index) { + assert(index < _sceneObjectDefsCount); + return &_sceneObjectDefs[index]; +} + +int GameModule::getSceneObjectInitsCount() { + return _sceneObjectInitsCount; +} + +SceneObjectInit *GameModule::getSceneObjectInit(int index) { + assert(index < _sceneObjectInitsCount); + return &_sceneObjectInits[index]; +} + +int GameModule::getBgObjectsCount() { + return _bgObjectsCount; +} + +BgObject *GameModule::getBgObject(int index) { + assert(index < _bgObjectsCount); + return &_bgObjects[index]; +} + +int GameModule::getBgSpritesCount() { + return _bgSpriteCount; +} + +int GameModule::getBgSpriteIndex(int index) { + assert(index < _bgSpriteCount); + return _bgSpriteIndices[index]; +} + +int GameModule::getBgSpritePriority(int index) { + assert(index < _bgSpriteCount); + return _bgSpritePriorities[index]; +} + +int GameModule::getSceneSoundsCount() { + return _sceneSoundsCount; +} + +SceneSound *GameModule::getSceneSound(int index) { + assert(index < _sceneSoundsCount); + return &_sceneSounds[index]; +} + +uint GameModule::getSceneSoundIndex(uint soundNum) { + for (int i = 0; i < getSceneSoundsCount(); ++i) + if (getSceneSound(i)->soundNum == soundNum) + return i; + return 0; +} + +uint GameModule::getPreloadSoundsCount() { + return _preloadSoundsCount; +} + +uint GameModule::getPreloadSound(uint index) { + assert(index < _preloadSoundsCount); + return _preloadSounds[index]; +} + +Animation *GameModule::getAnimation(int index) { + assert(index < _animationsCount); + return &_animations[index]; +} + +Common::Point GameModule::readPoint(Common::SeekableReadStream &s) { + Common::Point p; + p.x = s.readUint16LE(); + p.y = s.readUint16LE(); + return p; +} + +Common::Rect GameModule::readRect(Common::SeekableReadStream &s) { + Common::Rect r; + r.left = s.readUint16LE(); + r.top = s.readUint16LE(); + r.setWidth(s.readUint16LE()); + r.setHeight(s.readUint16LE()); + return r; +} + +Conditions GameModule::readConditions(Common::SeekableReadStream &s) { + Conditions c; + for (int i = 0; i < 8; ++i) { + c.conditions[i].cond = s.readByte(); + c.conditions[i].value1 = s.readByte(); + c.conditions[i].value2 = s.readUint16LE(); + } + return c; +} + +void GameModule::unload() { + delete[] _bgSpriteIndices; + delete[] _bgSpritePriorities; + delete[] _walkRects; + delete[] _sceneExits; + delete[] _bgObjects; + delete[] _animations; + delete[] _sceneObjectDefs; + delete[] _sceneObjectInits; + delete[] _actions; + delete[] _sceneSounds; + delete[] _preloadSounds; + _bgSpriteIndices = 0; + _bgSpritePriorities = 0; + _walkRects = 0; + _sceneExits = 0; + _bgObjects = 0; + _animations = 0; + _sceneObjectDefs = 0; + _sceneObjectInits = 0; + _actions = 0; + _sceneSounds = 0; + _preloadSounds = 0; +} + +void GameModule::loadBgSprites(Common::SeekableReadStream &s) { + debug(0, "GameModule::loadBgSprites()"); + + s.seek(0x14); + _bgSpriteCount = s.readUint32LE(); + uint32 bgSpriteIndicesOffs = s.readUint32LE(); + uint32 bgSpritePrioritiesOffs = s.readUint32LE(); + _bgSpriteIndices = new int[_bgSpriteCount]; + _bgSpritePriorities = new int16[_bgSpriteCount]; + s.seek(bgSpriteIndicesOffs); + for (int i = 0; i < _bgSpriteCount; ++i) + _bgSpriteIndices[i] = s.readUint32LE(); + s.seek(bgSpritePrioritiesOffs); + for (int i = 0; i < _bgSpriteCount; ++i) + _bgSpritePriorities[i] = s.readUint16LE(); + +#ifdef DEBUG_DUMP + for (int i = 0; i < _bgSpriteCount; ++i) { + debug(0, "BgSprite(%d) %04X %d", i, _bgSpriteIndices[i], _bgSpritePriorities[i]); + } +#endif + +} + +void GameModule::loadCameraInits(Common::SeekableReadStream &s) { + debug(0, "GameModule::loadCameraInits()"); + + s.seek(0x20); + for (int i = 0; i < kCameraInitsCount; ++i) { + CameraInit &cameraInit = _cameraInits[i]; + cameraInit.cameraPos = readPoint(s); + for (int j = 0; j < 8; ++j) + cameraInit.cameraLinks[j] = s.readByte(); + for (int j = 0; j < 8; ++j) + cameraInit.rects[j] = readRect(s); + } + +#ifdef DEBUG_DUMP + for (int i = 0; i < 4; ++i) { + CameraInit &cameraInit = _cameraInits[i]; + debug(0, "CameraInit(%d) (%d, %d)", i, cameraInit.cameraPos.x, cameraInit.cameraPos.y); + debugN(0, "CameraInit(%d) ", i); + for (int j = 0; j < 8; ++j) + debugN(0, "%d ", cameraInit.cameraLinks[j]); + debug(0, "."); + for (int j = 0; j < 8; ++j) + debug(0, "CameraInit(%d) (%d, %d, %d, %d)", i, cameraInit.rects[j].left, + cameraInit.rects[j].top, cameraInit.rects[j].right, cameraInit.rects[j].bottom); + } +#endif + +} + +void GameModule::loadWalkRects(Common::SeekableReadStream &s) { + debug(0, "GameModule::loadWalkRects()"); + + s.seek(0x150); + _walkRectsCount = s.readUint32LE(); + uint32 offs = s.readUint32LE(); + _walkRects = new Common::Rect[_walkRectsCount]; + s.seek(offs); + for (int i = 0; i < _walkRectsCount; ++i) + _walkRects[i] = readRect(s); + +#ifdef DEBUG_DUMP +#endif + +} + +void GameModule::loadSceneExits(Common::SeekableReadStream &s) { + debug(0, "GameModule::loadSceneExits()"); + + s.seek(0x158); + _sceneExitsCount = s.readUint32LE(); + uint32 offs = s.readUint32LE(); + _sceneExits = new SceneExit[_sceneExitsCount]; + s.seek(offs); + for (int i = 0; i < _sceneExitsCount; ++i) { + _sceneExits[i].rect = readRect(s); + _sceneExits[i].newModuleNum = s.readUint32LE(); + } + +#ifdef DEBUG_DUMP + for (int i = 0; i < _sceneExitsCount; ++i) { + debug(0, "SceneExit(%d) (%d, %d, %d, %d) %d", i, _sceneExits[i].rect.left, _sceneExits[i].rect.top, + _sceneExits[i].rect.right, _sceneExits[i].rect.bottom, _sceneExits[i].newModuleNum); + } +#endif + +} + +void GameModule::loadBgObjects(Common::SeekableReadStream &s) { + debug(0, "GameModule::loadBgObjects()"); + + s.seek(0x160); + _bgObjectsCount = s.readUint32LE(); + uint32 offs = s.readUint32LE(); + _bgObjects = new BgObject[_bgObjectsCount]; + s.seek(offs); + for (int i = 0; i < _bgObjectsCount; ++i) { + s.read(_bgObjects[i].name, 20); + _bgObjects[i].rect = readRect(s); + } + +#ifdef DEBUG_DUMP + for (int i = 0; i < _bgObjectsCount; ++i) { + debug(0, "BgObject(%d) [%s] (%d, %d, %d, %d)", i, _bgObjects[i].name, _bgObjects[i].rect.left, + _bgObjects[i].rect.top, _bgObjects[i].rect.right, _bgObjects[i].rect.bottom); + } +#endif + +} + +void GameModule::loadAnimations(Common::SeekableReadStream &s) { + debug(0, "GameModule::loadAnimations()"); + + s.seek(0x168); + _animationsCount = s.readUint32LE(); + uint32 offs = s.readUint32LE(); + _animations = new Animation[_animationsCount]; + for (int i = 0; i < _animationsCount; ++i) { + Animation &anim = _animations[i]; + s.seek(offs + i * 20); + anim.frameCount = s.readUint32LE(); + uint32 frameSpriteIndicesOffs = s.readUint32LE(); + uint32 frameTicksOffs = s.readUint32LE(); + uint32 frameRects1Offs = s.readUint32LE(); + uint32 frameRects2Offs = s.readUint32LE(); + anim.frameSpriteIndices = new int[anim.frameCount]; + s.seek(frameSpriteIndicesOffs); + for (int j = 0; j < anim.frameCount; ++j) + anim.frameSpriteIndices[j] = s.readUint32LE(); + anim.frameTicks = new int16[anim.frameCount]; + s.seek(frameTicksOffs); + for (int j = 0; j < anim.frameCount; ++j) + anim.frameTicks[j] = s.readUint16LE(); + anim.frameRects1 = new Common::Rect[anim.frameCount]; + s.seek(frameRects1Offs); + for (int j = 0; j < anim.frameCount; ++j) + anim.frameRects1[j] = readRect(s); + anim.frameRects2 = new Common::Rect[anim.frameCount]; + s.seek(frameRects2Offs); + for (int j = 0; j < anim.frameCount; ++j) + anim.frameRects2[j] = readRect(s); + } + +#ifdef DEBUG_DUMP + for (int i = 0; i < _animationsCount; ++i) { + Animation &anim = _animations[i]; + debug(0, "Animation(%d) frameCount: %d", i, anim.frameCount); + for (int j = 0; j < anim.frameCount; ++j) { + debug(0, "Frame %d: %04X %d (%d, %d, %d, %d) (%d, %d, %d, %d) ", + j, anim.frameSpriteIndices[j], anim.frameTicks[j], + anim.frameRects1[j].left, anim.frameRects1[j].top, anim.frameRects1[j].right, + anim.frameRects1[j].bottom, anim.frameRects2[j].left, anim.frameRects2[j].top, + anim.frameRects2[j].right, anim.frameRects2[j].bottom); + } + } +#endif + +} + +void GameModule::loadSceneObjectDefs(Common::SeekableReadStream &s) { + debug(0, "GameModule::loadSceneObjectDefs()"); + + s.seek(0x170); + _sceneObjectDefsCount = s.readUint32LE(); + uint32 offs = s.readUint32LE(); + _sceneObjectDefs = new SceneObjectDef[_sceneObjectDefsCount]; + s.seek(offs); + for (int i = 0; i < _sceneObjectDefsCount; ++i) { + s.read(_sceneObjectDefs[i].name, 20); + _sceneObjectDefs[i].walkSpeed = s.readUint32LE(); + for (int j = 0; j < 16; ++j) + _sceneObjectDefs[i].animIndices[j] = s.readUint32LE(); + } + +#ifdef DEBUG_DUMP + for (int i = 0; i < _sceneObjectDefsCount; ++i) { + debugN(0, "SceneObjectDef(%d) [%s] %d ", i, _sceneObjectDefs[i].name, _sceneObjectDefs[i].walkSpeed); + for (int j = 0; j < 16; ++j) + debugN(0, " %d", _sceneObjectDefs[i].animIndices[j]); + debug(0, "."); + } +#endif + +} + +void GameModule::loadSceneObjectInits(Common::SeekableReadStream &s) { + debug(0, "GameModule::loadSceneObjectInits()"); + + s.seek(0x178); + _sceneObjectInitsCount = s.readUint32LE(); + uint32 offs = s.readUint32LE(); + _sceneObjectInits = new SceneObjectInit[_sceneObjectInitsCount]; + s.seek(offs); + for (int i = 0; i < _sceneObjectInitsCount; ++i) { + _sceneObjectInits[i].conditions = readConditions(s); + _sceneObjectInits[i].sceneObjectIndex = s.readUint32LE(); + _sceneObjectInits[i].animIndex = s.readUint32LE(); + _sceneObjectInits[i].x = s.readUint16LE(); + _sceneObjectInits[i].y = s.readUint16LE(); + } + +#ifdef DEBUG_DUMP + for (int i = 0; i < _sceneObjectInitsCount; ++i) { + debug(0, "SceneObjectInit(%d) %d %d (%d, %d)", i, _sceneObjectInits[i].sceneObjectIndex, + _sceneObjectInits[i].animIndex, _sceneObjectInits[i].x, _sceneObjectInits[i].y); + for (int j = 0; j < 8; ++j) + debug(0, " condition(%d) %d %d %d", j, _sceneObjectInits[i].conditions.conditions[j].cond, + _sceneObjectInits[i].conditions.conditions[j].value1, _sceneObjectInits[i].conditions.conditions[j].value2); + } +#endif + +} + +void GameModule::loadActions(Common::SeekableReadStream &s) { + debug(0, "GameModule::loadActions()"); + + s.seek(0x180); + _actionsCount = s.readUint32LE(); + uint32 offs = s.readUint32LE(); + _actions = new Action[_actionsCount]; + for (int i = 0; i < _actionsCount; ++i) { + s.seek(offs + i * 72); + debug(0, "Action(%d) offs: %08X", i, offs + i * 72); + _actions[i].conditions = readConditions(s); + for (int j = 0; j < 8; ++j) { + _actions[i].results.actionResults[j].kind = s.readByte(); + _actions[i].results.actionResults[j].value1 = s.readByte(); + _actions[i].results.actionResults[j].value2 = s.readUint16LE(); + } + const int actionListCount = s.readUint32LE(); + const uint32 actionListOffs = s.readUint32LE(); + s.seek(actionListOffs); + for (int j = 0; j < actionListCount; ++j) { + ActionCommand actionCommand; + actionCommand.cmd = s.readUint16LE(); + actionCommand.sceneObjectIndex = s.readUint16LE(); + actionCommand.timeStamp = s.readUint32LE(); + actionCommand.walkDest = readPoint(s); + actionCommand.param = s.readUint32LE(); + _actions[i].actionCommands.push_back(actionCommand); + } + } + +#ifdef DEBUG_DUMP + for (int i = 0; i < _actionsCount; ++i) { + debug(0, "Action(%d)", i); + for (int j = 0; j < 8; ++j) + debug(0, " condition(%d) %d %d %d", j, _actions[i].conditions.conditions[j].cond, + _actions[i].conditions.conditions[j].value1, _actions[i].conditions.conditions[j].value2); + for (int j = 0; j < 8; ++j) + debug(0, " result(%d) %d %d %d", j, _actions[i].results.actionResults[j].kind, + _actions[i].results.actionResults[j].value1, _actions[i].results.actionResults[j].value2); + for (uint j = 0; j < _actions[i].actionCommands.size(); ++j) { + ActionCommand &actionCommand = _actions[i].actionCommands[j]; + debug(0, " entry(%d) cmd: %d sceneObjectIndex: %d timeStamp: %d walkDest: (%d, %d) param: %d", j, actionCommand.cmd, actionCommand.sceneObjectIndex, + actionCommand.timeStamp, actionCommand.walkDest.x, actionCommand.walkDest.y, + actionCommand.param); + } + } +#endif + +} + +void GameModule::loadGuiSpriteIndices(Common::SeekableReadStream &s) { + debug(0, "GameModule::loadGuiSpriteIndices()"); + + s.seek(0x188); + uint32 offs = s.readUint32LE(); + s.seek(offs); + for (int i = 0; i < kGuiSpriteCount; ++i) + _guiSpriteIndices[i] = s.readUint32LE(); + +#ifdef DEBUG_DUMP +#endif + +} + +void GameModule::loadInventoryItemSpriteIndices(Common::SeekableReadStream &s) { + debug(0, "GameModule::loadInventoryItemSpriteIndices()"); + + s.seek(0x18C); + uint32 offs = s.readUint32LE(); + s.seek(offs); + for (int i = 0; i < kInventoryItemSpriteCount; ++i) + _inventoryItemSpriteIndices[i] = s.readUint32LE(); + +#ifdef DEBUG_DUMP +#endif + +} + +void GameModule::loadInventoryItemInfos(Common::SeekableReadStream &s) { + debug(0, "GameModule::loadInventoryItemInfos()"); + + s.seek(0x190); + uint32 offs = s.readUint32LE(); + s.seek(offs); + for (int i = 0; i < kInventoryItemCount; ++i) { + _inventoryItemInfos[i].xOffs = s.readUint16LE(); + _inventoryItemInfos[i].yOffs = s.readUint16LE(); + _inventoryItemInfos[i].width = s.readUint16LE(); + _inventoryItemInfos[i].height = s.readUint16LE(); + s.skip(8); // Unused + } + +#ifdef DEBUG_DUMP +#endif + +} + +void GameModule::loadDialogItemSpriteIndices(Common::SeekableReadStream &s) { + debug(0, "GameModule::loadDialogItemSpriteIndices()"); + + s.seek(0x194); + uint32 offs = s.readUint32LE(); + s.seek(offs); + for (int i = 0; i < kDialogItemSpriteCount; ++i) { + _dialogItemSpriteIndices[i] = s.readUint32LE(); + } + +#ifdef DEBUG_DUMP +#endif + +} + +void GameModule::loadSceneSounds(Common::SeekableReadStream &s) { + debug(0, "GameModule::loadSceneSounds()"); + + s.seek(0x1A0); + _sceneSoundsCount = s.readUint32LE(); + uint32 offs = s.readUint32LE(); + _sceneSounds = new SceneSound[_sceneSoundsCount]; + s.seek(offs); + for (int i = 0; i < _sceneSoundsCount; ++i) { + _sceneSounds[i].conditions = readConditions(s); + _sceneSounds[i].soundNum = s.readUint32LE(); + } + +#ifdef DEBUG_DUMP + debug("_sceneSoundsCount: %d", _sceneSoundsCount); + for (int i = 0; i < _sceneSoundsCount; ++i) { + debug("sound(%d) soundNum: %d", i, _sceneSounds[i].soundNum); + } +#endif + +} + +void GameModule::loadPreloadSounds(Common::SeekableReadStream &s) { + debug(0, "GameModule::loadPreloadSounds()"); + + s.seek(0x198); + _preloadSoundsCount = s.readUint32LE(); + uint32 offs = s.readUint32LE(); + _preloadSounds = new uint[_preloadSoundsCount]; + s.seek(offs); + for (uint i = 0; i < _preloadSoundsCount; ++i) + _preloadSounds[i] = s.readUint32LE(); + +#ifdef DEBUG_DUMP + debug("_preloadSoundsCount: %d", _preloadSoundsCount); + for (uint i = 0; i < _preloadSoundsCount; ++i) { + debug("preloadSound(%d) soundNum: %d", i, _preloadSounds[i]); + } +#endif + +} + +} // End of namespace Bbvs diff --git a/engines/bbvs/gamemodule.h b/engines/bbvs/gamemodule.h new file mode 100644 index 0000000000..ffd2488c21 --- /dev/null +++ b/engines/bbvs/gamemodule.h @@ -0,0 +1,251 @@ +/* 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. + * + */ + +#ifndef BBVS_GAMEMODULE_H +#define BBVS_GAMEMODULE_H + +#include "common/array.h" +#include "common/file.h" +#include "common/memstream.h" +#include "common/rect.h" +#include "common/str.h" + +namespace Bbvs { + +const int kInventoryItemCount = 42; +const int kInventoryItemSpriteCount = 2 * kInventoryItemCount; +const int kDialogItemSpriteCount = 26; +const int kGuiSpriteCount = 21; +const int kCameraInitsCount = 4; + +struct Condition { + byte cond; + byte value1; + int16 value2; +}; + +struct Conditions { + Condition conditions[8]; +}; + +struct ActionResult { + byte kind; + byte value1; + int16 value2; +}; + +struct ActionResults { + ActionResult actionResults[8]; +}; + +struct ActionCommand { + uint16 cmd; + int16 sceneObjectIndex; + uint32 timeStamp; + Common::Point walkDest; + int32 param; +}; + +class ActionCommands : public Common::Array { +}; + +struct Action { + Conditions conditions; + ActionResults results; + ActionCommands actionCommands; +}; + +struct InventoryItemInfo { + int16 xOffs, yOffs; + int16 width, height; +}; + +struct CameraInit { + Common::Point cameraPos; + byte cameraLinks[8]; + Common::Rect rects[8]; +}; + +struct SceneObjectDef { + char name[20]; + int animIndices[16]; + int walkSpeed; +}; + +struct SceneObjectInit { + Conditions conditions; + int sceneObjectIndex; + int animIndex; + int x, y; +}; + +struct BgObject { + char name[20]; + Common::Rect rect; +}; + +struct Animation { + int frameCount; + int *frameSpriteIndices; + int16 *frameTicks; + Common::Rect *frameRects1; + Common::Rect *frameRects2; + Animation() + : frameCount(0), frameSpriteIndices(0), frameTicks(0), frameRects1(0), frameRects2(0) { + } + ~Animation() { + delete[] frameSpriteIndices; + delete[] frameTicks; + delete[] frameRects1; + delete[] frameRects2; + } +}; + +struct SceneExit { + Common::Rect rect; + int newModuleNum; +}; + +struct SceneSound { + Conditions conditions; + uint soundNum; +}; + +class GameModule { +public: + GameModule(); + ~GameModule(); + + void load(const char *filename); + + int getFieldC(); + int getButtheadObjectIndex(); + + int getGuiSpriteIndex(int index); + int getInventoryItemSpriteIndex(int index); + int getDialogItemSpriteIndex(int index); + + int getActionsCount(); + Action *getAction(int index); + + InventoryItemInfo *getInventoryItemInfo(int index); + + CameraInit *getCameraInit(int cameraNum); + + int getSceneExitsCount(); + SceneExit *getSceneExit(int index); + + int getWalkRectsCount(); + Common::Rect *getWalkRects(); + + int getSceneObjectDefsCount(); + SceneObjectDef *getSceneObjectDef(int index); + + int getSceneObjectInitsCount(); + SceneObjectInit *getSceneObjectInit(int index); + + int getBgObjectsCount(); + BgObject *getBgObject(int index); + + int getBgSpritesCount(); + int getBgSpriteIndex(int index); + int getBgSpritePriority(int index); + + int getSceneSoundsCount(); + SceneSound *getSceneSound(int index); + uint getSceneSoundIndex(uint soundNum); + + uint getPreloadSoundsCount(); + uint getPreloadSound(uint index); + + Animation *getAnimation(int index); + +protected: + + int _bgSpriteCount; + int *_bgSpriteIndices; + int16 *_bgSpritePriorities; + + CameraInit _cameraInits[kCameraInitsCount]; + + int _walkRectsCount; + Common::Rect *_walkRects; + + int _sceneExitsCount; + SceneExit *_sceneExits; + + int _bgObjectsCount; + BgObject *_bgObjects; + + int _animationsCount; + Animation *_animations; + + int _sceneObjectDefsCount; + SceneObjectDef *_sceneObjectDefs; + + int _sceneObjectInitsCount; + SceneObjectInit *_sceneObjectInits; + + int _actionsCount; + Action *_actions; + + int _sceneSoundsCount; + SceneSound *_sceneSounds; + + uint _preloadSoundsCount; + uint *_preloadSounds; + + int _guiSpriteIndices[kGuiSpriteCount]; + int _inventoryItemSpriteIndices[kInventoryItemSpriteCount]; + InventoryItemInfo _inventoryItemInfos[kInventoryItemCount]; + int _dialogItemSpriteIndices[kDialogItemSpriteCount]; + + int _fieldC; + int _buttheadObjectIndex; + + Common::Point readPoint(Common::SeekableReadStream &s); + Common::Rect readRect(Common::SeekableReadStream &s); + Conditions readConditions(Common::SeekableReadStream &s); + + void unload(); + + void loadBgSprites(Common::SeekableReadStream &s); + void loadCameraInits(Common::SeekableReadStream &s); + void loadWalkRects(Common::SeekableReadStream &s); + void loadSceneExits(Common::SeekableReadStream &s); + void loadBgObjects(Common::SeekableReadStream &s); + void loadAnimations(Common::SeekableReadStream &s); + void loadSceneObjectDefs(Common::SeekableReadStream &s); + void loadSceneObjectInits(Common::SeekableReadStream &s); + void loadActions(Common::SeekableReadStream &s); + void loadGuiSpriteIndices(Common::SeekableReadStream &s); + void loadInventoryItemSpriteIndices(Common::SeekableReadStream &s); + void loadInventoryItemInfos(Common::SeekableReadStream &s); + void loadDialogItemSpriteIndices(Common::SeekableReadStream &s); + void loadSceneSounds(Common::SeekableReadStream &s); + void loadPreloadSounds(Common::SeekableReadStream &s); + +}; + +} // End of namespace Bbvs + +#endif // BBVS_H diff --git a/engines/bbvs/graphics.cpp b/engines/bbvs/graphics.cpp new file mode 100644 index 0000000000..810d910abf --- /dev/null +++ b/engines/bbvs/graphics.cpp @@ -0,0 +1,141 @@ +/* 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 "bbvs/graphics.h" + +namespace Bbvs { + +void DrawList::add(int index, int x, int y, int priority) { + debug(5, "DrawList::add() %d (%d, %d) %d", index, x, y, priority); + DrawListEntry drawListEntry; + drawListEntry.index = index; + drawListEntry.x = x; + drawListEntry.y = y; + drawListEntry.priority = priority; + // Insert the sprite at the correct position + uint insertIndex = 0; + while (insertIndex < size() && (*this)[insertIndex].priority <= priority) + ++insertIndex; + insert_at(insertIndex, drawListEntry); +} + +Screen::Screen(OSystem *system) : _system(system) { + _surface = new Graphics::Surface(); + _surface->create(320, 240, Graphics::PixelFormat::createFormatCLUT8()); +} + +Screen::~Screen() { + _surface->free(); + delete _surface; +} + +void Screen::setPalette(Palette &palette) { + byte pal[768]; + memset(pal, 0, 768); + memcpy(&pal[palette.start * 3], palette.data, palette.count * 3); + _system->getPaletteManager()->setPalette(pal, 0, 256); +} + +void Screen::copyToScreen() { + _system->copyRectToScreen((const byte*)_surface->getBasePtr(0, 0), _surface->pitch, 0, 0, 320, 240); + _system->updateScreen(); +} + +void Screen::clear() { + _surface->fillRect(Common::Rect(0, 0, 320, 240), 0); +} + +void Screen::drawDrawList(DrawList &drawList, SpriteModule *spriteModule) { + for (uint i = 0; i < drawList.size(); ++i) { + debug(1, "index: %d; x: %d; y: %d; priority: %d", drawList[i].index, drawList[i].x, drawList[i].y, drawList[i].priority); + Sprite sprite = spriteModule->getSprite(drawList[i].index); + drawSprite(sprite, drawList[i].x, drawList[i].y); + } +} + +void Screen::drawSprite(Sprite &sprite, int x, int y) { + debug(5, "Screen::drawSprite()"); + + int destX, destY, width, height, skipX = 0, skipY = 0; + + destX = sprite.xOffs + x; + destY = sprite.yOffs + y; + + if (destX >= _surface->w || destY >= _surface->h) + return; + + height = sprite.height; + if (destY < 0) { + height += destY; + if (height <= 0) + return; + skipY = -destY; + destY = 0; + } + if (destY + height > _surface->h) + height = _surface->h - destY; + + width = sprite.width; + if (destX < 0) { + width += destX; + if (width <= 0) + return; + skipX = -destX; + destX = 0; + } + if (destX + width >= _surface->w) + width = _surface->w - destX; + + debug(0, "drawSprite() (%d, %d, %d, %d); skipX: %d; skipY: %d; %d", destX, destY, width, height, skipX, skipY, sprite.type); + + if (sprite.type == 1) { + for (int yc = 0; yc < height; ++yc) { + byte *source = sprite.getRow(skipY + yc); + byte *dest = (byte*)_surface->getBasePtr(destX, destY + yc); + int currWidth = -skipX; + while (currWidth < width) { + int8 op = *source++; + if (op < 0) { + currWidth += (-op); + } else { + while (op >= 0 && currWidth < width) { + if (currWidth >= 0) + dest[currWidth] = *source; + ++source; + ++currWidth; + --op; + } + } + } + } + } else { + for (int yc = 0; yc < height; ++yc) { + byte *source = sprite.getRow(skipY + yc) + skipX; + byte *dest = (byte*)_surface->getBasePtr(destX, destY + yc); + memcpy(dest, source, width); + } + } + + debug(5, "Screen::drawSprite() OK"); +} + +} // End of namespace Bbvs diff --git a/engines/bbvs/graphics.h b/engines/bbvs/graphics.h new file mode 100644 index 0000000000..277cf453cb --- /dev/null +++ b/engines/bbvs/graphics.h @@ -0,0 +1,61 @@ +/* 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. + * + */ + +#ifndef BBVS_GRAPHICS_H +#define BBVS_GRAPHICS_H + +#include "bbvs/spritemodule.h" +#include "common/array.h" +#include "common/system.h" +#include "graphics/palette.h" +#include "graphics/surface.h" + +namespace Bbvs { + +struct DrawListEntry { + int index; + int x, y; + int priority; +}; + +class DrawList : public Common::Array { +public: + void add(int index, int x, int y, int priority); +}; + +class Screen { +public: + Screen(OSystem *system); + ~Screen(); + void setPalette(Palette &palette); + void copyToScreen(); + void drawDrawList(DrawList &drawList, SpriteModule *spriteModule); + void drawSprite(Sprite &sprite, int x, int y); + void clear(); +//protected: + OSystem *_system; + Graphics::Surface *_surface; +}; + +} // End of namespace Bbvs + +#endif // BBVS_H diff --git a/engines/bbvs/minigames/bbairguitar.cpp b/engines/bbvs/minigames/bbairguitar.cpp new file mode 100644 index 0000000000..f81bb498fd --- /dev/null +++ b/engines/bbvs/minigames/bbairguitar.cpp @@ -0,0 +1,1198 @@ +/* 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 "bbvs/minigames/bbairguitar.h" + +namespace Bbvs { + +static const char *kNoteSoundFilenames[] = { + "a.aif", "a#.aif", "b.aif", "c.aif", "c#.aif", + "d.aif", "d#.aif", "e.aif", "f.aif", "f#.aif", + "g.aif", "g#.aif", "a_oct.aif" +}; + +static const uint kNoteSoundFilenamesCount = ARRAYSIZE(kNoteSoundFilenames); + +static const char *kPatchDirectories[] = { + "rock", "burp", "fart" +}; + +static const uint kPatchDirectoriesCount = ARRAYSIZE(kPatchDirectories); + +static const BBPoint kPianoKeyArea1[] = {{29, 192}, {38, 192}, {38, 222}, {41, 222}, {41, 239}, {29, 239}}; +static const BBPoint kPianoKeyArea2[] = {{38, 192}, {43, 192}, {43, 222}, {38, 222}}; +static const BBPoint kPianoKeyArea3[] = {{43, 192}, {49, 192}, {49, 222}, {52, 222}, {52, 239}, {41, 239}, {41, 222}, {43, 222}}; +static const BBPoint kPianoKeyArea4[] = {{49, 192}, {54, 192}, {54, 222}, {49, 222}}; +static const BBPoint kPianoKeyArea5[] = {{54, 192}, {63, 192}, {63, 239}, {52, 239}, {52, 222}, {54, 222}}; +static const BBPoint kPianoKeyArea6[] = {{63, 192}, {71, 192}, {71, 222}, {74, 222}, {74, 239}, {63, 239}}; +static const BBPoint kPianoKeyArea7[] = {{71, 192}, {76, 192}, {76, 222}, {71, 222}}; +static const BBPoint kPianoKeyArea8[] = {{76, 192}, {82, 192}, {82, 222}, {85, 222}, {85, 239}, {74, 239}, {74, 222}, {76, 222}}; +static const BBPoint kPianoKeyArea9[] = {{82, 192}, {87, 192}, {87, 222}, {82, 222}}; +static const BBPoint kPianoKeyArea10[] = {{87, 192}, {94, 192}, {94, 222}, {96, 222}, {96, 239}, {85, 239}, {85, 222}, {87, 222}}; +static const BBPoint kPianoKeyArea11[] = {{94, 192}, {99, 192}, {99, 222}, {94, 222}}; +static const BBPoint kPianoKeyArea12[] = {{99, 192}, {107, 192}, {107, 239}, {96, 239}, {96, 222}, {99, 222}}; +static const BBPoint kPianoKeyArea13[] = {{107, 192}, {118, 192}, {118, 239}, {107, 239}}; + +static const BBPolygon kPianoKeyAreas[] = { + {kPianoKeyArea1, ARRAYSIZE(kPianoKeyArea1)}, + {kPianoKeyArea2, ARRAYSIZE(kPianoKeyArea2)}, + {kPianoKeyArea3, ARRAYSIZE(kPianoKeyArea3)}, + {kPianoKeyArea4, ARRAYSIZE(kPianoKeyArea4)}, + {kPianoKeyArea5, ARRAYSIZE(kPianoKeyArea5)}, + {kPianoKeyArea6, ARRAYSIZE(kPianoKeyArea6)}, + {kPianoKeyArea7, ARRAYSIZE(kPianoKeyArea7)}, + {kPianoKeyArea8, ARRAYSIZE(kPianoKeyArea8)}, + {kPianoKeyArea9, ARRAYSIZE(kPianoKeyArea9)}, + {kPianoKeyArea10, ARRAYSIZE(kPianoKeyArea10)}, + {kPianoKeyArea11, ARRAYSIZE(kPianoKeyArea11)}, + {kPianoKeyArea12, ARRAYSIZE(kPianoKeyArea12)}, + {kPianoKeyArea13, ARRAYSIZE(kPianoKeyArea13)}, +}; + +static const BBPoint kObjPoints[] = { + {161, 189}, {269, 189}, {161, 208}, {279, 208}, {172, 208}, + {141, 224}, {257, 191}, {257, 199}, {148, 223}, {124, 224}, + { 29, 192}, {182, 220}, {245, 220}, {269, 220}, {161, 220}, + {203, 220}, {224, 220}, {123, 189}, {123, 199}, {123, 209}, + {134, 224}, { 29, 185}, {124, 224}, {226, 127}, {226, 127}, + {209, 141}, {244, 141}, {226, 127}, { 99, 107}, { 99, 107}, + { 76, 137}, {118, 136}, { 99, 107}, {195, 104}, {100, 78} +}; + +static const MinigameBbAirGuitar::PianoKeyInfo kPianoKeyInfos[] = { + { 30, 192, 0}, + { 38, 192, 5}, + { 41, 192, 1}, + { 49, 192, 5}, + { 52, 192, 2}, + { 63, 192, 3}, + { 71, 192, 5}, + { 74, 192, 1}, + { 82, 192, 5}, + { 85, 192, 1}, + { 94, 192, 5}, + { 96, 192, 2}, + {107, 192, 4} +}; + +static const Rect kRect2 = {29, 189, 290, 239}; +static const Rect kPianoRect = {29, 192, 118, 239}; + +static const Rect kPlayerButtonRects[] = { + {123, 189, 145, 199}, + {123, 199, 145, 209}, + {123, 209, 145, 220}, + {148, 223, 156, 236}, + {161, 189, 182, 205}, + {161, 208, 171, 218}, + {161, 220, 182, 231}, + {182, 220, 203, 231}, + {203, 220, 224, 231}, + {224, 220, 245, 231}, + {245, 220, 266, 231}, + {269, 220, 290, 231}, + {269, 189, 290, 205}, + {279, 208, 290, 218} +}; + +static const BBPoint kPointsTbl1[] = { + {196, 191}, {202, 191}, {207, 191}, {212, 191}, {217, 191}, + {223, 191}, {228, 191}, {233, 191}, {238, 191}, {244, 191}, + {249, 191} +}; + +static const BBPoint kPointsTbl2[] = { + {196, 199}, {202, 199}, {207, 199}, {212, 199}, {217, 199}, + {223, 199}, {228, 199}, {233, 199}, {238, 199}, {244, 199}, + {249, 199} +}; + +static const struct { int frameIndex; byte flag; } kNoteFrameTbl[13] = { + {2, 0}, {2, 1}, {3, 0}, {3, 1}, {4, 0}, + {5, 0}, {5, 1}, {6, 0}, {6, 1}, {0, 0}, + {0, 1}, {1, 0}, {2, 0} +}; + +const int kTrackBarMinX = 172; +const int kTrackBarMaxX = 272; + +bool MinigameBbAirGuitar::ptInRect(const Rect *r, int x, int y) { + return r && Common::Rect(r->left, r->top, r->right, r->bottom).contains(x, y); +} + +bool MinigameBbAirGuitar::ptInPoly(const BBPolygon *poly, int x, int y) { + if (!poly) + return false; + const BBPoint *points = poly->points; + int pointsCount = poly->pointsCount; + bool result = false; + if (pointsCount > 0) + for (int i = 0, j = pointsCount - 1; i < pointsCount; j = i++) + if (((points[i].y > y) != (points[j].y > y)) && + (x < (points[j].x - points[i].x) * (y - points[i].y) / + (points[j].y - points[i].y) + points[i].x)) + result = !result; + return result; +} + +void MinigameBbAirGuitar::buildDrawList(DrawList &drawList) { + switch (_gameState) { + case 0: + buildDrawList0(drawList); + break; + case 1: + buildDrawList1(drawList); + break; + } +} + +void MinigameBbAirGuitar::buildDrawList0(DrawList &drawList) { + + drawList.add(_objects[0].anim->frameIndices[0], _objects[0].x, _objects[0].y, 2000); + + for (int i = 1; i < kMaxObjectsCount; ++i) { + Obj *obj = &_objects[i]; + if (obj->kind) + drawList.add(obj->anim->frameIndices[obj->frameIndex], obj->x, obj->y, obj->y + 16); + } + + if (_titleScreenSpriteIndex> 0) + drawList.add(_titleScreenSpriteIndex, 0, 0, 0); + +} + +void MinigameBbAirGuitar::buildDrawList1(DrawList &drawList) { + + for (int i = 0; i < kMaxObjectsCount; ++i) { + Obj *obj = &_objects[i]; + if (obj->kind) + drawList.add(obj->anim->frameIndices[obj->frameIndex], obj->x, obj->y, 255 - i); + } + + if (_movingTrackBar) { + _trackBarX = _trackBarMouseX; + } else if (_totalTrackLength > 0) { + _trackBarX = 100 * _currTrackPos / _totalTrackLength + kTrackBarMinX; + } else { + _trackBarX = kTrackBarMinX; + } + + if (_trackBarX > kTrackBarMaxX) + _trackBarX = kTrackBarMaxX; + + _trackBarThumbRect.top = 208; + _trackBarThumbRect.bottom = 218; + _trackBarThumbRect.left = _trackBarX; + _trackBarThumbRect.right = _trackBarX + 6; + + drawList.add(_objects[5].anim->frameIndices[0], _trackBarX, 208, 100); + + if (_playerMode != 0) { + for (int i = 36; i < _vuMeterLeft2 + 36; ++i) { + int frameIndex = 0; + if (i >= 45) + frameIndex = 3; + else if (i >= 43) + frameIndex = 2; + else if (i >= 41) + frameIndex = 1; + drawList.add(_objects[i].anim->frameIndices[frameIndex], kPointsTbl1[i - 36].x, kPointsTbl1[i - 36].y, 254); + } + for (int i = 47; i < _vuMeterRight2 + 47; ++i) { + int frameIndex = 0; + if (i >= 56) + frameIndex = 3; + else if (i >= 54) + frameIndex = 2; + else if (i >= 52) + frameIndex = 1; + drawList.add(_objects[i].anim->frameIndices[frameIndex], kPointsTbl2[i - 47].x, kPointsTbl2[i - 47].y, 254); + } + } + + if (_backgroundSpriteIndex > 0) + drawList.add(_backgroundSpriteIndex, 0, 0, 0); + +} + +void MinigameBbAirGuitar::drawSprites() { + DrawList drawList; + buildDrawList(drawList); + _vm->_screen->drawDrawList(drawList, _spriteModule); + _vm->_screen->copyToScreen(); +} + +void MinigameBbAirGuitar::initObjs() { + for (int i = 0; i < kMaxObjectsCount; ++i) + _objects[i].kind = 0; +} + +MinigameBbAirGuitar::Obj *MinigameBbAirGuitar::getFreeObject() { + for (int i = 0; i < kMaxObjectsCount; ++i) + if (_objects[i].kind == 0) + return &_objects[i]; + return 0; +} + +void MinigameBbAirGuitar::initObjects() { + switch (_gameState) { + case 0: + initObjects0(); + break; + case 1: + initObjects1(); + break; + } +} + +void MinigameBbAirGuitar::initObjects0() { + _objects[0].anim = getAnimation(0); + _objects[0].frameIndex = 0; + _objects[0].ticks = getAnimation(0)->frameTicks[0]; + _objects[0].x = 160; + _objects[0].y = 120; + _objects[0].kind = 1; + _objects[1].anim = getAnimation(37); + _objects[1].frameIndex = 0; + _objects[1].ticks = getAnimation(37)->frameTicks[0]; + _objects[1].x = 40; + _objects[1].y = 240; + _objects[1].kind = 2; + _objects[2].anim = getAnimation(36); + _objects[2].frameIndex = 0; + _objects[2].ticks = getAnimation(36)->frameTicks[0]; + _objects[2].x = 280; + _objects[2].y = 240; + _objects[2].kind = 2; + +} + +void MinigameBbAirGuitar::initObjects1() { + + for (int i = 0; i < 60; ++i) + _objects[i].kind = 0; + + _objects[0].kind = 0; + _objects[0].kind = 1; + _objects[0].anim = getAnimation(0); + _objects[0].ticks = getAnimation(0)->frameTicks[0]; + _objects[1].anim = getAnimation(1); + _objects[1].ticks = getAnimation(1)->frameTicks[0]; + _objects[2].anim = getAnimation(2); + _objects[2].ticks = getAnimation(2)->frameTicks[0]; + _objects[3].anim = getAnimation(3); + _objects[3].ticks = getAnimation(3)->frameTicks[0]; + _objects[4].anim = getAnimation(4); + _objects[4].ticks = getAnimation(4)->frameTicks[0]; + _objects[5].anim = getAnimation(5); + _objects[5].ticks = getAnimation(5)->frameTicks[0]; + _objects[6].anim = getAnimation(6); + _objects[6].ticks = getAnimation(6)->frameTicks[0]; + _objects[7].anim = getAnimation(8); + _objects[7].ticks = getAnimation(8)->frameTicks[0]; + _objects[8].anim = getAnimation(9); + _objects[8].ticks = getAnimation(9)->frameTicks[0]; + _objects[9].anim = getAnimation(10); + _objects[9].ticks = getAnimation(10)->frameTicks[0]; + _objects[10].anim = getAnimation(11); + _objects[10].ticks = getAnimation(11)->frameTicks[0]; + _objects[11].anim = getAnimation(12); + _objects[11].ticks = getAnimation(12)->frameTicks[0]; + _objects[12].anim = getAnimation(13); + _objects[12].ticks = getAnimation(13)->frameTicks[0]; + _objects[13].anim = getAnimation(14); + _objects[13].ticks = getAnimation(14)->frameTicks[0]; + _objects[14].anim = getAnimation(15); + _objects[14].ticks = getAnimation(15)->frameTicks[0]; + _objects[15].anim = getAnimation(16); + _objects[15].ticks = getAnimation(16)->frameTicks[0]; + _objects[16].anim = getAnimation(17); + _objects[16].ticks = getAnimation(17)->frameTicks[0]; + _objects[17].anim = getAnimation(18); + _objects[17].ticks = getAnimation(18)->frameTicks[0]; + _objects[18].anim = getAnimation(19); + _objects[18].ticks = getAnimation(19)->frameTicks[0]; + _objects[19].anim = getAnimation(20); + _objects[19].ticks = getAnimation(20)->frameTicks[0]; + _objects[20].anim = getAnimation(21); + _objects[20].ticks = getAnimation(21)->frameTicks[0]; + _objects[21].anim = getAnimation(11); + _objects[21].ticks = getAnimation(11)->frameTicks[0]; + _objects[22].anim = getAnimation(22); + _objects[22].ticks = getAnimation(22)->frameTicks[0]; + _objects[23].anim = getAnimation(23); + _objects[23].ticks = getAnimation(23)->frameTicks[0]; + _objects[24].anim = getAnimation(24); + _objects[24].ticks = getAnimation(24)->frameTicks[0]; + _objects[25].anim = getAnimation(25); + _objects[25].ticks = getAnimation(25)->frameTicks[0]; + _objects[26].anim = getAnimation(26); + _objects[26].ticks = getAnimation(26)->frameTicks[0]; + _objects[27].anim = getAnimation(27); + _objects[27].ticks = getAnimation(27)->frameTicks[0]; + _objects[28].anim = getAnimation(28); + _objects[28].ticks = getAnimation(28)->frameTicks[0]; + _objects[29].anim = getAnimation(29); + _objects[29].ticks = getAnimation(29)->frameTicks[0]; + _objects[30].anim = getAnimation(30); + _objects[30].ticks = getAnimation(30)->frameTicks[0]; + _objects[31].anim = getAnimation(31); + _objects[31].ticks = getAnimation(31)->frameTicks[0]; + _objects[32].anim = getAnimation(32); + _objects[32].ticks = getAnimation(32)->frameTicks[0]; + _objects[33].anim = getAnimation(33); + _objects[33].ticks = getAnimation(33)->frameTicks[0]; + _objects[34].anim = getAnimation(34); + _objects[34].ticks = getAnimation(34)->frameTicks[0]; + _objects[35].anim = getAnimation(35); + _objects[35].ticks = getAnimation(35)->frameTicks[0]; + + for (int i = 36; i <= 57; ++i) { + _objects[i].anim = getAnimation(7); + _objects[i].ticks = getAnimation(7)->frameTicks[0]; + } + + for (int i = 1; i <= 35; ++i) { + _objects[i].x = kObjPoints[i - 1].x; + _objects[i].y = kObjPoints[i - 1].y; + } + + _objects[22].kind = 1; + _objects[6].kind = 1; + _objects[26].kind = 1; + _objects[26].frameIndex = 3; + _objects[27].kind = 1; + _objects[27].frameIndex = 3; + _objects[31].kind = 1; + _objects[31].frameIndex = 3; + _objects[32].kind = 1; + _objects[32].frameIndex = 3; + _objects[28].kind = 1; + _objects[33].kind = 1; + _objects[34].kind = 1; + _objects[35].kind = 1; + + _track[0].noteNum = -1; + stop(); + changePatch(0); + +} + +bool MinigameBbAirGuitar::updateStatus(int mouseX, int mouseY, uint mouseButtons) { + switch (_gameState) { + case 0: + return updateStatus0(mouseX, mouseY, mouseButtons); + case 1: + return updateStatus1(mouseX, mouseY, mouseButtons); + } + return false; +} + +bool MinigameBbAirGuitar::updateStatus0(int mouseX, int mouseY, uint mouseButtons) { + + if (mouseButtons & kAnyButtonDown) { + stopSound(1); + _rockTunePlaying = false; + _gameState = 1; + initObjects(); + _gameTicks = 0; + } else { + + if (!_rockTunePlaying) { + _rockTunePlaying = true; + playSound(1, true); + } + + _objects[0].x = mouseX; + _objects[0].y = mouseY; + + for (int i = 1; i < kMaxObjectsCount; ++i) { + Obj *obj = &_objects[i]; + if (obj->kind && --obj->ticks == 0) { + ++obj->frameIndex; + if (obj->frameIndex >= obj->anim->frameCount) + obj->frameIndex = 0; + obj->ticks = obj->anim->frameTicks[obj->frameIndex]; + } + } + + } + + return true; +} + +bool MinigameBbAirGuitar::updateStatus1(int mouseX, int mouseY, uint mouseButtons) { + + int currTicks = _vm->_system->getMillis(); + + if (_playerMode == 1 && _track[_trackIndex].ticks <= currTicks - _noteStartTime) { + noteOff(_track[_trackIndex].noteNum); + if (_trackIndex < _trackCount && _track[++_trackIndex].noteNum != -1) + noteOn(_track[_trackIndex].noteNum); + else + stop(); + } + + if (_vuMeterLeft1 - 2 <= _vuMeterLeft2) { + if (_vuMeterLeft1 + 1 >= _vuMeterLeft2) { + int incr = MIN(_vm->getRandom(4), 2) - 1; + if (incr < 0 && _vuMeterLeft2 == 0) + incr = -incr; + if (incr > 0 && _vuMeterLeft2 == 11) + incr = -incr; + _vuMeterLeft2 += incr; + } else { + --_vuMeterLeft2; + } + } else { + ++_vuMeterLeft2; + } + + if (_vuMeterRight1 - 2 <= _vuMeterRight2) { + if (_vuMeterRight1 + 1 >= _vuMeterRight2) { + int incr = MIN(_vm->getRandom(4), 2) - 1; + if (incr < 0 && _vuMeterRight2 == 0) + incr = -incr; + if (incr > 0 && _vuMeterRight2 == 11) + incr = -incr; + _vuMeterRight2 += incr; + } else { + --_vuMeterRight2; + } + } else { + ++_vuMeterRight2; + } + + if (_resetAnims && _vm->_system->getMillis() - _noteStartTime >= 1000) + resetObjs(); + + _objects[0].x = mouseX; + _objects[0].y = mouseY; + + _trackBarMouseX = CLIP(mouseX, kTrackBarMinX, kTrackBarMaxX); + + bool checkClick = false; + + if (mouseButtons & kAnyButtonClicked) { + checkClick = true; + } else if (!(mouseButtons & kAnyButtonDown)) { + afterButtonReleased(); + } else if (!_movingTrackBar && ((_currButtonNum >= 14 && ptInPoly(_currPianoKeyArea, mouseX, mouseY)) || ptInRect(_currPlayerButtonRect, mouseX, mouseY))) { + if (_currButtonNum == 5 && _trackIndex > 0) { + --_trackIndex; + calcTotalTicks2(); + } else if (_currButtonNum == 13 && _trackIndex < _trackCount) { + ++_trackIndex; + calcTotalTicks2(); + } + } else if (!_movingTrackBar) + checkClick = true; + + if (checkClick) { + + afterButtonReleased(); + _objects[0].frameIndex = 1; + + if (ptInRect(&kRect2, mouseX, mouseY)) { + + if (_playerMode != 1 && ptInRect(&kPianoRect, mouseX, mouseY)) { + for (int i = 0; i <= 12; ++i) { + if (ptInPoly(&kPianoKeyAreas[i], mouseX, mouseY)) { + _currButtonNum = i + 14; + _currPianoKeyArea = &kPianoKeyAreas[i]; + _objects[11].kind = 1; + _objects[11].x = kPianoKeyInfos[i].x; + _objects[11].y = kPianoKeyInfos[i].y; + _objects[11].frameIndex = kPianoKeyInfos[i].frameIndex; + noteOn(i); + break; + } + } + } else if (_playerMode != 1 && ptInRect(&_trackBarThumbRect, mouseX, mouseY)) { + _movingTrackBar = true; + } else { + + int playerButtonNum = -1; + for (int i = 0; i < 14; ++i) { + if (ptInRect(&kPlayerButtonRects[i], mouseX, mouseY)) { + playerButtonNum = i; + break; + } + } + + if (playerButtonNum >= 0) { + _currButtonNum = playerButtonNum; + _currPlayerButtonRect = &kPlayerButtonRects[playerButtonNum]; + + switch (playerButtonNum) { + + case 0: + if (_playerMode == 0) { + changePatch(0); + _currFrameIndex = &_objects[18 + 0].frameIndex; + *_currFrameIndex = 0; + } + break; + + case 1: + if (_playerMode == 0) { + changePatch(1); + _currFrameIndex = &_objects[18 + 1].frameIndex; + *_currFrameIndex = 0; + } + break; + + case 2: + if (_playerMode == 0) { + changePatch(2); + _currFrameIndex = &_objects[18 + 2].frameIndex; + *_currFrameIndex = 0; + } + break; + + case 3: + _btn3KindToggle = !_btn3KindToggle; + _objects[9].kind = _btn3KindToggle ? 0 : 1; + _objects[22].frameIndex = _btn3KindToggle ? 0 : 1; + break; + + case 4: + if (_playerMode == 0) { + _objects[1].kind = 1; + _currFrameIndex = &_objects[1].frameIndex; + _objects[1].frameIndex = 0; + } + break; + + case 5: + if (_playerMode == 0) { + if (_trackIndex > 0) + --_trackIndex; + _objects[3].kind = 1; + calcTotalTicks2(); + } + break; + + case 6: + stop(); + _currFrameIndex = &_objects[15].frameIndex; + _objects[15].frameIndex = 0; + break; + + case 7: + if (_playerMode == 0) { + play(); + _currFrameIndex = &_objects[12].frameIndex; + _objects[12].frameIndex = 0; + } + break; + + case 8: + if (_playerMode == 0) { + _trackIndex = 0; + _objects[16].kind = 1; + calcTotalTicks2(); + } + break; + + case 9: + if (_playerMode == 0) { + _trackIndex = _trackCount; + _objects[17].kind = 1; + calcTotalTicks2(); + } + break; + + case 10: + if (_playerMode == 0) { + record(); + _currFrameIndex = &_objects[13].frameIndex; + _objects[13].frameIndex = 0; + } + break; + + case 11: + if (_playerMode == 0) { + setPlayerMode3(); + _currFrameIndex = &_objects[14].frameIndex; + _objects[14].frameIndex = 0; + } + break; + + case 12: + if (_playerMode == 0) { + _objects[2].kind = 1; + _currFrameIndex = &_objects[2].frameIndex; + _objects[2].frameIndex = 0; + } + break; + + case 13: + if (_playerMode == 0) { + if (_trackIndex < _trackCount) + ++_trackIndex; + _objects[4].kind = 1; + calcTotalTicks2(); + } + break; + + } + } + } + } + } + + if (_playerMode != 0) { + _currTrackPos = currTicks + _actionStartTrackPos - _actionStartTime; + if (_currTrackPos > _actionTrackPos && _playerMode != 1) { + if (_currTrackPos >= 15000) { + _currTrackPos = 15000; + _actionTrackPos = 15000; + stop(); + } else { + _actionTrackPos = currTicks + _actionStartTrackPos - _actionStartTime; + } + } + } + + if (_buttonClickTicks + 1000 < currTicks) + _buttonClickTicks = currTicks; + + int newKind = _buttonClickTicks + 500 < currTicks ? 1 : 0; + + switch (_playerMode) { + + case 1: + if (_currButtonNum == 7) { + _objects[12].kind = 1; + _objects[12].frameIndex = 0; + } else { + _objects[12].kind = newKind; + _objects[12].frameIndex = 1; + } + break; + + case 2: + if (_currButtonNum == 10) { + _objects[13].kind = 1; + _objects[13].frameIndex = 0; + } else { + _objects[13].kind = newKind; + _objects[13].frameIndex = 1; + } + break; + + case 3: + if (_currButtonNum == 11) { + _objects[14].kind = 1; + _objects[14].frameIndex = 0; + } else { + _objects[14].kind = newKind; + _objects[14].frameIndex = 1; + } + break; + + } + + updateObjs(); + + return true; +} + +void MinigameBbAirGuitar::updateObjs() { + for (int i = 24; i <= 33; ++i) { + Obj *obj = &_objects[i]; + if (obj->kind && --obj->ticks == 0) { + if (obj->frameIndex + 1 >= obj->anim->frameCount) { + obj->ticks = -1; + } else { + ++obj->frameIndex; + obj->ticks = obj->anim->frameTicks[obj->frameIndex]; + } + } + } +} + +int MinigameBbAirGuitar::run(uint flags) { + + memset(_objects, 0, sizeof(_objects)); + + _currPatchNum = -1; + _btn3KindToggle = 0; + _currButtonNum = 27; + _actionStartTime = 0; + _currFrameIndex = 0; + _currPlayerButtonRect = 0; + _currPianoKeyArea = 0; + _trackCount = 0; + _trackIndex = 0; + _totalTrackLength = 0; + _actionTrackPos = 0; + _noteStartTime = 0; + _actionStartTrackPos = 0; + _trackBarX = kTrackBarMinX; + _currTrackPos = 0; + _currNoteNum = -2; + _resetAnims = false; + _vuMeterLeft2 = 0; + _vuMeterRight2 = 0; + _vuMeterLeft1 = 0; + _vuMeterRight1 = 0; + _rockTunePlaying = false; + + _backgroundSpriteIndex = 97; + _titleScreenSpriteIndex = 98; + + _fromMainGame = false; + if (flags & 1) + _fromMainGame = true; + + _gameState = 0; + _gameTicks = 0; + _gameResult = 0; + _gameDone = false; + initObjects(); + + _spriteModule = new SpriteModule(); + _spriteModule->load("bbairg/bbairg.000"); + + Palette palette = _spriteModule->getPalette(); + _vm->_screen->setPalette(palette); + + loadSounds(); + + while (!_vm->shouldQuit() &&!_gameDone) { + _vm->updateEvents(); + update(); + } + + // Unload sounds + _vm->_sound->unloadSounds(); + + delete _spriteModule; + + return _gameResult; +} + +void MinigameBbAirGuitar::update() { + + int currTicks, inputTicks; + + if (_gameTicks > 0) { + currTicks = _vm->_system->getMillis(); + inputTicks = 3 * (currTicks - _gameTicks) / 50; + _gameTicks = currTicks - (currTicks - _gameTicks - 50 * inputTicks / 3); + } else { + inputTicks = 1; + _gameTicks = _vm->_system->getMillis(); + } + + if (_vm->_keyCode == Common::KEYCODE_ESCAPE) { + _gameDone = true; + return; + } + + if (inputTicks == 0) + return; + + bool done; + + do { + done = !updateStatus(_vm->_mouseX, _vm->_mouseY, _vm->_mouseButtons); + _vm->_mouseButtons &= ~kLeftButtonClicked; + _vm->_mouseButtons &= ~kRightButtonClicked; + _vm->_keyCode = Common::KEYCODE_INVALID; + } while (--inputTicks && _gameTicks > 0 && !done); + + drawSprites(); + +} + +void MinigameBbAirGuitar::play() { + if (_track[_trackIndex].noteNum != -1) { + _playerMode = 1; + _objects[7].kind = 1; + _objects[8].kind = 0; + _objects[15].kind = 0; + _actionStartTime = _vm->_system->getMillis(); + _actionStartTrackPos = _currTrackPos; + noteOn(_track[_trackIndex].noteNum); + } +} + + +void MinigameBbAirGuitar::record() { + _playerMode = 2; + _objects[7].kind = 1; + _objects[8].kind = 0; + _objects[15].kind = 0; + _totalTrackLength = 15000; + _actionStartTime = _vm->_system->getMillis(); + _actionStartTrackPos = _currTrackPos; + _noteStartTime = _vm->_system->getMillis(); + _actionTrackPos = _currTrackPos; + _trackCount = _trackIndex; + _vuMeterRight1 = 0; + _vuMeterRight2 = 0; + _vuMeterLeft1 = 0; + _vuMeterLeft2 = 0; + _modified = true; + _track[_trackIndex].noteNum = -2; +} + +void MinigameBbAirGuitar::setPlayerMode3() { + _playerMode = 3; + _objects[7].kind = 1; + _objects[8].kind = 0; + _objects[15].kind = 0; + _totalTrackLength = 15000; + _actionStartTime = _vm->_system->getMillis(); + _actionStartTrackPos = _currTrackPos; + _noteStartTime = _vm->_system->getMillis(); + _actionTrackPos = _currTrackPos; + _trackCount = _trackIndex; + _vuMeterRight1 = 0; + _vuMeterRight2 = 0; + _vuMeterLeft1 = 0; + _vuMeterLeft2 = 0; + _modified = true; + _track[_trackIndex].noteNum = -2; +} + +void MinigameBbAirGuitar::stop() { + noteOff(_currNoteNum); + if (_playerMode == 2 || _playerMode == 3) { + _totalTrackLength = _actionTrackPos; + _track[_trackCount].noteNum = -1; + } + _playerMode = 0; + _objects[7].kind = 0; + _objects[8].kind = 1; + _objects[15].kind = 1; + _objects[15].frameIndex = 1; + _objects[12].kind = 0; + _objects[13].kind = 0; + _objects[14].kind = 0; + resetObjs(); +} + +void MinigameBbAirGuitar::changePatch(int patchNum) { + + resetObjs(); + + if (patchNum == -1 || patchNum != _currPatchNum) + _currPatchNum = -1; + + _objects[20].kind = 0; + _objects[19].kind = _objects[20].kind; + _objects[18].kind = _objects[19].kind; + _objects[patchNum + 18].kind = 1; + _objects[patchNum + 18].frameIndex = 1; + _objects[6].frameIndex = patchNum; + _currPatchNum = patchNum; +} + +void MinigameBbAirGuitar::afterButtonReleased() { + if (_movingTrackBar) { + _movingTrackBar = false; + _currTrackPos = _totalTrackLength * (_trackBarX - kTrackBarMinX) / 100; + calcTotalTicks1(); + } else { + switch (_currButtonNum) { + case 0: + case 1: + case 2: + *_currFrameIndex = 1; + break; + case 4: + *_currFrameIndex = 1; + // TODO PostMessageA(hWndParent, WM_COMMAND, 0x9C6Du, 0); + break; + case 5: + _objects[3].kind = 0; + break; + case 6: + *_currFrameIndex = 1; + break; + case 7: + *_currFrameIndex = 1; + break; + case 8: + _objects[16].kind = 0; + break; + case 9: + _objects[17].kind = 0; + break; + case 10: + *_currFrameIndex = 1; + break; + case 11: + *_currFrameIndex = 1; + break; + case 12: + *_currFrameIndex = 1; + // TODO PostMessageA(hWndParent, WM_COMMAND, 0x9C6Eu, 0); + break; + case 13: + _objects[4].kind = 0; + break; + case 14: + case 15: + case 16: + case 17: + case 18: + case 19: + case 20: + case 21: + case 22: + case 23: + case 24: + case 25: + case 26: + noteOff(_currButtonNum - 14); + break; + } + } + + _objects->frameIndex = 0; + _currPlayerButtonRect = 0; + _currPianoKeyArea = 0; + _currButtonNum = 27; +} + +void MinigameBbAirGuitar::calcTotalTicks2() { + _currTrackPos = 0; + for (int i = 0; i < _trackIndex; ++i) + _currTrackPos += _track[i].ticks; +} + +void MinigameBbAirGuitar::calcTotalTicks1() { + int totalTicks = 0; + // TODO Try to clean this up + _trackIndex = 0; + if (_track[0].ticks <= _currTrackPos) { + do { + totalTicks += _track[_trackIndex].ticks; + if (_trackIndex >= _trackCount) + break; + ++_trackIndex; + } while (totalTicks + _track[_trackIndex].ticks <= _currTrackPos); + } + _currTrackPos = totalTicks; +} + +void MinigameBbAirGuitar::noteOn(int noteNum) { + + if (_currNoteNum != -2) { + if (noteNum == _currNoteNum) + return; + noteOff(_currNoteNum); + } + + if (noteNum == -2) { + _vuMeterRight1 = 0; + _vuMeterRight2 = 0; + _vuMeterLeft1 = 0; + _vuMeterLeft2 = 0; + } else { + playNote(noteNum); + _vuMeterRight1 = 10; + _vuMeterRight2 = 10; + _vuMeterLeft1 = 10; + _vuMeterLeft2 = 10; + if (_btn3KindToggle) { + _objects[23].kind = 1; + _objects[23].frameIndex = noteNum; + } else { + _objects[10].kind = 1; + _objects[10].frameIndex = kNoteFrameTbl[noteNum].frameIndex; + if (kNoteFrameTbl[noteNum].flag) { + _objects[21].kind = 1; + _objects[21].frameIndex = 7; + } + } + } + + _currNoteNum = noteNum; + + if (_playerMode == 2 || _playerMode == 3) { + _ticksDelta = _vm->_system->getMillis() - _noteStartTime; + _track[_trackCount].ticks = _ticksDelta; + if (_trackCount < kMaxTracks) + ++_trackCount; + _track[_trackCount].noteNum = noteNum; + } + + _noteStartTime = _vm->_system->getMillis(); + + if (noteNum != -2) { + _resetAnims = false; + if (_currPatchNum == 0) { + _objects[25].kind = 1; + _objects[28].kind = 0; + _objects[25].frameIndex = 0; + _objects[25].ticks = getAnimation(25)->frameTicks[0]; + _objects[26].frameIndex = 0; + _objects[26].ticks = getAnimation(26)->frameTicks[0]; + _objects[27].frameIndex = 0; + _objects[27].ticks = getAnimation(27)->frameTicks[0]; + _objects[30].kind = 1; + _objects[33].kind = 0; + _objects[30].frameIndex = 0; + _objects[30].ticks = getAnimation(30)->frameTicks[0]; + _objects[31].frameIndex = 0; + _objects[31].ticks = getAnimation(31)->frameTicks[0]; + _objects[32].frameIndex = 0; + _objects[32].ticks = getAnimation(32)->frameTicks[0]; + } else if (_currPatchNum == 1) { + _objects[29].kind = 1; + _objects[33].kind = 0; + _objects[29].frameIndex = 0; + _objects[29].ticks = getAnimation(29)->frameTicks[0]; + _objects[31].frameIndex = 0; + _objects[31].ticks = getAnimation(31)->frameTicks[0]; + _objects[32].frameIndex = 0; + _objects[32].ticks = getAnimation(32)->frameTicks[0]; + } else if (_currPatchNum == 2) { + _objects[24].kind = 1; + _objects[28].kind = 0; + _objects[24].frameIndex = 0; + _objects[24].ticks = getAnimation(24)->frameTicks[0]; + _objects[26].frameIndex = 0; + _objects[26].ticks = getAnimation(26)->frameTicks[0]; + _objects[27].frameIndex = 0; + _objects[27].ticks = getAnimation(27)->frameTicks[0]; + } + } + +} + +void MinigameBbAirGuitar::noteOff(int noteNum) { + + if (_currNoteNum != noteNum) + return; + + if (noteNum != -2) + stopNote(noteNum); + + _objects[21].kind = 0; + _objects[23].kind = _objects[21].kind; + _objects[10].kind = _objects[23].kind; + + _vuMeterRight1 = 0; + _vuMeterRight2 = 0; + _vuMeterLeft1 = 0; + _vuMeterLeft2 = 0; + + _currNoteNum = -2; + + _objects[11].kind = 0; + + _ticksDelta = _vm->_system->getMillis() - _noteStartTime; + + if (_playerMode == 2 || _playerMode == 3) { + if (_actionTrackPos + _ticksDelta > 15000) + _ticksDelta = 15000 - _actionTrackPos; + _track[_trackCount].ticks = _ticksDelta; + if (_trackCount < 2048) + ++_trackCount; + _track[_trackCount].noteNum = -2; + _noteStartTime = _vm->_system->getMillis(); + } + + if (noteNum != -2) { + if (_playerMode == 0) { + _resetAnims = true; + _noteStartTime = _vm->_system->getMillis(); + } + if (_currPatchNum == 0) { + _objects[25].frameIndex = 3; + _objects[25].ticks = -1; + _objects[26].frameIndex = 3; + _objects[26].ticks = -1; + _objects[27].frameIndex = 3; + _objects[27].ticks = -1; + _objects[30].frameIndex = 3; + _objects[30].ticks = -1; + _objects[31].frameIndex = 3; + _objects[31].ticks = -1; + _objects[32].frameIndex = 3; + _objects[32].ticks = -1; + } else if (_currPatchNum == 1) { + _objects[29].frameIndex = 3; + _objects[29].ticks = -1; + _objects[31].frameIndex = 3; + _objects[31].ticks = -1; + _objects[32].frameIndex = 3; + _objects[32].ticks = -1; + } else if (_currPatchNum == 2) { + _objects[24].frameIndex = 2; + _objects[24].ticks = -1; + _objects[26].frameIndex = 3; + _objects[26].ticks = -1; + _objects[27].frameIndex = 3; + _objects[27].ticks = -1; + } + } + +} + +void MinigameBbAirGuitar::resetObjs() { + _resetAnims = false; + _objects[25].kind = 0; + _objects[24].kind = 0; + _objects[28].kind = 1; + _objects[26].frameIndex = 0; + _objects[26].ticks = -1; + _objects[27].frameIndex = 0; + _objects[27].ticks = -1; + _objects[30].kind = 0; + _objects[29].kind = 0; + _objects[33].kind = 1; + _objects[31].frameIndex = 0; + _objects[31].ticks = -1; + _objects[32].frameIndex = 0; + _objects[32].ticks = -1; +} + +void MinigameBbAirGuitar::loadSounds() { + _vm->_sound->loadSound("bbairg/audio/rocktune.aif"); + for (uint i = 0; i < kPatchDirectoriesCount; ++i) { + const char *patchDirectory = kPatchDirectories[i]; + for (uint j = 0; j < kNoteSoundFilenamesCount; ++j) { + Common::String filename = Common::String::format("bbairg/audio/%s/%s", patchDirectory, kNoteSoundFilenames[j]); + _vm->_sound->loadSound(filename.c_str()); + } + } +} + +void MinigameBbAirGuitar::playNote(int noteNum) { + if (noteNum >= 0 && _currPatchNum >= 0) + playSound(2 + _currPatchNum * kNoteSoundFilenamesCount + noteNum); +} + +void MinigameBbAirGuitar::stopNote(int noteNum) { + if (noteNum >= 0 && _currPatchNum >= 0) + stopSound(2 + _currPatchNum * kNoteSoundFilenamesCount + noteNum); +} + +} // End of namespace Bbvs diff --git a/engines/bbvs/minigames/bbairguitar.h b/engines/bbvs/minigames/bbairguitar.h new file mode 100644 index 0000000000..70ba5800ce --- /dev/null +++ b/engines/bbvs/minigames/bbairguitar.h @@ -0,0 +1,148 @@ +/* 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. + * + */ + +#ifndef BBVS_MINIGAMES_BBAIRGUITAR_H +#define BBVS_MINIGAMES_BBAIRGUITAR_H + +#include "bbvs/minigames/minigame.h" + +namespace Bbvs { + +class MinigameBbAirGuitar : public Minigame { +public: + MinigameBbAirGuitar(BbvsEngine *vm) : Minigame(vm) {}; + int run(uint flags); +public: + + struct Obj { + int kind; + int x, y; + int xIncr, yIncr; + const ObjAnimation *anim; + int frameIndex; + int ticks; + int status; + int16 frameIndexAdd; + int16 unk2; + }; + + enum { + kMaxObjectsCount = 256, + kMaxTracks = 2049 + }; + + struct PianoKeyInfo { + int x, y; + int frameIndex; + }; + + struct TrackEvt { + int8 noteNum; + int16 ticks; + }; + + Obj _objects[kMaxObjectsCount]; + + int _playerMode; + + bool _modified; + + TrackEvt _track[kMaxTracks]; + int _trackIndex, _trackCount; + + int _noteStartTime; + + int _vuMeterLeft1, _vuMeterLeft2; + int _vuMeterRight1, _vuMeterRight2; + + bool _resetAnims; + bool _rockTunePlaying; + + int _currButtonNum; + int _buttonClickTicks; + + int *_currFrameIndex; + int _btn3KindToggle; + + const BBPolygon *_currPianoKeyArea; + const Rect *_currPlayerButtonRect; + + bool _movingTrackBar; + int _trackBarMouseX; + int _trackBarX; + Rect _trackBarThumbRect; + + int _currTrackPos, _totalTrackLength; + int _ticksDelta; + + int _actionStartTrackPos, _actionTrackPos; + int _actionStartTime; + + int _currNoteNum; + int _currPatchNum; + + const ObjAnimation *getAnimation(int animIndex); + bool ptInRect(const Rect *r, int x, int y); + bool ptInPoly(const BBPolygon *poly, int x, int y); + + void buildDrawList(DrawList &drawList); + void buildDrawList0(DrawList &drawList); + void buildDrawList1(DrawList &drawList); + + void drawSprites(); + + void initObjs(); + Obj *getFreeObject(); + + void initObjects(); + void initObjects0(); + void initObjects1(); + + bool updateStatus(int mouseX, int mouseY, uint mouseButtons); + bool updateStatus0(int mouseX, int mouseY, uint mouseButtons); + bool updateStatus1(int mouseX, int mouseY, uint mouseButtons); + + void updateObjs(); + + void update(); + + void play(); + void record(); + void setPlayerMode3(); + void stop(); + void changePatch(int patchNum); + void afterButtonReleased(); + void calcTotalTicks2(); + void calcTotalTicks1(); + void noteOn(int noteNum); + void noteOff(int noteNum); + void resetObjs(); + + void loadSounds(); + void playNote(int noteNum); + void stopNote(int noteNum); + +}; + +} // End of namespace Bbvs + +#endif // BBVS_H diff --git a/engines/bbvs/minigames/bbairguitar_anims.cpp b/engines/bbvs/minigames/bbairguitar_anims.cpp new file mode 100644 index 0000000000..4f87eb5c78 --- /dev/null +++ b/engines/bbvs/minigames/bbairguitar_anims.cpp @@ -0,0 +1,186 @@ +/* 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 "bbvs/minigames/bbairguitar.h" + +namespace Bbvs { + +static const int kAnim0FrameIndices[] = {0, 1}; +static const int16 kAnim0FrameTicks[] = {6, 6}; +static const BBRect kAnim0FrameRects[] = {{0, 0, 0, 0}, {0, 0, 0, 0}}; +static const int kAnim1FrameIndices[] = {2, 3}; +static const int16 kAnim1FrameTicks[] = {6, 6}; +static const BBRect kAnim1FrameRects[] = {{0, 0, 0, 0}, {0, 0, 0, 0}}; +static const int kAnim2FrameIndices[] = {4, 5}; +static const int16 kAnim2FrameTicks[] = {6, 6}; +static const BBRect kAnim2FrameRects[] = {{0, 0, 0, 0}, {0, 0, 0, 0}}; +static const int kAnim3FrameIndices[] = {6}; +static const int16 kAnim3FrameTicks[] = {6}; +static const BBRect kAnim3FrameRects[] = {{0, 0, 0, 0}}; +static const int kAnim4FrameIndices[] = {7}; +static const int16 kAnim4FrameTicks[] = {6}; +static const BBRect kAnim4FrameRects[] = {{0, 0, 0, 0}}; +static const int kAnim5FrameIndices[] = {8}; +static const int16 kAnim5FrameTicks[] = {6}; +static const BBRect kAnim5FrameRects[] = {{0, 0, 0, 0}}; +static const int kAnim6FrameIndices[] = {9, 10, 11}; +static const int16 kAnim6FrameTicks[] = {6, 6, 6}; +static const BBRect kAnim6FrameRects[] = {{0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}}; +static const int kAnim7FrameIndices[] = {12, 13, 14, 15}; +static const int16 kAnim7FrameTicks[] = {10, 10, 10, 10}; +static const BBRect kAnim7FrameRects[] = {{0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}}; +static const int kAnim8FrameIndices[] = {16}; +static const int16 kAnim8FrameTicks[] = {10}; +static const BBRect kAnim8FrameRects[] = {{0, 0, 0, 0}}; +static const int kAnim9FrameIndices[] = {17}; +static const int16 kAnim9FrameTicks[] = {10}; +static const BBRect kAnim9FrameRects[] = {{0, 0, 0, 0}}; +static const int kAnim10FrameIndices[] = {18}; +static const int16 kAnim10FrameTicks[] = {6}; +static const BBRect kAnim10FrameRects[] = {{0, 0, 0, 0}}; +static const int kAnim11FrameIndices[] = {19, 20, 21, 22, 23, 24, 25, 26, 27}; +static const int16 kAnim11FrameTicks[] = {6, 6, 6, 6, 6, 6, 6, 6, 6}; +static const BBRect kAnim11FrameRects[] = {{0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}}; +static const int kAnim12FrameIndices[] = {28, 29, 30, 31, 32, 33}; +static const int16 kAnim12FrameTicks[] = {10, 10, 10, 10, 10, 10}; +static const BBRect kAnim12FrameRects[] = {{0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}}; +static const int kAnim13FrameIndices[] = {34, 35}; +static const int16 kAnim13FrameTicks[] = {6, 6}; +static const BBRect kAnim13FrameRects[] = {{0, 0, 0, 0}, {0, 0, 0, 0}}; +static const int kAnim14FrameIndices[] = {36, 37}; +static const int16 kAnim14FrameTicks[] = {6, 6}; +static const BBRect kAnim14FrameRects[] = {{0, 0, 0, 0}, {0, 0, 0, 0}}; +static const int kAnim15FrameIndices[] = {38, 39}; +static const int16 kAnim15FrameTicks[] = {6, 6}; +static const BBRect kAnim15FrameRects[] = {{0, 0, 0, 0}, {0, 0, 0, 0}}; +static const int kAnim16FrameIndices[] = {40, 41}; +static const int16 kAnim16FrameTicks[] = {6, 6}; +static const BBRect kAnim16FrameRects[] = {{0, 0, 0, 0}, {0, 0, 0, 0}}; +static const int kAnim17FrameIndices[] = {42}; +static const int16 kAnim17FrameTicks[] = {6}; +static const BBRect kAnim17FrameRects[] = {{0, 0, 0, 0}}; +static const int kAnim18FrameIndices[] = {43}; +static const int16 kAnim18FrameTicks[] = {6}; +static const BBRect kAnim18FrameRects[] = {{0, 0, 0, 0}}; +static const int kAnim19FrameIndices[] = {44, 45}; +static const int16 kAnim19FrameTicks[] = {6, 6}; +static const BBRect kAnim19FrameRects[] = {{0, 0, 0, 0}, {0, 0, 0, 0}}; +static const int kAnim20FrameIndices[] = {46, 47}; +static const int16 kAnim20FrameTicks[] = {6, 6}; +static const BBRect kAnim20FrameRects[] = {{0, 0, 0, 0}, {0, 0, 0, 0}}; +static const int kAnim21FrameIndices[] = {48, 49}; +static const int16 kAnim21FrameTicks[] = {6, 6}; +static const BBRect kAnim21FrameRects[] = {{0, 0, 0, 0}, {0, 0, 0, 0}}; +static const int kAnim22FrameIndices[] = {50, 51}; +static const int16 kAnim22FrameTicks[] = {10, 10}; +static const BBRect kAnim22FrameRects[] = {{0, 0, 0, 0}, {0, 0, 0, 0}}; +static const int kAnim23FrameIndices[] = {52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64}; +static const int16 kAnim23FrameTicks[] = {8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8}; +static const BBRect kAnim23FrameRects[] = {{0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}}; +static const int kAnim24FrameIndices[] = {65, 66, 67}; +static const int16 kAnim24FrameTicks[] = {11, 16, 6}; +static const BBRect kAnim24FrameRects[] = {{0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}}; +static const int kAnim25FrameIndices[] = {68, 67, 69, 67}; +static const int16 kAnim25FrameTicks[] = {6, 6, 11, 6}; +static const BBRect kAnim25FrameRects[] = {{0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}}; +static const int kAnim26FrameIndices[] = {70, 71, 72, 71}; +static const int16 kAnim26FrameTicks[] = {6, 6, 6, 6}; +static const BBRect kAnim26FrameRects[] = {{0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}}; +static const int kAnim27FrameIndices[] = {73, 74, 75, 74}; +static const int16 kAnim27FrameTicks[] = {6, 6, 6, 6}; +static const BBRect kAnim27FrameRects[] = {{0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}}; +static const int kAnim28FrameIndices[] = {76}; +static const int16 kAnim28FrameTicks[] = {6}; +static const BBRect kAnim28FrameRects[] = {{0, 0, 0, 0}}; +static const int kAnim29FrameIndices[] = {77, 78, 79, 78}; +static const int16 kAnim29FrameTicks[] = {6, 6, 18, 6}; +static const BBRect kAnim29FrameRects[] = {{0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}}; +static const int kAnim30FrameIndices[] = {77, 80, 81, 80}; +static const int16 kAnim30FrameTicks[] = {6, 6, 10, 6}; +static const BBRect kAnim30FrameRects[] = {{0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}}; +static const int kAnim31FrameIndices[] = {82, 83, 84, 83}; +static const int16 kAnim31FrameTicks[] = {6, 6, 6, 6}; +static const BBRect kAnim31FrameRects[] = {{0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}}; +static const int kAnim32FrameIndices[] = {85, 86, 87, 86}; +static const int16 kAnim32FrameTicks[] = {6, 6, 6, 6}; +static const BBRect kAnim32FrameRects[] = {{0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}}; +static const int kAnim33FrameIndices[] = {88}; +static const int16 kAnim33FrameTicks[] = {6}; +static const BBRect kAnim33FrameRects[] = {{0, 0, 0, 0}}; +static const int kAnim34FrameIndices[] = {89}; +static const int16 kAnim34FrameTicks[] = {6}; +static const BBRect kAnim34FrameRects[] = {{0, 0, 0, 0}}; +static const int kAnim35FrameIndices[] = {90}; +static const int16 kAnim35FrameTicks[] = {6}; +static const BBRect kAnim35FrameRects[] = {{0, 0, 0, 0}}; +static const int kAnim36FrameIndices[] = {91, 92, 93, 91, 93, 91, 92, 93, 92, 91, 92, 93, 91, 93, 91, 92, 93, 92}; +static const int16 kAnim36FrameTicks[] = {10, 6, 8, 6, 6, 8, 6, 6, 6, 10, 6, 8, 6, 6, 8, 6, 6, 6}; +static const BBRect kAnim36FrameRects[] = {{0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}}; +static const int kAnim37FrameIndices[] = {94, 95, 96, 94, 96, 94, 95, 96, 95, 94, 95, 96, 94, 96, 94, 95, 96, 95}; +static const int16 kAnim37FrameTicks[] = {10, 6, 8, 6, 6, 8, 6, 6, 6, 10, 6, 8, 6, 6, 8, 6, 6, 6}; +static const BBRect kAnim37FrameRects[] = {{0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}}; +static const ObjAnimation kAnimations[] = { + {2, kAnim0FrameIndices, kAnim0FrameTicks, kAnim0FrameRects}, + {2, kAnim1FrameIndices, kAnim1FrameTicks, kAnim1FrameRects}, + {2, kAnim2FrameIndices, kAnim2FrameTicks, kAnim2FrameRects}, + {1, kAnim3FrameIndices, kAnim3FrameTicks, kAnim3FrameRects}, + {1, kAnim4FrameIndices, kAnim4FrameTicks, kAnim4FrameRects}, + {1, kAnim5FrameIndices, kAnim5FrameTicks, kAnim5FrameRects}, + {3, kAnim6FrameIndices, kAnim6FrameTicks, kAnim6FrameRects}, + {4, kAnim7FrameIndices, kAnim7FrameTicks, kAnim7FrameRects}, + {1, kAnim8FrameIndices, kAnim8FrameTicks, kAnim8FrameRects}, + {1, kAnim9FrameIndices, kAnim9FrameTicks, kAnim9FrameRects}, + {1, kAnim10FrameIndices, kAnim10FrameTicks, kAnim10FrameRects}, + {9, kAnim11FrameIndices, kAnim11FrameTicks, kAnim11FrameRects}, + {6, kAnim12FrameIndices, kAnim12FrameTicks, kAnim12FrameRects}, + {2, kAnim13FrameIndices, kAnim13FrameTicks, kAnim13FrameRects}, + {2, kAnim14FrameIndices, kAnim14FrameTicks, kAnim14FrameRects}, + {2, kAnim15FrameIndices, kAnim15FrameTicks, kAnim15FrameRects}, + {2, kAnim16FrameIndices, kAnim16FrameTicks, kAnim16FrameRects}, + {1, kAnim17FrameIndices, kAnim17FrameTicks, kAnim17FrameRects}, + {1, kAnim18FrameIndices, kAnim18FrameTicks, kAnim18FrameRects}, + {2, kAnim19FrameIndices, kAnim19FrameTicks, kAnim19FrameRects}, + {2, kAnim20FrameIndices, kAnim20FrameTicks, kAnim20FrameRects}, + {2, kAnim21FrameIndices, kAnim21FrameTicks, kAnim21FrameRects}, + {2, kAnim22FrameIndices, kAnim22FrameTicks, kAnim22FrameRects}, + {13, kAnim23FrameIndices, kAnim23FrameTicks, kAnim23FrameRects}, + {3, kAnim24FrameIndices, kAnim24FrameTicks, kAnim24FrameRects}, + {4, kAnim25FrameIndices, kAnim25FrameTicks, kAnim25FrameRects}, + {4, kAnim26FrameIndices, kAnim26FrameTicks, kAnim26FrameRects}, + {4, kAnim27FrameIndices, kAnim27FrameTicks, kAnim27FrameRects}, + {1, kAnim28FrameIndices, kAnim28FrameTicks, kAnim28FrameRects}, + {4, kAnim29FrameIndices, kAnim29FrameTicks, kAnim29FrameRects}, + {4, kAnim30FrameIndices, kAnim30FrameTicks, kAnim30FrameRects}, + {4, kAnim31FrameIndices, kAnim31FrameTicks, kAnim31FrameRects}, + {4, kAnim32FrameIndices, kAnim32FrameTicks, kAnim32FrameRects}, + {1, kAnim33FrameIndices, kAnim33FrameTicks, kAnim33FrameRects}, + {1, kAnim34FrameIndices, kAnim34FrameTicks, kAnim34FrameRects}, + {1, kAnim35FrameIndices, kAnim35FrameTicks, kAnim35FrameRects}, + {18, kAnim36FrameIndices, kAnim36FrameTicks, kAnim36FrameRects}, + {18, kAnim37FrameIndices, kAnim37FrameTicks, kAnim37FrameRects} +}; + +const ObjAnimation *MinigameBbAirGuitar::getAnimation(int animIndex) { + return &kAnimations[animIndex]; +} + +} // End of namespace Bbvs diff --git a/engines/bbvs/minigames/bbant.cpp b/engines/bbvs/minigames/bbant.cpp new file mode 100644 index 0000000000..24dbd45b81 --- /dev/null +++ b/engines/bbvs/minigames/bbant.cpp @@ -0,0 +1,1340 @@ +/* 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 "bbvs/minigames/bbant.h" + +namespace Bbvs { + +struct Point { + int x, y; +}; + +static const Point kPosIncrTbl1[] = { + {0, -1}, {-1, -1}, {-1, 0}, {-1, 1}, + { 0, 1}, { 1, 1}, { 1, 0}, { 1, -1} +}; + +static const Point kPosIncrTbl2[] = { + {0, -2}, {-2, -2}, {-2, 0}, {-2, 2}, + { 0, 2}, { 2, 2}, { 2, 0}, { 2, -2} +}; + +static const int kScoreTbl[] = { + 0, 1, 1, 3, 2, 4 +}; + +static const char *kSoundFilenames[] = { + "ant1.aif", "ant2.aif", "ant3.aif", "ant4.aif", "ant5.aif", + "ant6.aif", "ant7.aif", "ant8.aif", "ant9.aif", "ant10.aif", + "ant11.aif", "antmus1.aif", "fryant.aif", "stomp.aif", "bing.aif", + "bvyell.aif" +}; + +static const uint kSoundFilenamesCount = ARRAYSIZE(kSoundFilenames); + +static const uint kSoundTbl1[] = { + 2, 3, 4, 6 +}; + +static const uint kSoundTbl2[] = { + 5, 7, 11 +}; + +static const uint kSoundTbl3[] = { + 8, 10, 11 +}; + +static const uint kSoundTbl4[] = { + 2, 3, 4, 6, 8, 10, 11, 5, 7, 16 +}; + +void MinigameBbAnt::buildDrawList0(DrawList &drawList) { + + if (_titleScreenSpriteIndex) + drawList.add(_titleScreenSpriteIndex, 0, 0, 0); + + for (int i = 0; i < kMaxObjectsCount; ++i) { + Obj *obj = &_objects[i]; + if (obj->kind) + drawList.add(obj->anim->frameIndices[obj->frameIndex], obj->x, obj->y, obj->priority); + } + +} + +void MinigameBbAnt::buildDrawList1(DrawList &drawList) { + + if (_backgroundSpriteIndex) + drawList.add(_backgroundSpriteIndex, _stompX, _stompY, 0); + + for (int i = 1; i < kMaxObjectsCount; ++i) { + Obj *obj = &_objects[i]; + if (obj->kind) { + drawList.add(obj->anim->frameIndices[obj->frameIndex], + _stompX + (obj->x >> 16), _stompY + (obj->y >> 16), + obj->priority); + } + } + + drawList.add(getAnimation(164)->frameIndices[0], 5, 2, 2000); + drawNumber(drawList, _score, 68, 16); + drawList.add(getAnimation(166)->frameIndices[0], 230, 2, 2000); + drawNumber(drawList, _levelTimeLeft, 280, 16); + + for (int i = 0; i < _stompCount; ++i) + drawList.add(getAnimation(130)->frameIndices[0], 20 + i * 30, 230, 2000); + +} + +void MinigameBbAnt::buildDrawList2(DrawList &drawList) { + buildDrawList1(drawList); + drawList.add(getAnimation(168)->frameIndices[0], 40, 100, 2000); + drawNumber(drawList, _counter1, 190, 112); + drawNumber(drawList, _countdown5, 258, 112); + drawList.add(getAnimation(169)->frameIndices[0], 120, 120, 2000); + drawNumber(drawList, _counter4, 192, 132); +} + +void MinigameBbAnt::buildDrawList3(DrawList &drawList) { + buildDrawList1(drawList); + drawList.add(getAnimation(163)->frameIndices[0], 120, 70, 2000); + drawList.add(getAnimation(165)->frameIndices[0], 95, 95, 2000); + drawNumber(drawList, _hiScore, 208, 107); +} + +void MinigameBbAnt::drawMagnifyingGlass(DrawList &drawList) { + scale2x(_objects[0].x - 28, _objects[0].y - 27); + drawList.clear(); + drawList.add(_objects[0].anim->frameIndices[0], _objects[0].x, _objects[0].y, _objects[0].priority); + drawList.add(_objects[0].anim->frameIndices[1], _objects[0].x, _objects[0].y, _objects[0].priority); + drawList.add(_objects[0].anim->frameIndices[2], _objects[0].x, _objects[0].y, _objects[0].priority); +} + +void MinigameBbAnt::drawSprites() { + switch (_gameState) { + case 0: + drawSprites0(); + break; + case 1: + drawSprites1(); + break; + case 2: + drawSprites2(); + break; + case 3: + drawSprites3(); + break; + } +} + +void MinigameBbAnt::drawSprites0() { + DrawList drawList; + buildDrawList0(drawList); + _vm->_screen->drawDrawList(drawList, _spriteModule); + _vm->_screen->copyToScreen(); +} + +void MinigameBbAnt::drawSprites1() { + DrawList drawList; + buildDrawList1(drawList); + _vm->_screen->drawDrawList(drawList, _spriteModule); + drawMagnifyingGlass(drawList); + _vm->_screen->drawDrawList(drawList, _spriteModule); + _vm->_screen->copyToScreen(); +} + +void MinigameBbAnt::drawSprites2() { + DrawList drawList; + buildDrawList2(drawList); + _vm->_screen->drawDrawList(drawList, _spriteModule); + drawMagnifyingGlass(drawList); + _vm->_screen->drawDrawList(drawList, _spriteModule); + _vm->_screen->copyToScreen(); +} + +void MinigameBbAnt::drawSprites3() { + DrawList drawList; + buildDrawList3(drawList); + _vm->_screen->drawDrawList(drawList, _spriteModule); + _vm->_screen->copyToScreen(); +} + +MinigameBbAnt::Obj *MinigameBbAnt::getFreeObject() { + for (int i = 12; i < kMaxObjectsCount; ++i) + if (_objects[i].kind == 0) + return &_objects[i]; + return 0; +} + +void MinigameBbAnt::initObjects() { + switch (_gameState) { + case 0: + initObjects0(); + break; + case 1: + initObjects1(); + break; + case 2: + case 3: + // Nothing + break; + } +} + +void MinigameBbAnt::initObjects0() { + _objects[0].anim = getAnimation(172); + _objects[0].frameIndex = 0; + _objects[0].ticks = getAnimation(172)->frameTicks[0]; + _objects[0].x = 160; + _objects[0].y = 120; + _objects[0].priority = 2000; + _objects[0].kind = 1; + _objects[1].anim = getAnimation(170); + _objects[1].frameIndex = 0; + _objects[1].ticks = getAnimation(170)->frameTicks[0]; + _objects[1].x = 40; + _objects[1].y = 240; + _objects[1].priority = 100; + _objects[1].kind = 2; + _objects[2].anim = getAnimation(171); + _objects[2].frameIndex = 0; + _objects[2].ticks = getAnimation(171)->frameTicks[0]; + _objects[2].x = 280; + _objects[2].y = 240; + _objects[2].priority = 100; + _objects[2].kind = 2; +} + +void MinigameBbAnt::initObjects1() { + _objects[0].kind = 0; + _objects[0].x = 160; + _objects[0].y = 120; + _objects[0].xIncr = 0; + _objects[0].yIncr = 0; + _objects[0].anim = getAnimation(159); + _objects[0].frameIndex = 0; + _objects[0].ticks = _objects[0].anim->frameTicks[0]; + _objects[0].priority = 1000; + _objects[1].kind = 8; + _objects[1].x = 0x1E0000; + _objects[1].y = 0x280000; + _objects[1].xIncr = 0; + _objects[1].yIncr = 0; + _objects[1].anim = getAnimation(160); + _objects[1].frameIndex = 0; + _objects[1].ticks = _objects[0].anim->frameTicks[0]; + _objects[1].priority = 900; + _objects[1].smokeCtr = 0; + _objects[1].hasSmoke = false; + _objects[1].status = 0; + _objects[2].kind = 8; + _objects[2].x = 0x280000; + _objects[2].y = 0x4B0000; + _objects[2].xIncr = 0; + _objects[2].yIncr = 0; + _objects[2].anim = getAnimation(161); + _objects[2].frameIndex = 0; + _objects[2].ticks = _objects[0].anim->frameTicks[0]; + _objects[2].priority = 900; + _objects[2].smokeCtr = 0; + _objects[2].hasSmoke = false; + _objects[2].status = 0; + for (int i = 3; i < 12; ++i) { + const ObjInit *objInit = getObjInit(i - 3); + _objects[i].kind = 6; + _objects[i].x = objInit->x << 16; + _objects[i].y = objInit->y << 16; + _objects[i].xIncr = 0; + _objects[i].yIncr = 0; + _objects[i].anim = objInit->anim1; + _objects[i].frameIndex = 0; + _objects[i].ticks = _objects[0].anim->frameTicks[0]; + _objects[i].priority = 600; + _objects[i].status = 9; + _objects[i].damageCtr = 0; + + } +} + +void MinigameBbAnt::initVars() { + switch (_gameState) { + case 0: + // Nothing + break; + case 1: + initVars1(); + break; + case 2: + initVars2(); + break; + case 3: + initVars3(); + break; + } +} + +void MinigameBbAnt::initVars1() { + _stompX = 0; + _stompY = 0; + _stompDelay1 = 0; + _stompCount = 1; + _stompCounter1 = 80; + _stompCounter2 = 80; + _totalBugsCount = 0; + _hasLastStompObj = false; + _counter1 = 9; + _countdown10 = 140; + _score = 0; + _counter4 = 1; + _gameTicks = 0; + _skullBugCtr = 500; + _levelTimeDelay = 58; + _levelTimeLeft = 30; + _bugsChanceByKind[0] = 0; + _bugsChanceByKind[1] = 20; + _bugsChanceByKind[2] = 20; + _bugsChanceByKind[3] = 5; + _bugsChanceByKind[4] = 7; + _bugsCountByKind[0] = 0; + _bugsCountByKind[1] = 0; + _bugsCountByKind[2] = 0; + _bugsCountByKind[3] = 0; + _bugsCountByKind[4] = 0; + _bugsCountByKind[5] = 0; +} + +void MinigameBbAnt::initVars2() { + _countdown4 = 0; + _countdown3 = 0; + _levelTimeDelay = 58; + _countdown6 = 60; + _countdown5 = 50 * _counter1; +} + +void MinigameBbAnt::initVars3() { + if (_score > _hiScore) + _hiScore = _score; + playSound(9); +} + +bool MinigameBbAnt::updateStatus(int mouseX, int mouseY, uint mouseButtons) { + switch (_gameState) { + case 0: + return updateStatus0(mouseX, mouseY, mouseButtons); + case 1: + return updateStatus1(mouseX, mouseY, mouseButtons); + case 2: + return updateStatus2(mouseX, mouseY, mouseButtons); + case 3: + return updateStatus3(mouseX, mouseY, mouseButtons); + } + return false; +} + +bool MinigameBbAnt::updateStatus0(int mouseX, int mouseY, uint mouseButtons) { + + _objects[0].x = mouseX; + _objects[0].y = mouseY; + + if (_objects[0].x >= 320) + _objects[0].x = 320 - 1; + if (_objects[0].y >= 240) + _objects[0].y = 240 - 1; + if (_objects[0].x < 0) + _objects[0].x = 0; + if (_objects[0].y < 0) + _objects[0].y = 0; + + if ((mouseButtons & kLeftButtonDown) || (mouseButtons & kRightButtonDown)) { + _gameState = 1; + initObjects(); + initVars(); + _gameTicks = 0; + playSound(1); + } else { + for (int i = 0; i < kMaxObjectsCount; ++i) { + Obj *obj = &_objects[i]; + if (obj->kind == 2) { + if (--obj->ticks == 0) { + ++obj->frameIndex; + if (obj->frameIndex >= obj->anim->frameCount) + obj->frameIndex = 0; + obj->ticks = obj->anim->frameTicks[0]; + } + } + } + } + + return true; +} + +bool MinigameBbAnt::updateStatus1(int mouseX, int mouseY, uint mouseButtons) { + //const int kMaxBugsCount = 52; + const int kMaxBugsCount = 1;//DEBUG + + --_levelTimeDelay; + if (!_levelTimeDelay) { + _levelTimeDelay = 58; + --_levelTimeLeft; + } + + _objects[0].x = mouseX; + _objects[0].y = mouseY; + + if (_objects[0].x >= 320) + _objects[0].x = 320 - 1; + if (_objects[0].y >= 240) + _objects[0].y = 240 - 1; + if (_objects[0].x < 0) + _objects[0].x = 0; + if (_objects[0].y < 0) + _objects[0].y = 0; + + if (!_levelTimeLeft) { + _gameState = 2; + initVars(); + initObjects(); + _gameTicks = 0; + return true; + } + + if (_counter1 == 0) { + _gameState = 3; + initVars(); + initObjects(); + _gameTicks = 0; + return true; + } + +debug(0, "updateStatus1 #2"); + if ((mouseButtons & kRightButtonClicked) && (_stompCount > 0|| _hasLastStompObj) && !_objects[2].status) { + if (_hasLastStompObj) + removeStompObj(_lastStompObj); + --_stompCount; + _objects[2].status = 1; + } + +debug(0, "updateStatus1 #3"); + if ((mouseButtons & kLeftButtonClicked) && _objects[2].status == 0 && isMagGlassAtBeavisLeg(2)) { + if (_vm->getRandom(10) == 1 && !isAnySoundPlaying(kSoundTbl4, 10)) + playSound(16); + insertSmokeObj(_objects[0].x << 16, _objects[0].y << 16); + } + +debug(0, "updateStatus1 #4"); + if (_skullBugCtr > 0) { + if (--_skullBugCtr == 0) { + _skullBugCtr = _vm->getRandom(150) + 500; + insertRandomBugObj(5); + } + } + + if (_stompCounter2 > 0) + --_stompCounter2; + +debug(0, "updateStatus1 #5"); + if (_totalBugsCount < kMaxBugsCount && _vm->getRandom(_stompCounter2) == 0) { + int testTbl[4]; + int maxKindCount = 0, objKind = 0; + + _stompCounter2 = _stompCounter1; + +debug(0, "updateStatus1 #6"); + for (int i = 0; i < 4; ++i) + testTbl[i] = _vm->getRandom(_bugsChanceByKind[i] - _bugsCountByKind[i]); + +debug(0, "updateStatus1 #7"); + for (int i = 0; i < 4; ++i) { + if (testTbl[i] >= maxKindCount) { + maxKindCount = testTbl[i]; + objKind = i + 1; + } + } + +debug(0, "updateStatus1 #8"); + if (objKind) + insertRandomBugObj(objKind); + + } + +debug(0, "updateStatus1 #9"); + updateObjs(mouseButtons); +debug(0, "updateStatus1 #10"); + updateFootObj(2); + + if (--_countdown10 == 0) { + _countdown10 = 140; + if (_stompCounter1 > 20) + --_stompCounter1; + } + +debug(0, "updateStatus1 #XXX"); + return true; +} + +bool MinigameBbAnt::updateStatus2(int mouseX, int mouseY, uint mouseButtons) { + + _objects[0].x = mouseX; + _objects[0].y = mouseY; + + if (_objects[0].x >= 320) + _objects[0].x = 320 - 1; + if (_objects[0].y >= 240) + _objects[0].y = 240 - 1; + if (_objects[0].x < 0) + _objects[0].x = 0; + if (_objects[0].y < 0) + _objects[0].y = 0; + + if (_countdown6 > 0) { + if (--_countdown6 == 0) { + _countdown4 = 150; + playSound(15, true); + } + } else if (_countdown4 > 0) { + if (--_countdown4 == 0) { + _countdown3 = 150; + } else if (_countdown5 > 0) { + ++_countdown4; + ++_score; + if (--_countdown5 == 0) { + stopSound(15); + _bugsChanceByKind[5] = 10; + _countdown7 = 40; + _countdown4 = 10 * (13 - _counter1); + return true; + } + } else { + if (--_countdown7 == 0) { + bool flag1 = false; + _countdown7 = _bugsChanceByKind[5]; + for (int i = 3; i < 12 && !flag1; ++i) { + Obj *obj = &_objects[i]; + if (obj->status == 13) { + const ObjInit *objInit = getObjInit(i - 3); + obj->x = objInit->x << 16; + obj->y = objInit->y << 16; + obj->anim = objInit->anim3; + obj->frameIndex = 0; + obj->ticks = _objects[0].anim->frameTicks[0]; + obj->status = 9; + obj->damageCtr = 0; + obj->priority = 600; + ++_counter1; + playSound(15); + flag1 = true; + } + } + } + } + } else if (_countdown3 > 0) { + if ((mouseButtons & kLeftButtonDown) || (mouseButtons & kRightButtonDown) || (--_countdown3 == 0)) { + _levelTimeDelay = 58; + _levelTimeLeft = 30; + _gameState = 1; + _gameTicks = 0; + ++_counter4; + } + } + + return true; +} + +bool MinigameBbAnt::updateStatus3(int mouseX, int mouseY, uint mouseButtons) { + if (!isSoundPlaying(9) && _fromMainGame) { + _vm->_system->delayMillis(1000); + _gameDone = true; + } + return true; +} + +void MinigameBbAnt::getRandomBugObjValues(int &x, int &y, int &animIndexIncr, int &field30) { + field30 = _vm->getRandom(4); + switch (field30) { + case 0: + y = -5; + x = _vm->getRandom(190) + 120; + animIndexIncr = 4; + break; + case 1: + x = 325; + y = _vm->getRandom(220) + 10; + animIndexIncr = 2; + break; + case 2: + y = 245; + x = _vm->getRandom(300) + 10; + animIndexIncr = 0; + break; + case 3: + x = -5; + y = _vm->getRandom(190) + 120; + animIndexIncr = 6; + break; + } +} + +void MinigameBbAnt::insertBugSmokeObj(int x, int y, int bugObjIndex) { + Obj *obj = getFreeObject(); + if (obj) { + Obj *bugObj = &_objects[bugObjIndex]; + bugObj->hasSmoke = true; + obj->kind = 7; + obj->x = x; + obj->y = y; + obj->priority = 950; + if (bugObj->status >= 4 && (bugObj->status <= 6 || bugObj->status == 8)) { + obj->xIncr = 0; + obj->yIncr = (-1 << 16); + } else { + obj->xIncr = bugObj->xIncr / 8; + obj->yIncr = bugObj->yIncr / 8; + } + obj->anim = getAnimation(158); + obj->frameIndex = 0; + obj->ticks = obj->anim->frameTicks[0]; + } +} + +void MinigameBbAnt::insertSmokeObj(int x, int y) { + Obj *obj = getFreeObject(); + if (obj) { + obj->kind = 7; + obj->x = x; + obj->y = y; + obj->priority = 950; + obj->xIncr = 0x2000; + obj->yIncr = -0xC000; + obj->anim = getAnimation(158); + obj->frameIndex = 0; + obj->ticks = obj->anim->frameTicks[0]; + } +} + +void MinigameBbAnt::resetObj(int objIndex) { + _objects[objIndex].kind = 0; +} + +void MinigameBbAnt::insertStompObj(int x, int y) { + Obj *obj = getFreeObject(); + if (obj) { + obj->kind = 9; + obj->x = x; + obj->y = y; + obj->priority = 2000; + obj->xIncr = (0x1E0000 * _stompCount - x + 0x140000) / 15; + obj->yIncr = (0xE60000 - y) / 15; + obj->anim = getAnimation(130); + debug("obj->anim(130): %d", obj->anim->frameIndices[0]); + obj->frameIndex = 0; + obj->ticks = 15; + _lastStompObj = obj; + _hasLastStompObj = true; + } +} + +void MinigameBbAnt::removeStompObj(Obj *obj) { + ++_stompCount; + _hasLastStompObj = false; + obj->kind = 0; +} + +void MinigameBbAnt::insertBugObj(int kind, int animIndexIncr, int always0, int x, int y, int field30, int always1) { + Obj *obj = getFreeObject(); + if (obj) { + const ObjAnimation **objKindAnimTable = getObjKindAnimTable(kind); + obj->field30 = field30; + obj->animIndexIncr = animIndexIncr; + obj->kind = kind; + obj->x = x << 16; + obj->y = y << 16; + obj->priority = 610; + obj->xIncr = kPosIncrTbl1[0].x << 16; + obj->yIncr = kPosIncrTbl1[0].y << 16; + obj->anim = objKindAnimTable[0]; + obj->frameIndex = 0; + obj->ticks = obj->anim->frameTicks[0]; + obj->animIndex = 0; + obj->status = 1; + obj->damageCtr = 0; + obj->hasSmoke = false; + obj->flag = 0; + ++_bugsCountByKind[kind]; + ++_totalBugsCount; + } +} + +void MinigameBbAnt::removeBugObj(int objIndex) { + Obj *obj = &_objects[objIndex]; + --_totalBugsCount; + --_bugsCountByKind[obj->kind]; + obj->hasSmoke = false; + obj->kind = 0; +} + +void MinigameBbAnt::updateBugObjAnim(int objIndex) { + Obj *obj = &_objects[objIndex]; + + switch (obj->field30) { + case 0: + obj->animIndexIncr = 4; + break; + case 1: + obj->animIndexIncr = 2; + break; + case 2: + obj->animIndexIncr = 0; + break; + case 3: + obj->animIndexIncr = 6; + break; + } + const ObjAnimation **objKindAnimTable = getObjKindAnimTable(obj->kind); + obj->xIncr = kPosIncrTbl1[obj->animIndexIncr].x << 16; + obj->yIncr = kPosIncrTbl1[obj->animIndexIncr].y << 16; + obj->anim = objKindAnimTable[obj->animIndexIncr]; + obj->frameIndex = 0; + obj->ticks = obj->anim->frameTicks[0]; +} + +void MinigameBbAnt::updateObjAnim2(int objIndex) { + Obj *obj = &_objects[objIndex]; + + obj->animIndexIncr += _vm->getRandom(3) - 1; + if (obj->animIndexIncr < 0) + obj->animIndexIncr = 7; + if (obj->animIndexIncr > 7) + obj->animIndexIncr = 0; + obj->animIndexIncr += 4; + if (obj->animIndexIncr >= 8) + obj->animIndexIncr %= 8; + const ObjAnimation **objKindAnimTable = getObjKindAnimTable(obj->kind); + obj->xIncr = kPosIncrTbl1[obj->animIndex + obj->animIndexIncr].x << 16; + obj->yIncr = kPosIncrTbl1[obj->animIndex + obj->animIndexIncr].y << 16; + obj->anim = objKindAnimTable[obj->animIndex + obj->animIndexIncr]; + obj->frameIndex = 0; + obj->ticks = obj->anim->frameTicks[0]; + obj->x += obj->xIncr; + obj->y += obj->yIncr; +} + +void MinigameBbAnt::insertRandomBugObj(int kind) { + int x, y, animIndexIncr, field30; + getRandomBugObjValues(x, y, animIndexIncr, field30); + insertBugObj(kind, animIndexIncr, 0, x, y, field30, 1); +} + +bool MinigameBbAnt::isBugOutOfScreen(int objIndex) { + Obj *obj = &_objects[objIndex]; + + return + obj->x < (-10 << 16) || obj->x > (330 << 16) || + obj->y < (-10 << 16) || obj->y > (250 << 16); +} + +void MinigameBbAnt::updateObjAnim3(int objIndex) { + Obj *obj = &_objects[objIndex]; + + obj->animIndexIncr += _vm->getRandom(3) - 1; + if (obj->animIndexIncr < 0) + obj->animIndexIncr = 7; + if (obj->animIndexIncr > 7) + obj->animIndexIncr = 0; + const ObjAnimation **objKindAnimTable = getObjKindAnimTable(obj->kind); + obj->xIncr = kPosIncrTbl1[obj->animIndexIncr].x << 16; + obj->yIncr = kPosIncrTbl1[obj->animIndexIncr].y << 16; + obj->anim = objKindAnimTable[obj->animIndexIncr]; +} + +void MinigameBbAnt::updateBugObj1(int objIndex) { + Obj *obj = &_objects[objIndex]; + bool flag1 = false; + bool flag2 = false; + + if (--obj->ticks == 0) { + ++obj->frameIndex; + if (obj->anim->frameCount == obj->frameIndex) { + obj->frameIndex = 0; + obj->ticks = obj->anim->frameTicks[0]; + flag1 = true; + } else { + obj->ticks = obj->anim->frameTicks[obj->frameIndex]; + flag2 = true; + } + } + + obj->x += obj->xIncr; + obj->y += obj->yIncr; + + if (obj->status != 7) { + if (obj->damageCtr <= 5) { + obj->hasSmoke = false; + } else if (!obj->hasSmoke) { + obj->smokeCtr = 6; + insertBugSmokeObj(obj->x, obj->y, objIndex); + } else if (obj->damageCtr > 200 && obj->status != 4 && obj->status != 6) { + _score += kScoreTbl[obj->kind]; + if (obj->status == 3) { + _objects[obj->otherObjIndex].status = 9; + _objects[obj->otherObjIndex].priority = 600; + if (_vm->getRandom(3) == 1 && !isAnySoundPlaying(kSoundTbl4, 10)) + playSound(kSoundTbl3[_vm->getRandom(3)]); + } else { + if (_vm->getRandom(3) == 1 && !isAnySoundPlaying(kSoundTbl4, 10)) + playSound(kSoundTbl2[_vm->getRandom(3)]); + } + flag1 = false; + const ObjAnimation **objKindAnimTable = getObjKindAnimTable(obj->kind); + obj->hasSmoke = false; + obj->status = 4; + obj->xIncr = 0; + obj->yIncr = 0; + obj->anim = objKindAnimTable[16]; + obj->frameIndex = 0; + obj->ticks = obj->anim->frameTicks[0]; + obj->priority = 605; + if (obj->kind == 5) { + // Skull Beetle + if (_stompCount < 10) + insertStompObj(obj->x, obj->y); + obj->kind = 4; + obj->anim = getObjAnim(70); + obj->ticks = obj->anim->frameTicks[0]; + } + } else if (--obj->smokeCtr == 0) { + obj->smokeCtr = 6; + insertBugSmokeObj(obj->x, obj->y, objIndex); + } + } + + switch (obj->status) { + + case 1: + if (isBugOutOfScreen(objIndex)) + removeBugObj(objIndex); + else if (flag1 && !obj->flag) + updateObjAnim3(objIndex); + break; + + case 3: + // Bug carries candy + _objects[obj->otherObjIndex].x = obj->x; + _objects[obj->otherObjIndex].y = obj->y; + if (isBugOutOfScreen(objIndex)) { + _objects[obj->otherObjIndex].status = 13; + _objects[obj->otherObjIndex].x = (500 << 16); + _objects[obj->otherObjIndex].y = (500 << 16); + removeBugObj(objIndex); + --_counter1; + } + break; + + case 4: + if (flag1) { + const ObjAnimation **objKindAnimTable = getObjKindAnimTable(obj->kind); + obj->status = 6; + obj->xIncr = 0; + obj->yIncr = 0; + obj->anim = objKindAnimTable[17]; + obj->frameIndex = 0; + obj->ticks = obj->anim->frameTicks[0]; + } + break; + + case 6: + if (flag1) { + const ObjAnimation **objKindAnimTable = getObjKindAnimTable(obj->kind); + obj->status = 7; + obj->xIncr = kPosIncrTbl2[obj->animIndexIncr].x << 16; + obj->yIncr = kPosIncrTbl2[obj->animIndexIncr].y << 16; + obj->anim = objKindAnimTable[obj->animIndexIncr + 8]; + obj->frameIndex = 0; + obj->ticks = obj->anim->frameTicks[0]; + obj->animIndex = 8; + obj->priority = 610; + } + break; + + case 7: + if (isBugOutOfScreen(objIndex)) + removeBugObj(objIndex); + break; + + case 8: + if (--obj->counter != 0) { + if (flag2 && obj->frameIndex == 13) { + obj->frameIndex = 4; + obj->ticks = obj->anim->frameTicks[4]; + } + } else { + obj->status = obj->status2; + obj->anim = obj->anim2; + obj->frameIndex = obj->frameIndex2; + obj->ticks = obj->ticks2; + obj->xIncr = kPosIncrTbl1[obj->animIndex + obj->animIndexIncr].x << 16; + obj->yIncr = kPosIncrTbl1[obj->animIndex + obj->animIndexIncr].y << 16; + obj->priority = 610; + } + break; + + } + +} + +void MinigameBbAnt::updateObjKind2(int objIndex) { + updateBugObj1(objIndex); +} + +void MinigameBbAnt::updateObjKind3(int objIndex) { + updateBugObj1(objIndex); +} + +void MinigameBbAnt::updateObjKind4(int objIndex) { + updateBugObj1(objIndex); +} + +void MinigameBbAnt::updateObjKind5(int objIndex) { + ++_skullBugCtr; + updateBugObj1(objIndex); +} + +void MinigameBbAnt::updateStompObj(int objIndex) { + Obj *obj = &_objects[objIndex]; + + obj->x += obj->xIncr; + obj->y += obj->yIncr; + if (--obj->ticks == 0) + removeStompObj(obj); +} + +void MinigameBbAnt::updateSmokeObj(int objIndex) { + Obj *obj = &_objects[objIndex]; + + obj->x += obj->xIncr; + obj->y += obj->yIncr; + + if (--obj->ticks == 0) { + ++obj->frameIndex; + if (obj->anim->frameCount == obj->frameIndex) + resetObj(objIndex); + else + obj->ticks = obj->anim->frameTicks[obj->frameIndex]; + } +} + +void MinigameBbAnt::updateFootObj(int objIndex) { + Obj *obj = &_objects[objIndex]; + + switch (obj->status) { + + case 1: + obj->xIncr = -0x8000; + obj->yIncr = (-4 << 16); + obj->status = 2; + _stompCounter1 += 5; + _stompCounter2 = 100; + break; + + case 2: + obj->x += obj->xIncr; + obj->y += obj->yIncr; + obj->yIncr += 0x2000; + if (obj->y < (20 << 16)) { + obj->xIncr = 0x8000; + obj->yIncr = (7 << 16); + obj->status = 3; + } + break; + + case 3: + obj->x += obj->xIncr; + obj->y += obj->yIncr; + obj->yIncr += 0x2000; + if (obj->y >= 0x4B0000) { + obj->x = (40 << 16); + obj->y = (75 << 16); + obj->status = 4; + _stompDelay1 = 6; + _stompY = 0; + playSound(14); + } + break; + + case 4: + if (--_stompDelay1 == 0) { + _gameTicks = 0; + if (_stompDelay1 % 2) + _stompY = _stompY < 1 ? -8 : 0; + } else { + obj->status = 0; + _stompX = 0; + _stompY = 0; + // Stun all bugs + for (int i = 12; i < kMaxObjectsCount; ++i) { + Obj *bugObj = &_objects[i]; + if (bugObj->kind >= 1 && bugObj->kind <= 5) { + bugObj->counter = _vm->getRandom(200) + 360; + const ObjAnimation **objKindAnimTable = getObjKindAnimTable(bugObj->kind); + if (bugObj->status == 8) { + bugObj->hasSmoke = false; + bugObj->xIncr = 0; + bugObj->yIncr = 0; + bugObj->status2 = 7; + bugObj->anim2 = objKindAnimTable[bugObj->animIndexIncr + 8]; + bugObj->frameIndex2 = 0; + bugObj->ticks2 = obj->anim->frameTicks[0]; + bugObj->anim = objKindAnimTable[17]; + bugObj->frameIndex = 0; + bugObj->ticks = _vm->getRandom(4) + obj->anim->frameTicks[0]; + bugObj->animIndex = 8; + } else { + if (bugObj->status == 3) { + bugObj->priority = 610; + _objects[bugObj->otherObjIndex].status = 9; + _objects[bugObj->otherObjIndex].priority = 600; + } + bugObj->hasSmoke = false; + bugObj->xIncr = 0; + bugObj->yIncr = 0; + bugObj->status2 = 1; + bugObj->anim2 = bugObj->anim; + bugObj->frameIndex2 = bugObj->frameIndex; + bugObj->ticks2 = bugObj->ticks; + bugObj->anim = objKindAnimTable[17]; + bugObj->frameIndex = 0; + bugObj->ticks = _vm->getRandom(4) + obj->anim->frameTicks[0]; + } + bugObj->status = 8; + bugObj->priority = 605; + } + } + } + break; + + } + +} + +bool MinigameBbAnt::isBugAtCandy(int objIndex, int &candyObjIndex) { + Obj *obj = &_objects[objIndex]; + bool result = false; + + if (obj->kind >= 1 && obj->kind <= 4) { + const BBRect &frameRect1 = obj->anim->frameRects[obj->frameIndex]; + const int obj1X1 = frameRect1.x + (obj->x >> 16); + const int obj1Y1 = frameRect1.y + (obj->y >> 16); + const int obj1X2 = obj1X1 + frameRect1.width; + const int obj1Y2 = obj1Y1 + frameRect1.height; + for (int i = 3; i < 12 && !result; ++i) { + Obj *obj2 = &_objects[i]; + const BBRect &frameRect2 = obj->anim->frameRects[obj2->frameIndex]; // sic + const int obj2X1 = (obj2->x >> 16) + frameRect2.x; + const int obj2Y1 = (obj2->y >> 16) + frameRect2.y; + const int obj2X2 = obj2X1 + frameRect2.width; + const int obj2Y2 = obj2Y1 + frameRect2.height; + if (obj2->status == 9 && obj1X1 <= obj2X2 && obj1X2 >= obj2X1 && obj1Y1 <= obj2Y2 && obj1Y2 >= obj2Y1) { + result = true; + candyObjIndex = i; + } + } + } + return result; +} + +bool MinigameBbAnt::isMagGlassAtBug(int objIndex) { + Obj *obj = &_objects[objIndex]; + Obj *obj0 = &_objects[0]; + bool result = false; + + if (obj->kind >= 1 && obj->kind <= 5) { + const BBRect &frameRect1 = obj0->anim->frameRects[0]; + const int obj1X1 = obj0->x + frameRect1.x; + const int obj1Y1 = obj0->y + frameRect1.y; + const int obj1X2 = obj1X1 + frameRect1.width; + const int obj1Y2 = obj1Y1 + frameRect1.height; + const BBRect &frameRect2 = obj->anim->frameRects[obj->frameIndex]; + const int obj2X1 = (obj->x >> 16) + frameRect2.x; + const int obj2Y1 = (obj->y >> 16) + frameRect2.y; + const int obj2X2 = obj2X1 + frameRect2.width; + const int obj2Y2 = obj2Y1 + frameRect2.height; + if (obj2X2 >= obj1X1 && obj1X2 >= obj2X1 && obj1Y1 <= obj2Y2 && obj1Y2 >= obj2Y1) + result = true; + } + return result; +} + +bool MinigameBbAnt::isMagGlassAtBeavisLeg(int objIndex) { + Obj *obj = &_objects[objIndex]; + Obj *magGlassObj = &_objects[0]; + bool result = false; + + const BBRect &frameRect1 = magGlassObj->anim->frameRects[0]; + const int obj1X1 = magGlassObj->x + frameRect1.x; + const int obj1Y1 = magGlassObj->y + frameRect1.y; + const int obj1X2 = obj1X1 + frameRect1.width; + const int obj1Y2 = obj1Y1 + frameRect1.height; + const BBRect &frameRect2 = obj->anim->frameRects[obj->frameIndex]; + const int obj2X1 = (obj->x >> 16) + frameRect2.x; + const int obj2Y1 = (obj->y >> 16) + frameRect2.y; + const int obj2X2 = obj2X1 + frameRect2.width; + const int obj2Y2 = obj2Y1 + frameRect2.height; + if (obj2X2 >= obj1X1 && obj1X2 >= obj2X1 && obj1Y1 <= obj2Y2 && obj1Y2 >= obj2Y1) + result = true; + return result; +} + +bool MinigameBbAnt::testObj5(int objIndex) { + Obj *obj = &_objects[objIndex]; + bool result = false; + if (obj->kind >= 1 && obj->kind <= 5) { + const int x = obj->x >> 16; + const int y = obj->y >> 16; + if (x < 0 || x >= 110 || y < 0 || y >= 110) { + obj->flag = 0; + } else if (!obj->flag) { + obj->flag = 1; + result = true; + } + } + return result; +} + +void MinigameBbAnt::updateObjs(uint mouseButtons) { + + for (int i = 12; i < kMaxObjectsCount; ++i) { + Obj *obj = &_objects[i]; + + if (obj->kind) { + + if ((mouseButtons & kLeftButtonClicked) && isMagGlassAtBug(i)) + obj->damageCtr += 100; + + if (obj->status == 1) { + int candyObjIndex; + if (isBugAtCandy(i, candyObjIndex)) { + obj->status = 3; + debug("bug %d has candy %d", i, candyObjIndex); + obj->otherObjIndex = candyObjIndex; + _objects[candyObjIndex].otherObjIndex = i; + _objects[candyObjIndex].status = 10; + _objects[candyObjIndex].priority = 620; + _objects[candyObjIndex].status = 11; + _objects[candyObjIndex].anim = getObjInit(candyObjIndex - 3)->anim3; + updateBugObjAnim(i); + if (_vm->getRandom(3) == 1 && !isAnySoundPlaying(kSoundTbl4, 10)) + playSound(kSoundTbl1[_vm->getRandom(4)]); + } + } + + if (testObj5(i)) { + debug("yes"); + updateObjAnim2(i); + } + + if (obj->damageCtr) { + --obj->damageCtr; + if (!isSoundPlaying(13)) + playSound(13); + } + + switch (obj->kind) { + case 1: + updateBugObj1(i); + break; + case 2: + updateObjKind2(i); + break; + case 3: + updateObjKind3(i); + break; + case 4: + updateObjKind4(i); + break; + case 5: + updateObjKind5(i); + break; + case 7: + updateSmokeObj(i); + break; + case 9: + updateStompObj(i); + break; + } + + } + + } + +} + +int MinigameBbAnt::run(uint flags) { + + memset(_objects, 0, sizeof(_objects)); + + _numbersAnim = getAnimation(167); + + _backgroundSpriteIndex = 303; + _titleScreenSpriteIndex = 304; + + _fromMainGame = false; + if (flags & 1) + _fromMainGame = true; + + _hiScore = 0; + _gameState = 0; + _gameResult = 0; + _gameDone = false; + initObjects(); + initVars(); + + _spriteModule = new SpriteModule(); + _spriteModule->load("bbant/bbant.000"); + + Palette palette = _spriteModule->getPalette(); + _vm->_screen->setPalette(palette); + + // Load sounds + loadSounds(); + + _gameTicks = 0; + playSound(12, true); + + while (!_vm->shouldQuit() &&!_gameDone) { + _vm->updateEvents(); + update(); + } + + // Unload sounds + _vm->_sound->unloadSounds(); + + delete _spriteModule; + + return _gameResult; +} + +void MinigameBbAnt::update() { + + int currTicks, inputTicks; + + if (_gameTicks > 0) { + currTicks = _vm->_system->getMillis(); + inputTicks = 3 * (currTicks - _gameTicks) / 50; + _gameTicks = currTicks - (currTicks - _gameTicks - 50 * inputTicks / 3); + } else { + inputTicks = 1; + _gameTicks = _vm->_system->getMillis(); + } + + if (_vm->_keyCode == Common::KEYCODE_ESCAPE) { + _gameDone = true; + return; + } + + if (inputTicks == 0) + return; + + bool done; + + do { + done = !updateStatus(_vm->_mouseX, _vm->_mouseY, _vm->_mouseButtons); + _vm->_mouseButtons &= ~kLeftButtonClicked; + _vm->_mouseButtons &= ~kRightButtonClicked; + _vm->_keyCode = Common::KEYCODE_INVALID; + } while (--inputTicks && _gameTicks > 0 && !done); + + drawSprites(); + +} + +void MinigameBbAnt::scale2x(int x, int y) { + Graphics::Surface *surface = _vm->_screen->_surface; + + int srcX = x + 14, srcY = y + 14; + int srcW = kScaleDim, srcH = kScaleDim; + + if (srcX < 0) { + srcW += srcX; + srcX = 0; + } + + if (srcY < 0) { + srcH += srcY; + srcY = 0; + } + + for (int yc = 0; yc < srcH; ++yc) { + byte *src = (byte*)surface->getBasePtr(srcX, srcY + yc); + memcpy(&_scaleBuf[yc * kScaleDim], src, srcW); + } + + int dstX = x, dstY = y; + int dstW = 2 * kScaleDim, dstH = 2 * kScaleDim; + + if (dstX < 0) { + dstW += dstX; + dstX = 0; + } + + if (dstY < 0) { + dstH += dstY; + dstY = 0; + } + + int w = MIN(srcW * 2, dstW), h = MIN(srcH * 2, dstH); + + for (int yc = 0; yc < h; ++yc) { + byte *src = _scaleBuf + + kScaleDim * (yc / 2); + byte *dst = (byte*)surface->getBasePtr(dstX, dstY + yc); + for (int xc = 0; xc < w; ++xc) + dst[xc] = src[xc / 2]; + } + +} + +void MinigameBbAnt::loadSounds() { + for (uint i = 0; i < kSoundFilenamesCount; ++i) { + Common::String filename = Common::String::format("bbant/%s", kSoundFilenames[i]); + _vm->_sound->loadSound(filename.c_str()); + } +} + +void MinigameBbAnt::playSound(uint index, bool loop) { + if (index > 0) + _vm->_sound->playSound(index - 1, loop); +} + +void MinigameBbAnt::stopSound(uint index) { + if (index > 0) + _vm->_sound->stopSound(index - 1); +} + +bool MinigameBbAnt::isSoundPlaying(uint index) { + return index > 0 && _vm->_sound->isSoundPlaying(index - 1); +} + +bool MinigameBbAnt::isAnySoundPlaying(const uint *indices, uint count) { + for (uint i = 0; i < count; ++i) + if (isSoundPlaying(indices[i])) + return true; + return false; +} + +} // End of namespace Bbvs diff --git a/engines/bbvs/minigames/bbant.h b/engines/bbvs/minigames/bbant.h new file mode 100644 index 0000000000..b9919ee14b --- /dev/null +++ b/engines/bbvs/minigames/bbant.h @@ -0,0 +1,177 @@ +/* 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. + * + */ + +#ifndef BBVS_MINIGAMES_BBANT_H +#define BBVS_MINIGAMES_BBANT_H + +#include "bbvs/minigames/minigame.h" + +namespace Bbvs { + +class MinigameBbAnt : public Minigame { +public: + MinigameBbAnt(BbvsEngine *vm) : Minigame(vm) {}; + int run(uint flags); +public: + + struct Obj { + int kind; + int x, y, priority; + int xIncr, yIncr; + const ObjAnimation *anim; + int frameIndex; + int ticks; + int otherObjIndex; + int animIndex; + int animIndexIncr; + int status; + int field30; + int damageCtr; + int smokeCtr; + int counter; + int hasSmoke; + const ObjAnimation *anim2; + int frameIndex2; + int ticks2; + int status2; + int flag; + }; + + enum { + kMaxObjectsCount = 256, + kScaleDim = 28 + }; + + struct ObjInit { + const ObjAnimation *anim1; + const ObjAnimation *anim2; + const ObjAnimation *anim3; + int x, y; + }; + + Obj _objects[kMaxObjectsCount]; + + int _score, _hiScore; + + int _totalBugsCount; + int _bugsChanceByKind[6], _bugsCountByKind[6]; + int _skullBugCtr; + + int _stompX, _stompY; + int _stompDelay1; + int _stompCounter1; + int _stompCounter2; + + int _stompCount; + int _hasLastStompObj; + Obj *_lastStompObj; + + int _counter1; + int _countdown10; + int _counter4; + int _levelTimeDelay; + int _levelTimeLeft; + + int _countdown4; + int _countdown3; + int _countdown6; + int _countdown5; + int _countdown7; + + byte _scaleBuf[kScaleDim * kScaleDim]; + + const ObjAnimation *getAnimation(int animIndex); + const ObjInit *getObjInit(int index); + const ObjAnimation **getObjKindAnimTable(int kind); + const ObjAnimation *getObjAnim(int index); + + void buildDrawList0(DrawList &drawList); + void buildDrawList1(DrawList &drawList); + void buildDrawList2(DrawList &drawList); + void buildDrawList3(DrawList &drawList); + void drawMagnifyingGlass(DrawList &drawList); + + void drawSprites(); + void drawSprites0(); + void drawSprites1(); + void drawSprites2(); + void drawSprites3(); + + Obj *getFreeObject(); + + void initObjects(); + void initObjects0(); + void initObjects1(); + + void initVars(); + void initVars1(); + void initVars2(); + void initVars3(); + + bool updateStatus(int mouseX, int mouseY, uint mouseButtons); + bool updateStatus0(int mouseX, int mouseY, uint mouseButtons); + bool updateStatus1(int mouseX, int mouseY, uint mouseButtons); + bool updateStatus2(int mouseX, int mouseY, uint mouseButtons); + bool updateStatus3(int mouseX, int mouseY, uint mouseButtons); + + void getRandomBugObjValues(int &x, int &y, int &animIndexIncr, int &field30); + void insertBugSmokeObj(int x, int y, int bugObjIndex); + void insertSmokeObj(int x, int y); + void resetObj(int objIndex); + void insertStompObj(int x, int y); + void removeStompObj(Obj *obj); + void insertBugObj(int kind, int animIndexIncr, int always0, int x, int y, int field30, int always1); + void removeBugObj(int objIndex); + void updateBugObjAnim(int objIndex); + void updateObjAnim2(int objIndex); + void insertRandomBugObj(int kind); + bool isBugOutOfScreen(int objIndex); + void updateObjAnim3(int objIndex); + void updateBugObj1(int objIndex); + void updateObjKind2(int objIndex); + void updateObjKind3(int objIndex); + void updateObjKind4(int objIndex); + void updateObjKind5(int objIndex); + void updateStompObj(int objIndex); + void updateSmokeObj(int objIndex); + void updateFootObj(int objIndex); + bool isBugAtCandy(int objIndex, int &candyObjIndex); + bool isMagGlassAtBug(int objIndex); + bool isMagGlassAtBeavisLeg(int objIndex); + bool testObj5(int objIndex); + void updateObjs(uint mouseButtons); + + void update(); + + void scale2x(int x, int y); + + void loadSounds(); + void playSound(uint index, bool loop = false); + void stopSound(uint index); + bool isSoundPlaying(uint index); + bool isAnySoundPlaying(const uint *indices, uint count); + +}; + +} // End of namespace Bbvs + +#endif // BBVS_H diff --git a/engines/bbvs/minigames/bbant_anims.cpp b/engines/bbvs/minigames/bbant_anims.cpp new file mode 100644 index 0000000000..9527b7aa4e --- /dev/null +++ b/engines/bbvs/minigames/bbant_anims.cpp @@ -0,0 +1,757 @@ +/* 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 "bbvs/minigames/bbant.h" + +namespace Bbvs { + +static const int kAnim0FrameIndices[] = {0, 1, 2}; +static const int16 kAnim0FrameTicks[] = {10, 8, 8}; +static const BBRect kAnim0FrameRects[] = {{-3, -8, 6, 14}, {-3, -8, 6, 13}, {-3, -7, 6, 12}}; +static const int kAnim1FrameIndices[] = {3, 4, 5}; +static const int16 kAnim1FrameTicks[] = {10, 8, 8}; +static const BBRect kAnim1FrameRects[] = {{-5, -6, 13, 9}, {-5, -6, 13, 10}, {-5, -6, 13, 10}}; +static const int kAnim2FrameIndices[] = {6, 7, 8}; +static const int16 kAnim2FrameTicks[] = {10, 8, 8}; +static const BBRect kAnim2FrameRects[] = {{-6, -6, 17, 7}, {-6, -6, 15, 6}, {-7, -6, 17, 6}}; +static const int kAnim3FrameIndices[] = {9, 10, 11}; +static const int16 kAnim3FrameTicks[] = {10, 8, 8}; +static const BBRect kAnim3FrameRects[] = {{-5, -7, 13, 8}, {-5, -7, 12, 7}, {-5, -7, 12, 9}}; +static const int kAnim4FrameIndices[] = {12, 13, 14}; +static const int16 kAnim4FrameTicks[] = {10, 8, 8}; +static const BBRect kAnim4FrameRects[] = {{-3, -9, 7, 11}, {-3, -9, 7, 11}, {-3, -9, 7, 11}}; +static const int kAnim5FrameIndices[] = {15, 16, 17}; +static const int16 kAnim5FrameTicks[] = {10, 8, 8}; +static const BBRect kAnim5FrameRects[] = {{-7, -8, 13, 9}, {-7, -7, 13, 8}, {-7, -7, 13, 8}}; +static const int kAnim6FrameIndices[] = {18, 19, 20}; +static const int16 kAnim6FrameTicks[] = {10, 8, 8}; +static const BBRect kAnim6FrameRects[] = {{-10, -6, 17, 7}, {-11, -6, 18, 7}, {-11, -6, 18, 6}}; +static const int kAnim7FrameIndices[] = {21, 22, 23}; +static const int16 kAnim7FrameTicks[] = {10, 8, 8}; +static const BBRect kAnim7FrameRects[] = {{-7, -6, 13, 8}, {-7, -7, 12, 9}, {-7, -7, 13, 9}}; +static const int kAnim8FrameIndices[] = {24}; +static const int16 kAnim8FrameTicks[] = {8}; +static const BBRect kAnim8FrameRects[] = {{-3, -9, 6, 12}}; +static const int kAnim9FrameIndices[] = {25}; +static const int16 kAnim9FrameTicks[] = {8}; +static const BBRect kAnim9FrameRects[] = {{-5, -6, 12, 7}}; +static const int kAnim10FrameIndices[] = {26}; +static const int16 kAnim10FrameTicks[] = {8}; +static const BBRect kAnim10FrameRects[] = {{-4, -6, 13, 6}}; +static const int kAnim11FrameIndices[] = {27}; +static const int16 kAnim11FrameTicks[] = {8}; +static const BBRect kAnim11FrameRects[] = {{-5, -7, 11, 8}}; +static const int kAnim12FrameIndices[] = {28}; +static const int16 kAnim12FrameTicks[] = {8}; +static const BBRect kAnim12FrameRects[] = {{-2, -10, 5, 12}}; +static const int kAnim13FrameIndices[] = {29}; +static const int16 kAnim13FrameTicks[] = {8}; +static const BBRect kAnim13FrameRects[] = {{-6, -8, 13, 9}}; +static const int kAnim14FrameIndices[] = {30}; +static const int16 kAnim14FrameTicks[] = {8}; +static const BBRect kAnim14FrameRects[] = {{-8, -6, 13, 6}}; +static const int kAnim15FrameIndices[] = {31}; +static const int16 kAnim15FrameTicks[] = {8}; +static const BBRect kAnim15FrameRects[] = {{-7, -7, 12, 8}}; +static const int kAnim16FrameIndices[] = {0, 1, 2}; +static const int16 kAnim16FrameTicks[] = {6, 6, 6}; +static const BBRect kAnim16FrameRects[] = {{-3, -8, 6, 14}, {-3, -8, 6, 13}, {-3, -7, 6, 12}}; +static const int kAnim17FrameIndices[] = {3, 4, 5}; +static const int16 kAnim17FrameTicks[] = {6, 6, 6}; +static const BBRect kAnim17FrameRects[] = {{-5, -6, 13, 9}, {-5, -6, 13, 10}, {-5, -6, 13, 10}}; +static const int kAnim18FrameIndices[] = {6, 7, 8}; +static const int16 kAnim18FrameTicks[] = {6, 6, 6}; +static const BBRect kAnim18FrameRects[] = {{-6, -6, 17, 7}, {-6, -6, 15, 6}, {-7, -6, 17, 6}}; +static const int kAnim19FrameIndices[] = {9, 10, 11}; +static const int16 kAnim19FrameTicks[] = {6, 6, 6}; +static const BBRect kAnim19FrameRects[] = {{-5, -7, 13, 8}, {-5, -7, 12, 7}, {-5, -7, 12, 9}}; +static const int kAnim20FrameIndices[] = {12, 13, 14}; +static const int16 kAnim20FrameTicks[] = {6, 6, 6}; +static const BBRect kAnim20FrameRects[] = {{-3, -9, 7, 11}, {-3, -9, 7, 11}, {-3, -9, 7, 11}}; +static const int kAnim21FrameIndices[] = {15, 16, 17}; +static const int16 kAnim21FrameTicks[] = {6, 6, 6}; +static const BBRect kAnim21FrameRects[] = {{-7, -8, 13, 9}, {-7, -7, 13, 8}, {-7, -7, 13, 8}}; +static const int kAnim22FrameIndices[] = {18, 19, 20}; +static const int16 kAnim22FrameTicks[] = {6, 6, 6}; +static const BBRect kAnim22FrameRects[] = {{-10, -6, 17, 7}, {-11, -6, 18, 7}, {-11, -6, 18, 6}}; +static const int kAnim23FrameIndices[] = {21, 22, 23}; +static const int16 kAnim23FrameTicks[] = {6, 6, 6}; +static const BBRect kAnim23FrameRects[] = {{-7, -6, 13, 8}, {-7, -7, 12, 9}, {-7, -7, 13, 9}}; +static const int kAnim24FrameIndices[] = {32, 33, 34, 35, 36, 37, 36, 37, 36, 37, 36, 37, 36, 38}; +static const int16 kAnim24FrameTicks[] = {6, 6, 6, 6, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10}; +static const BBRect kAnim24FrameRects[] = {{-3, -14, 12, 10}, {-2, -21, 11, 11}, {0, -23, 8, 14}, {-6, -15, 13, 11}, {-8, -4, 15, 5}, {-9, -4, 16, 6}, {-8, -4, 15, 5}, {-9, -4, 16, 6}, {-8, -4, 15, 5}, {-9, -4, 16, 6}, {-8, -4, 15, 5}, {-9, -4, 16, 6}, {-8, -4, 15, 5}, {-9, -4, 16, 5}}; +static const int kAnim25FrameIndices[] = {39, 40, 41, 42, 43, 44, 43, 44, 43, 44, 43, 44, 43, 45}; +static const int16 kAnim25FrameTicks[] = {6, 6, 6, 6, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10}; +static const BBRect kAnim25FrameRects[] = {{-9, -14, 13, 10}, {-8, -22, 12, 12}, {-8, -24, 8, 15}, {-7, -15, 13, 10}, {-6, -4, 15, 7}, {-7, -4, 16, 6}, {-6, -4, 15, 7}, {-7, -4, 16, 6}, {-6, -4, 15, 7}, {-7, -4, 16, 6}, {-6, -4, 15, 7}, {-7, -4, 16, 6}, {-6, -4, 15, 7}, {-7, -4, 16, 6}}; +static const int kAnim26FrameIndices[] = {46, 47, 48}; +static const int16 kAnim26FrameTicks[] = {10, 8, 8}; +static const BBRect kAnim26FrameRects[] = {{-3, -8, 6, 14}, {-3, -8, 6, 13}, {-3, -7, 6, 12}}; +static const int kAnim27FrameIndices[] = {49, 50, 51}; +static const int16 kAnim27FrameTicks[] = {10, 8, 8}; +static const BBRect kAnim27FrameRects[] = {{-5, -6, 13, 9}, {-5, -6, 13, 10}, {-5, -6, 13, 10}}; +static const int kAnim28FrameIndices[] = {52, 53, 54}; +static const int16 kAnim28FrameTicks[] = {10, 8, 8}; +static const BBRect kAnim28FrameRects[] = {{-6, -6, 17, 7}, {-6, -6, 15, 6}, {-7, -6, 17, 6}}; +static const int kAnim29FrameIndices[] = {55, 56, 57}; +static const int16 kAnim29FrameTicks[] = {10, 8, 8}; +static const BBRect kAnim29FrameRects[] = {{-5, -7, 13, 8}, {-5, -7, 12, 7}, {-5, -7, 12, 9}}; +static const int kAnim30FrameIndices[] = {58, 59, 60}; +static const int16 kAnim30FrameTicks[] = {10, 8, 8}; +static const BBRect kAnim30FrameRects[] = {{-3, -9, 7, 11}, {-3, -9, 7, 11}, {-3, -9, 7, 11}}; +static const int kAnim31FrameIndices[] = {61, 62, 63}; +static const int16 kAnim31FrameTicks[] = {10, 8, 8}; +static const BBRect kAnim31FrameRects[] = {{-7, -8, 13, 9}, {-7, -7, 13, 8}, {-7, -7, 13, 8}}; +static const int kAnim32FrameIndices[] = {64, 65, 66}; +static const int16 kAnim32FrameTicks[] = {10, 8, 8}; +static const BBRect kAnim32FrameRects[] = {{-10, -6, 17, 7}, {-11, -6, 18, 7}, {-11, -6, 18, 6}}; +static const int kAnim33FrameIndices[] = {67, 68, 69}; +static const int16 kAnim33FrameTicks[] = {10, 8, 8}; +static const BBRect kAnim33FrameRects[] = {{-7, -6, 13, 8}, {-7, -7, 12, 9}, {-7, -7, 13, 9}}; +static const int kAnim34FrameIndices[] = {70}; +static const int16 kAnim34FrameTicks[] = {8}; +static const BBRect kAnim34FrameRects[] = {{-3, -9, 6, 12}}; +static const int kAnim35FrameIndices[] = {71}; +static const int16 kAnim35FrameTicks[] = {8}; +static const BBRect kAnim35FrameRects[] = {{-5, -6, 12, 7}}; +static const int kAnim36FrameIndices[] = {72}; +static const int16 kAnim36FrameTicks[] = {8}; +static const BBRect kAnim36FrameRects[] = {{-4, -6, 13, 6}}; +static const int kAnim37FrameIndices[] = {73}; +static const int16 kAnim37FrameTicks[] = {8}; +static const BBRect kAnim37FrameRects[] = {{-5, -7, 11, 8}}; +static const int kAnim38FrameIndices[] = {74}; +static const int16 kAnim38FrameTicks[] = {8}; +static const BBRect kAnim38FrameRects[] = {{-2, -10, 5, 12}}; +static const int kAnim39FrameIndices[] = {75}; +static const int16 kAnim39FrameTicks[] = {8}; +static const BBRect kAnim39FrameRects[] = {{-6, -8, 13, 9}}; +static const int kAnim40FrameIndices[] = {76}; +static const int16 kAnim40FrameTicks[] = {8}; +static const BBRect kAnim40FrameRects[] = {{-8, -6, 13, 6}}; +static const int kAnim41FrameIndices[] = {77}; +static const int16 kAnim41FrameTicks[] = {8}; +static const BBRect kAnim41FrameRects[] = {{-7, -7, 12, 8}}; +static const int kAnim42FrameIndices[] = {46, 47, 48}; +static const int16 kAnim42FrameTicks[] = {6, 6, 6}; +static const BBRect kAnim42FrameRects[] = {{-3, -8, 6, 14}, {-3, -8, 6, 13}, {-3, -7, 6, 12}}; +static const int kAnim43FrameIndices[] = {49, 50, 51}; +static const int16 kAnim43FrameTicks[] = {6, 6, 6}; +static const BBRect kAnim43FrameRects[] = {{-5, -6, 13, 9}, {-5, -6, 13, 10}, {-5, -6, 13, 10}}; +static const int kAnim44FrameIndices[] = {52, 53, 54}; +static const int16 kAnim44FrameTicks[] = {6, 6, 6}; +static const BBRect kAnim44FrameRects[] = {{-6, -6, 17, 7}, {-6, -6, 15, 6}, {-7, -6, 17, 6}}; +static const int kAnim45FrameIndices[] = {55, 56, 57}; +static const int16 kAnim45FrameTicks[] = {6, 6, 6}; +static const BBRect kAnim45FrameRects[] = {{-5, -7, 13, 8}, {-5, -7, 12, 7}, {-5, -7, 12, 9}}; +static const int kAnim46FrameIndices[] = {58, 59, 60}; +static const int16 kAnim46FrameTicks[] = {6, 6, 6}; +static const BBRect kAnim46FrameRects[] = {{-3, -9, 7, 11}, {-3, -9, 7, 11}, {-3, -9, 7, 11}}; +static const int kAnim47FrameIndices[] = {61, 62, 63}; +static const int16 kAnim47FrameTicks[] = {6, 6, 6}; +static const BBRect kAnim47FrameRects[] = {{-7, -8, 13, 9}, {-7, -7, 13, 8}, {-7, -7, 13, 8}}; +static const int kAnim48FrameIndices[] = {64, 65, 66}; +static const int16 kAnim48FrameTicks[] = {6, 6, 6}; +static const BBRect kAnim48FrameRects[] = {{-10, -6, 17, 7}, {-11, -6, 18, 7}, {-11, -6, 18, 6}}; +static const int kAnim49FrameIndices[] = {67, 68, 69}; +static const int16 kAnim49FrameTicks[] = {6, 6, 6}; +static const BBRect kAnim49FrameRects[] = {{-7, -6, 13, 8}, {-7, -7, 12, 9}, {-7, -7, 13, 9}}; +static const int kAnim50FrameIndices[] = {78, 79, 80, 81, 82, 83, 82, 83, 82, 83, 82, 83, 82, 84}; +static const int16 kAnim50FrameTicks[] = {6, 6, 6, 6, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10}; +static const BBRect kAnim50FrameRects[] = {{-3, -14, 12, 10}, {-2, -21, 11, 11}, {0, -23, 8, 14}, {-6, -15, 13, 11}, {-8, -4, 15, 5}, {-9, -4, 16, 6}, {-8, -4, 15, 5}, {-9, -4, 16, 6}, {-8, -4, 15, 5}, {-9, -4, 16, 6}, {-8, -4, 15, 5}, {-9, -4, 16, 6}, {-8, -4, 15, 5}, {-9, -4, 16, 5}}; +static const int kAnim51FrameIndices[] = {85, 86, 87, 88, 89, 90, 89, 90, 89, 90, 89, 90, 89, 91}; +static const int16 kAnim51FrameTicks[] = {6, 6, 6, 6, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10}; +static const BBRect kAnim51FrameRects[] = {{-9, -14, 13, 10}, {-8, -22, 12, 12}, {-8, -24, 8, 15}, {-7, -15, 13, 10}, {-6, -4, 15, 7}, {-7, -4, 16, 6}, {-6, -4, 15, 7}, {-7, -4, 16, 6}, {-6, -4, 15, 7}, {-7, -4, 16, 6}, {-6, -4, 15, 7}, {-7, -4, 16, 6}, {-6, -4, 15, 7}, {-7, -4, 16, 6}}; +static const int kAnim52FrameIndices[] = {92, 93, 94}; +static const int16 kAnim52FrameTicks[] = {10, 8, 8}; +static const BBRect kAnim52FrameRects[] = {{-6, -14, 13, 24}, {-7, -13, 14, 23}, {-6, -13, 12, 22}}; +static const int kAnim53FrameIndices[] = {95, 96, 97}; +static const int16 kAnim53FrameTicks[] = {10, 8, 8}; +static const BBRect kAnim53FrameRects[] = {{-4, -12, 19, 17}, {-3, -12, 18, 18}, {-2, -12, 17, 18}}; +static const int kAnim54FrameIndices[] = {98, 99, 100}; +static const int16 kAnim54FrameTicks[] = {10, 8, 8}; +static const BBRect kAnim54FrameRects[] = {{-6, -16, 23, 14}, {-6, -15, 24, 13}, {-7, -15, 25, 14}}; +static const int kAnim55FrameIndices[] = {101, 102, 103}; +static const int16 kAnim55FrameTicks[] = {10, 8, 8}; +static const BBRect kAnim55FrameRects[] = {{-4, -22, 16, 20}, {-3, -23, 14, 22}, {-4, -23, 14, 22}}; +static const int kAnim56FrameIndices[] = {104, 105, 106}; +static const int16 kAnim56FrameTicks[] = {10, 8, 8}; +static const BBRect kAnim56FrameRects[] = {{-5, -24, 11, 23}, {-5, -25, 11, 25}, {-5, -25, 11, 26}}; +static const int kAnim57FrameIndices[] = {107, 108, 109}; +static const int16 kAnim57FrameTicks[] = {10, 8, 8}; +static const BBRect kAnim57FrameRects[] = {{-10, -23, 15, 21}, {-11, -22, 16, 20}, {-11, -23, 17, 21}}; +static const int kAnim58FrameIndices[] = {110, 111, 112}; +static const int16 kAnim58FrameTicks[] = {10, 8, 8}; +static const BBRect kAnim58FrameRects[] = {{-17, -15, 25, 15}, {-17, -15, 25, 14}, {-17, -15, 25, 14}}; +static const int kAnim59FrameIndices[] = {113, 114, 115}; +static const int16 kAnim59FrameTicks[] = {10, 8, 8}; +static const BBRect kAnim59FrameRects[] = {{-14, -12, 20, 17}, {-14, -13, 19, 18}, {-14, -13, 19, 18}}; +static const int kAnim60FrameIndices[] = {116}; +static const int16 kAnim60FrameTicks[] = {6}; +static const BBRect kAnim60FrameRects[] = {{-6, -12, 12, 23}}; +static const int kAnim61FrameIndices[] = {117}; +static const int16 kAnim61FrameTicks[] = {6}; +static const BBRect kAnim61FrameRects[] = {{-5, -11, 20, 19}}; +static const int kAnim62FrameIndices[] = {118}; +static const int16 kAnim62FrameTicks[] = {6}; +static const BBRect kAnim62FrameRects[] = {{-8, -14, 27, 15}}; +static const int kAnim63FrameIndices[] = {119}; +static const int16 kAnim63FrameTicks[] = {6}; +static const BBRect kAnim63FrameRects[] = {{-4, -22, 17, 20}}; +static const int kAnim64FrameIndices[] = {120}; +static const int16 kAnim64FrameTicks[] = {6}; +static const BBRect kAnim64FrameRects[] = {{-6, -25, 13, 25}}; +static const int kAnim65FrameIndices[] = {121}; +static const int16 kAnim65FrameTicks[] = {6}; +static const BBRect kAnim65FrameRects[] = {{-11, -23, 17, 23}}; +static const int kAnim66FrameIndices[] = {122}; +static const int16 kAnim66FrameTicks[] = {6}; +static const BBRect kAnim66FrameRects[] = {{-18, -13, 29, 13}}; +static const int kAnim67FrameIndices[] = {123}; +static const int16 kAnim67FrameTicks[] = {6}; +static const BBRect kAnim67FrameRects[] = {{-14, -12, 21, 19}}; +static const int kAnim68FrameIndices[] = {92, 93, 94}; +static const int16 kAnim68FrameTicks[] = {6, 6, 6}; +static const BBRect kAnim68FrameRects[] = {{-6, -14, 13, 24}, {-7, -13, 14, 23}, {-6, -13, 12, 22}}; +static const int kAnim69FrameIndices[] = {95, 96, 97}; +static const int16 kAnim69FrameTicks[] = {6, 6, 6}; +static const BBRect kAnim69FrameRects[] = {{-4, -12, 19, 17}, {-3, -12, 18, 18}, {-2, -12, 17, 18}}; +static const int kAnim70FrameIndices[] = {98, 99, 100}; +static const int16 kAnim70FrameTicks[] = {6, 6, 6}; +static const BBRect kAnim70FrameRects[] = {{-6, -16, 23, 14}, {-6, -15, 24, 13}, {-7, -15, 25, 14}}; +static const int kAnim71FrameIndices[] = {101, 102, 103}; +static const int16 kAnim71FrameTicks[] = {6, 6, 6}; +static const BBRect kAnim71FrameRects[] = {{-4, -22, 16, 20}, {-3, -23, 14, 22}, {-4, -23, 14, 22}}; +static const int kAnim72FrameIndices[] = {104, 105, 106}; +static const int16 kAnim72FrameTicks[] = {6, 6, 6}; +static const BBRect kAnim72FrameRects[] = {{-5, -24, 11, 23}, {-5, -25, 11, 25}, {-5, -25, 11, 26}}; +static const int kAnim73FrameIndices[] = {107, 108, 109}; +static const int16 kAnim73FrameTicks[] = {6, 6, 6}; +static const BBRect kAnim73FrameRects[] = {{-10, -23, 15, 21}, {-11, -22, 16, 20}, {-11, -23, 17, 21}}; +static const int kAnim74FrameIndices[] = {110, 111, 112}; +static const int16 kAnim74FrameTicks[] = {6, 6, 6}; +static const BBRect kAnim74FrameRects[] = {{-17, -15, 25, 15}, {-17, -15, 25, 14}, {-17, -15, 25, 14}}; +static const int kAnim75FrameIndices[] = {113, 114, 115}; +static const int16 kAnim75FrameTicks[] = {6, 6, 6}; +static const BBRect kAnim75FrameRects[] = {{-14, -12, 20, 17}, {-14, -13, 19, 18}, {-14, -13, 19, 18}}; +static const int kAnim76FrameIndices[] = {124, 125, 126, 127, 128, 129, 128, 129, 128, 129, 128, 129, 128, 130}; +static const int16 kAnim76FrameTicks[] = {6, 6, 6, 6, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10}; +static const BBRect kAnim76FrameRects[] = {{-14, -23, 23, 18}, {-12, -32, 18, 23}, {-16, -29, 18, 22}, {-17, -17, 23, 17}, {-17, -10, 26, 14}, {-17, -12, 25, 15}, {-17, -10, 26, 14}, {-17, -12, 25, 15}, {-17, -10, 26, 14}, {-17, -12, 25, 15}, {-17, -10, 26, 14}, {-17, -12, 25, 15}, {-17, -10, 26, 14}, {-18, -13, 28, 14}}; +static const int kAnim77FrameIndices[] = {131, 132, 133, 134, 135, 136, 135, 136, 135, 136, 135, 136, 135, 137}; +static const int16 kAnim77FrameTicks[] = {6, 6, 6, 6, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10}; +static const BBRect kAnim77FrameRects[] = {{-6, -24, 21, 19}, {-5, -33, 19, 24}, {-1, -29, 18, 22}, {-5, -17, 22, 17}, {-6, -10, 23, 14}, {-7, -10, 26, 13}, {-6, -10, 23, 14}, {-7, -10, 26, 13}, {-6, -10, 23, 14}, {-7, -10, 26, 13}, {-6, -10, 23, 14}, {-7, -10, 26, 13}, {-6, -10, 23, 14}, {-7, -12, 26, 14}}; +static const int kAnim78FrameIndices[] = {138, 139, 140}; +static const int16 kAnim78FrameTicks[] = {10, 8, 8}; +static const BBRect kAnim78FrameRects[] = {{-3, -17, 7, 20}, {-3, -16, 7, 19}, {-3, -16, 7, 19}}; +static const int kAnim79FrameIndices[] = {141, 142, 143}; +static const int16 kAnim79FrameTicks[] = {10, 8, 8}; +static const BBRect kAnim79FrameRects[] = {{-6, -14, 13, 15}, {-7, -13, 14, 14}, {-6, -13, 13, 14}}; +static const int kAnim80FrameIndices[] = {144, 145, 146}; +static const int16 kAnim80FrameTicks[] = {10, 8, 8}; +static const BBRect kAnim80FrameRects[] = {{-10, -10, 20, 9}, {-9, -9, 19, 8}, {-9, -9, 19, 8}}; +static const int kAnim81FrameIndices[] = {147, 148, 149}; +static const int16 kAnim81FrameTicks[] = {10, 8, 8}; +static const BBRect kAnim81FrameRects[] = {{-7, -11, 16, 10}, {-7, -11, 16, 10}, {-7, -11, 16, 10}}; +static const int kAnim82FrameIndices[] = {150, 151, 152}; +static const int16 kAnim82FrameTicks[] = {10, 8, 8}; +static const BBRect kAnim82FrameRects[] = {{-3, -13, 7, 16}, {-3, -13, 7, 16}, {-3, -12, 7, 15}}; +static const int kAnim83FrameIndices[] = {153, 154, 155}; +static const int16 kAnim83FrameTicks[] = {10, 8, 8}; +static const BBRect kAnim83FrameRects[] = {{-8, -11, 18, 10}, {-7, -11, 16, 11}, {-7, -10, 17, 9}}; +static const int kAnim84FrameIndices[] = {156, 157, 158}; +static const int16 kAnim84FrameTicks[] = {10, 8, 8}; +static const BBRect kAnim84FrameRects[] = {{-8, -9, 20, 7}, {-9, -9, 21, 8}, {-9, -9, 21, 8}}; +static const int kAnim85FrameIndices[] = {159, 160, 161}; +static const int16 kAnim85FrameTicks[] = {10, 8, 8}; +static const BBRect kAnim85FrameRects[] = {{-6, -14, 15, 15}, {-5, -13, 12, 14}, {-6, -13, 14, 14}}; +static const int kAnim86FrameIndices[] = {162}; +static const int16 kAnim86FrameTicks[] = {6}; +static const BBRect kAnim86FrameRects[] = {{-3, -15, 8, 18}}; +static const int kAnim87FrameIndices[] = {163}; +static const int16 kAnim87FrameTicks[] = {6}; +static const BBRect kAnim87FrameRects[] = {{-7, -13, 14, 14}}; +static const int kAnim88FrameIndices[] = {164}; +static const int16 kAnim88FrameTicks[] = {6}; +static const BBRect kAnim88FrameRects[] = {{-11, -9, 21, 8}}; +static const int kAnim89FrameIndices[] = {165}; +static const int16 kAnim89FrameTicks[] = {6}; +static const BBRect kAnim89FrameRects[] = {{-9, -11, 18, 11}}; +static const int kAnim90FrameIndices[] = {166}; +static const int16 kAnim90FrameTicks[] = {6}; +static const BBRect kAnim90FrameRects[] = {{-3, -12, 7, 15}}; +static const int kAnim91FrameIndices[] = {167}; +static const int16 kAnim91FrameTicks[] = {6}; +static const BBRect kAnim91FrameRects[] = {{-8, -11, 17, 12}}; +static const int kAnim92FrameIndices[] = {168}; +static const int16 kAnim92FrameTicks[] = {6}; +static const BBRect kAnim92FrameRects[] = {{-9, -10, 21, 9}}; +static const int kAnim93FrameIndices[] = {169}; +static const int16 kAnim93FrameTicks[] = {6}; +static const BBRect kAnim93FrameRects[] = {{-6, -14, 14, 15}}; +static const int kAnim94FrameIndices[] = {138, 139, 140}; +static const int16 kAnim94FrameTicks[] = {6, 6, 6}; +static const BBRect kAnim94FrameRects[] = {{-3, -17, 7, 20}, {-3, -16, 7, 19}, {-3, -16, 7, 19}}; +static const int kAnim95FrameIndices[] = {141, 142, 143}; +static const int16 kAnim95FrameTicks[] = {6, 6, 6}; +static const BBRect kAnim95FrameRects[] = {{-6, -14, 13, 15}, {-7, -13, 14, 14}, {-6, -13, 13, 14}}; +static const int kAnim96FrameIndices[] = {144, 145, 146}; +static const int16 kAnim96FrameTicks[] = {6, 6, 6}; +static const BBRect kAnim96FrameRects[] = {{-10, -10, 20, 9}, {-9, -9, 19, 8}, {-9, -9, 19, 8}}; +static const int kAnim97FrameIndices[] = {147, 148, 149}; +static const int16 kAnim97FrameTicks[] = {6, 6, 6}; +static const BBRect kAnim97FrameRects[] = {{-7, -11, 16, 10}, {-7, -11, 16, 10}, {-7, -11, 16, 10}}; +static const int kAnim98FrameIndices[] = {150, 151, 152}; +static const int16 kAnim98FrameTicks[] = {6, 6, 6}; +static const BBRect kAnim98FrameRects[] = {{-3, -13, 7, 16}, {-3, -13, 7, 16}, {-3, -12, 7, 15}}; +static const int kAnim99FrameIndices[] = {153, 154, 155}; +static const int16 kAnim99FrameTicks[] = {6, 6, 6}; +static const BBRect kAnim99FrameRects[] = {{-8, -11, 18, 10}, {-7, -11, 16, 11}, {-7, -10, 17, 9}}; +static const int kAnim100FrameIndices[] = {156, 157, 158}; +static const int16 kAnim100FrameTicks[] = {6, 6, 6}; +static const BBRect kAnim100FrameRects[] = {{-8, -9, 20, 7}, {-9, -9, 21, 8}, {-9, -9, 21, 8}}; +static const int kAnim101FrameIndices[] = {159, 160, 161}; +static const int16 kAnim101FrameTicks[] = {6, 6, 6}; +static const BBRect kAnim101FrameRects[] = {{-6, -14, 15, 15}, {-5, -13, 12, 14}, {-6, -13, 14, 14}}; +static const int kAnim102FrameIndices[] = {170, 171, 172, 173, 174, 175, 174, 175, 174, 175, 174, 175, 174, 176}; +static const int16 kAnim102FrameTicks[] = {6, 6, 6, 6, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10}; +static const BBRect kAnim102FrameRects[] = {{-7, -18, 15, 14}, {-6, -24, 11, 18}, {-6, -24, 9, 17}, {-5, -14, 16, 11}, {-7, -6, 18, 7}, {-8, -7, 19, 8}, {-7, -6, 18, 7}, {-8, -7, 19, 8}, {-7, -6, 18, 7}, {-8, -7, 19, 8}, {-7, -6, 18, 7}, {-8, -7, 19, 8}, {-7, -6, 18, 7}, {-8, -7, 19, 8}}; +static const int kAnim103FrameIndices[] = {177, 178, 179, 180, 181, 182, 181, 182, 181, 182, 181, 182, 181, 183}; +static const int16 kAnim103FrameTicks[] = {6, 6, 6, 6, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10}; +static const BBRect kAnim103FrameRects[] = {{-9, -18, 16, 15}, {-6, -24, 12, 18}, {-6, -24, 13, 16}, {-12, -15, 17, 13}, {-10, -7, 19, 8}, {-11, -7, 21, 9}, {-10, -7, 19, 8}, {-11, -7, 21, 9}, {-10, -7, 19, 8}, {-11, -7, 21, 9}, {-10, -7, 19, 8}, {-11, -7, 21, 9}, {-10, -7, 19, 8}, {-11, -6, 21, 6}}; +static const int kAnim104FrameIndices[] = {184, 185, 186}; +static const int16 kAnim104FrameTicks[] = {10, 8, 8}; +static const BBRect kAnim104FrameRects[] = {{-3, -17, 7, 20}, {-3, -16, 7, 19}, {-3, -16, 7, 19}}; +static const int kAnim105FrameIndices[] = {187, 188, 189}; +static const int16 kAnim105FrameTicks[] = {10, 8, 8}; +static const BBRect kAnim105FrameRects[] = {{-6, -14, 13, 15}, {-7, -13, 14, 14}, {-6, -13, 13, 14}}; +static const int kAnim106FrameIndices[] = {190, 191, 192}; +static const int16 kAnim106FrameTicks[] = {10, 8, 8}; +static const BBRect kAnim106FrameRects[] = {{-10, -10, 20, 9}, {-9, -9, 19, 8}, {-9, -9, 19, 8}}; +static const int kAnim107FrameIndices[] = {193, 194, 195}; +static const int16 kAnim107FrameTicks[] = {10, 8, 8}; +static const BBRect kAnim107FrameRects[] = {{-7, -11, 16, 10}, {-7, -11, 16, 10}, {-7, -11, 16, 10}}; +static const int kAnim108FrameIndices[] = {196, 197, 198}; +static const int16 kAnim108FrameTicks[] = {10, 8, 8}; +static const BBRect kAnim108FrameRects[] = {{-3, -13, 7, 16}, {-3, -13, 7, 16}, {-3, -12, 7, 15}}; +static const int kAnim109FrameIndices[] = {199, 200, 201}; +static const int16 kAnim109FrameTicks[] = {10, 8, 8}; +static const BBRect kAnim109FrameRects[] = {{-8, -11, 18, 10}, {-7, -11, 16, 11}, {-7, -10, 17, 9}}; +static const int kAnim110FrameIndices[] = {202, 203, 204}; +static const int16 kAnim110FrameTicks[] = {10, 8, 8}; +static const BBRect kAnim110FrameRects[] = {{-8, -9, 20, 7}, {-9, -9, 21, 8}, {-9, -9, 21, 8}}; +static const int kAnim111FrameIndices[] = {205, 206, 207}; +static const int16 kAnim111FrameTicks[] = {10, 8, 8}; +static const BBRect kAnim111FrameRects[] = {{-6, -14, 15, 15}, {-5, -13, 12, 14}, {-6, -13, 14, 14}}; +static const int kAnim112FrameIndices[] = {208}; +static const int16 kAnim112FrameTicks[] = {6}; +static const BBRect kAnim112FrameRects[] = {{-3, -15, 8, 18}}; +static const int kAnim113FrameIndices[] = {209}; +static const int16 kAnim113FrameTicks[] = {6}; +static const BBRect kAnim113FrameRects[] = {{-7, -13, 14, 14}}; +static const int kAnim114FrameIndices[] = {210}; +static const int16 kAnim114FrameTicks[] = {6}; +static const BBRect kAnim114FrameRects[] = {{-11, -9, 21, 8}}; +static const int kAnim115FrameIndices[] = {211}; +static const int16 kAnim115FrameTicks[] = {6}; +static const BBRect kAnim115FrameRects[] = {{-9, -11, 18, 11}}; +static const int kAnim116FrameIndices[] = {212}; +static const int16 kAnim116FrameTicks[] = {6}; +static const BBRect kAnim116FrameRects[] = {{-3, -12, 7, 15}}; +static const int kAnim117FrameIndices[] = {213}; +static const int16 kAnim117FrameTicks[] = {6}; +static const BBRect kAnim117FrameRects[] = {{-8, -11, 17, 12}}; +static const int kAnim118FrameIndices[] = {214}; +static const int16 kAnim118FrameTicks[] = {6}; +static const BBRect kAnim118FrameRects[] = {{-9, -10, 21, 9}}; +static const int kAnim119FrameIndices[] = {215}; +static const int16 kAnim119FrameTicks[] = {6}; +static const BBRect kAnim119FrameRects[] = {{-6, -14, 14, 15}}; +static const int kAnim120FrameIndices[] = {184, 185, 186}; +static const int16 kAnim120FrameTicks[] = {6, 6, 6}; +static const BBRect kAnim120FrameRects[] = {{-3, -17, 7, 20}, {-3, -16, 7, 19}, {-3, -16, 7, 19}}; +static const int kAnim121FrameIndices[] = {187, 188, 189}; +static const int16 kAnim121FrameTicks[] = {6, 6, 6}; +static const BBRect kAnim121FrameRects[] = {{-6, -14, 13, 15}, {-7, -13, 14, 14}, {-6, -13, 13, 14}}; +static const int kAnim122FrameIndices[] = {190, 191, 192}; +static const int16 kAnim122FrameTicks[] = {6, 6, 6}; +static const BBRect kAnim122FrameRects[] = {{-10, -10, 20, 9}, {-9, -9, 19, 8}, {-9, -9, 19, 8}}; +static const int kAnim123FrameIndices[] = {193, 194, 195}; +static const int16 kAnim123FrameTicks[] = {6, 6, 6}; +static const BBRect kAnim123FrameRects[] = {{-7, -11, 16, 10}, {-7, -11, 16, 10}, {-7, -11, 16, 10}}; +static const int kAnim124FrameIndices[] = {196, 197, 198}; +static const int16 kAnim124FrameTicks[] = {6, 6, 6}; +static const BBRect kAnim124FrameRects[] = {{-3, -13, 7, 16}, {-3, -13, 7, 16}, {-3, -12, 7, 15}}; +static const int kAnim125FrameIndices[] = {199, 200, 201}; +static const int16 kAnim125FrameTicks[] = {6, 6, 6}; +static const BBRect kAnim125FrameRects[] = {{-8, -11, 18, 10}, {-7, -11, 16, 11}, {-7, -10, 17, 9}}; +static const int kAnim126FrameIndices[] = {202, 203, 204}; +static const int16 kAnim126FrameTicks[] = {6, 6, 6}; +static const BBRect kAnim126FrameRects[] = {{-8, -9, 20, 7}, {-9, -9, 21, 8}, {-9, -9, 21, 8}}; +static const int kAnim127FrameIndices[] = {205, 206, 207}; +static const int16 kAnim127FrameTicks[] = {6, 6, 6}; +static const BBRect kAnim127FrameRects[] = {{-6, -14, 15, 15}, {-5, -13, 12, 14}, {-6, -13, 14, 14}}; +static const int kAnim128FrameIndices[] = {216, 217, 218, 219, 220, 221, 220, 221, 220, 221, 220, 221, 220, 222}; +static const int16 kAnim128FrameTicks[] = {6, 6, 6, 6, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10}; +static const BBRect kAnim128FrameRects[] = {{-7, -18, 15, 14}, {-6, -24, 11, 18}, {-6, -24, 9, 17}, {-5, -14, 16, 11}, {-7, -6, 18, 7}, {-8, -7, 19, 8}, {-7, -6, 18, 7}, {-8, -7, 19, 8}, {-7, -6, 18, 7}, {-8, -7, 19, 8}, {-7, -6, 18, 7}, {-8, -7, 19, 8}, {-7, -6, 18, 7}, {-8, -7, 19, 8}}; +static const int kAnim129FrameIndices[] = {223, 224, 225, 226, 227, 228, 227, 228, 227, 228, 227, 228, 227, 229}; +static const int16 kAnim129FrameTicks[] = {6, 6, 6, 6, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10}; +static const BBRect kAnim129FrameRects[] = {{-9, -18, 16, 15}, {-6, -24, 12, 18}, {-6, -24, 13, 16}, {-12, -15, 17, 13}, {-10, -7, 19, 8}, {-11, -7, 21, 9}, {-10, -7, 19, 8}, {-11, -7, 21, 9}, {-10, -7, 19, 8}, {-11, -7, 21, 9}, {-10, -7, 19, 8}, {-11, -7, 21, 9}, {-10, -7, 19, 8}, {-11, -6, 21, 6}}; +static const int kAnim130FrameIndices[] = {230}; +static const int16 kAnim130FrameTicks[] = {6}; +static const BBRect kAnim130FrameRects[] = {{0, 0, 0, 0}}; +static const int kAnim131FrameIndices[] = {231}; +static const int16 kAnim131FrameTicks[] = {6}; +static const BBRect kAnim131FrameRects[] = {{-8, -9, 16, 12}}; +static const int kAnim132FrameIndices[] = {231, 232, 233}; +static const int16 kAnim132FrameTicks[] = {6, 6, 6}; +static const BBRect kAnim132FrameRects[] = {{-8, -9, 16, 12}, {-8, -11, 16, 12}, {-8, -13, 16, 12}}; +static const int kAnim133FrameIndices[] = {233}; +static const int16 kAnim133FrameTicks[] = {6}; +static const BBRect kAnim133FrameRects[] = {{-8, -13, 16, 12}}; +static const int kAnim134FrameIndices[] = {234}; +static const int16 kAnim134FrameTicks[] = {6}; +static const BBRect kAnim134FrameRects[] = {{-7, -6, 14, 10}}; +static const int kAnim135FrameIndices[] = {234, 235, 236}; +static const int16 kAnim135FrameTicks[] = {6, 6, 6}; +static const BBRect kAnim135FrameRects[] = {{-7, -6, 14, 10}, {-7, -9, 14, 9}, {-7, -12, 14, 9}}; +static const int kAnim136FrameIndices[] = {236}; +static const int16 kAnim136FrameTicks[] = {6}; +static const BBRect kAnim136FrameRects[] = {{-7, -12, 14, 9}}; +static const int kAnim137FrameIndices[] = {237}; +static const int16 kAnim137FrameTicks[] = {6}; +static const BBRect kAnim137FrameRects[] = {{-7, -8, 16, 13}}; +static const int kAnim138FrameIndices[] = {237, 238, 239}; +static const int16 kAnim138FrameTicks[] = {6, 6, 6}; +static const BBRect kAnim138FrameRects[] = {{-7, -8, 16, 13}, {-7, -11, 16, 12}, {-7, -14, 16, 13}}; +static const int kAnim139FrameIndices[] = {239}; +static const int16 kAnim139FrameTicks[] = {6}; +static const BBRect kAnim139FrameRects[] = {{-7, -14, 16, 13}}; +static const int kAnim140FrameIndices[] = {240}; +static const int16 kAnim140FrameTicks[] = {6}; +static const BBRect kAnim140FrameRects[] = {{-4, -4, 11, 7}}; +static const int kAnim141FrameIndices[] = {240, 241, 242}; +static const int16 kAnim141FrameTicks[] = {6, 6, 6}; +static const BBRect kAnim141FrameRects[] = {{-4, -4, 11, 7}, {-5, -7, 12, 7}, {-5, -10, 12, 7}}; +static const int kAnim142FrameIndices[] = {242}; +static const int16 kAnim142FrameTicks[] = {6}; +static const BBRect kAnim142FrameRects[] = {{-5, -10, 12, 7}}; +static const int kAnim143FrameIndices[] = {243}; +static const int16 kAnim143FrameTicks[] = {6}; +static const BBRect kAnim143FrameRects[] = {{-5, -4, 12, 7}}; +static const int kAnim144FrameIndices[] = {243, 244, 245}; +static const int16 kAnim144FrameTicks[] = {6, 6, 6}; +static const BBRect kAnim144FrameRects[] = {{-5, -4, 12, 7}, {-5, -7, 12, 7}, {-5, -10, 11, 7}}; +static const int kAnim145FrameIndices[] = {245}; +static const int16 kAnim145FrameTicks[] = {6}; +static const BBRect kAnim145FrameRects[] = {{-5, -10, 11, 7}}; +static const int kAnim146FrameIndices[] = {246}; +static const int16 kAnim146FrameTicks[] = {6}; +static const BBRect kAnim146FrameRects[] = {{-9, -11, 19, 15}}; +static const int kAnim147FrameIndices[] = {246, 247, 248}; +static const int16 kAnim147FrameTicks[] = {6, 6, 6}; +static const BBRect kAnim147FrameRects[] = {{-9, -11, 19, 15}, {-9, -13, 19, 14}, {-9, -17, 19, 15}}; +static const int kAnim148FrameIndices[] = {248}; +static const int16 kAnim148FrameTicks[] = {6}; +static const BBRect kAnim148FrameRects[] = {{-9, -17, 19, 15}}; +static const int kAnim149FrameIndices[] = {249}; +static const int16 kAnim149FrameTicks[] = {6}; +static const BBRect kAnim149FrameRects[] = {{-9, -12, 22, 17}}; +static const int kAnim150FrameIndices[] = {249, 250, 251}; +static const int16 kAnim150FrameTicks[] = {6, 6, 6}; +static const BBRect kAnim150FrameRects[] = {{-9, -12, 22, 17}, {-9, -15, 22, 17}, {-9, -18, 22, 17}}; +static const int kAnim151FrameIndices[] = {251}; +static const int16 kAnim151FrameTicks[] = {6}; +static const BBRect kAnim151FrameRects[] = {{-9, -18, 22, 17}}; +static const int kAnim152FrameIndices[] = {252}; +static const int16 kAnim152FrameTicks[] = {6}; +static const BBRect kAnim152FrameRects[] = {{-8, -5, 18, 9}}; +static const int kAnim153FrameIndices[] = {252, 253, 254}; +static const int16 kAnim153FrameTicks[] = {6, 6, 6}; +static const BBRect kAnim153FrameRects[] = {{-8, -5, 18, 9}, {-7, -9, 17, 9}, {-8, -11, 19, 9}}; +static const int kAnim154FrameIndices[] = {254}; +static const int16 kAnim154FrameTicks[] = {6}; +static const BBRect kAnim154FrameRects[] = {{-8, -11, 19, 9}}; +static const int kAnim155FrameIndices[] = {255}; +static const int16 kAnim155FrameTicks[] = {6}; +static const BBRect kAnim155FrameRects[] = {{-8, -9, 18, 13}}; +static const int kAnim156FrameIndices[] = {255, 256, 257}; +static const int16 kAnim156FrameTicks[] = {6, 6, 6}; +static const BBRect kAnim156FrameRects[] = {{-8, -9, 18, 13}, {-8, -12, 18, 13}, {-7, -15, 17, 13}}; +static const int kAnim157FrameIndices[] = {257}; +static const int16 kAnim157FrameTicks[] = {6}; +static const BBRect kAnim157FrameRects[] = {{-7, -15, 17, 13}}; +static const int kAnim158FrameIndices[] = {258, 259, 260, 261, 262, 263}; +static const int16 kAnim158FrameTicks[] = {6, 8, 8, 8, 6, 6}; +static const BBRect kAnim158FrameRects[] = {{0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}}; +static const int kAnim159FrameIndices[] = {264, 265, 266}; +static const int16 kAnim159FrameTicks[] = {1, 1, 1}; +static const BBRect kAnim159FrameRects[] = {{-9, -8, 18, 16}, {0, 0, 0, 0}, {0, 0, 0, 0}}; +static const int kAnim160FrameIndices[] = {267}; +static const int16 kAnim160FrameTicks[] = {6}; +static const BBRect kAnim160FrameRects[] = {{-25, -83, 43, 54}}; +static const int kAnim161FrameIndices[] = {268}; +static const int16 kAnim161FrameTicks[] = {6}; +static const BBRect kAnim161FrameRects[] = {{-33, -93, 41, 60}}; +static const int kAnim162FrameIndices[] = {269}; +static const int16 kAnim162FrameTicks[] = {1}; +static const BBRect kAnim162FrameRects[] = {{0, 0, 0, 0}}; +static const int kAnim163FrameIndices[] = {270}; +static const int16 kAnim163FrameTicks[] = {5}; +static const BBRect kAnim163FrameRects[] = {{0, 0, 0, 0}}; +static const int kAnim164FrameIndices[] = {271}; +static const int16 kAnim164FrameTicks[] = {1}; +static const BBRect kAnim164FrameRects[] = {{0, 0, 0, 0}}; +static const int kAnim165FrameIndices[] = {272}; +static const int16 kAnim165FrameTicks[] = {1}; +static const BBRect kAnim165FrameRects[] = {{0, 0, 0, 0}}; +static const int kAnim166FrameIndices[] = {273}; +static const int16 kAnim166FrameTicks[] = {2}; +static const BBRect kAnim166FrameRects[] = {{0, 0, 0, 0}}; +static const int kAnim167FrameIndices[] = {274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286}; +static const int16 kAnim167FrameTicks[] = {6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6}; +static const BBRect kAnim167FrameRects[] = {{0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}}; +static const int kAnim168FrameIndices[] = {287}; +static const int16 kAnim168FrameTicks[] = {1}; +static const BBRect kAnim168FrameRects[] = {{0, 0, 0, 0}}; +static const int kAnim169FrameIndices[] = {288}; +static const int16 kAnim169FrameTicks[] = {6}; +static const BBRect kAnim169FrameRects[] = {{0, 0, 0, 0}}; +static const int kAnim170FrameIndices[] = {289, 290, 291, 292, 293, 294}; +static const int16 kAnim170FrameTicks[] = {6, 6, 6, 6, 6, 6}; +static const BBRect kAnim170FrameRects[] = {{-22, -91, 45, 93}, {-21, -92, 43, 95}, {-21, -92, 43, 95}, {-21, -92, 43, 95}, {-21, -92, 43, 95}, {-21, -92, 43, 95}}; +static const int kAnim171FrameIndices[] = {295, 296, 297, 298, 299, 300}; +static const int16 kAnim171FrameTicks[] = {6, 6, 6, 6, 6, 6}; +static const BBRect kAnim171FrameRects[] = {{-21, -85, 38, 86}, {-21, -85, 38, 86}, {-21, -85, 38, 86}, {-21, -85, 38, 86}, {-21, -85, 38, 86}, {-21, -85, 38, 86}}; +static const int kAnim172FrameIndices[] = {301, 302}; +static const int16 kAnim172FrameTicks[] = {6, 6}; +static const BBRect kAnim172FrameRects[] = {{-9, -9, 17, 15}, {-11, -10, 19, 16}}; +static const ObjAnimation kAnimations[] = { + {3, kAnim0FrameIndices, kAnim0FrameTicks, kAnim0FrameRects}, + {3, kAnim1FrameIndices, kAnim1FrameTicks, kAnim1FrameRects}, + {3, kAnim2FrameIndices, kAnim2FrameTicks, kAnim2FrameRects}, + {3, kAnim3FrameIndices, kAnim3FrameTicks, kAnim3FrameRects}, + {3, kAnim4FrameIndices, kAnim4FrameTicks, kAnim4FrameRects}, + {3, kAnim5FrameIndices, kAnim5FrameTicks, kAnim5FrameRects}, + {3, kAnim6FrameIndices, kAnim6FrameTicks, kAnim6FrameRects}, + {3, kAnim7FrameIndices, kAnim7FrameTicks, kAnim7FrameRects}, + {1, kAnim8FrameIndices, kAnim8FrameTicks, kAnim8FrameRects}, + {1, kAnim9FrameIndices, kAnim9FrameTicks, kAnim9FrameRects}, + {1, kAnim10FrameIndices, kAnim10FrameTicks, kAnim10FrameRects}, + {1, kAnim11FrameIndices, kAnim11FrameTicks, kAnim11FrameRects}, + {1, kAnim12FrameIndices, kAnim12FrameTicks, kAnim12FrameRects}, + {1, kAnim13FrameIndices, kAnim13FrameTicks, kAnim13FrameRects}, + {1, kAnim14FrameIndices, kAnim14FrameTicks, kAnim14FrameRects}, + {1, kAnim15FrameIndices, kAnim15FrameTicks, kAnim15FrameRects}, + {3, kAnim16FrameIndices, kAnim16FrameTicks, kAnim16FrameRects}, + {3, kAnim17FrameIndices, kAnim17FrameTicks, kAnim17FrameRects}, + {3, kAnim18FrameIndices, kAnim18FrameTicks, kAnim18FrameRects}, + {3, kAnim19FrameIndices, kAnim19FrameTicks, kAnim19FrameRects}, + {3, kAnim20FrameIndices, kAnim20FrameTicks, kAnim20FrameRects}, + {3, kAnim21FrameIndices, kAnim21FrameTicks, kAnim21FrameRects}, + {3, kAnim22FrameIndices, kAnim22FrameTicks, kAnim22FrameRects}, + {3, kAnim23FrameIndices, kAnim23FrameTicks, kAnim23FrameRects}, + {14, kAnim24FrameIndices, kAnim24FrameTicks, kAnim24FrameRects}, + {14, kAnim25FrameIndices, kAnim25FrameTicks, kAnim25FrameRects}, + {3, kAnim26FrameIndices, kAnim26FrameTicks, kAnim26FrameRects}, + {3, kAnim27FrameIndices, kAnim27FrameTicks, kAnim27FrameRects}, + {3, kAnim28FrameIndices, kAnim28FrameTicks, kAnim28FrameRects}, + {3, kAnim29FrameIndices, kAnim29FrameTicks, kAnim29FrameRects}, + {3, kAnim30FrameIndices, kAnim30FrameTicks, kAnim30FrameRects}, + {3, kAnim31FrameIndices, kAnim31FrameTicks, kAnim31FrameRects}, + {3, kAnim32FrameIndices, kAnim32FrameTicks, kAnim32FrameRects}, + {3, kAnim33FrameIndices, kAnim33FrameTicks, kAnim33FrameRects}, + {1, kAnim34FrameIndices, kAnim34FrameTicks, kAnim34FrameRects}, + {1, kAnim35FrameIndices, kAnim35FrameTicks, kAnim35FrameRects}, + {1, kAnim36FrameIndices, kAnim36FrameTicks, kAnim36FrameRects}, + {1, kAnim37FrameIndices, kAnim37FrameTicks, kAnim37FrameRects}, + {1, kAnim38FrameIndices, kAnim38FrameTicks, kAnim38FrameRects}, + {1, kAnim39FrameIndices, kAnim39FrameTicks, kAnim39FrameRects}, + {1, kAnim40FrameIndices, kAnim40FrameTicks, kAnim40FrameRects}, + {1, kAnim41FrameIndices, kAnim41FrameTicks, kAnim41FrameRects}, + {3, kAnim42FrameIndices, kAnim42FrameTicks, kAnim42FrameRects}, + {3, kAnim43FrameIndices, kAnim43FrameTicks, kAnim43FrameRects}, + {3, kAnim44FrameIndices, kAnim44FrameTicks, kAnim44FrameRects}, + {3, kAnim45FrameIndices, kAnim45FrameTicks, kAnim45FrameRects}, + {3, kAnim46FrameIndices, kAnim46FrameTicks, kAnim46FrameRects}, + {3, kAnim47FrameIndices, kAnim47FrameTicks, kAnim47FrameRects}, + {3, kAnim48FrameIndices, kAnim48FrameTicks, kAnim48FrameRects}, + {3, kAnim49FrameIndices, kAnim49FrameTicks, kAnim49FrameRects}, + {14, kAnim50FrameIndices, kAnim50FrameTicks, kAnim50FrameRects}, + {14, kAnim51FrameIndices, kAnim51FrameTicks, kAnim51FrameRects}, + {3, kAnim52FrameIndices, kAnim52FrameTicks, kAnim52FrameRects}, + {3, kAnim53FrameIndices, kAnim53FrameTicks, kAnim53FrameRects}, + {3, kAnim54FrameIndices, kAnim54FrameTicks, kAnim54FrameRects}, + {3, kAnim55FrameIndices, kAnim55FrameTicks, kAnim55FrameRects}, + {3, kAnim56FrameIndices, kAnim56FrameTicks, kAnim56FrameRects}, + {3, kAnim57FrameIndices, kAnim57FrameTicks, kAnim57FrameRects}, + {3, kAnim58FrameIndices, kAnim58FrameTicks, kAnim58FrameRects}, + {3, kAnim59FrameIndices, kAnim59FrameTicks, kAnim59FrameRects}, + {1, kAnim60FrameIndices, kAnim60FrameTicks, kAnim60FrameRects}, + {1, kAnim61FrameIndices, kAnim61FrameTicks, kAnim61FrameRects}, + {1, kAnim62FrameIndices, kAnim62FrameTicks, kAnim62FrameRects}, + {1, kAnim63FrameIndices, kAnim63FrameTicks, kAnim63FrameRects}, + {1, kAnim64FrameIndices, kAnim64FrameTicks, kAnim64FrameRects}, + {1, kAnim65FrameIndices, kAnim65FrameTicks, kAnim65FrameRects}, + {1, kAnim66FrameIndices, kAnim66FrameTicks, kAnim66FrameRects}, + {1, kAnim67FrameIndices, kAnim67FrameTicks, kAnim67FrameRects}, + {3, kAnim68FrameIndices, kAnim68FrameTicks, kAnim68FrameRects}, + {3, kAnim69FrameIndices, kAnim69FrameTicks, kAnim69FrameRects}, + {3, kAnim70FrameIndices, kAnim70FrameTicks, kAnim70FrameRects}, + {3, kAnim71FrameIndices, kAnim71FrameTicks, kAnim71FrameRects}, + {3, kAnim72FrameIndices, kAnim72FrameTicks, kAnim72FrameRects}, + {3, kAnim73FrameIndices, kAnim73FrameTicks, kAnim73FrameRects}, + {3, kAnim74FrameIndices, kAnim74FrameTicks, kAnim74FrameRects}, + {3, kAnim75FrameIndices, kAnim75FrameTicks, kAnim75FrameRects}, + {14, kAnim76FrameIndices, kAnim76FrameTicks, kAnim76FrameRects}, + {14, kAnim77FrameIndices, kAnim77FrameTicks, kAnim77FrameRects}, + {3, kAnim78FrameIndices, kAnim78FrameTicks, kAnim78FrameRects}, + {3, kAnim79FrameIndices, kAnim79FrameTicks, kAnim79FrameRects}, + {3, kAnim80FrameIndices, kAnim80FrameTicks, kAnim80FrameRects}, + {3, kAnim81FrameIndices, kAnim81FrameTicks, kAnim81FrameRects}, + {3, kAnim82FrameIndices, kAnim82FrameTicks, kAnim82FrameRects}, + {3, kAnim83FrameIndices, kAnim83FrameTicks, kAnim83FrameRects}, + {3, kAnim84FrameIndices, kAnim84FrameTicks, kAnim84FrameRects}, + {3, kAnim85FrameIndices, kAnim85FrameTicks, kAnim85FrameRects}, + {1, kAnim86FrameIndices, kAnim86FrameTicks, kAnim86FrameRects}, + {1, kAnim87FrameIndices, kAnim87FrameTicks, kAnim87FrameRects}, + {1, kAnim88FrameIndices, kAnim88FrameTicks, kAnim88FrameRects}, + {1, kAnim89FrameIndices, kAnim89FrameTicks, kAnim89FrameRects}, + {1, kAnim90FrameIndices, kAnim90FrameTicks, kAnim90FrameRects}, + {1, kAnim91FrameIndices, kAnim91FrameTicks, kAnim91FrameRects}, + {1, kAnim92FrameIndices, kAnim92FrameTicks, kAnim92FrameRects}, + {1, kAnim93FrameIndices, kAnim93FrameTicks, kAnim93FrameRects}, + {3, kAnim94FrameIndices, kAnim94FrameTicks, kAnim94FrameRects}, + {3, kAnim95FrameIndices, kAnim95FrameTicks, kAnim95FrameRects}, + {3, kAnim96FrameIndices, kAnim96FrameTicks, kAnim96FrameRects}, + {3, kAnim97FrameIndices, kAnim97FrameTicks, kAnim97FrameRects}, + {3, kAnim98FrameIndices, kAnim98FrameTicks, kAnim98FrameRects}, + {3, kAnim99FrameIndices, kAnim99FrameTicks, kAnim99FrameRects}, + {3, kAnim100FrameIndices, kAnim100FrameTicks, kAnim100FrameRects}, + {3, kAnim101FrameIndices, kAnim101FrameTicks, kAnim101FrameRects}, + {14, kAnim102FrameIndices, kAnim102FrameTicks, kAnim102FrameRects}, + {14, kAnim103FrameIndices, kAnim103FrameTicks, kAnim103FrameRects}, + {3, kAnim104FrameIndices, kAnim104FrameTicks, kAnim104FrameRects}, + {3, kAnim105FrameIndices, kAnim105FrameTicks, kAnim105FrameRects}, + {3, kAnim106FrameIndices, kAnim106FrameTicks, kAnim106FrameRects}, + {3, kAnim107FrameIndices, kAnim107FrameTicks, kAnim107FrameRects}, + {3, kAnim108FrameIndices, kAnim108FrameTicks, kAnim108FrameRects}, + {3, kAnim109FrameIndices, kAnim109FrameTicks, kAnim109FrameRects}, + {3, kAnim110FrameIndices, kAnim110FrameTicks, kAnim110FrameRects}, + {3, kAnim111FrameIndices, kAnim111FrameTicks, kAnim111FrameRects}, + {1, kAnim112FrameIndices, kAnim112FrameTicks, kAnim112FrameRects}, + {1, kAnim113FrameIndices, kAnim113FrameTicks, kAnim113FrameRects}, + {1, kAnim114FrameIndices, kAnim114FrameTicks, kAnim114FrameRects}, + {1, kAnim115FrameIndices, kAnim115FrameTicks, kAnim115FrameRects}, + {1, kAnim116FrameIndices, kAnim116FrameTicks, kAnim116FrameRects}, + {1, kAnim117FrameIndices, kAnim117FrameTicks, kAnim117FrameRects}, + {1, kAnim118FrameIndices, kAnim118FrameTicks, kAnim118FrameRects}, + {1, kAnim119FrameIndices, kAnim119FrameTicks, kAnim119FrameRects}, + {3, kAnim120FrameIndices, kAnim120FrameTicks, kAnim120FrameRects}, + {3, kAnim121FrameIndices, kAnim121FrameTicks, kAnim121FrameRects}, + {3, kAnim122FrameIndices, kAnim122FrameTicks, kAnim122FrameRects}, + {3, kAnim123FrameIndices, kAnim123FrameTicks, kAnim123FrameRects}, + {3, kAnim124FrameIndices, kAnim124FrameTicks, kAnim124FrameRects}, + {3, kAnim125FrameIndices, kAnim125FrameTicks, kAnim125FrameRects}, + {3, kAnim126FrameIndices, kAnim126FrameTicks, kAnim126FrameRects}, + {3, kAnim127FrameIndices, kAnim127FrameTicks, kAnim127FrameRects}, + {14, kAnim128FrameIndices, kAnim128FrameTicks, kAnim128FrameRects}, + {14, kAnim129FrameIndices, kAnim129FrameTicks, kAnim129FrameRects}, + {1, kAnim130FrameIndices, kAnim130FrameTicks, kAnim130FrameRects}, + {1, kAnim131FrameIndices, kAnim131FrameTicks, kAnim131FrameRects}, + {3, kAnim132FrameIndices, kAnim132FrameTicks, kAnim132FrameRects}, + {1, kAnim133FrameIndices, kAnim133FrameTicks, kAnim133FrameRects}, + {1, kAnim134FrameIndices, kAnim134FrameTicks, kAnim134FrameRects}, + {3, kAnim135FrameIndices, kAnim135FrameTicks, kAnim135FrameRects}, + {1, kAnim136FrameIndices, kAnim136FrameTicks, kAnim136FrameRects}, + {1, kAnim137FrameIndices, kAnim137FrameTicks, kAnim137FrameRects}, + {3, kAnim138FrameIndices, kAnim138FrameTicks, kAnim138FrameRects}, + {1, kAnim139FrameIndices, kAnim139FrameTicks, kAnim139FrameRects}, + {1, kAnim140FrameIndices, kAnim140FrameTicks, kAnim140FrameRects}, + {3, kAnim141FrameIndices, kAnim141FrameTicks, kAnim141FrameRects}, + {1, kAnim142FrameIndices, kAnim142FrameTicks, kAnim142FrameRects}, + {1, kAnim143FrameIndices, kAnim143FrameTicks, kAnim143FrameRects}, + {3, kAnim144FrameIndices, kAnim144FrameTicks, kAnim144FrameRects}, + {1, kAnim145FrameIndices, kAnim145FrameTicks, kAnim145FrameRects}, + {1, kAnim146FrameIndices, kAnim146FrameTicks, kAnim146FrameRects}, + {3, kAnim147FrameIndices, kAnim147FrameTicks, kAnim147FrameRects}, + {1, kAnim148FrameIndices, kAnim148FrameTicks, kAnim148FrameRects}, + {1, kAnim149FrameIndices, kAnim149FrameTicks, kAnim149FrameRects}, + {3, kAnim150FrameIndices, kAnim150FrameTicks, kAnim150FrameRects}, + {1, kAnim151FrameIndices, kAnim151FrameTicks, kAnim151FrameRects}, + {1, kAnim152FrameIndices, kAnim152FrameTicks, kAnim152FrameRects}, + {3, kAnim153FrameIndices, kAnim153FrameTicks, kAnim153FrameRects}, + {1, kAnim154FrameIndices, kAnim154FrameTicks, kAnim154FrameRects}, + {1, kAnim155FrameIndices, kAnim155FrameTicks, kAnim155FrameRects}, + {3, kAnim156FrameIndices, kAnim156FrameTicks, kAnim156FrameRects}, + {1, kAnim157FrameIndices, kAnim157FrameTicks, kAnim157FrameRects}, + {6, kAnim158FrameIndices, kAnim158FrameTicks, kAnim158FrameRects}, + {3, kAnim159FrameIndices, kAnim159FrameTicks, kAnim159FrameRects}, + {1, kAnim160FrameIndices, kAnim160FrameTicks, kAnim160FrameRects}, + {1, kAnim161FrameIndices, kAnim161FrameTicks, kAnim161FrameRects}, + {1, kAnim162FrameIndices, kAnim162FrameTicks, kAnim162FrameRects}, + {1, kAnim163FrameIndices, kAnim163FrameTicks, kAnim163FrameRects}, + {1, kAnim164FrameIndices, kAnim164FrameTicks, kAnim164FrameRects}, + {1, kAnim165FrameIndices, kAnim165FrameTicks, kAnim165FrameRects}, + {1, kAnim166FrameIndices, kAnim166FrameTicks, kAnim166FrameRects}, + {13, kAnim167FrameIndices, kAnim167FrameTicks, kAnim167FrameRects}, + {1, kAnim168FrameIndices, kAnim168FrameTicks, kAnim168FrameRects}, + {1, kAnim169FrameIndices, kAnim169FrameTicks, kAnim169FrameRects}, + {6, kAnim170FrameIndices, kAnim170FrameTicks, kAnim170FrameRects}, + {6, kAnim171FrameIndices, kAnim171FrameTicks, kAnim171FrameRects}, + {2, kAnim172FrameIndices, kAnim172FrameTicks, kAnim172FrameRects} +}; + +static const MinigameBbAnt::ObjInit kObjInits[] = { + {&kAnimations[131], &kAnimations[132], &kAnimations[133], 160, 120}, + {&kAnimations[134], &kAnimations[135], &kAnimations[136], 155, 130}, + {&kAnimations[137], &kAnimations[138], &kAnimations[139], 150, 100}, + {&kAnimations[140], &kAnimations[141], &kAnimations[142], 195, 150}, + {&kAnimations[143], &kAnimations[144], &kAnimations[145], 120, 110}, + {&kAnimations[146], &kAnimations[147], &kAnimations[148], 170, 170}, + {&kAnimations[149], &kAnimations[150], &kAnimations[151], 175, 95}, + {&kAnimations[152], &kAnimations[153], &kAnimations[154], 145, 165}, + {&kAnimations[155], &kAnimations[156], &kAnimations[157], 110, 175} +}; +static const ObjAnimation *kAnimationsTbl[] = {&kAnimations[0], &kAnimations[1], &kAnimations[2], &kAnimations[3], &kAnimations[4], &kAnimations[5], &kAnimations[6], &kAnimations[7], &kAnimations[16], &kAnimations[17], &kAnimations[18], &kAnimations[19], &kAnimations[20], &kAnimations[21], &kAnimations[22], &kAnimations[23], &kAnimations[24], &kAnimations[25], &kAnimations[26], &kAnimations[27], &kAnimations[28], &kAnimations[29], &kAnimations[30], &kAnimations[31], &kAnimations[32], &kAnimations[33], &kAnimations[42], &kAnimations[43], &kAnimations[44], &kAnimations[45], &kAnimations[46], &kAnimations[47], &kAnimations[48], &kAnimations[49], &kAnimations[50], &kAnimations[51], &kAnimations[52], &kAnimations[53], &kAnimations[54], &kAnimations[55], &kAnimations[56], &kAnimations[57], &kAnimations[58], &kAnimations[59], &kAnimations[68], &kAnimations[69], &kAnimations[70], &kAnimations[71], &kAnimations[72], &kAnimations[73], &kAnimations[74], &kAnimations[75], &kAnimations[76], &kAnimations[77], &kAnimations[78], &kAnimations[79], &kAnimations[80], &kAnimations[81], &kAnimations[82], &kAnimations[83], &kAnimations[84], &kAnimations[85], &kAnimations[94], &kAnimations[95], &kAnimations[96], &kAnimations[97], &kAnimations[98], &kAnimations[99], &kAnimations[100], &kAnimations[101], &kAnimations[102], &kAnimations[103], &kAnimations[104], &kAnimations[105], &kAnimations[106], &kAnimations[107], &kAnimations[108], &kAnimations[109], &kAnimations[110], &kAnimations[111], &kAnimations[120], &kAnimations[121], &kAnimations[122], &kAnimations[123], &kAnimations[124], &kAnimations[125], &kAnimations[126], &kAnimations[127], &kAnimations[128], &kAnimations[129]}; + +static const ObjAnimation **kObjKindAnimTables[] = { + 0, &kAnimationsTbl[0], + &kAnimationsTbl[18], &kAnimationsTbl[36], + &kAnimationsTbl[54], &kAnimationsTbl[72] +}; + +const ObjAnimation *MinigameBbAnt::getAnimation(int animIndex) { + return &kAnimations[animIndex]; +} + +const MinigameBbAnt::ObjInit *MinigameBbAnt::getObjInit(int index) { + return &kObjInits[index]; +} + +const ObjAnimation **MinigameBbAnt::getObjKindAnimTable(int kind) { + return kObjKindAnimTables[kind]; +} + +const ObjAnimation *MinigameBbAnt::getObjAnim(int index) { + return kAnimationsTbl[index]; +} + +} // End of namespace Bbvs diff --git a/engines/bbvs/minigames/bbloogie.cpp b/engines/bbvs/minigames/bbloogie.cpp new file mode 100644 index 0000000000..4098eb2d94 --- /dev/null +++ b/engines/bbvs/minigames/bbloogie.cpp @@ -0,0 +1,1361 @@ +/* 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 "bbvs/minigames/bbloogie.h" + +namespace Bbvs { + +static const int kLoogieOffY[16] = { + 0, 1, 1, 2, 2, 3, 3, 4, + 4, 5, 5, 6, 6, 7, 7, 0 +}; + +static const int kSquirrelOffX[] = { + -43, -43, -38, -33, -33, -27, -23, -23, + -23, -23, -23, -23, -18, -14, -8, -4, + 2, 8, 12, 18, 20, 20, 26, 31, + 37, 37, 37, 37, 37, 37, 37, 32, + 29, 26, 21, 14, 10, 6, 6, 6, + 6, 6, 6, 6, 0, -6, -15, -20, + -27, -37, -41, -41, -41, -41 +}; + +static const int kPlaneOffX[] = { + 0, -1, -1, -1, 0, 1, 1, 1 +}; + +static const int kPlaneOffY[] = { + -1, -1, 0, 1, 1, 1, 0, -1 +}; + +static const int kLevelScores[] = { + 20, 50, 90, 140, 200, 270, 350, 440, 540, 10000 +}; + +static const int kLevelTimes[] = { + 120, 110, 100, 90, 80, 70, 60, 50, 40, 30 +}; + +static const uint kBeavisSounds1[] = { + 14, 15, 19, 20, 22, 23, 24, 26 +}; + +static const uint kButtheadSounds1[] = { + 16, 14, 15, 22, 23 +}; + +static const uint kBeavisSounds2[] = { + 9, 3, 4, 5, 7, 14, 15, 19, 20, 22, 23, 24, 26 +}; + +static const uint kButtheadSounds2[] = { + 9, 3, 4, 5, 7, 16, 14, 15, 22, 23 +}; + +static const uint kPrincipalSounds[] = { + 3, 4, 5, 7 +}; + +static const char *kSoundFilenames[] = { + "loog1.aif", "loog2.aif", "loog3.aif", "loog4.aif", "loog5.aif", + "loog6.aif", "loog7.aif", "loog8.aif", "loog9.aif", "loog10.aif", + "loog11.aif", "loog12.aif", "loog13.aif", "loog14.aif", "loog15.aif", + "loog16.aif", "loog17.aif", "loog18.aif", "loog19.aif", "loog20.aif", + "loog21.aif", "loog22.aif", "loog23.aif", "loog24.aif", "loog25.aif", + "loog26.aif", "loog27.aif", "meghoker.aif", "spit1.aif", "megaloog.aif", + "megaspit.aif", "gamemuse.aif", "bing.aif", "carhit.aif", "bikehit.aif", + "squirhit.aif", "planehit.aif", "bing2.aif" +}; + +static const uint kSoundFilenamesCount = ARRAYSIZE(kSoundFilenames); + +void MinigameBbloogie::buildDrawList(DrawList &drawList) { + switch (_gameState) { + case kGSTitleScreen: + buildDrawList0(drawList); + break; + case kGSMainGame: + buildDrawList1(drawList); + break; + case kGSStandaloneGame: + buildDrawList2(drawList); + break; + case kGSScoreCountUp: + buildDrawList3(drawList); + break; + } +} + +void MinigameBbloogie::buildDrawList0(DrawList &drawList) { + drawList.add(_objects[0].anim->frameIndices[_objects[0].frameIndex], _objects[0].x, _objects[0].y, 2000); + for (int i = 1; i < kMaxObjectsCount; ++i) { + Obj *obj = &_objects[i]; + if (obj->kind != 0) + drawList.add(obj->anim->frameIndices[obj->frameIndex], obj->x, obj->y, obj->y + 16); + } + if (_titleScreenSpriteIndex) + drawList.add(_titleScreenSpriteIndex, 0, 0, 0); +} + +void MinigameBbloogie::buildDrawList1(DrawList &drawList) { + + for (int i = 0; i < kMaxObjectsCount; ++i) { + Obj *obj = &_objects[i]; + switch (obj->kind) { + case 0: + // Empty object + break; + case 2: + drawList.add(obj->anim->frameIndices[obj->frameIndex], obj->x, obj->y, 400); + break; + case 3: + drawList.add(obj->anim->frameIndices[obj->frameIndex + obj->frameIndexAdd], obj->x, obj->y, 1000); + break; + case 7: + drawList.add(obj->anim->frameIndices[obj->frameIndex], obj->x, obj->y, 390); + break; + case 8: + drawList.add(obj->anim->frameIndices[obj->frameIndex], obj->x, obj->y, 1000); + break; + default: + drawList.add(obj->anim->frameIndices[obj->frameIndex], obj->x, obj->y, obj->y + 16); + break; + } + } + + if (_backgroundSpriteIndex) + drawList.add(_backgroundSpriteIndex, 0, 0, 0); + + if (_fromMainGame) { + drawList.add(getAnimation(8)->frameIndices[0], 8, 2, 2000); + drawNumber(drawList, _numberOfHits, 56, 16); + } else { + drawList.add(getAnimation(10)->frameIndices[0], 230, 2, 2000); + drawNumber(drawList, _levelTimeLeft, 280, 16); + drawList.add(getAnimation(15)->frameIndices[0], 5, 2, 2000); + int numberX2 = drawNumber(drawList, _currScore, 68, 16); + drawList.add(getAnimation(9)->frameIndices[10], numberX2, 16, 2000); + drawNumber(drawList, _dispLevelScore, numberX2 + 10, 16); + } + + for (int i = 0; i < _megaLoogieCount; ++i) + drawList.add(getAnimation(19)->frameIndices[0], 20 + i * 25, 236, 2000); + +} + +void MinigameBbloogie::buildDrawList2(DrawList &drawList) { + + buildDrawList1(drawList); + + if (_level > 0 && (_bonusDisplayDelay1 > 0 || _bonusDisplayDelay2 > 0)) { + drawList.add(getAnimation(12)->frameIndices[0], 100, 80, 2000); + drawNumber(drawList, _timeBonusCtr, 212, 94); + } + + if (_bonusDisplayDelay3 > 0) { + drawList.add(getAnimation(14)->frameIndices[0], 65, 80, 2000); + int numberX2 = drawNumber(drawList, _nextLevelScore, 170, 92); + drawList.add(getAnimation(11)->frameIndices[0], numberX2, 80, 2000); + } + +} + +void MinigameBbloogie::buildDrawList3(DrawList &drawList) { + + for (int i = 0; i < kMaxObjectsCount; ++i) { + Obj *obj = &_objects[i]; + if (obj->kind == 2) + drawList.add(obj->anim->frameIndices[obj->frameIndex], obj->x, obj->y, 400); + else + drawList.add(obj->anim->frameIndices[obj->frameIndex], obj->x, obj->y, obj->y + 16); + } + + if (_backgroundSpriteIndex) + drawList.add(_backgroundSpriteIndex, 0, 0, 0); + + drawList.add(getAnimation(10)->frameIndices[0], 230, 2, 2000); + + drawNumber(drawList, _levelTimeLeft, 280, 16); + + drawList.add(getAnimation(15)->frameIndices[0], 5, 2, 2000); + + int numberX2 = drawNumber(drawList, _currScore, 68, 16); + drawList.add(getAnimation(9)->frameIndices[10], numberX2, 16, 2000); + drawNumber(drawList, _dispLevelScore, numberX2 + 10, 16); + + drawList.add(getAnimation(20)->frameIndices[0], 120, 70, 2000); + drawList.add(getAnimation(13)->frameIndices[0], 95, 95, 2000); + + drawNumber(drawList, _hiScore, 210, 109); + +} + +void MinigameBbloogie::drawSprites() { + DrawList drawList; + buildDrawList(drawList); + _vm->_screen->drawDrawList(drawList, _spriteModule); + _vm->_screen->copyToScreen(); +} + +void MinigameBbloogie::initObjs() { + for (int i = 0; i < kMaxObjectsCount; ++i) + _objects[i].kind = 0; +} + +MinigameBbloogie::Obj *MinigameBbloogie::getFreeObject() { + for (int i = 0; i < kMaxObjectsCount; ++i) + if (_objects[i].kind == 0) + return &_objects[i]; + return 0; +} + +MinigameBbloogie::Obj *MinigameBbloogie::findLoogieObj(int startObjIndex) { + for (int i = startObjIndex; i < kMaxObjectsCount; ++i) + if (_objects[i].kind == 3) + return &_objects[i]; + return 0; +} + +bool MinigameBbloogie::isHit(Obj *obj1, Obj *obj2) { + const BBRect &frameRect1 = obj1->anim->frameRects[obj1->frameIndex]; + const BBRect &frameRect2 = obj2->anim->frameRects[obj2->frameIndex]; + const int obj1X1 = obj1->x + frameRect1.x; + const int obj1Y1 = obj1->y + frameRect1.y; + const int obj1X2 = obj1X1 + frameRect1.width; + const int obj1Y2 = obj1Y1 + frameRect1.height; + const int obj2X1 = obj2->x + frameRect2.x; + const int obj2Y1 = obj2->y + frameRect2.y; + const int obj2X2 = obj2X1 + frameRect2.width; + const int obj2Y2 = obj2Y1 + frameRect2.height; + return obj1X1 <= obj2X2 && obj1X2 >= obj2X1 && obj1Y1 <= obj2Y2 && obj1Y2 >= obj2Y1; +} + +bool MinigameBbloogie::isCursorAtObj(int objIndex) { + return isHit(&_objects[0], &_objects[objIndex]); +} + +void MinigameBbloogie::initObjects() { + switch (_gameState) { + case kGSTitleScreen: + initObjects0(); + break; + case kGSMainGame: + initObjects1(); + break; + case kGSStandaloneGame: + // Nothing + break; + case kGSScoreCountUp: + initObjects3(); + break; + } +} + +void MinigameBbloogie::initObjects0() { + initObjs(); + _objects[0].anim = getAnimation(25); + _objects[0].frameIndex = 0; + _objects[0].ticks = getAnimation(25)->frameTicks[0]; + _objects[0].x = 160; + _objects[0].y = 120; + _objects[0].kind = 1; + _objects[1].anim = getAnimation(21); + _objects[1].frameIndex = 0; + _objects[1].ticks = getAnimation(21)->frameTicks[0]; + _objects[1].x = 40; + _objects[1].y = 240; + _objects[1].kind = 1; + _objects[2].anim = getAnimation(23); + _objects[2].frameIndex = 0; + _objects[2].ticks = getAnimation(23)->frameTicks[0]; + _objects[2].x = 280; + _objects[2].y = 240; + _objects[2].kind = 1; + _objects[3].anim = getAnimation(22); + _objects[3].frameIndex = 0; + _objects[3].ticks = getAnimation(22)->frameTicks[0]; + _objects[3].x = 40; + _objects[3].y = 240; + _objects[3].kind = 0; + _objects[4].anim = getAnimation(24); + _objects[4].frameIndex = 0; + _objects[4].ticks = getAnimation(24)->frameTicks[0]; + _objects[4].x = 280; + _objects[4].y = 240; + _objects[4].kind = 0; +} + +void MinigameBbloogie::initObjects1() { + initObjs(); + _objects[0].anim = _playerAnim; + _objects[0].frameIndex = 0; + _objects[0].ticks = _playerAnim->frameTicks[0]; + _objects[0].status = 0; + _objects[0].x = 160; + _objects[0].y = 240; + _objects[0].kind = 1; + _objects[1].anim = getAnimation(4); + _objects[1].frameIndex = 0; + _objects[1].ticks = getAnimation(4)->frameTicks[0]; + _objects[1].x = 248; + _objects[1].y = 24; + _objects[1].kind = 2; +} + +void MinigameBbloogie::initObjects3() { + initObjs(); + _objects[0].anim = _playerAnim; + _objects[0].frameIndex = 0; + _objects[0].ticks = _playerAnim->frameTicks[0]; + _objects[0].status = 0; + _objects[0].kind = 1; + _objects[1].anim = getAnimation(4); + _objects[1].frameIndex = 0; + _objects[1].ticks = getAnimation(4)->frameTicks[0]; + _objects[1].x = 248; + _objects[1].y = 24; + _objects[1].kind = 2; +} + +void MinigameBbloogie::initVars() { + switch (_gameState) { + case kGSTitleScreen: + initVars0(); + break; + case kGSMainGame: + initVars1(); + break; + case kGSStandaloneGame: + initVars2(); + break; + case kGSScoreCountUp: + initVars3(); + break; + } +} + +void MinigameBbloogie::initVars0() { + _carDelay = 120; + _bikeDelay = 250; + _squirrelDelay = 40; + _paperPlaneDelay = 400; // Uninitialized in the original + _principalDelay = 1750; + _levelTimeDelay = 58; + _principalAngry = false; + _squirrelDirection = false; + _numberOfHits = 0; + _megaLoogieCount = 0; + _level = 0; + _levelTimeLeft = 0; + _currScore = 0; + _dispLevelScore = 0; +} + +void MinigameBbloogie::initVars1() { + _carDelay = 120; + _bikeDelay = 250; + _squirrelDelay = 40; + _paperPlaneDelay = 400; // Uninitialized in the original + _principalDelay = 1750; + _squirrelDirection = false; + _numberOfHits = 0; + _megaLoogieCount = 0; +} + +void MinigameBbloogie::initVars2() { + _timeBonusCtr = _levelTimeLeft; + _levelTimeDelay = 58; + _bonusDisplayDelay1 = 60; + _levelTimeLeft = kLevelTimes[_level]; + _nextLevelScore = kLevelScores[_level] + _currScore; + _bonusDisplayDelay2 = 0; + _bonusDisplayDelay3 = 0; +} + +void MinigameBbloogie::initVars3() { + if (_currScore > _hiScore) + _hiScore = _currScore; + if (_playerKind) { + playSound(11); + } else { + playSound(21); + } +} + +bool MinigameBbloogie::updateStatus(int mouseX, int mouseY, uint mouseButtons) { + switch (_gameState) { + case kGSTitleScreen: + return updateStatus0(mouseX, mouseY, mouseButtons); + case kGSMainGame: + return updateStatus1(mouseX, mouseY, mouseButtons); + case kGSStandaloneGame: + return updateStatus2(mouseX, mouseY, mouseButtons); + case kGSScoreCountUp: + return updateStatus3(mouseX, mouseY, mouseButtons); + } + return false; +} + +bool MinigameBbloogie::updateStatus0(int mouseX, int mouseY, uint mouseButtons) { + + _objects[0].x = mouseX; + _objects[0].y = mouseY; + + if (_objects[1].kind != 0 && isCursorAtObj(1)) { + _objects[0].frameIndex = 1; + _objects[1].kind = 0; + _objects[3].kind = 11; + _objects[3].frameIndex = 0; + _objects[3].ticks = _objects[3].anim->frameTicks[0]; + } else if (!isCursorAtObj(3)) { + if (_objects[4].kind == 0) + _objects[0].frameIndex = 0; + _objects[3].kind = 0; + _objects[1].kind = 1; + } + + if (_objects[2].kind && isCursorAtObj(2)) { + _objects[0].frameIndex = 1; + _objects[2].kind = 0; + _objects[4].kind = 11; + _objects[4].frameIndex = 0; + _objects[4].ticks = _objects[4].anim->frameTicks[0]; + } else if (!isCursorAtObj(4)) { + if (_objects[3].kind == 0) + _objects[0].frameIndex = 0; + _objects[4].kind = 0; + _objects[2].kind = 1; + } + + for (int i = 0; i < kMaxObjectsCount; ++i) { + Obj *obj = &_objects[i]; + if (obj->kind == 11) { + if (--obj->ticks == 0) { + ++obj->frameIndex; + if (obj->frameIndex >= obj->anim->frameCount) + obj->frameIndex = 0; + obj->ticks = obj->anim->frameTicks[obj->frameIndex]; + } + } + } + + if ((mouseButtons & kLeftButtonDown) && + (_objects[3].kind != 0 || _objects[4].kind != 0)) { + if (_objects[4].kind != 0) { + // Beavis + _playerKind = 0; + _playerAnim = getAnimation(0); + _playerSounds1 = kBeavisSounds1; + _playerSounds1Count = 8; + _playerSounds2 = kBeavisSounds2; + _playerSounds2Count = 13; + playSound(15); + while (isSoundPlaying(15)) { } + } else { + // Butt-head + _playerKind = 1; + _playerAnim = getAnimation(1); + _playerSounds1 = kButtheadSounds1; + _playerSounds1Count = 5; + _playerSounds2 = kButtheadSounds2; + _playerSounds2Count = 10; + playSound(23); + while (isSoundPlaying(23)) { } + } + _gameState = kGSMainGame; + if (!_fromMainGame) + _gameState = kGSStandaloneGame; + initObjects1(); + initObjects(); + initVars(); + _gameTicks = 0; + } + + return true; +} + +bool MinigameBbloogie::updateStatus1(int mouseX, int mouseY, uint mouseButtons) { + + if (--_levelTimeDelay == 0) { + _levelTimeDelay = 58; + --_levelTimeLeft; + } + + if (!_fromMainGame && _levelTimeLeft == 0) { + _gameState = kGSScoreCountUp; + initObjects(); + initVars(); + } else if (_fromMainGame || _currScore < _nextLevelScore) { + _objects->x = CLIP(mouseX, 0, 319); + _objects->y = 240; + if (!_principalAngry && + ((mouseButtons & kLeftButtonDown) || ((mouseButtons & kRightButtonDown) && _megaLoogieCount)) && + _objects[0].status == 0 && mouseX != 32512 && mouseY != 32512) { + _objects[0].ticks = _playerAnim->frameTicks[13]; + _objects[0].frameIndex = 14; + _objects[0].status = 1; + _objects[0].unk2 = 0; + Obj *newObj = getFreeObject(); + newObj->anim = getAnimation(17); + newObj->frameIndex = 0; + newObj->ticks = 1; + newObj->x = 0; + newObj->y = 140; + newObj->kind = 8; + if (mouseButtons & kLeftButtonDown) { + _doubleScore = 0; + playSound(28); + } else { + _doubleScore = 17; + playSound(30); + } + } + updateObjs(mouseButtons); + } else { + _gameState = kGSStandaloneGame; + ++_level; + initObjects(); + initVars(); + } + return true; +} + +bool MinigameBbloogie::updateStatus2(int mouseX, int mouseY, uint mouseButtons) { + + _objects[0].x = mouseX; + + if (_bonusDisplayDelay1 > 0) { + if (--_bonusDisplayDelay1 == 0) { + _bonusDisplayDelay2 = 60; + if (_timeBonusCtr) + playSound(33, true); + } + } else if (_bonusDisplayDelay2 > 0) { + if (--_bonusDisplayDelay2 == 0) { + _bonusDisplayDelay3 = 150; + playSound(38); + } else if (_timeBonusCtr > 0) { + ++_bonusDisplayDelay2; + ++_levelTimeLeft; + if (--_timeBonusCtr == 0) + stopSound(33); + } + } else if (_bonusDisplayDelay3 > 0) { + if ((mouseButtons & kAnyButtonDown) || (--_bonusDisplayDelay3 == 0)) { + _dispLevelScore = _nextLevelScore; + _gameState = kGSMainGame; + _gameTicks = 0; + } + } + return true; +} + +bool MinigameBbloogie::updateStatus3(int mouseX, int mouseY, uint mouseButtons) { + + _objects[0].x = mouseX; + + for (int i = 0; i < kMaxObjectsCount; ++i) { + Obj *obj = &_objects[i]; + if (obj->kind == 2) { + if (--obj->ticks == 0) { + ++obj->frameIndex; + if (obj->frameIndex >= obj->anim->frameCount) + obj->frameIndex = 0; + obj->ticks = obj->anim->frameTicks[obj->frameIndex]; + } + } + } + + return true; +} + +void MinigameBbloogie::updateObjs(uint mouseButtons) { + + for (int i = 0; i < kMaxObjectsCount; ++i) { + Obj *obj = &_objects[i]; + switch (obj->kind) { + case 1: + updatePlayer(i, mouseButtons); + break; + case 2: + updateObjKind2(i); + break; + case 3: + updateLoogie(i); + break; + case 4: + updateCar(i); + break; + case 5: + updateBike(i); + break; + case 6: + updateSquirrel(i); + break; + case 7: + updatePaperPlane(i); + break; + case 8: + updateIndicator(i); + break; + case 9: + updatePrincipal(i); + break; + } + } + + if (--_carDelay == 0) { + // Car + Obj *obj = getFreeObject(); + obj->anim = getAnimation(2); + obj->kind = 4; + obj->frameIndex = 0; + obj->x = 379; + obj->y = 22; + obj->xIncr = -2; + obj->yIncr = 0; + _carDelay = _vm->getRandom(256) + 800; + } + + if (--_bikeDelay == 0) { + // Bike + Obj *obj = getFreeObject(); + obj->kind = 5; + obj->anim = getAnimation(3); + obj->frameIndex = 0; + obj->x = 360; + obj->y = _vm->getRandom(32) + 82; + obj->xIncr = -1; + obj->yIncr = 0; + _bikeDelay = _vm->getRandom(512) + 500; + } + + if (--_squirrelDelay == 0) { + // Squirrel + Obj *obj = getFreeObject(); + obj->kind = 6; + obj->anim = getAnimation(7); + obj->frameIndex = !_squirrelDirection ? 0 : 29; + obj->x = 160; + obj->y = 36; + obj->xIncr = 0; + obj->yIncr = 0; + _squirrelDirection = !_squirrelDirection; + if (_vm->getRandom(5) == 1 && !isAnySoundPlaying(_playerSounds2, _playerSounds2Count)) + playSound(9); + _squirrelDelay = _vm->getRandom(512) + 300; + } + + if (--_paperPlaneDelay == 0) { + // Paper plane + Obj *obj = getFreeObject(); + obj->kind = 7; + obj->anim = getAnimation(16); + obj->frameIndex = 0; + obj->x = 86; + obj->y = 187; + obj->xIncr = 0; + obj->yIncr = -1; + switch (_vm->getRandom(3)) { + case 1: + obj->frameIndex = 1; + obj->xIncr = -1; + break; + case 2: + obj->frameIndex = 7; + obj->xIncr = 1; + break; + } + _paperPlaneDelay = 400; + } + + if (_principalDelay >= 0 && --_principalDelay == 0) { + // Principal + Obj *obj = getFreeObject(); + obj->kind = 9; + obj->anim = getAnimation(18); + obj->frameIndex = 11; + obj->x = -20; + obj->y = 130; + obj->xIncr = 1; + obj->yIncr = 0; + obj->status = 0; + obj->frameIndexAdd = 0; + obj->unk2 = _vm->getRandom(256) + 100; + _principalCtr = 0; + _principalFirstFrameIndex = 11; + _principalLastFrameIndex = 16; + } + +} + +void MinigameBbloogie::updatePlayer(int objIndex, uint mouseButtons) { + + Obj *obj = &_objects[0]; + + switch (obj->status) { + + case 1: + if (obj->ticks-- == 0) { + if (obj->frameIndex != 15) { + ++obj->frameIndex; + obj->ticks = _playerAnim->frameTicks[obj->frameIndex]; + } + } + if ((((mouseButtons & kLeftButtonDown) && _doubleScore == 0) || + ((mouseButtons & kRightButtonDown) && _doubleScore == 17)) + && obj->unk2 != 61) { + ++obj->unk2; + } else { + obj->status = 2; + obj->frameIndex = 16; + obj->ticks = _playerAnim->frameTicks[16]; + if (obj->unk2 >= 30) { + obj->status = 3; + obj->frameIndex = 21; + obj->ticks = _playerAnim->frameTicks[21]; + } + if (obj->unk2 < 30) { + Obj *newObj = getFreeObject(); + newObj->kind = 3; + newObj->anim = getAnimation(5); + newObj->frameIndex = 0; + newObj->ticks = getAnimation(5)->frameTicks[0]; + newObj->x = obj->x; + newObj->y = 172; + newObj->unk2 = obj->unk2; + newObj->frameIndexAdd = _doubleScore; + if (_doubleScore) + --_megaLoogieCount; + } + if (_doubleScore) { + stopSound(30); + playSound(31); + } else { + stopSound(28); + playSound(29); + } + } + break; + + case 2: + if (obj->ticks-- == 0) { + if (obj->frameIndex == 17) { + obj->frameIndex = 0; + obj->status = 0; + } else { + ++obj->frameIndex; + obj->ticks = _playerAnim->frameTicks[obj->frameIndex]; + } + } + break; + + case 3: + if (obj->ticks-- == 0) { + if (obj->frameIndex == 23) { + obj->frameIndex = 0; + obj->status = 0; + } else { + ++obj->frameIndex; + obj->ticks = _playerAnim->frameTicks[obj->frameIndex]; + if (obj->frameIndex == 22) { + Obj *newObj = getFreeObject(); + newObj->kind = 3; + newObj->anim = getAnimation(5); + newObj->frameIndex = 0; + newObj->ticks = getAnimation(5)->frameTicks[0]; + newObj->x = obj->x; + newObj->y = 154; + newObj->unk2 = obj->unk2; + newObj->frameIndexAdd = _doubleScore; + if (_doubleScore) + --_megaLoogieCount; + } + } + } + break; + + } + +} + +void MinigameBbloogie::updateObjKind2(int objIndex) { + + Obj *obj = &_objects[objIndex]; + + if (obj->ticks-- == 0) { + obj->ticks = getAnimation(4)->frameTicks[0]; + if (obj->frameIndex > 7) + obj->frameIndex = 1; + if (obj->frameIndex++ >= 7) + obj->frameIndex = 0; + } + +} + +void MinigameBbloogie::updateLoogie(int objIndex) { + Obj *obj = &_objects[objIndex]; + + if (obj->unk2 > 0) { + obj->y -= kLoogieOffY[obj->unk2 / 8]; + --obj->unk2; + } + + if (obj->ticks-- == 0) { + obj->ticks = getAnimation(5)->frameTicks[0]; + ++obj->frameIndex; + if (obj->frameIndex >= 17) { + obj->kind = 0; + obj->anim = getAnimation(6); + obj->frameIndex = 0; + } + } + +} + +void MinigameBbloogie::updateCar(int objIndex) { + Obj *obj = &_objects[objIndex]; + + obj->x += obj->xIncr; + + if (obj->ticks-- == 0) { + if (obj->frameIndex++ == 3 || obj->frameIndex == 6) + obj->frameIndex = 0; + obj->ticks = getAnimation(2)->frameTicks[obj->frameIndex]; + } + + if (obj->x <= -60) { + obj->kind = 0; + obj->anim = getAnimation(6); + obj->frameIndex = 0; + } else if (!_principalAngry && obj->frameIndex <= 3) { + int loogieObjIndex = 0; + Obj *loogieObj = findLoogieObj(loogieObjIndex++); + while (loogieObj) { + if (loogieObj->frameIndex >= 8 && loogieObj->frameIndex <= 10 && isHit(obj, loogieObj)) { + incNumberOfHits(); + incScore(7); + loogieObj->frameIndex = 13; + loogieObj->ticks = getAnimation(5)->frameTicks[12]; + obj->frameIndex = 4; + obj->ticks = getAnimation(2)->frameTicks[4]; + playSound(34); + playRndSound(); + } + loogieObj = findLoogieObj(loogieObjIndex++); + } + } + +} + +void MinigameBbloogie::updateBike(int objIndex) { + Obj *obj = &_objects[objIndex]; + + obj->x += obj->xIncr; + + if (obj->ticks-- == 0) { + if (obj->frameIndex++ == 3 || obj->frameIndex == 7) + obj->frameIndex = 0; + obj->ticks = getAnimation(3)->frameTicks[obj->frameIndex]; + } + + if (obj->x == -40) { + obj->kind = 0; + obj->anim = getAnimation(6); + obj->frameIndex = 0; + } else if (!_principalAngry && obj->frameIndex <= 3) { + int loogieObjIndex = 0; + Obj *loogieObj = findLoogieObj(loogieObjIndex++); + while (loogieObj) { + if (loogieObj->frameIndex >= 7 && loogieObj->frameIndex <= 11 && isHit(obj, loogieObj)) { + incNumberOfHits(); + incScore(2); + loogieObj->frameIndex = 13; + loogieObj->ticks = getAnimation(5)->frameTicks[12]; + obj->frameIndex = 4; + obj->ticks = getAnimation(3)->frameTicks[4]; + playSound(35); + playRndSound(); + } + loogieObj = findLoogieObj(loogieObjIndex++); + } + } + +} + +void MinigameBbloogie::updateSquirrel(int objIndex) { + Obj *obj = &_objects[objIndex]; + + if (obj->ticks-- == 0) { + ++obj->frameIndex; + if (obj->frameIndex == 29 || obj->frameIndex == 54 || + obj->frameIndex == 58 || obj->frameIndex == 62) { + obj->kind = 0; + obj->anim = getAnimation(6); + obj->frameIndex = 0; + } + obj->ticks = getAnimation(7)->frameTicks[obj->frameIndex]; + } + + if (!_principalAngry && obj->frameIndex <= 53) { + int loogieObjIndex = 0; + Obj *loogieObj = findLoogieObj(loogieObjIndex++); + while (loogieObj) { + if (loogieObj->frameIndex >= 7 && loogieObj->frameIndex <= 9 && isHit(obj, loogieObj)) { + incNumberOfHits(); + incScore(10); + loogieObj->frameIndex = 13; + loogieObj->ticks = getAnimation(5)->frameTicks[12]; + obj->x += kSquirrelOffX[obj->frameIndex]; + obj->frameIndex = obj->frameIndex < 29 ? 54 : 58; + obj->ticks = getAnimation(7)->frameTicks[obj->frameIndex]; + playSound(36); + playRndSound(); + } + loogieObj = findLoogieObj(loogieObjIndex++); + } + } + +} + +void MinigameBbloogie::updatePaperPlane(int objIndex) { + Obj *obj = &_objects[objIndex]; + + obj->x += obj->xIncr; + obj->y += obj->yIncr; + + if (obj->x == -16 || obj->x == 336 || obj->y == -16) { + obj->kind = 0; + obj->anim = getAnimation(6); + obj->frameIndex = 0; + } + + if (!_principalAngry && obj->frameIndex <= 53) { + int loogieObjIndex = 0; + Obj *loogieObj = findLoogieObj(loogieObjIndex++); + while (loogieObj) { + if (loogieObj->frameIndex >= 4 && loogieObj->frameIndex <= 7 && isHit(obj, loogieObj)) { + incNumberOfHits(); + incScore(5); + loogieObj->frameIndex = 13; + loogieObj->ticks = getAnimation(5)->frameTicks[12]; + obj->frameIndex = (obj->frameIndex + 1) % 8; + obj->xIncr = kPlaneOffX[obj->frameIndex]; + obj->yIncr = kPlaneOffY[obj->frameIndex]; + playSound(37); + playRndSound(); + } + loogieObj = findLoogieObj(loogieObjIndex++); + } + } + +} + +void MinigameBbloogie::updateIndicator(int objIndex) { + Obj *obj = &_objects[objIndex]; + Obj *loogieObj = &_objects[0]; + + if (obj->ticks-- == 0) { + obj->frameIndex = (obj->frameIndex + 1) % 2; + obj->ticks = getAnimation(17)->frameTicks[0]; + } + + if (loogieObj->status != 0) { + int unk2mod = loogieObj->unk2 / 8; + int unk2div = loogieObj->unk2 / 8 * 8; + int v6 = 0; + if (unk2div >= 8) { + int v7 = 1; + if (unk2div != 8) { + do { + v6 += 8 * kLoogieOffY[v7++]; + } while (v7 != unk2mod); + } + } + int yOfs = (loogieObj->unk2 % 8 + 1) * kLoogieOffY[loogieObj->unk2 / 8] + v6; + if (loogieObj->unk2 >= 30) + yOfs += 18; + obj->y = 140 - yOfs; + } else { + obj->kind = 0; + obj->anim = getAnimation(6); + } + +} + +void MinigameBbloogie::updatePrincipal(int objIndex) { + Obj *obj = &_objects[objIndex]; + + switch (obj->status) { + + case 0: + if (obj->unk2--) { + if (obj->ticks-- == 0) { + ++obj->frameIndex; + if (obj->frameIndex == _principalLastFrameIndex) + obj->frameIndex = _principalFirstFrameIndex; + obj->ticks = getAnimation(18)->frameTicks[obj->frameIndex]; + } + ++_principalCtr; + if (_principalCtr % 2 != 0) { + obj->x += obj->xIncr; + obj->y += obj->yIncr; + if (obj->xIncr > 0 && obj->x == 340) { + obj->xIncr = -1; + _principalLastFrameIndex = 34; + _principalFirstFrameIndex = 29; + obj->frameIndex = 29; + obj->status = 2; + obj->ticks = _vm->getRandom(256) + 60; + } + if (obj->xIncr < 0 && obj->x == -20) { + obj->xIncr = 1; + _principalLastFrameIndex = 16; + _principalFirstFrameIndex = 11; + obj->frameIndex = 11; + obj->status = 2; + obj->ticks = _vm->getRandom(256) + 60; + } + } + } else { + obj->unk2 = _vm->getRandom(64) + 20; + ++obj->status; + if (_vm->getRandom(2) == 1) { + obj->frameIndex = _principalFirstFrameIndex < 11 ? 17 : 26; + _principalFirstFrameIndex = 19; + } else { + obj->frameIndex = _principalFirstFrameIndex < 11 ? 8 : 35; + _principalFirstFrameIndex = 1; + } + obj->ticks = getAnimation(18)->frameTicks[obj->frameIndex]; + } + break; + + case 1: + if (obj->unk2--) { + if (obj->ticks-- == 0) + obj->frameIndex = _principalFirstFrameIndex; + } else { + obj->unk2 = _vm->getRandom(256) + 100; + ++obj->status; + if (_vm->getRandom(2) == 1) { + _principalLastFrameIndex = 16; + _principalFirstFrameIndex = 11; + obj->frameIndex = obj->frameIndex < 1 ? 8 : 17; + obj->ticks = getAnimation(18)->frameTicks[obj->frameIndex]; + obj->xIncr = 1; + } else { + _principalLastFrameIndex = 34; + _principalFirstFrameIndex = 29; + obj->frameIndex = obj->frameIndex < 1 ? 35 : 26; + obj->ticks = getAnimation(18)->frameTicks[obj->frameIndex]; + obj->xIncr = -1; + } + } + break; + + case 2: + if (obj->ticks-- == 0) { + obj->status = 0; + obj->frameIndex = _principalFirstFrameIndex; + obj->ticks = getAnimation(18)->frameTicks[obj->frameIndex]; + } + break; + + case 3: + if (obj->ticks-- == 0) { + obj->status = _prevPrincipalStatus; + obj->frameIndex = _principalFirstFrameIndex; + obj->ticks = getAnimation(18)->frameTicks[obj->frameIndex]; + } + break; + + case 4: + if (obj->ticks-- == 0) { + switch (obj->frameIndex) { + case 8: + obj->frameIndex = 36; + break; + case 26: + obj->frameIndex = 28; + break; + case 28: + obj->frameIndex = 35; + break; + case 35: + ++obj->frameIndex; + break; + case 36: + obj->status = 5; + ++obj->frameIndex; + break; + } + obj->ticks = getAnimation(18)->frameTicks[obj->frameIndex]; + } + break; + + case 5: + if (obj->ticks-- == 0) { + ++obj->frameIndex; + if (obj->frameIndex == 48) + obj->frameIndex = 36; + obj->ticks = getAnimation(18)->frameTicks[obj->frameIndex]; + } + if (!isSoundPlaying(1)) { + _gameResult = 1; + if (_fromMainGame) { + _principalAngry = true; + if (obj->x <= 140 || obj->x >= 165) { + obj->status = 6; + if (obj->x >= 160) { + _principalLastFrameIndex = 34; + _principalFirstFrameIndex = 29; + obj->frameIndex = 29; + obj->ticks = getAnimation(18)->frameTicks[obj->frameIndex]; + obj->xIncr = -1; + } else { + _principalLastFrameIndex = 16; + _principalFirstFrameIndex = 11; + obj->frameIndex = 11; + obj->ticks = getAnimation(18)->frameTicks[obj->frameIndex]; + obj->xIncr = 1; + } + } else { + obj->status = 7; + _principalFirstFrameIndex = 2; + _principalLastFrameIndex = 7; + obj->frameIndex = 2; + obj->ticks = getAnimation(18)->frameTicks[obj->frameIndex]; + obj->xIncr = 0; + obj->yIncr = 1; + } + } else { + obj->status = _prevPrincipalStatus; + obj->frameIndex = _principalFirstFrameIndex; + obj->ticks = getAnimation(18)->frameTicks[obj->frameIndex]; + } + } + break; + + case 6: + obj->x += obj->xIncr; + obj->y += obj->yIncr; + if (obj->ticks-- == 0) { + ++obj->frameIndex; + if (obj->frameIndex == _principalLastFrameIndex) + obj->frameIndex = _principalFirstFrameIndex; + obj->ticks = getAnimation(18)->frameTicks[obj->frameIndex]; + } + if (obj->x > 145 && obj->x < 160) { + obj->status = 7; + _principalFirstFrameIndex = 2; + _principalLastFrameIndex = 7; + obj->frameIndex = 2; + obj->ticks = getAnimation(18)->frameTicks[obj->frameIndex]; + obj->xIncr = 0; + obj->yIncr = 1; + } + break; + + case 7: + obj->x += obj->xIncr; + obj->y += obj->yIncr; + if (obj->ticks-- == 0) { + ++obj->frameIndex; + if (obj->frameIndex == _principalLastFrameIndex) + obj->frameIndex = _principalFirstFrameIndex; + obj->ticks = getAnimation(18)->frameTicks[obj->frameIndex]; + } + if (obj->y > 175) { + // Angry principal enters school, end the minigame + _gameDone = true; + } + break; + + } + + if (!_principalAngry) { + int loogieObjIndex = 0; + Obj *loogieObj = findLoogieObj(loogieObjIndex++); + while (loogieObj) { + if (loogieObj->frameIndex >= 7 && loogieObj->frameIndex <= 12 && isHit(obj, loogieObj)) { + incNumberOfHits(); + incScore(1); + loogieObj->frameIndex = 13; + loogieObj->ticks = getAnimation(5)->frameTicks[12]; + if (obj->status != 3 && obj->status != 4 && obj->status != 5) { + _prevPrincipalStatus = obj->status; + obj->status = 3; + if (_principalFirstFrameIndex == 1 || _principalFirstFrameIndex == 19) + obj->frameIndex = _principalFirstFrameIndex - 1; + else + obj->frameIndex = _principalFirstFrameIndex - 2; + obj->ticks = getAnimation(18)->frameTicks[obj->frameIndex]; + if (loogieObj->frameIndexAdd > 0) { + obj->status = 4; + switch (obj->frameIndex) { + case 0: + obj->frameIndex = 36; + break; + case 9: + obj->frameIndex = 8; + break; + case 27: + obj->frameIndex = 35; + break; + case 18: + obj->frameIndex = 26; + break; + } + obj->ticks = getAnimation(18)->frameTicks[obj->frameIndex]; + playSound(1); + } else { + if (!isAnySoundPlaying(_playerSounds2, _playerSounds2Count)) + playSound(kPrincipalSounds[_vm->getRandom(4)]); + playRndSound(); + } + } + } + loogieObj = findLoogieObj(loogieObjIndex++); + } + } + +} + +void MinigameBbloogie::incNumberOfHits() { + ++_numberOfHits; + if (_numberOfHits == 1000) + _numberOfHits = 0; + if (_numberOfHits % 10 == 0) { + ++_megaLoogieCount; + if (_megaLoogieCount > 11) + _megaLoogieCount = 11; + } +} + +void MinigameBbloogie::incScore(int incrAmount) { + if (_doubleScore) + _currScore += 2 * incrAmount; + else + _currScore += incrAmount; +} + +void MinigameBbloogie::playRndSound() { + if (!isAnySoundPlaying(_playerSounds2, _playerSounds2Count)) + playSound(_playerSounds1[_vm->getRandom(_playerSounds1Count)]); +} + +int MinigameBbloogie::run(uint flags) { + + memset(_objects, 0, sizeof(_objects)); + + _numbersAnim = getAnimation(9); + + _backgroundSpriteIndex = 210; + _titleScreenSpriteIndex = 211; + + _fromMainGame = false; + if (flags & 1) + _fromMainGame = true; + + _hiScore = 0; + if (!_fromMainGame) { + // TODO Load LoogieHiScore + } + + _gameState = kGSTitleScreen; + _gameTicks = 0; + _gameResult = 0; + _gameDone = false; + initObjects(); + initVars(); + + _spriteModule = new SpriteModule(); + _spriteModule->load("bbloogie/bbloogie.000"); + + Palette palette = _spriteModule->getPalette(); + _vm->_screen->setPalette(palette); + + // Load sounds + loadSounds(); + + playSound(32, true); + + while (!_vm->shouldQuit() &&!_gameDone) { + _vm->updateEvents(); + update(); + } + + // Unload sounds + _vm->_sound->unloadSounds(); + + if (!_fromMainGame) { + // TODO Save LoogieHiScore + } + + delete _spriteModule; + + return _gameResult; +} + +void MinigameBbloogie::update() { + + int currTicks, inputTicks; + + if (_gameTicks > 0) { + currTicks = _vm->_system->getMillis(); + inputTicks = (currTicks - _gameTicks) / 17; + _gameTicks = currTicks - (currTicks - _gameTicks) % 17; + } else { + inputTicks = 1; + _gameTicks = _vm->_system->getMillis(); + } + + if (_vm->_keyCode == Common::KEYCODE_ESCAPE) { + _gameDone = true; + return; + } + + if (inputTicks == 0) + return; + + bool done; + + do { + done = !updateStatus(_vm->_mouseX, _vm->_mouseY, _vm->_mouseButtons); + _vm->_mouseButtons &= ~kLeftButtonClicked; + _vm->_mouseButtons &= ~kRightButtonClicked; + _vm->_keyCode = Common::KEYCODE_INVALID; + } while (--inputTicks && _gameTicks > 0 && !done); + + drawSprites(); + +} + +void MinigameBbloogie::loadSounds() { + for (uint i = 0; i < kSoundFilenamesCount; ++i) { + Common::String filename = Common::String::format("bbloogie/%s", kSoundFilenames[i]); + _vm->_sound->loadSound(filename.c_str()); + } +} + +} // End of namespace Bbvs diff --git a/engines/bbvs/minigames/bbloogie.h b/engines/bbvs/minigames/bbloogie.h new file mode 100644 index 0000000000..b05536b001 --- /dev/null +++ b/engines/bbvs/minigames/bbloogie.h @@ -0,0 +1,141 @@ +/* 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. + * + */ + +#ifndef BBVS_MINIGAMES_BBLOOGIE_H +#define BBVS_MINIGAMES_BBLOOGIE_H + +#include "bbvs/minigames/minigame.h" + +namespace Bbvs { + +class MinigameBbloogie : public Minigame { +public: + MinigameBbloogie(BbvsEngine *vm) : Minigame(vm) {}; + int run(uint flags); +public: + + struct Obj { + int kind; + int x, y; + int xIncr, yIncr; + const ObjAnimation *anim; + int frameIndex; + int ticks; + int status; + int16 frameIndexAdd; + int16 unk2; + }; + + enum { + kMaxObjectsCount = 256 + }; + + enum { + kGSTitleScreen = 0, // Title screen + kGSMainGame = 1, // Game when called as part of the main game + kGSStandaloneGame = 2, // Game when called as standalone game + kGSScoreCountUp = 3 // Score countup and next level text + }; + + Obj _objects[kMaxObjectsCount]; + + int _playerKind; + const ObjAnimation *_playerAnim; + const uint *_playerSounds1, *_playerSounds2; + uint _playerSounds1Count, _playerSounds2Count; + + int _level, _levelTimeLeft, _levelTimeDelay; + int _numberOfHits, _currScore, _hiScore; + int _doubleScore, _megaLoogieCount; + + int _dispLevelScore, _nextLevelScore; + + int _timeBonusCtr, _bonusDisplayDelay1, _bonusDisplayDelay2, _bonusDisplayDelay3; + + int _carDelay; + int _bikeDelay; + int _squirrelDelay; + bool _squirrelDirection; + int _paperPlaneDelay; + int _principalDelay; + + int _prevPrincipalStatus; + int _principalCtr, _principalFirstFrameIndex, _principalLastFrameIndex; + bool _principalAngry; + + const ObjAnimation *getAnimation(int animIndex); + + void buildDrawList(DrawList &drawList); + void buildDrawList0(DrawList &drawList); + void buildDrawList1(DrawList &drawList); + void buildDrawList2(DrawList &drawList); + void buildDrawList3(DrawList &drawList); + + void drawSprites(); + + void initObjs(); + Obj *getFreeObject(); + Obj *findLoogieObj(int startObjIndex); + bool isHit(Obj *obj1, Obj *obj2); + bool isCursorAtObj(int objIndex); + + void initObjects(); + void initObjects0(); + void initObjects1(); + void initObjects3(); + + void initVars(); + void initVars0(); + void initVars1(); + void initVars2(); + void initVars3(); + + bool updateStatus(int mouseX, int mouseY, uint mouseButtons); + bool updateStatus0(int mouseX, int mouseY, uint mouseButtons); + bool updateStatus1(int mouseX, int mouseY, uint mouseButtons); + bool updateStatus2(int mouseX, int mouseY, uint mouseButtons); + bool updateStatus3(int mouseX, int mouseY, uint mouseButtons); + + void updateObjs(uint mouseButtons); + void updatePlayer(int objIndex, uint mouseButtons); + void updateObjKind2(int objIndex); + void updateLoogie(int objIndex); + void updateCar(int objIndex); + void updateBike(int objIndex); + void updateSquirrel(int objIndex); + void updatePaperPlane(int objIndex); + void updateIndicator(int objIndex); + void updatePrincipal(int objIndex); + + void incNumberOfHits(); + void incScore(int incrAmount); + void playRndSound(); + + void update(); + + void loadSounds(); + +}; + +} // End of namespace Bbvs + +#endif // BBVS_H diff --git a/engines/bbvs/minigames/bbloogie_anims.cpp b/engines/bbvs/minigames/bbloogie_anims.cpp new file mode 100644 index 0000000000..61a2e48eb7 --- /dev/null +++ b/engines/bbvs/minigames/bbloogie_anims.cpp @@ -0,0 +1,138 @@ +/* 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 "bbvs/minigames/bbloogie.h" + +namespace Bbvs { + +static const int kAnim0FrameIndices[] = {0, 1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4, 0, 5, 6, 7, 0, 0, 5, 6, 7, 8, 0, 4, 3, 2, 1, 4, 3, 2, 1, 4, 3, 2, 1, 0}; +static const int16 kAnim0FrameTicks[] = {22, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 20, 8, 8, 10, 10, 10, 8, 22, 6, 12, 20, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 22}; +static const BBRect kAnim0FrameRects[] = {{0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}}; +static const int kAnim1FrameIndices[] = {9, 10, 11, 12, 13, 10, 11, 12, 13, 10, 11, 12, 13, 9, 14, 15, 16, 9, 9, 14, 15, 16, 17, 9, 13, 12, 11, 10, 13, 12, 11, 10, 13, 12, 11, 10, 9}; +static const int16 kAnim1FrameTicks[] = {22, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 20, 8, 8, 10, 10, 10, 8, 22, 6, 12, 20, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 22}; +static const BBRect kAnim1FrameRects[] = {{0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}}; +static const int kAnim2FrameIndices[] = {18, 19, 20, 18, 21, 22}; +static const int16 kAnim2FrameTicks[] = {6, 6, 6, 6, 6, 6}; +static const BBRect kAnim2FrameRects[] = {{-45, -43, 86, 38}, {-45, -43, 86, 38}, {-45, -43, 86, 38}, {-45, -43, 86, 38}, {-45, -43, 86, 38}, {-45, -43, 86, 38}}; +static const int kAnim3FrameIndices[] = {23, 24, 25, 26, 27, 28, 27}; +static const int16 kAnim3FrameTicks[] = {6, 6, 6, 6, 6, 7, 6}; +static const BBRect kAnim3FrameRects[] = {{-24, -17, 48, 14}, {-24, -17, 48, 14}, {-24, -17, 48, 14}, {-24, -17, 48, 14}, {-24, -17, 48, 14}, {-24, -17, 48, 14}, {-24, -17, 48, 14}}; +static const int kAnim4FrameIndices[] = {29, 30, 31, 32, 33, 34, 35, 36}; +static const int16 kAnim4FrameTicks[] = {6, 6, 6, 6, 6, 6, 6, 6}; +static const BBRect kAnim4FrameRects[] = {{0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}}; +static const int kAnim5FrameIndices[] = {37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70}; +static const int16 kAnim5FrameTicks[] = {6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6}; +static const BBRect kAnim5FrameRects[] = {{-1, -11, 4, 11}, {-2, -15, 6, 8}, {-3, -24, 8, 8}, {-3, -31, 7, 9}, {-3, -33, 8, 8}, {-3, -34, 8, 10}, {-2, -34, 7, 8}, {-1, -34, 6, 7}, {-1, -34, 5, 6}, {-1, -34, 4, 4}, {0, -34, 3, 4}, {-1, -34, 4, 3}, {0, -34, 3, 4}, {0, -33, 3, 3}, {-1, -35, 5, 5}, {-3, -37, 9, 9}, {-4, -39, 12, 13}, {-3, -11, 7, 8}, {-3, -15, 8, 9}, {-5, -24, 11, 13}, {-4, -31, 10, 13}, {-5, -34, 11, 13}, {-5, -34, 11, 11}, {-4, -34, 9, 10}, {-4, -34, 9, 9}, {-3, -34, 7, 8}, {-2, -34, 6, 7}, {-2, -34, 5, 6}, {-2, -34, 4, 5}, {-7, -38, 13, 13}, {-10, -44, 22, 22}, {-13, -47, 27, 27}, {-17, -49, 32, 30}, {-17, -50, 34, 33}}; +static const int kAnim6FrameIndices[] = {71}; +static const int16 kAnim6FrameTicks[] = {1}; +static const BBRect kAnim6FrameRects[] = {{0, 0, 0, 0}}; +static const int kAnim7FrameIndices[] = {72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 80, 79, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 110, 109, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129}; +static const int16 kAnim7FrameTicks[] = {6, 6, 6, 6, 6, 6, 6, 30, 6, 20, 6, 30, 6, 6, 6, 6, 6, 6, 6, 6, 6, 30, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 30, 6, 20, 6, 30, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6}; +static const BBRect kAnim7FrameRects[] = {{-46, -6, 7, 6}, {-46, -12, 11, 12}, {-47, -15, 17, 15}, {-46, -14, 20, 12}, {-47, -10, 24, 10}, {-41, -11, 22, 11}, {-33, -10, 15, 10}, {-32, -10, 14, 10}, {-32, -9, 13, 9}, {-32, -9, 13, 9}, {-32, -9, 13, 9}, {-32, -10, 13, 10}, {-34, -11, 24, 11}, {-30, -12, 25, 9}, {-24, -10, 24, 10}, {-18, -11, 22, 11}, {-14, -11, 24, 10}, {-9, -12, 25, 9}, {-3, -10, 24, 10}, {4, -11, 22, 11}, {11, -10, 15, 10}, {12, -10, 13, 10}, {10, -11, 24, 11}, {15, -12, 25, 9}, {22, -16, 22, 16}, {34, -16, 9, 16}, {35, -12, 9, 12}, {38, -6, 6, 6}, {38, -6, 4, 4}, {36, -6, 7, 6}, {31, -12, 12, 12}, {27, -15, 17, 15}, {24, -12, 20, 12}, {19, -11, 22, 11}, {13, -11, 24, 11}, {7, -11, 25, 9}, {4, -10, 24, 10}, {1, -11, 22, 11}, {1, -10, 15, 10}, {2, -10, 13, 10}, {2, -10, 13, 10}, {2, -9, 13, 9}, {2, -10, 13, 10}, {2, -10, 13, 10}, {-7, -11, 24, 11}, {-14, -11, 25, 9}, {-21, -10, 24, 11}, {-27, -11, 23, 11}, {-34, -12, 24, 11}, {-44, -18, 22, 16}, {-44, -16, 9, 16}, {-46, -12, 9, 12}, {-45, -6, 7, 6}, {-45, -4, 6, 5}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}}; +static const int kAnim8FrameIndices[] = {130}; +static const int16 kAnim8FrameTicks[] = {6}; +static const BBRect kAnim8FrameRects[] = {{0, 0, 0, 0}}; +static const int kAnim9FrameIndices[] = {131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141}; +static const int16 kAnim9FrameTicks[] = {6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6}; +static const BBRect kAnim9FrameRects[] = {{0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}}; +static const int kAnim10FrameIndices[] = {142}; +static const int16 kAnim10FrameTicks[] = {2}; +static const BBRect kAnim10FrameRects[] = {{0, 0, 0, 0}}; +static const int kAnim11FrameIndices[] = {143}; +static const int16 kAnim11FrameTicks[] = {1}; +static const BBRect kAnim11FrameRects[] = {{0, 0, 0, 0}}; +static const int kAnim12FrameIndices[] = {144}; +static const int16 kAnim12FrameTicks[] = {1}; +static const BBRect kAnim12FrameRects[] = {{0, 0, 0, 0}}; +static const int kAnim13FrameIndices[] = {145}; +static const int16 kAnim13FrameTicks[] = {1}; +static const BBRect kAnim13FrameRects[] = {{0, 0, 0, 0}}; +static const int kAnim14FrameIndices[] = {146}; +static const int16 kAnim14FrameTicks[] = {1}; +static const BBRect kAnim14FrameRects[] = {{0, 0, 0, 0}}; +static const int kAnim15FrameIndices[] = {147}; +static const int16 kAnim15FrameTicks[] = {1}; +static const BBRect kAnim15FrameRects[] = {{0, 0, 0, 0}}; +static const int kAnim16FrameIndices[] = {148, 149, 150, 151, 152, 153, 154, 155}; +static const int16 kAnim16FrameTicks[] = {6, 6, 6, 6, 6, 6, 6, 6}; +static const BBRect kAnim16FrameRects[] = {{-5, -5, 9, 9}, {-6, -5, 11, 11}, {-6, -4, 9, 9}, {-5, -5, 10, 10}, {-5, -3, 9, 9}, {-6, -5, 10, 10}, {-4, -4, 9, 9}, {-6, -4, 10, 10}}; +static const int kAnim17FrameIndices[] = {156, 157}; +static const int16 kAnim17FrameTicks[] = {6, 6}; +static const BBRect kAnim17FrameRects[] = {{0, 0, 0, 0}, {0, 0, 0, 0}}; +static const int kAnim18FrameIndices[] = {158, 159, 160, 161, 160, 162, 163, 162, 164, 165, 166, 167, 168, 167, 169, 170, 169, 171, 172, 173, 174, 175, 174, 176, 177, 176, 178, 179, 180, 181, 182, 181, 183, 184, 183, 185, 186, 187, 188, 189, 190, 188, 189, 191, 188, 190, 189, 187, 186}; +static const int16 kAnim18FrameTicks[] = {10, 20, 8, 8, 8, 8, 8, 8, 6, 10, 20, 8, 8, 8, 8, 8, 8, 6, 10, 20, 8, 8, 8, 8, 8, 8, 6, 10, 20, 8, 8, 8, 8, 8, 8, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6}; +static const BBRect kAnim18FrameRects[] = {{-13, -16, 26, 16}, {-12, -16, 24, 16}, {-12, -16, 24, 16}, {-12, -16, 24, 16}, {-12, -16, 24, 16}, {-12, -16, 24, 16}, {-12, -16, 24, 16}, {-12, -16, 24, 16}, {-10, -19, 18, 20}, {-8, -20, 15, 23}, {-8, -20, 16, 22}, {-8, -20, 16, 22}, {-8, -20, 16, 22}, {-8, -20, 16, 22}, {-8, -20, 16, 22}, {-8, -20, 16, 22}, {-8, -20, 16, 22}, {-10, -18, 19, 20}, {-12, -17, 24, 16}, {-12, -16, 24, 16}, {-12, -16, 24, 16}, {-12, -16, 24, 16}, {-12, -16, 24, 16}, {-12, -16, 24, 16}, {-12, -16, 24, 16}, {-12, -16, 24, 16}, {-10, -18, 20, 19}, {-8, -20, 16, 22}, {-8, -20, 16, 22}, {-8, -20, 16, 22}, {-8, -20, 16, 22}, {-8, -20, 16, 22}, {-8, -20, 16, 22}, {-8, -20, 16, 22}, {-8, -20, 16, 22}, {-9, -19, 18, 20}, {-12, -17, 24, 17}, {-12, -17, 24, 17}, {-12, -17, 24, 17}, {-12, -17, 24, 17}, {-12, -17, 24, 17}, {-12, -17, 24, 17}, {-12, -17, 24, 17}, {-12, -17, 24, 17}, {-12, -17, 24, 17}, {-12, -17, 24, 17}, {-12, -17, 24, 17}, {-12, -17, 24, 17}, {-12, -17, 24, 17}}; +static const int kAnim19FrameIndices[] = {192}; +static const int16 kAnim19FrameTicks[] = {8}; +static const BBRect kAnim19FrameRects[] = {{0, 0, 0, 0}}; +static const int kAnim20FrameIndices[] = {193}; +static const int16 kAnim20FrameTicks[] = {5}; +static const BBRect kAnim20FrameRects[] = {{0, 0, 0, 0}}; +static const int kAnim21FrameIndices[] = {194}; +static const int16 kAnim21FrameTicks[] = {6}; +static const BBRect kAnim21FrameRects[] = {{-7, -80, 17, 81}}; +static const int kAnim22FrameIndices[] = {195, 196, 197, 198, 199, 200}; +static const int16 kAnim22FrameTicks[] = {6, 6, 6, 6, 6, 6}; +static const BBRect kAnim22FrameRects[] = {{-22, -91, 45, 93}, {-21, -92, 43, 95}, {-21, -92, 43, 95}, {-21, -92, 43, 95}, {-21, -92, 43, 95}, {-21, -92, 43, 95}}; +static const int kAnim23FrameIndices[] = {201}; +static const int16 kAnim23FrameTicks[] = {6}; +static const BBRect kAnim23FrameRects[] = {{-12, -75, 21, 75}}; +static const int kAnim24FrameIndices[] = {202, 203, 204, 205, 206, 207}; +static const int16 kAnim24FrameTicks[] = {6, 6, 6, 6, 6, 6}; +static const BBRect kAnim24FrameRects[] = {{-21, -85, 38, 86}, {-21, -85, 38, 86}, {-21, -85, 38, 86}, {-21, -85, 38, 86}, {-21, -85, 38, 86}, {-21, -85, 38, 86}}; +static const int kAnim25FrameIndices[] = {208, 209}; +static const int16 kAnim25FrameTicks[] = {6, 6}; +static const BBRect kAnim25FrameRects[] = {{-9, -9, 17, 15}, {-11, -10, 19, 16}}; +static const ObjAnimation kAnimations[] = { + {37, kAnim0FrameIndices, kAnim0FrameTicks, kAnim0FrameRects}, + {37, kAnim1FrameIndices, kAnim1FrameTicks, kAnim1FrameRects}, + {6, kAnim2FrameIndices, kAnim2FrameTicks, kAnim2FrameRects}, + {7, kAnim3FrameIndices, kAnim3FrameTicks, kAnim3FrameRects}, + {8, kAnim4FrameIndices, kAnim4FrameTicks, kAnim4FrameRects}, + {34, kAnim5FrameIndices, kAnim5FrameTicks, kAnim5FrameRects}, + {1, kAnim6FrameIndices, kAnim6FrameTicks, kAnim6FrameRects}, + {62, kAnim7FrameIndices, kAnim7FrameTicks, kAnim7FrameRects}, + {1, kAnim8FrameIndices, kAnim8FrameTicks, kAnim8FrameRects}, + {11, kAnim9FrameIndices, kAnim9FrameTicks, kAnim9FrameRects}, + {1, kAnim10FrameIndices, kAnim10FrameTicks, kAnim10FrameRects}, + {1, kAnim11FrameIndices, kAnim11FrameTicks, kAnim11FrameRects}, + {1, kAnim12FrameIndices, kAnim12FrameTicks, kAnim12FrameRects}, + {1, kAnim13FrameIndices, kAnim13FrameTicks, kAnim13FrameRects}, + {1, kAnim14FrameIndices, kAnim14FrameTicks, kAnim14FrameRects}, + {1, kAnim15FrameIndices, kAnim15FrameTicks, kAnim15FrameRects}, + {8, kAnim16FrameIndices, kAnim16FrameTicks, kAnim16FrameRects}, + {2, kAnim17FrameIndices, kAnim17FrameTicks, kAnim17FrameRects}, + {49, kAnim18FrameIndices, kAnim18FrameTicks, kAnim18FrameRects}, + {1, kAnim19FrameIndices, kAnim19FrameTicks, kAnim19FrameRects}, + {1, kAnim20FrameIndices, kAnim20FrameTicks, kAnim20FrameRects}, + {1, kAnim21FrameIndices, kAnim21FrameTicks, kAnim21FrameRects}, + {6, kAnim22FrameIndices, kAnim22FrameTicks, kAnim22FrameRects}, + {1, kAnim23FrameIndices, kAnim23FrameTicks, kAnim23FrameRects}, + {6, kAnim24FrameIndices, kAnim24FrameTicks, kAnim24FrameRects}, + {2, kAnim25FrameIndices, kAnim25FrameTicks, kAnim25FrameRects} +}; + +const ObjAnimation *MinigameBbloogie::getAnimation(int animIndex) { + return &kAnimations[animIndex]; +} + +} // End of namespace Bbvs diff --git a/engines/bbvs/minigames/bbtennis.cpp b/engines/bbvs/minigames/bbtennis.cpp new file mode 100644 index 0000000000..87ea355a10 --- /dev/null +++ b/engines/bbvs/minigames/bbtennis.cpp @@ -0,0 +1,1278 @@ +/* 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 "bbvs/sound.h" +#include "bbvs/minigames/bbtennis.h" + +namespace Bbvs { + +static const int kLeftPlayerOffX[] = { + -44, -44, -44, -44, -39, -39, -34, + -26, -26, -14, -6, -6, -6, -6 +}; + +static const int kLeftPlayerOffY[] = { + -31, -31, -31, -31, -23, -23, -21, + -18, -18, -14, -11, -11, -11, -11 +}; + +static const char *kSoundFilenames[] = { + "tenis9.aif", "tenis10.aif", "tenis11.aif", "tenis12.aif", "tenis13.aif", + "tenis14.aif", "tenis15.aif", "tenis16.aif", "tenis17.aif", "tenis18.aif", + "tenis19.aif", "tenis20.aif", "tenis21.aif", "1ahh.aif", "1dammit.aif", + "1getawy.aif", "1getthem.aif", "1owww.aif", "1pardon.aif", "1rcktbll.aif", + "1yourout.aif", "2hey.aif", "2inhere.aif", "2stoptht.aif", "2theyare.aif", + "3oh.aif", "3ow.aif", "3upunks.aif", "tenismus.aif", "canon1.aif", + "canon2.aif" +}; + +static const uint kSoundFilenamesCount = ARRAYSIZE(kSoundFilenames); + +static const int kLeftNetPlayAnims[] = { + 13, 15, 17 +}; + +static const int kRightNetPlayAnims[] = { + 14, 16, 18 +}; + +static const uint kYuppieHitSounds[] = { + 14, 15, 18, 22, 26, 27 +}; + +static const uint kYuppieEnteringCourtSounds[] = { + 19, 20 +}; + +static const uint kYuppieChargeSounds[] = { + 16, 17, 23, 24, 28, 0 +}; + +static const uint kAllSounds[] = { + 3, 4, 7, 9, 19, 20, 16, 17, 23, 24, 28 +}; + +void MinigameBbTennis::buildDrawList(DrawList &drawList) { + switch (_gameState) { + case 0: + buildDrawList0(drawList); + break; + case 1: + buildDrawList1(drawList); + break; + case 2: + buildDrawList2(drawList); + break; + } +} + +void MinigameBbTennis::buildDrawList0(DrawList &drawList) { + + drawList.add(_objects[0].anim->frameIndices[_objects[0].frameIndex], _objects[0].x, _objects[0].y, 2000); + + for (int i = 0; i < kMaxObjectsCount; ++i) { + Obj *obj = &_objects[i]; + if (obj->kind) + drawList.add(obj->anim->frameIndices[obj->frameIndex], obj->x, obj->y, obj->y + 16); + } + + if (_titleScreenSpriteIndex > 0) + drawList.add(_titleScreenSpriteIndex, 0, 0, 0); + +} + +void MinigameBbTennis::buildDrawList1(DrawList &drawList) { + + for (int i = 0; i < kMaxObjectsCount; ++i) { + Obj *obj = &_objects[i]; + + if (obj->kind) { + int index = obj->anim->frameIndices[obj->frameIndex]; + int x = obj->x; + int y = obj->y; + int priority = obj->y + 16; + + switch (obj->kind) { + + case 1: + priority = 3000; + break; + + case 2: + priority = 550; + if (obj->frameIndex == 0) + drawList.add(obj->anim->frameIndices[8], obj->x, obj->y, 550); + break; + + case 6: + if (obj->frameIndex == 31) { + y = 640; + index = obj->anim->frameIndices[26]; + } + if (obj->status == 4) { + --obj->blinkCtr; + if (obj->blinkCtr % 2) + y = 600; + if (obj->blinkCtr == 0) + obj->kind = 0; + } + break; + + case 7: + priority = 540; + if (obj->frameIndex == 0) + drawList.add(obj->anim->frameIndices[8], obj->x, obj->y, 550); + break; + + case 4: + if (obj->status == 8) { + --obj->blinkCtr; + if (obj->blinkCtr % 2) + y = 600; + if (obj->blinkCtr == 0) + obj->kind = 0; + } + break; + + } + + drawList.add(index, x, y, priority); + + } + } + + if (_rapidFireBallsCount > 0) { + drawList.add(getAnimation(19)->frameIndices[0], 24, 208, 990); + drawList.add(getAnimation(20)->frameIndices[_rapidFireBallsCount / 10 % 10], 19, 198, 2000); + drawList.add(getAnimation(20)->frameIndices[_rapidFireBallsCount % 10], 29, 198, 2000); + + } + + if (_backgroundSpriteIndex > 0) + drawList.add(_backgroundSpriteIndex, 0, 0, 0); + + drawList.add(getAnimation(8)->frameIndices[0], 9, 53, 500); + drawList.add(getAnimation(9)->frameIndices[0], 256, 52, 500); + drawList.add(getAnimation(10)->frameIndices[0], 60, 162, 500); + drawList.add(getAnimation(21)->frameIndices[0], 36, 18, 2000); + + drawNumber(drawList, _score, 70, 18); + + for (int i = 0; i < _numHearts; ++i) + drawList.add(getAnimation(7)->frameIndices[0], 20 + i * 20, 236, 990); + +} + +void MinigameBbTennis::buildDrawList2(DrawList &drawList) { + + for (int i = 0; i < kMaxObjectsCount; ++i) { + Obj *obj = &_objects[i]; + if (obj->kind) + drawList.add(obj->anim->frameIndices[obj->frameIndex], obj->x, obj->y, obj->y + 16); + } + + if (_backgroundSpriteIndex > 0) + drawList.add(_backgroundSpriteIndex, 0, 0, 0); + + drawList.add(getAnimation(21)->frameIndices[0], 36, 18, 2000); + + drawNumber(drawList, _score, 70, 18); + + drawList.add(getAnimation(22)->frameIndices[0], 120, 70, 2000); + drawList.add(getAnimation(23)->frameIndices[0], 95, 95, 2000); + + drawNumber(drawList, _hiScore, 210, 109); + +} + +void MinigameBbTennis::drawSprites() { + DrawList drawList; + buildDrawList(drawList); + _vm->_screen->drawDrawList(drawList, _spriteModule); + _vm->_screen->copyToScreen(); +} + +void MinigameBbTennis::initObjs() { + for (int i = 0; i < kMaxObjectsCount; ++i) + _objects[i].kind = 0; +} + +MinigameBbTennis::Obj *MinigameBbTennis::getFreeObject() { + for (int i = 0; i < kMaxObjectsCount; ++i) + if (_objects[i].kind == 0) + return &_objects[i]; + return 0; +} + +MinigameBbTennis::Obj *MinigameBbTennis::findTennisBall(int startObjIndex) { + for (int i = startObjIndex; i < kMaxObjectsCount; ++i) + if (_objects[i].kind == 2) + return &_objects[i]; + return 0; +} + +bool MinigameBbTennis::isHit(Obj *obj1, Obj *obj2) { + const BBRect &frameRect1 = obj1->anim->frameRects[obj1->frameIndex]; + const BBRect &frameRect2 = obj2->anim->frameRects[obj2->frameIndex]; + const int obj1X1 = obj1->x + frameRect1.x; + const int obj1Y1 = obj1->y + frameRect1.y; + const int obj1X2 = obj1X1 + frameRect1.width; + const int obj1Y2 = obj1Y1 + frameRect1.height; + const int obj2X1 = obj2->x + frameRect2.x; + const int obj2Y1 = obj2->y + frameRect2.y; + const int obj2X2 = obj2X1 + frameRect2.width; + const int obj2Y2 = obj2Y1 + frameRect2.height; + return obj1X1 <= obj2X2 && obj1X2 >= obj2X1 && obj1Y1 <= obj2Y2 && obj1Y2 >= obj2Y1; +} + +void MinigameBbTennis::initObjects() { + switch (_gameState) { + case 0: + initObjects0(); + break; + case 1: + initObjects1(); + break; + case 2: + initObjects2(); + break; + } +} + +void MinigameBbTennis::initObjects0() { + _objects[0].anim = getAnimation(24); + _objects[0].frameIndex = 0; + _objects[0].ticks = getAnimation(24)->frameTicks[0]; + _objects[0].x = 160; + _objects[0].y = 100; + _objects[0].kind = 1; + _objects[1].anim = getAnimation(25); + _objects[1].frameIndex = 0; + _objects[1].ticks = getAnimation(25)->frameTicks[0]; + _objects[1].x = 40; + _objects[1].y = 240; + _objects[1].kind = 2; + _objects[2].anim = getAnimation(26); + _objects[2].frameIndex = 0; + _objects[2].ticks = getAnimation(26)->frameTicks[0]; + _objects[2].x = 280; + _objects[2].y = 240; + _objects[2].kind = 2; +} + +void MinigameBbTennis::initObjects1() { + _objects[0].anim = getAnimation(5); + _objects[0].frameIndex = 0; + _objects[0].ticks = getAnimation(5)->frameTicks[0]; + _objects[0].status = 0; + _objects[0].x = 160; + _objects[0].y = 100; + _objects[0].kind = 1; + for (int i = 1; i < kMaxObjectsCount; ++i) + _objects[i].kind = 0; +} + +void MinigameBbTennis::initObjects2() { + // Nothing +} + +void MinigameBbTennis::initVars() { + switch (_gameState) { + case 0: + initVars0(); + break; + case 1: + initVars1(); + break; + case 2: + initVars2(); + break; + } +} + +void MinigameBbTennis::initVars0() { + // Nothing +} + +void MinigameBbTennis::initVars1() { + _numHearts = 15; + _allHeartsGone = false; + _squirrelDelay = 500; + _tennisPlayerDelay = 300; + _throwerDelay = 400; + _netPlayerDelay = 340; + _playerDecrease = 0; + _delayDecreaseTimer = 0; + _numBalls = 0; + _newBallTimer = 1; + _initBallTimer = 10; + _maxBalls = 5; + _rapidFireBallsCount = 0; + _score = 0; + _hitMissRatio = 0; + _playedThisIsTheCoolest = false; + _startSoundPlayed = false; + _endSoundPlaying = false; + stopSound(12); +} + +void MinigameBbTennis::initVars2() { + if (_score > _hiScore) + _hiScore = _score; +} + +bool MinigameBbTennis::updateStatus(int mouseX, int mouseY, uint mouseButtons) { + switch (_gameState) { + case 0: + return updateStatus0(mouseX, mouseY, mouseButtons); + case 1: + return updateStatus1(mouseX, mouseY, mouseButtons); + case 2: + return updateStatus2(mouseX, mouseY, mouseButtons); + } + return false; +} + +bool MinigameBbTennis::updateStatus0(int mouseX, int mouseY, uint mouseButtons) { + + if ((mouseButtons & kLeftButtonDown) || (mouseButtons & kRightButtonDown)) { + _gameState = 1; + initObjects(); + initVars(); + _gameTicks = 0; + return true; + } + + _objects[0].x = mouseX; + _objects[0].y = mouseY; + + for (int i = 0; i < kMaxObjectsCount; ++i) { + Obj *obj = &_objects[i]; + if (obj->kind == 2) { + if (--obj->ticks == 0) { + ++obj->frameIndex; + if (obj->frameIndex >= obj->anim->frameCount) + obj->frameIndex = 0; + obj->ticks = obj->anim->frameTicks[obj->frameIndex]; + } + } + } + + return true; +} + +bool MinigameBbTennis::updateStatus1(int mouseX, int mouseY, uint mouseButtons) { + + _objects[0].x = mouseX; + _objects[0].y = mouseY; + + if (_allHeartsGone) { + _gameState = 2; + initObjects(); + initVars(); + _gameTicks = 0; + return true; + } + + if (!_startSoundPlayed) { + playSound(12); + _startSoundPlayed = true; + } + + if (((mouseButtons & kLeftButtonClicked) || (_rapidFireBallsCount > 0 && (mouseButtons & kLeftButtonDown))) && + _newBallTimer == 0 && _numBalls < _maxBalls) { + // Insert a ball + Obj *obj = getFreeObject(); + obj->anim = getAnimation(6); + obj->frameIndex = 0; + obj->ticks = getAnimation(6)->frameTicks[0]; + obj->x = 160; + obj->y = 240; + obj->kind = 2; + obj->targetX = mouseX; + obj->targetY = mouseY; + obj->ballStep = 12; + obj->ballStepCtr = 0; + obj->fltX = 160.0; + obj->fltY = 240.0; + obj->fltStepX = ((160 - mouseX) * 0.75) / 12.0; + obj->fltStepY = ((240 - mouseY) * 0.75) / 12.0; + _newBallTimer = _initBallTimer; + ++_numBalls; + playSound(31); + if (_rapidFireBallsCount > 0 && --_rapidFireBallsCount == 0) { + _initBallTimer = 10; + _maxBalls = 5; + } + } + + if (_newBallTimer > 0) + --_newBallTimer; + + if (++_delayDecreaseTimer == 30) { + _delayDecreaseTimer = 0; + if (_playerDecrease < 199) + ++_playerDecrease; + } + + updateObjs(); + + if (!_playedThisIsTheCoolest && _score > 3 && _vm->getRandom(10) == 1 && !isAnySoundPlaying(kAllSounds, 11)) { + _playedThisIsTheCoolest = true; + playSound(9); + } + + return true; +} + +bool MinigameBbTennis::updateStatus2(int mouseX, int mouseY, uint mouseButtons) { + if (_endSoundPlaying) { + if (!isSoundPlaying(21) && _fromMainGame) { + //_vm->delayMillis(1000); + _gameDone = true; + } + } else { + playSound(21); + _endSoundPlaying = true; + } + return true; +} + +void MinigameBbTennis::updateObjs() { + + for (int i = 0; i < kMaxObjectsCount; ++i) { + Obj *obj = &_objects[i]; + switch (obj->kind) { + case 2: + updateTennisBall(i); + break; + case 3: + updateSquirrel(i); + break; + case 4: + updateTennisPlayer(i); + break; + case 5: + updateThrower(i); + break; + case 6: + updateNetPlayer(i); + break; + case 7: + updateEnemyTennisBall(i); + break; + } + } + + if (_rapidFireBallsCount == 0) { + --_squirrelDelay; + if (--_squirrelDelay == 0) { + Obj *obj = getFreeObject(); + obj->kind = 3; + obj->x = 100; + obj->y = 69; + obj->anim = getAnimation(1); + obj->frameIndex = 0; + obj->ticks = getAnimation(1)->frameTicks[0]; + obj->status = 0; + obj->blinkCtr = _vm->getRandom(128) + 10; + _squirrelDelay = _vm->getRandom(512) + 1000; + } + } + + if (--_tennisPlayerDelay == 0) { + Obj *obj = getFreeObject(); + obj->kind = 4; + obj->y = 146; + obj->anim = getAnimation(11); + obj->ticks = getAnimation(11)->frameTicks[0]; + if (_vm->getRandom(2) == 1) { + obj->x = 40; + obj->frameIndex = 0; + obj->status = 0; + } else { + obj->x = _vm->getRandom(2) == 1 ? 40 : 274; + obj->frameIndex = 16; + obj->status = 4; + } + obj->blinkCtr = _vm->getRandom(64) + 60; + _tennisPlayerDelay = _vm->getRandom(128) + 400 - _playerDecrease; + if (_vm->getRandom(10) == 1 && !isAnySoundPlaying(kAllSounds, 0x11)) + playSound(kYuppieEnteringCourtSounds[_vm->getRandom(2)]); + } + + if (--_throwerDelay == 0) { + Obj *obj = getFreeObject(); + obj->kind = 5; + obj->x = 50; + obj->y = 62; + obj->anim = getAnimation(12); + obj->frameIndex = 0; + obj->ticks = getAnimation(12)->frameTicks[0]; + obj->status = 0; + _throwerDelay = _vm->getRandom(128) + 200 - _playerDecrease; + if (_vm->getRandom(10) == 1 && !isAnySoundPlaying(kAllSounds, 11)) + playSound(kYuppieChargeSounds[_vm->getRandom(2)]); + } + + if (--_netPlayerDelay == 0) { + Obj *obj = getFreeObject(); + obj->kind = 6; + obj->y = 176; + if (_vm->getRandom(2) == 1) { + obj->x = 110; + obj->netPlayDirection = 1; + obj->anim = getAnimation(kLeftNetPlayAnims[_vm->getRandom(3)]); + } else { + obj->x = 216; + obj->netPlayDirection = 0; + obj->anim = getAnimation(kRightNetPlayAnims[_vm->getRandom(3)]); + } + obj->frameIndex = 1; + obj->ticks = obj->anim->frameTicks[1]; + obj->status = 0; + obj->blinkCtr = 1; + _netPlayerDelay = _vm->getRandom(128) + 250 - _playerDecrease; + if (_vm->getRandom(10) == 1 && !isAnySoundPlaying(kAllSounds, 11)) + playSound(kYuppieChargeSounds[_vm->getRandom(2)]); + } + +} + +void MinigameBbTennis::updateTennisBall(int objIndex) { + Obj *obj = &_objects[objIndex]; + + if (--obj->ticks == 0) { + ++obj->frameIndex; + if (obj->frameIndex == 7) { + obj->kind = 0; + --_numBalls; + if (_hitMissRatio > 0) { + if (--_hitMissRatio == 0 && _vm->getRandom(8) == 1 && !isAnySoundPlaying(kAllSounds, 11)) + playSound(3); + } else { + if (_vm->getRandom(10) == 1 && !isAnySoundPlaying(kAllSounds, 11)) + playSound(3); + } + return; + } + obj->ticks = getAnimation(6)->frameTicks[obj->frameIndex]; + } + + if (--obj->ballStep == 0) { + obj->ballStep = 12; + ++obj->ballStepCtr; + if (obj->ballStepCtr == 1) { + obj->fltStepX = ((obj->fltX - (float)obj->targetX) * 0.75) / 12.0; + obj->fltStepY = ((obj->fltY - (float)obj->targetY) * 0.75) / 12.0; + } else if (obj->ballStepCtr == 2) { + obj->fltStepX = (obj->fltX - (float)obj->targetX) / 12.0; + obj->fltStepY = (obj->fltY - (float)obj->targetY) / 12.0; + } else { + obj->fltStepX = 0.0; + obj->fltStepY = 0.0; + } + } + + obj->fltX = obj->fltX - obj->fltStepX; + obj->x = obj->fltX; + obj->fltY = obj->fltY - obj->fltStepY; + obj->y = obj->fltY; + +} + +void MinigameBbTennis::updateSquirrel(int objIndex) { + Obj *obj = &_objects[objIndex]; + + switch (obj->status) { + + case 0: + --obj->ticks; + if (--obj->ticks == 0) { + if (++obj->frameIndex == 4) { + obj->anim = getAnimation(0); + obj->frameIndex = 0; + obj->ticks = getAnimation(0)->frameTicks[0]; + obj->y += 2; + ++obj->status; + } else { + obj->ticks = getAnimation(1)->frameTicks[obj->frameIndex]; + ++_squirrelDelay; + } + } else { + ++_squirrelDelay; + } + break; + + case 1: + if (--obj->ticks == 0) { + ++obj->frameIndex; + if (obj->frameIndex == 4) + obj->frameIndex = 0; + obj->ticks = getAnimation(0)->frameTicks[obj->frameIndex]; + } + ++obj->x; + if (obj->x < 230) { + if (--obj->blinkCtr <= 0) { + obj->anim = getAnimation(4); + obj->frameIndex = 0; + obj->ticks = getAnimation(4)->frameTicks[obj->frameIndex]; + obj->status = 3; + } + ++_squirrelDelay; + } else { + obj->anim = getAnimation(2); + obj->frameIndex = 0; + obj->ticks = getAnimation(2)->frameTicks[0]; + obj->y -= 2; + ++obj->status; + } + break; + + case 2: + if (--obj->ticks == 0) { + if (++obj->frameIndex == 4) { + obj->kind = 0; + } else { + obj->ticks = getAnimation(2)->frameTicks[0]; + ++_squirrelDelay; + } + } else { + ++_squirrelDelay; + } + break; + + case 3: + if (--obj->ticks) { + if (++obj->frameIndex == 2) { + obj->anim = getAnimation(0); + obj->frameIndex = 0; + obj->ticks = getAnimation(0)->frameTicks[0]; + obj->status = 1; + obj->blinkCtr = _vm->getRandom(128) + 10; + } else { + obj->ticks = getAnimation(4)->frameTicks[obj->frameIndex]; + ++_squirrelDelay; + } + } else { + ++_squirrelDelay; + } + break; + + case 4: + if (--obj->ticks == 0) { + if (++obj->frameIndex == 5) { + obj->kind = 0; + } else { + obj->ticks = getAnimation(3)->frameTicks[obj->frameIndex]; + ++_squirrelDelay; + } + } else { + ++_squirrelDelay; + } + break; + + } + + if (obj->status != 4) { + int tennisBallObjIndex = 0; + Obj *tennisBallObj = findTennisBall(tennisBallObjIndex++); + while (tennisBallObj) { + if (tennisBallObj->frameIndex >= 6 && isHit(obj, tennisBallObj)) { + hitSomething(); + tennisBallObj->kind = 0; + --_numBalls; + obj->status = 4; + obj->anim = getAnimation(3); + obj->frameIndex = 0; + obj->ticks = getAnimation(3)->frameTicks[0]; + _rapidFireBallsCount = 50; + _maxBalls = 10; + _initBallTimer = 6; + if (!isAnySoundPlaying(kAllSounds, 11)) + playSound(4); + break; + } + tennisBallObj = findTennisBall(tennisBallObjIndex++); + } + } + +} + +void MinigameBbTennis::updateTennisPlayer(int objIndex) { + Obj *obj = &_objects[objIndex]; + + switch (obj->status) { + + case 0: + if (--obj->ticks == 0) { + ++obj->frameIndex; + if (obj->frameIndex == 6) + obj->frameIndex = 0; + obj->ticks = getAnimation(11)->frameTicks[0]; + } + ++obj->x; + if (obj->x == 280) + obj->kind = 0; + --obj->blinkCtr; + if (obj->blinkCtr <= 0) { + obj->frameIndex = 6; + obj->ticks = getAnimation(11)->frameTicks[6]; + ++obj->status; + } + ++_tennisPlayerDelay; + break; + + case 1: + if (--obj->ticks == 0) { + if (++obj->frameIndex == 9) { + if (obj->x < 210) { + obj->frameIndex = 9; + obj->status = 2; + } else { + obj->frameIndex = 15; + obj->status = 3; + } + obj->blinkCtr = _vm->getRandom(64) + 40; + } + obj->ticks = getAnimation(11)->frameTicks[obj->frameIndex]; + } + if ((obj->ticks % 2) && obj->frameIndex != 8) { + ++obj->x; + if (obj->x == 280) + obj->kind = 0; + } + ++_tennisPlayerDelay; + break; + + case 2: + if (--obj->ticks == 0) { + ++obj->frameIndex; + if (obj->frameIndex == 15) + ++obj->status; + obj->ticks = getAnimation(11)->frameTicks[obj->frameIndex]; + if (obj->frameIndex == 13) + makeEnemyBall(obj->x, obj->y - 31, 4); + } + ++_tennisPlayerDelay; + break; + + case 3: + if (--obj->ticks == 0) { + ++obj->status; + obj->frameIndex = 16; + obj->ticks = getAnimation(11)->frameTicks[16]; + } + if (obj->ticks % 2) { + --obj->x; + if (obj->x <= 40) + obj->kind = 0; + } else + ++_tennisPlayerDelay; + break; + + case 4: + if (--obj->ticks == 0) { + ++obj->frameIndex; + if (obj->frameIndex == 22) + obj->frameIndex = 16; + obj->ticks = getAnimation(11)->frameTicks[obj->frameIndex]; + } + --obj->x; + if (obj->x > 40) { + if (--obj->blinkCtr <= 0) { + ++obj->status; + obj->frameIndex = 22; + obj->ticks = getAnimation(11)->frameTicks[22]; + } + ++_tennisPlayerDelay; + } else { + obj->kind = 0; + } + break; + + case 5: + if (--obj->ticks == 0) { + ++obj->frameIndex; + if (obj->frameIndex == 25) { + if (obj->x <= 70) { + obj->frameIndex = 33; + obj->status = 7; + } else { + obj->frameIndex = 25; + obj->status = 6; + } + obj->blinkCtr = _vm->getRandom(64) + 40; + } + obj->ticks = getAnimation(11)->frameTicks[obj->frameIndex]; + } + if ((obj->ticks % 2) && obj->frameIndex != 24) { + --obj->x; + if (obj->x <= 40) + obj->kind = 0; + } else + ++_tennisPlayerDelay; + break; + + case 6: + if (--obj->ticks == 0) { + ++obj->frameIndex; + if (obj->frameIndex == 33) + ++obj->status; + obj->ticks = getAnimation(11)->frameTicks[obj->frameIndex]; + if (obj->frameIndex == 31) + makeEnemyBall(obj->x + 8, obj->y - 49, 4); + } + ++_tennisPlayerDelay; + break; + + case 7: + if (--obj->ticks == 0) { + obj->frameIndex = 0; + obj->ticks = getAnimation(11)->frameTicks[0]; + obj->status = 0; + } + if (obj->ticks % 2) { + ++obj->x; + if (obj->x == 280) + obj->kind = 0; + } + ++_tennisPlayerDelay; + break; + + case 8: + break; + + } + + if (obj->status != 8) { + int tennisBallObjIndex = 0; + Obj *tennisBallObj = findTennisBall(tennisBallObjIndex++); + while (tennisBallObj) { + if (tennisBallObj->frameIndex >= 6 && isHit(obj, tennisBallObj)) { + hitSomething(); + tennisBallObj->kind = 0; + --_numBalls; + obj->status = 8; + obj->blinkCtr = 20; + playSound(kYuppieHitSounds[_vm->getRandom(6)]); + break; + } + tennisBallObj = findTennisBall(tennisBallObjIndex++); + } + } + +} + +void MinigameBbTennis::updateThrower(int objIndex) { + Obj *obj = &_objects[objIndex]; + + switch (obj->status) { + + case 0: + if (--obj->ticks == 0) { + ++obj->frameIndex; + if (obj->frameIndex == 4) + ++obj->status; + obj->ticks = getAnimation(12)->frameTicks[obj->frameIndex]; + } + ++_throwerDelay; + break; + + case 1: + if (--obj->ticks == 0) { + ++obj->frameIndex; + if (obj->frameIndex == 8) + ++obj->status; + obj->ticks = getAnimation(12)->frameTicks[obj->frameIndex]; + if (obj->frameIndex == 7) + makeEnemyBall(obj->x - 10, obj->y - 10, 3); + } + ++_throwerDelay; + break; + + case 2: + --obj->ticks; + if (--obj->ticks == 0) { + ++obj->frameIndex; + if (obj->frameIndex == 12) { + obj->kind = 0; + } else { + obj->ticks = getAnimation(12)->frameTicks[obj->frameIndex]; + ++_throwerDelay; + } + } else { + ++_throwerDelay; + } + break; + + case 3: + --obj->ticks; + if (--obj->ticks == 0) { + ++obj->frameIndex; + if (obj->frameIndex == 14) { + obj->kind = 0; + } else { + obj->ticks = getAnimation(12)->frameTicks[obj->frameIndex]; + ++_throwerDelay; + } + } else { + ++_throwerDelay; + } + break; + + } + + if (obj->status != 3) { + int tennisBallObjIndex = 0; + Obj *tennisBallObj = findTennisBall(tennisBallObjIndex++); + while (tennisBallObj) { + if (tennisBallObj->frameIndex >= 5 && tennisBallObj->frameIndex <= 7 && isHit(obj, tennisBallObj)) { + hitSomething(); + tennisBallObj->kind = 0; + --_numBalls; + obj->status = 3; + obj->frameIndex = 12; + obj->ticks = getAnimation(12)->frameTicks[12]; + playSound(kYuppieHitSounds[_vm->getRandom(6)]); + break; + } + tennisBallObj = findTennisBall(tennisBallObjIndex++); + } + } + +} + +void MinigameBbTennis::updateNetPlayer(int objIndex) { + Obj *obj = &_objects[objIndex]; + + switch (obj->status) { + + case 0: + if (--obj->ticks == 0) { + ++obj->frameIndex; + if (obj->frameIndex == 15) { + obj->blinkCtr = _vm->getRandom(32) + 10; + ++obj->status; + obj->frameIndex = 31; + } else { + obj->ticks = obj->anim->frameTicks[obj->frameIndex]; + ++_netPlayerDelay; + } + } else { + ++_netPlayerDelay; + } + break; + + case 1: + if (--obj->blinkCtr <= 0) { + ++obj->status; + obj->frameIndex = 15; + obj->ticks = obj->anim->frameTicks[15]; + obj->x = _vm->getRandom(128) + 100; + } + ++_netPlayerDelay; + break; + + case 2: + if (--obj->ticks == 0) { + ++obj->frameIndex; + if (obj->frameIndex == 24) { + ++obj->status; + obj->frameIndex = 28; + } + obj->ticks = obj->anim->frameTicks[obj->frameIndex]; + if (obj->frameIndex == 23) + makeEnemyBall(obj->x - 8, obj->y - 40, 3); + } + ++_netPlayerDelay; + break; + + case 3: + if (--obj->ticks == 0) { + ++obj->frameIndex; + if (obj->frameIndex == 31) { + obj->status = 1; + obj->frameIndex = 31; + obj->blinkCtr = _vm->getRandom(32) + 10; + } else { + obj->ticks = obj->anim->frameTicks[obj->frameIndex]; + ++_netPlayerDelay; + } + } else { + ++_netPlayerDelay; + } + break; + + case 5: + if (--obj->ticks == 0) { + ++obj->frameIndex; + if (obj->frameIndex == 27) + obj->kind = 0; + obj->ticks = obj->anim->frameTicks[obj->frameIndex]; + } + break; + + case 4: + break; + + } + + if (obj->status < 4 && obj->frameIndex != 31) { + int tennisBallObjIndex = 0; + Obj *tennisBallObj = findTennisBall(tennisBallObjIndex++); + while (tennisBallObj) { + if (obj->status == 0 && tennisBallObj->frameIndex >= 3 && tennisBallObj->frameIndex <= 6 && + isHit(obj, tennisBallObj)) { + hitSomething(); + tennisBallObj->kind = 0; + --_numBalls; + if (obj->netPlayDirection) { + obj->x += kLeftPlayerOffX[obj->frameIndex] + 10; + obj->y += kLeftPlayerOffY[obj->frameIndex] + 10; + } else { + obj->x -= kLeftPlayerOffX[obj->frameIndex] + 12; + obj->y += kLeftPlayerOffY[obj->frameIndex] + 10; + } + obj->status = 4; + obj->frameIndex = 0; + obj->blinkCtr = 20; + playSound(kYuppieHitSounds[_vm->getRandom(6)]); + break; + } else if (obj->status > 1 && obj->status < 4 && tennisBallObj->frameIndex >= 3 && tennisBallObj->frameIndex <= 4 && + isHit(obj, tennisBallObj)) { + hitSomething(); + tennisBallObj->kind = 0; + --_numBalls; + obj->status = 5; + obj->frameIndex = 24; + obj->ticks = obj->anim->frameTicks[24]; + playSound(kYuppieHitSounds[_vm->getRandom(6)]); + break; + } + tennisBallObj = findTennisBall(tennisBallObjIndex++); + } + } + +} + +void MinigameBbTennis::updateEnemyTennisBall(int objIndex) { + Obj *obj = &_objects[objIndex]; + + if (--obj->ticks == 0) { + --obj->frameIndex; + obj->ticks = getAnimation(6)->frameTicks[obj->frameIndex]; + } + + if (--obj->ballStep == 0) { + obj->ballStep = 12; + --obj->ballStepCtr; + if (obj->ballStepCtr == 1) { + obj->fltStepX = (obj->fltX - (float)obj->targetX) / 12.0; + obj->fltStepY = (obj->fltY - (float)obj->targetY) / 12.0; + } else if (obj->ballStepCtr == 2) { + obj->fltStepX = ((obj->fltX - (float)obj->targetX) * 0.18) / 12.0; + obj->fltStepY = ((obj->fltY - (float)obj->targetY) * 0.18) / 12.0; + } else { + obj->kind = 0; + if (_numHearts > 0 && --_numHearts == 0) + _allHeartsGone = true; + } + } + + obj->fltX = obj->fltX - obj->fltStepX; + obj->x = obj->fltX; + obj->fltY = obj->fltY - obj->fltStepY; + obj->y = obj->fltY; + +} + +void MinigameBbTennis::makeEnemyBall(int x, int y, int frameIndex) { + Obj *obj = getFreeObject(); + + obj->kind = 7; + obj->x = x; + obj->y = y; + obj->anim = getAnimation(6); + obj->frameIndex = frameIndex; + obj->ticks = getAnimation(6)->frameTicks[frameIndex]; + obj->targetX = 160; + obj->targetY = 180; + obj->fltX = (float)x; + obj->fltY = (float)y; + + switch (frameIndex) { + + case 6: + obj->ballStep = 18; + obj->ballStepCtr = 3; + obj->fltStepX = 0.0; + obj->fltStepY = 0.0; + break; + + case 5: + obj->ballStep = 12; + obj->ballStepCtr = 3; + obj->fltStepX = ((float)(x - 160) * 0.07) / 12.0; + obj->fltStepY = ((float)(y - 180) * 0.07) / 12.0; + break; + + case 4: + obj->ballStep = 6; + obj->ballStepCtr = 3; + obj->fltStepX = ((float)(x - 160) * 0.07) / 6.0; + obj->fltStepY = ((float)(y - 180) * 0.07) / 6.0; + break; + + case 3: + obj->ballStep = 12; + obj->ballStepCtr = 2; + obj->fltStepX = ((float)(x - 160) * 0.18) / 12.0; + obj->fltStepY = ((float)(y - 180) * 0.18) / 12.0; + break; + + case 2: + obj->ballStep = 6; + obj->ballStepCtr = 2; + obj->fltStepX = ((float)(x - 160) * 0.18) / 6.0; + obj->fltStepY = ((float)(y - 180) * 0.18) / 6.0; + break; + + case 1: + obj->ballStep = 12; + obj->ballStepCtr = 1; + obj->fltStepX = (float)((x - 160) / 12); + obj->fltStepY = (float)((y - 180) / 12); + break; + + case 0: + obj->ballStep = 6; + obj->ballStepCtr = 1; + obj->fltStepX = (float)((x - 160) / 6); + obj->fltStepY = (float)((y - 180) / 6); + break; + + } + +} + +void MinigameBbTennis::hitSomething() { + if (_hitMissRatio < 15) + _hitMissRatio += 3; + ++_score; +} + +int MinigameBbTennis::run(uint flags) { + + memset(_objects, 0, sizeof(_objects)); + + _numbersAnim = getAnimation(20); + + _backgroundSpriteIndex = 272; + _titleScreenSpriteIndex = 273; + + _fromMainGame = false; + if (flags & 1) + _fromMainGame = true; + + _hiScore = 0; + if (!_fromMainGame) { + // TODO Load HiScore + } + + _gameState = 0; + _gameResult = 0; + _gameDone = false; + initObjects(); + initVars(); + + _spriteModule = new SpriteModule(); + _spriteModule->load("bbtennis/bbtennis.000"); + + Palette palette = _spriteModule->getPalette(); + _vm->_screen->setPalette(palette); + + // Load sounds + loadSounds(); + + _gameTicks = 0; + playSound(29, true); + + while (!_vm->shouldQuit() &&!_gameDone) { + _vm->updateEvents(); + update(); + } + + // Unload sounds + _vm->_sound->unloadSounds(); + + if (!_fromMainGame) { + // TODO Save HiScore + } + + delete _spriteModule; + + return _gameResult; +} + +void MinigameBbTennis::update() { + + int currTicks, inputTicks; + + if (_gameTicks > 0) { + currTicks = _vm->_system->getMillis(); + inputTicks = 3 * (currTicks - _gameTicks) / 50; + _gameTicks = currTicks - (currTicks - _gameTicks - 50 * inputTicks / 3); + } else { + inputTicks = 1; + _gameTicks = _vm->_system->getMillis(); + } + + if (_vm->_keyCode == Common::KEYCODE_ESCAPE) { + _gameDone = true; + return; + } + + if (inputTicks == 0) + return; + + bool done; + + do { + done = !updateStatus(_vm->_mouseX, _vm->_mouseY, _vm->_mouseButtons); + _vm->_mouseButtons &= ~kLeftButtonClicked; + _vm->_mouseButtons &= ~kRightButtonClicked; + _vm->_keyCode = Common::KEYCODE_INVALID; + } while (--inputTicks && _gameTicks > 0 && !done); + + drawSprites(); + +} + +void MinigameBbTennis::loadSounds() { + for (uint i = 0; i < kSoundFilenamesCount; ++i) { + Common::String filename = Common::String::format("bbtennis/%s", kSoundFilenames[i]); + _vm->_sound->loadSound(filename.c_str()); + } +} + +} // End of namespace Bbvs diff --git a/engines/bbvs/minigames/bbtennis.h b/engines/bbvs/minigames/bbtennis.h new file mode 100644 index 0000000000..63617c968c --- /dev/null +++ b/engines/bbvs/minigames/bbtennis.h @@ -0,0 +1,134 @@ +/* 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. + * + */ + +#ifndef BBVS_MINIGAMES_BBTENNIS_H +#define BBVS_MINIGAMES_BBTENNIS_H + +#include "bbvs/minigames/minigame.h" + +namespace Bbvs { + +class MinigameBbTennis : public Minigame { +public: + MinigameBbTennis(BbvsEngine *vm) : Minigame(vm) {}; + int run(uint flags); +public: + + struct Obj { + int kind; + int x, y; + const ObjAnimation *anim; + int frameIndex; + int ticks; + int status; + int blinkCtr; + float fltStepX; + float fltStepY; + float fltX; + float fltY; + int targetX; + int targetY; + int ballStep; + int ballStepCtr; + int netPlayDirection; + }; + + enum { + kMaxObjectsCount = 256 + }; + + enum { + kGSTitleScreen = 0, // Title screen + kGSMainGame = 1, // Game when called as part of the main game + kGSStandaloneGame = 2, // Game when called as standalone game + kGSScoreCountUp = 3 // Score countup and next level text + }; + + Obj _objects[kMaxObjectsCount]; + + int _numHearts; + int _squirrelDelay; + int _tennisPlayerDelay; + int _throwerDelay; + int _netPlayerDelay; + int _playerDecrease; + int _delayDecreaseTimer; + int _numBalls; + int _newBallTimer; + int _initBallTimer; + int _maxBalls; + int _rapidFireBallsCount; + int _score, _hiScore; + int _hitMissRatio; + bool _allHeartsGone; + bool _playedThisIsTheCoolest; + bool _startSoundPlayed; + bool _endSoundPlaying; + + const ObjAnimation *getAnimation(int animIndex); + + void buildDrawList(DrawList &drawList); + void buildDrawList0(DrawList &drawList); + void buildDrawList1(DrawList &drawList); + void buildDrawList2(DrawList &drawList); + + void drawSprites(); + + void initObjs(); + Obj *getFreeObject(); + Obj *findTennisBall(int startObjIndex); + bool isHit(Obj *obj1, Obj *obj2); + + void initObjects(); + void initObjects0(); + void initObjects1(); + void initObjects2(); + + void initVars(); + void initVars0(); + void initVars1(); + void initVars2(); + + bool updateStatus(int mouseX, int mouseY, uint mouseButtons); + bool updateStatus0(int mouseX, int mouseY, uint mouseButtons); + bool updateStatus1(int mouseX, int mouseY, uint mouseButtons); + bool updateStatus2(int mouseX, int mouseY, uint mouseButtons); + + void updateObjs(); + void updateTennisBall(int objIndex); + void updateSquirrel(int objIndex); + void updateTennisPlayer(int objIndex); + void updateThrower(int objIndex); + void updateNetPlayer(int objIndex); + void updateEnemyTennisBall(int objIndex); + void makeEnemyBall(int x, int y, int frameIndex); + void hitSomething(); + + void update(); + + void loadSounds(); + +}; + +} // End of namespace Bbvs + +#endif // BBVS_H diff --git a/engines/bbvs/minigames/bbtennis_anims.cpp b/engines/bbvs/minigames/bbtennis_anims.cpp new file mode 100644 index 0000000000..7441c66749 --- /dev/null +++ b/engines/bbvs/minigames/bbtennis_anims.cpp @@ -0,0 +1,142 @@ +/* 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 "bbvs/minigames/bbtennis.h" + +namespace Bbvs { + +static const int kAnim0FrameIndices[] = {0, 1, 2, 3}; +static const int16 kAnim0FrameTicks[] = {6, 6, 6, 6}; +static const BBRect kAnim0FrameRects[] = {{-15, -11, 22, 10}, {-15, -12, 23, 10}, {-14, -11, 22, 8}, {-13, -11, 20, 10}}; +static const int kAnim1FrameIndices[] = {4, 5, 6, 7, 8, 3}; +static const int16 kAnim1FrameTicks[] = {6, 6, 6, 6, 6, 6}; +static const BBRect kAnim1FrameRects[] = {{-16, -3, 7, 6}, {-13, -8, 11, 10}, {-14, -12, 15, 12}, {-15, -10, 17, 10}, {-17, -10, 22, 9}, {-13, -12, 20, 12}}; +static const int kAnim2FrameIndices[] = {9, 10, 11, 12}; +static const int16 kAnim2FrameTicks[] = {6, 8, 8, 8}; +static const BBRect kAnim2FrameRects[] = {{-11, -14, 20, 14}, {-1, -14, 10, 15}, {3, -9, 6, 10}, {2, -5, 7, 6}}; +static const int kAnim3FrameIndices[] = {13, 14, 15, 16, 17}; +static const int16 kAnim3FrameTicks[] = {8, 8, 6, 6, 6}; +static const BBRect kAnim3FrameRects[] = {{0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}}; +static const int kAnim4FrameIndices[] = {18, 19}; +static const int16 kAnim4FrameTicks[] = {61, 22}; +static const BBRect kAnim4FrameRects[] = {{-8, -12, 14, 11}, {-8, -12, 14, 11}}; +static const int kAnim5FrameIndices[] = {20}; +static const int16 kAnim5FrameTicks[] = {6}; +static const BBRect kAnim5FrameRects[] = {{0, 0, 0, 0}}; +static const int kAnim6FrameIndices[] = {21, 22, 23, 24, 25, 26, 27, 28, 29}; +static const int16 kAnim6FrameTicks[] = {6, 6, 6, 6, 6, 6, 6, 6, 6}; +static const BBRect kAnim6FrameRects[] = {{-59, -43, 114, 114}, {-24, -13, 44, 46}, {-12, -5, 24, 25}, {-8, -3, 15, 15}, {-5, -3, 8, 8}, {-3, -2, 5, 5}, {-1, -1, 3, 3}, {0, 0, 2, 2}, {-56, 25, 102, 50}}; +static const int kAnim7FrameIndices[] = {30}; +static const int16 kAnim7FrameTicks[] = {6}; +static const BBRect kAnim7FrameRects[] = {{0, 0, 0, 0}}; +static const int kAnim8FrameIndices[] = {31}; +static const int16 kAnim8FrameTicks[] = {6}; +static const BBRect kAnim8FrameRects[] = {{0, 0, 0, 0}}; +static const int kAnim9FrameIndices[] = {32}; +static const int16 kAnim9FrameTicks[] = {6}; +static const BBRect kAnim9FrameRects[] = {{0, 0, 0, 0}}; +static const int kAnim10FrameIndices[] = {33}; +static const int16 kAnim10FrameTicks[] = {6}; +static const BBRect kAnim10FrameRects[] = {{0, 0, 0, 0}}; +static const int kAnim11FrameIndices[] = {34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 48, 58, 59, 60, 61, 62, 63, 64, 42, 65}; +static const int16 kAnim11FrameTicks[] = {10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 6, 6, 6, 6, 10, 10, 10, 10}; +static const BBRect kAnim11FrameRects[] = {{0, -50, 16, 47}, {1, -49, 16, 47}, {-1, -49, 17, 46}, {0, -47, 16, 45}, {2, -46, 15, 46}, {0, -48, 17, 45}, {2, -50, 14, 49}, {-2, -46, 17, 46}, {0, -57, 15, 57}, {-2, -56, 14, 56}, {-4, -56, 13, 56}, {-4, -56, 15, 56}, {5, -51, 14, 49}, {4, -52, 15, 52}, {-1, -57, 13, 57}, {0, -55, 14, 55}, {-5, -50, 17, 49}, {-9, -50, 17, 49}, {-9, -48, 16, 47}, {-6, -49, 14, 48}, {-8, -50, 17, 50}, {-10, -48, 19, 48}, {-2, -50, 14, 50}, {2, -47, 13, 48}, {-1, -57, 13, 57}, {4, -55, 12, 56}, {4, -58, 13, 59}, {5, -58, 12, 59}, {5, -57, 15, 58}, {1, -57, 14, 57}, {-7, -51, 15, 51}, {-5, -53, 16, 53}, {0, -57, 15, 57}, {1, -55, 14, 55}}; +static const int kAnim12FrameIndices[] = {66, 67, 68, 69, 70, 71, 72, 73, 69, 68, 67, 66, 74, 75}; +static const int16 kAnim12FrameTicks[] = {10, 10, 10, 20, 10, 10, 6, 10, 20, 10, 10, 10, 8, 6}; +static const BBRect kAnim12FrameRects[] = {{-5, -8, 12, 6}, {-12, -17, 24, 15}, {-12, -28, 24, 28}, {-10, -36, 20, 35}, {-9, -36, 18, 37}, {-11, -37, 17, 38}, {-6, -36, 16, 34}, {-5, -35, 20, 39}, {-10, -36, 20, 35}, {-12, -28, 24, 28}, {-12, -17, 24, 15}, {-5, -8, 12, 6}, {-15, -27, 23, 38}, {-19, -17, 15, 17}}; +static const int kAnim13FrameIndices[] = {76, 77, 78, 77, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 98, 102, 103, 90}; +static const int16 kAnim13FrameTicks[] = {16, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 6, 10, 10, 6, 10, 10, 10, 10, 10, 10}; +static const BBRect kAnim13FrameRects[] = {{-21, -61, 16, 52}, {-42, -76, 7, 14}, {-43, -75, 13, 24}, {-42, -76, 7, 14}, {-42, -75, 4, 42}, {-42, -76, 11, 57}, {-40, -74, 13, 55}, {-36, -74, 11, 55}, {-31, -72, 12, 56}, {-27, -71, 14, 57}, {-20, -69, 15, 55}, {-12, -65, 15, 51}, {-7, -57, 18, 44}, {-3, -43, 18, 29}, {4, -27, 20, 14}, {0, -28, 13, 14}, {0, -38, 14, 24}, {-1, -49, 19, 36}, {0, -61, 17, 47}, {-2, -63, 19, 49}, {-5, -64, 19, 50}, {-3, -62, 18, 48}, {0, -61, 19, 47}, {0, -61, 16, 47}, {-4, -48, 17, 34}, {-9, -37, 15, 23}, {-13, -26, 14, 12}, {0, -61, 16, 47}, {0, -50, 15, 36}, {0, -39, 13, 25}, {0, -28, 12, 14}}; +static const int kAnim14FrameIndices[] = {104, 105, 106, 105, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 126, 130, 131, 118}; +static const int16 kAnim14FrameTicks[] = {16, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 6, 10, 10, 6, 10, 10, 10, 10, 10, 10}; +static const BBRect kAnim14FrameRects[] = {{6, -61, 14, 52}, {35, -77, 7, 16}, {29, -76, 13, 24}, {35, -77, 7, 16}, {38, -76, 4, 43}, {32, -75, 10, 55}, {24, -74, 16, 54}, {22, -74, 14, 53}, {18, -72, 12, 55}, {12, -71, 15, 57}, {2, -69, 17, 55}, {-5, -65, 18, 51}, {-13, -57, 18, 43}, {-20, -43, 23, 29}, {-26, -30, 25, 16}, {-13, -28, 13, 14}, {-16, -38, 24, 24}, {-16, -49, 20, 35}, {-15, -61, 17, 47}, {-15, -63, 17, 49}, {-13, -64, 17, 51}, {-14, -62, 15, 48}, {-19, -61, 19, 47}, {-16, -61, 16, 48}, {-18, -48, 22, 34}, {-6, -37, 14, 23}, {0, -27, 12, 14}, {-16, -61, 16, 48}, {-16, -50, 19, 36}, {-14, -39, 15, 25}, {-12, -28, 12, 15}}; +static const int kAnim15FrameIndices[] = {132, 133, 134, 133, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 154, 158, 159, 146}; +static const int16 kAnim15FrameTicks[] = {16, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 6, 10, 10, 6, 10, 10, 10, 10, 10, 10}; +static const BBRect kAnim15FrameRects[] = {{-21, -61, 16, 52}, {-42, -76, 7, 14}, {-43, -75, 13, 24}, {-42, -76, 7, 14}, {-42, -75, 4, 42}, {-42, -76, 11, 57}, {-40, -74, 13, 55}, {-36, -74, 11, 55}, {-31, -72, 12, 56}, {-27, -71, 14, 57}, {-20, -69, 15, 55}, {-12, -65, 15, 51}, {-7, -57, 18, 44}, {-3, -43, 18, 29}, {4, -27, 20, 14}, {0, -28, 13, 14}, {0, -38, 14, 24}, {-1, -49, 19, 36}, {0, -61, 17, 47}, {-2, -63, 19, 49}, {-5, -64, 19, 50}, {-3, -62, 18, 48}, {0, -61, 19, 47}, {0, -61, 16, 47}, {-4, -48, 17, 34}, {-9, -37, 15, 23}, {-13, -26, 14, 12}, {0, -61, 16, 47}, {0, -50, 15, 36}, {0, -39, 13, 25}, {0, -28, 12, 14}}; +static const int kAnim16FrameIndices[] = {160, 161, 162, 161, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 182, 186, 187, 174}; +static const int16 kAnim16FrameTicks[] = {16, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 6, 10, 10, 6, 10, 10, 10, 10, 10, 10}; +static const BBRect kAnim16FrameRects[] = {{6, -61, 14, 52}, {35, -77, 7, 16}, {29, -76, 13, 24}, {35, -77, 7, 16}, {38, -76, 4, 43}, {32, -75, 10, 55}, {24, -74, 16, 54}, {22, -74, 14, 53}, {18, -72, 12, 55}, {12, -71, 15, 57}, {2, -69, 17, 55}, {-5, -65, 18, 51}, {-13, -57, 18, 43}, {-20, -43, 23, 29}, {-26, -30, 25, 16}, {-13, -28, 13, 14}, {-16, -38, 24, 24}, {-16, -49, 20, 35}, {-15, -61, 17, 47}, {-15, -63, 17, 49}, {-13, -64, 17, 51}, {-14, -62, 15, 48}, {-19, -61, 19, 47}, {-16, -61, 16, 48}, {-18, -48, 22, 34}, {-6, -37, 14, 23}, {0, -27, 12, 14}, {-16, -61, 16, 48}, {-16, -50, 19, 36}, {-14, -39, 15, 25}, {-12, -28, 12, 15}}; +static const int kAnim17FrameIndices[] = {188, 189, 190, 189, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 210, 214, 215, 202}; +static const int16 kAnim17FrameTicks[] = {16, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 6, 10, 10, 6, 10, 10, 10, 10, 10, 10}; +static const BBRect kAnim17FrameRects[] = {{-21, -61, 16, 52}, {-42, -76, 7, 14}, {-43, -75, 13, 24}, {-42, -76, 7, 14}, {-42, -75, 4, 42}, {-42, -76, 11, 57}, {-40, -74, 13, 55}, {-36, -74, 11, 55}, {-31, -72, 12, 56}, {-27, -71, 14, 57}, {-20, -69, 15, 55}, {-12, -65, 15, 51}, {-7, -57, 18, 44}, {-3, -43, 18, 29}, {4, -27, 20, 14}, {0, -28, 13, 14}, {0, -38, 14, 24}, {-1, -49, 19, 36}, {0, -61, 17, 47}, {-2, -63, 19, 49}, {-5, -64, 19, 50}, {-3, -62, 18, 48}, {0, -61, 19, 47}, {0, -61, 16, 47}, {-4, -48, 17, 34}, {-9, -37, 15, 23}, {-13, -26, 14, 12}, {0, -61, 16, 47}, {0, -50, 15, 36}, {0, -39, 13, 25}, {0, -28, 12, 14}}; +static const int kAnim18FrameIndices[] = {216, 217, 218, 217, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 238, 242, 243, 230}; +static const int16 kAnim18FrameTicks[] = {16, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 6, 10, 10, 6, 10, 10, 10, 10, 10, 10}; +static const BBRect kAnim18FrameRects[] = {{6, -61, 14, 52}, {35, -77, 7, 16}, {29, -76, 13, 24}, {35, -77, 7, 16}, {38, -76, 4, 43}, {32, -75, 10, 55}, {24, -74, 16, 54}, {22, -74, 14, 53}, {18, -72, 12, 55}, {12, -71, 15, 57}, {2, -69, 17, 55}, {-5, -65, 18, 51}, {-13, -57, 18, 43}, {-20, -43, 23, 29}, {-26, -30, 25, 16}, {-13, -28, 13, 14}, {-16, -38, 24, 24}, {-16, -49, 20, 35}, {-15, -61, 17, 47}, {-15, -63, 17, 49}, {-13, -64, 17, 51}, {-14, -62, 15, 48}, {-19, -61, 19, 47}, {-16, -61, 16, 48}, {-18, -48, 22, 34}, {-6, -37, 14, 23}, {0, -27, 12, 14}, {-16, -61, 16, 48}, {-16, -50, 19, 36}, {-14, -39, 15, 25}, {-12, -28, 12, 15}}; +static const int kAnim19FrameIndices[] = {244}; +static const int16 kAnim19FrameTicks[] = {6}; +static const BBRect kAnim19FrameRects[] = {{0, 0, 0, 0}}; +static const int kAnim20FrameIndices[] = {245, 246, 247, 248, 249, 250, 251, 252, 253, 254}; +static const int16 kAnim20FrameTicks[] = {6, 6, 6, 6, 6, 6, 6, 6, 6, 6}; +static const BBRect kAnim20FrameRects[] = {{0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}}; +static const int kAnim21FrameIndices[] = {255}; +static const int16 kAnim21FrameTicks[] = {1}; +static const BBRect kAnim21FrameRects[] = {{0, 0, 0, 0}}; +static const int kAnim22FrameIndices[] = {256}; +static const int16 kAnim22FrameTicks[] = {5}; +static const BBRect kAnim22FrameRects[] = {{0, 0, 0, 0}}; +static const int kAnim23FrameIndices[] = {257}; +static const int16 kAnim23FrameTicks[] = {1}; +static const BBRect kAnim23FrameRects[] = {{0, 0, 0, 0}}; +static const int kAnim24FrameIndices[] = {258, 259}; +static const int16 kAnim24FrameTicks[] = {6, 6}; +static const BBRect kAnim24FrameRects[] = {{-9, -9, 17, 15}, {-11, -10, 19, 16}}; +static const int kAnim25FrameIndices[] = {260, 261, 262, 263, 264, 265}; +static const int16 kAnim25FrameTicks[] = {6, 6, 6, 6, 6, 6}; +static const BBRect kAnim25FrameRects[] = {{-22, -91, 45, 93}, {-21, -92, 43, 95}, {-21, -92, 43, 95}, {-21, -92, 43, 95}, {-21, -92, 43, 95}, {-21, -92, 43, 95}}; +static const int kAnim26FrameIndices[] = {266, 267, 268, 269, 270, 271}; +static const int16 kAnim26FrameTicks[] = {6, 6, 6, 6, 6, 6}; +static const BBRect kAnim26FrameRects[] = {{-21, -85, 38, 86}, {-21, -85, 38, 86}, {-21, -85, 38, 86}, {-21, -85, 38, 86}, {-21, -85, 38, 86}, {-21, -85, 38, 86}}; +static const ObjAnimation kAnimations[] = { + {4, kAnim0FrameIndices, kAnim0FrameTicks, kAnim0FrameRects}, + {6, kAnim1FrameIndices, kAnim1FrameTicks, kAnim1FrameRects}, + {4, kAnim2FrameIndices, kAnim2FrameTicks, kAnim2FrameRects}, + {5, kAnim3FrameIndices, kAnim3FrameTicks, kAnim3FrameRects}, + {2, kAnim4FrameIndices, kAnim4FrameTicks, kAnim4FrameRects}, + {1, kAnim5FrameIndices, kAnim5FrameTicks, kAnim5FrameRects}, + {9, kAnim6FrameIndices, kAnim6FrameTicks, kAnim6FrameRects}, + {1, kAnim7FrameIndices, kAnim7FrameTicks, kAnim7FrameRects}, + {1, kAnim8FrameIndices, kAnim8FrameTicks, kAnim8FrameRects}, + {1, kAnim9FrameIndices, kAnim9FrameTicks, kAnim9FrameRects}, + {1, kAnim10FrameIndices, kAnim10FrameTicks, kAnim10FrameRects}, + {34, kAnim11FrameIndices, kAnim11FrameTicks, kAnim11FrameRects}, + {14, kAnim12FrameIndices, kAnim12FrameTicks, kAnim12FrameRects}, + {31, kAnim13FrameIndices, kAnim13FrameTicks, kAnim13FrameRects}, + {31, kAnim14FrameIndices, kAnim14FrameTicks, kAnim14FrameRects}, + {31, kAnim15FrameIndices, kAnim15FrameTicks, kAnim15FrameRects}, + {31, kAnim16FrameIndices, kAnim16FrameTicks, kAnim16FrameRects}, + {31, kAnim17FrameIndices, kAnim17FrameTicks, kAnim17FrameRects}, + {31, kAnim18FrameIndices, kAnim18FrameTicks, kAnim18FrameRects}, + {1, kAnim19FrameIndices, kAnim19FrameTicks, kAnim19FrameRects}, + {10, kAnim20FrameIndices, kAnim20FrameTicks, kAnim20FrameRects}, + {1, kAnim21FrameIndices, kAnim21FrameTicks, kAnim21FrameRects}, + {1, kAnim22FrameIndices, kAnim22FrameTicks, kAnim22FrameRects}, + {1, kAnim23FrameIndices, kAnim23FrameTicks, kAnim23FrameRects}, + {2, kAnim24FrameIndices, kAnim24FrameTicks, kAnim24FrameRects}, + {6, kAnim25FrameIndices, kAnim25FrameTicks, kAnim25FrameRects}, + {6, kAnim26FrameIndices, kAnim26FrameTicks, kAnim26FrameRects} +}; + +const ObjAnimation *MinigameBbTennis::getAnimation(int animIndex) { + return &kAnimations[animIndex]; +} + +} // End of namespace Bbvs diff --git a/engines/bbvs/minigames/minigame.cpp b/engines/bbvs/minigames/minigame.cpp new file mode 100644 index 0000000000..299836ab00 --- /dev/null +++ b/engines/bbvs/minigames/minigame.cpp @@ -0,0 +1,74 @@ +/* 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 "bbvs/minigames/minigame.h" + +namespace Bbvs { + +Minigame::Minigame(BbvsEngine *vm) + : _vm(vm), _spriteModule(0) { +} + +Minigame::~Minigame() { +} + +int Minigame::drawNumber(DrawList &drawList, int number, int x, int y) { + int digits = 1, rightX = x; + + for (int mag = 10; number / mag != 0; mag *= 10) + ++digits; + + rightX = x + digits * 10; + x = rightX; + + while (digits--) { + const int n = number % 10; + x -= 10; + drawList.add(_numbersAnim->frameIndices[n], x, y, 2000); + number /= 10; + } + + return rightX; +} + +void Minigame::playSound(uint index, bool loop) { + if (index > 0) + _vm->_sound->playSound(index - 1, loop); +} + +void Minigame::stopSound(uint index) { + if (index > 0) + _vm->_sound->stopSound(index - 1); +} + +bool Minigame::isSoundPlaying(uint index) { + return index > 0 && _vm->_sound->isSoundPlaying(index - 1); +} + +bool Minigame::isAnySoundPlaying(const uint *indices, uint count) { + for (uint i = 0; i < count; ++i) + if (isSoundPlaying(indices[i])) + return true; + return false; +} + +} // End of namespace Bbvs diff --git a/engines/bbvs/minigames/minigame.h b/engines/bbvs/minigames/minigame.h new file mode 100644 index 0000000000..09630ae228 --- /dev/null +++ b/engines/bbvs/minigames/minigame.h @@ -0,0 +1,70 @@ +/* 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. + * + */ + +#ifndef BBVS_MINIGAMES_MINIGAME_H +#define BBVS_MINIGAMES_MINIGAME_H + +#include "bbvs/bbvs.h" +#include "bbvs/graphics.h" +#include "bbvs/sound.h" +#include "bbvs/spritemodule.h" + +namespace Bbvs { + +struct ObjAnimation { + int frameCount; + const int *frameIndices; + const int16 *frameTicks; + const BBRect *frameRects; +}; + +class Minigame { +public: + Minigame(BbvsEngine *vm); + virtual ~Minigame(); + virtual int run(uint flags) = 0; +public: + BbvsEngine *_vm; + SpriteModule *_spriteModule; + + int _gameState; + int _gameTicks; + int _gameResult; + bool _gameDone; + bool _fromMainGame; + + int _backgroundSpriteIndex, _titleScreenSpriteIndex; + + const ObjAnimation *_numbersAnim; + + int drawNumber(DrawList &drawList, int number, int x, int y); + + void playSound(uint index, bool loop = false); + void stopSound(uint index); + bool isSoundPlaying(uint index); + bool isAnySoundPlaying(const uint *indices, uint count); + +}; + +} // End of namespace Bbvs + +#endif // BBVS_H diff --git a/engines/bbvs/module.mk b/engines/bbvs/module.mk new file mode 100644 index 0000000000..eb6dc86332 --- /dev/null +++ b/engines/bbvs/module.mk @@ -0,0 +1,29 @@ +MODULE := engines/bbvs + +MODULE_OBJS := \ + bbvs.o \ + detection.o \ + dialogs.o \ + gamemodule.o \ + graphics.o \ + saveload.o \ + sound.o \ + spritemodule.o \ + videoplayer.o \ + minigames/bbairguitar.o \ + minigames/bbairguitar_anims.o \ + minigames/bbant.o \ + minigames/bbant_anims.o \ + minigames/bbloogie.o \ + minigames/bbloogie_anims.o \ + minigames/bbtennis.o \ + minigames/bbtennis_anims.o \ + minigames/minigame.o + +# This module can be built as a plugin +ifeq ($(ENABLE_BBVS), DYNAMIC_PLUGIN) +PLUGIN := 1 +endif + +# Include common rules +include $(srcdir)/rules.mk diff --git a/engines/bbvs/saveload.cpp b/engines/bbvs/saveload.cpp new file mode 100644 index 0000000000..6714cd0ea1 --- /dev/null +++ b/engines/bbvs/saveload.cpp @@ -0,0 +1,287 @@ +/* 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 "bbvs/bbvs.h" +#include "bbvs/gamemodule.h" +#include "common/savefile.h" +#include "graphics/thumbnail.h" + +namespace Bbvs { + +BbvsEngine::kReadSaveHeaderError BbvsEngine::readSaveHeader(Common::SeekableReadStream *in, bool loadThumbnail, SaveHeader &header) { + + header.version = in->readUint32LE(); + if (header.version > BBVS_SAVEGAME_VERSION) + return kRSHEInvalidVersion; + + byte descriptionLen = in->readByte(); + header.description = ""; + while (descriptionLen--) + header.description += (char)in->readByte(); + + if (loadThumbnail) { + header.thumbnail = Graphics::loadThumbnail(*in); + } else { + Graphics::skipThumbnail(*in); + } + + // Not used yet, reserved for future usage + header.gameID = in->readByte(); + header.flags = in->readUint32LE(); + + header.saveDate = in->readUint32LE(); + header.saveTime = in->readUint32LE(); + header.playTime = in->readUint32LE(); + + return ((in->eos() || in->err()) ? kRSHEIoError : kRSHENoError); +} + +void BbvsEngine::savegame(const char *filename, const char *description) { + + Common::OutSaveFile *out; + if (!(out = g_system->getSavefileManager()->openForSaving(filename))) { + warning("Can't create file '%s', game not saved", filename); + return; + } + + TimeDate curTime; + g_system->getTimeAndDate(curTime); + + // Header start + out->writeUint32LE(BBVS_SAVEGAME_VERSION); + + byte descriptionLen = strlen(description); + out->writeByte(descriptionLen); + out->write(description, descriptionLen); + + Graphics::saveThumbnail(*out); + + // Not used yet, reserved for future usage + out->writeByte(0); + out->writeUint32LE(0); + uint32 saveDate = ((curTime.tm_mday & 0xFF) << 24) | (((curTime.tm_mon + 1) & 0xFF) << 16) | ((curTime.tm_year + 1900) & 0xFFFF); + uint32 saveTime = ((curTime.tm_hour & 0xFF) << 16) | (((curTime.tm_min) & 0xFF) << 8) | ((curTime.tm_sec) & 0xFF); + uint32 playTime = g_engine->getTotalPlayTime() / 1000; + out->writeUint32LE(saveDate); + out->writeUint32LE(saveTime); + out->writeUint32LE(playTime); + // Header end + + out->write(_snapshot, _snapshotStream->pos()); + + out->finalize(); + delete out; +} + +void BbvsEngine::loadgame(const char *filename) { + Common::InSaveFile *in; + if (!(in = g_system->getSavefileManager()->openForLoading(filename))) { + warning("Can't open file '%s', game not loaded", filename); + return; + } + + SaveHeader header; + + kReadSaveHeaderError errorCode = readSaveHeader(in, false, header); + + if (errorCode != kRSHENoError) { + warning("Error loading savegame '%s'", filename); + delete in; + return; + } + + g_engine->setTotalPlayTime(header.playTime * 1000); + + memset(_sceneObjects, 0, sizeof(_sceneObjects)); + for (int i = 0; i < kSceneObjectsCount; ++i) { + _sceneObjects[i].walkDestPt.x = -1; + _sceneObjects[i].walkDestPt.y = -1; + } + + _currSceneNum = 0; + _newSceneNum = in->readUint32LE(); + + initScene(false); + + _prevSceneNum = in->readUint32LE(); + _gameState = in->readUint32LE(); + _mouseCursorSpriteIndex = in->readUint32LE(); + _mousePos.x = in->readUint16LE(); + _mousePos.y = in->readUint16LE(); + _currVerbNum = in->readUint32LE(); + _activeItemType = in->readUint32LE(); + _activeItemIndex = in->readUint32LE(); + _verbPos.x = in->readUint16LE(); + _verbPos.y = in->readUint16LE(); + _inventoryButtonIndex = in->readUint32LE(); + _currInventoryItem = in->readUint32LE(); + _currTalkObjectIndex = in->readUint32LE(); + _currCameraNum = in->readUint32LE(); + _cameraPos.x = in->readUint16LE(); + _cameraPos.y = in->readUint16LE(); + _newCameraPos.x = in->readUint16LE(); + _newCameraPos.y = in->readUint16LE(); + _dialogSlotCount = in->readUint32LE(); + _walkMousePos.x = in->readUint16LE(); + _walkMousePos.y = in->readUint16LE(); + in->read(_backgroundSoundsActive, kSceneSoundsCount); + in->read(_inventoryItemStatus, kInventoryItemStatusCount); + in->read(_dialogItemStatus, kDialogItemStatusCount); + in->read(_gameVars, kGameVarsCount); + in->read(_sceneVisited, kSceneVisitedCount); + for (int i = 0; i < _gameModule->getSceneObjectDefsCount(); ++i) { + SceneObject *obj = &_sceneObjects[i]; + obj->x = in->readUint32LE(); + obj->y = in->readUint32LE(); + obj->animIndex = in->readUint32LE(); + obj->frameIndex = in->readUint32LE(); + obj->frameTicks = in->readUint32LE(); + obj->walkCount = in->readUint32LE(); + obj->xIncr = in->readUint32LE(); + obj->yIncr = in->readUint32LE(); + obj->turnValue = in->readUint32LE(); + obj->turnCount = in->readUint32LE(); + obj->turnTicks = in->readUint32LE(); + obj->walkDestPt.x = in->readUint16LE(); + obj->walkDestPt.y = in->readUint16LE(); + obj->anim = obj->animIndex > 0 ? _gameModule->getAnimation(obj->animIndex) : 0; +#if 0 + debug("obj(%d) [%s]:", i, obj->sceneObjectDef->name); + debug("\tx: %d; y: %d; animIndex: %d", obj->x, obj->y, obj->animIndex); + debug("\tframeIndex: %d; frameTicks: %d", obj->frameIndex, obj->frameTicks); + debug("\twalkCount: %d; xIncr: %d; yIncr: %d", obj->walkCount, obj->xIncr, obj->yIncr); + debug("\tturnValue: %d; turnValue: %d; turnTicks: %d", obj->turnValue, obj->turnCount, obj->turnTicks); + debug("\twalkDestPt.x: %d; walkDestPt.y: %d", obj->walkDestPt.x, obj->walkDestPt.y); +#endif + } + + updateWalkableRects(); + + // Restart scene background sounds + for (int i = 0; i < _gameModule->getSceneSoundsCount(); ++i) { + if (_backgroundSoundsActive[i]) { + SceneSound *sceneSound = _gameModule->getSceneSound(i); + playSound(sceneSound->soundNum, true); + } + } + + _currAction = 0; + _currActionCommandIndex = -1; + + delete in; + +} + +Common::Error BbvsEngine::loadGameState(int slot) { + const char *fileName = getSavegameFilename(slot); + loadgame(fileName); + return Common::kNoError; +} + +Common::Error BbvsEngine::saveGameState(int slot, const Common::String &description) { + const char *fileName = getSavegameFilename(slot); + savegame(fileName, description.c_str()); + return Common::kNoError; +} + +const char *BbvsEngine::getSavegameFilename(int num) { + static Common::String filename; + filename = getSavegameFilename(_targetName, num); + return filename.c_str(); +} + +Common::String BbvsEngine::getSavegameFilename(const Common::String &target, int num) { + assert(num >= 0 && num <= 999); + return Common::String::format("%s.%03d", target.c_str(), num); +} + +bool BbvsEngine::existsSavegame(int num) { + return _system->getSavefileManager()->listSavefiles(getSavegameFilename(_targetName, num)).size() != 0; +} + +void BbvsEngine::allocSnapshot() { + _snapshotSize = 23072; + _snapshot = new byte[_snapshotSize]; + _snapshotStream = new Common::SeekableMemoryWriteStream(_snapshot, _snapshotSize); +} + +void BbvsEngine::freeSnapshot() { + delete _snapshotStream; + delete[] _snapshot; +} + +void BbvsEngine::saveSnapshot() { + _hasSnapshot = true; + _snapshotStream->seek(0); + _snapshotStream->writeUint32LE(_currSceneNum); + _snapshotStream->writeUint32LE(_prevSceneNum); + _snapshotStream->writeUint32LE(_gameState); + _snapshotStream->writeUint32LE(_mouseCursorSpriteIndex); + _snapshotStream->writeUint16LE(_mousePos.x); + _snapshotStream->writeUint16LE(_mousePos.y); + _snapshotStream->writeUint32LE(_currVerbNum); + _snapshotStream->writeUint32LE(_activeItemType); + _snapshotStream->writeUint32LE(_activeItemIndex); + _snapshotStream->writeUint16LE(_verbPos.x); + _snapshotStream->writeUint16LE(_verbPos.y); + _snapshotStream->writeUint32LE(_inventoryButtonIndex); + _snapshotStream->writeUint32LE(_currInventoryItem); + _snapshotStream->writeUint32LE(_currTalkObjectIndex); + _snapshotStream->writeUint32LE(_currCameraNum); + _snapshotStream->writeUint16LE(_cameraPos.x); + _snapshotStream->writeUint16LE(_cameraPos.y); + _snapshotStream->writeUint16LE(_newCameraPos.x); + _snapshotStream->writeUint16LE(_newCameraPos.y); + _snapshotStream->writeUint32LE(_dialogSlotCount); + _snapshotStream->writeUint16LE(_walkMousePos.x); + _snapshotStream->writeUint16LE(_walkMousePos.y); + _snapshotStream->write(_backgroundSoundsActive, kSceneSoundsCount); + _snapshotStream->write(_inventoryItemStatus, kInventoryItemStatusCount); + _snapshotStream->write(_dialogItemStatus, kDialogItemStatusCount); + _snapshotStream->write(_gameVars, kGameVarsCount); + _snapshotStream->write(_sceneVisited, kSceneVisitedCount); + for (int i = 0; i < _gameModule->getSceneObjectDefsCount(); ++i) { + SceneObject *obj = &_sceneObjects[i]; + _snapshotStream->writeUint32LE(obj->x); + _snapshotStream->writeUint32LE(obj->y); + _snapshotStream->writeUint32LE(obj->animIndex); + _snapshotStream->writeUint32LE(obj->frameIndex); + _snapshotStream->writeUint32LE(obj->frameTicks); + _snapshotStream->writeUint32LE(obj->walkCount); + _snapshotStream->writeUint32LE(obj->xIncr); + _snapshotStream->writeUint32LE(obj->yIncr); + _snapshotStream->writeUint32LE(obj->turnValue); + _snapshotStream->writeUint32LE(obj->turnCount); + _snapshotStream->writeUint32LE(obj->turnTicks); + _snapshotStream->writeUint16LE(obj->walkDestPt.x); + _snapshotStream->writeUint16LE(obj->walkDestPt.y); + } +} + +void BbvsEngine::writeContinueSavegame() { + if (_hasSnapshot) { + saveGameState(0, "Continue"); + } +} + +} // End of namespace Bbvs diff --git a/engines/bbvs/sound.cpp b/engines/bbvs/sound.cpp new file mode 100644 index 0000000000..7f9c00ad48 --- /dev/null +++ b/engines/bbvs/sound.cpp @@ -0,0 +1,107 @@ +/* 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 "bbvs/sound.h" +#include "audio/decoders/aiff.h" +#include "common/debug.h" +#include "common/file.h" +#include "common/system.h" + +namespace Bbvs { + +Sound::Sound() : _stream(0) { +} + +Sound::~Sound() { + stop(); + delete _stream; +} + +void Sound::load(const Common::String &filename) { + Common::File *fd = new Common::File(); + if (!fd->open(filename)) { + delete fd; + error("SoundMan::loadSound() Could not load %s", filename.c_str()); + } + _stream = Audio::makeAIFFStream(fd, DisposeAfterUse::YES); + _filename = filename; +} + +void Sound::play(bool loop) { + debug(0, "Sound::play() [%s] loop:%d", _filename.c_str(), loop); + stop(); + _stream->rewind(); + Audio::AudioStream *audioStream = Audio::makeLoopingAudioStream(_stream, loop ? 0 : 1); + g_system->getMixer()->playStream(Audio::Mixer::kSFXSoundType, &_handle, audioStream, + -1, Audio::Mixer::kMaxChannelVolume, 0, DisposeAfterUse::NO); +} + +void Sound::stop() { + g_system->getMixer()->stopHandle(_handle); +} + +bool Sound::isPlaying() { + return g_system->getMixer()->isSoundHandleActive(_handle); +} + +SoundMan::~SoundMan() { + stopAllSounds(); + unloadSounds(); +} + +void SoundMan::loadSound(const Common::String &filename) { + Sound *sound = new Sound(); + sound->load(filename); + _sounds.push_back(sound); +} + +void SoundMan::playSound(uint index, bool loop) { + _sounds[index]->play(loop); +} + +void SoundMan::stopSound(uint index) { + _sounds[index]->stop(); +} + +bool SoundMan::isSoundPlaying(uint index) { + return _sounds[index]->isPlaying(); +} + +bool SoundMan::isAnySoundPlaying(uint *indices, uint count) { + for (uint i = 0; i < count; ++i) + if (isSoundPlaying(indices[i])) + return true; + return false; +} + +void SoundMan::unloadSounds() { + for (uint i = 0; i < _sounds.size(); ++i) + delete _sounds[i]; + _sounds.clear(); +} + +void SoundMan::stopAllSounds() { + for (uint i = 0; i < _sounds.size(); ++i) + _sounds[i]->stop(); +} + +} // End of namespace Bbvs diff --git a/engines/bbvs/sound.h b/engines/bbvs/sound.h new file mode 100644 index 0000000000..24f14fc70f --- /dev/null +++ b/engines/bbvs/sound.h @@ -0,0 +1,63 @@ +/* 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. + * + */ + +#ifndef BBVS_SOUND_H +#define BBVS_SOUND_H + +#include "audio/audiostream.h" +#include "audio/mixer.h" +#include "common/array.h" + +namespace Bbvs { + +class Sound { +public: + Sound(); + ~Sound(); + void load(const Common::String &filename); + void play(bool loop); + void stop(); + bool isPlaying(); +protected: + Audio::SeekableAudioStream *_stream; + Audio::SoundHandle _handle; + // Keep the filename for debugging purposes + Common::String _filename; +}; + +class SoundMan { +public: + ~SoundMan(); + void loadSound(const Common::String &fileName); + void playSound(uint index, bool loop = false); + void stopSound(uint index); + bool isSoundPlaying(uint index); + bool isAnySoundPlaying(uint *indices, uint count); + void unloadSounds(); + void stopAllSounds(); +protected: + Common::Array _sounds; +}; + +} // End of namespace Bbvs + +#endif // BBVS_H diff --git a/engines/bbvs/spritemodule.cpp b/engines/bbvs/spritemodule.cpp new file mode 100644 index 0000000000..8eae7f9a6a --- /dev/null +++ b/engines/bbvs/spritemodule.cpp @@ -0,0 +1,112 @@ +/* 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 "bbvs/spritemodule.h" + +namespace Bbvs { + +byte *Sprite::getRow(int y) { + if (type == 1) + return data + READ_LE_UINT32((data + offset) + y * 4); + else + return data + offset + y * width; +} + +SpriteModule::SpriteModule() + : _spritesCount(0), _paletteStart(0), _paletteCount(0), _spriteData(0) { +} + +SpriteModule::~SpriteModule() { + unload(); +} + +void SpriteModule::load(const char *filename) { + unload(); + + Common::File fd; + if (!fd.open(filename)) + error("SpriteModule::load() Could not open %s", filename); + + fd.readUint32LE(); // Skip magic + fd.readUint32LE(); // Skip unused + fd.readUint32LE(); // Skip filesize + + _paletteOffs = fd.readUint32LE(); + fd.readUint32LE(); // Skip unused flagsTbl1Ofs + fd.readUint32LE(); // Skip unused flagsTbl2Ofs + _spriteTblOffs = fd.readUint32LE(); + _paletteStart = fd.readUint32LE(); + _paletteCount = fd.readUint32LE(); + _spritesCount = fd.readUint32LE(); + + debug(0, "_paletteOffs: %08X", _paletteOffs); + debug(0, "_spriteTblOffs: %08X", _spriteTblOffs); + debug(0, "_paletteStart: %d", _paletteStart); + debug(0, "_paletteCount: %d", _paletteCount); + debug(0, "_spritesCount: %d", _spritesCount); + + _spriteDataSize = fd.size(); + _spriteData = new byte[_spriteDataSize]; + fd.seek(0); + fd.read(_spriteData, _spriteDataSize); + + // Convert palette + byte *palette = _spriteData + _paletteOffs; + for (int i = 0; i < _paletteCount; ++i) { + palette[i * 3 + 0] <<= 2; + palette[i * 3 + 1] <<= 2; + palette[i * 3 + 2] <<= 2; + } + +} + +Sprite SpriteModule::getSprite(int index) { + Sprite sprite; + uint32 spriteOffs = READ_LE_UINT32(_spriteData + _spriteTblOffs + index * 4); + byte *info = _spriteData + spriteOffs; + sprite.data = _spriteData; + sprite.offset = READ_LE_UINT32(info + 0); + sprite.type = READ_LE_UINT32(info + 4); + sprite.width = READ_LE_UINT32(info + 8); + sprite.height = READ_LE_UINT32(info + 12); + sprite.xOffs = READ_LE_UINT32(info + 16); + sprite.yOffs = READ_LE_UINT32(info + 20); + return sprite; +} + +Palette SpriteModule::getPalette() { + Palette palette; + palette.data = _spriteData + _paletteOffs; + palette.start = _paletteStart; + palette.count = _paletteCount; + return palette; +} + +void SpriteModule::unload() { + _spritesCount = 0; + _paletteStart = 0; + _paletteCount = 0; + delete[] _spriteData; + _spriteData = 0; +} + +} // End of namespace Bbvs diff --git a/engines/bbvs/spritemodule.h b/engines/bbvs/spritemodule.h new file mode 100644 index 0000000000..13469f7543 --- /dev/null +++ b/engines/bbvs/spritemodule.h @@ -0,0 +1,68 @@ +/* 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. + * + */ + +#ifndef BBVS_SPRITEMODULE_H +#define BBVS_SPRITEMODULE_H + +#include "common/array.h" +#include "common/file.h" +#include "common/memstream.h" +#include "common/rect.h" +#include "common/str.h" + +namespace Bbvs { + +struct Sprite { + int type; + int xOffs, yOffs; + int width, height; + byte *data; + uint32 offset; + byte *getRow(int y); +}; + +struct Palette { + byte *data; + int start, count; +}; + +class SpriteModule { +public: + SpriteModule(); + ~SpriteModule(); + void load(const char *filename); + int getSpriteCount() { return _spritesCount; } + Sprite getSprite(int index); + Palette getPalette(); +protected: + byte *_spriteData; + int _spriteDataSize; + int _spritesCount; + uint32 _spriteTblOffs; + uint32 _paletteOffs; + int _paletteStart, _paletteCount; + void unload(); +}; + +} // End of namespace Bbvs + +#endif // BBVS_H diff --git a/engines/bbvs/videoplayer.cpp b/engines/bbvs/videoplayer.cpp new file mode 100644 index 0000000000..2da4cd0b6a --- /dev/null +++ b/engines/bbvs/videoplayer.cpp @@ -0,0 +1,83 @@ +/* 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 "bbvs/bbvs.h" +#include "engines/util.h" +#include "graphics/palette.h" +#include "graphics/surface.h" +#include "video/avi_decoder.h" + +namespace Bbvs { + +void BbvsEngine::playVideo(int videoNum) { + debug("BbvsEngine::playVideo() videoNum: %d", videoNum); + Common::String videoFilename; + + if (videoNum >= 100) + videoFilename = Common::String::format("snd/snd%05d.avi", videoNum + 1400); + else + videoFilename = Common::String::format("vid/video%03d.avi", videoNum - 1); + + debug("BbvsEngine::playVideo() videoFilename: %s", videoFilename.c_str()); + + // Set the correct video mode + Common::List formats; + // RGB565 16bit + Graphics::PixelFormat pixelFormat(2, 5, 6, 5, 0, 11, 5, 0, 0); + formats.push_back(pixelFormat); + initGraphics(320, 240, false, formats); + if (_system->getScreenFormat().bytesPerPixel != pixelFormat.bytesPerPixel) + error("Could not switch screen format for the video"); + + Video::VideoDecoder *videoDecoder = new Video::AVIDecoder(); + videoDecoder->loadFile(videoFilename); + + videoDecoder->start(); + + bool skipVideo = false; + + while (!shouldQuit() && !videoDecoder->endOfVideo() && !skipVideo) { + if (videoDecoder->needsUpdate()) { + const Graphics::Surface *frame = videoDecoder->decodeNextFrame(); + if (frame) { + _system->copyRectToScreen(frame->getPixels(), frame->pitch, 0, 0, frame->w, frame->h); + _system->updateScreen(); + } + } + + Common::Event event; + while (g_system->getEventManager()->pollEvent(event)) { + if ((event.type == Common::EVENT_KEYDOWN && event.kbd.keycode == Common::KEYCODE_ESCAPE) || + event.type == Common::EVENT_LBUTTONUP) + skipVideo = true; + } + + _system->delayMillis(10); + } + + delete videoDecoder; + + initGraphics(320, 240, false); + +} + +} // End of namespace Bbvs diff --git a/engines/configure.engines b/engines/configure.engines index 20e5a56ef1..13611a5037 100644 --- a/engines/configure.engines +++ b/engines/configure.engines @@ -53,3 +53,4 @@ add_engine tony "Tony Tough and the Night of Roasted Moths" yes "" "" "16bit" add_engine tsage "TsAGE" yes add_engine tucker "Bud Tucker in Double Trouble" yes add_engine wintermute "Wintermute" no "" "" "jpeg png zlib vorbis 16bit" +add_engine bbvs "Beavis and Butthead in Virtual Stupidity" no diff --git a/engines/engines.mk b/engines/engines.mk index 5b3eeea61c..89f4862bc7 100644 --- a/engines/engines.mk +++ b/engines/engines.mk @@ -26,6 +26,11 @@ DEFINES += -DENABLE_AGOS2 endif endif +ifdef ENABLE_BBVS +DEFINES += -DENABLE_BBVS=$(ENABLE_BBVS) +MODULES += engines/bbvs +endif + ifdef ENABLE_CGE DEFINES += -DENABLE_CGE=$(ENABLE_CGE) MODULES += engines/cge diff --git a/engines/plugins_table.h b/engines/plugins_table.h index ee7713bb76..801f152760 100644 --- a/engines/plugins_table.h +++ b/engines/plugins_table.h @@ -8,6 +8,9 @@ LINK_PLUGIN(AGI) #if PLUGIN_ENABLED_STATIC(AGOS) LINK_PLUGIN(AGOS) #endif +#if PLUGIN_ENABLED_STATIC(BBVS) +LINK_PLUGIN(BBVS) +#endif #if PLUGIN_ENABLED_STATIC(CGE) LINK_PLUGIN(CGE) #endif -- cgit v1.2.3 From 11a58071101d84bc02ac5e9a4e3dee209d0d5df9 Mon Sep 17 00:00:00 2001 From: johndoe123 Date: Sat, 25 Jan 2014 22:55:12 +0100 Subject: BBVS: Remove obsolete code in BbAnt minigame --- engines/bbvs/minigames/bbant.cpp | 21 --------------------- engines/bbvs/minigames/bbant.h | 4 ---- 2 files changed, 25 deletions(-) diff --git a/engines/bbvs/minigames/bbant.cpp b/engines/bbvs/minigames/bbant.cpp index 24dbd45b81..131355622b 100644 --- a/engines/bbvs/minigames/bbant.cpp +++ b/engines/bbvs/minigames/bbant.cpp @@ -1316,25 +1316,4 @@ void MinigameBbAnt::loadSounds() { } } -void MinigameBbAnt::playSound(uint index, bool loop) { - if (index > 0) - _vm->_sound->playSound(index - 1, loop); -} - -void MinigameBbAnt::stopSound(uint index) { - if (index > 0) - _vm->_sound->stopSound(index - 1); -} - -bool MinigameBbAnt::isSoundPlaying(uint index) { - return index > 0 && _vm->_sound->isSoundPlaying(index - 1); -} - -bool MinigameBbAnt::isAnySoundPlaying(const uint *indices, uint count) { - for (uint i = 0; i < count; ++i) - if (isSoundPlaying(indices[i])) - return true; - return false; -} - } // End of namespace Bbvs diff --git a/engines/bbvs/minigames/bbant.h b/engines/bbvs/minigames/bbant.h index b9919ee14b..cdf358f94d 100644 --- a/engines/bbvs/minigames/bbant.h +++ b/engines/bbvs/minigames/bbant.h @@ -165,10 +165,6 @@ public: void scale2x(int x, int y); void loadSounds(); - void playSound(uint index, bool loop = false); - void stopSound(uint index); - bool isSoundPlaying(uint index); - bool isAnySoundPlaying(const uint *indices, uint count); }; -- cgit v1.2.3 From ef55f5b774b55bd085b05ab704ff9418af960670 Mon Sep 17 00:00:00 2001 From: johndoe123 Date: Sat, 25 Jan 2014 23:16:27 +0100 Subject: BBVS: Replace minigame flags parameter --- engines/bbvs/bbvs.cpp | 18 +++++++++--------- engines/bbvs/minigames/bbairguitar.cpp | 6 ++---- engines/bbvs/minigames/bbairguitar.h | 2 +- engines/bbvs/minigames/bbant.cpp | 6 ++---- engines/bbvs/minigames/bbant.h | 2 +- engines/bbvs/minigames/bbloogie.cpp | 6 ++---- engines/bbvs/minigames/bbloogie.h | 2 +- engines/bbvs/minigames/bbtennis.cpp | 6 ++---- engines/bbvs/minigames/bbtennis.h | 2 +- engines/bbvs/minigames/minigame.h | 9 ++++++++- 10 files changed, 29 insertions(+), 30 deletions(-) diff --git a/engines/bbvs/bbvs.cpp b/engines/bbvs/bbvs.cpp index 2b0a4a5d51..091bcd627f 100644 --- a/engines/bbvs/bbvs.cpp +++ b/engines/bbvs/bbvs.cpp @@ -26,6 +26,7 @@ #include "bbvs/graphics.h" #include "bbvs/sound.h" #include "bbvs/spritemodule.h" +#include "bbvs/minigames/minigame.h" #include "bbvs/minigames/bbairguitar.h" #include "bbvs/minigames/bbant.h" #include "bbvs/minigames/bbloogie.h" @@ -2145,26 +2146,23 @@ void BbvsEngine::stopSounds() { bool BbvsEngine::runMinigame(int minigameNum) { debug("BbvsEngine::runMinigame() minigameNum: %d", minigameNum); - int callFlags = 0; + bool fromMainGame = _currSceneNum != kMainMenu; - if (_currSceneNum != kMainMenu) - callFlags = 1; - _sound->unloadSounds(); Minigame *minigame = 0; switch (minigameNum) { - case 0: + case kMinigameBbloogie: minigame = new MinigameBbloogie(this); break; - case 1: + case kMinigameBbTennis: minigame = new MinigameBbTennis(this); break; - case 2: + case kMinigameBbAnt: minigame = new MinigameBbAnt(this); break; - case 3: + case kMinigameBbAirGuitar: minigame = new MinigameBbAirGuitar(this); break; default: @@ -2172,7 +2170,7 @@ bool BbvsEngine::runMinigame(int minigameNum) { break; } - int minigameResult = minigame->run(callFlags); + int minigameResult = minigame->run(fromMainGame); delete minigame; @@ -2180,9 +2178,11 @@ bool BbvsEngine::runMinigame(int minigameNum) { if (minigameNum == 0 && minigameResult == 1) _gameVars[42] = 1; +#if 0 //DEBUG Fake it :) if (minigameNum == 0) _gameVars[42] = 1; +#endif return true; } diff --git a/engines/bbvs/minigames/bbairguitar.cpp b/engines/bbvs/minigames/bbairguitar.cpp index f81bb498fd..b5d9d2ad83 100644 --- a/engines/bbvs/minigames/bbairguitar.cpp +++ b/engines/bbvs/minigames/bbairguitar.cpp @@ -732,7 +732,7 @@ void MinigameBbAirGuitar::updateObjs() { } } -int MinigameBbAirGuitar::run(uint flags) { +int MinigameBbAirGuitar::run(bool fromMainGame) { memset(_objects, 0, sizeof(_objects)); @@ -762,9 +762,7 @@ int MinigameBbAirGuitar::run(uint flags) { _backgroundSpriteIndex = 97; _titleScreenSpriteIndex = 98; - _fromMainGame = false; - if (flags & 1) - _fromMainGame = true; + _fromMainGame = fromMainGame; _gameState = 0; _gameTicks = 0; diff --git a/engines/bbvs/minigames/bbairguitar.h b/engines/bbvs/minigames/bbairguitar.h index 70ba5800ce..5c1eb00dfd 100644 --- a/engines/bbvs/minigames/bbairguitar.h +++ b/engines/bbvs/minigames/bbairguitar.h @@ -30,7 +30,7 @@ namespace Bbvs { class MinigameBbAirGuitar : public Minigame { public: MinigameBbAirGuitar(BbvsEngine *vm) : Minigame(vm) {}; - int run(uint flags); + int run(bool fromMainGame); public: struct Obj { diff --git a/engines/bbvs/minigames/bbant.cpp b/engines/bbvs/minigames/bbant.cpp index 131355622b..fa36c7d469 100644 --- a/engines/bbvs/minigames/bbant.cpp +++ b/engines/bbvs/minigames/bbant.cpp @@ -1185,7 +1185,7 @@ void MinigameBbAnt::updateObjs(uint mouseButtons) { } -int MinigameBbAnt::run(uint flags) { +int MinigameBbAnt::run(bool fromMainGame) { memset(_objects, 0, sizeof(_objects)); @@ -1194,9 +1194,7 @@ int MinigameBbAnt::run(uint flags) { _backgroundSpriteIndex = 303; _titleScreenSpriteIndex = 304; - _fromMainGame = false; - if (flags & 1) - _fromMainGame = true; + _fromMainGame = fromMainGame; _hiScore = 0; _gameState = 0; diff --git a/engines/bbvs/minigames/bbant.h b/engines/bbvs/minigames/bbant.h index cdf358f94d..a133d66862 100644 --- a/engines/bbvs/minigames/bbant.h +++ b/engines/bbvs/minigames/bbant.h @@ -30,7 +30,7 @@ namespace Bbvs { class MinigameBbAnt : public Minigame { public: MinigameBbAnt(BbvsEngine *vm) : Minigame(vm) {}; - int run(uint flags); + int run(bool fromMainGame); public: struct Obj { diff --git a/engines/bbvs/minigames/bbloogie.cpp b/engines/bbvs/minigames/bbloogie.cpp index 4098eb2d94..b79e8c7752 100644 --- a/engines/bbvs/minigames/bbloogie.cpp +++ b/engines/bbvs/minigames/bbloogie.cpp @@ -1264,7 +1264,7 @@ void MinigameBbloogie::playRndSound() { playSound(_playerSounds1[_vm->getRandom(_playerSounds1Count)]); } -int MinigameBbloogie::run(uint flags) { +int MinigameBbloogie::run(bool fromMainGame) { memset(_objects, 0, sizeof(_objects)); @@ -1273,9 +1273,7 @@ int MinigameBbloogie::run(uint flags) { _backgroundSpriteIndex = 210; _titleScreenSpriteIndex = 211; - _fromMainGame = false; - if (flags & 1) - _fromMainGame = true; + _fromMainGame = fromMainGame; _hiScore = 0; if (!_fromMainGame) { diff --git a/engines/bbvs/minigames/bbloogie.h b/engines/bbvs/minigames/bbloogie.h index b05536b001..d01149ad0c 100644 --- a/engines/bbvs/minigames/bbloogie.h +++ b/engines/bbvs/minigames/bbloogie.h @@ -30,7 +30,7 @@ namespace Bbvs { class MinigameBbloogie : public Minigame { public: MinigameBbloogie(BbvsEngine *vm) : Minigame(vm) {}; - int run(uint flags); + int run(bool fromMainGame); public: struct Obj { diff --git a/engines/bbvs/minigames/bbtennis.cpp b/engines/bbvs/minigames/bbtennis.cpp index 87ea355a10..edf9cabbfb 100644 --- a/engines/bbvs/minigames/bbtennis.cpp +++ b/engines/bbvs/minigames/bbtennis.cpp @@ -1181,7 +1181,7 @@ void MinigameBbTennis::hitSomething() { ++_score; } -int MinigameBbTennis::run(uint flags) { +int MinigameBbTennis::run(bool fromMainGame) { memset(_objects, 0, sizeof(_objects)); @@ -1190,9 +1190,7 @@ int MinigameBbTennis::run(uint flags) { _backgroundSpriteIndex = 272; _titleScreenSpriteIndex = 273; - _fromMainGame = false; - if (flags & 1) - _fromMainGame = true; + _fromMainGame = fromMainGame; _hiScore = 0; if (!_fromMainGame) { diff --git a/engines/bbvs/minigames/bbtennis.h b/engines/bbvs/minigames/bbtennis.h index 63617c968c..644eec73b2 100644 --- a/engines/bbvs/minigames/bbtennis.h +++ b/engines/bbvs/minigames/bbtennis.h @@ -30,7 +30,7 @@ namespace Bbvs { class MinigameBbTennis : public Minigame { public: MinigameBbTennis(BbvsEngine *vm) : Minigame(vm) {}; - int run(uint flags); + int run(bool fromMainGame); public: struct Obj { diff --git a/engines/bbvs/minigames/minigame.h b/engines/bbvs/minigames/minigame.h index 09630ae228..33498be7ef 100644 --- a/engines/bbvs/minigames/minigame.h +++ b/engines/bbvs/minigames/minigame.h @@ -30,6 +30,13 @@ namespace Bbvs { +enum { + kMinigameBbloogie = 0, + kMinigameBbTennis = 1, + kMinigameBbAnt = 2, + kMinigameBbAirGuitar = 3 +}; + struct ObjAnimation { int frameCount; const int *frameIndices; @@ -41,7 +48,7 @@ class Minigame { public: Minigame(BbvsEngine *vm); virtual ~Minigame(); - virtual int run(uint flags) = 0; + virtual int run(bool fromMainGame) = 0; public: BbvsEngine *_vm; SpriteModule *_spriteModule; -- cgit v1.2.3 From 24fd6587959e2e7db805fcde13bb0e0fe005a8b2 Mon Sep 17 00:00:00 2001 From: johndoe123 Date: Sun, 26 Jan 2014 00:15:26 +0100 Subject: BBVS: Add loading/saving of minigame hiscores --- engines/bbvs/bbvs.cpp | 4 +- engines/bbvs/bbvs.h | 1 + engines/bbvs/minigames/bbairguitar.cpp | 6 +- engines/bbvs/minigames/bbant.cpp | 46 ++++++++------- engines/bbvs/minigames/bbloogie.cpp | 98 +++++++++++++++---------------- engines/bbvs/minigames/bbloogie.h | 4 +- engines/bbvs/minigames/bbloogie_anims.cpp | 2 +- engines/bbvs/minigames/bbtennis.cpp | 12 ++-- engines/bbvs/minigames/minigame.cpp | 30 ++++++++++ engines/bbvs/minigames/minigame.h | 13 ++-- 10 files changed, 122 insertions(+), 94 deletions(-) diff --git a/engines/bbvs/bbvs.cpp b/engines/bbvs/bbvs.cpp index 091bcd627f..e8db691280 100644 --- a/engines/bbvs/bbvs.cpp +++ b/engines/bbvs/bbvs.cpp @@ -2153,8 +2153,8 @@ bool BbvsEngine::runMinigame(int minigameNum) { Minigame *minigame = 0; switch (minigameNum) { - case kMinigameBbloogie: - minigame = new MinigameBbloogie(this); + case kMinigameBbLoogie: + minigame = new MinigameBbLoogie(this); break; case kMinigameBbTennis: minigame = new MinigameBbTennis(this); diff --git a/engines/bbvs/bbvs.h b/engines/bbvs/bbvs.h index eaeb529fb8..8d9ccc0279 100644 --- a/engines/bbvs/bbvs.h +++ b/engines/bbvs/bbvs.h @@ -216,6 +216,7 @@ public: void newGame(); void continueGameFromQuickSave(); void setNewSceneNum(int newSceneNum); + const Common::String getTargetName() { return _targetName; } private: const ADGameDescription *_gameDescription; Graphics::PixelFormat _pixelFormat; diff --git a/engines/bbvs/minigames/bbairguitar.cpp b/engines/bbvs/minigames/bbairguitar.cpp index b5d9d2ad83..f65c1b522a 100644 --- a/engines/bbvs/minigames/bbairguitar.cpp +++ b/engines/bbvs/minigames/bbairguitar.cpp @@ -736,6 +736,7 @@ int MinigameBbAirGuitar::run(bool fromMainGame) { memset(_objects, 0, sizeof(_objects)); + _modified = false; _currPatchNum = -1; _btn3KindToggle = 0; _currButtonNum = 27; @@ -783,7 +784,6 @@ int MinigameBbAirGuitar::run(bool fromMainGame) { update(); } - // Unload sounds _vm->_sound->unloadSounds(); delete _spriteModule; @@ -923,7 +923,7 @@ void MinigameBbAirGuitar::afterButtonReleased() { break; case 4: *_currFrameIndex = 1; - // TODO PostMessageA(hWndParent, WM_COMMAND, 0x9C6Du, 0); + // TODO Run load dialog break; case 5: _objects[3].kind = 0; @@ -948,7 +948,7 @@ void MinigameBbAirGuitar::afterButtonReleased() { break; case 12: *_currFrameIndex = 1; - // TODO PostMessageA(hWndParent, WM_COMMAND, 0x9C6Eu, 0); + // TODO Run save dialog break; case 13: _objects[4].kind = 0; diff --git a/engines/bbvs/minigames/bbant.cpp b/engines/bbvs/minigames/bbant.cpp index fa36c7d469..f2d3ad26af 100644 --- a/engines/bbvs/minigames/bbant.cpp +++ b/engines/bbvs/minigames/bbant.cpp @@ -387,8 +387,7 @@ bool MinigameBbAnt::updateStatus0(int mouseX, int mouseY, uint mouseButtons) { } bool MinigameBbAnt::updateStatus1(int mouseX, int mouseY, uint mouseButtons) { - //const int kMaxBugsCount = 52; - const int kMaxBugsCount = 1;//DEBUG + const int kMaxBugsCount = 52; --_levelTimeDelay; if (!_levelTimeDelay) { @@ -424,7 +423,6 @@ bool MinigameBbAnt::updateStatus1(int mouseX, int mouseY, uint mouseButtons) { return true; } -debug(0, "updateStatus1 #2"); if ((mouseButtons & kRightButtonClicked) && (_stompCount > 0|| _hasLastStompObj) && !_objects[2].status) { if (_hasLastStompObj) removeStompObj(_lastStompObj); @@ -432,14 +430,12 @@ debug(0, "updateStatus1 #2"); _objects[2].status = 1; } -debug(0, "updateStatus1 #3"); if ((mouseButtons & kLeftButtonClicked) && _objects[2].status == 0 && isMagGlassAtBeavisLeg(2)) { if (_vm->getRandom(10) == 1 && !isAnySoundPlaying(kSoundTbl4, 10)) playSound(16); insertSmokeObj(_objects[0].x << 16, _objects[0].y << 16); } -debug(0, "updateStatus1 #4"); if (_skullBugCtr > 0) { if (--_skullBugCtr == 0) { _skullBugCtr = _vm->getRandom(150) + 500; @@ -450,18 +446,15 @@ debug(0, "updateStatus1 #4"); if (_stompCounter2 > 0) --_stompCounter2; -debug(0, "updateStatus1 #5"); if (_totalBugsCount < kMaxBugsCount && _vm->getRandom(_stompCounter2) == 0) { int testTbl[4]; int maxKindCount = 0, objKind = 0; _stompCounter2 = _stompCounter1; -debug(0, "updateStatus1 #6"); for (int i = 0; i < 4; ++i) testTbl[i] = _vm->getRandom(_bugsChanceByKind[i] - _bugsCountByKind[i]); -debug(0, "updateStatus1 #7"); for (int i = 0; i < 4; ++i) { if (testTbl[i] >= maxKindCount) { maxKindCount = testTbl[i]; @@ -469,15 +462,12 @@ debug(0, "updateStatus1 #7"); } } -debug(0, "updateStatus1 #8"); if (objKind) insertRandomBugObj(objKind); } -debug(0, "updateStatus1 #9"); updateObjs(mouseButtons); -debug(0, "updateStatus1 #10"); updateFootObj(2); if (--_countdown10 == 0) { @@ -486,7 +476,6 @@ debug(0, "updateStatus1 #10"); --_stompCounter1; } -debug(0, "updateStatus1 #XXX"); return true; } @@ -643,7 +632,6 @@ void MinigameBbAnt::insertStompObj(int x, int y) { obj->xIncr = (0x1E0000 * _stompCount - x + 0x140000) / 15; obj->yIncr = (0xE60000 - y) / 15; obj->anim = getAnimation(130); - debug("obj->anim(130): %d", obj->anim->frameIndices[0]); obj->frameIndex = 0; obj->ticks = 15; _lastStompObj = obj; @@ -1131,7 +1119,6 @@ void MinigameBbAnt::updateObjs(uint mouseButtons) { int candyObjIndex; if (isBugAtCandy(i, candyObjIndex)) { obj->status = 3; - debug("bug %d has candy %d", i, candyObjIndex); obj->otherObjIndex = candyObjIndex; _objects[candyObjIndex].otherObjIndex = i; _objects[candyObjIndex].status = 10; @@ -1145,7 +1132,6 @@ void MinigameBbAnt::updateObjs(uint mouseButtons) { } if (testObj5(i)) { - debug("yes"); updateObjAnim2(i); } @@ -1197,6 +1183,9 @@ int MinigameBbAnt::run(bool fromMainGame) { _fromMainGame = fromMainGame; _hiScore = 0; + if (!_fromMainGame) + _hiScore = loadHiscore(kMinigameBbAnt); + _gameState = 0; _gameResult = 0; _gameDone = false; @@ -1209,7 +1198,6 @@ int MinigameBbAnt::run(bool fromMainGame) { Palette palette = _spriteModule->getPalette(); _vm->_screen->setPalette(palette); - // Load sounds loadSounds(); _gameTicks = 0; @@ -1220,9 +1208,11 @@ int MinigameBbAnt::run(bool fromMainGame) { update(); } - // Unload sounds _vm->_sound->unloadSounds(); + if (!_fromMainGame) + saveHiscore(kMinigameBbAnt, _hiScore); + delete _spriteModule; return _gameResult; @@ -1240,15 +1230,15 @@ void MinigameBbAnt::update() { inputTicks = 1; _gameTicks = _vm->_system->getMillis(); } - + if (_vm->_keyCode == Common::KEYCODE_ESCAPE) { _gameDone = true; return; } - + if (inputTicks == 0) return; - + bool done; do { @@ -1277,7 +1267,13 @@ void MinigameBbAnt::scale2x(int x, int y) { srcH += srcY; srcY = 0; } - + + if (srcX + srcW >= 320) + srcW = 320 - srcX - 1; + + if (srcY + srcH >= 240) + srcH = 240 - srcY - 1; + for (int yc = 0; yc < srcH; ++yc) { byte *src = (byte*)surface->getBasePtr(srcX, srcY + yc); memcpy(&_scaleBuf[yc * kScaleDim], src, srcW); @@ -1296,10 +1292,16 @@ void MinigameBbAnt::scale2x(int x, int y) { dstY = 0; } + if (dstX + dstW >= 320) + dstW = 320 - dstX - 1; + + if (dstY + dstH >= 240) + dstH = 240 - dstY - 1; + int w = MIN(srcW * 2, dstW), h = MIN(srcH * 2, dstH); for (int yc = 0; yc < h; ++yc) { - byte *src = _scaleBuf + + kScaleDim * (yc / 2); + byte *src = _scaleBuf + kScaleDim * (yc / 2); byte *dst = (byte*)surface->getBasePtr(dstX, dstY + yc); for (int xc = 0; xc < w; ++xc) dst[xc] = src[xc / 2]; diff --git a/engines/bbvs/minigames/bbloogie.cpp b/engines/bbvs/minigames/bbloogie.cpp index b79e8c7752..0d3fc1d65c 100644 --- a/engines/bbvs/minigames/bbloogie.cpp +++ b/engines/bbvs/minigames/bbloogie.cpp @@ -88,7 +88,7 @@ static const char *kSoundFilenames[] = { static const uint kSoundFilenamesCount = ARRAYSIZE(kSoundFilenames); -void MinigameBbloogie::buildDrawList(DrawList &drawList) { +void MinigameBbLoogie::buildDrawList(DrawList &drawList) { switch (_gameState) { case kGSTitleScreen: buildDrawList0(drawList); @@ -105,7 +105,7 @@ void MinigameBbloogie::buildDrawList(DrawList &drawList) { } } -void MinigameBbloogie::buildDrawList0(DrawList &drawList) { +void MinigameBbLoogie::buildDrawList0(DrawList &drawList) { drawList.add(_objects[0].anim->frameIndices[_objects[0].frameIndex], _objects[0].x, _objects[0].y, 2000); for (int i = 1; i < kMaxObjectsCount; ++i) { Obj *obj = &_objects[i]; @@ -116,7 +116,7 @@ void MinigameBbloogie::buildDrawList0(DrawList &drawList) { drawList.add(_titleScreenSpriteIndex, 0, 0, 0); } -void MinigameBbloogie::buildDrawList1(DrawList &drawList) { +void MinigameBbLoogie::buildDrawList1(DrawList &drawList) { for (int i = 0; i < kMaxObjectsCount; ++i) { Obj *obj = &_objects[i]; @@ -162,7 +162,7 @@ void MinigameBbloogie::buildDrawList1(DrawList &drawList) { } -void MinigameBbloogie::buildDrawList2(DrawList &drawList) { +void MinigameBbLoogie::buildDrawList2(DrawList &drawList) { buildDrawList1(drawList); @@ -179,7 +179,7 @@ void MinigameBbloogie::buildDrawList2(DrawList &drawList) { } -void MinigameBbloogie::buildDrawList3(DrawList &drawList) { +void MinigameBbLoogie::buildDrawList3(DrawList &drawList) { for (int i = 0; i < kMaxObjectsCount; ++i) { Obj *obj = &_objects[i]; @@ -209,33 +209,33 @@ void MinigameBbloogie::buildDrawList3(DrawList &drawList) { } -void MinigameBbloogie::drawSprites() { +void MinigameBbLoogie::drawSprites() { DrawList drawList; buildDrawList(drawList); _vm->_screen->drawDrawList(drawList, _spriteModule); _vm->_screen->copyToScreen(); } -void MinigameBbloogie::initObjs() { +void MinigameBbLoogie::initObjs() { for (int i = 0; i < kMaxObjectsCount; ++i) _objects[i].kind = 0; } -MinigameBbloogie::Obj *MinigameBbloogie::getFreeObject() { +MinigameBbLoogie::Obj *MinigameBbLoogie::getFreeObject() { for (int i = 0; i < kMaxObjectsCount; ++i) if (_objects[i].kind == 0) return &_objects[i]; return 0; } -MinigameBbloogie::Obj *MinigameBbloogie::findLoogieObj(int startObjIndex) { +MinigameBbLoogie::Obj *MinigameBbLoogie::findLoogieObj(int startObjIndex) { for (int i = startObjIndex; i < kMaxObjectsCount; ++i) if (_objects[i].kind == 3) return &_objects[i]; return 0; } -bool MinigameBbloogie::isHit(Obj *obj1, Obj *obj2) { +bool MinigameBbLoogie::isHit(Obj *obj1, Obj *obj2) { const BBRect &frameRect1 = obj1->anim->frameRects[obj1->frameIndex]; const BBRect &frameRect2 = obj2->anim->frameRects[obj2->frameIndex]; const int obj1X1 = obj1->x + frameRect1.x; @@ -249,11 +249,11 @@ bool MinigameBbloogie::isHit(Obj *obj1, Obj *obj2) { return obj1X1 <= obj2X2 && obj1X2 >= obj2X1 && obj1Y1 <= obj2Y2 && obj1Y2 >= obj2Y1; } -bool MinigameBbloogie::isCursorAtObj(int objIndex) { +bool MinigameBbLoogie::isCursorAtObj(int objIndex) { return isHit(&_objects[0], &_objects[objIndex]); } -void MinigameBbloogie::initObjects() { +void MinigameBbLoogie::initObjects() { switch (_gameState) { case kGSTitleScreen: initObjects0(); @@ -270,7 +270,7 @@ void MinigameBbloogie::initObjects() { } } -void MinigameBbloogie::initObjects0() { +void MinigameBbLoogie::initObjects0() { initObjs(); _objects[0].anim = getAnimation(25); _objects[0].frameIndex = 0; @@ -304,7 +304,7 @@ void MinigameBbloogie::initObjects0() { _objects[4].kind = 0; } -void MinigameBbloogie::initObjects1() { +void MinigameBbLoogie::initObjects1() { initObjs(); _objects[0].anim = _playerAnim; _objects[0].frameIndex = 0; @@ -321,7 +321,7 @@ void MinigameBbloogie::initObjects1() { _objects[1].kind = 2; } -void MinigameBbloogie::initObjects3() { +void MinigameBbLoogie::initObjects3() { initObjs(); _objects[0].anim = _playerAnim; _objects[0].frameIndex = 0; @@ -336,7 +336,7 @@ void MinigameBbloogie::initObjects3() { _objects[1].kind = 2; } -void MinigameBbloogie::initVars() { +void MinigameBbLoogie::initVars() { switch (_gameState) { case kGSTitleScreen: initVars0(); @@ -353,7 +353,7 @@ void MinigameBbloogie::initVars() { } } -void MinigameBbloogie::initVars0() { +void MinigameBbLoogie::initVars0() { _carDelay = 120; _bikeDelay = 250; _squirrelDelay = 40; @@ -370,7 +370,7 @@ void MinigameBbloogie::initVars0() { _dispLevelScore = 0; } -void MinigameBbloogie::initVars1() { +void MinigameBbLoogie::initVars1() { _carDelay = 120; _bikeDelay = 250; _squirrelDelay = 40; @@ -381,7 +381,7 @@ void MinigameBbloogie::initVars1() { _megaLoogieCount = 0; } -void MinigameBbloogie::initVars2() { +void MinigameBbLoogie::initVars2() { _timeBonusCtr = _levelTimeLeft; _levelTimeDelay = 58; _bonusDisplayDelay1 = 60; @@ -391,7 +391,7 @@ void MinigameBbloogie::initVars2() { _bonusDisplayDelay3 = 0; } -void MinigameBbloogie::initVars3() { +void MinigameBbLoogie::initVars3() { if (_currScore > _hiScore) _hiScore = _currScore; if (_playerKind) { @@ -401,7 +401,7 @@ void MinigameBbloogie::initVars3() { } } -bool MinigameBbloogie::updateStatus(int mouseX, int mouseY, uint mouseButtons) { +bool MinigameBbLoogie::updateStatus(int mouseX, int mouseY, uint mouseButtons) { switch (_gameState) { case kGSTitleScreen: return updateStatus0(mouseX, mouseY, mouseButtons); @@ -415,7 +415,7 @@ bool MinigameBbloogie::updateStatus(int mouseX, int mouseY, uint mouseButtons) { return false; } -bool MinigameBbloogie::updateStatus0(int mouseX, int mouseY, uint mouseButtons) { +bool MinigameBbLoogie::updateStatus0(int mouseX, int mouseY, uint mouseButtons) { _objects[0].x = mouseX; _objects[0].y = mouseY; @@ -481,9 +481,7 @@ bool MinigameBbloogie::updateStatus0(int mouseX, int mouseY, uint mouseButtons) playSound(23); while (isSoundPlaying(23)) { } } - _gameState = kGSMainGame; - if (!_fromMainGame) - _gameState = kGSStandaloneGame; + _gameState = _fromMainGame ? kGSMainGame : kGSStandaloneGame; initObjects1(); initObjects(); initVars(); @@ -493,7 +491,7 @@ bool MinigameBbloogie::updateStatus0(int mouseX, int mouseY, uint mouseButtons) return true; } -bool MinigameBbloogie::updateStatus1(int mouseX, int mouseY, uint mouseButtons) { +bool MinigameBbLoogie::updateStatus1(int mouseX, int mouseY, uint mouseButtons) { if (--_levelTimeDelay == 0) { _levelTimeDelay = 58; @@ -539,7 +537,7 @@ bool MinigameBbloogie::updateStatus1(int mouseX, int mouseY, uint mouseButtons) return true; } -bool MinigameBbloogie::updateStatus2(int mouseX, int mouseY, uint mouseButtons) { +bool MinigameBbLoogie::updateStatus2(int mouseX, int mouseY, uint mouseButtons) { _objects[0].x = mouseX; @@ -569,7 +567,7 @@ bool MinigameBbloogie::updateStatus2(int mouseX, int mouseY, uint mouseButtons) return true; } -bool MinigameBbloogie::updateStatus3(int mouseX, int mouseY, uint mouseButtons) { +bool MinigameBbLoogie::updateStatus3(int mouseX, int mouseY, uint mouseButtons) { _objects[0].x = mouseX; @@ -588,7 +586,7 @@ bool MinigameBbloogie::updateStatus3(int mouseX, int mouseY, uint mouseButtons) return true; } -void MinigameBbloogie::updateObjs(uint mouseButtons) { +void MinigameBbLoogie::updateObjs(uint mouseButtons) { for (int i = 0; i < kMaxObjectsCount; ++i) { Obj *obj = &_objects[i]; @@ -708,7 +706,7 @@ void MinigameBbloogie::updateObjs(uint mouseButtons) { } -void MinigameBbloogie::updatePlayer(int objIndex, uint mouseButtons) { +void MinigameBbLoogie::updatePlayer(int objIndex, uint mouseButtons) { Obj *obj = &_objects[0]; @@ -798,7 +796,7 @@ void MinigameBbloogie::updatePlayer(int objIndex, uint mouseButtons) { } -void MinigameBbloogie::updateObjKind2(int objIndex) { +void MinigameBbLoogie::updateObjKind2(int objIndex) { Obj *obj = &_objects[objIndex]; @@ -812,7 +810,7 @@ void MinigameBbloogie::updateObjKind2(int objIndex) { } -void MinigameBbloogie::updateLoogie(int objIndex) { +void MinigameBbLoogie::updateLoogie(int objIndex) { Obj *obj = &_objects[objIndex]; if (obj->unk2 > 0) { @@ -832,7 +830,7 @@ void MinigameBbloogie::updateLoogie(int objIndex) { } -void MinigameBbloogie::updateCar(int objIndex) { +void MinigameBbLoogie::updateCar(int objIndex) { Obj *obj = &_objects[objIndex]; obj->x += obj->xIncr; @@ -867,7 +865,7 @@ void MinigameBbloogie::updateCar(int objIndex) { } -void MinigameBbloogie::updateBike(int objIndex) { +void MinigameBbLoogie::updateBike(int objIndex) { Obj *obj = &_objects[objIndex]; obj->x += obj->xIncr; @@ -902,7 +900,7 @@ void MinigameBbloogie::updateBike(int objIndex) { } -void MinigameBbloogie::updateSquirrel(int objIndex) { +void MinigameBbLoogie::updateSquirrel(int objIndex) { Obj *obj = &_objects[objIndex]; if (obj->ticks-- == 0) { @@ -937,7 +935,7 @@ void MinigameBbloogie::updateSquirrel(int objIndex) { } -void MinigameBbloogie::updatePaperPlane(int objIndex) { +void MinigameBbLoogie::updatePaperPlane(int objIndex) { Obj *obj = &_objects[objIndex]; obj->x += obj->xIncr; @@ -970,7 +968,7 @@ void MinigameBbloogie::updatePaperPlane(int objIndex) { } -void MinigameBbloogie::updateIndicator(int objIndex) { +void MinigameBbLoogie::updateIndicator(int objIndex) { Obj *obj = &_objects[objIndex]; Obj *loogieObj = &_objects[0]; @@ -1002,7 +1000,7 @@ void MinigameBbloogie::updateIndicator(int objIndex) { } -void MinigameBbloogie::updatePrincipal(int objIndex) { +void MinigameBbLoogie::updatePrincipal(int objIndex) { Obj *obj = &_objects[objIndex]; switch (obj->status) { @@ -1241,7 +1239,7 @@ void MinigameBbloogie::updatePrincipal(int objIndex) { } -void MinigameBbloogie::incNumberOfHits() { +void MinigameBbLoogie::incNumberOfHits() { ++_numberOfHits; if (_numberOfHits == 1000) _numberOfHits = 0; @@ -1252,19 +1250,19 @@ void MinigameBbloogie::incNumberOfHits() { } } -void MinigameBbloogie::incScore(int incrAmount) { +void MinigameBbLoogie::incScore(int incrAmount) { if (_doubleScore) _currScore += 2 * incrAmount; else _currScore += incrAmount; } -void MinigameBbloogie::playRndSound() { +void MinigameBbLoogie::playRndSound() { if (!isAnySoundPlaying(_playerSounds2, _playerSounds2Count)) playSound(_playerSounds1[_vm->getRandom(_playerSounds1Count)]); } -int MinigameBbloogie::run(bool fromMainGame) { +int MinigameBbLoogie::run(bool fromMainGame) { memset(_objects, 0, sizeof(_objects)); @@ -1276,9 +1274,8 @@ int MinigameBbloogie::run(bool fromMainGame) { _fromMainGame = fromMainGame; _hiScore = 0; - if (!_fromMainGame) { - // TODO Load LoogieHiScore - } + if (!_fromMainGame) + _hiScore = loadHiscore(kMinigameBbLoogie); _gameState = kGSTitleScreen; _gameTicks = 0; @@ -1293,7 +1290,6 @@ int MinigameBbloogie::run(bool fromMainGame) { Palette palette = _spriteModule->getPalette(); _vm->_screen->setPalette(palette); - // Load sounds loadSounds(); playSound(32, true); @@ -1303,19 +1299,17 @@ int MinigameBbloogie::run(bool fromMainGame) { update(); } - // Unload sounds _vm->_sound->unloadSounds(); - if (!_fromMainGame) { - // TODO Save LoogieHiScore - } + if (!_fromMainGame) + saveHiscore(kMinigameBbLoogie, _hiScore); delete _spriteModule; return _gameResult; } -void MinigameBbloogie::update() { +void MinigameBbLoogie::update() { int currTicks, inputTicks; @@ -1349,7 +1343,7 @@ void MinigameBbloogie::update() { } -void MinigameBbloogie::loadSounds() { +void MinigameBbLoogie::loadSounds() { for (uint i = 0; i < kSoundFilenamesCount; ++i) { Common::String filename = Common::String::format("bbloogie/%s", kSoundFilenames[i]); _vm->_sound->loadSound(filename.c_str()); diff --git a/engines/bbvs/minigames/bbloogie.h b/engines/bbvs/minigames/bbloogie.h index d01149ad0c..fb745c15e4 100644 --- a/engines/bbvs/minigames/bbloogie.h +++ b/engines/bbvs/minigames/bbloogie.h @@ -27,9 +27,9 @@ namespace Bbvs { -class MinigameBbloogie : public Minigame { +class MinigameBbLoogie : public Minigame { public: - MinigameBbloogie(BbvsEngine *vm) : Minigame(vm) {}; + MinigameBbLoogie(BbvsEngine *vm) : Minigame(vm) {}; int run(bool fromMainGame); public: diff --git a/engines/bbvs/minigames/bbloogie_anims.cpp b/engines/bbvs/minigames/bbloogie_anims.cpp index 61a2e48eb7..a82be8a279 100644 --- a/engines/bbvs/minigames/bbloogie_anims.cpp +++ b/engines/bbvs/minigames/bbloogie_anims.cpp @@ -131,7 +131,7 @@ static const ObjAnimation kAnimations[] = { {2, kAnim25FrameIndices, kAnim25FrameTicks, kAnim25FrameRects} }; -const ObjAnimation *MinigameBbloogie::getAnimation(int animIndex) { +const ObjAnimation *MinigameBbLoogie::getAnimation(int animIndex) { return &kAnimations[animIndex]; } diff --git a/engines/bbvs/minigames/bbtennis.cpp b/engines/bbvs/minigames/bbtennis.cpp index edf9cabbfb..fd02573691 100644 --- a/engines/bbvs/minigames/bbtennis.cpp +++ b/engines/bbvs/minigames/bbtennis.cpp @@ -1193,9 +1193,8 @@ int MinigameBbTennis::run(bool fromMainGame) { _fromMainGame = fromMainGame; _hiScore = 0; - if (!_fromMainGame) { - // TODO Load HiScore - } + if (!_fromMainGame) + _hiScore = loadHiscore(kMinigameBbTennis); _gameState = 0; _gameResult = 0; @@ -1209,7 +1208,6 @@ int MinigameBbTennis::run(bool fromMainGame) { Palette palette = _spriteModule->getPalette(); _vm->_screen->setPalette(palette); - // Load sounds loadSounds(); _gameTicks = 0; @@ -1220,12 +1218,10 @@ int MinigameBbTennis::run(bool fromMainGame) { update(); } - // Unload sounds _vm->_sound->unloadSounds(); - if (!_fromMainGame) { - // TODO Save HiScore - } + if (!_fromMainGame) + saveHiscore(kMinigameBbTennis, _hiScore); delete _spriteModule; diff --git a/engines/bbvs/minigames/minigame.cpp b/engines/bbvs/minigames/minigame.cpp index 299836ab00..888040f87a 100644 --- a/engines/bbvs/minigames/minigame.cpp +++ b/engines/bbvs/minigames/minigame.cpp @@ -21,11 +21,14 @@ */ #include "bbvs/minigames/minigame.h" +#include "common/savefile.h" namespace Bbvs { Minigame::Minigame(BbvsEngine *vm) : _vm(vm), _spriteModule(0) { + + memset(_hiScoreTable, 0, sizeof(_hiScoreTable)); } Minigame::~Minigame() { @@ -71,4 +74,31 @@ bool Minigame::isAnySoundPlaying(const uint *indices, uint count) { return false; } +void Minigame::saveHiscore(int minigameNum, int score) { + Common::String filename = _vm->getTargetName() + "-highscore.dat"; + Common::OutSaveFile *file = g_system->getSavefileManager()->openForSaving(filename); + if (file) { + // Reserve a byte for future usage (rarely a bad idea, you never know...) + file->writeByte(0); + _hiScoreTable[minigameNum] = score; + for (int i = 0; i < kMinigameCount; ++i) + file->writeUint32LE(_hiScoreTable[i]); + delete file; + } +} + +int Minigame::loadHiscore(int minigameNum) { + int score = 0; + Common::String filename = _vm->getTargetName() + "-highscore.dat"; + Common::InSaveFile *file = g_system->getSavefileManager()->openForLoading(filename); + if (file) { + file->readByte(); + for (int i = 0; i < kMinigameCount; ++i) + _hiScoreTable[i] = file->readUint32LE(); + delete file; + score = _hiScoreTable[minigameNum]; + } + return score; +} + } // End of namespace Bbvs diff --git a/engines/bbvs/minigames/minigame.h b/engines/bbvs/minigames/minigame.h index 33498be7ef..1e1a4695e0 100644 --- a/engines/bbvs/minigames/minigame.h +++ b/engines/bbvs/minigames/minigame.h @@ -31,10 +31,11 @@ namespace Bbvs { enum { - kMinigameBbloogie = 0, + kMinigameBbLoogie = 0, kMinigameBbTennis = 1, kMinigameBbAnt = 2, - kMinigameBbAirGuitar = 3 + kMinigameBbAirGuitar = 3, + kMinigameCount }; struct ObjAnimation { @@ -49,7 +50,7 @@ public: Minigame(BbvsEngine *vm); virtual ~Minigame(); virtual int run(bool fromMainGame) = 0; -public: +protected: BbvsEngine *_vm; SpriteModule *_spriteModule; @@ -58,6 +59,7 @@ public: int _gameResult; bool _gameDone; bool _fromMainGame; + int _hiScoreTable[kMinigameCount]; int _backgroundSpriteIndex, _titleScreenSpriteIndex; @@ -69,7 +71,10 @@ public: void stopSound(uint index); bool isSoundPlaying(uint index); bool isAnySoundPlaying(const uint *indices, uint count); - + + void saveHiscore(int minigameNum, int score); + int loadHiscore(int minigameNum); + }; } // End of namespace Bbvs -- cgit v1.2.3 From bb1dc9136b4683a9c587b8b6c2ca19588944a33e Mon Sep 17 00:00:00 2001 From: johndoe123 Date: Sun, 26 Jan 2014 00:28:32 +0100 Subject: BBVS: Remove some debug output --- engines/bbvs/bbvs.cpp | 4 ++-- engines/bbvs/saveload.cpp | 8 -------- engines/bbvs/videoplayer.cpp | 3 --- 3 files changed, 2 insertions(+), 13 deletions(-) diff --git a/engines/bbvs/bbvs.cpp b/engines/bbvs/bbvs.cpp index e8db691280..b2a966688b 100644 --- a/engines/bbvs/bbvs.cpp +++ b/engines/bbvs/bbvs.cpp @@ -541,7 +541,7 @@ void BbvsEngine::updateBackgroundSounds() { } void BbvsEngine::loadScene(int sceneNum) { - debug("BbvsEngine::loadScene() sceneNum: %d", sceneNum); + debug(0, "BbvsEngine::loadScene() sceneNum: %d", sceneNum); Common::String sprFilename = Common::String::format("vnm/vspr%04d.vnm", sceneNum); Common::String gamFilename = Common::String::format("vnm/game%04d.vnm", sceneNum); @@ -2144,7 +2144,7 @@ void BbvsEngine::stopSounds() { } bool BbvsEngine::runMinigame(int minigameNum) { - debug("BbvsEngine::runMinigame() minigameNum: %d", minigameNum); + debug(0, "BbvsEngine::runMinigame() minigameNum: %d", minigameNum); bool fromMainGame = _currSceneNum != kMainMenu; diff --git a/engines/bbvs/saveload.cpp b/engines/bbvs/saveload.cpp index 6714cd0ea1..3bb980053c 100644 --- a/engines/bbvs/saveload.cpp +++ b/engines/bbvs/saveload.cpp @@ -165,14 +165,6 @@ void BbvsEngine::loadgame(const char *filename) { obj->walkDestPt.x = in->readUint16LE(); obj->walkDestPt.y = in->readUint16LE(); obj->anim = obj->animIndex > 0 ? _gameModule->getAnimation(obj->animIndex) : 0; -#if 0 - debug("obj(%d) [%s]:", i, obj->sceneObjectDef->name); - debug("\tx: %d; y: %d; animIndex: %d", obj->x, obj->y, obj->animIndex); - debug("\tframeIndex: %d; frameTicks: %d", obj->frameIndex, obj->frameTicks); - debug("\twalkCount: %d; xIncr: %d; yIncr: %d", obj->walkCount, obj->xIncr, obj->yIncr); - debug("\tturnValue: %d; turnValue: %d; turnTicks: %d", obj->turnValue, obj->turnCount, obj->turnTicks); - debug("\twalkDestPt.x: %d; walkDestPt.y: %d", obj->walkDestPt.x, obj->walkDestPt.y); -#endif } updateWalkableRects(); diff --git a/engines/bbvs/videoplayer.cpp b/engines/bbvs/videoplayer.cpp index 2da4cd0b6a..71cb7ddaa4 100644 --- a/engines/bbvs/videoplayer.cpp +++ b/engines/bbvs/videoplayer.cpp @@ -29,7 +29,6 @@ namespace Bbvs { void BbvsEngine::playVideo(int videoNum) { - debug("BbvsEngine::playVideo() videoNum: %d", videoNum); Common::String videoFilename; if (videoNum >= 100) @@ -37,8 +36,6 @@ void BbvsEngine::playVideo(int videoNum) { else videoFilename = Common::String::format("vid/video%03d.avi", videoNum - 1); - debug("BbvsEngine::playVideo() videoFilename: %s", videoFilename.c_str()); - // Set the correct video mode Common::List formats; // RGB565 16bit -- cgit v1.2.3 From dacdca192df99e4a29c32bf275f529be3959a11b Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Wed, 29 Jan 2014 21:08:52 -0500 Subject: VOYEUR: Fixes for evidence viewing and review tape playback --- engines/voyeur/data.cpp | 11 +++++------ engines/voyeur/data.h | 2 +- engines/voyeur/voyeur_game.cpp | 29 +++++++++++++---------------- 3 files changed, 19 insertions(+), 23 deletions(-) diff --git a/engines/voyeur/data.cpp b/engines/voyeur/data.cpp index 9104d5f560..be22a58f28 100644 --- a/engines/voyeur/data.cpp +++ b/engines/voyeur/data.cpp @@ -170,15 +170,14 @@ void SVoy::addEvidEventStart(int v) { e._minute = _vm->_gameMinute; e._isAM = _isAM; e._type = EVTYPE_EVID; - e._videoId = _vm->_videoId; - e._computerOn = _vocSecondsOffset; - e._dead = _vm->_eventsManager._videoDead; - + e._videoId = _vm->_playStampGroupId; + e._computerOn = _field47A; + e._computerOff = v; } -void SVoy::addEvidEventEnd(int dead) { +void SVoy::addEvidEventEnd(int totalPages) { VoyeurEvent &e = _events[_eventCount]; - e._dead = dead; + e._dead = totalPages; if (_eventCount < (TOTAL_EVENTS - 1)) ++_eventCount; } diff --git a/engines/voyeur/data.h b/engines/voyeur/data.h index e33c3c7b2b..15df79d9af 100644 --- a/engines/voyeur/data.h +++ b/engines/voyeur/data.h @@ -131,7 +131,7 @@ public: void addAudioEventStart(); void addAudioEventEnd(); void addEvidEventStart(int v); - void addEvidEventEnd(int dead); + void addEvidEventEnd(int totalPages); void addComputerEventStart(); void addComputerEventEnd(int v); void reviewAnEvidEvent(int eventIndex); diff --git a/engines/voyeur/voyeur_game.cpp b/engines/voyeur/voyeur_game.cpp index ed04c875b9..ded40ce121 100644 --- a/engines/voyeur/voyeur_game.cpp +++ b/engines/voyeur/voyeur_game.cpp @@ -413,15 +413,14 @@ void VoyeurEngine::doPiracy() { } void VoyeurEngine::reviewTape() { -// int var22 = 0; int eventStart = 0; int newX = -1; int newY = -1; int eventLine = 7; Common::Rect tempRect(58, 30, 58 + 223, 30 + 124); Common::Point pt; - int evtIndex = 0; int foundIndex; + int eventNum; _bVoy->getBoltGroup(0x900); PictureResource *cursor = _bVoy->boltEntry(0x903)._picResource; @@ -485,8 +484,8 @@ void VoyeurEngine::reviewTape() { _graphicsManager._backgroundPage->sFillBox(tempRect.width(), tempRect.height()); int yp = 45; - evtIndex = eventStart; - for (int lineNum = 0; lineNum < 8 && evtIndex < _voy._eventCount; ++lineNum) { + int eventNum = eventStart; + for (int lineNum = 0; lineNum < 8 && eventNum < _voy._eventCount; ++lineNum, ++eventNum) { _graphicsManager._fontPtr->_picFlags = 0; _graphicsManager._fontPtr->_picSelect = 0xff; _graphicsManager._fontPtr->_picPick = 7; @@ -496,11 +495,10 @@ void VoyeurEngine::reviewTape() { _graphicsManager._fontPtr->_justifyWidth = 0; _graphicsManager._fontPtr->_justifyHeight = 0; - Common::String msg = _eventsManager.getEvidString(evtIndex); + Common::String msg = _eventsManager.getEvidString(eventNum); _graphicsManager._backgroundPage->drawText(msg); yp += 15; - ++evtIndex; } (*_graphicsManager._vPort)->addSaveRect( @@ -517,6 +515,7 @@ void VoyeurEngine::reviewTape() { _eventsManager.getMouseInfo(); foundIndex = -1; + Common::Point tempPos = _eventsManager.getMousePos() + Common::Point(14, 7); for (uint idx = 0; idx < hotspots.size(); ++idx) { if (hotspots[idx].contains(tempPos)) { @@ -546,10 +545,9 @@ void VoyeurEngine::reviewTape() { _graphicsManager._drawPtr->_pos = Common::Point(tempRect.left, tempRect.top); _graphicsManager._backgroundPage->sFillBox(tempRect.width(), tempRect.height()); - evtIndex = eventStart; int yp = 45; - - for (int idx = 0; idx < 8 && evtIndex < _voy._eventCount; ++idx) { + eventNum = eventStart; + for (int idx = 0; idx < 8 && eventNum < _voy._eventCount; ++idx, ++eventNum) { _graphicsManager._fontPtr->_picFlags = 0; _graphicsManager._fontPtr->_picSelect = 0xff; _graphicsManager._fontPtr->_picPick = 7; @@ -559,11 +557,10 @@ void VoyeurEngine::reviewTape() { _graphicsManager._fontPtr->_justifyWidth = 0; _graphicsManager._fontPtr->_justifyHeight = 0; - Common::String msg = _eventsManager.getEvidString(evtIndex); + Common::String msg = _eventsManager.getEvidString(eventNum); _graphicsManager._backgroundPage->drawText(msg); yp += 15; - ++evtIndex; } (*_graphicsManager._vPort)->addSaveRect( @@ -667,7 +664,7 @@ void VoyeurEngine::reviewTape() { VoyeurEvent &e = _voy._events[eventIndex]; switch (e._type) { case EVTYPE_VIDEO: - playAVideoEvent(eventIndex); + playAVideoEvent(eventLine); break; case EVTYPE_AUDIO: { @@ -705,7 +702,7 @@ void VoyeurEngine::reviewTape() { case EVTYPE_EVID: _bVoy->freeBoltGroup(0x900); - _voy.reviewAnEvidEvent(evtIndex); + _voy.reviewAnEvidEvent(eventLine); _voy._vocSecondsOffset = _voy._RTVNum - _voy._field4AC; _soundManager.stopVOCPlay(); @@ -714,7 +711,7 @@ void VoyeurEngine::reviewTape() { case EVTYPE_COMPUTER: _bVoy->freeBoltGroup(0x900); - _voy.reviewComputerEvent(evtIndex); + _voy.reviewComputerEvent(eventLine); _voy._vocSecondsOffset = _voy._RTVNum - _voy._field4AC; _soundManager.stopVOCPlay(); @@ -1364,7 +1361,7 @@ void VoyeurEngine::doEvidDisplay(int evidId, int eventId) { _eventsManager.stopEvidDim(); if (eventId == 999) - _voy.addEvidEventStart(eventId); + _voy.addEvidEventStart(evidId); _eventsManager.getMouseInfo(); @@ -1403,7 +1400,7 @@ void VoyeurEngine::doEvidDisplay(int evidId, int eventId) { --count; } - if (eventId != 999) + if (eventId == 999) _voy.addEvidEventEnd(evidIdx); count = (int16)READ_LE_UINT16(dataP + evidId * 12 + 4); -- cgit v1.2.3 From f2af864c6b76d2d2348bb2d70d7ce738487a3033 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Wed, 29 Jan 2014 22:02:00 -0500 Subject: VOYEUR: Bugfixes for initializing audio events --- engines/voyeur/files_threads.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/engines/voyeur/files_threads.cpp b/engines/voyeur/files_threads.cpp index a7e69c90c2..5920ca0f54 100644 --- a/engines/voyeur/files_threads.cpp +++ b/engines/voyeur/files_threads.cpp @@ -373,7 +373,7 @@ void ThreadResource::parsePlayCommands() { v2 = READ_LE_UINT16(dataP); if (v2 == 0 || READ_LE_UINT16(_vm->_controlPtr->_ptr + 4) == 0) { - _vm->_videoId = READ_LE_UINT16(dataP + 2); + _vm->_videoId = READ_LE_UINT16(dataP + 2) - 1; _vm->_voy._field468 = READ_LE_UINT16(dataP + 4); _vm->_voy._field46A = READ_LE_UINT16(dataP + 6); @@ -385,6 +385,7 @@ void ThreadResource::parsePlayCommands() { _vm->_voy.addAudioEventStart(); assert(_vm->_videoId < 38); + _vm->_bVoy->getBoltGroup(0x7F00); _vm->_graphicsManager._backgroundPage = _vm->_bVoy->boltEntry( 0x7F00 + BLIND_TABLE[_vm->_videoId])._picResource; _vm->_graphicsManager._backColors = _vm->_bVoy->boltEntry(0x7F01 + -- cgit v1.2.3 From 55f2b4ea527d93b2f202da0f76838af879fe4eb7 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Wed, 29 Jan 2014 22:40:00 -0500 Subject: VOYEUR: Fixes for observing audio events --- engines/voyeur/files_threads.cpp | 2 +- engines/voyeur/sound.cpp | 9 ++++++--- engines/voyeur/sound.h | 1 + engines/voyeur/voyeur_game.cpp | 4 +++- 4 files changed, 11 insertions(+), 5 deletions(-) diff --git a/engines/voyeur/files_threads.cpp b/engines/voyeur/files_threads.cpp index 5920ca0f54..92b0191dde 100644 --- a/engines/voyeur/files_threads.cpp +++ b/engines/voyeur/files_threads.cpp @@ -396,7 +396,7 @@ void ThreadResource::parsePlayCommands() { _vm->flipPageAndWaitForFade(); _vm->_voy._field478 &= ~1; - _vm->_soundManager.setVOCOffset(_vm->_voy._vocSecondsOffset * 11025); + _vm->_soundManager.setVOCOffset(_vm->_voy._vocSecondsOffset); Common::String filename = _vm->_soundManager.getVOCFileName( _vm->_videoId + 159); _vm->_soundManager.startVOCPlay(filename); diff --git a/engines/voyeur/sound.cpp b/engines/voyeur/sound.cpp index 73051211e0..22751da48e 100644 --- a/engines/voyeur/sound.cpp +++ b/engines/voyeur/sound.cpp @@ -30,6 +30,7 @@ namespace Voyeur { SoundManager::SoundManager(Audio::Mixer *mixer) { _mixer = mixer; + _vocOffset = 0; } void SoundManager::playVOCMap(byte *voc, int vocSize) { @@ -40,7 +41,7 @@ void SoundManager::playVOCMap(byte *voc, int vocSize) { } bool SoundManager::vocMapStatus() { - // TODO + error("TODO: vocMapStatus"); return false; } @@ -54,10 +55,11 @@ void SoundManager::abortVOCMap() { void SoundManager::stopVOCPlay() { _mixer->stopHandle(_soundHandle); + _vocOffset = 0; } void SoundManager::setVOCOffset(int offset) { - error("TODO: setVOCOffset"); + _vocOffset = offset; } Common::String SoundManager::getVOCFileName(int idx) { @@ -69,10 +71,11 @@ void SoundManager::startVOCPlay(const Common::String &filename) { if (!f.open(filename)) error("Could not find voc file - %s", filename.c_str()); - Audio::AudioStream *audioStream = Audio::makeVOCStream(f.readStream(f.size()), + Audio::SeekableAudioStream *audioStream = Audio::makeVOCStream(f.readStream(f.size()), Audio::FLAG_UNSIGNED, DisposeAfterUse::YES); _mixer->playStream(Audio::Mixer::kSFXSoundType, &_soundHandle, audioStream); + audioStream->seek(Audio::Timestamp(_vocOffset * 1000, 11025)); } void SoundManager::startVOCPlay(int soundId) { diff --git a/engines/voyeur/sound.h b/engines/voyeur/sound.h index 729a7d9da1..8b4feaaaad 100644 --- a/engines/voyeur/sound.h +++ b/engines/voyeur/sound.h @@ -36,6 +36,7 @@ private: VoyeurEngine *_vm; Audio::Mixer *_mixer; Audio::SoundHandle _soundHandle; + int _vocOffset; public: SoundManager(Audio::Mixer *mixer); void setVm(VoyeurEngine *vm) { _vm = vm; } diff --git a/engines/voyeur/voyeur_game.cpp b/engines/voyeur/voyeur_game.cpp index ded40ce121..1d7daef422 100644 --- a/engines/voyeur/voyeur_game.cpp +++ b/engines/voyeur/voyeur_game.cpp @@ -670,6 +670,8 @@ void VoyeurEngine::reviewTape() { case EVTYPE_AUDIO: { _videoId = e._videoId; _voy._vocSecondsOffset = e._computerOn; + + _bVoy->getBoltGroup(0x7F00); _graphicsManager._backgroundPage = _bVoy->boltEntry(0x7F00 + BLIND_TABLE[_videoId])._picResource; _graphicsManager._backColors = _bVoy->boltEntry(0x7F01 + @@ -684,7 +686,7 @@ void VoyeurEngine::reviewTape() { _voy._field478 &= ~1; // Play suond for the given duration - _soundManager.setVOCOffset(_voy._vocSecondsOffset * 11025); + _soundManager.setVOCOffset(_voy._vocSecondsOffset); _soundManager.startVOCPlay(_videoId + 159); uint32 offFrame = e._computerOff; -- cgit v1.2.3 From 1e9bce479dd2c8fe3965fc68155b906e6906a988 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Wed, 29 Jan 2014 23:08:59 -0500 Subject: VOYEUR: Fixes for reviewing audio events in review tape --- engines/voyeur/data.cpp | 2 +- engines/voyeur/sound.cpp | 3 ++- engines/voyeur/voyeur_game.cpp | 5 +++-- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/engines/voyeur/data.cpp b/engines/voyeur/data.cpp index be22a58f28..64b15f72c6 100644 --- a/engines/voyeur/data.cpp +++ b/engines/voyeur/data.cpp @@ -153,7 +153,7 @@ void SVoy::addAudioEventStart() { e._isAM = _isAM; e._type = EVTYPE_AUDIO; e._videoId = _vm->_videoId; - e._computerOn = _field47A; + e._computerOn = _vocSecondsOffset; e._dead = _vm->_eventsManager._videoDead; } diff --git a/engines/voyeur/sound.cpp b/engines/voyeur/sound.cpp index 22751da48e..aab49be851 100644 --- a/engines/voyeur/sound.cpp +++ b/engines/voyeur/sound.cpp @@ -87,7 +87,8 @@ int SoundManager::getVOCStatus() { } uint32 SoundManager::getVOCFrame() { - error("TODO: getVOCFrame"); + Audio::Timestamp timestamp = _mixer->getElapsedTime(_soundHandle); + return timestamp.secs(); } } // End of namespace Voyeur diff --git a/engines/voyeur/voyeur_game.cpp b/engines/voyeur/voyeur_game.cpp index 1d7daef422..c645643163 100644 --- a/engines/voyeur/voyeur_game.cpp +++ b/engines/voyeur/voyeur_game.cpp @@ -688,10 +688,11 @@ void VoyeurEngine::reviewTape() { // Play suond for the given duration _soundManager.setVOCOffset(_voy._vocSecondsOffset); _soundManager.startVOCPlay(_videoId + 159); - uint32 offFrame = e._computerOff; + uint32 secondsDuration = e._computerOff; + _eventsManager.getMouseInfo(); while (!_eventsManager._mouseClicked && _soundManager.getVOCStatus() && - _soundManager.getVOCFrame() < offFrame) { + _soundManager.getVOCFrame() < secondsDuration) { _eventsManager.getMouseInfo(); _eventsManager.delay(10); } -- cgit v1.2.3 From 8fcfe6100396b4ae02d53b546cd57693152c3dda Mon Sep 17 00:00:00 2001 From: johndoe123 Date: Sun, 26 Jan 2014 00:42:20 +0100 Subject: BBVS: Add delayMillis to update loops to save some cpu time --- engines/bbvs/bbvs.cpp | 2 ++ engines/bbvs/minigames/bbairguitar.cpp | 2 ++ engines/bbvs/minigames/bbant.cpp | 2 ++ engines/bbvs/minigames/bbloogie.cpp | 2 ++ engines/bbvs/minigames/bbtennis.cpp | 2 ++ 5 files changed, 10 insertions(+) diff --git a/engines/bbvs/bbvs.cpp b/engines/bbvs/bbvs.cpp index b2a966688b..88d40fe4dc 100644 --- a/engines/bbvs/bbvs.cpp +++ b/engines/bbvs/bbvs.cpp @@ -309,6 +309,8 @@ void BbvsEngine::updateGame() { _screen->drawDrawList(drawList, _spriteModule); drawScreen(); } + + _system->delayMillis(10); } diff --git a/engines/bbvs/minigames/bbairguitar.cpp b/engines/bbvs/minigames/bbairguitar.cpp index f65c1b522a..0453ec50b8 100644 --- a/engines/bbvs/minigames/bbairguitar.cpp +++ b/engines/bbvs/minigames/bbairguitar.cpp @@ -823,6 +823,8 @@ void MinigameBbAirGuitar::update() { drawSprites(); + _vm->_system->delayMillis(10); + } void MinigameBbAirGuitar::play() { diff --git a/engines/bbvs/minigames/bbant.cpp b/engines/bbvs/minigames/bbant.cpp index f2d3ad26af..a51a9d8a08 100644 --- a/engines/bbvs/minigames/bbant.cpp +++ b/engines/bbvs/minigames/bbant.cpp @@ -1250,6 +1250,8 @@ void MinigameBbAnt::update() { drawSprites(); + _vm->_system->delayMillis(10); + } void MinigameBbAnt::scale2x(int x, int y) { diff --git a/engines/bbvs/minigames/bbloogie.cpp b/engines/bbvs/minigames/bbloogie.cpp index 0d3fc1d65c..70e7e7d155 100644 --- a/engines/bbvs/minigames/bbloogie.cpp +++ b/engines/bbvs/minigames/bbloogie.cpp @@ -1341,6 +1341,8 @@ void MinigameBbLoogie::update() { drawSprites(); + _vm->_system->delayMillis(10); + } void MinigameBbLoogie::loadSounds() { diff --git a/engines/bbvs/minigames/bbtennis.cpp b/engines/bbvs/minigames/bbtennis.cpp index fd02573691..82c9037954 100644 --- a/engines/bbvs/minigames/bbtennis.cpp +++ b/engines/bbvs/minigames/bbtennis.cpp @@ -1260,6 +1260,8 @@ void MinigameBbTennis::update() { drawSprites(); + _vm->_system->delayMillis(10); + } void MinigameBbTennis::loadSounds() { -- cgit v1.2.3 From c31762d0c4fb1ea90de6ca725509a8ec61e26955 Mon Sep 17 00:00:00 2001 From: johndoe123 Date: Tue, 28 Jan 2014 12:57:28 +0100 Subject: BBVS: Add easter egg videos handling --- engines/bbvs/bbvs.cpp | 44 +++++++++++++++++++++++++++++++++++++++----- engines/bbvs/bbvs.h | 3 +++ engines/bbvs/videoplayer.cpp | 2 +- 3 files changed, 43 insertions(+), 6 deletions(-) diff --git a/engines/bbvs/bbvs.cpp b/engines/bbvs/bbvs.cpp index 88d40fe4dc..6ffac2ef15 100644 --- a/engines/bbvs/bbvs.cpp +++ b/engines/bbvs/bbvs.cpp @@ -94,13 +94,12 @@ static const byte kTurnTbl[] = { }; static const int kAfterVideoSceneNum[] = { -// 0, 43, 23, 12, 4, 44, 2, -// 16, 4, 4, 4, 44, 12, 44 0, 43, 23, 12, 4, 44, 2, 16, 4, 4, 4, 44, 12, 32 }; const int kMainMenu = 44; +const int kCredits = 45; bool WalkArea::contains(const Common::Point &pt) const { return Common::Rect(x, y, x + width, y + height).contains(pt); @@ -147,6 +146,7 @@ Common::Error BbvsEngine::run() { _sound = new SoundMan(); allocSnapshot(); + memset(_easterEggInput, 0, sizeof(_easterEggInput)); _gameTicks = 0; _playVideoNumber = 0; @@ -181,6 +181,12 @@ Common::Error BbvsEngine::run() { updateGame(); else if (_currSceneNum == kMainMenu) runMainMenu(); + else if (_currSceneNum == kCredits && + (_mouseButtons & (kLeftButtonClicked | kRightButtonClicked))) { + _mouseButtons &= ~kLeftButtonClicked; + _mouseButtons &= ~kRightButtonClicked; + _newSceneNum = kMainMenu; + } if (_playVideoNumber > 0) { playVideo(_playVideoNumber); _playVideoNumber = 0; @@ -217,6 +223,7 @@ void BbvsEngine::updateEvents() { _keyCode = event.kbd.keycode; break; case Common::EVENT_KEYUP: + checkEasterEgg(event.kbd.ascii); _keyCode = Common::KEYCODE_INVALID; break; case Common::EVENT_MOUSEMOVE: @@ -702,7 +709,7 @@ void BbvsEngine::initScene(bool sounds) { bool BbvsEngine::changeScene() { writeContinueSavegame(); - + if (_newSceneNum >= 27 && _newSceneNum <= 30) { // Run minigames stopSpeech(); @@ -719,12 +726,12 @@ bool BbvsEngine::changeScene() { _playVideoNumber = _newSceneNum - 30; _currSceneNum = _newSceneNum; _newSceneNum = kAfterVideoSceneNum[_playVideoNumber]; - } else if (_newSceneNum >= 100 && _currSceneNum == 45) { + } else if (_newSceneNum >= 100 && _currSceneNum == kCredits) { // Play secret video stopSounds(); _playVideoNumber = _newSceneNum; _currSceneNum = 49; - _newSceneNum = 45; + _newSceneNum = kCredits; } else { // Normal scene initScene(true); @@ -2195,4 +2202,31 @@ void BbvsEngine::runMainMenu() { delete mainMenu; } +void BbvsEngine::checkEasterEgg(char key) { + + static const char *kEasterEggStrings[] = { + "BOIDUTS", + "YNNIF", + "SKCUS", + "NAMTAH" + }; + + static const int kEasterEggLengths[] = { + 7, 5, 5, 6 + }; + + if (_currSceneNum == kCredits) { + memcpy(&_easterEggInput[1], &_easterEggInput[0], 6); + _easterEggInput[0] = key; + for (int i = 0; i < ARRAYSIZE(kEasterEggStrings); ++i) { + if (!scumm_strnicmp(kEasterEggStrings[i], _easterEggInput, kEasterEggLengths[i])) { + _easterEggInput[0] = 0; + _newSceneNum = 100 + i; + break; + } + } + } + +} + } // End of namespace Bbvs diff --git a/engines/bbvs/bbvs.h b/engines/bbvs/bbvs.h index 8d9ccc0279..a896e9db4a 100644 --- a/engines/bbvs/bbvs.h +++ b/engines/bbvs/bbvs.h @@ -300,6 +300,8 @@ public: byte *_snapshot; Common::SeekableMemoryWriteStream *_snapshotStream; + char _easterEggInput[7]; + void updateEvents(); int getRandom(int max); @@ -366,6 +368,7 @@ public: void playVideo(int videoNum); void runMainMenu(); + void checkEasterEgg(char key); // Savegame API diff --git a/engines/bbvs/videoplayer.cpp b/engines/bbvs/videoplayer.cpp index 71cb7ddaa4..0b6f011513 100644 --- a/engines/bbvs/videoplayer.cpp +++ b/engines/bbvs/videoplayer.cpp @@ -32,7 +32,7 @@ void BbvsEngine::playVideo(int videoNum) { Common::String videoFilename; if (videoNum >= 100) - videoFilename = Common::String::format("snd/snd%05d.avi", videoNum + 1400); + videoFilename = Common::String::format("snd/snd%05d.aif", videoNum + 1400); else videoFilename = Common::String::format("vid/video%03d.avi", videoNum - 1); -- cgit v1.2.3 From 7c8b7467c2bf8f0ac9f739b0961c8247893d28bc Mon Sep 17 00:00:00 2001 From: johndoe123 Date: Tue, 28 Jan 2014 13:04:51 +0100 Subject: BBVS: Fix mainmenu after intro videos --- engines/bbvs/bbvs.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/engines/bbvs/bbvs.cpp b/engines/bbvs/bbvs.cpp index 6ffac2ef15..ed89a9e200 100644 --- a/engines/bbvs/bbvs.cpp +++ b/engines/bbvs/bbvs.cpp @@ -95,7 +95,7 @@ static const byte kTurnTbl[] = { static const int kAfterVideoSceneNum[] = { 0, 43, 23, 12, 4, 44, 2, - 16, 4, 4, 4, 44, 12, 32 + 16, 4, 4, 4, 44, 12, 44 }; const int kMainMenu = 44; @@ -164,10 +164,10 @@ Common::Error BbvsEngine::run() { _currInventoryItem = -1; _currTalkObjectIndex = -1; _currSceneNum = 0; - //_newSceneNum = 31; + _newSceneNum = 31; //_newSceneNum = 23; // Class room - _newSceneNum = kMainMenu; // Main menu (TODO Buttons etc.) + //_newSceneNum = kMainMenu; // Main menu (TODO Buttons etc.) //_newSceneNum = 25;// Tank and crash //_newSceneNum = 7; //_newSceneNum = 12; -- cgit v1.2.3 From 4d2a42eec792bcb3121022770afb8968f7e09f39 Mon Sep 17 00:00:00 2001 From: johndoe123 Date: Tue, 28 Jan 2014 13:05:35 +0100 Subject: BBVS: Disable gamemodule debug output --- engines/bbvs/gamemodule.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/engines/bbvs/gamemodule.cpp b/engines/bbvs/gamemodule.cpp index abc5086a7d..97522abb73 100644 --- a/engines/bbvs/gamemodule.cpp +++ b/engines/bbvs/gamemodule.cpp @@ -25,7 +25,7 @@ namespace Bbvs { -#define DEBUG_DUMP +//#define DEBUG_DUMP GameModule::GameModule() : _bgSpriteCount(0), _bgSpriteIndices(0), _bgSpritePriorities(0), _walkRectsCount(0), -- cgit v1.2.3 From ea519818e21dadbe18a8943962ba22b1b9574559 Mon Sep 17 00:00:00 2001 From: johndoe123 Date: Tue, 28 Jan 2014 13:13:38 +0100 Subject: BBVS: Wrap some long lines --- engines/bbvs/bbvs.cpp | 53 ++++++++++++++++++++++++++++++++++++--------------- 1 file changed, 38 insertions(+), 15 deletions(-) diff --git a/engines/bbvs/bbvs.cpp b/engines/bbvs/bbvs.cpp index ed89a9e200..57284a5f14 100644 --- a/engines/bbvs/bbvs.cpp +++ b/engines/bbvs/bbvs.cpp @@ -166,8 +166,9 @@ Common::Error BbvsEngine::run() { _currSceneNum = 0; _newSceneNum = 31; + // DEBUG Jump directly to rooms //_newSceneNum = 23; // Class room - //_newSceneNum = kMainMenu; // Main menu (TODO Buttons etc.) + //_newSceneNum = kMainMenu; //_newSceneNum = 25;// Tank and crash //_newSceneNum = 7; //_newSceneNum = 12; @@ -202,8 +203,6 @@ Common::Error BbvsEngine::run() { delete _gameModule; delete _screen; - debug(0, "run() done"); - return Common::kNoError; } @@ -327,16 +326,26 @@ bool BbvsEngine::evalCondition(Conditions &conditions) { const Condition &condition = conditions.conditions[i]; switch (condition.cond) { case kCondSceneObjectVerb: - result = _activeItemType == KITSceneObject && condition.value1 == _currVerbNum && condition.value2 == _activeItemIndex; + result = _activeItemType == KITSceneObject && + condition.value1 == _currVerbNum && + condition.value2 == _activeItemIndex; break; case kCondBgObjectVerb: - result = _activeItemType == kITBgObject && condition.value1 == _currVerbNum && condition.value2 == _activeItemIndex; + result = _activeItemType == kITBgObject && + condition.value1 == _currVerbNum && + condition.value2 == _activeItemIndex; break; case kCondSceneObjectInventory: - result = _activeItemType == KITSceneObject && _currVerbNum == kVerbInvItem && condition.value1 == _currInventoryItem && condition.value2 == _activeItemIndex; + result = _activeItemType == KITSceneObject && + _currVerbNum == kVerbInvItem && + condition.value1 == _currInventoryItem && + condition.value2 == _activeItemIndex; break; case kCondBgObjectInventory: - result = _activeItemType == kITBgObject && _currVerbNum == kVerbInvItem && condition.value1 == _currInventoryItem && condition.value2 == _activeItemIndex; + result = _activeItemType == kITBgObject && + _currVerbNum == kVerbInvItem && + condition.value1 == _currInventoryItem && + condition.value2 == _activeItemIndex; break; case kCondHasInventoryItem: result = _inventoryItemStatus[condition.value1] != 0; @@ -357,7 +366,8 @@ bool BbvsEngine::evalCondition(Conditions &conditions) { result = condition.value2 == _currTalkObjectIndex; break; case kCondIsDialogItem: - result = _activeItemType == kITDialog && condition.value1 == _activeItemIndex; + result = _activeItemType == kITDialog && + condition.value1 == _activeItemIndex; break; case kCondIsCameraNum: result = condition.value1 == _currCameraNum; @@ -366,7 +376,8 @@ bool BbvsEngine::evalCondition(Conditions &conditions) { result = condition.value2 != _prevSceneNum; break; case kCondIsButtheadAtBgObject: - result = _buttheadObject && _gameModule->getBgObject(condition.value2)->rect.contains(_buttheadObject->x >> 16, _buttheadObject->y >> 16); + result = _buttheadObject && + _gameModule->getBgObject(condition.value2)->rect.contains(_buttheadObject->x >> 16, _buttheadObject->y >> 16); break; case kCondIsNotSceneVisited: result = _sceneVisited[_currSceneNum] == 0; @@ -414,7 +425,8 @@ bool BbvsEngine::evalCameraCondition(Conditions &conditions, int value) { result = _sceneVisited[_currSceneNum] != 0; break; case kCondIsCameraNumTransition: - result = condition.value1 == _currCameraNum && condition.value2 == value; + result = condition.value1 == _currCameraNum && + condition.value2 == value; break; case kCondUnused: case kCondSceneObjectVerb: @@ -442,16 +454,26 @@ int BbvsEngine::evalDialogCondition(Conditions &conditions) { const Condition &condition = conditions.conditions[i]; switch (condition.cond) { case kCondSceneObjectVerb: - success = _activeItemType == KITSceneObject && condition.value1 == _currVerbNum && condition.value2 == _activeItemIndex; + success = _activeItemType == KITSceneObject && + condition.value1 == _currVerbNum && + condition.value2 == _activeItemIndex; break; case kCondBgObjectVerb: - success = _activeItemType == kITBgObject && condition.value1 == _currVerbNum && condition.value2 == _activeItemIndex; + success = _activeItemType == kITBgObject && + condition.value1 == _currVerbNum && + condition.value2 == _activeItemIndex; break; case kCondSceneObjectInventory: - success = _activeItemType == KITSceneObject && _currVerbNum == kVerbInvItem && condition.value1 == _currInventoryItem && condition.value2 == _activeItemIndex; + success = _activeItemType == KITSceneObject && + _currVerbNum == kVerbInvItem && + condition.value1 == _currInventoryItem && + condition.value2 == _activeItemIndex; break; case kCondBgObjectInventory: - success = _activeItemType == kITBgObject && _currVerbNum == kVerbInvItem && condition.value1 == _currInventoryItem && condition.value2 == _activeItemIndex; + success = _activeItemType == kITBgObject && + _currVerbNum == kVerbInvItem && + condition.value1 == _currInventoryItem && + condition.value2 == _activeItemIndex; break; case kCondHasInventoryItem: success = _inventoryItemStatus[condition.value1] != 0; @@ -481,7 +503,8 @@ int BbvsEngine::evalDialogCondition(Conditions &conditions) { success = condition.value2 != _prevSceneNum; break; case kCondIsButtheadAtBgObject: - success = _buttheadObject && _gameModule->getBgObject(condition.value2)->rect.contains(_buttheadObject->x >> 16, _buttheadObject->y >> 16); + success = _buttheadObject && + _gameModule->getBgObject(condition.value2)->rect.contains(_buttheadObject->x >> 16, _buttheadObject->y >> 16); break; case kCondIsNotSceneVisited: success = _sceneVisited[_currSceneNum] == 0; -- cgit v1.2.3 From 542197a891eac799855571fe2849e0dca43bdd2b Mon Sep 17 00:00:00 2001 From: johndoe123 Date: Tue, 28 Jan 2014 17:54:01 +0100 Subject: BBVS: Very small cleanup --- engines/bbvs/bbvs.cpp | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/engines/bbvs/bbvs.cpp b/engines/bbvs/bbvs.cpp index 57284a5f14..5f433e0ca2 100644 --- a/engines/bbvs/bbvs.cpp +++ b/engines/bbvs/bbvs.cpp @@ -183,9 +183,8 @@ Common::Error BbvsEngine::run() { else if (_currSceneNum == kMainMenu) runMainMenu(); else if (_currSceneNum == kCredits && - (_mouseButtons & (kLeftButtonClicked | kRightButtonClicked))) { - _mouseButtons &= ~kLeftButtonClicked; - _mouseButtons &= ~kRightButtonClicked; + (_mouseButtons & kAnyButtonClicked)) { + _mouseButtons &= ~kAnyButtonClicked; _newSceneNum = kMainMenu; } if (_playVideoNumber > 0) { @@ -2042,8 +2041,6 @@ void BbvsEngine::walkFoundPath(int count) { Common::Point destPt = _destWalkAreaPt, newDestPt; - // TODO This needs some cleanup but seems to work - while (1) { int index = 0; -- cgit v1.2.3 From dbc8e6bb31fbb01c88403cfe712a7ecadbcd83b5 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Thu, 30 Jan 2014 21:31:20 -0500 Subject: VOYEUR: Fix for low battery charge leaving scene when time is turned off --- engines/voyeur/files_threads.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/engines/voyeur/files_threads.cpp b/engines/voyeur/files_threads.cpp index 92b0191dde..0179894254 100644 --- a/engines/voyeur/files_threads.cpp +++ b/engines/voyeur/files_threads.cpp @@ -1368,7 +1368,8 @@ int ThreadResource::doInterface() { if (_vm->_voy._RTVNum >= _vm->_voy._RTVLimit || _vm->_voy._RTVNum < 0) _vm->_voy._RTVNum = _vm->_voy._RTVLimit - 1; - if (_vm->_voy._transitionId < 15 && (_vm->_voy._RTVLimit - 3) < _vm->_voy._RTVNum) { + if (_vm->_voy._transitionId < 15 && _vm->_debugger._isTimeActive && + (_vm->_voy._RTVLimit - 3) < _vm->_voy._RTVNum) { _vm->_voy._RTVNum = _vm->_voy._RTVLimit; _vm->makeViewFinder(); -- cgit v1.2.3 From 77e86b3d4805603166330c47f47789d7e4d09398 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Thu, 30 Jan 2014 22:10:59 -0500 Subject: VOYEUR: Renaming of _videoId to _audioVideoId and extra comments --- engines/voyeur/data.cpp | 18 +++++++++--------- engines/voyeur/data.h | 6 +++--- engines/voyeur/files_threads.cpp | 30 +++++++++++++++--------------- engines/voyeur/voyeur.cpp | 6 +++--- engines/voyeur/voyeur.h | 6 +++++- engines/voyeur/voyeur_game.cpp | 36 ++++++++++++++++++------------------ 6 files changed, 53 insertions(+), 49 deletions(-) diff --git a/engines/voyeur/data.cpp b/engines/voyeur/data.cpp index 64b15f72c6..5d311a8385 100644 --- a/engines/voyeur/data.cpp +++ b/engines/voyeur/data.cpp @@ -30,7 +30,7 @@ void VoyeurEvent::synchronize(Common::Serializer &s) { s.syncAsByte(_minute); s.syncAsByte(_isAM); s.syncAsByte(_type); - s.syncAsSint16LE(_videoId); + s.syncAsSint16LE(_audioVideoId); s.syncAsSint16LE(_computerOn); s.syncAsSint16LE(_computerOff); s.syncAsSint16LE(_dead); @@ -47,14 +47,14 @@ void SVoy::setVm(VoyeurEngine *vm) { _vm = vm; } -void SVoy::addEvent(int hour, int minute, VoyeurEventType type, int videoId, +void SVoy::addEvent(int hour, int minute, VoyeurEventType type, int audioVideoId, int on, int off, int dead) { VoyeurEvent &e = _events[_eventCount++]; e._hour = hour; e._minute = minute; e._isAM = hour < 12; - e._videoId = videoId; + e._audioVideoId = audioVideoId; e._computerOn = on; e._computerOff = off; e._dead = dead; @@ -134,7 +134,7 @@ void SVoy::addVideoEventStart() { e._minute = _vm->_gameMinute; e._isAM = _isAM; e._type = EVTYPE_VIDEO; - e._videoId = _vm->_videoId; + e._audioVideoId = _vm->_audioVideoId; e._computerOn = _vocSecondsOffset; e._dead = _vm->_eventsManager._videoDead; } @@ -152,7 +152,7 @@ void SVoy::addAudioEventStart() { e._minute = _vm->_gameMinute; e._isAM = _isAM; e._type = EVTYPE_AUDIO; - e._videoId = _vm->_videoId; + e._audioVideoId = _vm->_audioVideoId; e._computerOn = _vocSecondsOffset; e._dead = _vm->_eventsManager._videoDead; } @@ -170,7 +170,7 @@ void SVoy::addEvidEventStart(int v) { e._minute = _vm->_gameMinute; e._isAM = _isAM; e._type = EVTYPE_EVID; - e._videoId = _vm->_playStampGroupId; + e._audioVideoId = _vm->_playStampGroupId; e._computerOn = _field47A; e._computerOff = v; } @@ -188,7 +188,7 @@ void SVoy::addComputerEventStart() { e._minute = _vm->_gameMinute; e._isAM = _isAM; e._type = EVTYPE_COMPUTER; - e._videoId = _vm->_playStampGroupId; + e._audioVideoId = _vm->_playStampGroupId; e._computerOn = _computerTextId; } @@ -201,7 +201,7 @@ void SVoy::addComputerEventEnd(int v) { void SVoy::reviewAnEvidEvent(int eventIndex) { VoyeurEvent &e = _events[eventIndex]; - _vm->_playStampGroupId = e._videoId; + _vm->_playStampGroupId = e._audioVideoId; _field47A = e._computerOn; int frameOff = e._computerOff; @@ -224,7 +224,7 @@ void SVoy::reviewAnEvidEvent(int eventIndex) { void SVoy::reviewComputerEvent(int eventIndex) { VoyeurEvent &e = _events[eventIndex]; - _vm->_playStampGroupId = e._videoId; + _vm->_playStampGroupId = e._audioVideoId; _computerTextId = e._computerOn; if (_vm->_bVoy->getBoltGroup(_vm->_playStampGroupId)) { diff --git a/engines/voyeur/data.h b/engines/voyeur/data.h index 15df79d9af..37b2671ea7 100644 --- a/engines/voyeur/data.h +++ b/engines/voyeur/data.h @@ -39,7 +39,7 @@ struct VoyeurEvent { int _minute; bool _isAM; VoyeurEventType _type; - int _videoId; + int _audioVideoId; int _computerOn; int _computerOff; int _dead; @@ -123,8 +123,8 @@ public: /** * Add an event to the list of game events that have occurred */ - void addEvent(int hour, int minute, VoyeurEventType type, int videoId, int on, - int off, int dead); + void addEvent(int hour, int minute, VoyeurEventType type, int audioVideoId, + int on, int off, int dead); void addVideoEventStart(); void addVideoEventEnd(); diff --git a/engines/voyeur/files_threads.cpp b/engines/voyeur/files_threads.cpp index 0179894254..3746a89a62 100644 --- a/engines/voyeur/files_threads.cpp +++ b/engines/voyeur/files_threads.cpp @@ -373,23 +373,23 @@ void ThreadResource::parsePlayCommands() { v2 = READ_LE_UINT16(dataP); if (v2 == 0 || READ_LE_UINT16(_vm->_controlPtr->_ptr + 4) == 0) { - _vm->_videoId = READ_LE_UINT16(dataP + 2) - 1; + _vm->_audioVideoId = READ_LE_UINT16(dataP + 2) - 1; _vm->_voy._field468 = READ_LE_UINT16(dataP + 4); _vm->_voy._field46A = READ_LE_UINT16(dataP + 6); if (_vm->_voy._RTVNum < _vm->_voy._field468 || (_vm->_voy._field468 + _vm->_voy._field46A) < _vm->_voy._RTVNum) { - _vm->_videoId = -1; + _vm->_audioVideoId = -1; } else { _vm->_voy._vocSecondsOffset = _vm->_voy._RTVNum - _vm->_voy._field468; _vm->_voy.addAudioEventStart(); - assert(_vm->_videoId < 38); + assert(_vm->_audioVideoId < 38); _vm->_bVoy->getBoltGroup(0x7F00); _vm->_graphicsManager._backgroundPage = _vm->_bVoy->boltEntry( - 0x7F00 + BLIND_TABLE[_vm->_videoId])._picResource; + 0x7F00 + BLIND_TABLE[_vm->_audioVideoId])._picResource; _vm->_graphicsManager._backColors = _vm->_bVoy->boltEntry(0x7F01 + - BLIND_TABLE[_vm->_videoId])._cMapResource; + BLIND_TABLE[_vm->_audioVideoId])._cMapResource; (*_vm->_graphicsManager._vPort)->setupViewPort(); _vm->_graphicsManager._backColors->startFade(); @@ -398,7 +398,7 @@ void ThreadResource::parsePlayCommands() { _vm->_voy._field478 &= ~1; _vm->_soundManager.setVOCOffset(_vm->_voy._vocSecondsOffset); Common::String filename = _vm->_soundManager.getVOCFileName( - _vm->_videoId + 159); + _vm->_audioVideoId + 159); _vm->_soundManager.startVOCPlay(filename); _vm->_voy._field478 |= 16; _vm->_eventsManager.startCursorBlink(); @@ -415,7 +415,7 @@ void ThreadResource::parsePlayCommands() { _vm->_bVoy->freeBoltGroup(0x7F00); _vm->_voy._field478 &= ~0x10; - _vm->_videoId = -1; + _vm->_audioVideoId = -1; _vm->_voy._field470 = 129; parseIndex = 999; } @@ -428,26 +428,26 @@ void ThreadResource::parsePlayCommands() { v2 = READ_LE_UINT16(dataP); if (v2 == 0 || READ_LE_UINT16(_vm->_controlPtr->_ptr + 4) == 0) { - _vm->_videoId = READ_LE_UINT16(dataP + 2) - 1; + _vm->_audioVideoId = READ_LE_UINT16(dataP + 2) - 1; _vm->_voy._field468 = READ_LE_UINT16(dataP + 4); _vm->_voy._field46A = READ_LE_UINT16(dataP + 6); if (_vm->_voy._RTVNum < _vm->_voy._field468 || (_vm->_voy._field468 + _vm->_voy._field46A) < _vm->_voy._RTVNum) { - _vm->_videoId = -1; + _vm->_audioVideoId = -1; } else { _vm->_voy._vocSecondsOffset = _vm->_voy._RTVNum - _vm->_voy._field468; _vm->_voy.addVideoEventStart(); _vm->_voy._field478 &= ~1; _vm->_voy._field478 |= 0x10; - _vm->playAVideo(_vm->_videoId); + _vm->playAVideo(_vm->_audioVideoId); _vm->_voy._field478 &= ~0x10; _vm->_voy._field478 |= 1; _vm->_voy.addVideoEventEnd(); _vm->_eventsManager.incrementTime(1); - _vm->_videoId = -1; + _vm->_audioVideoId = -1; _vm->_playStampGroupId = -1; if (_vm->_eventsManager._videoDead != -1) { @@ -471,7 +471,7 @@ void ThreadResource::parsePlayCommands() { case 4: case 22: - _vm->_videoId = READ_LE_UINT16(dataP) - 1; + _vm->_audioVideoId = READ_LE_UINT16(dataP) - 1; dataP += 2; if (id == 22) { @@ -483,11 +483,11 @@ void ThreadResource::parsePlayCommands() { _vm->_voy._vocSecondsOffset = 0; _vm->_voy._field468 = _vm->_voy._RTVNum; _vm->_voy._field478 &= ~0x11; - _vm->playAVideo(_vm->_videoId); + _vm->playAVideo(_vm->_audioVideoId); _vm->_voy._field478 |= 1; if (id != 22) { - _vm->_videoId = -1; + _vm->_audioVideoId = -1; parseIndex = 999; } else { // TODO: Double-check this @@ -529,7 +529,7 @@ void ThreadResource::parsePlayCommands() { _vm->_bVoy->freeBoltGroup(_vm->_playStampGroupId); _vm->_playStampGroupId = -1; - _vm->_videoId = -1; + _vm->_audioVideoId = -1; parseIndex = 999; } break; diff --git a/engines/voyeur/voyeur.cpp b/engines/voyeur/voyeur.cpp index 12d627ddb4..cfd05765b3 100644 --- a/engines/voyeur/voyeur.cpp +++ b/engines/voyeur/voyeur.cpp @@ -46,7 +46,7 @@ VoyeurEngine::VoyeurEngine(OSystem *syst, const VoyeurGameDescription *gameDesc) _bob = false; _stampFlags = 0; _playStampGroupId = _currentVocId = 0; - _videoId = -1; + _audioVideoId = -1; _checkTransitionId = -1; _gameHour = 0; _gameMinute = 0; @@ -469,7 +469,7 @@ void VoyeurEngine::doOpening() { _voy._field478 = 16; _gameHour = 4; _gameMinute = 0; - _videoId = 1; + _audioVideoId = 1; _eventsManager._videoDead = -1; _voy.addVideoEventStart(); @@ -745,7 +745,7 @@ void VoyeurEngine::synchronize(Common::Serializer &s) { s.syncAsSint16LE(_stampFlags); s.syncAsSint16LE(_playStampGroupId); s.syncAsSint16LE(_currentVocId); - s.syncAsSint16LE(_videoId); + s.syncAsSint16LE(_audioVideoId); s.syncAsSint16LE(_iForceDeath); s.syncAsSint16LE(_gameHour); diff --git a/engines/voyeur/voyeur.h b/engines/voyeur/voyeur.h index bdbf3c138e..5d729fd757 100644 --- a/engines/voyeur/voyeur.h +++ b/engines/voyeur/voyeur.h @@ -173,7 +173,11 @@ public: int _stampFlags; int _playStampGroupId; int _currentVocId; - int _videoId; + + /** + * Id for the current video, audio, or evidence scene being viewed + */ + int _audioVideoId; const int *_resolvePtr; int _iForceDeath; // CHECKME: The original initializes it in ESP_init() int _checkTransitionId; diff --git a/engines/voyeur/voyeur_game.cpp b/engines/voyeur/voyeur_game.cpp index c645643163..6844fadfd3 100644 --- a/engines/voyeur/voyeur_game.cpp +++ b/engines/voyeur/voyeur_game.cpp @@ -49,7 +49,7 @@ void VoyeurEngine::playStamp() { _voyeurArea = AREA_NONE; _eventsManager.getMouseInfo(); _playStampGroupId = _currentVocId = -1; - _videoId = -1; + _audioVideoId = -1; _mainThread->parsePlayCommands(); @@ -178,7 +178,7 @@ void VoyeurEngine::playStamp() { _currentVocId = -1; } - _videoId = -1; + _audioVideoId = -1; if (_voy._field47A != -1) { _bVoy->freeBoltGroup(_voy._field47A); @@ -668,14 +668,14 @@ void VoyeurEngine::reviewTape() { break; case EVTYPE_AUDIO: { - _videoId = e._videoId; + _audioVideoId = e._audioVideoId; _voy._vocSecondsOffset = e._computerOn; _bVoy->getBoltGroup(0x7F00); _graphicsManager._backgroundPage = _bVoy->boltEntry(0x7F00 + - BLIND_TABLE[_videoId])._picResource; + BLIND_TABLE[_audioVideoId])._picResource; _graphicsManager._backColors = _bVoy->boltEntry(0x7F01 + - BLIND_TABLE[_videoId])._cMapResource; + BLIND_TABLE[_audioVideoId])._cMapResource; (*_graphicsManager._vPort)->setupViewPort(_graphicsManager._backgroundPage); _graphicsManager._backColors->startFade(); @@ -687,7 +687,7 @@ void VoyeurEngine::reviewTape() { // Play suond for the given duration _soundManager.setVOCOffset(_voy._vocSecondsOffset); - _soundManager.startVOCPlay(_videoId + 159); + _soundManager.startVOCPlay(_audioVideoId + 159); uint32 secondsDuration = e._computerOff; _eventsManager.getMouseInfo(); @@ -812,28 +812,28 @@ bool VoyeurEngine::checkForMurder() { if (evt._type == EVTYPE_VIDEO) { switch (READ_LE_UINT32(_controlPtr->_ptr + 4)) { case 1: - if (evt._videoId == 41 && evt._computerOn <= 15 && + if (evt._audioVideoId == 41 && evt._computerOn <= 15 && (evt._computerOff + evt._computerOn) >= 16) { WRITE_LE_UINT32(_controlPtr->_ptr + 12, 1); } break; case 2: - if (evt._videoId == 53 && evt._computerOn <= 19 && + if (evt._audioVideoId == 53 && evt._computerOn <= 19 && (evt._computerOff + evt._computerOn) >= 21) { WRITE_LE_UINT32(_controlPtr->_ptr + 12, 2); } break; case 3: - if (evt._videoId == 50 && evt._computerOn <= 28 && + if (evt._audioVideoId == 50 && evt._computerOn <= 28 && (evt._computerOff + evt._computerOn) >= 29) { WRITE_LE_UINT32(_controlPtr->_ptr + 12, 3); } break; case 4: - if (evt._videoId == 43 && evt._computerOn <= 10 && + if (evt._audioVideoId == 43 && evt._computerOn <= 10 && (evt._computerOff + evt._computerOn) >= 14) { WRITE_LE_UINT32(_controlPtr->_ptr + 12, 4); } @@ -862,27 +862,27 @@ bool VoyeurEngine::checkForIncriminate() { VoyeurEvent &evt = _voy._events[idx]; if (evt._type == EVTYPE_VIDEO) { - if (evt._videoId == 44 && evt._computerOn <= 40 && + if (evt._audioVideoId == 44 && evt._computerOn <= 40 && (evt._computerOff + evt._computerOn) >= 70) { _voy._field4382 = 1; } - if (evt._videoId == 44 && evt._computerOn <= 79 && + if (evt._audioVideoId == 44 && evt._computerOn <= 79 && (evt._computerOff + evt._computerOn) >= 129) { _voy._field4382 = 1; } - if (evt._videoId == 20 && evt._computerOn <= 28 && + if (evt._audioVideoId == 20 && evt._computerOn <= 28 && (evt._computerOff + evt._computerOn) >= 45) { _voy._field4382 = 2; } - if (evt._videoId == 35 && evt._computerOn <= 17 && + if (evt._audioVideoId == 35 && evt._computerOn <= 17 && (evt._computerOff + evt._computerOn) >= 36) { _voy._field4382 = 3; } - if (evt._videoId == 30 && evt._computerOn <= 80 && + if (evt._audioVideoId == 30 && evt._computerOn <= 80 && (evt._computerOff + evt._computerOn) >= 139) { _voy._field4382 = 4; } @@ -901,12 +901,12 @@ bool VoyeurEngine::checkForIncriminate() { void VoyeurEngine::playAVideoEvent(int eventIndex) { VoyeurEvent &evt = _voy._events[eventIndex]; - _videoId = evt._videoId; + _audioVideoId = evt._audioVideoId; _voy._vocSecondsOffset = evt._computerOn; _eventsManager._videoDead = evt._dead; _voy._field478 &= ~1; - playAVideoDuration(_videoId, evt._computerOff); + playAVideoDuration(_audioVideoId, evt._computerOff); _voy._field478 |= 1; if (_eventsManager._videoDead != -1) { @@ -916,7 +916,7 @@ void VoyeurEngine::playAVideoEvent(int eventIndex) { _eventsManager._videoDead = -1; } - _videoId = -1; + _audioVideoId = -1; if (_eventsManager._videoDead != -1) { _bVoy->freeBoltGroup(0xE00); _eventsManager._videoDead = -1; -- cgit v1.2.3 From 4174c4a2be34242dc7003b4f4a7363caf743bdb5 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Fri, 31 Jan 2014 08:57:12 -0500 Subject: VOYEUR: Fix hotspot hightlighting in doInterface --- engines/voyeur/files_threads.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/engines/voyeur/files_threads.cpp b/engines/voyeur/files_threads.cpp index 3746a89a62..da4ae551ba 100644 --- a/engines/voyeur/files_threads.cpp +++ b/engines/voyeur/files_threads.cpp @@ -601,6 +601,7 @@ void ThreadResource::parsePlayCommands() { break; case 9: + // Load up initial timeframese for third set of hotspots v2 = READ_LE_UINT16(dataP); v3 = READ_LE_UINT16(dataP + 2) - 1; @@ -1456,7 +1457,7 @@ int ThreadResource::doInterface() { } if (_vm->_voy._arr5[arrIndex][idx] <= _vm->_voy._RTVNum && - _vm->_voy._arr6[idx][idx] > _vm->_voy._RTVNum) { + _vm->_voy._arr6[arrIndex][idx] > _vm->_voy._RTVNum) { // Set unk? cursor _vm->_eventsManager.setCursor(mangifyCursor); regionIndex = idx; -- cgit v1.2.3 From b4ab7c33578dfe35d2d19ea06c2b0d290aa49f59 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Fri, 31 Jan 2014 20:22:49 -0500 Subject: VOYEUR: Fix for loading rect resources with invalid rects --- engines/voyeur/files.cpp | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/engines/voyeur/files.cpp b/engines/voyeur/files.cpp index 3de0d88621..a2177230c6 100644 --- a/engines/voyeur/files.cpp +++ b/engines/voyeur/files.cpp @@ -705,8 +705,15 @@ RectResource::RectResource(const byte *src, int size) { } for (int i = 0; i < count; ++i, src += 8) { - _entries.push_back(Common::Rect(READ_LE_UINT16(src), READ_LE_UINT16(src + 2), - READ_LE_UINT16(src + 4), READ_LE_UINT16(src + 6))); + int x1 = READ_LE_UINT16(src); + int y1 = READ_LE_UINT16(src + 2); + int x2 = READ_LE_UINT16(src + 4); + int y2 = READ_LE_UINT16(src + 6); + + if (x2 >= x1 && y2 >= y1) + _entries.push_back(Common::Rect(x1, y1, x2, y2)); + else + _entries.push_back(Common::Rect()); } left = _entries[0].left; -- cgit v1.2.3 From f31a422ddfb97efbdec5d0f69b4c4e81b571b5f7 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Fri, 31 Jan 2014 21:58:03 -0500 Subject: VOYEUR: Add support for the extended rects used by room displays --- engines/voyeur/files.cpp | 51 ++++++++++++++++++++++++++-------------- engines/voyeur/files.h | 17 ++++++++++---- engines/voyeur/files_threads.cpp | 18 ++++++-------- engines/voyeur/voyeur_game.cpp | 11 ++++----- 4 files changed, 59 insertions(+), 38 deletions(-) diff --git a/engines/voyeur/files.cpp b/engines/voyeur/files.cpp index a2177230c6..fe77d2f9e9 100644 --- a/engines/voyeur/files.cpp +++ b/engines/voyeur/files.cpp @@ -251,7 +251,7 @@ BoltGroup *BoltFile::getBoltGroup(uint16 id, bool process) { if (!_state._curGroupPtr->_loaded) { // Load the group index - _state._curGroupPtr->load(); + _state._curGroupPtr->load(id & 0xff00); } if (_state._curGroupPtr->_callInitGro) @@ -266,7 +266,7 @@ BoltGroup *BoltFile::getBoltGroup(uint16 id, bool process) { } } else if (!_state._curGroupPtr->_processed) { _state._curGroupPtr->_processed = true; - _state._curGroupPtr->load(); + _state._curGroupPtr->load(id & 0xff00); } resolveAll(); @@ -397,7 +397,7 @@ byte *BoltFile::getBoltMember(uint32 id) { // Get the group, and load it's entry list if not already loaded _state._curGroupPtr = &_groups[(id >> 8) & 0xff]; if (!_state._curGroupPtr->_loaded) - _state._curGroupPtr->load(); + _state._curGroupPtr->load(id & 0xff00); // Get the entry _state._curMemberPtr = &_state._curGroupPtr->_entries[id & 0xff]; @@ -529,9 +529,15 @@ void BVoyBoltFile::sInitRect() { _state._curMemberPtr->_data = _state.decompress(NULL, _state._curMemberPtr->_size, _state._curMemberPtr->_mode); - if ((_state._curMemberPtr->_size % 8) == 0 || (_state._curMemberPtr->_size % 8) == 2) - _state._curMemberPtr->_rectResource = new RectResource(_state._curMemberPtr->_data, - _state._curMemberPtr->_size); + // Check whether the resouce Id is in the list of extended rects + bool isExtendedRects = false; + for (int i = 0; i < 49 && !isExtendedRects; ++i) + isExtendedRects = RESOLVE_TABLE[i] == (_state._curMemberPtr->_id & 0xff00); + + int rectSize = isExtendedRects ? 12 : 8; + if ((_state._curMemberPtr->_size % rectSize) == 0 || (_state._curMemberPtr->_size % rectSize) == 2) + _state._curMemberPtr->_rectResource = new RectResource(_state._curMemberPtr->_data, + _state._curMemberPtr->_size, isExtendedRects); } void BVoyBoltFile::sInitPic() { @@ -619,12 +625,12 @@ BoltGroup::BoltGroup(Common::SeekableReadStream *f): _file(f) { BoltGroup::~BoltGroup() { } -void BoltGroup::load() { +void BoltGroup::load(uint16 groupId) { _file->seek(_fileOffset); // Read the entries for (int i = 0; i < _count; ++i) - _entries.push_back(BoltEntry(_file)); + _entries.push_back(BoltEntry(_file, groupId + i)); _loaded = true; } @@ -639,7 +645,7 @@ void BoltGroup::unload() { /*------------------------------------------------------------------------*/ -BoltEntry::BoltEntry(Common::SeekableReadStream *f): _file(f) { +BoltEntry::BoltEntry(Common::SeekableReadStream *f, uint16 id): _file(f), _id(id) { _data = nullptr; _rectResource = nullptr; _picResource = nullptr; @@ -660,7 +666,7 @@ BoltEntry::BoltEntry(Common::SeekableReadStream *f): _file(f) { _field1 = buffer[1]; _initMethod = buffer[3]; _xorMask = buffer[4] & 0xff; // TODO: Is this right?? - _size = READ_LE_UINT32(&buffer[4]); + _size = READ_LE_UINT32(&buffer[4]) & 0xffffff; _fileOffset = READ_LE_UINT32(&buffer[8]); } @@ -695,25 +701,36 @@ bool BoltEntry::hasResource() const { /*------------------------------------------------------------------------*/ -RectResource::RectResource(const byte *src, int size) { +RectEntry::RectEntry(int x1, int y1, int x2, int y2, int arrIndex, int count): + Common::Rect(x1, y1, x2, y2), _arrIndex(arrIndex), _count(count) { +} + +/*------------------------------------------------------------------------*/ + +RectResource::RectResource(const byte *src, int size, bool isExtendedRects) { int count; - if ((size % 8) == 2) { + int rectSize = isExtendedRects ? 12 : 8; + if ((size % rectSize) == 2) { count = READ_LE_UINT16(src); src += 2; } else { - count = size / 8; + count = size / rectSize; } for (int i = 0; i < count; ++i, src += 8) { + int arrIndex = 0, count = 0; + if (isExtendedRects) { + arrIndex = READ_LE_UINT16(src); + count = READ_LE_UINT16(src + 2); + src += 4; + } + int x1 = READ_LE_UINT16(src); int y1 = READ_LE_UINT16(src + 2); int x2 = READ_LE_UINT16(src + 4); int y2 = READ_LE_UINT16(src + 6); - if (x2 >= x1 && y2 >= y1) - _entries.push_back(Common::Rect(x1, y1, x2, y2)); - else - _entries.push_back(Common::Rect()); + _entries.push_back(RectEntry(x1, y1, x2, y2, arrIndex, count)); } left = _entries[0].left; diff --git a/engines/voyeur/files.h b/engines/voyeur/files.h index cc30d0a493..97ade46b1f 100644 --- a/engines/voyeur/files.h +++ b/engines/voyeur/files.h @@ -179,7 +179,7 @@ public: BoltGroup(Common::SeekableReadStream *f); virtual ~BoltGroup(); - void load(); + void load(uint16 groupId); void unload(); }; @@ -188,6 +188,7 @@ class BoltEntry { private: Common::SeekableReadStream *_file; public: + uint16 _id; byte _mode; byte _field1; byte _initMethod; @@ -211,7 +212,7 @@ public: ControlResource *_controlResource; ThreadResource *_threadResource; public: - BoltEntry(Common::SeekableReadStream *f); + BoltEntry(Common::SeekableReadStream *f, uint16 id); virtual ~BoltEntry(); void load(); @@ -232,11 +233,19 @@ public: byte *fload(const Common::String &filename, int *size = NULL); }; +class RectEntry: public Common::Rect { +public: + int _arrIndex; + int _count; + + RectEntry(int x1, int y1, int x2, int y2, int arrIndex, int count); +}; + class RectResource: public Common::Rect { public: - Common::Array _entries; + Common::Array _entries; public: - RectResource(const byte *src, int size); + RectResource(const byte *src, int size, bool isExtendedRects); RectResource(int xp, int yp, int width, int height); virtual ~RectResource() {} }; diff --git a/engines/voyeur/files_threads.cpp b/engines/voyeur/files_threads.cpp index da4ae551ba..03e393936a 100644 --- a/engines/voyeur/files_threads.cpp +++ b/engines/voyeur/files_threads.cpp @@ -1033,7 +1033,7 @@ int ThreadResource::doApt() { _vm->_currentVocId = 151; _vm->_voy._viewBounds = _vm->_bVoy->boltEntry(_vm->_playStampGroupId)._rectResource; - Common::Array &hotspots = _vm->_bVoy->boltEntry( + Common::Array &hotspots = _vm->_bVoy->boltEntry( _vm->_playStampGroupId + 1)._rectResource->_entries; _vm->_eventsManager.getMouseInfo(); @@ -1169,8 +1169,7 @@ void ThreadResource::doRoom() { voy._field437C = 0; voy._field437E = 1; - byte *dataP = vm._bVoy->memberAddr(vm._playStampGroupId + 4); - int count = READ_LE_UINT16(dataP); + Common::Array &hotspots = vm._bVoy->boltEntry(vm._playStampGroupId + 4)._rectResource->_entries; int i4e4 = -1; PictureResource *pic1 = vm._bVoy->boltEntry(vm._playStampGroupId + 2)._picResource; @@ -1209,12 +1208,9 @@ void ThreadResource::doRoom() { if (voy._computerTextId != -1 && voy._rect4E4.contains(pt)) i4e4 = 999; - for (int idx = 0; idx < count; ++idx) { - if (pt.x > READ_LE_UINT16(dataP + idx * 12 + 6) && - pt.x < READ_LE_UINT16(dataP + idx * 12 + 10) && - pt.y > READ_LE_UINT16(dataP + idx * 12 + 8) && - pt.y < READ_LE_UINT16(dataP + idx * 12 + 12)) { - int arrIndex = READ_LE_UINT16(dataP + idx * 12 + 2); + for (uint idx = 0; idx < hotspots.size(); ++idx) { + if (hotspots[idx].contains(pt)) { + int arrIndex = hotspots[idx]._arrIndex; if (voy._arr7[arrIndex - 1] == 1) { i4e4 = idx; break; @@ -1289,7 +1285,7 @@ void ThreadResource::doRoom() { //vm._bVoy->freeBoltGroup(vm._playStampGroupId); //vm._bVoy->getBoltGroup(vm._playStampGroupId); - dataP = vm._bVoy->memberAddr(vm._playStampGroupId + 4); + hotspots = vm._bVoy->boltEntry(vm._playStampGroupId + 4)._rectResource->_entries; pic1 = vm._bVoy->boltEntry(vm._playStampGroupId + 2)._picResource; pic2 = vm._bVoy->boltEntry(vm._playStampGroupId + 3)._picResource; vm._graphicsManager._backColors = vm._bVoy->boltEntry( @@ -1392,7 +1388,7 @@ int ThreadResource::doInterface() { _vm->_eventsManager.getMouseInfo(); _vm->initIFace(); - Common::Array *hotspots = &_vm->_bVoy->boltEntry( + Common::Array *hotspots = &_vm->_bVoy->boltEntry( _vm->_playStampGroupId + 1)._rectResource->_entries; _vm->_currentVocId = 151 - _vm->getRandomNumber(5); _vm->_voy._vocSecondsOffset = _vm->getRandomNumber(29); diff --git a/engines/voyeur/voyeur_game.cpp b/engines/voyeur/voyeur_game.cpp index 6844fadfd3..939bc350df 100644 --- a/engines/voyeur/voyeur_game.cpp +++ b/engines/voyeur/voyeur_game.cpp @@ -434,7 +434,7 @@ void VoyeurEngine::reviewTape() { bool breakFlag = false; while (!shouldQuit() && !breakFlag) { _voy._viewBounds = _bVoy->boltEntry(0x907)._rectResource; - Common::Array &hotspots = _bVoy->boltEntry(0x906)._rectResource->_entries; + Common::Array &hotspots = _bVoy->boltEntry(0x906)._rectResource->_entries; _graphicsManager._backColors = _bVoy->boltEntry(0x902)._cMapResource; _graphicsManager._backgroundPage = _bVoy->boltEntry(0x901)._picResource; @@ -926,7 +926,7 @@ void VoyeurEngine::playAVideoEvent(int eventIndex) { int VoyeurEngine::getChooseButton() { int prevIndex = -2; - Common::Array &hotspots = _bVoy->boltEntry(_playStampGroupId + Common::Array &hotspots = _bVoy->boltEntry(_playStampGroupId + 6)._rectResource->_entries; int selectedIndex = -1; @@ -1348,8 +1348,8 @@ void VoyeurEngine::doEvidDisplay(int evidId, int eventId) { _eventsManager.delay(1); _bVoy->freeBoltMember(_voy._field47A + evidId * 2 + 1); - byte *dataP = _bVoy->memberAddr(_playStampGroupId + 4); - int count = (int16)READ_LE_UINT16(dataP + evidId * 12 + 4); + Common::Array &hotspots = _bVoy->boltEntry(_playStampGroupId + 4)._rectResource->_entries; + int count = hotspots[evidId]._count; if (count > 0) { for (int idx = 1; idx <= count; ++idx) { @@ -1406,8 +1406,7 @@ void VoyeurEngine::doEvidDisplay(int evidId, int eventId) { if (eventId == 999) _voy.addEvidEventEnd(evidIdx); - count = (int16)READ_LE_UINT16(dataP + evidId * 12 + 4); - for (int idx = 1; idx <= count; ++idx) { + for (int idx = 1; idx <= hotspots[evidId]._count; ++idx) { _bVoy->freeBoltMember(_voy._field47A + (evidId + idx) * 2); _bVoy->freeBoltMember(_voy._field47A + (evidId + idx) * 2 + 1); } -- cgit v1.2.3 From da977f05f6743c56f44783c46a753a8abe306f58 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Fri, 31 Jan 2014 22:07:44 -0500 Subject: VOYEUR: Fix review tape entries when more than a page is available --- engines/voyeur/voyeur_game.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/engines/voyeur/voyeur_game.cpp b/engines/voyeur/voyeur_game.cpp index 939bc350df..2d80daec9e 100644 --- a/engines/voyeur/voyeur_game.cpp +++ b/engines/voyeur/voyeur_game.cpp @@ -664,7 +664,7 @@ void VoyeurEngine::reviewTape() { VoyeurEvent &e = _voy._events[eventIndex]; switch (e._type) { case EVTYPE_VIDEO: - playAVideoEvent(eventLine); + playAVideoEvent(eventIndex); break; case EVTYPE_AUDIO: { @@ -705,7 +705,7 @@ void VoyeurEngine::reviewTape() { case EVTYPE_EVID: _bVoy->freeBoltGroup(0x900); - _voy.reviewAnEvidEvent(eventLine); + _voy.reviewAnEvidEvent(eventIndex); _voy._vocSecondsOffset = _voy._RTVNum - _voy._field4AC; _soundManager.stopVOCPlay(); @@ -714,7 +714,7 @@ void VoyeurEngine::reviewTape() { case EVTYPE_COMPUTER: _bVoy->freeBoltGroup(0x900); - _voy.reviewComputerEvent(eventLine); + _voy.reviewComputerEvent(eventIndex); _voy._vocSecondsOffset = _voy._RTVNum - _voy._field4AC; _soundManager.stopVOCPlay(); -- cgit v1.2.3 From f6477270b031d8ab9f4c506d8cf8a335514cefa5 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Fri, 31 Jan 2014 22:45:28 -0500 Subject: VOYEUR: Fix for cursor error in reviewTape after viewing evidence --- engines/voyeur/voyeur_game.cpp | 2 -- 1 file changed, 2 deletions(-) diff --git a/engines/voyeur/voyeur_game.cpp b/engines/voyeur/voyeur_game.cpp index 2d80daec9e..b6390c5cef 100644 --- a/engines/voyeur/voyeur_game.cpp +++ b/engines/voyeur/voyeur_game.cpp @@ -704,7 +704,6 @@ void VoyeurEngine::reviewTape() { } case EVTYPE_EVID: - _bVoy->freeBoltGroup(0x900); _voy.reviewAnEvidEvent(eventIndex); _voy._vocSecondsOffset = _voy._RTVNum - _voy._field4AC; @@ -713,7 +712,6 @@ void VoyeurEngine::reviewTape() { break; case EVTYPE_COMPUTER: - _bVoy->freeBoltGroup(0x900); _voy.reviewComputerEvent(eventIndex); _voy._vocSecondsOffset = _voy._RTVNum - _voy._field4AC; -- cgit v1.2.3 From cbebf203d673d68112b9bcee5dea8bee0b755a70 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Sat, 1 Feb 2014 11:26:25 -0500 Subject: VOYEUR: Add debugger command for setting the time remaining --- engines/voyeur/debugger.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/engines/voyeur/debugger.cpp b/engines/voyeur/debugger.cpp index c437bff03d..d114e83af2 100644 --- a/engines/voyeur/debugger.cpp +++ b/engines/voyeur/debugger.cpp @@ -47,7 +47,7 @@ bool Debugger::Cmd_Time(int argc, const char **argv) { DebugPrintf("Current date/time is: %s, time is %s\n", dtString.c_str(), _isTimeActive ? "on" : "off"); - DebugPrintf("Format: %s [on | off | 1..17]\n\n", argv[0]); + DebugPrintf("Format: %s [on | off | 1..17 | val ]\n\n", argv[0]); } else { if (!strcmp(argv[1], "on")) { _isTimeActive = true; @@ -55,6 +55,13 @@ bool Debugger::Cmd_Time(int argc, const char **argv) { } else if (!strcmp(argv[1], "off")) { _isTimeActive = false; DebugPrintf("Time is now off\n\n"); + } else if (!strcmp(argv[1], "val")) { + if (argc < 3) { + DebugPrintf("Time remaining is currently %d.\n", _vm->_voy._RTVNum); + } else { + _vm->_voy._RTVNum = atoi(argv[2]); + DebugPrintf("Time remaining is now %d.\n", _vm->_voy._RTVNum); + } } else { int timeId = atoi(argv[1]); if (timeId >= 1 && timeId <= 17) { -- cgit v1.2.3 From 37402e06e5f55896f3bd8a7bf8a62bca16d1c7b1 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Sat, 1 Feb 2014 11:29:49 -0500 Subject: VOYEUR: Correct mistake in debugger command.. it's time expired, not remaining --- engines/voyeur/debugger.cpp | 4 ++-- engines/voyeur/files_threads.cpp | 30 ++---------------------------- engines/voyeur/voyeur.cpp | 34 ++++++++++++++++++++++++++++++++++ engines/voyeur/voyeur.h | 18 ++++++++++++++++++ 4 files changed, 56 insertions(+), 30 deletions(-) diff --git a/engines/voyeur/debugger.cpp b/engines/voyeur/debugger.cpp index d114e83af2..546691b3f0 100644 --- a/engines/voyeur/debugger.cpp +++ b/engines/voyeur/debugger.cpp @@ -57,10 +57,10 @@ bool Debugger::Cmd_Time(int argc, const char **argv) { DebugPrintf("Time is now off\n\n"); } else if (!strcmp(argv[1], "val")) { if (argc < 3) { - DebugPrintf("Time remaining is currently %d.\n", _vm->_voy._RTVNum); + DebugPrintf("Time expired is currently %d.\n", _vm->_voy._RTVNum); } else { _vm->_voy._RTVNum = atoi(argv[2]); - DebugPrintf("Time remaining is now %d.\n", _vm->_voy._RTVNum); + DebugPrintf("Time expired is now %d.\n", _vm->_voy._RTVNum); } } else { int timeId = atoi(argv[1]); diff --git a/engines/voyeur/files_threads.cpp b/engines/voyeur/files_threads.cpp index 03e393936a..3e2fa6f7bc 100644 --- a/engines/voyeur/files_threads.cpp +++ b/engines/voyeur/files_threads.cpp @@ -384,39 +384,13 @@ void ThreadResource::parsePlayCommands() { _vm->_voy._vocSecondsOffset = _vm->_voy._RTVNum - _vm->_voy._field468; _vm->_voy.addAudioEventStart(); + // Play the audio assert(_vm->_audioVideoId < 38); - _vm->_bVoy->getBoltGroup(0x7F00); - _vm->_graphicsManager._backgroundPage = _vm->_bVoy->boltEntry( - 0x7F00 + BLIND_TABLE[_vm->_audioVideoId])._picResource; - _vm->_graphicsManager._backColors = _vm->_bVoy->boltEntry(0x7F01 + - BLIND_TABLE[_vm->_audioVideoId])._cMapResource; - - (*_vm->_graphicsManager._vPort)->setupViewPort(); - _vm->_graphicsManager._backColors->startFade(); - _vm->flipPageAndWaitForFade(); + _vm->playAudio(_vm->_audioVideoId); - _vm->_voy._field478 &= ~1; - _vm->_soundManager.setVOCOffset(_vm->_voy._vocSecondsOffset); - Common::String filename = _vm->_soundManager.getVOCFileName( - _vm->_audioVideoId + 159); - _vm->_soundManager.startVOCPlay(filename); - _vm->_voy._field478 |= 16; - _vm->_eventsManager.startCursorBlink(); - - while (!_vm->shouldQuit() && !_vm->_eventsManager._mouseClicked && - _vm->_soundManager.getVOCStatus()) - _vm->_eventsManager.delayClick(1); - - _vm->_voy._field478 |= 1; - _vm->_soundManager.stopVOCPlay(); _vm->_voy.addAudioEventEnd(); _vm->_eventsManager.incrementTime(1); _vm->_eventsManager.incrementTime(1); - - _vm->_bVoy->freeBoltGroup(0x7F00); - _vm->_voy._field478 &= ~0x10; - _vm->_audioVideoId = -1; - _vm->_voy._field470 = 129; parseIndex = 999; } } diff --git a/engines/voyeur/voyeur.cpp b/engines/voyeur/voyeur.cpp index cfd05765b3..932a38e60d 100644 --- a/engines/voyeur/voyeur.cpp +++ b/engines/voyeur/voyeur.cpp @@ -594,6 +594,40 @@ void VoyeurEngine::playAVideoDuration(int videoId, int duration) { } } +void VoyeurEngine::playAudio(int audioId) { + _bVoy->getBoltGroup(0x7F00); + _graphicsManager._backgroundPage = _bVoy->boltEntry(0x7F00 + + BLIND_TABLE[audioId])._picResource; + _graphicsManager._backColors = _bVoy->boltEntry(0x7F01 + + BLIND_TABLE[audioId])._cMapResource; + + (*_graphicsManager._vPort)->setupViewPort(); + _graphicsManager._backColors->startFade(); + flipPageAndWaitForFade(); + + _voy._field478 &= ~1; + _soundManager.setVOCOffset(_voy._vocSecondsOffset); + Common::String filename = _soundManager.getVOCFileName( + audioId + 159); + _soundManager.startVOCPlay(filename); + _voy._field478 |= 16; + _eventsManager.startCursorBlink(); + + while (!shouldQuit() && !_eventsManager._mouseClicked && + _soundManager.getVOCStatus()) + _eventsManager.delayClick(1); + + _voy._field478 |= 1; + _soundManager.stopVOCPlay(); + + _bVoy->freeBoltGroup(0x7F00); + flipPageAndWait(); + + _voy._field478 &= ~0x10; + audioId = -1; + _voy._field470 = 129; +} + void VoyeurEngine::doTransitionCard(const Common::String &time, const Common::String &location) { _graphicsManager.setColor(128, 16, 16, 16); _graphicsManager.setColor(224, 220, 220, 220); diff --git a/engines/voyeur/voyeur.h b/engines/voyeur/voyeur.h index 5d729fd757..e4b950d90f 100644 --- a/engines/voyeur/voyeur.h +++ b/engines/voyeur/voyeur.h @@ -137,6 +137,9 @@ private: */ bool checkForIncriminate(); + /** + * Plays a video event previously witnessed + */ void playAVideoEvent(int eventIndex); /** @@ -212,9 +215,24 @@ public: void playRL2Video(const Common::String &filename); void doTransitionCard(const Common::String &time, const Common::String &location); + + /** + * Play a given video + */ void playAVideo(int videoId); + + /** + * Play a given video for a given amount of time. This is particularly used + * for later tape playback, where it will only play back as much of the video + * as the user originally watched (since they can break out of watching a video). + */ void playAVideoDuration(int videoId, int duration); + /** + * Play an audio sequence + */ + void playAudio(int audioId); + /** * Saves the last time the game was played */ -- cgit v1.2.3 From 256bf62ee4d9822458a721c059fe4abbef8ca1df Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Sat, 1 Feb 2014 11:54:33 -0500 Subject: VOYEUR: Refactored audio scene playback, and fixed a crash at the end --- engines/voyeur/files_threads.cpp | 1 + engines/voyeur/voyeur.cpp | 3 +-- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/engines/voyeur/files_threads.cpp b/engines/voyeur/files_threads.cpp index 3e2fa6f7bc..8359cf88fb 100644 --- a/engines/voyeur/files_threads.cpp +++ b/engines/voyeur/files_threads.cpp @@ -391,6 +391,7 @@ void ThreadResource::parsePlayCommands() { _vm->_voy.addAudioEventEnd(); _vm->_eventsManager.incrementTime(1); _vm->_eventsManager.incrementTime(1); + _vm->_audioVideoId = -1; parseIndex = 999; } } diff --git a/engines/voyeur/voyeur.cpp b/engines/voyeur/voyeur.cpp index 932a38e60d..2898c16592 100644 --- a/engines/voyeur/voyeur.cpp +++ b/engines/voyeur/voyeur.cpp @@ -621,10 +621,9 @@ void VoyeurEngine::playAudio(int audioId) { _soundManager.stopVOCPlay(); _bVoy->freeBoltGroup(0x7F00); - flipPageAndWait(); + (*_graphicsManager._vPort)->setupViewPort(NULL); _voy._field478 &= ~0x10; - audioId = -1; _voy._field470 = 129; } -- cgit v1.2.3 From 3b414f10ba9e79fca6a920240435c1531ec6db1b Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Sat, 1 Feb 2014 11:56:51 -0500 Subject: VOYEUR: Fix hang when viewing scene is finished with very little time remaining --- engines/voyeur/files_threads.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/engines/voyeur/files_threads.cpp b/engines/voyeur/files_threads.cpp index 8359cf88fb..0892de1494 100644 --- a/engines/voyeur/files_threads.cpp +++ b/engines/voyeur/files_threads.cpp @@ -1351,6 +1351,7 @@ int ThreadResource::doInterface() { while (!_vm->shouldQuit() && _vm->_voy._RTVNum < _vm->_voy._RTVLimit) { _vm->flashTimeBar(); + _vm->_eventsManager.delayClick(1); } _vm->_voy._field478 = 1; -- cgit v1.2.3 From 517df376a2d96b68e3a7b9f5c078be48cb12a211 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Sat, 1 Feb 2014 15:04:18 -0500 Subject: VOYEUR: Refactored hotspot time arrays into a cleaner template --- engines/voyeur/data.cpp | 22 +++------------- engines/voyeur/data.h | 53 ++++++++++++++++++++++++++++++++----- engines/voyeur/files_threads.cpp | 57 +++++++++++++++++++--------------------- 3 files changed, 78 insertions(+), 54 deletions(-) diff --git a/engines/voyeur/data.cpp b/engines/voyeur/data.cpp index 5d311a8385..800d9d15c1 100644 --- a/engines/voyeur/data.cpp +++ b/engines/voyeur/data.cpp @@ -66,24 +66,10 @@ void SVoy::synchronize(Common::Serializer &s) { s.syncAsSint16LE(_RTVNum); s.syncAsSint16LE(_switchBGNum); - for (int v1 = 0; v1 < 8; ++v1) { - for (int v2 = 0; v2 < 20; ++v2) { - s.syncAsSint16LE(_arr1[v1][v2]); - s.syncAsSint16LE(_arr2[v1][v2]); - } - } - for (int v1 = 0; v1 < 4; ++v1) { - for (int v2 = 0; v2 < 20; ++v2) { - s.syncAsSint16LE(_arr3[v1][v2]); - s.syncAsSint16LE(_arr4[v1][v2]); - } - } - for (int v1 = 0; v1 < 4; ++v1) { - for (int v2 = 0; v2 < 20; ++v2) { - s.syncAsSint16LE(_arr5[v1][v2]); - s.syncAsSint16LE(_arr6[v1][v2]); - } - } + _videoHotspotTimes.synchronize(s); + _audioHotspotTimes.synchronize(s); + _evidenceHotspotTimes.synchronize(s); + for (int v1 = 0; v1 < 20; ++v1) { s.syncAsSint16LE(_arr7[20]); } diff --git a/engines/voyeur/data.h b/engines/voyeur/data.h index 37b2671ea7..4e592d8b11 100644 --- a/engines/voyeur/data.h +++ b/engines/voyeur/data.h @@ -49,6 +49,50 @@ struct VoyeurEvent { class VoyeurEngne; +/** + * Encapsulates a list of the time expired ranges that hotspots in the mansion + * view are enabled for in a given time period. + */ +template +class HotspotTimes { +public: + int _min[SLOTS][20]; // Min time expired + int _max[SLOTS][20]; // Max time expired + + HotspotTimes() { + reset(); + } + + /** + * Resets the data to an initial state + */ + void reset() { + Common::fill(&_min[0][0], &_min[SLOTS][20], 9999); + Common::fill(&_max[0][0], &_max[SLOTS][20], 0); + } + + /** + * Synchronise the data + */ + void synchronize(Common::Serializer &s) { + for (int slotIndex = 0; slotIndex < SLOTS; ++slotIndex) { + for (int hotspotIndex = 0; hotspotIndex < 20; ++hotspotIndex) { + s.syncAsSint16LE(_min[slotIndex][hotspotIndex]); + s.syncAsSint16LE(_max[slotIndex][hotspotIndex]); + } + } + } + + /** + * Returns true if the given value is in the range specified by the + * min and max at the given hotspot and slot indexes + */ + bool isInRange(int slotIndex, int hotspotIndex, int v) const { + return _min[slotIndex][hotspotIndex] <= v && + v < _max[slotIndex][hotspotIndex]; + } +}; + class SVoy { private: VoyeurEngine *_vm; @@ -57,12 +101,9 @@ public: int _RTANum; int _RTVNum; int _switchBGNum; - int _arr1[8][20]; - int _arr2[8][20]; - int _arr3[3][20]; - int _arr4[3][20]; - int _arr5[3][20]; - int _arr6[3][20]; + HotspotTimes<8> _videoHotspotTimes; + HotspotTimes<3> _audioHotspotTimes; + HotspotTimes<3> _evidenceHotspotTimes; int _arr7[20]; int _field468; diff --git a/engines/voyeur/files_threads.cpp b/engines/voyeur/files_threads.cpp index 0892de1494..134a064b42 100644 --- a/engines/voyeur/files_threads.cpp +++ b/engines/voyeur/files_threads.cpp @@ -344,12 +344,10 @@ void ThreadResource::parsePlayCommands() { _vm->_voy._field478 &= ~8; _vm->_eventsManager._videoDead = -1; - Common::fill(&_vm->_voy._arr1[0][0], &_vm->_voy._arr1[8][20], 9999); - Common::fill(&_vm->_voy._arr2[0][0], &_vm->_voy._arr2[8][20], 0); - Common::fill(&_vm->_voy._arr3[0][0], &_vm->_voy._arr3[3][20], 9999); - Common::fill(&_vm->_voy._arr4[0][0], &_vm->_voy._arr4[3][20], 0); - Common::fill(&_vm->_voy._arr5[0][0], &_vm->_voy._arr5[3][20], 9999); - Common::fill(&_vm->_voy._arr6[0][0], &_vm->_voy._arr6[3][20], 0); + // Reset hotspot times data + _vm->_voy._videoHotspotTimes.reset(); + _vm->_voy._audioHotspotTimes.reset(); + _vm->_voy._evidenceHotspotTimes.reset(); Common::fill(&_vm->_voy._arr7[0], &_vm->_voy._arr7[20], 0); byte *dataP = _playCommandsPtr; @@ -542,52 +540,54 @@ void ThreadResource::parsePlayCommands() { break; case 7: + // Load the video event scene hotspot times data v2 = READ_LE_UINT16(dataP); v3 = READ_LE_UINT16(dataP + 2) - 1; if (v2 == 0 || READ_LE_UINT16(_vm->_controlPtr->_ptr + 4) == 0) { int idx = 0; - while (_vm->_voy._arr1[idx][v3] != 9999) + while (_vm->_voy._videoHotspotTimes._min[idx][v3] != 9999) ++idx; v2 = READ_LE_UINT16(dataP + 4); - _vm->_voy._arr1[idx][v3] = v2; - _vm->_voy._arr2[idx][v3] = v2 + READ_LE_UINT16(dataP + 6) - 2; + _vm->_voy._videoHotspotTimes._min[idx][v3] = v2; + _vm->_voy._videoHotspotTimes._max[idx][v3] = v2 + READ_LE_UINT16(dataP + 6) - 2; } dataP += 8; break; case 8: + // Load the audio event scene hotspot times data v2 = READ_LE_UINT16(dataP); v3 = READ_LE_UINT16(dataP + 2) - 1; if (v2 == 0 || READ_LE_UINT16(_vm->_controlPtr->_ptr + 4) == 0) { int idx = 0; - while (_vm->_voy._arr3[idx][v3] != 9999) + while (_vm->_voy._audioHotspotTimes._min[idx][v3] != 9999) ++idx; v2 = READ_LE_UINT16(dataP + 4); - _vm->_voy._arr3[idx][v3] = v2; - _vm->_voy._arr4[idx][v3] = v2 + READ_LE_UINT16(dataP + 6) - 2; + _vm->_voy._audioHotspotTimes._min[idx][v3] = v2; + _vm->_voy._audioHotspotTimes._max[idx][v3] = v2 + READ_LE_UINT16(dataP + 6) - 2; } dataP += 8; break; case 9: - // Load up initial timeframese for third set of hotspots + // Load up evidence event scene hotspot times data v2 = READ_LE_UINT16(dataP); v3 = READ_LE_UINT16(dataP + 2) - 1; if (v2 == 0 || READ_LE_UINT16(_vm->_controlPtr->_ptr + 4) == 0) { int idx = 0; - while (_vm->_voy._arr5[idx][v3] != 9999) + while (_vm->_voy._evidenceHotspotTimes._min[idx][v3] != 9999) ++idx; v2 = READ_LE_UINT16(dataP + 4); - _vm->_voy._arr5[idx][v3] = v2; - _vm->_voy._arr6[idx][v3] = v2 + READ_LE_UINT16(dataP + 6) - 2; + _vm->_voy._evidenceHotspotTimes._min[idx][v3] = v2; + _vm->_voy._evidenceHotspotTimes._max[idx][v3] = v2 + READ_LE_UINT16(dataP + 6) - 2; } dataP += 8; @@ -1417,31 +1417,28 @@ int ThreadResource::doInterface() { Common::Point(pt.x - MANSION_VIEW_X, pt.y - MANSION_VIEW_Y); regionIndex = -1; - for (int idx = 0; idx < (int)hotspots->size(); ++idx) { - if ((*hotspots)[idx].contains(pt)) { + for (int hotspotIdx = 0; hotspotIdx < (int)hotspots->size(); ++hotspotIdx) { + if ((*hotspots)[hotspotIdx].contains(pt)) { // Rect check done for (int arrIndex = 0; arrIndex < 3; ++arrIndex) { - if (_vm->_voy._arr3[arrIndex][idx] <= _vm->_voy._RTVNum && - _vm->_voy._arr4[arrIndex][idx] > _vm->_voy._RTVNum) { - // Found a hotspot - switch to the magnifying glass cursor + if (_vm->_voy._audioHotspotTimes.isInRange(arrIndex, hotspotIdx, _vm->_voy._RTVNum)) { + // Set the ear cursor for an audio event _vm->_eventsManager.setCursor(listenCursor); - regionIndex = idx; + regionIndex = hotspotIdx; } - if (_vm->_voy._arr5[arrIndex][idx] <= _vm->_voy._RTVNum && - _vm->_voy._arr6[arrIndex][idx] > _vm->_voy._RTVNum) { - // Set unk? cursor + if (_vm->_voy._evidenceHotspotTimes.isInRange(arrIndex, hotspotIdx, _vm->_voy._RTVNum)) { + // Set the magnifier cursor for an evidence event _vm->_eventsManager.setCursor(mangifyCursor); - regionIndex = idx; + regionIndex = hotspotIdx; } } for (int arrIndex = 0; arrIndex < 8; ++arrIndex) { - if (_vm->_voy._arr1[arrIndex][idx] <= _vm->_voy._RTVNum && - _vm->_voy._arr2[arrIndex][idx] > _vm->_voy._RTVNum) { - // Draw the picture + if (_vm->_voy._videoHotspotTimes.isInRange(arrIndex, hotspotIdx, _vm->_voy._RTVNum)) { + // Set the eye cursor for a video event _vm->_eventsManager.setCursor(eyeCursor); - regionIndex = idx; + regionIndex = hotspotIdx; } } } -- cgit v1.2.3 From 971fd6304fca2b31c8f92f8a3bf2606b1f0a4e0f Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Sat, 1 Feb 2014 15:09:52 -0500 Subject: VOYEUR: Renamed SVoy._arr7 to _roomHotspotsEnabled --- engines/voyeur/data.cpp | 4 ++-- engines/voyeur/data.h | 2 +- engines/voyeur/files_threads.cpp | 26 +++++++++++++------------- 3 files changed, 16 insertions(+), 16 deletions(-) diff --git a/engines/voyeur/data.cpp b/engines/voyeur/data.cpp index 800d9d15c1..0f11c7bda2 100644 --- a/engines/voyeur/data.cpp +++ b/engines/voyeur/data.cpp @@ -70,8 +70,8 @@ void SVoy::synchronize(Common::Serializer &s) { _audioHotspotTimes.synchronize(s); _evidenceHotspotTimes.synchronize(s); - for (int v1 = 0; v1 < 20; ++v1) { - s.syncAsSint16LE(_arr7[20]); + for (int idx = 0; idx < 20; ++idx) { + s.syncAsByte(_roomHotspotsEnabled[idx]); } s.syncAsSint16LE(_field468); diff --git a/engines/voyeur/data.h b/engines/voyeur/data.h index 4e592d8b11..db6ec988d7 100644 --- a/engines/voyeur/data.h +++ b/engines/voyeur/data.h @@ -104,7 +104,7 @@ public: HotspotTimes<8> _videoHotspotTimes; HotspotTimes<3> _audioHotspotTimes; HotspotTimes<3> _evidenceHotspotTimes; - int _arr7[20]; + bool _roomHotspotsEnabled[20]; int _field468; int _field46A; diff --git a/engines/voyeur/files_threads.cpp b/engines/voyeur/files_threads.cpp index 134a064b42..0b4cdd2f99 100644 --- a/engines/voyeur/files_threads.cpp +++ b/engines/voyeur/files_threads.cpp @@ -344,11 +344,11 @@ void ThreadResource::parsePlayCommands() { _vm->_voy._field478 &= ~8; _vm->_eventsManager._videoDead = -1; - // Reset hotspot times data + // Reset hotspot data _vm->_voy._videoHotspotTimes.reset(); _vm->_voy._audioHotspotTimes.reset(); _vm->_voy._evidenceHotspotTimes.reset(); - Common::fill(&_vm->_voy._arr7[0], &_vm->_voy._arr7[20], 0); + Common::fill(&_vm->_voy._roomHotspotsEnabled[0], &_vm->_voy._roomHotspotsEnabled[20], false); byte *dataP = _playCommandsPtr; int v2, v3; @@ -619,7 +619,7 @@ void ThreadResource::parsePlayCommands() { if (v2 == 0 || READ_LE_UINT16(_vm->_controlPtr->_ptr + 4) == 0) { _vm->_voy._field47A = _vm->_resolvePtr[READ_LE_UINT16(dataP + 2)]; - _vm->_voy._arr7[READ_LE_UINT16(dataP + 4) - 1] = 1; + _vm->_voy._roomHotspotsEnabled[READ_LE_UINT16(dataP + 4) - 1] = true; } dataP += 6; @@ -1145,7 +1145,7 @@ void ThreadResource::doRoom() { voy._field437E = 1; Common::Array &hotspots = vm._bVoy->boltEntry(vm._playStampGroupId + 4)._rectResource->_entries; - int i4e4 = -1; + int hotspotId = -1; PictureResource *pic1 = vm._bVoy->boltEntry(vm._playStampGroupId + 2)._picResource; PictureResource *pic2 = vm._bVoy->boltEntry(vm._playStampGroupId + 3)._picResource; @@ -1179,25 +1179,25 @@ void ThreadResource::doRoom() { vm._eventsManager.getMouseInfo(); Common::Point pt = vm._eventsManager.getMousePos(); - i4e4 = -1; + hotspotId = -1; if (voy._computerTextId != -1 && voy._rect4E4.contains(pt)) - i4e4 = 999; + hotspotId = 999; for (uint idx = 0; idx < hotspots.size(); ++idx) { if (hotspots[idx].contains(pt)) { int arrIndex = hotspots[idx]._arrIndex; - if (voy._arr7[arrIndex - 1] == 1) { - i4e4 = idx; + if (voy._roomHotspotsEnabled[arrIndex - 1]) { + hotspotId = idx; break; } } } - if (i4e4 == -1) { + if (hotspotId == -1) { vm._graphicsManager.sDrawPic(pic1, *vm._graphicsManager._vPort, Common::Point(pt.x - 9, pt.y - 9)); vm._eventsManager.setCursorColor(128, 0); - } else if (i4e4 != 999 || voy._RTVNum < voy._field4EC || + } else if (hotspotId != 999 || voy._RTVNum < voy._field4EC || (voy._field4EE - 2) < voy._RTVNum) { vm._graphicsManager.sDrawPic(pic2, *vm._graphicsManager._vPort, Common::Point(pt.x - 12, pt.y - 9)); @@ -1215,7 +1215,7 @@ void ThreadResource::doRoom() { vm._eventsManager.sWaitFlip(); } while (!vm.shouldQuit() && !vm._eventsManager._mouseClicked); - if (!vm._eventsManager._leftClick || i4e4 == -1) { + if (!vm._eventsManager._leftClick || hotspotId == -1) { if (vm._eventsManager._rightClick) breakFlag = true; @@ -1226,7 +1226,7 @@ void ThreadResource::doRoom() { voy._field478 |= 16; vm._eventsManager.startCursorBlink(); - if (i4e4 == 999) { + if (hotspotId == 999) { _vm->flipPageAndWait(); if (vm._currentVocId != -1) { @@ -1248,7 +1248,7 @@ void ThreadResource::doRoom() { vm._bVoy->freeBoltGroup(0x4900); } else { - vm.doEvidDisplay(i4e4, 999); + vm.doEvidDisplay(hotspotId, 999); } voy._field478 &= ~0x10; -- cgit v1.2.3 From 10f9c2fb039a901b938229ca77eded3a3ef4fa75 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Sat, 1 Feb 2014 15:18:27 -0500 Subject: VOYEUR: Added method comments for SVoy and some of VoyeurEngine class methods --- engines/voyeur/data.h | 52 +++++++++++++++++++++++++++++++++++++++---------- engines/voyeur/voyeur.h | 22 ++++++++++++++++++--- 2 files changed, 61 insertions(+), 13 deletions(-) diff --git a/engines/voyeur/data.h b/engines/voyeur/data.h index db6ec988d7..b798e3880c 100644 --- a/engines/voyeur/data.h +++ b/engines/voyeur/data.h @@ -129,16 +129,6 @@ public: int _field4F0; int _field4F2; - /** - * Total number of game events that have occurred - */ - int _eventCount; - - /** - * List of game events that have occurred - */ - VoyeurEvent _events[TOTAL_EVENTS]; - int _field4376; int _field4378; int _field437A; @@ -152,6 +142,9 @@ public: int _curICF1; int _fadeICF0; int _policeEvent; + + int _eventCount; + VoyeurEvent _events[TOTAL_EVENTS]; public: SVoy(); void setVm(VoyeurEngine *vm); @@ -167,15 +160,54 @@ public: void addEvent(int hour, int minute, VoyeurEventType type, int audioVideoId, int on, int off, int dead); + /** + * Adds the start of a video event happening + */ void addVideoEventStart(); + + /** + * Adds the finish of a video event happening + */ void addVideoEventEnd(); + + /** + * Adds the start of an audio event happening + */ void addAudioEventStart(); + + /** + * Adsd the finish of an audio event happening + */ void addAudioEventEnd(); + + /** + * Adds the start of an evidence event happening + */ void addEvidEventStart(int v); + + /** + * Adds the finish of an evidence event happening + */ void addEvidEventEnd(int totalPages); + + /** + * Adds the start of a computer event happening + */ void addComputerEventStart(); + + /** + * Adds the finish of a computer event happening + */ void addComputerEventEnd(int v); + + /** + * Review a previously recorded evidence event + */ void reviewAnEvidEvent(int eventIndex); + + /** + * Review a previously recorded computer event + */ void reviewComputerEvent(int eventIndex); }; diff --git a/engines/voyeur/voyeur.h b/engines/voyeur/voyeur.h index e4b950d90f..f39c4a2d1d 100644 --- a/engines/voyeur/voyeur.h +++ b/engines/voyeur/voyeur.h @@ -177,9 +177,6 @@ public: int _playStampGroupId; int _currentVocId; - /** - * Id for the current video, audio, or evidence scene being viewed - */ int _audioVideoId; const int *_resolvePtr; int _iForceDeath; // CHECKME: The original initializes it in ESP_init() @@ -259,7 +256,16 @@ public: */ void doScroll(const Common::Point &pt); + /** + * Check for phone call + */ void checkPhoneCall(); + + /** + * Display evidence sequence from within a room + * Suspension of disbelief needed to believe that recording from a distance, + * you could still flip through the often pages of evidence for a single hotspot. + */ void doEvidDisplay(int evidId, int eventId); /** @@ -285,6 +291,9 @@ public: #define VOYEUR_SAVEGAME_VERSION 1 +/** + * Header for Voyeur savegame files + */ struct VoyeurSavegameHeader { uint8 _version; Common::String _saveName; @@ -293,7 +302,14 @@ struct VoyeurSavegameHeader { int _saveHour, _saveMinutes; int _totalFrames; + /** + * Read in the header from the specified file + */ bool read(Common::InSaveFile *f); + + /** + * Write out header information to the specified file + */ void write(Common::OutSaveFile *f, VoyeurEngine *vm, const Common::String &saveName); }; -- cgit v1.2.3 From e1eddb5ecb541a9ea57734b379616e5fa61fe64b Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Sat, 1 Feb 2014 16:27:58 -0500 Subject: VOYEUR: Initialization bugfixes --- engines/voyeur/data.h | 8 ++++++-- engines/voyeur/graphics.cpp | 2 +- engines/voyeur/voyeur.cpp | 2 +- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/engines/voyeur/data.h b/engines/voyeur/data.h index b798e3880c..b243b15682 100644 --- a/engines/voyeur/data.h +++ b/engines/voyeur/data.h @@ -67,8 +67,12 @@ public: * Resets the data to an initial state */ void reset() { - Common::fill(&_min[0][0], &_min[SLOTS][20], 9999); - Common::fill(&_max[0][0], &_max[SLOTS][20], 0); + for (int hotspotIdx = 0; hotspotIdx < 20; ++hotspotIdx) { + for (int slotIdx = 0; slotIdx < SLOTS; ++slotIdx) { + _min[slotIdx][hotspotIdx] = 9999; + _max[slotIdx][hotspotIdx] = 0; + } + } } /** diff --git a/engines/voyeur/graphics.cpp b/engines/voyeur/graphics.cpp index 387be4e499..11a8ef54e6 100644 --- a/engines/voyeur/graphics.cpp +++ b/engines/voyeur/graphics.cpp @@ -996,7 +996,7 @@ void GraphicsManager::screenReset() { resetPalette(); _backgroundPage = NULL; - (*_vPort)->setupViewPort(); + (*_vPort)->setupViewPort(NULL); fillPic(*_vPort, 0); _vm->flipPageAndWait(); diff --git a/engines/voyeur/voyeur.cpp b/engines/voyeur/voyeur.cpp index 2898c16592..8e597bbea9 100644 --- a/engines/voyeur/voyeur.cpp +++ b/engines/voyeur/voyeur.cpp @@ -633,7 +633,7 @@ void VoyeurEngine::doTransitionCard(const Common::String &time, const Common::St _eventsManager._intPtr.field38 = true; _eventsManager._intPtr._hasPalette = true; - (*_graphicsManager._vPort)->setupViewPort(); + (*_graphicsManager._vPort)->setupViewPort(NULL); (*_graphicsManager._vPort)->fillPic(128); _graphicsManager.flipPage(); _eventsManager.sWaitFlip(); -- cgit v1.2.3 From 24e40281742877f88b235838a25e6a1e2ba70f33 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Sat, 1 Feb 2014 18:08:07 -0500 Subject: VOYEUR: Improvements for savegame support --- engines/voyeur/files_threads.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/engines/voyeur/files_threads.cpp b/engines/voyeur/files_threads.cpp index 0b4cdd2f99..94ef0f63ef 100644 --- a/engines/voyeur/files_threads.cpp +++ b/engines/voyeur/files_threads.cpp @@ -349,7 +349,6 @@ void ThreadResource::parsePlayCommands() { _vm->_voy._audioHotspotTimes.reset(); _vm->_voy._evidenceHotspotTimes.reset(); Common::fill(&_vm->_voy._roomHotspotsEnabled[0], &_vm->_voy._roomHotspotsEnabled[20], false); - byte *dataP = _playCommandsPtr; int v2, v3; PictureResource *pic; @@ -1749,6 +1748,14 @@ void ThreadResource::doAptAnim(int mode) { void ThreadResource::synchronize(Common::Serializer &s) { s.syncAsSint16LE(_aptPos.x); s.syncAsSint16LE(_aptPos.y); + + int sceneId = _threadId; + int stackId = _controlIndex; + s.syncAsSint16LE(sceneId); + s.syncAsSint16LE(stackId); + + if (s.isLoading() && (sceneId != _threadId || stackId != _controlIndex)) + goToState(stackId, sceneId); } } // End of namespace Voyeur -- cgit v1.2.3 From d215fae7212bd4063437c02a7dfdc0fc16110798 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Sat, 1 Feb 2014 18:35:08 -0500 Subject: VOYEUR: Renaming to standardize on stateId/stackId variable names --- engines/voyeur/files.h | 14 ++++---- engines/voyeur/files_threads.cpp | 78 ++++++++++++++++++++-------------------- 2 files changed, 46 insertions(+), 46 deletions(-) diff --git a/engines/voyeur/files.h b/engines/voyeur/files.h index 97ade46b1f..ba3195b1e6 100644 --- a/engines/voyeur/files.h +++ b/engines/voyeur/files.h @@ -513,8 +513,8 @@ private: uint32 getSID(int sid); void cardAction(const byte *p); void doSTAMPCardAction(); - bool goToStateID(int stackId, int sceneId); - bool goToState(int stackId, int sceneId); + bool goToStateID(int stackId, int id); + bool goToState(int stackId, int stateId); const byte *cardPerform(const byte *card); bool cardPerform2(const byte *p, int cardCmdId); void savePrevious(); @@ -537,9 +537,9 @@ private: */ bool checkMansionScroll(); public: - int _threadId; - int _controlIndex; - int _field4, _field6; + int _stateId; + int _stackId; + int _savedStateId, _savedStackId; byte _flags; int _field9; int _fieldA[8]; @@ -562,8 +562,8 @@ public: virtual ~ThreadResource() {} void initThreadStruct(int idx, int id); - bool loadAStack(int idx); - void unloadAStack(int idx); + bool loadAStack(int stackId); + void unloadAStack(int stackId); bool doState(); bool chooseSTAMPButton(int buttonId); diff --git a/engines/voyeur/files_threads.cpp b/engines/voyeur/files_threads.cpp index 94ef0f63ef..deb2e5bd89 100644 --- a/engines/voyeur/files_threads.cpp +++ b/engines/voyeur/files_threads.cpp @@ -39,20 +39,20 @@ void ThreadResource::init() { ThreadResource::ThreadResource(BoltFilesState &state, const byte *src): _vm(state._vm) { - _threadId = READ_LE_UINT16(&src[0]); - _controlIndex = READ_LE_UINT16(&src[0]); - _field4 = READ_LE_UINT16(&src[0]); - _field6 = READ_LE_UINT16(&src[0]); + _stateId = READ_LE_UINT16(&src[0]); + _stackId = READ_LE_UINT16(&src[0]); + _savedStateId = READ_LE_UINT16(&src[0]); + _savedStackId = READ_LE_UINT16(&src[0]); _flags = src[8]; _ctlPtr = nullptr; _aptPos = Common::Point(-1, -1); } void ThreadResource::initThreadStruct(int idx, int id) { - _controlIndex = -1; + _stackId = -1; if (loadAStack(idx)) { - _field4 = _field6 = -1; - _threadId = id; + _savedStateId = _savedStackId = -1; + _stateId = id; _newSceneId = -1; _newStackId = -1; @@ -60,29 +60,29 @@ void ThreadResource::initThreadStruct(int idx, int id) { } } -bool ThreadResource::loadAStack(int idx) { +bool ThreadResource::loadAStack(int stackId) { if (_vm->_stampFlags & 1) { - unloadAStack(_controlIndex); - if (!_useCount[idx]) { - BoltEntry &boltEntry = _vm->_stampLibPtr->boltEntry(_vm->_controlPtr->_memberIds[idx]); + unloadAStack(_stackId); + if (!_useCount[stackId]) { + BoltEntry &boltEntry = _vm->_stampLibPtr->boltEntry(_vm->_controlPtr->_memberIds[stackId]); if (!boltEntry._data) return false; - _vm->_controlPtr->_entries[idx] = boltEntry._data; + _vm->_controlPtr->_entries[stackId] = boltEntry._data; } - ++_useCount[idx]; + ++_useCount[stackId]; } - _ctlPtr = _vm->_controlPtr->_entries[idx]; - _controlIndex = idx; + _ctlPtr = _vm->_controlPtr->_entries[stackId]; + _stackId = stackId; return true; } -void ThreadResource::unloadAStack(int idx) { - if ((_vm->_stampFlags & 1) && _useCount[idx]) { - if (--_useCount[idx] == 0) { - _vm->_stampLibPtr->freeBoltMember(_vm->_controlPtr->_memberIds[idx]); +void ThreadResource::unloadAStack(int stackId) { + if ((_vm->_stampFlags & 1) && _useCount[stackId]) { + if (--_useCount[stackId] == 0) { + _vm->_stampLibPtr->freeBoltMember(_vm->_controlPtr->_memberIds[stackId]); } } } @@ -111,12 +111,12 @@ bool ThreadResource::getStateInfo() { _field9 = 0; int id = READ_LE_UINT16(_ctlPtr); - if (id <= _threadId) { + if (id <= _stateId) { _field9 |= 0x80; return false; } else { uint32 fld = READ_LE_UINT32(_ctlPtr + 2); - fld += _threadId << 3; + fld += _stateId << 3; _field46 = READ_LE_UINT32(_ctlPtr + fld + 4); fld = READ_LE_UINT32(_ctlPtr + fld); @@ -930,7 +930,7 @@ const byte *ThreadResource::cardPerform(const byte *card) { case 45: _newSceneId = _field46; - _newStackId = _controlIndex; + _newStackId = _stackId; break; case 46: @@ -1543,34 +1543,34 @@ bool ThreadResource::checkMansionScroll() { return result; } -bool ThreadResource::goToStateID(int stackId, int sceneId) { - debugC(DEBUG_BASIC, kDebugScripts, "goToStateID - %d, %d", stackId, sceneId); +bool ThreadResource::goToStateID(int stackId, int id) { + debugC(DEBUG_BASIC, kDebugScripts, "goToStateID - %d, %d", stackId, id); // Save current stack savePrevious(); - if (_controlIndex == stackId || stackId == -1 || loadAStack(stackId)) { + if (_stackId == stackId || stackId == -1 || loadAStack(stackId)) { // Now in the correct state - _threadId = getStateFromID(sceneId); + _stateId = getStateFromID(id); - if (_threadId != -1) { + if (_stateId != -1) { return doState(); } else { - _threadId = _field4; - _controlIndex = _field6; + _stateId = _savedStateId; + _stackId = _savedStackId; } } return false; } -bool ThreadResource::goToState(int stackId, int sceneId) { - debugC(DEBUG_BASIC, kDebugScripts, "goToState - %d, %d", stackId, sceneId); +bool ThreadResource::goToState(int stackId, int stateId) { + debugC(DEBUG_BASIC, kDebugScripts, "goToState - %d, %d", stackId, stateId); savePrevious(); if (stackId == -1 || loadAStack(stackId)) { - if (sceneId != -1) - _threadId = sceneId; + if (stateId != -1) + _stateId = stateId; return doState(); } else { @@ -1579,12 +1579,12 @@ bool ThreadResource::goToState(int stackId, int sceneId) { } void ThreadResource::savePrevious() { - if (_field4 == _threadId && _controlIndex == _field6) { + if (_savedStateId == _stateId && _stackId == _savedStackId) { _flags &= ~1; } else { _flags |= 1; - _field4 = _threadId; - _field6 = _controlIndex; + _savedStateId = _stateId; + _savedStackId = _stackId; } } @@ -1749,12 +1749,12 @@ void ThreadResource::synchronize(Common::Serializer &s) { s.syncAsSint16LE(_aptPos.x); s.syncAsSint16LE(_aptPos.y); - int sceneId = _threadId; - int stackId = _controlIndex; + int sceneId = _stateId; + int stackId = _stackId; s.syncAsSint16LE(sceneId); s.syncAsSint16LE(stackId); - if (s.isLoading() && (sceneId != _threadId || stackId != _controlIndex)) + if (s.isLoading() && (sceneId != _stateId || stackId != _stackId)) goToState(stackId, sceneId); } -- cgit v1.2.3 From 8af390ab9f6db6bf623b609fd424832f1acd6826 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Sat, 1 Feb 2014 18:55:18 -0500 Subject: VOYEUR: Further renaming of state Id, and merging of flag bytes --- engines/voyeur/files.h | 10 +++++----- engines/voyeur/files_threads.cpp | 12 ++++++------ 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/engines/voyeur/files.h b/engines/voyeur/files.h index ba3195b1e6..1ea8428fc8 100644 --- a/engines/voyeur/files.h +++ b/engines/voyeur/files.h @@ -539,13 +539,13 @@ private: public: int _stateId; int _stackId; - int _savedStateId, _savedStackId; - byte _flags; - int _field9; + int _savedStateId; + int _savedStackId; + int _newStateId; + int _newStackId; + int _flags; int _fieldA[8]; int _field2A[8]; - int _newSceneId; - int _newStackId; int _stateFlags; int _stateCount; int _parseCount; diff --git a/engines/voyeur/files_threads.cpp b/engines/voyeur/files_threads.cpp index deb2e5bd89..41fc17a54a 100644 --- a/engines/voyeur/files_threads.cpp +++ b/engines/voyeur/files_threads.cpp @@ -53,7 +53,7 @@ void ThreadResource::initThreadStruct(int idx, int id) { if (loadAStack(idx)) { _savedStateId = _savedStackId = -1; _stateId = id; - _newSceneId = -1; + _newStateId = -1; _newStackId = -1; doState(); @@ -108,11 +108,11 @@ bool ThreadResource::doState() { } bool ThreadResource::getStateInfo() { - _field9 = 0; + _flags &= 0xff; int id = READ_LE_UINT16(_ctlPtr); if (id <= _stateId) { - _field9 |= 0x80; + _flags |= 0x8000; return false; } else { uint32 fld = READ_LE_UINT32(_ctlPtr + 2); @@ -929,14 +929,14 @@ const byte *ThreadResource::cardPerform(const byte *card) { card += 2; case 45: - _newSceneId = _field46; + _newStateId = _field46; _newStackId = _stackId; break; case 46: - _vm->_glGoScene = _newSceneId; + _vm->_glGoScene = _newStateId; _vm->_glGoStack = _newStackId; - _newSceneId = -1; + _newStateId = -1; _newStackId = -1; break; -- cgit v1.2.3 From 28fc97cbe7c5c17c5bf6f50cf99e55a67757a829 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Sat, 1 Feb 2014 20:51:53 -0500 Subject: VOYEUR: Fix for occasional palette corruption when reviewing a video event --- engines/voyeur/graphics.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/engines/voyeur/graphics.cpp b/engines/voyeur/graphics.cpp index 11a8ef54e6..ebe8a5034b 100644 --- a/engines/voyeur/graphics.cpp +++ b/engines/voyeur/graphics.cpp @@ -944,6 +944,7 @@ void GraphicsManager::clearPalette() { void GraphicsManager::setPalette(const byte *palette, int start, int count) { g_system->getPaletteManager()->setPalette(palette, start, count); + _vm->_eventsManager._gameData._hasPalette = false; } void GraphicsManager::setPalette128(const byte *palette, int start, int count) { -- cgit v1.2.3 From f450b7947623c933040eb6b541387bc652f6c5de Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Sat, 1 Feb 2014 21:38:08 -0500 Subject: VOYEUR: Converted doRoom to use ScummVM cursors --- engines/voyeur/files_threads.cpp | 40 ++++++++++++++++++++-------------------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/engines/voyeur/files_threads.cpp b/engines/voyeur/files_threads.cpp index 41fc17a54a..f18d84ec88 100644 --- a/engines/voyeur/files_threads.cpp +++ b/engines/voyeur/files_threads.cpp @@ -1146,8 +1146,9 @@ void ThreadResource::doRoom() { Common::Array &hotspots = vm._bVoy->boltEntry(vm._playStampGroupId + 4)._rectResource->_entries; int hotspotId = -1; - PictureResource *pic1 = vm._bVoy->boltEntry(vm._playStampGroupId + 2)._picResource; - PictureResource *pic2 = vm._bVoy->boltEntry(vm._playStampGroupId + 3)._picResource; + PictureResource *crosshairsCursor = vm._bVoy->boltEntry(vm._playStampGroupId + 2)._picResource; + PictureResource *magnifierCursor = vm._bVoy->boltEntry(vm._playStampGroupId + 3)._picResource; + vm._eventsManager.showCursor(); RectResource viewBounds(48, 38, 336, 202); voy._viewBounds = &viewBounds; @@ -1178,6 +1179,8 @@ void ThreadResource::doRoom() { vm._eventsManager.getMouseInfo(); Common::Point pt = vm._eventsManager.getMousePos(); + pt += Common::Point(30, 15); + hotspotId = -1; if (voy._computerTextId != -1 && voy._rect4E4.contains(pt)) hotspotId = 999; @@ -1193,19 +1196,15 @@ void ThreadResource::doRoom() { } if (hotspotId == -1) { - vm._graphicsManager.sDrawPic(pic1, *vm._graphicsManager._vPort, - Common::Point(pt.x - 9, pt.y - 9)); vm._eventsManager.setCursorColor(128, 0); + vm._eventsManager.setCursor(crosshairsCursor); } else if (hotspotId != 999 || voy._RTVNum < voy._field4EC || (voy._field4EE - 2) < voy._RTVNum) { - vm._graphicsManager.sDrawPic(pic2, *vm._graphicsManager._vPort, - Common::Point(pt.x - 12, pt.y - 9)); vm._eventsManager.setCursorColor(128, 1); + vm._eventsManager.setCursor(magnifierCursor); } else { - vm._graphicsManager.sDrawPic(pic2, - *vm._graphicsManager._vPort, - Common::Point(pt.x - 12, pt.y - 9)); vm._eventsManager.setCursorColor(128, 2); + vm._eventsManager.setCursor(magnifierCursor); } vm._eventsManager._intPtr.field38 = true; @@ -1223,6 +1222,7 @@ void ThreadResource::doRoom() { vm._eventsManager.setMousePos(pt); } else { voy._field478 |= 16; + vm._eventsManager.hideCursor(); vm._eventsManager.startCursorBlink(); if (hotspotId == 999) { @@ -1254,14 +1254,9 @@ void ThreadResource::doRoom() { if (!vm._eventsManager._mouseClicked) vm._eventsManager.delayClick(18000); - // WORKAROUND: Done in original, but not now, since freeing and reloading - // the group would invalidate the _backgroundPage picture resource - //vm._bVoy->freeBoltGroup(vm._playStampGroupId); - //vm._bVoy->getBoltGroup(vm._playStampGroupId); + // WORKAROUND: Skipped code from the original, that freed the group, + // reloaded it, and reloaded the cursors - hotspots = vm._bVoy->boltEntry(vm._playStampGroupId + 4)._rectResource->_entries; - pic1 = vm._bVoy->boltEntry(vm._playStampGroupId + 2)._picResource; - pic2 = vm._bVoy->boltEntry(vm._playStampGroupId + 3)._picResource; vm._graphicsManager._backColors = vm._bVoy->boltEntry( vm._playStampGroupId + 1)._cMapResource; vm._graphicsManager._backgroundPage = vm._bVoy->boltEntry( @@ -1294,6 +1289,7 @@ void ThreadResource::doRoom() { vm._graphicsManager.fadeUpICF1(0); voy._field478 &= 0x10; + vm._eventsManager.showCursor(); } } @@ -1318,6 +1314,7 @@ void ThreadResource::doRoom() { vm._currentVocId = -1; } + vm._eventsManager.hideCursor(); chooseSTAMPButton(0); } @@ -1749,13 +1746,16 @@ void ThreadResource::synchronize(Common::Serializer &s) { s.syncAsSint16LE(_aptPos.x); s.syncAsSint16LE(_aptPos.y); - int sceneId = _stateId; + int stateId = _stateId; int stackId = _stackId; - s.syncAsSint16LE(sceneId); + s.syncAsSint16LE(stateId); s.syncAsSint16LE(stackId); - if (s.isLoading() && (sceneId != _stateId || stackId != _stackId)) - goToState(stackId, sceneId); + if (s.isLoading() && (stateId != _stateId || stackId != _stackId)) + goToState(stackId, stateId); + + s.syncAsSint16LE(_savedStateId); + s.syncAsSint16LE(_savedStackId); } } // End of namespace Voyeur -- cgit v1.2.3 From 7cd966bc80666523cd6d4ec754415a3312b93888 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Sat, 1 Feb 2014 21:45:15 -0500 Subject: VOYEUR: Removed redundant LockClass class --- engines/voyeur/module.mk | 1 - engines/voyeur/utils.cpp | 55 ------------------------------------------- engines/voyeur/utils.h | 59 ----------------------------------------------- engines/voyeur/voyeur.cpp | 21 ++++------------- 4 files changed, 4 insertions(+), 132 deletions(-) delete mode 100644 engines/voyeur/utils.cpp delete mode 100644 engines/voyeur/utils.h diff --git a/engines/voyeur/module.mk b/engines/voyeur/module.mk index f2a69dfe76..aab254cf36 100644 --- a/engines/voyeur/module.mk +++ b/engines/voyeur/module.mk @@ -11,7 +11,6 @@ MODULE_OBJS := \ graphics.o \ sound.o \ staticres.o \ - utils.o \ voyeur.o \ voyeur_game.o diff --git a/engines/voyeur/utils.cpp b/engines/voyeur/utils.cpp deleted file mode 100644 index 74470dc6c7..0000000000 --- a/engines/voyeur/utils.cpp +++ /dev/null @@ -1,55 +0,0 @@ -/* 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 "voyeur/utils.h" -#include "common/savefile.h" - -namespace Voyeur { - -LockTime::LockTime() { - field0 = field1 = field2 = field3 = 0; -} - -void LockClass::getSysDate() { - // May not be needed for ScummVM -} - -void LockClass::getThePassword() { - field0 = 26; - _password = "3333"; - fieldE = field16; - field12 = field1A; - fieldC = -1; - - // TODO: Original loaded 'VOYEUR.DAT' here to get most recent game's password. - // but since we allow seperate savegames in ScummVM, this is somewhat deprecated. -} - -void LockClass::saveThePassword() { - // May not be needed for ScummVM -} - -Common::String LockClass::getDateString() { - return Common::String("ScummVM"); -} - -} // End of namespace Voyeur diff --git a/engines/voyeur/utils.h b/engines/voyeur/utils.h deleted file mode 100644 index b9266781dc..0000000000 --- a/engines/voyeur/utils.h +++ /dev/null @@ -1,59 +0,0 @@ -/* 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. - * - */ - -#ifndef VOYEUR_UTILS_H -#define VOYEUR_UTILS_H - -#include "common/scummsys.h" -#include "common/str.h" - -namespace Voyeur { - -class LockTime { -public: - int field0; - int field1; - int field2; - int field3; - - LockTime(); -}; - -class LockClass { -public: - int field0; - Common::String _password; - int fieldC; - LockTime fieldE; - int field12; - LockTime field16; - int field1A; -public: - void getSysDate(); - void getThePassword(); - void saveThePassword(); - Common::String getDateString(); -}; - -} // End of namespace Voyeur - -#endif /* VOYEUR_UTILS_H */ diff --git a/engines/voyeur/voyeur.cpp b/engines/voyeur/voyeur.cpp index 8e597bbea9..4d3f235d82 100644 --- a/engines/voyeur/voyeur.cpp +++ b/engines/voyeur/voyeur.cpp @@ -24,7 +24,6 @@ #include "voyeur/animation.h" #include "voyeur/graphics.h" #include "voyeur/staticres.h" -#include "voyeur/utils.h" #include "common/scummsys.h" #include "common/config-manager.h" #include "common/debug-channels.h" @@ -241,16 +240,12 @@ bool VoyeurEngine::doLock() { int buttonVocSize, wrongVocSize; byte *buttonVoc = _filesManager.fload("button.voc", &buttonVocSize); byte *wrongVoc = _filesManager.fload("wrong.voc", &wrongVocSize); - LockClass lock; if (_bVoy->getBoltGroup(0x700)) { - lock.getSysDate(); - lock.getThePassword(); - - _voy._field4380 = lock.fieldC; + _voy._field4380 = 0; _voy._viewBounds = _bVoy->boltEntry(0x704)._rectResource; - Common::String password = lock._password; + Common::String password = "3333"; PictureResource *cursorPic = _bVoy->getPictureResource(0x702); assert(cursorPic); @@ -287,7 +282,7 @@ bool VoyeurEngine::doLock() { _graphicsManager._fontPtr->_fontSaveBack = 0; _graphicsManager._fontPtr->_fontFlags = 0; - Common::String dateString = lock.getDateString(); + Common::String dateString = "ScummVM"; Common::String displayString = Common::String::format("Last Play %s", dateString.c_str()); bool firstLoop = true; @@ -396,10 +391,6 @@ bool VoyeurEngine::doLock() { flipPageAndWait(); _graphicsManager.resetPalette(); - if (flag && result) - lock._password = displayString; - lock.saveThePassword(); - _voy._viewBounds = nullptr; _bVoy->freeBoltGroup(0x700); } @@ -665,11 +656,7 @@ void VoyeurEngine::doTransitionCard(const Common::String &time, const Common::St } void VoyeurEngine::saveLastInplay() { - LockClass lock; - lock.getThePassword(); - lock.fieldC = _voy._field4380; - lock.getSysDate(); - lock.saveThePassword(); + // No implementation in ScummVM version } void VoyeurEngine::flipPageAndWait() { -- cgit v1.2.3 From 54c479c3d9e7cf47e00d2b2d2c6bd16989eeb510 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Sat, 1 Feb 2014 22:22:34 -0500 Subject: VOYEUR: Bugfixes for computer event display --- engines/voyeur/data.cpp | 4 ++-- engines/voyeur/data.h | 4 ++-- engines/voyeur/files.cpp | 17 +++++++++++++++++ engines/voyeur/files.h | 1 + engines/voyeur/files_threads.cpp | 15 ++++++++------- engines/voyeur/voyeur.h | 2 +- engines/voyeur/voyeur_game.cpp | 21 ++++++++++++++------- 7 files changed, 45 insertions(+), 19 deletions(-) diff --git a/engines/voyeur/data.cpp b/engines/voyeur/data.cpp index 0f11c7bda2..e3791d2303 100644 --- a/engines/voyeur/data.cpp +++ b/engines/voyeur/data.cpp @@ -88,8 +88,8 @@ void SVoy::synchronize(Common::Serializer &s) { s.syncAsSint16LE(_field4AC); s.syncAsSint16LE(_field4B8); s.syncAsSint16LE(_computerTextId); - s.syncAsSint16LE(_field4EC); - s.syncAsSint16LE(_field4EE); + s.syncAsSint16LE(_computerTimeMin); + s.syncAsSint16LE(_computerTimeMax); s.syncAsSint16LE(_field4F0); s.syncAsSint16LE(_field4F2); diff --git a/engines/voyeur/data.h b/engines/voyeur/data.h index b243b15682..bdd583b9c3 100644 --- a/engines/voyeur/data.h +++ b/engines/voyeur/data.h @@ -128,8 +128,8 @@ public: int _computerTextId; Common::Rect _rect4E4; - int _field4EC; - int _field4EE; + int _computerTimeMin; + int _computerTimeMax; int _field4F0; int _field4F2; diff --git a/engines/voyeur/files.cpp b/engines/voyeur/files.cpp index fe77d2f9e9..b5f6fb906a 100644 --- a/engines/voyeur/files.cpp +++ b/engines/voyeur/files.cpp @@ -1398,6 +1398,23 @@ void ViewPortResource::drawIfaceTime() { Common::Point(215, 27)); } +void ViewPortResource::drawPicPerm(PictureResource *pic, const Common::Point &pt) { + Common::Rect bounds = pic->_bounds; + bounds.translate(pt.x, pt.y); + + bool saveBack = _state._vm->_graphicsManager._saveBack; + _state._vm->_graphicsManager._saveBack = false; + _state._vm->_graphicsManager.sDrawPic(pic, this, pt); + clipRect(bounds); + + for (int pageIndex = 0; pageIndex < _pageCount; ++pageIndex) { + if (_pageIndex != pageIndex) { + addSaveRect(pageIndex, bounds); + } + } + + _state._vm->_graphicsManager._saveBack = saveBack; +} /*------------------------------------------------------------------------*/ ViewPortListResource::ViewPortListResource(BoltFilesState &state, const byte *src) { diff --git a/engines/voyeur/files.h b/engines/voyeur/files.h index 1ea8428fc8..604b30334a 100644 --- a/engines/voyeur/files.h +++ b/engines/voyeur/files.h @@ -373,6 +373,7 @@ public: void addSaveRect(int pageIndex, const Common::Rect &r); void fillPic(byte onOff = 0); void drawIfaceTime(); + void drawPicPerm(PictureResource *pic, const Common::Point &pt); }; class ViewPortPalEntry { diff --git a/engines/voyeur/files_threads.cpp b/engines/voyeur/files_threads.cpp index f18d84ec88..7955cfdbb6 100644 --- a/engines/voyeur/files_threads.cpp +++ b/engines/voyeur/files_threads.cpp @@ -629,8 +629,8 @@ void ThreadResource::parsePlayCommands() { if (v2 == 0 || READ_LE_UINT16(_vm->_controlPtr->_ptr + 4) == 0) { _vm->_voy._computerTextId = READ_LE_UINT16(dataP + 2); - _vm->_voy._field4EC = READ_LE_UINT16(dataP + 4); - _vm->_voy._field4EE = READ_LE_UINT16(dataP + 6); + _vm->_voy._computerTimeMin = READ_LE_UINT16(dataP + 4); + _vm->_voy._computerTimeMax = READ_LE_UINT16(dataP + 6); _vm->_voy._rect4E4.left = COMP_BUT_TABLE[_vm->_voy._computerTextId * 4]; _vm->_voy._rect4E4.top = COMP_BUT_TABLE[_vm->_voy._computerTextId * 4 + 1]; @@ -1198,8 +1198,8 @@ void ThreadResource::doRoom() { if (hotspotId == -1) { vm._eventsManager.setCursorColor(128, 0); vm._eventsManager.setCursor(crosshairsCursor); - } else if (hotspotId != 999 || voy._RTVNum < voy._field4EC || - (voy._field4EE - 2) < voy._RTVNum) { + } else if (hotspotId != 999 || voy._RTVNum < voy._computerTimeMin || + (voy._computerTimeMax - 2) < voy._RTVNum) { vm._eventsManager.setCursorColor(128, 1); vm._eventsManager.setCursor(magnifierCursor); } else { @@ -1241,9 +1241,9 @@ void ThreadResource::doRoom() { vm._eventsManager._mouseClicked = false; vm._eventsManager.startCursorBlink(); - int v = vm.doComputerText(9999); - if (v) - vm._voy.addComputerEventEnd(v); + int totalChars = vm.doComputerText(9999); + if (totalChars) + vm._voy.addComputerEventEnd(totalChars); vm._bVoy->freeBoltGroup(0x4900); } else { @@ -1262,6 +1262,7 @@ void ThreadResource::doRoom() { vm._graphicsManager._backgroundPage = vm._bVoy->boltEntry( vm._playStampGroupId)._picResource; + (*vm._graphicsManager._vPort)->setupViewPort(); vm._graphicsManager._backColors->startFade(); _vm->flipPageAndWait(); diff --git a/engines/voyeur/voyeur.h b/engines/voyeur/voyeur.h index f39c4a2d1d..a79ec5b93d 100644 --- a/engines/voyeur/voyeur.h +++ b/engines/voyeur/voyeur.h @@ -238,7 +238,7 @@ public: void makeViewFinderP(); void initIFace(); void checkTransition(); - bool doComputerText(int maxLen); + int doComputerText(int maxLen); void getComputerBrush(); /** diff --git a/engines/voyeur/voyeur_game.cpp b/engines/voyeur/voyeur_game.cpp index b6390c5cef..a95355e8e0 100644 --- a/engines/voyeur/voyeur_game.cpp +++ b/engines/voyeur/voyeur_game.cpp @@ -1160,7 +1160,7 @@ Common::String VoyeurEngine::getTimeOfDay() { return Common::String::format("%d:%02d%s", _gameHour, _gameMinute, _voy._isAM ? AM : PM); } -bool VoyeurEngine::doComputerText(int maxLen) { +int VoyeurEngine::doComputerText(int maxLen) { FontInfoResource &font = *_graphicsManager._fontPtr; int totalChars = 0; @@ -1171,7 +1171,7 @@ bool VoyeurEngine::doComputerText(int maxLen) { if (_voy._vocSecondsOffset > 60) _voy._vocSecondsOffset = 0; - if (_voy._RTVNum > _voy._field4EE && maxLen == 9999) { + if (_voy._RTVNum > _voy._computerTimeMax && maxLen == 9999) { if (_currentVocId != -1) _soundManager.startVOCPlay(_currentVocId); font._justify = ALIGN_LEFT; @@ -1179,7 +1179,7 @@ bool VoyeurEngine::doComputerText(int maxLen) { font._justifyHeight = 100; font._pos = Common::Point(128, 100); (*_graphicsManager._vPort)->drawText(END_OF_MESSAGE); - } else if (_voy._RTVNum < _voy._field4EC && maxLen == 9999) { + } else if (_voy._RTVNum < _voy._computerTimeMin && maxLen == 9999) { if (_currentVocId != -1) _soundManager.startVOCPlay(_currentVocId); font._justify = ALIGN_LEFT; @@ -1244,7 +1244,7 @@ bool VoyeurEngine::doComputerText(int maxLen) { } while (!shouldQuit() && !_eventsManager._mouseClicked && totalChars < maxLen); - _voy._field4EE = 0; + _voy._computerTimeMax = 0; } flipPageAndWait(); @@ -1254,9 +1254,16 @@ bool VoyeurEngine::doComputerText(int maxLen) { } void VoyeurEngine::getComputerBrush() { - error("TODO: getComputerBrush"); -// if (_bVoy->getBoltGroup(0x4900)) { -// } + if (_bVoy->getBoltGroup(0x4900)) { + PictureResource *pic = _bVoy->boltEntry(0x490E)._picResource; + int xp = (384 - pic->_bounds.width()) / 2; + int yp = (240 - pic->_bounds.height()) / 2 - 4; + + (*_graphicsManager._vPort)->drawPicPerm(pic, Common::Point(xp, yp)); + + CMapResource *pal = _bVoy->boltEntry(0x490F)._cMapResource; + pal->startFade(); + } } void VoyeurEngine::doTimeBar(bool force) { -- cgit v1.2.3 From 647a2ded958a295f0ca3fc74e6e0cdc452efe83e Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Sat, 1 Feb 2014 23:33:30 -0500 Subject: VOYEUR: Set up enum for event flags, and improved blinking record indicator --- engines/voyeur/data.cpp | 2 +- engines/voyeur/data.h | 5 +++- engines/voyeur/events.cpp | 43 ++++++++++++++++-------------- engines/voyeur/events.h | 6 +++-- engines/voyeur/files_threads.cpp | 56 ++++++++++++++++++++-------------------- engines/voyeur/graphics.cpp | 4 +-- engines/voyeur/voyeur.cpp | 44 ++++++++++++++++--------------- engines/voyeur/voyeur.h | 1 - engines/voyeur/voyeur_game.cpp | 40 ++++++++++++++-------------- 9 files changed, 106 insertions(+), 95 deletions(-) diff --git a/engines/voyeur/data.cpp b/engines/voyeur/data.cpp index e3791d2303..8bcf32fb2f 100644 --- a/engines/voyeur/data.cpp +++ b/engines/voyeur/data.cpp @@ -82,7 +82,7 @@ void SVoy::synchronize(Common::Serializer &s) { s.syncAsSint16LE(_aptLoadMode); s.syncAsSint16LE(_transitionId); s.syncAsSint16LE(_RTVLimit); - s.syncAsSint16LE(_field478); + s.syncAsSint16LE(_eventFlags); s.syncAsSint16LE(_field47A); s.syncAsSint16LE(_field4AC); diff --git a/engines/voyeur/data.h b/engines/voyeur/data.h index bdd583b9c3..8b561e9a29 100644 --- a/engines/voyeur/data.h +++ b/engines/voyeur/data.h @@ -34,6 +34,9 @@ namespace Voyeur { enum VoyeurEventType { EVTYPE_VIDEO = 1, EVTYPE_AUDIO = 2, EVTYPE_EVID = 3, EVTYPE_COMPUTER = 4 }; +enum EventFlag { EVTFLAG_1 = 1, EVTFLAG_2 = 2, EVTFLAG_8 = 8, EVTFLAG_RECORDING = 0x10, + EVTFLAG_40 = 0x40, EVTFLAG_100 = 0x100 }; + struct VoyeurEvent { int _hour; int _minute; @@ -118,7 +121,7 @@ public: int _aptLoadMode; int _transitionId; int _RTVLimit; - int _field478; + int _eventFlags; int _field47A; PictureResource *_evPicPtrs[6]; CMapResource *_evCmPtrs[6]; diff --git a/engines/voyeur/events.cpp b/engines/voyeur/events.cpp index d79b6a0fed..3fe37ca22b 100644 --- a/engines/voyeur/events.cpp +++ b/engines/voyeur/events.cpp @@ -56,7 +56,7 @@ IntData::IntData() { field24 = 0; field26 = 0; field2A = 0; - field38 = false; + _palChanged = false; field3B = false; field3D = false; _palStartIndex = 0; @@ -73,7 +73,10 @@ EventsManager::EventsManager(): _intPtr(_gameData), _fadeStatus = 0; _priorFrameTime = g_system->getMillis(); _gameCounter = 0; - _joe = 0; + _counterFlag = false; + _recordBlinkCounter = 0; + _cursorBlinked = false; + Common::fill(&_keyState[0], &_keyState[256], false); Common::fill(&_cycleTime[0], &_cycleTime[4], 0); Common::fill(&_cycleNext[0], &_cycleNext[4], (byte *)nullptr); @@ -99,7 +102,7 @@ void EventsManager::startMainClockInt() { } void EventsManager::mainVoyeurIntFunc() { - if (!(_vm->_voy._field478 & 1)) { + if (!(_vm->_voy._eventFlags & EVTFLAG_1)) { ++_vm->_voy._switchBGNum; if (_vm->_debugger._isTimeActive) { @@ -141,7 +144,9 @@ void EventsManager::checkForNextFrameCounter() { // Check for next game frame uint32 milli = g_system->getMillis(); if ((milli - _priorFrameTime) >= GAME_FRAME_TIME) { - ++_gameCounter; + _counterFlag = !_counterFlag; + if (_counterFlag) + ++_gameCounter; _priorFrameTime = milli; // Run the timer-based updates @@ -173,7 +178,7 @@ void EventsManager::voyeurTimer() { if (--_gameData.field26 <= 0) { if (_gameData._flipWait) { - _gameData.field38 = true; + _gameData._palChanged = true; _gameData._flipWait = false; _gameData.field3B = false; } @@ -338,7 +343,7 @@ void EventsManager::startFade(CMapResource *cMap) { _intPtr._hasPalette = true; if (!(cMap->_fadeStatus & 2)) - _intPtr.field38 = true; + _intPtr._palChanged = true; } if (_cycleStatus & 1) @@ -388,7 +393,7 @@ void EventsManager::vDoFadeInt() { _intPtr._palEndIndex = _fadeLastCol; _intPtr._hasPalette = true; - _intPtr.field38 = true; + _intPtr._palChanged = true; } void EventsManager::vDoCycleInt() { @@ -471,7 +476,7 @@ void EventsManager::vDoCycleInt() { } _intPtr._hasPalette = true; - _intPtr.field38 = true; + _intPtr._palChanged = true; } } } @@ -535,18 +540,18 @@ void EventsManager::hideCursor() { void EventsManager::getMouseInfo() { pollEvents(); - if (_vm->_voy._field478 & 0x10) { - if ((_gameCounter - _joe) > 8) { - _joe = _gameCounter; + if (_vm->_voy._eventFlags & EVTFLAG_RECORDING) { + if ((_gameCounter - _recordBlinkCounter) > 8) { + _recordBlinkCounter = _gameCounter; - if (_vm->_bob) { - _vm->_bob = false; - _vm->_graphicsManager.setOneColor(128, 55, 5, 5); + if (_cursorBlinked) { + _cursorBlinked = false; + _vm->_graphicsManager.setOneColor(128, 220, 20, 20); _vm->_graphicsManager.setColor(128, 220, 20, 20); } else { - _vm->_bob = true; - _vm->_graphicsManager.setOneColor(128, 55, 55, 55); - _vm->_graphicsManager.setColor(128, 220, 20, 20); + _cursorBlinked = true; + _vm->_graphicsManager.setOneColor(128, 220, 220, 220); + _vm->_graphicsManager.setColor(128, 220, 220, 220); } } } @@ -567,10 +572,10 @@ void EventsManager::checkForKey() { } void EventsManager::startCursorBlink() { - if (_vm->_voy._field478 & 0x10) { + if (_vm->_voy._eventFlags & EVTFLAG_RECORDING) { _vm->_graphicsManager.setOneColor(128, 55, 5, 5); _vm->_graphicsManager.setColor(128, 220, 20, 20); - _intPtr.field38 = true; + _intPtr._palChanged = true; _intPtr._hasPalette = true; _vm->_graphicsManager.drawDot(); diff --git a/engines/voyeur/events.h b/engines/voyeur/events.h index 753139bf35..6e2d297851 100644 --- a/engines/voyeur/events.h +++ b/engines/voyeur/events.h @@ -62,7 +62,7 @@ public: int field26; int field2A; // CHECKME: Useless variable bool _hasPalette; - bool field38; // CHECKME: Useless variable + bool _palChanged; // CHECKME: Useless variable bool field3B; // Skip fading bool field3D; // CHECKME: Useless variable int _palStartIndex; @@ -78,12 +78,14 @@ class EventsManager { private: VoyeurEngine *_vm; uint32 _priorFrameTime; + bool _counterFlag; uint32 _gameCounter; - uint32 _joe; + uint32 _recordBlinkCounter; // Original field was called _joe :) bool _keyState[256]; int _mouseButton; Common::List _intNodes; Common::Point _mousePos; + bool _cursorBlinked; void mainVoyeurIntFunc(); private: diff --git a/engines/voyeur/files_threads.cpp b/engines/voyeur/files_threads.cpp index 7955cfdbb6..5ea450e30f 100644 --- a/engines/voyeur/files_threads.cpp +++ b/engines/voyeur/files_threads.cpp @@ -341,7 +341,7 @@ void ThreadResource::parsePlayCommands() { _vm->_voy._field46A = 0; _vm->_voy._field47A = -1; _vm->_voy._computerTextId = -1; - _vm->_voy._field478 &= ~8; + _vm->_voy._eventFlags &= ~EVTFLAG_8; _vm->_eventsManager._videoDead = -1; // Reset hotspot data @@ -410,12 +410,12 @@ void ThreadResource::parsePlayCommands() { } else { _vm->_voy._vocSecondsOffset = _vm->_voy._RTVNum - _vm->_voy._field468; _vm->_voy.addVideoEventStart(); - _vm->_voy._field478 &= ~1; - _vm->_voy._field478 |= 0x10; + _vm->_voy._eventFlags &= ~EVTFLAG_1; + _vm->_voy._eventFlags |= EVTFLAG_RECORDING; _vm->playAVideo(_vm->_audioVideoId); - _vm->_voy._field478 &= ~0x10; - _vm->_voy._field478 |= 1; + _vm->_voy._eventFlags &= ~EVTFLAG_RECORDING; + _vm->_voy._eventFlags |= EVTFLAG_1; _vm->_voy.addVideoEventEnd(); _vm->_eventsManager.incrementTime(1); @@ -454,9 +454,9 @@ void ThreadResource::parsePlayCommands() { _vm->_voy._vocSecondsOffset = 0; _vm->_voy._field468 = _vm->_voy._RTVNum; - _vm->_voy._field478 &= ~0x11; + _vm->_voy._eventFlags &= ~(EVTFLAG_1 | EVTFLAG_RECORDING); _vm->playAVideo(_vm->_audioVideoId); - _vm->_voy._field478 |= 1; + _vm->_voy._eventFlags |= EVTFLAG_1; if (id != 22) { _vm->_audioVideoId = -1; @@ -515,7 +515,7 @@ void ThreadResource::parsePlayCommands() { if (_vm->_voy._transitionId != count) { if (_vm->_voy._transitionId > 1) - _vm->_voy._field478 &= ~0x100; + _vm->_voy._eventFlags &= ~EVTFLAG_100; _vm->_voy._transitionId = count; _vm->_gameMinute = LEVEL_M[count - 1]; @@ -610,7 +610,7 @@ void ThreadResource::parsePlayCommands() { break; case 11: - _vm->_voy._field478 |= 2; + _vm->_voy._eventFlags |= EVTFLAG_2; break; case 12: @@ -1034,7 +1034,7 @@ int ThreadResource::doApt() { _vm->_graphicsManager.setColor(131, 215, 215, 215); _vm->_graphicsManager.setColor(132, 235, 235, 235); - _vm->_eventsManager._intPtr.field38 = true; + _vm->_eventsManager._intPtr._palChanged = true; _vm->_eventsManager._intPtr._hasPalette = true; // Main loop to allow users to move the cursor and select hotspots @@ -1070,7 +1070,7 @@ int ThreadResource::doApt() { if (hotspotId != prevHotspotId) { // Check for whether to replace hotspot Id for "Watch TV" for // "Review the Tape" if player has already watched the TV - if ((_vm->_voy._field478 & 0x100) && (hotspotId == 2)) + if ((_vm->_voy._eventFlags & 0x100) && (hotspotId == 2)) hotspotId = 5; // Draw the text description for the highlighted hotspot @@ -1161,13 +1161,13 @@ void ThreadResource::doRoom() { voy._vocSecondsOffset = 0; vm._soundManager.startVOCPlay(vm._currentVocId); - voy._field478 &= ~1; + voy._eventFlags &= ~EVTFLAG_1; bool breakFlag = false; while (!vm.shouldQuit() && !breakFlag) { _vm->_voyeurArea = AREA_ROOM; vm._graphicsManager.setColor(128, 0, 255, 0); - vm._eventsManager._intPtr.field38 = true; + vm._eventsManager._intPtr._palChanged = true; vm._eventsManager._intPtr._hasPalette = true; do { @@ -1207,7 +1207,7 @@ void ThreadResource::doRoom() { vm._eventsManager.setCursor(magnifierCursor); } - vm._eventsManager._intPtr.field38 = true; + vm._eventsManager._intPtr._palChanged = true; vm._eventsManager._intPtr._hasPalette = true; vm._graphicsManager.flipPage(); vm._eventsManager.sWaitFlip(); @@ -1221,7 +1221,7 @@ void ThreadResource::doRoom() { vm._eventsManager.getMouseInfo(); vm._eventsManager.setMousePos(pt); } else { - voy._field478 |= 16; + voy._eventFlags |= EVTFLAG_RECORDING; vm._eventsManager.hideCursor(); vm._eventsManager.startCursorBlink(); @@ -1250,7 +1250,7 @@ void ThreadResource::doRoom() { vm.doEvidDisplay(hotspotId, 999); } - voy._field478 &= ~0x10; + voy._eventFlags &= ~EVTFLAG_RECORDING; if (!vm._eventsManager._mouseClicked) vm._eventsManager.delayClick(18000); @@ -1289,12 +1289,12 @@ void ThreadResource::doRoom() { _vm->flipPageAndWait(); vm._graphicsManager.fadeUpICF1(0); - voy._field478 &= 0x10; + voy._eventFlags &= EVTFLAG_RECORDING; vm._eventsManager.showCursor(); } } - voy._field478 = 1; + voy._eventFlags = EVTFLAG_1; vm._eventsManager.incrementTime(1); voy._viewBounds = nullptr; voy._field437E = 0; @@ -1323,13 +1323,13 @@ int ThreadResource::doInterface() { PictureResource *pic; Common::Point pt; - _vm->_voy._field478 |= 1; + _vm->_voy._eventFlags |= EVTFLAG_1; if (_vm->_voy._field46E) { _vm->_voy._field46E = false; return -2; } - _vm->_voy._field478 &= ~0x100; + _vm->_voy._eventFlags &= ~EVTFLAG_100; _vm->_playStampGroupId = -1; _vm->_eventsManager._intPtr.field1E = 1; _vm->_eventsManager._intPtr.field1A = 0; @@ -1344,14 +1344,14 @@ int ThreadResource::doInterface() { _vm->initIFace(); _vm->_voy._RTVNum = _vm->_voy._RTVLimit - 4; - _vm->_voy._field478 &= ~1; + _vm->_voy._eventFlags &= ~EVTFLAG_1; while (!_vm->shouldQuit() && _vm->_voy._RTVNum < _vm->_voy._RTVLimit) { _vm->flashTimeBar(); _vm->_eventsManager.delayClick(1); } - _vm->_voy._field478 = 1; + _vm->_voy._eventFlags |= EVTFLAG_1; chooseSTAMPButton(20); parsePlayCommands(); } @@ -1371,9 +1371,9 @@ int ThreadResource::doInterface() { _vm->_eventsManager.getMouseInfo(); _vm->_graphicsManager.setColor(240, 220, 220, 220); - _vm->_eventsManager._intPtr.field38 = true; + _vm->_eventsManager._intPtr._palChanged = true; _vm->_eventsManager._intPtr._hasPalette = true; - _vm->_voy._field478 &= ~1; + _vm->_voy._eventFlags &= ~EVTFLAG_1; // Set the cusor PictureResource *crosshairsCursor = _vm->_bVoy->boltEntry(0x112)._picResource; @@ -1470,7 +1470,7 @@ int ThreadResource::doInterface() { _vm->flipPageAndWait(); pt = _vm->_eventsManager.getMousePos(); - if ((_vm->_voy._RTVNum >= _vm->_voy._RTVLimit) || ((_vm->_voy._field478 & 0x80) && + if ((_vm->_voy._RTVNum >= _vm->_voy._RTVLimit) || ((_vm->_voy._eventFlags & 0x80) && _vm->_eventsManager._rightClick && (pt.x == 0))) { // Time to transition to the next time period _vm->_eventsManager.getMouseInfo(); @@ -1482,7 +1482,7 @@ int ThreadResource::doInterface() { _vm->checkTransition(); _vm->_eventsManager._leftClick = true; } else { - _vm->_voy._field478 = 1; + _vm->_voy._eventFlags |= EVTFLAG_1; chooseSTAMPButton(20); parsePlayCommands(); @@ -1494,7 +1494,7 @@ int ThreadResource::doInterface() { hotspots = &_vm->_bVoy->boltEntry(_vm->_playStampGroupId + 1)._rectResource->_entries; _vm->_eventsManager.getMouseInfo(); - _vm->_voy._field478 &= ~2; + _vm->_voy._eventFlags &= ~2; _vm->_eventsManager._intPtr.field1E = 1; _vm->_eventsManager._intPtr.field1A = 0; } @@ -1503,7 +1503,7 @@ int ThreadResource::doInterface() { (!_vm->_eventsManager._leftClick || regionIndex == -1)); _vm->_eventsManager.hideCursor(); - _vm->_voy._field478 |= 1; + _vm->_voy._eventFlags |= EVTFLAG_1; _vm->_bVoy->freeBoltGroup(_vm->_playStampGroupId); if (_vm->_currentVocId != -1) _vm->_soundManager.stopVOCPlay(); diff --git a/engines/voyeur/graphics.cpp b/engines/voyeur/graphics.cpp index ebe8a5034b..bf73822c52 100644 --- a/engines/voyeur/graphics.cpp +++ b/engines/voyeur/graphics.cpp @@ -959,7 +959,7 @@ void GraphicsManager::resetPalette() { for (int i = 0; i < 256; ++i) setColor(i, 0, 0, 0); - _vm->_eventsManager._intPtr.field38 = true; + _vm->_eventsManager._intPtr._palChanged = true; _vm->_eventsManager._intPtr._hasPalette = true; } @@ -989,7 +989,7 @@ void GraphicsManager::setColors(int start, int count, const byte *pal) { } } - _vm->_eventsManager._intPtr.field38 = true; + _vm->_eventsManager._intPtr._palChanged = true; _vm->_eventsManager._intPtr._hasPalette = true; } diff --git a/engines/voyeur/voyeur.cpp b/engines/voyeur/voyeur.cpp index 4d3f235d82..9f941bc1ac 100644 --- a/engines/voyeur/voyeur.cpp +++ b/engines/voyeur/voyeur.cpp @@ -42,7 +42,6 @@ VoyeurEngine::VoyeurEngine(OSystem *syst, const VoyeurGameDescription *gameDesc) _bVoy = NULL; _iForceDeath = -1; _controlPtr = NULL; - _bob = false; _stampFlags = 0; _playStampGroupId = _currentVocId = 0; _audioVideoId = -1; @@ -70,7 +69,7 @@ Common::Error VoyeurEngine::run() { _eventsManager.resetMouse(); if (doHeadTitle()) { if (_iForceDeath >= 1 && _iForceDeath <= 4) - _voy._field478 |= 0x80; + _voy._eventFlags |= 0x80; playStamp(); if (!shouldQuit()) @@ -118,11 +117,11 @@ void VoyeurEngine::globalInitBolt() { assert(_graphicsManager._fontPtr->_curFont); // Setup default flags - _voy._field478 = 1; + _voy._eventFlags = EVTFLAG_1; _voy._field4376 = _voy._field4378 = 127; _voy._field4F2 = 9999; _voy._aptLoadMode = -1; - _voy._field478 = 256; + _voy._eventFlags |= EVTFLAG_100; _voy._curICF0 = _graphicsManager._palFlag ? 0xFFFFA5E0 : 0x5F90; _eventsManager.addFadeInt(); @@ -179,7 +178,7 @@ bool VoyeurEngine::doHeadTitle() { _eventsManager._mouseClicked = false; } */ - if (_voy._field478 & 0x80) { + if (_voy._eventFlags & 0x80) { // Add initial game event set if (_voy._eventCount <= 1) _voy.addEvent(18, 1, EVTYPE_VIDEO, 33, 0, 998, -1); @@ -275,7 +274,7 @@ bool VoyeurEngine::doLock() { _eventsManager.setCursor(cursorPic); _eventsManager.showCursor(); - _eventsManager._intPtr. field38 = true; + _eventsManager._intPtr. _palChanged = true; _eventsManager._intPtr._hasPalette = true; _graphicsManager._fontPtr->_curFont = _bVoy->boltEntry(0x708)._fontResource; @@ -326,7 +325,7 @@ bool VoyeurEngine::doLock() { } _eventsManager.setCursorColor(127, (key == -1) ? 0 : 1); - _eventsManager._intPtr.field38 = true; + _eventsManager._intPtr._palChanged = true; _eventsManager._intPtr._hasPalette = true; _eventsManager.delay(1); @@ -457,19 +456,19 @@ void VoyeurEngine::doOpening() { _voy._vocSecondsOffset = 0; _voy._RTVNum = 0; _voy._field468 = _voy._RTVNum; - _voy._field478 = 16; + _voy._eventFlags = 16; _gameHour = 4; _gameMinute = 0; _audioVideoId = 1; _eventsManager._videoDead = -1; _voy.addVideoEventStart(); - _voy._field478 &= ~1; + _voy._eventFlags &= ~EVTFLAG_1; for (int i = 0; i < 256; ++i) _graphicsManager.setColor(i, 8, 8, 8); - _eventsManager._intPtr.field38 = 1; + _eventsManager._intPtr._palChanged = true; _eventsManager._intPtr._hasPalette = true; (*_graphicsManager._vPort)->setupViewPort(); flipPageAndWait(); @@ -499,9 +498,9 @@ void VoyeurEngine::doOpening() { if ((_voy._RTVNum - _voy._field468) < 2) _eventsManager.delay(60); - _voy._field478 |= 1; + _voy._eventFlags |= EVTFLAG_1; _voy.addVideoEventEnd(); - _voy._field478 &= 0x10; + _voy._eventFlags &= EVTFLAG_RECORDING; _bVoy->freeBoltGroup(0x200); } @@ -553,6 +552,9 @@ void VoyeurEngine::playAVideoDuration(int videoId, int duration) { int endFrame = decoder.getCurFrame() + totalFrames; _eventsManager.getMouseInfo(); + if (!_voy._fadeICF0) + _eventsManager.startCursorBlink(); + while (!shouldQuit() && !decoder.endOfVideo() && !_eventsManager._mouseClicked && (decoder.getCurFrame() < endFrame)) { if (decoder.needsUpdate()) { @@ -560,6 +562,7 @@ void VoyeurEngine::playAVideoDuration(int videoId, int duration) { Common::copy((const byte *)frame->getPixels(), (const byte *)frame->getPixels() + 320 * 200, (byte *)_graphicsManager._screenSurface.getPixels()); + _graphicsManager.drawDot(); } if (decoder.hasDirtyPalette()) { @@ -574,14 +577,14 @@ void VoyeurEngine::playAVideoDuration(int videoId, int duration) { // RL2 finished _graphicsManager.screenReset(); - _voy._field478 &= ~0x10; + _voy._eventFlags &= ~EVTFLAG_RECORDING; - if (_voy._field478 & 8) { + if (_voy._eventFlags & EVTFLAG_8) { assert(pic); byte *imgData = (*_graphicsManager._vPort)->_currentPic->_imgData; (*_graphicsManager._vPort)->_currentPic->_imgData = pic->_imgData; pic->_imgData = imgData; - _voy._field478 &= ~8; + _voy._eventFlags &= ~EVTFLAG_8; } } @@ -596,32 +599,32 @@ void VoyeurEngine::playAudio(int audioId) { _graphicsManager._backColors->startFade(); flipPageAndWaitForFade(); - _voy._field478 &= ~1; + _voy._eventFlags &= ~EVTFLAG_1; _soundManager.setVOCOffset(_voy._vocSecondsOffset); Common::String filename = _soundManager.getVOCFileName( audioId + 159); _soundManager.startVOCPlay(filename); - _voy._field478 |= 16; + _voy._eventFlags |= EVTFLAG_RECORDING; _eventsManager.startCursorBlink(); while (!shouldQuit() && !_eventsManager._mouseClicked && _soundManager.getVOCStatus()) _eventsManager.delayClick(1); - _voy._field478 |= 1; + _voy._eventFlags |= EVTFLAG_1; _soundManager.stopVOCPlay(); _bVoy->freeBoltGroup(0x7F00); (*_graphicsManager._vPort)->setupViewPort(NULL); - _voy._field478 &= ~0x10; + _voy._eventFlags &= ~EVTFLAG_RECORDING; _voy._field470 = 129; } void VoyeurEngine::doTransitionCard(const Common::String &time, const Common::String &location) { _graphicsManager.setColor(128, 16, 16, 16); _graphicsManager.setColor(224, 220, 220, 220); - _eventsManager._intPtr.field38 = true; + _eventsManager._intPtr._palChanged = true; _eventsManager._intPtr._hasPalette = true; (*_graphicsManager._vPort)->setupViewPort(NULL); @@ -761,7 +764,6 @@ Common::Error VoyeurEngine::saveGameState(int slot, const Common::String &desc) void VoyeurEngine::synchronize(Common::Serializer &s) { s.syncAsSint16LE(_glGoScene); s.syncAsSint16LE(_glGoStack); - s.syncAsSint16LE(_bob); s.syncAsSint16LE(_stampFlags); s.syncAsSint16LE(_playStampGroupId); s.syncAsSint16LE(_currentVocId); diff --git a/engines/voyeur/voyeur.h b/engines/voyeur/voyeur.h index a79ec5b93d..907ebcf07f 100644 --- a/engines/voyeur/voyeur.h +++ b/engines/voyeur/voyeur.h @@ -172,7 +172,6 @@ public: BoltGroup *_stackGroupPtr; int _glGoScene; int _glGoStack; - bool _bob; int _stampFlags; int _playStampGroupId; int _currentVocId; diff --git a/engines/voyeur/voyeur_game.cpp b/engines/voyeur/voyeur_game.cpp index a95355e8e0..425686952e 100644 --- a/engines/voyeur/voyeur_game.cpp +++ b/engines/voyeur/voyeur_game.cpp @@ -53,7 +53,7 @@ void VoyeurEngine::playStamp() { _mainThread->parsePlayCommands(); - bool flag = breakFlag = (_voy._field478 & 2) != 0; + bool flag = breakFlag = (_voy._eventFlags & EVTFLAG_2) != 0; switch (_voy._field470) { case 5: @@ -65,19 +65,19 @@ void VoyeurEngine::playStamp() { _voy._aptLoadMode = 140; break; case 1: - _voy._field478 &= ~1; + _voy._eventFlags &= ~EVTFLAG_1; _voy._field46E = true; _mainThread->chooseSTAMPButton(22); _voy._aptLoadMode = 143; break; case 2: - _voy._field478 &= ~1; + _voy._eventFlags &= ~EVTFLAG_1; reviewTape(); _voy._field46E = true; _voy._aptLoadMode = 142; break; case 3: - _voy._field478 &= ~1; + _voy._eventFlags &= ~EVTFLAG_1; _mainThread->chooseSTAMPButton(21); break; case 4: @@ -87,7 +87,7 @@ void VoyeurEngine::playStamp() { doGossip(); _voy._field46E = true; _voy._aptLoadMode = 141; - _voy._field478 &= ~0x100; + _voy._eventFlags &= ~EVTFLAG_100; break; default: break; @@ -133,7 +133,7 @@ void VoyeurEngine::playStamp() { if (_voy._videoEventId != -1) { playAVideoEvent(_voy._videoEventId); - _voy._field478 &= ~0x10; + _voy._eventFlags &= ~EVTFLAG_RECORDING; } _mainThread->chooseSTAMPButton(0); @@ -279,7 +279,7 @@ void VoyeurEngine::doClosingCredits() { (*_graphicsManager._vPort)->setupViewPort(NULL); _graphicsManager.setColor(1, 180, 180, 180); _graphicsManager.setColor(2, 200, 200, 200); - _eventsManager._intPtr.field38 = true; + _eventsManager._intPtr._palChanged = true; _eventsManager._intPtr._hasPalette = true; _graphicsManager._fontPtr->_curFont = _bVoy->boltEntry(0x402)._fontResource; @@ -383,7 +383,7 @@ void VoyeurEngine::doPiracy() { _graphicsManager.screenReset(); _graphicsManager.setColor(1, 0, 0, 0); _graphicsManager.setColor(2, 255, 255, 255); - _eventsManager._intPtr.field38 = true; + _eventsManager._intPtr._palChanged = true; _eventsManager._intPtr._hasPalette = true; (*_graphicsManager._vPort)->setupViewPort(NULL); (*_graphicsManager._vPort)->fillPic(1); @@ -453,7 +453,7 @@ void VoyeurEngine::reviewTape() { _graphicsManager.setColor(12, 120, 248, 120); _eventsManager.setCursorColor(128, 1); - _eventsManager._intPtr.field38 = true; + _eventsManager._intPtr._palChanged = true; _eventsManager._intPtr._hasPalette = true; _graphicsManager._fontPtr->_curFont = _bVoy->boltEntry(0x909)._fontResource; _graphicsManager._fontPtr->_fontSaveBack = false; @@ -574,17 +574,17 @@ void VoyeurEngine::reviewTape() { _eventsManager.getMouseInfo(); foundIndex = -1; } - } else if ((_voy._field478 & 0x40) && _voy._viewBounds->left == pt.x && + } else if ((_voy._eventFlags & EVTFLAG_40) && _voy._viewBounds->left == pt.x && _voy._viewBounds->bottom == pt.y) { foundIndex = 999; - } else if ((_voy._field478 & 0x40) && _voy._viewBounds->left == pt.x && + } else if ((_voy._eventFlags & EVTFLAG_40) && _voy._viewBounds->left == pt.x && _voy._viewBounds->top == pt.y) { foundIndex = 998; } else { _eventsManager.setCursorColor(128, (foundIndex == -1) ? 0 : 1); } - _eventsManager._intPtr.field38 = true; + _eventsManager._intPtr._palChanged = true; _eventsManager._intPtr._hasPalette = true; if (_eventsManager._mouseClicked || _eventsManager._mouseUnk) { @@ -635,7 +635,7 @@ void VoyeurEngine::reviewTape() { pt = _eventsManager.getMousePos(); if (_eventsManager._mouseClicked && _voy._viewBounds->left == pt.x && - (_voy._field478 & 0x40) && _eventsManager._rightClick) { + (_voy._eventFlags & EVTFLAG_40) && _eventsManager._rightClick) { WRITE_LE_UINT32(_controlPtr->_ptr + 4, (pt.y / 60) + 1); foundIndex = -1; _eventsManager._rightClick = 0; @@ -683,7 +683,7 @@ void VoyeurEngine::reviewTape() { _eventsManager._intPtr.field1E = 1; _eventsManager._intPtr.field1A = 0; - _voy._field478 &= ~1; + _voy._eventFlags &= ~EVTFLAG_1; // Play suond for the given duration _soundManager.setVOCOffset(_voy._vocSecondsOffset); @@ -697,7 +697,7 @@ void VoyeurEngine::reviewTape() { _eventsManager.delay(10); } - _voy._field478 |= 1; + _voy._eventFlags |= EVTFLAG_1; _soundManager.stopVOCPlay(); _bVoy->freeBoltGroup(0x7F00); break; @@ -902,11 +902,11 @@ void VoyeurEngine::playAVideoEvent(int eventIndex) { _audioVideoId = evt._audioVideoId; _voy._vocSecondsOffset = evt._computerOn; _eventsManager._videoDead = evt._dead; - _voy._field478 &= ~1; + _voy._eventFlags &= ~EVTFLAG_1; playAVideoDuration(_audioVideoId, evt._computerOff); - _voy._field478 |= 1; + _voy._eventFlags |= EVTFLAG_1; if (_eventsManager._videoDead != -1) { _bVoy->freeBoltGroup(0xE00); _eventsManager._videoDead = -1; @@ -1023,7 +1023,7 @@ void VoyeurEngine::makeViewFinder() { _graphicsManager.setColor(243, 105, 105, 105); _graphicsManager.setColor(palOffset + 241, 219, 235, 235); - _eventsManager._intPtr.field38 = true; + _eventsManager._intPtr._palChanged = true; _eventsManager._intPtr._hasPalette = true; } @@ -1283,7 +1283,7 @@ void VoyeurEngine::doTimeBar(bool force) { (*_graphicsManager._vPort)->sFillBox(6, fullHeight - 92); if (height > 0) { _graphicsManager.setColor(215, 238, 238, 238); - _eventsManager._intPtr.field38 = true; + _eventsManager._intPtr._palChanged = true; _eventsManager._intPtr._hasPalette = true; _graphicsManager._drawPtr->_penColor = 215; @@ -1305,7 +1305,7 @@ void VoyeurEngine::flashTimeBar(){ else _graphicsManager.setColor(240, 220, 220, 220); - _eventsManager._intPtr.field38 = true; + _eventsManager._intPtr._palChanged = true; _eventsManager._intPtr._hasPalette = true; _flashTimeFlag = !_flashTimeFlag; } -- cgit v1.2.3 From 46593461d2b860b63d63b769100e65761e7ad8d7 Mon Sep 17 00:00:00 2001 From: johndoe123 Date: Sun, 2 Feb 2014 12:11:14 +0100 Subject: BBVS: Fix detection - Use AD_ENTRY1 macro - Use the correct game name in bbvsGames --- engines/bbvs/detection.cpp | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/engines/bbvs/detection.cpp b/engines/bbvs/detection.cpp index 698380dfc1..98565c8e78 100644 --- a/engines/bbvs/detection.cpp +++ b/engines/bbvs/detection.cpp @@ -30,7 +30,7 @@ #include "graphics/thumbnail.h" static const PlainGameDescriptor bbvsGames[] = { - { "bbvs", "Bbvs" }, + { "bbvs", "Beavis and Butthead in Virtual Stupidity" }, { 0, 0 } }; @@ -38,12 +38,13 @@ namespace Bbvs { static const ADGameDescription gameDescriptions[] = { { - "bbvs", "", - { - {"game0001.vnm", 0, "637e5411751c7065bc385dd73d224561", 64004}, - AD_LISTEND - }, - Common::EN_ANY, Common::kPlatformWindows, ADGF_NO_FLAGS, GUIO0() + "bbvs", + 0, + AD_ENTRY1s("game0001.vnm", "637e5411751c7065bc385dd73d224561", 64004), + Common::EN_ANY, + Common::kPlatformWindows, + ADGF_NO_FLAGS, + GUIO0() }, AD_TABLE_END_MARKER -- cgit v1.2.3 From d0690dfbb12247ef0a04048b5b41c2a0510f8338 Mon Sep 17 00:00:00 2001 From: johndoe123 Date: Sun, 2 Feb 2014 12:14:05 +0100 Subject: BBVS: Remove debug output code from GameModule methods --- engines/bbvs/gamemodule.cpp | 130 -------------------------------------------- 1 file changed, 130 deletions(-) diff --git a/engines/bbvs/gamemodule.cpp b/engines/bbvs/gamemodule.cpp index 97522abb73..d6343084ab 100644 --- a/engines/bbvs/gamemodule.cpp +++ b/engines/bbvs/gamemodule.cpp @@ -25,8 +25,6 @@ namespace Bbvs { -//#define DEBUG_DUMP - GameModule::GameModule() : _bgSpriteCount(0), _bgSpriteIndices(0), _bgSpritePriorities(0), _walkRectsCount(0), _walkRects(0), _sceneExitsCount(0), _sceneExits(0), _bgObjectsCount(0), _bgObjects(0), @@ -273,12 +271,6 @@ void GameModule::loadBgSprites(Common::SeekableReadStream &s) { for (int i = 0; i < _bgSpriteCount; ++i) _bgSpritePriorities[i] = s.readUint16LE(); -#ifdef DEBUG_DUMP - for (int i = 0; i < _bgSpriteCount; ++i) { - debug(0, "BgSprite(%d) %04X %d", i, _bgSpriteIndices[i], _bgSpritePriorities[i]); - } -#endif - } void GameModule::loadCameraInits(Common::SeekableReadStream &s) { @@ -293,21 +285,6 @@ void GameModule::loadCameraInits(Common::SeekableReadStream &s) { for (int j = 0; j < 8; ++j) cameraInit.rects[j] = readRect(s); } - -#ifdef DEBUG_DUMP - for (int i = 0; i < 4; ++i) { - CameraInit &cameraInit = _cameraInits[i]; - debug(0, "CameraInit(%d) (%d, %d)", i, cameraInit.cameraPos.x, cameraInit.cameraPos.y); - debugN(0, "CameraInit(%d) ", i); - for (int j = 0; j < 8; ++j) - debugN(0, "%d ", cameraInit.cameraLinks[j]); - debug(0, "."); - for (int j = 0; j < 8; ++j) - debug(0, "CameraInit(%d) (%d, %d, %d, %d)", i, cameraInit.rects[j].left, - cameraInit.rects[j].top, cameraInit.rects[j].right, cameraInit.rects[j].bottom); - } -#endif - } void GameModule::loadWalkRects(Common::SeekableReadStream &s) { @@ -320,10 +297,6 @@ void GameModule::loadWalkRects(Common::SeekableReadStream &s) { s.seek(offs); for (int i = 0; i < _walkRectsCount; ++i) _walkRects[i] = readRect(s); - -#ifdef DEBUG_DUMP -#endif - } void GameModule::loadSceneExits(Common::SeekableReadStream &s) { @@ -338,14 +311,6 @@ void GameModule::loadSceneExits(Common::SeekableReadStream &s) { _sceneExits[i].rect = readRect(s); _sceneExits[i].newModuleNum = s.readUint32LE(); } - -#ifdef DEBUG_DUMP - for (int i = 0; i < _sceneExitsCount; ++i) { - debug(0, "SceneExit(%d) (%d, %d, %d, %d) %d", i, _sceneExits[i].rect.left, _sceneExits[i].rect.top, - _sceneExits[i].rect.right, _sceneExits[i].rect.bottom, _sceneExits[i].newModuleNum); - } -#endif - } void GameModule::loadBgObjects(Common::SeekableReadStream &s) { @@ -360,14 +325,6 @@ void GameModule::loadBgObjects(Common::SeekableReadStream &s) { s.read(_bgObjects[i].name, 20); _bgObjects[i].rect = readRect(s); } - -#ifdef DEBUG_DUMP - for (int i = 0; i < _bgObjectsCount; ++i) { - debug(0, "BgObject(%d) [%s] (%d, %d, %d, %d)", i, _bgObjects[i].name, _bgObjects[i].rect.left, - _bgObjects[i].rect.top, _bgObjects[i].rect.right, _bgObjects[i].rect.bottom); - } -#endif - } void GameModule::loadAnimations(Common::SeekableReadStream &s) { @@ -402,21 +359,6 @@ void GameModule::loadAnimations(Common::SeekableReadStream &s) { for (int j = 0; j < anim.frameCount; ++j) anim.frameRects2[j] = readRect(s); } - -#ifdef DEBUG_DUMP - for (int i = 0; i < _animationsCount; ++i) { - Animation &anim = _animations[i]; - debug(0, "Animation(%d) frameCount: %d", i, anim.frameCount); - for (int j = 0; j < anim.frameCount; ++j) { - debug(0, "Frame %d: %04X %d (%d, %d, %d, %d) (%d, %d, %d, %d) ", - j, anim.frameSpriteIndices[j], anim.frameTicks[j], - anim.frameRects1[j].left, anim.frameRects1[j].top, anim.frameRects1[j].right, - anim.frameRects1[j].bottom, anim.frameRects2[j].left, anim.frameRects2[j].top, - anim.frameRects2[j].right, anim.frameRects2[j].bottom); - } - } -#endif - } void GameModule::loadSceneObjectDefs(Common::SeekableReadStream &s) { @@ -433,16 +375,6 @@ void GameModule::loadSceneObjectDefs(Common::SeekableReadStream &s) { for (int j = 0; j < 16; ++j) _sceneObjectDefs[i].animIndices[j] = s.readUint32LE(); } - -#ifdef DEBUG_DUMP - for (int i = 0; i < _sceneObjectDefsCount; ++i) { - debugN(0, "SceneObjectDef(%d) [%s] %d ", i, _sceneObjectDefs[i].name, _sceneObjectDefs[i].walkSpeed); - for (int j = 0; j < 16; ++j) - debugN(0, " %d", _sceneObjectDefs[i].animIndices[j]); - debug(0, "."); - } -#endif - } void GameModule::loadSceneObjectInits(Common::SeekableReadStream &s) { @@ -460,17 +392,6 @@ void GameModule::loadSceneObjectInits(Common::SeekableReadStream &s) { _sceneObjectInits[i].x = s.readUint16LE(); _sceneObjectInits[i].y = s.readUint16LE(); } - -#ifdef DEBUG_DUMP - for (int i = 0; i < _sceneObjectInitsCount; ++i) { - debug(0, "SceneObjectInit(%d) %d %d (%d, %d)", i, _sceneObjectInits[i].sceneObjectIndex, - _sceneObjectInits[i].animIndex, _sceneObjectInits[i].x, _sceneObjectInits[i].y); - for (int j = 0; j < 8; ++j) - debug(0, " condition(%d) %d %d %d", j, _sceneObjectInits[i].conditions.conditions[j].cond, - _sceneObjectInits[i].conditions.conditions[j].value1, _sceneObjectInits[i].conditions.conditions[j].value2); - } -#endif - } void GameModule::loadActions(Common::SeekableReadStream &s) { @@ -502,25 +423,6 @@ void GameModule::loadActions(Common::SeekableReadStream &s) { _actions[i].actionCommands.push_back(actionCommand); } } - -#ifdef DEBUG_DUMP - for (int i = 0; i < _actionsCount; ++i) { - debug(0, "Action(%d)", i); - for (int j = 0; j < 8; ++j) - debug(0, " condition(%d) %d %d %d", j, _actions[i].conditions.conditions[j].cond, - _actions[i].conditions.conditions[j].value1, _actions[i].conditions.conditions[j].value2); - for (int j = 0; j < 8; ++j) - debug(0, " result(%d) %d %d %d", j, _actions[i].results.actionResults[j].kind, - _actions[i].results.actionResults[j].value1, _actions[i].results.actionResults[j].value2); - for (uint j = 0; j < _actions[i].actionCommands.size(); ++j) { - ActionCommand &actionCommand = _actions[i].actionCommands[j]; - debug(0, " entry(%d) cmd: %d sceneObjectIndex: %d timeStamp: %d walkDest: (%d, %d) param: %d", j, actionCommand.cmd, actionCommand.sceneObjectIndex, - actionCommand.timeStamp, actionCommand.walkDest.x, actionCommand.walkDest.y, - actionCommand.param); - } - } -#endif - } void GameModule::loadGuiSpriteIndices(Common::SeekableReadStream &s) { @@ -531,10 +433,6 @@ void GameModule::loadGuiSpriteIndices(Common::SeekableReadStream &s) { s.seek(offs); for (int i = 0; i < kGuiSpriteCount; ++i) _guiSpriteIndices[i] = s.readUint32LE(); - -#ifdef DEBUG_DUMP -#endif - } void GameModule::loadInventoryItemSpriteIndices(Common::SeekableReadStream &s) { @@ -545,10 +443,6 @@ void GameModule::loadInventoryItemSpriteIndices(Common::SeekableReadStream &s) { s.seek(offs); for (int i = 0; i < kInventoryItemSpriteCount; ++i) _inventoryItemSpriteIndices[i] = s.readUint32LE(); - -#ifdef DEBUG_DUMP -#endif - } void GameModule::loadInventoryItemInfos(Common::SeekableReadStream &s) { @@ -564,10 +458,6 @@ void GameModule::loadInventoryItemInfos(Common::SeekableReadStream &s) { _inventoryItemInfos[i].height = s.readUint16LE(); s.skip(8); // Unused } - -#ifdef DEBUG_DUMP -#endif - } void GameModule::loadDialogItemSpriteIndices(Common::SeekableReadStream &s) { @@ -579,10 +469,6 @@ void GameModule::loadDialogItemSpriteIndices(Common::SeekableReadStream &s) { for (int i = 0; i < kDialogItemSpriteCount; ++i) { _dialogItemSpriteIndices[i] = s.readUint32LE(); } - -#ifdef DEBUG_DUMP -#endif - } void GameModule::loadSceneSounds(Common::SeekableReadStream &s) { @@ -597,14 +483,6 @@ void GameModule::loadSceneSounds(Common::SeekableReadStream &s) { _sceneSounds[i].conditions = readConditions(s); _sceneSounds[i].soundNum = s.readUint32LE(); } - -#ifdef DEBUG_DUMP - debug("_sceneSoundsCount: %d", _sceneSoundsCount); - for (int i = 0; i < _sceneSoundsCount; ++i) { - debug("sound(%d) soundNum: %d", i, _sceneSounds[i].soundNum); - } -#endif - } void GameModule::loadPreloadSounds(Common::SeekableReadStream &s) { @@ -617,14 +495,6 @@ void GameModule::loadPreloadSounds(Common::SeekableReadStream &s) { s.seek(offs); for (uint i = 0; i < _preloadSoundsCount; ++i) _preloadSounds[i] = s.readUint32LE(); - -#ifdef DEBUG_DUMP - debug("_preloadSoundsCount: %d", _preloadSoundsCount); - for (uint i = 0; i < _preloadSoundsCount; ++i) { - debug("preloadSound(%d) soundNum: %d", i, _preloadSounds[i]); - } -#endif - } } // End of namespace Bbvs -- cgit v1.2.3 From 5c93ecb130158da0f35ca70f8e251775ad4dc80e Mon Sep 17 00:00:00 2001 From: johndoe123 Date: Sun, 2 Feb 2014 12:14:38 +0100 Subject: BBVS: Set the best video mode when playing a video instead of a hardcoded one --- engines/bbvs/videoplayer.cpp | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/engines/bbvs/videoplayer.cpp b/engines/bbvs/videoplayer.cpp index 0b6f011513..85cc5ed544 100644 --- a/engines/bbvs/videoplayer.cpp +++ b/engines/bbvs/videoplayer.cpp @@ -37,13 +37,11 @@ void BbvsEngine::playVideo(int videoNum) { videoFilename = Common::String::format("vid/video%03d.avi", videoNum - 1); // Set the correct video mode - Common::List formats; - // RGB565 16bit - Graphics::PixelFormat pixelFormat(2, 5, 6, 5, 0, 11, 5, 0, 0); - formats.push_back(pixelFormat); - initGraphics(320, 240, false, formats); - if (_system->getScreenFormat().bytesPerPixel != pixelFormat.bytesPerPixel) - error("Could not switch screen format for the video"); + initGraphics(320, 240, false, 0); + if (_system->getScreenFormat().bytesPerPixel == 1) { + warning("Couldn't switch to a RGB color video mode to play a video."); + return; + } Video::VideoDecoder *videoDecoder = new Video::AVIDecoder(); videoDecoder->loadFile(videoFilename); -- cgit v1.2.3 From a2b77b665e7af8c5b18494ccc7af2522cbac6380 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Sun, 2 Feb 2014 12:48:46 -0500 Subject: VOYEUR: Fix for loading in blocks from file correctly when decompressing data --- engines/voyeur/files.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/engines/voyeur/files.cpp b/engines/voyeur/files.cpp index b5f6fb906a..05e3fee74f 100644 --- a/engines/voyeur/files.cpp +++ b/engines/voyeur/files.cpp @@ -163,14 +163,14 @@ byte *BoltFilesState::decompress(byte *buf, int size, int mode) { #undef NEXT_BYTE void BoltFilesState::nextBlock() { - if (&_curLibPtr->_file != _curFd || _curFilePosition != _bufferEnd) + if (&_curLibPtr->_file != _curFd || _curFd->pos() != _bufferEnd) _curLibPtr->_file.seek(_bufferEnd); _curFd = &_curLibPtr->_file; _bufferBegin = _bufferEnd; int bytesRead = _curFd->read(_bufStart, _bufSize); - _bufferEnd = _curFilePosition = _bufferBegin + bytesRead; + _bufferEnd = _curFilePosition = _curFd->pos(); _bytesLeft = bytesRead - 1; _bufPos = _bufStart; } -- cgit v1.2.3 From a518102b21c7704c5d67a764b20973188e881932 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Sun, 2 Feb 2014 14:15:59 -0500 Subject: VOYEUR: Fix for crash in playAudio --- engines/voyeur/voyeur.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/engines/voyeur/voyeur.cpp b/engines/voyeur/voyeur.cpp index 9f941bc1ac..2c6e5eb15f 100644 --- a/engines/voyeur/voyeur.cpp +++ b/engines/voyeur/voyeur.cpp @@ -591,9 +591,9 @@ void VoyeurEngine::playAVideoDuration(int videoId, int duration) { void VoyeurEngine::playAudio(int audioId) { _bVoy->getBoltGroup(0x7F00); _graphicsManager._backgroundPage = _bVoy->boltEntry(0x7F00 + - BLIND_TABLE[audioId])._picResource; + BLIND_TABLE[audioId] * 2)._picResource; _graphicsManager._backColors = _bVoy->boltEntry(0x7F01 + - BLIND_TABLE[audioId])._cMapResource; + BLIND_TABLE[audioId] * 2)._cMapResource; (*_graphicsManager._vPort)->setupViewPort(); _graphicsManager._backColors->startFade(); -- cgit v1.2.3 From d545b5cb75b31fc72ea14e508c04a60499c4cc4d Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Sun, 2 Feb 2014 14:41:18 -0500 Subject: VOYEUR: Fix incorrect loop terminator in room data load loop --- engines/voyeur/files_threads.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/engines/voyeur/files_threads.cpp b/engines/voyeur/files_threads.cpp index 5ea450e30f..409031d6e0 100644 --- a/engines/voyeur/files_threads.cpp +++ b/engines/voyeur/files_threads.cpp @@ -181,7 +181,7 @@ void ThreadResource::getButtonsFlags() { void ThreadResource::getField1CE() { int idx = 0; - for (const byte *p = _threadInfoPtr; *p++ != 0x49; p = getNextRecord(p)) { + for (const byte *p = _threadInfoPtr; *p++ != 0x4A; p = getNextRecord(p)) { assert(idx < 47); _field1CE[idx++] = getRecordOffset(p); _field1CE[idx] = NULL; -- cgit v1.2.3 From 3fab3ebdcf992e505be4cdd7b60fdea57754049a Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Sun, 2 Feb 2014 15:06:53 -0500 Subject: VOYEUR: Fix clearing computer screen when viewing a computer event --- engines/voyeur/voyeur_game.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/engines/voyeur/voyeur_game.cpp b/engines/voyeur/voyeur_game.cpp index 425686952e..1e81920446 100644 --- a/engines/voyeur/voyeur_game.cpp +++ b/engines/voyeur/voyeur_game.cpp @@ -1221,7 +1221,7 @@ int VoyeurEngine::doComputerText(int maxLen) { yp += 10; } else { _eventsManager.delay(90); - _graphicsManager._drawPtr->_pos = Common::Point(54, 96); + _graphicsManager._drawPtr->_pos = Common::Point(96, 54); _graphicsManager._drawPtr->_penColor = 255; (*_graphicsManager._vPort)->sFillBox(196, 124); yp = 60; -- cgit v1.2.3 From d536c0afb2e09e106b94554d484e2930e421d472 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Sun, 2 Feb 2014 15:15:30 -0500 Subject: VOYEUR: Fix another incorrect rectangle fill when viewing computer text --- engines/voyeur/voyeur_game.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/engines/voyeur/voyeur_game.cpp b/engines/voyeur/voyeur_game.cpp index 1e81920446..e986118132 100644 --- a/engines/voyeur/voyeur_game.cpp +++ b/engines/voyeur/voyeur_game.cpp @@ -1204,7 +1204,7 @@ int VoyeurEngine::doComputerText(int maxLen) { if (c == '\0') { if (showEnd) { _eventsManager.delay(90); - _graphicsManager._drawPtr->_pos = Common::Point(54, 96); + _graphicsManager._drawPtr->_pos = Common::Point(96, 54); _graphicsManager._drawPtr->_penColor = 254; (*_graphicsManager._vPort)->sFillBox(196, 124); _graphicsManager._fontPtr->_justify = ALIGN_LEFT; -- cgit v1.2.3 From 63a06bc3f74f4951d7a0c12601a54367f15af36f Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Sun, 2 Feb 2014 17:33:42 -0500 Subject: VOYEUR: Refactored code for showing ending news into separate method --- engines/voyeur/files_threads.cpp | 48 +------------------------------- engines/voyeur/graphics.cpp | 29 +++++++++++++++++-- engines/voyeur/voyeur.cpp | 60 +++++++++++++++++++++++++++++++++++++++- engines/voyeur/voyeur.h | 5 ++++ 4 files changed, 92 insertions(+), 50 deletions(-) diff --git a/engines/voyeur/files_threads.cpp b/engines/voyeur/files_threads.cpp index 409031d6e0..36b3376c32 100644 --- a/engines/voyeur/files_threads.cpp +++ b/engines/voyeur/files_threads.cpp @@ -647,53 +647,7 @@ void ThreadResource::parsePlayCommands() { break; case 15: - _vm->_playStampGroupId = (_vm->_voy._field4382 - 1) * 8 + 0x7700; - _vm->_voy._field47A = ((READ_LE_UINT16(_vm->_controlPtr->_ptr + 4) - - 1) << 8) + 0x7B00; - - pic = _vm->_bVoy->boltEntry(_vm->_playStampGroupId)._picResource; - _cmd14Pal = _vm->_bVoy->boltEntry(_vm->_playStampGroupId + 1)._cMapResource; - - (*_vm->_graphicsManager._vPort)->setupViewPort(pic); - _cmd14Pal->startFade(); - _vm->flipPageAndWaitForFade(); - - _vm->_eventsManager.getMouseInfo(); - - for (int idx = 1; idx < 4; ++idx) { - if (idx == 3) { - pic = _vm->_bVoy->boltEntry(_vm->_voy._field47A)._picResource; - _cmd14Pal = _vm->_bVoy->boltEntry(_vm->_voy._field47A + 1)._cMapResource; - } else { - pic = _vm->_bVoy->boltEntry(_vm->_playStampGroupId + idx * 2)._picResource; - _cmd14Pal = _vm->_bVoy->boltEntry(_vm->_playStampGroupId + idx * 2 + 1)._cMapResource; - } - - (*_vm->_graphicsManager._vPort)->setupViewPort(pic); - _cmd14Pal->startFade(); - _vm->flipPageAndWaitForFade(); - - _vm->_bVoy->freeBoltMember(_vm->_playStampGroupId + (idx - 1) * 2); - _vm->_bVoy->freeBoltMember(_vm->_playStampGroupId + (idx - 1) * 2 + 1); - - Common::String fname = Common::String::format("news%d.voc", idx); - - while (!_vm->shouldQuit() && !_vm->_eventsManager._mouseClicked && - _vm->_soundManager.getVOCStatus()) - _vm->_eventsManager.delay(1); - - _vm->_soundManager.stopVOCPlay(); - if (idx == 3) - _vm->_eventsManager.delay(3); - - if (_vm->shouldQuit() || _vm->_eventsManager._mouseClicked) - break; - } - - _vm->_bVoy->freeBoltGroup(_vm->_playStampGroupId); - _vm->_bVoy->freeBoltGroup(_vm->_voy._field47A); - _vm->_playStampGroupId = -1; - _vm->_voy._field47A = -1; + _vm->showEndingNews(); break; case 16: diff --git a/engines/voyeur/graphics.cpp b/engines/voyeur/graphics.cpp index bf73822c52..958eb3103b 100644 --- a/engines/voyeur/graphics.cpp +++ b/engines/voyeur/graphics.cpp @@ -460,9 +460,34 @@ error("TODO: var22/var24/var2C not initialised before use?"); srcP = srcImgData; if (isClipped) { - // loc_26424 - error("TODO: sDrawPic"); + var22 = (var22 < 0) ? -var22 : 0; + var26 = var22 + width2; + var24 = (var24 < 0) ? -var24 : 0; + width2 = srcPic->_bounds.width(); + height1 = var24 + height1; + + for (int yp = 0; yp < height1; ++yp) { + byteVal2 = 0; + for (int xp = 0; xp < width2; ++xp) { + if (!byteVal2) { + pixel = *srcP++; + if (pixel & 0x80) { + pixel = 0x7F; + byteVal2 = *srcP++; + if (!byteVal2) + byteVal2 = width2; + } + } + + if (yp >= var24 && xp >= var22 && xp < var26) { + *destP++ = pixel; + } + } + + if (yp >= var24) + destP += widthDiff2; + } } else { // loc_26543 for (int yp = 0; yp < height1; ++yp) { diff --git a/engines/voyeur/voyeur.cpp b/engines/voyeur/voyeur.cpp index 2c6e5eb15f..d4a947555c 100644 --- a/engines/voyeur/voyeur.cpp +++ b/engines/voyeur/voyeur.cpp @@ -562,7 +562,8 @@ void VoyeurEngine::playAVideoDuration(int videoId, int duration) { Common::copy((const byte *)frame->getPixels(), (const byte *)frame->getPixels() + 320 * 200, (byte *)_graphicsManager._screenSurface.getPixels()); - _graphicsManager.drawDot(); + if (_voy._eventFlags & EVTFLAG_RECORDING) + _graphicsManager.drawDot(); } if (decoder.hasDirtyPalette()) { @@ -675,6 +676,63 @@ void VoyeurEngine::flipPageAndWaitForFade() { _eventsManager.delay(1); } +void VoyeurEngine::showEndingNews() { + _playStampGroupId = (_voy._field4382 - 1) * 256 + 0x7700; + _voy._field47A = (READ_LE_UINT16(_controlPtr->_ptr + 4) + - 1) * 256 + 0x7B00; + + _bVoy->getBoltGroup(_playStampGroupId); + _bVoy->getBoltGroup(_voy._field47A); + + PictureResource *pic = _bVoy->boltEntry(_playStampGroupId)._picResource; + CMapResource *pal = _bVoy->boltEntry(_playStampGroupId + 1)._cMapResource; + + (*_graphicsManager._vPort)->setupViewPort(pic); + pal->startFade(); + flipPageAndWaitForFade(); + + _eventsManager.getMouseInfo(); + + for (int idx = 1; idx < 4; ++idx) { + if (idx == 3) { + pic = _bVoy->boltEntry(_voy._field47A)._picResource; + pal = _bVoy->boltEntry(_voy._field47A + 1)._cMapResource; + } else { + pic = _bVoy->boltEntry(_playStampGroupId + idx * 2)._picResource; + pal = _bVoy->boltEntry(_playStampGroupId + idx * 2 + 1)._cMapResource; + } + + (*_graphicsManager._vPort)->setupViewPort(pic); + pal->startFade(); + flipPageAndWaitForFade(); + + _bVoy->freeBoltMember(_playStampGroupId + (idx - 1) * 2); + _bVoy->freeBoltMember(_playStampGroupId + (idx - 1) * 2 + 1); + + Common::String fname = Common::String::format("news%d.voc", idx); + _soundManager.startVOCPlay(fname); + + _eventsManager.getMouseInfo(); + while (!shouldQuit() && !_eventsManager._mouseClicked && + _soundManager.getVOCStatus()) { + _eventsManager.delay(1); + _eventsManager.getMouseInfo(); + } + + _soundManager.stopVOCPlay(); + if (idx == 3) + _eventsManager.delay(3); + + if (shouldQuit() || _eventsManager._mouseClicked) + break; + } + + _bVoy->freeBoltGroup(_playStampGroupId); + _bVoy->freeBoltGroup(_voy._field47A); + _playStampGroupId = -1; + _voy._field47A = -1; +} + /*------------------------------------------------------------------------*/ Common::String VoyeurEngine::generateSaveName(int slot) { diff --git a/engines/voyeur/voyeur.h b/engines/voyeur/voyeur.h index 907ebcf07f..a0d2e95948 100644 --- a/engines/voyeur/voyeur.h +++ b/engines/voyeur/voyeur.h @@ -286,6 +286,11 @@ public: * Returns the string for the current in-game time of day */ Common::String getTimeOfDay(); + + /** + * Show the ending sequence of the arrest + */ + void showEndingNews(); }; #define VOYEUR_SAVEGAME_VERSION 1 -- cgit v1.2.3 From 9c3216c301503c1fc42d020b293d36781d6d20a4 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Sun, 2 Feb 2014 18:22:34 -0500 Subject: VOYEUR: Graphical fixes for clipped variations within sDrawPic --- engines/voyeur/graphics.cpp | 102 +++++++++++++++++++++----------------------- 1 file changed, 48 insertions(+), 54 deletions(-) diff --git a/engines/voyeur/graphics.cpp b/engines/voyeur/graphics.cpp index 958eb3103b..af83dbff31 100644 --- a/engines/voyeur/graphics.cpp +++ b/engines/voyeur/graphics.cpp @@ -140,6 +140,7 @@ void GraphicsManager::sDrawPic(DisplayResource *srcDisplay, DisplayResource *des bool isClipped = false; int var26; byte pixel = 0; + int runLength; byte *srcImgData, *destImgData; byte *srcP, *destP; @@ -375,38 +376,30 @@ void GraphicsManager::sDrawPic(DisplayResource *srcDisplay, DisplayResource *des srcP = srcImgData; if (isClipped) { // loc_26199 -error("TODO: var22/var24/var2C not initialised before use?"); - if (var22 < 0) { - var22 = -var22; - } else { - var22 = 0; - } + var22 = (var22 < 0) ? -var22 : 0; var26 = var22 + width2; - if (var24 < 0) { - var24 = -var24; - } else { - var24 = 0; - } + var24 = (var24 < 0) ? -var24 : 0; width2 = srcPic->_bounds.width(); height1 = var24 + height1; - byteVal = 0; for (int yp = 0; yp < height1; ++yp) { - for (int xp = 0; xp < width2; ++xp) { - if (byteVal2 <= 0) { - byteVal = *srcP++; - if (byteVal & 0x80) { - byteVal &= 0x7f; - byteVal2 = *srcP++; - if (!byteVal2) - byteVal2 = width2; + runLength = 0; + + for (int xp = 0; xp < width2; ++xp, --runLength) { + if (runLength <= 0) { + pixel = *srcP++; + if (pixel & 0x80) { + pixel &= 0x7f; + runLength = *srcP++; + if (!runLength) + runLength = width2; } } if (yp >= var24 && xp >= var22 && xp < var26) { - if (byteVal > 0) - *destP = byteVal; + if (pixel > 0) + *destP = pixel; ++destP; } } @@ -460,6 +453,7 @@ error("TODO: var22/var24/var2C not initialised before use?"); srcP = srcImgData; if (isClipped) { + // loc_26424 var22 = (var22 < 0) ? -var22 : 0; var26 = var22 + width2; var24 = (var24 < 0) ? -var24 : 0; @@ -467,16 +461,16 @@ error("TODO: var22/var24/var2C not initialised before use?"); height1 = var24 + height1; for (int yp = 0; yp < height1; ++yp) { - byteVal2 = 0; - for (int xp = 0; xp < width2; ++xp) { - if (!byteVal2) { + runLength = 0; + for (int xp = 0; xp < width2; ++xp, --runLength) { + if (runLength <= 0) { pixel = *srcP++; if (pixel & 0x80) { - pixel = 0x7F; - byteVal2 = *srcP++; + pixel &= 0x7F; + runLength = *srcP++; - if (!byteVal2) - byteVal2 = width2; + if (!runLength) + runLength = width2; } } @@ -591,15 +585,15 @@ error("TODO: var22/var24/var2C not initialised before use?"); height1 = var24 + height1; for (int yp = 0; yp < height1; ++yp) { - int byteVal2 = 0; - for (int xp = 0; xp < width2; ++xp, --byteVal2) { - if (byteVal2 <= 0) { + int runLength = 0; + for (int xp = 0; xp < width2; ++xp, --runLength) { + if (runLength <= 0) { pixel = *srcP++; if (pixel & 0x80) { pixel &= 0x7F; - byteVal2 = *srcP++; - if (!byteVal2) - byteVal2 = width2; + runLength = *srcP++; + if (!runLength) + runLength = width2; } } @@ -664,16 +658,16 @@ error("TODO: var22/var24/var2C not initialised before use?"); height1 = var24 + height1; for (int yp = 0; yp < height1; ++yp) { - byteVal2 = 0; - for (int xp = 0; xp < width2; ++xp) { - if (!byteVal2) { + runLength = 0; + for (int xp = 0; xp < width2; ++xp, --runLength) { + if (runLength <= 0) { pixel = *srcP++; if (pixel & 0x80) { - pixel = 0x7F; - byteVal2 = *srcP++; + pixel &= 0x7F; + runLength = *srcP++; - if (!byteVal2) - byteVal2 = width2; + if (!runLength) + runLength = width2; } } @@ -736,16 +730,16 @@ error("TODO: var22/var24/var2C not initialised before use?"); height1 = var24 + height1; for (int yp = 0; yp < height1; ++yp) { - byteVal2 = 0; + runLength = 0; - for (int xp = 0; xp < width2; ++xp, --byteVal2) { - if (!byteVal2) { + for (int xp = 0; xp < width2; ++xp, --runLength) { + if (runLength <= 0) { pixel = *srcP++; if (pixel & 0x80) { pixel &= 0x7F; - byteVal2 = *srcP++; - if (!byteVal2) - byteVal2 = width2; + runLength = *srcP++; + if (!runLength) + runLength = width2; } } @@ -817,16 +811,16 @@ error("TODO: var22/var24/var2C not initialised before use?"); height1 = var24 + height1; for (int yp = 0; yp < height1; ++yp) { - byteVal2 = 0; + runLength = 0; - for (int xp = 0; xp < width2; ++xp, --byteVal2) { - if (!byteVal2) { + for (int xp = 0; xp < width2; ++xp, --runLength) { + if (runLength <= 0) { pixel = *srcP++; if (pixel & 0x80) { pixel &= 0x7F; - byteVal2 = *srcP++; - if (!byteVal2) - byteVal2 = width2; + runLength = *srcP++; + if (!runLength) + runLength = width2; } } -- cgit v1.2.3 From 2b69c5d07cb72b97690517cdf1f9d3d40f172029 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Sun, 2 Feb 2014 18:42:45 -0500 Subject: VOYEUR: Fix issue with time not progressing, and renamed associated enum member --- engines/voyeur/data.h | 2 +- engines/voyeur/events.cpp | 2 +- engines/voyeur/files_threads.cpp | 26 +++++++++++++------------- engines/voyeur/voyeur.cpp | 10 +++++----- engines/voyeur/voyeur_game.cpp | 14 +++++++------- 5 files changed, 27 insertions(+), 27 deletions(-) diff --git a/engines/voyeur/data.h b/engines/voyeur/data.h index 8b561e9a29..2dc1221b9c 100644 --- a/engines/voyeur/data.h +++ b/engines/voyeur/data.h @@ -34,7 +34,7 @@ namespace Voyeur { enum VoyeurEventType { EVTYPE_VIDEO = 1, EVTYPE_AUDIO = 2, EVTYPE_EVID = 3, EVTYPE_COMPUTER = 4 }; -enum EventFlag { EVTFLAG_1 = 1, EVTFLAG_2 = 2, EVTFLAG_8 = 8, EVTFLAG_RECORDING = 0x10, +enum EventFlag { EVTFLAG_TIME_DISABLED = 1, EVTFLAG_2 = 2, EVTFLAG_8 = 8, EVTFLAG_RECORDING = 0x10, EVTFLAG_40 = 0x40, EVTFLAG_100 = 0x100 }; struct VoyeurEvent { diff --git a/engines/voyeur/events.cpp b/engines/voyeur/events.cpp index 3fe37ca22b..4734b1efa3 100644 --- a/engines/voyeur/events.cpp +++ b/engines/voyeur/events.cpp @@ -102,7 +102,7 @@ void EventsManager::startMainClockInt() { } void EventsManager::mainVoyeurIntFunc() { - if (!(_vm->_voy._eventFlags & EVTFLAG_1)) { + if (!(_vm->_voy._eventFlags & EVTFLAG_TIME_DISABLED)) { ++_vm->_voy._switchBGNum; if (_vm->_debugger._isTimeActive) { diff --git a/engines/voyeur/files_threads.cpp b/engines/voyeur/files_threads.cpp index 36b3376c32..6c39a97689 100644 --- a/engines/voyeur/files_threads.cpp +++ b/engines/voyeur/files_threads.cpp @@ -410,12 +410,12 @@ void ThreadResource::parsePlayCommands() { } else { _vm->_voy._vocSecondsOffset = _vm->_voy._RTVNum - _vm->_voy._field468; _vm->_voy.addVideoEventStart(); - _vm->_voy._eventFlags &= ~EVTFLAG_1; + _vm->_voy._eventFlags &= ~EVTFLAG_TIME_DISABLED; _vm->_voy._eventFlags |= EVTFLAG_RECORDING; _vm->playAVideo(_vm->_audioVideoId); _vm->_voy._eventFlags &= ~EVTFLAG_RECORDING; - _vm->_voy._eventFlags |= EVTFLAG_1; + _vm->_voy._eventFlags |= EVTFLAG_TIME_DISABLED; _vm->_voy.addVideoEventEnd(); _vm->_eventsManager.incrementTime(1); @@ -454,9 +454,9 @@ void ThreadResource::parsePlayCommands() { _vm->_voy._vocSecondsOffset = 0; _vm->_voy._field468 = _vm->_voy._RTVNum; - _vm->_voy._eventFlags &= ~(EVTFLAG_1 | EVTFLAG_RECORDING); + _vm->_voy._eventFlags &= ~(EVTFLAG_TIME_DISABLED | EVTFLAG_RECORDING); _vm->playAVideo(_vm->_audioVideoId); - _vm->_voy._eventFlags |= EVTFLAG_1; + _vm->_voy._eventFlags |= EVTFLAG_TIME_DISABLED; if (id != 22) { _vm->_audioVideoId = -1; @@ -1115,7 +1115,7 @@ void ThreadResource::doRoom() { voy._vocSecondsOffset = 0; vm._soundManager.startVOCPlay(vm._currentVocId); - voy._eventFlags &= ~EVTFLAG_1; + voy._eventFlags &= ~EVTFLAG_TIME_DISABLED; bool breakFlag = false; while (!vm.shouldQuit() && !breakFlag) { @@ -1248,7 +1248,7 @@ void ThreadResource::doRoom() { } } - voy._eventFlags = EVTFLAG_1; + voy._eventFlags = EVTFLAG_TIME_DISABLED; vm._eventsManager.incrementTime(1); voy._viewBounds = nullptr; voy._field437E = 0; @@ -1277,7 +1277,7 @@ int ThreadResource::doInterface() { PictureResource *pic; Common::Point pt; - _vm->_voy._eventFlags |= EVTFLAG_1; + _vm->_voy._eventFlags |= EVTFLAG_TIME_DISABLED; if (_vm->_voy._field46E) { _vm->_voy._field46E = false; return -2; @@ -1298,14 +1298,14 @@ int ThreadResource::doInterface() { _vm->initIFace(); _vm->_voy._RTVNum = _vm->_voy._RTVLimit - 4; - _vm->_voy._eventFlags &= ~EVTFLAG_1; + _vm->_voy._eventFlags &= ~EVTFLAG_TIME_DISABLED; while (!_vm->shouldQuit() && _vm->_voy._RTVNum < _vm->_voy._RTVLimit) { _vm->flashTimeBar(); _vm->_eventsManager.delayClick(1); } - _vm->_voy._eventFlags |= EVTFLAG_1; + _vm->_voy._eventFlags |= EVTFLAG_TIME_DISABLED; chooseSTAMPButton(20); parsePlayCommands(); } @@ -1327,7 +1327,7 @@ int ThreadResource::doInterface() { _vm->_graphicsManager.setColor(240, 220, 220, 220); _vm->_eventsManager._intPtr._palChanged = true; _vm->_eventsManager._intPtr._hasPalette = true; - _vm->_voy._eventFlags &= ~EVTFLAG_1; + _vm->_voy._eventFlags &= ~EVTFLAG_TIME_DISABLED; // Set the cusor PictureResource *crosshairsCursor = _vm->_bVoy->boltEntry(0x112)._picResource; @@ -1436,7 +1436,7 @@ int ThreadResource::doInterface() { _vm->checkTransition(); _vm->_eventsManager._leftClick = true; } else { - _vm->_voy._eventFlags |= EVTFLAG_1; + _vm->_voy._eventFlags |= EVTFLAG_TIME_DISABLED; chooseSTAMPButton(20); parsePlayCommands(); @@ -1448,7 +1448,7 @@ int ThreadResource::doInterface() { hotspots = &_vm->_bVoy->boltEntry(_vm->_playStampGroupId + 1)._rectResource->_entries; _vm->_eventsManager.getMouseInfo(); - _vm->_voy._eventFlags &= ~2; + _vm->_voy._eventFlags &= ~EVTFLAG_TIME_DISABLED; _vm->_eventsManager._intPtr.field1E = 1; _vm->_eventsManager._intPtr.field1A = 0; } @@ -1457,7 +1457,7 @@ int ThreadResource::doInterface() { (!_vm->_eventsManager._leftClick || regionIndex == -1)); _vm->_eventsManager.hideCursor(); - _vm->_voy._eventFlags |= EVTFLAG_1; + _vm->_voy._eventFlags |= EVTFLAG_TIME_DISABLED; _vm->_bVoy->freeBoltGroup(_vm->_playStampGroupId); if (_vm->_currentVocId != -1) _vm->_soundManager.stopVOCPlay(); diff --git a/engines/voyeur/voyeur.cpp b/engines/voyeur/voyeur.cpp index d4a947555c..27a45d8fcf 100644 --- a/engines/voyeur/voyeur.cpp +++ b/engines/voyeur/voyeur.cpp @@ -117,7 +117,7 @@ void VoyeurEngine::globalInitBolt() { assert(_graphicsManager._fontPtr->_curFont); // Setup default flags - _voy._eventFlags = EVTFLAG_1; + _voy._eventFlags = EVTFLAG_TIME_DISABLED; _voy._field4376 = _voy._field4378 = 127; _voy._field4F2 = 9999; _voy._aptLoadMode = -1; @@ -463,7 +463,7 @@ void VoyeurEngine::doOpening() { _eventsManager._videoDead = -1; _voy.addVideoEventStart(); - _voy._eventFlags &= ~EVTFLAG_1; + _voy._eventFlags &= ~EVTFLAG_TIME_DISABLED; for (int i = 0; i < 256; ++i) _graphicsManager.setColor(i, 8, 8, 8); @@ -498,7 +498,7 @@ void VoyeurEngine::doOpening() { if ((_voy._RTVNum - _voy._field468) < 2) _eventsManager.delay(60); - _voy._eventFlags |= EVTFLAG_1; + _voy._eventFlags |= EVTFLAG_TIME_DISABLED; _voy.addVideoEventEnd(); _voy._eventFlags &= EVTFLAG_RECORDING; @@ -600,7 +600,7 @@ void VoyeurEngine::playAudio(int audioId) { _graphicsManager._backColors->startFade(); flipPageAndWaitForFade(); - _voy._eventFlags &= ~EVTFLAG_1; + _voy._eventFlags &= ~EVTFLAG_TIME_DISABLED; _soundManager.setVOCOffset(_voy._vocSecondsOffset); Common::String filename = _soundManager.getVOCFileName( audioId + 159); @@ -612,7 +612,7 @@ void VoyeurEngine::playAudio(int audioId) { _soundManager.getVOCStatus()) _eventsManager.delayClick(1); - _voy._eventFlags |= EVTFLAG_1; + _voy._eventFlags |= EVTFLAG_TIME_DISABLED; _soundManager.stopVOCPlay(); _bVoy->freeBoltGroup(0x7F00); diff --git a/engines/voyeur/voyeur_game.cpp b/engines/voyeur/voyeur_game.cpp index e986118132..473224bf7a 100644 --- a/engines/voyeur/voyeur_game.cpp +++ b/engines/voyeur/voyeur_game.cpp @@ -65,19 +65,19 @@ void VoyeurEngine::playStamp() { _voy._aptLoadMode = 140; break; case 1: - _voy._eventFlags &= ~EVTFLAG_1; + _voy._eventFlags &= ~EVTFLAG_TIME_DISABLED; _voy._field46E = true; _mainThread->chooseSTAMPButton(22); _voy._aptLoadMode = 143; break; case 2: - _voy._eventFlags &= ~EVTFLAG_1; + _voy._eventFlags &= ~EVTFLAG_TIME_DISABLED; reviewTape(); _voy._field46E = true; _voy._aptLoadMode = 142; break; case 3: - _voy._eventFlags &= ~EVTFLAG_1; + _voy._eventFlags &= ~EVTFLAG_TIME_DISABLED; _mainThread->chooseSTAMPButton(21); break; case 4: @@ -683,7 +683,7 @@ void VoyeurEngine::reviewTape() { _eventsManager._intPtr.field1E = 1; _eventsManager._intPtr.field1A = 0; - _voy._eventFlags &= ~EVTFLAG_1; + _voy._eventFlags &= ~EVTFLAG_TIME_DISABLED; // Play suond for the given duration _soundManager.setVOCOffset(_voy._vocSecondsOffset); @@ -697,7 +697,7 @@ void VoyeurEngine::reviewTape() { _eventsManager.delay(10); } - _voy._eventFlags |= EVTFLAG_1; + _voy._eventFlags |= EVTFLAG_TIME_DISABLED; _soundManager.stopVOCPlay(); _bVoy->freeBoltGroup(0x7F00); break; @@ -902,11 +902,11 @@ void VoyeurEngine::playAVideoEvent(int eventIndex) { _audioVideoId = evt._audioVideoId; _voy._vocSecondsOffset = evt._computerOn; _eventsManager._videoDead = evt._dead; - _voy._eventFlags &= ~EVTFLAG_1; + _voy._eventFlags &= ~EVTFLAG_TIME_DISABLED; playAVideoDuration(_audioVideoId, evt._computerOff); - _voy._eventFlags |= EVTFLAG_1; + _voy._eventFlags |= EVTFLAG_TIME_DISABLED; if (_eventsManager._videoDead != -1) { _bVoy->freeBoltGroup(0xE00); _eventsManager._videoDead = -1; -- cgit v1.2.3 From 569fa63a3a00cdba1d2e3c87941f300e4bfb1a4d Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Sun, 2 Feb 2014 19:01:01 -0500 Subject: VOYEUR: Fix for not highlighting camera on Monday morning after loading savegame --- engines/voyeur/files_threads.cpp | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/engines/voyeur/files_threads.cpp b/engines/voyeur/files_threads.cpp index 6c39a97689..e99a19f94f 100644 --- a/engines/voyeur/files_threads.cpp +++ b/engines/voyeur/files_threads.cpp @@ -1016,15 +1016,20 @@ int ThreadResource::doApt() { hotspotId = -1; pt = _vm->_eventsManager.getMousePos(); for (int idx = 0; idx < (int)hotspots.size(); ++idx) { - if (pt.x > hotspots[idx].left && pt.x < hotspots[idx].right && - pt.y > hotspots[idx].top && pt.y < hotspots[idx].bottom) { + if (hotspots[idx].contains(pt)) { // Cursor is within hotspot area + + // Don't allow the camera to be highlighted on Monday morning. + if (idx == 0 && _vm->_voy._transitionId == 17) + continue; + + // Set the highlighted hotspot Id hotspotId = idx; if (hotspotId != prevHotspotId) { // Check for whether to replace hotspot Id for "Watch TV" for // "Review the Tape" if player has already watched the TV - if ((_vm->_voy._eventFlags & 0x100) && (hotspotId == 2)) + if ((_vm->_voy._eventFlags & EVTFLAG_100) && (hotspotId == 2)) hotspotId = 5; // Draw the text description for the highlighted hotspot -- cgit v1.2.3 From ff68d8f89a8d992e51f52549673d4943e0fb998e Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Sun, 2 Feb 2014 19:17:15 -0500 Subject: VOYEUR: Added some comments --- engines/voyeur/voyeur_game.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/engines/voyeur/voyeur_game.cpp b/engines/voyeur/voyeur_game.cpp index 473224bf7a..634e79c31c 100644 --- a/engines/voyeur/voyeur_game.cpp +++ b/engines/voyeur/voyeur_game.cpp @@ -127,27 +127,31 @@ void VoyeurEngine::playStamp() { break; case 17: + // Called the police, showing the tape doTapePlaying(); if (!checkForMurder() && _voy._transitionId <= 15) checkForIncriminate(); if (_voy._videoEventId != -1) { + // Show the found video that is of interest to the police playAVideoEvent(_voy._videoEventId); _voy._eventFlags &= ~EVTFLAG_RECORDING; } + // Handle response _mainThread->chooseSTAMPButton(0); flag = true; break; case 130: { - //_tmflag = 1; + // user selected to send the tape if (_bVoy->getBoltGroup(_playStampGroupId)) { _graphicsManager._backgroundPage = _bVoy->boltEntry(_playStampGroupId)._picResource; _graphicsManager._backColors = _bVoy->boltEntry(_playStampGroupId + 1)._cMapResource; buttonId = getChooseButton(); if (_eventsManager._rightClick) + // Aborted out of selecting a recipient buttonId = 4; _bVoy->freeBoltGroup(_playStampGroupId); -- cgit v1.2.3 From f88985dc649b81e13490d7f3f949838a9b6680c9 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Sun, 2 Feb 2014 20:28:24 -0500 Subject: VOYEUR: Added debugger command to show mouse position --- engines/voyeur/debugger.cpp | 57 +++++++++++++++++++++++++++++++++++++++++++++ engines/voyeur/debugger.h | 18 ++++++++++++++ engines/voyeur/events.cpp | 23 ++++++++++++++++++ engines/voyeur/events.h | 5 ++++ 4 files changed, 103 insertions(+) diff --git a/engines/voyeur/debugger.cpp b/engines/voyeur/debugger.cpp index 546691b3f0..8fdcf20823 100644 --- a/engines/voyeur/debugger.cpp +++ b/engines/voyeur/debugger.cpp @@ -32,9 +32,12 @@ Debugger::Debugger() : GUI::Debugger() { DCmd_Register("continue", WRAP_METHOD(Debugger, Cmd_Exit)); DCmd_Register("exit", WRAP_METHOD(Debugger, Cmd_Exit)); DCmd_Register("time", WRAP_METHOD(Debugger, Cmd_Time)); + DCmd_Register("hotspots", WRAP_METHOD(Debugger, Cmd_Hotspots)); + DCmd_Register("mouse", WRAP_METHOD(Debugger, Cmd_Mouse)); // Set fields _isTimeActive = true; + _showMousePosition = false; } bool Debugger::Cmd_Time(int argc, const char **argv) { @@ -90,4 +93,58 @@ bool Debugger::Cmd_Time(int argc, const char **argv) { return true; } +bool Debugger::Cmd_Hotspots(int argc, const char **argv) { + BoltEntry &boltEntry = _vm->_bVoy->boltEntry(_vm->_playStampGroupId + 1); + if (!boltEntry._rectResource) { + DebugPrintf("No hotspots available\n"); + } else { + Common::Array &hotspots = boltEntry._rectResource->_entries; + + for (uint hotspotIdx = 0; hotspotIdx < hotspots.size(); ++hotspotIdx) { + Common::String pos = Common::String::format("(%d,%d->%d,%d)", + hotspots[hotspotIdx].left, hotspots[hotspotIdx].top, + hotspots[hotspotIdx].right, hotspots[hotspotIdx].bottom); + + for (int arrIndex = 0; arrIndex < 3; ++arrIndex) { + if (_vm->_voy._audioHotspotTimes._min[arrIndex][hotspotIdx] != 9999) { + DebugPrintf("Hotspot %d %s Audio slot %d, time: %d to %d\n", + hotspotIdx, pos.c_str(), arrIndex, + _vm->_voy._audioHotspotTimes._min[arrIndex][hotspotIdx], + _vm->_voy._audioHotspotTimes._max[arrIndex][hotspotIdx]); + } + + if (_vm->_voy._evidenceHotspotTimes._min[arrIndex][hotspotIdx] != 9999) { + DebugPrintf("Hotspot %d %s Evidence slot %d, time: %d to %d\n", + hotspotIdx, pos.c_str(), arrIndex, + _vm->_voy._evidenceHotspotTimes._min[arrIndex][hotspotIdx], + _vm->_voy._evidenceHotspotTimes._max[arrIndex][hotspotIdx]); + } + } + + for (int arrIndex = 0; arrIndex < 8; ++arrIndex) { + if (_vm->_voy._videoHotspotTimes._min[arrIndex][hotspotIdx] != 9999) { + DebugPrintf("Hotspot %d %s Video slot %d, time: %d to %d\n", + hotspotIdx, pos.c_str(), arrIndex, + _vm->_voy._videoHotspotTimes._min[arrIndex][hotspotIdx], + _vm->_voy._videoHotspotTimes._max[arrIndex][hotspotIdx]); + } + } + } + } + + DebugPrintf("\n"); + return true; +} + +bool Debugger::Cmd_Mouse(int argc, const char **argv) { + if (argc < 2) { + DebugPrintf("mouse [ on | off ]\n"); + } else { + _showMousePosition = !strcmp(argv[1], "on"); + DebugPrintf("Mouse position is now %s\n", _showMousePosition ? "on" : "off"); + } + + return true; +} + } // End of namespace Voyeur diff --git a/engines/voyeur/debugger.h b/engines/voyeur/debugger.h index 0391fadffd..43eaa5f474 100644 --- a/engines/voyeur/debugger.h +++ b/engines/voyeur/debugger.h @@ -39,9 +39,27 @@ public: * @default true */ bool _isTimeActive; + + /* + * Specifies whether to show the current mouse position on the screen + */ + bool _showMousePosition; protected: + /** + * Turn time on or off, set the current time period, or the camera delay + * within the current time period. + */ bool Cmd_Time(int argc, const char **argv); + /** + * List the active hotspots during the current time period + */ + bool Cmd_Hotspots(int argc, const char **argv); + + /** + * Toggle showing the mouse on the screen + */ + bool Cmd_Mouse(int argc, const char **argv); public: Debugger(); virtual ~Debugger() {} diff --git a/engines/voyeur/events.cpp b/engines/voyeur/events.cpp index 4734b1efa3..ded81f7992 100644 --- a/engines/voyeur/events.cpp +++ b/engines/voyeur/events.cpp @@ -25,6 +25,8 @@ #include "voyeur/staticres.h" #include "common/events.h" #include "graphics/cursorman.h" +#include "graphics/font.h" +#include "graphics/fontman.h" #include "graphics/palette.h" namespace Voyeur { @@ -158,6 +160,10 @@ void EventsManager::checkForNextFrameCounter() { // Give time to the debugger _vm->_debugger.onFrame(); + // If mouse position display is on, display the position + if (_vm->_debugger._showMousePosition) + showMousePosition(); + // Display the frame g_system->copyRectToScreen((byte *)_vm->_graphicsManager._screenSurface.getPixels(), SCREEN_WIDTH, 0, 0, SCREEN_WIDTH, SCREEN_HEIGHT); @@ -168,6 +174,23 @@ void EventsManager::checkForNextFrameCounter() { } } +void EventsManager::showMousePosition() { + const Graphics::Font &font(*FontMan.getFontByUsage(Graphics::FontManager::kConsoleFont)); + Common::String mousePos = Common::String::format("(%d,%d)", _mousePos.x, _mousePos.y); + if (_vm->_voyeurArea == AREA_INTERFACE) { + Common::Point pt = _mousePos + _vm->_mansionViewPos - Common::Point(40, 27); + if (pt.x < 0) pt.x = 0; + if (pt.y < 0) pt.y = 0; + + mousePos += Common::String::format(" - (%d,%d)", pt.x, pt.y); + } + + _vm->_graphicsManager._screenSurface.fillRect( + Common::Rect(0, 0, 110, font.getFontHeight()), 0); + font.drawString(&_vm->_graphicsManager._screenSurface, mousePos, + 0, 0, 110, 63); +} + void EventsManager::voyeurTimer() { _gameData.field22 += _gameData.field24; _gameData.field1A += _gameData.field1E; diff --git a/engines/voyeur/events.h b/engines/voyeur/events.h index 6e2d297851..ec9c12ec92 100644 --- a/engines/voyeur/events.h +++ b/engines/voyeur/events.h @@ -96,6 +96,11 @@ private: void vDoCycleInt(); void fadeIntFunc(); void deleteIntNode(IntNode *node); + + /** + * Debugger support method to show the mouse position + */ + void showMousePosition(); public: IntData _gameData; IntData &_intPtr; -- cgit v1.2.3 From 4ef57db61a7730d0ff1fc19658cb8726ee35b9ca Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Sun, 2 Feb 2014 22:38:27 -0500 Subject: VOYEUR: General field renaming and comments --- engines/voyeur/data.cpp | 14 ++++++------ engines/voyeur/data.h | 4 ++-- engines/voyeur/files.h | 37 ++++++++++++++++++++++++++++--- engines/voyeur/files_threads.cpp | 47 ++++++++++++++++++++-------------------- engines/voyeur/voyeur.cpp | 14 ++++++------ engines/voyeur/voyeur.h | 2 +- engines/voyeur/voyeur_game.cpp | 36 +++++++++++++++--------------- 7 files changed, 93 insertions(+), 61 deletions(-) diff --git a/engines/voyeur/data.cpp b/engines/voyeur/data.cpp index 8bcf32fb2f..3d91b7daa6 100644 --- a/engines/voyeur/data.cpp +++ b/engines/voyeur/data.cpp @@ -77,13 +77,13 @@ void SVoy::synchronize(Common::Serializer &s) { s.syncAsSint16LE(_field468); s.syncAsSint16LE(_field46A); s.syncAsSint16LE(_vocSecondsOffset); - s.syncAsSint16LE(_field46E); + s.syncAsSint16LE(_abortInterface); s.syncAsSint16LE(_field470); s.syncAsSint16LE(_aptLoadMode); s.syncAsSint16LE(_transitionId); s.syncAsSint16LE(_RTVLimit); s.syncAsSint16LE(_eventFlags); - s.syncAsSint16LE(_field47A); + s.syncAsSint16LE(_boltGroupId2); s.syncAsSint16LE(_field4AC); s.syncAsSint16LE(_field4B8); @@ -157,7 +157,7 @@ void SVoy::addEvidEventStart(int v) { e._isAM = _isAM; e._type = EVTYPE_EVID; e._audioVideoId = _vm->_playStampGroupId; - e._computerOn = _field47A; + e._computerOn = _boltGroupId2; e._computerOff = v; } @@ -188,7 +188,7 @@ void SVoy::addComputerEventEnd(int v) { void SVoy::reviewAnEvidEvent(int eventIndex) { VoyeurEvent &e = _events[eventIndex]; _vm->_playStampGroupId = e._audioVideoId; - _field47A = e._computerOn; + _boltGroupId2 = e._computerOn; int frameOff = e._computerOff; if (_vm->_bVoy->getBoltGroup(_vm->_playStampGroupId)) { @@ -201,9 +201,9 @@ void SVoy::reviewAnEvidEvent(int eventIndex) { _vm->_bVoy->freeBoltGroup(_vm->_playStampGroupId); _vm->_playStampGroupId = -1; - if (_field47A != -1) { - _vm->_bVoy->freeBoltGroup(_field47A); - _field47A = -1; + if (_boltGroupId2 != -1) { + _vm->_bVoy->freeBoltGroup(_boltGroupId2); + _boltGroupId2 = -1; } } } diff --git a/engines/voyeur/data.h b/engines/voyeur/data.h index 2dc1221b9c..a829d7c795 100644 --- a/engines/voyeur/data.h +++ b/engines/voyeur/data.h @@ -116,13 +116,13 @@ public: int _field468; int _field46A; int _vocSecondsOffset; - bool _field46E; + bool _abortInterface; int _field470; int _aptLoadMode; int _transitionId; int _RTVLimit; int _eventFlags; - int _field47A; + int _boltGroupId2; PictureResource *_evPicPtrs[6]; CMapResource *_evCmPtrs[6]; int _field4AC; diff --git a/engines/voyeur/files.h b/engines/voyeur/files.h index 604b30334a..358d1626c3 100644 --- a/engines/voyeur/files.h +++ b/engines/voyeur/files.h @@ -505,7 +505,7 @@ private: byte *getDataOffset(); void getButtonsText(); void getButtonsFlags(); - void getField1CE(); + void getButtonsUnused(); void performOpenCard(); const byte *getRecordOffset(const byte *p); const byte *getNextRecord(const byte *p); @@ -554,26 +554,50 @@ public: byte *_threadInfoPtr; byte _buttonFlags[64]; const byte *_field8E[64]; - byte _field18E[64]; - const byte *_field1CE[48]; + byte _buttonIds[64]; + const byte *_buttonUnused[48]; byte *_ctlPtr; byte *_playCommandsPtr; public: ThreadResource(BoltFilesState &state, const byte *src); virtual ~ThreadResource() {} + /** + * Initialise the thread + */ void initThreadStruct(int idx, int id); + + /** + * Loads the specified stack + */ bool loadAStack(int stackId); + + /** + * Unloads the specified stack + */ void unloadAStack(int stackId); + + /** + * Initialises data for the thread based on the current state + */ bool doState(); bool chooseSTAMPButton(int buttonId); + + /** + * Parses the script commands from the currently active stack + */ void parsePlayCommands(); /** * Do the camera view looking at the mansion */ int doInterface(); + + /** + * Do the display of a room that has one or more evidence hotspots + * available for display + */ void doRoom(); /** @@ -586,7 +610,14 @@ public: */ void loadTheApt(); + /** + * Check for whether a murder has been recorded + */ void checkForMurder(); + + /** + * Check for whether incriminating evidence has been recorded + */ void checkForIncriminate(); /** diff --git a/engines/voyeur/files_threads.cpp b/engines/voyeur/files_threads.cpp index e99a19f94f..1d66483ffe 100644 --- a/engines/voyeur/files_threads.cpp +++ b/engines/voyeur/files_threads.cpp @@ -94,9 +94,9 @@ bool ThreadResource::doState() { return false; getButtonsFlags(); - getField1CE(); + getButtonsUnused(); - _vm->_glGoScene = -1; + _vm->_glGoState = -1; _vm->_glGoStack = -1; performOpenCard(); @@ -168,7 +168,7 @@ void ThreadResource::getButtonsFlags() { _stateFlags |= 2; _buttonFlags[idx] = *p++; - _field18E[idx] = *p++; + _buttonIds[idx] = *p++; if (_buttonFlags[idx] & 0x80) p += 4; @@ -178,13 +178,13 @@ void ThreadResource::getButtonsFlags() { } } -void ThreadResource::getField1CE() { +void ThreadResource::getButtonsUnused() { int idx = 0; for (const byte *p = _threadInfoPtr; *p++ != 0x4A; p = getNextRecord(p)) { assert(idx < 47); - _field1CE[idx++] = getRecordOffset(p); - _field1CE[idx] = NULL; + _buttonUnused[idx++] = getRecordOffset(p); + _buttonUnused[idx] = nullptr; p += 4; } } @@ -300,11 +300,11 @@ void ThreadResource::doSTAMPCardAction() { } void ThreadResource::cardAction(const byte *card) { - _vm->_glGoScene = -1; + _vm->_glGoState = -1; _vm->_glGoStack = -1; // Loop to perform card commands - while (!_vm->shouldQuit() && *card < 70 && _vm->_glGoScene == -1) { + while (!_vm->shouldQuit() && *card < 70 && _vm->_glGoState == -1) { card = cardPerform(card); } } @@ -313,19 +313,19 @@ bool ThreadResource::chooseSTAMPButton(int buttonId) { _flags &= ~1; for (int idx = 0; idx < _stateCount; ++idx) { - if (_field18E[idx] == buttonId) { + if (_buttonIds[idx] == buttonId) { const byte *card = getSTAMPCard(idx); cardAction(card); bool flag = true; while (!_vm->shouldQuit() && _vm->_glGoStack != -1 && flag) { doSTAMPCardAction(); - flag = goToStateID(_vm->_glGoStack, _vm->_glGoScene); + flag = goToStateID(_vm->_glGoStack, _vm->_glGoState); } - while (!_vm->shouldQuit() && _vm->_glGoScene != -1 && flag) { + while (!_vm->shouldQuit() && _vm->_glGoState != -1 && flag) { doSTAMPCardAction(); - flag = goToState(-1, _vm->_glGoScene); + flag = goToState(-1, _vm->_glGoState); } return flag; @@ -339,7 +339,7 @@ void ThreadResource::parsePlayCommands() { _vm->_voy._field470 = -1; _vm->_voy._field468 = 0; _vm->_voy._field46A = 0; - _vm->_voy._field47A = -1; + _vm->_voy._boltGroupId2 = -1; _vm->_voy._computerTextId = -1; _vm->_voy._eventFlags &= ~EVTFLAG_8; _vm->_eventsManager._videoDead = -1; @@ -507,6 +507,7 @@ void ThreadResource::parsePlayCommands() { break; case 5: + // Load the time information for the new time period v2 = READ_LE_UINT16(dataP); if (v2 == 0 || READ_LE_UINT16(_vm->_controlPtr->_ptr + 4) == 0) { _vm->_voy._field470 = 5; @@ -617,7 +618,7 @@ void ThreadResource::parsePlayCommands() { v2 = READ_LE_UINT16(dataP); if (v2 == 0 || READ_LE_UINT16(_vm->_controlPtr->_ptr + 4) == 0) { - _vm->_voy._field47A = _vm->_resolvePtr[READ_LE_UINT16(dataP + 2)]; + _vm->_voy._boltGroupId2 = _vm->_resolvePtr[READ_LE_UINT16(dataP + 2)]; _vm->_voy._roomHotspotsEnabled[READ_LE_UINT16(dataP + 4) - 1] = true; } @@ -798,18 +799,18 @@ const byte *ThreadResource::cardPerform(const byte *card) { break; case 17: - _vm->_glGoScene = READ_LE_UINT16(card); + _vm->_glGoState = READ_LE_UINT16(card); card += 2; _vm->_glGoStack = -1; break; case 18: v2 = READ_LE_UINT32(_vm->_controlPtr->_ptr + (*card++ << 2)); - _vm->_glGoScene = getStateFromID(v2); + _vm->_glGoState = getStateFromID(v2); break; case 19: - _vm->_glGoScene = READ_LE_UINT32(card); + _vm->_glGoState = READ_LE_UINT32(card); card += 4; _vm->_glGoStack = READ_LE_UINT16(card); card += 2; @@ -888,7 +889,7 @@ const byte *ThreadResource::cardPerform(const byte *card) { break; case 46: - _vm->_glGoScene = _newStateId; + _vm->_glGoState = _newStateId; _vm->_glGoStack = _newStackId; _newStateId = -1; _newStackId = -1; @@ -1259,9 +1260,9 @@ void ThreadResource::doRoom() { voy._field437E = 0; vm.makeViewFinderP(); - if (voy._field47A != -1) { - vm._bVoy->freeBoltGroup(voy._field47A, 1); - voy._field47A = -1; + if (voy._boltGroupId2 != -1) { + vm._bVoy->freeBoltGroup(voy._boltGroupId2, 1); + voy._boltGroupId2 = -1; } if (vm._playStampGroupId != -1) { @@ -1283,8 +1284,8 @@ int ThreadResource::doInterface() { Common::Point pt; _vm->_voy._eventFlags |= EVTFLAG_TIME_DISABLED; - if (_vm->_voy._field46E) { - _vm->_voy._field46E = false; + if (_vm->_voy._abortInterface) { + _vm->_voy._abortInterface = false; return -2; } diff --git a/engines/voyeur/voyeur.cpp b/engines/voyeur/voyeur.cpp index 27a45d8fcf..74f03ff652 100644 --- a/engines/voyeur/voyeur.cpp +++ b/engines/voyeur/voyeur.cpp @@ -678,11 +678,11 @@ void VoyeurEngine::flipPageAndWaitForFade() { void VoyeurEngine::showEndingNews() { _playStampGroupId = (_voy._field4382 - 1) * 256 + 0x7700; - _voy._field47A = (READ_LE_UINT16(_controlPtr->_ptr + 4) + _voy._boltGroupId2 = (READ_LE_UINT16(_controlPtr->_ptr + 4) - 1) * 256 + 0x7B00; _bVoy->getBoltGroup(_playStampGroupId); - _bVoy->getBoltGroup(_voy._field47A); + _bVoy->getBoltGroup(_voy._boltGroupId2); PictureResource *pic = _bVoy->boltEntry(_playStampGroupId)._picResource; CMapResource *pal = _bVoy->boltEntry(_playStampGroupId + 1)._cMapResource; @@ -695,8 +695,8 @@ void VoyeurEngine::showEndingNews() { for (int idx = 1; idx < 4; ++idx) { if (idx == 3) { - pic = _bVoy->boltEntry(_voy._field47A)._picResource; - pal = _bVoy->boltEntry(_voy._field47A + 1)._cMapResource; + pic = _bVoy->boltEntry(_voy._boltGroupId2)._picResource; + pal = _bVoy->boltEntry(_voy._boltGroupId2 + 1)._cMapResource; } else { pic = _bVoy->boltEntry(_playStampGroupId + idx * 2)._picResource; pal = _bVoy->boltEntry(_playStampGroupId + idx * 2 + 1)._cMapResource; @@ -728,9 +728,9 @@ void VoyeurEngine::showEndingNews() { } _bVoy->freeBoltGroup(_playStampGroupId); - _bVoy->freeBoltGroup(_voy._field47A); + _bVoy->freeBoltGroup(_voy._boltGroupId2); _playStampGroupId = -1; - _voy._field47A = -1; + _voy._boltGroupId2 = -1; } /*------------------------------------------------------------------------*/ @@ -820,7 +820,7 @@ Common::Error VoyeurEngine::saveGameState(int slot, const Common::String &desc) } void VoyeurEngine::synchronize(Common::Serializer &s) { - s.syncAsSint16LE(_glGoScene); + s.syncAsSint16LE(_glGoState); s.syncAsSint16LE(_glGoStack); s.syncAsSint16LE(_stampFlags); s.syncAsSint16LE(_playStampGroupId); diff --git a/engines/voyeur/voyeur.h b/engines/voyeur/voyeur.h index a0d2e95948..bc63d56ddb 100644 --- a/engines/voyeur/voyeur.h +++ b/engines/voyeur/voyeur.h @@ -170,7 +170,7 @@ public: ControlResource *_controlPtr; byte *_stampData; BoltGroup *_stackGroupPtr; - int _glGoScene; + int _glGoState; int _glGoStack; int _stampFlags; int _playStampGroupId; diff --git a/engines/voyeur/voyeur_game.cpp b/engines/voyeur/voyeur_game.cpp index 634e79c31c..1ebfdff9f8 100644 --- a/engines/voyeur/voyeur_game.cpp +++ b/engines/voyeur/voyeur_game.cpp @@ -41,7 +41,7 @@ void VoyeurEngine::playStamp() { _voy._isAM = false; _gameHour = 9; _gameMinute = 0; - _voy._field46E = true; + _voy._abortInterface = true; int buttonId; bool breakFlag = false; @@ -66,14 +66,14 @@ void VoyeurEngine::playStamp() { break; case 1: _voy._eventFlags &= ~EVTFLAG_TIME_DISABLED; - _voy._field46E = true; + _voy._abortInterface = true; _mainThread->chooseSTAMPButton(22); _voy._aptLoadMode = 143; break; case 2: _voy._eventFlags &= ~EVTFLAG_TIME_DISABLED; reviewTape(); - _voy._field46E = true; + _voy._abortInterface = true; _voy._aptLoadMode = 142; break; case 3: @@ -85,7 +85,7 @@ void VoyeurEngine::playStamp() { break; case 5: doGossip(); - _voy._field46E = true; + _voy._abortInterface = true; _voy._aptLoadMode = 141; _voy._eventFlags &= ~EVTFLAG_100; break; @@ -115,7 +115,7 @@ void VoyeurEngine::playStamp() { break; case 2: reviewTape(); - _voy._field46E = true; + _voy._abortInterface = true; break; case 4: flag = true; @@ -165,7 +165,7 @@ void VoyeurEngine::playStamp() { _mainThread->chooseSTAMPButton(buttonId); } else { _mainThread->chooseSTAMPButton(buttonId); - _voy._field46E = true; + _voy._abortInterface = true; } } break; @@ -184,9 +184,9 @@ void VoyeurEngine::playStamp() { _audioVideoId = -1; - if (_voy._field47A != -1) { - _bVoy->freeBoltGroup(_voy._field47A); - _voy._field47A = -1; + if (_voy._boltGroupId2 != -1) { + _bVoy->freeBoltGroup(_voy._boltGroupId2); + _voy._boltGroupId2 = -1; } if (_playStampGroupId != -1) { @@ -1344,27 +1344,27 @@ void VoyeurEngine::doEvidDisplay(int evidId, int eventId) { _soundManager.stopVOCPlay(); } - _bVoy->getBoltGroup(_voy._field47A); - PictureResource *pic = _bVoy->boltEntry(_voy._field47A + evidId * 2)._picResource; + _bVoy->getBoltGroup(_voy._boltGroupId2); + PictureResource *pic = _bVoy->boltEntry(_voy._boltGroupId2 + evidId * 2)._picResource; _graphicsManager.sDrawPic(pic, *_graphicsManager._vPort, Common::Point( (384 - pic->_bounds.width()) / 2, (240 - pic->_bounds.height()) / 2)); - _bVoy->freeBoltMember(_voy._field47A + evidId * 2); + _bVoy->freeBoltMember(_voy._boltGroupId2 + evidId * 2); - CMapResource *pal = _bVoy->boltEntry(_voy._field47A + evidId * 2 + 1)._cMapResource; + CMapResource *pal = _bVoy->boltEntry(_voy._boltGroupId2 + evidId * 2 + 1)._cMapResource; pal->startFade(); while (!shouldQuit() && (_eventsManager._fadeStatus & 1)) _eventsManager.delay(1); - _bVoy->freeBoltMember(_voy._field47A + evidId * 2 + 1); + _bVoy->freeBoltMember(_voy._boltGroupId2 + evidId * 2 + 1); Common::Array &hotspots = _bVoy->boltEntry(_playStampGroupId + 4)._rectResource->_entries; int count = hotspots[evidId]._count; if (count > 0) { for (int idx = 1; idx <= count; ++idx) { - _voy._evPicPtrs[idx - 1] = _bVoy->boltEntry(_voy._field47A + + _voy._evPicPtrs[idx - 1] = _bVoy->boltEntry(_voy._boltGroupId2 + (evidId + idx) * 2)._picResource; - _voy._evCmPtrs[idx - 1] = _bVoy->boltEntry(_voy._field47A + + _voy._evCmPtrs[idx - 1] = _bVoy->boltEntry(_voy._boltGroupId2 + (evidId + idx) * 2 + 1)._cMapResource; } } @@ -1416,8 +1416,8 @@ void VoyeurEngine::doEvidDisplay(int evidId, int eventId) { _voy.addEvidEventEnd(evidIdx); for (int idx = 1; idx <= hotspots[evidId]._count; ++idx) { - _bVoy->freeBoltMember(_voy._field47A + (evidId + idx) * 2); - _bVoy->freeBoltMember(_voy._field47A + (evidId + idx) * 2 + 1); + _bVoy->freeBoltMember(_voy._boltGroupId2 + (evidId + idx) * 2); + _bVoy->freeBoltMember(_voy._boltGroupId2 + (evidId + idx) * 2 + 1); } } -- cgit v1.2.3 From d13b529c4718d01c045c3af7b83c6f6793d92077 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Sun, 2 Feb 2014 23:59:45 -0500 Subject: VOYEUR: Improvements to debugger command for changing time period --- engines/voyeur/debugger.cpp | 34 ++++++++++++++++------------------ engines/voyeur/files.h | 6 +++++- 2 files changed, 21 insertions(+), 19 deletions(-) diff --git a/engines/voyeur/debugger.cpp b/engines/voyeur/debugger.cpp index 8fdcf20823..b1bc2633ee 100644 --- a/engines/voyeur/debugger.cpp +++ b/engines/voyeur/debugger.cpp @@ -40,6 +40,10 @@ Debugger::Debugger() : GUI::Debugger() { _showMousePosition = false; } +static const int TIME_STATES[] = { + 0, 31, 0, 43, 59, 0, 67, 75, 85, 93, 0, 0, 111, 121, 0, 0 +}; + bool Debugger::Cmd_Time(int argc, const char **argv) { if (argc < 2) { // Get the current day and time of day @@ -48,8 +52,8 @@ bool Debugger::Cmd_Time(int argc, const char **argv) { if (!timeString.empty()) dtString += " " + timeString; - DebugPrintf("Current date/time is: %s, time is %s\n", - dtString.c_str(), _isTimeActive ? "on" : "off"); + DebugPrintf("Time period = %d, date/time is: %s, time is %s\n", + _vm->_voy._transitionId, dtString.c_str(), _isTimeActive ? "on" : "off"); DebugPrintf("Format: %s [on | off | 1..17 | val ]\n\n", argv[0]); } else { if (!strcmp(argv[1], "on")) { @@ -68,22 +72,16 @@ bool Debugger::Cmd_Time(int argc, const char **argv) { } else { int timeId = atoi(argv[1]); if (timeId >= 1 && timeId <= 17) { - _vm->_voy._transitionId = timeId; - _vm->_gameHour = LEVEL_H[timeId - 1]; - _vm->_gameMinute = LEVEL_M[timeId - 1]; - _vm->_voy._isAM = (timeId == 6); - - // Camera back to full charge - _vm->_voy._RTVNum = 0; - _vm->_voy._RTANum = 255; - - // Get the new current day and time of day - Common::String dtString = _vm->getDayName(); - Common::String timeString = _vm->getTimeOfDay(); - if (!timeString.empty()) - dtString += " " + timeString; - - DebugPrintf("Current date/time is now: %s\n\n", dtString.c_str()); + int stateId = TIME_STATES[timeId - 1]; + if (!stateId) { + DebugPrintf("Given time period is not used in-game\n"); + } else { + DebugPrintf("Changing to time period: %d\n", timeId); + if (_vm->_mainThread->goToState(-1, stateId)) + _vm->_mainThread->parsePlayCommands(); + + return false; + } } else { DebugPrintf("Unknown parameter\n\n"); } diff --git a/engines/voyeur/files.h b/engines/voyeur/files.h index 358d1626c3..d05cba45c1 100644 --- a/engines/voyeur/files.h +++ b/engines/voyeur/files.h @@ -515,7 +515,6 @@ private: void cardAction(const byte *p); void doSTAMPCardAction(); bool goToStateID(int stackId, int id); - bool goToState(int stackId, int stateId); const byte *cardPerform(const byte *card); bool cardPerform2(const byte *p, int cardCmdId); void savePrevious(); @@ -577,6 +576,11 @@ public: */ void unloadAStack(int stackId); + /** + * Go to a new state and/or stack + */ + bool goToState(int stackId, int stateId); + /** * Initialises data for the thread based on the current state */ -- cgit v1.2.3 From 2234724891dc9df1e04f76e1c80090224794e9c0 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Mon, 3 Feb 2014 00:07:29 -0500 Subject: VOYEUR: Clean up debug channels --- engines/voyeur/voyeur.cpp | 5 ++--- engines/voyeur/voyeur.h | 3 +-- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/engines/voyeur/voyeur.cpp b/engines/voyeur/voyeur.cpp index 74f03ff652..1ee06e15f1 100644 --- a/engines/voyeur/voyeur.cpp +++ b/engines/voyeur/voyeur.cpp @@ -55,6 +55,8 @@ VoyeurEngine::VoyeurEngine(OSystem *syst, const VoyeurGameDescription *gameDesc) _voyeurArea = AREA_NONE; _loadGameSlot = -1; + DebugMan.addDebugChannel(kDebugScripts, "scripts", "Game scripts"); + initialiseManagers(); } @@ -98,9 +100,6 @@ void VoyeurEngine::initialiseManagers() { void VoyeurEngine::ESP_Init() { ThreadResource::init(); - DebugMan.addDebugChannel(kDebugPath, "Path", "Pathfinding debug level"); - DebugMan.addDebugChannel(kDebugScripts, "scripts", "Game scripts"); - if (ConfMan.hasKey("save_slot")) _loadGameSlot = ConfMan.getInt("save_slot"); } diff --git a/engines/voyeur/voyeur.h b/engines/voyeur/voyeur.h index bc63d56ddb..08c0a27bef 100644 --- a/engines/voyeur/voyeur.h +++ b/engines/voyeur/voyeur.h @@ -66,8 +66,7 @@ namespace Voyeur { #define MANSION_SCROLL_INC_Y 4 enum VoyeurDebugChannels { - kDebugPath = 1 << 0, - kDebugScripts = 1 << 1 + kDebugScripts = 1 << 0 }; enum VoyeurArea { AREA_NONE, AREA_APARTMENT, AREA_INTERFACE, AREA_ROOM, AREA_EVIDENCE }; -- cgit v1.2.3 From fcaf2af6169f0da8aaf8b8b6eabc5d94a401cfd6 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Mon, 3 Feb 2014 00:25:58 -0500 Subject: VOYEUR: Add a hotspot to the aprtment for the ScummVM GMM The original game doesn't have any savegame support, so this will provide users with a more obvious hint than knowing to explicitly show the GMM when in the apartment. --- engines/voyeur/files_threads.cpp | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/engines/voyeur/files_threads.cpp b/engines/voyeur/files_threads.cpp index 1d66483ffe..40f4fe6f04 100644 --- a/engines/voyeur/files_threads.cpp +++ b/engines/voyeur/files_threads.cpp @@ -507,9 +507,10 @@ void ThreadResource::parsePlayCommands() { break; case 5: - // Load the time information for the new time period + // Check whether transition to a given time period is allowed, and + // if so, load the time information for the new time period v2 = READ_LE_UINT16(dataP); - if (v2 == 0 || READ_LE_UINT16(_vm->_controlPtr->_ptr + 4) == 0) { + if (v2 == 0 || READ_LE_UINT16(_vm->_controlPtr->_ptr + 4) == v2) { _vm->_voy._field470 = 5; int count = READ_LE_UINT16(dataP + 2); _vm->_voy._RTVLimit = READ_LE_UINT16(dataP + 4); @@ -997,6 +998,8 @@ int ThreadResource::doApt() { int prevHotspotId = -1; Common::Point pt; PictureResource *pic; + Common::Rect gmmHotspot(75, 125, 130, 140); + do { _vm->_voyeurArea = AREA_APARTMENT; @@ -1044,6 +1047,10 @@ int ThreadResource::doApt() { } } + // Check for presence in ScummVM GMM + if (gmmHotspot.contains(pt)) + hotspotId = 42; + // Draw either standard or highlighted eye cursor pic = _vm->_bVoy->boltEntry((hotspotId == -1) ? _vm->_playStampGroupId + 2 : _vm->_playStampGroupId + 3)._picResource; @@ -1051,6 +1058,12 @@ int ThreadResource::doApt() { _vm->flipPageAndWait(); + if (hotspotId == 42 && _vm->_eventsManager._leftClick) { + // Show the ScummVM GMM + _vm->_eventsManager.getMouseInfo(); + _vm->openMainMenuDialog(); + } + } while (!_vm->shouldQuit() && (!_vm->_eventsManager._leftClick || hotspotId == -1)); pt = _vm->_eventsManager.getMousePos(); -- cgit v1.2.3 From e0a142ed4caed07fd5a9bdc9468f4702d6f79339 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Mon, 3 Feb 2014 00:38:10 -0500 Subject: VOYEUR: Fix loading of savegame descriptions --- engines/voyeur/voyeur.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/engines/voyeur/voyeur.cpp b/engines/voyeur/voyeur.cpp index 1ee06e15f1..2bdf8c1f1f 100644 --- a/engines/voyeur/voyeur.cpp +++ b/engines/voyeur/voyeur.cpp @@ -857,6 +857,7 @@ bool VoyeurSavegameHeader::read(Common::InSaveFile *f) { return false; char c; + _saveName = ""; while ((c = f->readByte()) != 0) _saveName += c; -- cgit v1.2.3 From 8385a0ef8e77903d48f0ff443d3a5feb8536c2fa Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Mon, 3 Feb 2014 01:23:27 -0500 Subject: VOYEUR: Implemented checkForKey --- engines/voyeur/data.cpp | 88 ++++++++++++++++++++++++++++++++++++++++++ engines/voyeur/data.h | 6 +++ engines/voyeur/events.cpp | 4 -- engines/voyeur/events.h | 1 - engines/voyeur/voyeur_game.cpp | 2 +- 5 files changed, 95 insertions(+), 6 deletions(-) diff --git a/engines/voyeur/data.cpp b/engines/voyeur/data.cpp index 3d91b7daa6..ef072e8737 100644 --- a/engines/voyeur/data.cpp +++ b/engines/voyeur/data.cpp @@ -230,4 +230,92 @@ void SVoy::reviewComputerEvent(int eventIndex) { } } +bool SVoy::checkForKey() { + WRITE_LE_UINT32(_vm->_controlPtr->_ptr + 8, 0); + if (_vm->_voy._field4F0) + return false; + + for (int eventIdx = 0; eventIdx < _eventCount; ++eventIdx) { + VoyeurEvent &e = _events[eventIdx]; + int v1; + + switch (e._type) { + case EVTYPE_VIDEO: + switch (READ_LE_UINT32(_vm->_controlPtr->_ptr + 4)) { + case 1: + if (e._audioVideoId == 33 && e._computerOn < 1 && e._computerOff > 40) + WRITE_LE_UINT32(_vm->_controlPtr->_ptr + 8, 1); + break; + + case 2: + if (e._audioVideoId == 47 && e._computerOn < 1 && e._computerOff > 11) + WRITE_LE_UINT32(_vm->_controlPtr->_ptr + 8, 2); + break; + + case 3: + if (e._audioVideoId == 46 && e._computerOn < 2 && e._computerOff > 2) + WRITE_LE_UINT32(_vm->_controlPtr->_ptr + 8, 3); + break; + + case 4: + if (e._audioVideoId == 40 && e._computerOn < 2 && e._computerOff > 7) + WRITE_LE_UINT32(_vm->_controlPtr->_ptr + 8, 4); + break; + + default: + break; + } + break; + + case EVTYPE_AUDIO: + switch (READ_LE_UINT32(_vm->_controlPtr->_ptr + 4)) { + case 1: + if (e._audioVideoId == 8 && e._computerOn < 2 && e._computerOff > 28) + WRITE_LE_UINT32(_vm->_controlPtr->_ptr + 8, 1); + break; + + case 3: + if (e._audioVideoId == 20 && e._computerOn < 2 && e._computerOff > 30) + WRITE_LE_UINT32(_vm->_controlPtr->_ptr + 8, 3); + if (e._audioVideoId == 35 && e._computerOn < 2 && e._computerOff > 20) + WRITE_LE_UINT32(_vm->_controlPtr->_ptr + 8, 3); + break; + + default: + break; + } + break; + + case EVTYPE_EVID: + switch (READ_LE_UINT32(_vm->_controlPtr->_ptr + 4)) { + case 4: + if (e._audioVideoId == 0x2400 && e._computerOn == 0x4f00 && e._computerOff == 17) + WRITE_LE_UINT32(_vm->_controlPtr->_ptr + 8, 4); + + default: + break; + } + break; + + case EVTYPE_COMPUTER: + switch (READ_LE_UINT32(_vm->_controlPtr->_ptr + 4)) { + case 2: + if (e._computerOn == 13 && e._computerOff > 76) + WRITE_LE_UINT32(_vm->_controlPtr->_ptr + 8, 2); + break; + + default: + break; + } + break; + } + + if (READ_LE_UINT32(_vm->_controlPtr->_ptr + 8) == + READ_LE_UINT32(_vm->_controlPtr->_ptr + 4)) + return true; + } + + return false; +} + } // End of namespace Voyeur diff --git a/engines/voyeur/data.h b/engines/voyeur/data.h index a829d7c795..c21fcf01fd 100644 --- a/engines/voyeur/data.h +++ b/engines/voyeur/data.h @@ -216,6 +216,12 @@ public: * Review a previously recorded computer event */ void reviewComputerEvent(int eventIndex); + + /** + * Checks for key information in determining what kind of murder + * should take place + */ + bool checkForKey(); }; } // End of namespace Voyeur diff --git a/engines/voyeur/events.cpp b/engines/voyeur/events.cpp index ded81f7992..9904c9ecc8 100644 --- a/engines/voyeur/events.cpp +++ b/engines/voyeur/events.cpp @@ -590,10 +590,6 @@ void EventsManager::getMouseInfo() { _vm->_eventsManager._mouseUnk = false; } -void EventsManager::checkForKey() { - warning("TODO: checkForKey"); -} - void EventsManager::startCursorBlink() { if (_vm->_voy._eventFlags & EVTFLAG_RECORDING) { _vm->_graphicsManager.setOneColor(128, 55, 5, 5); diff --git a/engines/voyeur/events.h b/engines/voyeur/events.h index ec9c12ec92..a7f9641904 100644 --- a/engines/voyeur/events.h +++ b/engines/voyeur/events.h @@ -150,7 +150,6 @@ public: Common::Point getMousePos() { return _mousePos; } uint32 getGameCounter() const { return _gameCounter; } void getMouseInfo(); - void checkForKey(); void startCursorBlink(); void incrementTime(int amt); diff --git a/engines/voyeur/voyeur_game.cpp b/engines/voyeur/voyeur_game.cpp index 1ebfdff9f8..826c4d14cd 100644 --- a/engines/voyeur/voyeur_game.cpp +++ b/engines/voyeur/voyeur_game.cpp @@ -161,7 +161,7 @@ void VoyeurEngine::playStamp() { if (buttonId != 4) { _voy._field470 = 131; - _eventsManager.checkForKey(); + _voy.checkForKey(); _mainThread->chooseSTAMPButton(buttonId); } else { _mainThread->chooseSTAMPButton(buttonId); -- cgit v1.2.3 From ae9bca6bdf747e8ec1daa75b043a5a546eec21f7 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Mon, 3 Feb 2014 20:16:13 -0500 Subject: VOYEUR: Remove a lot of outdated TODO's and clean up of stubbed methods --- engines/voyeur/animation.cpp | 4 ---- engines/voyeur/events.cpp | 3 --- engines/voyeur/files.cpp | 20 +++++++------------- engines/voyeur/files.h | 18 ++++++++++-------- engines/voyeur/files_threads.cpp | 1 - engines/voyeur/graphics.cpp | 12 ++++-------- engines/voyeur/graphics.h | 4 +++- engines/voyeur/sound.cpp | 9 --------- engines/voyeur/sound.h | 5 +++-- engines/voyeur/voyeur.cpp | 2 +- 10 files changed, 28 insertions(+), 50 deletions(-) diff --git a/engines/voyeur/animation.cpp b/engines/voyeur/animation.cpp index f1126e50bb..855536bea1 100644 --- a/engines/voyeur/animation.cpp +++ b/engines/voyeur/animation.cpp @@ -146,10 +146,6 @@ void RL2Decoder::readNextPacket() { } bool RL2Decoder::seek(const Audio::Timestamp &where) { - // TODO: Ideally, I need a way to clear the audio track's QueuingAudioStream when - // a seek is done. Otherwise, as current, seeking can only be done correctly when - // the video is first loaded. - _soundFrameNumber = -1; return VideoDecoder::seek(where); } diff --git a/engines/voyeur/events.cpp b/engines/voyeur/events.cpp index 9904c9ecc8..c0f0eb5c68 100644 --- a/engines/voyeur/events.cpp +++ b/engines/voyeur/events.cpp @@ -458,8 +458,6 @@ void EventsManager::vDoCycleInt() { byte g = pPal[start * 3 + 1]; byte b = pPal[start * 3 + 2]; - // Move the remainder of the range backwards one entry - // TODO: Is this allowing for overlap properly? Common::copy(&pPal[start * 3 + 3], &pPal[end * 3 + 3], &pPal[start * 3]); // Place the original saved entry at the end of the range @@ -483,7 +481,6 @@ void EventsManager::vDoCycleInt() { byte b = pPal[end * 3 + 2]; // Move the remainder of the range forwards one entry - // TODO: Does this allow for overlap range correctly? Common::copy_backward(&pPal[start * 3], &pPal[end * 3], &pPal[end * 3 + 3]); // Place the original saved entry at the end of the range diff --git a/engines/voyeur/files.cpp b/engines/voyeur/files.cpp index 05e3fee74f..ce2ebc5985 100644 --- a/engines/voyeur/files.cpp +++ b/engines/voyeur/files.cpp @@ -276,8 +276,6 @@ BoltGroup *BoltFile::getBoltGroup(uint16 id, bool process) { } void BoltFile::freeBoltGroup(uint16 id, bool freeEntries) { - // TODO: I currently ignore freeEntries flag, in favour of always - // freeing. Need to check whether this can really ever be false. _state._curLibPtr = this; _state._curGroupPtr = &_groups[(id >> 8) & 0xff]; @@ -286,8 +284,7 @@ void BoltFile::freeBoltGroup(uint16 id, bool freeEntries) { } void BoltFile::freeBoltMember(uint32 id) { - // TODO: Determine whether this is needed, given all group entries are automatically loaded -// warning("TODO: BoltFile::freeBoltMember"); + // No implementation in ScummVM } BoltEntry &BoltFile::getBoltEntryFromLong(uint32 id) { @@ -412,9 +409,7 @@ byte *BoltFile::getBoltMember(uint32 id) { _state._encrypt = (_state._curMemberPtr->_mode & 0x10) != 0; if (_state._curGroupPtr->_processed) { - // TODO: Figure out weird access type. Uncompressed read perhaps? - //int fileDiff = _state._curGroupPtr->_fileOffset - _state._curMemberPtr->_fileOffset; - error("TODO: processed bolt flag"); + error("Processed resources are not supported"); } else { _state._bufStart = _state._decompressBuf; _state._bufSize = DECOMPRESS_SIZE; @@ -618,7 +613,7 @@ BoltGroup::BoltGroup(Common::SeekableReadStream *f): _file(f) { _processed = buffer[0] != 0; _callInitGro = buffer[1] != 0; _termGroIndex = buffer[2]; - _count = buffer[3] ? buffer[3] : 256; // TODO: Added this in. Check it's okay + _count = buffer[3] ? buffer[3] : 256; _fileOffset = READ_LE_UINT32(&buffer[8]); } @@ -665,7 +660,7 @@ BoltEntry::BoltEntry(Common::SeekableReadStream *f, uint16 id): _file(f), _id(id _mode = buffer[0]; _field1 = buffer[1]; _initMethod = buffer[3]; - _xorMask = buffer[4] & 0xff; // TODO: Is this right?? + _xorMask = buffer[4] & 0xff; _size = READ_LE_UINT32(&buffer[4]) & 0xffffff; _fileOffset = READ_LE_UINT32(&buffer[8]); } @@ -685,8 +680,7 @@ BoltEntry::~BoltEntry() { } void BoltEntry::load() { - // TODO: Currently, all entry loading and decompression is done in BoltFile::memberAddr. - // Ideally, a lot of the code should be moved here + // Currently, all entry loading and decompression is done in BoltFile::memberAddr. } /** @@ -1062,10 +1056,11 @@ PictureResource::PictureResource(BoltFilesState &state, const byte *src): byte *imgData = state._curLibPtr->boltEntry(id)._picResource->_imgData; _freeImgData = DisposeAfterUse::NO; + // TODO: Double check code below. Despite different coding in the + // original, both looked like they do the same formula if (_flags & PICFLAG_PIC_OFFSET) { _imgData = imgData + (READ_LE_UINT32(&src[18]) & 0xffff); } else { - warning("TODO: Double-check if this is correct"); _imgData = imgData + (READ_LE_UINT32(&src[18]) & 0xffff); } } @@ -1362,7 +1357,6 @@ void ViewPortResource::setupViewPort(PictureResource *pic, Common::Rect *clipRec } void ViewPortResource::addSaveRect(int pageIndex, const Common::Rect &r) { - // TODO Common::Rect rect = r; if (clipRect(rect)) { diff --git a/engines/voyeur/files.h b/engines/voyeur/files.h index d05cba45c1..ff09bbef2b 100644 --- a/engines/voyeur/files.h +++ b/engines/voyeur/files.h @@ -93,9 +93,10 @@ public: byte *decompress(byte *buf, int size, int mode); void nextBlock(); - void EMSGetFrameAddr(byte **pageFrame) {} // TODO: Maybe? - bool EMSAllocatePages(uint *planeSize) { return false; } // TODO: Maybe? - void EMSMapPageHandle(int planeSize, int idx1, int idx2) {} // TODO: Maybe? + // Methods in the original stubbed under ScummVM + void EMSGetFrameAddr(byte **pageFrame) {} + bool EMSAllocatePages(uint *planeSize) { return false; } + void EMSMapPageHandle(int planeSize, int idx1, int idx2) {} }; class BoltFile { @@ -110,11 +111,12 @@ private: void resolveAll(); byte *getBoltMember(uint32 id); - void termType() {} // TODO - void initMem(int id) {} // TODO - void termMem() {} // TODO - void initGro() {} // TODO - void termGro() {} // TODO + // Methods in the original that are stubbed in ScummVM + void termType() {} + void initMem(int id) {} + void termMem() {} + void initGro() {} + void termGro() {} public: Common::File _file; public: diff --git a/engines/voyeur/files_threads.cpp b/engines/voyeur/files_threads.cpp index 40f4fe6f04..e03e272b6e 100644 --- a/engines/voyeur/files_threads.cpp +++ b/engines/voyeur/files_threads.cpp @@ -462,7 +462,6 @@ void ThreadResource::parsePlayCommands() { _vm->_audioVideoId = -1; parseIndex = 999; } else { - // TODO: Double-check this int count = _vm->_bVoy->getBoltGroup(_vm->_playStampGroupId)->_entries.size(); _vm->_soundManager.stopVOCPlay(); _vm->_eventsManager.getMouseInfo(); diff --git a/engines/voyeur/graphics.cpp b/engines/voyeur/graphics.cpp index af83dbff31..3dee779580 100644 --- a/engines/voyeur/graphics.cpp +++ b/engines/voyeur/graphics.cpp @@ -120,7 +120,7 @@ void GraphicsManager::restoreMCGASaveRect(ViewPortResource *viewPort) { } void GraphicsManager::addRectNoSaveBack(ViewPortResource *viewPort, int idx, const Common::Rect &bounds) { - // TODO: more + // Stubbed/dummy method in the original. } void GraphicsManager::sDrawPic(DisplayResource *srcDisplay, DisplayResource *destDisplay, @@ -290,7 +290,7 @@ void GraphicsManager::sDrawPic(DisplayResource *srcDisplay, DisplayResource *des if (srcPic->_pick == 0xff) { if (srcFlags & DISPFLAG_8) { - error("TODO: sDrawPic"); + error("TODO: sDrawPic variation"); } else { // loc_258B8 srcP = srcImgData + srcOffset; @@ -353,7 +353,7 @@ void GraphicsManager::sDrawPic(DisplayResource *srcDisplay, DisplayResource *des // loc_25D40 if (srcFlags & DISPFLAG_100) { // loc_25D4A - error("TODO: sDrawPic"); + error("TODO: sDrawPic variation"); } else { // loc_2606D destP = (byte *)_screenSurface.getPixels() + screenOffset; @@ -527,7 +527,7 @@ void GraphicsManager::sDrawPic(DisplayResource *srcDisplay, DisplayResource *des if (destFlags & DISPFLAG_8) { // loc_272C3 - error("TODO"); + error("TODO: sDrawPic variation"); } else { destP = destImgData + screenOffset; for (int yp = 0; yp < height1; ++yp) { @@ -899,10 +899,6 @@ void GraphicsManager::sDisplayPic(PictureResource *pic) { _vm->_eventsManager._intPtr._flipWait = true; } -void GraphicsManager::EMSMapPageHandle(int v1, int v2, int v3) { - // TODO -} - void GraphicsManager::flipPage() { Common::Array &viewPorts = _viewPortListPtr->_entries; bool flipFlag = false; diff --git a/engines/voyeur/graphics.h b/engines/voyeur/graphics.h index 5ba08eda87..322b90970c 100644 --- a/engines/voyeur/graphics.h +++ b/engines/voyeur/graphics.h @@ -102,7 +102,6 @@ public: void restoreMCGASaveRect(ViewPortResource *viewPort); void addRectNoSaveBack(ViewPortResource *viewPort, int idx, const Common::Rect &bounds); - void EMSMapPageHandle(int v1, int v2, int v3); void sDrawPic(DisplayResource *srcDisplay, DisplayResource *destDisplay, const Common::Point &initialOffset); void fillPic(DisplayResource *display, byte onOff = 0); void sDisplayPic(PictureResource *pic); @@ -125,6 +124,9 @@ public: * Synchronizes the game data */ void synchronize(Common::Serializer &s); + + // Methods in the original that are stubbed in ScummVM + void EMSMapPageHandle(int v1, int v2, int v3) {} }; } // End of namespace Voyeur diff --git a/engines/voyeur/sound.cpp b/engines/voyeur/sound.cpp index aab49be851..e81d2891fb 100644 --- a/engines/voyeur/sound.cpp +++ b/engines/voyeur/sound.cpp @@ -40,15 +40,6 @@ void SoundManager::playVOCMap(byte *voc, int vocSize) { _mixer->playStream(Audio::Mixer::kSFXSoundType, &_soundHandle, audioStream); } -bool SoundManager::vocMapStatus() { - error("TODO: vocMapStatus"); - return false; -} - -void SoundManager::continueVocMap() { - // No implementation needed in ScummVM -} - void SoundManager::abortVOCMap() { _mixer->stopHandle(_soundHandle); } diff --git a/engines/voyeur/sound.h b/engines/voyeur/sound.h index 8b4feaaaad..ca05b0bfe0 100644 --- a/engines/voyeur/sound.h +++ b/engines/voyeur/sound.h @@ -42,8 +42,6 @@ public: void setVm(VoyeurEngine *vm) { _vm = vm; } void playVOCMap(byte *voc, int vocSize); - bool vocMapStatus(); - void continueVocMap(); void stopVOCPlay(); void abortVOCMap(); void setVOCOffset(int offset); @@ -52,6 +50,9 @@ public: void startVOCPlay(int soundId); int getVOCStatus(); uint32 getVOCFrame(); + + // Methods in the original that are stubbed in ScummVM + void continueVocMap() {} }; } // End of namespace Voyeur diff --git a/engines/voyeur/voyeur.cpp b/engines/voyeur/voyeur.cpp index 2bdf8c1f1f..b3b920c799 100644 --- a/engines/voyeur/voyeur.cpp +++ b/engines/voyeur/voyeur.cpp @@ -335,7 +335,7 @@ bool VoyeurEngine::doLock() { _soundManager.abortVOCMap(); _soundManager.playVOCMap(buttonVoc, buttonVocSize); - while (_soundManager.vocMapStatus()) { + while (_soundManager.getVOCStatus()) { if (shouldQuit()) break; -- cgit v1.2.3 From be296c58dd3624add1e60fb99e4d1f9ef2dacc48 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Mon, 3 Feb 2014 20:29:11 -0500 Subject: VOYEUR: Removed some method declarations that are no longer in the given class --- engines/voyeur/files.h | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/engines/voyeur/files.h b/engines/voyeur/files.h index ff09bbef2b..7cdb61f4e8 100644 --- a/engines/voyeur/files.h +++ b/engines/voyeur/files.h @@ -616,16 +616,6 @@ public: */ void loadTheApt(); - /** - * Check for whether a murder has been recorded - */ - void checkForMurder(); - - /** - * Check for whether incriminating evidence has been recorded - */ - void checkForIncriminate(); - /** * Synchronizes the game data */ -- cgit v1.2.3 From 683ef9d50f49c989c6bb4df15e16bcb7c33e1980 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Mon, 3 Feb 2014 21:27:26 -0500 Subject: VOYEUR: Fix for control data comparisons in parsePlayCommands --- engines/voyeur/files_threads.cpp | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/engines/voyeur/files_threads.cpp b/engines/voyeur/files_threads.cpp index e03e272b6e..c77cdd4fe5 100644 --- a/engines/voyeur/files_threads.cpp +++ b/engines/voyeur/files_threads.cpp @@ -369,7 +369,7 @@ void ThreadResource::parsePlayCommands() { case 2: v2 = READ_LE_UINT16(dataP); - if (v2 == 0 || READ_LE_UINT16(_vm->_controlPtr->_ptr + 4) == 0) { + if (v2 == 0 || READ_LE_UINT16(_vm->_controlPtr->_ptr + 4) == v2) { _vm->_audioVideoId = READ_LE_UINT16(dataP + 2) - 1; _vm->_voy._field468 = READ_LE_UINT16(dataP + 4); _vm->_voy._field46A = READ_LE_UINT16(dataP + 6); @@ -399,7 +399,7 @@ void ThreadResource::parsePlayCommands() { case 3: v2 = READ_LE_UINT16(dataP); - if (v2 == 0 || READ_LE_UINT16(_vm->_controlPtr->_ptr + 4) == 0) { + if (v2 == 0 || READ_LE_UINT16(_vm->_controlPtr->_ptr + 4) == v2) { _vm->_audioVideoId = READ_LE_UINT16(dataP + 2) - 1; _vm->_voy._field468 = READ_LE_UINT16(dataP + 4); _vm->_voy._field46A = READ_LE_UINT16(dataP + 6); @@ -544,7 +544,7 @@ void ThreadResource::parsePlayCommands() { v2 = READ_LE_UINT16(dataP); v3 = READ_LE_UINT16(dataP + 2) - 1; - if (v2 == 0 || READ_LE_UINT16(_vm->_controlPtr->_ptr + 4) == 0) { + if (v2 == 0 || READ_LE_UINT16(_vm->_controlPtr->_ptr + 4) == v2) { int idx = 0; while (_vm->_voy._videoHotspotTimes._min[idx][v3] != 9999) ++idx; @@ -562,7 +562,7 @@ void ThreadResource::parsePlayCommands() { v2 = READ_LE_UINT16(dataP); v3 = READ_LE_UINT16(dataP + 2) - 1; - if (v2 == 0 || READ_LE_UINT16(_vm->_controlPtr->_ptr + 4) == 0) { + if (v2 == 0 || READ_LE_UINT16(_vm->_controlPtr->_ptr + 4) == v2) { int idx = 0; while (_vm->_voy._audioHotspotTimes._min[idx][v3] != 9999) ++idx; @@ -580,7 +580,7 @@ void ThreadResource::parsePlayCommands() { v2 = READ_LE_UINT16(dataP); v3 = READ_LE_UINT16(dataP + 2) - 1; - if (v2 == 0 || READ_LE_UINT16(_vm->_controlPtr->_ptr + 4) == 0) { + if (v2 == 0 || READ_LE_UINT16(_vm->_controlPtr->_ptr + 4) == v2) { int idx = 0; while (_vm->_voy._evidenceHotspotTimes._min[idx][v3] != 9999) ++idx; @@ -617,7 +617,7 @@ void ThreadResource::parsePlayCommands() { case 12: v2 = READ_LE_UINT16(dataP); - if (v2 == 0 || READ_LE_UINT16(_vm->_controlPtr->_ptr + 4) == 0) { + if (v2 == 0 || READ_LE_UINT16(_vm->_controlPtr->_ptr + 4) == v2) { _vm->_voy._boltGroupId2 = _vm->_resolvePtr[READ_LE_UINT16(dataP + 2)]; _vm->_voy._roomHotspotsEnabled[READ_LE_UINT16(dataP + 4) - 1] = true; } @@ -628,7 +628,7 @@ void ThreadResource::parsePlayCommands() { case 13: v2 = READ_LE_UINT16(dataP); - if (v2 == 0 || READ_LE_UINT16(_vm->_controlPtr->_ptr + 4) == 0) { + if (v2 == 0 || READ_LE_UINT16(_vm->_controlPtr->_ptr + 4) == v2) { _vm->_voy._computerTextId = READ_LE_UINT16(dataP + 2); _vm->_voy._computerTimeMin = READ_LE_UINT16(dataP + 4); _vm->_voy._computerTimeMax = READ_LE_UINT16(dataP + 6); @@ -663,7 +663,7 @@ void ThreadResource::parsePlayCommands() { v2 = READ_LE_UINT16(dataP); v3 = READ_LE_UINT16(dataP + 2); - if (v2 == 0 || READ_LE_UINT16(_vm->_controlPtr->_ptr + 4) == 0) + if (v2 == 0 || READ_LE_UINT16(_vm->_controlPtr->_ptr + 4) == v2) _vm->_voy._field4F2 = v3; dataP += 4; -- cgit v1.2.3 From d3f4156e6a7c4aac33224bbfc8e0f859401b51ed Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Mon, 3 Feb 2014 22:02:28 -0500 Subject: VOYEUR: Clean up, commenting, and bugfixes for checking for murder --- engines/voyeur/data.cpp | 26 ++++++++++++++++---------- engines/voyeur/data.h | 8 ++++---- engines/voyeur/events.cpp | 6 ++++-- engines/voyeur/files_threads.cpp | 22 ++++++++++++++++------ engines/voyeur/voyeur.cpp | 12 ++++-------- engines/voyeur/voyeur.h | 2 +- engines/voyeur/voyeur_game.cpp | 2 +- 7 files changed, 46 insertions(+), 32 deletions(-) diff --git a/engines/voyeur/data.cpp b/engines/voyeur/data.cpp index ef072e8737..ed308f4c2a 100644 --- a/engines/voyeur/data.cpp +++ b/engines/voyeur/data.cpp @@ -41,6 +41,12 @@ void VoyeurEvent::synchronize(Common::Serializer &s) { SVoy::SVoy() { // Initialise all the data fields of SVoy to empty values Common::fill((byte *)this, (byte *)this + sizeof(SVoy), 0); + + _eventFlags = EVTFLAG_TIME_DISABLED; + _field4376 = _field4378 = 127; + _murderThreshold = 9999; + _aptLoadMode = -1; + _eventFlags |= EVTFLAG_100; } void SVoy::setVm(VoyeurEngine *vm) { @@ -90,8 +96,8 @@ void SVoy::synchronize(Common::Serializer &s) { s.syncAsSint16LE(_computerTextId); s.syncAsSint16LE(_computerTimeMin); s.syncAsSint16LE(_computerTimeMax); - s.syncAsSint16LE(_field4F0); - s.syncAsSint16LE(_field4F2); + s.syncAsSint16LE(_victimMurdered); + s.syncAsSint16LE(_murderThreshold); // Events s.syncAsUint16LE(_eventCount); @@ -103,7 +109,7 @@ void SVoy::synchronize(Common::Serializer &s) { s.syncAsSint16LE(_field437A); s.syncAsSint16LE(_field437C); s.syncAsSint16LE(_field437E); - s.syncAsSint16LE(_field4380); + s.syncAsSint16LE(_victimNumber); s.syncAsSint16LE(_field4382); s.syncAsSint16LE(_videoEventId); @@ -232,7 +238,7 @@ void SVoy::reviewComputerEvent(int eventIndex) { bool SVoy::checkForKey() { WRITE_LE_UINT32(_vm->_controlPtr->_ptr + 8, 0); - if (_vm->_voy._field4F0) + if (_vm->_voy._victimMurdered) return false; for (int eventIdx = 0; eventIdx < _eventCount; ++eventIdx) { @@ -243,12 +249,12 @@ bool SVoy::checkForKey() { case EVTYPE_VIDEO: switch (READ_LE_UINT32(_vm->_controlPtr->_ptr + 4)) { case 1: - if (e._audioVideoId == 33 && e._computerOn < 1 && e._computerOff > 40) + if (e._audioVideoId == 33 && e._computerOn < 2 && e._computerOff >= 38) WRITE_LE_UINT32(_vm->_controlPtr->_ptr + 8, 1); break; case 2: - if (e._audioVideoId == 47 && e._computerOn < 1 && e._computerOff > 11) + if (e._audioVideoId == 47 && e._computerOn < 2 && e._computerOff >= 9) WRITE_LE_UINT32(_vm->_controlPtr->_ptr + 8, 2); break; @@ -258,7 +264,7 @@ bool SVoy::checkForKey() { break; case 4: - if (e._audioVideoId == 40 && e._computerOn < 2 && e._computerOff > 7) + if (e._audioVideoId == 40 && e._computerOn < 2 && e._computerOff > 6) WRITE_LE_UINT32(_vm->_controlPtr->_ptr + 8, 4); break; @@ -270,14 +276,14 @@ bool SVoy::checkForKey() { case EVTYPE_AUDIO: switch (READ_LE_UINT32(_vm->_controlPtr->_ptr + 4)) { case 1: - if (e._audioVideoId == 8 && e._computerOn < 2 && e._computerOff > 28) + if (e._audioVideoId == 8 && e._computerOn < 2 && e._computerOff > 26) WRITE_LE_UINT32(_vm->_controlPtr->_ptr + 8, 1); break; case 3: - if (e._audioVideoId == 20 && e._computerOn < 2 && e._computerOff > 30) + if (e._audioVideoId == 20 && e._computerOn < 2 && e._computerOff > 28) WRITE_LE_UINT32(_vm->_controlPtr->_ptr + 8, 3); - if (e._audioVideoId == 35 && e._computerOn < 2 && e._computerOff > 20) + if (e._audioVideoId == 35 && e._computerOn < 2 && e._computerOff > 18) WRITE_LE_UINT32(_vm->_controlPtr->_ptr + 8, 3); break; diff --git a/engines/voyeur/data.h b/engines/voyeur/data.h index c21fcf01fd..d9c62bc7ca 100644 --- a/engines/voyeur/data.h +++ b/engines/voyeur/data.h @@ -35,7 +35,7 @@ enum VoyeurEventType { EVTYPE_VIDEO = 1, EVTYPE_AUDIO = 2, EVTYPE_EVID = 3, EVTYPE_COMPUTER = 4 }; enum EventFlag { EVTFLAG_TIME_DISABLED = 1, EVTFLAG_2 = 2, EVTFLAG_8 = 8, EVTFLAG_RECORDING = 0x10, - EVTFLAG_40 = 0x40, EVTFLAG_100 = 0x100 }; + EVTFLAG_40 = 0x40, EVTFLAG_VICTIM_PRESET = 0x80, EVTFLAG_100 = 0x100 }; struct VoyeurEvent { int _hour; @@ -133,15 +133,15 @@ public: Common::Rect _rect4E4; int _computerTimeMin; int _computerTimeMax; - int _field4F0; - int _field4F2; + bool _victimMurdered; + int _murderThreshold; int _field4376; int _field4378; int _field437A; int _field437C; int _field437E; - int _field4380; + int _victimNumber; int _field4382; int _videoEventId; RectResource *_viewBounds; diff --git a/engines/voyeur/events.cpp b/engines/voyeur/events.cpp index c0f0eb5c68..32ffa1584e 100644 --- a/engines/voyeur/events.cpp +++ b/engines/voyeur/events.cpp @@ -111,8 +111,10 @@ void EventsManager::mainVoyeurIntFunc() { // Increase camera discharge ++_vm->_voy._RTVNum; - if (_vm->_voy._RTVNum >= _vm->_voy._field4F2) - _vm->_voy._field4F0 = 1; + // If the murder threshold has been set, and is passed, then flag the victim + // as murdered, which prevents sending the tape from succeeding + if (_vm->_voy._RTVNum >= _vm->_voy._murderThreshold) + _vm->_voy._victimMurdered = true; } } } diff --git a/engines/voyeur/files_threads.cpp b/engines/voyeur/files_threads.cpp index c77cdd4fe5..b766733699 100644 --- a/engines/voyeur/files_threads.cpp +++ b/engines/voyeur/files_threads.cpp @@ -367,6 +367,7 @@ void ThreadResource::parsePlayCommands() { break; case 2: + // Play an audio event v2 = READ_LE_UINT16(dataP); if (v2 == 0 || READ_LE_UINT16(_vm->_controlPtr->_ptr + 4) == v2) { @@ -397,6 +398,7 @@ void ThreadResource::parsePlayCommands() { break; case 3: + // Play a video event v2 = READ_LE_UINT16(dataP); if (v2 == 0 || READ_LE_UINT16(_vm->_controlPtr->_ptr + 4) == v2) { @@ -443,6 +445,7 @@ void ThreadResource::parsePlayCommands() { case 4: case 22: + // Case 22: Endgame news reports _vm->_audioVideoId = READ_LE_UINT16(dataP) - 1; dataP += 2; @@ -462,7 +465,7 @@ void ThreadResource::parsePlayCommands() { _vm->_audioVideoId = -1; parseIndex = 999; } else { - int count = _vm->_bVoy->getBoltGroup(_vm->_playStampGroupId)->_entries.size(); + int count = _vm->_bVoy->getBoltGroup(_vm->_playStampGroupId)->_entries.size() / 2; _vm->_soundManager.stopVOCPlay(); _vm->_eventsManager.getMouseInfo(); @@ -492,7 +495,7 @@ void ThreadResource::parsePlayCommands() { _vm->_soundManager.stopVOCPlay(); if (i == (count - 1)) - _vm->_eventsManager.delay(480); + _vm->_eventsManager.delayClick(480); if (_vm->shouldQuit() || _vm->_eventsManager._mouseClicked) break; @@ -594,16 +597,21 @@ void ThreadResource::parsePlayCommands() { break; case 10: + // Pick the person who is to die, during startup if (_vm->_iForceDeath == -1) { + // No specific person has been preset to be killed, so pick one randomly. + // The loop below was used because the victim was persisted from the previous + // play-through, so it ensured that a different victim is picked. int randomVal; do { randomVal = _vm->getRandomNumber(3) + 1; - } while (randomVal == _vm->_voy._field4380); + } while (randomVal == _vm->_voy._victimNumber); - _vm->_voy._field4380 = randomVal; + _vm->_voy._victimNumber = randomVal; WRITE_LE_UINT16(_vm->_controlPtr->_ptr + 4, randomVal); } else { - _vm->_voy._field4380 = _vm->_iForceDeath; + // Player has seen something that locks in the character to die + _vm->_voy._victimNumber = _vm->_iForceDeath; WRITE_LE_UINT16(_vm->_controlPtr->_ptr + 4, _vm->_iForceDeath); } @@ -660,11 +668,13 @@ void ThreadResource::parsePlayCommands() { break; case 18: + // Called during the murder (Sunday 10:30PM) time period, to specify the + // time expired point at which the murder takes place v2 = READ_LE_UINT16(dataP); v3 = READ_LE_UINT16(dataP + 2); if (v2 == 0 || READ_LE_UINT16(_vm->_controlPtr->_ptr + 4) == v2) - _vm->_voy._field4F2 = v3; + _vm->_voy._murderThreshold = v3; dataP += 4; break; diff --git a/engines/voyeur/voyeur.cpp b/engines/voyeur/voyeur.cpp index b3b920c799..ce7da49b2d 100644 --- a/engines/voyeur/voyeur.cpp +++ b/engines/voyeur/voyeur.cpp @@ -70,8 +70,11 @@ Common::Error VoyeurEngine::run() { _eventsManager.resetMouse(); if (doHeadTitle()) { + // The original allows the victim to be explicitly specified via the command line. + // We don't currently support this in ScummVM, but I'm leaving the code below + // in case we ever want to make use of it. if (_iForceDeath >= 1 && _iForceDeath <= 4) - _voy._eventFlags |= 0x80; + _voy._eventFlags |= EVTFLAG_VICTIM_PRESET; playStamp(); if (!shouldQuit()) @@ -116,12 +119,6 @@ void VoyeurEngine::globalInitBolt() { assert(_graphicsManager._fontPtr->_curFont); // Setup default flags - _voy._eventFlags = EVTFLAG_TIME_DISABLED; - _voy._field4376 = _voy._field4378 = 127; - _voy._field4F2 = 9999; - _voy._aptLoadMode = -1; - _voy._eventFlags |= EVTFLAG_100; - _voy._curICF0 = _graphicsManager._palFlag ? 0xFFFFA5E0 : 0x5F90; _eventsManager.addFadeInt(); } @@ -240,7 +237,6 @@ bool VoyeurEngine::doLock() { byte *wrongVoc = _filesManager.fload("wrong.voc", &wrongVocSize); if (_bVoy->getBoltGroup(0x700)) { - _voy._field4380 = 0; _voy._viewBounds = _bVoy->boltEntry(0x704)._rectResource; Common::String password = "3333"; diff --git a/engines/voyeur/voyeur.h b/engines/voyeur/voyeur.h index 08c0a27bef..16c2c400b6 100644 --- a/engines/voyeur/voyeur.h +++ b/engines/voyeur/voyeur.h @@ -177,7 +177,7 @@ public: int _audioVideoId; const int *_resolvePtr; - int _iForceDeath; // CHECKME: The original initializes it in ESP_init() + int _iForceDeath; int _checkTransitionId; int _gameHour; int _gameMinute; diff --git a/engines/voyeur/voyeur_game.cpp b/engines/voyeur/voyeur_game.cpp index 826c4d14cd..3e3239749d 100644 --- a/engines/voyeur/voyeur_game.cpp +++ b/engines/voyeur/voyeur_game.cpp @@ -951,7 +951,7 @@ int VoyeurEngine::getChooseButton() { for (uint idx = 0; idx < hotspots.size(); ++idx) { if (hotspots[idx].contains(pt)) { - if (!_voy._field4F0 || (idx + 1) != READ_LE_UINT32(_controlPtr->_ptr + 4)) { + if (!_voy._victimMurdered || (idx + 1) != READ_LE_UINT32(_controlPtr->_ptr + 4)) { selectedIndex = idx; if (selectedIndex != prevIndex) { PictureResource *btnPic = _bVoy->boltEntry(_playStampGroupId + 8 + idx)._picResource; -- cgit v1.2.3 From 0c1a0a28c21fba8c165919b9565c2148026217db Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Mon, 3 Feb 2014 22:45:52 -0500 Subject: VOYEUR: Re-enabled and completed implementing title sequence --- engines/voyeur/detection.cpp | 2 +- engines/voyeur/voyeur.cpp | 51 ++++++++++++++++++++++++++++++++------------ 2 files changed, 38 insertions(+), 15 deletions(-) diff --git a/engines/voyeur/detection.cpp b/engines/voyeur/detection.cpp index 10f96042e0..9a942b691a 100644 --- a/engines/voyeur/detection.cpp +++ b/engines/voyeur/detection.cpp @@ -76,7 +76,7 @@ public: } virtual const char *getOriginalCopyright() const { - return "Voyeur (c)"; + return "Voyeur (c) Philips P.O.V. Entertainment Group"; } virtual bool hasFeature(MetaEngineFeature f) const; diff --git a/engines/voyeur/voyeur.cpp b/engines/voyeur/voyeur.cpp index ce7da49b2d..5886867168 100644 --- a/engines/voyeur/voyeur.cpp +++ b/engines/voyeur/voyeur.cpp @@ -143,7 +143,6 @@ bool VoyeurEngine::doHeadTitle() { _eventsManager.startMainClockInt(); if (_loadGameSlot == -1) { - /* // Show starting screen if (_bVoy->getBoltGroup(0x500)) { showConversionScreen(); @@ -168,14 +167,16 @@ bool VoyeurEngine::doHeadTitle() { // Opening if (!_eventsManager._mouseClicked) { doOpening(); + + _eventsManager.getMouseInfo(); doTransitionCard("Saturday Afternoon", "Player's Apartment"); _eventsManager.delayClick(90); } else { _eventsManager._mouseClicked = false; } - */ - if (_voy._eventFlags & 0x80) { - // Add initial game event set + + if (_voy._eventFlags & EVTFLAG_VICTIM_PRESET) { + // Preset victim turned on, so add a default set of incriminating videos if (_voy._eventCount <= 1) _voy.addEvent(18, 1, EVTYPE_VIDEO, 33, 0, 998, -1); if (_voy._eventCount <= 2) @@ -443,15 +444,16 @@ void VoyeurEngine::doOpening() { byte *frameTable = _bVoy->memberAddr(0x215); byte *xyTable = _bVoy->memberAddr(0x216); - byte *whTable = _bVoy->memberAddr(0x217); +// byte *whTable = _bVoy->memberAddr(0x217); int frameIndex = 0; - int creditShow = 1; - warning("TODO: %x %x %x %d %d", frameTable, xyTable, whTable, creditShow, frameIndex); + bool creditShow = true; + PictureResource *textPic = nullptr; + Common::Point textPos; _voy._vocSecondsOffset = 0; _voy._RTVNum = 0; _voy._field468 = _voy._RTVNum; - _voy._eventFlags = 16; + _voy._eventFlags |= EVTFLAG_RECORDING; _gameHour = 4; _gameMinute = 0; _audioVideoId = 1; @@ -467,11 +469,11 @@ void VoyeurEngine::doOpening() { _eventsManager._intPtr._hasPalette = true; (*_graphicsManager._vPort)->setupViewPort(); flipPageAndWait(); - /* + ::Video::RL2Decoder decoder; decoder.loadFile("a2300100.rl2"); decoder.start(); - decoder.play(this); + while (!shouldQuit() && !decoder.endOfVideo() && !_eventsManager._mouseClicked) { if (decoder.hasDirtyPalette()) { const byte *palette = decoder.getPalette(); @@ -483,19 +485,40 @@ void VoyeurEngine::doOpening() { Common::copy((const byte *)frame->getPixels(), (const byte *)frame->getPixels() + 320 * 200, (byte *)_graphicsManager._screenSurface.getPixels()); + + if (decoder.getCurFrame() >= READ_LE_UINT16(frameTable + frameIndex * 2)) { + if (creditShow) { + // Show a credit + textPic = _bVoy->boltEntry(frameIndex / 2 + 0x202)._picResource; + textPos = Common::Point(READ_LE_UINT16(xyTable + frameIndex * 2), + READ_LE_UINT16(xyTable + (frameIndex + 1) * 2)); + + creditShow = false; + } else { + flipPageAndWait(); + + creditShow = true; + } + + ++frameIndex; + } + + if (textPic) { + _graphicsManager.sDrawPic(textPic, *_graphicsManager._vPort, textPos); + flipPageAndWait(); + } } - _eventsManager.pollEvents(); - g_system->delayMillis(10); + _eventsManager.getMouseInfo(); + _eventsManager.delay(5); } - */ if ((_voy._RTVNum - _voy._field468) < 2) _eventsManager.delay(60); _voy._eventFlags |= EVTFLAG_TIME_DISABLED; _voy.addVideoEventEnd(); - _voy._eventFlags &= EVTFLAG_RECORDING; + _voy._eventFlags &= ~EVTFLAG_RECORDING; _bVoy->freeBoltGroup(0x200); } -- cgit v1.2.3 From 90b7d10a77cfd0ed43dd792d82d148211c9371c1 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Mon, 3 Feb 2014 23:00:59 -0500 Subject: VOYEUR: Fixes to keep credits on-screen during opening sequence --- engines/voyeur/voyeur.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/engines/voyeur/voyeur.cpp b/engines/voyeur/voyeur.cpp index 5886867168..150d567638 100644 --- a/engines/voyeur/voyeur.cpp +++ b/engines/voyeur/voyeur.cpp @@ -486,7 +486,7 @@ void VoyeurEngine::doOpening() { Common::copy((const byte *)frame->getPixels(), (const byte *)frame->getPixels() + 320 * 200, (byte *)_graphicsManager._screenSurface.getPixels()); - if (decoder.getCurFrame() >= READ_LE_UINT16(frameTable + frameIndex * 2)) { + if (decoder.getCurFrame() >= READ_LE_UINT32(frameTable + frameIndex * 4)) { if (creditShow) { // Show a credit textPic = _bVoy->boltEntry(frameIndex / 2 + 0x202)._picResource; @@ -495,7 +495,7 @@ void VoyeurEngine::doOpening() { creditShow = false; } else { - flipPageAndWait(); + textPic = nullptr; creditShow = true; } -- cgit v1.2.3 From d5231aa862538bba94e456fd70fbdeb6a4b0f9ca Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Mon, 3 Feb 2014 23:44:50 -0500 Subject: VOYEUR: Moved RL2Decoder into Voyeur namespace, and merged with VoyeurRL2Decoder --- engines/voyeur/animation.cpp | 12 +++--------- engines/voyeur/animation.h | 15 ++------------- engines/voyeur/voyeur.cpp | 8 ++++---- engines/voyeur/voyeur_game.cpp | 4 ++-- 4 files changed, 11 insertions(+), 28 deletions(-) diff --git a/engines/voyeur/animation.cpp b/engines/voyeur/animation.cpp index 855536bea1..57a64945db 100644 --- a/engines/voyeur/animation.cpp +++ b/engines/voyeur/animation.cpp @@ -29,7 +29,7 @@ #include "audio/decoders/raw.h" #include "graphics/surface.h" -namespace Video { +namespace Voyeur { // Number of audio frames to keep audio track topped up when playing back video #define SOUND_FRAMES_READAHEAD 3 @@ -467,13 +467,7 @@ Audio::AudioStream *RL2Decoder::RL2AudioTrack::getAudioStream() const { return _audStream; } -} // End of namespace Video - -/*------------------------------------------------------------------------*/ - -namespace Voyeur { - -void VoyeurRL2Decoder::play(VoyeurEngine *vm, int resourceOffset, +void RL2Decoder::play(VoyeurEngine *vm, int resourceOffset, byte *frames, byte *imgPos) { vm->flipPageAndWait(); int paletteStart = getPaletteStart(); @@ -513,4 +507,4 @@ void VoyeurRL2Decoder::play(VoyeurEngine *vm, int resourceOffset, } } -} // End of namespace Video +} // End of namespace Voyeur diff --git a/engines/voyeur/animation.h b/engines/voyeur/animation.h index bfa9c8c8ae..30d60827a2 100644 --- a/engines/voyeur/animation.h +++ b/engines/voyeur/animation.h @@ -37,17 +37,13 @@ namespace Voyeur { class VoyeurEngine; -} - -namespace Video { - /** * Decoder for RL2 videos. * * Video decoder used in engines: * - voyeur */ -class RL2Decoder : public VideoDecoder { +class RL2Decoder : public Video::VideoDecoder { private: class RL2FileHeader { public: @@ -180,14 +176,7 @@ public: int getPaletteStart() const { return _paletteStart; } int getPaletteCount() const { return _header._colorCount; } const RL2FileHeader &getHeader() { return _header; } -}; - -} // End of namespace Video -namespace Voyeur { - -class VoyeurRL2Decoder: public Video::RL2Decoder { -public: /** * Play back a given Voyeur RL2 video * @param vm Engine reference @@ -198,6 +187,6 @@ public: void play(VoyeurEngine *vm, int resourceOffset = 0, byte *frames = NULL, byte *imgPos = NULL); }; -} +} // End of namespace Voyeur #endif /* VOYEUR_ANIMATION_H */ diff --git a/engines/voyeur/voyeur.cpp b/engines/voyeur/voyeur.cpp index 150d567638..177ee552f0 100644 --- a/engines/voyeur/voyeur.cpp +++ b/engines/voyeur/voyeur.cpp @@ -470,7 +470,7 @@ void VoyeurEngine::doOpening() { (*_graphicsManager._vPort)->setupViewPort(); flipPageAndWait(); - ::Video::RL2Decoder decoder; + RL2Decoder decoder; decoder.loadFile("a2300100.rl2"); decoder.start(); @@ -486,7 +486,7 @@ void VoyeurEngine::doOpening() { Common::copy((const byte *)frame->getPixels(), (const byte *)frame->getPixels() + 320 * 200, (byte *)_graphicsManager._screenSurface.getPixels()); - if (decoder.getCurFrame() >= READ_LE_UINT32(frameTable + frameIndex * 4)) { + if (decoder.getCurFrame() >= (int32)READ_LE_UINT32(frameTable + frameIndex * 4)) { if (creditShow) { // Show a credit textPic = _bVoy->boltEntry(frameIndex / 2 + 0x202)._picResource; @@ -524,7 +524,7 @@ void VoyeurEngine::doOpening() { } void VoyeurEngine::playRL2Video(const Common::String &filename) { - ::Video::RL2Decoder decoder; + RL2Decoder decoder; decoder.loadFile(filename); decoder.start(); @@ -562,7 +562,7 @@ void VoyeurEngine::playAVideoDuration(int videoId, int duration) { pic = _bVoy->boltEntry(0xE00 + _eventsManager._videoDead)._picResource; } - ::Video::RL2Decoder decoder; + RL2Decoder decoder; decoder.loadVideo(videoId); decoder.start(); diff --git a/engines/voyeur/voyeur_game.cpp b/engines/voyeur/voyeur_game.cpp index 3e3239749d..cfd0b6083a 100644 --- a/engines/voyeur/voyeur_game.cpp +++ b/engines/voyeur/voyeur_game.cpp @@ -233,7 +233,7 @@ void VoyeurEngine::doTailTitle() { _graphicsManager.screenReset(); if (_bVoy->getBoltGroup(0x600)) { - VoyeurRL2Decoder decoder; + RL2Decoder decoder; decoder.loadFile("a1100200.rl2"); decoder.start(); decoder.play(this); @@ -743,7 +743,7 @@ void VoyeurEngine::doGossip() { return; // Load the gossip animation - VoyeurRL2Decoder decoder; + RL2Decoder decoder; decoder.loadFile("a2050100.rl2", false); decoder.start(); -- cgit v1.2.3 From 77d8810b1930368ae3d8fe297d496347d49eca59 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Tue, 4 Feb 2014 00:05:56 -0500 Subject: VOYEUR: Converted RL2 header getFrameRate to use Common::Rational --- engines/voyeur/animation.cpp | 5 +++-- engines/voyeur/animation.h | 2 +- engines/voyeur/voyeur.cpp | 3 ++- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/engines/voyeur/animation.cpp b/engines/voyeur/animation.cpp index 57a64945db..5318da26e9 100644 --- a/engines/voyeur/animation.cpp +++ b/engines/voyeur/animation.cpp @@ -220,8 +220,9 @@ bool RL2Decoder::RL2FileHeader::isValid() const { return _signature == MKTAG('R','L','V','2') || _signature != MKTAG('R','L','V','3'); } -double RL2Decoder::RL2FileHeader::getFrameRate() const { - return (_soundRate > 0) ? _rate / _defSoundSize : 11025 / 1103; +Common::Rational RL2Decoder::RL2FileHeader::getFrameRate() const { + return (_soundRate > 0) ? Common::Rational(_rate, _defSoundSize) : + Common::Rational(11025, 1103); } /*------------------------------------------------------------------------*/ diff --git a/engines/voyeur/animation.h b/engines/voyeur/animation.h index 30d60827a2..8ebebaaada 100644 --- a/engines/voyeur/animation.h +++ b/engines/voyeur/animation.h @@ -69,7 +69,7 @@ private: ~RL2FileHeader(); void load(Common::SeekableReadStream *stream); bool isValid() const; - double getFrameRate() const; + Common::Rational getFrameRate() const; }; class SoundFrame { diff --git a/engines/voyeur/voyeur.cpp b/engines/voyeur/voyeur.cpp index 177ee552f0..37dd527b39 100644 --- a/engines/voyeur/voyeur.cpp +++ b/engines/voyeur/voyeur.cpp @@ -565,8 +565,9 @@ void VoyeurEngine::playAVideoDuration(int videoId, int duration) { RL2Decoder decoder; decoder.loadVideo(videoId); + decoder.seek(Audio::Timestamp(_voy._vocSecondsOffset * 1000, + decoder.getHeader().getFrameRate().toInt())); decoder.start(); - decoder.seek(Audio::Timestamp(_voy._vocSecondsOffset * 1000, decoder.getHeader().getFrameRate())); int endFrame = decoder.getCurFrame() + totalFrames; _eventsManager.getMouseInfo(); -- cgit v1.2.3 From bb37927afdd155d78ca5f9f896e8857423da459c Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Tue, 4 Feb 2014 00:14:48 -0500 Subject: VOYEUR: Cleaner implementation of RL2Decoder seek --- engines/voyeur/animation.cpp | 4 ++-- engines/voyeur/voyeur.cpp | 3 +-- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/engines/voyeur/animation.cpp b/engines/voyeur/animation.cpp index 5318da26e9..8206707bc5 100644 --- a/engines/voyeur/animation.cpp +++ b/engines/voyeur/animation.cpp @@ -268,8 +268,8 @@ bool RL2Decoder::RL2VideoTrack::endOfTrack() const { } bool RL2Decoder::RL2VideoTrack::seek(const Audio::Timestamp &time) { - int frame = time.totalNumberOfFrames(); - + int frame = getFrameAtTime(time); + if (frame < 0 || frame >= _header._numFrames) return false; diff --git a/engines/voyeur/voyeur.cpp b/engines/voyeur/voyeur.cpp index 37dd527b39..1142599f12 100644 --- a/engines/voyeur/voyeur.cpp +++ b/engines/voyeur/voyeur.cpp @@ -565,8 +565,7 @@ void VoyeurEngine::playAVideoDuration(int videoId, int duration) { RL2Decoder decoder; decoder.loadVideo(videoId); - decoder.seek(Audio::Timestamp(_voy._vocSecondsOffset * 1000, - decoder.getHeader().getFrameRate().toInt())); + decoder.seek(Audio::Timestamp(_voy._vocSecondsOffset * 1000)); decoder.start(); int endFrame = decoder.getCurFrame() + totalFrames; -- cgit v1.2.3 From 07f57ac65076d5b303e308b154c9fdc0326dacc9 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Tue, 4 Feb 2014 00:20:24 -0500 Subject: VOYEUR: Simplified reference to audio and video tracks in the RL2Decoder --- engines/voyeur/animation.cpp | 41 +++++++++++------------------------------ engines/voyeur/animation.h | 6 ++++-- 2 files changed, 15 insertions(+), 32 deletions(-) diff --git a/engines/voyeur/animation.cpp b/engines/voyeur/animation.cpp index 8206707bc5..ca924d3b2b 100644 --- a/engines/voyeur/animation.cpp +++ b/engines/voyeur/animation.cpp @@ -71,14 +71,15 @@ bool RL2Decoder::loadStream(Common::SeekableReadStream *stream) { } // Add an audio track if sound is present - RL2AudioTrack *audioTrack = NULL; + _audioTrack = nullptr; if (_header._soundRate) { - audioTrack = new RL2AudioTrack(_header, stream, _soundType); - addTrack(audioTrack); + _audioTrack = new RL2AudioTrack(_header, stream, _soundType); + addTrack(_audioTrack); } // Create a video track - addTrack(new RL2VideoTrack(_header, audioTrack, stream)); + _videoTrack = new RL2VideoTrack(_header, _audioTrack, stream); + addTrack(_videoTrack); // Load the offset/sizes of the video's audio data _soundFrames.reserve(_header._numFrames); @@ -93,40 +94,20 @@ bool RL2Decoder::loadStream(Common::SeekableReadStream *stream) { } const Common::List *RL2Decoder::getDirtyRects() const { - const Track *track = getTrack(1); - - if (track) - return ((const RL2VideoTrack *)track)->getDirtyRects(); + if (_videoTrack) + return _videoTrack->getDirtyRects(); return 0; } void RL2Decoder::clearDirtyRects() { - Track *track = getTrack(1); - - if (track) - ((RL2VideoTrack *)track)->clearDirtyRects(); + if (_videoTrack) + _videoTrack->clearDirtyRects(); } void RL2Decoder::copyDirtyRectsToBuffer(uint8 *dst, uint pitch) { - Track *track = getTrack(1); - - if (track) - ((RL2VideoTrack *)track)->copyDirtyRectsToBuffer(dst, pitch); -} - -RL2Decoder::RL2VideoTrack *RL2Decoder::getVideoTrack() { - Track *track = getTrack(1); - assert(track); - - return (RL2VideoTrack *)track; -} - -RL2Decoder::RL2AudioTrack *RL2Decoder::getAudioTrack() { - Track *track = getTrack(0); - assert(track); - - return (RL2AudioTrack *)track; + if (_videoTrack) + _videoTrack->copyDirtyRectsToBuffer(dst, pitch); } void RL2Decoder::readNextPacket() { diff --git a/engines/voyeur/animation.h b/engines/voyeur/animation.h index 8ebebaaada..b8f0c57832 100644 --- a/engines/voyeur/animation.h +++ b/engines/voyeur/animation.h @@ -150,6 +150,8 @@ private: }; private: + RL2AudioTrack *_audioTrack; + RL2VideoTrack *_videoTrack; Common::SeekableReadStream *_fileStream; Audio::Mixer::SoundType _soundType; RL2FileHeader _header; @@ -171,8 +173,8 @@ public: const Common::List *getDirtyRects() const; void clearDirtyRects(); void copyDirtyRectsToBuffer(uint8 *dst, uint pitch); - RL2VideoTrack *getVideoTrack(); - RL2AudioTrack *getAudioTrack(); + RL2VideoTrack *getVideoTrack() { return _videoTrack; } + RL2AudioTrack *getAudioTrack() { return _audioTrack; } int getPaletteStart() const { return _paletteStart; } int getPaletteCount() const { return _header._colorCount; } const RL2FileHeader &getHeader() { return _header; } -- cgit v1.2.3 From 49e3c9bcd20e12b0872e6e7b11416632c49190a7 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Tue, 4 Feb 2014 20:35:42 -0500 Subject: VOYEUR: Moved RL2Decoder::seek to be seekIntern --- engines/voyeur/animation.cpp | 4 ++-- engines/voyeur/animation.h | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/engines/voyeur/animation.cpp b/engines/voyeur/animation.cpp index ca924d3b2b..7dc53b9e60 100644 --- a/engines/voyeur/animation.cpp +++ b/engines/voyeur/animation.cpp @@ -126,9 +126,9 @@ void RL2Decoder::readNextPacket() { } } -bool RL2Decoder::seek(const Audio::Timestamp &where) { +bool RL2Decoder::seekIntern(const Audio::Timestamp &where) { _soundFrameNumber = -1; - return VideoDecoder::seek(where); + return VideoDecoder::seekIntern(where); } void RL2Decoder::close() { diff --git a/engines/voyeur/animation.h b/engines/voyeur/animation.h index b8f0c57832..43dd6a02b1 100644 --- a/engines/voyeur/animation.h +++ b/engines/voyeur/animation.h @@ -168,7 +168,7 @@ public: virtual void readNextPacket(); virtual void close(); - virtual bool seek(const Audio::Timestamp &where); + virtual bool seekIntern(const Audio::Timestamp &time); const Common::List *getDirtyRects() const; void clearDirtyRects(); -- cgit v1.2.3 From f075f0336ea4f3315334f77d63836455c6a28e51 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Tue, 4 Feb 2014 22:23:15 -0500 Subject: VOYEUR: Convert ControlResource::_ptr raw data to a deserialized state object --- engines/voyeur/data.cpp | 31 +++++----- engines/voyeur/files.cpp | 41 +++++++++++-- engines/voyeur/files.h | 23 ++++++- engines/voyeur/files_threads.cpp | 126 ++++++++++++++++++++------------------- engines/voyeur/voyeur.cpp | 4 +- engines/voyeur/voyeur_game.cpp | 25 ++++---- 6 files changed, 153 insertions(+), 97 deletions(-) diff --git a/engines/voyeur/data.cpp b/engines/voyeur/data.cpp index ed308f4c2a..9f528c1a76 100644 --- a/engines/voyeur/data.cpp +++ b/engines/voyeur/data.cpp @@ -237,7 +237,7 @@ void SVoy::reviewComputerEvent(int eventIndex) { } bool SVoy::checkForKey() { - WRITE_LE_UINT32(_vm->_controlPtr->_ptr + 8, 0); + _vm->_controlPtr->_state->_v2 = 0; if (_vm->_voy._victimMurdered) return false; @@ -247,25 +247,25 @@ bool SVoy::checkForKey() { switch (e._type) { case EVTYPE_VIDEO: - switch (READ_LE_UINT32(_vm->_controlPtr->_ptr + 4)) { + switch (_vm->_controlPtr->_state->_v1) { case 1: if (e._audioVideoId == 33 && e._computerOn < 2 && e._computerOff >= 38) - WRITE_LE_UINT32(_vm->_controlPtr->_ptr + 8, 1); + _vm->_controlPtr->_state->_v2 = 1; break; case 2: if (e._audioVideoId == 47 && e._computerOn < 2 && e._computerOff >= 9) - WRITE_LE_UINT32(_vm->_controlPtr->_ptr + 8, 2); + _vm->_controlPtr->_state->_v2 = 2; break; case 3: if (e._audioVideoId == 46 && e._computerOn < 2 && e._computerOff > 2) - WRITE_LE_UINT32(_vm->_controlPtr->_ptr + 8, 3); + _vm->_controlPtr->_state->_v2 = 3; break; case 4: if (e._audioVideoId == 40 && e._computerOn < 2 && e._computerOff > 6) - WRITE_LE_UINT32(_vm->_controlPtr->_ptr + 8, 4); + _vm->_controlPtr->_state->_v2 = 4; break; default: @@ -274,17 +274,17 @@ bool SVoy::checkForKey() { break; case EVTYPE_AUDIO: - switch (READ_LE_UINT32(_vm->_controlPtr->_ptr + 4)) { + switch (_vm->_controlPtr->_state->_v1) { case 1: if (e._audioVideoId == 8 && e._computerOn < 2 && e._computerOff > 26) - WRITE_LE_UINT32(_vm->_controlPtr->_ptr + 8, 1); + _vm->_controlPtr->_state->_v2 = 1; break; case 3: if (e._audioVideoId == 20 && e._computerOn < 2 && e._computerOff > 28) - WRITE_LE_UINT32(_vm->_controlPtr->_ptr + 8, 3); + _vm->_controlPtr->_state->_v2 = 3; if (e._audioVideoId == 35 && e._computerOn < 2 && e._computerOff > 18) - WRITE_LE_UINT32(_vm->_controlPtr->_ptr + 8, 3); + _vm->_controlPtr->_state->_v2 = 3; break; default: @@ -293,10 +293,10 @@ bool SVoy::checkForKey() { break; case EVTYPE_EVID: - switch (READ_LE_UINT32(_vm->_controlPtr->_ptr + 4)) { + switch (_vm->_controlPtr->_state->_v1) { case 4: if (e._audioVideoId == 0x2400 && e._computerOn == 0x4f00 && e._computerOff == 17) - WRITE_LE_UINT32(_vm->_controlPtr->_ptr + 8, 4); + _vm->_controlPtr->_state->_v2 = 4; default: break; @@ -304,10 +304,10 @@ bool SVoy::checkForKey() { break; case EVTYPE_COMPUTER: - switch (READ_LE_UINT32(_vm->_controlPtr->_ptr + 4)) { + switch (_vm->_controlPtr->_state->_v1) { case 2: if (e._computerOn == 13 && e._computerOff > 76) - WRITE_LE_UINT32(_vm->_controlPtr->_ptr + 8, 2); + _vm->_controlPtr->_state->_v2 = 2; break; default: @@ -316,8 +316,7 @@ bool SVoy::checkForKey() { break; } - if (READ_LE_UINT32(_vm->_controlPtr->_ptr + 8) == - READ_LE_UINT32(_vm->_controlPtr->_ptr + 4)) + if (_vm->_controlPtr->_state->_v2 == _vm->_controlPtr->_state->_v1) return true; } diff --git a/engines/voyeur/files.cpp b/engines/voyeur/files.cpp index ce2ebc5985..e39c1613de 100644 --- a/engines/voyeur/files.cpp +++ b/engines/voyeur/files.cpp @@ -565,6 +565,9 @@ void StampBoltFile::initResource(int resType) { case 0: initThread(); break; + case 4: + initState(); + break; case 6: initPtr(); break; @@ -591,6 +594,9 @@ void StampBoltFile::initPtr() { _state._curMemberPtr->_data); } + void initControlData(); + + void StampBoltFile::initControl() { initDefault(); @@ -602,6 +608,14 @@ void StampBoltFile::initControl() { _state._vm->_controlPtr = res; } +void StampBoltFile::initState() { + initDefault(); + + assert(_state._curMemberPtr->_size == 16); + _state._curMemberPtr->_stateResource = new StateResource(_state, + _state._curMemberPtr->_data); +} + /*------------------------------------------------------------------------*/ BoltGroup::BoltGroup(Common::SeekableReadStream *f): _file(f) { @@ -650,7 +664,9 @@ BoltEntry::BoltEntry(Common::SeekableReadStream *f, uint16 id): _file(f), _id(id _fontInfoResource = nullptr; _cMapResource = nullptr; _vInitCycleResource = nullptr; + _ptrResource = nullptr; + _stateResource = nullptr; _controlResource = nullptr; _vInitCycleResource = nullptr; _threadResource = nullptr; @@ -674,9 +690,12 @@ BoltEntry::~BoltEntry() { delete _fontResource; delete _fontInfoResource; delete _cMapResource; - delete _vInitCycleResource; + delete _ptrResource; delete _controlResource; + delete _stateResource; + delete _vInitCycleResource; + delete _threadResource; } void BoltEntry::load() { @@ -690,7 +709,7 @@ bool BoltEntry::hasResource() const { return _rectResource || _picResource || _viewPortResource || _viewPortListResource || _fontResource || _fontInfoResource || _cMapResource || _vInitCycleResource - || _ptrResource || _controlResource || _threadResource; + || _ptrResource || _controlResource || _stateResource || _threadResource; } /*------------------------------------------------------------------------*/ @@ -1604,9 +1623,10 @@ PtrResource::PtrResource(BoltFilesState &state, const byte *src) { /*------------------------------------------------------------------------*/ ControlResource::ControlResource(BoltFilesState &state, const byte *src) { - // Get pointer - uint32 ptrId = READ_LE_UINT32(&src[0x32]); - state._curLibPtr->resolveIt(ptrId, &_ptr); + // Get Id for the state data. Since it refers to a following entry in the same + // group, for simplicity we set the _state back in the main playStamp method + _stateId = READ_LE_UINT32(&src[0x32]); + _state = nullptr; for (int i = 0; i < 8; ++i) _memberIds[i] = READ_LE_UINT16(src + i * 2); @@ -1624,4 +1644,15 @@ ControlResource::ControlResource(BoltFilesState &state, const byte *src) { /*------------------------------------------------------------------------*/ +StateResource::StateResource(BoltFilesState &state, const byte *src): + _v0(_vals[0]), _v1(_vals[1]), _v2(_vals[2]), _v3(_vals[3]) { + for (int i = 0; i < 4; ++i) + _vals[i] = READ_LE_UINT32(src + i * 4); +} + +void StateResource::synchronize(Common::Serializer &s) { + for (int i = 0; i < 4; ++i) + s.syncAsSint32LE(_vals[i]); +} + } // End of namespace Voyeur diff --git a/engines/voyeur/files.h b/engines/voyeur/files.h index 7cdb61f4e8..a0d66550b9 100644 --- a/engines/voyeur/files.h +++ b/engines/voyeur/files.h @@ -44,6 +44,7 @@ class CMapResource; class VInitCycleResource; class PtrResource; class ControlResource; +class StateResource; class ThreadResource; #define DECOMPRESS_SIZE 0x7000 @@ -158,6 +159,7 @@ public: class StampBoltFile: public BoltFile { private: void initThread(); + void initState(); void initPtr(); void initControl(); protected: @@ -212,6 +214,7 @@ public: // stampblt.blt resource types PtrResource *_ptrResource; ControlResource *_controlResource; + StateResource *_stateResource; ThreadResource *_threadResource; public: BoltEntry(Common::SeekableReadStream *f, uint16 id); @@ -484,12 +487,30 @@ class ControlResource { public: int _memberIds[8]; byte *_entries[8]; - byte *_ptr; + int _stateId; + StateResource *_state; ControlResource(BoltFilesState &state, const byte *src); virtual ~ControlResource() {} }; +class StateResource { +public: + int _vals[4]; + int &_v0; + int &_v1; + int &_v2; + int &_v3; + + StateResource(BoltFilesState &state, const byte *src); + virtual ~StateResource() {} + + /** + * Synchronizes the game data + */ + void synchronize(Common::Serializer &s); +}; + class ThreadResource { public: static int _useCount[8]; diff --git a/engines/voyeur/files_threads.cpp b/engines/voyeur/files_threads.cpp index b766733699..57d878f9cd 100644 --- a/engines/voyeur/files_threads.cpp +++ b/engines/voyeur/files_threads.cpp @@ -370,7 +370,7 @@ void ThreadResource::parsePlayCommands() { // Play an audio event v2 = READ_LE_UINT16(dataP); - if (v2 == 0 || READ_LE_UINT16(_vm->_controlPtr->_ptr + 4) == v2) { + if (v2 == 0 || _vm->_controlPtr->_state->_v1 == v2) { _vm->_audioVideoId = READ_LE_UINT16(dataP + 2) - 1; _vm->_voy._field468 = READ_LE_UINT16(dataP + 4); _vm->_voy._field46A = READ_LE_UINT16(dataP + 6); @@ -401,7 +401,7 @@ void ThreadResource::parsePlayCommands() { // Play a video event v2 = READ_LE_UINT16(dataP); - if (v2 == 0 || READ_LE_UINT16(_vm->_controlPtr->_ptr + 4) == v2) { + if (v2 == 0 || _vm->_controlPtr->_state->_v1 == v2) { _vm->_audioVideoId = READ_LE_UINT16(dataP + 2) - 1; _vm->_voy._field468 = READ_LE_UINT16(dataP + 4); _vm->_voy._field46A = READ_LE_UINT16(dataP + 6); @@ -512,7 +512,7 @@ void ThreadResource::parsePlayCommands() { // Check whether transition to a given time period is allowed, and // if so, load the time information for the new time period v2 = READ_LE_UINT16(dataP); - if (v2 == 0 || READ_LE_UINT16(_vm->_controlPtr->_ptr + 4) == v2) { + if (v2 == 0 || _vm->_controlPtr->_state->_v1 == v2) { _vm->_voy._field470 = 5; int count = READ_LE_UINT16(dataP + 2); _vm->_voy._RTVLimit = READ_LE_UINT16(dataP + 4); @@ -547,7 +547,7 @@ void ThreadResource::parsePlayCommands() { v2 = READ_LE_UINT16(dataP); v3 = READ_LE_UINT16(dataP + 2) - 1; - if (v2 == 0 || READ_LE_UINT16(_vm->_controlPtr->_ptr + 4) == v2) { + if (v2 == 0 || _vm->_controlPtr->_state->_v1 == v2) { int idx = 0; while (_vm->_voy._videoHotspotTimes._min[idx][v3] != 9999) ++idx; @@ -565,7 +565,7 @@ void ThreadResource::parsePlayCommands() { v2 = READ_LE_UINT16(dataP); v3 = READ_LE_UINT16(dataP + 2) - 1; - if (v2 == 0 || READ_LE_UINT16(_vm->_controlPtr->_ptr + 4) == v2) { + if (v2 == 0 || _vm->_controlPtr->_state->_v1 == v2) { int idx = 0; while (_vm->_voy._audioHotspotTimes._min[idx][v3] != 9999) ++idx; @@ -583,7 +583,7 @@ void ThreadResource::parsePlayCommands() { v2 = READ_LE_UINT16(dataP); v3 = READ_LE_UINT16(dataP + 2) - 1; - if (v2 == 0 || READ_LE_UINT16(_vm->_controlPtr->_ptr + 4) == v2) { + if (v2 == 0 || _vm->_controlPtr->_state->_v1 == v2) { int idx = 0; while (_vm->_voy._evidenceHotspotTimes._min[idx][v3] != 9999) ++idx; @@ -608,11 +608,11 @@ void ThreadResource::parsePlayCommands() { } while (randomVal == _vm->_voy._victimNumber); _vm->_voy._victimNumber = randomVal; - WRITE_LE_UINT16(_vm->_controlPtr->_ptr + 4, randomVal); + _vm->_controlPtr->_state->_v1 = randomVal; } else { // Player has seen something that locks in the character to die _vm->_voy._victimNumber = _vm->_iForceDeath; - WRITE_LE_UINT16(_vm->_controlPtr->_ptr + 4, _vm->_iForceDeath); + _vm->_controlPtr->_state->_v1 = _vm->_iForceDeath; } _vm->saveLastInplay(); @@ -625,7 +625,7 @@ void ThreadResource::parsePlayCommands() { case 12: v2 = READ_LE_UINT16(dataP); - if (v2 == 0 || READ_LE_UINT16(_vm->_controlPtr->_ptr + 4) == v2) { + if (v2 == 0 || _vm->_controlPtr->_state->_v1 == v2) { _vm->_voy._boltGroupId2 = _vm->_resolvePtr[READ_LE_UINT16(dataP + 2)]; _vm->_voy._roomHotspotsEnabled[READ_LE_UINT16(dataP + 4) - 1] = true; } @@ -636,7 +636,7 @@ void ThreadResource::parsePlayCommands() { case 13: v2 = READ_LE_UINT16(dataP); - if (v2 == 0 || READ_LE_UINT16(_vm->_controlPtr->_ptr + 4) == v2) { + if (v2 == 0 || _vm->_controlPtr->_state->_v1 == v2) { _vm->_voy._computerTextId = READ_LE_UINT16(dataP + 2); _vm->_voy._computerTimeMin = READ_LE_UINT16(dataP + 4); _vm->_voy._computerTimeMax = READ_LE_UINT16(dataP + 6); @@ -673,7 +673,7 @@ void ThreadResource::parsePlayCommands() { v2 = READ_LE_UINT16(dataP); v3 = READ_LE_UINT16(dataP + 2); - if (v2 == 0 || READ_LE_UINT16(_vm->_controlPtr->_ptr + 4) == v2) + if (v2 == 0 || _vm->_controlPtr->_state->_v1 == v2) _vm->_voy._murderThreshold = v3; dataP += 4; @@ -715,9 +715,6 @@ void ThreadResource::parsePlayCommands() { } const byte *ThreadResource::cardPerform(const byte *card) { - const byte *p2; - byte *pDest; - uint16 id = *card++; int varD = 5; uint32 v2; @@ -730,82 +727,87 @@ const byte *ThreadResource::cardPerform(const byte *card) { case 1: v2 = READ_LE_UINT32(card); card += 4; - WRITE_LE_UINT32(_vm->_controlPtr->_ptr + (*card << 2), v2); - ++card; + _vm->_controlPtr->_state->_vals[*card++] = v2; break; case 2: - v2 = READ_LE_UINT32(_vm->_controlPtr->_ptr + (*card++ << 2)), - WRITE_LE_UINT32(_vm->_controlPtr->_ptr + (*card++ << 2), v2); + v2 = _vm->_controlPtr->_state->_vals[*card++]; + _vm->_controlPtr->_state->_vals[*card++] = v2; break; case 3: v2 = READ_LE_UINT32(card); card += 4; - WRITE_LE_UINT32(_vm->_controlPtr->_ptr + (*card++ << 2), v2); + _vm->_controlPtr->_state->_vals[*card++] = v2; break; case 4: - v2 = READ_LE_UINT32(_vm->_controlPtr->_ptr + (*card++ << 2)); - WRITE_LE_UINT32(_vm->_controlPtr->_ptr + (*card++ << 2), v2); + v2 = _vm->_controlPtr->_state->_vals[*card++]; + _vm->_controlPtr->_state->_vals[*card++] = v2; break; - case 5: + case 5: { v2 = READ_LE_UINT32(card); card += 4; - pDest = _vm->_controlPtr->_ptr + (*card++ << 2); - WRITE_LE_UINT32(pDest, READ_LE_UINT32(pDest) - v2); + int &v = _vm->_controlPtr->_state->_vals[*card++]; + v -= v2; break; + } - case 6: + case 6: { idx1 = *card++; idx2 = *card++; - v2 = READ_LE_UINT32(_vm->_controlPtr->_ptr + idx2); - pDest = _vm->_controlPtr->_ptr + idx1; - WRITE_LE_UINT32(pDest, READ_LE_UINT32(pDest) - v2); + v2 = _vm->_controlPtr->_state->_vals[idx1]; + int &v = _vm->_controlPtr->_state->_vals[idx2]; + v -= v2; break; + } - case 7: + case 7: { v3 = *card++; v2 = READ_LE_UINT32(card); card += 4; - pDest = _vm->_controlPtr->_ptr + (v3 << 2); - WRITE_LE_UINT32(pDest, READ_LE_UINT32(pDest) * v2); + int &v = _vm->_controlPtr->_state->_vals[v3]; + v *= v2; break; + } - case 8: + case 8: { idx1 = *card++; idx2 = *card++; - pDest = _vm->_controlPtr->_ptr + (idx1 << 2); - p2 = _vm->_controlPtr->_ptr + (idx2 << 2); - WRITE_LE_UINT32(pDest, READ_LE_UINT32(pDest) * READ_LE_UINT32(p2)); + int &v1 = _vm->_controlPtr->_state->_vals[idx1]; + int &v2 = _vm->_controlPtr->_state->_vals[idx2]; + v1 *= v2; break; + } - case 9: + case 9: { idx1 = *card++; v2 = READ_LE_UINT32(card); card += 4; - pDest = _vm->_controlPtr->_ptr + (idx1 << 2); - WRITE_LE_UINT32(pDest, READ_LE_UINT32(pDest) / v2); + int &v = _vm->_controlPtr->_state->_vals[idx1]; + v /= v2; break; + } - case 10: + case 10: { idx1 = *card++; idx2 = *card++; - pDest = _vm->_controlPtr->_ptr + (idx1 << 2); - p2 = _vm->_controlPtr->_ptr + (idx2 << 2); - WRITE_LE_UINT32(pDest, READ_LE_UINT32(pDest) / READ_LE_UINT32(p2)); + int &v1 = _vm->_controlPtr->_state->_vals[idx1]; + int &v2 = _vm->_controlPtr->_state->_vals[idx2]; + v1 /= v2; break; - + } + case 11: v2 = READ_LE_UINT32(card); card += 4; v2 = _vm->getRandomNumber(v2 - 1) + 1; - WRITE_LE_UINT32(_vm->_controlPtr->_ptr + (*card++ << 2), v2); + _vm->_controlPtr->_state->_vals[*card++] = v2; break; case 17: @@ -815,7 +817,7 @@ const byte *ThreadResource::cardPerform(const byte *card) { break; case 18: - v2 = READ_LE_UINT32(_vm->_controlPtr->_ptr + (*card++ << 2)); + v2 = _vm->_controlPtr->_state->_vals[*card++]; _vm->_glGoState = getStateFromID(v2); break; @@ -921,45 +923,45 @@ const byte *ThreadResource::cardPerform(const byte *card) { } bool ThreadResource::cardPerform2(const byte *pSrc, int cardCmdId) { - uint32 vLong, vLong2; + int vLong, vLong2; switch (cardCmdId) { case 21: - vLong = READ_LE_UINT32(pSrc + 1); - return READ_LE_UINT32(_vm->_controlPtr->_ptr + (*pSrc << 2)) == vLong; + vLong = (int32)READ_LE_UINT32(pSrc + 1); + return _vm->_controlPtr->_state->_vals[*pSrc] == vLong; case 22: - vLong = READ_LE_UINT32(pSrc + 1); - return READ_LE_UINT32(_vm->_controlPtr->_ptr + (*pSrc << 2)) != vLong; + vLong = (int32)READ_LE_UINT32(pSrc + 1); + return _vm->_controlPtr->_state->_vals[*pSrc] != vLong; case 23: - vLong = READ_LE_UINT32(_vm->_controlPtr->_ptr + (*pSrc << 2)); - vLong2 = READ_LE_UINT32(_vm->_controlPtr->_ptr + (*(pSrc + 1) << 2)); + vLong = _vm->_controlPtr->_state->_vals[*pSrc]; + vLong2 = _vm->_controlPtr->_state->_vals[*(pSrc + 1)]; return vLong == vLong2; case 24: - vLong = READ_LE_UINT32(_vm->_controlPtr->_ptr + (*pSrc << 2)); - vLong2 = READ_LE_UINT32(_vm->_controlPtr->_ptr + (*(pSrc + 1) << 2)); + vLong = _vm->_controlPtr->_state->_vals[*pSrc]; + vLong2 = _vm->_controlPtr->_state->_vals[*(pSrc + 1)]; return vLong != vLong2; case 25: - vLong = READ_LE_UINT32(_vm->_controlPtr->_ptr + (*pSrc << 2)); - vLong2 = READ_LE_UINT32(pSrc + 1); + vLong = _vm->_controlPtr->_state->_vals[*pSrc]; + vLong2 = (int32)READ_LE_UINT32(pSrc + 1); return vLong < vLong2; case 26: - vLong = READ_LE_UINT32(_vm->_controlPtr->_ptr + (*pSrc << 2)); - vLong2 = READ_LE_UINT32(pSrc + 1); + vLong = _vm->_controlPtr->_state->_vals[*pSrc]; + vLong2 = (int32)READ_LE_UINT32(pSrc + 1); return vLong > vLong2; case 27: - vLong = READ_LE_UINT32(_vm->_controlPtr->_ptr + (*pSrc << 2)); - vLong2 = READ_LE_UINT32(_vm->_controlPtr->_ptr + (*(pSrc + 1) << 2)); + vLong = _vm->_controlPtr->_state->_vals[*pSrc]; + vLong2 = _vm->_controlPtr->_state->_vals[*(pSrc + 1)]; return vLong < vLong2; case 28: - vLong = READ_LE_UINT32(_vm->_controlPtr->_ptr + (*pSrc << 2)); - vLong2 = READ_LE_UINT32(_vm->_controlPtr->_ptr + (*(pSrc + 1) << 2)); + vLong = _vm->_controlPtr->_state->_vals[*pSrc]; + vLong2 = _vm->_controlPtr->_state->_vals[*(pSrc + 1)]; return vLong > vLong2; default: diff --git a/engines/voyeur/voyeur.cpp b/engines/voyeur/voyeur.cpp index 1142599f12..890229762b 100644 --- a/engines/voyeur/voyeur.cpp +++ b/engines/voyeur/voyeur.cpp @@ -696,8 +696,7 @@ void VoyeurEngine::flipPageAndWaitForFade() { void VoyeurEngine::showEndingNews() { _playStampGroupId = (_voy._field4382 - 1) * 256 + 0x7700; - _voy._boltGroupId2 = (READ_LE_UINT16(_controlPtr->_ptr + 4) - - 1) * 256 + 0x7B00; + _voy._boltGroupId2 = (_controlPtr->_state->_v1 - 1) * 256 + 0x7B00; _bVoy->getBoltGroup(_playStampGroupId); _bVoy->getBoltGroup(_voy._boltGroupId2); @@ -857,6 +856,7 @@ void VoyeurEngine::synchronize(Common::Serializer &s) { _voy.synchronize(s); _graphicsManager.synchronize(s); _mainThread->synchronize(s); + _controlPtr->_state->synchronize(s); } /*------------------------------------------------------------------------*/ diff --git a/engines/voyeur/voyeur_game.cpp b/engines/voyeur/voyeur_game.cpp index cfd0b6083a..747e0edac3 100644 --- a/engines/voyeur/voyeur_game.cpp +++ b/engines/voyeur/voyeur_game.cpp @@ -31,6 +31,9 @@ void VoyeurEngine::playStamp() { _filesManager.openBoltLib("stampblt.blt", _stampLibPtr); _stampLibPtr->getBoltGroup(0); + _controlPtr->_state = _stampLibPtr->boltEntry(_controlPtr->_stateId >> 16)._stateResource; + assert(_controlPtr->_state); + _resolvePtr = &RESOLVE_TABLE[0]; initStamp(); @@ -640,7 +643,7 @@ void VoyeurEngine::reviewTape() { pt = _eventsManager.getMousePos(); if (_eventsManager._mouseClicked && _voy._viewBounds->left == pt.x && (_voy._eventFlags & EVTFLAG_40) && _eventsManager._rightClick) { - WRITE_LE_UINT32(_controlPtr->_ptr + 4, (pt.y / 60) + 1); + _controlPtr->_state->_v1 = (pt.y / 60) + 1; foundIndex = -1; _eventsManager._rightClick = 0; } @@ -806,38 +809,38 @@ void VoyeurEngine::doTapePlaying() { } bool VoyeurEngine::checkForMurder() { - int v = READ_LE_UINT32(_controlPtr->_ptr + 12); + int v = _controlPtr->_state->_v3; for (int idx = 0; idx < _voy._eventCount; ++idx) { VoyeurEvent &evt = _voy._events[idx]; if (evt._type == EVTYPE_VIDEO) { - switch (READ_LE_UINT32(_controlPtr->_ptr + 4)) { + switch (_controlPtr->_state->_v1) { case 1: if (evt._audioVideoId == 41 && evt._computerOn <= 15 && (evt._computerOff + evt._computerOn) >= 16) { - WRITE_LE_UINT32(_controlPtr->_ptr + 12, 1); + _controlPtr->_state->_v3 = 1; } break; case 2: if (evt._audioVideoId == 53 && evt._computerOn <= 19 && (evt._computerOff + evt._computerOn) >= 21) { - WRITE_LE_UINT32(_controlPtr->_ptr + 12, 2); + _controlPtr->_state->_v3 = 2; } break; case 3: if (evt._audioVideoId == 50 && evt._computerOn <= 28 && (evt._computerOff + evt._computerOn) >= 29) { - WRITE_LE_UINT32(_controlPtr->_ptr + 12, 3); + _controlPtr->_state->_v3 = 3; } break; case 4: if (evt._audioVideoId == 43 && evt._computerOn <= 10 && (evt._computerOff + evt._computerOn) >= 14) { - WRITE_LE_UINT32(_controlPtr->_ptr + 12, 4); + _controlPtr->_state->_v3 = 4; } break; @@ -846,13 +849,13 @@ bool VoyeurEngine::checkForMurder() { } } - if (READ_LE_UINT32(_controlPtr->_ptr + 12) == READ_LE_UINT32(_controlPtr->_ptr + 4)) { + if (_controlPtr->_state->_v3 == _controlPtr->_state->_v1) { _voy._videoEventId = idx; return true; } } - WRITE_LE_UINT32(_controlPtr->_ptr + 12, v); + _controlPtr->_state->_v3 = v; _voy._videoEventId = -1; return false; } @@ -891,7 +894,7 @@ bool VoyeurEngine::checkForIncriminate() { } if (_voy._field4382) { - WRITE_LE_UINT32(_controlPtr->_ptr + 12, 88); + _controlPtr->_state->_v3 = 88; _voy._videoEventId = idx; return true; } @@ -951,7 +954,7 @@ int VoyeurEngine::getChooseButton() { for (uint idx = 0; idx < hotspots.size(); ++idx) { if (hotspots[idx].contains(pt)) { - if (!_voy._victimMurdered || (idx + 1) != READ_LE_UINT32(_controlPtr->_ptr + 4)) { + if (!_voy._victimMurdered || ((int)idx + 1) != _controlPtr->_state->_v1) { selectedIndex = idx; if (selectedIndex != prevIndex) { PictureResource *btnPic = _bVoy->boltEntry(_playStampGroupId + 8 + idx)._picResource; -- cgit v1.2.3 From eca87a63e9215ee6f37f62d5c9bb2389362512ee Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Tue, 4 Feb 2014 22:38:35 -0500 Subject: VOYEUR: Renamings for the fields of the new StateResource class --- engines/voyeur/data.cpp | 31 +++++++++++++++---------------- engines/voyeur/files.cpp | 3 ++- engines/voyeur/files.h | 10 ++++++---- engines/voyeur/files_threads.cpp | 22 +++++++++++----------- engines/voyeur/voyeur.cpp | 2 +- engines/voyeur/voyeur_game.cpp | 22 +++++++++++----------- 6 files changed, 46 insertions(+), 44 deletions(-) diff --git a/engines/voyeur/data.cpp b/engines/voyeur/data.cpp index 9f528c1a76..f0521d28d2 100644 --- a/engines/voyeur/data.cpp +++ b/engines/voyeur/data.cpp @@ -237,35 +237,34 @@ void SVoy::reviewComputerEvent(int eventIndex) { } bool SVoy::checkForKey() { - _vm->_controlPtr->_state->_v2 = 0; + _vm->_controlPtr->_state->_victimEvidenceIndex = 0; if (_vm->_voy._victimMurdered) return false; for (int eventIdx = 0; eventIdx < _eventCount; ++eventIdx) { VoyeurEvent &e = _events[eventIdx]; - int v1; switch (e._type) { case EVTYPE_VIDEO: - switch (_vm->_controlPtr->_state->_v1) { + switch (_vm->_controlPtr->_state->_victimIndex) { case 1: if (e._audioVideoId == 33 && e._computerOn < 2 && e._computerOff >= 38) - _vm->_controlPtr->_state->_v2 = 1; + _vm->_controlPtr->_state->_victimEvidenceIndex = 1; break; case 2: if (e._audioVideoId == 47 && e._computerOn < 2 && e._computerOff >= 9) - _vm->_controlPtr->_state->_v2 = 2; + _vm->_controlPtr->_state->_victimEvidenceIndex = 2; break; case 3: if (e._audioVideoId == 46 && e._computerOn < 2 && e._computerOff > 2) - _vm->_controlPtr->_state->_v2 = 3; + _vm->_controlPtr->_state->_victimEvidenceIndex = 3; break; case 4: if (e._audioVideoId == 40 && e._computerOn < 2 && e._computerOff > 6) - _vm->_controlPtr->_state->_v2 = 4; + _vm->_controlPtr->_state->_victimEvidenceIndex = 4; break; default: @@ -274,17 +273,17 @@ bool SVoy::checkForKey() { break; case EVTYPE_AUDIO: - switch (_vm->_controlPtr->_state->_v1) { + switch (_vm->_controlPtr->_state->_victimIndex) { case 1: if (e._audioVideoId == 8 && e._computerOn < 2 && e._computerOff > 26) - _vm->_controlPtr->_state->_v2 = 1; + _vm->_controlPtr->_state->_victimEvidenceIndex = 1; break; case 3: if (e._audioVideoId == 20 && e._computerOn < 2 && e._computerOff > 28) - _vm->_controlPtr->_state->_v2 = 3; + _vm->_controlPtr->_state->_victimEvidenceIndex = 3; if (e._audioVideoId == 35 && e._computerOn < 2 && e._computerOff > 18) - _vm->_controlPtr->_state->_v2 = 3; + _vm->_controlPtr->_state->_victimEvidenceIndex = 3; break; default: @@ -293,10 +292,10 @@ bool SVoy::checkForKey() { break; case EVTYPE_EVID: - switch (_vm->_controlPtr->_state->_v1) { + switch (_vm->_controlPtr->_state->_victimIndex) { case 4: if (e._audioVideoId == 0x2400 && e._computerOn == 0x4f00 && e._computerOff == 17) - _vm->_controlPtr->_state->_v2 = 4; + _vm->_controlPtr->_state->_victimEvidenceIndex = 4; default: break; @@ -304,10 +303,10 @@ bool SVoy::checkForKey() { break; case EVTYPE_COMPUTER: - switch (_vm->_controlPtr->_state->_v1) { + switch (_vm->_controlPtr->_state->_victimIndex) { case 2: if (e._computerOn == 13 && e._computerOff > 76) - _vm->_controlPtr->_state->_v2 = 2; + _vm->_controlPtr->_state->_victimEvidenceIndex = 2; break; default: @@ -316,7 +315,7 @@ bool SVoy::checkForKey() { break; } - if (_vm->_controlPtr->_state->_v2 == _vm->_controlPtr->_state->_v1) + if (_vm->_controlPtr->_state->_victimEvidenceIndex == _vm->_controlPtr->_state->_victimIndex) return true; } diff --git a/engines/voyeur/files.cpp b/engines/voyeur/files.cpp index e39c1613de..1f83eb6622 100644 --- a/engines/voyeur/files.cpp +++ b/engines/voyeur/files.cpp @@ -1645,7 +1645,8 @@ ControlResource::ControlResource(BoltFilesState &state, const byte *src) { /*------------------------------------------------------------------------*/ StateResource::StateResource(BoltFilesState &state, const byte *src): - _v0(_vals[0]), _v1(_vals[1]), _v2(_vals[2]), _v3(_vals[3]) { + _victimIndex(_vals[1]), _victimEvidenceIndex(_vals[2]), + _victimMurderIndex(_vals[3]) { for (int i = 0; i < 4; ++i) _vals[i] = READ_LE_UINT32(src + i * 4); } diff --git a/engines/voyeur/files.h b/engines/voyeur/files.h index a0d66550b9..476014815a 100644 --- a/engines/voyeur/files.h +++ b/engines/voyeur/files.h @@ -494,13 +494,15 @@ public: virtual ~ControlResource() {} }; +/** + * Stores data about the intended victim + */ class StateResource { public: int _vals[4]; - int &_v0; - int &_v1; - int &_v2; - int &_v3; + int &_victimIndex; + int &_victimEvidenceIndex; + int &_victimMurderIndex; StateResource(BoltFilesState &state, const byte *src); virtual ~StateResource() {} diff --git a/engines/voyeur/files_threads.cpp b/engines/voyeur/files_threads.cpp index 57d878f9cd..ba85ec2e80 100644 --- a/engines/voyeur/files_threads.cpp +++ b/engines/voyeur/files_threads.cpp @@ -370,7 +370,7 @@ void ThreadResource::parsePlayCommands() { // Play an audio event v2 = READ_LE_UINT16(dataP); - if (v2 == 0 || _vm->_controlPtr->_state->_v1 == v2) { + if (v2 == 0 || _vm->_controlPtr->_state->_victimIndex == v2) { _vm->_audioVideoId = READ_LE_UINT16(dataP + 2) - 1; _vm->_voy._field468 = READ_LE_UINT16(dataP + 4); _vm->_voy._field46A = READ_LE_UINT16(dataP + 6); @@ -401,7 +401,7 @@ void ThreadResource::parsePlayCommands() { // Play a video event v2 = READ_LE_UINT16(dataP); - if (v2 == 0 || _vm->_controlPtr->_state->_v1 == v2) { + if (v2 == 0 || _vm->_controlPtr->_state->_victimIndex == v2) { _vm->_audioVideoId = READ_LE_UINT16(dataP + 2) - 1; _vm->_voy._field468 = READ_LE_UINT16(dataP + 4); _vm->_voy._field46A = READ_LE_UINT16(dataP + 6); @@ -512,7 +512,7 @@ void ThreadResource::parsePlayCommands() { // Check whether transition to a given time period is allowed, and // if so, load the time information for the new time period v2 = READ_LE_UINT16(dataP); - if (v2 == 0 || _vm->_controlPtr->_state->_v1 == v2) { + if (v2 == 0 || _vm->_controlPtr->_state->_victimIndex == v2) { _vm->_voy._field470 = 5; int count = READ_LE_UINT16(dataP + 2); _vm->_voy._RTVLimit = READ_LE_UINT16(dataP + 4); @@ -547,7 +547,7 @@ void ThreadResource::parsePlayCommands() { v2 = READ_LE_UINT16(dataP); v3 = READ_LE_UINT16(dataP + 2) - 1; - if (v2 == 0 || _vm->_controlPtr->_state->_v1 == v2) { + if (v2 == 0 || _vm->_controlPtr->_state->_victimIndex == v2) { int idx = 0; while (_vm->_voy._videoHotspotTimes._min[idx][v3] != 9999) ++idx; @@ -565,7 +565,7 @@ void ThreadResource::parsePlayCommands() { v2 = READ_LE_UINT16(dataP); v3 = READ_LE_UINT16(dataP + 2) - 1; - if (v2 == 0 || _vm->_controlPtr->_state->_v1 == v2) { + if (v2 == 0 || _vm->_controlPtr->_state->_victimIndex == v2) { int idx = 0; while (_vm->_voy._audioHotspotTimes._min[idx][v3] != 9999) ++idx; @@ -583,7 +583,7 @@ void ThreadResource::parsePlayCommands() { v2 = READ_LE_UINT16(dataP); v3 = READ_LE_UINT16(dataP + 2) - 1; - if (v2 == 0 || _vm->_controlPtr->_state->_v1 == v2) { + if (v2 == 0 || _vm->_controlPtr->_state->_victimIndex == v2) { int idx = 0; while (_vm->_voy._evidenceHotspotTimes._min[idx][v3] != 9999) ++idx; @@ -608,11 +608,11 @@ void ThreadResource::parsePlayCommands() { } while (randomVal == _vm->_voy._victimNumber); _vm->_voy._victimNumber = randomVal; - _vm->_controlPtr->_state->_v1 = randomVal; + _vm->_controlPtr->_state->_victimIndex = randomVal; } else { // Player has seen something that locks in the character to die _vm->_voy._victimNumber = _vm->_iForceDeath; - _vm->_controlPtr->_state->_v1 = _vm->_iForceDeath; + _vm->_controlPtr->_state->_victimIndex = _vm->_iForceDeath; } _vm->saveLastInplay(); @@ -625,7 +625,7 @@ void ThreadResource::parsePlayCommands() { case 12: v2 = READ_LE_UINT16(dataP); - if (v2 == 0 || _vm->_controlPtr->_state->_v1 == v2) { + if (v2 == 0 || _vm->_controlPtr->_state->_victimIndex == v2) { _vm->_voy._boltGroupId2 = _vm->_resolvePtr[READ_LE_UINT16(dataP + 2)]; _vm->_voy._roomHotspotsEnabled[READ_LE_UINT16(dataP + 4) - 1] = true; } @@ -636,7 +636,7 @@ void ThreadResource::parsePlayCommands() { case 13: v2 = READ_LE_UINT16(dataP); - if (v2 == 0 || _vm->_controlPtr->_state->_v1 == v2) { + if (v2 == 0 || _vm->_controlPtr->_state->_victimIndex == v2) { _vm->_voy._computerTextId = READ_LE_UINT16(dataP + 2); _vm->_voy._computerTimeMin = READ_LE_UINT16(dataP + 4); _vm->_voy._computerTimeMax = READ_LE_UINT16(dataP + 6); @@ -673,7 +673,7 @@ void ThreadResource::parsePlayCommands() { v2 = READ_LE_UINT16(dataP); v3 = READ_LE_UINT16(dataP + 2); - if (v2 == 0 || _vm->_controlPtr->_state->_v1 == v2) + if (v2 == 0 || _vm->_controlPtr->_state->_victimIndex == v2) _vm->_voy._murderThreshold = v3; dataP += 4; diff --git a/engines/voyeur/voyeur.cpp b/engines/voyeur/voyeur.cpp index 890229762b..286b97ea1a 100644 --- a/engines/voyeur/voyeur.cpp +++ b/engines/voyeur/voyeur.cpp @@ -696,7 +696,7 @@ void VoyeurEngine::flipPageAndWaitForFade() { void VoyeurEngine::showEndingNews() { _playStampGroupId = (_voy._field4382 - 1) * 256 + 0x7700; - _voy._boltGroupId2 = (_controlPtr->_state->_v1 - 1) * 256 + 0x7B00; + _voy._boltGroupId2 = (_controlPtr->_state->_victimIndex - 1) * 256 + 0x7B00; _bVoy->getBoltGroup(_playStampGroupId); _bVoy->getBoltGroup(_voy._boltGroupId2); diff --git a/engines/voyeur/voyeur_game.cpp b/engines/voyeur/voyeur_game.cpp index 747e0edac3..4577fe28c9 100644 --- a/engines/voyeur/voyeur_game.cpp +++ b/engines/voyeur/voyeur_game.cpp @@ -643,7 +643,7 @@ void VoyeurEngine::reviewTape() { pt = _eventsManager.getMousePos(); if (_eventsManager._mouseClicked && _voy._viewBounds->left == pt.x && (_voy._eventFlags & EVTFLAG_40) && _eventsManager._rightClick) { - _controlPtr->_state->_v1 = (pt.y / 60) + 1; + _controlPtr->_state->_victimIndex = (pt.y / 60) + 1; foundIndex = -1; _eventsManager._rightClick = 0; } @@ -809,38 +809,38 @@ void VoyeurEngine::doTapePlaying() { } bool VoyeurEngine::checkForMurder() { - int v = _controlPtr->_state->_v3; + int v = _controlPtr->_state->_victimMurderIndex; for (int idx = 0; idx < _voy._eventCount; ++idx) { VoyeurEvent &evt = _voy._events[idx]; if (evt._type == EVTYPE_VIDEO) { - switch (_controlPtr->_state->_v1) { + switch (_controlPtr->_state->_victimIndex) { case 1: if (evt._audioVideoId == 41 && evt._computerOn <= 15 && (evt._computerOff + evt._computerOn) >= 16) { - _controlPtr->_state->_v3 = 1; + _controlPtr->_state->_victimMurderIndex = 1; } break; case 2: if (evt._audioVideoId == 53 && evt._computerOn <= 19 && (evt._computerOff + evt._computerOn) >= 21) { - _controlPtr->_state->_v3 = 2; + _controlPtr->_state->_victimMurderIndex = 2; } break; case 3: if (evt._audioVideoId == 50 && evt._computerOn <= 28 && (evt._computerOff + evt._computerOn) >= 29) { - _controlPtr->_state->_v3 = 3; + _controlPtr->_state->_victimMurderIndex = 3; } break; case 4: if (evt._audioVideoId == 43 && evt._computerOn <= 10 && (evt._computerOff + evt._computerOn) >= 14) { - _controlPtr->_state->_v3 = 4; + _controlPtr->_state->_victimMurderIndex = 4; } break; @@ -849,13 +849,13 @@ bool VoyeurEngine::checkForMurder() { } } - if (_controlPtr->_state->_v3 == _controlPtr->_state->_v1) { + if (_controlPtr->_state->_victimMurderIndex == _controlPtr->_state->_victimIndex) { _voy._videoEventId = idx; return true; } } - _controlPtr->_state->_v3 = v; + _controlPtr->_state->_victimMurderIndex = v; _voy._videoEventId = -1; return false; } @@ -894,7 +894,7 @@ bool VoyeurEngine::checkForIncriminate() { } if (_voy._field4382) { - _controlPtr->_state->_v3 = 88; + _controlPtr->_state->_victimMurderIndex = 88; _voy._videoEventId = idx; return true; } @@ -954,7 +954,7 @@ int VoyeurEngine::getChooseButton() { for (uint idx = 0; idx < hotspots.size(); ++idx) { if (hotspots[idx].contains(pt)) { - if (!_voy._victimMurdered || ((int)idx + 1) != _controlPtr->_state->_v1) { + if (!_voy._victimMurdered || ((int)idx + 1) != _controlPtr->_state->_victimIndex) { selectedIndex = idx; if (selectedIndex != prevIndex) { PictureResource *btnPic = _bVoy->boltEntry(_playStampGroupId + 8 + idx)._picResource; -- cgit v1.2.3 From d0ca824a629c0ec921805c7b79e4ce1caaa84fc3 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Wed, 5 Feb 2014 08:41:33 -0500 Subject: VOYEUR: Opening sequence video should not be completely skipped --- engines/voyeur/voyeur.cpp | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/engines/voyeur/voyeur.cpp b/engines/voyeur/voyeur.cpp index 286b97ea1a..e709bd722c 100644 --- a/engines/voyeur/voyeur.cpp +++ b/engines/voyeur/voyeur.cpp @@ -160,20 +160,20 @@ bool VoyeurEngine::doHeadTitle() { } // Show the title screen + _eventsManager.getMouseInfo(); showTitleScreen(); if (shouldQuit()) return false; // Opening - if (!_eventsManager._mouseClicked) { - doOpening(); + _eventsManager.getMouseInfo(); + doOpening(); + if (shouldQuit()) + return false; - _eventsManager.getMouseInfo(); - doTransitionCard("Saturday Afternoon", "Player's Apartment"); - _eventsManager.delayClick(90); - } else { - _eventsManager._mouseClicked = false; - } + _eventsManager.getMouseInfo(); + doTransitionCard("Saturday Afternoon", "Player's Apartment"); + _eventsManager.delayClick(90); if (_voy._eventFlags & EVTFLAG_VICTIM_PRESET) { // Preset victim turned on, so add a default set of incriminating videos -- cgit v1.2.3 From f6c687191834d5208cdcee5266676a8384771845 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Wed, 5 Feb 2014 09:00:43 -0500 Subject: VOYEUR: Fix preloading incriminating videos if the debug _iForceDeath is set --- engines/voyeur/data.cpp | 1 + engines/voyeur/voyeur.cpp | 39 +++++++++++++++------------------------ 2 files changed, 16 insertions(+), 24 deletions(-) diff --git a/engines/voyeur/data.cpp b/engines/voyeur/data.cpp index f0521d28d2..4cbfef5995 100644 --- a/engines/voyeur/data.cpp +++ b/engines/voyeur/data.cpp @@ -57,6 +57,7 @@ void SVoy::addEvent(int hour, int minute, VoyeurEventType type, int audioVideoId int on, int off, int dead) { VoyeurEvent &e = _events[_eventCount++]; + e._type = type; e._hour = hour; e._minute = minute; e._isAM = hour < 12; diff --git a/engines/voyeur/voyeur.cpp b/engines/voyeur/voyeur.cpp index e709bd722c..dae4e41f72 100644 --- a/engines/voyeur/voyeur.cpp +++ b/engines/voyeur/voyeur.cpp @@ -68,14 +68,14 @@ Common::Error VoyeurEngine::run() { ESP_Init(); globalInitBolt(); + // The original allows the victim to be explicitly specified via the command line. + // We don't currently support this in ScummVM, but I'm leaving the code below + // in case we ever want to make use of it. + if (_iForceDeath >= 1 && _iForceDeath <= 4) + _voy._eventFlags |= EVTFLAG_VICTIM_PRESET; + _eventsManager.resetMouse(); if (doHeadTitle()) { - // The original allows the victim to be explicitly specified via the command line. - // We don't currently support this in ScummVM, but I'm leaving the code below - // in case we ever want to make use of it. - if (_iForceDeath >= 1 && _iForceDeath <= 4) - _voy._eventFlags |= EVTFLAG_VICTIM_PRESET; - playStamp(); if (!shouldQuit()) doTailTitle(); @@ -177,24 +177,15 @@ bool VoyeurEngine::doHeadTitle() { if (_voy._eventFlags & EVTFLAG_VICTIM_PRESET) { // Preset victim turned on, so add a default set of incriminating videos - if (_voy._eventCount <= 1) - _voy.addEvent(18, 1, EVTYPE_VIDEO, 33, 0, 998, -1); - if (_voy._eventCount <= 2) - _voy.addEvent(18, 2, EVTYPE_VIDEO, 41, 0, 998, -1); - if (_voy._eventCount <= 3) - _voy.addEvent(18, 3, EVTYPE_VIDEO, 47, 0, 998, -1); - if (_voy._eventCount <= 4) - _voy.addEvent(18, 4, EVTYPE_VIDEO, 53, 0, 998, -1); - if (_voy._eventCount <= 5) - _voy.addEvent(18, 5, EVTYPE_VIDEO, 46, 0, 998, -1); - if (_voy._eventCount <= 6) - _voy.addEvent(18, 6, EVTYPE_VIDEO, 50, 0, 998, -1); - if (_voy._eventCount <= 7) - _voy.addEvent(18, 7, EVTYPE_VIDEO, 40, 0, 998, -1); - if (_voy._eventCount <= 8) - _voy.addEvent(18, 8, EVTYPE_VIDEO, 43, 0, 998, -1); - if (_voy._eventCount <= 9) - _voy.addEvent(19, 1, EVTYPE_AUDIO, 20, 0, 998, -1); + _voy.addEvent(18, 1, EVTYPE_VIDEO, 33, 0, 998, -1); + _voy.addEvent(18, 2, EVTYPE_VIDEO, 41, 0, 998, -1); + _voy.addEvent(18, 3, EVTYPE_VIDEO, 47, 0, 998, -1); + _voy.addEvent(18, 4, EVTYPE_VIDEO, 53, 0, 998, -1); + _voy.addEvent(18, 5, EVTYPE_VIDEO, 46, 0, 998, -1); + _voy.addEvent(18, 6, EVTYPE_VIDEO, 50, 0, 998, -1); + _voy.addEvent(18, 7, EVTYPE_VIDEO, 40, 0, 998, -1); + _voy.addEvent(18, 8, EVTYPE_VIDEO, 43, 0, 998, -1); + _voy.addEvent(19, 1, EVTYPE_AUDIO, 20, 0, 998, -1); } } -- cgit v1.2.3 From ab0cdde53998881cd0087e55cbf2fdeeedf1e511 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Thu, 6 Feb 2014 22:47:34 -0500 Subject: VOYEUR: Fix sound distortions in the second part of the gossip interview --- engines/voyeur/voyeur_game.cpp | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/engines/voyeur/voyeur_game.cpp b/engines/voyeur/voyeur_game.cpp index 4577fe28c9..c95281e66e 100644 --- a/engines/voyeur/voyeur_game.cpp +++ b/engines/voyeur/voyeur_game.cpp @@ -765,17 +765,20 @@ void VoyeurEngine::doGossip() { // Play the initial gossip video decoder.play(this, 0x302, frameNumsP, posP); + decoder.close(); // Reset the palette and clear the screen _graphicsManager.resetPalette(); _graphicsManager.screenReset(); // Play interview video - decoder.loadFile("a2110100.rl2", true); - decoder.start(); + RL2Decoder decoder2; + decoder2.loadFile("a2110100.rl2", true); + decoder2.start(); _eventsManager.getMouseInfo(); - decoder.play(this); + decoder2.play(this); + decoder2.close(); _bVoy->freeBoltGroup(0x300); _graphicsManager.screenReset(); -- cgit v1.2.3 From 3471c0c24db691bc0f0ea4609629bac945e34bff Mon Sep 17 00:00:00 2001 From: johndoe123 Date: Fri, 7 Feb 2014 09:37:14 +0100 Subject: BBVS: Fix compilation in MSVC10 as suggested by dreammaster --- engines/bbvs/bbvs.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/engines/bbvs/bbvs.cpp b/engines/bbvs/bbvs.cpp index 5f433e0ca2..27dc9742b4 100644 --- a/engines/bbvs/bbvs.cpp +++ b/engines/bbvs/bbvs.cpp @@ -1751,7 +1751,7 @@ void BbvsEngine::updateWalkObject(SceneObject *sceneObject) { void BbvsEngine::walkObject(SceneObject *sceneObject, const Common::Point &destPt, int walkSpeed) { int deltaX = destPt.x - (sceneObject->x >> 16); int deltaY = destPt.y - (sceneObject->y >> 16); - float distance = sqrt(deltaX * deltaX + deltaY * deltaY); + float distance = sqrt((double)(deltaX * deltaX + deltaY * deltaY)); // NOTE The original doesn't have this check but without it the whole pathfinding breaks if (distance > 0.0) { sceneObject->walkCount = distance / ((((float)ABS(deltaX) / distance) + 1.0) * ((float)walkSpeed / 120)); -- cgit v1.2.3 From f407a292a18aa17c538028fac31be8e7ecd135c1 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Fri, 7 Feb 2014 08:03:49 -0500 Subject: VOYEUR: Fix decoder _curFrame to start at -1 --- engines/voyeur/animation.cpp | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/engines/voyeur/animation.cpp b/engines/voyeur/animation.cpp index 7dc53b9e60..301c8d1c43 100644 --- a/engines/voyeur/animation.cpp +++ b/engines/voyeur/animation.cpp @@ -116,7 +116,7 @@ void RL2Decoder::readNextPacket() { // Handle queueing sound data if (_soundFrameNumber == -1) - _soundFrameNumber = frameNumber; + _soundFrameNumber = (frameNumber == -1) ? 0 : frameNumber; while (audioTrack->numQueuedStreams() < SOUND_FRAMES_READAHEAD && (_soundFrameNumber < (int)_soundFrames.size())) { @@ -225,7 +225,7 @@ RL2Decoder::RL2VideoTrack::RL2VideoTrack(const RL2FileHeader &header, RL2AudioTr _videoBase = header._videoBase; _dirtyPalette = header._colorCount > 0; - _curFrame = 0; + _curFrame = -1; _initialFrame = true; } @@ -283,7 +283,7 @@ const Graphics::Surface *RL2Decoder::RL2VideoTrack::decodeNextFrame() { } // Move to the next frame data - _fileStream->seek(_header._frameOffsets[_curFrame]); + _fileStream->seek(_header._frameOffsets[++_curFrame]); // If there's any sound data, pass it to the audio track _fileStream->seek(_header._frameSoundSizes[_curFrame], SEEK_CUR); @@ -296,8 +296,6 @@ const Graphics::Surface *RL2Decoder::RL2VideoTrack::decodeNextFrame() { rl2DecodeFrameWithoutTransparency(_videoBase); } - _curFrame++; - return _surface; } -- cgit v1.2.3 From 62e7b4bbba3c56aa037e586a698268cc3708e3bb Mon Sep 17 00:00:00 2001 From: johndoe123 Date: Fri, 7 Feb 2014 17:11:42 +0100 Subject: BBVS: Fix GCC warning (signed/unsigned comparison) --- engines/bbvs/bbvs.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/engines/bbvs/bbvs.cpp b/engines/bbvs/bbvs.cpp index 27dc9742b4..5775835df9 100644 --- a/engines/bbvs/bbvs.cpp +++ b/engines/bbvs/bbvs.cpp @@ -1492,7 +1492,7 @@ bool BbvsEngine::processCurrAction() { if (sceneObject->walkDestPt.x != -1) { debug(5, "waiting for walk to finish"); actionsFinished = false; - } else if ((sceneObject->x >> 16) != soAction->walkDest.x || (sceneObject->y >> 16) != soAction->walkDest.y) { + } else if ((int16)(sceneObject->x >> 16) != soAction->walkDest.x || (int16)(sceneObject->y >> 16) != soAction->walkDest.y) { debug(5, "starting to walk"); sceneObject->walkDestPt = soAction->walkDest; actionsFinished = false; -- cgit v1.2.3 From 9d86715e30a91b405b5df2e2a3646d1f930d4e34 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Fri, 7 Feb 2014 20:40:04 -0500 Subject: VOYEUR: Renaming SVoy fields --- engines/voyeur/data.cpp | 16 ++++++------- engines/voyeur/data.h | 14 +++++------ engines/voyeur/files_threads.cpp | 50 ++++++++++++++++++++-------------------- engines/voyeur/voyeur.cpp | 8 +++---- engines/voyeur/voyeur_game.cpp | 36 ++++++++++++++--------------- 5 files changed, 62 insertions(+), 62 deletions(-) diff --git a/engines/voyeur/data.cpp b/engines/voyeur/data.cpp index 4cbfef5995..98a7a0731f 100644 --- a/engines/voyeur/data.cpp +++ b/engines/voyeur/data.cpp @@ -81,19 +81,19 @@ void SVoy::synchronize(Common::Serializer &s) { s.syncAsByte(_roomHotspotsEnabled[idx]); } - s.syncAsSint16LE(_field468); - s.syncAsSint16LE(_field46A); + s.syncAsSint16LE(_audioVisualStartTime); + s.syncAsSint16LE(_audioVisualDuration); s.syncAsSint16LE(_vocSecondsOffset); s.syncAsSint16LE(_abortInterface); - s.syncAsSint16LE(_field470); + s.syncAsSint16LE(_playStampMode); s.syncAsSint16LE(_aptLoadMode); s.syncAsSint16LE(_transitionId); s.syncAsSint16LE(_RTVLimit); s.syncAsSint16LE(_eventFlags); s.syncAsSint16LE(_boltGroupId2); - s.syncAsSint16LE(_field4AC); - s.syncAsSint16LE(_field4B8); + s.syncAsSint16LE(_musicStartTime); + s.syncAsSint16LE(_totalPhoneCalls); s.syncAsSint16LE(_computerTextId); s.syncAsSint16LE(_computerTimeMin); s.syncAsSint16LE(_computerTimeMax); @@ -111,7 +111,7 @@ void SVoy::synchronize(Common::Serializer &s) { s.syncAsSint16LE(_field437C); s.syncAsSint16LE(_field437E); s.syncAsSint16LE(_victimNumber); - s.syncAsSint16LE(_field4382); + s.syncAsSint16LE(_incriminatedVictimNumber); s.syncAsSint16LE(_videoEventId); if (s.isLoading()) { @@ -134,7 +134,7 @@ void SVoy::addVideoEventStart() { void SVoy::addVideoEventEnd() { VoyeurEvent &e = _events[_eventCount]; - e._computerOff = _RTVNum - _field468 - _vocSecondsOffset; + e._computerOff = _RTVNum - _audioVisualStartTime - _vocSecondsOffset; if (_eventCount < (TOTAL_EVENTS - 1)) ++_eventCount; } @@ -152,7 +152,7 @@ void SVoy::addAudioEventStart() { void SVoy::addAudioEventEnd() { VoyeurEvent &e = _events[_eventCount]; - e._computerOff = _RTVNum - _field468 - _vocSecondsOffset; + e._computerOff = _RTVNum - _audioVisualStartTime - _vocSecondsOffset; if (_eventCount < (TOTAL_EVENTS - 1)) ++_eventCount; } diff --git a/engines/voyeur/data.h b/engines/voyeur/data.h index d9c62bc7ca..0b32d9abee 100644 --- a/engines/voyeur/data.h +++ b/engines/voyeur/data.h @@ -113,11 +113,11 @@ public: HotspotTimes<3> _evidenceHotspotTimes; bool _roomHotspotsEnabled[20]; - int _field468; - int _field46A; + int _audioVisualStartTime; + int _audioVisualDuration; int _vocSecondsOffset; bool _abortInterface; - int _field470; + int _playStampMode; int _aptLoadMode; int _transitionId; int _RTVLimit; @@ -125,9 +125,9 @@ public: int _boltGroupId2; PictureResource *_evPicPtrs[6]; CMapResource *_evCmPtrs[6]; - int _field4AC; - int _field4AE[5]; - int _field4B8; + int _musicStartTime; + bool _phoneCallsReceived[5]; + int _totalPhoneCalls; int _computerTextId; Common::Rect _rect4E4; @@ -142,7 +142,7 @@ public: int _field437C; int _field437E; int _victimNumber; - int _field4382; + int _incriminatedVictimNumber; int _videoEventId; RectResource *_viewBounds; int _curICF0; diff --git a/engines/voyeur/files_threads.cpp b/engines/voyeur/files_threads.cpp index ba85ec2e80..7635a9dea2 100644 --- a/engines/voyeur/files_threads.cpp +++ b/engines/voyeur/files_threads.cpp @@ -336,9 +336,9 @@ bool ThreadResource::chooseSTAMPButton(int buttonId) { } void ThreadResource::parsePlayCommands() { - _vm->_voy._field470 = -1; - _vm->_voy._field468 = 0; - _vm->_voy._field46A = 0; + _vm->_voy._playStampMode = -1; + _vm->_voy._audioVisualStartTime = 0; + _vm->_voy._audioVisualDuration = 0; _vm->_voy._boltGroupId2 = -1; _vm->_voy._computerTextId = -1; _vm->_voy._eventFlags &= ~EVTFLAG_8; @@ -372,14 +372,14 @@ void ThreadResource::parsePlayCommands() { if (v2 == 0 || _vm->_controlPtr->_state->_victimIndex == v2) { _vm->_audioVideoId = READ_LE_UINT16(dataP + 2) - 1; - _vm->_voy._field468 = READ_LE_UINT16(dataP + 4); - _vm->_voy._field46A = READ_LE_UINT16(dataP + 6); + _vm->_voy._audioVisualStartTime = READ_LE_UINT16(dataP + 4); + _vm->_voy._audioVisualDuration = READ_LE_UINT16(dataP + 6); - if (_vm->_voy._RTVNum < _vm->_voy._field468 || - (_vm->_voy._field468 + _vm->_voy._field46A) < _vm->_voy._RTVNum) { + if (_vm->_voy._RTVNum < _vm->_voy._audioVisualStartTime || + (_vm->_voy._audioVisualStartTime + _vm->_voy._audioVisualDuration) < _vm->_voy._RTVNum) { _vm->_audioVideoId = -1; } else { - _vm->_voy._vocSecondsOffset = _vm->_voy._RTVNum - _vm->_voy._field468; + _vm->_voy._vocSecondsOffset = _vm->_voy._RTVNum - _vm->_voy._audioVisualStartTime; _vm->_voy.addAudioEventStart(); // Play the audio @@ -403,14 +403,14 @@ void ThreadResource::parsePlayCommands() { if (v2 == 0 || _vm->_controlPtr->_state->_victimIndex == v2) { _vm->_audioVideoId = READ_LE_UINT16(dataP + 2) - 1; - _vm->_voy._field468 = READ_LE_UINT16(dataP + 4); - _vm->_voy._field46A = READ_LE_UINT16(dataP + 6); + _vm->_voy._audioVisualStartTime = READ_LE_UINT16(dataP + 4); + _vm->_voy._audioVisualDuration = READ_LE_UINT16(dataP + 6); - if (_vm->_voy._RTVNum < _vm->_voy._field468 || - (_vm->_voy._field468 + _vm->_voy._field46A) < _vm->_voy._RTVNum) { + if (_vm->_voy._RTVNum < _vm->_voy._audioVisualStartTime || + (_vm->_voy._audioVisualStartTime + _vm->_voy._audioVisualDuration) < _vm->_voy._RTVNum) { _vm->_audioVideoId = -1; } else { - _vm->_voy._vocSecondsOffset = _vm->_voy._RTVNum - _vm->_voy._field468; + _vm->_voy._vocSecondsOffset = _vm->_voy._RTVNum - _vm->_voy._audioVisualStartTime; _vm->_voy.addVideoEventStart(); _vm->_voy._eventFlags &= ~EVTFLAG_TIME_DISABLED; _vm->_voy._eventFlags |= EVTFLAG_RECORDING; @@ -432,10 +432,10 @@ void ThreadResource::parsePlayCommands() { _vm->_eventsManager._videoDead = -1; if (_stateCount == 2 && _vm->_eventsManager._mouseClicked == 0) { - _vm->_voy._field470 = 132; + _vm->_voy._playStampMode = 132; parseIndex = 999; } else { - _vm->_voy._field470 = 129; + _vm->_voy._playStampMode = 129; } } } @@ -456,7 +456,7 @@ void ThreadResource::parsePlayCommands() { } _vm->_voy._vocSecondsOffset = 0; - _vm->_voy._field468 = _vm->_voy._RTVNum; + _vm->_voy._audioVisualStartTime = _vm->_voy._RTVNum; _vm->_voy._eventFlags &= ~(EVTFLAG_TIME_DISABLED | EVTFLAG_RECORDING); _vm->playAVideo(_vm->_audioVideoId); _vm->_voy._eventFlags |= EVTFLAG_TIME_DISABLED; @@ -513,7 +513,7 @@ void ThreadResource::parsePlayCommands() { // if so, load the time information for the new time period v2 = READ_LE_UINT16(dataP); if (v2 == 0 || _vm->_controlPtr->_state->_victimIndex == v2) { - _vm->_voy._field470 = 5; + _vm->_voy._playStampMode = 5; int count = READ_LE_UINT16(dataP + 2); _vm->_voy._RTVLimit = READ_LE_UINT16(dataP + 4); @@ -536,7 +536,7 @@ void ThreadResource::parsePlayCommands() { break; case 6: - _vm->_voy._field470 = 6; + _vm->_voy._playStampMode = 6; v2 = READ_LE_UINT16(dataP); _vm->_playStampGroupId = _vm->_resolvePtr[v2]; dataP += 2; @@ -652,7 +652,7 @@ void ThreadResource::parsePlayCommands() { case 14: _vm->_playStampGroupId = 2048; - _vm->_voy._field470 = 130; + _vm->_voy._playStampMode = 130; break; case 15: @@ -660,11 +660,11 @@ void ThreadResource::parsePlayCommands() { break; case 16: - _vm->_voy._field470 = 16; + _vm->_voy._playStampMode = 16; break; case 17: - _vm->_voy._field470 = 17; + _vm->_voy._playStampMode = 17; break; case 18: @@ -985,7 +985,7 @@ int ThreadResource::doApt() { _vm->_currentVocId = 153; } - if (_vm->_voy._field470 == 16) { + if (_vm->_voy._playStampMode == 16) { hotspots[0].left = 999; hotspots[3].left = 999; _aptPos.x = hotspots[4].left + 28; @@ -1141,7 +1141,7 @@ void ThreadResource::doRoom() { vm._eventsManager.setMousePos(Common::Point(192, 120)); voy._field437E = 0; vm._currentVocId = 146; - voy._field4AC = voy._RTVNum; + voy._musicStartTime = voy._RTVNum; voy._vocSecondsOffset = 0; vm._soundManager.startVOCPlay(vm._currentVocId); @@ -1156,7 +1156,7 @@ void ThreadResource::doRoom() { do { if (vm._currentVocId != -1 && !vm._soundManager.getVOCStatus()) { - voy._field4AC = voy._RTVNum; + voy._musicStartTime = voy._RTVNum; voy._vocSecondsOffset = 0; vm._soundManager.startVOCPlay(vm._currentVocId); } @@ -1213,7 +1213,7 @@ void ThreadResource::doRoom() { _vm->flipPageAndWait(); if (vm._currentVocId != -1) { - voy._vocSecondsOffset = voy._RTVNum - voy._field4AC; + voy._vocSecondsOffset = voy._RTVNum - voy._musicStartTime; vm._soundManager.stopVOCPlay(); } diff --git a/engines/voyeur/voyeur.cpp b/engines/voyeur/voyeur.cpp index dae4e41f72..4ce2524ff8 100644 --- a/engines/voyeur/voyeur.cpp +++ b/engines/voyeur/voyeur.cpp @@ -443,7 +443,7 @@ void VoyeurEngine::doOpening() { _voy._vocSecondsOffset = 0; _voy._RTVNum = 0; - _voy._field468 = _voy._RTVNum; + _voy._audioVisualStartTime = _voy._RTVNum; _voy._eventFlags |= EVTFLAG_RECORDING; _gameHour = 4; _gameMinute = 0; @@ -504,7 +504,7 @@ void VoyeurEngine::doOpening() { _eventsManager.delay(5); } - if ((_voy._RTVNum - _voy._field468) < 2) + if ((_voy._RTVNum - _voy._audioVisualStartTime) < 2) _eventsManager.delay(60); _voy._eventFlags |= EVTFLAG_TIME_DISABLED; @@ -628,7 +628,7 @@ void VoyeurEngine::playAudio(int audioId) { (*_graphicsManager._vPort)->setupViewPort(NULL); _voy._eventFlags &= ~EVTFLAG_RECORDING; - _voy._field470 = 129; + _voy._playStampMode = 129; } void VoyeurEngine::doTransitionCard(const Common::String &time, const Common::String &location) { @@ -686,7 +686,7 @@ void VoyeurEngine::flipPageAndWaitForFade() { } void VoyeurEngine::showEndingNews() { - _playStampGroupId = (_voy._field4382 - 1) * 256 + 0x7700; + _playStampGroupId = (_voy._incriminatedVictimNumber - 1) * 256 + 0x7700; _voy._boltGroupId2 = (_controlPtr->_state->_victimIndex - 1) * 256 + 0x7B00; _bVoy->getBoltGroup(_playStampGroupId); diff --git a/engines/voyeur/voyeur_game.cpp b/engines/voyeur/voyeur_game.cpp index c95281e66e..29d1957517 100644 --- a/engines/voyeur/voyeur_game.cpp +++ b/engines/voyeur/voyeur_game.cpp @@ -58,7 +58,7 @@ void VoyeurEngine::playStamp() { bool flag = breakFlag = (_voy._eventFlags & EVTFLAG_2) != 0; - switch (_voy._field470) { + switch (_voy._playStampMode) { case 5: buttonId = _mainThread->doInterface(); @@ -163,7 +163,7 @@ void VoyeurEngine::playStamp() { flag = true; if (buttonId != 4) { - _voy._field470 = 131; + _voy._playStampMode = 131; _voy.checkForKey(); _mainThread->chooseSTAMPButton(buttonId); } else { @@ -478,7 +478,7 @@ void VoyeurEngine::reviewTape() { bool var1E = true; do { if (_currentVocId != -1 && !_soundManager.getVOCStatus()) { - _voy._field4AC = _voy._RTVNum; + _voy._musicStartTime = _voy._RTVNum; _soundManager.startVOCPlay(_currentVocId); } @@ -659,7 +659,7 @@ void VoyeurEngine::reviewTape() { (*_graphicsManager._vPort)->setupViewPort(NULL); if (_currentVocId != -1) { - _voy._vocSecondsOffset = _voy._RTVNum - _voy._field4AC; + _voy._vocSecondsOffset = _voy._RTVNum - _voy._musicStartTime; _soundManager.stopVOCPlay(); } @@ -713,7 +713,7 @@ void VoyeurEngine::reviewTape() { case EVTYPE_EVID: _voy.reviewAnEvidEvent(eventIndex); - _voy._vocSecondsOffset = _voy._RTVNum - _voy._field4AC; + _voy._vocSecondsOffset = _voy._RTVNum - _voy._musicStartTime; _soundManager.stopVOCPlay(); _bVoy->getBoltGroup(0x900); break; @@ -721,7 +721,7 @@ void VoyeurEngine::reviewTape() { case EVTYPE_COMPUTER: _voy.reviewComputerEvent(eventIndex); - _voy._vocSecondsOffset = _voy._RTVNum - _voy._field4AC; + _voy._vocSecondsOffset = _voy._RTVNum - _voy._musicStartTime; _soundManager.stopVOCPlay(); _bVoy->getBoltGroup(0x900); break; @@ -864,7 +864,7 @@ bool VoyeurEngine::checkForMurder() { } bool VoyeurEngine::checkForIncriminate() { - _voy._field4382 = 0; + _voy._incriminatedVictimNumber = 0; for (int idx = 0; idx < _voy._eventCount; ++idx) { VoyeurEvent &evt = _voy._events[idx]; @@ -872,31 +872,31 @@ bool VoyeurEngine::checkForIncriminate() { if (evt._type == EVTYPE_VIDEO) { if (evt._audioVideoId == 44 && evt._computerOn <= 40 && (evt._computerOff + evt._computerOn) >= 70) { - _voy._field4382 = 1; + _voy._incriminatedVictimNumber = 1; } if (evt._audioVideoId == 44 && evt._computerOn <= 79 && (evt._computerOff + evt._computerOn) >= 129) { - _voy._field4382 = 1; + _voy._incriminatedVictimNumber = 1; } if (evt._audioVideoId == 20 && evt._computerOn <= 28 && (evt._computerOff + evt._computerOn) >= 45) { - _voy._field4382 = 2; + _voy._incriminatedVictimNumber = 2; } if (evt._audioVideoId == 35 && evt._computerOn <= 17 && (evt._computerOff + evt._computerOn) >= 36) { - _voy._field4382 = 3; + _voy._incriminatedVictimNumber = 3; } if (evt._audioVideoId == 30 && evt._computerOn <= 80 && (evt._computerOff + evt._computerOn) >= 139) { - _voy._field4382 = 4; + _voy._incriminatedVictimNumber = 4; } } - if (_voy._field4382) { + if (_voy._incriminatedVictimNumber) { _controlPtr->_state->_victimMurderIndex = 88; _voy._videoEventId = idx; return true; @@ -1322,21 +1322,21 @@ void VoyeurEngine::flashTimeBar(){ } void VoyeurEngine::checkPhoneCall() { - if ((_voy._RTVLimit - _voy._RTVNum) >= 36 && _voy._field4B8 < 5 && + if ((_voy._RTVLimit - _voy._RTVNum) >= 36 && _voy._totalPhoneCalls < 5 && _currentVocId <= 151 && _currentVocId > 146) { if ((_voy._switchBGNum < _checkPhoneVal || _checkPhoneVal > 180) && !_soundManager.getVOCStatus()) { int soundIndex; do { soundIndex = getRandomNumber(4); - } while (_voy._field4AE[soundIndex]); + } while (_voy._phoneCallsReceived[soundIndex]); _currentVocId = 154 + soundIndex; _soundManager.stopVOCPlay(); _soundManager.startVOCPlay(_currentVocId); _checkPhoneVal = _voy._switchBGNum; - ++_voy._field4AE[soundIndex]; - ++_voy._field4B8; + ++_voy._phoneCallsReceived[soundIndex]; + ++_voy._totalPhoneCalls; } } } @@ -1346,7 +1346,7 @@ void VoyeurEngine::doEvidDisplay(int evidId, int eventId) { flipPageAndWait(); if (_currentVocId != -1) { - _voy._vocSecondsOffset = _voy._RTVNum - _voy._field4AC; + _voy._vocSecondsOffset = _voy._RTVNum - _voy._musicStartTime; _soundManager.stopVOCPlay(); } -- cgit v1.2.3 From e3b666a27a9fa09705d03b50ba7382c01d305c5b Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Fri, 7 Feb 2014 20:46:02 -0500 Subject: VOYEUR: Standardised delay amount between frame checks in video playback methods --- engines/voyeur/voyeur.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/engines/voyeur/voyeur.cpp b/engines/voyeur/voyeur.cpp index 4ce2524ff8..6ef47051df 100644 --- a/engines/voyeur/voyeur.cpp +++ b/engines/voyeur/voyeur.cpp @@ -501,7 +501,7 @@ void VoyeurEngine::doOpening() { } _eventsManager.getMouseInfo(); - _eventsManager.delay(5); + g_system->delayMillis(10); } if ((_voy._RTVNum - _voy._audioVisualStartTime) < 2) -- cgit v1.2.3 From 26f5475136143a5ea88b767d4f5206e4931b1e73 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Fri, 7 Feb 2014 20:57:49 -0500 Subject: VOYEUR: Remove redundant code from RL2Decoder class --- engines/voyeur/animation.cpp | 5 ----- engines/voyeur/animation.h | 3 --- 2 files changed, 8 deletions(-) diff --git a/engines/voyeur/animation.cpp b/engines/voyeur/animation.cpp index 301c8d1c43..c7522e6b20 100644 --- a/engines/voyeur/animation.cpp +++ b/engines/voyeur/animation.cpp @@ -163,7 +163,6 @@ void RL2Decoder::RL2FileHeader::load(Common::SeekableReadStream *stream) { _form = stream->readUint32LE(); _backSize = stream->readUint32LE(); _signature = stream->readUint32LE(); - _isRLV3 = !strncmp((const char *)&_signature, "RLV3", 4); if (!isValid()) return; @@ -244,10 +243,6 @@ void RL2Decoder::RL2VideoTrack::initBackSurface() { _backSurface->create(320, 200, Graphics::PixelFormat::createFormatCLUT8()); } -bool RL2Decoder::RL2VideoTrack::endOfTrack() const { - return getCurFrame() >= getFrameCount(); -} - bool RL2Decoder::RL2VideoTrack::seek(const Audio::Timestamp &time) { int frame = getFrameAtTime(time); diff --git a/engines/voyeur/animation.h b/engines/voyeur/animation.h index 43dd6a02b1..96c283510e 100644 --- a/engines/voyeur/animation.h +++ b/engines/voyeur/animation.h @@ -63,7 +63,6 @@ private: uint32 *_frameOffsets; int *_frameSoundSizes; - bool _isRLV3; public: RL2FileHeader(); ~RL2FileHeader(); @@ -106,8 +105,6 @@ private: Common::SeekableReadStream *stream); ~RL2VideoTrack(); - bool endOfTrack() const; - uint16 getWidth() const; uint16 getHeight() const; Graphics::Surface *getSurface() { return _surface; } -- cgit v1.2.3 From 9608a521625122e1499d5fae60d3c7ecd0456f90 Mon Sep 17 00:00:00 2001 From: Strangerke Date: Mon, 10 Feb 2014 07:56:35 +0100 Subject: VOYEUR: Reduce the scope of a couple of variables --- engines/voyeur/files_threads.cpp | 3 +-- engines/voyeur/voyeur.cpp | 2 +- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/engines/voyeur/files_threads.cpp b/engines/voyeur/files_threads.cpp index 7635a9dea2..ab639021a4 100644 --- a/engines/voyeur/files_threads.cpp +++ b/engines/voyeur/files_threads.cpp @@ -718,7 +718,6 @@ const byte *ThreadResource::cardPerform(const byte *card) { uint16 id = *card++; int varD = 5; uint32 v2; - int v3; byte bVal; uint32 idx1, idx2; debugC(DEBUG_BASIC, kDebugScripts, "cardPerform - %d", id); @@ -765,7 +764,7 @@ const byte *ThreadResource::cardPerform(const byte *card) { } case 7: { - v3 = *card++; + int v3 = *card++; v2 = READ_LE_UINT32(card); card += 4; int &v = _vm->_controlPtr->_state->_vals[v3]; diff --git a/engines/voyeur/voyeur.cpp b/engines/voyeur/voyeur.cpp index 6ef47051df..5b93b460ea 100644 --- a/engines/voyeur/voyeur.cpp +++ b/engines/voyeur/voyeur.cpp @@ -223,7 +223,6 @@ void VoyeurEngine::showConversionScreen() { bool VoyeurEngine::doLock() { bool result = true; - bool flag = false; int buttonVocSize, wrongVocSize; byte *buttonVoc = _filesManager.fload("button.voc", &buttonVocSize); byte *wrongVoc = _filesManager.fload("wrong.voc", &wrongVocSize); @@ -273,6 +272,7 @@ bool VoyeurEngine::doLock() { bool firstLoop = true; bool breakFlag = false; + bool flag = false; while (!breakFlag && !shouldQuit()) { (*_graphicsManager._vPort)->setupViewPort(); flipPageAndWait(); -- cgit v1.2.3 From 72d21312639921691336640614f93bb7d3ba1b27 Mon Sep 17 00:00:00 2001 From: Strangerke Date: Mon, 10 Feb 2014 07:57:57 +0100 Subject: VOYEUR: Remove a useless variable --- engines/voyeur/files_threads.cpp | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/engines/voyeur/files_threads.cpp b/engines/voyeur/files_threads.cpp index ab639021a4..a5e27eb32d 100644 --- a/engines/voyeur/files_threads.cpp +++ b/engines/voyeur/files_threads.cpp @@ -1371,16 +1371,13 @@ int ThreadResource::doInterface() { Common::Rect mansionViewBounds(MANSION_VIEW_X, MANSION_VIEW_Y, MANSION_VIEW_X + MANSION_VIEW_WIDTH, MANSION_VIEW_Y + MANSION_VIEW_HEIGHT); - int priorRegionIndex = -1; do { _vm->_voyeurArea = AREA_INTERFACE; _vm->doTimeBar(true); _vm->_eventsManager.getMouseInfo(); - if (checkMansionScroll()) { - priorRegionIndex = regionIndex; + if (checkMansionScroll()) _vm->doScroll(_vm->_mansionViewPos); - } _vm->checkPhoneCall(); if (!_vm->_soundManager.getVOCStatus()) { -- cgit v1.2.3 From e688cb501534e98a024edc136ca5b833e173944d Mon Sep 17 00:00:00 2001 From: Strangerke Date: Tue, 11 Feb 2014 07:51:55 +0100 Subject: VOYEUR: Implement fadeIntFunc() --- engines/voyeur/events.cpp | 29 ++++++++++++++++++++++++++++- 1 file changed, 28 insertions(+), 1 deletion(-) diff --git a/engines/voyeur/events.cpp b/engines/voyeur/events.cpp index 32ffa1584e..4e6986b803 100644 --- a/engines/voyeur/events.cpp +++ b/engines/voyeur/events.cpp @@ -505,7 +505,34 @@ void EventsManager::vDoCycleInt() { void EventsManager::fadeIntFunc() { - warning("TODO"); + switch (_vm->_voy._field437E) { + case 1: + if (_vm->_voy._field4376 < 63) + _vm->_voy._field4376 += _vm->_voy._field437A; + if (_vm->_voy._field4378 < 63) + _vm->_voy._field4378 += _vm->_voy._field437C; + if (_vm->_voy._field4376 > 63) + _vm->_voy._field4376 = 63; + if (_vm->_voy._field4378 > 63) + _vm->_voy._field4378 = 63; + if ((_vm->_voy._field4376 == 63) && (_vm->_voy._field4378 == 63)) + _vm->_voy._field437E = 0; + break; + case 2: + if (_vm->_voy._field4376 > 0) + _vm->_voy._field4376 -= _vm->_voy._field437A; + if (_vm->_voy._field4378 > 0) + _vm->_voy._field4378 -= _vm->_voy._field437C; + if (_vm->_voy._field4376 < 0) + _vm->_voy._field4376 = 0; + if (_vm->_voy._field4378 < 0) + _vm->_voy._field4378 = 0; + if ((_vm->_voy._field4376 == 0) && (_vm->_voy._field4378 == 0)) + _vm->_voy._field437E = 0; + break; + default: + break; + } } void EventsManager::deleteIntNode(IntNode *node) { -- cgit v1.2.3 From 1ed4ed47afdfeae436391b36a6cb2a3e192f06ae Mon Sep 17 00:00:00 2001 From: Strangerke Date: Tue, 11 Feb 2014 08:00:15 +0100 Subject: VOYEUR: Rename some fields related to fading --- engines/voyeur/data.cpp | 12 ++++++------ engines/voyeur/data.h | 10 +++++----- engines/voyeur/events.cpp | 42 ++++++++++++++++++++-------------------- engines/voyeur/files_threads.cpp | 30 ++++++++++++++-------------- engines/voyeur/graphics.cpp | 24 +++++++++++------------ engines/voyeur/voyeur_game.cpp | 2 +- 6 files changed, 60 insertions(+), 60 deletions(-) diff --git a/engines/voyeur/data.cpp b/engines/voyeur/data.cpp index 98a7a0731f..ae9474a9bf 100644 --- a/engines/voyeur/data.cpp +++ b/engines/voyeur/data.cpp @@ -43,7 +43,7 @@ SVoy::SVoy() { Common::fill((byte *)this, (byte *)this + sizeof(SVoy), 0); _eventFlags = EVTFLAG_TIME_DISABLED; - _field4376 = _field4378 = 127; + _fadingAmount1 = _fadingAmount2 = 127; _murderThreshold = 9999; _aptLoadMode = -1; _eventFlags |= EVTFLAG_100; @@ -105,11 +105,11 @@ void SVoy::synchronize(Common::Serializer &s) { for (int idx = 0; idx < _eventCount; ++idx) _events[idx].synchronize(s); - s.syncAsSint16LE(_field4376); - s.syncAsSint16LE(_field4378); - s.syncAsSint16LE(_field437A); - s.syncAsSint16LE(_field437C); - s.syncAsSint16LE(_field437E); + s.syncAsSint16LE(_fadingAmount1); + s.syncAsSint16LE(_fadingAmount2); + s.syncAsSint16LE(_fadingStep1); + s.syncAsSint16LE(_fadingStep2); + s.syncAsSint16LE(_fadingType); s.syncAsSint16LE(_victimNumber); s.syncAsSint16LE(_incriminatedVictimNumber); s.syncAsSint16LE(_videoEventId); diff --git a/engines/voyeur/data.h b/engines/voyeur/data.h index 0b32d9abee..899b10c53d 100644 --- a/engines/voyeur/data.h +++ b/engines/voyeur/data.h @@ -136,11 +136,11 @@ public: bool _victimMurdered; int _murderThreshold; - int _field4376; - int _field4378; - int _field437A; - int _field437C; - int _field437E; + int _fadingAmount1; + int _fadingAmount2; + int _fadingStep1; + int _fadingStep2; + int _fadingType; int _victimNumber; int _incriminatedVictimNumber; int _videoEventId; diff --git a/engines/voyeur/events.cpp b/engines/voyeur/events.cpp index 4e6986b803..4a6beb9430 100644 --- a/engines/voyeur/events.cpp +++ b/engines/voyeur/events.cpp @@ -505,30 +505,30 @@ void EventsManager::vDoCycleInt() { void EventsManager::fadeIntFunc() { - switch (_vm->_voy._field437E) { + switch (_vm->_voy._fadingType) { case 1: - if (_vm->_voy._field4376 < 63) - _vm->_voy._field4376 += _vm->_voy._field437A; - if (_vm->_voy._field4378 < 63) - _vm->_voy._field4378 += _vm->_voy._field437C; - if (_vm->_voy._field4376 > 63) - _vm->_voy._field4376 = 63; - if (_vm->_voy._field4378 > 63) - _vm->_voy._field4378 = 63; - if ((_vm->_voy._field4376 == 63) && (_vm->_voy._field4378 == 63)) - _vm->_voy._field437E = 0; + if (_vm->_voy._fadingAmount1 < 63) + _vm->_voy._fadingAmount1 += _vm->_voy._fadingStep1; + if (_vm->_voy._fadingAmount2 < 63) + _vm->_voy._fadingAmount2 += _vm->_voy._fadingStep2; + if (_vm->_voy._fadingAmount1 > 63) + _vm->_voy._fadingAmount1 = 63; + if (_vm->_voy._fadingAmount2 > 63) + _vm->_voy._fadingAmount2 = 63; + if ((_vm->_voy._fadingAmount1 == 63) && (_vm->_voy._fadingAmount2 == 63)) + _vm->_voy._fadingType = 0; break; case 2: - if (_vm->_voy._field4376 > 0) - _vm->_voy._field4376 -= _vm->_voy._field437A; - if (_vm->_voy._field4378 > 0) - _vm->_voy._field4378 -= _vm->_voy._field437C; - if (_vm->_voy._field4376 < 0) - _vm->_voy._field4376 = 0; - if (_vm->_voy._field4378 < 0) - _vm->_voy._field4378 = 0; - if ((_vm->_voy._field4376 == 0) && (_vm->_voy._field4378 == 0)) - _vm->_voy._field437E = 0; + if (_vm->_voy._fadingAmount1 > 0) + _vm->_voy._fadingAmount1 -= _vm->_voy._fadingStep1; + if (_vm->_voy._fadingAmount2 > 0) + _vm->_voy._fadingAmount2 -= _vm->_voy._fadingStep2; + if (_vm->_voy._fadingAmount1 < 0) + _vm->_voy._fadingAmount1 = 0; + if (_vm->_voy._fadingAmount2 < 0) + _vm->_voy._fadingAmount2 = 0; + if ((_vm->_voy._fadingAmount1 == 0) && (_vm->_voy._fadingAmount2 == 0)) + _vm->_voy._fadingType = 0; break; default: break; diff --git a/engines/voyeur/files_threads.cpp b/engines/voyeur/files_threads.cpp index a5e27eb32d..2241431ac4 100644 --- a/engines/voyeur/files_threads.cpp +++ b/engines/voyeur/files_threads.cpp @@ -1112,7 +1112,7 @@ void ThreadResource::doRoom() { SVoy &voy = vm._voy; vm.makeViewFinderP(); - voy._field437E = 0; + voy._fadingType = 0; if (!vm._bVoy->getBoltGroup(vm._playStampGroupId, true)) return; @@ -1122,9 +1122,9 @@ void ThreadResource::doRoom() { (*vm._graphicsManager._vPort)->setupViewPort(vm._graphicsManager._backgroundPage); vm._graphicsManager._backColors->startFade(); - voy._field437A = 2; - voy._field437C = 0; - voy._field437E = 1; + voy._fadingStep1 = 2; + voy._fadingStep2 = 0; + voy._fadingType = 1; Common::Array &hotspots = vm._bVoy->boltEntry(vm._playStampGroupId + 4)._rectResource->_entries; int hotspotId = -1; @@ -1138,7 +1138,7 @@ void ThreadResource::doRoom() { vm._eventsManager.getMouseInfo(); vm._eventsManager.setMousePos(Common::Point(192, 120)); - voy._field437E = 0; + voy._fadingType = 0; vm._currentVocId = 146; voy._musicStartTime = voy._RTVNum; @@ -1253,17 +1253,17 @@ void ThreadResource::doRoom() { vm._eventsManager.delay(1); vm._eventsManager.hideCursor(); - while (!vm.shouldQuit() && voy._field4378 > 0) { - if (voy._field4376 < 63) { - voy._field4376 += 4; - if (voy._field4376 > 63) - voy._field4376 = 63; + while (!vm.shouldQuit() && voy._fadingAmount2 > 0) { + if (voy._fadingAmount1 < 63) { + voy._fadingAmount1 += 4; + if (voy._fadingAmount1 > 63) + voy._fadingAmount1 = 63; } - if (voy._field4378 > 0) { - voy._field4378 -= 8; - if (voy._field4378 < 0) - voy._field4378 = 0; + if (voy._fadingAmount2 > 0) { + voy._fadingAmount2 -= 8; + if (voy._fadingAmount2 < 0) + voy._fadingAmount2 = 0; } vm._eventsManager.delay(1); @@ -1280,7 +1280,7 @@ void ThreadResource::doRoom() { voy._eventFlags = EVTFLAG_TIME_DISABLED; vm._eventsManager.incrementTime(1); voy._viewBounds = nullptr; - voy._field437E = 0; + voy._fadingType = 0; vm.makeViewFinderP(); if (voy._boltGroupId2 != -1) { diff --git a/engines/voyeur/graphics.cpp b/engines/voyeur/graphics.cpp index 3dee779580..0deeaa1e45 100644 --- a/engines/voyeur/graphics.cpp +++ b/engines/voyeur/graphics.cpp @@ -1020,45 +1020,45 @@ void GraphicsManager::screenReset() { void GraphicsManager::fadeDownICF1(int steps) { if (steps > 0) { - int stepAmount = _vm->_voy._field4378 / steps; + int stepAmount = _vm->_voy._fadingAmount2 / steps; for (int idx = 0; idx < steps; ++idx) { - _vm->_voy._field4378 -= stepAmount; + _vm->_voy._fadingAmount2 -= stepAmount; _vm->_eventsManager.delay(1); } } - _vm->_voy._field4378 = 0; + _vm->_voy._fadingAmount2 = 0; } void GraphicsManager::fadeUpICF1(int steps) { if (steps > 0) { - int stepAmount = (63 - _vm->_voy._field4378) / steps; + int stepAmount = (63 - _vm->_voy._fadingAmount2) / steps; for (int idx = 0; idx < steps; ++idx) { - _vm->_voy._field4378 += stepAmount; + _vm->_voy._fadingAmount2 += stepAmount; _vm->_eventsManager.delay(1); } } - _vm->_voy._field4378 = 63; + _vm->_voy._fadingAmount2 = 63; } void GraphicsManager::fadeDownICF(int steps) { if (steps > 0) { _vm->_eventsManager.hideCursor(); - int stepAmount1 = _vm->_voy._field4376 / steps; - int stepAmount2 = _vm->_voy._field4378 / steps; + int stepAmount1 = _vm->_voy._fadingAmount1 / steps; + int stepAmount2 = _vm->_voy._fadingAmount2 / steps; for (int idx = 0; idx < steps; ++idx) { - _vm->_voy._field4376 -= stepAmount1; - _vm->_voy._field4378 -= stepAmount2; + _vm->_voy._fadingAmount1 -= stepAmount1; + _vm->_voy._fadingAmount2 -= stepAmount2; _vm->_eventsManager.delay(1); } } - _vm->_voy._field4376 = 0; - _vm->_voy._field4378 = 0; + _vm->_voy._fadingAmount1 = 0; + _vm->_voy._fadingAmount2 = 0; } void GraphicsManager::drawDot() { diff --git a/engines/voyeur/voyeur_game.cpp b/engines/voyeur/voyeur_game.cpp index 29d1957517..7bb10c2f36 100644 --- a/engines/voyeur/voyeur_game.cpp +++ b/engines/voyeur/voyeur_game.cpp @@ -654,7 +654,7 @@ void VoyeurEngine::reviewTape() { } while (!shouldQuit() && (!_eventsManager._mouseClicked || foundIndex == -1)); newY = _eventsManager.getMousePos().y; - _voy._field437E = 0; + _voy._fadingType = 0; _voy._viewBounds = nullptr; (*_graphicsManager._vPort)->setupViewPort(NULL); -- cgit v1.2.3 From 5cc1bd626d7950a9aabfb9bc561d6e7cf6ccde67 Mon Sep 17 00:00:00 2001 From: Strangerke Date: Tue, 11 Feb 2014 08:21:07 +0100 Subject: VOYEUR: Remove unused function header --- engines/voyeur/events.cpp | 1 - engines/voyeur/events.h | 3 --- 2 files changed, 4 deletions(-) diff --git a/engines/voyeur/events.cpp b/engines/voyeur/events.cpp index 4a6beb9430..a488d99cfa 100644 --- a/engines/voyeur/events.cpp +++ b/engines/voyeur/events.cpp @@ -48,7 +48,6 @@ IntNode::IntNode(uint16 curTime, uint16 timeReset, uint16 flags) { /*------------------------------------------------------------------------*/ IntData::IntData() { - _field9 = false; _flipWait = false; _hasPalette = false; field16 = 0; diff --git a/engines/voyeur/events.h b/engines/voyeur/events.h index a7f9641904..7a8611b2d5 100644 --- a/engines/voyeur/events.h +++ b/engines/voyeur/events.h @@ -52,7 +52,6 @@ public: class IntData { public: - bool _field9; // CHECKME: Useless variable bool _flipWait; int field16; // CHECKME: Useless variable int field1A; @@ -70,8 +69,6 @@ public: byte *_palette; public: IntData(); - - void audioInit(); }; class EventsManager { -- cgit v1.2.3 From 0d994187913645161b4ff17a8686efa079d4dc5a Mon Sep 17 00:00:00 2001 From: Strangerke Date: Tue, 11 Feb 2014 08:24:26 +0100 Subject: VOYEUR: Some more renaming --- engines/voyeur/events.cpp | 8 ++++---- engines/voyeur/events.h | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/engines/voyeur/events.cpp b/engines/voyeur/events.cpp index a488d99cfa..198d00438c 100644 --- a/engines/voyeur/events.cpp +++ b/engines/voyeur/events.cpp @@ -58,7 +58,7 @@ IntData::IntData() { field26 = 0; field2A = 0; _palChanged = false; - field3B = false; + _skipFading = false; field3D = false; _palStartIndex = 0; _palEndIndex = 0; @@ -204,7 +204,7 @@ void EventsManager::voyeurTimer() { if (_gameData._flipWait) { _gameData._palChanged = true; _gameData._flipWait = false; - _gameData.field3B = false; + _gameData._skipFading = false; } _gameData.field26 >>= 8; @@ -347,7 +347,7 @@ void EventsManager::startFade(CMapResource *cMap) { } if (cMap->_fadeStatus & 2) - _intPtr.field3B = true; + _intPtr._skipFading = true; _fadeIntNode._flags &= ~1; } else { byte *vgaP = &_vm->_graphicsManager._VGAColors[_fadeFirstCol * 3]; @@ -389,7 +389,7 @@ void EventsManager::addFadeInt() { } void EventsManager::vDoFadeInt() { - if (_intPtr.field3B) + if (_intPtr._skipFading) return; if (--_fadeCount == 0) { _fadeIntNode._flags |= 1; diff --git a/engines/voyeur/events.h b/engines/voyeur/events.h index 7a8611b2d5..bd62b5c8c2 100644 --- a/engines/voyeur/events.h +++ b/engines/voyeur/events.h @@ -62,7 +62,7 @@ public: int field2A; // CHECKME: Useless variable bool _hasPalette; bool _palChanged; // CHECKME: Useless variable - bool field3B; // Skip fading + bool _skipFading; bool field3D; // CHECKME: Useless variable int _palStartIndex; int _palEndIndex; -- cgit v1.2.3 From 1b7a4cf4a070e8dc88330d818898f2aa0659be5d Mon Sep 17 00:00:00 2001 From: Strangerke Date: Wed, 12 Feb 2014 07:36:37 +0100 Subject: VOYEUR: Initialize properly a couple of Bolt variables --- engines/voyeur/data.h | 2 +- engines/voyeur/voyeur.cpp | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/engines/voyeur/data.h b/engines/voyeur/data.h index 899b10c53d..8f926db36d 100644 --- a/engines/voyeur/data.h +++ b/engines/voyeur/data.h @@ -147,7 +147,7 @@ public: RectResource *_viewBounds; int _curICF0; int _curICF1; - int _fadeICF0; + bool _fadeICF0; // Useless variable? (always the same value) int _policeEvent; int _eventCount; diff --git a/engines/voyeur/voyeur.cpp b/engines/voyeur/voyeur.cpp index 5b93b460ea..adec4fbffa 100644 --- a/engines/voyeur/voyeur.cpp +++ b/engines/voyeur/voyeur.cpp @@ -119,7 +119,10 @@ void VoyeurEngine::globalInitBolt() { assert(_graphicsManager._fontPtr->_curFont); // Setup default flags + _voy._fadeICF0 = false; + _voy._viewBounds = nullptr; _voy._curICF0 = _graphicsManager._palFlag ? 0xFFFFA5E0 : 0x5F90; + _eventsManager.addFadeInt(); } -- cgit v1.2.3 From 82b4768dd76a9962d4781be4353467cd85dc44c3 Mon Sep 17 00:00:00 2001 From: Strangerke Date: Wed, 12 Feb 2014 07:48:03 +0100 Subject: VOYEUR: Initialize some more variables --- engines/voyeur/data.cpp | 3 +++ engines/voyeur/data.h | 4 ++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/engines/voyeur/data.cpp b/engines/voyeur/data.cpp index ae9474a9bf..8e22fe3ad1 100644 --- a/engines/voyeur/data.cpp +++ b/engines/voyeur/data.cpp @@ -47,6 +47,9 @@ SVoy::SVoy() { _murderThreshold = 9999; _aptLoadMode = -1; _eventFlags |= EVTFLAG_100; + _totalPhoneCalls = 0; + _victimMurdered = false; + _computerTimeMin = _computerTimeMax = 0; } void SVoy::setVm(VoyeurEngine *vm) { diff --git a/engines/voyeur/data.h b/engines/voyeur/data.h index 8f926db36d..cbdb995164 100644 --- a/engines/voyeur/data.h +++ b/engines/voyeur/data.h @@ -145,8 +145,8 @@ public: int _incriminatedVictimNumber; int _videoEventId; RectResource *_viewBounds; - int _curICF0; - int _curICF1; + int _curICF0; // Useless variable + int _curICF1; // Useless variable bool _fadeICF0; // Useless variable? (always the same value) int _policeEvent; -- cgit v1.2.3 From e7cc3fc4df2580870a6547a0c34e9d6b26063178 Mon Sep 17 00:00:00 2001 From: Strangerke Date: Wed, 12 Feb 2014 07:54:14 +0100 Subject: VOYEUR: Use American English instead of British English in several places --- engines/voyeur/data.cpp | 2 +- engines/voyeur/files.cpp | 2 +- engines/voyeur/files.h | 4 ++-- engines/voyeur/voyeur.cpp | 4 ++-- engines/voyeur/voyeur.h | 2 +- 5 files changed, 7 insertions(+), 7 deletions(-) diff --git a/engines/voyeur/data.cpp b/engines/voyeur/data.cpp index 8e22fe3ad1..db59760e13 100644 --- a/engines/voyeur/data.cpp +++ b/engines/voyeur/data.cpp @@ -39,7 +39,7 @@ void VoyeurEvent::synchronize(Common::Serializer &s) { /*------------------------------------------------------------------------*/ SVoy::SVoy() { - // Initialise all the data fields of SVoy to empty values + // Initialize all the data fields of SVoy to empty values Common::fill((byte *)this, (byte *)this + sizeof(SVoy), 0); _eventFlags = EVTFLAG_TIME_DISABLED; diff --git a/engines/voyeur/files.cpp b/engines/voyeur/files.cpp index 1f83eb6622..79e81b0cd1 100644 --- a/engines/voyeur/files.cpp +++ b/engines/voyeur/files.cpp @@ -429,7 +429,7 @@ byte *BoltFile::getBoltMember(uint32 id) { _state._decompState = 0; _state._historyIndex = 0; - // Initialise the resource + // Initialize the resource assert(_state._curMemberPtr->_initMethod < 25); initResource(_state._curMemberPtr->_initMethod); diff --git a/engines/voyeur/files.h b/engines/voyeur/files.h index 476014815a..0e5be690f2 100644 --- a/engines/voyeur/files.h +++ b/engines/voyeur/files.h @@ -587,7 +587,7 @@ public: virtual ~ThreadResource() {} /** - * Initialise the thread + * Initialize the thread */ void initThreadStruct(int idx, int id); @@ -607,7 +607,7 @@ public: bool goToState(int stackId, int stateId); /** - * Initialises data for the thread based on the current state + * Initializes data for the thread based on the current state */ bool doState(); diff --git a/engines/voyeur/voyeur.cpp b/engines/voyeur/voyeur.cpp index adec4fbffa..911daa0e2b 100644 --- a/engines/voyeur/voyeur.cpp +++ b/engines/voyeur/voyeur.cpp @@ -57,7 +57,7 @@ VoyeurEngine::VoyeurEngine(OSystem *syst, const VoyeurGameDescription *gameDesc) DebugMan.addDebugChannel(kDebugScripts, "scripts", "Game scripts"); - initialiseManagers(); + initializeManagers(); } VoyeurEngine::~VoyeurEngine() { @@ -91,7 +91,7 @@ int VoyeurEngine::getRandomNumber(int maxNumber) { return _randomSource.getRandomNumber(maxNumber); } -void VoyeurEngine::initialiseManagers() { +void VoyeurEngine::initializeManagers() { _debugger.setVm(this); _eventsManager.setVm(this); _filesManager.setVm(this); diff --git a/engines/voyeur/voyeur.h b/engines/voyeur/voyeur.h index 16c2c400b6..4daa8f5372 100644 --- a/engines/voyeur/voyeur.h +++ b/engines/voyeur/voyeur.h @@ -80,7 +80,7 @@ private: FontInfoResource _defaultFontInfo; void ESP_Init(); - void initialiseManagers(); + void initializeManagers(); void globalInitBolt(); void initBolt(); void vInitInterrupts(); -- cgit v1.2.3 From 1949f4511fa1bfc99f6f336dbf10dc0668021fff Mon Sep 17 00:00:00 2001 From: Strangerke Date: Thu, 13 Feb 2014 08:14:01 +0100 Subject: VOYEUR: Some renaming in Files --- engines/voyeur/files.cpp | 12 ++++++------ engines/voyeur/files.h | 14 +++++++------- engines/voyeur/files_threads.cpp | 4 ++-- 3 files changed, 15 insertions(+), 15 deletions(-) diff --git a/engines/voyeur/files.cpp b/engines/voyeur/files.cpp index 79e81b0cd1..9373ecfb5f 100644 --- a/engines/voyeur/files.cpp +++ b/engines/voyeur/files.cpp @@ -398,8 +398,8 @@ byte *BoltFile::getBoltMember(uint32 id) { // Get the entry _state._curMemberPtr = &_state._curGroupPtr->_entries[id & 0xff]; - if (_state._curMemberPtr->_field1) - initMem(_state._curMemberPtr->_field1); + if (_state._curMemberPtr->_initMemRequired) + initMem(_state._curMemberPtr->_initMemRequired); // Return the data for the entry if it's already been loaded if (_state._curMemberPtr->_data) @@ -674,7 +674,7 @@ BoltEntry::BoltEntry(Common::SeekableReadStream *f, uint16 id): _file(f), _id(id byte buffer[16]; _file->read(&buffer[0], 16); _mode = buffer[0]; - _field1 = buffer[1]; + _initMemRequired = buffer[1]; _initMethod = buffer[3]; _xorMask = buffer[4] & 0xff; _size = READ_LE_UINT32(&buffer[4]) & 0xffffff; @@ -965,13 +965,13 @@ int DisplayResource::drawText(const Common::String &msg) { if (i != 0) { fontChar._pick = 0; fontChar._onOff = fontInfo._shadowColor; - } else if (fontData.field2 == 1 || (fontInfo._fontFlags & 0x10)) { + } else if (fontData._fontDepth == 1 || (fontInfo._fontFlags & 0x10)) { fontChar._pick = 0; fontChar._onOff = fontInfo._foreColor; } else { fontChar._pick = fontInfo._picPick; fontChar._onOff = fontInfo._picOnOff; - fontChar._depth = fontData.field2; + fontChar._depth = fontData._fontDepth; } // Loop to draw each character in turn @@ -1469,7 +1469,7 @@ ViewPortPalEntry::ViewPortPalEntry(const byte *src) { FontResource::FontResource(BoltFilesState &state, byte *src) { _minChar = src[0]; _maxChar = src[1]; - field2 = src[2]; + _fontDepth = src[2]; _padding = src[3]; _fontHeight = src[5]; _topPadding = (int8)src[6]; diff --git a/engines/voyeur/files.h b/engines/voyeur/files.h index 0e5be690f2..69802d8f68 100644 --- a/engines/voyeur/files.h +++ b/engines/voyeur/files.h @@ -194,7 +194,7 @@ private: public: uint16 _id; byte _mode; - byte _field1; + byte _initMemRequired; byte _initMethod; int _fileOffset; byte _xorMask; @@ -350,7 +350,7 @@ public: int _pageIndex; int _lastPage; Common::Rect _bounds; - int _field18; + int _field18; // Useless variable PictureResource *_currentPic; PictureResource *_activePage; PictureResource *_pages[2]; @@ -403,7 +403,7 @@ public: class FontResource { public: int _minChar, _maxChar; - int field2; + int _fontDepth; int _padding; int _fontHeight; int _topPadding; @@ -569,15 +569,15 @@ public: int _newStateId; int _newStackId; int _flags; - int _fieldA[8]; - int _field2A[8]; + int _fieldA[8]; // Useless variable + int _field2A[8]; // Useless variable int _stateFlags; int _stateCount; int _parseCount; - uint32 _field46; + uint32 _nextStateId; byte *_threadInfoPtr; byte _buttonFlags[64]; - const byte *_field8E[64]; + const byte *_field8E[64]; // Useless variable byte _buttonIds[64]; const byte *_buttonUnused[48]; byte *_ctlPtr; diff --git a/engines/voyeur/files_threads.cpp b/engines/voyeur/files_threads.cpp index 2241431ac4..897bfae1b6 100644 --- a/engines/voyeur/files_threads.cpp +++ b/engines/voyeur/files_threads.cpp @@ -117,7 +117,7 @@ bool ThreadResource::getStateInfo() { } else { uint32 fld = READ_LE_UINT32(_ctlPtr + 2); fld += _stateId << 3; - _field46 = READ_LE_UINT32(_ctlPtr + fld + 4); + _nextStateId = READ_LE_UINT32(_ctlPtr + fld + 4); fld = READ_LE_UINT32(_ctlPtr + fld); byte *baseP = _ctlPtr + fld; @@ -895,7 +895,7 @@ const byte *ThreadResource::cardPerform(const byte *card) { card += 2; case 45: - _newStateId = _field46; + _newStateId = _nextStateId; _newStackId = _stackId; break; -- cgit v1.2.3 From 013522457ca3fd84d4c9575d9bc20b6a875b09a3 Mon Sep 17 00:00:00 2001 From: Strangerke Date: Thu, 13 Feb 2014 08:44:06 +0100 Subject: VOYEUR: Remove useless fields in Events, some renaming --- engines/voyeur/events.cpp | 23 +++-------------------- engines/voyeur/events.h | 10 ++-------- engines/voyeur/files_threads.cpp | 12 ++++-------- engines/voyeur/graphics.cpp | 6 ------ engines/voyeur/voyeur.cpp | 4 ---- engines/voyeur/voyeur_game.cpp | 17 +++++------------ 6 files changed, 14 insertions(+), 58 deletions(-) diff --git a/engines/voyeur/events.cpp b/engines/voyeur/events.cpp index 198d00438c..3b761e899e 100644 --- a/engines/voyeur/events.cpp +++ b/engines/voyeur/events.cpp @@ -50,16 +50,10 @@ IntNode::IntNode(uint16 curTime, uint16 timeReset, uint16 flags) { IntData::IntData() { _flipWait = false; _hasPalette = false; - field16 = 0; - field1A = 0; - field1E = 0; - field22 = 0; - field24 = 0; + _flashTimer = 0; + _flashStep = 0; field26 = 0; - field2A = 0; - _palChanged = false; _skipFading = false; - field3D = false; _palStartIndex = 0; _palEndIndex = 0; _palette = NULL; @@ -193,16 +187,10 @@ void EventsManager::showMousePosition() { } void EventsManager::voyeurTimer() { - _gameData.field22 += _gameData.field24; - _gameData.field1A += _gameData.field1E; - // _gameData.field1C += _gameData._timerFn; *** WHY INC field by a function pointer?! - - _gameData.field16 = 0; - _gameData.field3D = true; + _gameData._flashTimer += _gameData._flashStep; if (--_gameData.field26 <= 0) { if (_gameData._flipWait) { - _gameData._palChanged = true; _gameData._flipWait = false; _gameData._skipFading = false; } @@ -366,8 +354,6 @@ void EventsManager::startFade(CMapResource *cMap) { _intPtr._palEndIndex = _fadeLastCol; _intPtr._hasPalette = true; - if (!(cMap->_fadeStatus & 2)) - _intPtr._palChanged = true; } if (_cycleStatus & 1) @@ -417,7 +403,6 @@ void EventsManager::vDoFadeInt() { _intPtr._palEndIndex = _fadeLastCol; _intPtr._hasPalette = true; - _intPtr._palChanged = true; } void EventsManager::vDoCycleInt() { @@ -497,7 +482,6 @@ void EventsManager::vDoCycleInt() { } _intPtr._hasPalette = true; - _intPtr._palChanged = true; } } } @@ -619,7 +603,6 @@ void EventsManager::startCursorBlink() { if (_vm->_voy._eventFlags & EVTFLAG_RECORDING) { _vm->_graphicsManager.setOneColor(128, 55, 5, 5); _vm->_graphicsManager.setColor(128, 220, 20, 20); - _intPtr._palChanged = true; _intPtr._hasPalette = true; _vm->_graphicsManager.drawDot(); diff --git a/engines/voyeur/events.h b/engines/voyeur/events.h index bd62b5c8c2..6167a89915 100644 --- a/engines/voyeur/events.h +++ b/engines/voyeur/events.h @@ -53,17 +53,11 @@ public: class IntData { public: bool _flipWait; - int field16; // CHECKME: Useless variable - int field1A; - int field1E; - int field22; // CHECKME: Useless variable - int field24; // CHECKME: Useless variable + int _flashTimer; + int _flashStep; int field26; - int field2A; // CHECKME: Useless variable bool _hasPalette; - bool _palChanged; // CHECKME: Useless variable bool _skipFading; - bool field3D; // CHECKME: Useless variable int _palStartIndex; int _palEndIndex; byte *_palette; diff --git a/engines/voyeur/files_threads.cpp b/engines/voyeur/files_threads.cpp index 897bfae1b6..5989c92439 100644 --- a/engines/voyeur/files_threads.cpp +++ b/engines/voyeur/files_threads.cpp @@ -1000,7 +1000,6 @@ int ThreadResource::doApt() { _vm->_graphicsManager.setColor(131, 215, 215, 215); _vm->_graphicsManager.setColor(132, 235, 235, 235); - _vm->_eventsManager._intPtr._palChanged = true; _vm->_eventsManager._intPtr._hasPalette = true; // Main loop to allow users to move the cursor and select hotspots @@ -1150,7 +1149,6 @@ void ThreadResource::doRoom() { while (!vm.shouldQuit() && !breakFlag) { _vm->_voyeurArea = AREA_ROOM; vm._graphicsManager.setColor(128, 0, 255, 0); - vm._eventsManager._intPtr._palChanged = true; vm._eventsManager._intPtr._hasPalette = true; do { @@ -1190,7 +1188,6 @@ void ThreadResource::doRoom() { vm._eventsManager.setCursor(magnifierCursor); } - vm._eventsManager._intPtr._palChanged = true; vm._eventsManager._intPtr._hasPalette = true; vm._graphicsManager.flipPage(); vm._eventsManager.sWaitFlip(); @@ -1314,8 +1311,8 @@ int ThreadResource::doInterface() { _vm->_voy._eventFlags &= ~EVTFLAG_100; _vm->_playStampGroupId = -1; - _vm->_eventsManager._intPtr.field1E = 1; - _vm->_eventsManager._intPtr.field1A = 0; + _vm->_eventsManager._intPtr._flashStep = 1; + _vm->_eventsManager._intPtr._flashTimer = 0; if (_vm->_voy._RTVNum >= _vm->_voy._RTVLimit || _vm->_voy._RTVNum < 0) _vm->_voy._RTVNum = _vm->_voy._RTVLimit - 1; @@ -1354,7 +1351,6 @@ int ThreadResource::doInterface() { _vm->_eventsManager.getMouseInfo(); _vm->_graphicsManager.setColor(240, 220, 220, 220); - _vm->_eventsManager._intPtr._palChanged = true; _vm->_eventsManager._intPtr._hasPalette = true; _vm->_voy._eventFlags &= ~EVTFLAG_TIME_DISABLED; @@ -1475,8 +1471,8 @@ int ThreadResource::doInterface() { _vm->_eventsManager.getMouseInfo(); _vm->_voy._eventFlags &= ~EVTFLAG_TIME_DISABLED; - _vm->_eventsManager._intPtr.field1E = 1; - _vm->_eventsManager._intPtr.field1A = 0; + _vm->_eventsManager._intPtr._flashStep = 1; + _vm->_eventsManager._intPtr._flashTimer = 0; } } } while (!_vm->_eventsManager._rightClick && !_vm->shouldQuit() && diff --git a/engines/voyeur/graphics.cpp b/engines/voyeur/graphics.cpp index 0deeaa1e45..975e070d61 100644 --- a/engines/voyeur/graphics.cpp +++ b/engines/voyeur/graphics.cpp @@ -892,10 +892,6 @@ void GraphicsManager::fillPic(DisplayResource *display, byte onOff) { * Queues the given picture for display */ void GraphicsManager::sDisplayPic(PictureResource *pic) { - if (pic->_flags & DISPFLAG_8) { - _vm->_eventsManager._intPtr.field2A = READ_LE_UINT32(pic->_imgData) >> _sImageShift; - } - _vm->_eventsManager._intPtr._flipWait = true; } @@ -974,7 +970,6 @@ void GraphicsManager::resetPalette() { for (int i = 0; i < 256; ++i) setColor(i, 0, 0, 0); - _vm->_eventsManager._intPtr._palChanged = true; _vm->_eventsManager._intPtr._hasPalette = true; } @@ -1004,7 +999,6 @@ void GraphicsManager::setColors(int start, int count, const byte *pal) { } } - _vm->_eventsManager._intPtr._palChanged = true; _vm->_eventsManager._intPtr._hasPalette = true; } diff --git a/engines/voyeur/voyeur.cpp b/engines/voyeur/voyeur.cpp index 911daa0e2b..f2822b4c7c 100644 --- a/engines/voyeur/voyeur.cpp +++ b/engines/voyeur/voyeur.cpp @@ -263,7 +263,6 @@ bool VoyeurEngine::doLock() { _eventsManager.setCursor(cursorPic); _eventsManager.showCursor(); - _eventsManager._intPtr. _palChanged = true; _eventsManager._intPtr._hasPalette = true; _graphicsManager._fontPtr->_curFont = _bVoy->boltEntry(0x708)._fontResource; @@ -315,7 +314,6 @@ bool VoyeurEngine::doLock() { } _eventsManager.setCursorColor(127, (key == -1) ? 0 : 1); - _eventsManager._intPtr._palChanged = true; _eventsManager._intPtr._hasPalette = true; _eventsManager.delay(1); @@ -459,7 +457,6 @@ void VoyeurEngine::doOpening() { for (int i = 0; i < 256; ++i) _graphicsManager.setColor(i, 8, 8, 8); - _eventsManager._intPtr._palChanged = true; _eventsManager._intPtr._hasPalette = true; (*_graphicsManager._vPort)->setupViewPort(); flipPageAndWait(); @@ -637,7 +634,6 @@ void VoyeurEngine::playAudio(int audioId) { void VoyeurEngine::doTransitionCard(const Common::String &time, const Common::String &location) { _graphicsManager.setColor(128, 16, 16, 16); _graphicsManager.setColor(224, 220, 220, 220); - _eventsManager._intPtr._palChanged = true; _eventsManager._intPtr._hasPalette = true; (*_graphicsManager._vPort)->setupViewPort(NULL); diff --git a/engines/voyeur/voyeur_game.cpp b/engines/voyeur/voyeur_game.cpp index 7bb10c2f36..c4c52bd799 100644 --- a/engines/voyeur/voyeur_game.cpp +++ b/engines/voyeur/voyeur_game.cpp @@ -286,7 +286,6 @@ void VoyeurEngine::doClosingCredits() { (*_graphicsManager._vPort)->setupViewPort(NULL); _graphicsManager.setColor(1, 180, 180, 180); _graphicsManager.setColor(2, 200, 200, 200); - _eventsManager._intPtr._palChanged = true; _eventsManager._intPtr._hasPalette = true; _graphicsManager._fontPtr->_curFont = _bVoy->boltEntry(0x402)._fontResource; @@ -390,7 +389,6 @@ void VoyeurEngine::doPiracy() { _graphicsManager.screenReset(); _graphicsManager.setColor(1, 0, 0, 0); _graphicsManager.setColor(2, 255, 255, 255); - _eventsManager._intPtr._palChanged = true; _eventsManager._intPtr._hasPalette = true; (*_graphicsManager._vPort)->setupViewPort(NULL); (*_graphicsManager._vPort)->fillPic(1); @@ -460,7 +458,6 @@ void VoyeurEngine::reviewTape() { _graphicsManager.setColor(12, 120, 248, 120); _eventsManager.setCursorColor(128, 1); - _eventsManager._intPtr._palChanged = true; _eventsManager._intPtr._hasPalette = true; _graphicsManager._fontPtr->_curFont = _bVoy->boltEntry(0x909)._fontResource; _graphicsManager._fontPtr->_fontSaveBack = false; @@ -591,7 +588,6 @@ void VoyeurEngine::reviewTape() { _eventsManager.setCursorColor(128, (foundIndex == -1) ? 0 : 1); } - _eventsManager._intPtr._palChanged = true; _eventsManager._intPtr._hasPalette = true; if (_eventsManager._mouseClicked || _eventsManager._mouseUnk) { @@ -688,8 +684,8 @@ void VoyeurEngine::reviewTape() { _graphicsManager._backColors->startFade(); flipPageAndWaitForFade(); - _eventsManager._intPtr.field1E = 1; - _eventsManager._intPtr.field1A = 0; + _eventsManager._intPtr._flashStep = 1; + _eventsManager._intPtr._flashTimer = 0; _voy._eventFlags &= ~EVTFLAG_TIME_DISABLED; // Play suond for the given duration @@ -1033,7 +1029,6 @@ void VoyeurEngine::makeViewFinder() { _graphicsManager.setColor(243, 105, 105, 105); _graphicsManager.setColor(palOffset + 241, 219, 235, 235); - _eventsManager._intPtr._palChanged = true; _eventsManager._intPtr._hasPalette = true; } @@ -1293,7 +1288,6 @@ void VoyeurEngine::doTimeBar(bool force) { (*_graphicsManager._vPort)->sFillBox(6, fullHeight - 92); if (height > 0) { _graphicsManager.setColor(215, 238, 238, 238); - _eventsManager._intPtr._palChanged = true; _eventsManager._intPtr._hasPalette = true; _graphicsManager._drawPtr->_penColor = 215; @@ -1305,17 +1299,16 @@ void VoyeurEngine::doTimeBar(bool force) { void VoyeurEngine::flashTimeBar(){ if (_voy._RTVNum >= 0 && (_voy._RTVLimit - _voy._RTVNum) < 11 && - (_eventsManager._intPtr.field1A >= (_flashTimeVal + 15) || - _eventsManager._intPtr.field1A < _flashTimeVal)) { + (_eventsManager._intPtr._flashTimer >= (_flashTimeVal + 15) || + _eventsManager._intPtr._flashTimer < _flashTimeVal)) { // Within camera low power range - _flashTimeVal = _eventsManager._intPtr.field1A; + _flashTimeVal = _eventsManager._intPtr._flashTimer; if (_flashTimeFlag) _graphicsManager.setColor(240, 220, 20, 20); else _graphicsManager.setColor(240, 220, 220, 220); - _eventsManager._intPtr._palChanged = true; _eventsManager._intPtr._hasPalette = true; _flashTimeFlag = !_flashTimeFlag; } -- cgit v1.2.3 From 2a97f13c0e59f92b080cce21df3756c778eb6a72 Mon Sep 17 00:00:00 2001 From: Strangerke Date: Fri, 14 Feb 2014 01:17:34 +0100 Subject: VOYEUR: Set private some variables and functions --- engines/voyeur/animation.h | 59 +++++++++++++++++++++++++--------------------- 1 file changed, 32 insertions(+), 27 deletions(-) diff --git a/engines/voyeur/animation.h b/engines/voyeur/animation.h index 96c283510e..35199f6b93 100644 --- a/engines/voyeur/animation.h +++ b/engines/voyeur/animation.h @@ -47,28 +47,32 @@ class RL2Decoder : public Video::VideoDecoder { private: class RL2FileHeader { public: - uint32 _form; - uint32 _backSize; - uint32 _signature; - uint32 _dataSize; + RL2FileHeader(); + ~RL2FileHeader(); + + int _channels; + int _colorCount; int _numFrames; - int _method; - int _soundRate; int _rate; - int _channels; - int _defSoundSize; + int _soundRate; int _videoBase; - int _colorCount; - byte _palette[768]; + int *_frameSoundSizes; + uint32 _backSize; + uint32 _signature; uint32 *_frameOffsets; - int *_frameSoundSizes; - public: - RL2FileHeader(); - ~RL2FileHeader(); + + byte _palette[768]; + void load(Common::SeekableReadStream *stream); - bool isValid() const; Common::Rational getFrameRate() const; + bool isValid() const; + + private: + uint32 _form; + uint32 _dataSize; + int _method; + int _defSoundSize; }; class SoundFrame { @@ -155,26 +159,25 @@ private: int _paletteStart; Common::Array _soundFrames; int _soundFrameNumber; + const Common::List *getDirtyRects() const; + + void clearDirtyRects(); + void copyDirtyRectsToBuffer(uint8 *dst, uint pitch); + int getPaletteStart() const { return _paletteStart; } + const RL2FileHeader &getHeader() { return _header; } + virtual void readNextPacket(); + virtual bool seekIntern(const Audio::Timestamp &time); + public: RL2Decoder(Audio::Mixer::SoundType soundType = Audio::Mixer::kPlainSoundType); virtual ~RL2Decoder(); + virtual void close(); + bool loadStream(Common::SeekableReadStream *stream); bool loadFile(const Common::String &file, bool palFlag = false); bool loadVideo(int videoId); - - virtual void readNextPacket(); - virtual void close(); - virtual bool seekIntern(const Audio::Timestamp &time); - - const Common::List *getDirtyRects() const; - void clearDirtyRects(); - void copyDirtyRectsToBuffer(uint8 *dst, uint pitch); - RL2VideoTrack *getVideoTrack() { return _videoTrack; } - RL2AudioTrack *getAudioTrack() { return _audioTrack; } - int getPaletteStart() const { return _paletteStart; } int getPaletteCount() const { return _header._colorCount; } - const RL2FileHeader &getHeader() { return _header; } /** * Play back a given Voyeur RL2 video @@ -184,6 +187,8 @@ public: * @param imgPos Position to draw image data */ void play(VoyeurEngine *vm, int resourceOffset = 0, byte *frames = NULL, byte *imgPos = NULL); + RL2VideoTrack *getVideoTrack() { return _videoTrack; } + RL2AudioTrack *getAudioTrack() { return _audioTrack; } }; } // End of namespace Voyeur -- cgit v1.2.3 From bc8542aa202dd16d6b6fb780dbd029181ba58102 Mon Sep 17 00:00:00 2001 From: Strangerke Date: Fri, 14 Feb 2014 20:48:25 +0100 Subject: VOYEUR: Set private some DATA variables --- engines/voyeur/data.h | 64 ++++++++++++++++++++++++++------------------------- 1 file changed, 33 insertions(+), 31 deletions(-) diff --git a/engines/voyeur/data.h b/engines/voyeur/data.h index cbdb995164..8eb11ff390 100644 --- a/engines/voyeur/data.h +++ b/engines/voyeur/data.h @@ -103,56 +103,54 @@ public: class SVoy { private: VoyeurEngine *_vm; + public: + bool _abortInterface; + bool _fadeICF0; // Useless variable? (always the same value) bool _isAM; - int _RTANum; - int _RTVNum; - int _switchBGNum; - HotspotTimes<8> _videoHotspotTimes; - HotspotTimes<3> _audioHotspotTimes; - HotspotTimes<3> _evidenceHotspotTimes; + bool _phoneCallsReceived[5]; bool _roomHotspotsEnabled[20]; + bool _victimMurdered; + int _aptLoadMode; int _audioVisualStartTime; int _audioVisualDuration; - int _vocSecondsOffset; - bool _abortInterface; - int _playStampMode; - int _aptLoadMode; - int _transitionId; - int _RTVLimit; - int _eventFlags; int _boltGroupId2; - PictureResource *_evPicPtrs[6]; - CMapResource *_evCmPtrs[6]; - int _musicStartTime; - bool _phoneCallsReceived[5]; - int _totalPhoneCalls; - int _computerTextId; - Common::Rect _rect4E4; int _computerTimeMin; int _computerTimeMax; - bool _victimMurdered; - int _murderThreshold; - + int _curICF0; // Useless variable + int _eventCount; + int _eventFlags; int _fadingAmount1; int _fadingAmount2; int _fadingStep1; int _fadingStep2; int _fadingType; - int _victimNumber; int _incriminatedVictimNumber; + int _murderThreshold; + int _musicStartTime; + int _playStampMode; + int _switchBGNum; + int _totalPhoneCalls; + int _transitionId; + int _victimNumber; int _videoEventId; + int _vocSecondsOffset; + int _RTANum; + int _RTVLimit; + int _RTVNum; + + HotspotTimes<3> _audioHotspotTimes; + HotspotTimes<3> _evidenceHotspotTimes; + HotspotTimes<8> _videoHotspotTimes; + + Common::Rect _rect4E4; RectResource *_viewBounds; - int _curICF0; // Useless variable - int _curICF1; // Useless variable - bool _fadeICF0; // Useless variable? (always the same value) - int _policeEvent; - - int _eventCount; + PictureResource *_evPicPtrs[6]; + CMapResource *_evCmPtrs[6]; VoyeurEvent _events[TOTAL_EVENTS]; -public: + SVoy(); void setVm(VoyeurEngine *vm); @@ -222,6 +220,10 @@ public: * should take place */ bool checkForKey(); + +private: + int _curICF1; // Useless variable + int _policeEvent; }; } // End of namespace Voyeur -- cgit v1.2.3 From 86b5192d1b271033afa213891dbafa9ec5d60b3c Mon Sep 17 00:00:00 2001 From: johndoe123 Date: Sat, 15 Feb 2014 23:39:05 +0100 Subject: BBVS: Use spaces instead of tabs for formatting --- engines/bbvs/bbvs.cpp | 2 +- engines/bbvs/bbvs.h | 120 +++++++++++++++++++------------------- engines/bbvs/dialogs.h | 6 +- engines/bbvs/minigames/bbtennis.h | 8 +-- engines/bbvs/minigames/minigame.h | 8 +-- 5 files changed, 72 insertions(+), 72 deletions(-) diff --git a/engines/bbvs/bbvs.cpp b/engines/bbvs/bbvs.cpp index 5775835df9..6b261be451 100644 --- a/engines/bbvs/bbvs.cpp +++ b/engines/bbvs/bbvs.cpp @@ -99,7 +99,7 @@ static const int kAfterVideoSceneNum[] = { }; const int kMainMenu = 44; -const int kCredits = 45; +const int kCredits = 45; bool WalkArea::contains(const Common::Point &pt) const { return Common::Rect(x, y, x + width, y + height).contains(pt); diff --git a/engines/bbvs/bbvs.h b/engines/bbvs/bbvs.h index a896e9db4a..8bfe6481c6 100644 --- a/engines/bbvs/bbvs.h +++ b/engines/bbvs/bbvs.h @@ -63,84 +63,84 @@ class SoundMan; #define BBVS_SAVEGAME_VERSION 0 enum { - kVerbLook = 0, - kVerbUse = 1, - kVerbTalk = 2, - kVerbWalk = 3, - kVerbInvItem = 4, - kVerbShowInv = 5 + kVerbLook = 0, + kVerbUse = 1, + kVerbTalk = 2, + kVerbWalk = 3, + kVerbInvItem = 4, + kVerbShowInv = 5 }; enum { - kITNone = 0, - kITEmpty = 1, - KITSceneObject = 2, - kITBgObject = 3, - kITDialog = 4, - kITScroll = 5, - kITSceneExit = 6, - kITInvItem = 7 + kITNone = 0, + kITEmpty = 1, + KITSceneObject = 2, + kITBgObject = 3, + kITDialog = 4, + kITScroll = 5, + kITSceneExit = 6, + kITInvItem = 7 }; enum { - kGSScene = 0, - kGSInventory = 1, - kGSVerbs = 2, - kGSWait = 3, - kGSDialog = 4, - kGSWaitDialog = 5 + kGSScene = 0, + kGSInventory = 1, + kGSVerbs = 2, + kGSWait = 3, + kGSDialog = 4, + kGSWaitDialog = 5 }; enum { - kActionCmdStop = 0, - kActionCmdWalkObject = 3, - kActionCmdMoveObject = 4, - kActionCmdAnimObject = 5, - kActionCmdSetCameraPos = 7, - kActionCmdPlaySpeech = 8, - kActionCmdPlaySound = 10, - kActionCmdStartBackgroundSound = 11, - kActionCmdStopBackgroundSound = 12 + kActionCmdStop = 0, + kActionCmdWalkObject = 3, + kActionCmdMoveObject = 4, + kActionCmdAnimObject = 5, + kActionCmdSetCameraPos = 7, + kActionCmdPlaySpeech = 8, + kActionCmdPlaySound = 10, + kActionCmdStartBackgroundSound = 11, + kActionCmdStopBackgroundSound = 12 }; enum { - kCondUnused = 1, - kCondSceneObjectVerb = 2, - kCondBgObjectVerb = 3, - kCondSceneObjectInventory = 4, - kCondBgObjectInventory = 5, - kCondHasInventoryItem = 6, - kCondHasNotInventoryItem = 7, - kCondIsGameVar = 8, - kCondIsNotGameVar = 9, - kCondIsPrevSceneNum = 10, - kCondIsCurrTalkObject = 11, - kCondIsDialogItem = 12, - kCondIsCameraNum = 13, - kCondIsNotPrevSceneNum = 14, - kCondDialogItem0 = 15, - kCondIsButtheadAtBgObject = 16, - kCondIsNotSceneVisited = 17, - kCondIsSceneVisited = 18, - kCondIsCameraNumTransition = 19 + kCondUnused = 1, + kCondSceneObjectVerb = 2, + kCondBgObjectVerb = 3, + kCondSceneObjectInventory = 4, + kCondBgObjectInventory = 5, + kCondHasInventoryItem = 6, + kCondHasNotInventoryItem = 7, + kCondIsGameVar = 8, + kCondIsNotGameVar = 9, + kCondIsPrevSceneNum = 10, + kCondIsCurrTalkObject = 11, + kCondIsDialogItem = 12, + kCondIsCameraNum = 13, + kCondIsNotPrevSceneNum = 14, + kCondDialogItem0 = 15, + kCondIsButtheadAtBgObject = 16, + kCondIsNotSceneVisited = 17, + kCondIsSceneVisited = 18, + kCondIsCameraNumTransition = 19 }; enum { - kActResAddInventoryItem = 1, - kActResRemoveInventoryItem = 2, - kActResSetGameVar = 3, - kActResUnsetGameVar = 4, - kActResStartDialog = 5, - kActResChangeScene = 6 + kActResAddInventoryItem = 1, + kActResRemoveInventoryItem = 2, + kActResSetGameVar = 3, + kActResUnsetGameVar = 4, + kActResStartDialog = 5, + kActResChangeScene = 6 }; enum { - kLeftButtonClicked = 1, - kRightButtonClicked = 2, - kLeftButtonDown = 4, - kRightButtonDown = 8, - kAnyButtonClicked = kLeftButtonClicked | kRightButtonClicked, - kAnyButtonDown = kLeftButtonDown | kRightButtonDown + kLeftButtonClicked = 1, + kRightButtonClicked = 2, + kLeftButtonDown = 4, + kRightButtonDown = 8, + kAnyButtonClicked = kLeftButtonClicked | kRightButtonClicked, + kAnyButtonDown = kLeftButtonDown | kRightButtonDown }; struct BBPoint { diff --git a/engines/bbvs/dialogs.h b/engines/bbvs/dialogs.h index 9ecc33aaab..2dce2a110b 100644 --- a/engines/bbvs/dialogs.h +++ b/engines/bbvs/dialogs.h @@ -50,9 +50,9 @@ enum { }; enum { - kMainMenuScr = 0, - kOptionsMenuScr = 1, - kMiniGamesMenuScr = 2 + kMainMenuScr = 0, + kOptionsMenuScr = 1, + kMiniGamesMenuScr = 2 }; class MainMenu : public GUI::Dialog { diff --git a/engines/bbvs/minigames/bbtennis.h b/engines/bbvs/minigames/bbtennis.h index 644eec73b2..fb6355f4eb 100644 --- a/engines/bbvs/minigames/bbtennis.h +++ b/engines/bbvs/minigames/bbtennis.h @@ -57,10 +57,10 @@ public: }; enum { - kGSTitleScreen = 0, // Title screen - kGSMainGame = 1, // Game when called as part of the main game - kGSStandaloneGame = 2, // Game when called as standalone game - kGSScoreCountUp = 3 // Score countup and next level text + kGSTitleScreen = 0, // Title screen + kGSMainGame = 1, // Game when called as part of the main game + kGSStandaloneGame = 2, // Game when called as standalone game + kGSScoreCountUp = 3 // Score countup and next level text }; Obj _objects[kMaxObjectsCount]; diff --git a/engines/bbvs/minigames/minigame.h b/engines/bbvs/minigames/minigame.h index 1e1a4695e0..1bba25f435 100644 --- a/engines/bbvs/minigames/minigame.h +++ b/engines/bbvs/minigames/minigame.h @@ -31,10 +31,10 @@ namespace Bbvs { enum { - kMinigameBbLoogie = 0, - kMinigameBbTennis = 1, - kMinigameBbAnt = 2, - kMinigameBbAirGuitar = 3, + kMinigameBbLoogie = 0, + kMinigameBbTennis = 1, + kMinigameBbAnt = 2, + kMinigameBbAirGuitar = 3, kMinigameCount }; -- cgit v1.2.3 From 9263bb9eb32d877491be7f2177b49d06608954a6 Mon Sep 17 00:00:00 2001 From: johndoe123 Date: Sat, 15 Feb 2014 23:43:22 +0100 Subject: BBVS: Fix formatting (use tab instead of spaces) --- engines/bbvs/minigames/bbairguitar.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/engines/bbvs/minigames/bbairguitar.cpp b/engines/bbvs/minigames/bbairguitar.cpp index 0453ec50b8..26434d3ad6 100644 --- a/engines/bbvs/minigames/bbairguitar.cpp +++ b/engines/bbvs/minigames/bbairguitar.cpp @@ -736,7 +736,7 @@ int MinigameBbAirGuitar::run(bool fromMainGame) { memset(_objects, 0, sizeof(_objects)); - _modified = false; + _modified = false; _currPatchNum = -1; _btn3KindToggle = 0; _currButtonNum = 27; -- cgit v1.2.3 From 3847654bcd28285a4b598d246d91e5bbf26e5820 Mon Sep 17 00:00:00 2001 From: johndoe123 Date: Sat, 15 Feb 2014 23:48:08 +0100 Subject: BBVS: Fix include guard and include guard name comments for endifs --- engines/bbvs/bbvs.h | 6 +++--- engines/bbvs/gamemodule.h | 2 +- engines/bbvs/graphics.h | 2 +- engines/bbvs/minigames/bbairguitar.h | 2 +- engines/bbvs/minigames/bbant.h | 2 +- engines/bbvs/minigames/bbloogie.h | 2 +- engines/bbvs/minigames/bbtennis.h | 2 +- engines/bbvs/minigames/minigame.h | 2 +- engines/bbvs/sound.h | 2 +- engines/bbvs/spritemodule.h | 2 +- 10 files changed, 12 insertions(+), 12 deletions(-) diff --git a/engines/bbvs/bbvs.h b/engines/bbvs/bbvs.h index 8bfe6481c6..4a134032de 100644 --- a/engines/bbvs/bbvs.h +++ b/engines/bbvs/bbvs.h @@ -20,8 +20,8 @@ * */ -#ifndef BBVS_H -#define BBVS_H +#ifndef BBVS_BBVS_H +#define BBVS_BBVS_H #include "audio/mixer.h" #include "audio/decoders/aiff.h" @@ -413,4 +413,4 @@ public: } // End of namespace Bbvs -#endif // BBVS_H +#endif // BBVS_BBVS_H diff --git a/engines/bbvs/gamemodule.h b/engines/bbvs/gamemodule.h index ffd2488c21..4d4f5b90a1 100644 --- a/engines/bbvs/gamemodule.h +++ b/engines/bbvs/gamemodule.h @@ -248,4 +248,4 @@ protected: } // End of namespace Bbvs -#endif // BBVS_H +#endif // BBVS_GAMEMODULE_H diff --git a/engines/bbvs/graphics.h b/engines/bbvs/graphics.h index 277cf453cb..acb8eb953a 100644 --- a/engines/bbvs/graphics.h +++ b/engines/bbvs/graphics.h @@ -58,4 +58,4 @@ public: } // End of namespace Bbvs -#endif // BBVS_H +#endif // BBVS_GRAPHICS_H diff --git a/engines/bbvs/minigames/bbairguitar.h b/engines/bbvs/minigames/bbairguitar.h index 5c1eb00dfd..eba301632d 100644 --- a/engines/bbvs/minigames/bbairguitar.h +++ b/engines/bbvs/minigames/bbairguitar.h @@ -145,4 +145,4 @@ public: } // End of namespace Bbvs -#endif // BBVS_H +#endif // BBVS_MINIGAMES_BBAIRGUITAR_H diff --git a/engines/bbvs/minigames/bbant.h b/engines/bbvs/minigames/bbant.h index a133d66862..8600a45719 100644 --- a/engines/bbvs/minigames/bbant.h +++ b/engines/bbvs/minigames/bbant.h @@ -170,4 +170,4 @@ public: } // End of namespace Bbvs -#endif // BBVS_H +#endif // BBVS_MINIGAMES_BBANT_H diff --git a/engines/bbvs/minigames/bbloogie.h b/engines/bbvs/minigames/bbloogie.h index fb745c15e4..6c4ece3269 100644 --- a/engines/bbvs/minigames/bbloogie.h +++ b/engines/bbvs/minigames/bbloogie.h @@ -138,4 +138,4 @@ public: } // End of namespace Bbvs -#endif // BBVS_H +#endif // BBVS_MINIGAMES_BBLOOGIE_H diff --git a/engines/bbvs/minigames/bbtennis.h b/engines/bbvs/minigames/bbtennis.h index fb6355f4eb..72ee719387 100644 --- a/engines/bbvs/minigames/bbtennis.h +++ b/engines/bbvs/minigames/bbtennis.h @@ -131,4 +131,4 @@ public: } // End of namespace Bbvs -#endif // BBVS_H +#endif // BBVS_MINIGAMES_BBTENNIS_H diff --git a/engines/bbvs/minigames/minigame.h b/engines/bbvs/minigames/minigame.h index 1bba25f435..cc5a96e3c0 100644 --- a/engines/bbvs/minigames/minigame.h +++ b/engines/bbvs/minigames/minigame.h @@ -79,4 +79,4 @@ protected: } // End of namespace Bbvs -#endif // BBVS_H +#endif // BBVS_MINIGAMES_MINIGAME_H diff --git a/engines/bbvs/sound.h b/engines/bbvs/sound.h index 24f14fc70f..4e44c2b962 100644 --- a/engines/bbvs/sound.h +++ b/engines/bbvs/sound.h @@ -60,4 +60,4 @@ protected: } // End of namespace Bbvs -#endif // BBVS_H +#endif // BBVS_SOUND_H diff --git a/engines/bbvs/spritemodule.h b/engines/bbvs/spritemodule.h index 13469f7543..c287815dec 100644 --- a/engines/bbvs/spritemodule.h +++ b/engines/bbvs/spritemodule.h @@ -65,4 +65,4 @@ protected: } // End of namespace Bbvs -#endif // BBVS_H +#endif // BBVS_SPRITEMODULE_H -- cgit v1.2.3 From 82bb55aa892365b1f5e9835d20e2487f0faf3232 Mon Sep 17 00:00:00 2001 From: johndoe123 Date: Sat, 15 Feb 2014 23:53:09 +0100 Subject: BBVS: Remove obsolete debug comments --- engines/bbvs/bbvs.cpp | 7 ------- 1 file changed, 7 deletions(-) diff --git a/engines/bbvs/bbvs.cpp b/engines/bbvs/bbvs.cpp index 6b261be451..d3af885599 100644 --- a/engines/bbvs/bbvs.cpp +++ b/engines/bbvs/bbvs.cpp @@ -166,13 +166,6 @@ Common::Error BbvsEngine::run() { _currSceneNum = 0; _newSceneNum = 31; - // DEBUG Jump directly to rooms - //_newSceneNum = 23; // Class room - //_newSceneNum = kMainMenu; - //_newSceneNum = 25;// Tank and crash - //_newSceneNum = 7; - //_newSceneNum = 12; - if (ConfMan.hasKey("save_slot")) _bootSaveSlot = ConfMan.getInt("save_slot"); -- cgit v1.2.3 From 6078bf7eba1a10bfd737a874744a11870f485f75 Mon Sep 17 00:00:00 2001 From: johndoe123 Date: Sun, 16 Feb 2014 00:12:26 +0100 Subject: BBVS: Remove rectIntersection and use Rect::findIntersectingRect instead --- engines/bbvs/bbvs.cpp | 12 ++---------- engines/bbvs/bbvs.h | 1 - 2 files changed, 2 insertions(+), 11 deletions(-) diff --git a/engines/bbvs/bbvs.cpp b/engines/bbvs/bbvs.cpp index d3af885599..77288b58c7 100644 --- a/engines/bbvs/bbvs.cpp +++ b/engines/bbvs/bbvs.cpp @@ -1780,18 +1780,10 @@ void BbvsEngine::turnObject(SceneObject *sceneObject) { } } -bool BbvsEngine::rectIntersection(const Common::Rect &rect1, const Common::Rect &rect2, Common::Rect &outRect) { - outRect.left = MAX(rect1.left, rect2.left); - outRect.top = MAX(rect1.top, rect2.top); - outRect.right = MIN(rect1.right, rect2.right); - outRect.bottom = MIN(rect1.bottom, rect2.bottom); - return !outRect.isEmpty(); -} - int BbvsEngine::rectSubtract(const Common::Rect &rect1, const Common::Rect &rect2, Common::Rect *outRects) { int count = 0; - Common::Rect workRect; - if (rectIntersection(rect1, rect2, workRect)) { + Common::Rect workRect = rect1.findIntersectingRect(rect2); + if (!workRect.isEmpty()) { count = 0; outRects[count] = Common::Rect(rect2.width(), workRect.top - rect2.top); if (!outRects[count].isEmpty()) { diff --git a/engines/bbvs/bbvs.h b/engines/bbvs/bbvs.h index 4a134032de..5853b8074e 100644 --- a/engines/bbvs/bbvs.h +++ b/engines/bbvs/bbvs.h @@ -341,7 +341,6 @@ public: void walkObject(SceneObject *sceneObject, const Common::Point &destPt, int walkSpeed); void turnObject(SceneObject *sceneObject); - bool rectIntersection(const Common::Rect &rect1, const Common::Rect &rect2, Common::Rect &outRect); int rectSubtract(const Common::Rect &rect1, const Common::Rect &rect2, Common::Rect *outRects); WalkInfo *addWalkInfo(int16 x, int16 y, int delta, int direction, int16 midPtX, int16 midPtY, int walkAreaIndex); -- cgit v1.2.3 From 2f22673945f69268c031ebbb7b0d1cd3f01c6e39 Mon Sep 17 00:00:00 2001 From: johndoe123 Date: Sun, 16 Feb 2014 00:19:11 +0100 Subject: BBVS: Remove unneccessary makeLoopingAudioStream in playSpeech and use the audiostream directly --- engines/bbvs/bbvs.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/engines/bbvs/bbvs.cpp b/engines/bbvs/bbvs.cpp index 77288b58c7..c886ed961e 100644 --- a/engines/bbvs/bbvs.cpp +++ b/engines/bbvs/bbvs.cpp @@ -2127,7 +2127,7 @@ void BbvsEngine::playSpeech(int soundNum) { Common::String sndFilename = Common::String::format("snd/snd%05d.aif", soundNum); Common::File *fd = new Common::File(); fd->open(sndFilename); - Audio::AudioStream *audioStream = Audio::makeLoopingAudioStream(Audio::makeAIFFStream(fd, DisposeAfterUse::YES), 1); + Audio::AudioStream *audioStream = Audio::makeAIFFStream(fd, DisposeAfterUse::YES); _mixer->playStream(Audio::Mixer::kSpeechSoundType, &_speechSoundHandle, audioStream); } -- cgit v1.2.3 From f0acfd4645b19592812acd45b6765303238c1cfe Mon Sep 17 00:00:00 2001 From: johndoe123 Date: Sun, 16 Feb 2014 00:21:32 +0100 Subject: BBVS: Use int16 instead of int in Rect struct --- engines/bbvs/bbvs.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/engines/bbvs/bbvs.h b/engines/bbvs/bbvs.h index 5853b8074e..b429c315f7 100644 --- a/engines/bbvs/bbvs.h +++ b/engines/bbvs/bbvs.h @@ -157,7 +157,7 @@ struct BBPolygon { }; struct Rect { - int left, top, right, bottom; + int16 left, top, right, bottom; }; struct SceneObject { -- cgit v1.2.3 From 882cf2f5ba1f51263d3458f413ba1addaf235db5 Mon Sep 17 00:00:00 2001 From: johndoe123 Date: Sun, 16 Feb 2014 00:27:00 +0100 Subject: BBVS: Fix const char string arrays --- engines/bbvs/bbvs.cpp | 2 +- engines/bbvs/minigames/bbairguitar.cpp | 4 ++-- engines/bbvs/minigames/bbant.cpp | 2 +- engines/bbvs/minigames/bbloogie.cpp | 2 +- engines/bbvs/minigames/bbtennis.cpp | 2 +- 5 files changed, 6 insertions(+), 6 deletions(-) diff --git a/engines/bbvs/bbvs.cpp b/engines/bbvs/bbvs.cpp index c886ed961e..eefeea0d68 100644 --- a/engines/bbvs/bbvs.cpp +++ b/engines/bbvs/bbvs.cpp @@ -2209,7 +2209,7 @@ void BbvsEngine::runMainMenu() { void BbvsEngine::checkEasterEgg(char key) { - static const char *kEasterEggStrings[] = { + static const char * const kEasterEggStrings[] = { "BOIDUTS", "YNNIF", "SKCUS", diff --git a/engines/bbvs/minigames/bbairguitar.cpp b/engines/bbvs/minigames/bbairguitar.cpp index 26434d3ad6..2c97bcd6bc 100644 --- a/engines/bbvs/minigames/bbairguitar.cpp +++ b/engines/bbvs/minigames/bbairguitar.cpp @@ -24,7 +24,7 @@ namespace Bbvs { -static const char *kNoteSoundFilenames[] = { +static const char * const kNoteSoundFilenames[] = { "a.aif", "a#.aif", "b.aif", "c.aif", "c#.aif", "d.aif", "d#.aif", "e.aif", "f.aif", "f#.aif", "g.aif", "g#.aif", "a_oct.aif" @@ -32,7 +32,7 @@ static const char *kNoteSoundFilenames[] = { static const uint kNoteSoundFilenamesCount = ARRAYSIZE(kNoteSoundFilenames); -static const char *kPatchDirectories[] = { +static const char * const kPatchDirectories[] = { "rock", "burp", "fart" }; diff --git a/engines/bbvs/minigames/bbant.cpp b/engines/bbvs/minigames/bbant.cpp index a51a9d8a08..1b9293a231 100644 --- a/engines/bbvs/minigames/bbant.cpp +++ b/engines/bbvs/minigames/bbant.cpp @@ -42,7 +42,7 @@ static const int kScoreTbl[] = { 0, 1, 1, 3, 2, 4 }; -static const char *kSoundFilenames[] = { +static const char * const kSoundFilenames[] = { "ant1.aif", "ant2.aif", "ant3.aif", "ant4.aif", "ant5.aif", "ant6.aif", "ant7.aif", "ant8.aif", "ant9.aif", "ant10.aif", "ant11.aif", "antmus1.aif", "fryant.aif", "stomp.aif", "bing.aif", diff --git a/engines/bbvs/minigames/bbloogie.cpp b/engines/bbvs/minigames/bbloogie.cpp index 70e7e7d155..df7fec3123 100644 --- a/engines/bbvs/minigames/bbloogie.cpp +++ b/engines/bbvs/minigames/bbloogie.cpp @@ -75,7 +75,7 @@ static const uint kPrincipalSounds[] = { 3, 4, 5, 7 }; -static const char *kSoundFilenames[] = { +static const char * const kSoundFilenames[] = { "loog1.aif", "loog2.aif", "loog3.aif", "loog4.aif", "loog5.aif", "loog6.aif", "loog7.aif", "loog8.aif", "loog9.aif", "loog10.aif", "loog11.aif", "loog12.aif", "loog13.aif", "loog14.aif", "loog15.aif", diff --git a/engines/bbvs/minigames/bbtennis.cpp b/engines/bbvs/minigames/bbtennis.cpp index 82c9037954..aa9e2c2ae2 100644 --- a/engines/bbvs/minigames/bbtennis.cpp +++ b/engines/bbvs/minigames/bbtennis.cpp @@ -35,7 +35,7 @@ static const int kLeftPlayerOffY[] = { -18, -18, -14, -11, -11, -11, -11 }; -static const char *kSoundFilenames[] = { +static const char * const kSoundFilenames[] = { "tenis9.aif", "tenis10.aif", "tenis11.aif", "tenis12.aif", "tenis13.aif", "tenis14.aif", "tenis15.aif", "tenis16.aif", "tenis17.aif", "tenis18.aif", "tenis19.aif", "tenis20.aif", "tenis21.aif", "1ahh.aif", "1dammit.aif", -- cgit v1.2.3 From 3aba8da16b2385fb257034d6d45013b3e1b44af8 Mon Sep 17 00:00:00 2001 From: johndoe123 Date: Sun, 16 Feb 2014 00:28:43 +0100 Subject: BBVS: Remove Point type and use BBPoint instead in BBAnt minigame --- engines/bbvs/minigames/bbant.cpp | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/engines/bbvs/minigames/bbant.cpp b/engines/bbvs/minigames/bbant.cpp index 1b9293a231..03d507e575 100644 --- a/engines/bbvs/minigames/bbant.cpp +++ b/engines/bbvs/minigames/bbant.cpp @@ -24,16 +24,12 @@ namespace Bbvs { -struct Point { - int x, y; -}; - -static const Point kPosIncrTbl1[] = { +static const BBPoint kPosIncrTbl1[] = { {0, -1}, {-1, -1}, {-1, 0}, {-1, 1}, { 0, 1}, { 1, 1}, { 1, 0}, { 1, -1} }; -static const Point kPosIncrTbl2[] = { +static const BBPoint kPosIncrTbl2[] = { {0, -2}, {-2, -2}, {-2, 0}, {-2, 2}, { 0, 2}, { 2, 2}, { 2, 0}, { 2, -2} }; -- cgit v1.2.3 From 608485729b52e401865c7f189af2aa2e39021597 Mon Sep 17 00:00:00 2001 From: johndoe123 Date: Sun, 16 Feb 2014 00:37:14 +0100 Subject: BBVS: Make kAnimationsTbl and kObjKindAnimTables const in BBAnt minigame --- engines/bbvs/minigames/bbant.cpp | 16 ++++++++-------- engines/bbvs/minigames/bbant.h | 2 +- engines/bbvs/minigames/bbant_anims.cpp | 6 +++--- 3 files changed, 12 insertions(+), 12 deletions(-) diff --git a/engines/bbvs/minigames/bbant.cpp b/engines/bbvs/minigames/bbant.cpp index 03d507e575..abecf22aff 100644 --- a/engines/bbvs/minigames/bbant.cpp +++ b/engines/bbvs/minigames/bbant.cpp @@ -644,7 +644,7 @@ void MinigameBbAnt::removeStompObj(Obj *obj) { void MinigameBbAnt::insertBugObj(int kind, int animIndexIncr, int always0, int x, int y, int field30, int always1) { Obj *obj = getFreeObject(); if (obj) { - const ObjAnimation **objKindAnimTable = getObjKindAnimTable(kind); + const ObjAnimation * const *objKindAnimTable = getObjKindAnimTable(kind); obj->field30 = field30; obj->animIndexIncr = animIndexIncr; obj->kind = kind; @@ -691,7 +691,7 @@ void MinigameBbAnt::updateBugObjAnim(int objIndex) { obj->animIndexIncr = 6; break; } - const ObjAnimation **objKindAnimTable = getObjKindAnimTable(obj->kind); + const ObjAnimation * const *objKindAnimTable = getObjKindAnimTable(obj->kind); obj->xIncr = kPosIncrTbl1[obj->animIndexIncr].x << 16; obj->yIncr = kPosIncrTbl1[obj->animIndexIncr].y << 16; obj->anim = objKindAnimTable[obj->animIndexIncr]; @@ -710,7 +710,7 @@ void MinigameBbAnt::updateObjAnim2(int objIndex) { obj->animIndexIncr += 4; if (obj->animIndexIncr >= 8) obj->animIndexIncr %= 8; - const ObjAnimation **objKindAnimTable = getObjKindAnimTable(obj->kind); + const ObjAnimation * const *objKindAnimTable = getObjKindAnimTable(obj->kind); obj->xIncr = kPosIncrTbl1[obj->animIndex + obj->animIndexIncr].x << 16; obj->yIncr = kPosIncrTbl1[obj->animIndex + obj->animIndexIncr].y << 16; obj->anim = objKindAnimTable[obj->animIndex + obj->animIndexIncr]; @@ -742,7 +742,7 @@ void MinigameBbAnt::updateObjAnim3(int objIndex) { obj->animIndexIncr = 7; if (obj->animIndexIncr > 7) obj->animIndexIncr = 0; - const ObjAnimation **objKindAnimTable = getObjKindAnimTable(obj->kind); + const ObjAnimation * const *objKindAnimTable = getObjKindAnimTable(obj->kind); obj->xIncr = kPosIncrTbl1[obj->animIndexIncr].x << 16; obj->yIncr = kPosIncrTbl1[obj->animIndexIncr].y << 16; obj->anim = objKindAnimTable[obj->animIndexIncr]; @@ -786,7 +786,7 @@ void MinigameBbAnt::updateBugObj1(int objIndex) { playSound(kSoundTbl2[_vm->getRandom(3)]); } flag1 = false; - const ObjAnimation **objKindAnimTable = getObjKindAnimTable(obj->kind); + const ObjAnimation * const *objKindAnimTable = getObjKindAnimTable(obj->kind); obj->hasSmoke = false; obj->status = 4; obj->xIncr = 0; @@ -833,7 +833,7 @@ void MinigameBbAnt::updateBugObj1(int objIndex) { case 4: if (flag1) { - const ObjAnimation **objKindAnimTable = getObjKindAnimTable(obj->kind); + const ObjAnimation * const *objKindAnimTable = getObjKindAnimTable(obj->kind); obj->status = 6; obj->xIncr = 0; obj->yIncr = 0; @@ -845,7 +845,7 @@ void MinigameBbAnt::updateBugObj1(int objIndex) { case 6: if (flag1) { - const ObjAnimation **objKindAnimTable = getObjKindAnimTable(obj->kind); + const ObjAnimation * const *objKindAnimTable = getObjKindAnimTable(obj->kind); obj->status = 7; obj->xIncr = kPosIncrTbl2[obj->animIndexIncr].x << 16; obj->yIncr = kPosIncrTbl2[obj->animIndexIncr].y << 16; @@ -976,7 +976,7 @@ void MinigameBbAnt::updateFootObj(int objIndex) { Obj *bugObj = &_objects[i]; if (bugObj->kind >= 1 && bugObj->kind <= 5) { bugObj->counter = _vm->getRandom(200) + 360; - const ObjAnimation **objKindAnimTable = getObjKindAnimTable(bugObj->kind); + const ObjAnimation * const *objKindAnimTable = getObjKindAnimTable(bugObj->kind); if (bugObj->status == 8) { bugObj->hasSmoke = false; bugObj->xIncr = 0; diff --git a/engines/bbvs/minigames/bbant.h b/engines/bbvs/minigames/bbant.h index 8600a45719..b9ead3a87b 100644 --- a/engines/bbvs/minigames/bbant.h +++ b/engines/bbvs/minigames/bbant.h @@ -101,7 +101,7 @@ public: const ObjAnimation *getAnimation(int animIndex); const ObjInit *getObjInit(int index); - const ObjAnimation **getObjKindAnimTable(int kind); + const ObjAnimation * const *getObjKindAnimTable(int kind); const ObjAnimation *getObjAnim(int index); void buildDrawList0(DrawList &drawList); diff --git a/engines/bbvs/minigames/bbant_anims.cpp b/engines/bbvs/minigames/bbant_anims.cpp index 9527b7aa4e..c9223adca1 100644 --- a/engines/bbvs/minigames/bbant_anims.cpp +++ b/engines/bbvs/minigames/bbant_anims.cpp @@ -730,9 +730,9 @@ static const MinigameBbAnt::ObjInit kObjInits[] = { {&kAnimations[152], &kAnimations[153], &kAnimations[154], 145, 165}, {&kAnimations[155], &kAnimations[156], &kAnimations[157], 110, 175} }; -static const ObjAnimation *kAnimationsTbl[] = {&kAnimations[0], &kAnimations[1], &kAnimations[2], &kAnimations[3], &kAnimations[4], &kAnimations[5], &kAnimations[6], &kAnimations[7], &kAnimations[16], &kAnimations[17], &kAnimations[18], &kAnimations[19], &kAnimations[20], &kAnimations[21], &kAnimations[22], &kAnimations[23], &kAnimations[24], &kAnimations[25], &kAnimations[26], &kAnimations[27], &kAnimations[28], &kAnimations[29], &kAnimations[30], &kAnimations[31], &kAnimations[32], &kAnimations[33], &kAnimations[42], &kAnimations[43], &kAnimations[44], &kAnimations[45], &kAnimations[46], &kAnimations[47], &kAnimations[48], &kAnimations[49], &kAnimations[50], &kAnimations[51], &kAnimations[52], &kAnimations[53], &kAnimations[54], &kAnimations[55], &kAnimations[56], &kAnimations[57], &kAnimations[58], &kAnimations[59], &kAnimations[68], &kAnimations[69], &kAnimations[70], &kAnimations[71], &kAnimations[72], &kAnimations[73], &kAnimations[74], &kAnimations[75], &kAnimations[76], &kAnimations[77], &kAnimations[78], &kAnimations[79], &kAnimations[80], &kAnimations[81], &kAnimations[82], &kAnimations[83], &kAnimations[84], &kAnimations[85], &kAnimations[94], &kAnimations[95], &kAnimations[96], &kAnimations[97], &kAnimations[98], &kAnimations[99], &kAnimations[100], &kAnimations[101], &kAnimations[102], &kAnimations[103], &kAnimations[104], &kAnimations[105], &kAnimations[106], &kAnimations[107], &kAnimations[108], &kAnimations[109], &kAnimations[110], &kAnimations[111], &kAnimations[120], &kAnimations[121], &kAnimations[122], &kAnimations[123], &kAnimations[124], &kAnimations[125], &kAnimations[126], &kAnimations[127], &kAnimations[128], &kAnimations[129]}; +static const ObjAnimation * const kAnimationsTbl[] = {&kAnimations[0], &kAnimations[1], &kAnimations[2], &kAnimations[3], &kAnimations[4], &kAnimations[5], &kAnimations[6], &kAnimations[7], &kAnimations[16], &kAnimations[17], &kAnimations[18], &kAnimations[19], &kAnimations[20], &kAnimations[21], &kAnimations[22], &kAnimations[23], &kAnimations[24], &kAnimations[25], &kAnimations[26], &kAnimations[27], &kAnimations[28], &kAnimations[29], &kAnimations[30], &kAnimations[31], &kAnimations[32], &kAnimations[33], &kAnimations[42], &kAnimations[43], &kAnimations[44], &kAnimations[45], &kAnimations[46], &kAnimations[47], &kAnimations[48], &kAnimations[49], &kAnimations[50], &kAnimations[51], &kAnimations[52], &kAnimations[53], &kAnimations[54], &kAnimations[55], &kAnimations[56], &kAnimations[57], &kAnimations[58], &kAnimations[59], &kAnimations[68], &kAnimations[69], &kAnimations[70], &kAnimations[71], &kAnimations[72], &kAnimations[73], &kAnimations[74], &kAnimations[75], &kAnimations[76], &kAnimations[77], &kAnimations[78], &kAnimations[79], &kAnimations[80], &kAnimations[81], &kAnimations[82], &kAnimations[83], &kAnimations[84], &kAnimations[85], &kAnimations[94], &kAnimations[95], &kAnimations[96], &kAnimations[97], &kAnimations[98], &kAnimations[99], &kAnimations[100], &kAnimations[101], &kAnimations[102], &kAnimations[103], &kAnimations[104], &kAnimations[105], &kAnimations[106], &kAnimations[107], &kAnimations[108], &kAnimations[109], &kAnimations[110], &kAnimations[111], &kAnimations[120], &kAnimations[121], &kAnimations[122], &kAnimations[123], &kAnimations[124], &kAnimations[125], &kAnimations[126], &kAnimations[127], &kAnimations[128], &kAnimations[129]}; -static const ObjAnimation **kObjKindAnimTables[] = { +static const ObjAnimation * const * const kObjKindAnimTables[] = { 0, &kAnimationsTbl[0], &kAnimationsTbl[18], &kAnimationsTbl[36], &kAnimationsTbl[54], &kAnimationsTbl[72] @@ -746,7 +746,7 @@ const MinigameBbAnt::ObjInit *MinigameBbAnt::getObjInit(int index) { return &kObjInits[index]; } -const ObjAnimation **MinigameBbAnt::getObjKindAnimTable(int kind) { +const ObjAnimation * const *MinigameBbAnt::getObjKindAnimTable(int kind) { return kObjKindAnimTables[kind]; } -- cgit v1.2.3 From 828baf963afaf9fc3449774627e4e970677e061a Mon Sep 17 00:00:00 2001 From: Strangerke Date: Sun, 16 Feb 2014 21:51:50 +0100 Subject: TSAGE: Fix bug #6509 - Topmost line of scene isn't drawn --- engines/tsage/user_interface.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/engines/tsage/user_interface.cpp b/engines/tsage/user_interface.cpp index ae5c6c8cee..e0b624d7d5 100644 --- a/engines/tsage/user_interface.cpp +++ b/engines/tsage/user_interface.cpp @@ -297,8 +297,8 @@ void UICollection::r2rDrawFrame() { GLOBALS._screenSurface.copyFrom(vertLine, SCREEN_WIDTH - 4, 3); // Restrict drawing area to exclude the borders at the edge of the screen - R2_GLOBALS._screenSurface._clipRect = Rect(4, 4, SCREEN_WIDTH - 4, - SCREEN_HEIGHT - 4); + R2_GLOBALS._screenSurface._clipRect = Rect(4, 3, SCREEN_WIDTH - 4, + SCREEN_HEIGHT - 3); } /*--------------------------------------------------------------------------*/ -- cgit v1.2.3 From dc3477b092492b085c71684321d6e8367dbaaead Mon Sep 17 00:00:00 2001 From: uruk Date: Sun, 16 Feb 2014 22:12:35 +0100 Subject: AVALANCHE: Implement ShootEmUp::setup() and connected functions. --- engines/avalanche/graphics.cpp | 2 +- engines/avalanche/shootemup.cpp | 107 ++++++++++++++++++++++++++++++++++++---- engines/avalanche/shootemup.h | 43 +++++++++++++++- 3 files changed, 141 insertions(+), 11 deletions(-) diff --git a/engines/avalanche/graphics.cpp b/engines/avalanche/graphics.cpp index ab1a108194..8b94e9a09f 100644 --- a/engines/avalanche/graphics.cpp +++ b/engines/avalanche/graphics.cpp @@ -744,7 +744,7 @@ void GraphicManager::seuFree() { } /** - * @remarks Originally called 'display' + * @remarks Originally called 'display' and it also replaces 'display_const' */ void GraphicManager::seuDrawPicture(int x, int y, byte which) { drawPicture(_surface, _seuPictures[which], x, y); diff --git a/engines/avalanche/shootemup.cpp b/engines/avalanche/shootemup.cpp index 79720fcb8c..0d6e0df42e 100644 --- a/engines/avalanche/shootemup.cpp +++ b/engines/avalanche/shootemup.cpp @@ -32,13 +32,54 @@ namespace Avalanche { -const byte ShootEmUp::kFacingRight = 87; const byte ShootEmUp::kStocks = 27; +const byte ShootEmUp::kFacingRight = 87; +const byte ShootEmUp::kFacingLeft = 93; +const long int ShootEmUp::kFlag = -20047; ShootEmUp::ShootEmUp(AvalancheEngine *vm) { _vm = vm; _time = 0; + for (int i = 0; i < 7; i++) + _stockStatus[i] = 0; + for (int i = 0; i < 99; i++) { + _sprites[i]._ix = 0; + _sprites[i]._iy = 0; + _sprites[i]._x = 0; + _sprites[i]._y = 0; + _sprites[i]._p = 0; + _sprites[i]._timeout = 0; + _sprites[i]._cameo = false; + _sprites[i]._cameoFrame = 0; + _sprites[i]._missile = false; + _sprites[i]._wipe = false; + } + _rectNum = 0; + _avvyWas = 0; + _avvyPos = 0; + _avvyAnim = 0; + _avvyFacing = 0; + _altWasPressedBefore = false; + _throwNext = 0; + _firing = false; + for (int i = 0; i < 4; i++) { + _running[i]._x = 0; + _running[i]._y = 0; + _running[i]._frame = 0; + _running[i]._tooHigh = 0; + _running[i]._lowest = 0; + _running[i]._ix = 0; + _running[i]._iy = 0; + _running[i]._frameDelay = 0; + } + for (int i = 0; i < 7; i++) + _hasEscaped[i] = false; + _count321 = 0; + _howManyHaveEscaped = 0; + _escapeCount = 0; + _escaping = false; + _timeThisSecond = 0; } void ShootEmUp::run() { @@ -62,10 +103,7 @@ void ShootEmUp::run() { } setup(); - initRunner(20, 70, 48, 54, _vm->_rnd->getRandomNumber(4) + 1, _vm->_rnd->getRandomNumber(3) - 2); - initRunner(600, 70, 48, 54, _vm->_rnd->getRandomNumber(4) + 1, _vm->_rnd->getRandomNumber(3) - 2); - initRunner(600, 100, 61, 67, -(_vm->_rnd->getRandomNumber(4)) + 1, _vm->_rnd->getRandomNumber(3) - 2); - initRunner(20, 100, 61, 67, -(_vm->_rnd->getRandomNumber(4)) + 1, _vm->_rnd->getRandomNumber(3) - 2); + do { blankIt(); hitPeople(); @@ -123,12 +161,24 @@ void ShootEmUp::showStock(byte x) { warning("STUB: ShootEmUp::showStock()"); } +void ShootEmUp::drawNumber(int number, int size, int x) { + for (int i = 0; i < size - 1; i++) { + int divisor = 10; + for (int j = 0; j < size - 2 - i; j++) + divisor *= 10; + char value = number / divisor; + _vm->_graphics->seuDrawPicture(x + i * 10, 0, value); + number -= value * divisor; + } + _vm->_graphics->seuDrawPicture(x + (size - 1) * 10, 0, number % 10); +} + void ShootEmUp::showScore() { - warning("STUB: ShootEmUp::showScore()"); + drawNumber(_score, 5, 40); } void ShootEmUp::showTime() { - warning("STUB: ShootEmUp::showTime()"); + drawNumber(_time, 3, 140); } void ShootEmUp::gain(int8 howMuch) { @@ -136,7 +186,8 @@ void ShootEmUp::gain(int8 howMuch) { } void ShootEmUp::newEscape() { - warning("STUB: ShootEmUp::newEscape()"); + _escapeCount = _vm->_rnd->getRandomNumber(17) * 20; + _escaping = false; } void ShootEmUp::nextPage() { @@ -195,7 +246,45 @@ void ShootEmUp::instructions() { } void ShootEmUp::setup() { - warning("STUB: ShootEmUp::setup()"); + _score = 0; + _time = 120; + + for (int i = 0; i < 7; i++) { + _stockStatus[i] = _vm->_rnd->getRandomNumber(1); + showStock(i); + } + + _avvyWas = 320; + _avvyPos = 320; + _avvyAnim = 1; + _avvyFacing = kFacingLeft; + + _altWasPressedBefore = false; + _throwNext = 74; + _firing = false; + + for (int i = 0; i < 4; i++) + _running[i]._x = kFlag; + + newEscape(); + + _count321 = 255; // Counting down. + + _vm->_graphics->drawFilledRectangle(Common::Rect(0, 0, 640, 200), kColorBlack); // Black out the whole screen. + + // Set up status line: + _vm->_graphics->seuDrawPicture(0, 0, 16); // Score: + showScore(); // Value of score (00000 here). + _vm->_graphics->seuDrawPicture(110, 0, 19); // Time: + showTime(); // Value of time. + + _vm->_graphics->refreshScreen(); + + // From the original core cycle: + initRunner(20, 70, 48, 54, _vm->_rnd->getRandomNumber(4) + 1, _vm->_rnd->getRandomNumber(3) - 2); + initRunner(600, 70, 48, 54, _vm->_rnd->getRandomNumber(4) + 1, _vm->_rnd->getRandomNumber(3) - 2); + initRunner(600, 100, 61, 67, -(_vm->_rnd->getRandomNumber(4)) + 1, _vm->_rnd->getRandomNumber(3) - 2); + initRunner(20, 100, 61, 67, -(_vm->_rnd->getRandomNumber(4)) + 1, _vm->_rnd->getRandomNumber(3) - 2); } void ShootEmUp::initRunner(int16 xx, int16 yy, byte f1, byte f2, int8 ixx, int8 iyy) { diff --git a/engines/avalanche/shootemup.h b/engines/avalanche/shootemup.h index b2cf8ba34a..21b5a76fb0 100644 --- a/engines/avalanche/shootemup.h +++ b/engines/avalanche/shootemup.h @@ -38,12 +38,52 @@ public: void run(); private: - static const byte kFacingRight; + struct Sprite { + int8 _ix, _iy; + int16 _x, _y; + byte _p; + int16 _timeout; + bool _cameo; + byte _cameoFrame; + bool _missile; + bool _wipe; + }; + + struct Runner { + int16 _x, _y; + byte _frame; + byte _tooHigh; + byte _lowest; + int8 _ix, _iy; + byte _frameDelay; + }; + static const byte kStocks; + static const byte kFacingRight; + static const byte kFacingLeft; + static const long int kFlag; AvalancheEngine *_vm; + uint16 _score; byte _time; + byte _stockStatus[7]; + Sprite _sprites[99]; + byte _rectNum; // Original: 'rsize' + uint16 _avvyWas; + uint16 _avvyPos; + byte _avvyAnim; + byte _avvyFacing; + bool _altWasPressedBefore; + byte _throwNext; + bool _firing; + Runner _running[4]; + bool _hasEscaped[7]; + byte _count321; + byte _howManyHaveEscaped; + uint16 _escapeCount; + bool _escaping; + byte _timeThisSecond; bool overlap(uint16 a1x, uint16 a1y, uint16 a2x, uint16 a2y, uint16 b1x, uint16 b1y, uint16 b2x, uint16 b2y); byte getStockNumber(byte x); @@ -53,6 +93,7 @@ private: void define(int16 xx, int16 yy, byte pp, int8 ixx, int8 iyy, int16 time, bool isAMissile, bool doWeWipe); void defineCameo(int16 xx, int16 yy, byte pp, int16 time); void showStock(byte x); + void drawNumber(int number, int size, int x); void showScore(); void showTime(); void gain(int8 howMuch); -- cgit v1.2.3 From 9bc001da907155df29ccb6789b97e0453100701f Mon Sep 17 00:00:00 2001 From: Strangerke Date: Sun, 16 Feb 2014 22:21:47 +0100 Subject: TSAGE: Fix F5 in Help screen --- engines/tsage/ringworld2/ringworld2_logic.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/engines/tsage/ringworld2/ringworld2_logic.cpp b/engines/tsage/ringworld2/ringworld2_logic.cpp index 1f958d5d6f..e845771c21 100644 --- a/engines/tsage/ringworld2/ringworld2_logic.cpp +++ b/engines/tsage/ringworld2/ringworld2_logic.cpp @@ -1215,6 +1215,12 @@ void Ringworld2Game::processEvent(Event &event) { R2_GLOBALS._events.setCursorFromFlag(); break; + case Common::KEYCODE_F5: + // F5 - Save + saveGame(); + R2_GLOBALS._events.setCursorFromFlag(); + break; + case Common::KEYCODE_F7: // F7 - Restore restoreGame(); -- cgit v1.2.3 From 591b38ed427f4c2074a47cfe78c016fe4c547a16 Mon Sep 17 00:00:00 2001 From: Strangerke Date: Sun, 16 Feb 2014 22:52:33 +0100 Subject: AVALANCHE: Silence warnings in MSVC --- engines/avalanche/shootemup.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/engines/avalanche/shootemup.cpp b/engines/avalanche/shootemup.cpp index 0d6e0df42e..03addc62b6 100644 --- a/engines/avalanche/shootemup.cpp +++ b/engines/avalanche/shootemup.cpp @@ -283,8 +283,8 @@ void ShootEmUp::setup() { // From the original core cycle: initRunner(20, 70, 48, 54, _vm->_rnd->getRandomNumber(4) + 1, _vm->_rnd->getRandomNumber(3) - 2); initRunner(600, 70, 48, 54, _vm->_rnd->getRandomNumber(4) + 1, _vm->_rnd->getRandomNumber(3) - 2); - initRunner(600, 100, 61, 67, -(_vm->_rnd->getRandomNumber(4)) + 1, _vm->_rnd->getRandomNumber(3) - 2); - initRunner(20, 100, 61, 67, -(_vm->_rnd->getRandomNumber(4)) + 1, _vm->_rnd->getRandomNumber(3) - 2); + initRunner(600, 100, 61, 67, (-(int8)_vm->_rnd->getRandomNumber(4)) + 1, _vm->_rnd->getRandomNumber(3) - 2); + initRunner(20, 100, 61, 67, (-(int8)_vm->_rnd->getRandomNumber(4)) + 1, _vm->_rnd->getRandomNumber(3) - 2); } void ShootEmUp::initRunner(int16 xx, int16 yy, byte f1, byte f2, int8 ixx, int8 iyy) { -- cgit v1.2.3 From 0657b7a072dc745b7290c159d73c1f6924886554 Mon Sep 17 00:00:00 2001 From: Strangerke Date: Sun, 16 Feb 2014 22:57:52 +0100 Subject: TSAGE: Fix again #6507 - Regression introduced in a41db1939cdff632d16aa3849e23b844c46bafef --- engines/tsage/ringworld2/ringworld2_dialogs.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/engines/tsage/ringworld2/ringworld2_dialogs.cpp b/engines/tsage/ringworld2/ringworld2_dialogs.cpp index adc0856380..5da600a1dd 100644 --- a/engines/tsage/ringworld2/ringworld2_dialogs.cpp +++ b/engines/tsage/ringworld2/ringworld2_dialogs.cpp @@ -322,6 +322,10 @@ void CharacterDialog::show() { // Change to whichever scene the newly selected character is in R2_GLOBALS._sceneManager.changeScene(R2_GLOBALS._player._characterScene[R2_GLOBALS._player._characterIndex]); + + // Force the reset the current cursor + R2_GLOBALS._events.setCursor(CURSOR_USE); + } else // Restore previous cursor R2_GLOBALS._events.setCursor(cursorNum); -- cgit v1.2.3 From 3d1ac3cc78a704fc0c72a4f645be5c79380380c8 Mon Sep 17 00:00:00 2001 From: Eugene Sandulenko Date: Mon, 17 Feb 2014 00:14:18 +0200 Subject: FULLPIPE: Implement sceneHandler09_hangerStartCycle() --- engines/fullpipe/constants.h | 1 + engines/fullpipe/scenes/scene09.cpp | 20 +++++++++++++++++++- 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/engines/fullpipe/constants.h b/engines/fullpipe/constants.h index bae0a2d799..d22e021d00 100644 --- a/engines/fullpipe/constants.h +++ b/engines/fullpipe/constants.h @@ -606,6 +606,7 @@ namespace Fullpipe { #define QU_TTA9_GOL 4937 #define SND_9_006 3650 #define SND_9_018 4200 +#define SND_9_019 4201 #define ST_GLT_SIT 926 #define ST_GRT9_GRIT 2722 #define ST_GRT9_NORM 2721 diff --git a/engines/fullpipe/scenes/scene09.cpp b/engines/fullpipe/scenes/scene09.cpp index 6752864962..dc860b1884 100644 --- a/engines/fullpipe/scenes/scene09.cpp +++ b/engines/fullpipe/scenes/scene09.cpp @@ -321,7 +321,25 @@ void sceneHandler09_checkHangerCollide() { } void sceneHandler09_hangerStartCycle() { - warning("STUB: sceneHandler09_hangerStartCycle()"); + StaticANIObject *ani = g_vars->scene09_hangers[g_vars->scene09_var10]->ani; + + if (ani->_movement) { + ani->startAnim(MV_VSN_CYCLE2, 0, -1); + g_vars->scene09_hangers[g_vars->scene09_var10]->field_8 = 0; + g_vars->scene09_hangers[g_vars->scene09_var10]->phase = g_vars->scene09_var11 + (g_fp->_mouseScreenPos.y - g_vars->scene09_var19) / 2; + + if (g_vars->scene09_var12 != -1000 && g_vars->scene09_hangers[g_vars->scene09_var10]->phase != g_vars->scene09_var12) { + ExCommand *ex = new ExCommand(0, 35, SND_9_019, 0, 0, 0, 1, 0, 0, 0); + + ex->_field_14 = 1; + ex->_excFlags |= 2; + ex->postMessage(); + + g_vars->scene09_var12 = -1000; + } + } else { + g_vars->scene09_var10 = -1; + } } int sceneHandler09(ExCommand *cmd) { -- cgit v1.2.3 From a5f0cd06e648765791828b8f2dc90880621182f2 Mon Sep 17 00:00:00 2001 From: Kirben Date: Mon, 17 Feb 2014 11:36:53 +1100 Subject: SDL: Revert add warning if "waveout" driver is being used for audio. This situation was only caused by a buildbot issue, and the relevant information has been added to the FAQ on the ScummVM web site. --- backends/mixer/sdl/sdl-mixer.cpp | 4 ---- 1 file changed, 4 deletions(-) diff --git a/backends/mixer/sdl/sdl-mixer.cpp b/backends/mixer/sdl/sdl-mixer.cpp index c5c717f75c..8e411f2580 100644 --- a/backends/mixer/sdl/sdl-mixer.cpp +++ b/backends/mixer/sdl/sdl-mixer.cpp @@ -64,10 +64,6 @@ void SdlMixerManager::init() { SDL_AudioDriverName(sdlDriverName, maxNameLen); debug(1, "Using SDL Audio Driver \"%s\"", sdlDriverName); - // Warning if SDL on Windows is using the fallback waveout driver, rather than the nominal DX DirectSound driver, which can cause issues with audio. - if (strcmp(sdlDriverName, "waveout") == 0) - warning("Using the fallback \"waveout\" SDL audio driver instead of \"dsound\" can cause audio lag. Fix your DirectX setup and/or SDL.dll to avoid this."); - // Get the desired audio specs SDL_AudioSpec desired = getAudioSpec(SAMPLES_PER_SEC); -- cgit v1.2.3 From 5b1631960e1c10e8fe60261eee0cec62756e3d66 Mon Sep 17 00:00:00 2001 From: Filippos Karapetis Date: Mon, 17 Feb 2014 03:29:17 +0200 Subject: SCI: Fix bug #6536 - "SCI: JONES - top menu empty after loading from launcher" --- engines/sci/sci.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/engines/sci/sci.cpp b/engines/sci/sci.cpp index f32e0e16f9..fdc016b1b9 100644 --- a/engines/sci/sci.cpp +++ b/engines/sci/sci.cpp @@ -286,6 +286,11 @@ Common::Error SciEngine::run() { // We set this, so that the game automatically quit right after init _gamestate->variables[VAR_GLOBAL][4] = TRUE_REG; + // Jones only initializes its menus when restarting/restoring, thus set + // the gameIsRestarting flag here before initializing. Fixes bug #6536. + if (g_sci->getGameId() == GID_JONES) + _gamestate->gameIsRestarting = GAMEISRESTARTING_RESTORE; + _gamestate->_executionStackPosChanged = false; run_vm(_gamestate); -- cgit v1.2.3 From 56a32b365210b3f517952674fbd4b16700ba27ca Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Sun, 16 Feb 2014 23:29:19 -0500 Subject: VOYEUR: Fix checking RLV header signature --- engines/voyeur/animation.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/engines/voyeur/animation.cpp b/engines/voyeur/animation.cpp index c7522e6b20..f81573f733 100644 --- a/engines/voyeur/animation.cpp +++ b/engines/voyeur/animation.cpp @@ -162,7 +162,7 @@ void RL2Decoder::RL2FileHeader::load(Common::SeekableReadStream *stream) { _form = stream->readUint32LE(); _backSize = stream->readUint32LE(); - _signature = stream->readUint32LE(); + _signature = stream->readUint32BE(); if (!isValid()) return; @@ -197,7 +197,7 @@ void RL2Decoder::RL2FileHeader::load(Common::SeekableReadStream *stream) { } bool RL2Decoder::RL2FileHeader::isValid() const { - return _signature == MKTAG('R','L','V','2') || _signature != MKTAG('R','L','V','3'); + return _signature == MKTAG('R','L','V','2') || _signature == MKTAG('R','L','V','3'); } Common::Rational RL2Decoder::RL2FileHeader::getFrameRate() const { -- cgit v1.2.3 From b2bf4c6b17116a6747a283d6e9dc11c79767cd72 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Sun, 16 Feb 2014 23:38:05 -0500 Subject: VOYEUR: Changed SVoy initialisation to individual field values --- engines/voyeur/data.cpp | 38 ++++++++++++++++++++++++++++++++++---- 1 file changed, 34 insertions(+), 4 deletions(-) diff --git a/engines/voyeur/data.cpp b/engines/voyeur/data.cpp index db59760e13..3a7c75fc2e 100644 --- a/engines/voyeur/data.cpp +++ b/engines/voyeur/data.cpp @@ -39,8 +39,40 @@ void VoyeurEvent::synchronize(Common::Serializer &s) { /*------------------------------------------------------------------------*/ SVoy::SVoy() { - // Initialize all the data fields of SVoy to empty values - Common::fill((byte *)this, (byte *)this + sizeof(SVoy), 0); + // Initialize all the data fields + _abortInterface = false; + _fadeICF0 = false; + _isAM = false; + Common::fill(&_phoneCallsReceived[0], &_phoneCallsReceived[5], false); + Common::fill(&_roomHotspotsEnabled[0], &_roomHotspotsEnabled[20], false); + _victimMurdered = false; + + _audioVisualStartTime = 0; + _audioVisualDuration = 0; + _boltGroupId2 = 0; + _computerTextId = 0; + _computerTimeMin = _computerTimeMax = 0; + _curICF0 = 0; + _eventCount = 0; + _fadingStep1 = 0; + _fadingStep2 = 0; + _fadingType = 0; + _incriminatedVictimNumber = 0; + _musicStartTime = 0; + _playStampMode = 0; + _switchBGNum = 0; + _transitionId = 0; + _victimNumber = 0; + _videoEventId = 0; + _vocSecondsOffset = 0; + _RTANum = 0; + _RTVLimit = 0; + _RTVNum = 0; + _viewBounds = nullptr; + Common::fill(&_evPicPtrs[0], &_evPicPtrs[6], (PictureResource *)nullptr); + Common::fill(&_evCmPtrs[0], &_evCmPtrs[6], (CMapResource *)nullptr); + _curICF1 = 0; + _policeEvent = 0; _eventFlags = EVTFLAG_TIME_DISABLED; _fadingAmount1 = _fadingAmount2 = 127; @@ -48,8 +80,6 @@ SVoy::SVoy() { _aptLoadMode = -1; _eventFlags |= EVTFLAG_100; _totalPhoneCalls = 0; - _victimMurdered = false; - _computerTimeMin = _computerTimeMax = 0; } void SVoy::setVm(VoyeurEngine *vm) { -- cgit v1.2.3 From fe0376dbb0b1b21c6bfc396e55a3e1259514cef8 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Sun, 16 Feb 2014 23:43:15 -0500 Subject: VOYEUR: Indent register plugin lines to match standard practice --- engines/voyeur/detection.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/engines/voyeur/detection.cpp b/engines/voyeur/detection.cpp index 9a942b691a..8d3910e747 100644 --- a/engines/voyeur/detection.cpp +++ b/engines/voyeur/detection.cpp @@ -176,7 +176,7 @@ SaveStateDescriptor VoyeurMetaEngine::querySaveMetaInfos(const char *target, int #if PLUGIN_ENABLED_DYNAMIC(VOYEUR) -REGISTER_PLUGIN_DYNAMIC(VOYEUR, PLUGIN_TYPE_ENGINE, VoyeurMetaEngine); + REGISTER_PLUGIN_DYNAMIC(VOYEUR, PLUGIN_TYPE_ENGINE, VoyeurMetaEngine); #else -REGISTER_PLUGIN_STATIC(VOYEUR, PLUGIN_TYPE_ENGINE, VoyeurMetaEngine); + REGISTER_PLUGIN_STATIC(VOYEUR, PLUGIN_TYPE_ENGINE, VoyeurMetaEngine); #endif -- cgit v1.2.3 From d80f1adb3144a623fd450652bc94aecb37ea4297 Mon Sep 17 00:00:00 2001 From: Filippos Karapetis Date: Mon, 17 Feb 2014 11:46:24 +0200 Subject: SCI: Provide more accurate error messages for unsupported saved games --- engines/sci/engine/savegame.cpp | 19 +++++++------------ 1 file changed, 7 insertions(+), 12 deletions(-) diff --git a/engines/sci/engine/savegame.cpp b/engines/sci/engine/savegame.cpp index ce9a672572..c64d5b6272 100644 --- a/engines/sci/engine/savegame.cpp +++ b/engines/sci/engine/savegame.cpp @@ -860,16 +860,13 @@ void gamestate_restore(EngineState *s, Common::SeekableReadStream *fh) { return; } - if ((meta.version < MINIMUM_SAVEGAME_VERSION) || - (meta.version > CURRENT_SAVEGAME_VERSION)) { - /* - if (meta.version < MINIMUM_SAVEGAME_VERSION) - warning("Old savegame version detected, unable to load it"); - else - warning("Savegame version is %d, maximum supported is %0d", meta.version, CURRENT_SAVEGAME_VERSION); - */ - - showScummVMDialog("The format of this saved game is obsolete, unable to load it"); + if ((meta.version < MINIMUM_SAVEGAME_VERSION) || (meta.version > CURRENT_SAVEGAME_VERSION)) { + if (meta.version < MINIMUM_SAVEGAME_VERSION) { + showScummVMDialog("The format of this saved game is obsolete, unable to load it"); + } else { + Common::String msg = Common::String::format("Savegame version is %d, maximum supported is %0d", meta.version, CURRENT_SAVEGAME_VERSION); + showScummVMDialog(msg); + } s->r_acc = TRUE_REG; // signal failure return; @@ -878,8 +875,6 @@ void gamestate_restore(EngineState *s, Common::SeekableReadStream *fh) { if (meta.gameObjectOffset > 0 && meta.script0Size > 0) { Resource *script0 = g_sci->getResMan()->findResource(ResourceId(kResourceTypeScript, 0), false); if (script0->size != meta.script0Size || g_sci->getGameObject().getOffset() != meta.gameObjectOffset) { - //warning("This saved game was created with a different version of the game, unable to load it"); - showScummVMDialog("This saved game was created with a different version of the game, unable to load it"); s->r_acc = TRUE_REG; // signal failure -- cgit v1.2.3 From d92006188e470a0c17ff437b10dea643df5b64ef Mon Sep 17 00:00:00 2001 From: Filippos Karapetis Date: Mon, 17 Feb 2014 11:47:16 +0200 Subject: SCI: Skip some still unsupported robot files in RAMA --- engines/sci/video/robot_decoder.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/engines/sci/video/robot_decoder.cpp b/engines/sci/video/robot_decoder.cpp index a567ece2ea..198407320e 100644 --- a/engines/sci/video/robot_decoder.cpp +++ b/engines/sci/video/robot_decoder.cpp @@ -116,6 +116,10 @@ bool RobotDecoder::load(GuiResourceId id) { if (g_sci->getGameId() == GID_RAMA && id == 1003) return false; + // Robots for the options in the RAMA menu + if (g_sci->getGameId() == GID_RAMA && (id >= 1004 && id <= 1009)) + return false; + // TODO: The robot video in the Lighthouse demo gets stuck if (g_sci->getGameId() == GID_LIGHTHOUSE && id == 16) return false; -- cgit v1.2.3 From 474c45fdc6326d9f2bebea9fcc7df704e0951173 Mon Sep 17 00:00:00 2001 From: Filippos Karapetis Date: Mon, 17 Feb 2014 11:48:34 +0200 Subject: SCI: Some minor cleanup --- engines/sci/sci.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/engines/sci/sci.cpp b/engines/sci/sci.cpp index fdc016b1b9..5989ed3730 100644 --- a/engines/sci/sci.cpp +++ b/engines/sci/sci.cpp @@ -581,7 +581,7 @@ bool SciEngine::initGame() { // Script 0 should always be at segment 1 if (script0Segment != 1) { - debug(2, "Failed to instantiate script.000"); + debug(2, "Failed to instantiate script 0"); return false; } -- cgit v1.2.3 From 9addca7287b7e22f22d80ffc04077187a0693ad3 Mon Sep 17 00:00:00 2001 From: Filippos Karapetis Date: Mon, 17 Feb 2014 11:52:49 +0200 Subject: SCI: Allow saving without a VERSION file in Jones Apparently, the original does the same. Fixes bug #6535 --- engines/sci/engine/kernel_tables.h | 2 +- engines/sci/engine/kfile.cpp | 7 ++----- 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/engines/sci/engine/kernel_tables.h b/engines/sci/engine/kernel_tables.h index 39244bd760..71f1712d36 100644 --- a/engines/sci/engine/kernel_tables.h +++ b/engines/sci/engine/kernel_tables.h @@ -431,7 +431,7 @@ static SciKernelMapEntry s_kernelMap[] = { { MAP_CALL(RestartGame), SIG_EVERYWHERE, "", NULL, NULL }, { MAP_CALL(RestoreGame), SIG_EVERYWHERE, "[r0]i[r0]", NULL, NULL }, { MAP_CALL(Said), SIG_EVERYWHERE, "[r0]", NULL, NULL }, - { MAP_CALL(SaveGame), SIG_EVERYWHERE, "[r0]i[r0](r)", NULL, NULL }, + { MAP_CALL(SaveGame), SIG_EVERYWHERE, "[r0]i[r0](r0)", NULL, NULL }, { MAP_CALL(ScriptID), SIG_EVERYWHERE, "[io](i)", NULL, NULL }, { MAP_CALL(SetCursor), SIG_SCI21, SIGFOR_ALL, "i(i)([io])(i*)", NULL, NULL }, // TODO: SCI2.1 may supply an object optionally (mother goose sci21 right on startup) - find out why diff --git a/engines/sci/engine/kfile.cpp b/engines/sci/engine/kfile.cpp index b940eca6f5..71e8ec6442 100644 --- a/engines/sci/engine/kfile.cpp +++ b/engines/sci/engine/kfile.cpp @@ -743,11 +743,11 @@ reg_t kSaveGame(EngineState *s, int argc, reg_t *argv) { savegameId = dialog->runModalWithCurrentTarget(); game_description = dialog->getResultString(); if (game_description.empty()) { - // create our own description for the saved game, the user didnt enter it + // create our own description for the saved game, the user didn't enter it game_description = dialog->createDefaultSaveDescription(savegameId); } delete dialog; - g_sci->_soundCmd->pauseAll(false); // unpause music ( we can't have it paused during save) + g_sci->_soundCmd->pauseAll(false); // unpause music (we can't have it paused during save) if (savegameId < 0) return NULL_REG; @@ -849,8 +849,6 @@ reg_t kRestoreGame(EngineState *s, int argc, reg_t *argv) { } // don't adjust ID of the saved game, it's already correct } else { - if (argv[2].isNull()) - error("kRestoreGame: called with parameter 2 being NULL"); if (g_sci->getGameId() == GID_JONES) { // Jones has one save slot only savegameId = 0; @@ -879,7 +877,6 @@ reg_t kRestoreGame(EngineState *s, int argc, reg_t *argv) { in = saveFileMan->openForLoading(filename); if (in) { // found a savegame file - gamestate_restore(s, in); delete in; -- cgit v1.2.3 From ed400d57fce69a88c9cdaf6dde03c89e22925968 Mon Sep 17 00:00:00 2001 From: Filippos Karapetis Date: Mon, 17 Feb 2014 11:57:18 +0200 Subject: SCI: Fix NS rect calculation in GK1 (and SCI32 in general) This fixes the regressions caused by refactoring in SCI32. Thanks to Timo Korvola for tracking down the issue and providing an initial patch in bug #6452 --- engines/sci/engine/kgraphics32.cpp | 10 +++++++++- engines/sci/graphics/compare.cpp | 10 +--------- engines/sci/graphics/compare.h | 2 +- 3 files changed, 11 insertions(+), 11 deletions(-) diff --git a/engines/sci/engine/kgraphics32.cpp b/engines/sci/engine/kgraphics32.cpp index cd735d1233..0eb4fa856b 100644 --- a/engines/sci/engine/kgraphics32.cpp +++ b/engines/sci/engine/kgraphics32.cpp @@ -142,7 +142,15 @@ reg_t kIsOnMe(EngineState *s, int argc, reg_t *argv) { uint16 y = argv[1].toUint16(); reg_t targetObject = argv[2]; uint16 illegalBits = argv[3].getOffset(); - Common::Rect nsRect = g_sci->_gfxCompare->getNSRect(targetObject, true); + Common::Rect nsRect = g_sci->_gfxCompare->getNSRect(targetObject); + + uint16 itemX = readSelectorValue(s->_segMan, targetObject, SELECTOR(x)); + uint16 itemY = readSelectorValue(s->_segMan, targetObject, SELECTOR(y)); + // If top and left are negative, we need to adjust coordinates by the item's x and y + if (nsRect.left < 0) + nsRect.translate(itemX, 0); + if (nsRect.top < 0) + nsRect.translate(0, itemY); // we assume that x, y are local coordinates diff --git a/engines/sci/graphics/compare.cpp b/engines/sci/graphics/compare.cpp index b42063b119..8b89cf4a65 100644 --- a/engines/sci/graphics/compare.cpp +++ b/engines/sci/graphics/compare.cpp @@ -241,21 +241,13 @@ void GfxCompare::kernelBaseSetter(reg_t object) { } } -Common::Rect GfxCompare::getNSRect(reg_t object, bool fixRect) { +Common::Rect GfxCompare::getNSRect(reg_t object) { Common::Rect nsRect; nsRect.top = readSelectorValue(_segMan, object, SELECTOR(nsTop)); nsRect.left = readSelectorValue(_segMan, object, SELECTOR(nsLeft)); nsRect.bottom = readSelectorValue(_segMan, object, SELECTOR(nsBottom)); nsRect.right = readSelectorValue(_segMan, object, SELECTOR(nsRight)); - if (fixRect) { - // nsRect top/left may be negative, adjust accordingly - if (nsRect.top < 0) - nsRect.top = 0; - if (nsRect.left < 0) - nsRect.left = 0; - } - return nsRect; } diff --git a/engines/sci/graphics/compare.h b/engines/sci/graphics/compare.h index 0080406a3b..48e9e376b5 100644 --- a/engines/sci/graphics/compare.h +++ b/engines/sci/graphics/compare.h @@ -42,7 +42,7 @@ public: reg_t kernelCanBeHere(reg_t curObject, reg_t listReference); bool kernelIsItSkip(GuiResourceId viewId, int16 loopNo, int16 celNo, Common::Point position); void kernelBaseSetter(reg_t object); - Common::Rect getNSRect(reg_t object, bool fixRect = false); + Common::Rect getNSRect(reg_t object); void setNSRect(reg_t object, Common::Rect nsRect); private: -- cgit v1.2.3 From 715a5f9bbec102c58fd145a65cc2c678813bf4f9 Mon Sep 17 00:00:00 2001 From: Filippos Karapetis Date: Mon, 17 Feb 2014 12:05:40 +0200 Subject: SCI: Adapt the segment and offset getters/setters for SCI3 This is by no means complete, but it's a good start. It is based on an earlier discussion on the subject, and it allows us to use the highest two bits from the segment for offset addresses --- engines/sci/engine/vm_types.cpp | 37 +++++++++++++++++++++++++++++++++++++ engines/sci/engine/vm_types.h | 25 +++++++------------------ 2 files changed, 44 insertions(+), 18 deletions(-) diff --git a/engines/sci/engine/vm_types.cpp b/engines/sci/engine/vm_types.cpp index 5327dd1a2e..00b55c64b3 100644 --- a/engines/sci/engine/vm_types.cpp +++ b/engines/sci/engine/vm_types.cpp @@ -28,6 +28,43 @@ namespace Sci { +SegmentId reg_t::getSegment() const { + if (getSciVersion() <= SCI_VERSION_2_1) { + return _segment; + } else { + // Return the lower 14 bits of the segment + return (_segment & 0x3FFF); + } +} + +void reg_t::setSegment(SegmentId segment) { + if (getSciVersion() <= SCI_VERSION_2_1) { + _segment = segment; + } else { + // Set the lower 14 bits of the segment, and preserve the upper 2 ones for the offset + _segment = (_segment & 0xC000) | (segment & 0x3FFF); + } +} + +uint32 reg_t::getOffset() const { + if (getSciVersion() <= SCI_VERSION_2_1) { + return _offset; + } else { + // Return the lower 16 bits from the offset, and the 17th and 18th bits from the segment + return ((_segment & 0xC000) << 2) | _offset; + } +} + +void reg_t::setOffset(uint32 offset) { + if (getSciVersion() <= SCI_VERSION_2_1) { + _offset = offset; + } else { + // Store the lower 16 bits in the offset, and the 17th and 18th bits in the segment + _offset = offset & 0xFFFF; + _segment = ((offset & 0x30000) >> 2) | (_segment & 0x3FFF); + } +} + reg_t reg_t::lookForWorkaround(const reg_t right, const char *operation) const { SciTrackOriginReply originReply; SciWorkaroundSolution solution = trackOriginAndFindWorkaround(0, arithmeticWorkarounds, &originReply); diff --git a/engines/sci/engine/vm_types.h b/engines/sci/engine/vm_types.h index 22bd8beaa1..a181bf19cd 100644 --- a/engines/sci/engine/vm_types.h +++ b/engines/sci/engine/vm_types.h @@ -35,36 +35,25 @@ struct reg_t { SegmentId _segment; uint16 _offset; - inline SegmentId getSegment() const { - return _segment; - } - - inline void setSegment(SegmentId segment) { - _segment = segment; - } - - inline uint16 getOffset() const { - return _offset; - } - - inline void setOffset(uint16 offset) { - _offset = offset; - } + SegmentId getSegment() const; + void setSegment(SegmentId segment); + uint32 getOffset() const; + void setOffset(uint32 offset); inline void incOffset(int16 offset) { setOffset(getOffset() + offset); } inline bool isNull() const { - return (_offset | getSegment()) == 0; + return (getOffset() | getSegment()) == 0; } inline uint16 toUint16() const { - return _offset; + return (uint16)getOffset(); } inline int16 toSint16() const { - return (int16)_offset; + return (int16)getOffset(); } bool isNumber() const { -- cgit v1.2.3 From a2bcea461f3a680befe19131d558bc6d5a461435 Mon Sep 17 00:00:00 2001 From: Eugene Sandulenko Date: Mon, 17 Feb 2014 20:53:36 +0200 Subject: FULLPIPE: Implement sceneHandler09_collideBall() --- engines/fullpipe/constants.h | 1 + engines/fullpipe/scenes/scene09.cpp | 17 +++++++++++++++++ 2 files changed, 18 insertions(+) diff --git a/engines/fullpipe/constants.h b/engines/fullpipe/constants.h index d22e021d00..0bfee05e58 100644 --- a/engines/fullpipe/constants.h +++ b/engines/fullpipe/constants.h @@ -603,6 +603,7 @@ namespace Fullpipe { #define MV_MAN9_SHOOT 922 #define MV_VSN_CYCLE2 2987 #define PIC_SC9_LADDER_R 2700 +#define QU_SC9_EATBALL 942 #define QU_TTA9_GOL 4937 #define SND_9_006 3650 #define SND_9_018 4200 diff --git a/engines/fullpipe/scenes/scene09.cpp b/engines/fullpipe/scenes/scene09.cpp index dc860b1884..44f817f1b6 100644 --- a/engines/fullpipe/scenes/scene09.cpp +++ b/engines/fullpipe/scenes/scene09.cpp @@ -316,6 +316,23 @@ void sceneHandler09_limitHangerPhase() { warning("STUB: sceneHandler09_limitHangerPhase()"); } +void sceneHandler09_collideBall(Ball *ball) { + if (g_vars->scene09_var08) { + g_vars->scene09_flyingBall = ball->ani; + + if (g_vars->scene09_glotatel) { + g_vars->scene09_glotatel->changeStatics2(ST_GLT_SIT); + + MessageQueue *mq = new MessageQueue(g_fp->_currentScene->getMessageQueueById(QU_SC9_EATBALL), 0, 0); + + mq->setFlags(mq->getFlags() | 1); + + if (!mq->chain(g_vars->scene09_glotatel)) + delete mq; + } + } +} + void sceneHandler09_checkHangerCollide() { warning("STUB: sceneHandler09_checkHangerCollide()"); } -- cgit v1.2.3 From 8b9eb3148f1b2a350dbafd456f798c9ec9cb65ae Mon Sep 17 00:00:00 2001 From: Eugene Sandulenko Date: Mon, 17 Feb 2014 21:01:59 +0200 Subject: FULLPIPE: Fix compiler warning --- engines/fullpipe/scenes/scene27.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/engines/fullpipe/scenes/scene27.cpp b/engines/fullpipe/scenes/scene27.cpp index 8623b2b9b3..0627f262d3 100644 --- a/engines/fullpipe/scenes/scene27.cpp +++ b/engines/fullpipe/scenes/scene27.cpp @@ -337,7 +337,7 @@ void sceneHandler27_wipeDo() { } } -bool sceneHandler27_batFallLogic(int batn) { +bool sceneHandler27_batFallLogic(uint batn) { Bat *bat = g_vars->scene27_bats[batn]; int y = (bat->currY - 458.0) * 0.4848484848484849 + 734.0; -- cgit v1.2.3 From 473732d9fb9f1d109088bf2ddcb3f1200ffdcad7 Mon Sep 17 00:00:00 2001 From: Strangerke Date: Mon, 17 Feb 2014 21:25:52 +0100 Subject: VOYEUR: Use AD_ENTRY1 for detection --- engines/voyeur/detection_tables.h | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/engines/voyeur/detection_tables.h b/engines/voyeur/detection_tables.h index 789eb4c22b..af0faf6acb 100644 --- a/engines/voyeur/detection_tables.h +++ b/engines/voyeur/detection_tables.h @@ -28,10 +28,7 @@ static const VoyeurGameDescription gameDescriptions[] = { { "voyeur", 0, - { - {"a1100100.rl2", 0, "b44630677618d034970ca0a13c1c1237", 336361}, - AD_LISTEND - }, + AD_ENTRY1s("a1100100.rl2", "b44630677618d034970ca0a13c1c1237", 336361), Common::EN_ANY, Common::kPlatformDOS, ADGF_NO_FLAGS, -- cgit v1.2.3 From 4367ade8c7282c2d6401e8035940f7ce3c646f4b Mon Sep 17 00:00:00 2001 From: Strangerke Date: Mon, 17 Feb 2014 21:29:15 +0100 Subject: VOYEUR: Fix maximum number of savegames --- engines/voyeur/detection.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/engines/voyeur/detection.cpp b/engines/voyeur/detection.cpp index 8d3910e747..ab3932bea1 100644 --- a/engines/voyeur/detection.cpp +++ b/engines/voyeur/detection.cpp @@ -127,7 +127,7 @@ SaveStateList VoyeurMetaEngine::listSaves(const char *target) const { const char *ext = strrchr(file->c_str(), '.'); int slot = ext ? atoi(ext + 1) : -1; - if (slot >= 0 && slot < MAX_SAVES) { + if (slot >= 0 && slot <= MAX_SAVES) { Common::InSaveFile *in = g_system->getSavefileManager()->openForLoading(*file); if (in) { -- cgit v1.2.3 From ed681f49e3e356700eacc10666cada8369e19e0e Mon Sep 17 00:00:00 2001 From: Strangerke Date: Mon, 17 Feb 2014 21:37:37 +0100 Subject: VOYEUR: Fix formatting --- engines/voyeur/files.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/engines/voyeur/files.cpp b/engines/voyeur/files.cpp index 9373ecfb5f..750071aaea 100644 --- a/engines/voyeur/files.cpp +++ b/engines/voyeur/files.cpp @@ -317,11 +317,12 @@ PictureResource *BoltFile::getPictureResource(uint32 id) { } CMapResource *BoltFile::getCMapResource(uint32 id) { - if ((int32)id == -1) + if ((int32)id == -1) return NULL; if (id & 0xffff) id <<= 16; + return getBoltEntryFromLong(id)._cMapResource; } @@ -370,11 +371,10 @@ void BoltFile::resolveIt(uint32 id, byte **p) { } void BoltFile::resolveFunction(uint32 id, GraphicMethodPtr *fn) { - if ((int32)id == -1) { + if ((int32)id == -1) *fn = NULL; - } else { + else error("Function fnTermGro array not supported"); - } } /** -- cgit v1.2.3 From d439747147e61ec6adf4f7a87bed176f7b0b945c Mon Sep 17 00:00:00 2001 From: Strangerke Date: Mon, 17 Feb 2014 21:40:27 +0100 Subject: VOYEUR: Fix formatting in GraphicsManager --- engines/voyeur/graphics.cpp | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/engines/voyeur/graphics.cpp b/engines/voyeur/graphics.cpp index 975e070d61..7ed0591871 100644 --- a/engines/voyeur/graphics.cpp +++ b/engines/voyeur/graphics.cpp @@ -39,9 +39,7 @@ DrawInfo::DrawInfo(int penColor, const Common::Point &pos, int flags) { /*------------------------------------------------------------------------*/ -GraphicsManager::GraphicsManager(): - _defaultDrawInfo(1, Common::Point(), 0), - _drawPtr(&_defaultDrawInfo) { +GraphicsManager::GraphicsManager(): _defaultDrawInfo(1, Common::Point(), 0), _drawPtr(&_defaultDrawInfo) { _SVGAPage = 0; _SVGAMode = 0; _SVGAReset = 0; @@ -63,9 +61,7 @@ GraphicsManager::GraphicsManager(): void GraphicsManager::sInitGraphics() { initGraphics(SCREEN_WIDTH, SCREEN_HEIGHT, false); - _screenSurface.create(SCREEN_WIDTH, SCREEN_HEIGHT, - Graphics::PixelFormat::createFormatCLUT8()); - + _screenSurface.create(SCREEN_WIDTH, SCREEN_HEIGHT, Graphics::PixelFormat::createFormatCLUT8()); clearPalette(); } -- cgit v1.2.3 From ee9c59b225c11c276c67a2b43d5fba223e347a75 Mon Sep 17 00:00:00 2001 From: Strangerke Date: Mon, 17 Feb 2014 21:43:04 +0100 Subject: VOYEUR: Fix tabulation in staticres --- engines/voyeur/staticres.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/engines/voyeur/staticres.cpp b/engines/voyeur/staticres.cpp index 078731e965..9025426c57 100644 --- a/engines/voyeur/staticres.cpp +++ b/engines/voyeur/staticres.cpp @@ -75,7 +75,7 @@ const int COMP_BUT_TABLE[] = { }; const char *const SZ_FILENAMES[] = { - "A2110100", nullptr, "A2300100", nullptr, "B1220100", nullptr, "C1220100", nullptr, + "A2110100", nullptr, "A2300100", nullptr, "B1220100", nullptr, "C1220100", nullptr, "C1290100", nullptr, "D1220100", nullptr, "D1270100", nullptr, "E1210100", nullptr, "E1260100", nullptr, "E1280100", nullptr, "E1325100", nullptr, "F1200100", nullptr, "G1250100", nullptr, "G1260100", nullptr, "H1200100", nullptr, "H1230100", nullptr, -- cgit v1.2.3 From f660e3ba11c80133f276b78a9e75c4c119f5302a Mon Sep 17 00:00:00 2001 From: Strangerke Date: Mon, 17 Feb 2014 21:45:49 +0100 Subject: VOYEUR: Fix some function definitions in voyeur_game --- engines/voyeur/voyeur_game.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/engines/voyeur/voyeur_game.cpp b/engines/voyeur/voyeur_game.cpp index c4c52bd799..b664074b56 100644 --- a/engines/voyeur/voyeur_game.cpp +++ b/engines/voyeur/voyeur_game.cpp @@ -1036,7 +1036,7 @@ void VoyeurEngine::makeViewFinderP() { _graphicsManager.screenReset(); } -void VoyeurEngine::initIFace(){ +void VoyeurEngine::initIFace() { int playStamp1 = _playStampGroupId; switch (_voy._transitionId) { case 0: @@ -1119,7 +1119,7 @@ void VoyeurEngine::doScroll(const Common::Point &pt) { (*_graphicsManager._vPort)->setupViewPort(NULL); } -void VoyeurEngine::checkTransition(){ +void VoyeurEngine::checkTransition() { Common::String time, day; if (_voy._transitionId != _checkTransitionId) { @@ -1297,7 +1297,7 @@ void VoyeurEngine::doTimeBar(bool force) { } } -void VoyeurEngine::flashTimeBar(){ +void VoyeurEngine::flashTimeBar() { if (_voy._RTVNum >= 0 && (_voy._RTVLimit - _voy._RTVNum) < 11 && (_eventsManager._intPtr._flashTimer >= (_flashTimeVal + 15) || _eventsManager._intPtr._flashTimer < _flashTimeVal)) { -- cgit v1.2.3 From 1b46f5f6160a5d3ee8a470a1a64eb7ed8994ca6c Mon Sep 17 00:00:00 2001 From: Strangerke Date: Mon, 17 Feb 2014 21:48:05 +0100 Subject: VOYEUR: Remove a useless keystate variable --- engines/voyeur/events.cpp | 7 +------ engines/voyeur/events.h | 1 - 2 files changed, 1 insertion(+), 7 deletions(-) diff --git a/engines/voyeur/events.cpp b/engines/voyeur/events.cpp index 3b761e899e..3b2369c1e1 100644 --- a/engines/voyeur/events.cpp +++ b/engines/voyeur/events.cpp @@ -72,7 +72,6 @@ EventsManager::EventsManager(): _intPtr(_gameData), _recordBlinkCounter = 0; _cursorBlinked = false; - Common::fill(&_keyState[0], &_keyState[256], false); Common::fill(&_cycleTime[0], &_cycleTime[4], 0); Common::fill(&_cycleNext[0], &_cycleNext[4], (byte *)nullptr); _cyclePtr = NULL; @@ -260,6 +259,7 @@ void EventsManager::pollEvents() { switch (event.type) { case Common::EVENT_QUIT: case Common::EVENT_RTL: + case Common::EVENT_KEYUP: return; case Common::EVENT_KEYDOWN: @@ -268,13 +268,8 @@ void EventsManager::pollEvents() { // Attach to the debugger _vm->_debugger.attach(); _vm->_debugger.onFrame(); - } else { - _keyState[(byte)toupper(event.kbd.ascii)] = true; } return; - case Common::EVENT_KEYUP: - _keyState[(byte)toupper(event.kbd.ascii)] = false; - return; case Common::EVENT_LBUTTONDOWN: _mouseButton = 1; _vm->_eventsManager._newLeftClick = true; diff --git a/engines/voyeur/events.h b/engines/voyeur/events.h index 6167a89915..eb6cf6d77f 100644 --- a/engines/voyeur/events.h +++ b/engines/voyeur/events.h @@ -72,7 +72,6 @@ private: bool _counterFlag; uint32 _gameCounter; uint32 _recordBlinkCounter; // Original field was called _joe :) - bool _keyState[256]; int _mouseButton; Common::List _intNodes; Common::Point _mousePos; -- cgit v1.2.3 From 2725bc88aa538ea73baccc5f9a2ef3f131bb863a Mon Sep 17 00:00:00 2001 From: Strangerke Date: Mon, 17 Feb 2014 21:49:07 +0100 Subject: VOYEUR: Get rid of a magic value, replaced by DECOMPRESS_SIZE --- engines/voyeur/files.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/engines/voyeur/files.cpp b/engines/voyeur/files.cpp index 750071aaea..3f955fd066 100644 --- a/engines/voyeur/files.cpp +++ b/engines/voyeur/files.cpp @@ -178,7 +178,7 @@ void BoltFilesState::nextBlock() { /*------------------------------------------------------------------------*/ FilesManager::FilesManager() { - _decompressSize = 0x7000; + _decompressSize = DECOMPRESS_SIZE; } bool FilesManager::openBoltLib(const Common::String &filename, BoltFile *&boltFile) { -- cgit v1.2.3 From dc8b58a0f9a89b9a59cdf6db300e61c4ac7264e9 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Mon, 17 Feb 2014 16:16:37 -0500 Subject: VOYEUR: Changed signature check for savegames to use MKTAG --- engines/voyeur/voyeur.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/engines/voyeur/voyeur.cpp b/engines/voyeur/voyeur.cpp index f2822b4c7c..d7fa92f1cb 100644 --- a/engines/voyeur/voyeur.cpp +++ b/engines/voyeur/voyeur.cpp @@ -855,8 +855,8 @@ bool VoyeurSavegameHeader::read(Common::InSaveFile *f) { char id[4]; _thumbnail = NULL; - f->read(&id[0], 4); - if (strncmp(id, "VOYR", 4)) { + uint32 signature = f->readUint32BE(); + if (signature != MKTAG('V', 'O', 'Y', 'R')) { warning("Invalid savegame"); return false; } @@ -888,7 +888,7 @@ bool VoyeurSavegameHeader::read(Common::InSaveFile *f) { void VoyeurSavegameHeader::write(Common::OutSaveFile *f, VoyeurEngine *vm, const Common::String &saveName) { // Write ident string - f->write("VOYR", 4); + f->writeUint32BE(MKTAG('V', 'O', 'Y', 'R')); // Write out savegame version f->writeByte(VOYEUR_SAVEGAME_VERSION); -- cgit v1.2.3 From 299c74bd46500d1cace3c3a6d18d63d29a88ff3f Mon Sep 17 00:00:00 2001 From: Johannes Schickel Date: Mon, 17 Feb 2014 23:01:13 +0100 Subject: CGE: Indent REGISTER_PLUGIN_* for consistency. --- engines/cge/detection.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/engines/cge/detection.cpp b/engines/cge/detection.cpp index 11f2a43854..7cd6d6eac2 100644 --- a/engines/cge/detection.cpp +++ b/engines/cge/detection.cpp @@ -308,7 +308,7 @@ bool CGEMetaEngine::createInstance(OSystem *syst, Engine **engine, const ADGameD } #if PLUGIN_ENABLED_DYNAMIC(CGE) -REGISTER_PLUGIN_DYNAMIC(CGE, PLUGIN_TYPE_ENGINE, CGEMetaEngine); + REGISTER_PLUGIN_DYNAMIC(CGE, PLUGIN_TYPE_ENGINE, CGEMetaEngine); #else -REGISTER_PLUGIN_STATIC(CGE, PLUGIN_TYPE_ENGINE, CGEMetaEngine); + REGISTER_PLUGIN_STATIC(CGE, PLUGIN_TYPE_ENGINE, CGEMetaEngine); #endif -- cgit v1.2.3 From 0138330464b3f4e8aa028e32f21bfac0874290dc Mon Sep 17 00:00:00 2001 From: Johannes Schickel Date: Mon, 17 Feb 2014 23:01:36 +0100 Subject: COMPOSER: Indent REGISTER_PLUGIN_* for consistency. --- engines/composer/detection.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/engines/composer/detection.cpp b/engines/composer/detection.cpp index 8411441c60..219067978d 100644 --- a/engines/composer/detection.cpp +++ b/engines/composer/detection.cpp @@ -420,7 +420,7 @@ bool Composer::ComposerEngine::hasFeature(EngineFeature f) const { } #if PLUGIN_ENABLED_DYNAMIC(COMPOSER) -REGISTER_PLUGIN_DYNAMIC(COMPOSER, PLUGIN_TYPE_ENGINE, ComposerMetaEngine); + REGISTER_PLUGIN_DYNAMIC(COMPOSER, PLUGIN_TYPE_ENGINE, ComposerMetaEngine); #else -REGISTER_PLUGIN_STATIC(COMPOSER, PLUGIN_TYPE_ENGINE, ComposerMetaEngine); + REGISTER_PLUGIN_STATIC(COMPOSER, PLUGIN_TYPE_ENGINE, ComposerMetaEngine); #endif -- cgit v1.2.3 From 5c292339212c3f5c8228317d3a55ff5d067cf372 Mon Sep 17 00:00:00 2001 From: Johannes Schickel Date: Mon, 17 Feb 2014 23:01:53 +0100 Subject: CRUISE: Indent REGISTER_PLUGIN_* for consistency. --- engines/cruise/detection.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/engines/cruise/detection.cpp b/engines/cruise/detection.cpp index bce3f184db..a86c6e7931 100644 --- a/engines/cruise/detection.cpp +++ b/engines/cruise/detection.cpp @@ -286,7 +286,7 @@ bool CruiseMetaEngine::createInstance(OSystem *syst, Engine **engine, const ADGa #if PLUGIN_ENABLED_DYNAMIC(CRUISE) -REGISTER_PLUGIN_DYNAMIC(CRUISE, PLUGIN_TYPE_ENGINE, CruiseMetaEngine); + REGISTER_PLUGIN_DYNAMIC(CRUISE, PLUGIN_TYPE_ENGINE, CruiseMetaEngine); #else -REGISTER_PLUGIN_STATIC(CRUISE, PLUGIN_TYPE_ENGINE, CruiseMetaEngine); + REGISTER_PLUGIN_STATIC(CRUISE, PLUGIN_TYPE_ENGINE, CruiseMetaEngine); #endif -- cgit v1.2.3 From a1628bfa3fda49078fe818d292c784021c96f572 Mon Sep 17 00:00:00 2001 From: Johannes Schickel Date: Mon, 17 Feb 2014 23:02:07 +0100 Subject: HOPKINS: Indent REGISTER_PLUGIN_* for consistency. --- engines/hopkins/detection.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/engines/hopkins/detection.cpp b/engines/hopkins/detection.cpp index b81f51e607..072c591dae 100644 --- a/engines/hopkins/detection.cpp +++ b/engines/hopkins/detection.cpp @@ -215,7 +215,7 @@ SaveStateDescriptor HopkinsMetaEngine::querySaveMetaInfos(const char *target, in #if PLUGIN_ENABLED_DYNAMIC(HOPKINS) -REGISTER_PLUGIN_DYNAMIC(HOPKINS, PLUGIN_TYPE_ENGINE, HopkinsMetaEngine); + REGISTER_PLUGIN_DYNAMIC(HOPKINS, PLUGIN_TYPE_ENGINE, HopkinsMetaEngine); #else -REGISTER_PLUGIN_STATIC(HOPKINS, PLUGIN_TYPE_ENGINE, HopkinsMetaEngine); + REGISTER_PLUGIN_STATIC(HOPKINS, PLUGIN_TYPE_ENGINE, HopkinsMetaEngine); #endif -- cgit v1.2.3 From 5094cb90a2d411747076e6df1130ee5d0d5de2cb Mon Sep 17 00:00:00 2001 From: Johannes Schickel Date: Mon, 17 Feb 2014 23:02:24 +0100 Subject: HUGO: Indent REGISTER_PLUGIN_* for consistency. --- engines/hugo/detection.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/engines/hugo/detection.cpp b/engines/hugo/detection.cpp index ee41fe33f2..23e963c9b7 100644 --- a/engines/hugo/detection.cpp +++ b/engines/hugo/detection.cpp @@ -275,9 +275,9 @@ void HugoMetaEngine::removeSaveState(const char *target, int slot) const { } // End of namespace Hugo #if PLUGIN_ENABLED_DYNAMIC(HUGO) -REGISTER_PLUGIN_DYNAMIC(HUGO, PLUGIN_TYPE_ENGINE, Hugo::HugoMetaEngine); + REGISTER_PLUGIN_DYNAMIC(HUGO, PLUGIN_TYPE_ENGINE, Hugo::HugoMetaEngine); #else -REGISTER_PLUGIN_STATIC(HUGO, PLUGIN_TYPE_ENGINE, Hugo::HugoMetaEngine); + REGISTER_PLUGIN_STATIC(HUGO, PLUGIN_TYPE_ENGINE, Hugo::HugoMetaEngine); #endif namespace Hugo { -- cgit v1.2.3 From 859536dd3a78c81150247cf4b90ed4294c9f100c Mon Sep 17 00:00:00 2001 From: Johannes Schickel Date: Mon, 17 Feb 2014 23:02:38 +0100 Subject: TEENAGENT: Indent REGISTER_PLUGIN_* for consistency. --- engines/teenagent/detection.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/engines/teenagent/detection.cpp b/engines/teenagent/detection.cpp index f9f5d2f13a..2d1ff4c2e1 100644 --- a/engines/teenagent/detection.cpp +++ b/engines/teenagent/detection.cpp @@ -184,7 +184,7 @@ public: }; #if PLUGIN_ENABLED_DYNAMIC(TEENAGENT) -REGISTER_PLUGIN_DYNAMIC(TEENAGENT, PLUGIN_TYPE_ENGINE, TeenAgentMetaEngine); + REGISTER_PLUGIN_DYNAMIC(TEENAGENT, PLUGIN_TYPE_ENGINE, TeenAgentMetaEngine); #else -REGISTER_PLUGIN_STATIC(TEENAGENT, PLUGIN_TYPE_ENGINE, TeenAgentMetaEngine); + REGISTER_PLUGIN_STATIC(TEENAGENT, PLUGIN_TYPE_ENGINE, TeenAgentMetaEngine); #endif -- cgit v1.2.3 From 88469ba578755b36f2d488816aa808a75b01e8b3 Mon Sep 17 00:00:00 2001 From: Johannes Schickel Date: Mon, 17 Feb 2014 23:02:58 +0100 Subject: TONY: Indent REGISTER_PLUGIN_* for consistency. --- engines/tony/detection.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/engines/tony/detection.cpp b/engines/tony/detection.cpp index d355450153..0ae397a63f 100644 --- a/engines/tony/detection.cpp +++ b/engines/tony/detection.cpp @@ -178,7 +178,7 @@ SaveStateDescriptor TonyMetaEngine::querySaveMetaInfos(const char *target, int s } #if PLUGIN_ENABLED_DYNAMIC(TONY) -REGISTER_PLUGIN_DYNAMIC(TONY, PLUGIN_TYPE_ENGINE, TonyMetaEngine); + REGISTER_PLUGIN_DYNAMIC(TONY, PLUGIN_TYPE_ENGINE, TonyMetaEngine); #else -REGISTER_PLUGIN_STATIC(TONY, PLUGIN_TYPE_ENGINE, TonyMetaEngine); + REGISTER_PLUGIN_STATIC(TONY, PLUGIN_TYPE_ENGINE, TonyMetaEngine); #endif -- cgit v1.2.3 From b1dd05281f203119bbcaad12c8da929a35fa3848 Mon Sep 17 00:00:00 2001 From: Johannes Schickel Date: Mon, 17 Feb 2014 23:03:12 +0100 Subject: TSAGE: Indent REGISTER_PLUGIN_* for consistency. --- engines/tsage/detection.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/engines/tsage/detection.cpp b/engines/tsage/detection.cpp index 5eae7557d2..9f830a1252 100644 --- a/engines/tsage/detection.cpp +++ b/engines/tsage/detection.cpp @@ -176,7 +176,7 @@ public: }; #if PLUGIN_ENABLED_DYNAMIC(TSAGE) -REGISTER_PLUGIN_DYNAMIC(TSAGE, PLUGIN_TYPE_ENGINE, TSageMetaEngine); + REGISTER_PLUGIN_DYNAMIC(TSAGE, PLUGIN_TYPE_ENGINE, TSageMetaEngine); #else -REGISTER_PLUGIN_STATIC(TSAGE, PLUGIN_TYPE_ENGINE, TSageMetaEngine); + REGISTER_PLUGIN_STATIC(TSAGE, PLUGIN_TYPE_ENGINE, TSageMetaEngine); #endif -- cgit v1.2.3 From 3333084eaf43c47d30dbb0b08d87e6b57c501d11 Mon Sep 17 00:00:00 2001 From: Johannes Schickel Date: Mon, 17 Feb 2014 23:03:28 +0100 Subject: WINTERMUTE: Indent REGISTER_PLUGIN_* for consistency. --- engines/wintermute/detection.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/engines/wintermute/detection.cpp b/engines/wintermute/detection.cpp index f4bd437803..565080cfcf 100644 --- a/engines/wintermute/detection.cpp +++ b/engines/wintermute/detection.cpp @@ -185,7 +185,7 @@ public: } // End of namespace Wintermute #if PLUGIN_ENABLED_DYNAMIC(WINTERMUTE) -REGISTER_PLUGIN_DYNAMIC(WINTERMUTE, PLUGIN_TYPE_ENGINE, Wintermute::WintermuteMetaEngine); + REGISTER_PLUGIN_DYNAMIC(WINTERMUTE, PLUGIN_TYPE_ENGINE, Wintermute::WintermuteMetaEngine); #else -REGISTER_PLUGIN_STATIC(WINTERMUTE, PLUGIN_TYPE_ENGINE, Wintermute::WintermuteMetaEngine); + REGISTER_PLUGIN_STATIC(WINTERMUTE, PLUGIN_TYPE_ENGINE, Wintermute::WintermuteMetaEngine); #endif -- cgit v1.2.3 From 6aac905dfd7091fb9b3b8ecee5693077541cc17f Mon Sep 17 00:00:00 2001 From: Johannes Schickel Date: Tue, 18 Feb 2014 02:34:17 +0100 Subject: AGI: Make GPL headers consistent in themselves. --- engines/agi/agi.cpp | 4 ++-- engines/agi/agi.h | 4 ++-- engines/agi/checks.cpp | 4 ++-- engines/agi/console.cpp | 4 ++-- engines/agi/console.h | 4 ++-- engines/agi/cycle.cpp | 4 ++-- engines/agi/detection.cpp | 4 ++-- engines/agi/detection_tables.h | 4 ++-- engines/agi/font.h | 4 ++-- engines/agi/global.cpp | 4 ++-- engines/agi/graphics.cpp | 4 ++-- engines/agi/graphics.h | 4 ++-- engines/agi/id.cpp | 4 ++-- engines/agi/inv.cpp | 4 ++-- engines/agi/keyboard.cpp | 4 ++-- engines/agi/keyboard.h | 4 ++-- engines/agi/loader_v1.cpp | 4 ++-- engines/agi/loader_v2.cpp | 4 ++-- engines/agi/loader_v3.cpp | 4 ++-- engines/agi/logic.cpp | 4 ++-- engines/agi/logic.h | 4 ++-- engines/agi/lzw.cpp | 4 ++-- engines/agi/lzw.h | 4 ++-- engines/agi/menu.cpp | 4 ++-- engines/agi/menu.h | 4 ++-- engines/agi/motion.cpp | 4 ++-- engines/agi/objects.cpp | 4 ++-- engines/agi/op_cmd.cpp | 4 ++-- engines/agi/op_dbg.cpp | 4 ++-- engines/agi/op_test.cpp | 4 ++-- engines/agi/opcodes.cpp | 4 ++-- engines/agi/opcodes.h | 4 ++-- engines/agi/picture.cpp | 4 ++-- engines/agi/picture.h | 4 ++-- engines/agi/preagi.cpp | 4 ++-- engines/agi/preagi.h | 4 ++-- engines/agi/preagi_mickey.cpp | 4 ++-- engines/agi/preagi_mickey.h | 4 ++-- engines/agi/preagi_troll.cpp | 4 ++-- engines/agi/preagi_troll.h | 4 ++-- engines/agi/preagi_winnie.cpp | 4 ++-- engines/agi/preagi_winnie.h | 4 ++-- engines/agi/saveload.cpp | 4 ++-- engines/agi/sound.cpp | 4 ++-- engines/agi/sound.h | 4 ++-- engines/agi/sound_2gs.cpp | 4 ++-- engines/agi/sound_2gs.h | 4 ++-- engines/agi/sound_coco3.cpp | 4 ++-- engines/agi/sound_coco3.h | 4 ++-- engines/agi/sound_midi.cpp | 4 ++-- engines/agi/sound_midi.h | 4 ++-- engines/agi/sound_pcjr.cpp | 4 ++-- engines/agi/sound_pcjr.h | 4 ++-- engines/agi/sound_sarien.cpp | 4 ++-- engines/agi/sound_sarien.h | 4 ++-- engines/agi/sprite.cpp | 4 ++-- engines/agi/sprite.h | 4 ++-- engines/agi/text.cpp | 4 ++-- engines/agi/view.cpp | 4 ++-- engines/agi/view.h | 4 ++-- engines/agi/wagparser.cpp | 4 ++-- engines/agi/wagparser.h | 4 ++-- engines/agi/words.cpp | 4 ++-- 63 files changed, 126 insertions(+), 126 deletions(-) diff --git a/engines/agi/agi.cpp b/engines/agi/agi.cpp index 57561c00ee..6bdbabd33e 100644 --- a/engines/agi/agi.cpp +++ b/engines/agi/agi.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/agi/agi.h b/engines/agi/agi.h index 93a456b9a6..6256de05d2 100644 --- a/engines/agi/agi.h +++ b/engines/agi/agi.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/agi/checks.cpp b/engines/agi/checks.cpp index 624476509e..e61146e901 100644 --- a/engines/agi/checks.cpp +++ b/engines/agi/checks.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/agi/console.cpp b/engines/agi/console.cpp index b9a64bc572..5f222adf89 100644 --- a/engines/agi/console.cpp +++ b/engines/agi/console.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/agi/console.h b/engines/agi/console.h index f8025e0562..6e86067373 100644 --- a/engines/agi/console.h +++ b/engines/agi/console.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/agi/cycle.cpp b/engines/agi/cycle.cpp index 702ca907d7..6b34605364 100644 --- a/engines/agi/cycle.cpp +++ b/engines/agi/cycle.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/agi/detection.cpp b/engines/agi/detection.cpp index 3f55117868..1d58900056 100644 --- a/engines/agi/detection.cpp +++ b/engines/agi/detection.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/agi/detection_tables.h b/engines/agi/detection_tables.h index a7a3920df8..7c9ef4cbf6 100644 --- a/engines/agi/detection_tables.h +++ b/engines/agi/detection_tables.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/agi/font.h b/engines/agi/font.h index c2516d3520..c77d8cf0c3 100644 --- a/engines/agi/font.h +++ b/engines/agi/font.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/agi/global.cpp b/engines/agi/global.cpp index fdece0737e..7d55316d7b 100644 --- a/engines/agi/global.cpp +++ b/engines/agi/global.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/agi/graphics.cpp b/engines/agi/graphics.cpp index 4bb3877f7d..34651c70b2 100644 --- a/engines/agi/graphics.cpp +++ b/engines/agi/graphics.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/agi/graphics.h b/engines/agi/graphics.h index 037dacd8de..15668fbed3 100644 --- a/engines/agi/graphics.h +++ b/engines/agi/graphics.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/agi/id.cpp b/engines/agi/id.cpp index dd370d4189..c35ff36488 100644 --- a/engines/agi/id.cpp +++ b/engines/agi/id.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/agi/inv.cpp b/engines/agi/inv.cpp index a165a32b29..f1e4e5094b 100644 --- a/engines/agi/inv.cpp +++ b/engines/agi/inv.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/agi/keyboard.cpp b/engines/agi/keyboard.cpp index b7e52f4dc3..0aa521bdc8 100644 --- a/engines/agi/keyboard.cpp +++ b/engines/agi/keyboard.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/agi/keyboard.h b/engines/agi/keyboard.h index 665ee6a62c..89d6a89ce3 100644 --- a/engines/agi/keyboard.h +++ b/engines/agi/keyboard.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/agi/loader_v1.cpp b/engines/agi/loader_v1.cpp index 3b862ed91f..404fb6ee0e 100644 --- a/engines/agi/loader_v1.cpp +++ b/engines/agi/loader_v1.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/agi/loader_v2.cpp b/engines/agi/loader_v2.cpp index 458927a3bc..787eeaa0c7 100644 --- a/engines/agi/loader_v2.cpp +++ b/engines/agi/loader_v2.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/agi/loader_v3.cpp b/engines/agi/loader_v3.cpp index 1dd00dc18e..fa135e5476 100644 --- a/engines/agi/loader_v3.cpp +++ b/engines/agi/loader_v3.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/agi/logic.cpp b/engines/agi/logic.cpp index 22798ba831..7429b117c8 100644 --- a/engines/agi/logic.cpp +++ b/engines/agi/logic.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/agi/logic.h b/engines/agi/logic.h index 14137f01d2..a30a37bc47 100644 --- a/engines/agi/logic.h +++ b/engines/agi/logic.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/agi/lzw.cpp b/engines/agi/lzw.cpp index a00281bd49..ba47c13543 100644 --- a/engines/agi/lzw.cpp +++ b/engines/agi/lzw.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/agi/lzw.h b/engines/agi/lzw.h index c732491e8e..26db1bbf14 100644 --- a/engines/agi/lzw.h +++ b/engines/agi/lzw.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/agi/menu.cpp b/engines/agi/menu.cpp index d23a5a2e27..008c208c82 100644 --- a/engines/agi/menu.cpp +++ b/engines/agi/menu.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/agi/menu.h b/engines/agi/menu.h index 1d5828d78a..000973db23 100644 --- a/engines/agi/menu.h +++ b/engines/agi/menu.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/agi/motion.cpp b/engines/agi/motion.cpp index e4de232267..363291ac0b 100644 --- a/engines/agi/motion.cpp +++ b/engines/agi/motion.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/agi/objects.cpp b/engines/agi/objects.cpp index 447cff2a3f..27cde61065 100644 --- a/engines/agi/objects.cpp +++ b/engines/agi/objects.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/agi/op_cmd.cpp b/engines/agi/op_cmd.cpp index 2366d97a82..662454f3c1 100644 --- a/engines/agi/op_cmd.cpp +++ b/engines/agi/op_cmd.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/agi/op_dbg.cpp b/engines/agi/op_dbg.cpp index 87e235cf17..997da9db7d 100644 --- a/engines/agi/op_dbg.cpp +++ b/engines/agi/op_dbg.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/agi/op_test.cpp b/engines/agi/op_test.cpp index 18861a2190..9839f0ec90 100644 --- a/engines/agi/op_test.cpp +++ b/engines/agi/op_test.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/agi/opcodes.cpp b/engines/agi/opcodes.cpp index d893e44c12..621fbb8e82 100644 --- a/engines/agi/opcodes.cpp +++ b/engines/agi/opcodes.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/agi/opcodes.h b/engines/agi/opcodes.h index 7f0f287550..6bd31c339a 100644 --- a/engines/agi/opcodes.h +++ b/engines/agi/opcodes.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/agi/picture.cpp b/engines/agi/picture.cpp index 47e40fb5f1..58dfb9db68 100644 --- a/engines/agi/picture.cpp +++ b/engines/agi/picture.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/agi/picture.h b/engines/agi/picture.h index 45a95202e5..9ff1e742f4 100644 --- a/engines/agi/picture.h +++ b/engines/agi/picture.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/agi/preagi.cpp b/engines/agi/preagi.cpp index 0b5afc7f8c..daadb5ffef 100644 --- a/engines/agi/preagi.cpp +++ b/engines/agi/preagi.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/agi/preagi.h b/engines/agi/preagi.h index 5d50fb5af8..c2962b09b3 100644 --- a/engines/agi/preagi.h +++ b/engines/agi/preagi.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/agi/preagi_mickey.cpp b/engines/agi/preagi_mickey.cpp index d0f6540651..561b56d199 100644 --- a/engines/agi/preagi_mickey.cpp +++ b/engines/agi/preagi_mickey.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/agi/preagi_mickey.h b/engines/agi/preagi_mickey.h index 18b0593d78..55b3633c8c 100644 --- a/engines/agi/preagi_mickey.h +++ b/engines/agi/preagi_mickey.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/agi/preagi_troll.cpp b/engines/agi/preagi_troll.cpp index 17d980dfd8..2889407c85 100644 --- a/engines/agi/preagi_troll.cpp +++ b/engines/agi/preagi_troll.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/agi/preagi_troll.h b/engines/agi/preagi_troll.h index c14a7872c2..41ddbea166 100644 --- a/engines/agi/preagi_troll.h +++ b/engines/agi/preagi_troll.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/agi/preagi_winnie.cpp b/engines/agi/preagi_winnie.cpp index 1be385be37..d5ae0b59a0 100644 --- a/engines/agi/preagi_winnie.cpp +++ b/engines/agi/preagi_winnie.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/agi/preagi_winnie.h b/engines/agi/preagi_winnie.h index f34c80cec1..b5e8b8d10b 100644 --- a/engines/agi/preagi_winnie.h +++ b/engines/agi/preagi_winnie.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/agi/saveload.cpp b/engines/agi/saveload.cpp index c449f076e7..41a7a943ff 100644 --- a/engines/agi/saveload.cpp +++ b/engines/agi/saveload.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/agi/sound.cpp b/engines/agi/sound.cpp index 56c7ebcb0b..8f678cbac9 100644 --- a/engines/agi/sound.cpp +++ b/engines/agi/sound.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/agi/sound.h b/engines/agi/sound.h index f300af83a3..992feb1186 100644 --- a/engines/agi/sound.h +++ b/engines/agi/sound.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/agi/sound_2gs.cpp b/engines/agi/sound_2gs.cpp index f088ad3a01..b940eed762 100644 --- a/engines/agi/sound_2gs.cpp +++ b/engines/agi/sound_2gs.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/agi/sound_2gs.h b/engines/agi/sound_2gs.h index 12e7b7b951..8a1999c8eb 100644 --- a/engines/agi/sound_2gs.h +++ b/engines/agi/sound_2gs.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/agi/sound_coco3.cpp b/engines/agi/sound_coco3.cpp index 64818e4e34..3cd79a1154 100644 --- a/engines/agi/sound_coco3.cpp +++ b/engines/agi/sound_coco3.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/agi/sound_coco3.h b/engines/agi/sound_coco3.h index d24acf5cc5..078495b5ed 100644 --- a/engines/agi/sound_coco3.h +++ b/engines/agi/sound_coco3.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/agi/sound_midi.cpp b/engines/agi/sound_midi.cpp index 24e3ca8fb7..35dc896789 100644 --- a/engines/agi/sound_midi.cpp +++ b/engines/agi/sound_midi.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/agi/sound_midi.h b/engines/agi/sound_midi.h index ac1b100b12..e026e26594 100644 --- a/engines/agi/sound_midi.h +++ b/engines/agi/sound_midi.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/agi/sound_pcjr.cpp b/engines/agi/sound_pcjr.cpp index 5bffca5765..51b2d067a4 100644 --- a/engines/agi/sound_pcjr.cpp +++ b/engines/agi/sound_pcjr.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/agi/sound_pcjr.h b/engines/agi/sound_pcjr.h index 1b4d1e9efb..7f84112345 100644 --- a/engines/agi/sound_pcjr.h +++ b/engines/agi/sound_pcjr.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/agi/sound_sarien.cpp b/engines/agi/sound_sarien.cpp index 576801bc56..98479f3edc 100644 --- a/engines/agi/sound_sarien.cpp +++ b/engines/agi/sound_sarien.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/agi/sound_sarien.h b/engines/agi/sound_sarien.h index 04f274ca7d..1c4dbb7bca 100644 --- a/engines/agi/sound_sarien.h +++ b/engines/agi/sound_sarien.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/agi/sprite.cpp b/engines/agi/sprite.cpp index ea2d329fb0..92f88d8fcb 100644 --- a/engines/agi/sprite.cpp +++ b/engines/agi/sprite.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/agi/sprite.h b/engines/agi/sprite.h index 851c2438fb..549eb59832 100644 --- a/engines/agi/sprite.h +++ b/engines/agi/sprite.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/agi/text.cpp b/engines/agi/text.cpp index 4877be2647..eb48857bf2 100644 --- a/engines/agi/text.cpp +++ b/engines/agi/text.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/agi/view.cpp b/engines/agi/view.cpp index 3f3686561e..6a274a1b73 100644 --- a/engines/agi/view.cpp +++ b/engines/agi/view.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/agi/view.h b/engines/agi/view.h index 5cf59d7df5..b82fbe04d7 100644 --- a/engines/agi/view.h +++ b/engines/agi/view.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/agi/wagparser.cpp b/engines/agi/wagparser.cpp index 644ca7c103..0b49866531 100644 --- a/engines/agi/wagparser.cpp +++ b/engines/agi/wagparser.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/agi/wagparser.h b/engines/agi/wagparser.h index 81cfecef1b..8f900c9ab8 100644 --- a/engines/agi/wagparser.h +++ b/engines/agi/wagparser.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/agi/words.cpp b/engines/agi/words.cpp index f423995de8..ff9049fdc5 100644 --- a/engines/agi/words.cpp +++ b/engines/agi/words.cpp @@ -8,12 +8,12 @@ * 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. -- cgit v1.2.3 From c4fc0cee96ed4e287385fdb75d6c81f0d4a552dc Mon Sep 17 00:00:00 2001 From: Johannes Schickel Date: Tue, 18 Feb 2014 02:34:17 +0100 Subject: AGOS: Make GPL headers consistent in themselves. --- engines/agos/agos.cpp | 4 ++-- engines/agos/agos.h | 4 ++-- engines/agos/animation.cpp | 4 ++-- engines/agos/animation.h | 4 ++-- engines/agos/charset-fontdata.cpp | 4 ++-- engines/agos/charset.cpp | 4 ++-- engines/agos/contain.cpp | 4 ++-- engines/agos/cursor.cpp | 4 ++-- engines/agos/debug.cpp | 4 ++-- engines/agos/debug.h | 4 ++-- engines/agos/debugger.cpp | 4 ++-- engines/agos/debugger.h | 4 ++-- engines/agos/detection.cpp | 4 ++-- engines/agos/detection_tables.h | 4 ++-- engines/agos/draw.cpp | 4 ++-- engines/agos/event.cpp | 4 ++-- engines/agos/feeble.cpp | 4 ++-- engines/agos/gfx.cpp | 4 ++-- engines/agos/icons.cpp | 4 ++-- engines/agos/input.cpp | 4 ++-- engines/agos/input_pn.cpp | 4 ++-- engines/agos/intern.h | 4 ++-- engines/agos/items.cpp | 4 ++-- engines/agos/menus.cpp | 4 ++-- engines/agos/midi.cpp | 4 ++-- engines/agos/midi.h | 4 ++-- engines/agos/midiparser_s1d.cpp | 4 ++-- engines/agos/oracle.cpp | 4 ++-- engines/agos/pn.cpp | 4 ++-- engines/agos/res.cpp | 4 ++-- engines/agos/res_ami.cpp | 4 ++-- engines/agos/res_snd.cpp | 4 ++-- engines/agos/rooms.cpp | 4 ++-- engines/agos/saveload.cpp | 4 ++-- engines/agos/script.cpp | 4 ++-- engines/agos/script_dp.cpp | 4 ++-- engines/agos/script_e1.cpp | 4 ++-- engines/agos/script_e2.cpp | 4 ++-- engines/agos/script_ff.cpp | 4 ++-- engines/agos/script_pn.cpp | 4 ++-- engines/agos/script_pp.cpp | 4 ++-- engines/agos/script_s1.cpp | 4 ++-- engines/agos/script_s2.cpp | 4 ++-- engines/agos/script_ww.cpp | 4 ++-- engines/agos/sound.cpp | 4 ++-- engines/agos/sound.h | 4 ++-- engines/agos/string.cpp | 4 ++-- engines/agos/string_pn.cpp | 4 ++-- engines/agos/subroutine.cpp | 4 ++-- engines/agos/verb.cpp | 4 ++-- engines/agos/verb_pn.cpp | 4 ++-- engines/agos/vga.cpp | 4 ++-- engines/agos/vga.h | 4 ++-- engines/agos/vga_e2.cpp | 4 ++-- engines/agos/vga_ff.cpp | 4 ++-- engines/agos/vga_pn.cpp | 4 ++-- engines/agos/vga_s1.cpp | 4 ++-- engines/agos/vga_s2.cpp | 4 ++-- engines/agos/vga_ww.cpp | 4 ++-- engines/agos/window.cpp | 4 ++-- engines/agos/zones.cpp | 4 ++-- 61 files changed, 122 insertions(+), 122 deletions(-) diff --git a/engines/agos/agos.cpp b/engines/agos/agos.cpp index 359a6f7289..031aed8bed 100644 --- a/engines/agos/agos.cpp +++ b/engines/agos/agos.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/agos/agos.h b/engines/agos/agos.h index 0b8e585f57..34ab328999 100644 --- a/engines/agos/agos.h +++ b/engines/agos/agos.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/agos/animation.cpp b/engines/agos/animation.cpp index d438de049a..8e242d02c4 100644 --- a/engines/agos/animation.cpp +++ b/engines/agos/animation.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/agos/animation.h b/engines/agos/animation.h index 9e31fced6d..86808cbc27 100644 --- a/engines/agos/animation.h +++ b/engines/agos/animation.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/agos/charset-fontdata.cpp b/engines/agos/charset-fontdata.cpp index b6b90eefcc..ae31814e43 100644 --- a/engines/agos/charset-fontdata.cpp +++ b/engines/agos/charset-fontdata.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/agos/charset.cpp b/engines/agos/charset.cpp index eca9728643..4d83a4ef1c 100644 --- a/engines/agos/charset.cpp +++ b/engines/agos/charset.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/agos/contain.cpp b/engines/agos/contain.cpp index 173194d45e..0fab0a35f2 100644 --- a/engines/agos/contain.cpp +++ b/engines/agos/contain.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/agos/cursor.cpp b/engines/agos/cursor.cpp index 7c64d68048..65fdc9ec99 100644 --- a/engines/agos/cursor.cpp +++ b/engines/agos/cursor.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/agos/debug.cpp b/engines/agos/debug.cpp index 841ac6bb1a..9dd6db911f 100644 --- a/engines/agos/debug.cpp +++ b/engines/agos/debug.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/agos/debug.h b/engines/agos/debug.h index fe14ae4860..f99a167bb4 100644 --- a/engines/agos/debug.h +++ b/engines/agos/debug.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/agos/debugger.cpp b/engines/agos/debugger.cpp index fc24c6d363..512137b685 100644 --- a/engines/agos/debugger.cpp +++ b/engines/agos/debugger.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/agos/debugger.h b/engines/agos/debugger.h index 0ab992ebbe..caac6e2caf 100644 --- a/engines/agos/debugger.h +++ b/engines/agos/debugger.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/agos/detection.cpp b/engines/agos/detection.cpp index b6d3c2f020..72a38a3645 100644 --- a/engines/agos/detection.cpp +++ b/engines/agos/detection.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/agos/detection_tables.h b/engines/agos/detection_tables.h index 329af75d0c..26c2e7e90d 100644 --- a/engines/agos/detection_tables.h +++ b/engines/agos/detection_tables.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/agos/draw.cpp b/engines/agos/draw.cpp index d27aed29db..4ba9446eb2 100644 --- a/engines/agos/draw.cpp +++ b/engines/agos/draw.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/agos/event.cpp b/engines/agos/event.cpp index 65c7f7fd77..3d515cb117 100644 --- a/engines/agos/event.cpp +++ b/engines/agos/event.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/agos/feeble.cpp b/engines/agos/feeble.cpp index a96caa9f8b..bfd11fa8ea 100644 --- a/engines/agos/feeble.cpp +++ b/engines/agos/feeble.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/agos/gfx.cpp b/engines/agos/gfx.cpp index 266fcc9796..6e97084811 100644 --- a/engines/agos/gfx.cpp +++ b/engines/agos/gfx.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/agos/icons.cpp b/engines/agos/icons.cpp index 5647fece7e..2db2a52cbc 100644 --- a/engines/agos/icons.cpp +++ b/engines/agos/icons.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/agos/input.cpp b/engines/agos/input.cpp index 24e5339420..32a57be855 100644 --- a/engines/agos/input.cpp +++ b/engines/agos/input.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/agos/input_pn.cpp b/engines/agos/input_pn.cpp index b3a44f2b2f..a852ef320b 100644 --- a/engines/agos/input_pn.cpp +++ b/engines/agos/input_pn.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/agos/intern.h b/engines/agos/intern.h index 773b9c15bd..8b7ab32315 100644 --- a/engines/agos/intern.h +++ b/engines/agos/intern.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/agos/items.cpp b/engines/agos/items.cpp index 3bb5a132ef..86abe403b4 100644 --- a/engines/agos/items.cpp +++ b/engines/agos/items.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/agos/menus.cpp b/engines/agos/menus.cpp index 85c50e421b..77a37cb601 100644 --- a/engines/agos/menus.cpp +++ b/engines/agos/menus.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/agos/midi.cpp b/engines/agos/midi.cpp index b3ade91107..c26fbe3331 100644 --- a/engines/agos/midi.cpp +++ b/engines/agos/midi.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/agos/midi.h b/engines/agos/midi.h index 635e091906..3efadddc2f 100644 --- a/engines/agos/midi.h +++ b/engines/agos/midi.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/agos/midiparser_s1d.cpp b/engines/agos/midiparser_s1d.cpp index bef7199a98..c2c08bf451 100644 --- a/engines/agos/midiparser_s1d.cpp +++ b/engines/agos/midiparser_s1d.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/agos/oracle.cpp b/engines/agos/oracle.cpp index 025a833b77..782c834868 100644 --- a/engines/agos/oracle.cpp +++ b/engines/agos/oracle.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/agos/pn.cpp b/engines/agos/pn.cpp index 667a5c3fc8..d94f180b00 100644 --- a/engines/agos/pn.cpp +++ b/engines/agos/pn.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/agos/res.cpp b/engines/agos/res.cpp index 1c79a073e8..e3e9d09f3b 100644 --- a/engines/agos/res.cpp +++ b/engines/agos/res.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/agos/res_ami.cpp b/engines/agos/res_ami.cpp index 32adfa29e6..4b3d575142 100644 --- a/engines/agos/res_ami.cpp +++ b/engines/agos/res_ami.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/agos/res_snd.cpp b/engines/agos/res_snd.cpp index 86d24e0b07..5d6ab60c8b 100644 --- a/engines/agos/res_snd.cpp +++ b/engines/agos/res_snd.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/agos/rooms.cpp b/engines/agos/rooms.cpp index fb7b313e9c..6185653d42 100644 --- a/engines/agos/rooms.cpp +++ b/engines/agos/rooms.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/agos/saveload.cpp b/engines/agos/saveload.cpp index 8b133971de..3d87bb66fe 100644 --- a/engines/agos/saveload.cpp +++ b/engines/agos/saveload.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/agos/script.cpp b/engines/agos/script.cpp index 1c36454278..c6aa4c9246 100644 --- a/engines/agos/script.cpp +++ b/engines/agos/script.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/agos/script_dp.cpp b/engines/agos/script_dp.cpp index f51e15dc67..85ab308226 100644 --- a/engines/agos/script_dp.cpp +++ b/engines/agos/script_dp.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/agos/script_e1.cpp b/engines/agos/script_e1.cpp index c7a2f5b0a2..a022335ebc 100644 --- a/engines/agos/script_e1.cpp +++ b/engines/agos/script_e1.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/agos/script_e2.cpp b/engines/agos/script_e2.cpp index 79a7e89a89..21b651ec12 100644 --- a/engines/agos/script_e2.cpp +++ b/engines/agos/script_e2.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/agos/script_ff.cpp b/engines/agos/script_ff.cpp index e2a4d0820f..d942a88e9a 100644 --- a/engines/agos/script_ff.cpp +++ b/engines/agos/script_ff.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/agos/script_pn.cpp b/engines/agos/script_pn.cpp index e98cd2795a..60948db35a 100644 --- a/engines/agos/script_pn.cpp +++ b/engines/agos/script_pn.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/agos/script_pp.cpp b/engines/agos/script_pp.cpp index 0a599506b5..799b26fbc6 100644 --- a/engines/agos/script_pp.cpp +++ b/engines/agos/script_pp.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/agos/script_s1.cpp b/engines/agos/script_s1.cpp index 03aad7ebb9..ec3de9bf94 100644 --- a/engines/agos/script_s1.cpp +++ b/engines/agos/script_s1.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/agos/script_s2.cpp b/engines/agos/script_s2.cpp index c35771f8ec..44552ecd8a 100644 --- a/engines/agos/script_s2.cpp +++ b/engines/agos/script_s2.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/agos/script_ww.cpp b/engines/agos/script_ww.cpp index 873f258743..aff3229f8e 100644 --- a/engines/agos/script_ww.cpp +++ b/engines/agos/script_ww.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/agos/sound.cpp b/engines/agos/sound.cpp index a6a731ab24..a87df0591c 100644 --- a/engines/agos/sound.cpp +++ b/engines/agos/sound.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/agos/sound.h b/engines/agos/sound.h index 8633fe2f70..5feb288b9d 100644 --- a/engines/agos/sound.h +++ b/engines/agos/sound.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/agos/string.cpp b/engines/agos/string.cpp index ee1b9df246..3eb0aca04d 100644 --- a/engines/agos/string.cpp +++ b/engines/agos/string.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/agos/string_pn.cpp b/engines/agos/string_pn.cpp index 4d4e2be16a..7a364f3ea9 100644 --- a/engines/agos/string_pn.cpp +++ b/engines/agos/string_pn.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/agos/subroutine.cpp b/engines/agos/subroutine.cpp index 7a84a20808..39bc468dea 100644 --- a/engines/agos/subroutine.cpp +++ b/engines/agos/subroutine.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/agos/verb.cpp b/engines/agos/verb.cpp index f5b57a01c8..31e3211304 100644 --- a/engines/agos/verb.cpp +++ b/engines/agos/verb.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/agos/verb_pn.cpp b/engines/agos/verb_pn.cpp index 9dd0079b6d..53025822ba 100644 --- a/engines/agos/verb_pn.cpp +++ b/engines/agos/verb_pn.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/agos/vga.cpp b/engines/agos/vga.cpp index cc5ede5f2c..c656c0167a 100644 --- a/engines/agos/vga.cpp +++ b/engines/agos/vga.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/agos/vga.h b/engines/agos/vga.h index 5a5764532e..30b3a3b77a 100644 --- a/engines/agos/vga.h +++ b/engines/agos/vga.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/agos/vga_e2.cpp b/engines/agos/vga_e2.cpp index 4eb337c687..bc26058640 100644 --- a/engines/agos/vga_e2.cpp +++ b/engines/agos/vga_e2.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/agos/vga_ff.cpp b/engines/agos/vga_ff.cpp index c8c9673506..52e30699b0 100644 --- a/engines/agos/vga_ff.cpp +++ b/engines/agos/vga_ff.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/agos/vga_pn.cpp b/engines/agos/vga_pn.cpp index b7f80ebf91..306c41c71c 100644 --- a/engines/agos/vga_pn.cpp +++ b/engines/agos/vga_pn.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/agos/vga_s1.cpp b/engines/agos/vga_s1.cpp index ef05063fc1..c5f0f7874d 100644 --- a/engines/agos/vga_s1.cpp +++ b/engines/agos/vga_s1.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/agos/vga_s2.cpp b/engines/agos/vga_s2.cpp index e0780b491a..0c716d06c4 100644 --- a/engines/agos/vga_s2.cpp +++ b/engines/agos/vga_s2.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/agos/vga_ww.cpp b/engines/agos/vga_ww.cpp index ca93fa9fec..5bf8f84551 100644 --- a/engines/agos/vga_ww.cpp +++ b/engines/agos/vga_ww.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/agos/window.cpp b/engines/agos/window.cpp index 892df92554..de0b768d02 100644 --- a/engines/agos/window.cpp +++ b/engines/agos/window.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/agos/zones.cpp b/engines/agos/zones.cpp index 483b9949eb..6eace448cc 100644 --- a/engines/agos/zones.cpp +++ b/engines/agos/zones.cpp @@ -8,12 +8,12 @@ * 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. -- cgit v1.2.3 From 1028bd343f927db578e4aabb93663de17512e9d2 Mon Sep 17 00:00:00 2001 From: Johannes Schickel Date: Tue, 18 Feb 2014 02:34:17 +0100 Subject: AMIGAOS4: Make GPL headers consistent in themselves. --- backends/fs/amigaos4/amigaos4-fs-factory.cpp | 1 + backends/fs/amigaos4/amigaos4-fs-factory.h | 1 + backends/fs/amigaos4/amigaos4-fs.cpp | 1 + backends/fs/amigaos4/amigaos4-fs.h | 1 + 4 files changed, 4 insertions(+) diff --git a/backends/fs/amigaos4/amigaos4-fs-factory.cpp b/backends/fs/amigaos4/amigaos4-fs-factory.cpp index a62b581f39..4ca65e53a5 100644 --- a/backends/fs/amigaos4/amigaos4-fs-factory.cpp +++ b/backends/fs/amigaos4/amigaos4-fs-factory.cpp @@ -17,6 +17,7 @@ * 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. + * */ #if defined(__amigaos4__) diff --git a/backends/fs/amigaos4/amigaos4-fs-factory.h b/backends/fs/amigaos4/amigaos4-fs-factory.h index 0390e85072..432caf6fcf 100644 --- a/backends/fs/amigaos4/amigaos4-fs-factory.h +++ b/backends/fs/amigaos4/amigaos4-fs-factory.h @@ -17,6 +17,7 @@ * 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. + * */ #ifndef AMIGAOS_FILESYSTEM_FACTORY_H diff --git a/backends/fs/amigaos4/amigaos4-fs.cpp b/backends/fs/amigaos4/amigaos4-fs.cpp index bd8bf1978a..5a66cdaa2f 100644 --- a/backends/fs/amigaos4/amigaos4-fs.cpp +++ b/backends/fs/amigaos4/amigaos4-fs.cpp @@ -17,6 +17,7 @@ * 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. + * */ #if defined(__amigaos4__) diff --git a/backends/fs/amigaos4/amigaos4-fs.h b/backends/fs/amigaos4/amigaos4-fs.h index 7ce9981479..bbe88b2716 100644 --- a/backends/fs/amigaos4/amigaos4-fs.h +++ b/backends/fs/amigaos4/amigaos4-fs.h @@ -17,6 +17,7 @@ * 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. + * */ #ifndef AMIGAOS_FILESYSTEM_H -- cgit v1.2.3 From 5c2dac59beb442797dd6a29456068421f9c739bb Mon Sep 17 00:00:00 2001 From: Johannes Schickel Date: Tue, 18 Feb 2014 02:34:17 +0100 Subject: ANDROID: Make GPL headers consistent in themselves. --- backends/platform/android/android.cpp | 6 +++--- backends/platform/android/android.h | 6 +++--- backends/platform/android/asset-archive.cpp | 4 ++-- backends/platform/android/asset-archive.h | 4 ++-- backends/platform/android/events.cpp | 6 +++--- backends/platform/android/gfx.cpp | 6 +++--- backends/platform/android/jni.cpp | 6 +++--- backends/platform/android/jni.h | 6 +++--- backends/platform/android/texture.cpp | 6 +++--- backends/platform/android/texture.h | 4 ++-- 10 files changed, 27 insertions(+), 27 deletions(-) diff --git a/backends/platform/android/android.cpp b/backends/platform/android/android.cpp index 5e3d1d0db6..3ff1b939ef 100644 --- a/backends/platform/android/android.cpp +++ b/backends/platform/android/android.cpp @@ -8,12 +8,12 @@ * 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 + * 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. diff --git a/backends/platform/android/android.h b/backends/platform/android/android.h index 704ce12f60..28016f5e3e 100644 --- a/backends/platform/android/android.h +++ b/backends/platform/android/android.h @@ -8,12 +8,12 @@ * 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 + * 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. diff --git a/backends/platform/android/asset-archive.cpp b/backends/platform/android/asset-archive.cpp index da378fb082..52c2c084bd 100644 --- a/backends/platform/android/asset-archive.cpp +++ b/backends/platform/android/asset-archive.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/android/asset-archive.h b/backends/platform/android/asset-archive.h index c5e43555e0..6a0033d24e 100644 --- a/backends/platform/android/asset-archive.h +++ b/backends/platform/android/asset-archive.h @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/android/events.cpp b/backends/platform/android/events.cpp index 5c42db9347..c60626ec36 100644 --- a/backends/platform/android/events.cpp +++ b/backends/platform/android/events.cpp @@ -8,12 +8,12 @@ * 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 + * 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. diff --git a/backends/platform/android/gfx.cpp b/backends/platform/android/gfx.cpp index 9f6c759c75..92293493f0 100644 --- a/backends/platform/android/gfx.cpp +++ b/backends/platform/android/gfx.cpp @@ -8,12 +8,12 @@ * 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 + * 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. diff --git a/backends/platform/android/jni.cpp b/backends/platform/android/jni.cpp index 2b738dd63f..764c84ce1c 100644 --- a/backends/platform/android/jni.cpp +++ b/backends/platform/android/jni.cpp @@ -8,12 +8,12 @@ * 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 + * 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. diff --git a/backends/platform/android/jni.h b/backends/platform/android/jni.h index 52698e0f35..326869b1ee 100644 --- a/backends/platform/android/jni.h +++ b/backends/platform/android/jni.h @@ -8,12 +8,12 @@ * 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 + * 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. diff --git a/backends/platform/android/texture.cpp b/backends/platform/android/texture.cpp index 87fd2d976c..165396b82b 100644 --- a/backends/platform/android/texture.cpp +++ b/backends/platform/android/texture.cpp @@ -8,12 +8,12 @@ * 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 + * 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. diff --git a/backends/platform/android/texture.h b/backends/platform/android/texture.h index 67f7343c98..4b05dfd5d4 100644 --- a/backends/platform/android/texture.h +++ b/backends/platform/android/texture.h @@ -8,12 +8,12 @@ * 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. -- cgit v1.2.3 From 452cec49d90ac1725d32fe0a7cc293480ca89eea Mon Sep 17 00:00:00 2001 From: Johannes Schickel Date: Tue, 18 Feb 2014 02:34:17 +0100 Subject: AUDIO: Make GPL headers consistent in themselves. --- audio/audiostream.cpp | 4 +-- audio/audiostream.h | 4 +-- audio/decoders/adpcm.cpp | 4 +-- audio/decoders/adpcm.h | 4 +-- audio/decoders/adpcm_intern.h | 4 +-- audio/decoders/aiff.cpp | 4 +-- audio/decoders/aiff.h | 4 +-- audio/decoders/flac.cpp | 4 +-- audio/decoders/flac.h | 4 +-- audio/decoders/iff_sound.cpp | 4 +-- audio/decoders/iff_sound.h | 4 +-- audio/decoders/mac_snd.cpp | 4 +-- audio/decoders/mac_snd.h | 4 +-- audio/decoders/mp3.cpp | 4 +-- audio/decoders/mp3.h | 4 +-- audio/decoders/qdm2.cpp | 4 +-- audio/decoders/qdm2.h | 4 +-- audio/decoders/qdm2data.h | 4 +-- audio/decoders/raw.cpp | 4 +-- audio/decoders/raw.h | 4 +-- audio/decoders/voc.cpp | 4 +-- audio/decoders/voc.h | 4 +-- audio/decoders/vorbis.cpp | 4 +-- audio/decoders/vorbis.h | 4 +-- audio/decoders/wave.cpp | 4 +-- audio/decoders/wave.h | 4 +-- audio/decoders/xa.cpp | 4 +-- audio/decoders/xa.h | 4 +-- audio/fmopl.cpp | 1 + audio/fmopl.h | 1 + audio/mididrv.cpp | 4 +-- audio/mididrv.h | 4 +-- audio/midiparser.cpp | 4 +-- audio/midiparser.h | 4 +-- audio/midiparser_qt.cpp | 4 +-- audio/midiparser_qt.h | 4 +-- audio/midiparser_smf.cpp | 4 +-- audio/midiparser_xmidi.cpp | 4 +-- audio/midiplayer.cpp | 4 +-- audio/midiplayer.h | 4 +-- audio/mixer.cpp | 4 +-- audio/mixer.h | 4 +-- audio/mixer_intern.h | 4 +-- audio/mods/infogrames.cpp | 4 +-- audio/mods/infogrames.h | 4 +-- audio/mods/maxtrax.cpp | 4 +-- audio/mods/maxtrax.h | 4 +-- audio/mods/module.cpp | 4 +-- audio/mods/module.h | 4 +-- audio/mods/paula.cpp | 4 +-- audio/mods/paula.h | 4 +-- audio/mods/protracker.cpp | 4 +-- audio/mods/protracker.h | 4 +-- audio/mods/rjp1.cpp | 4 +-- audio/mods/rjp1.h | 4 +-- audio/mods/soundfx.cpp | 4 +-- audio/mods/soundfx.h | 4 +-- audio/mods/tfmx.cpp | 4 +-- audio/mods/tfmx.h | 4 +-- audio/mpu401.cpp | 1 + audio/mpu401.h | 4 +-- audio/musicplugin.cpp | 4 +-- audio/musicplugin.h | 1 + audio/null.cpp | 1 + audio/null.h | 1 + audio/rate.cpp | 4 +-- audio/rate.h | 4 +-- audio/rate_arm.cpp | 4 +-- audio/softsynth/adlib.cpp | 1 + audio/softsynth/appleiigs.cpp | 40 +++++++++++----------- audio/softsynth/cms.cpp | 1 + audio/softsynth/cms.h | 1 + audio/softsynth/eas.cpp | 1 + audio/softsynth/emumidi.h | 1 + audio/softsynth/fluidsynth.cpp | 1 + audio/softsynth/fmtowns_pc98/towns_audio.cpp | 4 +-- audio/softsynth/fmtowns_pc98/towns_audio.h | 4 +-- audio/softsynth/fmtowns_pc98/towns_euphony.cpp | 4 +-- audio/softsynth/fmtowns_pc98/towns_euphony.h | 4 +-- audio/softsynth/fmtowns_pc98/towns_pc98_driver.cpp | 4 +-- audio/softsynth/fmtowns_pc98/towns_pc98_driver.h | 4 +-- .../softsynth/fmtowns_pc98/towns_pc98_fmsynth.cpp | 4 +-- audio/softsynth/fmtowns_pc98/towns_pc98_fmsynth.h | 4 +-- audio/softsynth/mt32.cpp | 1 + audio/softsynth/opl/dosbox.cpp | 1 + audio/softsynth/opl/dosbox.h | 1 + audio/softsynth/opl/mame.cpp | 5 +-- audio/softsynth/opl/mame.h | 5 +-- audio/softsynth/pcspk.cpp | 40 +++++++++++----------- audio/softsynth/pcspk.h | 1 + audio/softsynth/sid.cpp | 4 +-- audio/softsynth/sid.h | 4 +-- audio/softsynth/wave6581.cpp | 4 +-- audio/timestamp.cpp | 4 +-- audio/timestamp.h | 4 +-- 95 files changed, 212 insertions(+), 194 deletions(-) diff --git a/audio/audiostream.cpp b/audio/audiostream.cpp index 8bd4b95c49..4dd5d236be 100644 --- a/audio/audiostream.cpp +++ b/audio/audiostream.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/audio/audiostream.h b/audio/audiostream.h index d6d4a16280..d5d7d0b6c7 100644 --- a/audio/audiostream.h +++ b/audio/audiostream.h @@ -8,12 +8,12 @@ * 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. diff --git a/audio/decoders/adpcm.cpp b/audio/decoders/adpcm.cpp index 61b0abaaca..2f710f759d 100644 --- a/audio/decoders/adpcm.cpp +++ b/audio/decoders/adpcm.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/audio/decoders/adpcm.h b/audio/decoders/adpcm.h index d3c46574bf..bf6e7f759d 100644 --- a/audio/decoders/adpcm.h +++ b/audio/decoders/adpcm.h @@ -8,12 +8,12 @@ * 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. diff --git a/audio/decoders/adpcm_intern.h b/audio/decoders/adpcm_intern.h index 66a1aa605f..92be704cca 100644 --- a/audio/decoders/adpcm_intern.h +++ b/audio/decoders/adpcm_intern.h @@ -8,12 +8,12 @@ * 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. diff --git a/audio/decoders/aiff.cpp b/audio/decoders/aiff.cpp index f3b0dfb559..b714721c02 100644 --- a/audio/decoders/aiff.cpp +++ b/audio/decoders/aiff.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/audio/decoders/aiff.h b/audio/decoders/aiff.h index 0d96e73c26..afb0342cfd 100644 --- a/audio/decoders/aiff.h +++ b/audio/decoders/aiff.h @@ -8,12 +8,12 @@ * 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. diff --git a/audio/decoders/flac.cpp b/audio/decoders/flac.cpp index bbaf5fd5ae..e0205a40b5 100644 --- a/audio/decoders/flac.cpp +++ b/audio/decoders/flac.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/audio/decoders/flac.h b/audio/decoders/flac.h index f5e31684fe..963753f2ec 100644 --- a/audio/decoders/flac.h +++ b/audio/decoders/flac.h @@ -8,12 +8,12 @@ * 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. diff --git a/audio/decoders/iff_sound.cpp b/audio/decoders/iff_sound.cpp index b0c41f0180..e42918cb62 100644 --- a/audio/decoders/iff_sound.cpp +++ b/audio/decoders/iff_sound.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/audio/decoders/iff_sound.h b/audio/decoders/iff_sound.h index 28b2c67227..3eab58157e 100644 --- a/audio/decoders/iff_sound.h +++ b/audio/decoders/iff_sound.h @@ -8,12 +8,12 @@ * 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. diff --git a/audio/decoders/mac_snd.cpp b/audio/decoders/mac_snd.cpp index 43253a9ddf..17495ad3f7 100644 --- a/audio/decoders/mac_snd.cpp +++ b/audio/decoders/mac_snd.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/audio/decoders/mac_snd.h b/audio/decoders/mac_snd.h index 4380808eae..e548df012d 100644 --- a/audio/decoders/mac_snd.h +++ b/audio/decoders/mac_snd.h @@ -8,12 +8,12 @@ * 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. diff --git a/audio/decoders/mp3.cpp b/audio/decoders/mp3.cpp index 00669945c2..091f64569d 100644 --- a/audio/decoders/mp3.cpp +++ b/audio/decoders/mp3.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/audio/decoders/mp3.h b/audio/decoders/mp3.h index df2ee44805..609181bdba 100644 --- a/audio/decoders/mp3.h +++ b/audio/decoders/mp3.h @@ -8,12 +8,12 @@ * 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. diff --git a/audio/decoders/qdm2.cpp b/audio/decoders/qdm2.cpp index b70fc39e48..743ca1cb7d 100644 --- a/audio/decoders/qdm2.cpp +++ b/audio/decoders/qdm2.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/audio/decoders/qdm2.h b/audio/decoders/qdm2.h index f0793e3c1e..7f1ab8ffde 100644 --- a/audio/decoders/qdm2.h +++ b/audio/decoders/qdm2.h @@ -8,12 +8,12 @@ * 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. diff --git a/audio/decoders/qdm2data.h b/audio/decoders/qdm2data.h index d92bc0ff80..4761c53c2c 100644 --- a/audio/decoders/qdm2data.h +++ b/audio/decoders/qdm2data.h @@ -8,12 +8,12 @@ * 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. diff --git a/audio/decoders/raw.cpp b/audio/decoders/raw.cpp index d24e07926e..9a9f79092a 100644 --- a/audio/decoders/raw.cpp +++ b/audio/decoders/raw.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/audio/decoders/raw.h b/audio/decoders/raw.h index a06bebee10..14e7bd45fd 100644 --- a/audio/decoders/raw.h +++ b/audio/decoders/raw.h @@ -8,12 +8,12 @@ * 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. diff --git a/audio/decoders/voc.cpp b/audio/decoders/voc.cpp index ec589533eb..c7ba7a2624 100644 --- a/audio/decoders/voc.cpp +++ b/audio/decoders/voc.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/audio/decoders/voc.h b/audio/decoders/voc.h index e16ffce42f..ef35f8bbf3 100644 --- a/audio/decoders/voc.h +++ b/audio/decoders/voc.h @@ -8,12 +8,12 @@ * 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. diff --git a/audio/decoders/vorbis.cpp b/audio/decoders/vorbis.cpp index 64cacb4d58..c82d2840ca 100644 --- a/audio/decoders/vorbis.cpp +++ b/audio/decoders/vorbis.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/audio/decoders/vorbis.h b/audio/decoders/vorbis.h index 3a3052ed7c..2b9f6c3df9 100644 --- a/audio/decoders/vorbis.h +++ b/audio/decoders/vorbis.h @@ -8,12 +8,12 @@ * 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. diff --git a/audio/decoders/wave.cpp b/audio/decoders/wave.cpp index 44188f84ca..adee749b37 100644 --- a/audio/decoders/wave.cpp +++ b/audio/decoders/wave.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/audio/decoders/wave.h b/audio/decoders/wave.h index c8ac7fe318..1dcaefd845 100644 --- a/audio/decoders/wave.h +++ b/audio/decoders/wave.h @@ -8,12 +8,12 @@ * 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. diff --git a/audio/decoders/xa.cpp b/audio/decoders/xa.cpp index 818cd2df59..b18673411b 100644 --- a/audio/decoders/xa.cpp +++ b/audio/decoders/xa.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/audio/decoders/xa.h b/audio/decoders/xa.h index cf28d8001a..fb33512f7f 100644 --- a/audio/decoders/xa.h +++ b/audio/decoders/xa.h @@ -8,12 +8,12 @@ * 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. diff --git a/audio/fmopl.cpp b/audio/fmopl.cpp index d2fe7dc0e8..c18e544410 100644 --- a/audio/fmopl.cpp +++ b/audio/fmopl.cpp @@ -17,6 +17,7 @@ * 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 "audio/fmopl.h" diff --git a/audio/fmopl.h b/audio/fmopl.h index ad1794d873..85ac606c7a 100644 --- a/audio/fmopl.h +++ b/audio/fmopl.h @@ -17,6 +17,7 @@ * 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. + * */ #ifndef AUDIO_FMOPL_H diff --git a/audio/mididrv.cpp b/audio/mididrv.cpp index dea07a739b..f053ec8440 100644 --- a/audio/mididrv.cpp +++ b/audio/mididrv.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/audio/mididrv.h b/audio/mididrv.h index 56b4a265cb..1eaf415399 100644 --- a/audio/mididrv.h +++ b/audio/mididrv.h @@ -8,12 +8,12 @@ * 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. diff --git a/audio/midiparser.cpp b/audio/midiparser.cpp index 61f82c4ca4..9a8f0f7a77 100644 --- a/audio/midiparser.cpp +++ b/audio/midiparser.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/audio/midiparser.h b/audio/midiparser.h index 9499d01512..9c10462cd7 100644 --- a/audio/midiparser.h +++ b/audio/midiparser.h @@ -8,12 +8,12 @@ * 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. diff --git a/audio/midiparser_qt.cpp b/audio/midiparser_qt.cpp index 6214d28f95..b97ea56df5 100644 --- a/audio/midiparser_qt.cpp +++ b/audio/midiparser_qt.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/audio/midiparser_qt.h b/audio/midiparser_qt.h index d6d0f40a48..1c811fdb36 100644 --- a/audio/midiparser_qt.h +++ b/audio/midiparser_qt.h @@ -8,12 +8,12 @@ * 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. diff --git a/audio/midiparser_smf.cpp b/audio/midiparser_smf.cpp index 6c64d1e601..a614e5bd63 100644 --- a/audio/midiparser_smf.cpp +++ b/audio/midiparser_smf.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/audio/midiparser_xmidi.cpp b/audio/midiparser_xmidi.cpp index fcb45fa5ad..95aa5d72f3 100644 --- a/audio/midiparser_xmidi.cpp +++ b/audio/midiparser_xmidi.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/audio/midiplayer.cpp b/audio/midiplayer.cpp index 7fab02a5be..75a3b45fb8 100644 --- a/audio/midiplayer.cpp +++ b/audio/midiplayer.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/audio/midiplayer.h b/audio/midiplayer.h index e58c78cafd..5c06baeff2 100644 --- a/audio/midiplayer.h +++ b/audio/midiplayer.h @@ -8,12 +8,12 @@ * 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. diff --git a/audio/mixer.cpp b/audio/mixer.cpp index 9e6e4596e2..0620d07a29 100644 --- a/audio/mixer.cpp +++ b/audio/mixer.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/audio/mixer.h b/audio/mixer.h index a0060f2e1a..9f114c330a 100644 --- a/audio/mixer.h +++ b/audio/mixer.h @@ -8,12 +8,12 @@ * 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. diff --git a/audio/mixer_intern.h b/audio/mixer_intern.h index fce13a9812..a8b7981571 100644 --- a/audio/mixer_intern.h +++ b/audio/mixer_intern.h @@ -8,12 +8,12 @@ * 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. diff --git a/audio/mods/infogrames.cpp b/audio/mods/infogrames.cpp index 5b4d39fe49..320261b1b0 100644 --- a/audio/mods/infogrames.cpp +++ b/audio/mods/infogrames.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/audio/mods/infogrames.h b/audio/mods/infogrames.h index 8b246eebe7..9a836d30a8 100644 --- a/audio/mods/infogrames.h +++ b/audio/mods/infogrames.h @@ -8,12 +8,12 @@ * 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. diff --git a/audio/mods/maxtrax.cpp b/audio/mods/maxtrax.cpp index a2d470cdbf..c18812ee54 100644 --- a/audio/mods/maxtrax.cpp +++ b/audio/mods/maxtrax.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/audio/mods/maxtrax.h b/audio/mods/maxtrax.h index 8288aef186..9161b7c5ae 100644 --- a/audio/mods/maxtrax.h +++ b/audio/mods/maxtrax.h @@ -8,12 +8,12 @@ * 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. diff --git a/audio/mods/module.cpp b/audio/mods/module.cpp index 8d09671d26..83fbc7cc72 100644 --- a/audio/mods/module.cpp +++ b/audio/mods/module.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/audio/mods/module.h b/audio/mods/module.h index eb7cbf260e..3418305892 100644 --- a/audio/mods/module.h +++ b/audio/mods/module.h @@ -8,12 +8,12 @@ * 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. diff --git a/audio/mods/paula.cpp b/audio/mods/paula.cpp index d655428ed0..896a272ee9 100644 --- a/audio/mods/paula.cpp +++ b/audio/mods/paula.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/audio/mods/paula.h b/audio/mods/paula.h index 5d11cc7bb6..61a1a9edb8 100644 --- a/audio/mods/paula.h +++ b/audio/mods/paula.h @@ -8,12 +8,12 @@ * 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. diff --git a/audio/mods/protracker.cpp b/audio/mods/protracker.cpp index c947f256e0..82067f67bd 100644 --- a/audio/mods/protracker.cpp +++ b/audio/mods/protracker.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/audio/mods/protracker.h b/audio/mods/protracker.h index 50528fc599..84d60cac05 100644 --- a/audio/mods/protracker.h +++ b/audio/mods/protracker.h @@ -8,12 +8,12 @@ * 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. diff --git a/audio/mods/rjp1.cpp b/audio/mods/rjp1.cpp index 45c6caa106..f2b811c9ef 100644 --- a/audio/mods/rjp1.cpp +++ b/audio/mods/rjp1.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/audio/mods/rjp1.h b/audio/mods/rjp1.h index e7e54dafb3..7ad211738b 100644 --- a/audio/mods/rjp1.h +++ b/audio/mods/rjp1.h @@ -8,12 +8,12 @@ * 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. diff --git a/audio/mods/soundfx.cpp b/audio/mods/soundfx.cpp index 767d1ce9c8..5744429856 100644 --- a/audio/mods/soundfx.cpp +++ b/audio/mods/soundfx.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/audio/mods/soundfx.h b/audio/mods/soundfx.h index d517c6c78f..40a8efd892 100644 --- a/audio/mods/soundfx.h +++ b/audio/mods/soundfx.h @@ -8,12 +8,12 @@ * 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. diff --git a/audio/mods/tfmx.cpp b/audio/mods/tfmx.cpp index 5829ab5fda..db3dad88ef 100644 --- a/audio/mods/tfmx.cpp +++ b/audio/mods/tfmx.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/audio/mods/tfmx.h b/audio/mods/tfmx.h index a8852d7963..ef05fed9ff 100644 --- a/audio/mods/tfmx.h +++ b/audio/mods/tfmx.h @@ -8,12 +8,12 @@ * 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. diff --git a/audio/mpu401.cpp b/audio/mpu401.cpp index 103a3501db..3e03ec53f1 100644 --- a/audio/mpu401.cpp +++ b/audio/mpu401.cpp @@ -17,6 +17,7 @@ * 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 "audio/mpu401.h" diff --git a/audio/mpu401.h b/audio/mpu401.h index d4580b6e79..3a3142d441 100644 --- a/audio/mpu401.h +++ b/audio/mpu401.h @@ -8,12 +8,12 @@ * 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. diff --git a/audio/musicplugin.cpp b/audio/musicplugin.cpp index 7c77c3455c..1903bc9bf1 100644 --- a/audio/musicplugin.cpp +++ b/audio/musicplugin.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/audio/musicplugin.h b/audio/musicplugin.h index 2a0f2f0a99..849d3f92cd 100644 --- a/audio/musicplugin.h +++ b/audio/musicplugin.h @@ -17,6 +17,7 @@ * 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. + * */ #ifndef AUDIO_MUSICPLUGIN_H diff --git a/audio/null.cpp b/audio/null.cpp index 36c894aa7c..a554838c3d 100644 --- a/audio/null.cpp +++ b/audio/null.cpp @@ -17,6 +17,7 @@ * 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 "common/error.h" diff --git a/audio/null.h b/audio/null.h index 90897be6af..90eba7368d 100644 --- a/audio/null.h +++ b/audio/null.h @@ -17,6 +17,7 @@ * 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. + * */ #ifndef AUDIO_NULL_H diff --git a/audio/rate.cpp b/audio/rate.cpp index 0fc23a8a54..19d9c8c61e 100644 --- a/audio/rate.cpp +++ b/audio/rate.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/audio/rate.h b/audio/rate.h index 9813b75b08..8c8b726c72 100644 --- a/audio/rate.h +++ b/audio/rate.h @@ -8,12 +8,12 @@ * 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. diff --git a/audio/rate_arm.cpp b/audio/rate_arm.cpp index 4135cdd1af..4ad8d71a34 100644 --- a/audio/rate_arm.cpp +++ b/audio/rate_arm.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/audio/softsynth/adlib.cpp b/audio/softsynth/adlib.cpp index 0cadea7f22..98519343b4 100644 --- a/audio/softsynth/adlib.cpp +++ b/audio/softsynth/adlib.cpp @@ -17,6 +17,7 @@ * 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 "audio/softsynth/emumidi.h" diff --git a/audio/softsynth/appleiigs.cpp b/audio/softsynth/appleiigs.cpp index bbb3f0b005..e07e282de6 100644 --- a/audio/softsynth/appleiigs.cpp +++ b/audio/softsynth/appleiigs.cpp @@ -1,24 +1,24 @@ /* 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. -* -*/ + * + * 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 "audio/null.h" diff --git a/audio/softsynth/cms.cpp b/audio/softsynth/cms.cpp index 681f08dfa3..206bd36d2d 100644 --- a/audio/softsynth/cms.cpp +++ b/audio/softsynth/cms.cpp @@ -17,6 +17,7 @@ * 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 "audio/softsynth/cms.h" diff --git a/audio/softsynth/cms.h b/audio/softsynth/cms.h index 0aad856a9d..8c0f980b0a 100644 --- a/audio/softsynth/cms.h +++ b/audio/softsynth/cms.h @@ -17,6 +17,7 @@ * 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. + * */ #ifndef AUDIO_SOFTSYNTH_CMS_H diff --git a/audio/softsynth/eas.cpp b/audio/softsynth/eas.cpp index 0631df2a7c..9854c10d27 100644 --- a/audio/softsynth/eas.cpp +++ b/audio/softsynth/eas.cpp @@ -17,6 +17,7 @@ * 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 "common/scummsys.h" diff --git a/audio/softsynth/emumidi.h b/audio/softsynth/emumidi.h index 3e9d669933..8177cfd5e9 100644 --- a/audio/softsynth/emumidi.h +++ b/audio/softsynth/emumidi.h @@ -17,6 +17,7 @@ * 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. + * */ #ifndef AUDIO_SOFTSYNTH_EMUMIDI_H diff --git a/audio/softsynth/fluidsynth.cpp b/audio/softsynth/fluidsynth.cpp index 218a06ecc0..9b64d70f2b 100644 --- a/audio/softsynth/fluidsynth.cpp +++ b/audio/softsynth/fluidsynth.cpp @@ -17,6 +17,7 @@ * 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 "common/scummsys.h" diff --git a/audio/softsynth/fmtowns_pc98/towns_audio.cpp b/audio/softsynth/fmtowns_pc98/towns_audio.cpp index d8300112bf..7fa55ef6c1 100644 --- a/audio/softsynth/fmtowns_pc98/towns_audio.cpp +++ b/audio/softsynth/fmtowns_pc98/towns_audio.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/audio/softsynth/fmtowns_pc98/towns_audio.h b/audio/softsynth/fmtowns_pc98/towns_audio.h index 211133a1fe..93eeafb046 100644 --- a/audio/softsynth/fmtowns_pc98/towns_audio.h +++ b/audio/softsynth/fmtowns_pc98/towns_audio.h @@ -8,12 +8,12 @@ * 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. diff --git a/audio/softsynth/fmtowns_pc98/towns_euphony.cpp b/audio/softsynth/fmtowns_pc98/towns_euphony.cpp index bc2c88b236..fca3d19912 100644 --- a/audio/softsynth/fmtowns_pc98/towns_euphony.cpp +++ b/audio/softsynth/fmtowns_pc98/towns_euphony.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/audio/softsynth/fmtowns_pc98/towns_euphony.h b/audio/softsynth/fmtowns_pc98/towns_euphony.h index bff0e99660..d77217884d 100644 --- a/audio/softsynth/fmtowns_pc98/towns_euphony.h +++ b/audio/softsynth/fmtowns_pc98/towns_euphony.h @@ -8,12 +8,12 @@ * 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. diff --git a/audio/softsynth/fmtowns_pc98/towns_pc98_driver.cpp b/audio/softsynth/fmtowns_pc98/towns_pc98_driver.cpp index 75e6bc3d10..6a492787b2 100644 --- a/audio/softsynth/fmtowns_pc98/towns_pc98_driver.cpp +++ b/audio/softsynth/fmtowns_pc98/towns_pc98_driver.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/audio/softsynth/fmtowns_pc98/towns_pc98_driver.h b/audio/softsynth/fmtowns_pc98/towns_pc98_driver.h index c0009e4957..918446f6c5 100644 --- a/audio/softsynth/fmtowns_pc98/towns_pc98_driver.h +++ b/audio/softsynth/fmtowns_pc98/towns_pc98_driver.h @@ -8,12 +8,12 @@ * 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. diff --git a/audio/softsynth/fmtowns_pc98/towns_pc98_fmsynth.cpp b/audio/softsynth/fmtowns_pc98/towns_pc98_fmsynth.cpp index b4967a556f..685ee99e6f 100644 --- a/audio/softsynth/fmtowns_pc98/towns_pc98_fmsynth.cpp +++ b/audio/softsynth/fmtowns_pc98/towns_pc98_fmsynth.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/audio/softsynth/fmtowns_pc98/towns_pc98_fmsynth.h b/audio/softsynth/fmtowns_pc98/towns_pc98_fmsynth.h index 49700be5dc..5af92820ca 100644 --- a/audio/softsynth/fmtowns_pc98/towns_pc98_fmsynth.h +++ b/audio/softsynth/fmtowns_pc98/towns_pc98_fmsynth.h @@ -8,12 +8,12 @@ * 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. diff --git a/audio/softsynth/mt32.cpp b/audio/softsynth/mt32.cpp index 7f46e926bc..b9799db618 100644 --- a/audio/softsynth/mt32.cpp +++ b/audio/softsynth/mt32.cpp @@ -17,6 +17,7 @@ * 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 "common/scummsys.h" diff --git a/audio/softsynth/opl/dosbox.cpp b/audio/softsynth/opl/dosbox.cpp index a1a736f9de..5c3d833f54 100644 --- a/audio/softsynth/opl/dosbox.cpp +++ b/audio/softsynth/opl/dosbox.cpp @@ -17,6 +17,7 @@ * 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. + * */ /* diff --git a/audio/softsynth/opl/dosbox.h b/audio/softsynth/opl/dosbox.h index 3adfe98852..513a49f6b8 100644 --- a/audio/softsynth/opl/dosbox.h +++ b/audio/softsynth/opl/dosbox.h @@ -17,6 +17,7 @@ * 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. + * */ /* diff --git a/audio/softsynth/opl/mame.cpp b/audio/softsynth/opl/mame.cpp index 2db7d421b6..da75ba76ba 100644 --- a/audio/softsynth/opl/mame.cpp +++ b/audio/softsynth/opl/mame.cpp @@ -8,18 +8,19 @@ * 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. * * LGPL licensed version of MAMEs fmopl (V0.37a modified) by * Tatsuyuki Satoh. Included from LGPL'ed AdPlug. + * */ #include diff --git a/audio/softsynth/opl/mame.h b/audio/softsynth/opl/mame.h index 3714fa4e0a..bd479d9e45 100644 --- a/audio/softsynth/opl/mame.h +++ b/audio/softsynth/opl/mame.h @@ -8,18 +8,19 @@ * 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. * * LGPL licensed version of MAMEs fmopl (V0.37a modified) by * Tatsuyuki Satoh. Included from LGPL'ed AdPlug. + * */ diff --git a/audio/softsynth/pcspk.cpp b/audio/softsynth/pcspk.cpp index 66af968463..72f33a4761 100644 --- a/audio/softsynth/pcspk.cpp +++ b/audio/softsynth/pcspk.cpp @@ -1,24 +1,24 @@ /* 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. -* -*/ + * + * 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 "audio/softsynth/pcspk.h" #include "audio/null.h" diff --git a/audio/softsynth/pcspk.h b/audio/softsynth/pcspk.h index f27eb94904..db64da5177 100644 --- a/audio/softsynth/pcspk.h +++ b/audio/softsynth/pcspk.h @@ -17,6 +17,7 @@ * 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. + * */ #ifndef AUDIO_SOFTSYNTH_PCSPK_H diff --git a/audio/softsynth/sid.cpp b/audio/softsynth/sid.cpp index b6f1c87c4b..bafbd4ab53 100644 --- a/audio/softsynth/sid.cpp +++ b/audio/softsynth/sid.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/audio/softsynth/sid.h b/audio/softsynth/sid.h index 88da0eb326..d07d25bc47 100644 --- a/audio/softsynth/sid.h +++ b/audio/softsynth/sid.h @@ -8,12 +8,12 @@ * 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. diff --git a/audio/softsynth/wave6581.cpp b/audio/softsynth/wave6581.cpp index 832a7272ff..94381f6c72 100644 --- a/audio/softsynth/wave6581.cpp +++ b/audio/softsynth/wave6581.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/audio/timestamp.cpp b/audio/timestamp.cpp index 69b47d1628..1ce971631c 100644 --- a/audio/timestamp.cpp +++ b/audio/timestamp.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/audio/timestamp.h b/audio/timestamp.h index 1683b554cb..827a8e03f2 100644 --- a/audio/timestamp.h +++ b/audio/timestamp.h @@ -8,12 +8,12 @@ * 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. -- cgit v1.2.3 From 854de79c236641bdb3414f727d9fee62e70ac463 Mon Sep 17 00:00:00 2001 From: Johannes Schickel Date: Tue, 18 Feb 2014 02:34:18 +0100 Subject: AVALANCHE: Make GPL headers consistent in themselves. --- engines/avalanche/animation.cpp | 4 ++-- engines/avalanche/animation.h | 4 ++-- engines/avalanche/avalanche.cpp | 6 +++--- engines/avalanche/avalanche.h | 6 +++--- engines/avalanche/avalot.cpp | 6 +++--- engines/avalanche/avalot.h | 6 +++--- engines/avalanche/background.cpp | 4 ++-- engines/avalanche/background.h | 4 ++-- engines/avalanche/clock.cpp | 40 ++++++++++++++++++++-------------------- engines/avalanche/clock.h | 40 ++++++++++++++++++++-------------------- engines/avalanche/closing.cpp | 4 ++-- engines/avalanche/closing.h | 4 ++-- engines/avalanche/console.cpp | 6 +++--- engines/avalanche/console.h | 6 +++--- engines/avalanche/detection.cpp | 6 +++--- engines/avalanche/dialogs.cpp | 6 +++--- engines/avalanche/dialogs.h | 6 +++--- engines/avalanche/enums.h | 6 +++--- engines/avalanche/ghostroom.cpp | 40 ++++++++++++++++++++-------------------- engines/avalanche/ghostroom.h | 40 ++++++++++++++++++++-------------------- engines/avalanche/graphics.cpp | 6 +++--- engines/avalanche/graphics.h | 6 +++--- engines/avalanche/help.cpp | 40 ++++++++++++++++++++-------------------- engines/avalanche/help.h | 40 ++++++++++++++++++++-------------------- engines/avalanche/menu.cpp | 4 ++-- engines/avalanche/menu.h | 4 ++-- engines/avalanche/nim.cpp | 6 +++--- engines/avalanche/nim.h | 6 +++--- engines/avalanche/parser.cpp | 6 +++--- engines/avalanche/parser.h | 6 +++--- engines/avalanche/sequence.cpp | 4 ++-- engines/avalanche/sequence.h | 4 ++-- engines/avalanche/shootemup.cpp | 40 ++++++++++++++++++++-------------------- engines/avalanche/shootemup.h | 40 ++++++++++++++++++++-------------------- engines/avalanche/sound.cpp | 4 ++-- engines/avalanche/sound.h | 4 ++-- engines/avalanche/timer.cpp | 4 ++-- engines/avalanche/timer.h | 4 ++-- 38 files changed, 236 insertions(+), 236 deletions(-) diff --git a/engines/avalanche/animation.cpp b/engines/avalanche/animation.cpp index 74dd2100e5..1ec3dbd4d2 100644 --- a/engines/avalanche/animation.cpp +++ b/engines/avalanche/animation.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/avalanche/animation.h b/engines/avalanche/animation.h index aa4e6482a4..375d117893 100644 --- a/engines/avalanche/animation.h +++ b/engines/avalanche/animation.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/avalanche/avalanche.cpp b/engines/avalanche/avalanche.cpp index 073b9a9425..8158536a0c 100644 --- a/engines/avalanche/avalanche.cpp +++ b/engines/avalanche/avalanche.cpp @@ -8,12 +8,12 @@ * 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 + * 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. diff --git a/engines/avalanche/avalanche.h b/engines/avalanche/avalanche.h index d2e5678ae9..9d6ab1693a 100644 --- a/engines/avalanche/avalanche.h +++ b/engines/avalanche/avalanche.h @@ -8,12 +8,12 @@ * 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 + * 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. diff --git a/engines/avalanche/avalot.cpp b/engines/avalanche/avalot.cpp index 6648e8d961..2e89287f58 100644 --- a/engines/avalanche/avalot.cpp +++ b/engines/avalanche/avalot.cpp @@ -8,12 +8,12 @@ * 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 + * 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. diff --git a/engines/avalanche/avalot.h b/engines/avalanche/avalot.h index 9afb4a7b63..04b945fd20 100644 --- a/engines/avalanche/avalot.h +++ b/engines/avalanche/avalot.h @@ -8,12 +8,12 @@ * 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 + * 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. diff --git a/engines/avalanche/background.cpp b/engines/avalanche/background.cpp index f49d103df3..e5b66c509b 100644 --- a/engines/avalanche/background.cpp +++ b/engines/avalanche/background.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/avalanche/background.h b/engines/avalanche/background.h index 67020c861d..98d6d36fed 100644 --- a/engines/avalanche/background.h +++ b/engines/avalanche/background.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/avalanche/clock.cpp b/engines/avalanche/clock.cpp index 1c2c50c3bf..6d398d9921 100644 --- a/engines/avalanche/clock.cpp +++ b/engines/avalanche/clock.cpp @@ -1,24 +1,24 @@ /* 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. -* -*/ + * + * 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. + * + */ /* * This code is based on the original source code of Lord Avalot d'Argent version 1.3. diff --git a/engines/avalanche/clock.h b/engines/avalanche/clock.h index 68e8e119f0..85ea508a80 100644 --- a/engines/avalanche/clock.h +++ b/engines/avalanche/clock.h @@ -1,24 +1,24 @@ /* 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. -* -*/ + * + * 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. + * + */ /* * This code is based on the original source code of Lord Avalot d'Argent version 1.3. diff --git a/engines/avalanche/closing.cpp b/engines/avalanche/closing.cpp index 1cb2e84218..552b71b563 100644 --- a/engines/avalanche/closing.cpp +++ b/engines/avalanche/closing.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/avalanche/closing.h b/engines/avalanche/closing.h index 25217e347e..6e65deb310 100644 --- a/engines/avalanche/closing.h +++ b/engines/avalanche/closing.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/avalanche/console.cpp b/engines/avalanche/console.cpp index e4b52116e4..29ae5cf9c3 100644 --- a/engines/avalanche/console.cpp +++ b/engines/avalanche/console.cpp @@ -8,12 +8,12 @@ * 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 + * 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. diff --git a/engines/avalanche/console.h b/engines/avalanche/console.h index 166515d913..b5b5fb63fc 100644 --- a/engines/avalanche/console.h +++ b/engines/avalanche/console.h @@ -8,12 +8,12 @@ * 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 + * 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. diff --git a/engines/avalanche/detection.cpp b/engines/avalanche/detection.cpp index 5f4f03a78b..028f167e70 100644 --- a/engines/avalanche/detection.cpp +++ b/engines/avalanche/detection.cpp @@ -8,12 +8,12 @@ * 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 + * 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. diff --git a/engines/avalanche/dialogs.cpp b/engines/avalanche/dialogs.cpp index 2174df3580..b175464f0c 100644 --- a/engines/avalanche/dialogs.cpp +++ b/engines/avalanche/dialogs.cpp @@ -8,12 +8,12 @@ * 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 + * 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. diff --git a/engines/avalanche/dialogs.h b/engines/avalanche/dialogs.h index defd152db5..4b50a61732 100644 --- a/engines/avalanche/dialogs.h +++ b/engines/avalanche/dialogs.h @@ -8,12 +8,12 @@ * 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 + * 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. diff --git a/engines/avalanche/enums.h b/engines/avalanche/enums.h index 23192863f1..998c96a131 100644 --- a/engines/avalanche/enums.h +++ b/engines/avalanche/enums.h @@ -8,12 +8,12 @@ * 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 + * 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. diff --git a/engines/avalanche/ghostroom.cpp b/engines/avalanche/ghostroom.cpp index 6bd0da7834..3323e538ef 100644 --- a/engines/avalanche/ghostroom.cpp +++ b/engines/avalanche/ghostroom.cpp @@ -1,24 +1,24 @@ /* 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. -* -*/ + * + * 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. + * + */ /* * This code is based on the original source code of Lord Avalot d'Argent version 1.3. diff --git a/engines/avalanche/ghostroom.h b/engines/avalanche/ghostroom.h index b4917d8cb4..ebb02f7aac 100644 --- a/engines/avalanche/ghostroom.h +++ b/engines/avalanche/ghostroom.h @@ -1,24 +1,24 @@ /* 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. -* -*/ + * + * 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. + * + */ /* * This code is based on the original source code of Lord Avalot d'Argent version 1.3. diff --git a/engines/avalanche/graphics.cpp b/engines/avalanche/graphics.cpp index 8b94e9a09f..1e3a6ff36c 100644 --- a/engines/avalanche/graphics.cpp +++ b/engines/avalanche/graphics.cpp @@ -8,12 +8,12 @@ * 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 + * 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. diff --git a/engines/avalanche/graphics.h b/engines/avalanche/graphics.h index e5538bca7a..05bd507d8e 100644 --- a/engines/avalanche/graphics.h +++ b/engines/avalanche/graphics.h @@ -8,12 +8,12 @@ * 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 + * 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. diff --git a/engines/avalanche/help.cpp b/engines/avalanche/help.cpp index 0e60f5fadb..bef557db07 100644 --- a/engines/avalanche/help.cpp +++ b/engines/avalanche/help.cpp @@ -1,24 +1,24 @@ /* 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. -* -*/ + * + * 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. + * + */ /* * This code is based on the original source code of Lord Avalot d'Argent version 1.3. diff --git a/engines/avalanche/help.h b/engines/avalanche/help.h index f31a73d189..7543d87047 100644 --- a/engines/avalanche/help.h +++ b/engines/avalanche/help.h @@ -1,24 +1,24 @@ /* 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. -* -*/ + * + * 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. + * + */ /* * This code is based on the original source code of Lord Avalot d'Argent version 1.3. diff --git a/engines/avalanche/menu.cpp b/engines/avalanche/menu.cpp index c3fa709ee4..af3caf880e 100644 --- a/engines/avalanche/menu.cpp +++ b/engines/avalanche/menu.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/avalanche/menu.h b/engines/avalanche/menu.h index b7674fbb9d..f4833d31c4 100644 --- a/engines/avalanche/menu.h +++ b/engines/avalanche/menu.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/avalanche/nim.cpp b/engines/avalanche/nim.cpp index e4897a6d49..1430b69ea9 100644 --- a/engines/avalanche/nim.cpp +++ b/engines/avalanche/nim.cpp @@ -8,12 +8,12 @@ * 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 + * 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. diff --git a/engines/avalanche/nim.h b/engines/avalanche/nim.h index 7e5f55e69f..3c2f0455cf 100644 --- a/engines/avalanche/nim.h +++ b/engines/avalanche/nim.h @@ -8,12 +8,12 @@ * 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 + * 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. diff --git a/engines/avalanche/parser.cpp b/engines/avalanche/parser.cpp index 1a9585e2a3..5e58d1df5c 100644 --- a/engines/avalanche/parser.cpp +++ b/engines/avalanche/parser.cpp @@ -8,12 +8,12 @@ * 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 + * 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. diff --git a/engines/avalanche/parser.h b/engines/avalanche/parser.h index 20066329e5..46408f518a 100644 --- a/engines/avalanche/parser.h +++ b/engines/avalanche/parser.h @@ -8,12 +8,12 @@ * 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 + * 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. diff --git a/engines/avalanche/sequence.cpp b/engines/avalanche/sequence.cpp index 3a60c4ec1d..d63532a457 100644 --- a/engines/avalanche/sequence.cpp +++ b/engines/avalanche/sequence.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/avalanche/sequence.h b/engines/avalanche/sequence.h index d3c1b54963..8062118059 100644 --- a/engines/avalanche/sequence.h +++ b/engines/avalanche/sequence.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/avalanche/shootemup.cpp b/engines/avalanche/shootemup.cpp index 03addc62b6..3012813d70 100644 --- a/engines/avalanche/shootemup.cpp +++ b/engines/avalanche/shootemup.cpp @@ -1,24 +1,24 @@ /* 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. -* -*/ + * + * 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. + * + */ /* * This code is based on the original source code of Lord Avalot d'Argent version 1.3. diff --git a/engines/avalanche/shootemup.h b/engines/avalanche/shootemup.h index 21b5a76fb0..ce6af73237 100644 --- a/engines/avalanche/shootemup.h +++ b/engines/avalanche/shootemup.h @@ -1,24 +1,24 @@ /* 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. -* -*/ + * + * 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. + * + */ /* * This code is based on the original source code of Lord Avalot d'Argent version 1.3. diff --git a/engines/avalanche/sound.cpp b/engines/avalanche/sound.cpp index c324df4713..229d046cc1 100644 --- a/engines/avalanche/sound.cpp +++ b/engines/avalanche/sound.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/avalanche/sound.h b/engines/avalanche/sound.h index 25b6b267d3..a67016a206 100644 --- a/engines/avalanche/sound.h +++ b/engines/avalanche/sound.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/avalanche/timer.cpp b/engines/avalanche/timer.cpp index b7a8433e71..69e0d84b3c 100644 --- a/engines/avalanche/timer.cpp +++ b/engines/avalanche/timer.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/avalanche/timer.h b/engines/avalanche/timer.h index 9a91c4d24b..fd51544fd1 100644 --- a/engines/avalanche/timer.h +++ b/engines/avalanche/timer.h @@ -8,12 +8,12 @@ * 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. -- cgit v1.2.3 From 121687d2ed7811c6805a11b17e295d7e9517b9c6 Mon Sep 17 00:00:00 2001 From: Johannes Schickel Date: Tue, 18 Feb 2014 02:34:18 +0100 Subject: BACKENDS: Make GPL headers consistent in themselves. --- backends/audiocd/audiocd.h | 4 ++-- backends/audiocd/default/default-audiocd.cpp | 4 ++-- backends/audiocd/default/default-audiocd.h | 4 ++-- backends/base-backend.h | 4 ++-- backends/events/default/default-events.cpp | 4 ++-- backends/events/default/default-events.h | 4 ++-- backends/fs/abstract-fs.cpp | 1 + backends/fs/abstract-fs.h | 1 + backends/fs/fs-factory.h | 1 + backends/fs/stdiostream.cpp | 4 ++-- backends/fs/stdiostream.h | 4 ++-- backends/graphics/default-palette.h | 4 ++-- backends/graphics/graphics.h | 4 ++-- backends/midi/alsa.cpp | 1 + backends/midi/camd.cpp | 1 + backends/midi/coreaudio.cpp | 1 + backends/midi/coremidi.cpp | 1 + backends/midi/dmedia.cpp | 1 + backends/midi/seq.cpp | 1 + backends/midi/sndio.cpp | 1 + backends/midi/stmidi.cpp | 1 + backends/midi/timidity.cpp | 1 + backends/modular-backend.cpp | 4 ++-- backends/modular-backend.h | 4 ++-- backends/mutex/mutex.h | 4 ++-- backends/mutex/null/null-mutex.h | 4 ++-- backends/plugins/dynamic-plugin.h | 4 ++-- backends/plugins/elf/arm-loader.cpp | 4 ++-- backends/plugins/elf/arm-loader.h | 4 ++-- backends/plugins/elf/elf-loader.cpp | 4 ++-- backends/plugins/elf/elf-loader.h | 4 ++-- backends/plugins/elf/elf-provider.cpp | 4 ++-- backends/plugins/elf/elf-provider.h | 4 ++-- backends/plugins/elf/elf32.h | 4 ++-- backends/plugins/elf/memory-manager.cpp | 4 ++-- backends/plugins/elf/memory-manager.h | 4 ++-- backends/plugins/elf/mips-loader.cpp | 4 ++-- backends/plugins/elf/mips-loader.h | 4 ++-- backends/plugins/elf/ppc-loader.cpp | 4 ++-- backends/plugins/elf/ppc-loader.h | 4 ++-- backends/plugins/elf/shorts-segment-manager.cpp | 4 ++-- backends/plugins/elf/shorts-segment-manager.h | 4 ++-- backends/plugins/elf/version.cpp | 4 ++-- backends/plugins/elf/version.h | 1 + backends/saves/default/default-saves.cpp | 4 ++-- backends/saves/default/default-saves.h | 4 ++-- backends/saves/recorder/recorder-saves.cpp | 4 ++-- backends/saves/recorder/recorder-saves.h | 4 ++-- backends/saves/savefile.cpp | 4 ++-- backends/timer/default/default-timer.cpp | 1 + backends/timer/default/default-timer.h | 1 + backends/updates/macosx/macosx-updates.h | 4 ++-- backends/updates/macosx/macosx-updates.mm | 4 ++-- 53 files changed, 91 insertions(+), 76 deletions(-) diff --git a/backends/audiocd/audiocd.h b/backends/audiocd/audiocd.h index 76c3998862..db9a15505a 100644 --- a/backends/audiocd/audiocd.h +++ b/backends/audiocd/audiocd.h @@ -8,12 +8,12 @@ * 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. diff --git a/backends/audiocd/default/default-audiocd.cpp b/backends/audiocd/default/default-audiocd.cpp index 819b9c4522..abf80ac4cd 100644 --- a/backends/audiocd/default/default-audiocd.cpp +++ b/backends/audiocd/default/default-audiocd.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/backends/audiocd/default/default-audiocd.h b/backends/audiocd/default/default-audiocd.h index 1971ed8f6e..9e4ba6b33e 100644 --- a/backends/audiocd/default/default-audiocd.h +++ b/backends/audiocd/default/default-audiocd.h @@ -8,12 +8,12 @@ * 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. diff --git a/backends/base-backend.h b/backends/base-backend.h index c797e831a8..598f682b32 100644 --- a/backends/base-backend.h +++ b/backends/base-backend.h @@ -8,12 +8,12 @@ * 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. diff --git a/backends/events/default/default-events.cpp b/backends/events/default/default-events.cpp index 30f3b3790c..c7c39da069 100644 --- a/backends/events/default/default-events.cpp +++ b/backends/events/default/default-events.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/backends/events/default/default-events.h b/backends/events/default/default-events.h index 4d89b78861..f378fb9ff0 100644 --- a/backends/events/default/default-events.h +++ b/backends/events/default/default-events.h @@ -8,12 +8,12 @@ * 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. diff --git a/backends/fs/abstract-fs.cpp b/backends/fs/abstract-fs.cpp index 372c7423dd..c3991ee8f4 100644 --- a/backends/fs/abstract-fs.cpp +++ b/backends/fs/abstract-fs.cpp @@ -17,6 +17,7 @@ * 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 "backends/fs/abstract-fs.h" diff --git a/backends/fs/abstract-fs.h b/backends/fs/abstract-fs.h index 2b66a6e6e1..34a8120caa 100644 --- a/backends/fs/abstract-fs.h +++ b/backends/fs/abstract-fs.h @@ -17,6 +17,7 @@ * 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. + * */ #ifndef BACKENDS_ABSTRACT_FS_H diff --git a/backends/fs/fs-factory.h b/backends/fs/fs-factory.h index 6d378955ec..fce82a9847 100644 --- a/backends/fs/fs-factory.h +++ b/backends/fs/fs-factory.h @@ -17,6 +17,7 @@ * 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. + * */ #ifndef FILESYSTEM_FACTORY_H diff --git a/backends/fs/stdiostream.cpp b/backends/fs/stdiostream.cpp index 3ea0f9898b..8206bd180f 100644 --- a/backends/fs/stdiostream.cpp +++ b/backends/fs/stdiostream.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/backends/fs/stdiostream.h b/backends/fs/stdiostream.h index 1d45600d9c..f2495feac8 100644 --- a/backends/fs/stdiostream.h +++ b/backends/fs/stdiostream.h @@ -8,12 +8,12 @@ * 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. diff --git a/backends/graphics/default-palette.h b/backends/graphics/default-palette.h index 8f3fcb2db1..a66e1862b7 100644 --- a/backends/graphics/default-palette.h +++ b/backends/graphics/default-palette.h @@ -8,12 +8,12 @@ * 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. diff --git a/backends/graphics/graphics.h b/backends/graphics/graphics.h index 24397228e6..3671b9f0b9 100644 --- a/backends/graphics/graphics.h +++ b/backends/graphics/graphics.h @@ -8,12 +8,12 @@ * 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. diff --git a/backends/midi/alsa.cpp b/backends/midi/alsa.cpp index c006b6b6bf..14889b2942 100644 --- a/backends/midi/alsa.cpp +++ b/backends/midi/alsa.cpp @@ -17,6 +17,7 @@ * 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. + * */ // Disable symbol overrides so that we can use system headers. diff --git a/backends/midi/camd.cpp b/backends/midi/camd.cpp index 88973488ca..2c5728990c 100644 --- a/backends/midi/camd.cpp +++ b/backends/midi/camd.cpp @@ -17,6 +17,7 @@ * 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. + * */ // Disable symbol overrides so that we can use system headers. diff --git a/backends/midi/coreaudio.cpp b/backends/midi/coreaudio.cpp index e42b8ca313..74c590c654 100644 --- a/backends/midi/coreaudio.cpp +++ b/backends/midi/coreaudio.cpp @@ -17,6 +17,7 @@ * 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. + * */ // Disable symbol overrides so that we can use system headers. diff --git a/backends/midi/coremidi.cpp b/backends/midi/coremidi.cpp index 1d61dceba2..e2ec8405e9 100644 --- a/backends/midi/coremidi.cpp +++ b/backends/midi/coremidi.cpp @@ -17,6 +17,7 @@ * 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. + * */ // Disable symbol overrides so that we can use system headers. diff --git a/backends/midi/dmedia.cpp b/backends/midi/dmedia.cpp index 68e957f9aa..eac2d34b58 100644 --- a/backends/midi/dmedia.cpp +++ b/backends/midi/dmedia.cpp @@ -17,6 +17,7 @@ * 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. + * */ /* diff --git a/backends/midi/seq.cpp b/backends/midi/seq.cpp index 37986520bf..2ce25b726c 100644 --- a/backends/midi/seq.cpp +++ b/backends/midi/seq.cpp @@ -17,6 +17,7 @@ * 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. + * */ /* diff --git a/backends/midi/sndio.cpp b/backends/midi/sndio.cpp index a065a658e1..5efec4b899 100644 --- a/backends/midi/sndio.cpp +++ b/backends/midi/sndio.cpp @@ -17,6 +17,7 @@ * 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. + * */ // Disable symbol overrides so that we can use system headers. diff --git a/backends/midi/stmidi.cpp b/backends/midi/stmidi.cpp index 5a6326877e..28350b3cc2 100644 --- a/backends/midi/stmidi.cpp +++ b/backends/midi/stmidi.cpp @@ -17,6 +17,7 @@ * 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. + * */ /* diff --git a/backends/midi/timidity.cpp b/backends/midi/timidity.cpp index d2c60bec9d..d10b808bdb 100644 --- a/backends/midi/timidity.cpp +++ b/backends/midi/timidity.cpp @@ -17,6 +17,7 @@ * 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. + * */ /* diff --git a/backends/modular-backend.cpp b/backends/modular-backend.cpp index 6afe06aeca..d8be9ca7ed 100644 --- a/backends/modular-backend.cpp +++ b/backends/modular-backend.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/backends/modular-backend.h b/backends/modular-backend.h index b43769c716..20e8b7357d 100644 --- a/backends/modular-backend.h +++ b/backends/modular-backend.h @@ -8,12 +8,12 @@ * 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. diff --git a/backends/mutex/mutex.h b/backends/mutex/mutex.h index 9cc16c7a2c..26a6d47e09 100644 --- a/backends/mutex/mutex.h +++ b/backends/mutex/mutex.h @@ -8,12 +8,12 @@ * 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. diff --git a/backends/mutex/null/null-mutex.h b/backends/mutex/null/null-mutex.h index 7ae10cedb8..218b1adf02 100644 --- a/backends/mutex/null/null-mutex.h +++ b/backends/mutex/null/null-mutex.h @@ -8,12 +8,12 @@ * 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. diff --git a/backends/plugins/dynamic-plugin.h b/backends/plugins/dynamic-plugin.h index d68321b2a9..5aca44b676 100644 --- a/backends/plugins/dynamic-plugin.h +++ b/backends/plugins/dynamic-plugin.h @@ -8,12 +8,12 @@ * 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. diff --git a/backends/plugins/elf/arm-loader.cpp b/backends/plugins/elf/arm-loader.cpp index f8deac9c88..3aabf44452 100644 --- a/backends/plugins/elf/arm-loader.cpp +++ b/backends/plugins/elf/arm-loader.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/backends/plugins/elf/arm-loader.h b/backends/plugins/elf/arm-loader.h index 598517d2ef..6f7ae2601d 100644 --- a/backends/plugins/elf/arm-loader.h +++ b/backends/plugins/elf/arm-loader.h @@ -8,12 +8,12 @@ * 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. diff --git a/backends/plugins/elf/elf-loader.cpp b/backends/plugins/elf/elf-loader.cpp index d60ddce57e..5198fa8088 100644 --- a/backends/plugins/elf/elf-loader.cpp +++ b/backends/plugins/elf/elf-loader.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/backends/plugins/elf/elf-loader.h b/backends/plugins/elf/elf-loader.h index 58cc7714cf..17ca35482a 100644 --- a/backends/plugins/elf/elf-loader.h +++ b/backends/plugins/elf/elf-loader.h @@ -8,12 +8,12 @@ * 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. diff --git a/backends/plugins/elf/elf-provider.cpp b/backends/plugins/elf/elf-provider.cpp index f637596d8d..28536eee94 100644 --- a/backends/plugins/elf/elf-provider.cpp +++ b/backends/plugins/elf/elf-provider.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/backends/plugins/elf/elf-provider.h b/backends/plugins/elf/elf-provider.h index a966f371f6..1270949f42 100644 --- a/backends/plugins/elf/elf-provider.h +++ b/backends/plugins/elf/elf-provider.h @@ -8,12 +8,12 @@ * 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. diff --git a/backends/plugins/elf/elf32.h b/backends/plugins/elf/elf32.h index 1ecc68a8f0..9f6f92fe95 100644 --- a/backends/plugins/elf/elf32.h +++ b/backends/plugins/elf/elf32.h @@ -8,12 +8,12 @@ * 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. diff --git a/backends/plugins/elf/memory-manager.cpp b/backends/plugins/elf/memory-manager.cpp index 47b77a3ec2..5014718ae8 100644 --- a/backends/plugins/elf/memory-manager.cpp +++ b/backends/plugins/elf/memory-manager.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/backends/plugins/elf/memory-manager.h b/backends/plugins/elf/memory-manager.h index 032ecb2be5..12373556df 100644 --- a/backends/plugins/elf/memory-manager.h +++ b/backends/plugins/elf/memory-manager.h @@ -8,12 +8,12 @@ * 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. diff --git a/backends/plugins/elf/mips-loader.cpp b/backends/plugins/elf/mips-loader.cpp index 6c0e688783..47ae00a8ea 100644 --- a/backends/plugins/elf/mips-loader.cpp +++ b/backends/plugins/elf/mips-loader.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/backends/plugins/elf/mips-loader.h b/backends/plugins/elf/mips-loader.h index 1103e939ce..44b4468bb5 100644 --- a/backends/plugins/elf/mips-loader.h +++ b/backends/plugins/elf/mips-loader.h @@ -9,12 +9,12 @@ * 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. diff --git a/backends/plugins/elf/ppc-loader.cpp b/backends/plugins/elf/ppc-loader.cpp index 4c9290ad5e..dffd95993b 100644 --- a/backends/plugins/elf/ppc-loader.cpp +++ b/backends/plugins/elf/ppc-loader.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/backends/plugins/elf/ppc-loader.h b/backends/plugins/elf/ppc-loader.h index 8614476a92..e99c57117c 100644 --- a/backends/plugins/elf/ppc-loader.h +++ b/backends/plugins/elf/ppc-loader.h @@ -8,12 +8,12 @@ * 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. diff --git a/backends/plugins/elf/shorts-segment-manager.cpp b/backends/plugins/elf/shorts-segment-manager.cpp index 993a538f6c..4fa03cc79c 100644 --- a/backends/plugins/elf/shorts-segment-manager.cpp +++ b/backends/plugins/elf/shorts-segment-manager.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/backends/plugins/elf/shorts-segment-manager.h b/backends/plugins/elf/shorts-segment-manager.h index 34e233a2f4..0e9268a769 100644 --- a/backends/plugins/elf/shorts-segment-manager.h +++ b/backends/plugins/elf/shorts-segment-manager.h @@ -8,12 +8,12 @@ * 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. diff --git a/backends/plugins/elf/version.cpp b/backends/plugins/elf/version.cpp index 9f64870500..48e6acd58d 100644 --- a/backends/plugins/elf/version.cpp +++ b/backends/plugins/elf/version.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/backends/plugins/elf/version.h b/backends/plugins/elf/version.h index 1f6924028b..1e901bc162 100644 --- a/backends/plugins/elf/version.h +++ b/backends/plugins/elf/version.h @@ -17,6 +17,7 @@ * 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. + * */ #ifndef BACKENDS_PLUGINS_ELF_VERSION_H diff --git a/backends/saves/default/default-saves.cpp b/backends/saves/default/default-saves.cpp index 64e7e778b6..1b955a5021 100644 --- a/backends/saves/default/default-saves.cpp +++ b/backends/saves/default/default-saves.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/backends/saves/default/default-saves.h b/backends/saves/default/default-saves.h index c7fca279bc..81f45f96b8 100644 --- a/backends/saves/default/default-saves.h +++ b/backends/saves/default/default-saves.h @@ -8,12 +8,12 @@ * 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. diff --git a/backends/saves/recorder/recorder-saves.cpp b/backends/saves/recorder/recorder-saves.cpp index 49b4672913..e2cdc5c1c2 100644 --- a/backends/saves/recorder/recorder-saves.cpp +++ b/backends/saves/recorder/recorder-saves.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/backends/saves/recorder/recorder-saves.h b/backends/saves/recorder/recorder-saves.h index 692aeca329..b5bf02fc83 100644 --- a/backends/saves/recorder/recorder-saves.h +++ b/backends/saves/recorder/recorder-saves.h @@ -8,12 +8,12 @@ * 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. diff --git a/backends/saves/savefile.cpp b/backends/saves/savefile.cpp index edfdd9bc20..b04c53d832 100644 --- a/backends/saves/savefile.cpp +++ b/backends/saves/savefile.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/backends/timer/default/default-timer.cpp b/backends/timer/default/default-timer.cpp index ce93320f3d..8964d5a7c7 100644 --- a/backends/timer/default/default-timer.cpp +++ b/backends/timer/default/default-timer.cpp @@ -17,6 +17,7 @@ * 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 "common/scummsys.h" diff --git a/backends/timer/default/default-timer.h b/backends/timer/default/default-timer.h index 5884979da0..8b23fb744f 100644 --- a/backends/timer/default/default-timer.h +++ b/backends/timer/default/default-timer.h @@ -17,6 +17,7 @@ * 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. + * */ #ifndef BACKENDS_TIMER_DEFAULT_H diff --git a/backends/updates/macosx/macosx-updates.h b/backends/updates/macosx/macosx-updates.h index 8c9ac1f743..fd2d1f46f5 100644 --- a/backends/updates/macosx/macosx-updates.h +++ b/backends/updates/macosx/macosx-updates.h @@ -8,12 +8,12 @@ * 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. diff --git a/backends/updates/macosx/macosx-updates.mm b/backends/updates/macosx/macosx-updates.mm index f3b221cabf..a94f1c21fd 100644 --- a/backends/updates/macosx/macosx-updates.mm +++ b/backends/updates/macosx/macosx-updates.mm @@ -8,12 +8,12 @@ * 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. -- cgit v1.2.3 From f62153c7951b931619b3a6a35e22ba465bcfa6fa Mon Sep 17 00:00:00 2001 From: Johannes Schickel Date: Tue, 18 Feb 2014 02:34:18 +0100 Subject: BASE: Make GPL headers consistent in themselves. --- base/commandLine.cpp | 4 ++-- base/commandLine.h | 4 ++-- base/main.cpp | 4 ++-- base/main.h | 4 ++-- base/plugins.cpp | 4 ++-- base/plugins.h | 4 ++-- base/version.cpp | 4 ++-- base/version.h | 1 + 8 files changed, 15 insertions(+), 14 deletions(-) diff --git a/base/commandLine.cpp b/base/commandLine.cpp index a032f37a25..d883323976 100644 --- a/base/commandLine.cpp +++ b/base/commandLine.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/base/commandLine.h b/base/commandLine.h index 2798ab0934..cf04d74c1d 100644 --- a/base/commandLine.h +++ b/base/commandLine.h @@ -8,12 +8,12 @@ * 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. diff --git a/base/main.cpp b/base/main.cpp index abf75b7e7e..1fa75d5e9c 100644 --- a/base/main.cpp +++ b/base/main.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/base/main.h b/base/main.h index 3d75931454..431fcfbbed 100644 --- a/base/main.h +++ b/base/main.h @@ -8,12 +8,12 @@ * 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. diff --git a/base/plugins.cpp b/base/plugins.cpp index a232bb1427..39aaf2f73e 100644 --- a/base/plugins.cpp +++ b/base/plugins.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/base/plugins.h b/base/plugins.h index e0673ce636..6037fc2d71 100644 --- a/base/plugins.h +++ b/base/plugins.h @@ -8,12 +8,12 @@ * 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. diff --git a/base/version.cpp b/base/version.cpp index c55bd63323..999e90a275 100644 --- a/base/version.cpp +++ b/base/version.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/base/version.h b/base/version.h index a5c25c03f4..2e362b5c72 100644 --- a/base/version.h +++ b/base/version.h @@ -17,6 +17,7 @@ * 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. + * */ #ifndef BASE_VERSION_H -- cgit v1.2.3 From ed4065310535e48900d7fd5238292b8b055ef115 Mon Sep 17 00:00:00 2001 From: Johannes Schickel Date: Tue, 18 Feb 2014 02:34:18 +0100 Subject: CGE: Make GPL headers consistent in themselves. --- engines/cge/bitmap.cpp | 4 ++-- engines/cge/bitmap.h | 4 ++-- engines/cge/cge.cpp | 4 ++-- engines/cge/cge.h | 40 ++++++++++++++++++++-------------------- engines/cge/cge_main.cpp | 4 ++-- engines/cge/cge_main.h | 4 ++-- engines/cge/console.cpp | 4 ++-- engines/cge/console.h | 4 ++-- engines/cge/detection.cpp | 4 ++-- engines/cge/events.cpp | 4 ++-- engines/cge/events.h | 4 ++-- engines/cge/fileio.cpp | 4 ++-- engines/cge/fileio.h | 4 ++-- engines/cge/game.cpp | 4 ++-- engines/cge/game.h | 4 ++-- engines/cge/general.h | 4 ++-- engines/cge/snail.cpp | 4 ++-- engines/cge/snail.h | 4 ++-- engines/cge/sound.cpp | 4 ++-- engines/cge/sound.h | 4 ++-- engines/cge/talk.cpp | 4 ++-- engines/cge/talk.h | 4 ++-- engines/cge/text.cpp | 4 ++-- engines/cge/text.h | 4 ++-- engines/cge/vga13h.cpp | 4 ++-- engines/cge/vga13h.h | 4 ++-- engines/cge/vmenu.cpp | 4 ++-- engines/cge/vmenu.h | 4 ++-- engines/cge/walk.cpp | 4 ++-- engines/cge/walk.h | 4 ++-- 30 files changed, 78 insertions(+), 78 deletions(-) diff --git a/engines/cge/bitmap.cpp b/engines/cge/bitmap.cpp index 5acd111c97..04a5f5de0f 100644 --- a/engines/cge/bitmap.cpp +++ b/engines/cge/bitmap.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/cge/bitmap.h b/engines/cge/bitmap.h index 3de05ac2fd..2768271b23 100644 --- a/engines/cge/bitmap.h +++ b/engines/cge/bitmap.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/cge/cge.cpp b/engines/cge/cge.cpp index af7e91f7eb..8d8c4e4aba 100644 --- a/engines/cge/cge.cpp +++ b/engines/cge/cge.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/cge/cge.h b/engines/cge/cge.h index 61558c0989..8c5ae29e18 100644 --- a/engines/cge/cge.h +++ b/engines/cge/cge.h @@ -1,24 +1,24 @@ /* 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. -* -*/ + * + * 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. + * + */ #ifndef CGE_H #define CGE_H diff --git a/engines/cge/cge_main.cpp b/engines/cge/cge_main.cpp index b4015334c8..6440058a0c 100644 --- a/engines/cge/cge_main.cpp +++ b/engines/cge/cge_main.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/cge/cge_main.h b/engines/cge/cge_main.h index bde8306f36..e0438f7a39 100644 --- a/engines/cge/cge_main.h +++ b/engines/cge/cge_main.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/cge/console.cpp b/engines/cge/console.cpp index 105f241944..447875c06f 100644 --- a/engines/cge/console.cpp +++ b/engines/cge/console.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/cge/console.h b/engines/cge/console.h index ea36dfbaae..ad4471283f 100644 --- a/engines/cge/console.h +++ b/engines/cge/console.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/cge/detection.cpp b/engines/cge/detection.cpp index 7cd6d6eac2..4c2f81c1ae 100644 --- a/engines/cge/detection.cpp +++ b/engines/cge/detection.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/cge/events.cpp b/engines/cge/events.cpp index 89802058f4..24b3a270cf 100644 --- a/engines/cge/events.cpp +++ b/engines/cge/events.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/cge/events.h b/engines/cge/events.h index ab8d87212d..63f02b7475 100644 --- a/engines/cge/events.h +++ b/engines/cge/events.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/cge/fileio.cpp b/engines/cge/fileio.cpp index 8ee726c46d..4fcf9f8ad8 100644 --- a/engines/cge/fileio.cpp +++ b/engines/cge/fileio.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/cge/fileio.h b/engines/cge/fileio.h index 653aabae8f..803d6b2d58 100644 --- a/engines/cge/fileio.h +++ b/engines/cge/fileio.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/cge/game.cpp b/engines/cge/game.cpp index 851f6c59fb..49fe12f517 100644 --- a/engines/cge/game.cpp +++ b/engines/cge/game.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/cge/game.h b/engines/cge/game.h index 4d5acf7371..330eb20928 100644 --- a/engines/cge/game.h +++ b/engines/cge/game.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/cge/general.h b/engines/cge/general.h index 9e3fc7f249..ac7c6f4da5 100644 --- a/engines/cge/general.h +++ b/engines/cge/general.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/cge/snail.cpp b/engines/cge/snail.cpp index b9030efb4d..942a9c414a 100644 --- a/engines/cge/snail.cpp +++ b/engines/cge/snail.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/cge/snail.h b/engines/cge/snail.h index 6a9e717441..2f56768fed 100644 --- a/engines/cge/snail.h +++ b/engines/cge/snail.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/cge/sound.cpp b/engines/cge/sound.cpp index 892b826318..cc5e97b475 100644 --- a/engines/cge/sound.cpp +++ b/engines/cge/sound.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/cge/sound.h b/engines/cge/sound.h index a3f4d4d777..dc67f9408b 100644 --- a/engines/cge/sound.h +++ b/engines/cge/sound.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/cge/talk.cpp b/engines/cge/talk.cpp index f5d570b389..e377a72601 100644 --- a/engines/cge/talk.cpp +++ b/engines/cge/talk.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/cge/talk.h b/engines/cge/talk.h index 66e3d85214..2f89881b8d 100644 --- a/engines/cge/talk.h +++ b/engines/cge/talk.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/cge/text.cpp b/engines/cge/text.cpp index 08ff005e1e..7d8c89befa 100644 --- a/engines/cge/text.cpp +++ b/engines/cge/text.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/cge/text.h b/engines/cge/text.h index 13ce6bbfbb..9bd990f486 100644 --- a/engines/cge/text.h +++ b/engines/cge/text.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/cge/vga13h.cpp b/engines/cge/vga13h.cpp index b469c7197d..27b5d9a9bf 100644 --- a/engines/cge/vga13h.cpp +++ b/engines/cge/vga13h.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/cge/vga13h.h b/engines/cge/vga13h.h index a816f7756f..9511559df0 100644 --- a/engines/cge/vga13h.h +++ b/engines/cge/vga13h.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/cge/vmenu.cpp b/engines/cge/vmenu.cpp index 910e54d267..89f0039e02 100644 --- a/engines/cge/vmenu.cpp +++ b/engines/cge/vmenu.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/cge/vmenu.h b/engines/cge/vmenu.h index 928b48f11c..1cab57080d 100644 --- a/engines/cge/vmenu.h +++ b/engines/cge/vmenu.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/cge/walk.cpp b/engines/cge/walk.cpp index 22c06a17c1..1ab7574c0c 100644 --- a/engines/cge/walk.cpp +++ b/engines/cge/walk.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/cge/walk.h b/engines/cge/walk.h index 00ec080416..982c96dbaa 100644 --- a/engines/cge/walk.h +++ b/engines/cge/walk.h @@ -8,12 +8,12 @@ * 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. -- cgit v1.2.3 From 4ad7c5b40d87e249d36d26c1f4118dd759c0e753 Mon Sep 17 00:00:00 2001 From: Johannes Schickel Date: Tue, 18 Feb 2014 02:34:18 +0100 Subject: CINE: Make GPL headers consistent in themselves. --- engines/cine/anim.cpp | 4 ++-- engines/cine/anim.h | 4 ++-- engines/cine/bg.cpp | 4 ++-- engines/cine/bg.h | 4 ++-- engines/cine/bg_list.cpp | 4 ++-- engines/cine/bg_list.h | 4 ++-- engines/cine/cine.cpp | 4 ++-- engines/cine/cine.h | 4 ++-- engines/cine/console.cpp | 4 ++-- engines/cine/console.h | 4 ++-- engines/cine/detection.cpp | 4 ++-- engines/cine/detection_tables.h | 4 ++-- engines/cine/gfx.cpp | 4 ++-- engines/cine/gfx.h | 4 ++-- engines/cine/main_loop.cpp | 4 ++-- engines/cine/main_loop.h | 4 ++-- engines/cine/msg.cpp | 4 ++-- engines/cine/msg.h | 4 ++-- engines/cine/object.cpp | 4 ++-- engines/cine/object.h | 4 ++-- engines/cine/pal.cpp | 4 ++-- engines/cine/pal.h | 4 ++-- engines/cine/part.cpp | 4 ++-- engines/cine/part.h | 4 ++-- engines/cine/prc.cpp | 4 ++-- engines/cine/prc.h | 4 ++-- engines/cine/rel.cpp | 4 ++-- engines/cine/rel.h | 4 ++-- engines/cine/saveload.cpp | 4 ++-- engines/cine/saveload.h | 4 ++-- engines/cine/script.h | 4 ++-- engines/cine/script_fw.cpp | 4 ++-- engines/cine/script_os.cpp | 4 ++-- engines/cine/sound.cpp | 4 ++-- engines/cine/sound.h | 4 ++-- engines/cine/texte.cpp | 4 ++-- engines/cine/texte.h | 4 ++-- engines/cine/unpack.cpp | 4 ++-- engines/cine/unpack.h | 4 ++-- engines/cine/various.cpp | 4 ++-- engines/cine/various.h | 4 ++-- 41 files changed, 82 insertions(+), 82 deletions(-) diff --git a/engines/cine/anim.cpp b/engines/cine/anim.cpp index 075a59cfb6..f47b33bf16 100644 --- a/engines/cine/anim.cpp +++ b/engines/cine/anim.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/cine/anim.h b/engines/cine/anim.h index c5130aab82..7b4daafa88 100644 --- a/engines/cine/anim.h +++ b/engines/cine/anim.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/cine/bg.cpp b/engines/cine/bg.cpp index 2bad2183f5..3b80a9c037 100644 --- a/engines/cine/bg.cpp +++ b/engines/cine/bg.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/cine/bg.h b/engines/cine/bg.h index c464cd68be..ac884463cb 100644 --- a/engines/cine/bg.h +++ b/engines/cine/bg.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/cine/bg_list.cpp b/engines/cine/bg_list.cpp index 36ecf53dea..d2f05a3fbd 100644 --- a/engines/cine/bg_list.cpp +++ b/engines/cine/bg_list.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/cine/bg_list.h b/engines/cine/bg_list.h index c564b4b43f..3cfc33e274 100644 --- a/engines/cine/bg_list.h +++ b/engines/cine/bg_list.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/cine/cine.cpp b/engines/cine/cine.cpp index 63092a8ffd..797bc38938 100644 --- a/engines/cine/cine.cpp +++ b/engines/cine/cine.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/cine/cine.h b/engines/cine/cine.h index 47edf51c30..e620d2ffa5 100644 --- a/engines/cine/cine.h +++ b/engines/cine/cine.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/cine/console.cpp b/engines/cine/console.cpp index 46f0ea61d3..82197693d4 100644 --- a/engines/cine/console.cpp +++ b/engines/cine/console.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/cine/console.h b/engines/cine/console.h index 7c19621e5f..9b901982b9 100644 --- a/engines/cine/console.h +++ b/engines/cine/console.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/cine/detection.cpp b/engines/cine/detection.cpp index a3d36cfd97..4202bdc942 100644 --- a/engines/cine/detection.cpp +++ b/engines/cine/detection.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/cine/detection_tables.h b/engines/cine/detection_tables.h index 224ebe5de2..6069e3a99b 100644 --- a/engines/cine/detection_tables.h +++ b/engines/cine/detection_tables.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/cine/gfx.cpp b/engines/cine/gfx.cpp index 18a569b9c4..ab83594054 100644 --- a/engines/cine/gfx.cpp +++ b/engines/cine/gfx.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/cine/gfx.h b/engines/cine/gfx.h index 8b8843fd72..bfb7dbde1d 100644 --- a/engines/cine/gfx.h +++ b/engines/cine/gfx.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/cine/main_loop.cpp b/engines/cine/main_loop.cpp index 789e764df3..9ce683445f 100644 --- a/engines/cine/main_loop.cpp +++ b/engines/cine/main_loop.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/cine/main_loop.h b/engines/cine/main_loop.h index 4ab29149d8..98e8f8878a 100644 --- a/engines/cine/main_loop.h +++ b/engines/cine/main_loop.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/cine/msg.cpp b/engines/cine/msg.cpp index b84982b19e..5366da4a05 100644 --- a/engines/cine/msg.cpp +++ b/engines/cine/msg.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/cine/msg.h b/engines/cine/msg.h index 8d6291e2df..dce70c4295 100644 --- a/engines/cine/msg.h +++ b/engines/cine/msg.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/cine/object.cpp b/engines/cine/object.cpp index a75828abb1..f014843f9d 100644 --- a/engines/cine/object.cpp +++ b/engines/cine/object.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/cine/object.h b/engines/cine/object.h index 8331cf9f89..9c44162d28 100644 --- a/engines/cine/object.h +++ b/engines/cine/object.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/cine/pal.cpp b/engines/cine/pal.cpp index 10077ecdc9..a1d9b49133 100644 --- a/engines/cine/pal.cpp +++ b/engines/cine/pal.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/cine/pal.h b/engines/cine/pal.h index d41154aa0b..6dc56d8c19 100644 --- a/engines/cine/pal.h +++ b/engines/cine/pal.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/cine/part.cpp b/engines/cine/part.cpp index 7c0ba3af0a..c55972bf56 100644 --- a/engines/cine/part.cpp +++ b/engines/cine/part.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/cine/part.h b/engines/cine/part.h index 3d321f17e1..9886a4ab43 100644 --- a/engines/cine/part.h +++ b/engines/cine/part.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/cine/prc.cpp b/engines/cine/prc.cpp index ba9ba70110..6c78274a09 100644 --- a/engines/cine/prc.cpp +++ b/engines/cine/prc.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/cine/prc.h b/engines/cine/prc.h index ff0147d81e..262b129e1c 100644 --- a/engines/cine/prc.h +++ b/engines/cine/prc.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/cine/rel.cpp b/engines/cine/rel.cpp index 0af9a2bc1f..09b8499618 100644 --- a/engines/cine/rel.cpp +++ b/engines/cine/rel.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/cine/rel.h b/engines/cine/rel.h index d102791f6b..f32f6301c4 100644 --- a/engines/cine/rel.h +++ b/engines/cine/rel.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/cine/saveload.cpp b/engines/cine/saveload.cpp index 51d2c1f6be..c707c60695 100644 --- a/engines/cine/saveload.cpp +++ b/engines/cine/saveload.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/cine/saveload.h b/engines/cine/saveload.h index fd661904af..91c9452d60 100644 --- a/engines/cine/saveload.h +++ b/engines/cine/saveload.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/cine/script.h b/engines/cine/script.h index a07c8d6cfc..ec8278065f 100644 --- a/engines/cine/script.h +++ b/engines/cine/script.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/cine/script_fw.cpp b/engines/cine/script_fw.cpp index 2abe32f797..c02868d5b0 100644 --- a/engines/cine/script_fw.cpp +++ b/engines/cine/script_fw.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/cine/script_os.cpp b/engines/cine/script_os.cpp index 84bb484369..07ed295eab 100644 --- a/engines/cine/script_os.cpp +++ b/engines/cine/script_os.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/cine/sound.cpp b/engines/cine/sound.cpp index de6f91d8c3..e2d9d22e6f 100644 --- a/engines/cine/sound.cpp +++ b/engines/cine/sound.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/cine/sound.h b/engines/cine/sound.h index fdb183ad34..efb3811f9a 100644 --- a/engines/cine/sound.h +++ b/engines/cine/sound.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/cine/texte.cpp b/engines/cine/texte.cpp index 998075c6ce..8d904cb1f2 100644 --- a/engines/cine/texte.cpp +++ b/engines/cine/texte.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/cine/texte.h b/engines/cine/texte.h index 185dc53bfd..1e0944c312 100644 --- a/engines/cine/texte.h +++ b/engines/cine/texte.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/cine/unpack.cpp b/engines/cine/unpack.cpp index f68fbbc02c..6741b07118 100644 --- a/engines/cine/unpack.cpp +++ b/engines/cine/unpack.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/cine/unpack.h b/engines/cine/unpack.h index d22c4944a7..0fa58874df 100644 --- a/engines/cine/unpack.h +++ b/engines/cine/unpack.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/cine/various.cpp b/engines/cine/various.cpp index 99d93cfc09..aa1c22c165 100644 --- a/engines/cine/various.cpp +++ b/engines/cine/various.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/cine/various.h b/engines/cine/various.h index 813619816d..04f2d47743 100644 --- a/engines/cine/various.h +++ b/engines/cine/various.h @@ -8,12 +8,12 @@ * 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. -- cgit v1.2.3 From 854e22b38bb901d339d45a4d2a58786acd821c7c Mon Sep 17 00:00:00 2001 From: Johannes Schickel Date: Tue, 18 Feb 2014 02:34:18 +0100 Subject: COMMON: Make GPL headers consistent in themselves. --- common/EventDispatcher.cpp | 4 ++-- common/EventMapper.cpp | 4 ++-- common/algorithm.h | 1 + common/archive.cpp | 4 ++-- common/archive.h | 4 ++-- common/array.h | 1 + common/bitstream.h | 4 ++-- common/bufferedstream.h | 4 ++-- common/c++11-compat.h | 4 ++-- common/config-manager.cpp | 4 ++-- common/config-manager.h | 4 ++-- common/coroutines.cpp | 1 + common/coroutines.h | 1 + common/cosinetables.cpp | 4 ++-- common/cosinetables.h | 4 ++-- common/dcl.cpp | 4 ++-- common/dcl.h | 4 ++-- common/dct.cpp | 4 ++-- common/dct.h | 4 ++-- common/debug-channels.h | 1 + common/debug.cpp | 1 + common/debug.h | 1 + common/endian.h | 4 ++-- common/error.cpp | 4 ++-- common/error.h | 4 ++-- common/events.h | 4 ++-- common/fft.cpp | 4 ++-- common/fft.h | 4 ++-- common/file.cpp | 4 ++-- common/file.h | 4 ++-- common/forbidden.h | 4 ++-- common/frac.h | 4 ++-- common/fs.cpp | 1 + common/fs.h | 1 + common/func.h | 1 + common/gui_options.cpp | 4 ++-- common/gui_options.h | 4 ++-- common/hash-str.h | 1 + common/hashmap.cpp | 4 ++-- common/hashmap.h | 4 ++-- common/huffman.cpp | 4 ++-- common/huffman.h | 4 ++-- common/iff_container.cpp | 4 ++-- common/iff_container.h | 1 + common/ini-file.cpp | 4 ++-- common/ini-file.h | 4 ++-- common/installshield_cab.cpp | 4 ++-- common/installshield_cab.h | 4 ++-- common/keyboard.h | 4 ++-- common/language.cpp | 1 + common/language.h | 1 + common/list.h | 1 + common/list_intern.h | 1 + common/localization.cpp | 1 + common/localization.h | 1 + common/macresman.cpp | 4 ++-- common/macresman.h | 4 ++-- common/math.h | 4 ++-- common/md5.cpp | 1 + common/md5.h | 1 + common/memory.h | 1 + common/memorypool.cpp | 4 ++-- common/memorypool.h | 4 ++-- common/memstream.h | 4 ++-- common/mutex.cpp | 4 ++-- common/mutex.h | 4 ++-- common/noncopyable.h | 4 ++-- common/pack-end.h | 1 + common/pack-start.h | 1 + common/platform.cpp | 1 + common/platform.h | 1 + common/ptr.h | 1 + common/queue.h | 1 + common/random.cpp | 1 + common/random.h | 1 + common/rational.cpp | 1 + common/rational.h | 1 + common/rdft.cpp | 4 ++-- common/rdft.h | 4 ++-- common/recorderfile.cpp | 4 ++-- common/recorderfile.h | 4 ++-- common/rect.h | 4 ++-- common/rendermode.cpp | 4 ++-- common/rendermode.h | 4 ++-- common/savefile.h | 4 ++-- common/scummsys.h | 4 ++-- common/serializer.h | 4 ++-- common/sinetables.cpp | 4 ++-- common/sinetables.h | 4 ++-- common/singleton.h | 4 ++-- common/stack.h | 1 + common/str-array.h | 4 ++-- common/str.cpp | 1 + common/str.h | 1 + common/stream.cpp | 4 ++-- common/stream.h | 4 ++-- common/substream.h | 4 ++-- common/system.cpp | 4 ++-- common/system.h | 4 ++-- common/textconsole.cpp | 1 + common/textconsole.h | 1 + common/timer.h | 1 + common/tokenizer.cpp | 1 + common/tokenizer.h | 1 + common/translation.cpp | 1 + common/translation.h | 1 + common/types.h | 1 + common/unzip.cpp | 1 + common/unzip.h | 1 + common/updates.h | 4 ++-- common/ustr.cpp | 1 + common/ustr.h | 1 + common/util.cpp | 1 + common/util.h | 1 + common/winexe.cpp | 4 ++-- common/winexe.h | 4 ++-- common/winexe_ne.cpp | 4 ++-- common/winexe_ne.h | 4 ++-- common/winexe_pe.cpp | 4 ++-- common/winexe_pe.h | 4 ++-- common/zlib.cpp | 4 ++-- common/zlib.h | 4 ++-- 122 files changed, 196 insertions(+), 148 deletions(-) diff --git a/common/EventDispatcher.cpp b/common/EventDispatcher.cpp index e60c1aa7ff..2650d795b7 100644 --- a/common/EventDispatcher.cpp +++ b/common/EventDispatcher.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/common/EventMapper.cpp b/common/EventMapper.cpp index 5f6771a71d..84774742c6 100644 --- a/common/EventMapper.cpp +++ b/common/EventMapper.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/common/algorithm.h b/common/algorithm.h index 7a0eed89ce..6453073ae5 100644 --- a/common/algorithm.h +++ b/common/algorithm.h @@ -17,6 +17,7 @@ * 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. + * */ #ifndef COMMON_ALGORITHM_H diff --git a/common/archive.cpp b/common/archive.cpp index 57ebeb2ca6..36d420561f 100644 --- a/common/archive.cpp +++ b/common/archive.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/common/archive.h b/common/archive.h index 2f9736f032..9293b937af 100644 --- a/common/archive.h +++ b/common/archive.h @@ -8,12 +8,12 @@ * 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. diff --git a/common/array.h b/common/array.h index ca89523a0b..f240a9c2f5 100644 --- a/common/array.h +++ b/common/array.h @@ -17,6 +17,7 @@ * 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. + * */ #ifndef COMMON_ARRAY_H diff --git a/common/bitstream.h b/common/bitstream.h index c8c8c11fca..0fe16b5beb 100644 --- a/common/bitstream.h +++ b/common/bitstream.h @@ -8,12 +8,12 @@ * 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. diff --git a/common/bufferedstream.h b/common/bufferedstream.h index 6c859c98fe..bbd25722a8 100644 --- a/common/bufferedstream.h +++ b/common/bufferedstream.h @@ -8,12 +8,12 @@ * 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. diff --git a/common/c++11-compat.h b/common/c++11-compat.h index f963ba9ac8..14e0642821 100644 --- a/common/c++11-compat.h +++ b/common/c++11-compat.h @@ -8,12 +8,12 @@ * 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. diff --git a/common/config-manager.cpp b/common/config-manager.cpp index aaa812bc94..feb3ddcf56 100644 --- a/common/config-manager.cpp +++ b/common/config-manager.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/common/config-manager.h b/common/config-manager.h index 6bf56749c5..14f911f69d 100644 --- a/common/config-manager.h +++ b/common/config-manager.h @@ -8,12 +8,12 @@ * 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. diff --git a/common/coroutines.cpp b/common/coroutines.cpp index 849b881177..248777febd 100644 --- a/common/coroutines.cpp +++ b/common/coroutines.cpp @@ -17,6 +17,7 @@ * 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 "common/coroutines.h" diff --git a/common/coroutines.h b/common/coroutines.h index 30b9bb6a99..4fef1a0d4e 100644 --- a/common/coroutines.h +++ b/common/coroutines.h @@ -17,6 +17,7 @@ * 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. + * */ #ifndef COMMON_COROUTINES_H diff --git a/common/cosinetables.cpp b/common/cosinetables.cpp index 3b245750fa..4bee1f24ea 100644 --- a/common/cosinetables.cpp +++ b/common/cosinetables.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/common/cosinetables.h b/common/cosinetables.h index f5c95ec003..0ff01e40d6 100644 --- a/common/cosinetables.h +++ b/common/cosinetables.h @@ -8,12 +8,12 @@ * 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. diff --git a/common/dcl.cpp b/common/dcl.cpp index 87ec0ad915..bb4e283de5 100644 --- a/common/dcl.cpp +++ b/common/dcl.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/common/dcl.h b/common/dcl.h index 78ffa631ed..0e96f74c07 100644 --- a/common/dcl.h +++ b/common/dcl.h @@ -8,12 +8,12 @@ * 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. diff --git a/common/dct.cpp b/common/dct.cpp index 38b4fbcff2..dea75f4c45 100644 --- a/common/dct.cpp +++ b/common/dct.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/common/dct.h b/common/dct.h index 085423ddff..882856a8a9 100644 --- a/common/dct.h +++ b/common/dct.h @@ -8,12 +8,12 @@ * 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. diff --git a/common/debug-channels.h b/common/debug-channels.h index 40d1ea667e..83f416a3b8 100644 --- a/common/debug-channels.h +++ b/common/debug-channels.h @@ -17,6 +17,7 @@ * 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. + * */ #ifndef COMMON_DEBUG_CHANNELS_H diff --git a/common/debug.cpp b/common/debug.cpp index ba5479c34d..58cc0287a8 100644 --- a/common/debug.cpp +++ b/common/debug.cpp @@ -17,6 +17,7 @@ * 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 "common/debug.h" diff --git a/common/debug.h b/common/debug.h index 859f3c41b3..b6e0679a12 100644 --- a/common/debug.h +++ b/common/debug.h @@ -17,6 +17,7 @@ * 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. + * */ #ifndef COMMON_DEBUG_H diff --git a/common/endian.h b/common/endian.h index 759513efef..529e7f5ac0 100644 --- a/common/endian.h +++ b/common/endian.h @@ -8,12 +8,12 @@ * 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. diff --git a/common/error.cpp b/common/error.cpp index 78178f8e27..53cd8cec55 100644 --- a/common/error.cpp +++ b/common/error.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/common/error.h b/common/error.h index 7043862eea..3e0a7b556f 100644 --- a/common/error.h +++ b/common/error.h @@ -8,12 +8,12 @@ * 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. diff --git a/common/events.h b/common/events.h index 9029a4096a..488d586b3f 100644 --- a/common/events.h +++ b/common/events.h @@ -8,12 +8,12 @@ * 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. diff --git a/common/fft.cpp b/common/fft.cpp index a9c58ead9b..ac7386083f 100644 --- a/common/fft.cpp +++ b/common/fft.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/common/fft.h b/common/fft.h index ef5f6e95ad..6eb72c3f84 100644 --- a/common/fft.h +++ b/common/fft.h @@ -8,12 +8,12 @@ * 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. diff --git a/common/file.cpp b/common/file.cpp index 7ad6bc2e81..16e6a0df1a 100644 --- a/common/file.cpp +++ b/common/file.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/common/file.h b/common/file.h index b6319dfc3c..29f12b255d 100644 --- a/common/file.h +++ b/common/file.h @@ -8,12 +8,12 @@ * 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. diff --git a/common/forbidden.h b/common/forbidden.h index 9050114442..d6fd9c42fe 100644 --- a/common/forbidden.h +++ b/common/forbidden.h @@ -8,12 +8,12 @@ * 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. diff --git a/common/frac.h b/common/frac.h index d402878825..d71d31645b 100644 --- a/common/frac.h +++ b/common/frac.h @@ -8,12 +8,12 @@ * 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. diff --git a/common/fs.cpp b/common/fs.cpp index 19a01074ea..3a7026b1cc 100644 --- a/common/fs.cpp +++ b/common/fs.cpp @@ -17,6 +17,7 @@ * 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 "common/system.h" diff --git a/common/fs.h b/common/fs.h index fadd672bb1..b5b88ba8cb 100644 --- a/common/fs.h +++ b/common/fs.h @@ -17,6 +17,7 @@ * 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. + * */ #ifndef COMMON_FS_H diff --git a/common/func.h b/common/func.h index a4a80e5406..b58474b2f3 100644 --- a/common/func.h +++ b/common/func.h @@ -17,6 +17,7 @@ * 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. + * */ #ifndef COMMON_FUNC_H diff --git a/common/gui_options.cpp b/common/gui_options.cpp index e463232276..d79bf1b82f 100644 --- a/common/gui_options.cpp +++ b/common/gui_options.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/common/gui_options.h b/common/gui_options.h index 447fff43ed..78e9cc7199 100644 --- a/common/gui_options.h +++ b/common/gui_options.h @@ -8,12 +8,12 @@ * 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. diff --git a/common/hash-str.h b/common/hash-str.h index 190e6922eb..82af6cca93 100644 --- a/common/hash-str.h +++ b/common/hash-str.h @@ -17,6 +17,7 @@ * 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. + * */ #ifndef COMMON_HASH_STR_H diff --git a/common/hashmap.cpp b/common/hashmap.cpp index e505d1dd25..99840993ce 100644 --- a/common/hashmap.cpp +++ b/common/hashmap.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/common/hashmap.h b/common/hashmap.h index 42509d67e5..d7ba100571 100644 --- a/common/hashmap.h +++ b/common/hashmap.h @@ -8,12 +8,12 @@ * 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. diff --git a/common/huffman.cpp b/common/huffman.cpp index a8ebe4142a..afb4fa00b6 100644 --- a/common/huffman.cpp +++ b/common/huffman.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/common/huffman.h b/common/huffman.h index 3b23340b2e..5ba7deca87 100644 --- a/common/huffman.h +++ b/common/huffman.h @@ -8,12 +8,12 @@ * 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. diff --git a/common/iff_container.cpp b/common/iff_container.cpp index 9c6e5f124a..1eee7ad71e 100644 --- a/common/iff_container.cpp +++ b/common/iff_container.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/common/iff_container.h b/common/iff_container.h index a730930b2c..e684f253b2 100644 --- a/common/iff_container.h +++ b/common/iff_container.h @@ -17,6 +17,7 @@ * 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. + * */ #ifndef COMMON_IFF_CONTAINER_H diff --git a/common/ini-file.cpp b/common/ini-file.cpp index 9de0b38e93..7fa17da76c 100644 --- a/common/ini-file.cpp +++ b/common/ini-file.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/common/ini-file.h b/common/ini-file.h index a1505fe468..f27a8b9425 100644 --- a/common/ini-file.h +++ b/common/ini-file.h @@ -8,12 +8,12 @@ * 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. diff --git a/common/installshield_cab.cpp b/common/installshield_cab.cpp index e25d14741a..e9e8586185 100644 --- a/common/installshield_cab.cpp +++ b/common/installshield_cab.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/common/installshield_cab.h b/common/installshield_cab.h index 7c4f294578..d3c584815e 100644 --- a/common/installshield_cab.h +++ b/common/installshield_cab.h @@ -8,12 +8,12 @@ * 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. diff --git a/common/keyboard.h b/common/keyboard.h index 3262a15c3f..e6e1f5948b 100644 --- a/common/keyboard.h +++ b/common/keyboard.h @@ -8,12 +8,12 @@ * 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. diff --git a/common/language.cpp b/common/language.cpp index 6704a52373..97c515b45a 100644 --- a/common/language.cpp +++ b/common/language.cpp @@ -17,6 +17,7 @@ * 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 "common/language.h" diff --git a/common/language.h b/common/language.h index f18815509b..ac3c7267ab 100644 --- a/common/language.h +++ b/common/language.h @@ -17,6 +17,7 @@ * 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. + * */ #ifndef COMMON_LANGUAGE_H diff --git a/common/list.h b/common/list.h index 9792042239..1bb4a2a5df 100644 --- a/common/list.h +++ b/common/list.h @@ -17,6 +17,7 @@ * 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. + * */ #ifndef COMMON_LIST_H diff --git a/common/list_intern.h b/common/list_intern.h index fef32fbe1e..b4f347561b 100644 --- a/common/list_intern.h +++ b/common/list_intern.h @@ -17,6 +17,7 @@ * 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. + * */ #ifndef COMMON_LIST_INTERN_H diff --git a/common/localization.cpp b/common/localization.cpp index afd31b8d22..d08583d955 100644 --- a/common/localization.cpp +++ b/common/localization.cpp @@ -17,6 +17,7 @@ * 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 "common/localization.h" diff --git a/common/localization.h b/common/localization.h index e908485b99..096c5e95f5 100644 --- a/common/localization.h +++ b/common/localization.h @@ -17,6 +17,7 @@ * 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. + * */ #ifndef COMMON_LOCALIZATION_H diff --git a/common/macresman.cpp b/common/macresman.cpp index ba44caafd9..d83bde8fd8 100644 --- a/common/macresman.cpp +++ b/common/macresman.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/common/macresman.h b/common/macresman.h index cca6592f21..373545795e 100644 --- a/common/macresman.h +++ b/common/macresman.h @@ -8,12 +8,12 @@ * 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. diff --git a/common/math.h b/common/math.h index ba137101e4..04a0ba14fc 100644 --- a/common/math.h +++ b/common/math.h @@ -8,12 +8,12 @@ * 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. diff --git a/common/md5.cpp b/common/md5.cpp index 52fe8b8f8d..6a6eeaf048 100644 --- a/common/md5.cpp +++ b/common/md5.cpp @@ -17,6 +17,7 @@ * 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. + * */ /* diff --git a/common/md5.h b/common/md5.h index d1be8c8e39..640326efe7 100644 --- a/common/md5.h +++ b/common/md5.h @@ -17,6 +17,7 @@ * 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. + * */ #ifndef COMMON_MD5_H diff --git a/common/memory.h b/common/memory.h index 0e5a97c20b..c32af42ba5 100644 --- a/common/memory.h +++ b/common/memory.h @@ -17,6 +17,7 @@ * 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. + * */ #ifndef COMMON_MEMORY_H diff --git a/common/memorypool.cpp b/common/memorypool.cpp index e3742eeae0..1a9bfe2e29 100644 --- a/common/memorypool.cpp +++ b/common/memorypool.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/common/memorypool.h b/common/memorypool.h index 1cd725b99d..b84012232c 100644 --- a/common/memorypool.h +++ b/common/memorypool.h @@ -8,12 +8,12 @@ * 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. diff --git a/common/memstream.h b/common/memstream.h index 7fa6500753..5ecc553454 100644 --- a/common/memstream.h +++ b/common/memstream.h @@ -8,12 +8,12 @@ * 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. diff --git a/common/mutex.cpp b/common/mutex.cpp index f912e79591..a7b34eb334 100644 --- a/common/mutex.cpp +++ b/common/mutex.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/common/mutex.h b/common/mutex.h index 26f69a3996..6e467cfddf 100644 --- a/common/mutex.h +++ b/common/mutex.h @@ -8,12 +8,12 @@ * 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. diff --git a/common/noncopyable.h b/common/noncopyable.h index 0cbe41388a..24021f42a6 100644 --- a/common/noncopyable.h +++ b/common/noncopyable.h @@ -8,12 +8,12 @@ * 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. diff --git a/common/pack-end.h b/common/pack-end.h index 04633b7635..5fed5e577b 100644 --- a/common/pack-end.h +++ b/common/pack-end.h @@ -17,6 +17,7 @@ * 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. + * */ #if defined(SCUMMVM_USE_PRAGMA_PACK) diff --git a/common/pack-start.h b/common/pack-start.h index 631a6529d3..cfb8968a57 100644 --- a/common/pack-start.h +++ b/common/pack-start.h @@ -17,6 +17,7 @@ * 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. + * */ #if defined(SCUMMVM_USE_PRAGMA_PACK) diff --git a/common/platform.cpp b/common/platform.cpp index 20ed970385..636c1ddb52 100644 --- a/common/platform.cpp +++ b/common/platform.cpp @@ -17,6 +17,7 @@ * 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 "common/platform.h" diff --git a/common/platform.h b/common/platform.h index ac8772fa94..17a332b851 100644 --- a/common/platform.h +++ b/common/platform.h @@ -17,6 +17,7 @@ * 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. + * */ #ifndef COMMON_PLATFORM_H diff --git a/common/ptr.h b/common/ptr.h index f734ec133f..ebdd77cf3c 100644 --- a/common/ptr.h +++ b/common/ptr.h @@ -17,6 +17,7 @@ * 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. + * */ #ifndef COMMON_PTR_H diff --git a/common/queue.h b/common/queue.h index 3a2d6aad4b..ee14d5b364 100644 --- a/common/queue.h +++ b/common/queue.h @@ -17,6 +17,7 @@ * 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. + * */ #ifndef COMMON_QUEUE_H diff --git a/common/random.cpp b/common/random.cpp index de1269b485..86bde77e82 100644 --- a/common/random.cpp +++ b/common/random.cpp @@ -17,6 +17,7 @@ * 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 "common/random.h" diff --git a/common/random.h b/common/random.h index c8aec58946..48cde26dc5 100644 --- a/common/random.h +++ b/common/random.h @@ -17,6 +17,7 @@ * 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. + * */ #ifndef COMMON_RANDOM_H diff --git a/common/rational.cpp b/common/rational.cpp index f5495da3a9..90e44576a7 100644 --- a/common/rational.cpp +++ b/common/rational.cpp @@ -17,6 +17,7 @@ * 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 "common/debug.h" diff --git a/common/rational.h b/common/rational.h index 8270d2194e..55fb361774 100644 --- a/common/rational.h +++ b/common/rational.h @@ -17,6 +17,7 @@ * 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. + * */ #ifndef COMMON_RATIONAL_H diff --git a/common/rdft.cpp b/common/rdft.cpp index bfd6818fbd..d30fdd55a1 100644 --- a/common/rdft.cpp +++ b/common/rdft.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/common/rdft.h b/common/rdft.h index 76e95c363a..ae06c72ef8 100644 --- a/common/rdft.h +++ b/common/rdft.h @@ -8,12 +8,12 @@ * 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. diff --git a/common/recorderfile.cpp b/common/recorderfile.cpp index 7c438cbf69..71f8272b44 100644 --- a/common/recorderfile.cpp +++ b/common/recorderfile.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/common/recorderfile.h b/common/recorderfile.h index 1c95e5a915..d34a442604 100644 --- a/common/recorderfile.h +++ b/common/recorderfile.h @@ -8,12 +8,12 @@ * 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. diff --git a/common/rect.h b/common/rect.h index 5790cf7c0f..32424d3e6a 100644 --- a/common/rect.h +++ b/common/rect.h @@ -8,12 +8,12 @@ * 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. diff --git a/common/rendermode.cpp b/common/rendermode.cpp index e8f3146630..6115666399 100644 --- a/common/rendermode.cpp +++ b/common/rendermode.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/common/rendermode.h b/common/rendermode.h index 945c4e7d9d..59fa860c6c 100644 --- a/common/rendermode.h +++ b/common/rendermode.h @@ -8,12 +8,12 @@ * 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. diff --git a/common/savefile.h b/common/savefile.h index 19536da54f..b0c4d31f53 100644 --- a/common/savefile.h +++ b/common/savefile.h @@ -8,12 +8,12 @@ * 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. diff --git a/common/scummsys.h b/common/scummsys.h index 48dffc53a6..1342b0cde6 100644 --- a/common/scummsys.h +++ b/common/scummsys.h @@ -8,12 +8,12 @@ * 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. diff --git a/common/serializer.h b/common/serializer.h index 4d97c9e930..ef8fca9906 100644 --- a/common/serializer.h +++ b/common/serializer.h @@ -8,12 +8,12 @@ * 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. diff --git a/common/sinetables.cpp b/common/sinetables.cpp index 7338166d39..c01705e3dc 100644 --- a/common/sinetables.cpp +++ b/common/sinetables.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/common/sinetables.h b/common/sinetables.h index 3489663661..67225c0bcb 100644 --- a/common/sinetables.h +++ b/common/sinetables.h @@ -8,12 +8,12 @@ * 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. diff --git a/common/singleton.h b/common/singleton.h index 6e47f119ba..13bdb0c3a3 100644 --- a/common/singleton.h +++ b/common/singleton.h @@ -8,12 +8,12 @@ * 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. diff --git a/common/stack.h b/common/stack.h index bc5de9ac7f..cba3fb124d 100644 --- a/common/stack.h +++ b/common/stack.h @@ -17,6 +17,7 @@ * 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. + * */ #ifndef COMMON_STACK_H diff --git a/common/str-array.h b/common/str-array.h index 57c76bf305..7a52a314e1 100644 --- a/common/str-array.h +++ b/common/str-array.h @@ -8,12 +8,12 @@ * 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. diff --git a/common/str.cpp b/common/str.cpp index 4a10792373..faf84d722f 100644 --- a/common/str.cpp +++ b/common/str.cpp @@ -17,6 +17,7 @@ * 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 "common/hash-str.h" diff --git a/common/str.h b/common/str.h index ea2db1d1d6..a2451f2f69 100644 --- a/common/str.h +++ b/common/str.h @@ -17,6 +17,7 @@ * 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. + * */ #ifndef COMMON_STRING_H diff --git a/common/stream.cpp b/common/stream.cpp index f49603c882..45060b9db5 100644 --- a/common/stream.cpp +++ b/common/stream.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/common/stream.h b/common/stream.h index 33ebc95a86..238844a860 100644 --- a/common/stream.h +++ b/common/stream.h @@ -8,12 +8,12 @@ * 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. diff --git a/common/substream.h b/common/substream.h index 01686529aa..e3161c0a53 100644 --- a/common/substream.h +++ b/common/substream.h @@ -8,12 +8,12 @@ * 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. diff --git a/common/system.cpp b/common/system.cpp index d86b5b2b81..53f28cafa1 100644 --- a/common/system.cpp +++ b/common/system.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/common/system.h b/common/system.h index 81c4bdf34e..8896554f76 100644 --- a/common/system.h +++ b/common/system.h @@ -8,12 +8,12 @@ * 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. diff --git a/common/textconsole.cpp b/common/textconsole.cpp index a721c121d5..5c69e42379 100644 --- a/common/textconsole.cpp +++ b/common/textconsole.cpp @@ -17,6 +17,7 @@ * 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. + * */ #define FORBIDDEN_SYMBOL_EXCEPTION_exit diff --git a/common/textconsole.h b/common/textconsole.h index 12f15e5e4b..e7654dd7e5 100644 --- a/common/textconsole.h +++ b/common/textconsole.h @@ -17,6 +17,7 @@ * 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. + * */ #ifndef COMMON_CONSOLE_H diff --git a/common/timer.h b/common/timer.h index 3db32df76a..2db163327d 100644 --- a/common/timer.h +++ b/common/timer.h @@ -17,6 +17,7 @@ * 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. + * */ #ifndef COMMON_TIMER_H diff --git a/common/tokenizer.cpp b/common/tokenizer.cpp index 46ba7a8d8b..2547f88168 100644 --- a/common/tokenizer.cpp +++ b/common/tokenizer.cpp @@ -17,6 +17,7 @@ * 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 "common/tokenizer.h" diff --git a/common/tokenizer.h b/common/tokenizer.h index 8485094997..dd831f3431 100644 --- a/common/tokenizer.h +++ b/common/tokenizer.h @@ -17,6 +17,7 @@ * 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. + * */ #ifndef COMMON_TOKENIZER_H diff --git a/common/translation.cpp b/common/translation.cpp index 2bc31c617b..01665bf876 100644 --- a/common/translation.cpp +++ b/common/translation.cpp @@ -17,6 +17,7 @@ * 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. + * */ #if defined(WIN32) diff --git a/common/translation.h b/common/translation.h index 77e2fdfc07..e316507fdb 100644 --- a/common/translation.h +++ b/common/translation.h @@ -17,6 +17,7 @@ * 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. + * */ #ifndef COMMON_TRANSLATION_H diff --git a/common/types.h b/common/types.h index ab86f3afc2..dd5408daa5 100644 --- a/common/types.h +++ b/common/types.h @@ -17,6 +17,7 @@ * 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. + * */ #ifndef COMMON_TYPES_H diff --git a/common/unzip.cpp b/common/unzip.cpp index 69b9ff67cb..716c8c2d5e 100644 --- a/common/unzip.cpp +++ b/common/unzip.cpp @@ -17,6 +17,7 @@ * 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. + * */ /* unzip.c -- IO on .zip files using zlib diff --git a/common/unzip.h b/common/unzip.h index 2e0dae831a..f249c5db19 100644 --- a/common/unzip.h +++ b/common/unzip.h @@ -17,6 +17,7 @@ * 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. + * */ #ifndef COMMON_UNZIP_H diff --git a/common/updates.h b/common/updates.h index 0012808a17..4c30987c38 100644 --- a/common/updates.h +++ b/common/updates.h @@ -8,12 +8,12 @@ * 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. diff --git a/common/ustr.cpp b/common/ustr.cpp index fbc831cb56..35b5502a6d 100644 --- a/common/ustr.cpp +++ b/common/ustr.cpp @@ -17,6 +17,7 @@ * 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 "common/ustr.h" diff --git a/common/ustr.h b/common/ustr.h index ab9dac70de..0059a1eb96 100644 --- a/common/ustr.h +++ b/common/ustr.h @@ -17,6 +17,7 @@ * 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. + * */ #ifndef COMMON_USTR_H diff --git a/common/util.cpp b/common/util.cpp index 3d40fffff5..8e0a2fd61f 100644 --- a/common/util.cpp +++ b/common/util.cpp @@ -17,6 +17,7 @@ * 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. + * */ #define FORBIDDEN_SYMBOL_EXCEPTION_isalnum diff --git a/common/util.h b/common/util.h index 392ced1ffe..1c0e45662e 100644 --- a/common/util.h +++ b/common/util.h @@ -17,6 +17,7 @@ * 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. + * */ #ifndef COMMON_UTIL_H diff --git a/common/winexe.cpp b/common/winexe.cpp index 877ab6baa1..fc389f6ea6 100644 --- a/common/winexe.cpp +++ b/common/winexe.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/common/winexe.h b/common/winexe.h index bec156d2e7..cfadbf882d 100644 --- a/common/winexe.h +++ b/common/winexe.h @@ -8,12 +8,12 @@ * 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. diff --git a/common/winexe_ne.cpp b/common/winexe_ne.cpp index 8ab7e707bb..ccf1fd17e5 100644 --- a/common/winexe_ne.cpp +++ b/common/winexe_ne.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/common/winexe_ne.h b/common/winexe_ne.h index 3f50b5cc54..d6698e6cf0 100644 --- a/common/winexe_ne.h +++ b/common/winexe_ne.h @@ -8,12 +8,12 @@ * 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. diff --git a/common/winexe_pe.cpp b/common/winexe_pe.cpp index b3c45ffe73..969ea5d923 100644 --- a/common/winexe_pe.cpp +++ b/common/winexe_pe.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/common/winexe_pe.h b/common/winexe_pe.h index b38f2f78f5..b163bd15d2 100644 --- a/common/winexe_pe.h +++ b/common/winexe_pe.h @@ -8,12 +8,12 @@ * 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. diff --git a/common/zlib.cpp b/common/zlib.cpp index f1a298a9f1..448e1eadd5 100644 --- a/common/zlib.cpp +++ b/common/zlib.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/common/zlib.h b/common/zlib.h index d940f3f3a1..e2936a334a 100644 --- a/common/zlib.h +++ b/common/zlib.h @@ -8,12 +8,12 @@ * 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. -- cgit v1.2.3 From 8ff496591e34743c323a925027ea653ee596850b Mon Sep 17 00:00:00 2001 From: Johannes Schickel Date: Tue, 18 Feb 2014 02:34:18 +0100 Subject: COMPOSER: Make GPL headers consistent in themselves. --- engines/composer/composer.cpp | 4 ++-- engines/composer/composer.h | 4 ++-- engines/composer/console.cpp | 4 ++-- engines/composer/console.h | 4 ++-- engines/composer/detection.cpp | 4 ++-- engines/composer/graphics.cpp | 4 ++-- engines/composer/graphics.h | 4 ++-- engines/composer/resource.cpp | 4 ++-- engines/composer/resource.h | 4 ++-- engines/composer/scripting.cpp | 4 ++-- 10 files changed, 20 insertions(+), 20 deletions(-) diff --git a/engines/composer/composer.cpp b/engines/composer/composer.cpp index 10906480fe..471a29030b 100644 --- a/engines/composer/composer.cpp +++ b/engines/composer/composer.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/composer/composer.h b/engines/composer/composer.h index f945df8bb1..47398fe36d 100644 --- a/engines/composer/composer.h +++ b/engines/composer/composer.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/composer/console.cpp b/engines/composer/console.cpp index 8c68b3205b..d4676b0de5 100644 --- a/engines/composer/console.cpp +++ b/engines/composer/console.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/composer/console.h b/engines/composer/console.h index 0567d8bc6f..fc2583611f 100644 --- a/engines/composer/console.h +++ b/engines/composer/console.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/composer/detection.cpp b/engines/composer/detection.cpp index 219067978d..036c1e88d8 100644 --- a/engines/composer/detection.cpp +++ b/engines/composer/detection.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/composer/graphics.cpp b/engines/composer/graphics.cpp index caf3ba3a40..87694636d8 100644 --- a/engines/composer/graphics.cpp +++ b/engines/composer/graphics.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/composer/graphics.h b/engines/composer/graphics.h index e9d82920ba..a8f37ddf60 100644 --- a/engines/composer/graphics.h +++ b/engines/composer/graphics.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/composer/resource.cpp b/engines/composer/resource.cpp index fa29cc886b..d867f734a9 100644 --- a/engines/composer/resource.cpp +++ b/engines/composer/resource.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/composer/resource.h b/engines/composer/resource.h index e0052cd868..b624da1776 100644 --- a/engines/composer/resource.h +++ b/engines/composer/resource.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/composer/scripting.cpp b/engines/composer/scripting.cpp index 3a201c841a..94ca2c1bc8 100644 --- a/engines/composer/scripting.cpp +++ b/engines/composer/scripting.cpp @@ -8,12 +8,12 @@ * 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. -- cgit v1.2.3 From 00b6dfe9cfc97b30de5a81a638df08e02666c68c Mon Sep 17 00:00:00 2001 From: Johannes Schickel Date: Tue, 18 Feb 2014 02:34:18 +0100 Subject: CRUISE: Make GPL headers consistent in themselves. --- engines/cruise/actor.cpp | 4 ++-- engines/cruise/actor.h | 4 ++-- engines/cruise/background.cpp | 4 ++-- engines/cruise/background.h | 4 ++-- engines/cruise/backgroundIncrust.cpp | 4 ++-- engines/cruise/backgroundIncrust.h | 4 ++-- engines/cruise/cell.cpp | 4 ++-- engines/cruise/cell.h | 4 ++-- engines/cruise/cruise.cpp | 4 ++-- engines/cruise/cruise.h | 4 ++-- engines/cruise/cruise_main.cpp | 4 ++-- engines/cruise/cruise_main.h | 4 ++-- engines/cruise/ctp.cpp | 4 ++-- engines/cruise/ctp.h | 4 ++-- engines/cruise/dataLoader.cpp | 4 ++-- engines/cruise/dataLoader.h | 4 ++-- engines/cruise/debugger.cpp | 4 ++-- engines/cruise/debugger.h | 4 ++-- engines/cruise/decompiler.cpp | 4 ++-- engines/cruise/delphine-unpack.cpp | 4 ++-- engines/cruise/detection.cpp | 4 ++-- engines/cruise/font.cpp | 4 ++-- engines/cruise/font.h | 4 ++-- engines/cruise/function.cpp | 4 ++-- engines/cruise/function.h | 4 ++-- engines/cruise/gfxModule.cpp | 4 ++-- engines/cruise/gfxModule.h | 4 ++-- engines/cruise/linker.cpp | 4 ++-- engines/cruise/linker.h | 4 ++-- engines/cruise/mainDraw.cpp | 4 ++-- engines/cruise/mainDraw.h | 4 ++-- engines/cruise/menu.cpp | 4 ++-- engines/cruise/menu.h | 4 ++-- engines/cruise/mouse.cpp | 4 ++-- engines/cruise/mouse.h | 4 ++-- engines/cruise/object.cpp | 4 ++-- engines/cruise/object.h | 4 ++-- engines/cruise/overlay.cpp | 4 ++-- engines/cruise/overlay.h | 4 ++-- engines/cruise/perso.cpp | 4 ++-- engines/cruise/perso.h | 4 ++-- engines/cruise/polys.cpp | 4 ++-- engines/cruise/polys.h | 4 ++-- engines/cruise/saveload.cpp | 4 ++-- engines/cruise/saveload.h | 4 ++-- engines/cruise/script.cpp | 4 ++-- engines/cruise/script.h | 4 ++-- engines/cruise/sound.cpp | 4 ++-- engines/cruise/sound.h | 4 ++-- engines/cruise/stack.cpp | 4 ++-- engines/cruise/stack.h | 4 ++-- engines/cruise/staticres.cpp | 4 ++-- engines/cruise/staticres.h | 4 ++-- engines/cruise/various.cpp | 4 ++-- engines/cruise/various.h | 4 ++-- engines/cruise/vars.cpp | 4 ++-- engines/cruise/vars.h | 4 ++-- engines/cruise/volume.cpp | 4 ++-- engines/cruise/volume.h | 4 ++-- 59 files changed, 118 insertions(+), 118 deletions(-) diff --git a/engines/cruise/actor.cpp b/engines/cruise/actor.cpp index 94f620ed7b..ab3b581825 100644 --- a/engines/cruise/actor.cpp +++ b/engines/cruise/actor.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/cruise/actor.h b/engines/cruise/actor.h index b409bf7b7f..5d8cce1f99 100644 --- a/engines/cruise/actor.h +++ b/engines/cruise/actor.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/cruise/background.cpp b/engines/cruise/background.cpp index 9da5413013..a59db8ef95 100644 --- a/engines/cruise/background.cpp +++ b/engines/cruise/background.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/cruise/background.h b/engines/cruise/background.h index 7a8f2d5494..ea9e7bba87 100644 --- a/engines/cruise/background.h +++ b/engines/cruise/background.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/cruise/backgroundIncrust.cpp b/engines/cruise/backgroundIncrust.cpp index ddda8dee45..3286cd6ebf 100644 --- a/engines/cruise/backgroundIncrust.cpp +++ b/engines/cruise/backgroundIncrust.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/cruise/backgroundIncrust.h b/engines/cruise/backgroundIncrust.h index 567df0a51e..f29e38edcf 100644 --- a/engines/cruise/backgroundIncrust.h +++ b/engines/cruise/backgroundIncrust.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/cruise/cell.cpp b/engines/cruise/cell.cpp index f0fb580ec1..b7cef41764 100644 --- a/engines/cruise/cell.cpp +++ b/engines/cruise/cell.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/cruise/cell.h b/engines/cruise/cell.h index 3620a0c945..7865f02fe1 100644 --- a/engines/cruise/cell.h +++ b/engines/cruise/cell.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/cruise/cruise.cpp b/engines/cruise/cruise.cpp index 2147419886..6dcb0b1432 100644 --- a/engines/cruise/cruise.cpp +++ b/engines/cruise/cruise.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/cruise/cruise.h b/engines/cruise/cruise.h index 3e49e77770..c81e5dd5ec 100644 --- a/engines/cruise/cruise.h +++ b/engines/cruise/cruise.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/cruise/cruise_main.cpp b/engines/cruise/cruise_main.cpp index 911041c1a4..9227eca8cb 100644 --- a/engines/cruise/cruise_main.cpp +++ b/engines/cruise/cruise_main.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/cruise/cruise_main.h b/engines/cruise/cruise_main.h index 9afae4336b..caaaad2068 100644 --- a/engines/cruise/cruise_main.h +++ b/engines/cruise/cruise_main.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/cruise/ctp.cpp b/engines/cruise/ctp.cpp index a7b6faec1c..b5151f3f7a 100644 --- a/engines/cruise/ctp.cpp +++ b/engines/cruise/ctp.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/cruise/ctp.h b/engines/cruise/ctp.h index 340832e6fb..93f7466c52 100644 --- a/engines/cruise/ctp.h +++ b/engines/cruise/ctp.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/cruise/dataLoader.cpp b/engines/cruise/dataLoader.cpp index b2a319bb85..e38343c215 100644 --- a/engines/cruise/dataLoader.cpp +++ b/engines/cruise/dataLoader.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/cruise/dataLoader.h b/engines/cruise/dataLoader.h index 96188c7982..cf19145beb 100644 --- a/engines/cruise/dataLoader.h +++ b/engines/cruise/dataLoader.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/cruise/debugger.cpp b/engines/cruise/debugger.cpp index a74f600ddd..4ef66ee11e 100644 --- a/engines/cruise/debugger.cpp +++ b/engines/cruise/debugger.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/cruise/debugger.h b/engines/cruise/debugger.h index 3cef6b371d..a79773f37e 100644 --- a/engines/cruise/debugger.h +++ b/engines/cruise/debugger.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/cruise/decompiler.cpp b/engines/cruise/decompiler.cpp index 74a78201bc..0c83bd6968 100644 --- a/engines/cruise/decompiler.cpp +++ b/engines/cruise/decompiler.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/cruise/delphine-unpack.cpp b/engines/cruise/delphine-unpack.cpp index ee7dbd3c5e..84140fb896 100644 --- a/engines/cruise/delphine-unpack.cpp +++ b/engines/cruise/delphine-unpack.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/cruise/detection.cpp b/engines/cruise/detection.cpp index a86c6e7931..4ca88a08d6 100644 --- a/engines/cruise/detection.cpp +++ b/engines/cruise/detection.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/cruise/font.cpp b/engines/cruise/font.cpp index 2fd86a11b7..c63be30f77 100644 --- a/engines/cruise/font.cpp +++ b/engines/cruise/font.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/cruise/font.h b/engines/cruise/font.h index 679faf194d..12745c5b59 100644 --- a/engines/cruise/font.h +++ b/engines/cruise/font.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/cruise/function.cpp b/engines/cruise/function.cpp index 610465e962..e727ac73cb 100644 --- a/engines/cruise/function.cpp +++ b/engines/cruise/function.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/cruise/function.h b/engines/cruise/function.h index 4fba8d3c63..39e7e22506 100644 --- a/engines/cruise/function.h +++ b/engines/cruise/function.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/cruise/gfxModule.cpp b/engines/cruise/gfxModule.cpp index aa2dbc5370..39385459d9 100644 --- a/engines/cruise/gfxModule.cpp +++ b/engines/cruise/gfxModule.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/cruise/gfxModule.h b/engines/cruise/gfxModule.h index ce58c65d34..a394ccfe97 100644 --- a/engines/cruise/gfxModule.h +++ b/engines/cruise/gfxModule.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/cruise/linker.cpp b/engines/cruise/linker.cpp index e8ef415fe7..817345d06e 100644 --- a/engines/cruise/linker.cpp +++ b/engines/cruise/linker.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/cruise/linker.h b/engines/cruise/linker.h index 25f4a5cc2a..85f65348f4 100644 --- a/engines/cruise/linker.h +++ b/engines/cruise/linker.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/cruise/mainDraw.cpp b/engines/cruise/mainDraw.cpp index 24f65500db..0863a2a84e 100644 --- a/engines/cruise/mainDraw.cpp +++ b/engines/cruise/mainDraw.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/cruise/mainDraw.h b/engines/cruise/mainDraw.h index bb21f515af..bb71b9759b 100644 --- a/engines/cruise/mainDraw.h +++ b/engines/cruise/mainDraw.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/cruise/menu.cpp b/engines/cruise/menu.cpp index 512259f7d7..8f162ee1ad 100644 --- a/engines/cruise/menu.cpp +++ b/engines/cruise/menu.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/cruise/menu.h b/engines/cruise/menu.h index d605903cdc..c6f607506e 100644 --- a/engines/cruise/menu.h +++ b/engines/cruise/menu.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/cruise/mouse.cpp b/engines/cruise/mouse.cpp index 6248bd01d3..9e01044bb0 100644 --- a/engines/cruise/mouse.cpp +++ b/engines/cruise/mouse.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/cruise/mouse.h b/engines/cruise/mouse.h index a5f5c19073..4407718168 100644 --- a/engines/cruise/mouse.h +++ b/engines/cruise/mouse.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/cruise/object.cpp b/engines/cruise/object.cpp index b4a3489c1d..3e61ff4d7d 100644 --- a/engines/cruise/object.cpp +++ b/engines/cruise/object.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/cruise/object.h b/engines/cruise/object.h index cbe5872a9d..954bed0687 100644 --- a/engines/cruise/object.h +++ b/engines/cruise/object.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/cruise/overlay.cpp b/engines/cruise/overlay.cpp index d618ab5599..61df716742 100644 --- a/engines/cruise/overlay.cpp +++ b/engines/cruise/overlay.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/cruise/overlay.h b/engines/cruise/overlay.h index 3b69f2acef..cfba75dd7a 100644 --- a/engines/cruise/overlay.h +++ b/engines/cruise/overlay.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/cruise/perso.cpp b/engines/cruise/perso.cpp index 85c9b1614f..3a599bca22 100644 --- a/engines/cruise/perso.cpp +++ b/engines/cruise/perso.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/cruise/perso.h b/engines/cruise/perso.h index e0ca479dff..6d8120793e 100644 --- a/engines/cruise/perso.h +++ b/engines/cruise/perso.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/cruise/polys.cpp b/engines/cruise/polys.cpp index 964540f802..bec03a06a6 100644 --- a/engines/cruise/polys.cpp +++ b/engines/cruise/polys.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/cruise/polys.h b/engines/cruise/polys.h index 8505f791a6..6add9c6ded 100644 --- a/engines/cruise/polys.h +++ b/engines/cruise/polys.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/cruise/saveload.cpp b/engines/cruise/saveload.cpp index 26bea0441c..a991c29583 100644 --- a/engines/cruise/saveload.cpp +++ b/engines/cruise/saveload.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/cruise/saveload.h b/engines/cruise/saveload.h index 695913f46f..6fb1f4b545 100644 --- a/engines/cruise/saveload.h +++ b/engines/cruise/saveload.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/cruise/script.cpp b/engines/cruise/script.cpp index d753d938bd..65da84b9ce 100644 --- a/engines/cruise/script.cpp +++ b/engines/cruise/script.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/cruise/script.h b/engines/cruise/script.h index cba4f580f8..15f29e8921 100644 --- a/engines/cruise/script.h +++ b/engines/cruise/script.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/cruise/sound.cpp b/engines/cruise/sound.cpp index 21d9a75297..86146e3189 100644 --- a/engines/cruise/sound.cpp +++ b/engines/cruise/sound.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/cruise/sound.h b/engines/cruise/sound.h index c1975dc579..57035e2b11 100644 --- a/engines/cruise/sound.h +++ b/engines/cruise/sound.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/cruise/stack.cpp b/engines/cruise/stack.cpp index 985fe8d7fd..e4ecf72133 100644 --- a/engines/cruise/stack.cpp +++ b/engines/cruise/stack.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/cruise/stack.h b/engines/cruise/stack.h index fe2d594c9e..1c96f430d9 100644 --- a/engines/cruise/stack.h +++ b/engines/cruise/stack.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/cruise/staticres.cpp b/engines/cruise/staticres.cpp index 08ff4d7548..e9ba941ae0 100644 --- a/engines/cruise/staticres.cpp +++ b/engines/cruise/staticres.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/cruise/staticres.h b/engines/cruise/staticres.h index acf0b640be..3691260078 100644 --- a/engines/cruise/staticres.h +++ b/engines/cruise/staticres.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/cruise/various.cpp b/engines/cruise/various.cpp index 90b072b478..a7d701f9a1 100644 --- a/engines/cruise/various.cpp +++ b/engines/cruise/various.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/cruise/various.h b/engines/cruise/various.h index b59593961d..c2ff1e22bb 100644 --- a/engines/cruise/various.h +++ b/engines/cruise/various.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/cruise/vars.cpp b/engines/cruise/vars.cpp index f381358356..f7c74c8e6d 100644 --- a/engines/cruise/vars.cpp +++ b/engines/cruise/vars.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/cruise/vars.h b/engines/cruise/vars.h index ccbf149610..8bfcdc57d4 100644 --- a/engines/cruise/vars.h +++ b/engines/cruise/vars.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/cruise/volume.cpp b/engines/cruise/volume.cpp index 9fb6842882..5b125a5142 100644 --- a/engines/cruise/volume.cpp +++ b/engines/cruise/volume.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/cruise/volume.h b/engines/cruise/volume.h index 80e1f10db2..0caa894744 100644 --- a/engines/cruise/volume.h +++ b/engines/cruise/volume.h @@ -8,12 +8,12 @@ * 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. -- cgit v1.2.3 From b4e55313528a0d8d22a8e0b820d1bbea7ad9f9b4 Mon Sep 17 00:00:00 2001 From: Johannes Schickel Date: Tue, 18 Feb 2014 02:34:19 +0100 Subject: DC: Make GPL headers consistent in themselves. --- backends/platform/dc/DCLauncherDialog.h | 4 ++-- backends/platform/dc/audio.cpp | 4 ++-- backends/platform/dc/dc-fs.cpp | 1 + backends/platform/dc/dc.h | 4 ++-- backends/platform/dc/dcloader.cpp | 4 ++-- backends/platform/dc/dcloader.h | 4 ++-- backends/platform/dc/dcmain.cpp | 4 ++-- backends/platform/dc/display.cpp | 4 ++-- backends/platform/dc/icon.cpp | 4 ++-- backends/platform/dc/icon.h | 4 ++-- backends/platform/dc/input.cpp | 4 ++-- backends/platform/dc/label.cpp | 4 ++-- backends/platform/dc/label.h | 4 ++-- backends/platform/dc/plugins.cpp | 4 ++-- backends/platform/dc/portdefs.h | 4 ++-- backends/platform/dc/selector.cpp | 4 ++-- backends/platform/dc/softkbd.cpp | 4 ++-- backends/platform/dc/softkbd.h | 4 ++-- backends/platform/dc/time.cpp | 4 ++-- backends/platform/dc/vmsave.cpp | 4 ++-- 20 files changed, 39 insertions(+), 38 deletions(-) diff --git a/backends/platform/dc/DCLauncherDialog.h b/backends/platform/dc/DCLauncherDialog.h index 519524222f..5131482cb6 100644 --- a/backends/platform/dc/DCLauncherDialog.h +++ b/backends/platform/dc/DCLauncherDialog.h @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/dc/audio.cpp b/backends/platform/dc/audio.cpp index 4f01531486..4759ddb799 100644 --- a/backends/platform/dc/audio.cpp +++ b/backends/platform/dc/audio.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/dc/dc-fs.cpp b/backends/platform/dc/dc-fs.cpp index f850c9d26f..77fe4143dd 100644 --- a/backends/platform/dc/dc-fs.cpp +++ b/backends/platform/dc/dc-fs.cpp @@ -17,6 +17,7 @@ * 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. + * */ #define FORBIDDEN_SYMBOL_ALLOW_ALL diff --git a/backends/platform/dc/dc.h b/backends/platform/dc/dc.h index ba60c7740e..d8ab549c3a 100644 --- a/backends/platform/dc/dc.h +++ b/backends/platform/dc/dc.h @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/dc/dcloader.cpp b/backends/platform/dc/dcloader.cpp index 56193c282a..bc5e3a733b 100644 --- a/backends/platform/dc/dcloader.cpp +++ b/backends/platform/dc/dcloader.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/dc/dcloader.h b/backends/platform/dc/dcloader.h index 1782467acd..074ae7aa29 100644 --- a/backends/platform/dc/dcloader.h +++ b/backends/platform/dc/dcloader.h @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/dc/dcmain.cpp b/backends/platform/dc/dcmain.cpp index 36a22c4b5c..eede796991 100644 --- a/backends/platform/dc/dcmain.cpp +++ b/backends/platform/dc/dcmain.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/dc/display.cpp b/backends/platform/dc/display.cpp index 54ee6000ed..1785c3c416 100644 --- a/backends/platform/dc/display.cpp +++ b/backends/platform/dc/display.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/dc/icon.cpp b/backends/platform/dc/icon.cpp index 28edf27f4f..ba621883a9 100644 --- a/backends/platform/dc/icon.cpp +++ b/backends/platform/dc/icon.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/dc/icon.h b/backends/platform/dc/icon.h index e412e67a84..253455fe30 100644 --- a/backends/platform/dc/icon.h +++ b/backends/platform/dc/icon.h @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/dc/input.cpp b/backends/platform/dc/input.cpp index 5c6adf6c7c..a69bb3b78f 100644 --- a/backends/platform/dc/input.cpp +++ b/backends/platform/dc/input.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/dc/label.cpp b/backends/platform/dc/label.cpp index 5db031958f..46bff0db11 100644 --- a/backends/platform/dc/label.cpp +++ b/backends/platform/dc/label.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/dc/label.h b/backends/platform/dc/label.h index 6b96175d29..2a7e7b35ea 100644 --- a/backends/platform/dc/label.h +++ b/backends/platform/dc/label.h @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/dc/plugins.cpp b/backends/platform/dc/plugins.cpp index 2942a4f155..93689157f3 100644 --- a/backends/platform/dc/plugins.cpp +++ b/backends/platform/dc/plugins.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/dc/portdefs.h b/backends/platform/dc/portdefs.h index 1f5c8f566a..191bbea09c 100644 --- a/backends/platform/dc/portdefs.h +++ b/backends/platform/dc/portdefs.h @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/dc/selector.cpp b/backends/platform/dc/selector.cpp index 4026c7dde6..6717ca494b 100644 --- a/backends/platform/dc/selector.cpp +++ b/backends/platform/dc/selector.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/dc/softkbd.cpp b/backends/platform/dc/softkbd.cpp index 076f826d1c..19f7b409a1 100644 --- a/backends/platform/dc/softkbd.cpp +++ b/backends/platform/dc/softkbd.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/dc/softkbd.h b/backends/platform/dc/softkbd.h index 27826c2744..c7c4357a44 100644 --- a/backends/platform/dc/softkbd.h +++ b/backends/platform/dc/softkbd.h @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/dc/time.cpp b/backends/platform/dc/time.cpp index 1e5f44ec85..ada53bf755 100644 --- a/backends/platform/dc/time.cpp +++ b/backends/platform/dc/time.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/dc/vmsave.cpp b/backends/platform/dc/vmsave.cpp index ba3b787942..5f5cdff24f 100644 --- a/backends/platform/dc/vmsave.cpp +++ b/backends/platform/dc/vmsave.cpp @@ -8,12 +8,12 @@ * 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. -- cgit v1.2.3 From e96900aec3e24cc05bb64d4c38606acc0fa4d8b9 Mon Sep 17 00:00:00 2001 From: Johannes Schickel Date: Tue, 18 Feb 2014 02:34:19 +0100 Subject: DEVTOOLS: Make GPL headers consistent in themselves. --- devtools/convbdf.cpp | 4 ++-- devtools/create_drascula/create_drascula.cpp | 4 ++-- devtools/create_drascula/create_drascula.h | 4 ++-- devtools/create_drascula/staticdata.h | 4 ++-- devtools/create_hugo/create_hugo.cpp | 4 ++-- devtools/create_hugo/create_hugo.h | 4 ++-- devtools/create_hugo/staticdata.h | 4 ++-- devtools/create_hugo/staticdisplay.h | 4 ++-- devtools/create_hugo/staticengine.h | 4 ++-- devtools/create_hugo/staticfont.h | 4 ++-- devtools/create_hugo/staticintro.h | 4 ++-- devtools/create_hugo/staticmouse.h | 4 ++-- devtools/create_hugo/staticparser.h | 4 ++-- devtools/create_hugo/staticutil.h | 4 ++-- devtools/create_kyradat/create_kyradat.cpp | 4 ++-- devtools/create_kyradat/create_kyradat.h | 4 ++-- devtools/create_kyradat/extract.cpp | 4 ++-- devtools/create_kyradat/extract.h | 4 ++-- devtools/create_kyradat/games.cpp | 4 ++-- devtools/create_kyradat/md5.cpp | 4 ++-- devtools/create_kyradat/md5.h | 4 ++-- devtools/create_kyradat/pak.cpp | 4 ++-- devtools/create_kyradat/pak.h | 4 ++-- devtools/create_kyradat/search.cpp | 4 ++-- devtools/create_kyradat/search.h | 4 ++-- devtools/create_kyradat/tables.cpp | 4 ++-- devtools/create_kyradat/tables.h | 4 ++-- devtools/create_kyradat/util.cpp | 4 ++-- devtools/create_kyradat/util.h | 4 ++-- devtools/create_lure/create_lure_dat.cpp | 4 ++-- devtools/create_lure/create_lure_dat.h | 4 ++-- devtools/create_lure/process_actions.cpp | 4 ++-- devtools/create_mortdat/create_mortdat.cpp | 4 ++-- devtools/create_mortdat/create_mortdat.h | 4 ++-- devtools/create_mortdat/enginetext.h | 4 ++-- devtools/create_mortdat/gametext.h | 4 ++-- devtools/create_mortdat/menudata.h | 4 ++-- devtools/create_neverhood/create_neverhood.cpp | 4 ++-- devtools/create_neverhood/create_neverhood.h | 4 ++-- devtools/create_neverhood/md5.cpp | 4 ++-- devtools/create_neverhood/md5.h | 4 ++-- devtools/create_neverhood/tables.h | 4 ++-- devtools/create_neverhood/util.cpp | 4 ++-- devtools/create_neverhood/util.h | 4 ++-- devtools/create_teenagent/create_teenagent.cpp | 4 ++-- devtools/create_teenagent/static_tables.h | 4 ++-- devtools/create_teenagent/util.cpp | 4 ++-- devtools/create_teenagent/util.h | 4 ++-- devtools/create_tony/create_tony.cpp | 4 ++-- devtools/create_tony/create_tony.h | 4 ++-- devtools/create_tony/staticdata.h | 4 ++-- devtools/create_toon/create_toon.cpp | 4 ++-- devtools/create_toon/create_toon.h | 4 ++-- devtools/create_toon/staticdata.h | 4 ++-- devtools/create_translations/create_translations.cpp | 4 ++-- devtools/create_translations/create_translations.h | 4 ++-- devtools/create_translations/po_parser.cpp | 4 ++-- devtools/create_translations/po_parser.h | 4 ++-- devtools/extract_mort/extract_mort.cpp | 4 ++-- devtools/sci/musicplayer.cpp | 4 ++-- devtools/sci/scidisasm.cpp | 4 ++-- devtools/sci/scipack.cpp | 4 ++-- devtools/skycpt/AsciiCptCompile.cpp | 4 ++-- devtools/skycpt/KmpSearch.cpp | 4 ++-- devtools/skycpt/KmpSearch.h | 4 ++-- devtools/skycpt/TextFile.cpp | 4 ++-- devtools/skycpt/TextFile.h | 4 ++-- devtools/skycpt/cptcompiler.cpp | 4 ++-- devtools/skycpt/cpthelp.cpp | 4 ++-- devtools/skycpt/cpthelp.h | 4 ++-- devtools/skycpt/idFinder.cpp | 4 ++-- devtools/skycpt/stdafx.cpp | 4 ++-- devtools/skycpt/stdafx.h | 4 ++-- 73 files changed, 146 insertions(+), 146 deletions(-) diff --git a/devtools/convbdf.cpp b/devtools/convbdf.cpp index 69728eb9fd..21c8af8234 100644 --- a/devtools/convbdf.cpp +++ b/devtools/convbdf.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/devtools/create_drascula/create_drascula.cpp b/devtools/create_drascula/create_drascula.cpp index 20b60ab05f..2ed7e4fb4c 100644 --- a/devtools/create_drascula/create_drascula.cpp +++ b/devtools/create_drascula/create_drascula.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/devtools/create_drascula/create_drascula.h b/devtools/create_drascula/create_drascula.h index 754050c172..82abdceacb 100644 --- a/devtools/create_drascula/create_drascula.h +++ b/devtools/create_drascula/create_drascula.h @@ -8,12 +8,12 @@ * 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. diff --git a/devtools/create_drascula/staticdata.h b/devtools/create_drascula/staticdata.h index e0e4f9da10..7cafe58703 100644 --- a/devtools/create_drascula/staticdata.h +++ b/devtools/create_drascula/staticdata.h @@ -8,12 +8,12 @@ * 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. diff --git a/devtools/create_hugo/create_hugo.cpp b/devtools/create_hugo/create_hugo.cpp index 63b57f9c8f..780f85278d 100644 --- a/devtools/create_hugo/create_hugo.cpp +++ b/devtools/create_hugo/create_hugo.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/devtools/create_hugo/create_hugo.h b/devtools/create_hugo/create_hugo.h index e176dbb195..4f759feba6 100644 --- a/devtools/create_hugo/create_hugo.h +++ b/devtools/create_hugo/create_hugo.h @@ -8,12 +8,12 @@ * 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. diff --git a/devtools/create_hugo/staticdata.h b/devtools/create_hugo/staticdata.h index 0ead2109d0..6e9c614943 100644 --- a/devtools/create_hugo/staticdata.h +++ b/devtools/create_hugo/staticdata.h @@ -8,12 +8,12 @@ * 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. diff --git a/devtools/create_hugo/staticdisplay.h b/devtools/create_hugo/staticdisplay.h index 99d155dc13..0b5c10786c 100644 --- a/devtools/create_hugo/staticdisplay.h +++ b/devtools/create_hugo/staticdisplay.h @@ -8,12 +8,12 @@ * 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. diff --git a/devtools/create_hugo/staticengine.h b/devtools/create_hugo/staticengine.h index 0091182c3c..7a45b23f8d 100644 --- a/devtools/create_hugo/staticengine.h +++ b/devtools/create_hugo/staticengine.h @@ -8,12 +8,12 @@ * 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. diff --git a/devtools/create_hugo/staticfont.h b/devtools/create_hugo/staticfont.h index 9fa87d194a..f474f5be51 100644 --- a/devtools/create_hugo/staticfont.h +++ b/devtools/create_hugo/staticfont.h @@ -8,12 +8,12 @@ * 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. diff --git a/devtools/create_hugo/staticintro.h b/devtools/create_hugo/staticintro.h index d9880b707c..fbf727c2a1 100644 --- a/devtools/create_hugo/staticintro.h +++ b/devtools/create_hugo/staticintro.h @@ -8,12 +8,12 @@ * 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. diff --git a/devtools/create_hugo/staticmouse.h b/devtools/create_hugo/staticmouse.h index b4d784210b..e51e9f54a0 100644 --- a/devtools/create_hugo/staticmouse.h +++ b/devtools/create_hugo/staticmouse.h @@ -8,12 +8,12 @@ * 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. diff --git a/devtools/create_hugo/staticparser.h b/devtools/create_hugo/staticparser.h index a2e28c1790..857dd3e960 100644 --- a/devtools/create_hugo/staticparser.h +++ b/devtools/create_hugo/staticparser.h @@ -8,12 +8,12 @@ * 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. diff --git a/devtools/create_hugo/staticutil.h b/devtools/create_hugo/staticutil.h index 9003788ec9..ac2a824315 100644 --- a/devtools/create_hugo/staticutil.h +++ b/devtools/create_hugo/staticutil.h @@ -8,12 +8,12 @@ * 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. diff --git a/devtools/create_kyradat/create_kyradat.cpp b/devtools/create_kyradat/create_kyradat.cpp index 01cde620e7..8e9b48c439 100644 --- a/devtools/create_kyradat/create_kyradat.cpp +++ b/devtools/create_kyradat/create_kyradat.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/devtools/create_kyradat/create_kyradat.h b/devtools/create_kyradat/create_kyradat.h index 6d5059cabe..5f19ff50cd 100644 --- a/devtools/create_kyradat/create_kyradat.h +++ b/devtools/create_kyradat/create_kyradat.h @@ -8,12 +8,12 @@ * 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. diff --git a/devtools/create_kyradat/extract.cpp b/devtools/create_kyradat/extract.cpp index b2f520d0d3..570c30cfdb 100644 --- a/devtools/create_kyradat/extract.cpp +++ b/devtools/create_kyradat/extract.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/devtools/create_kyradat/extract.h b/devtools/create_kyradat/extract.h index 4af9a146f4..4445e596bc 100644 --- a/devtools/create_kyradat/extract.h +++ b/devtools/create_kyradat/extract.h @@ -8,12 +8,12 @@ * 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. diff --git a/devtools/create_kyradat/games.cpp b/devtools/create_kyradat/games.cpp index e2ad4f7263..bfdd333d45 100644 --- a/devtools/create_kyradat/games.cpp +++ b/devtools/create_kyradat/games.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/devtools/create_kyradat/md5.cpp b/devtools/create_kyradat/md5.cpp index 9f90122981..705275f73b 100644 --- a/devtools/create_kyradat/md5.cpp +++ b/devtools/create_kyradat/md5.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/devtools/create_kyradat/md5.h b/devtools/create_kyradat/md5.h index 3746521002..8ec85a73fa 100644 --- a/devtools/create_kyradat/md5.h +++ b/devtools/create_kyradat/md5.h @@ -8,12 +8,12 @@ * 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. diff --git a/devtools/create_kyradat/pak.cpp b/devtools/create_kyradat/pak.cpp index 0d085f563c..52e1a2fc3b 100644 --- a/devtools/create_kyradat/pak.cpp +++ b/devtools/create_kyradat/pak.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/devtools/create_kyradat/pak.h b/devtools/create_kyradat/pak.h index cf415676dd..8e14bba42d 100644 --- a/devtools/create_kyradat/pak.h +++ b/devtools/create_kyradat/pak.h @@ -8,12 +8,12 @@ * 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. diff --git a/devtools/create_kyradat/search.cpp b/devtools/create_kyradat/search.cpp index b861ff0f5a..4a32ea9df0 100644 --- a/devtools/create_kyradat/search.cpp +++ b/devtools/create_kyradat/search.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/devtools/create_kyradat/search.h b/devtools/create_kyradat/search.h index a9e8ee2726..1f121f69b4 100644 --- a/devtools/create_kyradat/search.h +++ b/devtools/create_kyradat/search.h @@ -8,12 +8,12 @@ * 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. diff --git a/devtools/create_kyradat/tables.cpp b/devtools/create_kyradat/tables.cpp index 15f8240e79..0a236a503b 100644 --- a/devtools/create_kyradat/tables.cpp +++ b/devtools/create_kyradat/tables.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/devtools/create_kyradat/tables.h b/devtools/create_kyradat/tables.h index 833c70a4fe..e481e1c17e 100644 --- a/devtools/create_kyradat/tables.h +++ b/devtools/create_kyradat/tables.h @@ -8,12 +8,12 @@ * 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. diff --git a/devtools/create_kyradat/util.cpp b/devtools/create_kyradat/util.cpp index 5ce8237b85..dd88d4ed85 100644 --- a/devtools/create_kyradat/util.cpp +++ b/devtools/create_kyradat/util.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/devtools/create_kyradat/util.h b/devtools/create_kyradat/util.h index a2783cca71..666386ea93 100644 --- a/devtools/create_kyradat/util.h +++ b/devtools/create_kyradat/util.h @@ -8,12 +8,12 @@ * 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. diff --git a/devtools/create_lure/create_lure_dat.cpp b/devtools/create_lure/create_lure_dat.cpp index c53a6bf81d..eca18b3d2f 100644 --- a/devtools/create_lure/create_lure_dat.cpp +++ b/devtools/create_lure/create_lure_dat.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/devtools/create_lure/create_lure_dat.h b/devtools/create_lure/create_lure_dat.h index ad49878d43..ed713dd4f3 100644 --- a/devtools/create_lure/create_lure_dat.h +++ b/devtools/create_lure/create_lure_dat.h @@ -8,12 +8,12 @@ * 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. diff --git a/devtools/create_lure/process_actions.cpp b/devtools/create_lure/process_actions.cpp index d1ddbf03f2..20d8e50aa5 100644 --- a/devtools/create_lure/process_actions.cpp +++ b/devtools/create_lure/process_actions.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/devtools/create_mortdat/create_mortdat.cpp b/devtools/create_mortdat/create_mortdat.cpp index 693e277b91..f6b2884005 100644 --- a/devtools/create_mortdat/create_mortdat.cpp +++ b/devtools/create_mortdat/create_mortdat.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/devtools/create_mortdat/create_mortdat.h b/devtools/create_mortdat/create_mortdat.h index e5007ae653..a4ce3999f4 100644 --- a/devtools/create_mortdat/create_mortdat.h +++ b/devtools/create_mortdat/create_mortdat.h @@ -8,12 +8,12 @@ * 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. diff --git a/devtools/create_mortdat/enginetext.h b/devtools/create_mortdat/enginetext.h index e1c40f898b..a257ddd5a2 100644 --- a/devtools/create_mortdat/enginetext.h +++ b/devtools/create_mortdat/enginetext.h @@ -8,12 +8,12 @@ * 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. diff --git a/devtools/create_mortdat/gametext.h b/devtools/create_mortdat/gametext.h index 4f7b1f9776..7a83448bad 100644 --- a/devtools/create_mortdat/gametext.h +++ b/devtools/create_mortdat/gametext.h @@ -8,12 +8,12 @@ * 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. diff --git a/devtools/create_mortdat/menudata.h b/devtools/create_mortdat/menudata.h index ec8724135c..2290666ffe 100644 --- a/devtools/create_mortdat/menudata.h +++ b/devtools/create_mortdat/menudata.h @@ -8,12 +8,12 @@ * 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. diff --git a/devtools/create_neverhood/create_neverhood.cpp b/devtools/create_neverhood/create_neverhood.cpp index a37ff99ca9..a1201cdaa3 100644 --- a/devtools/create_neverhood/create_neverhood.cpp +++ b/devtools/create_neverhood/create_neverhood.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/devtools/create_neverhood/create_neverhood.h b/devtools/create_neverhood/create_neverhood.h index 6382c87375..205936601d 100644 --- a/devtools/create_neverhood/create_neverhood.h +++ b/devtools/create_neverhood/create_neverhood.h @@ -8,12 +8,12 @@ * 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. diff --git a/devtools/create_neverhood/md5.cpp b/devtools/create_neverhood/md5.cpp index 50f7406a47..0477002654 100644 --- a/devtools/create_neverhood/md5.cpp +++ b/devtools/create_neverhood/md5.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/devtools/create_neverhood/md5.h b/devtools/create_neverhood/md5.h index 81bc03ff83..bf81d5ae1b 100644 --- a/devtools/create_neverhood/md5.h +++ b/devtools/create_neverhood/md5.h @@ -8,12 +8,12 @@ * 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. diff --git a/devtools/create_neverhood/tables.h b/devtools/create_neverhood/tables.h index eb136491db..cea962d4c1 100644 --- a/devtools/create_neverhood/tables.h +++ b/devtools/create_neverhood/tables.h @@ -8,12 +8,12 @@ * 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. diff --git a/devtools/create_neverhood/util.cpp b/devtools/create_neverhood/util.cpp index 5ce8237b85..dd88d4ed85 100644 --- a/devtools/create_neverhood/util.cpp +++ b/devtools/create_neverhood/util.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/devtools/create_neverhood/util.h b/devtools/create_neverhood/util.h index a2783cca71..666386ea93 100644 --- a/devtools/create_neverhood/util.h +++ b/devtools/create_neverhood/util.h @@ -8,12 +8,12 @@ * 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. diff --git a/devtools/create_teenagent/create_teenagent.cpp b/devtools/create_teenagent/create_teenagent.cpp index 79c61900f3..732532f9b2 100644 --- a/devtools/create_teenagent/create_teenagent.cpp +++ b/devtools/create_teenagent/create_teenagent.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/devtools/create_teenagent/static_tables.h b/devtools/create_teenagent/static_tables.h index 5c9b5b3d21..9094f98a74 100644 --- a/devtools/create_teenagent/static_tables.h +++ b/devtools/create_teenagent/static_tables.h @@ -8,12 +8,12 @@ * 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. diff --git a/devtools/create_teenagent/util.cpp b/devtools/create_teenagent/util.cpp index 5ce8237b85..dd88d4ed85 100644 --- a/devtools/create_teenagent/util.cpp +++ b/devtools/create_teenagent/util.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/devtools/create_teenagent/util.h b/devtools/create_teenagent/util.h index a2783cca71..666386ea93 100644 --- a/devtools/create_teenagent/util.h +++ b/devtools/create_teenagent/util.h @@ -8,12 +8,12 @@ * 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. diff --git a/devtools/create_tony/create_tony.cpp b/devtools/create_tony/create_tony.cpp index f2d086c083..cb76e954c9 100644 --- a/devtools/create_tony/create_tony.cpp +++ b/devtools/create_tony/create_tony.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/devtools/create_tony/create_tony.h b/devtools/create_tony/create_tony.h index 3075835bd9..96793bf3aa 100644 --- a/devtools/create_tony/create_tony.h +++ b/devtools/create_tony/create_tony.h @@ -8,12 +8,12 @@ * 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. diff --git a/devtools/create_tony/staticdata.h b/devtools/create_tony/staticdata.h index fff977d8dc..a2cacb3e58 100644 --- a/devtools/create_tony/staticdata.h +++ b/devtools/create_tony/staticdata.h @@ -8,12 +8,12 @@ * 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. diff --git a/devtools/create_toon/create_toon.cpp b/devtools/create_toon/create_toon.cpp index 2cf8895d4b..08f8d8c543 100644 --- a/devtools/create_toon/create_toon.cpp +++ b/devtools/create_toon/create_toon.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/devtools/create_toon/create_toon.h b/devtools/create_toon/create_toon.h index b047959215..0c26261dc9 100644 --- a/devtools/create_toon/create_toon.h +++ b/devtools/create_toon/create_toon.h @@ -8,12 +8,12 @@ * 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. diff --git a/devtools/create_toon/staticdata.h b/devtools/create_toon/staticdata.h index bc49c7adaf..1d00455d5d 100644 --- a/devtools/create_toon/staticdata.h +++ b/devtools/create_toon/staticdata.h @@ -8,12 +8,12 @@ * 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. diff --git a/devtools/create_translations/create_translations.cpp b/devtools/create_translations/create_translations.cpp index a8b04a7a52..01e6446cb8 100644 --- a/devtools/create_translations/create_translations.cpp +++ b/devtools/create_translations/create_translations.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/devtools/create_translations/create_translations.h b/devtools/create_translations/create_translations.h index 1df01e6333..34a79913ac 100644 --- a/devtools/create_translations/create_translations.h +++ b/devtools/create_translations/create_translations.h @@ -8,12 +8,12 @@ * 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. diff --git a/devtools/create_translations/po_parser.cpp b/devtools/create_translations/po_parser.cpp index e8d7d7a644..7882502ca4 100644 --- a/devtools/create_translations/po_parser.cpp +++ b/devtools/create_translations/po_parser.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/devtools/create_translations/po_parser.h b/devtools/create_translations/po_parser.h index 6991b1d11e..a3b1c9a9d7 100644 --- a/devtools/create_translations/po_parser.h +++ b/devtools/create_translations/po_parser.h @@ -8,12 +8,12 @@ * 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. diff --git a/devtools/extract_mort/extract_mort.cpp b/devtools/extract_mort/extract_mort.cpp index a52458f9b2..7e4003a8c6 100644 --- a/devtools/extract_mort/extract_mort.cpp +++ b/devtools/extract_mort/extract_mort.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/devtools/sci/musicplayer.cpp b/devtools/sci/musicplayer.cpp index 25f2d684a8..73f0e12bb0 100644 --- a/devtools/sci/musicplayer.cpp +++ b/devtools/sci/musicplayer.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/devtools/sci/scidisasm.cpp b/devtools/sci/scidisasm.cpp index 9b212c208d..6c7049e639 100644 --- a/devtools/sci/scidisasm.cpp +++ b/devtools/sci/scidisasm.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/devtools/sci/scipack.cpp b/devtools/sci/scipack.cpp index ff52e25061..9e9ebcd0a2 100644 --- a/devtools/sci/scipack.cpp +++ b/devtools/sci/scipack.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/devtools/skycpt/AsciiCptCompile.cpp b/devtools/skycpt/AsciiCptCompile.cpp index f339f6816c..3d638b6c35 100644 --- a/devtools/skycpt/AsciiCptCompile.cpp +++ b/devtools/skycpt/AsciiCptCompile.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/devtools/skycpt/KmpSearch.cpp b/devtools/skycpt/KmpSearch.cpp index 9551156295..aaae48614c 100644 --- a/devtools/skycpt/KmpSearch.cpp +++ b/devtools/skycpt/KmpSearch.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/devtools/skycpt/KmpSearch.h b/devtools/skycpt/KmpSearch.h index 7bec5f07a8..04a0c9ac89 100644 --- a/devtools/skycpt/KmpSearch.h +++ b/devtools/skycpt/KmpSearch.h @@ -8,12 +8,12 @@ * 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. diff --git a/devtools/skycpt/TextFile.cpp b/devtools/skycpt/TextFile.cpp index 038b1b9329..b03e66121f 100644 --- a/devtools/skycpt/TextFile.cpp +++ b/devtools/skycpt/TextFile.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/devtools/skycpt/TextFile.h b/devtools/skycpt/TextFile.h index 6c390c050d..80564fbd5e 100644 --- a/devtools/skycpt/TextFile.h +++ b/devtools/skycpt/TextFile.h @@ -8,12 +8,12 @@ * 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. diff --git a/devtools/skycpt/cptcompiler.cpp b/devtools/skycpt/cptcompiler.cpp index 657f51b8a0..eb2c287a1d 100644 --- a/devtools/skycpt/cptcompiler.cpp +++ b/devtools/skycpt/cptcompiler.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/devtools/skycpt/cpthelp.cpp b/devtools/skycpt/cpthelp.cpp index 0780888097..e2e4577a90 100644 --- a/devtools/skycpt/cpthelp.cpp +++ b/devtools/skycpt/cpthelp.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/devtools/skycpt/cpthelp.h b/devtools/skycpt/cpthelp.h index 71d760af3f..54daac2128 100644 --- a/devtools/skycpt/cpthelp.h +++ b/devtools/skycpt/cpthelp.h @@ -8,12 +8,12 @@ * 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. diff --git a/devtools/skycpt/idFinder.cpp b/devtools/skycpt/idFinder.cpp index 99e4378867..b2b9b9b524 100644 --- a/devtools/skycpt/idFinder.cpp +++ b/devtools/skycpt/idFinder.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/devtools/skycpt/stdafx.cpp b/devtools/skycpt/stdafx.cpp index e91ca09470..fb87b37cba 100644 --- a/devtools/skycpt/stdafx.cpp +++ b/devtools/skycpt/stdafx.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/devtools/skycpt/stdafx.h b/devtools/skycpt/stdafx.h index d4d389a2b6..55fdf33cd4 100644 --- a/devtools/skycpt/stdafx.h +++ b/devtools/skycpt/stdafx.h @@ -8,12 +8,12 @@ * 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. -- cgit v1.2.3 From 7803ce2fa40d55fec3814306eabf2b91473d3d16 Mon Sep 17 00:00:00 2001 From: Johannes Schickel Date: Tue, 18 Feb 2014 02:34:19 +0100 Subject: DINGUX: Make GPL headers consistent in themselves. --- backends/events/dinguxsdl/dinguxsdl-events.cpp | 4 ++-- backends/events/dinguxsdl/dinguxsdl-events.h | 4 ++-- backends/graphics/dinguxsdl/dinguxsdl-graphics.cpp | 4 ++-- backends/graphics/dinguxsdl/dinguxsdl-graphics.h | 4 ++-- backends/platform/dingux/dingux.cpp | 4 ++-- backends/platform/dingux/dingux.h | 4 ++-- backends/platform/dingux/main.cpp | 4 ++-- 7 files changed, 14 insertions(+), 14 deletions(-) diff --git a/backends/events/dinguxsdl/dinguxsdl-events.cpp b/backends/events/dinguxsdl/dinguxsdl-events.cpp index 64d8fbeb62..46089a4fcd 100644 --- a/backends/events/dinguxsdl/dinguxsdl-events.cpp +++ b/backends/events/dinguxsdl/dinguxsdl-events.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/backends/events/dinguxsdl/dinguxsdl-events.h b/backends/events/dinguxsdl/dinguxsdl-events.h index b348bafa78..0ed0a9923e 100644 --- a/backends/events/dinguxsdl/dinguxsdl-events.h +++ b/backends/events/dinguxsdl/dinguxsdl-events.h @@ -8,12 +8,12 @@ * 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. diff --git a/backends/graphics/dinguxsdl/dinguxsdl-graphics.cpp b/backends/graphics/dinguxsdl/dinguxsdl-graphics.cpp index bd87c9fafd..343efa4da6 100644 --- a/backends/graphics/dinguxsdl/dinguxsdl-graphics.cpp +++ b/backends/graphics/dinguxsdl/dinguxsdl-graphics.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/backends/graphics/dinguxsdl/dinguxsdl-graphics.h b/backends/graphics/dinguxsdl/dinguxsdl-graphics.h index ecdd01d166..fc70e721cf 100644 --- a/backends/graphics/dinguxsdl/dinguxsdl-graphics.h +++ b/backends/graphics/dinguxsdl/dinguxsdl-graphics.h @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/dingux/dingux.cpp b/backends/platform/dingux/dingux.cpp index 674c2ea780..2f11dd31ad 100644 --- a/backends/platform/dingux/dingux.cpp +++ b/backends/platform/dingux/dingux.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/dingux/dingux.h b/backends/platform/dingux/dingux.h index 2a07a8a46a..add74fa039 100644 --- a/backends/platform/dingux/dingux.h +++ b/backends/platform/dingux/dingux.h @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/dingux/main.cpp b/backends/platform/dingux/main.cpp index 4fc67d874f..98b5058c06 100644 --- a/backends/platform/dingux/main.cpp +++ b/backends/platform/dingux/main.cpp @@ -8,12 +8,12 @@ * 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. -- cgit v1.2.3 From df777fee2a74473d1291c35016e061ee4864462c Mon Sep 17 00:00:00 2001 From: Johannes Schickel Date: Tue, 18 Feb 2014 02:34:19 +0100 Subject: DRACI: Make GPL headers consistent in themselves. --- engines/draci/animation.cpp | 4 ++-- engines/draci/animation.h | 4 ++-- engines/draci/barchive.cpp | 4 ++-- engines/draci/barchive.h | 4 ++-- engines/draci/console.cpp | 4 ++-- engines/draci/console.h | 4 ++-- engines/draci/detection.cpp | 4 ++-- engines/draci/draci.cpp | 4 ++-- engines/draci/draci.h | 4 ++-- engines/draci/font.cpp | 4 ++-- engines/draci/font.h | 4 ++-- engines/draci/game.cpp | 4 ++-- engines/draci/game.h | 4 ++-- engines/draci/mouse.cpp | 4 ++-- engines/draci/mouse.h | 4 ++-- engines/draci/music.cpp | 4 ++-- engines/draci/music.h | 4 ++-- engines/draci/saveload.cpp | 4 ++-- engines/draci/saveload.h | 4 ++-- engines/draci/screen.cpp | 4 ++-- engines/draci/screen.h | 4 ++-- engines/draci/script.cpp | 4 ++-- engines/draci/script.h | 4 ++-- engines/draci/sound.cpp | 4 ++-- engines/draci/sound.h | 4 ++-- engines/draci/sprite.cpp | 4 ++-- engines/draci/sprite.h | 4 ++-- engines/draci/surface.cpp | 4 ++-- engines/draci/surface.h | 4 ++-- engines/draci/walking.cpp | 4 ++-- engines/draci/walking.h | 4 ++-- 31 files changed, 62 insertions(+), 62 deletions(-) diff --git a/engines/draci/animation.cpp b/engines/draci/animation.cpp index 6e6f167fba..2528383f4f 100644 --- a/engines/draci/animation.cpp +++ b/engines/draci/animation.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/draci/animation.h b/engines/draci/animation.h index 8b2a3d98b8..c555e383ee 100644 --- a/engines/draci/animation.h +++ b/engines/draci/animation.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/draci/barchive.cpp b/engines/draci/barchive.cpp index 584367fdfb..0cd1097981 100644 --- a/engines/draci/barchive.cpp +++ b/engines/draci/barchive.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/draci/barchive.h b/engines/draci/barchive.h index 52ce79ad2d..cb0619612a 100644 --- a/engines/draci/barchive.h +++ b/engines/draci/barchive.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/draci/console.cpp b/engines/draci/console.cpp index 07f0ff5542..dc87b06cf4 100644 --- a/engines/draci/console.cpp +++ b/engines/draci/console.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/draci/console.h b/engines/draci/console.h index 714871ffd3..a1a584bdb3 100644 --- a/engines/draci/console.h +++ b/engines/draci/console.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/draci/detection.cpp b/engines/draci/detection.cpp index 98a74824c8..c7cfe227df 100644 --- a/engines/draci/detection.cpp +++ b/engines/draci/detection.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/draci/draci.cpp b/engines/draci/draci.cpp index 06730cfba7..b40d61a04f 100644 --- a/engines/draci/draci.cpp +++ b/engines/draci/draci.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/draci/draci.h b/engines/draci/draci.h index 55ebff083e..540c288d3d 100644 --- a/engines/draci/draci.h +++ b/engines/draci/draci.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/draci/font.cpp b/engines/draci/font.cpp index b4e799deb7..c688f4292d 100644 --- a/engines/draci/font.cpp +++ b/engines/draci/font.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/draci/font.h b/engines/draci/font.h index 3d150f733e..2c640837de 100644 --- a/engines/draci/font.h +++ b/engines/draci/font.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/draci/game.cpp b/engines/draci/game.cpp index 009f1bb3d2..e5ff1f079a 100644 --- a/engines/draci/game.cpp +++ b/engines/draci/game.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/draci/game.h b/engines/draci/game.h index 47821fcf86..4a8f3de269 100644 --- a/engines/draci/game.h +++ b/engines/draci/game.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/draci/mouse.cpp b/engines/draci/mouse.cpp index 90c04ed4c3..6bbdee787f 100644 --- a/engines/draci/mouse.cpp +++ b/engines/draci/mouse.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/draci/mouse.h b/engines/draci/mouse.h index b934475ade..8806bd942d 100644 --- a/engines/draci/mouse.h +++ b/engines/draci/mouse.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/draci/music.cpp b/engines/draci/music.cpp index 3179c79ca4..cda2007a8e 100644 --- a/engines/draci/music.cpp +++ b/engines/draci/music.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/draci/music.h b/engines/draci/music.h index 62288a01dc..a3010c93ce 100644 --- a/engines/draci/music.h +++ b/engines/draci/music.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/draci/saveload.cpp b/engines/draci/saveload.cpp index e3551c78b3..31ac63b791 100644 --- a/engines/draci/saveload.cpp +++ b/engines/draci/saveload.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/draci/saveload.h b/engines/draci/saveload.h index 3cc13701db..8b38ccb94f 100644 --- a/engines/draci/saveload.h +++ b/engines/draci/saveload.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/draci/screen.cpp b/engines/draci/screen.cpp index e43e367300..2434a1312e 100644 --- a/engines/draci/screen.cpp +++ b/engines/draci/screen.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/draci/screen.h b/engines/draci/screen.h index 5a8297feba..55d2a9c171 100644 --- a/engines/draci/screen.h +++ b/engines/draci/screen.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/draci/script.cpp b/engines/draci/script.cpp index 504476869e..97dde39809 100644 --- a/engines/draci/script.cpp +++ b/engines/draci/script.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/draci/script.h b/engines/draci/script.h index 72d6f6c344..aa36a30408 100644 --- a/engines/draci/script.h +++ b/engines/draci/script.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/draci/sound.cpp b/engines/draci/sound.cpp index d534f46a6e..cbc9eb983d 100644 --- a/engines/draci/sound.cpp +++ b/engines/draci/sound.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/draci/sound.h b/engines/draci/sound.h index 358c228604..d8d19e62e2 100644 --- a/engines/draci/sound.h +++ b/engines/draci/sound.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/draci/sprite.cpp b/engines/draci/sprite.cpp index 9a78904d25..8b5e5a918a 100644 --- a/engines/draci/sprite.cpp +++ b/engines/draci/sprite.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/draci/sprite.h b/engines/draci/sprite.h index c86728914e..5831f7772e 100644 --- a/engines/draci/sprite.h +++ b/engines/draci/sprite.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/draci/surface.cpp b/engines/draci/surface.cpp index 4156398070..4b438880ad 100644 --- a/engines/draci/surface.cpp +++ b/engines/draci/surface.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/draci/surface.h b/engines/draci/surface.h index 71a3722a2a..fa2d931a43 100644 --- a/engines/draci/surface.h +++ b/engines/draci/surface.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/draci/walking.cpp b/engines/draci/walking.cpp index 195b968860..1467ecee35 100644 --- a/engines/draci/walking.cpp +++ b/engines/draci/walking.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/draci/walking.h b/engines/draci/walking.h index 82cf264449..ee2b48d083 100644 --- a/engines/draci/walking.h +++ b/engines/draci/walking.h @@ -8,12 +8,12 @@ * 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. -- cgit v1.2.3 From cf91cebb9d468ef6e513754f328e45e4fe9eae95 Mon Sep 17 00:00:00 2001 From: Johannes Schickel Date: Tue, 18 Feb 2014 02:34:19 +0100 Subject: DRASCULA: Make GPL headers consistent in themselves. --- engines/drascula/actors.cpp | 4 ++-- engines/drascula/animation.cpp | 4 ++-- engines/drascula/console.cpp | 4 ++-- engines/drascula/console.h | 4 ++-- engines/drascula/converse.cpp | 4 ++-- engines/drascula/detection.cpp | 4 ++-- engines/drascula/drascula.cpp | 4 ++-- engines/drascula/drascula.h | 4 ++-- engines/drascula/graphics.cpp | 4 ++-- engines/drascula/interface.cpp | 4 ++-- engines/drascula/objects.cpp | 4 ++-- engines/drascula/palette.cpp | 4 ++-- engines/drascula/resource.cpp | 4 ++-- engines/drascula/rooms.cpp | 4 ++-- engines/drascula/saveload.cpp | 4 ++-- engines/drascula/sound.cpp | 4 ++-- engines/drascula/talk.cpp | 4 ++-- 17 files changed, 34 insertions(+), 34 deletions(-) diff --git a/engines/drascula/actors.cpp b/engines/drascula/actors.cpp index e0983809fa..51148bbc05 100644 --- a/engines/drascula/actors.cpp +++ b/engines/drascula/actors.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/drascula/animation.cpp b/engines/drascula/animation.cpp index ee981c36da..b158969f46 100644 --- a/engines/drascula/animation.cpp +++ b/engines/drascula/animation.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/drascula/console.cpp b/engines/drascula/console.cpp index c0d2748ec3..50e96c8757 100644 --- a/engines/drascula/console.cpp +++ b/engines/drascula/console.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/drascula/console.h b/engines/drascula/console.h index 894c85ff42..01a5e8cba7 100644 --- a/engines/drascula/console.h +++ b/engines/drascula/console.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/drascula/converse.cpp b/engines/drascula/converse.cpp index b3749445ec..48317289d5 100644 --- a/engines/drascula/converse.cpp +++ b/engines/drascula/converse.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/drascula/detection.cpp b/engines/drascula/detection.cpp index 1917bc879d..833363669d 100644 --- a/engines/drascula/detection.cpp +++ b/engines/drascula/detection.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/drascula/drascula.cpp b/engines/drascula/drascula.cpp index 14cb4be5a0..35461f1d71 100644 --- a/engines/drascula/drascula.cpp +++ b/engines/drascula/drascula.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/drascula/drascula.h b/engines/drascula/drascula.h index 53fce9c212..762add50a5 100644 --- a/engines/drascula/drascula.h +++ b/engines/drascula/drascula.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/drascula/graphics.cpp b/engines/drascula/graphics.cpp index fe954279c3..077047a6eb 100644 --- a/engines/drascula/graphics.cpp +++ b/engines/drascula/graphics.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/drascula/interface.cpp b/engines/drascula/interface.cpp index f0b6d12027..07f192cd4c 100644 --- a/engines/drascula/interface.cpp +++ b/engines/drascula/interface.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/drascula/objects.cpp b/engines/drascula/objects.cpp index 519e919433..cd7d502194 100644 --- a/engines/drascula/objects.cpp +++ b/engines/drascula/objects.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/drascula/palette.cpp b/engines/drascula/palette.cpp index 500333badf..1bd9a03c14 100644 --- a/engines/drascula/palette.cpp +++ b/engines/drascula/palette.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/drascula/resource.cpp b/engines/drascula/resource.cpp index 95a95e3487..5e0e2fe9cc 100644 --- a/engines/drascula/resource.cpp +++ b/engines/drascula/resource.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/drascula/rooms.cpp b/engines/drascula/rooms.cpp index 25f3da0080..8691bd2cb4 100644 --- a/engines/drascula/rooms.cpp +++ b/engines/drascula/rooms.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/drascula/saveload.cpp b/engines/drascula/saveload.cpp index 61d6f0b4af..d0f16aa941 100644 --- a/engines/drascula/saveload.cpp +++ b/engines/drascula/saveload.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/drascula/sound.cpp b/engines/drascula/sound.cpp index 59b5e1d237..148dae76f5 100644 --- a/engines/drascula/sound.cpp +++ b/engines/drascula/sound.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/drascula/talk.cpp b/engines/drascula/talk.cpp index 6aabd91c6a..ed29dc5fe4 100644 --- a/engines/drascula/talk.cpp +++ b/engines/drascula/talk.cpp @@ -8,12 +8,12 @@ * 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. -- cgit v1.2.3 From aaff7b1736a65ee7ee47f63674c053dd15c36f74 Mon Sep 17 00:00:00 2001 From: Johannes Schickel Date: Tue, 18 Feb 2014 02:34:19 +0100 Subject: DREAMWEB: Make GPL headers consistent in themselves. --- engines/dreamweb/backdrop.cpp | 4 ++-- engines/dreamweb/console.cpp | 4 ++-- engines/dreamweb/console.h | 4 ++-- engines/dreamweb/detection.cpp | 4 ++-- engines/dreamweb/detection_tables.h | 4 ++-- engines/dreamweb/dreamweb.cpp | 4 ++-- engines/dreamweb/dreamweb.h | 4 ++-- engines/dreamweb/keypad.cpp | 4 ++-- engines/dreamweb/monitor.cpp | 4 ++-- engines/dreamweb/mouse.cpp | 4 ++-- engines/dreamweb/newplace.cpp | 4 ++-- engines/dreamweb/object.cpp | 4 ++-- engines/dreamweb/pathfind.cpp | 4 ++-- engines/dreamweb/people.cpp | 4 ++-- engines/dreamweb/print.cpp | 4 ++-- engines/dreamweb/rain.cpp | 4 ++-- engines/dreamweb/saveload.cpp | 4 ++-- engines/dreamweb/sound.cpp | 4 ++-- engines/dreamweb/sound.h | 4 ++-- engines/dreamweb/sprite.cpp | 4 ++-- engines/dreamweb/structs.h | 4 ++-- engines/dreamweb/stubs.cpp | 4 ++-- engines/dreamweb/talk.cpp | 4 ++-- engines/dreamweb/titles.cpp | 4 ++-- engines/dreamweb/use.cpp | 4 ++-- engines/dreamweb/vgafades.cpp | 4 ++-- engines/dreamweb/vgagrafx.cpp | 4 ++-- 27 files changed, 54 insertions(+), 54 deletions(-) diff --git a/engines/dreamweb/backdrop.cpp b/engines/dreamweb/backdrop.cpp index 5ccc68704a..783c5e349a 100644 --- a/engines/dreamweb/backdrop.cpp +++ b/engines/dreamweb/backdrop.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/dreamweb/console.cpp b/engines/dreamweb/console.cpp index 532bf815ef..62c02b8617 100644 --- a/engines/dreamweb/console.cpp +++ b/engines/dreamweb/console.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/dreamweb/console.h b/engines/dreamweb/console.h index a90794e94e..5517d7ffa8 100644 --- a/engines/dreamweb/console.h +++ b/engines/dreamweb/console.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/dreamweb/detection.cpp b/engines/dreamweb/detection.cpp index f2e2f42216..01cfc7e506 100644 --- a/engines/dreamweb/detection.cpp +++ b/engines/dreamweb/detection.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/dreamweb/detection_tables.h b/engines/dreamweb/detection_tables.h index ec54484d28..cb9bebb304 100644 --- a/engines/dreamweb/detection_tables.h +++ b/engines/dreamweb/detection_tables.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/dreamweb/dreamweb.cpp b/engines/dreamweb/dreamweb.cpp index 7323dfc4a8..3fe20bd5d8 100644 --- a/engines/dreamweb/dreamweb.cpp +++ b/engines/dreamweb/dreamweb.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/dreamweb/dreamweb.h b/engines/dreamweb/dreamweb.h index 87a9f5423f..d572e2b298 100644 --- a/engines/dreamweb/dreamweb.h +++ b/engines/dreamweb/dreamweb.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/dreamweb/keypad.cpp b/engines/dreamweb/keypad.cpp index 7bbca2b979..50e452eb82 100644 --- a/engines/dreamweb/keypad.cpp +++ b/engines/dreamweb/keypad.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/dreamweb/monitor.cpp b/engines/dreamweb/monitor.cpp index 108f9d2b60..5f0566c8ba 100644 --- a/engines/dreamweb/monitor.cpp +++ b/engines/dreamweb/monitor.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/dreamweb/mouse.cpp b/engines/dreamweb/mouse.cpp index 77d907611d..fe5c580738 100644 --- a/engines/dreamweb/mouse.cpp +++ b/engines/dreamweb/mouse.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/dreamweb/newplace.cpp b/engines/dreamweb/newplace.cpp index 6b1f9d097b..b2975d29b8 100644 --- a/engines/dreamweb/newplace.cpp +++ b/engines/dreamweb/newplace.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/dreamweb/object.cpp b/engines/dreamweb/object.cpp index bee3a6d511..181987d721 100644 --- a/engines/dreamweb/object.cpp +++ b/engines/dreamweb/object.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/dreamweb/pathfind.cpp b/engines/dreamweb/pathfind.cpp index 64cffde4de..8351a3798a 100644 --- a/engines/dreamweb/pathfind.cpp +++ b/engines/dreamweb/pathfind.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/dreamweb/people.cpp b/engines/dreamweb/people.cpp index 53f04d482b..6e47513a21 100644 --- a/engines/dreamweb/people.cpp +++ b/engines/dreamweb/people.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/dreamweb/print.cpp b/engines/dreamweb/print.cpp index bec58322d5..c119f284cc 100644 --- a/engines/dreamweb/print.cpp +++ b/engines/dreamweb/print.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/dreamweb/rain.cpp b/engines/dreamweb/rain.cpp index b636b7def7..4f68811a3e 100644 --- a/engines/dreamweb/rain.cpp +++ b/engines/dreamweb/rain.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/dreamweb/saveload.cpp b/engines/dreamweb/saveload.cpp index 8a0791d19b..ce89dae732 100644 --- a/engines/dreamweb/saveload.cpp +++ b/engines/dreamweb/saveload.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/dreamweb/sound.cpp b/engines/dreamweb/sound.cpp index 570f76f2f9..d3b417de90 100644 --- a/engines/dreamweb/sound.cpp +++ b/engines/dreamweb/sound.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/dreamweb/sound.h b/engines/dreamweb/sound.h index 1ab06dc694..6553a81b62 100644 --- a/engines/dreamweb/sound.h +++ b/engines/dreamweb/sound.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/dreamweb/sprite.cpp b/engines/dreamweb/sprite.cpp index 1fa2e7d6a4..633db73bcd 100644 --- a/engines/dreamweb/sprite.cpp +++ b/engines/dreamweb/sprite.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/dreamweb/structs.h b/engines/dreamweb/structs.h index 24b67e317a..cc300e8931 100644 --- a/engines/dreamweb/structs.h +++ b/engines/dreamweb/structs.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/dreamweb/stubs.cpp b/engines/dreamweb/stubs.cpp index 057a0c847a..a4fd6dfd48 100644 --- a/engines/dreamweb/stubs.cpp +++ b/engines/dreamweb/stubs.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/dreamweb/talk.cpp b/engines/dreamweb/talk.cpp index 2629c23355..8bb469b8fd 100644 --- a/engines/dreamweb/talk.cpp +++ b/engines/dreamweb/talk.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/dreamweb/titles.cpp b/engines/dreamweb/titles.cpp index 4e4faa75a0..bd0957c1bd 100644 --- a/engines/dreamweb/titles.cpp +++ b/engines/dreamweb/titles.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/dreamweb/use.cpp b/engines/dreamweb/use.cpp index 476f847c40..b8b99c6df6 100644 --- a/engines/dreamweb/use.cpp +++ b/engines/dreamweb/use.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/dreamweb/vgafades.cpp b/engines/dreamweb/vgafades.cpp index d1e2480f70..a0f14e1409 100644 --- a/engines/dreamweb/vgafades.cpp +++ b/engines/dreamweb/vgafades.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/dreamweb/vgagrafx.cpp b/engines/dreamweb/vgagrafx.cpp index d8984d312b..ef8b4830b2 100644 --- a/engines/dreamweb/vgagrafx.cpp +++ b/engines/dreamweb/vgagrafx.cpp @@ -8,12 +8,12 @@ * 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. -- cgit v1.2.3 From 312442fcdd6ee23f00058e788322a4b89d7e4d43 Mon Sep 17 00:00:00 2001 From: Johannes Schickel Date: Tue, 18 Feb 2014 02:34:19 +0100 Subject: DS: Make GPL headers consistent in themselves. --- backends/fs/ds/ds-fs-factory.cpp | 1 + backends/fs/ds/ds-fs-factory.h | 1 + backends/fs/ds/ds-fs.cpp | 4 ++-- backends/fs/ds/ds-fs.h | 4 ++-- backends/platform/ds/arm7/source/main.cpp | 4 ++-- backends/platform/ds/arm9/source/blitters.cpp | 4 ++-- backends/platform/ds/arm9/source/blitters.h | 4 ++-- backends/platform/ds/arm9/source/cdaudio.cpp | 4 ++-- backends/platform/ds/arm9/source/cdaudio.h | 4 ++-- backends/platform/ds/arm9/source/dsmain.cpp | 4 ++-- backends/platform/ds/arm9/source/dsmain.h | 4 ++-- backends/platform/ds/arm9/source/dsoptions.cpp | 4 ++-- backends/platform/ds/arm9/source/dsoptions.h | 4 ++-- backends/platform/ds/arm9/source/gbampsave.cpp | 4 ++-- backends/platform/ds/arm9/source/gbampsave.h | 4 ++-- backends/platform/ds/arm9/source/keys.h | 4 ++-- backends/platform/ds/arm9/source/osystem_ds.cpp | 3 ++- backends/platform/ds/arm9/source/osystem_ds.h | 4 ++-- backends/platform/ds/arm9/source/portdefs.h | 4 ++-- backends/platform/ds/arm9/source/scummhelp.cpp | 4 ++-- backends/platform/ds/arm9/source/scummhelp.h | 4 ++-- backends/platform/ds/arm9/source/touchkeyboard.cpp | 3 ++- backends/platform/ds/arm9/source/touchkeyboard.h | 4 ++-- backends/platform/ds/arm9/source/wordcompletion.cpp | 4 ++-- backends/platform/ds/arm9/source/wordcompletion.h | 4 ++-- backends/platform/ds/arm9/source/zipreader.cpp | 4 ++-- backends/platform/ds/arm9/source/zipreader.h | 4 ++-- backends/platform/ds/commoninclude/NDS/scummvm_ipc.h | 1 + backends/plugins/ds/ds-provider.cpp | 4 ++-- backends/plugins/ds/ds-provider.h | 4 ++-- 30 files changed, 57 insertions(+), 52 deletions(-) diff --git a/backends/fs/ds/ds-fs-factory.cpp b/backends/fs/ds/ds-fs-factory.cpp index 4e09c3446b..98c522f1d6 100644 --- a/backends/fs/ds/ds-fs-factory.cpp +++ b/backends/fs/ds/ds-fs-factory.cpp @@ -17,6 +17,7 @@ * 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. + * */ // Disable symbol overrides for FILE as that is used in FLAC headers diff --git a/backends/fs/ds/ds-fs-factory.h b/backends/fs/ds/ds-fs-factory.h index ed5804b94a..7c42145518 100644 --- a/backends/fs/ds/ds-fs-factory.h +++ b/backends/fs/ds/ds-fs-factory.h @@ -17,6 +17,7 @@ * 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. + * */ #ifndef DS_FILESYSTEM_FACTORY_H diff --git a/backends/fs/ds/ds-fs.cpp b/backends/fs/ds/ds-fs.cpp index e3f282df05..3782caf432 100644 --- a/backends/fs/ds/ds-fs.cpp +++ b/backends/fs/ds/ds-fs.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/backends/fs/ds/ds-fs.h b/backends/fs/ds/ds-fs.h index 862f4c39d2..b9ccfcbe9c 100644 --- a/backends/fs/ds/ds-fs.h +++ b/backends/fs/ds/ds-fs.h @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/ds/arm7/source/main.cpp b/backends/platform/ds/arm7/source/main.cpp index 6e714b22fa..c4a22b8f68 100644 --- a/backends/platform/ds/arm7/source/main.cpp +++ b/backends/platform/ds/arm7/source/main.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/ds/arm9/source/blitters.cpp b/backends/platform/ds/arm9/source/blitters.cpp index ef2dc9c3b8..44de0ed0f6 100644 --- a/backends/platform/ds/arm9/source/blitters.cpp +++ b/backends/platform/ds/arm9/source/blitters.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/ds/arm9/source/blitters.h b/backends/platform/ds/arm9/source/blitters.h index de6e218778..602cde4755 100644 --- a/backends/platform/ds/arm9/source/blitters.h +++ b/backends/platform/ds/arm9/source/blitters.h @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/ds/arm9/source/cdaudio.cpp b/backends/platform/ds/arm9/source/cdaudio.cpp index 277e1f4ae7..c963f4d8bd 100644 --- a/backends/platform/ds/arm9/source/cdaudio.cpp +++ b/backends/platform/ds/arm9/source/cdaudio.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/ds/arm9/source/cdaudio.h b/backends/platform/ds/arm9/source/cdaudio.h index 8a0e0c5174..77766bae8e 100644 --- a/backends/platform/ds/arm9/source/cdaudio.h +++ b/backends/platform/ds/arm9/source/cdaudio.h @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/ds/arm9/source/dsmain.cpp b/backends/platform/ds/arm9/source/dsmain.cpp index 9dc66e80d7..b7c9c108a6 100644 --- a/backends/platform/ds/arm9/source/dsmain.cpp +++ b/backends/platform/ds/arm9/source/dsmain.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/ds/arm9/source/dsmain.h b/backends/platform/ds/arm9/source/dsmain.h index 5e91fae13a..fec97d878e 100644 --- a/backends/platform/ds/arm9/source/dsmain.h +++ b/backends/platform/ds/arm9/source/dsmain.h @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/ds/arm9/source/dsoptions.cpp b/backends/platform/ds/arm9/source/dsoptions.cpp index ac552bd826..733592e958 100644 --- a/backends/platform/ds/arm9/source/dsoptions.cpp +++ b/backends/platform/ds/arm9/source/dsoptions.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/ds/arm9/source/dsoptions.h b/backends/platform/ds/arm9/source/dsoptions.h index 9949b8b7d2..35e30a87d5 100644 --- a/backends/platform/ds/arm9/source/dsoptions.h +++ b/backends/platform/ds/arm9/source/dsoptions.h @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/ds/arm9/source/gbampsave.cpp b/backends/platform/ds/arm9/source/gbampsave.cpp index 3192e2d277..ef6091e2a2 100644 --- a/backends/platform/ds/arm9/source/gbampsave.cpp +++ b/backends/platform/ds/arm9/source/gbampsave.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/ds/arm9/source/gbampsave.h b/backends/platform/ds/arm9/source/gbampsave.h index 0d9d9aca8c..d86db2ec70 100644 --- a/backends/platform/ds/arm9/source/gbampsave.h +++ b/backends/platform/ds/arm9/source/gbampsave.h @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/ds/arm9/source/keys.h b/backends/platform/ds/arm9/source/keys.h index 9d6b41c746..d118b37f28 100644 --- a/backends/platform/ds/arm9/source/keys.h +++ b/backends/platform/ds/arm9/source/keys.h @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/ds/arm9/source/osystem_ds.cpp b/backends/platform/ds/arm9/source/osystem_ds.cpp index f109983fbc..c53f57523d 100644 --- a/backends/platform/ds/arm9/source/osystem_ds.cpp +++ b/backends/platform/ds/arm9/source/osystem_ds.cpp @@ -16,7 +16,8 @@ * * 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * */ diff --git a/backends/platform/ds/arm9/source/osystem_ds.h b/backends/platform/ds/arm9/source/osystem_ds.h index 4550e22b2c..f4dbac66f7 100644 --- a/backends/platform/ds/arm9/source/osystem_ds.h +++ b/backends/platform/ds/arm9/source/osystem_ds.h @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/ds/arm9/source/portdefs.h b/backends/platform/ds/arm9/source/portdefs.h index e40849a513..0a20c459ab 100644 --- a/backends/platform/ds/arm9/source/portdefs.h +++ b/backends/platform/ds/arm9/source/portdefs.h @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/ds/arm9/source/scummhelp.cpp b/backends/platform/ds/arm9/source/scummhelp.cpp index a3fdaacfaa..a0fb9bd0ab 100644 --- a/backends/platform/ds/arm9/source/scummhelp.cpp +++ b/backends/platform/ds/arm9/source/scummhelp.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/ds/arm9/source/scummhelp.h b/backends/platform/ds/arm9/source/scummhelp.h index 41fc8f9c91..4e8d709c4f 100644 --- a/backends/platform/ds/arm9/source/scummhelp.h +++ b/backends/platform/ds/arm9/source/scummhelp.h @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/ds/arm9/source/touchkeyboard.cpp b/backends/platform/ds/arm9/source/touchkeyboard.cpp index 77da9cc22a..30c46dbf06 100644 --- a/backends/platform/ds/arm9/source/touchkeyboard.cpp +++ b/backends/platform/ds/arm9/source/touchkeyboard.cpp @@ -16,9 +16,10 @@ * * 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * */ + #include #include "NDS/scummvm_ipc.h" #include "touchkeyboard.h" diff --git a/backends/platform/ds/arm9/source/touchkeyboard.h b/backends/platform/ds/arm9/source/touchkeyboard.h index dc20601023..f64d531b82 100644 --- a/backends/platform/ds/arm9/source/touchkeyboard.h +++ b/backends/platform/ds/arm9/source/touchkeyboard.h @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/ds/arm9/source/wordcompletion.cpp b/backends/platform/ds/arm9/source/wordcompletion.cpp index 51f93df7ff..36fa31247c 100644 --- a/backends/platform/ds/arm9/source/wordcompletion.cpp +++ b/backends/platform/ds/arm9/source/wordcompletion.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/ds/arm9/source/wordcompletion.h b/backends/platform/ds/arm9/source/wordcompletion.h index c355d29293..d6e7224186 100644 --- a/backends/platform/ds/arm9/source/wordcompletion.h +++ b/backends/platform/ds/arm9/source/wordcompletion.h @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/ds/arm9/source/zipreader.cpp b/backends/platform/ds/arm9/source/zipreader.cpp index 49552a86b2..0de2b0c981 100644 --- a/backends/platform/ds/arm9/source/zipreader.cpp +++ b/backends/platform/ds/arm9/source/zipreader.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/ds/arm9/source/zipreader.h b/backends/platform/ds/arm9/source/zipreader.h index 70f000eb4b..0078919d5f 100644 --- a/backends/platform/ds/arm9/source/zipreader.h +++ b/backends/platform/ds/arm9/source/zipreader.h @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/ds/commoninclude/NDS/scummvm_ipc.h b/backends/platform/ds/commoninclude/NDS/scummvm_ipc.h index 360b7b03dc..540348ca0b 100644 --- a/backends/platform/ds/commoninclude/NDS/scummvm_ipc.h +++ b/backends/platform/ds/commoninclude/NDS/scummvm_ipc.h @@ -17,6 +17,7 @@ * 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. + * */ #ifndef SCUMMVM_IPC_INCLUDE diff --git a/backends/plugins/ds/ds-provider.cpp b/backends/plugins/ds/ds-provider.cpp index 21ec157e5f..1c9744518e 100644 --- a/backends/plugins/ds/ds-provider.cpp +++ b/backends/plugins/ds/ds-provider.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/backends/plugins/ds/ds-provider.h b/backends/plugins/ds/ds-provider.h index 1d806a03bd..4eae89383b 100644 --- a/backends/plugins/ds/ds-provider.h +++ b/backends/plugins/ds/ds-provider.h @@ -8,12 +8,12 @@ * 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. -- cgit v1.2.3 From 53e83147be4c645f8ff981f1c7397c3da9d35b13 Mon Sep 17 00:00:00 2001 From: Johannes Schickel Date: Tue, 18 Feb 2014 02:34:20 +0100 Subject: ENGINES: Make GPL headers consistent in themselves. --- engines/advancedDetector.cpp | 4 ++-- engines/advancedDetector.h | 4 ++-- engines/dialogs.cpp | 1 + engines/dialogs.h | 1 + engines/engine.cpp | 1 + engines/engine.h | 1 + engines/game.cpp | 4 ++-- engines/game.h | 4 ++-- engines/metaengine.h | 1 + engines/obsolete.cpp | 4 ++-- engines/obsolete.h | 4 ++-- engines/savestate.cpp | 4 ++-- engines/savestate.h | 4 ++-- engines/util.h | 1 + 14 files changed, 22 insertions(+), 16 deletions(-) diff --git a/engines/advancedDetector.cpp b/engines/advancedDetector.cpp index 40783a2407..fa23f5fa1a 100644 --- a/engines/advancedDetector.cpp +++ b/engines/advancedDetector.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/advancedDetector.h b/engines/advancedDetector.h index 376a59e471..ad551698f6 100644 --- a/engines/advancedDetector.h +++ b/engines/advancedDetector.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/dialogs.cpp b/engines/dialogs.cpp index c884075093..65840ae174 100644 --- a/engines/dialogs.cpp +++ b/engines/dialogs.cpp @@ -17,6 +17,7 @@ * 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 "base/version.h" diff --git a/engines/dialogs.h b/engines/dialogs.h index 32174031cc..a38cf2f61e 100644 --- a/engines/dialogs.h +++ b/engines/dialogs.h @@ -17,6 +17,7 @@ * 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. + * */ #ifndef GLOBAL_DIALOGS_H diff --git a/engines/engine.cpp b/engines/engine.cpp index 8326a1fe89..c63437f800 100644 --- a/engines/engine.cpp +++ b/engines/engine.cpp @@ -17,6 +17,7 @@ * 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. + * */ #define FORBIDDEN_SYMBOL_EXCEPTION_getcwd diff --git a/engines/engine.h b/engines/engine.h index 33416dda44..e325cc1ba2 100644 --- a/engines/engine.h +++ b/engines/engine.h @@ -17,6 +17,7 @@ * 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. + * */ #ifndef ENGINES_ENGINE_H diff --git a/engines/game.cpp b/engines/game.cpp index 4bfd8f3bf2..85ad6fe2e8 100644 --- a/engines/game.cpp +++ b/engines/game.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/game.h b/engines/game.h index 3417203ea7..a9bec8f9e0 100644 --- a/engines/game.h +++ b/engines/game.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/metaengine.h b/engines/metaengine.h index ffa682fc53..41f3ec4cba 100644 --- a/engines/metaengine.h +++ b/engines/metaengine.h @@ -17,6 +17,7 @@ * 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. + * */ #ifndef ENGINES_METAENGINE_H diff --git a/engines/obsolete.cpp b/engines/obsolete.cpp index 6733a384be..d65fb13ec1 100644 --- a/engines/obsolete.cpp +++ b/engines/obsolete.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/obsolete.h b/engines/obsolete.h index 97bc7524a6..be0963a7dc 100644 --- a/engines/obsolete.h +++ b/engines/obsolete.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/savestate.cpp b/engines/savestate.cpp index 260c7cd3ff..186d7bc5f2 100644 --- a/engines/savestate.cpp +++ b/engines/savestate.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/savestate.h b/engines/savestate.h index c233554657..970e01485d 100644 --- a/engines/savestate.h +++ b/engines/savestate.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/util.h b/engines/util.h index 53899cb341..0e7b1e118b 100644 --- a/engines/util.h +++ b/engines/util.h @@ -17,6 +17,7 @@ * 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. + * */ #ifndef ENGINES_UTIL_H -- cgit v1.2.3 From 387fe8c141c23fb764eeed87b47b1cc9f3728f96 Mon Sep 17 00:00:00 2001 From: Johannes Schickel Date: Tue, 18 Feb 2014 02:34:20 +0100 Subject: FULLPIPE: Make GPL headers consistent in themselves. --- engines/fullpipe/behavior.cpp | 4 ++-- engines/fullpipe/behavior.h | 4 ++-- engines/fullpipe/console.cpp | 4 ++-- engines/fullpipe/console.h | 4 ++-- engines/fullpipe/constants.h | 4 ++-- engines/fullpipe/detection.cpp | 4 ++-- engines/fullpipe/floaters.cpp | 4 ++-- engines/fullpipe/floaters.h | 4 ++-- engines/fullpipe/fullpipe.cpp | 4 ++-- engines/fullpipe/fullpipe.h | 4 ++-- engines/fullpipe/gameloader.cpp | 4 ++-- engines/fullpipe/gameloader.h | 4 ++-- engines/fullpipe/gfx.cpp | 4 ++-- engines/fullpipe/gfx.h | 4 ++-- engines/fullpipe/init.cpp | 4 ++-- engines/fullpipe/input.cpp | 4 ++-- engines/fullpipe/input.h | 4 ++-- engines/fullpipe/interaction.cpp | 4 ++-- engines/fullpipe/interaction.h | 4 ++-- engines/fullpipe/inventory.cpp | 4 ++-- engines/fullpipe/inventory.h | 4 ++-- engines/fullpipe/lift.cpp | 4 ++-- engines/fullpipe/messagehandlers.cpp | 4 ++-- engines/fullpipe/messages.cpp | 4 ++-- engines/fullpipe/messages.h | 4 ++-- engines/fullpipe/modal.cpp | 4 ++-- engines/fullpipe/modal.h | 4 ++-- engines/fullpipe/motion.cpp | 4 ++-- engines/fullpipe/motion.h | 4 ++-- engines/fullpipe/objectnames.h | 4 ++-- engines/fullpipe/objects.h | 4 ++-- engines/fullpipe/scene.cpp | 4 ++-- engines/fullpipe/scene.h | 4 ++-- engines/fullpipe/scenes.cpp | 4 ++-- engines/fullpipe/scenes.h | 4 ++-- engines/fullpipe/scenes/scene01.cpp | 4 ++-- engines/fullpipe/scenes/scene02.cpp | 4 ++-- engines/fullpipe/scenes/scene03.cpp | 4 ++-- engines/fullpipe/scenes/scene04.cpp | 4 ++-- engines/fullpipe/scenes/scene05.cpp | 4 ++-- engines/fullpipe/scenes/scene06.cpp | 4 ++-- engines/fullpipe/scenes/scene07.cpp | 4 ++-- engines/fullpipe/scenes/scene08.cpp | 4 ++-- engines/fullpipe/scenes/scene09.cpp | 4 ++-- engines/fullpipe/scenes/scene10.cpp | 4 ++-- engines/fullpipe/scenes/scene11.cpp | 4 ++-- engines/fullpipe/scenes/scene12.cpp | 4 ++-- engines/fullpipe/scenes/scene13.cpp | 4 ++-- engines/fullpipe/scenes/scene14.cpp | 4 ++-- engines/fullpipe/scenes/scene15.cpp | 4 ++-- engines/fullpipe/scenes/scene16.cpp | 4 ++-- engines/fullpipe/scenes/scene17.cpp | 4 ++-- engines/fullpipe/scenes/scene18and19.cpp | 4 ++-- engines/fullpipe/scenes/scene20.cpp | 4 ++-- engines/fullpipe/scenes/scene21.cpp | 4 ++-- engines/fullpipe/scenes/scene22.cpp | 4 ++-- engines/fullpipe/scenes/scene23.cpp | 4 ++-- engines/fullpipe/scenes/scene24.cpp | 4 ++-- engines/fullpipe/scenes/scene25.cpp | 4 ++-- engines/fullpipe/scenes/scene26.cpp | 4 ++-- engines/fullpipe/scenes/scene27.cpp | 4 ++-- engines/fullpipe/scenes/scene28.cpp | 4 ++-- engines/fullpipe/scenes/scene30.cpp | 4 ++-- engines/fullpipe/scenes/scene31.cpp | 4 ++-- engines/fullpipe/scenes/scene32.cpp | 4 ++-- engines/fullpipe/scenes/scene33.cpp | 4 ++-- engines/fullpipe/scenes/scene34.cpp | 4 ++-- engines/fullpipe/scenes/scene35.cpp | 4 ++-- engines/fullpipe/scenes/scene36.cpp | 4 ++-- engines/fullpipe/scenes/scene37.cpp | 4 ++-- engines/fullpipe/scenes/scene38.cpp | 4 ++-- engines/fullpipe/scenes/sceneDbg.cpp | 4 ++-- engines/fullpipe/scenes/sceneFinal.cpp | 4 ++-- engines/fullpipe/scenes/sceneIntro.cpp | 4 ++-- engines/fullpipe/sound.cpp | 4 ++-- engines/fullpipe/sound.h | 4 ++-- engines/fullpipe/stateloader.cpp | 4 ++-- engines/fullpipe/statics.cpp | 4 ++-- engines/fullpipe/statics.h | 4 ++-- engines/fullpipe/utils.cpp | 4 ++-- engines/fullpipe/utils.h | 4 ++-- 81 files changed, 162 insertions(+), 162 deletions(-) diff --git a/engines/fullpipe/behavior.cpp b/engines/fullpipe/behavior.cpp index 75cb027d7a..2e3a4e2e44 100644 --- a/engines/fullpipe/behavior.cpp +++ b/engines/fullpipe/behavior.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/fullpipe/behavior.h b/engines/fullpipe/behavior.h index 90bb38dc9b..1ec98d5bf2 100644 --- a/engines/fullpipe/behavior.h +++ b/engines/fullpipe/behavior.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/fullpipe/console.cpp b/engines/fullpipe/console.cpp index 2d27fc2ddd..cb76345d66 100644 --- a/engines/fullpipe/console.cpp +++ b/engines/fullpipe/console.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/fullpipe/console.h b/engines/fullpipe/console.h index af2b5114ac..24f213a50f 100644 --- a/engines/fullpipe/console.h +++ b/engines/fullpipe/console.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/fullpipe/constants.h b/engines/fullpipe/constants.h index 0bfee05e58..525e23764b 100644 --- a/engines/fullpipe/constants.h +++ b/engines/fullpipe/constants.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/fullpipe/detection.cpp b/engines/fullpipe/detection.cpp index 8c4a422333..62c5dd3b80 100644 --- a/engines/fullpipe/detection.cpp +++ b/engines/fullpipe/detection.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/fullpipe/floaters.cpp b/engines/fullpipe/floaters.cpp index 9e5ca7b3f1..eb29706f72 100644 --- a/engines/fullpipe/floaters.cpp +++ b/engines/fullpipe/floaters.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/fullpipe/floaters.h b/engines/fullpipe/floaters.h index 3ecbbeea9c..bd7b7ffd2c 100644 --- a/engines/fullpipe/floaters.h +++ b/engines/fullpipe/floaters.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/fullpipe/fullpipe.cpp b/engines/fullpipe/fullpipe.cpp index b1e366c3a1..4446af7b60 100644 --- a/engines/fullpipe/fullpipe.cpp +++ b/engines/fullpipe/fullpipe.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/fullpipe/fullpipe.h b/engines/fullpipe/fullpipe.h index 3a43f69fb1..17a771bd5d 100644 --- a/engines/fullpipe/fullpipe.h +++ b/engines/fullpipe/fullpipe.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/fullpipe/gameloader.cpp b/engines/fullpipe/gameloader.cpp index 845655dded..bbcce2ef71 100644 --- a/engines/fullpipe/gameloader.cpp +++ b/engines/fullpipe/gameloader.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/fullpipe/gameloader.h b/engines/fullpipe/gameloader.h index 85bd6ab0fb..a79c0e11b4 100644 --- a/engines/fullpipe/gameloader.h +++ b/engines/fullpipe/gameloader.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/fullpipe/gfx.cpp b/engines/fullpipe/gfx.cpp index d72419b645..137af86f48 100644 --- a/engines/fullpipe/gfx.cpp +++ b/engines/fullpipe/gfx.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/fullpipe/gfx.h b/engines/fullpipe/gfx.h index d640decc80..b3e22b610b 100644 --- a/engines/fullpipe/gfx.h +++ b/engines/fullpipe/gfx.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/fullpipe/init.cpp b/engines/fullpipe/init.cpp index fd90db9e0f..9602803010 100644 --- a/engines/fullpipe/init.cpp +++ b/engines/fullpipe/init.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/fullpipe/input.cpp b/engines/fullpipe/input.cpp index 5294c4b4ea..0678d15368 100644 --- a/engines/fullpipe/input.cpp +++ b/engines/fullpipe/input.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/fullpipe/input.h b/engines/fullpipe/input.h index bfd547ae2f..6a1d0f8b07 100644 --- a/engines/fullpipe/input.h +++ b/engines/fullpipe/input.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/fullpipe/interaction.cpp b/engines/fullpipe/interaction.cpp index 59b01a1777..6b6ceb6eeb 100644 --- a/engines/fullpipe/interaction.cpp +++ b/engines/fullpipe/interaction.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/fullpipe/interaction.h b/engines/fullpipe/interaction.h index 7d9ee0bd51..cb1eac002a 100644 --- a/engines/fullpipe/interaction.h +++ b/engines/fullpipe/interaction.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/fullpipe/inventory.cpp b/engines/fullpipe/inventory.cpp index 483631ed33..cfe8adf86f 100644 --- a/engines/fullpipe/inventory.cpp +++ b/engines/fullpipe/inventory.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/fullpipe/inventory.h b/engines/fullpipe/inventory.h index bc5847312b..833cccc355 100644 --- a/engines/fullpipe/inventory.h +++ b/engines/fullpipe/inventory.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/fullpipe/lift.cpp b/engines/fullpipe/lift.cpp index 37c4a300a4..9a3d91540a 100644 --- a/engines/fullpipe/lift.cpp +++ b/engines/fullpipe/lift.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/fullpipe/messagehandlers.cpp b/engines/fullpipe/messagehandlers.cpp index 80201cb440..b8e7b5c1db 100644 --- a/engines/fullpipe/messagehandlers.cpp +++ b/engines/fullpipe/messagehandlers.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/fullpipe/messages.cpp b/engines/fullpipe/messages.cpp index f81fd8d0aa..9c8f5ac4e2 100644 --- a/engines/fullpipe/messages.cpp +++ b/engines/fullpipe/messages.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/fullpipe/messages.h b/engines/fullpipe/messages.h index f8e9d16a73..da579d58c0 100644 --- a/engines/fullpipe/messages.h +++ b/engines/fullpipe/messages.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/fullpipe/modal.cpp b/engines/fullpipe/modal.cpp index 2e7b33b050..603aaff026 100644 --- a/engines/fullpipe/modal.cpp +++ b/engines/fullpipe/modal.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/fullpipe/modal.h b/engines/fullpipe/modal.h index aa9b997cd1..7ed433b125 100644 --- a/engines/fullpipe/modal.h +++ b/engines/fullpipe/modal.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/fullpipe/motion.cpp b/engines/fullpipe/motion.cpp index 9171dc1405..0881a19692 100644 --- a/engines/fullpipe/motion.cpp +++ b/engines/fullpipe/motion.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/fullpipe/motion.h b/engines/fullpipe/motion.h index 8ca1cdff57..a9695e8094 100644 --- a/engines/fullpipe/motion.h +++ b/engines/fullpipe/motion.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/fullpipe/objectnames.h b/engines/fullpipe/objectnames.h index a3718519ca..0baf83b175 100644 --- a/engines/fullpipe/objectnames.h +++ b/engines/fullpipe/objectnames.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/fullpipe/objects.h b/engines/fullpipe/objects.h index d13559429a..1849bcb96e 100644 --- a/engines/fullpipe/objects.h +++ b/engines/fullpipe/objects.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/fullpipe/scene.cpp b/engines/fullpipe/scene.cpp index 997d92ae1c..a0151dd9be 100644 --- a/engines/fullpipe/scene.cpp +++ b/engines/fullpipe/scene.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/fullpipe/scene.h b/engines/fullpipe/scene.h index fc04a877f5..86a06904e1 100644 --- a/engines/fullpipe/scene.h +++ b/engines/fullpipe/scene.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/fullpipe/scenes.cpp b/engines/fullpipe/scenes.cpp index 96de1448c4..327167a422 100644 --- a/engines/fullpipe/scenes.cpp +++ b/engines/fullpipe/scenes.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/fullpipe/scenes.h b/engines/fullpipe/scenes.h index 6b4c7e3632..6971067b7d 100644 --- a/engines/fullpipe/scenes.h +++ b/engines/fullpipe/scenes.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/fullpipe/scenes/scene01.cpp b/engines/fullpipe/scenes/scene01.cpp index 6c8f26d209..e24eb1fa45 100644 --- a/engines/fullpipe/scenes/scene01.cpp +++ b/engines/fullpipe/scenes/scene01.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/fullpipe/scenes/scene02.cpp b/engines/fullpipe/scenes/scene02.cpp index 95cf1df7dd..109a20a07a 100644 --- a/engines/fullpipe/scenes/scene02.cpp +++ b/engines/fullpipe/scenes/scene02.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/fullpipe/scenes/scene03.cpp b/engines/fullpipe/scenes/scene03.cpp index 5d22931fb7..e6c9fa3bbd 100644 --- a/engines/fullpipe/scenes/scene03.cpp +++ b/engines/fullpipe/scenes/scene03.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/fullpipe/scenes/scene04.cpp b/engines/fullpipe/scenes/scene04.cpp index b2137ec627..b47553ef6f 100644 --- a/engines/fullpipe/scenes/scene04.cpp +++ b/engines/fullpipe/scenes/scene04.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/fullpipe/scenes/scene05.cpp b/engines/fullpipe/scenes/scene05.cpp index 1a728794aa..8864794691 100644 --- a/engines/fullpipe/scenes/scene05.cpp +++ b/engines/fullpipe/scenes/scene05.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/fullpipe/scenes/scene06.cpp b/engines/fullpipe/scenes/scene06.cpp index 2687db70b7..d54ebf4514 100644 --- a/engines/fullpipe/scenes/scene06.cpp +++ b/engines/fullpipe/scenes/scene06.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/fullpipe/scenes/scene07.cpp b/engines/fullpipe/scenes/scene07.cpp index 207189d151..6db8c30932 100644 --- a/engines/fullpipe/scenes/scene07.cpp +++ b/engines/fullpipe/scenes/scene07.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/fullpipe/scenes/scene08.cpp b/engines/fullpipe/scenes/scene08.cpp index 716ca1f593..a5f5a8b389 100644 --- a/engines/fullpipe/scenes/scene08.cpp +++ b/engines/fullpipe/scenes/scene08.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/fullpipe/scenes/scene09.cpp b/engines/fullpipe/scenes/scene09.cpp index 44f817f1b6..7666e87db2 100644 --- a/engines/fullpipe/scenes/scene09.cpp +++ b/engines/fullpipe/scenes/scene09.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/fullpipe/scenes/scene10.cpp b/engines/fullpipe/scenes/scene10.cpp index 4f9e627fa4..8c9e0b67d0 100644 --- a/engines/fullpipe/scenes/scene10.cpp +++ b/engines/fullpipe/scenes/scene10.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/fullpipe/scenes/scene11.cpp b/engines/fullpipe/scenes/scene11.cpp index e7ed947a00..0ce82f5d5f 100644 --- a/engines/fullpipe/scenes/scene11.cpp +++ b/engines/fullpipe/scenes/scene11.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/fullpipe/scenes/scene12.cpp b/engines/fullpipe/scenes/scene12.cpp index 0295efcaf5..f63bb9a9fd 100644 --- a/engines/fullpipe/scenes/scene12.cpp +++ b/engines/fullpipe/scenes/scene12.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/fullpipe/scenes/scene13.cpp b/engines/fullpipe/scenes/scene13.cpp index 0a0c2f3906..c7b3c96b93 100644 --- a/engines/fullpipe/scenes/scene13.cpp +++ b/engines/fullpipe/scenes/scene13.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/fullpipe/scenes/scene14.cpp b/engines/fullpipe/scenes/scene14.cpp index 28f054fd32..21dbe8101f 100644 --- a/engines/fullpipe/scenes/scene14.cpp +++ b/engines/fullpipe/scenes/scene14.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/fullpipe/scenes/scene15.cpp b/engines/fullpipe/scenes/scene15.cpp index 9e11df92e4..452f2edeca 100644 --- a/engines/fullpipe/scenes/scene15.cpp +++ b/engines/fullpipe/scenes/scene15.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/fullpipe/scenes/scene16.cpp b/engines/fullpipe/scenes/scene16.cpp index b1e261287a..9ed355fdd9 100644 --- a/engines/fullpipe/scenes/scene16.cpp +++ b/engines/fullpipe/scenes/scene16.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/fullpipe/scenes/scene17.cpp b/engines/fullpipe/scenes/scene17.cpp index 73bf7ab1c0..d40f8cf816 100644 --- a/engines/fullpipe/scenes/scene17.cpp +++ b/engines/fullpipe/scenes/scene17.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/fullpipe/scenes/scene18and19.cpp b/engines/fullpipe/scenes/scene18and19.cpp index a965cfb98e..5f24aeb96e 100644 --- a/engines/fullpipe/scenes/scene18and19.cpp +++ b/engines/fullpipe/scenes/scene18and19.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/fullpipe/scenes/scene20.cpp b/engines/fullpipe/scenes/scene20.cpp index 5fed24aabd..7f19f175cc 100644 --- a/engines/fullpipe/scenes/scene20.cpp +++ b/engines/fullpipe/scenes/scene20.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/fullpipe/scenes/scene21.cpp b/engines/fullpipe/scenes/scene21.cpp index 5a6509964d..8918515431 100644 --- a/engines/fullpipe/scenes/scene21.cpp +++ b/engines/fullpipe/scenes/scene21.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/fullpipe/scenes/scene22.cpp b/engines/fullpipe/scenes/scene22.cpp index 13c9ab36e9..542834b51a 100644 --- a/engines/fullpipe/scenes/scene22.cpp +++ b/engines/fullpipe/scenes/scene22.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/fullpipe/scenes/scene23.cpp b/engines/fullpipe/scenes/scene23.cpp index 1f2587eba4..ccfbac9223 100644 --- a/engines/fullpipe/scenes/scene23.cpp +++ b/engines/fullpipe/scenes/scene23.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/fullpipe/scenes/scene24.cpp b/engines/fullpipe/scenes/scene24.cpp index 508f776573..2eb536df3f 100644 --- a/engines/fullpipe/scenes/scene24.cpp +++ b/engines/fullpipe/scenes/scene24.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/fullpipe/scenes/scene25.cpp b/engines/fullpipe/scenes/scene25.cpp index ba07c3e5b9..fae311efad 100644 --- a/engines/fullpipe/scenes/scene25.cpp +++ b/engines/fullpipe/scenes/scene25.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/fullpipe/scenes/scene26.cpp b/engines/fullpipe/scenes/scene26.cpp index 91679347e6..b9d9161e7d 100644 --- a/engines/fullpipe/scenes/scene26.cpp +++ b/engines/fullpipe/scenes/scene26.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/fullpipe/scenes/scene27.cpp b/engines/fullpipe/scenes/scene27.cpp index 0627f262d3..1431ceffba 100644 --- a/engines/fullpipe/scenes/scene27.cpp +++ b/engines/fullpipe/scenes/scene27.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/fullpipe/scenes/scene28.cpp b/engines/fullpipe/scenes/scene28.cpp index 62afd128c2..c21ce05502 100644 --- a/engines/fullpipe/scenes/scene28.cpp +++ b/engines/fullpipe/scenes/scene28.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/fullpipe/scenes/scene30.cpp b/engines/fullpipe/scenes/scene30.cpp index 39a51deeef..ca2324e647 100644 --- a/engines/fullpipe/scenes/scene30.cpp +++ b/engines/fullpipe/scenes/scene30.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/fullpipe/scenes/scene31.cpp b/engines/fullpipe/scenes/scene31.cpp index 587fc6aaef..3f507e62b7 100644 --- a/engines/fullpipe/scenes/scene31.cpp +++ b/engines/fullpipe/scenes/scene31.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/fullpipe/scenes/scene32.cpp b/engines/fullpipe/scenes/scene32.cpp index be7c983277..9279db7513 100644 --- a/engines/fullpipe/scenes/scene32.cpp +++ b/engines/fullpipe/scenes/scene32.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/fullpipe/scenes/scene33.cpp b/engines/fullpipe/scenes/scene33.cpp index 209198c0f3..90ea0a4f3f 100644 --- a/engines/fullpipe/scenes/scene33.cpp +++ b/engines/fullpipe/scenes/scene33.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/fullpipe/scenes/scene34.cpp b/engines/fullpipe/scenes/scene34.cpp index 136dea59dd..1c8c8b4855 100644 --- a/engines/fullpipe/scenes/scene34.cpp +++ b/engines/fullpipe/scenes/scene34.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/fullpipe/scenes/scene35.cpp b/engines/fullpipe/scenes/scene35.cpp index a42849eeb5..53381fd555 100644 --- a/engines/fullpipe/scenes/scene35.cpp +++ b/engines/fullpipe/scenes/scene35.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/fullpipe/scenes/scene36.cpp b/engines/fullpipe/scenes/scene36.cpp index 7d237fd395..44099faba0 100644 --- a/engines/fullpipe/scenes/scene36.cpp +++ b/engines/fullpipe/scenes/scene36.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/fullpipe/scenes/scene37.cpp b/engines/fullpipe/scenes/scene37.cpp index 8324e00af7..09da01f138 100644 --- a/engines/fullpipe/scenes/scene37.cpp +++ b/engines/fullpipe/scenes/scene37.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/fullpipe/scenes/scene38.cpp b/engines/fullpipe/scenes/scene38.cpp index 7fb0be8509..2bdae1ce66 100644 --- a/engines/fullpipe/scenes/scene38.cpp +++ b/engines/fullpipe/scenes/scene38.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/fullpipe/scenes/sceneDbg.cpp b/engines/fullpipe/scenes/sceneDbg.cpp index 4a3751940f..bd53f5749f 100644 --- a/engines/fullpipe/scenes/sceneDbg.cpp +++ b/engines/fullpipe/scenes/sceneDbg.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/fullpipe/scenes/sceneFinal.cpp b/engines/fullpipe/scenes/sceneFinal.cpp index e483e8bab7..d0040463ef 100644 --- a/engines/fullpipe/scenes/sceneFinal.cpp +++ b/engines/fullpipe/scenes/sceneFinal.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/fullpipe/scenes/sceneIntro.cpp b/engines/fullpipe/scenes/sceneIntro.cpp index c9f19f3724..5e69cf1d7a 100644 --- a/engines/fullpipe/scenes/sceneIntro.cpp +++ b/engines/fullpipe/scenes/sceneIntro.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/fullpipe/sound.cpp b/engines/fullpipe/sound.cpp index fd25e2c903..bb6aabd2b5 100644 --- a/engines/fullpipe/sound.cpp +++ b/engines/fullpipe/sound.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/fullpipe/sound.h b/engines/fullpipe/sound.h index ca64832c04..8ddfc753ce 100644 --- a/engines/fullpipe/sound.h +++ b/engines/fullpipe/sound.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/fullpipe/stateloader.cpp b/engines/fullpipe/stateloader.cpp index ccf77ff81a..e36b196517 100644 --- a/engines/fullpipe/stateloader.cpp +++ b/engines/fullpipe/stateloader.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/fullpipe/statics.cpp b/engines/fullpipe/statics.cpp index 10d9b4dfdf..bdb46b9b3a 100644 --- a/engines/fullpipe/statics.cpp +++ b/engines/fullpipe/statics.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/fullpipe/statics.h b/engines/fullpipe/statics.h index a620daa528..b7eee2e60e 100644 --- a/engines/fullpipe/statics.h +++ b/engines/fullpipe/statics.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/fullpipe/utils.cpp b/engines/fullpipe/utils.cpp index b3668ea362..0cc8bd83f4 100644 --- a/engines/fullpipe/utils.cpp +++ b/engines/fullpipe/utils.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/fullpipe/utils.h b/engines/fullpipe/utils.h index 5714fd3b4c..72e746cd03 100644 --- a/engines/fullpipe/utils.h +++ b/engines/fullpipe/utils.h @@ -8,12 +8,12 @@ * 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. -- cgit v1.2.3 From ea21bc939a82f52ec6b948396e866f785c486c5a Mon Sep 17 00:00:00 2001 From: Johannes Schickel Date: Tue, 18 Feb 2014 02:34:20 +0100 Subject: GOB: Make GPL headers consistent in themselves. --- engines/gob/anifile.cpp | 4 ++-- engines/gob/anifile.h | 4 ++-- engines/gob/aniobject.cpp | 4 ++-- engines/gob/aniobject.h | 4 ++-- engines/gob/backbuffer.cpp | 4 ++-- engines/gob/backbuffer.h | 4 ++-- engines/gob/cheater.cpp | 4 ++-- engines/gob/cheater.h | 4 ++-- engines/gob/cheater_geisha.cpp | 4 ++-- engines/gob/cmpfile.cpp | 4 ++-- engines/gob/cmpfile.h | 4 ++-- engines/gob/console.cpp | 4 ++-- engines/gob/console.h | 4 ++-- engines/gob/databases.cpp | 4 ++-- engines/gob/databases.h | 4 ++-- engines/gob/dataio.cpp | 4 ++-- engines/gob/dataio.h | 4 ++-- engines/gob/dbase.cpp | 4 ++-- engines/gob/dbase.h | 4 ++-- engines/gob/decfile.cpp | 4 ++-- engines/gob/decfile.h | 4 ++-- engines/gob/demos/batplayer.cpp | 4 ++-- engines/gob/demos/batplayer.h | 4 ++-- engines/gob/demos/demoplayer.cpp | 4 ++-- engines/gob/demos/demoplayer.h | 4 ++-- engines/gob/demos/scnplayer.cpp | 4 ++-- engines/gob/demos/scnplayer.h | 4 ++-- engines/gob/detection/detection.cpp | 4 ++-- engines/gob/detection/tables.h | 4 ++-- engines/gob/detection/tables_adi2.h | 4 ++-- engines/gob/detection/tables_adi4.h | 4 ++-- engines/gob/detection/tables_adibou.h | 4 ++-- engines/gob/detection/tables_ajworld.h | 4 ++-- engines/gob/detection/tables_bargon.h | 4 ++-- engines/gob/detection/tables_crousti.h | 4 ++-- engines/gob/detection/tables_dynasty.h | 4 ++-- engines/gob/detection/tables_fallback.h | 4 ++-- engines/gob/detection/tables_fascin.h | 4 ++-- engines/gob/detection/tables_geisha.h | 4 ++-- engines/gob/detection/tables_gob1.h | 4 ++-- engines/gob/detection/tables_gob2.h | 4 ++-- engines/gob/detection/tables_gob3.h | 4 ++-- engines/gob/detection/tables_inca2.h | 4 ++-- engines/gob/detection/tables_lit.h | 4 ++-- engines/gob/detection/tables_littlered.h | 4 ++-- engines/gob/detection/tables_onceupon.h | 4 ++-- engines/gob/detection/tables_playtoons.h | 4 ++-- engines/gob/detection/tables_urban.h | 4 ++-- engines/gob/detection/tables_ween.h | 4 ++-- engines/gob/detection/tables_woodruff.h | 4 ++-- engines/gob/draw.cpp | 4 ++-- engines/gob/draw.h | 4 ++-- engines/gob/draw_bargon.cpp | 4 ++-- engines/gob/draw_fascin.cpp | 4 ++-- engines/gob/draw_playtoons.cpp | 4 ++-- engines/gob/draw_v1.cpp | 4 ++-- engines/gob/draw_v2.cpp | 4 ++-- engines/gob/expression.cpp | 4 ++-- engines/gob/expression.h | 4 ++-- engines/gob/game.cpp | 4 ++-- engines/gob/game.h | 4 ++-- engines/gob/global.cpp | 4 ++-- engines/gob/global.h | 4 ++-- engines/gob/gob.cpp | 4 ++-- engines/gob/gob.h | 4 ++-- engines/gob/goblin.cpp | 4 ++-- engines/gob/goblin.h | 4 ++-- engines/gob/goblin_v1.cpp | 4 ++-- engines/gob/goblin_v2.cpp | 4 ++-- engines/gob/goblin_v3.cpp | 4 ++-- engines/gob/goblin_v4.cpp | 6 +++--- engines/gob/hotspots.cpp | 4 ++-- engines/gob/hotspots.h | 4 ++-- engines/gob/iniconfig.cpp | 4 ++-- engines/gob/iniconfig.h | 4 ++-- engines/gob/init.cpp | 4 ++-- engines/gob/init.h | 4 ++-- engines/gob/init_fascin.cpp | 4 ++-- engines/gob/init_geisha.cpp | 4 ++-- engines/gob/init_v1.cpp | 4 ++-- engines/gob/init_v2.cpp | 4 ++-- engines/gob/init_v3.cpp | 4 ++-- engines/gob/init_v4.cpp | 4 ++-- engines/gob/init_v6.cpp | 4 ++-- engines/gob/init_v7.cpp | 4 ++-- engines/gob/inter.cpp | 4 ++-- engines/gob/inter.h | 4 ++-- engines/gob/inter_bargon.cpp | 4 ++-- engines/gob/inter_fascin.cpp | 4 ++-- engines/gob/inter_geisha.cpp | 4 ++-- engines/gob/inter_inca2.cpp | 4 ++-- engines/gob/inter_littlered.cpp | 4 ++-- engines/gob/inter_playtoons.cpp | 4 ++-- engines/gob/inter_v1.cpp | 4 ++-- engines/gob/inter_v2.cpp | 4 ++-- engines/gob/inter_v3.cpp | 4 ++-- engines/gob/inter_v4.cpp | 4 ++-- engines/gob/inter_v5.cpp | 4 ++-- engines/gob/inter_v6.cpp | 4 ++-- engines/gob/inter_v7.cpp | 4 ++-- engines/gob/map.cpp | 4 ++-- engines/gob/map.h | 4 ++-- engines/gob/map_v1.cpp | 4 ++-- engines/gob/map_v2.cpp | 4 ++-- engines/gob/minigames/geisha/diving.cpp | 4 ++-- engines/gob/minigames/geisha/diving.h | 4 ++-- engines/gob/minigames/geisha/evilfish.cpp | 4 ++-- engines/gob/minigames/geisha/evilfish.h | 4 ++-- engines/gob/minigames/geisha/meter.cpp | 4 ++-- engines/gob/minigames/geisha/meter.h | 4 ++-- engines/gob/minigames/geisha/mouth.cpp | 4 ++-- engines/gob/minigames/geisha/mouth.h | 4 ++-- engines/gob/minigames/geisha/oko.cpp | 4 ++-- engines/gob/minigames/geisha/oko.h | 4 ++-- engines/gob/minigames/geisha/penetration.cpp | 4 ++-- engines/gob/minigames/geisha/penetration.h | 4 ++-- engines/gob/minigames/geisha/submarine.cpp | 4 ++-- engines/gob/minigames/geisha/submarine.h | 4 ++-- engines/gob/mult.cpp | 4 ++-- engines/gob/mult.h | 4 ++-- engines/gob/mult_v2.cpp | 4 ++-- engines/gob/palanim.cpp | 4 ++-- engines/gob/palanim.h | 4 ++-- engines/gob/pregob/gctfile.cpp | 4 ++-- engines/gob/pregob/gctfile.h | 4 ++-- engines/gob/pregob/onceupon/abracadabra.cpp | 4 ++-- engines/gob/pregob/onceupon/abracadabra.h | 4 ++-- engines/gob/pregob/onceupon/babayaga.cpp | 4 ++-- engines/gob/pregob/onceupon/babayaga.h | 4 ++-- engines/gob/pregob/onceupon/brokenstrings.h | 4 ++-- engines/gob/pregob/onceupon/chargenchild.cpp | 4 ++-- engines/gob/pregob/onceupon/chargenchild.h | 4 ++-- engines/gob/pregob/onceupon/onceupon.cpp | 4 ++-- engines/gob/pregob/onceupon/onceupon.h | 4 ++-- engines/gob/pregob/onceupon/palettes.h | 4 ++-- engines/gob/pregob/onceupon/parents.cpp | 4 ++-- engines/gob/pregob/onceupon/parents.h | 4 ++-- engines/gob/pregob/onceupon/stork.cpp | 4 ++-- engines/gob/pregob/onceupon/stork.h | 4 ++-- engines/gob/pregob/onceupon/title.cpp | 4 ++-- engines/gob/pregob/onceupon/title.h | 4 ++-- engines/gob/pregob/pregob.cpp | 4 ++-- engines/gob/pregob/pregob.h | 4 ++-- engines/gob/pregob/seqfile.cpp | 4 ++-- engines/gob/pregob/seqfile.h | 4 ++-- engines/gob/pregob/txtfile.cpp | 4 ++-- engines/gob/pregob/txtfile.h | 4 ++-- engines/gob/resources.cpp | 4 ++-- engines/gob/resources.h | 4 ++-- engines/gob/rxyfile.cpp | 4 ++-- engines/gob/rxyfile.h | 4 ++-- engines/gob/save/saveconverter.cpp | 4 ++-- engines/gob/save/saveconverter.h | 4 ++-- engines/gob/save/saveconverter_v2.cpp | 4 ++-- engines/gob/save/saveconverter_v3.cpp | 4 ++-- engines/gob/save/saveconverter_v4.cpp | 4 ++-- engines/gob/save/savefile.cpp | 4 ++-- engines/gob/save/savefile.h | 4 ++-- engines/gob/save/savehandler.cpp | 4 ++-- engines/gob/save/savehandler.h | 4 ++-- engines/gob/save/saveload.cpp | 4 ++-- engines/gob/save/saveload.h | 4 ++-- engines/gob/save/saveload_ajworld.cpp | 4 ++-- engines/gob/save/saveload_fascin.cpp | 4 ++-- engines/gob/save/saveload_geisha.cpp | 4 ++-- engines/gob/save/saveload_inca2.cpp | 4 ++-- engines/gob/save/saveload_playtoons.cpp | 4 ++-- engines/gob/save/saveload_v2.cpp | 4 ++-- engines/gob/save/saveload_v3.cpp | 4 ++-- engines/gob/save/saveload_v4.cpp | 4 ++-- engines/gob/save/saveload_v6.cpp | 4 ++-- engines/gob/save/saveload_v7.cpp | 4 ++-- engines/gob/scenery.cpp | 4 ++-- engines/gob/scenery.h | 4 ++-- engines/gob/scenery_v1.cpp | 4 ++-- engines/gob/scenery_v2.cpp | 4 ++-- engines/gob/script.cpp | 4 ++-- engines/gob/script.h | 4 ++-- engines/gob/sound/adlib.cpp | 4 ++-- engines/gob/sound/adlib.h | 4 ++-- engines/gob/sound/adlplayer.cpp | 4 ++-- engines/gob/sound/adlplayer.h | 4 ++-- engines/gob/sound/bgatmosphere.cpp | 4 ++-- engines/gob/sound/bgatmosphere.h | 4 ++-- engines/gob/sound/cdrom.cpp | 4 ++-- engines/gob/sound/cdrom.h | 4 ++-- engines/gob/sound/infogrames.cpp | 4 ++-- engines/gob/sound/infogrames.h | 4 ++-- engines/gob/sound/musplayer.cpp | 4 ++-- engines/gob/sound/musplayer.h | 4 ++-- engines/gob/sound/pcspeaker.cpp | 4 ++-- engines/gob/sound/pcspeaker.h | 4 ++-- engines/gob/sound/protracker.cpp | 4 ++-- engines/gob/sound/protracker.h | 4 ++-- engines/gob/sound/sound.cpp | 4 ++-- engines/gob/sound/sound.h | 4 ++-- engines/gob/sound/soundblaster.cpp | 4 ++-- engines/gob/sound/soundblaster.h | 4 ++-- engines/gob/sound/sounddesc.cpp | 4 ++-- engines/gob/sound/sounddesc.h | 4 ++-- engines/gob/sound/soundmixer.cpp | 4 ++-- engines/gob/sound/soundmixer.h | 4 ++-- engines/gob/surface.cpp | 4 ++-- engines/gob/surface.h | 4 ++-- engines/gob/totfile.cpp | 4 ++-- engines/gob/totfile.h | 4 ++-- engines/gob/util.cpp | 4 ++-- engines/gob/util.h | 4 ++-- engines/gob/variables.cpp | 4 ++-- engines/gob/variables.h | 4 ++-- engines/gob/video.cpp | 4 ++-- engines/gob/video.h | 4 ++-- engines/gob/video_v1.cpp | 4 ++-- engines/gob/video_v2.cpp | 4 ++-- engines/gob/video_v6.cpp | 4 ++-- engines/gob/videoplayer.cpp | 4 ++-- engines/gob/videoplayer.h | 4 ++-- 217 files changed, 435 insertions(+), 435 deletions(-) diff --git a/engines/gob/anifile.cpp b/engines/gob/anifile.cpp index 3b6a7f61ed..8d4afdf94a 100644 --- a/engines/gob/anifile.cpp +++ b/engines/gob/anifile.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/anifile.h b/engines/gob/anifile.h index c930aafc6b..e9ca9da43e 100644 --- a/engines/gob/anifile.h +++ b/engines/gob/anifile.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/aniobject.cpp b/engines/gob/aniobject.cpp index 7e3668a0ce..905997f160 100644 --- a/engines/gob/aniobject.cpp +++ b/engines/gob/aniobject.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/aniobject.h b/engines/gob/aniobject.h index d8c8edc2b8..8120d2e0d5 100644 --- a/engines/gob/aniobject.h +++ b/engines/gob/aniobject.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/backbuffer.cpp b/engines/gob/backbuffer.cpp index 752042d46e..cee5db5a41 100644 --- a/engines/gob/backbuffer.cpp +++ b/engines/gob/backbuffer.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/backbuffer.h b/engines/gob/backbuffer.h index c978689e9f..c724cd86c8 100644 --- a/engines/gob/backbuffer.h +++ b/engines/gob/backbuffer.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/cheater.cpp b/engines/gob/cheater.cpp index 5c1f555389..63c84e1cd7 100644 --- a/engines/gob/cheater.cpp +++ b/engines/gob/cheater.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/cheater.h b/engines/gob/cheater.h index bf6c1372fb..a4cd621b58 100644 --- a/engines/gob/cheater.h +++ b/engines/gob/cheater.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/cheater_geisha.cpp b/engines/gob/cheater_geisha.cpp index 567333c12f..8c4deec370 100644 --- a/engines/gob/cheater_geisha.cpp +++ b/engines/gob/cheater_geisha.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/cmpfile.cpp b/engines/gob/cmpfile.cpp index 0c650a917e..67b378475d 100644 --- a/engines/gob/cmpfile.cpp +++ b/engines/gob/cmpfile.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/cmpfile.h b/engines/gob/cmpfile.h index 9c858238af..055de1b6b6 100644 --- a/engines/gob/cmpfile.h +++ b/engines/gob/cmpfile.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/console.cpp b/engines/gob/console.cpp index 76ccb70dca..b0f6006284 100644 --- a/engines/gob/console.cpp +++ b/engines/gob/console.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/console.h b/engines/gob/console.h index 5b6f0255dd..26a9cb69dd 100644 --- a/engines/gob/console.h +++ b/engines/gob/console.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/databases.cpp b/engines/gob/databases.cpp index 497de489ce..d8d1875371 100644 --- a/engines/gob/databases.cpp +++ b/engines/gob/databases.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/databases.h b/engines/gob/databases.h index cde123e6a8..8ef48b480f 100644 --- a/engines/gob/databases.h +++ b/engines/gob/databases.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/dataio.cpp b/engines/gob/dataio.cpp index 2071c0f1be..6deaef417e 100644 --- a/engines/gob/dataio.cpp +++ b/engines/gob/dataio.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/dataio.h b/engines/gob/dataio.h index adf0786389..00fe00e3f5 100644 --- a/engines/gob/dataio.h +++ b/engines/gob/dataio.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/dbase.cpp b/engines/gob/dbase.cpp index 41bd5308ec..5e44ec133e 100644 --- a/engines/gob/dbase.cpp +++ b/engines/gob/dbase.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/dbase.h b/engines/gob/dbase.h index 3da1ef7270..387f5029b3 100644 --- a/engines/gob/dbase.h +++ b/engines/gob/dbase.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/decfile.cpp b/engines/gob/decfile.cpp index 85b4c09ca3..3ea3773ec6 100644 --- a/engines/gob/decfile.cpp +++ b/engines/gob/decfile.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/decfile.h b/engines/gob/decfile.h index 48af740d41..f6946b9b79 100644 --- a/engines/gob/decfile.h +++ b/engines/gob/decfile.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/demos/batplayer.cpp b/engines/gob/demos/batplayer.cpp index 9c073f0e77..6aa62e3db0 100644 --- a/engines/gob/demos/batplayer.cpp +++ b/engines/gob/demos/batplayer.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/demos/batplayer.h b/engines/gob/demos/batplayer.h index f406ea1bf8..a0a9f17c01 100644 --- a/engines/gob/demos/batplayer.h +++ b/engines/gob/demos/batplayer.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/demos/demoplayer.cpp b/engines/gob/demos/demoplayer.cpp index 9aa7a4123d..4812301a6b 100644 --- a/engines/gob/demos/demoplayer.cpp +++ b/engines/gob/demos/demoplayer.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/demos/demoplayer.h b/engines/gob/demos/demoplayer.h index 9ffdb71de1..63ef538b97 100644 --- a/engines/gob/demos/demoplayer.h +++ b/engines/gob/demos/demoplayer.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/demos/scnplayer.cpp b/engines/gob/demos/scnplayer.cpp index 434c49c4bd..7b820d168a 100644 --- a/engines/gob/demos/scnplayer.cpp +++ b/engines/gob/demos/scnplayer.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/demos/scnplayer.h b/engines/gob/demos/scnplayer.h index 8627f8ceeb..aef1b3eb2f 100644 --- a/engines/gob/demos/scnplayer.h +++ b/engines/gob/demos/scnplayer.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/detection/detection.cpp b/engines/gob/detection/detection.cpp index 8fb0052a5b..3b26f63c39 100644 --- a/engines/gob/detection/detection.cpp +++ b/engines/gob/detection/detection.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/detection/tables.h b/engines/gob/detection/tables.h index d042dfeede..9b24203aa8 100644 --- a/engines/gob/detection/tables.h +++ b/engines/gob/detection/tables.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/detection/tables_adi2.h b/engines/gob/detection/tables_adi2.h index e59552a554..0ca90e7d31 100644 --- a/engines/gob/detection/tables_adi2.h +++ b/engines/gob/detection/tables_adi2.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/detection/tables_adi4.h b/engines/gob/detection/tables_adi4.h index 7147a84d7a..9921b9c974 100644 --- a/engines/gob/detection/tables_adi4.h +++ b/engines/gob/detection/tables_adi4.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/detection/tables_adibou.h b/engines/gob/detection/tables_adibou.h index e257ffdf8f..a995e8d1b3 100644 --- a/engines/gob/detection/tables_adibou.h +++ b/engines/gob/detection/tables_adibou.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/detection/tables_ajworld.h b/engines/gob/detection/tables_ajworld.h index 99d61c882e..5e2023333c 100644 --- a/engines/gob/detection/tables_ajworld.h +++ b/engines/gob/detection/tables_ajworld.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/detection/tables_bargon.h b/engines/gob/detection/tables_bargon.h index 5f7fa2ab6f..d8e2c53410 100644 --- a/engines/gob/detection/tables_bargon.h +++ b/engines/gob/detection/tables_bargon.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/detection/tables_crousti.h b/engines/gob/detection/tables_crousti.h index da4cd461c1..2e04bdeba8 100644 --- a/engines/gob/detection/tables_crousti.h +++ b/engines/gob/detection/tables_crousti.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/detection/tables_dynasty.h b/engines/gob/detection/tables_dynasty.h index 21e4ecc89f..80a3b7d543 100644 --- a/engines/gob/detection/tables_dynasty.h +++ b/engines/gob/detection/tables_dynasty.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/detection/tables_fallback.h b/engines/gob/detection/tables_fallback.h index 69a9e4fd6b..27b4d1bf75 100644 --- a/engines/gob/detection/tables_fallback.h +++ b/engines/gob/detection/tables_fallback.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/detection/tables_fascin.h b/engines/gob/detection/tables_fascin.h index b74a057db9..7c7c9a7a2f 100644 --- a/engines/gob/detection/tables_fascin.h +++ b/engines/gob/detection/tables_fascin.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/detection/tables_geisha.h b/engines/gob/detection/tables_geisha.h index e9a5cfb77f..01e2ec9ad0 100644 --- a/engines/gob/detection/tables_geisha.h +++ b/engines/gob/detection/tables_geisha.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/detection/tables_gob1.h b/engines/gob/detection/tables_gob1.h index 8ae72abf33..289e32e121 100644 --- a/engines/gob/detection/tables_gob1.h +++ b/engines/gob/detection/tables_gob1.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/detection/tables_gob2.h b/engines/gob/detection/tables_gob2.h index f2449d086d..7c167593ca 100644 --- a/engines/gob/detection/tables_gob2.h +++ b/engines/gob/detection/tables_gob2.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/detection/tables_gob3.h b/engines/gob/detection/tables_gob3.h index 29a76d2491..55c840f44e 100644 --- a/engines/gob/detection/tables_gob3.h +++ b/engines/gob/detection/tables_gob3.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/detection/tables_inca2.h b/engines/gob/detection/tables_inca2.h index 8ca9463277..30ed73eafa 100644 --- a/engines/gob/detection/tables_inca2.h +++ b/engines/gob/detection/tables_inca2.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/detection/tables_lit.h b/engines/gob/detection/tables_lit.h index c4453312ec..f6df3162db 100644 --- a/engines/gob/detection/tables_lit.h +++ b/engines/gob/detection/tables_lit.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/detection/tables_littlered.h b/engines/gob/detection/tables_littlered.h index 55279f72b6..21aa9d4a04 100644 --- a/engines/gob/detection/tables_littlered.h +++ b/engines/gob/detection/tables_littlered.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/detection/tables_onceupon.h b/engines/gob/detection/tables_onceupon.h index c516719c55..f89a842176 100644 --- a/engines/gob/detection/tables_onceupon.h +++ b/engines/gob/detection/tables_onceupon.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/detection/tables_playtoons.h b/engines/gob/detection/tables_playtoons.h index 5bdc337eba..f249e3ffa6 100644 --- a/engines/gob/detection/tables_playtoons.h +++ b/engines/gob/detection/tables_playtoons.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/detection/tables_urban.h b/engines/gob/detection/tables_urban.h index 71c34c9d89..78fc0893ae 100644 --- a/engines/gob/detection/tables_urban.h +++ b/engines/gob/detection/tables_urban.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/detection/tables_ween.h b/engines/gob/detection/tables_ween.h index 89da5ba794..66a83aff0f 100644 --- a/engines/gob/detection/tables_ween.h +++ b/engines/gob/detection/tables_ween.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/detection/tables_woodruff.h b/engines/gob/detection/tables_woodruff.h index f6675a0981..b96065b14f 100644 --- a/engines/gob/detection/tables_woodruff.h +++ b/engines/gob/detection/tables_woodruff.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/draw.cpp b/engines/gob/draw.cpp index e1322c2831..081afe4a05 100644 --- a/engines/gob/draw.cpp +++ b/engines/gob/draw.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/draw.h b/engines/gob/draw.h index b51c6466e0..ba6f183c6c 100644 --- a/engines/gob/draw.h +++ b/engines/gob/draw.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/draw_bargon.cpp b/engines/gob/draw_bargon.cpp index a2a70927f6..34f8b06dbb 100644 --- a/engines/gob/draw_bargon.cpp +++ b/engines/gob/draw_bargon.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/draw_fascin.cpp b/engines/gob/draw_fascin.cpp index c248cdf009..60b173de6c 100644 --- a/engines/gob/draw_fascin.cpp +++ b/engines/gob/draw_fascin.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/draw_playtoons.cpp b/engines/gob/draw_playtoons.cpp index 76e2ae591c..5fe5657270 100644 --- a/engines/gob/draw_playtoons.cpp +++ b/engines/gob/draw_playtoons.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/draw_v1.cpp b/engines/gob/draw_v1.cpp index 878c1dc265..d17aad5cad 100644 --- a/engines/gob/draw_v1.cpp +++ b/engines/gob/draw_v1.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/draw_v2.cpp b/engines/gob/draw_v2.cpp index f5475278c4..9855b1ebd7 100644 --- a/engines/gob/draw_v2.cpp +++ b/engines/gob/draw_v2.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/expression.cpp b/engines/gob/expression.cpp index 5cea8c0485..1a99412530 100644 --- a/engines/gob/expression.cpp +++ b/engines/gob/expression.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/expression.h b/engines/gob/expression.h index ecce7c869d..7d4466509b 100644 --- a/engines/gob/expression.h +++ b/engines/gob/expression.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/game.cpp b/engines/gob/game.cpp index de0c3f2d5c..d8e39e6c38 100644 --- a/engines/gob/game.cpp +++ b/engines/gob/game.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/game.h b/engines/gob/game.h index 995baa5629..1bcf0b1e2a 100644 --- a/engines/gob/game.h +++ b/engines/gob/game.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/global.cpp b/engines/gob/global.cpp index 87656a5fad..e943e1f023 100644 --- a/engines/gob/global.cpp +++ b/engines/gob/global.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/global.h b/engines/gob/global.h index 175331dd83..742771733c 100644 --- a/engines/gob/global.h +++ b/engines/gob/global.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/gob.cpp b/engines/gob/gob.cpp index c50f4c42a0..5ab3271a8f 100644 --- a/engines/gob/gob.cpp +++ b/engines/gob/gob.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/gob.h b/engines/gob/gob.h index e8da5fdcfc..aefc63c707 100644 --- a/engines/gob/gob.h +++ b/engines/gob/gob.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/goblin.cpp b/engines/gob/goblin.cpp index a032588a1f..5f697d21fb 100644 --- a/engines/gob/goblin.cpp +++ b/engines/gob/goblin.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/goblin.h b/engines/gob/goblin.h index 3d45da599d..ad41df8270 100644 --- a/engines/gob/goblin.h +++ b/engines/gob/goblin.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/goblin_v1.cpp b/engines/gob/goblin_v1.cpp index ea46b4b9a1..760e5e65a9 100644 --- a/engines/gob/goblin_v1.cpp +++ b/engines/gob/goblin_v1.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/goblin_v2.cpp b/engines/gob/goblin_v2.cpp index 2dbdf39d7d..4dadf33883 100644 --- a/engines/gob/goblin_v2.cpp +++ b/engines/gob/goblin_v2.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/goblin_v3.cpp b/engines/gob/goblin_v3.cpp index 38880bfdb6..7a64ba7671 100644 --- a/engines/gob/goblin_v3.cpp +++ b/engines/gob/goblin_v3.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/goblin_v4.cpp b/engines/gob/goblin_v4.cpp index 0d6a995af9..908b4ef616 100644 --- a/engines/gob/goblin_v4.cpp +++ b/engines/gob/goblin_v4.cpp @@ -8,12 +8,12 @@ * 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 + * 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. diff --git a/engines/gob/hotspots.cpp b/engines/gob/hotspots.cpp index cd00cd13d7..7aad47b314 100644 --- a/engines/gob/hotspots.cpp +++ b/engines/gob/hotspots.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/hotspots.h b/engines/gob/hotspots.h index bd7b281c10..912ac8a20e 100644 --- a/engines/gob/hotspots.h +++ b/engines/gob/hotspots.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/iniconfig.cpp b/engines/gob/iniconfig.cpp index 032231bd4d..885495d640 100644 --- a/engines/gob/iniconfig.cpp +++ b/engines/gob/iniconfig.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/iniconfig.h b/engines/gob/iniconfig.h index c1890170dc..3d4021f250 100644 --- a/engines/gob/iniconfig.h +++ b/engines/gob/iniconfig.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/init.cpp b/engines/gob/init.cpp index 814d4d1821..a986d696f2 100644 --- a/engines/gob/init.cpp +++ b/engines/gob/init.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/init.h b/engines/gob/init.h index ac460fd654..6b7ce74950 100644 --- a/engines/gob/init.h +++ b/engines/gob/init.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/init_fascin.cpp b/engines/gob/init_fascin.cpp index e6d82faa68..d3d0394b2e 100644 --- a/engines/gob/init_fascin.cpp +++ b/engines/gob/init_fascin.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/init_geisha.cpp b/engines/gob/init_geisha.cpp index 01081a5af6..9de4ddb42b 100644 --- a/engines/gob/init_geisha.cpp +++ b/engines/gob/init_geisha.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/init_v1.cpp b/engines/gob/init_v1.cpp index a8e8cbe2c3..a48e096562 100644 --- a/engines/gob/init_v1.cpp +++ b/engines/gob/init_v1.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/init_v2.cpp b/engines/gob/init_v2.cpp index 1540ff6601..6040a1a21d 100644 --- a/engines/gob/init_v2.cpp +++ b/engines/gob/init_v2.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/init_v3.cpp b/engines/gob/init_v3.cpp index bfbe00849f..d47967557f 100644 --- a/engines/gob/init_v3.cpp +++ b/engines/gob/init_v3.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/init_v4.cpp b/engines/gob/init_v4.cpp index ba92c2fc04..5f3061b096 100644 --- a/engines/gob/init_v4.cpp +++ b/engines/gob/init_v4.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/init_v6.cpp b/engines/gob/init_v6.cpp index 6059ec89ed..4b09286619 100644 --- a/engines/gob/init_v6.cpp +++ b/engines/gob/init_v6.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/init_v7.cpp b/engines/gob/init_v7.cpp index b5b51aad2a..69fbf8ae74 100644 --- a/engines/gob/init_v7.cpp +++ b/engines/gob/init_v7.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/inter.cpp b/engines/gob/inter.cpp index 4460274561..2a8539846c 100644 --- a/engines/gob/inter.cpp +++ b/engines/gob/inter.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/inter.h b/engines/gob/inter.h index fabd31b66d..a5fa03c2a1 100644 --- a/engines/gob/inter.h +++ b/engines/gob/inter.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/inter_bargon.cpp b/engines/gob/inter_bargon.cpp index 029f7c697b..f4a62a6a25 100644 --- a/engines/gob/inter_bargon.cpp +++ b/engines/gob/inter_bargon.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/inter_fascin.cpp b/engines/gob/inter_fascin.cpp index c3b5d98a58..c67143346b 100644 --- a/engines/gob/inter_fascin.cpp +++ b/engines/gob/inter_fascin.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/inter_geisha.cpp b/engines/gob/inter_geisha.cpp index 8d05cefa66..8102dbfa9b 100644 --- a/engines/gob/inter_geisha.cpp +++ b/engines/gob/inter_geisha.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/inter_inca2.cpp b/engines/gob/inter_inca2.cpp index f868f18242..555fdfaf27 100644 --- a/engines/gob/inter_inca2.cpp +++ b/engines/gob/inter_inca2.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/inter_littlered.cpp b/engines/gob/inter_littlered.cpp index 01aa4c2158..c817ce648f 100644 --- a/engines/gob/inter_littlered.cpp +++ b/engines/gob/inter_littlered.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/inter_playtoons.cpp b/engines/gob/inter_playtoons.cpp index b0bdde07ac..45f573efcd 100644 --- a/engines/gob/inter_playtoons.cpp +++ b/engines/gob/inter_playtoons.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/inter_v1.cpp b/engines/gob/inter_v1.cpp index dc533a210a..10364952f2 100644 --- a/engines/gob/inter_v1.cpp +++ b/engines/gob/inter_v1.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/inter_v2.cpp b/engines/gob/inter_v2.cpp index 9346a6adb8..3aa7ad1664 100644 --- a/engines/gob/inter_v2.cpp +++ b/engines/gob/inter_v2.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/inter_v3.cpp b/engines/gob/inter_v3.cpp index d6d4c52476..fd729b85be 100644 --- a/engines/gob/inter_v3.cpp +++ b/engines/gob/inter_v3.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/inter_v4.cpp b/engines/gob/inter_v4.cpp index f89af0e45a..656ca6f5c3 100644 --- a/engines/gob/inter_v4.cpp +++ b/engines/gob/inter_v4.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/inter_v5.cpp b/engines/gob/inter_v5.cpp index 24905b08d1..50176e0a27 100644 --- a/engines/gob/inter_v5.cpp +++ b/engines/gob/inter_v5.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/inter_v6.cpp b/engines/gob/inter_v6.cpp index 505993ee4d..66eade60f7 100644 --- a/engines/gob/inter_v6.cpp +++ b/engines/gob/inter_v6.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/inter_v7.cpp b/engines/gob/inter_v7.cpp index 1238c23e3b..75278d9477 100644 --- a/engines/gob/inter_v7.cpp +++ b/engines/gob/inter_v7.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/map.cpp b/engines/gob/map.cpp index e58cd3c9a3..1015a779b2 100644 --- a/engines/gob/map.cpp +++ b/engines/gob/map.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/map.h b/engines/gob/map.h index 856cf356da..785b7342cd 100644 --- a/engines/gob/map.h +++ b/engines/gob/map.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/map_v1.cpp b/engines/gob/map_v1.cpp index ce3d584e7f..72e37bd5fc 100644 --- a/engines/gob/map_v1.cpp +++ b/engines/gob/map_v1.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/map_v2.cpp b/engines/gob/map_v2.cpp index 1db461370f..cb5abe9644 100644 --- a/engines/gob/map_v2.cpp +++ b/engines/gob/map_v2.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/minigames/geisha/diving.cpp b/engines/gob/minigames/geisha/diving.cpp index 56c7b5213c..20c0688dd7 100644 --- a/engines/gob/minigames/geisha/diving.cpp +++ b/engines/gob/minigames/geisha/diving.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/minigames/geisha/diving.h b/engines/gob/minigames/geisha/diving.h index 089d60b260..7f28fa7330 100644 --- a/engines/gob/minigames/geisha/diving.h +++ b/engines/gob/minigames/geisha/diving.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/minigames/geisha/evilfish.cpp b/engines/gob/minigames/geisha/evilfish.cpp index 05ae9d0ad4..cd47e689b1 100644 --- a/engines/gob/minigames/geisha/evilfish.cpp +++ b/engines/gob/minigames/geisha/evilfish.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/minigames/geisha/evilfish.h b/engines/gob/minigames/geisha/evilfish.h index 4c82629461..9013c722c9 100644 --- a/engines/gob/minigames/geisha/evilfish.h +++ b/engines/gob/minigames/geisha/evilfish.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/minigames/geisha/meter.cpp b/engines/gob/minigames/geisha/meter.cpp index 7ec3119866..29a5a20e9a 100644 --- a/engines/gob/minigames/geisha/meter.cpp +++ b/engines/gob/minigames/geisha/meter.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/minigames/geisha/meter.h b/engines/gob/minigames/geisha/meter.h index 30dc826de0..4127353173 100644 --- a/engines/gob/minigames/geisha/meter.h +++ b/engines/gob/minigames/geisha/meter.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/minigames/geisha/mouth.cpp b/engines/gob/minigames/geisha/mouth.cpp index 7ba9f86f8c..2a1fea13a5 100644 --- a/engines/gob/minigames/geisha/mouth.cpp +++ b/engines/gob/minigames/geisha/mouth.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/minigames/geisha/mouth.h b/engines/gob/minigames/geisha/mouth.h index 2e0cfcd5d0..ea3373162b 100644 --- a/engines/gob/minigames/geisha/mouth.h +++ b/engines/gob/minigames/geisha/mouth.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/minigames/geisha/oko.cpp b/engines/gob/minigames/geisha/oko.cpp index 7ad8be6fa2..29bdd50f47 100644 --- a/engines/gob/minigames/geisha/oko.cpp +++ b/engines/gob/minigames/geisha/oko.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/minigames/geisha/oko.h b/engines/gob/minigames/geisha/oko.h index 82c6f59be4..90ce25b5b6 100644 --- a/engines/gob/minigames/geisha/oko.h +++ b/engines/gob/minigames/geisha/oko.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/minigames/geisha/penetration.cpp b/engines/gob/minigames/geisha/penetration.cpp index c8c4f2bba7..16742c712f 100644 --- a/engines/gob/minigames/geisha/penetration.cpp +++ b/engines/gob/minigames/geisha/penetration.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/minigames/geisha/penetration.h b/engines/gob/minigames/geisha/penetration.h index 50004eba8e..332ff00502 100644 --- a/engines/gob/minigames/geisha/penetration.h +++ b/engines/gob/minigames/geisha/penetration.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/minigames/geisha/submarine.cpp b/engines/gob/minigames/geisha/submarine.cpp index bf15306e5a..9f7d2c696c 100644 --- a/engines/gob/minigames/geisha/submarine.cpp +++ b/engines/gob/minigames/geisha/submarine.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/minigames/geisha/submarine.h b/engines/gob/minigames/geisha/submarine.h index a6eae57095..a82338667b 100644 --- a/engines/gob/minigames/geisha/submarine.h +++ b/engines/gob/minigames/geisha/submarine.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/mult.cpp b/engines/gob/mult.cpp index b3d7ea6263..d4e3067c4e 100644 --- a/engines/gob/mult.cpp +++ b/engines/gob/mult.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/mult.h b/engines/gob/mult.h index 860e5a12e1..bef5f1728f 100644 --- a/engines/gob/mult.h +++ b/engines/gob/mult.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/mult_v2.cpp b/engines/gob/mult_v2.cpp index f6dddec71e..51471b55bb 100644 --- a/engines/gob/mult_v2.cpp +++ b/engines/gob/mult_v2.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/palanim.cpp b/engines/gob/palanim.cpp index f90b141725..eed97ecaa6 100644 --- a/engines/gob/palanim.cpp +++ b/engines/gob/palanim.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/palanim.h b/engines/gob/palanim.h index 8d8a1e4388..658b22d319 100644 --- a/engines/gob/palanim.h +++ b/engines/gob/palanim.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/pregob/gctfile.cpp b/engines/gob/pregob/gctfile.cpp index 08c32cda76..ca842707d6 100644 --- a/engines/gob/pregob/gctfile.cpp +++ b/engines/gob/pregob/gctfile.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/pregob/gctfile.h b/engines/gob/pregob/gctfile.h index ed6351b7a8..504634c0fd 100644 --- a/engines/gob/pregob/gctfile.h +++ b/engines/gob/pregob/gctfile.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/pregob/onceupon/abracadabra.cpp b/engines/gob/pregob/onceupon/abracadabra.cpp index 2cf6855ef8..8c72931996 100644 --- a/engines/gob/pregob/onceupon/abracadabra.cpp +++ b/engines/gob/pregob/onceupon/abracadabra.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/pregob/onceupon/abracadabra.h b/engines/gob/pregob/onceupon/abracadabra.h index 8048213f5f..f50a2a306f 100644 --- a/engines/gob/pregob/onceupon/abracadabra.h +++ b/engines/gob/pregob/onceupon/abracadabra.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/pregob/onceupon/babayaga.cpp b/engines/gob/pregob/onceupon/babayaga.cpp index ef56b9dd0b..b556b8e4fb 100644 --- a/engines/gob/pregob/onceupon/babayaga.cpp +++ b/engines/gob/pregob/onceupon/babayaga.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/pregob/onceupon/babayaga.h b/engines/gob/pregob/onceupon/babayaga.h index 0241f78f4e..5663751725 100644 --- a/engines/gob/pregob/onceupon/babayaga.h +++ b/engines/gob/pregob/onceupon/babayaga.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/pregob/onceupon/brokenstrings.h b/engines/gob/pregob/onceupon/brokenstrings.h index 89acb1c6bd..4029b7572b 100644 --- a/engines/gob/pregob/onceupon/brokenstrings.h +++ b/engines/gob/pregob/onceupon/brokenstrings.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/pregob/onceupon/chargenchild.cpp b/engines/gob/pregob/onceupon/chargenchild.cpp index ba099e4937..c04fa732ac 100644 --- a/engines/gob/pregob/onceupon/chargenchild.cpp +++ b/engines/gob/pregob/onceupon/chargenchild.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/pregob/onceupon/chargenchild.h b/engines/gob/pregob/onceupon/chargenchild.h index 3b09ef112a..580d313e83 100644 --- a/engines/gob/pregob/onceupon/chargenchild.h +++ b/engines/gob/pregob/onceupon/chargenchild.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/pregob/onceupon/onceupon.cpp b/engines/gob/pregob/onceupon/onceupon.cpp index e4c2df34c0..a6e4da75e7 100644 --- a/engines/gob/pregob/onceupon/onceupon.cpp +++ b/engines/gob/pregob/onceupon/onceupon.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/pregob/onceupon/onceupon.h b/engines/gob/pregob/onceupon/onceupon.h index 66ef877618..17bc20667e 100644 --- a/engines/gob/pregob/onceupon/onceupon.h +++ b/engines/gob/pregob/onceupon/onceupon.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/pregob/onceupon/palettes.h b/engines/gob/pregob/onceupon/palettes.h index 952581041c..0234f85718 100644 --- a/engines/gob/pregob/onceupon/palettes.h +++ b/engines/gob/pregob/onceupon/palettes.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/pregob/onceupon/parents.cpp b/engines/gob/pregob/onceupon/parents.cpp index cdaee6a38d..a773d4c869 100644 --- a/engines/gob/pregob/onceupon/parents.cpp +++ b/engines/gob/pregob/onceupon/parents.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/pregob/onceupon/parents.h b/engines/gob/pregob/onceupon/parents.h index f5c8307b73..4b3895e267 100644 --- a/engines/gob/pregob/onceupon/parents.h +++ b/engines/gob/pregob/onceupon/parents.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/pregob/onceupon/stork.cpp b/engines/gob/pregob/onceupon/stork.cpp index 3c38037d08..b3ce261ee0 100644 --- a/engines/gob/pregob/onceupon/stork.cpp +++ b/engines/gob/pregob/onceupon/stork.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/pregob/onceupon/stork.h b/engines/gob/pregob/onceupon/stork.h index ae57983000..dc7e986fd0 100644 --- a/engines/gob/pregob/onceupon/stork.h +++ b/engines/gob/pregob/onceupon/stork.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/pregob/onceupon/title.cpp b/engines/gob/pregob/onceupon/title.cpp index a3905541a0..2e8fed80b3 100644 --- a/engines/gob/pregob/onceupon/title.cpp +++ b/engines/gob/pregob/onceupon/title.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/pregob/onceupon/title.h b/engines/gob/pregob/onceupon/title.h index 5e7ef76d40..a19d061fc0 100644 --- a/engines/gob/pregob/onceupon/title.h +++ b/engines/gob/pregob/onceupon/title.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/pregob/pregob.cpp b/engines/gob/pregob/pregob.cpp index 54eb3c6795..118bbbde83 100644 --- a/engines/gob/pregob/pregob.cpp +++ b/engines/gob/pregob/pregob.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/pregob/pregob.h b/engines/gob/pregob/pregob.h index 632f85b88e..021cf2b3d6 100644 --- a/engines/gob/pregob/pregob.h +++ b/engines/gob/pregob/pregob.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/pregob/seqfile.cpp b/engines/gob/pregob/seqfile.cpp index 91973bbb85..7cf5b16724 100644 --- a/engines/gob/pregob/seqfile.cpp +++ b/engines/gob/pregob/seqfile.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/pregob/seqfile.h b/engines/gob/pregob/seqfile.h index 5e12962ef9..1b627aacdc 100644 --- a/engines/gob/pregob/seqfile.h +++ b/engines/gob/pregob/seqfile.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/pregob/txtfile.cpp b/engines/gob/pregob/txtfile.cpp index 3ff0d4b039..861a34855b 100644 --- a/engines/gob/pregob/txtfile.cpp +++ b/engines/gob/pregob/txtfile.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/pregob/txtfile.h b/engines/gob/pregob/txtfile.h index c623b58859..edb750acc6 100644 --- a/engines/gob/pregob/txtfile.h +++ b/engines/gob/pregob/txtfile.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/resources.cpp b/engines/gob/resources.cpp index a84f4ac4b8..ac2deadd5f 100644 --- a/engines/gob/resources.cpp +++ b/engines/gob/resources.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/resources.h b/engines/gob/resources.h index 04b3b9d31e..8d4d8b15ee 100644 --- a/engines/gob/resources.h +++ b/engines/gob/resources.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/rxyfile.cpp b/engines/gob/rxyfile.cpp index 2ff8c121cd..5c8cc71b34 100644 --- a/engines/gob/rxyfile.cpp +++ b/engines/gob/rxyfile.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/rxyfile.h b/engines/gob/rxyfile.h index 4fd46c5e40..1bbb91438c 100644 --- a/engines/gob/rxyfile.h +++ b/engines/gob/rxyfile.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/save/saveconverter.cpp b/engines/gob/save/saveconverter.cpp index 2db3379aa7..1709e05e3a 100644 --- a/engines/gob/save/saveconverter.cpp +++ b/engines/gob/save/saveconverter.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/save/saveconverter.h b/engines/gob/save/saveconverter.h index d8cf723fd3..c03de147c7 100644 --- a/engines/gob/save/saveconverter.h +++ b/engines/gob/save/saveconverter.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/save/saveconverter_v2.cpp b/engines/gob/save/saveconverter_v2.cpp index 7661c47836..762f6e906a 100644 --- a/engines/gob/save/saveconverter_v2.cpp +++ b/engines/gob/save/saveconverter_v2.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/save/saveconverter_v3.cpp b/engines/gob/save/saveconverter_v3.cpp index 2256575c4b..0e045178ad 100644 --- a/engines/gob/save/saveconverter_v3.cpp +++ b/engines/gob/save/saveconverter_v3.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/save/saveconverter_v4.cpp b/engines/gob/save/saveconverter_v4.cpp index 2618a25f37..24e70c7fdb 100644 --- a/engines/gob/save/saveconverter_v4.cpp +++ b/engines/gob/save/saveconverter_v4.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/save/savefile.cpp b/engines/gob/save/savefile.cpp index 0713c38684..2a32b7edcf 100644 --- a/engines/gob/save/savefile.cpp +++ b/engines/gob/save/savefile.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/save/savefile.h b/engines/gob/save/savefile.h index 01825207e0..7d111f3c10 100644 --- a/engines/gob/save/savefile.h +++ b/engines/gob/save/savefile.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/save/savehandler.cpp b/engines/gob/save/savehandler.cpp index 71de629f93..7a64582201 100644 --- a/engines/gob/save/savehandler.cpp +++ b/engines/gob/save/savehandler.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/save/savehandler.h b/engines/gob/save/savehandler.h index afc31f54f1..452cc8e815 100644 --- a/engines/gob/save/savehandler.h +++ b/engines/gob/save/savehandler.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/save/saveload.cpp b/engines/gob/save/saveload.cpp index 6b2f710159..f6967a79ad 100644 --- a/engines/gob/save/saveload.cpp +++ b/engines/gob/save/saveload.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/save/saveload.h b/engines/gob/save/saveload.h index f20532dffa..cb6f0ed514 100644 --- a/engines/gob/save/saveload.h +++ b/engines/gob/save/saveload.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/save/saveload_ajworld.cpp b/engines/gob/save/saveload_ajworld.cpp index 727d071b3e..307a1783a3 100644 --- a/engines/gob/save/saveload_ajworld.cpp +++ b/engines/gob/save/saveload_ajworld.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/save/saveload_fascin.cpp b/engines/gob/save/saveload_fascin.cpp index cf1e7f0c0c..26a7f978ad 100644 --- a/engines/gob/save/saveload_fascin.cpp +++ b/engines/gob/save/saveload_fascin.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/save/saveload_geisha.cpp b/engines/gob/save/saveload_geisha.cpp index 3414c12dda..5ad9424e89 100644 --- a/engines/gob/save/saveload_geisha.cpp +++ b/engines/gob/save/saveload_geisha.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/save/saveload_inca2.cpp b/engines/gob/save/saveload_inca2.cpp index 4c3aaf5a0e..533875e44c 100644 --- a/engines/gob/save/saveload_inca2.cpp +++ b/engines/gob/save/saveload_inca2.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/save/saveload_playtoons.cpp b/engines/gob/save/saveload_playtoons.cpp index 93c1b68b0c..406e5eb705 100644 --- a/engines/gob/save/saveload_playtoons.cpp +++ b/engines/gob/save/saveload_playtoons.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/save/saveload_v2.cpp b/engines/gob/save/saveload_v2.cpp index b25d4788f7..6f05d15803 100644 --- a/engines/gob/save/saveload_v2.cpp +++ b/engines/gob/save/saveload_v2.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/save/saveload_v3.cpp b/engines/gob/save/saveload_v3.cpp index 3e7a3b9e48..1eb0730a3b 100644 --- a/engines/gob/save/saveload_v3.cpp +++ b/engines/gob/save/saveload_v3.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/save/saveload_v4.cpp b/engines/gob/save/saveload_v4.cpp index 95283db336..516a22c310 100644 --- a/engines/gob/save/saveload_v4.cpp +++ b/engines/gob/save/saveload_v4.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/save/saveload_v6.cpp b/engines/gob/save/saveload_v6.cpp index c524cad352..b6376df022 100644 --- a/engines/gob/save/saveload_v6.cpp +++ b/engines/gob/save/saveload_v6.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/save/saveload_v7.cpp b/engines/gob/save/saveload_v7.cpp index 3753b4019f..aced4f50ba 100644 --- a/engines/gob/save/saveload_v7.cpp +++ b/engines/gob/save/saveload_v7.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/scenery.cpp b/engines/gob/scenery.cpp index 33fdfcaa2a..2d9021805a 100644 --- a/engines/gob/scenery.cpp +++ b/engines/gob/scenery.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/scenery.h b/engines/gob/scenery.h index d8312b1128..3aae8d5d6f 100644 --- a/engines/gob/scenery.h +++ b/engines/gob/scenery.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/scenery_v1.cpp b/engines/gob/scenery_v1.cpp index 46ceb35457..7c2adcdef1 100644 --- a/engines/gob/scenery_v1.cpp +++ b/engines/gob/scenery_v1.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/scenery_v2.cpp b/engines/gob/scenery_v2.cpp index 16ce077169..85c7d36ae4 100644 --- a/engines/gob/scenery_v2.cpp +++ b/engines/gob/scenery_v2.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/script.cpp b/engines/gob/script.cpp index c7e39f94af..d6e9841e0a 100644 --- a/engines/gob/script.cpp +++ b/engines/gob/script.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/script.h b/engines/gob/script.h index 0095ad0cb6..f4be190aa5 100644 --- a/engines/gob/script.h +++ b/engines/gob/script.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/sound/adlib.cpp b/engines/gob/sound/adlib.cpp index 2bf7f266a1..65b43cae7a 100644 --- a/engines/gob/sound/adlib.cpp +++ b/engines/gob/sound/adlib.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/sound/adlib.h b/engines/gob/sound/adlib.h index bd1778d2ed..8071249374 100644 --- a/engines/gob/sound/adlib.h +++ b/engines/gob/sound/adlib.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/sound/adlplayer.cpp b/engines/gob/sound/adlplayer.cpp index ee23191c0d..384a928360 100644 --- a/engines/gob/sound/adlplayer.cpp +++ b/engines/gob/sound/adlplayer.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/sound/adlplayer.h b/engines/gob/sound/adlplayer.h index 9596447bbc..3edd238343 100644 --- a/engines/gob/sound/adlplayer.h +++ b/engines/gob/sound/adlplayer.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/sound/bgatmosphere.cpp b/engines/gob/sound/bgatmosphere.cpp index daba72b2d5..21fb70278a 100644 --- a/engines/gob/sound/bgatmosphere.cpp +++ b/engines/gob/sound/bgatmosphere.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/sound/bgatmosphere.h b/engines/gob/sound/bgatmosphere.h index 23fcc8a71a..1cfc63c79a 100644 --- a/engines/gob/sound/bgatmosphere.h +++ b/engines/gob/sound/bgatmosphere.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/sound/cdrom.cpp b/engines/gob/sound/cdrom.cpp index 4ce3372562..eca6ca4c9e 100644 --- a/engines/gob/sound/cdrom.cpp +++ b/engines/gob/sound/cdrom.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/sound/cdrom.h b/engines/gob/sound/cdrom.h index 09d4c94865..123e306e41 100644 --- a/engines/gob/sound/cdrom.h +++ b/engines/gob/sound/cdrom.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/sound/infogrames.cpp b/engines/gob/sound/infogrames.cpp index febf91719b..016bbfb1ff 100644 --- a/engines/gob/sound/infogrames.cpp +++ b/engines/gob/sound/infogrames.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/sound/infogrames.h b/engines/gob/sound/infogrames.h index ee5ffd1cff..c946357633 100644 --- a/engines/gob/sound/infogrames.h +++ b/engines/gob/sound/infogrames.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/sound/musplayer.cpp b/engines/gob/sound/musplayer.cpp index 3e41dc6ed1..7001a5724b 100644 --- a/engines/gob/sound/musplayer.cpp +++ b/engines/gob/sound/musplayer.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/sound/musplayer.h b/engines/gob/sound/musplayer.h index 6cc2a2d2ca..c76c5aab38 100644 --- a/engines/gob/sound/musplayer.h +++ b/engines/gob/sound/musplayer.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/sound/pcspeaker.cpp b/engines/gob/sound/pcspeaker.cpp index bc031e279f..d0dcb9a871 100644 --- a/engines/gob/sound/pcspeaker.cpp +++ b/engines/gob/sound/pcspeaker.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/sound/pcspeaker.h b/engines/gob/sound/pcspeaker.h index fe0ec872e3..ba2e00ce3e 100644 --- a/engines/gob/sound/pcspeaker.h +++ b/engines/gob/sound/pcspeaker.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/sound/protracker.cpp b/engines/gob/sound/protracker.cpp index fbc03256bb..ce29100b85 100644 --- a/engines/gob/sound/protracker.cpp +++ b/engines/gob/sound/protracker.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/sound/protracker.h b/engines/gob/sound/protracker.h index b4c3be1f61..ccd0d51552 100644 --- a/engines/gob/sound/protracker.h +++ b/engines/gob/sound/protracker.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/sound/sound.cpp b/engines/gob/sound/sound.cpp index a4c74642dd..d2b2d3d6e8 100644 --- a/engines/gob/sound/sound.cpp +++ b/engines/gob/sound/sound.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/sound/sound.h b/engines/gob/sound/sound.h index bbc182d172..c959959755 100644 --- a/engines/gob/sound/sound.h +++ b/engines/gob/sound/sound.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/sound/soundblaster.cpp b/engines/gob/sound/soundblaster.cpp index 4d6f6f0bf7..9514e93210 100644 --- a/engines/gob/sound/soundblaster.cpp +++ b/engines/gob/sound/soundblaster.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/sound/soundblaster.h b/engines/gob/sound/soundblaster.h index 3c4968d611..6a732dbec9 100644 --- a/engines/gob/sound/soundblaster.h +++ b/engines/gob/sound/soundblaster.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/sound/sounddesc.cpp b/engines/gob/sound/sounddesc.cpp index 7d876ec484..f981d0b385 100644 --- a/engines/gob/sound/sounddesc.cpp +++ b/engines/gob/sound/sounddesc.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/sound/sounddesc.h b/engines/gob/sound/sounddesc.h index f9223de964..a2d39108c9 100644 --- a/engines/gob/sound/sounddesc.h +++ b/engines/gob/sound/sounddesc.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/sound/soundmixer.cpp b/engines/gob/sound/soundmixer.cpp index a9303bc927..b5c26898ba 100644 --- a/engines/gob/sound/soundmixer.cpp +++ b/engines/gob/sound/soundmixer.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/sound/soundmixer.h b/engines/gob/sound/soundmixer.h index 2847c3de12..791f97eb74 100644 --- a/engines/gob/sound/soundmixer.h +++ b/engines/gob/sound/soundmixer.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/surface.cpp b/engines/gob/surface.cpp index 870b0f15b3..00203ff312 100644 --- a/engines/gob/surface.cpp +++ b/engines/gob/surface.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/surface.h b/engines/gob/surface.h index 8a1b502a95..c931731908 100644 --- a/engines/gob/surface.h +++ b/engines/gob/surface.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/totfile.cpp b/engines/gob/totfile.cpp index 4efe374793..04c744d965 100644 --- a/engines/gob/totfile.cpp +++ b/engines/gob/totfile.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/totfile.h b/engines/gob/totfile.h index 5a23912dbe..753e7b4a57 100644 --- a/engines/gob/totfile.h +++ b/engines/gob/totfile.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/util.cpp b/engines/gob/util.cpp index 5ac4ef024e..19e6e35e0b 100644 --- a/engines/gob/util.cpp +++ b/engines/gob/util.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/util.h b/engines/gob/util.h index a4984c6207..2865fd5708 100644 --- a/engines/gob/util.h +++ b/engines/gob/util.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/variables.cpp b/engines/gob/variables.cpp index efbf10af69..2ef7be2f90 100644 --- a/engines/gob/variables.cpp +++ b/engines/gob/variables.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/variables.h b/engines/gob/variables.h index 04775ff86c..a836e82557 100644 --- a/engines/gob/variables.h +++ b/engines/gob/variables.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/video.cpp b/engines/gob/video.cpp index 64af34cf62..1dc51d994c 100644 --- a/engines/gob/video.cpp +++ b/engines/gob/video.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/video.h b/engines/gob/video.h index 122c1e47d5..2c547baca0 100644 --- a/engines/gob/video.h +++ b/engines/gob/video.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/video_v1.cpp b/engines/gob/video_v1.cpp index 397e2bef22..1e5d613294 100644 --- a/engines/gob/video_v1.cpp +++ b/engines/gob/video_v1.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/video_v2.cpp b/engines/gob/video_v2.cpp index bf4823ec90..a6900b11bc 100644 --- a/engines/gob/video_v2.cpp +++ b/engines/gob/video_v2.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/video_v6.cpp b/engines/gob/video_v6.cpp index 7fb3104162..bbc2f457c2 100644 --- a/engines/gob/video_v6.cpp +++ b/engines/gob/video_v6.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/videoplayer.cpp b/engines/gob/videoplayer.cpp index 155989ccee..e97848d27e 100644 --- a/engines/gob/videoplayer.cpp +++ b/engines/gob/videoplayer.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/gob/videoplayer.h b/engines/gob/videoplayer.h index 129ccef67a..02ed510ec5 100644 --- a/engines/gob/videoplayer.h +++ b/engines/gob/videoplayer.h @@ -8,12 +8,12 @@ * 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. -- cgit v1.2.3 From 96564e95b4293b460685168d089be51d4a52490e Mon Sep 17 00:00:00 2001 From: Johannes Schickel Date: Tue, 18 Feb 2014 02:34:20 +0100 Subject: GPH: Make GPL headers consistent in themselves. --- backends/events/gph/gph-events.cpp | 4 ++-- backends/events/gph/gph-events.h | 4 ++-- backends/graphics/gph/gph-graphics.cpp | 4 ++-- backends/graphics/gph/gph-graphics.h | 4 ++-- backends/platform/gph/gph-backend.cpp | 4 ++-- backends/platform/gph/gph-hw.cpp | 4 ++-- backends/platform/gph/gph-hw.h | 4 ++-- backends/platform/gph/gph-main.cpp | 4 ++-- backends/platform/gph/gph.h | 4 ++-- 9 files changed, 18 insertions(+), 18 deletions(-) diff --git a/backends/events/gph/gph-events.cpp b/backends/events/gph/gph-events.cpp index 91118d36c1..90b6a2a29d 100644 --- a/backends/events/gph/gph-events.cpp +++ b/backends/events/gph/gph-events.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/backends/events/gph/gph-events.h b/backends/events/gph/gph-events.h index 3b1e6f090a..507aa94828 100644 --- a/backends/events/gph/gph-events.h +++ b/backends/events/gph/gph-events.h @@ -8,12 +8,12 @@ * 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. diff --git a/backends/graphics/gph/gph-graphics.cpp b/backends/graphics/gph/gph-graphics.cpp index 92553564bf..247e5ed490 100644 --- a/backends/graphics/gph/gph-graphics.cpp +++ b/backends/graphics/gph/gph-graphics.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/backends/graphics/gph/gph-graphics.h b/backends/graphics/gph/gph-graphics.h index f1f3d18b41..4a68ea6eed 100644 --- a/backends/graphics/gph/gph-graphics.h +++ b/backends/graphics/gph/gph-graphics.h @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/gph/gph-backend.cpp b/backends/platform/gph/gph-backend.cpp index e51d7d0781..d033191d54 100644 --- a/backends/platform/gph/gph-backend.cpp +++ b/backends/platform/gph/gph-backend.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/gph/gph-hw.cpp b/backends/platform/gph/gph-hw.cpp index cde50dc6b4..7b004f1739 100644 --- a/backends/platform/gph/gph-hw.cpp +++ b/backends/platform/gph/gph-hw.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/gph/gph-hw.h b/backends/platform/gph/gph-hw.h index f9584ca37e..c6d0094cf1 100644 --- a/backends/platform/gph/gph-hw.h +++ b/backends/platform/gph/gph-hw.h @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/gph/gph-main.cpp b/backends/platform/gph/gph-main.cpp index 876de0f358..5fce37179e 100644 --- a/backends/platform/gph/gph-main.cpp +++ b/backends/platform/gph/gph-main.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/gph/gph.h b/backends/platform/gph/gph.h index 90a798154f..d7004f1582 100644 --- a/backends/platform/gph/gph.h +++ b/backends/platform/gph/gph.h @@ -8,12 +8,12 @@ * 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. -- cgit v1.2.3 From 53332e806670cdff27dc0d2faa85cad066a5cdc9 Mon Sep 17 00:00:00 2001 From: Johannes Schickel Date: Tue, 18 Feb 2014 02:34:20 +0100 Subject: GRAPHICS: Make GPL headers consistent in themselves. --- graphics/colormasks.h | 4 ++-- graphics/conversion.cpp | 1 + graphics/conversion.h | 4 ++-- graphics/cursor.h | 4 ++-- graphics/cursorman.cpp | 1 + graphics/cursorman.h | 1 + graphics/decoders/bmp.cpp | 1 + graphics/decoders/bmp.h | 1 + graphics/decoders/iff.cpp | 1 + graphics/decoders/iff.h | 1 + graphics/decoders/image_decoder.h | 1 + graphics/decoders/jpeg.cpp | 4 ++-- graphics/decoders/jpeg.h | 4 ++-- graphics/decoders/pcx.cpp | 1 + graphics/decoders/pcx.h | 1 + graphics/decoders/pict.cpp | 4 ++-- graphics/decoders/pict.h | 4 ++-- graphics/decoders/png.cpp | 4 ++-- graphics/decoders/png.h | 4 ++-- graphics/decoders/tga.cpp | 1 + graphics/decoders/tga.h | 1 + graphics/font.cpp | 1 + graphics/font.h | 1 + graphics/fontman.cpp | 1 + graphics/fontman.h | 1 + graphics/fonts/bdf.cpp | 1 + graphics/fonts/bdf.h | 1 + graphics/fonts/winfont.cpp | 1 + graphics/fonts/winfont.h | 1 + graphics/maccursor.cpp | 4 ++-- graphics/maccursor.h | 4 ++-- graphics/palette.h | 4 ++-- graphics/pixelformat.h | 4 ++-- graphics/primitives.cpp | 1 + graphics/primitives.h | 1 + graphics/scaler.cpp | 4 ++-- graphics/scaler.h | 1 + graphics/scaler/2xsai.cpp | 4 ++-- graphics/scaler/aspect.cpp | 4 ++-- graphics/scaler/aspect.h | 1 + graphics/scaler/downscaler.cpp | 4 ++-- graphics/scaler/downscaler.h | 4 ++-- graphics/scaler/hq2x.cpp | 4 ++-- graphics/scaler/hq3x.cpp | 4 ++-- graphics/scaler/intern.h | 4 ++-- graphics/scaler/thumbnail_intern.cpp | 4 ++-- graphics/sjis.cpp | 1 + graphics/sjis.h | 1 + graphics/surface.cpp | 1 + graphics/surface.h | 1 + graphics/thumbnail.cpp | 1 + graphics/thumbnail.h | 1 + graphics/wincursor.cpp | 4 ++-- graphics/wincursor.h | 4 ++-- 54 files changed, 78 insertions(+), 48 deletions(-) diff --git a/graphics/colormasks.h b/graphics/colormasks.h index 2a2523f4b3..eebfc13213 100644 --- a/graphics/colormasks.h +++ b/graphics/colormasks.h @@ -8,12 +8,12 @@ * 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. diff --git a/graphics/conversion.cpp b/graphics/conversion.cpp index 2da8b6f0ce..27180b80ad 100644 --- a/graphics/conversion.cpp +++ b/graphics/conversion.cpp @@ -17,6 +17,7 @@ * 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 "graphics/conversion.h" diff --git a/graphics/conversion.h b/graphics/conversion.h index 28e64a94fb..33d57f7a4f 100644 --- a/graphics/conversion.h +++ b/graphics/conversion.h @@ -8,12 +8,12 @@ * 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. diff --git a/graphics/cursor.h b/graphics/cursor.h index b04d9c04e2..354d981de6 100644 --- a/graphics/cursor.h +++ b/graphics/cursor.h @@ -8,12 +8,12 @@ * 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. diff --git a/graphics/cursorman.cpp b/graphics/cursorman.cpp index 133ee5fd71..5fcd2a3602 100644 --- a/graphics/cursorman.cpp +++ b/graphics/cursorman.cpp @@ -17,6 +17,7 @@ * 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 "graphics/cursorman.h" diff --git a/graphics/cursorman.h b/graphics/cursorman.h index b4d8ad94ce..f4a0ebbd82 100644 --- a/graphics/cursorman.h +++ b/graphics/cursorman.h @@ -17,6 +17,7 @@ * 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. + * */ #ifndef GRAPHICS_CURSORMAN_H diff --git a/graphics/decoders/bmp.cpp b/graphics/decoders/bmp.cpp index 2eabbb7631..608c843cea 100644 --- a/graphics/decoders/bmp.cpp +++ b/graphics/decoders/bmp.cpp @@ -17,6 +17,7 @@ * 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 "common/stream.h" diff --git a/graphics/decoders/bmp.h b/graphics/decoders/bmp.h index 779da352be..da11f04920 100644 --- a/graphics/decoders/bmp.h +++ b/graphics/decoders/bmp.h @@ -17,6 +17,7 @@ * 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. + * */ /** diff --git a/graphics/decoders/iff.cpp b/graphics/decoders/iff.cpp index fe27258d28..c5fd46bf25 100644 --- a/graphics/decoders/iff.cpp +++ b/graphics/decoders/iff.cpp @@ -17,6 +17,7 @@ * 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 "common/iff_container.h" diff --git a/graphics/decoders/iff.h b/graphics/decoders/iff.h index 37cb4b38c1..eb8e0b98bc 100644 --- a/graphics/decoders/iff.h +++ b/graphics/decoders/iff.h @@ -17,6 +17,7 @@ * 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. + * */ /** diff --git a/graphics/decoders/image_decoder.h b/graphics/decoders/image_decoder.h index a39a9a1493..cad3a1db06 100644 --- a/graphics/decoders/image_decoder.h +++ b/graphics/decoders/image_decoder.h @@ -17,6 +17,7 @@ * 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. + * */ #ifndef GRAPHICS_DECODERS_IMAGEDECODER_H diff --git a/graphics/decoders/jpeg.cpp b/graphics/decoders/jpeg.cpp index c858884095..aa62ff96b6 100644 --- a/graphics/decoders/jpeg.cpp +++ b/graphics/decoders/jpeg.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/graphics/decoders/jpeg.h b/graphics/decoders/jpeg.h index 8460bc2698..8fd03ca86b 100644 --- a/graphics/decoders/jpeg.h +++ b/graphics/decoders/jpeg.h @@ -8,12 +8,12 @@ * 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. diff --git a/graphics/decoders/pcx.cpp b/graphics/decoders/pcx.cpp index eb9b4c997d..bc82275d9e 100644 --- a/graphics/decoders/pcx.cpp +++ b/graphics/decoders/pcx.cpp @@ -17,6 +17,7 @@ * 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 "common/stream.h" diff --git a/graphics/decoders/pcx.h b/graphics/decoders/pcx.h index b25166b3d9..675ab505dc 100644 --- a/graphics/decoders/pcx.h +++ b/graphics/decoders/pcx.h @@ -17,6 +17,7 @@ * 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. + * */ /** diff --git a/graphics/decoders/pict.cpp b/graphics/decoders/pict.cpp index f3e17b33e2..8849a83ca1 100644 --- a/graphics/decoders/pict.cpp +++ b/graphics/decoders/pict.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/graphics/decoders/pict.h b/graphics/decoders/pict.h index 6f0d86c7a1..554b149153 100644 --- a/graphics/decoders/pict.h +++ b/graphics/decoders/pict.h @@ -8,12 +8,12 @@ * 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. diff --git a/graphics/decoders/png.cpp b/graphics/decoders/png.cpp index c4fee46fec..2282ea22f4 100644 --- a/graphics/decoders/png.cpp +++ b/graphics/decoders/png.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/graphics/decoders/png.h b/graphics/decoders/png.h index 5e608eb7b1..d47d362d30 100644 --- a/graphics/decoders/png.h +++ b/graphics/decoders/png.h @@ -8,12 +8,12 @@ * 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. diff --git a/graphics/decoders/tga.cpp b/graphics/decoders/tga.cpp index bc27f18a49..a342d0aa26 100644 --- a/graphics/decoders/tga.cpp +++ b/graphics/decoders/tga.cpp @@ -17,6 +17,7 @@ * 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. + * */ /* Based on code from xoreos https://github.com/DrMcCoy/xoreos/ diff --git a/graphics/decoders/tga.h b/graphics/decoders/tga.h index 5b1e87d4c5..a2949fb1e8 100644 --- a/graphics/decoders/tga.h +++ b/graphics/decoders/tga.h @@ -17,6 +17,7 @@ * 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. + * */ /* Based on code from eos https://github.com/DrMcCoy/xoreos/ diff --git a/graphics/font.cpp b/graphics/font.cpp index e9f139c478..1ed67fa169 100644 --- a/graphics/font.cpp +++ b/graphics/font.cpp @@ -17,6 +17,7 @@ * 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 "graphics/font.h" diff --git a/graphics/font.h b/graphics/font.h index 77b7623a85..f333107780 100644 --- a/graphics/font.h +++ b/graphics/font.h @@ -17,6 +17,7 @@ * 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. + * */ #ifndef GRAPHICS_FONT_H diff --git a/graphics/fontman.cpp b/graphics/fontman.cpp index 99dd3d664f..5cf52416cf 100644 --- a/graphics/fontman.cpp +++ b/graphics/fontman.cpp @@ -17,6 +17,7 @@ * 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 "graphics/fontman.h" diff --git a/graphics/fontman.h b/graphics/fontman.h index b06ddea860..b3de92f547 100644 --- a/graphics/fontman.h +++ b/graphics/fontman.h @@ -17,6 +17,7 @@ * 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. + * */ #ifndef GRAPHICS_FONTMAN_H diff --git a/graphics/fonts/bdf.cpp b/graphics/fonts/bdf.cpp index 7b2290cc3a..3476838911 100644 --- a/graphics/fonts/bdf.cpp +++ b/graphics/fonts/bdf.cpp @@ -17,6 +17,7 @@ * 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 "graphics/fonts/bdf.h" diff --git a/graphics/fonts/bdf.h b/graphics/fonts/bdf.h index 842e54f851..b91834785f 100644 --- a/graphics/fonts/bdf.h +++ b/graphics/fonts/bdf.h @@ -17,6 +17,7 @@ * 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. + * */ #ifndef GRAPHICS_FONTS_BDF_H diff --git a/graphics/fonts/winfont.cpp b/graphics/fonts/winfont.cpp index c0ebab19ba..141fc243e1 100644 --- a/graphics/fonts/winfont.cpp +++ b/graphics/fonts/winfont.cpp @@ -17,6 +17,7 @@ * 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 "common/file.h" diff --git a/graphics/fonts/winfont.h b/graphics/fonts/winfont.h index 2c7ba07b41..3354fc2381 100644 --- a/graphics/fonts/winfont.h +++ b/graphics/fonts/winfont.h @@ -17,6 +17,7 @@ * 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. + * */ #ifndef GRAPHICS_WINFONT_H diff --git a/graphics/maccursor.cpp b/graphics/maccursor.cpp index 8ad6c95961..a66a9104f3 100644 --- a/graphics/maccursor.cpp +++ b/graphics/maccursor.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/graphics/maccursor.h b/graphics/maccursor.h index f5efc20655..1ae38f8aa9 100644 --- a/graphics/maccursor.h +++ b/graphics/maccursor.h @@ -8,12 +8,12 @@ * 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. diff --git a/graphics/palette.h b/graphics/palette.h index 77891c3fdc..2884bef7f4 100644 --- a/graphics/palette.h +++ b/graphics/palette.h @@ -8,12 +8,12 @@ * 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. diff --git a/graphics/pixelformat.h b/graphics/pixelformat.h index ca4ef11c17..792833a8e3 100644 --- a/graphics/pixelformat.h +++ b/graphics/pixelformat.h @@ -8,12 +8,12 @@ * 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. diff --git a/graphics/primitives.cpp b/graphics/primitives.cpp index c140dc8644..564bdb9673 100644 --- a/graphics/primitives.cpp +++ b/graphics/primitives.cpp @@ -17,6 +17,7 @@ * 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 "common/util.h" diff --git a/graphics/primitives.h b/graphics/primitives.h index f4a92683ab..a3e8ab1565 100644 --- a/graphics/primitives.h +++ b/graphics/primitives.h @@ -17,6 +17,7 @@ * 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. + * */ #ifndef GRAPHICS_PRIMITIVES_H diff --git a/graphics/scaler.cpp b/graphics/scaler.cpp index 3325fd4db2..745988cbd9 100644 --- a/graphics/scaler.cpp +++ b/graphics/scaler.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/graphics/scaler.h b/graphics/scaler.h index 1e5b796631..cf9a98a240 100644 --- a/graphics/scaler.h +++ b/graphics/scaler.h @@ -17,6 +17,7 @@ * 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. + * */ #ifndef GRAPHICS_SCALER_H diff --git a/graphics/scaler/2xsai.cpp b/graphics/scaler/2xsai.cpp index 2afdd9385d..757c1cf8de 100644 --- a/graphics/scaler/2xsai.cpp +++ b/graphics/scaler/2xsai.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/graphics/scaler/aspect.cpp b/graphics/scaler/aspect.cpp index 92d6c5777e..b923442163 100644 --- a/graphics/scaler/aspect.cpp +++ b/graphics/scaler/aspect.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/graphics/scaler/aspect.h b/graphics/scaler/aspect.h index bb354c79ac..30e13c93cd 100644 --- a/graphics/scaler/aspect.h +++ b/graphics/scaler/aspect.h @@ -17,6 +17,7 @@ * 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. + * */ #ifndef GRAPHICS_SCALER_ASPECT_H diff --git a/graphics/scaler/downscaler.cpp b/graphics/scaler/downscaler.cpp index 65400ccd46..3f4f81a228 100644 --- a/graphics/scaler/downscaler.cpp +++ b/graphics/scaler/downscaler.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/graphics/scaler/downscaler.h b/graphics/scaler/downscaler.h index 97e55dc3d5..ca1137e78b 100644 --- a/graphics/scaler/downscaler.h +++ b/graphics/scaler/downscaler.h @@ -8,12 +8,12 @@ * 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. diff --git a/graphics/scaler/hq2x.cpp b/graphics/scaler/hq2x.cpp index 246e8f62d7..74ceebd611 100644 --- a/graphics/scaler/hq2x.cpp +++ b/graphics/scaler/hq2x.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/graphics/scaler/hq3x.cpp b/graphics/scaler/hq3x.cpp index 7f7867d5a6..f6c86b3017 100644 --- a/graphics/scaler/hq3x.cpp +++ b/graphics/scaler/hq3x.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/graphics/scaler/intern.h b/graphics/scaler/intern.h index 255cc1a511..0f3f874675 100644 --- a/graphics/scaler/intern.h +++ b/graphics/scaler/intern.h @@ -8,12 +8,12 @@ * 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. diff --git a/graphics/scaler/thumbnail_intern.cpp b/graphics/scaler/thumbnail_intern.cpp index c30fc3b6fd..65e327f9c2 100644 --- a/graphics/scaler/thumbnail_intern.cpp +++ b/graphics/scaler/thumbnail_intern.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/graphics/sjis.cpp b/graphics/sjis.cpp index 59ee5af8c4..45cf1cee90 100644 --- a/graphics/sjis.cpp +++ b/graphics/sjis.cpp @@ -17,6 +17,7 @@ * 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 "common/scummsys.h" diff --git a/graphics/sjis.h b/graphics/sjis.h index 928332f712..4c5b2797c5 100644 --- a/graphics/sjis.h +++ b/graphics/sjis.h @@ -17,6 +17,7 @@ * 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. + * */ // The code in this file is currently only used in KYRA and SCI. diff --git a/graphics/surface.cpp b/graphics/surface.cpp index 777c1058fb..67ed942b0b 100644 --- a/graphics/surface.cpp +++ b/graphics/surface.cpp @@ -17,6 +17,7 @@ * 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 "common/algorithm.h" diff --git a/graphics/surface.h b/graphics/surface.h index f1b2aa64ab..d083449854 100644 --- a/graphics/surface.h +++ b/graphics/surface.h @@ -17,6 +17,7 @@ * 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. + * */ #ifndef GRAPHICS_SURFACE_H diff --git a/graphics/thumbnail.cpp b/graphics/thumbnail.cpp index e3f368dffa..802ad09cbb 100644 --- a/graphics/thumbnail.cpp +++ b/graphics/thumbnail.cpp @@ -17,6 +17,7 @@ * 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 "graphics/thumbnail.h" diff --git a/graphics/thumbnail.h b/graphics/thumbnail.h index c857809c91..cec3d02800 100644 --- a/graphics/thumbnail.h +++ b/graphics/thumbnail.h @@ -17,6 +17,7 @@ * 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. + * */ #ifndef GRAPHICS_THUMBNAIL_H diff --git a/graphics/wincursor.cpp b/graphics/wincursor.cpp index 1d599f7130..1d96114673 100644 --- a/graphics/wincursor.cpp +++ b/graphics/wincursor.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/graphics/wincursor.h b/graphics/wincursor.h index 9e73e3a12f..2780b23a90 100644 --- a/graphics/wincursor.h +++ b/graphics/wincursor.h @@ -8,12 +8,12 @@ * 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. -- cgit v1.2.3 From 8f55aed475fbc0e40761036fc98f19e4a2131e33 Mon Sep 17 00:00:00 2001 From: Johannes Schickel Date: Tue, 18 Feb 2014 02:34:20 +0100 Subject: GROOVIE: Make GPL headers consistent in themselves. --- engines/groovie/cell.cpp | 4 ++-- engines/groovie/cell.h | 4 ++-- engines/groovie/cursor.cpp | 4 ++-- engines/groovie/cursor.h | 4 ++-- engines/groovie/debug.cpp | 4 ++-- engines/groovie/debug.h | 4 ++-- engines/groovie/detection.cpp | 4 ++-- engines/groovie/detection.h | 4 ++-- engines/groovie/font.cpp | 4 ++-- engines/groovie/font.h | 4 ++-- engines/groovie/graphics.cpp | 4 ++-- engines/groovie/graphics.h | 4 ++-- engines/groovie/groovie.cpp | 4 ++-- engines/groovie/groovie.h | 4 ++-- engines/groovie/lzss.cpp | 4 ++-- engines/groovie/lzss.h | 4 ++-- engines/groovie/music.cpp | 4 ++-- engines/groovie/music.h | 4 ++-- engines/groovie/player.cpp | 4 ++-- engines/groovie/player.h | 4 ++-- engines/groovie/resource.cpp | 4 ++-- engines/groovie/resource.h | 4 ++-- engines/groovie/roq.cpp | 4 ++-- engines/groovie/roq.h | 4 ++-- engines/groovie/saveload.cpp | 4 ++-- engines/groovie/saveload.h | 4 ++-- engines/groovie/script.cpp | 4 ++-- engines/groovie/script.h | 4 ++-- engines/groovie/stuffit.cpp | 4 ++-- engines/groovie/stuffit.h | 4 ++-- engines/groovie/vdx.cpp | 4 ++-- engines/groovie/vdx.h | 4 ++-- 32 files changed, 64 insertions(+), 64 deletions(-) diff --git a/engines/groovie/cell.cpp b/engines/groovie/cell.cpp index 8241579156..24fac17e44 100644 --- a/engines/groovie/cell.cpp +++ b/engines/groovie/cell.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/groovie/cell.h b/engines/groovie/cell.h index 32c7b46547..d6f1ac97dc 100644 --- a/engines/groovie/cell.h +++ b/engines/groovie/cell.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/groovie/cursor.cpp b/engines/groovie/cursor.cpp index cac78a95a3..080463a8b3 100644 --- a/engines/groovie/cursor.cpp +++ b/engines/groovie/cursor.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/groovie/cursor.h b/engines/groovie/cursor.h index 87d994b077..bf91112ea4 100644 --- a/engines/groovie/cursor.h +++ b/engines/groovie/cursor.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/groovie/debug.cpp b/engines/groovie/debug.cpp index 74fe22922c..8103e4f4c6 100644 --- a/engines/groovie/debug.cpp +++ b/engines/groovie/debug.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/groovie/debug.h b/engines/groovie/debug.h index 76f6d16c65..b99d6c6e1b 100644 --- a/engines/groovie/debug.h +++ b/engines/groovie/debug.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/groovie/detection.cpp b/engines/groovie/detection.cpp index 7c89114e83..a249b66858 100644 --- a/engines/groovie/detection.cpp +++ b/engines/groovie/detection.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/groovie/detection.h b/engines/groovie/detection.h index aa900cc54d..e49474474b 100644 --- a/engines/groovie/detection.h +++ b/engines/groovie/detection.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/groovie/font.cpp b/engines/groovie/font.cpp index a55d8fad95..21a3bd07ae 100644 --- a/engines/groovie/font.cpp +++ b/engines/groovie/font.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/groovie/font.h b/engines/groovie/font.h index 49cf4b7b06..23e060faf3 100644 --- a/engines/groovie/font.h +++ b/engines/groovie/font.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/groovie/graphics.cpp b/engines/groovie/graphics.cpp index a4d8a4330c..b85277fac7 100644 --- a/engines/groovie/graphics.cpp +++ b/engines/groovie/graphics.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/groovie/graphics.h b/engines/groovie/graphics.h index c91d895c25..72ab01deb6 100644 --- a/engines/groovie/graphics.h +++ b/engines/groovie/graphics.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/groovie/groovie.cpp b/engines/groovie/groovie.cpp index 5ade442742..e65031ec38 100644 --- a/engines/groovie/groovie.cpp +++ b/engines/groovie/groovie.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/groovie/groovie.h b/engines/groovie/groovie.h index 79abc13b1c..c3d3146cca 100644 --- a/engines/groovie/groovie.h +++ b/engines/groovie/groovie.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/groovie/lzss.cpp b/engines/groovie/lzss.cpp index a09f6e2311..2a185aeeab 100644 --- a/engines/groovie/lzss.cpp +++ b/engines/groovie/lzss.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/groovie/lzss.h b/engines/groovie/lzss.h index f60ea14815..06b07a946a 100644 --- a/engines/groovie/lzss.h +++ b/engines/groovie/lzss.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/groovie/music.cpp b/engines/groovie/music.cpp index 95637fc407..390f47f084 100644 --- a/engines/groovie/music.cpp +++ b/engines/groovie/music.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/groovie/music.h b/engines/groovie/music.h index 92e9c8b487..4853840673 100644 --- a/engines/groovie/music.h +++ b/engines/groovie/music.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/groovie/player.cpp b/engines/groovie/player.cpp index e2a1ff3d56..16cb3c47ff 100644 --- a/engines/groovie/player.cpp +++ b/engines/groovie/player.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/groovie/player.h b/engines/groovie/player.h index c9258ffdbd..b1aac963f2 100644 --- a/engines/groovie/player.h +++ b/engines/groovie/player.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/groovie/resource.cpp b/engines/groovie/resource.cpp index 42d76cabfa..8229d02d91 100644 --- a/engines/groovie/resource.cpp +++ b/engines/groovie/resource.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/groovie/resource.h b/engines/groovie/resource.h index 33e15e6b98..11a861dd5c 100644 --- a/engines/groovie/resource.h +++ b/engines/groovie/resource.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/groovie/roq.cpp b/engines/groovie/roq.cpp index e1ca7fb945..88f14b859e 100644 --- a/engines/groovie/roq.cpp +++ b/engines/groovie/roq.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/groovie/roq.h b/engines/groovie/roq.h index c5d3f255d3..0e82983e63 100644 --- a/engines/groovie/roq.h +++ b/engines/groovie/roq.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/groovie/saveload.cpp b/engines/groovie/saveload.cpp index 1a92c02e0e..78b79cfa26 100644 --- a/engines/groovie/saveload.cpp +++ b/engines/groovie/saveload.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/groovie/saveload.h b/engines/groovie/saveload.h index 15ce108c7d..6f20250e0a 100644 --- a/engines/groovie/saveload.h +++ b/engines/groovie/saveload.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/groovie/script.cpp b/engines/groovie/script.cpp index 8e3bef9945..25c421f699 100644 --- a/engines/groovie/script.cpp +++ b/engines/groovie/script.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/groovie/script.h b/engines/groovie/script.h index 8cd790af5e..35e52593de 100644 --- a/engines/groovie/script.h +++ b/engines/groovie/script.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/groovie/stuffit.cpp b/engines/groovie/stuffit.cpp index 60a57a0129..bbfcd3da82 100644 --- a/engines/groovie/stuffit.cpp +++ b/engines/groovie/stuffit.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/groovie/stuffit.h b/engines/groovie/stuffit.h index 44f593dbea..9b2bbd3543 100644 --- a/engines/groovie/stuffit.h +++ b/engines/groovie/stuffit.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/groovie/vdx.cpp b/engines/groovie/vdx.cpp index 59d966a22f..4626a6f81b 100644 --- a/engines/groovie/vdx.cpp +++ b/engines/groovie/vdx.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/groovie/vdx.h b/engines/groovie/vdx.h index a9bfaa1eb4..328e6e4da5 100644 --- a/engines/groovie/vdx.h +++ b/engines/groovie/vdx.h @@ -8,12 +8,12 @@ * 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. -- cgit v1.2.3 From f5dfe6725a8f25bf53bf6dcce247f89bd5a26001 Mon Sep 17 00:00:00 2001 From: Johannes Schickel Date: Tue, 18 Feb 2014 02:34:20 +0100 Subject: GUI: Make GPL headers consistent in themselves. --- gui/Actions.cpp | 4 ++-- gui/Actions.h | 4 ++-- gui/EventRecorder.cpp | 4 ++-- gui/EventRecorder.h | 4 ++-- gui/Key.cpp | 4 ++-- gui/Key.h | 4 ++-- gui/KeysDialog.cpp | 4 ++-- gui/KeysDialog.h | 4 ++-- gui/Tooltip.cpp | 1 + gui/Tooltip.h | 1 + gui/about.cpp | 1 + gui/about.h | 1 + gui/browser.cpp | 1 + gui/browser.h | 1 + gui/chooser.cpp | 1 + gui/chooser.h | 1 + gui/console.cpp | 1 + gui/console.h | 1 + gui/debugger.cpp | 4 ++-- gui/debugger.h | 1 + gui/dialog.cpp | 1 + gui/dialog.h | 1 + gui/editrecorddialog.cpp | 4 ++-- gui/editrecorddialog.h | 4 ++-- gui/error.cpp | 4 ++-- gui/error.h | 4 ++-- gui/fluidsynth-dialog.cpp | 1 + gui/fluidsynth-dialog.h | 1 + gui/gui-manager.cpp | 1 + gui/gui-manager.h | 1 + gui/launcher.cpp | 1 + gui/launcher.h | 1 + gui/massadd.cpp | 1 + gui/massadd.h | 1 + gui/message.cpp | 1 + gui/message.h | 1 + gui/object.cpp | 1 + gui/object.h | 1 + gui/onscreendialog.cpp | 4 ++-- gui/onscreendialog.h | 4 ++-- gui/options.cpp | 1 + gui/options.h | 1 + gui/predictivedialog.cpp | 4 ++-- gui/predictivedialog.h | 1 + gui/recorderdialog.cpp | 1 + gui/recorderdialog.h | 1 + gui/saveload-dialog.cpp | 1 + gui/saveload-dialog.h | 1 + gui/saveload.cpp | 1 + gui/saveload.h | 1 + gui/themebrowser.cpp | 1 + gui/themebrowser.h | 1 + gui/widget.cpp | 1 + gui/widget.h | 1 + gui/widgets/editable.cpp | 1 + gui/widgets/editable.h | 1 + gui/widgets/edittext.cpp | 1 + gui/widgets/edittext.h | 1 + gui/widgets/list.cpp | 1 + gui/widgets/list.h | 1 + gui/widgets/popup.cpp | 1 + gui/widgets/popup.h | 1 + gui/widgets/scrollbar.cpp | 1 + gui/widgets/scrollbar.h | 1 + gui/widgets/tab.cpp | 1 + gui/widgets/tab.h | 1 + 66 files changed, 82 insertions(+), 32 deletions(-) diff --git a/gui/Actions.cpp b/gui/Actions.cpp index 0c80844ff9..b25f75e4af 100644 --- a/gui/Actions.cpp +++ b/gui/Actions.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/gui/Actions.h b/gui/Actions.h index 039fb9019c..ac7bd39093 100644 --- a/gui/Actions.h +++ b/gui/Actions.h @@ -8,12 +8,12 @@ * 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. diff --git a/gui/EventRecorder.cpp b/gui/EventRecorder.cpp index 71f66911e9..ab284aaa6e 100644 --- a/gui/EventRecorder.cpp +++ b/gui/EventRecorder.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/gui/EventRecorder.h b/gui/EventRecorder.h index b2a549ece8..5f016b0c33 100644 --- a/gui/EventRecorder.h +++ b/gui/EventRecorder.h @@ -8,12 +8,12 @@ * 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. diff --git a/gui/Key.cpp b/gui/Key.cpp index fa29971e12..cec48ffb65 100644 --- a/gui/Key.cpp +++ b/gui/Key.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/gui/Key.h b/gui/Key.h index f8f8983c97..8bbbc4fdaa 100644 --- a/gui/Key.h +++ b/gui/Key.h @@ -8,12 +8,12 @@ * 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. diff --git a/gui/KeysDialog.cpp b/gui/KeysDialog.cpp index f28b039763..7adb20a379 100644 --- a/gui/KeysDialog.cpp +++ b/gui/KeysDialog.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/gui/KeysDialog.h b/gui/KeysDialog.h index 2dd6076a02..e0cf025583 100644 --- a/gui/KeysDialog.h +++ b/gui/KeysDialog.h @@ -8,12 +8,12 @@ * 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. diff --git a/gui/Tooltip.cpp b/gui/Tooltip.cpp index 88124e782b..e5f06bcafe 100644 --- a/gui/Tooltip.cpp +++ b/gui/Tooltip.cpp @@ -17,6 +17,7 @@ * 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 "common/util.h" diff --git a/gui/Tooltip.h b/gui/Tooltip.h index 9ab536b349..f83fc40966 100644 --- a/gui/Tooltip.h +++ b/gui/Tooltip.h @@ -17,6 +17,7 @@ * 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. + * */ #ifndef GUI_TOOLTIP_H diff --git a/gui/about.cpp b/gui/about.cpp index 459a6b5490..fe726df750 100644 --- a/gui/about.cpp +++ b/gui/about.cpp @@ -17,6 +17,7 @@ * 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 "engines/metaengine.h" diff --git a/gui/about.h b/gui/about.h index 65062ab79d..9eeb3071f3 100644 --- a/gui/about.h +++ b/gui/about.h @@ -17,6 +17,7 @@ * 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. + * */ #ifndef ABOUT_DIALOG_H diff --git a/gui/browser.cpp b/gui/browser.cpp index 84f2d0f747..83e240a5bc 100644 --- a/gui/browser.cpp +++ b/gui/browser.cpp @@ -17,6 +17,7 @@ * 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 "gui/browser.h" diff --git a/gui/browser.h b/gui/browser.h index b82fe516f9..b77907bad2 100644 --- a/gui/browser.h +++ b/gui/browser.h @@ -17,6 +17,7 @@ * 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. + * */ #ifndef BROWSER_DIALOG_H diff --git a/gui/chooser.cpp b/gui/chooser.cpp index c195e94c9b..61af3de407 100644 --- a/gui/chooser.cpp +++ b/gui/chooser.cpp @@ -17,6 +17,7 @@ * 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 "common/translation.h" diff --git a/gui/chooser.h b/gui/chooser.h index d7e795b344..47b34b7233 100644 --- a/gui/chooser.h +++ b/gui/chooser.h @@ -17,6 +17,7 @@ * 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. + * */ #ifndef CHOOSER_DIALOG_H diff --git a/gui/console.cpp b/gui/console.cpp index 7e88b6dfb5..4cdad41f5f 100644 --- a/gui/console.cpp +++ b/gui/console.cpp @@ -17,6 +17,7 @@ * 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 "gui/console.h" diff --git a/gui/console.h b/gui/console.h index 194bfd6fc0..430d5b9434 100644 --- a/gui/console.h +++ b/gui/console.h @@ -17,6 +17,7 @@ * 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. + * */ #ifndef CONSOLE_DIALOG_H diff --git a/gui/debugger.cpp b/gui/debugger.cpp index 9aa322e12e..2ec9937fdb 100644 --- a/gui/debugger.cpp +++ b/gui/debugger.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/gui/debugger.h b/gui/debugger.h index b79e8723c1..4ce5481fbb 100644 --- a/gui/debugger.h +++ b/gui/debugger.h @@ -17,6 +17,7 @@ * 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. + * */ #ifndef GUI_DEBUGGER_H diff --git a/gui/dialog.cpp b/gui/dialog.cpp index ffca15bbc8..ec392a877a 100644 --- a/gui/dialog.cpp +++ b/gui/dialog.cpp @@ -17,6 +17,7 @@ * 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 "common/rect.h" diff --git a/gui/dialog.h b/gui/dialog.h index d269a2f645..593ee13458 100644 --- a/gui/dialog.h +++ b/gui/dialog.h @@ -17,6 +17,7 @@ * 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. + * */ #ifndef GUI_DIALOG_H diff --git a/gui/editrecorddialog.cpp b/gui/editrecorddialog.cpp index cfcc747121..cd384baaed 100644 --- a/gui/editrecorddialog.cpp +++ b/gui/editrecorddialog.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/gui/editrecorddialog.h b/gui/editrecorddialog.h index c8da4521ca..3825f64ee1 100644 --- a/gui/editrecorddialog.h +++ b/gui/editrecorddialog.h @@ -8,12 +8,12 @@ * 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. diff --git a/gui/error.cpp b/gui/error.cpp index 75bdab1a2a..11f591ed0e 100644 --- a/gui/error.cpp +++ b/gui/error.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/gui/error.h b/gui/error.h index f193136d74..fa517b8e48 100644 --- a/gui/error.h +++ b/gui/error.h @@ -8,12 +8,12 @@ * 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. diff --git a/gui/fluidsynth-dialog.cpp b/gui/fluidsynth-dialog.cpp index 662518b557..af5ee6fb10 100644 --- a/gui/fluidsynth-dialog.cpp +++ b/gui/fluidsynth-dialog.cpp @@ -17,6 +17,7 @@ * 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 "gui/fluidsynth-dialog.h" diff --git a/gui/fluidsynth-dialog.h b/gui/fluidsynth-dialog.h index 4d74c9f93e..ebf6563960 100644 --- a/gui/fluidsynth-dialog.h +++ b/gui/fluidsynth-dialog.h @@ -17,6 +17,7 @@ * 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. + * */ #ifndef FLUIDSYNTH_DIALOG_H diff --git a/gui/gui-manager.cpp b/gui/gui-manager.cpp index 999d61e854..80c3c2a552 100644 --- a/gui/gui-manager.cpp +++ b/gui/gui-manager.cpp @@ -17,6 +17,7 @@ * 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 "common/events.h" diff --git a/gui/gui-manager.h b/gui/gui-manager.h index b52d91ba08..4186a93ccb 100644 --- a/gui/gui-manager.h +++ b/gui/gui-manager.h @@ -17,6 +17,7 @@ * 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. + * */ #ifndef GUIMANAGER_H diff --git a/gui/launcher.cpp b/gui/launcher.cpp index 77d4cce794..9ac97a77d6 100644 --- a/gui/launcher.cpp +++ b/gui/launcher.cpp @@ -17,6 +17,7 @@ * 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 "base/version.h" diff --git a/gui/launcher.h b/gui/launcher.h index 2ab47be98d..e9c76a5320 100644 --- a/gui/launcher.h +++ b/gui/launcher.h @@ -17,6 +17,7 @@ * 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. + * */ #ifndef GUI_LAUNCHER_DIALOG_H diff --git a/gui/massadd.cpp b/gui/massadd.cpp index 70580e8b9c..34e1ab466e 100644 --- a/gui/massadd.cpp +++ b/gui/massadd.cpp @@ -17,6 +17,7 @@ * 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 "engines/metaengine.h" diff --git a/gui/massadd.h b/gui/massadd.h index 7350213835..116a420d79 100644 --- a/gui/massadd.h +++ b/gui/massadd.h @@ -17,6 +17,7 @@ * 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. + * */ #ifndef MASSADD_DIALOG_H diff --git a/gui/message.cpp b/gui/message.cpp index 6c2f489a4c..674680c4d4 100644 --- a/gui/message.cpp +++ b/gui/message.cpp @@ -17,6 +17,7 @@ * 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 "common/str.h" diff --git a/gui/message.h b/gui/message.h index 9da8417b5f..ff69780709 100644 --- a/gui/message.h +++ b/gui/message.h @@ -17,6 +17,7 @@ * 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. + * */ #ifndef MESSAGE_DIALOG_H diff --git a/gui/object.cpp b/gui/object.cpp index 189a286ead..ef2cc9d6e0 100644 --- a/gui/object.cpp +++ b/gui/object.cpp @@ -17,6 +17,7 @@ * 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 "common/textconsole.h" diff --git a/gui/object.h b/gui/object.h index dac3341b5a..219bf77f69 100644 --- a/gui/object.h +++ b/gui/object.h @@ -17,6 +17,7 @@ * 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. + * */ #ifndef GUI_OBJECT_H diff --git a/gui/onscreendialog.cpp b/gui/onscreendialog.cpp index 03a6f26ec0..0e37834136 100644 --- a/gui/onscreendialog.cpp +++ b/gui/onscreendialog.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/gui/onscreendialog.h b/gui/onscreendialog.h index 2fae14cbc6..ca95ff3743 100644 --- a/gui/onscreendialog.h +++ b/gui/onscreendialog.h @@ -8,12 +8,12 @@ * 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. diff --git a/gui/options.cpp b/gui/options.cpp index a9fdc19274..3308cdead6 100644 --- a/gui/options.cpp +++ b/gui/options.cpp @@ -17,6 +17,7 @@ * 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 "gui/browser.h" diff --git a/gui/options.h b/gui/options.h index 081ef4fea5..1e65bfd134 100644 --- a/gui/options.h +++ b/gui/options.h @@ -17,6 +17,7 @@ * 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. + * */ #ifndef OPTIONS_DIALOG_H diff --git a/gui/predictivedialog.cpp b/gui/predictivedialog.cpp index 5d45a3060e..a894b02f80 100644 --- a/gui/predictivedialog.cpp +++ b/gui/predictivedialog.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/gui/predictivedialog.h b/gui/predictivedialog.h index 0e3d2967c0..32d769d6ca 100644 --- a/gui/predictivedialog.h +++ b/gui/predictivedialog.h @@ -17,6 +17,7 @@ * 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. + * */ #ifndef GLOBAL_DIALOGS_H diff --git a/gui/recorderdialog.cpp b/gui/recorderdialog.cpp index 1a11dbac65..5617d2ba9a 100644 --- a/gui/recorderdialog.cpp +++ b/gui/recorderdialog.cpp @@ -17,6 +17,7 @@ * 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 "common/algorithm.h" diff --git a/gui/recorderdialog.h b/gui/recorderdialog.h index 9c5965f56d..8a229a06e4 100644 --- a/gui/recorderdialog.h +++ b/gui/recorderdialog.h @@ -17,6 +17,7 @@ * 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. + * */ #ifndef GUI_RECORDER_DIALOG_H diff --git a/gui/saveload-dialog.cpp b/gui/saveload-dialog.cpp index 585117fba4..f6eee3af50 100644 --- a/gui/saveload-dialog.cpp +++ b/gui/saveload-dialog.cpp @@ -17,6 +17,7 @@ * 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 "gui/saveload-dialog.h" diff --git a/gui/saveload-dialog.h b/gui/saveload-dialog.h index 6f7d95f73f..31f28f6452 100644 --- a/gui/saveload-dialog.h +++ b/gui/saveload-dialog.h @@ -17,6 +17,7 @@ * 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. + * */ #ifndef GUI_SAVELOAD_DIALOG_H diff --git a/gui/saveload.cpp b/gui/saveload.cpp index c2bbcd9bec..c1c1d12ec5 100644 --- a/gui/saveload.cpp +++ b/gui/saveload.cpp @@ -17,6 +17,7 @@ * 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 "common/config-manager.h" diff --git a/gui/saveload.h b/gui/saveload.h index 17fd99a31d..22c26d4c5e 100644 --- a/gui/saveload.h +++ b/gui/saveload.h @@ -17,6 +17,7 @@ * 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. + * */ #ifndef GUI_SAVELOAD_H diff --git a/gui/themebrowser.cpp b/gui/themebrowser.cpp index c22603b822..d8bd5d6fe8 100644 --- a/gui/themebrowser.cpp +++ b/gui/themebrowser.cpp @@ -17,6 +17,7 @@ * 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 "gui/themebrowser.h" diff --git a/gui/themebrowser.h b/gui/themebrowser.h index daea3836fc..2d94a7f423 100644 --- a/gui/themebrowser.h +++ b/gui/themebrowser.h @@ -17,6 +17,7 @@ * 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. + * */ #ifndef GUI_THEMEBROWSER_H diff --git a/gui/widget.cpp b/gui/widget.cpp index e96b62e359..851774fd70 100644 --- a/gui/widget.cpp +++ b/gui/widget.cpp @@ -17,6 +17,7 @@ * 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 "common/scummsys.h" diff --git a/gui/widget.h b/gui/widget.h index e3f712564f..9891f32b36 100644 --- a/gui/widget.h +++ b/gui/widget.h @@ -17,6 +17,7 @@ * 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. + * */ #ifndef GUI_WIDGET_H diff --git a/gui/widgets/editable.cpp b/gui/widgets/editable.cpp index 6f550b5642..af3e5e9b9a 100644 --- a/gui/widgets/editable.cpp +++ b/gui/widgets/editable.cpp @@ -17,6 +17,7 @@ * 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 "common/rect.h" diff --git a/gui/widgets/editable.h b/gui/widgets/editable.h index 63a1942311..e3b3a2b014 100644 --- a/gui/widgets/editable.h +++ b/gui/widgets/editable.h @@ -17,6 +17,7 @@ * 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. + * */ #ifndef GUI_WIDGETS_EDITABLE_H diff --git a/gui/widgets/edittext.cpp b/gui/widgets/edittext.cpp index c54ca573ba..3e72350c99 100644 --- a/gui/widgets/edittext.cpp +++ b/gui/widgets/edittext.cpp @@ -17,6 +17,7 @@ * 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 "common/system.h" diff --git a/gui/widgets/edittext.h b/gui/widgets/edittext.h index a34dc4b5dd..7376ae70ff 100644 --- a/gui/widgets/edittext.h +++ b/gui/widgets/edittext.h @@ -17,6 +17,7 @@ * 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. + * */ #ifndef GUI_WIDGETS_EDITTEXT_H diff --git a/gui/widgets/list.cpp b/gui/widgets/list.cpp index 8b8eb31db9..4b69202fdc 100644 --- a/gui/widgets/list.cpp +++ b/gui/widgets/list.cpp @@ -17,6 +17,7 @@ * 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 "common/system.h" diff --git a/gui/widgets/list.h b/gui/widgets/list.h index d18a82dd3f..1abb2b810e 100644 --- a/gui/widgets/list.h +++ b/gui/widgets/list.h @@ -17,6 +17,7 @@ * 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. + * */ #ifndef GUI_WIDGETS_LIST_H diff --git a/gui/widgets/popup.cpp b/gui/widgets/popup.cpp index 829a49c53e..6186492339 100644 --- a/gui/widgets/popup.cpp +++ b/gui/widgets/popup.cpp @@ -17,6 +17,7 @@ * 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 "common/system.h" diff --git a/gui/widgets/popup.h b/gui/widgets/popup.h index 34983adbeb..102c7fd258 100644 --- a/gui/widgets/popup.h +++ b/gui/widgets/popup.h @@ -17,6 +17,7 @@ * 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. + * */ #ifndef GUI_WIDGETS_POPUP_H diff --git a/gui/widgets/scrollbar.cpp b/gui/widgets/scrollbar.cpp index c7c17bc908..f1306b9c4a 100644 --- a/gui/widgets/scrollbar.cpp +++ b/gui/widgets/scrollbar.cpp @@ -17,6 +17,7 @@ * 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 "common/rect.h" diff --git a/gui/widgets/scrollbar.h b/gui/widgets/scrollbar.h index 1c9f371cbc..de7c13ce03 100644 --- a/gui/widgets/scrollbar.h +++ b/gui/widgets/scrollbar.h @@ -17,6 +17,7 @@ * 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. + * */ #ifndef GUI_WIDGETS_SCROLLBAR_H diff --git a/gui/widgets/tab.cpp b/gui/widgets/tab.cpp index 66f33907ca..a8b3f5450d 100644 --- a/gui/widgets/tab.cpp +++ b/gui/widgets/tab.cpp @@ -17,6 +17,7 @@ * 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 "common/util.h" diff --git a/gui/widgets/tab.h b/gui/widgets/tab.h index b19036979e..38aa089eb5 100644 --- a/gui/widgets/tab.h +++ b/gui/widgets/tab.h @@ -17,6 +17,7 @@ * 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. + * */ #ifndef GUI_WIDGETS_TAB_H -- cgit v1.2.3 From d5b21c4036f4581ac4f51ae964a916f104f1c356 Mon Sep 17 00:00:00 2001 From: Johannes Schickel Date: Tue, 18 Feb 2014 02:34:21 +0100 Subject: HOPKINS: Make GPL headers consistent in themselves. --- engines/hopkins/anim.cpp | 4 ++-- engines/hopkins/anim.h | 4 ++-- engines/hopkins/computer.cpp | 4 ++-- engines/hopkins/computer.h | 4 ++-- engines/hopkins/debugger.cpp | 6 +++--- engines/hopkins/debugger.h | 6 +++--- engines/hopkins/detection.cpp | 5 ++--- engines/hopkins/detection_tables.h | 4 ++-- engines/hopkins/dialogs.cpp | 4 ++-- engines/hopkins/dialogs.h | 4 ++-- engines/hopkins/events.cpp | 4 ++-- engines/hopkins/events.h | 4 ++-- engines/hopkins/files.cpp | 4 ++-- engines/hopkins/files.h | 4 ++-- engines/hopkins/font.cpp | 4 ++-- engines/hopkins/font.h | 4 ++-- engines/hopkins/globals.cpp | 4 ++-- engines/hopkins/globals.h | 4 ++-- engines/hopkins/graphics.cpp | 4 ++-- engines/hopkins/graphics.h | 4 ++-- engines/hopkins/hopkins.cpp | 4 ++-- engines/hopkins/hopkins.h | 4 ++-- engines/hopkins/lines.cpp | 4 ++-- engines/hopkins/lines.h | 4 ++-- engines/hopkins/menu.cpp | 4 ++-- engines/hopkins/menu.h | 4 ++-- engines/hopkins/objects.cpp | 4 ++-- engines/hopkins/objects.h | 4 ++-- engines/hopkins/saveload.cpp | 4 ++-- engines/hopkins/saveload.h | 4 ++-- engines/hopkins/script.cpp | 4 ++-- engines/hopkins/script.h | 4 ++-- engines/hopkins/sound.cpp | 4 ++-- engines/hopkins/sound.h | 4 ++-- engines/hopkins/talk.cpp | 4 ++-- engines/hopkins/talk.h | 4 ++-- 36 files changed, 74 insertions(+), 75 deletions(-) diff --git a/engines/hopkins/anim.cpp b/engines/hopkins/anim.cpp index 238f27616e..8f2a18f741 100644 --- a/engines/hopkins/anim.cpp +++ b/engines/hopkins/anim.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/hopkins/anim.h b/engines/hopkins/anim.h index bf9b55aaae..a273245097 100644 --- a/engines/hopkins/anim.h +++ b/engines/hopkins/anim.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/hopkins/computer.cpp b/engines/hopkins/computer.cpp index c42474de64..1307cd5796 100644 --- a/engines/hopkins/computer.cpp +++ b/engines/hopkins/computer.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/hopkins/computer.h b/engines/hopkins/computer.h index 1771bba7d6..e8857a234b 100644 --- a/engines/hopkins/computer.h +++ b/engines/hopkins/computer.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/hopkins/debugger.cpp b/engines/hopkins/debugger.cpp index f111eb50d3..14b1c183a8 100644 --- a/engines/hopkins/debugger.cpp +++ b/engines/hopkins/debugger.cpp @@ -8,12 +8,12 @@ * 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 + * 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. diff --git a/engines/hopkins/debugger.h b/engines/hopkins/debugger.h index 746c54a675..94a66af15b 100644 --- a/engines/hopkins/debugger.h +++ b/engines/hopkins/debugger.h @@ -8,12 +8,12 @@ * 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 + * 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. diff --git a/engines/hopkins/detection.cpp b/engines/hopkins/detection.cpp index 072c591dae..a25b19e496 100644 --- a/engines/hopkins/detection.cpp +++ b/engines/hopkins/detection.cpp @@ -8,17 +8,16 @@ * 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 "hopkins/hopkins.h" diff --git a/engines/hopkins/detection_tables.h b/engines/hopkins/detection_tables.h index c6db7ab253..aeb92d7411 100644 --- a/engines/hopkins/detection_tables.h +++ b/engines/hopkins/detection_tables.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/hopkins/dialogs.cpp b/engines/hopkins/dialogs.cpp index 8c944167ae..fc613f892d 100644 --- a/engines/hopkins/dialogs.cpp +++ b/engines/hopkins/dialogs.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/hopkins/dialogs.h b/engines/hopkins/dialogs.h index 246b80cd3e..822cf376dd 100644 --- a/engines/hopkins/dialogs.h +++ b/engines/hopkins/dialogs.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/hopkins/events.cpp b/engines/hopkins/events.cpp index d0c1dcea4d..1ee495a111 100644 --- a/engines/hopkins/events.cpp +++ b/engines/hopkins/events.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/hopkins/events.h b/engines/hopkins/events.h index f4dedce1c5..fde0106689 100644 --- a/engines/hopkins/events.h +++ b/engines/hopkins/events.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/hopkins/files.cpp b/engines/hopkins/files.cpp index 51d11afd91..75f429f860 100644 --- a/engines/hopkins/files.cpp +++ b/engines/hopkins/files.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/hopkins/files.h b/engines/hopkins/files.h index 5e5eaa755c..0c117ccc10 100644 --- a/engines/hopkins/files.h +++ b/engines/hopkins/files.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/hopkins/font.cpp b/engines/hopkins/font.cpp index ac0eee2866..7d57f564a9 100644 --- a/engines/hopkins/font.cpp +++ b/engines/hopkins/font.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/hopkins/font.h b/engines/hopkins/font.h index 93e807ea4b..fe423edfe7 100644 --- a/engines/hopkins/font.h +++ b/engines/hopkins/font.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/hopkins/globals.cpp b/engines/hopkins/globals.cpp index cd66a84b73..1f192748cd 100644 --- a/engines/hopkins/globals.cpp +++ b/engines/hopkins/globals.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/hopkins/globals.h b/engines/hopkins/globals.h index 94512c3d26..2e17389a45 100644 --- a/engines/hopkins/globals.h +++ b/engines/hopkins/globals.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/hopkins/graphics.cpp b/engines/hopkins/graphics.cpp index c47cf95152..e1f5037895 100644 --- a/engines/hopkins/graphics.cpp +++ b/engines/hopkins/graphics.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/hopkins/graphics.h b/engines/hopkins/graphics.h index 8767f5ec4d..1ea6b89f2a 100644 --- a/engines/hopkins/graphics.h +++ b/engines/hopkins/graphics.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/hopkins/hopkins.cpp b/engines/hopkins/hopkins.cpp index 5d8661c4ae..9940391f64 100644 --- a/engines/hopkins/hopkins.cpp +++ b/engines/hopkins/hopkins.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/hopkins/hopkins.h b/engines/hopkins/hopkins.h index 615eace374..b782d103a8 100644 --- a/engines/hopkins/hopkins.h +++ b/engines/hopkins/hopkins.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/hopkins/lines.cpp b/engines/hopkins/lines.cpp index e849f8635c..709f17a8b2 100644 --- a/engines/hopkins/lines.cpp +++ b/engines/hopkins/lines.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/hopkins/lines.h b/engines/hopkins/lines.h index b32dc6e2a5..5e9ef8a7b0 100644 --- a/engines/hopkins/lines.h +++ b/engines/hopkins/lines.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/hopkins/menu.cpp b/engines/hopkins/menu.cpp index 048d1b2cef..169b29a560 100644 --- a/engines/hopkins/menu.cpp +++ b/engines/hopkins/menu.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/hopkins/menu.h b/engines/hopkins/menu.h index e926c29dbd..4f78e73685 100644 --- a/engines/hopkins/menu.h +++ b/engines/hopkins/menu.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/hopkins/objects.cpp b/engines/hopkins/objects.cpp index 2c780dd428..b54b21bbc9 100644 --- a/engines/hopkins/objects.cpp +++ b/engines/hopkins/objects.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/hopkins/objects.h b/engines/hopkins/objects.h index 5f1f5b1f59..dc56765431 100644 --- a/engines/hopkins/objects.h +++ b/engines/hopkins/objects.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/hopkins/saveload.cpp b/engines/hopkins/saveload.cpp index b0dea7e6d1..05c7fb8119 100644 --- a/engines/hopkins/saveload.cpp +++ b/engines/hopkins/saveload.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/hopkins/saveload.h b/engines/hopkins/saveload.h index 5b77c11f12..7b4ec307f5 100644 --- a/engines/hopkins/saveload.h +++ b/engines/hopkins/saveload.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/hopkins/script.cpp b/engines/hopkins/script.cpp index 09b0641a12..b0d8749c7f 100644 --- a/engines/hopkins/script.cpp +++ b/engines/hopkins/script.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/hopkins/script.h b/engines/hopkins/script.h index 2a22e18ccb..1f8e45dc9a 100644 --- a/engines/hopkins/script.h +++ b/engines/hopkins/script.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/hopkins/sound.cpp b/engines/hopkins/sound.cpp index 704ebe3349..773c714899 100644 --- a/engines/hopkins/sound.cpp +++ b/engines/hopkins/sound.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/hopkins/sound.h b/engines/hopkins/sound.h index 6ebb6fdb02..97cdcdc1dd 100644 --- a/engines/hopkins/sound.h +++ b/engines/hopkins/sound.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/hopkins/talk.cpp b/engines/hopkins/talk.cpp index b6faf8b6fe..df7b26c82c 100644 --- a/engines/hopkins/talk.cpp +++ b/engines/hopkins/talk.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/hopkins/talk.h b/engines/hopkins/talk.h index 678f52090a..49ee92d3b9 100644 --- a/engines/hopkins/talk.h +++ b/engines/hopkins/talk.h @@ -8,12 +8,12 @@ * 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. -- cgit v1.2.3 From a331f4aea9a86348febcb3f06e4706e39ca6279d Mon Sep 17 00:00:00 2001 From: Johannes Schickel Date: Tue, 18 Feb 2014 02:34:21 +0100 Subject: HUGO: Make GPL headers consistent in themselves. --- engines/hugo/console.cpp | 4 ++-- engines/hugo/console.h | 4 ++-- engines/hugo/detection.cpp | 4 ++-- engines/hugo/dialogs.cpp | 4 ++-- engines/hugo/dialogs.h | 4 ++-- engines/hugo/display.cpp | 4 ++-- engines/hugo/display.h | 4 ++-- engines/hugo/file.cpp | 4 ++-- engines/hugo/file.h | 4 ++-- engines/hugo/file_v1d.cpp | 4 ++-- engines/hugo/file_v1w.cpp | 4 ++-- engines/hugo/file_v2d.cpp | 4 ++-- engines/hugo/file_v2w.cpp | 4 ++-- engines/hugo/file_v3d.cpp | 4 ++-- engines/hugo/game.h | 4 ++-- engines/hugo/hugo.cpp | 4 ++-- engines/hugo/hugo.h | 4 ++-- engines/hugo/intro.cpp | 4 ++-- engines/hugo/intro.h | 4 ++-- engines/hugo/inventory.cpp | 4 ++-- engines/hugo/inventory.h | 4 ++-- engines/hugo/mouse.cpp | 4 ++-- engines/hugo/mouse.h | 4 ++-- engines/hugo/object.cpp | 4 ++-- engines/hugo/object.h | 4 ++-- engines/hugo/object_v1d.cpp | 4 ++-- engines/hugo/object_v1w.cpp | 4 ++-- engines/hugo/object_v2d.cpp | 4 ++-- engines/hugo/object_v3d.cpp | 4 ++-- engines/hugo/parser.cpp | 4 ++-- engines/hugo/parser.h | 4 ++-- engines/hugo/parser_v1d.cpp | 4 ++-- engines/hugo/parser_v1w.cpp | 4 ++-- engines/hugo/parser_v2d.cpp | 4 ++-- engines/hugo/parser_v3d.cpp | 4 ++-- engines/hugo/route.cpp | 4 ++-- engines/hugo/route.h | 4 ++-- engines/hugo/schedule.cpp | 4 ++-- engines/hugo/schedule.h | 4 ++-- engines/hugo/sound.cpp | 4 ++-- engines/hugo/sound.h | 4 ++-- engines/hugo/text.cpp | 4 ++-- engines/hugo/text.h | 4 ++-- engines/hugo/util.cpp | 4 ++-- engines/hugo/util.h | 4 ++-- 45 files changed, 90 insertions(+), 90 deletions(-) diff --git a/engines/hugo/console.cpp b/engines/hugo/console.cpp index 414c86e1d4..56025bfbfd 100644 --- a/engines/hugo/console.cpp +++ b/engines/hugo/console.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/hugo/console.h b/engines/hugo/console.h index 16317e83d5..a35f2e3c0a 100644 --- a/engines/hugo/console.h +++ b/engines/hugo/console.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/hugo/detection.cpp b/engines/hugo/detection.cpp index 23e963c9b7..3907215746 100644 --- a/engines/hugo/detection.cpp +++ b/engines/hugo/detection.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/hugo/dialogs.cpp b/engines/hugo/dialogs.cpp index 333c14778d..6894030b2b 100644 --- a/engines/hugo/dialogs.cpp +++ b/engines/hugo/dialogs.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/hugo/dialogs.h b/engines/hugo/dialogs.h index 114bcf56a9..55bb8f9fd0 100644 --- a/engines/hugo/dialogs.h +++ b/engines/hugo/dialogs.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/hugo/display.cpp b/engines/hugo/display.cpp index 3dc9c9a1c3..a8a22fb4b9 100644 --- a/engines/hugo/display.cpp +++ b/engines/hugo/display.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/hugo/display.h b/engines/hugo/display.h index 00dc1b743c..e152a7f868 100644 --- a/engines/hugo/display.h +++ b/engines/hugo/display.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/hugo/file.cpp b/engines/hugo/file.cpp index aa128048af..359d4a3e6a 100644 --- a/engines/hugo/file.cpp +++ b/engines/hugo/file.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/hugo/file.h b/engines/hugo/file.h index 44f257a2af..d43528f0f8 100644 --- a/engines/hugo/file.h +++ b/engines/hugo/file.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/hugo/file_v1d.cpp b/engines/hugo/file_v1d.cpp index e42223fb13..b6b51eaa7b 100644 --- a/engines/hugo/file_v1d.cpp +++ b/engines/hugo/file_v1d.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/hugo/file_v1w.cpp b/engines/hugo/file_v1w.cpp index 002a1dc103..27db328ecf 100644 --- a/engines/hugo/file_v1w.cpp +++ b/engines/hugo/file_v1w.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/hugo/file_v2d.cpp b/engines/hugo/file_v2d.cpp index 19c90980b0..5f748133ea 100644 --- a/engines/hugo/file_v2d.cpp +++ b/engines/hugo/file_v2d.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/hugo/file_v2w.cpp b/engines/hugo/file_v2w.cpp index 98a15526fa..4866ba9418 100644 --- a/engines/hugo/file_v2w.cpp +++ b/engines/hugo/file_v2w.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/hugo/file_v3d.cpp b/engines/hugo/file_v3d.cpp index 5eb0cfc2c8..0cfb1dc162 100644 --- a/engines/hugo/file_v3d.cpp +++ b/engines/hugo/file_v3d.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/hugo/game.h b/engines/hugo/game.h index ed49ee8cbe..0ca6dcb111 100644 --- a/engines/hugo/game.h +++ b/engines/hugo/game.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/hugo/hugo.cpp b/engines/hugo/hugo.cpp index 88e2e4372b..8f89832f6b 100644 --- a/engines/hugo/hugo.cpp +++ b/engines/hugo/hugo.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/hugo/hugo.h b/engines/hugo/hugo.h index 6adb5f95d0..cc0fcc6ec2 100644 --- a/engines/hugo/hugo.h +++ b/engines/hugo/hugo.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/hugo/intro.cpp b/engines/hugo/intro.cpp index 5db6c39078..26ef65edf8 100644 --- a/engines/hugo/intro.cpp +++ b/engines/hugo/intro.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/hugo/intro.h b/engines/hugo/intro.h index d5a5a4e4b4..7af53c8922 100644 --- a/engines/hugo/intro.h +++ b/engines/hugo/intro.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/hugo/inventory.cpp b/engines/hugo/inventory.cpp index 03df997866..64609e6327 100644 --- a/engines/hugo/inventory.cpp +++ b/engines/hugo/inventory.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/hugo/inventory.h b/engines/hugo/inventory.h index 5b55c3ec94..a57bff4b58 100644 --- a/engines/hugo/inventory.h +++ b/engines/hugo/inventory.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/hugo/mouse.cpp b/engines/hugo/mouse.cpp index 4b874756a0..558a596b35 100644 --- a/engines/hugo/mouse.cpp +++ b/engines/hugo/mouse.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/hugo/mouse.h b/engines/hugo/mouse.h index e20716f72c..f9d547ec86 100644 --- a/engines/hugo/mouse.h +++ b/engines/hugo/mouse.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/hugo/object.cpp b/engines/hugo/object.cpp index 315214c5a4..bbd2b93adc 100644 --- a/engines/hugo/object.cpp +++ b/engines/hugo/object.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/hugo/object.h b/engines/hugo/object.h index fd0d731a98..59294e70ae 100644 --- a/engines/hugo/object.h +++ b/engines/hugo/object.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/hugo/object_v1d.cpp b/engines/hugo/object_v1d.cpp index 7f88e9e5b8..bfbdfd215b 100644 --- a/engines/hugo/object_v1d.cpp +++ b/engines/hugo/object_v1d.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/hugo/object_v1w.cpp b/engines/hugo/object_v1w.cpp index 61b0f2e48a..736128b006 100644 --- a/engines/hugo/object_v1w.cpp +++ b/engines/hugo/object_v1w.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/hugo/object_v2d.cpp b/engines/hugo/object_v2d.cpp index 7cb6c20dd0..7acd05fe61 100644 --- a/engines/hugo/object_v2d.cpp +++ b/engines/hugo/object_v2d.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/hugo/object_v3d.cpp b/engines/hugo/object_v3d.cpp index 7bb4b95b4a..4805fde460 100644 --- a/engines/hugo/object_v3d.cpp +++ b/engines/hugo/object_v3d.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/hugo/parser.cpp b/engines/hugo/parser.cpp index 57938ec371..998dd5df58 100644 --- a/engines/hugo/parser.cpp +++ b/engines/hugo/parser.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/hugo/parser.h b/engines/hugo/parser.h index e72c46f591..5a2ac7d375 100644 --- a/engines/hugo/parser.h +++ b/engines/hugo/parser.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/hugo/parser_v1d.cpp b/engines/hugo/parser_v1d.cpp index f29b0161f5..404a7bae80 100644 --- a/engines/hugo/parser_v1d.cpp +++ b/engines/hugo/parser_v1d.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/hugo/parser_v1w.cpp b/engines/hugo/parser_v1w.cpp index 3722ccc0e1..10f691866b 100644 --- a/engines/hugo/parser_v1w.cpp +++ b/engines/hugo/parser_v1w.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/hugo/parser_v2d.cpp b/engines/hugo/parser_v2d.cpp index 6d71186f49..d8e91adec2 100644 --- a/engines/hugo/parser_v2d.cpp +++ b/engines/hugo/parser_v2d.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/hugo/parser_v3d.cpp b/engines/hugo/parser_v3d.cpp index a7e5896833..9bcc13e54e 100644 --- a/engines/hugo/parser_v3d.cpp +++ b/engines/hugo/parser_v3d.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/hugo/route.cpp b/engines/hugo/route.cpp index c4ffa6c7ca..17c23ea785 100644 --- a/engines/hugo/route.cpp +++ b/engines/hugo/route.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/hugo/route.h b/engines/hugo/route.h index 71db1e2583..6d312ec1db 100644 --- a/engines/hugo/route.h +++ b/engines/hugo/route.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/hugo/schedule.cpp b/engines/hugo/schedule.cpp index e8359bfdfc..36501d4a7d 100644 --- a/engines/hugo/schedule.cpp +++ b/engines/hugo/schedule.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/hugo/schedule.h b/engines/hugo/schedule.h index 37851f1ebc..7f09904258 100644 --- a/engines/hugo/schedule.h +++ b/engines/hugo/schedule.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/hugo/sound.cpp b/engines/hugo/sound.cpp index 28dcdc83d6..8591709dc3 100644 --- a/engines/hugo/sound.cpp +++ b/engines/hugo/sound.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/hugo/sound.h b/engines/hugo/sound.h index b00d93eeb1..6c3420918d 100644 --- a/engines/hugo/sound.h +++ b/engines/hugo/sound.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/hugo/text.cpp b/engines/hugo/text.cpp index 5e7505744c..50b2b64260 100644 --- a/engines/hugo/text.cpp +++ b/engines/hugo/text.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/hugo/text.h b/engines/hugo/text.h index 0ba8de9cdf..aa35f0a53f 100644 --- a/engines/hugo/text.h +++ b/engines/hugo/text.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/hugo/util.cpp b/engines/hugo/util.cpp index fdc676e6a7..7b75bf2bc5 100644 --- a/engines/hugo/util.cpp +++ b/engines/hugo/util.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/hugo/util.h b/engines/hugo/util.h index d8634c88e0..3a76e3c6f4 100644 --- a/engines/hugo/util.h +++ b/engines/hugo/util.h @@ -8,12 +8,12 @@ * 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. -- cgit v1.2.3 From 2f87b338d84b3639c3dc1f9aca830e6c6f9e163d Mon Sep 17 00:00:00 2001 From: Johannes Schickel Date: Tue, 18 Feb 2014 02:34:21 +0100 Subject: IPHOME: Make GPL headers consistent in themselves. --- backends/platform/iphone/iphone_common.h | 4 ++-- backends/platform/iphone/iphone_keyboard.h | 4 ++-- backends/platform/iphone/iphone_keyboard.mm | 4 ++-- backends/platform/iphone/iphone_main.mm | 4 ++-- backends/platform/iphone/iphone_video.h | 4 ++-- backends/platform/iphone/iphone_video.mm | 4 ++-- backends/platform/iphone/osys_events.cpp | 4 ++-- backends/platform/iphone/osys_main.cpp | 4 ++-- backends/platform/iphone/osys_main.h | 4 ++-- backends/platform/iphone/osys_sound.cpp | 4 ++-- backends/platform/iphone/osys_video.mm | 4 ++-- 11 files changed, 22 insertions(+), 22 deletions(-) diff --git a/backends/platform/iphone/iphone_common.h b/backends/platform/iphone/iphone_common.h index 9c45a240cb..59dca84b85 100644 --- a/backends/platform/iphone/iphone_common.h +++ b/backends/platform/iphone/iphone_common.h @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/iphone/iphone_keyboard.h b/backends/platform/iphone/iphone_keyboard.h index 2d1238c92f..d54df9ac96 100644 --- a/backends/platform/iphone/iphone_keyboard.h +++ b/backends/platform/iphone/iphone_keyboard.h @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/iphone/iphone_keyboard.mm b/backends/platform/iphone/iphone_keyboard.mm index b00930ab31..3f491d4b02 100644 --- a/backends/platform/iphone/iphone_keyboard.mm +++ b/backends/platform/iphone/iphone_keyboard.mm @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/iphone/iphone_main.mm b/backends/platform/iphone/iphone_main.mm index e76ffe866e..3707f10a29 100644 --- a/backends/platform/iphone/iphone_main.mm +++ b/backends/platform/iphone/iphone_main.mm @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/iphone/iphone_video.h b/backends/platform/iphone/iphone_video.h index 6b8c25ebcf..9b26ca9c5a 100644 --- a/backends/platform/iphone/iphone_video.h +++ b/backends/platform/iphone/iphone_video.h @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/iphone/iphone_video.mm b/backends/platform/iphone/iphone_video.mm index f2c1527658..3178b38255 100644 --- a/backends/platform/iphone/iphone_video.mm +++ b/backends/platform/iphone/iphone_video.mm @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/iphone/osys_events.cpp b/backends/platform/iphone/osys_events.cpp index 9cfca0836e..95ca25a2d2 100644 --- a/backends/platform/iphone/osys_events.cpp +++ b/backends/platform/iphone/osys_events.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/iphone/osys_main.cpp b/backends/platform/iphone/osys_main.cpp index a814495b80..0ce21b44c1 100644 --- a/backends/platform/iphone/osys_main.cpp +++ b/backends/platform/iphone/osys_main.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/iphone/osys_main.h b/backends/platform/iphone/osys_main.h index 811a8ddb2e..0159eee1be 100644 --- a/backends/platform/iphone/osys_main.h +++ b/backends/platform/iphone/osys_main.h @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/iphone/osys_sound.cpp b/backends/platform/iphone/osys_sound.cpp index 405543e380..bfee06c6f2 100644 --- a/backends/platform/iphone/osys_sound.cpp +++ b/backends/platform/iphone/osys_sound.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/iphone/osys_video.mm b/backends/platform/iphone/osys_video.mm index ce7f94f5bd..c76f432dda 100644 --- a/backends/platform/iphone/osys_video.mm +++ b/backends/platform/iphone/osys_video.mm @@ -8,12 +8,12 @@ * 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. -- cgit v1.2.3 From 594aaad38fc6122f292941f1cf3fc739a423ef60 Mon Sep 17 00:00:00 2001 From: Johannes Schickel Date: Tue, 18 Feb 2014 02:34:21 +0100 Subject: KEYMAPPER: Make GPL headers consistent in themselves. --- backends/keymapper/action.cpp | 40 ++++++++++++++++----------------- backends/keymapper/action.h | 40 ++++++++++++++++----------------- backends/keymapper/hardware-input.cpp | 40 ++++++++++++++++----------------- backends/keymapper/hardware-input.h | 40 ++++++++++++++++----------------- backends/keymapper/keymap.cpp | 40 ++++++++++++++++----------------- backends/keymapper/keymap.h | 40 ++++++++++++++++----------------- backends/keymapper/keymapper-defaults.h | 40 ++++++++++++++++----------------- backends/keymapper/keymapper.cpp | 40 ++++++++++++++++----------------- backends/keymapper/keymapper.h | 40 ++++++++++++++++----------------- backends/keymapper/remap-dialog.cpp | 1 + backends/keymapper/remap-dialog.h | 1 + 11 files changed, 182 insertions(+), 180 deletions(-) diff --git a/backends/keymapper/action.cpp b/backends/keymapper/action.cpp index 33f5c423b0..5108590f0c 100644 --- a/backends/keymapper/action.cpp +++ b/backends/keymapper/action.cpp @@ -1,24 +1,24 @@ /* 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. -* -*/ + * + * 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 "backends/keymapper/action.h" diff --git a/backends/keymapper/action.h b/backends/keymapper/action.h index 5e69ed3918..ed4bb86ce6 100644 --- a/backends/keymapper/action.h +++ b/backends/keymapper/action.h @@ -1,24 +1,24 @@ /* 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. -* -*/ + * + * 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. + * + */ #ifndef COMMON_ACTION_H #define COMMON_ACTION_H diff --git a/backends/keymapper/hardware-input.cpp b/backends/keymapper/hardware-input.cpp index d1f8822ac0..d4b5ff5da0 100644 --- a/backends/keymapper/hardware-input.cpp +++ b/backends/keymapper/hardware-input.cpp @@ -1,24 +1,24 @@ /* 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. -* -*/ + * + * 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 "backends/keymapper/hardware-input.h" diff --git a/backends/keymapper/hardware-input.h b/backends/keymapper/hardware-input.h index 51d4accb5b..064d7e9da0 100644 --- a/backends/keymapper/hardware-input.h +++ b/backends/keymapper/hardware-input.h @@ -1,24 +1,24 @@ /* 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. -* -*/ + * + * 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. + * + */ #ifndef COMMON_HARDWARE_KEY_H #define COMMON_HARDWARE_KEY_H diff --git a/backends/keymapper/keymap.cpp b/backends/keymapper/keymap.cpp index e95dd6afb5..eaa774c972 100644 --- a/backends/keymapper/keymap.cpp +++ b/backends/keymapper/keymap.cpp @@ -1,24 +1,24 @@ /* 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. -* -*/ + * + * 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 "backends/keymapper/keymap.h" diff --git a/backends/keymapper/keymap.h b/backends/keymapper/keymap.h index 6eaec7dcaf..0694dc31e1 100644 --- a/backends/keymapper/keymap.h +++ b/backends/keymapper/keymap.h @@ -1,24 +1,24 @@ /* 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. -* -*/ + * + * 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. + * + */ #ifndef COMMON_KEYMAP_H #define COMMON_KEYMAP_H diff --git a/backends/keymapper/keymapper-defaults.h b/backends/keymapper/keymapper-defaults.h index bd4afd4e3a..aedde873dc 100644 --- a/backends/keymapper/keymapper-defaults.h +++ b/backends/keymapper/keymapper-defaults.h @@ -1,24 +1,24 @@ /* 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. -* -*/ + * + * 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. + * + */ #ifdef ENABLE_KEYMAPPER diff --git a/backends/keymapper/keymapper.cpp b/backends/keymapper/keymapper.cpp index dcb021f2d8..aba00c500d 100644 --- a/backends/keymapper/keymapper.cpp +++ b/backends/keymapper/keymapper.cpp @@ -1,24 +1,24 @@ /* 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. -* -*/ + * + * 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 "backends/keymapper/keymapper.h" diff --git a/backends/keymapper/keymapper.h b/backends/keymapper/keymapper.h index a54a2acbdc..ea6fc14e35 100644 --- a/backends/keymapper/keymapper.h +++ b/backends/keymapper/keymapper.h @@ -1,24 +1,24 @@ /* 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. -* -*/ + * + * 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. + * + */ #ifndef COMMON_KEYMAPPER_H #define COMMON_KEYMAPPER_H diff --git a/backends/keymapper/remap-dialog.cpp b/backends/keymapper/remap-dialog.cpp index 009c2201a9..2d39bcd3b2 100644 --- a/backends/keymapper/remap-dialog.cpp +++ b/backends/keymapper/remap-dialog.cpp @@ -17,6 +17,7 @@ * 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 "backends/keymapper/remap-dialog.h" diff --git a/backends/keymapper/remap-dialog.h b/backends/keymapper/remap-dialog.h index 82c68405db..054a471064 100644 --- a/backends/keymapper/remap-dialog.h +++ b/backends/keymapper/remap-dialog.h @@ -17,6 +17,7 @@ * 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. + * */ #ifndef REMAP_DIALOG_H -- cgit v1.2.3 From b79c2156d03aa6a40a94395453f6b0436ed48c03 Mon Sep 17 00:00:00 2001 From: Johannes Schickel Date: Tue, 18 Feb 2014 02:34:21 +0100 Subject: KYRA: Make GPL headers consistent in themselves. --- engines/kyra/animator_hof.cpp | 4 ++-- engines/kyra/animator_lok.cpp | 4 ++-- engines/kyra/animator_lok.h | 4 ++-- engines/kyra/animator_mr.cpp | 4 ++-- engines/kyra/animator_tim.cpp | 4 ++-- engines/kyra/animator_v2.cpp | 4 ++-- engines/kyra/chargen.cpp | 4 ++-- engines/kyra/darkmoon.cpp | 4 ++-- engines/kyra/darkmoon.h | 4 ++-- engines/kyra/debugger.cpp | 4 ++-- engines/kyra/debugger.h | 4 ++-- engines/kyra/detection_tables.h | 1 + engines/kyra/eob.cpp | 4 ++-- engines/kyra/eob.h | 4 ++-- engines/kyra/eobcommon.cpp | 4 ++-- engines/kyra/eobcommon.h | 4 ++-- engines/kyra/gui.cpp | 4 ++-- engines/kyra/gui.h | 4 ++-- engines/kyra/gui_eob.cpp | 4 ++-- engines/kyra/gui_eob.h | 4 ++-- engines/kyra/gui_hof.cpp | 6 +++--- engines/kyra/gui_hof.h | 4 ++-- engines/kyra/gui_lok.cpp | 4 ++-- engines/kyra/gui_lok.h | 4 ++-- engines/kyra/gui_lol.cpp | 4 ++-- engines/kyra/gui_lol.h | 4 ++-- engines/kyra/gui_mr.cpp | 4 ++-- engines/kyra/gui_mr.h | 4 ++-- engines/kyra/gui_rpg.cpp | 4 ++-- engines/kyra/gui_v1.cpp | 4 ++-- engines/kyra/gui_v1.h | 4 ++-- engines/kyra/gui_v2.cpp | 4 ++-- engines/kyra/gui_v2.h | 4 ++-- engines/kyra/item.h | 4 ++-- engines/kyra/items_eob.cpp | 4 ++-- engines/kyra/items_hof.cpp | 4 ++-- engines/kyra/items_lok.cpp | 4 ++-- engines/kyra/items_lol.cpp | 4 ++-- engines/kyra/items_mr.cpp | 4 ++-- engines/kyra/items_v2.cpp | 4 ++-- engines/kyra/kyra_hof.cpp | 4 ++-- engines/kyra/kyra_hof.h | 4 ++-- engines/kyra/kyra_lok.cpp | 4 ++-- engines/kyra/kyra_lok.h | 4 ++-- engines/kyra/kyra_mr.cpp | 4 ++-- engines/kyra/kyra_mr.h | 4 ++-- engines/kyra/kyra_rpg.cpp | 4 ++-- engines/kyra/kyra_rpg.h | 4 ++-- engines/kyra/kyra_v1.cpp | 4 ++-- engines/kyra/kyra_v1.h | 4 ++-- engines/kyra/kyra_v2.cpp | 4 ++-- engines/kyra/kyra_v2.h | 4 ++-- engines/kyra/lol.cpp | 4 ++-- engines/kyra/lol.h | 4 ++-- engines/kyra/magic_eob.cpp | 4 ++-- engines/kyra/resource.cpp | 4 ++-- engines/kyra/resource.h | 4 ++-- engines/kyra/resource_intern.cpp | 4 ++-- engines/kyra/resource_intern.h | 4 ++-- engines/kyra/saveload.cpp | 4 ++-- engines/kyra/saveload_eob.cpp | 4 ++-- engines/kyra/saveload_hof.cpp | 4 ++-- engines/kyra/saveload_lok.cpp | 4 ++-- engines/kyra/saveload_lol.cpp | 4 ++-- engines/kyra/saveload_mr.cpp | 4 ++-- engines/kyra/saveload_rpg.cpp | 4 ++-- engines/kyra/scene_eob.cpp | 4 ++-- engines/kyra/scene_hof.cpp | 4 ++-- engines/kyra/scene_lok.cpp | 4 ++-- engines/kyra/scene_lol.cpp | 4 ++-- engines/kyra/scene_mr.cpp | 4 ++-- engines/kyra/scene_rpg.cpp | 4 ++-- engines/kyra/scene_v1.cpp | 4 ++-- engines/kyra/scene_v2.cpp | 4 ++-- engines/kyra/screen.cpp | 4 ++-- engines/kyra/screen.h | 4 ++-- engines/kyra/screen_eob.cpp | 4 ++-- engines/kyra/screen_eob.h | 4 ++-- engines/kyra/screen_hof.cpp | 6 +++--- engines/kyra/screen_hof.h | 6 +++--- engines/kyra/screen_lok.cpp | 4 ++-- engines/kyra/screen_lok.h | 4 ++-- engines/kyra/screen_lol.cpp | 4 ++-- engines/kyra/screen_lol.h | 4 ++-- engines/kyra/screen_mr.cpp | 6 +++--- engines/kyra/screen_mr.h | 6 +++--- engines/kyra/screen_v2.cpp | 4 ++-- engines/kyra/screen_v2.h | 4 ++-- engines/kyra/script.cpp | 4 ++-- engines/kyra/script.h | 4 ++-- engines/kyra/script_eob.cpp | 4 ++-- engines/kyra/script_eob.h | 5 ++--- engines/kyra/script_hof.cpp | 4 ++-- engines/kyra/script_lok.cpp | 4 ++-- engines/kyra/script_lol.cpp | 4 ++-- engines/kyra/script_mr.cpp | 4 ++-- engines/kyra/script_tim.cpp | 4 ++-- engines/kyra/script_tim.h | 4 ++-- engines/kyra/script_v1.cpp | 4 ++-- engines/kyra/script_v2.cpp | 4 ++-- engines/kyra/seqplayer.cpp | 4 ++-- engines/kyra/seqplayer.h | 4 ++-- engines/kyra/sequences_darkmoon.cpp | 4 ++-- engines/kyra/sequences_eob.cpp | 4 ++-- engines/kyra/sequences_hof.cpp | 4 ++-- engines/kyra/sequences_hof.h | 4 ++-- engines/kyra/sequences_lok.cpp | 4 ++-- engines/kyra/sequences_lol.cpp | 4 ++-- engines/kyra/sequences_mr.cpp | 4 ++-- engines/kyra/sequences_v2.cpp | 4 ++-- engines/kyra/sound.cpp | 4 ++-- engines/kyra/sound_adlib.cpp | 8 ++++---- engines/kyra/sound_amiga.cpp | 4 ++-- engines/kyra/sound_digital.cpp | 4 ++-- engines/kyra/sound_lok.cpp | 4 ++-- engines/kyra/sound_lol.cpp | 4 ++-- engines/kyra/sound_midi.cpp | 4 ++-- engines/kyra/sound_pcspk.cpp | 4 ++-- engines/kyra/sound_towns.cpp | 4 ++-- engines/kyra/sprites.cpp | 4 ++-- engines/kyra/sprites.h | 4 ++-- engines/kyra/sprites_eob.cpp | 4 ++-- engines/kyra/sprites_lol.cpp | 4 ++-- engines/kyra/sprites_rpg.cpp | 4 ++-- engines/kyra/staticres.cpp | 4 ++-- engines/kyra/staticres_eob.cpp | 5 ++--- engines/kyra/staticres_lol.cpp | 4 ++-- engines/kyra/staticres_rpg.cpp | 5 ++--- engines/kyra/text.cpp | 4 ++-- engines/kyra/text.h | 4 ++-- engines/kyra/text_hof.cpp | 4 ++-- engines/kyra/text_hof.h | 4 ++-- engines/kyra/text_lok.cpp | 4 ++-- engines/kyra/text_lol.cpp | 4 ++-- engines/kyra/text_lol.h | 4 ++-- engines/kyra/text_mr.cpp | 4 ++-- engines/kyra/text_mr.h | 4 ++-- engines/kyra/text_rpg.cpp | 5 ++--- engines/kyra/text_rpg.h | 6 +++--- engines/kyra/timer.cpp | 6 +++--- engines/kyra/timer.h | 6 +++--- engines/kyra/timer_eob.cpp | 4 ++-- engines/kyra/timer_hof.cpp | 6 +++--- engines/kyra/timer_lok.cpp | 6 +++--- engines/kyra/timer_lol.cpp | 6 +++--- engines/kyra/timer_mr.cpp | 6 +++--- engines/kyra/timer_rpg.cpp | 4 ++-- engines/kyra/util.cpp | 4 ++-- engines/kyra/util.h | 4 ++-- engines/kyra/vqa.cpp | 4 ++-- engines/kyra/vqa.h | 4 ++-- engines/kyra/wsamovie.cpp | 4 ++-- engines/kyra/wsamovie.h | 4 ++-- 153 files changed, 319 insertions(+), 322 deletions(-) diff --git a/engines/kyra/animator_hof.cpp b/engines/kyra/animator_hof.cpp index 59112504d6..7ce79cb7a0 100644 --- a/engines/kyra/animator_hof.cpp +++ b/engines/kyra/animator_hof.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/kyra/animator_lok.cpp b/engines/kyra/animator_lok.cpp index 945a51a4ec..ba6dc91e1f 100644 --- a/engines/kyra/animator_lok.cpp +++ b/engines/kyra/animator_lok.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/kyra/animator_lok.h b/engines/kyra/animator_lok.h index 74b8305468..55c4d571fd 100644 --- a/engines/kyra/animator_lok.h +++ b/engines/kyra/animator_lok.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/kyra/animator_mr.cpp b/engines/kyra/animator_mr.cpp index 83e774e2fc..3b9454ce56 100644 --- a/engines/kyra/animator_mr.cpp +++ b/engines/kyra/animator_mr.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/kyra/animator_tim.cpp b/engines/kyra/animator_tim.cpp index 90f4ad89ad..1d65ba7b1a 100644 --- a/engines/kyra/animator_tim.cpp +++ b/engines/kyra/animator_tim.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/kyra/animator_v2.cpp b/engines/kyra/animator_v2.cpp index f7ae6749cf..5ac154bdce 100644 --- a/engines/kyra/animator_v2.cpp +++ b/engines/kyra/animator_v2.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/kyra/chargen.cpp b/engines/kyra/chargen.cpp index 80ff42e2c5..2454909440 100644 --- a/engines/kyra/chargen.cpp +++ b/engines/kyra/chargen.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/kyra/darkmoon.cpp b/engines/kyra/darkmoon.cpp index a694a4aba5..71ae98e4db 100644 --- a/engines/kyra/darkmoon.cpp +++ b/engines/kyra/darkmoon.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/kyra/darkmoon.h b/engines/kyra/darkmoon.h index f0057ddd66..57eb46eb1c 100644 --- a/engines/kyra/darkmoon.h +++ b/engines/kyra/darkmoon.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/kyra/debugger.cpp b/engines/kyra/debugger.cpp index 99d73d19c7..e4806afb70 100644 --- a/engines/kyra/debugger.cpp +++ b/engines/kyra/debugger.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/kyra/debugger.h b/engines/kyra/debugger.h index c1056a6cf3..aaf7c51c18 100644 --- a/engines/kyra/debugger.h +++ b/engines/kyra/debugger.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/kyra/detection_tables.h b/engines/kyra/detection_tables.h index f59d173fe6..1ada9a87ba 100644 --- a/engines/kyra/detection_tables.h +++ b/engines/kyra/detection_tables.h @@ -17,6 +17,7 @@ * 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. + * */ namespace { diff --git a/engines/kyra/eob.cpp b/engines/kyra/eob.cpp index 405ea2129a..6a6b20baac 100644 --- a/engines/kyra/eob.cpp +++ b/engines/kyra/eob.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/kyra/eob.h b/engines/kyra/eob.h index b423b0da9d..09b6380c91 100644 --- a/engines/kyra/eob.h +++ b/engines/kyra/eob.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/kyra/eobcommon.cpp b/engines/kyra/eobcommon.cpp index d477209e5b..38a5ab8440 100644 --- a/engines/kyra/eobcommon.cpp +++ b/engines/kyra/eobcommon.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/kyra/eobcommon.h b/engines/kyra/eobcommon.h index 6421159dbe..1401d59dae 100644 --- a/engines/kyra/eobcommon.h +++ b/engines/kyra/eobcommon.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/kyra/gui.cpp b/engines/kyra/gui.cpp index 1156b17957..e95d78c54d 100644 --- a/engines/kyra/gui.cpp +++ b/engines/kyra/gui.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/kyra/gui.h b/engines/kyra/gui.h index 854f10e85d..3e2bdc04cd 100644 --- a/engines/kyra/gui.h +++ b/engines/kyra/gui.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/kyra/gui_eob.cpp b/engines/kyra/gui_eob.cpp index 9b4c09d7f4..9456e575db 100644 --- a/engines/kyra/gui_eob.cpp +++ b/engines/kyra/gui_eob.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/kyra/gui_eob.h b/engines/kyra/gui_eob.h index 1b7bdf3482..e4daff6ada 100644 --- a/engines/kyra/gui_eob.h +++ b/engines/kyra/gui_eob.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/kyra/gui_hof.cpp b/engines/kyra/gui_hof.cpp index 3a2c07beff..8515cf51e0 100644 --- a/engines/kyra/gui_hof.cpp +++ b/engines/kyra/gui_hof.cpp @@ -8,12 +8,12 @@ * 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 + * 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. diff --git a/engines/kyra/gui_hof.h b/engines/kyra/gui_hof.h index c228c35551..9f6aaae2ca 100644 --- a/engines/kyra/gui_hof.h +++ b/engines/kyra/gui_hof.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/kyra/gui_lok.cpp b/engines/kyra/gui_lok.cpp index 8e18ff910d..03b77bf677 100644 --- a/engines/kyra/gui_lok.cpp +++ b/engines/kyra/gui_lok.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/kyra/gui_lok.h b/engines/kyra/gui_lok.h index d3e0beaa9e..76a5dc586b 100644 --- a/engines/kyra/gui_lok.h +++ b/engines/kyra/gui_lok.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/kyra/gui_lol.cpp b/engines/kyra/gui_lol.cpp index 8808c313fc..cfdf762bba 100644 --- a/engines/kyra/gui_lol.cpp +++ b/engines/kyra/gui_lol.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/kyra/gui_lol.h b/engines/kyra/gui_lol.h index 79d4b6b4c9..6fa6571016 100644 --- a/engines/kyra/gui_lol.h +++ b/engines/kyra/gui_lol.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/kyra/gui_mr.cpp b/engines/kyra/gui_mr.cpp index ee0303c8c3..7984dde662 100644 --- a/engines/kyra/gui_mr.cpp +++ b/engines/kyra/gui_mr.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/kyra/gui_mr.h b/engines/kyra/gui_mr.h index 6303dff83f..62872a5355 100644 --- a/engines/kyra/gui_mr.h +++ b/engines/kyra/gui_mr.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/kyra/gui_rpg.cpp b/engines/kyra/gui_rpg.cpp index ab25f95df8..8e77a6e141 100644 --- a/engines/kyra/gui_rpg.cpp +++ b/engines/kyra/gui_rpg.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/kyra/gui_v1.cpp b/engines/kyra/gui_v1.cpp index cec6562dd9..a75c14b071 100644 --- a/engines/kyra/gui_v1.cpp +++ b/engines/kyra/gui_v1.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/kyra/gui_v1.h b/engines/kyra/gui_v1.h index 260edae8e5..94be09037c 100644 --- a/engines/kyra/gui_v1.h +++ b/engines/kyra/gui_v1.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/kyra/gui_v2.cpp b/engines/kyra/gui_v2.cpp index 1df4149d2e..afda573c61 100644 --- a/engines/kyra/gui_v2.cpp +++ b/engines/kyra/gui_v2.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/kyra/gui_v2.h b/engines/kyra/gui_v2.h index bdbcce1c4f..34651e4c22 100644 --- a/engines/kyra/gui_v2.h +++ b/engines/kyra/gui_v2.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/kyra/item.h b/engines/kyra/item.h index 4b236372a2..cf06aad8ba 100644 --- a/engines/kyra/item.h +++ b/engines/kyra/item.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/kyra/items_eob.cpp b/engines/kyra/items_eob.cpp index 6c7ccf14dc..c9c632f60b 100644 --- a/engines/kyra/items_eob.cpp +++ b/engines/kyra/items_eob.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/kyra/items_hof.cpp b/engines/kyra/items_hof.cpp index e1d3c659de..2640af5188 100644 --- a/engines/kyra/items_hof.cpp +++ b/engines/kyra/items_hof.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/kyra/items_lok.cpp b/engines/kyra/items_lok.cpp index 8ee07e8271..55a23b2a1a 100644 --- a/engines/kyra/items_lok.cpp +++ b/engines/kyra/items_lok.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/kyra/items_lol.cpp b/engines/kyra/items_lol.cpp index f4024471d2..f2a9637dfe 100644 --- a/engines/kyra/items_lol.cpp +++ b/engines/kyra/items_lol.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/kyra/items_mr.cpp b/engines/kyra/items_mr.cpp index 029f676538..397fab8d8f 100644 --- a/engines/kyra/items_mr.cpp +++ b/engines/kyra/items_mr.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/kyra/items_v2.cpp b/engines/kyra/items_v2.cpp index 2145a2c2f0..732fa7c8dd 100644 --- a/engines/kyra/items_v2.cpp +++ b/engines/kyra/items_v2.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/kyra/kyra_hof.cpp b/engines/kyra/kyra_hof.cpp index ce9b530dbe..9988899da8 100644 --- a/engines/kyra/kyra_hof.cpp +++ b/engines/kyra/kyra_hof.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/kyra/kyra_hof.h b/engines/kyra/kyra_hof.h index 1b84e5b56f..1e500d4286 100644 --- a/engines/kyra/kyra_hof.h +++ b/engines/kyra/kyra_hof.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/kyra/kyra_lok.cpp b/engines/kyra/kyra_lok.cpp index 7d4e35092f..80511c674d 100644 --- a/engines/kyra/kyra_lok.cpp +++ b/engines/kyra/kyra_lok.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/kyra/kyra_lok.h b/engines/kyra/kyra_lok.h index def5cbcf6f..a10b208389 100644 --- a/engines/kyra/kyra_lok.h +++ b/engines/kyra/kyra_lok.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/kyra/kyra_mr.cpp b/engines/kyra/kyra_mr.cpp index a485ae47e4..834bda9454 100644 --- a/engines/kyra/kyra_mr.cpp +++ b/engines/kyra/kyra_mr.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/kyra/kyra_mr.h b/engines/kyra/kyra_mr.h index d194fedd4d..787dd4c936 100644 --- a/engines/kyra/kyra_mr.h +++ b/engines/kyra/kyra_mr.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/kyra/kyra_rpg.cpp b/engines/kyra/kyra_rpg.cpp index 4f7adcc6e5..635559dcfd 100644 --- a/engines/kyra/kyra_rpg.cpp +++ b/engines/kyra/kyra_rpg.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/kyra/kyra_rpg.h b/engines/kyra/kyra_rpg.h index cd36d2a5cd..69fc705ff2 100644 --- a/engines/kyra/kyra_rpg.h +++ b/engines/kyra/kyra_rpg.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/kyra/kyra_v1.cpp b/engines/kyra/kyra_v1.cpp index 9194b64155..c8993fea47 100644 --- a/engines/kyra/kyra_v1.cpp +++ b/engines/kyra/kyra_v1.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/kyra/kyra_v1.h b/engines/kyra/kyra_v1.h index cd048563ca..c801829855 100644 --- a/engines/kyra/kyra_v1.h +++ b/engines/kyra/kyra_v1.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/kyra/kyra_v2.cpp b/engines/kyra/kyra_v2.cpp index 848fb18b6a..925dcf7bfe 100644 --- a/engines/kyra/kyra_v2.cpp +++ b/engines/kyra/kyra_v2.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/kyra/kyra_v2.h b/engines/kyra/kyra_v2.h index 563416bf1e..f00c4635b5 100644 --- a/engines/kyra/kyra_v2.h +++ b/engines/kyra/kyra_v2.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/kyra/lol.cpp b/engines/kyra/lol.cpp index 3695041b83..5500e8b95f 100644 --- a/engines/kyra/lol.cpp +++ b/engines/kyra/lol.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/kyra/lol.h b/engines/kyra/lol.h index 4002346d31..e060b307af 100644 --- a/engines/kyra/lol.h +++ b/engines/kyra/lol.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/kyra/magic_eob.cpp b/engines/kyra/magic_eob.cpp index 2180c5359d..a435850e54 100644 --- a/engines/kyra/magic_eob.cpp +++ b/engines/kyra/magic_eob.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/kyra/resource.cpp b/engines/kyra/resource.cpp index 7a1abe8dd9..3c801ee923 100644 --- a/engines/kyra/resource.cpp +++ b/engines/kyra/resource.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/kyra/resource.h b/engines/kyra/resource.h index 5c179a7864..2271e15633 100644 --- a/engines/kyra/resource.h +++ b/engines/kyra/resource.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/kyra/resource_intern.cpp b/engines/kyra/resource_intern.cpp index 4c413487ff..9ec955477f 100644 --- a/engines/kyra/resource_intern.cpp +++ b/engines/kyra/resource_intern.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/kyra/resource_intern.h b/engines/kyra/resource_intern.h index e63eab7d6a..530df51f35 100644 --- a/engines/kyra/resource_intern.h +++ b/engines/kyra/resource_intern.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/kyra/saveload.cpp b/engines/kyra/saveload.cpp index bacfb62c16..2ae6420bd7 100644 --- a/engines/kyra/saveload.cpp +++ b/engines/kyra/saveload.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/kyra/saveload_eob.cpp b/engines/kyra/saveload_eob.cpp index aa223414bc..cca8f3a0a4 100644 --- a/engines/kyra/saveload_eob.cpp +++ b/engines/kyra/saveload_eob.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/kyra/saveload_hof.cpp b/engines/kyra/saveload_hof.cpp index 1d28b6bc13..e8e76143bd 100644 --- a/engines/kyra/saveload_hof.cpp +++ b/engines/kyra/saveload_hof.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/kyra/saveload_lok.cpp b/engines/kyra/saveload_lok.cpp index f8cca1ab7b..1d729d0103 100644 --- a/engines/kyra/saveload_lok.cpp +++ b/engines/kyra/saveload_lok.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/kyra/saveload_lol.cpp b/engines/kyra/saveload_lol.cpp index 6c83ebd51b..e02b8fb22c 100644 --- a/engines/kyra/saveload_lol.cpp +++ b/engines/kyra/saveload_lol.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/kyra/saveload_mr.cpp b/engines/kyra/saveload_mr.cpp index c49a528d02..a938003a07 100644 --- a/engines/kyra/saveload_mr.cpp +++ b/engines/kyra/saveload_mr.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/kyra/saveload_rpg.cpp b/engines/kyra/saveload_rpg.cpp index d22c50dbeb..8f44960753 100644 --- a/engines/kyra/saveload_rpg.cpp +++ b/engines/kyra/saveload_rpg.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/kyra/scene_eob.cpp b/engines/kyra/scene_eob.cpp index cfac5db8b3..84822c3fd2 100644 --- a/engines/kyra/scene_eob.cpp +++ b/engines/kyra/scene_eob.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/kyra/scene_hof.cpp b/engines/kyra/scene_hof.cpp index 62690c4766..8ec14e4ac7 100644 --- a/engines/kyra/scene_hof.cpp +++ b/engines/kyra/scene_hof.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/kyra/scene_lok.cpp b/engines/kyra/scene_lok.cpp index ea09091af7..df9b11d5a2 100644 --- a/engines/kyra/scene_lok.cpp +++ b/engines/kyra/scene_lok.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/kyra/scene_lol.cpp b/engines/kyra/scene_lol.cpp index 154606d46f..313386e86d 100644 --- a/engines/kyra/scene_lol.cpp +++ b/engines/kyra/scene_lol.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/kyra/scene_mr.cpp b/engines/kyra/scene_mr.cpp index d2b4907b6a..38ee25f54a 100644 --- a/engines/kyra/scene_mr.cpp +++ b/engines/kyra/scene_mr.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/kyra/scene_rpg.cpp b/engines/kyra/scene_rpg.cpp index 927d891a5f..dabc368a27 100644 --- a/engines/kyra/scene_rpg.cpp +++ b/engines/kyra/scene_rpg.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/kyra/scene_v1.cpp b/engines/kyra/scene_v1.cpp index 36798970e3..48958e5b90 100644 --- a/engines/kyra/scene_v1.cpp +++ b/engines/kyra/scene_v1.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/kyra/scene_v2.cpp b/engines/kyra/scene_v2.cpp index 9b6897f2ab..e4258836bc 100644 --- a/engines/kyra/scene_v2.cpp +++ b/engines/kyra/scene_v2.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/kyra/screen.cpp b/engines/kyra/screen.cpp index 8c97e46a8f..eaa074ff0a 100644 --- a/engines/kyra/screen.cpp +++ b/engines/kyra/screen.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/kyra/screen.h b/engines/kyra/screen.h index 156b5b9a7c..31b77b4179 100644 --- a/engines/kyra/screen.h +++ b/engines/kyra/screen.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/kyra/screen_eob.cpp b/engines/kyra/screen_eob.cpp index ae62e522e7..6c1bd572e1 100644 --- a/engines/kyra/screen_eob.cpp +++ b/engines/kyra/screen_eob.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/kyra/screen_eob.h b/engines/kyra/screen_eob.h index 934483d146..3634ae1a39 100644 --- a/engines/kyra/screen_eob.h +++ b/engines/kyra/screen_eob.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/kyra/screen_hof.cpp b/engines/kyra/screen_hof.cpp index b7de7988b8..a80d91381c 100644 --- a/engines/kyra/screen_hof.cpp +++ b/engines/kyra/screen_hof.cpp @@ -8,12 +8,12 @@ * 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 + * 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. diff --git a/engines/kyra/screen_hof.h b/engines/kyra/screen_hof.h index 95f461677d..1ad2b3c93d 100644 --- a/engines/kyra/screen_hof.h +++ b/engines/kyra/screen_hof.h @@ -8,12 +8,12 @@ * 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 + * 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. diff --git a/engines/kyra/screen_lok.cpp b/engines/kyra/screen_lok.cpp index f028f93294..57601104ad 100644 --- a/engines/kyra/screen_lok.cpp +++ b/engines/kyra/screen_lok.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/kyra/screen_lok.h b/engines/kyra/screen_lok.h index 3cb92543e5..8f36ce7fb0 100644 --- a/engines/kyra/screen_lok.h +++ b/engines/kyra/screen_lok.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/kyra/screen_lol.cpp b/engines/kyra/screen_lol.cpp index 16a77c8fcb..6dd6080923 100644 --- a/engines/kyra/screen_lol.cpp +++ b/engines/kyra/screen_lol.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/kyra/screen_lol.h b/engines/kyra/screen_lol.h index 8ceb8431bc..91d663d34f 100644 --- a/engines/kyra/screen_lol.h +++ b/engines/kyra/screen_lol.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/kyra/screen_mr.cpp b/engines/kyra/screen_mr.cpp index 337860db30..fa820a79eb 100644 --- a/engines/kyra/screen_mr.cpp +++ b/engines/kyra/screen_mr.cpp @@ -8,12 +8,12 @@ * 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 + * 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. diff --git a/engines/kyra/screen_mr.h b/engines/kyra/screen_mr.h index e10afcc5d2..ef982d4bcd 100644 --- a/engines/kyra/screen_mr.h +++ b/engines/kyra/screen_mr.h @@ -8,12 +8,12 @@ * 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 + * 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. diff --git a/engines/kyra/screen_v2.cpp b/engines/kyra/screen_v2.cpp index 23eb94cb53..eabcdb2393 100644 --- a/engines/kyra/screen_v2.cpp +++ b/engines/kyra/screen_v2.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/kyra/screen_v2.h b/engines/kyra/screen_v2.h index 6f4d67136a..06f7aa2d4a 100644 --- a/engines/kyra/screen_v2.h +++ b/engines/kyra/screen_v2.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/kyra/script.cpp b/engines/kyra/script.cpp index 303cbb45aa..2452d7f41c 100644 --- a/engines/kyra/script.cpp +++ b/engines/kyra/script.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/kyra/script.h b/engines/kyra/script.h index ccbe733e4d..12a44b0a03 100644 --- a/engines/kyra/script.h +++ b/engines/kyra/script.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/kyra/script_eob.cpp b/engines/kyra/script_eob.cpp index 4a6a498173..455180b5e1 100644 --- a/engines/kyra/script_eob.cpp +++ b/engines/kyra/script_eob.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/kyra/script_eob.h b/engines/kyra/script_eob.h index 8e2dbd8423..b996e314d5 100644 --- a/engines/kyra/script_eob.h +++ b/engines/kyra/script_eob.h @@ -8,17 +8,16 @@ * 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. * - * */ #ifdef ENABLE_EOB diff --git a/engines/kyra/script_hof.cpp b/engines/kyra/script_hof.cpp index f6fde65109..f86d0e96bc 100644 --- a/engines/kyra/script_hof.cpp +++ b/engines/kyra/script_hof.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/kyra/script_lok.cpp b/engines/kyra/script_lok.cpp index 22d5e9fd7c..380d7d551f 100644 --- a/engines/kyra/script_lok.cpp +++ b/engines/kyra/script_lok.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/kyra/script_lol.cpp b/engines/kyra/script_lol.cpp index 0bbe66f530..1a36527cdb 100644 --- a/engines/kyra/script_lol.cpp +++ b/engines/kyra/script_lol.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/kyra/script_mr.cpp b/engines/kyra/script_mr.cpp index f656b162fd..5ba645f1be 100644 --- a/engines/kyra/script_mr.cpp +++ b/engines/kyra/script_mr.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/kyra/script_tim.cpp b/engines/kyra/script_tim.cpp index ba0f62a2b4..e3b339cba6 100644 --- a/engines/kyra/script_tim.cpp +++ b/engines/kyra/script_tim.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/kyra/script_tim.h b/engines/kyra/script_tim.h index aa512daae8..bd9c2645e5 100644 --- a/engines/kyra/script_tim.h +++ b/engines/kyra/script_tim.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/kyra/script_v1.cpp b/engines/kyra/script_v1.cpp index aaa07e6d61..3ac174a5b9 100644 --- a/engines/kyra/script_v1.cpp +++ b/engines/kyra/script_v1.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/kyra/script_v2.cpp b/engines/kyra/script_v2.cpp index c38a144537..179d388109 100644 --- a/engines/kyra/script_v2.cpp +++ b/engines/kyra/script_v2.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/kyra/seqplayer.cpp b/engines/kyra/seqplayer.cpp index 1f9097d09d..e1794b2416 100644 --- a/engines/kyra/seqplayer.cpp +++ b/engines/kyra/seqplayer.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/kyra/seqplayer.h b/engines/kyra/seqplayer.h index 12d94e3f6d..155ed82a4e 100644 --- a/engines/kyra/seqplayer.h +++ b/engines/kyra/seqplayer.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/kyra/sequences_darkmoon.cpp b/engines/kyra/sequences_darkmoon.cpp index 03b15d6950..53a30d0079 100644 --- a/engines/kyra/sequences_darkmoon.cpp +++ b/engines/kyra/sequences_darkmoon.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/kyra/sequences_eob.cpp b/engines/kyra/sequences_eob.cpp index 0fec386485..187295bd2c 100644 --- a/engines/kyra/sequences_eob.cpp +++ b/engines/kyra/sequences_eob.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/kyra/sequences_hof.cpp b/engines/kyra/sequences_hof.cpp index 776a3e50b0..942cf16502 100644 --- a/engines/kyra/sequences_hof.cpp +++ b/engines/kyra/sequences_hof.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/kyra/sequences_hof.h b/engines/kyra/sequences_hof.h index 2558a68a6a..12fa4ffbc2 100644 --- a/engines/kyra/sequences_hof.h +++ b/engines/kyra/sequences_hof.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/kyra/sequences_lok.cpp b/engines/kyra/sequences_lok.cpp index 51f1ea51cf..8a41ee9a21 100644 --- a/engines/kyra/sequences_lok.cpp +++ b/engines/kyra/sequences_lok.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/kyra/sequences_lol.cpp b/engines/kyra/sequences_lol.cpp index c8f97eb770..4c87ff1dd8 100644 --- a/engines/kyra/sequences_lol.cpp +++ b/engines/kyra/sequences_lol.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/kyra/sequences_mr.cpp b/engines/kyra/sequences_mr.cpp index 76badb63f5..0ac6b636b8 100644 --- a/engines/kyra/sequences_mr.cpp +++ b/engines/kyra/sequences_mr.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/kyra/sequences_v2.cpp b/engines/kyra/sequences_v2.cpp index e431e45f10..1bcbb7d874 100644 --- a/engines/kyra/sequences_v2.cpp +++ b/engines/kyra/sequences_v2.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/kyra/sound.cpp b/engines/kyra/sound.cpp index cb6faf2580..3c3aff6ea9 100644 --- a/engines/kyra/sound.cpp +++ b/engines/kyra/sound.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/kyra/sound_adlib.cpp b/engines/kyra/sound_adlib.cpp index 1d665709e5..f950f9d5aa 100644 --- a/engines/kyra/sound_adlib.cpp +++ b/engines/kyra/sound_adlib.cpp @@ -8,12 +8,12 @@ * 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. @@ -24,12 +24,12 @@ * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. - + * * This library 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 * Lesser General Public License for more details. - + * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA diff --git a/engines/kyra/sound_amiga.cpp b/engines/kyra/sound_amiga.cpp index 7292541594..598b5080a9 100644 --- a/engines/kyra/sound_amiga.cpp +++ b/engines/kyra/sound_amiga.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/kyra/sound_digital.cpp b/engines/kyra/sound_digital.cpp index 518805c43e..a1600f6464 100644 --- a/engines/kyra/sound_digital.cpp +++ b/engines/kyra/sound_digital.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/kyra/sound_lok.cpp b/engines/kyra/sound_lok.cpp index b2a9c2fd93..c356f2fb67 100644 --- a/engines/kyra/sound_lok.cpp +++ b/engines/kyra/sound_lok.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/kyra/sound_lol.cpp b/engines/kyra/sound_lol.cpp index 7ac33967dd..8be0cb6ab9 100644 --- a/engines/kyra/sound_lol.cpp +++ b/engines/kyra/sound_lol.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/kyra/sound_midi.cpp b/engines/kyra/sound_midi.cpp index fc6e92abd9..cd8bc2377c 100644 --- a/engines/kyra/sound_midi.cpp +++ b/engines/kyra/sound_midi.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/kyra/sound_pcspk.cpp b/engines/kyra/sound_pcspk.cpp index 8664e2a22e..255d6b451a 100644 --- a/engines/kyra/sound_pcspk.cpp +++ b/engines/kyra/sound_pcspk.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/kyra/sound_towns.cpp b/engines/kyra/sound_towns.cpp index e4752f33de..10cbc49c7c 100644 --- a/engines/kyra/sound_towns.cpp +++ b/engines/kyra/sound_towns.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/kyra/sprites.cpp b/engines/kyra/sprites.cpp index f4cebf6470..540191e678 100644 --- a/engines/kyra/sprites.cpp +++ b/engines/kyra/sprites.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/kyra/sprites.h b/engines/kyra/sprites.h index 93cdcdbbcb..3319948707 100644 --- a/engines/kyra/sprites.h +++ b/engines/kyra/sprites.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/kyra/sprites_eob.cpp b/engines/kyra/sprites_eob.cpp index b96f2eca08..5a82cf604c 100644 --- a/engines/kyra/sprites_eob.cpp +++ b/engines/kyra/sprites_eob.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/kyra/sprites_lol.cpp b/engines/kyra/sprites_lol.cpp index 4d4d596bac..b9ffe6cbdb 100644 --- a/engines/kyra/sprites_lol.cpp +++ b/engines/kyra/sprites_lol.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/kyra/sprites_rpg.cpp b/engines/kyra/sprites_rpg.cpp index 9c08bc8dd6..b190ad8f07 100644 --- a/engines/kyra/sprites_rpg.cpp +++ b/engines/kyra/sprites_rpg.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/kyra/staticres.cpp b/engines/kyra/staticres.cpp index 522e12faa4..fbbe916a5c 100644 --- a/engines/kyra/staticres.cpp +++ b/engines/kyra/staticres.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/kyra/staticres_eob.cpp b/engines/kyra/staticres_eob.cpp index e0a2862dea..ee977060e3 100644 --- a/engines/kyra/staticres_eob.cpp +++ b/engines/kyra/staticres_eob.cpp @@ -8,17 +8,16 @@ * 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 "kyra/eob.h" diff --git a/engines/kyra/staticres_lol.cpp b/engines/kyra/staticres_lol.cpp index c2cdcf9f51..9a4fc281d5 100644 --- a/engines/kyra/staticres_lol.cpp +++ b/engines/kyra/staticres_lol.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/kyra/staticres_rpg.cpp b/engines/kyra/staticres_rpg.cpp index a30cbf7d05..671d3dfd1d 100644 --- a/engines/kyra/staticres_rpg.cpp +++ b/engines/kyra/staticres_rpg.cpp @@ -8,17 +8,16 @@ * 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 "kyra/resource.h" diff --git a/engines/kyra/text.cpp b/engines/kyra/text.cpp index 2e3acffeb9..f88ba183ba 100644 --- a/engines/kyra/text.cpp +++ b/engines/kyra/text.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/kyra/text.h b/engines/kyra/text.h index 199029469e..d5f423105e 100644 --- a/engines/kyra/text.h +++ b/engines/kyra/text.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/kyra/text_hof.cpp b/engines/kyra/text_hof.cpp index f1933e9623..354eff03b9 100644 --- a/engines/kyra/text_hof.cpp +++ b/engines/kyra/text_hof.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/kyra/text_hof.h b/engines/kyra/text_hof.h index 414d02fe4b..aacdc97d76 100644 --- a/engines/kyra/text_hof.h +++ b/engines/kyra/text_hof.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/kyra/text_lok.cpp b/engines/kyra/text_lok.cpp index a557940868..1ca5644b9d 100644 --- a/engines/kyra/text_lok.cpp +++ b/engines/kyra/text_lok.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/kyra/text_lol.cpp b/engines/kyra/text_lol.cpp index 6e77db1f8a..d8a36b954f 100644 --- a/engines/kyra/text_lol.cpp +++ b/engines/kyra/text_lol.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/kyra/text_lol.h b/engines/kyra/text_lol.h index e2b10e8d4d..ad3efadcaf 100644 --- a/engines/kyra/text_lol.h +++ b/engines/kyra/text_lol.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/kyra/text_mr.cpp b/engines/kyra/text_mr.cpp index 10b0880f29..685d5447cd 100644 --- a/engines/kyra/text_mr.cpp +++ b/engines/kyra/text_mr.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/kyra/text_mr.h b/engines/kyra/text_mr.h index 957415490f..5b6a7cd192 100644 --- a/engines/kyra/text_mr.h +++ b/engines/kyra/text_mr.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/kyra/text_rpg.cpp b/engines/kyra/text_rpg.cpp index 24c523c856..03acde8497 100644 --- a/engines/kyra/text_rpg.cpp +++ b/engines/kyra/text_rpg.cpp @@ -8,17 +8,16 @@ * 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. * - * */ #if defined(ENABLE_EOB) || defined(ENABLE_LOL) diff --git a/engines/kyra/text_rpg.h b/engines/kyra/text_rpg.h index eb8617a371..30d3463726 100644 --- a/engines/kyra/text_rpg.h +++ b/engines/kyra/text_rpg.h @@ -1,19 +1,19 @@ /* ScummVM - Graphic Adventure Engine * * ScummVM is the legal property of its developers, whose names - * are to numerous to list here. Please refer to the COPYRIGHT + * 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. diff --git a/engines/kyra/timer.cpp b/engines/kyra/timer.cpp index 95c283f063..edca3ef5bf 100644 --- a/engines/kyra/timer.cpp +++ b/engines/kyra/timer.cpp @@ -8,12 +8,12 @@ * 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 + * 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. diff --git a/engines/kyra/timer.h b/engines/kyra/timer.h index 205be5957d..a753707b8a 100644 --- a/engines/kyra/timer.h +++ b/engines/kyra/timer.h @@ -8,12 +8,12 @@ * 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 + * 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. diff --git a/engines/kyra/timer_eob.cpp b/engines/kyra/timer_eob.cpp index 95eb4f3080..c5290790e7 100644 --- a/engines/kyra/timer_eob.cpp +++ b/engines/kyra/timer_eob.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/kyra/timer_hof.cpp b/engines/kyra/timer_hof.cpp index 96b14c28f5..bdfb93eebb 100644 --- a/engines/kyra/timer_hof.cpp +++ b/engines/kyra/timer_hof.cpp @@ -8,12 +8,12 @@ * 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 + * 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. diff --git a/engines/kyra/timer_lok.cpp b/engines/kyra/timer_lok.cpp index 13f5403618..b046e92988 100644 --- a/engines/kyra/timer_lok.cpp +++ b/engines/kyra/timer_lok.cpp @@ -8,12 +8,12 @@ * 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 + * 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. diff --git a/engines/kyra/timer_lol.cpp b/engines/kyra/timer_lol.cpp index 9d0cc0dd72..1326eea754 100644 --- a/engines/kyra/timer_lol.cpp +++ b/engines/kyra/timer_lol.cpp @@ -8,12 +8,12 @@ * 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 + * 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. diff --git a/engines/kyra/timer_mr.cpp b/engines/kyra/timer_mr.cpp index 7d8325cd05..58c75ac980 100644 --- a/engines/kyra/timer_mr.cpp +++ b/engines/kyra/timer_mr.cpp @@ -8,12 +8,12 @@ * 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 + * 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. diff --git a/engines/kyra/timer_rpg.cpp b/engines/kyra/timer_rpg.cpp index 02c2669436..b31c406480 100644 --- a/engines/kyra/timer_rpg.cpp +++ b/engines/kyra/timer_rpg.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/kyra/util.cpp b/engines/kyra/util.cpp index f71978d03e..325f29ebd7 100644 --- a/engines/kyra/util.cpp +++ b/engines/kyra/util.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/kyra/util.h b/engines/kyra/util.h index b91f84ad36..130768f89d 100644 --- a/engines/kyra/util.h +++ b/engines/kyra/util.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/kyra/vqa.cpp b/engines/kyra/vqa.cpp index d9564e1306..fb51c05e51 100644 --- a/engines/kyra/vqa.cpp +++ b/engines/kyra/vqa.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/kyra/vqa.h b/engines/kyra/vqa.h index f3890107a8..d23704a9ea 100644 --- a/engines/kyra/vqa.h +++ b/engines/kyra/vqa.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/kyra/wsamovie.cpp b/engines/kyra/wsamovie.cpp index f6aca2bb82..560ac8c332 100644 --- a/engines/kyra/wsamovie.cpp +++ b/engines/kyra/wsamovie.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/kyra/wsamovie.h b/engines/kyra/wsamovie.h index 7dadc9319b..d00aa89af1 100644 --- a/engines/kyra/wsamovie.h +++ b/engines/kyra/wsamovie.h @@ -8,12 +8,12 @@ * 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. -- cgit v1.2.3 From 3d4f409572221c559cbbcd5874c036943009e29d Mon Sep 17 00:00:00 2001 From: Johannes Schickel Date: Tue, 18 Feb 2014 02:34:21 +0100 Subject: LASTEXPRESS: Make GPL headers consistent in themselves. --- engines/lastexpress/data/animation.cpp | 4 ++-- engines/lastexpress/data/animation.h | 4 ++-- engines/lastexpress/data/archive.cpp | 4 ++-- engines/lastexpress/data/archive.h | 4 ++-- engines/lastexpress/data/background.cpp | 4 ++-- engines/lastexpress/data/background.h | 4 ++-- engines/lastexpress/data/cursor.cpp | 4 ++-- engines/lastexpress/data/cursor.h | 4 ++-- engines/lastexpress/data/font.cpp | 4 ++-- engines/lastexpress/data/font.h | 4 ++-- engines/lastexpress/data/scene.cpp | 4 ++-- engines/lastexpress/data/scene.h | 4 ++-- engines/lastexpress/data/sequence.h | 4 ++-- engines/lastexpress/data/snd.cpp | 4 ++-- engines/lastexpress/data/snd.h | 4 ++-- engines/lastexpress/data/subtitle.cpp | 4 ++-- engines/lastexpress/data/subtitle.h | 4 ++-- engines/lastexpress/debug.cpp | 4 ++-- engines/lastexpress/debug.h | 4 ++-- engines/lastexpress/detection.cpp | 4 ++-- engines/lastexpress/drawable.h | 4 ++-- engines/lastexpress/entities/abbot.cpp | 4 ++-- engines/lastexpress/entities/abbot.h | 4 ++-- engines/lastexpress/entities/alexei.cpp | 4 ++-- engines/lastexpress/entities/alexei.h | 4 ++-- engines/lastexpress/entities/alouan.cpp | 4 ++-- engines/lastexpress/entities/alouan.h | 4 ++-- engines/lastexpress/entities/anna.cpp | 6 +++--- engines/lastexpress/entities/anna.h | 4 ++-- engines/lastexpress/entities/august.cpp | 4 ++-- engines/lastexpress/entities/august.h | 4 ++-- engines/lastexpress/entities/boutarel.cpp | 4 ++-- engines/lastexpress/entities/boutarel.h | 4 ++-- engines/lastexpress/entities/chapters.cpp | 4 ++-- engines/lastexpress/entities/chapters.h | 4 ++-- engines/lastexpress/entities/cooks.cpp | 4 ++-- engines/lastexpress/entities/cooks.h | 4 ++-- engines/lastexpress/entities/coudert.cpp | 4 ++-- engines/lastexpress/entities/coudert.h | 4 ++-- engines/lastexpress/entities/entity.cpp | 4 ++-- engines/lastexpress/entities/entity.h | 4 ++-- engines/lastexpress/entities/entity39.cpp | 4 ++-- engines/lastexpress/entities/entity39.h | 4 ++-- engines/lastexpress/entities/entity_intern.h | 4 ++-- engines/lastexpress/entities/francois.cpp | 4 ++-- engines/lastexpress/entities/francois.h | 4 ++-- engines/lastexpress/entities/gendarmes.cpp | 4 ++-- engines/lastexpress/entities/gendarmes.h | 4 ++-- engines/lastexpress/entities/hadija.cpp | 4 ++-- engines/lastexpress/entities/hadija.h | 4 ++-- engines/lastexpress/entities/ivo.cpp | 4 ++-- engines/lastexpress/entities/ivo.h | 4 ++-- engines/lastexpress/entities/kahina.cpp | 4 ++-- engines/lastexpress/entities/kahina.h | 4 ++-- engines/lastexpress/entities/kronos.cpp | 4 ++-- engines/lastexpress/entities/kronos.h | 4 ++-- engines/lastexpress/entities/mahmud.cpp | 4 ++-- engines/lastexpress/entities/mahmud.h | 4 ++-- engines/lastexpress/entities/max.cpp | 4 ++-- engines/lastexpress/entities/max.h | 4 ++-- engines/lastexpress/entities/mertens.cpp | 4 ++-- engines/lastexpress/entities/mertens.h | 4 ++-- engines/lastexpress/entities/milos.cpp | 4 ++-- engines/lastexpress/entities/milos.h | 4 ++-- engines/lastexpress/entities/mmeboutarel.cpp | 4 ++-- engines/lastexpress/entities/mmeboutarel.h | 4 ++-- engines/lastexpress/entities/pascale.cpp | 4 ++-- engines/lastexpress/entities/pascale.h | 4 ++-- engines/lastexpress/entities/rebecca.cpp | 4 ++-- engines/lastexpress/entities/rebecca.h | 4 ++-- engines/lastexpress/entities/salko.cpp | 4 ++-- engines/lastexpress/entities/salko.h | 4 ++-- engines/lastexpress/entities/servers0.cpp | 4 ++-- engines/lastexpress/entities/servers0.h | 4 ++-- engines/lastexpress/entities/servers1.cpp | 4 ++-- engines/lastexpress/entities/servers1.h | 4 ++-- engines/lastexpress/entities/sophie.cpp | 4 ++-- engines/lastexpress/entities/sophie.h | 4 ++-- engines/lastexpress/entities/tables.cpp | 4 ++-- engines/lastexpress/entities/tables.h | 4 ++-- engines/lastexpress/entities/tatiana.cpp | 4 ++-- engines/lastexpress/entities/tatiana.h | 4 ++-- engines/lastexpress/entities/train.cpp | 4 ++-- engines/lastexpress/entities/train.h | 4 ++-- engines/lastexpress/entities/vassili.cpp | 4 ++-- engines/lastexpress/entities/vassili.h | 4 ++-- engines/lastexpress/entities/verges.cpp | 4 ++-- engines/lastexpress/entities/verges.h | 4 ++-- engines/lastexpress/entities/vesna.cpp | 4 ++-- engines/lastexpress/entities/vesna.h | 4 ++-- engines/lastexpress/entities/yasmin.cpp | 4 ++-- engines/lastexpress/entities/yasmin.h | 4 ++-- engines/lastexpress/eventhandler.h | 4 ++-- engines/lastexpress/fight/fight.cpp | 4 ++-- engines/lastexpress/fight/fight.h | 4 ++-- engines/lastexpress/fight/fighter.cpp | 4 ++-- engines/lastexpress/fight/fighter.h | 4 ++-- engines/lastexpress/fight/fighter_anna.cpp | 4 ++-- engines/lastexpress/fight/fighter_anna.h | 4 ++-- engines/lastexpress/fight/fighter_ivo.cpp | 4 ++-- engines/lastexpress/fight/fighter_ivo.h | 4 ++-- engines/lastexpress/fight/fighter_milos.cpp | 4 ++-- engines/lastexpress/fight/fighter_milos.h | 4 ++-- engines/lastexpress/fight/fighter_salko.cpp | 4 ++-- engines/lastexpress/fight/fighter_salko.h | 4 ++-- engines/lastexpress/fight/fighter_vesna.cpp | 4 ++-- engines/lastexpress/fight/fighter_vesna.h | 4 ++-- engines/lastexpress/game/action.cpp | 4 ++-- engines/lastexpress/game/action.h | 4 ++-- engines/lastexpress/game/beetle.cpp | 4 ++-- engines/lastexpress/game/beetle.h | 4 ++-- engines/lastexpress/game/entities.cpp | 4 ++-- engines/lastexpress/game/entities.h | 4 ++-- engines/lastexpress/game/inventory.cpp | 4 ++-- engines/lastexpress/game/inventory.h | 4 ++-- engines/lastexpress/game/logic.cpp | 4 ++-- engines/lastexpress/game/logic.h | 4 ++-- engines/lastexpress/game/object.cpp | 4 ++-- engines/lastexpress/game/object.h | 4 ++-- engines/lastexpress/game/savegame.cpp | 4 ++-- engines/lastexpress/game/savegame.h | 4 ++-- engines/lastexpress/game/savepoint.cpp | 4 ++-- engines/lastexpress/game/savepoint.h | 4 ++-- engines/lastexpress/game/state.cpp | 4 ++-- engines/lastexpress/game/state.h | 4 ++-- engines/lastexpress/graphics.cpp | 4 ++-- engines/lastexpress/graphics.h | 4 ++-- engines/lastexpress/helpers.h | 4 ++-- engines/lastexpress/lastexpress.cpp | 4 ++-- engines/lastexpress/lastexpress.h | 4 ++-- engines/lastexpress/menu/clock.cpp | 4 ++-- engines/lastexpress/menu/clock.h | 4 ++-- engines/lastexpress/menu/menu.cpp | 4 ++-- engines/lastexpress/menu/menu.h | 4 ++-- engines/lastexpress/menu/trainline.cpp | 4 ++-- engines/lastexpress/menu/trainline.h | 4 ++-- engines/lastexpress/resource.cpp | 4 ++-- engines/lastexpress/resource.h | 4 ++-- engines/lastexpress/shared.h | 4 ++-- engines/lastexpress/sound/entry.cpp | 4 ++-- engines/lastexpress/sound/entry.h | 4 ++-- engines/lastexpress/sound/queue.cpp | 4 ++-- engines/lastexpress/sound/queue.h | 4 ++-- engines/lastexpress/sound/sound.cpp | 4 ++-- engines/lastexpress/sound/sound.h | 4 ++-- 145 files changed, 291 insertions(+), 291 deletions(-) diff --git a/engines/lastexpress/data/animation.cpp b/engines/lastexpress/data/animation.cpp index 832bcc2e26..9c8cc202aa 100644 --- a/engines/lastexpress/data/animation.cpp +++ b/engines/lastexpress/data/animation.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/lastexpress/data/animation.h b/engines/lastexpress/data/animation.h index 293511b266..7f6922866a 100644 --- a/engines/lastexpress/data/animation.h +++ b/engines/lastexpress/data/animation.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/lastexpress/data/archive.cpp b/engines/lastexpress/data/archive.cpp index 908d58254a..f667da9e1c 100644 --- a/engines/lastexpress/data/archive.cpp +++ b/engines/lastexpress/data/archive.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/lastexpress/data/archive.h b/engines/lastexpress/data/archive.h index 011c830668..421220e6c7 100644 --- a/engines/lastexpress/data/archive.h +++ b/engines/lastexpress/data/archive.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/lastexpress/data/background.cpp b/engines/lastexpress/data/background.cpp index 60379251a3..e1626213e0 100644 --- a/engines/lastexpress/data/background.cpp +++ b/engines/lastexpress/data/background.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/lastexpress/data/background.h b/engines/lastexpress/data/background.h index 74dad541aa..c4a3216171 100644 --- a/engines/lastexpress/data/background.h +++ b/engines/lastexpress/data/background.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/lastexpress/data/cursor.cpp b/engines/lastexpress/data/cursor.cpp index d176d963d1..fe1092a7ef 100644 --- a/engines/lastexpress/data/cursor.cpp +++ b/engines/lastexpress/data/cursor.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/lastexpress/data/cursor.h b/engines/lastexpress/data/cursor.h index 0e11ec04b8..63932b3d7e 100644 --- a/engines/lastexpress/data/cursor.h +++ b/engines/lastexpress/data/cursor.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/lastexpress/data/font.cpp b/engines/lastexpress/data/font.cpp index 8ac1afce9a..fb1b26582e 100644 --- a/engines/lastexpress/data/font.cpp +++ b/engines/lastexpress/data/font.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/lastexpress/data/font.h b/engines/lastexpress/data/font.h index 7696829b3b..cc6f8e03e0 100644 --- a/engines/lastexpress/data/font.h +++ b/engines/lastexpress/data/font.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/lastexpress/data/scene.cpp b/engines/lastexpress/data/scene.cpp index fdb1ac6d46..4e20e219d5 100644 --- a/engines/lastexpress/data/scene.cpp +++ b/engines/lastexpress/data/scene.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/lastexpress/data/scene.h b/engines/lastexpress/data/scene.h index b99e56a74c..b9aff4da6b 100644 --- a/engines/lastexpress/data/scene.h +++ b/engines/lastexpress/data/scene.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/lastexpress/data/sequence.h b/engines/lastexpress/data/sequence.h index 610a55cebf..dbb08a0c07 100644 --- a/engines/lastexpress/data/sequence.h +++ b/engines/lastexpress/data/sequence.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/lastexpress/data/snd.cpp b/engines/lastexpress/data/snd.cpp index a77e4a06c6..2a221afadc 100644 --- a/engines/lastexpress/data/snd.cpp +++ b/engines/lastexpress/data/snd.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/lastexpress/data/snd.h b/engines/lastexpress/data/snd.h index 7111d939e7..f489304ff3 100644 --- a/engines/lastexpress/data/snd.h +++ b/engines/lastexpress/data/snd.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/lastexpress/data/subtitle.cpp b/engines/lastexpress/data/subtitle.cpp index 4d19c02aa7..3e0da8cb55 100644 --- a/engines/lastexpress/data/subtitle.cpp +++ b/engines/lastexpress/data/subtitle.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/lastexpress/data/subtitle.h b/engines/lastexpress/data/subtitle.h index 435408e4bd..40f6c11634 100644 --- a/engines/lastexpress/data/subtitle.h +++ b/engines/lastexpress/data/subtitle.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/lastexpress/debug.cpp b/engines/lastexpress/debug.cpp index 7c83aff93d..6c2d833271 100644 --- a/engines/lastexpress/debug.cpp +++ b/engines/lastexpress/debug.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/lastexpress/debug.h b/engines/lastexpress/debug.h index 532cb83717..7a1e2648fb 100644 --- a/engines/lastexpress/debug.h +++ b/engines/lastexpress/debug.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/lastexpress/detection.cpp b/engines/lastexpress/detection.cpp index 2fdeef910a..d790582104 100644 --- a/engines/lastexpress/detection.cpp +++ b/engines/lastexpress/detection.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/lastexpress/drawable.h b/engines/lastexpress/drawable.h index 5e77b0343a..8e844124f9 100644 --- a/engines/lastexpress/drawable.h +++ b/engines/lastexpress/drawable.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/lastexpress/entities/abbot.cpp b/engines/lastexpress/entities/abbot.cpp index cdd9d8e712..5393410add 100644 --- a/engines/lastexpress/entities/abbot.cpp +++ b/engines/lastexpress/entities/abbot.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/lastexpress/entities/abbot.h b/engines/lastexpress/entities/abbot.h index ba993fdbc9..c4a68f6ecb 100644 --- a/engines/lastexpress/entities/abbot.h +++ b/engines/lastexpress/entities/abbot.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/lastexpress/entities/alexei.cpp b/engines/lastexpress/entities/alexei.cpp index b8ae62e7c4..9b56fca39f 100644 --- a/engines/lastexpress/entities/alexei.cpp +++ b/engines/lastexpress/entities/alexei.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/lastexpress/entities/alexei.h b/engines/lastexpress/entities/alexei.h index 9a316ec574..5e14039a35 100644 --- a/engines/lastexpress/entities/alexei.h +++ b/engines/lastexpress/entities/alexei.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/lastexpress/entities/alouan.cpp b/engines/lastexpress/entities/alouan.cpp index 86d5512cb9..0667d11697 100644 --- a/engines/lastexpress/entities/alouan.cpp +++ b/engines/lastexpress/entities/alouan.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/lastexpress/entities/alouan.h b/engines/lastexpress/entities/alouan.h index 371e4f20d9..c84cf1a745 100644 --- a/engines/lastexpress/entities/alouan.h +++ b/engines/lastexpress/entities/alouan.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/lastexpress/entities/anna.cpp b/engines/lastexpress/entities/anna.cpp index 4889f66c69..ff65be9772 100644 --- a/engines/lastexpress/entities/anna.cpp +++ b/engines/lastexpress/entities/anna.cpp @@ -8,12 +8,12 @@ * 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 + * 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. diff --git a/engines/lastexpress/entities/anna.h b/engines/lastexpress/entities/anna.h index de79ccb826..89a397a6d0 100644 --- a/engines/lastexpress/entities/anna.h +++ b/engines/lastexpress/entities/anna.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/lastexpress/entities/august.cpp b/engines/lastexpress/entities/august.cpp index 11f72ecfe8..c5029537ad 100644 --- a/engines/lastexpress/entities/august.cpp +++ b/engines/lastexpress/entities/august.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/lastexpress/entities/august.h b/engines/lastexpress/entities/august.h index 606321955b..f8eee1036b 100644 --- a/engines/lastexpress/entities/august.h +++ b/engines/lastexpress/entities/august.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/lastexpress/entities/boutarel.cpp b/engines/lastexpress/entities/boutarel.cpp index 219ddf901b..979381afb0 100644 --- a/engines/lastexpress/entities/boutarel.cpp +++ b/engines/lastexpress/entities/boutarel.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/lastexpress/entities/boutarel.h b/engines/lastexpress/entities/boutarel.h index 04838f6527..8612566dc4 100644 --- a/engines/lastexpress/entities/boutarel.h +++ b/engines/lastexpress/entities/boutarel.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/lastexpress/entities/chapters.cpp b/engines/lastexpress/entities/chapters.cpp index 6c8f7ca41c..fe977a577f 100644 --- a/engines/lastexpress/entities/chapters.cpp +++ b/engines/lastexpress/entities/chapters.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/lastexpress/entities/chapters.h b/engines/lastexpress/entities/chapters.h index fb52ea3ee4..39739aa92e 100644 --- a/engines/lastexpress/entities/chapters.h +++ b/engines/lastexpress/entities/chapters.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/lastexpress/entities/cooks.cpp b/engines/lastexpress/entities/cooks.cpp index 5e8a2df8cb..e24180e58d 100644 --- a/engines/lastexpress/entities/cooks.cpp +++ b/engines/lastexpress/entities/cooks.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/lastexpress/entities/cooks.h b/engines/lastexpress/entities/cooks.h index f01d0b2ca0..79addb0a02 100644 --- a/engines/lastexpress/entities/cooks.h +++ b/engines/lastexpress/entities/cooks.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/lastexpress/entities/coudert.cpp b/engines/lastexpress/entities/coudert.cpp index ebe2a930a5..80d93d8a87 100644 --- a/engines/lastexpress/entities/coudert.cpp +++ b/engines/lastexpress/entities/coudert.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/lastexpress/entities/coudert.h b/engines/lastexpress/entities/coudert.h index 8303c80a32..a40f31e510 100644 --- a/engines/lastexpress/entities/coudert.h +++ b/engines/lastexpress/entities/coudert.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/lastexpress/entities/entity.cpp b/engines/lastexpress/entities/entity.cpp index b2fc30829f..07e82d296e 100644 --- a/engines/lastexpress/entities/entity.cpp +++ b/engines/lastexpress/entities/entity.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/lastexpress/entities/entity.h b/engines/lastexpress/entities/entity.h index 634c854d05..25c481c5cf 100644 --- a/engines/lastexpress/entities/entity.h +++ b/engines/lastexpress/entities/entity.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/lastexpress/entities/entity39.cpp b/engines/lastexpress/entities/entity39.cpp index 1786cd2201..d1f20d6114 100644 --- a/engines/lastexpress/entities/entity39.cpp +++ b/engines/lastexpress/entities/entity39.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/lastexpress/entities/entity39.h b/engines/lastexpress/entities/entity39.h index 54b65408c7..b6abcc2cc8 100644 --- a/engines/lastexpress/entities/entity39.h +++ b/engines/lastexpress/entities/entity39.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/lastexpress/entities/entity_intern.h b/engines/lastexpress/entities/entity_intern.h index fd803676a9..2c2d132b07 100644 --- a/engines/lastexpress/entities/entity_intern.h +++ b/engines/lastexpress/entities/entity_intern.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/lastexpress/entities/francois.cpp b/engines/lastexpress/entities/francois.cpp index 12ce16a32b..8ef27cbe92 100644 --- a/engines/lastexpress/entities/francois.cpp +++ b/engines/lastexpress/entities/francois.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/lastexpress/entities/francois.h b/engines/lastexpress/entities/francois.h index 3118faf867..a2ecee3e60 100644 --- a/engines/lastexpress/entities/francois.h +++ b/engines/lastexpress/entities/francois.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/lastexpress/entities/gendarmes.cpp b/engines/lastexpress/entities/gendarmes.cpp index 2ff34ef4c9..7b31c592cd 100644 --- a/engines/lastexpress/entities/gendarmes.cpp +++ b/engines/lastexpress/entities/gendarmes.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/lastexpress/entities/gendarmes.h b/engines/lastexpress/entities/gendarmes.h index a761643531..8475c50799 100644 --- a/engines/lastexpress/entities/gendarmes.h +++ b/engines/lastexpress/entities/gendarmes.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/lastexpress/entities/hadija.cpp b/engines/lastexpress/entities/hadija.cpp index e9abcd888a..14d5b714ca 100644 --- a/engines/lastexpress/entities/hadija.cpp +++ b/engines/lastexpress/entities/hadija.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/lastexpress/entities/hadija.h b/engines/lastexpress/entities/hadija.h index 545f21ee03..8e92dc6891 100644 --- a/engines/lastexpress/entities/hadija.h +++ b/engines/lastexpress/entities/hadija.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/lastexpress/entities/ivo.cpp b/engines/lastexpress/entities/ivo.cpp index c53f4689fb..b7697d0c52 100644 --- a/engines/lastexpress/entities/ivo.cpp +++ b/engines/lastexpress/entities/ivo.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/lastexpress/entities/ivo.h b/engines/lastexpress/entities/ivo.h index 75814336e0..a23d06cd3f 100644 --- a/engines/lastexpress/entities/ivo.h +++ b/engines/lastexpress/entities/ivo.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/lastexpress/entities/kahina.cpp b/engines/lastexpress/entities/kahina.cpp index 29e9a90d41..b7af87751f 100644 --- a/engines/lastexpress/entities/kahina.cpp +++ b/engines/lastexpress/entities/kahina.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/lastexpress/entities/kahina.h b/engines/lastexpress/entities/kahina.h index 7479cf76f9..ee9ccf5c81 100644 --- a/engines/lastexpress/entities/kahina.h +++ b/engines/lastexpress/entities/kahina.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/lastexpress/entities/kronos.cpp b/engines/lastexpress/entities/kronos.cpp index 38a685ec19..8bf158943b 100644 --- a/engines/lastexpress/entities/kronos.cpp +++ b/engines/lastexpress/entities/kronos.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/lastexpress/entities/kronos.h b/engines/lastexpress/entities/kronos.h index a7693fcd46..48da419a6e 100644 --- a/engines/lastexpress/entities/kronos.h +++ b/engines/lastexpress/entities/kronos.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/lastexpress/entities/mahmud.cpp b/engines/lastexpress/entities/mahmud.cpp index af86ef8cdd..08edda5276 100644 --- a/engines/lastexpress/entities/mahmud.cpp +++ b/engines/lastexpress/entities/mahmud.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/lastexpress/entities/mahmud.h b/engines/lastexpress/entities/mahmud.h index 685100f078..229e6d49d3 100644 --- a/engines/lastexpress/entities/mahmud.h +++ b/engines/lastexpress/entities/mahmud.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/lastexpress/entities/max.cpp b/engines/lastexpress/entities/max.cpp index abd2aae9e4..1056e7fd7a 100644 --- a/engines/lastexpress/entities/max.cpp +++ b/engines/lastexpress/entities/max.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/lastexpress/entities/max.h b/engines/lastexpress/entities/max.h index acd8235e89..7b7780742b 100644 --- a/engines/lastexpress/entities/max.h +++ b/engines/lastexpress/entities/max.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/lastexpress/entities/mertens.cpp b/engines/lastexpress/entities/mertens.cpp index f484d00a2c..4bd276b7eb 100644 --- a/engines/lastexpress/entities/mertens.cpp +++ b/engines/lastexpress/entities/mertens.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/lastexpress/entities/mertens.h b/engines/lastexpress/entities/mertens.h index 4cc58fd4ba..1b6d1d2f31 100644 --- a/engines/lastexpress/entities/mertens.h +++ b/engines/lastexpress/entities/mertens.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/lastexpress/entities/milos.cpp b/engines/lastexpress/entities/milos.cpp index 76dc0aa0a0..601187b672 100644 --- a/engines/lastexpress/entities/milos.cpp +++ b/engines/lastexpress/entities/milos.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/lastexpress/entities/milos.h b/engines/lastexpress/entities/milos.h index e8f95dc5ff..b7b716c4e7 100644 --- a/engines/lastexpress/entities/milos.h +++ b/engines/lastexpress/entities/milos.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/lastexpress/entities/mmeboutarel.cpp b/engines/lastexpress/entities/mmeboutarel.cpp index 950644cb8f..f00fb7a9cb 100644 --- a/engines/lastexpress/entities/mmeboutarel.cpp +++ b/engines/lastexpress/entities/mmeboutarel.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/lastexpress/entities/mmeboutarel.h b/engines/lastexpress/entities/mmeboutarel.h index 0f6e6349fe..11d74b00f9 100644 --- a/engines/lastexpress/entities/mmeboutarel.h +++ b/engines/lastexpress/entities/mmeboutarel.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/lastexpress/entities/pascale.cpp b/engines/lastexpress/entities/pascale.cpp index 6e9f992390..b6356a0acb 100644 --- a/engines/lastexpress/entities/pascale.cpp +++ b/engines/lastexpress/entities/pascale.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/lastexpress/entities/pascale.h b/engines/lastexpress/entities/pascale.h index eaf0f3ba0c..1b7777dec9 100644 --- a/engines/lastexpress/entities/pascale.h +++ b/engines/lastexpress/entities/pascale.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/lastexpress/entities/rebecca.cpp b/engines/lastexpress/entities/rebecca.cpp index 8c779baeba..05211663bd 100644 --- a/engines/lastexpress/entities/rebecca.cpp +++ b/engines/lastexpress/entities/rebecca.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/lastexpress/entities/rebecca.h b/engines/lastexpress/entities/rebecca.h index 885632f884..88a14e65d2 100644 --- a/engines/lastexpress/entities/rebecca.h +++ b/engines/lastexpress/entities/rebecca.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/lastexpress/entities/salko.cpp b/engines/lastexpress/entities/salko.cpp index e8b4b4247b..26f512b900 100644 --- a/engines/lastexpress/entities/salko.cpp +++ b/engines/lastexpress/entities/salko.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/lastexpress/entities/salko.h b/engines/lastexpress/entities/salko.h index 6ca73e39f6..0b672b9dba 100644 --- a/engines/lastexpress/entities/salko.h +++ b/engines/lastexpress/entities/salko.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/lastexpress/entities/servers0.cpp b/engines/lastexpress/entities/servers0.cpp index 6323ef0ca8..590efa7157 100644 --- a/engines/lastexpress/entities/servers0.cpp +++ b/engines/lastexpress/entities/servers0.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/lastexpress/entities/servers0.h b/engines/lastexpress/entities/servers0.h index 4c35637d65..70f06596b0 100644 --- a/engines/lastexpress/entities/servers0.h +++ b/engines/lastexpress/entities/servers0.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/lastexpress/entities/servers1.cpp b/engines/lastexpress/entities/servers1.cpp index a8f4c0233c..153c2b66da 100644 --- a/engines/lastexpress/entities/servers1.cpp +++ b/engines/lastexpress/entities/servers1.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/lastexpress/entities/servers1.h b/engines/lastexpress/entities/servers1.h index c8f667ec5c..58566cd4d3 100644 --- a/engines/lastexpress/entities/servers1.h +++ b/engines/lastexpress/entities/servers1.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/lastexpress/entities/sophie.cpp b/engines/lastexpress/entities/sophie.cpp index 170090005f..ac4732556d 100644 --- a/engines/lastexpress/entities/sophie.cpp +++ b/engines/lastexpress/entities/sophie.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/lastexpress/entities/sophie.h b/engines/lastexpress/entities/sophie.h index 188788bb9b..5589caf0f3 100644 --- a/engines/lastexpress/entities/sophie.h +++ b/engines/lastexpress/entities/sophie.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/lastexpress/entities/tables.cpp b/engines/lastexpress/entities/tables.cpp index 4f8d2b954d..8701c012e4 100644 --- a/engines/lastexpress/entities/tables.cpp +++ b/engines/lastexpress/entities/tables.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/lastexpress/entities/tables.h b/engines/lastexpress/entities/tables.h index c213aac978..2e93eb7ca5 100644 --- a/engines/lastexpress/entities/tables.h +++ b/engines/lastexpress/entities/tables.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/lastexpress/entities/tatiana.cpp b/engines/lastexpress/entities/tatiana.cpp index d6bf4479e9..c6788fd4b2 100644 --- a/engines/lastexpress/entities/tatiana.cpp +++ b/engines/lastexpress/entities/tatiana.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/lastexpress/entities/tatiana.h b/engines/lastexpress/entities/tatiana.h index 8ec69db5e9..ca2b800110 100644 --- a/engines/lastexpress/entities/tatiana.h +++ b/engines/lastexpress/entities/tatiana.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/lastexpress/entities/train.cpp b/engines/lastexpress/entities/train.cpp index e3f530ef25..f707b02ccf 100644 --- a/engines/lastexpress/entities/train.cpp +++ b/engines/lastexpress/entities/train.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/lastexpress/entities/train.h b/engines/lastexpress/entities/train.h index 4b8bc10c1a..1d94cba8f9 100644 --- a/engines/lastexpress/entities/train.h +++ b/engines/lastexpress/entities/train.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/lastexpress/entities/vassili.cpp b/engines/lastexpress/entities/vassili.cpp index 67135c426f..2faaa30b6f 100644 --- a/engines/lastexpress/entities/vassili.cpp +++ b/engines/lastexpress/entities/vassili.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/lastexpress/entities/vassili.h b/engines/lastexpress/entities/vassili.h index d006770f7b..dfdacf7920 100644 --- a/engines/lastexpress/entities/vassili.h +++ b/engines/lastexpress/entities/vassili.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/lastexpress/entities/verges.cpp b/engines/lastexpress/entities/verges.cpp index f1e980842e..31b6e19c63 100644 --- a/engines/lastexpress/entities/verges.cpp +++ b/engines/lastexpress/entities/verges.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/lastexpress/entities/verges.h b/engines/lastexpress/entities/verges.h index 93cc190d1e..dc902b376d 100644 --- a/engines/lastexpress/entities/verges.h +++ b/engines/lastexpress/entities/verges.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/lastexpress/entities/vesna.cpp b/engines/lastexpress/entities/vesna.cpp index f29bce8b2b..6e9fb4f204 100644 --- a/engines/lastexpress/entities/vesna.cpp +++ b/engines/lastexpress/entities/vesna.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/lastexpress/entities/vesna.h b/engines/lastexpress/entities/vesna.h index 025d45882e..8d255500be 100644 --- a/engines/lastexpress/entities/vesna.h +++ b/engines/lastexpress/entities/vesna.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/lastexpress/entities/yasmin.cpp b/engines/lastexpress/entities/yasmin.cpp index 67963e50f6..e9c1c53a11 100644 --- a/engines/lastexpress/entities/yasmin.cpp +++ b/engines/lastexpress/entities/yasmin.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/lastexpress/entities/yasmin.h b/engines/lastexpress/entities/yasmin.h index 8fa8c10bb1..5ed735c9ac 100644 --- a/engines/lastexpress/entities/yasmin.h +++ b/engines/lastexpress/entities/yasmin.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/lastexpress/eventhandler.h b/engines/lastexpress/eventhandler.h index c561d57541..75263a8ec6 100644 --- a/engines/lastexpress/eventhandler.h +++ b/engines/lastexpress/eventhandler.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/lastexpress/fight/fight.cpp b/engines/lastexpress/fight/fight.cpp index 944b1cb4ac..47694dda3e 100644 --- a/engines/lastexpress/fight/fight.cpp +++ b/engines/lastexpress/fight/fight.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/lastexpress/fight/fight.h b/engines/lastexpress/fight/fight.h index fffb520789..5c6eff507a 100644 --- a/engines/lastexpress/fight/fight.h +++ b/engines/lastexpress/fight/fight.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/lastexpress/fight/fighter.cpp b/engines/lastexpress/fight/fighter.cpp index 4b1cddabd4..6fd2a6421c 100644 --- a/engines/lastexpress/fight/fighter.cpp +++ b/engines/lastexpress/fight/fighter.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/lastexpress/fight/fighter.h b/engines/lastexpress/fight/fighter.h index dad95af186..326610af1e 100644 --- a/engines/lastexpress/fight/fighter.h +++ b/engines/lastexpress/fight/fighter.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/lastexpress/fight/fighter_anna.cpp b/engines/lastexpress/fight/fighter_anna.cpp index c7660cab1a..723bd38cf0 100644 --- a/engines/lastexpress/fight/fighter_anna.cpp +++ b/engines/lastexpress/fight/fighter_anna.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/lastexpress/fight/fighter_anna.h b/engines/lastexpress/fight/fighter_anna.h index abb6f9dc64..667552b8dc 100644 --- a/engines/lastexpress/fight/fighter_anna.h +++ b/engines/lastexpress/fight/fighter_anna.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/lastexpress/fight/fighter_ivo.cpp b/engines/lastexpress/fight/fighter_ivo.cpp index 87a52c6be4..7bd9968da2 100644 --- a/engines/lastexpress/fight/fighter_ivo.cpp +++ b/engines/lastexpress/fight/fighter_ivo.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/lastexpress/fight/fighter_ivo.h b/engines/lastexpress/fight/fighter_ivo.h index ca54fea904..1988b4b8c4 100644 --- a/engines/lastexpress/fight/fighter_ivo.h +++ b/engines/lastexpress/fight/fighter_ivo.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/lastexpress/fight/fighter_milos.cpp b/engines/lastexpress/fight/fighter_milos.cpp index 9f8e726165..5b98b87304 100644 --- a/engines/lastexpress/fight/fighter_milos.cpp +++ b/engines/lastexpress/fight/fighter_milos.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/lastexpress/fight/fighter_milos.h b/engines/lastexpress/fight/fighter_milos.h index 2126dd1838..734177f3dc 100644 --- a/engines/lastexpress/fight/fighter_milos.h +++ b/engines/lastexpress/fight/fighter_milos.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/lastexpress/fight/fighter_salko.cpp b/engines/lastexpress/fight/fighter_salko.cpp index 1082674235..c0d15ec183 100644 --- a/engines/lastexpress/fight/fighter_salko.cpp +++ b/engines/lastexpress/fight/fighter_salko.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/lastexpress/fight/fighter_salko.h b/engines/lastexpress/fight/fighter_salko.h index 0a2a615867..365f28a808 100644 --- a/engines/lastexpress/fight/fighter_salko.h +++ b/engines/lastexpress/fight/fighter_salko.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/lastexpress/fight/fighter_vesna.cpp b/engines/lastexpress/fight/fighter_vesna.cpp index 02aaa1c16c..eeb00b821b 100644 --- a/engines/lastexpress/fight/fighter_vesna.cpp +++ b/engines/lastexpress/fight/fighter_vesna.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/lastexpress/fight/fighter_vesna.h b/engines/lastexpress/fight/fighter_vesna.h index 5c8ec855ae..a706922555 100644 --- a/engines/lastexpress/fight/fighter_vesna.h +++ b/engines/lastexpress/fight/fighter_vesna.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/lastexpress/game/action.cpp b/engines/lastexpress/game/action.cpp index c6ea6f6c8a..986c56cb1b 100644 --- a/engines/lastexpress/game/action.cpp +++ b/engines/lastexpress/game/action.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/lastexpress/game/action.h b/engines/lastexpress/game/action.h index 3dad51d0d3..80de60511d 100644 --- a/engines/lastexpress/game/action.h +++ b/engines/lastexpress/game/action.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/lastexpress/game/beetle.cpp b/engines/lastexpress/game/beetle.cpp index d7a369ba40..a92d252f0a 100644 --- a/engines/lastexpress/game/beetle.cpp +++ b/engines/lastexpress/game/beetle.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/lastexpress/game/beetle.h b/engines/lastexpress/game/beetle.h index 034ebbd557..0a9a836065 100644 --- a/engines/lastexpress/game/beetle.h +++ b/engines/lastexpress/game/beetle.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/lastexpress/game/entities.cpp b/engines/lastexpress/game/entities.cpp index fafbd7cb64..b4b5527f8d 100644 --- a/engines/lastexpress/game/entities.cpp +++ b/engines/lastexpress/game/entities.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/lastexpress/game/entities.h b/engines/lastexpress/game/entities.h index cacbc408c9..089edbf87f 100644 --- a/engines/lastexpress/game/entities.h +++ b/engines/lastexpress/game/entities.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/lastexpress/game/inventory.cpp b/engines/lastexpress/game/inventory.cpp index 11a76a77f0..9e02b3bc1d 100644 --- a/engines/lastexpress/game/inventory.cpp +++ b/engines/lastexpress/game/inventory.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/lastexpress/game/inventory.h b/engines/lastexpress/game/inventory.h index 242dfc30cc..f3ab94ccab 100644 --- a/engines/lastexpress/game/inventory.h +++ b/engines/lastexpress/game/inventory.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/lastexpress/game/logic.cpp b/engines/lastexpress/game/logic.cpp index 1a9c6b4123..7ba2b0ff85 100644 --- a/engines/lastexpress/game/logic.cpp +++ b/engines/lastexpress/game/logic.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/lastexpress/game/logic.h b/engines/lastexpress/game/logic.h index b2d08cb06f..33180dfdd1 100644 --- a/engines/lastexpress/game/logic.h +++ b/engines/lastexpress/game/logic.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/lastexpress/game/object.cpp b/engines/lastexpress/game/object.cpp index ad13a65199..31da650b9a 100644 --- a/engines/lastexpress/game/object.cpp +++ b/engines/lastexpress/game/object.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/lastexpress/game/object.h b/engines/lastexpress/game/object.h index be9d63d6c5..78e8a84df3 100644 --- a/engines/lastexpress/game/object.h +++ b/engines/lastexpress/game/object.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/lastexpress/game/savegame.cpp b/engines/lastexpress/game/savegame.cpp index 021dc40bb9..d9f2993c17 100644 --- a/engines/lastexpress/game/savegame.cpp +++ b/engines/lastexpress/game/savegame.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/lastexpress/game/savegame.h b/engines/lastexpress/game/savegame.h index 7e8095fde1..f374e18a44 100644 --- a/engines/lastexpress/game/savegame.h +++ b/engines/lastexpress/game/savegame.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/lastexpress/game/savepoint.cpp b/engines/lastexpress/game/savepoint.cpp index 8d14ec386b..b0186a4ccc 100644 --- a/engines/lastexpress/game/savepoint.cpp +++ b/engines/lastexpress/game/savepoint.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/lastexpress/game/savepoint.h b/engines/lastexpress/game/savepoint.h index 005133891a..068c54eb0f 100644 --- a/engines/lastexpress/game/savepoint.h +++ b/engines/lastexpress/game/savepoint.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/lastexpress/game/state.cpp b/engines/lastexpress/game/state.cpp index 02ede25595..e47eda5ebd 100644 --- a/engines/lastexpress/game/state.cpp +++ b/engines/lastexpress/game/state.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/lastexpress/game/state.h b/engines/lastexpress/game/state.h index 83d528d346..38cd851aaa 100644 --- a/engines/lastexpress/game/state.h +++ b/engines/lastexpress/game/state.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/lastexpress/graphics.cpp b/engines/lastexpress/graphics.cpp index 9ced38a2e1..74e1efaa8b 100644 --- a/engines/lastexpress/graphics.cpp +++ b/engines/lastexpress/graphics.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/lastexpress/graphics.h b/engines/lastexpress/graphics.h index 7db7e88989..843bfd6e22 100644 --- a/engines/lastexpress/graphics.h +++ b/engines/lastexpress/graphics.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/lastexpress/helpers.h b/engines/lastexpress/helpers.h index 02454be13d..6f94cf2a14 100644 --- a/engines/lastexpress/helpers.h +++ b/engines/lastexpress/helpers.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/lastexpress/lastexpress.cpp b/engines/lastexpress/lastexpress.cpp index bc1624d171..293c3ab725 100644 --- a/engines/lastexpress/lastexpress.cpp +++ b/engines/lastexpress/lastexpress.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/lastexpress/lastexpress.h b/engines/lastexpress/lastexpress.h index 1431b79b9f..b4098f3860 100644 --- a/engines/lastexpress/lastexpress.h +++ b/engines/lastexpress/lastexpress.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/lastexpress/menu/clock.cpp b/engines/lastexpress/menu/clock.cpp index dedf045940..fadb578de6 100644 --- a/engines/lastexpress/menu/clock.cpp +++ b/engines/lastexpress/menu/clock.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/lastexpress/menu/clock.h b/engines/lastexpress/menu/clock.h index 339a18604f..248f2439af 100644 --- a/engines/lastexpress/menu/clock.h +++ b/engines/lastexpress/menu/clock.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/lastexpress/menu/menu.cpp b/engines/lastexpress/menu/menu.cpp index c48e55bb55..cbd2a4a819 100644 --- a/engines/lastexpress/menu/menu.cpp +++ b/engines/lastexpress/menu/menu.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/lastexpress/menu/menu.h b/engines/lastexpress/menu/menu.h index 4b84c065cb..5943c940ca 100644 --- a/engines/lastexpress/menu/menu.h +++ b/engines/lastexpress/menu/menu.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/lastexpress/menu/trainline.cpp b/engines/lastexpress/menu/trainline.cpp index f819776163..fe6c7ca979 100644 --- a/engines/lastexpress/menu/trainline.cpp +++ b/engines/lastexpress/menu/trainline.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/lastexpress/menu/trainline.h b/engines/lastexpress/menu/trainline.h index af6a121e9c..bad01610e9 100644 --- a/engines/lastexpress/menu/trainline.h +++ b/engines/lastexpress/menu/trainline.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/lastexpress/resource.cpp b/engines/lastexpress/resource.cpp index 1d010355ac..2a48778c18 100644 --- a/engines/lastexpress/resource.cpp +++ b/engines/lastexpress/resource.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/lastexpress/resource.h b/engines/lastexpress/resource.h index 90ac9b87ad..ddda4d6eb7 100644 --- a/engines/lastexpress/resource.h +++ b/engines/lastexpress/resource.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/lastexpress/shared.h b/engines/lastexpress/shared.h index dae7928043..c0099db7ac 100644 --- a/engines/lastexpress/shared.h +++ b/engines/lastexpress/shared.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/lastexpress/sound/entry.cpp b/engines/lastexpress/sound/entry.cpp index 3d22657124..6bf1ebc9de 100644 --- a/engines/lastexpress/sound/entry.cpp +++ b/engines/lastexpress/sound/entry.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/lastexpress/sound/entry.h b/engines/lastexpress/sound/entry.h index a88b0b7210..d92b16a5dd 100644 --- a/engines/lastexpress/sound/entry.h +++ b/engines/lastexpress/sound/entry.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/lastexpress/sound/queue.cpp b/engines/lastexpress/sound/queue.cpp index 8904b48930..fe6d6f2251 100644 --- a/engines/lastexpress/sound/queue.cpp +++ b/engines/lastexpress/sound/queue.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/lastexpress/sound/queue.h b/engines/lastexpress/sound/queue.h index e1f9be1cf7..60c447596d 100644 --- a/engines/lastexpress/sound/queue.h +++ b/engines/lastexpress/sound/queue.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/lastexpress/sound/sound.cpp b/engines/lastexpress/sound/sound.cpp index ad61c2e0d9..5f55f4e74e 100644 --- a/engines/lastexpress/sound/sound.cpp +++ b/engines/lastexpress/sound/sound.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/lastexpress/sound/sound.h b/engines/lastexpress/sound/sound.h index 517543f470..81f1529286 100644 --- a/engines/lastexpress/sound/sound.h +++ b/engines/lastexpress/sound/sound.h @@ -8,12 +8,12 @@ * 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. -- cgit v1.2.3 From 872b5fdf415b72685b2db2910924defd618f28c9 Mon Sep 17 00:00:00 2001 From: Johannes Schickel Date: Tue, 18 Feb 2014 02:34:22 +0100 Subject: LINUXMOTO: Make GPL headers consistent in themselves. --- backends/events/linuxmotosdl/linuxmotosdl-events.cpp | 4 ++-- backends/events/linuxmotosdl/linuxmotosdl-events.h | 4 ++-- backends/graphics/linuxmotosdl/linuxmotosdl-graphics.cpp | 4 ++-- backends/graphics/linuxmotosdl/linuxmotosdl-graphics.h | 4 ++-- backends/platform/linuxmoto/hardwarekeys.cpp | 4 ++-- backends/platform/linuxmoto/linuxmoto-main.cpp | 4 ++-- backends/platform/linuxmoto/linuxmoto-sdl.cpp | 4 ++-- backends/platform/linuxmoto/linuxmoto-sdl.h | 4 ++-- 8 files changed, 16 insertions(+), 16 deletions(-) diff --git a/backends/events/linuxmotosdl/linuxmotosdl-events.cpp b/backends/events/linuxmotosdl/linuxmotosdl-events.cpp index 5d9f032e19..ce34662612 100644 --- a/backends/events/linuxmotosdl/linuxmotosdl-events.cpp +++ b/backends/events/linuxmotosdl/linuxmotosdl-events.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/backends/events/linuxmotosdl/linuxmotosdl-events.h b/backends/events/linuxmotosdl/linuxmotosdl-events.h index 7b0c8fcc73..87eab3ffaa 100644 --- a/backends/events/linuxmotosdl/linuxmotosdl-events.h +++ b/backends/events/linuxmotosdl/linuxmotosdl-events.h @@ -8,12 +8,12 @@ * 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. diff --git a/backends/graphics/linuxmotosdl/linuxmotosdl-graphics.cpp b/backends/graphics/linuxmotosdl/linuxmotosdl-graphics.cpp index a005d74919..22b271ae1a 100644 --- a/backends/graphics/linuxmotosdl/linuxmotosdl-graphics.cpp +++ b/backends/graphics/linuxmotosdl/linuxmotosdl-graphics.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/backends/graphics/linuxmotosdl/linuxmotosdl-graphics.h b/backends/graphics/linuxmotosdl/linuxmotosdl-graphics.h index ee2a566d71..8760c5004d 100644 --- a/backends/graphics/linuxmotosdl/linuxmotosdl-graphics.h +++ b/backends/graphics/linuxmotosdl/linuxmotosdl-graphics.h @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/linuxmoto/hardwarekeys.cpp b/backends/platform/linuxmoto/hardwarekeys.cpp index e1a5757430..70e55c86c0 100644 --- a/backends/platform/linuxmoto/hardwarekeys.cpp +++ b/backends/platform/linuxmoto/hardwarekeys.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/linuxmoto/linuxmoto-main.cpp b/backends/platform/linuxmoto/linuxmoto-main.cpp index 835ccb03ef..507be9fa95 100644 --- a/backends/platform/linuxmoto/linuxmoto-main.cpp +++ b/backends/platform/linuxmoto/linuxmoto-main.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/linuxmoto/linuxmoto-sdl.cpp b/backends/platform/linuxmoto/linuxmoto-sdl.cpp index 844bd19a83..a0310079de 100644 --- a/backends/platform/linuxmoto/linuxmoto-sdl.cpp +++ b/backends/platform/linuxmoto/linuxmoto-sdl.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/linuxmoto/linuxmoto-sdl.h b/backends/platform/linuxmoto/linuxmoto-sdl.h index 27f4e744bc..b0bf7b4df7 100644 --- a/backends/platform/linuxmoto/linuxmoto-sdl.h +++ b/backends/platform/linuxmoto/linuxmoto-sdl.h @@ -8,12 +8,12 @@ * 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. -- cgit v1.2.3 From b03ca0e80a6637d08e1ad1a3053b78928734557d Mon Sep 17 00:00:00 2001 From: Johannes Schickel Date: Tue, 18 Feb 2014 02:34:22 +0100 Subject: LURE: Make GPL headers consistent in themselves. --- engines/lure/animseq.cpp | 4 ++-- engines/lure/animseq.h | 4 ++-- engines/lure/debugger.cpp | 4 ++-- engines/lure/debugger.h | 4 ++-- engines/lure/decode.cpp | 4 ++-- engines/lure/decode.h | 4 ++-- engines/lure/detection.cpp | 4 ++-- engines/lure/disk.cpp | 4 ++-- engines/lure/disk.h | 4 ++-- engines/lure/events.cpp | 4 ++-- engines/lure/events.h | 4 ++-- engines/lure/fights.cpp | 4 ++-- engines/lure/fights.h | 4 ++-- engines/lure/game.cpp | 4 ++-- engines/lure/game.h | 4 ++-- engines/lure/hotspots.cpp | 4 ++-- engines/lure/hotspots.h | 4 ++-- engines/lure/intro.cpp | 4 ++-- engines/lure/intro.h | 4 ++-- engines/lure/lure.cpp | 4 ++-- engines/lure/lure.h | 4 ++-- engines/lure/luredefs.h | 4 ++-- engines/lure/memory.cpp | 4 ++-- engines/lure/memory.h | 4 ++-- engines/lure/menu.cpp | 4 ++-- engines/lure/menu.h | 4 ++-- engines/lure/palette.cpp | 4 ++-- engines/lure/palette.h | 4 ++-- engines/lure/res.cpp | 4 ++-- engines/lure/res.h | 4 ++-- engines/lure/res_struct.cpp | 4 ++-- engines/lure/res_struct.h | 4 ++-- engines/lure/room.cpp | 4 ++-- engines/lure/room.h | 4 ++-- engines/lure/screen.cpp | 4 ++-- engines/lure/screen.h | 4 ++-- engines/lure/scripts.cpp | 4 ++-- engines/lure/scripts.h | 4 ++-- engines/lure/sound.cpp | 4 ++-- engines/lure/sound.h | 4 ++-- engines/lure/strings.cpp | 4 ++-- engines/lure/strings.h | 4 ++-- engines/lure/surface.cpp | 4 ++-- engines/lure/surface.h | 4 ++-- 44 files changed, 88 insertions(+), 88 deletions(-) diff --git a/engines/lure/animseq.cpp b/engines/lure/animseq.cpp index 8037563677..840b349fec 100644 --- a/engines/lure/animseq.cpp +++ b/engines/lure/animseq.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/lure/animseq.h b/engines/lure/animseq.h index fde1fab921..a220356f92 100644 --- a/engines/lure/animseq.h +++ b/engines/lure/animseq.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/lure/debugger.cpp b/engines/lure/debugger.cpp index 92f07a566e..bbaa68befa 100644 --- a/engines/lure/debugger.cpp +++ b/engines/lure/debugger.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/lure/debugger.h b/engines/lure/debugger.h index a4d4d689c4..a5360f2ed8 100644 --- a/engines/lure/debugger.h +++ b/engines/lure/debugger.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/lure/decode.cpp b/engines/lure/decode.cpp index 484126c43f..6ad723a8e6 100644 --- a/engines/lure/decode.cpp +++ b/engines/lure/decode.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/lure/decode.h b/engines/lure/decode.h index 93f617af7e..6b5e49fa22 100644 --- a/engines/lure/decode.h +++ b/engines/lure/decode.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/lure/detection.cpp b/engines/lure/detection.cpp index 64d26c4c04..a87fcf6945 100644 --- a/engines/lure/detection.cpp +++ b/engines/lure/detection.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/lure/disk.cpp b/engines/lure/disk.cpp index 552da73f18..eebf299497 100644 --- a/engines/lure/disk.cpp +++ b/engines/lure/disk.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/lure/disk.h b/engines/lure/disk.h index 1872fbd055..859e338c18 100644 --- a/engines/lure/disk.h +++ b/engines/lure/disk.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/lure/events.cpp b/engines/lure/events.cpp index fe60b56658..9b7e501d55 100644 --- a/engines/lure/events.cpp +++ b/engines/lure/events.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/lure/events.h b/engines/lure/events.h index dd3f82fe19..2a392c816d 100644 --- a/engines/lure/events.h +++ b/engines/lure/events.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/lure/fights.cpp b/engines/lure/fights.cpp index ab5d992bdb..ed3e2d7ef0 100644 --- a/engines/lure/fights.cpp +++ b/engines/lure/fights.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/lure/fights.h b/engines/lure/fights.h index 89f49d8c6d..32a99d7b74 100644 --- a/engines/lure/fights.h +++ b/engines/lure/fights.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/lure/game.cpp b/engines/lure/game.cpp index eaed7ebbe7..efd33b6176 100644 --- a/engines/lure/game.cpp +++ b/engines/lure/game.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/lure/game.h b/engines/lure/game.h index 42818e404b..ddf9fac24b 100644 --- a/engines/lure/game.h +++ b/engines/lure/game.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/lure/hotspots.cpp b/engines/lure/hotspots.cpp index d0b439677d..fbf93e1e14 100644 --- a/engines/lure/hotspots.cpp +++ b/engines/lure/hotspots.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/lure/hotspots.h b/engines/lure/hotspots.h index 85d36dc138..5411a83832 100644 --- a/engines/lure/hotspots.h +++ b/engines/lure/hotspots.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/lure/intro.cpp b/engines/lure/intro.cpp index ce330be7c4..fc02e10667 100644 --- a/engines/lure/intro.cpp +++ b/engines/lure/intro.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/lure/intro.h b/engines/lure/intro.h index ad442f1564..bde073e43c 100644 --- a/engines/lure/intro.h +++ b/engines/lure/intro.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/lure/lure.cpp b/engines/lure/lure.cpp index 3217cf039d..45fe0af025 100644 --- a/engines/lure/lure.cpp +++ b/engines/lure/lure.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/lure/lure.h b/engines/lure/lure.h index 34bb9f1639..8a8299381e 100644 --- a/engines/lure/lure.h +++ b/engines/lure/lure.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/lure/luredefs.h b/engines/lure/luredefs.h index 91fb650af3..7b39710798 100644 --- a/engines/lure/luredefs.h +++ b/engines/lure/luredefs.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/lure/memory.cpp b/engines/lure/memory.cpp index 137a8f6bee..1d838b65d0 100644 --- a/engines/lure/memory.cpp +++ b/engines/lure/memory.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/lure/memory.h b/engines/lure/memory.h index 05bf23a9ab..3594260901 100644 --- a/engines/lure/memory.h +++ b/engines/lure/memory.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/lure/menu.cpp b/engines/lure/menu.cpp index 7564ce91a0..3fc4c2a05b 100644 --- a/engines/lure/menu.cpp +++ b/engines/lure/menu.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/lure/menu.h b/engines/lure/menu.h index b3016f0560..a6113f009b 100644 --- a/engines/lure/menu.h +++ b/engines/lure/menu.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/lure/palette.cpp b/engines/lure/palette.cpp index 3975561749..30a5752366 100644 --- a/engines/lure/palette.cpp +++ b/engines/lure/palette.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/lure/palette.h b/engines/lure/palette.h index 2af1f55973..8e1e92ac8d 100644 --- a/engines/lure/palette.h +++ b/engines/lure/palette.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/lure/res.cpp b/engines/lure/res.cpp index 9ec641140b..6b2705463d 100644 --- a/engines/lure/res.cpp +++ b/engines/lure/res.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/lure/res.h b/engines/lure/res.h index a0a908f53d..9002ca3056 100644 --- a/engines/lure/res.h +++ b/engines/lure/res.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/lure/res_struct.cpp b/engines/lure/res_struct.cpp index 15e7c1302d..5a4761c87b 100644 --- a/engines/lure/res_struct.cpp +++ b/engines/lure/res_struct.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/lure/res_struct.h b/engines/lure/res_struct.h index a4d2f76cec..9190912f5b 100644 --- a/engines/lure/res_struct.h +++ b/engines/lure/res_struct.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/lure/room.cpp b/engines/lure/room.cpp index 26d15dd025..1be95ba3d4 100644 --- a/engines/lure/room.cpp +++ b/engines/lure/room.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/lure/room.h b/engines/lure/room.h index deafa28a66..c5eba7185e 100644 --- a/engines/lure/room.h +++ b/engines/lure/room.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/lure/screen.cpp b/engines/lure/screen.cpp index 4eb6fd46a3..e867459f8b 100644 --- a/engines/lure/screen.cpp +++ b/engines/lure/screen.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/lure/screen.h b/engines/lure/screen.h index 2a2fa6b2f2..2e3b0d4e49 100644 --- a/engines/lure/screen.h +++ b/engines/lure/screen.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/lure/scripts.cpp b/engines/lure/scripts.cpp index 8afdaa5ad1..3df119a9da 100644 --- a/engines/lure/scripts.cpp +++ b/engines/lure/scripts.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/lure/scripts.h b/engines/lure/scripts.h index 7bc8f8c950..2a400cc8d1 100644 --- a/engines/lure/scripts.h +++ b/engines/lure/scripts.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/lure/sound.cpp b/engines/lure/sound.cpp index 298483bed8..bea0dbf9f4 100644 --- a/engines/lure/sound.cpp +++ b/engines/lure/sound.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/lure/sound.h b/engines/lure/sound.h index 365a7ccdb6..74b28c33b4 100644 --- a/engines/lure/sound.h +++ b/engines/lure/sound.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/lure/strings.cpp b/engines/lure/strings.cpp index 0c9f4b5352..dbe2f786b4 100644 --- a/engines/lure/strings.cpp +++ b/engines/lure/strings.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/lure/strings.h b/engines/lure/strings.h index e32921ddb6..d2c2a03ae1 100644 --- a/engines/lure/strings.h +++ b/engines/lure/strings.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/lure/surface.cpp b/engines/lure/surface.cpp index 0f13d87fbc..17ac17814f 100644 --- a/engines/lure/surface.cpp +++ b/engines/lure/surface.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/lure/surface.h b/engines/lure/surface.h index d56e37632b..3cda09bf56 100644 --- a/engines/lure/surface.h +++ b/engines/lure/surface.h @@ -8,12 +8,12 @@ * 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. -- cgit v1.2.3 From 5b70d34479bac5136409b35ca36f19526615702d Mon Sep 17 00:00:00 2001 From: Johannes Schickel Date: Tue, 18 Feb 2014 02:34:22 +0100 Subject: MADE: Make GPL headers consistent in themselves. --- engines/made/console.cpp | 4 ++-- engines/made/console.h | 4 ++-- engines/made/database.cpp | 4 ++-- engines/made/database.h | 4 ++-- engines/made/detection.cpp | 4 ++-- engines/made/graphics.cpp | 4 ++-- engines/made/graphics.h | 4 ++-- engines/made/made.cpp | 4 ++-- engines/made/made.h | 4 ++-- engines/made/music.cpp | 4 ++-- engines/made/music.h | 4 ++-- engines/made/pmvplayer.cpp | 4 ++-- engines/made/pmvplayer.h | 4 ++-- engines/made/redreader.cpp | 4 ++-- engines/made/redreader.h | 4 ++-- engines/made/resource.cpp | 4 ++-- engines/made/resource.h | 4 ++-- engines/made/screen.cpp | 4 ++-- engines/made/screen.h | 4 ++-- engines/made/screenfx.cpp | 4 ++-- engines/made/screenfx.h | 4 ++-- engines/made/script.cpp | 4 ++-- engines/made/script.h | 4 ++-- engines/made/scriptfuncs.cpp | 4 ++-- engines/made/scriptfuncs.h | 4 ++-- engines/made/sound.cpp | 4 ++-- engines/made/sound.h | 4 ++-- 27 files changed, 54 insertions(+), 54 deletions(-) diff --git a/engines/made/console.cpp b/engines/made/console.cpp index 0076b6a4f9..f3d6b3d274 100644 --- a/engines/made/console.cpp +++ b/engines/made/console.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/made/console.h b/engines/made/console.h index 8b8484cb5c..9a1e0b247b 100644 --- a/engines/made/console.h +++ b/engines/made/console.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/made/database.cpp b/engines/made/database.cpp index 7c8f9bdd0c..85a8a5ca4a 100644 --- a/engines/made/database.cpp +++ b/engines/made/database.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/made/database.h b/engines/made/database.h index 89b4b45357..57e9fecdd5 100644 --- a/engines/made/database.h +++ b/engines/made/database.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/made/detection.cpp b/engines/made/detection.cpp index c2c866ff34..7adc3e1f98 100644 --- a/engines/made/detection.cpp +++ b/engines/made/detection.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/made/graphics.cpp b/engines/made/graphics.cpp index a8e33774f6..100f7b5c46 100644 --- a/engines/made/graphics.cpp +++ b/engines/made/graphics.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/made/graphics.h b/engines/made/graphics.h index 15704c7792..7f079891a2 100644 --- a/engines/made/graphics.h +++ b/engines/made/graphics.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/made/made.cpp b/engines/made/made.cpp index 3e192cb04c..af8156fc3e 100644 --- a/engines/made/made.cpp +++ b/engines/made/made.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/made/made.h b/engines/made/made.h index c0b86bb0a8..da251c6242 100644 --- a/engines/made/made.h +++ b/engines/made/made.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/made/music.cpp b/engines/made/music.cpp index 04ac13eeda..b2917b58ed 100644 --- a/engines/made/music.cpp +++ b/engines/made/music.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/made/music.h b/engines/made/music.h index 3cfbd50ce7..95d1bd35c1 100644 --- a/engines/made/music.h +++ b/engines/made/music.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/made/pmvplayer.cpp b/engines/made/pmvplayer.cpp index 573ff7faf1..3cac017e10 100644 --- a/engines/made/pmvplayer.cpp +++ b/engines/made/pmvplayer.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/made/pmvplayer.h b/engines/made/pmvplayer.h index 3821ca8de1..cf06d67391 100644 --- a/engines/made/pmvplayer.h +++ b/engines/made/pmvplayer.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/made/redreader.cpp b/engines/made/redreader.cpp index 7e92cfe71b..f5e6ca85b3 100644 --- a/engines/made/redreader.cpp +++ b/engines/made/redreader.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/made/redreader.h b/engines/made/redreader.h index 3025d31ce1..28505d09c0 100644 --- a/engines/made/redreader.h +++ b/engines/made/redreader.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/made/resource.cpp b/engines/made/resource.cpp index 28fee8ce57..1bb328c7a2 100644 --- a/engines/made/resource.cpp +++ b/engines/made/resource.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/made/resource.h b/engines/made/resource.h index a789069272..c573ec75d7 100644 --- a/engines/made/resource.h +++ b/engines/made/resource.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/made/screen.cpp b/engines/made/screen.cpp index 30848e8ec1..c27b781dda 100644 --- a/engines/made/screen.cpp +++ b/engines/made/screen.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/made/screen.h b/engines/made/screen.h index 266ac3811d..35d80663c6 100644 --- a/engines/made/screen.h +++ b/engines/made/screen.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/made/screenfx.cpp b/engines/made/screenfx.cpp index b89b3af802..2a155d67ac 100644 --- a/engines/made/screenfx.cpp +++ b/engines/made/screenfx.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/made/screenfx.h b/engines/made/screenfx.h index 1fcdd5f0d4..fd216bfd63 100644 --- a/engines/made/screenfx.h +++ b/engines/made/screenfx.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/made/script.cpp b/engines/made/script.cpp index 7658d20eb5..20fa026a40 100644 --- a/engines/made/script.cpp +++ b/engines/made/script.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/made/script.h b/engines/made/script.h index f3db43485f..bf75bc0875 100644 --- a/engines/made/script.h +++ b/engines/made/script.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/made/scriptfuncs.cpp b/engines/made/scriptfuncs.cpp index 0e3b50aa98..efa765c7eb 100644 --- a/engines/made/scriptfuncs.cpp +++ b/engines/made/scriptfuncs.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/made/scriptfuncs.h b/engines/made/scriptfuncs.h index 03d29c4592..9db5586adf 100644 --- a/engines/made/scriptfuncs.h +++ b/engines/made/scriptfuncs.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/made/sound.cpp b/engines/made/sound.cpp index 176f8688bd..91e855cbf5 100644 --- a/engines/made/sound.cpp +++ b/engines/made/sound.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/made/sound.h b/engines/made/sound.h index b8399fd90a..6ffca13aaa 100644 --- a/engines/made/sound.h +++ b/engines/made/sound.h @@ -8,12 +8,12 @@ * 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. -- cgit v1.2.3 From 4f34f44fbf1e08c95c68b7902ff815aebe3a30f4 Mon Sep 17 00:00:00 2001 From: Johannes Schickel Date: Tue, 18 Feb 2014 02:34:22 +0100 Subject: MAEMO: Make GPL headers consistent in themselves. --- backends/events/maemosdl/maemosdl-events.cpp | 4 ++-- backends/events/maemosdl/maemosdl-events.h | 4 ++-- backends/graphics/maemosdl/maemosdl-graphics.cpp | 4 ++-- backends/graphics/maemosdl/maemosdl-graphics.h | 4 ++-- backends/platform/maemo/maemo-common.h | 4 ++-- backends/platform/maemo/maemo.cpp | 4 ++-- backends/platform/maemo/maemo.h | 4 ++-- backends/platform/maemo/main.cpp | 4 ++-- 8 files changed, 16 insertions(+), 16 deletions(-) diff --git a/backends/events/maemosdl/maemosdl-events.cpp b/backends/events/maemosdl/maemosdl-events.cpp index eaf2f48b60..5045363286 100644 --- a/backends/events/maemosdl/maemosdl-events.cpp +++ b/backends/events/maemosdl/maemosdl-events.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/backends/events/maemosdl/maemosdl-events.h b/backends/events/maemosdl/maemosdl-events.h index f3f05feeca..6024031249 100644 --- a/backends/events/maemosdl/maemosdl-events.h +++ b/backends/events/maemosdl/maemosdl-events.h @@ -8,12 +8,12 @@ * 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. diff --git a/backends/graphics/maemosdl/maemosdl-graphics.cpp b/backends/graphics/maemosdl/maemosdl-graphics.cpp index 527ef82b9d..07d6d32d3a 100644 --- a/backends/graphics/maemosdl/maemosdl-graphics.cpp +++ b/backends/graphics/maemosdl/maemosdl-graphics.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/backends/graphics/maemosdl/maemosdl-graphics.h b/backends/graphics/maemosdl/maemosdl-graphics.h index 81064d2d5f..c255e94653 100644 --- a/backends/graphics/maemosdl/maemosdl-graphics.h +++ b/backends/graphics/maemosdl/maemosdl-graphics.h @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/maemo/maemo-common.h b/backends/platform/maemo/maemo-common.h index 0442b9c0ae..6d3c64402a 100644 --- a/backends/platform/maemo/maemo-common.h +++ b/backends/platform/maemo/maemo-common.h @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/maemo/maemo.cpp b/backends/platform/maemo/maemo.cpp index 6bd229177b..e81a208f7b 100644 --- a/backends/platform/maemo/maemo.cpp +++ b/backends/platform/maemo/maemo.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/maemo/maemo.h b/backends/platform/maemo/maemo.h index 43bc262ade..532a2de08c 100644 --- a/backends/platform/maemo/maemo.h +++ b/backends/platform/maemo/maemo.h @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/maemo/main.cpp b/backends/platform/maemo/main.cpp index 7e8a316eb5..4735ae30ed 100644 --- a/backends/platform/maemo/main.cpp +++ b/backends/platform/maemo/main.cpp @@ -8,12 +8,12 @@ * 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. -- cgit v1.2.3 From abd9e9208611d377fc0e0ff3af0d85963098db9e Mon Sep 17 00:00:00 2001 From: Johannes Schickel Date: Tue, 18 Feb 2014 02:34:22 +0100 Subject: MOHAWK: Make GPL headers consistent in themselves. --- engines/mohawk/bitmap.cpp | 4 ++-- engines/mohawk/bitmap.h | 4 ++-- engines/mohawk/console.cpp | 4 ++-- engines/mohawk/console.h | 4 ++-- engines/mohawk/cstime.cpp | 4 ++-- engines/mohawk/cstime.h | 4 ++-- engines/mohawk/cstime_cases.cpp | 4 ++-- engines/mohawk/cstime_cases.h | 4 ++-- engines/mohawk/cstime_game.cpp | 4 ++-- engines/mohawk/cstime_game.h | 4 ++-- engines/mohawk/cstime_graphics.cpp | 4 ++-- engines/mohawk/cstime_graphics.h | 4 ++-- engines/mohawk/cstime_ui.cpp | 4 ++-- engines/mohawk/cstime_ui.h | 4 ++-- engines/mohawk/cstime_view.cpp | 4 ++-- engines/mohawk/cstime_view.h | 4 ++-- engines/mohawk/cursors.cpp | 4 ++-- engines/mohawk/cursors.h | 4 ++-- engines/mohawk/detection.cpp | 4 ++-- engines/mohawk/detection_tables.h | 4 ++-- engines/mohawk/dialogs.cpp | 4 ++-- engines/mohawk/dialogs.h | 4 ++-- engines/mohawk/graphics.cpp | 4 ++-- engines/mohawk/graphics.h | 4 ++-- engines/mohawk/installer_archive.cpp | 4 ++-- engines/mohawk/installer_archive.h | 4 ++-- engines/mohawk/livingbooks.cpp | 4 ++-- engines/mohawk/livingbooks.h | 4 ++-- engines/mohawk/livingbooks_code.cpp | 4 ++-- engines/mohawk/livingbooks_code.h | 4 ++-- engines/mohawk/livingbooks_graphics.cpp | 4 ++-- engines/mohawk/livingbooks_graphics.h | 4 ++-- engines/mohawk/livingbooks_lbx.cpp | 4 ++-- engines/mohawk/livingbooks_lbx.h | 4 ++-- engines/mohawk/mohawk.cpp | 4 ++-- engines/mohawk/mohawk.h | 4 ++-- engines/mohawk/myst.cpp | 4 ++-- engines/mohawk/myst.h | 4 ++-- engines/mohawk/myst_areas.cpp | 4 ++-- engines/mohawk/myst_areas.h | 4 ++-- engines/mohawk/myst_graphics.cpp | 4 ++-- engines/mohawk/myst_graphics.h | 4 ++-- engines/mohawk/myst_scripts.cpp | 4 ++-- engines/mohawk/myst_scripts.h | 4 ++-- engines/mohawk/myst_stacks/channelwood.cpp | 4 ++-- engines/mohawk/myst_stacks/channelwood.h | 4 ++-- engines/mohawk/myst_stacks/credits.cpp | 4 ++-- engines/mohawk/myst_stacks/credits.h | 4 ++-- engines/mohawk/myst_stacks/demo.cpp | 4 ++-- engines/mohawk/myst_stacks/demo.h | 4 ++-- engines/mohawk/myst_stacks/dni.cpp | 4 ++-- engines/mohawk/myst_stacks/dni.h | 4 ++-- engines/mohawk/myst_stacks/intro.cpp | 4 ++-- engines/mohawk/myst_stacks/intro.h | 4 ++-- engines/mohawk/myst_stacks/makingof.cpp | 4 ++-- engines/mohawk/myst_stacks/makingof.h | 4 ++-- engines/mohawk/myst_stacks/mechanical.cpp | 4 ++-- engines/mohawk/myst_stacks/mechanical.h | 4 ++-- engines/mohawk/myst_stacks/myst.cpp | 4 ++-- engines/mohawk/myst_stacks/myst.h | 4 ++-- engines/mohawk/myst_stacks/preview.cpp | 4 ++-- engines/mohawk/myst_stacks/preview.h | 4 ++-- engines/mohawk/myst_stacks/selenitic.cpp | 4 ++-- engines/mohawk/myst_stacks/selenitic.h | 4 ++-- engines/mohawk/myst_stacks/slides.cpp | 4 ++-- engines/mohawk/myst_stacks/slides.h | 4 ++-- engines/mohawk/myst_stacks/stoneship.cpp | 4 ++-- engines/mohawk/myst_stacks/stoneship.h | 4 ++-- engines/mohawk/myst_state.cpp | 4 ++-- engines/mohawk/myst_state.h | 4 ++-- engines/mohawk/resource.cpp | 4 ++-- engines/mohawk/resource.h | 4 ++-- engines/mohawk/resource_cache.cpp | 4 ++-- engines/mohawk/resource_cache.h | 4 ++-- engines/mohawk/riven.cpp | 4 ++-- engines/mohawk/riven.h | 4 ++-- engines/mohawk/riven_external.cpp | 4 ++-- engines/mohawk/riven_external.h | 4 ++-- engines/mohawk/riven_graphics.cpp | 4 ++-- engines/mohawk/riven_graphics.h | 4 ++-- engines/mohawk/riven_saveload.cpp | 4 ++-- engines/mohawk/riven_saveload.h | 4 ++-- engines/mohawk/riven_scripts.cpp | 4 ++-- engines/mohawk/riven_scripts.h | 4 ++-- engines/mohawk/riven_vars.cpp | 4 ++-- engines/mohawk/sound.cpp | 4 ++-- engines/mohawk/sound.h | 4 ++-- engines/mohawk/video.cpp | 4 ++-- engines/mohawk/video.h | 4 ++-- engines/mohawk/view.cpp | 4 ++-- engines/mohawk/view.h | 4 ++-- 91 files changed, 182 insertions(+), 182 deletions(-) diff --git a/engines/mohawk/bitmap.cpp b/engines/mohawk/bitmap.cpp index b321e043d9..fe2a308170 100644 --- a/engines/mohawk/bitmap.cpp +++ b/engines/mohawk/bitmap.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/mohawk/bitmap.h b/engines/mohawk/bitmap.h index 73c117b5c7..ea8664f39d 100644 --- a/engines/mohawk/bitmap.h +++ b/engines/mohawk/bitmap.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/mohawk/console.cpp b/engines/mohawk/console.cpp index ce22132cee..2e83eb3328 100644 --- a/engines/mohawk/console.cpp +++ b/engines/mohawk/console.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/mohawk/console.h b/engines/mohawk/console.h index cdb4e1bedf..af01c0d1e0 100644 --- a/engines/mohawk/console.h +++ b/engines/mohawk/console.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/mohawk/cstime.cpp b/engines/mohawk/cstime.cpp index 0f69d50a22..3b26378819 100644 --- a/engines/mohawk/cstime.cpp +++ b/engines/mohawk/cstime.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/mohawk/cstime.h b/engines/mohawk/cstime.h index db06b9791e..f95222d3a1 100644 --- a/engines/mohawk/cstime.h +++ b/engines/mohawk/cstime.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/mohawk/cstime_cases.cpp b/engines/mohawk/cstime_cases.cpp index c0a8dfc0e3..722d82a9f2 100644 --- a/engines/mohawk/cstime_cases.cpp +++ b/engines/mohawk/cstime_cases.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/mohawk/cstime_cases.h b/engines/mohawk/cstime_cases.h index 1ac9abf87e..ba1231784a 100644 --- a/engines/mohawk/cstime_cases.h +++ b/engines/mohawk/cstime_cases.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/mohawk/cstime_game.cpp b/engines/mohawk/cstime_game.cpp index 91d2f895c0..8eced701c3 100644 --- a/engines/mohawk/cstime_game.cpp +++ b/engines/mohawk/cstime_game.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/mohawk/cstime_game.h b/engines/mohawk/cstime_game.h index 88e813c999..6c082fc4d2 100644 --- a/engines/mohawk/cstime_game.h +++ b/engines/mohawk/cstime_game.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/mohawk/cstime_graphics.cpp b/engines/mohawk/cstime_graphics.cpp index 3a1452e67c..29336525da 100644 --- a/engines/mohawk/cstime_graphics.cpp +++ b/engines/mohawk/cstime_graphics.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/mohawk/cstime_graphics.h b/engines/mohawk/cstime_graphics.h index 5f034f47f4..35d5882bf0 100644 --- a/engines/mohawk/cstime_graphics.h +++ b/engines/mohawk/cstime_graphics.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/mohawk/cstime_ui.cpp b/engines/mohawk/cstime_ui.cpp index 6d5e5dd3ef..f3fe27a966 100644 --- a/engines/mohawk/cstime_ui.cpp +++ b/engines/mohawk/cstime_ui.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/mohawk/cstime_ui.h b/engines/mohawk/cstime_ui.h index 3154d4b2ef..47e03081d2 100644 --- a/engines/mohawk/cstime_ui.h +++ b/engines/mohawk/cstime_ui.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/mohawk/cstime_view.cpp b/engines/mohawk/cstime_view.cpp index 37c418f416..7879175bb0 100644 --- a/engines/mohawk/cstime_view.cpp +++ b/engines/mohawk/cstime_view.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/mohawk/cstime_view.h b/engines/mohawk/cstime_view.h index ae3283771d..0005d906f3 100644 --- a/engines/mohawk/cstime_view.h +++ b/engines/mohawk/cstime_view.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/mohawk/cursors.cpp b/engines/mohawk/cursors.cpp index f70efde5fb..f1baac02e2 100644 --- a/engines/mohawk/cursors.cpp +++ b/engines/mohawk/cursors.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/mohawk/cursors.h b/engines/mohawk/cursors.h index 7bfa491904..c41b5c273e 100644 --- a/engines/mohawk/cursors.h +++ b/engines/mohawk/cursors.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/mohawk/detection.cpp b/engines/mohawk/detection.cpp index ef07de0180..926c296257 100644 --- a/engines/mohawk/detection.cpp +++ b/engines/mohawk/detection.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/mohawk/detection_tables.h b/engines/mohawk/detection_tables.h index 3b925af5a9..8a9c0f70fa 100644 --- a/engines/mohawk/detection_tables.h +++ b/engines/mohawk/detection_tables.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/mohawk/dialogs.cpp b/engines/mohawk/dialogs.cpp index 5f5a3b3800..ffc455286f 100644 --- a/engines/mohawk/dialogs.cpp +++ b/engines/mohawk/dialogs.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/mohawk/dialogs.h b/engines/mohawk/dialogs.h index 844c01ad26..7470cd3acd 100644 --- a/engines/mohawk/dialogs.h +++ b/engines/mohawk/dialogs.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/mohawk/graphics.cpp b/engines/mohawk/graphics.cpp index 0f9a62c891..ea9b57ae17 100644 --- a/engines/mohawk/graphics.cpp +++ b/engines/mohawk/graphics.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/mohawk/graphics.h b/engines/mohawk/graphics.h index 51d25db5d9..5f9b523e9a 100644 --- a/engines/mohawk/graphics.h +++ b/engines/mohawk/graphics.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/mohawk/installer_archive.cpp b/engines/mohawk/installer_archive.cpp index 5af95f27e3..0abc930683 100644 --- a/engines/mohawk/installer_archive.cpp +++ b/engines/mohawk/installer_archive.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/mohawk/installer_archive.h b/engines/mohawk/installer_archive.h index 89d2d85f8d..c3212d7f7c 100644 --- a/engines/mohawk/installer_archive.h +++ b/engines/mohawk/installer_archive.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/mohawk/livingbooks.cpp b/engines/mohawk/livingbooks.cpp index 634ff441b6..998ef048f6 100644 --- a/engines/mohawk/livingbooks.cpp +++ b/engines/mohawk/livingbooks.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/mohawk/livingbooks.h b/engines/mohawk/livingbooks.h index 615fcd0e16..1a265a1a02 100644 --- a/engines/mohawk/livingbooks.h +++ b/engines/mohawk/livingbooks.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/mohawk/livingbooks_code.cpp b/engines/mohawk/livingbooks_code.cpp index c45efb2c39..6dcd8c3ce7 100644 --- a/engines/mohawk/livingbooks_code.cpp +++ b/engines/mohawk/livingbooks_code.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/mohawk/livingbooks_code.h b/engines/mohawk/livingbooks_code.h index c9d9ae06e6..080377ce99 100644 --- a/engines/mohawk/livingbooks_code.h +++ b/engines/mohawk/livingbooks_code.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/mohawk/livingbooks_graphics.cpp b/engines/mohawk/livingbooks_graphics.cpp index fb764fa15b..fae0c99f6e 100644 --- a/engines/mohawk/livingbooks_graphics.cpp +++ b/engines/mohawk/livingbooks_graphics.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/mohawk/livingbooks_graphics.h b/engines/mohawk/livingbooks_graphics.h index 3e2609750a..c76f92f641 100644 --- a/engines/mohawk/livingbooks_graphics.h +++ b/engines/mohawk/livingbooks_graphics.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/mohawk/livingbooks_lbx.cpp b/engines/mohawk/livingbooks_lbx.cpp index dcf8caa4a5..b5f62704a1 100644 --- a/engines/mohawk/livingbooks_lbx.cpp +++ b/engines/mohawk/livingbooks_lbx.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/mohawk/livingbooks_lbx.h b/engines/mohawk/livingbooks_lbx.h index 3cca0a8e82..f9457c1425 100644 --- a/engines/mohawk/livingbooks_lbx.h +++ b/engines/mohawk/livingbooks_lbx.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/mohawk/mohawk.cpp b/engines/mohawk/mohawk.cpp index cb419064c0..d740d9479a 100644 --- a/engines/mohawk/mohawk.cpp +++ b/engines/mohawk/mohawk.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/mohawk/mohawk.h b/engines/mohawk/mohawk.h index 2f0e570d56..6fa733e38e 100644 --- a/engines/mohawk/mohawk.h +++ b/engines/mohawk/mohawk.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/mohawk/myst.cpp b/engines/mohawk/myst.cpp index 975c6c2a21..7634e8d88a 100644 --- a/engines/mohawk/myst.cpp +++ b/engines/mohawk/myst.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/mohawk/myst.h b/engines/mohawk/myst.h index a268c19737..4d86642652 100644 --- a/engines/mohawk/myst.h +++ b/engines/mohawk/myst.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/mohawk/myst_areas.cpp b/engines/mohawk/myst_areas.cpp index 12a2c7f44c..4a3001774a 100644 --- a/engines/mohawk/myst_areas.cpp +++ b/engines/mohawk/myst_areas.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/mohawk/myst_areas.h b/engines/mohawk/myst_areas.h index 62af5ec4cf..97ec882497 100644 --- a/engines/mohawk/myst_areas.h +++ b/engines/mohawk/myst_areas.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/mohawk/myst_graphics.cpp b/engines/mohawk/myst_graphics.cpp index 6a292c66e2..6f7e8a8e84 100644 --- a/engines/mohawk/myst_graphics.cpp +++ b/engines/mohawk/myst_graphics.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/mohawk/myst_graphics.h b/engines/mohawk/myst_graphics.h index 4bbc8d5b8c..1f70320bf6 100644 --- a/engines/mohawk/myst_graphics.h +++ b/engines/mohawk/myst_graphics.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/mohawk/myst_scripts.cpp b/engines/mohawk/myst_scripts.cpp index c1b75df4cf..15d74a2253 100644 --- a/engines/mohawk/myst_scripts.cpp +++ b/engines/mohawk/myst_scripts.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/mohawk/myst_scripts.h b/engines/mohawk/myst_scripts.h index b75da0801a..7d8165c762 100644 --- a/engines/mohawk/myst_scripts.h +++ b/engines/mohawk/myst_scripts.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/mohawk/myst_stacks/channelwood.cpp b/engines/mohawk/myst_stacks/channelwood.cpp index 63ba5f7c85..2dd5745550 100644 --- a/engines/mohawk/myst_stacks/channelwood.cpp +++ b/engines/mohawk/myst_stacks/channelwood.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/mohawk/myst_stacks/channelwood.h b/engines/mohawk/myst_stacks/channelwood.h index a3ea406003..bd5d7ffe94 100644 --- a/engines/mohawk/myst_stacks/channelwood.h +++ b/engines/mohawk/myst_stacks/channelwood.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/mohawk/myst_stacks/credits.cpp b/engines/mohawk/myst_stacks/credits.cpp index 192e55d5e3..b9ff8b26aa 100644 --- a/engines/mohawk/myst_stacks/credits.cpp +++ b/engines/mohawk/myst_stacks/credits.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/mohawk/myst_stacks/credits.h b/engines/mohawk/myst_stacks/credits.h index a1f8b0a7d8..3c0f969203 100644 --- a/engines/mohawk/myst_stacks/credits.h +++ b/engines/mohawk/myst_stacks/credits.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/mohawk/myst_stacks/demo.cpp b/engines/mohawk/myst_stacks/demo.cpp index 9f393ea401..848736e37c 100644 --- a/engines/mohawk/myst_stacks/demo.cpp +++ b/engines/mohawk/myst_stacks/demo.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/mohawk/myst_stacks/demo.h b/engines/mohawk/myst_stacks/demo.h index c3e57cf7ae..f19b9a6c2c 100644 --- a/engines/mohawk/myst_stacks/demo.h +++ b/engines/mohawk/myst_stacks/demo.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/mohawk/myst_stacks/dni.cpp b/engines/mohawk/myst_stacks/dni.cpp index d103105c2d..3eb3c40cbb 100644 --- a/engines/mohawk/myst_stacks/dni.cpp +++ b/engines/mohawk/myst_stacks/dni.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/mohawk/myst_stacks/dni.h b/engines/mohawk/myst_stacks/dni.h index 7f04287082..3dc4645bd3 100644 --- a/engines/mohawk/myst_stacks/dni.h +++ b/engines/mohawk/myst_stacks/dni.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/mohawk/myst_stacks/intro.cpp b/engines/mohawk/myst_stacks/intro.cpp index 71733227ac..2a33379198 100644 --- a/engines/mohawk/myst_stacks/intro.cpp +++ b/engines/mohawk/myst_stacks/intro.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/mohawk/myst_stacks/intro.h b/engines/mohawk/myst_stacks/intro.h index 9fe3920e53..a6c4a594d2 100644 --- a/engines/mohawk/myst_stacks/intro.h +++ b/engines/mohawk/myst_stacks/intro.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/mohawk/myst_stacks/makingof.cpp b/engines/mohawk/myst_stacks/makingof.cpp index b5ad647381..1059fd0c5e 100644 --- a/engines/mohawk/myst_stacks/makingof.cpp +++ b/engines/mohawk/myst_stacks/makingof.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/mohawk/myst_stacks/makingof.h b/engines/mohawk/myst_stacks/makingof.h index d4bc0fd9f2..79ef913bcf 100644 --- a/engines/mohawk/myst_stacks/makingof.h +++ b/engines/mohawk/myst_stacks/makingof.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/mohawk/myst_stacks/mechanical.cpp b/engines/mohawk/myst_stacks/mechanical.cpp index 43e9bcfed5..3181b78ae1 100644 --- a/engines/mohawk/myst_stacks/mechanical.cpp +++ b/engines/mohawk/myst_stacks/mechanical.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/mohawk/myst_stacks/mechanical.h b/engines/mohawk/myst_stacks/mechanical.h index 7f3d5143e4..6360b2be2d 100644 --- a/engines/mohawk/myst_stacks/mechanical.h +++ b/engines/mohawk/myst_stacks/mechanical.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/mohawk/myst_stacks/myst.cpp b/engines/mohawk/myst_stacks/myst.cpp index dc5f433ce7..c500df5ad3 100644 --- a/engines/mohawk/myst_stacks/myst.cpp +++ b/engines/mohawk/myst_stacks/myst.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/mohawk/myst_stacks/myst.h b/engines/mohawk/myst_stacks/myst.h index de88843d59..a83609f640 100644 --- a/engines/mohawk/myst_stacks/myst.h +++ b/engines/mohawk/myst_stacks/myst.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/mohawk/myst_stacks/preview.cpp b/engines/mohawk/myst_stacks/preview.cpp index 75e870281e..4cae4aaca7 100644 --- a/engines/mohawk/myst_stacks/preview.cpp +++ b/engines/mohawk/myst_stacks/preview.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/mohawk/myst_stacks/preview.h b/engines/mohawk/myst_stacks/preview.h index 706220e8ed..0959e935f5 100644 --- a/engines/mohawk/myst_stacks/preview.h +++ b/engines/mohawk/myst_stacks/preview.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/mohawk/myst_stacks/selenitic.cpp b/engines/mohawk/myst_stacks/selenitic.cpp index a941b14eaa..8b95c7fa53 100644 --- a/engines/mohawk/myst_stacks/selenitic.cpp +++ b/engines/mohawk/myst_stacks/selenitic.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/mohawk/myst_stacks/selenitic.h b/engines/mohawk/myst_stacks/selenitic.h index d314c4d810..c669d01012 100644 --- a/engines/mohawk/myst_stacks/selenitic.h +++ b/engines/mohawk/myst_stacks/selenitic.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/mohawk/myst_stacks/slides.cpp b/engines/mohawk/myst_stacks/slides.cpp index 720926904a..a1413f0d71 100644 --- a/engines/mohawk/myst_stacks/slides.cpp +++ b/engines/mohawk/myst_stacks/slides.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/mohawk/myst_stacks/slides.h b/engines/mohawk/myst_stacks/slides.h index 9fb76728b6..fb7868a03c 100644 --- a/engines/mohawk/myst_stacks/slides.h +++ b/engines/mohawk/myst_stacks/slides.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/mohawk/myst_stacks/stoneship.cpp b/engines/mohawk/myst_stacks/stoneship.cpp index 1359685302..710c36ac8d 100644 --- a/engines/mohawk/myst_stacks/stoneship.cpp +++ b/engines/mohawk/myst_stacks/stoneship.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/mohawk/myst_stacks/stoneship.h b/engines/mohawk/myst_stacks/stoneship.h index 4125412b4d..4e1b42f26b 100644 --- a/engines/mohawk/myst_stacks/stoneship.h +++ b/engines/mohawk/myst_stacks/stoneship.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/mohawk/myst_state.cpp b/engines/mohawk/myst_state.cpp index 3a8d233a26..d07aa9d5ec 100644 --- a/engines/mohawk/myst_state.cpp +++ b/engines/mohawk/myst_state.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/mohawk/myst_state.h b/engines/mohawk/myst_state.h index c7a6c0b4ac..b07a0f2469 100644 --- a/engines/mohawk/myst_state.h +++ b/engines/mohawk/myst_state.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/mohawk/resource.cpp b/engines/mohawk/resource.cpp index d7e829118a..4a4b78e391 100644 --- a/engines/mohawk/resource.cpp +++ b/engines/mohawk/resource.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/mohawk/resource.h b/engines/mohawk/resource.h index f2ead7af65..d9074a5b73 100644 --- a/engines/mohawk/resource.h +++ b/engines/mohawk/resource.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/mohawk/resource_cache.cpp b/engines/mohawk/resource_cache.cpp index e73d8c43d3..0c19934278 100644 --- a/engines/mohawk/resource_cache.cpp +++ b/engines/mohawk/resource_cache.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/mohawk/resource_cache.h b/engines/mohawk/resource_cache.h index b7eac9ebd7..b3c5bf7bb9 100644 --- a/engines/mohawk/resource_cache.h +++ b/engines/mohawk/resource_cache.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/mohawk/riven.cpp b/engines/mohawk/riven.cpp index 71aa371073..e1059bebaa 100644 --- a/engines/mohawk/riven.cpp +++ b/engines/mohawk/riven.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/mohawk/riven.h b/engines/mohawk/riven.h index 961d85d61a..c22b9f7f87 100644 --- a/engines/mohawk/riven.h +++ b/engines/mohawk/riven.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/mohawk/riven_external.cpp b/engines/mohawk/riven_external.cpp index 384e89a4cf..10dcfd9fa7 100644 --- a/engines/mohawk/riven_external.cpp +++ b/engines/mohawk/riven_external.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/mohawk/riven_external.h b/engines/mohawk/riven_external.h index 9f076325a2..58dfde1a00 100644 --- a/engines/mohawk/riven_external.h +++ b/engines/mohawk/riven_external.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/mohawk/riven_graphics.cpp b/engines/mohawk/riven_graphics.cpp index cd15960b85..615b2fdadb 100644 --- a/engines/mohawk/riven_graphics.cpp +++ b/engines/mohawk/riven_graphics.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/mohawk/riven_graphics.h b/engines/mohawk/riven_graphics.h index 48dda28afd..577e5e6911 100644 --- a/engines/mohawk/riven_graphics.h +++ b/engines/mohawk/riven_graphics.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/mohawk/riven_saveload.cpp b/engines/mohawk/riven_saveload.cpp index f5bf7782d4..d97d0e174b 100644 --- a/engines/mohawk/riven_saveload.cpp +++ b/engines/mohawk/riven_saveload.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/mohawk/riven_saveload.h b/engines/mohawk/riven_saveload.h index 37b73c26c6..a6ddce5713 100644 --- a/engines/mohawk/riven_saveload.h +++ b/engines/mohawk/riven_saveload.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/mohawk/riven_scripts.cpp b/engines/mohawk/riven_scripts.cpp index 352a018990..06b6afdf30 100644 --- a/engines/mohawk/riven_scripts.cpp +++ b/engines/mohawk/riven_scripts.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/mohawk/riven_scripts.h b/engines/mohawk/riven_scripts.h index 6df4a2e523..b669cd5081 100644 --- a/engines/mohawk/riven_scripts.h +++ b/engines/mohawk/riven_scripts.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/mohawk/riven_vars.cpp b/engines/mohawk/riven_vars.cpp index 8ddb76eec9..1cd748d8d6 100644 --- a/engines/mohawk/riven_vars.cpp +++ b/engines/mohawk/riven_vars.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/mohawk/sound.cpp b/engines/mohawk/sound.cpp index f92bebf10e..6f18d7178e 100644 --- a/engines/mohawk/sound.cpp +++ b/engines/mohawk/sound.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/mohawk/sound.h b/engines/mohawk/sound.h index 12a59cdedf..49f6751072 100644 --- a/engines/mohawk/sound.h +++ b/engines/mohawk/sound.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/mohawk/video.cpp b/engines/mohawk/video.cpp index b7e06a2b9f..a2c18718b7 100644 --- a/engines/mohawk/video.cpp +++ b/engines/mohawk/video.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/mohawk/video.h b/engines/mohawk/video.h index 2c4c827aa8..bd9a180849 100644 --- a/engines/mohawk/video.h +++ b/engines/mohawk/video.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/mohawk/view.cpp b/engines/mohawk/view.cpp index 719c288af5..1aaf32ea78 100644 --- a/engines/mohawk/view.cpp +++ b/engines/mohawk/view.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/mohawk/view.h b/engines/mohawk/view.h index 06ffe605a3..47853f056f 100644 --- a/engines/mohawk/view.h +++ b/engines/mohawk/view.h @@ -8,12 +8,12 @@ * 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. -- cgit v1.2.3 From 9da7d86952527c327ea3478bc2a8d3697fe85448 Mon Sep 17 00:00:00 2001 From: Johannes Schickel Date: Tue, 18 Feb 2014 02:34:22 +0100 Subject: MORTEVIELLE: Make GPL headers consistent in themselves. --- engines/mortevielle/actions.cpp | 6 +++--- engines/mortevielle/debugger.cpp | 6 +++--- engines/mortevielle/debugger.h | 6 +++--- engines/mortevielle/detection.cpp | 6 +++--- engines/mortevielle/detection_tables.h | 4 ++-- engines/mortevielle/dialogs.cpp | 6 +++--- engines/mortevielle/dialogs.h | 6 +++--- engines/mortevielle/graphics.cpp | 6 +++--- engines/mortevielle/graphics.h | 6 +++--- engines/mortevielle/menu.cpp | 12 ++++++------ engines/mortevielle/menu.h | 6 +++--- engines/mortevielle/mortevielle.cpp | 6 +++--- engines/mortevielle/mortevielle.h | 6 +++--- engines/mortevielle/mouse.cpp | 6 +++--- engines/mortevielle/mouse.h | 6 +++--- engines/mortevielle/outtext.cpp | 6 +++--- engines/mortevielle/outtext.h | 6 +++--- engines/mortevielle/saveload.cpp | 6 +++--- engines/mortevielle/saveload.h | 6 +++--- engines/mortevielle/sound.cpp | 6 +++--- engines/mortevielle/sound.h | 6 +++--- engines/mortevielle/utils.cpp | 6 +++--- 22 files changed, 68 insertions(+), 68 deletions(-) diff --git a/engines/mortevielle/actions.cpp b/engines/mortevielle/actions.cpp index e13220d248..556475d515 100644 --- a/engines/mortevielle/actions.cpp +++ b/engines/mortevielle/actions.cpp @@ -8,12 +8,12 @@ * 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 + * 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. diff --git a/engines/mortevielle/debugger.cpp b/engines/mortevielle/debugger.cpp index 4b39462cde..c8f75918ab 100644 --- a/engines/mortevielle/debugger.cpp +++ b/engines/mortevielle/debugger.cpp @@ -8,12 +8,12 @@ * 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 + * 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. diff --git a/engines/mortevielle/debugger.h b/engines/mortevielle/debugger.h index 6e1006681c..66f5afef9d 100644 --- a/engines/mortevielle/debugger.h +++ b/engines/mortevielle/debugger.h @@ -8,12 +8,12 @@ * 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 + * 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. diff --git a/engines/mortevielle/detection.cpp b/engines/mortevielle/detection.cpp index ee9cb40c99..b6c27e6b12 100644 --- a/engines/mortevielle/detection.cpp +++ b/engines/mortevielle/detection.cpp @@ -8,12 +8,12 @@ * 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 + * 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. diff --git a/engines/mortevielle/detection_tables.h b/engines/mortevielle/detection_tables.h index 8d0cd5630c..3e1e5aaefe 100644 --- a/engines/mortevielle/detection_tables.h +++ b/engines/mortevielle/detection_tables.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/mortevielle/dialogs.cpp b/engines/mortevielle/dialogs.cpp index 1ab2af7008..89098fabe5 100644 --- a/engines/mortevielle/dialogs.cpp +++ b/engines/mortevielle/dialogs.cpp @@ -8,12 +8,12 @@ * 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 + * 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. diff --git a/engines/mortevielle/dialogs.h b/engines/mortevielle/dialogs.h index 03dfc78023..abd8ee2493 100644 --- a/engines/mortevielle/dialogs.h +++ b/engines/mortevielle/dialogs.h @@ -8,12 +8,12 @@ * 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 + * 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. diff --git a/engines/mortevielle/graphics.cpp b/engines/mortevielle/graphics.cpp index 18b0e7f1c1..553c1a759e 100644 --- a/engines/mortevielle/graphics.cpp +++ b/engines/mortevielle/graphics.cpp @@ -8,12 +8,12 @@ * 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 + * 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. diff --git a/engines/mortevielle/graphics.h b/engines/mortevielle/graphics.h index 7f0d4823cb..d29d9b2d8d 100644 --- a/engines/mortevielle/graphics.h +++ b/engines/mortevielle/graphics.h @@ -8,12 +8,12 @@ * 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 + * 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. diff --git a/engines/mortevielle/menu.cpp b/engines/mortevielle/menu.cpp index 05d33a26da..c0b81b252a 100644 --- a/engines/mortevielle/menu.cpp +++ b/engines/mortevielle/menu.cpp @@ -2,18 +2,18 @@ * * 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. + * file distributed with this source distribution. * - * This program is free software; you can re_distribute it and/or + * 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, + * + * 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 + * 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. diff --git a/engines/mortevielle/menu.h b/engines/mortevielle/menu.h index d8a3b4d0d6..b3695fef28 100644 --- a/engines/mortevielle/menu.h +++ b/engines/mortevielle/menu.h @@ -8,12 +8,12 @@ * 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 + * 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. diff --git a/engines/mortevielle/mortevielle.cpp b/engines/mortevielle/mortevielle.cpp index 49876f1bf2..90d366ed7e 100644 --- a/engines/mortevielle/mortevielle.cpp +++ b/engines/mortevielle/mortevielle.cpp @@ -8,12 +8,12 @@ * 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 + * 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. diff --git a/engines/mortevielle/mortevielle.h b/engines/mortevielle/mortevielle.h index 7a673f42f9..c3d1e4ae8b 100644 --- a/engines/mortevielle/mortevielle.h +++ b/engines/mortevielle/mortevielle.h @@ -8,12 +8,12 @@ * 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 + * 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. diff --git a/engines/mortevielle/mouse.cpp b/engines/mortevielle/mouse.cpp index d71934ad1a..8f96ba3ef5 100644 --- a/engines/mortevielle/mouse.cpp +++ b/engines/mortevielle/mouse.cpp @@ -8,12 +8,12 @@ * 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 + * 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. diff --git a/engines/mortevielle/mouse.h b/engines/mortevielle/mouse.h index 81c02dc8bd..0f28d50131 100644 --- a/engines/mortevielle/mouse.h +++ b/engines/mortevielle/mouse.h @@ -8,12 +8,12 @@ * 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 + * 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. diff --git a/engines/mortevielle/outtext.cpp b/engines/mortevielle/outtext.cpp index 850186d706..6a479c0859 100644 --- a/engines/mortevielle/outtext.cpp +++ b/engines/mortevielle/outtext.cpp @@ -8,12 +8,12 @@ * 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 + * 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. diff --git a/engines/mortevielle/outtext.h b/engines/mortevielle/outtext.h index 397ca850dd..515bc9ece0 100644 --- a/engines/mortevielle/outtext.h +++ b/engines/mortevielle/outtext.h @@ -8,12 +8,12 @@ * 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 + * 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. diff --git a/engines/mortevielle/saveload.cpp b/engines/mortevielle/saveload.cpp index 42cd7cc4da..9f46940e1f 100644 --- a/engines/mortevielle/saveload.cpp +++ b/engines/mortevielle/saveload.cpp @@ -8,12 +8,12 @@ * 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 + * 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. diff --git a/engines/mortevielle/saveload.h b/engines/mortevielle/saveload.h index 9c21b0c294..a0de05b920 100644 --- a/engines/mortevielle/saveload.h +++ b/engines/mortevielle/saveload.h @@ -8,12 +8,12 @@ * 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 + * 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. diff --git a/engines/mortevielle/sound.cpp b/engines/mortevielle/sound.cpp index 8cd4e62e4f..23ca9d89b4 100644 --- a/engines/mortevielle/sound.cpp +++ b/engines/mortevielle/sound.cpp @@ -8,12 +8,12 @@ * 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 + * 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. diff --git a/engines/mortevielle/sound.h b/engines/mortevielle/sound.h index 5321c8946c..d913684935 100644 --- a/engines/mortevielle/sound.h +++ b/engines/mortevielle/sound.h @@ -8,12 +8,12 @@ * 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 + * 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. diff --git a/engines/mortevielle/utils.cpp b/engines/mortevielle/utils.cpp index d24585a677..d5dec6a286 100644 --- a/engines/mortevielle/utils.cpp +++ b/engines/mortevielle/utils.cpp @@ -8,12 +8,12 @@ * 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 + * 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. -- cgit v1.2.3 From 0960c546189b242bfa7179e88acefe50134d09e0 Mon Sep 17 00:00:00 2001 From: Johannes Schickel Date: Tue, 18 Feb 2014 02:34:22 +0100 Subject: N64: Make GPL headers consistent in themselves. --- backends/fs/n64/n64-fs-factory.cpp | 1 + backends/fs/n64/n64-fs-factory.h | 1 + backends/fs/n64/n64-fs.h | 1 + backends/fs/n64/romfsstream.cpp | 4 ++-- backends/fs/n64/romfsstream.h | 4 ++-- backends/platform/n64/framfs_save_manager.cpp | 4 ++-- backends/platform/n64/framfs_save_manager.h | 4 ++-- backends/platform/n64/nintendo64.cpp | 4 ++-- backends/platform/n64/osys_n64.h | 4 ++-- backends/platform/n64/osys_n64_base.cpp | 4 ++-- backends/platform/n64/osys_n64_events.cpp | 4 ++-- backends/platform/n64/osys_n64_utilities.cpp | 4 ++-- backends/platform/n64/pakfs_save_manager.cpp | 4 ++-- backends/platform/n64/pakfs_save_manager.h | 4 ++-- backends/platform/n64/portdefs.h | 4 ++-- 15 files changed, 27 insertions(+), 24 deletions(-) diff --git a/backends/fs/n64/n64-fs-factory.cpp b/backends/fs/n64/n64-fs-factory.cpp index 5c588c5eb5..e662d6fd9b 100644 --- a/backends/fs/n64/n64-fs-factory.cpp +++ b/backends/fs/n64/n64-fs-factory.cpp @@ -17,6 +17,7 @@ * 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. + * */ #ifdef __N64__ diff --git a/backends/fs/n64/n64-fs-factory.h b/backends/fs/n64/n64-fs-factory.h index 5dec7c7eab..0a6ac8f41e 100644 --- a/backends/fs/n64/n64-fs-factory.h +++ b/backends/fs/n64/n64-fs-factory.h @@ -17,6 +17,7 @@ * 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. + * */ #ifndef N64_FILESYSTEM_FACTORY_H diff --git a/backends/fs/n64/n64-fs.h b/backends/fs/n64/n64-fs.h index d177cae9b4..d503a6601e 100644 --- a/backends/fs/n64/n64-fs.h +++ b/backends/fs/n64/n64-fs.h @@ -17,6 +17,7 @@ * 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. + * */ #ifndef N64_FILESYSTEM_H diff --git a/backends/fs/n64/romfsstream.cpp b/backends/fs/n64/romfsstream.cpp index 570f25932d..8661f8e9ab 100644 --- a/backends/fs/n64/romfsstream.cpp +++ b/backends/fs/n64/romfsstream.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/backends/fs/n64/romfsstream.h b/backends/fs/n64/romfsstream.h index b0f27db13e..7c64bce3f3 100644 --- a/backends/fs/n64/romfsstream.h +++ b/backends/fs/n64/romfsstream.h @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/n64/framfs_save_manager.cpp b/backends/platform/n64/framfs_save_manager.cpp index 78f5333f2e..de645223e9 100644 --- a/backends/platform/n64/framfs_save_manager.cpp +++ b/backends/platform/n64/framfs_save_manager.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/n64/framfs_save_manager.h b/backends/platform/n64/framfs_save_manager.h index 0a88c8666b..a066854aab 100644 --- a/backends/platform/n64/framfs_save_manager.h +++ b/backends/platform/n64/framfs_save_manager.h @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/n64/nintendo64.cpp b/backends/platform/n64/nintendo64.cpp index bc416157e6..a3e8c016f4 100644 --- a/backends/platform/n64/nintendo64.cpp +++ b/backends/platform/n64/nintendo64.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/n64/osys_n64.h b/backends/platform/n64/osys_n64.h index 10138b230a..ad49c2981f 100644 --- a/backends/platform/n64/osys_n64.h +++ b/backends/platform/n64/osys_n64.h @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/n64/osys_n64_base.cpp b/backends/platform/n64/osys_n64_base.cpp index 36e5085764..16eeae5b7e 100644 --- a/backends/platform/n64/osys_n64_base.cpp +++ b/backends/platform/n64/osys_n64_base.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/n64/osys_n64_events.cpp b/backends/platform/n64/osys_n64_events.cpp index c83eb194ac..2aa228cab0 100644 --- a/backends/platform/n64/osys_n64_events.cpp +++ b/backends/platform/n64/osys_n64_events.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/n64/osys_n64_utilities.cpp b/backends/platform/n64/osys_n64_utilities.cpp index f007a1bd25..b3b6d50667 100644 --- a/backends/platform/n64/osys_n64_utilities.cpp +++ b/backends/platform/n64/osys_n64_utilities.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/n64/pakfs_save_manager.cpp b/backends/platform/n64/pakfs_save_manager.cpp index bf2fe8b1bc..5a83dab9d8 100644 --- a/backends/platform/n64/pakfs_save_manager.cpp +++ b/backends/platform/n64/pakfs_save_manager.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/n64/pakfs_save_manager.h b/backends/platform/n64/pakfs_save_manager.h index 6e67fb0f5f..ec66c80b73 100644 --- a/backends/platform/n64/pakfs_save_manager.h +++ b/backends/platform/n64/pakfs_save_manager.h @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/n64/portdefs.h b/backends/platform/n64/portdefs.h index 10f5ed6488..63ec989a8d 100644 --- a/backends/platform/n64/portdefs.h +++ b/backends/platform/n64/portdefs.h @@ -8,12 +8,12 @@ * 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. -- cgit v1.2.3 From 6563171e7b7f373dde50b64da318c14c8207df32 Mon Sep 17 00:00:00 2001 From: Johannes Schickel Date: Tue, 18 Feb 2014 02:34:22 +0100 Subject: NEVERHOOD: Make GPL headers consisten in themselves. --- engines/neverhood/background.cpp | 4 ++-- engines/neverhood/background.h | 4 ++-- engines/neverhood/blbarchive.cpp | 4 ++-- engines/neverhood/blbarchive.h | 4 ++-- engines/neverhood/console.cpp | 4 ++-- engines/neverhood/console.h | 4 ++-- engines/neverhood/detection.cpp | 4 ++-- engines/neverhood/diskplayerscene.cpp | 4 ++-- engines/neverhood/diskplayerscene.h | 4 ++-- engines/neverhood/entity.cpp | 4 ++-- engines/neverhood/entity.h | 4 ++-- engines/neverhood/gamemodule.cpp | 4 ++-- engines/neverhood/gamemodule.h | 4 ++-- engines/neverhood/gamevars.cpp | 4 ++-- engines/neverhood/gamevars.h | 4 ++-- engines/neverhood/graphics.cpp | 4 ++-- engines/neverhood/graphics.h | 4 ++-- engines/neverhood/klaymen.cpp | 4 ++-- engines/neverhood/klaymen.h | 4 ++-- engines/neverhood/menumodule.cpp | 4 ++-- engines/neverhood/menumodule.h | 4 ++-- engines/neverhood/messages.h | 4 ++-- engines/neverhood/microtiles.cpp | 5 ++--- engines/neverhood/microtiles.h | 5 ++--- engines/neverhood/module.cpp | 4 ++-- engines/neverhood/module.h | 4 ++-- engines/neverhood/modules/module1000.cpp | 4 ++-- engines/neverhood/modules/module1000.h | 4 ++-- engines/neverhood/modules/module1000_sprites.cpp | 4 ++-- engines/neverhood/modules/module1000_sprites.h | 4 ++-- engines/neverhood/modules/module1100.cpp | 4 ++-- engines/neverhood/modules/module1100.h | 4 ++-- engines/neverhood/modules/module1100_sprites.cpp | 4 ++-- engines/neverhood/modules/module1100_sprites.h | 4 ++-- engines/neverhood/modules/module1200.cpp | 4 ++-- engines/neverhood/modules/module1200.h | 4 ++-- engines/neverhood/modules/module1200_sprites.cpp | 4 ++-- engines/neverhood/modules/module1200_sprites.h | 4 ++-- engines/neverhood/modules/module1300.cpp | 4 ++-- engines/neverhood/modules/module1300.h | 4 ++-- engines/neverhood/modules/module1300_sprites.cpp | 4 ++-- engines/neverhood/modules/module1300_sprites.h | 4 ++-- engines/neverhood/modules/module1400.cpp | 4 ++-- engines/neverhood/modules/module1400.h | 4 ++-- engines/neverhood/modules/module1400_sprites.cpp | 4 ++-- engines/neverhood/modules/module1400_sprites.h | 4 ++-- engines/neverhood/modules/module1500.cpp | 4 ++-- engines/neverhood/modules/module1500.h | 4 ++-- engines/neverhood/modules/module1600.cpp | 4 ++-- engines/neverhood/modules/module1600.h | 4 ++-- engines/neverhood/modules/module1600_sprites.cpp | 4 ++-- engines/neverhood/modules/module1600_sprites.h | 4 ++-- engines/neverhood/modules/module1700.cpp | 4 ++-- engines/neverhood/modules/module1700.h | 4 ++-- engines/neverhood/modules/module1700_sprites.cpp | 4 ++-- engines/neverhood/modules/module1700_sprites.h | 4 ++-- engines/neverhood/modules/module1800.cpp | 4 ++-- engines/neverhood/modules/module1800.h | 4 ++-- engines/neverhood/modules/module1900.cpp | 4 ++-- engines/neverhood/modules/module1900.h | 4 ++-- engines/neverhood/modules/module1900_sprites.cpp | 4 ++-- engines/neverhood/modules/module1900_sprites.h | 4 ++-- engines/neverhood/modules/module2000.cpp | 4 ++-- engines/neverhood/modules/module2000.h | 4 ++-- engines/neverhood/modules/module2000_sprites.cpp | 4 ++-- engines/neverhood/modules/module2000_sprites.h | 4 ++-- engines/neverhood/modules/module2100.cpp | 4 ++-- engines/neverhood/modules/module2100.h | 4 ++-- engines/neverhood/modules/module2100_sprites.cpp | 4 ++-- engines/neverhood/modules/module2100_sprites.h | 4 ++-- engines/neverhood/modules/module2200.cpp | 4 ++-- engines/neverhood/modules/module2200.h | 4 ++-- engines/neverhood/modules/module2200_sprites.cpp | 4 ++-- engines/neverhood/modules/module2200_sprites.h | 4 ++-- engines/neverhood/modules/module2300.cpp | 4 ++-- engines/neverhood/modules/module2300.h | 4 ++-- engines/neverhood/modules/module2400.cpp | 4 ++-- engines/neverhood/modules/module2400.h | 4 ++-- engines/neverhood/modules/module2400_sprites.cpp | 4 ++-- engines/neverhood/modules/module2400_sprites.h | 4 ++-- engines/neverhood/modules/module2500.cpp | 4 ++-- engines/neverhood/modules/module2500.h | 4 ++-- engines/neverhood/modules/module2500_sprites.cpp | 4 ++-- engines/neverhood/modules/module2500_sprites.h | 4 ++-- engines/neverhood/modules/module2600.cpp | 4 ++-- engines/neverhood/modules/module2600.h | 4 ++-- engines/neverhood/modules/module2600_sprites.cpp | 4 ++-- engines/neverhood/modules/module2600_sprites.h | 4 ++-- engines/neverhood/modules/module2700.cpp | 4 ++-- engines/neverhood/modules/module2700.h | 4 ++-- engines/neverhood/modules/module2700_sprites.cpp | 4 ++-- engines/neverhood/modules/module2700_sprites.h | 4 ++-- engines/neverhood/modules/module2800.cpp | 4 ++-- engines/neverhood/modules/module2800.h | 4 ++-- engines/neverhood/modules/module2800_sprites.cpp | 4 ++-- engines/neverhood/modules/module2800_sprites.h | 4 ++-- engines/neverhood/modules/module2900.cpp | 4 ++-- engines/neverhood/modules/module2900.h | 4 ++-- engines/neverhood/modules/module2900_sprites.cpp | 4 ++-- engines/neverhood/modules/module2900_sprites.h | 4 ++-- engines/neverhood/modules/module3000.cpp | 4 ++-- engines/neverhood/modules/module3000.h | 4 ++-- engines/neverhood/modules/module3000_sprites.cpp | 4 ++-- engines/neverhood/modules/module3000_sprites.h | 4 ++-- engines/neverhood/mouse.cpp | 4 ++-- engines/neverhood/mouse.h | 4 ++-- engines/neverhood/navigationscene.cpp | 4 ++-- engines/neverhood/navigationscene.h | 4 ++-- engines/neverhood/neverhood.cpp | 4 ++-- engines/neverhood/neverhood.h | 4 ++-- engines/neverhood/palette.cpp | 4 ++-- engines/neverhood/palette.h | 4 ++-- engines/neverhood/resource.cpp | 4 ++-- engines/neverhood/resource.h | 4 ++-- engines/neverhood/resourceman.cpp | 4 ++-- engines/neverhood/resourceman.h | 4 ++-- engines/neverhood/saveload.cpp | 5 ++--- engines/neverhood/scene.cpp | 4 ++-- engines/neverhood/scene.h | 4 ++-- engines/neverhood/screen.cpp | 4 ++-- engines/neverhood/screen.h | 4 ++-- engines/neverhood/smackerplayer.cpp | 4 ++-- engines/neverhood/smackerplayer.h | 4 ++-- engines/neverhood/smackerscene.cpp | 4 ++-- engines/neverhood/smackerscene.h | 4 ++-- engines/neverhood/sound.cpp | 4 ++-- engines/neverhood/sound.h | 4 ++-- engines/neverhood/sprite.cpp | 4 ++-- engines/neverhood/sprite.h | 4 ++-- engines/neverhood/staticdata.cpp | 4 ++-- engines/neverhood/staticdata.h | 4 ++-- 131 files changed, 262 insertions(+), 265 deletions(-) diff --git a/engines/neverhood/background.cpp b/engines/neverhood/background.cpp index d6a9900d38..77c1e057a6 100644 --- a/engines/neverhood/background.cpp +++ b/engines/neverhood/background.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/neverhood/background.h b/engines/neverhood/background.h index ef88be21c0..d4ba20c8e5 100644 --- a/engines/neverhood/background.h +++ b/engines/neverhood/background.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/neverhood/blbarchive.cpp b/engines/neverhood/blbarchive.cpp index c743037e63..d1d8cf1aa2 100644 --- a/engines/neverhood/blbarchive.cpp +++ b/engines/neverhood/blbarchive.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/neverhood/blbarchive.h b/engines/neverhood/blbarchive.h index 620b12b8ac..25e816ddcd 100644 --- a/engines/neverhood/blbarchive.h +++ b/engines/neverhood/blbarchive.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/neverhood/console.cpp b/engines/neverhood/console.cpp index 34438d821f..a4d1366880 100644 --- a/engines/neverhood/console.cpp +++ b/engines/neverhood/console.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/neverhood/console.h b/engines/neverhood/console.h index 70260a96af..bf1b201270 100644 --- a/engines/neverhood/console.h +++ b/engines/neverhood/console.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/neverhood/detection.cpp b/engines/neverhood/detection.cpp index feba193609..57580395bf 100644 --- a/engines/neverhood/detection.cpp +++ b/engines/neverhood/detection.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/neverhood/diskplayerscene.cpp b/engines/neverhood/diskplayerscene.cpp index 7513034bf3..96a935851c 100644 --- a/engines/neverhood/diskplayerscene.cpp +++ b/engines/neverhood/diskplayerscene.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/neverhood/diskplayerscene.h b/engines/neverhood/diskplayerscene.h index 150d5c58ed..2ae85b9a0b 100644 --- a/engines/neverhood/diskplayerscene.h +++ b/engines/neverhood/diskplayerscene.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/neverhood/entity.cpp b/engines/neverhood/entity.cpp index 1ebf1dcf6c..68390051f5 100644 --- a/engines/neverhood/entity.cpp +++ b/engines/neverhood/entity.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/neverhood/entity.h b/engines/neverhood/entity.h index 5c29bf8a4f..4edb19239d 100644 --- a/engines/neverhood/entity.h +++ b/engines/neverhood/entity.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/neverhood/gamemodule.cpp b/engines/neverhood/gamemodule.cpp index 5e9981caa6..12ae66658c 100644 --- a/engines/neverhood/gamemodule.cpp +++ b/engines/neverhood/gamemodule.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/neverhood/gamemodule.h b/engines/neverhood/gamemodule.h index 198f8f6715..b8f7276773 100644 --- a/engines/neverhood/gamemodule.h +++ b/engines/neverhood/gamemodule.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/neverhood/gamevars.cpp b/engines/neverhood/gamevars.cpp index 9c080fea24..72b688c194 100644 --- a/engines/neverhood/gamevars.cpp +++ b/engines/neverhood/gamevars.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/neverhood/gamevars.h b/engines/neverhood/gamevars.h index 3aec4d1da4..9bb49ebf5b 100644 --- a/engines/neverhood/gamevars.h +++ b/engines/neverhood/gamevars.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/neverhood/graphics.cpp b/engines/neverhood/graphics.cpp index e976844c16..3d1724ed8a 100644 --- a/engines/neverhood/graphics.cpp +++ b/engines/neverhood/graphics.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/neverhood/graphics.h b/engines/neverhood/graphics.h index b80bd60729..12fb2d2215 100644 --- a/engines/neverhood/graphics.h +++ b/engines/neverhood/graphics.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/neverhood/klaymen.cpp b/engines/neverhood/klaymen.cpp index a813440f62..de940bda79 100644 --- a/engines/neverhood/klaymen.cpp +++ b/engines/neverhood/klaymen.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/neverhood/klaymen.h b/engines/neverhood/klaymen.h index a614560fc0..6c25d5b4de 100644 --- a/engines/neverhood/klaymen.h +++ b/engines/neverhood/klaymen.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/neverhood/menumodule.cpp b/engines/neverhood/menumodule.cpp index b332418cf5..255d04dc86 100644 --- a/engines/neverhood/menumodule.cpp +++ b/engines/neverhood/menumodule.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/neverhood/menumodule.h b/engines/neverhood/menumodule.h index 9da9c849a9..6508ccbdf2 100644 --- a/engines/neverhood/menumodule.h +++ b/engines/neverhood/menumodule.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/neverhood/messages.h b/engines/neverhood/messages.h index 5f1e1b87dd..15a762fbe9 100644 --- a/engines/neverhood/messages.h +++ b/engines/neverhood/messages.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/neverhood/microtiles.cpp b/engines/neverhood/microtiles.cpp index 3dd6475046..a1075b8d09 100644 --- a/engines/neverhood/microtiles.cpp +++ b/engines/neverhood/microtiles.cpp @@ -8,17 +8,16 @@ * 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 "neverhood/microtiles.h" diff --git a/engines/neverhood/microtiles.h b/engines/neverhood/microtiles.h index 29af3d956a..15152600df 100644 --- a/engines/neverhood/microtiles.h +++ b/engines/neverhood/microtiles.h @@ -8,17 +8,16 @@ * 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. * - * */ #ifndef NEVERHOOD_MICROTILES_H diff --git a/engines/neverhood/module.cpp b/engines/neverhood/module.cpp index 3ef4554334..0d6b70c9a2 100644 --- a/engines/neverhood/module.cpp +++ b/engines/neverhood/module.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/neverhood/module.h b/engines/neverhood/module.h index 8ab2159030..d4c954c716 100644 --- a/engines/neverhood/module.h +++ b/engines/neverhood/module.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/neverhood/modules/module1000.cpp b/engines/neverhood/modules/module1000.cpp index 788e22dc1b..cdeb457df5 100644 --- a/engines/neverhood/modules/module1000.cpp +++ b/engines/neverhood/modules/module1000.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/neverhood/modules/module1000.h b/engines/neverhood/modules/module1000.h index 4b17c92b3b..d2afaf69ee 100644 --- a/engines/neverhood/modules/module1000.h +++ b/engines/neverhood/modules/module1000.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/neverhood/modules/module1000_sprites.cpp b/engines/neverhood/modules/module1000_sprites.cpp index a028df4b10..dd504ae25a 100644 --- a/engines/neverhood/modules/module1000_sprites.cpp +++ b/engines/neverhood/modules/module1000_sprites.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/neverhood/modules/module1000_sprites.h b/engines/neverhood/modules/module1000_sprites.h index 564b3cc335..8a03824086 100644 --- a/engines/neverhood/modules/module1000_sprites.h +++ b/engines/neverhood/modules/module1000_sprites.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/neverhood/modules/module1100.cpp b/engines/neverhood/modules/module1100.cpp index 1601f3a140..cca80f3f62 100644 --- a/engines/neverhood/modules/module1100.cpp +++ b/engines/neverhood/modules/module1100.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/neverhood/modules/module1100.h b/engines/neverhood/modules/module1100.h index 38bac1f298..31f5f8a04e 100644 --- a/engines/neverhood/modules/module1100.h +++ b/engines/neverhood/modules/module1100.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/neverhood/modules/module1100_sprites.cpp b/engines/neverhood/modules/module1100_sprites.cpp index 49a388ffca..b5fd8490f6 100644 --- a/engines/neverhood/modules/module1100_sprites.cpp +++ b/engines/neverhood/modules/module1100_sprites.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/neverhood/modules/module1100_sprites.h b/engines/neverhood/modules/module1100_sprites.h index c8e5a838da..2e50902664 100644 --- a/engines/neverhood/modules/module1100_sprites.h +++ b/engines/neverhood/modules/module1100_sprites.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/neverhood/modules/module1200.cpp b/engines/neverhood/modules/module1200.cpp index 8bf42b3b96..ba5e18ab15 100644 --- a/engines/neverhood/modules/module1200.cpp +++ b/engines/neverhood/modules/module1200.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/neverhood/modules/module1200.h b/engines/neverhood/modules/module1200.h index d9d4dd11f2..492f0d42f0 100644 --- a/engines/neverhood/modules/module1200.h +++ b/engines/neverhood/modules/module1200.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/neverhood/modules/module1200_sprites.cpp b/engines/neverhood/modules/module1200_sprites.cpp index 5848e16092..04bd4c1cb7 100644 --- a/engines/neverhood/modules/module1200_sprites.cpp +++ b/engines/neverhood/modules/module1200_sprites.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/neverhood/modules/module1200_sprites.h b/engines/neverhood/modules/module1200_sprites.h index ef1ec40ced..ae820f0530 100644 --- a/engines/neverhood/modules/module1200_sprites.h +++ b/engines/neverhood/modules/module1200_sprites.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/neverhood/modules/module1300.cpp b/engines/neverhood/modules/module1300.cpp index fe119c1732..d806019e6c 100644 --- a/engines/neverhood/modules/module1300.cpp +++ b/engines/neverhood/modules/module1300.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/neverhood/modules/module1300.h b/engines/neverhood/modules/module1300.h index 2f59ff16c2..4a0ca6c062 100644 --- a/engines/neverhood/modules/module1300.h +++ b/engines/neverhood/modules/module1300.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/neverhood/modules/module1300_sprites.cpp b/engines/neverhood/modules/module1300_sprites.cpp index 0c1632501e..b4b42198e1 100644 --- a/engines/neverhood/modules/module1300_sprites.cpp +++ b/engines/neverhood/modules/module1300_sprites.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/neverhood/modules/module1300_sprites.h b/engines/neverhood/modules/module1300_sprites.h index e044d3cec8..6f4faaa234 100644 --- a/engines/neverhood/modules/module1300_sprites.h +++ b/engines/neverhood/modules/module1300_sprites.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/neverhood/modules/module1400.cpp b/engines/neverhood/modules/module1400.cpp index 018f27e2b7..551b6874ff 100644 --- a/engines/neverhood/modules/module1400.cpp +++ b/engines/neverhood/modules/module1400.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/neverhood/modules/module1400.h b/engines/neverhood/modules/module1400.h index 53ad7125ab..52f72db6d3 100644 --- a/engines/neverhood/modules/module1400.h +++ b/engines/neverhood/modules/module1400.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/neverhood/modules/module1400_sprites.cpp b/engines/neverhood/modules/module1400_sprites.cpp index 478b328034..30a5c340c9 100644 --- a/engines/neverhood/modules/module1400_sprites.cpp +++ b/engines/neverhood/modules/module1400_sprites.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/neverhood/modules/module1400_sprites.h b/engines/neverhood/modules/module1400_sprites.h index 49b91fe0cf..fe0db66d27 100644 --- a/engines/neverhood/modules/module1400_sprites.h +++ b/engines/neverhood/modules/module1400_sprites.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/neverhood/modules/module1500.cpp b/engines/neverhood/modules/module1500.cpp index eaa23e586b..8e51b1aff5 100644 --- a/engines/neverhood/modules/module1500.cpp +++ b/engines/neverhood/modules/module1500.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/neverhood/modules/module1500.h b/engines/neverhood/modules/module1500.h index f244948918..6c8bf32340 100644 --- a/engines/neverhood/modules/module1500.h +++ b/engines/neverhood/modules/module1500.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/neverhood/modules/module1600.cpp b/engines/neverhood/modules/module1600.cpp index 76c5ca93d2..0adcd939cd 100644 --- a/engines/neverhood/modules/module1600.cpp +++ b/engines/neverhood/modules/module1600.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/neverhood/modules/module1600.h b/engines/neverhood/modules/module1600.h index f08eaad8fc..b1c9662f79 100644 --- a/engines/neverhood/modules/module1600.h +++ b/engines/neverhood/modules/module1600.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/neverhood/modules/module1600_sprites.cpp b/engines/neverhood/modules/module1600_sprites.cpp index b7b3658c5e..09e3d0afe1 100644 --- a/engines/neverhood/modules/module1600_sprites.cpp +++ b/engines/neverhood/modules/module1600_sprites.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/neverhood/modules/module1600_sprites.h b/engines/neverhood/modules/module1600_sprites.h index fa59475dad..1c51160be3 100644 --- a/engines/neverhood/modules/module1600_sprites.h +++ b/engines/neverhood/modules/module1600_sprites.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/neverhood/modules/module1700.cpp b/engines/neverhood/modules/module1700.cpp index 1062691cd2..6ff34ecd91 100644 --- a/engines/neverhood/modules/module1700.cpp +++ b/engines/neverhood/modules/module1700.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/neverhood/modules/module1700.h b/engines/neverhood/modules/module1700.h index 09daff2acf..57d04312bb 100644 --- a/engines/neverhood/modules/module1700.h +++ b/engines/neverhood/modules/module1700.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/neverhood/modules/module1700_sprites.cpp b/engines/neverhood/modules/module1700_sprites.cpp index d6e00c95f3..3a6784b0f5 100644 --- a/engines/neverhood/modules/module1700_sprites.cpp +++ b/engines/neverhood/modules/module1700_sprites.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/neverhood/modules/module1700_sprites.h b/engines/neverhood/modules/module1700_sprites.h index 4117de01d9..afa5d9f7ad 100644 --- a/engines/neverhood/modules/module1700_sprites.h +++ b/engines/neverhood/modules/module1700_sprites.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/neverhood/modules/module1800.cpp b/engines/neverhood/modules/module1800.cpp index 282292a516..17d6367252 100644 --- a/engines/neverhood/modules/module1800.cpp +++ b/engines/neverhood/modules/module1800.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/neverhood/modules/module1800.h b/engines/neverhood/modules/module1800.h index d3f3a635c3..35af1f8e58 100644 --- a/engines/neverhood/modules/module1800.h +++ b/engines/neverhood/modules/module1800.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/neverhood/modules/module1900.cpp b/engines/neverhood/modules/module1900.cpp index 5fdc6091dc..71926d6950 100644 --- a/engines/neverhood/modules/module1900.cpp +++ b/engines/neverhood/modules/module1900.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/neverhood/modules/module1900.h b/engines/neverhood/modules/module1900.h index d785c6f506..78128f8f37 100644 --- a/engines/neverhood/modules/module1900.h +++ b/engines/neverhood/modules/module1900.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/neverhood/modules/module1900_sprites.cpp b/engines/neverhood/modules/module1900_sprites.cpp index 9e43203def..074a83cdcd 100644 --- a/engines/neverhood/modules/module1900_sprites.cpp +++ b/engines/neverhood/modules/module1900_sprites.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/neverhood/modules/module1900_sprites.h b/engines/neverhood/modules/module1900_sprites.h index 7e57b11618..6df02e2279 100644 --- a/engines/neverhood/modules/module1900_sprites.h +++ b/engines/neverhood/modules/module1900_sprites.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/neverhood/modules/module2000.cpp b/engines/neverhood/modules/module2000.cpp index ad18e65cdd..498f50989e 100644 --- a/engines/neverhood/modules/module2000.cpp +++ b/engines/neverhood/modules/module2000.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/neverhood/modules/module2000.h b/engines/neverhood/modules/module2000.h index 8dc72c57dc..6e1cfb6fe6 100644 --- a/engines/neverhood/modules/module2000.h +++ b/engines/neverhood/modules/module2000.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/neverhood/modules/module2000_sprites.cpp b/engines/neverhood/modules/module2000_sprites.cpp index 35edd8e73f..ccf383d26d 100644 --- a/engines/neverhood/modules/module2000_sprites.cpp +++ b/engines/neverhood/modules/module2000_sprites.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/neverhood/modules/module2000_sprites.h b/engines/neverhood/modules/module2000_sprites.h index ca84aa73ca..62b738d9fb 100644 --- a/engines/neverhood/modules/module2000_sprites.h +++ b/engines/neverhood/modules/module2000_sprites.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/neverhood/modules/module2100.cpp b/engines/neverhood/modules/module2100.cpp index e95eb58420..9488057fa4 100644 --- a/engines/neverhood/modules/module2100.cpp +++ b/engines/neverhood/modules/module2100.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/neverhood/modules/module2100.h b/engines/neverhood/modules/module2100.h index c5256434d9..e660eba7c0 100644 --- a/engines/neverhood/modules/module2100.h +++ b/engines/neverhood/modules/module2100.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/neverhood/modules/module2100_sprites.cpp b/engines/neverhood/modules/module2100_sprites.cpp index f43c0afed5..4d2e4956e6 100644 --- a/engines/neverhood/modules/module2100_sprites.cpp +++ b/engines/neverhood/modules/module2100_sprites.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/neverhood/modules/module2100_sprites.h b/engines/neverhood/modules/module2100_sprites.h index 85a6b9f27d..c1116ef9a5 100644 --- a/engines/neverhood/modules/module2100_sprites.h +++ b/engines/neverhood/modules/module2100_sprites.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/neverhood/modules/module2200.cpp b/engines/neverhood/modules/module2200.cpp index f1d5d2854d..f9033a9dbe 100644 --- a/engines/neverhood/modules/module2200.cpp +++ b/engines/neverhood/modules/module2200.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/neverhood/modules/module2200.h b/engines/neverhood/modules/module2200.h index 6b414304ae..5250bf3fe9 100644 --- a/engines/neverhood/modules/module2200.h +++ b/engines/neverhood/modules/module2200.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/neverhood/modules/module2200_sprites.cpp b/engines/neverhood/modules/module2200_sprites.cpp index ddf31f7920..7c1e84c3cf 100644 --- a/engines/neverhood/modules/module2200_sprites.cpp +++ b/engines/neverhood/modules/module2200_sprites.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/neverhood/modules/module2200_sprites.h b/engines/neverhood/modules/module2200_sprites.h index 9aaf3b6aae..9327b1cb9f 100644 --- a/engines/neverhood/modules/module2200_sprites.h +++ b/engines/neverhood/modules/module2200_sprites.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/neverhood/modules/module2300.cpp b/engines/neverhood/modules/module2300.cpp index 689d53570f..c0edc95873 100644 --- a/engines/neverhood/modules/module2300.cpp +++ b/engines/neverhood/modules/module2300.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/neverhood/modules/module2300.h b/engines/neverhood/modules/module2300.h index 0a1e1d57a4..57235986d9 100644 --- a/engines/neverhood/modules/module2300.h +++ b/engines/neverhood/modules/module2300.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/neverhood/modules/module2400.cpp b/engines/neverhood/modules/module2400.cpp index 867fb692f2..3acb952db9 100644 --- a/engines/neverhood/modules/module2400.cpp +++ b/engines/neverhood/modules/module2400.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/neverhood/modules/module2400.h b/engines/neverhood/modules/module2400.h index 61603f3e00..0ab56dd86a 100644 --- a/engines/neverhood/modules/module2400.h +++ b/engines/neverhood/modules/module2400.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/neverhood/modules/module2400_sprites.cpp b/engines/neverhood/modules/module2400_sprites.cpp index 32c00cde27..f31fd59907 100644 --- a/engines/neverhood/modules/module2400_sprites.cpp +++ b/engines/neverhood/modules/module2400_sprites.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/neverhood/modules/module2400_sprites.h b/engines/neverhood/modules/module2400_sprites.h index a901eb101c..5d9464af13 100644 --- a/engines/neverhood/modules/module2400_sprites.h +++ b/engines/neverhood/modules/module2400_sprites.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/neverhood/modules/module2500.cpp b/engines/neverhood/modules/module2500.cpp index eb1b65cd83..7e93b0ebc0 100644 --- a/engines/neverhood/modules/module2500.cpp +++ b/engines/neverhood/modules/module2500.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/neverhood/modules/module2500.h b/engines/neverhood/modules/module2500.h index de6226ef0c..57ab22889a 100644 --- a/engines/neverhood/modules/module2500.h +++ b/engines/neverhood/modules/module2500.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/neverhood/modules/module2500_sprites.cpp b/engines/neverhood/modules/module2500_sprites.cpp index 1394a87db6..b628cd8f02 100644 --- a/engines/neverhood/modules/module2500_sprites.cpp +++ b/engines/neverhood/modules/module2500_sprites.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/neverhood/modules/module2500_sprites.h b/engines/neverhood/modules/module2500_sprites.h index e7f7b05702..b5c2a1ac01 100644 --- a/engines/neverhood/modules/module2500_sprites.h +++ b/engines/neverhood/modules/module2500_sprites.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/neverhood/modules/module2600.cpp b/engines/neverhood/modules/module2600.cpp index 3c3e733b3f..d0f6090ea8 100644 --- a/engines/neverhood/modules/module2600.cpp +++ b/engines/neverhood/modules/module2600.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/neverhood/modules/module2600.h b/engines/neverhood/modules/module2600.h index 99ec3a34ca..0f13ed4b09 100644 --- a/engines/neverhood/modules/module2600.h +++ b/engines/neverhood/modules/module2600.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/neverhood/modules/module2600_sprites.cpp b/engines/neverhood/modules/module2600_sprites.cpp index 2506a6eb48..ffba6a4e59 100644 --- a/engines/neverhood/modules/module2600_sprites.cpp +++ b/engines/neverhood/modules/module2600_sprites.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/neverhood/modules/module2600_sprites.h b/engines/neverhood/modules/module2600_sprites.h index c36e72cae8..0b4954ceb1 100644 --- a/engines/neverhood/modules/module2600_sprites.h +++ b/engines/neverhood/modules/module2600_sprites.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/neverhood/modules/module2700.cpp b/engines/neverhood/modules/module2700.cpp index 13c30048a4..9399981cfd 100644 --- a/engines/neverhood/modules/module2700.cpp +++ b/engines/neverhood/modules/module2700.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/neverhood/modules/module2700.h b/engines/neverhood/modules/module2700.h index 97b4f1cbea..9ac2159765 100644 --- a/engines/neverhood/modules/module2700.h +++ b/engines/neverhood/modules/module2700.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/neverhood/modules/module2700_sprites.cpp b/engines/neverhood/modules/module2700_sprites.cpp index 8dd2fa3461..e17cddc834 100644 --- a/engines/neverhood/modules/module2700_sprites.cpp +++ b/engines/neverhood/modules/module2700_sprites.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/neverhood/modules/module2700_sprites.h b/engines/neverhood/modules/module2700_sprites.h index 394ba896a1..7da0223bce 100644 --- a/engines/neverhood/modules/module2700_sprites.h +++ b/engines/neverhood/modules/module2700_sprites.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/neverhood/modules/module2800.cpp b/engines/neverhood/modules/module2800.cpp index 5d892de224..a59c3f8156 100644 --- a/engines/neverhood/modules/module2800.cpp +++ b/engines/neverhood/modules/module2800.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/neverhood/modules/module2800.h b/engines/neverhood/modules/module2800.h index 26e44bc543..73a13610e3 100644 --- a/engines/neverhood/modules/module2800.h +++ b/engines/neverhood/modules/module2800.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/neverhood/modules/module2800_sprites.cpp b/engines/neverhood/modules/module2800_sprites.cpp index 35596da6b5..f9a58de92d 100644 --- a/engines/neverhood/modules/module2800_sprites.cpp +++ b/engines/neverhood/modules/module2800_sprites.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/neverhood/modules/module2800_sprites.h b/engines/neverhood/modules/module2800_sprites.h index 91f26d7849..ec34a7ccf5 100644 --- a/engines/neverhood/modules/module2800_sprites.h +++ b/engines/neverhood/modules/module2800_sprites.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/neverhood/modules/module2900.cpp b/engines/neverhood/modules/module2900.cpp index ca734972ca..3bf98eca35 100644 --- a/engines/neverhood/modules/module2900.cpp +++ b/engines/neverhood/modules/module2900.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/neverhood/modules/module2900.h b/engines/neverhood/modules/module2900.h index 5f6ed29a12..8d6dad5660 100644 --- a/engines/neverhood/modules/module2900.h +++ b/engines/neverhood/modules/module2900.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/neverhood/modules/module2900_sprites.cpp b/engines/neverhood/modules/module2900_sprites.cpp index 59780b33a0..1ec820abdf 100644 --- a/engines/neverhood/modules/module2900_sprites.cpp +++ b/engines/neverhood/modules/module2900_sprites.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/neverhood/modules/module2900_sprites.h b/engines/neverhood/modules/module2900_sprites.h index 9f7df502e1..3ad7f2eefd 100644 --- a/engines/neverhood/modules/module2900_sprites.h +++ b/engines/neverhood/modules/module2900_sprites.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/neverhood/modules/module3000.cpp b/engines/neverhood/modules/module3000.cpp index dc6fb984ef..59b2df260e 100644 --- a/engines/neverhood/modules/module3000.cpp +++ b/engines/neverhood/modules/module3000.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/neverhood/modules/module3000.h b/engines/neverhood/modules/module3000.h index a88dea513e..e5c251f828 100644 --- a/engines/neverhood/modules/module3000.h +++ b/engines/neverhood/modules/module3000.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/neverhood/modules/module3000_sprites.cpp b/engines/neverhood/modules/module3000_sprites.cpp index 3c0c5fe209..3f883eaa72 100644 --- a/engines/neverhood/modules/module3000_sprites.cpp +++ b/engines/neverhood/modules/module3000_sprites.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/neverhood/modules/module3000_sprites.h b/engines/neverhood/modules/module3000_sprites.h index 7316613327..2c1369251d 100644 --- a/engines/neverhood/modules/module3000_sprites.h +++ b/engines/neverhood/modules/module3000_sprites.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/neverhood/mouse.cpp b/engines/neverhood/mouse.cpp index f11a3f99ea..0abbeba19d 100644 --- a/engines/neverhood/mouse.cpp +++ b/engines/neverhood/mouse.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/neverhood/mouse.h b/engines/neverhood/mouse.h index d6f42b4071..3e71f60de2 100644 --- a/engines/neverhood/mouse.h +++ b/engines/neverhood/mouse.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/neverhood/navigationscene.cpp b/engines/neverhood/navigationscene.cpp index adbb6aef7a..a1eeae9c1c 100644 --- a/engines/neverhood/navigationscene.cpp +++ b/engines/neverhood/navigationscene.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/neverhood/navigationscene.h b/engines/neverhood/navigationscene.h index c17446811c..8e286effb9 100644 --- a/engines/neverhood/navigationscene.h +++ b/engines/neverhood/navigationscene.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/neverhood/neverhood.cpp b/engines/neverhood/neverhood.cpp index 1119bfbb08..c0a235cae3 100644 --- a/engines/neverhood/neverhood.cpp +++ b/engines/neverhood/neverhood.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/neverhood/neverhood.h b/engines/neverhood/neverhood.h index 4d923d1f0e..0661bcba0e 100644 --- a/engines/neverhood/neverhood.h +++ b/engines/neverhood/neverhood.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/neverhood/palette.cpp b/engines/neverhood/palette.cpp index 134fec7163..39f1ecdbf1 100644 --- a/engines/neverhood/palette.cpp +++ b/engines/neverhood/palette.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/neverhood/palette.h b/engines/neverhood/palette.h index 016f856104..f1b365fe47 100644 --- a/engines/neverhood/palette.h +++ b/engines/neverhood/palette.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/neverhood/resource.cpp b/engines/neverhood/resource.cpp index b45dbff3b9..8aba0ad37b 100644 --- a/engines/neverhood/resource.cpp +++ b/engines/neverhood/resource.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/neverhood/resource.h b/engines/neverhood/resource.h index 40236d9d22..a9d5b86d17 100644 --- a/engines/neverhood/resource.h +++ b/engines/neverhood/resource.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/neverhood/resourceman.cpp b/engines/neverhood/resourceman.cpp index f6937384c0..2065a13347 100644 --- a/engines/neverhood/resourceman.cpp +++ b/engines/neverhood/resourceman.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/neverhood/resourceman.h b/engines/neverhood/resourceman.h index 29bf40a6b8..306e02f788 100644 --- a/engines/neverhood/resourceman.h +++ b/engines/neverhood/resourceman.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/neverhood/saveload.cpp b/engines/neverhood/saveload.cpp index 01988769e6..8fe6c9a155 100644 --- a/engines/neverhood/saveload.cpp +++ b/engines/neverhood/saveload.cpp @@ -8,17 +8,16 @@ * 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 "common/savefile.h" diff --git a/engines/neverhood/scene.cpp b/engines/neverhood/scene.cpp index b8cde73e81..58056b65a9 100644 --- a/engines/neverhood/scene.cpp +++ b/engines/neverhood/scene.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/neverhood/scene.h b/engines/neverhood/scene.h index e6183199ce..98a7fa5090 100644 --- a/engines/neverhood/scene.h +++ b/engines/neverhood/scene.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/neverhood/screen.cpp b/engines/neverhood/screen.cpp index 901ab73b39..cc735c4c16 100644 --- a/engines/neverhood/screen.cpp +++ b/engines/neverhood/screen.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/neverhood/screen.h b/engines/neverhood/screen.h index a9b5af02f6..82ce90b245 100644 --- a/engines/neverhood/screen.h +++ b/engines/neverhood/screen.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/neverhood/smackerplayer.cpp b/engines/neverhood/smackerplayer.cpp index 014e094b94..e15e729f81 100644 --- a/engines/neverhood/smackerplayer.cpp +++ b/engines/neverhood/smackerplayer.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/neverhood/smackerplayer.h b/engines/neverhood/smackerplayer.h index dd7199dd6d..e08854bd96 100644 --- a/engines/neverhood/smackerplayer.h +++ b/engines/neverhood/smackerplayer.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/neverhood/smackerscene.cpp b/engines/neverhood/smackerscene.cpp index c3915200b5..2b43579130 100644 --- a/engines/neverhood/smackerscene.cpp +++ b/engines/neverhood/smackerscene.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/neverhood/smackerscene.h b/engines/neverhood/smackerscene.h index 8e5084512f..e2c1802b61 100644 --- a/engines/neverhood/smackerscene.h +++ b/engines/neverhood/smackerscene.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/neverhood/sound.cpp b/engines/neverhood/sound.cpp index 023eda4c02..d53243d4ba 100644 --- a/engines/neverhood/sound.cpp +++ b/engines/neverhood/sound.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/neverhood/sound.h b/engines/neverhood/sound.h index 1f80f8d6b0..512b0fef98 100644 --- a/engines/neverhood/sound.h +++ b/engines/neverhood/sound.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/neverhood/sprite.cpp b/engines/neverhood/sprite.cpp index 05fc9b256f..a566b8ee3b 100644 --- a/engines/neverhood/sprite.cpp +++ b/engines/neverhood/sprite.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/neverhood/sprite.h b/engines/neverhood/sprite.h index 1d17bf0e70..5422fd15d5 100644 --- a/engines/neverhood/sprite.h +++ b/engines/neverhood/sprite.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/neverhood/staticdata.cpp b/engines/neverhood/staticdata.cpp index ec9c852118..552ea92604 100644 --- a/engines/neverhood/staticdata.cpp +++ b/engines/neverhood/staticdata.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/neverhood/staticdata.h b/engines/neverhood/staticdata.h index b1cab3bfcd..88dad56f78 100644 --- a/engines/neverhood/staticdata.h +++ b/engines/neverhood/staticdata.h @@ -8,12 +8,12 @@ * 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. -- cgit v1.2.3 From 56528d9201d9da2b422d4421641ce92bc27e3db8 Mon Sep 17 00:00:00 2001 From: Johannes Schickel Date: Tue, 18 Feb 2014 02:34:23 +0100 Subject: NULL: Make GPL headers consistent in themselves. --- backends/graphics/null/null-graphics.h | 4 ++-- backends/platform/null/null.cpp | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/backends/graphics/null/null-graphics.h b/backends/graphics/null/null-graphics.h index 276be7d3fa..67306c29f3 100644 --- a/backends/graphics/null/null-graphics.h +++ b/backends/graphics/null/null-graphics.h @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/null/null.cpp b/backends/platform/null/null.cpp index 29bf9acacd..a5eea06f7a 100644 --- a/backends/platform/null/null.cpp +++ b/backends/platform/null/null.cpp @@ -8,12 +8,12 @@ * 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. -- cgit v1.2.3 From cc2f3e23a4b21b562240c747cedaae4d77d8d9e5 Mon Sep 17 00:00:00 2001 From: Johannes Schickel Date: Tue, 18 Feb 2014 02:34:23 +0100 Subject: OPENPANDORA: Make GPL headers consistent in themselves. --- backends/events/openpandora/op-events.cpp | 4 ++-- backends/events/openpandora/op-events.h | 4 ++-- backends/graphics/openpandora/op-graphics.cpp | 4 ++-- backends/graphics/openpandora/op-graphics.h | 4 ++-- backends/platform/openpandora/op-backend.cpp | 4 ++-- backends/platform/openpandora/op-main.cpp | 4 ++-- backends/platform/openpandora/op-options.cpp | 4 ++-- backends/platform/openpandora/op-options.h | 4 ++-- backends/platform/openpandora/op-sdl.h | 4 ++-- 9 files changed, 18 insertions(+), 18 deletions(-) diff --git a/backends/events/openpandora/op-events.cpp b/backends/events/openpandora/op-events.cpp index fc63cdf74f..b9d5fa8c7b 100644 --- a/backends/events/openpandora/op-events.cpp +++ b/backends/events/openpandora/op-events.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/backends/events/openpandora/op-events.h b/backends/events/openpandora/op-events.h index 25f79e68d7..e45ac80e2a 100644 --- a/backends/events/openpandora/op-events.h +++ b/backends/events/openpandora/op-events.h @@ -8,12 +8,12 @@ * 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. diff --git a/backends/graphics/openpandora/op-graphics.cpp b/backends/graphics/openpandora/op-graphics.cpp index f371081fde..1ded1614de 100644 --- a/backends/graphics/openpandora/op-graphics.cpp +++ b/backends/graphics/openpandora/op-graphics.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/backends/graphics/openpandora/op-graphics.h b/backends/graphics/openpandora/op-graphics.h index 2e3d63e3ad..8b498d632b 100644 --- a/backends/graphics/openpandora/op-graphics.h +++ b/backends/graphics/openpandora/op-graphics.h @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/openpandora/op-backend.cpp b/backends/platform/openpandora/op-backend.cpp index 60c3cc7191..abe288f5d7 100644 --- a/backends/platform/openpandora/op-backend.cpp +++ b/backends/platform/openpandora/op-backend.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/openpandora/op-main.cpp b/backends/platform/openpandora/op-main.cpp index ebe018f570..99026b89f6 100644 --- a/backends/platform/openpandora/op-main.cpp +++ b/backends/platform/openpandora/op-main.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/openpandora/op-options.cpp b/backends/platform/openpandora/op-options.cpp index 005a76b76c..d2e7860962 100644 --- a/backends/platform/openpandora/op-options.cpp +++ b/backends/platform/openpandora/op-options.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/openpandora/op-options.h b/backends/platform/openpandora/op-options.h index 919d217f4b..8eae420af2 100644 --- a/backends/platform/openpandora/op-options.h +++ b/backends/platform/openpandora/op-options.h @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/openpandora/op-sdl.h b/backends/platform/openpandora/op-sdl.h index 1eddad5c4a..dd239e58f8 100644 --- a/backends/platform/openpandora/op-sdl.h +++ b/backends/platform/openpandora/op-sdl.h @@ -8,12 +8,12 @@ * 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. -- cgit v1.2.3 From 56a99b1d378ce507c9c82b39abafbbb704a35c85 Mon Sep 17 00:00:00 2001 From: Johannes Schickel Date: Tue, 18 Feb 2014 02:34:23 +0100 Subject: PARALLACTION: Make GPL headers consistent in themselves. --- engines/parallaction/adlib.cpp | 4 ++-- engines/parallaction/balloons.cpp | 4 ++-- engines/parallaction/callables_br.cpp | 4 ++-- engines/parallaction/callables_ns.cpp | 4 ++-- engines/parallaction/debug.cpp | 4 ++-- engines/parallaction/detection.cpp | 4 ++-- engines/parallaction/dialogue.cpp | 4 ++-- engines/parallaction/disk.h | 4 ++-- engines/parallaction/disk_br.cpp | 4 ++-- engines/parallaction/disk_ns.cpp | 4 ++-- engines/parallaction/exec.cpp | 4 ++-- engines/parallaction/exec.h | 4 ++-- engines/parallaction/exec_br.cpp | 4 ++-- engines/parallaction/exec_ns.cpp | 4 ++-- engines/parallaction/font.cpp | 4 ++-- engines/parallaction/gfxbase.cpp | 4 ++-- engines/parallaction/graphics.cpp | 4 ++-- engines/parallaction/graphics.h | 4 ++-- engines/parallaction/gui.cpp | 4 ++-- engines/parallaction/gui.h | 4 ++-- engines/parallaction/gui_br.cpp | 4 ++-- engines/parallaction/gui_ns.cpp | 4 ++-- engines/parallaction/input.cpp | 4 ++-- engines/parallaction/input.h | 4 ++-- engines/parallaction/inventory.cpp | 4 ++-- engines/parallaction/inventory.h | 4 ++-- engines/parallaction/objects.cpp | 4 ++-- engines/parallaction/objects.h | 4 ++-- engines/parallaction/parallaction.cpp | 4 ++-- engines/parallaction/parallaction.h | 4 ++-- engines/parallaction/parallaction_br.cpp | 4 ++-- engines/parallaction/parallaction_ns.cpp | 4 ++-- engines/parallaction/parser.cpp | 4 ++-- engines/parallaction/parser.h | 4 ++-- engines/parallaction/parser_br.cpp | 4 ++-- engines/parallaction/parser_ns.cpp | 4 ++-- engines/parallaction/saveload.cpp | 4 ++-- engines/parallaction/saveload.h | 4 ++-- engines/parallaction/sound.h | 4 ++-- engines/parallaction/sound_br.cpp | 4 ++-- engines/parallaction/sound_ns.cpp | 4 ++-- engines/parallaction/staticres.cpp | 4 ++-- engines/parallaction/walk.cpp | 4 ++-- engines/parallaction/walk.h | 4 ++-- 44 files changed, 88 insertions(+), 88 deletions(-) diff --git a/engines/parallaction/adlib.cpp b/engines/parallaction/adlib.cpp index 134e5cfbf3..7c1dd1681f 100644 --- a/engines/parallaction/adlib.cpp +++ b/engines/parallaction/adlib.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/parallaction/balloons.cpp b/engines/parallaction/balloons.cpp index 2a7e0ce375..234abff59a 100644 --- a/engines/parallaction/balloons.cpp +++ b/engines/parallaction/balloons.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/parallaction/callables_br.cpp b/engines/parallaction/callables_br.cpp index 7d3e63dfba..ca60b8e578 100644 --- a/engines/parallaction/callables_br.cpp +++ b/engines/parallaction/callables_br.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/parallaction/callables_ns.cpp b/engines/parallaction/callables_ns.cpp index 04642aa632..280cccd15f 100644 --- a/engines/parallaction/callables_ns.cpp +++ b/engines/parallaction/callables_ns.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/parallaction/debug.cpp b/engines/parallaction/debug.cpp index 4a8f8c71d7..1fea73a326 100644 --- a/engines/parallaction/debug.cpp +++ b/engines/parallaction/debug.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/parallaction/detection.cpp b/engines/parallaction/detection.cpp index fb892c44b2..277f1cbe69 100644 --- a/engines/parallaction/detection.cpp +++ b/engines/parallaction/detection.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/parallaction/dialogue.cpp b/engines/parallaction/dialogue.cpp index 06ffd0b89b..62e2152816 100644 --- a/engines/parallaction/dialogue.cpp +++ b/engines/parallaction/dialogue.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/parallaction/disk.h b/engines/parallaction/disk.h index 63e33dcfbd..2e43b6f87b 100644 --- a/engines/parallaction/disk.h +++ b/engines/parallaction/disk.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/parallaction/disk_br.cpp b/engines/parallaction/disk_br.cpp index f648f4b9a1..b31418a916 100644 --- a/engines/parallaction/disk_br.cpp +++ b/engines/parallaction/disk_br.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/parallaction/disk_ns.cpp b/engines/parallaction/disk_ns.cpp index ae28e864a9..a5fef16e56 100644 --- a/engines/parallaction/disk_ns.cpp +++ b/engines/parallaction/disk_ns.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/parallaction/exec.cpp b/engines/parallaction/exec.cpp index 122abf9e0e..ceba072173 100644 --- a/engines/parallaction/exec.cpp +++ b/engines/parallaction/exec.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/parallaction/exec.h b/engines/parallaction/exec.h index 5968954ba0..15217d3a4c 100644 --- a/engines/parallaction/exec.h +++ b/engines/parallaction/exec.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/parallaction/exec_br.cpp b/engines/parallaction/exec_br.cpp index 985ea29311..c2fbc415af 100644 --- a/engines/parallaction/exec_br.cpp +++ b/engines/parallaction/exec_br.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/parallaction/exec_ns.cpp b/engines/parallaction/exec_ns.cpp index 816f220b1f..45fe0a9900 100644 --- a/engines/parallaction/exec_ns.cpp +++ b/engines/parallaction/exec_ns.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/parallaction/font.cpp b/engines/parallaction/font.cpp index 627c6ebe22..57b04deb12 100644 --- a/engines/parallaction/font.cpp +++ b/engines/parallaction/font.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/parallaction/gfxbase.cpp b/engines/parallaction/gfxbase.cpp index e2d9532c8a..f1499f7782 100644 --- a/engines/parallaction/gfxbase.cpp +++ b/engines/parallaction/gfxbase.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/parallaction/graphics.cpp b/engines/parallaction/graphics.cpp index dca1870cb7..06b315016a 100644 --- a/engines/parallaction/graphics.cpp +++ b/engines/parallaction/graphics.cpp @@ -9,12 +9,12 @@ * 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. diff --git a/engines/parallaction/graphics.h b/engines/parallaction/graphics.h index 401e753775..55e2bbca84 100644 --- a/engines/parallaction/graphics.h +++ b/engines/parallaction/graphics.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/parallaction/gui.cpp b/engines/parallaction/gui.cpp index aa9c29ac57..a2d33f0256 100644 --- a/engines/parallaction/gui.cpp +++ b/engines/parallaction/gui.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/parallaction/gui.h b/engines/parallaction/gui.h index 9f2e96475b..c8cad29935 100644 --- a/engines/parallaction/gui.h +++ b/engines/parallaction/gui.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/parallaction/gui_br.cpp b/engines/parallaction/gui_br.cpp index 2ec5ba6e8d..ae3d136b0e 100644 --- a/engines/parallaction/gui_br.cpp +++ b/engines/parallaction/gui_br.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/parallaction/gui_ns.cpp b/engines/parallaction/gui_ns.cpp index ae32a416e3..3d977c9e51 100644 --- a/engines/parallaction/gui_ns.cpp +++ b/engines/parallaction/gui_ns.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/parallaction/input.cpp b/engines/parallaction/input.cpp index a445ce0138..290af339bb 100644 --- a/engines/parallaction/input.cpp +++ b/engines/parallaction/input.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/parallaction/input.h b/engines/parallaction/input.h index a303eb96c8..f7a2d8c1d5 100644 --- a/engines/parallaction/input.h +++ b/engines/parallaction/input.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/parallaction/inventory.cpp b/engines/parallaction/inventory.cpp index 1cae63be42..fcac9f08e2 100644 --- a/engines/parallaction/inventory.cpp +++ b/engines/parallaction/inventory.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/parallaction/inventory.h b/engines/parallaction/inventory.h index d5cf8badf0..832bd7bf36 100644 --- a/engines/parallaction/inventory.h +++ b/engines/parallaction/inventory.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/parallaction/objects.cpp b/engines/parallaction/objects.cpp index 50556c3ec4..50a5b38d8d 100644 --- a/engines/parallaction/objects.cpp +++ b/engines/parallaction/objects.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/parallaction/objects.h b/engines/parallaction/objects.h index 89e8134431..7cee0460c1 100644 --- a/engines/parallaction/objects.h +++ b/engines/parallaction/objects.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/parallaction/parallaction.cpp b/engines/parallaction/parallaction.cpp index e7be1eb8a3..2b75e78582 100644 --- a/engines/parallaction/parallaction.cpp +++ b/engines/parallaction/parallaction.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/parallaction/parallaction.h b/engines/parallaction/parallaction.h index 203a0168ea..6ea50584f8 100644 --- a/engines/parallaction/parallaction.h +++ b/engines/parallaction/parallaction.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/parallaction/parallaction_br.cpp b/engines/parallaction/parallaction_br.cpp index 586e4bbd6a..1e1c0b0a3d 100644 --- a/engines/parallaction/parallaction_br.cpp +++ b/engines/parallaction/parallaction_br.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/parallaction/parallaction_ns.cpp b/engines/parallaction/parallaction_ns.cpp index 91e8c78fc2..144c2b3a98 100644 --- a/engines/parallaction/parallaction_ns.cpp +++ b/engines/parallaction/parallaction_ns.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/parallaction/parser.cpp b/engines/parallaction/parser.cpp index 5d61c2988c..c37cee692e 100644 --- a/engines/parallaction/parser.cpp +++ b/engines/parallaction/parser.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/parallaction/parser.h b/engines/parallaction/parser.h index 622e507aad..7b77f58eb0 100644 --- a/engines/parallaction/parser.h +++ b/engines/parallaction/parser.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/parallaction/parser_br.cpp b/engines/parallaction/parser_br.cpp index e60349ffa8..c6693dc65b 100644 --- a/engines/parallaction/parser_br.cpp +++ b/engines/parallaction/parser_br.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/parallaction/parser_ns.cpp b/engines/parallaction/parser_ns.cpp index ac5e7c7135..710f00ee4d 100644 --- a/engines/parallaction/parser_ns.cpp +++ b/engines/parallaction/parser_ns.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/parallaction/saveload.cpp b/engines/parallaction/saveload.cpp index 2ecc5377a4..72e9400acd 100644 --- a/engines/parallaction/saveload.cpp +++ b/engines/parallaction/saveload.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/parallaction/saveload.h b/engines/parallaction/saveload.h index 3976ee1290..dbbbb42066 100644 --- a/engines/parallaction/saveload.h +++ b/engines/parallaction/saveload.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/parallaction/sound.h b/engines/parallaction/sound.h index e8dde78ddc..79cc346f62 100644 --- a/engines/parallaction/sound.h +++ b/engines/parallaction/sound.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/parallaction/sound_br.cpp b/engines/parallaction/sound_br.cpp index ea769de9e8..d13b318ace 100644 --- a/engines/parallaction/sound_br.cpp +++ b/engines/parallaction/sound_br.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/parallaction/sound_ns.cpp b/engines/parallaction/sound_ns.cpp index ed3031e94e..692389b490 100644 --- a/engines/parallaction/sound_ns.cpp +++ b/engines/parallaction/sound_ns.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/parallaction/staticres.cpp b/engines/parallaction/staticres.cpp index 32404037f0..40bac5b64d 100644 --- a/engines/parallaction/staticres.cpp +++ b/engines/parallaction/staticres.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/parallaction/walk.cpp b/engines/parallaction/walk.cpp index 19162cd7db..40f0bd2805 100644 --- a/engines/parallaction/walk.cpp +++ b/engines/parallaction/walk.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/parallaction/walk.h b/engines/parallaction/walk.h index ae6db6eaf1..f77e834fcb 100644 --- a/engines/parallaction/walk.h +++ b/engines/parallaction/walk.h @@ -8,12 +8,12 @@ * 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. -- cgit v1.2.3 From d8202baaddf00c4684996c4863bd83e90f66f841 Mon Sep 17 00:00:00 2001 From: Johannes Schickel Date: Tue, 18 Feb 2014 02:34:23 +0100 Subject: POSIX: Make GPL headers consistent in themselves. --- backends/fs/posix/posix-fs-factory.cpp | 1 + backends/fs/posix/posix-fs-factory.h | 1 + backends/fs/posix/posix-fs.cpp | 1 + backends/fs/posix/posix-fs.h | 1 + backends/plugins/posix/posix-provider.cpp | 4 ++-- backends/plugins/posix/posix-provider.h | 4 ++-- backends/saves/posix/posix-saves.cpp | 4 ++-- backends/saves/posix/posix-saves.h | 4 ++-- 8 files changed, 12 insertions(+), 8 deletions(-) diff --git a/backends/fs/posix/posix-fs-factory.cpp b/backends/fs/posix/posix-fs-factory.cpp index 776ea86155..d6266c78c9 100644 --- a/backends/fs/posix/posix-fs-factory.cpp +++ b/backends/fs/posix/posix-fs-factory.cpp @@ -17,6 +17,7 @@ * 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. + * */ #if defined(POSIX) || defined(PLAYSTATION3) diff --git a/backends/fs/posix/posix-fs-factory.h b/backends/fs/posix/posix-fs-factory.h index c7cec6fab5..7aedde5b01 100644 --- a/backends/fs/posix/posix-fs-factory.h +++ b/backends/fs/posix/posix-fs-factory.h @@ -17,6 +17,7 @@ * 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. + * */ #ifndef POSIX_FILESYSTEM_FACTORY_H diff --git a/backends/fs/posix/posix-fs.cpp b/backends/fs/posix/posix-fs.cpp index 320c5a6f39..4baf9f14fe 100644 --- a/backends/fs/posix/posix-fs.cpp +++ b/backends/fs/posix/posix-fs.cpp @@ -17,6 +17,7 @@ * 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. + * */ #if defined(POSIX) || defined(PLAYSTATION3) diff --git a/backends/fs/posix/posix-fs.h b/backends/fs/posix/posix-fs.h index e124829c02..bd07749010 100644 --- a/backends/fs/posix/posix-fs.h +++ b/backends/fs/posix/posix-fs.h @@ -17,6 +17,7 @@ * 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. + * */ #ifndef POSIX_FILESYSTEM_H diff --git a/backends/plugins/posix/posix-provider.cpp b/backends/plugins/posix/posix-provider.cpp index a68a792fa4..b484842ea5 100644 --- a/backends/plugins/posix/posix-provider.cpp +++ b/backends/plugins/posix/posix-provider.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/backends/plugins/posix/posix-provider.h b/backends/plugins/posix/posix-provider.h index b1186ccf3f..f5fc96eac4 100644 --- a/backends/plugins/posix/posix-provider.h +++ b/backends/plugins/posix/posix-provider.h @@ -8,12 +8,12 @@ * 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. diff --git a/backends/saves/posix/posix-saves.cpp b/backends/saves/posix/posix-saves.cpp index e04609be5b..96828320a6 100644 --- a/backends/saves/posix/posix-saves.cpp +++ b/backends/saves/posix/posix-saves.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/backends/saves/posix/posix-saves.h b/backends/saves/posix/posix-saves.h index 160075d3db..2477bd60e7 100644 --- a/backends/saves/posix/posix-saves.h +++ b/backends/saves/posix/posix-saves.h @@ -8,12 +8,12 @@ * 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. -- cgit v1.2.3 From 7aa3de5d37045776b146af28604d32337eb4e6e4 Mon Sep 17 00:00:00 2001 From: Johannes Schickel Date: Tue, 18 Feb 2014 02:34:23 +0100 Subject: PS2: Make GPL headers consistent in themselves. --- backends/fs/ps2/ps2-fs-factory.cpp | 1 + backends/fs/ps2/ps2-fs-factory.h | 1 + backends/fs/ps2/ps2-fs.cpp | 1 + backends/fs/ps2/ps2-fs.h | 1 + backends/platform/ps2/DmaPipe.cpp | 4 ++-- backends/platform/ps2/DmaPipe.h | 4 ++-- backends/platform/ps2/Gs2dScreen.cpp | 4 ++-- backends/platform/ps2/Gs2dScreen.h | 4 ++-- backends/platform/ps2/GsDefs.h | 4 ++-- backends/platform/ps2/asyncfio.cpp | 4 ++-- backends/platform/ps2/asyncfio.h | 4 ++-- backends/platform/ps2/eecodyvdfs.h | 4 ++-- backends/platform/ps2/fileio.cpp | 4 ++-- backends/platform/ps2/fileio.h | 4 ++-- backends/platform/ps2/icon.cpp | 4 ++-- backends/platform/ps2/icon.h | 4 ++-- backends/platform/ps2/iop/CoDyVDfs/common/codyvdirx.h | 4 ++-- backends/platform/ps2/iop/CoDyVDfs/iop/cdtypes.h | 4 ++-- backends/platform/ps2/iop/CoDyVDfs/iop/codyvdfs.h | 4 ++-- backends/platform/ps2/iop/CoDyVDfs/iop/fiofs.h | 4 ++-- backends/platform/ps2/iop/CoDyVDfs/iop/irx_imports.h | 4 ++-- backends/platform/ps2/iop/rpckbd/src/irx_imports.h | 4 ++-- backends/platform/ps2/irxboot.cpp | 4 ++-- backends/platform/ps2/irxboot.h | 4 ++-- backends/platform/ps2/ps2debug.cpp | 4 ++-- backends/platform/ps2/ps2debug.h | 4 ++-- backends/platform/ps2/ps2input.cpp | 4 ++-- backends/platform/ps2/ps2input.h | 4 ++-- backends/platform/ps2/ps2mutex.cpp | 4 ++-- backends/platform/ps2/ps2pad.cpp | 4 ++-- backends/platform/ps2/ps2pad.h | 4 ++-- backends/platform/ps2/ps2temp.h | 4 ++-- backends/platform/ps2/ps2time.cpp | 4 ++-- backends/platform/ps2/rpckbd.h | 4 ++-- backends/platform/ps2/savefilemgr.cpp | 4 ++-- backends/platform/ps2/savefilemgr.h | 4 ++-- backends/platform/ps2/sysdefs.h | 4 ++-- backends/platform/ps2/systemps2.cpp | 4 ++-- backends/platform/ps2/systemps2.h | 4 ++-- backends/plugins/ps2/ps2-provider.cpp | 4 ++-- backends/plugins/ps2/ps2-provider.h | 4 ++-- 41 files changed, 78 insertions(+), 74 deletions(-) diff --git a/backends/fs/ps2/ps2-fs-factory.cpp b/backends/fs/ps2/ps2-fs-factory.cpp index ef7b2013a3..9c12d27a6e 100644 --- a/backends/fs/ps2/ps2-fs-factory.cpp +++ b/backends/fs/ps2/ps2-fs-factory.cpp @@ -17,6 +17,7 @@ * 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. + * */ #if defined(__PLAYSTATION2__) diff --git a/backends/fs/ps2/ps2-fs-factory.h b/backends/fs/ps2/ps2-fs-factory.h index 9c6709cccf..d6745a64d3 100644 --- a/backends/fs/ps2/ps2-fs-factory.h +++ b/backends/fs/ps2/ps2-fs-factory.h @@ -17,6 +17,7 @@ * 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. + * */ #ifndef PS2_FILESYSTEM_FACTORY_H diff --git a/backends/fs/ps2/ps2-fs.cpp b/backends/fs/ps2/ps2-fs.cpp index 3a86cb3d9c..7cbd205ecb 100644 --- a/backends/fs/ps2/ps2-fs.cpp +++ b/backends/fs/ps2/ps2-fs.cpp @@ -17,6 +17,7 @@ * 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. + * */ #if defined(__PLAYSTATION2__) diff --git a/backends/fs/ps2/ps2-fs.h b/backends/fs/ps2/ps2-fs.h index df78f9f68a..4c1a9bba96 100644 --- a/backends/fs/ps2/ps2-fs.h +++ b/backends/fs/ps2/ps2-fs.h @@ -17,6 +17,7 @@ * 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. + * */ #ifndef PS2_FILESYSTEM_H diff --git a/backends/platform/ps2/DmaPipe.cpp b/backends/platform/ps2/DmaPipe.cpp index a346a67566..e0a7d97807 100644 --- a/backends/platform/ps2/DmaPipe.cpp +++ b/backends/platform/ps2/DmaPipe.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/ps2/DmaPipe.h b/backends/platform/ps2/DmaPipe.h index c99da1c395..ad5993923e 100644 --- a/backends/platform/ps2/DmaPipe.h +++ b/backends/platform/ps2/DmaPipe.h @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/ps2/Gs2dScreen.cpp b/backends/platform/ps2/Gs2dScreen.cpp index 58667c0230..7eeedc1944 100644 --- a/backends/platform/ps2/Gs2dScreen.cpp +++ b/backends/platform/ps2/Gs2dScreen.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/ps2/Gs2dScreen.h b/backends/platform/ps2/Gs2dScreen.h index 1a70dad170..be9729b66b 100644 --- a/backends/platform/ps2/Gs2dScreen.h +++ b/backends/platform/ps2/Gs2dScreen.h @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/ps2/GsDefs.h b/backends/platform/ps2/GsDefs.h index fab0c40b35..07e3c50ad8 100644 --- a/backends/platform/ps2/GsDefs.h +++ b/backends/platform/ps2/GsDefs.h @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/ps2/asyncfio.cpp b/backends/platform/ps2/asyncfio.cpp index 3f20349107..b49fcbca75 100644 --- a/backends/platform/ps2/asyncfio.cpp +++ b/backends/platform/ps2/asyncfio.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/ps2/asyncfio.h b/backends/platform/ps2/asyncfio.h index 31684d4349..2e39c8667c 100644 --- a/backends/platform/ps2/asyncfio.h +++ b/backends/platform/ps2/asyncfio.h @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/ps2/eecodyvdfs.h b/backends/platform/ps2/eecodyvdfs.h index 1d43fb662f..ac080873e1 100644 --- a/backends/platform/ps2/eecodyvdfs.h +++ b/backends/platform/ps2/eecodyvdfs.h @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/ps2/fileio.cpp b/backends/platform/ps2/fileio.cpp index 1ec16a3817..411e20d3bc 100644 --- a/backends/platform/ps2/fileio.cpp +++ b/backends/platform/ps2/fileio.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/ps2/fileio.h b/backends/platform/ps2/fileio.h index afa2ca1f24..27245dc9c9 100644 --- a/backends/platform/ps2/fileio.h +++ b/backends/platform/ps2/fileio.h @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/ps2/icon.cpp b/backends/platform/ps2/icon.cpp index bda4843647..df6a165cd4 100644 --- a/backends/platform/ps2/icon.cpp +++ b/backends/platform/ps2/icon.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/ps2/icon.h b/backends/platform/ps2/icon.h index 3ad19910d3..9413b8466c 100644 --- a/backends/platform/ps2/icon.h +++ b/backends/platform/ps2/icon.h @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/ps2/iop/CoDyVDfs/common/codyvdirx.h b/backends/platform/ps2/iop/CoDyVDfs/common/codyvdirx.h index e94e7dc8d6..81ef7cb6d0 100644 --- a/backends/platform/ps2/iop/CoDyVDfs/common/codyvdirx.h +++ b/backends/platform/ps2/iop/CoDyVDfs/common/codyvdirx.h @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/ps2/iop/CoDyVDfs/iop/cdtypes.h b/backends/platform/ps2/iop/CoDyVDfs/iop/cdtypes.h index ad86631cfd..ae4fd44ce5 100644 --- a/backends/platform/ps2/iop/CoDyVDfs/iop/cdtypes.h +++ b/backends/platform/ps2/iop/CoDyVDfs/iop/cdtypes.h @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/ps2/iop/CoDyVDfs/iop/codyvdfs.h b/backends/platform/ps2/iop/CoDyVDfs/iop/codyvdfs.h index b9f1edc194..d50e89e4f3 100644 --- a/backends/platform/ps2/iop/CoDyVDfs/iop/codyvdfs.h +++ b/backends/platform/ps2/iop/CoDyVDfs/iop/codyvdfs.h @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/ps2/iop/CoDyVDfs/iop/fiofs.h b/backends/platform/ps2/iop/CoDyVDfs/iop/fiofs.h index db942b0b7e..058594a126 100644 --- a/backends/platform/ps2/iop/CoDyVDfs/iop/fiofs.h +++ b/backends/platform/ps2/iop/CoDyVDfs/iop/fiofs.h @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/ps2/iop/CoDyVDfs/iop/irx_imports.h b/backends/platform/ps2/iop/CoDyVDfs/iop/irx_imports.h index 69bbc012f8..393a7ee9a5 100644 --- a/backends/platform/ps2/iop/CoDyVDfs/iop/irx_imports.h +++ b/backends/platform/ps2/iop/CoDyVDfs/iop/irx_imports.h @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/ps2/iop/rpckbd/src/irx_imports.h b/backends/platform/ps2/iop/rpckbd/src/irx_imports.h index f7d0656bda..193db4f02a 100644 --- a/backends/platform/ps2/iop/rpckbd/src/irx_imports.h +++ b/backends/platform/ps2/iop/rpckbd/src/irx_imports.h @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/ps2/irxboot.cpp b/backends/platform/ps2/irxboot.cpp index aa904d4f5b..d3049fcf4b 100644 --- a/backends/platform/ps2/irxboot.cpp +++ b/backends/platform/ps2/irxboot.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/ps2/irxboot.h b/backends/platform/ps2/irxboot.h index 81b47a37c6..867911da0f 100644 --- a/backends/platform/ps2/irxboot.h +++ b/backends/platform/ps2/irxboot.h @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/ps2/ps2debug.cpp b/backends/platform/ps2/ps2debug.cpp index 300e18316f..ec1e251583 100644 --- a/backends/platform/ps2/ps2debug.cpp +++ b/backends/platform/ps2/ps2debug.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/ps2/ps2debug.h b/backends/platform/ps2/ps2debug.h index 02831e0623..b3da749f60 100644 --- a/backends/platform/ps2/ps2debug.h +++ b/backends/platform/ps2/ps2debug.h @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/ps2/ps2input.cpp b/backends/platform/ps2/ps2input.cpp index 6f36c5ff90..6969aef931 100644 --- a/backends/platform/ps2/ps2input.cpp +++ b/backends/platform/ps2/ps2input.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/ps2/ps2input.h b/backends/platform/ps2/ps2input.h index b97daac042..7055b64f4e 100644 --- a/backends/platform/ps2/ps2input.h +++ b/backends/platform/ps2/ps2input.h @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/ps2/ps2mutex.cpp b/backends/platform/ps2/ps2mutex.cpp index ae63fe5724..440a7e2cce 100644 --- a/backends/platform/ps2/ps2mutex.cpp +++ b/backends/platform/ps2/ps2mutex.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/ps2/ps2pad.cpp b/backends/platform/ps2/ps2pad.cpp index 607b614691..b59547baca 100644 --- a/backends/platform/ps2/ps2pad.cpp +++ b/backends/platform/ps2/ps2pad.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/ps2/ps2pad.h b/backends/platform/ps2/ps2pad.h index aebb3c6339..0457cd46bb 100644 --- a/backends/platform/ps2/ps2pad.h +++ b/backends/platform/ps2/ps2pad.h @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/ps2/ps2temp.h b/backends/platform/ps2/ps2temp.h index afffc6de2b..acfd3c7800 100644 --- a/backends/platform/ps2/ps2temp.h +++ b/backends/platform/ps2/ps2temp.h @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/ps2/ps2time.cpp b/backends/platform/ps2/ps2time.cpp index 1cddd230a0..647cf0b661 100644 --- a/backends/platform/ps2/ps2time.cpp +++ b/backends/platform/ps2/ps2time.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/ps2/rpckbd.h b/backends/platform/ps2/rpckbd.h index bffd8e5be5..22cbbb4d21 100644 --- a/backends/platform/ps2/rpckbd.h +++ b/backends/platform/ps2/rpckbd.h @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/ps2/savefilemgr.cpp b/backends/platform/ps2/savefilemgr.cpp index 46af42e193..de03e76892 100644 --- a/backends/platform/ps2/savefilemgr.cpp +++ b/backends/platform/ps2/savefilemgr.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/ps2/savefilemgr.h b/backends/platform/ps2/savefilemgr.h index 163706eace..547f16fa77 100644 --- a/backends/platform/ps2/savefilemgr.h +++ b/backends/platform/ps2/savefilemgr.h @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/ps2/sysdefs.h b/backends/platform/ps2/sysdefs.h index 0114402233..0b0d286189 100644 --- a/backends/platform/ps2/sysdefs.h +++ b/backends/platform/ps2/sysdefs.h @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/ps2/systemps2.cpp b/backends/platform/ps2/systemps2.cpp index a7d782b07c..feee73cba7 100644 --- a/backends/platform/ps2/systemps2.cpp +++ b/backends/platform/ps2/systemps2.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/ps2/systemps2.h b/backends/platform/ps2/systemps2.h index 3ba40a70f9..580eb8b6f2 100644 --- a/backends/platform/ps2/systemps2.h +++ b/backends/platform/ps2/systemps2.h @@ -8,12 +8,12 @@ * 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. diff --git a/backends/plugins/ps2/ps2-provider.cpp b/backends/plugins/ps2/ps2-provider.cpp index 50cddb05e0..a4a9877c61 100644 --- a/backends/plugins/ps2/ps2-provider.cpp +++ b/backends/plugins/ps2/ps2-provider.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/backends/plugins/ps2/ps2-provider.h b/backends/plugins/ps2/ps2-provider.h index f4498204b4..6c95cc395a 100644 --- a/backends/plugins/ps2/ps2-provider.h +++ b/backends/plugins/ps2/ps2-provider.h @@ -8,12 +8,12 @@ * 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. -- cgit v1.2.3 From 6909a8e29ac860a8e09980939cf6cb2b89b6443c Mon Sep 17 00:00:00 2001 From: Johannes Schickel Date: Tue, 18 Feb 2014 02:34:23 +0100 Subject: PS3: Make GPL headers consistent in themselves. --- backends/events/ps3sdl/ps3sdl-events.cpp | 4 ++-- backends/events/ps3sdl/ps3sdl-events.h | 4 ++-- backends/fs/ps3/ps3-fs-factory.cpp | 1 + backends/fs/ps3/ps3-fs-factory.h | 1 + backends/mixer/sdl13/sdl13-mixer.cpp | 4 ++-- backends/mixer/sdl13/sdl13-mixer.h | 4 ++-- 6 files changed, 10 insertions(+), 8 deletions(-) diff --git a/backends/events/ps3sdl/ps3sdl-events.cpp b/backends/events/ps3sdl/ps3sdl-events.cpp index 723942af11..1a854436f1 100644 --- a/backends/events/ps3sdl/ps3sdl-events.cpp +++ b/backends/events/ps3sdl/ps3sdl-events.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/backends/events/ps3sdl/ps3sdl-events.h b/backends/events/ps3sdl/ps3sdl-events.h index 8cf2f43426..d28ce7fcf8 100644 --- a/backends/events/ps3sdl/ps3sdl-events.h +++ b/backends/events/ps3sdl/ps3sdl-events.h @@ -8,12 +8,12 @@ * 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. diff --git a/backends/fs/ps3/ps3-fs-factory.cpp b/backends/fs/ps3/ps3-fs-factory.cpp index 3257246c50..565452596f 100644 --- a/backends/fs/ps3/ps3-fs-factory.cpp +++ b/backends/fs/ps3/ps3-fs-factory.cpp @@ -17,6 +17,7 @@ * 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 "backends/fs/ps3/ps3-fs-factory.h" diff --git a/backends/fs/ps3/ps3-fs-factory.h b/backends/fs/ps3/ps3-fs-factory.h index 6c1988b1c9..f7d54a90fd 100644 --- a/backends/fs/ps3/ps3-fs-factory.h +++ b/backends/fs/ps3/ps3-fs-factory.h @@ -17,6 +17,7 @@ * 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. + * */ #ifndef PS3_FILESYSTEM_FACTORY_H diff --git a/backends/mixer/sdl13/sdl13-mixer.cpp b/backends/mixer/sdl13/sdl13-mixer.cpp index 24d3434fde..f9894a6f91 100644 --- a/backends/mixer/sdl13/sdl13-mixer.cpp +++ b/backends/mixer/sdl13/sdl13-mixer.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/backends/mixer/sdl13/sdl13-mixer.h b/backends/mixer/sdl13/sdl13-mixer.h index 9e07ea8673..ff2bb43084 100644 --- a/backends/mixer/sdl13/sdl13-mixer.h +++ b/backends/mixer/sdl13/sdl13-mixer.h @@ -8,12 +8,12 @@ * 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. -- cgit v1.2.3 From 2a7e57dd4813922abf7424287f5e3db939ed0823 Mon Sep 17 00:00:00 2001 From: Johannes Schickel Date: Tue, 18 Feb 2014 02:34:23 +0100 Subject: PSP: Make GPL headers consistent in themselves. --- backends/fs/psp/psp-fs-factory.cpp | 1 + backends/fs/psp/psp-fs-factory.h | 1 + backends/fs/psp/psp-fs.cpp | 1 + backends/fs/psp/psp-fs.h | 1 + backends/fs/psp/psp-stream.cpp | 4 ++-- backends/fs/psp/psp-stream.h | 4 ++-- backends/platform/psp/audio.cpp | 4 ++-- backends/platform/psp/audio.h | 4 ++-- backends/platform/psp/cursor.cpp | 4 ++-- backends/platform/psp/cursor.h | 4 ++-- backends/platform/psp/default_display_client.cpp | 4 ++-- backends/platform/psp/default_display_client.h | 4 ++-- backends/platform/psp/display_client.cpp | 4 ++-- backends/platform/psp/display_client.h | 4 ++-- backends/platform/psp/display_manager.cpp | 4 ++-- backends/platform/psp/display_manager.h | 4 ++-- backends/platform/psp/dummy.cpp | 4 ++-- backends/platform/psp/image_viewer.cpp | 4 ++-- backends/platform/psp/image_viewer.h | 4 ++-- backends/platform/psp/input.cpp | 4 ++-- backends/platform/psp/input.h | 4 ++-- backends/platform/psp/memory.cpp | 4 ++-- backends/platform/psp/memory.h | 4 ++-- backends/platform/psp/mp3.cpp | 4 ++-- backends/platform/psp/mp3.h | 4 ++-- backends/platform/psp/osys_psp.cpp | 4 ++-- backends/platform/psp/osys_psp.h | 4 ++-- backends/platform/psp/png_loader.cpp | 4 ++-- backends/platform/psp/png_loader.h | 4 ++-- backends/platform/psp/portdefs.h | 4 ++-- backends/platform/psp/powerman.cpp | 4 ++-- backends/platform/psp/powerman.h | 4 ++-- backends/platform/psp/psp_main.cpp | 4 ++-- backends/platform/psp/pspkeyboard.cpp | 4 ++-- backends/platform/psp/pspkeyboard.h | 4 ++-- backends/platform/psp/psppixelformat.cpp | 4 ++-- backends/platform/psp/psppixelformat.h | 4 ++-- backends/platform/psp/rtc.cpp | 4 ++-- backends/platform/psp/rtc.h | 4 ++-- backends/platform/psp/tests.cpp | 4 ++-- backends/platform/psp/tests.h | 4 ++-- backends/platform/psp/thread.cpp | 4 ++-- backends/platform/psp/thread.h | 4 ++-- backends/platform/psp/trace.cpp | 4 ++-- backends/platform/psp/trace.h | 4 ++-- backends/plugins/psp/psp-provider.cpp | 4 ++-- backends/plugins/psp/psp-provider.h | 4 ++-- backends/saves/psp/psp-saves.cpp | 4 ++-- backends/saves/psp/psp-saves.h | 4 ++-- backends/timer/psp/timer.cpp | 4 ++-- backends/timer/psp/timer.h | 4 ++-- 51 files changed, 98 insertions(+), 94 deletions(-) diff --git a/backends/fs/psp/psp-fs-factory.cpp b/backends/fs/psp/psp-fs-factory.cpp index bb3aca8ee6..303ea242c5 100644 --- a/backends/fs/psp/psp-fs-factory.cpp +++ b/backends/fs/psp/psp-fs-factory.cpp @@ -17,6 +17,7 @@ * 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. + * */ #if defined(__PSP__) diff --git a/backends/fs/psp/psp-fs-factory.h b/backends/fs/psp/psp-fs-factory.h index d57c8fb655..26888487c2 100644 --- a/backends/fs/psp/psp-fs-factory.h +++ b/backends/fs/psp/psp-fs-factory.h @@ -17,6 +17,7 @@ * 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. + * */ #ifndef PSP_FILESYSTEM_FACTORY_H diff --git a/backends/fs/psp/psp-fs.cpp b/backends/fs/psp/psp-fs.cpp index 67f4cd59a7..e8aad9fa98 100644 --- a/backends/fs/psp/psp-fs.cpp +++ b/backends/fs/psp/psp-fs.cpp @@ -17,6 +17,7 @@ * 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. + * */ #if defined(__PSP__) diff --git a/backends/fs/psp/psp-fs.h b/backends/fs/psp/psp-fs.h index 146debb5f1..1bb4543d19 100644 --- a/backends/fs/psp/psp-fs.h +++ b/backends/fs/psp/psp-fs.h @@ -17,6 +17,7 @@ * 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. + * */ #ifndef PSP_FILESYSTEM_H diff --git a/backends/fs/psp/psp-stream.cpp b/backends/fs/psp/psp-stream.cpp index da5a46eedb..c9b2fc7d8c 100644 --- a/backends/fs/psp/psp-stream.cpp +++ b/backends/fs/psp/psp-stream.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/backends/fs/psp/psp-stream.h b/backends/fs/psp/psp-stream.h index 395b27392d..734cb66184 100644 --- a/backends/fs/psp/psp-stream.h +++ b/backends/fs/psp/psp-stream.h @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/psp/audio.cpp b/backends/platform/psp/audio.cpp index dcbf0b2239..53423b6bbb 100644 --- a/backends/platform/psp/audio.cpp +++ b/backends/platform/psp/audio.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/psp/audio.h b/backends/platform/psp/audio.h index 34ded5c638..04f8954840 100644 --- a/backends/platform/psp/audio.h +++ b/backends/platform/psp/audio.h @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/psp/cursor.cpp b/backends/platform/psp/cursor.cpp index b295507de1..0760bd1354 100644 --- a/backends/platform/psp/cursor.cpp +++ b/backends/platform/psp/cursor.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/psp/cursor.h b/backends/platform/psp/cursor.h index f79968243b..85a6cbcc34 100644 --- a/backends/platform/psp/cursor.h +++ b/backends/platform/psp/cursor.h @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/psp/default_display_client.cpp b/backends/platform/psp/default_display_client.cpp index 6d6eb641f7..f2d8a7c03c 100644 --- a/backends/platform/psp/default_display_client.cpp +++ b/backends/platform/psp/default_display_client.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/psp/default_display_client.h b/backends/platform/psp/default_display_client.h index 95c52e2352..d46b7f1a8a 100644 --- a/backends/platform/psp/default_display_client.h +++ b/backends/platform/psp/default_display_client.h @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/psp/display_client.cpp b/backends/platform/psp/display_client.cpp index bc29166895..b238631e62 100644 --- a/backends/platform/psp/display_client.cpp +++ b/backends/platform/psp/display_client.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/psp/display_client.h b/backends/platform/psp/display_client.h index e384bfb82b..5e81947e20 100644 --- a/backends/platform/psp/display_client.h +++ b/backends/platform/psp/display_client.h @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/psp/display_manager.cpp b/backends/platform/psp/display_manager.cpp index c2ff84c7f5..2e995c809e 100644 --- a/backends/platform/psp/display_manager.cpp +++ b/backends/platform/psp/display_manager.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/psp/display_manager.h b/backends/platform/psp/display_manager.h index 38c43d60a3..b1b748a68c 100644 --- a/backends/platform/psp/display_manager.h +++ b/backends/platform/psp/display_manager.h @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/psp/dummy.cpp b/backends/platform/psp/dummy.cpp index 998ecf1488..240a1e25b5 100644 --- a/backends/platform/psp/dummy.cpp +++ b/backends/platform/psp/dummy.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/psp/image_viewer.cpp b/backends/platform/psp/image_viewer.cpp index 98205ddee9..8a1a256469 100644 --- a/backends/platform/psp/image_viewer.cpp +++ b/backends/platform/psp/image_viewer.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/psp/image_viewer.h b/backends/platform/psp/image_viewer.h index 91a70b85cc..66b640b6f3 100644 --- a/backends/platform/psp/image_viewer.h +++ b/backends/platform/psp/image_viewer.h @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/psp/input.cpp b/backends/platform/psp/input.cpp index 5e20fb1e43..4d7577eb94 100644 --- a/backends/platform/psp/input.cpp +++ b/backends/platform/psp/input.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/psp/input.h b/backends/platform/psp/input.h index ef2e1b84a4..05b575e0b0 100644 --- a/backends/platform/psp/input.h +++ b/backends/platform/psp/input.h @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/psp/memory.cpp b/backends/platform/psp/memory.cpp index 5419d60eb3..72a526c0ff 100644 --- a/backends/platform/psp/memory.cpp +++ b/backends/platform/psp/memory.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/psp/memory.h b/backends/platform/psp/memory.h index 5b728460fc..d7c5420d64 100644 --- a/backends/platform/psp/memory.h +++ b/backends/platform/psp/memory.h @@ -9,12 +9,12 @@ * 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. diff --git a/backends/platform/psp/mp3.cpp b/backends/platform/psp/mp3.cpp index 3dbf31112a..6db2a73a4b 100644 --- a/backends/platform/psp/mp3.cpp +++ b/backends/platform/psp/mp3.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/psp/mp3.h b/backends/platform/psp/mp3.h index f7bfdda254..86dfc4c37d 100644 --- a/backends/platform/psp/mp3.h +++ b/backends/platform/psp/mp3.h @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/psp/osys_psp.cpp b/backends/platform/psp/osys_psp.cpp index 8559066e53..67cb72d9d4 100644 --- a/backends/platform/psp/osys_psp.cpp +++ b/backends/platform/psp/osys_psp.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/psp/osys_psp.h b/backends/platform/psp/osys_psp.h index f4591e476d..6f9238b84e 100644 --- a/backends/platform/psp/osys_psp.h +++ b/backends/platform/psp/osys_psp.h @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/psp/png_loader.cpp b/backends/platform/psp/png_loader.cpp index 4de13d1e73..e54541b75d 100644 --- a/backends/platform/psp/png_loader.cpp +++ b/backends/platform/psp/png_loader.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/psp/png_loader.h b/backends/platform/psp/png_loader.h index 48a3220d78..b84bef4efe 100644 --- a/backends/platform/psp/png_loader.h +++ b/backends/platform/psp/png_loader.h @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/psp/portdefs.h b/backends/platform/psp/portdefs.h index 620a27a601..3e7b559666 100644 --- a/backends/platform/psp/portdefs.h +++ b/backends/platform/psp/portdefs.h @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/psp/powerman.cpp b/backends/platform/psp/powerman.cpp index b72d05809d..3cd663e3c7 100644 --- a/backends/platform/psp/powerman.cpp +++ b/backends/platform/psp/powerman.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/psp/powerman.h b/backends/platform/psp/powerman.h index e62b1ada8e..77cfb26720 100644 --- a/backends/platform/psp/powerman.h +++ b/backends/platform/psp/powerman.h @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/psp/psp_main.cpp b/backends/platform/psp/psp_main.cpp index a83a5bae71..8901f4ecd3 100644 --- a/backends/platform/psp/psp_main.cpp +++ b/backends/platform/psp/psp_main.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/psp/pspkeyboard.cpp b/backends/platform/psp/pspkeyboard.cpp index 66efe9145d..7b5637e52f 100644 --- a/backends/platform/psp/pspkeyboard.cpp +++ b/backends/platform/psp/pspkeyboard.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/psp/pspkeyboard.h b/backends/platform/psp/pspkeyboard.h index bd270da26f..ece769e0ce 100644 --- a/backends/platform/psp/pspkeyboard.h +++ b/backends/platform/psp/pspkeyboard.h @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/psp/psppixelformat.cpp b/backends/platform/psp/psppixelformat.cpp index e1649791a1..2d7d524b45 100644 --- a/backends/platform/psp/psppixelformat.cpp +++ b/backends/platform/psp/psppixelformat.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/psp/psppixelformat.h b/backends/platform/psp/psppixelformat.h index ca85e76211..ede5a97d6f 100644 --- a/backends/platform/psp/psppixelformat.h +++ b/backends/platform/psp/psppixelformat.h @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/psp/rtc.cpp b/backends/platform/psp/rtc.cpp index 4f15e45535..d01bd8f83a 100644 --- a/backends/platform/psp/rtc.cpp +++ b/backends/platform/psp/rtc.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/psp/rtc.h b/backends/platform/psp/rtc.h index d2689681dd..58d70f4ab2 100644 --- a/backends/platform/psp/rtc.h +++ b/backends/platform/psp/rtc.h @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/psp/tests.cpp b/backends/platform/psp/tests.cpp index 5c5ebb7a80..92a18e58d0 100644 --- a/backends/platform/psp/tests.cpp +++ b/backends/platform/psp/tests.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/psp/tests.h b/backends/platform/psp/tests.h index 3779cb6bb2..718287b9dd 100644 --- a/backends/platform/psp/tests.h +++ b/backends/platform/psp/tests.h @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/psp/thread.cpp b/backends/platform/psp/thread.cpp index 57370f7685..669a682c21 100644 --- a/backends/platform/psp/thread.cpp +++ b/backends/platform/psp/thread.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/psp/thread.h b/backends/platform/psp/thread.h index ca94b8c82c..a0d53e8638 100644 --- a/backends/platform/psp/thread.h +++ b/backends/platform/psp/thread.h @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/psp/trace.cpp b/backends/platform/psp/trace.cpp index 008b508b7e..50459dcea5 100644 --- a/backends/platform/psp/trace.cpp +++ b/backends/platform/psp/trace.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/psp/trace.h b/backends/platform/psp/trace.h index e27d06d8d3..43ccaea52a 100644 --- a/backends/platform/psp/trace.h +++ b/backends/platform/psp/trace.h @@ -8,12 +8,12 @@ * 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. diff --git a/backends/plugins/psp/psp-provider.cpp b/backends/plugins/psp/psp-provider.cpp index 1d8cad6b50..217a58e48d 100644 --- a/backends/plugins/psp/psp-provider.cpp +++ b/backends/plugins/psp/psp-provider.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/backends/plugins/psp/psp-provider.h b/backends/plugins/psp/psp-provider.h index 4ace3e7f4b..6211ac6f64 100644 --- a/backends/plugins/psp/psp-provider.h +++ b/backends/plugins/psp/psp-provider.h @@ -8,12 +8,12 @@ * 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. diff --git a/backends/saves/psp/psp-saves.cpp b/backends/saves/psp/psp-saves.cpp index 65003e9fb9..9d9affbc1b 100644 --- a/backends/saves/psp/psp-saves.cpp +++ b/backends/saves/psp/psp-saves.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/backends/saves/psp/psp-saves.h b/backends/saves/psp/psp-saves.h index de2d8a693e..a0e4c38ecf 100644 --- a/backends/saves/psp/psp-saves.h +++ b/backends/saves/psp/psp-saves.h @@ -8,12 +8,12 @@ * 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. diff --git a/backends/timer/psp/timer.cpp b/backends/timer/psp/timer.cpp index 6f8e4b6643..278f50581c 100644 --- a/backends/timer/psp/timer.cpp +++ b/backends/timer/psp/timer.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/backends/timer/psp/timer.h b/backends/timer/psp/timer.h index 76eebfd6a4..45b32e0e14 100644 --- a/backends/timer/psp/timer.h +++ b/backends/timer/psp/timer.h @@ -8,12 +8,12 @@ * 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. -- cgit v1.2.3 From 34552b9ee7fc3b08dc19ec8f26583f957e4a9386 Mon Sep 17 00:00:00 2001 From: Johannes Schickel Date: Tue, 18 Feb 2014 02:34:23 +0100 Subject: QUEEN: Make GPL headers consistent in themselves. --- engines/queen/bankman.cpp | 4 ++-- engines/queen/bankman.h | 4 ++-- engines/queen/command.cpp | 4 ++-- engines/queen/command.h | 4 ++-- engines/queen/credits.cpp | 4 ++-- engines/queen/credits.h | 4 ++-- engines/queen/cutaway.cpp | 4 ++-- engines/queen/cutaway.h | 4 ++-- engines/queen/debug.cpp | 4 ++-- engines/queen/debug.h | 4 ++-- engines/queen/defs.h | 4 ++-- engines/queen/detection.cpp | 4 ++-- engines/queen/display.cpp | 4 ++-- engines/queen/display.h | 4 ++-- engines/queen/graphics.cpp | 4 ++-- engines/queen/graphics.h | 4 ++-- engines/queen/grid.cpp | 4 ++-- engines/queen/grid.h | 4 ++-- engines/queen/input.cpp | 4 ++-- engines/queen/input.h | 4 ++-- engines/queen/journal.cpp | 4 ++-- engines/queen/journal.h | 4 ++-- engines/queen/logic.cpp | 4 ++-- engines/queen/logic.h | 4 ++-- engines/queen/midiadlib.cpp | 4 ++-- engines/queen/music.cpp | 4 ++-- engines/queen/music.h | 4 ++-- engines/queen/musicdata.cpp | 4 ++-- engines/queen/queen.cpp | 4 ++-- engines/queen/queen.h | 4 ++-- engines/queen/resource.cpp | 4 ++-- engines/queen/resource.h | 4 ++-- engines/queen/restables.cpp | 4 ++-- engines/queen/sound.cpp | 4 ++-- engines/queen/sound.h | 4 ++-- engines/queen/state.cpp | 4 ++-- engines/queen/state.h | 4 ++-- engines/queen/structs.h | 4 ++-- engines/queen/talk.cpp | 4 ++-- engines/queen/talk.h | 4 ++-- engines/queen/walk.cpp | 4 ++-- engines/queen/walk.h | 4 ++-- 42 files changed, 84 insertions(+), 84 deletions(-) diff --git a/engines/queen/bankman.cpp b/engines/queen/bankman.cpp index ea823773dc..6d99874697 100644 --- a/engines/queen/bankman.cpp +++ b/engines/queen/bankman.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/queen/bankman.h b/engines/queen/bankman.h index 9e1e726fbf..87c58022a1 100644 --- a/engines/queen/bankman.h +++ b/engines/queen/bankman.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/queen/command.cpp b/engines/queen/command.cpp index 7876dbfae9..d9fafa3a1d 100644 --- a/engines/queen/command.cpp +++ b/engines/queen/command.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/queen/command.h b/engines/queen/command.h index 6865aa80a2..1d49b134de 100644 --- a/engines/queen/command.h +++ b/engines/queen/command.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/queen/credits.cpp b/engines/queen/credits.cpp index 43e3bc7c6a..b2f6a601bf 100644 --- a/engines/queen/credits.cpp +++ b/engines/queen/credits.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/queen/credits.h b/engines/queen/credits.h index b89d029a59..56e0bdb882 100644 --- a/engines/queen/credits.h +++ b/engines/queen/credits.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/queen/cutaway.cpp b/engines/queen/cutaway.cpp index ade1220a5e..0f54431acf 100644 --- a/engines/queen/cutaway.cpp +++ b/engines/queen/cutaway.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/queen/cutaway.h b/engines/queen/cutaway.h index a7e3646a59..f6115c8023 100644 --- a/engines/queen/cutaway.h +++ b/engines/queen/cutaway.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/queen/debug.cpp b/engines/queen/debug.cpp index d09c5d4469..96fa81488f 100644 --- a/engines/queen/debug.cpp +++ b/engines/queen/debug.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/queen/debug.h b/engines/queen/debug.h index 01da4a35d6..19d77dffc0 100644 --- a/engines/queen/debug.h +++ b/engines/queen/debug.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/queen/defs.h b/engines/queen/defs.h index 3d06485ef5..1904a390bc 100644 --- a/engines/queen/defs.h +++ b/engines/queen/defs.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/queen/detection.cpp b/engines/queen/detection.cpp index 9c37fec754..5a7b4c6ad0 100644 --- a/engines/queen/detection.cpp +++ b/engines/queen/detection.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/queen/display.cpp b/engines/queen/display.cpp index 7437bab974..85cc7cadaa 100644 --- a/engines/queen/display.cpp +++ b/engines/queen/display.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/queen/display.h b/engines/queen/display.h index 8a8aaef5a6..7261d05b07 100644 --- a/engines/queen/display.h +++ b/engines/queen/display.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/queen/graphics.cpp b/engines/queen/graphics.cpp index d98ddd635f..87236447e8 100644 --- a/engines/queen/graphics.cpp +++ b/engines/queen/graphics.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/queen/graphics.h b/engines/queen/graphics.h index 9c719ba22c..2035b170d3 100644 --- a/engines/queen/graphics.h +++ b/engines/queen/graphics.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/queen/grid.cpp b/engines/queen/grid.cpp index 82b98c0150..467f341c0b 100644 --- a/engines/queen/grid.cpp +++ b/engines/queen/grid.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/queen/grid.h b/engines/queen/grid.h index f905e3f4fe..2e60c62b59 100644 --- a/engines/queen/grid.h +++ b/engines/queen/grid.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/queen/input.cpp b/engines/queen/input.cpp index dd10e7ad46..1cce9ad6d1 100644 --- a/engines/queen/input.cpp +++ b/engines/queen/input.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/queen/input.h b/engines/queen/input.h index f04ecb24f7..87f6b20e71 100644 --- a/engines/queen/input.h +++ b/engines/queen/input.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/queen/journal.cpp b/engines/queen/journal.cpp index 474f72eca5..db80775fc7 100644 --- a/engines/queen/journal.cpp +++ b/engines/queen/journal.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/queen/journal.h b/engines/queen/journal.h index a9b9ccb2b8..57907f0ff1 100644 --- a/engines/queen/journal.h +++ b/engines/queen/journal.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/queen/logic.cpp b/engines/queen/logic.cpp index ea13e5973e..d48bb8a498 100644 --- a/engines/queen/logic.cpp +++ b/engines/queen/logic.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/queen/logic.h b/engines/queen/logic.h index 608c19e71e..d597942257 100644 --- a/engines/queen/logic.h +++ b/engines/queen/logic.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/queen/midiadlib.cpp b/engines/queen/midiadlib.cpp index 83853cba92..25175c21d7 100644 --- a/engines/queen/midiadlib.cpp +++ b/engines/queen/midiadlib.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/queen/music.cpp b/engines/queen/music.cpp index 2835954003..93d6527622 100644 --- a/engines/queen/music.cpp +++ b/engines/queen/music.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/queen/music.h b/engines/queen/music.h index ea6affcbe5..b475639f22 100644 --- a/engines/queen/music.h +++ b/engines/queen/music.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/queen/musicdata.cpp b/engines/queen/musicdata.cpp index a046355446..57c28c90f4 100644 --- a/engines/queen/musicdata.cpp +++ b/engines/queen/musicdata.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/queen/queen.cpp b/engines/queen/queen.cpp index 8d4db75cc1..0aea6122ca 100644 --- a/engines/queen/queen.cpp +++ b/engines/queen/queen.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/queen/queen.h b/engines/queen/queen.h index a8b0e9f6ed..c00e1b3a70 100644 --- a/engines/queen/queen.h +++ b/engines/queen/queen.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/queen/resource.cpp b/engines/queen/resource.cpp index 6a55929d65..714b3cef39 100644 --- a/engines/queen/resource.cpp +++ b/engines/queen/resource.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/queen/resource.h b/engines/queen/resource.h index 7317ec5134..e090dabbd3 100644 --- a/engines/queen/resource.h +++ b/engines/queen/resource.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/queen/restables.cpp b/engines/queen/restables.cpp index bc828164b0..55e13b2135 100644 --- a/engines/queen/restables.cpp +++ b/engines/queen/restables.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/queen/sound.cpp b/engines/queen/sound.cpp index 6731a51e04..63e24454c1 100644 --- a/engines/queen/sound.cpp +++ b/engines/queen/sound.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/queen/sound.h b/engines/queen/sound.h index 6a5dfc2c28..d06d93b9e1 100644 --- a/engines/queen/sound.h +++ b/engines/queen/sound.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/queen/state.cpp b/engines/queen/state.cpp index a07e68045b..09d2ccca47 100644 --- a/engines/queen/state.cpp +++ b/engines/queen/state.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/queen/state.h b/engines/queen/state.h index 1a6725c800..786434156b 100644 --- a/engines/queen/state.h +++ b/engines/queen/state.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/queen/structs.h b/engines/queen/structs.h index 6dd98fa1f5..4f413d8c6d 100644 --- a/engines/queen/structs.h +++ b/engines/queen/structs.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/queen/talk.cpp b/engines/queen/talk.cpp index dd3ce0022e..1b9d72babc 100644 --- a/engines/queen/talk.cpp +++ b/engines/queen/talk.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/queen/talk.h b/engines/queen/talk.h index cba77cc255..4dcf5ba52c 100644 --- a/engines/queen/talk.h +++ b/engines/queen/talk.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/queen/walk.cpp b/engines/queen/walk.cpp index b5c9b97ce0..dd7e46c765 100644 --- a/engines/queen/walk.cpp +++ b/engines/queen/walk.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/queen/walk.h b/engines/queen/walk.h index e5257b7afa..ce72607cbf 100644 --- a/engines/queen/walk.h +++ b/engines/queen/walk.h @@ -8,12 +8,12 @@ * 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. -- cgit v1.2.3 From c1be2aedbb8592089386cf408f133efba327e5be Mon Sep 17 00:00:00 2001 From: Johannes Schickel Date: Tue, 18 Feb 2014 02:34:24 +0100 Subject: SAGA: Make GPL headers consistent in themselves. --- engines/saga/actor.cpp | 4 ++-- engines/saga/actor.h | 4 ++-- engines/saga/actor_path.cpp | 4 ++-- engines/saga/actor_walk.cpp | 4 ++-- engines/saga/animation.cpp | 4 ++-- engines/saga/animation.h | 4 ++-- engines/saga/console.cpp | 4 ++-- engines/saga/console.h | 4 ++-- engines/saga/detection.cpp | 4 ++-- engines/saga/detection_tables.h | 4 ++-- engines/saga/displayinfo.h | 4 ++-- engines/saga/events.cpp | 4 ++-- engines/saga/events.h | 4 ++-- engines/saga/font.cpp | 4 ++-- engines/saga/font.h | 4 ++-- engines/saga/font_map.cpp | 4 ++-- engines/saga/gfx.cpp | 4 ++-- engines/saga/gfx.h | 4 ++-- engines/saga/image.cpp | 4 ++-- engines/saga/input.cpp | 4 ++-- engines/saga/interface.cpp | 4 ++-- engines/saga/interface.h | 4 ++-- engines/saga/introproc_ihnm.cpp | 4 ++-- engines/saga/introproc_ite.cpp | 4 ++-- engines/saga/introproc_saga2.cpp | 4 ++-- engines/saga/isomap.cpp | 4 ++-- engines/saga/isomap.h | 4 ++-- engines/saga/itedata.cpp | 4 ++-- engines/saga/itedata.h | 4 ++-- engines/saga/music.cpp | 4 ++-- engines/saga/music.h | 4 ++-- engines/saga/objectmap.cpp | 4 ++-- engines/saga/objectmap.h | 4 ++-- engines/saga/palanim.cpp | 4 ++-- engines/saga/palanim.h | 4 ++-- engines/saga/puzzle.cpp | 4 ++-- engines/saga/puzzle.h | 4 ++-- engines/saga/render.cpp | 4 ++-- engines/saga/render.h | 4 ++-- engines/saga/resource.cpp | 4 ++-- engines/saga/resource.h | 4 ++-- engines/saga/resource_hrs.cpp | 4 ++-- engines/saga/resource_res.cpp | 4 ++-- engines/saga/resource_rsc.cpp | 4 ++-- engines/saga/saga.cpp | 4 ++-- engines/saga/saga.h | 4 ++-- engines/saga/saveload.cpp | 4 ++-- engines/saga/scene.cpp | 4 ++-- engines/saga/scene.h | 4 ++-- engines/saga/script.cpp | 4 ++-- engines/saga/script.h | 4 ++-- engines/saga/sfuncs.cpp | 4 ++-- engines/saga/sfuncs_ihnm.cpp | 4 ++-- engines/saga/shorten.cpp | 4 ++-- engines/saga/shorten.h | 4 ++-- engines/saga/sndres.cpp | 4 ++-- engines/saga/sndres.h | 4 ++-- engines/saga/sound.cpp | 4 ++-- engines/saga/sound.h | 4 ++-- engines/saga/sprite.cpp | 4 ++-- engines/saga/sprite.h | 4 ++-- engines/saga/sthread.cpp | 4 ++-- 62 files changed, 124 insertions(+), 124 deletions(-) diff --git a/engines/saga/actor.cpp b/engines/saga/actor.cpp index 0548da9ee5..d8b115f9bd 100644 --- a/engines/saga/actor.cpp +++ b/engines/saga/actor.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/saga/actor.h b/engines/saga/actor.h index d9d4b70168..b8a5436d76 100644 --- a/engines/saga/actor.h +++ b/engines/saga/actor.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/saga/actor_path.cpp b/engines/saga/actor_path.cpp index d0f1cf2b5b..7cf834ded1 100644 --- a/engines/saga/actor_path.cpp +++ b/engines/saga/actor_path.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/saga/actor_walk.cpp b/engines/saga/actor_walk.cpp index ea33a0950d..a5345261c5 100644 --- a/engines/saga/actor_walk.cpp +++ b/engines/saga/actor_walk.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/saga/animation.cpp b/engines/saga/animation.cpp index df8283b4c2..9e0bcf52ad 100644 --- a/engines/saga/animation.cpp +++ b/engines/saga/animation.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/saga/animation.h b/engines/saga/animation.h index 2c42cb7253..dbb3117ba2 100644 --- a/engines/saga/animation.h +++ b/engines/saga/animation.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/saga/console.cpp b/engines/saga/console.cpp index 771925a321..eab615b33f 100644 --- a/engines/saga/console.cpp +++ b/engines/saga/console.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/saga/console.h b/engines/saga/console.h index b93638467b..625e6f57ad 100644 --- a/engines/saga/console.h +++ b/engines/saga/console.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/saga/detection.cpp b/engines/saga/detection.cpp index f6872c41ad..8487811398 100644 --- a/engines/saga/detection.cpp +++ b/engines/saga/detection.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/saga/detection_tables.h b/engines/saga/detection_tables.h index 30cb13a031..72187a1a13 100644 --- a/engines/saga/detection_tables.h +++ b/engines/saga/detection_tables.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/saga/displayinfo.h b/engines/saga/displayinfo.h index 70c36bafd5..a0cdf5733b 100644 --- a/engines/saga/displayinfo.h +++ b/engines/saga/displayinfo.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/saga/events.cpp b/engines/saga/events.cpp index c5842f4998..013b019c9f 100644 --- a/engines/saga/events.cpp +++ b/engines/saga/events.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/saga/events.h b/engines/saga/events.h index 581abe17b0..6c423abb8c 100644 --- a/engines/saga/events.h +++ b/engines/saga/events.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/saga/font.cpp b/engines/saga/font.cpp index 8c3f4d7c42..73d42598cb 100644 --- a/engines/saga/font.cpp +++ b/engines/saga/font.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/saga/font.h b/engines/saga/font.h index a45299ad48..e46468e816 100644 --- a/engines/saga/font.h +++ b/engines/saga/font.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/saga/font_map.cpp b/engines/saga/font_map.cpp index 936c8e779c..145956f25f 100644 --- a/engines/saga/font_map.cpp +++ b/engines/saga/font_map.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/saga/gfx.cpp b/engines/saga/gfx.cpp index 62250a0820..ceb86ebb18 100644 --- a/engines/saga/gfx.cpp +++ b/engines/saga/gfx.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/saga/gfx.h b/engines/saga/gfx.h index c68160e907..ef2c2bde43 100644 --- a/engines/saga/gfx.h +++ b/engines/saga/gfx.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/saga/image.cpp b/engines/saga/image.cpp index 3434d46b42..31a38623f8 100644 --- a/engines/saga/image.cpp +++ b/engines/saga/image.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/saga/input.cpp b/engines/saga/input.cpp index 8576a3e536..cf30c5fc38 100644 --- a/engines/saga/input.cpp +++ b/engines/saga/input.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/saga/interface.cpp b/engines/saga/interface.cpp index b105e34487..680b2274f5 100644 --- a/engines/saga/interface.cpp +++ b/engines/saga/interface.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/saga/interface.h b/engines/saga/interface.h index 84533705fe..340a0e9180 100644 --- a/engines/saga/interface.h +++ b/engines/saga/interface.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/saga/introproc_ihnm.cpp b/engines/saga/introproc_ihnm.cpp index 7922d56425..fc28d2372f 100644 --- a/engines/saga/introproc_ihnm.cpp +++ b/engines/saga/introproc_ihnm.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/saga/introproc_ite.cpp b/engines/saga/introproc_ite.cpp index ed53e078a0..91b1d3db95 100644 --- a/engines/saga/introproc_ite.cpp +++ b/engines/saga/introproc_ite.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/saga/introproc_saga2.cpp b/engines/saga/introproc_saga2.cpp index e61dfbf161..710236b0c4 100644 --- a/engines/saga/introproc_saga2.cpp +++ b/engines/saga/introproc_saga2.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/saga/isomap.cpp b/engines/saga/isomap.cpp index 945b4ad5a7..77680178c1 100644 --- a/engines/saga/isomap.cpp +++ b/engines/saga/isomap.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/saga/isomap.h b/engines/saga/isomap.h index b35f79b1af..155d9b8d24 100644 --- a/engines/saga/isomap.h +++ b/engines/saga/isomap.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/saga/itedata.cpp b/engines/saga/itedata.cpp index 44aa48ccee..87b71c2cb7 100644 --- a/engines/saga/itedata.cpp +++ b/engines/saga/itedata.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/saga/itedata.h b/engines/saga/itedata.h index 73f0a2aa21..d27b84781f 100644 --- a/engines/saga/itedata.h +++ b/engines/saga/itedata.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/saga/music.cpp b/engines/saga/music.cpp index 3ac89bc2c2..e444900967 100644 --- a/engines/saga/music.cpp +++ b/engines/saga/music.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/saga/music.h b/engines/saga/music.h index 081fab21f6..ba44c3ca71 100644 --- a/engines/saga/music.h +++ b/engines/saga/music.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/saga/objectmap.cpp b/engines/saga/objectmap.cpp index b300a247e9..f27c888a61 100644 --- a/engines/saga/objectmap.cpp +++ b/engines/saga/objectmap.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/saga/objectmap.h b/engines/saga/objectmap.h index 3f71c8f95d..7f00fc390a 100644 --- a/engines/saga/objectmap.h +++ b/engines/saga/objectmap.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/saga/palanim.cpp b/engines/saga/palanim.cpp index 021a4c9bac..b5178a3d75 100644 --- a/engines/saga/palanim.cpp +++ b/engines/saga/palanim.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/saga/palanim.h b/engines/saga/palanim.h index 920cbec65a..a6ec4674cf 100644 --- a/engines/saga/palanim.h +++ b/engines/saga/palanim.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/saga/puzzle.cpp b/engines/saga/puzzle.cpp index 63d9a88fee..705834f1b7 100644 --- a/engines/saga/puzzle.cpp +++ b/engines/saga/puzzle.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/saga/puzzle.h b/engines/saga/puzzle.h index 0f9bd8aeff..2a6a8cf4ed 100644 --- a/engines/saga/puzzle.h +++ b/engines/saga/puzzle.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/saga/render.cpp b/engines/saga/render.cpp index a9ef23381e..1f23a388d0 100644 --- a/engines/saga/render.cpp +++ b/engines/saga/render.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/saga/render.h b/engines/saga/render.h index 5694bacb35..4aaaf61eb4 100644 --- a/engines/saga/render.h +++ b/engines/saga/render.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/saga/resource.cpp b/engines/saga/resource.cpp index 8025a949d4..cdf674dc66 100644 --- a/engines/saga/resource.cpp +++ b/engines/saga/resource.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/saga/resource.h b/engines/saga/resource.h index a8e2e92361..252e92c967 100644 --- a/engines/saga/resource.h +++ b/engines/saga/resource.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/saga/resource_hrs.cpp b/engines/saga/resource_hrs.cpp index ac16e21c12..09da9cf0bb 100644 --- a/engines/saga/resource_hrs.cpp +++ b/engines/saga/resource_hrs.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/saga/resource_res.cpp b/engines/saga/resource_res.cpp index 4fec9da662..d57238b2eb 100644 --- a/engines/saga/resource_res.cpp +++ b/engines/saga/resource_res.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/saga/resource_rsc.cpp b/engines/saga/resource_rsc.cpp index bc66e9e30a..aaec90e655 100644 --- a/engines/saga/resource_rsc.cpp +++ b/engines/saga/resource_rsc.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/saga/saga.cpp b/engines/saga/saga.cpp index 239a3be9db..b15d161ba3 100644 --- a/engines/saga/saga.cpp +++ b/engines/saga/saga.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/saga/saga.h b/engines/saga/saga.h index 645e1c30d0..6077e55094 100644 --- a/engines/saga/saga.h +++ b/engines/saga/saga.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/saga/saveload.cpp b/engines/saga/saveload.cpp index 9784cf4e33..90ba62070b 100644 --- a/engines/saga/saveload.cpp +++ b/engines/saga/saveload.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/saga/scene.cpp b/engines/saga/scene.cpp index eff31cf98b..5ca2f8d31a 100644 --- a/engines/saga/scene.cpp +++ b/engines/saga/scene.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/saga/scene.h b/engines/saga/scene.h index 6e2cb12380..0a3b98b33f 100644 --- a/engines/saga/scene.h +++ b/engines/saga/scene.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/saga/script.cpp b/engines/saga/script.cpp index 3efc554cb3..94b26c8da3 100644 --- a/engines/saga/script.cpp +++ b/engines/saga/script.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/saga/script.h b/engines/saga/script.h index c4ea2d62b3..dd080fbe24 100644 --- a/engines/saga/script.h +++ b/engines/saga/script.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/saga/sfuncs.cpp b/engines/saga/sfuncs.cpp index c623349b7a..91e39c54b6 100644 --- a/engines/saga/sfuncs.cpp +++ b/engines/saga/sfuncs.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/saga/sfuncs_ihnm.cpp b/engines/saga/sfuncs_ihnm.cpp index fdfd0fdf2c..6957360942 100644 --- a/engines/saga/sfuncs_ihnm.cpp +++ b/engines/saga/sfuncs_ihnm.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/saga/shorten.cpp b/engines/saga/shorten.cpp index 619ffc243e..426430c892 100644 --- a/engines/saga/shorten.cpp +++ b/engines/saga/shorten.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/saga/shorten.h b/engines/saga/shorten.h index 77feafa54d..556abaf311 100644 --- a/engines/saga/shorten.h +++ b/engines/saga/shorten.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/saga/sndres.cpp b/engines/saga/sndres.cpp index ca843af465..39578e96f0 100644 --- a/engines/saga/sndres.cpp +++ b/engines/saga/sndres.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/saga/sndres.h b/engines/saga/sndres.h index 979c0288f6..554eed4a27 100644 --- a/engines/saga/sndres.h +++ b/engines/saga/sndres.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/saga/sound.cpp b/engines/saga/sound.cpp index 67be499bc7..0eb6f8a82a 100644 --- a/engines/saga/sound.cpp +++ b/engines/saga/sound.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/saga/sound.h b/engines/saga/sound.h index e2163dfb0e..fa59538bbc 100644 --- a/engines/saga/sound.h +++ b/engines/saga/sound.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/saga/sprite.cpp b/engines/saga/sprite.cpp index bf550659e9..ae8ee9cd54 100644 --- a/engines/saga/sprite.cpp +++ b/engines/saga/sprite.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/saga/sprite.h b/engines/saga/sprite.h index 0375d8c63f..525958006d 100644 --- a/engines/saga/sprite.h +++ b/engines/saga/sprite.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/saga/sthread.cpp b/engines/saga/sthread.cpp index 6e5cc68ae6..dde266bb0b 100644 --- a/engines/saga/sthread.cpp +++ b/engines/saga/sthread.cpp @@ -8,12 +8,12 @@ * 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. -- cgit v1.2.3 From a3d012357ef54972f4814d0995cef3815e6a7b4b Mon Sep 17 00:00:00 2001 From: Johannes Schickel Date: Tue, 18 Feb 2014 02:34:24 +0100 Subject: SAMSUNGTV: Make GPL headers consistent in themselves. --- backends/events/samsungtvsdl/samsungtvsdl-events.cpp | 4 ++-- backends/events/samsungtvsdl/samsungtvsdl-events.h | 4 ++-- backends/graphics/samsungtvsdl/samsungtvsdl-graphics.cpp | 4 ++-- backends/graphics/samsungtvsdl/samsungtvsdl-graphics.h | 4 ++-- backends/platform/samsungtv/main.cpp | 4 ++-- backends/platform/samsungtv/samsungtv.cpp | 4 ++-- backends/platform/samsungtv/samsungtv.h | 4 ++-- 7 files changed, 14 insertions(+), 14 deletions(-) diff --git a/backends/events/samsungtvsdl/samsungtvsdl-events.cpp b/backends/events/samsungtvsdl/samsungtvsdl-events.cpp index 5e3659839a..f5b919a060 100644 --- a/backends/events/samsungtvsdl/samsungtvsdl-events.cpp +++ b/backends/events/samsungtvsdl/samsungtvsdl-events.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/backends/events/samsungtvsdl/samsungtvsdl-events.h b/backends/events/samsungtvsdl/samsungtvsdl-events.h index 4b9ccc9bf8..be3dfef8fd 100644 --- a/backends/events/samsungtvsdl/samsungtvsdl-events.h +++ b/backends/events/samsungtvsdl/samsungtvsdl-events.h @@ -8,12 +8,12 @@ * 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. diff --git a/backends/graphics/samsungtvsdl/samsungtvsdl-graphics.cpp b/backends/graphics/samsungtvsdl/samsungtvsdl-graphics.cpp index 95e0875f55..3603d8a861 100644 --- a/backends/graphics/samsungtvsdl/samsungtvsdl-graphics.cpp +++ b/backends/graphics/samsungtvsdl/samsungtvsdl-graphics.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/backends/graphics/samsungtvsdl/samsungtvsdl-graphics.h b/backends/graphics/samsungtvsdl/samsungtvsdl-graphics.h index 2d0ff636f4..15ba3dca48 100644 --- a/backends/graphics/samsungtvsdl/samsungtvsdl-graphics.h +++ b/backends/graphics/samsungtvsdl/samsungtvsdl-graphics.h @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/samsungtv/main.cpp b/backends/platform/samsungtv/main.cpp index 8274bb00a2..a390bd0f0b 100644 --- a/backends/platform/samsungtv/main.cpp +++ b/backends/platform/samsungtv/main.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/samsungtv/samsungtv.cpp b/backends/platform/samsungtv/samsungtv.cpp index 9718eed1fe..a1d15930f2 100644 --- a/backends/platform/samsungtv/samsungtv.cpp +++ b/backends/platform/samsungtv/samsungtv.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/samsungtv/samsungtv.h b/backends/platform/samsungtv/samsungtv.h index b7a78a96cd..fdd1015c8a 100644 --- a/backends/platform/samsungtv/samsungtv.h +++ b/backends/platform/samsungtv/samsungtv.h @@ -8,12 +8,12 @@ * 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. -- cgit v1.2.3 From 8fc7d60febcadcaff901b331c5d1f454c073aef2 Mon Sep 17 00:00:00 2001 From: Johannes Schickel Date: Tue, 18 Feb 2014 02:34:24 +0100 Subject: SCI: Make GPL headers consistent in themselves. --- engines/sci/console.cpp | 4 ++-- engines/sci/console.h | 4 ++-- engines/sci/debug.h | 4 ++-- engines/sci/decompressor.cpp | 4 ++-- engines/sci/decompressor.h | 4 ++-- engines/sci/detection.cpp | 4 ++-- engines/sci/detection_tables.h | 4 ++-- engines/sci/engine/features.cpp | 4 ++-- engines/sci/engine/features.h | 4 ++-- engines/sci/engine/file.cpp | 4 ++-- engines/sci/engine/file.h | 4 ++-- engines/sci/engine/gc.cpp | 4 ++-- engines/sci/engine/gc.h | 4 ++-- engines/sci/engine/kernel.cpp | 4 ++-- engines/sci/engine/kernel.h | 4 ++-- engines/sci/engine/kernel_tables.h | 4 ++-- engines/sci/engine/kevent.cpp | 4 ++-- engines/sci/engine/kfile.cpp | 4 ++-- engines/sci/engine/kgraphics.cpp | 4 ++-- engines/sci/engine/kgraphics32.cpp | 4 ++-- engines/sci/engine/klists.cpp | 4 ++-- engines/sci/engine/kmath.cpp | 4 ++-- engines/sci/engine/kmenu.cpp | 4 ++-- engines/sci/engine/kmisc.cpp | 4 ++-- engines/sci/engine/kmovement.cpp | 4 ++-- engines/sci/engine/kparse.cpp | 4 ++-- engines/sci/engine/kpathing.cpp | 4 ++-- engines/sci/engine/kscripts.cpp | 4 ++-- engines/sci/engine/ksound.cpp | 4 ++-- engines/sci/engine/kstring.cpp | 4 ++-- engines/sci/engine/kvideo.cpp | 4 ++-- engines/sci/engine/message.cpp | 4 ++-- engines/sci/engine/message.h | 4 ++-- engines/sci/engine/object.cpp | 4 ++-- engines/sci/engine/object.h | 4 ++-- engines/sci/engine/savegame.cpp | 4 ++-- engines/sci/engine/savegame.h | 4 ++-- engines/sci/engine/script.cpp | 4 ++-- engines/sci/engine/script.h | 4 ++-- engines/sci/engine/script_patches.cpp | 4 ++-- engines/sci/engine/script_patches.h | 4 ++-- engines/sci/engine/scriptdebug.cpp | 4 ++-- engines/sci/engine/seg_manager.cpp | 4 ++-- engines/sci/engine/seg_manager.h | 4 ++-- engines/sci/engine/segment.cpp | 4 ++-- engines/sci/engine/segment.h | 4 ++-- engines/sci/engine/selector.cpp | 4 ++-- engines/sci/engine/selector.h | 4 ++-- engines/sci/engine/state.cpp | 4 ++-- engines/sci/engine/state.h | 4 ++-- engines/sci/engine/static_selectors.cpp | 4 ++-- engines/sci/engine/vm.cpp | 4 ++-- engines/sci/engine/vm.h | 4 ++-- engines/sci/engine/vm_types.cpp | 4 ++-- engines/sci/engine/vm_types.h | 4 ++-- engines/sci/engine/workarounds.cpp | 4 ++-- engines/sci/engine/workarounds.h | 4 ++-- engines/sci/event.cpp | 4 ++-- engines/sci/event.h | 4 ++-- engines/sci/graphics/animate.cpp | 4 ++-- engines/sci/graphics/animate.h | 4 ++-- engines/sci/graphics/cache.cpp | 4 ++-- engines/sci/graphics/cache.h | 4 ++-- engines/sci/graphics/compare.cpp | 4 ++-- engines/sci/graphics/compare.h | 4 ++-- engines/sci/graphics/controls16.cpp | 4 ++-- engines/sci/graphics/controls16.h | 4 ++-- engines/sci/graphics/controls32.cpp | 4 ++-- engines/sci/graphics/controls32.h | 4 ++-- engines/sci/graphics/coordadjuster.cpp | 4 ++-- engines/sci/graphics/coordadjuster.h | 4 ++-- engines/sci/graphics/cursor.cpp | 4 ++-- engines/sci/graphics/cursor.h | 4 ++-- engines/sci/graphics/font.cpp | 4 ++-- engines/sci/graphics/font.h | 4 ++-- engines/sci/graphics/fontsjis.cpp | 4 ++-- engines/sci/graphics/fontsjis.h | 4 ++-- engines/sci/graphics/frameout.cpp | 4 ++-- engines/sci/graphics/frameout.h | 4 ++-- engines/sci/graphics/helpers.h | 4 ++-- engines/sci/graphics/maciconbar.cpp | 4 ++-- engines/sci/graphics/maciconbar.h | 4 ++-- engines/sci/graphics/menu.cpp | 4 ++-- engines/sci/graphics/menu.h | 4 ++-- engines/sci/graphics/paint.cpp | 4 ++-- engines/sci/graphics/paint.h | 4 ++-- engines/sci/graphics/paint16.cpp | 4 ++-- engines/sci/graphics/paint16.h | 4 ++-- engines/sci/graphics/paint32.cpp | 4 ++-- engines/sci/graphics/paint32.h | 4 ++-- engines/sci/graphics/palette.cpp | 4 ++-- engines/sci/graphics/palette.h | 4 ++-- engines/sci/graphics/picture.cpp | 4 ++-- engines/sci/graphics/picture.h | 4 ++-- engines/sci/graphics/portrait.cpp | 4 ++-- engines/sci/graphics/portrait.h | 4 ++-- engines/sci/graphics/ports.cpp | 4 ++-- engines/sci/graphics/ports.h | 4 ++-- engines/sci/graphics/screen.cpp | 4 ++-- engines/sci/graphics/screen.h | 4 ++-- engines/sci/graphics/text16.cpp | 4 ++-- engines/sci/graphics/text16.h | 4 ++-- engines/sci/graphics/text32.cpp | 4 ++-- engines/sci/graphics/text32.h | 4 ++-- engines/sci/graphics/transitions.cpp | 4 ++-- engines/sci/graphics/transitions.h | 4 ++-- engines/sci/graphics/view.cpp | 4 ++-- engines/sci/graphics/view.h | 4 ++-- engines/sci/parser/grammar.cpp | 4 ++-- engines/sci/parser/said.cpp | 4 ++-- engines/sci/parser/vocabulary.cpp | 4 ++-- engines/sci/parser/vocabulary.h | 4 ++-- engines/sci/resource.cpp | 4 ++-- engines/sci/resource.h | 4 ++-- engines/sci/resource_audio.cpp | 4 ++-- engines/sci/resource_intern.h | 4 ++-- engines/sci/sci.cpp | 4 ++-- engines/sci/sci.h | 4 ++-- engines/sci/sound/audio.cpp | 4 ++-- engines/sci/sound/audio.h | 4 ++-- engines/sci/sound/drivers/adlib.cpp | 4 ++-- engines/sci/sound/drivers/amigamac.cpp | 4 ++-- engines/sci/sound/drivers/cms.cpp | 4 ++-- engines/sci/sound/drivers/fb01.cpp | 4 ++-- engines/sci/sound/drivers/fmtowns.cpp | 4 ++-- engines/sci/sound/drivers/gm_names.h | 4 ++-- engines/sci/sound/drivers/map-mt32-to-gm.h | 4 ++-- engines/sci/sound/drivers/midi.cpp | 4 ++-- engines/sci/sound/drivers/mididriver.h | 4 ++-- engines/sci/sound/drivers/pcjr.cpp | 4 ++-- engines/sci/sound/midiparser_sci.cpp | 4 ++-- engines/sci/sound/midiparser_sci.h | 4 ++-- engines/sci/sound/music.cpp | 4 ++-- engines/sci/sound/music.h | 4 ++-- engines/sci/sound/soundcmd.cpp | 4 ++-- engines/sci/sound/soundcmd.h | 4 ++-- engines/sci/util.cpp | 4 ++-- engines/sci/util.h | 4 ++-- engines/sci/video/robot_decoder.cpp | 4 ++-- engines/sci/video/robot_decoder.h | 4 ++-- engines/sci/video/seq_decoder.cpp | 4 ++-- engines/sci/video/seq_decoder.h | 4 ++-- 142 files changed, 284 insertions(+), 284 deletions(-) diff --git a/engines/sci/console.cpp b/engines/sci/console.cpp index e7cbde6cbb..1bc0dd067c 100644 --- a/engines/sci/console.cpp +++ b/engines/sci/console.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sci/console.h b/engines/sci/console.h index 37cf35a471..c8e99f78f7 100644 --- a/engines/sci/console.h +++ b/engines/sci/console.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sci/debug.h b/engines/sci/debug.h index 765ceca07d..4fcb757c10 100644 --- a/engines/sci/debug.h +++ b/engines/sci/debug.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sci/decompressor.cpp b/engines/sci/decompressor.cpp index 306825008d..e65ff148de 100644 --- a/engines/sci/decompressor.cpp +++ b/engines/sci/decompressor.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sci/decompressor.h b/engines/sci/decompressor.h index 5753026709..dab35fa41c 100644 --- a/engines/sci/decompressor.h +++ b/engines/sci/decompressor.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sci/detection.cpp b/engines/sci/detection.cpp index 883a4d965b..4f28738508 100644 --- a/engines/sci/detection.cpp +++ b/engines/sci/detection.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sci/detection_tables.h b/engines/sci/detection_tables.h index 85d01ca380..e97db04a8f 100644 --- a/engines/sci/detection_tables.h +++ b/engines/sci/detection_tables.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sci/engine/features.cpp b/engines/sci/engine/features.cpp index c26c787fbd..31e7ca4931 100644 --- a/engines/sci/engine/features.cpp +++ b/engines/sci/engine/features.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sci/engine/features.h b/engines/sci/engine/features.h index f6bb0b5759..a4d715fee0 100644 --- a/engines/sci/engine/features.h +++ b/engines/sci/engine/features.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sci/engine/file.cpp b/engines/sci/engine/file.cpp index 3dc042389e..2ba7d15ac0 100644 --- a/engines/sci/engine/file.cpp +++ b/engines/sci/engine/file.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sci/engine/file.h b/engines/sci/engine/file.h index 1c8e302d15..052eb735e9 100644 --- a/engines/sci/engine/file.h +++ b/engines/sci/engine/file.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sci/engine/gc.cpp b/engines/sci/engine/gc.cpp index 9a30ff3e17..70c8c52bf0 100644 --- a/engines/sci/engine/gc.cpp +++ b/engines/sci/engine/gc.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sci/engine/gc.h b/engines/sci/engine/gc.h index 9e02bbd0bd..fbaad14b00 100644 --- a/engines/sci/engine/gc.h +++ b/engines/sci/engine/gc.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sci/engine/kernel.cpp b/engines/sci/engine/kernel.cpp index 12746e17d6..2b16bb3d99 100644 --- a/engines/sci/engine/kernel.cpp +++ b/engines/sci/engine/kernel.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sci/engine/kernel.h b/engines/sci/engine/kernel.h index 69c3a6d0c9..dddf845222 100644 --- a/engines/sci/engine/kernel.h +++ b/engines/sci/engine/kernel.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sci/engine/kernel_tables.h b/engines/sci/engine/kernel_tables.h index 71f1712d36..9e653f3a7d 100644 --- a/engines/sci/engine/kernel_tables.h +++ b/engines/sci/engine/kernel_tables.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sci/engine/kevent.cpp b/engines/sci/engine/kevent.cpp index 11ef18c0c2..59f741a254 100644 --- a/engines/sci/engine/kevent.cpp +++ b/engines/sci/engine/kevent.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sci/engine/kfile.cpp b/engines/sci/engine/kfile.cpp index 71e8ec6442..29e29722d2 100644 --- a/engines/sci/engine/kfile.cpp +++ b/engines/sci/engine/kfile.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sci/engine/kgraphics.cpp b/engines/sci/engine/kgraphics.cpp index 79ab2d138b..c2089bcd4d 100644 --- a/engines/sci/engine/kgraphics.cpp +++ b/engines/sci/engine/kgraphics.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sci/engine/kgraphics32.cpp b/engines/sci/engine/kgraphics32.cpp index 0eb4fa856b..8953f45266 100644 --- a/engines/sci/engine/kgraphics32.cpp +++ b/engines/sci/engine/kgraphics32.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sci/engine/klists.cpp b/engines/sci/engine/klists.cpp index 7e6c112b9f..66590da23f 100644 --- a/engines/sci/engine/klists.cpp +++ b/engines/sci/engine/klists.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sci/engine/kmath.cpp b/engines/sci/engine/kmath.cpp index b2aaa01b45..15bc24e0e3 100644 --- a/engines/sci/engine/kmath.cpp +++ b/engines/sci/engine/kmath.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sci/engine/kmenu.cpp b/engines/sci/engine/kmenu.cpp index 05ba7005d7..8dca7f74df 100644 --- a/engines/sci/engine/kmenu.cpp +++ b/engines/sci/engine/kmenu.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sci/engine/kmisc.cpp b/engines/sci/engine/kmisc.cpp index 8b7fc4ffec..e3a354e222 100644 --- a/engines/sci/engine/kmisc.cpp +++ b/engines/sci/engine/kmisc.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sci/engine/kmovement.cpp b/engines/sci/engine/kmovement.cpp index 649a1428a0..51d49eea9f 100644 --- a/engines/sci/engine/kmovement.cpp +++ b/engines/sci/engine/kmovement.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sci/engine/kparse.cpp b/engines/sci/engine/kparse.cpp index 5e861daaa4..aa89b963cc 100644 --- a/engines/sci/engine/kparse.cpp +++ b/engines/sci/engine/kparse.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sci/engine/kpathing.cpp b/engines/sci/engine/kpathing.cpp index 3c223bebbe..940bd38adb 100644 --- a/engines/sci/engine/kpathing.cpp +++ b/engines/sci/engine/kpathing.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sci/engine/kscripts.cpp b/engines/sci/engine/kscripts.cpp index 2c115be500..5c271780dd 100644 --- a/engines/sci/engine/kscripts.cpp +++ b/engines/sci/engine/kscripts.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sci/engine/ksound.cpp b/engines/sci/engine/ksound.cpp index 2879b7f45d..6a1708d21a 100644 --- a/engines/sci/engine/ksound.cpp +++ b/engines/sci/engine/ksound.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sci/engine/kstring.cpp b/engines/sci/engine/kstring.cpp index d72b1d1772..56dad583e4 100644 --- a/engines/sci/engine/kstring.cpp +++ b/engines/sci/engine/kstring.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sci/engine/kvideo.cpp b/engines/sci/engine/kvideo.cpp index 3964ccc1f8..319469cb08 100644 --- a/engines/sci/engine/kvideo.cpp +++ b/engines/sci/engine/kvideo.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sci/engine/message.cpp b/engines/sci/engine/message.cpp index 8c5741f8b0..640175b20a 100644 --- a/engines/sci/engine/message.cpp +++ b/engines/sci/engine/message.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sci/engine/message.h b/engines/sci/engine/message.h index 5bead82efe..ff76534d2d 100644 --- a/engines/sci/engine/message.h +++ b/engines/sci/engine/message.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sci/engine/object.cpp b/engines/sci/engine/object.cpp index 6f219b388e..eeff45163d 100644 --- a/engines/sci/engine/object.cpp +++ b/engines/sci/engine/object.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sci/engine/object.h b/engines/sci/engine/object.h index 1ea9ae449a..00fe7c6875 100644 --- a/engines/sci/engine/object.h +++ b/engines/sci/engine/object.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sci/engine/savegame.cpp b/engines/sci/engine/savegame.cpp index c64d5b6272..cdcdcc41e5 100644 --- a/engines/sci/engine/savegame.cpp +++ b/engines/sci/engine/savegame.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sci/engine/savegame.h b/engines/sci/engine/savegame.h index f1f02f89f2..8f2835654b 100644 --- a/engines/sci/engine/savegame.h +++ b/engines/sci/engine/savegame.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sci/engine/script.cpp b/engines/sci/engine/script.cpp index c661a00185..2fe1aba975 100644 --- a/engines/sci/engine/script.cpp +++ b/engines/sci/engine/script.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sci/engine/script.h b/engines/sci/engine/script.h index 9e016156b8..46d6ace917 100644 --- a/engines/sci/engine/script.h +++ b/engines/sci/engine/script.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sci/engine/script_patches.cpp b/engines/sci/engine/script_patches.cpp index 8f05cc1453..a405ee5c7c 100644 --- a/engines/sci/engine/script_patches.cpp +++ b/engines/sci/engine/script_patches.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sci/engine/script_patches.h b/engines/sci/engine/script_patches.h index 9e572f33fa..0b35792949 100644 --- a/engines/sci/engine/script_patches.h +++ b/engines/sci/engine/script_patches.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sci/engine/scriptdebug.cpp b/engines/sci/engine/scriptdebug.cpp index 37ec4e8850..44910058ef 100644 --- a/engines/sci/engine/scriptdebug.cpp +++ b/engines/sci/engine/scriptdebug.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sci/engine/seg_manager.cpp b/engines/sci/engine/seg_manager.cpp index 161a4f5c79..3738fd3dcb 100644 --- a/engines/sci/engine/seg_manager.cpp +++ b/engines/sci/engine/seg_manager.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sci/engine/seg_manager.h b/engines/sci/engine/seg_manager.h index b587f4991a..2d6e624f6f 100644 --- a/engines/sci/engine/seg_manager.h +++ b/engines/sci/engine/seg_manager.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sci/engine/segment.cpp b/engines/sci/engine/segment.cpp index a7f147a15a..bb90698e6a 100644 --- a/engines/sci/engine/segment.cpp +++ b/engines/sci/engine/segment.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sci/engine/segment.h b/engines/sci/engine/segment.h index 0d54b651e1..de7f60ac16 100644 --- a/engines/sci/engine/segment.h +++ b/engines/sci/engine/segment.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sci/engine/selector.cpp b/engines/sci/engine/selector.cpp index 2f6b4d58dd..910f1f885f 100644 --- a/engines/sci/engine/selector.cpp +++ b/engines/sci/engine/selector.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sci/engine/selector.h b/engines/sci/engine/selector.h index 5d3d0752ac..b3dd393708 100644 --- a/engines/sci/engine/selector.h +++ b/engines/sci/engine/selector.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sci/engine/state.cpp b/engines/sci/engine/state.cpp index d26a519233..7701822f6d 100644 --- a/engines/sci/engine/state.cpp +++ b/engines/sci/engine/state.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sci/engine/state.h b/engines/sci/engine/state.h index 25110ce0ca..ecc8cb7dfe 100644 --- a/engines/sci/engine/state.h +++ b/engines/sci/engine/state.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sci/engine/static_selectors.cpp b/engines/sci/engine/static_selectors.cpp index 74d2851024..188da3d5a2 100644 --- a/engines/sci/engine/static_selectors.cpp +++ b/engines/sci/engine/static_selectors.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sci/engine/vm.cpp b/engines/sci/engine/vm.cpp index d7c2fdc0eb..06858540ec 100644 --- a/engines/sci/engine/vm.cpp +++ b/engines/sci/engine/vm.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sci/engine/vm.h b/engines/sci/engine/vm.h index 8b38faa013..cf65803929 100644 --- a/engines/sci/engine/vm.h +++ b/engines/sci/engine/vm.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sci/engine/vm_types.cpp b/engines/sci/engine/vm_types.cpp index 00b55c64b3..65a82832cc 100644 --- a/engines/sci/engine/vm_types.cpp +++ b/engines/sci/engine/vm_types.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sci/engine/vm_types.h b/engines/sci/engine/vm_types.h index a181bf19cd..af78bd0b84 100644 --- a/engines/sci/engine/vm_types.h +++ b/engines/sci/engine/vm_types.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sci/engine/workarounds.cpp b/engines/sci/engine/workarounds.cpp index 4b8500bbcb..d6887e1236 100644 --- a/engines/sci/engine/workarounds.cpp +++ b/engines/sci/engine/workarounds.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sci/engine/workarounds.h b/engines/sci/engine/workarounds.h index d5e91b70ec..4f1071ca0a 100644 --- a/engines/sci/engine/workarounds.h +++ b/engines/sci/engine/workarounds.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sci/event.cpp b/engines/sci/event.cpp index 7318fe2f68..511d2014bd 100644 --- a/engines/sci/event.cpp +++ b/engines/sci/event.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sci/event.h b/engines/sci/event.h index 930001160a..82e93a9373 100644 --- a/engines/sci/event.h +++ b/engines/sci/event.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sci/graphics/animate.cpp b/engines/sci/graphics/animate.cpp index 53715613fc..73cd7240d3 100644 --- a/engines/sci/graphics/animate.cpp +++ b/engines/sci/graphics/animate.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sci/graphics/animate.h b/engines/sci/graphics/animate.h index 52da7d6ec6..6c1822c903 100644 --- a/engines/sci/graphics/animate.h +++ b/engines/sci/graphics/animate.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sci/graphics/cache.cpp b/engines/sci/graphics/cache.cpp index 55f8624c49..59af8334eb 100644 --- a/engines/sci/graphics/cache.cpp +++ b/engines/sci/graphics/cache.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sci/graphics/cache.h b/engines/sci/graphics/cache.h index 2f462fe042..33fa4fe399 100644 --- a/engines/sci/graphics/cache.h +++ b/engines/sci/graphics/cache.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sci/graphics/compare.cpp b/engines/sci/graphics/compare.cpp index 8b89cf4a65..3c2285a470 100644 --- a/engines/sci/graphics/compare.cpp +++ b/engines/sci/graphics/compare.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sci/graphics/compare.h b/engines/sci/graphics/compare.h index 48e9e376b5..88b44aeeb1 100644 --- a/engines/sci/graphics/compare.h +++ b/engines/sci/graphics/compare.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sci/graphics/controls16.cpp b/engines/sci/graphics/controls16.cpp index 0098f7b9ef..f2b2ccdfe6 100644 --- a/engines/sci/graphics/controls16.cpp +++ b/engines/sci/graphics/controls16.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sci/graphics/controls16.h b/engines/sci/graphics/controls16.h index 2cde86d4b1..6a70c71aae 100644 --- a/engines/sci/graphics/controls16.h +++ b/engines/sci/graphics/controls16.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sci/graphics/controls32.cpp b/engines/sci/graphics/controls32.cpp index 5b61e1a86a..90b5cd558c 100644 --- a/engines/sci/graphics/controls32.cpp +++ b/engines/sci/graphics/controls32.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sci/graphics/controls32.h b/engines/sci/graphics/controls32.h index 1b705988c2..5af7c20f16 100644 --- a/engines/sci/graphics/controls32.h +++ b/engines/sci/graphics/controls32.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sci/graphics/coordadjuster.cpp b/engines/sci/graphics/coordadjuster.cpp index 1446888cf4..93dff10382 100644 --- a/engines/sci/graphics/coordadjuster.cpp +++ b/engines/sci/graphics/coordadjuster.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sci/graphics/coordadjuster.h b/engines/sci/graphics/coordadjuster.h index 25279b34b1..cb0227fbe4 100644 --- a/engines/sci/graphics/coordadjuster.h +++ b/engines/sci/graphics/coordadjuster.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sci/graphics/cursor.cpp b/engines/sci/graphics/cursor.cpp index a9c741670f..048ec1e9b9 100644 --- a/engines/sci/graphics/cursor.cpp +++ b/engines/sci/graphics/cursor.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sci/graphics/cursor.h b/engines/sci/graphics/cursor.h index 369bd22a0b..c2d7998eb3 100644 --- a/engines/sci/graphics/cursor.h +++ b/engines/sci/graphics/cursor.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sci/graphics/font.cpp b/engines/sci/graphics/font.cpp index 30184cc091..e4684ff134 100644 --- a/engines/sci/graphics/font.cpp +++ b/engines/sci/graphics/font.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sci/graphics/font.h b/engines/sci/graphics/font.h index 8e5c980e2c..58b2ba4813 100644 --- a/engines/sci/graphics/font.h +++ b/engines/sci/graphics/font.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sci/graphics/fontsjis.cpp b/engines/sci/graphics/fontsjis.cpp index ac58c55423..9c942eadd1 100644 --- a/engines/sci/graphics/fontsjis.cpp +++ b/engines/sci/graphics/fontsjis.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sci/graphics/fontsjis.h b/engines/sci/graphics/fontsjis.h index ae5eaa43f9..57403ad98e 100644 --- a/engines/sci/graphics/fontsjis.h +++ b/engines/sci/graphics/fontsjis.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sci/graphics/frameout.cpp b/engines/sci/graphics/frameout.cpp index 76510fa53b..ffed7b596e 100644 --- a/engines/sci/graphics/frameout.cpp +++ b/engines/sci/graphics/frameout.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sci/graphics/frameout.h b/engines/sci/graphics/frameout.h index 5ef770486f..e0c60f92c1 100644 --- a/engines/sci/graphics/frameout.h +++ b/engines/sci/graphics/frameout.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sci/graphics/helpers.h b/engines/sci/graphics/helpers.h index 773f83a00e..4889f12bd2 100644 --- a/engines/sci/graphics/helpers.h +++ b/engines/sci/graphics/helpers.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sci/graphics/maciconbar.cpp b/engines/sci/graphics/maciconbar.cpp index 4df80b289f..db9843ffb3 100644 --- a/engines/sci/graphics/maciconbar.cpp +++ b/engines/sci/graphics/maciconbar.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sci/graphics/maciconbar.h b/engines/sci/graphics/maciconbar.h index eca10b804c..86cbc74039 100644 --- a/engines/sci/graphics/maciconbar.h +++ b/engines/sci/graphics/maciconbar.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sci/graphics/menu.cpp b/engines/sci/graphics/menu.cpp index d2416ab4e0..8e8c1d64c2 100644 --- a/engines/sci/graphics/menu.cpp +++ b/engines/sci/graphics/menu.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sci/graphics/menu.h b/engines/sci/graphics/menu.h index aa3550da4e..95fd4f6c20 100644 --- a/engines/sci/graphics/menu.h +++ b/engines/sci/graphics/menu.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sci/graphics/paint.cpp b/engines/sci/graphics/paint.cpp index 7befa99afe..482b81aff1 100644 --- a/engines/sci/graphics/paint.cpp +++ b/engines/sci/graphics/paint.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sci/graphics/paint.h b/engines/sci/graphics/paint.h index 27f7e428b6..b2277131d5 100644 --- a/engines/sci/graphics/paint.h +++ b/engines/sci/graphics/paint.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sci/graphics/paint16.cpp b/engines/sci/graphics/paint16.cpp index 940a1ac3cf..b835eb92ca 100644 --- a/engines/sci/graphics/paint16.cpp +++ b/engines/sci/graphics/paint16.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sci/graphics/paint16.h b/engines/sci/graphics/paint16.h index e06021c3e7..882f311a5b 100644 --- a/engines/sci/graphics/paint16.h +++ b/engines/sci/graphics/paint16.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sci/graphics/paint32.cpp b/engines/sci/graphics/paint32.cpp index a03e77dfa6..f94c65c76b 100644 --- a/engines/sci/graphics/paint32.cpp +++ b/engines/sci/graphics/paint32.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sci/graphics/paint32.h b/engines/sci/graphics/paint32.h index 81e355f77f..e7a3ec256d 100644 --- a/engines/sci/graphics/paint32.h +++ b/engines/sci/graphics/paint32.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sci/graphics/palette.cpp b/engines/sci/graphics/palette.cpp index d8d788b00a..a3624c7959 100644 --- a/engines/sci/graphics/palette.cpp +++ b/engines/sci/graphics/palette.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sci/graphics/palette.h b/engines/sci/graphics/palette.h index e974781d49..347695deb8 100644 --- a/engines/sci/graphics/palette.h +++ b/engines/sci/graphics/palette.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sci/graphics/picture.cpp b/engines/sci/graphics/picture.cpp index caab1d80da..434a490109 100644 --- a/engines/sci/graphics/picture.cpp +++ b/engines/sci/graphics/picture.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sci/graphics/picture.h b/engines/sci/graphics/picture.h index 53f83bc09f..2404f99b41 100644 --- a/engines/sci/graphics/picture.h +++ b/engines/sci/graphics/picture.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sci/graphics/portrait.cpp b/engines/sci/graphics/portrait.cpp index d589ee17f9..488450485d 100644 --- a/engines/sci/graphics/portrait.cpp +++ b/engines/sci/graphics/portrait.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sci/graphics/portrait.h b/engines/sci/graphics/portrait.h index de0dbffb3f..877b253bcf 100644 --- a/engines/sci/graphics/portrait.h +++ b/engines/sci/graphics/portrait.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sci/graphics/ports.cpp b/engines/sci/graphics/ports.cpp index ed0013b491..bd0b5f4081 100644 --- a/engines/sci/graphics/ports.cpp +++ b/engines/sci/graphics/ports.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sci/graphics/ports.h b/engines/sci/graphics/ports.h index 1818eaddb3..51aca09f54 100644 --- a/engines/sci/graphics/ports.h +++ b/engines/sci/graphics/ports.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sci/graphics/screen.cpp b/engines/sci/graphics/screen.cpp index 0df163dd7b..15717239d8 100644 --- a/engines/sci/graphics/screen.cpp +++ b/engines/sci/graphics/screen.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sci/graphics/screen.h b/engines/sci/graphics/screen.h index 01fb899edb..c334638703 100644 --- a/engines/sci/graphics/screen.h +++ b/engines/sci/graphics/screen.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sci/graphics/text16.cpp b/engines/sci/graphics/text16.cpp index 56e9ea8b69..245d6996cb 100644 --- a/engines/sci/graphics/text16.cpp +++ b/engines/sci/graphics/text16.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sci/graphics/text16.h b/engines/sci/graphics/text16.h index 321c7fc25e..ab0cb13a64 100644 --- a/engines/sci/graphics/text16.h +++ b/engines/sci/graphics/text16.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sci/graphics/text32.cpp b/engines/sci/graphics/text32.cpp index f14ae2ef0b..56ce73e8fa 100644 --- a/engines/sci/graphics/text32.cpp +++ b/engines/sci/graphics/text32.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sci/graphics/text32.h b/engines/sci/graphics/text32.h index ce78003fdf..7ba7df50e4 100644 --- a/engines/sci/graphics/text32.h +++ b/engines/sci/graphics/text32.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sci/graphics/transitions.cpp b/engines/sci/graphics/transitions.cpp index b385c2c1db..5e7dbc6c15 100644 --- a/engines/sci/graphics/transitions.cpp +++ b/engines/sci/graphics/transitions.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sci/graphics/transitions.h b/engines/sci/graphics/transitions.h index 246f681690..ae9ca4b48a 100644 --- a/engines/sci/graphics/transitions.h +++ b/engines/sci/graphics/transitions.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sci/graphics/view.cpp b/engines/sci/graphics/view.cpp index 3d72743ff4..f3f352e5b8 100644 --- a/engines/sci/graphics/view.cpp +++ b/engines/sci/graphics/view.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sci/graphics/view.h b/engines/sci/graphics/view.h index d3473f1024..d8803db208 100644 --- a/engines/sci/graphics/view.h +++ b/engines/sci/graphics/view.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sci/parser/grammar.cpp b/engines/sci/parser/grammar.cpp index 26e3ec9238..ee0125b7c9 100644 --- a/engines/sci/parser/grammar.cpp +++ b/engines/sci/parser/grammar.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sci/parser/said.cpp b/engines/sci/parser/said.cpp index eff4a29f49..693bbec744 100644 --- a/engines/sci/parser/said.cpp +++ b/engines/sci/parser/said.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sci/parser/vocabulary.cpp b/engines/sci/parser/vocabulary.cpp index 61659f864d..7c560dfaef 100644 --- a/engines/sci/parser/vocabulary.cpp +++ b/engines/sci/parser/vocabulary.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sci/parser/vocabulary.h b/engines/sci/parser/vocabulary.h index e4a7e41b3c..09499946cb 100644 --- a/engines/sci/parser/vocabulary.h +++ b/engines/sci/parser/vocabulary.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sci/resource.cpp b/engines/sci/resource.cpp index 3b3f3edb38..17195c14b8 100644 --- a/engines/sci/resource.cpp +++ b/engines/sci/resource.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sci/resource.h b/engines/sci/resource.h index 6a22f48086..e90f52a3ce 100644 --- a/engines/sci/resource.h +++ b/engines/sci/resource.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sci/resource_audio.cpp b/engines/sci/resource_audio.cpp index 8e1568f564..4c7cd9b84a 100644 --- a/engines/sci/resource_audio.cpp +++ b/engines/sci/resource_audio.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sci/resource_intern.h b/engines/sci/resource_intern.h index c256c9d156..461d684005 100644 --- a/engines/sci/resource_intern.h +++ b/engines/sci/resource_intern.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sci/sci.cpp b/engines/sci/sci.cpp index 5989ed3730..cf5192e1e6 100644 --- a/engines/sci/sci.cpp +++ b/engines/sci/sci.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sci/sci.h b/engines/sci/sci.h index 418f8c5e50..48bc4819d2 100644 --- a/engines/sci/sci.h +++ b/engines/sci/sci.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sci/sound/audio.cpp b/engines/sci/sound/audio.cpp index 8f405b0fa5..3147fbda09 100644 --- a/engines/sci/sound/audio.cpp +++ b/engines/sci/sound/audio.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sci/sound/audio.h b/engines/sci/sound/audio.h index e0ba234b12..545d35b2ee 100644 --- a/engines/sci/sound/audio.h +++ b/engines/sci/sound/audio.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sci/sound/drivers/adlib.cpp b/engines/sci/sound/drivers/adlib.cpp index 3229fd7071..fcfda2f532 100644 --- a/engines/sci/sound/drivers/adlib.cpp +++ b/engines/sci/sound/drivers/adlib.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sci/sound/drivers/amigamac.cpp b/engines/sci/sound/drivers/amigamac.cpp index 131a85f371..5ce49086ca 100644 --- a/engines/sci/sound/drivers/amigamac.cpp +++ b/engines/sci/sound/drivers/amigamac.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sci/sound/drivers/cms.cpp b/engines/sci/sound/drivers/cms.cpp index fd60863177..a222090fc8 100644 --- a/engines/sci/sound/drivers/cms.cpp +++ b/engines/sci/sound/drivers/cms.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sci/sound/drivers/fb01.cpp b/engines/sci/sound/drivers/fb01.cpp index b16473e62e..db9f7558e2 100644 --- a/engines/sci/sound/drivers/fb01.cpp +++ b/engines/sci/sound/drivers/fb01.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sci/sound/drivers/fmtowns.cpp b/engines/sci/sound/drivers/fmtowns.cpp index 21cb2f1e43..f6dbac2a67 100644 --- a/engines/sci/sound/drivers/fmtowns.cpp +++ b/engines/sci/sound/drivers/fmtowns.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sci/sound/drivers/gm_names.h b/engines/sci/sound/drivers/gm_names.h index fbfa413a4a..791f79777c 100644 --- a/engines/sci/sound/drivers/gm_names.h +++ b/engines/sci/sound/drivers/gm_names.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sci/sound/drivers/map-mt32-to-gm.h b/engines/sci/sound/drivers/map-mt32-to-gm.h index 12a36aa51c..5c90c47777 100644 --- a/engines/sci/sound/drivers/map-mt32-to-gm.h +++ b/engines/sci/sound/drivers/map-mt32-to-gm.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sci/sound/drivers/midi.cpp b/engines/sci/sound/drivers/midi.cpp index a31d5f9a81..31c9d90de8 100644 --- a/engines/sci/sound/drivers/midi.cpp +++ b/engines/sci/sound/drivers/midi.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sci/sound/drivers/mididriver.h b/engines/sci/sound/drivers/mididriver.h index 8938eef62f..fee0154096 100644 --- a/engines/sci/sound/drivers/mididriver.h +++ b/engines/sci/sound/drivers/mididriver.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sci/sound/drivers/pcjr.cpp b/engines/sci/sound/drivers/pcjr.cpp index 1d823b643d..2399c506d4 100644 --- a/engines/sci/sound/drivers/pcjr.cpp +++ b/engines/sci/sound/drivers/pcjr.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sci/sound/midiparser_sci.cpp b/engines/sci/sound/midiparser_sci.cpp index f776eb9b8d..c0b4f3122e 100644 --- a/engines/sci/sound/midiparser_sci.cpp +++ b/engines/sci/sound/midiparser_sci.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sci/sound/midiparser_sci.h b/engines/sci/sound/midiparser_sci.h index 7c3c5c3483..15c01977bd 100644 --- a/engines/sci/sound/midiparser_sci.h +++ b/engines/sci/sound/midiparser_sci.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sci/sound/music.cpp b/engines/sci/sound/music.cpp index f46c1dfbb0..97675a140e 100644 --- a/engines/sci/sound/music.cpp +++ b/engines/sci/sound/music.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sci/sound/music.h b/engines/sci/sound/music.h index 23a072cb26..bfc542d2a5 100644 --- a/engines/sci/sound/music.h +++ b/engines/sci/sound/music.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sci/sound/soundcmd.cpp b/engines/sci/sound/soundcmd.cpp index aa2a309f4d..2bd7f50de5 100644 --- a/engines/sci/sound/soundcmd.cpp +++ b/engines/sci/sound/soundcmd.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sci/sound/soundcmd.h b/engines/sci/sound/soundcmd.h index d76f969c7d..4effda68e4 100644 --- a/engines/sci/sound/soundcmd.h +++ b/engines/sci/sound/soundcmd.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sci/util.cpp b/engines/sci/util.cpp index 4f09bb7a55..3a9ed9ca69 100644 --- a/engines/sci/util.cpp +++ b/engines/sci/util.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sci/util.h b/engines/sci/util.h index 0da5063a69..378030939c 100644 --- a/engines/sci/util.h +++ b/engines/sci/util.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sci/video/robot_decoder.cpp b/engines/sci/video/robot_decoder.cpp index 198407320e..a2795d21f9 100644 --- a/engines/sci/video/robot_decoder.cpp +++ b/engines/sci/video/robot_decoder.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sci/video/robot_decoder.h b/engines/sci/video/robot_decoder.h index 437954f7fb..4faea5008a 100644 --- a/engines/sci/video/robot_decoder.h +++ b/engines/sci/video/robot_decoder.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sci/video/seq_decoder.cpp b/engines/sci/video/seq_decoder.cpp index 54603ec1f1..f523a42ca5 100644 --- a/engines/sci/video/seq_decoder.cpp +++ b/engines/sci/video/seq_decoder.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sci/video/seq_decoder.h b/engines/sci/video/seq_decoder.h index 890f349feb..e141f8dee0 100644 --- a/engines/sci/video/seq_decoder.h +++ b/engines/sci/video/seq_decoder.h @@ -8,12 +8,12 @@ * 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. -- cgit v1.2.3 From 3847465163ee81a9bb19abdfb0e4eb402172ab4e Mon Sep 17 00:00:00 2001 From: Johannes Schickel Date: Tue, 18 Feb 2014 02:34:24 +0100 Subject: SCUMM: Make GPL headers consistent in themselves. --- engines/scumm/actor.cpp | 4 ++-- engines/scumm/actor.h | 4 ++-- engines/scumm/actor_he.h | 4 ++-- engines/scumm/akos.cpp | 4 ++-- engines/scumm/akos.h | 4 ++-- engines/scumm/base-costume.cpp | 4 ++-- engines/scumm/base-costume.h | 4 ++-- engines/scumm/bomp.cpp | 3 ++- engines/scumm/bomp.h | 3 ++- engines/scumm/boxes.cpp | 4 ++-- engines/scumm/boxes.h | 4 ++-- engines/scumm/camera.cpp | 3 ++- engines/scumm/charset-fontdata.cpp | 1 + engines/scumm/charset.cpp | 1 + engines/scumm/charset.h | 1 + engines/scumm/costume.cpp | 4 ++-- engines/scumm/costume.h | 1 + engines/scumm/cursor.cpp | 3 ++- engines/scumm/debugger.cpp | 4 ++-- engines/scumm/debugger.h | 1 + engines/scumm/detection.cpp | 4 ++-- engines/scumm/detection.h | 4 ++-- engines/scumm/detection_tables.h | 4 ++-- engines/scumm/dialogs.cpp | 1 + engines/scumm/dialogs.h | 1 + engines/scumm/gfx.cpp | 3 ++- engines/scumm/gfx.h | 4 ++-- engines/scumm/gfx_towns.cpp | 3 ++- engines/scumm/he/animation_he.cpp | 4 ++-- engines/scumm/he/animation_he.h | 4 ++-- engines/scumm/he/cup_player_he.cpp | 4 ++-- engines/scumm/he/cup_player_he.h | 4 ++-- engines/scumm/he/floodfill_he.cpp | 4 ++-- engines/scumm/he/floodfill_he.h | 4 ++-- engines/scumm/he/intern_he.h | 4 ++-- engines/scumm/he/logic/baseball2001.cpp | 4 ++-- engines/scumm/he/logic/basketball.cpp | 4 ++-- engines/scumm/he/logic/football.cpp | 4 ++-- engines/scumm/he/logic/funshop.cpp | 4 ++-- engines/scumm/he/logic/moonbase.cpp | 4 ++-- engines/scumm/he/logic/puttrace.cpp | 4 ++-- engines/scumm/he/logic/soccer.cpp | 4 ++-- engines/scumm/he/logic_he.cpp | 4 ++-- engines/scumm/he/logic_he.h | 4 ++-- engines/scumm/he/palette_he.cpp | 4 ++-- engines/scumm/he/resource_he.cpp | 4 ++-- engines/scumm/he/resource_he.h | 4 ++-- engines/scumm/he/script_v100he.cpp | 4 ++-- engines/scumm/he/script_v60he.cpp | 4 ++-- engines/scumm/he/script_v70he.cpp | 4 ++-- engines/scumm/he/script_v71he.cpp | 4 ++-- engines/scumm/he/script_v72he.cpp | 4 ++-- engines/scumm/he/script_v80he.cpp | 4 ++-- engines/scumm/he/script_v90he.cpp | 4 ++-- engines/scumm/he/sound_he.cpp | 4 ++-- engines/scumm/he/sound_he.h | 1 + engines/scumm/he/sprite_he.cpp | 4 ++-- engines/scumm/he/sprite_he.h | 4 ++-- engines/scumm/he/wiz_he.cpp | 4 ++-- engines/scumm/he/wiz_he.h | 4 ++-- engines/scumm/imuse/imuse.cpp | 4 ++-- engines/scumm/imuse/imuse.h | 4 ++-- engines/scumm/imuse/imuse_internal.h | 1 + engines/scumm/imuse/imuse_part.cpp | 4 ++-- engines/scumm/imuse/imuse_player.cpp | 1 + engines/scumm/imuse/instrument.cpp | 1 + engines/scumm/imuse/instrument.h | 1 + engines/scumm/imuse/mac_m68k.cpp | 1 + engines/scumm/imuse/mac_m68k.h | 1 + engines/scumm/imuse/pcspk.cpp | 1 + engines/scumm/imuse/pcspk.h | 1 + engines/scumm/imuse/sysex.h | 1 + engines/scumm/imuse/sysex_samnmax.cpp | 1 + engines/scumm/imuse/sysex_scumm.cpp | 1 + engines/scumm/imuse_digi/dimuse.cpp | 1 + engines/scumm/imuse_digi/dimuse.h | 1 + engines/scumm/imuse_digi/dimuse_bndmgr.cpp | 1 + engines/scumm/imuse_digi/dimuse_bndmgr.h | 1 + engines/scumm/imuse_digi/dimuse_codecs.cpp | 1 + engines/scumm/imuse_digi/dimuse_codecs.h | 1 + engines/scumm/imuse_digi/dimuse_music.cpp | 1 + engines/scumm/imuse_digi/dimuse_script.cpp | 1 + engines/scumm/imuse_digi/dimuse_sndmgr.cpp | 1 + engines/scumm/imuse_digi/dimuse_sndmgr.h | 1 + engines/scumm/imuse_digi/dimuse_tables.cpp | 1 + engines/scumm/imuse_digi/dimuse_tables.h | 1 + engines/scumm/imuse_digi/dimuse_track.cpp | 1 + engines/scumm/imuse_digi/dimuse_track.h | 1 + engines/scumm/input.cpp | 4 ++-- engines/scumm/insane/insane.cpp | 4 ++-- engines/scumm/insane/insane.h | 4 ++-- engines/scumm/insane/insane_ben.cpp | 4 ++-- engines/scumm/insane/insane_enemy.cpp | 4 ++-- engines/scumm/insane/insane_iact.cpp | 4 ++-- engines/scumm/insane/insane_scenes.cpp | 4 ++-- engines/scumm/midiparser_ro.cpp | 4 ++-- engines/scumm/music.h | 4 ++-- engines/scumm/nut_renderer.cpp | 1 + engines/scumm/nut_renderer.h | 1 + engines/scumm/object.cpp | 4 ++-- engines/scumm/object.h | 1 + engines/scumm/palette.cpp | 3 ++- engines/scumm/players/player_apple2.cpp | 4 ++-- engines/scumm/players/player_apple2.h | 4 ++-- engines/scumm/players/player_mac.cpp | 4 ++-- engines/scumm/players/player_mac.h | 4 ++-- engines/scumm/players/player_mod.cpp | 4 ++-- engines/scumm/players/player_mod.h | 4 ++-- engines/scumm/players/player_nes.cpp | 6 +++--- engines/scumm/players/player_nes.h | 4 ++-- engines/scumm/players/player_pce.cpp | 4 ++-- engines/scumm/players/player_pce.h | 4 ++-- engines/scumm/players/player_sid.cpp | 4 ++-- engines/scumm/players/player_sid.h | 4 ++-- engines/scumm/players/player_towns.cpp | 4 ++-- engines/scumm/players/player_towns.h | 4 ++-- engines/scumm/players/player_v1.cpp | 4 ++-- engines/scumm/players/player_v1.h | 4 ++-- engines/scumm/players/player_v2.cpp | 4 ++-- engines/scumm/players/player_v2.h | 4 ++-- engines/scumm/players/player_v2a.cpp | 4 ++-- engines/scumm/players/player_v2a.h | 4 ++-- engines/scumm/players/player_v2base.cpp | 4 ++-- engines/scumm/players/player_v2base.h | 4 ++-- engines/scumm/players/player_v2cms.cpp | 4 ++-- engines/scumm/players/player_v2cms.h | 4 ++-- engines/scumm/players/player_v3a.cpp | 4 ++-- engines/scumm/players/player_v3a.h | 4 ++-- engines/scumm/players/player_v3m.cpp | 4 ++-- engines/scumm/players/player_v3m.h | 4 ++-- engines/scumm/players/player_v4a.cpp | 4 ++-- engines/scumm/players/player_v4a.h | 4 ++-- engines/scumm/players/player_v5m.cpp | 4 ++-- engines/scumm/players/player_v5m.h | 4 ++-- engines/scumm/resource.cpp | 4 ++-- engines/scumm/resource.h | 1 + engines/scumm/resource_v2.cpp | 4 ++-- engines/scumm/resource_v3.cpp | 4 ++-- engines/scumm/resource_v4.cpp | 4 ++-- engines/scumm/room.cpp | 4 ++-- engines/scumm/saveload.cpp | 4 ++-- engines/scumm/saveload.h | 4 ++-- engines/scumm/script.cpp | 4 ++-- engines/scumm/script.h | 4 ++-- engines/scumm/script_v0.cpp | 4 ++-- engines/scumm/script_v2.cpp | 4 ++-- engines/scumm/script_v3.cpp | 4 ++-- engines/scumm/script_v4.cpp | 4 ++-- engines/scumm/script_v5.cpp | 4 ++-- engines/scumm/script_v6.cpp | 4 ++-- engines/scumm/script_v8.cpp | 4 ++-- engines/scumm/scumm.cpp | 4 ++-- engines/scumm/scumm.h | 4 ++-- engines/scumm/scumm_v0.h | 4 ++-- engines/scumm/scumm_v2.h | 4 ++-- engines/scumm/scumm_v3.h | 4 ++-- engines/scumm/scumm_v4.h | 4 ++-- engines/scumm/scumm_v5.h | 4 ++-- engines/scumm/scumm_v6.h | 4 ++-- engines/scumm/scumm_v7.h | 4 ++-- engines/scumm/scumm_v8.h | 4 ++-- engines/scumm/smush/channel.cpp | 4 ++-- engines/scumm/smush/channel.h | 4 ++-- engines/scumm/smush/codec1.cpp | 4 ++-- engines/scumm/smush/codec37.cpp | 4 ++-- engines/scumm/smush/codec37.h | 4 ++-- engines/scumm/smush/codec47.cpp | 4 ++-- engines/scumm/smush/codec47.h | 4 ++-- engines/scumm/smush/imuse_channel.cpp | 4 ++-- engines/scumm/smush/saud_channel.cpp | 4 ++-- engines/scumm/smush/smush_font.cpp | 4 ++-- engines/scumm/smush/smush_font.h | 4 ++-- engines/scumm/smush/smush_mixer.cpp | 4 ++-- engines/scumm/smush/smush_mixer.h | 4 ++-- engines/scumm/smush/smush_player.cpp | 4 ++-- engines/scumm/smush/smush_player.h | 4 ++-- engines/scumm/sound.cpp | 4 ++-- engines/scumm/sound.h | 1 + engines/scumm/string.cpp | 4 ++-- engines/scumm/vars.cpp | 4 ++-- engines/scumm/verbs.cpp | 4 ++-- engines/scumm/verbs.h | 1 + 182 files changed, 326 insertions(+), 280 deletions(-) diff --git a/engines/scumm/actor.cpp b/engines/scumm/actor.cpp index 4e14473921..116a953b0b 100644 --- a/engines/scumm/actor.cpp +++ b/engines/scumm/actor.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/scumm/actor.h b/engines/scumm/actor.h index a733fdb4ed..46dc7d0295 100644 --- a/engines/scumm/actor.h +++ b/engines/scumm/actor.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/scumm/actor_he.h b/engines/scumm/actor_he.h index 24b632d00e..9bc244945c 100644 --- a/engines/scumm/actor_he.h +++ b/engines/scumm/actor_he.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/scumm/akos.cpp b/engines/scumm/akos.cpp index 481c4af432..6d80315ccb 100644 --- a/engines/scumm/akos.cpp +++ b/engines/scumm/akos.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/scumm/akos.h b/engines/scumm/akos.h index bd42aedcbd..017989424b 100644 --- a/engines/scumm/akos.h +++ b/engines/scumm/akos.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/scumm/base-costume.cpp b/engines/scumm/base-costume.cpp index e1a8688bb9..024520f14b 100644 --- a/engines/scumm/base-costume.cpp +++ b/engines/scumm/base-costume.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/scumm/base-costume.h b/engines/scumm/base-costume.h index 652655c24e..1e633bdec6 100644 --- a/engines/scumm/base-costume.h +++ b/engines/scumm/base-costume.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/scumm/bomp.cpp b/engines/scumm/bomp.cpp index 5b87f3042c..a0c4e67e4b 100644 --- a/engines/scumm/bomp.cpp +++ b/engines/scumm/bomp.cpp @@ -8,11 +8,12 @@ * 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. diff --git a/engines/scumm/bomp.h b/engines/scumm/bomp.h index b2d042daae..eb19cdf1d0 100644 --- a/engines/scumm/bomp.h +++ b/engines/scumm/bomp.h @@ -8,11 +8,12 @@ * 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. diff --git a/engines/scumm/boxes.cpp b/engines/scumm/boxes.cpp index f6d2a18f38..70c8f2e032 100644 --- a/engines/scumm/boxes.cpp +++ b/engines/scumm/boxes.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/scumm/boxes.h b/engines/scumm/boxes.h index 345d6a9d36..4fd1947848 100644 --- a/engines/scumm/boxes.h +++ b/engines/scumm/boxes.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/scumm/camera.cpp b/engines/scumm/camera.cpp index 4b48acfbdb..799fdd7547 100644 --- a/engines/scumm/camera.cpp +++ b/engines/scumm/camera.cpp @@ -8,11 +8,12 @@ * 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. diff --git a/engines/scumm/charset-fontdata.cpp b/engines/scumm/charset-fontdata.cpp index 16193f5503..3a0cd15637 100644 --- a/engines/scumm/charset-fontdata.cpp +++ b/engines/scumm/charset-fontdata.cpp @@ -17,6 +17,7 @@ * 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. + * */ diff --git a/engines/scumm/charset.cpp b/engines/scumm/charset.cpp index dd79aff2da..185ebbce6e 100644 --- a/engines/scumm/charset.cpp +++ b/engines/scumm/charset.cpp @@ -17,6 +17,7 @@ * 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. + * */ diff --git a/engines/scumm/charset.h b/engines/scumm/charset.h index 1c1df51921..5a9977b7d6 100644 --- a/engines/scumm/charset.h +++ b/engines/scumm/charset.h @@ -17,6 +17,7 @@ * 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. + * */ #ifndef SCUMM_CHARSET_H diff --git a/engines/scumm/costume.cpp b/engines/scumm/costume.cpp index 85c60f9a40..7470f13fa2 100644 --- a/engines/scumm/costume.cpp +++ b/engines/scumm/costume.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/scumm/costume.h b/engines/scumm/costume.h index 4a21692ddb..8e4fd41740 100644 --- a/engines/scumm/costume.h +++ b/engines/scumm/costume.h @@ -17,6 +17,7 @@ * 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. + * */ #ifndef SCUMM_COSTUME_H diff --git a/engines/scumm/cursor.cpp b/engines/scumm/cursor.cpp index 721644b554..6445d257f6 100644 --- a/engines/scumm/cursor.cpp +++ b/engines/scumm/cursor.cpp @@ -8,11 +8,12 @@ * 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. diff --git a/engines/scumm/debugger.cpp b/engines/scumm/debugger.cpp index 872293f821..a792d63149 100644 --- a/engines/scumm/debugger.cpp +++ b/engines/scumm/debugger.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/scumm/debugger.h b/engines/scumm/debugger.h index b60a1a2f03..43bf9d6fd4 100644 --- a/engines/scumm/debugger.h +++ b/engines/scumm/debugger.h @@ -17,6 +17,7 @@ * 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. + * */ #ifndef SCUMM_DEBUGGER_H diff --git a/engines/scumm/detection.cpp b/engines/scumm/detection.cpp index aa7e60930a..b7a25808a5 100644 --- a/engines/scumm/detection.cpp +++ b/engines/scumm/detection.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/scumm/detection.h b/engines/scumm/detection.h index 5ed6b5aab0..f714812a9c 100644 --- a/engines/scumm/detection.h +++ b/engines/scumm/detection.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/scumm/detection_tables.h b/engines/scumm/detection_tables.h index 6717ea9b06..c876af1256 100644 --- a/engines/scumm/detection_tables.h +++ b/engines/scumm/detection_tables.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/scumm/dialogs.cpp b/engines/scumm/dialogs.cpp index 945c5b6611..8321daa583 100644 --- a/engines/scumm/dialogs.cpp +++ b/engines/scumm/dialogs.cpp @@ -17,6 +17,7 @@ * 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 "common/config-manager.h" diff --git a/engines/scumm/dialogs.h b/engines/scumm/dialogs.h index 7977f123ed..08222dd8cd 100644 --- a/engines/scumm/dialogs.h +++ b/engines/scumm/dialogs.h @@ -17,6 +17,7 @@ * 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. + * */ #ifndef SCUMM_DIALOGS_H diff --git a/engines/scumm/gfx.cpp b/engines/scumm/gfx.cpp index 1bb4a28f65..bb1a7ffaf1 100644 --- a/engines/scumm/gfx.cpp +++ b/engines/scumm/gfx.cpp @@ -8,11 +8,12 @@ * 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. diff --git a/engines/scumm/gfx.h b/engines/scumm/gfx.h index 0d81698c50..42844daf30 100644 --- a/engines/scumm/gfx.h +++ b/engines/scumm/gfx.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/scumm/gfx_towns.cpp b/engines/scumm/gfx_towns.cpp index 0aed181afd..6a558c97b4 100644 --- a/engines/scumm/gfx_towns.cpp +++ b/engines/scumm/gfx_towns.cpp @@ -8,11 +8,12 @@ * 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. diff --git a/engines/scumm/he/animation_he.cpp b/engines/scumm/he/animation_he.cpp index c736c6a04c..8483a8a402 100644 --- a/engines/scumm/he/animation_he.cpp +++ b/engines/scumm/he/animation_he.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/scumm/he/animation_he.h b/engines/scumm/he/animation_he.h index 48234b8072..677a4b4247 100644 --- a/engines/scumm/he/animation_he.h +++ b/engines/scumm/he/animation_he.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/scumm/he/cup_player_he.cpp b/engines/scumm/he/cup_player_he.cpp index 84562c12d5..c409863804 100644 --- a/engines/scumm/he/cup_player_he.cpp +++ b/engines/scumm/he/cup_player_he.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/scumm/he/cup_player_he.h b/engines/scumm/he/cup_player_he.h index 15bc6b46ba..16c8a37f2f 100644 --- a/engines/scumm/he/cup_player_he.h +++ b/engines/scumm/he/cup_player_he.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/scumm/he/floodfill_he.cpp b/engines/scumm/he/floodfill_he.cpp index f9d53c6b12..279a8c63c4 100644 --- a/engines/scumm/he/floodfill_he.cpp +++ b/engines/scumm/he/floodfill_he.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/scumm/he/floodfill_he.h b/engines/scumm/he/floodfill_he.h index 3f62cc9b81..286bcce4f5 100644 --- a/engines/scumm/he/floodfill_he.h +++ b/engines/scumm/he/floodfill_he.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/scumm/he/intern_he.h b/engines/scumm/he/intern_he.h index 067f508d2c..370f54c1d8 100644 --- a/engines/scumm/he/intern_he.h +++ b/engines/scumm/he/intern_he.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/scumm/he/logic/baseball2001.cpp b/engines/scumm/he/logic/baseball2001.cpp index 342423fd79..5cbc96a21d 100644 --- a/engines/scumm/he/logic/baseball2001.cpp +++ b/engines/scumm/he/logic/baseball2001.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/scumm/he/logic/basketball.cpp b/engines/scumm/he/logic/basketball.cpp index a4da8e05dc..bac15ea24a 100644 --- a/engines/scumm/he/logic/basketball.cpp +++ b/engines/scumm/he/logic/basketball.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/scumm/he/logic/football.cpp b/engines/scumm/he/logic/football.cpp index 215fdf0179..bde0c38484 100644 --- a/engines/scumm/he/logic/football.cpp +++ b/engines/scumm/he/logic/football.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/scumm/he/logic/funshop.cpp b/engines/scumm/he/logic/funshop.cpp index 8993fedad2..50759cf89e 100644 --- a/engines/scumm/he/logic/funshop.cpp +++ b/engines/scumm/he/logic/funshop.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/scumm/he/logic/moonbase.cpp b/engines/scumm/he/logic/moonbase.cpp index 5b4618a4ad..29a0dde7a2 100644 --- a/engines/scumm/he/logic/moonbase.cpp +++ b/engines/scumm/he/logic/moonbase.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/scumm/he/logic/puttrace.cpp b/engines/scumm/he/logic/puttrace.cpp index ea4397cd97..1c3317b131 100644 --- a/engines/scumm/he/logic/puttrace.cpp +++ b/engines/scumm/he/logic/puttrace.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/scumm/he/logic/soccer.cpp b/engines/scumm/he/logic/soccer.cpp index 2b29f93173..a0eaf2e3c6 100644 --- a/engines/scumm/he/logic/soccer.cpp +++ b/engines/scumm/he/logic/soccer.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/scumm/he/logic_he.cpp b/engines/scumm/he/logic_he.cpp index 0f9454ba28..366cd3be26 100644 --- a/engines/scumm/he/logic_he.cpp +++ b/engines/scumm/he/logic_he.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/scumm/he/logic_he.h b/engines/scumm/he/logic_he.h index 93c0569a4f..cd547f1616 100644 --- a/engines/scumm/he/logic_he.h +++ b/engines/scumm/he/logic_he.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/scumm/he/palette_he.cpp b/engines/scumm/he/palette_he.cpp index 44ba841644..89b9b9bca4 100644 --- a/engines/scumm/he/palette_he.cpp +++ b/engines/scumm/he/palette_he.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/scumm/he/resource_he.cpp b/engines/scumm/he/resource_he.cpp index ce4b2239d2..ddde352686 100644 --- a/engines/scumm/he/resource_he.cpp +++ b/engines/scumm/he/resource_he.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/scumm/he/resource_he.h b/engines/scumm/he/resource_he.h index 6996ce81eb..49175db8d4 100644 --- a/engines/scumm/he/resource_he.h +++ b/engines/scumm/he/resource_he.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/scumm/he/script_v100he.cpp b/engines/scumm/he/script_v100he.cpp index c26e3f57ea..afc6633ef6 100644 --- a/engines/scumm/he/script_v100he.cpp +++ b/engines/scumm/he/script_v100he.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/scumm/he/script_v60he.cpp b/engines/scumm/he/script_v60he.cpp index 409fb7edf7..0c92fbcac3 100644 --- a/engines/scumm/he/script_v60he.cpp +++ b/engines/scumm/he/script_v60he.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/scumm/he/script_v70he.cpp b/engines/scumm/he/script_v70he.cpp index 9259e0db2f..a911487738 100644 --- a/engines/scumm/he/script_v70he.cpp +++ b/engines/scumm/he/script_v70he.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/scumm/he/script_v71he.cpp b/engines/scumm/he/script_v71he.cpp index 3ad9220ac5..1ef21f1e6e 100644 --- a/engines/scumm/he/script_v71he.cpp +++ b/engines/scumm/he/script_v71he.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/scumm/he/script_v72he.cpp b/engines/scumm/he/script_v72he.cpp index cfa2be7275..31b4887d10 100644 --- a/engines/scumm/he/script_v72he.cpp +++ b/engines/scumm/he/script_v72he.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/scumm/he/script_v80he.cpp b/engines/scumm/he/script_v80he.cpp index 7a8f230fc0..f5a193afcc 100644 --- a/engines/scumm/he/script_v80he.cpp +++ b/engines/scumm/he/script_v80he.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/scumm/he/script_v90he.cpp b/engines/scumm/he/script_v90he.cpp index f844c51cc6..f65d2f6077 100644 --- a/engines/scumm/he/script_v90he.cpp +++ b/engines/scumm/he/script_v90he.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/scumm/he/sound_he.cpp b/engines/scumm/he/sound_he.cpp index 1afb1b4074..a78aff96f8 100644 --- a/engines/scumm/he/sound_he.cpp +++ b/engines/scumm/he/sound_he.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/scumm/he/sound_he.h b/engines/scumm/he/sound_he.h index f487acc7da..323858a7c9 100644 --- a/engines/scumm/he/sound_he.h +++ b/engines/scumm/he/sound_he.h @@ -17,6 +17,7 @@ * 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. + * */ #ifndef SCUMM_HE_SOUND_HE_H diff --git a/engines/scumm/he/sprite_he.cpp b/engines/scumm/he/sprite_he.cpp index ec69ae11b4..218f2ec59c 100644 --- a/engines/scumm/he/sprite_he.cpp +++ b/engines/scumm/he/sprite_he.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/scumm/he/sprite_he.h b/engines/scumm/he/sprite_he.h index be6717faa5..e31ccbf790 100644 --- a/engines/scumm/he/sprite_he.h +++ b/engines/scumm/he/sprite_he.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/scumm/he/wiz_he.cpp b/engines/scumm/he/wiz_he.cpp index b3511648bd..9a59609651 100644 --- a/engines/scumm/he/wiz_he.cpp +++ b/engines/scumm/he/wiz_he.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/scumm/he/wiz_he.h b/engines/scumm/he/wiz_he.h index ce3fbc27c6..8db438a074 100644 --- a/engines/scumm/he/wiz_he.h +++ b/engines/scumm/he/wiz_he.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/scumm/imuse/imuse.cpp b/engines/scumm/imuse/imuse.cpp index 0e96952a48..8b892f5fda 100644 --- a/engines/scumm/imuse/imuse.cpp +++ b/engines/scumm/imuse/imuse.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/scumm/imuse/imuse.h b/engines/scumm/imuse/imuse.h index cce5309229..35ccc931b5 100644 --- a/engines/scumm/imuse/imuse.h +++ b/engines/scumm/imuse/imuse.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/scumm/imuse/imuse_internal.h b/engines/scumm/imuse/imuse_internal.h index d17d4ed28b..fed716e300 100644 --- a/engines/scumm/imuse/imuse_internal.h +++ b/engines/scumm/imuse/imuse_internal.h @@ -17,6 +17,7 @@ * 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. + * */ #ifndef SCUMM_IMUSE_INTERNAL diff --git a/engines/scumm/imuse/imuse_part.cpp b/engines/scumm/imuse/imuse_part.cpp index 5e928f3d44..937523d275 100644 --- a/engines/scumm/imuse/imuse_part.cpp +++ b/engines/scumm/imuse/imuse_part.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/scumm/imuse/imuse_player.cpp b/engines/scumm/imuse/imuse_player.cpp index 3a9c42a920..6714cc00a0 100644 --- a/engines/scumm/imuse/imuse_player.cpp +++ b/engines/scumm/imuse/imuse_player.cpp @@ -17,6 +17,7 @@ * 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. + * */ diff --git a/engines/scumm/imuse/instrument.cpp b/engines/scumm/imuse/instrument.cpp index 61c73b1e2d..6cbe1a5a15 100644 --- a/engines/scumm/imuse/instrument.cpp +++ b/engines/scumm/imuse/instrument.cpp @@ -17,6 +17,7 @@ * 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. + * */ diff --git a/engines/scumm/imuse/instrument.h b/engines/scumm/imuse/instrument.h index 7e09e86fa5..47f556b40b 100644 --- a/engines/scumm/imuse/instrument.h +++ b/engines/scumm/imuse/instrument.h @@ -17,6 +17,7 @@ * 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. + * */ #ifndef SCUMM_IMUSE_INSTRUMENT_H diff --git a/engines/scumm/imuse/mac_m68k.cpp b/engines/scumm/imuse/mac_m68k.cpp index 0980ef1fd2..8ebd8e4cca 100644 --- a/engines/scumm/imuse/mac_m68k.cpp +++ b/engines/scumm/imuse/mac_m68k.cpp @@ -17,6 +17,7 @@ * 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 "scumm/imuse/mac_m68k.h" diff --git a/engines/scumm/imuse/mac_m68k.h b/engines/scumm/imuse/mac_m68k.h index 59e2f68b9b..31beaf4e66 100644 --- a/engines/scumm/imuse/mac_m68k.h +++ b/engines/scumm/imuse/mac_m68k.h @@ -17,6 +17,7 @@ * 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. + * */ #ifndef SCUMM_IMUSE_MAC_M68K_H diff --git a/engines/scumm/imuse/pcspk.cpp b/engines/scumm/imuse/pcspk.cpp index cbf3446f10..856b771990 100644 --- a/engines/scumm/imuse/pcspk.cpp +++ b/engines/scumm/imuse/pcspk.cpp @@ -17,6 +17,7 @@ * 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 "scumm/imuse/pcspk.h" diff --git a/engines/scumm/imuse/pcspk.h b/engines/scumm/imuse/pcspk.h index 195bd34b07..6a107e169a 100644 --- a/engines/scumm/imuse/pcspk.h +++ b/engines/scumm/imuse/pcspk.h @@ -17,6 +17,7 @@ * 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. + * */ #ifndef SCUMM_IMUSE_PCSPK_H diff --git a/engines/scumm/imuse/sysex.h b/engines/scumm/imuse/sysex.h index 06ac483afd..f9a1d717d2 100644 --- a/engines/scumm/imuse/sysex.h +++ b/engines/scumm/imuse/sysex.h @@ -17,6 +17,7 @@ * 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. + * */ #ifndef SCUMM_IMUSE_SYSEX_H diff --git a/engines/scumm/imuse/sysex_samnmax.cpp b/engines/scumm/imuse/sysex_samnmax.cpp index a4f525da56..7a412414fe 100644 --- a/engines/scumm/imuse/sysex_samnmax.cpp +++ b/engines/scumm/imuse/sysex_samnmax.cpp @@ -17,6 +17,7 @@ * 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. + * */ diff --git a/engines/scumm/imuse/sysex_scumm.cpp b/engines/scumm/imuse/sysex_scumm.cpp index 8f230ebac3..d2bf857b7a 100644 --- a/engines/scumm/imuse/sysex_scumm.cpp +++ b/engines/scumm/imuse/sysex_scumm.cpp @@ -17,6 +17,7 @@ * 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. + * */ diff --git a/engines/scumm/imuse_digi/dimuse.cpp b/engines/scumm/imuse_digi/dimuse.cpp index a737539c44..db260dce42 100644 --- a/engines/scumm/imuse_digi/dimuse.cpp +++ b/engines/scumm/imuse_digi/dimuse.cpp @@ -17,6 +17,7 @@ * 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 "common/system.h" diff --git a/engines/scumm/imuse_digi/dimuse.h b/engines/scumm/imuse_digi/dimuse.h index d940b6897f..f04c2f7826 100644 --- a/engines/scumm/imuse_digi/dimuse.h +++ b/engines/scumm/imuse_digi/dimuse.h @@ -17,6 +17,7 @@ * 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. + * */ #if !defined(SCUMM_IMUSE_DIGI_H) && defined(ENABLE_SCUMM_7_8) diff --git a/engines/scumm/imuse_digi/dimuse_bndmgr.cpp b/engines/scumm/imuse_digi/dimuse_bndmgr.cpp index d6e07bd0ec..bf024aa098 100644 --- a/engines/scumm/imuse_digi/dimuse_bndmgr.cpp +++ b/engines/scumm/imuse_digi/dimuse_bndmgr.cpp @@ -17,6 +17,7 @@ * 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. + * */ diff --git a/engines/scumm/imuse_digi/dimuse_bndmgr.h b/engines/scumm/imuse_digi/dimuse_bndmgr.h index 21d3110f8b..2d04e88246 100644 --- a/engines/scumm/imuse_digi/dimuse_bndmgr.h +++ b/engines/scumm/imuse_digi/dimuse_bndmgr.h @@ -17,6 +17,7 @@ * 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. + * */ #ifndef SCUMM_IMUSE_DIGI_BUNDLE_MGR_H diff --git a/engines/scumm/imuse_digi/dimuse_codecs.cpp b/engines/scumm/imuse_digi/dimuse_codecs.cpp index 6edfe0bd33..b7468802d5 100644 --- a/engines/scumm/imuse_digi/dimuse_codecs.cpp +++ b/engines/scumm/imuse_digi/dimuse_codecs.cpp @@ -17,6 +17,7 @@ * 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 "common/scummsys.h" diff --git a/engines/scumm/imuse_digi/dimuse_codecs.h b/engines/scumm/imuse_digi/dimuse_codecs.h index a38f7234dd..163d0250fa 100644 --- a/engines/scumm/imuse_digi/dimuse_codecs.h +++ b/engines/scumm/imuse_digi/dimuse_codecs.h @@ -17,6 +17,7 @@ * 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. + * */ #ifndef SCUMM_IMUSE_DIGI_CODECS_H diff --git a/engines/scumm/imuse_digi/dimuse_music.cpp b/engines/scumm/imuse_digi/dimuse_music.cpp index adf2560142..46c457c864 100644 --- a/engines/scumm/imuse_digi/dimuse_music.cpp +++ b/engines/scumm/imuse_digi/dimuse_music.cpp @@ -17,6 +17,7 @@ * 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. + * */ diff --git a/engines/scumm/imuse_digi/dimuse_script.cpp b/engines/scumm/imuse_digi/dimuse_script.cpp index bc030cc242..f181e5b6db 100644 --- a/engines/scumm/imuse_digi/dimuse_script.cpp +++ b/engines/scumm/imuse_digi/dimuse_script.cpp @@ -17,6 +17,7 @@ * 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. + * */ diff --git a/engines/scumm/imuse_digi/dimuse_sndmgr.cpp b/engines/scumm/imuse_digi/dimuse_sndmgr.cpp index 26e248fbca..78d05c2051 100644 --- a/engines/scumm/imuse_digi/dimuse_sndmgr.cpp +++ b/engines/scumm/imuse_digi/dimuse_sndmgr.cpp @@ -17,6 +17,7 @@ * 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. + * */ diff --git a/engines/scumm/imuse_digi/dimuse_sndmgr.h b/engines/scumm/imuse_digi/dimuse_sndmgr.h index ff6281d5e3..aebf4d7f11 100644 --- a/engines/scumm/imuse_digi/dimuse_sndmgr.h +++ b/engines/scumm/imuse_digi/dimuse_sndmgr.h @@ -17,6 +17,7 @@ * 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. + * */ #ifndef SCUMM_IMUSE_DIGI_SNDMGR_H diff --git a/engines/scumm/imuse_digi/dimuse_tables.cpp b/engines/scumm/imuse_digi/dimuse_tables.cpp index c27138b765..bae081b308 100644 --- a/engines/scumm/imuse_digi/dimuse_tables.cpp +++ b/engines/scumm/imuse_digi/dimuse_tables.cpp @@ -17,6 +17,7 @@ * 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. + * */ diff --git a/engines/scumm/imuse_digi/dimuse_tables.h b/engines/scumm/imuse_digi/dimuse_tables.h index a74941dfea..cb8393d4d7 100644 --- a/engines/scumm/imuse_digi/dimuse_tables.h +++ b/engines/scumm/imuse_digi/dimuse_tables.h @@ -17,6 +17,7 @@ * 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. + * */ #if !defined(SCUMM_IMUSE_DIGI_TABLES_H) && defined(ENABLE_SCUMM_7_8) diff --git a/engines/scumm/imuse_digi/dimuse_track.cpp b/engines/scumm/imuse_digi/dimuse_track.cpp index 0896f9af7d..34926fa34e 100644 --- a/engines/scumm/imuse_digi/dimuse_track.cpp +++ b/engines/scumm/imuse_digi/dimuse_track.cpp @@ -17,6 +17,7 @@ * 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 "common/config-manager.h" diff --git a/engines/scumm/imuse_digi/dimuse_track.h b/engines/scumm/imuse_digi/dimuse_track.h index 420db4bb06..7e360268e5 100644 --- a/engines/scumm/imuse_digi/dimuse_track.h +++ b/engines/scumm/imuse_digi/dimuse_track.h @@ -17,6 +17,7 @@ * 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. + * */ #if !defined(SCUMM_IMUSE_DIGI_TRACK_H) && defined(ENABLE_SCUMM_7_8) diff --git a/engines/scumm/input.cpp b/engines/scumm/input.cpp index d1786dfb60..5e2566dc32 100644 --- a/engines/scumm/input.cpp +++ b/engines/scumm/input.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/scumm/insane/insane.cpp b/engines/scumm/insane/insane.cpp index 44528e5bac..b3e9a0e699 100644 --- a/engines/scumm/insane/insane.cpp +++ b/engines/scumm/insane/insane.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/scumm/insane/insane.h b/engines/scumm/insane/insane.h index 12d44c57f4..8c5862d20c 100644 --- a/engines/scumm/insane/insane.h +++ b/engines/scumm/insane/insane.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/scumm/insane/insane_ben.cpp b/engines/scumm/insane/insane_ben.cpp index a7fa72c417..de904610ee 100644 --- a/engines/scumm/insane/insane_ben.cpp +++ b/engines/scumm/insane/insane_ben.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/scumm/insane/insane_enemy.cpp b/engines/scumm/insane/insane_enemy.cpp index d711b63342..40dd453722 100644 --- a/engines/scumm/insane/insane_enemy.cpp +++ b/engines/scumm/insane/insane_enemy.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/scumm/insane/insane_iact.cpp b/engines/scumm/insane/insane_iact.cpp index 9c395beea6..e2ed30733b 100644 --- a/engines/scumm/insane/insane_iact.cpp +++ b/engines/scumm/insane/insane_iact.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/scumm/insane/insane_scenes.cpp b/engines/scumm/insane/insane_scenes.cpp index 06d5d7ac68..51b4bb33f5 100644 --- a/engines/scumm/insane/insane_scenes.cpp +++ b/engines/scumm/insane/insane_scenes.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/scumm/midiparser_ro.cpp b/engines/scumm/midiparser_ro.cpp index 8549a9262d..35eb9f7eb7 100644 --- a/engines/scumm/midiparser_ro.cpp +++ b/engines/scumm/midiparser_ro.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/scumm/music.h b/engines/scumm/music.h index 9fd14d830e..c5762ed24a 100644 --- a/engines/scumm/music.h +++ b/engines/scumm/music.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/scumm/nut_renderer.cpp b/engines/scumm/nut_renderer.cpp index d9f0b412e1..1d5761ef48 100644 --- a/engines/scumm/nut_renderer.cpp +++ b/engines/scumm/nut_renderer.cpp @@ -17,6 +17,7 @@ * 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. + * */ diff --git a/engines/scumm/nut_renderer.h b/engines/scumm/nut_renderer.h index acccf161fa..47458b9f77 100644 --- a/engines/scumm/nut_renderer.h +++ b/engines/scumm/nut_renderer.h @@ -17,6 +17,7 @@ * 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. + * */ #if !defined(SCUMM_NUT_RENDERER_H) && defined(ENABLE_SCUMM_7_8) diff --git a/engines/scumm/object.cpp b/engines/scumm/object.cpp index d266183f85..7919075d0b 100644 --- a/engines/scumm/object.cpp +++ b/engines/scumm/object.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/scumm/object.h b/engines/scumm/object.h index 8212075e43..ef3a267e6a 100644 --- a/engines/scumm/object.h +++ b/engines/scumm/object.h @@ -17,6 +17,7 @@ * 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. + * */ #ifndef SCUMM_OBJECT_H diff --git a/engines/scumm/palette.cpp b/engines/scumm/palette.cpp index bd085dd4d5..5275f1e942 100644 --- a/engines/scumm/palette.cpp +++ b/engines/scumm/palette.cpp @@ -8,11 +8,12 @@ * 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. diff --git a/engines/scumm/players/player_apple2.cpp b/engines/scumm/players/player_apple2.cpp index 87b8100f22..cba32bef2c 100644 --- a/engines/scumm/players/player_apple2.cpp +++ b/engines/scumm/players/player_apple2.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/scumm/players/player_apple2.h b/engines/scumm/players/player_apple2.h index 9930a4f95d..8efb951f20 100644 --- a/engines/scumm/players/player_apple2.h +++ b/engines/scumm/players/player_apple2.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/scumm/players/player_mac.cpp b/engines/scumm/players/player_mac.cpp index 281eec5336..fe15698494 100644 --- a/engines/scumm/players/player_mac.cpp +++ b/engines/scumm/players/player_mac.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/scumm/players/player_mac.h b/engines/scumm/players/player_mac.h index 7f9f42c34e..d247ce9883 100644 --- a/engines/scumm/players/player_mac.h +++ b/engines/scumm/players/player_mac.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/scumm/players/player_mod.cpp b/engines/scumm/players/player_mod.cpp index abaa8c1fc5..ced30ff193 100644 --- a/engines/scumm/players/player_mod.cpp +++ b/engines/scumm/players/player_mod.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/scumm/players/player_mod.h b/engines/scumm/players/player_mod.h index d4a5b16fca..bb0c422090 100644 --- a/engines/scumm/players/player_mod.h +++ b/engines/scumm/players/player_mod.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/scumm/players/player_nes.cpp b/engines/scumm/players/player_nes.cpp index f55f1f9edd..3b5adc4550 100644 --- a/engines/scumm/players/player_nes.cpp +++ b/engines/scumm/players/player_nes.cpp @@ -8,14 +8,14 @@ * 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 - * aint32 with this program; if not, write to the Free Software + * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * */ diff --git a/engines/scumm/players/player_nes.h b/engines/scumm/players/player_nes.h index f0b3e79aad..6c5efe9d38 100644 --- a/engines/scumm/players/player_nes.h +++ b/engines/scumm/players/player_nes.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/scumm/players/player_pce.cpp b/engines/scumm/players/player_pce.cpp index 6d6e2fcde5..89a3b07798 100644 --- a/engines/scumm/players/player_pce.cpp +++ b/engines/scumm/players/player_pce.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/scumm/players/player_pce.h b/engines/scumm/players/player_pce.h index ca2eddf58c..5c9a2d201c 100644 --- a/engines/scumm/players/player_pce.h +++ b/engines/scumm/players/player_pce.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/scumm/players/player_sid.cpp b/engines/scumm/players/player_sid.cpp index 1b97ad16d4..c7be112449 100644 --- a/engines/scumm/players/player_sid.cpp +++ b/engines/scumm/players/player_sid.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/scumm/players/player_sid.h b/engines/scumm/players/player_sid.h index a48ec793cd..aa7e6be8c1 100644 --- a/engines/scumm/players/player_sid.h +++ b/engines/scumm/players/player_sid.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/scumm/players/player_towns.cpp b/engines/scumm/players/player_towns.cpp index acbdbc7fb6..5b8ca04021 100644 --- a/engines/scumm/players/player_towns.cpp +++ b/engines/scumm/players/player_towns.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/scumm/players/player_towns.h b/engines/scumm/players/player_towns.h index 2369b7da5f..3736524ee2 100644 --- a/engines/scumm/players/player_towns.h +++ b/engines/scumm/players/player_towns.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/scumm/players/player_v1.cpp b/engines/scumm/players/player_v1.cpp index 0fa1ee9361..041f556120 100644 --- a/engines/scumm/players/player_v1.cpp +++ b/engines/scumm/players/player_v1.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/scumm/players/player_v1.h b/engines/scumm/players/player_v1.h index ccd24c39df..3854922847 100644 --- a/engines/scumm/players/player_v1.h +++ b/engines/scumm/players/player_v1.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/scumm/players/player_v2.cpp b/engines/scumm/players/player_v2.cpp index 2429af2d8c..f0aaa4a3be 100644 --- a/engines/scumm/players/player_v2.cpp +++ b/engines/scumm/players/player_v2.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/scumm/players/player_v2.h b/engines/scumm/players/player_v2.h index 33878ff08b..b7a602d3a3 100644 --- a/engines/scumm/players/player_v2.h +++ b/engines/scumm/players/player_v2.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/scumm/players/player_v2a.cpp b/engines/scumm/players/player_v2a.cpp index aeccb8b7cb..80a80a5584 100644 --- a/engines/scumm/players/player_v2a.cpp +++ b/engines/scumm/players/player_v2a.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/scumm/players/player_v2a.h b/engines/scumm/players/player_v2a.h index 12193635f2..37333829d8 100644 --- a/engines/scumm/players/player_v2a.h +++ b/engines/scumm/players/player_v2a.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/scumm/players/player_v2base.cpp b/engines/scumm/players/player_v2base.cpp index 75f1518989..b1872f3fb3 100644 --- a/engines/scumm/players/player_v2base.cpp +++ b/engines/scumm/players/player_v2base.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/scumm/players/player_v2base.h b/engines/scumm/players/player_v2base.h index 32bde95ddc..83b496af67 100644 --- a/engines/scumm/players/player_v2base.h +++ b/engines/scumm/players/player_v2base.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/scumm/players/player_v2cms.cpp b/engines/scumm/players/player_v2cms.cpp index 8e903bf9d2..08321932c3 100644 --- a/engines/scumm/players/player_v2cms.cpp +++ b/engines/scumm/players/player_v2cms.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/scumm/players/player_v2cms.h b/engines/scumm/players/player_v2cms.h index fe42720215..b68fa00198 100644 --- a/engines/scumm/players/player_v2cms.h +++ b/engines/scumm/players/player_v2cms.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/scumm/players/player_v3a.cpp b/engines/scumm/players/player_v3a.cpp index ca0eedc90a..e6610a87d3 100644 --- a/engines/scumm/players/player_v3a.cpp +++ b/engines/scumm/players/player_v3a.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/scumm/players/player_v3a.h b/engines/scumm/players/player_v3a.h index 3f84a74e51..7a4ebec8ab 100644 --- a/engines/scumm/players/player_v3a.h +++ b/engines/scumm/players/player_v3a.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/scumm/players/player_v3m.cpp b/engines/scumm/players/player_v3m.cpp index e30e31aff9..bfe6144b6f 100644 --- a/engines/scumm/players/player_v3m.cpp +++ b/engines/scumm/players/player_v3m.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/scumm/players/player_v3m.h b/engines/scumm/players/player_v3m.h index 615d736035..81dda801fc 100644 --- a/engines/scumm/players/player_v3m.h +++ b/engines/scumm/players/player_v3m.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/scumm/players/player_v4a.cpp b/engines/scumm/players/player_v4a.cpp index 59f49625c3..bd8ce3f7ad 100644 --- a/engines/scumm/players/player_v4a.cpp +++ b/engines/scumm/players/player_v4a.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/scumm/players/player_v4a.h b/engines/scumm/players/player_v4a.h index c8c7b63ed2..a746d59877 100644 --- a/engines/scumm/players/player_v4a.h +++ b/engines/scumm/players/player_v4a.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/scumm/players/player_v5m.cpp b/engines/scumm/players/player_v5m.cpp index 77b6d52a3c..5be92d024b 100644 --- a/engines/scumm/players/player_v5m.cpp +++ b/engines/scumm/players/player_v5m.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/scumm/players/player_v5m.h b/engines/scumm/players/player_v5m.h index e3a457f8af..f60a3f9346 100644 --- a/engines/scumm/players/player_v5m.h +++ b/engines/scumm/players/player_v5m.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/scumm/resource.cpp b/engines/scumm/resource.cpp index 7c42b40f58..d4e4f43d5c 100644 --- a/engines/scumm/resource.cpp +++ b/engines/scumm/resource.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/scumm/resource.h b/engines/scumm/resource.h index aa7f809b76..6ae553901b 100644 --- a/engines/scumm/resource.h +++ b/engines/scumm/resource.h @@ -17,6 +17,7 @@ * 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. + * */ #ifndef SCUMM_RESOURCE_H diff --git a/engines/scumm/resource_v2.cpp b/engines/scumm/resource_v2.cpp index 927ee676a5..7ccdfa4780 100644 --- a/engines/scumm/resource_v2.cpp +++ b/engines/scumm/resource_v2.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/scumm/resource_v3.cpp b/engines/scumm/resource_v3.cpp index 55e42e389c..99e967cef1 100644 --- a/engines/scumm/resource_v3.cpp +++ b/engines/scumm/resource_v3.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/scumm/resource_v4.cpp b/engines/scumm/resource_v4.cpp index 6215e86b89..d017514c82 100644 --- a/engines/scumm/resource_v4.cpp +++ b/engines/scumm/resource_v4.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/scumm/room.cpp b/engines/scumm/room.cpp index 9ee8fb93a9..3828629997 100644 --- a/engines/scumm/room.cpp +++ b/engines/scumm/room.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/scumm/saveload.cpp b/engines/scumm/saveload.cpp index 848e288589..67bd6f617d 100644 --- a/engines/scumm/saveload.cpp +++ b/engines/scumm/saveload.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/scumm/saveload.h b/engines/scumm/saveload.h index c34be5816d..bd8ae3ff59 100644 --- a/engines/scumm/saveload.h +++ b/engines/scumm/saveload.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/scumm/script.cpp b/engines/scumm/script.cpp index c8eabdd61c..2c672ccc89 100644 --- a/engines/scumm/script.cpp +++ b/engines/scumm/script.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/scumm/script.h b/engines/scumm/script.h index 74ffaaf426..972909dccc 100644 --- a/engines/scumm/script.h +++ b/engines/scumm/script.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/scumm/script_v0.cpp b/engines/scumm/script_v0.cpp index 361287d29f..a7999a2695 100644 --- a/engines/scumm/script_v0.cpp +++ b/engines/scumm/script_v0.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/scumm/script_v2.cpp b/engines/scumm/script_v2.cpp index 96d422d5bb..74d0aa2483 100644 --- a/engines/scumm/script_v2.cpp +++ b/engines/scumm/script_v2.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/scumm/script_v3.cpp b/engines/scumm/script_v3.cpp index b28d831101..00fc525ab5 100644 --- a/engines/scumm/script_v3.cpp +++ b/engines/scumm/script_v3.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/scumm/script_v4.cpp b/engines/scumm/script_v4.cpp index ec3ac4b00f..7ac21fea31 100644 --- a/engines/scumm/script_v4.cpp +++ b/engines/scumm/script_v4.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/scumm/script_v5.cpp b/engines/scumm/script_v5.cpp index 3da7000ae9..2cda9898af 100644 --- a/engines/scumm/script_v5.cpp +++ b/engines/scumm/script_v5.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/scumm/script_v6.cpp b/engines/scumm/script_v6.cpp index 6983c51f30..d2f4133f74 100644 --- a/engines/scumm/script_v6.cpp +++ b/engines/scumm/script_v6.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/scumm/script_v8.cpp b/engines/scumm/script_v8.cpp index f6f376f3c9..03a6d13886 100644 --- a/engines/scumm/script_v8.cpp +++ b/engines/scumm/script_v8.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/scumm/scumm.cpp b/engines/scumm/scumm.cpp index 39fbae8147..54f22ecad3 100644 --- a/engines/scumm/scumm.cpp +++ b/engines/scumm/scumm.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/scumm/scumm.h b/engines/scumm/scumm.h index 7d3a01b895..b4afa09bb2 100644 --- a/engines/scumm/scumm.h +++ b/engines/scumm/scumm.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/scumm/scumm_v0.h b/engines/scumm/scumm_v0.h index 7f532c04d7..80d047ab9f 100644 --- a/engines/scumm/scumm_v0.h +++ b/engines/scumm/scumm_v0.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/scumm/scumm_v2.h b/engines/scumm/scumm_v2.h index 316a08d325..e438008c1e 100644 --- a/engines/scumm/scumm_v2.h +++ b/engines/scumm/scumm_v2.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/scumm/scumm_v3.h b/engines/scumm/scumm_v3.h index f11ca16a50..29f170e7ea 100644 --- a/engines/scumm/scumm_v3.h +++ b/engines/scumm/scumm_v3.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/scumm/scumm_v4.h b/engines/scumm/scumm_v4.h index e21e4b26ae..28f619ceaa 100644 --- a/engines/scumm/scumm_v4.h +++ b/engines/scumm/scumm_v4.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/scumm/scumm_v5.h b/engines/scumm/scumm_v5.h index 0eef04b8de..1bd38d68f2 100644 --- a/engines/scumm/scumm_v5.h +++ b/engines/scumm/scumm_v5.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/scumm/scumm_v6.h b/engines/scumm/scumm_v6.h index c42a49a9f5..73268f6f33 100644 --- a/engines/scumm/scumm_v6.h +++ b/engines/scumm/scumm_v6.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/scumm/scumm_v7.h b/engines/scumm/scumm_v7.h index 6fb98a0af7..b8830be810 100644 --- a/engines/scumm/scumm_v7.h +++ b/engines/scumm/scumm_v7.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/scumm/scumm_v8.h b/engines/scumm/scumm_v8.h index 43bfad1fc9..714a7d2dcb 100644 --- a/engines/scumm/scumm_v8.h +++ b/engines/scumm/scumm_v8.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/scumm/smush/channel.cpp b/engines/scumm/smush/channel.cpp index 7f9ca70080..6d86215626 100644 --- a/engines/scumm/smush/channel.cpp +++ b/engines/scumm/smush/channel.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/scumm/smush/channel.h b/engines/scumm/smush/channel.h index 839aeaa970..dc2219bbed 100644 --- a/engines/scumm/smush/channel.h +++ b/engines/scumm/smush/channel.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/scumm/smush/codec1.cpp b/engines/scumm/smush/codec1.cpp index 79d97d2ce3..0ec34e0266 100644 --- a/engines/scumm/smush/codec1.cpp +++ b/engines/scumm/smush/codec1.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/scumm/smush/codec37.cpp b/engines/scumm/smush/codec37.cpp index 344057e3ac..aab70ab876 100644 --- a/engines/scumm/smush/codec37.cpp +++ b/engines/scumm/smush/codec37.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/scumm/smush/codec37.h b/engines/scumm/smush/codec37.h index bcb858b0b5..2d34655f24 100644 --- a/engines/scumm/smush/codec37.h +++ b/engines/scumm/smush/codec37.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/scumm/smush/codec47.cpp b/engines/scumm/smush/codec47.cpp index 4b503a0a38..5bac85ee82 100644 --- a/engines/scumm/smush/codec47.cpp +++ b/engines/scumm/smush/codec47.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/scumm/smush/codec47.h b/engines/scumm/smush/codec47.h index 0e5156db5c..1621db6996 100644 --- a/engines/scumm/smush/codec47.h +++ b/engines/scumm/smush/codec47.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/scumm/smush/imuse_channel.cpp b/engines/scumm/smush/imuse_channel.cpp index f2c4f993e4..461aff962e 100644 --- a/engines/scumm/smush/imuse_channel.cpp +++ b/engines/scumm/smush/imuse_channel.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/scumm/smush/saud_channel.cpp b/engines/scumm/smush/saud_channel.cpp index 2f1ca512f0..ca64b38556 100644 --- a/engines/scumm/smush/saud_channel.cpp +++ b/engines/scumm/smush/saud_channel.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/scumm/smush/smush_font.cpp b/engines/scumm/smush/smush_font.cpp index 5cfa0ea519..4c04901b42 100644 --- a/engines/scumm/smush/smush_font.cpp +++ b/engines/scumm/smush/smush_font.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/scumm/smush/smush_font.h b/engines/scumm/smush/smush_font.h index 5de4a725c6..9cfea5a26d 100644 --- a/engines/scumm/smush/smush_font.h +++ b/engines/scumm/smush/smush_font.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/scumm/smush/smush_mixer.cpp b/engines/scumm/smush/smush_mixer.cpp index d2b4b5a482..42e8f645be 100644 --- a/engines/scumm/smush/smush_mixer.cpp +++ b/engines/scumm/smush/smush_mixer.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/scumm/smush/smush_mixer.h b/engines/scumm/smush/smush_mixer.h index 75a8889242..18ec7f96fb 100644 --- a/engines/scumm/smush/smush_mixer.h +++ b/engines/scumm/smush/smush_mixer.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/scumm/smush/smush_player.cpp b/engines/scumm/smush/smush_player.cpp index ce098f07aa..7617fc541f 100644 --- a/engines/scumm/smush/smush_player.cpp +++ b/engines/scumm/smush/smush_player.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/scumm/smush/smush_player.h b/engines/scumm/smush/smush_player.h index 5a2024060e..81c498a516 100644 --- a/engines/scumm/smush/smush_player.h +++ b/engines/scumm/smush/smush_player.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/scumm/sound.cpp b/engines/scumm/sound.cpp index 071805752b..01bdefc7c0 100644 --- a/engines/scumm/sound.cpp +++ b/engines/scumm/sound.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/scumm/sound.h b/engines/scumm/sound.h index 48f28d51ff..a96d2b8ed5 100644 --- a/engines/scumm/sound.h +++ b/engines/scumm/sound.h @@ -17,6 +17,7 @@ * 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. + * */ #ifndef SCUMM_SOUND_H diff --git a/engines/scumm/string.cpp b/engines/scumm/string.cpp index 975307d0d0..d60c4c6a50 100644 --- a/engines/scumm/string.cpp +++ b/engines/scumm/string.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/scumm/vars.cpp b/engines/scumm/vars.cpp index 9c90d7575d..73028c8513 100644 --- a/engines/scumm/vars.cpp +++ b/engines/scumm/vars.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/scumm/verbs.cpp b/engines/scumm/verbs.cpp index 0d0f6cdb95..fdb98a8019 100644 --- a/engines/scumm/verbs.cpp +++ b/engines/scumm/verbs.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/scumm/verbs.h b/engines/scumm/verbs.h index 0aa008b4de..a0b5f69231 100644 --- a/engines/scumm/verbs.h +++ b/engines/scumm/verbs.h @@ -17,6 +17,7 @@ * 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. + * */ #ifndef SCUMM_VERBS_H -- cgit v1.2.3 From 63304ee9ec4bf37cc96949f32f5c8dd53a6d3cc4 Mon Sep 17 00:00:00 2001 From: Johannes Schickel Date: Tue, 18 Feb 2014 02:34:24 +0100 Subject: SDL: Make GPL headers consistent in themselves. --- backends/audiocd/sdl/sdl-audiocd.cpp | 4 ++-- backends/audiocd/sdl/sdl-audiocd.h | 4 ++-- backends/events/sdl/sdl-events.cpp | 4 ++-- backends/events/sdl/sdl-events.h | 4 ++-- backends/graphics/sdl/sdl-graphics.cpp | 4 ++-- backends/graphics/sdl/sdl-graphics.h | 4 ++-- backends/graphics/surfacesdl/surfacesdl-graphics.cpp | 4 ++-- backends/graphics/surfacesdl/surfacesdl-graphics.h | 4 ++-- backends/mixer/doublebuffersdl/doublebuffersdl-mixer.cpp | 4 ++-- backends/mixer/doublebuffersdl/doublebuffersdl-mixer.h | 4 ++-- backends/mixer/nullmixer/nullsdl-mixer.cpp | 4 ++-- backends/mixer/nullmixer/nullsdl-mixer.h | 4 ++-- backends/mixer/sdl/sdl-mixer.cpp | 4 ++-- backends/mixer/sdl/sdl-mixer.h | 4 ++-- backends/mutex/sdl/sdl-mutex.cpp | 4 ++-- backends/mutex/sdl/sdl-mutex.h | 4 ++-- backends/platform/sdl/amigaos/amigaos-main.cpp | 4 ++-- backends/platform/sdl/amigaos/amigaos.cpp | 4 ++-- backends/platform/sdl/amigaos/amigaos.h | 4 ++-- backends/platform/sdl/macosx/appmenu_osx.h | 4 ++-- backends/platform/sdl/macosx/appmenu_osx.mm | 4 ++-- backends/platform/sdl/macosx/macosx-main.cpp | 4 ++-- backends/platform/sdl/macosx/macosx.cpp | 4 ++-- backends/platform/sdl/macosx/macosx.h | 4 ++-- backends/platform/sdl/posix/posix-main.cpp | 4 ++-- backends/platform/sdl/posix/posix.cpp | 4 ++-- backends/platform/sdl/posix/posix.h | 4 ++-- backends/platform/sdl/ps3/ps3-main.cpp | 4 ++-- backends/platform/sdl/ps3/ps3.cpp | 4 ++-- backends/platform/sdl/ps3/ps3.h | 4 ++-- backends/platform/sdl/sdl-sys.h | 4 ++-- backends/platform/sdl/sdl.cpp | 4 ++-- backends/platform/sdl/sdl.h | 4 ++-- backends/platform/sdl/win32/win32-main.cpp | 4 ++-- backends/platform/sdl/win32/win32.cpp | 4 ++-- backends/platform/sdl/win32/win32.h | 4 ++-- backends/plugins/sdl/sdl-provider.cpp | 4 ++-- backends/plugins/sdl/sdl-provider.h | 4 ++-- backends/timer/sdl/sdl-timer.cpp | 4 ++-- backends/timer/sdl/sdl-timer.h | 4 ++-- 40 files changed, 80 insertions(+), 80 deletions(-) diff --git a/backends/audiocd/sdl/sdl-audiocd.cpp b/backends/audiocd/sdl/sdl-audiocd.cpp index b5f97571f3..5093c03a1c 100644 --- a/backends/audiocd/sdl/sdl-audiocd.cpp +++ b/backends/audiocd/sdl/sdl-audiocd.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/backends/audiocd/sdl/sdl-audiocd.h b/backends/audiocd/sdl/sdl-audiocd.h index 85bde353df..ff98fcdd77 100644 --- a/backends/audiocd/sdl/sdl-audiocd.h +++ b/backends/audiocd/sdl/sdl-audiocd.h @@ -8,12 +8,12 @@ * 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. diff --git a/backends/events/sdl/sdl-events.cpp b/backends/events/sdl/sdl-events.cpp index e84a8f8c01..2480e7c370 100644 --- a/backends/events/sdl/sdl-events.cpp +++ b/backends/events/sdl/sdl-events.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/backends/events/sdl/sdl-events.h b/backends/events/sdl/sdl-events.h index ca4835126f..a1b6d5ec3c 100644 --- a/backends/events/sdl/sdl-events.h +++ b/backends/events/sdl/sdl-events.h @@ -8,12 +8,12 @@ * 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. diff --git a/backends/graphics/sdl/sdl-graphics.cpp b/backends/graphics/sdl/sdl-graphics.cpp index 40b97b267b..b5e49fa397 100644 --- a/backends/graphics/sdl/sdl-graphics.cpp +++ b/backends/graphics/sdl/sdl-graphics.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/backends/graphics/sdl/sdl-graphics.h b/backends/graphics/sdl/sdl-graphics.h index 3791961cfa..3ef540708a 100644 --- a/backends/graphics/sdl/sdl-graphics.h +++ b/backends/graphics/sdl/sdl-graphics.h @@ -8,12 +8,12 @@ * 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. diff --git a/backends/graphics/surfacesdl/surfacesdl-graphics.cpp b/backends/graphics/surfacesdl/surfacesdl-graphics.cpp index b3af08e2e8..7f3c99fcea 100644 --- a/backends/graphics/surfacesdl/surfacesdl-graphics.cpp +++ b/backends/graphics/surfacesdl/surfacesdl-graphics.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/backends/graphics/surfacesdl/surfacesdl-graphics.h b/backends/graphics/surfacesdl/surfacesdl-graphics.h index 22b7780675..49bd66b3e5 100644 --- a/backends/graphics/surfacesdl/surfacesdl-graphics.h +++ b/backends/graphics/surfacesdl/surfacesdl-graphics.h @@ -8,12 +8,12 @@ * 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. diff --git a/backends/mixer/doublebuffersdl/doublebuffersdl-mixer.cpp b/backends/mixer/doublebuffersdl/doublebuffersdl-mixer.cpp index 3e5b9940e0..d59b0ebdfc 100644 --- a/backends/mixer/doublebuffersdl/doublebuffersdl-mixer.cpp +++ b/backends/mixer/doublebuffersdl/doublebuffersdl-mixer.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/backends/mixer/doublebuffersdl/doublebuffersdl-mixer.h b/backends/mixer/doublebuffersdl/doublebuffersdl-mixer.h index c95294e2c0..e3019fe11b 100644 --- a/backends/mixer/doublebuffersdl/doublebuffersdl-mixer.h +++ b/backends/mixer/doublebuffersdl/doublebuffersdl-mixer.h @@ -8,12 +8,12 @@ * 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. diff --git a/backends/mixer/nullmixer/nullsdl-mixer.cpp b/backends/mixer/nullmixer/nullsdl-mixer.cpp index 2fd652e19f..97b59bb2ed 100644 --- a/backends/mixer/nullmixer/nullsdl-mixer.cpp +++ b/backends/mixer/nullmixer/nullsdl-mixer.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/backends/mixer/nullmixer/nullsdl-mixer.h b/backends/mixer/nullmixer/nullsdl-mixer.h index 94248ced66..2fc46efc39 100644 --- a/backends/mixer/nullmixer/nullsdl-mixer.h +++ b/backends/mixer/nullmixer/nullsdl-mixer.h @@ -8,12 +8,12 @@ * 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. diff --git a/backends/mixer/sdl/sdl-mixer.cpp b/backends/mixer/sdl/sdl-mixer.cpp index 8e411f2580..7c709e91a3 100644 --- a/backends/mixer/sdl/sdl-mixer.cpp +++ b/backends/mixer/sdl/sdl-mixer.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/backends/mixer/sdl/sdl-mixer.h b/backends/mixer/sdl/sdl-mixer.h index 6fee26bd1f..088ebe109e 100644 --- a/backends/mixer/sdl/sdl-mixer.h +++ b/backends/mixer/sdl/sdl-mixer.h @@ -8,12 +8,12 @@ * 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. diff --git a/backends/mutex/sdl/sdl-mutex.cpp b/backends/mutex/sdl/sdl-mutex.cpp index a51e6f0e38..be10d30500 100644 --- a/backends/mutex/sdl/sdl-mutex.cpp +++ b/backends/mutex/sdl/sdl-mutex.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/backends/mutex/sdl/sdl-mutex.h b/backends/mutex/sdl/sdl-mutex.h index 914c2a19db..6fcae05cee 100644 --- a/backends/mutex/sdl/sdl-mutex.h +++ b/backends/mutex/sdl/sdl-mutex.h @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/sdl/amigaos/amigaos-main.cpp b/backends/platform/sdl/amigaos/amigaos-main.cpp index da83756a40..0743b3f9a0 100644 --- a/backends/platform/sdl/amigaos/amigaos-main.cpp +++ b/backends/platform/sdl/amigaos/amigaos-main.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/sdl/amigaos/amigaos.cpp b/backends/platform/sdl/amigaos/amigaos.cpp index 94daacfd14..fdd26cd256 100644 --- a/backends/platform/sdl/amigaos/amigaos.cpp +++ b/backends/platform/sdl/amigaos/amigaos.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/sdl/amigaos/amigaos.h b/backends/platform/sdl/amigaos/amigaos.h index 391a0bfa9a..76cc656364 100644 --- a/backends/platform/sdl/amigaos/amigaos.h +++ b/backends/platform/sdl/amigaos/amigaos.h @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/sdl/macosx/appmenu_osx.h b/backends/platform/sdl/macosx/appmenu_osx.h index 005414b789..22088184fb 100644 --- a/backends/platform/sdl/macosx/appmenu_osx.h +++ b/backends/platform/sdl/macosx/appmenu_osx.h @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/sdl/macosx/appmenu_osx.mm b/backends/platform/sdl/macosx/appmenu_osx.mm index 0d2a2ab7f2..d083fb8483 100644 --- a/backends/platform/sdl/macosx/appmenu_osx.mm +++ b/backends/platform/sdl/macosx/appmenu_osx.mm @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/sdl/macosx/macosx-main.cpp b/backends/platform/sdl/macosx/macosx-main.cpp index b89264f9e9..1b9fc1b82c 100644 --- a/backends/platform/sdl/macosx/macosx-main.cpp +++ b/backends/platform/sdl/macosx/macosx-main.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/sdl/macosx/macosx.cpp b/backends/platform/sdl/macosx/macosx.cpp index 85342d62fd..301dc44b7b 100644 --- a/backends/platform/sdl/macosx/macosx.cpp +++ b/backends/platform/sdl/macosx/macosx.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/sdl/macosx/macosx.h b/backends/platform/sdl/macosx/macosx.h index d9cb28b973..e5a72bf393 100644 --- a/backends/platform/sdl/macosx/macosx.h +++ b/backends/platform/sdl/macosx/macosx.h @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/sdl/posix/posix-main.cpp b/backends/platform/sdl/posix/posix-main.cpp index 5f0914e04f..d07db11b0c 100644 --- a/backends/platform/sdl/posix/posix-main.cpp +++ b/backends/platform/sdl/posix/posix-main.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/sdl/posix/posix.cpp b/backends/platform/sdl/posix/posix.cpp index 1752153f29..a711c3a96b 100644 --- a/backends/platform/sdl/posix/posix.cpp +++ b/backends/platform/sdl/posix/posix.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/sdl/posix/posix.h b/backends/platform/sdl/posix/posix.h index 59909a958f..01a01528cd 100644 --- a/backends/platform/sdl/posix/posix.h +++ b/backends/platform/sdl/posix/posix.h @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/sdl/ps3/ps3-main.cpp b/backends/platform/sdl/ps3/ps3-main.cpp index ba548a3749..92c4a02865 100644 --- a/backends/platform/sdl/ps3/ps3-main.cpp +++ b/backends/platform/sdl/ps3/ps3-main.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/sdl/ps3/ps3.cpp b/backends/platform/sdl/ps3/ps3.cpp index 33586ce693..f111379794 100644 --- a/backends/platform/sdl/ps3/ps3.cpp +++ b/backends/platform/sdl/ps3/ps3.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/sdl/ps3/ps3.h b/backends/platform/sdl/ps3/ps3.h index daed7599a9..d812a13548 100644 --- a/backends/platform/sdl/ps3/ps3.h +++ b/backends/platform/sdl/ps3/ps3.h @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/sdl/sdl-sys.h b/backends/platform/sdl/sdl-sys.h index eccf73815d..eec3741ed6 100644 --- a/backends/platform/sdl/sdl-sys.h +++ b/backends/platform/sdl/sdl-sys.h @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/sdl/sdl.cpp b/backends/platform/sdl/sdl.cpp index 8116282c30..41610dc0c7 100644 --- a/backends/platform/sdl/sdl.cpp +++ b/backends/platform/sdl/sdl.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/sdl/sdl.h b/backends/platform/sdl/sdl.h index 814cdd7c1b..5dcc269e55 100644 --- a/backends/platform/sdl/sdl.h +++ b/backends/platform/sdl/sdl.h @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/sdl/win32/win32-main.cpp b/backends/platform/sdl/win32/win32-main.cpp index 2b3e18e9f0..e5b26c3ff0 100644 --- a/backends/platform/sdl/win32/win32-main.cpp +++ b/backends/platform/sdl/win32/win32-main.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/sdl/win32/win32.cpp b/backends/platform/sdl/win32/win32.cpp index 453d566c7b..5f860ad32d 100644 --- a/backends/platform/sdl/win32/win32.cpp +++ b/backends/platform/sdl/win32/win32.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/sdl/win32/win32.h b/backends/platform/sdl/win32/win32.h index b56997a63b..d72d80bc26 100644 --- a/backends/platform/sdl/win32/win32.h +++ b/backends/platform/sdl/win32/win32.h @@ -8,12 +8,12 @@ * 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. diff --git a/backends/plugins/sdl/sdl-provider.cpp b/backends/plugins/sdl/sdl-provider.cpp index 00520b48b0..5749a2afa2 100644 --- a/backends/plugins/sdl/sdl-provider.cpp +++ b/backends/plugins/sdl/sdl-provider.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/backends/plugins/sdl/sdl-provider.h b/backends/plugins/sdl/sdl-provider.h index 881aa5cc19..8b5ae31c17 100644 --- a/backends/plugins/sdl/sdl-provider.h +++ b/backends/plugins/sdl/sdl-provider.h @@ -8,12 +8,12 @@ * 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. diff --git a/backends/timer/sdl/sdl-timer.cpp b/backends/timer/sdl/sdl-timer.cpp index 33596f4bd8..22d4bb985f 100644 --- a/backends/timer/sdl/sdl-timer.cpp +++ b/backends/timer/sdl/sdl-timer.cpp @@ -9,12 +9,12 @@ * 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. diff --git a/backends/timer/sdl/sdl-timer.h b/backends/timer/sdl/sdl-timer.h index 069a266e45..278df515cd 100644 --- a/backends/timer/sdl/sdl-timer.h +++ b/backends/timer/sdl/sdl-timer.h @@ -8,12 +8,12 @@ * 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. -- cgit v1.2.3 From bd08fe9d5c16c31d43b90d40283bbda13b00d056 Mon Sep 17 00:00:00 2001 From: Johannes Schickel Date: Tue, 18 Feb 2014 02:34:25 +0100 Subject: SKY: Make GPL headers consistent in themselves. --- engines/sky/autoroute.cpp | 4 ++-- engines/sky/autoroute.h | 4 ++-- engines/sky/control.cpp | 4 ++-- engines/sky/control.h | 4 ++-- engines/sky/detection.cpp | 4 ++-- engines/sky/disk.cpp | 4 ++-- engines/sky/disk.h | 4 ++-- engines/sky/grid.cpp | 4 ++-- engines/sky/grid.h | 4 ++-- engines/sky/hufftext.cpp | 4 ++-- engines/sky/intro.cpp | 4 ++-- engines/sky/intro.h | 4 ++-- engines/sky/logic.cpp | 4 ++-- engines/sky/logic.h | 4 ++-- engines/sky/mouse.cpp | 4 ++-- engines/sky/mouse.h | 4 ++-- engines/sky/music/adlibchannel.cpp | 4 ++-- engines/sky/music/adlibchannel.h | 4 ++-- engines/sky/music/adlibmusic.cpp | 4 ++-- engines/sky/music/adlibmusic.h | 4 ++-- engines/sky/music/gmchannel.cpp | 4 ++-- engines/sky/music/gmchannel.h | 4 ++-- engines/sky/music/gmmusic.cpp | 4 ++-- engines/sky/music/gmmusic.h | 4 ++-- engines/sky/music/mt32music.cpp | 4 ++-- engines/sky/music/mt32music.h | 4 ++-- engines/sky/music/musicbase.cpp | 4 ++-- engines/sky/music/musicbase.h | 4 ++-- engines/sky/rnc_deco.cpp | 4 ++-- engines/sky/rnc_deco.h | 4 ++-- engines/sky/screen.cpp | 4 ++-- engines/sky/screen.h | 4 ++-- engines/sky/sky.cpp | 4 ++-- engines/sky/sky.h | 4 ++-- engines/sky/skydefs.h | 4 ++-- engines/sky/sound.cpp | 4 ++-- engines/sky/sound.h | 4 ++-- engines/sky/struc.h | 4 ++-- engines/sky/text.cpp | 4 ++-- engines/sky/text.h | 4 ++-- 40 files changed, 80 insertions(+), 80 deletions(-) diff --git a/engines/sky/autoroute.cpp b/engines/sky/autoroute.cpp index ab791cb066..877090f6b8 100644 --- a/engines/sky/autoroute.cpp +++ b/engines/sky/autoroute.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sky/autoroute.h b/engines/sky/autoroute.h index 8721ba6c54..91d4846ef8 100644 --- a/engines/sky/autoroute.h +++ b/engines/sky/autoroute.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sky/control.cpp b/engines/sky/control.cpp index 57c1f6b48b..dfdd765120 100644 --- a/engines/sky/control.cpp +++ b/engines/sky/control.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sky/control.h b/engines/sky/control.h index 1380d29ee2..44591f299d 100644 --- a/engines/sky/control.h +++ b/engines/sky/control.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sky/detection.cpp b/engines/sky/detection.cpp index 8f6c2bb6a2..4c7bb2dc17 100644 --- a/engines/sky/detection.cpp +++ b/engines/sky/detection.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sky/disk.cpp b/engines/sky/disk.cpp index e97aeb01a2..25f4a125f1 100644 --- a/engines/sky/disk.cpp +++ b/engines/sky/disk.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sky/disk.h b/engines/sky/disk.h index 320c38eebd..bd19e465d1 100644 --- a/engines/sky/disk.h +++ b/engines/sky/disk.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sky/grid.cpp b/engines/sky/grid.cpp index 6a9dc502a7..343c2c0415 100644 --- a/engines/sky/grid.cpp +++ b/engines/sky/grid.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sky/grid.h b/engines/sky/grid.h index 6e0e9aabaa..641c96d534 100644 --- a/engines/sky/grid.h +++ b/engines/sky/grid.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sky/hufftext.cpp b/engines/sky/hufftext.cpp index 0592f094d9..ba9ee6c3e2 100644 --- a/engines/sky/hufftext.cpp +++ b/engines/sky/hufftext.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sky/intro.cpp b/engines/sky/intro.cpp index 2f75a19b69..d4476e2916 100644 --- a/engines/sky/intro.cpp +++ b/engines/sky/intro.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sky/intro.h b/engines/sky/intro.h index 98af6e3664..fb6a1ec9cd 100644 --- a/engines/sky/intro.h +++ b/engines/sky/intro.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sky/logic.cpp b/engines/sky/logic.cpp index e92e768272..e1175f9936 100644 --- a/engines/sky/logic.cpp +++ b/engines/sky/logic.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sky/logic.h b/engines/sky/logic.h index 9f8df25870..8507fe7398 100644 --- a/engines/sky/logic.h +++ b/engines/sky/logic.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sky/mouse.cpp b/engines/sky/mouse.cpp index 74a92c8f00..de2d2226bb 100644 --- a/engines/sky/mouse.cpp +++ b/engines/sky/mouse.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sky/mouse.h b/engines/sky/mouse.h index 1ba0167fb5..310b724e4f 100644 --- a/engines/sky/mouse.h +++ b/engines/sky/mouse.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sky/music/adlibchannel.cpp b/engines/sky/music/adlibchannel.cpp index 99509554c7..8400fef6eb 100644 --- a/engines/sky/music/adlibchannel.cpp +++ b/engines/sky/music/adlibchannel.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sky/music/adlibchannel.h b/engines/sky/music/adlibchannel.h index 44ac0d79d0..80dae93b2c 100644 --- a/engines/sky/music/adlibchannel.h +++ b/engines/sky/music/adlibchannel.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sky/music/adlibmusic.cpp b/engines/sky/music/adlibmusic.cpp index a41cd6a81d..dd64c5bc81 100644 --- a/engines/sky/music/adlibmusic.cpp +++ b/engines/sky/music/adlibmusic.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sky/music/adlibmusic.h b/engines/sky/music/adlibmusic.h index 2161795b4c..886eef026e 100644 --- a/engines/sky/music/adlibmusic.h +++ b/engines/sky/music/adlibmusic.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sky/music/gmchannel.cpp b/engines/sky/music/gmchannel.cpp index 215d6490b9..85a381de53 100644 --- a/engines/sky/music/gmchannel.cpp +++ b/engines/sky/music/gmchannel.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sky/music/gmchannel.h b/engines/sky/music/gmchannel.h index f16de401db..b935321f50 100644 --- a/engines/sky/music/gmchannel.h +++ b/engines/sky/music/gmchannel.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sky/music/gmmusic.cpp b/engines/sky/music/gmmusic.cpp index 84f6a654d0..7dc82807d9 100644 --- a/engines/sky/music/gmmusic.cpp +++ b/engines/sky/music/gmmusic.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sky/music/gmmusic.h b/engines/sky/music/gmmusic.h index 068601ba1f..fa2b960404 100644 --- a/engines/sky/music/gmmusic.h +++ b/engines/sky/music/gmmusic.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sky/music/mt32music.cpp b/engines/sky/music/mt32music.cpp index a3fdd42713..9e8886d82a 100644 --- a/engines/sky/music/mt32music.cpp +++ b/engines/sky/music/mt32music.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sky/music/mt32music.h b/engines/sky/music/mt32music.h index 8f8e70f51b..fe68910869 100644 --- a/engines/sky/music/mt32music.h +++ b/engines/sky/music/mt32music.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sky/music/musicbase.cpp b/engines/sky/music/musicbase.cpp index 944edb1fdc..d26b6393de 100644 --- a/engines/sky/music/musicbase.cpp +++ b/engines/sky/music/musicbase.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sky/music/musicbase.h b/engines/sky/music/musicbase.h index 066ebe593c..38a52805b7 100644 --- a/engines/sky/music/musicbase.h +++ b/engines/sky/music/musicbase.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sky/rnc_deco.cpp b/engines/sky/rnc_deco.cpp index 27fae03514..8242b27dee 100644 --- a/engines/sky/rnc_deco.cpp +++ b/engines/sky/rnc_deco.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sky/rnc_deco.h b/engines/sky/rnc_deco.h index 96a75a9750..2046b56371 100644 --- a/engines/sky/rnc_deco.h +++ b/engines/sky/rnc_deco.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sky/screen.cpp b/engines/sky/screen.cpp index 2797ed2fea..c96b449162 100644 --- a/engines/sky/screen.cpp +++ b/engines/sky/screen.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sky/screen.h b/engines/sky/screen.h index bf8b69a95a..fa04cd91c3 100644 --- a/engines/sky/screen.h +++ b/engines/sky/screen.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sky/sky.cpp b/engines/sky/sky.cpp index 4c47dfafc7..40b6959a9b 100644 --- a/engines/sky/sky.cpp +++ b/engines/sky/sky.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sky/sky.h b/engines/sky/sky.h index cd8a650d60..56833004ac 100644 --- a/engines/sky/sky.h +++ b/engines/sky/sky.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sky/skydefs.h b/engines/sky/skydefs.h index 070e185d55..167b7dade2 100644 --- a/engines/sky/skydefs.h +++ b/engines/sky/skydefs.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sky/sound.cpp b/engines/sky/sound.cpp index a60e3d9e38..d9343d10c7 100644 --- a/engines/sky/sound.cpp +++ b/engines/sky/sound.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sky/sound.h b/engines/sky/sound.h index da0d91911b..3c330dae99 100644 --- a/engines/sky/sound.h +++ b/engines/sky/sound.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sky/struc.h b/engines/sky/struc.h index c2ebf1bad0..dd75410283 100644 --- a/engines/sky/struc.h +++ b/engines/sky/struc.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sky/text.cpp b/engines/sky/text.cpp index 38a01116fe..bf7b8e3787 100644 --- a/engines/sky/text.cpp +++ b/engines/sky/text.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sky/text.h b/engines/sky/text.h index cf0d707ce9..e327b6e6b4 100644 --- a/engines/sky/text.h +++ b/engines/sky/text.h @@ -8,12 +8,12 @@ * 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. -- cgit v1.2.3 From f4724e7a46c250466bc39aae30b82a2a86612063 Mon Sep 17 00:00:00 2001 From: Johannes Schickel Date: Tue, 18 Feb 2014 02:34:25 +0100 Subject: SWORD1: Make GPL headers consistent in themselves. --- engines/sword1/animation.cpp | 4 ++-- engines/sword1/animation.h | 4 ++-- engines/sword1/collision.h | 4 ++-- engines/sword1/console.cpp | 4 ++-- engines/sword1/console.h | 4 ++-- engines/sword1/control.cpp | 4 ++-- engines/sword1/control.h | 4 ++-- engines/sword1/debug.cpp | 4 ++-- engines/sword1/debug.h | 4 ++-- engines/sword1/detection.cpp | 4 ++-- engines/sword1/eventman.cpp | 4 ++-- engines/sword1/eventman.h | 4 ++-- engines/sword1/logic.cpp | 4 ++-- engines/sword1/logic.h | 4 ++-- engines/sword1/memman.cpp | 4 ++-- engines/sword1/memman.h | 4 ++-- engines/sword1/menu.cpp | 4 ++-- engines/sword1/menu.h | 4 ++-- engines/sword1/mouse.cpp | 4 ++-- engines/sword1/mouse.h | 4 ++-- engines/sword1/music.cpp | 4 ++-- engines/sword1/music.h | 4 ++-- engines/sword1/object.h | 4 ++-- engines/sword1/objectman.cpp | 4 ++-- engines/sword1/objectman.h | 4 ++-- engines/sword1/resman.cpp | 4 ++-- engines/sword1/resman.h | 4 ++-- engines/sword1/router.cpp | 4 ++-- engines/sword1/router.h | 4 ++-- engines/sword1/screen.cpp | 4 ++-- engines/sword1/screen.h | 4 ++-- engines/sword1/sound.cpp | 4 ++-- engines/sword1/sound.h | 4 ++-- engines/sword1/staticres.cpp | 4 ++-- engines/sword1/sword1.cpp | 4 ++-- engines/sword1/sword1.h | 4 ++-- engines/sword1/sworddefs.h | 4 ++-- engines/sword1/swordres.h | 4 ++-- engines/sword1/text.cpp | 4 ++-- engines/sword1/text.h | 4 ++-- 40 files changed, 80 insertions(+), 80 deletions(-) diff --git a/engines/sword1/animation.cpp b/engines/sword1/animation.cpp index 742aac1a53..0257a805ff 100644 --- a/engines/sword1/animation.cpp +++ b/engines/sword1/animation.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sword1/animation.h b/engines/sword1/animation.h index 2c51a74f71..462addf70f 100644 --- a/engines/sword1/animation.h +++ b/engines/sword1/animation.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sword1/collision.h b/engines/sword1/collision.h index 9a9eeec429..6cfe50d9d6 100644 --- a/engines/sword1/collision.h +++ b/engines/sword1/collision.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sword1/console.cpp b/engines/sword1/console.cpp index 4c55f8d990..3eb3b93a19 100644 --- a/engines/sword1/console.cpp +++ b/engines/sword1/console.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sword1/console.h b/engines/sword1/console.h index 260fe95d52..a2bb51f9a4 100644 --- a/engines/sword1/console.h +++ b/engines/sword1/console.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sword1/control.cpp b/engines/sword1/control.cpp index 80d8edc1dd..201c3aa9bd 100644 --- a/engines/sword1/control.cpp +++ b/engines/sword1/control.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sword1/control.h b/engines/sword1/control.h index a80ea05b03..2d15bcdd15 100644 --- a/engines/sword1/control.h +++ b/engines/sword1/control.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sword1/debug.cpp b/engines/sword1/debug.cpp index 6f82d0f49a..cddc7283f0 100644 --- a/engines/sword1/debug.cpp +++ b/engines/sword1/debug.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sword1/debug.h b/engines/sword1/debug.h index 1505ae28dd..f3ebb0b9b2 100644 --- a/engines/sword1/debug.h +++ b/engines/sword1/debug.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sword1/detection.cpp b/engines/sword1/detection.cpp index f3af04c81d..8a1f3dfef9 100644 --- a/engines/sword1/detection.cpp +++ b/engines/sword1/detection.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sword1/eventman.cpp b/engines/sword1/eventman.cpp index 113151bfd5..3b3e696937 100644 --- a/engines/sword1/eventman.cpp +++ b/engines/sword1/eventman.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sword1/eventman.h b/engines/sword1/eventman.h index 25cb886a34..cf32ff7343 100644 --- a/engines/sword1/eventman.h +++ b/engines/sword1/eventman.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sword1/logic.cpp b/engines/sword1/logic.cpp index 757d768780..a0067ffbf5 100644 --- a/engines/sword1/logic.cpp +++ b/engines/sword1/logic.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sword1/logic.h b/engines/sword1/logic.h index a146d340cf..94da2b3a77 100644 --- a/engines/sword1/logic.h +++ b/engines/sword1/logic.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sword1/memman.cpp b/engines/sword1/memman.cpp index 19809249b5..be36684fe5 100644 --- a/engines/sword1/memman.cpp +++ b/engines/sword1/memman.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sword1/memman.h b/engines/sword1/memman.h index 7f84720248..bff5c6a620 100644 --- a/engines/sword1/memman.h +++ b/engines/sword1/memman.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sword1/menu.cpp b/engines/sword1/menu.cpp index f61e10106a..2cf765b65e 100644 --- a/engines/sword1/menu.cpp +++ b/engines/sword1/menu.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sword1/menu.h b/engines/sword1/menu.h index ea062f1a49..66e465cf63 100644 --- a/engines/sword1/menu.h +++ b/engines/sword1/menu.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sword1/mouse.cpp b/engines/sword1/mouse.cpp index 4a62995d96..88de4001bb 100644 --- a/engines/sword1/mouse.cpp +++ b/engines/sword1/mouse.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sword1/mouse.h b/engines/sword1/mouse.h index b2a844d0a9..924b04c206 100644 --- a/engines/sword1/mouse.h +++ b/engines/sword1/mouse.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sword1/music.cpp b/engines/sword1/music.cpp index f31faffd5e..6a0a3d1e70 100644 --- a/engines/sword1/music.cpp +++ b/engines/sword1/music.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sword1/music.h b/engines/sword1/music.h index 4207019c13..ec25427ead 100644 --- a/engines/sword1/music.h +++ b/engines/sword1/music.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sword1/object.h b/engines/sword1/object.h index 0dab5519bd..8ded828b90 100644 --- a/engines/sword1/object.h +++ b/engines/sword1/object.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sword1/objectman.cpp b/engines/sword1/objectman.cpp index 3e70a95699..07f19154a0 100644 --- a/engines/sword1/objectman.cpp +++ b/engines/sword1/objectman.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sword1/objectman.h b/engines/sword1/objectman.h index 197b437c15..fef1a8da3a 100644 --- a/engines/sword1/objectman.h +++ b/engines/sword1/objectman.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sword1/resman.cpp b/engines/sword1/resman.cpp index 7222965c9d..0a0324a67c 100644 --- a/engines/sword1/resman.cpp +++ b/engines/sword1/resman.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sword1/resman.h b/engines/sword1/resman.h index 49d974c1db..ac6aa87065 100644 --- a/engines/sword1/resman.h +++ b/engines/sword1/resman.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sword1/router.cpp b/engines/sword1/router.cpp index ef07a0bf02..72c8440e1c 100644 --- a/engines/sword1/router.cpp +++ b/engines/sword1/router.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sword1/router.h b/engines/sword1/router.h index 82724b1e6e..76ddf53222 100644 --- a/engines/sword1/router.h +++ b/engines/sword1/router.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sword1/screen.cpp b/engines/sword1/screen.cpp index 76957e0a70..507f4f0884 100644 --- a/engines/sword1/screen.cpp +++ b/engines/sword1/screen.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sword1/screen.h b/engines/sword1/screen.h index 7586e937a7..6186f64250 100644 --- a/engines/sword1/screen.h +++ b/engines/sword1/screen.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sword1/sound.cpp b/engines/sword1/sound.cpp index 643657c71f..0b4d3829d6 100644 --- a/engines/sword1/sound.cpp +++ b/engines/sword1/sound.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sword1/sound.h b/engines/sword1/sound.h index b52d89f390..666598dba0 100644 --- a/engines/sword1/sound.h +++ b/engines/sword1/sound.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sword1/staticres.cpp b/engines/sword1/staticres.cpp index 5dabce1301..47a097efb6 100644 --- a/engines/sword1/staticres.cpp +++ b/engines/sword1/staticres.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sword1/sword1.cpp b/engines/sword1/sword1.cpp index 5738431dce..08ea02f32d 100644 --- a/engines/sword1/sword1.cpp +++ b/engines/sword1/sword1.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sword1/sword1.h b/engines/sword1/sword1.h index ec6555b4b3..c58e97e353 100644 --- a/engines/sword1/sword1.h +++ b/engines/sword1/sword1.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sword1/sworddefs.h b/engines/sword1/sworddefs.h index db4146f37e..643b17d3e2 100644 --- a/engines/sword1/sworddefs.h +++ b/engines/sword1/sworddefs.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sword1/swordres.h b/engines/sword1/swordres.h index b1fc206b80..284219110d 100644 --- a/engines/sword1/swordres.h +++ b/engines/sword1/swordres.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sword1/text.cpp b/engines/sword1/text.cpp index f23ac5f182..2ef1d95b4e 100644 --- a/engines/sword1/text.cpp +++ b/engines/sword1/text.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sword1/text.h b/engines/sword1/text.h index 4dcb9e26a7..aecd268c00 100644 --- a/engines/sword1/text.h +++ b/engines/sword1/text.h @@ -8,12 +8,12 @@ * 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. -- cgit v1.2.3 From bad7cdd3a60b7fc323f47d311591aa6fa3b9c19e Mon Sep 17 00:00:00 2001 From: Johannes Schickel Date: Tue, 18 Feb 2014 02:34:25 +0100 Subject: SWORD25: Make GPL headers consistent in themselves. --- engines/sword25/console.cpp | 4 ++-- engines/sword25/console.h | 4 ++-- engines/sword25/detection.cpp | 4 ++-- engines/sword25/detection_tables.h | 4 ++-- engines/sword25/fmv/movieplayer.cpp | 4 ++-- engines/sword25/fmv/movieplayer.h | 4 ++-- engines/sword25/fmv/movieplayer_script.cpp | 4 ++-- engines/sword25/gfx/animation.cpp | 4 ++-- engines/sword25/gfx/animation.h | 4 ++-- engines/sword25/gfx/animationdescription.cpp | 4 ++-- engines/sword25/gfx/animationdescription.h | 4 ++-- engines/sword25/gfx/animationresource.cpp | 4 ++-- engines/sword25/gfx/animationresource.h | 4 ++-- engines/sword25/gfx/animationtemplate.cpp | 4 ++-- engines/sword25/gfx/animationtemplate.h | 4 ++-- engines/sword25/gfx/animationtemplateregistry.cpp | 4 ++-- engines/sword25/gfx/animationtemplateregistry.h | 4 ++-- engines/sword25/gfx/bitmap.cpp | 4 ++-- engines/sword25/gfx/bitmap.h | 4 ++-- engines/sword25/gfx/bitmapresource.h | 4 ++-- engines/sword25/gfx/dynamicbitmap.cpp | 4 ++-- engines/sword25/gfx/dynamicbitmap.h | 4 ++-- engines/sword25/gfx/fontresource.cpp | 4 ++-- engines/sword25/gfx/fontresource.h | 4 ++-- engines/sword25/gfx/graphicengine.cpp | 4 ++-- engines/sword25/gfx/graphicengine.h | 4 ++-- engines/sword25/gfx/graphicengine_script.cpp | 4 ++-- engines/sword25/gfx/image/art.cpp | 4 ++-- engines/sword25/gfx/image/art.h | 4 ++-- engines/sword25/gfx/image/image.h | 4 ++-- engines/sword25/gfx/image/imgloader.cpp | 4 ++-- engines/sword25/gfx/image/imgloader.h | 4 ++-- engines/sword25/gfx/image/renderedimage.cpp | 4 ++-- engines/sword25/gfx/image/renderedimage.h | 4 ++-- engines/sword25/gfx/image/swimage.cpp | 4 ++-- engines/sword25/gfx/image/swimage.h | 4 ++-- engines/sword25/gfx/image/vectorimage.cpp | 4 ++-- engines/sword25/gfx/image/vectorimage.h | 4 ++-- engines/sword25/gfx/image/vectorimagerenderer.cpp | 4 ++-- engines/sword25/gfx/microtiles.cpp | 5 ++--- engines/sword25/gfx/microtiles.h | 5 ++--- engines/sword25/gfx/panel.cpp | 4 ++-- engines/sword25/gfx/panel.h | 4 ++-- engines/sword25/gfx/renderobject.cpp | 4 ++-- engines/sword25/gfx/renderobject.h | 4 ++-- engines/sword25/gfx/renderobjectmanager.cpp | 4 ++-- engines/sword25/gfx/renderobjectmanager.h | 4 ++-- engines/sword25/gfx/renderobjectptr.h | 4 ++-- engines/sword25/gfx/renderobjectregistry.h | 4 ++-- engines/sword25/gfx/rootrenderobject.h | 4 ++-- engines/sword25/gfx/screenshot.cpp | 4 ++-- engines/sword25/gfx/screenshot.h | 4 ++-- engines/sword25/gfx/staticbitmap.cpp | 4 ++-- engines/sword25/gfx/staticbitmap.h | 4 ++-- engines/sword25/gfx/text.cpp | 4 ++-- engines/sword25/gfx/text.h | 4 ++-- engines/sword25/gfx/timedrenderobject.cpp | 4 ++-- engines/sword25/gfx/timedrenderobject.h | 4 ++-- engines/sword25/input/inputengine.cpp | 4 ++-- engines/sword25/input/inputengine.h | 4 ++-- engines/sword25/input/inputengine_script.cpp | 4 ++-- engines/sword25/kernel/common.h | 4 ++-- engines/sword25/kernel/filesystemutil.cpp | 4 ++-- engines/sword25/kernel/filesystemutil.h | 4 ++-- engines/sword25/kernel/inputpersistenceblock.cpp | 4 ++-- engines/sword25/kernel/inputpersistenceblock.h | 4 ++-- engines/sword25/kernel/kernel.cpp | 4 ++-- engines/sword25/kernel/kernel.h | 4 ++-- engines/sword25/kernel/kernel_script.cpp | 4 ++-- engines/sword25/kernel/objectregistry.h | 4 ++-- engines/sword25/kernel/outputpersistenceblock.cpp | 4 ++-- engines/sword25/kernel/outputpersistenceblock.h | 4 ++-- engines/sword25/kernel/persistable.h | 4 ++-- engines/sword25/kernel/persistenceblock.h | 4 ++-- engines/sword25/kernel/persistenceservice.cpp | 4 ++-- engines/sword25/kernel/persistenceservice.h | 4 ++-- engines/sword25/kernel/resmanager.cpp | 4 ++-- engines/sword25/kernel/resmanager.h | 4 ++-- engines/sword25/kernel/resource.cpp | 4 ++-- engines/sword25/kernel/resource.h | 4 ++-- engines/sword25/kernel/resservice.h | 4 ++-- engines/sword25/kernel/service.h | 4 ++-- engines/sword25/math/geometry.h | 4 ++-- engines/sword25/math/geometry_script.cpp | 4 ++-- engines/sword25/math/line.h | 4 ++-- engines/sword25/math/polygon.cpp | 4 ++-- engines/sword25/math/polygon.h | 4 ++-- engines/sword25/math/region.cpp | 4 ++-- engines/sword25/math/region.h | 4 ++-- engines/sword25/math/regionregistry.cpp | 4 ++-- engines/sword25/math/regionregistry.h | 4 ++-- engines/sword25/math/vertex.cpp | 4 ++-- engines/sword25/math/vertex.h | 4 ++-- engines/sword25/math/walkregion.cpp | 4 ++-- engines/sword25/math/walkregion.h | 4 ++-- engines/sword25/package/packagemanager.cpp | 4 ++-- engines/sword25/package/packagemanager.h | 4 ++-- engines/sword25/package/packagemanager_script.cpp | 4 ++-- engines/sword25/script/lua_extensions.cpp | 4 ++-- engines/sword25/script/luabindhelper.cpp | 4 ++-- engines/sword25/script/luabindhelper.h | 4 ++-- engines/sword25/script/luacallback.cpp | 4 ++-- engines/sword25/script/luacallback.h | 4 ++-- engines/sword25/script/luascript.cpp | 4 ++-- engines/sword25/script/luascript.h | 4 ++-- engines/sword25/script/script.h | 4 ++-- engines/sword25/sfx/soundengine.cpp | 4 ++-- engines/sword25/sfx/soundengine.h | 4 ++-- engines/sword25/sfx/soundengine_script.cpp | 4 ++-- engines/sword25/sword25.cpp | 4 ++-- engines/sword25/sword25.h | 4 ++-- engines/sword25/util/lua/scummvm_file.cpp | 4 ++-- engines/sword25/util/lua/scummvm_file.h | 4 ++-- 113 files changed, 226 insertions(+), 228 deletions(-) diff --git a/engines/sword25/console.cpp b/engines/sword25/console.cpp index f1b91d2bc2..d8222e7f6d 100644 --- a/engines/sword25/console.cpp +++ b/engines/sword25/console.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sword25/console.h b/engines/sword25/console.h index 9e2516ccf0..ea955ee139 100644 --- a/engines/sword25/console.h +++ b/engines/sword25/console.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sword25/detection.cpp b/engines/sword25/detection.cpp index 06e4ba2a7d..df68d11609 100644 --- a/engines/sword25/detection.cpp +++ b/engines/sword25/detection.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sword25/detection_tables.h b/engines/sword25/detection_tables.h index 94a5b55fed..a9f263b7d4 100644 --- a/engines/sword25/detection_tables.h +++ b/engines/sword25/detection_tables.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sword25/fmv/movieplayer.cpp b/engines/sword25/fmv/movieplayer.cpp index 3cdce1b493..5d7dcf2506 100644 --- a/engines/sword25/fmv/movieplayer.cpp +++ b/engines/sword25/fmv/movieplayer.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sword25/fmv/movieplayer.h b/engines/sword25/fmv/movieplayer.h index 2f5614b505..95fb05ee60 100644 --- a/engines/sword25/fmv/movieplayer.h +++ b/engines/sword25/fmv/movieplayer.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sword25/fmv/movieplayer_script.cpp b/engines/sword25/fmv/movieplayer_script.cpp index 8359059b85..44353268c7 100644 --- a/engines/sword25/fmv/movieplayer_script.cpp +++ b/engines/sword25/fmv/movieplayer_script.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sword25/gfx/animation.cpp b/engines/sword25/gfx/animation.cpp index 37207c967b..eeb78857ea 100644 --- a/engines/sword25/gfx/animation.cpp +++ b/engines/sword25/gfx/animation.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sword25/gfx/animation.h b/engines/sword25/gfx/animation.h index ced1995ae9..b6f314ea42 100644 --- a/engines/sword25/gfx/animation.h +++ b/engines/sword25/gfx/animation.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sword25/gfx/animationdescription.cpp b/engines/sword25/gfx/animationdescription.cpp index 164206bbc2..983850269d 100644 --- a/engines/sword25/gfx/animationdescription.cpp +++ b/engines/sword25/gfx/animationdescription.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sword25/gfx/animationdescription.h b/engines/sword25/gfx/animationdescription.h index 009d83dcc7..7884e32655 100644 --- a/engines/sword25/gfx/animationdescription.h +++ b/engines/sword25/gfx/animationdescription.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sword25/gfx/animationresource.cpp b/engines/sword25/gfx/animationresource.cpp index 8c09a545a0..431d466658 100644 --- a/engines/sword25/gfx/animationresource.cpp +++ b/engines/sword25/gfx/animationresource.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sword25/gfx/animationresource.h b/engines/sword25/gfx/animationresource.h index 70291f220e..d4b58326cb 100644 --- a/engines/sword25/gfx/animationresource.h +++ b/engines/sword25/gfx/animationresource.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sword25/gfx/animationtemplate.cpp b/engines/sword25/gfx/animationtemplate.cpp index a1d2bf5d1a..7db89be8b2 100644 --- a/engines/sword25/gfx/animationtemplate.cpp +++ b/engines/sword25/gfx/animationtemplate.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sword25/gfx/animationtemplate.h b/engines/sword25/gfx/animationtemplate.h index b61ecfcf54..6968e44183 100644 --- a/engines/sword25/gfx/animationtemplate.h +++ b/engines/sword25/gfx/animationtemplate.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sword25/gfx/animationtemplateregistry.cpp b/engines/sword25/gfx/animationtemplateregistry.cpp index 4cefe24b18..4783a314f4 100644 --- a/engines/sword25/gfx/animationtemplateregistry.cpp +++ b/engines/sword25/gfx/animationtemplateregistry.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sword25/gfx/animationtemplateregistry.h b/engines/sword25/gfx/animationtemplateregistry.h index d3d02b2ac8..cbc6cc0120 100644 --- a/engines/sword25/gfx/animationtemplateregistry.h +++ b/engines/sword25/gfx/animationtemplateregistry.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sword25/gfx/bitmap.cpp b/engines/sword25/gfx/bitmap.cpp index 593a426975..c9a2d8601a 100644 --- a/engines/sword25/gfx/bitmap.cpp +++ b/engines/sword25/gfx/bitmap.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sword25/gfx/bitmap.h b/engines/sword25/gfx/bitmap.h index f22c5d7fc9..71e0f1d306 100644 --- a/engines/sword25/gfx/bitmap.h +++ b/engines/sword25/gfx/bitmap.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sword25/gfx/bitmapresource.h b/engines/sword25/gfx/bitmapresource.h index 72b8a3ea1f..7a4daedd84 100644 --- a/engines/sword25/gfx/bitmapresource.h +++ b/engines/sword25/gfx/bitmapresource.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sword25/gfx/dynamicbitmap.cpp b/engines/sword25/gfx/dynamicbitmap.cpp index 1f3d2d063d..ce9c056d08 100644 --- a/engines/sword25/gfx/dynamicbitmap.cpp +++ b/engines/sword25/gfx/dynamicbitmap.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sword25/gfx/dynamicbitmap.h b/engines/sword25/gfx/dynamicbitmap.h index ed53776577..ddea5238d4 100644 --- a/engines/sword25/gfx/dynamicbitmap.h +++ b/engines/sword25/gfx/dynamicbitmap.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sword25/gfx/fontresource.cpp b/engines/sword25/gfx/fontresource.cpp index 0aeca7c180..c4d4c3c52e 100644 --- a/engines/sword25/gfx/fontresource.cpp +++ b/engines/sword25/gfx/fontresource.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sword25/gfx/fontresource.h b/engines/sword25/gfx/fontresource.h index 511f485658..be10e42876 100644 --- a/engines/sword25/gfx/fontresource.h +++ b/engines/sword25/gfx/fontresource.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sword25/gfx/graphicengine.cpp b/engines/sword25/gfx/graphicengine.cpp index bfdb51481b..2a870c021d 100644 --- a/engines/sword25/gfx/graphicengine.cpp +++ b/engines/sword25/gfx/graphicengine.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sword25/gfx/graphicengine.h b/engines/sword25/gfx/graphicengine.h index 3309763966..cf4289b8bb 100644 --- a/engines/sword25/gfx/graphicengine.h +++ b/engines/sword25/gfx/graphicengine.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sword25/gfx/graphicengine_script.cpp b/engines/sword25/gfx/graphicengine_script.cpp index b4334195a1..14b9de1453 100644 --- a/engines/sword25/gfx/graphicengine_script.cpp +++ b/engines/sword25/gfx/graphicengine_script.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sword25/gfx/image/art.cpp b/engines/sword25/gfx/image/art.cpp index e2eeaca33f..454c7e1047 100644 --- a/engines/sword25/gfx/image/art.cpp +++ b/engines/sword25/gfx/image/art.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sword25/gfx/image/art.h b/engines/sword25/gfx/image/art.h index 40bcb55aa7..820520012c 100644 --- a/engines/sword25/gfx/image/art.h +++ b/engines/sword25/gfx/image/art.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sword25/gfx/image/image.h b/engines/sword25/gfx/image/image.h index 8db54e7c54..8fbf802501 100644 --- a/engines/sword25/gfx/image/image.h +++ b/engines/sword25/gfx/image/image.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sword25/gfx/image/imgloader.cpp b/engines/sword25/gfx/image/imgloader.cpp index 9006a596b4..3212c8daee 100644 --- a/engines/sword25/gfx/image/imgloader.cpp +++ b/engines/sword25/gfx/image/imgloader.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sword25/gfx/image/imgloader.h b/engines/sword25/gfx/image/imgloader.h index 735ab9203c..b932cdc903 100644 --- a/engines/sword25/gfx/image/imgloader.h +++ b/engines/sword25/gfx/image/imgloader.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sword25/gfx/image/renderedimage.cpp b/engines/sword25/gfx/image/renderedimage.cpp index b359fc6a3e..107b4cd402 100644 --- a/engines/sword25/gfx/image/renderedimage.cpp +++ b/engines/sword25/gfx/image/renderedimage.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sword25/gfx/image/renderedimage.h b/engines/sword25/gfx/image/renderedimage.h index 116f97de26..3cc9725b12 100644 --- a/engines/sword25/gfx/image/renderedimage.h +++ b/engines/sword25/gfx/image/renderedimage.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sword25/gfx/image/swimage.cpp b/engines/sword25/gfx/image/swimage.cpp index 7e4c3143f5..776f8ce8d3 100644 --- a/engines/sword25/gfx/image/swimage.cpp +++ b/engines/sword25/gfx/image/swimage.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sword25/gfx/image/swimage.h b/engines/sword25/gfx/image/swimage.h index a35127a41d..b31c2318ec 100644 --- a/engines/sword25/gfx/image/swimage.h +++ b/engines/sword25/gfx/image/swimage.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sword25/gfx/image/vectorimage.cpp b/engines/sword25/gfx/image/vectorimage.cpp index ab895b5cef..0e5dfb9c53 100644 --- a/engines/sword25/gfx/image/vectorimage.cpp +++ b/engines/sword25/gfx/image/vectorimage.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sword25/gfx/image/vectorimage.h b/engines/sword25/gfx/image/vectorimage.h index d1760a433e..a99d532e75 100644 --- a/engines/sword25/gfx/image/vectorimage.h +++ b/engines/sword25/gfx/image/vectorimage.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sword25/gfx/image/vectorimagerenderer.cpp b/engines/sword25/gfx/image/vectorimagerenderer.cpp index 6d4dc213f2..c7a79fd3c4 100644 --- a/engines/sword25/gfx/image/vectorimagerenderer.cpp +++ b/engines/sword25/gfx/image/vectorimagerenderer.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sword25/gfx/microtiles.cpp b/engines/sword25/gfx/microtiles.cpp index 18e4a9a1fb..792e4ef385 100644 --- a/engines/sword25/gfx/microtiles.cpp +++ b/engines/sword25/gfx/microtiles.cpp @@ -8,17 +8,16 @@ * 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 "sword25/gfx/microtiles.h" diff --git a/engines/sword25/gfx/microtiles.h b/engines/sword25/gfx/microtiles.h index 454fc39f37..8f94b6cfbf 100644 --- a/engines/sword25/gfx/microtiles.h +++ b/engines/sword25/gfx/microtiles.h @@ -8,17 +8,16 @@ * 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. * - * */ #ifndef SWORD25_MICROTILES_H diff --git a/engines/sword25/gfx/panel.cpp b/engines/sword25/gfx/panel.cpp index 9b7fe82914..9699db7f6a 100644 --- a/engines/sword25/gfx/panel.cpp +++ b/engines/sword25/gfx/panel.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sword25/gfx/panel.h b/engines/sword25/gfx/panel.h index d372b4e0fc..5010cbaaf0 100644 --- a/engines/sword25/gfx/panel.h +++ b/engines/sword25/gfx/panel.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sword25/gfx/renderobject.cpp b/engines/sword25/gfx/renderobject.cpp index e9e11aae4e..c109e49aa8 100644 --- a/engines/sword25/gfx/renderobject.cpp +++ b/engines/sword25/gfx/renderobject.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sword25/gfx/renderobject.h b/engines/sword25/gfx/renderobject.h index 7fcd3a87a3..8fde17e7a6 100644 --- a/engines/sword25/gfx/renderobject.h +++ b/engines/sword25/gfx/renderobject.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sword25/gfx/renderobjectmanager.cpp b/engines/sword25/gfx/renderobjectmanager.cpp index bc7dd02636..4927b4c58e 100644 --- a/engines/sword25/gfx/renderobjectmanager.cpp +++ b/engines/sword25/gfx/renderobjectmanager.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sword25/gfx/renderobjectmanager.h b/engines/sword25/gfx/renderobjectmanager.h index 1db91dfbe6..c56e49aff9 100644 --- a/engines/sword25/gfx/renderobjectmanager.h +++ b/engines/sword25/gfx/renderobjectmanager.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sword25/gfx/renderobjectptr.h b/engines/sword25/gfx/renderobjectptr.h index 7b7f190a01..950fdcfb45 100644 --- a/engines/sword25/gfx/renderobjectptr.h +++ b/engines/sword25/gfx/renderobjectptr.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sword25/gfx/renderobjectregistry.h b/engines/sword25/gfx/renderobjectregistry.h index 92d8c9b830..49ed4e7d5c 100644 --- a/engines/sword25/gfx/renderobjectregistry.h +++ b/engines/sword25/gfx/renderobjectregistry.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sword25/gfx/rootrenderobject.h b/engines/sword25/gfx/rootrenderobject.h index f1b19d6bae..608af8f14c 100644 --- a/engines/sword25/gfx/rootrenderobject.h +++ b/engines/sword25/gfx/rootrenderobject.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sword25/gfx/screenshot.cpp b/engines/sword25/gfx/screenshot.cpp index 7b56a6e9f3..4b4f967f29 100644 --- a/engines/sword25/gfx/screenshot.cpp +++ b/engines/sword25/gfx/screenshot.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sword25/gfx/screenshot.h b/engines/sword25/gfx/screenshot.h index e2e2dfc7f5..fb37dfc9c0 100644 --- a/engines/sword25/gfx/screenshot.h +++ b/engines/sword25/gfx/screenshot.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sword25/gfx/staticbitmap.cpp b/engines/sword25/gfx/staticbitmap.cpp index bb57fa3a03..14e2012d80 100644 --- a/engines/sword25/gfx/staticbitmap.cpp +++ b/engines/sword25/gfx/staticbitmap.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sword25/gfx/staticbitmap.h b/engines/sword25/gfx/staticbitmap.h index 90b92b4331..4ded60aec8 100644 --- a/engines/sword25/gfx/staticbitmap.h +++ b/engines/sword25/gfx/staticbitmap.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sword25/gfx/text.cpp b/engines/sword25/gfx/text.cpp index 8c33fa8d61..b0a9e4ed3f 100644 --- a/engines/sword25/gfx/text.cpp +++ b/engines/sword25/gfx/text.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sword25/gfx/text.h b/engines/sword25/gfx/text.h index 873eb33380..0187643659 100644 --- a/engines/sword25/gfx/text.h +++ b/engines/sword25/gfx/text.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sword25/gfx/timedrenderobject.cpp b/engines/sword25/gfx/timedrenderobject.cpp index e35b0ae95b..bedde83781 100644 --- a/engines/sword25/gfx/timedrenderobject.cpp +++ b/engines/sword25/gfx/timedrenderobject.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sword25/gfx/timedrenderobject.h b/engines/sword25/gfx/timedrenderobject.h index 44c3b40528..387cd21b42 100644 --- a/engines/sword25/gfx/timedrenderobject.h +++ b/engines/sword25/gfx/timedrenderobject.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sword25/input/inputengine.cpp b/engines/sword25/input/inputengine.cpp index 0d1c449805..7157e7242f 100644 --- a/engines/sword25/input/inputengine.cpp +++ b/engines/sword25/input/inputengine.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sword25/input/inputengine.h b/engines/sword25/input/inputengine.h index f79890a9fd..c5ef40cc9e 100644 --- a/engines/sword25/input/inputengine.h +++ b/engines/sword25/input/inputengine.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sword25/input/inputengine_script.cpp b/engines/sword25/input/inputengine_script.cpp index db2619294c..17b0584c2c 100644 --- a/engines/sword25/input/inputengine_script.cpp +++ b/engines/sword25/input/inputengine_script.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sword25/kernel/common.h b/engines/sword25/kernel/common.h index 8cfc81e981..0fc6bf725e 100644 --- a/engines/sword25/kernel/common.h +++ b/engines/sword25/kernel/common.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sword25/kernel/filesystemutil.cpp b/engines/sword25/kernel/filesystemutil.cpp index 281e7986df..a3e3081b8f 100644 --- a/engines/sword25/kernel/filesystemutil.cpp +++ b/engines/sword25/kernel/filesystemutil.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sword25/kernel/filesystemutil.h b/engines/sword25/kernel/filesystemutil.h index bb100123d9..9c20de7696 100644 --- a/engines/sword25/kernel/filesystemutil.h +++ b/engines/sword25/kernel/filesystemutil.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sword25/kernel/inputpersistenceblock.cpp b/engines/sword25/kernel/inputpersistenceblock.cpp index aa3a759756..c38f967506 100644 --- a/engines/sword25/kernel/inputpersistenceblock.cpp +++ b/engines/sword25/kernel/inputpersistenceblock.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sword25/kernel/inputpersistenceblock.h b/engines/sword25/kernel/inputpersistenceblock.h index 02a944ff1b..bcda794a51 100644 --- a/engines/sword25/kernel/inputpersistenceblock.h +++ b/engines/sword25/kernel/inputpersistenceblock.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sword25/kernel/kernel.cpp b/engines/sword25/kernel/kernel.cpp index d6388eee2b..cf972818d2 100644 --- a/engines/sword25/kernel/kernel.cpp +++ b/engines/sword25/kernel/kernel.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sword25/kernel/kernel.h b/engines/sword25/kernel/kernel.h index adf69f92d6..411d0cf3b2 100644 --- a/engines/sword25/kernel/kernel.h +++ b/engines/sword25/kernel/kernel.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sword25/kernel/kernel_script.cpp b/engines/sword25/kernel/kernel_script.cpp index 27a221d45f..1b7c6a6f14 100644 --- a/engines/sword25/kernel/kernel_script.cpp +++ b/engines/sword25/kernel/kernel_script.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sword25/kernel/objectregistry.h b/engines/sword25/kernel/objectregistry.h index 449b1b60a3..9491a2217c 100644 --- a/engines/sword25/kernel/objectregistry.h +++ b/engines/sword25/kernel/objectregistry.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sword25/kernel/outputpersistenceblock.cpp b/engines/sword25/kernel/outputpersistenceblock.cpp index 53fb624767..9003b5d58a 100644 --- a/engines/sword25/kernel/outputpersistenceblock.cpp +++ b/engines/sword25/kernel/outputpersistenceblock.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sword25/kernel/outputpersistenceblock.h b/engines/sword25/kernel/outputpersistenceblock.h index 17f018a106..c7d8dfc6aa 100644 --- a/engines/sword25/kernel/outputpersistenceblock.h +++ b/engines/sword25/kernel/outputpersistenceblock.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sword25/kernel/persistable.h b/engines/sword25/kernel/persistable.h index 1807211847..8df2c45b2e 100644 --- a/engines/sword25/kernel/persistable.h +++ b/engines/sword25/kernel/persistable.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sword25/kernel/persistenceblock.h b/engines/sword25/kernel/persistenceblock.h index 8ac3e84a41..a56c85770c 100644 --- a/engines/sword25/kernel/persistenceblock.h +++ b/engines/sword25/kernel/persistenceblock.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sword25/kernel/persistenceservice.cpp b/engines/sword25/kernel/persistenceservice.cpp index df26da7800..fb83b7f941 100644 --- a/engines/sword25/kernel/persistenceservice.cpp +++ b/engines/sword25/kernel/persistenceservice.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sword25/kernel/persistenceservice.h b/engines/sword25/kernel/persistenceservice.h index 59e0a3661d..bc73ae9f43 100644 --- a/engines/sword25/kernel/persistenceservice.h +++ b/engines/sword25/kernel/persistenceservice.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sword25/kernel/resmanager.cpp b/engines/sword25/kernel/resmanager.cpp index cc3316250a..c0f94ae5c5 100644 --- a/engines/sword25/kernel/resmanager.cpp +++ b/engines/sword25/kernel/resmanager.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sword25/kernel/resmanager.h b/engines/sword25/kernel/resmanager.h index 6b95a45b6e..57a091295a 100644 --- a/engines/sword25/kernel/resmanager.h +++ b/engines/sword25/kernel/resmanager.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sword25/kernel/resource.cpp b/engines/sword25/kernel/resource.cpp index 656355cc17..e0d46a807b 100644 --- a/engines/sword25/kernel/resource.cpp +++ b/engines/sword25/kernel/resource.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sword25/kernel/resource.h b/engines/sword25/kernel/resource.h index 7c8175c9c9..41deb24d88 100644 --- a/engines/sword25/kernel/resource.h +++ b/engines/sword25/kernel/resource.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sword25/kernel/resservice.h b/engines/sword25/kernel/resservice.h index 69b0688e32..11b0b824fb 100644 --- a/engines/sword25/kernel/resservice.h +++ b/engines/sword25/kernel/resservice.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sword25/kernel/service.h b/engines/sword25/kernel/service.h index 576776bb5f..aa40563e06 100644 --- a/engines/sword25/kernel/service.h +++ b/engines/sword25/kernel/service.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sword25/math/geometry.h b/engines/sword25/math/geometry.h index bdbd5b2052..1539a93a31 100644 --- a/engines/sword25/math/geometry.h +++ b/engines/sword25/math/geometry.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sword25/math/geometry_script.cpp b/engines/sword25/math/geometry_script.cpp index 70798f7692..192a6adf54 100644 --- a/engines/sword25/math/geometry_script.cpp +++ b/engines/sword25/math/geometry_script.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sword25/math/line.h b/engines/sword25/math/line.h index 9eaa2d3c8c..9e2a50fac3 100644 --- a/engines/sword25/math/line.h +++ b/engines/sword25/math/line.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sword25/math/polygon.cpp b/engines/sword25/math/polygon.cpp index 99d947df87..ccefa1901e 100644 --- a/engines/sword25/math/polygon.cpp +++ b/engines/sword25/math/polygon.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sword25/math/polygon.h b/engines/sword25/math/polygon.h index f81e165621..3cb2286be1 100644 --- a/engines/sword25/math/polygon.h +++ b/engines/sword25/math/polygon.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sword25/math/region.cpp b/engines/sword25/math/region.cpp index db888e432a..cf422af774 100644 --- a/engines/sword25/math/region.cpp +++ b/engines/sword25/math/region.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sword25/math/region.h b/engines/sword25/math/region.h index 0fd7223631..a61c0c4c94 100644 --- a/engines/sword25/math/region.h +++ b/engines/sword25/math/region.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sword25/math/regionregistry.cpp b/engines/sword25/math/regionregistry.cpp index e4925f7baf..35a5fb4b88 100644 --- a/engines/sword25/math/regionregistry.cpp +++ b/engines/sword25/math/regionregistry.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sword25/math/regionregistry.h b/engines/sword25/math/regionregistry.h index 9e0a28bea7..04a96c52c7 100644 --- a/engines/sword25/math/regionregistry.h +++ b/engines/sword25/math/regionregistry.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sword25/math/vertex.cpp b/engines/sword25/math/vertex.cpp index b486d35e7e..ed0baeeeb3 100644 --- a/engines/sword25/math/vertex.cpp +++ b/engines/sword25/math/vertex.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sword25/math/vertex.h b/engines/sword25/math/vertex.h index 4cb0eaca30..89ad344f6a 100644 --- a/engines/sword25/math/vertex.h +++ b/engines/sword25/math/vertex.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sword25/math/walkregion.cpp b/engines/sword25/math/walkregion.cpp index 0ba7e8ec3d..f7160317c6 100644 --- a/engines/sword25/math/walkregion.cpp +++ b/engines/sword25/math/walkregion.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sword25/math/walkregion.h b/engines/sword25/math/walkregion.h index 7dded1980b..9a3b6e616b 100644 --- a/engines/sword25/math/walkregion.h +++ b/engines/sword25/math/walkregion.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sword25/package/packagemanager.cpp b/engines/sword25/package/packagemanager.cpp index 5549f50c3c..2db4f2da74 100644 --- a/engines/sword25/package/packagemanager.cpp +++ b/engines/sword25/package/packagemanager.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sword25/package/packagemanager.h b/engines/sword25/package/packagemanager.h index b0c6718008..a1806a4046 100644 --- a/engines/sword25/package/packagemanager.h +++ b/engines/sword25/package/packagemanager.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sword25/package/packagemanager_script.cpp b/engines/sword25/package/packagemanager_script.cpp index 229ec37459..4e72ad1934 100644 --- a/engines/sword25/package/packagemanager_script.cpp +++ b/engines/sword25/package/packagemanager_script.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sword25/script/lua_extensions.cpp b/engines/sword25/script/lua_extensions.cpp index bf502d719e..3f828aee46 100644 --- a/engines/sword25/script/lua_extensions.cpp +++ b/engines/sword25/script/lua_extensions.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sword25/script/luabindhelper.cpp b/engines/sword25/script/luabindhelper.cpp index 6900305f5c..1dd84bc36e 100644 --- a/engines/sword25/script/luabindhelper.cpp +++ b/engines/sword25/script/luabindhelper.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sword25/script/luabindhelper.h b/engines/sword25/script/luabindhelper.h index 5223d4440e..85d6570b1b 100644 --- a/engines/sword25/script/luabindhelper.h +++ b/engines/sword25/script/luabindhelper.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sword25/script/luacallback.cpp b/engines/sword25/script/luacallback.cpp index cee0531b8a..72f7e01612 100644 --- a/engines/sword25/script/luacallback.cpp +++ b/engines/sword25/script/luacallback.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sword25/script/luacallback.h b/engines/sword25/script/luacallback.h index 796af8598b..fa5ba9c228 100644 --- a/engines/sword25/script/luacallback.h +++ b/engines/sword25/script/luacallback.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sword25/script/luascript.cpp b/engines/sword25/script/luascript.cpp index 9d394309e6..f62a08005b 100644 --- a/engines/sword25/script/luascript.cpp +++ b/engines/sword25/script/luascript.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sword25/script/luascript.h b/engines/sword25/script/luascript.h index 1a4a38c3be..a13a50749d 100644 --- a/engines/sword25/script/luascript.h +++ b/engines/sword25/script/luascript.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sword25/script/script.h b/engines/sword25/script/script.h index 04f248fe7e..8f9c00a986 100644 --- a/engines/sword25/script/script.h +++ b/engines/sword25/script/script.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sword25/sfx/soundengine.cpp b/engines/sword25/sfx/soundengine.cpp index 8ff1b0cf2a..4029b4e808 100644 --- a/engines/sword25/sfx/soundengine.cpp +++ b/engines/sword25/sfx/soundengine.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sword25/sfx/soundengine.h b/engines/sword25/sfx/soundengine.h index 8974ee69e5..1dd7ba0925 100644 --- a/engines/sword25/sfx/soundengine.h +++ b/engines/sword25/sfx/soundengine.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sword25/sfx/soundengine_script.cpp b/engines/sword25/sfx/soundengine_script.cpp index d7771967a3..48e71de66c 100644 --- a/engines/sword25/sfx/soundengine_script.cpp +++ b/engines/sword25/sfx/soundengine_script.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sword25/sword25.cpp b/engines/sword25/sword25.cpp index 2201188052..259deb2ea8 100644 --- a/engines/sword25/sword25.cpp +++ b/engines/sword25/sword25.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sword25/sword25.h b/engines/sword25/sword25.h index 1254ea177b..72391cf9d8 100644 --- a/engines/sword25/sword25.h +++ b/engines/sword25/sword25.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sword25/util/lua/scummvm_file.cpp b/engines/sword25/util/lua/scummvm_file.cpp index b5f1388129..c38aba004f 100644 --- a/engines/sword25/util/lua/scummvm_file.cpp +++ b/engines/sword25/util/lua/scummvm_file.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/sword25/util/lua/scummvm_file.h b/engines/sword25/util/lua/scummvm_file.h index e8c468ee07..72d2690a4d 100644 --- a/engines/sword25/util/lua/scummvm_file.h +++ b/engines/sword25/util/lua/scummvm_file.h @@ -8,12 +8,12 @@ * 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. -- cgit v1.2.3 From 1b5c324811c06b1128883ada7763f1f14c85afd8 Mon Sep 17 00:00:00 2001 From: Johannes Schickel Date: Tue, 18 Feb 2014 02:34:25 +0100 Subject: SYMBIAN: Make GPL headers consistent in themselves. --- backends/events/symbiansdl/symbiansdl-events.cpp | 4 ++-- backends/events/symbiansdl/symbiansdl-events.h | 4 ++-- backends/fs/symbian/symbian-fs-factory.cpp | 1 + backends/fs/symbian/symbian-fs-factory.h | 1 + backends/fs/symbian/symbian-fs.cpp | 1 + backends/fs/symbian/symbian-fs.h | 1 + backends/fs/symbian/symbianstream.cpp | 4 ++-- backends/fs/symbian/symbianstream.h | 4 ++-- backends/graphics/symbiansdl/symbiansdl-graphics.cpp | 4 ++-- backends/graphics/symbiansdl/symbiansdl-graphics.h | 4 ++-- backends/mixer/symbiansdl/symbiansdl-mixer.cpp | 4 ++-- backends/mixer/symbiansdl/symbiansdl-mixer.h | 4 ++-- backends/platform/symbian/src/ScummApp.cpp | 1 + backends/platform/symbian/src/ScummApp.h | 1 + backends/platform/symbian/src/SymbianActions.cpp | 4 ++-- backends/platform/symbian/src/SymbianActions.h | 4 ++-- backends/platform/symbian/src/SymbianMain.cpp | 4 ++-- backends/platform/symbian/src/SymbianOS.cpp | 1 + backends/platform/symbian/src/SymbianOS.h | 1 + backends/platform/symbian/src/portdefs.h | 1 + 20 files changed, 31 insertions(+), 22 deletions(-) diff --git a/backends/events/symbiansdl/symbiansdl-events.cpp b/backends/events/symbiansdl/symbiansdl-events.cpp index 308621e697..36018f1024 100644 --- a/backends/events/symbiansdl/symbiansdl-events.cpp +++ b/backends/events/symbiansdl/symbiansdl-events.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/backends/events/symbiansdl/symbiansdl-events.h b/backends/events/symbiansdl/symbiansdl-events.h index 66c0b451eb..2664bc267d 100644 --- a/backends/events/symbiansdl/symbiansdl-events.h +++ b/backends/events/symbiansdl/symbiansdl-events.h @@ -8,12 +8,12 @@ * 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. diff --git a/backends/fs/symbian/symbian-fs-factory.cpp b/backends/fs/symbian/symbian-fs-factory.cpp index 7a60109742..311a0bfd82 100644 --- a/backends/fs/symbian/symbian-fs-factory.cpp +++ b/backends/fs/symbian/symbian-fs-factory.cpp @@ -17,6 +17,7 @@ * 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. + * */ #if defined(__SYMBIAN32__) diff --git a/backends/fs/symbian/symbian-fs-factory.h b/backends/fs/symbian/symbian-fs-factory.h index b99d3fb0ec..940b58e22f 100644 --- a/backends/fs/symbian/symbian-fs-factory.h +++ b/backends/fs/symbian/symbian-fs-factory.h @@ -17,6 +17,7 @@ * 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. + * */ #ifndef SYMBIAN_FILESYSTEM_FACTORY_H diff --git a/backends/fs/symbian/symbian-fs.cpp b/backends/fs/symbian/symbian-fs.cpp index 7a652fa43c..8fbc3a402a 100644 --- a/backends/fs/symbian/symbian-fs.cpp +++ b/backends/fs/symbian/symbian-fs.cpp @@ -17,6 +17,7 @@ * 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. + * */ #if defined(__SYMBIAN32__) diff --git a/backends/fs/symbian/symbian-fs.h b/backends/fs/symbian/symbian-fs.h index 0db9a88940..339e998a28 100644 --- a/backends/fs/symbian/symbian-fs.h +++ b/backends/fs/symbian/symbian-fs.h @@ -17,6 +17,7 @@ * 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. + * */ #ifndef SYMBIAN_FILESYSTEM_H diff --git a/backends/fs/symbian/symbianstream.cpp b/backends/fs/symbian/symbianstream.cpp index fa7842d3b1..549bc54452 100644 --- a/backends/fs/symbian/symbianstream.cpp +++ b/backends/fs/symbian/symbianstream.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/backends/fs/symbian/symbianstream.h b/backends/fs/symbian/symbianstream.h index 3ca612e39b..f0ec095fea 100644 --- a/backends/fs/symbian/symbianstream.h +++ b/backends/fs/symbian/symbianstream.h @@ -8,12 +8,12 @@ * 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. diff --git a/backends/graphics/symbiansdl/symbiansdl-graphics.cpp b/backends/graphics/symbiansdl/symbiansdl-graphics.cpp index 5fe8b19887..e339fecd1c 100644 --- a/backends/graphics/symbiansdl/symbiansdl-graphics.cpp +++ b/backends/graphics/symbiansdl/symbiansdl-graphics.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/backends/graphics/symbiansdl/symbiansdl-graphics.h b/backends/graphics/symbiansdl/symbiansdl-graphics.h index 73e810a629..f514db286c 100644 --- a/backends/graphics/symbiansdl/symbiansdl-graphics.h +++ b/backends/graphics/symbiansdl/symbiansdl-graphics.h @@ -8,12 +8,12 @@ * 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. diff --git a/backends/mixer/symbiansdl/symbiansdl-mixer.cpp b/backends/mixer/symbiansdl/symbiansdl-mixer.cpp index e978e9207f..debbb74c4f 100644 --- a/backends/mixer/symbiansdl/symbiansdl-mixer.cpp +++ b/backends/mixer/symbiansdl/symbiansdl-mixer.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/backends/mixer/symbiansdl/symbiansdl-mixer.h b/backends/mixer/symbiansdl/symbiansdl-mixer.h index d59c98753b..4203d59350 100644 --- a/backends/mixer/symbiansdl/symbiansdl-mixer.h +++ b/backends/mixer/symbiansdl/symbiansdl-mixer.h @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/symbian/src/ScummApp.cpp b/backends/platform/symbian/src/ScummApp.cpp index b952177f9a..5256c81dcc 100644 --- a/backends/platform/symbian/src/ScummApp.cpp +++ b/backends/platform/symbian/src/ScummApp.cpp @@ -17,6 +17,7 @@ * 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 "backends/platform/symbian/src/ScummApp.h" diff --git a/backends/platform/symbian/src/ScummApp.h b/backends/platform/symbian/src/ScummApp.h index 00d03e6d7b..db643f61b6 100644 --- a/backends/platform/symbian/src/ScummApp.h +++ b/backends/platform/symbian/src/ScummApp.h @@ -17,6 +17,7 @@ * 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. + * */ #ifndef SCUMMAPP_H diff --git a/backends/platform/symbian/src/SymbianActions.cpp b/backends/platform/symbian/src/SymbianActions.cpp index c47bd93772..0810b382d2 100644 --- a/backends/platform/symbian/src/SymbianActions.cpp +++ b/backends/platform/symbian/src/SymbianActions.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/symbian/src/SymbianActions.h b/backends/platform/symbian/src/SymbianActions.h index 2b65c6c950..fc68091c74 100644 --- a/backends/platform/symbian/src/SymbianActions.h +++ b/backends/platform/symbian/src/SymbianActions.h @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/symbian/src/SymbianMain.cpp b/backends/platform/symbian/src/SymbianMain.cpp index 8da2b239f4..d7ad26d769 100644 --- a/backends/platform/symbian/src/SymbianMain.cpp +++ b/backends/platform/symbian/src/SymbianMain.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/symbian/src/SymbianOS.cpp b/backends/platform/symbian/src/SymbianOS.cpp index ead85a933e..1fca7f5df5 100644 --- a/backends/platform/symbian/src/SymbianOS.cpp +++ b/backends/platform/symbian/src/SymbianOS.cpp @@ -17,6 +17,7 @@ * 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 // for CSDLApp::GetExecutablePathCStr() @ Symbian::GetExecutablePath() diff --git a/backends/platform/symbian/src/SymbianOS.h b/backends/platform/symbian/src/SymbianOS.h index 74a102dc15..57a471f1a9 100644 --- a/backends/platform/symbian/src/SymbianOS.h +++ b/backends/platform/symbian/src/SymbianOS.h @@ -17,6 +17,7 @@ * 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. + * */ #ifndef PLATFORM_SDL_SYMBIAN_H diff --git a/backends/platform/symbian/src/portdefs.h b/backends/platform/symbian/src/portdefs.h index f69a90e009..1fb941963b 100644 --- a/backends/platform/symbian/src/portdefs.h +++ b/backends/platform/symbian/src/portdefs.h @@ -17,6 +17,7 @@ * 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. + * */ #ifndef SYMBIAN_PORTDEFS_H -- cgit v1.2.3 From 47b61110335996f6033f095d32cfc4335013d9c4 Mon Sep 17 00:00:00 2001 From: Johannes Schickel Date: Tue, 18 Feb 2014 02:34:25 +0100 Subject: TEENAGENT: Make GPL headers consistent in themselves. --- engines/teenagent/actor.cpp | 1 + engines/teenagent/actor.h | 1 + engines/teenagent/animation.cpp | 1 + engines/teenagent/animation.h | 1 + engines/teenagent/callbacks.cpp | 1 + engines/teenagent/console.cpp | 1 + engines/teenagent/console.h | 1 + engines/teenagent/detection.cpp | 1 + engines/teenagent/dialog.cpp | 1 + engines/teenagent/dialog.h | 1 + engines/teenagent/font.cpp | 1 + engines/teenagent/font.h | 1 + engines/teenagent/inventory.cpp | 1 + engines/teenagent/inventory.h | 1 + engines/teenagent/music.cpp | 4 ++-- engines/teenagent/music.h | 4 ++-- engines/teenagent/objects.cpp | 1 + engines/teenagent/objects.h | 1 + engines/teenagent/pack.cpp | 1 + engines/teenagent/pack.h | 1 + engines/teenagent/resources.cpp | 1 + engines/teenagent/resources.h | 1 + engines/teenagent/scene.cpp | 1 + engines/teenagent/scene.h | 1 + engines/teenagent/segment.cpp | 1 + engines/teenagent/segment.h | 1 + engines/teenagent/surface.cpp | 1 + engines/teenagent/surface.h | 1 + engines/teenagent/surface_list.cpp | 1 + engines/teenagent/surface_list.h | 1 + engines/teenagent/teenagent.cpp | 1 + engines/teenagent/teenagent.h | 1 + 32 files changed, 34 insertions(+), 4 deletions(-) diff --git a/engines/teenagent/actor.cpp b/engines/teenagent/actor.cpp index d65a367309..a4df43a5fe 100644 --- a/engines/teenagent/actor.cpp +++ b/engines/teenagent/actor.cpp @@ -17,6 +17,7 @@ * 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 "teenagent/actor.h" diff --git a/engines/teenagent/actor.h b/engines/teenagent/actor.h index 942397c636..33ed9e90d0 100644 --- a/engines/teenagent/actor.h +++ b/engines/teenagent/actor.h @@ -17,6 +17,7 @@ * 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 "teenagent/animation.h" diff --git a/engines/teenagent/animation.cpp b/engines/teenagent/animation.cpp index effafcaac6..5708c101ec 100644 --- a/engines/teenagent/animation.cpp +++ b/engines/teenagent/animation.cpp @@ -17,6 +17,7 @@ * 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 "teenagent/teenagent.h" diff --git a/engines/teenagent/animation.h b/engines/teenagent/animation.h index 9be21a4c3d..44b1312554 100644 --- a/engines/teenagent/animation.h +++ b/engines/teenagent/animation.h @@ -17,6 +17,7 @@ * 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. + * */ #ifndef TEENAGENT_ANIMATION_H diff --git a/engines/teenagent/callbacks.cpp b/engines/teenagent/callbacks.cpp index 9fe9e68a76..3f77673144 100644 --- a/engines/teenagent/callbacks.cpp +++ b/engines/teenagent/callbacks.cpp @@ -17,6 +17,7 @@ * 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 "teenagent/teenagent.h" diff --git a/engines/teenagent/console.cpp b/engines/teenagent/console.cpp index 9ab6001d54..13d5c687ce 100644 --- a/engines/teenagent/console.cpp +++ b/engines/teenagent/console.cpp @@ -17,6 +17,7 @@ * 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 "teenagent/console.h" diff --git a/engines/teenagent/console.h b/engines/teenagent/console.h index 4dbdd3fc07..b569f98d8f 100644 --- a/engines/teenagent/console.h +++ b/engines/teenagent/console.h @@ -17,6 +17,7 @@ * 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. + * */ #ifndef TEENAGENT_CONSOLE_H diff --git a/engines/teenagent/detection.cpp b/engines/teenagent/detection.cpp index 2d1ff4c2e1..7a53faf98a 100644 --- a/engines/teenagent/detection.cpp +++ b/engines/teenagent/detection.cpp @@ -17,6 +17,7 @@ * 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 "common/system.h" diff --git a/engines/teenagent/dialog.cpp b/engines/teenagent/dialog.cpp index 312757a462..0993c26961 100644 --- a/engines/teenagent/dialog.cpp +++ b/engines/teenagent/dialog.cpp @@ -17,6 +17,7 @@ * 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 "teenagent/dialog.h" diff --git a/engines/teenagent/dialog.h b/engines/teenagent/dialog.h index 6672ce7206..de67b999a2 100644 --- a/engines/teenagent/dialog.h +++ b/engines/teenagent/dialog.h @@ -17,6 +17,7 @@ * 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. + * */ #ifndef TEENAGENT_DIALOG_H diff --git a/engines/teenagent/font.cpp b/engines/teenagent/font.cpp index 9d85328f20..ab75a45ba7 100644 --- a/engines/teenagent/font.cpp +++ b/engines/teenagent/font.cpp @@ -17,6 +17,7 @@ * 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 "teenagent/font.h" diff --git a/engines/teenagent/font.h b/engines/teenagent/font.h index a61f145fa6..65931f2084 100644 --- a/engines/teenagent/font.h +++ b/engines/teenagent/font.h @@ -17,6 +17,7 @@ * 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. + * */ #ifndef TEENAGENT_FONT_H diff --git a/engines/teenagent/inventory.cpp b/engines/teenagent/inventory.cpp index 354371666c..e8544446dc 100644 --- a/engines/teenagent/inventory.cpp +++ b/engines/teenagent/inventory.cpp @@ -17,6 +17,7 @@ * 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 "common/memstream.h" diff --git a/engines/teenagent/inventory.h b/engines/teenagent/inventory.h index d487848c2c..4a250987ba 100644 --- a/engines/teenagent/inventory.h +++ b/engines/teenagent/inventory.h @@ -17,6 +17,7 @@ * 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. + * */ #ifndef TEENAGENT_INVENTORY_H diff --git a/engines/teenagent/music.cpp b/engines/teenagent/music.cpp index b06a5f1f5e..5d66c3c90c 100644 --- a/engines/teenagent/music.cpp +++ b/engines/teenagent/music.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/teenagent/music.h b/engines/teenagent/music.h index 408436cf3a..e1630cc845 100644 --- a/engines/teenagent/music.h +++ b/engines/teenagent/music.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/teenagent/objects.cpp b/engines/teenagent/objects.cpp index 5dad9ab99d..3197a715aa 100644 --- a/engines/teenagent/objects.cpp +++ b/engines/teenagent/objects.cpp @@ -17,6 +17,7 @@ * 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 "common/debug.h" diff --git a/engines/teenagent/objects.h b/engines/teenagent/objects.h index 6e7955766f..f923ae52ab 100644 --- a/engines/teenagent/objects.h +++ b/engines/teenagent/objects.h @@ -17,6 +17,7 @@ * 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. + * */ diff --git a/engines/teenagent/pack.cpp b/engines/teenagent/pack.cpp index 2e6c913a72..cbf2bfd89e 100644 --- a/engines/teenagent/pack.cpp +++ b/engines/teenagent/pack.cpp @@ -17,6 +17,7 @@ * 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 "teenagent/pack.h" diff --git a/engines/teenagent/pack.h b/engines/teenagent/pack.h index 1d6c471554..3607bae91d 100644 --- a/engines/teenagent/pack.h +++ b/engines/teenagent/pack.h @@ -17,6 +17,7 @@ * 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. + * */ diff --git a/engines/teenagent/resources.cpp b/engines/teenagent/resources.cpp index cdbdcf9655..8d8f705a24 100644 --- a/engines/teenagent/resources.cpp +++ b/engines/teenagent/resources.cpp @@ -17,6 +17,7 @@ * 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 "teenagent/resources.h" diff --git a/engines/teenagent/resources.h b/engines/teenagent/resources.h index 7aae2f9ec8..d2b4874042 100644 --- a/engines/teenagent/resources.h +++ b/engines/teenagent/resources.h @@ -17,6 +17,7 @@ * 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. + * */ #ifndef TEENAGENT_RESOURCES_H diff --git a/engines/teenagent/scene.cpp b/engines/teenagent/scene.cpp index f36a60932c..6e1cef31bc 100644 --- a/engines/teenagent/scene.cpp +++ b/engines/teenagent/scene.cpp @@ -17,6 +17,7 @@ * 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 "common/config-manager.h" diff --git a/engines/teenagent/scene.h b/engines/teenagent/scene.h index 14aefa0cca..07b304ed97 100644 --- a/engines/teenagent/scene.h +++ b/engines/teenagent/scene.h @@ -17,6 +17,7 @@ * 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. + * */ #ifndef TEENAGENT_SCENE_H diff --git a/engines/teenagent/segment.cpp b/engines/teenagent/segment.cpp index cb17190da7..0e7659d680 100644 --- a/engines/teenagent/segment.cpp +++ b/engines/teenagent/segment.cpp @@ -17,6 +17,7 @@ * 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 "teenagent/segment.h" diff --git a/engines/teenagent/segment.h b/engines/teenagent/segment.h index 286337d120..14ccb24894 100644 --- a/engines/teenagent/segment.h +++ b/engines/teenagent/segment.h @@ -17,6 +17,7 @@ * 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. + * */ #ifndef TEENAGENT_SEGMENT_H diff --git a/engines/teenagent/surface.cpp b/engines/teenagent/surface.cpp index 4db25bc749..748874a4c5 100644 --- a/engines/teenagent/surface.cpp +++ b/engines/teenagent/surface.cpp @@ -17,6 +17,7 @@ * 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 "teenagent/surface.h" diff --git a/engines/teenagent/surface.h b/engines/teenagent/surface.h index 3e591ed3e0..35850cf3aa 100644 --- a/engines/teenagent/surface.h +++ b/engines/teenagent/surface.h @@ -17,6 +17,7 @@ * 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. + * */ #ifndef TEENAGENT_SURFACE_H diff --git a/engines/teenagent/surface_list.cpp b/engines/teenagent/surface_list.cpp index e293ce6470..444d927294 100644 --- a/engines/teenagent/surface_list.cpp +++ b/engines/teenagent/surface_list.cpp @@ -17,6 +17,7 @@ * 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 "teenagent/surface_list.h" diff --git a/engines/teenagent/surface_list.h b/engines/teenagent/surface_list.h index 73a41fb5f8..2cca7849df 100644 --- a/engines/teenagent/surface_list.h +++ b/engines/teenagent/surface_list.h @@ -17,6 +17,7 @@ * 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. + * */ #ifndef TEENAGENT_SURFACE_LIST_H__ diff --git a/engines/teenagent/teenagent.cpp b/engines/teenagent/teenagent.cpp index e73f1100d6..d5a8b8e2dc 100644 --- a/engines/teenagent/teenagent.cpp +++ b/engines/teenagent/teenagent.cpp @@ -17,6 +17,7 @@ * 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 "common/config-manager.h" diff --git a/engines/teenagent/teenagent.h b/engines/teenagent/teenagent.h index 3c3bc25e56..a06f8dbf9b 100644 --- a/engines/teenagent/teenagent.h +++ b/engines/teenagent/teenagent.h @@ -17,6 +17,7 @@ * 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. + * */ #ifndef TEENAGENT_ENGINE_H -- cgit v1.2.3 From 3edca1abb4deeaa5030eca505235c8412a2f6c8a Mon Sep 17 00:00:00 2001 From: Johannes Schickel Date: Tue, 18 Feb 2014 02:34:25 +0100 Subject: TESTBED: Make GPL headers consistent in themselves. --- engines/testbed/config-params.cpp | 1 + engines/testbed/config-params.h | 1 + engines/testbed/config.cpp | 1 + engines/testbed/config.h | 1 + engines/testbed/detection.cpp | 4 ++-- engines/testbed/events.cpp | 1 + engines/testbed/events.h | 1 + engines/testbed/fs.cpp | 1 + engines/testbed/fs.h | 1 + engines/testbed/graphics.cpp | 1 + engines/testbed/graphics.h | 1 + engines/testbed/midi.cpp | 1 + engines/testbed/midi.h | 1 + engines/testbed/misc.cpp | 1 + engines/testbed/misc.h | 1 + engines/testbed/savegame.cpp | 1 + engines/testbed/savegame.h | 1 + engines/testbed/sound.cpp | 1 + engines/testbed/sound.h | 1 + engines/testbed/template.h | 1 + engines/testbed/testbed.cpp | 1 + engines/testbed/testbed.h | 1 + engines/testbed/testsuite.cpp | 1 + engines/testbed/testsuite.h | 1 + 24 files changed, 25 insertions(+), 2 deletions(-) diff --git a/engines/testbed/config-params.cpp b/engines/testbed/config-params.cpp index 47e5dfa933..1aa97168c1 100644 --- a/engines/testbed/config-params.cpp +++ b/engines/testbed/config-params.cpp @@ -17,6 +17,7 @@ * 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 "common/config-manager.h" diff --git a/engines/testbed/config-params.h b/engines/testbed/config-params.h index 6906d9248e..89aae199b6 100644 --- a/engines/testbed/config-params.h +++ b/engines/testbed/config-params.h @@ -17,6 +17,7 @@ * 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. + * */ #ifndef TESTBED_CONFIG_PARAMS_H diff --git a/engines/testbed/config.cpp b/engines/testbed/config.cpp index a40d239ebf..efc0d30221 100644 --- a/engines/testbed/config.cpp +++ b/engines/testbed/config.cpp @@ -17,6 +17,7 @@ * 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 "common/stream.h" diff --git a/engines/testbed/config.h b/engines/testbed/config.h index 7d479a74fd..db687de261 100644 --- a/engines/testbed/config.h +++ b/engines/testbed/config.h @@ -17,6 +17,7 @@ * 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. + * */ #ifndef TESTBED_CONFIG_H diff --git a/engines/testbed/detection.cpp b/engines/testbed/detection.cpp index fd426d3e98..348ade62b0 100644 --- a/engines/testbed/detection.cpp +++ b/engines/testbed/detection.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/testbed/events.cpp b/engines/testbed/events.cpp index 4b9ced2a53..3e1b6adf9e 100644 --- a/engines/testbed/events.cpp +++ b/engines/testbed/events.cpp @@ -17,6 +17,7 @@ * 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 "common/events.h" diff --git a/engines/testbed/events.h b/engines/testbed/events.h index 00a659bd33..f8883ec1d8 100644 --- a/engines/testbed/events.h +++ b/engines/testbed/events.h @@ -17,6 +17,7 @@ * 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. + * */ #ifndef TESTBED_EVENTS_H diff --git a/engines/testbed/fs.cpp b/engines/testbed/fs.cpp index 62ac616192..07b1c0f2af 100644 --- a/engines/testbed/fs.cpp +++ b/engines/testbed/fs.cpp @@ -17,6 +17,7 @@ * 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 "common/config-manager.h" diff --git a/engines/testbed/fs.h b/engines/testbed/fs.h index 1cb7b3a871..966f138d71 100644 --- a/engines/testbed/fs.h +++ b/engines/testbed/fs.h @@ -17,6 +17,7 @@ * 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. + * */ #ifndef TESTBED_FS_H diff --git a/engines/testbed/graphics.cpp b/engines/testbed/graphics.cpp index 26e073d407..43580104e7 100644 --- a/engines/testbed/graphics.cpp +++ b/engines/testbed/graphics.cpp @@ -17,6 +17,7 @@ * 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 "common/events.h" diff --git a/engines/testbed/graphics.h b/engines/testbed/graphics.h index f3013fdf53..139eeb97dd 100644 --- a/engines/testbed/graphics.h +++ b/engines/testbed/graphics.h @@ -17,6 +17,7 @@ * 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. + * */ #ifndef TESTBED_GRAPHICS_H diff --git a/engines/testbed/midi.cpp b/engines/testbed/midi.cpp index 33fab03a5e..daa5f1cf3c 100644 --- a/engines/testbed/midi.cpp +++ b/engines/testbed/midi.cpp @@ -17,6 +17,7 @@ * 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 "common/archive.h" diff --git a/engines/testbed/midi.h b/engines/testbed/midi.h index 02550a6eb2..b9f3e82abd 100644 --- a/engines/testbed/midi.h +++ b/engines/testbed/midi.h @@ -17,6 +17,7 @@ * 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. + * */ #ifndef TESTBED_MIDI_H diff --git a/engines/testbed/misc.cpp b/engines/testbed/misc.cpp index aee3ccd294..5847a8d2e4 100644 --- a/engines/testbed/misc.cpp +++ b/engines/testbed/misc.cpp @@ -17,6 +17,7 @@ * 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 "testbed/misc.h" diff --git a/engines/testbed/misc.h b/engines/testbed/misc.h index 3f0772c6e5..23e303d676 100644 --- a/engines/testbed/misc.h +++ b/engines/testbed/misc.h @@ -17,6 +17,7 @@ * 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. + * */ #ifndef TESTBED_MISC_H diff --git a/engines/testbed/savegame.cpp b/engines/testbed/savegame.cpp index 226e9880a6..e426b9717d 100644 --- a/engines/testbed/savegame.cpp +++ b/engines/testbed/savegame.cpp @@ -17,6 +17,7 @@ * 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 "common/savefile.h" diff --git a/engines/testbed/savegame.h b/engines/testbed/savegame.h index 2c9ec83470..b242ee5f3b 100644 --- a/engines/testbed/savegame.h +++ b/engines/testbed/savegame.h @@ -17,6 +17,7 @@ * 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. + * */ #ifndef TESTBED_SAVEGAME_H diff --git a/engines/testbed/sound.cpp b/engines/testbed/sound.cpp index 5af1d8ca31..aebd981826 100644 --- a/engines/testbed/sound.cpp +++ b/engines/testbed/sound.cpp @@ -17,6 +17,7 @@ * 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 "audio/softsynth/pcspk.h" diff --git a/engines/testbed/sound.h b/engines/testbed/sound.h index fea7d9d45b..893a89b175 100644 --- a/engines/testbed/sound.h +++ b/engines/testbed/sound.h @@ -17,6 +17,7 @@ * 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. + * */ #ifndef TESTBED_SOUND_H diff --git a/engines/testbed/template.h b/engines/testbed/template.h index 847777f34b..9e6c347e4d 100644 --- a/engines/testbed/template.h +++ b/engines/testbed/template.h @@ -17,6 +17,7 @@ * 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. + * */ #ifndef TESTBED_TEMPLATE_H diff --git a/engines/testbed/testbed.cpp b/engines/testbed/testbed.cpp index 152764eb27..635fd09bac 100644 --- a/engines/testbed/testbed.cpp +++ b/engines/testbed/testbed.cpp @@ -17,6 +17,7 @@ * 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 "common/debug-channels.h" diff --git a/engines/testbed/testbed.h b/engines/testbed/testbed.h index 6933efa0f0..0f70e1191f 100644 --- a/engines/testbed/testbed.h +++ b/engines/testbed/testbed.h @@ -17,6 +17,7 @@ * 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. + * */ #ifndef TESTBED_H diff --git a/engines/testbed/testsuite.cpp b/engines/testbed/testsuite.cpp index 39eeca31bd..7729c4911b 100644 --- a/engines/testbed/testsuite.cpp +++ b/engines/testbed/testsuite.cpp @@ -17,6 +17,7 @@ * 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 "common/config-manager.h" diff --git a/engines/testbed/testsuite.h b/engines/testbed/testsuite.h index dc159ce25f..4f2a23c8bd 100644 --- a/engines/testbed/testsuite.h +++ b/engines/testbed/testsuite.h @@ -17,6 +17,7 @@ * 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. + * */ #ifndef TESTBED_TESTSUITE_H -- cgit v1.2.3 From 9b138f4eb496f68da494daf8381f54158f260d74 Mon Sep 17 00:00:00 2001 From: Johannes Schickel Date: Tue, 18 Feb 2014 02:34:25 +0100 Subject: TINSEL: Make GPL headers consistent in themselves. --- engines/tinsel/actors.cpp | 4 ++-- engines/tinsel/actors.h | 4 ++-- engines/tinsel/adpcm.cpp | 4 ++-- engines/tinsel/adpcm.h | 4 ++-- engines/tinsel/anim.cpp | 4 ++-- engines/tinsel/anim.h | 4 ++-- engines/tinsel/background.cpp | 4 ++-- engines/tinsel/background.h | 4 ++-- engines/tinsel/bg.cpp | 4 ++-- engines/tinsel/bmv.cpp | 4 ++-- engines/tinsel/bmv.h | 2 +- engines/tinsel/cliprect.cpp | 4 ++-- engines/tinsel/cliprect.h | 4 ++-- engines/tinsel/config.cpp | 4 ++-- engines/tinsel/config.h | 4 ++-- engines/tinsel/cursor.cpp | 4 ++-- engines/tinsel/cursor.h | 4 ++-- engines/tinsel/debugger.cpp | 4 ++-- engines/tinsel/debugger.h | 4 ++-- engines/tinsel/detection.cpp | 4 ++-- engines/tinsel/detection_tables.h | 4 ++-- engines/tinsel/dialogs.cpp | 4 ++-- engines/tinsel/dialogs.h | 4 ++-- engines/tinsel/drives.cpp | 4 ++-- engines/tinsel/drives.h | 4 ++-- engines/tinsel/dw.h | 4 ++-- engines/tinsel/effect.cpp | 4 ++-- engines/tinsel/events.cpp | 4 ++-- engines/tinsel/events.h | 4 ++-- engines/tinsel/faders.cpp | 4 ++-- engines/tinsel/faders.h | 4 ++-- engines/tinsel/film.h | 4 ++-- engines/tinsel/font.cpp | 4 ++-- engines/tinsel/font.h | 4 ++-- engines/tinsel/graphics.cpp | 4 ++-- engines/tinsel/graphics.h | 2 +- engines/tinsel/handle.cpp | 4 ++-- engines/tinsel/handle.h | 4 ++-- engines/tinsel/heapmem.cpp | 4 ++-- engines/tinsel/heapmem.h | 4 ++-- engines/tinsel/mareels.cpp | 4 ++-- engines/tinsel/mareels.h | 4 ++-- engines/tinsel/move.cpp | 4 ++-- engines/tinsel/move.h | 4 ++-- engines/tinsel/multiobj.cpp | 4 ++-- engines/tinsel/multiobj.h | 4 ++-- engines/tinsel/music.cpp | 4 ++-- engines/tinsel/music.h | 4 ++-- engines/tinsel/object.cpp | 4 ++-- engines/tinsel/object.h | 2 +- engines/tinsel/palette.cpp | 4 ++-- engines/tinsel/palette.h | 2 +- engines/tinsel/pcode.cpp | 4 ++-- engines/tinsel/pcode.h | 2 +- engines/tinsel/pdisplay.cpp | 4 ++-- engines/tinsel/pdisplay.h | 2 +- engines/tinsel/pid.h | 2 +- engines/tinsel/play.cpp | 4 ++-- engines/tinsel/play.h | 2 +- engines/tinsel/polygons.cpp | 4 ++-- engines/tinsel/polygons.h | 2 +- engines/tinsel/rince.cpp | 4 ++-- engines/tinsel/rince.h | 2 +- engines/tinsel/saveload.cpp | 4 ++-- engines/tinsel/savescn.cpp | 4 ++-- engines/tinsel/savescn.h | 2 +- engines/tinsel/scene.cpp | 4 ++-- engines/tinsel/scene.h | 2 +- engines/tinsel/sched.cpp | 4 ++-- engines/tinsel/sched.h | 2 +- engines/tinsel/scn.cpp | 4 ++-- engines/tinsel/scn.h | 2 +- engines/tinsel/scroll.cpp | 4 ++-- engines/tinsel/scroll.h | 2 +- engines/tinsel/sound.cpp | 4 ++-- engines/tinsel/sound.h | 4 ++-- engines/tinsel/strres.cpp | 4 ++-- engines/tinsel/strres.h | 4 ++-- engines/tinsel/sysvar.cpp | 4 ++-- engines/tinsel/sysvar.h | 4 ++-- engines/tinsel/text.cpp | 4 ++-- engines/tinsel/text.h | 4 ++-- engines/tinsel/timers.cpp | 4 ++-- engines/tinsel/timers.h | 4 ++-- engines/tinsel/tinlib.cpp | 4 ++-- engines/tinsel/tinlib.h | 4 ++-- engines/tinsel/tinsel.cpp | 4 ++-- engines/tinsel/tinsel.h | 4 ++-- engines/tinsel/token.cpp | 4 ++-- engines/tinsel/token.h | 4 ++-- 90 files changed, 165 insertions(+), 165 deletions(-) diff --git a/engines/tinsel/actors.cpp b/engines/tinsel/actors.cpp index 531a8e3d12..1440fb3556 100644 --- a/engines/tinsel/actors.cpp +++ b/engines/tinsel/actors.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/tinsel/actors.h b/engines/tinsel/actors.h index 6ebe32505a..4d82e14f6a 100644 --- a/engines/tinsel/actors.h +++ b/engines/tinsel/actors.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/tinsel/adpcm.cpp b/engines/tinsel/adpcm.cpp index ca3150ca3d..9de3dff341 100644 --- a/engines/tinsel/adpcm.cpp +++ b/engines/tinsel/adpcm.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/tinsel/adpcm.h b/engines/tinsel/adpcm.h index 3e899d94c3..b63e8dcfa7 100644 --- a/engines/tinsel/adpcm.h +++ b/engines/tinsel/adpcm.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/tinsel/anim.cpp b/engines/tinsel/anim.cpp index a1ec02186c..19e180b57e 100644 --- a/engines/tinsel/anim.cpp +++ b/engines/tinsel/anim.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/tinsel/anim.h b/engines/tinsel/anim.h index 0c60cf84d4..0c0d5e18ae 100644 --- a/engines/tinsel/anim.h +++ b/engines/tinsel/anim.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/tinsel/background.cpp b/engines/tinsel/background.cpp index 8e3fc50f12..7913548ed1 100644 --- a/engines/tinsel/background.cpp +++ b/engines/tinsel/background.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/tinsel/background.h b/engines/tinsel/background.h index cfa3998eda..418413e200 100644 --- a/engines/tinsel/background.h +++ b/engines/tinsel/background.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/tinsel/bg.cpp b/engines/tinsel/bg.cpp index 9f1f2c43f4..a702568164 100644 --- a/engines/tinsel/bg.cpp +++ b/engines/tinsel/bg.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/tinsel/bmv.cpp b/engines/tinsel/bmv.cpp index fa66b7ad8e..f28cd684f9 100644 --- a/engines/tinsel/bmv.cpp +++ b/engines/tinsel/bmv.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/tinsel/bmv.h b/engines/tinsel/bmv.h index fa254ed26d..e52297f9de 100644 --- a/engines/tinsel/bmv.h +++ b/engines/tinsel/bmv.h @@ -8,7 +8,7 @@ * 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 diff --git a/engines/tinsel/cliprect.cpp b/engines/tinsel/cliprect.cpp index 76feede83f..6212a1491e 100644 --- a/engines/tinsel/cliprect.cpp +++ b/engines/tinsel/cliprect.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/tinsel/cliprect.h b/engines/tinsel/cliprect.h index 101289b837..f55542a170 100644 --- a/engines/tinsel/cliprect.h +++ b/engines/tinsel/cliprect.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/tinsel/config.cpp b/engines/tinsel/config.cpp index 050573028a..bd5929f6ef 100644 --- a/engines/tinsel/config.cpp +++ b/engines/tinsel/config.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/tinsel/config.h b/engines/tinsel/config.h index 8b6b675766..4f3168622a 100644 --- a/engines/tinsel/config.h +++ b/engines/tinsel/config.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/tinsel/cursor.cpp b/engines/tinsel/cursor.cpp index a83e7cd9ca..e69031d572 100644 --- a/engines/tinsel/cursor.cpp +++ b/engines/tinsel/cursor.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/tinsel/cursor.h b/engines/tinsel/cursor.h index 4e32aa3a19..997d7ae479 100644 --- a/engines/tinsel/cursor.h +++ b/engines/tinsel/cursor.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/tinsel/debugger.cpp b/engines/tinsel/debugger.cpp index 1261326032..45e3a05903 100644 --- a/engines/tinsel/debugger.cpp +++ b/engines/tinsel/debugger.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/tinsel/debugger.h b/engines/tinsel/debugger.h index ff4ccd519f..7e01c51641 100644 --- a/engines/tinsel/debugger.h +++ b/engines/tinsel/debugger.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/tinsel/detection.cpp b/engines/tinsel/detection.cpp index a7ba8b28cb..c7a62dacad 100644 --- a/engines/tinsel/detection.cpp +++ b/engines/tinsel/detection.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/tinsel/detection_tables.h b/engines/tinsel/detection_tables.h index 6e83fce3b1..a2ea67b3e6 100644 --- a/engines/tinsel/detection_tables.h +++ b/engines/tinsel/detection_tables.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/tinsel/dialogs.cpp b/engines/tinsel/dialogs.cpp index e6229ff3a0..a84dad942c 100644 --- a/engines/tinsel/dialogs.cpp +++ b/engines/tinsel/dialogs.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/tinsel/dialogs.h b/engines/tinsel/dialogs.h index ab53ba771c..47f831869f 100644 --- a/engines/tinsel/dialogs.h +++ b/engines/tinsel/dialogs.h @@ -9,12 +9,12 @@ * 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. diff --git a/engines/tinsel/drives.cpp b/engines/tinsel/drives.cpp index 3ecef83753..1ed659040d 100644 --- a/engines/tinsel/drives.cpp +++ b/engines/tinsel/drives.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/tinsel/drives.h b/engines/tinsel/drives.h index 9e97b92fa5..5b80505345 100644 --- a/engines/tinsel/drives.h +++ b/engines/tinsel/drives.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/tinsel/dw.h b/engines/tinsel/dw.h index 34f05ab8c2..b0619ad5ad 100644 --- a/engines/tinsel/dw.h +++ b/engines/tinsel/dw.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/tinsel/effect.cpp b/engines/tinsel/effect.cpp index f5adb63c2b..11e849e101 100644 --- a/engines/tinsel/effect.cpp +++ b/engines/tinsel/effect.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/tinsel/events.cpp b/engines/tinsel/events.cpp index 61d3903f1a..07d3c512b4 100644 --- a/engines/tinsel/events.cpp +++ b/engines/tinsel/events.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/tinsel/events.h b/engines/tinsel/events.h index 51669e4680..cfc52c11c0 100644 --- a/engines/tinsel/events.h +++ b/engines/tinsel/events.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/tinsel/faders.cpp b/engines/tinsel/faders.cpp index b51b1d6d4f..0a28ea1460 100644 --- a/engines/tinsel/faders.cpp +++ b/engines/tinsel/faders.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/tinsel/faders.h b/engines/tinsel/faders.h index f7db902fe5..cb1bb3aa14 100644 --- a/engines/tinsel/faders.h +++ b/engines/tinsel/faders.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/tinsel/film.h b/engines/tinsel/film.h index edb8dc268d..f5f48f3067 100644 --- a/engines/tinsel/film.h +++ b/engines/tinsel/film.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/tinsel/font.cpp b/engines/tinsel/font.cpp index 3dba56468b..076bfa8e23 100644 --- a/engines/tinsel/font.cpp +++ b/engines/tinsel/font.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/tinsel/font.h b/engines/tinsel/font.h index 83bc12354e..d9e25bea2e 100644 --- a/engines/tinsel/font.h +++ b/engines/tinsel/font.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/tinsel/graphics.cpp b/engines/tinsel/graphics.cpp index c4f341f6fe..0282aff3cb 100644 --- a/engines/tinsel/graphics.cpp +++ b/engines/tinsel/graphics.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/tinsel/graphics.h b/engines/tinsel/graphics.h index d34f069f6a..b2144247c2 100644 --- a/engines/tinsel/graphics.h +++ b/engines/tinsel/graphics.h @@ -8,7 +8,7 @@ * 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 diff --git a/engines/tinsel/handle.cpp b/engines/tinsel/handle.cpp index 104adf72a2..62d244e449 100644 --- a/engines/tinsel/handle.cpp +++ b/engines/tinsel/handle.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/tinsel/handle.h b/engines/tinsel/handle.h index e681bfc131..ccc8f0f9db 100644 --- a/engines/tinsel/handle.h +++ b/engines/tinsel/handle.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/tinsel/heapmem.cpp b/engines/tinsel/heapmem.cpp index 597cc69e66..82fc3fd11a 100644 --- a/engines/tinsel/heapmem.cpp +++ b/engines/tinsel/heapmem.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/tinsel/heapmem.h b/engines/tinsel/heapmem.h index 7b29a3ecce..2be405d9d7 100644 --- a/engines/tinsel/heapmem.h +++ b/engines/tinsel/heapmem.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/tinsel/mareels.cpp b/engines/tinsel/mareels.cpp index 7dd905d0f2..d906709f32 100644 --- a/engines/tinsel/mareels.cpp +++ b/engines/tinsel/mareels.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/tinsel/mareels.h b/engines/tinsel/mareels.h index 2ff5ca906e..3ef1cd43ea 100644 --- a/engines/tinsel/mareels.h +++ b/engines/tinsel/mareels.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/tinsel/move.cpp b/engines/tinsel/move.cpp index 275b6006f5..32a953b1a2 100644 --- a/engines/tinsel/move.cpp +++ b/engines/tinsel/move.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/tinsel/move.h b/engines/tinsel/move.h index a307e5c081..7fb284baed 100644 --- a/engines/tinsel/move.h +++ b/engines/tinsel/move.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/tinsel/multiobj.cpp b/engines/tinsel/multiobj.cpp index 37769a7819..75894aea89 100644 --- a/engines/tinsel/multiobj.cpp +++ b/engines/tinsel/multiobj.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/tinsel/multiobj.h b/engines/tinsel/multiobj.h index a0f977553a..9968bf3c37 100644 --- a/engines/tinsel/multiobj.h +++ b/engines/tinsel/multiobj.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/tinsel/music.cpp b/engines/tinsel/music.cpp index bf7257f876..8a7305f63b 100644 --- a/engines/tinsel/music.cpp +++ b/engines/tinsel/music.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/tinsel/music.h b/engines/tinsel/music.h index 121bf3d79b..0a78c39a76 100644 --- a/engines/tinsel/music.h +++ b/engines/tinsel/music.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/tinsel/object.cpp b/engines/tinsel/object.cpp index b70b581bbe..caf41ab81c 100644 --- a/engines/tinsel/object.cpp +++ b/engines/tinsel/object.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/tinsel/object.h b/engines/tinsel/object.h index 5644ddf19c..0b6efc3356 100644 --- a/engines/tinsel/object.h +++ b/engines/tinsel/object.h @@ -8,7 +8,7 @@ * 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 diff --git a/engines/tinsel/palette.cpp b/engines/tinsel/palette.cpp index b72d52cc8d..918894cf6f 100644 --- a/engines/tinsel/palette.cpp +++ b/engines/tinsel/palette.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/tinsel/palette.h b/engines/tinsel/palette.h index c57b8df2ba..a91a432149 100644 --- a/engines/tinsel/palette.h +++ b/engines/tinsel/palette.h @@ -8,7 +8,7 @@ * 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 diff --git a/engines/tinsel/pcode.cpp b/engines/tinsel/pcode.cpp index 7e439e83a9..dc19f39405 100644 --- a/engines/tinsel/pcode.cpp +++ b/engines/tinsel/pcode.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/tinsel/pcode.h b/engines/tinsel/pcode.h index 4980fc6ed9..46ba2b10f3 100644 --- a/engines/tinsel/pcode.h +++ b/engines/tinsel/pcode.h @@ -8,7 +8,7 @@ * 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 diff --git a/engines/tinsel/pdisplay.cpp b/engines/tinsel/pdisplay.cpp index b821c5dee2..545403573d 100644 --- a/engines/tinsel/pdisplay.cpp +++ b/engines/tinsel/pdisplay.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/tinsel/pdisplay.h b/engines/tinsel/pdisplay.h index aefaf015bd..f02ef928f3 100644 --- a/engines/tinsel/pdisplay.h +++ b/engines/tinsel/pdisplay.h @@ -8,7 +8,7 @@ * 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 diff --git a/engines/tinsel/pid.h b/engines/tinsel/pid.h index 4f63045cb4..6c9d7ee7e4 100644 --- a/engines/tinsel/pid.h +++ b/engines/tinsel/pid.h @@ -8,7 +8,7 @@ * 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 diff --git a/engines/tinsel/play.cpp b/engines/tinsel/play.cpp index e202278953..ef3127233d 100644 --- a/engines/tinsel/play.cpp +++ b/engines/tinsel/play.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/tinsel/play.h b/engines/tinsel/play.h index fffa8a9329..01bb10bf21 100644 --- a/engines/tinsel/play.h +++ b/engines/tinsel/play.h @@ -8,7 +8,7 @@ * 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 diff --git a/engines/tinsel/polygons.cpp b/engines/tinsel/polygons.cpp index 8a984c78f9..767c0b442f 100644 --- a/engines/tinsel/polygons.cpp +++ b/engines/tinsel/polygons.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/tinsel/polygons.h b/engines/tinsel/polygons.h index 6d36d555d8..763f009805 100644 --- a/engines/tinsel/polygons.h +++ b/engines/tinsel/polygons.h @@ -8,7 +8,7 @@ * 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 diff --git a/engines/tinsel/rince.cpp b/engines/tinsel/rince.cpp index 49666c13ca..8ed65af3e4 100644 --- a/engines/tinsel/rince.cpp +++ b/engines/tinsel/rince.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/tinsel/rince.h b/engines/tinsel/rince.h index 623f3ee137..db59012a57 100644 --- a/engines/tinsel/rince.h +++ b/engines/tinsel/rince.h @@ -8,7 +8,7 @@ * 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 diff --git a/engines/tinsel/saveload.cpp b/engines/tinsel/saveload.cpp index acff196916..88cd80b78a 100644 --- a/engines/tinsel/saveload.cpp +++ b/engines/tinsel/saveload.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/tinsel/savescn.cpp b/engines/tinsel/savescn.cpp index d2537169f7..32ec774575 100644 --- a/engines/tinsel/savescn.cpp +++ b/engines/tinsel/savescn.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/tinsel/savescn.h b/engines/tinsel/savescn.h index 894af0d6b8..b4f74b173a 100644 --- a/engines/tinsel/savescn.h +++ b/engines/tinsel/savescn.h @@ -8,7 +8,7 @@ * 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 diff --git a/engines/tinsel/scene.cpp b/engines/tinsel/scene.cpp index 6b6f4a5cd3..49a854045d 100644 --- a/engines/tinsel/scene.cpp +++ b/engines/tinsel/scene.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/tinsel/scene.h b/engines/tinsel/scene.h index 06e5c096d9..27aecaa132 100644 --- a/engines/tinsel/scene.h +++ b/engines/tinsel/scene.h @@ -8,7 +8,7 @@ * 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 diff --git a/engines/tinsel/sched.cpp b/engines/tinsel/sched.cpp index a73b4b9b97..894ffb7f5b 100644 --- a/engines/tinsel/sched.cpp +++ b/engines/tinsel/sched.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/tinsel/sched.h b/engines/tinsel/sched.h index 3e791cecd8..da06c545bf 100644 --- a/engines/tinsel/sched.h +++ b/engines/tinsel/sched.h @@ -8,7 +8,7 @@ * 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 diff --git a/engines/tinsel/scn.cpp b/engines/tinsel/scn.cpp index 70093447ff..db14af27e2 100644 --- a/engines/tinsel/scn.cpp +++ b/engines/tinsel/scn.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/tinsel/scn.h b/engines/tinsel/scn.h index 2e3a02cdda..12253d70b2 100644 --- a/engines/tinsel/scn.h +++ b/engines/tinsel/scn.h @@ -8,7 +8,7 @@ * 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 diff --git a/engines/tinsel/scroll.cpp b/engines/tinsel/scroll.cpp index 0a6a281d35..eafb238ec0 100644 --- a/engines/tinsel/scroll.cpp +++ b/engines/tinsel/scroll.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/tinsel/scroll.h b/engines/tinsel/scroll.h index bcdc15cda6..4d3f85dd0f 100644 --- a/engines/tinsel/scroll.h +++ b/engines/tinsel/scroll.h @@ -8,7 +8,7 @@ * 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 diff --git a/engines/tinsel/sound.cpp b/engines/tinsel/sound.cpp index 416ee74127..3d87a17331 100644 --- a/engines/tinsel/sound.cpp +++ b/engines/tinsel/sound.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/tinsel/sound.h b/engines/tinsel/sound.h index c68d9cb71e..6255d7ffe8 100644 --- a/engines/tinsel/sound.h +++ b/engines/tinsel/sound.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/tinsel/strres.cpp b/engines/tinsel/strres.cpp index 19a1ee94d6..6ad01a0d35 100644 --- a/engines/tinsel/strres.cpp +++ b/engines/tinsel/strres.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/tinsel/strres.h b/engines/tinsel/strres.h index 772896c81f..56d5273153 100644 --- a/engines/tinsel/strres.h +++ b/engines/tinsel/strres.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/tinsel/sysvar.cpp b/engines/tinsel/sysvar.cpp index 6ef4f165ab..6244c5c4d5 100644 --- a/engines/tinsel/sysvar.cpp +++ b/engines/tinsel/sysvar.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/tinsel/sysvar.h b/engines/tinsel/sysvar.h index 65bf558433..49391cc5cf 100644 --- a/engines/tinsel/sysvar.h +++ b/engines/tinsel/sysvar.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/tinsel/text.cpp b/engines/tinsel/text.cpp index 150eb2bdde..1c114fffa1 100644 --- a/engines/tinsel/text.cpp +++ b/engines/tinsel/text.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/tinsel/text.h b/engines/tinsel/text.h index 97e82c7a93..5d39540d8f 100644 --- a/engines/tinsel/text.h +++ b/engines/tinsel/text.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/tinsel/timers.cpp b/engines/tinsel/timers.cpp index 36986ccb47..d4b20f4bfb 100644 --- a/engines/tinsel/timers.cpp +++ b/engines/tinsel/timers.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/tinsel/timers.h b/engines/tinsel/timers.h index 9bf85d9c35..67019bfea3 100644 --- a/engines/tinsel/timers.h +++ b/engines/tinsel/timers.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/tinsel/tinlib.cpp b/engines/tinsel/tinlib.cpp index 34aa64a609..0bc83868de 100644 --- a/engines/tinsel/tinlib.cpp +++ b/engines/tinsel/tinlib.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/tinsel/tinlib.h b/engines/tinsel/tinlib.h index 7c8c2ffbf6..c1f2269a03 100644 --- a/engines/tinsel/tinlib.h +++ b/engines/tinsel/tinlib.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/tinsel/tinsel.cpp b/engines/tinsel/tinsel.cpp index 5ba3c5e80a..31610a8467 100644 --- a/engines/tinsel/tinsel.cpp +++ b/engines/tinsel/tinsel.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/tinsel/tinsel.h b/engines/tinsel/tinsel.h index efa9355dd5..c83bc80ead 100644 --- a/engines/tinsel/tinsel.h +++ b/engines/tinsel/tinsel.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/tinsel/token.cpp b/engines/tinsel/token.cpp index 080c005c3c..1e4efe7445 100644 --- a/engines/tinsel/token.cpp +++ b/engines/tinsel/token.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/tinsel/token.h b/engines/tinsel/token.h index 8169ef1c7a..7aa8f327b6 100644 --- a/engines/tinsel/token.h +++ b/engines/tinsel/token.h @@ -8,12 +8,12 @@ * 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. -- cgit v1.2.3 From ee22a2ed58cf5b68b8804fde95ce56a957c33df2 Mon Sep 17 00:00:00 2001 From: Johannes Schickel Date: Tue, 18 Feb 2014 02:34:25 +0100 Subject: TIZEN: Make GPL headers consistent in themselves. --- backends/platform/tizen/application.cpp | 2 +- backends/platform/tizen/application.h | 2 +- backends/platform/tizen/audio.cpp | 2 +- backends/platform/tizen/audio.h | 2 +- backends/platform/tizen/form.cpp | 2 +- backends/platform/tizen/form.h | 2 +- backends/platform/tizen/fs.cpp | 3 ++- backends/platform/tizen/fs.h | 3 ++- backends/platform/tizen/graphics.cpp | 2 +- backends/platform/tizen/graphics.h | 2 +- backends/platform/tizen/main.cpp | 2 +- backends/platform/tizen/missing.cpp | 2 +- backends/platform/tizen/portdefs.h | 2 +- backends/platform/tizen/sscanf.cpp | 2 +- backends/platform/tizen/system.cpp | 2 +- backends/platform/tizen/system.h | 2 +- backends/timer/tizen/timer.cpp | 2 +- backends/timer/tizen/timer.h | 2 +- 18 files changed, 20 insertions(+), 18 deletions(-) diff --git a/backends/platform/tizen/application.cpp b/backends/platform/tizen/application.cpp index a73efacf58..d7832ca1da 100644 --- a/backends/platform/tizen/application.cpp +++ b/backends/platform/tizen/application.cpp @@ -11,7 +11,7 @@ * * 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 + * 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 diff --git a/backends/platform/tizen/application.h b/backends/platform/tizen/application.h index f18ccb175b..c46684eafb 100644 --- a/backends/platform/tizen/application.h +++ b/backends/platform/tizen/application.h @@ -11,7 +11,7 @@ * * 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 + * 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 diff --git a/backends/platform/tizen/audio.cpp b/backends/platform/tizen/audio.cpp index f9ac80a583..b2e061baef 100644 --- a/backends/platform/tizen/audio.cpp +++ b/backends/platform/tizen/audio.cpp @@ -11,7 +11,7 @@ * * 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 + * 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 diff --git a/backends/platform/tizen/audio.h b/backends/platform/tizen/audio.h index a304231578..de4724eb3c 100644 --- a/backends/platform/tizen/audio.h +++ b/backends/platform/tizen/audio.h @@ -11,7 +11,7 @@ * * 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 + * 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 diff --git a/backends/platform/tizen/form.cpp b/backends/platform/tizen/form.cpp index 10d51cc610..3f7b918102 100644 --- a/backends/platform/tizen/form.cpp +++ b/backends/platform/tizen/form.cpp @@ -11,7 +11,7 @@ * * 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 + * 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 diff --git a/backends/platform/tizen/form.h b/backends/platform/tizen/form.h index e419c14d24..3e34b8989e 100644 --- a/backends/platform/tizen/form.h +++ b/backends/platform/tizen/form.h @@ -11,7 +11,7 @@ * * 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 + * 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 diff --git a/backends/platform/tizen/fs.cpp b/backends/platform/tizen/fs.cpp index 8145cd5638..c6cd8f0a71 100644 --- a/backends/platform/tizen/fs.cpp +++ b/backends/platform/tizen/fs.cpp @@ -11,12 +11,13 @@ * * 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 + * 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 "config.h" diff --git a/backends/platform/tizen/fs.h b/backends/platform/tizen/fs.h index 0356aaad33..8c1677fa7b 100644 --- a/backends/platform/tizen/fs.h +++ b/backends/platform/tizen/fs.h @@ -11,12 +11,13 @@ * * 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 + * 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. + * */ #ifndef TIZEN_FILESYSTEM_H diff --git a/backends/platform/tizen/graphics.cpp b/backends/platform/tizen/graphics.cpp index af69844475..9b23e3fe78 100644 --- a/backends/platform/tizen/graphics.cpp +++ b/backends/platform/tizen/graphics.cpp @@ -11,7 +11,7 @@ * * 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 + * 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 diff --git a/backends/platform/tizen/graphics.h b/backends/platform/tizen/graphics.h index 29ba86a3c4..f1d4498650 100644 --- a/backends/platform/tizen/graphics.h +++ b/backends/platform/tizen/graphics.h @@ -11,7 +11,7 @@ * * 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 + * 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 diff --git a/backends/platform/tizen/main.cpp b/backends/platform/tizen/main.cpp index b12cc3adc9..50baa5b977 100644 --- a/backends/platform/tizen/main.cpp +++ b/backends/platform/tizen/main.cpp @@ -11,7 +11,7 @@ * * 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 + * 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 diff --git a/backends/platform/tizen/missing.cpp b/backends/platform/tizen/missing.cpp index 5ac55d0f6c..f24ba5655c 100644 --- a/backends/platform/tizen/missing.cpp +++ b/backends/platform/tizen/missing.cpp @@ -11,7 +11,7 @@ * * 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 + * 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 diff --git a/backends/platform/tizen/portdefs.h b/backends/platform/tizen/portdefs.h index 050ce7d1e0..f5efe85f92 100644 --- a/backends/platform/tizen/portdefs.h +++ b/backends/platform/tizen/portdefs.h @@ -11,7 +11,7 @@ * * 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 + * 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 diff --git a/backends/platform/tizen/sscanf.cpp b/backends/platform/tizen/sscanf.cpp index 75f009cc61..b52389c91c 100644 --- a/backends/platform/tizen/sscanf.cpp +++ b/backends/platform/tizen/sscanf.cpp @@ -11,7 +11,7 @@ * * 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 + * 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 diff --git a/backends/platform/tizen/system.cpp b/backends/platform/tizen/system.cpp index f7ebc46719..585eb206ea 100644 --- a/backends/platform/tizen/system.cpp +++ b/backends/platform/tizen/system.cpp @@ -11,7 +11,7 @@ * * 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 + * 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 diff --git a/backends/platform/tizen/system.h b/backends/platform/tizen/system.h index b38940cc95..1974055088 100644 --- a/backends/platform/tizen/system.h +++ b/backends/platform/tizen/system.h @@ -11,7 +11,7 @@ * * 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 + * 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 diff --git a/backends/timer/tizen/timer.cpp b/backends/timer/tizen/timer.cpp index fa226ce747..dfa558615a 100644 --- a/backends/timer/tizen/timer.cpp +++ b/backends/timer/tizen/timer.cpp @@ -11,7 +11,7 @@ * * 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 + * 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 diff --git a/backends/timer/tizen/timer.h b/backends/timer/tizen/timer.h index 4b2596401a..ff5ea1a35f 100644 --- a/backends/timer/tizen/timer.h +++ b/backends/timer/tizen/timer.h @@ -11,7 +11,7 @@ * * 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 + * 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 -- cgit v1.2.3 From 8b9afc9d92c79e5c742f74c58def8d194b2088f7 Mon Sep 17 00:00:00 2001 From: Johannes Schickel Date: Tue, 18 Feb 2014 02:34:26 +0100 Subject: TOLTECS: Make GPL headers consistent in themselves. --- engines/toltecs/animation.cpp | 5 ++--- engines/toltecs/animation.h | 5 ++--- engines/toltecs/console.cpp | 4 ++-- engines/toltecs/console.h | 4 ++-- engines/toltecs/detection.cpp | 5 ++--- engines/toltecs/menu.cpp | 5 ++--- engines/toltecs/menu.h | 5 ++--- engines/toltecs/microtiles.cpp | 5 ++--- engines/toltecs/microtiles.h | 5 ++--- engines/toltecs/movie.cpp | 5 ++--- engines/toltecs/movie.h | 5 ++--- engines/toltecs/music.cpp | 4 ++-- engines/toltecs/music.h | 4 ++-- engines/toltecs/palette.cpp | 5 ++--- engines/toltecs/palette.h | 5 ++--- engines/toltecs/render.cpp | 5 ++--- engines/toltecs/render.h | 5 ++--- engines/toltecs/resource.cpp | 5 ++--- engines/toltecs/resource.h | 5 ++--- engines/toltecs/saveload.cpp | 5 ++--- engines/toltecs/screen.cpp | 5 ++--- engines/toltecs/screen.h | 5 ++--- engines/toltecs/script.cpp | 5 ++--- engines/toltecs/script.h | 5 ++--- engines/toltecs/segmap.cpp | 5 ++--- engines/toltecs/segmap.h | 5 ++--- engines/toltecs/sound.cpp | 5 ++--- engines/toltecs/sound.h | 5 ++--- engines/toltecs/sprite.cpp | 5 ++--- engines/toltecs/toltecs.cpp | 5 ++--- engines/toltecs/toltecs.h | 5 ++--- 31 files changed, 62 insertions(+), 89 deletions(-) diff --git a/engines/toltecs/animation.cpp b/engines/toltecs/animation.cpp index 084332cf83..1f776bbc02 100644 --- a/engines/toltecs/animation.cpp +++ b/engines/toltecs/animation.cpp @@ -8,17 +8,16 @@ * 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 "toltecs/toltecs.h" diff --git a/engines/toltecs/animation.h b/engines/toltecs/animation.h index 54ec5d8afa..728142cacb 100644 --- a/engines/toltecs/animation.h +++ b/engines/toltecs/animation.h @@ -8,17 +8,16 @@ * 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. * - * */ #ifndef TOLTECS_ANIMATION_H diff --git a/engines/toltecs/console.cpp b/engines/toltecs/console.cpp index f3394909ed..f84a8e3c44 100644 --- a/engines/toltecs/console.cpp +++ b/engines/toltecs/console.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/toltecs/console.h b/engines/toltecs/console.h index bcdfd0cf04..5e786d527e 100644 --- a/engines/toltecs/console.h +++ b/engines/toltecs/console.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/toltecs/detection.cpp b/engines/toltecs/detection.cpp index 380f4a3a26..b1ceab9b12 100644 --- a/engines/toltecs/detection.cpp +++ b/engines/toltecs/detection.cpp @@ -8,17 +8,16 @@ * 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 "base/plugins.h" diff --git a/engines/toltecs/menu.cpp b/engines/toltecs/menu.cpp index 0850630c43..2850a399f4 100644 --- a/engines/toltecs/menu.cpp +++ b/engines/toltecs/menu.cpp @@ -8,17 +8,16 @@ * 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 "audio/mixer.h" diff --git a/engines/toltecs/menu.h b/engines/toltecs/menu.h index a5eca7c8ff..476eefe142 100644 --- a/engines/toltecs/menu.h +++ b/engines/toltecs/menu.h @@ -8,17 +8,16 @@ * 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. * - * */ #ifndef TOLTECS_MENU_H diff --git a/engines/toltecs/microtiles.cpp b/engines/toltecs/microtiles.cpp index 9181480351..63490ec221 100644 --- a/engines/toltecs/microtiles.cpp +++ b/engines/toltecs/microtiles.cpp @@ -8,17 +8,16 @@ * 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 "toltecs/microtiles.h" diff --git a/engines/toltecs/microtiles.h b/engines/toltecs/microtiles.h index 53933621a9..3714887fd7 100644 --- a/engines/toltecs/microtiles.h +++ b/engines/toltecs/microtiles.h @@ -8,17 +8,16 @@ * 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. * - * */ #ifndef TOLTECS_MICROTILES_H diff --git a/engines/toltecs/movie.cpp b/engines/toltecs/movie.cpp index 341da7e5f3..0aa0a99a36 100644 --- a/engines/toltecs/movie.cpp +++ b/engines/toltecs/movie.cpp @@ -8,17 +8,16 @@ * 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 "audio/mixer.h" diff --git a/engines/toltecs/movie.h b/engines/toltecs/movie.h index aa28c83fef..9404e5f639 100644 --- a/engines/toltecs/movie.h +++ b/engines/toltecs/movie.h @@ -8,17 +8,16 @@ * 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. * - * */ #ifndef TOLTECS_MOVIE_H diff --git a/engines/toltecs/music.cpp b/engines/toltecs/music.cpp index 830e4a97da..e4e067de39 100644 --- a/engines/toltecs/music.cpp +++ b/engines/toltecs/music.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/toltecs/music.h b/engines/toltecs/music.h index 8d364dbb9f..e6dc3dd146 100644 --- a/engines/toltecs/music.h +++ b/engines/toltecs/music.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/toltecs/palette.cpp b/engines/toltecs/palette.cpp index b93bb8b510..5a2c705c5c 100644 --- a/engines/toltecs/palette.cpp +++ b/engines/toltecs/palette.cpp @@ -8,17 +8,16 @@ * 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 "graphics/palette.h" diff --git a/engines/toltecs/palette.h b/engines/toltecs/palette.h index 4777a82699..d16a32b10a 100644 --- a/engines/toltecs/palette.h +++ b/engines/toltecs/palette.h @@ -8,17 +8,16 @@ * 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. * - * */ #ifndef TOLTECS_PALETTE_H diff --git a/engines/toltecs/render.cpp b/engines/toltecs/render.cpp index ae458d40a3..3972462d25 100644 --- a/engines/toltecs/render.cpp +++ b/engines/toltecs/render.cpp @@ -8,17 +8,16 @@ * 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 "common/system.h" diff --git a/engines/toltecs/render.h b/engines/toltecs/render.h index 59d7a3ddb9..5150903146 100644 --- a/engines/toltecs/render.h +++ b/engines/toltecs/render.h @@ -8,17 +8,16 @@ * 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. * - * */ #ifndef TOLTECS_RENDER_H diff --git a/engines/toltecs/resource.cpp b/engines/toltecs/resource.cpp index d66075004b..468ae0272f 100644 --- a/engines/toltecs/resource.cpp +++ b/engines/toltecs/resource.cpp @@ -8,17 +8,16 @@ * 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 "common/file.h" diff --git a/engines/toltecs/resource.h b/engines/toltecs/resource.h index 3d45d9fb1b..d8e8ad9a5d 100644 --- a/engines/toltecs/resource.h +++ b/engines/toltecs/resource.h @@ -8,17 +8,16 @@ * 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. * - * */ #ifndef TOLTECS_RESOURCE_H diff --git a/engines/toltecs/saveload.cpp b/engines/toltecs/saveload.cpp index 4edcc601b8..409fc97076 100644 --- a/engines/toltecs/saveload.cpp +++ b/engines/toltecs/saveload.cpp @@ -8,17 +8,16 @@ * 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 "common/savefile.h" diff --git a/engines/toltecs/screen.cpp b/engines/toltecs/screen.cpp index dd418be71f..6bacc5dff7 100644 --- a/engines/toltecs/screen.cpp +++ b/engines/toltecs/screen.cpp @@ -8,17 +8,16 @@ * 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 "graphics/cursorman.h" diff --git a/engines/toltecs/screen.h b/engines/toltecs/screen.h index 7b2149fded..980865f65f 100644 --- a/engines/toltecs/screen.h +++ b/engines/toltecs/screen.h @@ -8,17 +8,16 @@ * 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. * - * */ #ifndef TOLTECS_SCREEN_H diff --git a/engines/toltecs/script.cpp b/engines/toltecs/script.cpp index 83c4ef15fe..01149a14b7 100644 --- a/engines/toltecs/script.cpp +++ b/engines/toltecs/script.cpp @@ -8,17 +8,16 @@ * 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. * - * */ // TODO: Clean up game variable handling and move it to ToltecsEngine diff --git a/engines/toltecs/script.h b/engines/toltecs/script.h index 4c880dfef5..e77dcf4352 100644 --- a/engines/toltecs/script.h +++ b/engines/toltecs/script.h @@ -8,17 +8,16 @@ * 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. * - * */ #ifndef TOLTECS_SCRIPT_H diff --git a/engines/toltecs/segmap.cpp b/engines/toltecs/segmap.cpp index fea40f3277..b27e0c8e11 100644 --- a/engines/toltecs/segmap.cpp +++ b/engines/toltecs/segmap.cpp @@ -8,17 +8,16 @@ * 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 "toltecs/toltecs.h" diff --git a/engines/toltecs/segmap.h b/engines/toltecs/segmap.h index dda0edeb88..c1ad293162 100644 --- a/engines/toltecs/segmap.h +++ b/engines/toltecs/segmap.h @@ -8,17 +8,16 @@ * 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. * - * */ #ifndef TOLTECS_SEGMAP_H diff --git a/engines/toltecs/sound.cpp b/engines/toltecs/sound.cpp index 8afc0e7890..fb14dd15ee 100644 --- a/engines/toltecs/sound.cpp +++ b/engines/toltecs/sound.cpp @@ -8,17 +8,16 @@ * 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 "audio/audiostream.h" diff --git a/engines/toltecs/sound.h b/engines/toltecs/sound.h index 48a6cd1318..13e943e9e3 100644 --- a/engines/toltecs/sound.h +++ b/engines/toltecs/sound.h @@ -8,17 +8,16 @@ * 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. * - * */ #ifndef TOLTECS_SOUND_H diff --git a/engines/toltecs/sprite.cpp b/engines/toltecs/sprite.cpp index 6101eb7d85..f29f64dcfe 100644 --- a/engines/toltecs/sprite.cpp +++ b/engines/toltecs/sprite.cpp @@ -8,17 +8,16 @@ * 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 "toltecs/toltecs.h" diff --git a/engines/toltecs/toltecs.cpp b/engines/toltecs/toltecs.cpp index 8bd824cfee..d3b69e7f21 100644 --- a/engines/toltecs/toltecs.cpp +++ b/engines/toltecs/toltecs.cpp @@ -8,17 +8,16 @@ * 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 "common/config-manager.h" diff --git a/engines/toltecs/toltecs.h b/engines/toltecs/toltecs.h index b405d099c4..7a04f6e8da 100644 --- a/engines/toltecs/toltecs.h +++ b/engines/toltecs/toltecs.h @@ -8,17 +8,16 @@ * 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. * - * */ #ifndef TOLTECS_H -- cgit v1.2.3 From b9bfa3a85704c705e7b628a28d9e34a32e210ceb Mon Sep 17 00:00:00 2001 From: Johannes Schickel Date: Tue, 18 Feb 2014 02:34:26 +0100 Subject: TONY: Make GPL headers consistent in themselves. --- engines/tony/custom.cpp | 5 ++--- engines/tony/custom.h | 4 ++-- engines/tony/debugger.cpp | 6 +++--- engines/tony/debugger.h | 6 +++--- engines/tony/detection.cpp | 5 ++--- engines/tony/detection_tables.h | 4 ++-- engines/tony/font.cpp | 4 ++-- engines/tony/font.h | 4 ++-- engines/tony/game.cpp | 4 ++-- engines/tony/game.h | 4 ++-- engines/tony/gfxcore.cpp | 4 ++-- engines/tony/gfxcore.h | 4 ++-- engines/tony/gfxengine.cpp | 4 ++-- engines/tony/gfxengine.h | 4 ++-- engines/tony/globals.cpp | 4 ++-- engines/tony/globals.h | 4 ++-- engines/tony/input.cpp | 4 ++-- engines/tony/input.h | 4 ++-- engines/tony/inventory.cpp | 4 ++-- engines/tony/inventory.h | 4 ++-- engines/tony/loc.cpp | 4 ++-- engines/tony/loc.h | 4 ++-- engines/tony/mpal/expr.cpp | 5 ++--- engines/tony/mpal/expr.h | 5 ++--- engines/tony/mpal/loadmpc.cpp | 5 ++--- engines/tony/mpal/loadmpc.h | 5 ++--- engines/tony/mpal/lzo.cpp | 5 ++--- engines/tony/mpal/lzo.h | 5 ++--- engines/tony/mpal/memory.cpp | 5 ++--- engines/tony/mpal/memory.h | 5 ++--- engines/tony/mpal/mpal.cpp | 5 ++--- engines/tony/mpal/mpal.h | 5 ++--- engines/tony/mpal/mpaldll.h | 5 ++--- engines/tony/mpal/mpalutils.cpp | 5 ++--- engines/tony/mpal/mpalutils.h | 5 ++--- engines/tony/resid.h | 4 ++-- engines/tony/sound.cpp | 4 ++-- engines/tony/sound.h | 4 ++-- engines/tony/tony.cpp | 4 ++-- engines/tony/tony.h | 4 ++-- engines/tony/tonychar.cpp | 4 ++-- engines/tony/tonychar.h | 4 ++-- engines/tony/utils.cpp | 4 ++-- engines/tony/utils.h | 4 ++-- engines/tony/window.cpp | 4 ++-- engines/tony/window.h | 4 ++-- 46 files changed, 94 insertions(+), 109 deletions(-) diff --git a/engines/tony/custom.cpp b/engines/tony/custom.cpp index f5c580c8c5..989702cd3c 100644 --- a/engines/tony/custom.cpp +++ b/engines/tony/custom.cpp @@ -8,17 +8,16 @@ * 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. * - * */ /* diff --git a/engines/tony/custom.h b/engines/tony/custom.h index 0f1061e8cd..9ba10be28a 100644 --- a/engines/tony/custom.h +++ b/engines/tony/custom.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/tony/debugger.cpp b/engines/tony/debugger.cpp index 84f05b0d25..22c218a19c 100644 --- a/engines/tony/debugger.cpp +++ b/engines/tony/debugger.cpp @@ -8,12 +8,12 @@ * 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 + * 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. diff --git a/engines/tony/debugger.h b/engines/tony/debugger.h index 85ba9d75b6..1db1b460fc 100644 --- a/engines/tony/debugger.h +++ b/engines/tony/debugger.h @@ -8,12 +8,12 @@ * 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 + * 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. diff --git a/engines/tony/detection.cpp b/engines/tony/detection.cpp index 0ae397a63f..9bb768d1ed 100644 --- a/engines/tony/detection.cpp +++ b/engines/tony/detection.cpp @@ -8,17 +8,16 @@ * 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 "base/plugins.h" diff --git a/engines/tony/detection_tables.h b/engines/tony/detection_tables.h index ca16495903..ce4651f0ab 100644 --- a/engines/tony/detection_tables.h +++ b/engines/tony/detection_tables.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/tony/font.cpp b/engines/tony/font.cpp index 1729052d42..850aff17be 100644 --- a/engines/tony/font.cpp +++ b/engines/tony/font.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/tony/font.h b/engines/tony/font.h index 9ef50b99ec..6e76c42750 100644 --- a/engines/tony/font.h +++ b/engines/tony/font.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/tony/game.cpp b/engines/tony/game.cpp index ca7c07ad8c..986eac99aa 100644 --- a/engines/tony/game.cpp +++ b/engines/tony/game.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/tony/game.h b/engines/tony/game.h index fdf62a2a5d..d03a975b6f 100644 --- a/engines/tony/game.h +++ b/engines/tony/game.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/tony/gfxcore.cpp b/engines/tony/gfxcore.cpp index 3433ad3024..3afad9b373 100644 --- a/engines/tony/gfxcore.cpp +++ b/engines/tony/gfxcore.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/tony/gfxcore.h b/engines/tony/gfxcore.h index 9e8f5225c0..ff6c6b3dca 100644 --- a/engines/tony/gfxcore.h +++ b/engines/tony/gfxcore.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/tony/gfxengine.cpp b/engines/tony/gfxengine.cpp index 7bb25f59b9..92469b7276 100644 --- a/engines/tony/gfxengine.cpp +++ b/engines/tony/gfxengine.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/tony/gfxengine.h b/engines/tony/gfxengine.h index ab32a01972..927593a5d3 100644 --- a/engines/tony/gfxengine.h +++ b/engines/tony/gfxengine.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/tony/globals.cpp b/engines/tony/globals.cpp index 8e4ae240a0..ca2b6e72dc 100644 --- a/engines/tony/globals.cpp +++ b/engines/tony/globals.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/tony/globals.h b/engines/tony/globals.h index 0ff243b374..1cff57fd16 100644 --- a/engines/tony/globals.h +++ b/engines/tony/globals.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/tony/input.cpp b/engines/tony/input.cpp index e84da04d97..787fb21f21 100644 --- a/engines/tony/input.cpp +++ b/engines/tony/input.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/tony/input.h b/engines/tony/input.h index 274aa8c491..31acb68eb6 100644 --- a/engines/tony/input.h +++ b/engines/tony/input.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/tony/inventory.cpp b/engines/tony/inventory.cpp index 6b023d5990..1ffc0a4cf4 100644 --- a/engines/tony/inventory.cpp +++ b/engines/tony/inventory.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/tony/inventory.h b/engines/tony/inventory.h index 1d660d51cd..9b460f390d 100644 --- a/engines/tony/inventory.h +++ b/engines/tony/inventory.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/tony/loc.cpp b/engines/tony/loc.cpp index 5beac842f9..dac6390372 100644 --- a/engines/tony/loc.cpp +++ b/engines/tony/loc.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/tony/loc.h b/engines/tony/loc.h index 1306316136..c570913d3c 100644 --- a/engines/tony/loc.h +++ b/engines/tony/loc.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/tony/mpal/expr.cpp b/engines/tony/mpal/expr.cpp index 7dc640ba7c..1fdf637062 100644 --- a/engines/tony/mpal/expr.cpp +++ b/engines/tony/mpal/expr.cpp @@ -8,17 +8,16 @@ * 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. * - * */ /* * This code is based on original Tony Tough source code diff --git a/engines/tony/mpal/expr.h b/engines/tony/mpal/expr.h index 256d09bb9b..6ac1963356 100644 --- a/engines/tony/mpal/expr.h +++ b/engines/tony/mpal/expr.h @@ -8,17 +8,16 @@ * 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. * - * */ /* * This code is based on original Tony Tough source code diff --git a/engines/tony/mpal/loadmpc.cpp b/engines/tony/mpal/loadmpc.cpp index 4eb84d1406..8f63b07ca0 100644 --- a/engines/tony/mpal/loadmpc.cpp +++ b/engines/tony/mpal/loadmpc.cpp @@ -8,17 +8,16 @@ * 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. * - * */ /* * This code is based on original Tony Tough source code diff --git a/engines/tony/mpal/loadmpc.h b/engines/tony/mpal/loadmpc.h index 20956288aa..479cf5f99b 100644 --- a/engines/tony/mpal/loadmpc.h +++ b/engines/tony/mpal/loadmpc.h @@ -8,17 +8,16 @@ * 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. * - * */ /* * This code is based on original Tony Tough source code diff --git a/engines/tony/mpal/lzo.cpp b/engines/tony/mpal/lzo.cpp index a04a769528..d95efd0393 100644 --- a/engines/tony/mpal/lzo.cpp +++ b/engines/tony/mpal/lzo.cpp @@ -8,17 +8,16 @@ * 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. * - * */ /* minilzo.c -- mini subset of the LZO real-time data compression library diff --git a/engines/tony/mpal/lzo.h b/engines/tony/mpal/lzo.h index ebb1c4b516..4384e3fb33 100644 --- a/engines/tony/mpal/lzo.h +++ b/engines/tony/mpal/lzo.h @@ -8,17 +8,16 @@ * 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. * - * */ /* minilzo.c -- mini subset of the LZO real-time data compression library diff --git a/engines/tony/mpal/memory.cpp b/engines/tony/mpal/memory.cpp index 9737fe0abf..4076f710de 100644 --- a/engines/tony/mpal/memory.cpp +++ b/engines/tony/mpal/memory.cpp @@ -8,17 +8,16 @@ * 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 "common/algorithm.h" diff --git a/engines/tony/mpal/memory.h b/engines/tony/mpal/memory.h index 9c21cc20e6..7739fdfa48 100644 --- a/engines/tony/mpal/memory.h +++ b/engines/tony/mpal/memory.h @@ -8,17 +8,16 @@ * 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. * - * */ #ifndef TONY_MPAL_MEMORY diff --git a/engines/tony/mpal/mpal.cpp b/engines/tony/mpal/mpal.cpp index 19e3d43df4..797c7dbae0 100644 --- a/engines/tony/mpal/mpal.cpp +++ b/engines/tony/mpal/mpal.cpp @@ -8,17 +8,16 @@ * 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. * - * */ /* * This code is based on original Tony Tough source code diff --git a/engines/tony/mpal/mpal.h b/engines/tony/mpal/mpal.h index 2d22ee8faf..e88fd36e2f 100644 --- a/engines/tony/mpal/mpal.h +++ b/engines/tony/mpal/mpal.h @@ -8,17 +8,16 @@ * 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. * - * */ /* * This code is based on original Tony Tough source code diff --git a/engines/tony/mpal/mpaldll.h b/engines/tony/mpal/mpaldll.h index 92ddf8fc5a..68969497c1 100644 --- a/engines/tony/mpal/mpaldll.h +++ b/engines/tony/mpal/mpaldll.h @@ -8,17 +8,16 @@ * 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. * - * */ /* * This code is based on original Tony Tough source code diff --git a/engines/tony/mpal/mpalutils.cpp b/engines/tony/mpal/mpalutils.cpp index 0919aed5ac..84c8a68919 100644 --- a/engines/tony/mpal/mpalutils.cpp +++ b/engines/tony/mpal/mpalutils.cpp @@ -8,17 +8,16 @@ * 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 "tony/mpal/mpalutils.h" diff --git a/engines/tony/mpal/mpalutils.h b/engines/tony/mpal/mpalutils.h index f351f22196..9ef534c632 100644 --- a/engines/tony/mpal/mpalutils.h +++ b/engines/tony/mpal/mpalutils.h @@ -8,17 +8,16 @@ * 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. * - * */ #ifndef TONY_MPAL_MPALUTILS diff --git a/engines/tony/resid.h b/engines/tony/resid.h index 0d601b7dd6..93c008144a 100644 --- a/engines/tony/resid.h +++ b/engines/tony/resid.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/tony/sound.cpp b/engines/tony/sound.cpp index 74d32c7c0f..2a4eb826f3 100644 --- a/engines/tony/sound.cpp +++ b/engines/tony/sound.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/tony/sound.h b/engines/tony/sound.h index 7422de02b3..446dc68d80 100644 --- a/engines/tony/sound.h +++ b/engines/tony/sound.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/tony/tony.cpp b/engines/tony/tony.cpp index 43a2f639d9..2857bb93f8 100644 --- a/engines/tony/tony.cpp +++ b/engines/tony/tony.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/tony/tony.h b/engines/tony/tony.h index cdc7d7e20a..40a5184c31 100644 --- a/engines/tony/tony.h +++ b/engines/tony/tony.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/tony/tonychar.cpp b/engines/tony/tonychar.cpp index 46c018728e..224d923142 100644 --- a/engines/tony/tonychar.cpp +++ b/engines/tony/tonychar.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/tony/tonychar.h b/engines/tony/tonychar.h index d9f18f61ec..5c5be9ca4e 100644 --- a/engines/tony/tonychar.h +++ b/engines/tony/tonychar.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/tony/utils.cpp b/engines/tony/utils.cpp index 81060146b7..d70073542f 100644 --- a/engines/tony/utils.cpp +++ b/engines/tony/utils.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/tony/utils.h b/engines/tony/utils.h index 9f13e5f19b..eb2f3c74d3 100644 --- a/engines/tony/utils.h +++ b/engines/tony/utils.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/tony/window.cpp b/engines/tony/window.cpp index 02991975ce..5c50a50a57 100644 --- a/engines/tony/window.cpp +++ b/engines/tony/window.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/tony/window.h b/engines/tony/window.h index 2cc9bfd37c..df1932071c 100644 --- a/engines/tony/window.h +++ b/engines/tony/window.h @@ -8,12 +8,12 @@ * 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. -- cgit v1.2.3 From 1d65a915ba31a11d1f2c9e7ce1c62006f9a359b0 Mon Sep 17 00:00:00 2001 From: Johannes Schickel Date: Tue, 18 Feb 2014 02:34:26 +0100 Subject: TOON: Make GPL headers consistent in themselves. --- engines/toon/anim.cpp | 4 ++-- engines/toon/anim.h | 4 ++-- engines/toon/audio.cpp | 4 ++-- engines/toon/audio.h | 4 ++-- engines/toon/character.cpp | 40 ++++++++++++++++++++-------------------- engines/toon/character.h | 40 ++++++++++++++++++++-------------------- engines/toon/console.cpp | 4 ++-- engines/toon/console.h | 4 ++-- engines/toon/conversation.cpp | 40 ++++++++++++++++++++-------------------- engines/toon/conversation.h | 40 ++++++++++++++++++++-------------------- engines/toon/detection.cpp | 4 ++-- engines/toon/drew.cpp | 4 ++-- engines/toon/drew.h | 40 ++++++++++++++++++++-------------------- engines/toon/flux.cpp | 40 ++++++++++++++++++++-------------------- engines/toon/flux.h | 40 ++++++++++++++++++++-------------------- engines/toon/font.cpp | 40 ++++++++++++++++++++-------------------- engines/toon/font.h | 40 ++++++++++++++++++++-------------------- engines/toon/hotspot.cpp | 40 ++++++++++++++++++++-------------------- engines/toon/hotspot.h | 40 ++++++++++++++++++++-------------------- engines/toon/movie.cpp | 40 ++++++++++++++++++++-------------------- engines/toon/movie.h | 40 ++++++++++++++++++++-------------------- engines/toon/path.cpp | 40 ++++++++++++++++++++-------------------- engines/toon/path.h | 40 ++++++++++++++++++++-------------------- engines/toon/picture.cpp | 40 ++++++++++++++++++++-------------------- engines/toon/picture.h | 40 ++++++++++++++++++++-------------------- engines/toon/resource.cpp | 40 ++++++++++++++++++++-------------------- engines/toon/resource.h | 40 ++++++++++++++++++++-------------------- engines/toon/script.cpp | 40 ++++++++++++++++++++-------------------- engines/toon/script.h | 40 ++++++++++++++++++++-------------------- engines/toon/script_func.cpp | 40 ++++++++++++++++++++-------------------- engines/toon/script_func.h | 40 ++++++++++++++++++++-------------------- engines/toon/state.cpp | 40 ++++++++++++++++++++-------------------- engines/toon/state.h | 40 ++++++++++++++++++++-------------------- engines/toon/text.cpp | 40 ++++++++++++++++++++-------------------- engines/toon/text.h | 40 ++++++++++++++++++++-------------------- engines/toon/tools.cpp | 40 ++++++++++++++++++++-------------------- engines/toon/tools.h | 40 ++++++++++++++++++++-------------------- engines/toon/toon.cpp | 40 ++++++++++++++++++++-------------------- engines/toon/toon.h | 40 ++++++++++++++++++++-------------------- 39 files changed, 636 insertions(+), 636 deletions(-) diff --git a/engines/toon/anim.cpp b/engines/toon/anim.cpp index 19e997af34..ec23fea186 100644 --- a/engines/toon/anim.cpp +++ b/engines/toon/anim.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/toon/anim.h b/engines/toon/anim.h index cd550b2621..ca0d25685b 100644 --- a/engines/toon/anim.h +++ b/engines/toon/anim.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/toon/audio.cpp b/engines/toon/audio.cpp index 303f6774fa..82544375d5 100644 --- a/engines/toon/audio.cpp +++ b/engines/toon/audio.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/toon/audio.h b/engines/toon/audio.h index 25063603eb..afac92d4be 100644 --- a/engines/toon/audio.h +++ b/engines/toon/audio.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/toon/character.cpp b/engines/toon/character.cpp index baab8888cf..cab31795f7 100644 --- a/engines/toon/character.cpp +++ b/engines/toon/character.cpp @@ -1,24 +1,24 @@ /* 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. -* -*/ + * + * 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 "common/debug.h" #include "common/system.h" diff --git a/engines/toon/character.h b/engines/toon/character.h index b248e7ccf2..1e0ad9c2b7 100644 --- a/engines/toon/character.h +++ b/engines/toon/character.h @@ -1,24 +1,24 @@ /* 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. -* -*/ + * + * 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. + * + */ #ifndef TOON_CHARACTER_H #define TOON_CHARACTER_H diff --git a/engines/toon/console.cpp b/engines/toon/console.cpp index 18f81e1323..8c01c603fe 100644 --- a/engines/toon/console.cpp +++ b/engines/toon/console.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/toon/console.h b/engines/toon/console.h index 25ce7627a1..f545b67404 100644 --- a/engines/toon/console.h +++ b/engines/toon/console.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/toon/conversation.cpp b/engines/toon/conversation.cpp index 01ee1efaed..99aa488430 100644 --- a/engines/toon/conversation.cpp +++ b/engines/toon/conversation.cpp @@ -1,24 +1,24 @@ /* 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. -* -*/ + * + * 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 "toon/conversation.h" diff --git a/engines/toon/conversation.h b/engines/toon/conversation.h index 3e459a9734..b03dae606c 100644 --- a/engines/toon/conversation.h +++ b/engines/toon/conversation.h @@ -1,24 +1,24 @@ /* 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. -* -*/ + * + * 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. + * + */ #ifndef TOON_CONVERSATION_H #define TOON_CONVERSATION_H diff --git a/engines/toon/detection.cpp b/engines/toon/detection.cpp index cee7a23796..7c6eae6c63 100644 --- a/engines/toon/detection.cpp +++ b/engines/toon/detection.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/toon/drew.cpp b/engines/toon/drew.cpp index dfd3f515fa..a0569a2d78 100644 --- a/engines/toon/drew.cpp +++ b/engines/toon/drew.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/toon/drew.h b/engines/toon/drew.h index ff1b619125..941df473d1 100644 --- a/engines/toon/drew.h +++ b/engines/toon/drew.h @@ -1,24 +1,24 @@ /* 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. -* -*/ + * + * 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. + * + */ #ifndef TOON_DREW_H #define TOON_DREW_H diff --git a/engines/toon/flux.cpp b/engines/toon/flux.cpp index 70aa40fb36..14218ba4ef 100644 --- a/engines/toon/flux.cpp +++ b/engines/toon/flux.cpp @@ -1,24 +1,24 @@ /* 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. -* -*/ + * + * 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 "common/debug.h" diff --git a/engines/toon/flux.h b/engines/toon/flux.h index 1dc0d9c55f..a5778e5466 100644 --- a/engines/toon/flux.h +++ b/engines/toon/flux.h @@ -1,24 +1,24 @@ /* 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. -* -*/ + * + * 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. + * + */ #ifndef TOON_FLUX_H #define TOON_FLUX_H diff --git a/engines/toon/font.cpp b/engines/toon/font.cpp index 2ba4eff652..ab941e5de9 100644 --- a/engines/toon/font.cpp +++ b/engines/toon/font.cpp @@ -1,24 +1,24 @@ /* 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. -* -*/ + * + * 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 "common/debug.h" #include "common/rect.h" diff --git a/engines/toon/font.h b/engines/toon/font.h index 2a46ad3559..bbbccd09c8 100644 --- a/engines/toon/font.h +++ b/engines/toon/font.h @@ -1,24 +1,24 @@ /* 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. -* -*/ + * + * 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. + * + */ #ifndef TOON_FONT_H #define TOON_FONT_H diff --git a/engines/toon/hotspot.cpp b/engines/toon/hotspot.cpp index 8b8f0ab577..04368df5ca 100644 --- a/engines/toon/hotspot.cpp +++ b/engines/toon/hotspot.cpp @@ -1,24 +1,24 @@ /* 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. -* -*/ + * + * 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 "common/debug.h" diff --git a/engines/toon/hotspot.h b/engines/toon/hotspot.h index 3852e2e42e..782d06a9fe 100644 --- a/engines/toon/hotspot.h +++ b/engines/toon/hotspot.h @@ -1,24 +1,24 @@ /* 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. -* -*/ + * + * 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. + * + */ #ifndef TOON_HOTSPOT_H #define TOON_HOTSPOT_H diff --git a/engines/toon/movie.cpp b/engines/toon/movie.cpp index 9e8514d0a8..498e4021e2 100644 --- a/engines/toon/movie.cpp +++ b/engines/toon/movie.cpp @@ -1,24 +1,24 @@ /* 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. -* -*/ + * + * 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 "common/debug.h" #include "common/events.h" diff --git a/engines/toon/movie.h b/engines/toon/movie.h index 14287d87fd..54d4fd4dc7 100644 --- a/engines/toon/movie.h +++ b/engines/toon/movie.h @@ -1,24 +1,24 @@ /* 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. -* -*/ + * + * 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. + * + */ #ifndef TOON_MOVIE_H #define TOON_MOVIE_H diff --git a/engines/toon/path.cpp b/engines/toon/path.cpp index 336847e73c..fdc35983dc 100644 --- a/engines/toon/path.cpp +++ b/engines/toon/path.cpp @@ -1,24 +1,24 @@ /* 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. -* -*/ + * + * 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 "common/debug.h" diff --git a/engines/toon/path.h b/engines/toon/path.h index 59f74ef286..c69954bded 100644 --- a/engines/toon/path.h +++ b/engines/toon/path.h @@ -1,24 +1,24 @@ /* 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. -* -*/ + * + * 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. + * + */ #ifndef TOON_PATH_H #define TOON_PATH_H diff --git a/engines/toon/picture.cpp b/engines/toon/picture.cpp index 4927f50e08..f0a7154788 100644 --- a/engines/toon/picture.cpp +++ b/engines/toon/picture.cpp @@ -1,24 +1,24 @@ /* 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. -* -*/ + * + * 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 "toon/picture.h" #include "toon/tools.h" diff --git a/engines/toon/picture.h b/engines/toon/picture.h index 5e79612a39..0e853e4ed5 100644 --- a/engines/toon/picture.h +++ b/engines/toon/picture.h @@ -1,24 +1,24 @@ /* 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. -* -*/ + * + * 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. + * + */ #ifndef TOON_PICTURE_H #define TOON_PICTURE_H diff --git a/engines/toon/resource.cpp b/engines/toon/resource.cpp index ffcabbd348..f7c02d5f10 100644 --- a/engines/toon/resource.cpp +++ b/engines/toon/resource.cpp @@ -1,24 +1,24 @@ /* 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. -* -*/ + * + * 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 "toon/resource.h" #include "common/debug.h" diff --git a/engines/toon/resource.h b/engines/toon/resource.h index b432a1d335..6991fae5a7 100644 --- a/engines/toon/resource.h +++ b/engines/toon/resource.h @@ -1,24 +1,24 @@ /* 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. -* -*/ + * + * 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. + * + */ #ifndef TOON_RESOURCE_H #define TOON_RESOURCE_H diff --git a/engines/toon/script.cpp b/engines/toon/script.cpp index d752c277db..a99e398200 100644 --- a/engines/toon/script.cpp +++ b/engines/toon/script.cpp @@ -1,24 +1,24 @@ /* 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. -* -*/ + * + * 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 "common/debug.h" #include "common/endian.h" diff --git a/engines/toon/script.h b/engines/toon/script.h index 8ef085f383..3f1413984d 100644 --- a/engines/toon/script.h +++ b/engines/toon/script.h @@ -1,24 +1,24 @@ /* 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. -* -*/ + * + * 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. + * + */ #ifndef TOON_SCRIPT_H #define TOON_SCRIPT_H diff --git a/engines/toon/script_func.cpp b/engines/toon/script_func.cpp index 70baaaef22..5e8ff09a86 100644 --- a/engines/toon/script_func.cpp +++ b/engines/toon/script_func.cpp @@ -1,24 +1,24 @@ /* 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. -* -*/ + * + * 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 "common/debug.h" #include "common/system.h" diff --git a/engines/toon/script_func.h b/engines/toon/script_func.h index e22c4b34fa..bab26d4c28 100644 --- a/engines/toon/script_func.h +++ b/engines/toon/script_func.h @@ -1,24 +1,24 @@ /* 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. -* -*/ + * + * 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. + * + */ #ifndef SCRIPT_FUNC_H #define SCRIPT_FUNC_H diff --git a/engines/toon/state.cpp b/engines/toon/state.cpp index fffa8cf529..6ac5808219 100644 --- a/engines/toon/state.cpp +++ b/engines/toon/state.cpp @@ -1,24 +1,24 @@ /* 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. -* -*/ + * + * 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 "common/debug.h" diff --git a/engines/toon/state.h b/engines/toon/state.h index 4004b8b4f0..88ec4eb560 100644 --- a/engines/toon/state.h +++ b/engines/toon/state.h @@ -1,24 +1,24 @@ /* 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. -* -*/ + * + * 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. + * + */ #ifndef TOON_STATE_H #define TOON_STATE_H diff --git a/engines/toon/text.cpp b/engines/toon/text.cpp index bd4583d799..75b4d4f021 100644 --- a/engines/toon/text.cpp +++ b/engines/toon/text.cpp @@ -1,24 +1,24 @@ /* 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. -* -*/ + * + * 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 "common/debug.h" diff --git a/engines/toon/text.h b/engines/toon/text.h index cd575736b7..10358a7327 100644 --- a/engines/toon/text.h +++ b/engines/toon/text.h @@ -1,24 +1,24 @@ /* 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. -* -*/ + * + * 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. + * + */ #ifndef TOON_TEXT_H #define TOON_TEXT_H diff --git a/engines/toon/tools.cpp b/engines/toon/tools.cpp index f5c77aca69..e224f2708b 100644 --- a/engines/toon/tools.cpp +++ b/engines/toon/tools.cpp @@ -1,24 +1,24 @@ /* 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. -* -*/ + * + * 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 "common/debug.h" diff --git a/engines/toon/tools.h b/engines/toon/tools.h index 44c0fc4644..d80ec006b0 100644 --- a/engines/toon/tools.h +++ b/engines/toon/tools.h @@ -1,24 +1,24 @@ /* 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. -* -*/ + * + * 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. + * + */ #ifndef TOON_TOOLS_H #define TOON_TOOLS_H diff --git a/engines/toon/toon.cpp b/engines/toon/toon.cpp index 72cf57af8a..ea87c9be84 100644 --- a/engines/toon/toon.cpp +++ b/engines/toon/toon.cpp @@ -1,24 +1,24 @@ /* 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. -* -*/ + * + * 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 "common/system.h" #include "common/events.h" diff --git a/engines/toon/toon.h b/engines/toon/toon.h index 0ff351804f..6903e5de57 100644 --- a/engines/toon/toon.h +++ b/engines/toon/toon.h @@ -1,24 +1,24 @@ /* 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. -* -*/ + * + * 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. + * + */ #ifndef TOON_TOON_H #define TOON_TOON_H -- cgit v1.2.3 From 4e4f51794bf85b74ce0fa1917a2640f1cc05a5b4 Mon Sep 17 00:00:00 2001 From: Johannes Schickel Date: Tue, 18 Feb 2014 02:34:26 +0100 Subject: TOUCHE: Make GPL headers consistent in themselves. --- engines/touche/console.cpp | 4 ++-- engines/touche/console.h | 4 ++-- engines/touche/detection.cpp | 4 ++-- engines/touche/graphics.cpp | 4 ++-- engines/touche/graphics.h | 4 ++-- engines/touche/menu.cpp | 4 ++-- engines/touche/midi.cpp | 4 ++-- engines/touche/midi.h | 4 ++-- engines/touche/opcodes.cpp | 4 ++-- engines/touche/resource.cpp | 4 ++-- engines/touche/saveload.cpp | 4 ++-- engines/touche/staticres.cpp | 4 ++-- engines/touche/touche.cpp | 4 ++-- engines/touche/touche.h | 4 ++-- 14 files changed, 28 insertions(+), 28 deletions(-) diff --git a/engines/touche/console.cpp b/engines/touche/console.cpp index 2c4c6a0da1..c4272038dc 100644 --- a/engines/touche/console.cpp +++ b/engines/touche/console.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/touche/console.h b/engines/touche/console.h index 43a303ad77..ed7620a820 100644 --- a/engines/touche/console.h +++ b/engines/touche/console.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/touche/detection.cpp b/engines/touche/detection.cpp index 0662e718d5..97a14e5bc1 100644 --- a/engines/touche/detection.cpp +++ b/engines/touche/detection.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/touche/graphics.cpp b/engines/touche/graphics.cpp index 6e565327ba..95ef16e9bd 100644 --- a/engines/touche/graphics.cpp +++ b/engines/touche/graphics.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/touche/graphics.h b/engines/touche/graphics.h index 5b2ea39a24..3fdbf9b145 100644 --- a/engines/touche/graphics.h +++ b/engines/touche/graphics.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/touche/menu.cpp b/engines/touche/menu.cpp index 045b594aed..19c10af8de 100644 --- a/engines/touche/menu.cpp +++ b/engines/touche/menu.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/touche/midi.cpp b/engines/touche/midi.cpp index da14baa484..96813077ce 100644 --- a/engines/touche/midi.cpp +++ b/engines/touche/midi.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/touche/midi.h b/engines/touche/midi.h index 24f9da0474..e54d43209c 100644 --- a/engines/touche/midi.h +++ b/engines/touche/midi.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/touche/opcodes.cpp b/engines/touche/opcodes.cpp index 18677eae26..ee7f3a9b6b 100644 --- a/engines/touche/opcodes.cpp +++ b/engines/touche/opcodes.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/touche/resource.cpp b/engines/touche/resource.cpp index 9625224316..16a95d307f 100644 --- a/engines/touche/resource.cpp +++ b/engines/touche/resource.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/touche/saveload.cpp b/engines/touche/saveload.cpp index a054299ecd..d44a3d43ff 100644 --- a/engines/touche/saveload.cpp +++ b/engines/touche/saveload.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/touche/staticres.cpp b/engines/touche/staticres.cpp index 23b76558e4..d2359dd130 100644 --- a/engines/touche/staticres.cpp +++ b/engines/touche/staticres.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/touche/touche.cpp b/engines/touche/touche.cpp index eb7010a824..09697d0e4a 100644 --- a/engines/touche/touche.cpp +++ b/engines/touche/touche.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/touche/touche.h b/engines/touche/touche.h index 9cc42b0c68..3da33f593b 100644 --- a/engines/touche/touche.h +++ b/engines/touche/touche.h @@ -8,12 +8,12 @@ * 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. -- cgit v1.2.3 From 6e715e186a857e8ed35c7e49f80ce951d8897e35 Mon Sep 17 00:00:00 2001 From: Johannes Schickel Date: Tue, 18 Feb 2014 02:34:26 +0100 Subject: TSAGE: Make GPL headers consistent with themselves. --- engines/tsage/blue_force/blueforce_dialogs.cpp | 6 +++--- engines/tsage/blue_force/blueforce_dialogs.h | 6 +++--- engines/tsage/blue_force/blueforce_logic.cpp | 6 +++--- engines/tsage/blue_force/blueforce_logic.h | 6 +++--- engines/tsage/blue_force/blueforce_scenes0.cpp | 6 +++--- engines/tsage/blue_force/blueforce_scenes0.h | 6 +++--- engines/tsage/blue_force/blueforce_scenes1.cpp | 6 +++--- engines/tsage/blue_force/blueforce_scenes1.h | 6 +++--- engines/tsage/blue_force/blueforce_scenes2.cpp | 6 +++--- engines/tsage/blue_force/blueforce_scenes2.h | 6 +++--- engines/tsage/blue_force/blueforce_scenes3.cpp | 6 +++--- engines/tsage/blue_force/blueforce_scenes3.h | 6 +++--- engines/tsage/blue_force/blueforce_scenes4.cpp | 6 +++--- engines/tsage/blue_force/blueforce_scenes4.h | 6 +++--- engines/tsage/blue_force/blueforce_scenes5.cpp | 6 +++--- engines/tsage/blue_force/blueforce_scenes5.h | 6 +++--- engines/tsage/blue_force/blueforce_scenes6.cpp | 6 +++--- engines/tsage/blue_force/blueforce_scenes6.h | 6 +++--- engines/tsage/blue_force/blueforce_scenes7.cpp | 6 +++--- engines/tsage/blue_force/blueforce_scenes7.h | 6 +++--- engines/tsage/blue_force/blueforce_scenes8.cpp | 6 +++--- engines/tsage/blue_force/blueforce_scenes8.h | 6 +++--- engines/tsage/blue_force/blueforce_scenes9.cpp | 6 +++--- engines/tsage/blue_force/blueforce_scenes9.h | 6 +++--- engines/tsage/blue_force/blueforce_speakers.cpp | 6 +++--- engines/tsage/blue_force/blueforce_speakers.h | 6 +++--- engines/tsage/converse.cpp | 6 +++--- engines/tsage/converse.h | 6 +++--- engines/tsage/core.cpp | 6 +++--- engines/tsage/core.h | 6 +++--- engines/tsage/debugger.cpp | 6 +++--- engines/tsage/debugger.h | 6 +++--- engines/tsage/detection.cpp | 6 +++--- engines/tsage/detection_tables.h | 6 +++--- engines/tsage/dialogs.cpp | 6 +++--- engines/tsage/dialogs.h | 6 +++--- engines/tsage/events.cpp | 6 +++--- engines/tsage/events.h | 6 +++--- engines/tsage/globals.cpp | 6 +++--- engines/tsage/globals.h | 6 +++--- engines/tsage/graphics.cpp | 6 +++--- engines/tsage/graphics.h | 6 +++--- engines/tsage/resources.cpp | 6 +++--- engines/tsage/resources.h | 6 +++--- engines/tsage/ringworld/ringworld_demo.cpp | 6 +++--- engines/tsage/ringworld/ringworld_demo.h | 6 +++--- engines/tsage/ringworld/ringworld_dialogs.cpp | 6 +++--- engines/tsage/ringworld/ringworld_dialogs.h | 6 +++--- engines/tsage/ringworld/ringworld_logic.cpp | 6 +++--- engines/tsage/ringworld/ringworld_logic.h | 6 +++--- engines/tsage/ringworld/ringworld_scenes1.cpp | 6 +++--- engines/tsage/ringworld/ringworld_scenes1.h | 6 +++--- engines/tsage/ringworld/ringworld_scenes10.cpp | 6 +++--- engines/tsage/ringworld/ringworld_scenes10.h | 6 +++--- engines/tsage/ringworld/ringworld_scenes2.cpp | 6 +++--- engines/tsage/ringworld/ringworld_scenes2.h | 6 +++--- engines/tsage/ringworld/ringworld_scenes3.cpp | 6 +++--- engines/tsage/ringworld/ringworld_scenes3.h | 6 +++--- engines/tsage/ringworld/ringworld_scenes4.cpp | 6 +++--- engines/tsage/ringworld/ringworld_scenes4.h | 6 +++--- engines/tsage/ringworld/ringworld_scenes5.cpp | 6 +++--- engines/tsage/ringworld/ringworld_scenes5.h | 6 +++--- engines/tsage/ringworld/ringworld_scenes6.cpp | 6 +++--- engines/tsage/ringworld/ringworld_scenes6.h | 6 +++--- engines/tsage/ringworld/ringworld_scenes8.cpp | 6 +++--- engines/tsage/ringworld/ringworld_scenes8.h | 6 +++--- engines/tsage/ringworld/ringworld_speakers.cpp | 6 +++--- engines/tsage/ringworld/ringworld_speakers.h | 6 +++--- engines/tsage/ringworld2/ringworld2_dialogs.cpp | 6 +++--- engines/tsage/ringworld2/ringworld2_dialogs.h | 6 +++--- engines/tsage/ringworld2/ringworld2_logic.cpp | 6 +++--- engines/tsage/ringworld2/ringworld2_logic.h | 6 +++--- engines/tsage/ringworld2/ringworld2_scenes0.cpp | 6 +++--- engines/tsage/ringworld2/ringworld2_scenes0.h | 6 +++--- engines/tsage/ringworld2/ringworld2_scenes1.cpp | 8 ++++---- engines/tsage/ringworld2/ringworld2_scenes1.h | 6 +++--- engines/tsage/ringworld2/ringworld2_scenes2.cpp | 6 +++--- engines/tsage/ringworld2/ringworld2_scenes2.h | 6 +++--- engines/tsage/ringworld2/ringworld2_scenes3.cpp | 6 +++--- engines/tsage/ringworld2/ringworld2_scenes3.h | 6 +++--- engines/tsage/ringworld2/ringworld2_speakers.cpp | 6 +++--- engines/tsage/ringworld2/ringworld2_speakers.h | 6 +++--- engines/tsage/saveload.cpp | 6 +++--- engines/tsage/saveload.h | 6 +++--- engines/tsage/scenes.cpp | 6 +++--- engines/tsage/scenes.h | 6 +++--- engines/tsage/sound.cpp | 6 +++--- engines/tsage/sound.h | 6 +++--- engines/tsage/staticres.cpp | 4 ++-- engines/tsage/staticres.h | 4 ++-- engines/tsage/tsage.cpp | 6 +++--- engines/tsage/tsage.h | 6 +++--- engines/tsage/user_interface.cpp | 6 +++--- engines/tsage/user_interface.h | 6 +++--- 94 files changed, 281 insertions(+), 281 deletions(-) diff --git a/engines/tsage/blue_force/blueforce_dialogs.cpp b/engines/tsage/blue_force/blueforce_dialogs.cpp index 23701c9e5b..2f337ac549 100644 --- a/engines/tsage/blue_force/blueforce_dialogs.cpp +++ b/engines/tsage/blue_force/blueforce_dialogs.cpp @@ -8,12 +8,12 @@ * 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 + * 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. diff --git a/engines/tsage/blue_force/blueforce_dialogs.h b/engines/tsage/blue_force/blueforce_dialogs.h index 76de7d19d9..77017db9d0 100644 --- a/engines/tsage/blue_force/blueforce_dialogs.h +++ b/engines/tsage/blue_force/blueforce_dialogs.h @@ -8,12 +8,12 @@ * 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 + * 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. diff --git a/engines/tsage/blue_force/blueforce_logic.cpp b/engines/tsage/blue_force/blueforce_logic.cpp index c8a0117bcf..e6e71399dc 100644 --- a/engines/tsage/blue_force/blueforce_logic.cpp +++ b/engines/tsage/blue_force/blueforce_logic.cpp @@ -8,12 +8,12 @@ * 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 + * 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. diff --git a/engines/tsage/blue_force/blueforce_logic.h b/engines/tsage/blue_force/blueforce_logic.h index 0045980820..cb3c62dd3a 100644 --- a/engines/tsage/blue_force/blueforce_logic.h +++ b/engines/tsage/blue_force/blueforce_logic.h @@ -8,12 +8,12 @@ * 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 + * 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. diff --git a/engines/tsage/blue_force/blueforce_scenes0.cpp b/engines/tsage/blue_force/blueforce_scenes0.cpp index 06be605c1a..1e94e44b74 100644 --- a/engines/tsage/blue_force/blueforce_scenes0.cpp +++ b/engines/tsage/blue_force/blueforce_scenes0.cpp @@ -8,12 +8,12 @@ * 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 + * 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. diff --git a/engines/tsage/blue_force/blueforce_scenes0.h b/engines/tsage/blue_force/blueforce_scenes0.h index e7ee06e779..c6f380338d 100644 --- a/engines/tsage/blue_force/blueforce_scenes0.h +++ b/engines/tsage/blue_force/blueforce_scenes0.h @@ -8,12 +8,12 @@ * 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 + * 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. diff --git a/engines/tsage/blue_force/blueforce_scenes1.cpp b/engines/tsage/blue_force/blueforce_scenes1.cpp index fa877ea6c9..1cbebd140e 100644 --- a/engines/tsage/blue_force/blueforce_scenes1.cpp +++ b/engines/tsage/blue_force/blueforce_scenes1.cpp @@ -8,12 +8,12 @@ * 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 + * 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. diff --git a/engines/tsage/blue_force/blueforce_scenes1.h b/engines/tsage/blue_force/blueforce_scenes1.h index ddde200370..8b65c97bb2 100644 --- a/engines/tsage/blue_force/blueforce_scenes1.h +++ b/engines/tsage/blue_force/blueforce_scenes1.h @@ -8,12 +8,12 @@ * 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 + * 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. diff --git a/engines/tsage/blue_force/blueforce_scenes2.cpp b/engines/tsage/blue_force/blueforce_scenes2.cpp index e444c8b91d..65ff85155f 100644 --- a/engines/tsage/blue_force/blueforce_scenes2.cpp +++ b/engines/tsage/blue_force/blueforce_scenes2.cpp @@ -8,12 +8,12 @@ * 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 + * 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. diff --git a/engines/tsage/blue_force/blueforce_scenes2.h b/engines/tsage/blue_force/blueforce_scenes2.h index 17e749d7a1..6ae324517a 100644 --- a/engines/tsage/blue_force/blueforce_scenes2.h +++ b/engines/tsage/blue_force/blueforce_scenes2.h @@ -8,12 +8,12 @@ * 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 + * 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. diff --git a/engines/tsage/blue_force/blueforce_scenes3.cpp b/engines/tsage/blue_force/blueforce_scenes3.cpp index 28005845d3..0f7324f5c8 100644 --- a/engines/tsage/blue_force/blueforce_scenes3.cpp +++ b/engines/tsage/blue_force/blueforce_scenes3.cpp @@ -8,12 +8,12 @@ * 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 + * 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. diff --git a/engines/tsage/blue_force/blueforce_scenes3.h b/engines/tsage/blue_force/blueforce_scenes3.h index 894c3e5ffd..e437fd3a92 100644 --- a/engines/tsage/blue_force/blueforce_scenes3.h +++ b/engines/tsage/blue_force/blueforce_scenes3.h @@ -8,12 +8,12 @@ * 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 + * 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. diff --git a/engines/tsage/blue_force/blueforce_scenes4.cpp b/engines/tsage/blue_force/blueforce_scenes4.cpp index 4eb848cfa4..50f8499b3b 100644 --- a/engines/tsage/blue_force/blueforce_scenes4.cpp +++ b/engines/tsage/blue_force/blueforce_scenes4.cpp @@ -8,12 +8,12 @@ * 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 + * 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. diff --git a/engines/tsage/blue_force/blueforce_scenes4.h b/engines/tsage/blue_force/blueforce_scenes4.h index e5877df4f0..9a6df24add 100644 --- a/engines/tsage/blue_force/blueforce_scenes4.h +++ b/engines/tsage/blue_force/blueforce_scenes4.h @@ -8,12 +8,12 @@ * 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 + * 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. diff --git a/engines/tsage/blue_force/blueforce_scenes5.cpp b/engines/tsage/blue_force/blueforce_scenes5.cpp index d3ea36a078..562facd000 100644 --- a/engines/tsage/blue_force/blueforce_scenes5.cpp +++ b/engines/tsage/blue_force/blueforce_scenes5.cpp @@ -8,12 +8,12 @@ * 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 + * 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. diff --git a/engines/tsage/blue_force/blueforce_scenes5.h b/engines/tsage/blue_force/blueforce_scenes5.h index 71c7f3d8f1..7c5bbb3feb 100644 --- a/engines/tsage/blue_force/blueforce_scenes5.h +++ b/engines/tsage/blue_force/blueforce_scenes5.h @@ -8,12 +8,12 @@ * 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 + * 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. diff --git a/engines/tsage/blue_force/blueforce_scenes6.cpp b/engines/tsage/blue_force/blueforce_scenes6.cpp index b20092492f..92534d3095 100644 --- a/engines/tsage/blue_force/blueforce_scenes6.cpp +++ b/engines/tsage/blue_force/blueforce_scenes6.cpp @@ -8,12 +8,12 @@ * 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 + * 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. diff --git a/engines/tsage/blue_force/blueforce_scenes6.h b/engines/tsage/blue_force/blueforce_scenes6.h index 3f9c14aa11..7ace22f5a6 100644 --- a/engines/tsage/blue_force/blueforce_scenes6.h +++ b/engines/tsage/blue_force/blueforce_scenes6.h @@ -8,12 +8,12 @@ * 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 + * 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. diff --git a/engines/tsage/blue_force/blueforce_scenes7.cpp b/engines/tsage/blue_force/blueforce_scenes7.cpp index 2f52c4df95..268c755299 100644 --- a/engines/tsage/blue_force/blueforce_scenes7.cpp +++ b/engines/tsage/blue_force/blueforce_scenes7.cpp @@ -8,12 +8,12 @@ * 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 + * 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. diff --git a/engines/tsage/blue_force/blueforce_scenes7.h b/engines/tsage/blue_force/blueforce_scenes7.h index 161d94cc2c..91fb4c5ab2 100644 --- a/engines/tsage/blue_force/blueforce_scenes7.h +++ b/engines/tsage/blue_force/blueforce_scenes7.h @@ -8,12 +8,12 @@ * 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 + * 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. diff --git a/engines/tsage/blue_force/blueforce_scenes8.cpp b/engines/tsage/blue_force/blueforce_scenes8.cpp index f78a332be9..6855fd41b9 100644 --- a/engines/tsage/blue_force/blueforce_scenes8.cpp +++ b/engines/tsage/blue_force/blueforce_scenes8.cpp @@ -8,12 +8,12 @@ * 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 + * 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. diff --git a/engines/tsage/blue_force/blueforce_scenes8.h b/engines/tsage/blue_force/blueforce_scenes8.h index b9e6ebd640..140327e85d 100644 --- a/engines/tsage/blue_force/blueforce_scenes8.h +++ b/engines/tsage/blue_force/blueforce_scenes8.h @@ -8,12 +8,12 @@ * 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 + * 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. diff --git a/engines/tsage/blue_force/blueforce_scenes9.cpp b/engines/tsage/blue_force/blueforce_scenes9.cpp index a3dd3688be..53000d6997 100644 --- a/engines/tsage/blue_force/blueforce_scenes9.cpp +++ b/engines/tsage/blue_force/blueforce_scenes9.cpp @@ -8,12 +8,12 @@ * 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 + * 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. diff --git a/engines/tsage/blue_force/blueforce_scenes9.h b/engines/tsage/blue_force/blueforce_scenes9.h index 8bf7f343a1..52935debd4 100644 --- a/engines/tsage/blue_force/blueforce_scenes9.h +++ b/engines/tsage/blue_force/blueforce_scenes9.h @@ -8,12 +8,12 @@ * 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 + * 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. diff --git a/engines/tsage/blue_force/blueforce_speakers.cpp b/engines/tsage/blue_force/blueforce_speakers.cpp index b15d2f4716..ea73cc9d7f 100644 --- a/engines/tsage/blue_force/blueforce_speakers.cpp +++ b/engines/tsage/blue_force/blueforce_speakers.cpp @@ -8,12 +8,12 @@ * 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 + * 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. diff --git a/engines/tsage/blue_force/blueforce_speakers.h b/engines/tsage/blue_force/blueforce_speakers.h index e9150df056..dfe6f51039 100644 --- a/engines/tsage/blue_force/blueforce_speakers.h +++ b/engines/tsage/blue_force/blueforce_speakers.h @@ -8,12 +8,12 @@ * 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 + * 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. diff --git a/engines/tsage/converse.cpp b/engines/tsage/converse.cpp index ba8cfb82a9..577c08255b 100644 --- a/engines/tsage/converse.cpp +++ b/engines/tsage/converse.cpp @@ -8,12 +8,12 @@ * 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 + * 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. diff --git a/engines/tsage/converse.h b/engines/tsage/converse.h index 8aa91ec3ef..3f4d14f785 100644 --- a/engines/tsage/converse.h +++ b/engines/tsage/converse.h @@ -8,12 +8,12 @@ * 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 + * 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. diff --git a/engines/tsage/core.cpp b/engines/tsage/core.cpp index 25570b3272..f35aa583e2 100644 --- a/engines/tsage/core.cpp +++ b/engines/tsage/core.cpp @@ -8,12 +8,12 @@ * 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 + * 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. diff --git a/engines/tsage/core.h b/engines/tsage/core.h index 6e50cc8d2e..8b1deadaeb 100644 --- a/engines/tsage/core.h +++ b/engines/tsage/core.h @@ -8,12 +8,12 @@ * 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 + * 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. diff --git a/engines/tsage/debugger.cpp b/engines/tsage/debugger.cpp index e81e5cddb3..d87afc797e 100644 --- a/engines/tsage/debugger.cpp +++ b/engines/tsage/debugger.cpp @@ -8,12 +8,12 @@ * 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 + * 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. diff --git a/engines/tsage/debugger.h b/engines/tsage/debugger.h index c9b7e75039..610f45de64 100644 --- a/engines/tsage/debugger.h +++ b/engines/tsage/debugger.h @@ -8,12 +8,12 @@ * 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 + * 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. diff --git a/engines/tsage/detection.cpp b/engines/tsage/detection.cpp index 9f830a1252..02a21e36f8 100644 --- a/engines/tsage/detection.cpp +++ b/engines/tsage/detection.cpp @@ -8,12 +8,12 @@ * 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 + * 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. diff --git a/engines/tsage/detection_tables.h b/engines/tsage/detection_tables.h index 123f04f8e2..da283a27e7 100644 --- a/engines/tsage/detection_tables.h +++ b/engines/tsage/detection_tables.h @@ -8,12 +8,12 @@ * 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 + * 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. diff --git a/engines/tsage/dialogs.cpp b/engines/tsage/dialogs.cpp index 43833f53b9..dd4bc6aa86 100644 --- a/engines/tsage/dialogs.cpp +++ b/engines/tsage/dialogs.cpp @@ -8,12 +8,12 @@ * 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 + * 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. diff --git a/engines/tsage/dialogs.h b/engines/tsage/dialogs.h index 33b55093d0..8ab37f6c93 100644 --- a/engines/tsage/dialogs.h +++ b/engines/tsage/dialogs.h @@ -8,12 +8,12 @@ * 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 + * 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. diff --git a/engines/tsage/events.cpp b/engines/tsage/events.cpp index 0ba60384bf..0491c043a4 100644 --- a/engines/tsage/events.cpp +++ b/engines/tsage/events.cpp @@ -8,12 +8,12 @@ * 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 + * 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. diff --git a/engines/tsage/events.h b/engines/tsage/events.h index 9ef4813e47..0a99290f88 100644 --- a/engines/tsage/events.h +++ b/engines/tsage/events.h @@ -8,12 +8,12 @@ * 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 + * 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. diff --git a/engines/tsage/globals.cpp b/engines/tsage/globals.cpp index f270e23ea5..e75febfdbc 100644 --- a/engines/tsage/globals.cpp +++ b/engines/tsage/globals.cpp @@ -8,12 +8,12 @@ * 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 + * 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. diff --git a/engines/tsage/globals.h b/engines/tsage/globals.h index 777697edbd..1194fe8b9c 100644 --- a/engines/tsage/globals.h +++ b/engines/tsage/globals.h @@ -8,12 +8,12 @@ * 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 + * 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. diff --git a/engines/tsage/graphics.cpp b/engines/tsage/graphics.cpp index 622a979dac..fa5d1a3b6a 100644 --- a/engines/tsage/graphics.cpp +++ b/engines/tsage/graphics.cpp @@ -8,12 +8,12 @@ * 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 + * 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. diff --git a/engines/tsage/graphics.h b/engines/tsage/graphics.h index 47961dd02a..cdb4826528 100644 --- a/engines/tsage/graphics.h +++ b/engines/tsage/graphics.h @@ -8,12 +8,12 @@ * 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 + * 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. diff --git a/engines/tsage/resources.cpp b/engines/tsage/resources.cpp index 5987d78067..d4b922a1c3 100644 --- a/engines/tsage/resources.cpp +++ b/engines/tsage/resources.cpp @@ -8,12 +8,12 @@ * 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 + * 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. diff --git a/engines/tsage/resources.h b/engines/tsage/resources.h index 45cecf8521..a7536a3c2d 100644 --- a/engines/tsage/resources.h +++ b/engines/tsage/resources.h @@ -8,12 +8,12 @@ * 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 + * 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. diff --git a/engines/tsage/ringworld/ringworld_demo.cpp b/engines/tsage/ringworld/ringworld_demo.cpp index fedb19c804..cd2ab07a50 100644 --- a/engines/tsage/ringworld/ringworld_demo.cpp +++ b/engines/tsage/ringworld/ringworld_demo.cpp @@ -8,12 +8,12 @@ * 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 + * 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. diff --git a/engines/tsage/ringworld/ringworld_demo.h b/engines/tsage/ringworld/ringworld_demo.h index 7c0ac39285..2b93a40049 100644 --- a/engines/tsage/ringworld/ringworld_demo.h +++ b/engines/tsage/ringworld/ringworld_demo.h @@ -8,12 +8,12 @@ * 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 + * 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. diff --git a/engines/tsage/ringworld/ringworld_dialogs.cpp b/engines/tsage/ringworld/ringworld_dialogs.cpp index d512806903..226a943f08 100644 --- a/engines/tsage/ringworld/ringworld_dialogs.cpp +++ b/engines/tsage/ringworld/ringworld_dialogs.cpp @@ -8,12 +8,12 @@ * 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 + * 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. diff --git a/engines/tsage/ringworld/ringworld_dialogs.h b/engines/tsage/ringworld/ringworld_dialogs.h index b14b3f6d78..68ac0a05f9 100644 --- a/engines/tsage/ringworld/ringworld_dialogs.h +++ b/engines/tsage/ringworld/ringworld_dialogs.h @@ -8,12 +8,12 @@ * 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 + * 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. diff --git a/engines/tsage/ringworld/ringworld_logic.cpp b/engines/tsage/ringworld/ringworld_logic.cpp index 1e9d14cdcf..1d8293cffd 100644 --- a/engines/tsage/ringworld/ringworld_logic.cpp +++ b/engines/tsage/ringworld/ringworld_logic.cpp @@ -8,12 +8,12 @@ * 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 + * 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. diff --git a/engines/tsage/ringworld/ringworld_logic.h b/engines/tsage/ringworld/ringworld_logic.h index e902ac127f..d384593989 100644 --- a/engines/tsage/ringworld/ringworld_logic.h +++ b/engines/tsage/ringworld/ringworld_logic.h @@ -8,12 +8,12 @@ * 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 + * 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. diff --git a/engines/tsage/ringworld/ringworld_scenes1.cpp b/engines/tsage/ringworld/ringworld_scenes1.cpp index c2dcebd438..9eacc5ff10 100644 --- a/engines/tsage/ringworld/ringworld_scenes1.cpp +++ b/engines/tsage/ringworld/ringworld_scenes1.cpp @@ -8,12 +8,12 @@ * 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 + * 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. diff --git a/engines/tsage/ringworld/ringworld_scenes1.h b/engines/tsage/ringworld/ringworld_scenes1.h index d52d4fb6ec..9f6de58e30 100644 --- a/engines/tsage/ringworld/ringworld_scenes1.h +++ b/engines/tsage/ringworld/ringworld_scenes1.h @@ -8,12 +8,12 @@ * 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 + * 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. diff --git a/engines/tsage/ringworld/ringworld_scenes10.cpp b/engines/tsage/ringworld/ringworld_scenes10.cpp index 116dca10e9..c4874c0f59 100644 --- a/engines/tsage/ringworld/ringworld_scenes10.cpp +++ b/engines/tsage/ringworld/ringworld_scenes10.cpp @@ -8,12 +8,12 @@ * 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 + * 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. diff --git a/engines/tsage/ringworld/ringworld_scenes10.h b/engines/tsage/ringworld/ringworld_scenes10.h index 48859ab454..ff1a6e9070 100644 --- a/engines/tsage/ringworld/ringworld_scenes10.h +++ b/engines/tsage/ringworld/ringworld_scenes10.h @@ -8,12 +8,12 @@ * 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 + * 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. diff --git a/engines/tsage/ringworld/ringworld_scenes2.cpp b/engines/tsage/ringworld/ringworld_scenes2.cpp index e07c9253e6..1140f6f3d1 100644 --- a/engines/tsage/ringworld/ringworld_scenes2.cpp +++ b/engines/tsage/ringworld/ringworld_scenes2.cpp @@ -8,12 +8,12 @@ * 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 + * 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. diff --git a/engines/tsage/ringworld/ringworld_scenes2.h b/engines/tsage/ringworld/ringworld_scenes2.h index 382d9d4157..825cd04c17 100644 --- a/engines/tsage/ringworld/ringworld_scenes2.h +++ b/engines/tsage/ringworld/ringworld_scenes2.h @@ -8,12 +8,12 @@ * 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 + * 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. diff --git a/engines/tsage/ringworld/ringworld_scenes3.cpp b/engines/tsage/ringworld/ringworld_scenes3.cpp index 5f33652458..d8556c691e 100644 --- a/engines/tsage/ringworld/ringworld_scenes3.cpp +++ b/engines/tsage/ringworld/ringworld_scenes3.cpp @@ -8,12 +8,12 @@ * 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 + * 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. diff --git a/engines/tsage/ringworld/ringworld_scenes3.h b/engines/tsage/ringworld/ringworld_scenes3.h index fafb72fcea..a371f800b9 100644 --- a/engines/tsage/ringworld/ringworld_scenes3.h +++ b/engines/tsage/ringworld/ringworld_scenes3.h @@ -8,12 +8,12 @@ * 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 + * 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. diff --git a/engines/tsage/ringworld/ringworld_scenes4.cpp b/engines/tsage/ringworld/ringworld_scenes4.cpp index 98bf0158e7..4d40b34eea 100644 --- a/engines/tsage/ringworld/ringworld_scenes4.cpp +++ b/engines/tsage/ringworld/ringworld_scenes4.cpp @@ -8,12 +8,12 @@ * 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 + * 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. diff --git a/engines/tsage/ringworld/ringworld_scenes4.h b/engines/tsage/ringworld/ringworld_scenes4.h index 64706805bc..72913ea8f2 100644 --- a/engines/tsage/ringworld/ringworld_scenes4.h +++ b/engines/tsage/ringworld/ringworld_scenes4.h @@ -8,12 +8,12 @@ * 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 + * 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. diff --git a/engines/tsage/ringworld/ringworld_scenes5.cpp b/engines/tsage/ringworld/ringworld_scenes5.cpp index 1242f9f448..cb8a89de80 100644 --- a/engines/tsage/ringworld/ringworld_scenes5.cpp +++ b/engines/tsage/ringworld/ringworld_scenes5.cpp @@ -8,12 +8,12 @@ * 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 + * 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. diff --git a/engines/tsage/ringworld/ringworld_scenes5.h b/engines/tsage/ringworld/ringworld_scenes5.h index b49d2a6f02..3010c7b401 100644 --- a/engines/tsage/ringworld/ringworld_scenes5.h +++ b/engines/tsage/ringworld/ringworld_scenes5.h @@ -8,12 +8,12 @@ * 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 + * 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. diff --git a/engines/tsage/ringworld/ringworld_scenes6.cpp b/engines/tsage/ringworld/ringworld_scenes6.cpp index 777eed2aab..74f834c64f 100644 --- a/engines/tsage/ringworld/ringworld_scenes6.cpp +++ b/engines/tsage/ringworld/ringworld_scenes6.cpp @@ -8,12 +8,12 @@ * 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 + * 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. diff --git a/engines/tsage/ringworld/ringworld_scenes6.h b/engines/tsage/ringworld/ringworld_scenes6.h index 4c10e4a711..fcc7f900ce 100644 --- a/engines/tsage/ringworld/ringworld_scenes6.h +++ b/engines/tsage/ringworld/ringworld_scenes6.h @@ -8,12 +8,12 @@ * 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 + * 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. diff --git a/engines/tsage/ringworld/ringworld_scenes8.cpp b/engines/tsage/ringworld/ringworld_scenes8.cpp index f9156479e5..60bd72e1ef 100644 --- a/engines/tsage/ringworld/ringworld_scenes8.cpp +++ b/engines/tsage/ringworld/ringworld_scenes8.cpp @@ -8,12 +8,12 @@ * 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 + * 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. diff --git a/engines/tsage/ringworld/ringworld_scenes8.h b/engines/tsage/ringworld/ringworld_scenes8.h index fa441f87da..ad5a91514e 100644 --- a/engines/tsage/ringworld/ringworld_scenes8.h +++ b/engines/tsage/ringworld/ringworld_scenes8.h @@ -8,12 +8,12 @@ * 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 + * 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. diff --git a/engines/tsage/ringworld/ringworld_speakers.cpp b/engines/tsage/ringworld/ringworld_speakers.cpp index dc80df40a3..a4ce95928c 100644 --- a/engines/tsage/ringworld/ringworld_speakers.cpp +++ b/engines/tsage/ringworld/ringworld_speakers.cpp @@ -8,12 +8,12 @@ * 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 + * 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. diff --git a/engines/tsage/ringworld/ringworld_speakers.h b/engines/tsage/ringworld/ringworld_speakers.h index 305984a184..59e25dc166 100644 --- a/engines/tsage/ringworld/ringworld_speakers.h +++ b/engines/tsage/ringworld/ringworld_speakers.h @@ -8,12 +8,12 @@ * 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 + * 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. diff --git a/engines/tsage/ringworld2/ringworld2_dialogs.cpp b/engines/tsage/ringworld2/ringworld2_dialogs.cpp index 5da600a1dd..dfbb281cfb 100644 --- a/engines/tsage/ringworld2/ringworld2_dialogs.cpp +++ b/engines/tsage/ringworld2/ringworld2_dialogs.cpp @@ -8,12 +8,12 @@ * 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 + * 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. diff --git a/engines/tsage/ringworld2/ringworld2_dialogs.h b/engines/tsage/ringworld2/ringworld2_dialogs.h index 0c19ae4371..8ef35c9024 100644 --- a/engines/tsage/ringworld2/ringworld2_dialogs.h +++ b/engines/tsage/ringworld2/ringworld2_dialogs.h @@ -8,12 +8,12 @@ * 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 + * 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. diff --git a/engines/tsage/ringworld2/ringworld2_logic.cpp b/engines/tsage/ringworld2/ringworld2_logic.cpp index e845771c21..555e3951dd 100644 --- a/engines/tsage/ringworld2/ringworld2_logic.cpp +++ b/engines/tsage/ringworld2/ringworld2_logic.cpp @@ -8,12 +8,12 @@ * 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 + * 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. diff --git a/engines/tsage/ringworld2/ringworld2_logic.h b/engines/tsage/ringworld2/ringworld2_logic.h index 101b0f53cd..94dd2946fd 100644 --- a/engines/tsage/ringworld2/ringworld2_logic.h +++ b/engines/tsage/ringworld2/ringworld2_logic.h @@ -8,12 +8,12 @@ * 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 + * 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. diff --git a/engines/tsage/ringworld2/ringworld2_scenes0.cpp b/engines/tsage/ringworld2/ringworld2_scenes0.cpp index d33ad9eb68..5f532e3b9a 100644 --- a/engines/tsage/ringworld2/ringworld2_scenes0.cpp +++ b/engines/tsage/ringworld2/ringworld2_scenes0.cpp @@ -8,12 +8,12 @@ * 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 + * 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. diff --git a/engines/tsage/ringworld2/ringworld2_scenes0.h b/engines/tsage/ringworld2/ringworld2_scenes0.h index ba93dda652..1c8f955557 100644 --- a/engines/tsage/ringworld2/ringworld2_scenes0.h +++ b/engines/tsage/ringworld2/ringworld2_scenes0.h @@ -8,12 +8,12 @@ * 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 + * 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. diff --git a/engines/tsage/ringworld2/ringworld2_scenes1.cpp b/engines/tsage/ringworld2/ringworld2_scenes1.cpp index 058a1cb8be..110c3ff510 100644 --- a/engines/tsage/ringworld2/ringworld2_scenes1.cpp +++ b/engines/tsage/ringworld2/ringworld2_scenes1.cpp @@ -5,15 +5,15 @@ * 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 GenWeral Public License + * 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 + * 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. diff --git a/engines/tsage/ringworld2/ringworld2_scenes1.h b/engines/tsage/ringworld2/ringworld2_scenes1.h index c809353051..91c4b88391 100644 --- a/engines/tsage/ringworld2/ringworld2_scenes1.h +++ b/engines/tsage/ringworld2/ringworld2_scenes1.h @@ -8,12 +8,12 @@ * 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 + * 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. diff --git a/engines/tsage/ringworld2/ringworld2_scenes2.cpp b/engines/tsage/ringworld2/ringworld2_scenes2.cpp index ad9dbf5a98..bd8a0cdd0d 100644 --- a/engines/tsage/ringworld2/ringworld2_scenes2.cpp +++ b/engines/tsage/ringworld2/ringworld2_scenes2.cpp @@ -8,12 +8,12 @@ * 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 + * 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. diff --git a/engines/tsage/ringworld2/ringworld2_scenes2.h b/engines/tsage/ringworld2/ringworld2_scenes2.h index 3960d93f94..1339504712 100644 --- a/engines/tsage/ringworld2/ringworld2_scenes2.h +++ b/engines/tsage/ringworld2/ringworld2_scenes2.h @@ -8,12 +8,12 @@ * 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 + * 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. diff --git a/engines/tsage/ringworld2/ringworld2_scenes3.cpp b/engines/tsage/ringworld2/ringworld2_scenes3.cpp index 36d7bf845b..95f8c85efe 100644 --- a/engines/tsage/ringworld2/ringworld2_scenes3.cpp +++ b/engines/tsage/ringworld2/ringworld2_scenes3.cpp @@ -8,12 +8,12 @@ * 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 + * 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. diff --git a/engines/tsage/ringworld2/ringworld2_scenes3.h b/engines/tsage/ringworld2/ringworld2_scenes3.h index e6f74d6e53..c73f8548e4 100644 --- a/engines/tsage/ringworld2/ringworld2_scenes3.h +++ b/engines/tsage/ringworld2/ringworld2_scenes3.h @@ -8,12 +8,12 @@ * 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 + * 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. diff --git a/engines/tsage/ringworld2/ringworld2_speakers.cpp b/engines/tsage/ringworld2/ringworld2_speakers.cpp index 494a31a829..6d4ef4ab75 100644 --- a/engines/tsage/ringworld2/ringworld2_speakers.cpp +++ b/engines/tsage/ringworld2/ringworld2_speakers.cpp @@ -8,12 +8,12 @@ * 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 + * 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. diff --git a/engines/tsage/ringworld2/ringworld2_speakers.h b/engines/tsage/ringworld2/ringworld2_speakers.h index d70652ff97..4a794f65c8 100644 --- a/engines/tsage/ringworld2/ringworld2_speakers.h +++ b/engines/tsage/ringworld2/ringworld2_speakers.h @@ -8,12 +8,12 @@ * 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 + * 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. diff --git a/engines/tsage/saveload.cpp b/engines/tsage/saveload.cpp index f9e84e8913..fe71c03973 100644 --- a/engines/tsage/saveload.cpp +++ b/engines/tsage/saveload.cpp @@ -8,12 +8,12 @@ * 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 + * 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. diff --git a/engines/tsage/saveload.h b/engines/tsage/saveload.h index 42fd4f3282..a6ad71699e 100644 --- a/engines/tsage/saveload.h +++ b/engines/tsage/saveload.h @@ -8,12 +8,12 @@ * 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 + * 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. diff --git a/engines/tsage/scenes.cpp b/engines/tsage/scenes.cpp index b41e8175c6..5347c588b6 100644 --- a/engines/tsage/scenes.cpp +++ b/engines/tsage/scenes.cpp @@ -8,12 +8,12 @@ * 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 + * 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. diff --git a/engines/tsage/scenes.h b/engines/tsage/scenes.h index 4d36192cec..9e3857af5e 100644 --- a/engines/tsage/scenes.h +++ b/engines/tsage/scenes.h @@ -8,12 +8,12 @@ * 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 + * 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. diff --git a/engines/tsage/sound.cpp b/engines/tsage/sound.cpp index 6633d15c26..b6434b3523 100644 --- a/engines/tsage/sound.cpp +++ b/engines/tsage/sound.cpp @@ -8,12 +8,12 @@ * 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 + * 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. diff --git a/engines/tsage/sound.h b/engines/tsage/sound.h index fefe8ad101..ff9379c254 100644 --- a/engines/tsage/sound.h +++ b/engines/tsage/sound.h @@ -8,12 +8,12 @@ * 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 + * 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. diff --git a/engines/tsage/staticres.cpp b/engines/tsage/staticres.cpp index fb08195180..311f7965c7 100644 --- a/engines/tsage/staticres.cpp +++ b/engines/tsage/staticres.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/tsage/staticres.h b/engines/tsage/staticres.h index 334a240f28..f6fef378ae 100644 --- a/engines/tsage/staticres.h +++ b/engines/tsage/staticres.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/tsage/tsage.cpp b/engines/tsage/tsage.cpp index 36708e373e..0b882d5cbf 100644 --- a/engines/tsage/tsage.cpp +++ b/engines/tsage/tsage.cpp @@ -8,12 +8,12 @@ * 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 + * 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. diff --git a/engines/tsage/tsage.h b/engines/tsage/tsage.h index e69fe0612a..ea4f5da6ea 100644 --- a/engines/tsage/tsage.h +++ b/engines/tsage/tsage.h @@ -8,12 +8,12 @@ * 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 + * 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. diff --git a/engines/tsage/user_interface.cpp b/engines/tsage/user_interface.cpp index e0b624d7d5..45bfe2b5ea 100644 --- a/engines/tsage/user_interface.cpp +++ b/engines/tsage/user_interface.cpp @@ -8,12 +8,12 @@ * 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 + * 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. diff --git a/engines/tsage/user_interface.h b/engines/tsage/user_interface.h index bc2398bf05..7cde2900f8 100644 --- a/engines/tsage/user_interface.h +++ b/engines/tsage/user_interface.h @@ -8,12 +8,12 @@ * 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 + * 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. -- cgit v1.2.3 From 9e90dcd346d48e62cd66b304e6d5339fa8b75f9d Mon Sep 17 00:00:00 2001 From: Johannes Schickel Date: Tue, 18 Feb 2014 02:34:26 +0100 Subject: TUCKER: Make GPL headers consistent in themselves. --- engines/tucker/console.cpp | 6 +++--- engines/tucker/console.h | 4 ++-- engines/tucker/detection.cpp | 4 ++-- engines/tucker/graphics.cpp | 4 ++-- engines/tucker/graphics.h | 4 ++-- engines/tucker/locations.cpp | 4 ++-- engines/tucker/resource.cpp | 4 ++-- engines/tucker/saveload.cpp | 4 ++-- engines/tucker/sequences.cpp | 4 ++-- engines/tucker/staticres.cpp | 4 ++-- engines/tucker/tucker.cpp | 4 ++-- engines/tucker/tucker.h | 4 ++-- 12 files changed, 25 insertions(+), 25 deletions(-) diff --git a/engines/tucker/console.cpp b/engines/tucker/console.cpp index 17ba2038d0..49e0ac479f 100644 --- a/engines/tucker/console.cpp +++ b/engines/tucker/console.cpp @@ -8,12 +8,12 @@ * 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 + * 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. diff --git a/engines/tucker/console.h b/engines/tucker/console.h index 6be56d5594..22f4d5803f 100644 --- a/engines/tucker/console.h +++ b/engines/tucker/console.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/tucker/detection.cpp b/engines/tucker/detection.cpp index e4a74f6c37..3d7859e4fd 100644 --- a/engines/tucker/detection.cpp +++ b/engines/tucker/detection.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/tucker/graphics.cpp b/engines/tucker/graphics.cpp index e6fb70ac16..5e3d989110 100644 --- a/engines/tucker/graphics.cpp +++ b/engines/tucker/graphics.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/tucker/graphics.h b/engines/tucker/graphics.h index 2b4a57d65d..3e2745186c 100644 --- a/engines/tucker/graphics.h +++ b/engines/tucker/graphics.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/tucker/locations.cpp b/engines/tucker/locations.cpp index f6d34c295b..13d5f06894 100644 --- a/engines/tucker/locations.cpp +++ b/engines/tucker/locations.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/tucker/resource.cpp b/engines/tucker/resource.cpp index 1b04f3fae9..1c223c67d3 100644 --- a/engines/tucker/resource.cpp +++ b/engines/tucker/resource.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/tucker/saveload.cpp b/engines/tucker/saveload.cpp index 5133bc15e8..5f40cbf904 100644 --- a/engines/tucker/saveload.cpp +++ b/engines/tucker/saveload.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/tucker/sequences.cpp b/engines/tucker/sequences.cpp index bd03eed00b..4b36a13f76 100644 --- a/engines/tucker/sequences.cpp +++ b/engines/tucker/sequences.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/tucker/staticres.cpp b/engines/tucker/staticres.cpp index 388f5ba05c..b884851d7e 100644 --- a/engines/tucker/staticres.cpp +++ b/engines/tucker/staticres.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/tucker/tucker.cpp b/engines/tucker/tucker.cpp index d443cd3a88..7eb4856050 100644 --- a/engines/tucker/tucker.cpp +++ b/engines/tucker/tucker.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/tucker/tucker.h b/engines/tucker/tucker.h index c9e4d986bb..1a970e3a0c 100644 --- a/engines/tucker/tucker.h +++ b/engines/tucker/tucker.h @@ -8,12 +8,12 @@ * 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. -- cgit v1.2.3 From 8f3a923686a5a29e8affff2b624deff35938d5dc Mon Sep 17 00:00:00 2001 From: Johannes Schickel Date: Tue, 18 Feb 2014 02:34:27 +0100 Subject: VIDEO: Make GPL headers consistent in themselves. --- video/avi_decoder.cpp | 4 ++-- video/avi_decoder.h | 4 ++-- video/bink_decoder.cpp | 4 ++-- video/bink_decoder.h | 4 ++-- video/binkdata.h | 4 ++-- video/codecs/cdtoons.cpp | 4 ++-- video/codecs/cdtoons.h | 4 ++-- video/codecs/cinepak.cpp | 4 ++-- video/codecs/cinepak.h | 4 ++-- video/codecs/codec.h | 4 ++-- video/codecs/indeo3.cpp | 4 ++-- video/codecs/indeo3.h | 4 ++-- video/codecs/jpeg.cpp | 4 ++-- video/codecs/jpeg.h | 4 ++-- video/codecs/mjpeg.cpp | 4 ++-- video/codecs/mjpeg.h | 4 ++-- video/codecs/mpeg.cpp | 4 ++-- video/codecs/mpeg.h | 4 ++-- video/codecs/msrle.cpp | 4 ++-- video/codecs/msrle.h | 4 ++-- video/codecs/msvideo1.cpp | 4 ++-- video/codecs/msvideo1.h | 4 ++-- video/codecs/qtrle.cpp | 4 ++-- video/codecs/qtrle.h | 4 ++-- video/codecs/rpza.cpp | 4 ++-- video/codecs/rpza.h | 4 ++-- video/codecs/smc.cpp | 4 ++-- video/codecs/smc.h | 4 ++-- video/codecs/svq1.cpp | 4 ++-- video/codecs/svq1.h | 4 ++-- video/codecs/svq1_cb.h | 4 ++-- video/codecs/svq1_vlc.h | 4 ++-- video/codecs/truemotion1.cpp | 4 ++-- video/codecs/truemotion1.h | 4 ++-- video/codecs/truemotion1data.h | 4 ++-- video/coktel_decoder.cpp | 4 ++-- video/coktel_decoder.h | 4 ++-- video/dxa_decoder.cpp | 4 ++-- video/dxa_decoder.h | 4 ++-- video/flic_decoder.cpp | 4 ++-- video/flic_decoder.h | 4 ++-- video/psx_decoder.cpp | 4 ++-- video/psx_decoder.h | 4 ++-- video/qt_decoder.cpp | 4 ++-- video/qt_decoder.h | 4 ++-- video/smk_decoder.cpp | 4 ++-- video/smk_decoder.h | 4 ++-- video/theora_decoder.cpp | 4 ++-- video/theora_decoder.h | 4 ++-- video/video_decoder.cpp | 4 ++-- video/video_decoder.h | 4 ++-- 51 files changed, 102 insertions(+), 102 deletions(-) diff --git a/video/avi_decoder.cpp b/video/avi_decoder.cpp index 4e561cfddf..c6463269d3 100644 --- a/video/avi_decoder.cpp +++ b/video/avi_decoder.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/video/avi_decoder.h b/video/avi_decoder.h index 811f7f82f7..2efe0e19c2 100644 --- a/video/avi_decoder.h +++ b/video/avi_decoder.h @@ -8,12 +8,12 @@ * 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. diff --git a/video/bink_decoder.cpp b/video/bink_decoder.cpp index bad34e8373..be4dc549a4 100644 --- a/video/bink_decoder.cpp +++ b/video/bink_decoder.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/video/bink_decoder.h b/video/bink_decoder.h index fb2998fb6e..f0f9ae2b29 100644 --- a/video/bink_decoder.h +++ b/video/bink_decoder.h @@ -8,12 +8,12 @@ * 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. diff --git a/video/binkdata.h b/video/binkdata.h index 02105a7493..dc72f7eacd 100644 --- a/video/binkdata.h +++ b/video/binkdata.h @@ -8,12 +8,12 @@ * 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. diff --git a/video/codecs/cdtoons.cpp b/video/codecs/cdtoons.cpp index 68925ed0db..8f69d52f74 100644 --- a/video/codecs/cdtoons.cpp +++ b/video/codecs/cdtoons.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/video/codecs/cdtoons.h b/video/codecs/cdtoons.h index 74d30ce8ea..9fec370d1c 100644 --- a/video/codecs/cdtoons.h +++ b/video/codecs/cdtoons.h @@ -8,12 +8,12 @@ * 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. diff --git a/video/codecs/cinepak.cpp b/video/codecs/cinepak.cpp index a7782f4192..229a0aed99 100644 --- a/video/codecs/cinepak.cpp +++ b/video/codecs/cinepak.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/video/codecs/cinepak.h b/video/codecs/cinepak.h index f4adfd50fe..1286077cb9 100644 --- a/video/codecs/cinepak.h +++ b/video/codecs/cinepak.h @@ -8,12 +8,12 @@ * 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. diff --git a/video/codecs/codec.h b/video/codecs/codec.h index a4ad786bb0..f9bed15ee0 100644 --- a/video/codecs/codec.h +++ b/video/codecs/codec.h @@ -8,12 +8,12 @@ * 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. diff --git a/video/codecs/indeo3.cpp b/video/codecs/indeo3.cpp index 28e1a9c620..fc36b4c2d9 100644 --- a/video/codecs/indeo3.cpp +++ b/video/codecs/indeo3.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/video/codecs/indeo3.h b/video/codecs/indeo3.h index 880901df13..2a0c453292 100644 --- a/video/codecs/indeo3.h +++ b/video/codecs/indeo3.h @@ -8,12 +8,12 @@ * 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. diff --git a/video/codecs/jpeg.cpp b/video/codecs/jpeg.cpp index f3886f334a..a5d29ceead 100644 --- a/video/codecs/jpeg.cpp +++ b/video/codecs/jpeg.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/video/codecs/jpeg.h b/video/codecs/jpeg.h index 1023d97779..965d54dd29 100644 --- a/video/codecs/jpeg.h +++ b/video/codecs/jpeg.h @@ -8,12 +8,12 @@ * 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. diff --git a/video/codecs/mjpeg.cpp b/video/codecs/mjpeg.cpp index 61f9eb5881..443a06ee5a 100644 --- a/video/codecs/mjpeg.cpp +++ b/video/codecs/mjpeg.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/video/codecs/mjpeg.h b/video/codecs/mjpeg.h index 16eefa68a7..10bb948901 100644 --- a/video/codecs/mjpeg.h +++ b/video/codecs/mjpeg.h @@ -8,12 +8,12 @@ * 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. diff --git a/video/codecs/mpeg.cpp b/video/codecs/mpeg.cpp index 4540b4182e..6fd7abb512 100644 --- a/video/codecs/mpeg.cpp +++ b/video/codecs/mpeg.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/video/codecs/mpeg.h b/video/codecs/mpeg.h index 3560f4b8b7..0704a05fca 100644 --- a/video/codecs/mpeg.h +++ b/video/codecs/mpeg.h @@ -8,12 +8,12 @@ * 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. diff --git a/video/codecs/msrle.cpp b/video/codecs/msrle.cpp index 2f2ac0334f..f0c0e8cf65 100644 --- a/video/codecs/msrle.cpp +++ b/video/codecs/msrle.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/video/codecs/msrle.h b/video/codecs/msrle.h index 64ebaaee51..edbd263756 100644 --- a/video/codecs/msrle.h +++ b/video/codecs/msrle.h @@ -8,12 +8,12 @@ * 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. diff --git a/video/codecs/msvideo1.cpp b/video/codecs/msvideo1.cpp index 409d588ddf..fd381756e7 100644 --- a/video/codecs/msvideo1.cpp +++ b/video/codecs/msvideo1.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/video/codecs/msvideo1.h b/video/codecs/msvideo1.h index 047d542743..4e406e70cb 100644 --- a/video/codecs/msvideo1.h +++ b/video/codecs/msvideo1.h @@ -8,12 +8,12 @@ * 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. diff --git a/video/codecs/qtrle.cpp b/video/codecs/qtrle.cpp index 1f1fee7997..91c6b97386 100644 --- a/video/codecs/qtrle.cpp +++ b/video/codecs/qtrle.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/video/codecs/qtrle.h b/video/codecs/qtrle.h index a1dd9c9188..5354346957 100644 --- a/video/codecs/qtrle.h +++ b/video/codecs/qtrle.h @@ -8,12 +8,12 @@ * 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. diff --git a/video/codecs/rpza.cpp b/video/codecs/rpza.cpp index 17a2c53d9b..298dcfc2cd 100644 --- a/video/codecs/rpza.cpp +++ b/video/codecs/rpza.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/video/codecs/rpza.h b/video/codecs/rpza.h index 67e0699692..630b5875df 100644 --- a/video/codecs/rpza.h +++ b/video/codecs/rpza.h @@ -8,12 +8,12 @@ * 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. diff --git a/video/codecs/smc.cpp b/video/codecs/smc.cpp index c0f8152547..d751bbcde4 100644 --- a/video/codecs/smc.cpp +++ b/video/codecs/smc.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/video/codecs/smc.h b/video/codecs/smc.h index 4b9f57410a..2532a85856 100644 --- a/video/codecs/smc.h +++ b/video/codecs/smc.h @@ -8,12 +8,12 @@ * 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. diff --git a/video/codecs/svq1.cpp b/video/codecs/svq1.cpp index 57e84968a3..562e5369e3 100644 --- a/video/codecs/svq1.cpp +++ b/video/codecs/svq1.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/video/codecs/svq1.h b/video/codecs/svq1.h index 6667fea344..22fa382a71 100644 --- a/video/codecs/svq1.h +++ b/video/codecs/svq1.h @@ -8,12 +8,12 @@ * 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. diff --git a/video/codecs/svq1_cb.h b/video/codecs/svq1_cb.h index 8281b3fc28..da92ae4c98 100644 --- a/video/codecs/svq1_cb.h +++ b/video/codecs/svq1_cb.h @@ -8,12 +8,12 @@ * 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. diff --git a/video/codecs/svq1_vlc.h b/video/codecs/svq1_vlc.h index 5fb10981f7..01c33fc04f 100644 --- a/video/codecs/svq1_vlc.h +++ b/video/codecs/svq1_vlc.h @@ -8,12 +8,12 @@ * 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. diff --git a/video/codecs/truemotion1.cpp b/video/codecs/truemotion1.cpp index 720e86a4ff..f4cda83afe 100644 --- a/video/codecs/truemotion1.cpp +++ b/video/codecs/truemotion1.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/video/codecs/truemotion1.h b/video/codecs/truemotion1.h index 6ac09af24b..c5ee18006c 100644 --- a/video/codecs/truemotion1.h +++ b/video/codecs/truemotion1.h @@ -8,12 +8,12 @@ * 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. diff --git a/video/codecs/truemotion1data.h b/video/codecs/truemotion1data.h index fabec43566..d988a624d3 100644 --- a/video/codecs/truemotion1data.h +++ b/video/codecs/truemotion1data.h @@ -8,12 +8,12 @@ * 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. diff --git a/video/coktel_decoder.cpp b/video/coktel_decoder.cpp index 024e479bf7..aeb2b75cb5 100644 --- a/video/coktel_decoder.cpp +++ b/video/coktel_decoder.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/video/coktel_decoder.h b/video/coktel_decoder.h index 91d52b65e6..e99c8a25b8 100644 --- a/video/coktel_decoder.h +++ b/video/coktel_decoder.h @@ -8,12 +8,12 @@ * 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. diff --git a/video/dxa_decoder.cpp b/video/dxa_decoder.cpp index 27b1664b07..b61f842341 100644 --- a/video/dxa_decoder.cpp +++ b/video/dxa_decoder.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/video/dxa_decoder.h b/video/dxa_decoder.h index b3f2eca5e2..eef4462aa7 100644 --- a/video/dxa_decoder.h +++ b/video/dxa_decoder.h @@ -8,12 +8,12 @@ * 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. diff --git a/video/flic_decoder.cpp b/video/flic_decoder.cpp index 317dc14691..5d27aa0a59 100644 --- a/video/flic_decoder.cpp +++ b/video/flic_decoder.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/video/flic_decoder.h b/video/flic_decoder.h index c20a092a32..1769e1ed2e 100644 --- a/video/flic_decoder.h +++ b/video/flic_decoder.h @@ -8,12 +8,12 @@ * 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. diff --git a/video/psx_decoder.cpp b/video/psx_decoder.cpp index fd45005770..91f8e1dafc 100644 --- a/video/psx_decoder.cpp +++ b/video/psx_decoder.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/video/psx_decoder.h b/video/psx_decoder.h index d1d5204e37..2d70123b71 100644 --- a/video/psx_decoder.h +++ b/video/psx_decoder.h @@ -8,12 +8,12 @@ * 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. diff --git a/video/qt_decoder.cpp b/video/qt_decoder.cpp index 11a27beb10..20c9b29452 100644 --- a/video/qt_decoder.cpp +++ b/video/qt_decoder.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/video/qt_decoder.h b/video/qt_decoder.h index 28314f2e63..53b7c523c1 100644 --- a/video/qt_decoder.h +++ b/video/qt_decoder.h @@ -8,12 +8,12 @@ * 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. diff --git a/video/smk_decoder.cpp b/video/smk_decoder.cpp index b31ad109ad..ee7a4ce689 100644 --- a/video/smk_decoder.cpp +++ b/video/smk_decoder.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/video/smk_decoder.h b/video/smk_decoder.h index 5298158833..e4f6a52310 100644 --- a/video/smk_decoder.h +++ b/video/smk_decoder.h @@ -8,12 +8,12 @@ * 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. diff --git a/video/theora_decoder.cpp b/video/theora_decoder.cpp index a0ee0a36b4..cb6289bd60 100644 --- a/video/theora_decoder.cpp +++ b/video/theora_decoder.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/video/theora_decoder.h b/video/theora_decoder.h index ac808cdfe6..b85388426b 100644 --- a/video/theora_decoder.h +++ b/video/theora_decoder.h @@ -8,12 +8,12 @@ * 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. diff --git a/video/video_decoder.cpp b/video/video_decoder.cpp index 931bde20d0..c6171c4450 100644 --- a/video/video_decoder.cpp +++ b/video/video_decoder.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/video/video_decoder.h b/video/video_decoder.h index 99161d6f97..2faec0fb3e 100644 --- a/video/video_decoder.h +++ b/video/video_decoder.h @@ -8,12 +8,12 @@ * 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. -- cgit v1.2.3 From 01d20bd0e4e8a17ad45f72526ce909de5d1d46e0 Mon Sep 17 00:00:00 2001 From: Johannes Schickel Date: Tue, 18 Feb 2014 02:34:27 +0100 Subject: VKEYBD: Make GPL headers consistent in themselves. --- backends/vkeybd/virtual-keyboard-gui.cpp | 40 ++++++++++++++++---------------- backends/vkeybd/virtual-keyboard-gui.h | 40 ++++++++++++++++---------------- 2 files changed, 40 insertions(+), 40 deletions(-) diff --git a/backends/vkeybd/virtual-keyboard-gui.cpp b/backends/vkeybd/virtual-keyboard-gui.cpp index ec4cbf1de2..1d2b8285f5 100644 --- a/backends/vkeybd/virtual-keyboard-gui.cpp +++ b/backends/vkeybd/virtual-keyboard-gui.cpp @@ -1,24 +1,24 @@ /* 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. -* -*/ + * + * 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 "common/scummsys.h" diff --git a/backends/vkeybd/virtual-keyboard-gui.h b/backends/vkeybd/virtual-keyboard-gui.h index a2000adea0..c328d1e25d 100644 --- a/backends/vkeybd/virtual-keyboard-gui.h +++ b/backends/vkeybd/virtual-keyboard-gui.h @@ -1,24 +1,24 @@ /* 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. -* -*/ + * + * 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. + * + */ #ifndef COMMON_VIRTUAL_KEYBOARD_GUI_H #define COMMON_VIRTUAL_KEYBOARD_GUI_H -- cgit v1.2.3 From 5c27f7b04f3740eec3a433a94c7cc2ad35fe6d5a Mon Sep 17 00:00:00 2001 From: Johannes Schickel Date: Tue, 18 Feb 2014 02:34:27 +0100 Subject: WEBOS: Make GPL headers consistent in themselves. --- backends/events/webossdl/webossdl-events.cpp | 4 ++-- backends/events/webossdl/webossdl-events.h | 4 ++-- backends/platform/webos/main.cpp | 4 ++-- backends/platform/webos/webos.cpp | 4 ++-- backends/platform/webos/webos.h | 4 ++-- 5 files changed, 10 insertions(+), 10 deletions(-) diff --git a/backends/events/webossdl/webossdl-events.cpp b/backends/events/webossdl/webossdl-events.cpp index 286289f7a6..72106789a5 100644 --- a/backends/events/webossdl/webossdl-events.cpp +++ b/backends/events/webossdl/webossdl-events.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/backends/events/webossdl/webossdl-events.h b/backends/events/webossdl/webossdl-events.h index 1ba5c6fcbf..043acfdf6f 100644 --- a/backends/events/webossdl/webossdl-events.h +++ b/backends/events/webossdl/webossdl-events.h @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/webos/main.cpp b/backends/platform/webos/main.cpp index 43c7ba18af..70b3fe1674 100644 --- a/backends/platform/webos/main.cpp +++ b/backends/platform/webos/main.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/webos/webos.cpp b/backends/platform/webos/webos.cpp index fc18628235..da60b27713 100644 --- a/backends/platform/webos/webos.cpp +++ b/backends/platform/webos/webos.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/webos/webos.h b/backends/platform/webos/webos.h index dda56a70da..a2535ddc08 100644 --- a/backends/platform/webos/webos.h +++ b/backends/platform/webos/webos.h @@ -8,12 +8,12 @@ * 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. -- cgit v1.2.3 From 3b73ceb17eaf57ed9dfdef8503c48a560aaf9f85 Mon Sep 17 00:00:00 2001 From: Johannes Schickel Date: Tue, 18 Feb 2014 02:34:27 +0100 Subject: WII: Make GPL headers consistent in themselves. --- backends/fs/wii/wii-fs.h | 1 + backends/platform/wii/main.cpp | 5 +++-- backends/platform/wii/options.cpp | 2 +- backends/platform/wii/options.h | 2 +- backends/platform/wii/osystem.cpp | 5 +++-- backends/platform/wii/osystem.h | 5 +++-- backends/platform/wii/osystem_events.cpp | 5 +++-- backends/platform/wii/osystem_gfx.cpp | 5 +++-- backends/platform/wii/osystem_sfx.cpp | 5 +++-- backends/plugins/wii/wii-provider.cpp | 4 ++-- backends/plugins/wii/wii-provider.h | 4 ++-- 11 files changed, 25 insertions(+), 18 deletions(-) diff --git a/backends/fs/wii/wii-fs.h b/backends/fs/wii/wii-fs.h index f785101099..c77c543dae 100644 --- a/backends/fs/wii/wii-fs.h +++ b/backends/fs/wii/wii-fs.h @@ -17,6 +17,7 @@ * 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. + * */ #ifndef WII_FILESYSTEM_H diff --git a/backends/platform/wii/main.cpp b/backends/platform/wii/main.cpp index ec6231522e..35d800a527 100644 --- a/backends/platform/wii/main.cpp +++ b/backends/platform/wii/main.cpp @@ -8,15 +8,16 @@ * 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. + * */ #define FORBIDDEN_SYMBOL_EXCEPTION_chdir diff --git a/backends/platform/wii/options.cpp b/backends/platform/wii/options.cpp index ede81343ca..731e979ec0 100644 --- a/backends/platform/wii/options.cpp +++ b/backends/platform/wii/options.cpp @@ -16,7 +16,7 @@ * * 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * */ diff --git a/backends/platform/wii/options.h b/backends/platform/wii/options.h index 9b500ef29f..1fa4acd50e 100644 --- a/backends/platform/wii/options.h +++ b/backends/platform/wii/options.h @@ -16,7 +16,7 @@ * * 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * */ diff --git a/backends/platform/wii/osystem.cpp b/backends/platform/wii/osystem.cpp index 9d3a7473e3..ab2f2c6f0f 100644 --- a/backends/platform/wii/osystem.cpp +++ b/backends/platform/wii/osystem.cpp @@ -8,15 +8,16 @@ * 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. + * */ #define FORBIDDEN_SYMBOL_ALLOW_ALL diff --git a/backends/platform/wii/osystem.h b/backends/platform/wii/osystem.h index 287c70ad6b..f1591614bf 100644 --- a/backends/platform/wii/osystem.h +++ b/backends/platform/wii/osystem.h @@ -8,15 +8,16 @@ * 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. + * */ #ifndef _WII_OSYSTEM_H_ diff --git a/backends/platform/wii/osystem_events.cpp b/backends/platform/wii/osystem_events.cpp index aa63c8aa22..2da1d80917 100644 --- a/backends/platform/wii/osystem_events.cpp +++ b/backends/platform/wii/osystem_events.cpp @@ -8,15 +8,16 @@ * 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. + * */ #define FORBIDDEN_SYMBOL_EXCEPTION_printf diff --git a/backends/platform/wii/osystem_gfx.cpp b/backends/platform/wii/osystem_gfx.cpp index 92c890b0a9..001cfea31e 100644 --- a/backends/platform/wii/osystem_gfx.cpp +++ b/backends/platform/wii/osystem_gfx.cpp @@ -8,15 +8,16 @@ * 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. + * */ #define FORBIDDEN_SYMBOL_EXCEPTION_printf diff --git a/backends/platform/wii/osystem_sfx.cpp b/backends/platform/wii/osystem_sfx.cpp index 2e658e47aa..70a440a600 100644 --- a/backends/platform/wii/osystem_sfx.cpp +++ b/backends/platform/wii/osystem_sfx.cpp @@ -8,15 +8,16 @@ * 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. + * */ #define FORBIDDEN_SYMBOL_EXCEPTION_printf diff --git a/backends/plugins/wii/wii-provider.cpp b/backends/plugins/wii/wii-provider.cpp index f96254eabe..4d7391b44e 100644 --- a/backends/plugins/wii/wii-provider.cpp +++ b/backends/plugins/wii/wii-provider.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/backends/plugins/wii/wii-provider.h b/backends/plugins/wii/wii-provider.h index fb847e1024..49eba82e8b 100644 --- a/backends/plugins/wii/wii-provider.h +++ b/backends/plugins/wii/wii-provider.h @@ -8,12 +8,12 @@ * 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. -- cgit v1.2.3 From 449ea100d94e39b03a3f347be8a15e4e5f727a95 Mon Sep 17 00:00:00 2001 From: Johannes Schickel Date: Tue, 18 Feb 2014 02:34:27 +0100 Subject: WIN32: Make GPL headers consistent in themselves. --- backends/fs/windows/windows-fs-factory.cpp | 1 + backends/fs/windows/windows-fs-factory.h | 1 + backends/fs/windows/windows-fs.cpp | 1 + backends/fs/windows/windows-fs.h | 1 + backends/midi/windows.cpp | 1 + backends/plugins/win32/win32-provider.cpp | 4 ++-- backends/plugins/win32/win32-provider.h | 4 ++-- backends/saves/windows/windows-saves.cpp | 4 ++-- backends/saves/windows/windows-saves.h | 4 ++-- 9 files changed, 13 insertions(+), 8 deletions(-) diff --git a/backends/fs/windows/windows-fs-factory.cpp b/backends/fs/windows/windows-fs-factory.cpp index 46df253748..9d1b13a0c9 100644 --- a/backends/fs/windows/windows-fs-factory.cpp +++ b/backends/fs/windows/windows-fs-factory.cpp @@ -17,6 +17,7 @@ * 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. + * */ #if defined(WIN32) diff --git a/backends/fs/windows/windows-fs-factory.h b/backends/fs/windows/windows-fs-factory.h index e7c70f1b55..b5df5406a8 100644 --- a/backends/fs/windows/windows-fs-factory.h +++ b/backends/fs/windows/windows-fs-factory.h @@ -17,6 +17,7 @@ * 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. + * */ #ifndef WINDOWS_FILESYSTEM_FACTORY_H diff --git a/backends/fs/windows/windows-fs.cpp b/backends/fs/windows/windows-fs.cpp index 030f394f81..49549b83cb 100644 --- a/backends/fs/windows/windows-fs.cpp +++ b/backends/fs/windows/windows-fs.cpp @@ -17,6 +17,7 @@ * 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. + * */ #if defined(WIN32) diff --git a/backends/fs/windows/windows-fs.h b/backends/fs/windows/windows-fs.h index 351307bef0..d06044603a 100644 --- a/backends/fs/windows/windows-fs.h +++ b/backends/fs/windows/windows-fs.h @@ -17,6 +17,7 @@ * 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. + * */ #ifndef WINDOWS_FILESYSTEM_H diff --git a/backends/midi/windows.cpp b/backends/midi/windows.cpp index f4c5431d6e..e2b327ffa7 100644 --- a/backends/midi/windows.cpp +++ b/backends/midi/windows.cpp @@ -17,6 +17,7 @@ * 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. + * */ // Disable symbol overrides so that we can use system headers. diff --git a/backends/plugins/win32/win32-provider.cpp b/backends/plugins/win32/win32-provider.cpp index 0a08e48e6f..5f4d405da4 100644 --- a/backends/plugins/win32/win32-provider.cpp +++ b/backends/plugins/win32/win32-provider.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/backends/plugins/win32/win32-provider.h b/backends/plugins/win32/win32-provider.h index 42c04e6d59..71e6cf098c 100644 --- a/backends/plugins/win32/win32-provider.h +++ b/backends/plugins/win32/win32-provider.h @@ -8,12 +8,12 @@ * 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. diff --git a/backends/saves/windows/windows-saves.cpp b/backends/saves/windows/windows-saves.cpp index d520632394..b84ab1312d 100644 --- a/backends/saves/windows/windows-saves.cpp +++ b/backends/saves/windows/windows-saves.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/backends/saves/windows/windows-saves.h b/backends/saves/windows/windows-saves.h index a705aa2b7f..d22033273a 100644 --- a/backends/saves/windows/windows-saves.h +++ b/backends/saves/windows/windows-saves.h @@ -8,12 +8,12 @@ * 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. -- cgit v1.2.3 From 224cec46a7d8de2c2744c492e42e4cbdf9a8272a Mon Sep 17 00:00:00 2001 From: Johannes Schickel Date: Tue, 18 Feb 2014 02:34:27 +0100 Subject: WINCE: Make GPL headers consistent in themselves. --- backends/events/wincesdl/wincesdl-events.cpp | 4 ++-- backends/events/wincesdl/wincesdl-events.h | 4 ++-- backends/graphics/wincesdl/wincesdl-graphics.cpp | 4 ++-- backends/graphics/wincesdl/wincesdl-graphics.h | 4 ++-- backends/mixer/wincesdl/wincesdl-mixer.cpp | 4 ++-- backends/mixer/wincesdl/wincesdl-mixer.h | 4 ++-- backends/platform/wince/CEActionsPocket.cpp | 4 ++-- backends/platform/wince/CEActionsPocket.h | 4 ++-- backends/platform/wince/CEActionsSmartphone.cpp | 4 ++-- backends/platform/wince/CEActionsSmartphone.h | 4 ++-- backends/platform/wince/CEDevice.cpp | 4 ++-- backends/platform/wince/CEDevice.h | 4 ++-- backends/platform/wince/CEException.cpp | 4 ++-- backends/platform/wince/CEException.h | 4 ++-- backends/platform/wince/CELauncherDialog.cpp | 4 ++-- backends/platform/wince/CELauncherDialog.h | 4 ++-- backends/platform/wince/CEScaler.cpp | 4 ++-- backends/platform/wince/CEScaler.h | 4 ++-- backends/platform/wince/CEgui/CEGUI.h | 4 ++-- backends/platform/wince/CEgui/GUIElement.cpp | 4 ++-- backends/platform/wince/CEgui/GUIElement.h | 4 ++-- backends/platform/wince/CEgui/ItemAction.cpp | 4 ++-- backends/platform/wince/CEgui/ItemAction.h | 4 ++-- backends/platform/wince/CEgui/ItemSwitch.cpp | 4 ++-- backends/platform/wince/CEgui/ItemSwitch.h | 4 ++-- backends/platform/wince/CEgui/Panel.cpp | 4 ++-- backends/platform/wince/CEgui/Panel.h | 4 ++-- backends/platform/wince/CEgui/PanelItem.cpp | 4 ++-- backends/platform/wince/CEgui/PanelItem.h | 4 ++-- backends/platform/wince/CEgui/PanelKeyboard.cpp | 4 ++-- backends/platform/wince/CEgui/PanelKeyboard.h | 4 ++-- backends/platform/wince/CEgui/SDL_ImageResource.cpp | 4 ++-- backends/platform/wince/CEgui/SDL_ImageResource.h | 4 ++-- backends/platform/wince/CEgui/Toolbar.cpp | 4 ++-- backends/platform/wince/CEgui/Toolbar.h | 4 ++-- backends/platform/wince/CEgui/ToolbarHandler.cpp | 4 ++-- backends/platform/wince/CEgui/ToolbarHandler.h | 4 ++-- backends/platform/wince/CEkeys/CEKeys.h | 4 ++-- backends/platform/wince/CEkeys/EventsBuffer.cpp | 4 ++-- backends/platform/wince/CEkeys/EventsBuffer.h | 4 ++-- backends/platform/wince/missing/missing.cpp | 4 ++-- backends/platform/wince/portdefs.h | 4 ++-- backends/platform/wince/stub.cpp | 4 ++-- backends/platform/wince/wince-sdl.cpp | 4 ++-- backends/platform/wince/wince-sdl.h | 4 ++-- 45 files changed, 90 insertions(+), 90 deletions(-) diff --git a/backends/events/wincesdl/wincesdl-events.cpp b/backends/events/wincesdl/wincesdl-events.cpp index e73a4e66dd..d3141ee50c 100644 --- a/backends/events/wincesdl/wincesdl-events.cpp +++ b/backends/events/wincesdl/wincesdl-events.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/backends/events/wincesdl/wincesdl-events.h b/backends/events/wincesdl/wincesdl-events.h index 5eff630c2a..38327681a5 100644 --- a/backends/events/wincesdl/wincesdl-events.h +++ b/backends/events/wincesdl/wincesdl-events.h @@ -8,12 +8,12 @@ * 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. diff --git a/backends/graphics/wincesdl/wincesdl-graphics.cpp b/backends/graphics/wincesdl/wincesdl-graphics.cpp index f075f8cf8a..8e4685dbd8 100644 --- a/backends/graphics/wincesdl/wincesdl-graphics.cpp +++ b/backends/graphics/wincesdl/wincesdl-graphics.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/backends/graphics/wincesdl/wincesdl-graphics.h b/backends/graphics/wincesdl/wincesdl-graphics.h index 2897ca5f40..50b422c10d 100644 --- a/backends/graphics/wincesdl/wincesdl-graphics.h +++ b/backends/graphics/wincesdl/wincesdl-graphics.h @@ -8,12 +8,12 @@ * 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. diff --git a/backends/mixer/wincesdl/wincesdl-mixer.cpp b/backends/mixer/wincesdl/wincesdl-mixer.cpp index db5ab59446..2c70ee76c7 100644 --- a/backends/mixer/wincesdl/wincesdl-mixer.cpp +++ b/backends/mixer/wincesdl/wincesdl-mixer.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/backends/mixer/wincesdl/wincesdl-mixer.h b/backends/mixer/wincesdl/wincesdl-mixer.h index fb51f6ac64..56883fa080 100644 --- a/backends/mixer/wincesdl/wincesdl-mixer.h +++ b/backends/mixer/wincesdl/wincesdl-mixer.h @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/wince/CEActionsPocket.cpp b/backends/platform/wince/CEActionsPocket.cpp index 493a5e688c..09286f2e9f 100644 --- a/backends/platform/wince/CEActionsPocket.cpp +++ b/backends/platform/wince/CEActionsPocket.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/wince/CEActionsPocket.h b/backends/platform/wince/CEActionsPocket.h index e1f52b6b88..f2952c059a 100644 --- a/backends/platform/wince/CEActionsPocket.h +++ b/backends/platform/wince/CEActionsPocket.h @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/wince/CEActionsSmartphone.cpp b/backends/platform/wince/CEActionsSmartphone.cpp index d2bc449dfc..95957707e3 100644 --- a/backends/platform/wince/CEActionsSmartphone.cpp +++ b/backends/platform/wince/CEActionsSmartphone.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/wince/CEActionsSmartphone.h b/backends/platform/wince/CEActionsSmartphone.h index 3da46d3923..46529bbd99 100644 --- a/backends/platform/wince/CEActionsSmartphone.h +++ b/backends/platform/wince/CEActionsSmartphone.h @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/wince/CEDevice.cpp b/backends/platform/wince/CEDevice.cpp index 640b1e9169..ffadfeb993 100644 --- a/backends/platform/wince/CEDevice.cpp +++ b/backends/platform/wince/CEDevice.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/wince/CEDevice.h b/backends/platform/wince/CEDevice.h index b9f815ac71..2032b7fb27 100644 --- a/backends/platform/wince/CEDevice.h +++ b/backends/platform/wince/CEDevice.h @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/wince/CEException.cpp b/backends/platform/wince/CEException.cpp index 4a03354112..46bb618e39 100644 --- a/backends/platform/wince/CEException.cpp +++ b/backends/platform/wince/CEException.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/wince/CEException.h b/backends/platform/wince/CEException.h index 3d4616f282..8ce6bd7dc0 100644 --- a/backends/platform/wince/CEException.h +++ b/backends/platform/wince/CEException.h @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/wince/CELauncherDialog.cpp b/backends/platform/wince/CELauncherDialog.cpp index 3908294682..f7795dfdef 100644 --- a/backends/platform/wince/CELauncherDialog.cpp +++ b/backends/platform/wince/CELauncherDialog.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/wince/CELauncherDialog.h b/backends/platform/wince/CELauncherDialog.h index ac84cd3e21..9f69b8500f 100644 --- a/backends/platform/wince/CELauncherDialog.h +++ b/backends/platform/wince/CELauncherDialog.h @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/wince/CEScaler.cpp b/backends/platform/wince/CEScaler.cpp index 66f7809a3a..321bdd92a9 100644 --- a/backends/platform/wince/CEScaler.cpp +++ b/backends/platform/wince/CEScaler.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/wince/CEScaler.h b/backends/platform/wince/CEScaler.h index de001f7348..fc6540a33c 100644 --- a/backends/platform/wince/CEScaler.h +++ b/backends/platform/wince/CEScaler.h @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/wince/CEgui/CEGUI.h b/backends/platform/wince/CEgui/CEGUI.h index 8b2e3528e3..8b6db6b099 100644 --- a/backends/platform/wince/CEgui/CEGUI.h +++ b/backends/platform/wince/CEgui/CEGUI.h @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/wince/CEgui/GUIElement.cpp b/backends/platform/wince/CEgui/GUIElement.cpp index c8e68b87fd..e33e7f7f9d 100644 --- a/backends/platform/wince/CEgui/GUIElement.cpp +++ b/backends/platform/wince/CEgui/GUIElement.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/wince/CEgui/GUIElement.h b/backends/platform/wince/CEgui/GUIElement.h index 44c4b3f275..6695029877 100644 --- a/backends/platform/wince/CEgui/GUIElement.h +++ b/backends/platform/wince/CEgui/GUIElement.h @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/wince/CEgui/ItemAction.cpp b/backends/platform/wince/CEgui/ItemAction.cpp index 7d6316748b..89ca48efdc 100644 --- a/backends/platform/wince/CEgui/ItemAction.cpp +++ b/backends/platform/wince/CEgui/ItemAction.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/wince/CEgui/ItemAction.h b/backends/platform/wince/CEgui/ItemAction.h index 7b36eaf11a..8de0046d4c 100644 --- a/backends/platform/wince/CEgui/ItemAction.h +++ b/backends/platform/wince/CEgui/ItemAction.h @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/wince/CEgui/ItemSwitch.cpp b/backends/platform/wince/CEgui/ItemSwitch.cpp index 444826201c..7bb0a23a7b 100644 --- a/backends/platform/wince/CEgui/ItemSwitch.cpp +++ b/backends/platform/wince/CEgui/ItemSwitch.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/wince/CEgui/ItemSwitch.h b/backends/platform/wince/CEgui/ItemSwitch.h index 724d31363c..e54b4b1b99 100644 --- a/backends/platform/wince/CEgui/ItemSwitch.h +++ b/backends/platform/wince/CEgui/ItemSwitch.h @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/wince/CEgui/Panel.cpp b/backends/platform/wince/CEgui/Panel.cpp index 0853bae8f2..273d06a054 100644 --- a/backends/platform/wince/CEgui/Panel.cpp +++ b/backends/platform/wince/CEgui/Panel.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/wince/CEgui/Panel.h b/backends/platform/wince/CEgui/Panel.h index 514ee5b8af..db38751073 100644 --- a/backends/platform/wince/CEgui/Panel.h +++ b/backends/platform/wince/CEgui/Panel.h @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/wince/CEgui/PanelItem.cpp b/backends/platform/wince/CEgui/PanelItem.cpp index 2849e256fb..186b5161ef 100644 --- a/backends/platform/wince/CEgui/PanelItem.cpp +++ b/backends/platform/wince/CEgui/PanelItem.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/wince/CEgui/PanelItem.h b/backends/platform/wince/CEgui/PanelItem.h index 8305311ff2..a0a72c2525 100644 --- a/backends/platform/wince/CEgui/PanelItem.h +++ b/backends/platform/wince/CEgui/PanelItem.h @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/wince/CEgui/PanelKeyboard.cpp b/backends/platform/wince/CEgui/PanelKeyboard.cpp index cab02150c5..34ba8d6473 100644 --- a/backends/platform/wince/CEgui/PanelKeyboard.cpp +++ b/backends/platform/wince/CEgui/PanelKeyboard.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/wince/CEgui/PanelKeyboard.h b/backends/platform/wince/CEgui/PanelKeyboard.h index 69d6a89bd2..a0daca81e3 100644 --- a/backends/platform/wince/CEgui/PanelKeyboard.h +++ b/backends/platform/wince/CEgui/PanelKeyboard.h @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/wince/CEgui/SDL_ImageResource.cpp b/backends/platform/wince/CEgui/SDL_ImageResource.cpp index 507f9ad7fe..ec430fc848 100644 --- a/backends/platform/wince/CEgui/SDL_ImageResource.cpp +++ b/backends/platform/wince/CEgui/SDL_ImageResource.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/wince/CEgui/SDL_ImageResource.h b/backends/platform/wince/CEgui/SDL_ImageResource.h index 08807a5c1f..4fd7932743 100644 --- a/backends/platform/wince/CEgui/SDL_ImageResource.h +++ b/backends/platform/wince/CEgui/SDL_ImageResource.h @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/wince/CEgui/Toolbar.cpp b/backends/platform/wince/CEgui/Toolbar.cpp index 0e8e82f1f4..9e04a30210 100644 --- a/backends/platform/wince/CEgui/Toolbar.cpp +++ b/backends/platform/wince/CEgui/Toolbar.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/wince/CEgui/Toolbar.h b/backends/platform/wince/CEgui/Toolbar.h index c7e62bb3d9..d0ac2cdcb3 100644 --- a/backends/platform/wince/CEgui/Toolbar.h +++ b/backends/platform/wince/CEgui/Toolbar.h @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/wince/CEgui/ToolbarHandler.cpp b/backends/platform/wince/CEgui/ToolbarHandler.cpp index f3e42e11fa..534b338cdb 100644 --- a/backends/platform/wince/CEgui/ToolbarHandler.cpp +++ b/backends/platform/wince/CEgui/ToolbarHandler.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/wince/CEgui/ToolbarHandler.h b/backends/platform/wince/CEgui/ToolbarHandler.h index 5709cf3f1a..36f4022bd8 100644 --- a/backends/platform/wince/CEgui/ToolbarHandler.h +++ b/backends/platform/wince/CEgui/ToolbarHandler.h @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/wince/CEkeys/CEKeys.h b/backends/platform/wince/CEkeys/CEKeys.h index cf71b982f3..31f5ba839c 100644 --- a/backends/platform/wince/CEkeys/CEKeys.h +++ b/backends/platform/wince/CEkeys/CEKeys.h @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/wince/CEkeys/EventsBuffer.cpp b/backends/platform/wince/CEkeys/EventsBuffer.cpp index c993798dc8..b4fdc0010d 100644 --- a/backends/platform/wince/CEkeys/EventsBuffer.cpp +++ b/backends/platform/wince/CEkeys/EventsBuffer.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/wince/CEkeys/EventsBuffer.h b/backends/platform/wince/CEkeys/EventsBuffer.h index 235a3e7afd..6c1b12cc24 100644 --- a/backends/platform/wince/CEkeys/EventsBuffer.h +++ b/backends/platform/wince/CEkeys/EventsBuffer.h @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/wince/missing/missing.cpp b/backends/platform/wince/missing/missing.cpp index ba35f15bb7..0355f35a69 100644 --- a/backends/platform/wince/missing/missing.cpp +++ b/backends/platform/wince/missing/missing.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/wince/portdefs.h b/backends/platform/wince/portdefs.h index 289406c2a4..3304ee0893 100644 --- a/backends/platform/wince/portdefs.h +++ b/backends/platform/wince/portdefs.h @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/wince/stub.cpp b/backends/platform/wince/stub.cpp index 9f42dc76aa..aba3fb973e 100644 --- a/backends/platform/wince/stub.cpp +++ b/backends/platform/wince/stub.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/wince/wince-sdl.cpp b/backends/platform/wince/wince-sdl.cpp index 1c9c178460..96c9313c5d 100644 --- a/backends/platform/wince/wince-sdl.cpp +++ b/backends/platform/wince/wince-sdl.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/backends/platform/wince/wince-sdl.h b/backends/platform/wince/wince-sdl.h index b4f323c9e2..2d5a02a23d 100644 --- a/backends/platform/wince/wince-sdl.h +++ b/backends/platform/wince/wince-sdl.h @@ -8,12 +8,12 @@ * 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. -- cgit v1.2.3 From fc5ef58fff6bd1b73732efadab27b124614ecce0 Mon Sep 17 00:00:00 2001 From: Johannes Schickel Date: Tue, 18 Feb 2014 02:34:27 +0100 Subject: WINTERMUTE: Make GPL headers consistent in themselves. --- engines/wintermute/ad/ad_actor.cpp | 4 ++-- engines/wintermute/ad/ad_actor.h | 4 ++-- engines/wintermute/ad/ad_entity.cpp | 4 ++-- engines/wintermute/ad/ad_entity.h | 4 ++-- engines/wintermute/ad/ad_game.cpp | 4 ++-- engines/wintermute/ad/ad_game.h | 4 ++-- engines/wintermute/ad/ad_inventory.cpp | 4 ++-- engines/wintermute/ad/ad_inventory.h | 4 ++-- engines/wintermute/ad/ad_inventory_box.cpp | 4 ++-- engines/wintermute/ad/ad_inventory_box.h | 4 ++-- engines/wintermute/ad/ad_item.cpp | 4 ++-- engines/wintermute/ad/ad_item.h | 4 ++-- engines/wintermute/ad/ad_layer.cpp | 4 ++-- engines/wintermute/ad/ad_layer.h | 4 ++-- engines/wintermute/ad/ad_node_state.cpp | 4 ++-- engines/wintermute/ad/ad_node_state.h | 4 ++-- engines/wintermute/ad/ad_object.cpp | 4 ++-- engines/wintermute/ad/ad_object.h | 4 ++-- engines/wintermute/ad/ad_path.cpp | 4 ++-- engines/wintermute/ad/ad_path.h | 4 ++-- engines/wintermute/ad/ad_path_point.cpp | 4 ++-- engines/wintermute/ad/ad_path_point.h | 4 ++-- engines/wintermute/ad/ad_region.cpp | 4 ++-- engines/wintermute/ad/ad_region.h | 4 ++-- engines/wintermute/ad/ad_response.cpp | 4 ++-- engines/wintermute/ad/ad_response.h | 4 ++-- engines/wintermute/ad/ad_response_box.cpp | 4 ++-- engines/wintermute/ad/ad_response_box.h | 4 ++-- engines/wintermute/ad/ad_response_context.cpp | 4 ++-- engines/wintermute/ad/ad_response_context.h | 4 ++-- engines/wintermute/ad/ad_rot_level.cpp | 4 ++-- engines/wintermute/ad/ad_rot_level.h | 4 ++-- engines/wintermute/ad/ad_scale_level.cpp | 4 ++-- engines/wintermute/ad/ad_scale_level.h | 4 ++-- engines/wintermute/ad/ad_scene.cpp | 4 ++-- engines/wintermute/ad/ad_scene.h | 4 ++-- engines/wintermute/ad/ad_scene_node.cpp | 4 ++-- engines/wintermute/ad/ad_scene_node.h | 4 ++-- engines/wintermute/ad/ad_scene_state.cpp | 4 ++-- engines/wintermute/ad/ad_scene_state.h | 4 ++-- engines/wintermute/ad/ad_sentence.cpp | 4 ++-- engines/wintermute/ad/ad_sentence.h | 4 ++-- engines/wintermute/ad/ad_sprite_set.cpp | 4 ++-- engines/wintermute/ad/ad_sprite_set.h | 4 ++-- engines/wintermute/ad/ad_talk_def.cpp | 4 ++-- engines/wintermute/ad/ad_talk_def.h | 4 ++-- engines/wintermute/ad/ad_talk_holder.cpp | 4 ++-- engines/wintermute/ad/ad_talk_holder.h | 4 ++-- engines/wintermute/ad/ad_talk_node.cpp | 4 ++-- engines/wintermute/ad/ad_talk_node.h | 4 ++-- engines/wintermute/ad/ad_types.h | 4 ++-- engines/wintermute/ad/ad_waypoint_group.cpp | 4 ++-- engines/wintermute/ad/ad_waypoint_group.h | 4 ++-- engines/wintermute/base/base.cpp | 4 ++-- engines/wintermute/base/base.h | 4 ++-- engines/wintermute/base/base_active_rect.cpp | 4 ++-- engines/wintermute/base/base_active_rect.h | 4 ++-- engines/wintermute/base/base_dynamic_buffer.cpp | 4 ++-- engines/wintermute/base/base_dynamic_buffer.h | 4 ++-- engines/wintermute/base/base_engine.cpp | 4 ++-- engines/wintermute/base/base_engine.h | 4 ++-- engines/wintermute/base/base_fader.cpp | 4 ++-- engines/wintermute/base/base_fader.h | 4 ++-- engines/wintermute/base/base_file_manager.cpp | 4 ++-- engines/wintermute/base/base_file_manager.h | 4 ++-- engines/wintermute/base/base_frame.cpp | 4 ++-- engines/wintermute/base/base_frame.h | 4 ++-- engines/wintermute/base/base_game.cpp | 4 ++-- engines/wintermute/base/base_game.h | 4 ++-- engines/wintermute/base/base_game_music.cpp | 4 ++-- engines/wintermute/base/base_game_music.h | 4 ++-- engines/wintermute/base/base_game_settings.cpp | 4 ++-- engines/wintermute/base/base_game_settings.h | 4 ++-- engines/wintermute/base/base_keyboard_state.cpp | 4 ++-- engines/wintermute/base/base_keyboard_state.h | 4 ++-- engines/wintermute/base/base_named_object.cpp | 4 ++-- engines/wintermute/base/base_named_object.h | 4 ++-- engines/wintermute/base/base_object.cpp | 4 ++-- engines/wintermute/base/base_object.h | 4 ++-- engines/wintermute/base/base_parser.cpp | 4 ++-- engines/wintermute/base/base_parser.h | 4 ++-- engines/wintermute/base/base_persistence_manager.cpp | 4 ++-- engines/wintermute/base/base_persistence_manager.h | 4 ++-- engines/wintermute/base/base_point.cpp | 4 ++-- engines/wintermute/base/base_point.h | 4 ++-- engines/wintermute/base/base_quick_msg.cpp | 4 ++-- engines/wintermute/base/base_quick_msg.h | 4 ++-- engines/wintermute/base/base_region.cpp | 4 ++-- engines/wintermute/base/base_region.h | 4 ++-- engines/wintermute/base/base_script_holder.cpp | 4 ++-- engines/wintermute/base/base_script_holder.h | 4 ++-- engines/wintermute/base/base_scriptable.cpp | 4 ++-- engines/wintermute/base/base_scriptable.h | 4 ++-- engines/wintermute/base/base_sprite.cpp | 4 ++-- engines/wintermute/base/base_sprite.h | 4 ++-- engines/wintermute/base/base_string_table.cpp | 4 ++-- engines/wintermute/base/base_string_table.h | 4 ++-- engines/wintermute/base/base_sub_frame.cpp | 4 ++-- engines/wintermute/base/base_sub_frame.h | 4 ++-- engines/wintermute/base/base_surface_storage.cpp | 4 ++-- engines/wintermute/base/base_surface_storage.h | 4 ++-- engines/wintermute/base/base_transition_manager.cpp | 4 ++-- engines/wintermute/base/base_transition_manager.h | 4 ++-- engines/wintermute/base/base_viewport.cpp | 4 ++-- engines/wintermute/base/base_viewport.h | 4 ++-- engines/wintermute/base/file/base_disk_file.cpp | 4 ++-- engines/wintermute/base/file/base_disk_file.h | 4 ++-- engines/wintermute/base/file/base_file.cpp | 4 ++-- engines/wintermute/base/file/base_file.h | 4 ++-- engines/wintermute/base/file/base_file_entry.cpp | 4 ++-- engines/wintermute/base/file/base_file_entry.h | 4 ++-- engines/wintermute/base/file/base_package.cpp | 4 ++-- engines/wintermute/base/file/base_package.h | 4 ++-- engines/wintermute/base/file/base_save_thumb_file.cpp | 4 ++-- engines/wintermute/base/file/base_save_thumb_file.h | 4 ++-- engines/wintermute/base/file/dcpackage.h | 4 ++-- engines/wintermute/base/font/base_font.cpp | 4 ++-- engines/wintermute/base/font/base_font.h | 4 ++-- engines/wintermute/base/font/base_font_bitmap.cpp | 4 ++-- engines/wintermute/base/font/base_font_bitmap.h | 4 ++-- engines/wintermute/base/font/base_font_storage.cpp | 4 ++-- engines/wintermute/base/font/base_font_storage.h | 4 ++-- engines/wintermute/base/font/base_font_truetype.cpp | 4 ++-- engines/wintermute/base/font/base_font_truetype.h | 4 ++-- engines/wintermute/base/gfx/base_image.cpp | 4 ++-- engines/wintermute/base/gfx/base_image.h | 4 ++-- engines/wintermute/base/gfx/base_renderer.cpp | 4 ++-- engines/wintermute/base/gfx/base_renderer.h | 4 ++-- engines/wintermute/base/gfx/base_surface.cpp | 4 ++-- engines/wintermute/base/gfx/base_surface.h | 4 ++-- engines/wintermute/base/gfx/osystem/base_render_osystem.cpp | 4 ++-- engines/wintermute/base/gfx/osystem/base_render_osystem.h | 4 ++-- engines/wintermute/base/gfx/osystem/base_surface_osystem.cpp | 4 ++-- engines/wintermute/base/gfx/osystem/base_surface_osystem.h | 4 ++-- engines/wintermute/base/gfx/osystem/render_ticket.cpp | 4 ++-- engines/wintermute/base/gfx/osystem/render_ticket.h | 4 ++-- engines/wintermute/base/particles/part_emitter.cpp | 4 ++-- engines/wintermute/base/particles/part_emitter.h | 4 ++-- engines/wintermute/base/particles/part_force.cpp | 4 ++-- engines/wintermute/base/particles/part_force.h | 4 ++-- engines/wintermute/base/particles/part_particle.cpp | 4 ++-- engines/wintermute/base/particles/part_particle.h | 4 ++-- engines/wintermute/base/save_thumb_helper.cpp | 4 ++-- engines/wintermute/base/save_thumb_helper.h | 4 ++-- engines/wintermute/base/saveload.cpp | 4 ++-- engines/wintermute/base/saveload.h | 4 ++-- engines/wintermute/base/scriptables/dcscript.h | 4 ++-- engines/wintermute/base/scriptables/script.cpp | 4 ++-- engines/wintermute/base/scriptables/script.h | 4 ++-- engines/wintermute/base/scriptables/script_engine.cpp | 4 ++-- engines/wintermute/base/scriptables/script_engine.h | 4 ++-- engines/wintermute/base/scriptables/script_ext_array.cpp | 4 ++-- engines/wintermute/base/scriptables/script_ext_array.h | 4 ++-- engines/wintermute/base/scriptables/script_ext_date.cpp | 4 ++-- engines/wintermute/base/scriptables/script_ext_date.h | 4 ++-- engines/wintermute/base/scriptables/script_ext_file.cpp | 4 ++-- engines/wintermute/base/scriptables/script_ext_file.h | 4 ++-- engines/wintermute/base/scriptables/script_ext_math.cpp | 4 ++-- engines/wintermute/base/scriptables/script_ext_math.h | 4 ++-- engines/wintermute/base/scriptables/script_ext_mem_buffer.cpp | 4 ++-- engines/wintermute/base/scriptables/script_ext_mem_buffer.h | 4 ++-- engines/wintermute/base/scriptables/script_ext_object.cpp | 4 ++-- engines/wintermute/base/scriptables/script_ext_object.h | 4 ++-- engines/wintermute/base/scriptables/script_ext_string.cpp | 4 ++-- engines/wintermute/base/scriptables/script_ext_string.h | 4 ++-- engines/wintermute/base/scriptables/script_stack.cpp | 4 ++-- engines/wintermute/base/scriptables/script_stack.h | 4 ++-- engines/wintermute/base/scriptables/script_value.cpp | 4 ++-- engines/wintermute/base/scriptables/script_value.h | 4 ++-- engines/wintermute/base/sound/base_sound.cpp | 4 ++-- engines/wintermute/base/sound/base_sound.h | 4 ++-- engines/wintermute/base/sound/base_sound_buffer.cpp | 4 ++-- engines/wintermute/base/sound/base_sound_buffer.h | 4 ++-- engines/wintermute/base/sound/base_sound_manager.cpp | 4 ++-- engines/wintermute/base/sound/base_sound_manager.h | 4 ++-- engines/wintermute/base/timer.cpp | 4 ++-- engines/wintermute/base/timer.h | 4 ++-- engines/wintermute/coll_templ.h | 4 ++-- engines/wintermute/dcgf.h | 4 ++-- engines/wintermute/dctypes.h | 4 ++-- engines/wintermute/debugger.cpp | 4 ++-- engines/wintermute/debugger.h | 4 ++-- engines/wintermute/detection.cpp | 4 ++-- engines/wintermute/detection_tables.h | 4 ++-- engines/wintermute/graphics/transform_struct.cpp | 4 ++-- engines/wintermute/graphics/transform_struct.h | 4 ++-- engines/wintermute/graphics/transform_tools.cpp | 4 ++-- engines/wintermute/graphics/transform_tools.h | 4 ++-- engines/wintermute/graphics/transparent_surface.h | 1 + engines/wintermute/math/floatpoint.h | 4 ++-- engines/wintermute/math/math_util.cpp | 4 ++-- engines/wintermute/math/math_util.h | 4 ++-- engines/wintermute/math/matrix4.cpp | 4 ++-- engines/wintermute/math/matrix4.h | 4 ++-- engines/wintermute/math/rect32.h | 4 ++-- engines/wintermute/math/vector2.cpp | 4 ++-- engines/wintermute/math/vector2.h | 4 ++-- engines/wintermute/persistent.cpp | 4 ++-- engines/wintermute/persistent.h | 4 ++-- engines/wintermute/platform_osystem.cpp | 4 ++-- engines/wintermute/platform_osystem.h | 4 ++-- engines/wintermute/system/sys_class.cpp | 4 ++-- engines/wintermute/system/sys_class.h | 4 ++-- engines/wintermute/system/sys_class_registry.cpp | 4 ++-- engines/wintermute/system/sys_class_registry.h | 4 ++-- engines/wintermute/system/sys_instance.cpp | 4 ++-- engines/wintermute/system/sys_instance.h | 4 ++-- engines/wintermute/ui/ui_button.cpp | 4 ++-- engines/wintermute/ui/ui_button.h | 4 ++-- engines/wintermute/ui/ui_edit.cpp | 4 ++-- engines/wintermute/ui/ui_edit.h | 4 ++-- engines/wintermute/ui/ui_entity.cpp | 4 ++-- engines/wintermute/ui/ui_entity.h | 4 ++-- engines/wintermute/ui/ui_object.cpp | 4 ++-- engines/wintermute/ui/ui_object.h | 4 ++-- engines/wintermute/ui/ui_text.cpp | 4 ++-- engines/wintermute/ui/ui_text.h | 4 ++-- engines/wintermute/ui/ui_tiled_image.cpp | 4 ++-- engines/wintermute/ui/ui_tiled_image.h | 4 ++-- engines/wintermute/ui/ui_window.cpp | 4 ++-- engines/wintermute/ui/ui_window.h | 4 ++-- engines/wintermute/utils/path_util.cpp | 4 ++-- engines/wintermute/utils/path_util.h | 4 ++-- engines/wintermute/utils/string_util.cpp | 4 ++-- engines/wintermute/utils/string_util.h | 4 ++-- engines/wintermute/utils/utils.cpp | 4 ++-- engines/wintermute/utils/utils.h | 4 ++-- engines/wintermute/video/video_player.cpp | 4 ++-- engines/wintermute/video/video_player.h | 4 ++-- engines/wintermute/video/video_theora_player.cpp | 4 ++-- engines/wintermute/video/video_theora_player.h | 4 ++-- engines/wintermute/wintermute.cpp | 4 ++-- engines/wintermute/wintermute.h | 4 ++-- engines/wintermute/wintypes.h | 4 ++-- 234 files changed, 467 insertions(+), 466 deletions(-) diff --git a/engines/wintermute/ad/ad_actor.cpp b/engines/wintermute/ad/ad_actor.cpp index 33ad39b411..9d5a35464a 100644 --- a/engines/wintermute/ad/ad_actor.cpp +++ b/engines/wintermute/ad/ad_actor.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/ad/ad_actor.h b/engines/wintermute/ad/ad_actor.h index 3225eb44ec..863a055a4b 100644 --- a/engines/wintermute/ad/ad_actor.h +++ b/engines/wintermute/ad/ad_actor.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/ad/ad_entity.cpp b/engines/wintermute/ad/ad_entity.cpp index 098da49750..1bbadeb7f7 100644 --- a/engines/wintermute/ad/ad_entity.cpp +++ b/engines/wintermute/ad/ad_entity.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/ad/ad_entity.h b/engines/wintermute/ad/ad_entity.h index c3ed5622e5..7e1525b7c1 100644 --- a/engines/wintermute/ad/ad_entity.h +++ b/engines/wintermute/ad/ad_entity.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/ad/ad_game.cpp b/engines/wintermute/ad/ad_game.cpp index 904b8a541c..3c4383f55e 100644 --- a/engines/wintermute/ad/ad_game.cpp +++ b/engines/wintermute/ad/ad_game.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/ad/ad_game.h b/engines/wintermute/ad/ad_game.h index 019f2e6478..ebb37e9a07 100644 --- a/engines/wintermute/ad/ad_game.h +++ b/engines/wintermute/ad/ad_game.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/ad/ad_inventory.cpp b/engines/wintermute/ad/ad_inventory.cpp index f9352c77c6..e385d233b6 100644 --- a/engines/wintermute/ad/ad_inventory.cpp +++ b/engines/wintermute/ad/ad_inventory.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/ad/ad_inventory.h b/engines/wintermute/ad/ad_inventory.h index 9de831b2a0..c2092bce56 100644 --- a/engines/wintermute/ad/ad_inventory.h +++ b/engines/wintermute/ad/ad_inventory.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/ad/ad_inventory_box.cpp b/engines/wintermute/ad/ad_inventory_box.cpp index 5d7f053bb5..a2e54a3318 100644 --- a/engines/wintermute/ad/ad_inventory_box.cpp +++ b/engines/wintermute/ad/ad_inventory_box.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/ad/ad_inventory_box.h b/engines/wintermute/ad/ad_inventory_box.h index 4d576625b2..4673f2e3f3 100644 --- a/engines/wintermute/ad/ad_inventory_box.h +++ b/engines/wintermute/ad/ad_inventory_box.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/ad/ad_item.cpp b/engines/wintermute/ad/ad_item.cpp index 1f19a3eeae..c7eda029cf 100644 --- a/engines/wintermute/ad/ad_item.cpp +++ b/engines/wintermute/ad/ad_item.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/ad/ad_item.h b/engines/wintermute/ad/ad_item.h index 935ea5d73d..092a645019 100644 --- a/engines/wintermute/ad/ad_item.h +++ b/engines/wintermute/ad/ad_item.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/ad/ad_layer.cpp b/engines/wintermute/ad/ad_layer.cpp index 17dd83a8b7..f6ea339895 100644 --- a/engines/wintermute/ad/ad_layer.cpp +++ b/engines/wintermute/ad/ad_layer.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/ad/ad_layer.h b/engines/wintermute/ad/ad_layer.h index af7c3a364c..995ef28ee9 100644 --- a/engines/wintermute/ad/ad_layer.h +++ b/engines/wintermute/ad/ad_layer.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/ad/ad_node_state.cpp b/engines/wintermute/ad/ad_node_state.cpp index dd07f23762..c43604320b 100644 --- a/engines/wintermute/ad/ad_node_state.cpp +++ b/engines/wintermute/ad/ad_node_state.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/ad/ad_node_state.h b/engines/wintermute/ad/ad_node_state.h index 4b5b46ee60..cf897e9af3 100644 --- a/engines/wintermute/ad/ad_node_state.h +++ b/engines/wintermute/ad/ad_node_state.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/ad/ad_object.cpp b/engines/wintermute/ad/ad_object.cpp index 3664e0fd8a..a93bd42bd0 100644 --- a/engines/wintermute/ad/ad_object.cpp +++ b/engines/wintermute/ad/ad_object.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/ad/ad_object.h b/engines/wintermute/ad/ad_object.h index ba984ef8d1..35a734cd83 100644 --- a/engines/wintermute/ad/ad_object.h +++ b/engines/wintermute/ad/ad_object.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/ad/ad_path.cpp b/engines/wintermute/ad/ad_path.cpp index 156fc80958..4d5c313e52 100644 --- a/engines/wintermute/ad/ad_path.cpp +++ b/engines/wintermute/ad/ad_path.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/ad/ad_path.h b/engines/wintermute/ad/ad_path.h index 9de0bcad2c..8dbec5e4f0 100644 --- a/engines/wintermute/ad/ad_path.h +++ b/engines/wintermute/ad/ad_path.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/ad/ad_path_point.cpp b/engines/wintermute/ad/ad_path_point.cpp index 5ee9568608..6e20554034 100644 --- a/engines/wintermute/ad/ad_path_point.cpp +++ b/engines/wintermute/ad/ad_path_point.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/ad/ad_path_point.h b/engines/wintermute/ad/ad_path_point.h index 5e6b8c61ea..c375946f32 100644 --- a/engines/wintermute/ad/ad_path_point.h +++ b/engines/wintermute/ad/ad_path_point.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/ad/ad_region.cpp b/engines/wintermute/ad/ad_region.cpp index 2e8e73a1cf..89ad09fb8f 100644 --- a/engines/wintermute/ad/ad_region.cpp +++ b/engines/wintermute/ad/ad_region.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/ad/ad_region.h b/engines/wintermute/ad/ad_region.h index f3674dcbfb..2b5e468901 100644 --- a/engines/wintermute/ad/ad_region.h +++ b/engines/wintermute/ad/ad_region.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/ad/ad_response.cpp b/engines/wintermute/ad/ad_response.cpp index e7b4188de6..6ebe70bedb 100644 --- a/engines/wintermute/ad/ad_response.cpp +++ b/engines/wintermute/ad/ad_response.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/ad/ad_response.h b/engines/wintermute/ad/ad_response.h index 00ebafbdb0..22aac01ff2 100644 --- a/engines/wintermute/ad/ad_response.h +++ b/engines/wintermute/ad/ad_response.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/ad/ad_response_box.cpp b/engines/wintermute/ad/ad_response_box.cpp index f2e986cbdc..83c2ae74c6 100644 --- a/engines/wintermute/ad/ad_response_box.cpp +++ b/engines/wintermute/ad/ad_response_box.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/ad/ad_response_box.h b/engines/wintermute/ad/ad_response_box.h index 9469bfda43..c808a7b5db 100644 --- a/engines/wintermute/ad/ad_response_box.h +++ b/engines/wintermute/ad/ad_response_box.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/ad/ad_response_context.cpp b/engines/wintermute/ad/ad_response_context.cpp index 44b43a6077..6d7d8d50a4 100644 --- a/engines/wintermute/ad/ad_response_context.cpp +++ b/engines/wintermute/ad/ad_response_context.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/ad/ad_response_context.h b/engines/wintermute/ad/ad_response_context.h index bc30b4a1c9..385ec2ded5 100644 --- a/engines/wintermute/ad/ad_response_context.h +++ b/engines/wintermute/ad/ad_response_context.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/ad/ad_rot_level.cpp b/engines/wintermute/ad/ad_rot_level.cpp index b5bdc8ebe9..410ba22b53 100644 --- a/engines/wintermute/ad/ad_rot_level.cpp +++ b/engines/wintermute/ad/ad_rot_level.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/ad/ad_rot_level.h b/engines/wintermute/ad/ad_rot_level.h index 47c621845a..f60dd0a5a9 100644 --- a/engines/wintermute/ad/ad_rot_level.h +++ b/engines/wintermute/ad/ad_rot_level.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/ad/ad_scale_level.cpp b/engines/wintermute/ad/ad_scale_level.cpp index aa7f6f89cf..7e2eaa6f4f 100644 --- a/engines/wintermute/ad/ad_scale_level.cpp +++ b/engines/wintermute/ad/ad_scale_level.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/ad/ad_scale_level.h b/engines/wintermute/ad/ad_scale_level.h index 768e79bbf7..4d6a83561f 100644 --- a/engines/wintermute/ad/ad_scale_level.h +++ b/engines/wintermute/ad/ad_scale_level.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/ad/ad_scene.cpp b/engines/wintermute/ad/ad_scene.cpp index df944ba8eb..02a6aeb801 100644 --- a/engines/wintermute/ad/ad_scene.cpp +++ b/engines/wintermute/ad/ad_scene.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/ad/ad_scene.h b/engines/wintermute/ad/ad_scene.h index 1f35a776b5..1ca52bdda9 100644 --- a/engines/wintermute/ad/ad_scene.h +++ b/engines/wintermute/ad/ad_scene.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/ad/ad_scene_node.cpp b/engines/wintermute/ad/ad_scene_node.cpp index 5f6207c23a..e5d23d5f2a 100644 --- a/engines/wintermute/ad/ad_scene_node.cpp +++ b/engines/wintermute/ad/ad_scene_node.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/ad/ad_scene_node.h b/engines/wintermute/ad/ad_scene_node.h index 5bb1606d0e..34b59cd587 100644 --- a/engines/wintermute/ad/ad_scene_node.h +++ b/engines/wintermute/ad/ad_scene_node.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/ad/ad_scene_state.cpp b/engines/wintermute/ad/ad_scene_state.cpp index a4218751c3..d7c863792d 100644 --- a/engines/wintermute/ad/ad_scene_state.cpp +++ b/engines/wintermute/ad/ad_scene_state.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/ad/ad_scene_state.h b/engines/wintermute/ad/ad_scene_state.h index 067c737b2e..90e39f3d51 100644 --- a/engines/wintermute/ad/ad_scene_state.h +++ b/engines/wintermute/ad/ad_scene_state.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/ad/ad_sentence.cpp b/engines/wintermute/ad/ad_sentence.cpp index 21ffac5aaf..86ae06ad06 100644 --- a/engines/wintermute/ad/ad_sentence.cpp +++ b/engines/wintermute/ad/ad_sentence.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/ad/ad_sentence.h b/engines/wintermute/ad/ad_sentence.h index c491ad99a2..7d187786d4 100644 --- a/engines/wintermute/ad/ad_sentence.h +++ b/engines/wintermute/ad/ad_sentence.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/ad/ad_sprite_set.cpp b/engines/wintermute/ad/ad_sprite_set.cpp index dd920492de..e598913ae6 100644 --- a/engines/wintermute/ad/ad_sprite_set.cpp +++ b/engines/wintermute/ad/ad_sprite_set.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/ad/ad_sprite_set.h b/engines/wintermute/ad/ad_sprite_set.h index ece71f7adb..8590970126 100644 --- a/engines/wintermute/ad/ad_sprite_set.h +++ b/engines/wintermute/ad/ad_sprite_set.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/ad/ad_talk_def.cpp b/engines/wintermute/ad/ad_talk_def.cpp index 22e3d7b4cc..6194121727 100644 --- a/engines/wintermute/ad/ad_talk_def.cpp +++ b/engines/wintermute/ad/ad_talk_def.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/ad/ad_talk_def.h b/engines/wintermute/ad/ad_talk_def.h index 5711906b4b..a19c504955 100644 --- a/engines/wintermute/ad/ad_talk_def.h +++ b/engines/wintermute/ad/ad_talk_def.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/ad/ad_talk_holder.cpp b/engines/wintermute/ad/ad_talk_holder.cpp index 6041105b93..116d3edd21 100644 --- a/engines/wintermute/ad/ad_talk_holder.cpp +++ b/engines/wintermute/ad/ad_talk_holder.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/ad/ad_talk_holder.h b/engines/wintermute/ad/ad_talk_holder.h index ab48c3aaf4..b5f8f48318 100644 --- a/engines/wintermute/ad/ad_talk_holder.h +++ b/engines/wintermute/ad/ad_talk_holder.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/ad/ad_talk_node.cpp b/engines/wintermute/ad/ad_talk_node.cpp index 6c0d2e1f06..f4612122da 100644 --- a/engines/wintermute/ad/ad_talk_node.cpp +++ b/engines/wintermute/ad/ad_talk_node.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/ad/ad_talk_node.h b/engines/wintermute/ad/ad_talk_node.h index 7a014b2d9f..e619edf7c2 100644 --- a/engines/wintermute/ad/ad_talk_node.h +++ b/engines/wintermute/ad/ad_talk_node.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/ad/ad_types.h b/engines/wintermute/ad/ad_types.h index dc1a54b91d..931e38974c 100644 --- a/engines/wintermute/ad/ad_types.h +++ b/engines/wintermute/ad/ad_types.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/ad/ad_waypoint_group.cpp b/engines/wintermute/ad/ad_waypoint_group.cpp index ae6b18e266..25d7f83264 100644 --- a/engines/wintermute/ad/ad_waypoint_group.cpp +++ b/engines/wintermute/ad/ad_waypoint_group.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/ad/ad_waypoint_group.h b/engines/wintermute/ad/ad_waypoint_group.h index 47fd611be6..32d5e9b764 100644 --- a/engines/wintermute/ad/ad_waypoint_group.h +++ b/engines/wintermute/ad/ad_waypoint_group.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/base/base.cpp b/engines/wintermute/base/base.cpp index 6a0666b36e..90a3a62d69 100644 --- a/engines/wintermute/base/base.cpp +++ b/engines/wintermute/base/base.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/base/base.h b/engines/wintermute/base/base.h index 8767cc9bdd..e6ed7c51fe 100644 --- a/engines/wintermute/base/base.h +++ b/engines/wintermute/base/base.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/base/base_active_rect.cpp b/engines/wintermute/base/base_active_rect.cpp index 69cc7b02b6..0c5d16966f 100644 --- a/engines/wintermute/base/base_active_rect.cpp +++ b/engines/wintermute/base/base_active_rect.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/base/base_active_rect.h b/engines/wintermute/base/base_active_rect.h index a3c0746618..29acc595d1 100644 --- a/engines/wintermute/base/base_active_rect.h +++ b/engines/wintermute/base/base_active_rect.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/base/base_dynamic_buffer.cpp b/engines/wintermute/base/base_dynamic_buffer.cpp index 5334ae46c4..7187a78769 100644 --- a/engines/wintermute/base/base_dynamic_buffer.cpp +++ b/engines/wintermute/base/base_dynamic_buffer.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/base/base_dynamic_buffer.h b/engines/wintermute/base/base_dynamic_buffer.h index 2804d78895..6662e36dfd 100644 --- a/engines/wintermute/base/base_dynamic_buffer.h +++ b/engines/wintermute/base/base_dynamic_buffer.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/base/base_engine.cpp b/engines/wintermute/base/base_engine.cpp index acb12bbe5f..7c2e9c8468 100644 --- a/engines/wintermute/base/base_engine.cpp +++ b/engines/wintermute/base/base_engine.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/base/base_engine.h b/engines/wintermute/base/base_engine.h index a5eafd3597..dd82cf9c29 100644 --- a/engines/wintermute/base/base_engine.h +++ b/engines/wintermute/base/base_engine.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/base/base_fader.cpp b/engines/wintermute/base/base_fader.cpp index c7dac8be27..f9c4d1cba5 100644 --- a/engines/wintermute/base/base_fader.cpp +++ b/engines/wintermute/base/base_fader.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/base/base_fader.h b/engines/wintermute/base/base_fader.h index 087b19bc44..f742954c3d 100644 --- a/engines/wintermute/base/base_fader.h +++ b/engines/wintermute/base/base_fader.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/base/base_file_manager.cpp b/engines/wintermute/base/base_file_manager.cpp index e39a15f469..1f78303f52 100644 --- a/engines/wintermute/base/base_file_manager.cpp +++ b/engines/wintermute/base/base_file_manager.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/base/base_file_manager.h b/engines/wintermute/base/base_file_manager.h index 8c2876f681..653721c8f5 100644 --- a/engines/wintermute/base/base_file_manager.h +++ b/engines/wintermute/base/base_file_manager.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/base/base_frame.cpp b/engines/wintermute/base/base_frame.cpp index 1455733461..f2c24b8f6a 100644 --- a/engines/wintermute/base/base_frame.cpp +++ b/engines/wintermute/base/base_frame.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/base/base_frame.h b/engines/wintermute/base/base_frame.h index c4cfc443fa..49a56592bb 100644 --- a/engines/wintermute/base/base_frame.h +++ b/engines/wintermute/base/base_frame.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/base/base_game.cpp b/engines/wintermute/base/base_game.cpp index 6b7e1cf803..d37a22e2a6 100644 --- a/engines/wintermute/base/base_game.cpp +++ b/engines/wintermute/base/base_game.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/base/base_game.h b/engines/wintermute/base/base_game.h index 29d312fe97..cdbbff6c93 100644 --- a/engines/wintermute/base/base_game.h +++ b/engines/wintermute/base/base_game.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/base/base_game_music.cpp b/engines/wintermute/base/base_game_music.cpp index 8894fb843f..fee7c7be2d 100644 --- a/engines/wintermute/base/base_game_music.cpp +++ b/engines/wintermute/base/base_game_music.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/base/base_game_music.h b/engines/wintermute/base/base_game_music.h index 72c7a171a6..1e786dbb2b 100644 --- a/engines/wintermute/base/base_game_music.h +++ b/engines/wintermute/base/base_game_music.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/base/base_game_settings.cpp b/engines/wintermute/base/base_game_settings.cpp index 43809b5d1e..3b54384cc7 100644 --- a/engines/wintermute/base/base_game_settings.cpp +++ b/engines/wintermute/base/base_game_settings.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/base/base_game_settings.h b/engines/wintermute/base/base_game_settings.h index 38a2fd1042..fe0e9907e6 100644 --- a/engines/wintermute/base/base_game_settings.h +++ b/engines/wintermute/base/base_game_settings.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/base/base_keyboard_state.cpp b/engines/wintermute/base/base_keyboard_state.cpp index 77469e07a5..61087c5836 100644 --- a/engines/wintermute/base/base_keyboard_state.cpp +++ b/engines/wintermute/base/base_keyboard_state.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/base/base_keyboard_state.h b/engines/wintermute/base/base_keyboard_state.h index 14a57ee7b8..c74bd5b0f7 100644 --- a/engines/wintermute/base/base_keyboard_state.h +++ b/engines/wintermute/base/base_keyboard_state.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/base/base_named_object.cpp b/engines/wintermute/base/base_named_object.cpp index 3d1df5ab84..5bfc978299 100644 --- a/engines/wintermute/base/base_named_object.cpp +++ b/engines/wintermute/base/base_named_object.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/base/base_named_object.h b/engines/wintermute/base/base_named_object.h index ee4a3bba6a..a337eae82d 100644 --- a/engines/wintermute/base/base_named_object.h +++ b/engines/wintermute/base/base_named_object.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/base/base_object.cpp b/engines/wintermute/base/base_object.cpp index 540c7dd164..708df8def1 100644 --- a/engines/wintermute/base/base_object.cpp +++ b/engines/wintermute/base/base_object.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/base/base_object.h b/engines/wintermute/base/base_object.h index a190b1bcb4..f5036f4ec4 100644 --- a/engines/wintermute/base/base_object.h +++ b/engines/wintermute/base/base_object.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/base/base_parser.cpp b/engines/wintermute/base/base_parser.cpp index ff9c6c81b0..2d80bc5017 100644 --- a/engines/wintermute/base/base_parser.cpp +++ b/engines/wintermute/base/base_parser.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/base/base_parser.h b/engines/wintermute/base/base_parser.h index 4bf48cc016..4e4a54e28c 100644 --- a/engines/wintermute/base/base_parser.h +++ b/engines/wintermute/base/base_parser.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/base/base_persistence_manager.cpp b/engines/wintermute/base/base_persistence_manager.cpp index 3d0fc0e925..3b7026cb08 100644 --- a/engines/wintermute/base/base_persistence_manager.cpp +++ b/engines/wintermute/base/base_persistence_manager.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/base/base_persistence_manager.h b/engines/wintermute/base/base_persistence_manager.h index 43259b26ff..373d1580de 100644 --- a/engines/wintermute/base/base_persistence_manager.h +++ b/engines/wintermute/base/base_persistence_manager.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/base/base_point.cpp b/engines/wintermute/base/base_point.cpp index 84b6a629c7..f810b286fb 100644 --- a/engines/wintermute/base/base_point.cpp +++ b/engines/wintermute/base/base_point.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/base/base_point.h b/engines/wintermute/base/base_point.h index cf8a5be336..6f5c1ca28f 100644 --- a/engines/wintermute/base/base_point.h +++ b/engines/wintermute/base/base_point.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/base/base_quick_msg.cpp b/engines/wintermute/base/base_quick_msg.cpp index ac0c107d3b..514f44f788 100644 --- a/engines/wintermute/base/base_quick_msg.cpp +++ b/engines/wintermute/base/base_quick_msg.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/base/base_quick_msg.h b/engines/wintermute/base/base_quick_msg.h index b706424c18..39eace390c 100644 --- a/engines/wintermute/base/base_quick_msg.h +++ b/engines/wintermute/base/base_quick_msg.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/base/base_region.cpp b/engines/wintermute/base/base_region.cpp index dc17b18ea2..9a31f5cd66 100644 --- a/engines/wintermute/base/base_region.cpp +++ b/engines/wintermute/base/base_region.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/base/base_region.h b/engines/wintermute/base/base_region.h index 846dcfc341..fc3389c501 100644 --- a/engines/wintermute/base/base_region.h +++ b/engines/wintermute/base/base_region.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/base/base_script_holder.cpp b/engines/wintermute/base/base_script_holder.cpp index 5fb0b62713..8383657239 100644 --- a/engines/wintermute/base/base_script_holder.cpp +++ b/engines/wintermute/base/base_script_holder.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/base/base_script_holder.h b/engines/wintermute/base/base_script_holder.h index b4e22a59ee..9b3bf9ec44 100644 --- a/engines/wintermute/base/base_script_holder.h +++ b/engines/wintermute/base/base_script_holder.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/base/base_scriptable.cpp b/engines/wintermute/base/base_scriptable.cpp index d2ff627f0a..c65d30d941 100644 --- a/engines/wintermute/base/base_scriptable.cpp +++ b/engines/wintermute/base/base_scriptable.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/base/base_scriptable.h b/engines/wintermute/base/base_scriptable.h index 08fd32081a..b32668d6c8 100644 --- a/engines/wintermute/base/base_scriptable.h +++ b/engines/wintermute/base/base_scriptable.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/base/base_sprite.cpp b/engines/wintermute/base/base_sprite.cpp index b1fcb42dcc..2e00998037 100644 --- a/engines/wintermute/base/base_sprite.cpp +++ b/engines/wintermute/base/base_sprite.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/base/base_sprite.h b/engines/wintermute/base/base_sprite.h index 54d595f655..92287995d9 100644 --- a/engines/wintermute/base/base_sprite.h +++ b/engines/wintermute/base/base_sprite.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/base/base_string_table.cpp b/engines/wintermute/base/base_string_table.cpp index 3d9cc4f8b3..9adbbdf7be 100644 --- a/engines/wintermute/base/base_string_table.cpp +++ b/engines/wintermute/base/base_string_table.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/base/base_string_table.h b/engines/wintermute/base/base_string_table.h index f8808f5b27..9e915a1ad9 100644 --- a/engines/wintermute/base/base_string_table.h +++ b/engines/wintermute/base/base_string_table.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/base/base_sub_frame.cpp b/engines/wintermute/base/base_sub_frame.cpp index b3f5cb8385..3a6e28b1f2 100644 --- a/engines/wintermute/base/base_sub_frame.cpp +++ b/engines/wintermute/base/base_sub_frame.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/base/base_sub_frame.h b/engines/wintermute/base/base_sub_frame.h index 4e164467e2..b2859fa3f3 100644 --- a/engines/wintermute/base/base_sub_frame.h +++ b/engines/wintermute/base/base_sub_frame.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/base/base_surface_storage.cpp b/engines/wintermute/base/base_surface_storage.cpp index f1d068674b..a2dedf66a3 100644 --- a/engines/wintermute/base/base_surface_storage.cpp +++ b/engines/wintermute/base/base_surface_storage.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/base/base_surface_storage.h b/engines/wintermute/base/base_surface_storage.h index c0049d676c..2bec9a0fbb 100644 --- a/engines/wintermute/base/base_surface_storage.h +++ b/engines/wintermute/base/base_surface_storage.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/base/base_transition_manager.cpp b/engines/wintermute/base/base_transition_manager.cpp index eee5f1aae7..198dfe26ba 100644 --- a/engines/wintermute/base/base_transition_manager.cpp +++ b/engines/wintermute/base/base_transition_manager.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/base/base_transition_manager.h b/engines/wintermute/base/base_transition_manager.h index 82edb9ff88..3cfc0f2028 100644 --- a/engines/wintermute/base/base_transition_manager.h +++ b/engines/wintermute/base/base_transition_manager.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/base/base_viewport.cpp b/engines/wintermute/base/base_viewport.cpp index a6e8b17927..bf3700a14e 100644 --- a/engines/wintermute/base/base_viewport.cpp +++ b/engines/wintermute/base/base_viewport.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/base/base_viewport.h b/engines/wintermute/base/base_viewport.h index 0225c02c7c..eae756f9c6 100644 --- a/engines/wintermute/base/base_viewport.h +++ b/engines/wintermute/base/base_viewport.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/base/file/base_disk_file.cpp b/engines/wintermute/base/file/base_disk_file.cpp index 808dc9e00d..82a9e24dfb 100644 --- a/engines/wintermute/base/file/base_disk_file.cpp +++ b/engines/wintermute/base/file/base_disk_file.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/base/file/base_disk_file.h b/engines/wintermute/base/file/base_disk_file.h index 81cc22b86d..f20629f7ec 100644 --- a/engines/wintermute/base/file/base_disk_file.h +++ b/engines/wintermute/base/file/base_disk_file.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/base/file/base_file.cpp b/engines/wintermute/base/file/base_file.cpp index 42eea69824..2927c908e2 100644 --- a/engines/wintermute/base/file/base_file.cpp +++ b/engines/wintermute/base/file/base_file.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/base/file/base_file.h b/engines/wintermute/base/file/base_file.h index 9acda7ffce..820b6510fd 100644 --- a/engines/wintermute/base/file/base_file.h +++ b/engines/wintermute/base/file/base_file.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/base/file/base_file_entry.cpp b/engines/wintermute/base/file/base_file_entry.cpp index 846f56b55c..991d75d03d 100644 --- a/engines/wintermute/base/file/base_file_entry.cpp +++ b/engines/wintermute/base/file/base_file_entry.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/base/file/base_file_entry.h b/engines/wintermute/base/file/base_file_entry.h index 9d738c8c11..6bac3789d7 100644 --- a/engines/wintermute/base/file/base_file_entry.h +++ b/engines/wintermute/base/file/base_file_entry.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/base/file/base_package.cpp b/engines/wintermute/base/file/base_package.cpp index 512279b72c..b1461283e8 100644 --- a/engines/wintermute/base/file/base_package.cpp +++ b/engines/wintermute/base/file/base_package.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/base/file/base_package.h b/engines/wintermute/base/file/base_package.h index 18156c4f65..35976eb47b 100644 --- a/engines/wintermute/base/file/base_package.h +++ b/engines/wintermute/base/file/base_package.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/base/file/base_save_thumb_file.cpp b/engines/wintermute/base/file/base_save_thumb_file.cpp index bb172ca66a..acd5363e89 100644 --- a/engines/wintermute/base/file/base_save_thumb_file.cpp +++ b/engines/wintermute/base/file/base_save_thumb_file.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/base/file/base_save_thumb_file.h b/engines/wintermute/base/file/base_save_thumb_file.h index faf1af9255..4d9030189d 100644 --- a/engines/wintermute/base/file/base_save_thumb_file.h +++ b/engines/wintermute/base/file/base_save_thumb_file.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/base/file/dcpackage.h b/engines/wintermute/base/file/dcpackage.h index a2ec5d28d5..5f21ce94ea 100644 --- a/engines/wintermute/base/file/dcpackage.h +++ b/engines/wintermute/base/file/dcpackage.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/base/font/base_font.cpp b/engines/wintermute/base/font/base_font.cpp index 2a394616d1..0a5f7466df 100644 --- a/engines/wintermute/base/font/base_font.cpp +++ b/engines/wintermute/base/font/base_font.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/base/font/base_font.h b/engines/wintermute/base/font/base_font.h index d75d3f4fb5..5f37d983cb 100644 --- a/engines/wintermute/base/font/base_font.h +++ b/engines/wintermute/base/font/base_font.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/base/font/base_font_bitmap.cpp b/engines/wintermute/base/font/base_font_bitmap.cpp index 95f9a83a6a..bab2bf3df4 100644 --- a/engines/wintermute/base/font/base_font_bitmap.cpp +++ b/engines/wintermute/base/font/base_font_bitmap.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/base/font/base_font_bitmap.h b/engines/wintermute/base/font/base_font_bitmap.h index 77620d8b88..c26a6ad1cb 100644 --- a/engines/wintermute/base/font/base_font_bitmap.h +++ b/engines/wintermute/base/font/base_font_bitmap.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/base/font/base_font_storage.cpp b/engines/wintermute/base/font/base_font_storage.cpp index 8abd368b70..f4f7de44fc 100644 --- a/engines/wintermute/base/font/base_font_storage.cpp +++ b/engines/wintermute/base/font/base_font_storage.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/base/font/base_font_storage.h b/engines/wintermute/base/font/base_font_storage.h index f4ac490324..e29675aaef 100644 --- a/engines/wintermute/base/font/base_font_storage.h +++ b/engines/wintermute/base/font/base_font_storage.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/base/font/base_font_truetype.cpp b/engines/wintermute/base/font/base_font_truetype.cpp index ae4f0a9e31..1e614d3a84 100644 --- a/engines/wintermute/base/font/base_font_truetype.cpp +++ b/engines/wintermute/base/font/base_font_truetype.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/base/font/base_font_truetype.h b/engines/wintermute/base/font/base_font_truetype.h index edb41a155f..c0349eccd4 100644 --- a/engines/wintermute/base/font/base_font_truetype.h +++ b/engines/wintermute/base/font/base_font_truetype.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/base/gfx/base_image.cpp b/engines/wintermute/base/gfx/base_image.cpp index d0dbae352e..e5ec879fee 100644 --- a/engines/wintermute/base/gfx/base_image.cpp +++ b/engines/wintermute/base/gfx/base_image.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/base/gfx/base_image.h b/engines/wintermute/base/gfx/base_image.h index 4b04fd1252..a7d6846345 100644 --- a/engines/wintermute/base/gfx/base_image.h +++ b/engines/wintermute/base/gfx/base_image.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/base/gfx/base_renderer.cpp b/engines/wintermute/base/gfx/base_renderer.cpp index 858a7fc6dc..0f33fc2c43 100644 --- a/engines/wintermute/base/gfx/base_renderer.cpp +++ b/engines/wintermute/base/gfx/base_renderer.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/base/gfx/base_renderer.h b/engines/wintermute/base/gfx/base_renderer.h index b6615bc8fc..42ff2cb9e1 100644 --- a/engines/wintermute/base/gfx/base_renderer.h +++ b/engines/wintermute/base/gfx/base_renderer.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/base/gfx/base_surface.cpp b/engines/wintermute/base/gfx/base_surface.cpp index 19639c0c33..ec42a63c77 100644 --- a/engines/wintermute/base/gfx/base_surface.cpp +++ b/engines/wintermute/base/gfx/base_surface.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/base/gfx/base_surface.h b/engines/wintermute/base/gfx/base_surface.h index a53748e9aa..7bd9bcbaea 100644 --- a/engines/wintermute/base/gfx/base_surface.h +++ b/engines/wintermute/base/gfx/base_surface.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/base/gfx/osystem/base_render_osystem.cpp b/engines/wintermute/base/gfx/osystem/base_render_osystem.cpp index e25b9ab8d8..6f149f9a4f 100644 --- a/engines/wintermute/base/gfx/osystem/base_render_osystem.cpp +++ b/engines/wintermute/base/gfx/osystem/base_render_osystem.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/base/gfx/osystem/base_render_osystem.h b/engines/wintermute/base/gfx/osystem/base_render_osystem.h index 8996c8b2e8..c9b8a52282 100644 --- a/engines/wintermute/base/gfx/osystem/base_render_osystem.h +++ b/engines/wintermute/base/gfx/osystem/base_render_osystem.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/base/gfx/osystem/base_surface_osystem.cpp b/engines/wintermute/base/gfx/osystem/base_surface_osystem.cpp index bcf2a7752f..bb57d308c0 100644 --- a/engines/wintermute/base/gfx/osystem/base_surface_osystem.cpp +++ b/engines/wintermute/base/gfx/osystem/base_surface_osystem.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/base/gfx/osystem/base_surface_osystem.h b/engines/wintermute/base/gfx/osystem/base_surface_osystem.h index 67f45f66db..4a05b2c66c 100644 --- a/engines/wintermute/base/gfx/osystem/base_surface_osystem.h +++ b/engines/wintermute/base/gfx/osystem/base_surface_osystem.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/base/gfx/osystem/render_ticket.cpp b/engines/wintermute/base/gfx/osystem/render_ticket.cpp index 3836cff02e..f8579dfd41 100644 --- a/engines/wintermute/base/gfx/osystem/render_ticket.cpp +++ b/engines/wintermute/base/gfx/osystem/render_ticket.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/base/gfx/osystem/render_ticket.h b/engines/wintermute/base/gfx/osystem/render_ticket.h index f719465be4..de95273021 100644 --- a/engines/wintermute/base/gfx/osystem/render_ticket.h +++ b/engines/wintermute/base/gfx/osystem/render_ticket.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/base/particles/part_emitter.cpp b/engines/wintermute/base/particles/part_emitter.cpp index 061352b60f..c64a099cee 100644 --- a/engines/wintermute/base/particles/part_emitter.cpp +++ b/engines/wintermute/base/particles/part_emitter.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/base/particles/part_emitter.h b/engines/wintermute/base/particles/part_emitter.h index 94b4dc8126..3fe24b52a0 100644 --- a/engines/wintermute/base/particles/part_emitter.h +++ b/engines/wintermute/base/particles/part_emitter.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/base/particles/part_force.cpp b/engines/wintermute/base/particles/part_force.cpp index 39d98c182e..c2e0832e72 100644 --- a/engines/wintermute/base/particles/part_force.cpp +++ b/engines/wintermute/base/particles/part_force.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/base/particles/part_force.h b/engines/wintermute/base/particles/part_force.h index cdb1ce40f9..11862d08ed 100644 --- a/engines/wintermute/base/particles/part_force.h +++ b/engines/wintermute/base/particles/part_force.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/base/particles/part_particle.cpp b/engines/wintermute/base/particles/part_particle.cpp index 11470561f0..97c81e49a5 100644 --- a/engines/wintermute/base/particles/part_particle.cpp +++ b/engines/wintermute/base/particles/part_particle.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/base/particles/part_particle.h b/engines/wintermute/base/particles/part_particle.h index 281d87cf72..9019845a82 100644 --- a/engines/wintermute/base/particles/part_particle.h +++ b/engines/wintermute/base/particles/part_particle.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/base/save_thumb_helper.cpp b/engines/wintermute/base/save_thumb_helper.cpp index 77514849a6..b1d9330263 100644 --- a/engines/wintermute/base/save_thumb_helper.cpp +++ b/engines/wintermute/base/save_thumb_helper.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/base/save_thumb_helper.h b/engines/wintermute/base/save_thumb_helper.h index 44792e3d75..0d32d3ed9f 100644 --- a/engines/wintermute/base/save_thumb_helper.h +++ b/engines/wintermute/base/save_thumb_helper.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/base/saveload.cpp b/engines/wintermute/base/saveload.cpp index 402041cda4..85553a2a53 100644 --- a/engines/wintermute/base/saveload.cpp +++ b/engines/wintermute/base/saveload.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/base/saveload.h b/engines/wintermute/base/saveload.h index 15d4d86b26..31f5841f41 100644 --- a/engines/wintermute/base/saveload.h +++ b/engines/wintermute/base/saveload.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/base/scriptables/dcscript.h b/engines/wintermute/base/scriptables/dcscript.h index d6bb3cd176..8047baaa68 100644 --- a/engines/wintermute/base/scriptables/dcscript.h +++ b/engines/wintermute/base/scriptables/dcscript.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/base/scriptables/script.cpp b/engines/wintermute/base/scriptables/script.cpp index 5e4ae3ea95..f0b868209d 100644 --- a/engines/wintermute/base/scriptables/script.cpp +++ b/engines/wintermute/base/scriptables/script.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/base/scriptables/script.h b/engines/wintermute/base/scriptables/script.h index 488ff63606..1edeae5b55 100644 --- a/engines/wintermute/base/scriptables/script.h +++ b/engines/wintermute/base/scriptables/script.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/base/scriptables/script_engine.cpp b/engines/wintermute/base/scriptables/script_engine.cpp index bb819b23e4..cdf55a304c 100644 --- a/engines/wintermute/base/scriptables/script_engine.cpp +++ b/engines/wintermute/base/scriptables/script_engine.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/base/scriptables/script_engine.h b/engines/wintermute/base/scriptables/script_engine.h index 622b3c4b94..bdb139e1f8 100644 --- a/engines/wintermute/base/scriptables/script_engine.h +++ b/engines/wintermute/base/scriptables/script_engine.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/base/scriptables/script_ext_array.cpp b/engines/wintermute/base/scriptables/script_ext_array.cpp index c4ad045557..7431029cbf 100644 --- a/engines/wintermute/base/scriptables/script_ext_array.cpp +++ b/engines/wintermute/base/scriptables/script_ext_array.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/base/scriptables/script_ext_array.h b/engines/wintermute/base/scriptables/script_ext_array.h index e6381a011e..2daa58a241 100644 --- a/engines/wintermute/base/scriptables/script_ext_array.h +++ b/engines/wintermute/base/scriptables/script_ext_array.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/base/scriptables/script_ext_date.cpp b/engines/wintermute/base/scriptables/script_ext_date.cpp index 6b9c5ff68a..89cdcde0af 100644 --- a/engines/wintermute/base/scriptables/script_ext_date.cpp +++ b/engines/wintermute/base/scriptables/script_ext_date.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/base/scriptables/script_ext_date.h b/engines/wintermute/base/scriptables/script_ext_date.h index 0ccf093a7b..46a23a36fa 100644 --- a/engines/wintermute/base/scriptables/script_ext_date.h +++ b/engines/wintermute/base/scriptables/script_ext_date.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/base/scriptables/script_ext_file.cpp b/engines/wintermute/base/scriptables/script_ext_file.cpp index dcd4f01f7c..36a624367c 100644 --- a/engines/wintermute/base/scriptables/script_ext_file.cpp +++ b/engines/wintermute/base/scriptables/script_ext_file.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/base/scriptables/script_ext_file.h b/engines/wintermute/base/scriptables/script_ext_file.h index a1298929f2..4994ef9c97 100644 --- a/engines/wintermute/base/scriptables/script_ext_file.h +++ b/engines/wintermute/base/scriptables/script_ext_file.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/base/scriptables/script_ext_math.cpp b/engines/wintermute/base/scriptables/script_ext_math.cpp index ec53b983e7..4d770d4c51 100644 --- a/engines/wintermute/base/scriptables/script_ext_math.cpp +++ b/engines/wintermute/base/scriptables/script_ext_math.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/base/scriptables/script_ext_math.h b/engines/wintermute/base/scriptables/script_ext_math.h index 1aa274a96f..5354e52f1e 100644 --- a/engines/wintermute/base/scriptables/script_ext_math.h +++ b/engines/wintermute/base/scriptables/script_ext_math.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/base/scriptables/script_ext_mem_buffer.cpp b/engines/wintermute/base/scriptables/script_ext_mem_buffer.cpp index 39f8b58644..276d1fb211 100644 --- a/engines/wintermute/base/scriptables/script_ext_mem_buffer.cpp +++ b/engines/wintermute/base/scriptables/script_ext_mem_buffer.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/base/scriptables/script_ext_mem_buffer.h b/engines/wintermute/base/scriptables/script_ext_mem_buffer.h index 4aad8b6484..740ff1d23f 100644 --- a/engines/wintermute/base/scriptables/script_ext_mem_buffer.h +++ b/engines/wintermute/base/scriptables/script_ext_mem_buffer.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/base/scriptables/script_ext_object.cpp b/engines/wintermute/base/scriptables/script_ext_object.cpp index a72b244f0a..cf1b788ede 100644 --- a/engines/wintermute/base/scriptables/script_ext_object.cpp +++ b/engines/wintermute/base/scriptables/script_ext_object.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/base/scriptables/script_ext_object.h b/engines/wintermute/base/scriptables/script_ext_object.h index 566111292a..04878be85e 100644 --- a/engines/wintermute/base/scriptables/script_ext_object.h +++ b/engines/wintermute/base/scriptables/script_ext_object.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/base/scriptables/script_ext_string.cpp b/engines/wintermute/base/scriptables/script_ext_string.cpp index 65bec03bc1..dae0a0d699 100644 --- a/engines/wintermute/base/scriptables/script_ext_string.cpp +++ b/engines/wintermute/base/scriptables/script_ext_string.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/base/scriptables/script_ext_string.h b/engines/wintermute/base/scriptables/script_ext_string.h index 7a95c59b4c..b28f2b24c1 100644 --- a/engines/wintermute/base/scriptables/script_ext_string.h +++ b/engines/wintermute/base/scriptables/script_ext_string.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/base/scriptables/script_stack.cpp b/engines/wintermute/base/scriptables/script_stack.cpp index c828b3918e..fe765bfb68 100644 --- a/engines/wintermute/base/scriptables/script_stack.cpp +++ b/engines/wintermute/base/scriptables/script_stack.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/base/scriptables/script_stack.h b/engines/wintermute/base/scriptables/script_stack.h index ee04485a51..fe7afae3f9 100644 --- a/engines/wintermute/base/scriptables/script_stack.h +++ b/engines/wintermute/base/scriptables/script_stack.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/base/scriptables/script_value.cpp b/engines/wintermute/base/scriptables/script_value.cpp index 52367646a5..4b84574257 100644 --- a/engines/wintermute/base/scriptables/script_value.cpp +++ b/engines/wintermute/base/scriptables/script_value.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/base/scriptables/script_value.h b/engines/wintermute/base/scriptables/script_value.h index 90ad9f182a..6130553645 100644 --- a/engines/wintermute/base/scriptables/script_value.h +++ b/engines/wintermute/base/scriptables/script_value.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/base/sound/base_sound.cpp b/engines/wintermute/base/sound/base_sound.cpp index f9cd59e4fb..fa452cc0d6 100644 --- a/engines/wintermute/base/sound/base_sound.cpp +++ b/engines/wintermute/base/sound/base_sound.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/base/sound/base_sound.h b/engines/wintermute/base/sound/base_sound.h index 0a984d240a..ceeb81c1bf 100644 --- a/engines/wintermute/base/sound/base_sound.h +++ b/engines/wintermute/base/sound/base_sound.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/base/sound/base_sound_buffer.cpp b/engines/wintermute/base/sound/base_sound_buffer.cpp index 85ba52e334..7ec68ea752 100644 --- a/engines/wintermute/base/sound/base_sound_buffer.cpp +++ b/engines/wintermute/base/sound/base_sound_buffer.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/base/sound/base_sound_buffer.h b/engines/wintermute/base/sound/base_sound_buffer.h index c52b34fb23..94bc8dc6ad 100644 --- a/engines/wintermute/base/sound/base_sound_buffer.h +++ b/engines/wintermute/base/sound/base_sound_buffer.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/base/sound/base_sound_manager.cpp b/engines/wintermute/base/sound/base_sound_manager.cpp index 68e62f25b0..539dc0dd1d 100644 --- a/engines/wintermute/base/sound/base_sound_manager.cpp +++ b/engines/wintermute/base/sound/base_sound_manager.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/base/sound/base_sound_manager.h b/engines/wintermute/base/sound/base_sound_manager.h index 5993a05001..30d943c264 100644 --- a/engines/wintermute/base/sound/base_sound_manager.h +++ b/engines/wintermute/base/sound/base_sound_manager.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/base/timer.cpp b/engines/wintermute/base/timer.cpp index f1f79af760..c2ecc1469a 100644 --- a/engines/wintermute/base/timer.cpp +++ b/engines/wintermute/base/timer.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/base/timer.h b/engines/wintermute/base/timer.h index 4099c6c825..768bea4253 100644 --- a/engines/wintermute/base/timer.h +++ b/engines/wintermute/base/timer.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/coll_templ.h b/engines/wintermute/coll_templ.h index 307989e58d..74e266168f 100644 --- a/engines/wintermute/coll_templ.h +++ b/engines/wintermute/coll_templ.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/dcgf.h b/engines/wintermute/dcgf.h index 3db443965e..78503b8c3b 100644 --- a/engines/wintermute/dcgf.h +++ b/engines/wintermute/dcgf.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/dctypes.h b/engines/wintermute/dctypes.h index 4371ee4889..33e1cc4018 100644 --- a/engines/wintermute/dctypes.h +++ b/engines/wintermute/dctypes.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/debugger.cpp b/engines/wintermute/debugger.cpp index 8c8b8255ab..51fd74e300 100644 --- a/engines/wintermute/debugger.cpp +++ b/engines/wintermute/debugger.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/debugger.h b/engines/wintermute/debugger.h index 6fbbb084f0..625da0ce41 100644 --- a/engines/wintermute/debugger.h +++ b/engines/wintermute/debugger.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/detection.cpp b/engines/wintermute/detection.cpp index 565080cfcf..48c75f634d 100644 --- a/engines/wintermute/detection.cpp +++ b/engines/wintermute/detection.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/detection_tables.h b/engines/wintermute/detection_tables.h index e7f2ed90a9..e0ceb43c1f 100644 --- a/engines/wintermute/detection_tables.h +++ b/engines/wintermute/detection_tables.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/graphics/transform_struct.cpp b/engines/wintermute/graphics/transform_struct.cpp index aa440e55ac..9483975d94 100644 --- a/engines/wintermute/graphics/transform_struct.cpp +++ b/engines/wintermute/graphics/transform_struct.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/graphics/transform_struct.h b/engines/wintermute/graphics/transform_struct.h index d5a03ea331..f80b0967cb 100644 --- a/engines/wintermute/graphics/transform_struct.h +++ b/engines/wintermute/graphics/transform_struct.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/graphics/transform_tools.cpp b/engines/wintermute/graphics/transform_tools.cpp index dc92cdbbfd..7a009c26fa 100644 --- a/engines/wintermute/graphics/transform_tools.cpp +++ b/engines/wintermute/graphics/transform_tools.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/graphics/transform_tools.h b/engines/wintermute/graphics/transform_tools.h index 9a73e3b69f..e259db04e5 100644 --- a/engines/wintermute/graphics/transform_tools.h +++ b/engines/wintermute/graphics/transform_tools.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/graphics/transparent_surface.h b/engines/wintermute/graphics/transparent_surface.h index 51a3dfe4cc..7f6b1ac865 100644 --- a/engines/wintermute/graphics/transparent_surface.h +++ b/engines/wintermute/graphics/transparent_surface.h @@ -17,6 +17,7 @@ * 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. + * */ #ifndef GRAPHICS_TRANSPARENTSURFACE_H diff --git a/engines/wintermute/math/floatpoint.h b/engines/wintermute/math/floatpoint.h index 0c47ef09d7..77cd9980b9 100644 --- a/engines/wintermute/math/floatpoint.h +++ b/engines/wintermute/math/floatpoint.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/math/math_util.cpp b/engines/wintermute/math/math_util.cpp index 903cea6d39..ed2b932693 100644 --- a/engines/wintermute/math/math_util.cpp +++ b/engines/wintermute/math/math_util.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/math/math_util.h b/engines/wintermute/math/math_util.h index 41a7a43e2e..30b58baa39 100644 --- a/engines/wintermute/math/math_util.h +++ b/engines/wintermute/math/math_util.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/math/matrix4.cpp b/engines/wintermute/math/matrix4.cpp index 011766f510..dff4301df3 100644 --- a/engines/wintermute/math/matrix4.cpp +++ b/engines/wintermute/math/matrix4.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/math/matrix4.h b/engines/wintermute/math/matrix4.h index 4198b50484..245fb4a4a0 100644 --- a/engines/wintermute/math/matrix4.h +++ b/engines/wintermute/math/matrix4.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/math/rect32.h b/engines/wintermute/math/rect32.h index a4a64690e2..93b5c68a30 100644 --- a/engines/wintermute/math/rect32.h +++ b/engines/wintermute/math/rect32.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/math/vector2.cpp b/engines/wintermute/math/vector2.cpp index 618ee9bda9..a88edb1e6f 100644 --- a/engines/wintermute/math/vector2.cpp +++ b/engines/wintermute/math/vector2.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/math/vector2.h b/engines/wintermute/math/vector2.h index e4ba97c517..65aa6961f8 100644 --- a/engines/wintermute/math/vector2.h +++ b/engines/wintermute/math/vector2.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/persistent.cpp b/engines/wintermute/persistent.cpp index 514fd61d34..558fb82a0f 100644 --- a/engines/wintermute/persistent.cpp +++ b/engines/wintermute/persistent.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/persistent.h b/engines/wintermute/persistent.h index ddc0791054..202a0fcda6 100644 --- a/engines/wintermute/persistent.h +++ b/engines/wintermute/persistent.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/platform_osystem.cpp b/engines/wintermute/platform_osystem.cpp index 9fa23c6074..e18051f43f 100644 --- a/engines/wintermute/platform_osystem.cpp +++ b/engines/wintermute/platform_osystem.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/platform_osystem.h b/engines/wintermute/platform_osystem.h index 16d55745b9..dd18f99038 100644 --- a/engines/wintermute/platform_osystem.h +++ b/engines/wintermute/platform_osystem.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/system/sys_class.cpp b/engines/wintermute/system/sys_class.cpp index 0577f29e2c..4152b6fa7d 100644 --- a/engines/wintermute/system/sys_class.cpp +++ b/engines/wintermute/system/sys_class.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/system/sys_class.h b/engines/wintermute/system/sys_class.h index 9fb3f70696..a86f476f70 100644 --- a/engines/wintermute/system/sys_class.h +++ b/engines/wintermute/system/sys_class.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/system/sys_class_registry.cpp b/engines/wintermute/system/sys_class_registry.cpp index 20e4661efb..825fd8f32a 100644 --- a/engines/wintermute/system/sys_class_registry.cpp +++ b/engines/wintermute/system/sys_class_registry.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/system/sys_class_registry.h b/engines/wintermute/system/sys_class_registry.h index 48a6738ffb..a9c7e641db 100644 --- a/engines/wintermute/system/sys_class_registry.h +++ b/engines/wintermute/system/sys_class_registry.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/system/sys_instance.cpp b/engines/wintermute/system/sys_instance.cpp index b8e5c9b50a..490324167f 100644 --- a/engines/wintermute/system/sys_instance.cpp +++ b/engines/wintermute/system/sys_instance.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/system/sys_instance.h b/engines/wintermute/system/sys_instance.h index 115de28094..7f6661eb0e 100644 --- a/engines/wintermute/system/sys_instance.h +++ b/engines/wintermute/system/sys_instance.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/ui/ui_button.cpp b/engines/wintermute/ui/ui_button.cpp index 7526174b64..12ecfe152d 100644 --- a/engines/wintermute/ui/ui_button.cpp +++ b/engines/wintermute/ui/ui_button.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/ui/ui_button.h b/engines/wintermute/ui/ui_button.h index 6452cfc4f7..2e4fa8486b 100644 --- a/engines/wintermute/ui/ui_button.h +++ b/engines/wintermute/ui/ui_button.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/ui/ui_edit.cpp b/engines/wintermute/ui/ui_edit.cpp index 1f224c79c8..ffe8d66b4d 100644 --- a/engines/wintermute/ui/ui_edit.cpp +++ b/engines/wintermute/ui/ui_edit.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/ui/ui_edit.h b/engines/wintermute/ui/ui_edit.h index 19ea5ecc5d..ea110a74a8 100644 --- a/engines/wintermute/ui/ui_edit.h +++ b/engines/wintermute/ui/ui_edit.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/ui/ui_entity.cpp b/engines/wintermute/ui/ui_entity.cpp index 0dbf8df00b..9e1e2a28e5 100644 --- a/engines/wintermute/ui/ui_entity.cpp +++ b/engines/wintermute/ui/ui_entity.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/ui/ui_entity.h b/engines/wintermute/ui/ui_entity.h index 63f0026412..b1ea2d579f 100644 --- a/engines/wintermute/ui/ui_entity.h +++ b/engines/wintermute/ui/ui_entity.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/ui/ui_object.cpp b/engines/wintermute/ui/ui_object.cpp index c04c7cbd28..194943add8 100644 --- a/engines/wintermute/ui/ui_object.cpp +++ b/engines/wintermute/ui/ui_object.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/ui/ui_object.h b/engines/wintermute/ui/ui_object.h index ecbaebcee6..e7c0d56eb8 100644 --- a/engines/wintermute/ui/ui_object.h +++ b/engines/wintermute/ui/ui_object.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/ui/ui_text.cpp b/engines/wintermute/ui/ui_text.cpp index b255e6e790..18b134a338 100644 --- a/engines/wintermute/ui/ui_text.cpp +++ b/engines/wintermute/ui/ui_text.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/ui/ui_text.h b/engines/wintermute/ui/ui_text.h index c39260b228..d82ae9a1a2 100644 --- a/engines/wintermute/ui/ui_text.h +++ b/engines/wintermute/ui/ui_text.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/ui/ui_tiled_image.cpp b/engines/wintermute/ui/ui_tiled_image.cpp index e895477a36..caa93df21c 100644 --- a/engines/wintermute/ui/ui_tiled_image.cpp +++ b/engines/wintermute/ui/ui_tiled_image.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/ui/ui_tiled_image.h b/engines/wintermute/ui/ui_tiled_image.h index fa92c46781..916353af2d 100644 --- a/engines/wintermute/ui/ui_tiled_image.h +++ b/engines/wintermute/ui/ui_tiled_image.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/ui/ui_window.cpp b/engines/wintermute/ui/ui_window.cpp index 842bf700b5..9f3cdeaaa3 100644 --- a/engines/wintermute/ui/ui_window.cpp +++ b/engines/wintermute/ui/ui_window.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/ui/ui_window.h b/engines/wintermute/ui/ui_window.h index 6b4d970581..dad8c89e6c 100644 --- a/engines/wintermute/ui/ui_window.h +++ b/engines/wintermute/ui/ui_window.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/utils/path_util.cpp b/engines/wintermute/utils/path_util.cpp index ee8b298562..71311713af 100644 --- a/engines/wintermute/utils/path_util.cpp +++ b/engines/wintermute/utils/path_util.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/utils/path_util.h b/engines/wintermute/utils/path_util.h index 2c7dfa99d1..264dc5d241 100644 --- a/engines/wintermute/utils/path_util.h +++ b/engines/wintermute/utils/path_util.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/utils/string_util.cpp b/engines/wintermute/utils/string_util.cpp index 702dd04c27..82d4fe6902 100644 --- a/engines/wintermute/utils/string_util.cpp +++ b/engines/wintermute/utils/string_util.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/utils/string_util.h b/engines/wintermute/utils/string_util.h index 14c40fcb2b..431d401d96 100644 --- a/engines/wintermute/utils/string_util.h +++ b/engines/wintermute/utils/string_util.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/utils/utils.cpp b/engines/wintermute/utils/utils.cpp index 8fa6313ba6..d592019418 100644 --- a/engines/wintermute/utils/utils.cpp +++ b/engines/wintermute/utils/utils.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/utils/utils.h b/engines/wintermute/utils/utils.h index 6c804ff01e..4ee875fb06 100644 --- a/engines/wintermute/utils/utils.h +++ b/engines/wintermute/utils/utils.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/video/video_player.cpp b/engines/wintermute/video/video_player.cpp index f18311c3e1..5a71b04377 100644 --- a/engines/wintermute/video/video_player.cpp +++ b/engines/wintermute/video/video_player.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/video/video_player.h b/engines/wintermute/video/video_player.h index 51c6bf41d3..8812e2597b 100644 --- a/engines/wintermute/video/video_player.h +++ b/engines/wintermute/video/video_player.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/video/video_theora_player.cpp b/engines/wintermute/video/video_theora_player.cpp index 3bce8628b8..b0c469c440 100644 --- a/engines/wintermute/video/video_theora_player.cpp +++ b/engines/wintermute/video/video_theora_player.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/video/video_theora_player.h b/engines/wintermute/video/video_theora_player.h index 7b28a71e17..8274a1444f 100644 --- a/engines/wintermute/video/video_theora_player.h +++ b/engines/wintermute/video/video_theora_player.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/wintermute.cpp b/engines/wintermute/wintermute.cpp index 0a6be4caf8..31e5995e2e 100644 --- a/engines/wintermute/wintermute.cpp +++ b/engines/wintermute/wintermute.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/wintermute.h b/engines/wintermute/wintermute.h index fcaa2840a9..017809d56a 100644 --- a/engines/wintermute/wintermute.h +++ b/engines/wintermute/wintermute.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/wintermute/wintypes.h b/engines/wintermute/wintypes.h index 1288ac1a65..b30c09dff7 100644 --- a/engines/wintermute/wintypes.h +++ b/engines/wintermute/wintypes.h @@ -8,12 +8,12 @@ * 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. -- cgit v1.2.3 From aa4c5d46f7df28a888a579bdce11aa335ef8d0f1 Mon Sep 17 00:00:00 2001 From: Johannes Schickel Date: Tue, 18 Feb 2014 02:34:27 +0100 Subject: ZVISION: Make GPL headers consistent in themselves. --- engines/zvision/animation/rlf_animation.cpp | 40 +++++++++++----------- engines/zvision/animation/rlf_animation.h | 4 +-- engines/zvision/archives/zfs_archive.cpp | 4 +-- engines/zvision/archives/zfs_archive.h | 4 +-- engines/zvision/core/console.cpp | 40 +++++++++++----------- engines/zvision/core/console.h | 40 +++++++++++----------- engines/zvision/core/events.cpp | 4 +-- engines/zvision/core/menu.h | 4 +-- engines/zvision/core/save_manager.cpp | 4 +-- engines/zvision/core/save_manager.h | 4 +-- engines/zvision/cursors/cursor.cpp | 40 +++++++++++----------- engines/zvision/cursors/cursor.h | 4 +-- engines/zvision/cursors/cursor_manager.cpp | 40 +++++++++++----------- engines/zvision/cursors/cursor_manager.h | 4 +-- engines/zvision/detection.cpp | 5 ++- engines/zvision/detection.h | 40 +++++++++++----------- engines/zvision/fonts/truetype_font.cpp | 4 +-- engines/zvision/fonts/truetype_font.h | 4 +-- engines/zvision/graphics/render_manager.cpp | 40 +++++++++++----------- engines/zvision/graphics/render_manager.h | 4 +-- engines/zvision/graphics/render_table.cpp | 40 +++++++++++----------- engines/zvision/graphics/render_table.h | 4 +-- engines/zvision/inventory/inventory_manager.h | 4 +-- engines/zvision/scripting/actions.cpp | 4 +-- engines/zvision/scripting/actions.h | 4 +-- engines/zvision/scripting/control.cpp | 4 +-- engines/zvision/scripting/control.h | 4 +-- .../scripting/controls/animation_control.cpp | 4 +-- .../zvision/scripting/controls/animation_control.h | 4 +-- .../zvision/scripting/controls/input_control.cpp | 4 +-- engines/zvision/scripting/controls/input_control.h | 4 +-- .../zvision/scripting/controls/lever_control.cpp | 4 +-- engines/zvision/scripting/controls/lever_control.h | 4 +-- .../scripting/controls/push_toggle_control.cpp | 4 +-- .../scripting/controls/push_toggle_control.h | 4 +-- engines/zvision/scripting/controls/timer_node.cpp | 4 +-- engines/zvision/scripting/controls/timer_node.h | 4 +-- engines/zvision/scripting/puzzle.h | 4 +-- engines/zvision/scripting/scr_file_handling.cpp | 4 +-- engines/zvision/scripting/script_manager.cpp | 40 +++++++++++----------- engines/zvision/scripting/script_manager.h | 4 +-- engines/zvision/sound/zork_raw.cpp | 4 +-- engines/zvision/sound/zork_raw.h | 4 +-- engines/zvision/strings/string_manager.cpp | 4 +-- engines/zvision/strings/string_manager.h | 5 ++- engines/zvision/subtitles/subtitles.h | 5 ++- engines/zvision/utility/clock.cpp | 5 ++- engines/zvision/utility/clock.h | 5 ++- engines/zvision/utility/lzss_read_stream.cpp | 40 +++++++++++----------- engines/zvision/utility/lzss_read_stream.h | 40 +++++++++++----------- engines/zvision/utility/single_value_container.cpp | 4 +-- engines/zvision/utility/single_value_container.h | 4 +-- engines/zvision/utility/utility.cpp | 4 +-- engines/zvision/utility/utility.h | 5 ++- engines/zvision/video/video.cpp | 4 +-- engines/zvision/video/zork_avi_decoder.cpp | 5 ++- engines/zvision/video/zork_avi_decoder.h | 5 ++- engines/zvision/zvision.cpp | 4 +-- engines/zvision/zvision.h | 5 ++- 59 files changed, 316 insertions(+), 325 deletions(-) diff --git a/engines/zvision/animation/rlf_animation.cpp b/engines/zvision/animation/rlf_animation.cpp index ca7305da56..945461e7b2 100644 --- a/engines/zvision/animation/rlf_animation.cpp +++ b/engines/zvision/animation/rlf_animation.cpp @@ -1,24 +1,24 @@ /* 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. -* -*/ + * + * 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 "common/scummsys.h" diff --git a/engines/zvision/animation/rlf_animation.h b/engines/zvision/animation/rlf_animation.h index fe5b0d68b4..4bb779301b 100644 --- a/engines/zvision/animation/rlf_animation.h +++ b/engines/zvision/animation/rlf_animation.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/zvision/archives/zfs_archive.cpp b/engines/zvision/archives/zfs_archive.cpp index b8175b4903..f5fa6fc9bf 100644 --- a/engines/zvision/archives/zfs_archive.cpp +++ b/engines/zvision/archives/zfs_archive.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/zvision/archives/zfs_archive.h b/engines/zvision/archives/zfs_archive.h index d7b45e4b47..3509cfee26 100644 --- a/engines/zvision/archives/zfs_archive.h +++ b/engines/zvision/archives/zfs_archive.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/zvision/core/console.cpp b/engines/zvision/core/console.cpp index 0d325ef7f7..22382bc264 100644 --- a/engines/zvision/core/console.cpp +++ b/engines/zvision/core/console.cpp @@ -1,24 +1,24 @@ /* 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. -* -*/ + * + * 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 "common/scummsys.h" diff --git a/engines/zvision/core/console.h b/engines/zvision/core/console.h index 0ca1b8cc70..29523c57ee 100644 --- a/engines/zvision/core/console.h +++ b/engines/zvision/core/console.h @@ -1,24 +1,24 @@ /* 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. -* -*/ + * + * 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. + * + */ #ifndef ZVISION_CONSOLE_H #define ZVISION_CONSOLE_H diff --git a/engines/zvision/core/events.cpp b/engines/zvision/core/events.cpp index 40bfb879b1..83d6c17dec 100644 --- a/engines/zvision/core/events.cpp +++ b/engines/zvision/core/events.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/zvision/core/menu.h b/engines/zvision/core/menu.h index affc69abd5..3ab6d4c2ec 100644 --- a/engines/zvision/core/menu.h +++ b/engines/zvision/core/menu.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/zvision/core/save_manager.cpp b/engines/zvision/core/save_manager.cpp index b91f8eacad..07fb7637e7 100644 --- a/engines/zvision/core/save_manager.cpp +++ b/engines/zvision/core/save_manager.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/zvision/core/save_manager.h b/engines/zvision/core/save_manager.h index ec80b37e20..43fb0c0faf 100644 --- a/engines/zvision/core/save_manager.h +++ b/engines/zvision/core/save_manager.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/zvision/cursors/cursor.cpp b/engines/zvision/cursors/cursor.cpp index d7cda34951..9b9b9a3f71 100644 --- a/engines/zvision/cursors/cursor.cpp +++ b/engines/zvision/cursors/cursor.cpp @@ -1,24 +1,24 @@ /* 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. -* -*/ + * + * 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 "common/scummsys.h" diff --git a/engines/zvision/cursors/cursor.h b/engines/zvision/cursors/cursor.h index 304d8cf018..be9fae64da 100644 --- a/engines/zvision/cursors/cursor.h +++ b/engines/zvision/cursors/cursor.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/zvision/cursors/cursor_manager.cpp b/engines/zvision/cursors/cursor_manager.cpp index 671f26ba2d..7f70c8b4e3 100644 --- a/engines/zvision/cursors/cursor_manager.cpp +++ b/engines/zvision/cursors/cursor_manager.cpp @@ -1,24 +1,24 @@ /* 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. -* -*/ + * + * 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 "common/scummsys.h" diff --git a/engines/zvision/cursors/cursor_manager.h b/engines/zvision/cursors/cursor_manager.h index 43f52abc9a..0576517f58 100644 --- a/engines/zvision/cursors/cursor_manager.h +++ b/engines/zvision/cursors/cursor_manager.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/zvision/detection.cpp b/engines/zvision/detection.cpp index 49664935e1..9961db1215 100644 --- a/engines/zvision/detection.cpp +++ b/engines/zvision/detection.cpp @@ -8,17 +8,16 @@ * 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 "common/scummsys.h" diff --git a/engines/zvision/detection.h b/engines/zvision/detection.h index 34417601e8..a788e710b7 100644 --- a/engines/zvision/detection.h +++ b/engines/zvision/detection.h @@ -1,24 +1,24 @@ /* 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. -* -*/ + * + * 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. + * + */ #ifndef ZVISION_DETECTION_H #define ZVISION_DETECTION_H diff --git a/engines/zvision/fonts/truetype_font.cpp b/engines/zvision/fonts/truetype_font.cpp index f8910bfe06..03520f18b6 100644 --- a/engines/zvision/fonts/truetype_font.cpp +++ b/engines/zvision/fonts/truetype_font.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/zvision/fonts/truetype_font.h b/engines/zvision/fonts/truetype_font.h index 762657a5fb..3b5805db14 100644 --- a/engines/zvision/fonts/truetype_font.h +++ b/engines/zvision/fonts/truetype_font.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/zvision/graphics/render_manager.cpp b/engines/zvision/graphics/render_manager.cpp index df588d269f..86e27aa30d 100644 --- a/engines/zvision/graphics/render_manager.cpp +++ b/engines/zvision/graphics/render_manager.cpp @@ -1,24 +1,24 @@ /* 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. -* -*/ + * + * 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 "common/scummsys.h" diff --git a/engines/zvision/graphics/render_manager.h b/engines/zvision/graphics/render_manager.h index 59b14b8bd2..9feff4c030 100644 --- a/engines/zvision/graphics/render_manager.h +++ b/engines/zvision/graphics/render_manager.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/zvision/graphics/render_table.cpp b/engines/zvision/graphics/render_table.cpp index 99815c2072..49b934dc37 100644 --- a/engines/zvision/graphics/render_table.cpp +++ b/engines/zvision/graphics/render_table.cpp @@ -1,24 +1,24 @@ /* 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. -* -*/ + * + * 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 "common/scummsys.h" diff --git a/engines/zvision/graphics/render_table.h b/engines/zvision/graphics/render_table.h index 898091193a..f066187ad1 100644 --- a/engines/zvision/graphics/render_table.h +++ b/engines/zvision/graphics/render_table.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/zvision/inventory/inventory_manager.h b/engines/zvision/inventory/inventory_manager.h index ae6d116b18..f9d2ff294a 100644 --- a/engines/zvision/inventory/inventory_manager.h +++ b/engines/zvision/inventory/inventory_manager.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/zvision/scripting/actions.cpp b/engines/zvision/scripting/actions.cpp index 878fa752d5..e854378ae4 100644 --- a/engines/zvision/scripting/actions.cpp +++ b/engines/zvision/scripting/actions.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/zvision/scripting/actions.h b/engines/zvision/scripting/actions.h index afa3e3a2ac..01457d21cc 100644 --- a/engines/zvision/scripting/actions.h +++ b/engines/zvision/scripting/actions.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/zvision/scripting/control.cpp b/engines/zvision/scripting/control.cpp index 35c4ea1441..2343c83c56 100644 --- a/engines/zvision/scripting/control.cpp +++ b/engines/zvision/scripting/control.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/zvision/scripting/control.h b/engines/zvision/scripting/control.h index 096ddd9cd0..ffeacb273d 100644 --- a/engines/zvision/scripting/control.h +++ b/engines/zvision/scripting/control.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/zvision/scripting/controls/animation_control.cpp b/engines/zvision/scripting/controls/animation_control.cpp index 061b1db487..e351e81d25 100644 --- a/engines/zvision/scripting/controls/animation_control.cpp +++ b/engines/zvision/scripting/controls/animation_control.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/zvision/scripting/controls/animation_control.h b/engines/zvision/scripting/controls/animation_control.h index 77663aaf1e..6c4d6dfcf7 100644 --- a/engines/zvision/scripting/controls/animation_control.h +++ b/engines/zvision/scripting/controls/animation_control.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/zvision/scripting/controls/input_control.cpp b/engines/zvision/scripting/controls/input_control.cpp index aaa35f6748..5cf5086691 100644 --- a/engines/zvision/scripting/controls/input_control.cpp +++ b/engines/zvision/scripting/controls/input_control.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/zvision/scripting/controls/input_control.h b/engines/zvision/scripting/controls/input_control.h index f0fd8b502d..32432438bb 100644 --- a/engines/zvision/scripting/controls/input_control.h +++ b/engines/zvision/scripting/controls/input_control.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/zvision/scripting/controls/lever_control.cpp b/engines/zvision/scripting/controls/lever_control.cpp index e08fdd10f3..9724e661b7 100644 --- a/engines/zvision/scripting/controls/lever_control.cpp +++ b/engines/zvision/scripting/controls/lever_control.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/zvision/scripting/controls/lever_control.h b/engines/zvision/scripting/controls/lever_control.h index 69473cf119..49e4fd3806 100644 --- a/engines/zvision/scripting/controls/lever_control.h +++ b/engines/zvision/scripting/controls/lever_control.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/zvision/scripting/controls/push_toggle_control.cpp b/engines/zvision/scripting/controls/push_toggle_control.cpp index 11ec4bb73f..82736b7576 100644 --- a/engines/zvision/scripting/controls/push_toggle_control.cpp +++ b/engines/zvision/scripting/controls/push_toggle_control.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/zvision/scripting/controls/push_toggle_control.h b/engines/zvision/scripting/controls/push_toggle_control.h index 13dc54a65f..3854fc2005 100644 --- a/engines/zvision/scripting/controls/push_toggle_control.h +++ b/engines/zvision/scripting/controls/push_toggle_control.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/zvision/scripting/controls/timer_node.cpp b/engines/zvision/scripting/controls/timer_node.cpp index 3b691be275..c8c8a85d34 100644 --- a/engines/zvision/scripting/controls/timer_node.cpp +++ b/engines/zvision/scripting/controls/timer_node.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/zvision/scripting/controls/timer_node.h b/engines/zvision/scripting/controls/timer_node.h index a8e579cbe4..48b5fad1e9 100644 --- a/engines/zvision/scripting/controls/timer_node.h +++ b/engines/zvision/scripting/controls/timer_node.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/zvision/scripting/puzzle.h b/engines/zvision/scripting/puzzle.h index 5bf5314a1d..ee9ce521c9 100644 --- a/engines/zvision/scripting/puzzle.h +++ b/engines/zvision/scripting/puzzle.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/zvision/scripting/scr_file_handling.cpp b/engines/zvision/scripting/scr_file_handling.cpp index d93094a3b2..753ce4ac6a 100644 --- a/engines/zvision/scripting/scr_file_handling.cpp +++ b/engines/zvision/scripting/scr_file_handling.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/zvision/scripting/script_manager.cpp b/engines/zvision/scripting/script_manager.cpp index adcc5c7545..41b835e550 100644 --- a/engines/zvision/scripting/script_manager.cpp +++ b/engines/zvision/scripting/script_manager.cpp @@ -1,24 +1,24 @@ /* 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. -* -*/ + * + * 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 "common/scummsys.h" diff --git a/engines/zvision/scripting/script_manager.h b/engines/zvision/scripting/script_manager.h index 29e41e1770..4d1b1f359b 100644 --- a/engines/zvision/scripting/script_manager.h +++ b/engines/zvision/scripting/script_manager.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/zvision/sound/zork_raw.cpp b/engines/zvision/sound/zork_raw.cpp index 316177fc42..55353acbb9 100644 --- a/engines/zvision/sound/zork_raw.cpp +++ b/engines/zvision/sound/zork_raw.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/zvision/sound/zork_raw.h b/engines/zvision/sound/zork_raw.h index 6f93ecd1d4..ef98e3e1ef 100644 --- a/engines/zvision/sound/zork_raw.h +++ b/engines/zvision/sound/zork_raw.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/zvision/strings/string_manager.cpp b/engines/zvision/strings/string_manager.cpp index c0eaeea095..22331d8a24 100644 --- a/engines/zvision/strings/string_manager.cpp +++ b/engines/zvision/strings/string_manager.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/zvision/strings/string_manager.h b/engines/zvision/strings/string_manager.h index 86bb9638d7..af8324b890 100644 --- a/engines/zvision/strings/string_manager.h +++ b/engines/zvision/strings/string_manager.h @@ -8,17 +8,16 @@ * 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. * - * */ #ifndef ZVISION_STRING_MANAGER_H diff --git a/engines/zvision/subtitles/subtitles.h b/engines/zvision/subtitles/subtitles.h index 13426e03e4..776ddd3a97 100644 --- a/engines/zvision/subtitles/subtitles.h +++ b/engines/zvision/subtitles/subtitles.h @@ -8,17 +8,16 @@ * 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. * - * */ #ifndef ZVISION_SUBTITLES_H diff --git a/engines/zvision/utility/clock.cpp b/engines/zvision/utility/clock.cpp index d798184300..45ab23ab65 100644 --- a/engines/zvision/utility/clock.cpp +++ b/engines/zvision/utility/clock.cpp @@ -8,17 +8,16 @@ * 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 "common/scummsys.h" diff --git a/engines/zvision/utility/clock.h b/engines/zvision/utility/clock.h index e72ddda2a0..6ae0f86161 100644 --- a/engines/zvision/utility/clock.h +++ b/engines/zvision/utility/clock.h @@ -8,17 +8,16 @@ * 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. * - * */ #ifndef ZVISION_CLOCK_H diff --git a/engines/zvision/utility/lzss_read_stream.cpp b/engines/zvision/utility/lzss_read_stream.cpp index dc537cd8ab..e094188ef6 100644 --- a/engines/zvision/utility/lzss_read_stream.cpp +++ b/engines/zvision/utility/lzss_read_stream.cpp @@ -1,24 +1,24 @@ /* 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. -* -*/ + * + * 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 "common/scummsys.h" diff --git a/engines/zvision/utility/lzss_read_stream.h b/engines/zvision/utility/lzss_read_stream.h index 8a8fe740ff..b51cf3905f 100644 --- a/engines/zvision/utility/lzss_read_stream.h +++ b/engines/zvision/utility/lzss_read_stream.h @@ -1,24 +1,24 @@ /* 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. -* -*/ + * + * 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. + * + */ #ifndef ZVISION_LZSS_STREAM_H #define ZVISION_LZSS_STREAM_H diff --git a/engines/zvision/utility/single_value_container.cpp b/engines/zvision/utility/single_value_container.cpp index 2667b27b75..e609474285 100644 --- a/engines/zvision/utility/single_value_container.cpp +++ b/engines/zvision/utility/single_value_container.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/zvision/utility/single_value_container.h b/engines/zvision/utility/single_value_container.h index 87cf824917..951383661a 100644 --- a/engines/zvision/utility/single_value_container.h +++ b/engines/zvision/utility/single_value_container.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/zvision/utility/utility.cpp b/engines/zvision/utility/utility.cpp index 6471d21e6c..905bc4513a 100644 --- a/engines/zvision/utility/utility.cpp +++ b/engines/zvision/utility/utility.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/zvision/utility/utility.h b/engines/zvision/utility/utility.h index 42abd92e8e..063d4c0663 100644 --- a/engines/zvision/utility/utility.h +++ b/engines/zvision/utility/utility.h @@ -8,17 +8,16 @@ * 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. * - * */ #ifndef ZVISION_UTILITY_H diff --git a/engines/zvision/video/video.cpp b/engines/zvision/video/video.cpp index efaecb5045..d1fff30408 100644 --- a/engines/zvision/video/video.cpp +++ b/engines/zvision/video/video.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/zvision/video/zork_avi_decoder.cpp b/engines/zvision/video/zork_avi_decoder.cpp index d3db3421af..f22a4203ab 100644 --- a/engines/zvision/video/zork_avi_decoder.cpp +++ b/engines/zvision/video/zork_avi_decoder.cpp @@ -8,17 +8,16 @@ * 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 "common/scummsys.h" diff --git a/engines/zvision/video/zork_avi_decoder.h b/engines/zvision/video/zork_avi_decoder.h index 79177a6795..c47f007f9b 100644 --- a/engines/zvision/video/zork_avi_decoder.h +++ b/engines/zvision/video/zork_avi_decoder.h @@ -8,17 +8,16 @@ * 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. * - * */ #ifndef ZORK_AVI_DECODER_H diff --git a/engines/zvision/zvision.cpp b/engines/zvision/zvision.cpp index 110b5c1625..b464f6ee81 100644 --- a/engines/zvision/zvision.cpp +++ b/engines/zvision/zvision.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/zvision/zvision.h b/engines/zvision/zvision.h index 15d9dc91d1..0b5a86f370 100644 --- a/engines/zvision/zvision.h +++ b/engines/zvision/zvision.h @@ -8,17 +8,16 @@ * 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. * - * */ #ifndef ZVISION_ZVISION_H -- cgit v1.2.3 From 36ac801a4da38a2454ebc7a305093f8ed66cd1b3 Mon Sep 17 00:00:00 2001 From: Johannes Schickel Date: Tue, 18 Feb 2014 02:43:50 +0100 Subject: VOYEUR: Make GPL headers consistent in themselves. --- engines/voyeur/animation.cpp | 4 ++-- engines/voyeur/animation.h | 4 ++-- engines/voyeur/data.cpp | 4 ++-- engines/voyeur/data.h | 4 ++-- engines/voyeur/debugger.cpp | 6 +++--- engines/voyeur/debugger.h | 6 +++--- engines/voyeur/detection.cpp | 5 ++--- engines/voyeur/detection_tables.h | 4 ++-- engines/voyeur/events.cpp | 4 ++-- engines/voyeur/events.h | 4 ++-- engines/voyeur/files.cpp | 4 ++-- engines/voyeur/files.h | 4 ++-- engines/voyeur/files_threads.cpp | 4 ++-- engines/voyeur/graphics.cpp | 4 ++-- engines/voyeur/graphics.h | 4 ++-- engines/voyeur/sound.cpp | 4 ++-- engines/voyeur/sound.h | 4 ++-- engines/voyeur/staticres.cpp | 4 ++-- engines/voyeur/staticres.h | 4 ++-- engines/voyeur/voyeur.cpp | 4 ++-- engines/voyeur/voyeur.h | 4 ++-- engines/voyeur/voyeur_game.cpp | 4 ++-- 22 files changed, 46 insertions(+), 47 deletions(-) diff --git a/engines/voyeur/animation.cpp b/engines/voyeur/animation.cpp index f81573f733..8e4b7fb975 100644 --- a/engines/voyeur/animation.cpp +++ b/engines/voyeur/animation.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/voyeur/animation.h b/engines/voyeur/animation.h index 35199f6b93..01d4282f92 100644 --- a/engines/voyeur/animation.h +++ b/engines/voyeur/animation.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/voyeur/data.cpp b/engines/voyeur/data.cpp index 3a7c75fc2e..527e02177e 100644 --- a/engines/voyeur/data.cpp +++ b/engines/voyeur/data.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/voyeur/data.h b/engines/voyeur/data.h index 8eb11ff390..7fd526b491 100644 --- a/engines/voyeur/data.h +++ b/engines/voyeur/data.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/voyeur/debugger.cpp b/engines/voyeur/debugger.cpp index b1bc2633ee..456a59b465 100644 --- a/engines/voyeur/debugger.cpp +++ b/engines/voyeur/debugger.cpp @@ -8,12 +8,12 @@ * 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 + * 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. diff --git a/engines/voyeur/debugger.h b/engines/voyeur/debugger.h index 43eaa5f474..0edf04eac4 100644 --- a/engines/voyeur/debugger.h +++ b/engines/voyeur/debugger.h @@ -8,12 +8,12 @@ * 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 + * 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. diff --git a/engines/voyeur/detection.cpp b/engines/voyeur/detection.cpp index ab3932bea1..3503eb11ef 100644 --- a/engines/voyeur/detection.cpp +++ b/engines/voyeur/detection.cpp @@ -8,17 +8,16 @@ * 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 "voyeur/voyeur.h" diff --git a/engines/voyeur/detection_tables.h b/engines/voyeur/detection_tables.h index af0faf6acb..da566ff63d 100644 --- a/engines/voyeur/detection_tables.h +++ b/engines/voyeur/detection_tables.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/voyeur/events.cpp b/engines/voyeur/events.cpp index 3b2369c1e1..8e27e89c2d 100644 --- a/engines/voyeur/events.cpp +++ b/engines/voyeur/events.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/voyeur/events.h b/engines/voyeur/events.h index eb6cf6d77f..454f2e353e 100644 --- a/engines/voyeur/events.h +++ b/engines/voyeur/events.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/voyeur/files.cpp b/engines/voyeur/files.cpp index 3f955fd066..03eae9666f 100644 --- a/engines/voyeur/files.cpp +++ b/engines/voyeur/files.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/voyeur/files.h b/engines/voyeur/files.h index 69802d8f68..01b6d3469a 100644 --- a/engines/voyeur/files.h +++ b/engines/voyeur/files.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/voyeur/files_threads.cpp b/engines/voyeur/files_threads.cpp index 5989c92439..189c127cac 100644 --- a/engines/voyeur/files_threads.cpp +++ b/engines/voyeur/files_threads.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/voyeur/graphics.cpp b/engines/voyeur/graphics.cpp index 7ed0591871..1157e7654d 100644 --- a/engines/voyeur/graphics.cpp +++ b/engines/voyeur/graphics.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/voyeur/graphics.h b/engines/voyeur/graphics.h index 322b90970c..59bc29bd25 100644 --- a/engines/voyeur/graphics.h +++ b/engines/voyeur/graphics.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/voyeur/sound.cpp b/engines/voyeur/sound.cpp index e81d2891fb..30780c34f4 100644 --- a/engines/voyeur/sound.cpp +++ b/engines/voyeur/sound.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/voyeur/sound.h b/engines/voyeur/sound.h index ca05b0bfe0..a58c6a38ed 100644 --- a/engines/voyeur/sound.h +++ b/engines/voyeur/sound.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/voyeur/staticres.cpp b/engines/voyeur/staticres.cpp index 9025426c57..27ed5db71f 100644 --- a/engines/voyeur/staticres.cpp +++ b/engines/voyeur/staticres.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/voyeur/staticres.h b/engines/voyeur/staticres.h index 20bffe01e3..da292e1885 100644 --- a/engines/voyeur/staticres.h +++ b/engines/voyeur/staticres.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/voyeur/voyeur.cpp b/engines/voyeur/voyeur.cpp index d7fa92f1cb..480b6129fd 100644 --- a/engines/voyeur/voyeur.cpp +++ b/engines/voyeur/voyeur.cpp @@ -8,12 +8,12 @@ * 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. diff --git a/engines/voyeur/voyeur.h b/engines/voyeur/voyeur.h index 4daa8f5372..70202b0812 100644 --- a/engines/voyeur/voyeur.h +++ b/engines/voyeur/voyeur.h @@ -8,12 +8,12 @@ * 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. diff --git a/engines/voyeur/voyeur_game.cpp b/engines/voyeur/voyeur_game.cpp index b664074b56..d94a455e14 100644 --- a/engines/voyeur/voyeur_game.cpp +++ b/engines/voyeur/voyeur_game.cpp @@ -8,12 +8,12 @@ * 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. -- cgit v1.2.3 From 589c6ffed25e818cd332e3ffb462ee13c4c8703e Mon Sep 17 00:00:00 2001 From: uruk Date: Tue, 18 Feb 2014 13:53:20 +0100 Subject: AVALANCHE: Reimplement the rectangle drawing methods. --- engines/avalanche/ghostroom.cpp | 14 +++++++------- engines/avalanche/graphics.cpp | 6 +++--- engines/avalanche/graphics.h | 6 ++++-- engines/avalanche/help.cpp | 4 ++-- engines/avalanche/nim.cpp | 10 +++++----- engines/avalanche/shootemup.cpp | 6 +++--- 6 files changed, 24 insertions(+), 22 deletions(-) diff --git a/engines/avalanche/ghostroom.cpp b/engines/avalanche/ghostroom.cpp index 3323e538ef..5942c5565c 100644 --- a/engines/avalanche/ghostroom.cpp +++ b/engines/avalanche/ghostroom.cpp @@ -209,7 +209,7 @@ void GhostRoom::run() { CursorMan.showMouse(false); _vm->_graphics->saveScreen(); _vm->fadeOut(); - _vm->_graphics->drawFilledRectangle(Common::Rect(0, 0, 640, 200), kColorBlack); // Black out the whole screen. + _vm->_graphics->drawFilledRectangle(Common::Rect(0, 0, 639, 199), kColorBlack); // Black out the whole screen. _vm->fadeIn(); // Only load the pictures if it's our first time walking into the room. @@ -230,12 +230,12 @@ void GhostRoom::run() { int xBound = x % 30; if ((22 <= xBound) && (xBound <= 27)) { if (xBound == 27) - _vm->_graphics->drawFilledRectangle(Common::Rect(x, 135, x + 17, 137), kColorBlack); + _vm->_graphics->drawFilledRectangle(Common::Rect(x, 135, x + 16, 136), kColorBlack); _vm->_graphics->ghostDrawPicture(_eyes[0], x, 136); _vm->_graphics->drawDot(x + 16, 137, kColorBlack); } else { if (xBound == 21) - _vm->_graphics->drawFilledRectangle(Common::Rect(x, 137, x + 18, 139), kColorBlack); + _vm->_graphics->drawFilledRectangle(Common::Rect(x, 137, x + 17, 138), kColorBlack); _vm->_graphics->ghostDrawPicture(_eyes[0], x, 135); _vm->_graphics->drawDot(x + 16, 136, kColorBlack); // Eyes would leave a trail 1 pixel high behind them. } @@ -298,7 +298,7 @@ void GhostRoom::run() { wait(777); // Erase "aargh": - _vm->_graphics->drawFilledRectangle(Common::Rect(172, 78, 348, 112), kColorBlack); + _vm->_graphics->drawFilledRectangle(Common::Rect(172, 78, 347, 111), kColorBlack); _vm->_graphics->refreshScreen(); for (int i = 4; i >= 0; i--) { @@ -307,7 +307,7 @@ void GhostRoom::run() { } // Erase the exclamation mark: - _vm->_graphics->drawFilledRectangle(Common::Rect(246, 127, 252, 134), kColorBlack); + _vm->_graphics->drawFilledRectangle(Common::Rect(246, 127, 251, 133), kColorBlack); _vm->_graphics->refreshScreen(); // Avvy hurries back: @@ -320,12 +320,12 @@ void GhostRoom::run() { int xBound = x % 30; if ((22 <= xBound) && (xBound <= 27)) { if (xBound == 22) - _vm->_graphics->drawFilledRectangle(Common::Rect(x + 22, 134, x + 38, 138), kColorBlack); + _vm->_graphics->drawFilledRectangle(Common::Rect(x + 22, 134, x + 38, 137), kColorBlack); _vm->_graphics->ghostDrawPicture(_eyes[1], x + 23, 136); _vm->_graphics->drawDot(x + 22, 137, kColorBlack); } else { if (xBound == 28) - _vm->_graphics->drawFilledRectangle(Common::Rect(x + 22, 135, x + 38, 139), kColorBlack); + _vm->_graphics->drawFilledRectangle(Common::Rect(x + 22, 135, x + 38, 138), kColorBlack); _vm->_graphics->ghostDrawPicture(_eyes[1], x + 23, 135); _vm->_graphics->drawDot(x + 22, 136, kColorBlack); // Eyes would leave a trail 1 pixel high behind them. } diff --git a/engines/avalanche/graphics.cpp b/engines/avalanche/graphics.cpp index 1e3a6ff36c..ca9409d25d 100644 --- a/engines/avalanche/graphics.cpp +++ b/engines/avalanche/graphics.cpp @@ -479,11 +479,11 @@ void GraphicManager::drawDebugLines() { } void GraphicManager::drawFilledRectangle(Common::Rect rect, Color color) { - _surface.fillRect(rect, color); + _surface.fillRect(Common::Rect(rect.left, rect.top, rect.right + 1, rect.bottom + 1), color); } void GraphicManager::drawRectangle(Common::Rect rect, Color color) { - _surface.frameRect(rect, color); + _surface.frameRect(Common::Rect(rect.left, rect.top, rect.right + 1, rect.bottom + 1), color); } void GraphicManager::nimLoad() { @@ -687,7 +687,7 @@ void GraphicManager::helpDrawHighlight(byte which, Color color) { return; which &= 31; - drawRectangle(Common::Rect(466, 38 + which * 27, 555, 63 + which * 27), color); + drawRectangle(Common::Rect(466, 38 + which * 27, 555, 62 + which * 27), color); } /** diff --git a/engines/avalanche/graphics.h b/engines/avalanche/graphics.h index 05bd507d8e..b720ae7c8e 100644 --- a/engines/avalanche/graphics.h +++ b/engines/avalanche/graphics.h @@ -59,13 +59,15 @@ public: void loadDigits(); void loadMouse(byte which); + // We have to handle the drawing of rectangles a little bit differently to mimic Pascal's bar() and rectangle() methods properly. + // Now it is possible to use the original coordinates everywhere. + void drawFilledRectangle(Common::Rect rect, Color color); + void drawRectangle(Common::Rect rect, Color color); void drawDot(int x, int y, Color color); void drawLine(int x1, int y1, int x2, int y2, int penX, int penY, Color color); Common::Point drawScreenArc(int16 x, int16 y, int16 stAngle, int16 endAngle, uint16 radius, Color color); void drawPieSlice(int16 x, int16 y, int16 stAngle, int16 endAngle, uint16 radius, Color color); void drawTriangle(Common::Point *p, Color color); - void drawFilledRectangle(Common::Rect rect, Color color); - void drawRectangle(Common::Rect rect, Color color); void drawNormalText(const Common::String text, FontType font, byte fontHeight, int16 x, int16 y, Color color); void drawBigText(const Common::String text, FontType font, byte fontHeight, int16 x, int16 y, Color color); // Very similar to drawText. TODO: Try to unify the two. void drawScrollText(const Common::String text, FontType font, byte fontHeight, int16 x, int16 y, Color color); diff --git a/engines/avalanche/help.cpp b/engines/avalanche/help.cpp index bef557db07..b667ad090d 100644 --- a/engines/avalanche/help.cpp +++ b/engines/avalanche/help.cpp @@ -66,8 +66,8 @@ void Help::switchPage(byte which) { Common::String title = getLine(file); - _vm->_graphics->drawFilledRectangle(Common::Rect(0, 0, 640, 200), kColorBlue); - _vm->_graphics->drawFilledRectangle(Common::Rect(8, 40, 450, 200), kColorWhite); + _vm->_graphics->drawFilledRectangle(Common::Rect(0, 0, 639, 199), kColorBlue); + _vm->_graphics->drawFilledRectangle(Common::Rect(8, 40, 449, 199), kColorWhite); byte index = file.readByte(); _vm->_graphics->helpDrawButton(-177, index); diff --git a/engines/avalanche/nim.cpp b/engines/avalanche/nim.cpp index 1430b69ea9..87af8053e1 100644 --- a/engines/avalanche/nim.cpp +++ b/engines/avalanche/nim.cpp @@ -152,13 +152,13 @@ void Nim::setup() { _vm->fadeIn(); _vm->_graphics->nimLoad(); - _vm->_graphics->drawFilledRectangle(Common::Rect(0, 0, 640, 200), kColorBlack); + _vm->_graphics->drawFilledRectangle(Common::Rect(0, 0, 639, 199), kColorBlack); // Upper left rectangle. - _vm->_graphics->drawRectangle(Common::Rect(10, 5, 381, 71), kColorRed); - _vm->_graphics->drawFilledRectangle(Common::Rect(11, 6, 380, 70), kColorBrown); + _vm->_graphics->drawRectangle(Common::Rect(10, 5, 380, 70), kColorRed); + _vm->_graphics->drawFilledRectangle(Common::Rect(11, 6, 379, 69), kColorBrown); // Bottom right rectangle. - _vm->_graphics->drawRectangle(Common::Rect(394, 50, 635, 198), kColorRed); - _vm->_graphics->drawFilledRectangle(Common::Rect(395, 51, 634, 197), kColorBrown); + _vm->_graphics->drawRectangle(Common::Rect(394, 50, 634, 197), kColorRed); + _vm->_graphics->drawFilledRectangle(Common::Rect(395, 51, 633, 196), kColorBrown); _vm->_graphics->nimDrawLogo(); _vm->_graphics->nimDrawInitials(); diff --git a/engines/avalanche/shootemup.cpp b/engines/avalanche/shootemup.cpp index 3012813d70..cd46d00333 100644 --- a/engines/avalanche/shootemup.cpp +++ b/engines/avalanche/shootemup.cpp @@ -202,11 +202,11 @@ void ShootEmUp::nextPage() { } } - _vm->_graphics->drawFilledRectangle(Common::Rect(0, 0, 640, 200), kColorBlack); + _vm->_graphics->drawFilledRectangle(Common::Rect(0, 0, 639, 199), kColorBlack); } void ShootEmUp::instructions() { - _vm->_graphics->drawFilledRectangle(Common::Rect(0, 0, 640, 200), kColorBlack); // Black out the whole screen. + _vm->_graphics->drawFilledRectangle(Common::Rect(0, 0, 639, 199), kColorBlack); // Black out the whole screen. _vm->_graphics->seuDrawPicture(25, 25, kFacingRight); _vm->_graphics->drawNormalText("< Avvy, our hero, needs your help - you must move him around.", _vm->_font, 8, 60, 35, kColorWhite); _vm->_graphics->drawNormalText("(He''s too terrified to move himself!)", _vm->_font, 8, 80, 45, kColorWhite); @@ -270,7 +270,7 @@ void ShootEmUp::setup() { _count321 = 255; // Counting down. - _vm->_graphics->drawFilledRectangle(Common::Rect(0, 0, 640, 200), kColorBlack); // Black out the whole screen. + _vm->_graphics->drawFilledRectangle(Common::Rect(0, 0, 639, 199), kColorBlack); // Black out the whole screen. // Set up status line: _vm->_graphics->seuDrawPicture(0, 0, 16); // Score: -- cgit v1.2.3 From f20d4e726d4c747d9c813d12834d35c7475e250e Mon Sep 17 00:00:00 2001 From: uruk Date: Tue, 18 Feb 2014 14:05:03 +0100 Subject: AVALANCHE: Introduce GraphicManager::blackOutScreen(). --- engines/avalanche/ghostroom.cpp | 2 +- engines/avalanche/graphics.cpp | 8 ++++++-- engines/avalanche/graphics.h | 3 ++- engines/avalanche/shootemup.cpp | 4 ++-- 4 files changed, 11 insertions(+), 6 deletions(-) diff --git a/engines/avalanche/ghostroom.cpp b/engines/avalanche/ghostroom.cpp index 5942c5565c..91b2bae4f0 100644 --- a/engines/avalanche/ghostroom.cpp +++ b/engines/avalanche/ghostroom.cpp @@ -209,7 +209,7 @@ void GhostRoom::run() { CursorMan.showMouse(false); _vm->_graphics->saveScreen(); _vm->fadeOut(); - _vm->_graphics->drawFilledRectangle(Common::Rect(0, 0, 639, 199), kColorBlack); // Black out the whole screen. + _vm->_graphics->blackOutScreen(); _vm->fadeIn(); // Only load the pictures if it's our first time walking into the room. diff --git a/engines/avalanche/graphics.cpp b/engines/avalanche/graphics.cpp index ca9409d25d..4bd6695bb8 100644 --- a/engines/avalanche/graphics.cpp +++ b/engines/avalanche/graphics.cpp @@ -478,12 +478,16 @@ void GraphicManager::drawDebugLines() { } } +void GraphicManager::drawRectangle(Common::Rect rect, Color color) { + _surface.frameRect(Common::Rect(rect.left, rect.top, rect.right + 1, rect.bottom + 1), color); +} + void GraphicManager::drawFilledRectangle(Common::Rect rect, Color color) { _surface.fillRect(Common::Rect(rect.left, rect.top, rect.right + 1, rect.bottom + 1), color); } -void GraphicManager::drawRectangle(Common::Rect rect, Color color) { - _surface.frameRect(Common::Rect(rect.left, rect.top, rect.right + 1, rect.bottom + 1), color); +void GraphicManager::blackOutScreen() { + _vm->_graphics->drawFilledRectangle(Common::Rect(0, 0, 639, 199), kColorBlack); } void GraphicManager::nimLoad() { diff --git a/engines/avalanche/graphics.h b/engines/avalanche/graphics.h index b720ae7c8e..34f6498fca 100644 --- a/engines/avalanche/graphics.h +++ b/engines/avalanche/graphics.h @@ -61,8 +61,9 @@ public: // We have to handle the drawing of rectangles a little bit differently to mimic Pascal's bar() and rectangle() methods properly. // Now it is possible to use the original coordinates everywhere. - void drawFilledRectangle(Common::Rect rect, Color color); void drawRectangle(Common::Rect rect, Color color); + void drawFilledRectangle(Common::Rect rect, Color color); + void blackOutScreen(); void drawDot(int x, int y, Color color); void drawLine(int x1, int y1, int x2, int y2, int penX, int penY, Color color); Common::Point drawScreenArc(int16 x, int16 y, int16 stAngle, int16 endAngle, uint16 radius, Color color); diff --git a/engines/avalanche/shootemup.cpp b/engines/avalanche/shootemup.cpp index cd46d00333..435adb1d48 100644 --- a/engines/avalanche/shootemup.cpp +++ b/engines/avalanche/shootemup.cpp @@ -206,7 +206,7 @@ void ShootEmUp::nextPage() { } void ShootEmUp::instructions() { - _vm->_graphics->drawFilledRectangle(Common::Rect(0, 0, 639, 199), kColorBlack); // Black out the whole screen. + _vm->_graphics->blackOutScreen(); _vm->_graphics->seuDrawPicture(25, 25, kFacingRight); _vm->_graphics->drawNormalText("< Avvy, our hero, needs your help - you must move him around.", _vm->_font, 8, 60, 35, kColorWhite); _vm->_graphics->drawNormalText("(He''s too terrified to move himself!)", _vm->_font, 8, 80, 45, kColorWhite); @@ -270,7 +270,7 @@ void ShootEmUp::setup() { _count321 = 255; // Counting down. - _vm->_graphics->drawFilledRectangle(Common::Rect(0, 0, 639, 199), kColorBlack); // Black out the whole screen. + _vm->_graphics->blackOutScreen(); // Set up status line: _vm->_graphics->seuDrawPicture(0, 0, 16); // Score: -- cgit v1.2.3 From 3b313bfc83f922c5ed92503f0de99cec0bcb6f12 Mon Sep 17 00:00:00 2001 From: uruk Date: Tue, 18 Feb 2014 14:15:28 +0100 Subject: AVALANCHE: Implement ShootEmUp::blankIt(). --- engines/avalanche/shootemup.cpp | 4 +++- engines/avalanche/shootemup.h | 1 + 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/engines/avalanche/shootemup.cpp b/engines/avalanche/shootemup.cpp index 435adb1d48..530e65d883 100644 --- a/engines/avalanche/shootemup.cpp +++ b/engines/avalanche/shootemup.cpp @@ -138,7 +138,9 @@ byte ShootEmUp::getStockNumber(byte x) { } void ShootEmUp::blankIt() { - warning("STUB: ShootEmUp::blankIt()"); + for (int i = 0; i < _rectNum; i++) + _vm->_graphics->drawFilledRectangle(_rectangles[i], kColorBlack); + _rectNum = 0; } void ShootEmUp::moveThem() { diff --git a/engines/avalanche/shootemup.h b/engines/avalanche/shootemup.h index ce6af73237..383a712c93 100644 --- a/engines/avalanche/shootemup.h +++ b/engines/avalanche/shootemup.h @@ -70,6 +70,7 @@ private: byte _stockStatus[7]; Sprite _sprites[99]; byte _rectNum; // Original: 'rsize' + Common::Rect _rectangles[99]; uint16 _avvyWas; uint16 _avvyPos; byte _avvyAnim; -- cgit v1.2.3 From 1b5cf54cedeb4fdac2849a57dfd6185d3bd0ade7 Mon Sep 17 00:00:00 2001 From: uruk Date: Tue, 18 Feb 2014 14:55:54 +0100 Subject: AVALANCHE: Implement ShootEmUp::hitPeople() and connected functions. --- engines/avalanche/shootemup.cpp | 50 ++++++++++++++++++++++++++++++++++++----- engines/avalanche/shootemup.h | 2 +- 2 files changed, 45 insertions(+), 7 deletions(-) diff --git a/engines/avalanche/shootemup.cpp b/engines/avalanche/shootemup.cpp index 530e65d883..4a4c10c17e 100644 --- a/engines/avalanche/shootemup.cpp +++ b/engines/avalanche/shootemup.cpp @@ -118,6 +118,8 @@ void ShootEmUp::run() { updateTime(); check321(); readKbd(); + + _vm->_graphics->refreshScreen(); } while (_time != 0); _vm->fadeOut(); @@ -128,8 +130,8 @@ void ShootEmUp::run() { } bool ShootEmUp::overlap(uint16 a1x, uint16 a1y, uint16 a2x, uint16 a2y, uint16 b1x, uint16 b1y, uint16 b2x, uint16 b2y) { - warning("STUB: ShootEmUp::overlap()"); - return false; + // By De Morgan's law: + return (a2x >= b1x) && (b2x >= a1x) && (a2y >= b1y) && (b2y >= a1y); } byte ShootEmUp::getStockNumber(byte x) { @@ -151,8 +153,20 @@ void ShootEmUp::plotThem() { warning("STUB: ShootEmUp::plotThem()"); } -void ShootEmUp::define(int16 xx, int16 yy, byte pp, int8 ixx, int8 iyy, int16 time, bool isAMissile, bool doWeWipe) { - warning("STUB: ShootEmUp::define()"); +void ShootEmUp::define(int16 x, int16 y, byte p, int8 ix, int8 iy, int16 time, bool isAMissile, bool doWeWipe) { + for (int i = 0; i < 99; i++) { + if (_sprites[i]._x == kFlag) { + _sprites[i]._x = x; + _sprites[i]._y = y; + _sprites[i]._p = p; + _sprites[i]._ix = ix; + _sprites[i]._iy = iy; + _sprites[i]._timeout = time; + _sprites[i]._cameo = false; + _sprites[i]._missile = isAMissile; + _sprites[i]._wipe = doWeWipe; + } + } } void ShootEmUp::defineCameo(int16 xx, int16 yy, byte pp, int16 time) { @@ -184,7 +198,12 @@ void ShootEmUp::showTime() { } void ShootEmUp::gain(int8 howMuch) { - warning("STUB: ShootEmUp::gain()"); + if ((_score + howMuch) == 0) // howMuch can be negative! + _score = 0; + else + _score += howMuch; + + showScore(); } void ShootEmUp::newEscape() { @@ -326,7 +345,26 @@ void ShootEmUp::updateTime() { } void ShootEmUp::hitPeople() { - warning("STUB: ShootEmUp::hitPeople()"); + if (_count321 != 0) + return; + + for (int i = 0; i < 99; i++) { + if ((_sprites[i]._missile) && (_sprites[i]._x != kFlag)) { + for (int j = 0; j < 4; j++) { + + bool overlaps = overlap(_sprites[i]._x, _sprites[i]._y, _sprites[i]._x + 7, _sprites[i]._y + 10, + _running[j]._x, _running[j]._y, _running[j]._x + 17, _running[j]._y + 24); + + if ((_running[j]._x != kFlag) && (overlaps)) { + _vm->_sound->playNote(7177, 1); + _sprites[i]._x = kFlag; + gain(-5); + define(_running[j]._x + 20, _running[j]._y + 3, 34 + _vm->_rnd->getRandomNumber(5), 1, 3, 9, false, true); // Oof! + define(_sprites[i]._x, _sprites[i]._y, 83, 1, 0, 17, false, true); // Oops! + } + } + } + } } void ShootEmUp::escapeCheck() { diff --git a/engines/avalanche/shootemup.h b/engines/avalanche/shootemup.h index 383a712c93..38f18b0d1c 100644 --- a/engines/avalanche/shootemup.h +++ b/engines/avalanche/shootemup.h @@ -91,7 +91,7 @@ private: void blankIt(); void moveThem(); void plotThem(); - void define(int16 xx, int16 yy, byte pp, int8 ixx, int8 iyy, int16 time, bool isAMissile, bool doWeWipe); + void define(int16 x, int16 y, byte p, int8 ix, int8 iy, int16 time, bool isAMissile, bool doWeWipe); void defineCameo(int16 xx, int16 yy, byte pp, int16 time); void showStock(byte x); void drawNumber(int number, int size, int x); -- cgit v1.2.3 From 72c40dbd47b8684358432567cd20cbd3b9af92b8 Mon Sep 17 00:00:00 2001 From: uruk Date: Tue, 18 Feb 2014 15:42:31 +0100 Subject: AVALANCHE: Repair writing off the boundaries in loadPictureGraphic(). --- engines/avalanche/graphics.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/engines/avalanche/graphics.cpp b/engines/avalanche/graphics.cpp index 4bd6695bb8..367ca27c09 100644 --- a/engines/avalanche/graphics.cpp +++ b/engines/avalanche/graphics.cpp @@ -790,7 +790,10 @@ Graphics::Surface GraphicManager::loadPictureGraphic(Common::File &file) { byte pixel = file.readByte(); for (int bit = 0; bit < 8; bit++) { byte pixelBit = (pixel >> bit) & 1; - *(byte *)picture.getBasePtr(x + 7 - bit, y) += (pixelBit << plane); + // If the picture's width is not a multiple of 8, and we get over the boundary with the 'x' cycle, pixelBit is surely == 0. + // Otherwise, it doesn't cause trouble, since addign 0 doesn't have an effect at all. + if (pixelBit != 0) + *(byte *)picture.getBasePtr(x + 7 - bit, y) += (pixelBit << plane); } } } -- cgit v1.2.3 From 2e56baeca0ad9067f73a03c81a161e05acda7abe Mon Sep 17 00:00:00 2001 From: uruk Date: Tue, 18 Feb 2014 15:47:17 +0100 Subject: AVALANCHE: Rework GraphicManager::loadPictureSign(). --- engines/avalanche/graphics.cpp | 11 +++++------ engines/avalanche/graphics.h | 2 +- 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/engines/avalanche/graphics.cpp b/engines/avalanche/graphics.cpp index 367ca27c09..cde0f5de9a 100644 --- a/engines/avalanche/graphics.cpp +++ b/engines/avalanche/graphics.cpp @@ -826,22 +826,21 @@ Graphics::Surface GraphicManager::loadPictureRaw(Common::File &file, uint16 widt return picture; } -Graphics::Surface GraphicManager::loadPictureSign(Common::File &file, int xl, int yl) { +Graphics::Surface GraphicManager::loadPictureSign(Common::File &file, uint16 width, uint16 height) { // I know it looks very similar to the other loadPicture methods, but in truth it's the combination of the two. - uint16 width = xl * 8; - uint16 height = yl; + width *= 8; Graphics::Surface picture; // We make a Surface object for the picture itself. picture.create(width, height, Graphics::PixelFormat::createFormatCLUT8()); // Produce the picture. We read it in row-by-row, and every row has 4 planes. - for (int yy = 0; yy < height; yy++) { + for (int y = 0; y < height; y++) { for (int8 plane = 0; plane < 4; plane++) { // The planes are in the "right" order. - for (uint16 xx = 0; xx < width; xx += 8) { + for (uint16 x = 0; x < width; x += 8) { byte pixel = file.readByte(); for (int bit = 0; bit < 8; bit++) { byte pixelBit = (pixel >> bit) & 1; - *(byte *)picture.getBasePtr(xx + 7 - bit, yy) += (pixelBit << plane); + *(byte *)picture.getBasePtr(x + 7 - bit, y) += (pixelBit << plane); } } } diff --git a/engines/avalanche/graphics.h b/engines/avalanche/graphics.h index 34f6498fca..1da875b330 100644 --- a/engines/avalanche/graphics.h +++ b/engines/avalanche/graphics.h @@ -180,7 +180,7 @@ private: // Further information about these two: http://www.shikadi.net/moddingwiki/Raw_EGA_data Graphics::Surface loadPictureGraphic(Common::File &file); // Reads Graphic-planar EGA data. - Graphics::Surface loadPictureSign(Common::File &file, int xl, int yl); // Reads a tricky type of picture used for the "game over"/"about" scrolls and in the mini-game Nim. + Graphics::Surface loadPictureSign(Common::File &file, uint16 width, uint16 height); // Reads a tricky type of picture used for the "game over"/"about" scrolls and in the mini-game Nim. void drawText(Graphics::Surface &surface, const Common::String text, FontType font, byte fontHeight, int16 x, int16 y, Color color); void drawPicture(Graphics::Surface &target, const Graphics::Surface picture, uint16 destX, uint16 destY); -- cgit v1.2.3 From 1434940253f66a03d7a305f863efe0614c31aef8 Mon Sep 17 00:00:00 2001 From: Strangerke Date: Tue, 18 Feb 2014 18:58:58 +0100 Subject: VOYEUR: Remove useless variable in synchronize --- engines/voyeur/voyeur.cpp | 1 - 1 file changed, 1 deletion(-) diff --git a/engines/voyeur/voyeur.cpp b/engines/voyeur/voyeur.cpp index 480b6129fd..7a9637d489 100644 --- a/engines/voyeur/voyeur.cpp +++ b/engines/voyeur/voyeur.cpp @@ -852,7 +852,6 @@ void VoyeurEngine::synchronize(Common::Serializer &s) { /*------------------------------------------------------------------------*/ bool VoyeurSavegameHeader::read(Common::InSaveFile *f) { - char id[4]; _thumbnail = NULL; uint32 signature = f->readUint32BE(); -- cgit v1.2.3 From c998e83eb316a8841847e4c80a8d308f51f3d0fe Mon Sep 17 00:00:00 2001 From: Eugene Sandulenko Date: Tue, 18 Feb 2014 20:49:28 +0200 Subject: FULLPIPE: Implement sceneHandler09_cycleHangers() --- engines/fullpipe/scenes/scene09.cpp | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/engines/fullpipe/scenes/scene09.cpp b/engines/fullpipe/scenes/scene09.cpp index 7666e87db2..1ad151a2de 100644 --- a/engines/fullpipe/scenes/scene09.cpp +++ b/engines/fullpipe/scenes/scene09.cpp @@ -309,7 +309,26 @@ void sceneHandler09_showBall() { } void sceneHandler09_cycleHangers() { - warning("STUB: sceneHandler09_cycleHangers()"); + for (int i = 0; i < g_vars->scene09_numMovingHangers; i++) { + Movement *mov = g_vars->scene09_hangers[i]->ani->_movement; + + if (mov && mov->_id == MV_VSN_CYCLE2) { + int idx; + + if (g_vars->scene09_hangers[i]->phase >= 0) + idx = 18 - g_vars->scene09_hangers[i]->phase / 5; + else + idx = 18 - g_vars->scene09_hangers[i]->phase * 10 / 43; + + if (idx > 38) + idx = 38; + + if (idx < 1) + idx = 1; + + mov->setDynamicPhaseIndex(idx); + } + } } void sceneHandler09_limitHangerPhase() { -- cgit v1.2.3 From eb4d2695ee7df2b8591f30efa2759cac1f57fcd9 Mon Sep 17 00:00:00 2001 From: Eugene Sandulenko Date: Tue, 18 Feb 2014 20:56:37 +0200 Subject: FULLPIPE: Implement sceneHandler09_limitHangerPhase() --- engines/fullpipe/scenes/scene09.cpp | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/engines/fullpipe/scenes/scene09.cpp b/engines/fullpipe/scenes/scene09.cpp index 1ad151a2de..3762a43090 100644 --- a/engines/fullpipe/scenes/scene09.cpp +++ b/engines/fullpipe/scenes/scene09.cpp @@ -332,7 +332,23 @@ void sceneHandler09_cycleHangers() { } void sceneHandler09_limitHangerPhase() { - warning("STUB: sceneHandler09_limitHangerPhase()"); + for (int i = 0; i < g_vars->scene09_numMovingHangers; i++) { + if (i != g_vars_scene09_var10) { + g_vars_scene09_hangers[i]->phase += g_vars_scene09_hangers[i]->field_8; + + if (g_vars_scene09_hangers[i]->phase > 85) + g_vars_scene09_hangers[i]->phase = 85; + + if (g_vars_scene09_hangers[i]->phase < -85) + g_vars_scene09_hangers[i]->phase = -85; + + if (g_vars_scene09_hangers[i]->phase < 0) + g_vars_scene09_hangers[i]->field_8++; + + if (g_vars_scene09_hangers[i]->phase > 0) + g_vars_scene09_hangers[i]->field_8--; + } + } } void sceneHandler09_collideBall(Ball *ball) { -- cgit v1.2.3 From 74583e2301a7395a37ab711f8d3c5d01a66d5dad Mon Sep 17 00:00:00 2001 From: Eugene Sandulenko Date: Tue, 18 Feb 2014 20:57:27 +0200 Subject: FULLPIPE: Fix compilation --- engines/fullpipe/scenes/scene09.cpp | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/engines/fullpipe/scenes/scene09.cpp b/engines/fullpipe/scenes/scene09.cpp index 3762a43090..0679a0c374 100644 --- a/engines/fullpipe/scenes/scene09.cpp +++ b/engines/fullpipe/scenes/scene09.cpp @@ -333,20 +333,20 @@ void sceneHandler09_cycleHangers() { void sceneHandler09_limitHangerPhase() { for (int i = 0; i < g_vars->scene09_numMovingHangers; i++) { - if (i != g_vars_scene09_var10) { - g_vars_scene09_hangers[i]->phase += g_vars_scene09_hangers[i]->field_8; + if (i != g_vars->scene09_var10) { + g_vars->scene09_hangers[i]->phase += g_vars->scene09_hangers[i]->field_8; - if (g_vars_scene09_hangers[i]->phase > 85) - g_vars_scene09_hangers[i]->phase = 85; + if (g_vars->scene09_hangers[i]->phase > 85) + g_vars->scene09_hangers[i]->phase = 85; - if (g_vars_scene09_hangers[i]->phase < -85) - g_vars_scene09_hangers[i]->phase = -85; + if (g_vars->scene09_hangers[i]->phase < -85) + g_vars->scene09_hangers[i]->phase = -85; - if (g_vars_scene09_hangers[i]->phase < 0) - g_vars_scene09_hangers[i]->field_8++; + if (g_vars->scene09_hangers[i]->phase < 0) + g_vars->scene09_hangers[i]->field_8++; - if (g_vars_scene09_hangers[i]->phase > 0) - g_vars_scene09_hangers[i]->field_8--; + if (g_vars->scene09_hangers[i]->phase > 0) + g_vars->scene09_hangers[i]->field_8--; } } } -- cgit v1.2.3 From 0002eb0eaac6927dbde00b613af85a90803214c0 Mon Sep 17 00:00:00 2001 From: Strangerke Date: Tue, 18 Feb 2014 19:51:43 +0100 Subject: VOYEUR: Remove some useless variables --- engines/voyeur/data.cpp | 3 --- engines/voyeur/data.h | 5 +---- engines/voyeur/voyeur.cpp | 5 +---- 3 files changed, 2 insertions(+), 11 deletions(-) diff --git a/engines/voyeur/data.cpp b/engines/voyeur/data.cpp index 527e02177e..736267c72c 100644 --- a/engines/voyeur/data.cpp +++ b/engines/voyeur/data.cpp @@ -41,7 +41,6 @@ void VoyeurEvent::synchronize(Common::Serializer &s) { SVoy::SVoy() { // Initialize all the data fields _abortInterface = false; - _fadeICF0 = false; _isAM = false; Common::fill(&_phoneCallsReceived[0], &_phoneCallsReceived[5], false); Common::fill(&_roomHotspotsEnabled[0], &_roomHotspotsEnabled[20], false); @@ -52,7 +51,6 @@ SVoy::SVoy() { _boltGroupId2 = 0; _computerTextId = 0; _computerTimeMin = _computerTimeMax = 0; - _curICF0 = 0; _eventCount = 0; _fadingStep1 = 0; _fadingStep2 = 0; @@ -71,7 +69,6 @@ SVoy::SVoy() { _viewBounds = nullptr; Common::fill(&_evPicPtrs[0], &_evPicPtrs[6], (PictureResource *)nullptr); Common::fill(&_evCmPtrs[0], &_evCmPtrs[6], (CMapResource *)nullptr); - _curICF1 = 0; _policeEvent = 0; _eventFlags = EVTFLAG_TIME_DISABLED; diff --git a/engines/voyeur/data.h b/engines/voyeur/data.h index 7fd526b491..7b16f990f7 100644 --- a/engines/voyeur/data.h +++ b/engines/voyeur/data.h @@ -106,7 +106,6 @@ private: public: bool _abortInterface; - bool _fadeICF0; // Useless variable? (always the same value) bool _isAM; bool _phoneCallsReceived[5]; bool _roomHotspotsEnabled[20]; @@ -119,7 +118,6 @@ public: int _computerTextId; int _computerTimeMin; int _computerTimeMax; - int _curICF0; // Useless variable int _eventCount; int _eventFlags; int _fadingAmount1; @@ -155,7 +153,7 @@ public: void setVm(VoyeurEngine *vm); /** - * Synchronise the data + * Synchronize the data */ void synchronize(Common::Serializer &s); @@ -222,7 +220,6 @@ public: bool checkForKey(); private: - int _curICF1; // Useless variable int _policeEvent; }; diff --git a/engines/voyeur/voyeur.cpp b/engines/voyeur/voyeur.cpp index 7a9637d489..beaec8ab06 100644 --- a/engines/voyeur/voyeur.cpp +++ b/engines/voyeur/voyeur.cpp @@ -119,9 +119,7 @@ void VoyeurEngine::globalInitBolt() { assert(_graphicsManager._fontPtr->_curFont); // Setup default flags - _voy._fadeICF0 = false; _voy._viewBounds = nullptr; - _voy._curICF0 = _graphicsManager._palFlag ? 0xFFFFA5E0 : 0x5F90; _eventsManager.addFadeInt(); } @@ -561,8 +559,7 @@ void VoyeurEngine::playAVideoDuration(int videoId, int duration) { int endFrame = decoder.getCurFrame() + totalFrames; _eventsManager.getMouseInfo(); - if (!_voy._fadeICF0) - _eventsManager.startCursorBlink(); + _eventsManager.startCursorBlink(); while (!shouldQuit() && !decoder.endOfVideo() && !_eventsManager._mouseClicked && (decoder.getCurFrame() < endFrame)) { -- cgit v1.2.3 From 6c63a9f4c7fc72369ac91f5d3a000b3063f19f6f Mon Sep 17 00:00:00 2001 From: Strangerke Date: Tue, 18 Feb 2014 21:56:54 +0100 Subject: VOYEUR: Remove some useless variables in Event, cleanup --- engines/voyeur/events.cpp | 9 +-------- engines/voyeur/events.h | 19 +++++++------------ engines/voyeur/voyeur_game.cpp | 2 +- 3 files changed, 9 insertions(+), 21 deletions(-) diff --git a/engines/voyeur/events.cpp b/engines/voyeur/events.cpp index 8e27e89c2d..51096956c0 100644 --- a/engines/voyeur/events.cpp +++ b/engines/voyeur/events.cpp @@ -64,7 +64,6 @@ IntData::IntData() { EventsManager::EventsManager(): _intPtr(_gameData), _fadeIntNode(0, 0, 3), _cycleIntNode(0, 0, 3) { _cycleStatus = 0; - _mouseButton = 0; _fadeStatus = 0; _priorFrameTime = g_system->getMillis(); _gameCounter = 0; @@ -77,9 +76,8 @@ EventsManager::EventsManager(): _intPtr(_gameData), _cyclePtr = NULL; _leftClick = _rightClick = false; - _mouseClicked = _mouseUnk = false; + _mouseClicked = _newMouseClicked = false; _newLeftClick = _newRightClick = false;; - _newMouseClicked = _newMouseUnk = false; _videoDead = 0; } @@ -271,12 +269,10 @@ void EventsManager::pollEvents() { } return; case Common::EVENT_LBUTTONDOWN: - _mouseButton = 1; _vm->_eventsManager._newLeftClick = true; _vm->_eventsManager._newMouseClicked = true; return; case Common::EVENT_RBUTTONDOWN: - _mouseButton = 2; _vm->_eventsManager._newRightClick = true; _vm->_eventsManager._newMouseClicked = true; return; @@ -285,7 +281,6 @@ void EventsManager::pollEvents() { _vm->_eventsManager._newMouseClicked = false; _vm->_eventsManager._newLeftClick = false; _vm->_eventsManager._newRightClick = false; - _mouseButton = 0; return; case Common::EVENT_MOUSEMOVE: _mousePos = event.mouse; @@ -586,12 +581,10 @@ void EventsManager::getMouseInfo() { _vm->_eventsManager._mouseClicked = _vm->_eventsManager._newMouseClicked; _vm->_eventsManager._leftClick = _vm->_eventsManager._newLeftClick; _vm->_eventsManager._rightClick = _vm->_eventsManager._newRightClick; - _vm->_eventsManager._mouseUnk = _vm->_eventsManager._newMouseUnk; _vm->_eventsManager._newMouseClicked = false; _vm->_eventsManager._newLeftClick = false; _vm->_eventsManager._newRightClick = false; - _vm->_eventsManager._mouseUnk = false; } void EventsManager::startCursorBlink() { diff --git a/engines/voyeur/events.h b/engines/voyeur/events.h index 454f2e353e..03c26690c5 100644 --- a/engines/voyeur/events.h +++ b/engines/voyeur/events.h @@ -45,7 +45,7 @@ public: uint16 _curTime; uint16 _timeReset; uint32 _flags; -public: + IntNode(); IntNode(uint16 curTime, uint16 timeReset, uint16 flags); }; @@ -61,30 +61,29 @@ public: int _palStartIndex; int _palEndIndex; byte *_palette; -public: + IntData(); }; class EventsManager { private: VoyeurEngine *_vm; - uint32 _priorFrameTime; bool _counterFlag; + bool _cursorBlinked; uint32 _gameCounter; + uint32 _priorFrameTime; uint32 _recordBlinkCounter; // Original field was called _joe :) - int _mouseButton; Common::List _intNodes; Common::Point _mousePos; - bool _cursorBlinked; void mainVoyeurIntFunc(); -private: void checkForNextFrameCounter(); void voyeurTimer(); void videoTimer(); void vDoFadeInt(); void vDoCycleInt(); void fadeIntFunc(); + void addIntNode(IntNode *node); void deleteIntNode(IntNode *node); /** @@ -105,17 +104,14 @@ public: int _fadeStatus; bool _leftClick, _rightClick; - bool _mouseClicked; - bool _mouseUnk; - bool _newMouseClicked; + bool _mouseClicked, _newMouseClicked; bool _newLeftClick, _newRightClick; - bool _newMouseUnk; int _videoDead; int _cycleTime[4]; byte *_cycleNext[4]; VInitCycleResource *_cyclePtr; -public: + EventsManager(); void setVm(VoyeurEngine *vm) { _vm = vm; } @@ -129,7 +125,6 @@ public: void delayClick(int cycles); void pollEvents(); void startFade(CMapResource *cMap); - void addIntNode(IntNode *node); void addFadeInt(); void setCursor(PictureResource *pic); diff --git a/engines/voyeur/voyeur_game.cpp b/engines/voyeur/voyeur_game.cpp index d94a455e14..e2bf781bbf 100644 --- a/engines/voyeur/voyeur_game.cpp +++ b/engines/voyeur/voyeur_game.cpp @@ -590,7 +590,7 @@ void VoyeurEngine::reviewTape() { _eventsManager._intPtr._hasPalette = true; - if (_eventsManager._mouseClicked || _eventsManager._mouseUnk) { + if (_eventsManager._mouseClicked) { switch (foundIndex) { case 2: if (eventStart > 0) { -- cgit v1.2.3 From b06497f351a090e6802c6a359667d05e2b5600f3 Mon Sep 17 00:00:00 2001 From: Strangerke Date: Tue, 18 Feb 2014 22:43:48 +0100 Subject: VOYEUR: Start cleaning FILES --- engines/voyeur/files.cpp | 63 ++++++++++++------------------------------------ engines/voyeur/files.h | 20 +-------------- 2 files changed, 16 insertions(+), 67 deletions(-) diff --git a/engines/voyeur/files.cpp b/engines/voyeur/files.cpp index 03eae9666f..ecea231993 100644 --- a/engines/voyeur/files.cpp +++ b/engines/voyeur/files.cpp @@ -33,11 +33,6 @@ BoltFilesState::BoltFilesState() { _curLibPtr = NULL; _curGroupPtr = NULL; _curMemberPtr = NULL; - _curMemInfoPtr = NULL; - _fromGroupFlag = 0; - _xorMask = 0; - _encrypt = false; - _curFilePosition = 0; _bufferEnd = 0; _bufferBegin = 0; _bytesLeft = 0; @@ -46,7 +41,7 @@ BoltFilesState::BoltFilesState() { _bufPos = NULL; _historyIndex = 0; _runLength = 0; - _decompState = 0; + _decompState = false; _runType = 0; _runValue = 0; _runOffset = 0; @@ -65,7 +60,7 @@ byte *BoltFilesState::decompress(byte *buf, int size, int mode) { byte *bufP = buf; if (mode & 8) { - _decompState = 1; + _decompState = true; _runType = 0; _runLength = size; } @@ -116,9 +111,9 @@ byte *BoltFilesState::decompress(byte *buf, int size, int mode) { int len; if (_runLength <= size) { len = _runLength; - _decompState = 0; + _decompState = false; } else { - _decompState = 1; + _decompState = true; len = size; _runLength -= size; if (_runType == 1) @@ -170,7 +165,7 @@ void BoltFilesState::nextBlock() { _bufferBegin = _bufferEnd; int bytesRead = _curFd->read(_bufStart, _bufSize); - _bufferEnd = _curFilePosition = _curFd->pos(); + _bufferEnd = _curFd->pos(); _bytesLeft = bytesRead - 1; _bufPos = _bufStart; } @@ -222,7 +217,6 @@ byte *FilesManager::fload(const Common::String &filename, int *size) { BoltFile::BoltFile(const Common::String &filename, BoltFilesState &state): _state(state) { if (!_file.open(filename)) error("Could not open %s", filename.c_str()); - _state._curFilePosition = 0; // Read in the file header byte header[16]; @@ -245,7 +239,6 @@ BoltFile::~BoltFile() { } BoltGroup *BoltFile::getBoltGroup(uint16 id, bool process) { - ++_state._fromGroupFlag; _state._curLibPtr = this; _state._curGroupPtr = &_groups[(id >> 8) & 0xff]; @@ -254,9 +247,6 @@ BoltGroup *BoltFile::getBoltGroup(uint16 id, bool process) { _state._curGroupPtr->load(id & 0xff00); } - if (_state._curGroupPtr->_callInitGro) - initGro(); - if (process) { // Pre-process the resources id &= 0xff00; @@ -270,7 +260,6 @@ BoltGroup *BoltFile::getBoltGroup(uint16 id, bool process) { } resolveAll(); - --_state._fromGroupFlag; return _state._curGroupPtr; } @@ -398,16 +387,11 @@ byte *BoltFile::getBoltMember(uint32 id) { // Get the entry _state._curMemberPtr = &_state._curGroupPtr->_entries[id & 0xff]; - if (_state._curMemberPtr->_initMemRequired) - initMem(_state._curMemberPtr->_initMemRequired); // Return the data for the entry if it's already been loaded if (_state._curMemberPtr->_data) return _state._curMemberPtr->_data; - _state._xorMask = _state._curMemberPtr->_xorMask; - _state._encrypt = (_state._curMemberPtr->_mode & 0x10) != 0; - if (_state._curGroupPtr->_processed) { error("Processed resources are not supported"); } else { @@ -426,7 +410,7 @@ byte *BoltFile::getBoltMember(uint32 id) { } } - _state._decompState = 0; + _state._decompState = false; _state._historyIndex = 0; // Initialize the resource @@ -1085,27 +1069,18 @@ PictureResource::PictureResource(BoltFilesState &state, const byte *src): } } else if (_flags & PICFLAG_PIC_OFFSET) { int mode = 0; - if (_bounds.width() == 320) { + if (_bounds.width() == 320) mode = 147; - state._sImageShift = 2; - state._SVGAReset = false; - } else { - state._SVGAReset = true; + else { if (_bounds.width() == 640) { - if (_bounds.height() == 400) { + if (_bounds.height() == 400) mode = 220; - state._sImageShift = 3; - } else { + else mode = 221; - state._sImageShift = 3; - } - } else if (_bounds.width() == 800) { + } else if (_bounds.width() == 800) mode = 222; - state._sImageShift = 3; - } else if (_bounds.width() == 1024) { + else if (_bounds.width() == 1024) mode = 226; - state._sImageShift = 3; - } } if (mode != state._vm->_graphicsManager._SVGAMode) { @@ -1135,18 +1110,10 @@ PictureResource::PictureResource(BoltFilesState &state, const byte *src): int mask = (nbytes + 0x3FFF) >> 14; _imgData = NULL; - if (state._boltPageFrame == 0) - state.EMSGetFrameAddr(&state._boltPageFrame); if (state._boltPageFrame != 0) { - if (!state.EMSAllocatePages(&_planeSize)) { - _maskData = mask; - - for (int idx = 0; idx < mask; ++idx) - state.EMSMapPageHandle(_planeSize, idx, idx); - - state.decompress(state._boltPageFrame, nbytes, state._curMemberPtr->_mode); - return; - } + _maskData = mask; + state.decompress(state._boltPageFrame, nbytes, state._curMemberPtr->_mode); + return; } } diff --git a/engines/voyeur/files.h b/engines/voyeur/files.h index 01b6d3469a..48656c5902 100644 --- a/engines/voyeur/files.h +++ b/engines/voyeur/files.h @@ -63,11 +63,6 @@ public: BoltFile *_curLibPtr; BoltGroup *_curGroupPtr; BoltEntry *_curMemberPtr; - byte *_curMemInfoPtr; - int _fromGroupFlag; - byte _xorMask; - bool _encrypt; - int _curFilePosition; int _bufferEnd; int _bufferBegin; int _bytesLeft; @@ -78,7 +73,7 @@ public: int _historyIndex; byte _historyBuffer[0x200]; int _runLength; - int _decompState; + bool _decompState; int _runType; int _runValue; int _runOffset; @@ -86,18 +81,11 @@ public: Common::Array _resolves; byte *_boltPageFrame; - int _sImageShift; - bool _SVGAReset; public: BoltFilesState(); byte *decompress(byte *buf, int size, int mode); void nextBlock(); - - // Methods in the original stubbed under ScummVM - void EMSGetFrameAddr(byte **pageFrame) {} - bool EMSAllocatePages(uint *planeSize) { return false; } - void EMSMapPageHandle(int planeSize, int idx1, int idx2) {} }; class BoltFile { @@ -112,12 +100,6 @@ private: void resolveAll(); byte *getBoltMember(uint32 id); - // Methods in the original that are stubbed in ScummVM - void termType() {} - void initMem(int id) {} - void termMem() {} - void initGro() {} - void termGro() {} public: Common::File _file; public: -- cgit v1.2.3 From 5d0ebad9968898377f65bd233332afadaf106b19 Mon Sep 17 00:00:00 2001 From: Filippos Karapetis Date: Tue, 18 Feb 2014 10:50:06 +0200 Subject: WME: Fix bug #6531 - "WME: Art of Murder - Assertion" --- engines/wintermute/base/scriptables/script_ext_string.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/engines/wintermute/base/scriptables/script_ext_string.cpp b/engines/wintermute/base/scriptables/script_ext_string.cpp index dae0a0d699..bc0c658c57 100644 --- a/engines/wintermute/base/scriptables/script_ext_string.cpp +++ b/engines/wintermute/base/scriptables/script_ext_string.cpp @@ -298,7 +298,9 @@ bool SXString::scCallMethod(ScScript *script, ScStack *stack, ScStack *thisStack uint32 start = 0; for(uint32 i = 0; i < str.size() + 1; i++) { - uint32 ch = str[i]; + // The [] operator doesn't allow access to the zero code terminator + // (bug #6531) + uint32 ch = (i == str.size()) ? '\0' : str[i]; if (ch =='\0' || delims.contains(ch)) { if (i != start) { parts.push_back(WideString(str.c_str() + start, i - start + 1)); -- cgit v1.2.3 From a1dea147bba16006b1fb45f9ae22b7d7a008d99e Mon Sep 17 00:00:00 2001 From: Filippos Karapetis Date: Tue, 18 Feb 2014 10:56:44 +0200 Subject: WME: Remove translation tags from names found by the fallback detector Fixes cases like bug #6532 --- engines/wintermute/wintermute.cpp | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/engines/wintermute/wintermute.cpp b/engines/wintermute/wintermute.cpp index 31e5995e2e..81b6e53c9f 100644 --- a/engines/wintermute/wintermute.cpp +++ b/engines/wintermute/wintermute.cpp @@ -365,6 +365,17 @@ bool WintermuteEngine::getGameInfo(const Common::FSList &fslist, Common::String name = value; } else if (key == "CAPTION") { retVal = true; + // Remove any translation tags, if they are included in the game description. + // This can potentially remove parts of a string that has translation tags + // and contains a "/" in its description (e.g. /tag/Name start / name end will + // result in "name end"), but it's a very rare case, and this code is just used + // for fallback anyway. + if (value.hasPrefix("/")) { + value.deleteChar(0); + while (value.contains("/")) { + value.deleteChar(0); + } + } caption = value; } } -- cgit v1.2.3 From cd3e48cacedaa057bc3878e9e2c62f47b293b1b6 Mon Sep 17 00:00:00 2001 From: Strangerke Date: Tue, 18 Feb 2014 22:52:24 +0100 Subject: VOYEUR: Fix a null pointer assigned to 0 --- engines/voyeur/files.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/engines/voyeur/files.cpp b/engines/voyeur/files.cpp index ecea231993..7c6b8c9062 100644 --- a/engines/voyeur/files.cpp +++ b/engines/voyeur/files.cpp @@ -1110,7 +1110,7 @@ PictureResource::PictureResource(BoltFilesState &state, const byte *src): int mask = (nbytes + 0x3FFF) >> 14; _imgData = NULL; - if (state._boltPageFrame != 0) { + if (state._boltPageFrame != NULL) { _maskData = mask; state.decompress(state._boltPageFrame, nbytes, state._curMemberPtr->_mode); return; -- cgit v1.2.3 From ee6ac179ff6c3be516ce00339e10e63c5f4c4906 Mon Sep 17 00:00:00 2001 From: Strangerke Date: Wed, 19 Feb 2014 00:14:47 +0100 Subject: VOYEUR: Some more clean up in FILES --- engines/voyeur/files.cpp | 17 +++-------------- engines/voyeur/files.h | 13 +++---------- engines/voyeur/graphics.cpp | 2 +- 3 files changed, 7 insertions(+), 25 deletions(-) diff --git a/engines/voyeur/files.cpp b/engines/voyeur/files.cpp index 7c6b8c9062..d701f5a81f 100644 --- a/engines/voyeur/files.cpp +++ b/engines/voyeur/files.cpp @@ -173,7 +173,7 @@ void BoltFilesState::nextBlock() { /*------------------------------------------------------------------------*/ FilesManager::FilesManager() { - _decompressSize = DECOMPRESS_SIZE; + } bool FilesManager::openBoltLib(const Common::String &filename, BoltFile *&boltFile) { @@ -609,8 +609,6 @@ BoltGroup::BoltGroup(Common::SeekableReadStream *f): _file(f) { _file->read(&buffer[0], BOLT_GROUP_SIZE); _processed = buffer[0] != 0; - _callInitGro = buffer[1] != 0; - _termGroIndex = buffer[2]; _count = buffer[3] ? buffer[3] : 256; _fileOffset = READ_LE_UINT32(&buffer[8]); } @@ -658,9 +656,7 @@ BoltEntry::BoltEntry(Common::SeekableReadStream *f, uint16 id): _file(f), _id(id byte buffer[16]; _file->read(&buffer[0], 16); _mode = buffer[0]; - _initMemRequired = buffer[1]; _initMethod = buffer[3]; - _xorMask = buffer[4] & 0xff; _size = READ_LE_UINT32(&buffer[4]) & 0xffffff; _fileOffset = READ_LE_UINT32(&buffer[8]); } @@ -955,7 +951,6 @@ int DisplayResource::drawText(const Common::String &msg) { } else { fontChar._pick = fontInfo._picPick; fontChar._onOff = fontInfo._picOnOff; - fontChar._depth = fontData._fontDepth; } // Loop to draw each character in turn @@ -1029,7 +1024,7 @@ PictureResource::PictureResource(BoltFilesState &state, const byte *src): _select = src[2]; _pick = src[3]; _onOff = src[4]; - _depth = src[5]; + // depth is in src[5], unused. int xs = READ_LE_UINT16(&src[6]); int ys = READ_LE_UINT16(&src[8]); @@ -1131,7 +1126,6 @@ PictureResource::PictureResource(Graphics::Surface *surface) { _select = 0; _pick = 0; _onOff = 0; - _depth = 0; _maskData = 0; _planeSize = 0; @@ -1145,7 +1139,6 @@ PictureResource::PictureResource() { _select = 0; _pick = 0; _onOff = 0; - _depth = 0; _maskData = 0; _planeSize = 0; @@ -1154,13 +1147,11 @@ PictureResource::PictureResource() { } PictureResource::PictureResource(int flags, int select, int pick, int onOff, - int depth, const Common::Rect &bounds, int maskData, byte *imgData, - int planeSize) { + const Common::Rect &bounds, int maskData, byte *imgData, int planeSize) { _flags = flags; _select = select; _pick = pick; _onOff = onOff; - _depth = depth; _bounds = bounds; _maskData = maskData; _imgData = imgData; @@ -1210,7 +1201,6 @@ ViewPortResource::ViewPortResource(BoltFilesState &state, const byte *src): int ys = READ_LE_UINT16(src + 14); _bounds = Common::Rect(xs, ys, xs + READ_LE_UINT16(src + 16), ys + READ_LE_UINT16(src + 18)); - _field18 = READ_LE_UINT16(src + 0x18); _currentPic = state._curLibPtr->getPictureResource(READ_LE_UINT32(src + 0x20)); _activePage = state._curLibPtr->getPictureResource(READ_LE_UINT32(src + 0x24)); @@ -1320,7 +1310,6 @@ void ViewPortResource::setupViewPort(PictureResource *page, Common::Rect *clipRe } _activePage = page; - _field18 = 0; _clipRect = r; _setupFn = setupFn; _addFn = addFn; diff --git a/engines/voyeur/files.h b/engines/voyeur/files.h index 48656c5902..921137321f 100644 --- a/engines/voyeur/files.h +++ b/engines/voyeur/files.h @@ -102,7 +102,7 @@ private: public: Common::File _file; -public: + BoltFile(const Common::String &filename, BoltFilesState &state); virtual ~BoltFile(); @@ -154,10 +154,8 @@ class BoltGroup { private: Common::SeekableReadStream *_file; public: - byte _loaded; + bool _loaded; bool _processed; - bool _callInitGro; - int _termGroIndex; int _count; int _fileOffset; Common::Array _entries; @@ -176,10 +174,8 @@ private: public: uint16 _id; byte _mode; - byte _initMemRequired; byte _initMethod; int _fileOffset; - byte _xorMask; int _size; byte *_data; @@ -207,8 +203,6 @@ public: }; class FilesManager { -private: - int _decompressSize; public: BoltFilesState _boltFilesState; BoltFile *_curLibPtr; @@ -295,7 +289,6 @@ public: byte _select; byte _pick; byte _onOff; - byte _depth; Common::Rect _bounds; uint32 _maskData; uint _planeSize; @@ -311,7 +304,7 @@ public: DisposeAfterUse::Flag _freeImgData; public: PictureResource(BoltFilesState &state, const byte *src); - PictureResource(int flags, int select, int pick, int onOff, int depth, + PictureResource(int flags, int select, int pick, int onOff, const Common::Rect &bounds, int maskData, byte *imgData, int planeSize); PictureResource(Graphics::Surface *surface); PictureResource(); diff --git a/engines/voyeur/graphics.cpp b/engines/voyeur/graphics.cpp index 1157e7654d..26a1efcb46 100644 --- a/engines/voyeur/graphics.cpp +++ b/engines/voyeur/graphics.cpp @@ -56,7 +56,7 @@ GraphicsManager::GraphicsManager(): _defaultDrawInfo(1, Common::Point(), 0), _dr _vPort = NULL; _fontPtr = NULL; Common::fill(&_VGAColors[0], &_VGAColors[PALETTE_SIZE], 0); - _fontChar = new PictureResource(0, 0xff, 0xff, 0, 0, Common::Rect(), 0, NULL, 0); + _fontChar = new PictureResource(0, 0xff, 0xff, 0, Common::Rect(), 0, NULL, 0); } void GraphicsManager::sInitGraphics() { -- cgit v1.2.3 From e8076473bd9c6c75cc10b7903e142bcb13d27915 Mon Sep 17 00:00:00 2001 From: Strangerke Date: Wed, 19 Feb 2014 00:37:51 +0100 Subject: VOYEUR: Remove a useless parameter in vStartCycle() --- engines/voyeur/files.cpp | 4 ++-- engines/voyeur/files.h | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/engines/voyeur/files.cpp b/engines/voyeur/files.cpp index d701f5a81f..f2bb72fe8d 100644 --- a/engines/voyeur/files.cpp +++ b/engines/voyeur/files.cpp @@ -1541,7 +1541,7 @@ VInitCycleResource::VInitCycleResource(BoltFilesState &state, const byte *src): } } -void VInitCycleResource::vStartCycle(int flags) { +void VInitCycleResource::vStartCycle() { EventsManager &evt = _state._vm->_eventsManager; evt._cycleIntNode._flags |= 1; evt._cyclePtr = this; @@ -1551,7 +1551,7 @@ void VInitCycleResource::vStartCycle(int flags) { evt._cycleTime[i] = 0; } - evt._cycleStatus = flags | 1; + evt._cycleStatus = 1; evt._cycleIntNode._flags &= ~1; } diff --git a/engines/voyeur/files.h b/engines/voyeur/files.h index 921137321f..7e7bf938b0 100644 --- a/engines/voyeur/files.h +++ b/engines/voyeur/files.h @@ -444,7 +444,7 @@ public: VInitCycleResource(BoltFilesState &state, const byte *src); virtual ~VInitCycleResource() {} - void vStartCycle(int flags = 0); + void vStartCycle(); void vStopCycle(); }; -- cgit v1.2.3 From 311471c857221bf9045291e467c95fbc6dfe8189 Mon Sep 17 00:00:00 2001 From: Filippos Karapetis Date: Wed, 19 Feb 2014 03:02:44 +0200 Subject: SCI: Fix script bug #6485 - "SCI: MUMG EGA - kStrCpy error" --- engines/sci/engine/kernel_tables.h | 2 +- engines/sci/engine/workarounds.cpp | 5 +++++ engines/sci/engine/workarounds.h | 1 + 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/engines/sci/engine/kernel_tables.h b/engines/sci/engine/kernel_tables.h index 9e653f3a7d..8a9c1426b6 100644 --- a/engines/sci/engine/kernel_tables.h +++ b/engines/sci/engine/kernel_tables.h @@ -454,7 +454,7 @@ static SciKernelMapEntry s_kernelMap[] = { { MAP_CALL(StrAt), SIG_EVERYWHERE, "ri(i)", NULL, kStrAt_workarounds }, { MAP_CALL(StrCat), SIG_EVERYWHERE, "rr", NULL, NULL }, { MAP_CALL(StrCmp), SIG_EVERYWHERE, "rr(i)", NULL, NULL }, - { MAP_CALL(StrCpy), SIG_EVERYWHERE, "r[r0](i)", NULL, NULL }, + { MAP_CALL(StrCpy), SIG_EVERYWHERE, "r[r0](i)", NULL, kStrCpy_workarounds }, { MAP_CALL(StrEnd), SIG_EVERYWHERE, "r", NULL, NULL }, { MAP_CALL(StrLen), SIG_EVERYWHERE, "[r0]", NULL, kStrLen_workarounds }, { MAP_CALL(StrSplit), SIG_EVERYWHERE, "rr[r0]", NULL, NULL }, diff --git a/engines/sci/engine/workarounds.cpp b/engines/sci/engine/workarounds.cpp index d6887e1236..6ef98e3b2a 100644 --- a/engines/sci/engine/workarounds.cpp +++ b/engines/sci/engine/workarounds.cpp @@ -411,6 +411,11 @@ const SciWorkaroundEntry kStrAt_workarounds[] = { SCI_WORKAROUNDENTRY_TERMINATOR }; +const SciWorkaroundEntry kStrCpy_workarounds[] = { + { GID_MOTHERGOOSE, 23, 23, 0, "talkScript", "changeState", -1, 0, { WORKAROUND_FAKE, 0 } }, // when talking to the girl in scene 23, there's no destination parameter (script bug - wrong instruction order). The original source is used directly afterwards in kDisplay, to show the girl's text - bug #6485 + SCI_WORKAROUNDENTRY_TERMINATOR +}; + // gameID, room,script,lvl, object-name, method-name, call,index, workaround const SciWorkaroundEntry kStrLen_workarounds[] = { { GID_QFG2, 210, 2, 0, "", "export 21", 0xdeb, 0, { WORKAROUND_FAKE, 0 } }, // When saying something incorrect at the WIT, an integer is passed instead of a reference - bug #5489 diff --git a/engines/sci/engine/workarounds.h b/engines/sci/engine/workarounds.h index 4f1071ca0a..2e73dddbe3 100644 --- a/engines/sci/engine/workarounds.h +++ b/engines/sci/engine/workarounds.h @@ -93,6 +93,7 @@ extern const SciWorkaroundEntry kPaletteUnsetFlag_workarounds[]; extern const SciWorkaroundEntry kSetCursor_workarounds[]; extern const SciWorkaroundEntry kSetPort_workarounds[]; extern const SciWorkaroundEntry kStrAt_workarounds[]; +extern const SciWorkaroundEntry kStrCpy_workarounds[]; extern const SciWorkaroundEntry kStrLen_workarounds[]; extern const SciWorkaroundEntry kUnLoad_workarounds[]; -- cgit v1.2.3 From 2a62c310c3aa42a094530b0b03e1a080b4b2e4c0 Mon Sep 17 00:00:00 2001 From: Strangerke Date: Wed, 19 Feb 2014 07:27:52 +0100 Subject: VOYEUR: More cleanup --- engines/voyeur/files.h | 8 -------- engines/voyeur/files_threads.cpp | 39 +++------------------------------------ engines/voyeur/voyeur_game.cpp | 4 ++-- 3 files changed, 5 insertions(+), 46 deletions(-) diff --git a/engines/voyeur/files.h b/engines/voyeur/files.h index 7e7bf938b0..511a7f6fc3 100644 --- a/engines/voyeur/files.h +++ b/engines/voyeur/files.h @@ -491,8 +491,6 @@ public: class ThreadResource { public: static int _useCount[8]; - static byte *_threadDataPtr; - static CMapResource *_cmd14Pal; static void initUseCount(); static void unloadAllStacks(VoyeurEngine *vm); @@ -505,7 +503,6 @@ private: byte *getDataOffset(); void getButtonsText(); void getButtonsFlags(); - void getButtonsUnused(); void performOpenCard(); const byte *getRecordOffset(const byte *p); const byte *getNextRecord(const byte *p); @@ -543,18 +540,13 @@ public: int _savedStackId; int _newStateId; int _newStackId; - int _flags; - int _fieldA[8]; // Useless variable - int _field2A[8]; // Useless variable int _stateFlags; int _stateCount; int _parseCount; uint32 _nextStateId; byte *_threadInfoPtr; byte _buttonFlags[64]; - const byte *_field8E[64]; // Useless variable byte _buttonIds[64]; - const byte *_buttonUnused[48]; byte *_ctlPtr; byte *_playCommandsPtr; public: diff --git a/engines/voyeur/files_threads.cpp b/engines/voyeur/files_threads.cpp index 189c127cac..1ac2af97c8 100644 --- a/engines/voyeur/files_threads.cpp +++ b/engines/voyeur/files_threads.cpp @@ -28,13 +28,9 @@ namespace Voyeur { int ThreadResource::_useCount[8]; -byte *ThreadResource::_threadDataPtr; -CMapResource *ThreadResource::_cmd14Pal; void ThreadResource::init() { Common::fill(&_useCount[0], &_useCount[8], 0); - _threadDataPtr = nullptr; - _cmd14Pal = nullptr; } ThreadResource::ThreadResource(BoltFilesState &state, const byte *src): @@ -43,7 +39,6 @@ ThreadResource::ThreadResource(BoltFilesState &state, const byte *src): _stackId = READ_LE_UINT16(&src[0]); _savedStateId = READ_LE_UINT16(&src[0]); _savedStackId = READ_LE_UINT16(&src[0]); - _flags = src[8]; _ctlPtr = nullptr; _aptPos = Common::Point(-1, -1); } @@ -88,13 +83,10 @@ void ThreadResource::unloadAStack(int stackId) { } bool ThreadResource::doState() { - _flags |= 1; - if (!getStateInfo()) return false; getButtonsFlags(); - getButtonsUnused(); _vm->_glGoState = -1; _vm->_glGoStack = -1; @@ -108,11 +100,9 @@ bool ThreadResource::doState() { } bool ThreadResource::getStateInfo() { - _flags &= 0xff; int id = READ_LE_UINT16(_ctlPtr); if (id <= _stateId) { - _flags |= 0x8000; return false; } else { uint32 fld = READ_LE_UINT32(_ctlPtr + 2); @@ -137,8 +127,7 @@ bool ThreadResource::getStateInfo() { byte *ThreadResource::getDataOffset() { uint32 offset = READ_LE_UINT32(_ctlPtr + 10); - _threadDataPtr = _ctlPtr + offset; - return _threadDataPtr; + return _ctlPtr + offset; } void ThreadResource::getButtonsText() { @@ -149,12 +138,10 @@ void ThreadResource::getButtonsText() { ++p; if (*p++ & 0x80) { assert(idx < 63); - _field8E[idx] = getRecordOffset(p); p += 4; } ++idx; - _field8E[idx] = NULL; } } } @@ -178,17 +165,6 @@ void ThreadResource::getButtonsFlags() { } } -void ThreadResource::getButtonsUnused() { - int idx = 0; - - for (const byte *p = _threadInfoPtr; *p++ != 0x4A; p = getNextRecord(p)) { - assert(idx < 47); - _buttonUnused[idx++] = getRecordOffset(p); - _buttonUnused[idx] = nullptr; - p += 4; - } -} - void ThreadResource::unloadAllStacks(VoyeurEngine *vm) { if (vm->_stampFlags & 1) { for (int i = 0; i < 8; ++i) { @@ -310,8 +286,6 @@ void ThreadResource::cardAction(const byte *card) { } bool ThreadResource::chooseSTAMPButton(int buttonId) { - _flags &= ~1; - for (int idx = 0; idx < _stateCount; ++idx) { if (_buttonIds[idx] == buttonId) { const byte *card = getSTAMPCard(idx); @@ -888,11 +862,7 @@ const byte *ThreadResource::cardPerform(const byte *card) { case 41: bVal = *card++; assert(bVal < 8); - _fieldA[bVal] = READ_LE_UINT32(card); - card += 4; - - _field2A[bVal] = READ_LE_UINT16(card); - card += 2; + card += 6; case 45: _newStateId = _nextStateId; @@ -1553,10 +1523,7 @@ bool ThreadResource::goToState(int stackId, int stateId) { } void ThreadResource::savePrevious() { - if (_savedStateId == _stateId && _stackId == _savedStackId) { - _flags &= ~1; - } else { - _flags |= 1; + if (_savedStateId != _stateId || _stackId != _savedStackId) { _savedStateId = _stateId; _savedStackId = _stackId; } diff --git a/engines/voyeur/voyeur_game.cpp b/engines/voyeur/voyeur_game.cpp index e2bf781bbf..e7abdfc2f7 100644 --- a/engines/voyeur/voyeur_game.cpp +++ b/engines/voyeur/voyeur_game.cpp @@ -808,7 +808,7 @@ void VoyeurEngine::doTapePlaying() { } bool VoyeurEngine::checkForMurder() { - int v = _controlPtr->_state->_victimMurderIndex; + int oldMurderIndex = _controlPtr->_state->_victimMurderIndex; for (int idx = 0; idx < _voy._eventCount; ++idx) { VoyeurEvent &evt = _voy._events[idx]; @@ -854,7 +854,7 @@ bool VoyeurEngine::checkForMurder() { } } - _controlPtr->_state->_victimMurderIndex = v; + _controlPtr->_state->_victimMurderIndex = oldMurderIndex; _voy._videoEventId = -1; return false; } -- cgit v1.2.3 From a3eea23624df66a277802bc1bf828dbf773c5da1 Mon Sep 17 00:00:00 2001 From: uruk Date: Wed, 19 Feb 2014 16:48:26 +0100 Subject: AVALANCHE: Implement ShootEmUp::initRunner(). --- engines/avalanche/shootemup.cpp | 19 +++++++++++++++++-- engines/avalanche/shootemup.h | 1 + 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/engines/avalanche/shootemup.cpp b/engines/avalanche/shootemup.cpp index 4a4c10c17e..07a40a0c72 100644 --- a/engines/avalanche/shootemup.cpp +++ b/engines/avalanche/shootemup.cpp @@ -36,6 +36,7 @@ const byte ShootEmUp::kStocks = 27; const byte ShootEmUp::kFacingRight = 87; const byte ShootEmUp::kFacingLeft = 93; const long int ShootEmUp::kFlag = -20047; +const byte ShootEmUp::kFrameDelayMax = 2; ShootEmUp::ShootEmUp(AvalancheEngine *vm) { _vm = vm; @@ -308,8 +309,22 @@ void ShootEmUp::setup() { initRunner(20, 100, 61, 67, (-(int8)_vm->_rnd->getRandomNumber(4)) + 1, _vm->_rnd->getRandomNumber(3) - 2); } -void ShootEmUp::initRunner(int16 xx, int16 yy, byte f1, byte f2, int8 ixx, int8 iyy) { - warning("STUB: ShootEmUp::initRunner()"); +void ShootEmUp::initRunner(int16 x, int16 y, byte f1, byte f2, int8 ix, int8 iy) { + for (int i = 0; i < 4; i++) { + if (_running[i]._x == kFlag) { + _running[i]._x = x; + _running[i]._y = y; + _running[i]._frame = f1; + _running[i]._tooHigh = f2; + _running[i]._lowest = f1; + _running[i]._ix = ix; + _running[i]._iy = iy; + if ((ix = 0) && (iy = 0)) + _running[i]._ix = 2; // To stop them running on the spot! + _running[i]._frameDelay = kFrameDelayMax; + return; + } + } } void ShootEmUp::moveAvvy() { diff --git a/engines/avalanche/shootemup.h b/engines/avalanche/shootemup.h index 38f18b0d1c..62d55804d7 100644 --- a/engines/avalanche/shootemup.h +++ b/engines/avalanche/shootemup.h @@ -62,6 +62,7 @@ private: static const byte kFacingRight; static const byte kFacingLeft; static const long int kFlag; + static const byte kFrameDelayMax; AvalancheEngine *_vm; -- cgit v1.2.3 From c498e910eb19bcc78fbd35dbf743a09e9a2e0ddb Mon Sep 17 00:00:00 2001 From: uruk Date: Wed, 19 Feb 2014 17:55:32 +0100 Subject: AVALANCHE: Implement ShootEmUp::plotThem() and connected functions. --- engines/avalanche/graphics.cpp | 25 +++++++++++++++++++++++++ engines/avalanche/graphics.h | 1 + engines/avalanche/shootemup.cpp | 31 ++++++++++++++++++++++++++++++- engines/avalanche/shootemup.h | 2 ++ 4 files changed, 58 insertions(+), 1 deletion(-) diff --git a/engines/avalanche/graphics.cpp b/engines/avalanche/graphics.cpp index cde0f5de9a..3b4413ab76 100644 --- a/engines/avalanche/graphics.cpp +++ b/engines/avalanche/graphics.cpp @@ -754,6 +754,31 @@ void GraphicManager::seuDrawPicture(int x, int y, byte which) { drawPicture(_surface, _seuPictures[which], x, y); } +/** + * @remarks Originally called 'cameo_display' + */ +void GraphicManager::seuDrawCameo(int destX, int destY, byte w1, byte w2) { + // First we make the pixels of the previous sprite (cameo) blank: + uint16 maxX = _seuPictures[w2].w; + uint16 maxY = _seuPictures[w2].h; + + if (destX + maxX > _surface.w) + maxX = _surface.w - destX; + + if (destY + maxY > _surface.h) + maxY = _surface.h - destY; + + for (uint16 y = 0; y < maxY; y++) { + for (uint16 x = 0; x < maxX; x++) { + if (*(const byte *)_seuPictures[w2].getBasePtr(x, y) != 0) + *(byte *)_surface.getBasePtr(x + destX, y + destY) = 0; + } + } + + // Then we draw the desired sprite: + drawPicture(_surface, _seuPictures[w1], destX, destY); +} + /** * This function is for skipping the difference between a stored 'size' value associated with a picture * and the actual size of the pictures when reading them from files for Ghostroom and Shoot em' up. diff --git a/engines/avalanche/graphics.h b/engines/avalanche/graphics.h index 1da875b330..553f993188 100644 --- a/engines/avalanche/graphics.h +++ b/engines/avalanche/graphics.h @@ -115,6 +115,7 @@ public: void seuLoad(); void seuFree(); void seuDrawPicture(int x, int y, byte which); + void seuDrawCameo(int destX, int destY, byte w1, byte w2); void clearAlso(); void clearTextBar(); diff --git a/engines/avalanche/shootemup.cpp b/engines/avalanche/shootemup.cpp index 07a40a0c72..d7832a07be 100644 --- a/engines/avalanche/shootemup.cpp +++ b/engines/avalanche/shootemup.cpp @@ -81,6 +81,7 @@ ShootEmUp::ShootEmUp(AvalancheEngine *vm) { _escapeCount = 0; _escaping = false; _timeThisSecond = 0; + _cp = false; } void ShootEmUp::run() { @@ -120,6 +121,8 @@ void ShootEmUp::run() { check321(); readKbd(); + _cp = !_cp; + _vm->_graphics->refreshScreen(); } while (_time != 0); @@ -150,8 +153,32 @@ void ShootEmUp::moveThem() { warning("STUB: ShootEmUp::moveThem()"); } +void ShootEmUp::blank(Common::Rect rect) { + _rectangles[_rectNum++] = rect; +} + void ShootEmUp::plotThem() { - warning("STUB: ShootEmUp::plotThem()"); + for (int i = 0; i < 99; i++) { + if (_sprites[i]._x != kFlag) { + if (_sprites[i]._cameo) { + _vm->_graphics->seuDrawCameo(_sprites[i]._x, _sprites[i]._y, _sprites[i]._p, _sprites[i]._cameoFrame); + if (!_cp) { + _sprites[i]._cameoFrame += 2; + _sprites[i]._p += 2; + } + } else + _vm->_graphics->seuDrawPicture(_sprites[i]._x, _sprites[i]._y, _sprites[i]._p); + + if (_sprites[i]._wipe) + blank(Common::Rect(_sprites[i]._x, _sprites[i]._y, _sprites[i]._x + _rectangles[i].width(), _sprites[i]._y + _rectangles[i].height())); + + if (_sprites[i]._timeout > 0) { + _sprites[i]._timeout--; + if (_sprites[i]._timeout == 0) + _sprites[i]._y = kFlag; + } + } + } } void ShootEmUp::define(int16 x, int16 y, byte p, int8 ix, int8 iy, int16 time, bool isAMissile, bool doWeWipe) { @@ -276,6 +303,8 @@ void ShootEmUp::setup() { showStock(i); } + _cp = true; + _avvyWas = 320; _avvyPos = 320; _avvyAnim = 1; diff --git a/engines/avalanche/shootemup.h b/engines/avalanche/shootemup.h index 62d55804d7..6dfa3baa1b 100644 --- a/engines/avalanche/shootemup.h +++ b/engines/avalanche/shootemup.h @@ -86,11 +86,13 @@ private: uint16 _escapeCount; bool _escaping; byte _timeThisSecond; + bool _cp; bool overlap(uint16 a1x, uint16 a1y, uint16 a2x, uint16 a2y, uint16 b1x, uint16 b1y, uint16 b2x, uint16 b2y); byte getStockNumber(byte x); void blankIt(); void moveThem(); + void blank(Common::Rect rect); void plotThem(); void define(int16 x, int16 y, byte p, int8 ix, int8 iy, int16 time, bool isAMissile, bool doWeWipe); void defineCameo(int16 xx, int16 yy, byte pp, int16 time); -- cgit v1.2.3 From 546a3cea826fca2e33f7472dd080d21d0e2ab54c Mon Sep 17 00:00:00 2001 From: uruk Date: Wed, 19 Feb 2014 17:56:16 +0100 Subject: AVALANCHE: Implement ShootEmUp::moveThem(). --- engines/avalanche/shootemup.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/engines/avalanche/shootemup.cpp b/engines/avalanche/shootemup.cpp index d7832a07be..52dd1d4676 100644 --- a/engines/avalanche/shootemup.cpp +++ b/engines/avalanche/shootemup.cpp @@ -150,7 +150,12 @@ void ShootEmUp::blankIt() { } void ShootEmUp::moveThem() { - warning("STUB: ShootEmUp::moveThem()"); + for (int i = 0; i < 99; i++) { + if (_sprites[i]._x != kFlag) { + _sprites[i]._x += _sprites[i]._ix; + _sprites[i]._y += _sprites[i]._iy; + } + } } void ShootEmUp::blank(Common::Rect rect) { -- cgit v1.2.3 From 5c841dab6dd03754e37b3c7a0849a865f850179b Mon Sep 17 00:00:00 2001 From: uruk Date: Wed, 19 Feb 2014 18:45:08 +0100 Subject: AVALANCHE: Implement ShootEmUp::moveAvvy(). --- engines/avalanche/shootemup.cpp | 35 ++++++++++++++++++++++++++++++++++- engines/avalanche/shootemup.h | 4 ++++ 2 files changed, 38 insertions(+), 1 deletion(-) diff --git a/engines/avalanche/shootemup.cpp b/engines/avalanche/shootemup.cpp index 52dd1d4676..fde6fc3ff5 100644 --- a/engines/avalanche/shootemup.cpp +++ b/engines/avalanche/shootemup.cpp @@ -33,10 +33,13 @@ namespace Avalanche { const byte ShootEmUp::kStocks = 27; +const byte ShootEmUp::kAvvyShoots = 86; const byte ShootEmUp::kFacingRight = 87; const byte ShootEmUp::kFacingLeft = 93; const long int ShootEmUp::kFlag = -20047; const byte ShootEmUp::kFrameDelayMax = 2; +const byte ShootEmUp::kAvvyY = 150; +const byte ShootEmUp::kShooting[7] = { 87, 80, 81, 82, 81, 80, 87 }; ShootEmUp::ShootEmUp(AvalancheEngine *vm) { _vm = vm; @@ -82,6 +85,7 @@ ShootEmUp::ShootEmUp(AvalancheEngine *vm) { _escaping = false; _timeThisSecond = 0; _cp = false; + _wasFacing = 0; } void ShootEmUp::run() { @@ -362,7 +366,36 @@ void ShootEmUp::initRunner(int16 x, int16 y, byte f1, byte f2, int8 ix, int8 iy) } void ShootEmUp::moveAvvy() { - warning("STUB: ShootEmUp::moveAvvy()"); + if (_avvyWas < _avvyPos) + _avvyFacing = kFacingRight; + else if (_avvyWas > _avvyPos) + _avvyFacing = kFacingLeft; + + if (!_firing) { + if (_avvyWas == _avvyPos) + _avvyAnim = 1; + else { + _avvyAnim++; + if (_avvyAnim == 6) + _avvyAnim = 0; + } + } + + if (_avvyFacing == kAvvyShoots) + define(_avvyPos, kAvvyY, kShooting[_avvyAnim], 0, 0, 1, false, true); + else + define(_avvyPos, kAvvyY, _avvyAnim + _avvyFacing, 0, 0, 1, false, true); + + _avvyWas = _avvyPos; + + if (_avvyFacing == kAvvyShoots) { + if (_avvyAnim == 6) { + _avvyFacing = _wasFacing; + _avvyAnim = 0; + _firing = false; + } else + _avvyAnim++; + } } void ShootEmUp::readKbd() { diff --git a/engines/avalanche/shootemup.h b/engines/avalanche/shootemup.h index 6dfa3baa1b..b3561aceae 100644 --- a/engines/avalanche/shootemup.h +++ b/engines/avalanche/shootemup.h @@ -59,10 +59,13 @@ private: }; static const byte kStocks; + static const byte kAvvyShoots; static const byte kFacingRight; static const byte kFacingLeft; static const long int kFlag; static const byte kFrameDelayMax; + static const byte kAvvyY; + static const byte kShooting[7]; AvalancheEngine *_vm; @@ -87,6 +90,7 @@ private: bool _escaping; byte _timeThisSecond; bool _cp; + byte _wasFacing; bool overlap(uint16 a1x, uint16 a1y, uint16 a2x, uint16 a2y, uint16 b1x, uint16 b1y, uint16 b2x, uint16 b2y); byte getStockNumber(byte x); -- cgit v1.2.3 From 2d5493b599b8ea5410a0ba481b6cd12c05debf52 Mon Sep 17 00:00:00 2001 From: uruk Date: Wed, 19 Feb 2014 19:10:25 +0100 Subject: AVALANCHE: Implement ShootEmUp::bumpFolk() and ShootEmUp::turnAround(). --- engines/avalanche/shootemup.cpp | 24 ++++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/engines/avalanche/shootemup.cpp b/engines/avalanche/shootemup.cpp index fde6fc3ff5..5a490124a1 100644 --- a/engines/avalanche/shootemup.cpp +++ b/engines/avalanche/shootemup.cpp @@ -411,11 +411,31 @@ void ShootEmUp::collisionCheck() { } void ShootEmUp::turnAround(byte who, bool randomX) { - warning("STUB: ShootEmUp::turnAround()"); + if (randomX) { + int8 ix = (_vm->_rnd->getRandomNumber(4) + 1); + if (_running[who]._ix > 0) + _running[who]._ix = -(ix); + else + _running[who]._ix = ix; + } else + _running[who]._ix = -(_running[who]._ix); + + _running[who]._iy = -(_running[who]._iy); } void ShootEmUp::bumpFolk() { - warning("STUB: ShootEmUp::bumpFolk()"); + for (int i = 0; i < 4; i++) { + if (_running[i]._x != kFlag) { + for (int j = i + 1; j < 4; j++) { + bool overlaps = overlap(_running[i]._x, _running[i]._y, _running[i]._x + 17, _running[i]._y + 24, + _running[j]._x, _running[j]._y, _running[j]._x + 17, _running[j]._y + 24); + if ((_running[i]._x != kFlag) && overlaps) { + turnAround(i, false); // Opp. directions. + turnAround(j, false); + } + } + } + } } void ShootEmUp::peopleRunning() { -- cgit v1.2.3 From 7970cddb1f81d584917376838c9d43b7118c852e Mon Sep 17 00:00:00 2001 From: uruk Date: Wed, 19 Feb 2014 19:52:07 +0100 Subject: AVALANCHE: Implement ShootEmUp::peopleRunning(). --- engines/avalanche/shootemup.cpp | 31 ++++++++++++++++++++++++++++++- 1 file changed, 30 insertions(+), 1 deletion(-) diff --git a/engines/avalanche/shootemup.cpp b/engines/avalanche/shootemup.cpp index 5a490124a1..edd4d7a87a 100644 --- a/engines/avalanche/shootemup.cpp +++ b/engines/avalanche/shootemup.cpp @@ -439,7 +439,36 @@ void ShootEmUp::bumpFolk() { } void ShootEmUp::peopleRunning() { - warning("STUB: ShootEmUp::peopleRunning()"); + if (_count321 != 0) + return; + + for (int i = 0; i < 4; i++) { + if (_running[i]._x != kFlag) { + if (((_running[i]._y + _running[i]._iy) <= 53) || ((_running[i]._y + _running[i]._iy) >= 120)) + _running[i]._iy = -(_running[i]._iy); + + byte frame = 0; + if (_running[i]._ix < 0) + frame = _running[i]._frame; + else + frame = _running[i]._frame + 7; + define(_running[i]._x, _running[i]._y, frame, 0, 0, 1, false, true); + + if (_running[i]._frameDelay == 0) { + _running[i]._frame++; + if (_running[i]._frame == _running[i]._tooHigh) + _running[i]._frame = _running[i]._lowest; + _running[i]._frameDelay = kFrameDelayMax; + _running[i]._y += _running[i]._iy; + } else + _running[i]._frameDelay--; + + if (((_running[i]._x + _running[i]._ix) <= 0) || ((_running[i]._x + _running[i]._ix) >= 620)) + turnAround(i, true); + + _running[i]._x += _running[i]._ix; + } + } } void ShootEmUp::updateTime() { -- cgit v1.2.3 From 2f0b6c7e95817ec5848f2bfae6226a10f7a0ce25 Mon Sep 17 00:00:00 2001 From: Strangerke Date: Wed, 19 Feb 2014 21:01:14 +0100 Subject: VOYEUR: Set private some functions in ThreadResources --- engines/voyeur/files.h | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/engines/voyeur/files.h b/engines/voyeur/files.h index 511a7f6fc3..f2fd918aba 100644 --- a/engines/voyeur/files.h +++ b/engines/voyeur/files.h @@ -549,14 +549,6 @@ public: byte _buttonIds[64]; byte *_ctlPtr; byte *_playCommandsPtr; -public: - ThreadResource(BoltFilesState &state, const byte *src); - virtual ~ThreadResource() {} - - /** - * Initialize the thread - */ - void initThreadStruct(int idx, int id); /** * Loads the specified stack @@ -569,14 +561,23 @@ public: void unloadAStack(int stackId); /** - * Go to a new state and/or stack + * Initializes data for the thread based on the current state */ - bool goToState(int stackId, int stateId); + bool doState(); + +public: + ThreadResource(BoltFilesState &state, const byte *src); + virtual ~ThreadResource() {} /** - * Initializes data for the thread based on the current state + * Initialize the thread */ - bool doState(); + void initThreadStruct(int idx, int id); + + /** + * Go to a new state and/or stack + */ + bool goToState(int stackId, int stateId); bool chooseSTAMPButton(int buttonId); -- cgit v1.2.3 From 6d2f3019c7bc42e7a72491e2d3c723c471cc7c96 Mon Sep 17 00:00:00 2001 From: Strangerke Date: Wed, 19 Feb 2014 21:11:55 +0100 Subject: AVALANCHE: Fix uninitialized variable in Avalanche's shoot'em up --- engines/avalanche/shootemup.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/engines/avalanche/shootemup.cpp b/engines/avalanche/shootemup.cpp index edd4d7a87a..2e689b870d 100644 --- a/engines/avalanche/shootemup.cpp +++ b/engines/avalanche/shootemup.cpp @@ -86,6 +86,7 @@ ShootEmUp::ShootEmUp(AvalancheEngine *vm) { _timeThisSecond = 0; _cp = false; _wasFacing = 0; + _score = 0; } void ShootEmUp::run() { -- cgit v1.2.3 From 72cc9351912c17defd7b5a5d1de4e5e1ce523f71 Mon Sep 17 00:00:00 2001 From: Eugene Sandulenko Date: Wed, 19 Feb 2014 22:46:38 +0200 Subject: FULLPIPE: Implement sceneHandler09_showBall() --- engines/fullpipe/constants.h | 1 + engines/fullpipe/scenes/scene09.cpp | 38 ++++++++++++++++++++++++++++++++++++- 2 files changed, 38 insertions(+), 1 deletion(-) diff --git a/engines/fullpipe/constants.h b/engines/fullpipe/constants.h index 525e23764b..01bb364796 100644 --- a/engines/fullpipe/constants.h +++ b/engines/fullpipe/constants.h @@ -599,6 +599,7 @@ namespace Fullpipe { #define MSG_SC9_SHOWBALL 936 #define MSG_SC9_STARTTIOTIA 4942 #define MSG_SC9_TOLADDER 4206 +#define MV_BALL9_EXPLODE 939 #define MV_GLT_FLYAWAY 931 #define MV_MAN9_SHOOT 922 #define MV_VSN_CYCLE2 2987 diff --git a/engines/fullpipe/scenes/scene09.cpp b/engines/fullpipe/scenes/scene09.cpp index 0679a0c374..f8a78bedff 100644 --- a/engines/fullpipe/scenes/scene09.cpp +++ b/engines/fullpipe/scenes/scene09.cpp @@ -305,7 +305,43 @@ void sceneHandler09_eatBall() { } void sceneHandler09_showBall() { - warning("STUB: sceneHandler09_showBall()"); + if (g_vars->scene09_var07.numBalls) { + StaticANIObject *ani = g_vars->scene09_var07.pHead->ani; + Ball *ph = g_vars->scene09_var07.pHead; + g_vars->scene09_var07.pHead = ph->p0; + + if (g_vars->scene09_var07.pHead) + ph->p0->p1 = 0; + else + g_vars->scene09_var07.field_8 = 0; + + ph->p0 = g_vars->scene09_var07.pTail; + + g_vars->scene09_var07.pTail = ph; + g_vars->scene09_var07.numBalls--; + + if (!g_vars->scene09_var07.numBalls) { + g_vars->scene09_var07.numBalls = 0; + g_vars->scene09_var07.pTail = 0; + g_vars->scene09_var07.field_8 = 0; + g_vars->scene09_var07.pHead = 0; + + free(g_vars->scene09_var07.cPlex); + g_vars->scene09_var07.cPlex = 0; + } + + Ball *ball = g_vars->scene09_balls.sub04(g_vars->scene09_balls.field_8, 0); + ball->ani = ani; + + if (g_vars->scene09_balls.field_8) + g_vars->scene09_balls.field_8->p0 = ball; + else + g_vars->scene09_balls.pHead = ball; + + g_vars->scene09_balls.field_8 = ball; + + ani->show1(g_fp->_aniMan->_ox + 94, g_fp->_aniMan->_oy - 162, MV_BALL9_EXPLODE, 0); + } } void sceneHandler09_cycleHangers() { -- cgit v1.2.3 From a2a222e647c2227c9bf01c0023cae1aa72aadcad Mon Sep 17 00:00:00 2001 From: Strangerke Date: Wed, 19 Feb 2014 21:41:12 +0100 Subject: AVALANCHE: Some British to American english --- engines/avalanche/avalanche.cpp | 6 +++--- engines/avalanche/dialogs.cpp | 8 ++++---- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/engines/avalanche/avalanche.cpp b/engines/avalanche/avalanche.cpp index 8158536a0c..27c366914a 100644 --- a/engines/avalanche/avalanche.cpp +++ b/engines/avalanche/avalanche.cpp @@ -279,9 +279,9 @@ void AvalancheEngine::synchronize(Common::Serializer &sz) { if (!_favoriteSong.empty()) _favoriteSong.clear(); - uint16 favourite_songSize = 0; - sz.syncAsUint16LE(favourite_songSize); - for (uint16 i = 0; i < favourite_songSize; i++) { + uint16 favoriteSongSize = 0; + sz.syncAsUint16LE(favoriteSongSize); + for (uint16 i = 0; i < favoriteSongSize; i++) { sz.syncAsByte(actChr); _favoriteSong += actChr; } diff --git a/engines/avalanche/dialogs.cpp b/engines/avalanche/dialogs.cpp index b175464f0c..36f6f4470c 100644 --- a/engines/avalanche/dialogs.cpp +++ b/engines/avalanche/dialogs.cpp @@ -455,7 +455,7 @@ void Dialogs::drawScroll(DialogFunctionType modeFunc) { mx -= lx; my -= ly + 2; - bool centre = false; + bool center = false; byte iconIndent = 0; switch (_useIcon) { @@ -481,11 +481,11 @@ void Dialogs::drawScroll(DialogFunctionType modeFunc) { if (!_scroll[i].empty()) switch (_scroll[i][_scroll[i].size() - 1]) { case kControlCenter: - centre = true; + center = true; _scroll[i].deleteLastChar(); break; case kControlLeftJustified: - centre = false; + center = false; _scroll[i].deleteLastChar(); break; case kControlQuestion: @@ -497,7 +497,7 @@ void Dialogs::drawScroll(DialogFunctionType modeFunc) { break; } - if (centre) + if (center) say(320 - _scroll[i].size() * 4 + iconIndent, my, _scroll[i]); else say(mx + iconIndent, my, _scroll[i]); -- cgit v1.2.3 From 2c7f6a9d1dd5e2a9a145304fc7ca2fe2acfd7200 Mon Sep 17 00:00:00 2001 From: Strangerke Date: Wed, 19 Feb 2014 21:41:26 +0100 Subject: CGE: Some British to American english --- engines/cge/cge.cpp | 4 ++-- engines/cge/vga13h.cpp | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/engines/cge/cge.cpp b/engines/cge/cge.cpp index 8d8c4e4aba..e8ab3c262b 100644 --- a/engines/cge/cge.cpp +++ b/engines/cge/cge.cpp @@ -73,7 +73,7 @@ void CGEEngine::initSceneValues() { void CGEEngine::init() { debugC(1, kCGEDebugEngine, "CGEEngine::setup()"); - // Initialise fields + // Initialize fields _lastFrame = 0; _lastTick = 0; _hero = NULL; @@ -87,7 +87,7 @@ void CGEEngine::init() { // Create debugger console _console = new CGEConsole(this); - // Initialise engine objects + // Initialize engine objects _font = new Font(this, "CGE"); _text = new Text(this, "CGE"); _talk = NULL; diff --git a/engines/cge/vga13h.cpp b/engines/cge/vga13h.cpp index 27b5d9a9bf..d5e1be5122 100644 --- a/engines/cge/vga13h.cpp +++ b/engines/cge/vga13h.cpp @@ -761,7 +761,7 @@ void Vga::setColors(Dac *tab, int lum) { if (_mono) { destP = _newColors; for (int idx = 0; idx < kPalCount; idx++, destP++) { - // Form a greyscalce colour from 30% R, 59% G, 11% B + // Form a greyscalce color from 30% R, 59% G, 11% B uint8 intensity = (((int)destP->_r * 77) + ((int)destP->_g * 151) + ((int)destP->_b * 28)) >> 8; destP->_r = intensity; destP->_g = intensity; -- cgit v1.2.3 From 137f62554854905a7a3a72289235bbec71a922bd Mon Sep 17 00:00:00 2001 From: Strangerke Date: Wed, 19 Feb 2014 21:41:43 +0100 Subject: DREAMWEB: Some British to American english --- engines/dreamweb/dreamweb.cpp | 2 +- engines/dreamweb/dreamweb.h | 8 ++++---- engines/dreamweb/newplace.cpp | 8 ++++---- engines/dreamweb/stubs.cpp | 6 +++--- engines/dreamweb/use.cpp | 4 ++-- engines/dreamweb/vgafades.cpp | 28 ++++++++++++++-------------- engines/dreamweb/vgagrafx.cpp | 2 +- 7 files changed, 29 insertions(+), 29 deletions(-) diff --git a/engines/dreamweb/dreamweb.cpp b/engines/dreamweb/dreamweb.cpp index 3fe20bd5d8..94a2e60ef1 100644 --- a/engines/dreamweb/dreamweb.cpp +++ b/engines/dreamweb/dreamweb.cpp @@ -199,7 +199,7 @@ DreamWebEngine::DreamWebEngine(OSystem *syst, const DreamWebGameDescription *gam _saveLoadPage = 0; _currentSlot = 0; _cursorPos = 0; - _colourPos = 0; + _colorPos = 0; _fadeDirection = 0; _numToFade = 0; _fadeCount = 0; diff --git a/engines/dreamweb/dreamweb.h b/engines/dreamweb/dreamweb.h index d572e2b298..e39f8c0d51 100644 --- a/engines/dreamweb/dreamweb.h +++ b/engines/dreamweb/dreamweb.h @@ -415,7 +415,7 @@ public: uint8 _saveLoadPage; uint8 _currentSlot; uint8 _cursorPos; - uint8 _colourPos; + uint8 _colorPos; uint8 _fadeDirection; uint8 _numToFade; uint8 _fadeCount; @@ -515,8 +515,8 @@ public: int findCommand(const char *const cmdList[]); // from newplace.cpp - void getUnderCentre(); - void putUnderCentre(); + void getUnderCenter(); + void putUnderCenter(); void showArrows(); uint8 getLocation(uint8 index); void setLocation(uint8 index); @@ -996,7 +996,7 @@ public: void useDryer(); void callEdensDLift(); void callEdensLift(); - void openYourNeighbour(); + void openYourNeighbor(); void openRyan(); void openPoolBoss(); void openEden(); diff --git a/engines/dreamweb/newplace.cpp b/engines/dreamweb/newplace.cpp index b2975d29b8..3834a114e5 100644 --- a/engines/dreamweb/newplace.cpp +++ b/engines/dreamweb/newplace.cpp @@ -113,7 +113,7 @@ void DreamWebEngine::lookAtPlace() { delPointer(); delTextLine(); - getUnderCentre(); + getUnderCenter(); showFrame(_newplaceGraphics3, 60, 72, 0, 0); showFrame(_newplaceGraphics3, 60, 72 + 55, 4, 0); if (_foreignRelease) @@ -127,15 +127,15 @@ void DreamWebEngine::lookAtPlace() { hangOnP(500); _pointerMode = 0; _pointerFrame = 0; - putUnderCentre(); + putUnderCenter(); workToScreenM(); } -void DreamWebEngine::getUnderCentre() { +void DreamWebEngine::getUnderCenter() { multiGet(_mapStore, 58, 72, 254, 110); } -void DreamWebEngine::putUnderCentre() { +void DreamWebEngine::putUnderCenter() { multiPut(_mapStore, 58, 72, 254, 110); } diff --git a/engines/dreamweb/stubs.cpp b/engines/dreamweb/stubs.cpp index a4fd6dfd48..68b223392c 100644 --- a/engines/dreamweb/stubs.cpp +++ b/engines/dreamweb/stubs.cpp @@ -2566,14 +2566,14 @@ void DreamWebEngine::showGun() { greyscaleSum(); _fadeDirection = 1; _fadeCount = 63; - _colourPos = 0; + _colorPos = 0; _numToFade = 128; hangOn(130); endPalToStart(); clearEndPal(); _fadeDirection = 1; _fadeCount = 63; - _colourPos = 0; + _colorPos = 0; _numToFade = 128; hangOn(200); _roomsSample = 34; @@ -2749,7 +2749,7 @@ void DreamWebEngine::entryAnims() { // Make doors open removeSetObject(4); placeSetObject(5); - } else if (_vars._location == 47) { // Dream centre + } else if (_vars._location == 47) { // Dream center placeSetObject(4); placeSetObject(5); } else if (_vars._location == 38) { // Car park diff --git a/engines/dreamweb/use.cpp b/engines/dreamweb/use.cpp index b8b99c6df6..01aefd97e6 100644 --- a/engines/dreamweb/use.cpp +++ b/engines/dreamweb/use.cpp @@ -73,7 +73,7 @@ void DreamWebEngine::useRoutine() { { &DreamWebEngine::openLouis, "ENTA" }, { &DreamWebEngine::openRyan, "ENTB" }, { &DreamWebEngine::openPoolBoss, "ENTE" }, - { &DreamWebEngine::openYourNeighbour, "ENTC" }, + { &DreamWebEngine::openYourNeighbor, "ENTC" }, { &DreamWebEngine::openEden, "ENTD" }, { &DreamWebEngine::openSarters, "ENTH" }, { &DreamWebEngine::wearWatch, "WWAT" }, @@ -458,7 +458,7 @@ void DreamWebEngine::callEdensDLift() { } } -void DreamWebEngine::openYourNeighbour() { +void DreamWebEngine::openYourNeighbor() { enterCode(255, 255, 255, 255); _getBack = 1; } diff --git a/engines/dreamweb/vgafades.cpp b/engines/dreamweb/vgafades.cpp index a0f14e1409..65930aef7d 100644 --- a/engines/dreamweb/vgafades.cpp +++ b/engines/dreamweb/vgafades.cpp @@ -72,11 +72,11 @@ void DreamWebEngine::doFade() { return; processEvents(); - uint8 *src = _startPal + 3 * _colourPos; - setPalette(src, _colourPos, _numToFade); + uint8 *src = _startPal + 3 * _colorPos; + setPalette(src, _colorPos, _numToFade); - _colourPos += _numToFade; - if (_colourPos == 0) + _colorPos += _numToFade; + if (_colorPos == 0) fadeCalculation(); } @@ -109,7 +109,7 @@ void DreamWebEngine::fadeUpYellows() { memset(_endPal + 246 * 3, 0, 1 * 3); _fadeDirection = 1; _fadeCount = 63; - _colourPos = 0; + _colorPos = 0; _numToFade = 128; hangOn(128); } @@ -121,7 +121,7 @@ void DreamWebEngine::fadeUpMonFirst() { memset(_startPal + 246 * 3, 0, 1 * 3); _fadeDirection = 1; _fadeCount = 63; - _colourPos = 0; + _colorPos = 0; _numToFade = 128; hangOn(64); _sound->playChannel1(26); @@ -136,7 +136,7 @@ void DreamWebEngine::fadeDownMon() { memset(_endPal + 246 * 3, 0, 1 * 3); _fadeDirection = 1; _fadeCount = 63; - _colourPos = 0; + _colorPos = 0; _numToFade = 128; hangOn(64); } @@ -148,7 +148,7 @@ void DreamWebEngine::fadeUpMon() { memset(_startPal + 246 * 3, 0, 1 * 3); _fadeDirection = 1; _fadeCount = 63; - _colourPos = 0; + _colorPos = 0; _numToFade = 128; hangOn(128); } @@ -166,7 +166,7 @@ void DreamWebEngine::fadeScreenUp() { palToEndPal(); _fadeDirection = 1; _fadeCount = 63; - _colourPos = 0; + _colorPos = 0; _numToFade = 128; } @@ -175,7 +175,7 @@ void DreamWebEngine::fadeScreenUps() { palToEndPal(); _fadeDirection = 1; _fadeCount = 63; - _colourPos = 0; + _colorPos = 0; _numToFade = 64; } @@ -184,7 +184,7 @@ void DreamWebEngine::fadeScreenUpHalf() { palToEndPal(); _fadeDirection = 1; _fadeCount = 31; - _colourPos = 0; + _colorPos = 0; _numToFade = 32; } @@ -193,7 +193,7 @@ void DreamWebEngine::fadeScreenDown() { clearEndPal(); _fadeDirection = 1; _fadeCount = 63; - _colourPos = 0; + _colorPos = 0; _numToFade = 128; } @@ -202,7 +202,7 @@ void DreamWebEngine::fadeScreenDowns() { clearEndPal(); _fadeDirection = 1; _fadeCount = 63; - _colourPos = 0; + _colorPos = 0; _numToFade = 64; } @@ -222,7 +222,7 @@ void DreamWebEngine::fadeScreenDownHalf() { _fadeDirection = 1; _fadeCount = 31; - _colourPos = 0; + _colorPos = 0; _numToFade = 32; } diff --git a/engines/dreamweb/vgagrafx.cpp b/engines/dreamweb/vgagrafx.cpp index ef8b4830b2..e8531343f8 100644 --- a/engines/dreamweb/vgagrafx.cpp +++ b/engines/dreamweb/vgagrafx.cpp @@ -235,7 +235,7 @@ void DreamWebEngine::showFrame(const GraphicsFile &frameData, uint16 x, uint16 y void DreamWebEngine::showFrameInternal(const uint8 *pSrc, uint16 x, uint16 y, uint8 effectsFlag, uint8 width, uint8 height) { if (effectsFlag) { - if (effectsFlag & 128) { //centred + if (effectsFlag & 128) { //centered x -= width / 2; y -= height / 2; } -- cgit v1.2.3 From a675ac09c20caf96ccfec0d314c5032a0cf63d60 Mon Sep 17 00:00:00 2001 From: Strangerke Date: Wed, 19 Feb 2014 21:42:02 +0100 Subject: SCUMM: Some British to American english --- engines/scumm/he/logic/soccer.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/engines/scumm/he/logic/soccer.cpp b/engines/scumm/he/logic/soccer.cpp index a0eaf2e3c6..0efe482b5a 100644 --- a/engines/scumm/he/logic/soccer.cpp +++ b/engines/scumm/he/logic/soccer.cpp @@ -566,7 +566,7 @@ int LogicHEsoccer::addCollisionTreeChild(int depth, int index, int parent) { } int LogicHEsoccer::op_1013(int32 a1, int32 a2, int32 a3) { - // Initialises _collisionTree, a tree used for collision detection. + // Initializes _collisionTree, a tree used for collision detection. // It is used by op_1014 to work out which objects to check. _collisionTree = new uint32[585 * 11]; -- cgit v1.2.3 From 9a22da65730f8be718c7bf6eac29e2a9a5c6630f Mon Sep 17 00:00:00 2001 From: Strangerke Date: Wed, 19 Feb 2014 21:42:22 +0100 Subject: SWORD1: Some British to American English --- engines/sword1/staticres.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/engines/sword1/staticres.cpp b/engines/sword1/staticres.cpp index 47a097efb6..37ab3c2f6d 100644 --- a/engines/sword1/staticres.cpp +++ b/engines/sword1/staticres.cpp @@ -2682,7 +2682,7 @@ const char Music::_tuneList[TOTAL_TUNES][8] = { "3m10", // DONE 82 After, "A description, perhaps." "2m13", // DONE 83 Red nose icon at costumier's. Copy 2M13. "3m12", // DONE 84 Tissue icon. Also, after Nico's "No, I write it (the magazine) 5M19. - "3m13", // DONE 85 Photo icon over, "Do you recognise this man?" + "3m13", // DONE 85 Photo icon over, "Do you recognize this man?" "3m14", // DONE 86 Exit icon, over, "Thanks for your help, buddy." "2m9", // DONE 87 Clicking on police station on the map. "3m17", // DONE 88 Police station on, "I've tracked down the clown's movements." @@ -2702,7 +2702,7 @@ const char Music::_tuneList[TOTAL_TUNES][8] = { "3m32", // DONE 100 Source music for Lady Piermont. "3m33", // DONE 101 More music for Lady P. "2m13", // DONE 102 Red Nose music Copy 2M13 - "4m3", // DONE 103 On photo, "Do you recognise the man in this photograph" + "4m3", // DONE 103 On photo, "Do you recognize the man in this photograph" "4m4", // DONE 104 With Lady P. After, "Hi there, ma'am." "4m5", // DONE 105 After, "I think the word you're looking for is...dick" "4m6", // DONE 106 After, "English arrogance might do the trick." Also for "More English arrogance" (4M27) @@ -2881,7 +2881,7 @@ const char Music::_tuneList[TOTAL_TUNES][8] = { "scm1b", // DONE 260 When George passes the trigger point toward the back of the train and he sees Guido. "spm6b", // DONE 261 The climax of "spm6", which should coincide with the Countess holding up the chalice. "marquet", // DONE 262 Starts at the fade down when George is asked to leave Jacques' room - "rm4", // DONE 263 "On crystal stand icon. As George walks to the centre of the cavern." I'd do this on the first LMB on the stump. + "rm4", // DONE 263 "On crystal stand icon. As George walks to the center of the cavern." I'd do this on the first LMB on the stump. "rm5", // DONE 264 "On icon. As George places the crystal on top of the stand." When the player places the gem luggage on the emplaced tripod. "rm6", // DONE 265 "Chalice reflection. On icon as George places Chalice on floor of Church" i.e. the mosaic in the Baphomet dig. It's over thirty seconds long so it had best start running when the chalice luggage is placed on the mosaic so it runs through the big screen of the reflection. "rm7", // DONE 266 "Burning candle. On icon as George sets about lighting candle." One minute forty-eight, this one. I've no idea how long the burning candle Smacker is but the cue description seems to indicate it should run from the moment the burning tissue successfully lights the candle, i.e. the window is shut. -- cgit v1.2.3 From 9c82cf4844130c32e5d25d958e47d829149c1a84 Mon Sep 17 00:00:00 2001 From: Strangerke Date: Wed, 19 Feb 2014 21:42:38 +0100 Subject: TEENAGENT: Some British to American English --- engines/teenagent/callbacks.cpp | 2 +- engines/teenagent/resources.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/engines/teenagent/callbacks.cpp b/engines/teenagent/callbacks.cpp index 3f77673144..74d3d7d56d 100644 --- a/engines/teenagent/callbacks.cpp +++ b/engines/teenagent/callbacks.cpp @@ -4624,7 +4624,7 @@ bool TeenAgentEngine::processCallback(uint16 addr) { SET_FLAG(dsAddr_mansionVCRPlayedTapeBeforeFlag, 1); } } else - displayMessage(dsAddr_tvOffMsg); // "I just realised that the TV is off" + displayMessage(dsAddr_tvOffMsg); // "I just realized that the TV is off" } else { SET_FLAG(dsAddr_mansionVCRPlayingTapeFlag, 0); if (CHECK_FLAG(dsAddr_mansionTVOnFlag, 1)) { diff --git a/engines/teenagent/resources.h b/engines/teenagent/resources.h index d2b4874042..2cdc070a87 100644 --- a/engines/teenagent/resources.h +++ b/engines/teenagent/resources.h @@ -495,7 +495,7 @@ const uint16 dsAddr_noDepraveMsg = 0x4d02; // "Nah, I don't want to deprave the // No Read Again Message : 0x4d2a to 0x4d5a const uint16 dsAddr_noReadAgainMsg = 0x4d2a; // "I don't want to read it again. I might like it." // TV Off Message : 0x4d5b to 0x4d7f -const uint16 dsAddr_tvOffMsg = 0x4d5b; // "I just realised that the TV is off" +const uint16 dsAddr_tvOffMsg = 0x4d5b; // "I just realized that the TV is off" // Not Happen Message : 0x4d80 to 0x4d92 const uint16 dsAddr_NotHappenMsg = 0x4d80; // "Nothing happened" // Tape Started Message : 0x4d93 to 0x4da5 -- cgit v1.2.3 From 93c06d52a532a53e37cc15aacaaa1aa4eaf27c6f Mon Sep 17 00:00:00 2001 From: Strangerke Date: Wed, 19 Feb 2014 21:42:55 +0100 Subject: TSAGE: Some British to American English --- engines/tsage/debugger.cpp | 2 +- engines/tsage/events.h | 2 +- engines/tsage/ringworld2/ringworld2_logic.cpp | 6 +-- engines/tsage/ringworld2/ringworld2_logic.h | 2 +- engines/tsage/ringworld2/ringworld2_scenes0.cpp | 54 ++++++++++++------------- engines/tsage/ringworld2/ringworld2_scenes0.h | 4 +- engines/tsage/scenes.cpp | 1 + 7 files changed, 36 insertions(+), 35 deletions(-) diff --git a/engines/tsage/debugger.cpp b/engines/tsage/debugger.cpp index d87afc797e..140e1afea5 100644 --- a/engines/tsage/debugger.cpp +++ b/engines/tsage/debugger.cpp @@ -653,7 +653,7 @@ bool Ringworld2Debugger::Cmd_ListObjects(int argc, const char **argv) { DebugPrintf("11 - R2_CHARGED_POWER_CAPSULE\n"); DebugPrintf("12 - R2_AEROSOL\n"); DebugPrintf("13 - R2_REMOTE_CONTROL\n"); - DebugPrintf("14 - R2_OPTICAL_FIBRE\n"); + DebugPrintf("14 - R2_OPTICAL_FIBER\n"); DebugPrintf("15 - R2_CLAMP\n"); DebugPrintf("16 - R2_ATTRACTOR_CABLE_HARNESS\n"); DebugPrintf("17 - R2_FUEL_CELL\n"); diff --git a/engines/tsage/events.h b/engines/tsage/events.h index 0a99290f88..a3d96abef4 100644 --- a/engines/tsage/events.h +++ b/engines/tsage/events.h @@ -90,7 +90,7 @@ enum CursorType { R2_ATTRACTOR_UNIT = 5, R2_SENSOR_PROBE = 6, R2_SONIC_STUNNER = 7, R2_CABLE_HARNESS = 8, R2_COM_SCANNER = 9, R2_SPENT_POWER_CAPSULE = 10, R2_CHARGED_POWER_CAPSULE = 11, R2_AEROSOL = 12, R2_REMOTE_CONTROL = 13, - R2_OPTICAL_FIBRE = 14, R2_CLAMP = 15, R2_ATTRACTOR_CABLE_HARNESS = 16, + R2_OPTICAL_FIBER = 14, R2_CLAMP = 15, R2_ATTRACTOR_CABLE_HARNESS = 16, R2_FUEL_CELL = 17, R2_GYROSCOPE = 18, R2_AIRBAG = 19, R2_REBREATHER_TANK = 20, R2_RESERVE_REBREATHER_TANK = 21, R2_GUIDANCE_MODULE = 22, R2_THRUSTER_VALVE = 23, R2_BALLOON_BACKPACK = 24, R2_RADAR_MECHANISM = 25, R2_JOYSTICK = 26, diff --git a/engines/tsage/ringworld2/ringworld2_logic.cpp b/engines/tsage/ringworld2/ringworld2_logic.cpp index 555e3951dd..773425fae3 100644 --- a/engines/tsage/ringworld2/ringworld2_logic.cpp +++ b/engines/tsage/ringworld2/ringworld2_logic.cpp @@ -814,7 +814,7 @@ Ringworld2InvObjectList::Ringworld2InvObjectList(): _chargedPowerCapsule(1, 12), _aerosol(1, 13), _remoteControl(1, 14), - _opticalFibre(1, 15), + _opticalFiber(1, 15), _clamp(1, 16), _attractorHarness(1, 17), _fuelCell(2, 2), @@ -869,7 +869,7 @@ Ringworld2InvObjectList::Ringworld2InvObjectList(): _itemList.push_back(&_chargedPowerCapsule); _itemList.push_back(&_aerosol); _itemList.push_back(&_remoteControl); - _itemList.push_back(&_opticalFibre); + _itemList.push_back(&_opticalFiber); _itemList.push_back(&_clamp); _itemList.push_back(&_attractorHarness); _itemList.push_back(&_fuelCell); @@ -933,7 +933,7 @@ void Ringworld2InvObjectList::reset() { setObjectScene(R2_CHARGED_POWER_CAPSULE, 400); setObjectScene(R2_AEROSOL, 500); setObjectScene(R2_REMOTE_CONTROL, 1550); - setObjectScene(R2_OPTICAL_FIBRE, 850); + setObjectScene(R2_OPTICAL_FIBER, 850); setObjectScene(R2_CLAMP, 850); setObjectScene(R2_ATTRACTOR_CABLE_HARNESS, 0); setObjectScene(R2_FUEL_CELL, 1550); diff --git a/engines/tsage/ringworld2/ringworld2_logic.h b/engines/tsage/ringworld2/ringworld2_logic.h index 94dd2946fd..31d801fa55 100644 --- a/engines/tsage/ringworld2/ringworld2_logic.h +++ b/engines/tsage/ringworld2/ringworld2_logic.h @@ -178,7 +178,7 @@ public: InvObject _chargedPowerCapsule; InvObject _aerosol; InvObject _remoteControl; - InvObject _opticalFibre; + InvObject _opticalFiber; InvObject _clamp; InvObject _attractorHarness; InvObject _fuelCell; diff --git a/engines/tsage/ringworld2/ringworld2_scenes0.cpp b/engines/tsage/ringworld2/ringworld2_scenes0.cpp index 5f532e3b9a..c6dd248729 100644 --- a/engines/tsage/ringworld2/ringworld2_scenes0.cpp +++ b/engines/tsage/ringworld2/ringworld2_scenes0.cpp @@ -6721,19 +6721,19 @@ bool Scene800::Button::startAction(CursorType action, Event &event) { } bool Scene800::CableJunction::startAction(CursorType action, Event &event) { - if (action != R2_OPTICAL_FIBRE) { + if (action != R2_OPTICAL_FIBER) { return NamedHotspot::startAction(action, event); } else { Scene800 *scene = (Scene800 *)R2_GLOBALS._sceneManager._scene; R2_GLOBALS._player.disableControl(); - scene->_opticalFibre.postInit(); + scene->_opticalFiber.postInit(); scene->_sceneMode = 803; if (R2_INVENTORY.getObjectScene(R2_READER) == 800) - scene->setAction(&scene->_sequenceManager1, scene, 813, &R2_GLOBALS._player, &scene->_opticalFibre, &scene->_reader, NULL); + scene->setAction(&scene->_sequenceManager1, scene, 813, &R2_GLOBALS._player, &scene->_opticalFiber, &scene->_reader, NULL); else - scene->setAction(&scene->_sequenceManager1, scene, 803, &R2_GLOBALS._player, &scene->_opticalFibre, NULL); + scene->setAction(&scene->_sequenceManager1, scene, 803, &R2_GLOBALS._player, &scene->_opticalFiber, NULL); return true; } @@ -6751,8 +6751,8 @@ bool Scene800::DeviceSlot::startAction(CursorType action, Event &event) { _lookLineNum = 27; scene->_sceneMode = 809; - if (R2_INVENTORY.getObjectScene(R2_OPTICAL_FIBRE) == 800) - scene->setAction(&scene->_sequenceManager1, scene, 815, &R2_GLOBALS._player, &scene->_reader, &scene->_opticalFibre, NULL); + if (R2_INVENTORY.getObjectScene(R2_OPTICAL_FIBER) == 800) + scene->setAction(&scene->_sequenceManager1, scene, 815, &R2_GLOBALS._player, &scene->_reader, &scene->_opticalFiber, NULL); else scene->setAction(&scene->_sequenceManager1, scene, 809, &R2_GLOBALS._player, &scene->_reader, NULL); return true; @@ -6761,9 +6761,9 @@ bool Scene800::DeviceSlot::startAction(CursorType action, Event &event) { scene->_reader.postInit(); scene->_sceneMode = 804; - if (R2_INVENTORY.getObjectScene(R2_OPTICAL_FIBRE) == 800) { + if (R2_INVENTORY.getObjectScene(R2_OPTICAL_FIBER) == 800) { scene->setAction(&scene->_sequenceManager1, scene, 814, &R2_GLOBALS._player, - &scene->_reader, &scene->_opticalFibre, NULL); + &scene->_reader, &scene->_opticalFiber, NULL); } else { scene->setAction(&scene->_sequenceManager1, scene, 804, &R2_GLOBALS._player, &scene->_reader, NULL); @@ -6879,22 +6879,22 @@ void Scene800::postInit(SceneObjectList *OwnerList) { _autodocCover.setPosition(Common::Point(119, 161)); _autodocCover.setDetails(800, 6, 7, -1, 1, (SceneItem *)NULL); - if (R2_INVENTORY.getObjectScene(R2_OPTICAL_FIBRE) == 800) { - _opticalFibre.postInit(); + if (R2_INVENTORY.getObjectScene(R2_OPTICAL_FIBER) == 800) { + _opticalFiber.postInit(); if (R2_INVENTORY.getObjectScene(R2_READER) == 800) - _opticalFibre.setup(800, 4, 1); + _opticalFiber.setup(800, 4, 1); else - _opticalFibre.setup(800, 7, 2); + _opticalFiber.setup(800, 7, 2); - _opticalFibre.setPosition(Common::Point(220, 124)); - _opticalFibre.fixPriority(140); + _opticalFiber.setPosition(Common::Point(220, 124)); + _opticalFiber.fixPriority(140); } if (R2_INVENTORY.getObjectScene(R2_READER) == 800) { _reader.postInit(); - if (R2_INVENTORY.getObjectScene(R2_OPTICAL_FIBRE) == 800) { - _opticalFibre.setup(800, 4, 1); + if (R2_INVENTORY.getObjectScene(R2_OPTICAL_FIBER) == 800) { + _opticalFiber.setup(800, 4, 1); _reader.hide(); } else { _reader.setup(800, 7, 1); @@ -6969,7 +6969,7 @@ void Scene800::signal() { break; case 803: R2_GLOBALS._player.enableControl(); - R2_INVENTORY.setObjectScene(R2_OPTICAL_FIBRE, 800); + R2_INVENTORY.setObjectScene(R2_OPTICAL_FIBER, 800); break; case 804: R2_GLOBALS._player.enableControl(); @@ -7265,7 +7265,7 @@ void Scene825::doButtonPress(int buttonId) { if (R2_GLOBALS.getFlag(4)) { if ((R2_INVENTORY.getObjectScene(R2_READER) != 800) || - (R2_INVENTORY.getObjectScene(R2_OPTICAL_FIBRE) != 800)) { + (R2_INVENTORY.getObjectScene(R2_OPTICAL_FIBER) != 800)) { _sceneText.setPosition(Common::Point(116, 75)); _sceneText.setup(ACCESS_CODE_REQUIRED); } else if (R2_INVENTORY.getObjectScene(R2_OPTO_DISK) != 800) { @@ -7282,7 +7282,7 @@ void Scene825::doButtonPress(int buttonId) { R2_GLOBALS.setFlag(2); if ((R2_INVENTORY.getObjectScene(R2_READER) != 800) || - (R2_INVENTORY.getObjectScene(R2_OPTICAL_FIBRE) != 800)) { + (R2_INVENTORY.getObjectScene(R2_OPTICAL_FIBER) != 800)) { _sceneText.setPosition(Common::Point(116, 75)); _sceneText.setup(ACCESS_CODE_REQUIRED); } else { @@ -7382,14 +7382,14 @@ void Scene825::doButtonPress(int buttonId) { *--------------------------------------------------------------------------*/ bool Scene850::Indicator::startAction(CursorType action, Event &event) { - if ((action != CURSOR_USE) || (R2_INVENTORY.getObjectScene(R2_OPTICAL_FIBRE) != 850)) + if ((action != CURSOR_USE) || (R2_INVENTORY.getObjectScene(R2_OPTICAL_FIBER) != 850)) return NamedHotspot::startAction(action, event); else { Scene850 *scene = (Scene850 *)R2_GLOBALS._sceneManager._scene; R2_GLOBALS._player.disableControl(); scene->_sceneMode = 851; - scene->setAction(&scene->_sequenceManager1, scene, 851, &R2_GLOBALS._player, &scene->_fibre, NULL); + scene->setAction(&scene->_sequenceManager1, scene, 851, &R2_GLOBALS._player, &scene->_fiber, NULL); return true; } } @@ -7488,10 +7488,10 @@ void Scene850::postInit(SceneObjectList *OwnerList) { _panel.fixPriority(82); _panel.setDetails(850, 24, -1, -1, 1, (SceneItem *)NULL); - if (R2_INVENTORY.getObjectScene(R2_OPTICAL_FIBRE) == 850) { - _fibre.postInit(); - _fibre.setup(850, 6, 1); - _fibre.setPosition(Common::Point(280, 87)); + if (R2_INVENTORY.getObjectScene(R2_OPTICAL_FIBER) == 850) { + _fiber.postInit(); + _fiber.setup(850, 6, 1); + _fiber.setPosition(Common::Point(280, 87)); } R2_GLOBALS._player.postInit(); @@ -7538,8 +7538,8 @@ void Scene850::signal() { R2_GLOBALS._player.enableControl(); break; case 851: - R2_INVENTORY.setObjectScene(R2_OPTICAL_FIBRE, 1); - _fibre.remove(); + R2_INVENTORY.setObjectScene(R2_OPTICAL_FIBER, 1); + _fiber.remove(); R2_GLOBALS._player.enableControl(); break; case 852: diff --git a/engines/tsage/ringworld2/ringworld2_scenes0.h b/engines/tsage/ringworld2/ringworld2_scenes0.h index 1c8f955557..f50c9a92a2 100644 --- a/engines/tsage/ringworld2/ringworld2_scenes0.h +++ b/engines/tsage/ringworld2/ringworld2_scenes0.h @@ -809,7 +809,7 @@ public: Button _button; CableJunction _cableJunction; DeviceSlot _deviceSlot; - SceneActor _autodocCover, _opticalFibre, _reader; + SceneActor _autodocCover, _opticalFiber, _reader; Door _door; Tray _tray; ComScanner _comScanner; @@ -885,7 +885,7 @@ public: NamedHotspot _background, _eastDoor, _compartment, _sickBayIndicator; NamedHotspot _liftControls; Indicator _indicator; - SceneActor _spark, _fibre; + SceneActor _spark, _fiber; LiftDoor _liftDoor; SickBayDoor _sickBayDoor; Clamp _clamp; diff --git a/engines/tsage/scenes.cpp b/engines/tsage/scenes.cpp index 5347c588b6..04dcd295e8 100644 --- a/engines/tsage/scenes.cpp +++ b/engines/tsage/scenes.cpp @@ -150,6 +150,7 @@ void SceneManager::fadeInIfNecessary() { void SceneManager::changeScene(int newSceneNumber) { debug(1, "changeScene(%d)", newSceneNumber); + warning("Scene %d", newSceneNumber); // Fade out the scene ScenePalette scenePalette; uint32 adjustData = 0; -- cgit v1.2.3 From 8d25112e14453b1670a2bfb051288374afe6f35f Mon Sep 17 00:00:00 2001 From: Strangerke Date: Wed, 19 Feb 2014 21:43:22 +0100 Subject: VOYEUR: Some British to American English --- engines/voyeur/files.h | 4 ++-- engines/voyeur/voyeur.cpp | 6 +++--- engines/voyeur/voyeur_game.cpp | 10 +++++----- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/engines/voyeur/files.h b/engines/voyeur/files.h index f2fd918aba..8c5f5d985f 100644 --- a/engines/voyeur/files.h +++ b/engines/voyeur/files.h @@ -332,7 +332,7 @@ public: byte *_field30; // Rect lists and counts. Note that _rectListCount values of '-1' seem to have - // special significance, which is why I'm not making them redundant in favour + // special significance, which is why I'm not making them redundant in favor // of the arrays' .size() method Common::Array *_rectListPtr[3]; int _rectListCount[3]; @@ -390,7 +390,7 @@ public: virtual ~FontResource(); }; -enum FontJustify { ALIGN_LEFT = 0, ALIGN_CENTRE = 1, ALIGN_RIGHT = 2 }; +enum FontJustify { ALIGN_LEFT = 0, ALIGN_CENTER = 1, ALIGN_RIGHT = 2 }; class FontInfoResource { public: diff --git a/engines/voyeur/voyeur.cpp b/engines/voyeur/voyeur.cpp index beaec8ab06..09da8f1648 100644 --- a/engines/voyeur/voyeur.cpp +++ b/engines/voyeur/voyeur.cpp @@ -279,7 +279,7 @@ bool VoyeurEngine::doLock() { // Display the last play time _graphicsManager._fontPtr->_pos = Common::Point(0, 97); - _graphicsManager._fontPtr->_justify = ALIGN_CENTRE; + _graphicsManager._fontPtr->_justify = ALIGN_CENTER; _graphicsManager._fontPtr->_justifyWidth = 384; _graphicsManager._fontPtr->_justifyHeight = 97; @@ -646,7 +646,7 @@ void VoyeurEngine::doTransitionCard(const Common::String &time, const Common::St fi._foreColor = 224; fi._fontSaveBack = 0; fi._pos = Common::Point(0, 116); - fi._justify = ALIGN_CENTRE; + fi._justify = ALIGN_CENTER; fi._justifyWidth = 384; fi._justifyHeight = 120; @@ -654,7 +654,7 @@ void VoyeurEngine::doTransitionCard(const Common::String &time, const Common::St if (!location.empty()) { fi._pos = Common::Point(0, 138); - fi._justify = ALIGN_CENTRE; + fi._justify = ALIGN_CENTER; fi._justifyWidth = 384; fi._justifyHeight = 140; diff --git a/engines/voyeur/voyeur_game.cpp b/engines/voyeur/voyeur_game.cpp index e7abdfc2f7..2c0df874b1 100644 --- a/engines/voyeur/voyeur_game.cpp +++ b/engines/voyeur/voyeur_game.cpp @@ -307,7 +307,7 @@ void VoyeurEngine::doClosingCredits() { if (flags & 1) { fi._foreColor = 1; fi._curFont = _bVoy->boltEntry(0x402)._fontResource; - fi._justify = ALIGN_CENTRE; + fi._justify = ALIGN_CENTER; fi._justifyWidth = 384; fi._justifyHeight = 240; fi._pos = Common::Point(0, READ_LE_UINT16(entry)); @@ -319,7 +319,7 @@ void VoyeurEngine::doClosingCredits() { if (flags & 0x40) { fi._foreColor = 2; fi._curFont = _bVoy->boltEntry(0x400)._fontResource; - fi._justify = ALIGN_CENTRE; + fi._justify = ALIGN_CENTER; fi._justifyWidth = 384; fi._justifyHeight = 240; fi._pos = Common::Point(0, READ_LE_UINT16(entry)); @@ -352,7 +352,7 @@ void VoyeurEngine::doClosingCredits() { if (flags & 4) { fi._foreColor = 1; fi._curFont = _bVoy->boltEntry(0x402)._fontResource; - fi._justify = ALIGN_CENTRE; + fi._justify = ALIGN_CENTER; fi._justifyWidth = 384; fi._justifyHeight = 240; fi._pos = Common::Point(0, READ_LE_UINT16(entry)); @@ -362,7 +362,7 @@ void VoyeurEngine::doClosingCredits() { fi._foreColor = 2; fi._curFont = _bVoy->boltEntry(0x400)._fontResource; - fi._justify = ALIGN_CENTRE; + fi._justify = ALIGN_CENTER; fi._justifyWidth = 384; fi._justifyHeight = 240; fi._pos = Common::Point(0, READ_LE_UINT16(entry) + 13); @@ -399,7 +399,7 @@ void VoyeurEngine::doPiracy() { fi._backColor = 2; fi._fontSaveBack = false; fi._fontFlags = 0; - fi._justify = ALIGN_CENTRE; + fi._justify = ALIGN_CENTER; fi._justifyWidth = 384; fi._justifyHeight = 230; -- cgit v1.2.3 From 719f8f23ec1d3834f6bde3e1ff7300f52000c8d3 Mon Sep 17 00:00:00 2001 From: Strangerke Date: Wed, 19 Feb 2014 21:43:39 +0100 Subject: WINTERMUTE: Some British to American English --- engines/wintermute/base/gfx/osystem/base_render_osystem.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/engines/wintermute/base/gfx/osystem/base_render_osystem.cpp b/engines/wintermute/base/gfx/osystem/base_render_osystem.cpp index 6f149f9a4f..601fcc0ffa 100644 --- a/engines/wintermute/base/gfx/osystem/base_render_osystem.cpp +++ b/engines/wintermute/base/gfx/osystem/base_render_osystem.cpp @@ -376,7 +376,7 @@ void BaseRenderOSystem::addDirtyRect(const Common::Rect &rect) { void BaseRenderOSystem::drawTickets() { RenderQueueIterator it = _renderQueue.begin(); // Clean out the old tickets - // Note: We draw invalid tickets too, otherwise we wouldn't be honouring + // Note: We draw invalid tickets too, otherwise we wouldn't be honoring // the draw request they obviously made BEFORE becoming invalid, either way // we have a copy of their data, so their invalidness won't affect us. while (it != _renderQueue.end()) { @@ -402,7 +402,7 @@ void BaseRenderOSystem::drawTickets() { it = _renderQueue.begin(); _lastFrameIter = _renderQueue.end(); // A special case: If the screen has one giant OPAQUE rect to be drawn, then we skip filling - // the background colour. Typical use-case: Fullscreen FMVs. + // the background color. Typical use-case: Fullscreen FMVs. // Caveat: The FPS-counter will invalidate this. if (it != _lastFrameIter && _renderQueue.front() == _renderQueue.back() && (*it)->_transform._alphaDisable == true) { // If our single opaque rect fills the dirty rect, we can skip filling. -- cgit v1.2.3 From 3584680587cc0ad5c8f6c234edced42c34ec5ca4 Mon Sep 17 00:00:00 2001 From: Strangerke Date: Wed, 19 Feb 2014 21:44:52 +0100 Subject: TSAGE: Remove leftover debug display --- engines/tsage/scenes.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/engines/tsage/scenes.cpp b/engines/tsage/scenes.cpp index 04dcd295e8..80ce1e3ecc 100644 --- a/engines/tsage/scenes.cpp +++ b/engines/tsage/scenes.cpp @@ -150,7 +150,7 @@ void SceneManager::fadeInIfNecessary() { void SceneManager::changeScene(int newSceneNumber) { debug(1, "changeScene(%d)", newSceneNumber); - warning("Scene %d", newSceneNumber); + // Fade out the scene ScenePalette scenePalette; uint32 adjustData = 0; -- cgit v1.2.3 From 27d624e79f4d488b9a97806bb5ddb81e4a40097b Mon Sep 17 00:00:00 2001 From: Strangerke Date: Thu, 20 Feb 2014 00:37:11 +0100 Subject: VOYEUR: Remove unused variables and functions in GraphicsManager --- engines/voyeur/events.cpp | 2 +- engines/voyeur/files.cpp | 2 +- engines/voyeur/files_threads.cpp | 4 ++-- engines/voyeur/graphics.cpp | 21 ++++----------------- engines/voyeur/graphics.h | 19 ++----------------- 5 files changed, 10 insertions(+), 38 deletions(-) diff --git a/engines/voyeur/events.cpp b/engines/voyeur/events.cpp index 51096956c0..cff394797b 100644 --- a/engines/voyeur/events.cpp +++ b/engines/voyeur/events.cpp @@ -90,7 +90,7 @@ void EventsManager::startMainClockInt() { _mainIntNode._intFunc = &EventsManager::mainVoyeurIntFunc; _mainIntNode._flags = 0; _mainIntNode._curTime = 0; - _mainIntNode._timeReset = _vm->_graphicsManager._palFlag ? 50 : 60; + _mainIntNode._timeReset = 60; } void EventsManager::mainVoyeurIntFunc() { diff --git a/engines/voyeur/files.cpp b/engines/voyeur/files.cpp index f2bb72fe8d..240f6451dc 100644 --- a/engines/voyeur/files.cpp +++ b/engines/voyeur/files.cpp @@ -832,7 +832,7 @@ int DisplayResource::drawText(const Common::String &msg) { ViewPortResource *viewPort = !(_flags & DISPFLAG_VIEWPORT) ? NULL : (ViewPortResource *)this; - if (gfxManager._drawTextPermFlag || (fontInfo._fontFlags & DISPFLAG_1) || fontInfo._justify || + if ((fontInfo._fontFlags & DISPFLAG_1) || fontInfo._justify || (gfxManager._saveBack && fontInfo._fontSaveBack && (_flags & DISPFLAG_VIEWPORT))) { msgWidth = viewPort->textWidth(msg); yp = pos.y; diff --git a/engines/voyeur/files_threads.cpp b/engines/voyeur/files_threads.cpp index 1ac2af97c8..918f8338cf 100644 --- a/engines/voyeur/files_threads.cpp +++ b/engines/voyeur/files_threads.cpp @@ -1238,7 +1238,7 @@ void ThreadResource::doRoom() { _vm->flipPageAndWait(); - vm._graphicsManager.fadeUpICF1(0); + vm._graphicsManager.fadeUpICF1(); voy._eventFlags &= EVTFLAG_RECORDING; vm._eventsManager.showCursor(); } @@ -1595,7 +1595,7 @@ void ThreadResource::freeTheApt() { _vm->_graphicsManager.fadeDownICF1(5); _vm->flipPageAndWaitForFade(); - _vm->_graphicsManager.fadeUpICF1(0); + _vm->_graphicsManager.fadeUpICF1(); if (_vm->_currentVocId != -1) { _vm->_soundManager.stopVOCPlay(); diff --git a/engines/voyeur/graphics.cpp b/engines/voyeur/graphics.cpp index 26a1efcb46..be633f53fa 100644 --- a/engines/voyeur/graphics.cpp +++ b/engines/voyeur/graphics.cpp @@ -31,25 +31,17 @@ namespace Voyeur { /*------------------------------------------------------------------------*/ -DrawInfo::DrawInfo(int penColor, const Common::Point &pos, int flags) { +DrawInfo::DrawInfo(int penColor, const Common::Point &pos) { _penColor = penColor; _pos = pos; - _flags = flags; } /*------------------------------------------------------------------------*/ -GraphicsManager::GraphicsManager(): _defaultDrawInfo(1, Common::Point(), 0), _drawPtr(&_defaultDrawInfo) { - _SVGAPage = 0; +GraphicsManager::GraphicsManager(): _defaultDrawInfo(1, Common::Point()), _drawPtr(&_defaultDrawInfo) { _SVGAMode = 0; - _SVGAReset = 0; - _screenOffset = 0; _planeSelect = 0; - _sImageShift = 3; - _palFlag = false; - _MCGAMode = false; _saveBack = true; - _drawTextPermFlag = false; _clipPtr = NULL; _viewPortListPtr = NULL; _backgroundPage = NULL; @@ -71,8 +63,6 @@ GraphicsManager::~GraphicsManager() { } void GraphicsManager::setupMCGASaveRect(ViewPortResource *viewPort) { - _MCGAMode = true; - if (viewPort->_activePage) { viewPort->_activePage->_flags |= 1; Common::Rect *clipRect = _clipPtr; @@ -252,10 +242,9 @@ void GraphicsManager::sDrawPic(DisplayResource *srcDisplay, DisplayResource *des } if (srcFlags & DISPFLAG_1000) { - srcImgData = srcPic->_imgData + (var4C << 14) + _screenOffset; + srcImgData = srcPic->_imgData + (var4C << 14); for (uint idx = 0; idx < srcPic->_maskData; ++idx) { if (var4C < 4) { - EMSMapPageHandle(srcPic->_planeSize, srcPic->_imgData[idx], var4C); ++var4C; } } @@ -263,10 +252,9 @@ void GraphicsManager::sDrawPic(DisplayResource *srcDisplay, DisplayResource *des srcImgData = srcPic->_imgData; } if (destFlags & DISPFLAG_1000) { - destImgData = destPic->_imgData + (var4C << 14) + _screenOffset; + destImgData = destPic->_imgData + (var4C << 14); for (uint idx = 0; idx < srcPic->_maskData; ++idx) { if (var4C < 4) { - EMSMapPageHandle(destPic->_planeSize, destPic->_imgData[idx], var4C); ++var4C; } } @@ -274,7 +262,6 @@ void GraphicsManager::sDrawPic(DisplayResource *srcDisplay, DisplayResource *des destImgData = destPic->_imgData; } - _SVGAPage = _SVGAReset; if (srcPic->_select != 0xff) return; diff --git a/engines/voyeur/graphics.h b/engines/voyeur/graphics.h index 59bc29bd25..57d72228c5 100644 --- a/engines/voyeur/graphics.h +++ b/engines/voyeur/graphics.h @@ -50,9 +50,8 @@ class DrawInfo { public: int _penColor; Common::Point _pos; - int _flags; public: - DrawInfo(int penColor, const Common::Point &pos, int flags); + DrawInfo(int penColor, const Common::Point &pos); }; typedef void (GraphicsManager::*GraphicMethodPtr)(); @@ -63,32 +62,21 @@ typedef void (GraphicsManager::*ViewPortRestorePtr)(ViewPortResource *); class GraphicsManager { public: VoyeurEngine *_vm; - bool _palFlag; byte _VGAColors[PALETTE_SIZE]; - Common::Array _colorChain; PictureResource *_backgroundPage; - int _SVGAPage; int _SVGAMode; - int _SVGAReset; ViewPortListResource *_viewPortListPtr; ViewPortResource **_vPort; - bool _MCGAMode; bool _saveBack; Common::Rect *_clipPtr; - int _screenOffset; uint _planeSelect; - int _sImageShift; Graphics::Surface _screenSurface; CMapResource *_backColors; FontInfoResource *_fontPtr; PictureResource *_fontChar; DrawInfo *_drawPtr; DrawInfo _defaultDrawInfo; - bool _drawTextPermFlag; private: - static void fadeIntFunc(); - static void vDoCycleInt(); - void restoreBack(Common::Array &rectList, int rectListCount, PictureResource *srcPic, PictureResource *destPic); public: @@ -116,7 +104,7 @@ public: void setColors(int start, int count, const byte *pal); void screenReset(); void fadeDownICF1(int steps); - void fadeUpICF1(int steps); + void fadeUpICF1(int steps = 0); void fadeDownICF(int steps); void drawDot(); @@ -124,9 +112,6 @@ public: * Synchronizes the game data */ void synchronize(Common::Serializer &s); - - // Methods in the original that are stubbed in ScummVM - void EMSMapPageHandle(int v1, int v2, int v3) {} }; } // End of namespace Voyeur -- cgit v1.2.3 From 29b9bba62cf47491801c2d49e1dec581cfdec9df Mon Sep 17 00:00:00 2001 From: Strangerke Date: Thu, 20 Feb 2014 00:48:35 +0100 Subject: VOYEUR: Remove useless function in SoundManager --- engines/voyeur/graphics.cpp | 6 ++---- engines/voyeur/sound.h | 3 --- engines/voyeur/voyeur.cpp | 2 -- 3 files changed, 2 insertions(+), 9 deletions(-) diff --git a/engines/voyeur/graphics.cpp b/engines/voyeur/graphics.cpp index be633f53fa..6a979dba41 100644 --- a/engines/voyeur/graphics.cpp +++ b/engines/voyeur/graphics.cpp @@ -244,9 +244,8 @@ void GraphicsManager::sDrawPic(DisplayResource *srcDisplay, DisplayResource *des if (srcFlags & DISPFLAG_1000) { srcImgData = srcPic->_imgData + (var4C << 14); for (uint idx = 0; idx < srcPic->_maskData; ++idx) { - if (var4C < 4) { + if (var4C < 4) ++var4C; - } } } else { srcImgData = srcPic->_imgData; @@ -254,9 +253,8 @@ void GraphicsManager::sDrawPic(DisplayResource *srcDisplay, DisplayResource *des if (destFlags & DISPFLAG_1000) { destImgData = destPic->_imgData + (var4C << 14); for (uint idx = 0; idx < srcPic->_maskData; ++idx) { - if (var4C < 4) { + if (var4C < 4) ++var4C; - } } } else { destImgData = destPic->_imgData; diff --git a/engines/voyeur/sound.h b/engines/voyeur/sound.h index a58c6a38ed..d2845bb69f 100644 --- a/engines/voyeur/sound.h +++ b/engines/voyeur/sound.h @@ -50,9 +50,6 @@ public: void startVOCPlay(int soundId); int getVOCStatus(); uint32 getVOCFrame(); - - // Methods in the original that are stubbed in ScummVM - void continueVocMap() {} }; } // End of namespace Voyeur diff --git a/engines/voyeur/voyeur.cpp b/engines/voyeur/voyeur.cpp index 09da8f1648..9731968aaf 100644 --- a/engines/voyeur/voyeur.cpp +++ b/engines/voyeur/voyeur.cpp @@ -325,8 +325,6 @@ bool VoyeurEngine::doLock() { while (_soundManager.getVOCStatus()) { if (shouldQuit()) break; - - _soundManager.continueVocMap(); _eventsManager.delay(1); } -- cgit v1.2.3 From 5159996cecce2ae0d9e8f2b8567fd4ffd93ee6b4 Mon Sep 17 00:00:00 2001 From: Matthew Hoops Date: Thu, 20 Feb 2014 01:06:50 -0500 Subject: KEYMAPPER: Have clicking on another remap button disable remapping Prevents the remapping code from being activated twice (throwing an assertion) --- backends/keymapper/remap-dialog.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/backends/keymapper/remap-dialog.cpp b/backends/keymapper/remap-dialog.cpp index 2d39bcd3b2..3aa3647048 100644 --- a/backends/keymapper/remap-dialog.cpp +++ b/backends/keymapper/remap-dialog.cpp @@ -258,6 +258,12 @@ void RemapDialog::startRemapping(uint i) { if (_topAction + i >= _currentActions.size()) return; + if (_keymapper->isRemapping()) { + // Handle a second click on the button as a stop to remapping + stopRemapping(true); + return; + } + _remapTimeout = g_system->getMillis() + kRemapTimeoutDelay; Action *activeRemapAction = _currentActions[_topAction + i].action; _keymapWidgets[i].keyButton->setLabel("..."); -- cgit v1.2.3 From 31d3171b65d9e56b3aa0add8ca05fdb542c13a26 Mon Sep 17 00:00:00 2001 From: Strangerke Date: Thu, 20 Feb 2014 07:43:41 +0100 Subject: VOYEUR: Remove a useless parameter in doTimeBar() --- engines/voyeur/files_threads.cpp | 2 +- engines/voyeur/voyeur.h | 2 +- engines/voyeur/voyeur_game.cpp | 6 +++--- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/engines/voyeur/files_threads.cpp b/engines/voyeur/files_threads.cpp index 918f8338cf..3ab3067762 100644 --- a/engines/voyeur/files_threads.cpp +++ b/engines/voyeur/files_threads.cpp @@ -1339,7 +1339,7 @@ int ThreadResource::doInterface() { do { _vm->_voyeurArea = AREA_INTERFACE; - _vm->doTimeBar(true); + _vm->doTimeBar(); _vm->_eventsManager.getMouseInfo(); if (checkMansionScroll()) diff --git a/engines/voyeur/voyeur.h b/engines/voyeur/voyeur.h index 70202b0812..445c122591 100644 --- a/engines/voyeur/voyeur.h +++ b/engines/voyeur/voyeur.h @@ -242,7 +242,7 @@ public: /** * Displays the time/charge remaining on the video camera screen */ - void doTimeBar(bool force); + void doTimeBar(); /** * If necessary, flashes the time remaining bar on the video camera screen diff --git a/engines/voyeur/voyeur_game.cpp b/engines/voyeur/voyeur_game.cpp index 2c0df874b1..07003acfe3 100644 --- a/engines/voyeur/voyeur_game.cpp +++ b/engines/voyeur/voyeur_game.cpp @@ -1019,7 +1019,7 @@ void VoyeurEngine::makeViewFinder() { } (*_graphicsManager._vPort)->drawIfaceTime(); - doTimeBar(true); + doTimeBar(); pal->startFade(); flipPageAndWaitForFade(); @@ -1271,10 +1271,10 @@ void VoyeurEngine::getComputerBrush() { } } -void VoyeurEngine::doTimeBar(bool force) { +void VoyeurEngine::doTimeBar() { flashTimeBar(); - if ((force || _timeBarVal != _voy._RTVNum) && _voy._RTVLimit > 0) { + if (_voy._RTVLimit > 0) { if (_voy._RTVNum > _voy._RTVLimit || _voy._RTVNum < 0) _voy._RTVNum = _voy._RTVLimit - 1; -- cgit v1.2.3 From 48c439a0eb933b492af35e4524cb13ecdf95cc19 Mon Sep 17 00:00:00 2001 From: Strangerke Date: Thu, 20 Feb 2014 07:49:38 +0100 Subject: VOYEUR: Remove some more variables in ViewPortResource --- engines/voyeur/files.cpp | 6 +++--- engines/voyeur/files.h | 3 --- 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/engines/voyeur/files.cpp b/engines/voyeur/files.cpp index 240f6451dc..00219d56be 100644 --- a/engines/voyeur/files.cpp +++ b/engines/voyeur/files.cpp @@ -1207,7 +1207,8 @@ ViewPortResource::ViewPortResource(BoltFilesState &state, const byte *src): _pages[0] = state._curLibPtr->getPictureResource(READ_LE_UINT32(src + 0x28)); _pages[1] = state._curLibPtr->getPictureResource(READ_LE_UINT32(src + 0x2C)); - state._curLibPtr->resolveIt(READ_LE_UINT32(src + 0x30), &_field30); + byte *dummy; + state._curLibPtr->resolveIt(READ_LE_UINT32(src + 0x30), &dummy); // Get the rect list for (int listIndex = 0; listIndex < 3; ++listIndex) { @@ -1236,8 +1237,7 @@ ViewPortResource::ViewPortResource(BoltFilesState &state, const byte *src): _clipRect = Common::Rect(xs, ys, xs + READ_LE_UINT16(src + 0x4A), ys + READ_LE_UINT16(src + 0x4C)); - state._curLibPtr->resolveIt(READ_LE_UINT32(src + 0x7A), &_field7A); - + state._curLibPtr->resolveIt(READ_LE_UINT32(src + 0x7A), &dummy); state._curLibPtr->resolveFunction(READ_LE_UINT32(src + 0x7E), (GraphicMethodPtr *)&_fn1); state._curLibPtr->resolveFunction(READ_LE_UINT32(src + 0x82), (GraphicMethodPtr *)&_setupFn); state._curLibPtr->resolveFunction(READ_LE_UINT32(src + 0x86), (GraphicMethodPtr *)&_addFn); diff --git a/engines/voyeur/files.h b/engines/voyeur/files.h index 8c5f5d985f..ffc5937c63 100644 --- a/engines/voyeur/files.h +++ b/engines/voyeur/files.h @@ -325,11 +325,9 @@ public: int _pageIndex; int _lastPage; Common::Rect _bounds; - int _field18; // Useless variable PictureResource *_currentPic; PictureResource *_activePage; PictureResource *_pages[2]; - byte *_field30; // Rect lists and counts. Note that _rectListCount values of '-1' seem to have // special significance, which is why I'm not making them redundant in favor @@ -338,7 +336,6 @@ public: int _rectListCount[3]; Common::Rect _clipRect; - byte *_field7A; GraphicMethodPtr _fn1; ViewPortSetupPtr _setupFn; ViewPortAddPtr _addFn; -- cgit v1.2.3 From d0bbb68eabbd64af46e01a9f06437cef8821d26e Mon Sep 17 00:00:00 2001 From: Strangerke Date: Thu, 20 Feb 2014 08:10:48 +0100 Subject: VOYEUR: Some more renaming --- engines/voyeur/files_threads.cpp | 14 +++++++------- engines/voyeur/graphics.cpp | 14 +++++++------- engines/voyeur/voyeur_game.cpp | 14 +++++++------- 3 files changed, 21 insertions(+), 21 deletions(-) diff --git a/engines/voyeur/files_threads.cpp b/engines/voyeur/files_threads.cpp index 3ab3067762..42446f72b7 100644 --- a/engines/voyeur/files_threads.cpp +++ b/engines/voyeur/files_threads.cpp @@ -690,7 +690,7 @@ void ThreadResource::parsePlayCommands() { const byte *ThreadResource::cardPerform(const byte *card) { uint16 id = *card++; - int varD = 5; + int subId = 5; uint32 v2; byte bVal; uint32 idx1, idx2; @@ -805,17 +805,17 @@ const byte *ThreadResource::cardPerform(const byte *card) { case 24: case 27: case 28: - varD -= 3; + subId -= 3; // Deliberate fall-through case 21: case 22: case 25: case 26: - bVal = card[varD]; + bVal = card[subId]; if (bVal == 61) { if (cardPerform2(card, id)) { - card += varD; + card += subId; while (*card != 30 && *card != 29) card = cardPerform(card); @@ -830,7 +830,7 @@ const byte *ThreadResource::cardPerform(const byte *card) { } } } else { - card += varD; + card += subId; int count = 1; while (count > 0) { card = getNextRecord(card); @@ -848,11 +848,11 @@ const byte *ThreadResource::cardPerform(const byte *card) { ++card; } else { if (cardPerform2(card, id)) { - card += varD; + card += subId; card = cardPerform(card); while (*card++ != 61) ; } else { - card += varD; + card += subId; while (*card != 61 && *card != 29) ++card; } diff --git a/engines/voyeur/graphics.cpp b/engines/voyeur/graphics.cpp index 6a979dba41..831ca81fc9 100644 --- a/engines/voyeur/graphics.cpp +++ b/engines/voyeur/graphics.cpp @@ -111,7 +111,7 @@ void GraphicsManager::addRectNoSaveBack(ViewPortResource *viewPort, int idx, con void GraphicsManager::sDrawPic(DisplayResource *srcDisplay, DisplayResource *destDisplay, const Common::Point &initialOffset) { - int var4C = 0; + int imageDataShift = 0; int width1, width2; int widthDiff, widthDiff2; int height1; @@ -242,19 +242,19 @@ void GraphicsManager::sDrawPic(DisplayResource *srcDisplay, DisplayResource *des } if (srcFlags & DISPFLAG_1000) { - srcImgData = srcPic->_imgData + (var4C << 14); + srcImgData = srcPic->_imgData + (imageDataShift << 14); for (uint idx = 0; idx < srcPic->_maskData; ++idx) { - if (var4C < 4) - ++var4C; + if (imageDataShift < 4) + ++imageDataShift; } } else { srcImgData = srcPic->_imgData; } if (destFlags & DISPFLAG_1000) { - destImgData = destPic->_imgData + (var4C << 14); + destImgData = destPic->_imgData + (imageDataShift << 14); for (uint idx = 0; idx < srcPic->_maskData; ++idx) { - if (var4C < 4) - ++var4C; + if (imageDataShift < 4) + ++imageDataShift; } } else { destImgData = destPic->_imgData; diff --git a/engines/voyeur/voyeur_game.cpp b/engines/voyeur/voyeur_game.cpp index 07003acfe3..123f0f629b 100644 --- a/engines/voyeur/voyeur_game.cpp +++ b/engines/voyeur/voyeur_game.cpp @@ -472,15 +472,15 @@ void VoyeurEngine::reviewTape() { _currentVocId = 151; _voy._vocSecondsOffset = 0; - bool var1E = true; + bool needRedraw = true; do { if (_currentVocId != -1 && !_soundManager.getVOCStatus()) { _voy._musicStartTime = _voy._RTVNum; _soundManager.startVOCPlay(_currentVocId); } - if (var1E) { - var1E = false; + if (needRedraw) { + needRedraw = false; flipPageAndWait(); _graphicsManager._drawPtr->_penColor = 0; @@ -595,7 +595,7 @@ void VoyeurEngine::reviewTape() { case 2: if (eventStart > 0) { --eventStart; - var1E = true; + needRedraw = true; } foundIndex = -1; break; @@ -605,7 +605,7 @@ void VoyeurEngine::reviewTape() { eventStart -= 8; if (eventStart < 0) eventStart = 0; - var1E = true; + needRedraw = true; } foundIndex = -1; break; @@ -613,7 +613,7 @@ void VoyeurEngine::reviewTape() { case 4: if ((_voy._eventCount - 8) > eventStart) { ++eventStart; - var1E = true; + needRedraw = true; } foundIndex = -1; break; @@ -623,7 +623,7 @@ void VoyeurEngine::reviewTape() { eventStart += 8; if ((_voy._eventCount - 8) < eventStart) eventStart = _voy._eventCount - 8; - var1E = true; + needRedraw = true; } foundIndex = -1; break; -- cgit v1.2.3 From 4065c795277bbb4cb2db6dbd8fef145b6c5c6c7f Mon Sep 17 00:00:00 2001 From: Strangerke Date: Thu, 20 Feb 2014 08:31:15 +0100 Subject: VOYEUR: Some more renaming in GraphicsManager --- engines/voyeur/graphics.cpp | 120 ++++++++++++++++++++++---------------------- 1 file changed, 59 insertions(+), 61 deletions(-) diff --git a/engines/voyeur/graphics.cpp b/engines/voyeur/graphics.cpp index 831ca81fc9..00d6c02d4e 100644 --- a/engines/voyeur/graphics.cpp +++ b/engines/voyeur/graphics.cpp @@ -121,10 +121,9 @@ void GraphicsManager::sDrawPic(DisplayResource *srcDisplay, DisplayResource *des ViewPortResource *destViewPort = NULL; Common::Rect newBounds; Common::Rect backBounds; - int var22 = 0; - int var24 = 0; + int tmpWidth = 0; + int tmpHeight = 0; bool isClipped = false; - int var26; byte pixel = 0; int runLength; @@ -132,17 +131,18 @@ void GraphicsManager::sDrawPic(DisplayResource *srcDisplay, DisplayResource *des byte *srcP, *destP; byte byteVal, byteVal2; - // Get the picture parameters, or deference viewport pointers to get their pictures - PictureResource *srcPic = (PictureResource *)srcDisplay; - PictureResource *destPic = (PictureResource *)destDisplay; + PictureResource *srcPic; + PictureResource *destPic; + // Get the picture parameters, or deference viewport pointers to get their pictures if (srcDisplay->_flags & DISPFLAG_VIEWPORT) { // A viewport was passed, not a picture srcPic = ((ViewPortResource *)srcDisplay)->_currentPic; - } - if (destDisplay->_flags & DISPFLAG_VIEWPORT) { destViewPort = (ViewPortResource *)destDisplay; destPic = destViewPort->_currentPic; + } else { + srcPic = (PictureResource *)srcDisplay; + destPic = (PictureResource *)destDisplay; } Common::Point offset = Common::Point(initialOffset.x + srcPic->_bounds.left - destPic->_bounds.left, @@ -168,10 +168,10 @@ void GraphicsManager::sDrawPic(DisplayResource *srcDisplay, DisplayResource *des newBounds = Common::Rect(0, 0, destPic->_bounds.width(), destPic->_bounds.height()); } - var24 = offset.y - newBounds.top; - if (var24 < 0) { - srcOffset -= var24 * width2; - height1 += var24; + tmpHeight = offset.y - newBounds.top; + if (tmpHeight < 0) { + srcOffset -= tmpHeight * width2; + height1 += tmpHeight; offset.y = newBounds.top; if (height1 <= 0) @@ -180,17 +180,17 @@ void GraphicsManager::sDrawPic(DisplayResource *srcDisplay, DisplayResource *des isClipped = true; } - int var20 = newBounds.bottom - (offset.y + height1); - if (var20 < 0) { - height1 += var20; + int yMin = newBounds.bottom - (offset.y + height1); + if (yMin < 0) { + height1 += yMin; if (height1 <= 0) return; } - var22 = offset.x - newBounds.left; - if (var22 < 0) { - srcOffset -= var22; - width2 += var22; + tmpWidth = offset.x - newBounds.left; + if (tmpWidth < 0) { + srcOffset -= tmpWidth; + width2 += tmpWidth; offset.x = newBounds.left; if (width2 <= 0) @@ -199,9 +199,9 @@ void GraphicsManager::sDrawPic(DisplayResource *srcDisplay, DisplayResource *des isClipped = true; } - var26 = newBounds.right - (offset.x + width2); - if (var26 < 0) { - width2 += var26; + int xMin = newBounds.right - (offset.x + width2); + if (xMin < 0) { + width2 += xMin; if (width2 <= 0) return; @@ -247,16 +247,14 @@ void GraphicsManager::sDrawPic(DisplayResource *srcDisplay, DisplayResource *des if (imageDataShift < 4) ++imageDataShift; } - } else { - srcImgData = srcPic->_imgData; - } - if (destFlags & DISPFLAG_1000) { + destImgData = destPic->_imgData + (imageDataShift << 14); for (uint idx = 0; idx < srcPic->_maskData; ++idx) { if (imageDataShift < 4) ++imageDataShift; } } else { + srcImgData = srcPic->_imgData; destImgData = destPic->_imgData; } @@ -357,12 +355,12 @@ void GraphicsManager::sDrawPic(DisplayResource *srcDisplay, DisplayResource *des srcP = srcImgData; if (isClipped) { // loc_26199 - var22 = (var22 < 0) ? -var22 : 0; - var26 = var22 + width2; - var24 = (var24 < 0) ? -var24 : 0; + tmpWidth = (tmpWidth < 0) ? -tmpWidth : 0; + int xMax = tmpWidth + width2; + tmpHeight = (tmpHeight < 0) ? -tmpHeight : 0; width2 = srcPic->_bounds.width(); - height1 = var24 + height1; + height1 = tmpHeight + height1; for (int yp = 0; yp < height1; ++yp) { runLength = 0; @@ -378,14 +376,14 @@ void GraphicsManager::sDrawPic(DisplayResource *srcDisplay, DisplayResource *des } } - if (yp >= var24 && xp >= var22 && xp < var26) { + if (yp >= tmpHeight && xp >= tmpWidth && xp < xMax) { if (pixel > 0) *destP = pixel; ++destP; } } - if (yp >= var24) + if (yp >= tmpHeight) destP += widthDiff2; } } else { @@ -435,11 +433,11 @@ void GraphicsManager::sDrawPic(DisplayResource *srcDisplay, DisplayResource *des if (isClipped) { // loc_26424 - var22 = (var22 < 0) ? -var22 : 0; - var26 = var22 + width2; - var24 = (var24 < 0) ? -var24 : 0; + tmpWidth = (tmpWidth < 0) ? -tmpWidth : 0; + int xMax = tmpWidth + width2; + tmpHeight = (tmpHeight < 0) ? -tmpHeight : 0; width2 = srcPic->_bounds.width(); - height1 = var24 + height1; + height1 = tmpHeight + height1; for (int yp = 0; yp < height1; ++yp) { runLength = 0; @@ -455,12 +453,12 @@ void GraphicsManager::sDrawPic(DisplayResource *srcDisplay, DisplayResource *des } } - if (yp >= var24 && xp >= var22 && xp < var26) { + if (yp >= tmpHeight && xp >= tmpWidth && xp < xMax) { *destP++ = pixel; } } - if (yp >= var24) + if (yp >= tmpHeight) destP += widthDiff2; } } else { @@ -558,12 +556,12 @@ void GraphicsManager::sDrawPic(DisplayResource *srcDisplay, DisplayResource *des if (isClipped) { // loc_266E3 destP = (byte *)_screenSurface.getPixels() + screenOffset; - var22 = (var22 < 0) ? -var22 : 0; - var26 = var22 + width2; - var24 = (var24 < 0) ? -var24 : 0; + tmpWidth = (tmpWidth < 0) ? -tmpWidth : 0; + int xMax = tmpWidth + width2; + tmpHeight = (tmpHeight < 0) ? -tmpHeight : 0; pick = 0x7F; width2 = srcPic->_bounds.width(); - height1 = var24 + height1; + height1 = tmpHeight + height1; for (int yp = 0; yp < height1; ++yp) { int runLength = 0; @@ -578,14 +576,14 @@ void GraphicsManager::sDrawPic(DisplayResource *srcDisplay, DisplayResource *des } } - if (yp >= var24 && xp >= var22 && xp < var26) { + if (yp >= tmpHeight && xp >= tmpWidth && xp < xMax) { if (pixel) { *destP = (pixel & pick) ^ onOff; } ++destP; } } - if (yp >= var24) + if (yp >= tmpHeight) destP += widthDiff2; } } else { @@ -632,11 +630,11 @@ void GraphicsManager::sDrawPic(DisplayResource *srcDisplay, DisplayResource *des srcP = srcImgData; if (isClipped) { // loc_269FD - var22 = (var22 < 0) ? -var22 : 0; - var26 = var22 + width2; - var24 = (var24 < 0) ? -var24 : 0; + tmpWidth = (tmpWidth < 0) ? -tmpWidth : 0; + int xMax = tmpWidth + width2; + tmpHeight = (tmpHeight < 0) ? -tmpHeight : 0; width2 = srcPic->_bounds.width(); - height1 = var24 + height1; + height1 = tmpHeight + height1; for (int yp = 0; yp < height1; ++yp) { runLength = 0; @@ -652,7 +650,7 @@ void GraphicsManager::sDrawPic(DisplayResource *srcDisplay, DisplayResource *des } } - if (yp >= var24 && xp >= var22 && xp < var26) { + if (yp >= tmpHeight && xp >= tmpWidth && xp < xMax) { *destP++ = (pixel & 0x80) ^ onOff; } } @@ -704,11 +702,11 @@ void GraphicsManager::sDrawPic(DisplayResource *srcDisplay, DisplayResource *des if (isClipped) { // loc_26D6A - var22 = (var22 < 0) ? -var22 : 0; - var26 = var22 + width2; - var24 = (var24 < 0) ? -var24 : 0; + tmpWidth = (tmpWidth < 0) ? -tmpWidth : 0; + int xMax = tmpWidth + width2; + tmpHeight = (tmpHeight < 0) ? -tmpHeight : 0; width2 = srcPic->_bounds.width(); - height1 = var24 + height1; + height1 = tmpHeight + height1; for (int yp = 0; yp < height1; ++yp) { runLength = 0; @@ -724,7 +722,7 @@ void GraphicsManager::sDrawPic(DisplayResource *srcDisplay, DisplayResource *des } } - if (yp >= var24 && xp >= var22 && xp < var26) { + if (yp >= tmpHeight && xp >= tmpWidth && xp < xMax) { if (pixel) *destP = (pixel & pick) ^ onOff; @@ -732,7 +730,7 @@ void GraphicsManager::sDrawPic(DisplayResource *srcDisplay, DisplayResource *des } } - if (yp >= var24) + if (yp >= tmpHeight) destP += widthDiff2; } } else { @@ -785,11 +783,11 @@ void GraphicsManager::sDrawPic(DisplayResource *srcDisplay, DisplayResource *des if (isClipped) { // loc_2700A - var22 = (var22 < 0) ? -var22 : 0; - var26 = var22 + width2; - var24 = (var24 < 0) ? -var24 : 0; + tmpWidth = (tmpWidth < 0) ? -tmpWidth : 0; + int xMax = tmpWidth + width2; + tmpHeight = (tmpHeight < 0) ? -tmpHeight : 0; width2 = srcPic->_bounds.width(); - height1 = var24 + height1; + height1 = tmpHeight + height1; for (int yp = 0; yp < height1; ++yp) { runLength = 0; @@ -805,12 +803,12 @@ void GraphicsManager::sDrawPic(DisplayResource *srcDisplay, DisplayResource *des } } - if (yp >= var24 && xp >= var22 && xp < var26) { + if (yp >= tmpHeight && xp >= tmpWidth && xp < xMax) { *destP++ = (pixel & pick) ^ onOff; } } - if (yp >= var24) + if (yp >= tmpHeight) destP += widthDiff2; } } else { -- cgit v1.2.3 From 35362716334b83e3af61280a1ffa79198c3285e6 Mon Sep 17 00:00:00 2001 From: Filippos Karapetis Date: Thu, 20 Feb 2014 12:27:32 +0200 Subject: NEVERHOOD: Fix an off-by-one error in Klogg's letters This fixes the buggy Willie letter appearing among the ones from Klogg (bug #6513) --- engines/neverhood/modules/module1000.cpp | 6 +++--- engines/neverhood/modules/module1000.h | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/engines/neverhood/modules/module1000.cpp b/engines/neverhood/modules/module1000.cpp index cdeb457df5..a3b5bc67b5 100644 --- a/engines/neverhood/modules/module1000.cpp +++ b/engines/neverhood/modules/module1000.cpp @@ -609,7 +609,7 @@ uint32 Scene1005::getTextIndex() { uint32 textIndex; textIndex = getTextIndex1(); if (getGlobalVar(V_ENTRANCE_OPEN)) { - textIndex = getTextIndex2(); + textIndex = getKloggsTextIndex(); } if (getGlobalVar(V_TEXT_FLAG1) && getGlobalVar(V_TEXT_INDEX) == textIndex) { textIndex = getTextIndex3(); @@ -690,9 +690,9 @@ uint32 Scene1005::getTextIndex1() { return textIndex; } -uint32 Scene1005::getTextIndex2() { +uint32 Scene1005::getKloggsTextIndex() { uint32 textIndex = getGlobalVar(V_TEXT_COUNTING_INDEX1); - if (textIndex + 1 >= 10) { + if (textIndex + 1 > 10) { setGlobalVar(V_TEXT_COUNTING_INDEX1, 0); textIndex = 0; } else { diff --git a/engines/neverhood/modules/module1000.h b/engines/neverhood/modules/module1000.h index d2afaf69ee..58aa92e45f 100644 --- a/engines/neverhood/modules/module1000.h +++ b/engines/neverhood/modules/module1000.h @@ -101,7 +101,7 @@ protected: void drawTextToBackground(); uint32 getTextIndex(); uint32 getTextIndex1(); - uint32 getTextIndex2(); + uint32 getKloggsTextIndex(); uint32 getTextIndex3(); }; -- cgit v1.2.3 From f8a956777385163b3a77cf7f4de4770b70fc89b9 Mon Sep 17 00:00:00 2001 From: Johannes Schickel Date: Thu, 20 Feb 2014 14:20:57 +0100 Subject: DREAMWEB: Slight formatting fix. --- engines/dreamweb/use.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/engines/dreamweb/use.cpp b/engines/dreamweb/use.cpp index 01aefd97e6..c393fa1173 100644 --- a/engines/dreamweb/use.cpp +++ b/engines/dreamweb/use.cpp @@ -73,7 +73,7 @@ void DreamWebEngine::useRoutine() { { &DreamWebEngine::openLouis, "ENTA" }, { &DreamWebEngine::openRyan, "ENTB" }, { &DreamWebEngine::openPoolBoss, "ENTE" }, - { &DreamWebEngine::openYourNeighbor, "ENTC" }, + { &DreamWebEngine::openYourNeighbor, "ENTC" }, { &DreamWebEngine::openEden, "ENTD" }, { &DreamWebEngine::openSarters, "ENTH" }, { &DreamWebEngine::wearWatch, "WWAT" }, -- cgit v1.2.3 From 37b147d9503b0614983d7072be60c2708ade0800 Mon Sep 17 00:00:00 2001 From: uruk Date: Thu, 20 Feb 2014 14:41:42 +0100 Subject: AVALANCHE: Repair out of bound read in Help::handleMouse(). --- engines/avalanche/help.cpp | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/engines/avalanche/help.cpp b/engines/avalanche/help.cpp index b667ad090d..5d3247ba9a 100644 --- a/engines/avalanche/help.cpp +++ b/engines/avalanche/help.cpp @@ -180,6 +180,7 @@ bool Help::handleMouse(const Common::Event &event) { } else { // LBUTTONDOWN or MOUSEMOVE int highlightIs = 0; + // Decide which button we are hovering the cursor over: if ((mousePos.x > 470) && (mousePos.x <= 550) && (((mousePos.y - 13) % 27) <= 20)) { // No click, so highlight. highlightIs = (mousePos.y - 13) / 27 - 1; if ((highlightIs < 0) || (5 < highlightIs)) @@ -187,20 +188,21 @@ bool Help::handleMouse(const Common::Event &event) { } else highlightIs = 177; - if (((highlightIs != 177) && (event.type == Common::EVENT_LBUTTONDOWN)) || _holdLeft) { + Color highlightColor = kColorLightblue; + // If we clicked on a button or we are holding down the button, we have to highlight it with cyan: + if (((highlightIs != 177) && ((event.type == Common::EVENT_LBUTTONDOWN)) || _holdLeft)) { _holdLeft = true; - highlightIs += 32; + highlightColor = kColorLightcyan; } - if (_highlightWas != highlightIs) { + // Erase the previous highlight only if it's needed: + if (_highlightWas != highlightIs) _vm->_graphics->helpDrawHighlight(_highlightWas, kColorBlue); + + // Highligt the current one with the proper color: + if (_buttons[highlightIs]._trigger != Common::KEYCODE_INVALID) { _highlightWas = highlightIs; - if (_buttons[highlightIs & 31]._trigger != Common::KEYCODE_INVALID) { - if (highlightIs > 31) - _vm->_graphics->helpDrawHighlight(highlightIs, kColorLightcyan); - else - _vm->_graphics->helpDrawHighlight(highlightIs, kColorLightblue); - } + _vm->_graphics->helpDrawHighlight(highlightIs, highlightColor); } } -- cgit v1.2.3 From e03ccde6e9d13a56ca1b8e1264df1f936a234f40 Mon Sep 17 00:00:00 2001 From: uruk Date: Thu, 20 Feb 2014 15:02:22 +0100 Subject: AVALANCHE: Implement ShootEmUp::animate() and connected functions. --- engines/avalanche/shootemup.cpp | 36 ++++++++++++++++++++++++++++++------ engines/avalanche/shootemup.h | 5 +++-- 2 files changed, 33 insertions(+), 8 deletions(-) diff --git a/engines/avalanche/shootemup.cpp b/engines/avalanche/shootemup.cpp index 2e689b870d..70b26d267f 100644 --- a/engines/avalanche/shootemup.cpp +++ b/engines/avalanche/shootemup.cpp @@ -87,6 +87,7 @@ ShootEmUp::ShootEmUp(AvalancheEngine *vm) { _cp = false; _wasFacing = 0; _score = 0; + _escapeStock = 0; } void ShootEmUp::run() { @@ -143,9 +144,13 @@ bool ShootEmUp::overlap(uint16 a1x, uint16 a1y, uint16 a2x, uint16 a2y, uint16 b return (a2x >= b1x) && (b2x >= a1x) && (a2y >= b1y) && (b2y >= a1y); } -byte ShootEmUp::getStockNumber(byte x) { - warning("STUB: ShootEmUp::getStockNumber()"); - return 0; +byte ShootEmUp::getStockNumber(byte index) { + while (_hasEscaped[index]) { + index++; + if (index == 7) + index = 0; + } + return index; } void ShootEmUp::blankIt() { @@ -211,8 +216,17 @@ void ShootEmUp::defineCameo(int16 xx, int16 yy, byte pp, int16 time) { warning("STUB: ShootEmUp::defineCameo()"); } -void ShootEmUp::showStock(byte x) { - warning("STUB: ShootEmUp::showStock()"); +void ShootEmUp::showStock(byte index) { + if (_escaping && (index == _escapeStock)) { + _vm->_graphics->seuDrawPicture(index * 90 + 20, 30, kStocks + 2); + return; + } + + if (_stockStatus[index] > 5) + return; + + _vm->_graphics->seuDrawPicture(index * 90 + 20, 30, kStocks + _stockStatus[index]); + _stockStatus[index] = 1 - _stockStatus[index]; } void ShootEmUp::drawNumber(int number, int size, int x) { @@ -404,7 +418,17 @@ void ShootEmUp::readKbd() { } void ShootEmUp::animate() { - warning("STUB: ShootEmUp::animate()"); + if (_vm->_rnd->getRandomNumber(9) == 1) + showStock(getStockNumber(_vm->_rnd->getRandomNumber(5))); + for (int i = 0; i < 7; i++) { + if (_stockStatus[i] > 5) { + _stockStatus[i]--; + if (_stockStatus[i] == 8) { + _stockStatus[i] = 0; + showStock(i); + } + } + } } void ShootEmUp::collisionCheck() { diff --git a/engines/avalanche/shootemup.h b/engines/avalanche/shootemup.h index b3561aceae..9162282e65 100644 --- a/engines/avalanche/shootemup.h +++ b/engines/avalanche/shootemup.h @@ -91,16 +91,17 @@ private: byte _timeThisSecond; bool _cp; byte _wasFacing; + byte _escapeStock; bool overlap(uint16 a1x, uint16 a1y, uint16 a2x, uint16 a2y, uint16 b1x, uint16 b1y, uint16 b2x, uint16 b2y); - byte getStockNumber(byte x); + byte getStockNumber(byte index); void blankIt(); void moveThem(); void blank(Common::Rect rect); void plotThem(); void define(int16 x, int16 y, byte p, int8 ix, int8 iy, int16 time, bool isAMissile, bool doWeWipe); void defineCameo(int16 xx, int16 yy, byte pp, int16 time); - void showStock(byte x); + void showStock(byte index); void drawNumber(int number, int size, int x); void showScore(); void showTime(); -- cgit v1.2.3 From ad9a8df66dafd2a44a3a9e3869b1ec6948a5dabf Mon Sep 17 00:00:00 2001 From: uruk Date: Thu, 20 Feb 2014 15:28:46 +0100 Subject: AVALANCHE: Implement ShootEmUp::escapeCheck(). --- engines/avalanche/shootemup.cpp | 37 ++++++++++++++++++++++++++++++++++++- engines/avalanche/shootemup.h | 1 + 2 files changed, 37 insertions(+), 1 deletion(-) diff --git a/engines/avalanche/shootemup.cpp b/engines/avalanche/shootemup.cpp index 70b26d267f..4224b7f2e7 100644 --- a/engines/avalanche/shootemup.cpp +++ b/engines/avalanche/shootemup.cpp @@ -88,6 +88,7 @@ ShootEmUp::ShootEmUp(AvalancheEngine *vm) { _wasFacing = 0; _score = 0; _escapeStock = 0; + _gotOut = false; } void ShootEmUp::run() { @@ -524,7 +525,41 @@ void ShootEmUp::hitPeople() { } void ShootEmUp::escapeCheck() { - warning("STUB: ShootEmUp::escapeCheck()"); + if (_count321 != 0) + return; + + if (_escapeCount > 0) { + _escapeCount--; + return; + } + + // Escape_count = 0; now what ? + + if (_escaping) { + if (_gotOut) { + newEscape(); + _escaping = false; + _vm->_graphics->seuDrawPicture(_escapeStock * 90 + 20, 30, kStocks + 4); + } else { + _vm->_graphics->seuDrawPicture(_escapeStock * 90 + 20, 30, kStocks + 5); + _escapeCount = 20; + _gotOut = true; + define(_escapeStock * 90 + 20, 50, 25, 0, 2, 17, false, true); // Escaped! + gain(-10); + _hasEscaped[_escapeStock] = true; + + _howManyHaveEscaped++; + + if (_howManyHaveEscaped == 7) + _time = 0; + } + } else { + _escapeStock = getStockNumber(_vm->_rnd->getRandomNumber(6)); + _escaping = true; + _gotOut = false; + _vm->_graphics->seuDrawPicture(_escapeStock * 90 + 20, 30, kStocks + 2); // Smiling! + _escapeCount = 200; + } } void ShootEmUp::check321() { diff --git a/engines/avalanche/shootemup.h b/engines/avalanche/shootemup.h index 9162282e65..9e9747bc8e 100644 --- a/engines/avalanche/shootemup.h +++ b/engines/avalanche/shootemup.h @@ -92,6 +92,7 @@ private: bool _cp; byte _wasFacing; byte _escapeStock; + bool _gotOut; bool overlap(uint16 a1x, uint16 a1y, uint16 a2x, uint16 a2y, uint16 b1x, uint16 b1y, uint16 b2x, uint16 b2y); byte getStockNumber(byte index); -- cgit v1.2.3 From 808a59bdf26ce1bac620c9d6e9a67b815d22696a Mon Sep 17 00:00:00 2001 From: uruk Date: Thu, 20 Feb 2014 15:59:14 +0100 Subject: AVALANCHE: Implement ShootEmUp::collisionCheck(). --- engines/avalanche/shootemup.cpp | 36 +++++++++++++++++++++++++++++++++++- 1 file changed, 35 insertions(+), 1 deletion(-) diff --git a/engines/avalanche/shootemup.cpp b/engines/avalanche/shootemup.cpp index 4224b7f2e7..00e74ccd3b 100644 --- a/engines/avalanche/shootemup.cpp +++ b/engines/avalanche/shootemup.cpp @@ -433,7 +433,41 @@ void ShootEmUp::animate() { } void ShootEmUp::collisionCheck() { - warning("STUB: ShootEmUp::collisionCheck()"); + for (int i = 0; i < 99; i++) { + if ((_sprites[i]._x != kFlag) && (_sprites[i]._missile) && + (_sprites[i]._y < 60) && (_sprites[i]._timeout == 1)) { + int distFromSide = (_sprites[i]._x - 20) % 90; + int thisStock = (_sprites[i]._x - 20) / 90; + if ((!_hasEscaped[thisStock]) && (distFromSide > 17) && (distFromSide < 34)) { + _vm->_sound->playNote(999, 3); + _vm->_system->delayMillis(3); + define(_sprites[i]._x + 20, _sprites[i]._y, 26 + _vm->_rnd->getRandomNumber(1), 3, 1, 12, false, true); // Well done! + define(thisStock * 90 + 20, 30, 31, 0, 0, 7, false, false); // Face of man + defineCameo(thisStock * 90 + 20 + 10, 35, 40, 7); // Splat! + define(thisStock * 90 + 20 + 20, 50, 34 + _vm->_rnd->getRandomNumber(4), 0, 2, 9, false, true); // Oof! + _stockStatus[thisStock] = 17; + gain(3); // Score for hitting a face. + + if (_escaping && (_escapeStock = thisStock)) { // Hit the escaper. + _vm->_sound->playNote(1777, 1); + _vm->_system->delayMillis(1); + gain(5); // Bonus for hitting escaper. + _escaping = false; + newEscape(); + } + } else { + define(_sprites[i]._x, _sprites[i]._y, 83 + _vm->_rnd->getRandomNumber(2), 2, 2, 17, false, true); // Missed! + if ((!_hasEscaped[thisStock]) && (distFromSide > 3) && (distFromSide < 43)) { + define(thisStock * 90 + 20, 30, 30, 0, 0, 7, false, false); // Face of man + if (distFromSide > 35) + defineCameo(_sprites[i]._x - 27, 35, 40, 7); // Splat! + else + defineCameo(_sprites[i]._x - 7, 35, 40, 7); + _stockStatus[thisStock] = 17; + } + } + } + } } void ShootEmUp::turnAround(byte who, bool randomX) { -- cgit v1.2.3 From 906140e752d0084d7d7e2ec0c59cafcaed06843a Mon Sep 17 00:00:00 2001 From: Eugene Sandulenko Date: Thu, 20 Feb 2014 22:29:30 +0200 Subject: FULLPIPE: Implement sceneHandler09_eatBall() --- engines/fullpipe/scenes/scene09.cpp | 59 ++++++++++++++++++++++++++++++++++++- 1 file changed, 58 insertions(+), 1 deletion(-) diff --git a/engines/fullpipe/scenes/scene09.cpp b/engines/fullpipe/scenes/scene09.cpp index f8a78bedff..7952985633 100644 --- a/engines/fullpipe/scenes/scene09.cpp +++ b/engines/fullpipe/scenes/scene09.cpp @@ -301,7 +301,64 @@ void sceneHandler09_spitterClick() { } void sceneHandler09_eatBall() { - warning("STUB: sceneHandler09_eatBall()"); + if (g_vars->scene09_flyingBall) { + g_vars->scene09_flyingBall->hide(); + + Ball *ball = g_vars->scene09_balls.pHead; + if (ball) { + while (ball && ball->ani != g_vars->scene09_flyingBall) + ball = ball->p0; + + if (ball) { + if (ball == g_vars->scene09_balls.pHead) + g_vars->scene09_balls.pHead = ball->p0; + else + ball->p1->p0 = ball->p0; + + if (ball == g_vars->scene09_balls.field_8) + g_vars->scene09_balls.field_8 = ball->p1; + else + ball->p0->p1 = ball->p1; + + ball->p0 = g_vars->scene09_balls.pTail; + g_vars->scene09_balls.pTail = ball; + + g_vars->scene09_balls.numBalls--; + + if (!g_vars->scene09_balls.numBalls) + g_vars->scene09_balls.reset(); + } + } + + ball = g_vars->scene09_var07.sub04(g_vars->scene09_var07.field_8, 0); + ball->ani = g_vars->scene09_flyingBall; + + if (g_vars->scene09_var07.field_8) + g_vars->scene09_var07.field_8->p0 = ball; + else + g_vars->scene09_var07.pHead = ball; + + g_vars->scene09_var07.field_8 = ball; + + g_vars->scene09_flyingBall = 0; + g_vars->scene09_var05++; + + if (g_vars->scene09_var05 >= 3) { + MessageQueue *mq = g_vars->scene09_glotatel->getMessageQueue(); + + if (mq) { + ExCommand *ex = new ExCommand(ANI_GLOTATEL, 1, MV_GLT_FLYAWAY, 0, 0, 0, 1, 0, 0, 0); + ex->_excFlags |= 2; + + mq->addExCommandToEnd(ex); + } + + g_fp->setObjectState(sO_Jug, g_fp->getObjectEnumState(sO_Jug, sO_Unblocked)); + g_fp->setObjectState(sO_RightStairs_9, g_fp->getObjectEnumState(sO_RightStairs_9, sO_IsOpened)); + + g_vars->scene09_var08 = 0; + } + } } void sceneHandler09_showBall() { -- cgit v1.2.3 From 5a5783841691882b914e6c6804baf3031e967ace Mon Sep 17 00:00:00 2001 From: Strangerke Date: Thu, 20 Feb 2014 21:31:19 +0100 Subject: VOYEUR: Add iForcedDeath as a boot parameter --- engines/voyeur/voyeur.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/engines/voyeur/voyeur.cpp b/engines/voyeur/voyeur.cpp index 9731968aaf..3f9e74d4b1 100644 --- a/engines/voyeur/voyeur.cpp +++ b/engines/voyeur/voyeur.cpp @@ -40,7 +40,11 @@ VoyeurEngine::VoyeurEngine(OSystem *syst, const VoyeurGameDescription *gameDesc) _defaultFontInfo(3, 0xff, 0xff, 0, 0, ALIGN_LEFT, 0, Common::Point(), 1, 1, Common::Point(1, 1), 1, 0, 0) { _bVoy = NULL; - _iForceDeath = -1; + + _iForceDeath = ConfMan.getInt("boot_param"); + if (_iForceDeath < 1 || _iForceDeath > 4) + _iForceDeath = -1; + _controlPtr = NULL; _stampFlags = 0; _playStampGroupId = _currentVocId = 0; -- cgit v1.2.3 From 4e80bb12d46198f39aa3fee7c13f6aa62e27ba60 Mon Sep 17 00:00:00 2001 From: Strangerke Date: Thu, 20 Feb 2014 21:50:34 +0100 Subject: VOYEUR: Fix crash introduced in 4065c795277bbb4cb2db6dbd8fef145b6c5c6c7f --- engines/voyeur/graphics.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/engines/voyeur/graphics.cpp b/engines/voyeur/graphics.cpp index 00d6c02d4e..55908334f6 100644 --- a/engines/voyeur/graphics.cpp +++ b/engines/voyeur/graphics.cpp @@ -138,10 +138,15 @@ void GraphicsManager::sDrawPic(DisplayResource *srcDisplay, DisplayResource *des if (srcDisplay->_flags & DISPFLAG_VIEWPORT) { // A viewport was passed, not a picture srcPic = ((ViewPortResource *)srcDisplay)->_currentPic; + } else { + srcPic = (PictureResource *)srcDisplay; + } + + if (destDisplay->_flags & DISPFLAG_VIEWPORT) { + // A viewport was passed, not a picture destViewPort = (ViewPortResource *)destDisplay; destPic = destViewPort->_currentPic; } else { - srcPic = (PictureResource *)srcDisplay; destPic = (PictureResource *)destDisplay; } -- cgit v1.2.3 From 0b4a2ba0a81f092935e727353e89cb146fc380ce Mon Sep 17 00:00:00 2001 From: uruk Date: Thu, 20 Feb 2014 22:25:34 +0100 Subject: AVALANCHE: Implement ShootEmUp::updateTime(). --- engines/avalanche/shootemup.cpp | 24 +++++++++++++++++++++++- engines/avalanche/shootemup.h | 2 ++ 2 files changed, 25 insertions(+), 1 deletion(-) diff --git a/engines/avalanche/shootemup.cpp b/engines/avalanche/shootemup.cpp index 00e74ccd3b..e1a6280dc1 100644 --- a/engines/avalanche/shootemup.cpp +++ b/engines/avalanche/shootemup.cpp @@ -40,6 +40,8 @@ const long int ShootEmUp::kFlag = -20047; const byte ShootEmUp::kFrameDelayMax = 2; const byte ShootEmUp::kAvvyY = 150; const byte ShootEmUp::kShooting[7] = { 87, 80, 81, 82, 81, 80, 87 }; +const byte ShootEmUp::kTimesASecond = 18; +const byte ShootEmUp::kFlashTime = 20; // If flash_time is <= this, the word "time" will flash. Should be about 20. ShootEmUp::ShootEmUp(AvalancheEngine *vm) { _vm = vm; @@ -532,7 +534,27 @@ void ShootEmUp::peopleRunning() { } void ShootEmUp::updateTime() { - warning("STUB: ShootEmUp::updateTime()"); + if (_count321 != 0) + return; + + _timeThisSecond++; + + if (_timeThisSecond < kTimesASecond) + return; + + _time--; + showTime(); + _timeThisSecond = 0; + + if (_time < kFlashTime) { + int timeMode = 0; + if ((_time % 2) == 1) + timeMode = 20; // Normal 'Time:' + else + timeMode = 86; // Flash 'Time:' + + _vm->_graphics->seuDrawPicture(110, 0, timeMode); + } } void ShootEmUp::hitPeople() { diff --git a/engines/avalanche/shootemup.h b/engines/avalanche/shootemup.h index 9e9747bc8e..36ef8d0e73 100644 --- a/engines/avalanche/shootemup.h +++ b/engines/avalanche/shootemup.h @@ -66,6 +66,8 @@ private: static const byte kFrameDelayMax; static const byte kAvvyY; static const byte kShooting[7]; + static const byte kTimesASecond; + static const byte kFlashTime; AvalancheEngine *_vm; -- cgit v1.2.3 From 401b85eb214e6980e8d030cf36bd55d78371d732 Mon Sep 17 00:00:00 2001 From: uruk Date: Thu, 20 Feb 2014 22:31:03 +0100 Subject: AVALANCHE: Implement ShootEmUp::check321(). --- engines/avalanche/shootemup.cpp | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/engines/avalanche/shootemup.cpp b/engines/avalanche/shootemup.cpp index e1a6280dc1..51bc714c28 100644 --- a/engines/avalanche/shootemup.cpp +++ b/engines/avalanche/shootemup.cpp @@ -619,7 +619,25 @@ void ShootEmUp::escapeCheck() { } void ShootEmUp::check321() { - warning("STUB: ShootEmUp::check321()"); + if (_count321 == 0) + return; + + _count321--; + + switch (_count321) { + case 84: + define(320, 60, 16, 2, 1, 94, false, true); + break; + case 169: + define(320, 60, 15, 0, 1, 94, false, true); + break; + case 254: + define(320, 60, 14, -2, 1, 94, false, true); + define(0, 100, 18, 2, 0, 254, false, true); + break; + default: + break; + } } } // End of namespace Avalanche -- cgit v1.2.3 From 614006c1e575df5ca03059669e435aedd64e8db1 Mon Sep 17 00:00:00 2001 From: uruk Date: Thu, 20 Feb 2014 22:43:29 +0100 Subject: AVALANCHE: Implement ShootEmUp::defineCameo(). --- engines/avalanche/shootemup.cpp | 17 +++++++++++++++-- engines/avalanche/shootemup.h | 2 +- 2 files changed, 16 insertions(+), 3 deletions(-) diff --git a/engines/avalanche/shootemup.cpp b/engines/avalanche/shootemup.cpp index 51bc714c28..5f48c2f6dd 100644 --- a/engines/avalanche/shootemup.cpp +++ b/engines/avalanche/shootemup.cpp @@ -215,8 +215,21 @@ void ShootEmUp::define(int16 x, int16 y, byte p, int8 ix, int8 iy, int16 time, b } } -void ShootEmUp::defineCameo(int16 xx, int16 yy, byte pp, int16 time) { - warning("STUB: ShootEmUp::defineCameo()"); +void ShootEmUp::defineCameo(int16 x, int16 y, byte p, int16 time) { + for (int i = 0; i < 99; i++) { + if (_sprites[i]._x == kFlag) { + _sprites[i]._x = x; + _sprites[i]._y = y; + _sprites[i]._p = p; + _sprites[i]._ix = 0; + _sprites[i]._iy = 0; + _sprites[i]._timeout = time; + _sprites[i]._cameo = true; + _sprites[i]._cameoFrame = p + 1; + _sprites[i]._missile = false; + _sprites[i]._wipe = false; + } + } } void ShootEmUp::showStock(byte index) { diff --git a/engines/avalanche/shootemup.h b/engines/avalanche/shootemup.h index 36ef8d0e73..d0df763715 100644 --- a/engines/avalanche/shootemup.h +++ b/engines/avalanche/shootemup.h @@ -103,7 +103,7 @@ private: void blank(Common::Rect rect); void plotThem(); void define(int16 x, int16 y, byte p, int8 ix, int8 iy, int16 time, bool isAMissile, bool doWeWipe); - void defineCameo(int16 xx, int16 yy, byte pp, int16 time); + void defineCameo(int16 x, int16 y, byte p, int16 time); void showStock(byte index); void drawNumber(int number, int size, int x); void showScore(); -- cgit v1.2.3 From a3d4908e53d812cfcc2fd93fbb067345afa577c6 Mon Sep 17 00:00:00 2001 From: uruk Date: Thu, 20 Feb 2014 23:06:49 +0100 Subject: AVALANCHE: Put a necessary delay into ShootEmUp's main loop. --- engines/avalanche/shootemup.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/engines/avalanche/shootemup.cpp b/engines/avalanche/shootemup.cpp index 5f48c2f6dd..02d65772ae 100644 --- a/engines/avalanche/shootemup.cpp +++ b/engines/avalanche/shootemup.cpp @@ -116,6 +116,8 @@ void ShootEmUp::run() { setup(); do { + uint32 beginLoop = _vm->_system->getMillis(); + blankIt(); hitPeople(); plotThem(); @@ -133,6 +135,11 @@ void ShootEmUp::run() { _cp = !_cp; _vm->_graphics->refreshScreen(); + + uint32 delay = _vm->_system->getMillis() - beginLoop; + if (delay <= 55) + _vm->_system->delayMillis(55 - delay); // Replaces slowdown(); 55 comes from 18.2 Hz (B Flight). + } while (_time != 0); _vm->fadeOut(); -- cgit v1.2.3 From acdfcb527294a1b44f647fe4c91115ee0918a6f6 Mon Sep 17 00:00:00 2001 From: uruk Date: Thu, 20 Feb 2014 23:28:34 +0100 Subject: AVALANCHE: Repair ShootEmUp::plotThem(). --- engines/avalanche/shootemup.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/engines/avalanche/shootemup.cpp b/engines/avalanche/shootemup.cpp index 02d65772ae..baf51a2ebd 100644 --- a/engines/avalanche/shootemup.cpp +++ b/engines/avalanche/shootemup.cpp @@ -200,7 +200,7 @@ void ShootEmUp::plotThem() { if (_sprites[i]._timeout > 0) { _sprites[i]._timeout--; if (_sprites[i]._timeout == 0) - _sprites[i]._y = kFlag; + _sprites[i]._x = kFlag; } } } -- cgit v1.2.3 From 73223fd1914306e8332b315033633097f78ddabc Mon Sep 17 00:00:00 2001 From: uruk Date: Thu, 20 Feb 2014 23:30:12 +0100 Subject: AVALANCHE: Repair ShootEmUp::define() and ShootEmUp::defineCameo(). --- engines/avalanche/shootemup.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/engines/avalanche/shootemup.cpp b/engines/avalanche/shootemup.cpp index baf51a2ebd..1ade16fe02 100644 --- a/engines/avalanche/shootemup.cpp +++ b/engines/avalanche/shootemup.cpp @@ -218,6 +218,7 @@ void ShootEmUp::define(int16 x, int16 y, byte p, int8 ix, int8 iy, int16 time, b _sprites[i]._cameo = false; _sprites[i]._missile = isAMissile; _sprites[i]._wipe = doWeWipe; + return; } } } @@ -235,6 +236,7 @@ void ShootEmUp::defineCameo(int16 x, int16 y, byte p, int16 time) { _sprites[i]._cameoFrame = p + 1; _sprites[i]._missile = false; _sprites[i]._wipe = false; + return; } } } -- cgit v1.2.3 From db34e0ce0d499257df73574f1d9a70312280716b Mon Sep 17 00:00:00 2001 From: uruk Date: Thu, 20 Feb 2014 23:34:22 +0100 Subject: AVALANCHE: Repair ShootEmUp::gain(). --- engines/avalanche/shootemup.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/engines/avalanche/shootemup.cpp b/engines/avalanche/shootemup.cpp index 1ade16fe02..2c4777ea07 100644 --- a/engines/avalanche/shootemup.cpp +++ b/engines/avalanche/shootemup.cpp @@ -275,7 +275,7 @@ void ShootEmUp::showTime() { } void ShootEmUp::gain(int8 howMuch) { - if ((_score + howMuch) == 0) // howMuch can be negative! + if ((_score + howMuch) < 0) // howMuch can be negative! _score = 0; else _score += howMuch; -- cgit v1.2.3 From 36a4cda68eda54296d84c647be73863722d6f26a Mon Sep 17 00:00:00 2001 From: Strangerke Date: Thu, 20 Feb 2014 23:34:56 +0100 Subject: VOYEUR: Fix comment related to iForcedDeath --- engines/voyeur/voyeur.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/engines/voyeur/voyeur.cpp b/engines/voyeur/voyeur.cpp index 3f9e74d4b1..7bfb4a74c4 100644 --- a/engines/voyeur/voyeur.cpp +++ b/engines/voyeur/voyeur.cpp @@ -73,8 +73,7 @@ Common::Error VoyeurEngine::run() { globalInitBolt(); // The original allows the victim to be explicitly specified via the command line. - // We don't currently support this in ScummVM, but I'm leaving the code below - // in case we ever want to make use of it. + // This is possible in ScummVM by using a boot parameter. if (_iForceDeath >= 1 && _iForceDeath <= 4) _voy._eventFlags |= EVTFLAG_VICTIM_PRESET; -- cgit v1.2.3 From 691ac84f3676e5ce92ef8bc2727ccbcacc29c5cd Mon Sep 17 00:00:00 2001 From: Strangerke Date: Thu, 20 Feb 2014 23:35:20 +0100 Subject: VOYEUR: Fix some shadowed variables and functions in file handlers --- engines/voyeur/files.cpp | 38 +++++++++++++++++++------------------- engines/voyeur/files_threads.cpp | 2 +- 2 files changed, 20 insertions(+), 20 deletions(-) diff --git a/engines/voyeur/files.cpp b/engines/voyeur/files.cpp index 00219d56be..35e426bd66 100644 --- a/engines/voyeur/files.cpp +++ b/engines/voyeur/files.cpp @@ -711,10 +711,10 @@ RectResource::RectResource(const byte *src, int size, bool isExtendedRects) { } for (int i = 0; i < count; ++i, src += 8) { - int arrIndex = 0, count = 0; + int arrIndex = 0, rectCount = 0; if (isExtendedRects) { arrIndex = READ_LE_UINT16(src); - count = READ_LE_UINT16(src + 2); + rectCount = READ_LE_UINT16(src + 2); src += 4; } @@ -723,7 +723,7 @@ RectResource::RectResource(const byte *src, int size, bool isExtendedRects) { int x2 = READ_LE_UINT16(src + 4); int y2 = READ_LE_UINT16(src + 6); - _entries.push_back(RectEntry(x1, y1, x2, y2, arrIndex, count)); + _entries.push_back(RectEntry(x1, y1, x2, y2, arrIndex, rectCount)); } left = _entries[0].left; @@ -766,36 +766,36 @@ void DisplayResource::sFillBox(int width, int height) { } bool DisplayResource::clipRect(Common::Rect &rect) { - Common::Rect clipRect; + Common::Rect clippingRect; if (_vm->_graphicsManager._clipPtr) { - clipRect = *_vm->_graphicsManager._clipPtr; + clippingRect = *_vm->_graphicsManager._clipPtr; } else if (_flags & DISPFLAG_VIEWPORT) { - clipRect = ((ViewPortResource *)this)->_clipRect; + clippingRect = ((ViewPortResource *)this)->_clipRect; } else { - clipRect = ((PictureResource *)this)->_bounds; + clippingRect = ((PictureResource *)this)->_bounds; } Common::Rect r = rect; - if (r.left < clipRect.left) { - if (r.right <= clipRect.left) + if (r.left < clippingRect.left) { + if (r.right <= clippingRect.left) return false; - r.setWidth(r.right - clipRect.left); + r.setWidth(r.right - clippingRect.left); } - if (r.right >= clipRect.right) { - if (r.left >= clipRect.left) + if (r.right >= clippingRect.right) { + if (r.left >= clippingRect.left) return false; - r.setWidth(clipRect.right - r.left); + r.setWidth(clippingRect.right - r.left); } - if (r.top < clipRect.top) { - if (r.bottom <= clipRect.top) + if (r.top < clippingRect.top) { + if (r.bottom <= clippingRect.top) return false; - r.setHeight(r.bottom - clipRect.top); + r.setHeight(r.bottom - clippingRect.top); } - if (r.bottom >= clipRect.bottom) { - if (r.top >= clipRect.top) + if (r.bottom >= clippingRect.bottom) { + if (r.top >= clippingRect.top) return false; - r.setWidth(clipRect.bottom - r.top); + r.setWidth(clippingRect.bottom - r.top); } rect = r; diff --git a/engines/voyeur/files_threads.cpp b/engines/voyeur/files_threads.cpp index 42446f72b7..501e62b66b 100644 --- a/engines/voyeur/files_threads.cpp +++ b/engines/voyeur/files_threads.cpp @@ -751,7 +751,7 @@ const byte *ThreadResource::cardPerform(const byte *card) { idx2 = *card++; int &v1 = _vm->_controlPtr->_state->_vals[idx1]; - int &v2 = _vm->_controlPtr->_state->_vals[idx2]; + v2 = _vm->_controlPtr->_state->_vals[idx2]; v1 *= v2; break; } -- cgit v1.2.3 From 7a17db17a56b47d6297f51cfe392c14440454ef1 Mon Sep 17 00:00:00 2001 From: uruk Date: Thu, 20 Feb 2014 23:47:13 +0100 Subject: AVALANCHE: Repair ShootEmUp::updateTime(). --- engines/avalanche/shootemup.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/engines/avalanche/shootemup.cpp b/engines/avalanche/shootemup.cpp index 2c4777ea07..30dabf62e7 100644 --- a/engines/avalanche/shootemup.cpp +++ b/engines/avalanche/shootemup.cpp @@ -568,7 +568,7 @@ void ShootEmUp::updateTime() { showTime(); _timeThisSecond = 0; - if (_time < kFlashTime) { + if (_time <= kFlashTime) { int timeMode = 0; if ((_time % 2) == 1) timeMode = 20; // Normal 'Time:' -- cgit v1.2.3 From 46b7c1fde4313bea4565284c84d081f3c18d5db1 Mon Sep 17 00:00:00 2001 From: uruk Date: Fri, 21 Feb 2014 00:03:18 +0100 Subject: AVALANCHE: Repair ShootEmUp::setup(). --- engines/avalanche/shootemup.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/engines/avalanche/shootemup.cpp b/engines/avalanche/shootemup.cpp index 30dabf62e7..8b024275a9 100644 --- a/engines/avalanche/shootemup.cpp +++ b/engines/avalanche/shootemup.cpp @@ -366,6 +366,9 @@ void ShootEmUp::setup() { for (int i = 0; i < 4; i++) _running[i]._x = kFlag; + for (int i = 0; i < 99; i++) + _sprites[i]._x = kFlag; + newEscape(); _count321 = 255; // Counting down. -- cgit v1.2.3 From eee040cd294b0be71b1f6688440c8f1e15a3a694 Mon Sep 17 00:00:00 2001 From: Strangerke Date: Fri, 21 Feb 2014 08:05:09 +0100 Subject: VOYEUR: Fix some shadowed variables in GraphicsManager --- engines/voyeur/graphics.cpp | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/engines/voyeur/graphics.cpp b/engines/voyeur/graphics.cpp index 55908334f6..53404c9ef8 100644 --- a/engines/voyeur/graphics.cpp +++ b/engines/voyeur/graphics.cpp @@ -469,16 +469,16 @@ void GraphicsManager::sDrawPic(DisplayResource *srcDisplay, DisplayResource *des } else { // loc_26543 for (int yp = 0; yp < height1; ++yp) { - int runLength = 0; - for (int xp = 0; xp < width2; ++xp, --runLength) { - if (runLength <= 0) { + int runLen = 0; + for (int xp = 0; xp < width2; ++xp, --runLen) { + if (runLen <= 0) { // Start of run length, so get pixel and repeat length pixel = *srcP++; if (pixel & 0x80) { pixel &= 0x7f; - runLength = *srcP++; - if (runLength == 0) - runLength = width2; + runLen = *srcP++; + if (runLen == 0) + runLen = width2; } } @@ -552,7 +552,7 @@ void GraphicsManager::sDrawPic(DisplayResource *srcDisplay, DisplayResource *des if (!(srcFlags & PICFLAG_PIC_OFFSET)) { srcP = srcImgData += srcOffset; - int pixel = 0; + pixel = 0; if (destFlags & PICFLAG_PIC_OFFSET) { destP = destImgData + screenOffset; @@ -569,15 +569,15 @@ void GraphicsManager::sDrawPic(DisplayResource *srcDisplay, DisplayResource *des height1 = tmpHeight + height1; for (int yp = 0; yp < height1; ++yp) { - int runLength = 0; - for (int xp = 0; xp < width2; ++xp, --runLength) { - if (runLength <= 0) { + int runLen = 0; + for (int xp = 0; xp < width2; ++xp, --runLen) { + if (runLen <= 0) { pixel = *srcP++; if (pixel & 0x80) { pixel &= 0x7F; - runLength = *srcP++; - if (!runLength) - runLength = width2; + runLen = *srcP++; + if (!runLen) + runLen = width2; } } @@ -596,7 +596,7 @@ void GraphicsManager::sDrawPic(DisplayResource *srcDisplay, DisplayResource *des destP = (byte *)_screenSurface.getPixels() + screenOffset; for (int yp = 0; yp < height1; ++yp) { - for (int xp = 0; xp < width2; ++xp, ++destP) { + for (int xi = 0; xi < width2; ++xi, ++destP) { byteVal2 = 0; for (int xp = 0; xp < width2; ++xp, ++destP, --byteVal2) { if (!byteVal2) { -- cgit v1.2.3 From 1aa9749beb8abdb972c214dabd1dcefaca236ef3 Mon Sep 17 00:00:00 2001 From: Strangerke Date: Fri, 21 Feb 2014 08:17:56 +0100 Subject: VOYEUR: Fix some shadowed variables in VoyeurEngine --- engines/voyeur/voyeur_game.cpp | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/engines/voyeur/voyeur_game.cpp b/engines/voyeur/voyeur_game.cpp index 123f0f629b..037ef68d94 100644 --- a/engines/voyeur/voyeur_game.cpp +++ b/engines/voyeur/voyeur_game.cpp @@ -425,7 +425,6 @@ void VoyeurEngine::reviewTape() { Common::Rect tempRect(58, 30, 58 + 223, 30 + 124); Common::Point pt; int foundIndex; - int eventNum; _bVoy->getBoltGroup(0x900); PictureResource *cursor = _bVoy->boltEntry(0x903)._picResource; @@ -550,7 +549,7 @@ void VoyeurEngine::reviewTape() { _graphicsManager._backgroundPage->sFillBox(tempRect.width(), tempRect.height()); int yp = 45; - eventNum = eventStart; + int eventNum = eventStart; for (int idx = 0; idx < 8 && eventNum < _voy._eventCount; ++idx, ++eventNum) { _graphicsManager._fontPtr->_picFlags = 0; _graphicsManager._fontPtr->_picSelect = 0xff; @@ -1395,7 +1394,7 @@ void VoyeurEngine::doEvidDisplay(int evidId, int eventId) { if (count == 0 || evidIdx >= eventId) continue; - PictureResource *pic = _voy._evPicPtrs[arrIndex]; + pic = _voy._evPicPtrs[arrIndex]; _graphicsManager.sDrawPic(pic, *_graphicsManager._vPort, Common::Point((384 - pic->_bounds.width()) / 2, (240 - pic->_bounds.height()) / 2)); -- cgit v1.2.3 From 55719452830808fd24a3274734212df22405fd61 Mon Sep 17 00:00:00 2001 From: uruk Date: Fri, 21 Feb 2014 15:33:21 +0100 Subject: AVALANCHE: Repair ShootEmUp::setup(). --- engines/avalanche/shootemup.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/engines/avalanche/shootemup.cpp b/engines/avalanche/shootemup.cpp index 8b024275a9..a2d5289e63 100644 --- a/engines/avalanche/shootemup.cpp +++ b/engines/avalanche/shootemup.cpp @@ -347,11 +347,6 @@ void ShootEmUp::setup() { _score = 0; _time = 120; - for (int i = 0; i < 7; i++) { - _stockStatus[i] = _vm->_rnd->getRandomNumber(1); - showStock(i); - } - _cp = true; _avvyWas = 320; @@ -375,6 +370,11 @@ void ShootEmUp::setup() { _vm->_graphics->blackOutScreen(); + for (int i = 0; i < 7; i++) { + _stockStatus[i] = _vm->_rnd->getRandomNumber(1); + showStock(i); + } + // Set up status line: _vm->_graphics->seuDrawPicture(0, 0, 16); // Score: showScore(); // Value of score (00000 here). -- cgit v1.2.3 From 5580c0b95e11d4035626ddd6efef600385044f76 Mon Sep 17 00:00:00 2001 From: uruk Date: Fri, 21 Feb 2014 15:50:37 +0100 Subject: AVALANCHE: Repair define() and defineCameo() in ShootEmUp. --- engines/avalanche/shootemup.cpp | 6 +++--- engines/avalanche/shootemup.h | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/engines/avalanche/shootemup.cpp b/engines/avalanche/shootemup.cpp index a2d5289e63..783c1f9e20 100644 --- a/engines/avalanche/shootemup.cpp +++ b/engines/avalanche/shootemup.cpp @@ -206,12 +206,12 @@ void ShootEmUp::plotThem() { } } -void ShootEmUp::define(int16 x, int16 y, byte p, int8 ix, int8 iy, int16 time, bool isAMissile, bool doWeWipe) { +void ShootEmUp::define(int16 x, int16 y, int8 p, int8 ix, int8 iy, int16 time, bool isAMissile, bool doWeWipe) { for (int i = 0; i < 99; i++) { if (_sprites[i]._x == kFlag) { _sprites[i]._x = x; _sprites[i]._y = y; - _sprites[i]._p = p; + _sprites[i]._p = p - 1; _sprites[i]._ix = ix; _sprites[i]._iy = iy; _sprites[i]._timeout = time; @@ -223,7 +223,7 @@ void ShootEmUp::define(int16 x, int16 y, byte p, int8 ix, int8 iy, int16 time, b } } -void ShootEmUp::defineCameo(int16 x, int16 y, byte p, int16 time) { +void ShootEmUp::defineCameo(int16 x, int16 y, int8 p, int16 time) { for (int i = 0; i < 99; i++) { if (_sprites[i]._x == kFlag) { _sprites[i]._x = x; diff --git a/engines/avalanche/shootemup.h b/engines/avalanche/shootemup.h index d0df763715..ada39066fd 100644 --- a/engines/avalanche/shootemup.h +++ b/engines/avalanche/shootemup.h @@ -41,7 +41,7 @@ private: struct Sprite { int8 _ix, _iy; int16 _x, _y; - byte _p; + int8 _p; int16 _timeout; bool _cameo; byte _cameoFrame; @@ -102,8 +102,8 @@ private: void moveThem(); void blank(Common::Rect rect); void plotThem(); - void define(int16 x, int16 y, byte p, int8 ix, int8 iy, int16 time, bool isAMissile, bool doWeWipe); - void defineCameo(int16 x, int16 y, byte p, int16 time); + void define(int16 x, int16 y, int8 p, int8 ix, int8 iy, int16 time, bool isAMissile, bool doWeWipe); + void defineCameo(int16 x, int16 y, int8 p, int16 time); void showStock(byte index); void drawNumber(int number, int size, int x); void showScore(); -- cgit v1.2.3 From d23ced0aed643b2d6e3b6a70518f9412652dd817 Mon Sep 17 00:00:00 2001 From: uruk Date: Fri, 21 Feb 2014 16:22:37 +0100 Subject: AVALANCHE: Repair ShootEmUp::plotThem(). --- engines/avalanche/graphics.cpp | 8 ++++++++ engines/avalanche/graphics.h | 2 ++ engines/avalanche/shootemup.cpp | 2 +- 3 files changed, 11 insertions(+), 1 deletion(-) diff --git a/engines/avalanche/graphics.cpp b/engines/avalanche/graphics.cpp index 3b4413ab76..603e294fd8 100644 --- a/engines/avalanche/graphics.cpp +++ b/engines/avalanche/graphics.cpp @@ -779,6 +779,14 @@ void GraphicManager::seuDrawCameo(int destX, int destY, byte w1, byte w2) { drawPicture(_surface, _seuPictures[w1], destX, destY); } +uint16 GraphicManager::seuGetPicWidth(int which) { + return _seuPictures[which].w; +} + +uint16 GraphicManager::seuGetPicHeight(int which) { + return _seuPictures[which].h; +} + /** * This function is for skipping the difference between a stored 'size' value associated with a picture * and the actual size of the pictures when reading them from files for Ghostroom and Shoot em' up. diff --git a/engines/avalanche/graphics.h b/engines/avalanche/graphics.h index 553f993188..86244e9b3c 100644 --- a/engines/avalanche/graphics.h +++ b/engines/avalanche/graphics.h @@ -116,6 +116,8 @@ public: void seuFree(); void seuDrawPicture(int x, int y, byte which); void seuDrawCameo(int destX, int destY, byte w1, byte w2); + uint16 seuGetPicWidth(int which); + uint16 seuGetPicHeight(int which); void clearAlso(); void clearTextBar(); diff --git a/engines/avalanche/shootemup.cpp b/engines/avalanche/shootemup.cpp index 783c1f9e20..1b48aa9433 100644 --- a/engines/avalanche/shootemup.cpp +++ b/engines/avalanche/shootemup.cpp @@ -195,7 +195,7 @@ void ShootEmUp::plotThem() { _vm->_graphics->seuDrawPicture(_sprites[i]._x, _sprites[i]._y, _sprites[i]._p); if (_sprites[i]._wipe) - blank(Common::Rect(_sprites[i]._x, _sprites[i]._y, _sprites[i]._x + _rectangles[i].width(), _sprites[i]._y + _rectangles[i].height())); + blank(Common::Rect(_sprites[i]._x, _sprites[i]._y, _sprites[i]._x + _vm->_graphics->seuGetPicWidth(_sprites[i]._p), _sprites[i]._y + _vm->_graphics->seuGetPicHeight(_sprites[i]._p))); if (_sprites[i]._timeout > 0) { _sprites[i]._timeout--; -- cgit v1.2.3 From cda0598047724433e511182ffd3b17b08233f084 Mon Sep 17 00:00:00 2001 From: Einar Johan Trøan Sømåen Date: Fri, 21 Feb 2014 16:35:47 +0100 Subject: WINTERMUTE: Use the correct field for dpi when loading FreeSans from scummmodern.zip --- engines/wintermute/base/font/base_font_truetype.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/engines/wintermute/base/font/base_font_truetype.cpp b/engines/wintermute/base/font/base_font_truetype.cpp index 1e614d3a84..c5a1e91ef5 100644 --- a/engines/wintermute/base/font/base_font_truetype.cpp +++ b/engines/wintermute/base/font/base_font_truetype.cpp @@ -607,7 +607,7 @@ bool BaseFontTT::initFont() { if (themeArchive->hasFile(fallbackFilename)) { file = nullptr; file = themeArchive->createReadStreamForMember(fallbackFilename); - _deletableFont = Graphics::loadTTFFont(*file, 96, _fontHeight); // Use the same dpi as WME (96 vs 72). + _deletableFont = Graphics::loadTTFFont(*file, _fontHeight, 96); // Use the same dpi as WME (96 vs 72). _font = _deletableFont; } // We're not using BaseFileManager, so clean up after ourselves: -- cgit v1.2.3 From 0def54a60d8a5c6e63bb5db238bbadf388dede97 Mon Sep 17 00:00:00 2001 From: D G Turner Date: Fri, 21 Feb 2014 16:29:23 +0000 Subject: ANDROID: Fix runtime failure on earlier versions of Android. getAxisValue() is only present from Android 3.1 onwards and usage causes a runtime failure on earlier versions of Android. This bug was introduced by a50ede20 with addition of OUYA support. This solution is as recommended on the Android developer portal. --- .../android/org/scummvm/scummvm/ScummVMEvents.java | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/backends/platform/android/org/scummvm/scummvm/ScummVMEvents.java b/backends/platform/android/org/scummvm/scummvm/ScummVMEvents.java index 702215341b..eef5d1911b 100644 --- a/backends/platform/android/org/scummvm/scummvm/ScummVMEvents.java +++ b/backends/platform/android/org/scummvm/scummvm/ScummVMEvents.java @@ -1,5 +1,6 @@ package org.scummvm.scummvm; +import android.os.Build; import android.os.Handler; import android.os.Message; import android.content.Context; @@ -69,13 +70,16 @@ public class ScummVMEvents implements } public boolean onGenericMotionEvent(final MotionEvent e) { - if((e.getSource() & InputDevice.SOURCE_CLASS_JOYSTICK) != 0) { - _scummvm.pushEvent(JE_JOYSTICK, e.getAction(), - (int)(e.getAxisValue(MotionEvent.AXIS_X)*100), - (int)(e.getAxisValue(MotionEvent.AXIS_Y)*100), - 0, 0); - return true; - } + // Make sure we're running on Android 3.1 or higher to use getAxisValue() + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB_MR1) { + if((e.getSource() & InputDevice.SOURCE_CLASS_JOYSTICK) != 0) { + _scummvm.pushEvent(JE_JOYSTICK, e.getAction(), + (int)(e.getAxisValue(MotionEvent.AXIS_X)*100), + (int)(e.getAxisValue(MotionEvent.AXIS_Y)*100), + 0, 0); + return true; + } + } return false; } -- cgit v1.2.3 From 3a6e4b381ede711762694015cb5acdf415e4b30a Mon Sep 17 00:00:00 2001 From: Strangerke Date: Fri, 21 Feb 2014 19:35:37 +0100 Subject: VOYEUR: Fix some more shadowed variables and functions --- engines/voyeur/files.cpp | 20 ++++++++++---------- engines/voyeur/files.h | 4 ++-- engines/voyeur/files_threads.cpp | 2 +- 3 files changed, 13 insertions(+), 13 deletions(-) diff --git a/engines/voyeur/files.cpp b/engines/voyeur/files.cpp index 35e426bd66..78dc121223 100644 --- a/engines/voyeur/files.cpp +++ b/engines/voyeur/files.cpp @@ -1252,7 +1252,7 @@ ViewPortResource::~ViewPortResource() { delete _rectListPtr[i]; } -void ViewPortResource::setupViewPort(PictureResource *page, Common::Rect *clipRect, +void ViewPortResource::setupViewPort(PictureResource *page, Common::Rect *clippingRect, ViewPortSetupPtr setupFn, ViewPortAddPtr addFn, ViewPortRestorePtr restoreFn) { PictureResource *pic = _currentPic; Common::Rect r = _bounds; @@ -1284,24 +1284,24 @@ void ViewPortResource::setupViewPort(PictureResource *page, Common::Rect *clipRe r.setHeight(yDiff <= r.height() ? r.height() - yDiff : 0); } - if (clipRect) { + if (clippingRect) { // Clip based on the passed clip rectangles - xDiff = clipRect->left - r.left; - yDiff = clipRect->top - r.top; + xDiff = clippingRect->left - r.left; + yDiff = clippingRect->top - r.top; if (xDiff > 0) { int width = r.width(); - r.left = clipRect->left; + r.left = clippingRect->left; r.setWidth(xDiff <= width ? width - xDiff : 0); } if (yDiff > 0) { int height = r.height(); - r.top = clipRect->top; + r.top = clippingRect->top; r.setHeight(yDiff <= height ? height - yDiff : 0); } - xDiff = r.right - clipRect->right; - yDiff = r.bottom - clipRect->bottom; + xDiff = r.right - clippingRect->right; + yDiff = r.bottom - clippingRect->bottom; if (xDiff > 0) r.setWidth(xDiff <= r.width() ? r.width() - xDiff : 0); @@ -1325,8 +1325,8 @@ void ViewPortResource::setupViewPort() { &GraphicsManager::restoreMCGASaveRect); } -void ViewPortResource::setupViewPort(PictureResource *pic, Common::Rect *clipRect) { - setupViewPort(pic, clipRect, +void ViewPortResource::setupViewPort(PictureResource *pic, Common::Rect *clippingRect) { + setupViewPort(pic, clippingRect, &GraphicsManager::setupMCGASaveRect, &GraphicsManager::addRectOptSaveRect, &GraphicsManager::restoreMCGASaveRect); } diff --git a/engines/voyeur/files.h b/engines/voyeur/files.h index ffc5937c63..c445afdbb6 100644 --- a/engines/voyeur/files.h +++ b/engines/voyeur/files.h @@ -317,7 +317,7 @@ class ViewPortResource: public DisplayResource { private: BoltFilesState &_state; private: - void setupViewPort(PictureResource *page, Common::Rect *clipRect, ViewPortSetupPtr setupFn, + void setupViewPort(PictureResource *page, Common::Rect *clippingRect, ViewPortSetupPtr setupFn, ViewPortAddPtr addFn, ViewPortRestorePtr restoreFn); public: ViewPortResource *_parent; @@ -346,7 +346,7 @@ public: virtual ~ViewPortResource(); void setupViewPort(); - void setupViewPort(PictureResource *pic, Common::Rect *clipRect = NULL); + void setupViewPort(PictureResource *pic, Common::Rect *clippingRect = NULL); void addSaveRect(int pageIndex, const Common::Rect &r); void fillPic(byte onOff = 0); void drawIfaceTime(); diff --git a/engines/voyeur/files_threads.cpp b/engines/voyeur/files_threads.cpp index 501e62b66b..ee626fd4c9 100644 --- a/engines/voyeur/files_threads.cpp +++ b/engines/voyeur/files_threads.cpp @@ -771,7 +771,7 @@ const byte *ThreadResource::cardPerform(const byte *card) { idx2 = *card++; int &v1 = _vm->_controlPtr->_state->_vals[idx1]; - int &v2 = _vm->_controlPtr->_state->_vals[idx2]; + v2 = _vm->_controlPtr->_state->_vals[idx2]; v1 /= v2; break; } -- cgit v1.2.3 From 8cd0d40cefa1cc9e377deb86f04103c143afdfae Mon Sep 17 00:00:00 2001 From: Strangerke Date: Fri, 21 Feb 2014 19:40:10 +0100 Subject: VOYEUR: reduce the scope of a variable --- engines/voyeur/graphics.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/engines/voyeur/graphics.cpp b/engines/voyeur/graphics.cpp index 53404c9ef8..00f945e174 100644 --- a/engines/voyeur/graphics.cpp +++ b/engines/voyeur/graphics.cpp @@ -111,7 +111,6 @@ void GraphicsManager::addRectNoSaveBack(ViewPortResource *viewPort, int idx, con void GraphicsManager::sDrawPic(DisplayResource *srcDisplay, DisplayResource *destDisplay, const Common::Point &initialOffset) { - int imageDataShift = 0; int width1, width2; int widthDiff, widthDiff2; int height1; @@ -247,6 +246,7 @@ void GraphicsManager::sDrawPic(DisplayResource *srcDisplay, DisplayResource *des } if (srcFlags & DISPFLAG_1000) { + int imageDataShift = 0; srcImgData = srcPic->_imgData + (imageDataShift << 14); for (uint idx = 0; idx < srcPic->_maskData; ++idx) { if (imageDataShift < 4) -- cgit v1.2.3 From 0caa3c0ab82c2868091ce28438bc1b8e8ced770d Mon Sep 17 00:00:00 2001 From: Strangerke Date: Fri, 21 Feb 2014 20:16:39 +0100 Subject: README: add game-specific options for Soltys and Hopkins FBI --- README | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/README b/README index 5391c5f2d6..a6070e4a34 100644 --- a/README +++ b/README @@ -2159,6 +2159,9 @@ Flight of the Amazon Queen adds the following non-standard keywords: music_mute bool If true, music is muted sfx_mute bool If true, sound effects are muted +Hopkins FBI adds the following non-standard keyword: + enable_gore bool If true, enable some optional gore content in the game + Jones in the Fast Lane adds the following non-standard keyword: music_mute bool If true, CD audio is used, if available, @@ -2192,6 +2195,9 @@ Simon the Sorcerer 1 and 2 add the following non-standard keywords: music_mute bool If true, music is muted sfx_mute bool If true, sound effects are muted +Soltys adds the following non-standard keyword: + enable_color_blind bool If true, original colors are replaced by a set of greys + The Legend of Kyrandia adds the following non-standard keyword: walkspeed number The walk speed (0-4) -- cgit v1.2.3 From 7c69516c404b649136a59b9301e3740134536a23 Mon Sep 17 00:00:00 2001 From: Eugene Sandulenko Date: Fri, 21 Feb 2014 21:37:02 +0200 Subject: FULLPIPE: Implement sceneHandler09_checkHangerCollide() --- engines/fullpipe/scenes.cpp | 10 ++++++++-- engines/fullpipe/scenes.h | 2 +- engines/fullpipe/scenes/scene09.cpp | 37 ++++++++++++++++++++++++++++++++++++- 3 files changed, 45 insertions(+), 4 deletions(-) diff --git a/engines/fullpipe/scenes.cpp b/engines/fullpipe/scenes.cpp index 327167a422..6fd3989a3e 100644 --- a/engines/fullpipe/scenes.cpp +++ b/engines/fullpipe/scenes.cpp @@ -172,8 +172,14 @@ Vars::Vars() { scene09_var15 = 0; scene09_var17 = 0; scene09_var19 = 0; - scene09_var18.x = 0; - scene09_var18.y = -15; + scene09_var18[0].x = 0; + scene09_var18[0].y = -15; + scene09_var18[1].x = 15; + scene09_var18[1].y = 0; + scene09_var18[2].x = 0; + scene09_var18[2].y = 0; + scene09_var18[3].x = 0; + scene09_var18[3].y = 0; scene10_gum = 0; scene10_packet = 0; diff --git a/engines/fullpipe/scenes.h b/engines/fullpipe/scenes.h index 6971067b7d..32dfb96c3f 100644 --- a/engines/fullpipe/scenes.h +++ b/engines/fullpipe/scenes.h @@ -367,7 +367,7 @@ public: int scene09_var15; int scene09_var17; int scene09_var19; - Common::Point scene09_var18; + Common::Point scene09_var18[4]; StaticANIObject *scene10_gum; StaticANIObject *scene10_packet; diff --git a/engines/fullpipe/scenes/scene09.cpp b/engines/fullpipe/scenes/scene09.cpp index 7952985633..6743795d46 100644 --- a/engines/fullpipe/scenes/scene09.cpp +++ b/engines/fullpipe/scenes/scene09.cpp @@ -461,8 +461,43 @@ void sceneHandler09_collideBall(Ball *ball) { } } +void sceneHandler09_ballExplode(Ball *ball) { + warning("STUB: sceneHandler09_ballExplode()"); +} + void sceneHandler09_checkHangerCollide() { - warning("STUB: sceneHandler09_checkHangerCollide()"); + for (Ball *ball = g_vars->scene09_balls.pHead; ball; ball = ball->p0) { + int newx = ball->ani->_ox + 5; + + ball->ani->setOXY(newx, ball->ani->_oy); + + if (newx <= 1398 || g_vars->scene09_flyingBall) { + if (g_vars->scene09_var08) + goto LABEL_11; + } else if (g_vars->scene09_var08) { + sceneHandler09_collideBall(ball); + continue; + } + + if (newx > 1600) { + sceneHandler09_ballExplode(ball); + continue; + } + + LABEL_11: + int pixel; + + for (int i = 0; i < g_vars->scene09_numMovingHangers; i++) { + for (int j = 0; j < 4; j++) { + g_vars->scene09_hangers[i]->ani->getPixelAtPos(newx + g_vars->scene09_var18[j].x, ball->ani->_oy + g_vars->scene09_var18[j].y, &pixel); + + if (pixel) { + sceneHandler09_ballExplode(ball); + break; + } + } + } + } } void sceneHandler09_hangerStartCycle() { -- cgit v1.2.3 From 59f440c36a75dad95e1fa12f6ff26a329cdd94b0 Mon Sep 17 00:00:00 2001 From: uruk Date: Sat, 22 Feb 2014 15:35:24 +0100 Subject: AVALANCHE: Repair ShootEmUp::updateTime(). --- engines/avalanche/shootemup.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/engines/avalanche/shootemup.cpp b/engines/avalanche/shootemup.cpp index 1b48aa9433..676154d52f 100644 --- a/engines/avalanche/shootemup.cpp +++ b/engines/avalanche/shootemup.cpp @@ -574,9 +574,9 @@ void ShootEmUp::updateTime() { if (_time <= kFlashTime) { int timeMode = 0; if ((_time % 2) == 1) - timeMode = 20; // Normal 'Time:' + timeMode = 19; // Normal 'Time:' else - timeMode = 86; // Flash 'Time:' + timeMode = 85; // Flash 'Time:' _vm->_graphics->seuDrawPicture(110, 0, timeMode); } -- cgit v1.2.3 From 0958ac9b7fe196b0ea8459b19c7576da2686a9cc Mon Sep 17 00:00:00 2001 From: Strangerke Date: Sat, 22 Feb 2014 18:26:35 +0100 Subject: BBVS: Silent some CppCheck warnings --- engines/bbvs/bbvs.cpp | 6 +++--- engines/bbvs/detection.cpp | 2 +- engines/bbvs/minigames/bbairguitar.cpp | 4 ++-- engines/bbvs/minigames/bbant.cpp | 4 ++-- engines/bbvs/minigames/bbloogie.cpp | 6 +++--- engines/bbvs/minigames/bbtennis.cpp | 4 ++-- 6 files changed, 13 insertions(+), 13 deletions(-) diff --git a/engines/bbvs/bbvs.cpp b/engines/bbvs/bbvs.cpp index eefeea0d68..d7e6606d04 100644 --- a/engines/bbvs/bbvs.cpp +++ b/engines/bbvs/bbvs.cpp @@ -268,10 +268,10 @@ void BbvsEngine::drawScreen() { } void BbvsEngine::updateGame() { - int currTicks, inputTicks; + int inputTicks; if (_gameTicks > 0) { - currTicks = _system->getMillis(); + int currTicks = _system->getMillis(); inputTicks = (currTicks - _gameTicks) / 17; _gameTicks = currTicks - (currTicks - _gameTicks) % 17; } else { @@ -1994,7 +1994,7 @@ void BbvsEngine::walkFindPath(WalkArea *sourceWalkArea, int infoCount) { } int BbvsEngine::calcDistance(const Common::Point &pt1, const Common::Point &pt2) { - return sqrt((pt1.x - pt2.x) * (pt1.x - pt2.x) + (pt1.y - pt2.y) * (pt1.y - pt2.y)); + return (int)sqrt((double)(pt1.x - pt2.x) * (pt1.x - pt2.x) + (pt1.y - pt2.y) * (pt1.y - pt2.y)); } void BbvsEngine::walkFoundPath(int count) { diff --git a/engines/bbvs/detection.cpp b/engines/bbvs/detection.cpp index 98565c8e78..e7383163f5 100644 --- a/engines/bbvs/detection.cpp +++ b/engines/bbvs/detection.cpp @@ -109,7 +109,7 @@ SaveStateList BbvsMetaEngine::listSaves(const char *target) const { filenames = saveFileMan->listSavefiles(pattern.c_str()); Common::sort(filenames.begin(), filenames.end()); // Sort (hopefully ensuring we are sorted numerically..) SaveStateList saveList; - for (Common::StringArray::const_iterator file = filenames.begin(); file != filenames.end(); file++) { + for (Common::StringArray::const_iterator file = filenames.begin(); file != filenames.end(); ++file) { // Obtain the last 3 digits of the filename, since they correspond to the save slot int slotNum = atoi(file->c_str() + file->size() - 3); if (slotNum >= 0 && slotNum <= 999) { diff --git a/engines/bbvs/minigames/bbairguitar.cpp b/engines/bbvs/minigames/bbairguitar.cpp index 2c97bcd6bc..6c9d32ba63 100644 --- a/engines/bbvs/minigames/bbairguitar.cpp +++ b/engines/bbvs/minigames/bbairguitar.cpp @@ -793,10 +793,10 @@ int MinigameBbAirGuitar::run(bool fromMainGame) { void MinigameBbAirGuitar::update() { - int currTicks, inputTicks; + int inputTicks; if (_gameTicks > 0) { - currTicks = _vm->_system->getMillis(); + int currTicks = _vm->_system->getMillis(); inputTicks = 3 * (currTicks - _gameTicks) / 50; _gameTicks = currTicks - (currTicks - _gameTicks - 50 * inputTicks / 3); } else { diff --git a/engines/bbvs/minigames/bbant.cpp b/engines/bbvs/minigames/bbant.cpp index abecf22aff..3d48132512 100644 --- a/engines/bbvs/minigames/bbant.cpp +++ b/engines/bbvs/minigames/bbant.cpp @@ -1216,10 +1216,10 @@ int MinigameBbAnt::run(bool fromMainGame) { void MinigameBbAnt::update() { - int currTicks, inputTicks; + int inputTicks; if (_gameTicks > 0) { - currTicks = _vm->_system->getMillis(); + int currTicks = _vm->_system->getMillis(); inputTicks = 3 * (currTicks - _gameTicks) / 50; _gameTicks = currTicks - (currTicks - _gameTicks - 50 * inputTicks / 3); } else { diff --git a/engines/bbvs/minigames/bbloogie.cpp b/engines/bbvs/minigames/bbloogie.cpp index df7fec3123..3f7a407df5 100644 --- a/engines/bbvs/minigames/bbloogie.cpp +++ b/engines/bbvs/minigames/bbloogie.cpp @@ -982,8 +982,8 @@ void MinigameBbLoogie::updateIndicator(int objIndex) { int unk2div = loogieObj->unk2 / 8 * 8; int v6 = 0; if (unk2div >= 8) { - int v7 = 1; if (unk2div != 8) { + int v7 = 1; do { v6 += 8 * kLoogieOffY[v7++]; } while (v7 != unk2mod); @@ -1311,10 +1311,10 @@ int MinigameBbLoogie::run(bool fromMainGame) { void MinigameBbLoogie::update() { - int currTicks, inputTicks; + int inputTicks; if (_gameTicks > 0) { - currTicks = _vm->_system->getMillis(); + int currTicks = _vm->_system->getMillis(); inputTicks = (currTicks - _gameTicks) / 17; _gameTicks = currTicks - (currTicks - _gameTicks) % 17; } else { diff --git a/engines/bbvs/minigames/bbtennis.cpp b/engines/bbvs/minigames/bbtennis.cpp index aa9e2c2ae2..2bee57d5e5 100644 --- a/engines/bbvs/minigames/bbtennis.cpp +++ b/engines/bbvs/minigames/bbtennis.cpp @@ -1230,10 +1230,10 @@ int MinigameBbTennis::run(bool fromMainGame) { void MinigameBbTennis::update() { - int currTicks, inputTicks; + int inputTicks; if (_gameTicks > 0) { - currTicks = _vm->_system->getMillis(); + int currTicks = _vm->_system->getMillis(); inputTicks = 3 * (currTicks - _gameTicks) / 50; _gameTicks = currTicks - (currTicks - _gameTicks - 50 * inputTicks / 3); } else { -- cgit v1.2.3 From b56f8f2212d50ac959e00136d093b313a1fb2ea2 Mon Sep 17 00:00:00 2001 From: Filippos Karapetis Date: Sat, 22 Feb 2014 20:34:52 +0200 Subject: BBVS: Move some code out of bbvs.cpp --- engines/bbvs/bbvs.cpp | 879 ------------------------------------------------- engines/bbvs/bbvs.h | 7 + engines/bbvs/logic.cpp | 265 +++++++++++++++ engines/bbvs/module.mk | 3 + engines/bbvs/scene.cpp | 227 +++++++++++++ engines/bbvs/walk.cpp | 466 ++++++++++++++++++++++++++ 6 files changed, 968 insertions(+), 879 deletions(-) create mode 100644 engines/bbvs/logic.cpp create mode 100644 engines/bbvs/scene.cpp create mode 100644 engines/bbvs/walk.cpp diff --git a/engines/bbvs/bbvs.cpp b/engines/bbvs/bbvs.cpp index d7e6606d04..3da9e8b3ce 100644 --- a/engines/bbvs/bbvs.cpp +++ b/engines/bbvs/bbvs.cpp @@ -66,41 +66,11 @@ static const BBRect kVerbRects[6] = { { 13, -33, 19, 27}, {-10, 8, 19, 27}, {-11, -49, 19, 27} }; -static const int8 kWalkTurnTbl[] = { - 7, 9, 4, 8, 6, 10, 5, 11 -}; - -static const int8 kWalkAnimTbl[32] = { - 3, 0, 0, 0, 2, 1, 1, 1, - 15, 12, 14, 13, 0, 0, 0, 0, - 7, 9, 4, 8, 6, 10, 5, 11, - 3, 0, 2, 1, 15, 12, 14, 13 -}; - -static const int8 kTurnInfo[8][8] = { - { 0, 1, 1, 1, 1, -1, -1, -1}, - {-1, 0, 1, 1, 1, 1, -1, -1}, - {-1, -1, 0, 1, 1, 1, 1, -1}, - {-1, -1, -1, 0, 1, 1, 1, 1}, - { 1, -1, -1, -1, 0, 1, 1, 1}, - { 1, 1, -1, -1, -1, 0, 1, 1}, - { 1, 1, 1, -1, -1, -1, 0, 1}, - { 1, 1, 1, 1, -1, -1, -1, 0} -}; - static const byte kTurnTbl[] = { 2, 6, 4, 0, 2, 6, 4, 0, 3, 1, 5, 7, 0, 0, 0, 0 }; -static const int kAfterVideoSceneNum[] = { - 0, 43, 23, 12, 4, 44, 2, - 16, 4, 4, 4, 44, 12, 44 -}; - -const int kMainMenu = 44; -const int kCredits = 45; - bool WalkArea::contains(const Common::Point &pt) const { return Common::Rect(x, y, x + width, y + height).contains(pt); } @@ -312,243 +282,6 @@ void BbvsEngine::updateGame() { } -bool BbvsEngine::evalCondition(Conditions &conditions) { - bool result = true; - for (int i = 0; i < 8 && result; ++i) { - const Condition &condition = conditions.conditions[i]; - switch (condition.cond) { - case kCondSceneObjectVerb: - result = _activeItemType == KITSceneObject && - condition.value1 == _currVerbNum && - condition.value2 == _activeItemIndex; - break; - case kCondBgObjectVerb: - result = _activeItemType == kITBgObject && - condition.value1 == _currVerbNum && - condition.value2 == _activeItemIndex; - break; - case kCondSceneObjectInventory: - result = _activeItemType == KITSceneObject && - _currVerbNum == kVerbInvItem && - condition.value1 == _currInventoryItem && - condition.value2 == _activeItemIndex; - break; - case kCondBgObjectInventory: - result = _activeItemType == kITBgObject && - _currVerbNum == kVerbInvItem && - condition.value1 == _currInventoryItem && - condition.value2 == _activeItemIndex; - break; - case kCondHasInventoryItem: - result = _inventoryItemStatus[condition.value1] != 0; - break; - case kCondHasNotInventoryItem: - result = _inventoryItemStatus[condition.value1] == 0; - break; - case kCondIsGameVar: - result = _gameVars[condition.value2] != 0; - break; - case kCondIsNotGameVar: - result = _gameVars[condition.value2] == 0; - break; - case kCondIsPrevSceneNum: - result = condition.value2 == _prevSceneNum; - break; - case kCondIsCurrTalkObject: - result = condition.value2 == _currTalkObjectIndex; - break; - case kCondIsDialogItem: - result = _activeItemType == kITDialog && - condition.value1 == _activeItemIndex; - break; - case kCondIsCameraNum: - result = condition.value1 == _currCameraNum; - break; - case kCondIsNotPrevSceneNum: - result = condition.value2 != _prevSceneNum; - break; - case kCondIsButtheadAtBgObject: - result = _buttheadObject && - _gameModule->getBgObject(condition.value2)->rect.contains(_buttheadObject->x >> 16, _buttheadObject->y >> 16); - break; - case kCondIsNotSceneVisited: - result = _sceneVisited[_currSceneNum] == 0; - break; - case kCondIsSceneVisited: - result = _sceneVisited[_currSceneNum] != 0; - break; - case kCondUnused: - case kCondDialogItem0: - case kCondIsCameraNumTransition: - result = false; - break; - } - } - return result; -} - -bool BbvsEngine::evalCameraCondition(Conditions &conditions, int value) { - bool result = true; - for (int i = 0; i < 8 && result; ++i) { - const Condition &condition = conditions.conditions[i]; - switch (condition.cond) { - case kCondHasInventoryItem: - result = _inventoryItemStatus[condition.value1] != 0; - break; - case kCondHasNotInventoryItem: - result = _inventoryItemStatus[condition.value1] == 0; - break; - case kCondIsGameVar: - result = _gameVars[condition.value2] != 0; - break; - case kCondIsNotGameVar: - result = _gameVars[condition.value2] == 0; - break; - case kCondIsPrevSceneNum: - result = condition.value2 == _prevSceneNum; - break; - case kCondIsNotPrevSceneNum: - result = condition.value2 != _prevSceneNum; - break; - case kCondIsNotSceneVisited: - result = _sceneVisited[_currSceneNum] == 0; - break; - case kCondIsSceneVisited: - result = _sceneVisited[_currSceneNum] != 0; - break; - case kCondIsCameraNumTransition: - result = condition.value1 == _currCameraNum && - condition.value2 == value; - break; - case kCondUnused: - case kCondSceneObjectVerb: - case kCondBgObjectVerb: - case kCondSceneObjectInventory: - case kCondBgObjectInventory: - case kCondIsCurrTalkObject: - case kCondIsDialogItem: - case kCondIsCameraNum: - case kCondDialogItem0: - case kCondIsButtheadAtBgObject: - result = false; - break; - default: - break; - } - } - return result; -} - -int BbvsEngine::evalDialogCondition(Conditions &conditions) { - int result = -1; - bool success = false; - for (int i = 0; i < 8; ++i) { - const Condition &condition = conditions.conditions[i]; - switch (condition.cond) { - case kCondSceneObjectVerb: - success = _activeItemType == KITSceneObject && - condition.value1 == _currVerbNum && - condition.value2 == _activeItemIndex; - break; - case kCondBgObjectVerb: - success = _activeItemType == kITBgObject && - condition.value1 == _currVerbNum && - condition.value2 == _activeItemIndex; - break; - case kCondSceneObjectInventory: - success = _activeItemType == KITSceneObject && - _currVerbNum == kVerbInvItem && - condition.value1 == _currInventoryItem && - condition.value2 == _activeItemIndex; - break; - case kCondBgObjectInventory: - success = _activeItemType == kITBgObject && - _currVerbNum == kVerbInvItem && - condition.value1 == _currInventoryItem && - condition.value2 == _activeItemIndex; - break; - case kCondHasInventoryItem: - success = _inventoryItemStatus[condition.value1] != 0; - break; - case kCondHasNotInventoryItem: - success = _inventoryItemStatus[condition.value1] == 0; - break; - case kCondIsGameVar: - success = _gameVars[condition.value2] != 0; - break; - case kCondIsNotGameVar: - success = _gameVars[condition.value2] == 0; - break; - case kCondIsPrevSceneNum: - success = condition.value2 == _prevSceneNum; - break; - case kCondIsCurrTalkObject: - success = condition.value2 == _currTalkObjectIndex; - break; - case kCondIsDialogItem: - result = condition.value1; - break; - case kCondIsCameraNum: - success = condition.value1 == _currCameraNum; - break; - case kCondIsNotPrevSceneNum: - success = condition.value2 != _prevSceneNum; - break; - case kCondIsButtheadAtBgObject: - success = _buttheadObject && - _gameModule->getBgObject(condition.value2)->rect.contains(_buttheadObject->x >> 16, _buttheadObject->y >> 16); - break; - case kCondIsNotSceneVisited: - success = _sceneVisited[_currSceneNum] == 0; - break; - case kCondIsSceneVisited: - success = _sceneVisited[_currSceneNum] != 0; - break; - case kCondDialogItem0: - return 0; - case kCondUnused: - case kCondIsCameraNumTransition: - success = false; - break; - } - if (!success) - return -1; - } - return result; -} - -void BbvsEngine::evalActionResults(ActionResults &results) { - for (int i = 0; i < 8; ++i) { - const ActionResult &result = results.actionResults[i]; - switch (result.kind) { - case kActResAddInventoryItem: - _inventoryItemStatus[result.value1] = 1; - _currVerbNum = kVerbInvItem; - _currInventoryItem = result.value1; - break; - case kActResRemoveInventoryItem: - _inventoryItemStatus[result.value1] = 0; - if (result.value1 == _currInventoryItem) - _currInventoryItem = -1; - if (_currVerbNum == kVerbInvItem) - _currVerbNum = kVerbLook; - break; - case kActResSetGameVar: - _gameVars[result.value2] = 1; - break; - case kActResUnsetGameVar: - _gameVars[result.value2] = 0; - break; - case kActResStartDialog: - _gameState = kGSDialog; - break; - case kActResChangeScene: - _newSceneNum = result.value2; - break; - } - } -} - void BbvsEngine::updateBackgroundSounds() { for (int i = 0; i < _gameModule->getSceneSoundsCount(); ++i) { SceneSound *sceneSound = _gameModule->getSceneSound(i); @@ -564,198 +297,6 @@ void BbvsEngine::updateBackgroundSounds() { } } -void BbvsEngine::loadScene(int sceneNum) { - debug(0, "BbvsEngine::loadScene() sceneNum: %d", sceneNum); - - Common::String sprFilename = Common::String::format("vnm/vspr%04d.vnm", sceneNum); - Common::String gamFilename = Common::String::format("vnm/game%04d.vnm", sceneNum); - - _screen->clear(); - - _spriteModule->load(sprFilename.c_str()); - _gameModule->load(gamFilename.c_str()); - - Palette palette = _spriteModule->getPalette(); - _screen->setPalette(palette); - - // Preload sounds - for (uint i = 0; i < _gameModule->getPreloadSoundsCount(); ++i) { - Common::String filename = Common::String::format("snd/snd%05d.aif", _gameModule->getPreloadSound(i)); - _sound->loadSound(filename); - } - - if (sceneNum >= kMainMenu) { - DrawList drawList; - drawList.add(_gameModule->getBgSpriteIndex(0), 0, 0, 0); - _screen->drawDrawList(drawList, _spriteModule); - drawScreen(); - } - -} - -void BbvsEngine::initScene(bool sounds) { - - stopSpeech(); - stopSounds(); - _sound->unloadSounds(); - - _gameState = kGSScene; - _prevSceneNum = _currSceneNum; - _sceneVisited[_currSceneNum] = 1; - _mouseCursorSpriteIndex = 0; - _verbPos.x = -1; - _verbPos.y = -1; - _activeItemType = kITEmpty; - _activeItemIndex = 0; - _cameraPos.x = 0; - _cameraPos.y = 0; - _newCameraPos.x = 0; - _newCameraPos.y = 0; - _inventoryButtonIndex = -1; - _currTalkObjectIndex = -1; - _currCameraNum = 0; - _walkMousePos.x = -1; - _walkMousePos.y = -1; - _currAction = 0; - _currActionCommandIndex = -1; - _currActionCommandTimeStamp = 0; - _dialogSlotCount = 0; - _buttheadObject = 0; - _beavisObject = 0; - - memset(_backgroundSoundsActive, 0, sizeof(_backgroundSoundsActive)); - - memset(_sceneObjects, 0, sizeof(_sceneObjects)); - for (int i = 0; i < kSceneObjectsCount; ++i) { - _sceneObjects[i].walkDestPt.x = -1; - _sceneObjects[i].walkDestPt.y = -1; - } - - memset(_dialogItemStatus, 0, sizeof(_dialogItemStatus)); - - _sceneObjectActions.clear(); - - loadScene(_newSceneNum); - _currSceneNum = _newSceneNum; - _newSceneNum = 0; - - for (int i = 0; i < _gameModule->getSceneObjectDefsCount(); ++i) - _sceneObjects[i].sceneObjectDef = _gameModule->getSceneObjectDef(i); - - for (int i = 0; i < _gameModule->getSceneObjectInitsCount(); ++i) { - SceneObjectInit *soInit = _gameModule->getSceneObjectInit(i); - if (evalCondition(soInit->conditions)) { - SceneObject *sceneObject = &_sceneObjects[soInit->sceneObjectIndex]; - sceneObject->anim = _gameModule->getAnimation(soInit->animIndex); - sceneObject->animIndex = soInit->animIndex; - sceneObject->frameIndex = sceneObject->anim->frameCount - 1; - sceneObject->frameTicks = 1; - sceneObject->x = soInit->x << 16; - sceneObject->y = soInit->y << 16; - } - } - - if (_gameModule->getButtheadObjectIndex() >= 0) { - _buttheadObject = &_sceneObjects[_gameModule->getButtheadObjectIndex()]; - // Search for the Beavis object - for (int i = 0; i < _gameModule->getSceneObjectDefsCount(); ++i) - if (!strcmp(_sceneObjects[i].sceneObjectDef->name, "Beavis")) { - _beavisObject = &_sceneObjects[i]; - break; - } - } - - updateSceneObjectsTurnValue(); - - updateWalkableRects(); - - _currCameraNum = 0; - if (_buttheadObject) { - int minDistance = 0xFFFFFF; - for (int cameraNum = 0; cameraNum < 4; ++cameraNum) { - CameraInit *cameraInit = _gameModule->getCameraInit(cameraNum); - int curDistance = ABS(cameraInit->cameraPos.x - (int)(_buttheadObject->x >> 16) + 160); - if (curDistance < minDistance) { - minDistance = curDistance; - _currCameraNum = cameraNum; - } - } - } - - _cameraPos = _gameModule->getCameraInit(_currCameraNum)->cameraPos; - _newCameraPos = _cameraPos; - - _walkAreaActions.clear(); - for (int i = 0; i < _gameModule->getActionsCount(); ++i) { - Action *action = _gameModule->getAction(i); - for (int j = 0; j < 8; ++j) - if (action->conditions.conditions[j].cond == kCondIsButtheadAtBgObject) - _walkAreaActions.push_back(action); - } - - _mouseCursorSpriteIndex = 0; - - _activeItemIndex = 0; - _activeItemType = kITEmpty; - - for (int i = 0; i < _gameModule->getActionsCount(); ++i) { - Action *action = _gameModule->getAction(i); - if (evalCondition(action->conditions)) { - _gameState = kGSWait; - _currAction = action; - for (uint j = 0; j < action->actionCommands.size(); ++j) { - ActionCommand *actionCommand = &action->actionCommands[j]; - if (actionCommand->cmd == kActionCmdSetCameraPos) { - _currCameraNum = actionCommand->param; - _cameraPos = _gameModule->getCameraInit(_currCameraNum)->cameraPos; - _newCameraPos = _cameraPos; - break; - } - } - break; - } - } - - if (sounds) - updateBackgroundSounds(); - -} - -bool BbvsEngine::changeScene() { - - writeContinueSavegame(); - - if (_newSceneNum >= 27 && _newSceneNum <= 30) { - // Run minigames - stopSpeech(); - stopSounds(); - _sceneVisited[_currSceneNum] = 1; - if (runMinigame(_newSceneNum - 27)) { - SWAP(_currSceneNum, _newSceneNum); - } - } else if (_newSceneNum >= 31 && _newSceneNum <= 43) { - // Play video - stopSpeech(); - stopSounds(); - _sceneVisited[_currSceneNum] = 1; - _playVideoNumber = _newSceneNum - 30; - _currSceneNum = _newSceneNum; - _newSceneNum = kAfterVideoSceneNum[_playVideoNumber]; - } else if (_newSceneNum >= 100 && _currSceneNum == kCredits) { - // Play secret video - stopSounds(); - _playVideoNumber = _newSceneNum; - _currSceneNum = 49; - _newSceneNum = kCredits; - } else { - // Normal scene - initScene(true); - } - - return true; - -} - bool BbvsEngine::update(int mouseX, int mouseY, uint mouseButtons, Common::KeyCode keyCode) { if (_bootSaveSlot >= 0) { @@ -1676,426 +1217,6 @@ void BbvsEngine::updateCommon() { } -void BbvsEngine::startWalkObject(SceneObject *sceneObject) { - const int kMaxDistance = 0xFFFFFF; - - if (_buttheadObject != sceneObject && _beavisObject != sceneObject) - return; - - initWalkAreas(sceneObject); - _sourceWalkAreaPt.x = sceneObject->x >> 16; - _sourceWalkAreaPt.y = sceneObject->y >> 16; - - _sourceWalkArea = getWalkAreaAtPos(_sourceWalkAreaPt); - if (!_sourceWalkArea) - return; - - _destWalkAreaPt = sceneObject->walkDestPt; - - _destWalkArea = getWalkAreaAtPos(_destWalkAreaPt); - if (!_destWalkArea) - return; - - if (_sourceWalkArea != _destWalkArea) { - _currWalkDistance = kMaxDistance; - walkFindPath(_sourceWalkArea, 0); - _destWalkAreaPt = _currWalkDistance == kMaxDistance ? _sourceWalkAreaPt : _finalWalkPt; - } - - walkObject(sceneObject, _destWalkAreaPt, sceneObject->sceneObjectDef->walkSpeed); - -} - -void BbvsEngine::updateWalkObject(SceneObject *sceneObject) { - int animIndex; - - if (sceneObject->walkCount > 0 && (sceneObject->xIncr != 0 || sceneObject->yIncr != 0)) { - if (ABS(sceneObject->xIncr) <= ABS(sceneObject->yIncr)) - sceneObject->turnValue = sceneObject->yIncr >= 0 ? 0 : 4; - else - sceneObject->turnValue = sceneObject->xIncr >= 0 ? 6 : 2; - animIndex = sceneObject->sceneObjectDef->animIndices[kWalkAnimTbl[sceneObject->turnValue]]; - sceneObject->turnCount = 0; - sceneObject->turnTicks = 0; - } else { - animIndex = sceneObject->sceneObjectDef->animIndices[kWalkTurnTbl[sceneObject->turnValue]]; - } - - Animation *anim = 0; - if (animIndex > 0) - anim = _gameModule->getAnimation(animIndex); - - if (sceneObject->anim != anim) { - if (anim) { - sceneObject->anim = anim; - sceneObject->animIndex = animIndex; - sceneObject->frameTicks = 1; - sceneObject->frameIndex = anim->frameCount - 1; - } else { - sceneObject->anim = 0; - sceneObject->animIndex = 0; - sceneObject->frameTicks = 0; - sceneObject->frameIndex = 0; - } - } - -} - -void BbvsEngine::walkObject(SceneObject *sceneObject, const Common::Point &destPt, int walkSpeed) { - int deltaX = destPt.x - (sceneObject->x >> 16); - int deltaY = destPt.y - (sceneObject->y >> 16); - float distance = sqrt((double)(deltaX * deltaX + deltaY * deltaY)); - // NOTE The original doesn't have this check but without it the whole pathfinding breaks - if (distance > 0.0) { - sceneObject->walkCount = distance / ((((float)ABS(deltaX) / distance) + 1.0) * ((float)walkSpeed / 120)); - sceneObject->xIncr = ((float)deltaX / sceneObject->walkCount) * 65536.0; - sceneObject->yIncr = ((float)deltaY / sceneObject->walkCount) * 65536.0; - sceneObject->x = (sceneObject->x & 0xFFFF0000) | 0x8000; - sceneObject->y = (sceneObject->y & 0xFFFF0000) | 0x8000; - } else - sceneObject->walkCount = 0; -} - -void BbvsEngine::turnObject(SceneObject *sceneObject) { - if (sceneObject->turnTicks > 0) { - --sceneObject->turnTicks; - } else { - int turnDir = kTurnInfo[sceneObject->turnValue][sceneObject->turnCount & 0x7F]; - if (turnDir) { - sceneObject->turnValue = (sceneObject->turnValue + turnDir) & 7; - int turnAnimIndex = sceneObject->sceneObjectDef->animIndices[kWalkTurnTbl[sceneObject->turnValue]]; - if (turnAnimIndex) { - Animation *anim = _gameModule->getAnimation(turnAnimIndex); - if (anim) { - sceneObject->anim = anim; - sceneObject->animIndex = turnAnimIndex; - sceneObject->turnTicks = 4; - sceneObject->frameTicks = 1; - sceneObject->frameIndex = anim->frameCount - 1; - } - } - } else { - sceneObject->turnCount = 0; - } - } -} - -int BbvsEngine::rectSubtract(const Common::Rect &rect1, const Common::Rect &rect2, Common::Rect *outRects) { - int count = 0; - Common::Rect workRect = rect1.findIntersectingRect(rect2); - if (!workRect.isEmpty()) { - count = 0; - outRects[count] = Common::Rect(rect2.width(), workRect.top - rect2.top); - if (!outRects[count].isEmpty()) { - outRects[count].translate(rect2.left, rect2.top); - ++count; - } - outRects[count] = Common::Rect(workRect.left - rect2.left, workRect.height()); - if (!outRects[count].isEmpty()) { - outRects[count].translate(rect2.left, workRect.top); - ++count; - } - outRects[count] = Common::Rect(rect2.right - workRect.right, workRect.height()); - if (!outRects[count].isEmpty()) { - outRects[count].translate(workRect.right, workRect.top); - ++count; - } - outRects[count] = Common::Rect(rect2.width(), rect2.bottom - workRect.bottom); - if (!outRects[count].isEmpty()) { - outRects[count].translate(rect2.left, workRect.bottom); - ++count; - } - } else { - outRects[0] = rect2; - count = 1; - } - return count; -} - -WalkInfo *BbvsEngine::addWalkInfo(int16 x, int16 y, int delta, int direction, int16 midPtX, int16 midPtY, int walkAreaIndex) { - WalkInfo *walkInfo = &_walkInfos[_walkInfosCount++]; - walkInfo->walkAreaIndex = walkAreaIndex; - walkInfo->direction = direction; - walkInfo->x = x; - walkInfo->y = y; - walkInfo->delta = delta; - walkInfo->midPt.x = midPtX; - walkInfo->midPt.y = midPtY; - return walkInfo; -} - -void BbvsEngine::initWalkAreas(SceneObject *sceneObject) { - int16 objX = sceneObject->x >> 16; - int16 objY = sceneObject->y >> 16; - Common::Rect rect; - bool doRect = false; - Common::Rect *workWalkableRects; - - if (_buttheadObject == sceneObject && _beavisObject->anim) { - rect = _beavisObject->anim->frameRects2[_beavisObject->frameIndex]; - rect.translate(_beavisObject->x >> 16, 1 + (_beavisObject->y >> 16)); - doRect = !rect.isEmpty(); - } else if (_buttheadObject->anim) { - rect = _buttheadObject->anim->frameRects2[_buttheadObject->frameIndex]; - rect.translate(_buttheadObject->x >> 16, 1 + (_buttheadObject->y >> 16)); - doRect = !rect.isEmpty(); - } - - workWalkableRects = _walkableRects; - - _walkAreasCount = _walkableRectsCount; - - if (doRect && !rect.contains(objX, objY)) { - _walkAreasCount = 0; - for (int i = 0; i < _walkableRectsCount; ++i) - _walkAreasCount += rectSubtract(rect, _walkableRects[i], &_tempWalkableRects1[_walkAreasCount]); - workWalkableRects = _tempWalkableRects1; - } - - for (int i = 0; i < _walkAreasCount; ++i) { - _walkAreas[i].x = workWalkableRects[i].left; - _walkAreas[i].y = workWalkableRects[i].top; - _walkAreas[i].width = workWalkableRects[i].width(); - _walkAreas[i].height = workWalkableRects[i].height(); - _walkAreas[i].checked = false; - _walkAreas[i].linksCount = 0; - } - - _walkInfosCount = 0; - - // Find connections between the walkRects - - for (int i = 0; i < _walkAreasCount; ++i) { - WalkArea *walkArea1 = &_walkAreas[i]; - int xIter = walkArea1->x + walkArea1->width; - int yIter = walkArea1->y + walkArea1->height; - - for (int j = 0; j < _walkAreasCount; ++j) { - WalkArea *walkArea2 = &_walkAreas[j]; - - if (i == j) - continue; - - if (walkArea2->y == yIter) { - int wa1x = MAX(walkArea1->x, walkArea2->x); - int wa2x = MIN(walkArea2->x + walkArea2->width, xIter); - if (wa2x > wa1x) { - debug(5, "WalkArea %d connected to %d by Y", i, j); - WalkInfo *walkInfo1 = addWalkInfo(wa1x, yIter - 1, wa2x - wa1x, 0, wa1x + (wa2x - wa1x) / 2, yIter - 1, i); - WalkInfo *walkInfo2 = addWalkInfo(wa1x, yIter, wa2x - wa1x, 0, wa1x + (wa2x - wa1x) / 2, yIter, j); - walkArea1->linksD1[walkArea1->linksCount] = walkInfo1; - walkArea1->linksD2[walkArea1->linksCount] = walkInfo2; - walkArea1->links[walkArea1->linksCount++] = walkArea2; - walkArea2->linksD1[walkArea2->linksCount] = walkInfo2; - walkArea2->linksD2[walkArea2->linksCount] = walkInfo1; - walkArea2->links[walkArea2->linksCount++] = walkArea1; - } - } - - if (walkArea2->x == xIter) { - int wa1y = MAX(walkArea1->y, walkArea2->y); - int wa2y = MIN(walkArea2->y + walkArea2->height, yIter); - if (wa2y > wa1y) { - debug(5, "WalkArea %d connected to %d by X", i, j); - WalkInfo *walkInfo1 = addWalkInfo(xIter - 1, wa1y, wa2y - wa1y, 1, xIter - 1, wa1y + (wa2y - wa1y) / 2, i); - WalkInfo *walkInfo2 = addWalkInfo(xIter, wa1y, wa2y - wa1y, 1, xIter, wa1y + (wa2y - wa1y) / 2, j); - walkArea1->linksD1[walkArea1->linksCount] = walkInfo1; - walkArea1->linksD2[walkArea1->linksCount] = walkInfo2; - walkArea1->links[walkArea1->linksCount++] = walkArea2; - walkArea2->linksD1[walkArea2->linksCount] = walkInfo2; - walkArea2->linksD2[walkArea2->linksCount] = walkInfo1; - walkArea2->links[walkArea2->linksCount++] = walkArea1; - } - } - - } - - } - -} - -WalkArea *BbvsEngine::getWalkAreaAtPos(const Common::Point &pt) { - for (int i = 0; i < _walkAreasCount; ++i) { - WalkArea *walkArea = &_walkAreas[i]; - if (walkArea->contains(pt)) - return walkArea; - } - return 0; -} - -bool BbvsEngine::canButtheadWalkToDest(const Common::Point &destPt) { - Common::Point srcPt; - - _walkReachedDestArea = false; - initWalkAreas(_buttheadObject); - srcPt.x = _buttheadObject->x >> 16; - srcPt.y = _buttheadObject->y >> 16; - _sourceWalkArea = getWalkAreaAtPos(srcPt); - if (_sourceWalkArea) { - _destWalkArea = getWalkAreaAtPos(destPt); - if (_destWalkArea) - canWalkToDest(_sourceWalkArea, 0); - } - return _walkReachedDestArea; -} - -void BbvsEngine::canWalkToDest(WalkArea *walkArea, int infoCount) { - - if (_destWalkArea == walkArea) { - _walkReachedDestArea = true; - return; - } - - if (_gameModule->getFieldC() <= 320 || infoCount <= 20) { - walkArea->checked = true; - for (int linkIndex = 0; linkIndex < walkArea->linksCount; ++linkIndex) { - if (!walkArea->links[linkIndex]->checked) { - canWalkToDest(walkArea->links[linkIndex], infoCount + 2); - if (_walkReachedDestArea) - break; - } - } - walkArea->checked = false; - } - -} - -bool BbvsEngine::walkTestLineWalkable(const Common::Point &sourcePt, const Common::Point &destPt, WalkInfo *walkInfo) { - const float ptDeltaX = destPt.x - sourcePt.x; - const float ptDeltaY = destPt.y - sourcePt.y; - const float wDeltaX = walkInfo->x - sourcePt.x; - const float wDeltaY = walkInfo->y - sourcePt.y; - if (destPt.x == sourcePt.x) - return true; - if (walkInfo->direction) { - const float nDeltaY = wDeltaX * ptDeltaY / ptDeltaX + (float)sourcePt.y - (float)walkInfo->y; - return (nDeltaY >= 0.0) && (nDeltaY < (float)walkInfo->delta); - } else { - const float nDeltaX = wDeltaY / ptDeltaX * ptDeltaY + (float)sourcePt.x - (float)walkInfo->x; - return (nDeltaX >= 0.0) && (nDeltaX < (float)walkInfo->delta); - } - return false; -} - -void BbvsEngine::walkFindPath(WalkArea *sourceWalkArea, int infoCount) { - if (_destWalkArea == sourceWalkArea) { - walkFoundPath(infoCount); - } else if (_gameModule->getFieldC() <= 320 || infoCount <= 20) { - sourceWalkArea->checked = true; - for (int linkIndex = 0; linkIndex < sourceWalkArea->linksCount; ++linkIndex) { - if (!sourceWalkArea->links[linkIndex]->checked) { - _walkInfoPtrs[infoCount + 0] = sourceWalkArea->linksD1[linkIndex]; - _walkInfoPtrs[infoCount + 1] = sourceWalkArea->linksD2[linkIndex]; - walkFindPath(sourceWalkArea->links[linkIndex], infoCount + 2); - } - } - sourceWalkArea->checked = false; - } -} - -int BbvsEngine::calcDistance(const Common::Point &pt1, const Common::Point &pt2) { - return (int)sqrt((double)(pt1.x - pt2.x) * (pt1.x - pt2.x) + (pt1.y - pt2.y) * (pt1.y - pt2.y)); -} - -void BbvsEngine::walkFoundPath(int count) { - debug(5, "BbvsEngine::walkFoundPath(%d)", count); - - Common::Point midPt = _sourceWalkAreaPt; - int totalMidPtDistance = 0; - - if (count > 0) { - Common::Point lastMidPt; - int halfCount = (count + 1) >> 1; - for (int i = 0; i < halfCount; ++i) { - lastMidPt = midPt; - midPt = _walkInfoPtrs[i * 2]->midPt; - totalMidPtDistance += calcDistance(midPt, lastMidPt); - } - } - - int distance = calcDistance(midPt, _destWalkAreaPt) + totalMidPtDistance; - - debug(5, "BbvsEngine::walkFoundPath() distance: %d; _currWalkDistance: %d", distance, _currWalkDistance); - - if (distance >= _currWalkDistance) - return; - - debug(5, "BbvsEngine::walkFoundPath() distance smaller"); - - _currWalkDistance = distance; - - Common::Point destPt = _destWalkAreaPt, newDestPt; - - while (1) { - - int index = 0; - if (count > 0) { - do { - if (!walkTestLineWalkable(_sourceWalkAreaPt, destPt, _walkInfoPtrs[index])) - break; - ++index; - } while (index < count); - } - - if (index == count) - break; - - WalkInfo *walkInfo = _walkInfoPtrs[--count]; - destPt.x = walkInfo->x; - destPt.y = walkInfo->y; - - if (walkInfo->direction) { - newDestPt.x = walkInfo->x; - newDestPt.y = walkInfo->y + walkInfo->delta - 1; - } else { - newDestPt.x = walkInfo->x + walkInfo->delta - 1; - newDestPt.y = walkInfo->y; - } - - if ((newDestPt.x - _destWalkAreaPt.x) * (newDestPt.x - _destWalkAreaPt.x) + - (newDestPt.y - _destWalkAreaPt.y) * (newDestPt.y - _destWalkAreaPt.y) < - (destPt.x - _destWalkAreaPt.x) * (destPt.x - _destWalkAreaPt.x) + - (destPt.y - _destWalkAreaPt.y) * (destPt.y - _destWalkAreaPt.y)) - destPt = newDestPt; - - } - - debug(5, "BbvsEngine::walkFoundPath() destPt: (%d, %d)", destPt.x, destPt.y); - - _finalWalkPt = destPt; - - debug(5, "BbvsEngine::walkFoundPath() OK"); - -} - -void BbvsEngine::updateWalkableRects() { - // Go through all walkable rects and subtract all scene object rects - Common::Rect *rectsList1 = _tempWalkableRects1; - Common::Rect *rectsList2 = _gameModule->getWalkRects(); - _walkableRectsCount = _gameModule->getWalkRectsCount(); - for (int i = 0; i < _gameModule->getSceneObjectDefsCount(); ++i) { - SceneObject *sceneObject = &_sceneObjects[i]; - Animation *anim = sceneObject->anim; - if (anim && _buttheadObject != sceneObject && _beavisObject != sceneObject) { - Common::Rect rect = sceneObject->anim->frameRects2[sceneObject->frameIndex]; - rect.translate(sceneObject->x >> 16, sceneObject->y >> 16); - int count = _walkableRectsCount; - _walkableRectsCount = 0; - for (int j = 0; j < count; ++j) - _walkableRectsCount += rectSubtract(rect, rectsList2[j], &rectsList1[_walkableRectsCount]); - if (rectsList1 == _tempWalkableRects1) { - rectsList1 = _tempWalkableRects2; - rectsList2 = _tempWalkableRects1; - } else { - rectsList1 = _tempWalkableRects1; - rectsList2 = _tempWalkableRects2; - } - } - } - for (int i = 0; i < _walkableRectsCount; ++i) - _walkableRects[i] = rectsList2[i]; -} - void BbvsEngine::updateSceneObjectsTurnValue() { for (int i = 0; i < _gameModule->getSceneObjectDefsCount(); ++i) { SceneObject *sceneObject = &_sceneObjects[i]; diff --git a/engines/bbvs/bbvs.h b/engines/bbvs/bbvs.h index b429c315f7..8136184e0b 100644 --- a/engines/bbvs/bbvs.h +++ b/engines/bbvs/bbvs.h @@ -206,6 +206,13 @@ const int kDialogItemStatusCount = 50; const int kGameVarsCount = 2000; const int kSceneVisitedCount = 64; +const int kMainMenu = 44; +const int kCredits = 45; + +static const int8 kWalkTurnTbl[] = { + 7, 9, 4, 8, 6, 10, 5, 11 +}; + class BbvsEngine : public Engine { protected: Common::Error run(); diff --git a/engines/bbvs/logic.cpp b/engines/bbvs/logic.cpp new file mode 100644 index 0000000000..06792e2df1 --- /dev/null +++ b/engines/bbvs/logic.cpp @@ -0,0 +1,265 @@ +/* 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 "bbvs/bbvs.h" +#include "bbvs/gamemodule.h" + +namespace Bbvs { + +bool BbvsEngine::evalCondition(Conditions &conditions) { + bool result = true; + for (int i = 0; i < 8 && result; ++i) { + const Condition &condition = conditions.conditions[i]; + switch (condition.cond) { + case kCondSceneObjectVerb: + result = _activeItemType == KITSceneObject && + condition.value1 == _currVerbNum && + condition.value2 == _activeItemIndex; + break; + case kCondBgObjectVerb: + result = _activeItemType == kITBgObject && + condition.value1 == _currVerbNum && + condition.value2 == _activeItemIndex; + break; + case kCondSceneObjectInventory: + result = _activeItemType == KITSceneObject && + _currVerbNum == kVerbInvItem && + condition.value1 == _currInventoryItem && + condition.value2 == _activeItemIndex; + break; + case kCondBgObjectInventory: + result = _activeItemType == kITBgObject && + _currVerbNum == kVerbInvItem && + condition.value1 == _currInventoryItem && + condition.value2 == _activeItemIndex; + break; + case kCondHasInventoryItem: + result = _inventoryItemStatus[condition.value1] != 0; + break; + case kCondHasNotInventoryItem: + result = _inventoryItemStatus[condition.value1] == 0; + break; + case kCondIsGameVar: + result = _gameVars[condition.value2] != 0; + break; + case kCondIsNotGameVar: + result = _gameVars[condition.value2] == 0; + break; + case kCondIsPrevSceneNum: + result = condition.value2 == _prevSceneNum; + break; + case kCondIsCurrTalkObject: + result = condition.value2 == _currTalkObjectIndex; + break; + case kCondIsDialogItem: + result = _activeItemType == kITDialog && + condition.value1 == _activeItemIndex; + break; + case kCondIsCameraNum: + result = condition.value1 == _currCameraNum; + break; + case kCondIsNotPrevSceneNum: + result = condition.value2 != _prevSceneNum; + break; + case kCondIsButtheadAtBgObject: + result = _buttheadObject && + _gameModule->getBgObject(condition.value2)->rect.contains(_buttheadObject->x >> 16, _buttheadObject->y >> 16); + break; + case kCondIsNotSceneVisited: + result = _sceneVisited[_currSceneNum] == 0; + break; + case kCondIsSceneVisited: + result = _sceneVisited[_currSceneNum] != 0; + break; + case kCondUnused: + case kCondDialogItem0: + case kCondIsCameraNumTransition: + result = false; + break; + } + } + return result; +} + +bool BbvsEngine::evalCameraCondition(Conditions &conditions, int value) { + bool result = true; + for (int i = 0; i < 8 && result; ++i) { + const Condition &condition = conditions.conditions[i]; + switch (condition.cond) { + case kCondHasInventoryItem: + result = _inventoryItemStatus[condition.value1] != 0; + break; + case kCondHasNotInventoryItem: + result = _inventoryItemStatus[condition.value1] == 0; + break; + case kCondIsGameVar: + result = _gameVars[condition.value2] != 0; + break; + case kCondIsNotGameVar: + result = _gameVars[condition.value2] == 0; + break; + case kCondIsPrevSceneNum: + result = condition.value2 == _prevSceneNum; + break; + case kCondIsNotPrevSceneNum: + result = condition.value2 != _prevSceneNum; + break; + case kCondIsNotSceneVisited: + result = _sceneVisited[_currSceneNum] == 0; + break; + case kCondIsSceneVisited: + result = _sceneVisited[_currSceneNum] != 0; + break; + case kCondIsCameraNumTransition: + result = condition.value1 == _currCameraNum && + condition.value2 == value; + break; + case kCondUnused: + case kCondSceneObjectVerb: + case kCondBgObjectVerb: + case kCondSceneObjectInventory: + case kCondBgObjectInventory: + case kCondIsCurrTalkObject: + case kCondIsDialogItem: + case kCondIsCameraNum: + case kCondDialogItem0: + case kCondIsButtheadAtBgObject: + result = false; + break; + default: + break; + } + } + return result; +} + +int BbvsEngine::evalDialogCondition(Conditions &conditions) { + int result = -1; + bool success = false; + for (int i = 0; i < 8; ++i) { + const Condition &condition = conditions.conditions[i]; + switch (condition.cond) { + case kCondSceneObjectVerb: + success = _activeItemType == KITSceneObject && + condition.value1 == _currVerbNum && + condition.value2 == _activeItemIndex; + break; + case kCondBgObjectVerb: + success = _activeItemType == kITBgObject && + condition.value1 == _currVerbNum && + condition.value2 == _activeItemIndex; + break; + case kCondSceneObjectInventory: + success = _activeItemType == KITSceneObject && + _currVerbNum == kVerbInvItem && + condition.value1 == _currInventoryItem && + condition.value2 == _activeItemIndex; + break; + case kCondBgObjectInventory: + success = _activeItemType == kITBgObject && + _currVerbNum == kVerbInvItem && + condition.value1 == _currInventoryItem && + condition.value2 == _activeItemIndex; + break; + case kCondHasInventoryItem: + success = _inventoryItemStatus[condition.value1] != 0; + break; + case kCondHasNotInventoryItem: + success = _inventoryItemStatus[condition.value1] == 0; + break; + case kCondIsGameVar: + success = _gameVars[condition.value2] != 0; + break; + case kCondIsNotGameVar: + success = _gameVars[condition.value2] == 0; + break; + case kCondIsPrevSceneNum: + success = condition.value2 == _prevSceneNum; + break; + case kCondIsCurrTalkObject: + success = condition.value2 == _currTalkObjectIndex; + break; + case kCondIsDialogItem: + result = condition.value1; + break; + case kCondIsCameraNum: + success = condition.value1 == _currCameraNum; + break; + case kCondIsNotPrevSceneNum: + success = condition.value2 != _prevSceneNum; + break; + case kCondIsButtheadAtBgObject: + success = _buttheadObject && + _gameModule->getBgObject(condition.value2)->rect.contains(_buttheadObject->x >> 16, _buttheadObject->y >> 16); + break; + case kCondIsNotSceneVisited: + success = _sceneVisited[_currSceneNum] == 0; + break; + case kCondIsSceneVisited: + success = _sceneVisited[_currSceneNum] != 0; + break; + case kCondDialogItem0: + return 0; + case kCondUnused: + case kCondIsCameraNumTransition: + success = false; + break; + } + if (!success) + return -1; + } + return result; +} + +void BbvsEngine::evalActionResults(ActionResults &results) { + for (int i = 0; i < 8; ++i) { + const ActionResult &result = results.actionResults[i]; + switch (result.kind) { + case kActResAddInventoryItem: + _inventoryItemStatus[result.value1] = 1; + _currVerbNum = kVerbInvItem; + _currInventoryItem = result.value1; + break; + case kActResRemoveInventoryItem: + _inventoryItemStatus[result.value1] = 0; + if (result.value1 == _currInventoryItem) + _currInventoryItem = -1; + if (_currVerbNum == kVerbInvItem) + _currVerbNum = kVerbLook; + break; + case kActResSetGameVar: + _gameVars[result.value2] = 1; + break; + case kActResUnsetGameVar: + _gameVars[result.value2] = 0; + break; + case kActResStartDialog: + _gameState = kGSDialog; + break; + case kActResChangeScene: + _newSceneNum = result.value2; + break; + } + } +} + +} // End of namespace Bbvs diff --git a/engines/bbvs/module.mk b/engines/bbvs/module.mk index eb6dc86332..90c62d0acb 100644 --- a/engines/bbvs/module.mk +++ b/engines/bbvs/module.mk @@ -6,10 +6,13 @@ MODULE_OBJS := \ dialogs.o \ gamemodule.o \ graphics.o \ + logic.o \ saveload.o \ + scene.o \ sound.o \ spritemodule.o \ videoplayer.o \ + walk.o \ minigames/bbairguitar.o \ minigames/bbairguitar_anims.o \ minigames/bbant.o \ diff --git a/engines/bbvs/scene.cpp b/engines/bbvs/scene.cpp new file mode 100644 index 0000000000..0d86eb4dbc --- /dev/null +++ b/engines/bbvs/scene.cpp @@ -0,0 +1,227 @@ +/* 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 "bbvs/bbvs.h" +#include "bbvs/gamemodule.h" +#include "bbvs/graphics.h" +#include "bbvs/sound.h" + +namespace Bbvs { + +static const int kAfterVideoSceneNum[] = { + 0, 43, 23, 12, 4, 44, 2, + 16, 4, 4, 4, 44, 12, 44 +}; + +void BbvsEngine::loadScene(int sceneNum) { + debug(0, "BbvsEngine::loadScene() sceneNum: %d", sceneNum); + + Common::String sprFilename = Common::String::format("vnm/vspr%04d.vnm", sceneNum); + Common::String gamFilename = Common::String::format("vnm/game%04d.vnm", sceneNum); + + _screen->clear(); + + _spriteModule->load(sprFilename.c_str()); + _gameModule->load(gamFilename.c_str()); + + Palette palette = _spriteModule->getPalette(); + _screen->setPalette(palette); + + // Preload sounds + for (uint i = 0; i < _gameModule->getPreloadSoundsCount(); ++i) { + Common::String filename = Common::String::format("snd/snd%05d.aif", _gameModule->getPreloadSound(i)); + _sound->loadSound(filename); + } + + if (sceneNum >= kMainMenu) { + DrawList drawList; + drawList.add(_gameModule->getBgSpriteIndex(0), 0, 0, 0); + _screen->drawDrawList(drawList, _spriteModule); + drawScreen(); + } + +} + +void BbvsEngine::initScene(bool sounds) { + + stopSpeech(); + stopSounds(); + _sound->unloadSounds(); + + _gameState = kGSScene; + _prevSceneNum = _currSceneNum; + _sceneVisited[_currSceneNum] = 1; + _mouseCursorSpriteIndex = 0; + _verbPos.x = -1; + _verbPos.y = -1; + _activeItemType = kITEmpty; + _activeItemIndex = 0; + _cameraPos.x = 0; + _cameraPos.y = 0; + _newCameraPos.x = 0; + _newCameraPos.y = 0; + _inventoryButtonIndex = -1; + _currTalkObjectIndex = -1; + _currCameraNum = 0; + _walkMousePos.x = -1; + _walkMousePos.y = -1; + _currAction = 0; + _currActionCommandIndex = -1; + _currActionCommandTimeStamp = 0; + _dialogSlotCount = 0; + _buttheadObject = 0; + _beavisObject = 0; + + memset(_backgroundSoundsActive, 0, sizeof(_backgroundSoundsActive)); + + memset(_sceneObjects, 0, sizeof(_sceneObjects)); + for (int i = 0; i < kSceneObjectsCount; ++i) { + _sceneObjects[i].walkDestPt.x = -1; + _sceneObjects[i].walkDestPt.y = -1; + } + + memset(_dialogItemStatus, 0, sizeof(_dialogItemStatus)); + + _sceneObjectActions.clear(); + + loadScene(_newSceneNum); + _currSceneNum = _newSceneNum; + _newSceneNum = 0; + + for (int i = 0; i < _gameModule->getSceneObjectDefsCount(); ++i) + _sceneObjects[i].sceneObjectDef = _gameModule->getSceneObjectDef(i); + + for (int i = 0; i < _gameModule->getSceneObjectInitsCount(); ++i) { + SceneObjectInit *soInit = _gameModule->getSceneObjectInit(i); + if (evalCondition(soInit->conditions)) { + SceneObject *sceneObject = &_sceneObjects[soInit->sceneObjectIndex]; + sceneObject->anim = _gameModule->getAnimation(soInit->animIndex); + sceneObject->animIndex = soInit->animIndex; + sceneObject->frameIndex = sceneObject->anim->frameCount - 1; + sceneObject->frameTicks = 1; + sceneObject->x = soInit->x << 16; + sceneObject->y = soInit->y << 16; + } + } + + if (_gameModule->getButtheadObjectIndex() >= 0) { + _buttheadObject = &_sceneObjects[_gameModule->getButtheadObjectIndex()]; + // Search for the Beavis object + for (int i = 0; i < _gameModule->getSceneObjectDefsCount(); ++i) + if (!strcmp(_sceneObjects[i].sceneObjectDef->name, "Beavis")) { + _beavisObject = &_sceneObjects[i]; + break; + } + } + + updateSceneObjectsTurnValue(); + + updateWalkableRects(); + + _currCameraNum = 0; + if (_buttheadObject) { + int minDistance = 0xFFFFFF; + for (int cameraNum = 0; cameraNum < 4; ++cameraNum) { + CameraInit *cameraInit = _gameModule->getCameraInit(cameraNum); + int curDistance = ABS(cameraInit->cameraPos.x - (int)(_buttheadObject->x >> 16) + 160); + if (curDistance < minDistance) { + minDistance = curDistance; + _currCameraNum = cameraNum; + } + } + } + + _cameraPos = _gameModule->getCameraInit(_currCameraNum)->cameraPos; + _newCameraPos = _cameraPos; + + _walkAreaActions.clear(); + for (int i = 0; i < _gameModule->getActionsCount(); ++i) { + Action *action = _gameModule->getAction(i); + for (int j = 0; j < 8; ++j) + if (action->conditions.conditions[j].cond == kCondIsButtheadAtBgObject) + _walkAreaActions.push_back(action); + } + + _mouseCursorSpriteIndex = 0; + + _activeItemIndex = 0; + _activeItemType = kITEmpty; + + for (int i = 0; i < _gameModule->getActionsCount(); ++i) { + Action *action = _gameModule->getAction(i); + if (evalCondition(action->conditions)) { + _gameState = kGSWait; + _currAction = action; + for (uint j = 0; j < action->actionCommands.size(); ++j) { + ActionCommand *actionCommand = &action->actionCommands[j]; + if (actionCommand->cmd == kActionCmdSetCameraPos) { + _currCameraNum = actionCommand->param; + _cameraPos = _gameModule->getCameraInit(_currCameraNum)->cameraPos; + _newCameraPos = _cameraPos; + break; + } + } + break; + } + } + + if (sounds) + updateBackgroundSounds(); + +} + +bool BbvsEngine::changeScene() { + + writeContinueSavegame(); + + if (_newSceneNum >= 27 && _newSceneNum <= 30) { + // Run minigames + stopSpeech(); + stopSounds(); + _sceneVisited[_currSceneNum] = 1; + if (runMinigame(_newSceneNum - 27)) { + SWAP(_currSceneNum, _newSceneNum); + } + } else if (_newSceneNum >= 31 && _newSceneNum <= 43) { + // Play video + stopSpeech(); + stopSounds(); + _sceneVisited[_currSceneNum] = 1; + _playVideoNumber = _newSceneNum - 30; + _currSceneNum = _newSceneNum; + _newSceneNum = kAfterVideoSceneNum[_playVideoNumber]; + } else if (_newSceneNum >= 100 && _currSceneNum == kCredits) { + // Play secret video + stopSounds(); + _playVideoNumber = _newSceneNum; + _currSceneNum = 49; + _newSceneNum = kCredits; + } else { + // Normal scene + initScene(true); + } + + return true; + +} + +} // End of namespace Bbvs diff --git a/engines/bbvs/walk.cpp b/engines/bbvs/walk.cpp new file mode 100644 index 0000000000..cabe402a46 --- /dev/null +++ b/engines/bbvs/walk.cpp @@ -0,0 +1,466 @@ +/* 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 "bbvs/bbvs.h" +#include "bbvs/gamemodule.h" + +namespace Bbvs { + +static const int8 kTurnInfo[8][8] = { + { 0, 1, 1, 1, 1, -1, -1, -1}, + {-1, 0, 1, 1, 1, 1, -1, -1}, + {-1, -1, 0, 1, 1, 1, 1, -1}, + {-1, -1, -1, 0, 1, 1, 1, 1}, + { 1, -1, -1, -1, 0, 1, 1, 1}, + { 1, 1, -1, -1, -1, 0, 1, 1}, + { 1, 1, 1, -1, -1, -1, 0, 1}, + { 1, 1, 1, 1, -1, -1, -1, 0} +}; + +static const int8 kWalkAnimTbl[32] = { + 3, 0, 0, 0, 2, 1, 1, 1, + 15, 12, 14, 13, 0, 0, 0, 0, + 7, 9, 4, 8, 6, 10, 5, 11, + 3, 0, 2, 1, 15, 12, 14, 13 +}; + +void BbvsEngine::startWalkObject(SceneObject *sceneObject) { + const int kMaxDistance = 0xFFFFFF; + + if (_buttheadObject != sceneObject && _beavisObject != sceneObject) + return; + + initWalkAreas(sceneObject); + _sourceWalkAreaPt.x = sceneObject->x >> 16; + _sourceWalkAreaPt.y = sceneObject->y >> 16; + + _sourceWalkArea = getWalkAreaAtPos(_sourceWalkAreaPt); + if (!_sourceWalkArea) + return; + + _destWalkAreaPt = sceneObject->walkDestPt; + + _destWalkArea = getWalkAreaAtPos(_destWalkAreaPt); + if (!_destWalkArea) + return; + + if (_sourceWalkArea != _destWalkArea) { + _currWalkDistance = kMaxDistance; + walkFindPath(_sourceWalkArea, 0); + _destWalkAreaPt = _currWalkDistance == kMaxDistance ? _sourceWalkAreaPt : _finalWalkPt; + } + + walkObject(sceneObject, _destWalkAreaPt, sceneObject->sceneObjectDef->walkSpeed); + +} + +void BbvsEngine::updateWalkObject(SceneObject *sceneObject) { + int animIndex; + + if (sceneObject->walkCount > 0 && (sceneObject->xIncr != 0 || sceneObject->yIncr != 0)) { + if (ABS(sceneObject->xIncr) <= ABS(sceneObject->yIncr)) + sceneObject->turnValue = sceneObject->yIncr >= 0 ? 0 : 4; + else + sceneObject->turnValue = sceneObject->xIncr >= 0 ? 6 : 2; + animIndex = sceneObject->sceneObjectDef->animIndices[kWalkAnimTbl[sceneObject->turnValue]]; + sceneObject->turnCount = 0; + sceneObject->turnTicks = 0; + } else { + animIndex = sceneObject->sceneObjectDef->animIndices[kWalkTurnTbl[sceneObject->turnValue]]; + } + + Animation *anim = 0; + if (animIndex > 0) + anim = _gameModule->getAnimation(animIndex); + + if (sceneObject->anim != anim) { + if (anim) { + sceneObject->anim = anim; + sceneObject->animIndex = animIndex; + sceneObject->frameTicks = 1; + sceneObject->frameIndex = anim->frameCount - 1; + } else { + sceneObject->anim = 0; + sceneObject->animIndex = 0; + sceneObject->frameTicks = 0; + sceneObject->frameIndex = 0; + } + } + +} + +void BbvsEngine::walkObject(SceneObject *sceneObject, const Common::Point &destPt, int walkSpeed) { + int deltaX = destPt.x - (sceneObject->x >> 16); + int deltaY = destPt.y - (sceneObject->y >> 16); + float distance = sqrt((double)(deltaX * deltaX + deltaY * deltaY)); + // NOTE The original doesn't have this check but without it the whole pathfinding breaks + if (distance > 0.0) { + sceneObject->walkCount = distance / ((((float)ABS(deltaX) / distance) + 1.0) * ((float)walkSpeed / 120)); + sceneObject->xIncr = ((float)deltaX / sceneObject->walkCount) * 65536.0; + sceneObject->yIncr = ((float)deltaY / sceneObject->walkCount) * 65536.0; + sceneObject->x = (sceneObject->x & 0xFFFF0000) | 0x8000; + sceneObject->y = (sceneObject->y & 0xFFFF0000) | 0x8000; + } else + sceneObject->walkCount = 0; +} + +void BbvsEngine::turnObject(SceneObject *sceneObject) { + if (sceneObject->turnTicks > 0) { + --sceneObject->turnTicks; + } else { + int turnDir = kTurnInfo[sceneObject->turnValue][sceneObject->turnCount & 0x7F]; + if (turnDir) { + sceneObject->turnValue = (sceneObject->turnValue + turnDir) & 7; + int turnAnimIndex = sceneObject->sceneObjectDef->animIndices[kWalkTurnTbl[sceneObject->turnValue]]; + if (turnAnimIndex) { + Animation *anim = _gameModule->getAnimation(turnAnimIndex); + if (anim) { + sceneObject->anim = anim; + sceneObject->animIndex = turnAnimIndex; + sceneObject->turnTicks = 4; + sceneObject->frameTicks = 1; + sceneObject->frameIndex = anim->frameCount - 1; + } + } + } else { + sceneObject->turnCount = 0; + } + } +} + +int BbvsEngine::rectSubtract(const Common::Rect &rect1, const Common::Rect &rect2, Common::Rect *outRects) { + int count = 0; + Common::Rect workRect = rect1.findIntersectingRect(rect2); + if (!workRect.isEmpty()) { + count = 0; + outRects[count] = Common::Rect(rect2.width(), workRect.top - rect2.top); + if (!outRects[count].isEmpty()) { + outRects[count].translate(rect2.left, rect2.top); + ++count; + } + outRects[count] = Common::Rect(workRect.left - rect2.left, workRect.height()); + if (!outRects[count].isEmpty()) { + outRects[count].translate(rect2.left, workRect.top); + ++count; + } + outRects[count] = Common::Rect(rect2.right - workRect.right, workRect.height()); + if (!outRects[count].isEmpty()) { + outRects[count].translate(workRect.right, workRect.top); + ++count; + } + outRects[count] = Common::Rect(rect2.width(), rect2.bottom - workRect.bottom); + if (!outRects[count].isEmpty()) { + outRects[count].translate(rect2.left, workRect.bottom); + ++count; + } + } else { + outRects[0] = rect2; + count = 1; + } + return count; +} + +WalkInfo *BbvsEngine::addWalkInfo(int16 x, int16 y, int delta, int direction, int16 midPtX, int16 midPtY, int walkAreaIndex) { + WalkInfo *walkInfo = &_walkInfos[_walkInfosCount++]; + walkInfo->walkAreaIndex = walkAreaIndex; + walkInfo->direction = direction; + walkInfo->x = x; + walkInfo->y = y; + walkInfo->delta = delta; + walkInfo->midPt.x = midPtX; + walkInfo->midPt.y = midPtY; + return walkInfo; +} + +void BbvsEngine::initWalkAreas(SceneObject *sceneObject) { + int16 objX = sceneObject->x >> 16; + int16 objY = sceneObject->y >> 16; + Common::Rect rect; + bool doRect = false; + Common::Rect *workWalkableRects; + + if (_buttheadObject == sceneObject && _beavisObject->anim) { + rect = _beavisObject->anim->frameRects2[_beavisObject->frameIndex]; + rect.translate(_beavisObject->x >> 16, 1 + (_beavisObject->y >> 16)); + doRect = !rect.isEmpty(); + } else if (_buttheadObject->anim) { + rect = _buttheadObject->anim->frameRects2[_buttheadObject->frameIndex]; + rect.translate(_buttheadObject->x >> 16, 1 + (_buttheadObject->y >> 16)); + doRect = !rect.isEmpty(); + } + + workWalkableRects = _walkableRects; + + _walkAreasCount = _walkableRectsCount; + + if (doRect && !rect.contains(objX, objY)) { + _walkAreasCount = 0; + for (int i = 0; i < _walkableRectsCount; ++i) + _walkAreasCount += rectSubtract(rect, _walkableRects[i], &_tempWalkableRects1[_walkAreasCount]); + workWalkableRects = _tempWalkableRects1; + } + + for (int i = 0; i < _walkAreasCount; ++i) { + _walkAreas[i].x = workWalkableRects[i].left; + _walkAreas[i].y = workWalkableRects[i].top; + _walkAreas[i].width = workWalkableRects[i].width(); + _walkAreas[i].height = workWalkableRects[i].height(); + _walkAreas[i].checked = false; + _walkAreas[i].linksCount = 0; + } + + _walkInfosCount = 0; + + // Find connections between the walkRects + + for (int i = 0; i < _walkAreasCount; ++i) { + WalkArea *walkArea1 = &_walkAreas[i]; + int xIter = walkArea1->x + walkArea1->width; + int yIter = walkArea1->y + walkArea1->height; + + for (int j = 0; j < _walkAreasCount; ++j) { + WalkArea *walkArea2 = &_walkAreas[j]; + + if (i == j) + continue; + + if (walkArea2->y == yIter) { + int wa1x = MAX(walkArea1->x, walkArea2->x); + int wa2x = MIN(walkArea2->x + walkArea2->width, xIter); + if (wa2x > wa1x) { + debug(5, "WalkArea %d connected to %d by Y", i, j); + WalkInfo *walkInfo1 = addWalkInfo(wa1x, yIter - 1, wa2x - wa1x, 0, wa1x + (wa2x - wa1x) / 2, yIter - 1, i); + WalkInfo *walkInfo2 = addWalkInfo(wa1x, yIter, wa2x - wa1x, 0, wa1x + (wa2x - wa1x) / 2, yIter, j); + walkArea1->linksD1[walkArea1->linksCount] = walkInfo1; + walkArea1->linksD2[walkArea1->linksCount] = walkInfo2; + walkArea1->links[walkArea1->linksCount++] = walkArea2; + walkArea2->linksD1[walkArea2->linksCount] = walkInfo2; + walkArea2->linksD2[walkArea2->linksCount] = walkInfo1; + walkArea2->links[walkArea2->linksCount++] = walkArea1; + } + } + + if (walkArea2->x == xIter) { + int wa1y = MAX(walkArea1->y, walkArea2->y); + int wa2y = MIN(walkArea2->y + walkArea2->height, yIter); + if (wa2y > wa1y) { + debug(5, "WalkArea %d connected to %d by X", i, j); + WalkInfo *walkInfo1 = addWalkInfo(xIter - 1, wa1y, wa2y - wa1y, 1, xIter - 1, wa1y + (wa2y - wa1y) / 2, i); + WalkInfo *walkInfo2 = addWalkInfo(xIter, wa1y, wa2y - wa1y, 1, xIter, wa1y + (wa2y - wa1y) / 2, j); + walkArea1->linksD1[walkArea1->linksCount] = walkInfo1; + walkArea1->linksD2[walkArea1->linksCount] = walkInfo2; + walkArea1->links[walkArea1->linksCount++] = walkArea2; + walkArea2->linksD1[walkArea2->linksCount] = walkInfo2; + walkArea2->linksD2[walkArea2->linksCount] = walkInfo1; + walkArea2->links[walkArea2->linksCount++] = walkArea1; + } + } + + } + + } + +} + +WalkArea *BbvsEngine::getWalkAreaAtPos(const Common::Point &pt) { + for (int i = 0; i < _walkAreasCount; ++i) { + WalkArea *walkArea = &_walkAreas[i]; + if (walkArea->contains(pt)) + return walkArea; + } + return 0; +} + +bool BbvsEngine::canButtheadWalkToDest(const Common::Point &destPt) { + Common::Point srcPt; + + _walkReachedDestArea = false; + initWalkAreas(_buttheadObject); + srcPt.x = _buttheadObject->x >> 16; + srcPt.y = _buttheadObject->y >> 16; + _sourceWalkArea = getWalkAreaAtPos(srcPt); + if (_sourceWalkArea) { + _destWalkArea = getWalkAreaAtPos(destPt); + if (_destWalkArea) + canWalkToDest(_sourceWalkArea, 0); + } + return _walkReachedDestArea; +} + +void BbvsEngine::canWalkToDest(WalkArea *walkArea, int infoCount) { + + if (_destWalkArea == walkArea) { + _walkReachedDestArea = true; + return; + } + + if (_gameModule->getFieldC() <= 320 || infoCount <= 20) { + walkArea->checked = true; + for (int linkIndex = 0; linkIndex < walkArea->linksCount; ++linkIndex) { + if (!walkArea->links[linkIndex]->checked) { + canWalkToDest(walkArea->links[linkIndex], infoCount + 2); + if (_walkReachedDestArea) + break; + } + } + walkArea->checked = false; + } + +} + +bool BbvsEngine::walkTestLineWalkable(const Common::Point &sourcePt, const Common::Point &destPt, WalkInfo *walkInfo) { + const float ptDeltaX = destPt.x - sourcePt.x; + const float ptDeltaY = destPt.y - sourcePt.y; + const float wDeltaX = walkInfo->x - sourcePt.x; + const float wDeltaY = walkInfo->y - sourcePt.y; + if (destPt.x == sourcePt.x) + return true; + if (walkInfo->direction) { + const float nDeltaY = wDeltaX * ptDeltaY / ptDeltaX + (float)sourcePt.y - (float)walkInfo->y; + return (nDeltaY >= 0.0) && (nDeltaY < (float)walkInfo->delta); + } else { + const float nDeltaX = wDeltaY / ptDeltaX * ptDeltaY + (float)sourcePt.x - (float)walkInfo->x; + return (nDeltaX >= 0.0) && (nDeltaX < (float)walkInfo->delta); + } + return false; +} + +void BbvsEngine::walkFindPath(WalkArea *sourceWalkArea, int infoCount) { + if (_destWalkArea == sourceWalkArea) { + walkFoundPath(infoCount); + } else if (_gameModule->getFieldC() <= 320 || infoCount <= 20) { + sourceWalkArea->checked = true; + for (int linkIndex = 0; linkIndex < sourceWalkArea->linksCount; ++linkIndex) { + if (!sourceWalkArea->links[linkIndex]->checked) { + _walkInfoPtrs[infoCount + 0] = sourceWalkArea->linksD1[linkIndex]; + _walkInfoPtrs[infoCount + 1] = sourceWalkArea->linksD2[linkIndex]; + walkFindPath(sourceWalkArea->links[linkIndex], infoCount + 2); + } + } + sourceWalkArea->checked = false; + } +} + +int BbvsEngine::calcDistance(const Common::Point &pt1, const Common::Point &pt2) { + return (int)sqrt((double)(pt1.x - pt2.x) * (pt1.x - pt2.x) + (pt1.y - pt2.y) * (pt1.y - pt2.y)); +} + +void BbvsEngine::walkFoundPath(int count) { + debug(5, "BbvsEngine::walkFoundPath(%d)", count); + + Common::Point midPt = _sourceWalkAreaPt; + int totalMidPtDistance = 0; + + if (count > 0) { + Common::Point lastMidPt; + int halfCount = (count + 1) >> 1; + for (int i = 0; i < halfCount; ++i) { + lastMidPt = midPt; + midPt = _walkInfoPtrs[i * 2]->midPt; + totalMidPtDistance += calcDistance(midPt, lastMidPt); + } + } + + int distance = calcDistance(midPt, _destWalkAreaPt) + totalMidPtDistance; + + debug(5, "BbvsEngine::walkFoundPath() distance: %d; _currWalkDistance: %d", distance, _currWalkDistance); + + if (distance >= _currWalkDistance) + return; + + debug(5, "BbvsEngine::walkFoundPath() distance smaller"); + + _currWalkDistance = distance; + + Common::Point destPt = _destWalkAreaPt, newDestPt; + + while (1) { + + int index = 0; + if (count > 0) { + do { + if (!walkTestLineWalkable(_sourceWalkAreaPt, destPt, _walkInfoPtrs[index])) + break; + ++index; + } while (index < count); + } + + if (index == count) + break; + + WalkInfo *walkInfo = _walkInfoPtrs[--count]; + destPt.x = walkInfo->x; + destPt.y = walkInfo->y; + + if (walkInfo->direction) { + newDestPt.x = walkInfo->x; + newDestPt.y = walkInfo->y + walkInfo->delta - 1; + } else { + newDestPt.x = walkInfo->x + walkInfo->delta - 1; + newDestPt.y = walkInfo->y; + } + + if ((newDestPt.x - _destWalkAreaPt.x) * (newDestPt.x - _destWalkAreaPt.x) + + (newDestPt.y - _destWalkAreaPt.y) * (newDestPt.y - _destWalkAreaPt.y) < + (destPt.x - _destWalkAreaPt.x) * (destPt.x - _destWalkAreaPt.x) + + (destPt.y - _destWalkAreaPt.y) * (destPt.y - _destWalkAreaPt.y)) + destPt = newDestPt; + + } + + debug(5, "BbvsEngine::walkFoundPath() destPt: (%d, %d)", destPt.x, destPt.y); + + _finalWalkPt = destPt; + + debug(5, "BbvsEngine::walkFoundPath() OK"); + +} + +void BbvsEngine::updateWalkableRects() { + // Go through all walkable rects and subtract all scene object rects + Common::Rect *rectsList1 = _tempWalkableRects1; + Common::Rect *rectsList2 = _gameModule->getWalkRects(); + _walkableRectsCount = _gameModule->getWalkRectsCount(); + for (int i = 0; i < _gameModule->getSceneObjectDefsCount(); ++i) { + SceneObject *sceneObject = &_sceneObjects[i]; + Animation *anim = sceneObject->anim; + if (anim && _buttheadObject != sceneObject && _beavisObject != sceneObject) { + Common::Rect rect = sceneObject->anim->frameRects2[sceneObject->frameIndex]; + rect.translate(sceneObject->x >> 16, sceneObject->y >> 16); + int count = _walkableRectsCount; + _walkableRectsCount = 0; + for (int j = 0; j < count; ++j) + _walkableRectsCount += rectSubtract(rect, rectsList2[j], &rectsList1[_walkableRectsCount]); + if (rectsList1 == _tempWalkableRects1) { + rectsList1 = _tempWalkableRects2; + rectsList2 = _tempWalkableRects1; + } else { + rectsList1 = _tempWalkableRects1; + rectsList2 = _tempWalkableRects2; + } + } + } + for (int i = 0; i < _walkableRectsCount; ++i) + _walkableRects[i] = rectsList2[i]; +} + +} // End of namespace Bbvs -- cgit v1.2.3 From d6a90f610f241b59e63b65088a2acfdd359b1d6d Mon Sep 17 00:00:00 2001 From: Johannes Schickel Date: Sat, 22 Feb 2014 19:47:15 +0100 Subject: ANDROID: Slight formatting fix. --- backends/platform/android/org/scummvm/scummvm/ScummVMEvents.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/backends/platform/android/org/scummvm/scummvm/ScummVMEvents.java b/backends/platform/android/org/scummvm/scummvm/ScummVMEvents.java index eef5d1911b..a96bc566eb 100644 --- a/backends/platform/android/org/scummvm/scummvm/ScummVMEvents.java +++ b/backends/platform/android/org/scummvm/scummvm/ScummVMEvents.java @@ -70,8 +70,8 @@ public class ScummVMEvents implements } public boolean onGenericMotionEvent(final MotionEvent e) { - // Make sure we're running on Android 3.1 or higher to use getAxisValue() - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB_MR1) { + // Make sure we're running on Android 3.1 or higher to use getAxisValue() + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB_MR1) { if((e.getSource() & InputDevice.SOURCE_CLASS_JOYSTICK) != 0) { _scummvm.pushEvent(JE_JOYSTICK, e.getAction(), (int)(e.getAxisValue(MotionEvent.AXIS_X)*100), @@ -79,7 +79,7 @@ public class ScummVMEvents implements 0, 0); return true; } - } + } return false; } -- cgit v1.2.3 From b0f792bc35e68a3cbb5e964dbdcb9761f98e1496 Mon Sep 17 00:00:00 2001 From: Eugene Sandulenko Date: Sat, 22 Feb 2014 23:12:27 +0200 Subject: FULLPIPE: Implement sceneHandler09_ballExplode() --- engines/fullpipe/constants.h | 1 + engines/fullpipe/scenes/scene09.cpp | 71 ++++++++++++++++++++++++++++++++++++- 2 files changed, 71 insertions(+), 1 deletion(-) diff --git a/engines/fullpipe/constants.h b/engines/fullpipe/constants.h index 01bb364796..6adf20228e 100644 --- a/engines/fullpipe/constants.h +++ b/engines/fullpipe/constants.h @@ -604,6 +604,7 @@ namespace Fullpipe { #define MV_MAN9_SHOOT 922 #define MV_VSN_CYCLE2 2987 #define PIC_SC9_LADDER_R 2700 +#define QU_SC9_BALLEXPLODE 938 #define QU_SC9_EATBALL 942 #define QU_TTA9_GOL 4937 #define SND_9_006 3650 diff --git a/engines/fullpipe/scenes/scene09.cpp b/engines/fullpipe/scenes/scene09.cpp index 6743795d46..9bff577885 100644 --- a/engines/fullpipe/scenes/scene09.cpp +++ b/engines/fullpipe/scenes/scene09.cpp @@ -139,6 +139,7 @@ void scene09_initScene(Scene *sc) { g_vars->scene09_var07.reset(); Ball *b9 = g_vars->scene09_var07.sub04(g_vars->scene09_var07.field_8, 0); + b9->ani = sc->getStaticANIObject1ById(ANI_BALL9, -1); b9->ani->setAlpha(0xc8); @@ -305,6 +306,7 @@ void sceneHandler09_eatBall() { g_vars->scene09_flyingBall->hide(); Ball *ball = g_vars->scene09_balls.pHead; + if (ball) { while (ball && ball->ani != g_vars->scene09_flyingBall) ball = ball->p0; @@ -462,7 +464,74 @@ void sceneHandler09_collideBall(Ball *ball) { } void sceneHandler09_ballExplode(Ball *ball) { - warning("STUB: sceneHandler09_ballExplode()"); + if (ball == g_vars->scene09_balls.pHead) + g_vars->scene09_balls.pHead = ball->p0; + else + ball->p1->p0 = ball->p0; + + if (ball == g_vars->scene09_balls.field_8) + g_vars->scene09_balls.field_8 = ball->p1; + else + ball->p0->p1 = ball->p1; + + ball->p0 = g_vars->scene09_balls.pTail; + + g_vars->scene09_balls.pTail = ball; + g_vars->scene09_balls.numBalls--; + + if (!g_vars->scene09_balls.numBalls) { + g_vars->scene09_balls.pTail = 0; + g_vars->scene09_balls.field_8 = 0; + g_vars->scene09_balls.pHead = 0; + free(g_vars->scene09_balls.cPlex); + g_vars->scene09_balls.cPlex = 0; + } + + MessageQueue *mq = new MessageQueue(g_fp->_currentScene->getMessageQueueById(QU_SC9_BALLEXPLODE), 0, 1); + + mq->replaceKeyCode(-1, ball->ani->_okeyCode); + + if (!mq->chain(ball->ani)) + delete mq; + + Ball *runPtr = g_vars->scene09_var07.pTail; + Ball *lastP = g_vars->scene09_var07.field_8; + + if (!g_vars->scene09_var07.pTail) { + g_vars->scene09_var07.cPlex = (byte *)calloc(g_vars->scene09_var07.cPlexLen, sizeof(Ball)); + + byte *p1 = g_vars->scene09_var07.cPlex + (g_vars->scene09_var07.cPlexLen - 1) * sizeof(Ball); + + if (g_vars->scene09_var07.cPlexLen - 1 < 0) { + runPtr = g_vars->scene09_var07.pTail; + } else { + runPtr = g_vars->scene09_var07.pTail; + + for (int j = 0; j < g_vars->scene09_var07.cPlexLen; j++) { + ((Ball *)p1)->p1 = runPtr; + runPtr = (Ball *)p1; + + p1 -= sizeof(Ball); + } + + g_vars->scene09_var07.pTail = runPtr; + } + } + + g_vars->scene09_var07.pTail = runPtr->p0; + runPtr->p1 = lastP; + runPtr->p0 = 0; + runPtr->ani = ball->ani; + + g_vars->scene09_var07.numBalls++; + + if (g_vars->scene09_var07.field_8) { + g_vars->scene09_var07.field_8->p0 = runPtr; + g_vars->scene09_var07.field_8 = runPtr; + } else { + g_vars->scene09_var07.pHead = runPtr; + g_vars->scene09_var07.field_8 = runPtr; + } } void sceneHandler09_checkHangerCollide() { -- cgit v1.2.3 From 6cd0d012b1eaf3f8ff2625df2a82f950d7b0abf0 Mon Sep 17 00:00:00 2001 From: Strangerke Date: Sun, 23 Feb 2014 07:45:30 +0100 Subject: BBVS: remove useless check in updateIndicator() --- engines/bbvs/minigames/bbloogie.cpp | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/engines/bbvs/minigames/bbloogie.cpp b/engines/bbvs/minigames/bbloogie.cpp index 3f7a407df5..ab400e27a7 100644 --- a/engines/bbvs/minigames/bbloogie.cpp +++ b/engines/bbvs/minigames/bbloogie.cpp @@ -981,13 +981,11 @@ void MinigameBbLoogie::updateIndicator(int objIndex) { int unk2mod = loogieObj->unk2 / 8; int unk2div = loogieObj->unk2 / 8 * 8; int v6 = 0; - if (unk2div >= 8) { - if (unk2div != 8) { - int v7 = 1; - do { - v6 += 8 * kLoogieOffY[v7++]; - } while (v7 != unk2mod); - } + if (unk2div > 8) { + int v7 = 1; + do { + v6 += 8 * kLoogieOffY[v7++]; + } while (v7 != unk2mod); } int yOfs = (loogieObj->unk2 % 8 + 1) * kLoogieOffY[loogieObj->unk2 / 8] + v6; if (loogieObj->unk2 >= 30) -- cgit v1.2.3 From 4d16b4ef193ba1e0137f166893ddb07b59bd96fb Mon Sep 17 00:00:00 2001 From: Strangerke Date: Sun, 23 Feb 2014 18:40:35 +0100 Subject: R2R: Add a little hack to get the correct sentence order after scanning ARM (bug #6504) --- engines/tsage/ringworld2/ringworld2_scenes0.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/engines/tsage/ringworld2/ringworld2_scenes0.cpp b/engines/tsage/ringworld2/ringworld2_scenes0.cpp index c6dd248729..b82565332a 100644 --- a/engines/tsage/ringworld2/ringworld2_scenes0.cpp +++ b/engines/tsage/ringworld2/ringworld2_scenes0.cpp @@ -3483,6 +3483,9 @@ void Scene300::postInit(SceneObjectList *OwnerList) { if (R2_GLOBALS.getFlag(55)) { if (R2_GLOBALS.getFlag(57)) { + // Little hack to get the correct sentence order + R2_GLOBALS._stripManager_lookupList[8] = 2; + R2_GLOBALS.clearFlag(60); R2_GLOBALS._events.setCursor(CURSOR_ARROW); _sceneMode = 16; -- cgit v1.2.3 From 0593f434afcd772e6f171cc466d8ad714146e864 Mon Sep 17 00:00:00 2001 From: Matthew Hoops Date: Sun, 23 Feb 2014 14:49:19 -0500 Subject: PEGASUS: Force the inventory drawers closed when loading a game --- engines/pegasus/pegasus.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/engines/pegasus/pegasus.cpp b/engines/pegasus/pegasus.cpp index 0148470cd5..c45053dfed 100644 --- a/engines/pegasus/pegasus.cpp +++ b/engines/pegasus/pegasus.cpp @@ -431,6 +431,8 @@ void PegasusEngine::removeTimeBase(TimeBase *timeBase) { bool PegasusEngine::loadFromStream(Common::SeekableReadStream *stream) { // Dispose currently running stuff + lowerInventoryDrawerSync(); + lowerBiochipDrawerSync(); useMenu(0); useNeighborhood(0); removeAllItemsFromInventory(); -- cgit v1.2.3 From 5e8559e23ff8d1979ca216938b3aa29426f5c94a Mon Sep 17 00:00:00 2001 From: Eugene Sandulenko Date: Sun, 23 Feb 2014 23:40:23 +0200 Subject: FULLPIPE: Started renaming in scene09 --- engines/fullpipe/scenes.cpp | 8 ++++---- engines/fullpipe/scenes.h | 8 ++++---- engines/fullpipe/scenes/scene09.cpp | 40 ++++++++++++++++++------------------- 3 files changed, 28 insertions(+), 28 deletions(-) diff --git a/engines/fullpipe/scenes.cpp b/engines/fullpipe/scenes.cpp index 6fd3989a3e..c8c69b49ec 100644 --- a/engines/fullpipe/scenes.cpp +++ b/engines/fullpipe/scenes.cpp @@ -157,12 +157,12 @@ Vars::Vars() { scene08_manOffsetY = 0; scene09_flyingBall = 0; - scene09_var05 = 0; - scene09_glotatel = 0; + scene09_numSwallenBalls = 0; + scene09_gulper = 0; scene09_spitter = 0; scene09_grit = 0; - scene09_var02 = 0; - scene09_var08 = 1; + scene09_dudeY = 0; + scene09_gulperIsPresent = true; scene09_var09 = 0; scene09_var10 = -1; scene09_var11 = -1; diff --git a/engines/fullpipe/scenes.h b/engines/fullpipe/scenes.h index 32dfb96c3f..7211a61d22 100644 --- a/engines/fullpipe/scenes.h +++ b/engines/fullpipe/scenes.h @@ -348,13 +348,13 @@ public: bool scene08_stairsVisible; int scene08_manOffsetY; - int scene09_var02; + int scene09_dudeY; StaticANIObject *scene09_flyingBall; - int scene09_var05; - StaticANIObject *scene09_glotatel; + int scene09_numSwallenBalls; + StaticANIObject *scene09_gulper; StaticANIObject *scene09_spitter; StaticANIObject *scene09_grit; - int scene09_var08; + bool scene09_gulperIsPresent; int scene09_var09; int scene09_var10; int scene09_var11; diff --git a/engines/fullpipe/scenes/scene09.cpp b/engines/fullpipe/scenes/scene09.cpp index 9bff577885..39fc6497eb 100644 --- a/engines/fullpipe/scenes/scene09.cpp +++ b/engines/fullpipe/scenes/scene09.cpp @@ -59,11 +59,11 @@ void scene09_setupGrit(Scene *sc) { void scene09_initScene(Scene *sc) { g_vars->scene09_flyingBall = 0; - g_vars->scene09_var05 = 0; - g_vars->scene09_glotatel = sc->getStaticANIObject1ById(ANI_GLOTATEL, -1); + g_vars->scene09_numSwallenBalls = 0; + g_vars->scene09_gulper = sc->getStaticANIObject1ById(ANI_GLOTATEL, -1); g_vars->scene09_spitter = sc->getStaticANIObject1ById(ANI_PLEVATEL, -1); g_vars->scene09_grit = sc->getStaticANIObject1ById(ANI_GRIT_9, -1); - g_vars->scene09_var08 = 1; + g_vars->scene09_gulperIsPresent = true; g_vars->scene09_var09 = 0; g_vars->scene09_var10 = -1; g_vars->scene09_var11 = -1; @@ -232,7 +232,7 @@ int scene09_updateCursor() { g_fp->_updateScreenCallback = sceneHandler09_updateScreenCallback; } else { if (g_fp->_objectIdAtCursor == PIC_SC9_LADDER_R && g_fp->_cursorId == PIC_CSR_ITN) - g_fp->_cursorId = (g_vars->scene09_var02 < 350) ? PIC_CSR_GOD : PIC_CSR_GOU; + g_fp->_cursorId = (g_vars->scene09_dudeY < 350) ? PIC_CSR_GOD : PIC_CSR_GOU; } } else { g_fp->_cursorId = PIC_CSR_ITN; @@ -242,14 +242,14 @@ int scene09_updateCursor() { } void sceneHandler09_winArcade() { - if (g_vars->scene09_glotatel->_flags & 4) { - g_vars->scene09_glotatel->changeStatics2(ST_GLT_SIT); - g_vars->scene09_glotatel->startAnim(MV_GLT_FLYAWAY, 0, -1); + if (g_vars->scene09_gulper->_flags & 4) { + g_vars->scene09_gulper->changeStatics2(ST_GLT_SIT); + g_vars->scene09_gulper->startAnim(MV_GLT_FLYAWAY, 0, -1); g_fp->setObjectState(sO_Jug, g_fp->getObjectEnumState(sO_Jug, sO_Unblocked)); g_fp->setObjectState(sO_RightStairs_9, g_fp->getObjectEnumState(sO_RightStairs_9, sO_IsOpened)); - g_vars->scene09_var08 = 0; + g_vars->scene09_gulperIsPresent = false; } } @@ -343,10 +343,10 @@ void sceneHandler09_eatBall() { g_vars->scene09_var07.field_8 = ball; g_vars->scene09_flyingBall = 0; - g_vars->scene09_var05++; + g_vars->scene09_numSwallenBalls++; - if (g_vars->scene09_var05 >= 3) { - MessageQueue *mq = g_vars->scene09_glotatel->getMessageQueue(); + if (g_vars->scene09_numSwallenBalls >= 3) { + MessageQueue *mq = g_vars->scene09_gulper->getMessageQueue(); if (mq) { ExCommand *ex = new ExCommand(ANI_GLOTATEL, 1, MV_GLT_FLYAWAY, 0, 0, 0, 1, 0, 0, 0); @@ -358,7 +358,7 @@ void sceneHandler09_eatBall() { g_fp->setObjectState(sO_Jug, g_fp->getObjectEnumState(sO_Jug, sO_Unblocked)); g_fp->setObjectState(sO_RightStairs_9, g_fp->getObjectEnumState(sO_RightStairs_9, sO_IsOpened)); - g_vars->scene09_var08 = 0; + g_vars->scene09_gulperIsPresent = false; } } } @@ -447,17 +447,17 @@ void sceneHandler09_limitHangerPhase() { } void sceneHandler09_collideBall(Ball *ball) { - if (g_vars->scene09_var08) { + if (g_vars->scene09_gulperIsPresent) { g_vars->scene09_flyingBall = ball->ani; - if (g_vars->scene09_glotatel) { - g_vars->scene09_glotatel->changeStatics2(ST_GLT_SIT); + if (g_vars->scene09_gulper) { + g_vars->scene09_gulper->changeStatics2(ST_GLT_SIT); MessageQueue *mq = new MessageQueue(g_fp->_currentScene->getMessageQueueById(QU_SC9_EATBALL), 0, 0); mq->setFlags(mq->getFlags() | 1); - if (!mq->chain(g_vars->scene09_glotatel)) + if (!mq->chain(g_vars->scene09_gulper)) delete mq; } } @@ -541,9 +541,9 @@ void sceneHandler09_checkHangerCollide() { ball->ani->setOXY(newx, ball->ani->_oy); if (newx <= 1398 || g_vars->scene09_flyingBall) { - if (g_vars->scene09_var08) + if (g_vars->scene09_gulperIsPresent) goto LABEL_11; - } else if (g_vars->scene09_var08) { + } else if (g_vars->scene09_gulperIsPresent) { sceneHandler09_collideBall(ball); continue; } @@ -623,7 +623,7 @@ int sceneHandler09(ExCommand *cmd) { break; case MSG_SC9_FLOWN: - g_vars->scene09_var08 = 0; + g_vars->scene09_gulperIsPresent = false; break; case MSG_SC9_EATBALL: @@ -641,7 +641,7 @@ int sceneHandler09(ExCommand *cmd) { if (g_fp->_aniMan2) { int x = g_fp->_aniMan2->_ox; - g_vars->scene09_var02 = g_fp->_aniMan2->_oy; + g_vars->scene09_dudeY = g_fp->_aniMan2->_oy; if (x < g_fp->_sceneRect.left + 200) g_fp->_currentScene->_x = x - g_fp->_sceneRect.left - 300; -- cgit v1.2.3 From 6673472a2266373a96959c741dc922b40e975179 Mon Sep 17 00:00:00 2001 From: Eugene Sandulenko Date: Sun, 23 Feb 2014 23:44:53 +0200 Subject: FULLPIPE: More renames in scene09 --- engines/fullpipe/scenes.cpp | 4 ++-- engines/fullpipe/scenes.h | 4 ++-- engines/fullpipe/scenes/scene09.cpp | 40 ++++++++++++++++++------------------- 3 files changed, 24 insertions(+), 24 deletions(-) diff --git a/engines/fullpipe/scenes.cpp b/engines/fullpipe/scenes.cpp index c8c69b49ec..1c82110f6b 100644 --- a/engines/fullpipe/scenes.cpp +++ b/engines/fullpipe/scenes.cpp @@ -163,8 +163,8 @@ Vars::Vars() { scene09_grit = 0; scene09_dudeY = 0; scene09_gulperIsPresent = true; - scene09_var09 = 0; - scene09_var10 = -1; + scene09_dudeIsOnLadder = false; + scene09_interactingHanger = -1; scene09_var11 = -1; scene09_var12 = -1000; scene09_numMovingHangers = 0; diff --git a/engines/fullpipe/scenes.h b/engines/fullpipe/scenes.h index 7211a61d22..8b82101c14 100644 --- a/engines/fullpipe/scenes.h +++ b/engines/fullpipe/scenes.h @@ -355,8 +355,8 @@ public: StaticANIObject *scene09_spitter; StaticANIObject *scene09_grit; bool scene09_gulperIsPresent; - int scene09_var09; - int scene09_var10; + bool scene09_dudeIsOnLadder; + int scene09_interactingHanger; int scene09_var11; int scene09_var12; BallChain scene09_balls; diff --git a/engines/fullpipe/scenes/scene09.cpp b/engines/fullpipe/scenes/scene09.cpp index 39fc6497eb..dcd6b83cde 100644 --- a/engines/fullpipe/scenes/scene09.cpp +++ b/engines/fullpipe/scenes/scene09.cpp @@ -64,8 +64,8 @@ void scene09_initScene(Scene *sc) { g_vars->scene09_spitter = sc->getStaticANIObject1ById(ANI_PLEVATEL, -1); g_vars->scene09_grit = sc->getStaticANIObject1ById(ANI_GRIT_9, -1); g_vars->scene09_gulperIsPresent = true; - g_vars->scene09_var09 = 0; - g_vars->scene09_var10 = -1; + g_vars->scene09_dudeIsOnLadder = false; + g_vars->scene09_interactingHanger = -1; g_vars->scene09_var11 = -1; g_vars->scene09_var12 = -1000; @@ -215,7 +215,7 @@ void scene09_initScene(Scene *sc) { } int sceneHandler09_updateScreenCallback() { - int res = g_fp->drawArcadeOverlay(g_fp->_objectIdAtCursor == ANI_VISUNCHIK || g_vars->scene09_var10 >= 0); + int res = g_fp->drawArcadeOverlay(g_fp->_objectIdAtCursor == ANI_VISUNCHIK || g_vars->scene09_interactingHanger >= 0); if (!res) g_fp->_updateScreenCallback = 0; @@ -226,7 +226,7 @@ int sceneHandler09_updateScreenCallback() { int scene09_updateCursor() { g_fp->updateCursorCommon(); - if (g_vars->scene09_var10 < 0) { + if (g_vars->scene09_interactingHanger < 0) { if (g_fp->_objectIdAtCursor == ANI_VISUNCHIK) { if (g_fp->_cursorId == PIC_CSR_ITN) g_fp->_updateScreenCallback = sceneHandler09_updateScreenCallback; @@ -428,7 +428,7 @@ void sceneHandler09_cycleHangers() { void sceneHandler09_limitHangerPhase() { for (int i = 0; i < g_vars->scene09_numMovingHangers; i++) { - if (i != g_vars->scene09_var10) { + if (i != g_vars->scene09_interactingHanger) { g_vars->scene09_hangers[i]->phase += g_vars->scene09_hangers[i]->field_8; if (g_vars->scene09_hangers[i]->phase > 85) @@ -570,14 +570,14 @@ void sceneHandler09_checkHangerCollide() { } void sceneHandler09_hangerStartCycle() { - StaticANIObject *ani = g_vars->scene09_hangers[g_vars->scene09_var10]->ani; + StaticANIObject *ani = g_vars->scene09_hangers[g_vars->scene09_interactingHanger]->ani; if (ani->_movement) { ani->startAnim(MV_VSN_CYCLE2, 0, -1); - g_vars->scene09_hangers[g_vars->scene09_var10]->field_8 = 0; - g_vars->scene09_hangers[g_vars->scene09_var10]->phase = g_vars->scene09_var11 + (g_fp->_mouseScreenPos.y - g_vars->scene09_var19) / 2; + g_vars->scene09_hangers[g_vars->scene09_interactingHanger]->field_8 = 0; + g_vars->scene09_hangers[g_vars->scene09_interactingHanger]->phase = g_vars->scene09_var11 + (g_fp->_mouseScreenPos.y - g_vars->scene09_var19) / 2; - if (g_vars->scene09_var12 != -1000 && g_vars->scene09_hangers[g_vars->scene09_var10]->phase != g_vars->scene09_var12) { + if (g_vars->scene09_var12 != -1000 && g_vars->scene09_hangers[g_vars->scene09_interactingHanger]->phase != g_vars->scene09_var12) { ExCommand *ex = new ExCommand(0, 35, SND_9_019, 0, 0, 0, 1, 0, 0, 0); ex->_field_14 = 1; @@ -587,7 +587,7 @@ void sceneHandler09_hangerStartCycle() { g_vars->scene09_var12 = -1000; } } else { - g_vars->scene09_var10 = -1; + g_vars->scene09_interactingHanger = -1; } } @@ -608,14 +608,14 @@ int sceneHandler09(ExCommand *cmd) { getCurrSceneSc2MotionController()->setEnabled(); getGameLoaderInteractionController()->enableFlag24(); - g_vars->scene09_var09 = 0; + g_vars->scene09_dudeIsOnLadder = false; break; case MSG_SC9_TOLADDER: getCurrSceneSc2MotionController()->clearEnabled(); getGameLoaderInteractionController()->disableFlag24(); - g_vars->scene09_var09 = 1; + g_vars->scene09_dudeIsOnLadder = true; break; case MSG_SC9_PLVCLICK: @@ -659,7 +659,7 @@ int sceneHandler09(ExCommand *cmd) { sceneHandler09_limitHangerPhase(); sceneHandler09_checkHangerCollide(); - if (g_vars->scene09_var10 >= 0) + if (g_vars->scene09_interactingHanger >= 0) sceneHandler09_hangerStartCycle(); if (!g_vars->scene09_var17) @@ -671,14 +671,14 @@ int sceneHandler09(ExCommand *cmd) { } case 30: - if (g_vars->scene09_var10 >= 0) { - if (ABS(g_vars->scene09_hangers[g_vars->scene09_var10]->phase) < 15) { - g_vars->scene09_hangers[g_vars->scene09_var10]->ani->_callback2 = 0; - g_vars->scene09_hangers[g_vars->scene09_var10]->ani->changeStatics2(ST_VSN_NORMAL); + if (g_vars->scene09_interactingHanger >= 0) { + if (ABS(g_vars->scene09_hangers[g_vars->scene09_interactingHanger]->phase) < 15) { + g_vars->scene09_hangers[g_vars->scene09_interactingHanger]->ani->_callback2 = 0; + g_vars->scene09_hangers[g_vars->scene09_interactingHanger]->ani->changeStatics2(ST_VSN_NORMAL); } } - g_vars->scene09_var10 = -1; + g_vars->scene09_interactingHanger = -1; break; @@ -703,7 +703,7 @@ int sceneHandler09(ExCommand *cmd) { break; } - g_vars->scene09_var10 = hng; + g_vars->scene09_interactingHanger = hng; g_vars->scene09_var11 = g_vars->scene09_hangers[hng]->phase; g_vars->scene09_var12 = g_vars->scene09_hangers[hng]->phase; @@ -726,7 +726,7 @@ int sceneHandler09(ExCommand *cmd) { } } - if (g_vars->scene09_var09 && g_fp->_currentScene->getPictureObjectIdAtPos(cmd->_sceneClickX, cmd->_sceneClickY) == PIC_SC9_LADDER_R + if (g_vars->scene09_dudeIsOnLadder && g_fp->_currentScene->getPictureObjectIdAtPos(cmd->_sceneClickX, cmd->_sceneClickY) == PIC_SC9_LADDER_R && !cmd->_keyCode && !g_fp->_aniMan->_movement) { handleObjectInteraction(g_fp->_aniMan, g_fp->_currentScene->getPictureObjectById(PIC_SC9_LADDER_R, 0), 0); } -- cgit v1.2.3 From 6d7fcdd2b544fa4eb29988bd627af94aa8238d6c Mon Sep 17 00:00:00 2001 From: Thierry Crozat Date: Sun, 26 Jan 2014 20:40:36 +0000 Subject: OSX: Implement TaskbarManager for Mac OS X This implements count badge, progress bar, and icon overlay. It uses the NSDockTile API which is available since OS X 10.5. The code compiles and run on older system but without doing anything. --- backends/module.mk | 3 +- backends/platform/sdl/macosx/macosx.cpp | 11 ++ backends/platform/sdl/macosx/macosx.h | 1 + backends/taskbar/macosx/macosx-taskbar.h | 57 +++++++ backends/taskbar/macosx/macosx-taskbar.mm | 238 ++++++++++++++++++++++++++++++ configure | 4 + 6 files changed, 313 insertions(+), 1 deletion(-) create mode 100644 backends/taskbar/macosx/macosx-taskbar.h create mode 100644 backends/taskbar/macosx/macosx-taskbar.mm diff --git a/backends/module.mk b/backends/module.mk index 1222d9a363..34e2928419 100644 --- a/backends/module.mk +++ b/backends/module.mk @@ -97,7 +97,8 @@ ifdef MACOSX MODULE_OBJS += \ midi/coreaudio.o \ midi/coremidi.o \ - updates/macosx/macosx-updates.o + updates/macosx/macosx-updates.o \ + taskbar/macosx/macosx-taskbar.o endif ifdef WIN32 diff --git a/backends/platform/sdl/macosx/macosx.cpp b/backends/platform/sdl/macosx/macosx.cpp index 301dc44b7b..924e33b6e3 100644 --- a/backends/platform/sdl/macosx/macosx.cpp +++ b/backends/platform/sdl/macosx/macosx.cpp @@ -31,6 +31,7 @@ #include "backends/mixer/doublebuffersdl/doublebuffersdl-mixer.h" #include "backends/platform/sdl/macosx/appmenu_osx.h" #include "backends/updates/macosx/macosx-updates.h" +#include "backends/taskbar/macosx/macosx-taskbar.h" #include "common/archive.h" #include "common/config-manager.h" @@ -45,6 +46,16 @@ OSystem_MacOSX::OSystem_MacOSX() OSystem_POSIX("Library/Preferences/ScummVM Preferences") { } +void OSystem_MacOSX::init() { +#if defined(USE_TASKBAR) + // Initialize taskbar manager + _taskbarManager = new MacOSXTaskbarManager(); +#endif + + // Invoke parent implementation of this method + OSystem_POSIX::init(); +} + void OSystem_MacOSX::initBackend() { // Create the mixer manager if (_mixer == 0) { diff --git a/backends/platform/sdl/macosx/macosx.h b/backends/platform/sdl/macosx/macosx.h index e5a72bf393..50cef60353 100644 --- a/backends/platform/sdl/macosx/macosx.h +++ b/backends/platform/sdl/macosx/macosx.h @@ -35,6 +35,7 @@ public: virtual Common::String getSystemLanguage() const; + virtual void init(); virtual void initBackend(); virtual void addSysArchivesToSearchSet(Common::SearchSet &s, int priority = 0); virtual void setupIcon(); diff --git a/backends/taskbar/macosx/macosx-taskbar.h b/backends/taskbar/macosx/macosx-taskbar.h new file mode 100644 index 0000000000..5d5b9d02cd --- /dev/null +++ b/backends/taskbar/macosx/macosx-taskbar.h @@ -0,0 +1,57 @@ +/* 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. + * + */ + +#ifndef BACKEND_MACOSX_TASKBAR_H +#define BACKEND_MACOSX_TASKBAR_H + +#if defined(MACOSX) && defined(USE_TASKBAR) + +#include "common/str.h" +#include "common/taskbar.h" + +class MacOSXTaskbarManager : public Common::TaskbarManager { +public: + MacOSXTaskbarManager(); + virtual ~MacOSXTaskbarManager(); + + virtual void setOverlayIcon(const Common::String &name, const Common::String &description); + virtual void setProgressValue(int completed, int total); + virtual void setProgressState(TaskbarProgressState state); + virtual void setCount(int count); + virtual void notifyError(); + virtual void clearError(); + +private: + Common::String getIconPath(const Common::String&); + + void initApplicationIconView(); + void clearApplicationIconView(); + + void initOverlayIconView(); + void clearOverlayIconView(); + + double _progress; +}; + +#endif + +#endif // BACKEND_MACOSX_TASKBAR_H diff --git a/backends/taskbar/macosx/macosx-taskbar.mm b/backends/taskbar/macosx/macosx-taskbar.mm new file mode 100644 index 0000000000..ae087dfb85 --- /dev/null +++ b/backends/taskbar/macosx/macosx-taskbar.mm @@ -0,0 +1,238 @@ +/* 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. + * + */ + +// Disable symbol overrides so that we can use system headers +#define FORBIDDEN_SYMBOL_ALLOW_ALL +#include "common/scummsys.h" + +#if defined(MACOSX) && defined(USE_TASKBAR) + +// NSDockTile was introduced with Mac OS X 10.5. +// Try provide backward compatibility by avoiding NSDockTile symbols. + +// TODO: Implement recent list, maybe as a custom menu on dock tile when app is not running +// See Dock Tile plug-in at https://developer.apple.com/library/mac/documentation/Carbon/Conceptual/customizing_docktile/CreatingaDockTilePlug-in/CreatingaDockTilePlug-in.html + +#include "backends/taskbar/macosx/macosx-taskbar.h" +#include "common/config-manager.h" +#include "common/file.h" + +#include +#include +#include +#include +#include +#include +#include + +id _dockTile; +NSImageView *_applicationIconView; +NSImageView *_overlayIconView; + +// Using a NSProgressIndicator as a sub-view of the NSDockTile view does not work properly. +// The progress indicator is grayed out and display no progress. So instead the bar is drawn +// manually, which is a bit more work :( + +MacOSXTaskbarManager::MacOSXTaskbarManager() : _progress(-1.0) { + if ([NSApp respondsToSelector:@selector(dockTile)]) + _dockTile = [NSApp dockTile]; + _applicationIconView = nil; + _overlayIconView = nil; +} + +MacOSXTaskbarManager::~MacOSXTaskbarManager() { + clearApplicationIconView(); +} + +void MacOSXTaskbarManager::initApplicationIconView() { + if (_dockTile == nil) + return; + if (_applicationIconView == nil) { + _applicationIconView = [[NSImageView alloc] init]; + [_applicationIconView setImage:[NSApp applicationIconImage]]; + [_dockTile performSelector:@selector(setContentView:) withObject:_applicationIconView]; + } +} + +void MacOSXTaskbarManager::clearApplicationIconView() { + if (_dockTile == nil) + return; + [_dockTile performSelector:@selector(setContentView:) withObject:nil]; + [_applicationIconView release]; + _applicationIconView = nil; +} + +void MacOSXTaskbarManager::initOverlayIconView() { + if (_dockTile == nil) + return; + if (_overlayIconView == nil) { + const double overlaySize = 0.75; + initApplicationIconView(); + NSSize size = [_applicationIconView frame].size; + _overlayIconView = [[NSImageView alloc] initWithFrame:NSMakeRect(size.width * (1.0-overlaySize), 0.0f, size.width * overlaySize, size.height * overlaySize)]; + [_overlayIconView setImageAlignment:NSImageAlignBottomRight]; + [_applicationIconView addSubview:_overlayIconView]; + [_overlayIconView release]; + } +} + +void MacOSXTaskbarManager::clearOverlayIconView() { + if (_progress < 0.0) + clearApplicationIconView(); + else + [_overlayIconView removeFromSuperview]; + _overlayIconView = nil; +} + +void MacOSXTaskbarManager::setOverlayIcon(const Common::String &name, const Common::String &description) { + if (_dockTile == nil) + return; + + if (name.empty()) { + clearOverlayIconView(); + [_dockTile performSelector:@selector(display)]; + return; + } + + Common::String path = getIconPath(name); + if (path.empty()) + return; + + initOverlayIconView(); + + CFStringRef imageFile = CFStringCreateWithCString(0, path.c_str(), kCFStringEncodingASCII); + NSImage* image = [[NSImage alloc] initWithContentsOfFile:(NSString *)imageFile]; + [_overlayIconView setImage:image]; + [image release]; + CFRelease(imageFile); + + [_dockTile performSelector:@selector(display)]; +} + +void MacOSXTaskbarManager::setProgressValue(int completed, int total) { + if (_dockTile == nil) + return; + + if (total > 0) + _progress = (double)completed / (double)total; + else if (_progress < 0) + _progress = 0.0; + + NSImage *mainIcon = [[NSApp applicationIconImage] copy]; + double barSize = [mainIcon size].width; + double progressSize = barSize * _progress; + [mainIcon lockFocus]; + [[NSColor colorWithDeviceRed:(40.0/255.0) green:(120.0/255.0) blue:(255.0/255.0) alpha:0.78] set]; + [NSBezierPath fillRect:NSMakeRect(0, 0, progressSize, 11)]; + [[NSColor colorWithDeviceRed:(241.0/255.0) green:(241.0/255.0) blue:(241.0/255.0) alpha:0.78] set]; + [NSBezierPath fillRect:NSMakeRect(progressSize, 0, barSize-progressSize, 11)]; + [mainIcon unlockFocus]; + + initApplicationIconView(); + [_applicationIconView setImage:mainIcon]; + [mainIcon release]; + + [_dockTile performSelector:@selector(display)]; +} + +void MacOSXTaskbarManager::setProgressState(TaskbarProgressState state) { + if (_dockTile == nil) + return; + + // Only support two states: visible and not visible. + if (state == kTaskbarNoProgress) { + _progress = -1.0; + if (_overlayIconView == nil) + clearApplicationIconView(); + else if (_applicationIconView != nil) + [_applicationIconView setImage:[NSApp applicationIconImage]]; + return; + } + + setProgressValue(-1, -1); +} + +void MacOSXTaskbarManager::setCount(int count) { + if (_dockTile == nil) + return; + + if (count > 0) + [_dockTile performSelector:@selector(setBadgeLabel:) withObject:[NSString stringWithFormat:@"%d", count]]; + else + [_dockTile performSelector:@selector(setBadgeLabel:) withObject:nil]; +} + +void MacOSXTaskbarManager::notifyError() { + if (_dockTile == nil) + return; + + // NSImageNameCaution was introduced in 10.6. + // For compatibility with older systems we should use something else (e.g. overlay label + // or our own icon). + //initOverlayIconView(); + //[_overlayIconView setImage:[NSImage imageNamed:NSImageNameCaution]]; + //[_dockTile performSelector:@selector(display)]; +} + +void MacOSXTaskbarManager::clearError() { + if (_dockTile == nil) + return; + + clearOverlayIconView(); + [_dockTile performSelector:@selector(display)]; + return; +} + +Common::String MacOSXTaskbarManager::getIconPath(const Common::String& target) { + // We first try to look for a iconspath configuration variable then + // fallback to the extra path + // + // Icons can be either in a subfolder named "icons" or directly in the path + + Common::String iconsPath = ConfMan.get("iconspath"); + Common::String extraPath = ConfMan.get("extrapath"); + +#define TRY_ICON_PATH(path) { \ +Common::FSNode node((path)); \ +if (node.exists()) \ +return (path); \ +} + + if (!iconsPath.empty()) { + TRY_ICON_PATH(iconsPath + "/" + target + ".png"); + TRY_ICON_PATH(iconsPath + "/" + ConfMan.get("gameid") + ".png"); + TRY_ICON_PATH(iconsPath + "/icons/" + target + ".png"); + TRY_ICON_PATH(iconsPath + "/icons/" + ConfMan.get("gameid") + ".png"); + } + + if (!extraPath.empty()) { + TRY_ICON_PATH(extraPath + "/" + target + ".png"); + TRY_ICON_PATH(extraPath + "/" + ConfMan.get("gameid") + ".png"); + TRY_ICON_PATH(extraPath + "/icons/" + target + ".png"); + TRY_ICON_PATH(extraPath + "/icons/" + ConfMan.get("gameid") + ".png"); + } + + return ""; +} + + +#endif diff --git a/configure b/configure index 567cb096d7..5499ceccb1 100755 --- a/configure +++ b/configure @@ -4001,6 +4001,10 @@ else echo "win32" _taskbar=yes ;; + darwin*) + echo "osx" + _taskbar=yes + ;; *) if test "$_libunity" = yes; then echo "unity" -- cgit v1.2.3 From a05ec5ea9e8f2fae9f44e513a1b02c2c1d02ef75 Mon Sep 17 00:00:00 2001 From: Strangerke Date: Mon, 24 Feb 2014 00:39:51 +0100 Subject: R2R: Fix bug #6547 - Invalid cursor during dialogs --- engines/tsage/converse.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/engines/tsage/converse.cpp b/engines/tsage/converse.cpp index 577c08255b..d1faca5dac 100644 --- a/engines/tsage/converse.cpp +++ b/engines/tsage/converse.cpp @@ -449,8 +449,13 @@ int ConversationChoiceDialog::execute(const Common::StringArray &choiceList) { // Draw the dialog draw(); + g_globals->_events.showCursor(); + // Force the display of an arrow cursor during discussions in R2R + if (g_vm->getGameID() == GType_Ringworld2) + R2_GLOBALS._events.setCursor(CURSOR_ARROW); + // WORKAROUND: On-screen dialogs are really meant to use a GfxManager instance // for their lifetime, which prevents saving or loading. Since I don't want to spend a lot // of time refactoring this already working dialog, fake it by putting a dummy gfxmanager at -- cgit v1.2.3 From 90dbc2e4c30fbd2f0a9df97be37619c843768e9a Mon Sep 17 00:00:00 2001 From: Johannes Schickel Date: Mon, 24 Feb 2014 01:38:24 +0100 Subject: KYRA: Slight constant name cleanup. --- engines/kyra/resource.h | 130 ++++++++++++++++++++--------------------- engines/kyra/staticres_eob.cpp | 4 +- 2 files changed, 67 insertions(+), 67 deletions(-) diff --git a/engines/kyra/resource.h b/engines/kyra/resource.h index 2271e15633..3ab08a4c7c 100644 --- a/engines/kyra/resource.h +++ b/engines/kyra/resource.h @@ -566,50 +566,50 @@ enum KyraResources { kEoB2IntroStrings, kEoB2IntroCPSFiles, - kEob2IntroAnimData00, - kEob2IntroAnimData01, - kEob2IntroAnimData02, - kEob2IntroAnimData03, - kEob2IntroAnimData04, - kEob2IntroAnimData05, - kEob2IntroAnimData06, - kEob2IntroAnimData07, - kEob2IntroAnimData08, - kEob2IntroAnimData09, - kEob2IntroAnimData10, - kEob2IntroAnimData11, - kEob2IntroAnimData12, - kEob2IntroAnimData13, - kEob2IntroAnimData14, - kEob2IntroAnimData15, - kEob2IntroAnimData16, - kEob2IntroAnimData17, - kEob2IntroAnimData18, - kEob2IntroAnimData19, - kEob2IntroAnimData20, - kEob2IntroAnimData21, - kEob2IntroAnimData22, - kEob2IntroAnimData23, - kEob2IntroAnimData24, - kEob2IntroAnimData25, - kEob2IntroAnimData26, - kEob2IntroAnimData27, - kEob2IntroAnimData28, - kEob2IntroAnimData29, - kEob2IntroAnimData30, - kEob2IntroAnimData31, - kEob2IntroAnimData32, - kEob2IntroAnimData33, - kEob2IntroAnimData34, - kEob2IntroAnimData35, - kEob2IntroAnimData36, - kEob2IntroAnimData37, - kEob2IntroAnimData38, - kEob2IntroAnimData39, - kEob2IntroAnimData40, - kEob2IntroAnimData41, - kEob2IntroAnimData42, - kEob2IntroAnimData43, + kEoB2IntroAnimData00, + kEoB2IntroAnimData01, + kEoB2IntroAnimData02, + kEoB2IntroAnimData03, + kEoB2IntroAnimData04, + kEoB2IntroAnimData05, + kEoB2IntroAnimData06, + kEoB2IntroAnimData07, + kEoB2IntroAnimData08, + kEoB2IntroAnimData09, + kEoB2IntroAnimData10, + kEoB2IntroAnimData11, + kEoB2IntroAnimData12, + kEoB2IntroAnimData13, + kEoB2IntroAnimData14, + kEoB2IntroAnimData15, + kEoB2IntroAnimData16, + kEoB2IntroAnimData17, + kEoB2IntroAnimData18, + kEoB2IntroAnimData19, + kEoB2IntroAnimData20, + kEoB2IntroAnimData21, + kEoB2IntroAnimData22, + kEoB2IntroAnimData23, + kEoB2IntroAnimData24, + kEoB2IntroAnimData25, + kEoB2IntroAnimData26, + kEoB2IntroAnimData27, + kEoB2IntroAnimData28, + kEoB2IntroAnimData29, + kEoB2IntroAnimData30, + kEoB2IntroAnimData31, + kEoB2IntroAnimData32, + kEoB2IntroAnimData33, + kEoB2IntroAnimData34, + kEoB2IntroAnimData35, + kEoB2IntroAnimData36, + kEoB2IntroAnimData37, + kEoB2IntroAnimData38, + kEoB2IntroAnimData39, + kEoB2IntroAnimData40, + kEoB2IntroAnimData41, + kEoB2IntroAnimData42, + kEoB2IntroAnimData43, kEoB2IntroShapes00, kEoB2IntroShapes01, kEoB2IntroShapes04, @@ -618,27 +618,27 @@ enum KyraResources { kEoB2FinaleStrings, kEoB2CreditsData, kEoB2FinaleCPSFiles, - kEob2FinaleAnimData00, - kEob2FinaleAnimData01, - kEob2FinaleAnimData02, - kEob2FinaleAnimData03, - kEob2FinaleAnimData04, - kEob2FinaleAnimData05, - kEob2FinaleAnimData06, - kEob2FinaleAnimData07, - kEob2FinaleAnimData08, - kEob2FinaleAnimData09, - kEob2FinaleAnimData10, - kEob2FinaleAnimData11, - kEob2FinaleAnimData12, - kEob2FinaleAnimData13, - kEob2FinaleAnimData14, - kEob2FinaleAnimData15, - kEob2FinaleAnimData16, - kEob2FinaleAnimData17, - kEob2FinaleAnimData18, - kEob2FinaleAnimData19, - kEob2FinaleAnimData20, + kEoB2FinaleAnimData00, + kEoB2FinaleAnimData01, + kEoB2FinaleAnimData02, + kEoB2FinaleAnimData03, + kEoB2FinaleAnimData04, + kEoB2FinaleAnimData05, + kEoB2FinaleAnimData06, + kEoB2FinaleAnimData07, + kEoB2FinaleAnimData08, + kEoB2FinaleAnimData09, + kEoB2FinaleAnimData10, + kEoB2FinaleAnimData11, + kEoB2FinaleAnimData12, + kEoB2FinaleAnimData13, + kEoB2FinaleAnimData14, + kEoB2FinaleAnimData15, + kEoB2FinaleAnimData16, + kEoB2FinaleAnimData17, + kEoB2FinaleAnimData18, + kEoB2FinaleAnimData19, + kEoB2FinaleAnimData20, kEoB2FinaleShapes00, kEoB2FinaleShapes03, kEoB2FinaleShapes07, diff --git a/engines/kyra/staticres_eob.cpp b/engines/kyra/staticres_eob.cpp index ee977060e3..54cc3066ec 100644 --- a/engines/kyra/staticres_eob.cpp +++ b/engines/kyra/staticres_eob.cpp @@ -1206,7 +1206,7 @@ void DarkMoonEngine::initStaticResource() { _animIntro = new const DarkMoonAnimCommand*[44]; for (int i = 0; i < 44; i++) - _animIntro[i] = _staticres->loadEoB2SeqData(kEob2IntroAnimData00 + i, temp); + _animIntro[i] = _staticres->loadEoB2SeqData(kEoB2IntroAnimData00 + i, temp); _shapesIntro = new const DarkMoonShapeDef*[13]; memset(_shapesIntro, 0, sizeof(DarkMoonShapeDef *) * 13); @@ -1221,7 +1221,7 @@ void DarkMoonEngine::initStaticResource() { _animFinale = new const DarkMoonAnimCommand*[21]; for (int i = 0; i < 21; i++) - _animFinale[i] = _staticres->loadEoB2SeqData(kEob2FinaleAnimData00 + i, temp); + _animFinale[i] = _staticres->loadEoB2SeqData(kEoB2FinaleAnimData00 + i, temp); _shapesFinale = new const DarkMoonShapeDef*[13]; memset(_shapesFinale, 0, sizeof(DarkMoonShapeDef *) * 13); -- cgit v1.2.3 From 836250c86a9bc5f9f1a59d524c9944db4692e959 Mon Sep 17 00:00:00 2001 From: Johannes Schickel Date: Mon, 24 Feb 2014 01:38:24 +0100 Subject: DEVTOOLS: Slight constant name cleanup in create_kyradat. --- devtools/create_kyradat/create_kyradat.cpp | 390 ++++++++++++++--------------- devtools/create_kyradat/create_kyradat.h | 130 +++++----- devtools/create_kyradat/games.cpp | 130 +++++----- devtools/create_kyradat/tables.cpp | 260 +++++++++---------- 4 files changed, 455 insertions(+), 455 deletions(-) diff --git a/devtools/create_kyradat/create_kyradat.cpp b/devtools/create_kyradat/create_kyradat.cpp index 8e9b48c439..6f67e0e748 100644 --- a/devtools/create_kyradat/create_kyradat.cpp +++ b/devtools/create_kyradat/create_kyradat.cpp @@ -491,50 +491,50 @@ const ExtractFilename extractFilenames[] = { { kEoB2IntroStrings, k2TypeSfxList, true }, { kEoB2IntroCPSFiles, kTypeStringList, true }, - { kEob2IntroAnimData00, kEoB2TypeSeqData, false }, - { kEob2IntroAnimData01, kEoB2TypeSeqData, false }, - { kEob2IntroAnimData02, kEoB2TypeSeqData, false }, - { kEob2IntroAnimData03, kEoB2TypeSeqData, false }, - { kEob2IntroAnimData04, kEoB2TypeSeqData, false }, - { kEob2IntroAnimData05, kEoB2TypeSeqData, false }, - { kEob2IntroAnimData06, kEoB2TypeSeqData, false }, - { kEob2IntroAnimData07, kEoB2TypeSeqData, false }, - { kEob2IntroAnimData08, kEoB2TypeSeqData, false }, - { kEob2IntroAnimData09, kEoB2TypeSeqData, false }, - { kEob2IntroAnimData10, kEoB2TypeSeqData, false }, - { kEob2IntroAnimData11, kEoB2TypeSeqData, false }, - { kEob2IntroAnimData12, kEoB2TypeSeqData, false }, - { kEob2IntroAnimData13, kEoB2TypeSeqData, false }, - { kEob2IntroAnimData14, kEoB2TypeSeqData, false }, - { kEob2IntroAnimData15, kEoB2TypeSeqData, false }, - { kEob2IntroAnimData16, kEoB2TypeSeqData, false }, - { kEob2IntroAnimData17, kEoB2TypeSeqData, false }, - { kEob2IntroAnimData18, kEoB2TypeSeqData, false }, - { kEob2IntroAnimData19, kEoB2TypeSeqData, false }, - { kEob2IntroAnimData20, kEoB2TypeSeqData, false }, - { kEob2IntroAnimData21, kEoB2TypeSeqData, false }, - { kEob2IntroAnimData22, kEoB2TypeSeqData, false }, - { kEob2IntroAnimData23, kEoB2TypeSeqData, false }, - { kEob2IntroAnimData24, kEoB2TypeSeqData, false }, - { kEob2IntroAnimData25, kEoB2TypeSeqData, false }, - { kEob2IntroAnimData26, kEoB2TypeSeqData, false }, - { kEob2IntroAnimData27, kEoB2TypeSeqData, false }, - { kEob2IntroAnimData28, kEoB2TypeSeqData, false }, - { kEob2IntroAnimData29, kEoB2TypeSeqData, false }, - { kEob2IntroAnimData30, kEoB2TypeSeqData, false }, - { kEob2IntroAnimData31, kEoB2TypeSeqData, false }, - { kEob2IntroAnimData32, kEoB2TypeSeqData, false }, - { kEob2IntroAnimData33, kEoB2TypeSeqData, false }, - { kEob2IntroAnimData34, kEoB2TypeSeqData, false }, - { kEob2IntroAnimData35, kEoB2TypeSeqData, false }, - { kEob2IntroAnimData36, kEoB2TypeSeqData, false }, - { kEob2IntroAnimData37, kEoB2TypeSeqData, false }, - { kEob2IntroAnimData38, kEoB2TypeSeqData, false }, - { kEob2IntroAnimData39, kEoB2TypeSeqData, false }, - { kEob2IntroAnimData40, kEoB2TypeSeqData, false }, - { kEob2IntroAnimData41, kEoB2TypeSeqData, false }, - { kEob2IntroAnimData42, kEoB2TypeSeqData, false }, - { kEob2IntroAnimData43, kEoB2TypeSeqData, false }, + { kEoB2IntroAnimData00, kEoB2TypeSeqData, false }, + { kEoB2IntroAnimData01, kEoB2TypeSeqData, false }, + { kEoB2IntroAnimData02, kEoB2TypeSeqData, false }, + { kEoB2IntroAnimData03, kEoB2TypeSeqData, false }, + { kEoB2IntroAnimData04, kEoB2TypeSeqData, false }, + { kEoB2IntroAnimData05, kEoB2TypeSeqData, false }, + { kEoB2IntroAnimData06, kEoB2TypeSeqData, false }, + { kEoB2IntroAnimData07, kEoB2TypeSeqData, false }, + { kEoB2IntroAnimData08, kEoB2TypeSeqData, false }, + { kEoB2IntroAnimData09, kEoB2TypeSeqData, false }, + { kEoB2IntroAnimData10, kEoB2TypeSeqData, false }, + { kEoB2IntroAnimData11, kEoB2TypeSeqData, false }, + { kEoB2IntroAnimData12, kEoB2TypeSeqData, false }, + { kEoB2IntroAnimData13, kEoB2TypeSeqData, false }, + { kEoB2IntroAnimData14, kEoB2TypeSeqData, false }, + { kEoB2IntroAnimData15, kEoB2TypeSeqData, false }, + { kEoB2IntroAnimData16, kEoB2TypeSeqData, false }, + { kEoB2IntroAnimData17, kEoB2TypeSeqData, false }, + { kEoB2IntroAnimData18, kEoB2TypeSeqData, false }, + { kEoB2IntroAnimData19, kEoB2TypeSeqData, false }, + { kEoB2IntroAnimData20, kEoB2TypeSeqData, false }, + { kEoB2IntroAnimData21, kEoB2TypeSeqData, false }, + { kEoB2IntroAnimData22, kEoB2TypeSeqData, false }, + { kEoB2IntroAnimData23, kEoB2TypeSeqData, false }, + { kEoB2IntroAnimData24, kEoB2TypeSeqData, false }, + { kEoB2IntroAnimData25, kEoB2TypeSeqData, false }, + { kEoB2IntroAnimData26, kEoB2TypeSeqData, false }, + { kEoB2IntroAnimData27, kEoB2TypeSeqData, false }, + { kEoB2IntroAnimData28, kEoB2TypeSeqData, false }, + { kEoB2IntroAnimData29, kEoB2TypeSeqData, false }, + { kEoB2IntroAnimData30, kEoB2TypeSeqData, false }, + { kEoB2IntroAnimData31, kEoB2TypeSeqData, false }, + { kEoB2IntroAnimData32, kEoB2TypeSeqData, false }, + { kEoB2IntroAnimData33, kEoB2TypeSeqData, false }, + { kEoB2IntroAnimData34, kEoB2TypeSeqData, false }, + { kEoB2IntroAnimData35, kEoB2TypeSeqData, false }, + { kEoB2IntroAnimData36, kEoB2TypeSeqData, false }, + { kEoB2IntroAnimData37, kEoB2TypeSeqData, false }, + { kEoB2IntroAnimData38, kEoB2TypeSeqData, false }, + { kEoB2IntroAnimData39, kEoB2TypeSeqData, false }, + { kEoB2IntroAnimData40, kEoB2TypeSeqData, false }, + { kEoB2IntroAnimData41, kEoB2TypeSeqData, false }, + { kEoB2IntroAnimData42, kEoB2TypeSeqData, false }, + { kEoB2IntroAnimData43, kEoB2TypeSeqData, false }, { kEoB2IntroShapes00, kEoB2TypeShapeData, false }, { kEoB2IntroShapes01, kEoB2TypeShapeData, false }, { kEoB2IntroShapes04, kEoB2TypeShapeData, false }, @@ -543,27 +543,27 @@ const ExtractFilename extractFilenames[] = { { kEoB2FinaleStrings, k2TypeSfxList, true }, { kEoB2CreditsData, kTypeRawData, true }, { kEoB2FinaleCPSFiles, kTypeStringList, true }, - { kEob2FinaleAnimData00, kEoB2TypeSeqData, false }, - { kEob2FinaleAnimData01, kEoB2TypeSeqData, false }, - { kEob2FinaleAnimData02, kEoB2TypeSeqData, false }, - { kEob2FinaleAnimData03, kEoB2TypeSeqData, false }, - { kEob2FinaleAnimData04, kEoB2TypeSeqData, false }, - { kEob2FinaleAnimData05, kEoB2TypeSeqData, false }, - { kEob2FinaleAnimData06, kEoB2TypeSeqData, false }, - { kEob2FinaleAnimData07, kEoB2TypeSeqData, false }, - { kEob2FinaleAnimData08, kEoB2TypeSeqData, false }, - { kEob2FinaleAnimData09, kEoB2TypeSeqData, false }, - { kEob2FinaleAnimData10, kEoB2TypeSeqData, false }, - { kEob2FinaleAnimData11, kEoB2TypeSeqData, false }, - { kEob2FinaleAnimData12, kEoB2TypeSeqData, false }, - { kEob2FinaleAnimData13, kEoB2TypeSeqData, false }, - { kEob2FinaleAnimData14, kEoB2TypeSeqData, false }, - { kEob2FinaleAnimData15, kEoB2TypeSeqData, false }, - { kEob2FinaleAnimData16, kEoB2TypeSeqData, false }, - { kEob2FinaleAnimData17, kEoB2TypeSeqData, false }, - { kEob2FinaleAnimData18, kEoB2TypeSeqData, false }, - { kEob2FinaleAnimData19, kEoB2TypeSeqData, false }, - { kEob2FinaleAnimData20, kEoB2TypeSeqData, false }, + { kEoB2FinaleAnimData00, kEoB2TypeSeqData, false }, + { kEoB2FinaleAnimData01, kEoB2TypeSeqData, false }, + { kEoB2FinaleAnimData02, kEoB2TypeSeqData, false }, + { kEoB2FinaleAnimData03, kEoB2TypeSeqData, false }, + { kEoB2FinaleAnimData04, kEoB2TypeSeqData, false }, + { kEoB2FinaleAnimData05, kEoB2TypeSeqData, false }, + { kEoB2FinaleAnimData06, kEoB2TypeSeqData, false }, + { kEoB2FinaleAnimData07, kEoB2TypeSeqData, false }, + { kEoB2FinaleAnimData08, kEoB2TypeSeqData, false }, + { kEoB2FinaleAnimData09, kEoB2TypeSeqData, false }, + { kEoB2FinaleAnimData10, kEoB2TypeSeqData, false }, + { kEoB2FinaleAnimData11, kEoB2TypeSeqData, false }, + { kEoB2FinaleAnimData12, kEoB2TypeSeqData, false }, + { kEoB2FinaleAnimData13, kEoB2TypeSeqData, false }, + { kEoB2FinaleAnimData14, kEoB2TypeSeqData, false }, + { kEoB2FinaleAnimData15, kEoB2TypeSeqData, false }, + { kEoB2FinaleAnimData16, kEoB2TypeSeqData, false }, + { kEoB2FinaleAnimData17, kEoB2TypeSeqData, false }, + { kEoB2FinaleAnimData18, kEoB2TypeSeqData, false }, + { kEoB2FinaleAnimData19, kEoB2TypeSeqData, false }, + { kEoB2FinaleAnimData20, kEoB2TypeSeqData, false }, { kEoB2FinaleShapes00, kEoB2TypeShapeData, false }, { kEoB2FinaleShapes03, kEoB2TypeShapeData, false }, { kEoB2FinaleShapes07, kEoB2TypeShapeData, false }, @@ -1858,94 +1858,94 @@ const char *getIdString(const int id) { return "kEoB2IntroStrings"; case kEoB2IntroCPSFiles: return "kEoB2IntroCPSFiles"; - case kEob2IntroAnimData00: - return "kEob2IntroAnimData00"; - case kEob2IntroAnimData01: - return "kEob2IntroAnimData01"; - case kEob2IntroAnimData02: - return "kEob2IntroAnimData02"; - case kEob2IntroAnimData03: - return "kEob2IntroAnimData03"; - case kEob2IntroAnimData04: - return "kEob2IntroAnimData04"; - case kEob2IntroAnimData05: - return "kEob2IntroAnimData05"; - case kEob2IntroAnimData06: - return "kEob2IntroAnimData06"; - case kEob2IntroAnimData07: - return "kEob2IntroAnimData07"; - case kEob2IntroAnimData08: - return "kEob2IntroAnimData08"; - case kEob2IntroAnimData09: - return "kEob2IntroAnimData09"; - case kEob2IntroAnimData10: - return "kEob2IntroAnimData10"; - case kEob2IntroAnimData11: - return "kEob2IntroAnimData11"; - case kEob2IntroAnimData12: - return "kEob2IntroAnimData12"; - case kEob2IntroAnimData13: - return "kEob2IntroAnimData13"; - case kEob2IntroAnimData14: - return "kEob2IntroAnimData14"; - case kEob2IntroAnimData15: - return "kEob2IntroAnimData15"; - case kEob2IntroAnimData16: - return "kEob2IntroAnimData16"; - case kEob2IntroAnimData17: - return "kEob2IntroAnimData17"; - case kEob2IntroAnimData18: - return "kEob2IntroAnimData18"; - case kEob2IntroAnimData19: - return "kEob2IntroAnimData19"; - case kEob2IntroAnimData20: - return "kEob2IntroAnimData20"; - case kEob2IntroAnimData21: - return "kEob2IntroAnimData21"; - case kEob2IntroAnimData22: - return "kEob2IntroAnimData22"; - case kEob2IntroAnimData23: - return "kEob2IntroAnimData23"; - case kEob2IntroAnimData24: - return "kEob2IntroAnimData24"; - case kEob2IntroAnimData25: - return "kEob2IntroAnimData25"; - case kEob2IntroAnimData26: - return "kEob2IntroAnimData26"; - case kEob2IntroAnimData27: - return "kEob2IntroAnimData27"; - case kEob2IntroAnimData28: - return "kEob2IntroAnimData28"; - case kEob2IntroAnimData29: - return "kEob2IntroAnimData29"; - case kEob2IntroAnimData30: - return "kEob2IntroAnimData30"; - case kEob2IntroAnimData31: - return "kEob2IntroAnimData31"; - case kEob2IntroAnimData32: - return "kEob2IntroAnimData32"; - case kEob2IntroAnimData33: - return "kEob2IntroAnimData33"; - case kEob2IntroAnimData34: - return "kEob2IntroAnimData34"; - case kEob2IntroAnimData35: - return "kEob2IntroAnimData35"; - case kEob2IntroAnimData36: - return "kEob2IntroAnimData36"; - case kEob2IntroAnimData37: - return "kEob2IntroAnimData37"; - case kEob2IntroAnimData38: - return "kEob2IntroAnimData38"; - case kEob2IntroAnimData39: - return "kEob2IntroAnimData39"; - case kEob2IntroAnimData40: - return "kEob2IntroAnimData40"; - case kEob2IntroAnimData41: - return "kEob2IntroAnimData41"; - case kEob2IntroAnimData42: - return "kEob2IntroAnimData42"; - case kEob2IntroAnimData43: - return "kEob2IntroAnimData43"; + case kEoB2IntroAnimData00: + return "kEoB2IntroAnimData00"; + case kEoB2IntroAnimData01: + return "kEoB2IntroAnimData01"; + case kEoB2IntroAnimData02: + return "kEoB2IntroAnimData02"; + case kEoB2IntroAnimData03: + return "kEoB2IntroAnimData03"; + case kEoB2IntroAnimData04: + return "kEoB2IntroAnimData04"; + case kEoB2IntroAnimData05: + return "kEoB2IntroAnimData05"; + case kEoB2IntroAnimData06: + return "kEoB2IntroAnimData06"; + case kEoB2IntroAnimData07: + return "kEoB2IntroAnimData07"; + case kEoB2IntroAnimData08: + return "kEoB2IntroAnimData08"; + case kEoB2IntroAnimData09: + return "kEoB2IntroAnimData09"; + case kEoB2IntroAnimData10: + return "kEoB2IntroAnimData10"; + case kEoB2IntroAnimData11: + return "kEoB2IntroAnimData11"; + case kEoB2IntroAnimData12: + return "kEoB2IntroAnimData12"; + case kEoB2IntroAnimData13: + return "kEoB2IntroAnimData13"; + case kEoB2IntroAnimData14: + return "kEoB2IntroAnimData14"; + case kEoB2IntroAnimData15: + return "kEoB2IntroAnimData15"; + case kEoB2IntroAnimData16: + return "kEoB2IntroAnimData16"; + case kEoB2IntroAnimData17: + return "kEoB2IntroAnimData17"; + case kEoB2IntroAnimData18: + return "kEoB2IntroAnimData18"; + case kEoB2IntroAnimData19: + return "kEoB2IntroAnimData19"; + case kEoB2IntroAnimData20: + return "kEoB2IntroAnimData20"; + case kEoB2IntroAnimData21: + return "kEoB2IntroAnimData21"; + case kEoB2IntroAnimData22: + return "kEoB2IntroAnimData22"; + case kEoB2IntroAnimData23: + return "kEoB2IntroAnimData23"; + case kEoB2IntroAnimData24: + return "kEoB2IntroAnimData24"; + case kEoB2IntroAnimData25: + return "kEoB2IntroAnimData25"; + case kEoB2IntroAnimData26: + return "kEoB2IntroAnimData26"; + case kEoB2IntroAnimData27: + return "kEoB2IntroAnimData27"; + case kEoB2IntroAnimData28: + return "kEoB2IntroAnimData28"; + case kEoB2IntroAnimData29: + return "kEoB2IntroAnimData29"; + case kEoB2IntroAnimData30: + return "kEoB2IntroAnimData30"; + case kEoB2IntroAnimData31: + return "kEoB2IntroAnimData31"; + case kEoB2IntroAnimData32: + return "kEoB2IntroAnimData32"; + case kEoB2IntroAnimData33: + return "kEoB2IntroAnimData33"; + case kEoB2IntroAnimData34: + return "kEoB2IntroAnimData34"; + case kEoB2IntroAnimData35: + return "kEoB2IntroAnimData35"; + case kEoB2IntroAnimData36: + return "kEoB2IntroAnimData36"; + case kEoB2IntroAnimData37: + return "kEoB2IntroAnimData37"; + case kEoB2IntroAnimData38: + return "kEoB2IntroAnimData38"; + case kEoB2IntroAnimData39: + return "kEoB2IntroAnimData39"; + case kEoB2IntroAnimData40: + return "kEoB2IntroAnimData40"; + case kEoB2IntroAnimData41: + return "kEoB2IntroAnimData41"; + case kEoB2IntroAnimData42: + return "kEoB2IntroAnimData42"; + case kEoB2IntroAnimData43: + return "kEoB2IntroAnimData43"; case kEoB2IntroShapes00: return "kEoB2IntroShapes00"; case kEoB2IntroShapes01: @@ -1960,48 +1960,48 @@ const char *getIdString(const int id) { return "kEoB2CreditsData"; case kEoB2FinaleCPSFiles: return "kEoB2FinaleCPSFiles"; - case kEob2FinaleAnimData00: - return "kEob2FinaleAnimData00"; - case kEob2FinaleAnimData01: - return "kEob2FinaleAnimData01"; - case kEob2FinaleAnimData02: - return "kEob2FinaleAnimData02"; - case kEob2FinaleAnimData03: - return "kEob2FinaleAnimData03"; - case kEob2FinaleAnimData04: - return "kEob2FinaleAnimData04"; - case kEob2FinaleAnimData05: - return "kEob2FinaleAnimData05"; - case kEob2FinaleAnimData06: - return "kEob2FinaleAnimData06"; - case kEob2FinaleAnimData07: - return "kEob2FinaleAnimData07"; - case kEob2FinaleAnimData08: - return "kEob2FinaleAnimData08"; - case kEob2FinaleAnimData09: - return "kEob2FinaleAnimData09"; - case kEob2FinaleAnimData10: - return "kEob2FinaleAnimData10"; - case kEob2FinaleAnimData11: - return "kEob2FinaleAnimData11"; - case kEob2FinaleAnimData12: - return "kEob2FinaleAnimData12"; - case kEob2FinaleAnimData13: - return "kEob2FinaleAnimData13"; - case kEob2FinaleAnimData14: - return "kEob2FinaleAnimData14"; - case kEob2FinaleAnimData15: - return "kEob2FinaleAnimData15"; - case kEob2FinaleAnimData16: - return "kEob2FinaleAnimData16"; - case kEob2FinaleAnimData17: - return "kEob2FinaleAnimData17"; - case kEob2FinaleAnimData18: - return "kEob2FinaleAnimData18"; - case kEob2FinaleAnimData19: - return "kEob2FinaleAnimData19"; - case kEob2FinaleAnimData20: - return "kEob2FinaleAnimData20"; + case kEoB2FinaleAnimData00: + return "kEoB2FinaleAnimData00"; + case kEoB2FinaleAnimData01: + return "kEoB2FinaleAnimData01"; + case kEoB2FinaleAnimData02: + return "kEoB2FinaleAnimData02"; + case kEoB2FinaleAnimData03: + return "kEoB2FinaleAnimData03"; + case kEoB2FinaleAnimData04: + return "kEoB2FinaleAnimData04"; + case kEoB2FinaleAnimData05: + return "kEoB2FinaleAnimData05"; + case kEoB2FinaleAnimData06: + return "kEoB2FinaleAnimData06"; + case kEoB2FinaleAnimData07: + return "kEoB2FinaleAnimData07"; + case kEoB2FinaleAnimData08: + return "kEoB2FinaleAnimData08"; + case kEoB2FinaleAnimData09: + return "kEoB2FinaleAnimData09"; + case kEoB2FinaleAnimData10: + return "kEoB2FinaleAnimData10"; + case kEoB2FinaleAnimData11: + return "kEoB2FinaleAnimData11"; + case kEoB2FinaleAnimData12: + return "kEoB2FinaleAnimData12"; + case kEoB2FinaleAnimData13: + return "kEoB2FinaleAnimData13"; + case kEoB2FinaleAnimData14: + return "kEoB2FinaleAnimData14"; + case kEoB2FinaleAnimData15: + return "kEoB2FinaleAnimData15"; + case kEoB2FinaleAnimData16: + return "kEoB2FinaleAnimData16"; + case kEoB2FinaleAnimData17: + return "kEoB2FinaleAnimData17"; + case kEoB2FinaleAnimData18: + return "kEoB2FinaleAnimData18"; + case kEoB2FinaleAnimData19: + return "kEoB2FinaleAnimData19"; + case kEoB2FinaleAnimData20: + return "kEoB2FinaleAnimData20"; case kEoB2FinaleShapes00: return "kEoB2FinaleShapes00"; case kEoB2FinaleShapes03: diff --git a/devtools/create_kyradat/create_kyradat.h b/devtools/create_kyradat/create_kyradat.h index 5f19ff50cd..4141adf55d 100644 --- a/devtools/create_kyradat/create_kyradat.h +++ b/devtools/create_kyradat/create_kyradat.h @@ -493,50 +493,50 @@ enum kExtractID { kEoB2IntroStrings, kEoB2IntroCPSFiles, - kEob2IntroAnimData00, - kEob2IntroAnimData01, - kEob2IntroAnimData02, - kEob2IntroAnimData03, - kEob2IntroAnimData04, - kEob2IntroAnimData05, - kEob2IntroAnimData06, - kEob2IntroAnimData07, - kEob2IntroAnimData08, - kEob2IntroAnimData09, - kEob2IntroAnimData10, - kEob2IntroAnimData11, - kEob2IntroAnimData12, - kEob2IntroAnimData13, - kEob2IntroAnimData14, - kEob2IntroAnimData15, - kEob2IntroAnimData16, - kEob2IntroAnimData17, - kEob2IntroAnimData18, - kEob2IntroAnimData19, - kEob2IntroAnimData20, - kEob2IntroAnimData21, - kEob2IntroAnimData22, - kEob2IntroAnimData23, - kEob2IntroAnimData24, - kEob2IntroAnimData25, - kEob2IntroAnimData26, - kEob2IntroAnimData27, - kEob2IntroAnimData28, - kEob2IntroAnimData29, - kEob2IntroAnimData30, - kEob2IntroAnimData31, - kEob2IntroAnimData32, - kEob2IntroAnimData33, - kEob2IntroAnimData34, - kEob2IntroAnimData35, - kEob2IntroAnimData36, - kEob2IntroAnimData37, - kEob2IntroAnimData38, - kEob2IntroAnimData39, - kEob2IntroAnimData40, - kEob2IntroAnimData41, - kEob2IntroAnimData42, - kEob2IntroAnimData43, + kEoB2IntroAnimData00, + kEoB2IntroAnimData01, + kEoB2IntroAnimData02, + kEoB2IntroAnimData03, + kEoB2IntroAnimData04, + kEoB2IntroAnimData05, + kEoB2IntroAnimData06, + kEoB2IntroAnimData07, + kEoB2IntroAnimData08, + kEoB2IntroAnimData09, + kEoB2IntroAnimData10, + kEoB2IntroAnimData11, + kEoB2IntroAnimData12, + kEoB2IntroAnimData13, + kEoB2IntroAnimData14, + kEoB2IntroAnimData15, + kEoB2IntroAnimData16, + kEoB2IntroAnimData17, + kEoB2IntroAnimData18, + kEoB2IntroAnimData19, + kEoB2IntroAnimData20, + kEoB2IntroAnimData21, + kEoB2IntroAnimData22, + kEoB2IntroAnimData23, + kEoB2IntroAnimData24, + kEoB2IntroAnimData25, + kEoB2IntroAnimData26, + kEoB2IntroAnimData27, + kEoB2IntroAnimData28, + kEoB2IntroAnimData29, + kEoB2IntroAnimData30, + kEoB2IntroAnimData31, + kEoB2IntroAnimData32, + kEoB2IntroAnimData33, + kEoB2IntroAnimData34, + kEoB2IntroAnimData35, + kEoB2IntroAnimData36, + kEoB2IntroAnimData37, + kEoB2IntroAnimData38, + kEoB2IntroAnimData39, + kEoB2IntroAnimData40, + kEoB2IntroAnimData41, + kEoB2IntroAnimData42, + kEoB2IntroAnimData43, kEoB2IntroShapes00, kEoB2IntroShapes01, kEoB2IntroShapes04, @@ -545,27 +545,27 @@ enum kExtractID { kEoB2FinaleStrings, kEoB2CreditsData, kEoB2FinaleCPSFiles, - kEob2FinaleAnimData00, - kEob2FinaleAnimData01, - kEob2FinaleAnimData02, - kEob2FinaleAnimData03, - kEob2FinaleAnimData04, - kEob2FinaleAnimData05, - kEob2FinaleAnimData06, - kEob2FinaleAnimData07, - kEob2FinaleAnimData08, - kEob2FinaleAnimData09, - kEob2FinaleAnimData10, - kEob2FinaleAnimData11, - kEob2FinaleAnimData12, - kEob2FinaleAnimData13, - kEob2FinaleAnimData14, - kEob2FinaleAnimData15, - kEob2FinaleAnimData16, - kEob2FinaleAnimData17, - kEob2FinaleAnimData18, - kEob2FinaleAnimData19, - kEob2FinaleAnimData20, + kEoB2FinaleAnimData00, + kEoB2FinaleAnimData01, + kEoB2FinaleAnimData02, + kEoB2FinaleAnimData03, + kEoB2FinaleAnimData04, + kEoB2FinaleAnimData05, + kEoB2FinaleAnimData06, + kEoB2FinaleAnimData07, + kEoB2FinaleAnimData08, + kEoB2FinaleAnimData09, + kEoB2FinaleAnimData10, + kEoB2FinaleAnimData11, + kEoB2FinaleAnimData12, + kEoB2FinaleAnimData13, + kEoB2FinaleAnimData14, + kEoB2FinaleAnimData15, + kEoB2FinaleAnimData16, + kEoB2FinaleAnimData17, + kEoB2FinaleAnimData18, + kEoB2FinaleAnimData19, + kEoB2FinaleAnimData20, kEoB2FinaleShapes00, kEoB2FinaleShapes03, kEoB2FinaleShapes07, diff --git a/devtools/create_kyradat/games.cpp b/devtools/create_kyradat/games.cpp index bfdd333d45..b9e7e3f1b7 100644 --- a/devtools/create_kyradat/games.cpp +++ b/devtools/create_kyradat/games.cpp @@ -1618,50 +1618,50 @@ const int eob2FloppyNeed[] = { kEoB2IntroStrings, kEoB2IntroCPSFiles, - kEob2IntroAnimData00, - kEob2IntroAnimData01, - kEob2IntroAnimData02, - kEob2IntroAnimData03, - kEob2IntroAnimData04, - kEob2IntroAnimData05, - kEob2IntroAnimData06, - kEob2IntroAnimData07, - kEob2IntroAnimData08, - kEob2IntroAnimData09, - kEob2IntroAnimData10, - kEob2IntroAnimData11, - kEob2IntroAnimData12, - kEob2IntroAnimData13, - kEob2IntroAnimData14, - kEob2IntroAnimData15, - kEob2IntroAnimData16, - kEob2IntroAnimData17, - kEob2IntroAnimData18, - kEob2IntroAnimData19, - kEob2IntroAnimData20, - kEob2IntroAnimData21, - kEob2IntroAnimData22, - kEob2IntroAnimData23, - kEob2IntroAnimData24, - kEob2IntroAnimData25, - kEob2IntroAnimData26, - kEob2IntroAnimData27, - kEob2IntroAnimData28, - kEob2IntroAnimData29, - kEob2IntroAnimData30, - kEob2IntroAnimData31, - kEob2IntroAnimData32, - kEob2IntroAnimData33, - kEob2IntroAnimData34, - kEob2IntroAnimData35, - kEob2IntroAnimData36, - kEob2IntroAnimData37, - kEob2IntroAnimData38, - kEob2IntroAnimData39, - kEob2IntroAnimData40, - kEob2IntroAnimData41, - kEob2IntroAnimData42, - kEob2IntroAnimData43, + kEoB2IntroAnimData00, + kEoB2IntroAnimData01, + kEoB2IntroAnimData02, + kEoB2IntroAnimData03, + kEoB2IntroAnimData04, + kEoB2IntroAnimData05, + kEoB2IntroAnimData06, + kEoB2IntroAnimData07, + kEoB2IntroAnimData08, + kEoB2IntroAnimData09, + kEoB2IntroAnimData10, + kEoB2IntroAnimData11, + kEoB2IntroAnimData12, + kEoB2IntroAnimData13, + kEoB2IntroAnimData14, + kEoB2IntroAnimData15, + kEoB2IntroAnimData16, + kEoB2IntroAnimData17, + kEoB2IntroAnimData18, + kEoB2IntroAnimData19, + kEoB2IntroAnimData20, + kEoB2IntroAnimData21, + kEoB2IntroAnimData22, + kEoB2IntroAnimData23, + kEoB2IntroAnimData24, + kEoB2IntroAnimData25, + kEoB2IntroAnimData26, + kEoB2IntroAnimData27, + kEoB2IntroAnimData28, + kEoB2IntroAnimData29, + kEoB2IntroAnimData30, + kEoB2IntroAnimData31, + kEoB2IntroAnimData32, + kEoB2IntroAnimData33, + kEoB2IntroAnimData34, + kEoB2IntroAnimData35, + kEoB2IntroAnimData36, + kEoB2IntroAnimData37, + kEoB2IntroAnimData38, + kEoB2IntroAnimData39, + kEoB2IntroAnimData40, + kEoB2IntroAnimData41, + kEoB2IntroAnimData42, + kEoB2IntroAnimData43, kEoB2IntroShapes00, kEoB2IntroShapes01, @@ -1671,27 +1671,27 @@ const int eob2FloppyNeed[] = { kEoB2FinaleStrings, kEoB2CreditsData, kEoB2FinaleCPSFiles, - kEob2FinaleAnimData00, - kEob2FinaleAnimData01, - kEob2FinaleAnimData02, - kEob2FinaleAnimData03, - kEob2FinaleAnimData04, - kEob2FinaleAnimData05, - kEob2FinaleAnimData06, - kEob2FinaleAnimData07, - kEob2FinaleAnimData08, - kEob2FinaleAnimData09, - kEob2FinaleAnimData10, - kEob2FinaleAnimData11, - kEob2FinaleAnimData12, - kEob2FinaleAnimData13, - kEob2FinaleAnimData14, - kEob2FinaleAnimData15, - kEob2FinaleAnimData16, - kEob2FinaleAnimData17, - kEob2FinaleAnimData18, - kEob2FinaleAnimData19, - kEob2FinaleAnimData20, + kEoB2FinaleAnimData00, + kEoB2FinaleAnimData01, + kEoB2FinaleAnimData02, + kEoB2FinaleAnimData03, + kEoB2FinaleAnimData04, + kEoB2FinaleAnimData05, + kEoB2FinaleAnimData06, + kEoB2FinaleAnimData07, + kEoB2FinaleAnimData08, + kEoB2FinaleAnimData09, + kEoB2FinaleAnimData10, + kEoB2FinaleAnimData11, + kEoB2FinaleAnimData12, + kEoB2FinaleAnimData13, + kEoB2FinaleAnimData14, + kEoB2FinaleAnimData15, + kEoB2FinaleAnimData16, + kEoB2FinaleAnimData17, + kEoB2FinaleAnimData18, + kEoB2FinaleAnimData19, + kEoB2FinaleAnimData20, kEoB2FinaleShapes00, kEoB2FinaleShapes03, kEoB2FinaleShapes07, diff --git a/devtools/create_kyradat/tables.cpp b/devtools/create_kyradat/tables.cpp index 0a236a503b..506ffe21c7 100644 --- a/devtools/create_kyradat/tables.cpp +++ b/devtools/create_kyradat/tables.cpp @@ -2773,222 +2773,222 @@ const ExtractEntrySearchData kEoB2IntroCPSFilesProvider[] = { EXTRACT_END_ENTRY }; -const ExtractEntrySearchData kEob2IntroAnimData00Provider[] = { +const ExtractEntrySearchData kEoB2IntroAnimData00Provider[] = { { UNK_LANG, kPlatformUnknown, { 0x00000037, 0x000003E1, { { 0x38, 0xC2, 0x0F, 0xE1, 0x43, 0x6A, 0xE8, 0x7C, 0x82, 0x65, 0x9B, 0x4A, 0x9F, 0x83, 0xCD, 0xC8 } } } }, EXTRACT_END_ENTRY }; -const ExtractEntrySearchData kEob2IntroAnimData01Provider[] = { +const ExtractEntrySearchData kEoB2IntroAnimData01Provider[] = { { UNK_LANG, kPlatformUnknown, { 0x00000037, 0x000003A3, { { 0x84, 0x44, 0xF4, 0x46, 0x4E, 0x2B, 0xD7, 0xC6, 0xAD, 0x14, 0xF1, 0x9E, 0x8A, 0xBE, 0x7B, 0x42 } } } }, EXTRACT_END_ENTRY }; -const ExtractEntrySearchData kEob2IntroAnimData02Provider[] = { +const ExtractEntrySearchData kEoB2IntroAnimData02Provider[] = { { UNK_LANG, kPlatformUnknown, { 0x00000037, 0x00000446, { { 0x0C, 0xCA, 0x41, 0x0C, 0x89, 0x59, 0xD5, 0x28, 0x9A, 0xDC, 0x51, 0x1C, 0x0B, 0x8C, 0xD2, 0xDB } } } }, EXTRACT_END_ENTRY }; -const ExtractEntrySearchData kEob2IntroAnimData03Provider[] = { +const ExtractEntrySearchData kEoB2IntroAnimData03Provider[] = { { UNK_LANG, kPlatformUnknown, { 0x0000002C, 0x0000010E, { { 0xAB, 0x48, 0x64, 0x02, 0xB3, 0xF3, 0x6C, 0x82, 0x9D, 0x37, 0x5F, 0x52, 0x0F, 0x5B, 0xDF, 0x96 } } } }, EXTRACT_END_ENTRY }; -const ExtractEntrySearchData kEob2IntroAnimData04Provider[] = { +const ExtractEntrySearchData kEoB2IntroAnimData04Provider[] = { { UNK_LANG, kPlatformUnknown, { 0x00000021, 0x00000149, { { 0x3B, 0xAC, 0x14, 0x51, 0xDF, 0x5D, 0x22, 0x15, 0x46, 0x4E, 0xCD, 0xF3, 0xD4, 0x61, 0x29, 0x4A } } } }, EXTRACT_END_ENTRY }; -const ExtractEntrySearchData kEob2IntroAnimData05Provider[] = { +const ExtractEntrySearchData kEoB2IntroAnimData05Provider[] = { { UNK_LANG, kPlatformUnknown, { 0x0000002C, 0x0000010E, { { 0x28, 0x29, 0x5F, 0x31, 0x23, 0x53, 0xBA, 0xD7, 0x24, 0xB9, 0x21, 0x70, 0x84, 0x8A, 0x1C, 0x2E } } } }, EXTRACT_END_ENTRY }; -const ExtractEntrySearchData kEob2IntroAnimData06Provider[] = { +const ExtractEntrySearchData kEoB2IntroAnimData06Provider[] = { { UNK_LANG, kPlatformUnknown, { 0x000000B0, 0x00001365, { { 0x91, 0x28, 0x2F, 0x10, 0x45, 0x4D, 0xCF, 0x3E, 0x70, 0x1E, 0xD4, 0xBA, 0x0E, 0x70, 0xDE, 0xD0 } } } }, EXTRACT_END_ENTRY }; -const ExtractEntrySearchData kEob2IntroAnimData07Provider[] = { +const ExtractEntrySearchData kEoB2IntroAnimData07Provider[] = { { UNK_LANG, kPlatformUnknown, { 0x00000037, 0x000003C4, { { 0x8C, 0x72, 0xDE, 0x4F, 0x92, 0x52, 0x0A, 0xED, 0xF4, 0x79, 0xD6, 0x3D, 0x8F, 0x59, 0x9D, 0x69 } } } }, EXTRACT_END_ENTRY }; -const ExtractEntrySearchData kEob2IntroAnimData08Provider[] = { +const ExtractEntrySearchData kEoB2IntroAnimData08Provider[] = { { UNK_LANG, kPlatformUnknown, { 0x00000042, 0x00000442, { { 0xD2, 0x91, 0x51, 0xEB, 0x91, 0x13, 0x43, 0xCE, 0x7E, 0x60, 0xB8, 0xFF, 0xA7, 0xE2, 0x4C, 0x11 } } } }, EXTRACT_END_ENTRY }; -const ExtractEntrySearchData kEob2IntroAnimData09Provider[] = { +const ExtractEntrySearchData kEoB2IntroAnimData09Provider[] = { { UNK_LANG, kPlatformUnknown, { 0x0000002C, 0x000004BC, { { 0xD6, 0xC7, 0x44, 0x2E, 0xE7, 0x2A, 0x44, 0x09, 0x39, 0xC3, 0xD3, 0xA8, 0x02, 0xC8, 0xA0, 0x19 } } } }, EXTRACT_END_ENTRY }; -const ExtractEntrySearchData kEob2IntroAnimData10Provider[] = { +const ExtractEntrySearchData kEoB2IntroAnimData10Provider[] = { { UNK_LANG, kPlatformUnknown, { 0x0000006E, 0x00000C12, { { 0x91, 0xDB, 0x41, 0x7A, 0x4F, 0x7C, 0x7B, 0x83, 0x32, 0x13, 0x68, 0xF6, 0x58, 0x79, 0xDA, 0x99 } } } }, EXTRACT_END_ENTRY }; -const ExtractEntrySearchData kEob2IntroAnimData11Provider[] = { +const ExtractEntrySearchData kEoB2IntroAnimData11Provider[] = { { UNK_LANG, kPlatformUnknown, { 0x000000B0, 0x0000073C, { { 0x17, 0x1F, 0x4D, 0x05, 0x3F, 0x14, 0x2E, 0x77, 0xD3, 0xDB, 0x78, 0x67, 0xBB, 0x18, 0xDC, 0x85 } } } }, EXTRACT_END_ENTRY }; -const ExtractEntrySearchData kEob2IntroAnimData12Provider[] = { +const ExtractEntrySearchData kEoB2IntroAnimData12Provider[] = { { UNK_LANG, kPlatformUnknown, { 0x00000021, 0x00000228, { { 0xC9, 0x50, 0x68, 0x51, 0xD0, 0xC1, 0x5D, 0xD4, 0xFF, 0x08, 0x28, 0xDE, 0xC4, 0x41, 0x8C, 0xDB } } } }, EXTRACT_END_ENTRY }; -const ExtractEntrySearchData kEob2IntroAnimData13Provider[] = { +const ExtractEntrySearchData kEoB2IntroAnimData13Provider[] = { { UNK_LANG, kPlatformUnknown, { 0x0000002C, 0x00000340, { { 0x03, 0xCA, 0x5D, 0xD1, 0x15, 0xFA, 0x60, 0xD7, 0x70, 0x64, 0x3D, 0x44, 0x08, 0xB8, 0xDB, 0xAD } } } }, EXTRACT_END_ENTRY }; -const ExtractEntrySearchData kEob2IntroAnimData14Provider[] = { +const ExtractEntrySearchData kEoB2IntroAnimData14Provider[] = { { UNK_LANG, kPlatformUnknown, { 0x00000042, 0x000007C0, { { 0x82, 0xA9, 0x0B, 0x90, 0x9D, 0x65, 0x1E, 0xC7, 0x03, 0x5E, 0xB7, 0xDF, 0x6E, 0x1F, 0xED, 0xD6 } } } }, EXTRACT_END_ENTRY }; -const ExtractEntrySearchData kEob2IntroAnimData15Provider[] = { +const ExtractEntrySearchData kEoB2IntroAnimData15Provider[] = { { UNK_LANG, kPlatformUnknown, { 0x0000002C, 0x00000504, { { 0xA7, 0x91, 0x4F, 0xAD, 0xB1, 0x77, 0x80, 0x3A, 0xC7, 0xDE, 0x35, 0x7A, 0x96, 0x16, 0xD2, 0x13 } } } }, EXTRACT_END_ENTRY }; -const ExtractEntrySearchData kEob2IntroAnimData16Provider[] = { +const ExtractEntrySearchData kEoB2IntroAnimData16Provider[] = { { UNK_LANG, kPlatformUnknown, { 0x00000079, 0x00000B3D, { { 0xCC, 0x63, 0x5A, 0x11, 0xEE, 0x8A, 0xAE, 0x3A, 0x14, 0xC3, 0xBC, 0xDA, 0xAF, 0x1D, 0xD4, 0x2C } } } }, EXTRACT_END_ENTRY }; -const ExtractEntrySearchData kEob2IntroAnimData17Provider[] = { +const ExtractEntrySearchData kEoB2IntroAnimData17Provider[] = { { UNK_LANG, kPlatformUnknown, { 0x00000084, 0x00000911, { { 0x09, 0x1C, 0x4B, 0xD9, 0x0B, 0x2A, 0xD6, 0xC1, 0xE3, 0x8D, 0xFE, 0x43, 0x8F, 0x2E, 0x21, 0x51 } } } }, EXTRACT_END_ENTRY }; -const ExtractEntrySearchData kEob2IntroAnimData18Provider[] = { +const ExtractEntrySearchData kEoB2IntroAnimData18Provider[] = { { UNK_LANG, kPlatformUnknown, { 0x00000058, 0x000008FA, { { 0xFE, 0x58, 0xD9, 0x67, 0x78, 0x97, 0xE2, 0xCD, 0x82, 0xB8, 0xC9, 0xC0, 0x1F, 0xCA, 0x7C, 0xF5 } } } }, EXTRACT_END_ENTRY }; -const ExtractEntrySearchData kEob2IntroAnimData19Provider[] = { +const ExtractEntrySearchData kEoB2IntroAnimData19Provider[] = { { UNK_LANG, kPlatformUnknown, { 0x0000009A, 0x00000D6B, { { 0xA1, 0xDD, 0x7B, 0x8B, 0x25, 0xA5, 0x96, 0x5A, 0x33, 0x5E, 0x80, 0x5F, 0xA5, 0xBB, 0xAC, 0x11 } } } }, EXTRACT_END_ENTRY }; -const ExtractEntrySearchData kEob2IntroAnimData20Provider[] = { +const ExtractEntrySearchData kEoB2IntroAnimData20Provider[] = { { UNK_LANG, kPlatformUnknown, { 0x0000009A, 0x00000D6C, { { 0x19, 0xF9, 0x93, 0x1D, 0x01, 0xEE, 0x7C, 0x8B, 0x6C, 0x3E, 0x35, 0x2C, 0x5C, 0x88, 0xCD, 0xB6 } } } }, EXTRACT_END_ENTRY }; -const ExtractEntrySearchData kEob2IntroAnimData21Provider[] = { +const ExtractEntrySearchData kEoB2IntroAnimData21Provider[] = { { UNK_LANG, kPlatformUnknown, { 0x0000009A, 0x00000D83, { { 0xCB, 0x4F, 0x21, 0x29, 0x63, 0x5B, 0x8C, 0xF2, 0xBA, 0x03, 0x49, 0xD1, 0xAF, 0x22, 0xB0, 0xD5 } } } }, EXTRACT_END_ENTRY }; -const ExtractEntrySearchData kEob2IntroAnimData22Provider[] = { +const ExtractEntrySearchData kEoB2IntroAnimData22Provider[] = { { UNK_LANG, kPlatformUnknown, { 0x00000016, 0x00000200, { { 0x66, 0xEE, 0x45, 0xB1, 0x87, 0x66, 0xC4, 0x55, 0xCE, 0x60, 0x0C, 0x5B, 0xBB, 0x3C, 0x7D, 0x33 } } } }, EXTRACT_END_ENTRY }; -const ExtractEntrySearchData kEob2IntroAnimData23Provider[] = { +const ExtractEntrySearchData kEoB2IntroAnimData23Provider[] = { { UNK_LANG, kPlatformUnknown, { 0x00000016, 0x0000020D, { { 0xC4, 0x49, 0xE2, 0x5B, 0x2E, 0x17, 0x68, 0xC4, 0xBA, 0x20, 0xEC, 0xB1, 0xEB, 0x1A, 0xFB, 0xE0 } } } }, EXTRACT_END_ENTRY }; -const ExtractEntrySearchData kEob2IntroAnimData24Provider[] = { +const ExtractEntrySearchData kEoB2IntroAnimData24Provider[] = { { UNK_LANG, kPlatformUnknown, { 0x00000016, 0x00000214, { { 0xF1, 0x46, 0x82, 0xEF, 0x6D, 0xCA, 0x68, 0xA2, 0xF3, 0x55, 0x63, 0xD2, 0x13, 0x25, 0x19, 0xF7 } } } }, EXTRACT_END_ENTRY }; -const ExtractEntrySearchData kEob2IntroAnimData25Provider[] = { +const ExtractEntrySearchData kEoB2IntroAnimData25Provider[] = { { UNK_LANG, kPlatformUnknown, { 0x00000016, 0x00000256, { { 0x8F, 0xB9, 0xCD, 0xB8, 0x58, 0xCB, 0x90, 0x03, 0xFC, 0xB6, 0x95, 0x6F, 0x52, 0xF8, 0x7D, 0x19 } } } }, EXTRACT_END_ENTRY }; -const ExtractEntrySearchData kEob2IntroAnimData26Provider[] = { +const ExtractEntrySearchData kEoB2IntroAnimData26Provider[] = { { UNK_LANG, kPlatformUnknown, { 0x00000016, 0x00000263, { { 0x7A, 0x37, 0x07, 0xC4, 0x67, 0x72, 0x1F, 0xCB, 0xAC, 0x98, 0x46, 0x9A, 0xF3, 0x5F, 0xBA, 0x78 } } } }, EXTRACT_END_ENTRY }; -const ExtractEntrySearchData kEob2IntroAnimData27Provider[] = { +const ExtractEntrySearchData kEoB2IntroAnimData27Provider[] = { { UNK_LANG, kPlatformUnknown, { 0x00000016, 0x0000026A, { { 0x80, 0x11, 0xEE, 0x44, 0xDA, 0xE1, 0x26, 0x1F, 0x14, 0x7E, 0x93, 0x99, 0x44, 0x44, 0x9F, 0x85 } } } }, EXTRACT_END_ENTRY }; -const ExtractEntrySearchData kEob2IntroAnimData28Provider[] = { +const ExtractEntrySearchData kEoB2IntroAnimData28Provider[] = { { UNK_LANG, kPlatformUnknown, { 0x00000016, 0x000001F6, { { 0x45, 0xA1, 0xA5, 0xEC, 0x85, 0x06, 0xE2, 0x91, 0x28, 0xE0, 0xBB, 0x53, 0x74, 0x44, 0xD9, 0xA6 } } } }, EXTRACT_END_ENTRY }; -const ExtractEntrySearchData kEob2IntroAnimData29Provider[] = { +const ExtractEntrySearchData kEoB2IntroAnimData29Provider[] = { { UNK_LANG, kPlatformUnknown, { 0x00000016, 0x000001F9, { { 0x3F, 0x03, 0x2F, 0x8B, 0xFB, 0x6A, 0x97, 0x05, 0xED, 0xBB, 0xD6, 0xA0, 0xF5, 0x7A, 0x6D, 0x08 } } } }, EXTRACT_END_ENTRY }; -const ExtractEntrySearchData kEob2IntroAnimData30Provider[] = { +const ExtractEntrySearchData kEoB2IntroAnimData30Provider[] = { { UNK_LANG, kPlatformUnknown, { 0x00000016, 0x00000204, { { 0xA1, 0x37, 0x57, 0xC3, 0x72, 0x08, 0x98, 0xA6, 0xF4, 0x5E, 0x58, 0x9E, 0xF3, 0x11, 0x88, 0x1E } } } }, EXTRACT_END_ENTRY }; -const ExtractEntrySearchData kEob2IntroAnimData31Provider[] = { +const ExtractEntrySearchData kEoB2IntroAnimData31Provider[] = { { UNK_LANG, kPlatformUnknown, { 0x00000016, 0x00000212, { { 0x19, 0xCC, 0x6F, 0xA8, 0x29, 0xB5, 0x3B, 0x15, 0x2F, 0x2C, 0x43, 0xED, 0x7A, 0xF5, 0xC5, 0x69 } } } }, EXTRACT_END_ENTRY }; -const ExtractEntrySearchData kEob2IntroAnimData32Provider[] = { +const ExtractEntrySearchData kEoB2IntroAnimData32Provider[] = { { UNK_LANG, kPlatformUnknown, { 0x00000037, 0x000006C9, { { 0xBF, 0x65, 0xBA, 0x3F, 0x44, 0xEE, 0xB0, 0x5C, 0x8B, 0xBD, 0x15, 0xAB, 0x03, 0xD1, 0x55, 0x21 } } } }, EXTRACT_END_ENTRY }; -const ExtractEntrySearchData kEob2IntroAnimData33Provider[] = { +const ExtractEntrySearchData kEoB2IntroAnimData33Provider[] = { { UNK_LANG, kPlatformUnknown, { 0x0000009A, 0x00001585, { { 0xB5, 0x44, 0x06, 0xC9, 0xE8, 0x27, 0x75, 0x6E, 0x63, 0x77, 0xE9, 0xA9, 0x68, 0x73, 0xF5, 0x78 } } } }, EXTRACT_END_ENTRY }; -const ExtractEntrySearchData kEob2IntroAnimData34Provider[] = { +const ExtractEntrySearchData kEoB2IntroAnimData34Provider[] = { { UNK_LANG, kPlatformUnknown, { 0x00000058, 0x00000B43, { { 0x52, 0xB4, 0x1E, 0x14, 0x88, 0xBD, 0x8A, 0xD7, 0x38, 0xDF, 0x25, 0xB0, 0xAF, 0xAE, 0x76, 0xE1 } } } }, EXTRACT_END_ENTRY }; -const ExtractEntrySearchData kEob2IntroAnimData35Provider[] = { +const ExtractEntrySearchData kEoB2IntroAnimData35Provider[] = { { UNK_LANG, kPlatformUnknown, { 0x00000037, 0x000005A4, { { 0xFB, 0x82, 0xE7, 0xB2, 0x54, 0xDB, 0xB5, 0xE1, 0xCE, 0xFB, 0xD1, 0x23, 0x39, 0x8F, 0xA1, 0x0D } } } }, EXTRACT_END_ENTRY }; -const ExtractEntrySearchData kEob2IntroAnimData36Provider[] = { +const ExtractEntrySearchData kEoB2IntroAnimData36Provider[] = { { UNK_LANG, kPlatformUnknown, { 0x00000042, 0x00000572, { { 0x2C, 0x16, 0xD9, 0xBE, 0xDB, 0xBA, 0x04, 0xCA, 0x97, 0xB5, 0x88, 0x43, 0xA8, 0x62, 0xE2, 0x04 } } } }, EXTRACT_END_ENTRY }; -const ExtractEntrySearchData kEob2IntroAnimData37Provider[] = { +const ExtractEntrySearchData kEoB2IntroAnimData37Provider[] = { { UNK_LANG, kPlatformUnknown, { 0x00000016, 0x0000024E, { { 0xFF, 0x28, 0xD8, 0x62, 0xC6, 0xAD, 0x48, 0xC7, 0x31, 0x84, 0x6C, 0xBA, 0x9F, 0x4D, 0x15, 0xDA } } } }, EXTRACT_END_ENTRY }; -const ExtractEntrySearchData kEob2IntroAnimData38Provider[] = { +const ExtractEntrySearchData kEoB2IntroAnimData38Provider[] = { { UNK_LANG, kPlatformUnknown, { 0x000001D9, 0x00001FB1, { { 0x16, 0xB0, 0xDF, 0x86, 0x8C, 0xB3, 0x52, 0xEF, 0x21, 0x04, 0x22, 0x6D, 0xC0, 0x03, 0xB8, 0xC6 } } } }, EXTRACT_END_ENTRY }; -const ExtractEntrySearchData kEob2IntroAnimData39Provider[] = { +const ExtractEntrySearchData kEoB2IntroAnimData39Provider[] = { { UNK_LANG, kPlatformUnknown, { 0x0000004D, 0x00000582, { { 0x11, 0x6C, 0xBB, 0xF6, 0x1B, 0x3C, 0xAE, 0xAA, 0x40, 0x27, 0x3F, 0x86, 0x33, 0x92, 0xCB, 0xA9 } } } }, EXTRACT_END_ENTRY }; -const ExtractEntrySearchData kEob2IntroAnimData40Provider[] = { +const ExtractEntrySearchData kEoB2IntroAnimData40Provider[] = { { UNK_LANG, kPlatformUnknown, { 0x00000160, 0x000010A2, { { 0xD9, 0x9D, 0xF1, 0x7D, 0xE1, 0x7C, 0x61, 0xC0, 0xD4, 0xD3, 0x05, 0x0C, 0x79, 0xDD, 0xDB, 0xD1 } } } }, EXTRACT_END_ENTRY }; -const ExtractEntrySearchData kEob2IntroAnimData41Provider[] = { +const ExtractEntrySearchData kEoB2IntroAnimData41Provider[] = { { UNK_LANG, kPlatformUnknown, { 0x00000037, 0x00000355, { { 0x92, 0x85, 0xBE, 0x5A, 0x38, 0x08, 0xF3, 0xDF, 0xC6, 0x56, 0x74, 0xC3, 0x0B, 0x3F, 0x72, 0x4D } } } }, EXTRACT_END_ENTRY }; -const ExtractEntrySearchData kEob2IntroAnimData42Provider[] = { +const ExtractEntrySearchData kEoB2IntroAnimData42Provider[] = { { UNK_LANG, kPlatformUnknown, { 0x00000021, 0x0000010B, { { 0x68, 0xF8, 0x1D, 0x74, 0x6D, 0x32, 0x1E, 0x3A, 0x1C, 0xD1, 0x1D, 0x4B, 0x89, 0x3D, 0x5F, 0x2B } } } }, EXTRACT_END_ENTRY }; -const ExtractEntrySearchData kEob2IntroAnimData43Provider[] = { +const ExtractEntrySearchData kEoB2IntroAnimData43Provider[] = { { UNK_LANG, kPlatformUnknown, { 0x00000037, 0x00000116, { { 0xD5, 0x46, 0xCB, 0x3F, 0x27, 0xBD, 0x2B, 0xD6, 0x35, 0x69, 0x9E, 0x0A, 0x28, 0xDA, 0xC9, 0x84 } } } }, EXTRACT_END_ENTRY }; @@ -3031,107 +3031,107 @@ const ExtractEntrySearchData kEoB2FinaleCPSFilesProvider[] = { EXTRACT_END_ENTRY }; -const ExtractEntrySearchData kEob2FinaleAnimData00Provider[] = { +const ExtractEntrySearchData kEoB2FinaleAnimData00Provider[] = { { UNK_LANG, kPlatformUnknown, { 0x00000079, 0x00000B66, { { 0x9B, 0x8C, 0x17, 0xFA, 0xD2, 0x4F, 0x4B, 0x0E, 0x3A, 0x43, 0xB1, 0x86, 0x0C, 0xDC, 0x73, 0xAB } } } }, EXTRACT_END_ENTRY }; -const ExtractEntrySearchData kEob2FinaleAnimData01Provider[] = { +const ExtractEntrySearchData kEoB2FinaleAnimData01Provider[] = { { UNK_LANG, kPlatformUnknown, { 0x00000063, 0x00000A03, { { 0xBB, 0x31, 0xEA, 0x35, 0xFB, 0x99, 0x4C, 0x3E, 0x72, 0xBD, 0x36, 0x6B, 0x5C, 0x03, 0x19, 0x7F } } } }, EXTRACT_END_ENTRY }; -const ExtractEntrySearchData kEob2FinaleAnimData02Provider[] = { +const ExtractEntrySearchData kEoB2FinaleAnimData02Provider[] = { { UNK_LANG, kPlatformUnknown, { 0x0000002C, 0x000007C2, { { 0xF6, 0x83, 0x37, 0x58, 0x3C, 0x59, 0x84, 0x8F, 0x97, 0x80, 0xE2, 0xD8, 0xFD, 0x77, 0xA9, 0x54 } } } }, EXTRACT_END_ENTRY }; -const ExtractEntrySearchData kEob2FinaleAnimData03Provider[] = { +const ExtractEntrySearchData kEoB2FinaleAnimData03Provider[] = { { UNK_LANG, kPlatformUnknown, { 0x00000042, 0x0000092B, { { 0x47, 0xE4, 0x34, 0xE8, 0x72, 0xCC, 0xA4, 0x4A, 0xA4, 0x8F, 0xBA, 0xBC, 0x0C, 0x04, 0x18, 0xAF } } } }, EXTRACT_END_ENTRY }; -const ExtractEntrySearchData kEob2FinaleAnimData04Provider[] = { +const ExtractEntrySearchData kEoB2FinaleAnimData04Provider[] = { { UNK_LANG, kPlatformUnknown, { 0x00000058, 0x0000080B, { { 0x16, 0xDB, 0x77, 0x4C, 0x8E, 0xFD, 0x44, 0xF6, 0x5E, 0x28, 0x0B, 0x74, 0x93, 0x45, 0x8F, 0xD9 } } } }, EXTRACT_END_ENTRY }; -const ExtractEntrySearchData kEob2FinaleAnimData05Provider[] = { +const ExtractEntrySearchData kEoB2FinaleAnimData05Provider[] = { { UNK_LANG, kPlatformUnknown, { 0x0000004D, 0x00000C72, { { 0x6C, 0x57, 0x56, 0x7E, 0x87, 0x10, 0x9C, 0xE7, 0x69, 0xAC, 0x3B, 0x3F, 0xF6, 0x43, 0x5C, 0xD4 } } } }, EXTRACT_END_ENTRY }; -const ExtractEntrySearchData kEob2FinaleAnimData06Provider[] = { +const ExtractEntrySearchData kEoB2FinaleAnimData06Provider[] = { { UNK_LANG, kPlatformUnknown, { 0x00000016, 0x00000264, { { 0x48, 0x49, 0x5D, 0x78, 0xE2, 0xF1, 0x0D, 0x87, 0xEE, 0xEE, 0xD1, 0xA1, 0xC6, 0x64, 0xCA, 0x13 } } } }, EXTRACT_END_ENTRY }; -const ExtractEntrySearchData kEob2FinaleAnimData07Provider[] = { +const ExtractEntrySearchData kEoB2FinaleAnimData07Provider[] = { { UNK_LANG, kPlatformUnknown, { 0x00000042, 0x00000ABE, { { 0xFE, 0xA9, 0x5D, 0x87, 0xAF, 0x55, 0x04, 0x92, 0x41, 0xD3, 0xAD, 0x1D, 0xFF, 0x03, 0x81, 0x3C } } } }, EXTRACT_END_ENTRY }; -const ExtractEntrySearchData kEob2FinaleAnimData08Provider[] = { +const ExtractEntrySearchData kEoB2FinaleAnimData08Provider[] = { { UNK_LANG, kPlatformUnknown, { 0x00000021, 0x000004D8, { { 0x4E, 0xA7, 0xCC, 0x0B, 0x1B, 0x48, 0x22, 0x09, 0x33, 0xF7, 0x23, 0xF1, 0xF5, 0x9F, 0xA5, 0x7B } } } }, EXTRACT_END_ENTRY }; -const ExtractEntrySearchData kEob2FinaleAnimData09Provider[] = { +const ExtractEntrySearchData kEoB2FinaleAnimData09Provider[] = { { UNK_LANG, kPlatformUnknown, { 0x00000058, 0x000004BE, { { 0xF6, 0xEA, 0xA0, 0x7F, 0x54, 0x61, 0x79, 0x4C, 0x71, 0xD7, 0x9B, 0xA6, 0xC3, 0x45, 0xEE, 0x3E } } } }, EXTRACT_END_ENTRY }; -const ExtractEntrySearchData kEob2FinaleAnimData10Provider[] = { +const ExtractEntrySearchData kEoB2FinaleAnimData10Provider[] = { { UNK_LANG, kPlatformUnknown, { 0x0000009A, 0x00000FC4, { { 0xA9, 0xFB, 0x31, 0x55, 0xB8, 0x28, 0x63, 0xC3, 0x4B, 0x9E, 0x7D, 0x41, 0xC7, 0x1F, 0x2F, 0xBD } } } }, EXTRACT_END_ENTRY }; -const ExtractEntrySearchData kEob2FinaleAnimData11Provider[] = { +const ExtractEntrySearchData kEoB2FinaleAnimData11Provider[] = { { UNK_LANG, kPlatformUnknown, { 0x000000C6, 0x0000166B, { { 0xCC, 0x16, 0x50, 0xFF, 0xFF, 0xD5, 0xAE, 0x03, 0x40, 0xA3, 0x9A, 0x1F, 0xF8, 0x8E, 0x23, 0x7A } } } }, EXTRACT_END_ENTRY }; -const ExtractEntrySearchData kEob2FinaleAnimData12Provider[] = { +const ExtractEntrySearchData kEoB2FinaleAnimData12Provider[] = { { UNK_LANG, kPlatformUnknown, { 0x000000FD, 0x00001A69, { { 0x6A, 0x80, 0x89, 0x7E, 0xFC, 0xE4, 0x01, 0xF5, 0xA2, 0x11, 0xE7, 0x26, 0x20, 0x96, 0x62, 0x7B } } } }, EXTRACT_END_ENTRY }; -const ExtractEntrySearchData kEob2FinaleAnimData13Provider[] = { +const ExtractEntrySearchData kEoB2FinaleAnimData13Provider[] = { { UNK_LANG, kPlatformUnknown, { 0x000000FD, 0x00001886, { { 0xF9, 0x5B, 0x62, 0xDD, 0xAB, 0x14, 0x35, 0x77, 0x53, 0x05, 0xDB, 0xC5, 0xFD, 0x4D, 0x4F, 0x12 } } } }, EXTRACT_END_ENTRY }; -const ExtractEntrySearchData kEob2FinaleAnimData14Provider[] = { +const ExtractEntrySearchData kEoB2FinaleAnimData14Provider[] = { { UNK_LANG, kPlatformUnknown, { 0x00000108, 0x00001895, { { 0x22, 0xA1, 0x88, 0x69, 0xF9, 0x1C, 0xA2, 0x64, 0x44, 0xCD, 0x00, 0xFA, 0xB1, 0x94, 0xEB, 0x3A } } } }, EXTRACT_END_ENTRY }; -const ExtractEntrySearchData kEob2FinaleAnimData15Provider[] = { +const ExtractEntrySearchData kEoB2FinaleAnimData15Provider[] = { { UNK_LANG, kPlatformUnknown, { 0x000000D1, 0x000016E5, { { 0xD8, 0xE9, 0xA5, 0xEE, 0x54, 0x1B, 0x3E, 0x32, 0xDA, 0x78, 0x90, 0xC2, 0x54, 0xFC, 0xD5, 0x39 } } } }, EXTRACT_END_ENTRY }; -const ExtractEntrySearchData kEob2FinaleAnimData16Provider[] = { +const ExtractEntrySearchData kEoB2FinaleAnimData16Provider[] = { { UNK_LANG, kPlatformUnknown, { 0x0000008F, 0x00000C69, { { 0xBC, 0x41, 0xE5, 0xAF, 0x89, 0xE2, 0x54, 0x12, 0x9E, 0xB0, 0x5F, 0x28, 0xFF, 0x92, 0x9D, 0x89 } } } }, EXTRACT_END_ENTRY }; -const ExtractEntrySearchData kEob2FinaleAnimData17Provider[] = { +const ExtractEntrySearchData kEoB2FinaleAnimData17Provider[] = { { UNK_LANG, kPlatformUnknown, { 0x000000DC, 0x0000170D, { { 0x7A, 0x7B, 0x74, 0xCB, 0x68, 0xC2, 0xFF, 0xC7, 0xBE, 0x47, 0xE9, 0x43, 0xF7, 0x15, 0x8D, 0x59 } } } }, EXTRACT_END_ENTRY }; -const ExtractEntrySearchData kEob2FinaleAnimData18Provider[] = { +const ExtractEntrySearchData kEoB2FinaleAnimData18Provider[] = { { UNK_LANG, kPlatformUnknown, { 0x00000134, 0x00002651, { { 0x71, 0x26, 0x47, 0x0D, 0x7C, 0x96, 0x45, 0x0B, 0x82, 0xD0, 0x37, 0xB9, 0xD4, 0xD0, 0x84, 0xFC } } } }, EXTRACT_END_ENTRY }; -const ExtractEntrySearchData kEob2FinaleAnimData19Provider[] = { +const ExtractEntrySearchData kEoB2FinaleAnimData19Provider[] = { { UNK_LANG, kPlatformUnknown, { 0x0000004D, 0x000009C3, { { 0xDA, 0x96, 0xDF, 0x16, 0xEB, 0x5D, 0x49, 0xA4, 0x3F, 0xD3, 0x31, 0xBE, 0x49, 0x72, 0xF2, 0x71 } } } }, EXTRACT_END_ENTRY }; -const ExtractEntrySearchData kEob2FinaleAnimData20Provider[] = { +const ExtractEntrySearchData kEoB2FinaleAnimData20Provider[] = { { UNK_LANG, kPlatformUnknown, { 0x00000021, 0x000003D8, { { 0xD9, 0xC8, 0x58, 0x4B, 0x7D, 0x79, 0x86, 0xCB, 0xEB, 0x77, 0xC2, 0xD4, 0xB7, 0xB4, 0xE9, 0x6A } } } }, EXTRACT_END_ENTRY }; @@ -4263,50 +4263,50 @@ const ExtractEntry extractProviders[] = { { kEoB2IntroStrings, kEoB2IntroStringsProvider }, { kEoB2IntroCPSFiles, kEoB2IntroCPSFilesProvider }, - { kEob2IntroAnimData00, kEob2IntroAnimData00Provider }, - { kEob2IntroAnimData01, kEob2IntroAnimData01Provider }, - { kEob2IntroAnimData02, kEob2IntroAnimData02Provider }, - { kEob2IntroAnimData03, kEob2IntroAnimData03Provider }, - { kEob2IntroAnimData04, kEob2IntroAnimData04Provider }, - { kEob2IntroAnimData05, kEob2IntroAnimData05Provider }, - { kEob2IntroAnimData06, kEob2IntroAnimData06Provider }, - { kEob2IntroAnimData07, kEob2IntroAnimData07Provider }, - { kEob2IntroAnimData08, kEob2IntroAnimData08Provider }, - { kEob2IntroAnimData09, kEob2IntroAnimData09Provider }, - { kEob2IntroAnimData10, kEob2IntroAnimData10Provider }, - { kEob2IntroAnimData11, kEob2IntroAnimData11Provider }, - { kEob2IntroAnimData12, kEob2IntroAnimData12Provider }, - { kEob2IntroAnimData13, kEob2IntroAnimData13Provider }, - { kEob2IntroAnimData14, kEob2IntroAnimData14Provider }, - { kEob2IntroAnimData15, kEob2IntroAnimData15Provider }, - { kEob2IntroAnimData16, kEob2IntroAnimData16Provider }, - { kEob2IntroAnimData17, kEob2IntroAnimData17Provider }, - { kEob2IntroAnimData18, kEob2IntroAnimData18Provider }, - { kEob2IntroAnimData19, kEob2IntroAnimData19Provider }, - { kEob2IntroAnimData20, kEob2IntroAnimData20Provider }, - { kEob2IntroAnimData21, kEob2IntroAnimData21Provider }, - { kEob2IntroAnimData22, kEob2IntroAnimData22Provider }, - { kEob2IntroAnimData23, kEob2IntroAnimData23Provider }, - { kEob2IntroAnimData24, kEob2IntroAnimData24Provider }, - { kEob2IntroAnimData25, kEob2IntroAnimData25Provider }, - { kEob2IntroAnimData26, kEob2IntroAnimData26Provider }, - { kEob2IntroAnimData27, kEob2IntroAnimData27Provider }, - { kEob2IntroAnimData28, kEob2IntroAnimData28Provider }, - { kEob2IntroAnimData29, kEob2IntroAnimData29Provider }, - { kEob2IntroAnimData30, kEob2IntroAnimData30Provider }, - { kEob2IntroAnimData31, kEob2IntroAnimData31Provider }, - { kEob2IntroAnimData32, kEob2IntroAnimData32Provider }, - { kEob2IntroAnimData33, kEob2IntroAnimData33Provider }, - { kEob2IntroAnimData34, kEob2IntroAnimData34Provider }, - { kEob2IntroAnimData35, kEob2IntroAnimData35Provider }, - { kEob2IntroAnimData36, kEob2IntroAnimData36Provider }, - { kEob2IntroAnimData37, kEob2IntroAnimData37Provider }, - { kEob2IntroAnimData38, kEob2IntroAnimData38Provider }, - { kEob2IntroAnimData39, kEob2IntroAnimData39Provider }, - { kEob2IntroAnimData40, kEob2IntroAnimData40Provider }, - { kEob2IntroAnimData41, kEob2IntroAnimData41Provider }, - { kEob2IntroAnimData42, kEob2IntroAnimData42Provider }, - { kEob2IntroAnimData43, kEob2IntroAnimData43Provider }, + { kEoB2IntroAnimData00, kEoB2IntroAnimData00Provider }, + { kEoB2IntroAnimData01, kEoB2IntroAnimData01Provider }, + { kEoB2IntroAnimData02, kEoB2IntroAnimData02Provider }, + { kEoB2IntroAnimData03, kEoB2IntroAnimData03Provider }, + { kEoB2IntroAnimData04, kEoB2IntroAnimData04Provider }, + { kEoB2IntroAnimData05, kEoB2IntroAnimData05Provider }, + { kEoB2IntroAnimData06, kEoB2IntroAnimData06Provider }, + { kEoB2IntroAnimData07, kEoB2IntroAnimData07Provider }, + { kEoB2IntroAnimData08, kEoB2IntroAnimData08Provider }, + { kEoB2IntroAnimData09, kEoB2IntroAnimData09Provider }, + { kEoB2IntroAnimData10, kEoB2IntroAnimData10Provider }, + { kEoB2IntroAnimData11, kEoB2IntroAnimData11Provider }, + { kEoB2IntroAnimData12, kEoB2IntroAnimData12Provider }, + { kEoB2IntroAnimData13, kEoB2IntroAnimData13Provider }, + { kEoB2IntroAnimData14, kEoB2IntroAnimData14Provider }, + { kEoB2IntroAnimData15, kEoB2IntroAnimData15Provider }, + { kEoB2IntroAnimData16, kEoB2IntroAnimData16Provider }, + { kEoB2IntroAnimData17, kEoB2IntroAnimData17Provider }, + { kEoB2IntroAnimData18, kEoB2IntroAnimData18Provider }, + { kEoB2IntroAnimData19, kEoB2IntroAnimData19Provider }, + { kEoB2IntroAnimData20, kEoB2IntroAnimData20Provider }, + { kEoB2IntroAnimData21, kEoB2IntroAnimData21Provider }, + { kEoB2IntroAnimData22, kEoB2IntroAnimData22Provider }, + { kEoB2IntroAnimData23, kEoB2IntroAnimData23Provider }, + { kEoB2IntroAnimData24, kEoB2IntroAnimData24Provider }, + { kEoB2IntroAnimData25, kEoB2IntroAnimData25Provider }, + { kEoB2IntroAnimData26, kEoB2IntroAnimData26Provider }, + { kEoB2IntroAnimData27, kEoB2IntroAnimData27Provider }, + { kEoB2IntroAnimData28, kEoB2IntroAnimData28Provider }, + { kEoB2IntroAnimData29, kEoB2IntroAnimData29Provider }, + { kEoB2IntroAnimData30, kEoB2IntroAnimData30Provider }, + { kEoB2IntroAnimData31, kEoB2IntroAnimData31Provider }, + { kEoB2IntroAnimData32, kEoB2IntroAnimData32Provider }, + { kEoB2IntroAnimData33, kEoB2IntroAnimData33Provider }, + { kEoB2IntroAnimData34, kEoB2IntroAnimData34Provider }, + { kEoB2IntroAnimData35, kEoB2IntroAnimData35Provider }, + { kEoB2IntroAnimData36, kEoB2IntroAnimData36Provider }, + { kEoB2IntroAnimData37, kEoB2IntroAnimData37Provider }, + { kEoB2IntroAnimData38, kEoB2IntroAnimData38Provider }, + { kEoB2IntroAnimData39, kEoB2IntroAnimData39Provider }, + { kEoB2IntroAnimData40, kEoB2IntroAnimData40Provider }, + { kEoB2IntroAnimData41, kEoB2IntroAnimData41Provider }, + { kEoB2IntroAnimData42, kEoB2IntroAnimData42Provider }, + { kEoB2IntroAnimData43, kEoB2IntroAnimData43Provider }, { kEoB2IntroShapes00, kEoB2IntroShapes00Provider }, { kEoB2IntroShapes01, kEoB2IntroShapes01Provider }, { kEoB2IntroShapes04, kEoB2IntroShapes04Provider }, @@ -4315,27 +4315,27 @@ const ExtractEntry extractProviders[] = { { kEoB2FinaleStrings, kEoB2FinaleStringsProvider }, { kEoB2CreditsData, kEoB2CreditsDataProvider }, { kEoB2FinaleCPSFiles, kEoB2FinaleCPSFilesProvider }, - { kEob2FinaleAnimData00, kEob2FinaleAnimData00Provider }, - { kEob2FinaleAnimData01, kEob2FinaleAnimData01Provider }, - { kEob2FinaleAnimData02, kEob2FinaleAnimData02Provider }, - { kEob2FinaleAnimData03, kEob2FinaleAnimData03Provider }, - { kEob2FinaleAnimData04, kEob2FinaleAnimData04Provider }, - { kEob2FinaleAnimData05, kEob2FinaleAnimData05Provider }, - { kEob2FinaleAnimData06, kEob2FinaleAnimData06Provider }, - { kEob2FinaleAnimData07, kEob2FinaleAnimData07Provider }, - { kEob2FinaleAnimData08, kEob2FinaleAnimData08Provider }, - { kEob2FinaleAnimData09, kEob2FinaleAnimData09Provider }, - { kEob2FinaleAnimData10, kEob2FinaleAnimData10Provider }, - { kEob2FinaleAnimData11, kEob2FinaleAnimData11Provider }, - { kEob2FinaleAnimData12, kEob2FinaleAnimData12Provider }, - { kEob2FinaleAnimData13, kEob2FinaleAnimData13Provider }, - { kEob2FinaleAnimData14, kEob2FinaleAnimData14Provider }, - { kEob2FinaleAnimData15, kEob2FinaleAnimData15Provider }, - { kEob2FinaleAnimData16, kEob2FinaleAnimData16Provider }, - { kEob2FinaleAnimData17, kEob2FinaleAnimData17Provider }, - { kEob2FinaleAnimData18, kEob2FinaleAnimData18Provider }, - { kEob2FinaleAnimData19, kEob2FinaleAnimData19Provider }, - { kEob2FinaleAnimData20, kEob2FinaleAnimData20Provider }, + { kEoB2FinaleAnimData00, kEoB2FinaleAnimData00Provider }, + { kEoB2FinaleAnimData01, kEoB2FinaleAnimData01Provider }, + { kEoB2FinaleAnimData02, kEoB2FinaleAnimData02Provider }, + { kEoB2FinaleAnimData03, kEoB2FinaleAnimData03Provider }, + { kEoB2FinaleAnimData04, kEoB2FinaleAnimData04Provider }, + { kEoB2FinaleAnimData05, kEoB2FinaleAnimData05Provider }, + { kEoB2FinaleAnimData06, kEoB2FinaleAnimData06Provider }, + { kEoB2FinaleAnimData07, kEoB2FinaleAnimData07Provider }, + { kEoB2FinaleAnimData08, kEoB2FinaleAnimData08Provider }, + { kEoB2FinaleAnimData09, kEoB2FinaleAnimData09Provider }, + { kEoB2FinaleAnimData10, kEoB2FinaleAnimData10Provider }, + { kEoB2FinaleAnimData11, kEoB2FinaleAnimData11Provider }, + { kEoB2FinaleAnimData12, kEoB2FinaleAnimData12Provider }, + { kEoB2FinaleAnimData13, kEoB2FinaleAnimData13Provider }, + { kEoB2FinaleAnimData14, kEoB2FinaleAnimData14Provider }, + { kEoB2FinaleAnimData15, kEoB2FinaleAnimData15Provider }, + { kEoB2FinaleAnimData16, kEoB2FinaleAnimData16Provider }, + { kEoB2FinaleAnimData17, kEoB2FinaleAnimData17Provider }, + { kEoB2FinaleAnimData18, kEoB2FinaleAnimData18Provider }, + { kEoB2FinaleAnimData19, kEoB2FinaleAnimData19Provider }, + { kEoB2FinaleAnimData20, kEoB2FinaleAnimData20Provider }, { kEoB2FinaleShapes00, kEoB2FinaleShapes00Provider }, { kEoB2FinaleShapes03, kEoB2FinaleShapes03Provider }, { kEoB2FinaleShapes07, kEoB2FinaleShapes07Provider }, -- cgit v1.2.3 From 68eb280116eca9154b71159af3f6c9160b6315a7 Mon Sep 17 00:00:00 2001 From: Strangerke Date: Mon, 24 Feb 2014 13:57:44 +0100 Subject: R2R: Don't allow character to teleport (bug #6546) --- engines/tsage/ringworld2/ringworld2_logic.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/engines/tsage/ringworld2/ringworld2_logic.cpp b/engines/tsage/ringworld2/ringworld2_logic.cpp index 773425fae3..c5c6de980c 100644 --- a/engines/tsage/ringworld2/ringworld2_logic.cpp +++ b/engines/tsage/ringworld2/ringworld2_logic.cpp @@ -1432,7 +1432,7 @@ void SceneExit::process(Event &event) { if (!R2_GLOBALS._insetUp) { SceneArea::process(event); - if (_enabled) { + if (_enabled && R2_GLOBALS._player._enabled) { if (event.eventType == EVENT_BUTTON_DOWN) { if (!_bounds.contains(mousePos)) _moving = false; -- cgit v1.2.3 From e5a9d644ea7ced7c04962e18b0279f4e0e5cb103 Mon Sep 17 00:00:00 2001 From: Eugene Sandulenko Date: Tue, 25 Feb 2014 00:09:12 +0200 Subject: FULLPIPE: Renames in scene09 --- engines/fullpipe/scenes.cpp | 18 +++++++++--------- engines/fullpipe/scenes.h | 4 ++-- engines/fullpipe/scenes/scene09.cpp | 6 +++--- 3 files changed, 14 insertions(+), 14 deletions(-) diff --git a/engines/fullpipe/scenes.cpp b/engines/fullpipe/scenes.cpp index 1c82110f6b..707db405b1 100644 --- a/engines/fullpipe/scenes.cpp +++ b/engines/fullpipe/scenes.cpp @@ -171,15 +171,15 @@ Vars::Vars() { scene09_var13 = 0; scene09_var15 = 0; scene09_var17 = 0; - scene09_var19 = 0; - scene09_var18[0].x = 0; - scene09_var18[0].y = -15; - scene09_var18[1].x = 15; - scene09_var18[1].y = 0; - scene09_var18[2].x = 0; - scene09_var18[2].y = 0; - scene09_var18[3].x = 0; - scene09_var18[3].y = 0; + scene09_clickY = 0; + scene09_hangerOffsets[0].x = 0; + scene09_hangerOffsets[0].y = -15; + scene09_hangerOffsets[1].x = 15; + scene09_hangerOffsets[1].y = 0; + scene09_hangerOffsets[2].x = 0; + scene09_hangerOffsets[2].y = 0; + scene09_hangerOffsets[3].x = 0; + scene09_hangerOffsets[3].y = 0; scene10_gum = 0; scene10_packet = 0; diff --git a/engines/fullpipe/scenes.h b/engines/fullpipe/scenes.h index 8b82101c14..0b8b93398a 100644 --- a/engines/fullpipe/scenes.h +++ b/engines/fullpipe/scenes.h @@ -366,8 +366,8 @@ public: int scene09_var13; int scene09_var15; int scene09_var17; - int scene09_var19; - Common::Point scene09_var18[4]; + int scene09_clickY; + Common::Point scene09_hangerOffsets[4]; StaticANIObject *scene10_gum; StaticANIObject *scene10_packet; diff --git a/engines/fullpipe/scenes/scene09.cpp b/engines/fullpipe/scenes/scene09.cpp index dcd6b83cde..a0c4c3f931 100644 --- a/engines/fullpipe/scenes/scene09.cpp +++ b/engines/fullpipe/scenes/scene09.cpp @@ -558,7 +558,7 @@ void sceneHandler09_checkHangerCollide() { for (int i = 0; i < g_vars->scene09_numMovingHangers; i++) { for (int j = 0; j < 4; j++) { - g_vars->scene09_hangers[i]->ani->getPixelAtPos(newx + g_vars->scene09_var18[j].x, ball->ani->_oy + g_vars->scene09_var18[j].y, &pixel); + g_vars->scene09_hangers[i]->ani->getPixelAtPos(newx + g_vars->scene09_hangerOffsets[j].x, ball->ani->_oy + g_vars->scene09_hangerOffsets[j].y, &pixel); if (pixel) { sceneHandler09_ballExplode(ball); @@ -575,7 +575,7 @@ void sceneHandler09_hangerStartCycle() { if (ani->_movement) { ani->startAnim(MV_VSN_CYCLE2, 0, -1); g_vars->scene09_hangers[g_vars->scene09_interactingHanger]->field_8 = 0; - g_vars->scene09_hangers[g_vars->scene09_interactingHanger]->phase = g_vars->scene09_var11 + (g_fp->_mouseScreenPos.y - g_vars->scene09_var19) / 2; + g_vars->scene09_hangers[g_vars->scene09_interactingHanger]->phase = g_vars->scene09_var11 + (g_fp->_mouseScreenPos.y - g_vars->scene09_clickY) / 2; if (g_vars->scene09_var12 != -1000 && g_vars->scene09_hangers[g_vars->scene09_interactingHanger]->phase != g_vars->scene09_var12) { ExCommand *ex = new ExCommand(0, 35, SND_9_019, 0, 0, 0, 1, 0, 0, 0); @@ -707,7 +707,7 @@ int sceneHandler09(ExCommand *cmd) { g_vars->scene09_var11 = g_vars->scene09_hangers[hng]->phase; g_vars->scene09_var12 = g_vars->scene09_hangers[hng]->phase; - g_vars->scene09_var19 = cmd->_y; + g_vars->scene09_clickY = cmd->_y; if (!g_vars->scene09_hangers[hng]->ani->_movement || g_vars->scene09_hangers[hng]->ani->_movement->_id != MV_VSN_CYCLE2) { g_vars->scene09_hangers[hng]->ani->changeStatics2(ST_VSN_NORMAL); -- cgit v1.2.3 From da57eeeeb2548bd872b8b8fe7f3be040382b3b9b Mon Sep 17 00:00:00 2001 From: Torbjörn Andersson Date: Tue, 25 Feb 2014 00:09:16 +0100 Subject: OPENGL: Fix building with --disable-16bit --- backends/graphics/opengl/opengl-graphics.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/backends/graphics/opengl/opengl-graphics.cpp b/backends/graphics/opengl/opengl-graphics.cpp index 0a034128fe..cbd06e9161 100644 --- a/backends/graphics/opengl/opengl-graphics.cpp +++ b/backends/graphics/opengl/opengl-graphics.cpp @@ -278,11 +278,15 @@ OSystem::TransactionError OpenGLGraphicsManager::endGFXTransaction() { _gameScreen->allocate(_currentState.gameWidth, _currentState.gameHeight); _gameScreen->enableLinearFiltering(_currentState.graphicsMode == GFX_LINEAR); // We fill the screen to all black or index 0 for CLUT8. +#ifdef USE_RGB_COLOR if (_currentState.gameFormat.bytesPerPixel == 1) { _gameScreen->fill(0); } else { _gameScreen->fill(_gameScreen->getSurface()->format.RGBToColor(0, 0, 0)); } +#else + _gameScreen->fill(0); +#endif } // Update our display area and cursor scaling. This makes sure we pick up -- cgit v1.2.3 From c03ed78a24a92f6b73f589b50a16753dc4ac5961 Mon Sep 17 00:00:00 2001 From: Strangerke Date: Tue, 25 Feb 2014 07:33:42 +0100 Subject: AVALANCHE: Fix destination check in initRunner() --- engines/avalanche/shootemup.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/engines/avalanche/shootemup.cpp b/engines/avalanche/shootemup.cpp index 676154d52f..f50be51eaf 100644 --- a/engines/avalanche/shootemup.cpp +++ b/engines/avalanche/shootemup.cpp @@ -400,7 +400,7 @@ void ShootEmUp::initRunner(int16 x, int16 y, byte f1, byte f2, int8 ix, int8 iy) _running[i]._lowest = f1; _running[i]._ix = ix; _running[i]._iy = iy; - if ((ix = 0) && (iy = 0)) + if ((ix == 0) && (iy == 0)) _running[i]._ix = 2; // To stop them running on the spot! _running[i]._frameDelay = kFrameDelayMax; return; -- cgit v1.2.3 From 64a0e784738730480a4f40281e06d185f454eb2c Mon Sep 17 00:00:00 2001 From: Strangerke Date: Tue, 25 Feb 2014 07:55:57 +0100 Subject: VOYEUR: Add some missing initializations in SVoy, introduce EVTYPE_NONE even type --- engines/voyeur/data.cpp | 16 ++++++++++++++++ engines/voyeur/data.h | 9 +++++++-- 2 files changed, 23 insertions(+), 2 deletions(-) diff --git a/engines/voyeur/data.cpp b/engines/voyeur/data.cpp index 736267c72c..2453de1048 100644 --- a/engines/voyeur/data.cpp +++ b/engines/voyeur/data.cpp @@ -77,6 +77,19 @@ SVoy::SVoy() { _aptLoadMode = -1; _eventFlags |= EVTFLAG_100; _totalPhoneCalls = 0; + + for (int i = 0; i < 6; i++) + _evPicPtrs[i] = nullptr; + for (int i = 0; i < 1000; i++) { + _events[i]._hour = 0; + _events[i]._minute = 0; + _events[i]._isAM = true; + _events[i]._type = EVTYPE_NONE; + _events[i]._audioVideoId = -1; + _events[i]._computerOn = 0; + _events[i]._computerOff = 0; + _events[i]._dead = 0; + } } void SVoy::setVm(VoyeurEngine *vm) { @@ -344,6 +357,9 @@ bool SVoy::checkForKey() { break; } break; + + default: + break; } if (_vm->_controlPtr->_state->_victimEvidenceIndex == _vm->_controlPtr->_state->_victimIndex) diff --git a/engines/voyeur/data.h b/engines/voyeur/data.h index 7b16f990f7..ed94cee490 100644 --- a/engines/voyeur/data.h +++ b/engines/voyeur/data.h @@ -31,8 +31,13 @@ namespace Voyeur { #define TOTAL_EVENTS 1000 -enum VoyeurEventType { EVTYPE_VIDEO = 1, EVTYPE_AUDIO = 2, EVTYPE_EVID = 3, - EVTYPE_COMPUTER = 4 }; +enum VoyeurEventType { + EVTYPE_NONE = 0, + EVTYPE_VIDEO = 1, + EVTYPE_AUDIO = 2, + EVTYPE_EVID = 3, + EVTYPE_COMPUTER = 4 +}; enum EventFlag { EVTFLAG_TIME_DISABLED = 1, EVTFLAG_2 = 2, EVTFLAG_8 = 8, EVTFLAG_RECORDING = 0x10, EVTFLAG_40 = 0x40, EVTFLAG_VICTIM_PRESET = 0x80, EVTFLAG_100 = 0x100 }; -- cgit v1.2.3 From eda34075c12a612ffb17ea39d524467233b288bf Mon Sep 17 00:00:00 2001 From: Strangerke Date: Tue, 25 Feb 2014 08:09:28 +0100 Subject: VOYEUR: Fix some uninitialized variables in ThreadResource --- engines/voyeur/files_threads.cpp | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/engines/voyeur/files_threads.cpp b/engines/voyeur/files_threads.cpp index ee626fd4c9..d0addc868f 100644 --- a/engines/voyeur/files_threads.cpp +++ b/engines/voyeur/files_threads.cpp @@ -33,14 +33,22 @@ void ThreadResource::init() { Common::fill(&_useCount[0], &_useCount[8], 0); } -ThreadResource::ThreadResource(BoltFilesState &state, const byte *src): - _vm(state._vm) { +ThreadResource::ThreadResource(BoltFilesState &state, const byte *src):_vm(state._vm) { _stateId = READ_LE_UINT16(&src[0]); _stackId = READ_LE_UINT16(&src[0]); _savedStateId = READ_LE_UINT16(&src[0]); _savedStackId = READ_LE_UINT16(&src[0]); _ctlPtr = nullptr; _aptPos = Common::Point(-1, -1); + + _newStateId = -1; + _newStackId = -1; + _stateFlags = 0; + _stateCount = 0; + _parseCount = 0; + _nextStateId = -1; + _threadInfoPtr = nullptr; + _playCommandsPtr = nullptr; } void ThreadResource::initThreadStruct(int idx, int id) { -- cgit v1.2.3 From 0a6a76c478162f1f2067520792780f43d9f7f9e2 Mon Sep 17 00:00:00 2001 From: Strangerke Date: Tue, 25 Feb 2014 08:14:29 +0100 Subject: VOYEUR: Fix uninitialized variables in DisplayResource and RL2Decoder --- engines/voyeur/animation.cpp | 3 +++ engines/voyeur/files.cpp | 2 ++ 2 files changed, 5 insertions(+) diff --git a/engines/voyeur/animation.cpp b/engines/voyeur/animation.cpp index 8e4b7fb975..82cddc258f 100644 --- a/engines/voyeur/animation.cpp +++ b/engines/voyeur/animation.cpp @@ -38,6 +38,9 @@ RL2Decoder::RL2Decoder(Audio::Mixer::SoundType soundType) : _soundType(soundType _paletteStart = 0; _fileStream = nullptr; _soundFrameNumber = -1; + + _audioTrack = nullptr; + _videoTrack = nullptr; } RL2Decoder::~RL2Decoder() { diff --git a/engines/voyeur/files.cpp b/engines/voyeur/files.cpp index 78dc121223..8205857b9d 100644 --- a/engines/voyeur/files.cpp +++ b/engines/voyeur/files.cpp @@ -743,10 +743,12 @@ RectResource::RectResource(int x1, int y1, int x2, int y2) { DisplayResource::DisplayResource() { _vm = NULL; + _flags = 0; } DisplayResource::DisplayResource(VoyeurEngine *vm) { _vm = vm; + _flags = 0; } void DisplayResource::sFillBox(int width, int height) { -- cgit v1.2.3 From 91146e51f533b7258a315e754aabaff0b9af5d97 Mon Sep 17 00:00:00 2001 From: Eugene Sandulenko Date: Tue, 25 Feb 2014 20:58:51 +0200 Subject: FULLPIPE: Rename rest of vars on scene09. This completes the scene --- engines/fullpipe/scenes.cpp | 7 +- engines/fullpipe/scenes.h | 9 +- engines/fullpipe/scenes/scene09.cpp | 160 ++++++++++++++++++------------------ 3 files changed, 83 insertions(+), 93 deletions(-) diff --git a/engines/fullpipe/scenes.cpp b/engines/fullpipe/scenes.cpp index 707db405b1..8e4b5c9a34 100644 --- a/engines/fullpipe/scenes.cpp +++ b/engines/fullpipe/scenes.cpp @@ -165,12 +165,9 @@ Vars::Vars() { scene09_gulperIsPresent = true; scene09_dudeIsOnLadder = false; scene09_interactingHanger = -1; - scene09_var11 = -1; - scene09_var12 = -1000; + scene09_intHangerPhase = -1; + scene09_intHangerMaxPhase = -1000; scene09_numMovingHangers = 0; - scene09_var13 = 0; - scene09_var15 = 0; - scene09_var17 = 0; scene09_clickY = 0; scene09_hangerOffsets[0].x = 0; scene09_hangerOffsets[0].y = -15; diff --git a/engines/fullpipe/scenes.h b/engines/fullpipe/scenes.h index 0b8b93398a..10485f2a7b 100644 --- a/engines/fullpipe/scenes.h +++ b/engines/fullpipe/scenes.h @@ -357,15 +357,12 @@ public: bool scene09_gulperIsPresent; bool scene09_dudeIsOnLadder; int scene09_interactingHanger; - int scene09_var11; - int scene09_var12; + int scene09_intHangerPhase; + int scene09_intHangerMaxPhase; BallChain scene09_balls; Common::Array scene09_hangers; - BallChain scene09_var07; + BallChain scene09_flyingBalls; int scene09_numMovingHangers; - int scene09_var13; - int scene09_var15; - int scene09_var17; int scene09_clickY; Common::Point scene09_hangerOffsets[4]; diff --git a/engines/fullpipe/scenes/scene09.cpp b/engines/fullpipe/scenes/scene09.cpp index a0c4c3f931..99cf0b20fd 100644 --- a/engines/fullpipe/scenes/scene09.cpp +++ b/engines/fullpipe/scenes/scene09.cpp @@ -66,11 +66,11 @@ void scene09_initScene(Scene *sc) { g_vars->scene09_gulperIsPresent = true; g_vars->scene09_dudeIsOnLadder = false; g_vars->scene09_interactingHanger = -1; - g_vars->scene09_var11 = -1; - g_vars->scene09_var12 = -1000; + g_vars->scene09_intHangerPhase = -1; + g_vars->scene09_intHangerMaxPhase = -1000; g_vars->scene09_balls.cPlexLen = 10; - g_vars->scene09_var07.cPlexLen = 10; + g_vars->scene09_flyingBalls.cPlexLen = 10; while (g_vars->scene09_balls.numBalls) { Ball *b = g_vars->scene09_balls.pHead->p0; @@ -85,10 +85,7 @@ void scene09_initScene(Scene *sc) { g_vars->scene09_balls.init(&b); } - g_vars->scene09_var13 = 3; - g_vars->scene09_hangers.clear(); - g_vars->scene09_var15 = 4; g_vars->scene09_numMovingHangers = 4; StaticANIObject *hanger = sc->getStaticANIObject1ById(ANI_VISUNCHIK, -1); @@ -119,36 +116,36 @@ void scene09_initScene(Scene *sc) { g_vars->scene09_hangers.push_back(hng); } - while (g_vars->scene09_var07.numBalls) { - Ball *ohead = g_vars->scene09_var07.pHead; + while (g_vars->scene09_flyingBalls.numBalls) { + Ball *ohead = g_vars->scene09_flyingBalls.pHead; - g_vars->scene09_var07.pHead = g_vars->scene09_var07.pHead->p0; + g_vars->scene09_flyingBalls.pHead = g_vars->scene09_flyingBalls.pHead->p0; - if (g_vars->scene09_var07.pHead) + if (g_vars->scene09_flyingBalls.pHead) ohead->p0->p1 = 0; else - g_vars->scene09_var07.field_8 = 0; + g_vars->scene09_flyingBalls.field_8 = 0; - ohead->p0 = g_vars->scene09_var07.pTail; + ohead->p0 = g_vars->scene09_flyingBalls.pTail; - g_vars->scene09_var07.pTail = ohead; + g_vars->scene09_flyingBalls.pTail = ohead; - g_vars->scene09_var07.numBalls--; + g_vars->scene09_flyingBalls.numBalls--; } - g_vars->scene09_var07.reset(); + g_vars->scene09_flyingBalls.reset(); - Ball *b9 = g_vars->scene09_var07.sub04(g_vars->scene09_var07.field_8, 0); + Ball *b9 = g_vars->scene09_flyingBalls.sub04(g_vars->scene09_flyingBalls.field_8, 0); b9->ani = sc->getStaticANIObject1ById(ANI_BALL9, -1); b9->ani->setAlpha(0xc8); - if (g_vars->scene09_var07.field_8) { - g_vars->scene09_var07.field_8->p0 = b9; - g_vars->scene09_var07.field_8 = b9; + if (g_vars->scene09_flyingBalls.field_8) { + g_vars->scene09_flyingBalls.field_8->p0 = b9; + g_vars->scene09_flyingBalls.field_8 = b9; } else { - g_vars->scene09_var07.pHead = b9; - g_vars->scene09_var07.field_8 = b9; + g_vars->scene09_flyingBalls.pHead = b9; + g_vars->scene09_flyingBalls.field_8 = b9; } for (int i = 0; i < 4; i++) { @@ -156,43 +153,43 @@ void scene09_initScene(Scene *sc) { newball->setAlpha(0xc8); - Ball *runPtr = g_vars->scene09_var07.pTail; - Ball *lastP = g_vars->scene09_var07.field_8; + Ball *runPtr = g_vars->scene09_flyingBalls.pTail; + Ball *lastP = g_vars->scene09_flyingBalls.field_8; - if (!g_vars->scene09_var07.pTail) { - g_vars->scene09_var07.cPlex = (byte *)calloc(g_vars->scene09_var07.cPlexLen, sizeof(Ball)); + if (!g_vars->scene09_flyingBalls.pTail) { + g_vars->scene09_flyingBalls.cPlex = (byte *)calloc(g_vars->scene09_flyingBalls.cPlexLen, sizeof(Ball)); - byte *p1 = g_vars->scene09_var07.cPlex + (g_vars->scene09_var07.cPlexLen - 1) * sizeof(Ball); + byte *p1 = g_vars->scene09_flyingBalls.cPlex + (g_vars->scene09_flyingBalls.cPlexLen - 1) * sizeof(Ball); - if (g_vars->scene09_var07.cPlexLen - 1 < 0) { - runPtr = g_vars->scene09_var07.pTail; + if (g_vars->scene09_flyingBalls.cPlexLen - 1 < 0) { + runPtr = g_vars->scene09_flyingBalls.pTail; } else { - runPtr = g_vars->scene09_var07.pTail; + runPtr = g_vars->scene09_flyingBalls.pTail; - for (int j = 0; j < g_vars->scene09_var07.cPlexLen; j++) { + for (int j = 0; j < g_vars->scene09_flyingBalls.cPlexLen; j++) { ((Ball *)p1)->p1 = runPtr; runPtr = (Ball *)p1; p1 -= sizeof(Ball); } - g_vars->scene09_var07.pTail = runPtr; + g_vars->scene09_flyingBalls.pTail = runPtr; } } - g_vars->scene09_var07.pTail = runPtr->p0; + g_vars->scene09_flyingBalls.pTail = runPtr->p0; runPtr->p1 = lastP; runPtr->p0 = 0; runPtr->ani = newball; - g_vars->scene09_var07.numBalls++; + g_vars->scene09_flyingBalls.numBalls++; - if (g_vars->scene09_var07.field_8) - g_vars->scene09_var07.field_8->p0 = runPtr; + if (g_vars->scene09_flyingBalls.field_8) + g_vars->scene09_flyingBalls.field_8->p0 = runPtr; else - g_vars->scene09_var07.pHead = runPtr; + g_vars->scene09_flyingBalls.pHead = runPtr; - g_vars->scene09_var07.field_8 = runPtr; + g_vars->scene09_flyingBalls.field_8 = runPtr; sc->addStaticANIObject(newball, 1); } @@ -332,15 +329,15 @@ void sceneHandler09_eatBall() { } } - ball = g_vars->scene09_var07.sub04(g_vars->scene09_var07.field_8, 0); + ball = g_vars->scene09_flyingBalls.sub04(g_vars->scene09_flyingBalls.field_8, 0); ball->ani = g_vars->scene09_flyingBall; - if (g_vars->scene09_var07.field_8) - g_vars->scene09_var07.field_8->p0 = ball; + if (g_vars->scene09_flyingBalls.field_8) + g_vars->scene09_flyingBalls.field_8->p0 = ball; else - g_vars->scene09_var07.pHead = ball; + g_vars->scene09_flyingBalls.pHead = ball; - g_vars->scene09_var07.field_8 = ball; + g_vars->scene09_flyingBalls.field_8 = ball; g_vars->scene09_flyingBall = 0; g_vars->scene09_numSwallenBalls++; @@ -364,29 +361,29 @@ void sceneHandler09_eatBall() { } void sceneHandler09_showBall() { - if (g_vars->scene09_var07.numBalls) { - StaticANIObject *ani = g_vars->scene09_var07.pHead->ani; - Ball *ph = g_vars->scene09_var07.pHead; - g_vars->scene09_var07.pHead = ph->p0; + if (g_vars->scene09_flyingBalls.numBalls) { + StaticANIObject *ani = g_vars->scene09_flyingBalls.pHead->ani; + Ball *ph = g_vars->scene09_flyingBalls.pHead; + g_vars->scene09_flyingBalls.pHead = ph->p0; - if (g_vars->scene09_var07.pHead) + if (g_vars->scene09_flyingBalls.pHead) ph->p0->p1 = 0; else - g_vars->scene09_var07.field_8 = 0; + g_vars->scene09_flyingBalls.field_8 = 0; - ph->p0 = g_vars->scene09_var07.pTail; + ph->p0 = g_vars->scene09_flyingBalls.pTail; - g_vars->scene09_var07.pTail = ph; - g_vars->scene09_var07.numBalls--; + g_vars->scene09_flyingBalls.pTail = ph; + g_vars->scene09_flyingBalls.numBalls--; - if (!g_vars->scene09_var07.numBalls) { - g_vars->scene09_var07.numBalls = 0; - g_vars->scene09_var07.pTail = 0; - g_vars->scene09_var07.field_8 = 0; - g_vars->scene09_var07.pHead = 0; + if (!g_vars->scene09_flyingBalls.numBalls) { + g_vars->scene09_flyingBalls.numBalls = 0; + g_vars->scene09_flyingBalls.pTail = 0; + g_vars->scene09_flyingBalls.field_8 = 0; + g_vars->scene09_flyingBalls.pHead = 0; - free(g_vars->scene09_var07.cPlex); - g_vars->scene09_var07.cPlex = 0; + free(g_vars->scene09_flyingBalls.cPlex); + g_vars->scene09_flyingBalls.cPlex = 0; } Ball *ball = g_vars->scene09_balls.sub04(g_vars->scene09_balls.field_8, 0); @@ -494,43 +491,43 @@ void sceneHandler09_ballExplode(Ball *ball) { if (!mq->chain(ball->ani)) delete mq; - Ball *runPtr = g_vars->scene09_var07.pTail; - Ball *lastP = g_vars->scene09_var07.field_8; + Ball *runPtr = g_vars->scene09_flyingBalls.pTail; + Ball *lastP = g_vars->scene09_flyingBalls.field_8; - if (!g_vars->scene09_var07.pTail) { - g_vars->scene09_var07.cPlex = (byte *)calloc(g_vars->scene09_var07.cPlexLen, sizeof(Ball)); + if (!g_vars->scene09_flyingBalls.pTail) { + g_vars->scene09_flyingBalls.cPlex = (byte *)calloc(g_vars->scene09_flyingBalls.cPlexLen, sizeof(Ball)); - byte *p1 = g_vars->scene09_var07.cPlex + (g_vars->scene09_var07.cPlexLen - 1) * sizeof(Ball); + byte *p1 = g_vars->scene09_flyingBalls.cPlex + (g_vars->scene09_flyingBalls.cPlexLen - 1) * sizeof(Ball); - if (g_vars->scene09_var07.cPlexLen - 1 < 0) { - runPtr = g_vars->scene09_var07.pTail; + if (g_vars->scene09_flyingBalls.cPlexLen - 1 < 0) { + runPtr = g_vars->scene09_flyingBalls.pTail; } else { - runPtr = g_vars->scene09_var07.pTail; + runPtr = g_vars->scene09_flyingBalls.pTail; - for (int j = 0; j < g_vars->scene09_var07.cPlexLen; j++) { + for (int j = 0; j < g_vars->scene09_flyingBalls.cPlexLen; j++) { ((Ball *)p1)->p1 = runPtr; runPtr = (Ball *)p1; p1 -= sizeof(Ball); } - g_vars->scene09_var07.pTail = runPtr; + g_vars->scene09_flyingBalls.pTail = runPtr; } } - g_vars->scene09_var07.pTail = runPtr->p0; + g_vars->scene09_flyingBalls.pTail = runPtr->p0; runPtr->p1 = lastP; runPtr->p0 = 0; runPtr->ani = ball->ani; - g_vars->scene09_var07.numBalls++; + g_vars->scene09_flyingBalls.numBalls++; - if (g_vars->scene09_var07.field_8) { - g_vars->scene09_var07.field_8->p0 = runPtr; - g_vars->scene09_var07.field_8 = runPtr; + if (g_vars->scene09_flyingBalls.field_8) { + g_vars->scene09_flyingBalls.field_8->p0 = runPtr; + g_vars->scene09_flyingBalls.field_8 = runPtr; } else { - g_vars->scene09_var07.pHead = runPtr; - g_vars->scene09_var07.field_8 = runPtr; + g_vars->scene09_flyingBalls.pHead = runPtr; + g_vars->scene09_flyingBalls.field_8 = runPtr; } } @@ -575,16 +572,16 @@ void sceneHandler09_hangerStartCycle() { if (ani->_movement) { ani->startAnim(MV_VSN_CYCLE2, 0, -1); g_vars->scene09_hangers[g_vars->scene09_interactingHanger]->field_8 = 0; - g_vars->scene09_hangers[g_vars->scene09_interactingHanger]->phase = g_vars->scene09_var11 + (g_fp->_mouseScreenPos.y - g_vars->scene09_clickY) / 2; + g_vars->scene09_hangers[g_vars->scene09_interactingHanger]->phase = g_vars->scene09_intHangerPhase + (g_fp->_mouseScreenPos.y - g_vars->scene09_clickY) / 2; - if (g_vars->scene09_var12 != -1000 && g_vars->scene09_hangers[g_vars->scene09_interactingHanger]->phase != g_vars->scene09_var12) { + if (g_vars->scene09_intHangerMaxPhase != -1000 && g_vars->scene09_hangers[g_vars->scene09_interactingHanger]->phase != g_vars->scene09_intHangerMaxPhase) { ExCommand *ex = new ExCommand(0, 35, SND_9_019, 0, 0, 0, 1, 0, 0, 0); ex->_field_14 = 1; ex->_excFlags |= 2; ex->postMessage(); - g_vars->scene09_var12 = -1000; + g_vars->scene09_intHangerMaxPhase = -1000; } } else { g_vars->scene09_interactingHanger = -1; @@ -662,8 +659,7 @@ int sceneHandler09(ExCommand *cmd) { if (g_vars->scene09_interactingHanger >= 0) sceneHandler09_hangerStartCycle(); - if (!g_vars->scene09_var17) - g_fp->_behaviorManager->updateBehaviors(); + g_fp->_behaviorManager->updateBehaviors(); g_fp->startSceneTrack(); @@ -704,8 +700,8 @@ int sceneHandler09(ExCommand *cmd) { } g_vars->scene09_interactingHanger = hng; - g_vars->scene09_var11 = g_vars->scene09_hangers[hng]->phase; - g_vars->scene09_var12 = g_vars->scene09_hangers[hng]->phase; + g_vars->scene09_intHangerPhase = g_vars->scene09_hangers[hng]->phase; + g_vars->scene09_intHangerMaxPhase = g_vars->scene09_hangers[hng]->phase; g_vars->scene09_clickY = cmd->_y; -- cgit v1.2.3 From e15dafb9e4f15a1c9095b02bca0d240de9bd2f09 Mon Sep 17 00:00:00 2001 From: uruk Date: Tue, 25 Feb 2014 21:56:32 +0100 Subject: AVALANCHE: Rework use of Common::Rect. Now the right and bottom coordinates of the rectangles aren't included in them. --- engines/avalanche/ghostroom.cpp | 18 +++++++++--------- engines/avalanche/graphics.cpp | 8 ++++---- engines/avalanche/graphics.h | 2 -- engines/avalanche/help.cpp | 4 ++-- engines/avalanche/nim.cpp | 18 +++++++++--------- engines/avalanche/shootemup.cpp | 2 +- 6 files changed, 25 insertions(+), 27 deletions(-) diff --git a/engines/avalanche/ghostroom.cpp b/engines/avalanche/ghostroom.cpp index 91b2bae4f0..1419a0cbab 100644 --- a/engines/avalanche/ghostroom.cpp +++ b/engines/avalanche/ghostroom.cpp @@ -230,12 +230,12 @@ void GhostRoom::run() { int xBound = x % 30; if ((22 <= xBound) && (xBound <= 27)) { if (xBound == 27) - _vm->_graphics->drawFilledRectangle(Common::Rect(x, 135, x + 16, 136), kColorBlack); + _vm->_graphics->drawFilledRectangle(Common::Rect(x, 135, x + 17, 137), kColorBlack); _vm->_graphics->ghostDrawPicture(_eyes[0], x, 136); _vm->_graphics->drawDot(x + 16, 137, kColorBlack); } else { if (xBound == 21) - _vm->_graphics->drawFilledRectangle(Common::Rect(x, 137, x + 17, 138), kColorBlack); + _vm->_graphics->drawFilledRectangle(Common::Rect(x, 137, x + 18, 139), kColorBlack); _vm->_graphics->ghostDrawPicture(_eyes[0], x, 135); _vm->_graphics->drawDot(x + 16, 136, kColorBlack); // Eyes would leave a trail 1 pixel high behind them. } @@ -257,7 +257,7 @@ void GhostRoom::run() { } // Blank out the Glerk's space. - _vm->_graphics->drawFilledRectangle(Common::Rect(456, 14, 530, 50), kColorBlack); + _vm->_graphics->drawFilledRectangle(Common::Rect(456, 14, 531, 51), kColorBlack); _vm->_graphics->refreshScreen(); @@ -265,7 +265,7 @@ void GhostRoom::run() { for (int y = -64; y <= 103; y++) { _vm->_graphics->ghostDrawGhost(_ghost[1 + (abs(y / 7) % 2) * 3], 0, y); if (y > 0) - _vm->_graphics->drawFilledRectangle(Common::Rect(0, y - 1, 26 * 8, y), kColorBlack); + _vm->_graphics->drawFilledRectangle(Common::Rect(0, y - 1, 26 * 8 + 1, y + 1), kColorBlack); _vm->_graphics->refreshScreen(); wait(27); @@ -276,7 +276,7 @@ void GhostRoom::run() { for (int i = 0; i < 4; i++) { for (int j = 0; j < 5; j++) { - _vm->_graphics->drawFilledRectangle(Common::Rect(0, 96, 26 * 8, 169), kColorBlack); + _vm->_graphics->drawFilledRectangle(Common::Rect(0, 96, 26 * 8, 170), kColorBlack); _vm->_graphics->ghostDrawGhost(_ghost[kWaveOrder[j]], 0, 96 + kAdjustment[j]); _aarghCount++; @@ -298,7 +298,7 @@ void GhostRoom::run() { wait(777); // Erase "aargh": - _vm->_graphics->drawFilledRectangle(Common::Rect(172, 78, 347, 111), kColorBlack); + _vm->_graphics->drawFilledRectangle(Common::Rect(172, 78, 348, 112), kColorBlack); _vm->_graphics->refreshScreen(); for (int i = 4; i >= 0; i--) { @@ -307,7 +307,7 @@ void GhostRoom::run() { } // Erase the exclamation mark: - _vm->_graphics->drawFilledRectangle(Common::Rect(246, 127, 251, 133), kColorBlack); + _vm->_graphics->drawFilledRectangle(Common::Rect(246, 127, 252, 134), kColorBlack); _vm->_graphics->refreshScreen(); // Avvy hurries back: @@ -320,12 +320,12 @@ void GhostRoom::run() { int xBound = x % 30; if ((22 <= xBound) && (xBound <= 27)) { if (xBound == 22) - _vm->_graphics->drawFilledRectangle(Common::Rect(x + 22, 134, x + 38, 137), kColorBlack); + _vm->_graphics->drawFilledRectangle(Common::Rect(x + 22, 134, x + 39, 138), kColorBlack); _vm->_graphics->ghostDrawPicture(_eyes[1], x + 23, 136); _vm->_graphics->drawDot(x + 22, 137, kColorBlack); } else { if (xBound == 28) - _vm->_graphics->drawFilledRectangle(Common::Rect(x + 22, 135, x + 38, 138), kColorBlack); + _vm->_graphics->drawFilledRectangle(Common::Rect(x + 22, 135, x + 39, 139), kColorBlack); _vm->_graphics->ghostDrawPicture(_eyes[1], x + 23, 135); _vm->_graphics->drawDot(x + 22, 136, kColorBlack); // Eyes would leave a trail 1 pixel high behind them. } diff --git a/engines/avalanche/graphics.cpp b/engines/avalanche/graphics.cpp index 603e294fd8..9510f4f72a 100644 --- a/engines/avalanche/graphics.cpp +++ b/engines/avalanche/graphics.cpp @@ -479,15 +479,15 @@ void GraphicManager::drawDebugLines() { } void GraphicManager::drawRectangle(Common::Rect rect, Color color) { - _surface.frameRect(Common::Rect(rect.left, rect.top, rect.right + 1, rect.bottom + 1), color); + _surface.frameRect(rect, color); } void GraphicManager::drawFilledRectangle(Common::Rect rect, Color color) { - _surface.fillRect(Common::Rect(rect.left, rect.top, rect.right + 1, rect.bottom + 1), color); + _surface.fillRect(rect, color); } void GraphicManager::blackOutScreen() { - _vm->_graphics->drawFilledRectangle(Common::Rect(0, 0, 639, 199), kColorBlack); + _vm->_graphics->drawFilledRectangle(Common::Rect(0, 0, 640, 200), kColorBlack); } void GraphicManager::nimLoad() { @@ -691,7 +691,7 @@ void GraphicManager::helpDrawHighlight(byte which, Color color) { return; which &= 31; - drawRectangle(Common::Rect(466, 38 + which * 27, 555, 62 + which * 27), color); + drawRectangle(Common::Rect(466, 38 + which * 27, 556, 63 + which * 27), color); } /** diff --git a/engines/avalanche/graphics.h b/engines/avalanche/graphics.h index 86244e9b3c..acc0c92a15 100644 --- a/engines/avalanche/graphics.h +++ b/engines/avalanche/graphics.h @@ -59,8 +59,6 @@ public: void loadDigits(); void loadMouse(byte which); - // We have to handle the drawing of rectangles a little bit differently to mimic Pascal's bar() and rectangle() methods properly. - // Now it is possible to use the original coordinates everywhere. void drawRectangle(Common::Rect rect, Color color); void drawFilledRectangle(Common::Rect rect, Color color); void blackOutScreen(); diff --git a/engines/avalanche/help.cpp b/engines/avalanche/help.cpp index 5d3247ba9a..b24f6c40d8 100644 --- a/engines/avalanche/help.cpp +++ b/engines/avalanche/help.cpp @@ -66,8 +66,8 @@ void Help::switchPage(byte which) { Common::String title = getLine(file); - _vm->_graphics->drawFilledRectangle(Common::Rect(0, 0, 639, 199), kColorBlue); - _vm->_graphics->drawFilledRectangle(Common::Rect(8, 40, 449, 199), kColorWhite); + _vm->_graphics->drawFilledRectangle(Common::Rect(0, 0, 640, 200), kColorBlue); + _vm->_graphics->drawFilledRectangle(Common::Rect(8, 40, 450, 200), kColorWhite); byte index = file.readByte(); _vm->_graphics->helpDrawButton(-177, index); diff --git a/engines/avalanche/nim.cpp b/engines/avalanche/nim.cpp index 87af8053e1..9457a5065b 100644 --- a/engines/avalanche/nim.cpp +++ b/engines/avalanche/nim.cpp @@ -152,13 +152,13 @@ void Nim::setup() { _vm->fadeIn(); _vm->_graphics->nimLoad(); - _vm->_graphics->drawFilledRectangle(Common::Rect(0, 0, 639, 199), kColorBlack); + _vm->_graphics->blackOutScreen(); // Upper left rectangle. - _vm->_graphics->drawRectangle(Common::Rect(10, 5, 380, 70), kColorRed); - _vm->_graphics->drawFilledRectangle(Common::Rect(11, 6, 379, 69), kColorBrown); + _vm->_graphics->drawRectangle(Common::Rect(10, 5, 381, 71), kColorRed); + _vm->_graphics->drawFilledRectangle(Common::Rect(11, 6, 380, 70), kColorBrown); // Bottom right rectangle. - _vm->_graphics->drawRectangle(Common::Rect(394, 50, 634, 197), kColorRed); - _vm->_graphics->drawFilledRectangle(Common::Rect(395, 51, 633, 196), kColorBrown); + _vm->_graphics->drawRectangle(Common::Rect(394, 50, 635, 198), kColorRed); + _vm->_graphics->drawFilledRectangle(Common::Rect(395, 51, 634, 197), kColorBrown); _vm->_graphics->nimDrawLogo(); _vm->_graphics->nimDrawInitials(); @@ -383,8 +383,8 @@ void Nim::takeSome() { int x1 = 63 + (_stones[_row] - _number) * 64; int y1 = 38 + 35 * (_row + 1); - int x2 = 54 + _stones[_row] * 64; - int y2 = 63 + 35 * (_row + 1); + int x2 = 55 + _stones[_row] * 64; + int y2 = 64 + 35 * (_row + 1); _vm->_graphics->drawRectangle(Common::Rect(x1, y1, x2, y2), kColorBlue); // Draw the selection rectangle. _vm->_graphics->refreshScreen(); @@ -396,8 +396,8 @@ void Nim::takeSome() { _vm->_graphics->drawRectangle(Common::Rect(x1, y1, x2, y2), kColorBlack); // Erase the previous selection. x1 = 63 + (_stones[_row] - _number) * 64; y1 = 38 + 35 * (_row + 1); - x2 = 54 + _stones[_row] * 64; - y2 = 63 + 35 * (_row + 1); + x2 = 55 + _stones[_row] * 64; + y2 = 64 + 35 * (_row + 1); _vm->_graphics->drawRectangle(Common::Rect(x1, y1, x2, y2), kColorBlue); // Draw the new one. _vm->_graphics->refreshScreen(); } diff --git a/engines/avalanche/shootemup.cpp b/engines/avalanche/shootemup.cpp index f50be51eaf..c14961af42 100644 --- a/engines/avalanche/shootemup.cpp +++ b/engines/avalanche/shootemup.cpp @@ -300,7 +300,7 @@ void ShootEmUp::nextPage() { } } - _vm->_graphics->drawFilledRectangle(Common::Rect(0, 0, 639, 199), kColorBlack); + _vm->_graphics->blackOutScreen(); } void ShootEmUp::instructions() { -- cgit v1.2.3 From bb6b3e87b69aab2bc53fd3f170998243175ff8c4 Mon Sep 17 00:00:00 2001 From: uruk Date: Tue, 25 Feb 2014 22:27:50 +0100 Subject: AVALANCHE: Move initializations from ShootEmUp::setup() to the constructor. --- engines/avalanche/shootemup.cpp | 42 ++++++++++------------------------------- 1 file changed, 10 insertions(+), 32 deletions(-) diff --git a/engines/avalanche/shootemup.cpp b/engines/avalanche/shootemup.cpp index c14961af42..3946d80561 100644 --- a/engines/avalanche/shootemup.cpp +++ b/engines/avalanche/shootemup.cpp @@ -46,13 +46,13 @@ const byte ShootEmUp::kFlashTime = 20; // If flash_time is <= this, the word "ti ShootEmUp::ShootEmUp(AvalancheEngine *vm) { _vm = vm; - _time = 0; + _time = 120; for (int i = 0; i < 7; i++) _stockStatus[i] = 0; for (int i = 0; i < 99; i++) { _sprites[i]._ix = 0; _sprites[i]._iy = 0; - _sprites[i]._x = 0; + _sprites[i]._x = kFlag; _sprites[i]._y = 0; _sprites[i]._p = 0; _sprites[i]._timeout = 0; @@ -62,15 +62,15 @@ ShootEmUp::ShootEmUp(AvalancheEngine *vm) { _sprites[i]._wipe = false; } _rectNum = 0; - _avvyWas = 0; - _avvyPos = 0; - _avvyAnim = 0; - _avvyFacing = 0; + _avvyWas = 320; + _avvyPos = 320; + _avvyAnim = 1; + _avvyFacing = kFacingLeft; _altWasPressedBefore = false; - _throwNext = 0; + _throwNext = 74; _firing = false; for (int i = 0; i < 4; i++) { - _running[i]._x = 0; + _running[i]._x = kFlag; _running[i]._y = 0; _running[i]._frame = 0; _running[i]._tooHigh = 0; @@ -81,7 +81,7 @@ ShootEmUp::ShootEmUp(AvalancheEngine *vm) { } for (int i = 0; i < 7; i++) _hasEscaped[i] = false; - _count321 = 0; + _count321 = 255; // Counting down. _howManyHaveEscaped = 0; _escapeCount = 0; _escaping = false; @@ -344,32 +344,10 @@ void ShootEmUp::instructions() { } void ShootEmUp::setup() { - _score = 0; - _time = 120; - - _cp = true; - - _avvyWas = 320; - _avvyPos = 320; - _avvyAnim = 1; - _avvyFacing = kFacingLeft; - - _altWasPressedBefore = false; - _throwNext = 74; - _firing = false; - - for (int i = 0; i < 4; i++) - _running[i]._x = kFlag; - - for (int i = 0; i < 99; i++) - _sprites[i]._x = kFlag; + _vm->_graphics->blackOutScreen(); newEscape(); - _count321 = 255; // Counting down. - - _vm->_graphics->blackOutScreen(); - for (int i = 0; i < 7; i++) { _stockStatus[i] = _vm->_rnd->getRandomNumber(1); showStock(i); -- cgit v1.2.3 From 0e17b464ca620931f43be55fdfdbc0a0fb78cb7b Mon Sep 17 00:00:00 2001 From: uruk Date: Tue, 25 Feb 2014 22:49:44 +0100 Subject: AVALANCHE: Repair ShootEmUp::escapeCheck(). --- engines/avalanche/shootemup.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/engines/avalanche/shootemup.cpp b/engines/avalanche/shootemup.cpp index 3946d80561..8a62752983 100644 --- a/engines/avalanche/shootemup.cpp +++ b/engines/avalanche/shootemup.cpp @@ -609,8 +609,10 @@ void ShootEmUp::escapeCheck() { _howManyHaveEscaped++; - if (_howManyHaveEscaped == 7) + if (_howManyHaveEscaped == 7) { + _vm->_graphics->seuDrawPicture(266, 90, 23); _time = 0; + } } } else { _escapeStock = getStockNumber(_vm->_rnd->getRandomNumber(6)); -- cgit v1.2.3 From 227d80e0fdfb12f2416a5e738e19b572c51fe3d9 Mon Sep 17 00:00:00 2001 From: Strangerke Date: Tue, 25 Feb 2014 23:03:56 +0100 Subject: VOYEUR: Add some details about unused variables, initialize some variables --- engines/voyeur/animation.cpp | 13 +++++++++++++ engines/voyeur/animation.h | 6 +++--- 2 files changed, 16 insertions(+), 3 deletions(-) diff --git a/engines/voyeur/animation.cpp b/engines/voyeur/animation.cpp index 82cddc258f..6c0a96faf2 100644 --- a/engines/voyeur/animation.cpp +++ b/engines/voyeur/animation.cpp @@ -153,6 +153,19 @@ RL2Decoder::SoundFrame::SoundFrame(int offset, int size) { RL2Decoder::RL2FileHeader::RL2FileHeader() { _frameOffsets = nullptr; _frameSoundSizes = nullptr; + + _channels = 0; + _colorCount = 0; + _numFrames = 0; + _rate = 0; + _soundRate = 0; + _videoBase = 0; + _backSize = 0; + _signature = MKTAG('N', 'O', 'N', 'E'); + _form = 0; + _dataSize = 0; + _method = 0; + _defSoundSize = 0; } RL2Decoder::RL2FileHeader::~RL2FileHeader() { diff --git a/engines/voyeur/animation.h b/engines/voyeur/animation.h index 01d4282f92..dcdbf36260 100644 --- a/engines/voyeur/animation.h +++ b/engines/voyeur/animation.h @@ -69,9 +69,9 @@ private: bool isValid() const; private: - uint32 _form; - uint32 _dataSize; - int _method; + uint32 _form; // Unused variable + uint32 _dataSize; // Unused variable + int _method; // Unused variable int _defSoundSize; }; -- cgit v1.2.3 From c47d8a4597c499f1493fe0da99d32f5790cd3df3 Mon Sep 17 00:00:00 2001 From: uruk Date: Tue, 25 Feb 2014 23:14:06 +0100 Subject: AVALANCHE: Rework define() and the constants in ShootEmUp. --- engines/avalanche/shootemup.cpp | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/engines/avalanche/shootemup.cpp b/engines/avalanche/shootemup.cpp index 8a62752983..bf041b5ad8 100644 --- a/engines/avalanche/shootemup.cpp +++ b/engines/avalanche/shootemup.cpp @@ -39,7 +39,7 @@ const byte ShootEmUp::kFacingLeft = 93; const long int ShootEmUp::kFlag = -20047; const byte ShootEmUp::kFrameDelayMax = 2; const byte ShootEmUp::kAvvyY = 150; -const byte ShootEmUp::kShooting[7] = { 87, 80, 81, 82, 81, 80, 87 }; +const byte ShootEmUp::kShooting[7] = { 86, 79, 80, 81, 80, 79, 86 }; const byte ShootEmUp::kTimesASecond = 18; const byte ShootEmUp::kFlashTime = 20; // If flash_time is <= this, the word "time" will flash. Should be about 20. @@ -211,7 +211,7 @@ void ShootEmUp::define(int16 x, int16 y, int8 p, int8 ix, int8 iy, int16 time, b if (_sprites[i]._x == kFlag) { _sprites[i]._x = x; _sprites[i]._y = y; - _sprites[i]._p = p - 1; + _sprites[i]._p = p; _sprites[i]._ix = ix; _sprites[i]._iy = iy; _sprites[i]._timeout = time; @@ -446,10 +446,10 @@ void ShootEmUp::collisionCheck() { if ((!_hasEscaped[thisStock]) && (distFromSide > 17) && (distFromSide < 34)) { _vm->_sound->playNote(999, 3); _vm->_system->delayMillis(3); - define(_sprites[i]._x + 20, _sprites[i]._y, 26 + _vm->_rnd->getRandomNumber(1), 3, 1, 12, false, true); // Well done! - define(thisStock * 90 + 20, 30, 31, 0, 0, 7, false, false); // Face of man + define(_sprites[i]._x + 20, _sprites[i]._y, 25 + _vm->_rnd->getRandomNumber(1), 3, 1, 12, false, true); // Well done! + define(thisStock * 90 + 20, 30, 30, 0, 0, 7, false, false); // Face of man defineCameo(thisStock * 90 + 20 + 10, 35, 40, 7); // Splat! - define(thisStock * 90 + 20 + 20, 50, 34 + _vm->_rnd->getRandomNumber(4), 0, 2, 9, false, true); // Oof! + define(thisStock * 90 + 20 + 20, 50, 33 + _vm->_rnd->getRandomNumber(4), 0, 2, 9, false, true); // Oof! _stockStatus[thisStock] = 17; gain(3); // Score for hitting a face. @@ -461,9 +461,9 @@ void ShootEmUp::collisionCheck() { newEscape(); } } else { - define(_sprites[i]._x, _sprites[i]._y, 83 + _vm->_rnd->getRandomNumber(2), 2, 2, 17, false, true); // Missed! + define(_sprites[i]._x, _sprites[i]._y, 82 + _vm->_rnd->getRandomNumber(2), 2, 2, 17, false, true); // Missed! if ((!_hasEscaped[thisStock]) && (distFromSide > 3) && (distFromSide < 43)) { - define(thisStock * 90 + 20, 30, 30, 0, 0, 7, false, false); // Face of man + define(thisStock * 90 + 20, 30, 29, 0, 0, 7, false, false); // Face of man if (distFromSide > 35) defineCameo(_sprites[i]._x - 27, 35, 40, 7); // Splat! else @@ -514,9 +514,9 @@ void ShootEmUp::peopleRunning() { byte frame = 0; if (_running[i]._ix < 0) - frame = _running[i]._frame; + frame = _running[i]._frame - 1; else - frame = _running[i]._frame + 7; + frame = _running[i]._frame + 6; define(_running[i]._x, _running[i]._y, frame, 0, 0, 1, false, true); if (_running[i]._frameDelay == 0) { @@ -575,8 +575,8 @@ void ShootEmUp::hitPeople() { _vm->_sound->playNote(7177, 1); _sprites[i]._x = kFlag; gain(-5); - define(_running[j]._x + 20, _running[j]._y + 3, 34 + _vm->_rnd->getRandomNumber(5), 1, 3, 9, false, true); // Oof! - define(_sprites[i]._x, _sprites[i]._y, 83, 1, 0, 17, false, true); // Oops! + define(_running[j]._x + 20, _running[j]._y + 3, 33 + _vm->_rnd->getRandomNumber(5), 1, 3, 9, false, true); // Oof! + define(_sprites[i]._x, _sprites[i]._y, 82, 1, 0, 17, false, true); // Oops! } } } @@ -603,7 +603,7 @@ void ShootEmUp::escapeCheck() { _vm->_graphics->seuDrawPicture(_escapeStock * 90 + 20, 30, kStocks + 5); _escapeCount = 20; _gotOut = true; - define(_escapeStock * 90 + 20, 50, 25, 0, 2, 17, false, true); // Escaped! + define(_escapeStock * 90 + 20, 50, 24, 0, 2, 17, false, true); // Escaped! gain(-10); _hasEscaped[_escapeStock] = true; @@ -631,14 +631,14 @@ void ShootEmUp::check321() { switch (_count321) { case 84: - define(320, 60, 16, 2, 1, 94, false, true); + define(320, 60, 15, 2, 1, 94, false, true); break; case 169: - define(320, 60, 15, 0, 1, 94, false, true); + define(320, 60, 14, 0, 1, 94, false, true); break; case 254: - define(320, 60, 14, -2, 1, 94, false, true); - define(0, 100, 18, 2, 0, 254, false, true); + define(320, 60, 13, -2, 1, 94, false, true); + define(0, 100, 17, 2, 0, 254, false, true); break; default: break; -- cgit v1.2.3 From 27a098cd657350bb8481c19f38c2960a3d876f0d Mon Sep 17 00:00:00 2001 From: Strangerke Date: Wed, 26 Feb 2014 07:22:09 +0100 Subject: VOYEUR: Fix a couple of uninitialized variables in RL2VideoTrack and GraphicsManager --- engines/voyeur/animation.cpp | 5 +++-- engines/voyeur/graphics.cpp | 1 + 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/engines/voyeur/animation.cpp b/engines/voyeur/animation.cpp index 6c0a96faf2..40ea92f13b 100644 --- a/engines/voyeur/animation.cpp +++ b/engines/voyeur/animation.cpp @@ -227,13 +227,14 @@ RL2Decoder::RL2VideoTrack::RL2VideoTrack(const RL2FileHeader &header, RL2AudioTr Common::SeekableReadStream *stream): _header(header), _audioTrack(audioTrack), _fileStream(stream) { + _frameOffsets = nullptr; + // Set up surfaces _surface = new Graphics::Surface(); _surface->create(320, 200, Graphics::PixelFormat::createFormatCLUT8()); + _backSurface = nullptr; _hasBackFrame = header._backSize != 0; - - _backSurface = NULL; if (_hasBackFrame) initBackSurface(); diff --git a/engines/voyeur/graphics.cpp b/engines/voyeur/graphics.cpp index 00f945e174..7f944ef8ab 100644 --- a/engines/voyeur/graphics.cpp +++ b/engines/voyeur/graphics.cpp @@ -49,6 +49,7 @@ GraphicsManager::GraphicsManager(): _defaultDrawInfo(1, Common::Point()), _drawP _fontPtr = NULL; Common::fill(&_VGAColors[0], &_VGAColors[PALETTE_SIZE], 0); _fontChar = new PictureResource(0, 0xff, 0xff, 0, Common::Rect(), 0, NULL, 0); + _backColors = nullptr; } void GraphicsManager::sInitGraphics() { -- cgit v1.2.3 From bcca831c6813aa1a52b478c6b2f40ac2ee108ed5 Mon Sep 17 00:00:00 2001 From: Strangerke Date: Wed, 26 Feb 2014 07:39:46 +0100 Subject: VOYEUR: Fix some more uninitialized variables --- engines/voyeur/events.cpp | 4 +++- engines/voyeur/files.cpp | 3 ++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/engines/voyeur/events.cpp b/engines/voyeur/events.cpp index cff394797b..686994722e 100644 --- a/engines/voyeur/events.cpp +++ b/engines/voyeur/events.cpp @@ -80,6 +80,9 @@ EventsManager::EventsManager(): _intPtr(_gameData), _newLeftClick = _newRightClick = false;; _videoDead = 0; + + _fadeFirstCol = _fadeLastCol = 0; + _fadeCount = 1; } void EventsManager::resetMouse() { @@ -373,7 +376,6 @@ void EventsManager::vDoFadeInt() { return; } - for (int i = _fadeFirstCol; i <= _fadeLastCol; ++i) { ViewPortPalEntry &palEntry = _vm->_graphicsManager._viewPortListPtr->_palette[i]; byte *vgaP = &_vm->_graphicsManager._VGAColors[palEntry._palIndex * 3]; diff --git a/engines/voyeur/files.cpp b/engines/voyeur/files.cpp index 8205857b9d..e5f525a403 100644 --- a/engines/voyeur/files.cpp +++ b/engines/voyeur/files.cpp @@ -173,7 +173,7 @@ void BoltFilesState::nextBlock() { /*------------------------------------------------------------------------*/ FilesManager::FilesManager() { - + _curLibPtr = nullptr; } bool FilesManager::openBoltLib(const Common::String &filename, BoltFile *&boltFile) { @@ -1158,6 +1158,7 @@ PictureResource::PictureResource(int flags, int select, int pick, int onOff, _maskData = maskData; _imgData = imgData; _planeSize = planeSize; + _freeImgData = DisposeAfterUse::NO; } PictureResource::~PictureResource() { -- cgit v1.2.3 From 62d846d7172d27c5f9e784f507cd546915f6d652 Mon Sep 17 00:00:00 2001 From: Strangerke Date: Wed, 26 Feb 2014 07:43:11 +0100 Subject: VOYEUR: Remove a useless function --- engines/voyeur/events.cpp | 4 ---- engines/voyeur/events.h | 1 - engines/voyeur/voyeur.cpp | 3 --- 3 files changed, 8 deletions(-) diff --git a/engines/voyeur/events.cpp b/engines/voyeur/events.cpp index 686994722e..a141883090 100644 --- a/engines/voyeur/events.cpp +++ b/engines/voyeur/events.cpp @@ -85,10 +85,6 @@ EventsManager::EventsManager(): _intPtr(_gameData), _fadeCount = 1; } -void EventsManager::resetMouse() { - // No implementation -} - void EventsManager::startMainClockInt() { _mainIntNode._intFunc = &EventsManager::mainVoyeurIntFunc; _mainIntNode._flags = 0; diff --git a/engines/voyeur/events.h b/engines/voyeur/events.h index 03c26690c5..c032d35224 100644 --- a/engines/voyeur/events.h +++ b/engines/voyeur/events.h @@ -115,7 +115,6 @@ public: EventsManager(); void setVm(VoyeurEngine *vm) { _vm = vm; } - void resetMouse(); void setMousePos(const Common::Point &p) { _mousePos = p; } void startMainClockInt(); void sWaitFlip(); diff --git a/engines/voyeur/voyeur.cpp b/engines/voyeur/voyeur.cpp index 7bfb4a74c4..6a9244b9f5 100644 --- a/engines/voyeur/voyeur.cpp +++ b/engines/voyeur/voyeur.cpp @@ -77,15 +77,12 @@ Common::Error VoyeurEngine::run() { if (_iForceDeath >= 1 && _iForceDeath <= 4) _voy._eventFlags |= EVTFLAG_VICTIM_PRESET; - _eventsManager.resetMouse(); if (doHeadTitle()) { playStamp(); if (!shouldQuit()) doTailTitle(); } - //doHeadTitle(); - return Common::kNoError; } -- cgit v1.2.3 From 0b57c1771ef54df5e740dac278c743a55eef9372 Mon Sep 17 00:00:00 2001 From: Strangerke Date: Wed, 26 Feb 2014 07:48:32 +0100 Subject: VOYEUR: Fix pointer in BoltFile::initDefault() --- engines/voyeur/files.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/engines/voyeur/files.cpp b/engines/voyeur/files.cpp index e5f525a403..e78b59bde9 100644 --- a/engines/voyeur/files.cpp +++ b/engines/voyeur/files.cpp @@ -421,7 +421,7 @@ byte *BoltFile::getBoltMember(uint32 id) { } void BoltFile::initDefault() { - _state._curMemberPtr->_data = _state.decompress(0, _state._curMemberPtr->_size, + _state._curMemberPtr->_data = _state.decompress(NULL, _state._curMemberPtr->_size, _state._curMemberPtr->_mode); } @@ -1094,7 +1094,7 @@ PictureResource::PictureResource(BoltFilesState &state, const byte *src): Graphics::Surface &s = state._vm->_graphicsManager._screenSurface; s.fillRect(Common::Rect(0, 0, SCREEN_WIDTH, SCREEN_HEIGHT), 0); } else { - // Direct sceren loading picture. In this case, the raw data of the resource + // Direct screen loading picture. In this case, the raw data of the resource // is directly decompressed into the screen surface. Again, bizarre. byte *pDest = (byte *)state._vm->_graphicsManager._screenSurface.getPixels(); state.decompress(pDest, SCREEN_WIDTH * SCREEN_HEIGHT, state._curMemberPtr->_mode); -- cgit v1.2.3 From eb5b927ed1544e528c288e818ba7c99d07db2cb2 Mon Sep 17 00:00:00 2001 From: Strangerke Date: Wed, 26 Feb 2014 07:54:44 +0100 Subject: VOYEUR: Fix read out of bounds in Debugger --- engines/voyeur/debugger.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/engines/voyeur/debugger.cpp b/engines/voyeur/debugger.cpp index 456a59b465..04a6597b16 100644 --- a/engines/voyeur/debugger.cpp +++ b/engines/voyeur/debugger.cpp @@ -71,7 +71,7 @@ bool Debugger::Cmd_Time(int argc, const char **argv) { } } else { int timeId = atoi(argv[1]); - if (timeId >= 1 && timeId <= 17) { + if (timeId >= 1 && timeId < 17) { int stateId = TIME_STATES[timeId - 1]; if (!stateId) { DebugPrintf("Given time period is not used in-game\n"); -- cgit v1.2.3 From 54095bd323a755b23cc5de462ba810d4b5f7484b Mon Sep 17 00:00:00 2001 From: Strangerke Date: Wed, 26 Feb 2014 07:59:56 +0100 Subject: VOYEUR: Add a sanity check in loadAStack() --- engines/voyeur/files_threads.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/engines/voyeur/files_threads.cpp b/engines/voyeur/files_threads.cpp index d0addc868f..7261aa2449 100644 --- a/engines/voyeur/files_threads.cpp +++ b/engines/voyeur/files_threads.cpp @@ -46,7 +46,7 @@ ThreadResource::ThreadResource(BoltFilesState &state, const byte *src):_vm(state _stateFlags = 0; _stateCount = 0; _parseCount = 0; - _nextStateId = -1; + _nextStateId = 0; _threadInfoPtr = nullptr; _playCommandsPtr = nullptr; } @@ -65,6 +65,9 @@ void ThreadResource::initThreadStruct(int idx, int id) { bool ThreadResource::loadAStack(int stackId) { if (_vm->_stampFlags & 1) { + if (stackId < 0) + error('loadAStack() - Invalid stackId %d', stackId); + unloadAStack(_stackId); if (!_useCount[stackId]) { BoltEntry &boltEntry = _vm->_stampLibPtr->boltEntry(_vm->_controlPtr->_memberIds[stackId]); -- cgit v1.2.3 From 63bf41f4175b4fa3e0f87a1b0937ad89e3f490bf Mon Sep 17 00:00:00 2001 From: Strangerke Date: Wed, 26 Feb 2014 08:05:11 +0100 Subject: VOYEUR: Add missing break in cardPerform() switch --- engines/voyeur/files_threads.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/engines/voyeur/files_threads.cpp b/engines/voyeur/files_threads.cpp index 7261aa2449..0ce1fedcd4 100644 --- a/engines/voyeur/files_threads.cpp +++ b/engines/voyeur/files_threads.cpp @@ -66,7 +66,7 @@ void ThreadResource::initThreadStruct(int idx, int id) { bool ThreadResource::loadAStack(int stackId) { if (_vm->_stampFlags & 1) { if (stackId < 0) - error('loadAStack() - Invalid stackId %d', stackId); + error("loadAStack() - Invalid stackId %d", stackId); unloadAStack(_stackId); if (!_useCount[stackId]) { @@ -874,6 +874,7 @@ const byte *ThreadResource::cardPerform(const byte *card) { bVal = *card++; assert(bVal < 8); card += 6; + break; case 45: _newStateId = _nextStateId; -- cgit v1.2.3 From 2d12325006c7db4984b2a544ec134387d5432ab0 Mon Sep 17 00:00:00 2001 From: Strangerke Date: Wed, 26 Feb 2014 08:10:46 +0100 Subject: VOYEUR: Fix eternal loop bug in sDrawPic() --- engines/voyeur/graphics.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/engines/voyeur/graphics.cpp b/engines/voyeur/graphics.cpp index 7f944ef8ab..5bf314ecf5 100644 --- a/engines/voyeur/graphics.cpp +++ b/engines/voyeur/graphics.cpp @@ -295,7 +295,7 @@ void GraphicsManager::sDrawPic(DisplayResource *srcDisplay, DisplayResource *des srcP = (byte *)_screenSurface.getPixels() + srcOffset; for (int yp = 0; yp < height1; ++yp) { - for (int xp = 0; xp < width2; ++width2, ++srcP, ++destP) { + for (int xp = 0; xp < width2; ++xp, ++srcP, ++destP) { pixel = *srcP; if (pixel) *destP = pixel; -- cgit v1.2.3 From 8661653670a58977019c26d198a0a727f8315ae2 Mon Sep 17 00:00:00 2001 From: Strangerke Date: Wed, 26 Feb 2014 08:15:31 +0100 Subject: VOYEUR: Remove a boolean increment in checkPhoneCall() --- engines/voyeur/voyeur_game.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/engines/voyeur/voyeur_game.cpp b/engines/voyeur/voyeur_game.cpp index 037ef68d94..f928642fe0 100644 --- a/engines/voyeur/voyeur_game.cpp +++ b/engines/voyeur/voyeur_game.cpp @@ -1327,7 +1327,7 @@ void VoyeurEngine::checkPhoneCall() { _soundManager.stopVOCPlay(); _soundManager.startVOCPlay(_currentVocId); _checkPhoneVal = _voy._switchBGNum; - ++_voy._phoneCallsReceived[soundIndex]; + _voy._phoneCallsReceived[soundIndex] = true; ++_voy._totalPhoneCalls; } } -- cgit v1.2.3 From 55b76f7d16be83fc3e6f2e2d4d0f53ab7eaae1bd Mon Sep 17 00:00:00 2001 From: Eugene Sandulenko Date: Wed, 26 Feb 2014 22:21:33 +0400 Subject: FULLPIPE: Implement scene19_initScene2() --- engines/fullpipe/scenes.cpp | 5 +++++ engines/fullpipe/scenes.h | 5 +++++ engines/fullpipe/scenes/scene18and19.cpp | 8 +++++++- 3 files changed, 17 insertions(+), 1 deletion(-) diff --git a/engines/fullpipe/scenes.cpp b/engines/fullpipe/scenes.cpp index 8e4b5c9a34..d64ea0bb0d 100644 --- a/engines/fullpipe/scenes.cpp +++ b/engines/fullpipe/scenes.cpp @@ -272,6 +272,11 @@ Vars::Vars() { scene18_var01 = 0; + scene19_var01 = 0; + scene19_var02 = 0; + scene19_var03 = 0; + scene19_var04 = 0; + scene20_fliesCountdown = 0; scene20_grandma = 0; diff --git a/engines/fullpipe/scenes.h b/engines/fullpipe/scenes.h index 10485f2a7b..f06e210797 100644 --- a/engines/fullpipe/scenes.h +++ b/engines/fullpipe/scenes.h @@ -462,6 +462,11 @@ public: int scene18_var01; + int scene19_var01; + int scene19_var02; + int scene19_var03; + int scene19_var04; + int scene20_fliesCountdown; StaticANIObject *scene20_grandma; diff --git a/engines/fullpipe/scenes/scene18and19.cpp b/engines/fullpipe/scenes/scene18and19.cpp index 5f24aeb96e..b061d1d5e6 100644 --- a/engines/fullpipe/scenes/scene18and19.cpp +++ b/engines/fullpipe/scenes/scene18and19.cpp @@ -44,6 +44,12 @@ void scene19_preload(Scene *sc, int key) { warning("WARNING: scene19_preload()"); } - +void scene19_initScene2() { + g_fp->_aniMan2 = 0; + g_vars->scene19_var01 = 200; + g_vars->scene19_var02 = 200; + g_vars->scene19_var03 = 300; + g_vars->scene19_var04 = 300; +} } // End of namespace Fullpipe -- cgit v1.2.3 From ccde2d5b7604756f5333ea16807c82ef1b387c10 Mon Sep 17 00:00:00 2001 From: Strangerke Date: Wed, 26 Feb 2014 22:44:30 +0100 Subject: VOYEUR: Remove setVm from SVoy --- engines/voyeur/data.cpp | 8 +- engines/voyeur/data.h | 3 +- engines/voyeur/debugger.cpp | 26 ++-- engines/voyeur/events.cpp | 60 ++++----- engines/voyeur/files.cpp | 2 +- engines/voyeur/files_threads.cpp | 262 +++++++++++++++++++-------------------- engines/voyeur/graphics.cpp | 24 ++-- engines/voyeur/voyeur.cpp | 94 +++++++------- engines/voyeur/voyeur.h | 2 +- engines/voyeur/voyeur_game.cpp | 254 ++++++++++++++++++------------------- 10 files changed, 366 insertions(+), 369 deletions(-) diff --git a/engines/voyeur/data.cpp b/engines/voyeur/data.cpp index 2453de1048..1b5b576a23 100644 --- a/engines/voyeur/data.cpp +++ b/engines/voyeur/data.cpp @@ -38,7 +38,7 @@ void VoyeurEvent::synchronize(Common::Serializer &s) { /*------------------------------------------------------------------------*/ -SVoy::SVoy() { +SVoy::SVoy(VoyeurEngine *vm):_vm(vm) { // Initialize all the data fields _abortInterface = false; _isAM = false; @@ -92,10 +92,6 @@ SVoy::SVoy() { } } -void SVoy::setVm(VoyeurEngine *vm) { - _vm = vm; -} - void SVoy::addEvent(int hour, int minute, VoyeurEventType type, int audioVideoId, int on, int off, int dead) { VoyeurEvent &e = _events[_eventCount++]; @@ -282,7 +278,7 @@ void SVoy::reviewComputerEvent(int eventIndex) { bool SVoy::checkForKey() { _vm->_controlPtr->_state->_victimEvidenceIndex = 0; - if (_vm->_voy._victimMurdered) + if (_vm->_voy->_victimMurdered) return false; for (int eventIdx = 0; eventIdx < _eventCount; ++eventIdx) { diff --git a/engines/voyeur/data.h b/engines/voyeur/data.h index ed94cee490..b3380df3bc 100644 --- a/engines/voyeur/data.h +++ b/engines/voyeur/data.h @@ -154,8 +154,7 @@ public: CMapResource *_evCmPtrs[6]; VoyeurEvent _events[TOTAL_EVENTS]; - SVoy(); - void setVm(VoyeurEngine *vm); + SVoy(VoyeurEngine *vm); /** * Synchronize the data diff --git a/engines/voyeur/debugger.cpp b/engines/voyeur/debugger.cpp index 04a6597b16..f5453210b9 100644 --- a/engines/voyeur/debugger.cpp +++ b/engines/voyeur/debugger.cpp @@ -53,7 +53,7 @@ bool Debugger::Cmd_Time(int argc, const char **argv) { dtString += " " + timeString; DebugPrintf("Time period = %d, date/time is: %s, time is %s\n", - _vm->_voy._transitionId, dtString.c_str(), _isTimeActive ? "on" : "off"); + _vm->_voy->_transitionId, dtString.c_str(), _isTimeActive ? "on" : "off"); DebugPrintf("Format: %s [on | off | 1..17 | val ]\n\n", argv[0]); } else { if (!strcmp(argv[1], "on")) { @@ -64,10 +64,10 @@ bool Debugger::Cmd_Time(int argc, const char **argv) { DebugPrintf("Time is now off\n\n"); } else if (!strcmp(argv[1], "val")) { if (argc < 3) { - DebugPrintf("Time expired is currently %d.\n", _vm->_voy._RTVNum); + DebugPrintf("Time expired is currently %d.\n", _vm->_voy->_RTVNum); } else { - _vm->_voy._RTVNum = atoi(argv[2]); - DebugPrintf("Time expired is now %d.\n", _vm->_voy._RTVNum); + _vm->_voy->_RTVNum = atoi(argv[2]); + DebugPrintf("Time expired is now %d.\n", _vm->_voy->_RTVNum); } } else { int timeId = atoi(argv[1]); @@ -104,27 +104,27 @@ bool Debugger::Cmd_Hotspots(int argc, const char **argv) { hotspots[hotspotIdx].right, hotspots[hotspotIdx].bottom); for (int arrIndex = 0; arrIndex < 3; ++arrIndex) { - if (_vm->_voy._audioHotspotTimes._min[arrIndex][hotspotIdx] != 9999) { + if (_vm->_voy->_audioHotspotTimes._min[arrIndex][hotspotIdx] != 9999) { DebugPrintf("Hotspot %d %s Audio slot %d, time: %d to %d\n", hotspotIdx, pos.c_str(), arrIndex, - _vm->_voy._audioHotspotTimes._min[arrIndex][hotspotIdx], - _vm->_voy._audioHotspotTimes._max[arrIndex][hotspotIdx]); + _vm->_voy->_audioHotspotTimes._min[arrIndex][hotspotIdx], + _vm->_voy->_audioHotspotTimes._max[arrIndex][hotspotIdx]); } - if (_vm->_voy._evidenceHotspotTimes._min[arrIndex][hotspotIdx] != 9999) { + if (_vm->_voy->_evidenceHotspotTimes._min[arrIndex][hotspotIdx] != 9999) { DebugPrintf("Hotspot %d %s Evidence slot %d, time: %d to %d\n", hotspotIdx, pos.c_str(), arrIndex, - _vm->_voy._evidenceHotspotTimes._min[arrIndex][hotspotIdx], - _vm->_voy._evidenceHotspotTimes._max[arrIndex][hotspotIdx]); + _vm->_voy->_evidenceHotspotTimes._min[arrIndex][hotspotIdx], + _vm->_voy->_evidenceHotspotTimes._max[arrIndex][hotspotIdx]); } } for (int arrIndex = 0; arrIndex < 8; ++arrIndex) { - if (_vm->_voy._videoHotspotTimes._min[arrIndex][hotspotIdx] != 9999) { + if (_vm->_voy->_videoHotspotTimes._min[arrIndex][hotspotIdx] != 9999) { DebugPrintf("Hotspot %d %s Video slot %d, time: %d to %d\n", hotspotIdx, pos.c_str(), arrIndex, - _vm->_voy._videoHotspotTimes._min[arrIndex][hotspotIdx], - _vm->_voy._videoHotspotTimes._max[arrIndex][hotspotIdx]); + _vm->_voy->_videoHotspotTimes._min[arrIndex][hotspotIdx], + _vm->_voy->_videoHotspotTimes._max[arrIndex][hotspotIdx]); } } } diff --git a/engines/voyeur/events.cpp b/engines/voyeur/events.cpp index a141883090..c438883509 100644 --- a/engines/voyeur/events.cpp +++ b/engines/voyeur/events.cpp @@ -93,17 +93,17 @@ void EventsManager::startMainClockInt() { } void EventsManager::mainVoyeurIntFunc() { - if (!(_vm->_voy._eventFlags & EVTFLAG_TIME_DISABLED)) { - ++_vm->_voy._switchBGNum; + if (!(_vm->_voy->_eventFlags & EVTFLAG_TIME_DISABLED)) { + ++_vm->_voy->_switchBGNum; if (_vm->_debugger._isTimeActive) { // Increase camera discharge - ++_vm->_voy._RTVNum; + ++_vm->_voy->_RTVNum; // If the murder threshold has been set, and is passed, then flag the victim // as murdered, which prevents sending the tape from succeeding - if (_vm->_voy._RTVNum >= _vm->_voy._murderThreshold) - _vm->_voy._victimMurdered = true; + if (_vm->_voy->_RTVNum >= _vm->_voy->_murderThreshold) + _vm->_voy->_victimMurdered = true; } } } @@ -476,30 +476,30 @@ void EventsManager::vDoCycleInt() { void EventsManager::fadeIntFunc() { - switch (_vm->_voy._fadingType) { + switch (_vm->_voy->_fadingType) { case 1: - if (_vm->_voy._fadingAmount1 < 63) - _vm->_voy._fadingAmount1 += _vm->_voy._fadingStep1; - if (_vm->_voy._fadingAmount2 < 63) - _vm->_voy._fadingAmount2 += _vm->_voy._fadingStep2; - if (_vm->_voy._fadingAmount1 > 63) - _vm->_voy._fadingAmount1 = 63; - if (_vm->_voy._fadingAmount2 > 63) - _vm->_voy._fadingAmount2 = 63; - if ((_vm->_voy._fadingAmount1 == 63) && (_vm->_voy._fadingAmount2 == 63)) - _vm->_voy._fadingType = 0; + if (_vm->_voy->_fadingAmount1 < 63) + _vm->_voy->_fadingAmount1 += _vm->_voy->_fadingStep1; + if (_vm->_voy->_fadingAmount2 < 63) + _vm->_voy->_fadingAmount2 += _vm->_voy->_fadingStep2; + if (_vm->_voy->_fadingAmount1 > 63) + _vm->_voy->_fadingAmount1 = 63; + if (_vm->_voy->_fadingAmount2 > 63) + _vm->_voy->_fadingAmount2 = 63; + if ((_vm->_voy->_fadingAmount1 == 63) && (_vm->_voy->_fadingAmount2 == 63)) + _vm->_voy->_fadingType = 0; break; case 2: - if (_vm->_voy._fadingAmount1 > 0) - _vm->_voy._fadingAmount1 -= _vm->_voy._fadingStep1; - if (_vm->_voy._fadingAmount2 > 0) - _vm->_voy._fadingAmount2 -= _vm->_voy._fadingStep2; - if (_vm->_voy._fadingAmount1 < 0) - _vm->_voy._fadingAmount1 = 0; - if (_vm->_voy._fadingAmount2 < 0) - _vm->_voy._fadingAmount2 = 0; - if ((_vm->_voy._fadingAmount1 == 0) && (_vm->_voy._fadingAmount2 == 0)) - _vm->_voy._fadingType = 0; + if (_vm->_voy->_fadingAmount1 > 0) + _vm->_voy->_fadingAmount1 -= _vm->_voy->_fadingStep1; + if (_vm->_voy->_fadingAmount2 > 0) + _vm->_voy->_fadingAmount2 -= _vm->_voy->_fadingStep2; + if (_vm->_voy->_fadingAmount1 < 0) + _vm->_voy->_fadingAmount1 = 0; + if (_vm->_voy->_fadingAmount2 < 0) + _vm->_voy->_fadingAmount2 = 0; + if ((_vm->_voy->_fadingAmount1 == 0) && (_vm->_voy->_fadingAmount2 == 0)) + _vm->_voy->_fadingType = 0; break; default: break; @@ -560,7 +560,7 @@ void EventsManager::hideCursor() { void EventsManager::getMouseInfo() { pollEvents(); - if (_vm->_voy._eventFlags & EVTFLAG_RECORDING) { + if (_vm->_voy->_eventFlags & EVTFLAG_RECORDING) { if ((_gameCounter - _recordBlinkCounter) > 8) { _recordBlinkCounter = _gameCounter; @@ -586,7 +586,7 @@ void EventsManager::getMouseInfo() { } void EventsManager::startCursorBlink() { - if (_vm->_voy._eventFlags & EVTFLAG_RECORDING) { + if (_vm->_voy->_eventFlags & EVTFLAG_RECORDING) { _vm->_graphicsManager.setOneColor(128, 55, 5, 5); _vm->_graphicsManager.setColor(128, 220, 20, 20); _intPtr._hasPalette = true; @@ -606,8 +606,8 @@ void EventsManager::stopEvidDim() { } Common::String EventsManager::getEvidString(int eventIndex) { - assert(eventIndex <= _vm->_voy._eventCount); - VoyeurEvent &e = _vm->_voy._events[eventIndex]; + assert(eventIndex <= _vm->_voy->_eventCount); + VoyeurEvent &e = _vm->_voy->_events[eventIndex]; return Common::String::format("%03d %.2d:%.2d %s %s", eventIndex + 1, e._hour, e._minute, e._isAM ? AM : PM, EVENT_TYPE_STRINGS[e._type - 1]); } diff --git a/engines/voyeur/files.cpp b/engines/voyeur/files.cpp index e78b59bde9..6fe76e246f 100644 --- a/engines/voyeur/files.cpp +++ b/engines/voyeur/files.cpp @@ -1365,7 +1365,7 @@ void ViewPortResource::drawIfaceTime() { _state._vm->_gameMinute % 10, Common::Point(201, 25)); // AM/PM indicator - PictureResource *pic = _state._vm->_bVoy->boltEntry(_state._vm->_voy._isAM ? 272 : 273)._picResource; + PictureResource *pic = _state._vm->_bVoy->boltEntry(_state._vm->_voy->_isAM ? 272 : 273)._picResource; _state._vm->_graphicsManager.sDrawPic(pic, *_state._vm->_graphicsManager._vPort, Common::Point(215, 27)); } diff --git a/engines/voyeur/files_threads.cpp b/engines/voyeur/files_threads.cpp index 0ce1fedcd4..2c3b5f2454 100644 --- a/engines/voyeur/files_threads.cpp +++ b/engines/voyeur/files_threads.cpp @@ -321,19 +321,19 @@ bool ThreadResource::chooseSTAMPButton(int buttonId) { } void ThreadResource::parsePlayCommands() { - _vm->_voy._playStampMode = -1; - _vm->_voy._audioVisualStartTime = 0; - _vm->_voy._audioVisualDuration = 0; - _vm->_voy._boltGroupId2 = -1; - _vm->_voy._computerTextId = -1; - _vm->_voy._eventFlags &= ~EVTFLAG_8; + _vm->_voy->_playStampMode = -1; + _vm->_voy->_audioVisualStartTime = 0; + _vm->_voy->_audioVisualDuration = 0; + _vm->_voy->_boltGroupId2 = -1; + _vm->_voy->_computerTextId = -1; + _vm->_voy->_eventFlags &= ~EVTFLAG_8; _vm->_eventsManager._videoDead = -1; // Reset hotspot data - _vm->_voy._videoHotspotTimes.reset(); - _vm->_voy._audioHotspotTimes.reset(); - _vm->_voy._evidenceHotspotTimes.reset(); - Common::fill(&_vm->_voy._roomHotspotsEnabled[0], &_vm->_voy._roomHotspotsEnabled[20], false); + _vm->_voy->_videoHotspotTimes.reset(); + _vm->_voy->_audioHotspotTimes.reset(); + _vm->_voy->_evidenceHotspotTimes.reset(); + Common::fill(&_vm->_voy->_roomHotspotsEnabled[0], &_vm->_voy->_roomHotspotsEnabled[20], false); byte *dataP = _playCommandsPtr; int v2, v3; PictureResource *pic; @@ -357,21 +357,21 @@ void ThreadResource::parsePlayCommands() { if (v2 == 0 || _vm->_controlPtr->_state->_victimIndex == v2) { _vm->_audioVideoId = READ_LE_UINT16(dataP + 2) - 1; - _vm->_voy._audioVisualStartTime = READ_LE_UINT16(dataP + 4); - _vm->_voy._audioVisualDuration = READ_LE_UINT16(dataP + 6); + _vm->_voy->_audioVisualStartTime = READ_LE_UINT16(dataP + 4); + _vm->_voy->_audioVisualDuration = READ_LE_UINT16(dataP + 6); - if (_vm->_voy._RTVNum < _vm->_voy._audioVisualStartTime || - (_vm->_voy._audioVisualStartTime + _vm->_voy._audioVisualDuration) < _vm->_voy._RTVNum) { + if (_vm->_voy->_RTVNum < _vm->_voy->_audioVisualStartTime || + (_vm->_voy->_audioVisualStartTime + _vm->_voy->_audioVisualDuration) < _vm->_voy->_RTVNum) { _vm->_audioVideoId = -1; } else { - _vm->_voy._vocSecondsOffset = _vm->_voy._RTVNum - _vm->_voy._audioVisualStartTime; - _vm->_voy.addAudioEventStart(); + _vm->_voy->_vocSecondsOffset = _vm->_voy->_RTVNum - _vm->_voy->_audioVisualStartTime; + _vm->_voy->addAudioEventStart(); // Play the audio assert(_vm->_audioVideoId < 38); _vm->playAudio(_vm->_audioVideoId); - _vm->_voy.addAudioEventEnd(); + _vm->_voy->addAudioEventEnd(); _vm->_eventsManager.incrementTime(1); _vm->_eventsManager.incrementTime(1); _vm->_audioVideoId = -1; @@ -388,22 +388,22 @@ void ThreadResource::parsePlayCommands() { if (v2 == 0 || _vm->_controlPtr->_state->_victimIndex == v2) { _vm->_audioVideoId = READ_LE_UINT16(dataP + 2) - 1; - _vm->_voy._audioVisualStartTime = READ_LE_UINT16(dataP + 4); - _vm->_voy._audioVisualDuration = READ_LE_UINT16(dataP + 6); + _vm->_voy->_audioVisualStartTime = READ_LE_UINT16(dataP + 4); + _vm->_voy->_audioVisualDuration = READ_LE_UINT16(dataP + 6); - if (_vm->_voy._RTVNum < _vm->_voy._audioVisualStartTime || - (_vm->_voy._audioVisualStartTime + _vm->_voy._audioVisualDuration) < _vm->_voy._RTVNum) { + if (_vm->_voy->_RTVNum < _vm->_voy->_audioVisualStartTime || + (_vm->_voy->_audioVisualStartTime + _vm->_voy->_audioVisualDuration) < _vm->_voy->_RTVNum) { _vm->_audioVideoId = -1; } else { - _vm->_voy._vocSecondsOffset = _vm->_voy._RTVNum - _vm->_voy._audioVisualStartTime; - _vm->_voy.addVideoEventStart(); - _vm->_voy._eventFlags &= ~EVTFLAG_TIME_DISABLED; - _vm->_voy._eventFlags |= EVTFLAG_RECORDING; + _vm->_voy->_vocSecondsOffset = _vm->_voy->_RTVNum - _vm->_voy->_audioVisualStartTime; + _vm->_voy->addVideoEventStart(); + _vm->_voy->_eventFlags &= ~EVTFLAG_TIME_DISABLED; + _vm->_voy->_eventFlags |= EVTFLAG_RECORDING; _vm->playAVideo(_vm->_audioVideoId); - _vm->_voy._eventFlags &= ~EVTFLAG_RECORDING; - _vm->_voy._eventFlags |= EVTFLAG_TIME_DISABLED; - _vm->_voy.addVideoEventEnd(); + _vm->_voy->_eventFlags &= ~EVTFLAG_RECORDING; + _vm->_voy->_eventFlags |= EVTFLAG_TIME_DISABLED; + _vm->_voy->addVideoEventEnd(); _vm->_eventsManager.incrementTime(1); _vm->_audioVideoId = -1; @@ -417,10 +417,10 @@ void ThreadResource::parsePlayCommands() { _vm->_eventsManager._videoDead = -1; if (_stateCount == 2 && _vm->_eventsManager._mouseClicked == 0) { - _vm->_voy._playStampMode = 132; + _vm->_voy->_playStampMode = 132; parseIndex = 999; } else { - _vm->_voy._playStampMode = 129; + _vm->_voy->_playStampMode = 129; } } } @@ -440,11 +440,11 @@ void ThreadResource::parsePlayCommands() { _vm->_playStampGroupId = _vm->_resolvePtr[resolveIndex]; } - _vm->_voy._vocSecondsOffset = 0; - _vm->_voy._audioVisualStartTime = _vm->_voy._RTVNum; - _vm->_voy._eventFlags &= ~(EVTFLAG_TIME_DISABLED | EVTFLAG_RECORDING); + _vm->_voy->_vocSecondsOffset = 0; + _vm->_voy->_audioVisualStartTime = _vm->_voy->_RTVNum; + _vm->_voy->_eventFlags &= ~(EVTFLAG_TIME_DISABLED | EVTFLAG_RECORDING); _vm->playAVideo(_vm->_audioVideoId); - _vm->_voy._eventFlags |= EVTFLAG_TIME_DISABLED; + _vm->_voy->_eventFlags |= EVTFLAG_TIME_DISABLED; if (id != 22) { _vm->_audioVideoId = -1; @@ -498,30 +498,30 @@ void ThreadResource::parsePlayCommands() { // if so, load the time information for the new time period v2 = READ_LE_UINT16(dataP); if (v2 == 0 || _vm->_controlPtr->_state->_victimIndex == v2) { - _vm->_voy._playStampMode = 5; + _vm->_voy->_playStampMode = 5; int count = READ_LE_UINT16(dataP + 2); - _vm->_voy._RTVLimit = READ_LE_UINT16(dataP + 4); + _vm->_voy->_RTVLimit = READ_LE_UINT16(dataP + 4); - if (_vm->_voy._transitionId != count) { - if (_vm->_voy._transitionId > 1) - _vm->_voy._eventFlags &= ~EVTFLAG_100; + if (_vm->_voy->_transitionId != count) { + if (_vm->_voy->_transitionId > 1) + _vm->_voy->_eventFlags &= ~EVTFLAG_100; - _vm->_voy._transitionId = count; + _vm->_voy->_transitionId = count; _vm->_gameMinute = LEVEL_M[count - 1]; _vm->_gameHour = LEVEL_H[count - 1]; //_vm->_v2A0A2 = 0; - _vm->_voy._RTVNum = 0; - _vm->_voy._RTANum = 255; + _vm->_voy->_RTVNum = 0; + _vm->_voy->_RTANum = 255; } - _vm->_voy._isAM = (_vm->_voy._transitionId == 6); + _vm->_voy->_isAM = (_vm->_voy->_transitionId == 6); } dataP += 6; break; case 6: - _vm->_voy._playStampMode = 6; + _vm->_voy->_playStampMode = 6; v2 = READ_LE_UINT16(dataP); _vm->_playStampGroupId = _vm->_resolvePtr[v2]; dataP += 2; @@ -534,12 +534,12 @@ void ThreadResource::parsePlayCommands() { if (v2 == 0 || _vm->_controlPtr->_state->_victimIndex == v2) { int idx = 0; - while (_vm->_voy._videoHotspotTimes._min[idx][v3] != 9999) + while (_vm->_voy->_videoHotspotTimes._min[idx][v3] != 9999) ++idx; v2 = READ_LE_UINT16(dataP + 4); - _vm->_voy._videoHotspotTimes._min[idx][v3] = v2; - _vm->_voy._videoHotspotTimes._max[idx][v3] = v2 + READ_LE_UINT16(dataP + 6) - 2; + _vm->_voy->_videoHotspotTimes._min[idx][v3] = v2; + _vm->_voy->_videoHotspotTimes._max[idx][v3] = v2 + READ_LE_UINT16(dataP + 6) - 2; } dataP += 8; @@ -552,12 +552,12 @@ void ThreadResource::parsePlayCommands() { if (v2 == 0 || _vm->_controlPtr->_state->_victimIndex == v2) { int idx = 0; - while (_vm->_voy._audioHotspotTimes._min[idx][v3] != 9999) + while (_vm->_voy->_audioHotspotTimes._min[idx][v3] != 9999) ++idx; v2 = READ_LE_UINT16(dataP + 4); - _vm->_voy._audioHotspotTimes._min[idx][v3] = v2; - _vm->_voy._audioHotspotTimes._max[idx][v3] = v2 + READ_LE_UINT16(dataP + 6) - 2; + _vm->_voy->_audioHotspotTimes._min[idx][v3] = v2; + _vm->_voy->_audioHotspotTimes._max[idx][v3] = v2 + READ_LE_UINT16(dataP + 6) - 2; } dataP += 8; @@ -570,12 +570,12 @@ void ThreadResource::parsePlayCommands() { if (v2 == 0 || _vm->_controlPtr->_state->_victimIndex == v2) { int idx = 0; - while (_vm->_voy._evidenceHotspotTimes._min[idx][v3] != 9999) + while (_vm->_voy->_evidenceHotspotTimes._min[idx][v3] != 9999) ++idx; v2 = READ_LE_UINT16(dataP + 4); - _vm->_voy._evidenceHotspotTimes._min[idx][v3] = v2; - _vm->_voy._evidenceHotspotTimes._max[idx][v3] = v2 + READ_LE_UINT16(dataP + 6) - 2; + _vm->_voy->_evidenceHotspotTimes._min[idx][v3] = v2; + _vm->_voy->_evidenceHotspotTimes._max[idx][v3] = v2 + READ_LE_UINT16(dataP + 6) - 2; } dataP += 8; @@ -590,13 +590,13 @@ void ThreadResource::parsePlayCommands() { int randomVal; do { randomVal = _vm->getRandomNumber(3) + 1; - } while (randomVal == _vm->_voy._victimNumber); + } while (randomVal == _vm->_voy->_victimNumber); - _vm->_voy._victimNumber = randomVal; + _vm->_voy->_victimNumber = randomVal; _vm->_controlPtr->_state->_victimIndex = randomVal; } else { // Player has seen something that locks in the character to die - _vm->_voy._victimNumber = _vm->_iForceDeath; + _vm->_voy->_victimNumber = _vm->_iForceDeath; _vm->_controlPtr->_state->_victimIndex = _vm->_iForceDeath; } @@ -604,15 +604,15 @@ void ThreadResource::parsePlayCommands() { break; case 11: - _vm->_voy._eventFlags |= EVTFLAG_2; + _vm->_voy->_eventFlags |= EVTFLAG_2; break; case 12: v2 = READ_LE_UINT16(dataP); if (v2 == 0 || _vm->_controlPtr->_state->_victimIndex == v2) { - _vm->_voy._boltGroupId2 = _vm->_resolvePtr[READ_LE_UINT16(dataP + 2)]; - _vm->_voy._roomHotspotsEnabled[READ_LE_UINT16(dataP + 4) - 1] = true; + _vm->_voy->_boltGroupId2 = _vm->_resolvePtr[READ_LE_UINT16(dataP + 2)]; + _vm->_voy->_roomHotspotsEnabled[READ_LE_UINT16(dataP + 4) - 1] = true; } dataP += 6; @@ -622,14 +622,14 @@ void ThreadResource::parsePlayCommands() { v2 = READ_LE_UINT16(dataP); if (v2 == 0 || _vm->_controlPtr->_state->_victimIndex == v2) { - _vm->_voy._computerTextId = READ_LE_UINT16(dataP + 2); - _vm->_voy._computerTimeMin = READ_LE_UINT16(dataP + 4); - _vm->_voy._computerTimeMax = READ_LE_UINT16(dataP + 6); - - _vm->_voy._rect4E4.left = COMP_BUT_TABLE[_vm->_voy._computerTextId * 4]; - _vm->_voy._rect4E4.top = COMP_BUT_TABLE[_vm->_voy._computerTextId * 4 + 1]; - _vm->_voy._rect4E4.right = COMP_BUT_TABLE[_vm->_voy._computerTextId * 4 + 2]; - _vm->_voy._rect4E4.bottom = COMP_BUT_TABLE[_vm->_voy._computerTextId * 4 + 3]; + _vm->_voy->_computerTextId = READ_LE_UINT16(dataP + 2); + _vm->_voy->_computerTimeMin = READ_LE_UINT16(dataP + 4); + _vm->_voy->_computerTimeMax = READ_LE_UINT16(dataP + 6); + + _vm->_voy->_rect4E4.left = COMP_BUT_TABLE[_vm->_voy->_computerTextId * 4]; + _vm->_voy->_rect4E4.top = COMP_BUT_TABLE[_vm->_voy->_computerTextId * 4 + 1]; + _vm->_voy->_rect4E4.right = COMP_BUT_TABLE[_vm->_voy->_computerTextId * 4 + 2]; + _vm->_voy->_rect4E4.bottom = COMP_BUT_TABLE[_vm->_voy->_computerTextId * 4 + 3]; } dataP += 8; @@ -637,7 +637,7 @@ void ThreadResource::parsePlayCommands() { case 14: _vm->_playStampGroupId = 2048; - _vm->_voy._playStampMode = 130; + _vm->_voy->_playStampMode = 130; break; case 15: @@ -645,11 +645,11 @@ void ThreadResource::parsePlayCommands() { break; case 16: - _vm->_voy._playStampMode = 16; + _vm->_voy->_playStampMode = 16; break; case 17: - _vm->_voy._playStampMode = 17; + _vm->_voy->_playStampMode = 17; break; case 18: @@ -659,37 +659,37 @@ void ThreadResource::parsePlayCommands() { v3 = READ_LE_UINT16(dataP + 2); if (v2 == 0 || _vm->_controlPtr->_state->_victimIndex == v2) - _vm->_voy._murderThreshold = v3; + _vm->_voy->_murderThreshold = v3; dataP += 4; break; case 19: - _vm->_voy._aptLoadMode = 140; + _vm->_voy->_aptLoadMode = 140; loadTheApt(); - _vm->_voy._aptLoadMode = 141; + _vm->_voy->_aptLoadMode = 141; freeTheApt(); break; case 20: - _vm->_voy._aptLoadMode = -1; + _vm->_voy->_aptLoadMode = -1; loadTheApt(); - _vm->_voy._aptLoadMode = 141; + _vm->_voy->_aptLoadMode = 141; freeTheApt(); break; case 21: - _vm->_voy._aptLoadMode = -1; + _vm->_voy->_aptLoadMode = -1; loadTheApt(); - _vm->_voy._aptLoadMode = 140; + _vm->_voy->_aptLoadMode = 140; freeTheApt(); break; case 23: - _vm->_voy._transitionId = 17; - _vm->_voy._aptLoadMode = -1; + _vm->_voy->_transitionId = 17; + _vm->_voy->_aptLoadMode = -1; loadTheApt(); - _vm->_voy._aptLoadMode = 144; + _vm->_voy->_aptLoadMode = 144; freeTheApt(); break; @@ -954,7 +954,7 @@ int ThreadResource::doApt() { loadTheApt(); _vm->_currentVocId = 151; - _vm->_voy._viewBounds = _vm->_bVoy->boltEntry(_vm->_playStampGroupId)._rectResource; + _vm->_voy->_viewBounds = _vm->_bVoy->boltEntry(_vm->_playStampGroupId)._rectResource; Common::Array &hotspots = _vm->_bVoy->boltEntry( _vm->_playStampGroupId + 1)._rectResource->_entries; _vm->_eventsManager.getMouseInfo(); @@ -966,7 +966,7 @@ int ThreadResource::doApt() { _vm->_currentVocId = 153; } - if (_vm->_voy._playStampMode == 16) { + if (_vm->_voy->_playStampMode == 16) { hotspots[0].left = 999; hotspots[3].left = 999; _aptPos.x = hotspots[4].left + 28; @@ -1015,7 +1015,7 @@ int ThreadResource::doApt() { // Cursor is within hotspot area // Don't allow the camera to be highlighted on Monday morning. - if (idx == 0 && _vm->_voy._transitionId == 17) + if (idx == 0 && _vm->_voy->_transitionId == 17) continue; // Set the highlighted hotspot Id @@ -1024,7 +1024,7 @@ int ThreadResource::doApt() { if (hotspotId != prevHotspotId) { // Check for whether to replace hotspot Id for "Watch TV" for // "Review the Tape" if player has already watched the TV - if ((_vm->_voy._eventFlags & EVTFLAG_100) && (hotspotId == 2)) + if ((_vm->_voy->_eventFlags & EVTFLAG_100) && (hotspotId == 2)) hotspotId = 5; // Draw the text description for the highlighted hotspot @@ -1063,23 +1063,23 @@ int ThreadResource::doApt() { switch (hotspotId) { case 0: - _vm->_voy._aptLoadMode = 140; + _vm->_voy->_aptLoadMode = 140; break; case 1: - _vm->_voy._aptLoadMode = 143; + _vm->_voy->_aptLoadMode = 143; break; case 2: - _vm->_voy._aptLoadMode = 142; + _vm->_voy->_aptLoadMode = 142; case 5: - _vm->_voy._aptLoadMode = 141; + _vm->_voy->_aptLoadMode = 141; break; default: - _vm->_voy._aptLoadMode = -1; + _vm->_voy->_aptLoadMode = -1; break; } freeTheApt(); - if (_vm->_voy._transitionId == 1 && hotspotId == 0) + if (_vm->_voy->_transitionId == 1 && hotspotId == 0) _vm->checkTransition(); if (!hotspotId) @@ -1090,7 +1090,7 @@ int ThreadResource::doApt() { void ThreadResource::doRoom() { VoyeurEngine &vm = *_vm; - SVoy &voy = vm._voy; + SVoy voy = *vm._voy; vm.makeViewFinderP(); voy._fadingType = 0; @@ -1198,14 +1198,14 @@ void ThreadResource::doRoom() { vm.getComputerBrush(); _vm->flipPageAndWait(); - vm._voy.addComputerEventStart(); + vm._voy->addComputerEventStart(); vm._eventsManager._mouseClicked = false; vm._eventsManager.startCursorBlink(); int totalChars = vm.doComputerText(9999); if (totalChars) - vm._voy.addComputerEventEnd(totalChars); + vm._voy->addComputerEventEnd(totalChars); vm._bVoy->freeBoltGroup(0x4900); } else { @@ -1285,35 +1285,35 @@ int ThreadResource::doInterface() { PictureResource *pic; Common::Point pt; - _vm->_voy._eventFlags |= EVTFLAG_TIME_DISABLED; - if (_vm->_voy._abortInterface) { - _vm->_voy._abortInterface = false; + _vm->_voy->_eventFlags |= EVTFLAG_TIME_DISABLED; + if (_vm->_voy->_abortInterface) { + _vm->_voy->_abortInterface = false; return -2; } - _vm->_voy._eventFlags &= ~EVTFLAG_100; + _vm->_voy->_eventFlags &= ~EVTFLAG_100; _vm->_playStampGroupId = -1; _vm->_eventsManager._intPtr._flashStep = 1; _vm->_eventsManager._intPtr._flashTimer = 0; - if (_vm->_voy._RTVNum >= _vm->_voy._RTVLimit || _vm->_voy._RTVNum < 0) - _vm->_voy._RTVNum = _vm->_voy._RTVLimit - 1; + if (_vm->_voy->_RTVNum >= _vm->_voy->_RTVLimit || _vm->_voy->_RTVNum < 0) + _vm->_voy->_RTVNum = _vm->_voy->_RTVLimit - 1; - if (_vm->_voy._transitionId < 15 && _vm->_debugger._isTimeActive && - (_vm->_voy._RTVLimit - 3) < _vm->_voy._RTVNum) { - _vm->_voy._RTVNum = _vm->_voy._RTVLimit; + if (_vm->_voy->_transitionId < 15 && _vm->_debugger._isTimeActive && + (_vm->_voy->_RTVLimit - 3) < _vm->_voy->_RTVNum) { + _vm->_voy->_RTVNum = _vm->_voy->_RTVLimit; _vm->makeViewFinder(); _vm->initIFace(); - _vm->_voy._RTVNum = _vm->_voy._RTVLimit - 4; - _vm->_voy._eventFlags &= ~EVTFLAG_TIME_DISABLED; + _vm->_voy->_RTVNum = _vm->_voy->_RTVLimit - 4; + _vm->_voy->_eventFlags &= ~EVTFLAG_TIME_DISABLED; - while (!_vm->shouldQuit() && _vm->_voy._RTVNum < _vm->_voy._RTVLimit) { + while (!_vm->shouldQuit() && _vm->_voy->_RTVNum < _vm->_voy->_RTVLimit) { _vm->flashTimeBar(); _vm->_eventsManager.delayClick(1); } - _vm->_voy._eventFlags |= EVTFLAG_TIME_DISABLED; + _vm->_voy->_eventFlags |= EVTFLAG_TIME_DISABLED; chooseSTAMPButton(20); parsePlayCommands(); } @@ -1326,7 +1326,7 @@ int ThreadResource::doInterface() { Common::Array *hotspots = &_vm->_bVoy->boltEntry( _vm->_playStampGroupId + 1)._rectResource->_entries; _vm->_currentVocId = 151 - _vm->getRandomNumber(5); - _vm->_voy._vocSecondsOffset = _vm->getRandomNumber(29); + _vm->_voy->_vocSecondsOffset = _vm->getRandomNumber(29); Common::String fname = _vm->_soundManager.getVOCFileName(_vm->_currentVocId); _vm->_soundManager.startVOCPlay(fname); @@ -1334,7 +1334,7 @@ int ThreadResource::doInterface() { _vm->_graphicsManager.setColor(240, 220, 220, 220); _vm->_eventsManager._intPtr._hasPalette = true; - _vm->_voy._eventFlags &= ~EVTFLAG_TIME_DISABLED; + _vm->_voy->_eventFlags &= ~EVTFLAG_TIME_DISABLED; // Set the cusor PictureResource *crosshairsCursor = _vm->_bVoy->boltEntry(0x112)._picResource; @@ -1376,13 +1376,13 @@ int ThreadResource::doInterface() { if ((*hotspots)[hotspotIdx].contains(pt)) { // Rect check done for (int arrIndex = 0; arrIndex < 3; ++arrIndex) { - if (_vm->_voy._audioHotspotTimes.isInRange(arrIndex, hotspotIdx, _vm->_voy._RTVNum)) { + if (_vm->_voy->_audioHotspotTimes.isInRange(arrIndex, hotspotIdx, _vm->_voy->_RTVNum)) { // Set the ear cursor for an audio event _vm->_eventsManager.setCursor(listenCursor); regionIndex = hotspotIdx; } - if (_vm->_voy._evidenceHotspotTimes.isInRange(arrIndex, hotspotIdx, _vm->_voy._RTVNum)) { + if (_vm->_voy->_evidenceHotspotTimes.isInRange(arrIndex, hotspotIdx, _vm->_voy->_RTVNum)) { // Set the magnifier cursor for an evidence event _vm->_eventsManager.setCursor(mangifyCursor); regionIndex = hotspotIdx; @@ -1390,7 +1390,7 @@ int ThreadResource::doInterface() { } for (int arrIndex = 0; arrIndex < 8; ++arrIndex) { - if (_vm->_voy._videoHotspotTimes.isInRange(arrIndex, hotspotIdx, _vm->_voy._RTVNum)) { + if (_vm->_voy->_videoHotspotTimes.isInRange(arrIndex, hotspotIdx, _vm->_voy->_RTVNum)) { // Set the eye cursor for a video event _vm->_eventsManager.setCursor(eyeCursor); regionIndex = hotspotIdx; @@ -1405,42 +1405,42 @@ int ThreadResource::doInterface() { } // Regularly update the time display - if (_vm->_voy._RTANum & 2) { + if (_vm->_voy->_RTANum & 2) { _vm->_graphicsManager.drawANumber(*_vm->_graphicsManager._vPort, _vm->_gameMinute / 10, Common::Point(190, 25)); _vm->_graphicsManager.drawANumber(*_vm->_graphicsManager._vPort, _vm->_gameMinute % 10, Common::Point(201, 25)); - if (_vm->_voy._RTANum & 4) { + if (_vm->_voy->_RTANum & 4) { int v = _vm->_gameHour / 10; _vm->_graphicsManager.drawANumber(*_vm->_graphicsManager._vPort, v == 0 ? 10 : v, Common::Point(161, 25)); _vm->_graphicsManager.drawANumber(*_vm->_graphicsManager._vPort, _vm->_gameHour % 10, Common::Point(172, 25)); - pic = _vm->_bVoy->boltEntry(_vm->_voy._isAM ? 272 : 273)._picResource; + pic = _vm->_bVoy->boltEntry(_vm->_voy->_isAM ? 272 : 273)._picResource; _vm->_graphicsManager.sDrawPic(pic, *_vm->_graphicsManager._vPort, Common::Point(215, 27)); } } - _vm->_voy._RTANum = 0; + _vm->_voy->_RTANum = 0; _vm->flipPageAndWait(); pt = _vm->_eventsManager.getMousePos(); - if ((_vm->_voy._RTVNum >= _vm->_voy._RTVLimit) || ((_vm->_voy._eventFlags & 0x80) && + if ((_vm->_voy->_RTVNum >= _vm->_voy->_RTVLimit) || ((_vm->_voy->_eventFlags & 0x80) && _vm->_eventsManager._rightClick && (pt.x == 0))) { // Time to transition to the next time period _vm->_eventsManager.getMouseInfo(); - if (_vm->_voy._transitionId == 15) { + if (_vm->_voy->_transitionId == 15) { regionIndex = 20; - _vm->_voy._transitionId = 17; + _vm->_voy->_transitionId = 17; _vm->_soundManager.stopVOCPlay(); _vm->checkTransition(); _vm->_eventsManager._leftClick = true; } else { - _vm->_voy._eventFlags |= EVTFLAG_TIME_DISABLED; + _vm->_voy->_eventFlags |= EVTFLAG_TIME_DISABLED; chooseSTAMPButton(20); parsePlayCommands(); @@ -1452,7 +1452,7 @@ int ThreadResource::doInterface() { hotspots = &_vm->_bVoy->boltEntry(_vm->_playStampGroupId + 1)._rectResource->_entries; _vm->_eventsManager.getMouseInfo(); - _vm->_voy._eventFlags &= ~EVTFLAG_TIME_DISABLED; + _vm->_voy->_eventFlags &= ~EVTFLAG_TIME_DISABLED; _vm->_eventsManager._intPtr._flashStep = 1; _vm->_eventsManager._intPtr._flashTimer = 0; } @@ -1461,7 +1461,7 @@ int ThreadResource::doInterface() { (!_vm->_eventsManager._leftClick || regionIndex == -1)); _vm->_eventsManager.hideCursor(); - _vm->_voy._eventFlags |= EVTFLAG_TIME_DISABLED; + _vm->_voy->_eventFlags |= EVTFLAG_TIME_DISABLED; _vm->_bVoy->freeBoltGroup(_vm->_playStampGroupId); if (_vm->_currentVocId != -1) _vm->_soundManager.stopVOCPlay(); @@ -1550,7 +1550,7 @@ void ThreadResource::clearButtonFlag(int idx, byte bits) { } void ThreadResource::loadTheApt() { - switch (_vm->_voy._transitionId) { + switch (_vm->_voy->_transitionId) { case 1: case 2: case 5: @@ -1578,13 +1578,13 @@ void ThreadResource::loadTheApt() { break; } - if (_vm->_voy._aptLoadMode == 143) - _vm->_voy._aptLoadMode = -1; + if (_vm->_voy->_aptLoadMode == 143) + _vm->_voy->_aptLoadMode = -1; - if (_vm->_voy._aptLoadMode != -1) { + if (_vm->_voy->_aptLoadMode != -1) { doAptAnim(1); _vm->_bVoy->getBoltGroup(_vm->_playStampGroupId); - _vm->_voy._aptLoadMode = -1; + _vm->_voy->_aptLoadMode = -1; _vm->_graphicsManager._backgroundPage = _vm->_bVoy->boltEntry( _vm->_playStampGroupId + 5)._picResource; (*_vm->_graphicsManager._vPort)->setupViewPort( @@ -1614,13 +1614,13 @@ void ThreadResource::freeTheApt() { _vm->_currentVocId = -1; } - if (_vm->_voy._aptLoadMode == -1) { + if (_vm->_voy->_aptLoadMode == -1) { _vm->_graphicsManager.fadeDownICF(6); } else { doAptAnim(2); } - if (_vm->_voy._aptLoadMode == 140) { + if (_vm->_voy->_aptLoadMode == 140) { _vm->_graphicsManager.screenReset(); _vm->_graphicsManager.resetPalette(); } @@ -1628,7 +1628,7 @@ void ThreadResource::freeTheApt() { (*_vm->_graphicsManager._vPort)->setupViewPort(nullptr); _vm->_bVoy->freeBoltGroup(_vm->_playStampGroupId); _vm->_playStampGroupId = -1; - _vm->_voy._viewBounds = nullptr; + _vm->_voy->_viewBounds = nullptr; } void ThreadResource::doAptAnim(int mode) { @@ -1636,7 +1636,7 @@ void ThreadResource::doAptAnim(int mode) { // Figure out the resource to use int id = 0; - switch (_vm->_voy._aptLoadMode) { + switch (_vm->_voy->_aptLoadMode) { case 140: id = 0x5A00; break; @@ -1657,7 +1657,7 @@ void ThreadResource::doAptAnim(int mode) { } int id2 = (id == 0x6C00 || id == 0x6F00) ? 1 : 2; - switch (_vm->_voy._transitionId) { + switch (_vm->_voy->_transitionId) { case 3: id += id2 << 8; break; diff --git a/engines/voyeur/graphics.cpp b/engines/voyeur/graphics.cpp index 5bf314ecf5..0f70a23cf2 100644 --- a/engines/voyeur/graphics.cpp +++ b/engines/voyeur/graphics.cpp @@ -999,45 +999,45 @@ void GraphicsManager::screenReset() { void GraphicsManager::fadeDownICF1(int steps) { if (steps > 0) { - int stepAmount = _vm->_voy._fadingAmount2 / steps; + int stepAmount = _vm->_voy->_fadingAmount2 / steps; for (int idx = 0; idx < steps; ++idx) { - _vm->_voy._fadingAmount2 -= stepAmount; + _vm->_voy->_fadingAmount2 -= stepAmount; _vm->_eventsManager.delay(1); } } - _vm->_voy._fadingAmount2 = 0; + _vm->_voy->_fadingAmount2 = 0; } void GraphicsManager::fadeUpICF1(int steps) { if (steps > 0) { - int stepAmount = (63 - _vm->_voy._fadingAmount2) / steps; + int stepAmount = (63 - _vm->_voy->_fadingAmount2) / steps; for (int idx = 0; idx < steps; ++idx) { - _vm->_voy._fadingAmount2 += stepAmount; + _vm->_voy->_fadingAmount2 += stepAmount; _vm->_eventsManager.delay(1); } } - _vm->_voy._fadingAmount2 = 63; + _vm->_voy->_fadingAmount2 = 63; } void GraphicsManager::fadeDownICF(int steps) { if (steps > 0) { _vm->_eventsManager.hideCursor(); - int stepAmount1 = _vm->_voy._fadingAmount1 / steps; - int stepAmount2 = _vm->_voy._fadingAmount2 / steps; + int stepAmount1 = _vm->_voy->_fadingAmount1 / steps; + int stepAmount2 = _vm->_voy->_fadingAmount2 / steps; for (int idx = 0; idx < steps; ++idx) { - _vm->_voy._fadingAmount1 -= stepAmount1; - _vm->_voy._fadingAmount2 -= stepAmount2; + _vm->_voy->_fadingAmount1 -= stepAmount1; + _vm->_voy->_fadingAmount2 -= stepAmount2; _vm->_eventsManager.delay(1); } } - _vm->_voy._fadingAmount1 = 0; - _vm->_voy._fadingAmount2 = 0; + _vm->_voy->_fadingAmount1 = 0; + _vm->_voy->_fadingAmount2 = 0; } void GraphicsManager::drawDot() { diff --git a/engines/voyeur/voyeur.cpp b/engines/voyeur/voyeur.cpp index 6a9244b9f5..abb539f883 100644 --- a/engines/voyeur/voyeur.cpp +++ b/engines/voyeur/voyeur.cpp @@ -39,6 +39,7 @@ VoyeurEngine::VoyeurEngine(OSystem *syst, const VoyeurGameDescription *gameDesc) _gameDescription(gameDesc), _randomSource("Voyeur"), _soundManager(_mixer), _defaultFontInfo(3, 0xff, 0xff, 0, 0, ALIGN_LEFT, 0, Common::Point(), 1, 1, Common::Point(1, 1), 1, 0, 0) { + _voy = nullptr; _bVoy = NULL; _iForceDeath = ConfMan.getInt("boot_param"); @@ -66,6 +67,7 @@ VoyeurEngine::VoyeurEngine(OSystem *syst, const VoyeurGameDescription *gameDesc) VoyeurEngine::~VoyeurEngine() { delete _bVoy; + delete _voy; } Common::Error VoyeurEngine::run() { @@ -75,7 +77,7 @@ Common::Error VoyeurEngine::run() { // The original allows the victim to be explicitly specified via the command line. // This is possible in ScummVM by using a boot parameter. if (_iForceDeath >= 1 && _iForceDeath <= 4) - _voy._eventFlags |= EVTFLAG_VICTIM_PRESET; + _voy->_eventFlags |= EVTFLAG_VICTIM_PRESET; if (doHeadTitle()) { playStamp(); @@ -97,7 +99,7 @@ void VoyeurEngine::initializeManagers() { _filesManager.setVm(this); _graphicsManager.setVm(this); _soundManager.setVm(this); - _voy.setVm(this); + _voy = new SVoy(this); } void VoyeurEngine::ESP_Init() { @@ -119,7 +121,7 @@ void VoyeurEngine::globalInitBolt() { assert(_graphicsManager._fontPtr->_curFont); // Setup default flags - _voy._viewBounds = nullptr; + _voy->_viewBounds = nullptr; _eventsManager.addFadeInt(); } @@ -176,21 +178,21 @@ bool VoyeurEngine::doHeadTitle() { doTransitionCard("Saturday Afternoon", "Player's Apartment"); _eventsManager.delayClick(90); - if (_voy._eventFlags & EVTFLAG_VICTIM_PRESET) { + if (_voy->_eventFlags & EVTFLAG_VICTIM_PRESET) { // Preset victim turned on, so add a default set of incriminating videos - _voy.addEvent(18, 1, EVTYPE_VIDEO, 33, 0, 998, -1); - _voy.addEvent(18, 2, EVTYPE_VIDEO, 41, 0, 998, -1); - _voy.addEvent(18, 3, EVTYPE_VIDEO, 47, 0, 998, -1); - _voy.addEvent(18, 4, EVTYPE_VIDEO, 53, 0, 998, -1); - _voy.addEvent(18, 5, EVTYPE_VIDEO, 46, 0, 998, -1); - _voy.addEvent(18, 6, EVTYPE_VIDEO, 50, 0, 998, -1); - _voy.addEvent(18, 7, EVTYPE_VIDEO, 40, 0, 998, -1); - _voy.addEvent(18, 8, EVTYPE_VIDEO, 43, 0, 998, -1); - _voy.addEvent(19, 1, EVTYPE_AUDIO, 20, 0, 998, -1); + _voy->addEvent(18, 1, EVTYPE_VIDEO, 33, 0, 998, -1); + _voy->addEvent(18, 2, EVTYPE_VIDEO, 41, 0, 998, -1); + _voy->addEvent(18, 3, EVTYPE_VIDEO, 47, 0, 998, -1); + _voy->addEvent(18, 4, EVTYPE_VIDEO, 53, 0, 998, -1); + _voy->addEvent(18, 5, EVTYPE_VIDEO, 46, 0, 998, -1); + _voy->addEvent(18, 6, EVTYPE_VIDEO, 50, 0, 998, -1); + _voy->addEvent(18, 7, EVTYPE_VIDEO, 40, 0, 998, -1); + _voy->addEvent(18, 8, EVTYPE_VIDEO, 43, 0, 998, -1); + _voy->addEvent(19, 1, EVTYPE_AUDIO, 20, 0, 998, -1); } } - _voy._aptLoadMode = 140; + _voy->_aptLoadMode = 140; return true; } @@ -229,7 +231,7 @@ bool VoyeurEngine::doLock() { byte *wrongVoc = _filesManager.fload("wrong.voc", &wrongVocSize); if (_bVoy->getBoltGroup(0x700)) { - _voy._viewBounds = _bVoy->boltEntry(0x704)._rectResource; + _voy->_viewBounds = _bVoy->boltEntry(0x704)._rectResource; Common::String password = "3333"; PictureResource *cursorPic = _bVoy->getPictureResource(0x702); @@ -374,7 +376,7 @@ bool VoyeurEngine::doLock() { flipPageAndWait(); _graphicsManager.resetPalette(); - _voy._viewBounds = nullptr; + _voy->_viewBounds = nullptr; _bVoy->freeBoltGroup(0x700); } @@ -438,17 +440,17 @@ void VoyeurEngine::doOpening() { PictureResource *textPic = nullptr; Common::Point textPos; - _voy._vocSecondsOffset = 0; - _voy._RTVNum = 0; - _voy._audioVisualStartTime = _voy._RTVNum; - _voy._eventFlags |= EVTFLAG_RECORDING; + _voy->_vocSecondsOffset = 0; + _voy->_RTVNum = 0; + _voy->_audioVisualStartTime = _voy->_RTVNum; + _voy->_eventFlags |= EVTFLAG_RECORDING; _gameHour = 4; _gameMinute = 0; _audioVideoId = 1; _eventsManager._videoDead = -1; - _voy.addVideoEventStart(); + _voy->addVideoEventStart(); - _voy._eventFlags &= ~EVTFLAG_TIME_DISABLED; + _voy->_eventFlags &= ~EVTFLAG_TIME_DISABLED; for (int i = 0; i < 256; ++i) _graphicsManager.setColor(i, 8, 8, 8); @@ -500,12 +502,12 @@ void VoyeurEngine::doOpening() { g_system->delayMillis(10); } - if ((_voy._RTVNum - _voy._audioVisualStartTime) < 2) + if ((_voy->_RTVNum - _voy->_audioVisualStartTime) < 2) _eventsManager.delay(60); - _voy._eventFlags |= EVTFLAG_TIME_DISABLED; - _voy.addVideoEventEnd(); - _voy._eventFlags &= ~EVTFLAG_RECORDING; + _voy->_eventFlags |= EVTFLAG_TIME_DISABLED; + _voy->addVideoEventEnd(); + _voy->_eventFlags &= ~EVTFLAG_RECORDING; _bVoy->freeBoltGroup(0x200); } @@ -552,7 +554,7 @@ void VoyeurEngine::playAVideoDuration(int videoId, int duration) { RL2Decoder decoder; decoder.loadVideo(videoId); - decoder.seek(Audio::Timestamp(_voy._vocSecondsOffset * 1000)); + decoder.seek(Audio::Timestamp(_voy->_vocSecondsOffset * 1000)); decoder.start(); int endFrame = decoder.getCurFrame() + totalFrames; @@ -566,7 +568,7 @@ void VoyeurEngine::playAVideoDuration(int videoId, int duration) { Common::copy((const byte *)frame->getPixels(), (const byte *)frame->getPixels() + 320 * 200, (byte *)_graphicsManager._screenSurface.getPixels()); - if (_voy._eventFlags & EVTFLAG_RECORDING) + if (_voy->_eventFlags & EVTFLAG_RECORDING) _graphicsManager.drawDot(); } @@ -582,14 +584,14 @@ void VoyeurEngine::playAVideoDuration(int videoId, int duration) { // RL2 finished _graphicsManager.screenReset(); - _voy._eventFlags &= ~EVTFLAG_RECORDING; + _voy->_eventFlags &= ~EVTFLAG_RECORDING; - if (_voy._eventFlags & EVTFLAG_8) { + if (_voy->_eventFlags & EVTFLAG_8) { assert(pic); byte *imgData = (*_graphicsManager._vPort)->_currentPic->_imgData; (*_graphicsManager._vPort)->_currentPic->_imgData = pic->_imgData; pic->_imgData = imgData; - _voy._eventFlags &= ~EVTFLAG_8; + _voy->_eventFlags &= ~EVTFLAG_8; } } @@ -604,26 +606,26 @@ void VoyeurEngine::playAudio(int audioId) { _graphicsManager._backColors->startFade(); flipPageAndWaitForFade(); - _voy._eventFlags &= ~EVTFLAG_TIME_DISABLED; - _soundManager.setVOCOffset(_voy._vocSecondsOffset); + _voy->_eventFlags &= ~EVTFLAG_TIME_DISABLED; + _soundManager.setVOCOffset(_voy->_vocSecondsOffset); Common::String filename = _soundManager.getVOCFileName( audioId + 159); _soundManager.startVOCPlay(filename); - _voy._eventFlags |= EVTFLAG_RECORDING; + _voy->_eventFlags |= EVTFLAG_RECORDING; _eventsManager.startCursorBlink(); while (!shouldQuit() && !_eventsManager._mouseClicked && _soundManager.getVOCStatus()) _eventsManager.delayClick(1); - _voy._eventFlags |= EVTFLAG_TIME_DISABLED; + _voy->_eventFlags |= EVTFLAG_TIME_DISABLED; _soundManager.stopVOCPlay(); _bVoy->freeBoltGroup(0x7F00); (*_graphicsManager._vPort)->setupViewPort(NULL); - _voy._eventFlags &= ~EVTFLAG_RECORDING; - _voy._playStampMode = 129; + _voy->_eventFlags &= ~EVTFLAG_RECORDING; + _voy->_playStampMode = 129; } void VoyeurEngine::doTransitionCard(const Common::String &time, const Common::String &location) { @@ -680,11 +682,11 @@ void VoyeurEngine::flipPageAndWaitForFade() { } void VoyeurEngine::showEndingNews() { - _playStampGroupId = (_voy._incriminatedVictimNumber - 1) * 256 + 0x7700; - _voy._boltGroupId2 = (_controlPtr->_state->_victimIndex - 1) * 256 + 0x7B00; + _playStampGroupId = (_voy->_incriminatedVictimNumber - 1) * 256 + 0x7700; + _voy->_boltGroupId2 = (_controlPtr->_state->_victimIndex - 1) * 256 + 0x7B00; _bVoy->getBoltGroup(_playStampGroupId); - _bVoy->getBoltGroup(_voy._boltGroupId2); + _bVoy->getBoltGroup(_voy->_boltGroupId2); PictureResource *pic = _bVoy->boltEntry(_playStampGroupId)._picResource; CMapResource *pal = _bVoy->boltEntry(_playStampGroupId + 1)._cMapResource; @@ -697,8 +699,8 @@ void VoyeurEngine::showEndingNews() { for (int idx = 1; idx < 4; ++idx) { if (idx == 3) { - pic = _bVoy->boltEntry(_voy._boltGroupId2)._picResource; - pal = _bVoy->boltEntry(_voy._boltGroupId2 + 1)._cMapResource; + pic = _bVoy->boltEntry(_voy->_boltGroupId2)._picResource; + pal = _bVoy->boltEntry(_voy->_boltGroupId2 + 1)._cMapResource; } else { pic = _bVoy->boltEntry(_playStampGroupId + idx * 2)._picResource; pal = _bVoy->boltEntry(_playStampGroupId + idx * 2 + 1)._cMapResource; @@ -730,9 +732,9 @@ void VoyeurEngine::showEndingNews() { } _bVoy->freeBoltGroup(_playStampGroupId); - _bVoy->freeBoltGroup(_voy._boltGroupId2); + _bVoy->freeBoltGroup(_voy->_boltGroupId2); _playStampGroupId = -1; - _voy._boltGroupId2 = -1; + _voy->_boltGroupId2 = -1; } /*------------------------------------------------------------------------*/ @@ -772,7 +774,7 @@ void VoyeurEngine::loadGame(int slot) { Common::Serializer serializer(saveFile, NULL); // Store the current time index before the game is loaded - _checkTransitionId = _voy._transitionId; + _checkTransitionId = _voy->_transitionId; // Stop any playing sound _soundManager.stopVOCPlay(); @@ -838,7 +840,7 @@ void VoyeurEngine::synchronize(Common::Serializer &s) { s.syncAsSint16LE(_checkPhoneVal); // Sub-systems - _voy.synchronize(s); + _voy->synchronize(s); _graphicsManager.synchronize(s); _mainThread->synchronize(s); _controlPtr->_state->synchronize(s); diff --git a/engines/voyeur/voyeur.h b/engines/voyeur/voyeur.h index 445c122591..032ef24996 100644 --- a/engines/voyeur/voyeur.h +++ b/engines/voyeur/voyeur.h @@ -162,7 +162,7 @@ public: FilesManager _filesManager; GraphicsManager _graphicsManager; SoundManager _soundManager; - SVoy _voy; + SVoy *_voy; BoltFile *_stampLibPtr; BoltGroup *_controlGroupPtr; diff --git a/engines/voyeur/voyeur_game.cpp b/engines/voyeur/voyeur_game.cpp index f928642fe0..5a6f872c80 100644 --- a/engines/voyeur/voyeur_game.cpp +++ b/engines/voyeur/voyeur_game.cpp @@ -41,10 +41,10 @@ void VoyeurEngine::playStamp() { _mainThread = threadsList->_entries[0]->_threadResource; _mainThread->initThreadStruct(0, 0); - _voy._isAM = false; + _voy->_isAM = false; _gameHour = 9; _gameMinute = 0; - _voy._abortInterface = true; + _voy->_abortInterface = true; int buttonId; bool breakFlag = false; @@ -56,31 +56,31 @@ void VoyeurEngine::playStamp() { _mainThread->parsePlayCommands(); - bool flag = breakFlag = (_voy._eventFlags & EVTFLAG_2) != 0; + bool flag = breakFlag = (_voy->_eventFlags & EVTFLAG_2) != 0; - switch (_voy._playStampMode) { + switch (_voy->_playStampMode) { case 5: buttonId = _mainThread->doInterface(); if (buttonId == -2) { switch (_mainThread->doApt()) { case 0: - _voy._aptLoadMode = 140; + _voy->_aptLoadMode = 140; break; case 1: - _voy._eventFlags &= ~EVTFLAG_TIME_DISABLED; - _voy._abortInterface = true; + _voy->_eventFlags &= ~EVTFLAG_TIME_DISABLED; + _voy->_abortInterface = true; _mainThread->chooseSTAMPButton(22); - _voy._aptLoadMode = 143; + _voy->_aptLoadMode = 143; break; case 2: - _voy._eventFlags &= ~EVTFLAG_TIME_DISABLED; + _voy->_eventFlags &= ~EVTFLAG_TIME_DISABLED; reviewTape(); - _voy._abortInterface = true; - _voy._aptLoadMode = 142; + _voy->_abortInterface = true; + _voy->_aptLoadMode = 142; break; case 3: - _voy._eventFlags &= ~EVTFLAG_TIME_DISABLED; + _voy->_eventFlags &= ~EVTFLAG_TIME_DISABLED; _mainThread->chooseSTAMPButton(21); break; case 4: @@ -88,9 +88,9 @@ void VoyeurEngine::playStamp() { break; case 5: doGossip(); - _voy._abortInterface = true; - _voy._aptLoadMode = 141; - _voy._eventFlags &= ~EVTFLAG_100; + _voy->_abortInterface = true; + _voy->_aptLoadMode = 141; + _voy->_eventFlags &= ~EVTFLAG_100; break; default: break; @@ -108,7 +108,7 @@ void VoyeurEngine::playStamp() { break; case 16: - _voy._transitionId = 17; + _voy->_transitionId = 17; buttonId = _mainThread->doApt(); switch (buttonId) { @@ -118,7 +118,7 @@ void VoyeurEngine::playStamp() { break; case 2: reviewTape(); - _voy._abortInterface = true; + _voy->_abortInterface = true; break; case 4: flag = true; @@ -132,13 +132,13 @@ void VoyeurEngine::playStamp() { case 17: // Called the police, showing the tape doTapePlaying(); - if (!checkForMurder() && _voy._transitionId <= 15) + if (!checkForMurder() && _voy->_transitionId <= 15) checkForIncriminate(); - if (_voy._videoEventId != -1) { + if (_voy->_videoEventId != -1) { // Show the found video that is of interest to the police - playAVideoEvent(_voy._videoEventId); - _voy._eventFlags &= ~EVTFLAG_RECORDING; + playAVideoEvent(_voy->_videoEventId); + _voy->_eventFlags &= ~EVTFLAG_RECORDING; } // Handle response @@ -163,12 +163,12 @@ void VoyeurEngine::playStamp() { flag = true; if (buttonId != 4) { - _voy._playStampMode = 131; - _voy.checkForKey(); + _voy->_playStampMode = 131; + _voy->checkForKey(); _mainThread->chooseSTAMPButton(buttonId); } else { _mainThread->chooseSTAMPButton(buttonId); - _voy._abortInterface = true; + _voy->_abortInterface = true; } } break; @@ -187,9 +187,9 @@ void VoyeurEngine::playStamp() { _audioVideoId = -1; - if (_voy._boltGroupId2 != -1) { - _bVoy->freeBoltGroup(_voy._boltGroupId2); - _voy._boltGroupId2 = -1; + if (_voy->_boltGroupId2 != -1) { + _bVoy->freeBoltGroup(_voy->_boltGroupId2); + _voy->_boltGroupId2 = -1; } if (_playStampGroupId != -1) { @@ -211,7 +211,7 @@ void VoyeurEngine::playStamp() { } while (flag); } - _voy._viewBounds = nullptr; + _voy->_viewBounds = nullptr; closeStamp(); _stampLibPtr->freeBoltGroup(0); delete _stampLibPtr; @@ -429,15 +429,15 @@ void VoyeurEngine::reviewTape() { _bVoy->getBoltGroup(0x900); PictureResource *cursor = _bVoy->boltEntry(0x903)._picResource; - if ((_voy._eventCount - 8) != 0) - eventStart = MAX(_voy._eventCount - 8, 0); + if ((_voy->_eventCount - 8) != 0) + eventStart = MAX(_voy->_eventCount - 8, 0); - if ((eventStart + _voy._eventCount) <= 7) - eventLine = eventStart + _voy._eventCount - 1; + if ((eventStart + _voy->_eventCount) <= 7) + eventLine = eventStart + _voy->_eventCount - 1; bool breakFlag = false; while (!shouldQuit() && !breakFlag) { - _voy._viewBounds = _bVoy->boltEntry(0x907)._rectResource; + _voy->_viewBounds = _bVoy->boltEntry(0x907)._rectResource; Common::Array &hotspots = _bVoy->boltEntry(0x906)._rectResource->_entries; _graphicsManager._backColors = _bVoy->boltEntry(0x902)._cMapResource; @@ -470,11 +470,11 @@ void VoyeurEngine::reviewTape() { } _currentVocId = 151; - _voy._vocSecondsOffset = 0; + _voy->_vocSecondsOffset = 0; bool needRedraw = true; do { if (_currentVocId != -1 && !_soundManager.getVOCStatus()) { - _voy._musicStartTime = _voy._RTVNum; + _voy->_musicStartTime = _voy->_RTVNum; _soundManager.startVOCPlay(_currentVocId); } @@ -488,7 +488,7 @@ void VoyeurEngine::reviewTape() { int yp = 45; int eventNum = eventStart; - for (int lineNum = 0; lineNum < 8 && eventNum < _voy._eventCount; ++lineNum, ++eventNum) { + for (int lineNum = 0; lineNum < 8 && eventNum < _voy->_eventCount; ++lineNum, ++eventNum) { _graphicsManager._fontPtr->_picFlags = 0; _graphicsManager._fontPtr->_picSelect = 0xff; _graphicsManager._fontPtr->_picPick = 7; @@ -532,7 +532,7 @@ void VoyeurEngine::reviewTape() { if (tempPos.x >= 68 && tempPos.x <= 277 && tempPos.y >= 31 && tempPos.y <= 154) { tempPos.y -= 2; foundIndex = (tempPos.y - 31) / 15; - if ((tempPos.y - 31) % 15 >= 12 || (eventStart + foundIndex) >= _voy._eventCount) { + if ((tempPos.y - 31) % 15 >= 12 || (eventStart + foundIndex) >= _voy->_eventCount) { _eventsManager.setCursorColor(128, 0); foundIndex = 999; } else if (!_eventsManager._leftClick) { @@ -550,7 +550,7 @@ void VoyeurEngine::reviewTape() { int yp = 45; int eventNum = eventStart; - for (int idx = 0; idx < 8 && eventNum < _voy._eventCount; ++idx, ++eventNum) { + for (int idx = 0; idx < 8 && eventNum < _voy->_eventCount; ++idx, ++eventNum) { _graphicsManager._fontPtr->_picFlags = 0; _graphicsManager._fontPtr->_picSelect = 0xff; _graphicsManager._fontPtr->_picPick = 7; @@ -577,11 +577,11 @@ void VoyeurEngine::reviewTape() { _eventsManager.getMouseInfo(); foundIndex = -1; } - } else if ((_voy._eventFlags & EVTFLAG_40) && _voy._viewBounds->left == pt.x && - _voy._viewBounds->bottom == pt.y) { + } else if ((_voy->_eventFlags & EVTFLAG_40) && _voy->_viewBounds->left == pt.x && + _voy->_viewBounds->bottom == pt.y) { foundIndex = 999; - } else if ((_voy._eventFlags & EVTFLAG_40) && _voy._viewBounds->left == pt.x && - _voy._viewBounds->top == pt.y) { + } else if ((_voy->_eventFlags & EVTFLAG_40) && _voy->_viewBounds->left == pt.x && + _voy->_viewBounds->top == pt.y) { foundIndex = 998; } else { _eventsManager.setCursorColor(128, (foundIndex == -1) ? 0 : 1); @@ -610,7 +610,7 @@ void VoyeurEngine::reviewTape() { break; case 4: - if ((_voy._eventCount - 8) > eventStart) { + if ((_voy->_eventCount - 8) > eventStart) { ++eventStart; needRedraw = true; } @@ -618,10 +618,10 @@ void VoyeurEngine::reviewTape() { break; case 5: - if (_voy._eventCount >= 8 && (_voy._eventCount - 8) != eventStart) { + if (_voy->_eventCount >= 8 && (_voy->_eventCount - 8) != eventStart) { eventStart += 8; - if ((_voy._eventCount - 8) < eventStart) - eventStart = _voy._eventCount - 8; + if ((_voy->_eventCount - 8) < eventStart) + eventStart = _voy->_eventCount - 8; needRedraw = true; } foundIndex = -1; @@ -631,13 +631,13 @@ void VoyeurEngine::reviewTape() { break; } - while (eventLine > 0 && (eventLine + eventStart) >= _voy._eventCount) + while (eventLine > 0 && (eventLine + eventStart) >= _voy->_eventCount) --eventLine; } pt = _eventsManager.getMousePos(); - if (_eventsManager._mouseClicked && _voy._viewBounds->left == pt.x && - (_voy._eventFlags & EVTFLAG_40) && _eventsManager._rightClick) { + if (_eventsManager._mouseClicked && _voy->_viewBounds->left == pt.x && + (_voy->_eventFlags & EVTFLAG_40) && _eventsManager._rightClick) { _controlPtr->_state->_victimIndex = (pt.y / 60) + 1; foundIndex = -1; _eventsManager._rightClick = 0; @@ -649,12 +649,12 @@ void VoyeurEngine::reviewTape() { } while (!shouldQuit() && (!_eventsManager._mouseClicked || foundIndex == -1)); newY = _eventsManager.getMousePos().y; - _voy._fadingType = 0; - _voy._viewBounds = nullptr; + _voy->_fadingType = 0; + _voy->_viewBounds = nullptr; (*_graphicsManager._vPort)->setupViewPort(NULL); if (_currentVocId != -1) { - _voy._vocSecondsOffset = _voy._RTVNum - _voy._musicStartTime; + _voy->_vocSecondsOffset = _voy->_RTVNum - _voy->_musicStartTime; _soundManager.stopVOCPlay(); } @@ -663,7 +663,7 @@ void VoyeurEngine::reviewTape() { break; int eventIndex = eventStart + eventLine; - VoyeurEvent &e = _voy._events[eventIndex]; + VoyeurEvent &e = _voy->_events[eventIndex]; switch (e._type) { case EVTYPE_VIDEO: playAVideoEvent(eventIndex); @@ -671,7 +671,7 @@ void VoyeurEngine::reviewTape() { case EVTYPE_AUDIO: { _audioVideoId = e._audioVideoId; - _voy._vocSecondsOffset = e._computerOn; + _voy->_vocSecondsOffset = e._computerOn; _bVoy->getBoltGroup(0x7F00); _graphicsManager._backgroundPage = _bVoy->boltEntry(0x7F00 + @@ -685,10 +685,10 @@ void VoyeurEngine::reviewTape() { _eventsManager._intPtr._flashStep = 1; _eventsManager._intPtr._flashTimer = 0; - _voy._eventFlags &= ~EVTFLAG_TIME_DISABLED; + _voy->_eventFlags &= ~EVTFLAG_TIME_DISABLED; // Play suond for the given duration - _soundManager.setVOCOffset(_voy._vocSecondsOffset); + _soundManager.setVOCOffset(_voy->_vocSecondsOffset); _soundManager.startVOCPlay(_audioVideoId + 159); uint32 secondsDuration = e._computerOff; @@ -699,24 +699,24 @@ void VoyeurEngine::reviewTape() { _eventsManager.delay(10); } - _voy._eventFlags |= EVTFLAG_TIME_DISABLED; + _voy->_eventFlags |= EVTFLAG_TIME_DISABLED; _soundManager.stopVOCPlay(); _bVoy->freeBoltGroup(0x7F00); break; } case EVTYPE_EVID: - _voy.reviewAnEvidEvent(eventIndex); + _voy->reviewAnEvidEvent(eventIndex); - _voy._vocSecondsOffset = _voy._RTVNum - _voy._musicStartTime; + _voy->_vocSecondsOffset = _voy->_RTVNum - _voy->_musicStartTime; _soundManager.stopVOCPlay(); _bVoy->getBoltGroup(0x900); break; case EVTYPE_COMPUTER: - _voy.reviewComputerEvent(eventIndex); + _voy->reviewComputerEvent(eventIndex); - _voy._vocSecondsOffset = _voy._RTVNum - _voy._musicStartTime; + _voy->_vocSecondsOffset = _voy->_RTVNum - _voy->_musicStartTime; _soundManager.stopVOCPlay(); _bVoy->getBoltGroup(0x900); break; @@ -809,8 +809,8 @@ void VoyeurEngine::doTapePlaying() { bool VoyeurEngine::checkForMurder() { int oldMurderIndex = _controlPtr->_state->_victimMurderIndex; - for (int idx = 0; idx < _voy._eventCount; ++idx) { - VoyeurEvent &evt = _voy._events[idx]; + for (int idx = 0; idx < _voy->_eventCount; ++idx) { + VoyeurEvent &evt = _voy->_events[idx]; if (evt._type == EVTYPE_VIDEO) { switch (_controlPtr->_state->_victimIndex) { @@ -848,70 +848,70 @@ bool VoyeurEngine::checkForMurder() { } if (_controlPtr->_state->_victimMurderIndex == _controlPtr->_state->_victimIndex) { - _voy._videoEventId = idx; + _voy->_videoEventId = idx; return true; } } _controlPtr->_state->_victimMurderIndex = oldMurderIndex; - _voy._videoEventId = -1; + _voy->_videoEventId = -1; return false; } bool VoyeurEngine::checkForIncriminate() { - _voy._incriminatedVictimNumber = 0; + _voy->_incriminatedVictimNumber = 0; - for (int idx = 0; idx < _voy._eventCount; ++idx) { - VoyeurEvent &evt = _voy._events[idx]; + for (int idx = 0; idx < _voy->_eventCount; ++idx) { + VoyeurEvent &evt = _voy->_events[idx]; if (evt._type == EVTYPE_VIDEO) { if (evt._audioVideoId == 44 && evt._computerOn <= 40 && (evt._computerOff + evt._computerOn) >= 70) { - _voy._incriminatedVictimNumber = 1; + _voy->_incriminatedVictimNumber = 1; } if (evt._audioVideoId == 44 && evt._computerOn <= 79 && (evt._computerOff + evt._computerOn) >= 129) { - _voy._incriminatedVictimNumber = 1; + _voy->_incriminatedVictimNumber = 1; } if (evt._audioVideoId == 20 && evt._computerOn <= 28 && (evt._computerOff + evt._computerOn) >= 45) { - _voy._incriminatedVictimNumber = 2; + _voy->_incriminatedVictimNumber = 2; } if (evt._audioVideoId == 35 && evt._computerOn <= 17 && (evt._computerOff + evt._computerOn) >= 36) { - _voy._incriminatedVictimNumber = 3; + _voy->_incriminatedVictimNumber = 3; } if (evt._audioVideoId == 30 && evt._computerOn <= 80 && (evt._computerOff + evt._computerOn) >= 139) { - _voy._incriminatedVictimNumber = 4; + _voy->_incriminatedVictimNumber = 4; } } - if (_voy._incriminatedVictimNumber) { + if (_voy->_incriminatedVictimNumber) { _controlPtr->_state->_victimMurderIndex = 88; - _voy._videoEventId = idx; + _voy->_videoEventId = idx; return true; } } - _voy._videoEventId = -1; + _voy->_videoEventId = -1; return false; } void VoyeurEngine::playAVideoEvent(int eventIndex) { - VoyeurEvent &evt = _voy._events[eventIndex]; + VoyeurEvent &evt = _voy->_events[eventIndex]; _audioVideoId = evt._audioVideoId; - _voy._vocSecondsOffset = evt._computerOn; + _voy->_vocSecondsOffset = evt._computerOn; _eventsManager._videoDead = evt._dead; - _voy._eventFlags &= ~EVTFLAG_TIME_DISABLED; + _voy->_eventFlags &= ~EVTFLAG_TIME_DISABLED; playAVideoDuration(_audioVideoId, evt._computerOff); - _voy._eventFlags |= EVTFLAG_TIME_DISABLED; + _voy->_eventFlags |= EVTFLAG_TIME_DISABLED; if (_eventsManager._videoDead != -1) { _bVoy->freeBoltGroup(0xE00); _eventsManager._videoDead = -1; @@ -938,7 +938,7 @@ int VoyeurEngine::getChooseButton() { _graphicsManager._backColors->startFade(); flipPageAndWait(); - _voy._viewBounds = _bVoy->boltEntry(_playStampGroupId + 7)._rectResource; + _voy->_viewBounds = _bVoy->boltEntry(_playStampGroupId + 7)._rectResource; PictureResource *cursorPic = _bVoy->boltEntry(_playStampGroupId + 2)._picResource; do { @@ -952,7 +952,7 @@ int VoyeurEngine::getChooseButton() { for (uint idx = 0; idx < hotspots.size(); ++idx) { if (hotspots[idx].contains(pt)) { - if (!_voy._victimMurdered || ((int)idx + 1) != _controlPtr->_state->_victimIndex) { + if (!_voy->_victimMurdered || ((int)idx + 1) != _controlPtr->_state->_victimIndex) { selectedIndex = idx; if (selectedIndex != prevIndex) { PictureResource *btnPic = _bVoy->boltEntry(_playStampGroupId + 8 + idx)._picResource; @@ -989,7 +989,7 @@ void VoyeurEngine::makeViewFinder() { CMapResource *pal = _bVoy->boltEntry(0x104)._cMapResource; int palOffset = 0; - switch (_voy._transitionId) { + switch (_voy->_transitionId) { case 1: case 2: case 5: @@ -1037,7 +1037,7 @@ void VoyeurEngine::makeViewFinderP() { void VoyeurEngine::initIFace() { int playStamp1 = _playStampGroupId; - switch (_voy._transitionId) { + switch (_voy->_transitionId) { case 0: break; case 1: @@ -1068,7 +1068,7 @@ void VoyeurEngine::initIFace() { (MANSION_MAX_Y - MANSION_VIEW_HEIGHT) / 2); doScroll(_mansionViewPos); - _voy._viewBounds = _bVoy->boltEntry(_playStampGroupId)._rectResource; + _voy->_viewBounds = _bVoy->boltEntry(_playStampGroupId)._rectResource; // Show the cursor using ScummVM functionality _eventsManager.showCursor(); @@ -1083,7 +1083,7 @@ void VoyeurEngine::doScroll(const Common::Point &pt) { (*_graphicsManager._vPort)->setupViewPort(NULL, &clipRect); int base = 0; - switch (_voy._transitionId) { + switch (_voy->_transitionId) { case 0: break; case 1: @@ -1121,7 +1121,7 @@ void VoyeurEngine::doScroll(const Common::Point &pt) { void VoyeurEngine::checkTransition() { Common::String time, day; - if (_voy._transitionId != _checkTransitionId) { + if (_voy->_transitionId != _checkTransitionId) { // Get the day day = getDayName(); @@ -1137,12 +1137,12 @@ void VoyeurEngine::checkTransition() { _eventsManager.delayClick(180); } - _checkTransitionId = _voy._transitionId; + _checkTransitionId = _voy->_transitionId; } } Common::String VoyeurEngine::getDayName() { - switch (_voy._transitionId) { + switch (_voy->_transitionId) { case 0: return ""; case 1: @@ -1158,10 +1158,10 @@ Common::String VoyeurEngine::getDayName() { } Common::String VoyeurEngine::getTimeOfDay() { - if (_voy._transitionId == 17) + if (_voy->_transitionId == 17) return ""; - return Common::String::format("%d:%02d%s", _gameHour, _gameMinute, _voy._isAM ? AM : PM); + return Common::String::format("%d:%02d%s", _gameHour, _gameMinute, _voy->_isAM ? AM : PM); } int VoyeurEngine::doComputerText(int maxLen) { @@ -1172,10 +1172,10 @@ int VoyeurEngine::doComputerText(int maxLen) { font._foreColor = 129; font._fontSaveBack = false; font._fontFlags = 0; - if (_voy._vocSecondsOffset > 60) - _voy._vocSecondsOffset = 0; + if (_voy->_vocSecondsOffset > 60) + _voy->_vocSecondsOffset = 0; - if (_voy._RTVNum > _voy._computerTimeMax && maxLen == 9999) { + if (_voy->_RTVNum > _voy->_computerTimeMax && maxLen == 9999) { if (_currentVocId != -1) _soundManager.startVOCPlay(_currentVocId); font._justify = ALIGN_LEFT; @@ -1183,7 +1183,7 @@ int VoyeurEngine::doComputerText(int maxLen) { font._justifyHeight = 100; font._pos = Common::Point(128, 100); (*_graphicsManager._vPort)->drawText(END_OF_MESSAGE); - } else if (_voy._RTVNum < _voy._computerTimeMin && maxLen == 9999) { + } else if (_voy->_RTVNum < _voy->_computerTimeMin && maxLen == 9999) { if (_currentVocId != -1) _soundManager.startVOCPlay(_currentVocId); font._justify = ALIGN_LEFT; @@ -1192,15 +1192,15 @@ int VoyeurEngine::doComputerText(int maxLen) { font._pos = Common::Point(120, 100); (*_graphicsManager._vPort)->drawText(START_OF_MESSAGE); } else { - char *msg = (char *)_bVoy->memberAddr(0x4900 + _voy._computerTextId); + char *msg = (char *)_bVoy->memberAddr(0x4900 + _voy->_computerTextId); font._pos = Common::Point(96, 60); bool showEnd = true; int yp = 60; do { if (_currentVocId != -1 && !_soundManager.getVOCStatus()) { - if (_voy._vocSecondsOffset > 60) - _voy._vocSecondsOffset = 0; + if (_voy->_vocSecondsOffset > 60) + _voy->_vocSecondsOffset = 0; _soundManager.startVOCPlay(_currentVocId); } @@ -1248,7 +1248,7 @@ int VoyeurEngine::doComputerText(int maxLen) { } while (!shouldQuit() && !_eventsManager._mouseClicked && totalChars < maxLen); - _voy._computerTimeMax = 0; + _voy->_computerTimeMax = 0; } flipPageAndWait(); @@ -1273,12 +1273,12 @@ void VoyeurEngine::getComputerBrush() { void VoyeurEngine::doTimeBar() { flashTimeBar(); - if (_voy._RTVLimit > 0) { - if (_voy._RTVNum > _voy._RTVLimit || _voy._RTVNum < 0) - _voy._RTVNum = _voy._RTVLimit - 1; + if (_voy->_RTVLimit > 0) { + if (_voy->_RTVNum > _voy->_RTVLimit || _voy->_RTVNum < 0) + _voy->_RTVNum = _voy->_RTVLimit - 1; - _timeBarVal = _voy._RTVNum; - int height = ((_voy._RTVLimit - _voy._RTVNum) * 59) / _voy._RTVLimit; + _timeBarVal = _voy->_RTVNum; + int height = ((_voy->_RTVLimit - _voy->_RTVNum) * 59) / _voy->_RTVLimit; int fullHeight = MAX(151 - height, 93); _graphicsManager._drawPtr->_penColor = 134; @@ -1297,7 +1297,7 @@ void VoyeurEngine::doTimeBar() { } void VoyeurEngine::flashTimeBar() { - if (_voy._RTVNum >= 0 && (_voy._RTVLimit - _voy._RTVNum) < 11 && + if (_voy->_RTVNum >= 0 && (_voy->_RTVLimit - _voy->_RTVNum) < 11 && (_eventsManager._intPtr._flashTimer >= (_flashTimeVal + 15) || _eventsManager._intPtr._flashTimer < _flashTimeVal)) { // Within camera low power range @@ -1314,21 +1314,21 @@ void VoyeurEngine::flashTimeBar() { } void VoyeurEngine::checkPhoneCall() { - if ((_voy._RTVLimit - _voy._RTVNum) >= 36 && _voy._totalPhoneCalls < 5 && + if ((_voy->_RTVLimit - _voy->_RTVNum) >= 36 && _voy->_totalPhoneCalls < 5 && _currentVocId <= 151 && _currentVocId > 146) { - if ((_voy._switchBGNum < _checkPhoneVal || _checkPhoneVal > 180) && + if ((_voy->_switchBGNum < _checkPhoneVal || _checkPhoneVal > 180) && !_soundManager.getVOCStatus()) { int soundIndex; do { soundIndex = getRandomNumber(4); - } while (_voy._phoneCallsReceived[soundIndex]); + } while (_voy->_phoneCallsReceived[soundIndex]); _currentVocId = 154 + soundIndex; _soundManager.stopVOCPlay(); _soundManager.startVOCPlay(_currentVocId); - _checkPhoneVal = _voy._switchBGNum; - _voy._phoneCallsReceived[soundIndex] = true; - ++_voy._totalPhoneCalls; + _checkPhoneVal = _voy->_switchBGNum; + _voy->_phoneCallsReceived[soundIndex] = true; + ++_voy->_totalPhoneCalls; } } } @@ -1338,31 +1338,31 @@ void VoyeurEngine::doEvidDisplay(int evidId, int eventId) { flipPageAndWait(); if (_currentVocId != -1) { - _voy._vocSecondsOffset = _voy._RTVNum - _voy._musicStartTime; + _voy->_vocSecondsOffset = _voy->_RTVNum - _voy->_musicStartTime; _soundManager.stopVOCPlay(); } - _bVoy->getBoltGroup(_voy._boltGroupId2); - PictureResource *pic = _bVoy->boltEntry(_voy._boltGroupId2 + evidId * 2)._picResource; + _bVoy->getBoltGroup(_voy->_boltGroupId2); + PictureResource *pic = _bVoy->boltEntry(_voy->_boltGroupId2 + evidId * 2)._picResource; _graphicsManager.sDrawPic(pic, *_graphicsManager._vPort, Common::Point( (384 - pic->_bounds.width()) / 2, (240 - pic->_bounds.height()) / 2)); - _bVoy->freeBoltMember(_voy._boltGroupId2 + evidId * 2); + _bVoy->freeBoltMember(_voy->_boltGroupId2 + evidId * 2); - CMapResource *pal = _bVoy->boltEntry(_voy._boltGroupId2 + evidId * 2 + 1)._cMapResource; + CMapResource *pal = _bVoy->boltEntry(_voy->_boltGroupId2 + evidId * 2 + 1)._cMapResource; pal->startFade(); while (!shouldQuit() && (_eventsManager._fadeStatus & 1)) _eventsManager.delay(1); - _bVoy->freeBoltMember(_voy._boltGroupId2 + evidId * 2 + 1); + _bVoy->freeBoltMember(_voy->_boltGroupId2 + evidId * 2 + 1); Common::Array &hotspots = _bVoy->boltEntry(_playStampGroupId + 4)._rectResource->_entries; int count = hotspots[evidId]._count; if (count > 0) { for (int idx = 1; idx <= count; ++idx) { - _voy._evPicPtrs[idx - 1] = _bVoy->boltEntry(_voy._boltGroupId2 + + _voy->_evPicPtrs[idx - 1] = _bVoy->boltEntry(_voy->_boltGroupId2 + (evidId + idx) * 2)._picResource; - _voy._evCmPtrs[idx - 1] = _bVoy->boltEntry(_voy._boltGroupId2 + + _voy->_evCmPtrs[idx - 1] = _bVoy->boltEntry(_voy->_boltGroupId2 + (evidId + idx) * 2 + 1)._cMapResource; } } @@ -1371,7 +1371,7 @@ void VoyeurEngine::doEvidDisplay(int evidId, int eventId) { _eventsManager.stopEvidDim(); if (eventId == 999) - _voy.addEvidEventStart(evidId); + _voy->addEvidEventStart(evidId); _eventsManager.getMouseInfo(); @@ -1382,8 +1382,8 @@ void VoyeurEngine::doEvidDisplay(int evidId, int eventId) { _voyeurArea = AREA_EVIDENCE; if (_currentVocId != -1 && !_soundManager.getVOCStatus()) { - if (_voy._vocSecondsOffset > 60) - _voy._vocSecondsOffset = 0; + if (_voy->_vocSecondsOffset > 60) + _voy->_vocSecondsOffset = 0; _soundManager.startVOCPlay(_currentVocId); } @@ -1394,11 +1394,11 @@ void VoyeurEngine::doEvidDisplay(int evidId, int eventId) { if (count == 0 || evidIdx >= eventId) continue; - pic = _voy._evPicPtrs[arrIndex]; + pic = _voy->_evPicPtrs[arrIndex]; _graphicsManager.sDrawPic(pic, *_graphicsManager._vPort, Common::Point((384 - pic->_bounds.width()) / 2, (240 - pic->_bounds.height()) / 2)); - _voy._evCmPtrs[arrIndex]->startFade(); + _voy->_evCmPtrs[arrIndex]->startFade(); while (!shouldQuit() && (_eventsManager._fadeStatus & 1)) _eventsManager.delay(1); @@ -1411,11 +1411,11 @@ void VoyeurEngine::doEvidDisplay(int evidId, int eventId) { } if (eventId == 999) - _voy.addEvidEventEnd(evidIdx); + _voy->addEvidEventEnd(evidIdx); for (int idx = 1; idx <= hotspots[evidId]._count; ++idx) { - _bVoy->freeBoltMember(_voy._boltGroupId2 + (evidId + idx) * 2); - _bVoy->freeBoltMember(_voy._boltGroupId2 + (evidId + idx) * 2 + 1); + _bVoy->freeBoltMember(_voy->_boltGroupId2 + (evidId + idx) * 2); + _bVoy->freeBoltMember(_voy->_boltGroupId2 + (evidId + idx) * 2 + 1); } } -- cgit v1.2.3 From 8215f598612a61e472ec56db0f93fb43908a1348 Mon Sep 17 00:00:00 2001 From: Strangerke Date: Wed, 26 Feb 2014 22:54:13 +0100 Subject: VOYEUR: Remove setVm from Debugger --- engines/voyeur/debugger.cpp | 2 +- engines/voyeur/debugger.h | 4 +--- engines/voyeur/events.cpp | 12 ++++++------ engines/voyeur/files_threads.cpp | 2 +- engines/voyeur/voyeur.cpp | 4 +++- engines/voyeur/voyeur.h | 2 +- 6 files changed, 13 insertions(+), 13 deletions(-) diff --git a/engines/voyeur/debugger.cpp b/engines/voyeur/debugger.cpp index f5453210b9..fdd0825181 100644 --- a/engines/voyeur/debugger.cpp +++ b/engines/voyeur/debugger.cpp @@ -27,7 +27,7 @@ namespace Voyeur { -Debugger::Debugger() : GUI::Debugger() { +Debugger::Debugger(VoyeurEngine *vm) : GUI::Debugger(), _vm(vm) { // Register methods DCmd_Register("continue", WRAP_METHOD(Debugger, Cmd_Exit)); DCmd_Register("exit", WRAP_METHOD(Debugger, Cmd_Exit)); diff --git a/engines/voyeur/debugger.h b/engines/voyeur/debugger.h index 0edf04eac4..12d62c51a1 100644 --- a/engines/voyeur/debugger.h +++ b/engines/voyeur/debugger.h @@ -61,10 +61,8 @@ protected: */ bool Cmd_Mouse(int argc, const char **argv); public: - Debugger(); + Debugger(VoyeurEngine *vm); virtual ~Debugger() {} - void setVm(VoyeurEngine *vm) { _vm = vm; } - }; } // End of namespace Voyeur diff --git a/engines/voyeur/events.cpp b/engines/voyeur/events.cpp index c438883509..ea726ac0ff 100644 --- a/engines/voyeur/events.cpp +++ b/engines/voyeur/events.cpp @@ -96,7 +96,7 @@ void EventsManager::mainVoyeurIntFunc() { if (!(_vm->_voy->_eventFlags & EVTFLAG_TIME_DISABLED)) { ++_vm->_voy->_switchBGNum; - if (_vm->_debugger._isTimeActive) { + if (_vm->_debugger->_isTimeActive) { // Increase camera discharge ++_vm->_voy->_RTVNum; @@ -149,10 +149,10 @@ void EventsManager::checkForNextFrameCounter() { mainVoyeurIntFunc(); // Give time to the debugger - _vm->_debugger.onFrame(); + _vm->_debugger->onFrame(); // If mouse position display is on, display the position - if (_vm->_debugger._showMousePosition) + if (_vm->_debugger->_showMousePosition) showMousePosition(); // Display the frame @@ -161,7 +161,7 @@ void EventsManager::checkForNextFrameCounter() { g_system->updateScreen(); // Signal the ScummVM debugger - _vm->_debugger.onFrame(); + _vm->_debugger->onFrame(); } } @@ -263,8 +263,8 @@ void EventsManager::pollEvents() { // Check for debugger if (event.kbd.keycode == Common::KEYCODE_d && (event.kbd.flags & Common::KBD_CTRL)) { // Attach to the debugger - _vm->_debugger.attach(); - _vm->_debugger.onFrame(); + _vm->_debugger->attach(); + _vm->_debugger->onFrame(); } return; case Common::EVENT_LBUTTONDOWN: diff --git a/engines/voyeur/files_threads.cpp b/engines/voyeur/files_threads.cpp index 2c3b5f2454..7e776cef8f 100644 --- a/engines/voyeur/files_threads.cpp +++ b/engines/voyeur/files_threads.cpp @@ -1299,7 +1299,7 @@ int ThreadResource::doInterface() { if (_vm->_voy->_RTVNum >= _vm->_voy->_RTVLimit || _vm->_voy->_RTVNum < 0) _vm->_voy->_RTVNum = _vm->_voy->_RTVLimit - 1; - if (_vm->_voy->_transitionId < 15 && _vm->_debugger._isTimeActive && + if (_vm->_voy->_transitionId < 15 && _vm->_debugger->_isTimeActive && (_vm->_voy->_RTVLimit - 3) < _vm->_voy->_RTVNum) { _vm->_voy->_RTVNum = _vm->_voy->_RTVLimit; _vm->makeViewFinder(); diff --git a/engines/voyeur/voyeur.cpp b/engines/voyeur/voyeur.cpp index abb539f883..b1ead5a8c4 100644 --- a/engines/voyeur/voyeur.cpp +++ b/engines/voyeur/voyeur.cpp @@ -40,6 +40,7 @@ VoyeurEngine::VoyeurEngine(OSystem *syst, const VoyeurGameDescription *gameDesc) _defaultFontInfo(3, 0xff, 0xff, 0, 0, ALIGN_LEFT, 0, Common::Point(), 1, 1, Common::Point(1, 1), 1, 0, 0) { _voy = nullptr; + _debugger = nullptr; _bVoy = NULL; _iForceDeath = ConfMan.getInt("boot_param"); @@ -68,6 +69,7 @@ VoyeurEngine::VoyeurEngine(OSystem *syst, const VoyeurGameDescription *gameDesc) VoyeurEngine::~VoyeurEngine() { delete _bVoy; delete _voy; + delete _debugger; } Common::Error VoyeurEngine::run() { @@ -94,11 +96,11 @@ int VoyeurEngine::getRandomNumber(int maxNumber) { } void VoyeurEngine::initializeManagers() { - _debugger.setVm(this); _eventsManager.setVm(this); _filesManager.setVm(this); _graphicsManager.setVm(this); _soundManager.setVm(this); + _debugger = new Debugger(this); _voy = new SVoy(this); } diff --git a/engines/voyeur/voyeur.h b/engines/voyeur/voyeur.h index 032ef24996..b7fcad49f4 100644 --- a/engines/voyeur/voyeur.h +++ b/engines/voyeur/voyeur.h @@ -157,7 +157,7 @@ protected: virtual bool hasFeature(EngineFeature f) const; public: BoltFile *_bVoy; - Debugger _debugger; + Debugger *_debugger; EventsManager _eventsManager; FilesManager _filesManager; GraphicsManager _graphicsManager; -- cgit v1.2.3 From d04667e58a889e4744f36fb5797a69fa437a1abf Mon Sep 17 00:00:00 2001 From: Matthew Hoops Date: Wed, 26 Feb 2014 21:56:40 -0500 Subject: PEGASUS: Fix being able to use the inventory from the pause screen Somehow, I completely missed implementing this function! --- engines/pegasus/pegasus.cpp | 9 +++++++++ engines/pegasus/pegasus.h | 1 + 2 files changed, 10 insertions(+) diff --git a/engines/pegasus/pegasus.cpp b/engines/pegasus/pegasus.cpp index c45053dfed..c5edd34a01 100644 --- a/engines/pegasus/pegasus.cpp +++ b/engines/pegasus/pegasus.cpp @@ -1462,6 +1462,15 @@ void PegasusEngine::throwAwayEverything() { g_interface = 0; } +InputBits PegasusEngine::getInputFilter() { + InputBits filter = InputHandler::getInputFilter(); + + if (isPaused()) + return filter & ~JMPPPInput::getItemPanelsInputFilter(); + + return filter; +} + void PegasusEngine::processShell() { checkCallBacks(); checkNotifications(); diff --git a/engines/pegasus/pegasus.h b/engines/pegasus/pegasus.h index 59637e38df..fb66eb7586 100644 --- a/engines/pegasus/pegasus.h +++ b/engines/pegasus/pegasus.h @@ -272,6 +272,7 @@ private: uint getNeighborhoodCD(const NeighborhoodID neighborhood) const; uint _currentCD; void initKeymap(); + InputBits getInputFilter(); // Menu GameMenu *_gameMenu; -- cgit v1.2.3 From 9278ec342caf1c47ca5882103bb587ec40ab93e6 Mon Sep 17 00:00:00 2001 From: Strangerke Date: Thu, 27 Feb 2014 07:12:10 +0100 Subject: VOYEUR: Remove setVm from SoundManager --- engines/voyeur/files_threads.cpp | 38 +++++++++++++------------- engines/voyeur/sound.cpp | 2 +- engines/voyeur/sound.h | 3 +-- engines/voyeur/voyeur.cpp | 34 ++++++++++++----------- engines/voyeur/voyeur.h | 2 +- engines/voyeur/voyeur_game.cpp | 58 ++++++++++++++++++++-------------------- 6 files changed, 69 insertions(+), 68 deletions(-) diff --git a/engines/voyeur/files_threads.cpp b/engines/voyeur/files_threads.cpp index 7e776cef8f..b03e9ac99c 100644 --- a/engines/voyeur/files_threads.cpp +++ b/engines/voyeur/files_threads.cpp @@ -451,7 +451,7 @@ void ThreadResource::parsePlayCommands() { parseIndex = 999; } else { int count = _vm->_bVoy->getBoltGroup(_vm->_playStampGroupId)->_entries.size() / 2; - _vm->_soundManager.stopVOCPlay(); + _vm->_soundManager->stopVOCPlay(); _vm->_eventsManager.getMouseInfo(); for (int i = 0; i < count; ++i) { @@ -469,15 +469,15 @@ void ThreadResource::parsePlayCommands() { } Common::String file = Common::String::format("news%d.voc", i + 1); - _vm->_soundManager.startVOCPlay(file); + _vm->_soundManager->startVOCPlay(file); while (!_vm->shouldQuit() && !_vm->_eventsManager._mouseClicked && - _vm->_soundManager.getVOCStatus()) { + _vm->_soundManager->getVOCStatus()) { _vm->_eventsManager.delayClick(1); _vm->_eventsManager.getMouseInfo(); } - _vm->_soundManager.stopVOCPlay(); + _vm->_soundManager->stopVOCPlay(); if (i == (count - 1)) _vm->_eventsManager.delayClick(480); @@ -974,7 +974,7 @@ int ThreadResource::doApt() { } _vm->_eventsManager.setMousePos(Common::Point(_aptPos.x, _aptPos.y)); - _vm->_soundManager.startVOCPlay(_vm->_soundManager.getVOCFileName(_vm->_currentVocId)); + _vm->_soundManager->startVOCPlay(_vm->_soundManager->getVOCFileName(_vm->_currentVocId)); _vm->_currentVocId = 151; _vm->_graphicsManager.setColor(129, 82, 82, 82); @@ -1001,10 +1001,10 @@ int ThreadResource::doApt() { } _vm->_eventsManager.getMouseInfo(); - if (!_vm->_soundManager.getVOCStatus()) { + if (!_vm->_soundManager->getVOCStatus()) { // Previous sound ended, so start up a new one _vm->_currentVocId = 151 - _vm->getRandomNumber(4); - _vm->_soundManager.startVOCPlay(_vm->_soundManager.getVOCFileName(_vm->_currentVocId)); + _vm->_soundManager->startVOCPlay(_vm->_soundManager->getVOCFileName(_vm->_currentVocId)); } // Loop through the hotspot list @@ -1124,7 +1124,7 @@ void ThreadResource::doRoom() { voy._musicStartTime = voy._RTVNum; voy._vocSecondsOffset = 0; - vm._soundManager.startVOCPlay(vm._currentVocId); + vm._soundManager->startVOCPlay(vm._currentVocId); voy._eventFlags &= ~EVTFLAG_TIME_DISABLED; bool breakFlag = false; @@ -1134,10 +1134,10 @@ void ThreadResource::doRoom() { vm._eventsManager._intPtr._hasPalette = true; do { - if (vm._currentVocId != -1 && !vm._soundManager.getVOCStatus()) { + if (vm._currentVocId != -1 && !vm._soundManager->getVOCStatus()) { voy._musicStartTime = voy._RTVNum; voy._vocSecondsOffset = 0; - vm._soundManager.startVOCPlay(vm._currentVocId); + vm._soundManager->startVOCPlay(vm._currentVocId); } vm._eventsManager.getMouseInfo(); @@ -1192,7 +1192,7 @@ void ThreadResource::doRoom() { if (vm._currentVocId != -1) { voy._vocSecondsOffset = voy._RTVNum - voy._musicStartTime; - vm._soundManager.stopVOCPlay(); + vm._soundManager->stopVOCPlay(); } vm.getComputerBrush(); @@ -1273,7 +1273,7 @@ void ThreadResource::doRoom() { } if (vm._currentVocId != -1) { - vm._soundManager.stopVOCPlay(); + vm._soundManager->stopVOCPlay(); vm._currentVocId = -1; } @@ -1328,8 +1328,8 @@ int ThreadResource::doInterface() { _vm->_currentVocId = 151 - _vm->getRandomNumber(5); _vm->_voy->_vocSecondsOffset = _vm->getRandomNumber(29); - Common::String fname = _vm->_soundManager.getVOCFileName(_vm->_currentVocId); - _vm->_soundManager.startVOCPlay(fname); + Common::String fname = _vm->_soundManager->getVOCFileName(_vm->_currentVocId); + _vm->_soundManager->startVOCPlay(fname); _vm->_eventsManager.getMouseInfo(); _vm->_graphicsManager.setColor(240, 220, 220, 220); @@ -1358,9 +1358,9 @@ int ThreadResource::doInterface() { _vm->doScroll(_vm->_mansionViewPos); _vm->checkPhoneCall(); - if (!_vm->_soundManager.getVOCStatus()) { + if (!_vm->_soundManager->getVOCStatus()) { _vm->_currentVocId = 151 - _vm->getRandomNumber(5); - _vm->_soundManager.startVOCPlay(_vm->_soundManager.getVOCFileName(_vm->_currentVocId)); + _vm->_soundManager->startVOCPlay(_vm->_soundManager->getVOCFileName(_vm->_currentVocId)); } // Calculate the mouse position within the entire mansion @@ -1436,7 +1436,7 @@ int ThreadResource::doInterface() { if (_vm->_voy->_transitionId == 15) { regionIndex = 20; _vm->_voy->_transitionId = 17; - _vm->_soundManager.stopVOCPlay(); + _vm->_soundManager->stopVOCPlay(); _vm->checkTransition(); _vm->_eventsManager._leftClick = true; } else { @@ -1464,7 +1464,7 @@ int ThreadResource::doInterface() { _vm->_voy->_eventFlags |= EVTFLAG_TIME_DISABLED; _vm->_bVoy->freeBoltGroup(_vm->_playStampGroupId); if (_vm->_currentVocId != -1) - _vm->_soundManager.stopVOCPlay(); + _vm->_soundManager->stopVOCPlay(); return !_vm->_eventsManager._rightClick ? regionIndex : -2; } @@ -1610,7 +1610,7 @@ void ThreadResource::freeTheApt() { _vm->_graphicsManager.fadeUpICF1(); if (_vm->_currentVocId != -1) { - _vm->_soundManager.stopVOCPlay(); + _vm->_soundManager->stopVOCPlay(); _vm->_currentVocId = -1; } diff --git a/engines/voyeur/sound.cpp b/engines/voyeur/sound.cpp index 30780c34f4..ae10b2d4d9 100644 --- a/engines/voyeur/sound.cpp +++ b/engines/voyeur/sound.cpp @@ -28,7 +28,7 @@ namespace Voyeur { -SoundManager::SoundManager(Audio::Mixer *mixer) { + SoundManager::SoundManager(VoyeurEngine *vm, Audio::Mixer *mixer) : _vm(vm) { _mixer = mixer; _vocOffset = 0; } diff --git a/engines/voyeur/sound.h b/engines/voyeur/sound.h index d2845bb69f..fc2d3047eb 100644 --- a/engines/voyeur/sound.h +++ b/engines/voyeur/sound.h @@ -38,8 +38,7 @@ private: Audio::SoundHandle _soundHandle; int _vocOffset; public: - SoundManager(Audio::Mixer *mixer); - void setVm(VoyeurEngine *vm) { _vm = vm; } + SoundManager(VoyeurEngine *vm, Audio::Mixer *mixer); void playVOCMap(byte *voc, int vocSize); void stopVOCPlay(); diff --git a/engines/voyeur/voyeur.cpp b/engines/voyeur/voyeur.cpp index b1ead5a8c4..f6a192e699 100644 --- a/engines/voyeur/voyeur.cpp +++ b/engines/voyeur/voyeur.cpp @@ -36,11 +36,12 @@ namespace Voyeur { VoyeurEngine *g_vm; VoyeurEngine::VoyeurEngine(OSystem *syst, const VoyeurGameDescription *gameDesc) : Engine(syst), - _gameDescription(gameDesc), _randomSource("Voyeur"), _soundManager(_mixer), + _gameDescription(gameDesc), _randomSource("Voyeur"), _defaultFontInfo(3, 0xff, 0xff, 0, 0, ALIGN_LEFT, 0, Common::Point(), 1, 1, Common::Point(1, 1), 1, 0, 0) { - _voy = nullptr; _debugger = nullptr; + _soundManager = nullptr; + _voy = nullptr; _bVoy = NULL; _iForceDeath = ConfMan.getInt("boot_param"); @@ -69,6 +70,7 @@ VoyeurEngine::VoyeurEngine(OSystem *syst, const VoyeurGameDescription *gameDesc) VoyeurEngine::~VoyeurEngine() { delete _bVoy; delete _voy; + delete _soundManager; delete _debugger; } @@ -99,8 +101,8 @@ void VoyeurEngine::initializeManagers() { _eventsManager.setVm(this); _filesManager.setVm(this); _graphicsManager.setVm(this); - _soundManager.setVm(this); _debugger = new Debugger(this); + _soundManager = new SoundManager(this, _mixer); _voy = new SVoy(this); } @@ -323,10 +325,10 @@ bool VoyeurEngine::doLock() { _eventsManager._mouseClicked = false; } while (!shouldQuit() && key == -1); - _soundManager.abortVOCMap(); - _soundManager.playVOCMap(buttonVoc, buttonVocSize); + _soundManager->abortVOCMap(); + _soundManager->playVOCMap(buttonVoc, buttonVocSize); - while (_soundManager.getVOCStatus()) { + while (_soundManager->getVOCStatus()) { if (shouldQuit()) break; _eventsManager.delay(1); @@ -371,7 +373,7 @@ bool VoyeurEngine::doLock() { continue; } - _soundManager.playVOCMap(wrongVoc, wrongVocSize); + _soundManager->playVOCMap(wrongVoc, wrongVocSize); } _graphicsManager.fillPic(*_graphicsManager._vPort); @@ -609,19 +611,19 @@ void VoyeurEngine::playAudio(int audioId) { flipPageAndWaitForFade(); _voy->_eventFlags &= ~EVTFLAG_TIME_DISABLED; - _soundManager.setVOCOffset(_voy->_vocSecondsOffset); - Common::String filename = _soundManager.getVOCFileName( + _soundManager->setVOCOffset(_voy->_vocSecondsOffset); + Common::String filename = _soundManager->getVOCFileName( audioId + 159); - _soundManager.startVOCPlay(filename); + _soundManager->startVOCPlay(filename); _voy->_eventFlags |= EVTFLAG_RECORDING; _eventsManager.startCursorBlink(); while (!shouldQuit() && !_eventsManager._mouseClicked && - _soundManager.getVOCStatus()) + _soundManager->getVOCStatus()) _eventsManager.delayClick(1); _voy->_eventFlags |= EVTFLAG_TIME_DISABLED; - _soundManager.stopVOCPlay(); + _soundManager->stopVOCPlay(); _bVoy->freeBoltGroup(0x7F00); (*_graphicsManager._vPort)->setupViewPort(NULL); @@ -716,16 +718,16 @@ void VoyeurEngine::showEndingNews() { _bVoy->freeBoltMember(_playStampGroupId + (idx - 1) * 2 + 1); Common::String fname = Common::String::format("news%d.voc", idx); - _soundManager.startVOCPlay(fname); + _soundManager->startVOCPlay(fname); _eventsManager.getMouseInfo(); while (!shouldQuit() && !_eventsManager._mouseClicked && - _soundManager.getVOCStatus()) { + _soundManager->getVOCStatus()) { _eventsManager.delay(1); _eventsManager.getMouseInfo(); } - _soundManager.stopVOCPlay(); + _soundManager->stopVOCPlay(); if (idx == 3) _eventsManager.delay(3); @@ -779,7 +781,7 @@ void VoyeurEngine::loadGame(int slot) { _checkTransitionId = _voy->_transitionId; // Stop any playing sound - _soundManager.stopVOCPlay(); + _soundManager->stopVOCPlay(); // Read in the savegame header VoyeurSavegameHeader header; diff --git a/engines/voyeur/voyeur.h b/engines/voyeur/voyeur.h index b7fcad49f4..e9946634cc 100644 --- a/engines/voyeur/voyeur.h +++ b/engines/voyeur/voyeur.h @@ -161,7 +161,7 @@ public: EventsManager _eventsManager; FilesManager _filesManager; GraphicsManager _graphicsManager; - SoundManager _soundManager; + SoundManager *_soundManager; SVoy *_voy; BoltFile *_stampLibPtr; diff --git a/engines/voyeur/voyeur_game.cpp b/engines/voyeur/voyeur_game.cpp index 5a6f872c80..6b1c1dcb36 100644 --- a/engines/voyeur/voyeur_game.cpp +++ b/engines/voyeur/voyeur_game.cpp @@ -181,7 +181,7 @@ void VoyeurEngine::playStamp() { do { if (flag) { if (_currentVocId != -1) { - _soundManager.stopVOCPlay(); + _soundManager->stopVOCPlay(); _currentVocId = -1; } @@ -263,7 +263,7 @@ void VoyeurEngine::doTailTitle() { flipPageAndWaitForFade(); _eventsManager.delayClick(120); - _soundManager.stopVOCPlay(); + _soundManager->stopVOCPlay(); } } @@ -294,7 +294,7 @@ void VoyeurEngine::doClosingCredits() { _graphicsManager._fontPtr->_fontSaveBack = false; _graphicsManager._fontPtr->_fontFlags = 0; - _soundManager.startVOCPlay(152); + _soundManager->startVOCPlay(152); FontInfoResource &fi = *_graphicsManager._fontPtr; for (int idx = 0; idx < 78; ++idx) { @@ -380,7 +380,7 @@ void VoyeurEngine::doClosingCredits() { break; } - _soundManager.stopVOCPlay(); + _soundManager->stopVOCPlay(); _graphicsManager._fontPtr->_curFont = _bVoy->boltEntry(0x101)._fontResource; _bVoy->freeBoltGroup(0x400); } @@ -473,9 +473,9 @@ void VoyeurEngine::reviewTape() { _voy->_vocSecondsOffset = 0; bool needRedraw = true; do { - if (_currentVocId != -1 && !_soundManager.getVOCStatus()) { + if (_currentVocId != -1 && !_soundManager->getVOCStatus()) { _voy->_musicStartTime = _voy->_RTVNum; - _soundManager.startVOCPlay(_currentVocId); + _soundManager->startVOCPlay(_currentVocId); } if (needRedraw) { @@ -655,7 +655,7 @@ void VoyeurEngine::reviewTape() { if (_currentVocId != -1) { _voy->_vocSecondsOffset = _voy->_RTVNum - _voy->_musicStartTime; - _soundManager.stopVOCPlay(); + _soundManager->stopVOCPlay(); } // Break out if the exit button was pressed @@ -688,19 +688,19 @@ void VoyeurEngine::reviewTape() { _voy->_eventFlags &= ~EVTFLAG_TIME_DISABLED; // Play suond for the given duration - _soundManager.setVOCOffset(_voy->_vocSecondsOffset); - _soundManager.startVOCPlay(_audioVideoId + 159); + _soundManager->setVOCOffset(_voy->_vocSecondsOffset); + _soundManager->startVOCPlay(_audioVideoId + 159); uint32 secondsDuration = e._computerOff; _eventsManager.getMouseInfo(); - while (!_eventsManager._mouseClicked && _soundManager.getVOCStatus() && - _soundManager.getVOCFrame() < secondsDuration) { + while (!_eventsManager._mouseClicked && _soundManager->getVOCStatus() && + _soundManager->getVOCFrame() < secondsDuration) { _eventsManager.getMouseInfo(); _eventsManager.delay(10); } _voy->_eventFlags |= EVTFLAG_TIME_DISABLED; - _soundManager.stopVOCPlay(); + _soundManager->stopVOCPlay(); _bVoy->freeBoltGroup(0x7F00); break; } @@ -709,7 +709,7 @@ void VoyeurEngine::reviewTape() { _voy->reviewAnEvidEvent(eventIndex); _voy->_vocSecondsOffset = _voy->_RTVNum - _voy->_musicStartTime; - _soundManager.stopVOCPlay(); + _soundManager->stopVOCPlay(); _bVoy->getBoltGroup(0x900); break; @@ -717,7 +717,7 @@ void VoyeurEngine::reviewTape() { _voy->reviewComputerEvent(eventIndex); _voy->_vocSecondsOffset = _voy->_RTVNum - _voy->_musicStartTime; - _soundManager.stopVOCPlay(); + _soundManager->stopVOCPlay(); _bVoy->getBoltGroup(0x900); break; @@ -796,12 +796,12 @@ void VoyeurEngine::doTapePlaying() { cycle->vStartCycle(); - _soundManager.startVOCPlay("vcr.voc"); - while (!shouldQuit() && !_eventsManager._mouseClicked && _soundManager.getVOCStatus()) { + _soundManager->startVOCPlay("vcr.voc"); + while (!shouldQuit() && !_eventsManager._mouseClicked && _soundManager->getVOCStatus()) { _eventsManager.delayClick(2); } - _soundManager.stopVOCPlay(); + _soundManager->stopVOCPlay(); cycle->vStopCycle(); _bVoy->freeBoltGroup(0xA00); } @@ -943,8 +943,8 @@ int VoyeurEngine::getChooseButton() { do { do { - if (_currentVocId != -1 && !_soundManager.getVOCStatus()) - _soundManager.startVOCPlay(_currentVocId); + if (_currentVocId != -1 && !_soundManager->getVOCStatus()) + _soundManager->startVOCPlay(_currentVocId); _eventsManager.getMouseInfo(); selectedIndex = -1; @@ -1177,7 +1177,7 @@ int VoyeurEngine::doComputerText(int maxLen) { if (_voy->_RTVNum > _voy->_computerTimeMax && maxLen == 9999) { if (_currentVocId != -1) - _soundManager.startVOCPlay(_currentVocId); + _soundManager->startVOCPlay(_currentVocId); font._justify = ALIGN_LEFT; font._justifyWidth = 384; font._justifyHeight = 100; @@ -1185,7 +1185,7 @@ int VoyeurEngine::doComputerText(int maxLen) { (*_graphicsManager._vPort)->drawText(END_OF_MESSAGE); } else if (_voy->_RTVNum < _voy->_computerTimeMin && maxLen == 9999) { if (_currentVocId != -1) - _soundManager.startVOCPlay(_currentVocId); + _soundManager->startVOCPlay(_currentVocId); font._justify = ALIGN_LEFT; font._justifyWidth = 384; font._justifyHeight = 100; @@ -1198,10 +1198,10 @@ int VoyeurEngine::doComputerText(int maxLen) { bool showEnd = true; int yp = 60; do { - if (_currentVocId != -1 && !_soundManager.getVOCStatus()) { + if (_currentVocId != -1 && !_soundManager->getVOCStatus()) { if (_voy->_vocSecondsOffset > 60) _voy->_vocSecondsOffset = 0; - _soundManager.startVOCPlay(_currentVocId); + _soundManager->startVOCPlay(_currentVocId); } char c = *msg++; @@ -1317,15 +1317,15 @@ void VoyeurEngine::checkPhoneCall() { if ((_voy->_RTVLimit - _voy->_RTVNum) >= 36 && _voy->_totalPhoneCalls < 5 && _currentVocId <= 151 && _currentVocId > 146) { if ((_voy->_switchBGNum < _checkPhoneVal || _checkPhoneVal > 180) && - !_soundManager.getVOCStatus()) { + !_soundManager->getVOCStatus()) { int soundIndex; do { soundIndex = getRandomNumber(4); } while (_voy->_phoneCallsReceived[soundIndex]); _currentVocId = 154 + soundIndex; - _soundManager.stopVOCPlay(); - _soundManager.startVOCPlay(_currentVocId); + _soundManager->stopVOCPlay(); + _soundManager->startVOCPlay(_currentVocId); _checkPhoneVal = _voy->_switchBGNum; _voy->_phoneCallsReceived[soundIndex] = true; ++_voy->_totalPhoneCalls; @@ -1339,7 +1339,7 @@ void VoyeurEngine::doEvidDisplay(int evidId, int eventId) { if (_currentVocId != -1) { _voy->_vocSecondsOffset = _voy->_RTVNum - _voy->_musicStartTime; - _soundManager.stopVOCPlay(); + _soundManager->stopVOCPlay(); } _bVoy->getBoltGroup(_voy->_boltGroupId2); @@ -1381,11 +1381,11 @@ void VoyeurEngine::doEvidDisplay(int evidId, int eventId) { while (!shouldQuit() && !_eventsManager._rightClick) { _voyeurArea = AREA_EVIDENCE; - if (_currentVocId != -1 && !_soundManager.getVOCStatus()) { + if (_currentVocId != -1 && !_soundManager->getVOCStatus()) { if (_voy->_vocSecondsOffset > 60) _voy->_vocSecondsOffset = 0; - _soundManager.startVOCPlay(_currentVocId); + _soundManager->startVOCPlay(_currentVocId); } _eventsManager.delayClick(600); -- cgit v1.2.3 From 9f74d13c57033f5cf60b711021f0b0b1e8697f9e Mon Sep 17 00:00:00 2001 From: Strangerke Date: Thu, 27 Feb 2014 07:29:49 +0100 Subject: VOYEUR: Remove setVm from EventManager --- engines/voyeur/animation.cpp | 4 +- engines/voyeur/data.cpp | 4 +- engines/voyeur/events.cpp | 32 ++++---- engines/voyeur/events.h | 3 +- engines/voyeur/files.cpp | 6 +- engines/voyeur/files_threads.cpp | 164 +++++++++++++++++++------------------- engines/voyeur/graphics.cpp | 22 +++--- engines/voyeur/voyeur.cpp | 114 ++++++++++++++------------- engines/voyeur/voyeur.h | 2 +- engines/voyeur/voyeur_game.cpp | 166 +++++++++++++++++++-------------------- 10 files changed, 259 insertions(+), 258 deletions(-) diff --git a/engines/voyeur/animation.cpp b/engines/voyeur/animation.cpp index 40ea92f13b..86ab7001d9 100644 --- a/engines/voyeur/animation.cpp +++ b/engines/voyeur/animation.cpp @@ -467,7 +467,7 @@ void RL2Decoder::play(VoyeurEngine *vm, int resourceOffset, PictureResource videoFrame(getVideoTrack()->getBackSurface()); int picCtr = 0; - while (!vm->shouldQuit() && !endOfVideo() && !vm->_eventsManager._mouseClicked) { + while (!vm->shouldQuit() && !endOfVideo() && !vm->_eventsManager->_mouseClicked) { if (hasDirtyPalette()) { const byte *palette = getPalette(); @@ -494,7 +494,7 @@ void RL2Decoder::play(VoyeurEngine *vm, int resourceOffset, (byte *)vm->_graphicsManager._screenSurface.getPixels()); } - vm->_eventsManager.getMouseInfo(); + vm->_eventsManager->getMouseInfo(); g_system->delayMillis(10); } } diff --git a/engines/voyeur/data.cpp b/engines/voyeur/data.cpp index 1b5b576a23..b54160a917 100644 --- a/engines/voyeur/data.cpp +++ b/engines/voyeur/data.cpp @@ -168,7 +168,7 @@ void SVoy::addVideoEventStart() { e._type = EVTYPE_VIDEO; e._audioVideoId = _vm->_audioVideoId; e._computerOn = _vocSecondsOffset; - e._dead = _vm->_eventsManager._videoDead; + e._dead = _vm->_eventsManager->_videoDead; } void SVoy::addVideoEventEnd() { @@ -186,7 +186,7 @@ void SVoy::addAudioEventStart() { e._type = EVTYPE_AUDIO; e._audioVideoId = _vm->_audioVideoId; e._computerOn = _vocSecondsOffset; - e._dead = _vm->_eventsManager._videoDead; + e._dead = _vm->_eventsManager->_videoDead; } void SVoy::addAudioEventEnd() { diff --git a/engines/voyeur/events.cpp b/engines/voyeur/events.cpp index ea726ac0ff..0e948d8dc3 100644 --- a/engines/voyeur/events.cpp +++ b/engines/voyeur/events.cpp @@ -61,8 +61,8 @@ IntData::IntData() { /*------------------------------------------------------------------------*/ -EventsManager::EventsManager(): _intPtr(_gameData), - _fadeIntNode(0, 0, 3), _cycleIntNode(0, 0, 3) { +EventsManager::EventsManager(VoyeurEngine *vm) : _intPtr(_gameData), + _fadeIntNode(0, 0, 3), _cycleIntNode(0, 0, 3), _vm(vm) { _cycleStatus = 0; _fadeStatus = 0; _priorFrameTime = g_system->getMillis(); @@ -244,7 +244,7 @@ void EventsManager::delayClick(int cycles) { g_system->delayMillis(10); getMouseInfo(); } while (!_vm->shouldQuit() && g_system->getMillis() < delayEnd - && !_vm->_eventsManager._mouseClicked); + && !_vm->_eventsManager->_mouseClicked); } void EventsManager::pollEvents() { @@ -268,18 +268,18 @@ void EventsManager::pollEvents() { } return; case Common::EVENT_LBUTTONDOWN: - _vm->_eventsManager._newLeftClick = true; - _vm->_eventsManager._newMouseClicked = true; + _vm->_eventsManager->_newLeftClick = true; + _vm->_eventsManager->_newMouseClicked = true; return; case Common::EVENT_RBUTTONDOWN: - _vm->_eventsManager._newRightClick = true; - _vm->_eventsManager._newMouseClicked = true; + _vm->_eventsManager->_newRightClick = true; + _vm->_eventsManager->_newMouseClicked = true; return; case Common::EVENT_LBUTTONUP: case Common::EVENT_RBUTTONUP: - _vm->_eventsManager._newMouseClicked = false; - _vm->_eventsManager._newLeftClick = false; - _vm->_eventsManager._newRightClick = false; + _vm->_eventsManager->_newMouseClicked = false; + _vm->_eventsManager->_newLeftClick = false; + _vm->_eventsManager->_newRightClick = false; return; case Common::EVENT_MOUSEMOVE: _mousePos = event.mouse; @@ -576,13 +576,13 @@ void EventsManager::getMouseInfo() { } } - _vm->_eventsManager._mouseClicked = _vm->_eventsManager._newMouseClicked; - _vm->_eventsManager._leftClick = _vm->_eventsManager._newLeftClick; - _vm->_eventsManager._rightClick = _vm->_eventsManager._newRightClick; + _vm->_eventsManager->_mouseClicked = _vm->_eventsManager->_newMouseClicked; + _vm->_eventsManager->_leftClick = _vm->_eventsManager->_newLeftClick; + _vm->_eventsManager->_rightClick = _vm->_eventsManager->_newRightClick; - _vm->_eventsManager._newMouseClicked = false; - _vm->_eventsManager._newLeftClick = false; - _vm->_eventsManager._newRightClick = false; + _vm->_eventsManager->_newMouseClicked = false; + _vm->_eventsManager->_newLeftClick = false; + _vm->_eventsManager->_newRightClick = false; } void EventsManager::startCursorBlink() { diff --git a/engines/voyeur/events.h b/engines/voyeur/events.h index c032d35224..6f63ac09ee 100644 --- a/engines/voyeur/events.h +++ b/engines/voyeur/events.h @@ -112,8 +112,7 @@ public: byte *_cycleNext[4]; VInitCycleResource *_cyclePtr; - EventsManager(); - void setVm(VoyeurEngine *vm) { _vm = vm; } + EventsManager(VoyeurEngine *vm); void setMousePos(const Common::Point &p) { _mousePos = p; } void startMainClockInt(); diff --git a/engines/voyeur/files.cpp b/engines/voyeur/files.cpp index 6fe76e246f..f788e66833 100644 --- a/engines/voyeur/files.cpp +++ b/engines/voyeur/files.cpp @@ -1530,7 +1530,7 @@ CMapResource::~CMapResource() { } void CMapResource::startFade() { - _vm->_eventsManager.startFade(this); + _vm->_eventsManager->startFade(this); } /*------------------------------------------------------------------------*/ @@ -1545,7 +1545,7 @@ VInitCycleResource::VInitCycleResource(BoltFilesState &state, const byte *src): } void VInitCycleResource::vStartCycle() { - EventsManager &evt = _state._vm->_eventsManager; + EventsManager &evt = *_state._vm->_eventsManager; evt._cycleIntNode._flags |= 1; evt._cyclePtr = this; @@ -1559,7 +1559,7 @@ void VInitCycleResource::vStartCycle() { } void VInitCycleResource::vStopCycle() { - EventsManager &evt = _state._vm->_eventsManager; + EventsManager &evt = *_state._vm->_eventsManager; evt._cycleIntNode._flags |= 1; evt._cycleStatus &= ~1; } diff --git a/engines/voyeur/files_threads.cpp b/engines/voyeur/files_threads.cpp index b03e9ac99c..385e61ecee 100644 --- a/engines/voyeur/files_threads.cpp +++ b/engines/voyeur/files_threads.cpp @@ -327,7 +327,7 @@ void ThreadResource::parsePlayCommands() { _vm->_voy->_boltGroupId2 = -1; _vm->_voy->_computerTextId = -1; _vm->_voy->_eventFlags &= ~EVTFLAG_8; - _vm->_eventsManager._videoDead = -1; + _vm->_eventsManager->_videoDead = -1; // Reset hotspot data _vm->_voy->_videoHotspotTimes.reset(); @@ -372,8 +372,8 @@ void ThreadResource::parsePlayCommands() { _vm->playAudio(_vm->_audioVideoId); _vm->_voy->addAudioEventEnd(); - _vm->_eventsManager.incrementTime(1); - _vm->_eventsManager.incrementTime(1); + _vm->_eventsManager->incrementTime(1); + _vm->_eventsManager->incrementTime(1); _vm->_audioVideoId = -1; parseIndex = 999; } @@ -404,19 +404,19 @@ void ThreadResource::parsePlayCommands() { _vm->_voy->_eventFlags &= ~EVTFLAG_RECORDING; _vm->_voy->_eventFlags |= EVTFLAG_TIME_DISABLED; _vm->_voy->addVideoEventEnd(); - _vm->_eventsManager.incrementTime(1); + _vm->_eventsManager->incrementTime(1); _vm->_audioVideoId = -1; _vm->_playStampGroupId = -1; - if (_vm->_eventsManager._videoDead != -1) { + if (_vm->_eventsManager->_videoDead != -1) { _vm->_bVoy->freeBoltGroup(0xE00); - _vm->_eventsManager._videoDead = -1; + _vm->_eventsManager->_videoDead = -1; _vm->flipPageAndWait(); } - _vm->_eventsManager._videoDead = -1; - if (_stateCount == 2 && _vm->_eventsManager._mouseClicked == 0) { + _vm->_eventsManager->_videoDead = -1; + if (_stateCount == 2 && _vm->_eventsManager->_mouseClicked == 0) { _vm->_voy->_playStampMode = 132; parseIndex = 999; } else { @@ -452,7 +452,7 @@ void ThreadResource::parsePlayCommands() { } else { int count = _vm->_bVoy->getBoltGroup(_vm->_playStampGroupId)->_entries.size() / 2; _vm->_soundManager->stopVOCPlay(); - _vm->_eventsManager.getMouseInfo(); + _vm->_eventsManager->getMouseInfo(); for (int i = 0; i < count; ++i) { pic = _vm->_bVoy->boltEntry(_vm->_playStampGroupId + i * 2)._picResource; @@ -471,18 +471,18 @@ void ThreadResource::parsePlayCommands() { Common::String file = Common::String::format("news%d.voc", i + 1); _vm->_soundManager->startVOCPlay(file); - while (!_vm->shouldQuit() && !_vm->_eventsManager._mouseClicked && + while (!_vm->shouldQuit() && !_vm->_eventsManager->_mouseClicked && _vm->_soundManager->getVOCStatus()) { - _vm->_eventsManager.delayClick(1); - _vm->_eventsManager.getMouseInfo(); + _vm->_eventsManager->delayClick(1); + _vm->_eventsManager->getMouseInfo(); } _vm->_soundManager->stopVOCPlay(); if (i == (count - 1)) - _vm->_eventsManager.delayClick(480); + _vm->_eventsManager->delayClick(480); - if (_vm->shouldQuit() || _vm->_eventsManager._mouseClicked) + if (_vm->shouldQuit() || _vm->_eventsManager->_mouseClicked) break; } @@ -957,7 +957,7 @@ int ThreadResource::doApt() { _vm->_voy->_viewBounds = _vm->_bVoy->boltEntry(_vm->_playStampGroupId)._rectResource; Common::Array &hotspots = _vm->_bVoy->boltEntry( _vm->_playStampGroupId + 1)._rectResource->_entries; - _vm->_eventsManager.getMouseInfo(); + _vm->_eventsManager->getMouseInfo(); // Very first time apartment is shown, start the phone message if (_aptPos.x == -1) { @@ -973,7 +973,7 @@ int ThreadResource::doApt() { _aptPos.y = hotspots[4].top + 28; } - _vm->_eventsManager.setMousePos(Common::Point(_aptPos.x, _aptPos.y)); + _vm->_eventsManager->setMousePos(Common::Point(_aptPos.x, _aptPos.y)); _vm->_soundManager->startVOCPlay(_vm->_soundManager->getVOCFileName(_vm->_currentVocId)); _vm->_currentVocId = 151; @@ -982,7 +982,7 @@ int ThreadResource::doApt() { _vm->_graphicsManager.setColor(131, 215, 215, 215); _vm->_graphicsManager.setColor(132, 235, 235, 235); - _vm->_eventsManager._intPtr._hasPalette = true; + _vm->_eventsManager->_intPtr._hasPalette = true; // Main loop to allow users to move the cursor and select hotspots int hotspotId; @@ -1000,7 +1000,7 @@ int ThreadResource::doApt() { _vm->_loadGameSlot = -1; } - _vm->_eventsManager.getMouseInfo(); + _vm->_eventsManager->getMouseInfo(); if (!_vm->_soundManager->getVOCStatus()) { // Previous sound ended, so start up a new one _vm->_currentVocId = 151 - _vm->getRandomNumber(4); @@ -1009,7 +1009,7 @@ int ThreadResource::doApt() { // Loop through the hotspot list hotspotId = -1; - pt = _vm->_eventsManager.getMousePos(); + pt = _vm->_eventsManager->getMousePos(); for (int idx = 0; idx < (int)hotspots.size(); ++idx) { if (hotspots[idx].contains(pt)) { // Cursor is within hotspot area @@ -1049,15 +1049,15 @@ int ThreadResource::doApt() { _vm->flipPageAndWait(); - if (hotspotId == 42 && _vm->_eventsManager._leftClick) { + if (hotspotId == 42 && _vm->_eventsManager->_leftClick) { // Show the ScummVM GMM - _vm->_eventsManager.getMouseInfo(); + _vm->_eventsManager->getMouseInfo(); _vm->openMainMenuDialog(); } - } while (!_vm->shouldQuit() && (!_vm->_eventsManager._leftClick || hotspotId == -1)); + } while (!_vm->shouldQuit() && (!_vm->_eventsManager->_leftClick || hotspotId == -1)); - pt = _vm->_eventsManager.getMousePos(); + pt = _vm->_eventsManager->getMousePos(); _aptPos.x = pt.x; _aptPos.y = pt.y; @@ -1112,13 +1112,13 @@ void ThreadResource::doRoom() { PictureResource *crosshairsCursor = vm._bVoy->boltEntry(vm._playStampGroupId + 2)._picResource; PictureResource *magnifierCursor = vm._bVoy->boltEntry(vm._playStampGroupId + 3)._picResource; - vm._eventsManager.showCursor(); + vm._eventsManager->showCursor(); RectResource viewBounds(48, 38, 336, 202); voy._viewBounds = &viewBounds; - vm._eventsManager.getMouseInfo(); - vm._eventsManager.setMousePos(Common::Point(192, 120)); + vm._eventsManager->getMouseInfo(); + vm._eventsManager->setMousePos(Common::Point(192, 120)); voy._fadingType = 0; vm._currentVocId = 146; voy._musicStartTime = voy._RTVNum; @@ -1131,7 +1131,7 @@ void ThreadResource::doRoom() { while (!vm.shouldQuit() && !breakFlag) { _vm->_voyeurArea = AREA_ROOM; vm._graphicsManager.setColor(128, 0, 255, 0); - vm._eventsManager._intPtr._hasPalette = true; + vm._eventsManager->_intPtr._hasPalette = true; do { if (vm._currentVocId != -1 && !vm._soundManager->getVOCStatus()) { @@ -1140,8 +1140,8 @@ void ThreadResource::doRoom() { vm._soundManager->startVOCPlay(vm._currentVocId); } - vm._eventsManager.getMouseInfo(); - Common::Point pt = vm._eventsManager.getMousePos(); + vm._eventsManager->getMouseInfo(); + Common::Point pt = vm._eventsManager->getMousePos(); pt += Common::Point(30, 15); hotspotId = -1; @@ -1159,33 +1159,33 @@ void ThreadResource::doRoom() { } if (hotspotId == -1) { - vm._eventsManager.setCursorColor(128, 0); - vm._eventsManager.setCursor(crosshairsCursor); + vm._eventsManager->setCursorColor(128, 0); + vm._eventsManager->setCursor(crosshairsCursor); } else if (hotspotId != 999 || voy._RTVNum < voy._computerTimeMin || (voy._computerTimeMax - 2) < voy._RTVNum) { - vm._eventsManager.setCursorColor(128, 1); - vm._eventsManager.setCursor(magnifierCursor); + vm._eventsManager->setCursorColor(128, 1); + vm._eventsManager->setCursor(magnifierCursor); } else { - vm._eventsManager.setCursorColor(128, 2); - vm._eventsManager.setCursor(magnifierCursor); + vm._eventsManager->setCursorColor(128, 2); + vm._eventsManager->setCursor(magnifierCursor); } - vm._eventsManager._intPtr._hasPalette = true; + vm._eventsManager->_intPtr._hasPalette = true; vm._graphicsManager.flipPage(); - vm._eventsManager.sWaitFlip(); - } while (!vm.shouldQuit() && !vm._eventsManager._mouseClicked); + vm._eventsManager->sWaitFlip(); + } while (!vm.shouldQuit() && !vm._eventsManager->_mouseClicked); - if (!vm._eventsManager._leftClick || hotspotId == -1) { - if (vm._eventsManager._rightClick) + if (!vm._eventsManager->_leftClick || hotspotId == -1) { + if (vm._eventsManager->_rightClick) breakFlag = true; - Common::Point pt = vm._eventsManager.getMousePos(); - vm._eventsManager.getMouseInfo(); - vm._eventsManager.setMousePos(pt); + Common::Point pt = vm._eventsManager->getMousePos(); + vm._eventsManager->getMouseInfo(); + vm._eventsManager->setMousePos(pt); } else { voy._eventFlags |= EVTFLAG_RECORDING; - vm._eventsManager.hideCursor(); - vm._eventsManager.startCursorBlink(); + vm._eventsManager->hideCursor(); + vm._eventsManager->startCursorBlink(); if (hotspotId == 999) { _vm->flipPageAndWait(); @@ -1200,8 +1200,8 @@ void ThreadResource::doRoom() { vm._voy->addComputerEventStart(); - vm._eventsManager._mouseClicked = false; - vm._eventsManager.startCursorBlink(); + vm._eventsManager->_mouseClicked = false; + vm._eventsManager->startCursorBlink(); int totalChars = vm.doComputerText(9999); if (totalChars) @@ -1213,8 +1213,8 @@ void ThreadResource::doRoom() { } voy._eventFlags &= ~EVTFLAG_RECORDING; - if (!vm._eventsManager._mouseClicked) - vm._eventsManager.delayClick(18000); + if (!vm._eventsManager->_mouseClicked) + vm._eventsManager->delayClick(18000); // WORKAROUND: Skipped code from the original, that freed the group, // reloaded it, and reloaded the cursors @@ -1228,9 +1228,9 @@ void ThreadResource::doRoom() { vm._graphicsManager._backColors->startFade(); _vm->flipPageAndWait(); - while (!vm.shouldQuit() && (vm._eventsManager._fadeStatus & 1)) - vm._eventsManager.delay(1); - vm._eventsManager.hideCursor(); + while (!vm.shouldQuit() && (vm._eventsManager->_fadeStatus & 1)) + vm._eventsManager->delay(1); + vm._eventsManager->hideCursor(); while (!vm.shouldQuit() && voy._fadingAmount2 > 0) { if (voy._fadingAmount1 < 63) { @@ -1245,19 +1245,19 @@ void ThreadResource::doRoom() { voy._fadingAmount2 = 0; } - vm._eventsManager.delay(1); + vm._eventsManager->delay(1); } _vm->flipPageAndWait(); vm._graphicsManager.fadeUpICF1(); voy._eventFlags &= EVTFLAG_RECORDING; - vm._eventsManager.showCursor(); + vm._eventsManager->showCursor(); } } voy._eventFlags = EVTFLAG_TIME_DISABLED; - vm._eventsManager.incrementTime(1); + vm._eventsManager->incrementTime(1); voy._viewBounds = nullptr; voy._fadingType = 0; vm.makeViewFinderP(); @@ -1277,7 +1277,7 @@ void ThreadResource::doRoom() { vm._currentVocId = -1; } - vm._eventsManager.hideCursor(); + vm._eventsManager->hideCursor(); chooseSTAMPButton(0); } @@ -1293,8 +1293,8 @@ int ThreadResource::doInterface() { _vm->_voy->_eventFlags &= ~EVTFLAG_100; _vm->_playStampGroupId = -1; - _vm->_eventsManager._intPtr._flashStep = 1; - _vm->_eventsManager._intPtr._flashTimer = 0; + _vm->_eventsManager->_intPtr._flashStep = 1; + _vm->_eventsManager->_intPtr._flashTimer = 0; if (_vm->_voy->_RTVNum >= _vm->_voy->_RTVLimit || _vm->_voy->_RTVNum < 0) _vm->_voy->_RTVNum = _vm->_voy->_RTVLimit - 1; @@ -1310,7 +1310,7 @@ int ThreadResource::doInterface() { while (!_vm->shouldQuit() && _vm->_voy->_RTVNum < _vm->_voy->_RTVLimit) { _vm->flashTimeBar(); - _vm->_eventsManager.delayClick(1); + _vm->_eventsManager->delayClick(1); } _vm->_voy->_eventFlags |= EVTFLAG_TIME_DISABLED; @@ -1320,7 +1320,7 @@ int ThreadResource::doInterface() { _vm->checkTransition(); _vm->makeViewFinder(); - _vm->_eventsManager.getMouseInfo(); + _vm->_eventsManager->getMouseInfo(); _vm->initIFace(); Common::Array *hotspots = &_vm->_bVoy->boltEntry( @@ -1330,10 +1330,10 @@ int ThreadResource::doInterface() { Common::String fname = _vm->_soundManager->getVOCFileName(_vm->_currentVocId); _vm->_soundManager->startVOCPlay(fname); - _vm->_eventsManager.getMouseInfo(); + _vm->_eventsManager->getMouseInfo(); _vm->_graphicsManager.setColor(240, 220, 220, 220); - _vm->_eventsManager._intPtr._hasPalette = true; + _vm->_eventsManager->_intPtr._hasPalette = true; _vm->_voy->_eventFlags &= ~EVTFLAG_TIME_DISABLED; // Set the cusor @@ -1342,7 +1342,7 @@ int ThreadResource::doInterface() { PictureResource *listenCursor = _vm->_bVoy->boltEntry(0x114)._picResource; PictureResource *mangifyCursor = _vm->_bVoy->boltEntry(0x115)._picResource; - _vm->_eventsManager.setCursor(crosshairsCursor); + _vm->_eventsManager->setCursor(crosshairsCursor); // Main loop int regionIndex = 0; @@ -1352,7 +1352,7 @@ int ThreadResource::doInterface() { do { _vm->_voyeurArea = AREA_INTERFACE; _vm->doTimeBar(); - _vm->_eventsManager.getMouseInfo(); + _vm->_eventsManager->getMouseInfo(); if (checkMansionScroll()) _vm->doScroll(_vm->_mansionViewPos); @@ -1364,7 +1364,7 @@ int ThreadResource::doInterface() { } // Calculate the mouse position within the entire mansion - pt = _vm->_eventsManager.getMousePos(); + pt = _vm->_eventsManager->getMousePos(); if (!mansionViewBounds.contains(pt)) pt = Common::Point(-1, -1); else @@ -1378,13 +1378,13 @@ int ThreadResource::doInterface() { for (int arrIndex = 0; arrIndex < 3; ++arrIndex) { if (_vm->_voy->_audioHotspotTimes.isInRange(arrIndex, hotspotIdx, _vm->_voy->_RTVNum)) { // Set the ear cursor for an audio event - _vm->_eventsManager.setCursor(listenCursor); + _vm->_eventsManager->setCursor(listenCursor); regionIndex = hotspotIdx; } if (_vm->_voy->_evidenceHotspotTimes.isInRange(arrIndex, hotspotIdx, _vm->_voy->_RTVNum)) { // Set the magnifier cursor for an evidence event - _vm->_eventsManager.setCursor(mangifyCursor); + _vm->_eventsManager->setCursor(mangifyCursor); regionIndex = hotspotIdx; } } @@ -1392,7 +1392,7 @@ int ThreadResource::doInterface() { for (int arrIndex = 0; arrIndex < 8; ++arrIndex) { if (_vm->_voy->_videoHotspotTimes.isInRange(arrIndex, hotspotIdx, _vm->_voy->_RTVNum)) { // Set the eye cursor for a video event - _vm->_eventsManager.setCursor(eyeCursor); + _vm->_eventsManager->setCursor(eyeCursor); regionIndex = hotspotIdx; } } @@ -1401,7 +1401,7 @@ int ThreadResource::doInterface() { if (regionIndex == -1) { // Reset back to the crosshairs cursor - _vm->_eventsManager.setCursor(crosshairsCursor); + _vm->_eventsManager->setCursor(crosshairsCursor); } // Regularly update the time display @@ -1427,18 +1427,18 @@ int ThreadResource::doInterface() { _vm->_voy->_RTANum = 0; _vm->flipPageAndWait(); - pt = _vm->_eventsManager.getMousePos(); + pt = _vm->_eventsManager->getMousePos(); if ((_vm->_voy->_RTVNum >= _vm->_voy->_RTVLimit) || ((_vm->_voy->_eventFlags & 0x80) && - _vm->_eventsManager._rightClick && (pt.x == 0))) { + _vm->_eventsManager->_rightClick && (pt.x == 0))) { // Time to transition to the next time period - _vm->_eventsManager.getMouseInfo(); + _vm->_eventsManager->getMouseInfo(); if (_vm->_voy->_transitionId == 15) { regionIndex = 20; _vm->_voy->_transitionId = 17; _vm->_soundManager->stopVOCPlay(); _vm->checkTransition(); - _vm->_eventsManager._leftClick = true; + _vm->_eventsManager->_leftClick = true; } else { _vm->_voy->_eventFlags |= EVTFLAG_TIME_DISABLED; @@ -1450,27 +1450,27 @@ int ThreadResource::doInterface() { _vm->initIFace(); hotspots = &_vm->_bVoy->boltEntry(_vm->_playStampGroupId + 1)._rectResource->_entries; - _vm->_eventsManager.getMouseInfo(); + _vm->_eventsManager->getMouseInfo(); _vm->_voy->_eventFlags &= ~EVTFLAG_TIME_DISABLED; - _vm->_eventsManager._intPtr._flashStep = 1; - _vm->_eventsManager._intPtr._flashTimer = 0; + _vm->_eventsManager->_intPtr._flashStep = 1; + _vm->_eventsManager->_intPtr._flashTimer = 0; } } - } while (!_vm->_eventsManager._rightClick && !_vm->shouldQuit() && - (!_vm->_eventsManager._leftClick || regionIndex == -1)); + } while (!_vm->_eventsManager->_rightClick && !_vm->shouldQuit() && + (!_vm->_eventsManager->_leftClick || regionIndex == -1)); - _vm->_eventsManager.hideCursor(); + _vm->_eventsManager->hideCursor(); _vm->_voy->_eventFlags |= EVTFLAG_TIME_DISABLED; _vm->_bVoy->freeBoltGroup(_vm->_playStampGroupId); if (_vm->_currentVocId != -1) _vm->_soundManager->stopVOCPlay(); - return !_vm->_eventsManager._rightClick ? regionIndex : -2; + return !_vm->_eventsManager->_rightClick ? regionIndex : -2; } bool ThreadResource::checkMansionScroll() { - Common::Point pt = _vm->_eventsManager.getMousePos() - + Common::Point pt = _vm->_eventsManager->getMousePos() - Common::Point(MANSION_VIEW_X, MANSION_VIEW_Y); Common::Point &viewPos = _vm->_mansionViewPos; bool result = false; @@ -1689,7 +1689,7 @@ void ThreadResource::doAptAnim(int mode) { pal->startFade(); _vm->flipPageAndWait(); - _vm->_eventsManager.delayClick(5); + _vm->_eventsManager->delayClick(5); } _vm->_bVoy->freeBoltGroup(id); diff --git a/engines/voyeur/graphics.cpp b/engines/voyeur/graphics.cpp index 0f70a23cf2..a4dc27bd02 100644 --- a/engines/voyeur/graphics.cpp +++ b/engines/voyeur/graphics.cpp @@ -845,7 +845,7 @@ void GraphicsManager::sDrawPic(DisplayResource *srcDisplay, DisplayResource *des } if (cursorData) { - _vm->_eventsManager.setCursor(cursorData, width2, height1); + _vm->_eventsManager->setCursor(cursorData, width2, height1); delete[] cursorData; } } @@ -877,7 +877,7 @@ void GraphicsManager::fillPic(DisplayResource *display, byte onOff) { * Queues the given picture for display */ void GraphicsManager::sDisplayPic(PictureResource *pic) { - _vm->_eventsManager._intPtr._flipWait = true; + _vm->_eventsManager->_intPtr._flipWait = true; } void GraphicsManager::flipPage() { @@ -940,7 +940,7 @@ void GraphicsManager::clearPalette() { void GraphicsManager::setPalette(const byte *palette, int start, int count) { g_system->getPaletteManager()->setPalette(palette, start, count); - _vm->_eventsManager._gameData._hasPalette = false; + _vm->_eventsManager->_gameData._hasPalette = false; } void GraphicsManager::setPalette128(const byte *palette, int start, int count) { @@ -955,7 +955,7 @@ void GraphicsManager::resetPalette() { for (int i = 0; i < 256; ++i) setColor(i, 0, 0, 0); - _vm->_eventsManager._intPtr._hasPalette = true; + _vm->_eventsManager->_intPtr._hasPalette = true; } void GraphicsManager::setColor(int idx, byte r, byte g, byte b) { @@ -964,8 +964,8 @@ void GraphicsManager::setColor(int idx, byte r, byte g, byte b) { vgaP[1] = g; vgaP[2] = b; - _vm->_eventsManager._intPtr._palStartIndex = MIN(_vm->_eventsManager._intPtr._palStartIndex, idx); - _vm->_eventsManager._intPtr._palEndIndex = MAX(_vm->_eventsManager._intPtr._palEndIndex, idx); + _vm->_eventsManager->_intPtr._palStartIndex = MIN(_vm->_eventsManager->_intPtr._palStartIndex, idx); + _vm->_eventsManager->_intPtr._palEndIndex = MAX(_vm->_eventsManager->_intPtr._palEndIndex, idx); } void GraphicsManager::setOneColor(int idx, byte r, byte g, byte b) { @@ -984,7 +984,7 @@ void GraphicsManager::setColors(int start, int count, const byte *pal) { } } - _vm->_eventsManager._intPtr._hasPalette = true; + _vm->_eventsManager->_intPtr._hasPalette = true; } void GraphicsManager::screenReset() { @@ -1003,7 +1003,7 @@ void GraphicsManager::fadeDownICF1(int steps) { for (int idx = 0; idx < steps; ++idx) { _vm->_voy->_fadingAmount2 -= stepAmount; - _vm->_eventsManager.delay(1); + _vm->_eventsManager->delay(1); } } @@ -1016,7 +1016,7 @@ void GraphicsManager::fadeUpICF1(int steps) { for (int idx = 0; idx < steps; ++idx) { _vm->_voy->_fadingAmount2 += stepAmount; - _vm->_eventsManager.delay(1); + _vm->_eventsManager->delay(1); } } @@ -1025,14 +1025,14 @@ void GraphicsManager::fadeUpICF1(int steps) { void GraphicsManager::fadeDownICF(int steps) { if (steps > 0) { - _vm->_eventsManager.hideCursor(); + _vm->_eventsManager->hideCursor(); int stepAmount1 = _vm->_voy->_fadingAmount1 / steps; int stepAmount2 = _vm->_voy->_fadingAmount2 / steps; for (int idx = 0; idx < steps; ++idx) { _vm->_voy->_fadingAmount1 -= stepAmount1; _vm->_voy->_fadingAmount2 -= stepAmount2; - _vm->_eventsManager.delay(1); + _vm->_eventsManager->delay(1); } } diff --git a/engines/voyeur/voyeur.cpp b/engines/voyeur/voyeur.cpp index f6a192e699..5112445182 100644 --- a/engines/voyeur/voyeur.cpp +++ b/engines/voyeur/voyeur.cpp @@ -40,6 +40,7 @@ VoyeurEngine::VoyeurEngine(OSystem *syst, const VoyeurGameDescription *gameDesc) _defaultFontInfo(3, 0xff, 0xff, 0, 0, ALIGN_LEFT, 0, Common::Point(), 1, 1, Common::Point(1, 1), 1, 0, 0) { _debugger = nullptr; + _eventsManager = nullptr; _soundManager = nullptr; _voy = nullptr; _bVoy = NULL; @@ -71,6 +72,7 @@ VoyeurEngine::~VoyeurEngine() { delete _bVoy; delete _voy; delete _soundManager; + delete _eventsManager; delete _debugger; } @@ -98,10 +100,10 @@ int VoyeurEngine::getRandomNumber(int maxNumber) { } void VoyeurEngine::initializeManagers() { - _eventsManager.setVm(this); _filesManager.setVm(this); _graphicsManager.setVm(this); _debugger = new Debugger(this); + _eventsManager = new EventsManager(this); _soundManager = new SoundManager(this, _mixer); _voy = new SVoy(this); } @@ -127,18 +129,18 @@ void VoyeurEngine::globalInitBolt() { // Setup default flags _voy->_viewBounds = nullptr; - _eventsManager.addFadeInt(); + _eventsManager->addFadeInt(); } void VoyeurEngine::initBolt() { vInitInterrupts(); _graphicsManager.sInitGraphics(); - _eventsManager.vInitColor(); + _eventsManager->vInitColor(); initInput(); } void VoyeurEngine::vInitInterrupts() { - _eventsManager._intPtr._palette = &_graphicsManager._VGAColors[0]; + _eventsManager->_intPtr._palette = &_graphicsManager._VGAColors[0]; } void VoyeurEngine::initInput() { @@ -147,7 +149,7 @@ void VoyeurEngine::initInput() { bool VoyeurEngine::doHeadTitle() { // char dest[144]; - _eventsManager.startMainClockInt(); + _eventsManager->startMainClockInt(); if (_loadGameSlot == -1) { // Show starting screen @@ -167,20 +169,20 @@ bool VoyeurEngine::doHeadTitle() { } // Show the title screen - _eventsManager.getMouseInfo(); + _eventsManager->getMouseInfo(); showTitleScreen(); if (shouldQuit()) return false; // Opening - _eventsManager.getMouseInfo(); + _eventsManager->getMouseInfo(); doOpening(); if (shouldQuit()) return false; - _eventsManager.getMouseInfo(); + _eventsManager->getMouseInfo(); doTransitionCard("Saturday Afternoon", "Player's Apartment"); - _eventsManager.delayClick(90); + _eventsManager->delayClick(90); if (_voy->_eventFlags & EVTFLAG_VICTIM_PRESET) { // Preset victim turned on, so add a default set of incriminating videos @@ -212,7 +214,7 @@ void VoyeurEngine::showConversionScreen() { cMap->startFade(); // Wait briefly - _eventsManager.delayClick(150); + _eventsManager->delayClick(150); if (shouldQuit()) return; @@ -252,22 +254,22 @@ bool VoyeurEngine::doLock() { _graphicsManager._backColors->startFade(); (*_graphicsManager._vPort)->_parent->_flags |= DISPFLAG_8; _graphicsManager.flipPage(); - _eventsManager.sWaitFlip(); + _eventsManager->sWaitFlip(); - while (!shouldQuit() && (_eventsManager._fadeStatus & 1)) - _eventsManager.delay(1); + while (!shouldQuit() && (_eventsManager->_fadeStatus & 1)) + _eventsManager->delay(1); - _eventsManager.setCursorColor(127, 0); + _eventsManager->setCursorColor(127, 0); _graphicsManager.setColor(1, 64, 64, 64); _graphicsManager.setColor(2, 96, 96, 96); _graphicsManager.setColor(3, 160, 160, 160); _graphicsManager.setColor(4, 224, 224, 224); // Set up the cursor - _eventsManager.setCursor(cursorPic); - _eventsManager.showCursor(); + _eventsManager->setCursor(cursorPic); + _eventsManager->showCursor(); - _eventsManager._intPtr._hasPalette = true; + _eventsManager->_intPtr._hasPalette = true; _graphicsManager._fontPtr->_curFont = _bVoy->boltEntry(0x708)._fontResource; _graphicsManager._fontPtr->_fontSaveBack = 0; @@ -303,7 +305,7 @@ bool VoyeurEngine::doLock() { do { // Scan through the list of key rects to check if a keypad key is highlighted key = -1; - Common::Point mousePos = _eventsManager.getMousePos() + + Common::Point mousePos = _eventsManager->getMousePos() + Common::Point(30, 20); for (int keyIndex = 0; keyIndex < keyCount; ++keyIndex) { @@ -317,12 +319,12 @@ bool VoyeurEngine::doLock() { } } - _eventsManager.setCursorColor(127, (key == -1) ? 0 : 1); - _eventsManager._intPtr._hasPalette = true; + _eventsManager->setCursorColor(127, (key == -1) ? 0 : 1); + _eventsManager->_intPtr._hasPalette = true; - _eventsManager.delay(1); - } while (!shouldQuit() && !_eventsManager._mouseClicked); - _eventsManager._mouseClicked = false; + _eventsManager->delay(1); + } while (!shouldQuit() && !_eventsManager->_mouseClicked); + _eventsManager->_mouseClicked = false; } while (!shouldQuit() && key == -1); _soundManager->abortVOCMap(); @@ -331,7 +333,7 @@ bool VoyeurEngine::doLock() { while (_soundManager->getVOCStatus()) { if (shouldQuit()) break; - _eventsManager.delay(1); + _eventsManager->delay(1); } // Process the key @@ -384,7 +386,7 @@ bool VoyeurEngine::doLock() { _bVoy->freeBoltGroup(0x700); } - _eventsManager.hideCursor(); + _eventsManager->hideCursor(); delete[] buttonVoc; delete[] wrongVoc; @@ -406,7 +408,7 @@ void VoyeurEngine::showTitleScreen() { cMap->startFade(); // Wait briefly - _eventsManager.delayClick(200); + _eventsManager->delayClick(200); if (shouldQuit()) return; @@ -420,7 +422,7 @@ void VoyeurEngine::showTitleScreen() { return; _graphicsManager.screenReset(); - _eventsManager.delayClick(200); + _eventsManager->delayClick(200); // Voyeur title playRL2Video("a1100100.rl2"); @@ -451,7 +453,7 @@ void VoyeurEngine::doOpening() { _gameHour = 4; _gameMinute = 0; _audioVideoId = 1; - _eventsManager._videoDead = -1; + _eventsManager->_videoDead = -1; _voy->addVideoEventStart(); _voy->_eventFlags &= ~EVTFLAG_TIME_DISABLED; @@ -459,7 +461,7 @@ void VoyeurEngine::doOpening() { for (int i = 0; i < 256; ++i) _graphicsManager.setColor(i, 8, 8, 8); - _eventsManager._intPtr._hasPalette = true; + _eventsManager->_intPtr._hasPalette = true; (*_graphicsManager._vPort)->setupViewPort(); flipPageAndWait(); @@ -467,7 +469,7 @@ void VoyeurEngine::doOpening() { decoder.loadFile("a2300100.rl2"); decoder.start(); - while (!shouldQuit() && !decoder.endOfVideo() && !_eventsManager._mouseClicked) { + while (!shouldQuit() && !decoder.endOfVideo() && !_eventsManager->_mouseClicked) { if (decoder.hasDirtyPalette()) { const byte *palette = decoder.getPalette(); _graphicsManager.setPalette(palette, 0, 256); @@ -502,12 +504,12 @@ void VoyeurEngine::doOpening() { } } - _eventsManager.getMouseInfo(); + _eventsManager->getMouseInfo(); g_system->delayMillis(10); } if ((_voy->_RTVNum - _voy->_audioVisualStartTime) < 2) - _eventsManager.delay(60); + _eventsManager->delay(60); _voy->_eventFlags |= EVTFLAG_TIME_DISABLED; _voy->addVideoEventEnd(); @@ -521,7 +523,7 @@ void VoyeurEngine::playRL2Video(const Common::String &filename) { decoder.loadFile(filename); decoder.start(); - while (!shouldQuit() && !decoder.endOfVideo() && !_eventsManager._mouseClicked) { + while (!shouldQuit() && !decoder.endOfVideo() && !_eventsManager->_mouseClicked) { if (decoder.hasDirtyPalette()) { const byte *palette = decoder.getPalette(); _graphicsManager.setPalette(palette, 0, 256); @@ -534,7 +536,7 @@ void VoyeurEngine::playRL2Video(const Common::String &filename) { (byte *)_graphicsManager._screenSurface.getPixels()); } - _eventsManager.getMouseInfo(); + _eventsManager->getMouseInfo(); g_system->delayMillis(10); } } @@ -551,8 +553,8 @@ void VoyeurEngine::playAVideoDuration(int videoId, int duration) { PictureResource *pic = NULL; if (videoId == 42) { - _eventsManager._videoDead = 0; - pic = _bVoy->boltEntry(0xE00 + _eventsManager._videoDead)._picResource; + _eventsManager->_videoDead = 0; + pic = _bVoy->boltEntry(0xE00 + _eventsManager->_videoDead)._picResource; } RL2Decoder decoder; @@ -562,10 +564,10 @@ void VoyeurEngine::playAVideoDuration(int videoId, int duration) { decoder.start(); int endFrame = decoder.getCurFrame() + totalFrames; - _eventsManager.getMouseInfo(); - _eventsManager.startCursorBlink(); + _eventsManager->getMouseInfo(); + _eventsManager->startCursorBlink(); - while (!shouldQuit() && !decoder.endOfVideo() && !_eventsManager._mouseClicked && + while (!shouldQuit() && !decoder.endOfVideo() && !_eventsManager->_mouseClicked && (decoder.getCurFrame() < endFrame)) { if (decoder.needsUpdate()) { const Graphics::Surface *frame = decoder.decodeNextFrame(); @@ -582,7 +584,7 @@ void VoyeurEngine::playAVideoDuration(int videoId, int duration) { _graphicsManager.setOneColor(128, 220, 20, 20); } - _eventsManager.getMouseInfo(); + _eventsManager->getMouseInfo(); g_system->delayMillis(10); } @@ -616,11 +618,11 @@ void VoyeurEngine::playAudio(int audioId) { audioId + 159); _soundManager->startVOCPlay(filename); _voy->_eventFlags |= EVTFLAG_RECORDING; - _eventsManager.startCursorBlink(); + _eventsManager->startCursorBlink(); - while (!shouldQuit() && !_eventsManager._mouseClicked && + while (!shouldQuit() && !_eventsManager->_mouseClicked && _soundManager->getVOCStatus()) - _eventsManager.delayClick(1); + _eventsManager->delayClick(1); _voy->_eventFlags |= EVTFLAG_TIME_DISABLED; _soundManager->stopVOCPlay(); @@ -635,12 +637,12 @@ void VoyeurEngine::playAudio(int audioId) { void VoyeurEngine::doTransitionCard(const Common::String &time, const Common::String &location) { _graphicsManager.setColor(128, 16, 16, 16); _graphicsManager.setColor(224, 220, 220, 220); - _eventsManager._intPtr._hasPalette = true; + _eventsManager->_intPtr._hasPalette = true; (*_graphicsManager._vPort)->setupViewPort(NULL); (*_graphicsManager._vPort)->fillPic(128); _graphicsManager.flipPage(); - _eventsManager.sWaitFlip(); + _eventsManager->sWaitFlip(); flipPageAndWait(); (*_graphicsManager._vPort)->fillPic(128); @@ -675,14 +677,14 @@ void VoyeurEngine::saveLastInplay() { void VoyeurEngine::flipPageAndWait() { (*_graphicsManager._vPort)->_flags |= DISPFLAG_8; _graphicsManager.flipPage(); - _eventsManager.sWaitFlip(); + _eventsManager->sWaitFlip(); } void VoyeurEngine::flipPageAndWaitForFade() { flipPageAndWait(); - while (!shouldQuit() && (_eventsManager._fadeStatus & 1)) - _eventsManager.delay(1); + while (!shouldQuit() && (_eventsManager->_fadeStatus & 1)) + _eventsManager->delay(1); } void VoyeurEngine::showEndingNews() { @@ -699,7 +701,7 @@ void VoyeurEngine::showEndingNews() { pal->startFade(); flipPageAndWaitForFade(); - _eventsManager.getMouseInfo(); + _eventsManager->getMouseInfo(); for (int idx = 1; idx < 4; ++idx) { if (idx == 3) { @@ -720,18 +722,18 @@ void VoyeurEngine::showEndingNews() { Common::String fname = Common::String::format("news%d.voc", idx); _soundManager->startVOCPlay(fname); - _eventsManager.getMouseInfo(); - while (!shouldQuit() && !_eventsManager._mouseClicked && + _eventsManager->getMouseInfo(); + while (!shouldQuit() && !_eventsManager->_mouseClicked && _soundManager->getVOCStatus()) { - _eventsManager.delay(1); - _eventsManager.getMouseInfo(); + _eventsManager->delay(1); + _eventsManager->getMouseInfo(); } _soundManager->stopVOCPlay(); if (idx == 3) - _eventsManager.delay(3); + _eventsManager->delay(3); - if (shouldQuit() || _eventsManager._mouseClicked) + if (shouldQuit() || _eventsManager->_mouseClicked) break; } @@ -913,7 +915,7 @@ void VoyeurSavegameHeader::write(Common::OutSaveFile *f, VoyeurEngine *vm, const f->writeSint16LE(td.tm_mday); f->writeSint16LE(td.tm_hour); f->writeSint16LE(td.tm_min); - f->writeUint32LE(vm->_eventsManager.getGameCounter()); + f->writeUint32LE(vm->_eventsManager->getGameCounter()); } } // End of namespace Voyeur diff --git a/engines/voyeur/voyeur.h b/engines/voyeur/voyeur.h index e9946634cc..16999d85e9 100644 --- a/engines/voyeur/voyeur.h +++ b/engines/voyeur/voyeur.h @@ -158,7 +158,7 @@ protected: public: BoltFile *_bVoy; Debugger *_debugger; - EventsManager _eventsManager; + EventsManager *_eventsManager; FilesManager _filesManager; GraphicsManager _graphicsManager; SoundManager *_soundManager; diff --git a/engines/voyeur/voyeur_game.cpp b/engines/voyeur/voyeur_game.cpp index 6b1c1dcb36..be60c557b5 100644 --- a/engines/voyeur/voyeur_game.cpp +++ b/engines/voyeur/voyeur_game.cpp @@ -50,7 +50,7 @@ void VoyeurEngine::playStamp() { bool breakFlag = false; while (!breakFlag && !shouldQuit()) { _voyeurArea = AREA_NONE; - _eventsManager.getMouseInfo(); + _eventsManager->getMouseInfo(); _playStampGroupId = _currentVocId = -1; _audioVideoId = -1; @@ -153,7 +153,7 @@ void VoyeurEngine::playStamp() { _graphicsManager._backColors = _bVoy->boltEntry(_playStampGroupId + 1)._cMapResource; buttonId = getChooseButton(); - if (_eventsManager._rightClick) + if (_eventsManager->_rightClick) // Aborted out of selecting a recipient buttonId = 4; @@ -201,7 +201,7 @@ void VoyeurEngine::playStamp() { flag = false; } else if (_mainThread->_stateFlags & 2) { - _eventsManager.getMouseInfo(); + _eventsManager->getMouseInfo(); _mainThread->chooseSTAMPButton(0); flag = true; } else { @@ -241,10 +241,10 @@ void VoyeurEngine::doTailTitle() { decoder.start(); decoder.play(this); - if (!shouldQuit() && !_eventsManager._mouseClicked) { + if (!shouldQuit() && !_eventsManager->_mouseClicked) { doClosingCredits(); - if (!shouldQuit() && !_eventsManager._mouseClicked) { + if (!shouldQuit() && !_eventsManager->_mouseClicked) { _graphicsManager.screenReset(); PictureResource *pic = _bVoy->boltEntry(0x602)._picResource; @@ -253,7 +253,7 @@ void VoyeurEngine::doTailTitle() { (*_graphicsManager._vPort)->setupViewPort(pic); pal->startFade(); flipPageAndWaitForFade(); - _eventsManager.delayClick(300); + _eventsManager->delayClick(300); pic = _bVoy->boltEntry(0x604)._picResource; pal = _bVoy->boltEntry(0x605)._cMapResource; @@ -261,7 +261,7 @@ void VoyeurEngine::doTailTitle() { (*_graphicsManager._vPort)->setupViewPort(pic); pal->startFade(); flipPageAndWaitForFade(); - _eventsManager.delayClick(120); + _eventsManager->delayClick(120); _soundManager->stopVOCPlay(); } @@ -286,7 +286,7 @@ void VoyeurEngine::doClosingCredits() { (*_graphicsManager._vPort)->setupViewPort(NULL); _graphicsManager.setColor(1, 180, 180, 180); _graphicsManager.setColor(2, 200, 200, 200); - _eventsManager._intPtr._hasPalette = true; + _eventsManager->_intPtr._hasPalette = true; _graphicsManager._fontPtr->_curFont = _bVoy->boltEntry(0x402)._fontResource; _graphicsManager._fontPtr->_foreColor = 2; @@ -373,10 +373,10 @@ void VoyeurEngine::doClosingCredits() { if (flags & 0x20) { flipPageAndWait(); - _eventsManager.delayClick(READ_LE_UINT16(entry + 2) * 60); + _eventsManager->delayClick(READ_LE_UINT16(entry + 2) * 60); } - if (shouldQuit() || _eventsManager._mouseClicked) + if (shouldQuit() || _eventsManager->_mouseClicked) break; } @@ -389,7 +389,7 @@ void VoyeurEngine::doPiracy() { _graphicsManager.screenReset(); _graphicsManager.setColor(1, 0, 0, 0); _graphicsManager.setColor(2, 255, 255, 255); - _eventsManager._intPtr._hasPalette = true; + _eventsManager->_intPtr._hasPalette = true; (*_graphicsManager._vPort)->setupViewPort(NULL); (*_graphicsManager._vPort)->fillPic(1); @@ -413,8 +413,8 @@ void VoyeurEngine::doPiracy() { } flipPageAndWait(); - _eventsManager.getMouseInfo(); - _eventsManager.delayClick(720); + _eventsManager->getMouseInfo(); + _eventsManager->delayClick(720); } void VoyeurEngine::reviewTape() { @@ -455,18 +455,18 @@ void VoyeurEngine::reviewTape() { _graphicsManager.setColor(10, 64, 132, 64); _graphicsManager.setColor(11, 100, 192, 100); _graphicsManager.setColor(12, 120, 248, 120); - _eventsManager.setCursorColor(128, 1); + _eventsManager->setCursorColor(128, 1); - _eventsManager._intPtr._hasPalette = true; + _eventsManager->_intPtr._hasPalette = true; _graphicsManager._fontPtr->_curFont = _bVoy->boltEntry(0x909)._fontResource; _graphicsManager._fontPtr->_fontSaveBack = false; _graphicsManager._fontPtr->_fontFlags = 0; - _eventsManager.getMouseInfo(); + _eventsManager->getMouseInfo(); if (newX == -1) { - _eventsManager.setMousePos(Common::Point(hotspots[1].left + 12, hotspots[1].top + 6)); + _eventsManager->setMousePos(Common::Point(hotspots[1].left + 12, hotspots[1].top + 6)); } else { - _eventsManager.setMousePos(Common::Point(newX, newY)); + _eventsManager->setMousePos(Common::Point(newX, newY)); } _currentVocId = 151; @@ -498,7 +498,7 @@ void VoyeurEngine::reviewTape() { _graphicsManager._fontPtr->_justifyWidth = 0; _graphicsManager._fontPtr->_justifyHeight = 0; - Common::String msg = _eventsManager.getEvidString(eventNum); + Common::String msg = _eventsManager->getEvidString(eventNum); _graphicsManager._backgroundPage->drawText(msg); yp += 15; @@ -513,13 +513,13 @@ void VoyeurEngine::reviewTape() { } _graphicsManager.sDrawPic(cursor, *_graphicsManager._vPort, - _eventsManager.getMousePos()); + _eventsManager->getMousePos()); flipPageAndWait(); - _eventsManager.getMouseInfo(); + _eventsManager->getMouseInfo(); foundIndex = -1; - Common::Point tempPos = _eventsManager.getMousePos() + Common::Point(14, 7); + Common::Point tempPos = _eventsManager->getMousePos() + Common::Point(14, 7); for (uint idx = 0; idx < hotspots.size(); ++idx) { if (hotspots[idx].contains(tempPos)) { // Found hotspot area @@ -528,18 +528,18 @@ void VoyeurEngine::reviewTape() { } } - pt = _eventsManager.getMousePos(); + pt = _eventsManager->getMousePos(); if (tempPos.x >= 68 && tempPos.x <= 277 && tempPos.y >= 31 && tempPos.y <= 154) { tempPos.y -= 2; foundIndex = (tempPos.y - 31) / 15; if ((tempPos.y - 31) % 15 >= 12 || (eventStart + foundIndex) >= _voy->_eventCount) { - _eventsManager.setCursorColor(128, 0); + _eventsManager->setCursorColor(128, 0); foundIndex = 999; - } else if (!_eventsManager._leftClick) { - _eventsManager.setCursorColor(128, 2); + } else if (!_eventsManager->_leftClick) { + _eventsManager->setCursorColor(128, 2); foundIndex = -1; } else { - _eventsManager.setCursorColor(128, 2); + _eventsManager->setCursorColor(128, 2); eventLine = foundIndex; flipPageAndWait(); @@ -560,7 +560,7 @@ void VoyeurEngine::reviewTape() { _graphicsManager._fontPtr->_justifyWidth = 0; _graphicsManager._fontPtr->_justifyHeight = 0; - Common::String msg = _eventsManager.getEvidString(eventNum); + Common::String msg = _eventsManager->getEvidString(eventNum); _graphicsManager._backgroundPage->drawText(msg); yp += 15; @@ -574,7 +574,7 @@ void VoyeurEngine::reviewTape() { (*_graphicsManager._vPort)->_lastPage, tempRect); flipPageAndWait(); - _eventsManager.getMouseInfo(); + _eventsManager->getMouseInfo(); foundIndex = -1; } } else if ((_voy->_eventFlags & EVTFLAG_40) && _voy->_viewBounds->left == pt.x && @@ -584,12 +584,12 @@ void VoyeurEngine::reviewTape() { _voy->_viewBounds->top == pt.y) { foundIndex = 998; } else { - _eventsManager.setCursorColor(128, (foundIndex == -1) ? 0 : 1); + _eventsManager->setCursorColor(128, (foundIndex == -1) ? 0 : 1); } - _eventsManager._intPtr._hasPalette = true; + _eventsManager->_intPtr._hasPalette = true; - if (_eventsManager._mouseClicked) { + if (_eventsManager->_mouseClicked) { switch (foundIndex) { case 2: if (eventStart > 0) { @@ -635,20 +635,20 @@ void VoyeurEngine::reviewTape() { --eventLine; } - pt = _eventsManager.getMousePos(); - if (_eventsManager._mouseClicked && _voy->_viewBounds->left == pt.x && - (_voy->_eventFlags & EVTFLAG_40) && _eventsManager._rightClick) { + pt = _eventsManager->getMousePos(); + if (_eventsManager->_mouseClicked && _voy->_viewBounds->left == pt.x && + (_voy->_eventFlags & EVTFLAG_40) && _eventsManager->_rightClick) { _controlPtr->_state->_victimIndex = (pt.y / 60) + 1; foundIndex = -1; - _eventsManager._rightClick = 0; + _eventsManager->_rightClick = 0; } - if (_eventsManager._rightClick) + if (_eventsManager->_rightClick) foundIndex = 0; - } while (!shouldQuit() && (!_eventsManager._mouseClicked || foundIndex == -1)); + } while (!shouldQuit() && (!_eventsManager->_mouseClicked || foundIndex == -1)); - newY = _eventsManager.getMousePos().y; + newY = _eventsManager->getMousePos().y; _voy->_fadingType = 0; _voy->_viewBounds = nullptr; (*_graphicsManager._vPort)->setupViewPort(NULL); @@ -683,8 +683,8 @@ void VoyeurEngine::reviewTape() { _graphicsManager._backColors->startFade(); flipPageAndWaitForFade(); - _eventsManager._intPtr._flashStep = 1; - _eventsManager._intPtr._flashTimer = 0; + _eventsManager->_intPtr._flashStep = 1; + _eventsManager->_intPtr._flashTimer = 0; _voy->_eventFlags &= ~EVTFLAG_TIME_DISABLED; // Play suond for the given duration @@ -692,11 +692,11 @@ void VoyeurEngine::reviewTape() { _soundManager->startVOCPlay(_audioVideoId + 159); uint32 secondsDuration = e._computerOff; - _eventsManager.getMouseInfo(); - while (!_eventsManager._mouseClicked && _soundManager->getVOCStatus() && + _eventsManager->getMouseInfo(); + while (!_eventsManager->_mouseClicked && _soundManager->getVOCStatus() && _soundManager->getVOCFrame() < secondsDuration) { - _eventsManager.getMouseInfo(); - _eventsManager.delay(10); + _eventsManager->getMouseInfo(); + _eventsManager->delay(10); } _voy->_eventFlags |= EVTFLAG_TIME_DISABLED; @@ -771,7 +771,7 @@ void VoyeurEngine::doGossip() { decoder2.loadFile("a2110100.rl2", true); decoder2.start(); - _eventsManager.getMouseInfo(); + _eventsManager->getMouseInfo(); decoder2.play(this); decoder2.close(); @@ -783,7 +783,7 @@ void VoyeurEngine::doTapePlaying() { if (!_bVoy->getBoltGroup(0xA00)) return; - _eventsManager.getMouseInfo(); + _eventsManager->getMouseInfo(); _graphicsManager._backColors = _bVoy->boltEntry(0xA01)._cMapResource; _graphicsManager._backgroundPage = _bVoy->boltEntry(0xA00)._picResource; PictureResource *pic = _bVoy->boltEntry(0xA02)._picResource; @@ -797,8 +797,8 @@ void VoyeurEngine::doTapePlaying() { cycle->vStartCycle(); _soundManager->startVOCPlay("vcr.voc"); - while (!shouldQuit() && !_eventsManager._mouseClicked && _soundManager->getVOCStatus()) { - _eventsManager.delayClick(2); + while (!shouldQuit() && !_eventsManager->_mouseClicked && _soundManager->getVOCStatus()) { + _eventsManager->delayClick(2); } _soundManager->stopVOCPlay(); @@ -906,23 +906,23 @@ void VoyeurEngine::playAVideoEvent(int eventIndex) { VoyeurEvent &evt = _voy->_events[eventIndex]; _audioVideoId = evt._audioVideoId; _voy->_vocSecondsOffset = evt._computerOn; - _eventsManager._videoDead = evt._dead; + _eventsManager->_videoDead = evt._dead; _voy->_eventFlags &= ~EVTFLAG_TIME_DISABLED; playAVideoDuration(_audioVideoId, evt._computerOff); _voy->_eventFlags |= EVTFLAG_TIME_DISABLED; - if (_eventsManager._videoDead != -1) { + if (_eventsManager->_videoDead != -1) { _bVoy->freeBoltGroup(0xE00); - _eventsManager._videoDead = -1; + _eventsManager->_videoDead = -1; flipPageAndWait(); - _eventsManager._videoDead = -1; + _eventsManager->_videoDead = -1; } _audioVideoId = -1; - if (_eventsManager._videoDead != -1) { + if (_eventsManager->_videoDead != -1) { _bVoy->freeBoltGroup(0xE00); - _eventsManager._videoDead = -1; + _eventsManager->_videoDead = -1; flipPageAndWait(); } } @@ -946,9 +946,9 @@ int VoyeurEngine::getChooseButton() { if (_currentVocId != -1 && !_soundManager->getVOCStatus()) _soundManager->startVOCPlay(_currentVocId); - _eventsManager.getMouseInfo(); + _eventsManager->getMouseInfo(); selectedIndex = -1; - Common::Point pt = _eventsManager.getMousePos(); + Common::Point pt = _eventsManager->getMousePos(); for (uint idx = 0; idx < hotspots.size(); ++idx) { if (hotspots[idx].contains(pt)) { @@ -976,8 +976,8 @@ int VoyeurEngine::getChooseButton() { Common::Point(pt.x + 13, pt.y - 12)); flipPageAndWait(); - } while (!shouldQuit() && !_eventsManager._mouseClicked); - } while (!shouldQuit() && selectedIndex == -1 && !_eventsManager._rightClick); + } while (!shouldQuit() && !_eventsManager->_mouseClicked); + } while (!shouldQuit() && selectedIndex == -1 && !_eventsManager->_rightClick); return selectedIndex; } @@ -1028,7 +1028,7 @@ void VoyeurEngine::makeViewFinder() { _graphicsManager.setColor(243, 105, 105, 105); _graphicsManager.setColor(palOffset + 241, 219, 235, 235); - _eventsManager._intPtr._hasPalette = true; + _eventsManager->_intPtr._hasPalette = true; } void VoyeurEngine::makeViewFinderP() { @@ -1071,7 +1071,7 @@ void VoyeurEngine::initIFace() { _voy->_viewBounds = _bVoy->boltEntry(_playStampGroupId)._rectResource; // Show the cursor using ScummVM functionality - _eventsManager.showCursor(); + _eventsManager->showCursor(); // Note: the original did two loops to preload members here, which is // redundant for ScummVM, since computers are faster these days, and @@ -1134,7 +1134,7 @@ void VoyeurEngine::checkTransition() { // Show a transition card with the day and time, and wait doTransitionCard(day, time); - _eventsManager.delayClick(180); + _eventsManager->delayClick(180); } _checkTransitionId = _voy->_transitionId; @@ -1207,7 +1207,7 @@ int VoyeurEngine::doComputerText(int maxLen) { char c = *msg++; if (c == '\0') { if (showEnd) { - _eventsManager.delay(90); + _eventsManager->delay(90); _graphicsManager._drawPtr->_pos = Common::Point(96, 54); _graphicsManager._drawPtr->_penColor = 254; (*_graphicsManager._vPort)->sFillBox(196, 124); @@ -1224,7 +1224,7 @@ int VoyeurEngine::doComputerText(int maxLen) { if (c == '^') { yp += 10; } else { - _eventsManager.delay(90); + _eventsManager->delay(90); _graphicsManager._drawPtr->_pos = Common::Point(96, 54); _graphicsManager._drawPtr->_penColor = 255; (*_graphicsManager._vPort)->sFillBox(196, 124); @@ -1239,14 +1239,14 @@ int VoyeurEngine::doComputerText(int maxLen) { _graphicsManager._fontPtr->_justifyWidth = 0; _graphicsManager._fontPtr->_justifyHeight = 0; (*_graphicsManager._vPort)->drawText(Common::String(c)); - _eventsManager.delay(4); + _eventsManager->delay(4); } flipPageAndWait(); - _eventsManager.getMouseInfo(); + _eventsManager->getMouseInfo(); ++totalChars; - } while (!shouldQuit() && !_eventsManager._mouseClicked && totalChars < maxLen); + } while (!shouldQuit() && !_eventsManager->_mouseClicked && totalChars < maxLen); _voy->_computerTimeMax = 0; } @@ -1287,7 +1287,7 @@ void VoyeurEngine::doTimeBar() { (*_graphicsManager._vPort)->sFillBox(6, fullHeight - 92); if (height > 0) { _graphicsManager.setColor(215, 238, 238, 238); - _eventsManager._intPtr._hasPalette = true; + _eventsManager->_intPtr._hasPalette = true; _graphicsManager._drawPtr->_penColor = 215; _graphicsManager._drawPtr->_pos = Common::Point(39, fullHeight); @@ -1298,17 +1298,17 @@ void VoyeurEngine::doTimeBar() { void VoyeurEngine::flashTimeBar() { if (_voy->_RTVNum >= 0 && (_voy->_RTVLimit - _voy->_RTVNum) < 11 && - (_eventsManager._intPtr._flashTimer >= (_flashTimeVal + 15) || - _eventsManager._intPtr._flashTimer < _flashTimeVal)) { + (_eventsManager->_intPtr._flashTimer >= (_flashTimeVal + 15) || + _eventsManager->_intPtr._flashTimer < _flashTimeVal)) { // Within camera low power range - _flashTimeVal = _eventsManager._intPtr._flashTimer; + _flashTimeVal = _eventsManager->_intPtr._flashTimer; if (_flashTimeFlag) _graphicsManager.setColor(240, 220, 20, 20); else _graphicsManager.setColor(240, 220, 220, 220); - _eventsManager._intPtr._hasPalette = true; + _eventsManager->_intPtr._hasPalette = true; _flashTimeFlag = !_flashTimeFlag; } } @@ -1334,7 +1334,7 @@ void VoyeurEngine::checkPhoneCall() { } void VoyeurEngine::doEvidDisplay(int evidId, int eventId) { - _eventsManager.getMouseInfo(); + _eventsManager->getMouseInfo(); flipPageAndWait(); if (_currentVocId != -1) { @@ -1351,8 +1351,8 @@ void VoyeurEngine::doEvidDisplay(int evidId, int eventId) { CMapResource *pal = _bVoy->boltEntry(_voy->_boltGroupId2 + evidId * 2 + 1)._cMapResource; pal->startFade(); - while (!shouldQuit() && (_eventsManager._fadeStatus & 1)) - _eventsManager.delay(1); + while (!shouldQuit() && (_eventsManager->_fadeStatus & 1)) + _eventsManager->delay(1); _bVoy->freeBoltMember(_voy->_boltGroupId2 + evidId * 2 + 1); Common::Array &hotspots = _bVoy->boltEntry(_playStampGroupId + 4)._rectResource->_entries; @@ -1368,17 +1368,17 @@ void VoyeurEngine::doEvidDisplay(int evidId, int eventId) { } flipPageAndWait(); - _eventsManager.stopEvidDim(); + _eventsManager->stopEvidDim(); if (eventId == 999) _voy->addEvidEventStart(evidId); - _eventsManager.getMouseInfo(); + _eventsManager->getMouseInfo(); int arrIndex = 0; int evidIdx = evidId; - while (!shouldQuit() && !_eventsManager._rightClick) { + while (!shouldQuit() && !_eventsManager->_rightClick) { _voyeurArea = AREA_EVIDENCE; if (_currentVocId != -1 && !_soundManager->getVOCStatus()) { @@ -1388,8 +1388,8 @@ void VoyeurEngine::doEvidDisplay(int evidId, int eventId) { _soundManager->startVOCPlay(_currentVocId); } - _eventsManager.delayClick(600); - if (_eventsManager._rightClick) + _eventsManager->delayClick(600); + if (_eventsManager->_rightClick) break; if (count == 0 || evidIdx >= eventId) continue; @@ -1399,11 +1399,11 @@ void VoyeurEngine::doEvidDisplay(int evidId, int eventId) { Common::Point((384 - pic->_bounds.width()) / 2, (240 - pic->_bounds.height()) / 2)); _voy->_evCmPtrs[arrIndex]->startFade(); - while (!shouldQuit() && (_eventsManager._fadeStatus & 1)) - _eventsManager.delay(1); + while (!shouldQuit() && (_eventsManager->_fadeStatus & 1)) + _eventsManager->delay(1); flipPageAndWait(); - _eventsManager.delay(6); + _eventsManager->delay(6); ++evidIdx; ++arrIndex; -- cgit v1.2.3 From 6dd0a81fdfa1b39a77d845a970606d2a00004ffe Mon Sep 17 00:00:00 2001 From: Strangerke Date: Thu, 27 Feb 2014 08:09:57 +0100 Subject: VOYEUR: Remove setVm from FilesManager --- engines/voyeur/files.cpp | 3 ++- engines/voyeur/files.h | 3 +-- engines/voyeur/voyeur.cpp | 26 ++++++++++++++------------ engines/voyeur/voyeur.h | 2 +- engines/voyeur/voyeur_game.cpp | 2 +- 5 files changed, 19 insertions(+), 17 deletions(-) diff --git a/engines/voyeur/files.cpp b/engines/voyeur/files.cpp index f788e66833..4841ff7173 100644 --- a/engines/voyeur/files.cpp +++ b/engines/voyeur/files.cpp @@ -172,8 +172,9 @@ void BoltFilesState::nextBlock() { /*------------------------------------------------------------------------*/ -FilesManager::FilesManager() { +FilesManager::FilesManager(VoyeurEngine *vm) { _curLibPtr = nullptr; + _boltFilesState._vm = vm; } bool FilesManager::openBoltLib(const Common::String &filename, BoltFile *&boltFile) { diff --git a/engines/voyeur/files.h b/engines/voyeur/files.h index c445afdbb6..72fad52d32 100644 --- a/engines/voyeur/files.h +++ b/engines/voyeur/files.h @@ -207,8 +207,7 @@ public: BoltFilesState _boltFilesState; BoltFile *_curLibPtr; public: - FilesManager(); - void setVm(VoyeurEngine *vm) { _boltFilesState._vm = vm; } + FilesManager(VoyeurEngine *vm); bool openBoltLib(const Common::String &filename, BoltFile *&boltFile); byte *fload(const Common::String &filename, int *size = NULL); diff --git a/engines/voyeur/voyeur.cpp b/engines/voyeur/voyeur.cpp index 5112445182..d0cfb05569 100644 --- a/engines/voyeur/voyeur.cpp +++ b/engines/voyeur/voyeur.cpp @@ -41,6 +41,7 @@ VoyeurEngine::VoyeurEngine(OSystem *syst, const VoyeurGameDescription *gameDesc) Common::Point(1, 1), 1, 0, 0) { _debugger = nullptr; _eventsManager = nullptr; + _filesManager = nullptr; _soundManager = nullptr; _voy = nullptr; _bVoy = NULL; @@ -68,11 +69,21 @@ VoyeurEngine::VoyeurEngine(OSystem *syst, const VoyeurGameDescription *gameDesc) initializeManagers(); } +void VoyeurEngine::initializeManagers() { + _graphicsManager.setVm(this); + _debugger = new Debugger(this); + _eventsManager = new EventsManager(this); + _filesManager = new FilesManager(this); + _soundManager = new SoundManager(this, _mixer); + _voy = new SVoy(this); +} + VoyeurEngine::~VoyeurEngine() { delete _bVoy; delete _voy; delete _soundManager; delete _eventsManager; + delete _filesManager; delete _debugger; } @@ -99,15 +110,6 @@ int VoyeurEngine::getRandomNumber(int maxNumber) { return _randomSource.getRandomNumber(maxNumber); } -void VoyeurEngine::initializeManagers() { - _filesManager.setVm(this); - _graphicsManager.setVm(this); - _debugger = new Debugger(this); - _eventsManager = new EventsManager(this); - _soundManager = new SoundManager(this, _mixer); - _voy = new SVoy(this); -} - void VoyeurEngine::ESP_Init() { ThreadResource::init(); @@ -118,7 +120,7 @@ void VoyeurEngine::ESP_Init() { void VoyeurEngine::globalInitBolt() { initBolt(); - _filesManager.openBoltLib("bvoy.blt", _bVoy); + _filesManager->openBoltLib("bvoy.blt", _bVoy); _bVoy->getBoltGroup(0x000); _bVoy->getBoltGroup(0x100); @@ -233,8 +235,8 @@ void VoyeurEngine::showConversionScreen() { bool VoyeurEngine::doLock() { bool result = true; int buttonVocSize, wrongVocSize; - byte *buttonVoc = _filesManager.fload("button.voc", &buttonVocSize); - byte *wrongVoc = _filesManager.fload("wrong.voc", &wrongVocSize); + byte *buttonVoc = _filesManager->fload("button.voc", &buttonVocSize); + byte *wrongVoc = _filesManager->fload("wrong.voc", &wrongVocSize); if (_bVoy->getBoltGroup(0x700)) { _voy->_viewBounds = _bVoy->boltEntry(0x704)._rectResource; diff --git a/engines/voyeur/voyeur.h b/engines/voyeur/voyeur.h index 16999d85e9..76f8b5e3c4 100644 --- a/engines/voyeur/voyeur.h +++ b/engines/voyeur/voyeur.h @@ -159,7 +159,7 @@ public: BoltFile *_bVoy; Debugger *_debugger; EventsManager *_eventsManager; - FilesManager _filesManager; + FilesManager *_filesManager; GraphicsManager _graphicsManager; SoundManager *_soundManager; SVoy *_voy; diff --git a/engines/voyeur/voyeur_game.cpp b/engines/voyeur/voyeur_game.cpp index be60c557b5..75dd5b603d 100644 --- a/engines/voyeur/voyeur_game.cpp +++ b/engines/voyeur/voyeur_game.cpp @@ -28,7 +28,7 @@ namespace Voyeur { void VoyeurEngine::playStamp() { _stampLibPtr = NULL; - _filesManager.openBoltLib("stampblt.blt", _stampLibPtr); + _filesManager->openBoltLib("stampblt.blt", _stampLibPtr); _stampLibPtr->getBoltGroup(0); _controlPtr->_state = _stampLibPtr->boltEntry(_controlPtr->_stateId >> 16)._stateResource; -- cgit v1.2.3 From e44690dae93605aaf466d335ef6dc4c64f2b132a Mon Sep 17 00:00:00 2001 From: Strangerke Date: Thu, 27 Feb 2014 08:15:29 +0100 Subject: VOYEUR: Remove setVm from GraphicsManager --- engines/voyeur/animation.cpp | 6 +- engines/voyeur/data.cpp | 16 +- engines/voyeur/events.cpp | 54 +++---- engines/voyeur/files.cpp | 62 ++++---- engines/voyeur/files_threads.cpp | 74 +++++----- engines/voyeur/graphics.cpp | 2 +- engines/voyeur/graphics.h | 4 +- engines/voyeur/voyeur.cpp | 146 ++++++++++--------- engines/voyeur/voyeur.h | 2 +- engines/voyeur/voyeur_game.cpp | 306 +++++++++++++++++++-------------------- 10 files changed, 337 insertions(+), 335 deletions(-) diff --git a/engines/voyeur/animation.cpp b/engines/voyeur/animation.cpp index 86ab7001d9..be6148c351 100644 --- a/engines/voyeur/animation.cpp +++ b/engines/voyeur/animation.cpp @@ -471,7 +471,7 @@ void RL2Decoder::play(VoyeurEngine *vm, int resourceOffset, if (hasDirtyPalette()) { const byte *palette = getPalette(); - vm->_graphicsManager.setPalette128(palette, paletteStart, paletteCount); + vm->_graphicsManager->setPalette128(palette, paletteStart, paletteCount); } if (needsUpdate()) { @@ -483,7 +483,7 @@ void RL2Decoder::play(VoyeurEngine *vm, int resourceOffset, Common::Point pt(READ_LE_UINT16(imgPos + 4 * picCtr) - 32, READ_LE_UINT16(imgPos + 4 * picCtr + 2) - 20); - vm->_graphicsManager.sDrawPic(newPic, &videoFrame, pt); + vm->_graphicsManager->sDrawPic(newPic, &videoFrame, pt); ++picCtr; } } @@ -491,7 +491,7 @@ void RL2Decoder::play(VoyeurEngine *vm, int resourceOffset, // Decode the next frame and display const Graphics::Surface *frame = decodeNextFrame(); Common::copy((const byte *)frame->getPixels(), (const byte *)frame->getPixels() + 320 * 200, - (byte *)vm->_graphicsManager._screenSurface.getPixels()); + (byte *)vm->_graphicsManager->_screenSurface.getPixels()); } vm->_eventsManager->getMouseInfo(); diff --git a/engines/voyeur/data.cpp b/engines/voyeur/data.cpp index b54160a917..9e29ae4618 100644 --- a/engines/voyeur/data.cpp +++ b/engines/voyeur/data.cpp @@ -238,10 +238,10 @@ void SVoy::reviewAnEvidEvent(int eventIndex) { int frameOff = e._computerOff; if (_vm->_bVoy->getBoltGroup(_vm->_playStampGroupId)) { - _vm->_graphicsManager._backColors = _vm->_bVoy->boltEntry(_vm->_playStampGroupId + 1)._cMapResource; - _vm->_graphicsManager._backgroundPage = _vm->_bVoy->boltEntry(_vm->_playStampGroupId)._picResource; - (*_vm->_graphicsManager._vPort)->setupViewPort(_vm->_graphicsManager._backgroundPage); - _vm->_graphicsManager._backColors->startFade(); + _vm->_graphicsManager->_backColors = _vm->_bVoy->boltEntry(_vm->_playStampGroupId + 1)._cMapResource; + _vm->_graphicsManager->_backgroundPage = _vm->_bVoy->boltEntry(_vm->_playStampGroupId)._picResource; + (*_vm->_graphicsManager->_vPort)->setupViewPort(_vm->_graphicsManager->_backgroundPage); + _vm->_graphicsManager->_backColors->startFade(); _vm->doEvidDisplay(frameOff, e._dead); _vm->_bVoy->freeBoltGroup(_vm->_playStampGroupId); @@ -260,10 +260,10 @@ void SVoy::reviewComputerEvent(int eventIndex) { _computerTextId = e._computerOn; if (_vm->_bVoy->getBoltGroup(_vm->_playStampGroupId)) { - _vm->_graphicsManager._backColors = _vm->_bVoy->boltEntry(_vm->_playStampGroupId + 1)._cMapResource; - _vm->_graphicsManager._backgroundPage = _vm->_bVoy->boltEntry(_vm->_playStampGroupId)._picResource; - (*_vm->_graphicsManager._vPort)->setupViewPort(_vm->_graphicsManager._backgroundPage); - _vm->_graphicsManager._backColors->startFade(); + _vm->_graphicsManager->_backColors = _vm->_bVoy->boltEntry(_vm->_playStampGroupId + 1)._cMapResource; + _vm->_graphicsManager->_backgroundPage = _vm->_bVoy->boltEntry(_vm->_playStampGroupId)._picResource; + (*_vm->_graphicsManager->_vPort)->setupViewPort(_vm->_graphicsManager->_backgroundPage); + _vm->_graphicsManager->_backColors->startFade(); _vm->flipPageAndWaitForFade(); _vm->getComputerBrush(); diff --git a/engines/voyeur/events.cpp b/engines/voyeur/events.cpp index 0e948d8dc3..13fadd3ced 100644 --- a/engines/voyeur/events.cpp +++ b/engines/voyeur/events.cpp @@ -109,18 +109,18 @@ void EventsManager::mainVoyeurIntFunc() { } void EventsManager::sWaitFlip() { - Common::Array &viewPorts = _vm->_graphicsManager._viewPortListPtr->_entries; + Common::Array &viewPorts = _vm->_graphicsManager->_viewPortListPtr->_entries; for (uint idx = 0; idx < viewPorts.size(); ++idx) { ViewPortResource &viewPort = *viewPorts[idx]; - if (_vm->_graphicsManager._saveBack && (viewPort._flags & DISPFLAG_40)) { - Common::Rect *clipPtr = _vm->_graphicsManager._clipPtr; - _vm->_graphicsManager._clipPtr = &viewPort._clipRect; + if (_vm->_graphicsManager->_saveBack && (viewPort._flags & DISPFLAG_40)) { + Common::Rect *clipPtr = _vm->_graphicsManager->_clipPtr; + _vm->_graphicsManager->_clipPtr = &viewPort._clipRect; if (viewPort._restoreFn) - (_vm->_graphicsManager.*viewPort._restoreFn)(&viewPort); + (_vm->_graphicsManager->*viewPort._restoreFn)(&viewPort); - _vm->_graphicsManager._clipPtr = clipPtr; + _vm->_graphicsManager->_clipPtr = clipPtr; viewPort._rectListCount[viewPort._pageIndex] = 0; viewPort._rectListPtr[viewPort._pageIndex]->clear(); viewPort._flags &= ~DISPFLAG_40; @@ -156,7 +156,7 @@ void EventsManager::checkForNextFrameCounter() { showMousePosition(); // Display the frame - g_system->copyRectToScreen((byte *)_vm->_graphicsManager._screenSurface.getPixels(), + g_system->copyRectToScreen((byte *)_vm->_graphicsManager->_screenSurface.getPixels(), SCREEN_WIDTH, 0, 0, SCREEN_WIDTH, SCREEN_HEIGHT); g_system->updateScreen(); @@ -176,9 +176,9 @@ void EventsManager::showMousePosition() { mousePos += Common::String::format(" - (%d,%d)", pt.x, pt.y); } - _vm->_graphicsManager._screenSurface.fillRect( + _vm->_graphicsManager->_screenSurface.fillRect( Common::Rect(0, 0, 110, font.getFontHeight()), 0); - font.drawString(&_vm->_graphicsManager._screenSurface, mousePos, + font.drawString(&_vm->_graphicsManager->_screenSurface, mousePos, 0, 0, 110, 63); } @@ -301,11 +301,11 @@ void EventsManager::startFade(CMapResource *cMap) { if (cMap->_steps > 0) { _fadeStatus = cMap->_fadeStatus | 1; - byte *vgaP = &_vm->_graphicsManager._VGAColors[_fadeFirstCol * 3]; + byte *vgaP = &_vm->_graphicsManager->_VGAColors[_fadeFirstCol * 3]; int mapIndex = 0; for (int idx = _fadeFirstCol; idx <= _fadeLastCol; ++idx, vgaP += 3) { - ViewPortPalEntry &palEntry = _vm->_graphicsManager._viewPortListPtr->_palette[idx]; + ViewPortPalEntry &palEntry = _vm->_graphicsManager->_viewPortListPtr->_palette[idx]; palEntry._rEntry = vgaP[0] << 8; int rDiff = (cMap->_entries[mapIndex * 3] << 8) - palEntry._rEntry; palEntry._rChange = rDiff / cMap->_steps; @@ -327,7 +327,7 @@ void EventsManager::startFade(CMapResource *cMap) { _intPtr._skipFading = true; _fadeIntNode._flags &= ~1; } else { - byte *vgaP = &_vm->_graphicsManager._VGAColors[_fadeFirstCol * 3]; + byte *vgaP = &_vm->_graphicsManager->_VGAColors[_fadeFirstCol * 3]; int mapIndex = 0; for (int idx = _fadeFirstCol; idx <= _fadeLastCol; ++idx, vgaP += 3) { @@ -373,8 +373,8 @@ void EventsManager::vDoFadeInt() { } for (int i = _fadeFirstCol; i <= _fadeLastCol; ++i) { - ViewPortPalEntry &palEntry = _vm->_graphicsManager._viewPortListPtr->_palette[i]; - byte *vgaP = &_vm->_graphicsManager._VGAColors[palEntry._palIndex * 3]; + ViewPortPalEntry &palEntry = _vm->_graphicsManager->_viewPortListPtr->_palette[i]; + byte *vgaP = &_vm->_graphicsManager->_VGAColors[palEntry._palIndex * 3]; palEntry._rEntry += palEntry._rChange; palEntry._gEntry += palEntry._gChange; @@ -397,7 +397,7 @@ void EventsManager::vDoCycleInt() { for (int idx = 3; idx >= 0; --idx) { if (_cyclePtr->_type[idx] && --_cycleTime[idx] <= 0) { byte *pSrc = _cycleNext[idx]; - byte *pPal = _vm->_graphicsManager._VGAColors; + byte *pPal = _vm->_graphicsManager->_VGAColors; if (_cyclePtr->_type[idx] != 1) { // New palette data being specified - loop to set entries @@ -523,7 +523,7 @@ void EventsManager::setCursor(PictureResource *pic) { cursor._bounds = pic->_bounds; cursor._flags = DISPFLAG_CURSOR; - _vm->_graphicsManager.sDrawPic(pic, &cursor, Common::Point()); + _vm->_graphicsManager->sDrawPic(pic, &cursor, Common::Point()); } void EventsManager::setCursor(byte *cursorData, int width, int height) { @@ -533,16 +533,16 @@ void EventsManager::setCursor(byte *cursorData, int width, int height) { void EventsManager::setCursorColor(int idx, int mode) { switch (mode) { case 0: - _vm->_graphicsManager.setColor(idx, 90, 90, 232); + _vm->_graphicsManager->setColor(idx, 90, 90, 232); break; case 1: - _vm->_graphicsManager.setColor(idx, 232, 90, 90); + _vm->_graphicsManager->setColor(idx, 232, 90, 90); break; case 2: - _vm->_graphicsManager.setColor(idx, 90, 232, 90); + _vm->_graphicsManager->setColor(idx, 90, 232, 90); break; case 3: - _vm->_graphicsManager.setColor(idx, 90, 232, 232); + _vm->_graphicsManager->setColor(idx, 90, 232, 232); break; default: break; @@ -566,12 +566,12 @@ void EventsManager::getMouseInfo() { if (_cursorBlinked) { _cursorBlinked = false; - _vm->_graphicsManager.setOneColor(128, 220, 20, 20); - _vm->_graphicsManager.setColor(128, 220, 20, 20); + _vm->_graphicsManager->setOneColor(128, 220, 20, 20); + _vm->_graphicsManager->setColor(128, 220, 20, 20); } else { _cursorBlinked = true; - _vm->_graphicsManager.setOneColor(128, 220, 220, 220); - _vm->_graphicsManager.setColor(128, 220, 220, 220); + _vm->_graphicsManager->setOneColor(128, 220, 220, 220); + _vm->_graphicsManager->setColor(128, 220, 220, 220); } } } @@ -587,11 +587,11 @@ void EventsManager::getMouseInfo() { void EventsManager::startCursorBlink() { if (_vm->_voy->_eventFlags & EVTFLAG_RECORDING) { - _vm->_graphicsManager.setOneColor(128, 55, 5, 5); - _vm->_graphicsManager.setColor(128, 220, 20, 20); + _vm->_graphicsManager->setOneColor(128, 55, 5, 5); + _vm->_graphicsManager->setColor(128, 220, 20, 20); _intPtr._hasPalette = true; - _vm->_graphicsManager.drawDot(); + _vm->_graphicsManager->drawDot(); //copySection(); } } diff --git a/engines/voyeur/files.cpp b/engines/voyeur/files.cpp index 4841ff7173..63551ce6b9 100644 --- a/engines/voyeur/files.cpp +++ b/engines/voyeur/files.cpp @@ -486,8 +486,8 @@ void BVoyBoltFile::initViewPortList() { _state._curMemberPtr->_viewPortListResource = res = new ViewPortListResource( _state, _state._curMemberPtr->_data); - _state._vm->_graphicsManager._viewPortListPtr = res; - _state._vm->_graphicsManager._vPort = &res->_entries[0]; + _state._vm->_graphicsManager->_viewPortListPtr = res; + _state._vm->_graphicsManager->_vPort = &res->_entries[0]; } void BVoyBoltFile::initFontInfo() { @@ -754,24 +754,24 @@ DisplayResource::DisplayResource(VoyeurEngine *vm) { void DisplayResource::sFillBox(int width, int height) { assert(_vm); - bool saveBack = _vm->_graphicsManager._saveBack; - _vm->_graphicsManager._saveBack = false; + bool saveBack = _vm->_graphicsManager->_saveBack; + _vm->_graphicsManager->_saveBack = false; PictureResource pr; pr._flags = 1; pr._select = 0xff; pr._pick = 0; - pr._onOff = _vm->_graphicsManager._drawPtr->_penColor; + pr._onOff = _vm->_graphicsManager->_drawPtr->_penColor; pr._bounds = Common::Rect(0, 0, width, height); - _vm->_graphicsManager.sDrawPic(&pr, this, _vm->_graphicsManager._drawPtr->_pos); - _vm->_graphicsManager._saveBack = saveBack; + _vm->_graphicsManager->sDrawPic(&pr, this, _vm->_graphicsManager->_drawPtr->_pos); + _vm->_graphicsManager->_saveBack = saveBack; } bool DisplayResource::clipRect(Common::Rect &rect) { Common::Rect clippingRect; - if (_vm->_graphicsManager._clipPtr) { - clippingRect = *_vm->_graphicsManager._clipPtr; + if (_vm->_graphicsManager->_clipPtr) { + clippingRect = *_vm->_graphicsManager->_clipPtr; } else if (_flags & DISPFLAG_VIEWPORT) { clippingRect = ((ViewPortResource *)this)->_clipRect; } else { @@ -806,11 +806,11 @@ bool DisplayResource::clipRect(Common::Rect &rect) { } int DisplayResource::drawText(const Common::String &msg) { - GraphicsManager &gfxManager = _vm->_graphicsManager; + GraphicsManager &gfxManager = *_vm->_graphicsManager; assert(gfxManager._fontPtr); assert(gfxManager._fontPtr->_curFont); FontInfoResource &fontInfo = *gfxManager._fontPtr; - PictureResource &fontChar = *_vm->_graphicsManager._fontChar; + PictureResource &fontChar = *_vm->_graphicsManager->_fontChar; FontResource &fontData = *fontInfo._curFont; int xShadows[9] = { 0, 1, 1, 1, 0, -1, -1, -1, 0 }; int yShadows[9] = { 0, 1, 0, -1, -1, -1, 0, 1, 1 }; @@ -995,7 +995,7 @@ int DisplayResource::textWidth(const Common::String &msg) { return 0; const char *msgP = msg.c_str(); - FontResource &fontData = *_vm->_graphicsManager._fontPtr->_curFont; + FontResource &fontData = *_vm->_graphicsManager->_fontPtr->_curFont; int minChar = fontData._minChar; int maxChar = fontData._maxChar; int padding = fontData._padding; @@ -1081,9 +1081,9 @@ PictureResource::PictureResource(BoltFilesState &state, const byte *src): mode = 226; } - if (mode != state._vm->_graphicsManager._SVGAMode) { - state._vm->_graphicsManager._SVGAMode = mode; - state._vm->_graphicsManager.clearPalette(); + if (mode != state._vm->_graphicsManager->_SVGAMode) { + state._vm->_graphicsManager->_SVGAMode = mode; + state._vm->_graphicsManager->clearPalette(); } int screenOffset = READ_LE_UINT32(&src[18]) & 0xffff; @@ -1092,12 +1092,12 @@ PictureResource::PictureResource(BoltFilesState &state, const byte *src): if (_flags & PICFLAG_CLEAR_SCREEN) { // Clear screen picture. That's right. This game actually has a picture // resource flag to clear the screen! Bizarre. - Graphics::Surface &s = state._vm->_graphicsManager._screenSurface; + Graphics::Surface &s = state._vm->_graphicsManager->_screenSurface; s.fillRect(Common::Rect(0, 0, SCREEN_WIDTH, SCREEN_HEIGHT), 0); } else { // Direct screen loading picture. In this case, the raw data of the resource // is directly decompressed into the screen surface. Again, bizarre. - byte *pDest = (byte *)state._vm->_graphicsManager._screenSurface.getPixels(); + byte *pDest = (byte *)state._vm->_graphicsManager->_screenSurface.getPixels(); state.decompress(pDest, SCREEN_WIDTH * SCREEN_HEIGHT, state._curMemberPtr->_mode); } } else { @@ -1320,11 +1320,11 @@ void ViewPortResource::setupViewPort(PictureResource *page, Common::Rect *clippi _restoreFn = restoreFn; if (setupFn) - (_state._vm->_graphicsManager.*setupFn)(this); + (_state._vm->_graphicsManager->*setupFn)(this); } void ViewPortResource::setupViewPort() { - setupViewPort(_state._vm->_graphicsManager._backgroundPage, NULL, + setupViewPort(_state._vm->_graphicsManager->_backgroundPage, NULL, &GraphicsManager::setupMCGASaveRect, &GraphicsManager::addRectOptSaveRect, &GraphicsManager::restoreMCGASaveRect); } @@ -1340,7 +1340,7 @@ void ViewPortResource::addSaveRect(int pageIndex, const Common::Rect &r) { if (clipRect(rect)) { if (_addFn) { - (_state._vm->_graphicsManager.*_addFn)(this, pageIndex, rect); + (_state._vm->_graphicsManager->*_addFn)(this, pageIndex, rect); } else if (_rectListCount[pageIndex] != -1) { _rectListPtr[pageIndex]->push_back(rect); } @@ -1348,26 +1348,26 @@ void ViewPortResource::addSaveRect(int pageIndex, const Common::Rect &r) { } void ViewPortResource::fillPic(byte onOff) { - _state._vm->_graphicsManager.fillPic(this, onOff); + _state._vm->_graphicsManager->fillPic(this, onOff); } void ViewPortResource::drawIfaceTime() { // Hour display - _state._vm->_graphicsManager.drawANumber(*_state._vm->_graphicsManager._vPort, + _state._vm->_graphicsManager->drawANumber(*_state._vm->_graphicsManager->_vPort, (_state._vm->_gameHour / 10) == 0 ? 10 : _state._vm->_gameHour / 10, Common::Point(161, 25)); - _state._vm->_graphicsManager.drawANumber(*_state._vm->_graphicsManager._vPort, + _state._vm->_graphicsManager->drawANumber(*_state._vm->_graphicsManager->_vPort, _state._vm->_gameHour % 10, Common::Point(172, 25)); // Minute display - _state._vm->_graphicsManager.drawANumber(*_state._vm->_graphicsManager._vPort, + _state._vm->_graphicsManager->drawANumber(*_state._vm->_graphicsManager->_vPort, _state._vm->_gameMinute / 10, Common::Point(190, 25)); - _state._vm->_graphicsManager.drawANumber(*_state._vm->_graphicsManager._vPort, + _state._vm->_graphicsManager->drawANumber(*_state._vm->_graphicsManager->_vPort, _state._vm->_gameMinute % 10, Common::Point(201, 25)); // AM/PM indicator PictureResource *pic = _state._vm->_bVoy->boltEntry(_state._vm->_voy->_isAM ? 272 : 273)._picResource; - _state._vm->_graphicsManager.sDrawPic(pic, *_state._vm->_graphicsManager._vPort, + _state._vm->_graphicsManager->sDrawPic(pic, *_state._vm->_graphicsManager->_vPort, Common::Point(215, 27)); } @@ -1375,9 +1375,9 @@ void ViewPortResource::drawPicPerm(PictureResource *pic, const Common::Point &pt Common::Rect bounds = pic->_bounds; bounds.translate(pt.x, pt.y); - bool saveBack = _state._vm->_graphicsManager._saveBack; - _state._vm->_graphicsManager._saveBack = false; - _state._vm->_graphicsManager.sDrawPic(pic, this, pt); + bool saveBack = _state._vm->_graphicsManager->_saveBack; + _state._vm->_graphicsManager->_saveBack = false; + _state._vm->_graphicsManager->sDrawPic(pic, this, pt); clipRect(bounds); for (int pageIndex = 0; pageIndex < _pageCount; ++pageIndex) { @@ -1386,7 +1386,7 @@ void ViewPortResource::drawPicPerm(PictureResource *pic, const Common::Point &pt } } - _state._vm->_graphicsManager._saveBack = saveBack; + _state._vm->_graphicsManager->_saveBack = saveBack; } /*------------------------------------------------------------------------*/ @@ -1519,7 +1519,7 @@ CMapResource::CMapResource(BoltFilesState &state, const byte *src): _vm(state._v _entries = new byte[count * 3]; Common::copy(src + 6, src + 6 + 3 * count, _entries); - int palIndex = state._vm->_graphicsManager._viewPortListPtr->_palIndex; + int palIndex = state._vm->_graphicsManager->_viewPortListPtr->_palIndex; if (_end > palIndex) _end = palIndex; if (_start > palIndex) diff --git a/engines/voyeur/files_threads.cpp b/engines/voyeur/files_threads.cpp index 385e61ecee..603eb64a35 100644 --- a/engines/voyeur/files_threads.cpp +++ b/engines/voyeur/files_threads.cpp @@ -458,7 +458,7 @@ void ThreadResource::parsePlayCommands() { pic = _vm->_bVoy->boltEntry(_vm->_playStampGroupId + i * 2)._picResource; pal = _vm->_bVoy->boltEntry(_vm->_playStampGroupId + i * 2 + 1)._cMapResource; - (*_vm->_graphicsManager._vPort)->setupViewPort(pic); + (*_vm->_graphicsManager->_vPort)->setupViewPort(pic); pal->startFade(); _vm->flipPageAndWaitForFade(); @@ -977,10 +977,10 @@ int ThreadResource::doApt() { _vm->_soundManager->startVOCPlay(_vm->_soundManager->getVOCFileName(_vm->_currentVocId)); _vm->_currentVocId = 151; - _vm->_graphicsManager.setColor(129, 82, 82, 82); - _vm->_graphicsManager.setColor(130, 112, 112, 112); - _vm->_graphicsManager.setColor(131, 215, 215, 215); - _vm->_graphicsManager.setColor(132, 235, 235, 235); + _vm->_graphicsManager->setColor(129, 82, 82, 82); + _vm->_graphicsManager->setColor(130, 112, 112, 112); + _vm->_graphicsManager->setColor(131, 215, 215, 215); + _vm->_graphicsManager->setColor(132, 235, 235, 235); _vm->_eventsManager->_intPtr._hasPalette = true; @@ -1030,7 +1030,7 @@ int ThreadResource::doApt() { // Draw the text description for the highlighted hotspot pic = _vm->_bVoy->boltEntry(_vm->_playStampGroupId + hotspotId + 6)._picResource; - _vm->_graphicsManager.sDrawPic(pic, *_vm->_graphicsManager._vPort, + _vm->_graphicsManager->sDrawPic(pic, *_vm->_graphicsManager->_vPort, Common::Point(106, 200)); } @@ -1045,7 +1045,7 @@ int ThreadResource::doApt() { // Draw either standard or highlighted eye cursor pic = _vm->_bVoy->boltEntry((hotspotId == -1) ? _vm->_playStampGroupId + 2 : _vm->_playStampGroupId + 3)._picResource; - _vm->_graphicsManager.sDrawPic(pic, *_vm->_graphicsManager._vPort, pt); + _vm->_graphicsManager->sDrawPic(pic, *_vm->_graphicsManager->_vPort, pt); _vm->flipPageAndWait(); @@ -1098,10 +1098,10 @@ void ThreadResource::doRoom() { if (!vm._bVoy->getBoltGroup(vm._playStampGroupId, true)) return; - vm._graphicsManager._backColors = vm._bVoy->boltEntry(vm._playStampGroupId + 1)._cMapResource; - vm._graphicsManager._backgroundPage = vm._bVoy->boltEntry(vm._playStampGroupId)._picResource; - (*vm._graphicsManager._vPort)->setupViewPort(vm._graphicsManager._backgroundPage); - vm._graphicsManager._backColors->startFade(); + vm._graphicsManager->_backColors = vm._bVoy->boltEntry(vm._playStampGroupId + 1)._cMapResource; + vm._graphicsManager->_backgroundPage = vm._bVoy->boltEntry(vm._playStampGroupId)._picResource; + (*vm._graphicsManager->_vPort)->setupViewPort(vm._graphicsManager->_backgroundPage); + vm._graphicsManager->_backColors->startFade(); voy._fadingStep1 = 2; voy._fadingStep2 = 0; @@ -1130,7 +1130,7 @@ void ThreadResource::doRoom() { bool breakFlag = false; while (!vm.shouldQuit() && !breakFlag) { _vm->_voyeurArea = AREA_ROOM; - vm._graphicsManager.setColor(128, 0, 255, 0); + vm._graphicsManager->setColor(128, 0, 255, 0); vm._eventsManager->_intPtr._hasPalette = true; do { @@ -1171,7 +1171,7 @@ void ThreadResource::doRoom() { } vm._eventsManager->_intPtr._hasPalette = true; - vm._graphicsManager.flipPage(); + vm._graphicsManager->flipPage(); vm._eventsManager->sWaitFlip(); } while (!vm.shouldQuit() && !vm._eventsManager->_mouseClicked); @@ -1219,13 +1219,13 @@ void ThreadResource::doRoom() { // WORKAROUND: Skipped code from the original, that freed the group, // reloaded it, and reloaded the cursors - vm._graphicsManager._backColors = vm._bVoy->boltEntry( + vm._graphicsManager->_backColors = vm._bVoy->boltEntry( vm._playStampGroupId + 1)._cMapResource; - vm._graphicsManager._backgroundPage = vm._bVoy->boltEntry( + vm._graphicsManager->_backgroundPage = vm._bVoy->boltEntry( vm._playStampGroupId)._picResource; - (*vm._graphicsManager._vPort)->setupViewPort(); - vm._graphicsManager._backColors->startFade(); + (*vm._graphicsManager->_vPort)->setupViewPort(); + vm._graphicsManager->_backColors->startFade(); _vm->flipPageAndWait(); while (!vm.shouldQuit() && (vm._eventsManager->_fadeStatus & 1)) @@ -1250,7 +1250,7 @@ void ThreadResource::doRoom() { _vm->flipPageAndWait(); - vm._graphicsManager.fadeUpICF1(); + vm._graphicsManager->fadeUpICF1(); voy._eventFlags &= EVTFLAG_RECORDING; vm._eventsManager->showCursor(); } @@ -1332,7 +1332,7 @@ int ThreadResource::doInterface() { _vm->_soundManager->startVOCPlay(fname); _vm->_eventsManager->getMouseInfo(); - _vm->_graphicsManager.setColor(240, 220, 220, 220); + _vm->_graphicsManager->setColor(240, 220, 220, 220); _vm->_eventsManager->_intPtr._hasPalette = true; _vm->_voy->_eventFlags &= ~EVTFLAG_TIME_DISABLED; @@ -1406,20 +1406,20 @@ int ThreadResource::doInterface() { // Regularly update the time display if (_vm->_voy->_RTANum & 2) { - _vm->_graphicsManager.drawANumber(*_vm->_graphicsManager._vPort, + _vm->_graphicsManager->drawANumber(*_vm->_graphicsManager->_vPort, _vm->_gameMinute / 10, Common::Point(190, 25)); - _vm->_graphicsManager.drawANumber(*_vm->_graphicsManager._vPort, + _vm->_graphicsManager->drawANumber(*_vm->_graphicsManager->_vPort, _vm->_gameMinute % 10, Common::Point(201, 25)); if (_vm->_voy->_RTANum & 4) { int v = _vm->_gameHour / 10; - _vm->_graphicsManager.drawANumber(*_vm->_graphicsManager._vPort, + _vm->_graphicsManager->drawANumber(*_vm->_graphicsManager->_vPort, v == 0 ? 10 : v, Common::Point(161, 25)); - _vm->_graphicsManager.drawANumber(*_vm->_graphicsManager._vPort, + _vm->_graphicsManager->drawANumber(*_vm->_graphicsManager->_vPort, _vm->_gameHour % 10, Common::Point(172, 25)); pic = _vm->_bVoy->boltEntry(_vm->_voy->_isAM ? 272 : 273)._picResource; - _vm->_graphicsManager.sDrawPic(pic, *_vm->_graphicsManager._vPort, + _vm->_graphicsManager->sDrawPic(pic, *_vm->_graphicsManager->_vPort, Common::Point(215, 27)); } } @@ -1585,16 +1585,16 @@ void ThreadResource::loadTheApt() { doAptAnim(1); _vm->_bVoy->getBoltGroup(_vm->_playStampGroupId); _vm->_voy->_aptLoadMode = -1; - _vm->_graphicsManager._backgroundPage = _vm->_bVoy->boltEntry( + _vm->_graphicsManager->_backgroundPage = _vm->_bVoy->boltEntry( _vm->_playStampGroupId + 5)._picResource; - (*_vm->_graphicsManager._vPort)->setupViewPort( - _vm->_graphicsManager._backgroundPage); + (*_vm->_graphicsManager->_vPort)->setupViewPort( + _vm->_graphicsManager->_backgroundPage); } else { _vm->_bVoy->getBoltGroup(_vm->_playStampGroupId); - _vm->_graphicsManager._backgroundPage = _vm->_bVoy->boltEntry( + _vm->_graphicsManager->_backgroundPage = _vm->_bVoy->boltEntry( _vm->_playStampGroupId + 5)._picResource; - (*_vm->_graphicsManager._vPort)->setupViewPort( - _vm->_graphicsManager._backgroundPage); + (*_vm->_graphicsManager->_vPort)->setupViewPort( + _vm->_graphicsManager->_backgroundPage); } CMapResource *pal = _vm->_bVoy->boltEntry(_vm->_playStampGroupId + 4)._cMapResource; @@ -1604,10 +1604,10 @@ void ThreadResource::loadTheApt() { } void ThreadResource::freeTheApt() { - _vm->_graphicsManager.fadeDownICF1(5); + _vm->_graphicsManager->fadeDownICF1(5); _vm->flipPageAndWaitForFade(); - _vm->_graphicsManager.fadeUpICF1(); + _vm->_graphicsManager->fadeUpICF1(); if (_vm->_currentVocId != -1) { _vm->_soundManager->stopVOCPlay(); @@ -1615,17 +1615,17 @@ void ThreadResource::freeTheApt() { } if (_vm->_voy->_aptLoadMode == -1) { - _vm->_graphicsManager.fadeDownICF(6); + _vm->_graphicsManager->fadeDownICF(6); } else { doAptAnim(2); } if (_vm->_voy->_aptLoadMode == 140) { - _vm->_graphicsManager.screenReset(); - _vm->_graphicsManager.resetPalette(); + _vm->_graphicsManager->screenReset(); + _vm->_graphicsManager->resetPalette(); } - (*_vm->_graphicsManager._vPort)->setupViewPort(nullptr); + (*_vm->_graphicsManager->_vPort)->setupViewPort(nullptr); _vm->_bVoy->freeBoltGroup(_vm->_playStampGroupId); _vm->_playStampGroupId = -1; _vm->_voy->_viewBounds = nullptr; @@ -1685,7 +1685,7 @@ void ThreadResource::doAptAnim(int mode) { for (int idx = 0; (idx < 6) && !_vm->shouldQuit(); ++idx) { PictureResource *pic = _vm->_bVoy->boltEntry(id + idx + 1)._picResource; - (*_vm->_graphicsManager._vPort)->setupViewPort(pic); + (*_vm->_graphicsManager->_vPort)->setupViewPort(pic); pal->startFade(); _vm->flipPageAndWait(); diff --git a/engines/voyeur/graphics.cpp b/engines/voyeur/graphics.cpp index a4dc27bd02..ce5b91fb8a 100644 --- a/engines/voyeur/graphics.cpp +++ b/engines/voyeur/graphics.cpp @@ -38,7 +38,7 @@ DrawInfo::DrawInfo(int penColor, const Common::Point &pos) { /*------------------------------------------------------------------------*/ -GraphicsManager::GraphicsManager(): _defaultDrawInfo(1, Common::Point()), _drawPtr(&_defaultDrawInfo) { +GraphicsManager::GraphicsManager(VoyeurEngine *vm) : _defaultDrawInfo(1, Common::Point()), _drawPtr(&_defaultDrawInfo), _vm(vm) { _SVGAMode = 0; _planeSelect = 0; _saveBack = true; diff --git a/engines/voyeur/graphics.h b/engines/voyeur/graphics.h index 57d72228c5..f736c8a7f9 100644 --- a/engines/voyeur/graphics.h +++ b/engines/voyeur/graphics.h @@ -80,9 +80,9 @@ private: void restoreBack(Common::Array &rectList, int rectListCount, PictureResource *srcPic, PictureResource *destPic); public: - GraphicsManager(); + GraphicsManager(VoyeurEngine *vm); ~GraphicsManager(); - void setVm(VoyeurEngine *vm) { _vm = vm; } + void sInitGraphics(); void setupMCGASaveRect(ViewPortResource *viewPort); diff --git a/engines/voyeur/voyeur.cpp b/engines/voyeur/voyeur.cpp index d0cfb05569..c26841f481 100644 --- a/engines/voyeur/voyeur.cpp +++ b/engines/voyeur/voyeur.cpp @@ -42,6 +42,7 @@ VoyeurEngine::VoyeurEngine(OSystem *syst, const VoyeurGameDescription *gameDesc) _debugger = nullptr; _eventsManager = nullptr; _filesManager = nullptr; + _graphicsManager = nullptr; _soundManager = nullptr; _voy = nullptr; _bVoy = NULL; @@ -70,10 +71,10 @@ VoyeurEngine::VoyeurEngine(OSystem *syst, const VoyeurGameDescription *gameDesc) } void VoyeurEngine::initializeManagers() { - _graphicsManager.setVm(this); _debugger = new Debugger(this); _eventsManager = new EventsManager(this); _filesManager = new FilesManager(this); + _graphicsManager = new GraphicsManager(this); _soundManager = new SoundManager(this, _mixer); _voy = new SVoy(this); } @@ -82,8 +83,9 @@ VoyeurEngine::~VoyeurEngine() { delete _bVoy; delete _voy; delete _soundManager; - delete _eventsManager; + delete _graphicsManager; delete _filesManager; + delete _eventsManager; delete _debugger; } @@ -124,9 +126,9 @@ void VoyeurEngine::globalInitBolt() { _bVoy->getBoltGroup(0x000); _bVoy->getBoltGroup(0x100); - _graphicsManager._fontPtr = &_defaultFontInfo; - _graphicsManager._fontPtr->_curFont = _bVoy->boltEntry(0x101)._fontResource; - assert(_graphicsManager._fontPtr->_curFont); + _graphicsManager->_fontPtr = &_defaultFontInfo; + _graphicsManager->_fontPtr->_curFont = _bVoy->boltEntry(0x101)._fontResource; + assert(_graphicsManager->_fontPtr->_curFont); // Setup default flags _voy->_viewBounds = nullptr; @@ -136,13 +138,13 @@ void VoyeurEngine::globalInitBolt() { void VoyeurEngine::initBolt() { vInitInterrupts(); - _graphicsManager.sInitGraphics(); + _graphicsManager->sInitGraphics(); _eventsManager->vInitColor(); initInput(); } void VoyeurEngine::vInitInterrupts() { - _eventsManager->_intPtr._palette = &_graphicsManager._VGAColors[0]; + _eventsManager->_intPtr._palette = &_graphicsManager->_VGAColors[0]; } void VoyeurEngine::initInput() { @@ -205,8 +207,8 @@ bool VoyeurEngine::doHeadTitle() { } void VoyeurEngine::showConversionScreen() { - _graphicsManager._backgroundPage = _bVoy->boltEntry(0x502)._picResource; - (*_graphicsManager._vPort)->setupViewPort(); + _graphicsManager->_backgroundPage = _bVoy->boltEntry(0x502)._picResource; + (*_graphicsManager->_vPort)->setupViewPort(); flipPageAndWait(); // Immediate palette load to show the initial screen @@ -229,7 +231,7 @@ void VoyeurEngine::showConversionScreen() { flipPageAndWaitForFade(); - _graphicsManager.screenReset(); + _graphicsManager->screenReset(); } bool VoyeurEngine::doLock() { @@ -249,23 +251,23 @@ bool VoyeurEngine::doLock() { byte *keyData = _bVoy->memberAddr(0x705); int keyCount = READ_LE_UINT16(keyData); - _graphicsManager._backColors = _bVoy->getCMapResource(0x7010000); - _graphicsManager._backgroundPage = _bVoy->getPictureResource(0x700); - (*_graphicsManager._vPort)->setupViewPort(); + _graphicsManager->_backColors = _bVoy->getCMapResource(0x7010000); + _graphicsManager->_backgroundPage = _bVoy->getPictureResource(0x700); + (*_graphicsManager->_vPort)->setupViewPort(); - _graphicsManager._backColors->startFade(); - (*_graphicsManager._vPort)->_parent->_flags |= DISPFLAG_8; - _graphicsManager.flipPage(); + _graphicsManager->_backColors->startFade(); + (*_graphicsManager->_vPort)->_parent->_flags |= DISPFLAG_8; + _graphicsManager->flipPage(); _eventsManager->sWaitFlip(); while (!shouldQuit() && (_eventsManager->_fadeStatus & 1)) _eventsManager->delay(1); _eventsManager->setCursorColor(127, 0); - _graphicsManager.setColor(1, 64, 64, 64); - _graphicsManager.setColor(2, 96, 96, 96); - _graphicsManager.setColor(3, 160, 160, 160); - _graphicsManager.setColor(4, 224, 224, 224); + _graphicsManager->setColor(1, 64, 64, 64); + _graphicsManager->setColor(2, 96, 96, 96); + _graphicsManager->setColor(3, 160, 160, 160); + _graphicsManager->setColor(4, 224, 224, 224); // Set up the cursor _eventsManager->setCursor(cursorPic); @@ -273,9 +275,9 @@ bool VoyeurEngine::doLock() { _eventsManager->_intPtr._hasPalette = true; - _graphicsManager._fontPtr->_curFont = _bVoy->boltEntry(0x708)._fontResource; - _graphicsManager._fontPtr->_fontSaveBack = 0; - _graphicsManager._fontPtr->_fontFlags = 0; + _graphicsManager->_fontPtr->_curFont = _bVoy->boltEntry(0x708)._fontResource; + _graphicsManager->_fontPtr->_fontSaveBack = 0; + _graphicsManager->_fontPtr->_fontFlags = 0; Common::String dateString = "ScummVM"; Common::String displayString = Common::String::format("Last Play %s", dateString.c_str()); @@ -284,16 +286,16 @@ bool VoyeurEngine::doLock() { bool breakFlag = false; bool flag = false; while (!breakFlag && !shouldQuit()) { - (*_graphicsManager._vPort)->setupViewPort(); + (*_graphicsManager->_vPort)->setupViewPort(); flipPageAndWait(); // Display the last play time - _graphicsManager._fontPtr->_pos = Common::Point(0, 97); - _graphicsManager._fontPtr->_justify = ALIGN_CENTER; - _graphicsManager._fontPtr->_justifyWidth = 384; - _graphicsManager._fontPtr->_justifyHeight = 97; + _graphicsManager->_fontPtr->_pos = Common::Point(0, 97); + _graphicsManager->_fontPtr->_justify = ALIGN_CENTER; + _graphicsManager->_fontPtr->_justifyWidth = 384; + _graphicsManager->_fontPtr->_justifyHeight = 97; - (*_graphicsManager._vPort)->drawText(displayString); + (*_graphicsManager->_vPort)->drawText(displayString); flipPageAndWait(); if (firstLoop) { @@ -363,7 +365,7 @@ bool VoyeurEngine::doLock() { } else if (key == 11) { // New code if ((password.empty() && displayString.empty()) || (password != displayString)) { - (*_graphicsManager._vPort)->setupViewPort(); + (*_graphicsManager->_vPort)->setupViewPort(); flag = true; displayString = ""; continue; @@ -380,9 +382,9 @@ bool VoyeurEngine::doLock() { _soundManager->playVOCMap(wrongVoc, wrongVocSize); } - _graphicsManager.fillPic(*_graphicsManager._vPort); + _graphicsManager->fillPic(*_graphicsManager->_vPort); flipPageAndWait(); - _graphicsManager.resetPalette(); + _graphicsManager->resetPalette(); _voy->_viewBounds = nullptr; _bVoy->freeBoltGroup(0x700); @@ -398,9 +400,9 @@ bool VoyeurEngine::doLock() { void VoyeurEngine::showTitleScreen() { if (_bVoy->getBoltGroup(0x500)) { - _graphicsManager._backgroundPage = _bVoy->getPictureResource(0x500); + _graphicsManager->_backgroundPage = _bVoy->getPictureResource(0x500); - (*_graphicsManager._vPort)->setupViewPort(); + (*_graphicsManager->_vPort)->setupViewPort(); flipPageAndWait(); // Immediate palette load to show the initial screen @@ -423,19 +425,19 @@ void VoyeurEngine::showTitleScreen() { if (shouldQuit()) return; - _graphicsManager.screenReset(); + _graphicsManager->screenReset(); _eventsManager->delayClick(200); // Voyeur title playRL2Video("a1100100.rl2"); - _graphicsManager.screenReset(); + _graphicsManager->screenReset(); _bVoy->freeBoltGroup(0x500); } } void VoyeurEngine::doOpening() { - _graphicsManager.screenReset(); + _graphicsManager->screenReset(); if (!_bVoy->getBoltGroup(0x200, true)) return; @@ -461,10 +463,10 @@ void VoyeurEngine::doOpening() { _voy->_eventFlags &= ~EVTFLAG_TIME_DISABLED; for (int i = 0; i < 256; ++i) - _graphicsManager.setColor(i, 8, 8, 8); + _graphicsManager->setColor(i, 8, 8, 8); _eventsManager->_intPtr._hasPalette = true; - (*_graphicsManager._vPort)->setupViewPort(); + (*_graphicsManager->_vPort)->setupViewPort(); flipPageAndWait(); RL2Decoder decoder; @@ -474,14 +476,14 @@ void VoyeurEngine::doOpening() { while (!shouldQuit() && !decoder.endOfVideo() && !_eventsManager->_mouseClicked) { if (decoder.hasDirtyPalette()) { const byte *palette = decoder.getPalette(); - _graphicsManager.setPalette(palette, 0, 256); + _graphicsManager->setPalette(palette, 0, 256); } if (decoder.needsUpdate()) { const Graphics::Surface *frame = decoder.decodeNextFrame(); Common::copy((const byte *)frame->getPixels(), (const byte *)frame->getPixels() + 320 * 200, - (byte *)_graphicsManager._screenSurface.getPixels()); + (byte *)_graphicsManager->_screenSurface.getPixels()); if (decoder.getCurFrame() >= (int32)READ_LE_UINT32(frameTable + frameIndex * 4)) { if (creditShow) { @@ -501,7 +503,7 @@ void VoyeurEngine::doOpening() { } if (textPic) { - _graphicsManager.sDrawPic(textPic, *_graphicsManager._vPort, textPos); + _graphicsManager->sDrawPic(textPic, *_graphicsManager->_vPort, textPos); flipPageAndWait(); } } @@ -528,14 +530,14 @@ void VoyeurEngine::playRL2Video(const Common::String &filename) { while (!shouldQuit() && !decoder.endOfVideo() && !_eventsManager->_mouseClicked) { if (decoder.hasDirtyPalette()) { const byte *palette = decoder.getPalette(); - _graphicsManager.setPalette(palette, 0, 256); + _graphicsManager->setPalette(palette, 0, 256); } if (decoder.needsUpdate()) { const Graphics::Surface *frame = decoder.decodeNextFrame(); Common::copy((const byte *)frame->getPixels(), (const byte *)frame->getPixels() + 320 * 200, - (byte *)_graphicsManager._screenSurface.getPixels()); + (byte *)_graphicsManager->_screenSurface.getPixels()); } _eventsManager->getMouseInfo(); @@ -575,15 +577,15 @@ void VoyeurEngine::playAVideoDuration(int videoId, int duration) { const Graphics::Surface *frame = decoder.decodeNextFrame(); Common::copy((const byte *)frame->getPixels(), (const byte *)frame->getPixels() + 320 * 200, - (byte *)_graphicsManager._screenSurface.getPixels()); + (byte *)_graphicsManager->_screenSurface.getPixels()); if (_voy->_eventFlags & EVTFLAG_RECORDING) - _graphicsManager.drawDot(); + _graphicsManager->drawDot(); } if (decoder.hasDirtyPalette()) { const byte *palette = decoder.getPalette(); - _graphicsManager.setPalette(palette, 0, decoder.getPaletteCount()); - _graphicsManager.setOneColor(128, 220, 20, 20); + _graphicsManager->setPalette(palette, 0, decoder.getPaletteCount()); + _graphicsManager->setOneColor(128, 220, 20, 20); } _eventsManager->getMouseInfo(); @@ -591,13 +593,13 @@ void VoyeurEngine::playAVideoDuration(int videoId, int duration) { } // RL2 finished - _graphicsManager.screenReset(); + _graphicsManager->screenReset(); _voy->_eventFlags &= ~EVTFLAG_RECORDING; if (_voy->_eventFlags & EVTFLAG_8) { assert(pic); - byte *imgData = (*_graphicsManager._vPort)->_currentPic->_imgData; - (*_graphicsManager._vPort)->_currentPic->_imgData = pic->_imgData; + byte *imgData = (*_graphicsManager->_vPort)->_currentPic->_imgData; + (*_graphicsManager->_vPort)->_currentPic->_imgData = pic->_imgData; pic->_imgData = imgData; _voy->_eventFlags &= ~EVTFLAG_8; } @@ -605,13 +607,13 @@ void VoyeurEngine::playAVideoDuration(int videoId, int duration) { void VoyeurEngine::playAudio(int audioId) { _bVoy->getBoltGroup(0x7F00); - _graphicsManager._backgroundPage = _bVoy->boltEntry(0x7F00 + + _graphicsManager->_backgroundPage = _bVoy->boltEntry(0x7F00 + BLIND_TABLE[audioId] * 2)._picResource; - _graphicsManager._backColors = _bVoy->boltEntry(0x7F01 + + _graphicsManager->_backColors = _bVoy->boltEntry(0x7F01 + BLIND_TABLE[audioId] * 2)._cMapResource; - (*_graphicsManager._vPort)->setupViewPort(); - _graphicsManager._backColors->startFade(); + (*_graphicsManager->_vPort)->setupViewPort(); + _graphicsManager->_backColors->startFade(); flipPageAndWaitForFade(); _voy->_eventFlags &= ~EVTFLAG_TIME_DISABLED; @@ -630,26 +632,26 @@ void VoyeurEngine::playAudio(int audioId) { _soundManager->stopVOCPlay(); _bVoy->freeBoltGroup(0x7F00); - (*_graphicsManager._vPort)->setupViewPort(NULL); + (*_graphicsManager->_vPort)->setupViewPort(NULL); _voy->_eventFlags &= ~EVTFLAG_RECORDING; _voy->_playStampMode = 129; } void VoyeurEngine::doTransitionCard(const Common::String &time, const Common::String &location) { - _graphicsManager.setColor(128, 16, 16, 16); - _graphicsManager.setColor(224, 220, 220, 220); + _graphicsManager->setColor(128, 16, 16, 16); + _graphicsManager->setColor(224, 220, 220, 220); _eventsManager->_intPtr._hasPalette = true; - (*_graphicsManager._vPort)->setupViewPort(NULL); - (*_graphicsManager._vPort)->fillPic(128); - _graphicsManager.flipPage(); + (*_graphicsManager->_vPort)->setupViewPort(NULL); + (*_graphicsManager->_vPort)->fillPic(128); + _graphicsManager->flipPage(); _eventsManager->sWaitFlip(); flipPageAndWait(); - (*_graphicsManager._vPort)->fillPic(128); + (*_graphicsManager->_vPort)->fillPic(128); - FontInfoResource &fi = *_graphicsManager._fontPtr; + FontInfoResource &fi = *_graphicsManager->_fontPtr; fi._curFont = _bVoy->boltEntry(257)._fontResource; fi._foreColor = 224; fi._fontSaveBack = 0; @@ -658,7 +660,7 @@ void VoyeurEngine::doTransitionCard(const Common::String &time, const Common::St fi._justifyWidth = 384; fi._justifyHeight = 120; - (*_graphicsManager._vPort)->drawText(time); + (*_graphicsManager->_vPort)->drawText(time); if (!location.empty()) { fi._pos = Common::Point(0, 138); @@ -666,7 +668,7 @@ void VoyeurEngine::doTransitionCard(const Common::String &time, const Common::St fi._justifyWidth = 384; fi._justifyHeight = 140; - (*_graphicsManager._vPort)->drawText(location); + (*_graphicsManager->_vPort)->drawText(location); } flipPageAndWait(); @@ -677,8 +679,8 @@ void VoyeurEngine::saveLastInplay() { } void VoyeurEngine::flipPageAndWait() { - (*_graphicsManager._vPort)->_flags |= DISPFLAG_8; - _graphicsManager.flipPage(); + (*_graphicsManager->_vPort)->_flags |= DISPFLAG_8; + _graphicsManager->flipPage(); _eventsManager->sWaitFlip(); } @@ -699,7 +701,7 @@ void VoyeurEngine::showEndingNews() { PictureResource *pic = _bVoy->boltEntry(_playStampGroupId)._picResource; CMapResource *pal = _bVoy->boltEntry(_playStampGroupId + 1)._cMapResource; - (*_graphicsManager._vPort)->setupViewPort(pic); + (*_graphicsManager->_vPort)->setupViewPort(pic); pal->startFade(); flipPageAndWaitForFade(); @@ -714,7 +716,7 @@ void VoyeurEngine::showEndingNews() { pal = _bVoy->boltEntry(_playStampGroupId + idx * 2 + 1)._cMapResource; } - (*_graphicsManager._vPort)->setupViewPort(pic); + (*_graphicsManager->_vPort)->setupViewPort(pic); pal->startFade(); flipPageAndWaitForFade(); @@ -849,7 +851,7 @@ void VoyeurEngine::synchronize(Common::Serializer &s) { // Sub-systems _voy->synchronize(s); - _graphicsManager.synchronize(s); + _graphicsManager->synchronize(s); _mainThread->synchronize(s); _controlPtr->_state->synchronize(s); } @@ -903,8 +905,8 @@ void VoyeurSavegameHeader::write(Common::OutSaveFile *f, VoyeurEngine *vm, const // Create a thumbnail and save it Graphics::Surface *thumb = new Graphics::Surface(); - ::createThumbnail(thumb, (byte *)vm->_graphicsManager._screenSurface.getPixels(), - SCREEN_WIDTH, SCREEN_HEIGHT, vm->_graphicsManager._VGAColors); + ::createThumbnail(thumb, (byte *)vm->_graphicsManager->_screenSurface.getPixels(), + SCREEN_WIDTH, SCREEN_HEIGHT, vm->_graphicsManager->_VGAColors); Graphics::saveThumbnail(*f, *thumb); thumb->free(); delete thumb; diff --git a/engines/voyeur/voyeur.h b/engines/voyeur/voyeur.h index 76f8b5e3c4..4b90f8559d 100644 --- a/engines/voyeur/voyeur.h +++ b/engines/voyeur/voyeur.h @@ -160,7 +160,7 @@ public: Debugger *_debugger; EventsManager *_eventsManager; FilesManager *_filesManager; - GraphicsManager _graphicsManager; + GraphicsManager *_graphicsManager; SoundManager *_soundManager; SVoy *_voy; diff --git a/engines/voyeur/voyeur_game.cpp b/engines/voyeur/voyeur_game.cpp index 75dd5b603d..23fc722493 100644 --- a/engines/voyeur/voyeur_game.cpp +++ b/engines/voyeur/voyeur_game.cpp @@ -149,8 +149,8 @@ void VoyeurEngine::playStamp() { case 130: { // user selected to send the tape if (_bVoy->getBoltGroup(_playStampGroupId)) { - _graphicsManager._backgroundPage = _bVoy->boltEntry(_playStampGroupId)._picResource; - _graphicsManager._backColors = _bVoy->boltEntry(_playStampGroupId + 1)._cMapResource; + _graphicsManager->_backgroundPage = _bVoy->boltEntry(_playStampGroupId)._picResource; + _graphicsManager->_backColors = _bVoy->boltEntry(_playStampGroupId + 1)._cMapResource; buttonId = getChooseButton(); if (_eventsManager->_rightClick) @@ -158,7 +158,7 @@ void VoyeurEngine::playStamp() { buttonId = 4; _bVoy->freeBoltGroup(_playStampGroupId); - _graphicsManager.screenReset(); + _graphicsManager->screenReset(); _playStampGroupId = -1; flag = true; @@ -232,8 +232,8 @@ void VoyeurEngine::closeStamp() { } void VoyeurEngine::doTailTitle() { - (*_graphicsManager._vPort)->setupViewPort(NULL); - _graphicsManager.screenReset(); + (*_graphicsManager->_vPort)->setupViewPort(NULL); + _graphicsManager->screenReset(); if (_bVoy->getBoltGroup(0x600)) { RL2Decoder decoder; @@ -245,12 +245,12 @@ void VoyeurEngine::doTailTitle() { doClosingCredits(); if (!shouldQuit() && !_eventsManager->_mouseClicked) { - _graphicsManager.screenReset(); + _graphicsManager->screenReset(); PictureResource *pic = _bVoy->boltEntry(0x602)._picResource; CMapResource *pal = _bVoy->boltEntry(0x603)._cMapResource; - (*_graphicsManager._vPort)->setupViewPort(pic); + (*_graphicsManager->_vPort)->setupViewPort(pic); pal->startFade(); flipPageAndWaitForFade(); _eventsManager->delayClick(300); @@ -258,7 +258,7 @@ void VoyeurEngine::doTailTitle() { pic = _bVoy->boltEntry(0x604)._picResource; pal = _bVoy->boltEntry(0x605)._cMapResource; - (*_graphicsManager._vPort)->setupViewPort(pic); + (*_graphicsManager->_vPort)->setupViewPort(pic); pal->startFade(); flipPageAndWaitForFade(); _eventsManager->delayClick(120); @@ -283,26 +283,26 @@ void VoyeurEngine::doClosingCredits() { const char *msg = (const char *)_bVoy->memberAddr(0x404); const byte *creditList = (const byte *)_bVoy->memberAddr(0x405); - (*_graphicsManager._vPort)->setupViewPort(NULL); - _graphicsManager.setColor(1, 180, 180, 180); - _graphicsManager.setColor(2, 200, 200, 200); + (*_graphicsManager->_vPort)->setupViewPort(NULL); + _graphicsManager->setColor(1, 180, 180, 180); + _graphicsManager->setColor(2, 200, 200, 200); _eventsManager->_intPtr._hasPalette = true; - _graphicsManager._fontPtr->_curFont = _bVoy->boltEntry(0x402)._fontResource; - _graphicsManager._fontPtr->_foreColor = 2; - _graphicsManager._fontPtr->_backColor = 2; - _graphicsManager._fontPtr->_fontSaveBack = false; - _graphicsManager._fontPtr->_fontFlags = 0; + _graphicsManager->_fontPtr->_curFont = _bVoy->boltEntry(0x402)._fontResource; + _graphicsManager->_fontPtr->_foreColor = 2; + _graphicsManager->_fontPtr->_backColor = 2; + _graphicsManager->_fontPtr->_fontSaveBack = false; + _graphicsManager->_fontPtr->_fontFlags = 0; _soundManager->startVOCPlay(152); - FontInfoResource &fi = *_graphicsManager._fontPtr; + FontInfoResource &fi = *_graphicsManager->_fontPtr; for (int idx = 0; idx < 78; ++idx) { const byte *entry = creditList + idx * 6; int flags = READ_LE_UINT16(entry + 4); if (flags & 0x10) - (*_graphicsManager._vPort)->fillPic(); + (*_graphicsManager->_vPort)->fillPic(); if (flags & 1) { fi._foreColor = 1; @@ -312,7 +312,7 @@ void VoyeurEngine::doClosingCredits() { fi._justifyHeight = 240; fi._pos = Common::Point(0, READ_LE_UINT16(entry)); - (*_graphicsManager._vPort)->drawText(msg); + (*_graphicsManager->_vPort)->drawText(msg); msg += strlen(msg) + 1; } @@ -324,7 +324,7 @@ void VoyeurEngine::doClosingCredits() { fi._justifyHeight = 240; fi._pos = Common::Point(0, READ_LE_UINT16(entry)); - (*_graphicsManager._vPort)->drawText(msg); + (*_graphicsManager->_vPort)->drawText(msg); msg += strlen(msg) + 1; } @@ -336,7 +336,7 @@ void VoyeurEngine::doClosingCredits() { fi._justifyHeight = 240; fi._pos = Common::Point(38, READ_LE_UINT16(entry)); - (*_graphicsManager._vPort)->drawText(msg); + (*_graphicsManager->_vPort)->drawText(msg); msg += strlen(msg) + 1; fi._foreColor = 2; @@ -345,7 +345,7 @@ void VoyeurEngine::doClosingCredits() { fi._justifyHeight = 240; fi._pos = Common::Point(198, READ_LE_UINT16(entry)); - (*_graphicsManager._vPort)->drawText(msg); + (*_graphicsManager->_vPort)->drawText(msg); msg += strlen(msg) + 1; } @@ -357,7 +357,7 @@ void VoyeurEngine::doClosingCredits() { fi._justifyHeight = 240; fi._pos = Common::Point(0, READ_LE_UINT16(entry)); - (*_graphicsManager._vPort)->drawText(msg); + (*_graphicsManager->_vPort)->drawText(msg); msg += strlen(msg) + 1; fi._foreColor = 2; @@ -367,7 +367,7 @@ void VoyeurEngine::doClosingCredits() { fi._justifyHeight = 240; fi._pos = Common::Point(0, READ_LE_UINT16(entry) + 13); - (*_graphicsManager._vPort)->drawText(msg); + (*_graphicsManager->_vPort)->drawText(msg); msg += strlen(msg) + 1; } @@ -381,19 +381,19 @@ void VoyeurEngine::doClosingCredits() { } _soundManager->stopVOCPlay(); - _graphicsManager._fontPtr->_curFont = _bVoy->boltEntry(0x101)._fontResource; + _graphicsManager->_fontPtr->_curFont = _bVoy->boltEntry(0x101)._fontResource; _bVoy->freeBoltGroup(0x400); } void VoyeurEngine::doPiracy() { - _graphicsManager.screenReset(); - _graphicsManager.setColor(1, 0, 0, 0); - _graphicsManager.setColor(2, 255, 255, 255); + _graphicsManager->screenReset(); + _graphicsManager->setColor(1, 0, 0, 0); + _graphicsManager->setColor(2, 255, 255, 255); _eventsManager->_intPtr._hasPalette = true; - (*_graphicsManager._vPort)->setupViewPort(NULL); - (*_graphicsManager._vPort)->fillPic(1); + (*_graphicsManager->_vPort)->setupViewPort(NULL); + (*_graphicsManager->_vPort)->fillPic(1); - FontInfoResource &fi = *_graphicsManager._fontPtr; + FontInfoResource &fi = *_graphicsManager->_fontPtr; fi._curFont = _bVoy->boltEntry(0x101)._fontResource; fi._foreColor = 2; fi._backColor = 2; @@ -407,7 +407,7 @@ void VoyeurEngine::doPiracy() { int yp, idx; for (idx = 0, yp = 33; idx < 10; ++idx) { fi._pos = Common::Point(0, yp); - (*_graphicsManager._vPort)->drawText(PIRACY_MESSAGE[idx]); + (*_graphicsManager->_vPort)->drawText(PIRACY_MESSAGE[idx]); yp += fi._curFont->_fontHeight + 4; } @@ -440,27 +440,27 @@ void VoyeurEngine::reviewTape() { _voy->_viewBounds = _bVoy->boltEntry(0x907)._rectResource; Common::Array &hotspots = _bVoy->boltEntry(0x906)._rectResource->_entries; - _graphicsManager._backColors = _bVoy->boltEntry(0x902)._cMapResource; - _graphicsManager._backgroundPage = _bVoy->boltEntry(0x901)._picResource; - (*_graphicsManager._vPort)->setupViewPort(_graphicsManager._backgroundPage); - _graphicsManager._backColors->startFade(); + _graphicsManager->_backColors = _bVoy->boltEntry(0x902)._cMapResource; + _graphicsManager->_backgroundPage = _bVoy->boltEntry(0x901)._picResource; + (*_graphicsManager->_vPort)->setupViewPort(_graphicsManager->_backgroundPage); + _graphicsManager->_backColors->startFade(); flipPageAndWaitForFade(); - _graphicsManager.setColor(1, 32, 32, 32); - _graphicsManager.setColor(2, 96, 96, 96); - _graphicsManager.setColor(3, 160, 160, 160); - _graphicsManager.setColor(4, 224, 224, 224); - _graphicsManager.setColor(9, 24, 64, 24); - _graphicsManager.setColor(10, 64, 132, 64); - _graphicsManager.setColor(11, 100, 192, 100); - _graphicsManager.setColor(12, 120, 248, 120); + _graphicsManager->setColor(1, 32, 32, 32); + _graphicsManager->setColor(2, 96, 96, 96); + _graphicsManager->setColor(3, 160, 160, 160); + _graphicsManager->setColor(4, 224, 224, 224); + _graphicsManager->setColor(9, 24, 64, 24); + _graphicsManager->setColor(10, 64, 132, 64); + _graphicsManager->setColor(11, 100, 192, 100); + _graphicsManager->setColor(12, 120, 248, 120); _eventsManager->setCursorColor(128, 1); _eventsManager->_intPtr._hasPalette = true; - _graphicsManager._fontPtr->_curFont = _bVoy->boltEntry(0x909)._fontResource; - _graphicsManager._fontPtr->_fontSaveBack = false; - _graphicsManager._fontPtr->_fontFlags = 0; + _graphicsManager->_fontPtr->_curFont = _bVoy->boltEntry(0x909)._fontResource; + _graphicsManager->_fontPtr->_fontSaveBack = false; + _graphicsManager->_fontPtr->_fontFlags = 0; _eventsManager->getMouseInfo(); if (newX == -1) { @@ -482,37 +482,37 @@ void VoyeurEngine::reviewTape() { needRedraw = false; flipPageAndWait(); - _graphicsManager._drawPtr->_penColor = 0; - _graphicsManager._drawPtr->_pos = Common::Point(tempRect.left, tempRect.top); - _graphicsManager._backgroundPage->sFillBox(tempRect.width(), tempRect.height()); + _graphicsManager->_drawPtr->_penColor = 0; + _graphicsManager->_drawPtr->_pos = Common::Point(tempRect.left, tempRect.top); + _graphicsManager->_backgroundPage->sFillBox(tempRect.width(), tempRect.height()); int yp = 45; int eventNum = eventStart; for (int lineNum = 0; lineNum < 8 && eventNum < _voy->_eventCount; ++lineNum, ++eventNum) { - _graphicsManager._fontPtr->_picFlags = 0; - _graphicsManager._fontPtr->_picSelect = 0xff; - _graphicsManager._fontPtr->_picPick = 7; - _graphicsManager._fontPtr->_picOnOff = (lineNum == eventLine) ? 8 : 0; - _graphicsManager._fontPtr->_pos = Common::Point(68, yp); - _graphicsManager._fontPtr->_justify = ALIGN_LEFT; - _graphicsManager._fontPtr->_justifyWidth = 0; - _graphicsManager._fontPtr->_justifyHeight = 0; + _graphicsManager->_fontPtr->_picFlags = 0; + _graphicsManager->_fontPtr->_picSelect = 0xff; + _graphicsManager->_fontPtr->_picPick = 7; + _graphicsManager->_fontPtr->_picOnOff = (lineNum == eventLine) ? 8 : 0; + _graphicsManager->_fontPtr->_pos = Common::Point(68, yp); + _graphicsManager->_fontPtr->_justify = ALIGN_LEFT; + _graphicsManager->_fontPtr->_justifyWidth = 0; + _graphicsManager->_fontPtr->_justifyHeight = 0; Common::String msg = _eventsManager->getEvidString(eventNum); - _graphicsManager._backgroundPage->drawText(msg); + _graphicsManager->_backgroundPage->drawText(msg); yp += 15; } - (*_graphicsManager._vPort)->addSaveRect( - (*_graphicsManager._vPort)->_lastPage, tempRect); + (*_graphicsManager->_vPort)->addSaveRect( + (*_graphicsManager->_vPort)->_lastPage, tempRect); flipPageAndWait(); - (*_graphicsManager._vPort)->addSaveRect( - (*_graphicsManager._vPort)->_lastPage, tempRect); + (*_graphicsManager->_vPort)->addSaveRect( + (*_graphicsManager->_vPort)->_lastPage, tempRect); } - _graphicsManager.sDrawPic(cursor, *_graphicsManager._vPort, + _graphicsManager->sDrawPic(cursor, *_graphicsManager->_vPort, _eventsManager->getMousePos()); flipPageAndWait(); @@ -544,34 +544,34 @@ void VoyeurEngine::reviewTape() { flipPageAndWait(); - _graphicsManager._drawPtr->_penColor = 0; - _graphicsManager._drawPtr->_pos = Common::Point(tempRect.left, tempRect.top); - _graphicsManager._backgroundPage->sFillBox(tempRect.width(), tempRect.height()); + _graphicsManager->_drawPtr->_penColor = 0; + _graphicsManager->_drawPtr->_pos = Common::Point(tempRect.left, tempRect.top); + _graphicsManager->_backgroundPage->sFillBox(tempRect.width(), tempRect.height()); int yp = 45; int eventNum = eventStart; for (int idx = 0; idx < 8 && eventNum < _voy->_eventCount; ++idx, ++eventNum) { - _graphicsManager._fontPtr->_picFlags = 0; - _graphicsManager._fontPtr->_picSelect = 0xff; - _graphicsManager._fontPtr->_picPick = 7; - _graphicsManager._fontPtr->_picOnOff = (idx == eventLine) ? 8 : 0; - _graphicsManager._fontPtr->_pos = Common::Point(68, yp); - _graphicsManager._fontPtr->_justify = ALIGN_LEFT; - _graphicsManager._fontPtr->_justifyWidth = 0; - _graphicsManager._fontPtr->_justifyHeight = 0; + _graphicsManager->_fontPtr->_picFlags = 0; + _graphicsManager->_fontPtr->_picSelect = 0xff; + _graphicsManager->_fontPtr->_picPick = 7; + _graphicsManager->_fontPtr->_picOnOff = (idx == eventLine) ? 8 : 0; + _graphicsManager->_fontPtr->_pos = Common::Point(68, yp); + _graphicsManager->_fontPtr->_justify = ALIGN_LEFT; + _graphicsManager->_fontPtr->_justifyWidth = 0; + _graphicsManager->_fontPtr->_justifyHeight = 0; Common::String msg = _eventsManager->getEvidString(eventNum); - _graphicsManager._backgroundPage->drawText(msg); + _graphicsManager->_backgroundPage->drawText(msg); yp += 15; } - (*_graphicsManager._vPort)->addSaveRect( - (*_graphicsManager._vPort)->_lastPage, tempRect); + (*_graphicsManager->_vPort)->addSaveRect( + (*_graphicsManager->_vPort)->_lastPage, tempRect); flipPageAndWait(); - (*_graphicsManager._vPort)->addSaveRect( - (*_graphicsManager._vPort)->_lastPage, tempRect); + (*_graphicsManager->_vPort)->addSaveRect( + (*_graphicsManager->_vPort)->_lastPage, tempRect); flipPageAndWait(); _eventsManager->getMouseInfo(); @@ -651,7 +651,7 @@ void VoyeurEngine::reviewTape() { newY = _eventsManager->getMousePos().y; _voy->_fadingType = 0; _voy->_viewBounds = nullptr; - (*_graphicsManager._vPort)->setupViewPort(NULL); + (*_graphicsManager->_vPort)->setupViewPort(NULL); if (_currentVocId != -1) { _voy->_vocSecondsOffset = _voy->_RTVNum - _voy->_musicStartTime; @@ -674,13 +674,13 @@ void VoyeurEngine::reviewTape() { _voy->_vocSecondsOffset = e._computerOn; _bVoy->getBoltGroup(0x7F00); - _graphicsManager._backgroundPage = _bVoy->boltEntry(0x7F00 + + _graphicsManager->_backgroundPage = _bVoy->boltEntry(0x7F00 + BLIND_TABLE[_audioVideoId])._picResource; - _graphicsManager._backColors = _bVoy->boltEntry(0x7F01 + + _graphicsManager->_backColors = _bVoy->boltEntry(0x7F01 + BLIND_TABLE[_audioVideoId])._cMapResource; - (*_graphicsManager._vPort)->setupViewPort(_graphicsManager._backgroundPage); - _graphicsManager._backColors->startFade(); + (*_graphicsManager->_vPort)->setupViewPort(_graphicsManager->_backgroundPage); + _graphicsManager->_backColors->startFade(); flipPageAndWaitForFade(); _eventsManager->_intPtr._flashStep = 1; @@ -726,16 +726,16 @@ void VoyeurEngine::reviewTape() { } } - _graphicsManager._fontPtr->_curFont = _bVoy->boltEntry(0x101)._fontResource; + _graphicsManager->_fontPtr->_curFont = _bVoy->boltEntry(0x101)._fontResource; - (*_graphicsManager._vPort)->fillPic(0); + (*_graphicsManager->_vPort)->fillPic(0); flipPageAndWait(); _bVoy->freeBoltGroup(0x900); } void VoyeurEngine::doGossip() { - _graphicsManager.resetPalette(); - _graphicsManager.screenReset(); + _graphicsManager->resetPalette(); + _graphicsManager->screenReset(); if (!_bVoy->getBoltGroup(0x300)) return; @@ -753,7 +753,7 @@ void VoyeurEngine::doGossip() { // Transfer initial background to video decoder PictureResource videoFrame(decoder.getVideoTrack()->getBackSurface()); bgPic->_bounds.moveTo(0, 0); - _graphicsManager.sDrawPic(bgPic, &videoFrame, Common::Point(0, 0)); + _graphicsManager->sDrawPic(bgPic, &videoFrame, Common::Point(0, 0)); byte *frameNumsP = _bVoy->memberAddr(0x309); byte *posP = _bVoy->boltEntry(0x30A)._data; @@ -763,8 +763,8 @@ void VoyeurEngine::doGossip() { decoder.close(); // Reset the palette and clear the screen - _graphicsManager.resetPalette(); - _graphicsManager.screenReset(); + _graphicsManager->resetPalette(); + _graphicsManager->screenReset(); // Play interview video RL2Decoder decoder2; @@ -776,7 +776,7 @@ void VoyeurEngine::doGossip() { decoder2.close(); _bVoy->freeBoltGroup(0x300); - _graphicsManager.screenReset(); + _graphicsManager->screenReset(); } void VoyeurEngine::doTapePlaying() { @@ -784,14 +784,14 @@ void VoyeurEngine::doTapePlaying() { return; _eventsManager->getMouseInfo(); - _graphicsManager._backColors = _bVoy->boltEntry(0xA01)._cMapResource; - _graphicsManager._backgroundPage = _bVoy->boltEntry(0xA00)._picResource; + _graphicsManager->_backColors = _bVoy->boltEntry(0xA01)._cMapResource; + _graphicsManager->_backgroundPage = _bVoy->boltEntry(0xA00)._picResource; PictureResource *pic = _bVoy->boltEntry(0xA02)._picResource; VInitCycleResource *cycle = _bVoy->boltEntry(0xA05)._vInitCycleResource; - (*_graphicsManager._vPort)->setupViewPort(_graphicsManager._backgroundPage); - _graphicsManager.sDrawPic(pic, *_graphicsManager._vPort, Common::Point(57, 30)); - _graphicsManager._backColors->startFade(); + (*_graphicsManager->_vPort)->setupViewPort(_graphicsManager->_backgroundPage); + _graphicsManager->sDrawPic(pic, *_graphicsManager->_vPort, Common::Point(57, 30)); + _graphicsManager->_backColors->startFade(); flipPageAndWaitForFade(); cycle->vStartCycle(); @@ -933,9 +933,9 @@ int VoyeurEngine::getChooseButton() { + 6)._rectResource->_entries; int selectedIndex = -1; - (*_graphicsManager._vPort)->setupViewPort(_graphicsManager._backgroundPage); - _graphicsManager._backColors->_steps = 0; - _graphicsManager._backColors->startFade(); + (*_graphicsManager->_vPort)->setupViewPort(_graphicsManager->_backgroundPage); + _graphicsManager->_backColors->_steps = 0; + _graphicsManager->_backColors->startFade(); flipPageAndWait(); _voy->_viewBounds = _bVoy->boltEntry(_playStampGroupId + 7)._rectResource; @@ -956,7 +956,7 @@ int VoyeurEngine::getChooseButton() { selectedIndex = idx; if (selectedIndex != prevIndex) { PictureResource *btnPic = _bVoy->boltEntry(_playStampGroupId + 8 + idx)._picResource; - _graphicsManager.sDrawPic(btnPic, *_graphicsManager._vPort, + _graphicsManager->sDrawPic(btnPic, *_graphicsManager->_vPort, Common::Point(106, 200)); cursorPic = _bVoy->boltEntry(_playStampGroupId + 4)._picResource; @@ -968,11 +968,11 @@ int VoyeurEngine::getChooseButton() { if (selectedIndex == -1) { cursorPic = _bVoy->boltEntry(_playStampGroupId + 2)._picResource; PictureResource *btnPic = _bVoy->boltEntry(_playStampGroupId + 12)._picResource; - _graphicsManager.sDrawPic(btnPic, *_graphicsManager._vPort, + _graphicsManager->sDrawPic(btnPic, *_graphicsManager->_vPort, Common::Point(106, 200)); } - _graphicsManager.sDrawPic(cursorPic, *_graphicsManager._vPort, + _graphicsManager->sDrawPic(cursorPic, *_graphicsManager->_vPort, Common::Point(pt.x + 13, pt.y - 12)); flipPageAndWait(); @@ -983,9 +983,9 @@ int VoyeurEngine::getChooseButton() { } void VoyeurEngine::makeViewFinder() { - _graphicsManager._backgroundPage = _bVoy->boltEntry(0x103)._picResource; - _graphicsManager.sDrawPic(_graphicsManager._backgroundPage, - *_graphicsManager._vPort, Common::Point(0, 0)); + _graphicsManager->_backgroundPage = _bVoy->boltEntry(0x103)._picResource; + _graphicsManager->sDrawPic(_graphicsManager->_backgroundPage, + *_graphicsManager->_vPort, Common::Point(0, 0)); CMapResource *pal = _bVoy->boltEntry(0x104)._cMapResource; int palOffset = 0; @@ -1017,22 +1017,22 @@ void VoyeurEngine::makeViewFinder() { break; } - (*_graphicsManager._vPort)->drawIfaceTime(); + (*_graphicsManager->_vPort)->drawIfaceTime(); doTimeBar(); pal->startFade(); flipPageAndWaitForFade(); - _graphicsManager.setColor(241, 105, 105, 105); - _graphicsManager.setColor(242, 105, 105, 105); - _graphicsManager.setColor(243, 105, 105, 105); - _graphicsManager.setColor(palOffset + 241, 219, 235, 235); + _graphicsManager->setColor(241, 105, 105, 105); + _graphicsManager->setColor(242, 105, 105, 105); + _graphicsManager->setColor(243, 105, 105, 105); + _graphicsManager->setColor(palOffset + 241, 219, 235, 235); _eventsManager->_intPtr._hasPalette = true; } void VoyeurEngine::makeViewFinderP() { - _graphicsManager.screenReset(); + _graphicsManager->screenReset(); } void VoyeurEngine::initIFace() { @@ -1080,7 +1080,7 @@ void VoyeurEngine::initIFace() { void VoyeurEngine::doScroll(const Common::Point &pt) { Common::Rect clipRect(72, 47, 72 + 240, 47 + 148); - (*_graphicsManager._vPort)->setupViewPort(NULL, &clipRect); + (*_graphicsManager->_vPort)->setupViewPort(NULL, &clipRect); int base = 0; switch (_voy->_transitionId) { @@ -1104,18 +1104,18 @@ void VoyeurEngine::doScroll(const Common::Point &pt) { if (base) { PictureResource *pic = _bVoy->boltEntry(base + 3)._picResource; - _graphicsManager.sDrawPic(pic, *_graphicsManager._vPort, Common::Point(784 - pt.x - 712, 150 - pt.y - 104)); + _graphicsManager->sDrawPic(pic, *_graphicsManager->_vPort, Common::Point(784 - pt.x - 712, 150 - pt.y - 104)); pic = _bVoy->boltEntry(base + 4)._picResource; - _graphicsManager.sDrawPic(pic, *_graphicsManager._vPort, Common::Point(784 - pt.x - 712, 150 - pt.y - 44)); + _graphicsManager->sDrawPic(pic, *_graphicsManager->_vPort, Common::Point(784 - pt.x - 712, 150 - pt.y - 44)); pic = _bVoy->boltEntry(base + 5)._picResource; - _graphicsManager.sDrawPic(pic, *_graphicsManager._vPort, Common::Point(784 - pt.x - 712, 150 - pt.y + 16)); + _graphicsManager->sDrawPic(pic, *_graphicsManager->_vPort, Common::Point(784 - pt.x - 712, 150 - pt.y + 16)); pic = _bVoy->boltEntry(base + 6)._picResource; - _graphicsManager.sDrawPic(pic, *_graphicsManager._vPort, Common::Point(784 - pt.x - 712, 150 - pt.y + 76)); + _graphicsManager->sDrawPic(pic, *_graphicsManager->_vPort, Common::Point(784 - pt.x - 712, 150 - pt.y + 76)); pic = _bVoy->boltEntry(base + 7)._picResource; - _graphicsManager.sDrawPic(pic, *_graphicsManager._vPort, Common::Point(784 - pt.x - 712, 150 - pt.y + 136)); + _graphicsManager->sDrawPic(pic, *_graphicsManager->_vPort, Common::Point(784 - pt.x - 712, 150 - pt.y + 136)); } - (*_graphicsManager._vPort)->setupViewPort(NULL); + (*_graphicsManager->_vPort)->setupViewPort(NULL); } void VoyeurEngine::checkTransition() { @@ -1127,7 +1127,7 @@ void VoyeurEngine::checkTransition() { // Only proceed if a valid day string was returned if (!day.empty()) { - _graphicsManager.fadeDownICF(6); + _graphicsManager->fadeDownICF(6); // Get the time of day string time = getTimeOfDay(); @@ -1165,7 +1165,7 @@ Common::String VoyeurEngine::getTimeOfDay() { } int VoyeurEngine::doComputerText(int maxLen) { - FontInfoResource &font = *_graphicsManager._fontPtr; + FontInfoResource &font = *_graphicsManager->_fontPtr; int totalChars = 0; font._curFont = _bVoy->boltEntry(0x4910)._fontResource; @@ -1182,7 +1182,7 @@ int VoyeurEngine::doComputerText(int maxLen) { font._justifyWidth = 384; font._justifyHeight = 100; font._pos = Common::Point(128, 100); - (*_graphicsManager._vPort)->drawText(END_OF_MESSAGE); + (*_graphicsManager->_vPort)->drawText(END_OF_MESSAGE); } else if (_voy->_RTVNum < _voy->_computerTimeMin && maxLen == 9999) { if (_currentVocId != -1) _soundManager->startVOCPlay(_currentVocId); @@ -1190,7 +1190,7 @@ int VoyeurEngine::doComputerText(int maxLen) { font._justifyWidth = 384; font._justifyHeight = 100; font._pos = Common::Point(120, 100); - (*_graphicsManager._vPort)->drawText(START_OF_MESSAGE); + (*_graphicsManager->_vPort)->drawText(START_OF_MESSAGE); } else { char *msg = (char *)_bVoy->memberAddr(0x4900 + _voy->_computerTextId); font._pos = Common::Point(96, 60); @@ -1208,14 +1208,14 @@ int VoyeurEngine::doComputerText(int maxLen) { if (c == '\0') { if (showEnd) { _eventsManager->delay(90); - _graphicsManager._drawPtr->_pos = Common::Point(96, 54); - _graphicsManager._drawPtr->_penColor = 254; - (*_graphicsManager._vPort)->sFillBox(196, 124); - _graphicsManager._fontPtr->_justify = ALIGN_LEFT; - _graphicsManager._fontPtr->_justifyWidth = 384; - _graphicsManager._fontPtr->_justifyHeight = 100; - _graphicsManager._fontPtr->_pos = Common::Point(128, 100); - (*_graphicsManager._vPort)->drawText(END_OF_MESSAGE); + _graphicsManager->_drawPtr->_pos = Common::Point(96, 54); + _graphicsManager->_drawPtr->_penColor = 254; + (*_graphicsManager->_vPort)->sFillBox(196, 124); + _graphicsManager->_fontPtr->_justify = ALIGN_LEFT; + _graphicsManager->_fontPtr->_justifyWidth = 384; + _graphicsManager->_fontPtr->_justifyHeight = 100; + _graphicsManager->_fontPtr->_pos = Common::Point(128, 100); + (*_graphicsManager->_vPort)->drawText(END_OF_MESSAGE); } break; } @@ -1225,20 +1225,20 @@ int VoyeurEngine::doComputerText(int maxLen) { yp += 10; } else { _eventsManager->delay(90); - _graphicsManager._drawPtr->_pos = Common::Point(96, 54); - _graphicsManager._drawPtr->_penColor = 255; - (*_graphicsManager._vPort)->sFillBox(196, 124); + _graphicsManager->_drawPtr->_pos = Common::Point(96, 54); + _graphicsManager->_drawPtr->_penColor = 255; + (*_graphicsManager->_vPort)->sFillBox(196, 124); yp = 60; } - _graphicsManager._fontPtr->_pos = Common::Point(96, yp); + _graphicsManager->_fontPtr->_pos = Common::Point(96, yp); } else if (c == '_') { showEnd = false; } else { - _graphicsManager._fontPtr->_justify = ALIGN_LEFT; - _graphicsManager._fontPtr->_justifyWidth = 0; - _graphicsManager._fontPtr->_justifyHeight = 0; - (*_graphicsManager._vPort)->drawText(Common::String(c)); + _graphicsManager->_fontPtr->_justify = ALIGN_LEFT; + _graphicsManager->_fontPtr->_justifyWidth = 0; + _graphicsManager->_fontPtr->_justifyHeight = 0; + (*_graphicsManager->_vPort)->drawText(Common::String(c)); _eventsManager->delay(4); } @@ -1253,7 +1253,7 @@ int VoyeurEngine::doComputerText(int maxLen) { flipPageAndWait(); - _graphicsManager._fontPtr->_curFont = _bVoy->boltEntry(0x101)._fontResource; + _graphicsManager->_fontPtr->_curFont = _bVoy->boltEntry(0x101)._fontResource; return totalChars; } @@ -1263,7 +1263,7 @@ void VoyeurEngine::getComputerBrush() { int xp = (384 - pic->_bounds.width()) / 2; int yp = (240 - pic->_bounds.height()) / 2 - 4; - (*_graphicsManager._vPort)->drawPicPerm(pic, Common::Point(xp, yp)); + (*_graphicsManager->_vPort)->drawPicPerm(pic, Common::Point(xp, yp)); CMapResource *pal = _bVoy->boltEntry(0x490F)._cMapResource; pal->startFade(); @@ -1281,17 +1281,17 @@ void VoyeurEngine::doTimeBar() { int height = ((_voy->_RTVLimit - _voy->_RTVNum) * 59) / _voy->_RTVLimit; int fullHeight = MAX(151 - height, 93); - _graphicsManager._drawPtr->_penColor = 134; - _graphicsManager._drawPtr->_pos = Common::Point(39, 92); + _graphicsManager->_drawPtr->_penColor = 134; + _graphicsManager->_drawPtr->_pos = Common::Point(39, 92); - (*_graphicsManager._vPort)->sFillBox(6, fullHeight - 92); + (*_graphicsManager->_vPort)->sFillBox(6, fullHeight - 92); if (height > 0) { - _graphicsManager.setColor(215, 238, 238, 238); + _graphicsManager->setColor(215, 238, 238, 238); _eventsManager->_intPtr._hasPalette = true; - _graphicsManager._drawPtr->_penColor = 215; - _graphicsManager._drawPtr->_pos = Common::Point(39, fullHeight); - (*_graphicsManager._vPort)->sFillBox(6, height); + _graphicsManager->_drawPtr->_penColor = 215; + _graphicsManager->_drawPtr->_pos = Common::Point(39, fullHeight); + (*_graphicsManager->_vPort)->sFillBox(6, height); } } } @@ -1304,9 +1304,9 @@ void VoyeurEngine::flashTimeBar() { _flashTimeVal = _eventsManager->_intPtr._flashTimer; if (_flashTimeFlag) - _graphicsManager.setColor(240, 220, 20, 20); + _graphicsManager->setColor(240, 220, 20, 20); else - _graphicsManager.setColor(240, 220, 220, 220); + _graphicsManager->setColor(240, 220, 220, 220); _eventsManager->_intPtr._hasPalette = true; _flashTimeFlag = !_flashTimeFlag; @@ -1344,7 +1344,7 @@ void VoyeurEngine::doEvidDisplay(int evidId, int eventId) { _bVoy->getBoltGroup(_voy->_boltGroupId2); PictureResource *pic = _bVoy->boltEntry(_voy->_boltGroupId2 + evidId * 2)._picResource; - _graphicsManager.sDrawPic(pic, *_graphicsManager._vPort, Common::Point( + _graphicsManager->sDrawPic(pic, *_graphicsManager->_vPort, Common::Point( (384 - pic->_bounds.width()) / 2, (240 - pic->_bounds.height()) / 2)); _bVoy->freeBoltMember(_voy->_boltGroupId2 + evidId * 2); @@ -1395,7 +1395,7 @@ void VoyeurEngine::doEvidDisplay(int evidId, int eventId) { continue; pic = _voy->_evPicPtrs[arrIndex]; - _graphicsManager.sDrawPic(pic, *_graphicsManager._vPort, + _graphicsManager->sDrawPic(pic, *_graphicsManager->_vPort, Common::Point((384 - pic->_bounds.width()) / 2, (240 - pic->_bounds.height()) / 2)); _voy->_evCmPtrs[arrIndex]->startFade(); -- cgit v1.2.3 From 885013febb142744cbcbe29cd3a082b9151daf17 Mon Sep 17 00:00:00 2001 From: Strangerke Date: Thu, 27 Feb 2014 08:17:26 +0100 Subject: VOYEUR: Remove initializeManagers() --- engines/voyeur/voyeur.cpp | 4 ---- engines/voyeur/voyeur.h | 1 - 2 files changed, 5 deletions(-) diff --git a/engines/voyeur/voyeur.cpp b/engines/voyeur/voyeur.cpp index c26841f481..bc93acded6 100644 --- a/engines/voyeur/voyeur.cpp +++ b/engines/voyeur/voyeur.cpp @@ -67,10 +67,6 @@ VoyeurEngine::VoyeurEngine(OSystem *syst, const VoyeurGameDescription *gameDesc) DebugMan.addDebugChannel(kDebugScripts, "scripts", "Game scripts"); - initializeManagers(); -} - -void VoyeurEngine::initializeManagers() { _debugger = new Debugger(this); _eventsManager = new EventsManager(this); _filesManager = new FilesManager(this); diff --git a/engines/voyeur/voyeur.h b/engines/voyeur/voyeur.h index 4b90f8559d..19e047de05 100644 --- a/engines/voyeur/voyeur.h +++ b/engines/voyeur/voyeur.h @@ -80,7 +80,6 @@ private: FontInfoResource _defaultFontInfo; void ESP_Init(); - void initializeManagers(); void globalInitBolt(); void initBolt(); void vInitInterrupts(); -- cgit v1.2.3 From cbf085287c74e0994fb18fb0830ccdb340b5b0ac Mon Sep 17 00:00:00 2001 From: D G Turner Date: Wed, 26 Feb 2014 15:26:12 +0000 Subject: ANDROID: Fix Android pre3.1 compatibility. This was broken by a50ede203b0424d800d2a1d4460121f9f1de8e7a. --- backends/platform/android/android.mk | 1 + .../org/scummvm/scummvm/ScummVMActivity.java | 10 ++++++++- .../android/org/scummvm/scummvm/ScummVMEvents.java | 14 +----------- .../scummvm/scummvm/ScummVMEventsHoneycomb.java | 25 ++++++++++++++++++++++ 4 files changed, 36 insertions(+), 14 deletions(-) create mode 100644 backends/platform/android/org/scummvm/scummvm/ScummVMEventsHoneycomb.java diff --git a/backends/platform/android/android.mk b/backends/platform/android/android.mk index 915bf8ac60..7c4fe01d54 100644 --- a/backends/platform/android/android.mk +++ b/backends/platform/android/android.mk @@ -7,6 +7,7 @@ ANDROID_PLUGIN_VERSIONCODE = 6 JAVA_FILES = \ ScummVM.java \ ScummVMEvents.java \ + ScummVMEventsHoneycomb.java \ ScummVMApplication.java \ ScummVMActivity.java \ EditableSurfaceView.java \ diff --git a/backends/platform/android/org/scummvm/scummvm/ScummVMActivity.java b/backends/platform/android/org/scummvm/scummvm/ScummVMActivity.java index 5d041dafd2..5964d5bfde 100644 --- a/backends/platform/android/org/scummvm/scummvm/ScummVMActivity.java +++ b/backends/platform/android/org/scummvm/scummvm/ScummVMActivity.java @@ -4,6 +4,7 @@ import android.app.Activity; import android.app.AlertDialog; import android.content.DialogInterface; import android.media.AudioManager; +import android.os.Build; import android.os.Bundle; import android.os.Environment; import android.util.DisplayMetrics; @@ -169,7 +170,14 @@ public class ScummVMActivity extends Activity { _mouseHelper.attach(main_surface); } - _events = new ScummVMEvents(this, _scummvm, _mouseHelper); + if (Build.VERSION.SDK_INT < Build.VERSION_CODES.HONEYCOMB_MR1) + { + _events = new ScummVMEvents(this, _scummvm, _mouseHelper); + } + else + { + _events = new ScummVMEventsHoneycomb(this, _scummvm, _mouseHelper); + } main_surface.setOnKeyListener(_events); main_surface.setOnTouchListener(_events); diff --git a/backends/platform/android/org/scummvm/scummvm/ScummVMEvents.java b/backends/platform/android/org/scummvm/scummvm/ScummVMEvents.java index a96bc566eb..32c65d3395 100644 --- a/backends/platform/android/org/scummvm/scummvm/ScummVMEvents.java +++ b/backends/platform/android/org/scummvm/scummvm/ScummVMEvents.java @@ -1,6 +1,5 @@ package org.scummvm.scummvm; -import android.os.Build; import android.os.Handler; import android.os.Message; import android.content.Context; @@ -69,18 +68,7 @@ public class ScummVMEvents implements return true; } - public boolean onGenericMotionEvent(final MotionEvent e) { - // Make sure we're running on Android 3.1 or higher to use getAxisValue() - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB_MR1) { - if((e.getSource() & InputDevice.SOURCE_CLASS_JOYSTICK) != 0) { - _scummvm.pushEvent(JE_JOYSTICK, e.getAction(), - (int)(e.getAxisValue(MotionEvent.AXIS_X)*100), - (int)(e.getAxisValue(MotionEvent.AXIS_Y)*100), - 0, 0); - return true; - } - } - + public boolean onGenericMotionEvent(MotionEvent e) { return false; } diff --git a/backends/platform/android/org/scummvm/scummvm/ScummVMEventsHoneycomb.java b/backends/platform/android/org/scummvm/scummvm/ScummVMEventsHoneycomb.java new file mode 100644 index 0000000000..ab85429040 --- /dev/null +++ b/backends/platform/android/org/scummvm/scummvm/ScummVMEventsHoneycomb.java @@ -0,0 +1,25 @@ +package org.scummvm.scummvm; + +import android.content.Context; +import android.view.MotionEvent; +import android.view.InputDevice; + +public class ScummVMEventsHoneycomb extends ScummVMEvents { + + public ScummVMEventsHoneycomb(Context context, ScummVM scummvm, MouseHelper mouseHelper) { + super(context, scummvm, mouseHelper); + } + + @Override + public boolean onGenericMotionEvent(MotionEvent e) { + if((e.getSource() & InputDevice.SOURCE_CLASS_JOYSTICK) != 0) { + _scummvm.pushEvent(JE_JOYSTICK, e.getAction(), + (int)(e.getAxisValue(MotionEvent.AXIS_X)*100), + (int)(e.getAxisValue(MotionEvent.AXIS_Y)*100), + 0, 0); + return true; + } + + return false; + } +} -- cgit v1.2.3 From 740b6e8fbdece44ae2a5295cb0549a53b6dc6ae7 Mon Sep 17 00:00:00 2001 From: Matthew Hoops Date: Thu, 27 Feb 2014 21:27:23 -0500 Subject: IMAGE: Move all ImageDecoders to image/ --- Makefile.common | 1 + backends/vkeybd/virtual-keyboard-parser.cpp | 4 +- devtools/create_project/create_project.cpp | 1 + engines/dreamweb/vgagrafx.cpp | 4 +- engines/gob/inter_v7.cpp | 5 +- engines/gob/surface.cpp | 5 +- engines/groovie/roq.cpp | 12 +- engines/hopkins/graphics.cpp | 4 +- engines/hugo/dialogs.cpp | 4 +- engines/hugo/file.cpp | 5 +- engines/mohawk/bitmap.cpp | 4 +- engines/mohawk/myst_graphics.cpp | 5 +- engines/parallaction/disk_br.cpp | 10 +- engines/parallaction/disk_ns.cpp | 10 +- engines/pegasus/cursor.cpp | 6 +- engines/pegasus/surface.cpp | 4 +- engines/queen/display.cpp | 9 +- engines/saga/scene.cpp | 4 +- engines/sci/graphics/maciconbar.cpp | 4 +- engines/sword25/gfx/image/imgloader.cpp | 4 +- engines/tucker/resource.cpp | 5 +- .../wintermute/base/base_persistence_manager.cpp | 4 +- engines/wintermute/base/gfx/base_image.cpp | 20 +- engines/wintermute/base/gfx/base_image.h | 7 +- .../base/gfx/osystem/base_surface_osystem.cpp | 4 - engines/zvision/graphics/render_manager.cpp | 4 +- graphics/decoders/bmp.cpp | 183 ------- graphics/decoders/bmp.h | 67 --- graphics/decoders/iff.cpp | 244 --------- graphics/decoders/iff.h | 124 ----- graphics/decoders/image_decoder.h | 105 ---- graphics/decoders/jpeg.cpp | 266 ---------- graphics/decoders/jpeg.h | 95 ---- graphics/decoders/pcx.cpp | 214 -------- graphics/decoders/pcx.h | 69 --- graphics/decoders/pict.cpp | 580 --------------------- graphics/decoders/pict.h | 140 ----- graphics/decoders/png.cpp | 245 --------- graphics/decoders/png.h | 67 --- graphics/decoders/tga.cpp | 430 --------------- graphics/decoders/tga.h | 100 ---- graphics/module.mk | 9 +- gui/ThemeEngine.cpp | 5 +- image/bmp.cpp | 183 +++++++ image/bmp.h | 68 +++ image/iff.cpp | 244 +++++++++ image/iff.h | 126 +++++ image/image_decoder.h | 106 ++++ image/jpeg.cpp | 266 ++++++++++ image/jpeg.h | 95 ++++ image/module.mk | 13 + image/pcx.cpp | 214 ++++++++ image/pcx.h | 66 +++ image/pict.cpp | 580 +++++++++++++++++++++ image/pict.h | 141 +++++ image/png.cpp | 245 +++++++++ image/png.h | 68 +++ image/tga.cpp | 430 +++++++++++++++ image/tga.h | 100 ++++ video/codecs/jpeg.cpp | 4 +- video/codecs/mjpeg.cpp | 4 +- 61 files changed, 3028 insertions(+), 3017 deletions(-) delete mode 100644 graphics/decoders/bmp.cpp delete mode 100644 graphics/decoders/bmp.h delete mode 100644 graphics/decoders/iff.cpp delete mode 100644 graphics/decoders/iff.h delete mode 100644 graphics/decoders/image_decoder.h delete mode 100644 graphics/decoders/jpeg.cpp delete mode 100644 graphics/decoders/jpeg.h delete mode 100644 graphics/decoders/pcx.cpp delete mode 100644 graphics/decoders/pcx.h delete mode 100644 graphics/decoders/pict.cpp delete mode 100644 graphics/decoders/pict.h delete mode 100644 graphics/decoders/png.cpp delete mode 100644 graphics/decoders/png.h delete mode 100644 graphics/decoders/tga.cpp delete mode 100644 graphics/decoders/tga.h create mode 100644 image/bmp.cpp create mode 100644 image/bmp.h create mode 100644 image/iff.cpp create mode 100644 image/iff.h create mode 100644 image/image_decoder.h create mode 100644 image/jpeg.cpp create mode 100644 image/jpeg.h create mode 100644 image/module.mk create mode 100644 image/pcx.cpp create mode 100644 image/pcx.h create mode 100644 image/pict.cpp create mode 100644 image/pict.h create mode 100644 image/png.cpp create mode 100644 image/png.h create mode 100644 image/tga.cpp create mode 100644 image/tga.h diff --git a/Makefile.common b/Makefile.common index b56300a115..4071d97150 100644 --- a/Makefile.common +++ b/Makefile.common @@ -25,6 +25,7 @@ MODULES += \ engines \ video \ graphics \ + image \ audio \ common \ po diff --git a/backends/vkeybd/virtual-keyboard-parser.cpp b/backends/vkeybd/virtual-keyboard-parser.cpp index bb8286d1f5..25c0161ae6 100644 --- a/backends/vkeybd/virtual-keyboard-parser.cpp +++ b/backends/vkeybd/virtual-keyboard-parser.cpp @@ -34,7 +34,7 @@ #include "common/tokenizer.h" #include "common/stream.h" -#include "graphics/decoders/bmp.h" +#include "image/bmp.h" namespace Common { @@ -267,7 +267,7 @@ bool VirtualKeyboardParser::parserCallback_layout(ParserNode *node) { const Graphics::PixelFormat format = g_system->getOverlayFormat(); { - Graphics::BitmapDecoder bmp; + Image::BitmapDecoder bmp; if (!bmp.loadStream(*file)) return parserError("Error loading bitmap '" + _mode->bitmapName + "'"); diff --git a/devtools/create_project/create_project.cpp b/devtools/create_project/create_project.cpp index 9d7ed532cb..876c116b5c 100644 --- a/devtools/create_project/create_project.cpp +++ b/devtools/create_project/create_project.cpp @@ -1305,6 +1305,7 @@ void ProjectProvider::createProject(BuildSetup &setup) { createModuleList(setup.srcDir + "/audio", setup.defines, setup.testDirs, in, ex); createModuleList(setup.srcDir + "/audio/softsynth/mt32", setup.defines, setup.testDirs, in, ex); createModuleList(setup.srcDir + "/video", setup.defines, setup.testDirs, in, ex); + createModuleList(setup.srcDir + "/image", setup.defines, setup.testDirs, in, ex); // Resource files in.push_back(setup.srcDir + "/icons/" + setup.projectName + ".ico"); diff --git a/engines/dreamweb/vgagrafx.cpp b/engines/dreamweb/vgagrafx.cpp index e8531343f8..c59d3e3ad5 100644 --- a/engines/dreamweb/vgagrafx.cpp +++ b/engines/dreamweb/vgagrafx.cpp @@ -23,7 +23,7 @@ #include "dreamweb/dreamweb.h" #include "engines/util.h" #include "graphics/surface.h" -#include "graphics/decoders/pcx.h" +#include "image/pcx.h" namespace DreamWeb { @@ -161,7 +161,7 @@ void DreamWebEngine::showPCX(const Common::String &suffix) { return; } - Graphics::PCXDecoder pcx; + Image::PCXDecoder pcx; if (!pcx.loadStream(pcxFile)) { warning("showpcx: Could not process '%s'", name.c_str()); return; diff --git a/engines/gob/inter_v7.cpp b/engines/gob/inter_v7.cpp index 75278d9477..fd9406054c 100644 --- a/engines/gob/inter_v7.cpp +++ b/engines/gob/inter_v7.cpp @@ -27,7 +27,8 @@ #include "graphics/cursorman.h" #include "graphics/wincursor.h" -#include "graphics/decoders/iff.h" + +#include "image/iff.h" #include "gob/gob.h" #include "gob/global.h" @@ -547,7 +548,7 @@ void Inter_v7::o7_loadIFFPalette() { return; } - Graphics::IFFDecoder decoder; + Image::IFFDecoder decoder; decoder.loadStream(*iffFile); if (!decoder.getPalette() || decoder.getPaletteColorCount() != 256) { warning("o7_loadIFFPalette(): Failed reading palette from IFF \"%s\"", file.c_str()); diff --git a/engines/gob/surface.cpp b/engines/gob/surface.cpp index 00203ff312..42ac2b0d74 100644 --- a/engines/gob/surface.cpp +++ b/engines/gob/surface.cpp @@ -31,7 +31,8 @@ #include "graphics/primitives.h" #include "graphics/pixelformat.h" #include "graphics/surface.h" -#include "graphics/decoders/iff.h" + +#include "image/iff.h" namespace Gob { @@ -814,7 +815,7 @@ bool Surface::loadTGA(Common::SeekableReadStream &stream) { } bool Surface::loadIFF(Common::SeekableReadStream &stream) { - Graphics::IFFDecoder decoder; + Image::IFFDecoder decoder; decoder.loadStream(stream); if (!decoder.getSurface()) diff --git a/engines/groovie/roq.cpp b/engines/groovie/roq.cpp index 88f14b859e..4b3fb81828 100644 --- a/engines/groovie/roq.cpp +++ b/engines/groovie/roq.cpp @@ -32,7 +32,7 @@ #include "common/textconsole.h" #include "graphics/palette.h" -#include "graphics/decoders/jpeg.h" +#include "image/jpeg.h" #ifdef USE_RGB_COLOR // Required for the YUV to RGB conversion @@ -435,20 +435,18 @@ bool ROQPlayer::processBlockStill(ROQBlockHeader &blockHeader) { warning("Groovie::ROQ: JPEG frame (unfinished)"); - Graphics::JPEGDecoder *jpg = new Graphics::JPEGDecoder(); - jpg->setOutputColorSpace(Graphics::JPEGDecoder::kColorSpaceYUV); + Image::JPEGDecoder jpg; + jpg.setOutputColorSpace(Image::JPEGDecoder::kColorSpaceYUV); uint32 startPos = _file->pos(); Common::SeekableSubReadStream subStream(_file, startPos, startPos + blockHeader.size, DisposeAfterUse::NO); - jpg->loadStream(subStream); + jpg.loadStream(subStream); - const Graphics::Surface *srcSurf = jpg->getSurface(); + const Graphics::Surface *srcSurf = jpg.getSurface(); const byte *src = (const byte *)srcSurf->getPixels(); byte *ptr = (byte *)_currBuf->getPixels(); memcpy(ptr, src, _currBuf->w * _currBuf->h * srcSurf->format.bytesPerPixel); - delete jpg; - _file->seek(startPos + blockHeader.size); return true; } diff --git a/engines/hopkins/graphics.cpp b/engines/hopkins/graphics.cpp index e1f5037895..7227c3e833 100644 --- a/engines/hopkins/graphics.cpp +++ b/engines/hopkins/graphics.cpp @@ -28,7 +28,7 @@ #include "common/system.h" #include "graphics/palette.h" -#include "graphics/decoders/pcx.h" +#include "image/pcx.h" #include "common/file.h" #include "common/rect.h" #include "engines/util.h" @@ -301,7 +301,7 @@ void GraphicsManager::fillSurface(byte *surface, byte *col, int size) { void GraphicsManager::loadPCX640(byte *surface, const Common::String &file, byte *palette, bool typeFlag) { Common::File f; - Graphics::PCXDecoder pcxDecoder; + Image::PCXDecoder pcxDecoder; // Clear the passed surface memset(surface, 0, SCREEN_WIDTH * 2 * SCREEN_HEIGHT); diff --git a/engines/hugo/dialogs.cpp b/engines/hugo/dialogs.cpp index 6894030b2b..8b145b78d8 100644 --- a/engines/hugo/dialogs.cpp +++ b/engines/hugo/dialogs.cpp @@ -21,9 +21,9 @@ */ #include "common/substream.h" -#include "graphics/decoders/bmp.h" #include "gui/gui-manager.h" #include "gui/ThemeEval.h" +#include "image/bmp.h" #include "hugo/hugo.h" #include "hugo/display.h" @@ -130,7 +130,7 @@ void TopMenu::loadBmpArr(Common::SeekableReadStream &in) { uint32 filPos = in.pos(); Common::SeekableSubReadStream stream(&in, filPos, filPos + bmpSize); - Graphics::BitmapDecoder bitmapDecoder; + Image::BitmapDecoder bitmapDecoder; if (!bitmapDecoder.loadStream(stream)) error("TopMenu::loadBmpArr(): Could not load bitmap"); diff --git a/engines/hugo/file.cpp b/engines/hugo/file.cpp index 359d4a3e6a..e2633977a8 100644 --- a/engines/hugo/file.cpp +++ b/engines/hugo/file.cpp @@ -34,11 +34,12 @@ #include "common/config-manager.h" #include "graphics/surface.h" -#include "graphics/decoders/pcx.h" #include "graphics/thumbnail.h" #include "gui/saveload.h" +#include "image/pcx.h" + #include "hugo/hugo.h" #include "hugo/file.h" #include "hugo/schedule.h" @@ -110,7 +111,7 @@ Seq *FileManager::readPCX(Common::SeekableReadStream &f, Seq *seqPtr, byte *imag error("Insufficient memory to run game."); } - Graphics::PCXDecoder pcx; + Image::PCXDecoder pcx; if (!pcx.loadStream(f)) error("Error while reading PCX image"); diff --git a/engines/mohawk/bitmap.cpp b/engines/mohawk/bitmap.cpp index fe2a308170..6435daf46f 100644 --- a/engines/mohawk/bitmap.cpp +++ b/engines/mohawk/bitmap.cpp @@ -29,7 +29,7 @@ #include "common/substream.h" #include "common/system.h" #include "common/textconsole.h" -#include "graphics/decoders/bmp.h" +#include "image/bmp.h" namespace Mohawk { @@ -635,7 +635,7 @@ MohawkSurface *MystBitmap::decodeImage(Common::SeekableReadStream *stream) { Common::SeekableReadStream *bmpStream = decompressLZ(stream, uncompressedSize); delete stream; - Graphics::BitmapDecoder bitmapDecoder; + Image::BitmapDecoder bitmapDecoder; if (!bitmapDecoder.loadStream(*bmpStream)) error("Could not decode Myst bitmap"); diff --git a/engines/mohawk/myst_graphics.cpp b/engines/mohawk/myst_graphics.cpp index 6f7e8a8e84..9ea9f15444 100644 --- a/engines/mohawk/myst_graphics.cpp +++ b/engines/mohawk/myst_graphics.cpp @@ -28,8 +28,7 @@ #include "common/system.h" #include "common/textconsole.h" #include "engines/util.h" -#include "graphics/decoders/jpeg.h" -#include "graphics/decoders/pict.h" +#include "image/pict.h" namespace Mohawk { @@ -94,7 +93,7 @@ MohawkSurface *MystGraphics::decodeImage(uint16 id) { MohawkSurface *mhkSurface = 0; if (isPict) { - Graphics::PICTDecoder pict; + Image::PICTDecoder pict; if (!pict.loadStream(*dataStream)) error("Could not decode Myst ME PICT"); diff --git a/engines/parallaction/disk_br.cpp b/engines/parallaction/disk_br.cpp index b31418a916..7458065b8c 100644 --- a/engines/parallaction/disk_br.cpp +++ b/engines/parallaction/disk_br.cpp @@ -23,7 +23,7 @@ #include "common/config-manager.h" #include "common/fs.h" #include "common/textconsole.h" -#include "graphics/decoders/iff.h" +#include "image/iff.h" #include "parallaction/parallaction.h" #include "parallaction/parser.h" @@ -460,7 +460,7 @@ void AmigaDisk_br::loadBackground(BackgroundInfo& info, const char *filename) { byte r,g,b; const byte *p; Common::SeekableReadStream *stream; - Graphics::IFFDecoder decoder; + Image::IFFDecoder decoder; uint i; stream = tryOpenFile("backs/" + Common::String(filename), ".ap"); @@ -544,7 +544,7 @@ MaskBuffer *AmigaDisk_br::loadMask(const char *name, uint32 w, uint32 h) { return 0; } - Graphics::IFFDecoder decoder; + Image::IFFDecoder decoder; decoder.setNumRelevantPlanes(2); // use only 2 first bits from each pixels decoder.setPixelPacking(true); // pack 4 2bit pixels into 1 byte decoder.loadStream(*stream); @@ -583,7 +583,7 @@ GfxObj* AmigaDisk_br::loadStatic(const char* name) { Common::String sName = name; Common::SeekableReadStream *stream = openFile("ras/" + sName, ".ras"); - Graphics::IFFDecoder decoder; + Image::IFFDecoder decoder; decoder.loadStream(*stream); Graphics::Surface *surf = new Graphics::Surface; @@ -720,7 +720,7 @@ GfxObj* AmigaDisk_br::loadObjects(const char *name, uint8 part) { debugC(5, kDebugDisk, "AmigaDisk_br::loadObjects"); Common::SeekableReadStream *stream = openFile(name); - Graphics::IFFDecoder decoder; + Image::IFFDecoder decoder; decoder.loadStream(*stream); uint16 max = objectsMax[part]; diff --git a/engines/parallaction/disk_ns.cpp b/engines/parallaction/disk_ns.cpp index a5fef16e56..28e61b04f9 100644 --- a/engines/parallaction/disk_ns.cpp +++ b/engines/parallaction/disk_ns.cpp @@ -26,7 +26,7 @@ #include "common/memstream.h" #include "common/substream.h" #include "common/textconsole.h" -#include "graphics/decoders/iff.h" +#include "image/iff.h" #include "parallaction/parser.h" #include "parallaction/parallaction.h" @@ -917,7 +917,7 @@ void AmigaDisk_ns::buildMask(byte* buf) { void AmigaDisk_ns::loadBackground(BackgroundInfo& info, const char *name) { Common::SeekableReadStream *s = openFile(name); - Graphics::IFFDecoder decoder; + Image::IFFDecoder decoder; decoder.loadStream(*s); info.bg.copyFrom(*decoder.getSurface()); @@ -935,7 +935,7 @@ void AmigaDisk_ns::loadBackground(BackgroundInfo& info, const char *name) { info.palette.setEntry(i, r, g, b); } - const Common::Array &paletteRanges = decoder.getPaletteRanges(); + const Common::Array &paletteRanges = decoder.getPaletteRanges(); for (uint j = 0; j < 6 && j < paletteRanges.size(); j++) { PaletteFxRange range; range._timer = paletteRanges[j].timer; @@ -959,7 +959,7 @@ void AmigaDisk_ns::loadMask_internal(BackgroundInfo& info, const char *name) { return; // no errors if missing mask files: not every location has one } - Graphics::IFFDecoder decoder; + Image::IFFDecoder decoder; decoder.setNumRelevantPlanes(2); // use only 2 first bits from each pixel decoder.setPixelPacking(true); // pack 4 2bit pixels into 1 byte decoder.loadStream(*s); @@ -990,7 +990,7 @@ void AmigaDisk_ns::loadPath_internal(BackgroundInfo& info, const char *name) { return; // no errors if missing path files: not every location has one } - Graphics::IFFDecoder decoder; + Image::IFFDecoder decoder; decoder.setNumRelevantPlanes(1); // use only first bit from each pixel decoder.setPixelPacking(true); // pack 8 1bit pixels into 1 byte decoder.loadStream(*s); diff --git a/engines/pegasus/cursor.cpp b/engines/pegasus/cursor.cpp index ad0d2c2d7d..602ae88068 100644 --- a/engines/pegasus/cursor.cpp +++ b/engines/pegasus/cursor.cpp @@ -28,7 +28,7 @@ #include "common/system.h" #include "graphics/cursorman.h" #include "graphics/surface.h" -#include "graphics/decoders/pict.h" +#include "image/pict.h" #include "pegasus/cursor.h" #include "pegasus/graphics.h" @@ -148,7 +148,7 @@ void Cursor::loadCursorImage(CursorInfo &cursorInfo) { Common::SeekableReadStream *pictStream = vm->_resFork->getResource(MKTAG('P', 'I', 'C', 'T'), cursorInfo.tag + 1000); if (pictStream) { - Graphics::PICTDecoder pict; + Image::PICTDecoder pict; if (!pict.loadStream(*pictStream)) error("Failed to decode cursor PICT %d", cursorInfo.tag + 1000); @@ -166,7 +166,7 @@ void Cursor::loadCursorImage(CursorInfo &cursorInfo) { error("Failed to find color icon %d", cursorInfo.tag); // PixMap section - Graphics::PICTDecoder::PixMap pixMap = Graphics::PICTDecoder::readPixMap(*cicnStream); + Image::PICTDecoder::PixMap pixMap = Image::PICTDecoder::readPixMap(*cicnStream); // Mask section cicnStream->readUint32BE(); // mask baseAddr diff --git a/engines/pegasus/surface.cpp b/engines/pegasus/surface.cpp index cdcb3c6e79..cb1e2e7bcc 100644 --- a/engines/pegasus/surface.cpp +++ b/engines/pegasus/surface.cpp @@ -28,7 +28,7 @@ #include "common/stream.h" #include "common/system.h" #include "graphics/surface.h" -#include "graphics/decoders/pict.h" +#include "image/pict.h" #include "video/video_decoder.h" #include "pegasus/pegasus.h" @@ -101,7 +101,7 @@ void Surface::getImageFromPICTResource(Common::MacResManager *resFork, uint16 id } bool Surface::getImageFromPICTStream(Common::SeekableReadStream *stream) { - Graphics::PICTDecoder pict; + Image::PICTDecoder pict; if (!pict.loadStream(*stream)) return false; diff --git a/engines/queen/display.cpp b/engines/queen/display.cpp index 85cc7cadaa..b2213f7fee 100644 --- a/engines/queen/display.cpp +++ b/engines/queen/display.cpp @@ -29,8 +29,9 @@ #include "graphics/cursorman.h" #include "graphics/palette.h" #include "graphics/surface.h" -#include "graphics/decoders/iff.h" -#include "graphics/decoders/pcx.h" + +#include "image/iff.h" +#include "image/pcx.h" #include "queen/display.h" #include "queen/input.h" @@ -813,7 +814,7 @@ void Display::fill(uint8 *dstBuf, uint16 dstPitch, uint16 x, uint16 y, uint16 w, void Display::decodePCX(const uint8 *src, uint32 srcSize, uint8 *dst, uint16 dstPitch, uint16 *w, uint16 *h, uint8 *pal, uint16 palStart, uint16 palEnd) { Common::MemoryReadStream str(src, srcSize); - ::Graphics::PCXDecoder pcx; + Image::PCXDecoder pcx; if (!pcx.loadStream(str)) error("Error while reading PCX image"); @@ -832,7 +833,7 @@ void Display::decodePCX(const uint8 *src, uint32 srcSize, uint8 *dst, uint16 dst void Display::decodeIFF(const uint8 *src, uint32 srcSize, uint8 *dst, uint16 dstPitch, uint16 *w, uint16 *h, uint8 *pal, uint16 palStart, uint16 palEnd, uint8 colorBase) { Common::MemoryReadStream str(src, srcSize); - ::Graphics::IFFDecoder iff; + Image::IFFDecoder iff; if (!iff.loadStream(str)) error("Error while reading IFF image"); diff --git a/engines/saga/scene.cpp b/engines/saga/scene.cpp index 5ca2f8d31a..7f77cbab38 100644 --- a/engines/saga/scene.cpp +++ b/engines/saga/scene.cpp @@ -43,7 +43,7 @@ #include "common/util.h" -#include "graphics/decoders/iff.h" +#include "image/iff.h" namespace Saga { @@ -463,7 +463,7 @@ void Scene::changeScene(int16 sceneNumber, int actorsEntrance, SceneTransitionTy _vm->_interface->setMode(kPanelSceneSubstitute); if (file.open(sceneSubstitutes[i].image)) { - Graphics::IFFDecoder decoder; + Image::IFFDecoder decoder; decoder.loadStream(file); pal = decoder.getPalette(); rect.setWidth(decoder.getSurface()->w); diff --git a/engines/sci/graphics/maciconbar.cpp b/engines/sci/graphics/maciconbar.cpp index db9843ffb3..8e2e12b7bd 100644 --- a/engines/sci/graphics/maciconbar.cpp +++ b/engines/sci/graphics/maciconbar.cpp @@ -32,7 +32,7 @@ #include "common/memstream.h" #include "common/system.h" #include "graphics/surface.h" -#include "graphics/decoders/pict.h" +#include "image/pict.h" namespace Sci { @@ -201,12 +201,12 @@ void GfxMacIconBar::setInventoryIcon(int16 icon) { } Graphics::Surface *GfxMacIconBar::loadPict(ResourceId id) { - Graphics::PICTDecoder pictDecoder; Resource *res = g_sci->getResMan()->findResource(id, false); if (!res || res->size == 0) return 0; + Image::PICTDecoder pictDecoder; Common::MemoryReadStream stream(res->data, res->size); if (!pictDecoder.loadStream(stream)) return 0; diff --git a/engines/sword25/gfx/image/imgloader.cpp b/engines/sword25/gfx/image/imgloader.cpp index 3212c8daee..b4b3030de8 100644 --- a/engines/sword25/gfx/image/imgloader.cpp +++ b/engines/sword25/gfx/image/imgloader.cpp @@ -33,14 +33,14 @@ #include "sword25/gfx/image/image.h" #include "sword25/gfx/image/imgloader.h" #include "graphics/pixelformat.h" -#include "graphics/decoders/png.h" +#include "image/png.h" namespace Sword25 { bool ImgLoader::decodePNGImage(const byte *fileDataPtr, uint fileSize, byte *&uncompressedDataPtr, int &width, int &height, int &pitch) { Common::MemoryReadStream *fileStr = new Common::MemoryReadStream(fileDataPtr, fileSize, DisposeAfterUse::NO); - Graphics::PNGDecoder png; + ::Image::PNGDecoder png; if (!png.loadStream(*fileStr)) // the fileStr pointer, and thus pFileData will be deleted after this is done error("Error while reading PNG image"); diff --git a/engines/tucker/resource.cpp b/engines/tucker/resource.cpp index 1c223c67d3..48ddefe455 100644 --- a/engines/tucker/resource.cpp +++ b/engines/tucker/resource.cpp @@ -30,7 +30,8 @@ #include "audio/decoders/wave.h" #include "graphics/surface.h" -#include "graphics/decoders/pcx.h" + +#include "image/pcx.h" #include "tucker/tucker.h" #include "tucker/graphics.h" @@ -302,7 +303,7 @@ void TuckerEngine::loadImage(const char *fname, uint8 *dst, int type) { } } - ::Graphics::PCXDecoder pcx; + Image::PCXDecoder pcx; if (!pcx.loadStream(f)) error("Error while reading PCX image"); diff --git a/engines/wintermute/base/base_persistence_manager.cpp b/engines/wintermute/base/base_persistence_manager.cpp index 3b7026cb08..bea55fb857 100644 --- a/engines/wintermute/base/base_persistence_manager.cpp +++ b/engines/wintermute/base/base_persistence_manager.cpp @@ -38,8 +38,8 @@ #include "engines/wintermute/base/sound/base_sound.h" #include "engines/wintermute/graphics/transparent_surface.h" #include "engines/wintermute/wintermute.h" -#include "graphics/decoders/bmp.h" #include "graphics/scaler.h" +#include "image/bmp.h" #include "common/memstream.h" #include "common/str.h" #include "common/system.h" @@ -170,7 +170,7 @@ void BasePersistenceManager::getSaveStateDesc(int slot, SaveStateDescriptor &des if (thumbSize > 0) { Common::MemoryReadStream thumbStream(thumbData, thumbSize, DisposeAfterUse::NO); - Graphics::BitmapDecoder bmpDecoder; + Image::BitmapDecoder bmpDecoder; if (bmpDecoder.loadStream(thumbStream)) { const Graphics::Surface *bmpSurface = bmpDecoder.getSurface(); TransparentSurface *scaleableSurface = new TransparentSurface(*bmpSurface, false); diff --git a/engines/wintermute/base/gfx/base_image.cpp b/engines/wintermute/base/gfx/base_image.cpp index e5ec879fee..e676fafdbf 100644 --- a/engines/wintermute/base/gfx/base_image.cpp +++ b/engines/wintermute/base/gfx/base_image.cpp @@ -29,11 +29,11 @@ #include "engines/wintermute/base/gfx/base_image.h" #include "engines/wintermute/base/base_file_manager.h" #include "engines/wintermute/graphics/transparent_surface.h" -#include "graphics/decoders/png.h" -#include "graphics/decoders/jpeg.h" -#include "graphics/decoders/bmp.h" -#include "graphics/decoders/tga.h" #include "graphics/surface.h" +#include "image/png.h" +#include "image/jpeg.h" +#include "image/bmp.h" +#include "image/tga.h" #include "common/textconsole.h" #include "common/stream.h" #include "common/system.h" @@ -62,16 +62,14 @@ BaseImage::~BaseImage() { bool BaseImage::loadFile(const Common::String &filename) { _filename = filename; _filename.toLowercase(); - if (filename.hasPrefix("savegame:")) { - _decoder = new Graphics::BitmapDecoder(); + if (filename.hasPrefix("savegame:") || _filename.hasSuffix(".bmp")) { + _decoder = new Image::BitmapDecoder(); } else if (_filename.hasSuffix(".png")) { - _decoder = new Graphics::PNGDecoder(); - } else if (_filename.hasSuffix(".bmp")) { - _decoder = new Graphics::BitmapDecoder(); + _decoder = new Image::PNGDecoder(); } else if (_filename.hasSuffix(".tga")) { - _decoder = new Graphics::TGADecoder(); + _decoder = new Image::TGADecoder(); } else if (_filename.hasSuffix(".jpg")) { - _decoder = new Graphics::JPEGDecoder(); + _decoder = new Image::JPEGDecoder(); } else { error("BaseImage::loadFile : Unsupported fileformat %s", filename.c_str()); } diff --git a/engines/wintermute/base/gfx/base_image.h b/engines/wintermute/base/gfx/base_image.h index a7d6846345..56be9fc453 100644 --- a/engines/wintermute/base/gfx/base_image.h +++ b/engines/wintermute/base/gfx/base_image.h @@ -31,11 +31,14 @@ #include "graphics/surface.h" #include "graphics/pixelformat.h" -#include "graphics/decoders/image_decoder.h" #include "common/endian.h" #include "common/str.h" #include "common/stream.h" +namespace Image { +class ImageDecoder; +} + namespace Wintermute { class BaseSurface; class BaseFileManager; @@ -60,7 +63,7 @@ public: void copyFrom(const Graphics::Surface *surface); private: Common::String _filename; - Graphics::ImageDecoder *_decoder; + Image::ImageDecoder *_decoder; const Graphics::Surface *_surface; Graphics::Surface *_deletableSurface; const byte *_palette; diff --git a/engines/wintermute/base/gfx/osystem/base_surface_osystem.cpp b/engines/wintermute/base/gfx/osystem/base_surface_osystem.cpp index bb57d308c0..983f9c1296 100644 --- a/engines/wintermute/base/gfx/osystem/base_surface_osystem.cpp +++ b/engines/wintermute/base/gfx/osystem/base_surface_osystem.cpp @@ -32,10 +32,6 @@ #include "engines/wintermute/base/gfx/osystem/base_render_osystem.h" #include "engines/wintermute/base/gfx/base_image.h" #include "engines/wintermute/platform_osystem.h" -#include "graphics/decoders/png.h" -#include "graphics/decoders/bmp.h" -#include "graphics/decoders/jpeg.h" -#include "graphics/decoders/tga.h" #include "engines/wintermute/graphics/transparent_surface.h" #include "engines/wintermute/graphics/transform_tools.h" #include "graphics/pixelformat.h" diff --git a/engines/zvision/graphics/render_manager.cpp b/engines/zvision/graphics/render_manager.cpp index 86e27aa30d..aed30ea12c 100644 --- a/engines/zvision/graphics/render_manager.cpp +++ b/engines/zvision/graphics/render_manager.cpp @@ -32,7 +32,7 @@ #include "engines/util.h" -#include "graphics/decoders/tga.h" +#include "image/tga.h" namespace ZVision { @@ -238,7 +238,7 @@ void RenderManager::readImageToSurface(const Common::String &fileName, Graphics: uint32 imageWidth; uint32 imageHeight; - Graphics::TGADecoder tga; + Image::TGADecoder tga; uint16 *buffer; bool isTransposed = _renderTable.getRenderState() == RenderTable::PANORAMA; // All ZVision images are in RGB 555 diff --git a/graphics/decoders/bmp.cpp b/graphics/decoders/bmp.cpp deleted file mode 100644 index 608c843cea..0000000000 --- a/graphics/decoders/bmp.cpp +++ /dev/null @@ -1,183 +0,0 @@ -/* 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 "common/stream.h" -#include "common/textconsole.h" - -#include "graphics/pixelformat.h" -#include "graphics/surface.h" -#include "graphics/decoders/bmp.h" - -namespace Graphics { - -BitmapDecoder::BitmapDecoder() { - _surface = 0; - _palette = 0; - _paletteColorCount = 0; -} - -BitmapDecoder::~BitmapDecoder() { - destroy(); -} - -void BitmapDecoder::destroy() { - if (_surface) { - _surface->free(); - delete _surface; _surface = 0; - } - - delete[] _palette; _palette = 0; - _paletteColorCount = 0; -} - -bool BitmapDecoder::loadStream(Common::SeekableReadStream &stream) { - destroy(); - - if (stream.readByte() != 'B') - return false; - - if (stream.readByte() != 'M') - return false; - - /* uint32 fileSize = */ stream.readUint32LE(); - /* uint16 res1 = */ stream.readUint16LE(); - /* uint16 res2 = */ stream.readUint16LE(); - uint32 imageOffset = stream.readUint32LE(); - - uint32 infoSize = stream.readUint32LE(); - if (infoSize != 40) { - warning("Only Windows v3 bitmaps are supported"); - return false; - } - - uint32 width = stream.readUint32LE(); - int32 height = stream.readSint32LE(); - - if (width == 0 || height == 0) - return false; - - if (height < 0) { - warning("Right-side up bitmaps not supported"); - return false; - } - - /* uint16 planes = */ stream.readUint16LE(); - uint16 bitsPerPixel = stream.readUint16LE(); - - if (bitsPerPixel != 8 && bitsPerPixel != 24 && bitsPerPixel != 32) { - warning("%dbpp bitmaps not supported", bitsPerPixel); - return false; - } - - uint32 compression = stream.readUint32LE(); - - if (compression != 0) { - warning("Compressed bitmaps not supported"); - return false; - } - - /* uint32 imageSize = */ stream.readUint32LE(); - /* uint32 pixelsPerMeterX = */ stream.readUint32LE(); - /* uint32 pixelsPerMeterY = */ stream.readUint32LE(); - _paletteColorCount = stream.readUint32LE(); - /* uint32 colorsImportant = */ stream.readUint32LE(); - - if (bitsPerPixel == 8) { - if (_paletteColorCount == 0) - _paletteColorCount = 256; - - // Read the palette - _palette = new byte[_paletteColorCount * 3]; - for (uint16 i = 0; i < _paletteColorCount; i++) { - _palette[i * 3 + 2] = stream.readByte(); - _palette[i * 3 + 1] = stream.readByte(); - _palette[i * 3 + 0] = stream.readByte(); - stream.readByte(); - } - } - - // Start us at the beginning of the image - stream.seek(imageOffset); - - Graphics::PixelFormat format = Graphics::PixelFormat::createFormatCLUT8(); - - // BGRA for 24bpp and 32 bpp - if (bitsPerPixel == 24 || bitsPerPixel == 32) - format = Graphics::PixelFormat(4, 8, 8, 8, 8, 8, 16, 24, 0); - - _surface = new Graphics::Surface(); - _surface->create(width, height, format); - - int srcPitch = width * (bitsPerPixel >> 3); - const int extraDataLength = (srcPitch % 4) ? 4 - (srcPitch % 4) : 0; - - if (bitsPerPixel == 8) { - byte *dst = (byte *)_surface->getPixels(); - - for (int32 i = 0; i < height; i++) { - stream.read(dst + (height - i - 1) * width, width); - stream.skip(extraDataLength); - } - } else if (bitsPerPixel == 24) { - byte *dst = (byte *)_surface->getBasePtr(0, height - 1); - - for (int32 i = 0; i < height; i++) { - for (uint32 j = 0; j < width; j++) { - byte b = stream.readByte(); - byte g = stream.readByte(); - byte r = stream.readByte(); - uint32 color = format.RGBToColor(r, g, b); - - *((uint32 *)dst) = color; - dst += format.bytesPerPixel; - } - - stream.skip(extraDataLength); - dst -= _surface->pitch * 2; - } - } else { // 32 bpp - byte *dst = (byte *)_surface->getBasePtr(0, height - 1); - - for (int32 i = 0; i < height; i++) { - for (uint32 j = 0; j < width; j++) { - byte b = stream.readByte(); - byte g = stream.readByte(); - byte r = stream.readByte(); - // Ignore the last byte, as in v3 it is unused - // and should thus NOT be used as alpha. - // ref: http://msdn.microsoft.com/en-us/library/windows/desktop/dd183376%28v=vs.85%29.aspx - stream.readByte(); - uint32 color = format.RGBToColor(r, g, b); - - *((uint32 *)dst) = color; - dst += format.bytesPerPixel; - } - - stream.skip(extraDataLength); - dst -= _surface->pitch * 2; - } - } - - return true; -} - -} // End of namespace Graphics diff --git a/graphics/decoders/bmp.h b/graphics/decoders/bmp.h deleted file mode 100644 index da11f04920..0000000000 --- a/graphics/decoders/bmp.h +++ /dev/null @@ -1,67 +0,0 @@ -/* 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. - * - */ - -/** - * @file - * Image decoder used in engines: - * - hugo - * - mohawk - * - wintermute - */ - -#ifndef GRAPHICS_DECODERS_BMP_H -#define GRAPHICS_DECODERS_BMP_H - -#include "common/scummsys.h" -#include "common/str.h" -#include "graphics/decoders/image_decoder.h" - -namespace Common{ -class SeekableReadStream; -} - -namespace Graphics { - -struct PixelFormat; -struct Surface; - -class BitmapDecoder : public ImageDecoder { -public: - BitmapDecoder(); - virtual ~BitmapDecoder(); - - // ImageDecoder API - void destroy(); - virtual bool loadStream(Common::SeekableReadStream &stream); - virtual const Surface *getSurface() const { return _surface; } - const byte *getPalette() const { return _palette; } - uint16 getPaletteColorCount() const { return _paletteColorCount; } - -private: - Surface *_surface; - byte *_palette; - uint16 _paletteColorCount; -}; - -} // End of namespace Graphics - -#endif diff --git a/graphics/decoders/iff.cpp b/graphics/decoders/iff.cpp deleted file mode 100644 index c5fd46bf25..0000000000 --- a/graphics/decoders/iff.cpp +++ /dev/null @@ -1,244 +0,0 @@ -/* 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 "common/iff_container.h" -#include "common/stream.h" -#include "common/util.h" - -#include "graphics/decoders/iff.h" - -namespace Graphics { - -IFFDecoder::IFFDecoder() { - _surface = 0; - _palette = 0; - - // these 2 properties are not reset by destroy(), so the default is set here. - _numRelevantPlanes = 8; - _pixelPacking = false; - - destroy(); -} - -IFFDecoder::~IFFDecoder() { - destroy(); -} - -void IFFDecoder::destroy() { - if (_surface) { - _surface->free(); - delete _surface; - _surface = 0; - } - - if (_palette) { - delete[] _palette; - _palette = 0; - } - - memset(&_header, 0, sizeof(Header)); - _paletteRanges.clear(); - _type = TYPE_UNKNOWN; - _paletteColorCount = 0; -} - -bool IFFDecoder::loadStream(Common::SeekableReadStream &stream) { - destroy(); - - const uint32 form = stream.readUint32BE(); - - if (form != ID_FORM) { - warning("Failed reading IFF-file"); - return false; - } - - stream.skip(4); - - const uint32 type = stream.readUint32BE(); - - switch (type) { - case ID_ILBM: - _type = TYPE_ILBM; - break; - case ID_PBM: - _type = TYPE_PBM; - break; - } - - if (type == TYPE_UNKNOWN) { - warning("Failed reading IFF-file"); - return false; - } - - while (1) { - const uint32 chunkType = stream.readUint32BE(); - const uint32 chunkSize = stream.readUint32BE(); - - if (stream.eos()) - break; - - switch (chunkType) { - case ID_BMHD: - loadHeader(stream); - break; - case ID_CMAP: - loadPalette(stream, chunkSize); - break; - case ID_CRNG: - loadPaletteRange(stream, chunkSize); - break; - case ID_BODY: - loadBitmap(stream); - break; - default: - stream.skip(chunkSize); - } - } - - return true; -} - -void IFFDecoder::loadHeader(Common::SeekableReadStream &stream) { - _header.width = stream.readUint16BE(); - _header.height = stream.readUint16BE(); - _header.x = stream.readUint16BE(); - _header.y = stream.readUint16BE(); - _header.numPlanes = stream.readByte(); - _header.masking = stream.readByte(); - _header.compression = stream.readByte(); - _header.flags = stream.readByte(); - _header.transparentColor = stream.readUint16BE(); - _header.xAspect = stream.readByte(); - _header.yAspect = stream.readByte(); - _header.pageWidth = stream.readUint16BE(); - _header.pageHeight = stream.readUint16BE(); - - assert(_header.width >= 1); - assert(_header.height >= 1); - assert(_header.numPlanes >= 1 && _header.numPlanes <= 8 && _header.numPlanes != 7); -} - -void IFFDecoder::loadPalette(Common::SeekableReadStream &stream, const uint32 size) { - _palette = new byte[size]; - stream.read(_palette, size); - _paletteColorCount = size / 3; -} - -void IFFDecoder::loadPaletteRange(Common::SeekableReadStream &stream, const uint32 size) { - PaletteRange range; - - range.timer = stream.readSint16BE(); - range.step = stream.readSint16BE(); - range.flags = stream.readSint16BE(); - range.first = stream.readByte(); - range.last = stream.readByte(); - - _paletteRanges.push_back(range); -} - -void IFFDecoder::loadBitmap(Common::SeekableReadStream &stream) { - _numRelevantPlanes = MIN(_numRelevantPlanes, _header.numPlanes); - - if (_numRelevantPlanes != 1 && _numRelevantPlanes != 2 && _numRelevantPlanes != 4) - _pixelPacking = false; - - uint16 outPitch = _header.width; - - if (_pixelPacking) - outPitch /= (8 / _numRelevantPlanes); - - // FIXME: CLUT8 is not a proper format for packed bitmaps but there is no way to tell it to use 1, 2 or 4 bits per pixel - _surface = new Graphics::Surface(); - _surface->create(outPitch, _header.height, Graphics::PixelFormat::createFormatCLUT8()); - - if (_type == TYPE_ILBM) { - uint32 scanlinePitch = ((_header.width + 15) >> 4) << 1; - byte *scanlines = new byte[scanlinePitch * _header.numPlanes]; - byte *data = (byte *)_surface->getPixels(); - - for (uint16 i = 0; i < _header.height; ++i) { - byte *scanline = scanlines; - - for (uint16 j = 0; j < _header.numPlanes; ++j) { - uint16 outSize = scanlinePitch; - - if (_header.compression) { - Common::PackBitsReadStream packStream(stream); - packStream.read(scanline, outSize); - } else { - stream.read(scanline, outSize); - } - - scanline += outSize; - } - - packPixels(scanlines, data, scanlinePitch, outPitch); - data += outPitch; - } - - delete[] scanlines; - } else if (_type == TYPE_PBM) { - byte *data = (byte *)_surface->getPixels(); - uint32 outSize = _header.width * _header.height; - - if (_header.compression) { - Common::PackBitsReadStream packStream(stream); - packStream.read(data, outSize); - } else { - stream.read(data, outSize); - } - } -} - -void IFFDecoder::packPixels(byte *scanlines, byte *data, const uint16 scanlinePitch, const uint16 outPitch) { - uint32 numPixels = _header.width; - - if (_pixelPacking) - numPixels = outPitch * (8 / _numRelevantPlanes); - - for (uint32 x = 0; x < numPixels; ++x) { - byte *scanline = scanlines; - byte pixel = 0; - byte offset = x >> 3; - byte bit = 0x80 >> (x & 7); - - // first build a pixel by scanning all the usable planes in the input - for (uint32 plane = 0; plane < _numRelevantPlanes; ++plane) { - if (scanline[offset] & bit) - pixel |= (1 << plane); - - scanline += scanlinePitch; - } - - // then output the pixel according to the requested packing - if (!_pixelPacking) - data[x] = pixel; - else if (_numRelevantPlanes == 1) - data[x / 8] |= (pixel << (x & 7)); - else if (_numRelevantPlanes == 2) - data[x / 4] |= (pixel << ((x & 3) << 1)); - else if (_numRelevantPlanes == 4) - data[x / 2] |= (pixel << ((x & 1) << 2)); - } -} - -} // End of namespace Graphics diff --git a/graphics/decoders/iff.h b/graphics/decoders/iff.h deleted file mode 100644 index eb8e0b98bc..0000000000 --- a/graphics/decoders/iff.h +++ /dev/null @@ -1,124 +0,0 @@ -/* 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. - * - */ - -/** - * @file - * Image decoder used in engines: - * - gob - * - parallaction - * - queen - * - saga - */ - -#ifndef GRAPHICS_DECODERS_IFF_H -#define GRAPHICS_DECODERS_IFF_H - -#include "common/array.h" -#include "common/endian.h" - -#include "graphics/surface.h" -#include "graphics/decoders/image_decoder.h" - -namespace Common { -class SeekableReadStream; -} - -namespace Graphics { - -struct Surface; - -class IFFDecoder : public ImageDecoder { -public: - struct Header { - uint16 width, height; - uint16 x, y; - byte numPlanes; - byte masking; - byte compression; - byte flags; - uint16 transparentColor; - byte xAspect, yAspect; - uint16 pageWidth, pageHeight; - }; - - struct PaletteRange { - int16 timer, step, flags; - byte first, last; - }; - - enum Type { - TYPE_UNKNOWN = 0, - TYPE_ILBM, - TYPE_PBM - }; - - IFFDecoder(); - virtual ~IFFDecoder(); - - // ImageDecoder API - void destroy(); - bool loadStream(Common::SeekableReadStream &stream); - const Header *getHeader() const { return &_header; } - const Surface *getSurface() const { return _surface; } - const byte *getPalette() const { return _palette; } - const Common::Array &getPaletteRanges() const { return _paletteRanges; } - uint16 getPaletteColorCount() const { return _paletteColorCount; } - - /** - * The number of planes to decode, also determines the pixel packing if _packPixels is true. - * 8 == decode all planes, map 1 pixel in 1 byte. (default, no packing even if _packPixels is true) - * - * NOTE: this property must be reset manually, and is not reset by a call to destroy(). - */ - void setNumRelevantPlanes(const uint8 numRelevantPlanes) { _numRelevantPlanes = numRelevantPlanes; } - - /** - * Enables pixel packing, the amount of packing is determined by _numRelevantPlanes - * 1 == decode first plane, pack 8 pixels in 1 byte. This makes _surface->w 1/8th of _header.width - * 2 == decode first 2 planes, pack 4 pixels in 1 byte. This makes _surface->w 1/4th of _header.width - * 4 == decode first 4 planes, pack 2 pixels in 1 byte. This makes _surface->w half of _header.width - * Packed bitmaps won't have a proper surface format since there is no way to tell it to use 1, 2 or 4 bits per pixel - * - * NOTE: this property must be reset manually, and is not reset by a call to destroy(). - */ - void setPixelPacking(const bool pixelPacking) { _pixelPacking = pixelPacking; } -private: - - Header _header; - Surface *_surface; - byte *_palette; - Common::Array _paletteRanges; - Type _type; - uint16 _paletteColorCount; - uint8 _numRelevantPlanes; - bool _pixelPacking; - - void loadHeader(Common::SeekableReadStream &stream); - void loadPalette(Common::SeekableReadStream &stream, const uint32 size); - void loadPaletteRange(Common::SeekableReadStream &stream, const uint32 size); - void loadBitmap(Common::SeekableReadStream &stream); - void packPixels(byte *scanlines, byte *data, const uint16 scanlinePitch, const uint16 outPitch); -}; - -} // End of namespace Graphics - -#endif // GRAPHICS_DECODERS_IFF_H diff --git a/graphics/decoders/image_decoder.h b/graphics/decoders/image_decoder.h deleted file mode 100644 index cad3a1db06..0000000000 --- a/graphics/decoders/image_decoder.h +++ /dev/null @@ -1,105 +0,0 @@ -/* 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. - * - */ - -#ifndef GRAPHICS_DECODERS_IMAGEDECODER_H -#define GRAPHICS_DECODERS_IMAGEDECODER_H - -#include "common/scummsys.h" -#include "common/str.h" - -namespace Common{ -class SeekableReadStream; -} - -namespace Graphics { - -struct PixelFormat; -struct Surface; - -/** - * A representation of an image decoder that maintains ownership of the surface - * and palette it decodes to. - */ -class ImageDecoder { -public: - virtual ~ImageDecoder() {} - - /** - * Load an image from the specified stream - * - * loadStream() should implicitly call destroy() to free the memory - * of the last loadStream() call. - * - * @param stream the input stream - * @return whether loading the file succeeded - * @see getSurface - * @see getPalette - */ - virtual bool loadStream(Common::SeekableReadStream &stream) = 0; - - /** - * Destroy this decoder's surface and palette - * - * This should be called by a loadStream() implementation as well - * as the destructor. - */ - virtual void destroy() = 0; - - /** - * Get the decoded surface - * - * This surface is owned by this ImageDecoder and will remain valid - * until destroy() or loadStream() is called, or until this ImageDecoder's - * destructor is called. - * - * @return the decoded surface, or 0 if no surface is present - */ - virtual const Surface *getSurface() const = 0; - - /** - * Get the decoded palette - * - * This palette is owned by this ImageDecoder and will remain valid - * until destroy() or loadStream() is called, or until this ImageDecoder's - * destructor is called. - * - * The palette's format is the same as PaletteManager's palette - * (interleaved RGB values). - * - * @return the decoded palette, or undefined if no palette is present - */ - virtual const byte *getPalette() const { return 0; } - - /** - * Query if the decoded image has a palette. - */ - virtual bool hasPalette() const { return getPaletteColorCount() != 0; } - - /** Return the starting index of the palette. */ - virtual byte getPaletteStartIndex() const { return 0; } - /** Return the number of colors in the palette. */ - virtual uint16 getPaletteColorCount() const { return 0; } -}; - -} // End of namespace Graphics - -#endif diff --git a/graphics/decoders/jpeg.cpp b/graphics/decoders/jpeg.cpp deleted file mode 100644 index aa62ff96b6..0000000000 --- a/graphics/decoders/jpeg.cpp +++ /dev/null @@ -1,266 +0,0 @@ -/* 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. - * - */ - -// libjpeg uses forbidden symbols in its header. Thus, we need to allow them -// here. -#define FORBIDDEN_SYMBOL_ALLOW_ALL - -#include "graphics/pixelformat.h" -#include "graphics/decoders/jpeg.h" - -#include "common/debug.h" -#include "common/endian.h" -#include "common/stream.h" -#include "common/textconsole.h" - -#ifdef USE_JPEG -// The original release of libjpeg v6b did not contain any extern "C" in case -// its header files are included in a C++ environment. To avoid any linking -// issues we need to add it on our own. -extern "C" { -#include -#include -} -#endif - -namespace Graphics { - -JPEGDecoder::JPEGDecoder() : ImageDecoder(), _surface(), _colorSpace(kColorSpaceRGBA) { -} - -JPEGDecoder::~JPEGDecoder() { - destroy(); -} - -const Surface *JPEGDecoder::getSurface() const { - return &_surface; -} - -void JPEGDecoder::destroy() { - _surface.free(); -} - -#ifdef USE_JPEG -namespace { - -#define JPEG_BUFFER_SIZE 4096 - -struct StreamSource : public jpeg_source_mgr { - Common::SeekableReadStream *stream; - bool startOfFile; - JOCTET buffer[JPEG_BUFFER_SIZE]; -}; - -void initSource(j_decompress_ptr cinfo) { - StreamSource *source = (StreamSource *)cinfo->src; - source->startOfFile = true; -} - -boolean fillInputBuffer(j_decompress_ptr cinfo) { - StreamSource *source = (StreamSource *)cinfo->src; - - uint32 bufferSize = source->stream->read((byte *)source->buffer, sizeof(source->buffer)); - if (bufferSize == 0) { - if (source->startOfFile) { - // An empty file is a fatal error - ERREXIT(cinfo, JERR_INPUT_EMPTY); - } else { - // Otherwise we insert an EOF marker - WARNMS(cinfo, JWRN_JPEG_EOF); - source->buffer[0] = (JOCTET)0xFF; - source->buffer[1] = (JOCTET)JPEG_EOI; - bufferSize = 2; - } - } - - source->next_input_byte = source->buffer; - source->bytes_in_buffer = bufferSize; - source->startOfFile = false; - - return TRUE; -} - -void skipInputData(j_decompress_ptr cinfo, long numBytes) { - StreamSource *source = (StreamSource *)cinfo->src; - - if (numBytes > 0) { - if (numBytes > (long)source->bytes_in_buffer) { - // In case we need to skip more bytes than there are in the buffer - // we will skip the remaining data and fill the buffer again - numBytes -= (long)source->bytes_in_buffer; - - // Skip the remaining bytes - source->stream->skip(numBytes); - - // Fill up the buffer again - (*source->fill_input_buffer)(cinfo); - } else { - source->next_input_byte += (size_t)numBytes; - source->bytes_in_buffer -= (size_t)numBytes; - } - - } -} - -void termSource(j_decompress_ptr cinfo) { -} - -void jpeg_scummvm_src(j_decompress_ptr cinfo, Common::SeekableReadStream *stream) { - StreamSource *source; - - // Initialize the source in case it has not been done yet. - if (cinfo->src == NULL) { - cinfo->src = (jpeg_source_mgr *)(*cinfo->mem->alloc_small)((j_common_ptr)cinfo, JPOOL_PERMANENT, sizeof(StreamSource)); - } - - source = (StreamSource *)cinfo->src; - source->init_source = &initSource; - source->fill_input_buffer = &fillInputBuffer; - source->skip_input_data = &skipInputData; - source->resync_to_restart = &jpeg_resync_to_restart; - source->term_source = &termSource; - source->bytes_in_buffer = 0; - source->next_input_byte = NULL; - - source->stream = stream; -} - -void errorExit(j_common_ptr cinfo) { - char buffer[JMSG_LENGTH_MAX]; - (*cinfo->err->format_message)(cinfo, buffer); - // This function is not allowed to return to the caller, thus we simply - // error out with our error handling here. - error("%s", buffer); -} - -void outputMessage(j_common_ptr cinfo) { - char buffer[JMSG_LENGTH_MAX]; - (*cinfo->err->format_message)(cinfo, buffer); - // Is using debug here a good idea? Or do we want to ignore all libjpeg - // messages? - debug(3, "libjpeg: %s", buffer); -} - -} // End of anonymous namespace -#endif - -bool JPEGDecoder::loadStream(Common::SeekableReadStream &stream) { -#ifdef USE_JPEG - // Reset member variables from previous decodings - destroy(); - - jpeg_decompress_struct cinfo; - jpeg_error_mgr jerr; - - // Initialize error handling callbacks - cinfo.err = jpeg_std_error(&jerr); - cinfo.err->error_exit = &errorExit; - cinfo.err->output_message = &outputMessage; - - // Initialize the decompression structure - jpeg_create_decompress(&cinfo); - - // Initialize our buffer handling - jpeg_scummvm_src(&cinfo, &stream); - - // Read the file header - jpeg_read_header(&cinfo, TRUE); - - // We can request YUV output because Groovie requires it - switch (_colorSpace) { - case kColorSpaceRGBA: - cinfo.out_color_space = JCS_RGB; - break; - - case kColorSpaceYUV: - cinfo.out_color_space = JCS_YCbCr; - break; - } - - // Actually start decompressing the image - jpeg_start_decompress(&cinfo); - - // Allocate buffers for the output data - switch (_colorSpace) { - case kColorSpaceRGBA: - // We use RGBA8888 in this scenario - _surface.create(cinfo.output_width, cinfo.output_height, Graphics::PixelFormat(4, 8, 8, 8, 0, 24, 16, 8, 0)); - break; - - case kColorSpaceYUV: - // We use YUV with 3 bytes per pixel otherwise. - // This is pretty ugly since our PixelFormat cannot express YUV... - _surface.create(cinfo.output_width, cinfo.output_height, Graphics::PixelFormat(3, 0, 0, 0, 0, 0, 0, 0, 0)); - break; - } - - // Allocate buffer for one scanline - assert(cinfo.output_components == 3); - JDIMENSION pitch = cinfo.output_width * cinfo.output_components; - assert(_surface.pitch >= pitch); - JSAMPARRAY buffer = (*cinfo.mem->alloc_sarray)((j_common_ptr)&cinfo, JPOOL_IMAGE, pitch, 1); - - // Go through the image data scanline by scanline - while (cinfo.output_scanline < cinfo.output_height) { - byte *dst = (byte *)_surface.getBasePtr(0, cinfo.output_scanline); - - jpeg_read_scanlines(&cinfo, buffer, 1); - - const byte *src = buffer[0]; - switch (_colorSpace) { - case kColorSpaceRGBA: { - for (int remaining = cinfo.output_width; remaining > 0; --remaining) { - byte r = *src++; - byte g = *src++; - byte b = *src++; - // We need to insert a alpha value of 255 (opaque) here. -#ifdef SCUMM_BIG_ENDIAN - *dst++ = r; - *dst++ = g; - *dst++ = b; - *dst++ = 0xFF; -#else - *dst++ = 0xFF; - *dst++ = b; - *dst++ = g; - *dst++ = r; -#endif - } - } break; - - case kColorSpaceYUV: - memcpy(dst, src, pitch); - break; - } - } - - // We are done with decompressing, thus free all the data - jpeg_finish_decompress(&cinfo); - jpeg_destroy_decompress(&cinfo); - - return true; -#else - return false; -#endif -} - -} // End of Graphics namespace diff --git a/graphics/decoders/jpeg.h b/graphics/decoders/jpeg.h deleted file mode 100644 index 8fd03ca86b..0000000000 --- a/graphics/decoders/jpeg.h +++ /dev/null @@ -1,95 +0,0 @@ -/* 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. - * - */ - -/** - * @file - * Image decoder used in engines: - * - groovie - * - mohawk - * - wintermute - */ - -#ifndef GRAPHICS_JPEG_H -#define GRAPHICS_JPEG_H - -#include "graphics/surface.h" -#include "graphics/decoders/image_decoder.h" - -namespace Common { -class SeekableReadStream; -} - -namespace Graphics { - -class JPEGDecoder : public ImageDecoder { -public: - JPEGDecoder(); - ~JPEGDecoder(); - - // ImageDecoder API - virtual void destroy(); - virtual bool loadStream(Common::SeekableReadStream &str); - virtual const Surface *getSurface() const; - - // Special API for JPEG - enum ColorSpace { - /** - * Output 32bit RGBA data. - * - * This is the default output. - */ - kColorSpaceRGBA, - - /** - * Output (interleaved) YUV data. - * - * Be aware that some images cannot be output in YUV mode. - * These are (non-standard) JPEG images which are in RGB colorspace. - * - * The resulting Surface will have a PixelFormat with 3 bytes per - * pixel and the remaining entries are completely zeroed. This works - * around the fact that PixelFormat can only describe RGB formats. - * - * You should only use this when you are really aware of what you are - * doing! - */ - kColorSpaceYUV - }; - - /** - * Request the output color space. This can be used to obtain raw YUV - * data from the JPEG file. But this might not work for all files! - * - * The decoder itself defaults to RGBA. - * - * @param outSpace The color space to output. - */ - void setOutputColorSpace(ColorSpace outSpace) { _colorSpace = outSpace; } - -private: - Graphics::Surface _surface; - ColorSpace _colorSpace; -}; - -} // End of Graphics namespace - -#endif // GRAPHICS_JPEG_H diff --git a/graphics/decoders/pcx.cpp b/graphics/decoders/pcx.cpp deleted file mode 100644 index bc82275d9e..0000000000 --- a/graphics/decoders/pcx.cpp +++ /dev/null @@ -1,214 +0,0 @@ -/* 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 "common/stream.h" -#include "common/textconsole.h" - -#include "graphics/pixelformat.h" -#include "graphics/surface.h" -#include "graphics/decoders/pcx.h" - -/** - * Based on the PCX specs: - * http://www.fileformat.info/format/pcx/spec/a10e75307b3a4cc49c3bbe6db4c41fa2/view.htm - * and the PCX decoder of FFmpeg (libavcodec/pcx.c): - * http://git.videolan.org/?p=ffmpeg.git;a=blob;f=libavcodec/pcx.c - */ - -namespace Graphics { - -PCXDecoder::PCXDecoder() { - _surface = 0; - _palette = 0; - _paletteColorCount = 0; -} - -PCXDecoder::~PCXDecoder() { - destroy(); -} - -void PCXDecoder::destroy() { - if (_surface) { - _surface->free(); - delete _surface; - _surface = 0; - } - - delete[] _palette; - _palette = 0; - _paletteColorCount = 0; -} - -bool PCXDecoder::loadStream(Common::SeekableReadStream &stream) { - destroy(); - - if (stream.readByte() != 0x0a) // ZSoft PCX - return false; - - byte version = stream.readByte(); // 0 - 5 - if (version > 5) - return false; - - bool compressed = stream.readByte(); // encoding, 1 = run length encoding - byte bitsPerPixel = stream.readByte(); // 1, 2, 4 or 8 - - // Window - uint16 xMin = stream.readUint16LE(); - uint16 yMin = stream.readUint16LE(); - uint16 xMax = stream.readUint16LE(); - uint16 yMax = stream.readUint16LE(); - - uint16 width = xMax - xMin + 1; - uint16 height = yMax - yMin + 1; - - if (xMax < xMin || yMax < yMin) { - warning("Invalid PCX image dimensions"); - return false; - } - - stream.skip(4); // HDpi, VDpi - - // Read the EGA palette (colormap) - _palette = new byte[16 * 3]; - for (uint16 i = 0; i < 16; i++) { - _palette[i * 3 + 0] = stream.readByte(); - _palette[i * 3 + 1] = stream.readByte(); - _palette[i * 3 + 2] = stream.readByte(); - } - - if (stream.readByte() != 0) // reserved, should be set to 0 - return false; - - byte nPlanes = stream.readByte(); - uint16 bytesPerLine = stream.readUint16LE(); - uint16 bytesPerscanLine = nPlanes * bytesPerLine; - - if (bytesPerscanLine < width * bitsPerPixel * nPlanes / 8) { - warning("PCX data is corrupted"); - return false; - } - - stream.skip(60); // PaletteInfo, HscreenSize, VscreenSize, Filler - - _surface = new Graphics::Surface(); - - byte *scanLine = new byte[bytesPerscanLine]; - byte *dst; - int x, y; - - if (nPlanes == 3 && bitsPerPixel == 8) { // 24bpp - Graphics::PixelFormat format = Graphics::PixelFormat(4, 8, 8, 8, 8, 24, 16, 8, 0); - _surface->create(width, height, format); - dst = (byte *)_surface->getPixels(); - _paletteColorCount = 0; - - for (y = 0; y < height; y++) { - decodeRLE(stream, scanLine, bytesPerscanLine, compressed); - - for (x = 0; x < width; x++) { - byte b = scanLine[x]; - byte g = scanLine[x + bytesPerLine]; - byte r = scanLine[x + (bytesPerLine << 1)]; - uint32 color = format.RGBToColor(r, g, b); - - *((uint32 *)dst) = color; - dst += format.bytesPerPixel; - } - } - } else if (nPlanes == 1 && bitsPerPixel == 8) { // 8bpp indexed - _surface->create(width, height, Graphics::PixelFormat::createFormatCLUT8()); - dst = (byte *)_surface->getPixels(); - _paletteColorCount = 16; - - for (y = 0; y < height; y++, dst += _surface->pitch) { - decodeRLE(stream, scanLine, bytesPerscanLine, compressed); - memcpy(dst, scanLine, width); - } - - if (version == 5) { - if (stream.readByte() != 12) { - warning("Expected a palette after the PCX image data"); - delete[] scanLine; - return false; - } - - // Read the VGA palette - delete[] _palette; - _palette = new byte[256 * 3]; - for (uint16 i = 0; i < 256; i++) { - _palette[i * 3 + 0] = stream.readByte(); - _palette[i * 3 + 1] = stream.readByte(); - _palette[i * 3 + 2] = stream.readByte(); - } - - _paletteColorCount = 256; - } - } else if ((nPlanes == 2 || nPlanes == 3 || nPlanes == 4) && bitsPerPixel == 1) { // planar, 4, 8 or 16 colors - _surface->create(width, height, Graphics::PixelFormat::createFormatCLUT8()); - dst = (byte *)_surface->getPixels(); - _paletteColorCount = 16; - - for (y = 0; y < height; y++, dst += _surface->pitch) { - decodeRLE(stream, scanLine, bytesPerscanLine, compressed); - - for (x = 0; x < width; x++) { - int m = 0x80 >> (x & 7), v = 0; - for (int i = nPlanes - 1; i >= 0; i--) { - v <<= 1; - v += (scanLine[i * bytesPerLine + (x >> 3)] & m) == 0 ? 0 : 1; - } - dst[x] = v; - } - } - } else { - // Known unsupported case: 1 plane and bpp < 8 (1, 2 or 4) - warning("Invalid PCX file (%d planes, %d bpp)", nPlanes, bitsPerPixel); - delete[] scanLine; - return false; - } - - delete[] scanLine; - - return true; -} - -void PCXDecoder::decodeRLE(Common::SeekableReadStream &stream, byte *dst, uint32 bytesPerscanLine, bool compressed) { - uint32 i = 0; - byte run, value; - - if (compressed) { - while (i < bytesPerscanLine) { - run = 1; - value = stream.readByte(); - if (value >= 0xc0) { - run = value & 0x3f; - value = stream.readByte(); - } - while (i < bytesPerscanLine && run--) - dst[i++] = value; - } - } else { - stream.read(dst, bytesPerscanLine); - } -} - -} // End of namespace Graphics diff --git a/graphics/decoders/pcx.h b/graphics/decoders/pcx.h deleted file mode 100644 index 675ab505dc..0000000000 --- a/graphics/decoders/pcx.h +++ /dev/null @@ -1,69 +0,0 @@ -/* 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. - * - */ - -/** - * PCX decoder used in engines: - * - dreamweb - * - hugo - * - queen - * - tucker - */ - -#ifndef GRAPHICS_DECODERS_PCX_H -#define GRAPHICS_DECODERS_PCX_H - -#include "common/scummsys.h" -#include "common/str.h" -#include "graphics/decoders/image_decoder.h" - -namespace Common{ -class SeekableReadStream; -} - -namespace Graphics { - -struct PixelFormat; -struct Surface; - -class PCXDecoder : public ImageDecoder { -public: - PCXDecoder(); - virtual ~PCXDecoder(); - - // ImageDecoder API - void destroy(); - virtual bool loadStream(Common::SeekableReadStream &stream); - virtual const Surface *getSurface() const { return _surface; } - const byte *getPalette() const { return _palette; } - uint16 getPaletteColorCount() const { return _paletteColorCount; } - -private: - void decodeRLE(Common::SeekableReadStream &stream, byte *dst, uint32 bytesPerScanline, bool compressed); - - Surface *_surface; - byte *_palette; - uint16 _paletteColorCount; -}; - -} // End of namespace Graphics - -#endif diff --git a/graphics/decoders/pict.cpp b/graphics/decoders/pict.cpp deleted file mode 100644 index 8849a83ca1..0000000000 --- a/graphics/decoders/pict.cpp +++ /dev/null @@ -1,580 +0,0 @@ -/* 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 "common/debug.h" -#include "common/endian.h" -#include "common/stream.h" -#include "common/substream.h" -#include "common/textconsole.h" - -#include "graphics/surface.h" -#include "graphics/decoders/jpeg.h" -#include "graphics/decoders/pict.h" - -namespace Graphics { - -// The PICT code is based off of the QuickDraw specs: -// http://developer.apple.com/legacy/mac/library/documentation/mac/QuickDraw/QuickDraw-461.html -// http://developer.apple.com/legacy/mac/library/documentation/mac/QuickDraw/QuickDraw-269.html - -PICTDecoder::PICTDecoder() { - _outputSurface = 0; - _paletteColorCount = 0; -} - -PICTDecoder::~PICTDecoder() { - destroy(); -} - -void PICTDecoder::destroy() { - if (_outputSurface) { - _outputSurface->free(); - delete _outputSurface; - _outputSurface = 0; - } - - _paletteColorCount = 0; -} - -#define OPCODE(a, b, c) _opcodes.push_back(PICTOpcode(a, &PICTDecoder::b, c)) - -void PICTDecoder::setupOpcodesCommon() { - OPCODE(0x0000, o_nop, "NOP"); - OPCODE(0x0001, o_clip, "Clip"); - OPCODE(0x0003, o_txFont, "TxFont"); - OPCODE(0x0004, o_txFace, "TxFace"); - OPCODE(0x0007, o_pnSize, "PnSize"); - OPCODE(0x000D, o_txSize, "TxSize"); - OPCODE(0x0010, o_txRatio, "TxRatio"); - OPCODE(0x0011, o_versionOp, "VersionOp"); - OPCODE(0x001E, o_nop, "DefHilite"); - OPCODE(0x0028, o_longText, "LongText"); - OPCODE(0x00A1, o_longComment, "LongComment"); - OPCODE(0x00FF, o_opEndPic, "OpEndPic"); - OPCODE(0x0C00, o_headerOp, "HeaderOp"); -} - -void PICTDecoder::setupOpcodesNormal() { - setupOpcodesCommon(); - OPCODE(0x0098, on_packBitsRect, "PackBitsRect"); - OPCODE(0x009A, on_directBitsRect, "DirectBitsRect"); - OPCODE(0x8200, on_compressedQuickTime, "CompressedQuickTime"); -} - -void PICTDecoder::setupOpcodesQuickTime() { - setupOpcodesCommon(); - OPCODE(0x0098, oq_packBitsRect, "PackBitsRect"); - OPCODE(0x009A, oq_directBitsRect, "DirectBitsRect"); - OPCODE(0x8200, oq_compressedQuickTime, "CompressedQuickTime"); -} - -#undef OPCODE - -void PICTDecoder::o_nop(Common::SeekableReadStream &) { - // Nothing to do -} - -void PICTDecoder::o_clip(Common::SeekableReadStream &stream) { - // Ignore - stream.skip(stream.readUint16BE() - 2); -} - -void PICTDecoder::o_txFont(Common::SeekableReadStream &stream) { - // Ignore - stream.readUint16BE(); -} - -void PICTDecoder::o_txFace(Common::SeekableReadStream &stream) { - // Ignore - stream.readByte(); -} - -void PICTDecoder::o_pnSize(Common::SeekableReadStream &stream) { - // Ignore - stream.readUint16BE(); - stream.readUint16BE(); -} - -void PICTDecoder::o_txSize(Common::SeekableReadStream &stream) { - // Ignore - stream.readUint16BE(); -} - -void PICTDecoder::o_txRatio(Common::SeekableReadStream &stream) { - // Ignore - stream.readUint16BE(); - stream.readUint16BE(); - stream.readUint16BE(); - stream.readUint16BE(); -} - -void PICTDecoder::o_versionOp(Common::SeekableReadStream &stream) { - // We only support v2 extended - if (stream.readUint16BE() != 0x02FF) - error("Unknown PICT version"); -} - -void PICTDecoder::o_longText(Common::SeekableReadStream &stream) { - // Ignore - stream.readUint16BE(); - stream.readUint16BE(); - stream.skip(stream.readByte()); -} - -void PICTDecoder::o_longComment(Common::SeekableReadStream &stream) { - // Ignore - stream.readUint16BE(); - stream.skip(stream.readUint16BE()); -} - -void PICTDecoder::o_opEndPic(Common::SeekableReadStream &stream) { - // We've reached the end of the picture - _continueParsing = false; -} - -void PICTDecoder::o_headerOp(Common::SeekableReadStream &stream) { - // Read the basic header, but we don't really have to do anything with it - /* uint16 version = */ stream.readUint16BE(); - stream.readUint16BE(); // Reserved - /* uint32 hRes = */ stream.readUint32BE(); - /* uint32 vRes = */ stream.readUint32BE(); - Common::Rect origResRect; - origResRect.top = stream.readUint16BE(); - origResRect.left = stream.readUint16BE(); - origResRect.bottom = stream.readUint16BE(); - origResRect.right = stream.readUint16BE(); - stream.readUint32BE(); // Reserved -} - -void PICTDecoder::on_packBitsRect(Common::SeekableReadStream &stream) { - // Unpack data (8bpp or lower) - unpackBitsRect(stream, true); -} - -void PICTDecoder::on_directBitsRect(Common::SeekableReadStream &stream) { - // Unpack data (16bpp or higher) - unpackBitsRect(stream, false); -} - -void PICTDecoder::on_compressedQuickTime(Common::SeekableReadStream &stream) { - // OK, here's the fun. We get to completely change how QuickDraw draws - // the data in PICT files. - - // Swap out the opcodes to the new ones - _opcodes.clear(); - setupOpcodesQuickTime(); - - // We'll decode the first QuickTime data from here, but the QuickTime-specific - // opcodes will take over from here on out. Normal opcodes, signing off. - decodeCompressedQuickTime(stream); -} - -void PICTDecoder::oq_packBitsRect(Common::SeekableReadStream &stream) { - // Skip any data here (8bpp or lower) - skipBitsRect(stream, true); -} - -void PICTDecoder::oq_directBitsRect(Common::SeekableReadStream &stream) { - // Skip any data here (16bpp or higher) - skipBitsRect(stream, false); -} - -void PICTDecoder::oq_compressedQuickTime(Common::SeekableReadStream &stream) { - // Just pass the data along - decodeCompressedQuickTime(stream); -} - -bool PICTDecoder::loadStream(Common::SeekableReadStream &stream) { - destroy(); - - // Initialize opcodes to their normal state - _opcodes.clear(); - setupOpcodesNormal(); - - _continueParsing = true; - memset(_palette, 0, sizeof(_palette)); - - uint16 fileSize = stream.readUint16BE(); - - // If we have no file size here, we probably have a PICT from a file - // and not a resource. The other two bytes are the fileSize which we - // don't actually need (and already read if from a resource). - if (!fileSize) - stream.seek(512 + 2); - - _imageRect.top = stream.readUint16BE(); - _imageRect.left = stream.readUint16BE(); - _imageRect.bottom = stream.readUint16BE(); - _imageRect.right = stream.readUint16BE(); - _imageRect.debugPrint(0, "PICT Rect:"); - - // NOTE: This is only a subset of the full PICT format. - // - Only V2 (Extended) Images Supported - // - CompressedQuickTime (JPEG) compressed data is supported - // - DirectBitsRect/PackBitsRect compressed data is supported - for (uint32 opNum = 0; !stream.eos() && !stream.err() && stream.pos() < stream.size() && _continueParsing; opNum++) { - // PICT v2 opcodes are two bytes - uint16 opcode = stream.readUint16BE(); - - if (opNum == 0 && opcode != 0x0011) { - warning("Cannot find PICT version opcode"); - return false; - } else if (opNum == 1 && opcode != 0x0C00) { - warning("Cannot find PICT header opcode"); - return false; - } - - // Since opcodes are word-aligned, we need to mark our starting - // position here. - uint32 startPos = stream.pos(); - - for (uint32 i = 0; i < _opcodes.size(); i++) { - if (_opcodes[i].op == opcode) { - debug(4, "Running PICT opcode %04x '%s'", opcode, _opcodes[i].desc); - (this->*(_opcodes[i].proc))(stream); - break; - } else if (i == _opcodes.size() - 1) { - // Unknown opcode; attempt to continue forward - warning("Unknown PICT opcode %04x", opcode); - } - } - - // Align - stream.skip((stream.pos() - startPos) & 1); - } - - return _outputSurface; -} - -PICTDecoder::PixMap PICTDecoder::readPixMap(Common::SeekableReadStream &stream, bool hasBaseAddr) { - PixMap pixMap; - pixMap.baseAddr = hasBaseAddr ? stream.readUint32BE() : 0; - pixMap.rowBytes = stream.readUint16BE() & 0x3fff; - pixMap.bounds.top = stream.readUint16BE(); - pixMap.bounds.left = stream.readUint16BE(); - pixMap.bounds.bottom = stream.readUint16BE(); - pixMap.bounds.right = stream.readUint16BE(); - pixMap.pmVersion = stream.readUint16BE(); - pixMap.packType = stream.readUint16BE(); - pixMap.packSize = stream.readUint32BE(); - pixMap.hRes = stream.readUint32BE(); - pixMap.vRes = stream.readUint32BE(); - pixMap.pixelType = stream.readUint16BE(); - pixMap.pixelSize = stream.readUint16BE(); - pixMap.cmpCount = stream.readUint16BE(); - pixMap.cmpSize = stream.readUint16BE(); - pixMap.planeBytes = stream.readUint32BE(); - pixMap.pmTable = stream.readUint32BE(); - pixMap.pmReserved = stream.readUint32BE(); - return pixMap; -} - -struct PackBitsRectData { - PICTDecoder::PixMap pixMap; - Common::Rect srcRect; - Common::Rect dstRect; - uint16 mode; -}; - -void PICTDecoder::unpackBitsRect(Common::SeekableReadStream &stream, bool withPalette) { - PackBitsRectData packBitsData; - packBitsData.pixMap = readPixMap(stream, !withPalette); - - // Read in the palette if there is one present - if (withPalette) { - // See http://developer.apple.com/legacy/mac/library/documentation/mac/QuickDraw/QuickDraw-267.html - stream.readUint32BE(); // seed - stream.readUint16BE(); // flags - _paletteColorCount = stream.readUint16BE() + 1; - - for (uint32 i = 0; i < _paletteColorCount; i++) { - stream.readUint16BE(); - _palette[i * 3] = stream.readUint16BE() >> 8; - _palette[i * 3 + 1] = stream.readUint16BE() >> 8; - _palette[i * 3 + 2] = stream.readUint16BE() >> 8; - } - } - - packBitsData.srcRect.top = stream.readUint16BE(); - packBitsData.srcRect.left = stream.readUint16BE(); - packBitsData.srcRect.bottom = stream.readUint16BE(); - packBitsData.srcRect.right = stream.readUint16BE(); - packBitsData.dstRect.top = stream.readUint16BE(); - packBitsData.dstRect.left = stream.readUint16BE(); - packBitsData.dstRect.bottom = stream.readUint16BE(); - packBitsData.dstRect.right = stream.readUint16BE(); - packBitsData.mode = stream.readUint16BE(); - - uint16 width = packBitsData.srcRect.width(); - uint16 height = packBitsData.srcRect.height(); - - byte bytesPerPixel = 0; - - if (packBitsData.pixMap.pixelSize <= 8) - bytesPerPixel = 1; - else if (packBitsData.pixMap.pixelSize == 32) - bytesPerPixel = packBitsData.pixMap.cmpCount; - else - bytesPerPixel = packBitsData.pixMap.pixelSize / 8; - - // Ensure we have enough space in the buffer to hold an entire line's worth of pixels - uint32 lineSize = MAX(width * bytesPerPixel + (8 * 2 / packBitsData.pixMap.pixelSize), packBitsData.pixMap.rowBytes); - byte *buffer = new byte[lineSize * height]; - - // Read in amount of data per row - for (uint16 i = 0; i < packBitsData.pixMap.bounds.height(); i++) { - // NOTE: Compression 0 is "default". The format in SCI games is packed when 0. - // In the future, we may need to have something to set the "default" packing - // format, but this is good for now. - - if (packBitsData.pixMap.packType == 1 || packBitsData.pixMap.rowBytes < 8) { // Unpacked, Pad-Byte (on 24-bit) - // TODO: Finish this. Hasn't been needed (yet). - error("Unpacked DirectBitsRect data (padded)"); - } else if (packBitsData.pixMap.packType == 2) { // Unpacked, No Pad-Byte (on 24-bit) - // TODO: Finish this. Hasn't been needed (yet). - error("Unpacked DirectBitsRect data (not padded)"); - } else if (packBitsData.pixMap.packType == 0 || packBitsData.pixMap.packType > 2) { // Packed - uint16 byteCount = (packBitsData.pixMap.rowBytes > 250) ? stream.readUint16BE() : stream.readByte(); - unpackBitsLine(buffer + i * width * bytesPerPixel, packBitsData.pixMap.rowBytes, stream.readStream(byteCount), packBitsData.pixMap.pixelSize, bytesPerPixel); - } - } - - _outputSurface = new Graphics::Surface(); - - switch (bytesPerPixel) { - case 1: - // Just copy to the image - _outputSurface->create(width, height, PixelFormat::createFormatCLUT8()); - memcpy(_outputSurface->getPixels(), buffer, _outputSurface->w * _outputSurface->h); - break; - case 2: - // We have a 16-bit surface - _outputSurface->create(width, height, PixelFormat(2, 5, 5, 5, 0, 10, 5, 0, 0)); - for (uint16 y = 0; y < _outputSurface->h; y++) - for (uint16 x = 0; x < _outputSurface->w; x++) - WRITE_UINT16(_outputSurface->getBasePtr(x, y), READ_UINT16(buffer + (y * _outputSurface->w + x) * 2)); - break; - case 3: - // We have a planar 24-bit surface - _outputSurface->create(width, height, Graphics::PixelFormat(4, 8, 8, 8, 8, 24, 16, 8, 0)); - for (uint16 y = 0; y < _outputSurface->h; y++) { - for (uint16 x = 0; x < _outputSurface->w; x++) { - byte r = *(buffer + y * _outputSurface->w * 3 + x); - byte g = *(buffer + y * _outputSurface->w * 3 + _outputSurface->w + x); - byte b = *(buffer + y * _outputSurface->w * 3 + _outputSurface->w * 2 + x); - *((uint32 *)_outputSurface->getBasePtr(x, y)) = _outputSurface->format.RGBToColor(r, g, b); - } - } - break; - case 4: - // We have a planar 32-bit surface - // Note that we ignore the alpha channel since it seems to not be correct - // Mac OS X does not ignore it, but then displays it incorrectly. Photoshop - // does ignore it and displays it correctly. - _outputSurface->create(width, height, Graphics::PixelFormat(4, 8, 8, 8, 8, 24, 16, 8, 0)); - for (uint16 y = 0; y < _outputSurface->h; y++) { - for (uint16 x = 0; x < _outputSurface->w; x++) { - byte a = 0xFF; - byte r = *(buffer + y * _outputSurface->w * 4 + _outputSurface->w + x); - byte g = *(buffer + y * _outputSurface->w * 4 + _outputSurface->w * 2 + x); - byte b = *(buffer + y * _outputSurface->w * 4 + _outputSurface->w * 3 + x); - *((uint32 *)_outputSurface->getBasePtr(x, y)) = _outputSurface->format.ARGBToColor(a, r, g, b); - } - } - break; - } - - delete[] buffer; -} - -void PICTDecoder::unpackBitsLine(byte *out, uint32 length, Common::SeekableReadStream *data, byte bitsPerPixel, byte bytesPerPixel) { - uint32 dataDecoded = 0; - byte bytesPerDecode = (bytesPerPixel == 2) ? 2 : 1; - - while (data->pos() < data->size() && dataDecoded < length) { - byte op = data->readByte(); - - if (op & 0x80) { - uint32 runSize = (op ^ 255) + 2; - uint16 value = (bytesPerDecode == 2) ? data->readUint16BE() : data->readByte(); - - for (uint32 i = 0; i < runSize; i++) { - if (bytesPerDecode == 2) { - WRITE_UINT16(out, value); - out += 2; - } else { - outputPixelBuffer(out, value, bitsPerPixel); - } - } - dataDecoded += runSize * bytesPerDecode; - } else { - uint32 runSize = op + 1; - - if (bytesPerDecode == 1) { - for (uint32 i = 0; i < runSize; i++) - outputPixelBuffer(out, data->readByte(), bitsPerPixel); - } else { - for (uint32 i = 0; i < runSize; i++) { - WRITE_UINT16(out, data->readUint16BE()); - out += 2; - } - } - - dataDecoded += runSize * bytesPerDecode; - } - } - - // HACK: Even if the data is 24-bit, rowBytes is still 32-bit - if (bytesPerPixel == 3) - dataDecoded += length / 4; - - if (length != dataDecoded) - warning("Mismatched PackBits read (%d/%d)", dataDecoded, length); - - delete data; -} - -void PICTDecoder::outputPixelBuffer(byte *&out, byte value, byte bitsPerPixel) { - switch (bitsPerPixel) { - case 1: - for (int i = 7; i >= 0; i--) - *out++ = (value >> i) & 1; - break; - case 2: - for (int i = 6; i >= 0; i -= 2) - *out++ = (value >> i) & 3; - break; - case 4: - *out++ = (value >> 4) & 0xf; - *out++ = value & 0xf; - break; - default: - *out++ = value; - } -} - -void PICTDecoder::skipBitsRect(Common::SeekableReadStream &stream, bool withPalette) { - // Step through a PackBitsRect/DirectBitsRect function - - if (!withPalette) - stream.readUint32BE(); - - uint16 rowBytes = stream.readUint16BE(); - uint16 height = stream.readUint16BE(); - stream.readUint16BE(); - height = stream.readUint16BE() - height; - stream.readUint16BE(); - - uint16 packType; - - // Top two bits signify PixMap vs BitMap - if (rowBytes & 0xC000) { - // PixMap - stream.readUint16BE(); - packType = stream.readUint16BE(); - stream.skip(14); - stream.readUint16BE(); // pixelSize - stream.skip(16); - - if (withPalette) { - stream.readUint32BE(); - stream.readUint16BE(); - stream.skip((stream.readUint16BE() + 1) * 8); - } - - rowBytes &= 0x3FFF; - } else { - // BitMap - packType = 0; - } - - stream.skip(18); - - for (uint16 i = 0; i < height; i++) { - if (packType == 1 || packType == 2 || rowBytes < 8) - error("Unpacked PackBitsRect data"); - else if (packType == 0 || packType > 2) - stream.skip((rowBytes > 250) ? stream.readUint16BE() : stream.readByte()); - } -} - -// Compressed QuickTime details can be found here: -// http://developer.apple.com/legacy/mac/library/#documentation/QuickTime/Rm/CompressDecompress/ImageComprMgr/B-Chapter/2TheImageCompression.html -// http://developer.apple.com/legacy/mac/library/#documentation/QuickTime/Rm/CompressDecompress/ImageComprMgr/F-Chapter/6WorkingwiththeImage.html -void PICTDecoder::decodeCompressedQuickTime(Common::SeekableReadStream &stream) { - // First, read all the fields from the opcode - uint32 dataSize = stream.readUint32BE(); - uint32 startPos = stream.pos(); - - /* uint16 version = */ stream.readUint16BE(); - - // Read in the display matrix - uint32 matrix[3][3]; - for (uint32 i = 0; i < 3; i++) - for (uint32 j = 0; j < 3; j++) - matrix[i][j] = stream.readUint32BE(); - - // We currently only support offseting images vertically from the matrix - uint16 xOffset = 0; - uint16 yOffset = matrix[2][1] >> 16; - - uint32 matteSize = stream.readUint32BE(); - stream.skip(8); // matte rect - /* uint16 transferMode = */ stream.readUint16BE(); - stream.skip(8); // src rect - /* uint32 accuracy = */ stream.readUint32BE(); - uint32 maskSize = stream.readUint32BE(); - - // Skip the matte and mask - stream.skip(matteSize + maskSize); - - // Now we've reached the image descriptor, so read the relevant data from that - uint32 idStart = stream.pos(); - uint32 idSize = stream.readUint32BE(); - uint32 codec = stream.readUint32BE(); - stream.skip(36); // miscellaneous stuff - uint32 jpegSize = stream.readUint32BE(); - stream.skip(idSize - (stream.pos() - idStart)); // more useless stuff - - if (codec != MKTAG('j', 'p', 'e', 'g')) - error("Unhandled CompressedQuickTime format '%s'", tag2str(codec)); - - Common::SeekableSubReadStream jpegStream(&stream, stream.pos(), stream.pos() + jpegSize); - - JPEGDecoder jpeg; - if (!jpeg.loadStream(jpegStream)) - error("PICTDecoder::decodeCompressedQuickTime(): Could not decode JPEG data"); - - const Graphics::Surface *jpegSurface = jpeg.getSurface(); - - if (!_outputSurface) { - _outputSurface = new Graphics::Surface(); - _outputSurface->create(_imageRect.width(), _imageRect.height(), jpegSurface->format); - } - - for (uint16 y = 0; y < jpegSurface->h; y++) - memcpy(_outputSurface->getBasePtr(0 + xOffset, y + yOffset), jpegSurface->getBasePtr(0, y), jpegSurface->w * jpegSurface->format.bytesPerPixel); - - stream.seek(startPos + dataSize); -} - -} // End of namespace Graphics diff --git a/graphics/decoders/pict.h b/graphics/decoders/pict.h deleted file mode 100644 index 554b149153..0000000000 --- a/graphics/decoders/pict.h +++ /dev/null @@ -1,140 +0,0 @@ -/* 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. - * - */ - -/** - * @file - * Image decoder used in engines: - * - mohawk - * - pegasus - * - sci - */ - -#ifndef GRAPHICS_PICT_H -#define GRAPHICS_PICT_H - -#include "common/array.h" -#include "common/rect.h" -#include "common/scummsys.h" - -#include "graphics/decoders/image_decoder.h" -#include "graphics/pixelformat.h" - -namespace Common { -class SeekableReadStream; -} - -namespace Graphics { - -struct Surface; - -#define DECLARE_OPCODE(x) void x(Common::SeekableReadStream &stream) - -class PICTDecoder : public ImageDecoder { -public: - PICTDecoder(); - ~PICTDecoder(); - - // ImageDecoder API - bool loadStream(Common::SeekableReadStream &stream); - void destroy(); - const Surface *getSurface() const { return _outputSurface; } - const byte *getPalette() const { return _palette; } - uint16 getPaletteColorCount() const { return _paletteColorCount; } - - struct PixMap { - uint32 baseAddr; - uint16 rowBytes; - Common::Rect bounds; - uint16 pmVersion; - uint16 packType; - uint32 packSize; - uint32 hRes; - uint32 vRes; - uint16 pixelType; - uint16 pixelSize; - uint16 cmpCount; - uint16 cmpSize; - uint32 planeBytes; - uint32 pmTable; - uint32 pmReserved; - }; - - static PixMap readPixMap(Common::SeekableReadStream &stream, bool hasBaseAddr = true); - -private: - Common::Rect _imageRect; - byte _palette[256 * 3]; - uint16 _paletteColorCount; - Graphics::Surface *_outputSurface; - bool _continueParsing; - - // Utility Functions - void unpackBitsRect(Common::SeekableReadStream &stream, bool withPalette); - void unpackBitsLine(byte *out, uint32 length, Common::SeekableReadStream *stream, byte bitsPerPixel, byte bytesPerPixel); - void skipBitsRect(Common::SeekableReadStream &stream, bool withPalette); - void decodeCompressedQuickTime(Common::SeekableReadStream &stream); - void outputPixelBuffer(byte *&out, byte value, byte bitsPerPixel); - - // Opcodes - typedef void (PICTDecoder::*OpcodeProcPICT)(Common::SeekableReadStream &stream); - struct PICTOpcode { - PICTOpcode() { op = 0; proc = 0; desc = 0; } - PICTOpcode(uint16 o, OpcodeProcPICT p, const char *d) { op = o; proc = p; desc = d; } - uint16 op; - OpcodeProcPICT proc; - const char *desc; - }; - Common::Array _opcodes; - - // Common Opcodes - void setupOpcodesCommon(); - DECLARE_OPCODE(o_nop); - DECLARE_OPCODE(o_clip); - DECLARE_OPCODE(o_txFont); - DECLARE_OPCODE(o_txFace); - DECLARE_OPCODE(o_pnSize); - DECLARE_OPCODE(o_txSize); - DECLARE_OPCODE(o_txRatio); - DECLARE_OPCODE(o_versionOp); - DECLARE_OPCODE(o_longText); - DECLARE_OPCODE(o_longComment); - DECLARE_OPCODE(o_opEndPic); - DECLARE_OPCODE(o_headerOp); - - // Regular-mode Opcodes - void setupOpcodesNormal(); - DECLARE_OPCODE(on_packBitsRect); - DECLARE_OPCODE(on_directBitsRect); - DECLARE_OPCODE(on_compressedQuickTime); - - // QuickTime-mode Opcodes - void setupOpcodesQuickTime(); - DECLARE_OPCODE(oq_packBitsRect); - DECLARE_OPCODE(oq_directBitsRect); - DECLARE_OPCODE(oq_compressedQuickTime); -}; - -#undef DECLARE_OPCODE - -} // End of namespace Graphics - -#endif diff --git a/graphics/decoders/png.cpp b/graphics/decoders/png.cpp deleted file mode 100644 index 2282ea22f4..0000000000 --- a/graphics/decoders/png.cpp +++ /dev/null @@ -1,245 +0,0 @@ -/* 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. - * - */ - -// Since we need to work with libpng here, we need to allow all symbols -// to avoid compilation issues. -#define FORBIDDEN_SYMBOL_ALLOW_ALL -#include "common/scummsys.h" - -#ifdef USE_PNG -#include -#endif - -#include "graphics/decoders/png.h" - -#include "graphics/pixelformat.h" -#include "graphics/surface.h" - -#include "common/stream.h" - -namespace Graphics { - -PNGDecoder::PNGDecoder() : _outputSurface(0), _palette(0), _paletteColorCount(0), _stream(0) { -} - -PNGDecoder::~PNGDecoder() { - destroy(); -} - -void PNGDecoder::destroy() { - if (_outputSurface) { - _outputSurface->free(); - delete _outputSurface; - _outputSurface = 0; - } - delete[] _palette; - _palette = NULL; -} - -#ifdef USE_PNG -// libpng-error-handling: -void pngError(png_structp pngptr, png_const_charp errorMsg) { - error("%s", errorMsg); -} - -void pngWarning(png_structp pngptr, png_const_charp warningMsg) { - warning("%s", warningMsg); -} - -// libpng-I/O-helper: -void pngReadFromStream(png_structp pngPtr, png_bytep data, png_size_t length) { - void *readIOptr = png_get_io_ptr(pngPtr); - Common::SeekableReadStream *stream = (Common::SeekableReadStream *)readIOptr; - stream->read(data, length); -} -#endif - -/* - * This code is based on Broken Sword 2.5 engine - * - * Copyright (c) Malte Thiesen, Daniel Queteschiner and Michael Elsdoerfer - * - * Licensed under GNU GPL v2 - * - */ - -bool PNGDecoder::loadStream(Common::SeekableReadStream &stream) { -#ifdef USE_PNG - destroy(); - - _stream = &stream; - - // First, check the PNG signature - if (_stream->readUint32BE() != MKTAG(0x89, 'P', 'N', 'G')) { - delete _stream; - return false; - } - if (_stream->readUint32BE() != MKTAG(0x0d, 0x0a, 0x1a, 0x0a)) { - delete _stream; - return false; - } - - // The following is based on the guide provided in: - //http://www.libpng.org/pub/png/libpng-1.2.5-manual.html#section-3 - //http://www.libpng.org/pub/png/libpng-1.4.0-manual.pdf - // along with the png-loading code used in the sword25-engine. - png_structp pngPtr = png_create_read_struct(PNG_LIBPNG_VER_STRING, NULL, NULL, NULL); - if (!pngPtr) { - delete _stream; - return false; - } - png_infop infoPtr = png_create_info_struct(pngPtr); - if (!infoPtr) { - png_destroy_read_struct(&pngPtr, NULL, NULL); - delete _stream; - return false; - } - png_infop endInfo = png_create_info_struct(pngPtr); - if (!endInfo) { - png_destroy_read_struct(&pngPtr, &infoPtr, NULL); - delete _stream; - return false; - } - - png_set_error_fn(pngPtr, NULL, pngError, pngWarning); - // TODO: The manual says errors should be handled via setjmp - - png_set_read_fn(pngPtr, _stream, pngReadFromStream); - png_set_crc_action(pngPtr, PNG_CRC_DEFAULT, PNG_CRC_WARN_USE); - // We already verified the PNG-header - png_set_sig_bytes(pngPtr, 8); - - // Read PNG header - png_read_info(pngPtr, infoPtr); - - // No handling for unknown chunks yet. - int bitDepth, colorType, width, height, interlaceType; - png_uint_32 w, h; - png_get_IHDR(pngPtr, infoPtr, &w, &h, &bitDepth, &colorType, &interlaceType, NULL, NULL); - width = w; - height = h; - - // Allocate memory for the final image data. - // To keep memory framentation low this happens before allocating memory for temporary image data. - _outputSurface = new Graphics::Surface(); - - // Images of all color formats except PNG_COLOR_TYPE_PALETTE - // will be transformed into ARGB images - if (colorType == PNG_COLOR_TYPE_PALETTE && !png_get_valid(pngPtr, infoPtr, PNG_INFO_tRNS)) { - int numPalette = 0; - png_colorp palette = NULL; - uint32 success = png_get_PLTE(pngPtr, infoPtr, &palette, &numPalette); - if (success != PNG_INFO_PLTE) { - png_destroy_read_struct(&pngPtr, &infoPtr, NULL); - return false; - } - _paletteColorCount = numPalette; - _palette = new byte[_paletteColorCount * 3]; - for (int i = 0; i < _paletteColorCount; i++) { - _palette[(i * 3)] = palette[i].red; - _palette[(i * 3) + 1] = palette[i].green; - _palette[(i * 3) + 2] = palette[i].blue; - - } - _outputSurface->create(width, height, Graphics::PixelFormat::createFormatCLUT8()); - png_set_packing(pngPtr); - } else { - bool isAlpha = (colorType & PNG_COLOR_MASK_ALPHA); - if (png_get_valid(pngPtr, infoPtr, PNG_INFO_tRNS)) { - isAlpha = true; - png_set_expand(pngPtr); - } - _outputSurface->create(width, height, Graphics::PixelFormat(4, - 8, 8, 8, isAlpha ? 8 : 0, 24, 16, 8, 0)); - if (!_outputSurface->getPixels()) { - error("Could not allocate memory for output image."); - } - if (bitDepth == 16) - png_set_strip_16(pngPtr); - if (bitDepth < 8) - png_set_expand(pngPtr); - if (colorType == PNG_COLOR_TYPE_GRAY || - colorType == PNG_COLOR_TYPE_GRAY_ALPHA) - png_set_gray_to_rgb(pngPtr); - - // PNGs are Big-Endian: -#ifdef SCUMM_LITTLE_ENDIAN - png_set_bgr(pngPtr); - png_set_swap_alpha(pngPtr); - if (colorType != PNG_COLOR_TYPE_RGB_ALPHA) - png_set_filler(pngPtr, 0xff, PNG_FILLER_BEFORE); -#else - if (colorType != PNG_COLOR_TYPE_RGB_ALPHA) - png_set_filler(pngPtr, 0xff, PNG_FILLER_AFTER); -#endif - - } - - // After the transformations have been registered, the image data is read again. - png_set_interlace_handling(pngPtr); - png_read_update_info(pngPtr, infoPtr); - png_get_IHDR(pngPtr, infoPtr, &w, &h, &bitDepth, &colorType, NULL, NULL, NULL); - width = w; - height = h; - - if (interlaceType == PNG_INTERLACE_NONE) { - // PNGs without interlacing can simply be read row by row. - for (int i = 0; i < height; i++) { - png_read_row(pngPtr, (png_bytep)_outputSurface->getBasePtr(0, i), NULL); - } - } else { - // PNGs with interlacing require us to allocate an auxillary - // buffer with pointers to all row starts. - - // Allocate row pointer buffer - png_bytep *rowPtr = new png_bytep[height]; - if (!rowPtr) { - error("Could not allocate memory for row pointers."); - } - - // Initialize row pointers - for (int i = 0; i < height; i++) - rowPtr[i] = (png_bytep)_outputSurface->getBasePtr(0, i); - - // Read image data - png_read_image(pngPtr, rowPtr); - - // Free row pointer buffer - delete[] rowPtr; - } - - // Read additional data at the end. - png_read_end(pngPtr, NULL); - - // Destroy libpng structures - png_destroy_read_struct(&pngPtr, &infoPtr, &endInfo); - - // We no longer need the file stream, thus close it here - _stream = 0; - - return true; -#else - return false; -#endif -} - -} // End of Graphics namespace diff --git a/graphics/decoders/png.h b/graphics/decoders/png.h deleted file mode 100644 index d47d362d30..0000000000 --- a/graphics/decoders/png.h +++ /dev/null @@ -1,67 +0,0 @@ -/* 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. - * - */ - -/* - * PNG decoder used in engines: - * - sword25 - * - wintermute - * Dependencies: - * - libpng - */ - -#ifndef GRAPHICS_PNG_H -#define GRAPHICS_PNG_H - -#include "common/scummsys.h" -#include "common/textconsole.h" -#include "graphics/decoders/image_decoder.h" - -namespace Common { -class SeekableReadStream; -} - -namespace Graphics { - -struct Surface; -struct PixelFormat; - -class PNGDecoder : public ImageDecoder { -public: - PNGDecoder(); - ~PNGDecoder(); - - bool loadStream(Common::SeekableReadStream &stream); - void destroy(); - const Graphics::Surface *getSurface() const { return _outputSurface; } - const byte *getPalette() const { return _palette; } - uint16 getPaletteColorCount() const { return _paletteColorCount; } -private: - Common::SeekableReadStream *_stream; - byte *_palette; - uint16 _paletteColorCount; - - Graphics::Surface *_outputSurface; -}; - -} // End of namespace Graphics - -#endif // GRAPHICS_PNG_H diff --git a/graphics/decoders/tga.cpp b/graphics/decoders/tga.cpp deleted file mode 100644 index a342d0aa26..0000000000 --- a/graphics/decoders/tga.cpp +++ /dev/null @@ -1,430 +0,0 @@ -/* 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. - * - */ - -/* Based on code from xoreos https://github.com/DrMcCoy/xoreos/ - * relicensed under GPLv2+ with permission from DrMcCoy and clone2727 - */ - -#include "common/util.h" -#include "common/stream.h" -#include "common/textconsole.h" -#include "common/error.h" - -#include "graphics/decoders/tga.h" - -namespace Graphics { - -TGADecoder::TGADecoder() { - _colorMapSize = 0; - _colorMapOrigin = 0; - _colorMapLength = 0; - _colorMapEntryLength = 0; - _colorMap = NULL; -} - -TGADecoder::~TGADecoder() { - destroy(); -} - -void TGADecoder::destroy() { - _surface.free(); - delete[] _colorMap; -} - -bool TGADecoder::loadStream(Common::SeekableReadStream &tga) { - destroy(); - - byte imageType, pixelDepth; - bool success; - success = readHeader(tga, imageType, pixelDepth); - if (success) { - switch (imageType) { - case TYPE_BW: - case TYPE_TRUECOLOR: - success = readData(tga, imageType, pixelDepth); - break; - case TYPE_RLE_BW: - case TYPE_RLE_TRUECOLOR: - case TYPE_RLE_CMAP: - success = readDataRLE(tga, imageType, pixelDepth); - break; - case TYPE_CMAP: - success = readDataColorMapped(tga, imageType, pixelDepth); - break; - default: - success = false; - break; - } - } - if (tga.err() || !success) { - warning("Failed reading TGA-file"); - return false; - } - return success; -} - -bool TGADecoder::readHeader(Common::SeekableReadStream &tga, byte &imageType, byte &pixelDepth) { - if (!tga.seek(0)) { - warning("Failed reading TGA-file"); - return false; - } - - // TGAs have an optional "id" string in the header - uint32 idLength = tga.readByte(); - - // Number of colors in the color map / palette - int hasColorMap = tga.readByte(); - - // Image type. See header for numeric constants - imageType = tga.readByte(); - - switch (imageType) { - case TYPE_CMAP: - case TYPE_TRUECOLOR: - case TYPE_BW: - case TYPE_RLE_CMAP: - case TYPE_RLE_TRUECOLOR: - case TYPE_RLE_BW: - break; - default: - warning("Unsupported image type: %d", imageType); - return false; - } - - // Color map specifications - if (hasColorMap == 0) { - tga.skip(5); - } else { - _colorMapOrigin = tga.readUint16LE(); - _colorMapLength = tga.readUint16LE(); - _colorMapEntryLength = tga.readByte(); - } - // Origin-defintions - tga.skip(2 + 2); - - // Image dimensions - _surface.w = tga.readUint16LE(); - _surface.h = tga.readUint16LE(); - - // Bits per pixel - pixelDepth = tga.readByte(); - _surface.format.bytesPerPixel = pixelDepth / 8; - - // Image descriptor - byte imgDesc = tga.readByte(); - int attributeBits = imgDesc & 0x0F; - assert((imgDesc & 0x10) == 0); - _originTop = (imgDesc & 0x20); - - // Interleaving is not handled at this point - //int interleave = (imgDesc & 0xC); - if (imageType == TYPE_CMAP || imageType == TYPE_RLE_CMAP) { - if (pixelDepth == 8) { - _format = PixelFormat::createFormatCLUT8(); - } else { - warning("Unsupported index-depth: %d", pixelDepth); - return false; - } - } else if (imageType == TYPE_TRUECOLOR || imageType == TYPE_RLE_TRUECOLOR) { - if (pixelDepth == 24) { - _format = PixelFormat(3, 8, 8, 8, 0, 16, 8, 0, 0); - } else if (pixelDepth == 32) { - // HACK: According to the spec, attributeBits should determine the amount - // of alpha-bits, however, as the game files that use this decoder seems - // to ignore that fact, we force the amount to 8 for 32bpp files for now. - _format = PixelFormat(4, 8, 8, 8, /* attributeBits */ 8, 16, 8, 0, 24); - } else if (pixelDepth == 16 && imageType == TYPE_TRUECOLOR) { - // 16bpp TGA is ARGB1555 - _format = PixelFormat(2, 5, 5, 5, attributeBits, 10, 5, 0, 15); - } else { - warning("Unsupported pixel depth: %d, %d", imageType, pixelDepth); - return false; - } - } else if (imageType == TYPE_BW || TYPE_RLE_BW) { - if (pixelDepth == 8) { - _format = PixelFormat(4, 8, 8, 8, 0, 16, 8, 0, 0); - } else { - warning("Unsupported pixel depth: %d, %d", imageType, pixelDepth); - return false; - } - - } else { - warning("Unsupported image type: %d", imageType); - return false; - } - - // Skip the id string - tga.skip(idLength); - - if (hasColorMap) { - return readColorMap(tga, imageType, pixelDepth); - } - return true; -} - -bool TGADecoder::readColorMap(Common::SeekableReadStream &tga, byte imageType, byte pixelDepth) { - _colorMap = new byte[3 * _colorMapLength]; - for (int i = 0; i < _colorMapLength * 3; i += 3) { - byte r, g, b; - if (_colorMapEntryLength == 32) { - byte a; - PixelFormat format(4, 8, 8, 8, 0, 16, 8, 0, 24); - uint32 color = tga.readUint32LE(); - format.colorToARGB(color, a, r, g, b); - } else if (_colorMapEntryLength == 24) { - r = tga.readByte(); - g = tga.readByte(); - b = tga.readByte(); - } else if (_colorMapEntryLength == 16) { - byte a; - PixelFormat format(2, 5, 5, 5, 0, 10, 5, 0, 15); - uint16 color = tga.readUint16LE(); - format.colorToARGB(color, a, r, g, b); - } else { - warning("Unsupported image type: %d", imageType); - r = g = b = 0; - } -#ifdef SCUMM_LITTLE_ENDIAN - _colorMap[i] = r; - _colorMap[i + 1] = g; - _colorMap[i + 2] = b; -#else - _colorMap[i] = b; - _colorMap[i + 1] = g; - _colorMap[i + 2] = r; -#endif - } - return true; -} - -// Additional information found from http://paulbourke.net/dataformats/tga/ -// With some details from the link referenced in the header. -bool TGADecoder::readData(Common::SeekableReadStream &tga, byte imageType, byte pixelDepth) { - // TrueColor - if (imageType == TYPE_TRUECOLOR) { - _surface.create(_surface.w, _surface.h, _format); - - if (pixelDepth == 16) { - for (int i = 0; i < _surface.h; i++) { - uint16 *dst; - if (!_originTop) { - dst = (uint16 *)_surface.getBasePtr(0, _surface.h - i - 1); - } else { - dst = (uint16 *)_surface.getBasePtr(0, i); - } - for (int j = 0; j < _surface.w; j++) { - *dst++ = tga.readUint16LE(); - } - } - } else if (pixelDepth == 32) { - for (int i = 0; i < _surface.h; i++) { - uint32 *dst; - if (!_originTop) { - dst = (uint32 *)_surface.getBasePtr(0, _surface.h - i - 1); - } else { - dst = (uint32 *)_surface.getBasePtr(0, i); - } - for (int j = 0; j < _surface.w; j++) { - *dst++ = tga.readUint32LE(); - } - } - } else if (pixelDepth == 24) { - for (int i = 0; i < _surface.h; i++) { - byte *dst; - if (!_originTop) { - dst = (byte *)_surface.getBasePtr(0, _surface.h - i - 1); - } else { - dst = (byte *)_surface.getBasePtr(0, i); - } - for (int j = 0; j < _surface.w; j++) { - byte r = tga.readByte(); - byte g = tga.readByte(); - byte b = tga.readByte(); -#ifdef SCUMM_LITTLE_ENDIAN - *dst++ = r; - *dst++ = g; - *dst++ = b; -#else - *dst++ = b; - *dst++ = g; - *dst++ = r; -#endif - } - } - } - // Black/White - } else if (imageType == TYPE_BW) { - _surface.create(_surface.w, _surface.h, _format); - - byte *data = (byte *)_surface.getPixels(); - uint32 count = _surface.w * _surface.h; - - while (count-- > 0) { - byte g = tga.readByte(); - *data++ = g; - *data++ = g; - *data++ = g; - *data++ = g; - } - } - return true; -} - -bool TGADecoder::readDataColorMapped(Common::SeekableReadStream &tga, byte imageType, byte indexDepth) { - // Color-mapped - if (imageType == TYPE_CMAP) { - _surface.create(_surface.w, _surface.h, _format); - if (indexDepth == 8) { - for (int i = 0; i < _surface.h; i++) { - byte *dst; - if (!_originTop) { - dst = (byte *)_surface.getBasePtr(0, _surface.h - i - 1); - } else { - dst = (byte *)_surface.getBasePtr(0, i); - } - for (int j = 0; j < _surface.w; j++) { - byte index = tga.readByte(); - *dst++ = index; - } - } - } else if (indexDepth == 16) { - warning("16 bit indexes not supported"); - return false; - } - } else { - return false; - } - return true; -} - -bool TGADecoder::readDataRLE(Common::SeekableReadStream &tga, byte imageType, byte pixelDepth) { - // RLE-TrueColor / RLE-Black/White - if (imageType == TYPE_RLE_TRUECOLOR || imageType == TYPE_RLE_BW || imageType == TYPE_RLE_CMAP) { - _surface.create(_surface.w, _surface.h, _format); - uint32 count = _surface.w * _surface.h; - byte *data = (byte *)_surface.getPixels(); - - while (count > 0) { - uint32 header = tga.readByte(); - byte type = (header & 0x80) >> 7; - uint32 rleCount = (header & 0x7F) + 1; - - // RLE-packet - if (type == 1) { - if (pixelDepth == 32 && imageType == TYPE_RLE_TRUECOLOR) { - uint32 color = tga.readUint32LE(); - while (rleCount-- > 0) { - *((uint32 *)data) = color; - data += 4; - count--; - } - } else if (pixelDepth == 24 && imageType == TYPE_RLE_TRUECOLOR) { - byte r = tga.readByte(); - byte g = tga.readByte(); - byte b = tga.readByte(); - while (rleCount-- > 0) { -#ifdef SCUMM_LITTLE_ENDIAN - *data++ = r; - *data++ = g; - *data++ = b; -#else - *data++ = b; - *data++ = g; - *data++ = r; -#endif - count--; - } - } else if (pixelDepth == 8 && imageType == TYPE_RLE_BW) { - byte color = tga.readByte(); - while (rleCount-- > 0) { - *data++ = color; - *data++ = color; - *data++ = color; - *data++ = color; - count--; - } - } else if (pixelDepth == 8 && imageType == TYPE_RLE_CMAP) { - byte index = tga.readByte(); - while (rleCount-- > 0) { - *data++ = index; - count--; - } - } else { - warning("Unhandled pixel-depth for image-type 10"); - return false; - } - // Raw-packet - } else if (type == 0) { - if (pixelDepth == 32 && imageType == TYPE_RLE_TRUECOLOR) { - while (rleCount-- > 0) { - uint32 color = tga.readUint32LE(); - *((uint32 *)data) = color; - data += 4; - count--; - } - } else if (pixelDepth == 24 && imageType == TYPE_RLE_TRUECOLOR) { - while (rleCount-- > 0) { - byte r = tga.readByte(); - byte g = tga.readByte(); - byte b = tga.readByte(); -#ifdef SCUMM_LITTLE_ENDIAN - *data++ = r; - *data++ = g; - *data++ = b; -#else - *data++ = b; - *data++ = g; - *data++ = r; -#endif - count--; - } - } else if (pixelDepth == 8 && imageType == TYPE_RLE_BW) { - while (rleCount-- > 0) { - byte color = tga.readByte(); - *data++ = color; - *data++ = color; - *data++ = color; - *data++ = color; - count--; - } - } else if (pixelDepth == 8 && imageType == TYPE_RLE_CMAP) { - while (rleCount-- > 0) { - byte index = tga.readByte(); - *data++ = index; - count--; - } - } else { - warning("Unhandled pixel-depth for image-type 10"); - return false; - } - } else { - warning("Unknown header for RLE-packet %d", type); - return false; - } - } - } else { - return false; - } - return true; -} - -} // End of namespace Graphics diff --git a/graphics/decoders/tga.h b/graphics/decoders/tga.h deleted file mode 100644 index a2949fb1e8..0000000000 --- a/graphics/decoders/tga.h +++ /dev/null @@ -1,100 +0,0 @@ -/* 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. - * - */ - -/* Based on code from eos https://github.com/DrMcCoy/xoreos/ - * relicensed under GPLv2+ with permission from DrMcCoy and clone2727 - */ - -/* - * TGA decoder used in engines: - * - wintermute - * - zvision - */ - -#ifndef GRAPHICS_DECODERS_TGA_H -#define GRAPHICS_DECODERS_TGA_H - -#include "graphics/surface.h" -#include "graphics/decoders/image_decoder.h" - -namespace Common { -class SeekableReadStream; -} - -namespace Graphics { - -/** TarGa image-decoder - * The following variations of TGA are supported: - * - Type 1 - Color-mapped images in 16/24/32 bpp with 8 bit indexes - * - Type 2 - 16/24/32 bpp Top AND Bottom origined. - * - Type 3 - Black/White images, 8bpp. - * - Type 9 - RLE-encoded color-mapped images. (8 bit indexes only) - * - Type 10 - RLE-encoded TrueColor, 24/32bpp. - * - Type 11 - RLE-encoded Black/White, 8bpp. - * - * No images are returned with a palette, instead they are converted - * to 16 bpp for Type 1, or 32 bpp for Black/White-images. - */ -class TGADecoder : public ImageDecoder { -public: - TGADecoder(); - virtual ~TGADecoder(); - virtual void destroy(); - virtual const Surface *getSurface() const { return &_surface; } - virtual const byte *getPalette() const { return _colorMap; } - virtual uint16 getPaletteColorCount() const { return _colorMapLength; } - virtual bool loadStream(Common::SeekableReadStream &stream); -private: - // Format-spec from: - //http://www.ludorg.net/amnesia/TGA_File_Format_Spec.html - enum { - TYPE_CMAP = 1, - TYPE_TRUECOLOR = 2, - TYPE_BW = 3, - TYPE_RLE_CMAP = 9, - TYPE_RLE_TRUECOLOR = 10, - TYPE_RLE_BW = 11 - }; - - // Color-map: - bool _colorMapSize; - byte *_colorMap; - int16 _colorMapOrigin; - int16 _colorMapLength; - byte _colorMapEntryLength; - - // Origin may be at the top, or bottom - bool _originTop; - - PixelFormat _format; - Surface _surface; - // Loading helpers - bool readHeader(Common::SeekableReadStream &tga, byte &imageType, byte &pixelDepth); - bool readData(Common::SeekableReadStream &tga, byte imageType, byte pixelDepth); - bool readDataColorMapped(Common::SeekableReadStream &tga, byte imageType, byte indexDepth); - bool readDataRLE(Common::SeekableReadStream &tga, byte imageType, byte pixelDepth); - bool readColorMap(Common::SeekableReadStream &tga, byte imageType, byte pixelDepth); -}; - -} // End of namespace Graphics - -#endif // GRAPHICS_DECODERS_TGA_H diff --git a/graphics/module.mk b/graphics/module.mk index 8b63435905..5918775240 100644 --- a/graphics/module.mk +++ b/graphics/module.mk @@ -21,14 +21,7 @@ MODULE_OBJS := \ VectorRenderer.o \ VectorRendererSpec.o \ wincursor.o \ - yuv_to_rgb.o \ - decoders/bmp.o \ - decoders/iff.o \ - decoders/jpeg.o \ - decoders/pcx.o \ - decoders/pict.o \ - decoders/png.o \ - decoders/tga.o + yuv_to_rgb.o ifdef USE_SCALERS MODULE_OBJS += \ diff --git a/gui/ThemeEngine.cpp b/gui/ThemeEngine.cpp index 9fe482ddcc..9e54597dd4 100644 --- a/gui/ThemeEngine.cpp +++ b/gui/ThemeEngine.cpp @@ -34,7 +34,8 @@ #include "graphics/VectorRenderer.h" #include "graphics/fonts/bdf.h" #include "graphics/fonts/ttf.h" -#include "graphics/decoders/bmp.h" + +#include "image/bmp.h" #include "gui/widget.h" #include "gui/ThemeEngine.h" @@ -638,7 +639,7 @@ bool ThemeEngine::addBitmap(const Common::String &filename) { return true; // If not, try to load the bitmap via the BitmapDecoder class. - Graphics::BitmapDecoder bitmapDecoder; + Image::BitmapDecoder bitmapDecoder; const Graphics::Surface *srcSurface = 0; Common::ArchiveMemberList members; _themeFiles.listMatchingMembers(members, filename); diff --git a/image/bmp.cpp b/image/bmp.cpp new file mode 100644 index 0000000000..113e268956 --- /dev/null +++ b/image/bmp.cpp @@ -0,0 +1,183 @@ +/* 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 "image/bmp.h" + +#include "common/stream.h" +#include "common/textconsole.h" +#include "graphics/pixelformat.h" +#include "graphics/surface.h" + +namespace Image { + +BitmapDecoder::BitmapDecoder() { + _surface = 0; + _palette = 0; + _paletteColorCount = 0; +} + +BitmapDecoder::~BitmapDecoder() { + destroy(); +} + +void BitmapDecoder::destroy() { + if (_surface) { + _surface->free(); + delete _surface; _surface = 0; + } + + delete[] _palette; _palette = 0; + _paletteColorCount = 0; +} + +bool BitmapDecoder::loadStream(Common::SeekableReadStream &stream) { + destroy(); + + if (stream.readByte() != 'B') + return false; + + if (stream.readByte() != 'M') + return false; + + /* uint32 fileSize = */ stream.readUint32LE(); + /* uint16 res1 = */ stream.readUint16LE(); + /* uint16 res2 = */ stream.readUint16LE(); + uint32 imageOffset = stream.readUint32LE(); + + uint32 infoSize = stream.readUint32LE(); + if (infoSize != 40) { + warning("Only Windows v3 bitmaps are supported"); + return false; + } + + uint32 width = stream.readUint32LE(); + int32 height = stream.readSint32LE(); + + if (width == 0 || height == 0) + return false; + + if (height < 0) { + warning("Right-side up bitmaps not supported"); + return false; + } + + /* uint16 planes = */ stream.readUint16LE(); + uint16 bitsPerPixel = stream.readUint16LE(); + + if (bitsPerPixel != 8 && bitsPerPixel != 24 && bitsPerPixel != 32) { + warning("%dbpp bitmaps not supported", bitsPerPixel); + return false; + } + + uint32 compression = stream.readUint32LE(); + + if (compression != 0) { + warning("Compressed bitmaps not supported"); + return false; + } + + /* uint32 imageSize = */ stream.readUint32LE(); + /* uint32 pixelsPerMeterX = */ stream.readUint32LE(); + /* uint32 pixelsPerMeterY = */ stream.readUint32LE(); + _paletteColorCount = stream.readUint32LE(); + /* uint32 colorsImportant = */ stream.readUint32LE(); + + if (bitsPerPixel == 8) { + if (_paletteColorCount == 0) + _paletteColorCount = 256; + + // Read the palette + _palette = new byte[_paletteColorCount * 3]; + for (uint16 i = 0; i < _paletteColorCount; i++) { + _palette[i * 3 + 2] = stream.readByte(); + _palette[i * 3 + 1] = stream.readByte(); + _palette[i * 3 + 0] = stream.readByte(); + stream.readByte(); + } + } + + // Start us at the beginning of the image + stream.seek(imageOffset); + + Graphics::PixelFormat format = Graphics::PixelFormat::createFormatCLUT8(); + + // BGRA for 24bpp and 32 bpp + if (bitsPerPixel == 24 || bitsPerPixel == 32) + format = Graphics::PixelFormat(4, 8, 8, 8, 8, 8, 16, 24, 0); + + _surface = new Graphics::Surface(); + _surface->create(width, height, format); + + int srcPitch = width * (bitsPerPixel >> 3); + const int extraDataLength = (srcPitch % 4) ? 4 - (srcPitch % 4) : 0; + + if (bitsPerPixel == 8) { + byte *dst = (byte *)_surface->getPixels(); + + for (int32 i = 0; i < height; i++) { + stream.read(dst + (height - i - 1) * width, width); + stream.skip(extraDataLength); + } + } else if (bitsPerPixel == 24) { + byte *dst = (byte *)_surface->getBasePtr(0, height - 1); + + for (int32 i = 0; i < height; i++) { + for (uint32 j = 0; j < width; j++) { + byte b = stream.readByte(); + byte g = stream.readByte(); + byte r = stream.readByte(); + uint32 color = format.RGBToColor(r, g, b); + + *((uint32 *)dst) = color; + dst += format.bytesPerPixel; + } + + stream.skip(extraDataLength); + dst -= _surface->pitch * 2; + } + } else { // 32 bpp + byte *dst = (byte *)_surface->getBasePtr(0, height - 1); + + for (int32 i = 0; i < height; i++) { + for (uint32 j = 0; j < width; j++) { + byte b = stream.readByte(); + byte g = stream.readByte(); + byte r = stream.readByte(); + // Ignore the last byte, as in v3 it is unused + // and should thus NOT be used as alpha. + // ref: http://msdn.microsoft.com/en-us/library/windows/desktop/dd183376%28v=vs.85%29.aspx + stream.readByte(); + uint32 color = format.RGBToColor(r, g, b); + + *((uint32 *)dst) = color; + dst += format.bytesPerPixel; + } + + stream.skip(extraDataLength); + dst -= _surface->pitch * 2; + } + } + + return true; +} + +} // End of namespace Image diff --git a/image/bmp.h b/image/bmp.h new file mode 100644 index 0000000000..bc4cfc3edd --- /dev/null +++ b/image/bmp.h @@ -0,0 +1,68 @@ +/* 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. + * + */ + +/** + * @file + * Image decoder used in engines: + * - hugo + * - mohawk + * - wintermute + */ + +#ifndef IMAGE_BMP_H +#define IMAGE_BMP_H + +#include "common/scummsys.h" +#include "common/str.h" +#include "image/image_decoder.h" + +namespace Common { +class SeekableReadStream; +} + +namespace Graphics { +struct Surface; +} + +namespace Image { + +class BitmapDecoder : public ImageDecoder { +public: + BitmapDecoder(); + virtual ~BitmapDecoder(); + + // ImageDecoder API + void destroy(); + virtual bool loadStream(Common::SeekableReadStream &stream); + virtual const Graphics::Surface *getSurface() const { return _surface; } + const byte *getPalette() const { return _palette; } + uint16 getPaletteColorCount() const { return _paletteColorCount; } + +private: + Graphics::Surface *_surface; + byte *_palette; + uint16 _paletteColorCount; +}; + +} // End of namespace Image + +#endif diff --git a/image/iff.cpp b/image/iff.cpp new file mode 100644 index 0000000000..d93e9ff878 --- /dev/null +++ b/image/iff.cpp @@ -0,0 +1,244 @@ +/* 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 "image/iff.h" + +#include "common/iff_container.h" +#include "common/stream.h" +#include "common/util.h" + +namespace Image { + +IFFDecoder::IFFDecoder() { + _surface = 0; + _palette = 0; + + // these 2 properties are not reset by destroy(), so the default is set here. + _numRelevantPlanes = 8; + _pixelPacking = false; + + destroy(); +} + +IFFDecoder::~IFFDecoder() { + destroy(); +} + +void IFFDecoder::destroy() { + if (_surface) { + _surface->free(); + delete _surface; + _surface = 0; + } + + if (_palette) { + delete[] _palette; + _palette = 0; + } + + memset(&_header, 0, sizeof(Header)); + _paletteRanges.clear(); + _type = TYPE_UNKNOWN; + _paletteColorCount = 0; +} + +bool IFFDecoder::loadStream(Common::SeekableReadStream &stream) { + destroy(); + + const uint32 form = stream.readUint32BE(); + + if (form != ID_FORM) { + warning("Failed reading IFF-file"); + return false; + } + + stream.skip(4); + + const uint32 type = stream.readUint32BE(); + + switch (type) { + case ID_ILBM: + _type = TYPE_ILBM; + break; + case ID_PBM: + _type = TYPE_PBM; + break; + } + + if (type == TYPE_UNKNOWN) { + warning("Failed reading IFF-file"); + return false; + } + + while (1) { + const uint32 chunkType = stream.readUint32BE(); + const uint32 chunkSize = stream.readUint32BE(); + + if (stream.eos()) + break; + + switch (chunkType) { + case ID_BMHD: + loadHeader(stream); + break; + case ID_CMAP: + loadPalette(stream, chunkSize); + break; + case ID_CRNG: + loadPaletteRange(stream, chunkSize); + break; + case ID_BODY: + loadBitmap(stream); + break; + default: + stream.skip(chunkSize); + } + } + + return true; +} + +void IFFDecoder::loadHeader(Common::SeekableReadStream &stream) { + _header.width = stream.readUint16BE(); + _header.height = stream.readUint16BE(); + _header.x = stream.readUint16BE(); + _header.y = stream.readUint16BE(); + _header.numPlanes = stream.readByte(); + _header.masking = stream.readByte(); + _header.compression = stream.readByte(); + _header.flags = stream.readByte(); + _header.transparentColor = stream.readUint16BE(); + _header.xAspect = stream.readByte(); + _header.yAspect = stream.readByte(); + _header.pageWidth = stream.readUint16BE(); + _header.pageHeight = stream.readUint16BE(); + + assert(_header.width >= 1); + assert(_header.height >= 1); + assert(_header.numPlanes >= 1 && _header.numPlanes <= 8 && _header.numPlanes != 7); +} + +void IFFDecoder::loadPalette(Common::SeekableReadStream &stream, const uint32 size) { + _palette = new byte[size]; + stream.read(_palette, size); + _paletteColorCount = size / 3; +} + +void IFFDecoder::loadPaletteRange(Common::SeekableReadStream &stream, const uint32 size) { + PaletteRange range; + + range.timer = stream.readSint16BE(); + range.step = stream.readSint16BE(); + range.flags = stream.readSint16BE(); + range.first = stream.readByte(); + range.last = stream.readByte(); + + _paletteRanges.push_back(range); +} + +void IFFDecoder::loadBitmap(Common::SeekableReadStream &stream) { + _numRelevantPlanes = MIN(_numRelevantPlanes, _header.numPlanes); + + if (_numRelevantPlanes != 1 && _numRelevantPlanes != 2 && _numRelevantPlanes != 4) + _pixelPacking = false; + + uint16 outPitch = _header.width; + + if (_pixelPacking) + outPitch /= (8 / _numRelevantPlanes); + + // FIXME: CLUT8 is not a proper format for packed bitmaps but there is no way to tell it to use 1, 2 or 4 bits per pixel + _surface = new Graphics::Surface(); + _surface->create(outPitch, _header.height, Graphics::PixelFormat::createFormatCLUT8()); + + if (_type == TYPE_ILBM) { + uint32 scanlinePitch = ((_header.width + 15) >> 4) << 1; + byte *scanlines = new byte[scanlinePitch * _header.numPlanes]; + byte *data = (byte *)_surface->getPixels(); + + for (uint16 i = 0; i < _header.height; ++i) { + byte *scanline = scanlines; + + for (uint16 j = 0; j < _header.numPlanes; ++j) { + uint16 outSize = scanlinePitch; + + if (_header.compression) { + Common::PackBitsReadStream packStream(stream); + packStream.read(scanline, outSize); + } else { + stream.read(scanline, outSize); + } + + scanline += outSize; + } + + packPixels(scanlines, data, scanlinePitch, outPitch); + data += outPitch; + } + + delete[] scanlines; + } else if (_type == TYPE_PBM) { + byte *data = (byte *)_surface->getPixels(); + uint32 outSize = _header.width * _header.height; + + if (_header.compression) { + Common::PackBitsReadStream packStream(stream); + packStream.read(data, outSize); + } else { + stream.read(data, outSize); + } + } +} + +void IFFDecoder::packPixels(byte *scanlines, byte *data, const uint16 scanlinePitch, const uint16 outPitch) { + uint32 numPixels = _header.width; + + if (_pixelPacking) + numPixels = outPitch * (8 / _numRelevantPlanes); + + for (uint32 x = 0; x < numPixels; ++x) { + byte *scanline = scanlines; + byte pixel = 0; + byte offset = x >> 3; + byte bit = 0x80 >> (x & 7); + + // first build a pixel by scanning all the usable planes in the input + for (uint32 plane = 0; plane < _numRelevantPlanes; ++plane) { + if (scanline[offset] & bit) + pixel |= (1 << plane); + + scanline += scanlinePitch; + } + + // then output the pixel according to the requested packing + if (!_pixelPacking) + data[x] = pixel; + else if (_numRelevantPlanes == 1) + data[x / 8] |= (pixel << (x & 7)); + else if (_numRelevantPlanes == 2) + data[x / 4] |= (pixel << ((x & 3) << 1)); + else if (_numRelevantPlanes == 4) + data[x / 2] |= (pixel << ((x & 1) << 2)); + } +} + +} // End of namespace Image diff --git a/image/iff.h b/image/iff.h new file mode 100644 index 0000000000..3d342b3173 --- /dev/null +++ b/image/iff.h @@ -0,0 +1,126 @@ +/* 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. + * + */ + +/** + * @file + * Image decoder used in engines: + * - gob + * - parallaction + * - queen + * - saga + */ + +#ifndef IMAGE_IFF_H +#define IMAGE_IFF_H + +#include "common/array.h" +#include "common/endian.h" +#include "graphics/surface.h" + +#include "image/image_decoder.h" + +namespace Common { +class SeekableReadStream; +} + +namespace Graphics { +struct Surface; +} + +namespace Image { + +class IFFDecoder : public ImageDecoder { +public: + struct Header { + uint16 width, height; + uint16 x, y; + byte numPlanes; + byte masking; + byte compression; + byte flags; + uint16 transparentColor; + byte xAspect, yAspect; + uint16 pageWidth, pageHeight; + }; + + struct PaletteRange { + int16 timer, step, flags; + byte first, last; + }; + + enum Type { + TYPE_UNKNOWN = 0, + TYPE_ILBM, + TYPE_PBM + }; + + IFFDecoder(); + virtual ~IFFDecoder(); + + // ImageDecoder API + void destroy(); + bool loadStream(Common::SeekableReadStream &stream); + const Header *getHeader() const { return &_header; } + const Graphics::Surface *getSurface() const { return _surface; } + const byte *getPalette() const { return _palette; } + const Common::Array &getPaletteRanges() const { return _paletteRanges; } + uint16 getPaletteColorCount() const { return _paletteColorCount; } + + /** + * The number of planes to decode, also determines the pixel packing if _packPixels is true. + * 8 == decode all planes, map 1 pixel in 1 byte. (default, no packing even if _packPixels is true) + * + * NOTE: this property must be reset manually, and is not reset by a call to destroy(). + */ + void setNumRelevantPlanes(const uint8 numRelevantPlanes) { _numRelevantPlanes = numRelevantPlanes; } + + /** + * Enables pixel packing, the amount of packing is determined by _numRelevantPlanes + * 1 == decode first plane, pack 8 pixels in 1 byte. This makes _surface->w 1/8th of _header.width + * 2 == decode first 2 planes, pack 4 pixels in 1 byte. This makes _surface->w 1/4th of _header.width + * 4 == decode first 4 planes, pack 2 pixels in 1 byte. This makes _surface->w half of _header.width + * Packed bitmaps won't have a proper surface format since there is no way to tell it to use 1, 2 or 4 bits per pixel + * + * NOTE: this property must be reset manually, and is not reset by a call to destroy(). + */ + void setPixelPacking(const bool pixelPacking) { _pixelPacking = pixelPacking; } +private: + + Header _header; + Graphics::Surface *_surface; + byte *_palette; + Common::Array _paletteRanges; + Type _type; + uint16 _paletteColorCount; + uint8 _numRelevantPlanes; + bool _pixelPacking; + + void loadHeader(Common::SeekableReadStream &stream); + void loadPalette(Common::SeekableReadStream &stream, const uint32 size); + void loadPaletteRange(Common::SeekableReadStream &stream, const uint32 size); + void loadBitmap(Common::SeekableReadStream &stream); + void packPixels(byte *scanlines, byte *data, const uint16 scanlinePitch, const uint16 outPitch); +}; + +} // End of namespace Image + +#endif diff --git a/image/image_decoder.h b/image/image_decoder.h new file mode 100644 index 0000000000..08fa4d82b4 --- /dev/null +++ b/image/image_decoder.h @@ -0,0 +1,106 @@ +/* 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. + * + */ + +#ifndef IMAGE_IMAGEDECODER_H +#define IMAGE_IMAGEDECODER_H + +#include "common/scummsys.h" +#include "common/str.h" + +namespace Common { +class SeekableReadStream; +} + +namespace Graphics { +struct Surface; +} + +namespace Image { + +/** + * A representation of an image decoder that maintains ownership of the surface + * and palette it decodes to. + */ +class ImageDecoder { +public: + virtual ~ImageDecoder() {} + + /** + * Load an image from the specified stream + * + * loadStream() should implicitly call destroy() to free the memory + * of the last loadStream() call. + * + * @param stream the input stream + * @return whether loading the file succeeded + * @see getSurface + * @see getPalette + */ + virtual bool loadStream(Common::SeekableReadStream &stream) = 0; + + /** + * Destroy this decoder's surface and palette + * + * This should be called by a loadStream() implementation as well + * as the destructor. + */ + virtual void destroy() = 0; + + /** + * Get the decoded surface + * + * This surface is owned by this ImageDecoder and will remain valid + * until destroy() or loadStream() is called, or until this ImageDecoder's + * destructor is called. + * + * @return the decoded surface, or 0 if no surface is present + */ + virtual const Graphics::Surface *getSurface() const = 0; + + /** + * Get the decoded palette + * + * This palette is owned by this ImageDecoder and will remain valid + * until destroy() or loadStream() is called, or until this ImageDecoder's + * destructor is called. + * + * The palette's format is the same as PaletteManager's palette + * (interleaved RGB values). + * + * @return the decoded palette, or undefined if no palette is present + */ + virtual const byte *getPalette() const { return 0; } + + /** + * Query if the decoded image has a palette. + */ + virtual bool hasPalette() const { return getPaletteColorCount() != 0; } + + /** Return the starting index of the palette. */ + virtual byte getPaletteStartIndex() const { return 0; } + /** Return the number of colors in the palette. */ + virtual uint16 getPaletteColorCount() const { return 0; } +}; + +} // End of namespace Image + +#endif diff --git a/image/jpeg.cpp b/image/jpeg.cpp new file mode 100644 index 0000000000..9d4b0a7cfe --- /dev/null +++ b/image/jpeg.cpp @@ -0,0 +1,266 @@ +/* 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. + * + */ + +// libjpeg uses forbidden symbols in its header. Thus, we need to allow them +// here. +#define FORBIDDEN_SYMBOL_ALLOW_ALL + +#include "image/jpeg.h" + +#include "common/debug.h" +#include "common/endian.h" +#include "common/stream.h" +#include "common/textconsole.h" +#include "graphics/pixelformat.h" + +#ifdef USE_JPEG +// The original release of libjpeg v6b did not contain any extern "C" in case +// its header files are included in a C++ environment. To avoid any linking +// issues we need to add it on our own. +extern "C" { +#include +#include +} +#endif + +namespace Image { + +JPEGDecoder::JPEGDecoder() : ImageDecoder(), _surface(), _colorSpace(kColorSpaceRGBA) { +} + +JPEGDecoder::~JPEGDecoder() { + destroy(); +} + +const Graphics::Surface *JPEGDecoder::getSurface() const { + return &_surface; +} + +void JPEGDecoder::destroy() { + _surface.free(); +} + +#ifdef USE_JPEG +namespace { + +#define JPEG_BUFFER_SIZE 4096 + +struct StreamSource : public jpeg_source_mgr { + Common::SeekableReadStream *stream; + bool startOfFile; + JOCTET buffer[JPEG_BUFFER_SIZE]; +}; + +void initSource(j_decompress_ptr cinfo) { + StreamSource *source = (StreamSource *)cinfo->src; + source->startOfFile = true; +} + +boolean fillInputBuffer(j_decompress_ptr cinfo) { + StreamSource *source = (StreamSource *)cinfo->src; + + uint32 bufferSize = source->stream->read((byte *)source->buffer, sizeof(source->buffer)); + if (bufferSize == 0) { + if (source->startOfFile) { + // An empty file is a fatal error + ERREXIT(cinfo, JERR_INPUT_EMPTY); + } else { + // Otherwise we insert an EOF marker + WARNMS(cinfo, JWRN_JPEG_EOF); + source->buffer[0] = (JOCTET)0xFF; + source->buffer[1] = (JOCTET)JPEG_EOI; + bufferSize = 2; + } + } + + source->next_input_byte = source->buffer; + source->bytes_in_buffer = bufferSize; + source->startOfFile = false; + + return TRUE; +} + +void skipInputData(j_decompress_ptr cinfo, long numBytes) { + StreamSource *source = (StreamSource *)cinfo->src; + + if (numBytes > 0) { + if (numBytes > (long)source->bytes_in_buffer) { + // In case we need to skip more bytes than there are in the buffer + // we will skip the remaining data and fill the buffer again + numBytes -= (long)source->bytes_in_buffer; + + // Skip the remaining bytes + source->stream->skip(numBytes); + + // Fill up the buffer again + (*source->fill_input_buffer)(cinfo); + } else { + source->next_input_byte += (size_t)numBytes; + source->bytes_in_buffer -= (size_t)numBytes; + } + + } +} + +void termSource(j_decompress_ptr cinfo) { +} + +void jpeg_scummvm_src(j_decompress_ptr cinfo, Common::SeekableReadStream *stream) { + StreamSource *source; + + // Initialize the source in case it has not been done yet. + if (cinfo->src == NULL) { + cinfo->src = (jpeg_source_mgr *)(*cinfo->mem->alloc_small)((j_common_ptr)cinfo, JPOOL_PERMANENT, sizeof(StreamSource)); + } + + source = (StreamSource *)cinfo->src; + source->init_source = &initSource; + source->fill_input_buffer = &fillInputBuffer; + source->skip_input_data = &skipInputData; + source->resync_to_restart = &jpeg_resync_to_restart; + source->term_source = &termSource; + source->bytes_in_buffer = 0; + source->next_input_byte = NULL; + + source->stream = stream; +} + +void errorExit(j_common_ptr cinfo) { + char buffer[JMSG_LENGTH_MAX]; + (*cinfo->err->format_message)(cinfo, buffer); + // This function is not allowed to return to the caller, thus we simply + // error out with our error handling here. + error("%s", buffer); +} + +void outputMessage(j_common_ptr cinfo) { + char buffer[JMSG_LENGTH_MAX]; + (*cinfo->err->format_message)(cinfo, buffer); + // Is using debug here a good idea? Or do we want to ignore all libjpeg + // messages? + debug(3, "libjpeg: %s", buffer); +} + +} // End of anonymous namespace +#endif + +bool JPEGDecoder::loadStream(Common::SeekableReadStream &stream) { +#ifdef USE_JPEG + // Reset member variables from previous decodings + destroy(); + + jpeg_decompress_struct cinfo; + jpeg_error_mgr jerr; + + // Initialize error handling callbacks + cinfo.err = jpeg_std_error(&jerr); + cinfo.err->error_exit = &errorExit; + cinfo.err->output_message = &outputMessage; + + // Initialize the decompression structure + jpeg_create_decompress(&cinfo); + + // Initialize our buffer handling + jpeg_scummvm_src(&cinfo, &stream); + + // Read the file header + jpeg_read_header(&cinfo, TRUE); + + // We can request YUV output because Groovie requires it + switch (_colorSpace) { + case kColorSpaceRGBA: + cinfo.out_color_space = JCS_RGB; + break; + + case kColorSpaceYUV: + cinfo.out_color_space = JCS_YCbCr; + break; + } + + // Actually start decompressing the image + jpeg_start_decompress(&cinfo); + + // Allocate buffers for the output data + switch (_colorSpace) { + case kColorSpaceRGBA: + // We use RGBA8888 in this scenario + _surface.create(cinfo.output_width, cinfo.output_height, Graphics::PixelFormat(4, 8, 8, 8, 0, 24, 16, 8, 0)); + break; + + case kColorSpaceYUV: + // We use YUV with 3 bytes per pixel otherwise. + // This is pretty ugly since our PixelFormat cannot express YUV... + _surface.create(cinfo.output_width, cinfo.output_height, Graphics::PixelFormat(3, 0, 0, 0, 0, 0, 0, 0, 0)); + break; + } + + // Allocate buffer for one scanline + assert(cinfo.output_components == 3); + JDIMENSION pitch = cinfo.output_width * cinfo.output_components; + assert(_surface.pitch >= pitch); + JSAMPARRAY buffer = (*cinfo.mem->alloc_sarray)((j_common_ptr)&cinfo, JPOOL_IMAGE, pitch, 1); + + // Go through the image data scanline by scanline + while (cinfo.output_scanline < cinfo.output_height) { + byte *dst = (byte *)_surface.getBasePtr(0, cinfo.output_scanline); + + jpeg_read_scanlines(&cinfo, buffer, 1); + + const byte *src = buffer[0]; + switch (_colorSpace) { + case kColorSpaceRGBA: { + for (int remaining = cinfo.output_width; remaining > 0; --remaining) { + byte r = *src++; + byte g = *src++; + byte b = *src++; + // We need to insert a alpha value of 255 (opaque) here. +#ifdef SCUMM_BIG_ENDIAN + *dst++ = r; + *dst++ = g; + *dst++ = b; + *dst++ = 0xFF; +#else + *dst++ = 0xFF; + *dst++ = b; + *dst++ = g; + *dst++ = r; +#endif + } + } break; + + case kColorSpaceYUV: + memcpy(dst, src, pitch); + break; + } + } + + // We are done with decompressing, thus free all the data + jpeg_finish_decompress(&cinfo); + jpeg_destroy_decompress(&cinfo); + + return true; +#else + return false; +#endif +} + +} // End of Graphics namespace diff --git a/image/jpeg.h b/image/jpeg.h new file mode 100644 index 0000000000..f578170517 --- /dev/null +++ b/image/jpeg.h @@ -0,0 +1,95 @@ +/* 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. + * + */ + +/** + * @file + * Image decoder used in engines: + * - groovie + * - mohawk + * - wintermute + */ + +#ifndef IMAGE_JPEG_H +#define IMAGE_JPEG_H + +#include "graphics/surface.h" +#include "image/image_decoder.h" + +namespace Common { +class SeekableReadStream; +} + +namespace Image { + +class JPEGDecoder : public ImageDecoder { +public: + JPEGDecoder(); + ~JPEGDecoder(); + + // ImageDecoder API + virtual void destroy(); + virtual bool loadStream(Common::SeekableReadStream &str); + virtual const Graphics::Surface *getSurface() const; + + // Special API for JPEG + enum ColorSpace { + /** + * Output 32bit RGBA data. + * + * This is the default output. + */ + kColorSpaceRGBA, + + /** + * Output (interleaved) YUV data. + * + * Be aware that some images cannot be output in YUV mode. + * These are (non-standard) JPEG images which are in RGB colorspace. + * + * The resulting Surface will have a PixelFormat with 3 bytes per + * pixel and the remaining entries are completely zeroed. This works + * around the fact that PixelFormat can only describe RGB formats. + * + * You should only use this when you are really aware of what you are + * doing! + */ + kColorSpaceYUV + }; + + /** + * Request the output color space. This can be used to obtain raw YUV + * data from the JPEG file. But this might not work for all files! + * + * The decoder itself defaults to RGBA. + * + * @param outSpace The color space to output. + */ + void setOutputColorSpace(ColorSpace outSpace) { _colorSpace = outSpace; } + +private: + Graphics::Surface _surface; + ColorSpace _colorSpace; +}; + +} // End of Graphics namespace + +#endif // GRAPHICS_JPEG_H diff --git a/image/module.mk b/image/module.mk new file mode 100644 index 0000000000..22febe1460 --- /dev/null +++ b/image/module.mk @@ -0,0 +1,13 @@ +MODULE := image + +MODULE_OBJS := \ + bmp.o \ + iff.o \ + jpeg.o \ + pcx.o \ + pict.o \ + png.o \ + tga.o + +# Include common rules +include $(srcdir)/rules.mk diff --git a/image/pcx.cpp b/image/pcx.cpp new file mode 100644 index 0000000000..282a6c68c7 --- /dev/null +++ b/image/pcx.cpp @@ -0,0 +1,214 @@ +/* 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 "image/pcx.h" + +#include "common/stream.h" +#include "common/textconsole.h" +#include "graphics/pixelformat.h" +#include "graphics/surface.h" + +/** + * Based on the PCX specs: + * http://www.fileformat.info/format/pcx/spec/a10e75307b3a4cc49c3bbe6db4c41fa2/view.htm + * and the PCX decoder of FFmpeg (libavcodec/pcx.c): + * http://git.videolan.org/?p=ffmpeg.git;a=blob;f=libavcodec/pcx.c + */ + +namespace Image { + +PCXDecoder::PCXDecoder() { + _surface = 0; + _palette = 0; + _paletteColorCount = 0; +} + +PCXDecoder::~PCXDecoder() { + destroy(); +} + +void PCXDecoder::destroy() { + if (_surface) { + _surface->free(); + delete _surface; + _surface = 0; + } + + delete[] _palette; + _palette = 0; + _paletteColorCount = 0; +} + +bool PCXDecoder::loadStream(Common::SeekableReadStream &stream) { + destroy(); + + if (stream.readByte() != 0x0a) // ZSoft PCX + return false; + + byte version = stream.readByte(); // 0 - 5 + if (version > 5) + return false; + + bool compressed = stream.readByte(); // encoding, 1 = run length encoding + byte bitsPerPixel = stream.readByte(); // 1, 2, 4 or 8 + + // Window + uint16 xMin = stream.readUint16LE(); + uint16 yMin = stream.readUint16LE(); + uint16 xMax = stream.readUint16LE(); + uint16 yMax = stream.readUint16LE(); + + uint16 width = xMax - xMin + 1; + uint16 height = yMax - yMin + 1; + + if (xMax < xMin || yMax < yMin) { + warning("Invalid PCX image dimensions"); + return false; + } + + stream.skip(4); // HDpi, VDpi + + // Read the EGA palette (colormap) + _palette = new byte[16 * 3]; + for (uint16 i = 0; i < 16; i++) { + _palette[i * 3 + 0] = stream.readByte(); + _palette[i * 3 + 1] = stream.readByte(); + _palette[i * 3 + 2] = stream.readByte(); + } + + if (stream.readByte() != 0) // reserved, should be set to 0 + return false; + + byte nPlanes = stream.readByte(); + uint16 bytesPerLine = stream.readUint16LE(); + uint16 bytesPerscanLine = nPlanes * bytesPerLine; + + if (bytesPerscanLine < width * bitsPerPixel * nPlanes / 8) { + warning("PCX data is corrupted"); + return false; + } + + stream.skip(60); // PaletteInfo, HscreenSize, VscreenSize, Filler + + _surface = new Graphics::Surface(); + + byte *scanLine = new byte[bytesPerscanLine]; + byte *dst; + int x, y; + + if (nPlanes == 3 && bitsPerPixel == 8) { // 24bpp + Graphics::PixelFormat format = Graphics::PixelFormat(4, 8, 8, 8, 8, 24, 16, 8, 0); + _surface->create(width, height, format); + dst = (byte *)_surface->getPixels(); + _paletteColorCount = 0; + + for (y = 0; y < height; y++) { + decodeRLE(stream, scanLine, bytesPerscanLine, compressed); + + for (x = 0; x < width; x++) { + byte b = scanLine[x]; + byte g = scanLine[x + bytesPerLine]; + byte r = scanLine[x + (bytesPerLine << 1)]; + uint32 color = format.RGBToColor(r, g, b); + + *((uint32 *)dst) = color; + dst += format.bytesPerPixel; + } + } + } else if (nPlanes == 1 && bitsPerPixel == 8) { // 8bpp indexed + _surface->create(width, height, Graphics::PixelFormat::createFormatCLUT8()); + dst = (byte *)_surface->getPixels(); + _paletteColorCount = 16; + + for (y = 0; y < height; y++, dst += _surface->pitch) { + decodeRLE(stream, scanLine, bytesPerscanLine, compressed); + memcpy(dst, scanLine, width); + } + + if (version == 5) { + if (stream.readByte() != 12) { + warning("Expected a palette after the PCX image data"); + delete[] scanLine; + return false; + } + + // Read the VGA palette + delete[] _palette; + _palette = new byte[256 * 3]; + for (uint16 i = 0; i < 256; i++) { + _palette[i * 3 + 0] = stream.readByte(); + _palette[i * 3 + 1] = stream.readByte(); + _palette[i * 3 + 2] = stream.readByte(); + } + + _paletteColorCount = 256; + } + } else if ((nPlanes == 2 || nPlanes == 3 || nPlanes == 4) && bitsPerPixel == 1) { // planar, 4, 8 or 16 colors + _surface->create(width, height, Graphics::PixelFormat::createFormatCLUT8()); + dst = (byte *)_surface->getPixels(); + _paletteColorCount = 16; + + for (y = 0; y < height; y++, dst += _surface->pitch) { + decodeRLE(stream, scanLine, bytesPerscanLine, compressed); + + for (x = 0; x < width; x++) { + int m = 0x80 >> (x & 7), v = 0; + for (int i = nPlanes - 1; i >= 0; i--) { + v <<= 1; + v += (scanLine[i * bytesPerLine + (x >> 3)] & m) == 0 ? 0 : 1; + } + dst[x] = v; + } + } + } else { + // Known unsupported case: 1 plane and bpp < 8 (1, 2 or 4) + warning("Invalid PCX file (%d planes, %d bpp)", nPlanes, bitsPerPixel); + delete[] scanLine; + return false; + } + + delete[] scanLine; + + return true; +} + +void PCXDecoder::decodeRLE(Common::SeekableReadStream &stream, byte *dst, uint32 bytesPerscanLine, bool compressed) { + uint32 i = 0; + byte run, value; + + if (compressed) { + while (i < bytesPerscanLine) { + run = 1; + value = stream.readByte(); + if (value >= 0xc0) { + run = value & 0x3f; + value = stream.readByte(); + } + while (i < bytesPerscanLine && run--) + dst[i++] = value; + } + } else { + stream.read(dst, bytesPerscanLine); + } +} + +} // End of namespace Image diff --git a/image/pcx.h b/image/pcx.h new file mode 100644 index 0000000000..ce30ab5eb2 --- /dev/null +++ b/image/pcx.h @@ -0,0 +1,66 @@ +/* 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. + * + */ + +/** + * PCX decoder used in engines: + * - dreamweb + * - hugo + * - queen + * - tucker + */ + +#ifndef IMAGE_PCX_H +#define IMAGE_PCX_H + +#include "common/scummsys.h" +#include "common/str.h" +#include "image/image_decoder.h" + +namespace Common{ +class SeekableReadStream; +} + +namespace Image { + +class PCXDecoder : public ImageDecoder { +public: + PCXDecoder(); + virtual ~PCXDecoder(); + + // ImageDecoder API + void destroy(); + virtual bool loadStream(Common::SeekableReadStream &stream); + virtual const Graphics::Surface *getSurface() const { return _surface; } + const byte *getPalette() const { return _palette; } + uint16 getPaletteColorCount() const { return _paletteColorCount; } + +private: + void decodeRLE(Common::SeekableReadStream &stream, byte *dst, uint32 bytesPerScanline, bool compressed); + + Graphics::Surface *_surface; + byte *_palette; + uint16 _paletteColorCount; +}; + +} // End of namespace Image + +#endif diff --git a/image/pict.cpp b/image/pict.cpp new file mode 100644 index 0000000000..07e657f4b2 --- /dev/null +++ b/image/pict.cpp @@ -0,0 +1,580 @@ +/* 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 "image/jpeg.h" +#include "image/pict.h" + +#include "common/debug.h" +#include "common/endian.h" +#include "common/stream.h" +#include "common/substream.h" +#include "common/textconsole.h" +#include "graphics/surface.h" + +namespace Image { + +// The PICT code is based off of the QuickDraw specs: +// http://developer.apple.com/legacy/mac/library/documentation/mac/QuickDraw/QuickDraw-461.html +// http://developer.apple.com/legacy/mac/library/documentation/mac/QuickDraw/QuickDraw-269.html + +PICTDecoder::PICTDecoder() { + _outputSurface = 0; + _paletteColorCount = 0; +} + +PICTDecoder::~PICTDecoder() { + destroy(); +} + +void PICTDecoder::destroy() { + if (_outputSurface) { + _outputSurface->free(); + delete _outputSurface; + _outputSurface = 0; + } + + _paletteColorCount = 0; +} + +#define OPCODE(a, b, c) _opcodes.push_back(PICTOpcode(a, &PICTDecoder::b, c)) + +void PICTDecoder::setupOpcodesCommon() { + OPCODE(0x0000, o_nop, "NOP"); + OPCODE(0x0001, o_clip, "Clip"); + OPCODE(0x0003, o_txFont, "TxFont"); + OPCODE(0x0004, o_txFace, "TxFace"); + OPCODE(0x0007, o_pnSize, "PnSize"); + OPCODE(0x000D, o_txSize, "TxSize"); + OPCODE(0x0010, o_txRatio, "TxRatio"); + OPCODE(0x0011, o_versionOp, "VersionOp"); + OPCODE(0x001E, o_nop, "DefHilite"); + OPCODE(0x0028, o_longText, "LongText"); + OPCODE(0x00A1, o_longComment, "LongComment"); + OPCODE(0x00FF, o_opEndPic, "OpEndPic"); + OPCODE(0x0C00, o_headerOp, "HeaderOp"); +} + +void PICTDecoder::setupOpcodesNormal() { + setupOpcodesCommon(); + OPCODE(0x0098, on_packBitsRect, "PackBitsRect"); + OPCODE(0x009A, on_directBitsRect, "DirectBitsRect"); + OPCODE(0x8200, on_compressedQuickTime, "CompressedQuickTime"); +} + +void PICTDecoder::setupOpcodesQuickTime() { + setupOpcodesCommon(); + OPCODE(0x0098, oq_packBitsRect, "PackBitsRect"); + OPCODE(0x009A, oq_directBitsRect, "DirectBitsRect"); + OPCODE(0x8200, oq_compressedQuickTime, "CompressedQuickTime"); +} + +#undef OPCODE + +void PICTDecoder::o_nop(Common::SeekableReadStream &) { + // Nothing to do +} + +void PICTDecoder::o_clip(Common::SeekableReadStream &stream) { + // Ignore + stream.skip(stream.readUint16BE() - 2); +} + +void PICTDecoder::o_txFont(Common::SeekableReadStream &stream) { + // Ignore + stream.readUint16BE(); +} + +void PICTDecoder::o_txFace(Common::SeekableReadStream &stream) { + // Ignore + stream.readByte(); +} + +void PICTDecoder::o_pnSize(Common::SeekableReadStream &stream) { + // Ignore + stream.readUint16BE(); + stream.readUint16BE(); +} + +void PICTDecoder::o_txSize(Common::SeekableReadStream &stream) { + // Ignore + stream.readUint16BE(); +} + +void PICTDecoder::o_txRatio(Common::SeekableReadStream &stream) { + // Ignore + stream.readUint16BE(); + stream.readUint16BE(); + stream.readUint16BE(); + stream.readUint16BE(); +} + +void PICTDecoder::o_versionOp(Common::SeekableReadStream &stream) { + // We only support v2 extended + if (stream.readUint16BE() != 0x02FF) + error("Unknown PICT version"); +} + +void PICTDecoder::o_longText(Common::SeekableReadStream &stream) { + // Ignore + stream.readUint16BE(); + stream.readUint16BE(); + stream.skip(stream.readByte()); +} + +void PICTDecoder::o_longComment(Common::SeekableReadStream &stream) { + // Ignore + stream.readUint16BE(); + stream.skip(stream.readUint16BE()); +} + +void PICTDecoder::o_opEndPic(Common::SeekableReadStream &stream) { + // We've reached the end of the picture + _continueParsing = false; +} + +void PICTDecoder::o_headerOp(Common::SeekableReadStream &stream) { + // Read the basic header, but we don't really have to do anything with it + /* uint16 version = */ stream.readUint16BE(); + stream.readUint16BE(); // Reserved + /* uint32 hRes = */ stream.readUint32BE(); + /* uint32 vRes = */ stream.readUint32BE(); + Common::Rect origResRect; + origResRect.top = stream.readUint16BE(); + origResRect.left = stream.readUint16BE(); + origResRect.bottom = stream.readUint16BE(); + origResRect.right = stream.readUint16BE(); + stream.readUint32BE(); // Reserved +} + +void PICTDecoder::on_packBitsRect(Common::SeekableReadStream &stream) { + // Unpack data (8bpp or lower) + unpackBitsRect(stream, true); +} + +void PICTDecoder::on_directBitsRect(Common::SeekableReadStream &stream) { + // Unpack data (16bpp or higher) + unpackBitsRect(stream, false); +} + +void PICTDecoder::on_compressedQuickTime(Common::SeekableReadStream &stream) { + // OK, here's the fun. We get to completely change how QuickDraw draws + // the data in PICT files. + + // Swap out the opcodes to the new ones + _opcodes.clear(); + setupOpcodesQuickTime(); + + // We'll decode the first QuickTime data from here, but the QuickTime-specific + // opcodes will take over from here on out. Normal opcodes, signing off. + decodeCompressedQuickTime(stream); +} + +void PICTDecoder::oq_packBitsRect(Common::SeekableReadStream &stream) { + // Skip any data here (8bpp or lower) + skipBitsRect(stream, true); +} + +void PICTDecoder::oq_directBitsRect(Common::SeekableReadStream &stream) { + // Skip any data here (16bpp or higher) + skipBitsRect(stream, false); +} + +void PICTDecoder::oq_compressedQuickTime(Common::SeekableReadStream &stream) { + // Just pass the data along + decodeCompressedQuickTime(stream); +} + +bool PICTDecoder::loadStream(Common::SeekableReadStream &stream) { + destroy(); + + // Initialize opcodes to their normal state + _opcodes.clear(); + setupOpcodesNormal(); + + _continueParsing = true; + memset(_palette, 0, sizeof(_palette)); + + uint16 fileSize = stream.readUint16BE(); + + // If we have no file size here, we probably have a PICT from a file + // and not a resource. The other two bytes are the fileSize which we + // don't actually need (and already read if from a resource). + if (!fileSize) + stream.seek(512 + 2); + + _imageRect.top = stream.readUint16BE(); + _imageRect.left = stream.readUint16BE(); + _imageRect.bottom = stream.readUint16BE(); + _imageRect.right = stream.readUint16BE(); + _imageRect.debugPrint(0, "PICT Rect:"); + + // NOTE: This is only a subset of the full PICT format. + // - Only V2 (Extended) Images Supported + // - CompressedQuickTime (JPEG) compressed data is supported + // - DirectBitsRect/PackBitsRect compressed data is supported + for (uint32 opNum = 0; !stream.eos() && !stream.err() && stream.pos() < stream.size() && _continueParsing; opNum++) { + // PICT v2 opcodes are two bytes + uint16 opcode = stream.readUint16BE(); + + if (opNum == 0 && opcode != 0x0011) { + warning("Cannot find PICT version opcode"); + return false; + } else if (opNum == 1 && opcode != 0x0C00) { + warning("Cannot find PICT header opcode"); + return false; + } + + // Since opcodes are word-aligned, we need to mark our starting + // position here. + uint32 startPos = stream.pos(); + + for (uint32 i = 0; i < _opcodes.size(); i++) { + if (_opcodes[i].op == opcode) { + debug(4, "Running PICT opcode %04x '%s'", opcode, _opcodes[i].desc); + (this->*(_opcodes[i].proc))(stream); + break; + } else if (i == _opcodes.size() - 1) { + // Unknown opcode; attempt to continue forward + warning("Unknown PICT opcode %04x", opcode); + } + } + + // Align + stream.skip((stream.pos() - startPos) & 1); + } + + return _outputSurface; +} + +PICTDecoder::PixMap PICTDecoder::readPixMap(Common::SeekableReadStream &stream, bool hasBaseAddr) { + PixMap pixMap; + pixMap.baseAddr = hasBaseAddr ? stream.readUint32BE() : 0; + pixMap.rowBytes = stream.readUint16BE() & 0x3fff; + pixMap.bounds.top = stream.readUint16BE(); + pixMap.bounds.left = stream.readUint16BE(); + pixMap.bounds.bottom = stream.readUint16BE(); + pixMap.bounds.right = stream.readUint16BE(); + pixMap.pmVersion = stream.readUint16BE(); + pixMap.packType = stream.readUint16BE(); + pixMap.packSize = stream.readUint32BE(); + pixMap.hRes = stream.readUint32BE(); + pixMap.vRes = stream.readUint32BE(); + pixMap.pixelType = stream.readUint16BE(); + pixMap.pixelSize = stream.readUint16BE(); + pixMap.cmpCount = stream.readUint16BE(); + pixMap.cmpSize = stream.readUint16BE(); + pixMap.planeBytes = stream.readUint32BE(); + pixMap.pmTable = stream.readUint32BE(); + pixMap.pmReserved = stream.readUint32BE(); + return pixMap; +} + +struct PackBitsRectData { + PICTDecoder::PixMap pixMap; + Common::Rect srcRect; + Common::Rect dstRect; + uint16 mode; +}; + +void PICTDecoder::unpackBitsRect(Common::SeekableReadStream &stream, bool withPalette) { + PackBitsRectData packBitsData; + packBitsData.pixMap = readPixMap(stream, !withPalette); + + // Read in the palette if there is one present + if (withPalette) { + // See http://developer.apple.com/legacy/mac/library/documentation/mac/QuickDraw/QuickDraw-267.html + stream.readUint32BE(); // seed + stream.readUint16BE(); // flags + _paletteColorCount = stream.readUint16BE() + 1; + + for (uint32 i = 0; i < _paletteColorCount; i++) { + stream.readUint16BE(); + _palette[i * 3] = stream.readUint16BE() >> 8; + _palette[i * 3 + 1] = stream.readUint16BE() >> 8; + _palette[i * 3 + 2] = stream.readUint16BE() >> 8; + } + } + + packBitsData.srcRect.top = stream.readUint16BE(); + packBitsData.srcRect.left = stream.readUint16BE(); + packBitsData.srcRect.bottom = stream.readUint16BE(); + packBitsData.srcRect.right = stream.readUint16BE(); + packBitsData.dstRect.top = stream.readUint16BE(); + packBitsData.dstRect.left = stream.readUint16BE(); + packBitsData.dstRect.bottom = stream.readUint16BE(); + packBitsData.dstRect.right = stream.readUint16BE(); + packBitsData.mode = stream.readUint16BE(); + + uint16 width = packBitsData.srcRect.width(); + uint16 height = packBitsData.srcRect.height(); + + byte bytesPerPixel = 0; + + if (packBitsData.pixMap.pixelSize <= 8) + bytesPerPixel = 1; + else if (packBitsData.pixMap.pixelSize == 32) + bytesPerPixel = packBitsData.pixMap.cmpCount; + else + bytesPerPixel = packBitsData.pixMap.pixelSize / 8; + + // Ensure we have enough space in the buffer to hold an entire line's worth of pixels + uint32 lineSize = MAX(width * bytesPerPixel + (8 * 2 / packBitsData.pixMap.pixelSize), packBitsData.pixMap.rowBytes); + byte *buffer = new byte[lineSize * height]; + + // Read in amount of data per row + for (uint16 i = 0; i < packBitsData.pixMap.bounds.height(); i++) { + // NOTE: Compression 0 is "default". The format in SCI games is packed when 0. + // In the future, we may need to have something to set the "default" packing + // format, but this is good for now. + + if (packBitsData.pixMap.packType == 1 || packBitsData.pixMap.rowBytes < 8) { // Unpacked, Pad-Byte (on 24-bit) + // TODO: Finish this. Hasn't been needed (yet). + error("Unpacked DirectBitsRect data (padded)"); + } else if (packBitsData.pixMap.packType == 2) { // Unpacked, No Pad-Byte (on 24-bit) + // TODO: Finish this. Hasn't been needed (yet). + error("Unpacked DirectBitsRect data (not padded)"); + } else if (packBitsData.pixMap.packType == 0 || packBitsData.pixMap.packType > 2) { // Packed + uint16 byteCount = (packBitsData.pixMap.rowBytes > 250) ? stream.readUint16BE() : stream.readByte(); + unpackBitsLine(buffer + i * width * bytesPerPixel, packBitsData.pixMap.rowBytes, stream.readStream(byteCount), packBitsData.pixMap.pixelSize, bytesPerPixel); + } + } + + _outputSurface = new Graphics::Surface(); + + switch (bytesPerPixel) { + case 1: + // Just copy to the image + _outputSurface->create(width, height, Graphics::PixelFormat::createFormatCLUT8()); + memcpy(_outputSurface->getPixels(), buffer, _outputSurface->w * _outputSurface->h); + break; + case 2: + // We have a 16-bit surface + _outputSurface->create(width, height, Graphics::PixelFormat(2, 5, 5, 5, 0, 10, 5, 0, 0)); + for (uint16 y = 0; y < _outputSurface->h; y++) + for (uint16 x = 0; x < _outputSurface->w; x++) + WRITE_UINT16(_outputSurface->getBasePtr(x, y), READ_UINT16(buffer + (y * _outputSurface->w + x) * 2)); + break; + case 3: + // We have a planar 24-bit surface + _outputSurface->create(width, height, Graphics::PixelFormat(4, 8, 8, 8, 8, 24, 16, 8, 0)); + for (uint16 y = 0; y < _outputSurface->h; y++) { + for (uint16 x = 0; x < _outputSurface->w; x++) { + byte r = *(buffer + y * _outputSurface->w * 3 + x); + byte g = *(buffer + y * _outputSurface->w * 3 + _outputSurface->w + x); + byte b = *(buffer + y * _outputSurface->w * 3 + _outputSurface->w * 2 + x); + *((uint32 *)_outputSurface->getBasePtr(x, y)) = _outputSurface->format.RGBToColor(r, g, b); + } + } + break; + case 4: + // We have a planar 32-bit surface + // Note that we ignore the alpha channel since it seems to not be correct + // Mac OS X does not ignore it, but then displays it incorrectly. Photoshop + // does ignore it and displays it correctly. + _outputSurface->create(width, height, Graphics::PixelFormat(4, 8, 8, 8, 8, 24, 16, 8, 0)); + for (uint16 y = 0; y < _outputSurface->h; y++) { + for (uint16 x = 0; x < _outputSurface->w; x++) { + byte a = 0xFF; + byte r = *(buffer + y * _outputSurface->w * 4 + _outputSurface->w + x); + byte g = *(buffer + y * _outputSurface->w * 4 + _outputSurface->w * 2 + x); + byte b = *(buffer + y * _outputSurface->w * 4 + _outputSurface->w * 3 + x); + *((uint32 *)_outputSurface->getBasePtr(x, y)) = _outputSurface->format.ARGBToColor(a, r, g, b); + } + } + break; + } + + delete[] buffer; +} + +void PICTDecoder::unpackBitsLine(byte *out, uint32 length, Common::SeekableReadStream *data, byte bitsPerPixel, byte bytesPerPixel) { + uint32 dataDecoded = 0; + byte bytesPerDecode = (bytesPerPixel == 2) ? 2 : 1; + + while (data->pos() < data->size() && dataDecoded < length) { + byte op = data->readByte(); + + if (op & 0x80) { + uint32 runSize = (op ^ 255) + 2; + uint16 value = (bytesPerDecode == 2) ? data->readUint16BE() : data->readByte(); + + for (uint32 i = 0; i < runSize; i++) { + if (bytesPerDecode == 2) { + WRITE_UINT16(out, value); + out += 2; + } else { + outputPixelBuffer(out, value, bitsPerPixel); + } + } + dataDecoded += runSize * bytesPerDecode; + } else { + uint32 runSize = op + 1; + + if (bytesPerDecode == 1) { + for (uint32 i = 0; i < runSize; i++) + outputPixelBuffer(out, data->readByte(), bitsPerPixel); + } else { + for (uint32 i = 0; i < runSize; i++) { + WRITE_UINT16(out, data->readUint16BE()); + out += 2; + } + } + + dataDecoded += runSize * bytesPerDecode; + } + } + + // HACK: Even if the data is 24-bit, rowBytes is still 32-bit + if (bytesPerPixel == 3) + dataDecoded += length / 4; + + if (length != dataDecoded) + warning("Mismatched PackBits read (%d/%d)", dataDecoded, length); + + delete data; +} + +void PICTDecoder::outputPixelBuffer(byte *&out, byte value, byte bitsPerPixel) { + switch (bitsPerPixel) { + case 1: + for (int i = 7; i >= 0; i--) + *out++ = (value >> i) & 1; + break; + case 2: + for (int i = 6; i >= 0; i -= 2) + *out++ = (value >> i) & 3; + break; + case 4: + *out++ = (value >> 4) & 0xf; + *out++ = value & 0xf; + break; + default: + *out++ = value; + } +} + +void PICTDecoder::skipBitsRect(Common::SeekableReadStream &stream, bool withPalette) { + // Step through a PackBitsRect/DirectBitsRect function + + if (!withPalette) + stream.readUint32BE(); + + uint16 rowBytes = stream.readUint16BE(); + uint16 height = stream.readUint16BE(); + stream.readUint16BE(); + height = stream.readUint16BE() - height; + stream.readUint16BE(); + + uint16 packType; + + // Top two bits signify PixMap vs BitMap + if (rowBytes & 0xC000) { + // PixMap + stream.readUint16BE(); + packType = stream.readUint16BE(); + stream.skip(14); + stream.readUint16BE(); // pixelSize + stream.skip(16); + + if (withPalette) { + stream.readUint32BE(); + stream.readUint16BE(); + stream.skip((stream.readUint16BE() + 1) * 8); + } + + rowBytes &= 0x3FFF; + } else { + // BitMap + packType = 0; + } + + stream.skip(18); + + for (uint16 i = 0; i < height; i++) { + if (packType == 1 || packType == 2 || rowBytes < 8) + error("Unpacked PackBitsRect data"); + else if (packType == 0 || packType > 2) + stream.skip((rowBytes > 250) ? stream.readUint16BE() : stream.readByte()); + } +} + +// Compressed QuickTime details can be found here: +// http://developer.apple.com/legacy/mac/library/#documentation/QuickTime/Rm/CompressDecompress/ImageComprMgr/B-Chapter/2TheImageCompression.html +// http://developer.apple.com/legacy/mac/library/#documentation/QuickTime/Rm/CompressDecompress/ImageComprMgr/F-Chapter/6WorkingwiththeImage.html +void PICTDecoder::decodeCompressedQuickTime(Common::SeekableReadStream &stream) { + // First, read all the fields from the opcode + uint32 dataSize = stream.readUint32BE(); + uint32 startPos = stream.pos(); + + /* uint16 version = */ stream.readUint16BE(); + + // Read in the display matrix + uint32 matrix[3][3]; + for (uint32 i = 0; i < 3; i++) + for (uint32 j = 0; j < 3; j++) + matrix[i][j] = stream.readUint32BE(); + + // We currently only support offseting images vertically from the matrix + uint16 xOffset = 0; + uint16 yOffset = matrix[2][1] >> 16; + + uint32 matteSize = stream.readUint32BE(); + stream.skip(8); // matte rect + /* uint16 transferMode = */ stream.readUint16BE(); + stream.skip(8); // src rect + /* uint32 accuracy = */ stream.readUint32BE(); + uint32 maskSize = stream.readUint32BE(); + + // Skip the matte and mask + stream.skip(matteSize + maskSize); + + // Now we've reached the image descriptor, so read the relevant data from that + uint32 idStart = stream.pos(); + uint32 idSize = stream.readUint32BE(); + uint32 codec = stream.readUint32BE(); + stream.skip(36); // miscellaneous stuff + uint32 jpegSize = stream.readUint32BE(); + stream.skip(idSize - (stream.pos() - idStart)); // more useless stuff + + if (codec != MKTAG('j', 'p', 'e', 'g')) + error("Unhandled CompressedQuickTime format '%s'", tag2str(codec)); + + Common::SeekableSubReadStream jpegStream(&stream, stream.pos(), stream.pos() + jpegSize); + + JPEGDecoder jpeg; + if (!jpeg.loadStream(jpegStream)) + error("PICTDecoder::decodeCompressedQuickTime(): Could not decode JPEG data"); + + const Graphics::Surface *jpegSurface = jpeg.getSurface(); + + if (!_outputSurface) { + _outputSurface = new Graphics::Surface(); + _outputSurface->create(_imageRect.width(), _imageRect.height(), jpegSurface->format); + } + + for (uint16 y = 0; y < jpegSurface->h; y++) + memcpy(_outputSurface->getBasePtr(0 + xOffset, y + yOffset), jpegSurface->getBasePtr(0, y), jpegSurface->w * jpegSurface->format.bytesPerPixel); + + stream.seek(startPos + dataSize); +} + +} // End of namespace Image diff --git a/image/pict.h b/image/pict.h new file mode 100644 index 0000000000..77b450f4a2 --- /dev/null +++ b/image/pict.h @@ -0,0 +1,141 @@ +/* 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. + * + */ + +/** + * @file + * Image decoder used in engines: + * - mohawk + * - pegasus + * - sci + */ + +#ifndef IMAGE_PICT_H +#define IMAGE_PICT_H + +#include "common/array.h" +#include "common/rect.h" +#include "common/scummsys.h" + +#include "image/image_decoder.h" + +namespace Common { +class SeekableReadStream; +} + +namespace Graphics { +struct Surface; +} + +namespace Image { + +#define DECLARE_OPCODE(x) void x(Common::SeekableReadStream &stream) + +class PICTDecoder : public ImageDecoder { +public: + PICTDecoder(); + ~PICTDecoder(); + + // ImageDecoder API + bool loadStream(Common::SeekableReadStream &stream); + void destroy(); + const Graphics::Surface *getSurface() const { return _outputSurface; } + const byte *getPalette() const { return _palette; } + uint16 getPaletteColorCount() const { return _paletteColorCount; } + + struct PixMap { + uint32 baseAddr; + uint16 rowBytes; + Common::Rect bounds; + uint16 pmVersion; + uint16 packType; + uint32 packSize; + uint32 hRes; + uint32 vRes; + uint16 pixelType; + uint16 pixelSize; + uint16 cmpCount; + uint16 cmpSize; + uint32 planeBytes; + uint32 pmTable; + uint32 pmReserved; + }; + + static PixMap readPixMap(Common::SeekableReadStream &stream, bool hasBaseAddr = true); + +private: + Common::Rect _imageRect; + byte _palette[256 * 3]; + uint16 _paletteColorCount; + Graphics::Surface *_outputSurface; + bool _continueParsing; + + // Utility Functions + void unpackBitsRect(Common::SeekableReadStream &stream, bool withPalette); + void unpackBitsLine(byte *out, uint32 length, Common::SeekableReadStream *stream, byte bitsPerPixel, byte bytesPerPixel); + void skipBitsRect(Common::SeekableReadStream &stream, bool withPalette); + void decodeCompressedQuickTime(Common::SeekableReadStream &stream); + void outputPixelBuffer(byte *&out, byte value, byte bitsPerPixel); + + // Opcodes + typedef void (PICTDecoder::*OpcodeProcPICT)(Common::SeekableReadStream &stream); + struct PICTOpcode { + PICTOpcode() { op = 0; proc = 0; desc = 0; } + PICTOpcode(uint16 o, OpcodeProcPICT p, const char *d) { op = o; proc = p; desc = d; } + uint16 op; + OpcodeProcPICT proc; + const char *desc; + }; + Common::Array _opcodes; + + // Common Opcodes + void setupOpcodesCommon(); + DECLARE_OPCODE(o_nop); + DECLARE_OPCODE(o_clip); + DECLARE_OPCODE(o_txFont); + DECLARE_OPCODE(o_txFace); + DECLARE_OPCODE(o_pnSize); + DECLARE_OPCODE(o_txSize); + DECLARE_OPCODE(o_txRatio); + DECLARE_OPCODE(o_versionOp); + DECLARE_OPCODE(o_longText); + DECLARE_OPCODE(o_longComment); + DECLARE_OPCODE(o_opEndPic); + DECLARE_OPCODE(o_headerOp); + + // Regular-mode Opcodes + void setupOpcodesNormal(); + DECLARE_OPCODE(on_packBitsRect); + DECLARE_OPCODE(on_directBitsRect); + DECLARE_OPCODE(on_compressedQuickTime); + + // QuickTime-mode Opcodes + void setupOpcodesQuickTime(); + DECLARE_OPCODE(oq_packBitsRect); + DECLARE_OPCODE(oq_directBitsRect); + DECLARE_OPCODE(oq_compressedQuickTime); +}; + +#undef DECLARE_OPCODE + +} // End of namespace Image + +#endif diff --git a/image/png.cpp b/image/png.cpp new file mode 100644 index 0000000000..158acfa8a5 --- /dev/null +++ b/image/png.cpp @@ -0,0 +1,245 @@ +/* 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. + * + */ + +// Since we need to work with libpng here, we need to allow all symbols +// to avoid compilation issues. +#define FORBIDDEN_SYMBOL_ALLOW_ALL +#include "common/scummsys.h" + +#ifdef USE_PNG +#include +#endif + +#include "image/png.h" + +#include "graphics/pixelformat.h" +#include "graphics/surface.h" + +#include "common/stream.h" + +namespace Image { + +PNGDecoder::PNGDecoder() : _outputSurface(0), _palette(0), _paletteColorCount(0), _stream(0) { +} + +PNGDecoder::~PNGDecoder() { + destroy(); +} + +void PNGDecoder::destroy() { + if (_outputSurface) { + _outputSurface->free(); + delete _outputSurface; + _outputSurface = 0; + } + delete[] _palette; + _palette = NULL; +} + +#ifdef USE_PNG +// libpng-error-handling: +void pngError(png_structp pngptr, png_const_charp errorMsg) { + error("%s", errorMsg); +} + +void pngWarning(png_structp pngptr, png_const_charp warningMsg) { + warning("%s", warningMsg); +} + +// libpng-I/O-helper: +void pngReadFromStream(png_structp pngPtr, png_bytep data, png_size_t length) { + void *readIOptr = png_get_io_ptr(pngPtr); + Common::SeekableReadStream *stream = (Common::SeekableReadStream *)readIOptr; + stream->read(data, length); +} +#endif + +/* + * This code is based on Broken Sword 2.5 engine + * + * Copyright (c) Malte Thiesen, Daniel Queteschiner and Michael Elsdoerfer + * + * Licensed under GNU GPL v2 + * + */ + +bool PNGDecoder::loadStream(Common::SeekableReadStream &stream) { +#ifdef USE_PNG + destroy(); + + _stream = &stream; + + // First, check the PNG signature + if (_stream->readUint32BE() != MKTAG(0x89, 'P', 'N', 'G')) { + delete _stream; + return false; + } + if (_stream->readUint32BE() != MKTAG(0x0d, 0x0a, 0x1a, 0x0a)) { + delete _stream; + return false; + } + + // The following is based on the guide provided in: + //http://www.libpng.org/pub/png/libpng-1.2.5-manual.html#section-3 + //http://www.libpng.org/pub/png/libpng-1.4.0-manual.pdf + // along with the png-loading code used in the sword25-engine. + png_structp pngPtr = png_create_read_struct(PNG_LIBPNG_VER_STRING, NULL, NULL, NULL); + if (!pngPtr) { + delete _stream; + return false; + } + png_infop infoPtr = png_create_info_struct(pngPtr); + if (!infoPtr) { + png_destroy_read_struct(&pngPtr, NULL, NULL); + delete _stream; + return false; + } + png_infop endInfo = png_create_info_struct(pngPtr); + if (!endInfo) { + png_destroy_read_struct(&pngPtr, &infoPtr, NULL); + delete _stream; + return false; + } + + png_set_error_fn(pngPtr, NULL, pngError, pngWarning); + // TODO: The manual says errors should be handled via setjmp + + png_set_read_fn(pngPtr, _stream, pngReadFromStream); + png_set_crc_action(pngPtr, PNG_CRC_DEFAULT, PNG_CRC_WARN_USE); + // We already verified the PNG-header + png_set_sig_bytes(pngPtr, 8); + + // Read PNG header + png_read_info(pngPtr, infoPtr); + + // No handling for unknown chunks yet. + int bitDepth, colorType, width, height, interlaceType; + png_uint_32 w, h; + png_get_IHDR(pngPtr, infoPtr, &w, &h, &bitDepth, &colorType, &interlaceType, NULL, NULL); + width = w; + height = h; + + // Allocate memory for the final image data. + // To keep memory framentation low this happens before allocating memory for temporary image data. + _outputSurface = new Graphics::Surface(); + + // Images of all color formats except PNG_COLOR_TYPE_PALETTE + // will be transformed into ARGB images + if (colorType == PNG_COLOR_TYPE_PALETTE && !png_get_valid(pngPtr, infoPtr, PNG_INFO_tRNS)) { + int numPalette = 0; + png_colorp palette = NULL; + uint32 success = png_get_PLTE(pngPtr, infoPtr, &palette, &numPalette); + if (success != PNG_INFO_PLTE) { + png_destroy_read_struct(&pngPtr, &infoPtr, NULL); + return false; + } + _paletteColorCount = numPalette; + _palette = new byte[_paletteColorCount * 3]; + for (int i = 0; i < _paletteColorCount; i++) { + _palette[(i * 3)] = palette[i].red; + _palette[(i * 3) + 1] = palette[i].green; + _palette[(i * 3) + 2] = palette[i].blue; + + } + _outputSurface->create(width, height, Graphics::PixelFormat::createFormatCLUT8()); + png_set_packing(pngPtr); + } else { + bool isAlpha = (colorType & PNG_COLOR_MASK_ALPHA); + if (png_get_valid(pngPtr, infoPtr, PNG_INFO_tRNS)) { + isAlpha = true; + png_set_expand(pngPtr); + } + _outputSurface->create(width, height, Graphics::PixelFormat(4, + 8, 8, 8, isAlpha ? 8 : 0, 24, 16, 8, 0)); + if (!_outputSurface->getPixels()) { + error("Could not allocate memory for output image."); + } + if (bitDepth == 16) + png_set_strip_16(pngPtr); + if (bitDepth < 8) + png_set_expand(pngPtr); + if (colorType == PNG_COLOR_TYPE_GRAY || + colorType == PNG_COLOR_TYPE_GRAY_ALPHA) + png_set_gray_to_rgb(pngPtr); + + // PNGs are Big-Endian: +#ifdef SCUMM_LITTLE_ENDIAN + png_set_bgr(pngPtr); + png_set_swap_alpha(pngPtr); + if (colorType != PNG_COLOR_TYPE_RGB_ALPHA) + png_set_filler(pngPtr, 0xff, PNG_FILLER_BEFORE); +#else + if (colorType != PNG_COLOR_TYPE_RGB_ALPHA) + png_set_filler(pngPtr, 0xff, PNG_FILLER_AFTER); +#endif + + } + + // After the transformations have been registered, the image data is read again. + png_set_interlace_handling(pngPtr); + png_read_update_info(pngPtr, infoPtr); + png_get_IHDR(pngPtr, infoPtr, &w, &h, &bitDepth, &colorType, NULL, NULL, NULL); + width = w; + height = h; + + if (interlaceType == PNG_INTERLACE_NONE) { + // PNGs without interlacing can simply be read row by row. + for (int i = 0; i < height; i++) { + png_read_row(pngPtr, (png_bytep)_outputSurface->getBasePtr(0, i), NULL); + } + } else { + // PNGs with interlacing require us to allocate an auxillary + // buffer with pointers to all row starts. + + // Allocate row pointer buffer + png_bytep *rowPtr = new png_bytep[height]; + if (!rowPtr) { + error("Could not allocate memory for row pointers."); + } + + // Initialize row pointers + for (int i = 0; i < height; i++) + rowPtr[i] = (png_bytep)_outputSurface->getBasePtr(0, i); + + // Read image data + png_read_image(pngPtr, rowPtr); + + // Free row pointer buffer + delete[] rowPtr; + } + + // Read additional data at the end. + png_read_end(pngPtr, NULL); + + // Destroy libpng structures + png_destroy_read_struct(&pngPtr, &infoPtr, &endInfo); + + // We no longer need the file stream, thus close it here + _stream = 0; + + return true; +#else + return false; +#endif +} + +} // End of namespace Image diff --git a/image/png.h b/image/png.h new file mode 100644 index 0000000000..c4532fd03b --- /dev/null +++ b/image/png.h @@ -0,0 +1,68 @@ +/* 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. + * + */ + +/* + * PNG decoder used in engines: + * - sword25 + * - wintermute + * Dependencies: + * - libpng + */ + +#ifndef IMAGE_PNG_H +#define IMAGE_PNG_H + +#include "common/scummsys.h" +#include "common/textconsole.h" +#include "image/image_decoder.h" + +namespace Common { +class SeekableReadStream; +} + +namespace Graphics { +struct Surface; +} + +namespace Image { + +class PNGDecoder : public ImageDecoder { +public: + PNGDecoder(); + ~PNGDecoder(); + + bool loadStream(Common::SeekableReadStream &stream); + void destroy(); + const Graphics::Surface *getSurface() const { return _outputSurface; } + const byte *getPalette() const { return _palette; } + uint16 getPaletteColorCount() const { return _paletteColorCount; } +private: + Common::SeekableReadStream *_stream; + byte *_palette; + uint16 _paletteColorCount; + + Graphics::Surface *_outputSurface; +}; + +} // End of namespace Image + +#endif diff --git a/image/tga.cpp b/image/tga.cpp new file mode 100644 index 0000000000..e251f64677 --- /dev/null +++ b/image/tga.cpp @@ -0,0 +1,430 @@ +/* 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. + * + */ + +/* Based on code from xoreos https://github.com/DrMcCoy/xoreos/ + * relicensed under GPLv2+ with permission from DrMcCoy and clone2727 + */ + +#include "image/tga.h" + +#include "common/util.h" +#include "common/stream.h" +#include "common/textconsole.h" +#include "common/error.h" + +namespace Image { + +TGADecoder::TGADecoder() { + _colorMapSize = 0; + _colorMapOrigin = 0; + _colorMapLength = 0; + _colorMapEntryLength = 0; + _colorMap = NULL; +} + +TGADecoder::~TGADecoder() { + destroy(); +} + +void TGADecoder::destroy() { + _surface.free(); + delete[] _colorMap; +} + +bool TGADecoder::loadStream(Common::SeekableReadStream &tga) { + destroy(); + + byte imageType, pixelDepth; + bool success; + success = readHeader(tga, imageType, pixelDepth); + if (success) { + switch (imageType) { + case TYPE_BW: + case TYPE_TRUECOLOR: + success = readData(tga, imageType, pixelDepth); + break; + case TYPE_RLE_BW: + case TYPE_RLE_TRUECOLOR: + case TYPE_RLE_CMAP: + success = readDataRLE(tga, imageType, pixelDepth); + break; + case TYPE_CMAP: + success = readDataColorMapped(tga, imageType, pixelDepth); + break; + default: + success = false; + break; + } + } + if (tga.err() || !success) { + warning("Failed reading TGA-file"); + return false; + } + return success; +} + +bool TGADecoder::readHeader(Common::SeekableReadStream &tga, byte &imageType, byte &pixelDepth) { + if (!tga.seek(0)) { + warning("Failed reading TGA-file"); + return false; + } + + // TGAs have an optional "id" string in the header + uint32 idLength = tga.readByte(); + + // Number of colors in the color map / palette + int hasColorMap = tga.readByte(); + + // Image type. See header for numeric constants + imageType = tga.readByte(); + + switch (imageType) { + case TYPE_CMAP: + case TYPE_TRUECOLOR: + case TYPE_BW: + case TYPE_RLE_CMAP: + case TYPE_RLE_TRUECOLOR: + case TYPE_RLE_BW: + break; + default: + warning("Unsupported image type: %d", imageType); + return false; + } + + // Color map specifications + if (hasColorMap == 0) { + tga.skip(5); + } else { + _colorMapOrigin = tga.readUint16LE(); + _colorMapLength = tga.readUint16LE(); + _colorMapEntryLength = tga.readByte(); + } + // Origin-defintions + tga.skip(2 + 2); + + // Image dimensions + _surface.w = tga.readUint16LE(); + _surface.h = tga.readUint16LE(); + + // Bits per pixel + pixelDepth = tga.readByte(); + _surface.format.bytesPerPixel = pixelDepth / 8; + + // Image descriptor + byte imgDesc = tga.readByte(); + int attributeBits = imgDesc & 0x0F; + assert((imgDesc & 0x10) == 0); + _originTop = (imgDesc & 0x20); + + // Interleaving is not handled at this point + //int interleave = (imgDesc & 0xC); + if (imageType == TYPE_CMAP || imageType == TYPE_RLE_CMAP) { + if (pixelDepth == 8) { + _format = Graphics::PixelFormat::createFormatCLUT8(); + } else { + warning("Unsupported index-depth: %d", pixelDepth); + return false; + } + } else if (imageType == TYPE_TRUECOLOR || imageType == TYPE_RLE_TRUECOLOR) { + if (pixelDepth == 24) { + _format = Graphics::PixelFormat(3, 8, 8, 8, 0, 16, 8, 0, 0); + } else if (pixelDepth == 32) { + // HACK: According to the spec, attributeBits should determine the amount + // of alpha-bits, however, as the game files that use this decoder seems + // to ignore that fact, we force the amount to 8 for 32bpp files for now. + _format = Graphics::PixelFormat(4, 8, 8, 8, /* attributeBits */ 8, 16, 8, 0, 24); + } else if (pixelDepth == 16 && imageType == TYPE_TRUECOLOR) { + // 16bpp TGA is ARGB1555 + _format = Graphics::PixelFormat(2, 5, 5, 5, attributeBits, 10, 5, 0, 15); + } else { + warning("Unsupported pixel depth: %d, %d", imageType, pixelDepth); + return false; + } + } else if (imageType == TYPE_BW || TYPE_RLE_BW) { + if (pixelDepth == 8) { + _format = Graphics::PixelFormat(4, 8, 8, 8, 0, 16, 8, 0, 0); + } else { + warning("Unsupported pixel depth: %d, %d", imageType, pixelDepth); + return false; + } + + } else { + warning("Unsupported image type: %d", imageType); + return false; + } + + // Skip the id string + tga.skip(idLength); + + if (hasColorMap) { + return readColorMap(tga, imageType, pixelDepth); + } + return true; +} + +bool TGADecoder::readColorMap(Common::SeekableReadStream &tga, byte imageType, byte pixelDepth) { + _colorMap = new byte[3 * _colorMapLength]; + for (int i = 0; i < _colorMapLength * 3; i += 3) { + byte r, g, b; + if (_colorMapEntryLength == 32) { + byte a; + Graphics::PixelFormat format(4, 8, 8, 8, 0, 16, 8, 0, 24); + uint32 color = tga.readUint32LE(); + format.colorToARGB(color, a, r, g, b); + } else if (_colorMapEntryLength == 24) { + r = tga.readByte(); + g = tga.readByte(); + b = tga.readByte(); + } else if (_colorMapEntryLength == 16) { + byte a; + Graphics::PixelFormat format(2, 5, 5, 5, 0, 10, 5, 0, 15); + uint16 color = tga.readUint16LE(); + format.colorToARGB(color, a, r, g, b); + } else { + warning("Unsupported image type: %d", imageType); + r = g = b = 0; + } +#ifdef SCUMM_LITTLE_ENDIAN + _colorMap[i] = r; + _colorMap[i + 1] = g; + _colorMap[i + 2] = b; +#else + _colorMap[i] = b; + _colorMap[i + 1] = g; + _colorMap[i + 2] = r; +#endif + } + return true; +} + +// Additional information found from http://paulbourke.net/dataformats/tga/ +// With some details from the link referenced in the header. +bool TGADecoder::readData(Common::SeekableReadStream &tga, byte imageType, byte pixelDepth) { + // TrueColor + if (imageType == TYPE_TRUECOLOR) { + _surface.create(_surface.w, _surface.h, _format); + + if (pixelDepth == 16) { + for (int i = 0; i < _surface.h; i++) { + uint16 *dst; + if (!_originTop) { + dst = (uint16 *)_surface.getBasePtr(0, _surface.h - i - 1); + } else { + dst = (uint16 *)_surface.getBasePtr(0, i); + } + for (int j = 0; j < _surface.w; j++) { + *dst++ = tga.readUint16LE(); + } + } + } else if (pixelDepth == 32) { + for (int i = 0; i < _surface.h; i++) { + uint32 *dst; + if (!_originTop) { + dst = (uint32 *)_surface.getBasePtr(0, _surface.h - i - 1); + } else { + dst = (uint32 *)_surface.getBasePtr(0, i); + } + for (int j = 0; j < _surface.w; j++) { + *dst++ = tga.readUint32LE(); + } + } + } else if (pixelDepth == 24) { + for (int i = 0; i < _surface.h; i++) { + byte *dst; + if (!_originTop) { + dst = (byte *)_surface.getBasePtr(0, _surface.h - i - 1); + } else { + dst = (byte *)_surface.getBasePtr(0, i); + } + for (int j = 0; j < _surface.w; j++) { + byte r = tga.readByte(); + byte g = tga.readByte(); + byte b = tga.readByte(); +#ifdef SCUMM_LITTLE_ENDIAN + *dst++ = r; + *dst++ = g; + *dst++ = b; +#else + *dst++ = b; + *dst++ = g; + *dst++ = r; +#endif + } + } + } + // Black/White + } else if (imageType == TYPE_BW) { + _surface.create(_surface.w, _surface.h, _format); + + byte *data = (byte *)_surface.getPixels(); + uint32 count = _surface.w * _surface.h; + + while (count-- > 0) { + byte g = tga.readByte(); + *data++ = g; + *data++ = g; + *data++ = g; + *data++ = g; + } + } + return true; +} + +bool TGADecoder::readDataColorMapped(Common::SeekableReadStream &tga, byte imageType, byte indexDepth) { + // Color-mapped + if (imageType == TYPE_CMAP) { + _surface.create(_surface.w, _surface.h, _format); + if (indexDepth == 8) { + for (int i = 0; i < _surface.h; i++) { + byte *dst; + if (!_originTop) { + dst = (byte *)_surface.getBasePtr(0, _surface.h - i - 1); + } else { + dst = (byte *)_surface.getBasePtr(0, i); + } + for (int j = 0; j < _surface.w; j++) { + byte index = tga.readByte(); + *dst++ = index; + } + } + } else if (indexDepth == 16) { + warning("16 bit indexes not supported"); + return false; + } + } else { + return false; + } + return true; +} + +bool TGADecoder::readDataRLE(Common::SeekableReadStream &tga, byte imageType, byte pixelDepth) { + // RLE-TrueColor / RLE-Black/White + if (imageType == TYPE_RLE_TRUECOLOR || imageType == TYPE_RLE_BW || imageType == TYPE_RLE_CMAP) { + _surface.create(_surface.w, _surface.h, _format); + uint32 count = _surface.w * _surface.h; + byte *data = (byte *)_surface.getPixels(); + + while (count > 0) { + uint32 header = tga.readByte(); + byte type = (header & 0x80) >> 7; + uint32 rleCount = (header & 0x7F) + 1; + + // RLE-packet + if (type == 1) { + if (pixelDepth == 32 && imageType == TYPE_RLE_TRUECOLOR) { + uint32 color = tga.readUint32LE(); + while (rleCount-- > 0) { + *((uint32 *)data) = color; + data += 4; + count--; + } + } else if (pixelDepth == 24 && imageType == TYPE_RLE_TRUECOLOR) { + byte r = tga.readByte(); + byte g = tga.readByte(); + byte b = tga.readByte(); + while (rleCount-- > 0) { +#ifdef SCUMM_LITTLE_ENDIAN + *data++ = r; + *data++ = g; + *data++ = b; +#else + *data++ = b; + *data++ = g; + *data++ = r; +#endif + count--; + } + } else if (pixelDepth == 8 && imageType == TYPE_RLE_BW) { + byte color = tga.readByte(); + while (rleCount-- > 0) { + *data++ = color; + *data++ = color; + *data++ = color; + *data++ = color; + count--; + } + } else if (pixelDepth == 8 && imageType == TYPE_RLE_CMAP) { + byte index = tga.readByte(); + while (rleCount-- > 0) { + *data++ = index; + count--; + } + } else { + warning("Unhandled pixel-depth for image-type 10"); + return false; + } + // Raw-packet + } else if (type == 0) { + if (pixelDepth == 32 && imageType == TYPE_RLE_TRUECOLOR) { + while (rleCount-- > 0) { + uint32 color = tga.readUint32LE(); + *((uint32 *)data) = color; + data += 4; + count--; + } + } else if (pixelDepth == 24 && imageType == TYPE_RLE_TRUECOLOR) { + while (rleCount-- > 0) { + byte r = tga.readByte(); + byte g = tga.readByte(); + byte b = tga.readByte(); +#ifdef SCUMM_LITTLE_ENDIAN + *data++ = r; + *data++ = g; + *data++ = b; +#else + *data++ = b; + *data++ = g; + *data++ = r; +#endif + count--; + } + } else if (pixelDepth == 8 && imageType == TYPE_RLE_BW) { + while (rleCount-- > 0) { + byte color = tga.readByte(); + *data++ = color; + *data++ = color; + *data++ = color; + *data++ = color; + count--; + } + } else if (pixelDepth == 8 && imageType == TYPE_RLE_CMAP) { + while (rleCount-- > 0) { + byte index = tga.readByte(); + *data++ = index; + count--; + } + } else { + warning("Unhandled pixel-depth for image-type 10"); + return false; + } + } else { + warning("Unknown header for RLE-packet %d", type); + return false; + } + } + } else { + return false; + } + return true; +} + +} // End of namespace Image diff --git a/image/tga.h b/image/tga.h new file mode 100644 index 0000000000..677c17834f --- /dev/null +++ b/image/tga.h @@ -0,0 +1,100 @@ +/* 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. + * + */ + +/* Based on code from eos https://github.com/DrMcCoy/xoreos/ + * relicensed under GPLv2+ with permission from DrMcCoy and clone2727 + */ + +/* + * TGA decoder used in engines: + * - wintermute + * - zvision + */ + +#ifndef IMAGE_TGA_H +#define IMAGE_TGA_H + +#include "graphics/surface.h" +#include "image/image_decoder.h" + +namespace Common { +class SeekableReadStream; +} + +namespace Image { + +/** TarGa image-decoder + * The following variations of TGA are supported: + * - Type 1 - Color-mapped images in 16/24/32 bpp with 8 bit indexes + * - Type 2 - 16/24/32 bpp Top AND Bottom origined. + * - Type 3 - Black/White images, 8bpp. + * - Type 9 - RLE-encoded color-mapped images. (8 bit indexes only) + * - Type 10 - RLE-encoded TrueColor, 24/32bpp. + * - Type 11 - RLE-encoded Black/White, 8bpp. + * + * No images are returned with a palette, instead they are converted + * to 16 bpp for Type 1, or 32 bpp for Black/White-images. + */ +class TGADecoder : public ImageDecoder { +public: + TGADecoder(); + virtual ~TGADecoder(); + virtual void destroy(); + virtual const Graphics::Surface *getSurface() const { return &_surface; } + virtual const byte *getPalette() const { return _colorMap; } + virtual uint16 getPaletteColorCount() const { return _colorMapLength; } + virtual bool loadStream(Common::SeekableReadStream &stream); +private: + // Format-spec from: + //http://www.ludorg.net/amnesia/TGA_File_Format_Spec.html + enum { + TYPE_CMAP = 1, + TYPE_TRUECOLOR = 2, + TYPE_BW = 3, + TYPE_RLE_CMAP = 9, + TYPE_RLE_TRUECOLOR = 10, + TYPE_RLE_BW = 11 + }; + + // Color-map: + bool _colorMapSize; + byte *_colorMap; + int16 _colorMapOrigin; + int16 _colorMapLength; + byte _colorMapEntryLength; + + // Origin may be at the top, or bottom + bool _originTop; + + Graphics::PixelFormat _format; + Graphics::Surface _surface; + // Loading helpers + bool readHeader(Common::SeekableReadStream &tga, byte &imageType, byte &pixelDepth); + bool readData(Common::SeekableReadStream &tga, byte imageType, byte pixelDepth); + bool readDataColorMapped(Common::SeekableReadStream &tga, byte imageType, byte indexDepth); + bool readDataRLE(Common::SeekableReadStream &tga, byte imageType, byte pixelDepth); + bool readColorMap(Common::SeekableReadStream &tga, byte imageType, byte pixelDepth); +}; + +} // End of namespace Image + +#endif diff --git a/video/codecs/jpeg.cpp b/video/codecs/jpeg.cpp index a5d29ceead..77917f37a2 100644 --- a/video/codecs/jpeg.cpp +++ b/video/codecs/jpeg.cpp @@ -23,7 +23,7 @@ #include "common/system.h" #include "common/textconsole.h" #include "graphics/surface.h" -#include "graphics/decoders/jpeg.h" +#include "image/jpeg.h" #include "video/codecs/jpeg.h" @@ -46,7 +46,7 @@ JPEGDecoder::~JPEGDecoder() { } const Graphics::Surface *JPEGDecoder::decodeImage(Common::SeekableReadStream *stream) { - Graphics::JPEGDecoder jpeg; + Image::JPEGDecoder jpeg; if (!jpeg.loadStream(*stream)) { warning("Failed to decode JPEG frame"); diff --git a/video/codecs/mjpeg.cpp b/video/codecs/mjpeg.cpp index 443a06ee5a..16fb4f369e 100644 --- a/video/codecs/mjpeg.cpp +++ b/video/codecs/mjpeg.cpp @@ -29,7 +29,7 @@ #include "common/system.h" #include "common/textconsole.h" #include "graphics/surface.h" -#include "graphics/decoders/jpeg.h" +#include "image/jpeg.h" #include "video/codecs/mjpeg.h" @@ -197,7 +197,7 @@ const Graphics::Surface *MJPEGDecoder::decodeImage(Common::SeekableReadStream *s stream->read(data + dataOffset, stream->size() - inputSkip); Common::MemoryReadStream convertedStream(data, outputSize, DisposeAfterUse::YES); - Graphics::JPEGDecoder jpeg; + Image::JPEGDecoder jpeg; if (!jpeg.loadStream(convertedStream)) { warning("Failed to decode MJPEG frame"); -- cgit v1.2.3 From b568ac73b9d2e063eb04693e4610a9932035b696 Mon Sep 17 00:00:00 2001 From: Matthew Hoops Date: Thu, 27 Feb 2014 21:27:23 -0500 Subject: IMAGE: Move video codecs to image/ --- image/codecs/cdtoons.cpp | 448 ++++++ image/codecs/cdtoons.h | 72 + image/codecs/cinepak.cpp | 309 ++++ image/codecs/cinepak.h | 89 + image/codecs/codec.h | 82 + image/codecs/indeo3.cpp | 3487 ++++++++++++++++++++++++++++++++++++++++ image/codecs/indeo3.h | 94 ++ image/codecs/jpeg.cpp | 66 + image/codecs/jpeg.h | 60 + image/codecs/mjpeg.cpp | 217 +++ image/codecs/mjpeg.h | 60 + image/codecs/mpeg.cpp | 107 ++ image/codecs/mpeg.h | 98 ++ image/codecs/msrle.cpp | 132 ++ image/codecs/msrle.h | 54 + image/codecs/msvideo1.cpp | 139 ++ image/codecs/msvideo1.h | 55 + image/codecs/qtrle.cpp | 431 +++++ image/codecs/qtrle.h | 60 + image/codecs/rpza.cpp | 201 +++ image/codecs/rpza.h | 51 + image/codecs/smc.cpp | 389 +++++ image/codecs/smc.h | 62 + image/codecs/svq1.cpp | 797 +++++++++ image/codecs/svq1.h | 88 + image/codecs/svq1_cb.h | 1511 +++++++++++++++++ image/codecs/svq1_vlc.h | 341 ++++ image/codecs/truemotion1.cpp | 422 +++++ image/codecs/truemotion1.h | 109 ++ image/codecs/truemotion1data.h | 829 ++++++++++ image/module.mk | 19 +- video/avi_decoder.cpp | 30 +- video/avi_decoder.h | 10 +- video/codecs/cdtoons.cpp | 448 ------ video/codecs/cdtoons.h | 72 - video/codecs/cinepak.cpp | 309 ---- video/codecs/cinepak.h | 89 - video/codecs/codec.h | 82 - video/codecs/indeo3.cpp | 3487 ---------------------------------------- video/codecs/indeo3.h | 94 -- video/codecs/jpeg.cpp | 66 - video/codecs/jpeg.h | 60 - video/codecs/mjpeg.cpp | 217 --- video/codecs/mjpeg.h | 60 - video/codecs/mpeg.cpp | 107 -- video/codecs/mpeg.h | 98 -- video/codecs/msrle.cpp | 132 -- video/codecs/msrle.h | 54 - video/codecs/msvideo1.cpp | 139 -- video/codecs/msvideo1.h | 55 - video/codecs/qtrle.cpp | 431 ----- video/codecs/qtrle.h | 60 - video/codecs/rpza.cpp | 201 --- video/codecs/rpza.h | 51 - video/codecs/smc.cpp | 389 ----- video/codecs/smc.h | 62 - video/codecs/svq1.cpp | 797 --------- video/codecs/svq1.h | 88 - video/codecs/svq1_cb.h | 1511 ----------------- video/codecs/svq1_vlc.h | 341 ---- video/codecs/truemotion1.cpp | 422 ----- video/codecs/truemotion1.h | 109 -- video/codecs/truemotion1data.h | 829 ---------- video/coktel_decoder.cpp | 5 +- video/coktel_decoder.h | 8 +- video/module.mk | 19 +- video/qt_decoder.cpp | 28 +- video/qt_decoder.h | 8 +- 68 files changed, 10926 insertions(+), 10921 deletions(-) create mode 100644 image/codecs/cdtoons.cpp create mode 100644 image/codecs/cdtoons.h create mode 100644 image/codecs/cinepak.cpp create mode 100644 image/codecs/cinepak.h create mode 100644 image/codecs/codec.h create mode 100644 image/codecs/indeo3.cpp create mode 100644 image/codecs/indeo3.h create mode 100644 image/codecs/jpeg.cpp create mode 100644 image/codecs/jpeg.h create mode 100644 image/codecs/mjpeg.cpp create mode 100644 image/codecs/mjpeg.h create mode 100644 image/codecs/mpeg.cpp create mode 100644 image/codecs/mpeg.h create mode 100644 image/codecs/msrle.cpp create mode 100644 image/codecs/msrle.h create mode 100644 image/codecs/msvideo1.cpp create mode 100644 image/codecs/msvideo1.h create mode 100644 image/codecs/qtrle.cpp create mode 100644 image/codecs/qtrle.h create mode 100644 image/codecs/rpza.cpp create mode 100644 image/codecs/rpza.h create mode 100644 image/codecs/smc.cpp create mode 100644 image/codecs/smc.h create mode 100644 image/codecs/svq1.cpp create mode 100644 image/codecs/svq1.h create mode 100644 image/codecs/svq1_cb.h create mode 100644 image/codecs/svq1_vlc.h create mode 100644 image/codecs/truemotion1.cpp create mode 100644 image/codecs/truemotion1.h create mode 100644 image/codecs/truemotion1data.h delete mode 100644 video/codecs/cdtoons.cpp delete mode 100644 video/codecs/cdtoons.h delete mode 100644 video/codecs/cinepak.cpp delete mode 100644 video/codecs/cinepak.h delete mode 100644 video/codecs/codec.h delete mode 100644 video/codecs/indeo3.cpp delete mode 100644 video/codecs/indeo3.h delete mode 100644 video/codecs/jpeg.cpp delete mode 100644 video/codecs/jpeg.h delete mode 100644 video/codecs/mjpeg.cpp delete mode 100644 video/codecs/mjpeg.h delete mode 100644 video/codecs/mpeg.cpp delete mode 100644 video/codecs/mpeg.h delete mode 100644 video/codecs/msrle.cpp delete mode 100644 video/codecs/msrle.h delete mode 100644 video/codecs/msvideo1.cpp delete mode 100644 video/codecs/msvideo1.h delete mode 100644 video/codecs/qtrle.cpp delete mode 100644 video/codecs/qtrle.h delete mode 100644 video/codecs/rpza.cpp delete mode 100644 video/codecs/rpza.h delete mode 100644 video/codecs/smc.cpp delete mode 100644 video/codecs/smc.h delete mode 100644 video/codecs/svq1.cpp delete mode 100644 video/codecs/svq1.h delete mode 100644 video/codecs/svq1_cb.h delete mode 100644 video/codecs/svq1_vlc.h delete mode 100644 video/codecs/truemotion1.cpp delete mode 100644 video/codecs/truemotion1.h delete mode 100644 video/codecs/truemotion1data.h diff --git a/image/codecs/cdtoons.cpp b/image/codecs/cdtoons.cpp new file mode 100644 index 0000000000..e1246a034f --- /dev/null +++ b/image/codecs/cdtoons.cpp @@ -0,0 +1,448 @@ +/* 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 "image/codecs/cdtoons.h" +#include "common/rect.h" +#include "common/stream.h" +#include "common/textconsole.h" +#include "common/array.h" + +namespace Image { + +struct CDToonsAction { + uint16 blockId; + Common::Rect rect; +}; + +struct CDToonsDiff { + byte *data; + uint32 size; + Common::Rect rect; +}; + +static Common::Rect readRect(Common::SeekableReadStream *stream) { + Common::Rect rect; + rect.top = stream->readUint16BE(); + rect.left = stream->readUint16BE(); + rect.bottom = stream->readUint16BE(); + rect.right = stream->readUint16BE(); + return rect; +} + +CDToonsDecoder::CDToonsDecoder(uint16 width, uint16 height) { + debugN(5, "CDToons: width %d, height %d\n", width, height); + + _surface = new Graphics::Surface(); + _surface->create(width, height, Graphics::PixelFormat::createFormatCLUT8()); + + _currentPaletteId = 0; + memset(_palette, 0, 256 * 3); + _dirtyPalette = false; +} + +CDToonsDecoder::~CDToonsDecoder() { + _surface->free(); + delete _surface; + + for (Common::HashMap::iterator i = _blocks.begin(); i != _blocks.end(); i++) + delete[] i->_value.data; +} + +Graphics::Surface *CDToonsDecoder::decodeImage(Common::SeekableReadStream *stream) { + uint16 u0 = stream->readUint16BE(); // always 9? + uint16 frameId = stream->readUint16BE(); + uint16 blocksValidUntil = stream->readUint16BE(); + byte u6 = stream->readByte(); + byte backgroundColor = stream->readByte(); + debugN(5, "CDToons frame %d, size %d, unknown %04x (at 0), blocks valid until %d, unknown 6 is %02x, bkg color is %02x\n", + frameId, stream->size(), u0, blocksValidUntil, u6, backgroundColor); + + Common::Rect clipRect = readRect(stream); + debugN(9, "CDToons clipRect: (%d, %d) to (%d, %d)\n", + clipRect.left, clipRect.top, clipRect.right, clipRect.bottom); + + Common::Rect dirtyRect = readRect(stream); + debugN(9, "CDToons dirtyRect: (%d, %d) to (%d, %d)\n", + dirtyRect.left, dirtyRect.top, dirtyRect.right, dirtyRect.bottom); + + uint32 flags = stream->readUint32BE(); + if (flags & 0x80) + error("CDToons: frame already processed?"); + debugN(5, "CDToons flags: %08x\n", flags); + + uint16 blockCount = stream->readUint16BE(); + uint16 blockOffset = stream->readUint16BE(); + debugN(9, "CDToons: %d blocks at 0x%04x\n", + blockCount, blockOffset); + + // max block id? + uint16 u32 = stream->readUint16BE(); + debugN(5, "CDToons unknown at 32: %04x\n", u32); + + byte actionCount = stream->readByte(); + byte u35 = stream->readByte(); + + uint16 paletteId = stream->readUint16BE(); + byte paletteSet = stream->readByte(); + debugN(9, "CDToons palette id %04x, palette byte %02x\n", + paletteId, paletteSet); + + byte u39 = stream->readByte(); + uint16 u40 = stream->readUint16BE(); + uint16 u42 = stream->readUint16BE(); + debugN(5, "CDToons: unknown at 35 is %02x, unknowns at 39: %02x, %04x, %04x\n", + u35, u39, u40, u42); + + Common::Array actions; + + for (uint i = 0; i < actionCount; i++) { + CDToonsAction action; + action.blockId = stream->readUint16BE(); + action.rect = readRect(stream); + debugN(9, "CDToons action: render block %d at (%d, %d) to (%d, %d)\n", + action.blockId, action.rect.left, action.rect.top, action.rect.right, action.rect.bottom); + actions.push_back(action); + } + + if (stream->pos() > blockOffset) + error("CDToons header ended at 0x%08x, but blocks should have started at 0x%08x", + stream->pos(), blockOffset); + + if (stream->pos() != blockOffset) + error("CDToons had %d unknown bytes after header", blockOffset - stream->pos()); + + for (uint i = 0; i < blockCount; i++) { + uint16 blockId = stream->readUint16BE(); + if (blockId >= 1200) + error("CDToons: block id %d was too high", blockId); + if (_blocks.contains(blockId)) + error("CDToons: new block %d was already seen", blockId); + + CDToonsBlock block; + block.flags = stream->readUint16BE(); + // flag 1 = palette, flag 2 = data? + if (block.flags & 0x8000) + error("CDToons: block already processed?"); + block.size = stream->readUint32BE(); + if (block.size < 14) + error("CDToons: block size was %d, too small", block.size); + block.size -= 14; + block.startFrame = stream->readUint16BE(); + block.endFrame = stream->readUint16BE(); + block.unknown12 = stream->readUint16BE(); + block.data = new byte[block.size]; + stream->read(block.data, block.size); + + debugN(9, "CDToons block id 0x%04x of size 0x%08x, flags %04x, from frame %d to %d, unknown at 12 is %04x\n", + blockId, block.size, block.flags, block.startFrame, block.endFrame, block.unknown12); + + _blocks[blockId] = block; + } + + byte xFrmBegin = 0, xFrmCount; + Common::Array diffs; + + while (true) { + int32 nextPos = stream->pos(); + uint32 tag = stream->readUint32BE(); + uint32 size = stream->readUint32BE(); + nextPos += size; + + switch (tag) { + case MKTAG('D','i','f','f'): + { + debugN(5, "CDToons: Diff\n"); + uint16 count = stream->readUint16BE(); + + Common::Rect diffClipRect = readRect(stream); + debugN(9, "CDToons diffClipRect: (%d, %d) to (%d, %d)\n", + diffClipRect.left, diffClipRect.top, diffClipRect.right, diffClipRect.bottom); + + debugN(5, "CDToons Diff: %d subentries\n", count); + for (uint i = 0; i < count; i++) { + CDToonsDiff diff; + + diff.rect = readRect(stream); + diff.size = stream->readUint32BE(); + if (diff.size < 20) + error("CDToons: Diff block size was %d, too small", diff.size); + + uint16 diffWidth = stream->readUint16BE(); + uint16 diffHeight = stream->readUint16BE(); + uint16 unknown16 = stream->readUint16BE(); + uint16 unknown18 = stream->readUint16BE(); + diff.size -= 8; + + if (diffWidth != diff.rect.width() || diffHeight != diff.rect.height()) + error("CDToons: Diff sizes didn't match"); + debugN(5, "CDToons Diff: size %d, frame from (%d, %d) to (%d, %d), unknowns %04x, %04x\n", + diff.size, diff.rect.left, diff.rect.top, diff.rect.right, diff.rect.bottom, + unknown16, unknown18); + + diff.data = new byte[diff.size]; + stream->read(diff.data, diff.size); + diffs.push_back(diff); + } + } + break; + case MKTAG('X','F','r','m'): + { + debugN(5, "CDToons: XFrm\n"); + if (!(flags & 0x10)) + error("CDToons: useless XFrm?"); + + if (xFrmBegin) + error("CDToons: duplicate XFrm"); + xFrmBegin = stream->readByte(); + xFrmCount = stream->readByte(); + debugN(9, "CDToons XFrm: run %d actions from %d\n", xFrmCount, xFrmBegin - 1); + + // TODO: don't ignore (if xFrmCount is non-zero) + Common::Rect dirtyRectXFrm = readRect(stream); + debugN(9, "CDToons XFrm dirtyRect: (%d, %d) to (%d, %d)\n", + dirtyRectXFrm.left, dirtyRectXFrm.top, dirtyRectXFrm.right, dirtyRectXFrm.bottom); + + // always zero? + Common::Rect dirtyRect2XFrm = readRect(stream); + debugN(9, "CDToons XFrm dirtyRect2: (%d, %d) to (%d, %d)\n", + dirtyRect2XFrm.left, dirtyRect2XFrm.top, dirtyRect2XFrm.right, dirtyRect2XFrm.bottom); + } + break; + case MKTAG('M','r','k','s'): + debugN(5, "CDToons: Mrks\n"); + if (!(flags & 0x2)) + error("CDToons: useless Mrks?"); + + // TODO + warning("CDToons: encountered Mrks, not implemented yet"); + break; + case MKTAG('S','c','a','l'): + // TODO + warning("CDToons: encountered Scal, not implemented yet"); + break; + case MKTAG('W','r','M','p'): + warning("CDToons: encountered WrMp, ignoring"); + break; + case MKTAG('F','r','t','R'): + { + debugN(5, "CDToons: FrtR\n"); + if (!(flags & 0x40)) + error("CDToons: useless FrtR?"); + + uint16 count = stream->readUint16BE(); + debugN(9, "CDToons FrtR: %d dirty rectangles\n", count); + for (uint i = 0; i < count; i++) { + Common::Rect dirtyRectFrtR = readRect(stream); + debugN(9, "CDToons FrtR dirtyRect: (%d, %d) to (%d, %d)\n", + dirtyRectFrtR.left, dirtyRectFrtR.top, dirtyRectFrtR.right, dirtyRectFrtR.bottom); + } + } + break; + case MKTAG('B','c','k','R'): + { + debugN(5, "CDToons: BckR\n"); + if (!(flags & 0x20)) + error("CDToons: useless BckR?"); + + uint16 count = stream->readUint16BE(); + debugN(9, "CDToons BckR: %d subentries\n", count); + for (uint i = 0; i < count; i++) { + Common::Rect dirtyRectBckR = readRect(stream); + debugN(9, "CDToons BckR dirtyRect: (%d, %d) to (%d, %d)\n", + dirtyRectBckR.left, dirtyRectBckR.top, dirtyRectBckR.right, dirtyRectBckR.bottom); + } + } + break; + default: + warning("Unknown CDToons tag '%s'", tag2str(tag)); + } + + if (stream->pos() > nextPos) + error("CDToons ran off the end of a block while reading it (at %d, next block at %d)", + stream->pos(), nextPos); + if (stream->pos() != nextPos) { + warning("CDToons had %d unknown bytes after block", nextPos - stream->pos()); + stream->seek(nextPos); + } + + if (stream->pos() == stream->size()) + break; + } + + for (uint i = 0; i < diffs.size(); i++) { + renderBlock(diffs[i].data, diffs[i].size, diffs[i].rect.left, diffs[i].rect.top, diffs[i].rect.width(), diffs[i].rect.height()); + delete[] diffs[i].data; + } + if (!diffs.empty()) + return _surface; + + for (uint i = 0; i < actions.size(); i++) { + CDToonsAction &action = actions[i]; + if (i == 0 && action.blockId == 0) + memset(_surface->getPixels(), backgroundColor, _surface->w * _surface->h); + if (!_blocks.contains(action.blockId)) + continue; + if (!action.rect.right) + continue; + if (i == 0 && !diffs.empty()) + continue; + + CDToonsBlock &block = _blocks[action.blockId]; + uint16 width = READ_BE_UINT16(block.data + 2); + uint16 height = READ_BE_UINT16(block.data); + + renderBlock(block.data + 14, block.size - 14, action.rect.left, action.rect.top, width, height); + } + + if (paletteId && _currentPaletteId != paletteId) { + if (!_blocks.contains(paletteId)) + error("CDToons: no block for palette %04x", paletteId); + if (_blocks[paletteId].size != 2 * 3 * 256) + error("CDToons: palette %04x is wrong size (%d)", paletteId, _blocks[paletteId].size); + + _currentPaletteId = paletteId; + if (!paletteSet) + setPalette(_blocks[paletteId].data); + } + + return _surface; +} + +void CDToonsDecoder::renderBlock(byte *data, uint dataSize, int destX, int destY, uint width, uint height) { + byte *currData = data; + byte *dataEnd = data + dataSize; + + debugN(9, "CDToons renderBlock at (%d, %d), width %d, height %d\n", + destX, destY, width, height); + + if (destX + width > _surface->w) + width = _surface->w - destX; + if (destY + height > _surface->h) + height = _surface->h - destY; + + uint skip = 0; + if (destX < 0) { + skip = -destX; + if (width <= skip) + return; + width -= skip; + destX = 0; + } + + for (uint y = 0; y < height; y++) { + if (destY + (int)y >= _surface->h) + break; + + if (currData + 2 > dataEnd) + error("CDToons renderBlock overran whole data by %d bytes", (uint32)(currData - dataEnd)); + + uint16 lineSize = READ_BE_UINT16(currData); + currData += 2; + byte *nextLine = currData + lineSize; + + if (nextLine > dataEnd) + error("CDToons renderBlock was going to overrun data by %d bytes (line size %d)", + (uint32)(nextLine - dataEnd), (uint32)(nextLine - currData)); + + if (destY + (int)y < 0) { + currData = nextLine; + continue; + } + + byte *pixels = (byte *)_surface->getBasePtr(destX, destY + y); + + int leftToSkip = skip; + uint x = 0; + bool done = false; + while (x < width && !done) { + int size = (uint)*currData; + currData++; + bool raw = !(size & 0x80); + size = (size & 0x7f) + 1; + + if (leftToSkip) { + if (leftToSkip >= size) { + leftToSkip -= size; + if (raw) + currData += size; + else + currData++; + continue; + } else { + size -= leftToSkip; + if (raw) + currData += leftToSkip; + leftToSkip = 0; + } + } + + if (x + size >= width) { + size = width - x; + done = true; + } + if (destX + (int)x + size >= (int)_surface->w) { + size = MIN((int)_surface->w - destX - (int)x, width - x); + done = true; + } + if (size <= 0) { + size = 0; + done = true; + } + + if (raw) { + memcpy(pixels + x, currData, size); + currData += size; + x += size; + } else { + byte color = *currData; + currData++; + if (color) { + memset(pixels + x, color, size); + } + x += size; + } + + if (currData > nextLine) { + warning("CDToons renderBlock overran line by %d bytes", (uint32)(currData - nextLine)); + return; + } + } + + currData = nextLine; + } +} + +void CDToonsDecoder::setPalette(byte *data) { + _dirtyPalette = true; + + // A lovely QuickTime palette + for (uint i = 0; i < 256; i++) { + _palette[i * 3] = *data; + _palette[i * 3 + 1] = *(data + 2); + _palette[i * 3 + 2] = *(data + 4); + data += 6; + } + + _palette[0] = _palette[1] = _palette[2] = 0; +} + +} // End of namespace Image diff --git a/image/codecs/cdtoons.h b/image/codecs/cdtoons.h new file mode 100644 index 0000000000..ac569b5307 --- /dev/null +++ b/image/codecs/cdtoons.h @@ -0,0 +1,72 @@ +/* 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. + * + */ + +#ifndef IMAGE_CODECS_CDTOONS_H +#define IMAGE_CODECS_CDTOONS_H + +#include "image/codecs/codec.h" + +#include "common/hashmap.h" + +namespace Image { + +struct CDToonsBlock { + uint16 flags; + uint32 size; + uint16 startFrame; + uint16 endFrame; + uint16 unknown12; + byte *data; +}; + +/** + * Broderbund CDToons decoder. + * + * Used in video: + * - QuickTimeDecoder + */ +class CDToonsDecoder : public Codec { +public: + CDToonsDecoder(uint16 width, uint16 height); + ~CDToonsDecoder(); + + Graphics::Surface *decodeImage(Common::SeekableReadStream *stream); + Graphics::PixelFormat getPixelFormat() const { return Graphics::PixelFormat::createFormatCLUT8(); } + bool containsPalette() const { return true; } + const byte *getPalette() { _dirtyPalette = false; return _palette; } + bool hasDirtyPalette() const { return _dirtyPalette; } + +private: + Graphics::Surface *_surface; + byte _palette[256 * 3]; + bool _dirtyPalette; + uint16 _currentPaletteId; + + Common::HashMap _blocks; + + void renderBlock(byte *data, uint size, int x, int y, uint width, uint height); + void setPalette(byte *data); +}; + +} // End of namespace Image + +#endif diff --git a/image/codecs/cinepak.cpp b/image/codecs/cinepak.cpp new file mode 100644 index 0000000000..6af7ab08ff --- /dev/null +++ b/image/codecs/cinepak.cpp @@ -0,0 +1,309 @@ +/* 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 "image/codecs/cinepak.h" + +#include "common/debug.h" +#include "common/stream.h" +#include "common/system.h" +#include "common/textconsole.h" +#include "common/util.h" + +#include "graphics/surface.h" + +// Code here partially based off of ffmpeg ;) + +namespace Image { + +#define PUT_PIXEL(offset, lum, u, v) \ + if (_pixelFormat.bytesPerPixel != 1) { \ + byte r = _clipTable[lum + (v << 1)]; \ + byte g = _clipTable[lum - (u >> 1) - v]; \ + byte b = _clipTable[lum + (u << 1)]; \ + \ + if (_pixelFormat.bytesPerPixel == 2) \ + *((uint16 *)_curFrame.surface->getPixels() + offset) = _pixelFormat.RGBToColor(r, g, b); \ + else \ + *((uint32 *)_curFrame.surface->getPixels() + offset) = _pixelFormat.RGBToColor(r, g, b); \ + } else \ + *((byte *)_curFrame.surface->getPixels() + offset) = lum + +CinepakDecoder::CinepakDecoder(int bitsPerPixel) : Codec() { + _curFrame.surface = NULL; + _curFrame.strips = NULL; + _y = 0; + + if (bitsPerPixel == 8) + _pixelFormat = Graphics::PixelFormat::createFormatCLUT8(); + else + _pixelFormat = g_system->getScreenFormat(); + + // Create a lookup for the clip function + // This dramatically improves the performance of the color conversion + _clipTableBuf = new byte[1024]; + + for (uint i = 0; i < 1024; i++) { + if (i <= 512) + _clipTableBuf[i] = 0; + else if (i >= 768) + _clipTableBuf[i] = 255; + else + _clipTableBuf[i] = i - 512; + } + + _clipTable = _clipTableBuf + 512; +} + +CinepakDecoder::~CinepakDecoder() { + if (_curFrame.surface) { + _curFrame.surface->free(); + delete _curFrame.surface; + } + + delete[] _curFrame.strips; + delete[] _clipTableBuf; +} + +const Graphics::Surface *CinepakDecoder::decodeImage(Common::SeekableReadStream *stream) { + _curFrame.flags = stream->readByte(); + _curFrame.length = (stream->readByte() << 16); + _curFrame.length |= stream->readUint16BE(); + _curFrame.width = stream->readUint16BE(); + _curFrame.height = stream->readUint16BE(); + _curFrame.stripCount = stream->readUint16BE(); + + if (_curFrame.strips == NULL) + _curFrame.strips = new CinepakStrip[_curFrame.stripCount]; + + debug(4, "Cinepak Frame: Width = %d, Height = %d, Strip Count = %d", _curFrame.width, _curFrame.height, _curFrame.stripCount); + + // Borrowed from FFMPEG. This should cut out the extra data Cinepak for Sega has (which is useless). + // The theory behind this is that this is here to confuse standard Cinepak decoders. But, we won't let that happen! ;) + if (_curFrame.length != (uint32)stream->size()) { + if (stream->readUint16BE() == 0xFE00) + stream->readUint32BE(); + else if ((stream->size() % _curFrame.length) == 0) + stream->seek(-2, SEEK_CUR); + } + + if (!_curFrame.surface) { + _curFrame.surface = new Graphics::Surface(); + _curFrame.surface->create(_curFrame.width, _curFrame.height, _pixelFormat); + } + + // Reset the y variable. + _y = 0; + + for (uint16 i = 0; i < _curFrame.stripCount; i++) { + if (i > 0 && !(_curFrame.flags & 1)) { // Use codebooks from last strip + for (uint16 j = 0; j < 256; j++) { + _curFrame.strips[i].v1_codebook[j] = _curFrame.strips[i - 1].v1_codebook[j]; + _curFrame.strips[i].v4_codebook[j] = _curFrame.strips[i - 1].v4_codebook[j]; + } + } + + _curFrame.strips[i].id = stream->readUint16BE(); + _curFrame.strips[i].length = stream->readUint16BE() - 12; // Subtract the 12 byte header + _curFrame.strips[i].rect.top = _y; stream->readUint16BE(); // Ignore, substitute with our own. + _curFrame.strips[i].rect.left = 0; stream->readUint16BE(); // Ignore, substitute with our own + _curFrame.strips[i].rect.bottom = _y + stream->readUint16BE(); + _curFrame.strips[i].rect.right = _curFrame.width; stream->readUint16BE(); // Ignore, substitute with our own + + // Sanity check. Because Cinepak is based on 4x4 blocks, the width and height of each strip needs to be divisible by 4. + assert(!(_curFrame.strips[i].rect.width() % 4) && !(_curFrame.strips[i].rect.height() % 4)); + + uint32 pos = stream->pos(); + + while ((uint32)stream->pos() < (pos + _curFrame.strips[i].length) && !stream->eos()) { + byte chunkID = stream->readByte(); + + if (stream->eos()) + break; + + // Chunk Size is 24-bit, ignore the first 4 bytes + uint32 chunkSize = stream->readByte() << 16; + chunkSize += stream->readUint16BE() - 4; + + int32 startPos = stream->pos(); + + switch (chunkID) { + case 0x20: + case 0x21: + case 0x24: + case 0x25: + loadCodebook(stream, i, 4, chunkID, chunkSize); + break; + case 0x22: + case 0x23: + case 0x26: + case 0x27: + loadCodebook(stream, i, 1, chunkID, chunkSize); + break; + case 0x30: + case 0x31: + case 0x32: + decodeVectors(stream, i, chunkID, chunkSize); + break; + default: + warning("Unknown Cinepak chunk ID %02x", chunkID); + return _curFrame.surface; + } + + if (stream->pos() != startPos + (int32)chunkSize) + stream->seek(startPos + chunkSize); + } + + _y = _curFrame.strips[i].rect.bottom; + } + + return _curFrame.surface; +} + +void CinepakDecoder::loadCodebook(Common::SeekableReadStream *stream, uint16 strip, byte codebookType, byte chunkID, uint32 chunkSize) { + CinepakCodebook *codebook = (codebookType == 1) ? _curFrame.strips[strip].v1_codebook : _curFrame.strips[strip].v4_codebook; + + int32 startPos = stream->pos(); + uint32 flag = 0, mask = 0; + + for (uint16 i = 0; i < 256; i++) { + if ((chunkID & 0x01) && !(mask >>= 1)) { + if ((stream->pos() - startPos + 4) > (int32)chunkSize) + break; + + flag = stream->readUint32BE(); + mask = 0x80000000; + } + + if (!(chunkID & 0x01) || (flag & mask)) { + byte n = (chunkID & 0x04) ? 4 : 6; + if ((stream->pos() - startPos + n) > (int32)chunkSize) + break; + + for (byte j = 0; j < 4; j++) + codebook[i].y[j] = stream->readByte(); + + if (n == 6) { + codebook[i].u = stream->readSByte(); + codebook[i].v = stream->readSByte(); + } else { + // This codebook type indicates either greyscale or + // palettized video. For greyscale, default us to + // 0 for both u and v. + codebook[i].u = 0; + codebook[i].v = 0; + } + } + } +} + +void CinepakDecoder::decodeVectors(Common::SeekableReadStream *stream, uint16 strip, byte chunkID, uint32 chunkSize) { + uint32 flag = 0, mask = 0; + uint32 iy[4]; + int32 startPos = stream->pos(); + + for (uint16 y = _curFrame.strips[strip].rect.top; y < _curFrame.strips[strip].rect.bottom; y += 4) { + iy[0] = _curFrame.strips[strip].rect.left + y * _curFrame.width; + iy[1] = iy[0] + _curFrame.width; + iy[2] = iy[1] + _curFrame.width; + iy[3] = iy[2] + _curFrame.width; + + for (uint16 x = _curFrame.strips[strip].rect.left; x < _curFrame.strips[strip].rect.right; x += 4) { + if ((chunkID & 0x01) && !(mask >>= 1)) { + if ((stream->pos() - startPos + 4) > (int32)chunkSize) + return; + + flag = stream->readUint32BE(); + mask = 0x80000000; + } + + if (!(chunkID & 0x01) || (flag & mask)) { + if (!(chunkID & 0x02) && !(mask >>= 1)) { + if ((stream->pos() - startPos + 4) > (int32)chunkSize) + return; + + flag = stream->readUint32BE(); + mask = 0x80000000; + } + + if ((chunkID & 0x02) || (~flag & mask)) { + if ((stream->pos() - startPos + 1) > (int32)chunkSize) + return; + + // Get the codebook + CinepakCodebook codebook = _curFrame.strips[strip].v1_codebook[stream->readByte()]; + + PUT_PIXEL(iy[0] + 0, codebook.y[0], codebook.u, codebook.v); + PUT_PIXEL(iy[0] + 1, codebook.y[0], codebook.u, codebook.v); + PUT_PIXEL(iy[1] + 0, codebook.y[0], codebook.u, codebook.v); + PUT_PIXEL(iy[1] + 1, codebook.y[0], codebook.u, codebook.v); + + PUT_PIXEL(iy[0] + 2, codebook.y[1], codebook.u, codebook.v); + PUT_PIXEL(iy[0] + 3, codebook.y[1], codebook.u, codebook.v); + PUT_PIXEL(iy[1] + 2, codebook.y[1], codebook.u, codebook.v); + PUT_PIXEL(iy[1] + 3, codebook.y[1], codebook.u, codebook.v); + + PUT_PIXEL(iy[2] + 0, codebook.y[2], codebook.u, codebook.v); + PUT_PIXEL(iy[2] + 1, codebook.y[2], codebook.u, codebook.v); + PUT_PIXEL(iy[3] + 0, codebook.y[2], codebook.u, codebook.v); + PUT_PIXEL(iy[3] + 1, codebook.y[2], codebook.u, codebook.v); + + PUT_PIXEL(iy[2] + 2, codebook.y[3], codebook.u, codebook.v); + PUT_PIXEL(iy[2] + 3, codebook.y[3], codebook.u, codebook.v); + PUT_PIXEL(iy[3] + 2, codebook.y[3], codebook.u, codebook.v); + PUT_PIXEL(iy[3] + 3, codebook.y[3], codebook.u, codebook.v); + } else if (flag & mask) { + if ((stream->pos() - startPos + 4) > (int32)chunkSize) + return; + + CinepakCodebook codebook = _curFrame.strips[strip].v4_codebook[stream->readByte()]; + PUT_PIXEL(iy[0] + 0, codebook.y[0], codebook.u, codebook.v); + PUT_PIXEL(iy[0] + 1, codebook.y[1], codebook.u, codebook.v); + PUT_PIXEL(iy[1] + 0, codebook.y[2], codebook.u, codebook.v); + PUT_PIXEL(iy[1] + 1, codebook.y[3], codebook.u, codebook.v); + + codebook = _curFrame.strips[strip].v4_codebook[stream->readByte()]; + PUT_PIXEL(iy[0] + 2, codebook.y[0], codebook.u, codebook.v); + PUT_PIXEL(iy[0] + 3, codebook.y[1], codebook.u, codebook.v); + PUT_PIXEL(iy[1] + 2, codebook.y[2], codebook.u, codebook.v); + PUT_PIXEL(iy[1] + 3, codebook.y[3], codebook.u, codebook.v); + + codebook = _curFrame.strips[strip].v4_codebook[stream->readByte()]; + PUT_PIXEL(iy[2] + 0, codebook.y[0], codebook.u, codebook.v); + PUT_PIXEL(iy[2] + 1, codebook.y[1], codebook.u, codebook.v); + PUT_PIXEL(iy[3] + 0, codebook.y[2], codebook.u, codebook.v); + PUT_PIXEL(iy[3] + 1, codebook.y[3], codebook.u, codebook.v); + + codebook = _curFrame.strips[strip].v4_codebook[stream->readByte()]; + PUT_PIXEL(iy[2] + 2, codebook.y[0], codebook.u, codebook.v); + PUT_PIXEL(iy[2] + 3, codebook.y[1], codebook.u, codebook.v); + PUT_PIXEL(iy[3] + 2, codebook.y[2], codebook.u, codebook.v); + PUT_PIXEL(iy[3] + 3, codebook.y[3], codebook.u, codebook.v); + } + } + + for (byte i = 0; i < 4; i++) + iy[i] += 4; + } + } +} + +} // End of namespace Image diff --git a/image/codecs/cinepak.h b/image/codecs/cinepak.h new file mode 100644 index 0000000000..99a316e428 --- /dev/null +++ b/image/codecs/cinepak.h @@ -0,0 +1,89 @@ +/* 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. + * + */ + +#ifndef IMAGE_CODECS_CINEPAK_H +#define IMAGE_CODECS_CINEPAK_H + +#include "common/scummsys.h" +#include "common/rect.h" +#include "graphics/pixelformat.h" + +#include "image/codecs/codec.h" + +namespace Common { +class SeekableReadStream; +} + +namespace Image { + +struct CinepakCodebook { + // These are not in the normal YUV colorspace, but in the Cinepak YUV colorspace instead. + byte y[4]; // [0, 255] + int8 u, v; // [-128, 127] +}; + +struct CinepakStrip { + uint16 id; + uint16 length; + Common::Rect rect; + CinepakCodebook v1_codebook[256], v4_codebook[256]; +}; + +struct CinepakFrame { + byte flags; + uint32 length; + uint16 width; + uint16 height; + uint16 stripCount; + CinepakStrip *strips; + + Graphics::Surface *surface; +}; + +/** + * Cinepak decoder. + * + * Used in video: + * - AVIDecoder + * - QuickTimeDecoder + */ +class CinepakDecoder : public Codec { +public: + CinepakDecoder(int bitsPerPixel = 24); + ~CinepakDecoder(); + + const Graphics::Surface *decodeImage(Common::SeekableReadStream *stream); + Graphics::PixelFormat getPixelFormat() const { return _pixelFormat; } + +private: + CinepakFrame _curFrame; + int32 _y; + Graphics::PixelFormat _pixelFormat; + byte *_clipTable, *_clipTableBuf; + + void loadCodebook(Common::SeekableReadStream *stream, uint16 strip, byte codebookType, byte chunkID, uint32 chunkSize); + void decodeVectors(Common::SeekableReadStream *stream, uint16 strip, byte chunkID, uint32 chunkSize); +}; + +} // End of namespace Image + +#endif diff --git a/image/codecs/codec.h b/image/codecs/codec.h new file mode 100644 index 0000000000..c84f3e3308 --- /dev/null +++ b/image/codecs/codec.h @@ -0,0 +1,82 @@ +/* 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. + * + */ + +#ifndef IMAGE_CODECS_CODEC_H +#define IMAGE_CODECS_CODEC_H + +#include "graphics/surface.h" +#include "graphics/pixelformat.h" + +namespace Common { +class SeekableReadStream; +} + +namespace Image { + +/** + * An abstract representation of a video codec used for decoding + * video frames. + * + * Used in video: + * - AVIDecoder + * - QuickTimeDecoder + * - VMDDecoder + */ +class Codec { +public: + Codec() {} + virtual ~Codec() {} + + /** + * Decode the frame for the given data and return a pointer to a surface + * containing the decoded frame. + * + * @return a pointer to the decoded frame + * @note stream is not deleted + */ + virtual const Graphics::Surface *decodeImage(Common::SeekableReadStream *stream) = 0; + + /** + * Get the format that the surface returned from decodeImage() will + * be in. + */ + virtual Graphics::PixelFormat getPixelFormat() const = 0; + + /** + * Can this codec's frames contain a palette? + */ + virtual bool containsPalette() const { return false; } + + /** + * Get the palette last decoded from decodeImage + */ + virtual const byte *getPalette() { return 0; } + + /** + * Does the codec have a dirty palette? + */ + virtual bool hasDirtyPalette() const { return false; } +}; + +} // End of namespace Image + +#endif diff --git a/image/codecs/indeo3.cpp b/image/codecs/indeo3.cpp new file mode 100644 index 0000000000..77bcec09bb --- /dev/null +++ b/image/codecs/indeo3.cpp @@ -0,0 +1,3487 @@ +/* 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 "common/scummsys.h" + +/* Intel Indeo 3 decompressor, derived from ffmpeg. + * + * Original copyright note: * Intel Indeo 3 (IV31, IV32, etc.) video decoder for ffmpeg + * written, produced, and directed by Alan Smithee + */ + +#include "common/system.h" +#include "common/endian.h" +#include "common/stream.h" +#include "common/textconsole.h" +#include "common/util.h" + +#include "graphics/yuv_to_rgb.h" + +#include "image/codecs/indeo3.h" + +namespace Image { + +Indeo3Decoder::Indeo3Decoder(uint16 width, uint16 height) : _ModPred(0), _corrector_type(0) { + _iv_frame[0].the_buf = 0; + _iv_frame[1].the_buf = 0; + + _pixelFormat = g_system->getScreenFormat(); + + _surface = new Graphics::Surface; + _surface->create(width, height, _pixelFormat); + + buildModPred(); + allocFrames(); +} + +Indeo3Decoder::~Indeo3Decoder() { + _surface->free(); + delete _surface; + + delete[] _iv_frame[0].the_buf; + delete[] _ModPred; + delete[] _corrector_type; +} + +Graphics::PixelFormat Indeo3Decoder::getPixelFormat() const { + return _pixelFormat; +} + +bool Indeo3Decoder::isIndeo3(Common::SeekableReadStream &stream) { + // Less than 16 bytes? This can't be right + if (stream.size() < 16) + return false; + + uint32 id0 = stream.readUint32LE(); + uint32 id1 = stream.readUint32LE(); + uint32 id2 = stream.readUint32LE(); + uint32 id3 = stream.readUint32LE(); + + // Unknown, but according to the docs, always 0 + if (id1 != 0) + return false; + + // These 4 uint32s XOR'd need to spell "FRMH" + if ((id0 ^ id1 ^ id2 ^ id3) != MKTAG('F','R','M','H')) + return false; + + return true; +} + +void Indeo3Decoder::buildModPred() { + _ModPred = new byte[8 * 128]; + + for (int i = 0; i < 128; i++) { + _ModPred[i+0*128] = (i > 126) ? 254 : 2*((i + 1) - ((i + 1) % 2)); + _ModPred[i+1*128] = (i == 7) ? 20 : ((i == 119 || i == 120) + ? 236 : 2*((i + 2) - ((i + 1) % 3))); + _ModPred[i+2*128] = (i > 125) ? 248 : 2*((i + 2) - ((i + 2) % 4)); + _ModPred[i+3*128] = 2*((i + 1) - ((i - 3) % 5)); + _ModPred[i+4*128] = (i == 8) ? 20 : 2*((i + 1) - ((i - 3) % 6)); + _ModPred[i+5*128] = 2*((i + 4) - ((i + 3) % 7)); + _ModPred[i+6*128] = (i > 123) ? 240 : 2*((i + 4) - ((i + 4) % 8)); + _ModPred[i+7*128] = 2*((i + 5) - ((i + 4) % 9)); + } + + _corrector_type = new uint16[24 * 256]; + + for (int i = 0; i < 24; i++) { + for (int j = 0; j < 256; j++) { + _corrector_type[i*256+j] = + (j < _corrector_type_0[i]) ? 1 : + ((j < 248 || (i == 16 && j == 248)) ? 0 : + _corrector_type_2[j - 248]); + } + } +} + +void Indeo3Decoder::allocFrames() { + int32 luma_width = (_surface->w + 3) & (~3); + int32 luma_height = (_surface->h + 3) & (~3); + + int32 chroma_width = ((luma_width >> 2) + 3) & (~3); + int32 chroma_height = ((luma_height >> 2) + 3) & (~3); + + int32 luma_pixels = luma_width * luma_height; + int32 chroma_pixels = chroma_width * chroma_height; + + uint32 bufsize = luma_pixels * 2 + luma_width * 3 + + (chroma_pixels + chroma_width) * 4; + + _iv_frame[0].y_w = _iv_frame[1].y_w = luma_width; + _iv_frame[0].y_h = _iv_frame[1].y_h = luma_height; + _iv_frame[0].uv_w = _iv_frame[1].uv_w = chroma_width; + _iv_frame[0].uv_h = _iv_frame[1].uv_h = chroma_height; + + _iv_frame[0].the_buf_size = bufsize; + _iv_frame[1].the_buf_size = 0; + + _iv_frame[0].the_buf = new byte[bufsize]; + memset(_iv_frame[0].the_buf, 0, bufsize); + _iv_frame[1].the_buf = 0; + + uint32 offs = 0; + + _iv_frame[0].Ybuf = _iv_frame[0].the_buf + luma_width; + offs += luma_pixels + luma_width * 2; + _iv_frame[1].Ybuf = _iv_frame[0].the_buf + offs; + offs += (luma_pixels + luma_width); + _iv_frame[0].Ubuf = _iv_frame[0].the_buf + offs; + offs += (chroma_pixels + chroma_width); + _iv_frame[1].Ubuf = _iv_frame[0].the_buf + offs; + offs += (chroma_pixels + chroma_width); + _iv_frame[0].Vbuf = _iv_frame[0].the_buf + offs; + offs += (chroma_pixels + chroma_width); + _iv_frame[1].Vbuf = _iv_frame[0].the_buf + offs; + + for (int i = 1; i <= luma_width; i++) + _iv_frame[0].Ybuf[-i] = _iv_frame[1].Ybuf[-i] = + _iv_frame[0].Ubuf[-i] = 0x80; + + for (int i = 1; i <= chroma_width; i++) { + _iv_frame[1].Ubuf[-i] = 0x80; + _iv_frame[0].Vbuf[-i] = 0x80; + _iv_frame[1].Vbuf[-i] = 0x80; + _iv_frame[1].Vbuf[chroma_pixels+i-1] = 0x80; + } +} + +const Graphics::Surface *Indeo3Decoder::decodeImage(Common::SeekableReadStream *stream) { + // Not Indeo 3? Fail + if (!isIndeo3(*stream)) + return 0; + + stream->seek(12); + uint32 frameDataLen = stream->readUint32LE(); + + // Less data than the frame should have? Fail + if (stream->size() < (int)(frameDataLen - 16)) + return 0; + + stream->seek(16); // Behind header + stream->skip(2); // Unknown + + uint16 flags1 = stream->readUint16LE(); + uint32 flags3 = stream->readUint32LE(); + uint8 flags2 = stream->readByte(); + + // Finding the reference frame + if (flags1 & 0x200) { + _cur_frame = _iv_frame + 1; + _ref_frame = _iv_frame; + } else { + _cur_frame = _iv_frame; + _ref_frame = _iv_frame + 1; + } + + if (flags3 == 0x80) + return _surface; + + stream->skip(3); + + uint16 fHeight = stream->readUint16LE(); + uint16 fWidth = stream->readUint16LE(); + + uint32 chromaHeight = ((fHeight >> 2) + 3) & 0x7FFC; + uint32 chromaWidth = ((fWidth >> 2) + 3) & 0x7FFC; + + uint32 offs; + uint32 offsY = stream->readUint32LE() + 16; + uint32 offsU = stream->readUint32LE() + 16; + uint32 offsV = stream->readUint32LE() + 16; + + stream->skip(4); + + uint32 hPos = stream->pos(); + + if (offsY < hPos) { + warning("Indeo3Decoder::decodeImage: offsY < hPos"); + return 0; + } + if (offsU < hPos) { + warning("Indeo3Decoder::decodeImage: offsY < hPos"); + return 0; + } + if (offsV < hPos) { + warning("Indeo3Decoder::decodeImage: offsY < hPos"); + return 0; + } + + uint32 dataSize = stream->size() - hPos; + + byte *inData = new byte[dataSize]; + + if (stream->read(inData, dataSize) != dataSize) { + delete[] inData; + return 0; + } + + byte *hdr_pos = inData; + byte *buf_pos; + + // Luminance Y + stream->seek(offsY); + buf_pos = inData + offsY + 4 - hPos; + offs = stream->readUint32LE(); + decodeChunk(_cur_frame->Ybuf, _ref_frame->Ybuf, fWidth, fHeight, + buf_pos + offs * 2, flags2, hdr_pos, buf_pos, MIN(fWidth, 160)); + + // Chrominance U + stream->seek(offsU); + buf_pos = inData + offsU + 4 - hPos; + offs = stream->readUint32LE(); + decodeChunk(_cur_frame->Vbuf, _ref_frame->Vbuf, chromaWidth, chromaHeight, + buf_pos + offs * 2, flags2, hdr_pos, buf_pos, MIN(chromaWidth, 40)); + + // Chrominance V + stream->seek(offsV); + buf_pos = inData + offsV + 4 - hPos; + offs = stream->readUint32LE(); + decodeChunk(_cur_frame->Ubuf, _ref_frame->Ubuf, chromaWidth, chromaHeight, + buf_pos + offs * 2, flags2, hdr_pos, buf_pos, MIN(chromaWidth, 40)); + + delete[] inData; + + const byte *srcY = _cur_frame->Ybuf; + const byte *srcU = _cur_frame->Ubuf; + const byte *srcV = _cur_frame->Vbuf; + + // Create buffers for U/V with an extra row/column copied from the second-to-last + // row/column. + byte *tempU = new byte[(chromaWidth + 1) * (chromaHeight + 1)]; + byte *tempV = new byte[(chromaWidth + 1) * (chromaHeight + 1)]; + + for (uint i = 0; i < chromaHeight; i++) { + memcpy(tempU + (chromaWidth + 1) * i, srcU + chromaWidth * i, chromaWidth); + memcpy(tempV + (chromaWidth + 1) * i, srcV + chromaWidth * i, chromaWidth); + tempU[(chromaWidth + 1) * i + chromaWidth] = srcU[chromaWidth * (i + 1) - 1]; + tempV[(chromaWidth + 1) * i + chromaWidth] = srcV[chromaWidth * (i + 1) - 1]; + } + + memcpy(tempU + (chromaWidth + 1) * chromaHeight, tempU + (chromaWidth + 1) * (chromaHeight - 1), + chromaWidth + 1); + memcpy(tempV + (chromaWidth + 1) * chromaHeight, tempV + (chromaWidth + 1) * (chromaHeight - 1), + chromaWidth + 1); + + // Blit the frame onto the surface + uint32 scaleWidth = _surface->w / fWidth; + uint32 scaleHeight = _surface->h / fHeight; + + if (scaleWidth == 1 && scaleHeight == 1) { + // Shortcut: Don't need to scale so we can decode straight to the surface + YUVToRGBMan.convert410(_surface, Graphics::YUVToRGBManager::kScaleITU, srcY, tempU, tempV, + fWidth, fHeight, fWidth, chromaWidth + 1); + } else { + // Need to upscale, so decode to a temp surface first + Graphics::Surface tempSurface; + tempSurface.create(fWidth, fHeight, _surface->format); + + YUVToRGBMan.convert410(&tempSurface, Graphics::YUVToRGBManager::kScaleITU, srcY, tempU, tempV, + fWidth, fHeight, fWidth, chromaWidth + 1); + + // Upscale + for (int y = 0; y < _surface->h; y++) { + for (int x = 0; x < _surface->w; x++) { + if (_surface->format.bytesPerPixel == 1) + *((byte *)_surface->getBasePtr(x, y)) = *((byte *)tempSurface.getBasePtr(x / scaleWidth, y / scaleHeight)); + else if (_surface->format.bytesPerPixel == 2) + *((uint16 *)_surface->getBasePtr(x, y)) = *((uint16 *)tempSurface.getBasePtr(x / scaleWidth, y / scaleHeight)); + else if (_surface->format.bytesPerPixel == 4) + *((uint32 *)_surface->getBasePtr(x, y)) = *((uint32 *)tempSurface.getBasePtr(x / scaleWidth, y / scaleHeight)); + } + } + + tempSurface.free(); + } + + delete[] tempU; + delete[] tempV; + + return _surface; +} + +typedef struct { + int32 xpos; + int32 ypos; + int32 width; + int32 height; + int32 split_flag; + int32 split_direction; + int32 usl7; +} ustr_t; + +/* ---------------------------------------------------------------------- */ + +#define LV1_CHECK(buf1,rle_v3,lv1,lp2) \ + if ((lv1 & 0x80) != 0) { \ + if (rle_v3 != 0) \ + rle_v3 = 0; \ + else { \ + rle_v3 = 1; \ + buf1 -= 2; \ + } \ + } \ + lp2 = 4; + + +#define RLE_V3_CHECK(buf1,rle_v1,rle_v2,rle_v3) \ + if (rle_v3 == 0) { \ + rle_v2 = *buf1; \ + rle_v1 = 1; \ + if (rle_v2 > 32) { \ + rle_v2 -= 32; \ + rle_v1 = 0; \ + } \ + rle_v3 = 1; \ + } \ + buf1--; + + +#define LP2_CHECK(buf1,rle_v3,lp2) \ + if (lp2 == 0 && rle_v3 != 0) \ + rle_v3 = 0; \ + else { \ + buf1--; \ + rle_v3 = 1; \ + } + + +#define RLE_V2_CHECK(buf1,rle_v2, rle_v3,lp2) \ + rle_v2--; \ + if (rle_v2 == 0) { \ + rle_v3 = 0; \ + buf1 += 2; \ + } \ + lp2 = 4; + +void Indeo3Decoder::decodeChunk(byte *cur, byte *ref, int width, int height, + const byte *buf1, uint32 fflags2, const byte *hdr, + const byte *buf2, int min_width_160) { + + byte bit_buf; + uint32 bit_pos, lv, lv1, lv2; + int32 *width_tbl, width_tbl_arr[10]; + const int8 *ref_vectors; + byte *cur_frm_pos, *ref_frm_pos, *cp, *cp2; + uint32 *cur_lp, *ref_lp; + const uint32 *correction_lp[2], *correctionloworder_lp[2], *correctionhighorder_lp[2]; + uint16 *correction_type_sp[2]; + ustr_t strip_tbl[20], *strip; + int i, j, k, lp1, lp2, flag1, cmd; + int blks_width, blks_height, region_160_width; + int rle_v1, rle_v2, rle_v3; + uint16 res; + + bit_buf = 0; + ref_vectors = NULL; + + width_tbl = width_tbl_arr + 1; + i = (width < 0 ? width + 3 : width)/4; + for (j = -1; j < 8; j++) + width_tbl[j] = i * j; + + strip = strip_tbl; + + for (region_160_width = 0; region_160_width < (width - min_width_160); region_160_width += min_width_160) + ; + + strip->ypos = strip->xpos = 0; + for (strip->width = min_width_160; width > strip->width; strip->width *= 2) + ; + strip->height = height; + strip->split_direction = 0; + strip->split_flag = 0; + strip->usl7 = 0; + + bit_pos = 0; + + rle_v1 = rle_v2 = rle_v3 = 0; + + while (strip >= strip_tbl) { + if (bit_pos <= 0) { + bit_pos = 8; + bit_buf = *buf1++; + } + + bit_pos -= 2; + cmd = (bit_buf >> bit_pos) & 0x03; + + if (cmd == 0) { + strip++; + memcpy(strip, strip-1, sizeof(ustr_t)); + strip->split_flag = 1; + strip->split_direction = 0; + strip->height = (strip->height > 8 ? ((strip->height+8)>>4)<<3 : 4); + continue; + } else if (cmd == 1) { + strip++; + memcpy(strip, strip-1, sizeof(ustr_t)); + strip->split_flag = 1; + strip->split_direction = 1; + strip->width = (strip->width > 8 ? ((strip->width+8)>>4)<<3 : 4); + continue; + } else if (cmd == 2) { + if (strip->usl7 == 0) { + strip->usl7 = 1; + ref_vectors = NULL; + continue; + } + } else if (cmd == 3) { + if (strip->usl7 == 0) { + strip->usl7 = 1; + ref_vectors = (const signed char*)buf2 + (*buf1 * 2); + buf1++; + continue; + } + } + + cur_frm_pos = cur + width * strip->ypos + strip->xpos; + + if ((blks_width = strip->width) < 0) + blks_width += 3; + blks_width >>= 2; + blks_height = strip->height; + + if (ref_vectors != NULL) { + ref_frm_pos = ref + (ref_vectors[0] + strip->ypos) * width + + ref_vectors[1] + strip->xpos; + } else + ref_frm_pos = cur_frm_pos - width_tbl[4]; + + if (cmd == 2) { + if (bit_pos <= 0) { + bit_pos = 8; + bit_buf = *buf1++; + } + + bit_pos -= 2; + cmd = (bit_buf >> bit_pos) & 0x03; + + if (cmd == 0 || ref_vectors != NULL) { + for (lp1 = 0; lp1 < blks_width; lp1++) { + for (i = 0, j = 0; i < blks_height; i++, j += width_tbl[1]) + ((uint32 *)cur_frm_pos)[j] = ((uint32 *)ref_frm_pos)[j]; + cur_frm_pos += 4; + ref_frm_pos += 4; + } + } else if (cmd != 1) + return; + } else { + k = *buf1 >> 4; + j = *buf1 & 0x0f; + buf1++; + lv = j + fflags2; + + if ((lv - 8) <= 7 && (k == 0 || k == 3 || k == 10)) { + cp2 = _ModPred + ((lv - 8) << 7); + cp = ref_frm_pos; + for (i = 0; i < blks_width << 2; i++) { + int v = *cp >> 1; + *(cp++) = cp2[v]; + } + } + + if (k == 1 || k == 4) { + lv = (hdr[j] & 0xf) + fflags2; + correction_type_sp[0] = _corrector_type + (lv << 8); + correction_lp[0] = correction + (lv << 8); + lv = (hdr[j] >> 4) + fflags2; + correction_lp[1] = correction + (lv << 8); + correction_type_sp[1] = _corrector_type + (lv << 8); + } else { + correctionloworder_lp[0] = correctionloworder_lp[1] = correctionloworder + (lv << 8); + correctionhighorder_lp[0] = correctionhighorder_lp[1] = correctionhighorder + (lv << 8); + correction_type_sp[0] = correction_type_sp[1] = _corrector_type + (lv << 8); + correction_lp[0] = correction_lp[1] = correction + (lv << 8); + } + + switch (k) { + case 1: + case 0: /********** CASE 0 **********/ + for ( ; blks_height > 0; blks_height -= 4) { + for (lp1 = 0; lp1 < blks_width; lp1++) { + for (lp2 = 0; lp2 < 4; ) { + k = *buf1++; + cur_lp = ((uint32 *)cur_frm_pos) + width_tbl[lp2]; + ref_lp = ((uint32 *)ref_frm_pos) + width_tbl[lp2]; + + switch (correction_type_sp[0][k]) { + case 0: + *cur_lp = FROM_LE_32(((FROM_LE_32(*ref_lp) >> 1) + correction_lp[lp2 & 0x01][k]) << 1); + lp2++; + break; + case 1: + if (correction_type_sp[0][*buf1] != 1) { + // both correction types must be DYAD. If it's not the case + // we have an incorrect data and we should skip the rest. + // This occurs in some Urban Runner videos, and produced a glitch. + // The glitch is not visible anymore if we skip this part of the frame. + // The old Y values are then used. + // This is also the behavior of the codec in the original game. + //warning("Glitch"); + return; + } + res = ((FROM_LE_16(((uint16 *)(ref_lp))[0]) >> 1) + correction_lp[lp2 & 0x01][*buf1]) << 1; + ((uint16 *)cur_lp)[0] = FROM_LE_16(res); + res = ((FROM_LE_16(((uint16 *)(ref_lp))[1]) >> 1) + correction_lp[lp2 & 0x01][k]) << 1; + ((uint16 *)cur_lp)[1] = FROM_LE_16(res); + buf1++; + lp2++; + break; + case 2: + if (lp2 == 0) { + for (i = 0, j = 0; i < 2; i++, j += width_tbl[1]) + cur_lp[j] = ref_lp[j]; + lp2 += 2; + } + break; + case 3: + if (lp2 < 2) { + for (i = 0, j = 0; i < (3 - lp2); i++, j += width_tbl[1]) + cur_lp[j] = ref_lp[j]; + lp2 = 3; + } + break; + case 8: + if (lp2 == 0) { + RLE_V3_CHECK(buf1,rle_v1,rle_v2,rle_v3) + + if (rle_v1 == 1 || ref_vectors != NULL) { + for (i = 0, j = 0; i < 4; i++, j += width_tbl[1]) + cur_lp[j] = ref_lp[j]; + } + + RLE_V2_CHECK(buf1,rle_v2, rle_v3,lp2) + break; + } else { + rle_v1 = 1; + rle_v2 = *buf1 - 1; + } + case 5: + LP2_CHECK(buf1,rle_v3,lp2) + case 4: + for (i = 0, j = 0; i < (4 - lp2); i++, j += width_tbl[1]) + cur_lp[j] = ref_lp[j]; + lp2 = 4; + break; + + case 7: + if (rle_v3 != 0) + rle_v3 = 0; + else { + buf1--; + rle_v3 = 1; + } + case 6: + if (lp2 > 0) { + //This case can't happen either. + //If it occurs, it must happen on the first line. + //warning("Glitch"); + return; + } + if (ref_vectors != NULL) { + for (i = 0, j = 0; i < 4; i++, j += width_tbl[1]) + cur_lp[j] = ref_lp[j]; + } + lp2 = 4; + break; + + case 9: + lv1 = *buf1++; + lv = (lv1 & 0x7F) << 1; + lv += (lv << 8); + lv += (lv << 16); + for (i = 0, j = 0; i < 4; i++, j += width_tbl[1]) + cur_lp[j] = lv; + + LV1_CHECK(buf1,rle_v3,lv1,lp2) + break; + default: + return; + } + } + + cur_frm_pos += 4; + ref_frm_pos += 4; + } + + cur_frm_pos += ((width - blks_width) * 4); + ref_frm_pos += ((width - blks_width) * 4); + } + break; + + case 4: + case 3: /********** CASE 3 **********/ + if (ref_vectors != NULL) + return; + flag1 = 1; + + for ( ; blks_height > 0; blks_height -= 8) { + for (lp1 = 0; lp1 < blks_width; lp1++) { + for (lp2 = 0; lp2 < 4; ) { + k = *buf1++; + + cur_lp = ((uint32 *)cur_frm_pos) + width_tbl[lp2 * 2]; + ref_lp = ((uint32 *)cur_frm_pos) + width_tbl[(lp2 * 2) - 1]; + + switch (correction_type_sp[lp2 & 0x01][k]) { + case 0: + cur_lp[width_tbl[1]] = FROM_LE_32(((FROM_LE_32(*ref_lp) >> 1) + correction_lp[lp2 & 0x01][k]) << 1); + if (lp2 > 0 || flag1 == 0 || strip->ypos != 0) + cur_lp[0] = ((cur_lp[-width_tbl[1]] >> 1) + (cur_lp[width_tbl[1]] >> 1)) & 0xFEFEFEFE; + else + cur_lp[0] = FROM_LE_32(((FROM_LE_32(*ref_lp) >> 1) + correction_lp[lp2 & 0x01][k]) << 1); + lp2++; + break; + + case 1: + res = ((FROM_LE_16(((uint16 *)ref_lp)[0]) >> 1) + correction_lp[lp2 & 0x01][*buf1]) << 1; + ((uint16 *)cur_lp)[width_tbl[2]] = FROM_LE_16(res); + res = ((FROM_LE_16(((uint16 *)ref_lp)[1]) >> 1) + correction_lp[lp2 & 0x01][k]) << 1; + ((uint16 *)cur_lp)[width_tbl[2]+1] = FROM_LE_16(res); + + if (lp2 > 0 || flag1 == 0 || strip->ypos != 0) + cur_lp[0] = ((cur_lp[-width_tbl[1]] >> 1) + (cur_lp[width_tbl[1]] >> 1)) & 0xFEFEFEFE; + else + cur_lp[0] = cur_lp[width_tbl[1]]; + buf1++; + lp2++; + break; + + case 2: + if (lp2 == 0) { + for (i = 0, j = 0; i < 4; i++, j += width_tbl[1]) + cur_lp[j] = *ref_lp; + lp2 += 2; + } + break; + + case 3: + if (lp2 < 2) { + for (i = 0, j = 0; i < 6 - (lp2 * 2); i++, j += width_tbl[1]) + cur_lp[j] = *ref_lp; + lp2 = 3; + } + break; + + case 6: + lp2 = 4; + break; + + case 7: + if (rle_v3 != 0) + rle_v3 = 0; + else { + buf1--; + rle_v3 = 1; + } + lp2 = 4; + break; + + case 8: + if (lp2 == 0) { + RLE_V3_CHECK(buf1,rle_v1,rle_v2,rle_v3) + + if (rle_v1 == 1) { + for (i = 0, j = 0; i < 8; i++, j += width_tbl[1]) + cur_lp[j] = ref_lp[j]; + } + + RLE_V2_CHECK(buf1,rle_v2, rle_v3,lp2) + break; + } else { + rle_v2 = (*buf1) - 1; + rle_v1 = 1; + } + case 5: + LP2_CHECK(buf1,rle_v3,lp2) + case 4: + for (i = 0, j = 0; i < 8 - (lp2 * 2); i++, j += width_tbl[1]) + cur_lp[j] = *ref_lp; + lp2 = 4; + break; + + case 9: + warning("Indeo3Decoder::decodeChunk: Untested (1)"); + lv1 = *buf1++; + lv = (lv1 & 0x7F) << 1; + lv += (lv << 8); + lv += (lv << 16); + + for (i = 0, j = 0; i < 4; i++, j += width_tbl[1]) + cur_lp[j] = lv; + + LV1_CHECK(buf1,rle_v3,lv1,lp2) + break; + + default: + return; + } + } + + cur_frm_pos += 4; + } + + cur_frm_pos += (((width * 2) - blks_width) * 4); + flag1 = 0; + } + break; + + case 10: /********** CASE 10 **********/ + if (ref_vectors == NULL) { + flag1 = 1; + + for ( ; blks_height > 0; blks_height -= 8) { + for (lp1 = 0; lp1 < blks_width; lp1 += 2) { + for (lp2 = 0; lp2 < 4; ) { + k = *buf1++; + cur_lp = ((uint32 *)cur_frm_pos) + width_tbl[lp2 * 2]; + ref_lp = ((uint32 *)cur_frm_pos) + width_tbl[(lp2 * 2) - 1]; + lv1 = ref_lp[0]; + lv2 = ref_lp[1]; + if (lp2 == 0 && flag1 != 0) { +#if defined(SCUMM_BIG_ENDIAN) + lv1 = lv1 & 0xFF00FF00; + lv1 = (lv1 >> 8) | lv1; + lv2 = lv2 & 0xFF00FF00; + lv2 = (lv2 >> 8) | lv2; +#else + lv1 = lv1 & 0x00FF00FF; + lv1 = (lv1 << 8) | lv1; + lv2 = lv2 & 0x00FF00FF; + lv2 = (lv2 << 8) | lv2; +#endif + } + + switch (correction_type_sp[lp2 & 0x01][k]) { + case 0: + cur_lp[width_tbl[1]] = FROM_LE_32(((FROM_LE_32(lv1) >> 1) + correctionloworder_lp[lp2 & 0x01][k]) << 1); + cur_lp[width_tbl[1]+1] = FROM_LE_32(((FROM_LE_32(lv2) >> 1) + correctionhighorder_lp[lp2 & 0x01][k]) << 1); + if (lp2 > 0 || strip->ypos != 0 || flag1 == 0) { + cur_lp[0] = ((cur_lp[-width_tbl[1]] >> 1) + (cur_lp[width_tbl[1]] >> 1)) & 0xFEFEFEFE; + cur_lp[1] = ((cur_lp[-width_tbl[1]+1] >> 1) + (cur_lp[width_tbl[1]+1] >> 1)) & 0xFEFEFEFE; + } else { + cur_lp[0] = cur_lp[width_tbl[1]]; + cur_lp[1] = cur_lp[width_tbl[1]+1]; + } + lp2++; + break; + + case 1: + if (correction_type_sp[lp2 & 0x01][*buf1] != 1) { + //See the mode 0/1 + //warning("Glitch"); + return; + } + cur_lp[width_tbl[1]] = FROM_LE_32(((FROM_LE_32(lv1) >> 1) + correctionloworder_lp[lp2 & 0x01][*buf1]) << 1); + cur_lp[width_tbl[1]+1] = FROM_LE_32(((FROM_LE_32(lv2) >> 1) + correctionloworder_lp[lp2 & 0x01][k]) << 1); + if (lp2 > 0 || strip->ypos != 0 || flag1 == 0) { + cur_lp[0] = ((cur_lp[-width_tbl[1]] >> 1) + (cur_lp[width_tbl[1]] >> 1)) & 0xFEFEFEFE; + cur_lp[1] = ((cur_lp[-width_tbl[1]+1] >> 1) + (cur_lp[width_tbl[1]+1] >> 1)) & 0xFEFEFEFE; + } else { + cur_lp[0] = cur_lp[width_tbl[1]]; + cur_lp[1] = cur_lp[width_tbl[1]+1]; + } + buf1++; + lp2++; + break; + + case 2: + if (lp2 == 0) { + if (flag1 != 0) { + for (i = 0, j = width_tbl[1]; i < 3; i++, j += width_tbl[1]) { + cur_lp[j] = lv1; + cur_lp[j+1] = lv2; + } + cur_lp[0] = ((cur_lp[-width_tbl[1]] >> 1) + (cur_lp[width_tbl[1]] >> 1)) & 0xFEFEFEFE; + cur_lp[1] = ((cur_lp[-width_tbl[1]+1] >> 1) + (cur_lp[width_tbl[1]+1] >> 1)) & 0xFEFEFEFE; + } else { + for (i = 0, j = 0; i < 4; i++, j += width_tbl[1]) { + cur_lp[j] = lv1; + cur_lp[j+1] = lv2; + } + } + lp2 += 2; + } + break; + + case 3: + if (lp2 < 2) { + if (lp2 == 0 && flag1 != 0) { + for (i = 0, j = width_tbl[1]; i < 5; i++, j += width_tbl[1]) { + cur_lp[j] = lv1; + cur_lp[j+1] = lv2; + } + cur_lp[0] = ((cur_lp[-width_tbl[1]] >> 1) + (cur_lp[width_tbl[1]] >> 1)) & 0xFEFEFEFE; + cur_lp[1] = ((cur_lp[-width_tbl[1]+1] >> 1) + (cur_lp[width_tbl[1]+1] >> 1)) & 0xFEFEFEFE; + } else { + for (i = 0, j = 0; i < 6 - (lp2 * 2); i++, j += width_tbl[1]) { + cur_lp[j] = lv1; + cur_lp[j+1] = lv2; + } + } + lp2 = 3; + } + break; + + case 8: + if (lp2 == 0) { + RLE_V3_CHECK(buf1,rle_v1,rle_v2,rle_v3) + if (rle_v1 == 1) { + if (flag1 != 0) { + for (i = 0, j = width_tbl[1]; i < 7; i++, j += width_tbl[1]) { + cur_lp[j] = lv1; + cur_lp[j+1] = lv2; + } + cur_lp[0] = ((cur_lp[-width_tbl[1]] >> 1) + (cur_lp[width_tbl[1]] >> 1)) & 0xFEFEFEFE; + cur_lp[1] = ((cur_lp[-width_tbl[1]+1] >> 1) + (cur_lp[width_tbl[1]+1] >> 1)) & 0xFEFEFEFE; + } else { + for (i = 0, j = 0; i < 8; i++, j += width_tbl[1]) { + cur_lp[j] = lv1; + cur_lp[j+1] = lv2; + } + } + } + RLE_V2_CHECK(buf1,rle_v2, rle_v3,lp2) + break; + } else { + rle_v1 = 1; + rle_v2 = (*buf1) - 1; + } + case 5: + LP2_CHECK(buf1,rle_v3,lp2) + case 4: + if (lp2 == 0 && flag1 != 0) { + for (i = 0, j = width_tbl[1]; i < 7; i++, j += width_tbl[1]) { + cur_lp[j] = lv1; + cur_lp[j+1] = lv2; + } + cur_lp[0] = ((cur_lp[-width_tbl[1]] >> 1) + (cur_lp[width_tbl[1]] >> 1)) & 0xFEFEFEFE; + cur_lp[1] = ((cur_lp[-width_tbl[1]+1] >> 1) + (cur_lp[width_tbl[1]+1] >> 1)) & 0xFEFEFEFE; + } else { + for (i = 0, j = 0; i < 8 - (lp2 * 2); i++, j += width_tbl[1]) { + cur_lp[j] = lv1; + cur_lp[j+1] = lv2; + } + } + lp2 = 4; + break; + + case 6: + lp2 = 4; + break; + + case 7: + if (lp2 == 0) { + if (rle_v3 != 0) + rle_v3 = 0; + else { + buf1--; + rle_v3 = 1; + } + lp2 = 4; + } + break; + + case 9: + warning("Indeo3Decoder::decodeChunk: Untested (2)"); + lv1 = *buf1; + lv = (lv1 & 0x7F) << 1; + lv += (lv << 8); + lv += (lv << 16); + for (i = 0, j = 0; i < 8; i++, j += width_tbl[1]) + cur_lp[j] = lv; + LV1_CHECK(buf1,rle_v3,lv1,lp2) + break; + + default: + return; + } + } + + cur_frm_pos += 8; + } + + cur_frm_pos += (((width * 2) - blks_width) * 4); + flag1 = 0; + } + } else { + for ( ; blks_height > 0; blks_height -= 8) { + for (lp1 = 0; lp1 < blks_width; lp1 += 2) { + for (lp2 = 0; lp2 < 4; ) { + k = *buf1++; + cur_lp = ((uint32 *)cur_frm_pos) + width_tbl[lp2 * 2]; + ref_lp = ((uint32 *)ref_frm_pos) + width_tbl[lp2 * 2]; + + switch (correction_type_sp[lp2 & 0x01][k]) { + case 0: + lv1 = correctionloworder_lp[lp2 & 0x01][k]; + lv2 = correctionhighorder_lp[lp2 & 0x01][k]; + cur_lp[0] = FROM_LE_32(((FROM_LE_32(ref_lp[0]) >> 1) + lv1) << 1); + cur_lp[1] = FROM_LE_32(((FROM_LE_32(ref_lp[1]) >> 1) + lv2) << 1); + cur_lp[width_tbl[1]] = FROM_LE_32(((FROM_LE_32(ref_lp[width_tbl[1]]) >> 1) + lv1) << 1); + cur_lp[width_tbl[1]+1] = FROM_LE_32(((FROM_LE_32(ref_lp[width_tbl[1]+1]) >> 1) + lv2) << 1); + lp2++; + break; + + case 1: + lv1 = correctionloworder_lp[lp2 & 0x01][*buf1++]; + lv2 = correctionloworder_lp[lp2 & 0x01][k]; + cur_lp[0] = FROM_LE_32(((FROM_LE_32(ref_lp[0]) >> 1) + lv1) << 1); + cur_lp[1] = FROM_LE_32(((FROM_LE_32(ref_lp[1]) >> 1) + lv2) << 1); + cur_lp[width_tbl[1]] = FROM_LE_32(((FROM_LE_32(ref_lp[width_tbl[1]]) >> 1) + lv1) << 1); + cur_lp[width_tbl[1]+1] = FROM_LE_32(((FROM_LE_32(ref_lp[width_tbl[1]+1]) >> 1) + lv2) << 1); + lp2++; + break; + + case 2: + if (lp2 == 0) { + for (i = 0, j = 0; i < 4; i++, j += width_tbl[1]) { + cur_lp[j] = ref_lp[j]; + cur_lp[j+1] = ref_lp[j+1]; + } + lp2 += 2; + } + break; + + case 3: + if (lp2 < 2) { + for (i = 0, j = 0; i < 6 - (lp2 * 2); i++, j += width_tbl[1]) { + cur_lp[j] = ref_lp[j]; + cur_lp[j+1] = ref_lp[j+1]; + } + lp2 = 3; + } + break; + + case 8: + if (lp2 == 0) { + RLE_V3_CHECK(buf1,rle_v1,rle_v2,rle_v3) + for (i = 0, j = 0; i < 8; i++, j += width_tbl[1]) { + ((uint32 *)cur_frm_pos)[j] = ((uint32 *)ref_frm_pos)[j]; + ((uint32 *)cur_frm_pos)[j+1] = ((uint32 *)ref_frm_pos)[j+1]; + } + RLE_V2_CHECK(buf1,rle_v2, rle_v3,lp2) + break; + } else { + rle_v1 = 1; + rle_v2 = (*buf1) - 1; + } + case 5: + case 7: + LP2_CHECK(buf1,rle_v3,lp2) + case 6: + case 4: + for (i = 0, j = 0; i < 8 - (lp2 * 2); i++, j += width_tbl[1]) { + cur_lp[j] = ref_lp[j]; + cur_lp[j+1] = ref_lp[j+1]; + } + lp2 = 4; + break; + + case 9: + warning("Indeo3Decoder::decodeChunk: Untested (3)"); + lv1 = *buf1; + lv = (lv1 & 0x7F) << 1; + lv += (lv << 8); + lv += (lv << 16); + for (i = 0, j = 0; i < 8; i++, j += width_tbl[1]) + ((uint32 *)cur_frm_pos)[j] = ((uint32 *)cur_frm_pos)[j+1] = lv; + LV1_CHECK(buf1,rle_v3,lv1,lp2) + break; + + default: + return; + } + } + + cur_frm_pos += 8; + ref_frm_pos += 8; + } + + cur_frm_pos += (((width * 2) - blks_width) * 4); + ref_frm_pos += (((width * 2) - blks_width) * 4); + } + } + break; + + case 11: /********** CASE 11 **********/ + if (ref_vectors == NULL) + return; + + for ( ; blks_height > 0; blks_height -= 8) { + for (lp1 = 0; lp1 < blks_width; lp1++) { + for (lp2 = 0; lp2 < 4; ) { + k = *buf1++; + cur_lp = ((uint32 *)cur_frm_pos) + width_tbl[lp2 * 2]; + ref_lp = ((uint32 *)ref_frm_pos) + width_tbl[lp2 * 2]; + + switch (correction_type_sp[lp2 & 0x01][k]) { + case 0: + cur_lp[0] = FROM_LE_32(((FROM_LE_32(*ref_lp) >> 1) + correction_lp[lp2 & 0x01][k]) << 1); + cur_lp[width_tbl[1]] = FROM_LE_32(((FROM_LE_32(ref_lp[width_tbl[1]]) >> 1) + correction_lp[lp2 & 0x01][k]) << 1); + lp2++; + break; + + case 1: + if (correction_type_sp[lp2 & 0x01][*buf1] != 1) { + // See mode 0/1 + //warning("Glitch"); + return; + } + + lv1 = (uint16)(correction_lp[lp2 & 0x01][*buf1++]); + lv2 = (uint16)(correction_lp[lp2 & 0x01][k]); + res = (uint16)(((FROM_LE_16(((uint16 *)ref_lp)[0]) >> 1) + lv1) << 1); + ((uint16 *)cur_lp)[0] = FROM_LE_16(res); + res = (uint16)(((FROM_LE_16(((uint16 *)ref_lp)[1]) >> 1) + lv2) << 1); + ((uint16 *)cur_lp)[1] = FROM_LE_16(res); + res = (uint16)(((FROM_LE_16(((uint16 *)ref_lp)[width_tbl[2]]) >> 1) + lv1) << 1); + ((uint16 *)cur_lp)[width_tbl[2]] = FROM_LE_16(res); + res = (uint16)(((FROM_LE_16(((uint16 *)ref_lp)[width_tbl[2]+1]) >> 1) + lv2) << 1); + ((uint16 *)cur_lp)[width_tbl[2]+1] = FROM_LE_16(res); + lp2++; + break; + + case 2: + if (lp2 == 0) { + for (i = 0, j = 0; i < 4; i++, j += width_tbl[1]) + cur_lp[j] = ref_lp[j]; + lp2 += 2; + } + break; + + case 3: + if (lp2 < 2) { + for (i = 0, j = 0; i < 6 - (lp2 * 2); i++, j += width_tbl[1]) + cur_lp[j] = ref_lp[j]; + lp2 = 3; + } + break; + + case 8: + if (lp2 == 0) { + RLE_V3_CHECK(buf1,rle_v1,rle_v2,rle_v3) + + for (i = 0, j = 0; i < 8; i++, j += width_tbl[1]) + cur_lp[j] = ref_lp[j]; + + RLE_V2_CHECK(buf1,rle_v2, rle_v3,lp2) + break; + } else { + rle_v1 = 1; + rle_v2 = (*buf1) - 1; + } + case 5: + case 7: + LP2_CHECK(buf1,rle_v3,lp2) + case 4: + case 6: + for (i = 0, j = 0; i < 8 - (lp2 * 2); i++, j += width_tbl[1]) + cur_lp[j] = ref_lp[j]; + lp2 = 4; + break; + + case 9: + warning("Indeo3Decoder::decodeChunk: Untested (4)"); + lv1 = *buf1++; + lv = (lv1 & 0x7F) << 1; + lv += (lv << 8); + lv += (lv << 16); + for (i = 0, j = 0; i < 4; i++, j += width_tbl[1]) + cur_lp[j] = lv; + LV1_CHECK(buf1,rle_v3,lv1,lp2) + break; + + default: + return; + } + } + + cur_frm_pos += 4; + ref_frm_pos += 4; + } + + cur_frm_pos += (((width * 2) - blks_width) * 4); + ref_frm_pos += (((width * 2) - blks_width) * 4); + } + break; + + default: + // FIXME: I've seen case 13 happen in Urban + // Runner. Perhaps it uses a more recent form of + // Indeo 3? There appears to have been several. + // -> This should not happen anymore with the other skipping for bad data. + warning("Indeo3Decoder::decodeChunk: Unknown case %d", k); + return; + } + } + + if (strip < strip_tbl) + return; + + for ( ; strip >= strip_tbl; strip--) { + if (strip->split_flag != 0) { + strip->split_flag = 0; + strip->usl7 = (strip-1)->usl7; + + if (strip->split_direction) { + strip->xpos += strip->width; + strip->width = (strip-1)->width - strip->width; + if (region_160_width <= strip->xpos && width < strip->width + strip->xpos) + strip->width = width - strip->xpos; + } else { + strip->ypos += strip->height; + strip->height = (strip-1)->height - strip->height; + } + break; + } + } + } +} + +// static data + +const int Indeo3Decoder::_corrector_type_0[24] = { + 195, 159, 133, 115, 101, 93, 87, 77, + 195, 159, 133, 115, 101, 93, 87, 77, + 128, 79, 79, 79, 79, 79, 79, 79 +}; + +const int Indeo3Decoder::_corrector_type_2[8] = { 9, 7, 6, 8, 5, 4, 3, 2 }; + +const uint32 Indeo3Decoder::correction[] = { + 0x00000000, 0x00000202, 0xfffffdfe, 0x000002ff, 0xfffffd01, 0xffffff03, 0x000000fd, 0x00000404, + 0xfffffbfc, 0x00000501, 0xfffffaff, 0x00000105, 0xfffffefb, 0x000003fc, 0xfffffc04, 0x000005fe, + 0xfffffa02, 0xfffffe06, 0x000001fa, 0x00000904, 0xfffff6fc, 0x00000409, 0xfffffbf7, 0x00000909, + 0xfffff6f7, 0x00000a01, 0xfffff5ff, 0x0000010a, 0xfffffef6, 0x000007fb, 0xfffff805, 0xfffffb08, + 0x000004f8, 0x00000f09, 0xfffff0f7, 0x0000090f, 0xfffff6f1, 0x00000bfd, 0xfffff403, 0xfffffd0c, + 0x000002f4, 0x00001004, 0xffffeffc, 0x00000410, 0xfffffbf0, 0x00001010, 0xffffeff0, 0x00001200, + 0xffffee00, 0x00000012, 0xffffffee, 0x00000bf4, 0xfffff40c, 0x00000ff7, 0xfffff009, 0xfffff710, + 0x000008f0, 0x00001b0b, 0xffffe4f5, 0x00000b1b, 0xfffff4e5, 0x00001c13, 0xffffe3ed, 0x0000131c, + 0xffffece4, 0x000015fa, 0xffffea06, 0xfffffa16, 0x000005ea, 0x00001d04, 0xffffe2fc, 0x0000041d, + 0xfffffbe3, 0x00001e1e, 0xffffe1e2, 0x000020fe, 0xffffdf02, 0xfffffe21, 0x000001df, 0x000016ee, + 0xffffe912, 0xffffee17, 0x000011e9, 0x00001df1, 0xffffe20f, 0xfffff11e, 0x00000ee2, 0x00002e16, + 0xffffd1ea, 0x0000162e, 0xffffe9d2, 0x00002f0d, 0xffffd0f3, 0x00000d2f, 0xfffff2d1, 0x00003123, + 0xffffcedd, 0x00002331, 0xffffdccf, 0x000028f5, 0xffffd70b, 0xfffff529, 0x00000ad7, 0x00003304, + 0xffffccfc, 0x00000433, 0xfffffbcd, 0x00003636, 0xffffc9ca, 0x000021de, 0xffffde22, 0x000029e3, + 0xffffd61d, 0xffffe32a, 0x00001cd6, 0x00003bfa, 0xffffc406, 0xfffffa3c, 0x000005c4, 0x00004c1b, + 0xffffb3e5, 0x00001b4c, 0xffffe4b4, 0x00004d2b, 0xffffb2d5, 0x00002b4d, 0xffffd4b3, 0x000036e8, + 0xffffc918, 0xffffe837, 0x000017c9, 0x00004f0e, 0xffffb0f2, 0x00000e4f, 0xfffff1b1, 0x0000533f, + 0xffffacc1, 0x00003f53, 0xffffc0ad, 0x000049ec, 0xffffb614, 0xffffec4a, 0x000013b6, 0x00005802, + 0xffffa7fe, 0x00000258, 0xfffffda8, 0x00005d5d, 0xffffa2a3, 0x00003ccc, 0xffffc334, 0xffffcc3d, + 0x000033c3, 0x00007834, 0xffff87cc, 0x00003478, 0xffffcb88, 0x00004ad3, 0xffffb52d, 0xffffd34b, + 0x00002cb5, 0x00007d4b, 0xffff82b5, 0x00004b7d, 0xffffb483, 0x00007a21, 0xffff85df, 0x0000217a, + 0xffffde86, 0x000066f3, 0xffff990d, 0xfffff367, 0x00000c99, 0x00005fd8, 0xffffa028, 0xffffd860, + 0x000027a0, 0x00007ede, 0xffff8122, 0xffffde7f, 0x00002181, 0x000058a7, 0xffffa759, 0x000068b2, + 0xffff974e, 0xffffb269, 0x00004d97, 0x00000c0c, 0xfffff3f4, 0x00001717, 0xffffe8e9, 0x00002a2a, + 0xffffd5d6, 0x00004949, 0xffffb6b7, 0x00000000, 0x02020000, 0xfdfe0000, 0x02ff0000, 0xfd010000, + 0xff030000, 0x00fd0000, 0x00000202, 0x02020202, 0xfdfe0202, 0x02ff0202, 0xfd010202, 0xff030202, + 0x00fd0202, 0xfffffdfe, 0x0201fdfe, 0xfdfdfdfe, 0x02fefdfe, 0xfd00fdfe, 0xff02fdfe, 0x00fcfdfe, + 0x000002ff, 0x020202ff, 0xfdfe02ff, 0x02ff02ff, 0xfd0102ff, 0xff0302ff, 0x00fd02ff, 0xfffffd01, + 0x0201fd01, 0xfdfdfd01, 0x02fefd01, 0xfd00fd01, 0xff02fd01, 0x00fcfd01, 0xffffff03, 0x0201ff03, + 0xfdfdff03, 0x02feff03, 0xfd00ff03, 0xff02ff03, 0x00fcff03, 0x000000fd, 0x020200fd, 0xfdfe00fd, + 0x02ff00fd, 0xfd0100fd, 0xff0300fd, 0x00fd00fd, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000303, 0xfffffcfd, 0x000003ff, 0xfffffc01, 0xffffff04, 0x000000fc, 0x00000707, + 0xfffff8f9, 0x00000802, 0xfffff7fe, 0x00000208, 0xfffffdf8, 0x000008fe, 0xfffff702, 0xfffffe09, + 0x000001f7, 0x000005fa, 0xfffffa06, 0x00000d06, 0xfffff2fa, 0x0000060d, 0xfffff9f3, 0x00000d0d, + 0xfffff2f3, 0x00000e01, 0xfffff1ff, 0x0000010e, 0xfffffef2, 0x00000bf8, 0xfffff408, 0xfffff80c, + 0x000007f4, 0x0000170e, 0xffffe8f2, 0x00000e17, 0xfffff1e9, 0x000011fb, 0xffffee05, 0xfffffb12, + 0x000004ee, 0x00001806, 0xffffe7fa, 0x00000618, 0xfffff9e8, 0x00001818, 0xffffe7e8, 0x00001aff, + 0xffffe501, 0xffffff1b, 0x000000e5, 0x000010ef, 0xffffef11, 0x000016f3, 0xffffe90d, 0xfffff317, + 0x00000ce9, 0x00002810, 0xffffd7f0, 0x00001028, 0xffffefd8, 0x0000291c, 0xffffd6e4, 0x00001c29, + 0xffffe3d7, 0x000020f7, 0xffffdf09, 0xfffff721, 0x000008df, 0x00002b06, 0xffffd4fa, 0x0000062b, + 0xfffff9d5, 0x00002e2e, 0xffffd1d2, 0x000031fc, 0xffffce04, 0xfffffc32, 0x000003ce, 0x000021e5, + 0xffffde1b, 0xffffe522, 0x00001ade, 0x00002cea, 0xffffd316, 0xffffea2d, 0x000015d3, 0x00004522, + 0xffffbade, 0x00002245, 0xffffddbb, 0x00004613, 0xffffb9ed, 0x00001346, 0xffffecba, 0x00004935, + 0xffffb6cb, 0x00003549, 0xffffcab7, 0x00003def, 0xffffc211, 0xffffef3e, 0x000010c2, 0x00004d05, + 0xffffb2fb, 0x0000054d, 0xfffffab3, 0x00005252, 0xffffadae, 0x000032cd, 0xffffcd33, 0x00003fd5, + 0xffffc02b, 0xffffd540, 0x00002ac0, 0x000059f6, 0xffffa60a, 0xfffff65a, 0x000009a6, 0x00007229, + 0xffff8dd7, 0x00002972, 0xffffd68e, 0x00007440, 0xffff8bc0, 0x00004074, 0xffffbf8c, 0x000051db, + 0xffffae25, 0xffffdb52, 0x000024ae, 0x00007716, 0xffff88ea, 0x00001677, 0xffffe989, 0x00007c5f, + 0xffff83a1, 0x00005f7c, 0xffffa084, 0x00006ee2, 0xffff911e, 0xffffe26f, 0x00001d91, 0x00005bb2, + 0xffffa44e, 0xffffb25c, 0x00004da4, 0x000070bc, 0xffff8f44, 0xffffbc71, 0x0000438f, 0x00001212, + 0xffffedee, 0x00002222, 0xffffddde, 0x00003f3f, 0xffffc0c1, 0x00006d6d, 0xffff9293, 0x00000000, + 0x03030000, 0xfcfd0000, 0x03ff0000, 0xfc010000, 0xff040000, 0x00fc0000, 0x07070000, 0xf8f90000, + 0x00000303, 0x03030303, 0xfcfd0303, 0x03ff0303, 0xfc010303, 0xff040303, 0x00fc0303, 0x07070303, + 0xf8f90303, 0xfffffcfd, 0x0302fcfd, 0xfcfcfcfd, 0x03fefcfd, 0xfc00fcfd, 0xff03fcfd, 0x00fbfcfd, + 0x0706fcfd, 0xf8f8fcfd, 0x000003ff, 0x030303ff, 0xfcfd03ff, 0x03ff03ff, 0xfc0103ff, 0xff0403ff, + 0x00fc03ff, 0x070703ff, 0xf8f903ff, 0xfffffc01, 0x0302fc01, 0xfcfcfc01, 0x03fefc01, 0xfc00fc01, + 0xff03fc01, 0x00fbfc01, 0x0706fc01, 0xf8f8fc01, 0xffffff04, 0x0302ff04, 0xfcfcff04, 0x03feff04, + 0xfc00ff04, 0xff03ff04, 0x00fbff04, 0x0706ff04, 0xf8f8ff04, 0x000000fc, 0x030300fc, 0xfcfd00fc, + 0x03ff00fc, 0xfc0100fc, 0xff0400fc, 0x00fc00fc, 0x070700fc, 0xf8f900fc, 0x00000707, 0x03030707, + 0xfcfd0707, 0x03ff0707, 0xfc010707, 0xff040707, 0x00fc0707, 0x07070707, 0xf8f90707, 0xfffff8f9, + 0x0302f8f9, 0xfcfcf8f9, 0x03fef8f9, 0xfc00f8f9, 0xff03f8f9, 0x00fbf8f9, 0x0706f8f9, 0xf8f8f8f9, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000404, 0xfffffbfc, 0x000004ff, 0xfffffb01, 0xffffff05, 0x000000fb, 0x00000a03, + 0xfffff5fd, 0x0000030a, 0xfffffcf6, 0x00000909, 0xfffff6f7, 0x000006f9, 0xfffff907, 0x00000bfd, + 0xfffff403, 0xfffffd0c, 0x000002f4, 0x00001108, 0xffffeef8, 0x00000811, 0xfffff7ef, 0x00001111, + 0xffffeeef, 0x00001301, 0xffffecff, 0x00000113, 0xfffffeed, 0x00000ff5, 0xfffff00b, 0xfffff510, + 0x00000af0, 0x000016fa, 0xffffe906, 0xfffffa17, 0x000005e9, 0x00001f12, 0xffffe0ee, 0x0000121f, + 0xffffede1, 0x00002008, 0xffffdff8, 0x00000820, 0xfffff7e0, 0x00002121, 0xffffdedf, 0x000023ff, + 0xffffdc01, 0xffffff24, 0x000000dc, 0x000016e9, 0xffffe917, 0x00001eef, 0xffffe111, 0xffffef1f, + 0x000010e1, 0x00003615, 0xffffc9eb, 0x00001536, 0xffffeaca, 0x00003725, 0xffffc8db, 0x00002537, + 0xffffdac9, 0x00002bf4, 0xffffd40c, 0xfffff42c, 0x00000bd4, 0x00003908, 0xffffc6f8, 0x00000839, + 0xfffff7c7, 0x00003d3d, 0xffffc2c3, 0x000041fb, 0xffffbe05, 0xfffffb42, 0x000004be, 0x00002cdc, + 0xffffd324, 0xffffdc2d, 0x000023d3, 0x00003be3, 0xffffc41d, 0xffffe33c, 0x00001cc4, 0x00005c2d, + 0xffffa3d3, 0x00002d5c, 0xffffd2a4, 0x00005d19, 0xffffa2e7, 0x0000195d, 0xffffe6a3, 0x00006147, + 0xffff9eb9, 0x00004761, 0xffffb89f, 0x000052ea, 0xffffad16, 0xffffea53, 0x000015ad, 0x00006607, + 0xffff99f9, 0x00000766, 0xfffff89a, 0x00006d6d, 0xffff9293, 0x000043bc, 0xffffbc44, 0x000054c7, + 0xffffab39, 0xffffc755, 0x000038ab, 0x000077f3, 0xffff880d, 0xfffff378, 0x00000c88, 0x00006dcf, + 0xffff9231, 0xffffcf6e, 0x00003092, 0x00007a98, 0xffff8568, 0xffff987b, 0x00006785, 0x00001818, + 0xffffe7e8, 0x00002e2e, 0xffffd1d2, 0x00005454, 0xffffabac, 0x00000000, 0x04040000, 0xfbfc0000, + 0x04ff0000, 0xfb010000, 0xff050000, 0x00fb0000, 0x0a030000, 0xf5fd0000, 0x030a0000, 0x00000404, + 0x04040404, 0xfbfc0404, 0x04ff0404, 0xfb010404, 0xff050404, 0x00fb0404, 0x0a030404, 0xf5fd0404, + 0x030a0404, 0xfffffbfc, 0x0403fbfc, 0xfbfbfbfc, 0x04fefbfc, 0xfb00fbfc, 0xff04fbfc, 0x00fafbfc, + 0x0a02fbfc, 0xf5fcfbfc, 0x0309fbfc, 0x000004ff, 0x040404ff, 0xfbfc04ff, 0x04ff04ff, 0xfb0104ff, + 0xff0504ff, 0x00fb04ff, 0x0a0304ff, 0xf5fd04ff, 0x030a04ff, 0xfffffb01, 0x0403fb01, 0xfbfbfb01, + 0x04fefb01, 0xfb00fb01, 0xff04fb01, 0x00fafb01, 0x0a02fb01, 0xf5fcfb01, 0x0309fb01, 0xffffff05, + 0x0403ff05, 0xfbfbff05, 0x04feff05, 0xfb00ff05, 0xff04ff05, 0x00faff05, 0x0a02ff05, 0xf5fcff05, + 0x0309ff05, 0x000000fb, 0x040400fb, 0xfbfc00fb, 0x04ff00fb, 0xfb0100fb, 0xff0500fb, 0x00fb00fb, + 0x0a0300fb, 0xf5fd00fb, 0x030a00fb, 0x00000a03, 0x04040a03, 0xfbfc0a03, 0x04ff0a03, 0xfb010a03, + 0xff050a03, 0x00fb0a03, 0x0a030a03, 0xf5fd0a03, 0x030a0a03, 0xfffff5fd, 0x0403f5fd, 0xfbfbf5fd, + 0x04fef5fd, 0xfb00f5fd, 0xff04f5fd, 0x00faf5fd, 0x0a02f5fd, 0xf5fcf5fd, 0x0309f5fd, 0x0000030a, + 0x0404030a, 0xfbfc030a, 0x04ff030a, 0xfb01030a, 0xff05030a, 0x00fb030a, 0x0a03030a, 0xf5fd030a, + 0x030a030a, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000505, 0xfffffafb, 0x000006fe, 0xfffff902, 0xfffffe07, 0x000001f9, 0x00000b0b, + 0xfffff4f5, 0x00000d03, 0xfffff2fd, 0x0000030d, 0xfffffcf3, 0x000008f7, 0xfffff709, 0x00000efc, + 0xfffff104, 0xfffffc0f, 0x000003f1, 0x0000160b, 0xffffe9f5, 0x00000b16, 0xfffff4ea, 0x00001515, + 0xffffeaeb, 0x00001802, 0xffffe7fe, 0x00000218, 0xfffffde8, 0x000013f2, 0xffffec0e, 0xfffff214, + 0x00000dec, 0x00002617, 0xffffd9e9, 0x00001726, 0xffffe8da, 0x00001cf8, 0xffffe308, 0xfffff81d, + 0x000007e3, 0x0000270b, 0xffffd8f5, 0x00000b27, 0xfffff4d9, 0x00002929, 0xffffd6d7, 0x00002cff, + 0xffffd301, 0xffffff2d, 0x000000d3, 0x00001ce3, 0xffffe31d, 0x000026ea, 0xffffd916, 0xffffea27, + 0x000015d9, 0x0000431b, 0xffffbce5, 0x00001b43, 0xffffe4bd, 0x0000452f, 0xffffbad1, 0x00002f45, + 0xffffd0bb, 0x000037f1, 0xffffc80f, 0xfffff138, 0x00000ec8, 0x0000470b, 0xffffb8f5, 0x00000b47, + 0xfffff4b9, 0x00004c4c, 0xffffb3b4, 0x000052fa, 0xffffad06, 0xfffffa53, 0x000005ad, 0x000038d3, + 0xffffc72d, 0xffffd339, 0x00002cc7, 0x00004adc, 0xffffb524, 0xffffdc4b, 0x000023b5, 0x00007338, + 0xffff8cc8, 0x00003873, 0xffffc78d, 0x0000751f, 0xffff8ae1, 0x00001f75, 0xffffe08b, 0x00007a58, + 0xffff85a8, 0x0000587a, 0xffffa786, 0x000067e4, 0xffff981c, 0xffffe468, 0x00001b98, 0x000054ab, + 0xffffab55, 0x000069b8, 0xffff9648, 0xffffb86a, 0x00004796, 0x00001e1e, 0xffffe1e2, 0x00003a3a, + 0xffffc5c6, 0x00006969, 0xffff9697, 0x00000000, 0x05050000, 0xfafb0000, 0x06fe0000, 0xf9020000, + 0xfe070000, 0x01f90000, 0x0b0b0000, 0xf4f50000, 0x0d030000, 0xf2fd0000, 0x00000505, 0x05050505, + 0xfafb0505, 0x06fe0505, 0xf9020505, 0xfe070505, 0x01f90505, 0x0b0b0505, 0xf4f50505, 0x0d030505, + 0xf2fd0505, 0xfffffafb, 0x0504fafb, 0xfafafafb, 0x06fdfafb, 0xf901fafb, 0xfe06fafb, 0x01f8fafb, + 0x0b0afafb, 0xf4f4fafb, 0x0d02fafb, 0xf2fcfafb, 0x000006fe, 0x050506fe, 0xfafb06fe, 0x06fe06fe, + 0xf90206fe, 0xfe0706fe, 0x01f906fe, 0x0b0b06fe, 0xf4f506fe, 0x0d0306fe, 0xf2fd06fe, 0xfffff902, + 0x0504f902, 0xfafaf902, 0x06fdf902, 0xf901f902, 0xfe06f902, 0x01f8f902, 0x0b0af902, 0xf4f4f902, + 0x0d02f902, 0xf2fcf902, 0xfffffe07, 0x0504fe07, 0xfafafe07, 0x06fdfe07, 0xf901fe07, 0xfe06fe07, + 0x01f8fe07, 0x0b0afe07, 0xf4f4fe07, 0x0d02fe07, 0xf2fcfe07, 0x000001f9, 0x050501f9, 0xfafb01f9, + 0x06fe01f9, 0xf90201f9, 0xfe0701f9, 0x01f901f9, 0x0b0b01f9, 0xf4f501f9, 0x0d0301f9, 0xf2fd01f9, + 0x00000b0b, 0x05050b0b, 0xfafb0b0b, 0x06fe0b0b, 0xf9020b0b, 0xfe070b0b, 0x01f90b0b, 0x0b0b0b0b, + 0xf4f50b0b, 0x0d030b0b, 0xf2fd0b0b, 0xfffff4f5, 0x0504f4f5, 0xfafaf4f5, 0x06fdf4f5, 0xf901f4f5, + 0xfe06f4f5, 0x01f8f4f5, 0x0b0af4f5, 0xf4f4f4f5, 0x0d02f4f5, 0xf2fcf4f5, 0x00000d03, 0x05050d03, + 0xfafb0d03, 0x06fe0d03, 0xf9020d03, 0xfe070d03, 0x01f90d03, 0x0b0b0d03, 0xf4f50d03, 0x0d030d03, + 0xf2fd0d03, 0xfffff2fd, 0x0504f2fd, 0xfafaf2fd, 0x06fdf2fd, 0xf901f2fd, 0xfe06f2fd, 0x01f8f2fd, + 0x0b0af2fd, 0xf4f4f2fd, 0x0d02f2fd, 0xf2fcf2fd, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000606, 0xfffff9fa, 0x000007fe, 0xfffff802, 0xfffffe08, 0x000001f8, 0x00000d0d, + 0xfffff2f3, 0x00000f04, 0xfffff0fc, 0x0000040f, 0xfffffbf1, 0x00000af5, 0xfffff50b, 0x000011fb, + 0xffffee05, 0xfffffb12, 0x000004ee, 0x00001a0d, 0xffffe5f3, 0x00000d1a, 0xfffff2e6, 0x00001a1a, + 0xffffe5e6, 0x00001d02, 0xffffe2fe, 0x0000021d, 0xfffffde3, 0x000017f0, 0xffffe810, 0xfffff018, + 0x00000fe8, 0x00002e1c, 0xffffd1e4, 0x00001c2e, 0xffffe3d2, 0x000022f7, 0xffffdd09, 0xfffff723, + 0x000008dd, 0x00002f0d, 0xffffd0f3, 0x00000d2f, 0xfffff2d1, 0x00003131, 0xffffcecf, 0x000035ff, + 0xffffca01, 0xffffff36, 0x000000ca, 0x000022dd, 0xffffdd23, 0x00002ee6, 0xffffd11a, 0xffffe62f, + 0x000019d1, 0x00005120, 0xffffaee0, 0x00002051, 0xffffdfaf, 0x00005338, 0xffffacc8, 0x00003853, + 0xffffc7ad, 0x000042ee, 0xffffbd12, 0xffffee43, 0x000011bd, 0x0000560d, 0xffffa9f3, 0x00000d56, + 0xfffff2aa, 0x00005b5b, 0xffffa4a5, 0x000062f9, 0xffff9d07, 0xfffff963, 0x0000069d, 0x000043ca, + 0xffffbc36, 0xffffca44, 0x000035bc, 0x000059d4, 0xffffa62c, 0xffffd45a, 0x00002ba6, 0x00007bdf, + 0xffff8421, 0xffffdf7c, 0x00002084, 0x00006699, 0xffff9967, 0x00007eaa, 0xffff8156, 0xffffaa7f, + 0x00005581, 0x00002525, 0xffffdadb, 0x00004545, 0xffffbabb, 0x00000000, 0x06060000, 0xf9fa0000, + 0x07fe0000, 0xf8020000, 0xfe080000, 0x01f80000, 0x0d0d0000, 0xf2f30000, 0x0f040000, 0xf0fc0000, + 0x040f0000, 0x00000606, 0x06060606, 0xf9fa0606, 0x07fe0606, 0xf8020606, 0xfe080606, 0x01f80606, + 0x0d0d0606, 0xf2f30606, 0x0f040606, 0xf0fc0606, 0x040f0606, 0xfffff9fa, 0x0605f9fa, 0xf9f9f9fa, + 0x07fdf9fa, 0xf801f9fa, 0xfe07f9fa, 0x01f7f9fa, 0x0d0cf9fa, 0xf2f2f9fa, 0x0f03f9fa, 0xf0fbf9fa, + 0x040ef9fa, 0x000007fe, 0x060607fe, 0xf9fa07fe, 0x07fe07fe, 0xf80207fe, 0xfe0807fe, 0x01f807fe, + 0x0d0d07fe, 0xf2f307fe, 0x0f0407fe, 0xf0fc07fe, 0x040f07fe, 0xfffff802, 0x0605f802, 0xf9f9f802, + 0x07fdf802, 0xf801f802, 0xfe07f802, 0x01f7f802, 0x0d0cf802, 0xf2f2f802, 0x0f03f802, 0xf0fbf802, + 0x040ef802, 0xfffffe08, 0x0605fe08, 0xf9f9fe08, 0x07fdfe08, 0xf801fe08, 0xfe07fe08, 0x01f7fe08, + 0x0d0cfe08, 0xf2f2fe08, 0x0f03fe08, 0xf0fbfe08, 0x040efe08, 0x000001f8, 0x060601f8, 0xf9fa01f8, + 0x07fe01f8, 0xf80201f8, 0xfe0801f8, 0x01f801f8, 0x0d0d01f8, 0xf2f301f8, 0x0f0401f8, 0xf0fc01f8, + 0x040f01f8, 0x00000d0d, 0x06060d0d, 0xf9fa0d0d, 0x07fe0d0d, 0xf8020d0d, 0xfe080d0d, 0x01f80d0d, + 0x0d0d0d0d, 0xf2f30d0d, 0x0f040d0d, 0xf0fc0d0d, 0x040f0d0d, 0xfffff2f3, 0x0605f2f3, 0xf9f9f2f3, + 0x07fdf2f3, 0xf801f2f3, 0xfe07f2f3, 0x01f7f2f3, 0x0d0cf2f3, 0xf2f2f2f3, 0x0f03f2f3, 0xf0fbf2f3, + 0x040ef2f3, 0x00000f04, 0x06060f04, 0xf9fa0f04, 0x07fe0f04, 0xf8020f04, 0xfe080f04, 0x01f80f04, + 0x0d0d0f04, 0xf2f30f04, 0x0f040f04, 0xf0fc0f04, 0x040f0f04, 0xfffff0fc, 0x0605f0fc, 0xf9f9f0fc, + 0x07fdf0fc, 0xf801f0fc, 0xfe07f0fc, 0x01f7f0fc, 0x0d0cf0fc, 0xf2f2f0fc, 0x0f03f0fc, 0xf0fbf0fc, + 0x040ef0fc, 0x0000040f, 0x0606040f, 0xf9fa040f, 0x07fe040f, 0xf802040f, 0xfe08040f, 0x01f8040f, + 0x0d0d040f, 0xf2f3040f, 0x0f04040f, 0xf0fc040f, 0x040f040f, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000707, 0xfffff8f9, 0x000009fd, 0xfffff603, 0xfffffd0a, 0x000002f6, 0x00001010, + 0xffffeff0, 0x00001205, 0xffffedfb, 0x00000512, 0xfffffaee, 0x00000cf3, 0xfffff30d, 0x000014fa, + 0xffffeb06, 0xfffffa15, 0x000005eb, 0x00001e0f, 0xffffe1f1, 0x00000f1e, 0xfffff0e2, 0x00001e1e, + 0xffffe1e2, 0x00002202, 0xffffddfe, 0x00000222, 0xfffffdde, 0x00001bed, 0xffffe413, 0xffffed1c, + 0x000012e4, 0x00003620, 0xffffc9e0, 0x00002036, 0xffffdfca, 0x000028f5, 0xffffd70b, 0xfffff529, + 0x00000ad7, 0x0000370f, 0xffffc8f1, 0x00000f37, 0xfffff0c9, 0x00003939, 0xffffc6c7, 0x00003eff, + 0xffffc101, 0xffffff3f, 0x000000c1, 0x000027d8, 0xffffd828, 0x000036e2, 0xffffc91e, 0xffffe237, + 0x00001dc9, 0x00005e25, 0xffffa1db, 0x0000255e, 0xffffdaa2, 0x00006041, 0xffff9fbf, 0x00004160, + 0xffffbea0, 0x00004deb, 0xffffb215, 0xffffeb4e, 0x000014b2, 0x0000640f, 0xffff9bf1, 0x00000f64, + 0xfffff09c, 0x00006a6a, 0xffff9596, 0x000073f8, 0xffff8c08, 0xfffff874, 0x0000078c, 0x00004ec1, + 0xffffb13f, 0xffffc14f, 0x00003eb1, 0x000068cd, 0xffff9733, 0xffffcd69, 0x00003297, 0x00007788, + 0xffff8878, 0x00002b2b, 0xffffd4d5, 0x00005050, 0xffffafb0, 0x00000000, 0x07070000, 0xf8f90000, + 0x09fd0000, 0xf6030000, 0xfd0a0000, 0x02f60000, 0x10100000, 0xeff00000, 0x12050000, 0xedfb0000, + 0x05120000, 0x00000707, 0x07070707, 0xf8f90707, 0x09fd0707, 0xf6030707, 0xfd0a0707, 0x02f60707, + 0x10100707, 0xeff00707, 0x12050707, 0xedfb0707, 0x05120707, 0xfffff8f9, 0x0706f8f9, 0xf8f8f8f9, + 0x09fcf8f9, 0xf602f8f9, 0xfd09f8f9, 0x02f5f8f9, 0x100ff8f9, 0xefeff8f9, 0x1204f8f9, 0xedfaf8f9, + 0x0511f8f9, 0x000009fd, 0x070709fd, 0xf8f909fd, 0x09fd09fd, 0xf60309fd, 0xfd0a09fd, 0x02f609fd, + 0x101009fd, 0xeff009fd, 0x120509fd, 0xedfb09fd, 0x051209fd, 0xfffff603, 0x0706f603, 0xf8f8f603, + 0x09fcf603, 0xf602f603, 0xfd09f603, 0x02f5f603, 0x100ff603, 0xefeff603, 0x1204f603, 0xedfaf603, + 0x0511f603, 0xfffffd0a, 0x0706fd0a, 0xf8f8fd0a, 0x09fcfd0a, 0xf602fd0a, 0xfd09fd0a, 0x02f5fd0a, + 0x100ffd0a, 0xefeffd0a, 0x1204fd0a, 0xedfafd0a, 0x0511fd0a, 0x000002f6, 0x070702f6, 0xf8f902f6, + 0x09fd02f6, 0xf60302f6, 0xfd0a02f6, 0x02f602f6, 0x101002f6, 0xeff002f6, 0x120502f6, 0xedfb02f6, + 0x051202f6, 0x00001010, 0x07071010, 0xf8f91010, 0x09fd1010, 0xf6031010, 0xfd0a1010, 0x02f61010, + 0x10101010, 0xeff01010, 0x12051010, 0xedfb1010, 0x05121010, 0xffffeff0, 0x0706eff0, 0xf8f8eff0, + 0x09fceff0, 0xf602eff0, 0xfd09eff0, 0x02f5eff0, 0x100feff0, 0xefefeff0, 0x1204eff0, 0xedfaeff0, + 0x0511eff0, 0x00001205, 0x07071205, 0xf8f91205, 0x09fd1205, 0xf6031205, 0xfd0a1205, 0x02f61205, + 0x10101205, 0xeff01205, 0x12051205, 0xedfb1205, 0x05121205, 0xffffedfb, 0x0706edfb, 0xf8f8edfb, + 0x09fcedfb, 0xf602edfb, 0xfd09edfb, 0x02f5edfb, 0x100fedfb, 0xefefedfb, 0x1204edfb, 0xedfaedfb, + 0x0511edfb, 0x00000512, 0x07070512, 0xf8f90512, 0x09fd0512, 0xf6030512, 0xfd0a0512, 0x02f60512, + 0x10100512, 0xeff00512, 0x12050512, 0xedfb0512, 0x05120512, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000808, 0xfffff7f8, 0x00000afd, 0xfffff503, 0xfffffd0b, 0x000002f5, 0x00001212, + 0xffffedee, 0x00001405, 0xffffebfb, 0x00000514, 0xfffffaec, 0x00000ef1, 0xfffff10f, 0x000017f9, + 0xffffe807, 0xfffff918, 0x000006e8, 0x00002311, 0xffffdcef, 0x00001123, 0xffffeedd, 0x00002222, + 0xffffddde, 0x00002603, 0xffffd9fd, 0x00000326, 0xfffffcda, 0x00001fea, 0xffffe016, 0xffffea20, + 0x000015e0, 0x00003d25, 0xffffc2db, 0x0000253d, 0xffffdac3, 0x00002ef3, 0xffffd10d, 0xfffff32f, + 0x00000cd1, 0x00003f11, 0xffffc0ef, 0x0000113f, 0xffffeec1, 0x00004141, 0xffffbebf, 0x000047ff, + 0xffffb801, 0xffffff48, 0x000000b8, 0x00002dd2, 0xffffd22e, 0x00003edd, 0xffffc123, 0xffffdd3f, + 0x000022c1, 0x00006b2b, 0xffff94d5, 0x00002b6b, 0xffffd495, 0x00006e4b, 0xffff91b5, 0x00004b6e, + 0xffffb492, 0x000058e8, 0xffffa718, 0xffffe859, 0x000017a7, 0x00007211, 0xffff8def, 0x00001172, + 0xffffee8e, 0x00007979, 0xffff8687, 0x00005ab8, 0xffffa548, 0xffffb85b, 0x000047a5, 0x000077c6, + 0xffff883a, 0xffffc678, 0x00003988, 0x00003131, 0xffffcecf, 0x00005c5c, 0xffffa3a4, 0x00000000, + 0x08080000, 0xf7f80000, 0x0afd0000, 0xf5030000, 0xfd0b0000, 0x02f50000, 0x12120000, 0xedee0000, + 0x14050000, 0xebfb0000, 0x05140000, 0x00000808, 0x08080808, 0xf7f80808, 0x0afd0808, 0xf5030808, + 0xfd0b0808, 0x02f50808, 0x12120808, 0xedee0808, 0x14050808, 0xebfb0808, 0x05140808, 0xfffff7f8, + 0x0807f7f8, 0xf7f7f7f8, 0x0afcf7f8, 0xf502f7f8, 0xfd0af7f8, 0x02f4f7f8, 0x1211f7f8, 0xededf7f8, + 0x1404f7f8, 0xebfaf7f8, 0x0513f7f8, 0x00000afd, 0x08080afd, 0xf7f80afd, 0x0afd0afd, 0xf5030afd, + 0xfd0b0afd, 0x02f50afd, 0x12120afd, 0xedee0afd, 0x14050afd, 0xebfb0afd, 0x05140afd, 0xfffff503, + 0x0807f503, 0xf7f7f503, 0x0afcf503, 0xf502f503, 0xfd0af503, 0x02f4f503, 0x1211f503, 0xededf503, + 0x1404f503, 0xebfaf503, 0x0513f503, 0xfffffd0b, 0x0807fd0b, 0xf7f7fd0b, 0x0afcfd0b, 0xf502fd0b, + 0xfd0afd0b, 0x02f4fd0b, 0x1211fd0b, 0xededfd0b, 0x1404fd0b, 0xebfafd0b, 0x0513fd0b, 0x000002f5, + 0x080802f5, 0xf7f802f5, 0x0afd02f5, 0xf50302f5, 0xfd0b02f5, 0x02f502f5, 0x121202f5, 0xedee02f5, + 0x140502f5, 0xebfb02f5, 0x051402f5, 0x00001212, 0x08081212, 0xf7f81212, 0x0afd1212, 0xf5031212, + 0xfd0b1212, 0x02f51212, 0x12121212, 0xedee1212, 0x14051212, 0xebfb1212, 0x05141212, 0xffffedee, + 0x0807edee, 0xf7f7edee, 0x0afcedee, 0xf502edee, 0xfd0aedee, 0x02f4edee, 0x1211edee, 0xedededee, + 0x1404edee, 0xebfaedee, 0x0513edee, 0x00001405, 0x08081405, 0xf7f81405, 0x0afd1405, 0xf5031405, + 0xfd0b1405, 0x02f51405, 0x12121405, 0xedee1405, 0x14051405, 0xebfb1405, 0x05141405, 0xffffebfb, + 0x0807ebfb, 0xf7f7ebfb, 0x0afcebfb, 0xf502ebfb, 0xfd0aebfb, 0x02f4ebfb, 0x1211ebfb, 0xededebfb, + 0x1404ebfb, 0xebfaebfb, 0x0513ebfb, 0x00000514, 0x08080514, 0xf7f80514, 0x0afd0514, 0xf5030514, + 0xfd0b0514, 0x02f50514, 0x12120514, 0xedee0514, 0x14050514, 0xebfb0514, 0x05140514, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000909, 0xfffff6f7, 0x00000bfd, 0xfffff403, 0xfffffd0c, 0x000002f4, 0x00001414, + 0xffffebec, 0x00001706, 0xffffe8fa, 0x00000617, 0xfffff9e9, 0x000010ef, 0xffffef11, 0x00001af9, + 0xffffe507, 0xfffff91b, 0x000006e5, 0x00002713, 0xffffd8ed, 0x00001327, 0xffffecd9, 0x00002727, + 0xffffd8d9, 0x00002b03, 0xffffd4fd, 0x0000032b, 0xfffffcd5, 0x000023e8, 0xffffdc18, 0xffffe824, + 0x000017dc, 0x0000452a, 0xffffbad6, 0x00002a45, 0xffffd5bb, 0x000034f2, 0xffffcb0e, 0xfffff235, + 0x00000dcb, 0x00004713, 0xffffb8ed, 0x00001347, 0xffffecb9, 0x00004949, 0xffffb6b7, 0x00004ffe, + 0xffffb002, 0xfffffe50, 0x000001b0, 0x000033cc, 0xffffcc34, 0x000045d9, 0xffffba27, 0xffffd946, + 0x000026ba, 0x00007930, 0xffff86d0, 0x00003079, 0xffffcf87, 0x00007c54, 0xffff83ac, 0x0000547c, + 0xffffab84, 0x000063e5, 0xffff9c1b, 0xffffe564, 0x00001a9c, 0x000065af, 0xffff9a51, 0xffffaf66, + 0x0000509a, 0x00003737, 0xffffc8c9, 0x00006868, 0xffff9798, 0x00000000, 0x09090000, 0xf6f70000, + 0x0bfd0000, 0xf4030000, 0xfd0c0000, 0x02f40000, 0x14140000, 0xebec0000, 0x17060000, 0xe8fa0000, + 0x06170000, 0xf9e90000, 0x00000909, 0x09090909, 0xf6f70909, 0x0bfd0909, 0xf4030909, 0xfd0c0909, + 0x02f40909, 0x14140909, 0xebec0909, 0x17060909, 0xe8fa0909, 0x06170909, 0xf9e90909, 0xfffff6f7, + 0x0908f6f7, 0xf6f6f6f7, 0x0bfcf6f7, 0xf402f6f7, 0xfd0bf6f7, 0x02f3f6f7, 0x1413f6f7, 0xebebf6f7, + 0x1705f6f7, 0xe8f9f6f7, 0x0616f6f7, 0xf9e8f6f7, 0x00000bfd, 0x09090bfd, 0xf6f70bfd, 0x0bfd0bfd, + 0xf4030bfd, 0xfd0c0bfd, 0x02f40bfd, 0x14140bfd, 0xebec0bfd, 0x17060bfd, 0xe8fa0bfd, 0x06170bfd, + 0xf9e90bfd, 0xfffff403, 0x0908f403, 0xf6f6f403, 0x0bfcf403, 0xf402f403, 0xfd0bf403, 0x02f3f403, + 0x1413f403, 0xebebf403, 0x1705f403, 0xe8f9f403, 0x0616f403, 0xf9e8f403, 0xfffffd0c, 0x0908fd0c, + 0xf6f6fd0c, 0x0bfcfd0c, 0xf402fd0c, 0xfd0bfd0c, 0x02f3fd0c, 0x1413fd0c, 0xebebfd0c, 0x1705fd0c, + 0xe8f9fd0c, 0x0616fd0c, 0xf9e8fd0c, 0x000002f4, 0x090902f4, 0xf6f702f4, 0x0bfd02f4, 0xf40302f4, + 0xfd0c02f4, 0x02f402f4, 0x141402f4, 0xebec02f4, 0x170602f4, 0xe8fa02f4, 0x061702f4, 0xf9e902f4, + 0x00001414, 0x09091414, 0xf6f71414, 0x0bfd1414, 0xf4031414, 0xfd0c1414, 0x02f41414, 0x14141414, + 0xebec1414, 0x17061414, 0xe8fa1414, 0x06171414, 0xf9e91414, 0xffffebec, 0x0908ebec, 0xf6f6ebec, + 0x0bfcebec, 0xf402ebec, 0xfd0bebec, 0x02f3ebec, 0x1413ebec, 0xebebebec, 0x1705ebec, 0xe8f9ebec, + 0x0616ebec, 0xf9e8ebec, 0x00001706, 0x09091706, 0xf6f71706, 0x0bfd1706, 0xf4031706, 0xfd0c1706, + 0x02f41706, 0x14141706, 0xebec1706, 0x17061706, 0xe8fa1706, 0x06171706, 0xf9e91706, 0xffffe8fa, + 0x0908e8fa, 0xf6f6e8fa, 0x0bfce8fa, 0xf402e8fa, 0xfd0be8fa, 0x02f3e8fa, 0x1413e8fa, 0xebebe8fa, + 0x1705e8fa, 0xe8f9e8fa, 0x0616e8fa, 0xf9e8e8fa, 0x00000617, 0x09090617, 0xf6f70617, 0x0bfd0617, + 0xf4030617, 0xfd0c0617, 0x02f40617, 0x14140617, 0xebec0617, 0x17060617, 0xe8fa0617, 0x06170617, + 0xf9e90617, 0xfffff9e9, 0x0908f9e9, 0xf6f6f9e9, 0x0bfcf9e9, 0xf402f9e9, 0xfd0bf9e9, 0x02f3f9e9, + 0x1413f9e9, 0xebebf9e9, 0x1705f9e9, 0xe8f9f9e9, 0x0616f9e9, 0xf9e8f9e9, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000202, 0xfffffdfe, 0x00000200, 0xfffffe00, 0x00000002, 0xfffffffe, 0x00000404, + 0xfffffbfc, 0x00000400, 0xfffffc00, 0x00000004, 0xfffffffc, 0x000003fc, 0xfffffc04, 0x000005fe, + 0xfffffa02, 0xfffffe06, 0x000001fa, 0x00000804, 0xfffff7fc, 0x00000408, 0xfffffbf8, 0x00000808, + 0xfffff7f8, 0x00000a00, 0xfffff600, 0x0000000a, 0xfffffff6, 0x000007fc, 0xfffff804, 0xfffffc08, + 0x000003f8, 0x00000e08, 0xfffff1f8, 0x0000080e, 0xfffff7f2, 0x00000bfe, 0xfffff402, 0xfffffe0c, + 0x000001f4, 0x00001004, 0xffffeffc, 0x00000410, 0xfffffbf0, 0x00001010, 0xffffeff0, 0x00001200, + 0xffffee00, 0x00000012, 0xffffffee, 0x00000bf4, 0xfffff40c, 0x00000ff8, 0xfffff008, 0xfffff810, + 0x000007f0, 0x00001a0a, 0xffffe5f6, 0x00000a1a, 0xfffff5e6, 0x00001c12, 0xffffe3ee, 0x0000121c, + 0xffffede4, 0x000015fa, 0xffffea06, 0xfffffa16, 0x000005ea, 0x00001c04, 0xffffe3fc, 0x0000041c, + 0xfffffbe4, 0x00001e1e, 0xffffe1e2, 0x00001ffe, 0xffffe002, 0xfffffe20, 0x000001e0, 0x000015ee, + 0xffffea12, 0xffffee16, 0x000011ea, 0x00001df2, 0xffffe20e, 0xfffff21e, 0x00000de2, 0x00002e16, + 0xffffd1ea, 0x0000162e, 0xffffe9d2, 0x00002e0c, 0xffffd1f4, 0x00000c2e, 0xfffff3d2, 0x00003022, + 0xffffcfde, 0x00002230, 0xffffddd0, 0x000027f6, 0xffffd80a, 0xfffff628, 0x000009d8, 0x00003204, + 0xffffcdfc, 0x00000432, 0xfffffbce, 0x00003636, 0xffffc9ca, 0x000021de, 0xffffde22, 0x000029e4, + 0xffffd61c, 0xffffe42a, 0x00001bd6, 0x00003bfa, 0xffffc406, 0xfffffa3c, 0x000005c4, 0x00004c1a, + 0xffffb3e6, 0x00001a4c, 0xffffe5b4, 0x00004c2a, 0xffffb3d6, 0x00002a4c, 0xffffd5b4, 0x000035e8, + 0xffffca18, 0xffffe836, 0x000017ca, 0x00004e0e, 0xffffb1f2, 0x00000e4e, 0xfffff1b2, 0x0000523e, + 0xffffadc2, 0x00003e52, 0xffffc1ae, 0x000049ec, 0xffffb614, 0xffffec4a, 0x000013b6, 0x00005802, + 0xffffa7fe, 0x00000258, 0xfffffda8, 0x00005c5c, 0xffffa3a4, 0x00003bcc, 0xffffc434, 0xffffcc3c, + 0x000033c4, 0x00007634, 0xffff89cc, 0x00003476, 0xffffcb8a, 0x000049d4, 0xffffb62c, 0xffffd44a, + 0x00002bb6, 0x0000764a, 0xffff89b6, 0x00004a76, 0xffffb58a, 0x00007620, 0xffff89e0, 0x00002076, + 0xffffdf8a, 0x000065f4, 0xffff9a0c, 0xfffff466, 0x00000b9a, 0x00005fd8, 0xffffa028, 0xffffd860, + 0x000027a0, 0x000075de, 0xffff8a22, 0xffffde76, 0x0000218a, 0x000057a8, 0xffffa858, 0x000067b2, + 0xffff984e, 0xffffb268, 0x00004d98, 0x00000c0c, 0xfffff3f4, 0x00001616, 0xffffe9ea, 0x00002a2a, + 0xffffd5d6, 0x00004848, 0xffffb7b8, 0x00000000, 0x02020000, 0xfdfe0000, 0x02000000, 0xfe000000, + 0x00020000, 0xfffe0000, 0x00000202, 0x02020202, 0xfdfe0202, 0x02000202, 0xfe000202, 0x00020202, + 0xfffe0202, 0xfffffdfe, 0x0201fdfe, 0xfdfdfdfe, 0x01fffdfe, 0xfdfffdfe, 0x0001fdfe, 0xfffdfdfe, + 0x00000200, 0x02020200, 0xfdfe0200, 0x02000200, 0xfe000200, 0x00020200, 0xfffe0200, 0xfffffe00, + 0x0201fe00, 0xfdfdfe00, 0x01fffe00, 0xfdfffe00, 0x0001fe00, 0xfffdfe00, 0x00000002, 0x02020002, + 0xfdfe0002, 0x02000002, 0xfe000002, 0x00020002, 0xfffe0002, 0xfffffffe, 0x0201fffe, 0xfdfdfffe, + 0x01fffffe, 0xfdfffffe, 0x0001fffe, 0xfffdfffe, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000303, 0xfffffcfd, 0x00000300, 0xfffffd00, 0x00000003, 0xfffffffd, 0x00000606, + 0xfffff9fa, 0x00000903, 0xfffff6fd, 0x00000309, 0xfffffcf7, 0x000008fd, 0xfffff703, 0xfffffd09, + 0x000002f7, 0x000005fa, 0xfffffa06, 0x00000c06, 0xfffff3fa, 0x0000060c, 0xfffff9f4, 0x00000c0c, + 0xfffff3f4, 0x00000f00, 0xfffff100, 0x0000000f, 0xfffffff1, 0x00000bf7, 0xfffff409, 0xfffff70c, + 0x000008f4, 0x0000180f, 0xffffe7f1, 0x00000f18, 0xfffff0e8, 0x000011fa, 0xffffee06, 0xfffffa12, + 0x000005ee, 0x00001806, 0xffffe7fa, 0x00000618, 0xfffff9e8, 0x00001818, 0xffffe7e8, 0x00001b00, + 0xffffe500, 0x0000001b, 0xffffffe5, 0x000011ee, 0xffffee12, 0x000017f4, 0xffffe80c, 0xfffff418, + 0x00000be8, 0x0000270f, 0xffffd8f1, 0x00000f27, 0xfffff0d9, 0x00002a1b, 0xffffd5e5, 0x00001b2a, + 0xffffe4d6, 0x000020f7, 0xffffdf09, 0xfffff721, 0x000008df, 0x00002a06, 0xffffd5fa, 0x0000062a, + 0xfffff9d6, 0x00002d2d, 0xffffd2d3, 0x000032fd, 0xffffcd03, 0xfffffd33, 0x000002cd, 0x000020e5, + 0xffffdf1b, 0xffffe521, 0x00001adf, 0x00002ceb, 0xffffd315, 0xffffeb2d, 0x000014d3, 0x00004521, + 0xffffbadf, 0x00002145, 0xffffdebb, 0x00004512, 0xffffbaee, 0x00001245, 0xffffedbb, 0x00004836, + 0xffffb7ca, 0x00003648, 0xffffc9b8, 0x00003eee, 0xffffc112, 0xffffee3f, 0x000011c1, 0x00004e06, + 0xffffb1fa, 0x0000064e, 0xfffff9b2, 0x00005151, 0xffffaeaf, 0x000032cd, 0xffffcd33, 0x00003ed6, + 0xffffc12a, 0xffffd63f, 0x000029c1, 0x000059f7, 0xffffa609, 0xfffff75a, 0x000008a6, 0x0000722a, + 0xffff8dd6, 0x00002a72, 0xffffd58e, 0x0000753f, 0xffff8ac1, 0x00003f75, 0xffffc08b, 0x000050dc, + 0xffffaf24, 0xffffdc51, 0x000023af, 0x00007815, 0xffff87eb, 0x00001578, 0xffffea88, 0x00007b60, + 0xffff84a0, 0x0000607b, 0xffff9f85, 0x00006ee2, 0xffff911e, 0xffffe26f, 0x00001d91, 0x00005cb2, + 0xffffa34e, 0xffffb25d, 0x00004da3, 0x000071bb, 0xffff8e45, 0xffffbb72, 0x0000448e, 0x00001212, + 0xffffedee, 0x00002121, 0xffffdedf, 0x00003f3f, 0xffffc0c1, 0x00006c6c, 0xffff9394, 0x00000000, + 0x03030000, 0xfcfd0000, 0x03000000, 0xfd000000, 0x00030000, 0xfffd0000, 0x06060000, 0xf9fa0000, + 0x00000303, 0x03030303, 0xfcfd0303, 0x03000303, 0xfd000303, 0x00030303, 0xfffd0303, 0x06060303, + 0xf9fa0303, 0xfffffcfd, 0x0302fcfd, 0xfcfcfcfd, 0x02fffcfd, 0xfcfffcfd, 0x0002fcfd, 0xfffcfcfd, + 0x0605fcfd, 0xf9f9fcfd, 0x00000300, 0x03030300, 0xfcfd0300, 0x03000300, 0xfd000300, 0x00030300, + 0xfffd0300, 0x06060300, 0xf9fa0300, 0xfffffd00, 0x0302fd00, 0xfcfcfd00, 0x02fffd00, 0xfcfffd00, + 0x0002fd00, 0xfffcfd00, 0x0605fd00, 0xf9f9fd00, 0x00000003, 0x03030003, 0xfcfd0003, 0x03000003, + 0xfd000003, 0x00030003, 0xfffd0003, 0x06060003, 0xf9fa0003, 0xfffffffd, 0x0302fffd, 0xfcfcfffd, + 0x02fffffd, 0xfcfffffd, 0x0002fffd, 0xfffcfffd, 0x0605fffd, 0xf9f9fffd, 0x00000606, 0x03030606, + 0xfcfd0606, 0x03000606, 0xfd000606, 0x00030606, 0xfffd0606, 0x06060606, 0xf9fa0606, 0xfffff9fa, + 0x0302f9fa, 0xfcfcf9fa, 0x02fff9fa, 0xfcfff9fa, 0x0002f9fa, 0xfffcf9fa, 0x0605f9fa, 0xf9f9f9fa, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000404, 0xfffffbfc, 0x00000400, 0xfffffc00, 0x00000004, 0xfffffffc, 0x00000804, + 0xfffff7fc, 0x00000408, 0xfffffbf8, 0x00000808, 0xfffff7f8, 0x000007f8, 0xfffff808, 0x00000bfc, + 0xfffff404, 0xfffffc0c, 0x000003f4, 0x00001008, 0xffffeff8, 0x00000810, 0xfffff7f0, 0x00001010, + 0xffffeff0, 0x00001400, 0xffffec00, 0x00000014, 0xffffffec, 0x00000ff4, 0xfffff00c, 0xfffff410, + 0x00000bf0, 0x000017fc, 0xffffe804, 0xfffffc18, 0x000003e8, 0x00002010, 0xffffdff0, 0x00001020, + 0xffffefe0, 0x00002008, 0xffffdff8, 0x00000820, 0xfffff7e0, 0x00002020, 0xffffdfe0, 0x00002400, + 0xffffdc00, 0x00000024, 0xffffffdc, 0x000017e8, 0xffffe818, 0x00001ff0, 0xffffe010, 0xfffff020, + 0x00000fe0, 0x00003414, 0xffffcbec, 0x00001434, 0xffffebcc, 0x00003824, 0xffffc7dc, 0x00002438, + 0xffffdbc8, 0x00002bf4, 0xffffd40c, 0xfffff42c, 0x00000bd4, 0x00003808, 0xffffc7f8, 0x00000838, + 0xfffff7c8, 0x00003c3c, 0xffffc3c4, 0x00003ffc, 0xffffc004, 0xfffffc40, 0x000003c0, 0x00002bdc, + 0xffffd424, 0xffffdc2c, 0x000023d4, 0x00003be4, 0xffffc41c, 0xffffe43c, 0x00001bc4, 0x00005c2c, + 0xffffa3d4, 0x00002c5c, 0xffffd3a4, 0x00005c18, 0xffffa3e8, 0x0000185c, 0xffffe7a4, 0x00006048, + 0xffff9fb8, 0x00004860, 0xffffb7a0, 0x000053ec, 0xffffac14, 0xffffec54, 0x000013ac, 0x00006408, + 0xffff9bf8, 0x00000864, 0xfffff79c, 0x00006c6c, 0xffff9394, 0x000043bc, 0xffffbc44, 0x000053c8, + 0xffffac38, 0xffffc854, 0x000037ac, 0x000077f4, 0xffff880c, 0xfffff478, 0x00000b88, 0x00006bd0, + 0xffff9430, 0xffffd06c, 0x00002f94, 0x00007b98, 0xffff8468, 0xffff987c, 0x00006784, 0x00001818, + 0xffffe7e8, 0x00002c2c, 0xffffd3d4, 0x00005454, 0xffffabac, 0x00000000, 0x04040000, 0xfbfc0000, + 0x04000000, 0xfc000000, 0x00040000, 0xfffc0000, 0x08040000, 0xf7fc0000, 0x04080000, 0x00000404, + 0x04040404, 0xfbfc0404, 0x04000404, 0xfc000404, 0x00040404, 0xfffc0404, 0x08040404, 0xf7fc0404, + 0x04080404, 0xfffffbfc, 0x0403fbfc, 0xfbfbfbfc, 0x03fffbfc, 0xfbfffbfc, 0x0003fbfc, 0xfffbfbfc, + 0x0803fbfc, 0xf7fbfbfc, 0x0407fbfc, 0x00000400, 0x04040400, 0xfbfc0400, 0x04000400, 0xfc000400, + 0x00040400, 0xfffc0400, 0x08040400, 0xf7fc0400, 0x04080400, 0xfffffc00, 0x0403fc00, 0xfbfbfc00, + 0x03fffc00, 0xfbfffc00, 0x0003fc00, 0xfffbfc00, 0x0803fc00, 0xf7fbfc00, 0x0407fc00, 0x00000004, + 0x04040004, 0xfbfc0004, 0x04000004, 0xfc000004, 0x00040004, 0xfffc0004, 0x08040004, 0xf7fc0004, + 0x04080004, 0xfffffffc, 0x0403fffc, 0xfbfbfffc, 0x03fffffc, 0xfbfffffc, 0x0003fffc, 0xfffbfffc, + 0x0803fffc, 0xf7fbfffc, 0x0407fffc, 0x00000804, 0x04040804, 0xfbfc0804, 0x04000804, 0xfc000804, + 0x00040804, 0xfffc0804, 0x08040804, 0xf7fc0804, 0x04080804, 0xfffff7fc, 0x0403f7fc, 0xfbfbf7fc, + 0x03fff7fc, 0xfbfff7fc, 0x0003f7fc, 0xfffbf7fc, 0x0803f7fc, 0xf7fbf7fc, 0x0407f7fc, 0x00000408, + 0x04040408, 0xfbfc0408, 0x04000408, 0xfc000408, 0x00040408, 0xfffc0408, 0x08040408, 0xf7fc0408, + 0x04080408, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000505, 0xfffffafb, 0x00000500, 0xfffffb00, 0x00000005, 0xfffffffb, 0x00000a0a, + 0xfffff5f6, 0x00000f05, 0xfffff0fb, 0x0000050f, 0xfffffaf1, 0x000009f6, 0xfffff60a, 0x00000efb, + 0xfffff105, 0xfffffb0f, 0x000004f1, 0x0000140a, 0xffffebf6, 0x00000a14, 0xfffff5ec, 0x00001414, + 0xffffebec, 0x00001900, 0xffffe700, 0x00000019, 0xffffffe7, 0x000013f1, 0xffffec0f, 0xfffff114, + 0x00000eec, 0x00002819, 0xffffd7e7, 0x00001928, 0xffffe6d8, 0x00001df6, 0xffffe20a, 0xfffff61e, + 0x000009e2, 0x0000280a, 0xffffd7f6, 0x00000a28, 0xfffff5d8, 0x00002828, 0xffffd7d8, 0x00002d00, + 0xffffd300, 0x0000002d, 0xffffffd3, 0x00001de2, 0xffffe21e, 0x000027ec, 0xffffd814, 0xffffec28, + 0x000013d8, 0x00004119, 0xffffbee7, 0x00001941, 0xffffe6bf, 0x0000462d, 0xffffb9d3, 0x00002d46, + 0xffffd2ba, 0x000036f1, 0xffffc90f, 0xfffff137, 0x00000ec9, 0x0000460a, 0xffffb9f6, 0x00000a46, + 0xfffff5ba, 0x00004b4b, 0xffffb4b5, 0x000054fb, 0xffffab05, 0xfffffb55, 0x000004ab, 0x000036d3, + 0xffffc92d, 0xffffd337, 0x00002cc9, 0x00004add, 0xffffb523, 0xffffdd4b, 0x000022b5, 0x00007337, + 0xffff8cc9, 0x00003773, 0xffffc88d, 0x0000731e, 0xffff8ce2, 0x00001e73, 0xffffe18d, 0x0000785a, + 0xffff87a6, 0x00005a78, 0xffffa588, 0x000068e2, 0xffff971e, 0xffffe269, 0x00001d97, 0x000054ab, + 0xffffab55, 0x000068ba, 0xffff9746, 0xffffba69, 0x00004597, 0x00001e1e, 0xffffe1e2, 0x00003c3c, + 0xffffc3c4, 0x00006969, 0xffff9697, 0x00000000, 0x05050000, 0xfafb0000, 0x05000000, 0xfb000000, + 0x00050000, 0xfffb0000, 0x0a0a0000, 0xf5f60000, 0x0f050000, 0xf0fb0000, 0x00000505, 0x05050505, + 0xfafb0505, 0x05000505, 0xfb000505, 0x00050505, 0xfffb0505, 0x0a0a0505, 0xf5f60505, 0x0f050505, + 0xf0fb0505, 0xfffffafb, 0x0504fafb, 0xfafafafb, 0x04fffafb, 0xfafffafb, 0x0004fafb, 0xfffafafb, + 0x0a09fafb, 0xf5f5fafb, 0x0f04fafb, 0xf0fafafb, 0x00000500, 0x05050500, 0xfafb0500, 0x05000500, + 0xfb000500, 0x00050500, 0xfffb0500, 0x0a0a0500, 0xf5f60500, 0x0f050500, 0xf0fb0500, 0xfffffb00, + 0x0504fb00, 0xfafafb00, 0x04fffb00, 0xfafffb00, 0x0004fb00, 0xfffafb00, 0x0a09fb00, 0xf5f5fb00, + 0x0f04fb00, 0xf0fafb00, 0x00000005, 0x05050005, 0xfafb0005, 0x05000005, 0xfb000005, 0x00050005, + 0xfffb0005, 0x0a0a0005, 0xf5f60005, 0x0f050005, 0xf0fb0005, 0xfffffffb, 0x0504fffb, 0xfafafffb, + 0x04fffffb, 0xfafffffb, 0x0004fffb, 0xfffafffb, 0x0a09fffb, 0xf5f5fffb, 0x0f04fffb, 0xf0fafffb, + 0x00000a0a, 0x05050a0a, 0xfafb0a0a, 0x05000a0a, 0xfb000a0a, 0x00050a0a, 0xfffb0a0a, 0x0a0a0a0a, + 0xf5f60a0a, 0x0f050a0a, 0xf0fb0a0a, 0xfffff5f6, 0x0504f5f6, 0xfafaf5f6, 0x04fff5f6, 0xfafff5f6, + 0x0004f5f6, 0xfffaf5f6, 0x0a09f5f6, 0xf5f5f5f6, 0x0f04f5f6, 0xf0faf5f6, 0x00000f05, 0x05050f05, + 0xfafb0f05, 0x05000f05, 0xfb000f05, 0x00050f05, 0xfffb0f05, 0x0a0a0f05, 0xf5f60f05, 0x0f050f05, + 0xf0fb0f05, 0xfffff0fb, 0x0504f0fb, 0xfafaf0fb, 0x04fff0fb, 0xfafff0fb, 0x0004f0fb, 0xfffaf0fb, + 0x0a09f0fb, 0xf5f5f0fb, 0x0f04f0fb, 0xf0faf0fb, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000606, 0xfffff9fa, 0x00000600, 0xfffffa00, 0x00000006, 0xfffffffa, 0x00000c0c, + 0xfffff3f4, 0x00000c06, 0xfffff3fa, 0x0000060c, 0xfffff9f4, 0x00000bf4, 0xfffff40c, 0x000011fa, + 0xffffee06, 0xfffffa12, 0x000005ee, 0x0000180c, 0xffffe7f4, 0x00000c18, 0xfffff3e8, 0x00001818, + 0xffffe7e8, 0x00001e00, 0xffffe200, 0x0000001e, 0xffffffe2, 0x000017ee, 0xffffe812, 0xffffee18, + 0x000011e8, 0x0000301e, 0xffffcfe2, 0x00001e30, 0xffffe1d0, 0x000023fa, 0xffffdc06, 0xfffffa24, + 0x000005dc, 0x0000300c, 0xffffcff4, 0x00000c30, 0xfffff3d0, 0x00003030, 0xffffcfd0, 0x00003600, + 0xffffca00, 0x00000036, 0xffffffca, 0x000023dc, 0xffffdc24, 0x00002fe8, 0xffffd018, 0xffffe830, + 0x000017d0, 0x00004e1e, 0xffffb1e2, 0x00001e4e, 0xffffe1b2, 0x00005436, 0xffffabca, 0x00003654, + 0xffffc9ac, 0x000041ee, 0xffffbe12, 0xffffee42, 0x000011be, 0x0000540c, 0xffffabf4, 0x00000c54, + 0xfffff3ac, 0x00005a5a, 0xffffa5a6, 0x00005ffa, 0xffffa006, 0xfffffa60, 0x000005a0, 0x000041ca, + 0xffffbe36, 0xffffca42, 0x000035be, 0x000059d6, 0xffffa62a, 0xffffd65a, 0x000029a6, 0x00007de2, + 0xffff821e, 0xffffe27e, 0x00001d82, 0x0000659a, 0xffff9a66, 0x00007dac, 0xffff8254, 0xffffac7e, + 0x00005382, 0x00002424, 0xffffdbdc, 0x00004242, 0xffffbdbe, 0x00000000, 0x06060000, 0xf9fa0000, + 0x06000000, 0xfa000000, 0x00060000, 0xfffa0000, 0x0c0c0000, 0xf3f40000, 0x0c060000, 0xf3fa0000, + 0x060c0000, 0x00000606, 0x06060606, 0xf9fa0606, 0x06000606, 0xfa000606, 0x00060606, 0xfffa0606, + 0x0c0c0606, 0xf3f40606, 0x0c060606, 0xf3fa0606, 0x060c0606, 0xfffff9fa, 0x0605f9fa, 0xf9f9f9fa, + 0x05fff9fa, 0xf9fff9fa, 0x0005f9fa, 0xfff9f9fa, 0x0c0bf9fa, 0xf3f3f9fa, 0x0c05f9fa, 0xf3f9f9fa, + 0x060bf9fa, 0x00000600, 0x06060600, 0xf9fa0600, 0x06000600, 0xfa000600, 0x00060600, 0xfffa0600, + 0x0c0c0600, 0xf3f40600, 0x0c060600, 0xf3fa0600, 0x060c0600, 0xfffffa00, 0x0605fa00, 0xf9f9fa00, + 0x05fffa00, 0xf9fffa00, 0x0005fa00, 0xfff9fa00, 0x0c0bfa00, 0xf3f3fa00, 0x0c05fa00, 0xf3f9fa00, + 0x060bfa00, 0x00000006, 0x06060006, 0xf9fa0006, 0x06000006, 0xfa000006, 0x00060006, 0xfffa0006, + 0x0c0c0006, 0xf3f40006, 0x0c060006, 0xf3fa0006, 0x060c0006, 0xfffffffa, 0x0605fffa, 0xf9f9fffa, + 0x05fffffa, 0xf9fffffa, 0x0005fffa, 0xfff9fffa, 0x0c0bfffa, 0xf3f3fffa, 0x0c05fffa, 0xf3f9fffa, + 0x060bfffa, 0x00000c0c, 0x06060c0c, 0xf9fa0c0c, 0x06000c0c, 0xfa000c0c, 0x00060c0c, 0xfffa0c0c, + 0x0c0c0c0c, 0xf3f40c0c, 0x0c060c0c, 0xf3fa0c0c, 0x060c0c0c, 0xfffff3f4, 0x0605f3f4, 0xf9f9f3f4, + 0x05fff3f4, 0xf9fff3f4, 0x0005f3f4, 0xfff9f3f4, 0x0c0bf3f4, 0xf3f3f3f4, 0x0c05f3f4, 0xf3f9f3f4, + 0x060bf3f4, 0x00000c06, 0x06060c06, 0xf9fa0c06, 0x06000c06, 0xfa000c06, 0x00060c06, 0xfffa0c06, + 0x0c0c0c06, 0xf3f40c06, 0x0c060c06, 0xf3fa0c06, 0x060c0c06, 0xfffff3fa, 0x0605f3fa, 0xf9f9f3fa, + 0x05fff3fa, 0xf9fff3fa, 0x0005f3fa, 0xfff9f3fa, 0x0c0bf3fa, 0xf3f3f3fa, 0x0c05f3fa, 0xf3f9f3fa, + 0x060bf3fa, 0x0000060c, 0x0606060c, 0xf9fa060c, 0x0600060c, 0xfa00060c, 0x0006060c, 0xfffa060c, + 0x0c0c060c, 0xf3f4060c, 0x0c06060c, 0xf3fa060c, 0x060c060c, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000707, 0xfffff8f9, 0x00000700, 0xfffff900, 0x00000007, 0xfffffff9, 0x00000e0e, + 0xfffff1f2, 0x00001507, 0xffffeaf9, 0x00000715, 0xfffff8eb, 0x00000df2, 0xfffff20e, 0x000014f9, + 0xffffeb07, 0xfffff915, 0x000006eb, 0x00001c0e, 0xffffe3f2, 0x00000e1c, 0xfffff1e4, 0x00001c1c, + 0xffffe3e4, 0x00002300, 0xffffdd00, 0x00000023, 0xffffffdd, 0x00001beb, 0xffffe415, 0xffffeb1c, + 0x000014e4, 0x00003823, 0xffffc7dd, 0x00002338, 0xffffdcc8, 0x000029f2, 0xffffd60e, 0xfffff22a, + 0x00000dd6, 0x0000380e, 0xffffc7f2, 0x00000e38, 0xfffff1c8, 0x00003838, 0xffffc7c8, 0x00003f00, + 0xffffc100, 0x0000003f, 0xffffffc1, 0x000029d6, 0xffffd62a, 0x000037e4, 0xffffc81c, 0xffffe438, + 0x00001bc8, 0x00005b23, 0xffffa4dd, 0x0000235b, 0xffffdca5, 0x0000623f, 0xffff9dc1, 0x00003f62, + 0xffffc09e, 0x00004ceb, 0xffffb315, 0xffffeb4d, 0x000014b3, 0x0000620e, 0xffff9df2, 0x00000e62, + 0xfffff19e, 0x00006969, 0xffff9697, 0x000076f9, 0xffff8907, 0xfffff977, 0x00000689, 0x00004cc1, + 0xffffb33f, 0xffffc14d, 0x00003eb3, 0x000068cf, 0xffff9731, 0xffffcf69, 0x00003097, 0x00007689, + 0xffff8977, 0x00002a2a, 0xffffd5d6, 0x00004d4d, 0xffffb2b3, 0x00000000, 0x07070000, 0xf8f90000, + 0x07000000, 0xf9000000, 0x00070000, 0xfff90000, 0x0e0e0000, 0xf1f20000, 0x15070000, 0xeaf90000, + 0x07150000, 0x00000707, 0x07070707, 0xf8f90707, 0x07000707, 0xf9000707, 0x00070707, 0xfff90707, + 0x0e0e0707, 0xf1f20707, 0x15070707, 0xeaf90707, 0x07150707, 0xfffff8f9, 0x0706f8f9, 0xf8f8f8f9, + 0x06fff8f9, 0xf8fff8f9, 0x0006f8f9, 0xfff8f8f9, 0x0e0df8f9, 0xf1f1f8f9, 0x1506f8f9, 0xeaf8f8f9, + 0x0714f8f9, 0x00000700, 0x07070700, 0xf8f90700, 0x07000700, 0xf9000700, 0x00070700, 0xfff90700, + 0x0e0e0700, 0xf1f20700, 0x15070700, 0xeaf90700, 0x07150700, 0xfffff900, 0x0706f900, 0xf8f8f900, + 0x06fff900, 0xf8fff900, 0x0006f900, 0xfff8f900, 0x0e0df900, 0xf1f1f900, 0x1506f900, 0xeaf8f900, + 0x0714f900, 0x00000007, 0x07070007, 0xf8f90007, 0x07000007, 0xf9000007, 0x00070007, 0xfff90007, + 0x0e0e0007, 0xf1f20007, 0x15070007, 0xeaf90007, 0x07150007, 0xfffffff9, 0x0706fff9, 0xf8f8fff9, + 0x06fffff9, 0xf8fffff9, 0x0006fff9, 0xfff8fff9, 0x0e0dfff9, 0xf1f1fff9, 0x1506fff9, 0xeaf8fff9, + 0x0714fff9, 0x00000e0e, 0x07070e0e, 0xf8f90e0e, 0x07000e0e, 0xf9000e0e, 0x00070e0e, 0xfff90e0e, + 0x0e0e0e0e, 0xf1f20e0e, 0x15070e0e, 0xeaf90e0e, 0x07150e0e, 0xfffff1f2, 0x0706f1f2, 0xf8f8f1f2, + 0x06fff1f2, 0xf8fff1f2, 0x0006f1f2, 0xfff8f1f2, 0x0e0df1f2, 0xf1f1f1f2, 0x1506f1f2, 0xeaf8f1f2, + 0x0714f1f2, 0x00001507, 0x07071507, 0xf8f91507, 0x07001507, 0xf9001507, 0x00071507, 0xfff91507, + 0x0e0e1507, 0xf1f21507, 0x15071507, 0xeaf91507, 0x07151507, 0xffffeaf9, 0x0706eaf9, 0xf8f8eaf9, + 0x06ffeaf9, 0xf8ffeaf9, 0x0006eaf9, 0xfff8eaf9, 0x0e0deaf9, 0xf1f1eaf9, 0x1506eaf9, 0xeaf8eaf9, + 0x0714eaf9, 0x00000715, 0x07070715, 0xf8f90715, 0x07000715, 0xf9000715, 0x00070715, 0xfff90715, + 0x0e0e0715, 0xf1f20715, 0x15070715, 0xeaf90715, 0x07150715, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000808, 0xfffff7f8, 0x00000800, 0xfffff800, 0x00000008, 0xfffffff8, 0x00001010, + 0xffffeff0, 0x00001008, 0xffffeff8, 0x00000810, 0xfffff7f0, 0x00000ff0, 0xfffff010, 0x000017f8, + 0xffffe808, 0xfffff818, 0x000007e8, 0x00002010, 0xffffdff0, 0x00001020, 0xffffefe0, 0x00002020, + 0xffffdfe0, 0x00002800, 0xffffd800, 0x00000028, 0xffffffd8, 0x00001fe8, 0xffffe018, 0xffffe820, + 0x000017e0, 0x00004028, 0xffffbfd8, 0x00002840, 0xffffd7c0, 0x00002ff0, 0xffffd010, 0xfffff030, + 0x00000fd0, 0x00004010, 0xffffbff0, 0x00001040, 0xffffefc0, 0x00004040, 0xffffbfc0, 0x00004800, + 0xffffb800, 0x00000048, 0xffffffb8, 0x00002fd0, 0xffffd030, 0x00003fe0, 0xffffc020, 0xffffe040, + 0x00001fc0, 0x00006828, 0xffff97d8, 0x00002868, 0xffffd798, 0x00007048, 0xffff8fb8, 0x00004870, + 0xffffb790, 0x000057e8, 0xffffa818, 0xffffe858, 0x000017a8, 0x00007010, 0xffff8ff0, 0x00001070, + 0xffffef90, 0x00007878, 0xffff8788, 0x000057b8, 0xffffa848, 0xffffb858, 0x000047a8, 0x000077c8, + 0xffff8838, 0xffffc878, 0x00003788, 0x00003030, 0xffffcfd0, 0x00005858, 0xffffa7a8, 0x00000000, + 0x08080000, 0xf7f80000, 0x08000000, 0xf8000000, 0x00080000, 0xfff80000, 0x10100000, 0xeff00000, + 0x10080000, 0xeff80000, 0x08100000, 0x00000808, 0x08080808, 0xf7f80808, 0x08000808, 0xf8000808, + 0x00080808, 0xfff80808, 0x10100808, 0xeff00808, 0x10080808, 0xeff80808, 0x08100808, 0xfffff7f8, + 0x0807f7f8, 0xf7f7f7f8, 0x07fff7f8, 0xf7fff7f8, 0x0007f7f8, 0xfff7f7f8, 0x100ff7f8, 0xefeff7f8, + 0x1007f7f8, 0xeff7f7f8, 0x080ff7f8, 0x00000800, 0x08080800, 0xf7f80800, 0x08000800, 0xf8000800, + 0x00080800, 0xfff80800, 0x10100800, 0xeff00800, 0x10080800, 0xeff80800, 0x08100800, 0xfffff800, + 0x0807f800, 0xf7f7f800, 0x07fff800, 0xf7fff800, 0x0007f800, 0xfff7f800, 0x100ff800, 0xefeff800, + 0x1007f800, 0xeff7f800, 0x080ff800, 0x00000008, 0x08080008, 0xf7f80008, 0x08000008, 0xf8000008, + 0x00080008, 0xfff80008, 0x10100008, 0xeff00008, 0x10080008, 0xeff80008, 0x08100008, 0xfffffff8, + 0x0807fff8, 0xf7f7fff8, 0x07fffff8, 0xf7fffff8, 0x0007fff8, 0xfff7fff8, 0x100ffff8, 0xefeffff8, + 0x1007fff8, 0xeff7fff8, 0x080ffff8, 0x00001010, 0x08081010, 0xf7f81010, 0x08001010, 0xf8001010, + 0x00081010, 0xfff81010, 0x10101010, 0xeff01010, 0x10081010, 0xeff81010, 0x08101010, 0xffffeff0, + 0x0807eff0, 0xf7f7eff0, 0x07ffeff0, 0xf7ffeff0, 0x0007eff0, 0xfff7eff0, 0x100feff0, 0xefefeff0, + 0x1007eff0, 0xeff7eff0, 0x080feff0, 0x00001008, 0x08081008, 0xf7f81008, 0x08001008, 0xf8001008, + 0x00081008, 0xfff81008, 0x10101008, 0xeff01008, 0x10081008, 0xeff81008, 0x08101008, 0xffffeff8, + 0x0807eff8, 0xf7f7eff8, 0x07ffeff8, 0xf7ffeff8, 0x0007eff8, 0xfff7eff8, 0x100feff8, 0xefefeff8, + 0x1007eff8, 0xeff7eff8, 0x080feff8, 0x00000810, 0x08080810, 0xf7f80810, 0x08000810, 0xf8000810, + 0x00080810, 0xfff80810, 0x10100810, 0xeff00810, 0x10080810, 0xeff80810, 0x08100810, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000909, 0xfffff6f7, 0x00000900, 0xfffff700, 0x00000009, 0xfffffff7, 0x00001212, + 0xffffedee, 0x00001b09, 0xffffe4f7, 0x0000091b, 0xfffff6e5, 0x000011ee, 0xffffee12, 0x00001af7, + 0xffffe509, 0xfffff71b, 0x000008e5, 0x00002412, 0xffffdbee, 0x00001224, 0xffffeddc, 0x00002424, + 0xffffdbdc, 0x00002d00, 0xffffd300, 0x0000002d, 0xffffffd3, 0x000023e5, 0xffffdc1b, 0xffffe524, + 0x00001adc, 0x0000482d, 0xffffb7d3, 0x00002d48, 0xffffd2b8, 0x000035ee, 0xffffca12, 0xffffee36, + 0x000011ca, 0x00004812, 0xffffb7ee, 0x00001248, 0xffffedb8, 0x00004848, 0xffffb7b8, 0x00005100, + 0xffffaf00, 0x00000051, 0xffffffaf, 0x000035ca, 0xffffca36, 0x000047dc, 0xffffb824, 0xffffdc48, + 0x000023b8, 0x0000752d, 0xffff8ad3, 0x00002d75, 0xffffd28b, 0x00007e51, 0xffff81af, 0x0000517e, + 0xffffae82, 0x000062e5, 0xffff9d1b, 0xffffe563, 0x00001a9d, 0x000062af, 0xffff9d51, 0xffffaf63, + 0x0000509d, 0x00003636, 0xffffc9ca, 0x00006c6c, 0xffff9394, 0x00000000, 0x09090000, 0xf6f70000, + 0x09000000, 0xf7000000, 0x00090000, 0xfff70000, 0x12120000, 0xedee0000, 0x1b090000, 0xe4f70000, + 0x091b0000, 0xf6e50000, 0x00000909, 0x09090909, 0xf6f70909, 0x09000909, 0xf7000909, 0x00090909, + 0xfff70909, 0x12120909, 0xedee0909, 0x1b090909, 0xe4f70909, 0x091b0909, 0xf6e50909, 0xfffff6f7, + 0x0908f6f7, 0xf6f6f6f7, 0x08fff6f7, 0xf6fff6f7, 0x0008f6f7, 0xfff6f6f7, 0x1211f6f7, 0xededf6f7, + 0x1b08f6f7, 0xe4f6f6f7, 0x091af6f7, 0xf6e4f6f7, 0x00000900, 0x09090900, 0xf6f70900, 0x09000900, + 0xf7000900, 0x00090900, 0xfff70900, 0x12120900, 0xedee0900, 0x1b090900, 0xe4f70900, 0x091b0900, + 0xf6e50900, 0xfffff700, 0x0908f700, 0xf6f6f700, 0x08fff700, 0xf6fff700, 0x0008f700, 0xfff6f700, + 0x1211f700, 0xededf700, 0x1b08f700, 0xe4f6f700, 0x091af700, 0xf6e4f700, 0x00000009, 0x09090009, + 0xf6f70009, 0x09000009, 0xf7000009, 0x00090009, 0xfff70009, 0x12120009, 0xedee0009, 0x1b090009, + 0xe4f70009, 0x091b0009, 0xf6e50009, 0xfffffff7, 0x0908fff7, 0xf6f6fff7, 0x08fffff7, 0xf6fffff7, + 0x0008fff7, 0xfff6fff7, 0x1211fff7, 0xededfff7, 0x1b08fff7, 0xe4f6fff7, 0x091afff7, 0xf6e4fff7, + 0x00001212, 0x09091212, 0xf6f71212, 0x09001212, 0xf7001212, 0x00091212, 0xfff71212, 0x12121212, + 0xedee1212, 0x1b091212, 0xe4f71212, 0x091b1212, 0xf6e51212, 0xffffedee, 0x0908edee, 0xf6f6edee, + 0x08ffedee, 0xf6ffedee, 0x0008edee, 0xfff6edee, 0x1211edee, 0xedededee, 0x1b08edee, 0xe4f6edee, + 0x091aedee, 0xf6e4edee, 0x00001b09, 0x09091b09, 0xf6f71b09, 0x09001b09, 0xf7001b09, 0x00091b09, + 0xfff71b09, 0x12121b09, 0xedee1b09, 0x1b091b09, 0xe4f71b09, 0x091b1b09, 0xf6e51b09, 0xffffe4f7, + 0x0908e4f7, 0xf6f6e4f7, 0x08ffe4f7, 0xf6ffe4f7, 0x0008e4f7, 0xfff6e4f7, 0x1211e4f7, 0xedede4f7, + 0x1b08e4f7, 0xe4f6e4f7, 0x091ae4f7, 0xf6e4e4f7, 0x0000091b, 0x0909091b, 0xf6f7091b, 0x0900091b, + 0xf700091b, 0x0009091b, 0xfff7091b, 0x1212091b, 0xedee091b, 0x1b09091b, 0xe4f7091b, 0x091b091b, + 0xf6e5091b, 0xfffff6e5, 0x0908f6e5, 0xf6f6f6e5, 0x08fff6e5, 0xf6fff6e5, 0x0008f6e5, 0xfff6f6e5, + 0x1211f6e5, 0xededf6e5, 0x1b08f6e5, 0xe4f6f6e5, 0x091af6e5, 0xf6e4f6e5, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000202, 0xfffffdfe, 0x00000300, 0xfffffd00, 0x00000003, 0xfffffffd, 0x00000606, + 0xfffff9fa, 0x00000700, 0xfffff900, 0x00000007, 0xfffffff9, 0x000004fb, 0xfffffb05, 0xfffffb05, + 0x000004fb, 0x00000b06, 0xfffff4fa, 0x0000060b, 0xfffff9f5, 0x00000800, 0xfffff800, 0x00000008, + 0xfffffff8, 0x00000b0b, 0xfffff4f5, 0x00000c00, 0xfffff400, 0x0000000c, 0xfffffff4, 0x0000110c, + 0xffffeef4, 0x00000c11, 0xfffff3ef, 0x00001111, 0xffffeeef, 0x00001206, 0xffffedfa, 0x00000612, + 0xfffff9ee, 0x00000af8, 0xfffff508, 0xfffff80b, 0x000007f5, 0x00000f00, 0xfffff100, 0x0000000f, + 0xfffffff1, 0x00001400, 0xffffec00, 0x00000014, 0xffffffec, 0x00001912, 0xffffe6ee, 0x00001219, + 0xffffede7, 0x0000190b, 0xffffe6f5, 0x00000b19, 0xfffff4e7, 0x00001919, 0xffffe6e7, 0x00000df2, + 0xfffff20e, 0xfffff20e, 0x00000df2, 0x00001a00, 0xffffe600, 0x0000001a, 0xffffffe6, 0x000011f5, + 0xffffee0b, 0xfffff512, 0x00000aee, 0x000015f9, 0xffffea07, 0xfffff916, 0x000006ea, 0x0000221a, + 0xffffdde6, 0x00001a22, 0xffffe5de, 0x00002212, 0xffffddee, 0x00001222, 0xffffedde, 0x00002222, + 0xffffddde, 0x0000230b, 0xffffdcf5, 0x00000b23, 0xfffff4dd, 0x00001d00, 0xffffe300, 0x0000001d, + 0xffffffe3, 0x000015ed, 0xffffea13, 0xffffed16, 0x000012ea, 0x000019f1, 0xffffe60f, 0xfffff11a, + 0x00000ee6, 0x00002500, 0xffffdb00, 0x00000025, 0xffffffdb, 0x00002c1b, 0xffffd3e5, 0x00001b2c, + 0xffffe4d4, 0x00002c24, 0xffffd3dc, 0x0000242c, 0xffffdbd4, 0x00002c12, 0xffffd3ee, 0x0000122c, + 0xffffedd4, 0x000020f6, 0xffffdf0a, 0xfffff621, 0x000009df, 0x00002d2d, 0xffffd2d3, 0x00000000, + 0x00000000, 0x00000202, 0xfffffdfe, 0x00000300, 0xfffffd00, 0x00000003, 0xfffffffd, 0x00000606, + 0xfffff9fa, 0x00000700, 0xfffff900, 0x02020000, 0x02020202, 0x0201fdfe, 0x02020300, 0x0201fd00, + 0x02020003, 0x0201fffd, 0x02020606, 0x0201f9fa, 0x02020700, 0x0201f900, 0xfdfe0000, 0xfdfe0202, + 0xfdfdfdfe, 0xfdfe0300, 0xfdfdfd00, 0xfdfe0003, 0xfdfdfffd, 0xfdfe0606, 0xfdfdf9fa, 0xfdfe0700, + 0xfdfdf900, 0x03000000, 0x03000202, 0x02fffdfe, 0x03000300, 0x02fffd00, 0x03000003, 0x02fffffd, + 0x03000606, 0x02fff9fa, 0x03000700, 0x02fff900, 0xfd000000, 0xfd000202, 0xfcfffdfe, 0xfd000300, + 0xfcfffd00, 0xfd000003, 0xfcfffffd, 0xfd000606, 0xfcfff9fa, 0xfd000700, 0xfcfff900, 0x00030000, + 0x00030202, 0x0002fdfe, 0x00030300, 0x0002fd00, 0x00030003, 0x0002fffd, 0x00030606, 0x0002f9fa, + 0x00030700, 0x0002f900, 0xfffd0000, 0xfffd0202, 0xfffcfdfe, 0xfffd0300, 0xfffcfd00, 0xfffd0003, + 0xfffcfffd, 0xfffd0606, 0xfffcf9fa, 0xfffd0700, 0xfffcf900, 0x06060000, 0x06060202, 0x0605fdfe, + 0x06060300, 0x0605fd00, 0x06060003, 0x0605fffd, 0x06060606, 0x0605f9fa, 0x06060700, 0x0605f900, + 0xf9fa0000, 0xf9fa0202, 0xf9f9fdfe, 0xf9fa0300, 0xf9f9fd00, 0xf9fa0003, 0xf9f9fffd, 0xf9fa0606, + 0xf9f9f9fa, 0xf9fa0700, 0xf9f9f900, 0x07000000, 0x07000202, 0x06fffdfe, 0x07000300, 0x06fffd00, + 0x07000003, 0x06fffffd, 0x07000606, 0x06fff9fa, 0x07000700, 0x06fff900, 0xf9000000, 0xf9000202, + 0xf8fffdfe, 0xf9000300, 0xf8fffd00, 0xf9000003, 0xf8fffffd, 0xf9000606, 0xf8fff9fa, 0xf9000700, + 0xf8fff900, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000200, 0xfffffe00, 0x00000002, 0xfffffffe, 0x00000202, 0xfffffdfe, 0x00000606, + 0xfffff9fa, 0x00000600, 0xfffffa00, 0x00000006, 0xfffffffa, 0x000003fc, 0xfffffc04, 0xfffffa0a, + 0x000005f6, 0xfffff400, 0x00000c00, 0xfffff3fa, 0xfffff406, 0x00000bfa, 0x00000c06, 0xfffffff2, + 0x0000000e, 0x00000c0c, 0xfffff3f4, 0xffffee00, 0x00001200, 0xfffff40e, 0x00000bf2, 0xfffff9ee, + 0xfffffa12, 0x000005ee, 0x00000612, 0xffffedf6, 0xffffee0a, 0x000011f6, 0x0000120a, 0xffffffea, + 0x00000016, 0xffffe800, 0x00001800, 0xfffff3ea, 0xfffff416, 0x00000bea, 0x00000c16, 0xffffe7f8, + 0xffffe808, 0x000017f8, 0x00001808, 0xfffff9e6, 0xfffffa1a, 0x000005e6, 0x0000061a, 0xffffffe4, + 0x0000001c, 0x00001414, 0xffffebec, 0xffffe5f2, 0x00001a0e, 0xfffff3e2, 0x00000c1e, 0xffffdff6, + 0x0000200a, 0xffffdfee, 0x00002012, 0xffffe5e6, 0x00001a1a, 0xffffebde, 0x00001422, 0xfffff3da, + 0x00000c26, 0xffffdfe0, 0x00002020, 0x00002020, 0xffffd7ea, 0xffffddde, 0x00002222, 0x00000000, + 0x00000200, 0xfffffe00, 0x00000002, 0xfffffffe, 0x00000202, 0xfffffdfe, 0x00000606, 0xfffff9fa, + 0x00000600, 0xfffffa00, 0x00000006, 0xfffffffa, 0x02000000, 0x02000200, 0x01fffe00, 0x02000002, + 0x01fffffe, 0x02000202, 0x01fffdfe, 0x02000606, 0x01fff9fa, 0x02000600, 0x01fffa00, 0x02000006, + 0x01fffffa, 0xfe000000, 0xfe000200, 0xfdfffe00, 0xfe000002, 0xfdfffffe, 0xfe000202, 0xfdfffdfe, + 0xfe000606, 0xfdfff9fa, 0xfe000600, 0xfdfffa00, 0xfe000006, 0xfdfffffa, 0x00020000, 0x00020200, + 0x0001fe00, 0x00020002, 0x0001fffe, 0x00020202, 0x0001fdfe, 0x00020606, 0x0001f9fa, 0x00020600, + 0x0001fa00, 0x00020006, 0x0001fffa, 0xfffe0000, 0xfffe0200, 0xfffdfe00, 0xfffe0002, 0xfffdfffe, + 0xfffe0202, 0xfffdfdfe, 0xfffe0606, 0xfffdf9fa, 0xfffe0600, 0xfffdfa00, 0xfffe0006, 0xfffdfffa, + 0x02020000, 0x02020200, 0x0201fe00, 0x02020002, 0x0201fffe, 0x02020202, 0x0201fdfe, 0x02020606, + 0x0201f9fa, 0x02020600, 0x0201fa00, 0x02020006, 0x0201fffa, 0xfdfe0000, 0xfdfe0200, 0xfdfdfe00, + 0xfdfe0002, 0xfdfdfffe, 0xfdfe0202, 0xfdfdfdfe, 0xfdfe0606, 0xfdfdf9fa, 0xfdfe0600, 0xfdfdfa00, + 0xfdfe0006, 0xfdfdfffa, 0x06060000, 0x06060200, 0x0605fe00, 0x06060002, 0x0605fffe, 0x06060202, + 0x0605fdfe, 0x06060606, 0x0605f9fa, 0x06060600, 0x0605fa00, 0x06060006, 0x0605fffa, 0xf9fa0000, + 0xf9fa0200, 0xf9f9fe00, 0xf9fa0002, 0xf9f9fffe, 0xf9fa0202, 0xf9f9fdfe, 0xf9fa0606, 0xf9f9f9fa, + 0xf9fa0600, 0xf9f9fa00, 0xf9fa0006, 0xf9f9fffa, 0x06000000, 0x06000200, 0x05fffe00, 0x06000002, + 0x05fffffe, 0x06000202, 0x05fffdfe, 0x06000606, 0x05fff9fa, 0x06000600, 0x05fffa00, 0x06000006, + 0x05fffffa, 0xfa000000, 0xfa000200, 0xf9fffe00, 0xfa000002, 0xf9fffffe, 0xfa000202, 0xf9fffdfe, + 0xfa000606, 0xf9fff9fa, 0xfa000600, 0xf9fffa00, 0xfa000006, 0xf9fffffa, 0x00060000, 0x00060200, + 0x0005fe00, 0x00060002, 0x0005fffe, 0x00060202, 0x0005fdfe, 0x00060606, 0x0005f9fa, 0x00060600, + 0x0005fa00, 0x00060006, 0x0005fffa, 0xfffa0000, 0xfffa0200, 0xfff9fe00, 0xfffa0002, 0xfff9fffe, + 0xfffa0202, 0xfff9fdfe, 0xfffa0606, 0xfff9f9fa, 0xfffa0600, 0xfff9fa00, 0xfffa0006, 0xfff9fffa, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000200, 0xfffffe00, 0x00000002, 0xfffffffe, 0x00000404, 0xfffffbfc, 0x00000a0a, + 0xfffff5f6, 0x00000a00, 0xfffff600, 0x0000000a, 0xfffffff6, 0x000005fa, 0xfffffa06, 0xfffff80e, + 0x000007f2, 0xffffffee, 0x00000012, 0xfffff00a, 0x00000ff6, 0xffffe800, 0x00001800, 0xfffff7e8, + 0xfffff818, 0x000007e8, 0x00000818, 0x00001212, 0xffffedee, 0xfffff014, 0x00000fec, 0xffffe5f2, + 0xffffe60e, 0x000019f2, 0x00001a0e, 0xffffffe2, 0x0000001e, 0xffffde00, 0x00002200, 0xfffff7de, + 0xfffff822, 0x000007de, 0x00000822, 0xffffede2, 0xffffee1e, 0x000011e2, 0x0000121e, 0xffffddf6, + 0xffffde0a, 0x000021f6, 0x0000220a, 0xffffddec, 0x00002214, 0xffffffd8, 0x00000028, 0x00001e1e, + 0xffffe1e2, 0xffffedd8, 0x00001228, 0xffffd400, 0x00002c00, 0xffffd3f0, 0x00002c10, 0xffffdbdc, + 0xffffdbdc, 0x00002424, 0xffffd3e6, 0x00002c1a, 0xffffe5d2, 0x00001a2e, 0xffffedcc, 0x00001234, + 0xffffc9ec, 0xffffd3d4, 0x00002c2c, 0xffffc9e0, 0xffffd1d2, 0xffffd1d2, 0x00002e2e, 0x00000000, + 0x00000200, 0xfffffe00, 0x00000002, 0xfffffffe, 0x00000404, 0xfffffbfc, 0x00000a0a, 0xfffff5f6, + 0x00000a00, 0xfffff600, 0x0000000a, 0xfffffff6, 0x02000000, 0x02000200, 0x01fffe00, 0x02000002, + 0x01fffffe, 0x02000404, 0x01fffbfc, 0x02000a0a, 0x01fff5f6, 0x02000a00, 0x01fff600, 0x0200000a, + 0x01fffff6, 0xfe000000, 0xfe000200, 0xfdfffe00, 0xfe000002, 0xfdfffffe, 0xfe000404, 0xfdfffbfc, + 0xfe000a0a, 0xfdfff5f6, 0xfe000a00, 0xfdfff600, 0xfe00000a, 0xfdfffff6, 0x00020000, 0x00020200, + 0x0001fe00, 0x00020002, 0x0001fffe, 0x00020404, 0x0001fbfc, 0x00020a0a, 0x0001f5f6, 0x00020a00, + 0x0001f600, 0x0002000a, 0x0001fff6, 0xfffe0000, 0xfffe0200, 0xfffdfe00, 0xfffe0002, 0xfffdfffe, + 0xfffe0404, 0xfffdfbfc, 0xfffe0a0a, 0xfffdf5f6, 0xfffe0a00, 0xfffdf600, 0xfffe000a, 0xfffdfff6, + 0x04040000, 0x04040200, 0x0403fe00, 0x04040002, 0x0403fffe, 0x04040404, 0x0403fbfc, 0x04040a0a, + 0x0403f5f6, 0x04040a00, 0x0403f600, 0x0404000a, 0x0403fff6, 0xfbfc0000, 0xfbfc0200, 0xfbfbfe00, + 0xfbfc0002, 0xfbfbfffe, 0xfbfc0404, 0xfbfbfbfc, 0xfbfc0a0a, 0xfbfbf5f6, 0xfbfc0a00, 0xfbfbf600, + 0xfbfc000a, 0xfbfbfff6, 0x0a0a0000, 0x0a0a0200, 0x0a09fe00, 0x0a0a0002, 0x0a09fffe, 0x0a0a0404, + 0x0a09fbfc, 0x0a0a0a0a, 0x0a09f5f6, 0x0a0a0a00, 0x0a09f600, 0x0a0a000a, 0x0a09fff6, 0xf5f60000, + 0xf5f60200, 0xf5f5fe00, 0xf5f60002, 0xf5f5fffe, 0xf5f60404, 0xf5f5fbfc, 0xf5f60a0a, 0xf5f5f5f6, + 0xf5f60a00, 0xf5f5f600, 0xf5f6000a, 0xf5f5fff6, 0x0a000000, 0x0a000200, 0x09fffe00, 0x0a000002, + 0x09fffffe, 0x0a000404, 0x09fffbfc, 0x0a000a0a, 0x09fff5f6, 0x0a000a00, 0x09fff600, 0x0a00000a, + 0x09fffff6, 0xf6000000, 0xf6000200, 0xf5fffe00, 0xf6000002, 0xf5fffffe, 0xf6000404, 0xf5fffbfc, + 0xf6000a0a, 0xf5fff5f6, 0xf6000a00, 0xf5fff600, 0xf600000a, 0xf5fffff6, 0x000a0000, 0x000a0200, + 0x0009fe00, 0x000a0002, 0x0009fffe, 0x000a0404, 0x0009fbfc, 0x000a0a0a, 0x0009f5f6, 0x000a0a00, + 0x0009f600, 0x000a000a, 0x0009fff6, 0xfff60000, 0xfff60200, 0xfff5fe00, 0xfff60002, 0xfff5fffe, + 0xfff60404, 0xfff5fbfc, 0xfff60a0a, 0xfff5f5f6, 0xfff60a00, 0xfff5f600, 0xfff6000a, 0xfff5fff6, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000400, 0xfffffc00, 0x00000004, 0xfffffffc, 0x00000404, 0xfffffbfc, 0x00000c0c, + 0xfffff3f4, 0x00000c00, 0xfffff400, 0x0000000c, 0xfffffff4, 0x000007f8, 0xfffff808, 0xfffff008, + 0x00000ff8, 0xffffe800, 0x00001800, 0xfffff7e8, 0xfffff818, 0x000007e8, 0x00000818, 0xfffff014, + 0x00000fec, 0xffffffe4, 0x0000001c, 0xffffe7f0, 0xffffe810, 0x000017f0, 0x00001810, 0xffffe000, + 0x00002000, 0xffffefe4, 0xfffff01c, 0x00000fe4, 0x0000101c, 0xffffdff8, 0xffffe008, 0xfffff7e0, + 0xfffff820, 0x000007e0, 0x00000820, 0x00001ff8, 0x00002008, 0x00001818, 0xffffe7e8, 0xffffe818, + 0x000017e8, 0xffffdfec, 0x00002014, 0xffffffd8, 0x00000028, 0xffffefd8, 0x00001028, 0xffffd400, + 0xffffd400, 0xffffffd4, 0x0000002c, 0x00002c00, 0x00002c00, 0xffffdfe0, 0x00002020, 0xffffd3f0, + 0x00002c10, 0xffffd3e8, 0xffffe7d4, 0x0000182c, 0x00002c18, 0xffffefd0, 0x00001030, 0xffffdbdc, + 0xffffdbdc, 0x00002424, 0x00002424, 0xffffcbec, 0x00002828, 0xffffd7d8, 0xffffcbe0, 0x00000000, + 0x00000400, 0xfffffc00, 0x00000004, 0xfffffffc, 0x00000404, 0xfffffbfc, 0x00000c0c, 0xfffff3f4, + 0x00000c00, 0xfffff400, 0x0000000c, 0xfffffff4, 0x04000000, 0x04000400, 0x03fffc00, 0x04000004, + 0x03fffffc, 0x04000404, 0x03fffbfc, 0x04000c0c, 0x03fff3f4, 0x04000c00, 0x03fff400, 0x0400000c, + 0x03fffff4, 0xfc000000, 0xfc000400, 0xfbfffc00, 0xfc000004, 0xfbfffffc, 0xfc000404, 0xfbfffbfc, + 0xfc000c0c, 0xfbfff3f4, 0xfc000c00, 0xfbfff400, 0xfc00000c, 0xfbfffff4, 0x00040000, 0x00040400, + 0x0003fc00, 0x00040004, 0x0003fffc, 0x00040404, 0x0003fbfc, 0x00040c0c, 0x0003f3f4, 0x00040c00, + 0x0003f400, 0x0004000c, 0x0003fff4, 0xfffc0000, 0xfffc0400, 0xfffbfc00, 0xfffc0004, 0xfffbfffc, + 0xfffc0404, 0xfffbfbfc, 0xfffc0c0c, 0xfffbf3f4, 0xfffc0c00, 0xfffbf400, 0xfffc000c, 0xfffbfff4, + 0x04040000, 0x04040400, 0x0403fc00, 0x04040004, 0x0403fffc, 0x04040404, 0x0403fbfc, 0x04040c0c, + 0x0403f3f4, 0x04040c00, 0x0403f400, 0x0404000c, 0x0403fff4, 0xfbfc0000, 0xfbfc0400, 0xfbfbfc00, + 0xfbfc0004, 0xfbfbfffc, 0xfbfc0404, 0xfbfbfbfc, 0xfbfc0c0c, 0xfbfbf3f4, 0xfbfc0c00, 0xfbfbf400, + 0xfbfc000c, 0xfbfbfff4, 0x0c0c0000, 0x0c0c0400, 0x0c0bfc00, 0x0c0c0004, 0x0c0bfffc, 0x0c0c0404, + 0x0c0bfbfc, 0x0c0c0c0c, 0x0c0bf3f4, 0x0c0c0c00, 0x0c0bf400, 0x0c0c000c, 0x0c0bfff4, 0xf3f40000, + 0xf3f40400, 0xf3f3fc00, 0xf3f40004, 0xf3f3fffc, 0xf3f40404, 0xf3f3fbfc, 0xf3f40c0c, 0xf3f3f3f4, + 0xf3f40c00, 0xf3f3f400, 0xf3f4000c, 0xf3f3fff4, 0x0c000000, 0x0c000400, 0x0bfffc00, 0x0c000004, + 0x0bfffffc, 0x0c000404, 0x0bfffbfc, 0x0c000c0c, 0x0bfff3f4, 0x0c000c00, 0x0bfff400, 0x0c00000c, + 0x0bfffff4, 0xf4000000, 0xf4000400, 0xf3fffc00, 0xf4000004, 0xf3fffffc, 0xf4000404, 0xf3fffbfc, + 0xf4000c0c, 0xf3fff3f4, 0xf4000c00, 0xf3fff400, 0xf400000c, 0xf3fffff4, 0x000c0000, 0x000c0400, + 0x000bfc00, 0x000c0004, 0x000bfffc, 0x000c0404, 0x000bfbfc, 0x000c0c0c, 0x000bf3f4, 0x000c0c00, + 0x000bf400, 0x000c000c, 0x000bfff4, 0xfff40000, 0xfff40400, 0xfff3fc00, 0xfff40004, 0xfff3fffc, + 0xfff40404, 0xfff3fbfc, 0xfff40c0c, 0xfff3f3f4, 0xfff40c00, 0xfff3f400, 0xfff4000c, 0xfff3fff4, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000202, 0xfffffdfe, 0x00000606, 0xfffff9fa, 0x00000c0c, 0xfffff3f4, 0x00001414, + 0xffffebec, 0x00002020, 0xffffdfe0, 0x00002e2e, 0xffffd1d2, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000202, 0xfffffdfe, 0x00000606, 0xfffff9fa, 0x00000c0c, 0xfffff3f4, 0x00001414, 0xffffebec, + 0x00002020, 0xffffdfe0, 0x00002e2e, 0xffffd1d2, 0x02020000, 0x02020202, 0x0201fdfe, 0x02020606, + 0x0201f9fa, 0x02020c0c, 0x0201f3f4, 0x02021414, 0x0201ebec, 0x02022020, 0x0201dfe0, 0x02022e2e, + 0x0201d1d2, 0xfdfe0000, 0xfdfe0202, 0xfdfdfdfe, 0xfdfe0606, 0xfdfdf9fa, 0xfdfe0c0c, 0xfdfdf3f4, + 0xfdfe1414, 0xfdfdebec, 0xfdfe2020, 0xfdfddfe0, 0xfdfe2e2e, 0xfdfdd1d2, 0x06060000, 0x06060202, + 0x0605fdfe, 0x06060606, 0x0605f9fa, 0x06060c0c, 0x0605f3f4, 0x06061414, 0x0605ebec, 0x06062020, + 0x0605dfe0, 0x06062e2e, 0x0605d1d2, 0xf9fa0000, 0xf9fa0202, 0xf9f9fdfe, 0xf9fa0606, 0xf9f9f9fa, + 0xf9fa0c0c, 0xf9f9f3f4, 0xf9fa1414, 0xf9f9ebec, 0xf9fa2020, 0xf9f9dfe0, 0xf9fa2e2e, 0xf9f9d1d2, + 0x0c0c0000, 0x0c0c0202, 0x0c0bfdfe, 0x0c0c0606, 0x0c0bf9fa, 0x0c0c0c0c, 0x0c0bf3f4, 0x0c0c1414, + 0x0c0bebec, 0x0c0c2020, 0x0c0bdfe0, 0x0c0c2e2e, 0x0c0bd1d2, 0xf3f40000, 0xf3f40202, 0xf3f3fdfe, + 0xf3f40606, 0xf3f3f9fa, 0xf3f40c0c, 0xf3f3f3f4, 0xf3f41414, 0xf3f3ebec, 0xf3f42020, 0xf3f3dfe0, + 0xf3f42e2e, 0xf3f3d1d2, 0x14140000, 0x14140202, 0x1413fdfe, 0x14140606, 0x1413f9fa, 0x14140c0c, + 0x1413f3f4, 0x14141414, 0x1413ebec, 0x14142020, 0x1413dfe0, 0x14142e2e, 0x1413d1d2, 0xebec0000, + 0xebec0202, 0xebebfdfe, 0xebec0606, 0xebebf9fa, 0xebec0c0c, 0xebebf3f4, 0xebec1414, 0xebebebec, + 0xebec2020, 0xebebdfe0, 0xebec2e2e, 0xebebd1d2, 0x20200000, 0x20200202, 0x201ffdfe, 0x20200606, + 0x201ff9fa, 0x20200c0c, 0x201ff3f4, 0x20201414, 0x201febec, 0x20202020, 0x201fdfe0, 0x20202e2e, + 0x201fd1d2, 0xdfe00000, 0xdfe00202, 0xdfdffdfe, 0xdfe00606, 0xdfdff9fa, 0xdfe00c0c, 0xdfdff3f4, + 0xdfe01414, 0xdfdfebec, 0xdfe02020, 0xdfdfdfe0, 0xdfe02e2e, 0xdfdfd1d2, 0x2e2e0000, 0x2e2e0202, + 0x2e2dfdfe, 0x2e2e0606, 0x2e2df9fa, 0x2e2e0c0c, 0x2e2df3f4, 0x2e2e1414, 0x2e2debec, 0x2e2e2020, + 0x2e2ddfe0, 0x2e2e2e2e, 0x2e2dd1d2, 0xd1d20000, 0xd1d20202, 0xd1d1fdfe, 0xd1d20606, 0xd1d1f9fa, + 0xd1d20c0c, 0xd1d1f3f4, 0xd1d21414, 0xd1d1ebec, 0xd1d22020, 0xd1d1dfe0, 0xd1d22e2e, 0xd1d1d1d2, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000202, 0xfffffdfe, 0x00000606, 0xfffff9fa, 0x00000c0c, 0xfffff3f4, 0x00001414, + 0xffffebec, 0x00002020, 0xffffdfe0, 0x00002e2e, 0xffffd1d2, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000202, 0xfffffdfe, 0x00000606, 0xfffff9fa, 0x00000c0c, 0xfffff3f4, 0x00001414, 0xffffebec, + 0x00002020, 0xffffdfe0, 0x00002e2e, 0xffffd1d2, 0x02020000, 0x02020202, 0x0201fdfe, 0x02020606, + 0x0201f9fa, 0x02020c0c, 0x0201f3f4, 0x02021414, 0x0201ebec, 0x02022020, 0x0201dfe0, 0x02022e2e, + 0x0201d1d2, 0xfdfe0000, 0xfdfe0202, 0xfdfdfdfe, 0xfdfe0606, 0xfdfdf9fa, 0xfdfe0c0c, 0xfdfdf3f4, + 0xfdfe1414, 0xfdfdebec, 0xfdfe2020, 0xfdfddfe0, 0xfdfe2e2e, 0xfdfdd1d2, 0x06060000, 0x06060202, + 0x0605fdfe, 0x06060606, 0x0605f9fa, 0x06060c0c, 0x0605f3f4, 0x06061414, 0x0605ebec, 0x06062020, + 0x0605dfe0, 0x06062e2e, 0x0605d1d2, 0xf9fa0000, 0xf9fa0202, 0xf9f9fdfe, 0xf9fa0606, 0xf9f9f9fa, + 0xf9fa0c0c, 0xf9f9f3f4, 0xf9fa1414, 0xf9f9ebec, 0xf9fa2020, 0xf9f9dfe0, 0xf9fa2e2e, 0xf9f9d1d2, + 0x0c0c0000, 0x0c0c0202, 0x0c0bfdfe, 0x0c0c0606, 0x0c0bf9fa, 0x0c0c0c0c, 0x0c0bf3f4, 0x0c0c1414, + 0x0c0bebec, 0x0c0c2020, 0x0c0bdfe0, 0x0c0c2e2e, 0x0c0bd1d2, 0xf3f40000, 0xf3f40202, 0xf3f3fdfe, + 0xf3f40606, 0xf3f3f9fa, 0xf3f40c0c, 0xf3f3f3f4, 0xf3f41414, 0xf3f3ebec, 0xf3f42020, 0xf3f3dfe0, + 0xf3f42e2e, 0xf3f3d1d2, 0x14140000, 0x14140202, 0x1413fdfe, 0x14140606, 0x1413f9fa, 0x14140c0c, + 0x1413f3f4, 0x14141414, 0x1413ebec, 0x14142020, 0x1413dfe0, 0x14142e2e, 0x1413d1d2, 0xebec0000, + 0xebec0202, 0xebebfdfe, 0xebec0606, 0xebebf9fa, 0xebec0c0c, 0xebebf3f4, 0xebec1414, 0xebebebec, + 0xebec2020, 0xebebdfe0, 0xebec2e2e, 0xebebd1d2, 0x20200000, 0x20200202, 0x201ffdfe, 0x20200606, + 0x201ff9fa, 0x20200c0c, 0x201ff3f4, 0x20201414, 0x201febec, 0x20202020, 0x201fdfe0, 0x20202e2e, + 0x201fd1d2, 0xdfe00000, 0xdfe00202, 0xdfdffdfe, 0xdfe00606, 0xdfdff9fa, 0xdfe00c0c, 0xdfdff3f4, + 0xdfe01414, 0xdfdfebec, 0xdfe02020, 0xdfdfdfe0, 0xdfe02e2e, 0xdfdfd1d2, 0x2e2e0000, 0x2e2e0202, + 0x2e2dfdfe, 0x2e2e0606, 0x2e2df9fa, 0x2e2e0c0c, 0x2e2df3f4, 0x2e2e1414, 0x2e2debec, 0x2e2e2020, + 0x2e2ddfe0, 0x2e2e2e2e, 0x2e2dd1d2, 0xd1d20000, 0xd1d20202, 0xd1d1fdfe, 0xd1d20606, 0xd1d1f9fa, + 0xd1d20c0c, 0xd1d1f3f4, 0xd1d21414, 0xd1d1ebec, 0xd1d22020, 0xd1d1dfe0, 0xd1d22e2e, 0xd1d1d1d2, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000202, 0xfffffdfe, 0x00000606, 0xfffff9fa, 0x00000c0c, 0xfffff3f4, 0x00001414, + 0xffffebec, 0x00002020, 0xffffdfe0, 0x00002e2e, 0xffffd1d2, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000202, 0xfffffdfe, 0x00000606, 0xfffff9fa, 0x00000c0c, 0xfffff3f4, 0x00001414, 0xffffebec, + 0x00002020, 0xffffdfe0, 0x00002e2e, 0xffffd1d2, 0x02020000, 0x02020202, 0x0201fdfe, 0x02020606, + 0x0201f9fa, 0x02020c0c, 0x0201f3f4, 0x02021414, 0x0201ebec, 0x02022020, 0x0201dfe0, 0x02022e2e, + 0x0201d1d2, 0xfdfe0000, 0xfdfe0202, 0xfdfdfdfe, 0xfdfe0606, 0xfdfdf9fa, 0xfdfe0c0c, 0xfdfdf3f4, + 0xfdfe1414, 0xfdfdebec, 0xfdfe2020, 0xfdfddfe0, 0xfdfe2e2e, 0xfdfdd1d2, 0x06060000, 0x06060202, + 0x0605fdfe, 0x06060606, 0x0605f9fa, 0x06060c0c, 0x0605f3f4, 0x06061414, 0x0605ebec, 0x06062020, + 0x0605dfe0, 0x06062e2e, 0x0605d1d2, 0xf9fa0000, 0xf9fa0202, 0xf9f9fdfe, 0xf9fa0606, 0xf9f9f9fa, + 0xf9fa0c0c, 0xf9f9f3f4, 0xf9fa1414, 0xf9f9ebec, 0xf9fa2020, 0xf9f9dfe0, 0xf9fa2e2e, 0xf9f9d1d2, + 0x0c0c0000, 0x0c0c0202, 0x0c0bfdfe, 0x0c0c0606, 0x0c0bf9fa, 0x0c0c0c0c, 0x0c0bf3f4, 0x0c0c1414, + 0x0c0bebec, 0x0c0c2020, 0x0c0bdfe0, 0x0c0c2e2e, 0x0c0bd1d2, 0xf3f40000, 0xf3f40202, 0xf3f3fdfe, + 0xf3f40606, 0xf3f3f9fa, 0xf3f40c0c, 0xf3f3f3f4, 0xf3f41414, 0xf3f3ebec, 0xf3f42020, 0xf3f3dfe0, + 0xf3f42e2e, 0xf3f3d1d2, 0x14140000, 0x14140202, 0x1413fdfe, 0x14140606, 0x1413f9fa, 0x14140c0c, + 0x1413f3f4, 0x14141414, 0x1413ebec, 0x14142020, 0x1413dfe0, 0x14142e2e, 0x1413d1d2, 0xebec0000, + 0xebec0202, 0xebebfdfe, 0xebec0606, 0xebebf9fa, 0xebec0c0c, 0xebebf3f4, 0xebec1414, 0xebebebec, + 0xebec2020, 0xebebdfe0, 0xebec2e2e, 0xebebd1d2, 0x20200000, 0x20200202, 0x201ffdfe, 0x20200606, + 0x201ff9fa, 0x20200c0c, 0x201ff3f4, 0x20201414, 0x201febec, 0x20202020, 0x201fdfe0, 0x20202e2e, + 0x201fd1d2, 0xdfe00000, 0xdfe00202, 0xdfdffdfe, 0xdfe00606, 0xdfdff9fa, 0xdfe00c0c, 0xdfdff3f4, + 0xdfe01414, 0xdfdfebec, 0xdfe02020, 0xdfdfdfe0, 0xdfe02e2e, 0xdfdfd1d2, 0x2e2e0000, 0x2e2e0202, + 0x2e2dfdfe, 0x2e2e0606, 0x2e2df9fa, 0x2e2e0c0c, 0x2e2df3f4, 0x2e2e1414, 0x2e2debec, 0x2e2e2020, + 0x2e2ddfe0, 0x2e2e2e2e, 0x2e2dd1d2, 0xd1d20000, 0xd1d20202, 0xd1d1fdfe, 0xd1d20606, 0xd1d1f9fa, + 0xd1d20c0c, 0xd1d1f3f4, 0xd1d21414, 0xd1d1ebec, 0xd1d22020, 0xd1d1dfe0, 0xd1d22e2e, 0xd1d1d1d2, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000202, 0xfffffdfe, 0x00000606, 0xfffff9fa, 0x00000c0c, 0xfffff3f4, 0x00001414, + 0xffffebec, 0x00002020, 0xffffdfe0, 0x00002e2e, 0xffffd1d2, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000202, 0xfffffdfe, 0x00000606, 0xfffff9fa, 0x00000c0c, 0xfffff3f4, 0x00001414, 0xffffebec, + 0x00002020, 0xffffdfe0, 0x00002e2e, 0xffffd1d2, 0x02020000, 0x02020202, 0x0201fdfe, 0x02020606, + 0x0201f9fa, 0x02020c0c, 0x0201f3f4, 0x02021414, 0x0201ebec, 0x02022020, 0x0201dfe0, 0x02022e2e, + 0x0201d1d2, 0xfdfe0000, 0xfdfe0202, 0xfdfdfdfe, 0xfdfe0606, 0xfdfdf9fa, 0xfdfe0c0c, 0xfdfdf3f4, + 0xfdfe1414, 0xfdfdebec, 0xfdfe2020, 0xfdfddfe0, 0xfdfe2e2e, 0xfdfdd1d2, 0x06060000, 0x06060202, + 0x0605fdfe, 0x06060606, 0x0605f9fa, 0x06060c0c, 0x0605f3f4, 0x06061414, 0x0605ebec, 0x06062020, + 0x0605dfe0, 0x06062e2e, 0x0605d1d2, 0xf9fa0000, 0xf9fa0202, 0xf9f9fdfe, 0xf9fa0606, 0xf9f9f9fa, + 0xf9fa0c0c, 0xf9f9f3f4, 0xf9fa1414, 0xf9f9ebec, 0xf9fa2020, 0xf9f9dfe0, 0xf9fa2e2e, 0xf9f9d1d2, + 0x0c0c0000, 0x0c0c0202, 0x0c0bfdfe, 0x0c0c0606, 0x0c0bf9fa, 0x0c0c0c0c, 0x0c0bf3f4, 0x0c0c1414, + 0x0c0bebec, 0x0c0c2020, 0x0c0bdfe0, 0x0c0c2e2e, 0x0c0bd1d2, 0xf3f40000, 0xf3f40202, 0xf3f3fdfe, + 0xf3f40606, 0xf3f3f9fa, 0xf3f40c0c, 0xf3f3f3f4, 0xf3f41414, 0xf3f3ebec, 0xf3f42020, 0xf3f3dfe0, + 0xf3f42e2e, 0xf3f3d1d2, 0x14140000, 0x14140202, 0x1413fdfe, 0x14140606, 0x1413f9fa, 0x14140c0c, + 0x1413f3f4, 0x14141414, 0x1413ebec, 0x14142020, 0x1413dfe0, 0x14142e2e, 0x1413d1d2, 0xebec0000, + 0xebec0202, 0xebebfdfe, 0xebec0606, 0xebebf9fa, 0xebec0c0c, 0xebebf3f4, 0xebec1414, 0xebebebec, + 0xebec2020, 0xebebdfe0, 0xebec2e2e, 0xebebd1d2, 0x20200000, 0x20200202, 0x201ffdfe, 0x20200606, + 0x201ff9fa, 0x20200c0c, 0x201ff3f4, 0x20201414, 0x201febec, 0x20202020, 0x201fdfe0, 0x20202e2e, + 0x201fd1d2, 0xdfe00000, 0xdfe00202, 0xdfdffdfe, 0xdfe00606, 0xdfdff9fa, 0xdfe00c0c, 0xdfdff3f4, + 0xdfe01414, 0xdfdfebec, 0xdfe02020, 0xdfdfdfe0, 0xdfe02e2e, 0xdfdfd1d2, 0x2e2e0000, 0x2e2e0202, + 0x2e2dfdfe, 0x2e2e0606, 0x2e2df9fa, 0x2e2e0c0c, 0x2e2df3f4, 0x2e2e1414, 0x2e2debec, 0x2e2e2020, + 0x2e2ddfe0, 0x2e2e2e2e, 0x2e2dd1d2, 0xd1d20000, 0xd1d20202, 0xd1d1fdfe, 0xd1d20606, 0xd1d1f9fa, + 0xd1d20c0c, 0xd1d1f3f4, 0xd1d21414, 0xd1d1ebec, 0xd1d22020, 0xd1d1dfe0, 0xd1d22e2e, 0xd1d1d1d2, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 +}; + + +const uint32 Indeo3Decoder::correctionloworder[] = { + 0x00000000, 0x02020202, 0xfdfdfdfe, 0x0302feff, 0xfcfd0101, 0xfeff0303, 0x0100fcfd, 0x04040404, + 0xfbfbfbfc, 0x05050101, 0xfafafeff, 0x01010505, 0xfefefafb, 0x0403fbfc, 0xfbfc0404, 0x0605fdfe, + 0xf9fa0202, 0xfdfe0606, 0x0201f9fa, 0x09090404, 0xf6f6fbfc, 0x04040909, 0xfbfbf6f7, 0x09090909, + 0xf6f6f6f7, 0x0a0a0101, 0xf5f5feff, 0x01010a0a, 0xfefef5f6, 0x0807fafb, 0xf7f80505, 0xfafb0808, + 0x0504f7f8, 0x0f0f0909, 0xf0f0f6f7, 0x09090f0f, 0xf6f6f0f1, 0x0c0bfcfd, 0xf3f40303, 0xfcfd0c0c, + 0x0302f3f4, 0x10100404, 0xefeffbfc, 0x04041010, 0xfbfbeff0, 0x10101010, 0xefefeff0, 0x12120000, + 0xedee0000, 0x00001212, 0xffffedee, 0x0c0bf3f4, 0xf3f40c0c, 0x100ff6f7, 0xeff00909, 0xf6f71010, + 0x0908eff0, 0x1b1b0b0b, 0xe4e4f4f5, 0x0b0b1b1b, 0xf4f4e4e5, 0x1c1c1313, 0xe3e3eced, 0x13131c1c, + 0xecece3e4, 0x1615f9fa, 0xe9ea0606, 0xf9fa1616, 0x0605e9ea, 0x1d1d0404, 0xe2e2fbfc, 0x04041d1d, + 0xfbfbe2e3, 0x1e1e1e1e, 0xe1e1e1e2, 0x2120fdfe, 0xdedf0202, 0xfdfe2121, 0x0201dedf, 0x1716edee, + 0xe8e91212, 0xedee1717, 0x1211e8e9, 0x1e1df0f1, 0xe1e20f0f, 0xf0f11e1e, 0x0f0ee1e2, 0x2e2e1616, + 0xd1d1e9ea, 0x16162e2e, 0xe9e9d1d2, 0x2f2f0d0d, 0xd0d0f2f3, 0x0d0d2f2f, 0xf2f2d0d1, 0x31312323, + 0xcecedcdd, 0x23233131, 0xdcdccecf, 0x2928f4f5, 0xd6d70b0b, 0xf4f52929, 0x0b0ad6d7, 0x33330404, + 0xccccfbfc, 0x04043333, 0xfbfbcccd, 0x36363636, 0xc9c9c9ca, 0x2221ddde, 0xddde2222, 0x2a29e2e3, + 0xd5d61d1d, 0xe2e32a2a, 0x1d1cd5d6, 0x3c3bf9fa, 0xc3c40606, 0xf9fa3c3c, 0x0605c3c4, 0x4c4c1b1b, + 0xb3b3e4e5, 0x1b1b4c4c, 0xe4e4b3b4, 0x4d4d2b2b, 0xb2b2d4d5, 0x2b2b4d4d, 0xd4d4b2b3, 0x3736e7e8, + 0xc8c91818, 0xe7e83737, 0x1817c8c9, 0x4f4f0e0e, 0xb0b0f1f2, 0x0e0e4f4f, 0xf1f1b0b1, 0x53533f3f, + 0xacacc0c1, 0x3f3f5353, 0xc0c0acad, 0x4a49ebec, 0xb5b61414, 0xebec4a4a, 0x1413b5b6, 0x58580202, + 0xa7a7fdfe, 0x02025858, 0xfdfda7a8, 0x5d5d5d5d, 0xa2a2a2a3, 0x3d3ccbcc, 0xc2c33434, 0xcbcc3d3d, + 0x3433c2c3, 0x78783434, 0x8787cbcc, 0x34347878, 0xcbcb8788, 0x4b4ad2d3, 0xb4b52d2d, 0xd2d34b4b, + 0x2d2cb4b5, 0x7d7d4b4b, 0x8282b4b5, 0x4b4b7d7d, 0xb4b48283, 0x7a7a2121, 0x8585dedf, 0x21217a7a, + 0xdede8586, 0x6766f2f3, 0x98990d0d, 0xf2f36767, 0x0d0c9899, 0x605fd7d8, 0x9fa02828, 0xd7d86060, + 0x28279fa0, 0x7f7eddde, 0x80812222, 0xddde7f7f, 0x22218081, 0x5958a6a7, 0xa6a75959, 0x6968b1b2, + 0x96974e4e, 0xb1b26969, 0x4e4d9697, 0x0c0c0c0c, 0xf3f3f3f4, 0x17171717, 0xe8e8e8e9, 0x2a2a2a2a, + 0xd5d5d5d6, 0x49494949, 0xb6b6b6b7, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x02020202, 0x02020202, 0x02020202, 0x02020202, 0x02020202, 0x02020202, + 0x02020202, 0xfdfdfdfe, 0xfdfdfdfe, 0xfdfdfdfe, 0xfdfdfdfe, 0xfdfdfdfe, 0xfdfdfdfe, 0xfdfdfdfe, + 0x0302feff, 0x0302feff, 0x0302feff, 0x0302feff, 0x0302feff, 0x0302feff, 0x0302feff, 0xfcfd0101, + 0xfcfd0101, 0xfcfd0101, 0xfcfd0101, 0xfcfd0101, 0xfcfd0101, 0xfcfd0101, 0xfeff0303, 0xfeff0303, + 0xfeff0303, 0xfeff0303, 0xfeff0303, 0xfeff0303, 0xfeff0303, 0x0100fcfd, 0x0100fcfd, 0x0100fcfd, + 0x0100fcfd, 0x0100fcfd, 0x0100fcfd, 0x0100fcfd, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x03030303, 0xfcfcfcfd, 0x0403feff, 0xfbfc0101, 0xfeff0404, 0x0100fbfc, 0x07070707, + 0xf8f8f8f9, 0x08080202, 0xf7f7fdfe, 0x02020808, 0xfdfdf7f8, 0x0908fdfe, 0xf6f70202, 0xfdfe0909, + 0x0201f6f7, 0x0605f9fa, 0xf9fa0606, 0x0d0d0606, 0xf2f2f9fa, 0x06060d0d, 0xf9f9f2f3, 0x0d0d0d0d, + 0xf2f2f2f3, 0x0e0e0101, 0xf1f1feff, 0x01010e0e, 0xfefef1f2, 0x0c0bf7f8, 0xf3f40808, 0xf7f80c0c, + 0x0807f3f4, 0x17170e0e, 0xe8e8f1f2, 0x0e0e1717, 0xf1f1e8e9, 0x1211fafb, 0xedee0505, 0xfafb1212, + 0x0504edee, 0x18180606, 0xe7e7f9fa, 0x06061818, 0xf9f9e7e8, 0x18181818, 0xe7e7e7e8, 0x1b1afeff, + 0xe4e50101, 0xfeff1b1b, 0x0100e4e5, 0x1110eeef, 0xeeef1111, 0x1716f2f3, 0xe8e90d0d, 0xf2f31717, + 0x0d0ce8e9, 0x28281010, 0xd7d7eff0, 0x10102828, 0xefefd7d8, 0x29291c1c, 0xd6d6e3e4, 0x1c1c2929, + 0xe3e3d6d7, 0x2120f6f7, 0xdedf0909, 0xf6f72121, 0x0908dedf, 0x2b2b0606, 0xd4d4f9fa, 0x06062b2b, + 0xf9f9d4d5, 0x2e2e2e2e, 0xd1d1d1d2, 0x3231fbfc, 0xcdce0404, 0xfbfc3232, 0x0403cdce, 0x2221e4e5, + 0xddde1b1b, 0xe4e52222, 0x1b1addde, 0x2d2ce9ea, 0xd2d31616, 0xe9ea2d2d, 0x1615d2d3, 0x45452222, + 0xbabaddde, 0x22224545, 0xddddbabb, 0x46461313, 0xb9b9eced, 0x13134646, 0xececb9ba, 0x49493535, + 0xb6b6cacb, 0x35354949, 0xcacab6b7, 0x3e3deeef, 0xc1c21111, 0xeeef3e3e, 0x1110c1c2, 0x4d4d0505, + 0xb2b2fafb, 0x05054d4d, 0xfafab2b3, 0x52525252, 0xadadadae, 0x3332cccd, 0xcccd3333, 0x403fd4d5, + 0xbfc02b2b, 0xd4d54040, 0x2b2abfc0, 0x5a59f5f6, 0xa5a60a0a, 0xf5f65a5a, 0x0a09a5a6, 0x72722929, + 0x8d8dd6d7, 0x29297272, 0xd6d68d8e, 0x74744040, 0x8b8bbfc0, 0x40407474, 0xbfbf8b8c, 0x5251dadb, + 0xadae2525, 0xdadb5252, 0x2524adae, 0x77771616, 0x8888e9ea, 0x16167777, 0xe9e98889, 0x7c7c5f5f, + 0x8383a0a1, 0x5f5f7c7c, 0xa0a08384, 0x6f6ee1e2, 0x90911e1e, 0xe1e26f6f, 0x1e1d9091, 0x5c5bb1b2, + 0xa3a44e4e, 0xb1b25c5c, 0x4e4da3a4, 0x7170bbbc, 0x8e8f4444, 0xbbbc7171, 0x44438e8f, 0x12121212, + 0xedededee, 0x22222222, 0xddddddde, 0x3f3f3f3f, 0xc0c0c0c1, 0x6d6d6d6d, 0x92929293, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x03030303, 0x03030303, 0x03030303, 0x03030303, 0x03030303, 0x03030303, 0x03030303, 0x03030303, + 0x03030303, 0xfcfcfcfd, 0xfcfcfcfd, 0xfcfcfcfd, 0xfcfcfcfd, 0xfcfcfcfd, 0xfcfcfcfd, 0xfcfcfcfd, + 0xfcfcfcfd, 0xfcfcfcfd, 0x0403feff, 0x0403feff, 0x0403feff, 0x0403feff, 0x0403feff, 0x0403feff, + 0x0403feff, 0x0403feff, 0x0403feff, 0xfbfc0101, 0xfbfc0101, 0xfbfc0101, 0xfbfc0101, 0xfbfc0101, + 0xfbfc0101, 0xfbfc0101, 0xfbfc0101, 0xfbfc0101, 0xfeff0404, 0xfeff0404, 0xfeff0404, 0xfeff0404, + 0xfeff0404, 0xfeff0404, 0xfeff0404, 0xfeff0404, 0xfeff0404, 0x0100fbfc, 0x0100fbfc, 0x0100fbfc, + 0x0100fbfc, 0x0100fbfc, 0x0100fbfc, 0x0100fbfc, 0x0100fbfc, 0x0100fbfc, 0x07070707, 0x07070707, + 0x07070707, 0x07070707, 0x07070707, 0x07070707, 0x07070707, 0x07070707, 0x07070707, 0xf8f8f8f9, + 0xf8f8f8f9, 0xf8f8f8f9, 0xf8f8f8f9, 0xf8f8f8f9, 0xf8f8f8f9, 0xf8f8f8f9, 0xf8f8f8f9, 0xf8f8f8f9, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x04040404, 0xfbfbfbfc, 0x0504feff, 0xfafb0101, 0xfeff0505, 0x0100fafb, 0x0a0a0303, + 0xf5f5fcfd, 0x03030a0a, 0xfcfcf5f6, 0x09090909, 0xf6f6f6f7, 0x0706f8f9, 0xf8f90707, 0x0c0bfcfd, + 0xf3f40303, 0xfcfd0c0c, 0x0302f3f4, 0x11110808, 0xeeeef7f8, 0x08081111, 0xf7f7eeef, 0x11111111, + 0xeeeeeeef, 0x13130101, 0xececfeff, 0x01011313, 0xfefeeced, 0x100ff4f5, 0xeff00b0b, 0xf4f51010, + 0x0b0aeff0, 0x1716f9fa, 0xe8e90606, 0xf9fa1717, 0x0605e8e9, 0x1f1f1212, 0xe0e0edee, 0x12121f1f, + 0xedede0e1, 0x20200808, 0xdfdff7f8, 0x08082020, 0xf7f7dfe0, 0x21212121, 0xdedededf, 0x2423feff, + 0xdbdc0101, 0xfeff2424, 0x0100dbdc, 0x1716e8e9, 0xe8e91717, 0x1f1eeeef, 0xe0e11111, 0xeeef1f1f, + 0x1110e0e1, 0x36361515, 0xc9c9eaeb, 0x15153636, 0xeaeac9ca, 0x37372525, 0xc8c8dadb, 0x25253737, + 0xdadac8c9, 0x2c2bf3f4, 0xd3d40c0c, 0xf3f42c2c, 0x0c0bd3d4, 0x39390808, 0xc6c6f7f8, 0x08083939, + 0xf7f7c6c7, 0x3d3d3d3d, 0xc2c2c2c3, 0x4241fafb, 0xbdbe0505, 0xfafb4242, 0x0504bdbe, 0x2d2cdbdc, + 0xd2d32424, 0xdbdc2d2d, 0x2423d2d3, 0x3c3be2e3, 0xc3c41d1d, 0xe2e33c3c, 0x1d1cc3c4, 0x5c5c2d2d, + 0xa3a3d2d3, 0x2d2d5c5c, 0xd2d2a3a4, 0x5d5d1919, 0xa2a2e6e7, 0x19195d5d, 0xe6e6a2a3, 0x61614747, + 0x9e9eb8b9, 0x47476161, 0xb8b89e9f, 0x5352e9ea, 0xacad1616, 0xe9ea5353, 0x1615acad, 0x66660707, + 0x9999f8f9, 0x07076666, 0xf8f8999a, 0x6d6d6d6d, 0x92929293, 0x4443bbbc, 0xbbbc4444, 0x5554c6c7, + 0xaaab3939, 0xc6c75555, 0x3938aaab, 0x7877f2f3, 0x87880d0d, 0xf2f37878, 0x0d0c8788, 0x6e6dcecf, + 0x91923131, 0xcecf6e6e, 0x31309192, 0x7b7a9798, 0x84856868, 0x97987b7b, 0x68678485, 0x18181818, + 0xe7e7e7e8, 0x2e2e2e2e, 0xd1d1d1d2, 0x54545454, 0xabababac, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x04040404, + 0x04040404, 0x04040404, 0x04040404, 0x04040404, 0x04040404, 0x04040404, 0x04040404, 0x04040404, + 0x04040404, 0xfbfbfbfc, 0xfbfbfbfc, 0xfbfbfbfc, 0xfbfbfbfc, 0xfbfbfbfc, 0xfbfbfbfc, 0xfbfbfbfc, + 0xfbfbfbfc, 0xfbfbfbfc, 0xfbfbfbfc, 0x0504feff, 0x0504feff, 0x0504feff, 0x0504feff, 0x0504feff, + 0x0504feff, 0x0504feff, 0x0504feff, 0x0504feff, 0x0504feff, 0xfafb0101, 0xfafb0101, 0xfafb0101, + 0xfafb0101, 0xfafb0101, 0xfafb0101, 0xfafb0101, 0xfafb0101, 0xfafb0101, 0xfafb0101, 0xfeff0505, + 0xfeff0505, 0xfeff0505, 0xfeff0505, 0xfeff0505, 0xfeff0505, 0xfeff0505, 0xfeff0505, 0xfeff0505, + 0xfeff0505, 0x0100fafb, 0x0100fafb, 0x0100fafb, 0x0100fafb, 0x0100fafb, 0x0100fafb, 0x0100fafb, + 0x0100fafb, 0x0100fafb, 0x0100fafb, 0x0a0a0303, 0x0a0a0303, 0x0a0a0303, 0x0a0a0303, 0x0a0a0303, + 0x0a0a0303, 0x0a0a0303, 0x0a0a0303, 0x0a0a0303, 0x0a0a0303, 0xf5f5fcfd, 0xf5f5fcfd, 0xf5f5fcfd, + 0xf5f5fcfd, 0xf5f5fcfd, 0xf5f5fcfd, 0xf5f5fcfd, 0xf5f5fcfd, 0xf5f5fcfd, 0xf5f5fcfd, 0x03030a0a, + 0x03030a0a, 0x03030a0a, 0x03030a0a, 0x03030a0a, 0x03030a0a, 0x03030a0a, 0x03030a0a, 0x03030a0a, + 0x03030a0a, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x05050505, 0xfafafafb, 0x0706fdfe, 0xf8f90202, 0xfdfe0707, 0x0201f8f9, 0x0b0b0b0b, + 0xf4f4f4f5, 0x0d0d0303, 0xf2f2fcfd, 0x03030d0d, 0xfcfcf2f3, 0x0908f6f7, 0xf6f70909, 0x0f0efbfc, + 0xf0f10404, 0xfbfc0f0f, 0x0403f0f1, 0x16160b0b, 0xe9e9f4f5, 0x0b0b1616, 0xf4f4e9ea, 0x15151515, + 0xeaeaeaeb, 0x18180202, 0xe7e7fdfe, 0x02021818, 0xfdfde7e8, 0x1413f1f2, 0xebec0e0e, 0xf1f21414, + 0x0e0debec, 0x26261717, 0xd9d9e8e9, 0x17172626, 0xe8e8d9da, 0x1d1cf7f8, 0xe2e30808, 0xf7f81d1d, + 0x0807e2e3, 0x27270b0b, 0xd8d8f4f5, 0x0b0b2727, 0xf4f4d8d9, 0x29292929, 0xd6d6d6d7, 0x2d2cfeff, + 0xd2d30101, 0xfeff2d2d, 0x0100d2d3, 0x1d1ce2e3, 0xe2e31d1d, 0x2726e9ea, 0xd8d91616, 0xe9ea2727, + 0x1615d8d9, 0x43431b1b, 0xbcbce4e5, 0x1b1b4343, 0xe4e4bcbd, 0x45452f2f, 0xbabad0d1, 0x2f2f4545, + 0xd0d0babb, 0x3837f0f1, 0xc7c80f0f, 0xf0f13838, 0x0f0ec7c8, 0x47470b0b, 0xb8b8f4f5, 0x0b0b4747, + 0xf4f4b8b9, 0x4c4c4c4c, 0xb3b3b3b4, 0x5352f9fa, 0xacad0606, 0xf9fa5353, 0x0605acad, 0x3938d2d3, + 0xc6c72d2d, 0xd2d33939, 0x2d2cc6c7, 0x4b4adbdc, 0xb4b52424, 0xdbdc4b4b, 0x2423b4b5, 0x73733838, + 0x8c8cc7c8, 0x38387373, 0xc7c78c8d, 0x75751f1f, 0x8a8ae0e1, 0x1f1f7575, 0xe0e08a8b, 0x7a7a5858, + 0x8585a7a8, 0x58587a7a, 0xa7a78586, 0x6867e3e4, 0x97981c1c, 0xe3e46868, 0x1c1b9798, 0x5554aaab, + 0xaaab5555, 0x6a69b7b8, 0x95964848, 0xb7b86a6a, 0x48479596, 0x1e1e1e1e, 0xe1e1e1e2, 0x3a3a3a3a, + 0xc5c5c5c6, 0x69696969, 0x96969697, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x05050505, 0x05050505, + 0x05050505, 0x05050505, 0x05050505, 0x05050505, 0x05050505, 0x05050505, 0x05050505, 0x05050505, + 0x05050505, 0xfafafafb, 0xfafafafb, 0xfafafafb, 0xfafafafb, 0xfafafafb, 0xfafafafb, 0xfafafafb, + 0xfafafafb, 0xfafafafb, 0xfafafafb, 0xfafafafb, 0x0706fdfe, 0x0706fdfe, 0x0706fdfe, 0x0706fdfe, + 0x0706fdfe, 0x0706fdfe, 0x0706fdfe, 0x0706fdfe, 0x0706fdfe, 0x0706fdfe, 0x0706fdfe, 0xf8f90202, + 0xf8f90202, 0xf8f90202, 0xf8f90202, 0xf8f90202, 0xf8f90202, 0xf8f90202, 0xf8f90202, 0xf8f90202, + 0xf8f90202, 0xf8f90202, 0xfdfe0707, 0xfdfe0707, 0xfdfe0707, 0xfdfe0707, 0xfdfe0707, 0xfdfe0707, + 0xfdfe0707, 0xfdfe0707, 0xfdfe0707, 0xfdfe0707, 0xfdfe0707, 0x0201f8f9, 0x0201f8f9, 0x0201f8f9, + 0x0201f8f9, 0x0201f8f9, 0x0201f8f9, 0x0201f8f9, 0x0201f8f9, 0x0201f8f9, 0x0201f8f9, 0x0201f8f9, + 0x0b0b0b0b, 0x0b0b0b0b, 0x0b0b0b0b, 0x0b0b0b0b, 0x0b0b0b0b, 0x0b0b0b0b, 0x0b0b0b0b, 0x0b0b0b0b, + 0x0b0b0b0b, 0x0b0b0b0b, 0x0b0b0b0b, 0xf4f4f4f5, 0xf4f4f4f5, 0xf4f4f4f5, 0xf4f4f4f5, 0xf4f4f4f5, + 0xf4f4f4f5, 0xf4f4f4f5, 0xf4f4f4f5, 0xf4f4f4f5, 0xf4f4f4f5, 0xf4f4f4f5, 0x0d0d0303, 0x0d0d0303, + 0x0d0d0303, 0x0d0d0303, 0x0d0d0303, 0x0d0d0303, 0x0d0d0303, 0x0d0d0303, 0x0d0d0303, 0x0d0d0303, + 0x0d0d0303, 0xf2f2fcfd, 0xf2f2fcfd, 0xf2f2fcfd, 0xf2f2fcfd, 0xf2f2fcfd, 0xf2f2fcfd, 0xf2f2fcfd, + 0xf2f2fcfd, 0xf2f2fcfd, 0xf2f2fcfd, 0xf2f2fcfd, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x06060606, 0xf9f9f9fa, 0x0807fdfe, 0xf7f80202, 0xfdfe0808, 0x0201f7f8, 0x0d0d0d0d, + 0xf2f2f2f3, 0x0f0f0404, 0xf0f0fbfc, 0x04040f0f, 0xfbfbf0f1, 0x0b0af4f5, 0xf4f50b0b, 0x1211fafb, + 0xedee0505, 0xfafb1212, 0x0504edee, 0x1a1a0d0d, 0xe5e5f2f3, 0x0d0d1a1a, 0xf2f2e5e6, 0x1a1a1a1a, + 0xe5e5e5e6, 0x1d1d0202, 0xe2e2fdfe, 0x02021d1d, 0xfdfde2e3, 0x1817eff0, 0xe7e81010, 0xeff01818, + 0x100fe7e8, 0x2e2e1c1c, 0xd1d1e3e4, 0x1c1c2e2e, 0xe3e3d1d2, 0x2322f6f7, 0xdcdd0909, 0xf6f72323, + 0x0908dcdd, 0x2f2f0d0d, 0xd0d0f2f3, 0x0d0d2f2f, 0xf2f2d0d1, 0x31313131, 0xcecececf, 0x3635feff, + 0xc9ca0101, 0xfeff3636, 0x0100c9ca, 0x2322dcdd, 0xdcdd2323, 0x2f2ee5e6, 0xd0d11a1a, 0xe5e62f2f, + 0x1a19d0d1, 0x51512020, 0xaeaedfe0, 0x20205151, 0xdfdfaeaf, 0x53533838, 0xacacc7c8, 0x38385353, + 0xc7c7acad, 0x4342edee, 0xbcbd1212, 0xedee4343, 0x1211bcbd, 0x56560d0d, 0xa9a9f2f3, 0x0d0d5656, + 0xf2f2a9aa, 0x5b5b5b5b, 0xa4a4a4a5, 0x6362f8f9, 0x9c9d0707, 0xf8f96363, 0x07069c9d, 0x4443c9ca, + 0xbbbc3636, 0xc9ca4444, 0x3635bbbc, 0x5a59d3d4, 0xa5a62c2c, 0xd3d45a5a, 0x2c2ba5a6, 0x7c7bdedf, + 0x83842121, 0xdedf7c7c, 0x21208384, 0x67669899, 0x98996767, 0x7f7ea9aa, 0x80815656, 0xa9aa7f7f, + 0x56558081, 0x25252525, 0xdadadadb, 0x45454545, 0xbabababb, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x06060606, 0x06060606, 0x06060606, 0x06060606, 0x06060606, 0x06060606, 0x06060606, + 0x06060606, 0x06060606, 0x06060606, 0x06060606, 0x06060606, 0xf9f9f9fa, 0xf9f9f9fa, 0xf9f9f9fa, + 0xf9f9f9fa, 0xf9f9f9fa, 0xf9f9f9fa, 0xf9f9f9fa, 0xf9f9f9fa, 0xf9f9f9fa, 0xf9f9f9fa, 0xf9f9f9fa, + 0xf9f9f9fa, 0x0807fdfe, 0x0807fdfe, 0x0807fdfe, 0x0807fdfe, 0x0807fdfe, 0x0807fdfe, 0x0807fdfe, + 0x0807fdfe, 0x0807fdfe, 0x0807fdfe, 0x0807fdfe, 0x0807fdfe, 0xf7f80202, 0xf7f80202, 0xf7f80202, + 0xf7f80202, 0xf7f80202, 0xf7f80202, 0xf7f80202, 0xf7f80202, 0xf7f80202, 0xf7f80202, 0xf7f80202, + 0xf7f80202, 0xfdfe0808, 0xfdfe0808, 0xfdfe0808, 0xfdfe0808, 0xfdfe0808, 0xfdfe0808, 0xfdfe0808, + 0xfdfe0808, 0xfdfe0808, 0xfdfe0808, 0xfdfe0808, 0xfdfe0808, 0x0201f7f8, 0x0201f7f8, 0x0201f7f8, + 0x0201f7f8, 0x0201f7f8, 0x0201f7f8, 0x0201f7f8, 0x0201f7f8, 0x0201f7f8, 0x0201f7f8, 0x0201f7f8, + 0x0201f7f8, 0x0d0d0d0d, 0x0d0d0d0d, 0x0d0d0d0d, 0x0d0d0d0d, 0x0d0d0d0d, 0x0d0d0d0d, 0x0d0d0d0d, + 0x0d0d0d0d, 0x0d0d0d0d, 0x0d0d0d0d, 0x0d0d0d0d, 0x0d0d0d0d, 0xf2f2f2f3, 0xf2f2f2f3, 0xf2f2f2f3, + 0xf2f2f2f3, 0xf2f2f2f3, 0xf2f2f2f3, 0xf2f2f2f3, 0xf2f2f2f3, 0xf2f2f2f3, 0xf2f2f2f3, 0xf2f2f2f3, + 0xf2f2f2f3, 0x0f0f0404, 0x0f0f0404, 0x0f0f0404, 0x0f0f0404, 0x0f0f0404, 0x0f0f0404, 0x0f0f0404, + 0x0f0f0404, 0x0f0f0404, 0x0f0f0404, 0x0f0f0404, 0x0f0f0404, 0xf0f0fbfc, 0xf0f0fbfc, 0xf0f0fbfc, + 0xf0f0fbfc, 0xf0f0fbfc, 0xf0f0fbfc, 0xf0f0fbfc, 0xf0f0fbfc, 0xf0f0fbfc, 0xf0f0fbfc, 0xf0f0fbfc, + 0xf0f0fbfc, 0x04040f0f, 0x04040f0f, 0x04040f0f, 0x04040f0f, 0x04040f0f, 0x04040f0f, 0x04040f0f, + 0x04040f0f, 0x04040f0f, 0x04040f0f, 0x04040f0f, 0x04040f0f, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x07070707, 0xf8f8f8f9, 0x0a09fcfd, 0xf5f60303, 0xfcfd0a0a, 0x0302f5f6, 0x10101010, + 0xefefeff0, 0x12120505, 0xededfafb, 0x05051212, 0xfafaedee, 0x0d0cf2f3, 0xf2f30d0d, 0x1514f9fa, + 0xeaeb0606, 0xf9fa1515, 0x0605eaeb, 0x1e1e0f0f, 0xe1e1f0f1, 0x0f0f1e1e, 0xf0f0e1e2, 0x1e1e1e1e, + 0xe1e1e1e2, 0x22220202, 0xddddfdfe, 0x02022222, 0xfdfdddde, 0x1c1beced, 0xe3e41313, 0xeced1c1c, + 0x1312e3e4, 0x36362020, 0xc9c9dfe0, 0x20203636, 0xdfdfc9ca, 0x2928f4f5, 0xd6d70b0b, 0xf4f52929, + 0x0b0ad6d7, 0x37370f0f, 0xc8c8f0f1, 0x0f0f3737, 0xf0f0c8c9, 0x39393939, 0xc6c6c6c7, 0x3f3efeff, + 0xc0c10101, 0xfeff3f3f, 0x0100c0c1, 0x2827d7d8, 0xd7d82828, 0x3736e1e2, 0xc8c91e1e, 0xe1e23737, + 0x1e1dc8c9, 0x5e5e2525, 0xa1a1dadb, 0x25255e5e, 0xdadaa1a2, 0x60604141, 0x9f9fbebf, 0x41416060, + 0xbebe9fa0, 0x4e4deaeb, 0xb1b21515, 0xeaeb4e4e, 0x1514b1b2, 0x64640f0f, 0x9b9bf0f1, 0x0f0f6464, + 0xf0f09b9c, 0x6a6a6a6a, 0x95959596, 0x7473f7f8, 0x8b8c0808, 0xf7f87474, 0x08078b8c, 0x4f4ec0c1, + 0xb0b13f3f, 0xc0c14f4f, 0x3f3eb0b1, 0x6968cccd, 0x96973333, 0xcccd6969, 0x33329697, 0x78778788, + 0x87887878, 0x2b2b2b2b, 0xd4d4d4d5, 0x50505050, 0xafafafb0, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x07070707, 0x07070707, 0x07070707, 0x07070707, 0x07070707, 0x07070707, 0x07070707, + 0x07070707, 0x07070707, 0x07070707, 0x07070707, 0x07070707, 0xf8f8f8f9, 0xf8f8f8f9, 0xf8f8f8f9, + 0xf8f8f8f9, 0xf8f8f8f9, 0xf8f8f8f9, 0xf8f8f8f9, 0xf8f8f8f9, 0xf8f8f8f9, 0xf8f8f8f9, 0xf8f8f8f9, + 0xf8f8f8f9, 0x0a09fcfd, 0x0a09fcfd, 0x0a09fcfd, 0x0a09fcfd, 0x0a09fcfd, 0x0a09fcfd, 0x0a09fcfd, + 0x0a09fcfd, 0x0a09fcfd, 0x0a09fcfd, 0x0a09fcfd, 0x0a09fcfd, 0xf5f60303, 0xf5f60303, 0xf5f60303, + 0xf5f60303, 0xf5f60303, 0xf5f60303, 0xf5f60303, 0xf5f60303, 0xf5f60303, 0xf5f60303, 0xf5f60303, + 0xf5f60303, 0xfcfd0a0a, 0xfcfd0a0a, 0xfcfd0a0a, 0xfcfd0a0a, 0xfcfd0a0a, 0xfcfd0a0a, 0xfcfd0a0a, + 0xfcfd0a0a, 0xfcfd0a0a, 0xfcfd0a0a, 0xfcfd0a0a, 0xfcfd0a0a, 0x0302f5f6, 0x0302f5f6, 0x0302f5f6, + 0x0302f5f6, 0x0302f5f6, 0x0302f5f6, 0x0302f5f6, 0x0302f5f6, 0x0302f5f6, 0x0302f5f6, 0x0302f5f6, + 0x0302f5f6, 0x10101010, 0x10101010, 0x10101010, 0x10101010, 0x10101010, 0x10101010, 0x10101010, + 0x10101010, 0x10101010, 0x10101010, 0x10101010, 0x10101010, 0xefefeff0, 0xefefeff0, 0xefefeff0, + 0xefefeff0, 0xefefeff0, 0xefefeff0, 0xefefeff0, 0xefefeff0, 0xefefeff0, 0xefefeff0, 0xefefeff0, + 0xefefeff0, 0x12120505, 0x12120505, 0x12120505, 0x12120505, 0x12120505, 0x12120505, 0x12120505, + 0x12120505, 0x12120505, 0x12120505, 0x12120505, 0x12120505, 0xededfafb, 0xededfafb, 0xededfafb, + 0xededfafb, 0xededfafb, 0xededfafb, 0xededfafb, 0xededfafb, 0xededfafb, 0xededfafb, 0xededfafb, + 0xededfafb, 0x05051212, 0x05051212, 0x05051212, 0x05051212, 0x05051212, 0x05051212, 0x05051212, + 0x05051212, 0x05051212, 0x05051212, 0x05051212, 0x05051212, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x08080808, 0xf7f7f7f8, 0x0b0afcfd, 0xf4f50303, 0xfcfd0b0b, 0x0302f4f5, 0x12121212, + 0xedededee, 0x14140505, 0xebebfafb, 0x05051414, 0xfafaebec, 0x0f0ef0f1, 0xf0f10f0f, 0x1817f8f9, + 0xe7e80707, 0xf8f91818, 0x0706e7e8, 0x23231111, 0xdcdceeef, 0x11112323, 0xeeeedcdd, 0x22222222, + 0xddddddde, 0x26260303, 0xd9d9fcfd, 0x03032626, 0xfcfcd9da, 0x201fe9ea, 0xdfe01616, 0xe9ea2020, + 0x1615dfe0, 0x3d3d2525, 0xc2c2dadb, 0x25253d3d, 0xdadac2c3, 0x2f2ef2f3, 0xd0d10d0d, 0xf2f32f2f, + 0x0d0cd0d1, 0x3f3f1111, 0xc0c0eeef, 0x11113f3f, 0xeeeec0c1, 0x41414141, 0xbebebebf, 0x4847feff, + 0xb7b80101, 0xfeff4848, 0x0100b7b8, 0x2e2dd1d2, 0xd1d22e2e, 0x3f3edcdd, 0xc0c12323, 0xdcdd3f3f, + 0x2322c0c1, 0x6b6b2b2b, 0x9494d4d5, 0x2b2b6b6b, 0xd4d49495, 0x6e6e4b4b, 0x9191b4b5, 0x4b4b6e6e, + 0xb4b49192, 0x5958e7e8, 0xa6a71818, 0xe7e85959, 0x1817a6a7, 0x72721111, 0x8d8deeef, 0x11117272, + 0xeeee8d8e, 0x79797979, 0x86868687, 0x5b5ab7b8, 0xa4a54848, 0xb7b85b5b, 0x4847a4a5, 0x7877c5c6, + 0x87883a3a, 0xc5c67878, 0x3a398788, 0x31313131, 0xcecececf, 0x5c5c5c5c, 0xa3a3a3a4, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x08080808, 0x08080808, 0x08080808, 0x08080808, 0x08080808, + 0x08080808, 0x08080808, 0x08080808, 0x08080808, 0x08080808, 0x08080808, 0x08080808, 0xf7f7f7f8, + 0xf7f7f7f8, 0xf7f7f7f8, 0xf7f7f7f8, 0xf7f7f7f8, 0xf7f7f7f8, 0xf7f7f7f8, 0xf7f7f7f8, 0xf7f7f7f8, + 0xf7f7f7f8, 0xf7f7f7f8, 0xf7f7f7f8, 0x0b0afcfd, 0x0b0afcfd, 0x0b0afcfd, 0x0b0afcfd, 0x0b0afcfd, + 0x0b0afcfd, 0x0b0afcfd, 0x0b0afcfd, 0x0b0afcfd, 0x0b0afcfd, 0x0b0afcfd, 0x0b0afcfd, 0xf4f50303, + 0xf4f50303, 0xf4f50303, 0xf4f50303, 0xf4f50303, 0xf4f50303, 0xf4f50303, 0xf4f50303, 0xf4f50303, + 0xf4f50303, 0xf4f50303, 0xf4f50303, 0xfcfd0b0b, 0xfcfd0b0b, 0xfcfd0b0b, 0xfcfd0b0b, 0xfcfd0b0b, + 0xfcfd0b0b, 0xfcfd0b0b, 0xfcfd0b0b, 0xfcfd0b0b, 0xfcfd0b0b, 0xfcfd0b0b, 0xfcfd0b0b, 0x0302f4f5, + 0x0302f4f5, 0x0302f4f5, 0x0302f4f5, 0x0302f4f5, 0x0302f4f5, 0x0302f4f5, 0x0302f4f5, 0x0302f4f5, + 0x0302f4f5, 0x0302f4f5, 0x0302f4f5, 0x12121212, 0x12121212, 0x12121212, 0x12121212, 0x12121212, + 0x12121212, 0x12121212, 0x12121212, 0x12121212, 0x12121212, 0x12121212, 0x12121212, 0xedededee, + 0xedededee, 0xedededee, 0xedededee, 0xedededee, 0xedededee, 0xedededee, 0xedededee, 0xedededee, + 0xedededee, 0xedededee, 0xedededee, 0x14140505, 0x14140505, 0x14140505, 0x14140505, 0x14140505, + 0x14140505, 0x14140505, 0x14140505, 0x14140505, 0x14140505, 0x14140505, 0x14140505, 0xebebfafb, + 0xebebfafb, 0xebebfafb, 0xebebfafb, 0xebebfafb, 0xebebfafb, 0xebebfafb, 0xebebfafb, 0xebebfafb, + 0xebebfafb, 0xebebfafb, 0xebebfafb, 0x05051414, 0x05051414, 0x05051414, 0x05051414, 0x05051414, + 0x05051414, 0x05051414, 0x05051414, 0x05051414, 0x05051414, 0x05051414, 0x05051414, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x09090909, 0xf6f6f6f7, 0x0c0bfcfd, 0xf3f40303, 0xfcfd0c0c, 0x0302f3f4, 0x14141414, + 0xebebebec, 0x17170606, 0xe8e8f9fa, 0x06061717, 0xf9f9e8e9, 0x1110eeef, 0xeeef1111, 0x1b1af8f9, + 0xe4e50707, 0xf8f91b1b, 0x0706e4e5, 0x27271313, 0xd8d8eced, 0x13132727, 0xececd8d9, 0x27272727, + 0xd8d8d8d9, 0x2b2b0303, 0xd4d4fcfd, 0x03032b2b, 0xfcfcd4d5, 0x2423e7e8, 0xdbdc1818, 0xe7e82424, + 0x1817dbdc, 0x45452a2a, 0xbabad5d6, 0x2a2a4545, 0xd5d5babb, 0x3534f1f2, 0xcacb0e0e, 0xf1f23535, + 0x0e0dcacb, 0x47471313, 0xb8b8eced, 0x13134747, 0xececb8b9, 0x49494949, 0xb6b6b6b7, 0x504ffdfe, + 0xafb00202, 0xfdfe5050, 0x0201afb0, 0x3433cbcc, 0xcbcc3434, 0x4645d8d9, 0xb9ba2727, 0xd8d94646, + 0x2726b9ba, 0x79793030, 0x8686cfd0, 0x30307979, 0xcfcf8687, 0x7c7c5454, 0x8383abac, 0x54547c7c, + 0xabab8384, 0x6463e4e5, 0x9b9c1b1b, 0xe4e56464, 0x1b1a9b9c, 0x6665aeaf, 0x999a5151, 0xaeaf6666, + 0x5150999a, 0x37373737, 0xc8c8c8c9, 0x68686868, 0x97979798, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x09090909, 0x09090909, 0x09090909, 0x09090909, 0x09090909, 0x09090909, + 0x09090909, 0x09090909, 0x09090909, 0x09090909, 0x09090909, 0x09090909, 0x09090909, 0xf6f6f6f7, + 0xf6f6f6f7, 0xf6f6f6f7, 0xf6f6f6f7, 0xf6f6f6f7, 0xf6f6f6f7, 0xf6f6f6f7, 0xf6f6f6f7, 0xf6f6f6f7, + 0xf6f6f6f7, 0xf6f6f6f7, 0xf6f6f6f7, 0xf6f6f6f7, 0x0c0bfcfd, 0x0c0bfcfd, 0x0c0bfcfd, 0x0c0bfcfd, + 0x0c0bfcfd, 0x0c0bfcfd, 0x0c0bfcfd, 0x0c0bfcfd, 0x0c0bfcfd, 0x0c0bfcfd, 0x0c0bfcfd, 0x0c0bfcfd, + 0x0c0bfcfd, 0xf3f40303, 0xf3f40303, 0xf3f40303, 0xf3f40303, 0xf3f40303, 0xf3f40303, 0xf3f40303, + 0xf3f40303, 0xf3f40303, 0xf3f40303, 0xf3f40303, 0xf3f40303, 0xf3f40303, 0xfcfd0c0c, 0xfcfd0c0c, + 0xfcfd0c0c, 0xfcfd0c0c, 0xfcfd0c0c, 0xfcfd0c0c, 0xfcfd0c0c, 0xfcfd0c0c, 0xfcfd0c0c, 0xfcfd0c0c, + 0xfcfd0c0c, 0xfcfd0c0c, 0xfcfd0c0c, 0x0302f3f4, 0x0302f3f4, 0x0302f3f4, 0x0302f3f4, 0x0302f3f4, + 0x0302f3f4, 0x0302f3f4, 0x0302f3f4, 0x0302f3f4, 0x0302f3f4, 0x0302f3f4, 0x0302f3f4, 0x0302f3f4, + 0x14141414, 0x14141414, 0x14141414, 0x14141414, 0x14141414, 0x14141414, 0x14141414, 0x14141414, + 0x14141414, 0x14141414, 0x14141414, 0x14141414, 0x14141414, 0xebebebec, 0xebebebec, 0xebebebec, + 0xebebebec, 0xebebebec, 0xebebebec, 0xebebebec, 0xebebebec, 0xebebebec, 0xebebebec, 0xebebebec, + 0xebebebec, 0xebebebec, 0x17170606, 0x17170606, 0x17170606, 0x17170606, 0x17170606, 0x17170606, + 0x17170606, 0x17170606, 0x17170606, 0x17170606, 0x17170606, 0x17170606, 0x17170606, 0xe8e8f9fa, + 0xe8e8f9fa, 0xe8e8f9fa, 0xe8e8f9fa, 0xe8e8f9fa, 0xe8e8f9fa, 0xe8e8f9fa, 0xe8e8f9fa, 0xe8e8f9fa, + 0xe8e8f9fa, 0xe8e8f9fa, 0xe8e8f9fa, 0xe8e8f9fa, 0x06061717, 0x06061717, 0x06061717, 0x06061717, + 0x06061717, 0x06061717, 0x06061717, 0x06061717, 0x06061717, 0x06061717, 0x06061717, 0x06061717, + 0x06061717, 0xf9f9e8e9, 0xf9f9e8e9, 0xf9f9e8e9, 0xf9f9e8e9, 0xf9f9e8e9, 0xf9f9e8e9, 0xf9f9e8e9, + 0xf9f9e8e9, 0xf9f9e8e9, 0xf9f9e8e9, 0xf9f9e8e9, 0xf9f9e8e9, 0xf9f9e8e9, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x02020202, 0xfdfdfdfe, 0x02020000, 0xfdfe0000, 0x00000202, 0xfffffdfe, 0x04040404, + 0xfbfbfbfc, 0x04040000, 0xfbfc0000, 0x00000404, 0xfffffbfc, 0x0403fbfc, 0xfbfc0404, 0x0605fdfe, + 0xf9fa0202, 0xfdfe0606, 0x0201f9fa, 0x08080404, 0xf7f7fbfc, 0x04040808, 0xfbfbf7f8, 0x08080808, + 0xf7f7f7f8, 0x0a0a0000, 0xf5f60000, 0x00000a0a, 0xfffff5f6, 0x0807fbfc, 0xf7f80404, 0xfbfc0808, + 0x0403f7f8, 0x0e0e0808, 0xf1f1f7f8, 0x08080e0e, 0xf7f7f1f2, 0x0c0bfdfe, 0xf3f40202, 0xfdfe0c0c, + 0x0201f3f4, 0x10100404, 0xefeffbfc, 0x04041010, 0xfbfbeff0, 0x10101010, 0xefefeff0, 0x12120000, + 0xedee0000, 0x00001212, 0xffffedee, 0x0c0bf3f4, 0xf3f40c0c, 0x100ff7f8, 0xeff00808, 0xf7f81010, + 0x0807eff0, 0x1a1a0a0a, 0xe5e5f5f6, 0x0a0a1a1a, 0xf5f5e5e6, 0x1c1c1212, 0xe3e3edee, 0x12121c1c, + 0xedede3e4, 0x1615f9fa, 0xe9ea0606, 0xf9fa1616, 0x0605e9ea, 0x1c1c0404, 0xe3e3fbfc, 0x04041c1c, + 0xfbfbe3e4, 0x1e1e1e1e, 0xe1e1e1e2, 0x201ffdfe, 0xdfe00202, 0xfdfe2020, 0x0201dfe0, 0x1615edee, + 0xe9ea1212, 0xedee1616, 0x1211e9ea, 0x1e1df1f2, 0xe1e20e0e, 0xf1f21e1e, 0x0e0de1e2, 0x2e2e1616, + 0xd1d1e9ea, 0x16162e2e, 0xe9e9d1d2, 0x2e2e0c0c, 0xd1d1f3f4, 0x0c0c2e2e, 0xf3f3d1d2, 0x30302222, + 0xcfcfddde, 0x22223030, 0xddddcfd0, 0x2827f5f6, 0xd7d80a0a, 0xf5f62828, 0x0a09d7d8, 0x32320404, + 0xcdcdfbfc, 0x04043232, 0xfbfbcdce, 0x36363636, 0xc9c9c9ca, 0x2221ddde, 0xddde2222, 0x2a29e3e4, + 0xd5d61c1c, 0xe3e42a2a, 0x1c1bd5d6, 0x3c3bf9fa, 0xc3c40606, 0xf9fa3c3c, 0x0605c3c4, 0x4c4c1a1a, + 0xb3b3e5e6, 0x1a1a4c4c, 0xe5e5b3b4, 0x4c4c2a2a, 0xb3b3d5d6, 0x2a2a4c4c, 0xd5d5b3b4, 0x3635e7e8, + 0xc9ca1818, 0xe7e83636, 0x1817c9ca, 0x4e4e0e0e, 0xb1b1f1f2, 0x0e0e4e4e, 0xf1f1b1b2, 0x52523e3e, + 0xadadc1c2, 0x3e3e5252, 0xc1c1adae, 0x4a49ebec, 0xb5b61414, 0xebec4a4a, 0x1413b5b6, 0x58580202, + 0xa7a7fdfe, 0x02025858, 0xfdfda7a8, 0x5c5c5c5c, 0xa3a3a3a4, 0x3c3bcbcc, 0xc3c43434, 0xcbcc3c3c, + 0x3433c3c4, 0x76763434, 0x8989cbcc, 0x34347676, 0xcbcb898a, 0x4a49d3d4, 0xb5b62c2c, 0xd3d44a4a, + 0x2c2bb5b6, 0x76764a4a, 0x8989b5b6, 0x4a4a7676, 0xb5b5898a, 0x76762020, 0x8989dfe0, 0x20207676, + 0xdfdf898a, 0x6665f3f4, 0x999a0c0c, 0xf3f46666, 0x0c0b999a, 0x605fd7d8, 0x9fa02828, 0xd7d86060, + 0x28279fa0, 0x7675ddde, 0x898a2222, 0xddde7676, 0x2221898a, 0x5857a7a8, 0xa7a85858, 0x6867b1b2, + 0x97984e4e, 0xb1b26868, 0x4e4d9798, 0x0c0c0c0c, 0xf3f3f3f4, 0x16161616, 0xe9e9e9ea, 0x2a2a2a2a, + 0xd5d5d5d6, 0x48484848, 0xb7b7b7b8, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x02020202, 0x02020202, 0x02020202, 0x02020202, 0x02020202, 0x02020202, + 0x02020202, 0xfdfdfdfe, 0xfdfdfdfe, 0xfdfdfdfe, 0xfdfdfdfe, 0xfdfdfdfe, 0xfdfdfdfe, 0xfdfdfdfe, + 0x02020000, 0x02020000, 0x02020000, 0x02020000, 0x02020000, 0x02020000, 0x02020000, 0xfdfe0000, + 0xfdfe0000, 0xfdfe0000, 0xfdfe0000, 0xfdfe0000, 0xfdfe0000, 0xfdfe0000, 0x00000202, 0x00000202, + 0x00000202, 0x00000202, 0x00000202, 0x00000202, 0x00000202, 0xfffffdfe, 0xfffffdfe, 0xfffffdfe, + 0xfffffdfe, 0xfffffdfe, 0xfffffdfe, 0xfffffdfe, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x03030303, 0xfcfcfcfd, 0x03030000, 0xfcfd0000, 0x00000303, 0xfffffcfd, 0x06060606, + 0xf9f9f9fa, 0x09090303, 0xf6f6fcfd, 0x03030909, 0xfcfcf6f7, 0x0908fcfd, 0xf6f70303, 0xfcfd0909, + 0x0302f6f7, 0x0605f9fa, 0xf9fa0606, 0x0c0c0606, 0xf3f3f9fa, 0x06060c0c, 0xf9f9f3f4, 0x0c0c0c0c, + 0xf3f3f3f4, 0x0f0f0000, 0xf0f10000, 0x00000f0f, 0xfffff0f1, 0x0c0bf6f7, 0xf3f40909, 0xf6f70c0c, + 0x0908f3f4, 0x18180f0f, 0xe7e7f0f1, 0x0f0f1818, 0xf0f0e7e8, 0x1211f9fa, 0xedee0606, 0xf9fa1212, + 0x0605edee, 0x18180606, 0xe7e7f9fa, 0x06061818, 0xf9f9e7e8, 0x18181818, 0xe7e7e7e8, 0x1b1b0000, + 0xe4e50000, 0x00001b1b, 0xffffe4e5, 0x1211edee, 0xedee1212, 0x1817f3f4, 0xe7e80c0c, 0xf3f41818, + 0x0c0be7e8, 0x27270f0f, 0xd8d8f0f1, 0x0f0f2727, 0xf0f0d8d9, 0x2a2a1b1b, 0xd5d5e4e5, 0x1b1b2a2a, + 0xe4e4d5d6, 0x2120f6f7, 0xdedf0909, 0xf6f72121, 0x0908dedf, 0x2a2a0606, 0xd5d5f9fa, 0x06062a2a, + 0xf9f9d5d6, 0x2d2d2d2d, 0xd2d2d2d3, 0x3332fcfd, 0xcccd0303, 0xfcfd3333, 0x0302cccd, 0x2120e4e5, + 0xdedf1b1b, 0xe4e52121, 0x1b1adedf, 0x2d2ceaeb, 0xd2d31515, 0xeaeb2d2d, 0x1514d2d3, 0x45452121, + 0xbabadedf, 0x21214545, 0xdedebabb, 0x45451212, 0xbabaedee, 0x12124545, 0xededbabb, 0x48483636, + 0xb7b7c9ca, 0x36364848, 0xc9c9b7b8, 0x3f3eedee, 0xc0c11212, 0xedee3f3f, 0x1211c0c1, 0x4e4e0606, + 0xb1b1f9fa, 0x06064e4e, 0xf9f9b1b2, 0x51515151, 0xaeaeaeaf, 0x3332cccd, 0xcccd3333, 0x3f3ed5d6, + 0xc0c12a2a, 0xd5d63f3f, 0x2a29c0c1, 0x5a59f6f7, 0xa5a60909, 0xf6f75a5a, 0x0908a5a6, 0x72722a2a, + 0x8d8dd5d6, 0x2a2a7272, 0xd5d58d8e, 0x75753f3f, 0x8a8ac0c1, 0x3f3f7575, 0xc0c08a8b, 0x5150dbdc, + 0xaeaf2424, 0xdbdc5151, 0x2423aeaf, 0x78781515, 0x8787eaeb, 0x15157878, 0xeaea8788, 0x7b7b6060, + 0x84849fa0, 0x60607b7b, 0x9f9f8485, 0x6f6ee1e2, 0x90911e1e, 0xe1e26f6f, 0x1e1d9091, 0x5d5cb1b2, + 0xa2a34e4e, 0xb1b25d5d, 0x4e4da2a3, 0x7271babb, 0x8d8e4545, 0xbabb7272, 0x45448d8e, 0x12121212, + 0xedededee, 0x21212121, 0xdedededf, 0x3f3f3f3f, 0xc0c0c0c1, 0x6c6c6c6c, 0x93939394, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x03030303, 0x03030303, 0x03030303, 0x03030303, 0x03030303, 0x03030303, 0x03030303, 0x03030303, + 0x03030303, 0xfcfcfcfd, 0xfcfcfcfd, 0xfcfcfcfd, 0xfcfcfcfd, 0xfcfcfcfd, 0xfcfcfcfd, 0xfcfcfcfd, + 0xfcfcfcfd, 0xfcfcfcfd, 0x03030000, 0x03030000, 0x03030000, 0x03030000, 0x03030000, 0x03030000, + 0x03030000, 0x03030000, 0x03030000, 0xfcfd0000, 0xfcfd0000, 0xfcfd0000, 0xfcfd0000, 0xfcfd0000, + 0xfcfd0000, 0xfcfd0000, 0xfcfd0000, 0xfcfd0000, 0x00000303, 0x00000303, 0x00000303, 0x00000303, + 0x00000303, 0x00000303, 0x00000303, 0x00000303, 0x00000303, 0xfffffcfd, 0xfffffcfd, 0xfffffcfd, + 0xfffffcfd, 0xfffffcfd, 0xfffffcfd, 0xfffffcfd, 0xfffffcfd, 0xfffffcfd, 0x06060606, 0x06060606, + 0x06060606, 0x06060606, 0x06060606, 0x06060606, 0x06060606, 0x06060606, 0x06060606, 0xf9f9f9fa, + 0xf9f9f9fa, 0xf9f9f9fa, 0xf9f9f9fa, 0xf9f9f9fa, 0xf9f9f9fa, 0xf9f9f9fa, 0xf9f9f9fa, 0xf9f9f9fa, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x04040404, 0xfbfbfbfc, 0x04040000, 0xfbfc0000, 0x00000404, 0xfffffbfc, 0x08080404, + 0xf7f7fbfc, 0x04040808, 0xfbfbf7f8, 0x08080808, 0xf7f7f7f8, 0x0807f7f8, 0xf7f80808, 0x0c0bfbfc, + 0xf3f40404, 0xfbfc0c0c, 0x0403f3f4, 0x10100808, 0xefeff7f8, 0x08081010, 0xf7f7eff0, 0x10101010, + 0xefefeff0, 0x14140000, 0xebec0000, 0x00001414, 0xffffebec, 0x100ff3f4, 0xeff00c0c, 0xf3f41010, + 0x0c0beff0, 0x1817fbfc, 0xe7e80404, 0xfbfc1818, 0x0403e7e8, 0x20201010, 0xdfdfeff0, 0x10102020, + 0xefefdfe0, 0x20200808, 0xdfdff7f8, 0x08082020, 0xf7f7dfe0, 0x20202020, 0xdfdfdfe0, 0x24240000, + 0xdbdc0000, 0x00002424, 0xffffdbdc, 0x1817e7e8, 0xe7e81818, 0x201feff0, 0xdfe01010, 0xeff02020, + 0x100fdfe0, 0x34341414, 0xcbcbebec, 0x14143434, 0xebebcbcc, 0x38382424, 0xc7c7dbdc, 0x24243838, + 0xdbdbc7c8, 0x2c2bf3f4, 0xd3d40c0c, 0xf3f42c2c, 0x0c0bd3d4, 0x38380808, 0xc7c7f7f8, 0x08083838, + 0xf7f7c7c8, 0x3c3c3c3c, 0xc3c3c3c4, 0x403ffbfc, 0xbfc00404, 0xfbfc4040, 0x0403bfc0, 0x2c2bdbdc, + 0xd3d42424, 0xdbdc2c2c, 0x2423d3d4, 0x3c3be3e4, 0xc3c41c1c, 0xe3e43c3c, 0x1c1bc3c4, 0x5c5c2c2c, + 0xa3a3d3d4, 0x2c2c5c5c, 0xd3d3a3a4, 0x5c5c1818, 0xa3a3e7e8, 0x18185c5c, 0xe7e7a3a4, 0x60604848, + 0x9f9fb7b8, 0x48486060, 0xb7b79fa0, 0x5453ebec, 0xabac1414, 0xebec5454, 0x1413abac, 0x64640808, + 0x9b9bf7f8, 0x08086464, 0xf7f79b9c, 0x6c6c6c6c, 0x93939394, 0x4443bbbc, 0xbbbc4444, 0x5453c7c8, + 0xabac3838, 0xc7c85454, 0x3837abac, 0x7877f3f4, 0x87880c0c, 0xf3f47878, 0x0c0b8788, 0x6c6bcfd0, + 0x93943030, 0xcfd06c6c, 0x302f9394, 0x7c7b9798, 0x83846868, 0x97987c7c, 0x68678384, 0x18181818, + 0xe7e7e7e8, 0x2c2c2c2c, 0xd3d3d3d4, 0x54545454, 0xabababac, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x04040404, + 0x04040404, 0x04040404, 0x04040404, 0x04040404, 0x04040404, 0x04040404, 0x04040404, 0x04040404, + 0x04040404, 0xfbfbfbfc, 0xfbfbfbfc, 0xfbfbfbfc, 0xfbfbfbfc, 0xfbfbfbfc, 0xfbfbfbfc, 0xfbfbfbfc, + 0xfbfbfbfc, 0xfbfbfbfc, 0xfbfbfbfc, 0x04040000, 0x04040000, 0x04040000, 0x04040000, 0x04040000, + 0x04040000, 0x04040000, 0x04040000, 0x04040000, 0x04040000, 0xfbfc0000, 0xfbfc0000, 0xfbfc0000, + 0xfbfc0000, 0xfbfc0000, 0xfbfc0000, 0xfbfc0000, 0xfbfc0000, 0xfbfc0000, 0xfbfc0000, 0x00000404, + 0x00000404, 0x00000404, 0x00000404, 0x00000404, 0x00000404, 0x00000404, 0x00000404, 0x00000404, + 0x00000404, 0xfffffbfc, 0xfffffbfc, 0xfffffbfc, 0xfffffbfc, 0xfffffbfc, 0xfffffbfc, 0xfffffbfc, + 0xfffffbfc, 0xfffffbfc, 0xfffffbfc, 0x08080404, 0x08080404, 0x08080404, 0x08080404, 0x08080404, + 0x08080404, 0x08080404, 0x08080404, 0x08080404, 0x08080404, 0xf7f7fbfc, 0xf7f7fbfc, 0xf7f7fbfc, + 0xf7f7fbfc, 0xf7f7fbfc, 0xf7f7fbfc, 0xf7f7fbfc, 0xf7f7fbfc, 0xf7f7fbfc, 0xf7f7fbfc, 0x04040808, + 0x04040808, 0x04040808, 0x04040808, 0x04040808, 0x04040808, 0x04040808, 0x04040808, 0x04040808, + 0x04040808, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x05050505, 0xfafafafb, 0x05050000, 0xfafb0000, 0x00000505, 0xfffffafb, 0x0a0a0a0a, + 0xf5f5f5f6, 0x0f0f0505, 0xf0f0fafb, 0x05050f0f, 0xfafaf0f1, 0x0a09f5f6, 0xf5f60a0a, 0x0f0efafb, + 0xf0f10505, 0xfafb0f0f, 0x0504f0f1, 0x14140a0a, 0xebebf5f6, 0x0a0a1414, 0xf5f5ebec, 0x14141414, + 0xebebebec, 0x19190000, 0xe6e70000, 0x00001919, 0xffffe6e7, 0x1413f0f1, 0xebec0f0f, 0xf0f11414, + 0x0f0eebec, 0x28281919, 0xd7d7e6e7, 0x19192828, 0xe6e6d7d8, 0x1e1df5f6, 0xe1e20a0a, 0xf5f61e1e, + 0x0a09e1e2, 0x28280a0a, 0xd7d7f5f6, 0x0a0a2828, 0xf5f5d7d8, 0x28282828, 0xd7d7d7d8, 0x2d2d0000, + 0xd2d30000, 0x00002d2d, 0xffffd2d3, 0x1e1de1e2, 0xe1e21e1e, 0x2827ebec, 0xd7d81414, 0xebec2828, + 0x1413d7d8, 0x41411919, 0xbebee6e7, 0x19194141, 0xe6e6bebf, 0x46462d2d, 0xb9b9d2d3, 0x2d2d4646, + 0xd2d2b9ba, 0x3736f0f1, 0xc8c90f0f, 0xf0f13737, 0x0f0ec8c9, 0x46460a0a, 0xb9b9f5f6, 0x0a0a4646, + 0xf5f5b9ba, 0x4b4b4b4b, 0xb4b4b4b5, 0x5554fafb, 0xaaab0505, 0xfafb5555, 0x0504aaab, 0x3736d2d3, + 0xc8c92d2d, 0xd2d33737, 0x2d2cc8c9, 0x4b4adcdd, 0xb4b52323, 0xdcdd4b4b, 0x2322b4b5, 0x73733737, + 0x8c8cc8c9, 0x37377373, 0xc8c88c8d, 0x73731e1e, 0x8c8ce1e2, 0x1e1e7373, 0xe1e18c8d, 0x78785a5a, + 0x8787a5a6, 0x5a5a7878, 0xa5a58788, 0x6968e1e2, 0x96971e1e, 0xe1e26969, 0x1e1d9697, 0x5554aaab, + 0xaaab5555, 0x6968b9ba, 0x96974646, 0xb9ba6969, 0x46459697, 0x1e1e1e1e, 0xe1e1e1e2, 0x3c3c3c3c, + 0xc3c3c3c4, 0x69696969, 0x96969697, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x05050505, 0x05050505, + 0x05050505, 0x05050505, 0x05050505, 0x05050505, 0x05050505, 0x05050505, 0x05050505, 0x05050505, + 0x05050505, 0xfafafafb, 0xfafafafb, 0xfafafafb, 0xfafafafb, 0xfafafafb, 0xfafafafb, 0xfafafafb, + 0xfafafafb, 0xfafafafb, 0xfafafafb, 0xfafafafb, 0x05050000, 0x05050000, 0x05050000, 0x05050000, + 0x05050000, 0x05050000, 0x05050000, 0x05050000, 0x05050000, 0x05050000, 0x05050000, 0xfafb0000, + 0xfafb0000, 0xfafb0000, 0xfafb0000, 0xfafb0000, 0xfafb0000, 0xfafb0000, 0xfafb0000, 0xfafb0000, + 0xfafb0000, 0xfafb0000, 0x00000505, 0x00000505, 0x00000505, 0x00000505, 0x00000505, 0x00000505, + 0x00000505, 0x00000505, 0x00000505, 0x00000505, 0x00000505, 0xfffffafb, 0xfffffafb, 0xfffffafb, + 0xfffffafb, 0xfffffafb, 0xfffffafb, 0xfffffafb, 0xfffffafb, 0xfffffafb, 0xfffffafb, 0xfffffafb, + 0x0a0a0a0a, 0x0a0a0a0a, 0x0a0a0a0a, 0x0a0a0a0a, 0x0a0a0a0a, 0x0a0a0a0a, 0x0a0a0a0a, 0x0a0a0a0a, + 0x0a0a0a0a, 0x0a0a0a0a, 0x0a0a0a0a, 0xf5f5f5f6, 0xf5f5f5f6, 0xf5f5f5f6, 0xf5f5f5f6, 0xf5f5f5f6, + 0xf5f5f5f6, 0xf5f5f5f6, 0xf5f5f5f6, 0xf5f5f5f6, 0xf5f5f5f6, 0xf5f5f5f6, 0x0f0f0505, 0x0f0f0505, + 0x0f0f0505, 0x0f0f0505, 0x0f0f0505, 0x0f0f0505, 0x0f0f0505, 0x0f0f0505, 0x0f0f0505, 0x0f0f0505, + 0x0f0f0505, 0xf0f0fafb, 0xf0f0fafb, 0xf0f0fafb, 0xf0f0fafb, 0xf0f0fafb, 0xf0f0fafb, 0xf0f0fafb, + 0xf0f0fafb, 0xf0f0fafb, 0xf0f0fafb, 0xf0f0fafb, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x06060606, 0xf9f9f9fa, 0x06060000, 0xf9fa0000, 0x00000606, 0xfffff9fa, 0x0c0c0c0c, + 0xf3f3f3f4, 0x0c0c0606, 0xf3f3f9fa, 0x06060c0c, 0xf9f9f3f4, 0x0c0bf3f4, 0xf3f40c0c, 0x1211f9fa, + 0xedee0606, 0xf9fa1212, 0x0605edee, 0x18180c0c, 0xe7e7f3f4, 0x0c0c1818, 0xf3f3e7e8, 0x18181818, + 0xe7e7e7e8, 0x1e1e0000, 0xe1e20000, 0x00001e1e, 0xffffe1e2, 0x1817edee, 0xe7e81212, 0xedee1818, + 0x1211e7e8, 0x30301e1e, 0xcfcfe1e2, 0x1e1e3030, 0xe1e1cfd0, 0x2423f9fa, 0xdbdc0606, 0xf9fa2424, + 0x0605dbdc, 0x30300c0c, 0xcfcff3f4, 0x0c0c3030, 0xf3f3cfd0, 0x30303030, 0xcfcfcfd0, 0x36360000, + 0xc9ca0000, 0x00003636, 0xffffc9ca, 0x2423dbdc, 0xdbdc2424, 0x302fe7e8, 0xcfd01818, 0xe7e83030, + 0x1817cfd0, 0x4e4e1e1e, 0xb1b1e1e2, 0x1e1e4e4e, 0xe1e1b1b2, 0x54543636, 0xababc9ca, 0x36365454, + 0xc9c9abac, 0x4241edee, 0xbdbe1212, 0xedee4242, 0x1211bdbe, 0x54540c0c, 0xababf3f4, 0x0c0c5454, + 0xf3f3abac, 0x5a5a5a5a, 0xa5a5a5a6, 0x605ff9fa, 0x9fa00606, 0xf9fa6060, 0x06059fa0, 0x4241c9ca, + 0xbdbe3636, 0xc9ca4242, 0x3635bdbe, 0x5a59d5d6, 0xa5a62a2a, 0xd5d65a5a, 0x2a29a5a6, 0x7e7de1e2, + 0x81821e1e, 0xe1e27e7e, 0x1e1d8182, 0x6665999a, 0x999a6666, 0x7e7dabac, 0x81825454, 0xabac7e7e, + 0x54538182, 0x24242424, 0xdbdbdbdc, 0x42424242, 0xbdbdbdbe, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x06060606, 0x06060606, 0x06060606, 0x06060606, 0x06060606, 0x06060606, 0x06060606, + 0x06060606, 0x06060606, 0x06060606, 0x06060606, 0x06060606, 0xf9f9f9fa, 0xf9f9f9fa, 0xf9f9f9fa, + 0xf9f9f9fa, 0xf9f9f9fa, 0xf9f9f9fa, 0xf9f9f9fa, 0xf9f9f9fa, 0xf9f9f9fa, 0xf9f9f9fa, 0xf9f9f9fa, + 0xf9f9f9fa, 0x06060000, 0x06060000, 0x06060000, 0x06060000, 0x06060000, 0x06060000, 0x06060000, + 0x06060000, 0x06060000, 0x06060000, 0x06060000, 0x06060000, 0xf9fa0000, 0xf9fa0000, 0xf9fa0000, + 0xf9fa0000, 0xf9fa0000, 0xf9fa0000, 0xf9fa0000, 0xf9fa0000, 0xf9fa0000, 0xf9fa0000, 0xf9fa0000, + 0xf9fa0000, 0x00000606, 0x00000606, 0x00000606, 0x00000606, 0x00000606, 0x00000606, 0x00000606, + 0x00000606, 0x00000606, 0x00000606, 0x00000606, 0x00000606, 0xfffff9fa, 0xfffff9fa, 0xfffff9fa, + 0xfffff9fa, 0xfffff9fa, 0xfffff9fa, 0xfffff9fa, 0xfffff9fa, 0xfffff9fa, 0xfffff9fa, 0xfffff9fa, + 0xfffff9fa, 0x0c0c0c0c, 0x0c0c0c0c, 0x0c0c0c0c, 0x0c0c0c0c, 0x0c0c0c0c, 0x0c0c0c0c, 0x0c0c0c0c, + 0x0c0c0c0c, 0x0c0c0c0c, 0x0c0c0c0c, 0x0c0c0c0c, 0x0c0c0c0c, 0xf3f3f3f4, 0xf3f3f3f4, 0xf3f3f3f4, + 0xf3f3f3f4, 0xf3f3f3f4, 0xf3f3f3f4, 0xf3f3f3f4, 0xf3f3f3f4, 0xf3f3f3f4, 0xf3f3f3f4, 0xf3f3f3f4, + 0xf3f3f3f4, 0x0c0c0606, 0x0c0c0606, 0x0c0c0606, 0x0c0c0606, 0x0c0c0606, 0x0c0c0606, 0x0c0c0606, + 0x0c0c0606, 0x0c0c0606, 0x0c0c0606, 0x0c0c0606, 0x0c0c0606, 0xf3f3f9fa, 0xf3f3f9fa, 0xf3f3f9fa, + 0xf3f3f9fa, 0xf3f3f9fa, 0xf3f3f9fa, 0xf3f3f9fa, 0xf3f3f9fa, 0xf3f3f9fa, 0xf3f3f9fa, 0xf3f3f9fa, + 0xf3f3f9fa, 0x06060c0c, 0x06060c0c, 0x06060c0c, 0x06060c0c, 0x06060c0c, 0x06060c0c, 0x06060c0c, + 0x06060c0c, 0x06060c0c, 0x06060c0c, 0x06060c0c, 0x06060c0c, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x07070707, 0xf8f8f8f9, 0x07070000, 0xf8f90000, 0x00000707, 0xfffff8f9, 0x0e0e0e0e, + 0xf1f1f1f2, 0x15150707, 0xeaeaf8f9, 0x07071515, 0xf8f8eaeb, 0x0e0df1f2, 0xf1f20e0e, 0x1514f8f9, + 0xeaeb0707, 0xf8f91515, 0x0706eaeb, 0x1c1c0e0e, 0xe3e3f1f2, 0x0e0e1c1c, 0xf1f1e3e4, 0x1c1c1c1c, + 0xe3e3e3e4, 0x23230000, 0xdcdd0000, 0x00002323, 0xffffdcdd, 0x1c1beaeb, 0xe3e41515, 0xeaeb1c1c, + 0x1514e3e4, 0x38382323, 0xc7c7dcdd, 0x23233838, 0xdcdcc7c8, 0x2a29f1f2, 0xd5d60e0e, 0xf1f22a2a, + 0x0e0dd5d6, 0x38380e0e, 0xc7c7f1f2, 0x0e0e3838, 0xf1f1c7c8, 0x38383838, 0xc7c7c7c8, 0x3f3f0000, + 0xc0c10000, 0x00003f3f, 0xffffc0c1, 0x2a29d5d6, 0xd5d62a2a, 0x3837e3e4, 0xc7c81c1c, 0xe3e43838, + 0x1c1bc7c8, 0x5b5b2323, 0xa4a4dcdd, 0x23235b5b, 0xdcdca4a5, 0x62623f3f, 0x9d9dc0c1, 0x3f3f6262, + 0xc0c09d9e, 0x4d4ceaeb, 0xb2b31515, 0xeaeb4d4d, 0x1514b2b3, 0x62620e0e, 0x9d9df1f2, 0x0e0e6262, + 0xf1f19d9e, 0x69696969, 0x96969697, 0x7776f8f9, 0x88890707, 0xf8f97777, 0x07068889, 0x4d4cc0c1, + 0xb2b33f3f, 0xc0c14d4d, 0x3f3eb2b3, 0x6968cecf, 0x96973131, 0xcecf6969, 0x31309697, 0x77768889, + 0x88897777, 0x2a2a2a2a, 0xd5d5d5d6, 0x4d4d4d4d, 0xb2b2b2b3, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x07070707, 0x07070707, 0x07070707, 0x07070707, 0x07070707, 0x07070707, 0x07070707, + 0x07070707, 0x07070707, 0x07070707, 0x07070707, 0x07070707, 0xf8f8f8f9, 0xf8f8f8f9, 0xf8f8f8f9, + 0xf8f8f8f9, 0xf8f8f8f9, 0xf8f8f8f9, 0xf8f8f8f9, 0xf8f8f8f9, 0xf8f8f8f9, 0xf8f8f8f9, 0xf8f8f8f9, + 0xf8f8f8f9, 0x07070000, 0x07070000, 0x07070000, 0x07070000, 0x07070000, 0x07070000, 0x07070000, + 0x07070000, 0x07070000, 0x07070000, 0x07070000, 0x07070000, 0xf8f90000, 0xf8f90000, 0xf8f90000, + 0xf8f90000, 0xf8f90000, 0xf8f90000, 0xf8f90000, 0xf8f90000, 0xf8f90000, 0xf8f90000, 0xf8f90000, + 0xf8f90000, 0x00000707, 0x00000707, 0x00000707, 0x00000707, 0x00000707, 0x00000707, 0x00000707, + 0x00000707, 0x00000707, 0x00000707, 0x00000707, 0x00000707, 0xfffff8f9, 0xfffff8f9, 0xfffff8f9, + 0xfffff8f9, 0xfffff8f9, 0xfffff8f9, 0xfffff8f9, 0xfffff8f9, 0xfffff8f9, 0xfffff8f9, 0xfffff8f9, + 0xfffff8f9, 0x0e0e0e0e, 0x0e0e0e0e, 0x0e0e0e0e, 0x0e0e0e0e, 0x0e0e0e0e, 0x0e0e0e0e, 0x0e0e0e0e, + 0x0e0e0e0e, 0x0e0e0e0e, 0x0e0e0e0e, 0x0e0e0e0e, 0x0e0e0e0e, 0xf1f1f1f2, 0xf1f1f1f2, 0xf1f1f1f2, + 0xf1f1f1f2, 0xf1f1f1f2, 0xf1f1f1f2, 0xf1f1f1f2, 0xf1f1f1f2, 0xf1f1f1f2, 0xf1f1f1f2, 0xf1f1f1f2, + 0xf1f1f1f2, 0x15150707, 0x15150707, 0x15150707, 0x15150707, 0x15150707, 0x15150707, 0x15150707, + 0x15150707, 0x15150707, 0x15150707, 0x15150707, 0x15150707, 0xeaeaf8f9, 0xeaeaf8f9, 0xeaeaf8f9, + 0xeaeaf8f9, 0xeaeaf8f9, 0xeaeaf8f9, 0xeaeaf8f9, 0xeaeaf8f9, 0xeaeaf8f9, 0xeaeaf8f9, 0xeaeaf8f9, + 0xeaeaf8f9, 0x07071515, 0x07071515, 0x07071515, 0x07071515, 0x07071515, 0x07071515, 0x07071515, + 0x07071515, 0x07071515, 0x07071515, 0x07071515, 0x07071515, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x08080808, 0xf7f7f7f8, 0x08080000, 0xf7f80000, 0x00000808, 0xfffff7f8, 0x10101010, + 0xefefeff0, 0x10100808, 0xefeff7f8, 0x08081010, 0xf7f7eff0, 0x100feff0, 0xeff01010, 0x1817f7f8, + 0xe7e80808, 0xf7f81818, 0x0807e7e8, 0x20201010, 0xdfdfeff0, 0x10102020, 0xefefdfe0, 0x20202020, + 0xdfdfdfe0, 0x28280000, 0xd7d80000, 0x00002828, 0xffffd7d8, 0x201fe7e8, 0xdfe01818, 0xe7e82020, + 0x1817dfe0, 0x40402828, 0xbfbfd7d8, 0x28284040, 0xd7d7bfc0, 0x302feff0, 0xcfd01010, 0xeff03030, + 0x100fcfd0, 0x40401010, 0xbfbfeff0, 0x10104040, 0xefefbfc0, 0x40404040, 0xbfbfbfc0, 0x48480000, + 0xb7b80000, 0x00004848, 0xffffb7b8, 0x302fcfd0, 0xcfd03030, 0x403fdfe0, 0xbfc02020, 0xdfe04040, + 0x201fbfc0, 0x68682828, 0x9797d7d8, 0x28286868, 0xd7d79798, 0x70704848, 0x8f8fb7b8, 0x48487070, + 0xb7b78f90, 0x5857e7e8, 0xa7a81818, 0xe7e85858, 0x1817a7a8, 0x70701010, 0x8f8feff0, 0x10107070, + 0xefef8f90, 0x78787878, 0x87878788, 0x5857b7b8, 0xa7a84848, 0xb7b85858, 0x4847a7a8, 0x7877c7c8, + 0x87883838, 0xc7c87878, 0x38378788, 0x30303030, 0xcfcfcfd0, 0x58585858, 0xa7a7a7a8, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x08080808, 0x08080808, 0x08080808, 0x08080808, 0x08080808, + 0x08080808, 0x08080808, 0x08080808, 0x08080808, 0x08080808, 0x08080808, 0x08080808, 0xf7f7f7f8, + 0xf7f7f7f8, 0xf7f7f7f8, 0xf7f7f7f8, 0xf7f7f7f8, 0xf7f7f7f8, 0xf7f7f7f8, 0xf7f7f7f8, 0xf7f7f7f8, + 0xf7f7f7f8, 0xf7f7f7f8, 0xf7f7f7f8, 0x08080000, 0x08080000, 0x08080000, 0x08080000, 0x08080000, + 0x08080000, 0x08080000, 0x08080000, 0x08080000, 0x08080000, 0x08080000, 0x08080000, 0xf7f80000, + 0xf7f80000, 0xf7f80000, 0xf7f80000, 0xf7f80000, 0xf7f80000, 0xf7f80000, 0xf7f80000, 0xf7f80000, + 0xf7f80000, 0xf7f80000, 0xf7f80000, 0x00000808, 0x00000808, 0x00000808, 0x00000808, 0x00000808, + 0x00000808, 0x00000808, 0x00000808, 0x00000808, 0x00000808, 0x00000808, 0x00000808, 0xfffff7f8, + 0xfffff7f8, 0xfffff7f8, 0xfffff7f8, 0xfffff7f8, 0xfffff7f8, 0xfffff7f8, 0xfffff7f8, 0xfffff7f8, + 0xfffff7f8, 0xfffff7f8, 0xfffff7f8, 0x10101010, 0x10101010, 0x10101010, 0x10101010, 0x10101010, + 0x10101010, 0x10101010, 0x10101010, 0x10101010, 0x10101010, 0x10101010, 0x10101010, 0xefefeff0, + 0xefefeff0, 0xefefeff0, 0xefefeff0, 0xefefeff0, 0xefefeff0, 0xefefeff0, 0xefefeff0, 0xefefeff0, + 0xefefeff0, 0xefefeff0, 0xefefeff0, 0x10100808, 0x10100808, 0x10100808, 0x10100808, 0x10100808, + 0x10100808, 0x10100808, 0x10100808, 0x10100808, 0x10100808, 0x10100808, 0x10100808, 0xefeff7f8, + 0xefeff7f8, 0xefeff7f8, 0xefeff7f8, 0xefeff7f8, 0xefeff7f8, 0xefeff7f8, 0xefeff7f8, 0xefeff7f8, + 0xefeff7f8, 0xefeff7f8, 0xefeff7f8, 0x08081010, 0x08081010, 0x08081010, 0x08081010, 0x08081010, + 0x08081010, 0x08081010, 0x08081010, 0x08081010, 0x08081010, 0x08081010, 0x08081010, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x09090909, 0xf6f6f6f7, 0x09090000, 0xf6f70000, 0x00000909, 0xfffff6f7, 0x12121212, + 0xedededee, 0x1b1b0909, 0xe4e4f6f7, 0x09091b1b, 0xf6f6e4e5, 0x1211edee, 0xedee1212, 0x1b1af6f7, + 0xe4e50909, 0xf6f71b1b, 0x0908e4e5, 0x24241212, 0xdbdbedee, 0x12122424, 0xededdbdc, 0x24242424, + 0xdbdbdbdc, 0x2d2d0000, 0xd2d30000, 0x00002d2d, 0xffffd2d3, 0x2423e4e5, 0xdbdc1b1b, 0xe4e52424, + 0x1b1adbdc, 0x48482d2d, 0xb7b7d2d3, 0x2d2d4848, 0xd2d2b7b8, 0x3635edee, 0xc9ca1212, 0xedee3636, + 0x1211c9ca, 0x48481212, 0xb7b7edee, 0x12124848, 0xededb7b8, 0x48484848, 0xb7b7b7b8, 0x51510000, + 0xaeaf0000, 0x00005151, 0xffffaeaf, 0x3635c9ca, 0xc9ca3636, 0x4847dbdc, 0xb7b82424, 0xdbdc4848, + 0x2423b7b8, 0x75752d2d, 0x8a8ad2d3, 0x2d2d7575, 0xd2d28a8b, 0x7e7e5151, 0x8181aeaf, 0x51517e7e, + 0xaeae8182, 0x6362e4e5, 0x9c9d1b1b, 0xe4e56363, 0x1b1a9c9d, 0x6362aeaf, 0x9c9d5151, 0xaeaf6363, + 0x51509c9d, 0x36363636, 0xc9c9c9ca, 0x6c6c6c6c, 0x93939394, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x09090909, 0x09090909, 0x09090909, 0x09090909, 0x09090909, 0x09090909, + 0x09090909, 0x09090909, 0x09090909, 0x09090909, 0x09090909, 0x09090909, 0x09090909, 0xf6f6f6f7, + 0xf6f6f6f7, 0xf6f6f6f7, 0xf6f6f6f7, 0xf6f6f6f7, 0xf6f6f6f7, 0xf6f6f6f7, 0xf6f6f6f7, 0xf6f6f6f7, + 0xf6f6f6f7, 0xf6f6f6f7, 0xf6f6f6f7, 0xf6f6f6f7, 0x09090000, 0x09090000, 0x09090000, 0x09090000, + 0x09090000, 0x09090000, 0x09090000, 0x09090000, 0x09090000, 0x09090000, 0x09090000, 0x09090000, + 0x09090000, 0xf6f70000, 0xf6f70000, 0xf6f70000, 0xf6f70000, 0xf6f70000, 0xf6f70000, 0xf6f70000, + 0xf6f70000, 0xf6f70000, 0xf6f70000, 0xf6f70000, 0xf6f70000, 0xf6f70000, 0x00000909, 0x00000909, + 0x00000909, 0x00000909, 0x00000909, 0x00000909, 0x00000909, 0x00000909, 0x00000909, 0x00000909, + 0x00000909, 0x00000909, 0x00000909, 0xfffff6f7, 0xfffff6f7, 0xfffff6f7, 0xfffff6f7, 0xfffff6f7, + 0xfffff6f7, 0xfffff6f7, 0xfffff6f7, 0xfffff6f7, 0xfffff6f7, 0xfffff6f7, 0xfffff6f7, 0xfffff6f7, + 0x12121212, 0x12121212, 0x12121212, 0x12121212, 0x12121212, 0x12121212, 0x12121212, 0x12121212, + 0x12121212, 0x12121212, 0x12121212, 0x12121212, 0x12121212, 0xedededee, 0xedededee, 0xedededee, + 0xedededee, 0xedededee, 0xedededee, 0xedededee, 0xedededee, 0xedededee, 0xedededee, 0xedededee, + 0xedededee, 0xedededee, 0x1b1b0909, 0x1b1b0909, 0x1b1b0909, 0x1b1b0909, 0x1b1b0909, 0x1b1b0909, + 0x1b1b0909, 0x1b1b0909, 0x1b1b0909, 0x1b1b0909, 0x1b1b0909, 0x1b1b0909, 0x1b1b0909, 0xe4e4f6f7, + 0xe4e4f6f7, 0xe4e4f6f7, 0xe4e4f6f7, 0xe4e4f6f7, 0xe4e4f6f7, 0xe4e4f6f7, 0xe4e4f6f7, 0xe4e4f6f7, + 0xe4e4f6f7, 0xe4e4f6f7, 0xe4e4f6f7, 0xe4e4f6f7, 0x09091b1b, 0x09091b1b, 0x09091b1b, 0x09091b1b, + 0x09091b1b, 0x09091b1b, 0x09091b1b, 0x09091b1b, 0x09091b1b, 0x09091b1b, 0x09091b1b, 0x09091b1b, + 0x09091b1b, 0xf6f6e4e5, 0xf6f6e4e5, 0xf6f6e4e5, 0xf6f6e4e5, 0xf6f6e4e5, 0xf6f6e4e5, 0xf6f6e4e5, + 0xf6f6e4e5, 0xf6f6e4e5, 0xf6f6e4e5, 0xf6f6e4e5, 0xf6f6e4e5, 0xf6f6e4e5, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x02020202, 0xfdfdfdfe, 0x03030000, 0xfcfd0000, 0x00000303, 0xfffffcfd, 0x06060606, + 0xf9f9f9fa, 0x07070000, 0xf8f90000, 0x00000707, 0xfffff8f9, 0x0504fafb, 0xfafb0505, 0xfafb0505, + 0x0504fafb, 0x0b0b0606, 0xf4f4f9fa, 0x06060b0b, 0xf9f9f4f5, 0x08080000, 0xf7f80000, 0x00000808, + 0xfffff7f8, 0x0b0b0b0b, 0xf4f4f4f5, 0x0c0c0000, 0xf3f40000, 0x00000c0c, 0xfffff3f4, 0x11110c0c, + 0xeeeef3f4, 0x0c0c1111, 0xf3f3eeef, 0x11111111, 0xeeeeeeef, 0x12120606, 0xededf9fa, 0x06061212, + 0xf9f9edee, 0x0b0af7f8, 0xf4f50808, 0xf7f80b0b, 0x0807f4f5, 0x0f0f0000, 0xf0f10000, 0x00000f0f, + 0xfffff0f1, 0x14140000, 0xebec0000, 0x00001414, 0xffffebec, 0x19191212, 0xe6e6edee, 0x12121919, + 0xedede6e7, 0x19190b0b, 0xe6e6f4f5, 0x0b0b1919, 0xf4f4e6e7, 0x19191919, 0xe6e6e6e7, 0x0e0df1f2, + 0xf1f20e0e, 0xf1f20e0e, 0x0e0df1f2, 0x1a1a0000, 0xe5e60000, 0x00001a1a, 0xffffe5e6, 0x1211f4f5, + 0xedee0b0b, 0xf4f51212, 0x0b0aedee, 0x1615f8f9, 0xe9ea0707, 0xf8f91616, 0x0706e9ea, 0x22221a1a, + 0xdddde5e6, 0x1a1a2222, 0xe5e5ddde, 0x22221212, 0xddddedee, 0x12122222, 0xededddde, 0x22222222, + 0xddddddde, 0x23230b0b, 0xdcdcf4f5, 0x0b0b2323, 0xf4f4dcdd, 0x1d1d0000, 0xe2e30000, 0x00001d1d, + 0xffffe2e3, 0x1615eced, 0xe9ea1313, 0xeced1616, 0x1312e9ea, 0x1a19f0f1, 0xe5e60f0f, 0xf0f11a1a, + 0x0f0ee5e6, 0x25250000, 0xdadb0000, 0x00002525, 0xffffdadb, 0x2c2c1b1b, 0xd3d3e4e5, 0x1b1b2c2c, + 0xe4e4d3d4, 0x2c2c2424, 0xd3d3dbdc, 0x24242c2c, 0xdbdbd3d4, 0x2c2c1212, 0xd3d3edee, 0x12122c2c, + 0xededd3d4, 0x2120f5f6, 0xdedf0a0a, 0xf5f62121, 0x0a09dedf, 0x2d2d2d2d, 0xd2d2d2d3, 0x00000000, + 0x00000000, 0x02020202, 0xfdfdfdfe, 0x03030000, 0xfcfd0000, 0x00000303, 0xfffffcfd, 0x06060606, + 0xf9f9f9fa, 0x07070000, 0xf8f90000, 0x00000000, 0x02020202, 0xfdfdfdfe, 0x03030000, 0xfcfd0000, + 0x00000303, 0xfffffcfd, 0x06060606, 0xf9f9f9fa, 0x07070000, 0xf8f90000, 0x00000000, 0x02020202, + 0xfdfdfdfe, 0x03030000, 0xfcfd0000, 0x00000303, 0xfffffcfd, 0x06060606, 0xf9f9f9fa, 0x07070000, + 0xf8f90000, 0x00000000, 0x02020202, 0xfdfdfdfe, 0x03030000, 0xfcfd0000, 0x00000303, 0xfffffcfd, + 0x06060606, 0xf9f9f9fa, 0x07070000, 0xf8f90000, 0x00000000, 0x02020202, 0xfdfdfdfe, 0x03030000, + 0xfcfd0000, 0x00000303, 0xfffffcfd, 0x06060606, 0xf9f9f9fa, 0x07070000, 0xf8f90000, 0x00000000, + 0x02020202, 0xfdfdfdfe, 0x03030000, 0xfcfd0000, 0x00000303, 0xfffffcfd, 0x06060606, 0xf9f9f9fa, + 0x07070000, 0xf8f90000, 0x00000000, 0x02020202, 0xfdfdfdfe, 0x03030000, 0xfcfd0000, 0x00000303, + 0xfffffcfd, 0x06060606, 0xf9f9f9fa, 0x07070000, 0xf8f90000, 0x00000000, 0x02020202, 0xfdfdfdfe, + 0x03030000, 0xfcfd0000, 0x00000303, 0xfffffcfd, 0x06060606, 0xf9f9f9fa, 0x07070000, 0xf8f90000, + 0x00000000, 0x02020202, 0xfdfdfdfe, 0x03030000, 0xfcfd0000, 0x00000303, 0xfffffcfd, 0x06060606, + 0xf9f9f9fa, 0x07070000, 0xf8f90000, 0x00000000, 0x02020202, 0xfdfdfdfe, 0x03030000, 0xfcfd0000, + 0x00000303, 0xfffffcfd, 0x06060606, 0xf9f9f9fa, 0x07070000, 0xf8f90000, 0x00000000, 0x02020202, + 0xfdfdfdfe, 0x03030000, 0xfcfd0000, 0x00000303, 0xfffffcfd, 0x06060606, 0xf9f9f9fa, 0x07070000, + 0xf8f90000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x02020000, 0xfdfe0000, 0x00000202, 0xfffffdfe, 0x02020202, 0xfdfdfdfe, 0x06060606, + 0xf9f9f9fa, 0x06060000, 0xf9fa0000, 0x00000606, 0xfffff9fa, 0x0403fbfc, 0xfbfc0404, 0xf9fa0a0a, + 0x0605f5f6, 0xf3f40000, 0x0c0c0000, 0xf3f3f9fa, 0xf3f40606, 0x0c0bf9fa, 0x0c0c0606, 0xfffff1f2, + 0x00000e0e, 0x0c0c0c0c, 0xf3f3f3f4, 0xedee0000, 0x12120000, 0xf3f40e0e, 0x0c0bf1f2, 0xf9f9edee, + 0xf9fa1212, 0x0605edee, 0x06061212, 0xededf5f6, 0xedee0a0a, 0x1211f5f6, 0x12120a0a, 0xffffe9ea, + 0x00001616, 0xe7e80000, 0x18180000, 0xf3f3e9ea, 0xf3f41616, 0x0c0be9ea, 0x0c0c1616, 0xe7e7f7f8, + 0xe7e80808, 0x1817f7f8, 0x18180808, 0xf9f9e5e6, 0xf9fa1a1a, 0x0605e5e6, 0x06061a1a, 0xffffe3e4, + 0x00001c1c, 0x14141414, 0xebebebec, 0xe5e5f1f2, 0x1a1a0e0e, 0xf3f3e1e2, 0x0c0c1e1e, 0xdfdff5f6, + 0x20200a0a, 0xdfdfedee, 0x20201212, 0xe5e5e5e6, 0x1a1a1a1a, 0xebebddde, 0x14142222, 0xf3f3d9da, + 0x0c0c2626, 0xdfdfdfe0, 0x20202020, 0x20202020, 0xd7d7e9ea, 0xddddddde, 0x22222222, 0x00000000, + 0x02020000, 0xfdfe0000, 0x00000202, 0xfffffdfe, 0x02020202, 0xfdfdfdfe, 0x06060606, 0xf9f9f9fa, + 0x06060000, 0xf9fa0000, 0x00000606, 0xfffff9fa, 0x00000000, 0x02020000, 0xfdfe0000, 0x00000202, + 0xfffffdfe, 0x02020202, 0xfdfdfdfe, 0x06060606, 0xf9f9f9fa, 0x06060000, 0xf9fa0000, 0x00000606, + 0xfffff9fa, 0x00000000, 0x02020000, 0xfdfe0000, 0x00000202, 0xfffffdfe, 0x02020202, 0xfdfdfdfe, + 0x06060606, 0xf9f9f9fa, 0x06060000, 0xf9fa0000, 0x00000606, 0xfffff9fa, 0x00000000, 0x02020000, + 0xfdfe0000, 0x00000202, 0xfffffdfe, 0x02020202, 0xfdfdfdfe, 0x06060606, 0xf9f9f9fa, 0x06060000, + 0xf9fa0000, 0x00000606, 0xfffff9fa, 0x00000000, 0x02020000, 0xfdfe0000, 0x00000202, 0xfffffdfe, + 0x02020202, 0xfdfdfdfe, 0x06060606, 0xf9f9f9fa, 0x06060000, 0xf9fa0000, 0x00000606, 0xfffff9fa, + 0x00000000, 0x02020000, 0xfdfe0000, 0x00000202, 0xfffffdfe, 0x02020202, 0xfdfdfdfe, 0x06060606, + 0xf9f9f9fa, 0x06060000, 0xf9fa0000, 0x00000606, 0xfffff9fa, 0x00000000, 0x02020000, 0xfdfe0000, + 0x00000202, 0xfffffdfe, 0x02020202, 0xfdfdfdfe, 0x06060606, 0xf9f9f9fa, 0x06060000, 0xf9fa0000, + 0x00000606, 0xfffff9fa, 0x00000000, 0x02020000, 0xfdfe0000, 0x00000202, 0xfffffdfe, 0x02020202, + 0xfdfdfdfe, 0x06060606, 0xf9f9f9fa, 0x06060000, 0xf9fa0000, 0x00000606, 0xfffff9fa, 0x00000000, + 0x02020000, 0xfdfe0000, 0x00000202, 0xfffffdfe, 0x02020202, 0xfdfdfdfe, 0x06060606, 0xf9f9f9fa, + 0x06060000, 0xf9fa0000, 0x00000606, 0xfffff9fa, 0x00000000, 0x02020000, 0xfdfe0000, 0x00000202, + 0xfffffdfe, 0x02020202, 0xfdfdfdfe, 0x06060606, 0xf9f9f9fa, 0x06060000, 0xf9fa0000, 0x00000606, + 0xfffff9fa, 0x00000000, 0x02020000, 0xfdfe0000, 0x00000202, 0xfffffdfe, 0x02020202, 0xfdfdfdfe, + 0x06060606, 0xf9f9f9fa, 0x06060000, 0xf9fa0000, 0x00000606, 0xfffff9fa, 0x00000000, 0x02020000, + 0xfdfe0000, 0x00000202, 0xfffffdfe, 0x02020202, 0xfdfdfdfe, 0x06060606, 0xf9f9f9fa, 0x06060000, + 0xf9fa0000, 0x00000606, 0xfffff9fa, 0x00000000, 0x02020000, 0xfdfe0000, 0x00000202, 0xfffffdfe, + 0x02020202, 0xfdfdfdfe, 0x06060606, 0xf9f9f9fa, 0x06060000, 0xf9fa0000, 0x00000606, 0xfffff9fa, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x02020000, 0xfdfe0000, 0x00000202, 0xfffffdfe, 0x04040404, 0xfbfbfbfc, 0x0a0a0a0a, + 0xf5f5f5f6, 0x0a0a0000, 0xf5f60000, 0x00000a0a, 0xfffff5f6, 0x0605f9fa, 0xf9fa0606, 0xf7f80e0e, + 0x0807f1f2, 0xffffedee, 0x00001212, 0xeff00a0a, 0x100ff5f6, 0xe7e80000, 0x18180000, 0xf7f7e7e8, + 0xf7f81818, 0x0807e7e8, 0x08081818, 0x12121212, 0xedededee, 0xeff01414, 0x100febec, 0xe5e5f1f2, + 0xe5e60e0e, 0x1a19f1f2, 0x1a1a0e0e, 0xffffe1e2, 0x00001e1e, 0xddde0000, 0x22220000, 0xf7f7ddde, + 0xf7f82222, 0x0807ddde, 0x08082222, 0xedede1e2, 0xedee1e1e, 0x1211e1e2, 0x12121e1e, 0xddddf5f6, + 0xddde0a0a, 0x2221f5f6, 0x22220a0a, 0xddddebec, 0x22221414, 0xffffd7d8, 0x00002828, 0x1e1e1e1e, + 0xe1e1e1e2, 0xededd7d8, 0x12122828, 0xd3d40000, 0x2c2c0000, 0xd3d3eff0, 0x2c2c1010, 0xdbdbdbdc, + 0xdbdbdbdc, 0x24242424, 0xd3d3e5e6, 0x2c2c1a1a, 0xe5e5d1d2, 0x1a1a2e2e, 0xededcbcc, 0x12123434, + 0xc9c9ebec, 0xd3d3d3d4, 0x2c2c2c2c, 0xc9c9dfe0, 0xd1d1d1d2, 0xd1d1d1d2, 0x2e2e2e2e, 0x00000000, + 0x02020000, 0xfdfe0000, 0x00000202, 0xfffffdfe, 0x04040404, 0xfbfbfbfc, 0x0a0a0a0a, 0xf5f5f5f6, + 0x0a0a0000, 0xf5f60000, 0x00000a0a, 0xfffff5f6, 0x00000000, 0x02020000, 0xfdfe0000, 0x00000202, + 0xfffffdfe, 0x04040404, 0xfbfbfbfc, 0x0a0a0a0a, 0xf5f5f5f6, 0x0a0a0000, 0xf5f60000, 0x00000a0a, + 0xfffff5f6, 0x00000000, 0x02020000, 0xfdfe0000, 0x00000202, 0xfffffdfe, 0x04040404, 0xfbfbfbfc, + 0x0a0a0a0a, 0xf5f5f5f6, 0x0a0a0000, 0xf5f60000, 0x00000a0a, 0xfffff5f6, 0x00000000, 0x02020000, + 0xfdfe0000, 0x00000202, 0xfffffdfe, 0x04040404, 0xfbfbfbfc, 0x0a0a0a0a, 0xf5f5f5f6, 0x0a0a0000, + 0xf5f60000, 0x00000a0a, 0xfffff5f6, 0x00000000, 0x02020000, 0xfdfe0000, 0x00000202, 0xfffffdfe, + 0x04040404, 0xfbfbfbfc, 0x0a0a0a0a, 0xf5f5f5f6, 0x0a0a0000, 0xf5f60000, 0x00000a0a, 0xfffff5f6, + 0x00000000, 0x02020000, 0xfdfe0000, 0x00000202, 0xfffffdfe, 0x04040404, 0xfbfbfbfc, 0x0a0a0a0a, + 0xf5f5f5f6, 0x0a0a0000, 0xf5f60000, 0x00000a0a, 0xfffff5f6, 0x00000000, 0x02020000, 0xfdfe0000, + 0x00000202, 0xfffffdfe, 0x04040404, 0xfbfbfbfc, 0x0a0a0a0a, 0xf5f5f5f6, 0x0a0a0000, 0xf5f60000, + 0x00000a0a, 0xfffff5f6, 0x00000000, 0x02020000, 0xfdfe0000, 0x00000202, 0xfffffdfe, 0x04040404, + 0xfbfbfbfc, 0x0a0a0a0a, 0xf5f5f5f6, 0x0a0a0000, 0xf5f60000, 0x00000a0a, 0xfffff5f6, 0x00000000, + 0x02020000, 0xfdfe0000, 0x00000202, 0xfffffdfe, 0x04040404, 0xfbfbfbfc, 0x0a0a0a0a, 0xf5f5f5f6, + 0x0a0a0000, 0xf5f60000, 0x00000a0a, 0xfffff5f6, 0x00000000, 0x02020000, 0xfdfe0000, 0x00000202, + 0xfffffdfe, 0x04040404, 0xfbfbfbfc, 0x0a0a0a0a, 0xf5f5f5f6, 0x0a0a0000, 0xf5f60000, 0x00000a0a, + 0xfffff5f6, 0x00000000, 0x02020000, 0xfdfe0000, 0x00000202, 0xfffffdfe, 0x04040404, 0xfbfbfbfc, + 0x0a0a0a0a, 0xf5f5f5f6, 0x0a0a0000, 0xf5f60000, 0x00000a0a, 0xfffff5f6, 0x00000000, 0x02020000, + 0xfdfe0000, 0x00000202, 0xfffffdfe, 0x04040404, 0xfbfbfbfc, 0x0a0a0a0a, 0xf5f5f5f6, 0x0a0a0000, + 0xf5f60000, 0x00000a0a, 0xfffff5f6, 0x00000000, 0x02020000, 0xfdfe0000, 0x00000202, 0xfffffdfe, + 0x04040404, 0xfbfbfbfc, 0x0a0a0a0a, 0xf5f5f5f6, 0x0a0a0000, 0xf5f60000, 0x00000a0a, 0xfffff5f6, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x04040000, 0xfbfc0000, 0x00000404, 0xfffffbfc, 0x04040404, 0xfbfbfbfc, 0x0c0c0c0c, + 0xf3f3f3f4, 0x0c0c0000, 0xf3f40000, 0x00000c0c, 0xfffff3f4, 0x0807f7f8, 0xf7f80808, 0xeff00808, + 0x100ff7f8, 0xe7e80000, 0x18180000, 0xf7f7e7e8, 0xf7f81818, 0x0807e7e8, 0x08081818, 0xeff01414, + 0x100febec, 0xffffe3e4, 0x00001c1c, 0xe7e7eff0, 0xe7e81010, 0x1817eff0, 0x18181010, 0xdfe00000, + 0x20200000, 0xefefe3e4, 0xeff01c1c, 0x100fe3e4, 0x10101c1c, 0xdfdff7f8, 0xdfe00808, 0xf7f7dfe0, + 0xf7f82020, 0x0807dfe0, 0x08082020, 0x201ff7f8, 0x20200808, 0x18181818, 0xe7e7e7e8, 0xe7e81818, + 0x1817e7e8, 0xdfdfebec, 0x20201414, 0xffffd7d8, 0x00002828, 0xefefd7d8, 0x10102828, 0xd3d40000, + 0xd3d40000, 0xffffd3d4, 0x00002c2c, 0x2c2c0000, 0x2c2c0000, 0xdfdfdfe0, 0x20202020, 0xd3d3eff0, + 0x2c2c1010, 0xd3d3e7e8, 0xe7e7d3d4, 0x18182c2c, 0x2c2c1818, 0xefefcfd0, 0x10103030, 0xdbdbdbdc, + 0xdbdbdbdc, 0x24242424, 0x24242424, 0xcbcbebec, 0x28282828, 0xd7d7d7d8, 0xcbcbdfe0, 0x00000000, + 0x04040000, 0xfbfc0000, 0x00000404, 0xfffffbfc, 0x04040404, 0xfbfbfbfc, 0x0c0c0c0c, 0xf3f3f3f4, + 0x0c0c0000, 0xf3f40000, 0x00000c0c, 0xfffff3f4, 0x00000000, 0x04040000, 0xfbfc0000, 0x00000404, + 0xfffffbfc, 0x04040404, 0xfbfbfbfc, 0x0c0c0c0c, 0xf3f3f3f4, 0x0c0c0000, 0xf3f40000, 0x00000c0c, + 0xfffff3f4, 0x00000000, 0x04040000, 0xfbfc0000, 0x00000404, 0xfffffbfc, 0x04040404, 0xfbfbfbfc, + 0x0c0c0c0c, 0xf3f3f3f4, 0x0c0c0000, 0xf3f40000, 0x00000c0c, 0xfffff3f4, 0x00000000, 0x04040000, + 0xfbfc0000, 0x00000404, 0xfffffbfc, 0x04040404, 0xfbfbfbfc, 0x0c0c0c0c, 0xf3f3f3f4, 0x0c0c0000, + 0xf3f40000, 0x00000c0c, 0xfffff3f4, 0x00000000, 0x04040000, 0xfbfc0000, 0x00000404, 0xfffffbfc, + 0x04040404, 0xfbfbfbfc, 0x0c0c0c0c, 0xf3f3f3f4, 0x0c0c0000, 0xf3f40000, 0x00000c0c, 0xfffff3f4, + 0x00000000, 0x04040000, 0xfbfc0000, 0x00000404, 0xfffffbfc, 0x04040404, 0xfbfbfbfc, 0x0c0c0c0c, + 0xf3f3f3f4, 0x0c0c0000, 0xf3f40000, 0x00000c0c, 0xfffff3f4, 0x00000000, 0x04040000, 0xfbfc0000, + 0x00000404, 0xfffffbfc, 0x04040404, 0xfbfbfbfc, 0x0c0c0c0c, 0xf3f3f3f4, 0x0c0c0000, 0xf3f40000, + 0x00000c0c, 0xfffff3f4, 0x00000000, 0x04040000, 0xfbfc0000, 0x00000404, 0xfffffbfc, 0x04040404, + 0xfbfbfbfc, 0x0c0c0c0c, 0xf3f3f3f4, 0x0c0c0000, 0xf3f40000, 0x00000c0c, 0xfffff3f4, 0x00000000, + 0x04040000, 0xfbfc0000, 0x00000404, 0xfffffbfc, 0x04040404, 0xfbfbfbfc, 0x0c0c0c0c, 0xf3f3f3f4, + 0x0c0c0000, 0xf3f40000, 0x00000c0c, 0xfffff3f4, 0x00000000, 0x04040000, 0xfbfc0000, 0x00000404, + 0xfffffbfc, 0x04040404, 0xfbfbfbfc, 0x0c0c0c0c, 0xf3f3f3f4, 0x0c0c0000, 0xf3f40000, 0x00000c0c, + 0xfffff3f4, 0x00000000, 0x04040000, 0xfbfc0000, 0x00000404, 0xfffffbfc, 0x04040404, 0xfbfbfbfc, + 0x0c0c0c0c, 0xf3f3f3f4, 0x0c0c0000, 0xf3f40000, 0x00000c0c, 0xfffff3f4, 0x00000000, 0x04040000, + 0xfbfc0000, 0x00000404, 0xfffffbfc, 0x04040404, 0xfbfbfbfc, 0x0c0c0c0c, 0xf3f3f3f4, 0x0c0c0000, + 0xf3f40000, 0x00000c0c, 0xfffff3f4, 0x00000000, 0x04040000, 0xfbfc0000, 0x00000404, 0xfffffbfc, + 0x04040404, 0xfbfbfbfc, 0x0c0c0c0c, 0xf3f3f3f4, 0x0c0c0000, 0xf3f40000, 0x00000c0c, 0xfffff3f4, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x02020202, 0xfdfdfdfe, 0x06060606, 0xf9f9f9fa, 0x0c0c0c0c, 0xf3f3f3f4, 0x14141414, + 0xebebebec, 0x20202020, 0xdfdfdfe0, 0x2e2e2e2e, 0xd1d1d1d2, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x02020202, 0xfdfdfdfe, 0x06060606, 0xf9f9f9fa, 0x0c0c0c0c, 0xf3f3f3f4, 0x14141414, 0xebebebec, + 0x20202020, 0xdfdfdfe0, 0x2e2e2e2e, 0xd1d1d1d2, 0x00000000, 0x02020202, 0xfdfdfdfe, 0x06060606, + 0xf9f9f9fa, 0x0c0c0c0c, 0xf3f3f3f4, 0x14141414, 0xebebebec, 0x20202020, 0xdfdfdfe0, 0x2e2e2e2e, + 0xd1d1d1d2, 0x00000000, 0x02020202, 0xfdfdfdfe, 0x06060606, 0xf9f9f9fa, 0x0c0c0c0c, 0xf3f3f3f4, + 0x14141414, 0xebebebec, 0x20202020, 0xdfdfdfe0, 0x2e2e2e2e, 0xd1d1d1d2, 0x00000000, 0x02020202, + 0xfdfdfdfe, 0x06060606, 0xf9f9f9fa, 0x0c0c0c0c, 0xf3f3f3f4, 0x14141414, 0xebebebec, 0x20202020, + 0xdfdfdfe0, 0x2e2e2e2e, 0xd1d1d1d2, 0x00000000, 0x02020202, 0xfdfdfdfe, 0x06060606, 0xf9f9f9fa, + 0x0c0c0c0c, 0xf3f3f3f4, 0x14141414, 0xebebebec, 0x20202020, 0xdfdfdfe0, 0x2e2e2e2e, 0xd1d1d1d2, + 0x00000000, 0x02020202, 0xfdfdfdfe, 0x06060606, 0xf9f9f9fa, 0x0c0c0c0c, 0xf3f3f3f4, 0x14141414, + 0xebebebec, 0x20202020, 0xdfdfdfe0, 0x2e2e2e2e, 0xd1d1d1d2, 0x00000000, 0x02020202, 0xfdfdfdfe, + 0x06060606, 0xf9f9f9fa, 0x0c0c0c0c, 0xf3f3f3f4, 0x14141414, 0xebebebec, 0x20202020, 0xdfdfdfe0, + 0x2e2e2e2e, 0xd1d1d1d2, 0x00000000, 0x02020202, 0xfdfdfdfe, 0x06060606, 0xf9f9f9fa, 0x0c0c0c0c, + 0xf3f3f3f4, 0x14141414, 0xebebebec, 0x20202020, 0xdfdfdfe0, 0x2e2e2e2e, 0xd1d1d1d2, 0x00000000, + 0x02020202, 0xfdfdfdfe, 0x06060606, 0xf9f9f9fa, 0x0c0c0c0c, 0xf3f3f3f4, 0x14141414, 0xebebebec, + 0x20202020, 0xdfdfdfe0, 0x2e2e2e2e, 0xd1d1d1d2, 0x00000000, 0x02020202, 0xfdfdfdfe, 0x06060606, + 0xf9f9f9fa, 0x0c0c0c0c, 0xf3f3f3f4, 0x14141414, 0xebebebec, 0x20202020, 0xdfdfdfe0, 0x2e2e2e2e, + 0xd1d1d1d2, 0x00000000, 0x02020202, 0xfdfdfdfe, 0x06060606, 0xf9f9f9fa, 0x0c0c0c0c, 0xf3f3f3f4, + 0x14141414, 0xebebebec, 0x20202020, 0xdfdfdfe0, 0x2e2e2e2e, 0xd1d1d1d2, 0x00000000, 0x02020202, + 0xfdfdfdfe, 0x06060606, 0xf9f9f9fa, 0x0c0c0c0c, 0xf3f3f3f4, 0x14141414, 0xebebebec, 0x20202020, + 0xdfdfdfe0, 0x2e2e2e2e, 0xd1d1d1d2, 0x00000000, 0x02020202, 0xfdfdfdfe, 0x06060606, 0xf9f9f9fa, + 0x0c0c0c0c, 0xf3f3f3f4, 0x14141414, 0xebebebec, 0x20202020, 0xdfdfdfe0, 0x2e2e2e2e, 0xd1d1d1d2, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x02020202, 0xfdfdfdfe, 0x06060606, 0xf9f9f9fa, 0x0c0c0c0c, 0xf3f3f3f4, 0x14141414, + 0xebebebec, 0x20202020, 0xdfdfdfe0, 0x2e2e2e2e, 0xd1d1d1d2, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x02020202, 0xfdfdfdfe, 0x06060606, 0xf9f9f9fa, 0x0c0c0c0c, 0xf3f3f3f4, 0x14141414, 0xebebebec, + 0x20202020, 0xdfdfdfe0, 0x2e2e2e2e, 0xd1d1d1d2, 0x00000000, 0x02020202, 0xfdfdfdfe, 0x06060606, + 0xf9f9f9fa, 0x0c0c0c0c, 0xf3f3f3f4, 0x14141414, 0xebebebec, 0x20202020, 0xdfdfdfe0, 0x2e2e2e2e, + 0xd1d1d1d2, 0x00000000, 0x02020202, 0xfdfdfdfe, 0x06060606, 0xf9f9f9fa, 0x0c0c0c0c, 0xf3f3f3f4, + 0x14141414, 0xebebebec, 0x20202020, 0xdfdfdfe0, 0x2e2e2e2e, 0xd1d1d1d2, 0x00000000, 0x02020202, + 0xfdfdfdfe, 0x06060606, 0xf9f9f9fa, 0x0c0c0c0c, 0xf3f3f3f4, 0x14141414, 0xebebebec, 0x20202020, + 0xdfdfdfe0, 0x2e2e2e2e, 0xd1d1d1d2, 0x00000000, 0x02020202, 0xfdfdfdfe, 0x06060606, 0xf9f9f9fa, + 0x0c0c0c0c, 0xf3f3f3f4, 0x14141414, 0xebebebec, 0x20202020, 0xdfdfdfe0, 0x2e2e2e2e, 0xd1d1d1d2, + 0x00000000, 0x02020202, 0xfdfdfdfe, 0x06060606, 0xf9f9f9fa, 0x0c0c0c0c, 0xf3f3f3f4, 0x14141414, + 0xebebebec, 0x20202020, 0xdfdfdfe0, 0x2e2e2e2e, 0xd1d1d1d2, 0x00000000, 0x02020202, 0xfdfdfdfe, + 0x06060606, 0xf9f9f9fa, 0x0c0c0c0c, 0xf3f3f3f4, 0x14141414, 0xebebebec, 0x20202020, 0xdfdfdfe0, + 0x2e2e2e2e, 0xd1d1d1d2, 0x00000000, 0x02020202, 0xfdfdfdfe, 0x06060606, 0xf9f9f9fa, 0x0c0c0c0c, + 0xf3f3f3f4, 0x14141414, 0xebebebec, 0x20202020, 0xdfdfdfe0, 0x2e2e2e2e, 0xd1d1d1d2, 0x00000000, + 0x02020202, 0xfdfdfdfe, 0x06060606, 0xf9f9f9fa, 0x0c0c0c0c, 0xf3f3f3f4, 0x14141414, 0xebebebec, + 0x20202020, 0xdfdfdfe0, 0x2e2e2e2e, 0xd1d1d1d2, 0x00000000, 0x02020202, 0xfdfdfdfe, 0x06060606, + 0xf9f9f9fa, 0x0c0c0c0c, 0xf3f3f3f4, 0x14141414, 0xebebebec, 0x20202020, 0xdfdfdfe0, 0x2e2e2e2e, + 0xd1d1d1d2, 0x00000000, 0x02020202, 0xfdfdfdfe, 0x06060606, 0xf9f9f9fa, 0x0c0c0c0c, 0xf3f3f3f4, + 0x14141414, 0xebebebec, 0x20202020, 0xdfdfdfe0, 0x2e2e2e2e, 0xd1d1d1d2, 0x00000000, 0x02020202, + 0xfdfdfdfe, 0x06060606, 0xf9f9f9fa, 0x0c0c0c0c, 0xf3f3f3f4, 0x14141414, 0xebebebec, 0x20202020, + 0xdfdfdfe0, 0x2e2e2e2e, 0xd1d1d1d2, 0x00000000, 0x02020202, 0xfdfdfdfe, 0x06060606, 0xf9f9f9fa, + 0x0c0c0c0c, 0xf3f3f3f4, 0x14141414, 0xebebebec, 0x20202020, 0xdfdfdfe0, 0x2e2e2e2e, 0xd1d1d1d2, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x02020202, 0xfdfdfdfe, 0x06060606, 0xf9f9f9fa, 0x0c0c0c0c, 0xf3f3f3f4, 0x14141414, + 0xebebebec, 0x20202020, 0xdfdfdfe0, 0x2e2e2e2e, 0xd1d1d1d2, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x02020202, 0xfdfdfdfe, 0x06060606, 0xf9f9f9fa, 0x0c0c0c0c, 0xf3f3f3f4, 0x14141414, 0xebebebec, + 0x20202020, 0xdfdfdfe0, 0x2e2e2e2e, 0xd1d1d1d2, 0x00000000, 0x02020202, 0xfdfdfdfe, 0x06060606, + 0xf9f9f9fa, 0x0c0c0c0c, 0xf3f3f3f4, 0x14141414, 0xebebebec, 0x20202020, 0xdfdfdfe0, 0x2e2e2e2e, + 0xd1d1d1d2, 0x00000000, 0x02020202, 0xfdfdfdfe, 0x06060606, 0xf9f9f9fa, 0x0c0c0c0c, 0xf3f3f3f4, + 0x14141414, 0xebebebec, 0x20202020, 0xdfdfdfe0, 0x2e2e2e2e, 0xd1d1d1d2, 0x00000000, 0x02020202, + 0xfdfdfdfe, 0x06060606, 0xf9f9f9fa, 0x0c0c0c0c, 0xf3f3f3f4, 0x14141414, 0xebebebec, 0x20202020, + 0xdfdfdfe0, 0x2e2e2e2e, 0xd1d1d1d2, 0x00000000, 0x02020202, 0xfdfdfdfe, 0x06060606, 0xf9f9f9fa, + 0x0c0c0c0c, 0xf3f3f3f4, 0x14141414, 0xebebebec, 0x20202020, 0xdfdfdfe0, 0x2e2e2e2e, 0xd1d1d1d2, + 0x00000000, 0x02020202, 0xfdfdfdfe, 0x06060606, 0xf9f9f9fa, 0x0c0c0c0c, 0xf3f3f3f4, 0x14141414, + 0xebebebec, 0x20202020, 0xdfdfdfe0, 0x2e2e2e2e, 0xd1d1d1d2, 0x00000000, 0x02020202, 0xfdfdfdfe, + 0x06060606, 0xf9f9f9fa, 0x0c0c0c0c, 0xf3f3f3f4, 0x14141414, 0xebebebec, 0x20202020, 0xdfdfdfe0, + 0x2e2e2e2e, 0xd1d1d1d2, 0x00000000, 0x02020202, 0xfdfdfdfe, 0x06060606, 0xf9f9f9fa, 0x0c0c0c0c, + 0xf3f3f3f4, 0x14141414, 0xebebebec, 0x20202020, 0xdfdfdfe0, 0x2e2e2e2e, 0xd1d1d1d2, 0x00000000, + 0x02020202, 0xfdfdfdfe, 0x06060606, 0xf9f9f9fa, 0x0c0c0c0c, 0xf3f3f3f4, 0x14141414, 0xebebebec, + 0x20202020, 0xdfdfdfe0, 0x2e2e2e2e, 0xd1d1d1d2, 0x00000000, 0x02020202, 0xfdfdfdfe, 0x06060606, + 0xf9f9f9fa, 0x0c0c0c0c, 0xf3f3f3f4, 0x14141414, 0xebebebec, 0x20202020, 0xdfdfdfe0, 0x2e2e2e2e, + 0xd1d1d1d2, 0x00000000, 0x02020202, 0xfdfdfdfe, 0x06060606, 0xf9f9f9fa, 0x0c0c0c0c, 0xf3f3f3f4, + 0x14141414, 0xebebebec, 0x20202020, 0xdfdfdfe0, 0x2e2e2e2e, 0xd1d1d1d2, 0x00000000, 0x02020202, + 0xfdfdfdfe, 0x06060606, 0xf9f9f9fa, 0x0c0c0c0c, 0xf3f3f3f4, 0x14141414, 0xebebebec, 0x20202020, + 0xdfdfdfe0, 0x2e2e2e2e, 0xd1d1d1d2, 0x00000000, 0x02020202, 0xfdfdfdfe, 0x06060606, 0xf9f9f9fa, + 0x0c0c0c0c, 0xf3f3f3f4, 0x14141414, 0xebebebec, 0x20202020, 0xdfdfdfe0, 0x2e2e2e2e, 0xd1d1d1d2, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x02020202, 0xfdfdfdfe, 0x06060606, 0xf9f9f9fa, 0x0c0c0c0c, 0xf3f3f3f4, 0x14141414, + 0xebebebec, 0x20202020, 0xdfdfdfe0, 0x2e2e2e2e, 0xd1d1d1d2, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x02020202, 0xfdfdfdfe, 0x06060606, 0xf9f9f9fa, 0x0c0c0c0c, 0xf3f3f3f4, 0x14141414, 0xebebebec, + 0x20202020, 0xdfdfdfe0, 0x2e2e2e2e, 0xd1d1d1d2, 0x00000000, 0x02020202, 0xfdfdfdfe, 0x06060606, + 0xf9f9f9fa, 0x0c0c0c0c, 0xf3f3f3f4, 0x14141414, 0xebebebec, 0x20202020, 0xdfdfdfe0, 0x2e2e2e2e, + 0xd1d1d1d2, 0x00000000, 0x02020202, 0xfdfdfdfe, 0x06060606, 0xf9f9f9fa, 0x0c0c0c0c, 0xf3f3f3f4, + 0x14141414, 0xebebebec, 0x20202020, 0xdfdfdfe0, 0x2e2e2e2e, 0xd1d1d1d2, 0x00000000, 0x02020202, + 0xfdfdfdfe, 0x06060606, 0xf9f9f9fa, 0x0c0c0c0c, 0xf3f3f3f4, 0x14141414, 0xebebebec, 0x20202020, + 0xdfdfdfe0, 0x2e2e2e2e, 0xd1d1d1d2, 0x00000000, 0x02020202, 0xfdfdfdfe, 0x06060606, 0xf9f9f9fa, + 0x0c0c0c0c, 0xf3f3f3f4, 0x14141414, 0xebebebec, 0x20202020, 0xdfdfdfe0, 0x2e2e2e2e, 0xd1d1d1d2, + 0x00000000, 0x02020202, 0xfdfdfdfe, 0x06060606, 0xf9f9f9fa, 0x0c0c0c0c, 0xf3f3f3f4, 0x14141414, + 0xebebebec, 0x20202020, 0xdfdfdfe0, 0x2e2e2e2e, 0xd1d1d1d2, 0x00000000, 0x02020202, 0xfdfdfdfe, + 0x06060606, 0xf9f9f9fa, 0x0c0c0c0c, 0xf3f3f3f4, 0x14141414, 0xebebebec, 0x20202020, 0xdfdfdfe0, + 0x2e2e2e2e, 0xd1d1d1d2, 0x00000000, 0x02020202, 0xfdfdfdfe, 0x06060606, 0xf9f9f9fa, 0x0c0c0c0c, + 0xf3f3f3f4, 0x14141414, 0xebebebec, 0x20202020, 0xdfdfdfe0, 0x2e2e2e2e, 0xd1d1d1d2, 0x00000000, + 0x02020202, 0xfdfdfdfe, 0x06060606, 0xf9f9f9fa, 0x0c0c0c0c, 0xf3f3f3f4, 0x14141414, 0xebebebec, + 0x20202020, 0xdfdfdfe0, 0x2e2e2e2e, 0xd1d1d1d2, 0x00000000, 0x02020202, 0xfdfdfdfe, 0x06060606, + 0xf9f9f9fa, 0x0c0c0c0c, 0xf3f3f3f4, 0x14141414, 0xebebebec, 0x20202020, 0xdfdfdfe0, 0x2e2e2e2e, + 0xd1d1d1d2, 0x00000000, 0x02020202, 0xfdfdfdfe, 0x06060606, 0xf9f9f9fa, 0x0c0c0c0c, 0xf3f3f3f4, + 0x14141414, 0xebebebec, 0x20202020, 0xdfdfdfe0, 0x2e2e2e2e, 0xd1d1d1d2, 0x00000000, 0x02020202, + 0xfdfdfdfe, 0x06060606, 0xf9f9f9fa, 0x0c0c0c0c, 0xf3f3f3f4, 0x14141414, 0xebebebec, 0x20202020, + 0xdfdfdfe0, 0x2e2e2e2e, 0xd1d1d1d2, 0x00000000, 0x02020202, 0xfdfdfdfe, 0x06060606, 0xf9f9f9fa, + 0x0c0c0c0c, 0xf3f3f3f4, 0x14141414, 0xebebebec, 0x20202020, 0xdfdfdfe0, 0x2e2e2e2e, 0xd1d1d1d2, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 +}; + + +const uint32 Indeo3Decoder::correctionhighorder[] = { + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0x00000000, 0x02020202, 0xfdfdfdfe, 0x0302feff, 0xfcfd0101, + 0xfeff0303, 0x0100fcfd, 0x00000000, 0x02020202, 0xfdfdfdfe, 0x0302feff, 0xfcfd0101, 0xfeff0303, + 0x0100fcfd, 0x00000000, 0x02020202, 0xfdfdfdfe, 0x0302feff, 0xfcfd0101, 0xfeff0303, 0x0100fcfd, + 0x00000000, 0x02020202, 0xfdfdfdfe, 0x0302feff, 0xfcfd0101, 0xfeff0303, 0x0100fcfd, 0x00000000, + 0x02020202, 0xfdfdfdfe, 0x0302feff, 0xfcfd0101, 0xfeff0303, 0x0100fcfd, 0x00000000, 0x02020202, + 0xfdfdfdfe, 0x0302feff, 0xfcfd0101, 0xfeff0303, 0x0100fcfd, 0x00000000, 0x02020202, 0xfdfdfdfe, + 0x0302feff, 0xfcfd0101, 0xfeff0303, 0x0100fcfd, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0x00000000, + 0x03030303, 0xfcfcfcfd, 0x0403feff, 0xfbfc0101, 0xfeff0404, 0x0100fbfc, 0x07070707, 0xf8f8f8f9, + 0x00000000, 0x03030303, 0xfcfcfcfd, 0x0403feff, 0xfbfc0101, 0xfeff0404, 0x0100fbfc, 0x07070707, + 0xf8f8f8f9, 0x00000000, 0x03030303, 0xfcfcfcfd, 0x0403feff, 0xfbfc0101, 0xfeff0404, 0x0100fbfc, + 0x07070707, 0xf8f8f8f9, 0x00000000, 0x03030303, 0xfcfcfcfd, 0x0403feff, 0xfbfc0101, 0xfeff0404, + 0x0100fbfc, 0x07070707, 0xf8f8f8f9, 0x00000000, 0x03030303, 0xfcfcfcfd, 0x0403feff, 0xfbfc0101, + 0xfeff0404, 0x0100fbfc, 0x07070707, 0xf8f8f8f9, 0x00000000, 0x03030303, 0xfcfcfcfd, 0x0403feff, + 0xfbfc0101, 0xfeff0404, 0x0100fbfc, 0x07070707, 0xf8f8f8f9, 0x00000000, 0x03030303, 0xfcfcfcfd, + 0x0403feff, 0xfbfc0101, 0xfeff0404, 0x0100fbfc, 0x07070707, 0xf8f8f8f9, 0x00000000, 0x03030303, + 0xfcfcfcfd, 0x0403feff, 0xfbfc0101, 0xfeff0404, 0x0100fbfc, 0x07070707, 0xf8f8f8f9, 0x00000000, + 0x03030303, 0xfcfcfcfd, 0x0403feff, 0xfbfc0101, 0xfeff0404, 0x0100fbfc, 0x07070707, 0xf8f8f8f9, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0x00000000, 0x04040404, 0xfbfbfbfc, + 0x0504feff, 0xfafb0101, 0xfeff0505, 0x0100fafb, 0x0a0a0303, 0xf5f5fcfd, 0x03030a0a, 0x00000000, + 0x04040404, 0xfbfbfbfc, 0x0504feff, 0xfafb0101, 0xfeff0505, 0x0100fafb, 0x0a0a0303, 0xf5f5fcfd, + 0x03030a0a, 0x00000000, 0x04040404, 0xfbfbfbfc, 0x0504feff, 0xfafb0101, 0xfeff0505, 0x0100fafb, + 0x0a0a0303, 0xf5f5fcfd, 0x03030a0a, 0x00000000, 0x04040404, 0xfbfbfbfc, 0x0504feff, 0xfafb0101, + 0xfeff0505, 0x0100fafb, 0x0a0a0303, 0xf5f5fcfd, 0x03030a0a, 0x00000000, 0x04040404, 0xfbfbfbfc, + 0x0504feff, 0xfafb0101, 0xfeff0505, 0x0100fafb, 0x0a0a0303, 0xf5f5fcfd, 0x03030a0a, 0x00000000, + 0x04040404, 0xfbfbfbfc, 0x0504feff, 0xfafb0101, 0xfeff0505, 0x0100fafb, 0x0a0a0303, 0xf5f5fcfd, + 0x03030a0a, 0x00000000, 0x04040404, 0xfbfbfbfc, 0x0504feff, 0xfafb0101, 0xfeff0505, 0x0100fafb, + 0x0a0a0303, 0xf5f5fcfd, 0x03030a0a, 0x00000000, 0x04040404, 0xfbfbfbfc, 0x0504feff, 0xfafb0101, + 0xfeff0505, 0x0100fafb, 0x0a0a0303, 0xf5f5fcfd, 0x03030a0a, 0x00000000, 0x04040404, 0xfbfbfbfc, + 0x0504feff, 0xfafb0101, 0xfeff0505, 0x0100fafb, 0x0a0a0303, 0xf5f5fcfd, 0x03030a0a, 0x00000000, + 0x04040404, 0xfbfbfbfc, 0x0504feff, 0xfafb0101, 0xfeff0505, 0x0100fafb, 0x0a0a0303, 0xf5f5fcfd, + 0x03030a0a, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0x00000000, 0x05050505, 0xfafafafb, 0x0706fdfe, 0xf8f90202, + 0xfdfe0707, 0x0201f8f9, 0x0b0b0b0b, 0xf4f4f4f5, 0x0d0d0303, 0xf2f2fcfd, 0x00000000, 0x05050505, + 0xfafafafb, 0x0706fdfe, 0xf8f90202, 0xfdfe0707, 0x0201f8f9, 0x0b0b0b0b, 0xf4f4f4f5, 0x0d0d0303, + 0xf2f2fcfd, 0x00000000, 0x05050505, 0xfafafafb, 0x0706fdfe, 0xf8f90202, 0xfdfe0707, 0x0201f8f9, + 0x0b0b0b0b, 0xf4f4f4f5, 0x0d0d0303, 0xf2f2fcfd, 0x00000000, 0x05050505, 0xfafafafb, 0x0706fdfe, + 0xf8f90202, 0xfdfe0707, 0x0201f8f9, 0x0b0b0b0b, 0xf4f4f4f5, 0x0d0d0303, 0xf2f2fcfd, 0x00000000, + 0x05050505, 0xfafafafb, 0x0706fdfe, 0xf8f90202, 0xfdfe0707, 0x0201f8f9, 0x0b0b0b0b, 0xf4f4f4f5, + 0x0d0d0303, 0xf2f2fcfd, 0x00000000, 0x05050505, 0xfafafafb, 0x0706fdfe, 0xf8f90202, 0xfdfe0707, + 0x0201f8f9, 0x0b0b0b0b, 0xf4f4f4f5, 0x0d0d0303, 0xf2f2fcfd, 0x00000000, 0x05050505, 0xfafafafb, + 0x0706fdfe, 0xf8f90202, 0xfdfe0707, 0x0201f8f9, 0x0b0b0b0b, 0xf4f4f4f5, 0x0d0d0303, 0xf2f2fcfd, + 0x00000000, 0x05050505, 0xfafafafb, 0x0706fdfe, 0xf8f90202, 0xfdfe0707, 0x0201f8f9, 0x0b0b0b0b, + 0xf4f4f4f5, 0x0d0d0303, 0xf2f2fcfd, 0x00000000, 0x05050505, 0xfafafafb, 0x0706fdfe, 0xf8f90202, + 0xfdfe0707, 0x0201f8f9, 0x0b0b0b0b, 0xf4f4f4f5, 0x0d0d0303, 0xf2f2fcfd, 0x00000000, 0x05050505, + 0xfafafafb, 0x0706fdfe, 0xf8f90202, 0xfdfe0707, 0x0201f8f9, 0x0b0b0b0b, 0xf4f4f4f5, 0x0d0d0303, + 0xf2f2fcfd, 0x00000000, 0x05050505, 0xfafafafb, 0x0706fdfe, 0xf8f90202, 0xfdfe0707, 0x0201f8f9, + 0x0b0b0b0b, 0xf4f4f4f5, 0x0d0d0303, 0xf2f2fcfd, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0x00000000, 0x06060606, 0xf9f9f9fa, + 0x0807fdfe, 0xf7f80202, 0xfdfe0808, 0x0201f7f8, 0x0d0d0d0d, 0xf2f2f2f3, 0x0f0f0404, 0xf0f0fbfc, + 0x04040f0f, 0x00000000, 0x06060606, 0xf9f9f9fa, 0x0807fdfe, 0xf7f80202, 0xfdfe0808, 0x0201f7f8, + 0x0d0d0d0d, 0xf2f2f2f3, 0x0f0f0404, 0xf0f0fbfc, 0x04040f0f, 0x00000000, 0x06060606, 0xf9f9f9fa, + 0x0807fdfe, 0xf7f80202, 0xfdfe0808, 0x0201f7f8, 0x0d0d0d0d, 0xf2f2f2f3, 0x0f0f0404, 0xf0f0fbfc, + 0x04040f0f, 0x00000000, 0x06060606, 0xf9f9f9fa, 0x0807fdfe, 0xf7f80202, 0xfdfe0808, 0x0201f7f8, + 0x0d0d0d0d, 0xf2f2f2f3, 0x0f0f0404, 0xf0f0fbfc, 0x04040f0f, 0x00000000, 0x06060606, 0xf9f9f9fa, + 0x0807fdfe, 0xf7f80202, 0xfdfe0808, 0x0201f7f8, 0x0d0d0d0d, 0xf2f2f2f3, 0x0f0f0404, 0xf0f0fbfc, + 0x04040f0f, 0x00000000, 0x06060606, 0xf9f9f9fa, 0x0807fdfe, 0xf7f80202, 0xfdfe0808, 0x0201f7f8, + 0x0d0d0d0d, 0xf2f2f2f3, 0x0f0f0404, 0xf0f0fbfc, 0x04040f0f, 0x00000000, 0x06060606, 0xf9f9f9fa, + 0x0807fdfe, 0xf7f80202, 0xfdfe0808, 0x0201f7f8, 0x0d0d0d0d, 0xf2f2f2f3, 0x0f0f0404, 0xf0f0fbfc, + 0x04040f0f, 0x00000000, 0x06060606, 0xf9f9f9fa, 0x0807fdfe, 0xf7f80202, 0xfdfe0808, 0x0201f7f8, + 0x0d0d0d0d, 0xf2f2f2f3, 0x0f0f0404, 0xf0f0fbfc, 0x04040f0f, 0x00000000, 0x06060606, 0xf9f9f9fa, + 0x0807fdfe, 0xf7f80202, 0xfdfe0808, 0x0201f7f8, 0x0d0d0d0d, 0xf2f2f2f3, 0x0f0f0404, 0xf0f0fbfc, + 0x04040f0f, 0x00000000, 0x06060606, 0xf9f9f9fa, 0x0807fdfe, 0xf7f80202, 0xfdfe0808, 0x0201f7f8, + 0x0d0d0d0d, 0xf2f2f2f3, 0x0f0f0404, 0xf0f0fbfc, 0x04040f0f, 0x00000000, 0x06060606, 0xf9f9f9fa, + 0x0807fdfe, 0xf7f80202, 0xfdfe0808, 0x0201f7f8, 0x0d0d0d0d, 0xf2f2f2f3, 0x0f0f0404, 0xf0f0fbfc, + 0x04040f0f, 0x00000000, 0x06060606, 0xf9f9f9fa, 0x0807fdfe, 0xf7f80202, 0xfdfe0808, 0x0201f7f8, + 0x0d0d0d0d, 0xf2f2f2f3, 0x0f0f0404, 0xf0f0fbfc, 0x04040f0f, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0x00000000, 0x07070707, 0xf8f8f8f9, + 0x0a09fcfd, 0xf5f60303, 0xfcfd0a0a, 0x0302f5f6, 0x10101010, 0xefefeff0, 0x12120505, 0xededfafb, + 0x05051212, 0x00000000, 0x07070707, 0xf8f8f8f9, 0x0a09fcfd, 0xf5f60303, 0xfcfd0a0a, 0x0302f5f6, + 0x10101010, 0xefefeff0, 0x12120505, 0xededfafb, 0x05051212, 0x00000000, 0x07070707, 0xf8f8f8f9, + 0x0a09fcfd, 0xf5f60303, 0xfcfd0a0a, 0x0302f5f6, 0x10101010, 0xefefeff0, 0x12120505, 0xededfafb, + 0x05051212, 0x00000000, 0x07070707, 0xf8f8f8f9, 0x0a09fcfd, 0xf5f60303, 0xfcfd0a0a, 0x0302f5f6, + 0x10101010, 0xefefeff0, 0x12120505, 0xededfafb, 0x05051212, 0x00000000, 0x07070707, 0xf8f8f8f9, + 0x0a09fcfd, 0xf5f60303, 0xfcfd0a0a, 0x0302f5f6, 0x10101010, 0xefefeff0, 0x12120505, 0xededfafb, + 0x05051212, 0x00000000, 0x07070707, 0xf8f8f8f9, 0x0a09fcfd, 0xf5f60303, 0xfcfd0a0a, 0x0302f5f6, + 0x10101010, 0xefefeff0, 0x12120505, 0xededfafb, 0x05051212, 0x00000000, 0x07070707, 0xf8f8f8f9, + 0x0a09fcfd, 0xf5f60303, 0xfcfd0a0a, 0x0302f5f6, 0x10101010, 0xefefeff0, 0x12120505, 0xededfafb, + 0x05051212, 0x00000000, 0x07070707, 0xf8f8f8f9, 0x0a09fcfd, 0xf5f60303, 0xfcfd0a0a, 0x0302f5f6, + 0x10101010, 0xefefeff0, 0x12120505, 0xededfafb, 0x05051212, 0x00000000, 0x07070707, 0xf8f8f8f9, + 0x0a09fcfd, 0xf5f60303, 0xfcfd0a0a, 0x0302f5f6, 0x10101010, 0xefefeff0, 0x12120505, 0xededfafb, + 0x05051212, 0x00000000, 0x07070707, 0xf8f8f8f9, 0x0a09fcfd, 0xf5f60303, 0xfcfd0a0a, 0x0302f5f6, + 0x10101010, 0xefefeff0, 0x12120505, 0xededfafb, 0x05051212, 0x00000000, 0x07070707, 0xf8f8f8f9, + 0x0a09fcfd, 0xf5f60303, 0xfcfd0a0a, 0x0302f5f6, 0x10101010, 0xefefeff0, 0x12120505, 0xededfafb, + 0x05051212, 0x00000000, 0x07070707, 0xf8f8f8f9, 0x0a09fcfd, 0xf5f60303, 0xfcfd0a0a, 0x0302f5f6, + 0x10101010, 0xefefeff0, 0x12120505, 0xededfafb, 0x05051212, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0x00000000, + 0x08080808, 0xf7f7f7f8, 0x0b0afcfd, 0xf4f50303, 0xfcfd0b0b, 0x0302f4f5, 0x12121212, 0xedededee, + 0x14140505, 0xebebfafb, 0x05051414, 0x00000000, 0x08080808, 0xf7f7f7f8, 0x0b0afcfd, 0xf4f50303, + 0xfcfd0b0b, 0x0302f4f5, 0x12121212, 0xedededee, 0x14140505, 0xebebfafb, 0x05051414, 0x00000000, + 0x08080808, 0xf7f7f7f8, 0x0b0afcfd, 0xf4f50303, 0xfcfd0b0b, 0x0302f4f5, 0x12121212, 0xedededee, + 0x14140505, 0xebebfafb, 0x05051414, 0x00000000, 0x08080808, 0xf7f7f7f8, 0x0b0afcfd, 0xf4f50303, + 0xfcfd0b0b, 0x0302f4f5, 0x12121212, 0xedededee, 0x14140505, 0xebebfafb, 0x05051414, 0x00000000, + 0x08080808, 0xf7f7f7f8, 0x0b0afcfd, 0xf4f50303, 0xfcfd0b0b, 0x0302f4f5, 0x12121212, 0xedededee, + 0x14140505, 0xebebfafb, 0x05051414, 0x00000000, 0x08080808, 0xf7f7f7f8, 0x0b0afcfd, 0xf4f50303, + 0xfcfd0b0b, 0x0302f4f5, 0x12121212, 0xedededee, 0x14140505, 0xebebfafb, 0x05051414, 0x00000000, + 0x08080808, 0xf7f7f7f8, 0x0b0afcfd, 0xf4f50303, 0xfcfd0b0b, 0x0302f4f5, 0x12121212, 0xedededee, + 0x14140505, 0xebebfafb, 0x05051414, 0x00000000, 0x08080808, 0xf7f7f7f8, 0x0b0afcfd, 0xf4f50303, + 0xfcfd0b0b, 0x0302f4f5, 0x12121212, 0xedededee, 0x14140505, 0xebebfafb, 0x05051414, 0x00000000, + 0x08080808, 0xf7f7f7f8, 0x0b0afcfd, 0xf4f50303, 0xfcfd0b0b, 0x0302f4f5, 0x12121212, 0xedededee, + 0x14140505, 0xebebfafb, 0x05051414, 0x00000000, 0x08080808, 0xf7f7f7f8, 0x0b0afcfd, 0xf4f50303, + 0xfcfd0b0b, 0x0302f4f5, 0x12121212, 0xedededee, 0x14140505, 0xebebfafb, 0x05051414, 0x00000000, + 0x08080808, 0xf7f7f7f8, 0x0b0afcfd, 0xf4f50303, 0xfcfd0b0b, 0x0302f4f5, 0x12121212, 0xedededee, + 0x14140505, 0xebebfafb, 0x05051414, 0x00000000, 0x08080808, 0xf7f7f7f8, 0x0b0afcfd, 0xf4f50303, + 0xfcfd0b0b, 0x0302f4f5, 0x12121212, 0xedededee, 0x14140505, 0xebebfafb, 0x05051414, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0x00000000, 0x09090909, 0xf6f6f6f7, + 0x0c0bfcfd, 0xf3f40303, 0xfcfd0c0c, 0x0302f3f4, 0x14141414, 0xebebebec, 0x17170606, 0xe8e8f9fa, + 0x06061717, 0xf9f9e8e9, 0x00000000, 0x09090909, 0xf6f6f6f7, 0x0c0bfcfd, 0xf3f40303, 0xfcfd0c0c, + 0x0302f3f4, 0x14141414, 0xebebebec, 0x17170606, 0xe8e8f9fa, 0x06061717, 0xf9f9e8e9, 0x00000000, + 0x09090909, 0xf6f6f6f7, 0x0c0bfcfd, 0xf3f40303, 0xfcfd0c0c, 0x0302f3f4, 0x14141414, 0xebebebec, + 0x17170606, 0xe8e8f9fa, 0x06061717, 0xf9f9e8e9, 0x00000000, 0x09090909, 0xf6f6f6f7, 0x0c0bfcfd, + 0xf3f40303, 0xfcfd0c0c, 0x0302f3f4, 0x14141414, 0xebebebec, 0x17170606, 0xe8e8f9fa, 0x06061717, + 0xf9f9e8e9, 0x00000000, 0x09090909, 0xf6f6f6f7, 0x0c0bfcfd, 0xf3f40303, 0xfcfd0c0c, 0x0302f3f4, + 0x14141414, 0xebebebec, 0x17170606, 0xe8e8f9fa, 0x06061717, 0xf9f9e8e9, 0x00000000, 0x09090909, + 0xf6f6f6f7, 0x0c0bfcfd, 0xf3f40303, 0xfcfd0c0c, 0x0302f3f4, 0x14141414, 0xebebebec, 0x17170606, + 0xe8e8f9fa, 0x06061717, 0xf9f9e8e9, 0x00000000, 0x09090909, 0xf6f6f6f7, 0x0c0bfcfd, 0xf3f40303, + 0xfcfd0c0c, 0x0302f3f4, 0x14141414, 0xebebebec, 0x17170606, 0xe8e8f9fa, 0x06061717, 0xf9f9e8e9, + 0x00000000, 0x09090909, 0xf6f6f6f7, 0x0c0bfcfd, 0xf3f40303, 0xfcfd0c0c, 0x0302f3f4, 0x14141414, + 0xebebebec, 0x17170606, 0xe8e8f9fa, 0x06061717, 0xf9f9e8e9, 0x00000000, 0x09090909, 0xf6f6f6f7, + 0x0c0bfcfd, 0xf3f40303, 0xfcfd0c0c, 0x0302f3f4, 0x14141414, 0xebebebec, 0x17170606, 0xe8e8f9fa, + 0x06061717, 0xf9f9e8e9, 0x00000000, 0x09090909, 0xf6f6f6f7, 0x0c0bfcfd, 0xf3f40303, 0xfcfd0c0c, + 0x0302f3f4, 0x14141414, 0xebebebec, 0x17170606, 0xe8e8f9fa, 0x06061717, 0xf9f9e8e9, 0x00000000, + 0x09090909, 0xf6f6f6f7, 0x0c0bfcfd, 0xf3f40303, 0xfcfd0c0c, 0x0302f3f4, 0x14141414, 0xebebebec, + 0x17170606, 0xe8e8f9fa, 0x06061717, 0xf9f9e8e9, 0x00000000, 0x09090909, 0xf6f6f6f7, 0x0c0bfcfd, + 0xf3f40303, 0xfcfd0c0c, 0x0302f3f4, 0x14141414, 0xebebebec, 0x17170606, 0xe8e8f9fa, 0x06061717, + 0xf9f9e8e9, 0x00000000, 0x09090909, 0xf6f6f6f7, 0x0c0bfcfd, 0xf3f40303, 0xfcfd0c0c, 0x0302f3f4, + 0x14141414, 0xebebebec, 0x17170606, 0xe8e8f9fa, 0x06061717, 0xf9f9e8e9, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0x00000000, 0x02020202, 0xfdfdfdfe, 0x02020000, 0xfdfe0000, + 0x00000202, 0xfffffdfe, 0x00000000, 0x02020202, 0xfdfdfdfe, 0x02020000, 0xfdfe0000, 0x00000202, + 0xfffffdfe, 0x00000000, 0x02020202, 0xfdfdfdfe, 0x02020000, 0xfdfe0000, 0x00000202, 0xfffffdfe, + 0x00000000, 0x02020202, 0xfdfdfdfe, 0x02020000, 0xfdfe0000, 0x00000202, 0xfffffdfe, 0x00000000, + 0x02020202, 0xfdfdfdfe, 0x02020000, 0xfdfe0000, 0x00000202, 0xfffffdfe, 0x00000000, 0x02020202, + 0xfdfdfdfe, 0x02020000, 0xfdfe0000, 0x00000202, 0xfffffdfe, 0x00000000, 0x02020202, 0xfdfdfdfe, + 0x02020000, 0xfdfe0000, 0x00000202, 0xfffffdfe, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0x00000000, + 0x03030303, 0xfcfcfcfd, 0x03030000, 0xfcfd0000, 0x00000303, 0xfffffcfd, 0x06060606, 0xf9f9f9fa, + 0x00000000, 0x03030303, 0xfcfcfcfd, 0x03030000, 0xfcfd0000, 0x00000303, 0xfffffcfd, 0x06060606, + 0xf9f9f9fa, 0x00000000, 0x03030303, 0xfcfcfcfd, 0x03030000, 0xfcfd0000, 0x00000303, 0xfffffcfd, + 0x06060606, 0xf9f9f9fa, 0x00000000, 0x03030303, 0xfcfcfcfd, 0x03030000, 0xfcfd0000, 0x00000303, + 0xfffffcfd, 0x06060606, 0xf9f9f9fa, 0x00000000, 0x03030303, 0xfcfcfcfd, 0x03030000, 0xfcfd0000, + 0x00000303, 0xfffffcfd, 0x06060606, 0xf9f9f9fa, 0x00000000, 0x03030303, 0xfcfcfcfd, 0x03030000, + 0xfcfd0000, 0x00000303, 0xfffffcfd, 0x06060606, 0xf9f9f9fa, 0x00000000, 0x03030303, 0xfcfcfcfd, + 0x03030000, 0xfcfd0000, 0x00000303, 0xfffffcfd, 0x06060606, 0xf9f9f9fa, 0x00000000, 0x03030303, + 0xfcfcfcfd, 0x03030000, 0xfcfd0000, 0x00000303, 0xfffffcfd, 0x06060606, 0xf9f9f9fa, 0x00000000, + 0x03030303, 0xfcfcfcfd, 0x03030000, 0xfcfd0000, 0x00000303, 0xfffffcfd, 0x06060606, 0xf9f9f9fa, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0x00000000, 0x04040404, 0xfbfbfbfc, + 0x04040000, 0xfbfc0000, 0x00000404, 0xfffffbfc, 0x08080404, 0xf7f7fbfc, 0x04040808, 0x00000000, + 0x04040404, 0xfbfbfbfc, 0x04040000, 0xfbfc0000, 0x00000404, 0xfffffbfc, 0x08080404, 0xf7f7fbfc, + 0x04040808, 0x00000000, 0x04040404, 0xfbfbfbfc, 0x04040000, 0xfbfc0000, 0x00000404, 0xfffffbfc, + 0x08080404, 0xf7f7fbfc, 0x04040808, 0x00000000, 0x04040404, 0xfbfbfbfc, 0x04040000, 0xfbfc0000, + 0x00000404, 0xfffffbfc, 0x08080404, 0xf7f7fbfc, 0x04040808, 0x00000000, 0x04040404, 0xfbfbfbfc, + 0x04040000, 0xfbfc0000, 0x00000404, 0xfffffbfc, 0x08080404, 0xf7f7fbfc, 0x04040808, 0x00000000, + 0x04040404, 0xfbfbfbfc, 0x04040000, 0xfbfc0000, 0x00000404, 0xfffffbfc, 0x08080404, 0xf7f7fbfc, + 0x04040808, 0x00000000, 0x04040404, 0xfbfbfbfc, 0x04040000, 0xfbfc0000, 0x00000404, 0xfffffbfc, + 0x08080404, 0xf7f7fbfc, 0x04040808, 0x00000000, 0x04040404, 0xfbfbfbfc, 0x04040000, 0xfbfc0000, + 0x00000404, 0xfffffbfc, 0x08080404, 0xf7f7fbfc, 0x04040808, 0x00000000, 0x04040404, 0xfbfbfbfc, + 0x04040000, 0xfbfc0000, 0x00000404, 0xfffffbfc, 0x08080404, 0xf7f7fbfc, 0x04040808, 0x00000000, + 0x04040404, 0xfbfbfbfc, 0x04040000, 0xfbfc0000, 0x00000404, 0xfffffbfc, 0x08080404, 0xf7f7fbfc, + 0x04040808, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0x00000000, 0x05050505, 0xfafafafb, 0x05050000, 0xfafb0000, + 0x00000505, 0xfffffafb, 0x0a0a0a0a, 0xf5f5f5f6, 0x0f0f0505, 0xf0f0fafb, 0x00000000, 0x05050505, + 0xfafafafb, 0x05050000, 0xfafb0000, 0x00000505, 0xfffffafb, 0x0a0a0a0a, 0xf5f5f5f6, 0x0f0f0505, + 0xf0f0fafb, 0x00000000, 0x05050505, 0xfafafafb, 0x05050000, 0xfafb0000, 0x00000505, 0xfffffafb, + 0x0a0a0a0a, 0xf5f5f5f6, 0x0f0f0505, 0xf0f0fafb, 0x00000000, 0x05050505, 0xfafafafb, 0x05050000, + 0xfafb0000, 0x00000505, 0xfffffafb, 0x0a0a0a0a, 0xf5f5f5f6, 0x0f0f0505, 0xf0f0fafb, 0x00000000, + 0x05050505, 0xfafafafb, 0x05050000, 0xfafb0000, 0x00000505, 0xfffffafb, 0x0a0a0a0a, 0xf5f5f5f6, + 0x0f0f0505, 0xf0f0fafb, 0x00000000, 0x05050505, 0xfafafafb, 0x05050000, 0xfafb0000, 0x00000505, + 0xfffffafb, 0x0a0a0a0a, 0xf5f5f5f6, 0x0f0f0505, 0xf0f0fafb, 0x00000000, 0x05050505, 0xfafafafb, + 0x05050000, 0xfafb0000, 0x00000505, 0xfffffafb, 0x0a0a0a0a, 0xf5f5f5f6, 0x0f0f0505, 0xf0f0fafb, + 0x00000000, 0x05050505, 0xfafafafb, 0x05050000, 0xfafb0000, 0x00000505, 0xfffffafb, 0x0a0a0a0a, + 0xf5f5f5f6, 0x0f0f0505, 0xf0f0fafb, 0x00000000, 0x05050505, 0xfafafafb, 0x05050000, 0xfafb0000, + 0x00000505, 0xfffffafb, 0x0a0a0a0a, 0xf5f5f5f6, 0x0f0f0505, 0xf0f0fafb, 0x00000000, 0x05050505, + 0xfafafafb, 0x05050000, 0xfafb0000, 0x00000505, 0xfffffafb, 0x0a0a0a0a, 0xf5f5f5f6, 0x0f0f0505, + 0xf0f0fafb, 0x00000000, 0x05050505, 0xfafafafb, 0x05050000, 0xfafb0000, 0x00000505, 0xfffffafb, + 0x0a0a0a0a, 0xf5f5f5f6, 0x0f0f0505, 0xf0f0fafb, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0x00000000, 0x06060606, 0xf9f9f9fa, + 0x06060000, 0xf9fa0000, 0x00000606, 0xfffff9fa, 0x0c0c0c0c, 0xf3f3f3f4, 0x0c0c0606, 0xf3f3f9fa, + 0x06060c0c, 0x00000000, 0x06060606, 0xf9f9f9fa, 0x06060000, 0xf9fa0000, 0x00000606, 0xfffff9fa, + 0x0c0c0c0c, 0xf3f3f3f4, 0x0c0c0606, 0xf3f3f9fa, 0x06060c0c, 0x00000000, 0x06060606, 0xf9f9f9fa, + 0x06060000, 0xf9fa0000, 0x00000606, 0xfffff9fa, 0x0c0c0c0c, 0xf3f3f3f4, 0x0c0c0606, 0xf3f3f9fa, + 0x06060c0c, 0x00000000, 0x06060606, 0xf9f9f9fa, 0x06060000, 0xf9fa0000, 0x00000606, 0xfffff9fa, + 0x0c0c0c0c, 0xf3f3f3f4, 0x0c0c0606, 0xf3f3f9fa, 0x06060c0c, 0x00000000, 0x06060606, 0xf9f9f9fa, + 0x06060000, 0xf9fa0000, 0x00000606, 0xfffff9fa, 0x0c0c0c0c, 0xf3f3f3f4, 0x0c0c0606, 0xf3f3f9fa, + 0x06060c0c, 0x00000000, 0x06060606, 0xf9f9f9fa, 0x06060000, 0xf9fa0000, 0x00000606, 0xfffff9fa, + 0x0c0c0c0c, 0xf3f3f3f4, 0x0c0c0606, 0xf3f3f9fa, 0x06060c0c, 0x00000000, 0x06060606, 0xf9f9f9fa, + 0x06060000, 0xf9fa0000, 0x00000606, 0xfffff9fa, 0x0c0c0c0c, 0xf3f3f3f4, 0x0c0c0606, 0xf3f3f9fa, + 0x06060c0c, 0x00000000, 0x06060606, 0xf9f9f9fa, 0x06060000, 0xf9fa0000, 0x00000606, 0xfffff9fa, + 0x0c0c0c0c, 0xf3f3f3f4, 0x0c0c0606, 0xf3f3f9fa, 0x06060c0c, 0x00000000, 0x06060606, 0xf9f9f9fa, + 0x06060000, 0xf9fa0000, 0x00000606, 0xfffff9fa, 0x0c0c0c0c, 0xf3f3f3f4, 0x0c0c0606, 0xf3f3f9fa, + 0x06060c0c, 0x00000000, 0x06060606, 0xf9f9f9fa, 0x06060000, 0xf9fa0000, 0x00000606, 0xfffff9fa, + 0x0c0c0c0c, 0xf3f3f3f4, 0x0c0c0606, 0xf3f3f9fa, 0x06060c0c, 0x00000000, 0x06060606, 0xf9f9f9fa, + 0x06060000, 0xf9fa0000, 0x00000606, 0xfffff9fa, 0x0c0c0c0c, 0xf3f3f3f4, 0x0c0c0606, 0xf3f3f9fa, + 0x06060c0c, 0x00000000, 0x06060606, 0xf9f9f9fa, 0x06060000, 0xf9fa0000, 0x00000606, 0xfffff9fa, + 0x0c0c0c0c, 0xf3f3f3f4, 0x0c0c0606, 0xf3f3f9fa, 0x06060c0c, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0x00000000, 0x07070707, 0xf8f8f8f9, + 0x07070000, 0xf8f90000, 0x00000707, 0xfffff8f9, 0x0e0e0e0e, 0xf1f1f1f2, 0x15150707, 0xeaeaf8f9, + 0x07071515, 0x00000000, 0x07070707, 0xf8f8f8f9, 0x07070000, 0xf8f90000, 0x00000707, 0xfffff8f9, + 0x0e0e0e0e, 0xf1f1f1f2, 0x15150707, 0xeaeaf8f9, 0x07071515, 0x00000000, 0x07070707, 0xf8f8f8f9, + 0x07070000, 0xf8f90000, 0x00000707, 0xfffff8f9, 0x0e0e0e0e, 0xf1f1f1f2, 0x15150707, 0xeaeaf8f9, + 0x07071515, 0x00000000, 0x07070707, 0xf8f8f8f9, 0x07070000, 0xf8f90000, 0x00000707, 0xfffff8f9, + 0x0e0e0e0e, 0xf1f1f1f2, 0x15150707, 0xeaeaf8f9, 0x07071515, 0x00000000, 0x07070707, 0xf8f8f8f9, + 0x07070000, 0xf8f90000, 0x00000707, 0xfffff8f9, 0x0e0e0e0e, 0xf1f1f1f2, 0x15150707, 0xeaeaf8f9, + 0x07071515, 0x00000000, 0x07070707, 0xf8f8f8f9, 0x07070000, 0xf8f90000, 0x00000707, 0xfffff8f9, + 0x0e0e0e0e, 0xf1f1f1f2, 0x15150707, 0xeaeaf8f9, 0x07071515, 0x00000000, 0x07070707, 0xf8f8f8f9, + 0x07070000, 0xf8f90000, 0x00000707, 0xfffff8f9, 0x0e0e0e0e, 0xf1f1f1f2, 0x15150707, 0xeaeaf8f9, + 0x07071515, 0x00000000, 0x07070707, 0xf8f8f8f9, 0x07070000, 0xf8f90000, 0x00000707, 0xfffff8f9, + 0x0e0e0e0e, 0xf1f1f1f2, 0x15150707, 0xeaeaf8f9, 0x07071515, 0x00000000, 0x07070707, 0xf8f8f8f9, + 0x07070000, 0xf8f90000, 0x00000707, 0xfffff8f9, 0x0e0e0e0e, 0xf1f1f1f2, 0x15150707, 0xeaeaf8f9, + 0x07071515, 0x00000000, 0x07070707, 0xf8f8f8f9, 0x07070000, 0xf8f90000, 0x00000707, 0xfffff8f9, + 0x0e0e0e0e, 0xf1f1f1f2, 0x15150707, 0xeaeaf8f9, 0x07071515, 0x00000000, 0x07070707, 0xf8f8f8f9, + 0x07070000, 0xf8f90000, 0x00000707, 0xfffff8f9, 0x0e0e0e0e, 0xf1f1f1f2, 0x15150707, 0xeaeaf8f9, + 0x07071515, 0x00000000, 0x07070707, 0xf8f8f8f9, 0x07070000, 0xf8f90000, 0x00000707, 0xfffff8f9, + 0x0e0e0e0e, 0xf1f1f1f2, 0x15150707, 0xeaeaf8f9, 0x07071515, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0x00000000, + 0x08080808, 0xf7f7f7f8, 0x08080000, 0xf7f80000, 0x00000808, 0xfffff7f8, 0x10101010, 0xefefeff0, + 0x10100808, 0xefeff7f8, 0x08081010, 0x00000000, 0x08080808, 0xf7f7f7f8, 0x08080000, 0xf7f80000, + 0x00000808, 0xfffff7f8, 0x10101010, 0xefefeff0, 0x10100808, 0xefeff7f8, 0x08081010, 0x00000000, + 0x08080808, 0xf7f7f7f8, 0x08080000, 0xf7f80000, 0x00000808, 0xfffff7f8, 0x10101010, 0xefefeff0, + 0x10100808, 0xefeff7f8, 0x08081010, 0x00000000, 0x08080808, 0xf7f7f7f8, 0x08080000, 0xf7f80000, + 0x00000808, 0xfffff7f8, 0x10101010, 0xefefeff0, 0x10100808, 0xefeff7f8, 0x08081010, 0x00000000, + 0x08080808, 0xf7f7f7f8, 0x08080000, 0xf7f80000, 0x00000808, 0xfffff7f8, 0x10101010, 0xefefeff0, + 0x10100808, 0xefeff7f8, 0x08081010, 0x00000000, 0x08080808, 0xf7f7f7f8, 0x08080000, 0xf7f80000, + 0x00000808, 0xfffff7f8, 0x10101010, 0xefefeff0, 0x10100808, 0xefeff7f8, 0x08081010, 0x00000000, + 0x08080808, 0xf7f7f7f8, 0x08080000, 0xf7f80000, 0x00000808, 0xfffff7f8, 0x10101010, 0xefefeff0, + 0x10100808, 0xefeff7f8, 0x08081010, 0x00000000, 0x08080808, 0xf7f7f7f8, 0x08080000, 0xf7f80000, + 0x00000808, 0xfffff7f8, 0x10101010, 0xefefeff0, 0x10100808, 0xefeff7f8, 0x08081010, 0x00000000, + 0x08080808, 0xf7f7f7f8, 0x08080000, 0xf7f80000, 0x00000808, 0xfffff7f8, 0x10101010, 0xefefeff0, + 0x10100808, 0xefeff7f8, 0x08081010, 0x00000000, 0x08080808, 0xf7f7f7f8, 0x08080000, 0xf7f80000, + 0x00000808, 0xfffff7f8, 0x10101010, 0xefefeff0, 0x10100808, 0xefeff7f8, 0x08081010, 0x00000000, + 0x08080808, 0xf7f7f7f8, 0x08080000, 0xf7f80000, 0x00000808, 0xfffff7f8, 0x10101010, 0xefefeff0, + 0x10100808, 0xefeff7f8, 0x08081010, 0x00000000, 0x08080808, 0xf7f7f7f8, 0x08080000, 0xf7f80000, + 0x00000808, 0xfffff7f8, 0x10101010, 0xefefeff0, 0x10100808, 0xefeff7f8, 0x08081010, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0x00000000, 0x09090909, 0xf6f6f6f7, + 0x09090000, 0xf6f70000, 0x00000909, 0xfffff6f7, 0x12121212, 0xedededee, 0x1b1b0909, 0xe4e4f6f7, + 0x09091b1b, 0xf6f6e4e5, 0x00000000, 0x09090909, 0xf6f6f6f7, 0x09090000, 0xf6f70000, 0x00000909, + 0xfffff6f7, 0x12121212, 0xedededee, 0x1b1b0909, 0xe4e4f6f7, 0x09091b1b, 0xf6f6e4e5, 0x00000000, + 0x09090909, 0xf6f6f6f7, 0x09090000, 0xf6f70000, 0x00000909, 0xfffff6f7, 0x12121212, 0xedededee, + 0x1b1b0909, 0xe4e4f6f7, 0x09091b1b, 0xf6f6e4e5, 0x00000000, 0x09090909, 0xf6f6f6f7, 0x09090000, + 0xf6f70000, 0x00000909, 0xfffff6f7, 0x12121212, 0xedededee, 0x1b1b0909, 0xe4e4f6f7, 0x09091b1b, + 0xf6f6e4e5, 0x00000000, 0x09090909, 0xf6f6f6f7, 0x09090000, 0xf6f70000, 0x00000909, 0xfffff6f7, + 0x12121212, 0xedededee, 0x1b1b0909, 0xe4e4f6f7, 0x09091b1b, 0xf6f6e4e5, 0x00000000, 0x09090909, + 0xf6f6f6f7, 0x09090000, 0xf6f70000, 0x00000909, 0xfffff6f7, 0x12121212, 0xedededee, 0x1b1b0909, + 0xe4e4f6f7, 0x09091b1b, 0xf6f6e4e5, 0x00000000, 0x09090909, 0xf6f6f6f7, 0x09090000, 0xf6f70000, + 0x00000909, 0xfffff6f7, 0x12121212, 0xedededee, 0x1b1b0909, 0xe4e4f6f7, 0x09091b1b, 0xf6f6e4e5, + 0x00000000, 0x09090909, 0xf6f6f6f7, 0x09090000, 0xf6f70000, 0x00000909, 0xfffff6f7, 0x12121212, + 0xedededee, 0x1b1b0909, 0xe4e4f6f7, 0x09091b1b, 0xf6f6e4e5, 0x00000000, 0x09090909, 0xf6f6f6f7, + 0x09090000, 0xf6f70000, 0x00000909, 0xfffff6f7, 0x12121212, 0xedededee, 0x1b1b0909, 0xe4e4f6f7, + 0x09091b1b, 0xf6f6e4e5, 0x00000000, 0x09090909, 0xf6f6f6f7, 0x09090000, 0xf6f70000, 0x00000909, + 0xfffff6f7, 0x12121212, 0xedededee, 0x1b1b0909, 0xe4e4f6f7, 0x09091b1b, 0xf6f6e4e5, 0x00000000, + 0x09090909, 0xf6f6f6f7, 0x09090000, 0xf6f70000, 0x00000909, 0xfffff6f7, 0x12121212, 0xedededee, + 0x1b1b0909, 0xe4e4f6f7, 0x09091b1b, 0xf6f6e4e5, 0x00000000, 0x09090909, 0xf6f6f6f7, 0x09090000, + 0xf6f70000, 0x00000909, 0xfffff6f7, 0x12121212, 0xedededee, 0x1b1b0909, 0xe4e4f6f7, 0x09091b1b, + 0xf6f6e4e5, 0x00000000, 0x09090909, 0xf6f6f6f7, 0x09090000, 0xf6f70000, 0x00000909, 0xfffff6f7, + 0x12121212, 0xedededee, 0x1b1b0909, 0xe4e4f6f7, 0x09091b1b, 0xf6f6e4e5, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x02020202, 0x02020202, 0x02020202, 0x02020202, 0x02020202, + 0x02020202, 0x02020202, 0x02020202, 0x02020202, 0x02020202, 0x02020202, 0xfdfdfdfe, 0xfdfdfdfe, + 0xfdfdfdfe, 0xfdfdfdfe, 0xfdfdfdfe, 0xfdfdfdfe, 0xfdfdfdfe, 0xfdfdfdfe, 0xfdfdfdfe, 0xfdfdfdfe, + 0xfdfdfdfe, 0x03030000, 0x03030000, 0x03030000, 0x03030000, 0x03030000, 0x03030000, 0x03030000, + 0x03030000, 0x03030000, 0x03030000, 0x03030000, 0xfcfd0000, 0xfcfd0000, 0xfcfd0000, 0xfcfd0000, + 0xfcfd0000, 0xfcfd0000, 0xfcfd0000, 0xfcfd0000, 0xfcfd0000, 0xfcfd0000, 0xfcfd0000, 0x00000303, + 0x00000303, 0x00000303, 0x00000303, 0x00000303, 0x00000303, 0x00000303, 0x00000303, 0x00000303, + 0x00000303, 0x00000303, 0xfffffcfd, 0xfffffcfd, 0xfffffcfd, 0xfffffcfd, 0xfffffcfd, 0xfffffcfd, + 0xfffffcfd, 0xfffffcfd, 0xfffffcfd, 0xfffffcfd, 0xfffffcfd, 0x06060606, 0x06060606, 0x06060606, + 0x06060606, 0x06060606, 0x06060606, 0x06060606, 0x06060606, 0x06060606, 0x06060606, 0x06060606, + 0xf9f9f9fa, 0xf9f9f9fa, 0xf9f9f9fa, 0xf9f9f9fa, 0xf9f9f9fa, 0xf9f9f9fa, 0xf9f9f9fa, 0xf9f9f9fa, + 0xf9f9f9fa, 0xf9f9f9fa, 0xf9f9f9fa, 0x07070000, 0x07070000, 0x07070000, 0x07070000, 0x07070000, + 0x07070000, 0x07070000, 0x07070000, 0x07070000, 0x07070000, 0x07070000, 0xf8f90000, 0xf8f90000, + 0xf8f90000, 0xf8f90000, 0xf8f90000, 0xf8f90000, 0xf8f90000, 0xf8f90000, 0xf8f90000, 0xf8f90000, + 0xf8f90000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x02020000, 0x02020000, 0x02020000, 0x02020000, + 0x02020000, 0x02020000, 0x02020000, 0x02020000, 0x02020000, 0x02020000, 0x02020000, 0x02020000, + 0x02020000, 0xfdfe0000, 0xfdfe0000, 0xfdfe0000, 0xfdfe0000, 0xfdfe0000, 0xfdfe0000, 0xfdfe0000, + 0xfdfe0000, 0xfdfe0000, 0xfdfe0000, 0xfdfe0000, 0xfdfe0000, 0xfdfe0000, 0x00000202, 0x00000202, + 0x00000202, 0x00000202, 0x00000202, 0x00000202, 0x00000202, 0x00000202, 0x00000202, 0x00000202, + 0x00000202, 0x00000202, 0x00000202, 0xfffffdfe, 0xfffffdfe, 0xfffffdfe, 0xfffffdfe, 0xfffffdfe, + 0xfffffdfe, 0xfffffdfe, 0xfffffdfe, 0xfffffdfe, 0xfffffdfe, 0xfffffdfe, 0xfffffdfe, 0xfffffdfe, + 0x02020202, 0x02020202, 0x02020202, 0x02020202, 0x02020202, 0x02020202, 0x02020202, 0x02020202, + 0x02020202, 0x02020202, 0x02020202, 0x02020202, 0x02020202, 0xfdfdfdfe, 0xfdfdfdfe, 0xfdfdfdfe, + 0xfdfdfdfe, 0xfdfdfdfe, 0xfdfdfdfe, 0xfdfdfdfe, 0xfdfdfdfe, 0xfdfdfdfe, 0xfdfdfdfe, 0xfdfdfdfe, + 0xfdfdfdfe, 0xfdfdfdfe, 0x06060606, 0x06060606, 0x06060606, 0x06060606, 0x06060606, 0x06060606, + 0x06060606, 0x06060606, 0x06060606, 0x06060606, 0x06060606, 0x06060606, 0x06060606, 0xf9f9f9fa, + 0xf9f9f9fa, 0xf9f9f9fa, 0xf9f9f9fa, 0xf9f9f9fa, 0xf9f9f9fa, 0xf9f9f9fa, 0xf9f9f9fa, 0xf9f9f9fa, + 0xf9f9f9fa, 0xf9f9f9fa, 0xf9f9f9fa, 0xf9f9f9fa, 0x06060000, 0x06060000, 0x06060000, 0x06060000, + 0x06060000, 0x06060000, 0x06060000, 0x06060000, 0x06060000, 0x06060000, 0x06060000, 0x06060000, + 0x06060000, 0xf9fa0000, 0xf9fa0000, 0xf9fa0000, 0xf9fa0000, 0xf9fa0000, 0xf9fa0000, 0xf9fa0000, + 0xf9fa0000, 0xf9fa0000, 0xf9fa0000, 0xf9fa0000, 0xf9fa0000, 0xf9fa0000, 0x00000606, 0x00000606, + 0x00000606, 0x00000606, 0x00000606, 0x00000606, 0x00000606, 0x00000606, 0x00000606, 0x00000606, + 0x00000606, 0x00000606, 0x00000606, 0xfffff9fa, 0xfffff9fa, 0xfffff9fa, 0xfffff9fa, 0xfffff9fa, + 0xfffff9fa, 0xfffff9fa, 0xfffff9fa, 0xfffff9fa, 0xfffff9fa, 0xfffff9fa, 0xfffff9fa, 0xfffff9fa, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x02020000, 0x02020000, 0x02020000, 0x02020000, + 0x02020000, 0x02020000, 0x02020000, 0x02020000, 0x02020000, 0x02020000, 0x02020000, 0x02020000, + 0x02020000, 0xfdfe0000, 0xfdfe0000, 0xfdfe0000, 0xfdfe0000, 0xfdfe0000, 0xfdfe0000, 0xfdfe0000, + 0xfdfe0000, 0xfdfe0000, 0xfdfe0000, 0xfdfe0000, 0xfdfe0000, 0xfdfe0000, 0x00000202, 0x00000202, + 0x00000202, 0x00000202, 0x00000202, 0x00000202, 0x00000202, 0x00000202, 0x00000202, 0x00000202, + 0x00000202, 0x00000202, 0x00000202, 0xfffffdfe, 0xfffffdfe, 0xfffffdfe, 0xfffffdfe, 0xfffffdfe, + 0xfffffdfe, 0xfffffdfe, 0xfffffdfe, 0xfffffdfe, 0xfffffdfe, 0xfffffdfe, 0xfffffdfe, 0xfffffdfe, + 0x04040404, 0x04040404, 0x04040404, 0x04040404, 0x04040404, 0x04040404, 0x04040404, 0x04040404, + 0x04040404, 0x04040404, 0x04040404, 0x04040404, 0x04040404, 0xfbfbfbfc, 0xfbfbfbfc, 0xfbfbfbfc, + 0xfbfbfbfc, 0xfbfbfbfc, 0xfbfbfbfc, 0xfbfbfbfc, 0xfbfbfbfc, 0xfbfbfbfc, 0xfbfbfbfc, 0xfbfbfbfc, + 0xfbfbfbfc, 0xfbfbfbfc, 0x0a0a0a0a, 0x0a0a0a0a, 0x0a0a0a0a, 0x0a0a0a0a, 0x0a0a0a0a, 0x0a0a0a0a, + 0x0a0a0a0a, 0x0a0a0a0a, 0x0a0a0a0a, 0x0a0a0a0a, 0x0a0a0a0a, 0x0a0a0a0a, 0x0a0a0a0a, 0xf5f5f5f6, + 0xf5f5f5f6, 0xf5f5f5f6, 0xf5f5f5f6, 0xf5f5f5f6, 0xf5f5f5f6, 0xf5f5f5f6, 0xf5f5f5f6, 0xf5f5f5f6, + 0xf5f5f5f6, 0xf5f5f5f6, 0xf5f5f5f6, 0xf5f5f5f6, 0x0a0a0000, 0x0a0a0000, 0x0a0a0000, 0x0a0a0000, + 0x0a0a0000, 0x0a0a0000, 0x0a0a0000, 0x0a0a0000, 0x0a0a0000, 0x0a0a0000, 0x0a0a0000, 0x0a0a0000, + 0x0a0a0000, 0xf5f60000, 0xf5f60000, 0xf5f60000, 0xf5f60000, 0xf5f60000, 0xf5f60000, 0xf5f60000, + 0xf5f60000, 0xf5f60000, 0xf5f60000, 0xf5f60000, 0xf5f60000, 0xf5f60000, 0x00000a0a, 0x00000a0a, + 0x00000a0a, 0x00000a0a, 0x00000a0a, 0x00000a0a, 0x00000a0a, 0x00000a0a, 0x00000a0a, 0x00000a0a, + 0x00000a0a, 0x00000a0a, 0x00000a0a, 0xfffff5f6, 0xfffff5f6, 0xfffff5f6, 0xfffff5f6, 0xfffff5f6, + 0xfffff5f6, 0xfffff5f6, 0xfffff5f6, 0xfffff5f6, 0xfffff5f6, 0xfffff5f6, 0xfffff5f6, 0xfffff5f6, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x04040000, 0x04040000, 0x04040000, 0x04040000, + 0x04040000, 0x04040000, 0x04040000, 0x04040000, 0x04040000, 0x04040000, 0x04040000, 0x04040000, + 0x04040000, 0xfbfc0000, 0xfbfc0000, 0xfbfc0000, 0xfbfc0000, 0xfbfc0000, 0xfbfc0000, 0xfbfc0000, + 0xfbfc0000, 0xfbfc0000, 0xfbfc0000, 0xfbfc0000, 0xfbfc0000, 0xfbfc0000, 0x00000404, 0x00000404, + 0x00000404, 0x00000404, 0x00000404, 0x00000404, 0x00000404, 0x00000404, 0x00000404, 0x00000404, + 0x00000404, 0x00000404, 0x00000404, 0xfffffbfc, 0xfffffbfc, 0xfffffbfc, 0xfffffbfc, 0xfffffbfc, + 0xfffffbfc, 0xfffffbfc, 0xfffffbfc, 0xfffffbfc, 0xfffffbfc, 0xfffffbfc, 0xfffffbfc, 0xfffffbfc, + 0x04040404, 0x04040404, 0x04040404, 0x04040404, 0x04040404, 0x04040404, 0x04040404, 0x04040404, + 0x04040404, 0x04040404, 0x04040404, 0x04040404, 0x04040404, 0xfbfbfbfc, 0xfbfbfbfc, 0xfbfbfbfc, + 0xfbfbfbfc, 0xfbfbfbfc, 0xfbfbfbfc, 0xfbfbfbfc, 0xfbfbfbfc, 0xfbfbfbfc, 0xfbfbfbfc, 0xfbfbfbfc, + 0xfbfbfbfc, 0xfbfbfbfc, 0x0c0c0c0c, 0x0c0c0c0c, 0x0c0c0c0c, 0x0c0c0c0c, 0x0c0c0c0c, 0x0c0c0c0c, + 0x0c0c0c0c, 0x0c0c0c0c, 0x0c0c0c0c, 0x0c0c0c0c, 0x0c0c0c0c, 0x0c0c0c0c, 0x0c0c0c0c, 0xf3f3f3f4, + 0xf3f3f3f4, 0xf3f3f3f4, 0xf3f3f3f4, 0xf3f3f3f4, 0xf3f3f3f4, 0xf3f3f3f4, 0xf3f3f3f4, 0xf3f3f3f4, + 0xf3f3f3f4, 0xf3f3f3f4, 0xf3f3f3f4, 0xf3f3f3f4, 0x0c0c0000, 0x0c0c0000, 0x0c0c0000, 0x0c0c0000, + 0x0c0c0000, 0x0c0c0000, 0x0c0c0000, 0x0c0c0000, 0x0c0c0000, 0x0c0c0000, 0x0c0c0000, 0x0c0c0000, + 0x0c0c0000, 0xf3f40000, 0xf3f40000, 0xf3f40000, 0xf3f40000, 0xf3f40000, 0xf3f40000, 0xf3f40000, + 0xf3f40000, 0xf3f40000, 0xf3f40000, 0xf3f40000, 0xf3f40000, 0xf3f40000, 0x00000c0c, 0x00000c0c, + 0x00000c0c, 0x00000c0c, 0x00000c0c, 0x00000c0c, 0x00000c0c, 0x00000c0c, 0x00000c0c, 0x00000c0c, + 0x00000c0c, 0x00000c0c, 0x00000c0c, 0xfffff3f4, 0xfffff3f4, 0xfffff3f4, 0xfffff3f4, 0xfffff3f4, + 0xfffff3f4, 0xfffff3f4, 0xfffff3f4, 0xfffff3f4, 0xfffff3f4, 0xfffff3f4, 0xfffff3f4, 0xfffff3f4, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x02020202, 0x02020202, 0x02020202, 0x02020202, + 0x02020202, 0x02020202, 0x02020202, 0x02020202, 0x02020202, 0x02020202, 0x02020202, 0x02020202, + 0x02020202, 0xfdfdfdfe, 0xfdfdfdfe, 0xfdfdfdfe, 0xfdfdfdfe, 0xfdfdfdfe, 0xfdfdfdfe, 0xfdfdfdfe, + 0xfdfdfdfe, 0xfdfdfdfe, 0xfdfdfdfe, 0xfdfdfdfe, 0xfdfdfdfe, 0xfdfdfdfe, 0x06060606, 0x06060606, + 0x06060606, 0x06060606, 0x06060606, 0x06060606, 0x06060606, 0x06060606, 0x06060606, 0x06060606, + 0x06060606, 0x06060606, 0x06060606, 0xf9f9f9fa, 0xf9f9f9fa, 0xf9f9f9fa, 0xf9f9f9fa, 0xf9f9f9fa, + 0xf9f9f9fa, 0xf9f9f9fa, 0xf9f9f9fa, 0xf9f9f9fa, 0xf9f9f9fa, 0xf9f9f9fa, 0xf9f9f9fa, 0xf9f9f9fa, + 0x0c0c0c0c, 0x0c0c0c0c, 0x0c0c0c0c, 0x0c0c0c0c, 0x0c0c0c0c, 0x0c0c0c0c, 0x0c0c0c0c, 0x0c0c0c0c, + 0x0c0c0c0c, 0x0c0c0c0c, 0x0c0c0c0c, 0x0c0c0c0c, 0x0c0c0c0c, 0xf3f3f3f4, 0xf3f3f3f4, 0xf3f3f3f4, + 0xf3f3f3f4, 0xf3f3f3f4, 0xf3f3f3f4, 0xf3f3f3f4, 0xf3f3f3f4, 0xf3f3f3f4, 0xf3f3f3f4, 0xf3f3f3f4, + 0xf3f3f3f4, 0xf3f3f3f4, 0x14141414, 0x14141414, 0x14141414, 0x14141414, 0x14141414, 0x14141414, + 0x14141414, 0x14141414, 0x14141414, 0x14141414, 0x14141414, 0x14141414, 0x14141414, 0xebebebec, + 0xebebebec, 0xebebebec, 0xebebebec, 0xebebebec, 0xebebebec, 0xebebebec, 0xebebebec, 0xebebebec, + 0xebebebec, 0xebebebec, 0xebebebec, 0xebebebec, 0x20202020, 0x20202020, 0x20202020, 0x20202020, + 0x20202020, 0x20202020, 0x20202020, 0x20202020, 0x20202020, 0x20202020, 0x20202020, 0x20202020, + 0x20202020, 0xdfdfdfe0, 0xdfdfdfe0, 0xdfdfdfe0, 0xdfdfdfe0, 0xdfdfdfe0, 0xdfdfdfe0, 0xdfdfdfe0, + 0xdfdfdfe0, 0xdfdfdfe0, 0xdfdfdfe0, 0xdfdfdfe0, 0xdfdfdfe0, 0xdfdfdfe0, 0x2e2e2e2e, 0x2e2e2e2e, + 0x2e2e2e2e, 0x2e2e2e2e, 0x2e2e2e2e, 0x2e2e2e2e, 0x2e2e2e2e, 0x2e2e2e2e, 0x2e2e2e2e, 0x2e2e2e2e, + 0x2e2e2e2e, 0x2e2e2e2e, 0x2e2e2e2e, 0xd1d1d1d2, 0xd1d1d1d2, 0xd1d1d1d2, 0xd1d1d1d2, 0xd1d1d1d2, + 0xd1d1d1d2, 0xd1d1d1d2, 0xd1d1d1d2, 0xd1d1d1d2, 0xd1d1d1d2, 0xd1d1d1d2, 0xd1d1d1d2, 0xd1d1d1d2, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x02020202, 0x02020202, 0x02020202, 0x02020202, + 0x02020202, 0x02020202, 0x02020202, 0x02020202, 0x02020202, 0x02020202, 0x02020202, 0x02020202, + 0x02020202, 0xfdfdfdfe, 0xfdfdfdfe, 0xfdfdfdfe, 0xfdfdfdfe, 0xfdfdfdfe, 0xfdfdfdfe, 0xfdfdfdfe, + 0xfdfdfdfe, 0xfdfdfdfe, 0xfdfdfdfe, 0xfdfdfdfe, 0xfdfdfdfe, 0xfdfdfdfe, 0x06060606, 0x06060606, + 0x06060606, 0x06060606, 0x06060606, 0x06060606, 0x06060606, 0x06060606, 0x06060606, 0x06060606, + 0x06060606, 0x06060606, 0x06060606, 0xf9f9f9fa, 0xf9f9f9fa, 0xf9f9f9fa, 0xf9f9f9fa, 0xf9f9f9fa, + 0xf9f9f9fa, 0xf9f9f9fa, 0xf9f9f9fa, 0xf9f9f9fa, 0xf9f9f9fa, 0xf9f9f9fa, 0xf9f9f9fa, 0xf9f9f9fa, + 0x0c0c0c0c, 0x0c0c0c0c, 0x0c0c0c0c, 0x0c0c0c0c, 0x0c0c0c0c, 0x0c0c0c0c, 0x0c0c0c0c, 0x0c0c0c0c, + 0x0c0c0c0c, 0x0c0c0c0c, 0x0c0c0c0c, 0x0c0c0c0c, 0x0c0c0c0c, 0xf3f3f3f4, 0xf3f3f3f4, 0xf3f3f3f4, + 0xf3f3f3f4, 0xf3f3f3f4, 0xf3f3f3f4, 0xf3f3f3f4, 0xf3f3f3f4, 0xf3f3f3f4, 0xf3f3f3f4, 0xf3f3f3f4, + 0xf3f3f3f4, 0xf3f3f3f4, 0x14141414, 0x14141414, 0x14141414, 0x14141414, 0x14141414, 0x14141414, + 0x14141414, 0x14141414, 0x14141414, 0x14141414, 0x14141414, 0x14141414, 0x14141414, 0xebebebec, + 0xebebebec, 0xebebebec, 0xebebebec, 0xebebebec, 0xebebebec, 0xebebebec, 0xebebebec, 0xebebebec, + 0xebebebec, 0xebebebec, 0xebebebec, 0xebebebec, 0x20202020, 0x20202020, 0x20202020, 0x20202020, + 0x20202020, 0x20202020, 0x20202020, 0x20202020, 0x20202020, 0x20202020, 0x20202020, 0x20202020, + 0x20202020, 0xdfdfdfe0, 0xdfdfdfe0, 0xdfdfdfe0, 0xdfdfdfe0, 0xdfdfdfe0, 0xdfdfdfe0, 0xdfdfdfe0, + 0xdfdfdfe0, 0xdfdfdfe0, 0xdfdfdfe0, 0xdfdfdfe0, 0xdfdfdfe0, 0xdfdfdfe0, 0x2e2e2e2e, 0x2e2e2e2e, + 0x2e2e2e2e, 0x2e2e2e2e, 0x2e2e2e2e, 0x2e2e2e2e, 0x2e2e2e2e, 0x2e2e2e2e, 0x2e2e2e2e, 0x2e2e2e2e, + 0x2e2e2e2e, 0x2e2e2e2e, 0x2e2e2e2e, 0xd1d1d1d2, 0xd1d1d1d2, 0xd1d1d1d2, 0xd1d1d1d2, 0xd1d1d1d2, + 0xd1d1d1d2, 0xd1d1d1d2, 0xd1d1d1d2, 0xd1d1d1d2, 0xd1d1d1d2, 0xd1d1d1d2, 0xd1d1d1d2, 0xd1d1d1d2, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x02020202, 0x02020202, 0x02020202, 0x02020202, + 0x02020202, 0x02020202, 0x02020202, 0x02020202, 0x02020202, 0x02020202, 0x02020202, 0x02020202, + 0x02020202, 0xfdfdfdfe, 0xfdfdfdfe, 0xfdfdfdfe, 0xfdfdfdfe, 0xfdfdfdfe, 0xfdfdfdfe, 0xfdfdfdfe, + 0xfdfdfdfe, 0xfdfdfdfe, 0xfdfdfdfe, 0xfdfdfdfe, 0xfdfdfdfe, 0xfdfdfdfe, 0x06060606, 0x06060606, + 0x06060606, 0x06060606, 0x06060606, 0x06060606, 0x06060606, 0x06060606, 0x06060606, 0x06060606, + 0x06060606, 0x06060606, 0x06060606, 0xf9f9f9fa, 0xf9f9f9fa, 0xf9f9f9fa, 0xf9f9f9fa, 0xf9f9f9fa, + 0xf9f9f9fa, 0xf9f9f9fa, 0xf9f9f9fa, 0xf9f9f9fa, 0xf9f9f9fa, 0xf9f9f9fa, 0xf9f9f9fa, 0xf9f9f9fa, + 0x0c0c0c0c, 0x0c0c0c0c, 0x0c0c0c0c, 0x0c0c0c0c, 0x0c0c0c0c, 0x0c0c0c0c, 0x0c0c0c0c, 0x0c0c0c0c, + 0x0c0c0c0c, 0x0c0c0c0c, 0x0c0c0c0c, 0x0c0c0c0c, 0x0c0c0c0c, 0xf3f3f3f4, 0xf3f3f3f4, 0xf3f3f3f4, + 0xf3f3f3f4, 0xf3f3f3f4, 0xf3f3f3f4, 0xf3f3f3f4, 0xf3f3f3f4, 0xf3f3f3f4, 0xf3f3f3f4, 0xf3f3f3f4, + 0xf3f3f3f4, 0xf3f3f3f4, 0x14141414, 0x14141414, 0x14141414, 0x14141414, 0x14141414, 0x14141414, + 0x14141414, 0x14141414, 0x14141414, 0x14141414, 0x14141414, 0x14141414, 0x14141414, 0xebebebec, + 0xebebebec, 0xebebebec, 0xebebebec, 0xebebebec, 0xebebebec, 0xebebebec, 0xebebebec, 0xebebebec, + 0xebebebec, 0xebebebec, 0xebebebec, 0xebebebec, 0x20202020, 0x20202020, 0x20202020, 0x20202020, + 0x20202020, 0x20202020, 0x20202020, 0x20202020, 0x20202020, 0x20202020, 0x20202020, 0x20202020, + 0x20202020, 0xdfdfdfe0, 0xdfdfdfe0, 0xdfdfdfe0, 0xdfdfdfe0, 0xdfdfdfe0, 0xdfdfdfe0, 0xdfdfdfe0, + 0xdfdfdfe0, 0xdfdfdfe0, 0xdfdfdfe0, 0xdfdfdfe0, 0xdfdfdfe0, 0xdfdfdfe0, 0x2e2e2e2e, 0x2e2e2e2e, + 0x2e2e2e2e, 0x2e2e2e2e, 0x2e2e2e2e, 0x2e2e2e2e, 0x2e2e2e2e, 0x2e2e2e2e, 0x2e2e2e2e, 0x2e2e2e2e, + 0x2e2e2e2e, 0x2e2e2e2e, 0x2e2e2e2e, 0xd1d1d1d2, 0xd1d1d1d2, 0xd1d1d1d2, 0xd1d1d1d2, 0xd1d1d1d2, + 0xd1d1d1d2, 0xd1d1d1d2, 0xd1d1d1d2, 0xd1d1d1d2, 0xd1d1d1d2, 0xd1d1d1d2, 0xd1d1d1d2, 0xd1d1d1d2, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, + 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x02020202, 0x02020202, 0x02020202, 0x02020202, + 0x02020202, 0x02020202, 0x02020202, 0x02020202, 0x02020202, 0x02020202, 0x02020202, 0x02020202, + 0x02020202, 0xfdfdfdfe, 0xfdfdfdfe, 0xfdfdfdfe, 0xfdfdfdfe, 0xfdfdfdfe, 0xfdfdfdfe, 0xfdfdfdfe, + 0xfdfdfdfe, 0xfdfdfdfe, 0xfdfdfdfe, 0xfdfdfdfe, 0xfdfdfdfe, 0xfdfdfdfe, 0x06060606, 0x06060606, + 0x06060606, 0x06060606, 0x06060606, 0x06060606, 0x06060606, 0x06060606, 0x06060606, 0x06060606, + 0x06060606, 0x06060606, 0x06060606, 0xf9f9f9fa, 0xf9f9f9fa, 0xf9f9f9fa, 0xf9f9f9fa, 0xf9f9f9fa, + 0xf9f9f9fa, 0xf9f9f9fa, 0xf9f9f9fa, 0xf9f9f9fa, 0xf9f9f9fa, 0xf9f9f9fa, 0xf9f9f9fa, 0xf9f9f9fa, + 0x0c0c0c0c, 0x0c0c0c0c, 0x0c0c0c0c, 0x0c0c0c0c, 0x0c0c0c0c, 0x0c0c0c0c, 0x0c0c0c0c, 0x0c0c0c0c, + 0x0c0c0c0c, 0x0c0c0c0c, 0x0c0c0c0c, 0x0c0c0c0c, 0x0c0c0c0c, 0xf3f3f3f4, 0xf3f3f3f4, 0xf3f3f3f4, + 0xf3f3f3f4, 0xf3f3f3f4, 0xf3f3f3f4, 0xf3f3f3f4, 0xf3f3f3f4, 0xf3f3f3f4, 0xf3f3f3f4, 0xf3f3f3f4, + 0xf3f3f3f4, 0xf3f3f3f4, 0x14141414, 0x14141414, 0x14141414, 0x14141414, 0x14141414, 0x14141414, + 0x14141414, 0x14141414, 0x14141414, 0x14141414, 0x14141414, 0x14141414, 0x14141414, 0xebebebec, + 0xebebebec, 0xebebebec, 0xebebebec, 0xebebebec, 0xebebebec, 0xebebebec, 0xebebebec, 0xebebebec, + 0xebebebec, 0xebebebec, 0xebebebec, 0xebebebec, 0x20202020, 0x20202020, 0x20202020, 0x20202020, + 0x20202020, 0x20202020, 0x20202020, 0x20202020, 0x20202020, 0x20202020, 0x20202020, 0x20202020, + 0x20202020, 0xdfdfdfe0, 0xdfdfdfe0, 0xdfdfdfe0, 0xdfdfdfe0, 0xdfdfdfe0, 0xdfdfdfe0, 0xdfdfdfe0, + 0xdfdfdfe0, 0xdfdfdfe0, 0xdfdfdfe0, 0xdfdfdfe0, 0xdfdfdfe0, 0xdfdfdfe0, 0x2e2e2e2e, 0x2e2e2e2e, + 0x2e2e2e2e, 0x2e2e2e2e, 0x2e2e2e2e, 0x2e2e2e2e, 0x2e2e2e2e, 0x2e2e2e2e, 0x2e2e2e2e, 0x2e2e2e2e, + 0x2e2e2e2e, 0x2e2e2e2e, 0x2e2e2e2e, 0xd1d1d1d2, 0xd1d1d1d2, 0xd1d1d1d2, 0xd1d1d1d2, 0xd1d1d1d2, + 0xd1d1d1d2, 0xd1d1d1d2, 0xd1d1d1d2, 0xd1d1d1d2, 0xd1d1d1d2, 0xd1d1d1d2, 0xd1d1d1d2, 0xd1d1d1d2, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 +}; + +} // End of namespace Image diff --git a/image/codecs/indeo3.h b/image/codecs/indeo3.h new file mode 100644 index 0000000000..275cbc1654 --- /dev/null +++ b/image/codecs/indeo3.h @@ -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 "common/scummsys.h" + +/* Intel Indeo 3 decompressor, derived from ffmpeg. + * + * Original copyright note: + * Intel Indeo 3 (IV31, IV32, etc.) video decoder for ffmpeg + * written, produced, and directed by Alan Smithee + */ + +#ifndef IMAGE_CODECS_INDEO3_H +#define IMAGE_CODECS_INDEO3_H + +#include "image/codecs/codec.h" + +namespace Image { + +/** + * Intel Indeo 3 decoder. + * + * Used in video: + * - AVIDecoder + * - VMDDecoder + */ +class Indeo3Decoder : public Codec { +public: + Indeo3Decoder(uint16 width, uint16 height); + ~Indeo3Decoder(); + + const Graphics::Surface *decodeImage(Common::SeekableReadStream *stream); + Graphics::PixelFormat getPixelFormat() const; + + static bool isIndeo3(Common::SeekableReadStream &stream); + +private: + Graphics::Surface *_surface; + + Graphics::PixelFormat _pixelFormat; + + static const int _corrector_type_0[24]; + static const int _corrector_type_2[8]; + static const uint32 correction[]; + static const uint32 correctionloworder[]; + static const uint32 correctionhighorder[]; + + struct YUVBufs { + byte *Ybuf; + byte *Ubuf; + byte *Vbuf; + byte *the_buf; + uint32 the_buf_size; + uint16 y_w, y_h; + uint16 uv_w, uv_h; + }; + + YUVBufs _iv_frame[2]; + YUVBufs *_cur_frame; + YUVBufs *_ref_frame; + + byte *_ModPred; + uint16 *_corrector_type; + + void buildModPred(); + void allocFrames(); + + void decodeChunk(byte *cur, byte *ref, int width, int height, + const byte *buf1, uint32 fflags2, const byte *hdr, + const byte *buf2, int min_width_160); +}; + +} // End of namespace Image + +#endif diff --git a/image/codecs/jpeg.cpp b/image/codecs/jpeg.cpp new file mode 100644 index 0000000000..9e8ba5a7d3 --- /dev/null +++ b/image/codecs/jpeg.cpp @@ -0,0 +1,66 @@ +/* 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 "common/system.h" +#include "common/textconsole.h" +#include "graphics/surface.h" +#include "image/jpeg.h" + +#include "image/codecs/jpeg.h" + +namespace Common { +class SeekableReadStream; +} + +namespace Image { + +JPEGCodec::JPEGCodec() : Codec() { + _pixelFormat = g_system->getScreenFormat(); + _surface = NULL; +} + +JPEGCodec::~JPEGCodec() { + if (_surface) { + _surface->free(); + delete _surface; + } +} + +const Graphics::Surface *JPEGCodec::decodeImage(Common::SeekableReadStream *stream) { + JPEGDecoder jpeg; + + if (!jpeg.loadStream(*stream)) { + warning("Failed to decode JPEG frame"); + return 0; + } + + if (_surface) { + _surface->free(); + delete _surface; + } + + _surface = jpeg.getSurface()->convertTo(_pixelFormat); + + return _surface; +} + +} // End of namespace Image diff --git a/image/codecs/jpeg.h b/image/codecs/jpeg.h new file mode 100644 index 0000000000..d48604b067 --- /dev/null +++ b/image/codecs/jpeg.h @@ -0,0 +1,60 @@ +/* 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. + * + */ + +#ifndef IMAGE_CODECS_JPEG_H +#define IMAGE_CODECS_JPEG_H + +#include "image/codecs/codec.h" +#include "graphics/pixelformat.h" + +namespace Common { +class SeekableReadStream; +} + +namespace Graphics { +struct Surface; +} + +namespace Image { + +/** + * JPEG decoder. + * + * Used in video: + * - QuickTimeDecoder + */ +class JPEGCodec : public Codec { +public: + JPEGCodec(); + ~JPEGCodec(); + + const Graphics::Surface *decodeImage(Common::SeekableReadStream *stream); + Graphics::PixelFormat getPixelFormat() const { return _pixelFormat; } + +private: + Graphics::PixelFormat _pixelFormat; + Graphics::Surface *_surface; +}; + +} // End of namespace Image + +#endif diff --git a/image/codecs/mjpeg.cpp b/image/codecs/mjpeg.cpp new file mode 100644 index 0000000000..aa7e1d0ec4 --- /dev/null +++ b/image/codecs/mjpeg.cpp @@ -0,0 +1,217 @@ +/* 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. + * + */ + +// Based on LGPL MJPEG/AVI to JPEG/JFIF conversion code from libav +// Copyright (c) 2010 Adrian Daerr and Nicolas George +// That in turn was adapted from mjpeg2jpeg.c, with original copyright: +// Paris 2010 Adrian Daerr, public domain + +#include "common/memstream.h" +#include "common/system.h" +#include "common/textconsole.h" +#include "graphics/surface.h" +#include "image/jpeg.h" + +#include "image/codecs/mjpeg.h" + +namespace Common { +class SeekableReadStream; +} + +namespace Image { + +MJPEGDecoder::MJPEGDecoder() : Codec() { + _pixelFormat = g_system->getScreenFormat(); + _surface = 0; +} + +MJPEGDecoder::~MJPEGDecoder() { + if (_surface) { + _surface->free(); + delete _surface; + } +} + +// Header to be inserted +static const byte s_jpegHeader[] = { + 0xff, 0xd8, // SOI + 0xff, 0xe0, // APP0 + 0x00, 0x10, // APP0 header size (including + // this field, but excluding preceding) + 'J', 'F', 'I', 'F', 0x00, // ID string 'JFIF\0' + 0x01, 0x01, // version + 0x00, // bits per type + 0x00, 0x00, // X density + 0x00, 0x00, // Y density + 0x00, // X thumbnail size + 0x00 +}; + +enum { + DHT_SEGMENT_SIZE = 420 +}; + +static const byte s_dhtSegmentHead[] = { 0xFF, 0xC4, 0x01, 0xA2, 0x00 }; +static const byte s_dhtSegmentFrag[] = { + 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, + 0x0a, 0x0b, 0x01, 0x00, 0x03, 0x01, 0x01, 0x01, 0x01, 0x01, + 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00 +}; + +// Set up the standard Huffman tables (cf. JPEG standard section K.3) +// IMPORTANT: these are only valid for 8-bit data precision! +static const byte s_mjpegBitsDCLuminance[17] = { + /* 0-base */ 0, 0, 1, 5, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0 +}; + +static const byte s_mjpegValDC[12] = { + 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 +}; + +static const byte s_mjpegBitsDCChrominance[17] = { + /* 0-base */ 0, 0, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0 +}; + +static const byte s_mjpegBitsACLuminance[17] = { + /* 0-base */ 0, 0, 2, 1, 3, 3, 2, 4, 3, 5, 5, 4, 4, 0, 0, 1, 0x7d +}; + +static const byte s_mjpegValACLuminance[] = { + 0x01, 0x02, 0x03, 0x00, 0x04, 0x11, 0x05, 0x12, + 0x21, 0x31, 0x41, 0x06, 0x13, 0x51, 0x61, 0x07, + 0x22, 0x71, 0x14, 0x32, 0x81, 0x91, 0xa1, 0x08, + 0x23, 0x42, 0xb1, 0xc1, 0x15, 0x52, 0xd1, 0xf0, + 0x24, 0x33, 0x62, 0x72, 0x82, 0x09, 0x0a, 0x16, + 0x17, 0x18, 0x19, 0x1a, 0x25, 0x26, 0x27, 0x28, + 0x29, 0x2a, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, + 0x3a, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, + 0x4a, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, + 0x5a, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69, + 0x6a, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78, 0x79, + 0x7a, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, + 0x8a, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97, 0x98, + 0x99, 0x9a, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7, + 0xa8, 0xa9, 0xaa, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, + 0xb7, 0xb8, 0xb9, 0xba, 0xc2, 0xc3, 0xc4, 0xc5, + 0xc6, 0xc7, 0xc8, 0xc9, 0xca, 0xd2, 0xd3, 0xd4, + 0xd5, 0xd6, 0xd7, 0xd8, 0xd9, 0xda, 0xe1, 0xe2, + 0xe3, 0xe4, 0xe5, 0xe6, 0xe7, 0xe8, 0xe9, 0xea, + 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 0xf8, + 0xf9, 0xfa +}; + +static const byte s_mjpegBitsACChrominance[17] = { + /* 0-base */ 0, 0, 2, 1, 2, 4, 4, 3, 4, 7, 5, 4, 4, 0, 1, 2, 0x77 +}; + +static const byte s_mjpegValACChrominance[] = { + 0x00, 0x01, 0x02, 0x03, 0x11, 0x04, 0x05, 0x21, + 0x31, 0x06, 0x12, 0x41, 0x51, 0x07, 0x61, 0x71, + 0x13, 0x22, 0x32, 0x81, 0x08, 0x14, 0x42, 0x91, + 0xa1, 0xb1, 0xc1, 0x09, 0x23, 0x33, 0x52, 0xf0, + 0x15, 0x62, 0x72, 0xd1, 0x0a, 0x16, 0x24, 0x34, + 0xe1, 0x25, 0xf1, 0x17, 0x18, 0x19, 0x1a, 0x26, + 0x27, 0x28, 0x29, 0x2a, 0x35, 0x36, 0x37, 0x38, + 0x39, 0x3a, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, + 0x49, 0x4a, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, + 0x59, 0x5a, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, + 0x69, 0x6a, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78, + 0x79, 0x7a, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, + 0x88, 0x89, 0x8a, 0x92, 0x93, 0x94, 0x95, 0x96, + 0x97, 0x98, 0x99, 0x9a, 0xa2, 0xa3, 0xa4, 0xa5, + 0xa6, 0xa7, 0xa8, 0xa9, 0xaa, 0xb2, 0xb3, 0xb4, + 0xb5, 0xb6, 0xb7, 0xb8, 0xb9, 0xba, 0xc2, 0xc3, + 0xc4, 0xc5, 0xc6, 0xc7, 0xc8, 0xc9, 0xca, 0xd2, + 0xd3, 0xd4, 0xd5, 0xd6, 0xd7, 0xd8, 0xd9, 0xda, + 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7, 0xe8, 0xe9, + 0xea, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 0xf8, + 0xf9, 0xfa +}; + +const Graphics::Surface *MJPEGDecoder::decodeImage(Common::SeekableReadStream *stream) { + // We need to reconstruct an actual JPEG stream here, then feed it to the JPEG decoder + // Yes, this is a pain. + + stream->readUint32BE(); // Skip nonsense JPEG header + uint16 inputSkip = stream->readUint16BE() + 4; + uint32 tag = stream->readUint32BE(); + + if (tag != MKTAG('A', 'V', 'I', '1')) { + warning("Invalid MJPEG tag found"); + return 0; + } + + uint32 outputSize = stream->size() - inputSkip + sizeof(s_jpegHeader) + DHT_SEGMENT_SIZE; + byte *data = (byte *)malloc(outputSize); + + if (!data) { + warning("Failed to allocate data for MJPEG conversion"); + return 0; + } + + // Copy the header + memcpy(data, s_jpegHeader, sizeof(s_jpegHeader)); + uint32 dataOffset = sizeof(s_jpegHeader); + + // Write the fake DHT segment + memcpy(data + dataOffset, s_dhtSegmentHead, sizeof(s_dhtSegmentHead)); + dataOffset += sizeof(s_dhtSegmentHead); + memcpy(data + dataOffset, s_mjpegBitsDCLuminance + 1, 16); + dataOffset += 16; + memcpy(data + dataOffset, s_dhtSegmentFrag, sizeof(s_dhtSegmentFrag)); + dataOffset += sizeof(s_dhtSegmentFrag); + memcpy(data + dataOffset, s_mjpegValDC, 12); + dataOffset += 12; + data[dataOffset++] = 0x10; + memcpy(data + dataOffset, s_mjpegBitsACLuminance + 1, 16); + dataOffset += 16; + memcpy(data + dataOffset, s_mjpegValACLuminance, 162); + dataOffset += 162; + data[dataOffset++] = 0x11; + memcpy(data + dataOffset, s_mjpegBitsACChrominance + 1, 16); + dataOffset += 16; + memcpy(data + dataOffset, s_mjpegValACChrominance, 162); + dataOffset += 162; + + // Write the actual data + stream->seek(inputSkip); + stream->read(data + dataOffset, stream->size() - inputSkip); + + Common::MemoryReadStream convertedStream(data, outputSize, DisposeAfterUse::YES); + JPEGDecoder jpeg; + + if (!jpeg.loadStream(convertedStream)) { + warning("Failed to decode MJPEG frame"); + return 0; + } + + if (_surface) { + _surface->free(); + delete _surface; + } + + _surface = jpeg.getSurface()->convertTo(_pixelFormat); + + return _surface; +} + +} // End of namespace Image diff --git a/image/codecs/mjpeg.h b/image/codecs/mjpeg.h new file mode 100644 index 0000000000..b34b84b225 --- /dev/null +++ b/image/codecs/mjpeg.h @@ -0,0 +1,60 @@ +/* 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. + * + */ + +#ifndef IMAGE_CODECS_MJPEG_H +#define IMAGE_CODECS_MJPEG_H + +#include "image/codecs/codec.h" +#include "graphics/pixelformat.h" + +namespace Common { +class SeekableReadStream; +} + +namespace Graphics { +struct Surface; +} + +namespace Image { + +/** + * Motion JPEG decoder. + * + * Used in video: + * - AVIDecoder + */ +class MJPEGDecoder : public Codec { +public: + MJPEGDecoder(); + ~MJPEGDecoder(); + + const Graphics::Surface *decodeImage(Common::SeekableReadStream *stream); + Graphics::PixelFormat getPixelFormat() const { return _pixelFormat; } + +private: + Graphics::PixelFormat _pixelFormat; + Graphics::Surface *_surface; +}; + +} // End of namespace Image + +#endif diff --git a/image/codecs/mpeg.cpp b/image/codecs/mpeg.cpp new file mode 100644 index 0000000000..d81123f26d --- /dev/null +++ b/image/codecs/mpeg.cpp @@ -0,0 +1,107 @@ +/* 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 "common/debug.h" +#include "common/stream.h" +#include "common/system.h" +#include "common/textconsole.h" +#include "graphics/surface.h" +#include "graphics/yuv_to_rgb.h" + +#include "image/codecs/mpeg.h" + +namespace Image { + +MPEGDecoder::MPEGDecoder() : Codec() { + _pixelFormat = g_system->getScreenFormat(); + _surface = 0; + + _mpegDecoder = mpeg2_init(); + + if (!_mpegDecoder) + error("Could not initialize libmpeg2"); + + _mpegInfo = mpeg2_info(_mpegDecoder); +} + +MPEGDecoder::~MPEGDecoder() { + mpeg2_close(_mpegDecoder); + + if (_surface) { + _surface->free(); + delete _surface; + } +} + +const Graphics::Surface *MPEGDecoder::decodeImage(Common::SeekableReadStream *stream) { + uint32 framePeriod; + decodePacket(stream, framePeriod); + return _surface; +} + +bool MPEGDecoder::decodePacket(Common::SeekableReadStream *packet, uint32 &framePeriod, Graphics::Surface *dst) { + // Decode as much as we can out of this packet + uint32 size = 0xFFFFFFFF; + mpeg2_state_t state; + bool foundFrame = false; + framePeriod = 0; + + do { + state = mpeg2_parse(_mpegDecoder); + + switch (state) { + case STATE_BUFFER: + size = packet->read(_buffer, BUFFER_SIZE); + mpeg2_buffer(_mpegDecoder, _buffer, _buffer + size); + break; + case STATE_SLICE: + case STATE_END: + if (_mpegInfo->display_fbuf) { + foundFrame = true; + const mpeg2_sequence_t *sequence = _mpegInfo->sequence; + + framePeriod += sequence->frame_period; + + if (!dst) { + // If no destination is specified, use our internal storage + if (!_surface) { + _surface = new Graphics::Surface(); + _surface->create(sequence->picture_width, sequence->picture_height, _pixelFormat); + } + + dst = _surface; + } + + YUVToRGBMan.convert420(dst, Graphics::YUVToRGBManager::kScaleITU, _mpegInfo->display_fbuf->buf[0], + _mpegInfo->display_fbuf->buf[1], _mpegInfo->display_fbuf->buf[2], sequence->picture_width, + sequence->picture_height, sequence->width, sequence->chroma_width); + } + break; + default: + break; + } + } while (size != 0); + + return foundFrame; +} + +} // End of namespace Image diff --git a/image/codecs/mpeg.h b/image/codecs/mpeg.h new file mode 100644 index 0000000000..b9e961cf24 --- /dev/null +++ b/image/codecs/mpeg.h @@ -0,0 +1,98 @@ +/* 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. + * + */ + +#ifdef USE_MPEG2 + +#ifndef IMAGE_CODECS_MPEG_H +#define IMAGE_CODECS_MPEG_H + +#include "image/codecs/codec.h" +#include "graphics/pixelformat.h" + +#if defined(__PLAYSTATION2__) + typedef uint8 uint8_t; + typedef uint16 uint16_t; + typedef uint32 uint32_t; +#elif defined(_WIN32_WCE) + typedef signed char int8_t; + typedef signed short int16_t; + typedef unsigned char uint8_t; + typedef unsigned short uint16_t; +#elif defined(_MSC_VER) || defined (__SYMBIAN32__) + typedef signed char int8_t; + typedef signed short int16_t; + typedef unsigned char uint8_t; + typedef unsigned short uint16_t; + #if !defined(SDL_COMPILEDVERSION) || (SDL_COMPILEDVERSION < 1210) + typedef signed long int32_t; + typedef unsigned long uint32_t; + #endif +#else +# include +#endif + +extern "C" { + #include +} + +namespace Common { +class SeekableReadStream; +} + +namespace Graphics { +struct Surface; +} + +namespace Image { + +// MPEG 1/2 video decoder + +class MPEGDecoder : public Codec { +public: + MPEGDecoder(); + ~MPEGDecoder(); + + // Codec interface + const Graphics::Surface *decodeImage(Common::SeekableReadStream *stream); + Graphics::PixelFormat getPixelFormat() const { return _pixelFormat; } + + // MPEGPSDecoder call + bool decodePacket(Common::SeekableReadStream *packet, uint32 &framePeriod, Graphics::Surface *dst = 0); + +private: + Graphics::PixelFormat _pixelFormat; + Graphics::Surface *_surface; + + enum { + BUFFER_SIZE = 4096 + }; + + byte _buffer[BUFFER_SIZE]; + mpeg2dec_t *_mpegDecoder; + const mpeg2_info_t *_mpegInfo; +}; + +} // End of namespace Image + +#endif // IMAGE_CODECS_MPEG_H + +#endif // USE_MPEG2 diff --git a/image/codecs/msrle.cpp b/image/codecs/msrle.cpp new file mode 100644 index 0000000000..951de83c31 --- /dev/null +++ b/image/codecs/msrle.cpp @@ -0,0 +1,132 @@ +/* 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. + * + */ + +// Based off ffmpeg's msrledec.c + +#include "image/codecs/msrle.h" +#include "common/stream.h" +#include "common/textconsole.h" + +namespace Image { + +MSRLEDecoder::MSRLEDecoder(uint16 width, uint16 height, byte bitsPerPixel) { + _surface = new Graphics::Surface(); + _surface->create(width, height, Graphics::PixelFormat::createFormatCLUT8()); + _bitsPerPixel = bitsPerPixel; +} + +MSRLEDecoder::~MSRLEDecoder() { + _surface->free(); + delete _surface; +} + +const Graphics::Surface *MSRLEDecoder::decodeImage(Common::SeekableReadStream *stream) { + if (_bitsPerPixel == 8) { + decode8(stream); + } else + error("Unhandled %d bit Microsoft RLE encoding", _bitsPerPixel); + + return _surface; +} + +void MSRLEDecoder::decode8(Common::SeekableReadStream *stream) { + + int x = 0; + int y = _surface->h - 1; + + byte *data = (byte *) _surface->getPixels(); + uint16 width = _surface->w; + uint16 height = _surface->h; + + byte *output = data + ((height - 1) * width); + byte *output_end = data + ((height) * width); + + while (!stream->eos()) { + byte count = stream->readByte(); + byte value = stream->readByte(); + + if (count == 0) { + if (value == 0) { + // End of line + + x = 0; + y--; + output = data + (y * width); + + if (y < 0) { + warning("MS RLE Codec: Next line is beyond picture bounds"); + return; + } + + } else if (value == 1) { + // End of image + + return; + } else if (value == 2) { + // Skip + + count = stream->readByte(); + value = stream->readByte(); + + y -= value; + x += count; + + if (y < 0) { + warning("MS RLE Codec: Skip beyond picture bounds"); + return; + } + + output = data + ((y * width) + x); + + } else { + // Copy data + + if (output + value > output_end) { + stream->skip(value); + continue; + } + + for (int i = 0; i < value; i++) + *output++ = stream->readByte(); + + if (value & 1) + stream->skip(1); + + x += value; + } + + } else { + // Run data + + if (output + count > output_end) + continue; + + for (int i = 0; i < count; i++, x++) + *output++ = value; + } + + } + + warning("MS RLE Codec: No end-of-picture code"); +} + +} // End of namespace Image diff --git a/image/codecs/msrle.h b/image/codecs/msrle.h new file mode 100644 index 0000000000..10e3531c07 --- /dev/null +++ b/image/codecs/msrle.h @@ -0,0 +1,54 @@ +/* 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. + * + */ + +#ifndef IMAGE_CODECS_MSRLE_H +#define IMAGE_CODECS_MSRLE_H + +#include "image/codecs/codec.h" + +namespace Image { + +/** + * Microsoft Run-Length Encoding decoder. + * + * Used in video: + * - AVIDecoder + */ +class MSRLEDecoder : public Codec { +public: + MSRLEDecoder(uint16 width, uint16 height, byte bitsPerPixel); + ~MSRLEDecoder(); + + const Graphics::Surface *decodeImage(Common::SeekableReadStream *stream); + Graphics::PixelFormat getPixelFormat() const { return Graphics::PixelFormat::createFormatCLUT8(); } + +private: + byte _bitsPerPixel; + + Graphics::Surface *_surface; + + void decode8(Common::SeekableReadStream *stream); +}; + +} // End of namespace Image + +#endif diff --git a/image/codecs/msvideo1.cpp b/image/codecs/msvideo1.cpp new file mode 100644 index 0000000000..e94afedb2d --- /dev/null +++ b/image/codecs/msvideo1.cpp @@ -0,0 +1,139 @@ +/* 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. + * + */ + + // Based off ffmpeg's msvideo.cpp + +#include "image/codecs/msvideo1.h" +#include "common/stream.h" +#include "common/textconsole.h" + +namespace Image { + +#define CHECK_STREAM_PTR(n) \ + if ((stream->pos() + n) > stream->size() ) { \ + warning ("MS Video-1: Stream out of bounds (%d >= %d)", stream->pos() + n, stream->size()); \ + return; \ + } + +MSVideo1Decoder::MSVideo1Decoder(uint16 width, uint16 height, byte bitsPerPixel) : Codec() { + _surface = new Graphics::Surface(); + // TODO: Specify the correct pixel format for 2Bpp mode. + _surface->create(width, height, (bitsPerPixel == 8) ? Graphics::PixelFormat::createFormatCLUT8() : Graphics::PixelFormat(2, 0, 0, 0, 0, 0, 0, 0, 0)); + _bitsPerPixel = bitsPerPixel; +} + +MSVideo1Decoder::~MSVideo1Decoder() { + _surface->free(); + delete _surface; +} + +void MSVideo1Decoder::decode8(Common::SeekableReadStream *stream) { + byte colors[8]; + byte *pixels = (byte *)_surface->getPixels(); + uint16 stride = _surface->w; + + int skipBlocks = 0; + uint16 blocks_wide = _surface->w / 4; + uint16 blocks_high = _surface->h / 4; + uint32 totalBlocks = blocks_wide * blocks_high; + uint32 blockInc = 4; + uint16 rowDec = stride + 4; + + for (uint16 block_y = blocks_high; block_y > 0; block_y--) { + uint32 blockPtr = (block_y * 4 - 1) * stride; + for (uint16 block_x = blocks_wide; block_x > 0; block_x--) { + // check if this block should be skipped + if (skipBlocks > 0) { + blockPtr += blockInc; + skipBlocks--; + totalBlocks--; + continue; + } + + uint32 pixelPtr = blockPtr; + + /* get the next two bytes in the encoded data stream */ + CHECK_STREAM_PTR(2); + byte byte_a = stream->readByte(); + byte byte_b = stream->readByte(); + + /* check if the decode is finished */ + if (byte_a == 0 && byte_b == 0 && totalBlocks == 0) { + return; + } else if ((byte_b & 0xFC) == 0x84) { + // skip code, but don't count the current block + skipBlocks = ((byte_b - 0x84) << 8) + byte_a - 1; + } else if (byte_b < 0x80) { + // 2-color encoding + uint16 flags = (byte_b << 8) | byte_a; + + CHECK_STREAM_PTR(2); + colors[0] = stream->readByte(); + colors[1] = stream->readByte(); + + for (byte pixel_y = 0; pixel_y < 4; pixel_y++) { + for (byte pixel_x = 0; pixel_x < 4; pixel_x++, flags >>= 1) + pixels[pixelPtr++] = colors[(flags & 0x1) ^ 1]; + pixelPtr -= rowDec; + } + } else if (byte_b >= 0x90) { + // 8-color encoding + uint16 flags = (byte_b << 8) | byte_a; + + CHECK_STREAM_PTR(8); + for (byte i = 0; i < 8; i++) + colors[i] = stream->readByte(); + + for (byte pixel_y = 0; pixel_y < 4; pixel_y++) { + for (byte pixel_x = 0; pixel_x < 4; pixel_x++, flags >>= 1) + pixels[pixelPtr++] = colors[((pixel_y & 0x2) << 1) + (pixel_x & 0x2) + ((flags & 0x1) ^ 1)]; + pixelPtr -= rowDec; + } + } else { + // 1-color encoding + colors[0] = byte_a; + + for (byte pixel_y = 0; pixel_y < 4; pixel_y++) { + for (byte pixel_x = 0; pixel_x < 4; pixel_x++) + pixels[pixelPtr++] = colors[0]; + pixelPtr -= rowDec; + } + } + + blockPtr += blockInc; + totalBlocks--; + } + } +} + +const Graphics::Surface *MSVideo1Decoder::decodeImage(Common::SeekableReadStream *stream) { + if (_bitsPerPixel == 8) + decode8(stream); + else { + // decode16(stream); + error ("Unhandled MS Video-1 16bpp encoding"); + } + + return _surface; +} + +} // End of namespace Image diff --git a/image/codecs/msvideo1.h b/image/codecs/msvideo1.h new file mode 100644 index 0000000000..517936d35b --- /dev/null +++ b/image/codecs/msvideo1.h @@ -0,0 +1,55 @@ +/* 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. + * + */ + +#ifndef IMAGE_CODECS_MSVIDEO1_H +#define IMAGE_CODECS_MSVIDEO1_H + +#include "image/codecs/codec.h" + +namespace Image { + +/** + * Microsoft Video 1 decoder. + * + * Used in video: + * - AVIDecoder + */ +class MSVideo1Decoder : public Codec { +public: + MSVideo1Decoder(uint16 width, uint16 height, byte bitsPerPixel); + ~MSVideo1Decoder(); + + const Graphics::Surface *decodeImage(Common::SeekableReadStream *stream); + Graphics::PixelFormat getPixelFormat() const { return Graphics::PixelFormat::createFormatCLUT8(); } + +private: + byte _bitsPerPixel; + + Graphics::Surface *_surface; + + void decode8(Common::SeekableReadStream *stream); + //void decode16(Common::SeekableReadStream *stream); +}; + +} // End of namespace Image + +#endif diff --git a/image/codecs/qtrle.cpp b/image/codecs/qtrle.cpp new file mode 100644 index 0000000000..a609e9bba9 --- /dev/null +++ b/image/codecs/qtrle.cpp @@ -0,0 +1,431 @@ +/* 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. + * + */ + +// QuickTime RLE Decoder +// Based off ffmpeg's QuickTime RLE decoder (written by Mike Melanson) + +#include "image/codecs/qtrle.h" + +#include "common/debug.h" +#include "common/scummsys.h" +#include "common/stream.h" +#include "common/system.h" +#include "common/textconsole.h" +#include "graphics/colormasks.h" +#include "graphics/surface.h" + +namespace Image { + +QTRLEDecoder::QTRLEDecoder(uint16 width, uint16 height, byte bitsPerPixel) : Codec() { + _bitsPerPixel = bitsPerPixel; + + // We need to ensure the width is a multiple of 4 + uint16 wMod = width % 4; + if (wMod != 0) + width += 4 - wMod; + + _surface = new Graphics::Surface(); + _surface->create(width, height, getPixelFormat()); +} + +#define CHECK_STREAM_PTR(n) \ + if ((stream->pos() + n) > stream->size()) { \ + warning("QTRLE Problem: stream out of bounds (%d > %d)", stream->pos() + n, stream->size()); \ + return; \ + } + +#define CHECK_PIXEL_PTR(n) \ + if ((int32)pixelPtr + n > _surface->w * _surface->h) { \ + warning("QTRLE Problem: pixel ptr = %d, pixel limit = %d", pixelPtr + n, _surface->w * _surface->h); \ + return; \ + } \ + +void QTRLEDecoder::decode1(Common::SeekableReadStream *stream, uint32 rowPtr, uint32 linesToChange) { + uint32 pixelPtr = 0; + byte *rgb = (byte *)_surface->getPixels(); + + while (linesToChange) { + CHECK_STREAM_PTR(2); + byte skip = stream->readByte(); + int8 rleCode = stream->readSByte(); + + if (rleCode == 0) + break; + + if (skip & 0x80) { + linesToChange--; + rowPtr += _surface->w; + pixelPtr = rowPtr + 2 * (skip & 0x7f); + } else + pixelPtr += 2 * skip; + + if (rleCode < 0) { + // decode the run length code + rleCode = -rleCode; + // get the next 2 bytes from the stream, treat them as groups of 8 pixels, and output them rleCode times */ + CHECK_STREAM_PTR(2); + byte pi0 = stream->readByte(); + byte pi1 = stream->readByte(); + CHECK_PIXEL_PTR(rleCode * 2); + + while (rleCode--) { + rgb[pixelPtr++] = pi0; + rgb[pixelPtr++] = pi1; + } + } else { + // copy the same pixel directly to output 2 times + rleCode *= 2; + CHECK_STREAM_PTR(rleCode); + CHECK_PIXEL_PTR(rleCode); + + while (rleCode--) + rgb[pixelPtr++] = stream->readByte(); + } + } +} + +void QTRLEDecoder::decode2_4(Common::SeekableReadStream *stream, uint32 rowPtr, uint32 linesToChange, byte bpp) { + uint32 pixelPtr = 0; + byte *rgb = (byte *)_surface->getPixels(); + byte numPixels = (bpp == 4) ? 8 : 16; + + while (linesToChange--) { + CHECK_STREAM_PTR(2); + pixelPtr = rowPtr + (numPixels * (stream->readByte() - 1)); + + for (int8 rleCode = stream->readSByte(); rleCode != -1; rleCode = stream->readSByte()) { + if (rleCode == 0) { + // there's another skip code in the stream + CHECK_STREAM_PTR(1); + pixelPtr += (numPixels * (stream->readByte() - 1)); + } else if (rleCode < 0) { + // decode the run length code + rleCode = -rleCode; + + // get the next 4 bytes from the stream, treat them as palette indices, and output them rleCode times */ + CHECK_STREAM_PTR(4); + + byte pi[16]; // 16 palette indices + + for (int8 i = numPixels - 1; i >= 0; i--) { + pi[numPixels - 1 - i] = (stream->readByte() >> ((i * bpp) & 0x07)) & ((1 << bpp) - 1); + + if ((i & ((numPixels >> 2) - 1)) == 0) + stream->readByte(); + } + + CHECK_PIXEL_PTR(rleCode * numPixels); + + while (rleCode--) + for (byte i = 0; i < numPixels; i++) + rgb[pixelPtr++] = pi[i]; + } else { + // copy the same pixel directly to output 4 times + rleCode *= 4; + CHECK_STREAM_PTR(rleCode); + CHECK_PIXEL_PTR(rleCode * (numPixels >> 2)); + + while (rleCode--) { + byte temp = stream->readByte(); + if (bpp == 4) { + rgb[pixelPtr++] = (temp >> 4) & 0x0f; + rgb[pixelPtr++] = temp & 0x0f; + } else { + rgb[pixelPtr++] = (temp >> 6) & 0x03; + rgb[pixelPtr++] = (temp >> 4) & 0x03; + rgb[pixelPtr++] = (temp >> 2) & 0x03; + rgb[pixelPtr++] = temp & 0x03; + } + } + } + } + + rowPtr += _surface->w; + } +} + +void QTRLEDecoder::decode8(Common::SeekableReadStream *stream, uint32 rowPtr, uint32 linesToChange) { + uint32 pixelPtr = 0; + byte *rgb = (byte *)_surface->getPixels(); + + while (linesToChange--) { + CHECK_STREAM_PTR(2); + pixelPtr = rowPtr + 4 * (stream->readByte() - 1); + + for (int8 rleCode = stream->readSByte(); rleCode != -1; rleCode = stream->readSByte()) { + if (rleCode == 0) { + // there's another skip code in the stream + CHECK_STREAM_PTR(1); + pixelPtr += 4 * (stream->readByte() - 1); + } else if (rleCode < 0) { + // decode the run length code + rleCode = -rleCode; + + // get the next 4 bytes from the stream, treat them as palette indices, and output them rleCode times + CHECK_STREAM_PTR(4); + + byte pi[4]; // 4 palette indexes + + for (byte i = 0; i < 4; i++) + pi[i] = stream->readByte(); + + CHECK_PIXEL_PTR(rleCode * 4); + + while (rleCode--) + for (byte i = 0; i < 4; i++) + rgb[pixelPtr++] = pi[i]; + } else { + // copy the same pixel directly to output 4 times + rleCode *= 4; + CHECK_STREAM_PTR(rleCode); + CHECK_PIXEL_PTR(rleCode); + + while (rleCode--) + rgb[pixelPtr++] = stream->readByte(); + } + } + + rowPtr += _surface->w; + } +} + +void QTRLEDecoder::decode16(Common::SeekableReadStream *stream, uint32 rowPtr, uint32 linesToChange) { + uint32 pixelPtr = 0; + uint16 *rgb = (uint16 *)_surface->getPixels(); + + while (linesToChange--) { + CHECK_STREAM_PTR(2); + pixelPtr = rowPtr + stream->readByte() - 1; + + for (int8 rleCode = stream->readSByte(); rleCode != -1; rleCode = stream->readSByte()) { + if (rleCode == 0) { + // there's another skip code in the stream + CHECK_STREAM_PTR(1); + pixelPtr += stream->readByte() - 1; + } else if (rleCode < 0) { + // decode the run length code + rleCode = -rleCode; + CHECK_STREAM_PTR(2); + + uint16 rgb16 = stream->readUint16BE(); + + CHECK_PIXEL_PTR(rleCode); + + while (rleCode--) + rgb[pixelPtr++] = rgb16; + } else { + CHECK_STREAM_PTR(rleCode * 2); + CHECK_PIXEL_PTR(rleCode); + + // copy pixels directly to output + while (rleCode--) + rgb[pixelPtr++] = stream->readUint16BE(); + } + } + + rowPtr += _surface->w; + } +} + +void QTRLEDecoder::decode24(Common::SeekableReadStream *stream, uint32 rowPtr, uint32 linesToChange) { + uint32 pixelPtr = 0; + uint32 *rgb = (uint32 *)_surface->getPixels(); + + while (linesToChange--) { + CHECK_STREAM_PTR(2); + pixelPtr = rowPtr + stream->readByte() - 1; + + for (int8 rleCode = stream->readSByte(); rleCode != -1; rleCode = stream->readSByte()) { + if (rleCode == 0) { + // there's another skip code in the stream + CHECK_STREAM_PTR(1); + pixelPtr += stream->readByte() - 1; + } else if (rleCode < 0) { + // decode the run length code + rleCode = -rleCode; + + CHECK_STREAM_PTR(3); + + byte r = stream->readByte(); + byte g = stream->readByte(); + byte b = stream->readByte(); + uint32 color = _surface->format.RGBToColor(r, g, b); + + CHECK_PIXEL_PTR(rleCode); + + while (rleCode--) + rgb[pixelPtr++] = color; + } else { + CHECK_STREAM_PTR(rleCode * 3); + CHECK_PIXEL_PTR(rleCode); + + // copy pixels directly to output + while (rleCode--) { + byte r = stream->readByte(); + byte g = stream->readByte(); + byte b = stream->readByte(); + rgb[pixelPtr++] = _surface->format.RGBToColor(r, g, b); + } + } + } + + rowPtr += _surface->w; + } +} + +void QTRLEDecoder::decode32(Common::SeekableReadStream *stream, uint32 rowPtr, uint32 linesToChange) { + uint32 pixelPtr = 0; + uint32 *rgb = (uint32 *)_surface->getPixels(); + + while (linesToChange--) { + CHECK_STREAM_PTR(2); + pixelPtr = rowPtr + stream->readByte() - 1; + + for (int8 rleCode = stream->readSByte(); rleCode != -1; rleCode = stream->readSByte()) { + if (rleCode == 0) { + // there's another skip code in the stream + CHECK_STREAM_PTR(1); + pixelPtr += stream->readByte() - 1; + } else if (rleCode < 0) { + // decode the run length code + rleCode = -rleCode; + + CHECK_STREAM_PTR(4); + + byte a = stream->readByte(); + byte r = stream->readByte(); + byte g = stream->readByte(); + byte b = stream->readByte(); + uint32 color = _surface->format.ARGBToColor(a, r, g, b); + + CHECK_PIXEL_PTR(rleCode); + + while (rleCode--) + rgb[pixelPtr++] = color; + } else { + CHECK_STREAM_PTR(rleCode * 4); + CHECK_PIXEL_PTR(rleCode); + + // copy pixels directly to output + while (rleCode--) { + byte a = stream->readByte(); + byte r = stream->readByte(); + byte g = stream->readByte(); + byte b = stream->readByte(); + rgb[pixelPtr++] = _surface->format.ARGBToColor(a, r, g, b); + } + } + } + + rowPtr += _surface->w; + } +} + +const Graphics::Surface *QTRLEDecoder::decodeImage(Common::SeekableReadStream *stream) { + uint16 startLine = 0; + uint16 height = _surface->h; + + // check if this frame is even supposed to change + if (stream->size() < 8) + return _surface; + + // start after the chunk size + stream->readUint32BE(); + + // fetch the header + uint16 header = stream->readUint16BE(); + + // if a header is present, fetch additional decoding parameters + if (header & 8) { + if (stream->size() < 14) + return _surface; + + startLine = stream->readUint16BE(); + stream->readUint16BE(); // Unknown + height = stream->readUint16BE(); + stream->readUint16BE(); // Unknown + } + + uint32 rowPtr = _surface->w * startLine; + + switch (_bitsPerPixel) { + case 1: + case 33: + decode1(stream, rowPtr, height); + break; + case 2: + case 34: + decode2_4(stream, rowPtr, height, 2); + break; + case 4: + case 36: + decode2_4(stream, rowPtr, height, 4); + break; + case 8: + case 40: + decode8(stream, rowPtr, height); + break; + case 16: + decode16(stream, rowPtr, height); + break; + case 24: + decode24(stream, rowPtr, height); + break; + case 32: + decode32(stream, rowPtr, height); + break; + default: + error("Unsupported QTRLE bits per pixel %d", _bitsPerPixel); + } + + return _surface; +} + +QTRLEDecoder::~QTRLEDecoder() { + _surface->free(); + delete _surface; +} + +Graphics::PixelFormat QTRLEDecoder::getPixelFormat() const { + switch (_bitsPerPixel) { + case 1: + case 33: + case 2: + case 34: + case 4: + case 36: + case 8: + case 40: + return Graphics::PixelFormat::createFormatCLUT8(); + case 16: + return Graphics::PixelFormat(2, 5, 5, 5, 0, 10, 5, 0, 0); + case 24: + case 32: + return Graphics::PixelFormat(4, 8, 8, 8, 8, 16, 8, 0, 24); + default: + error("Unsupported QTRLE bits per pixel %d", _bitsPerPixel); + } + + return Graphics::PixelFormat(); +} + +} // End of namespace Image diff --git a/image/codecs/qtrle.h b/image/codecs/qtrle.h new file mode 100644 index 0000000000..c16daa0349 --- /dev/null +++ b/image/codecs/qtrle.h @@ -0,0 +1,60 @@ +/* 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. + * + */ + +#ifndef IMAGE_CODECS_QTRLE_H +#define IMAGE_CODECS_QTRLE_H + +#include "graphics/pixelformat.h" +#include "image/codecs/codec.h" + +namespace Image { + +/** + * QuickTime Run-Length Encoding decoder. + * + * Used in video: + * - QuickTimeDecoder + */ +class QTRLEDecoder : public Codec { +public: + QTRLEDecoder(uint16 width, uint16 height, byte bitsPerPixel); + ~QTRLEDecoder(); + + const Graphics::Surface *decodeImage(Common::SeekableReadStream *stream); + Graphics::PixelFormat getPixelFormat() const; + +private: + byte _bitsPerPixel; + + Graphics::Surface *_surface; + + void decode1(Common::SeekableReadStream *stream, uint32 rowPtr, uint32 linesToChange); + void decode2_4(Common::SeekableReadStream *stream, uint32 rowPtr, uint32 linesToChange, byte bpp); + void decode8(Common::SeekableReadStream *stream, uint32 rowPtr, uint32 linesToChange); + void decode16(Common::SeekableReadStream *stream, uint32 rowPtr, uint32 linesToChange); + void decode24(Common::SeekableReadStream *stream, uint32 rowPtr, uint32 linesToChange); + void decode32(Common::SeekableReadStream *stream, uint32 rowPtr, uint32 linesToChange); +}; + +} // End of namespace Image + +#endif diff --git a/image/codecs/rpza.cpp b/image/codecs/rpza.cpp new file mode 100644 index 0000000000..ecd930f785 --- /dev/null +++ b/image/codecs/rpza.cpp @@ -0,0 +1,201 @@ +/* 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. + * + */ + + // Based off ffmpeg's RPZA decoder + +#include "image/codecs/rpza.h" + +#include "common/debug.h" +#include "common/system.h" +#include "common/stream.h" +#include "common/textconsole.h" + +namespace Image { + +RPZADecoder::RPZADecoder(uint16 width, uint16 height) : Codec() { + // We need to increase the surface size to a multiple of 4 + uint16 wMod = width % 4; + if (wMod != 0) + width += 4 - wMod; + + _surface = new Graphics::Surface(); + _surface->create(width, height, getPixelFormat()); +} + +RPZADecoder::~RPZADecoder() { + _surface->free(); + delete _surface; +} + +#define ADVANCE_BLOCK() \ + pixelPtr += 4; \ + if (pixelPtr >= _surface->w) { \ + pixelPtr = 0; \ + rowPtr += _surface->w * 4; \ + } \ + totalBlocks--; \ + if (totalBlocks < 0) \ + error("rpza block counter just went negative (this should not happen)") \ + +#define PUT_PIXEL(color) \ + if ((int32)blockPtr < _surface->w * _surface->h) \ + WRITE_UINT16((uint16 *)_surface->getPixels() + blockPtr, color); \ + blockPtr++ + +const Graphics::Surface *RPZADecoder::decodeImage(Common::SeekableReadStream *stream) { + uint16 colorA = 0, colorB = 0; + uint16 color4[4]; + + uint32 rowPtr = 0; + uint32 pixelPtr = 0; + uint32 blockPtr = 0; + uint32 rowInc = _surface->w - 4; + uint16 ta; + uint16 tb; + + // First byte is always 0xe1. Warn if it's different + byte firstByte = stream->readByte(); + if (firstByte != 0xe1) + warning("First RPZA chunk byte is 0x%02x instead of 0xe1", firstByte); + + // Get chunk size, ingnoring first byte + uint32 chunkSize = stream->readUint16BE() << 8; + chunkSize += stream->readByte(); + + // If length mismatch use size from MOV file and try to decode anyway + if (chunkSize != (uint32)stream->size()) { + warning("MOV chunk size != encoded chunk size; using MOV chunk size"); + chunkSize = stream->size(); + } + + // Number of 4x4 blocks in frame + int32 totalBlocks = ((_surface->w + 3) / 4) * ((_surface->h + 3) / 4); + + // Process chunk data + while ((uint32)stream->pos() < chunkSize) { + byte opcode = stream->readByte(); // Get opcode + byte numBlocks = (opcode & 0x1f) + 1; // Extract block counter from opcode + + // If opcode MSbit is 0, we need more data to decide what to do + if ((opcode & 0x80) == 0) { + colorA = (opcode << 8) | stream->readByte(); + opcode = 0; + if (stream->readByte() & 0x80) { + // Must behave as opcode 110xxxxx, using colorA computed + // above. Use fake opcode 0x20 to enter switch block at + // the right place + opcode = 0x20; + numBlocks = 1; + } + stream->seek(-1, SEEK_CUR); + } + + switch (opcode & 0xe0) { + case 0x80: // Skip blocks + while (numBlocks--) { + ADVANCE_BLOCK(); + } + break; + case 0xa0: // Fill blocks with one color + colorA = stream->readUint16BE(); + while (numBlocks--) { + blockPtr = rowPtr + pixelPtr; + for (byte pixel_y = 0; pixel_y < 4; pixel_y++) { + for (byte pixel_x = 0; pixel_x < 4; pixel_x++) { + PUT_PIXEL(colorA); + } + blockPtr += rowInc; + } + ADVANCE_BLOCK(); + } + break; + + // Fill blocks with 4 colors + case 0xc0: + colorA = stream->readUint16BE(); + case 0x20: + colorB = stream->readUint16BE(); + + // Sort out the colors + color4[0] = colorB; + color4[1] = 0; + color4[2] = 0; + color4[3] = colorA; + + // Red components + ta = (colorA >> 10) & 0x1F; + tb = (colorB >> 10) & 0x1F; + color4[1] |= ((11 * ta + 21 * tb) >> 5) << 10; + color4[2] |= ((21 * ta + 11 * tb) >> 5) << 10; + + // Green components + ta = (colorA >> 5) & 0x1F; + tb = (colorB >> 5) & 0x1F; + color4[1] |= ((11 * ta + 21 * tb) >> 5) << 5; + color4[2] |= ((21 * ta + 11 * tb) >> 5) << 5; + + // Blue components + ta = colorA & 0x1F; + tb = colorB & 0x1F; + color4[1] |= ((11 * ta + 21 * tb) >> 5); + color4[2] |= ((21 * ta + 11 * tb) >> 5); + + while (numBlocks--) { + blockPtr = rowPtr + pixelPtr; + for (byte pixel_y = 0; pixel_y < 4; pixel_y++) { + byte index = stream->readByte(); + for (byte pixel_x = 0; pixel_x < 4; pixel_x++) { + byte idx = (index >> (2 * (3 - pixel_x))) & 0x03; + PUT_PIXEL(color4[idx]); + } + blockPtr += rowInc; + } + ADVANCE_BLOCK(); + } + break; + + // Fill block with 16 colors + case 0x00: + blockPtr = rowPtr + pixelPtr; + for (byte pixel_y = 0; pixel_y < 4; pixel_y++) { + for (byte pixel_x = 0; pixel_x < 4; pixel_x++) { + // We already have color of upper left pixel + if (pixel_y != 0 || pixel_x != 0) + colorA = stream->readUint16BE(); + + PUT_PIXEL(colorA); + } + blockPtr += rowInc; + } + ADVANCE_BLOCK(); + break; + + // Unknown opcode + default: + error("Unknown opcode %02x in rpza chunk", opcode); + } + } + + return _surface; +} + +} // End of namespace Image diff --git a/image/codecs/rpza.h b/image/codecs/rpza.h new file mode 100644 index 0000000000..f87ee1113a --- /dev/null +++ b/image/codecs/rpza.h @@ -0,0 +1,51 @@ +/* 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. + * + */ + +#ifndef IMAGE_CODECS_RPZA_H +#define IMAGE_CODECS_RPZA_H + +#include "graphics/pixelformat.h" +#include "image/codecs/codec.h" + +namespace Image { + +/** + * Apple RPZA decoder. + * + * Used in video: + * - QuickTimeDecoder + */ +class RPZADecoder : public Codec { +public: + RPZADecoder(uint16 width, uint16 height); + ~RPZADecoder(); + + const Graphics::Surface *decodeImage(Common::SeekableReadStream *stream); + Graphics::PixelFormat getPixelFormat() const { return Graphics::PixelFormat(2, 5, 5, 5, 0, 10, 5, 0, 0); } + +private: + Graphics::Surface *_surface; +}; + +} // End of namespace Image + +#endif diff --git a/image/codecs/smc.cpp b/image/codecs/smc.cpp new file mode 100644 index 0000000000..434a1058b7 --- /dev/null +++ b/image/codecs/smc.cpp @@ -0,0 +1,389 @@ +/* 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. + * + */ + +// Based off ffmpeg's SMC decoder + +#include "image/codecs/smc.h" +#include "common/stream.h" +#include "common/textconsole.h" + +namespace Image { + +#define GET_BLOCK_COUNT() \ + (opcode & 0x10) ? (1 + stream->readByte()) : 1 + (opcode & 0x0F); + +#define ADVANCE_BLOCK() \ +{ \ + pixelPtr += 4; \ + if (pixelPtr >= _surface->w) { \ + pixelPtr = 0; \ + rowPtr += _surface->w * 4; \ + } \ + totalBlocks--; \ + if (totalBlocks < 0) { \ + warning("block counter just went negative (this should not happen)"); \ + return _surface; \ + } \ +} + +SMCDecoder::SMCDecoder(uint16 width, uint16 height) { + _surface = new Graphics::Surface(); + _surface->create(width, height, Graphics::PixelFormat::createFormatCLUT8()); +} + +SMCDecoder::~SMCDecoder() { + _surface->free(); + delete _surface; +} + +const Graphics::Surface *SMCDecoder::decodeImage(Common::SeekableReadStream *stream) { + byte *pixels = (byte *)_surface->getPixels(); + + uint32 numBlocks = 0; + uint32 colorFlags = 0; + uint32 colorFlagsA = 0; + uint32 colorFlagsB = 0; + + const uint16 rowInc = _surface->w - 4; + int32 rowPtr = 0; + int32 pixelPtr = 0; + uint32 blockPtr = 0; + uint32 prevBlockPtr = 0; + uint32 prevBlockPtr1 = 0, prevBlockPtr2 = 0; + byte prevBlockFlag = false; + uint32 pixel = 0; + + uint32 colorPairIndex = 0; + uint32 colorQuadIndex = 0; + uint32 colorOctetIndex = 0; + uint32 colorTableIndex = 0; // indices to color pair, quad, or octet tables + + int32 chunkSize = stream->readUint32BE() & 0x00FFFFFF; + if (chunkSize != stream->size()) + warning("MOV chunk size != SMC chunk size (%d != %d); ignoring SMC chunk size", chunkSize, stream->size()); + + int32 totalBlocks = ((_surface->w + 3) / 4) * ((_surface->h + 3) / 4); + + // traverse through the blocks + while (totalBlocks != 0) { + // sanity checks + + // make sure stream ptr hasn't gone out of bounds + if (stream->pos() > stream->size()) { + warning("SMC decoder just went out of bounds (stream ptr = %d, chunk size = %d)", stream->pos(), stream->size()); + return _surface; + } + + // make sure the row pointer hasn't gone wild + if (rowPtr >= _surface->w * _surface->h) { + warning("SMC decoder just went out of bounds (row ptr = %d, size = %d)", rowPtr, _surface->w * _surface->h); + return _surface; + } + + byte opcode = stream->readByte(); + + switch (opcode & 0xF0) { + // skip n blocks + case 0x00: + case 0x10: + numBlocks = GET_BLOCK_COUNT(); + while (numBlocks--) { + ADVANCE_BLOCK(); + } + break; + + // repeat last block n times + case 0x20: + case 0x30: + numBlocks = GET_BLOCK_COUNT(); + + // sanity check + if (rowPtr == 0 && pixelPtr == 0) { + warning("encountered repeat block opcode (%02X) but no blocks rendered yet", opcode & 0xF0); + break; + } + + // figure out where the previous block started + if (pixelPtr == 0) + prevBlockPtr1 = (rowPtr - _surface->w * 4) + _surface->w - 4; + else + prevBlockPtr1 = rowPtr + pixelPtr - 4; + + while (numBlocks--) { + blockPtr = rowPtr + pixelPtr; + prevBlockPtr = prevBlockPtr1; + for (byte y = 0; y < 4; y++) { + for (byte x = 0; x < 4; x++) + pixels[blockPtr++] = pixels[prevBlockPtr++]; + blockPtr += rowInc; + prevBlockPtr += rowInc; + } + ADVANCE_BLOCK(); + } + break; + + // repeat previous pair of blocks n times + case 0x40: + case 0x50: + numBlocks = GET_BLOCK_COUNT(); + numBlocks *= 2; + + // sanity check + if (rowPtr == 0 && pixelPtr < 2 * 4) { + warning("encountered repeat block opcode (%02X) but not enough blocks rendered yet", opcode & 0xF0); + break; + } + + // figure out where the previous 2 blocks started + if (pixelPtr == 0) + prevBlockPtr1 = (rowPtr - _surface->w * 4) + _surface->w - 4 * 2; + else if (pixelPtr == 4) + prevBlockPtr1 = (rowPtr - _surface->w * 4) + rowInc; + else + prevBlockPtr1 = rowPtr + pixelPtr - 4 * 2; + + if (pixelPtr == 0) + prevBlockPtr2 = (rowPtr - _surface->w * 4) + rowInc; + else + prevBlockPtr2 = rowPtr + pixelPtr - 4; + + prevBlockFlag = 0; + while (numBlocks--) { + blockPtr = rowPtr + pixelPtr; + + if (prevBlockFlag) + prevBlockPtr = prevBlockPtr2; + else + prevBlockPtr = prevBlockPtr1; + + prevBlockFlag = !prevBlockFlag; + + for (byte y = 0; y < 4; y++) { + for (byte x = 0; x < 4; x++) + pixels[blockPtr++] = pixels[prevBlockPtr++]; + + blockPtr += rowInc; + prevBlockPtr += rowInc; + } + ADVANCE_BLOCK(); + } + break; + + // 1-color block encoding + case 0x60: + case 0x70: + numBlocks = GET_BLOCK_COUNT(); + pixel = stream->readByte(); + + while (numBlocks--) { + blockPtr = rowPtr + pixelPtr; + for (byte y = 0; y < 4; y++) { + for (byte x = 0; x < 4; x++) + pixels[blockPtr++] = pixel; + + blockPtr += rowInc; + } + ADVANCE_BLOCK(); + } + break; + + // 2-color block encoding + case 0x80: + case 0x90: + numBlocks = (opcode & 0x0F) + 1; + + // figure out which color pair to use to paint the 2-color block + if ((opcode & 0xF0) == 0x80) { + // fetch the next 2 colors from bytestream and store in next + // available entry in the color pair table + for (byte i = 0; i < CPAIR; i++) { + pixel = stream->readByte(); + colorTableIndex = CPAIR * colorPairIndex + i; + _colorPairs[colorTableIndex] = pixel; + } + + // this is the base index to use for this block + colorTableIndex = CPAIR * colorPairIndex; + colorPairIndex++; + + // wraparound + if (colorPairIndex == COLORS_PER_TABLE) + colorPairIndex = 0; + } else + colorTableIndex = CPAIR * stream->readByte(); + + while (numBlocks--) { + colorFlags = stream->readUint16BE(); + uint16 flagMask = 0x8000; + blockPtr = rowPtr + pixelPtr; + for (byte y = 0; y < 4; y++) { + for (byte x = 0; x < 4; x++) { + if (colorFlags & flagMask) + pixel = colorTableIndex + 1; + else + pixel = colorTableIndex; + + flagMask >>= 1; + pixels[blockPtr++] = _colorPairs[pixel]; + } + + blockPtr += rowInc; + } + ADVANCE_BLOCK(); + } + break; + + // 4-color block encoding + case 0xA0: + case 0xB0: + numBlocks = (opcode & 0x0F) + 1; + + // figure out which color quad to use to paint the 4-color block + if ((opcode & 0xF0) == 0xA0) { + // fetch the next 4 colors from bytestream and store in next + // available entry in the color quad table + for (byte i = 0; i < CQUAD; i++) { + pixel = stream->readByte(); + colorTableIndex = CQUAD * colorQuadIndex + i; + _colorQuads[colorTableIndex] = pixel; + } + + // this is the base index to use for this block + colorTableIndex = CQUAD * colorQuadIndex; + colorQuadIndex++; + + // wraparound + if (colorQuadIndex == COLORS_PER_TABLE) + colorQuadIndex = 0; + } else + colorTableIndex = CQUAD * stream->readByte(); + + while (numBlocks--) { + colorFlags = stream->readUint32BE(); + + // flag mask actually acts as a bit shift count here + byte flagMask = 30; + blockPtr = rowPtr + pixelPtr; + + for (byte y = 0; y < 4; y++) { + for (byte x = 0; x < 4; x++) { + pixel = colorTableIndex + ((colorFlags >> flagMask) & 0x03); + flagMask -= 2; + pixels[blockPtr++] = _colorQuads[pixel]; + } + blockPtr += rowInc; + } + ADVANCE_BLOCK(); + } + break; + + // 8-color block encoding + case 0xC0: + case 0xD0: + numBlocks = (opcode & 0x0F) + 1; + + // figure out which color octet to use to paint the 8-color block + if ((opcode & 0xF0) == 0xC0) { + // fetch the next 8 colors from bytestream and store in next + // available entry in the color octet table + for (byte i = 0; i < COCTET; i++) { + pixel = stream->readByte(); + colorTableIndex = COCTET * colorOctetIndex + i; + _colorOctets[colorTableIndex] = pixel; + } + + // this is the base index to use for this block + colorTableIndex = COCTET * colorOctetIndex; + colorOctetIndex++; + + // wraparound + if (colorOctetIndex == COLORS_PER_TABLE) + colorOctetIndex = 0; + } else + colorTableIndex = COCTET * stream->readByte(); + + while (numBlocks--) { + /* + For this input of 6 hex bytes: + 01 23 45 67 89 AB + Mangle it to this output: + flags_a = xx012456, flags_b = xx89A37B + */ + + // build the color flags + byte flagData[6]; + stream->read(flagData, 6); + + colorFlagsA = ((READ_BE_UINT16(flagData) & 0xFFF0) << 8) | (READ_BE_UINT16(flagData + 2) >> 4); + colorFlagsB = ((READ_BE_UINT16(flagData + 4) & 0xFFF0) << 8) | ((flagData[1] & 0xF) << 8) | + ((flagData[3] & 0xF) << 4) | (flagData[5] & 0xf); + + colorFlags = colorFlagsA; + + // flag mask actually acts as a bit shift count here + byte flagMask = 21; + blockPtr = rowPtr + pixelPtr; + for (byte y = 0; y < 4; y++) { + // reload flags at third row (iteration y == 2) + if (y == 2) { + colorFlags = colorFlagsB; + flagMask = 21; + } + + for (byte x = 0; x < 4; x++) { + pixel = colorTableIndex + ((colorFlags >> flagMask) & 0x07); + flagMask -= 3; + pixels[blockPtr++] = _colorOctets[pixel]; + } + + blockPtr += rowInc; + } + ADVANCE_BLOCK(); + } + break; + + // 16-color block encoding (every pixel is a different color) + case 0xE0: + numBlocks = (opcode & 0x0F) + 1; + + while (numBlocks--) { + blockPtr = rowPtr + pixelPtr; + for (byte y = 0; y < 4; y++) { + for (byte x = 0; x < 4; x++) + pixels[blockPtr++] = stream->readByte(); + + blockPtr += rowInc; + } + ADVANCE_BLOCK(); + } + break; + + case 0xF0: + warning("0xF0 opcode seen in SMC chunk (contact the developers)"); + break; + } + } + + return _surface; +} + +} // End of namespace Image diff --git a/image/codecs/smc.h b/image/codecs/smc.h new file mode 100644 index 0000000000..2de1f69ce4 --- /dev/null +++ b/image/codecs/smc.h @@ -0,0 +1,62 @@ +/* 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. + * + */ + +#ifndef IMAGE_CODECS_SMC_H +#define IMAGE_CODECS_SMC_H + +#include "image/codecs/codec.h" + +namespace Image { + +enum { + CPAIR = 2, + CQUAD = 4, + COCTET = 8, + COLORS_PER_TABLE = 256 +}; + +/** + * Apple SMC decoder. + * + * Used in video: + * - QuickTimeDecoder + */ +class SMCDecoder : public Codec { +public: + SMCDecoder(uint16 width, uint16 height); + ~SMCDecoder(); + + const Graphics::Surface *decodeImage(Common::SeekableReadStream *stream); + Graphics::PixelFormat getPixelFormat() const { return Graphics::PixelFormat::createFormatCLUT8(); } + +private: + Graphics::Surface *_surface; + + // SMC color tables + byte _colorPairs[COLORS_PER_TABLE * CPAIR]; + byte _colorQuads[COLORS_PER_TABLE * CQUAD]; + byte _colorOctets[COLORS_PER_TABLE * COCTET]; +}; + +} // End of namespace Image + +#endif diff --git a/image/codecs/svq1.cpp b/image/codecs/svq1.cpp new file mode 100644 index 0000000000..550445bc64 --- /dev/null +++ b/image/codecs/svq1.cpp @@ -0,0 +1,797 @@ +/* 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. + * + */ + +// Sorenson Video 1 Codec +// Based off FFmpeg's SVQ1 decoder (written by Arpi and Nick Kurshev) + +#include "image/codecs/svq1.h" +#include "image/codecs/svq1_cb.h" +#include "image/codecs/svq1_vlc.h" + +#include "common/stream.h" +#include "common/bitstream.h" +#include "common/rect.h" +#include "common/system.h" +#include "common/debug.h" +#include "common/textconsole.h" +#include "common/huffman.h" + +#include "graphics/yuv_to_rgb.h" + +namespace Image { + +#define SVQ1_BLOCK_SKIP 0 +#define SVQ1_BLOCK_INTER 1 +#define SVQ1_BLOCK_INTER_4V 2 +#define SVQ1_BLOCK_INTRA 3 + +SVQ1Decoder::SVQ1Decoder(uint16 width, uint16 height) { + debug(1, "SVQ1Decoder::SVQ1Decoder(width:%d, height:%d)", width, height); + _width = width; + _height = height; + _frameWidth = _frameHeight = 0; + _surface = 0; + + _last[0] = 0; + _last[1] = 0; + _last[2] = 0; + + // Setup Variable Length Code Tables + _blockType = new Common::Huffman(0, 4, s_svq1BlockTypeCodes, s_svq1BlockTypeLengths); + + for (int i = 0; i < 6; i++) { + _intraMultistage[i] = new Common::Huffman(0, 8, s_svq1IntraMultistageCodes[i], s_svq1IntraMultistageLengths[i]); + _interMultistage[i] = new Common::Huffman(0, 8, s_svq1InterMultistageCodes[i], s_svq1InterMultistageLengths[i]); + } + + _intraMean = new Common::Huffman(0, 256, s_svq1IntraMeanCodes, s_svq1IntraMeanLengths); + _interMean = new Common::Huffman(0, 512, s_svq1InterMeanCodes, s_svq1InterMeanLengths); + _motionComponent = new Common::Huffman(0, 33, s_svq1MotionComponentCodes, s_svq1MotionComponentLengths); +} + +SVQ1Decoder::~SVQ1Decoder() { + if (_surface) { + _surface->free(); + delete _surface; + } + + delete[] _last[0]; + delete[] _last[1]; + delete[] _last[2]; + + delete _blockType; + delete _intraMean; + delete _interMean; + delete _motionComponent; + + for (int i = 0; i < 6; i++) { + delete _intraMultistage[i]; + delete _interMultistage[i]; + } +} + +#define ALIGN(x, a) (((x)+(a)-1)&~((a)-1)) + +const Graphics::Surface *SVQ1Decoder::decodeImage(Common::SeekableReadStream *stream) { + debug(1, "SVQ1Decoder::decodeImage()"); + + Common::BitStream32BEMSB frameData(*stream); + + uint32 frameCode = frameData.getBits(22); + debug(1, " frameCode: %d", frameCode); + + if ((frameCode & ~0x70) || !(frameCode & 0x60)) { // Invalid + warning("Invalid Image at frameCode"); + return _surface; + } + + byte temporalReference = frameData.getBits(8); + debug(1, " temporalReference: %d", temporalReference); + static const char *const types[4] = { "I (Key)", "P (Delta from Previous)", "B (Delta from Next)", "Invalid" }; + byte frameType = frameData.getBits(2); + debug(1, " frameType: %d = %s Frame", frameType, types[frameType]); + + if (frameType == 0) { // I Frame + // TODO: Validate checksum if present + if (frameCode == 0x50 || frameCode == 0x60) { + uint32 checksum = frameData.getBits(16); + debug(1, " checksum:0x%02x", checksum); + // We're currently just ignoring the checksum + } + + if ((frameCode ^ 0x10) >= 0x50) { + // Skip embedded string + byte stringLen = frameData.getBits(8); + for (uint16 i = 0; i < stringLen-1; i++) + frameData.skip(8); + } + + frameData.skip(5); // Unknown + + static const struct { uint w, h; } standardFrameSizes[7] = { + { 160, 120 }, // 0 + { 128, 96 }, // 1 + { 176, 144 }, // 2 + { 352, 288 }, // 3 + { 704, 576 }, // 4 + { 240, 180 }, // 5 + { 320, 240 } // 6 + }; + + byte frameSizeCode = frameData.getBits(3); + debug(1, " frameSizeCode: %d", frameSizeCode); + + if (frameSizeCode == 7) { + _frameWidth = frameData.getBits(12); + _frameHeight = frameData.getBits(12); + } else { + _frameWidth = standardFrameSizes[frameSizeCode].w; + _frameHeight = standardFrameSizes[frameSizeCode].h; + } + + debug(1, " frameWidth: %d", _frameWidth); + debug(1, " frameHeight: %d", _frameHeight); + } else if (frameType == 2) { // B Frame + warning("B Frames not supported by SVQ1 decoder (yet)"); + return _surface; + } else if (frameType == 3) { // Invalid + warning("Invalid Frame Type"); + return _surface; + } + + bool checksumPresent = frameData.getBit() != 0; + debug(1, " checksumPresent: %d", checksumPresent); + if (checksumPresent) { + bool usePacketChecksum = frameData.getBit() != 0; + debug(1, " usePacketChecksum: %d", usePacketChecksum); + bool componentChecksumsAfterImageData = frameData.getBit() != 0; + debug(1, " componentChecksumsAfterImageData: %d", componentChecksumsAfterImageData); + byte unk4 = frameData.getBits(2); + debug(1, " unk4: %d", unk4); + if (unk4 != 0) + warning("Invalid Frame Header in SVQ1 Frame Decode"); + } + + // Some more unknown data + bool unk5 = frameData.getBit() != 0; + if (unk5) { + frameData.skip(8); + + while (frameData.getBit() != 0) + frameData.skip(8); + } + + uint yWidth = ALIGN(_frameWidth, 16); + uint yHeight = ALIGN(_frameHeight, 16); + uint uvWidth = ALIGN(yWidth / 4, 16); + uint uvHeight = ALIGN(yHeight / 4, 16); + uint uvPitch = uvWidth + 4; // we need at least one extra column and pitch must be divisible by 4 + + byte *current[3]; + + // Decode Y, U and V component planes + for (int i = 0; i < 3; i++) { + uint width, height, pitch; + if (i == 0) { + width = yWidth; + height = yHeight; + pitch = width; + current[i] = new byte[width * height]; + } else { + width = uvWidth; + height = uvHeight; + pitch = uvPitch; + + // Add an extra row here. See below for more information. + current[i] = new byte[pitch * (height + 1)]; + } + + if (frameType == 0) { // I Frame + // Keyframe (I) + byte *currentP = current[i]; + for (uint16 y = 0; y < height; y += 16) { + for (uint16 x = 0; x < width; x += 16) { + if (!svq1DecodeBlockIntra(&frameData, ¤tP[x], pitch)) { + warning("svq1DecodeBlockIntra decode failure"); + return _surface; + } + } + currentP += 16 * pitch; + } + } else { + // Delta frame (P or B) + + // Prediction Motion Vector + Common::Point *pmv = new Common::Point[(width / 8) + 3]; + + byte *previous = 0; + if (frameType == 2) { // B Frame + error("SVQ1 Video: B Frames not supported"); + //previous = _next[i]; + } else { + previous = _last[i]; + } + + byte *currentP = current[i]; + for (uint16 y = 0; y < height; y += 16) { + for (uint16 x = 0; x < width; x += 16) { + if (!svq1DecodeDeltaBlock(&frameData, ¤tP[x], previous, pitch, pmv, x, y)) { + warning("svq1DecodeDeltaBlock decode failure"); + return _surface; + } + } + + pmv[0].x = pmv[0].y = 0; + + currentP += 16 * pitch; + } + + delete[] pmv; + } + } + + // Now we'll create the surface + if (!_surface) { + _surface = new Graphics::Surface(); + _surface->create(yWidth, yHeight, g_system->getScreenFormat()); + _surface->w = _width; + _surface->h = _height; + } + + // We need to massage the chrominance data a bit to be able to be used by the converter + // Since the thing peeks at values one column and one row beyond the data, we need to fill it in + + // First, fill in the column-after-last with the last column's value + for (uint i = 0; i < uvHeight; i++) { + current[1][i * uvPitch + uvWidth] = current[1][i * uvPitch + uvWidth - 1]; + current[2][i * uvPitch + uvWidth] = current[2][i * uvPitch + uvWidth - 1]; + } + + // Then, copy the last row to the one after the last row + memcpy(current[1] + uvHeight * uvPitch, current[1] + (uvHeight - 1) * uvPitch, uvWidth + 1); + memcpy(current[2] + uvHeight * uvPitch, current[2] + (uvHeight - 1) * uvPitch, uvWidth + 1); + + // Finally, actually do the conversion ;) + YUVToRGBMan.convert410(_surface, Graphics::YUVToRGBManager::kScaleFull, current[0], current[1], current[2], yWidth, yHeight, yWidth, uvPitch); + + // Store the current surfaces for later and free the old ones + for (int i = 0; i < 3; i++) { + delete[] _last[i]; + _last[i] = current[i]; + } + + return _surface; +} + +bool SVQ1Decoder::svq1DecodeBlockIntra(Common::BitStream *s, byte *pixels, int pitch) { + // initialize list for breadth first processing of vectors + byte *list[63]; + list[0] = pixels; + + // recursively process vector + for (int i = 0, m = 1, n = 1, level = 5; i < n; i++) { + for (; level > 0; i++) { + // process next depth + if (i == m) { + m = n; + if (--level == 0) + break; + } + + // divide block if next bit set + if (s->getBit() == 0) + break; + + // add child nodes + list[n++] = list[i]; + list[n++] = list[i] + (((level & 1) ? pitch : 1) << ((level / 2) + 1)); + } + + // destination address and vector size + uint32 *dst = (uint32 *)list[i]; + uint width = 1 << ((level + 4) / 2); + uint height = 1 << ((level + 3) / 2); + + // get number of stages (-1 skips vector, 0 for mean only) + int stages = _intraMultistage[level]->getSymbol(*s) - 1; + + if (stages == -1) { + for (uint y = 0; y < height; y++) + memset(&dst[y * (pitch / 4)], 0, width); + + continue; // skip vector + } + + if (stages > 0 && level >= 4) { + warning("Error (svq1_decode_block_intra): invalid vector: stages = %d, level = %d", stages, level); + return false; // error - invalid vector + } + + int mean = _intraMean->getSymbol(*s); + + if (stages == 0) { + for (uint y = 0; y < height; y++) + memset(&dst[y * (pitch / 4)], mean, width); + } else { + const uint32 *codebook = (const uint32 *)s_svq1IntraCodebooks[level]; + uint32 bitCache = s->getBits(stages * 4); + + // calculate codebook entries for this vector + int entries[6]; + for (int j = 0; j < stages; j++) + entries[j] = (((bitCache >> ((stages - j - 1) * 4)) & 0xF) + j * 16) << (level + 1); + + mean -= stages * 128; + uint32 n4 = ((mean + (mean >> 31)) << 16) | (mean & 0xFFFF); + + for (uint y = 0; y < height; y++) { + for (uint x = 0; x < (width / 4); x++, codebook++) { + uint32 n1 = n4; + uint32 n2 = n4; + uint32 n3; + + // add codebook entries to vector + for (int j = 0; j < stages; j++) { + n3 = READ_UINT32(&codebook[entries[j]]) ^ 0x80808080; + n1 += (n3 & 0xFF00FF00) >> 8; + n2 += n3 & 0x00FF00FF; + } + + // clip to [0..255] + if (n1 & 0xFF00FF00) { + n3 = (((n1 >> 15) & 0x00010001) | 0x01000100) - 0x00010001; + n1 += 0x7F007F00; + n1 |= (((~n1 >> 15) & 0x00010001) | 0x01000100) - 0x00010001; + n1 &= n3 & 0x00FF00FF; + } + + if (n2 & 0xFF00FF00) { + n3 = (((n2 >> 15) & 0x00010001) | 0x01000100) - 0x00010001; + n2 += 0x7F007F00; + n2 |= (((~n2 >> 15) & 0x00010001) | 0x01000100) - 0x00010001; + n2 &= n3 & 0x00FF00FF; + } + + // store result + dst[x] = (n1 << 8) | n2; + } + + dst += pitch / 4; + } + } + } + + return true; +} + +bool SVQ1Decoder::svq1DecodeBlockNonIntra(Common::BitStream *s, byte *pixels, int pitch) { + // initialize list for breadth first processing of vectors + byte *list[63]; + list[0] = pixels; + + // recursively process vector + for (int i = 0, m = 1, n = 1, level = 5; i < n; i++) { + for (; level > 0; i++) { + // process next depth + if (i == m) { + m = n; + if (--level == 0) + break; + } + + // divide block if next bit set + if (s->getBit() == 0) + break; + + // add child nodes + list[n++] = list[i]; + list[n++] = list[i] + (((level & 1) ? pitch : 1) << ((level / 2) + 1)); + } + + // destination address and vector size + uint32 *dst = (uint32 *)list[i]; + int width = 1 << ((level + 4) / 2); + int height = 1 << ((level + 3) / 2); + + // get number of stages (-1 skips vector, 0 for mean only) + int stages = _interMultistage[level]->getSymbol(*s) - 1; + + if (stages == -1) + continue; // skip vector + + if (stages > 0 && level >= 4) { + warning("Error (svq1_decode_block_non_intra): invalid vector: stages = %d, level = %d", stages, level); + return false; // error - invalid vector + } + + int mean = _interMean->getSymbol(*s) - 256; + const uint32 *codebook = (const uint32 *)s_svq1InterCodebooks[level]; + uint32 bitCache = s->getBits(stages * 4); + + // calculate codebook entries for this vector + int entries[6]; + for (int j = 0; j < stages; j++) + entries[j] = (((bitCache >> ((stages - j - 1) * 4)) & 0xF) + j * 16) << (level + 1); + + mean -= stages * 128; + uint32 n4 = ((mean + (mean >> 31)) << 16) | (mean & 0xFFFF); + + for (int y = 0; y < height; y++) { + for (int x = 0; x < (width / 4); x++, codebook++) { + uint32 n3 = dst[x]; + + // add mean value to vector + uint32 n1 = ((n3 & 0xFF00FF00) >> 8) + n4; + uint32 n2 = (n3 & 0x00FF00FF) + n4; + + // add codebook entries to vector + for (int j = 0; j < stages; j++) { + n3 = READ_UINT32(&codebook[entries[j]]) ^ 0x80808080; + n1 += (n3 & 0xFF00FF00) >> 8; + n2 += n3 & 0x00FF00FF; + } + + // clip to [0..255] + if (n1 & 0xFF00FF00) { + n3 = ((( n1 >> 15) & 0x00010001) | 0x01000100) - 0x00010001; + n1 += 0x7F007F00; + n1 |= (((~n1 >> 15) & 0x00010001) | 0x01000100) - 0x00010001; + n1 &= n3 & 0x00FF00FF; + } + + if (n2 & 0xFF00FF00) { + n3 = ((( n2 >> 15) & 0x00010001) | 0x01000100) - 0x00010001; + n2 += 0x7F007F00; + n2 |= (((~n2 >> 15) & 0x00010001) | 0x01000100) - 0x00010001; + n2 &= n3 & 0x00FF00FF; + } + + // store result + dst[x] = (n1 << 8) | n2; + } + + dst += pitch / 4; + } + } + + return true; +} + +// median of 3 +static inline int midPred(int a, int b, int c) { + if (a > b) { + if (c > b) { + if (c > a) + b = a; + else + b = c; + } + } else { + if (b > c) { + if (c > a) + b = c; + else + b = a; + } + } + + return b; +} + +bool SVQ1Decoder::svq1DecodeMotionVector(Common::BitStream *s, Common::Point *mv, Common::Point **pmv) { + for (int i = 0; i < 2; i++) { + // get motion code + int diff = _motionComponent->getSymbol(*s); + if (diff < 0) + return false; // error - invalid motion code + else if (diff && s->getBit() != 0) + diff = -diff; + + // add median of motion vector predictors and clip result + if (i == 1) + mv->y = ((diff + midPred(pmv[0]->y, pmv[1]->y, pmv[2]->y)) << 26) >> 26; + else + mv->x = ((diff + midPred(pmv[0]->x, pmv[1]->x, pmv[2]->x)) << 26) >> 26; + } + + return true; +} + +void SVQ1Decoder::svq1SkipBlock(byte *current, byte *previous, int pitch, int x, int y) { + const byte *src = &previous[x + y * pitch]; + byte *dst = current; + + for (int i = 0; i < 16; i++) { + memcpy(dst, src, 16); + src += pitch; + dst += pitch; + } +} + +void SVQ1Decoder::putPixels8C(byte *block, const byte *pixels, int lineSize, int h) { + for (int i = 0; i < h; i++) { + *((uint32 *)block) = READ_UINT32(pixels); + *((uint32 *)(block + 4)) = READ_UINT32(pixels + 4); + pixels += lineSize; + block += lineSize; + } +} + +static inline uint32 rndAvg32(uint32 a, uint32 b) { + return (a | b) - (((a ^ b) & ~0x01010101) >> 1); +} + +void SVQ1Decoder::putPixels8L2(byte *dst, const byte *src1, const byte *src2, + int dstStride, int srcStride1, int srcStride2, int h) { + for (int i = 0; i < h; i++) { + uint32 a = READ_UINT32(&src1[srcStride1 * i]); + uint32 b = READ_UINT32(&src2[srcStride2 * i]); + *((uint32 *)&dst[dstStride * i]) = rndAvg32(a, b); + a = READ_UINT32(&src1[srcStride1 * i + 4]); + b = READ_UINT32(&src2[srcStride2 * i + 4]); + *((uint32 *)&dst[dstStride * i + 4]) = rndAvg32(a, b); + } +} + +void SVQ1Decoder::putPixels8X2C(byte *block, const byte *pixels, int lineSize, int h) { + putPixels8L2(block, pixels, pixels + 1, lineSize, lineSize, lineSize, h); +} + +void SVQ1Decoder::putPixels8Y2C(byte *block, const byte *pixels, int lineSize, int h) { + putPixels8L2(block, pixels, pixels + lineSize, lineSize, lineSize, lineSize, h); +} + +void SVQ1Decoder::putPixels8XY2C(byte *block, const byte *pixels, int lineSize, int h) { + for (int j = 0; j < 2; j++) { + uint32 a = READ_UINT32(pixels); + uint32 b = READ_UINT32(pixels + 1); + uint32 l0 = (a & 0x03030303UL) + (b & 0x03030303UL) + 0x02020202UL; + uint32 h0 = ((a & 0xFCFCFCFCUL) >> 2) + ((b & 0xFCFCFCFCUL) >> 2); + + pixels += lineSize; + + for (int i = 0; i < h; i += 2) { + a = READ_UINT32(pixels); + b = READ_UINT32(pixels + 1); + uint32 l1 = (a & 0x03030303UL) + (b & 0x03030303UL); + uint32 h1 = ((a & 0xFCFCFCFCUL) >> 2) + ((b & 0xFCFCFCFCUL) >> 2); + *((uint32 *)block) = h0 + h1 + (((l0 + l1) >> 2) & 0x0F0F0F0FUL); + pixels += lineSize; + block += lineSize; + a = READ_UINT32(pixels); + b = READ_UINT32(pixels + 1); + l0 = (a & 0x03030303UL) + (b & 0x03030303UL) + 0x02020202UL; + h0 = ((a & 0xFCFCFCFCUL) >> 2) + ((b & 0xFCFCFCFCUL) >> 2); + *((uint32 *)block) = h0 + h1 + (((l0 + l1) >> 2) & 0x0F0F0F0FUL); + pixels += lineSize; + block += lineSize; + } + + pixels += 4 - lineSize * (h + 1); + block += 4 - lineSize * h; + } +} + +void SVQ1Decoder::putPixels16C(byte *block, const byte *pixels, int lineSize, int h) { + putPixels8C(block, pixels, lineSize, h); + putPixels8C(block + 8, pixels + 8, lineSize, h); +} + +void SVQ1Decoder::putPixels16X2C(byte *block, const byte *pixels, int lineSize, int h) { + putPixels8X2C(block, pixels, lineSize, h); + putPixels8X2C(block + 8, pixels + 8, lineSize, h); +} + +void SVQ1Decoder::putPixels16Y2C(byte *block, const byte *pixels, int lineSize, int h) { + putPixels8Y2C(block, pixels, lineSize, h); + putPixels8Y2C(block + 8, pixels + 8, lineSize, h); +} + +void SVQ1Decoder::putPixels16XY2C(byte *block, const byte *pixels, int lineSize, int h) { + putPixels8XY2C(block, pixels, lineSize, h); + putPixels8XY2C(block + 8, pixels + 8, lineSize, h); +} + +bool SVQ1Decoder::svq1MotionInterBlock(Common::BitStream *ss, byte *current, byte *previous, int pitch, + Common::Point *motion, int x, int y) { + + // predict and decode motion vector + Common::Point *pmv[3]; + pmv[0] = &motion[0]; + if (y == 0) { + pmv[1] = pmv[2] = pmv[0]; + } else { + pmv[1] = &motion[(x / 8) + 2]; + pmv[2] = &motion[(x / 8) + 4]; + } + + Common::Point mv; + bool resultValid = svq1DecodeMotionVector(ss, &mv, pmv); + if (!resultValid) + return false; + + motion[0].x = motion[(x / 8) + 2].x = motion[(x / 8) + 3].x = mv.x; + motion[0].y = motion[(x / 8) + 2].y = motion[(x / 8) + 3].y = mv.y; + + if (y + (mv.y >> 1) < 0) + mv.y = 0; + + if (x + (mv.x >> 1) < 0) + mv.x = 0; + + const byte *src = &previous[(x + (mv.x >> 1)) + (y + (mv.y >> 1)) * pitch]; + byte *dst = current; + + // Halfpel motion compensation with rounding (a + b + 1) >> 1. + // 4 motion compensation functions for the 4 halfpel positions + // for 16x16 blocks + switch(((mv.y & 1) << 1) + (mv.x & 1)) { + case 0: + putPixels16C(dst, src, pitch, 16); + break; + case 1: + putPixels16X2C(dst, src, pitch, 16); + break; + case 2: + putPixels16Y2C(dst, src, pitch, 16); + break; + case 3: + putPixels16XY2C(dst, src, pitch, 16); + break; + } + + return true; +} + +bool SVQ1Decoder::svq1MotionInter4vBlock(Common::BitStream *ss, byte *current, byte *previous, int pitch, + Common::Point *motion, int x, int y) { + // predict and decode motion vector (0) + Common::Point *pmv[4]; + pmv[0] = &motion[0]; + if (y == 0) { + pmv[1] = pmv[2] = pmv[0]; + } else { + pmv[1] = &motion[(x / 8) + 2]; + pmv[2] = &motion[(x / 8) + 4]; + } + + Common::Point mv; + bool resultValid = svq1DecodeMotionVector(ss, &mv, pmv); + if (!resultValid) + return false; + + // predict and decode motion vector (1) + pmv[0] = &mv; + if (y == 0) + pmv[1] = pmv[2] = pmv[0]; + else + pmv[1] = &motion[(x / 8) + 3]; + + resultValid = svq1DecodeMotionVector(ss, &motion[0], pmv); + if (!resultValid) + return false; + + // predict and decode motion vector (2) + pmv[1] = &motion[0]; + pmv[2] = &motion[(x / 8) + 1]; + + resultValid = svq1DecodeMotionVector(ss, &motion[(x / 8) + 2], pmv); + if (!resultValid) + return false; + + // predict and decode motion vector (3) + pmv[2] = &motion[(x / 8) + 2]; + pmv[3] = &motion[(x / 8) + 3]; + + resultValid = svq1DecodeMotionVector(ss, pmv[3], pmv); + if (!resultValid) + return false; + + // form predictions + for (int i = 0; i < 4; i++) { + int mvx = pmv[i]->x + (i & 1) * 16; + int mvy = pmv[i]->y + (i >> 1) * 16; + + // FIXME: clipping or padding? + if (y + (mvy >> 1) < 0) + mvy = 0; + + if (x + (mvx >> 1) < 0) + mvx = 0; + + const byte *src = &previous[(x + (mvx >> 1)) + (y + (mvy >> 1)) * pitch]; + byte *dst = current; + + // Halfpel motion compensation with rounding (a + b + 1) >> 1. + // 4 motion compensation functions for the 4 halfpel positions + // for 8x8 blocks + switch(((mvy & 1) << 1) + (mvx & 1)) { + case 0: + putPixels8C(dst, src, pitch, 8); + break; + case 1: + putPixels8X2C(dst, src, pitch, 8); + break; + case 2: + putPixels8Y2C(dst, src, pitch, 8); + break; + case 3: + putPixels8XY2C(dst, src, pitch, 8); + break; + } + + // select next block + if (i & 1) + current += (pitch - 1) * 8; + else + current += 8; + } + + return true; +} + +bool SVQ1Decoder::svq1DecodeDeltaBlock(Common::BitStream *ss, byte *current, byte *previous, int pitch, + Common::Point *motion, int x, int y) { + // get block type + uint32 blockType = _blockType->getSymbol(*ss); + + // reset motion vectors + if (blockType == SVQ1_BLOCK_SKIP || blockType == SVQ1_BLOCK_INTRA) { + motion[0].x = + motion[0].y = + motion[(x / 8) + 2].x = + motion[(x / 8) + 2].y = + motion[(x / 8) + 3].x = + motion[(x / 8) + 3].y = 0; + } + + bool resultValid = true; + + switch (blockType) { + case SVQ1_BLOCK_SKIP: + svq1SkipBlock(current, previous, pitch, x, y); + break; + case SVQ1_BLOCK_INTER: + resultValid = svq1MotionInterBlock(ss, current, previous, pitch, motion, x, y); + if (!resultValid) { + warning("svq1MotionInterBlock decode failure"); + break; + } + resultValid = svq1DecodeBlockNonIntra(ss, current, pitch); + break; + case SVQ1_BLOCK_INTER_4V: + resultValid = svq1MotionInter4vBlock(ss, current, previous, pitch, motion, x, y); + if (!resultValid) { + warning("svq1MotionInter4vBlock decode failure"); + break; + } + resultValid = svq1DecodeBlockNonIntra(ss, current, pitch); + break; + case SVQ1_BLOCK_INTRA: + resultValid = svq1DecodeBlockIntra(ss, current, pitch); + break; + } + + return resultValid; +} + +} // End of namespace Image diff --git a/image/codecs/svq1.h b/image/codecs/svq1.h new file mode 100644 index 0000000000..56310a1a38 --- /dev/null +++ b/image/codecs/svq1.h @@ -0,0 +1,88 @@ +/* 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. + * + */ + +#ifndef IMAGE_CODECS_SVQ1_H +#define IMAGE_CODECS_SVQ1_H + +#include "image/codecs/codec.h" + +namespace Common { +class BitStream; +class Huffman; +struct Point; +} + +namespace Image { + +/** + * Sorenson Vector Quantizer 1 decoder. + * + * Used in video: + * - QuickTimeDecoder + */ +class SVQ1Decoder : public Codec { +public: + SVQ1Decoder(uint16 width, uint16 height); + ~SVQ1Decoder(); + + const Graphics::Surface *decodeImage(Common::SeekableReadStream *stream); + Graphics::PixelFormat getPixelFormat() const { return _surface->format; } + +private: + Graphics::Surface *_surface; + uint16 _width, _height; + uint16 _frameWidth, _frameHeight; + + byte *_last[3]; + + Common::Huffman *_blockType; + Common::Huffman *_intraMultistage[6]; + Common::Huffman *_interMultistage[6]; + Common::Huffman *_intraMean; + Common::Huffman *_interMean; + Common::Huffman *_motionComponent; + + bool svq1DecodeBlockIntra(Common::BitStream *s, byte *pixels, int pitch); + bool svq1DecodeBlockNonIntra(Common::BitStream *s, byte *pixels, int pitch); + bool svq1DecodeMotionVector(Common::BitStream *s, Common::Point *mv, Common::Point **pmv); + void svq1SkipBlock(byte *current, byte *previous, int pitch, int x, int y); + bool svq1MotionInterBlock(Common::BitStream *ss, byte *current, byte *previous, int pitch, + Common::Point *motion, int x, int y); + bool svq1MotionInter4vBlock(Common::BitStream *ss, byte *current, byte *previous, int pitch, + Common::Point *motion, int x, int y); + bool svq1DecodeDeltaBlock(Common::BitStream *ss, byte *current, byte *previous, int pitch, + Common::Point *motion, int x, int y); + + void putPixels8C(byte *block, const byte *pixels, int lineSize, int h); + void putPixels8L2(byte *dst, const byte *src1, const byte *src2, int dstStride, int srcStride1, int srcStride2, int h); + void putPixels8X2C(byte *block, const byte *pixels, int lineSize, int h); + void putPixels8Y2C(byte *block, const byte *pixels, int lineSize, int h); + void putPixels8XY2C(byte *block, const byte *pixels, int lineSize, int h); + void putPixels16C(byte *block, const byte *pixels, int lineSize, int h); + void putPixels16X2C(byte *block, const byte *pixels, int lineSize, int h); + void putPixels16Y2C(byte *block, const byte *pixels, int lineSize, int h); + void putPixels16XY2C(byte *block, const byte *pixels, int lineSize, int h); +}; + +} // End of namespace Image + +#endif diff --git a/image/codecs/svq1_cb.h b/image/codecs/svq1_cb.h new file mode 100644 index 0000000000..27408a7472 --- /dev/null +++ b/image/codecs/svq1_cb.h @@ -0,0 +1,1511 @@ +/* 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. + * + */ + +// These tables are modified from their FFmpeg counterparts so that +// they work on both little and big endian systems. + +#ifndef IMAGE_CODECS_SVQ1_CB_H +#define IMAGE_CODECS_SVQ1_CB_H + +#include "common/scummsys.h" + +namespace Image { + +static const int8 s_svq1InterCodebook4x2[768] = { + 7, 2, -6, -7, 7, 3, -3, -4, -7, -2, 7, 8, -8, -4, 3, 4, + 19, 17, 9, 3,-14,-16,-12, -8,-18,-16, -8, -3, 11, 14, 12, 8, + 7,-16,-10, 20, 7,-17,-10, 20, -6, 18, 8,-21, -7, 18, 9,-20, + 25, 3,-20,-14, 29, 7,-18,-13,-29, -4, 21, 14,-31, -6, 20, 14, + -19,-26,-28,-24, 31, 32, 22, 10, 15, 24, 31, 28,-32,-32,-22,-13, + 2, -8,-23,-26, -9, 3, 27, 35, 3, 11, 21, 21, 8, -4,-27,-34, + -30,-31, 12, 47,-29,-30, 13, 47, 38, 30,-17,-46, 34, 26,-19,-46, + -42,-50,-51,-43, 34, 48, 55, 48, 48, 54, 51, 42,-44,-52,-53,-47, + 4, 5, 0, -6, -2, -2, 0, 1,-11, -6, -1, -2, 1, 8, 9, 1, + 0, 1, -6, 5, 8, 1,-12, 2, 7,-14, -7, 8, 5, -8, 0, 8, + 1, 4, 11, 8,-12, -8, 0, -5, -1, 1, 0, 4,-15, -8, 3, 16, + 17, 8, -4, -6, 9, -4,-13, -8, 2, 6, 1,-18, -1, 11, 11,-12, + 6, 0, 2, 0, 14, 6, -7,-21, 1, -1,-13,-20, 1, 1, 10, 21, + -22, -5, 7, 13,-11, -1, 4, 12, -7, 0, 14, 19, -4, 3, -5,-19, + -26,-14, 10, 15, 18, 4, -6, -2, 25, 19, -5,-18,-20, -7, 4, 2, + -13, -6, -1, -4, 25, 37, -2,-35, 5, 4, 1, 1,-21,-36, 2, 43, + 2, -2, -1, 3, 8, -2, -6, -1, -2, -3, 2, 12, -5, -2, -2, -1, + -3, -1, -1, -5, -1, 7, 8, -2, 2, 7, 5, -3, 1, 1, -3, -8, + -3, -1, -3, -2, -2, -3, 2, 13, 15, 0,-11, -6, 3, 0, 0, 0, + -6, -9, -5, -4, 18, 4, 1, 3, 12, 3, 0, 4,-16, -3, 3, -3, + -17, 3, 18, 2, -1, -3, -1, -1, -6, 16, -8, 0, -9, 14, -7, 0, + 3,-13, 14, -5, 3,-13, 14, -4, -7, 20, 14,-23, 8, -7, -8, 4, + 8,-15,-19, 16,-10, 13, 11, -3, 9, -1, 1, 26, 5,-15,-27, 2, + -20, 7, 16, -4,-40, 9, 31, 1, 26,-12,-30, -7, 40, -2,-19, 4, + 6, 0, 0, 0, -6, -2, 1, 2, 0, -1, 0, -6, 9, 0, -2, -1, + -7, 8, 2, -3, -1, 2, -3, 2, 7, -4, -2, 4, 2, 0, 0, -6, + -3, -2, 9, 2, -2, -1, 0, -4, -3, -3, 0, -3, -6, 2, 10, 4, + 3, 0,-10, 8, 0, 0, -4, 4, -1, 1, 4, 2, 3, -7, -9, 7, + 2, 1, -9, -4, -1, 12, 0, 0, 3, -1, 7, -4, 3,-14, 4, 2, + -12, -9, 1, 11, 2, 5, 1, 0, 3, 1, 0, 2, 0, 8, 6,-19, + -6,-10, -7, -4, 9, 7, 5, 7, 6, 21, 3, -3,-11, -9, -5, -2, + -4, -9,-16, -1, -2, -5, 1, 36, 8, 11, 19, 0, 2, 5, -4,-41, + -1, -1, -2, -1, -2, -2, 1, 6, 0, 4, 1, -8, 1, 1, 1, 0, + -2, -3, 4, 0, 2, -1, 3, -3, 1, 3, -4, 1, -1, 3, 0, -5, + 3, 4, 2, 3, -2, -3, -6, -1, -2, -3, -2, 2, -4, 8, 1, 0, + -7, 4, 2, 6, -7, -1, 1, 0, -2, 2, -4, 1, 8, -6, 2, -1, + -6, 2, 0, 2, 5, 4, -8, -1, -1,-11, 0, 9, 0, -2, 2, 2, + 17, -5, -4, -1, -1, -4, -2, -2, 0,-13, 9, -3, -1, 12, -7, 2, + 0, -2, -5, 2, -7, -5, 20, -3, 7, 7, -1,-30, 3, 5, 8, 1, + -6, 3, -1, -4, 2, -2,-11, 18, 0, -7, 3, 14, 20, -3,-18, -9, + 7, -2, 0, -1, -2, 0, 0, -1, -4, -1, 1, 0, -2, 2, 0, 4, + 1, -3, 2, 1, 3, 1, -5, 1, -3, 0, -1, -2, 7, 1, 0, -3, + 2, 5, 0, -2, 2, -5, -1, 1, -1, -2, 4, -1, 0, -3, 5, 0, + 0, 3, -1, -2, -4, 1, 5, -1, -1, 0, -1, 9, -1, -2, -1, -1, + -2, 5, 5, -1, -2, 2, -3, -2, 1, 2,-11, 1, 2, 1, 3, 2, + 2,-10, -1, -2, 4, 2, 4, 1, 4, 5, -5, 1, 0, 6,-11, 1, + 1, 0, 6, 6, 0, 2, 1,-15, 7, 3, 5, 9,-30, 2, 2, 2, + -34, 1, 9, 2, 5, 8, 8, 2, 7, 2, 6, 6, 2,-27, 1, 4 +}; + +static const int8 s_svq1InterCodebook4x4[1536] = { + 4, 0, -6, -7, -4, -8,-13, -9, -8, -8, -1, 6, -2, 5, 22, 27, + -16, -7, 11, 10,-18, -7, 13, 10,-15, -4, 12, 8, -9, -1, 9, 5, + -2, 2, 15,-16, -3, 2, 19,-19, -3, 2, 19,-19, -2, 3, 15,-14, + 17, 22, 22, 16, -6, -7, -5, -2,-12,-16,-16,-12, 1, 1, -1, -3, + 11,-17, 0, 8, 14,-21, -1, 9, 14,-21, -2, 8, 11,-16, -2, 6, + 7, -2,-16, 11, 9, -2,-21, 14, 10, -1,-22, 14, 8, -1,-18, 10, + -10, 16, 3, -9,-13, 20, 4,-11,-14, 21, 4,-10,-11, 16, 3, -8, + 11, 4, -9, -9, 15, 6,-12,-14, 17, 8,-12,-14, 16, 10, -7,-11, + 4, 10, 14, 13, -1, 7, 15, 16,-12, -7, 3, 8,-20,-23,-18,-10, + -10,-18,-26,-25, 4, 1, -6,-11, 13, 15, 11, 3, 12, 15, 13, 8, + -16,-19,-16,-11, 7, 12, 15, 11, 11, 16, 16, 11, -6, -9,-11,-10, + 18, 19, 12, 5, 18, 16, 5, -4, 6, 0,-10,-15, -9,-17,-23,-22, + -10,-14, -1, 21,-11,-17, 0, 29,-11,-16, 1, 30,-10,-14, 0, 23, + -16,-17,-12, -6,-19,-19,-14, -7, -3, -1, 1, 2, 27, 35, 29, 19, + -37, -8, 23, 23,-42, -9, 28, 29,-43,-10, 26, 28,-38,-11, 19, 22, + 32, 16,-16,-33, 39, 20,-18,-37, 38, 19,-19,-38, 32, 15,-17,-34, + 24, 9, -6, -4, -1,-10, -6, 3, -8, -9, -1, 3, 3, 7, 2, -6, + -1, -3, -1, 0, -1, 4, 2, -7, -3, 11, 3,-16, 1, 20, 9,-18, + -3, -8, 6, 12, -5,-10, 7, 13, -6, -9, 5, 7, -5, -5, 2, -1, + -8, 12, -3, -1,-10, 15, -3, 1,-11, 13, -4, 1,-11, 8, -3, 2, + 9, 6, -5,-12, 3, 0, -8,-13, -4, -4, -1, -1, -4, 1, 15, 18, + 9, 13, 14, 12, 4, 3, -1, -2, -2, -5, -8, -5, -7,-11, -9, -4, + 7, -5, -7, -4, 14, -2, -7, -4, 17, 0, -8, -5, 15, 1, -7, -5, + -10, -1, 6, 4,-15, -9, 2, 4, 2, -1, -3, 0, 25, 13, -8,-10, + 7, 11, -3,-16, 7, 11, -3,-15, 6, 7, -2, -9, 4, 2, -3, -5, + -7, -1, -1, 0, -9, -2, 2, 6,-12, -4, 6, 14,-13, -6, 8, 19, + -18,-18,-11, -5, -3, 0, 3, 4, 6, 8, 6, 6, 6, 6, 6, 6, + -5, 3, 13,-10, -6, 1, 15, -9, -6, -3, 15, -6, -6, -6, 10, -3, + 9, 1, -9, -9, 11, 9, 6, 5, 0, 3, 8, 7,-15,-14, -6, -5, + -11, -6, 11, 19, -2, -5, -9, -8, 6, 2, -9,-10, 6, 5, 4, 5, + -7, -3, 8, 15, -1, 3, 10, 15, 5, 5, -1, -2, 4, -2,-21,-25, + 6, -6, -6, 5, 8, -9, -7, 9, 8,-12, -7, 13, 4,-14, -7, 14, + -4, -3, 1, 1, -3, -5, -2, -3, 7, 0, -2, -4, 20, 7, -4, -4, + -3,-20, -6, 10, 6, 0, 0, 1, 5, 8, 5, -1, -3, 0, 0, -2, + 13, 6, -1, 2, 5, 3, 2, 3, -3, 0, 3, 0,-16, -8, -2, -5, + -2, -7, -6, 0, -3, -6, -3, 1, -5, -1, 2, -1, -1, 12, 16, 5, + -7, 1, 9, 8,-10, -2, 5, 3, -6, 2, 7, 3, -4, 0, -1, -7, + 3, 4, -9,-24, 0, 2, 6, 3, -1, -1, 4, 7, 5, 3, -1, -2, + 3, 6, -9, 2, 1, 6,-13, 1, 1, 8,-10, 2, 1, 8, -7, 1, + -3, -3, 2, 22, -2, -3, -5, 12, -2, -3,-10, 2, -3, -1, -4, 2, + 11, 12, 8, 2, -5, -5, -5, -8, -6, -4, 0, -3, -2, -1, 3, 3, + 12, -6, -2, -1, 12, -8, -2, -2, 9, -7, 0, -3, 4, -6, 2, -2, + -19, 1, 12, -3, -4, 4, 5, -4, 6, 1, -2, -1, 4, -4, -2, 7, + -3, -4, -7, -8, -4, -4, -2, 0, -1, 2, 14, 16, -4, -2, 4, 4, + -1, 7, 2, -5, -2, 0, -1, 1, 4, -3, -1, 13, 6,-12,-14, 8, + -1, 5, 4, -5, -2, 5, 3, -9, -2, 7, 4,-12, -1, 7, 4, -9, + -6, -3, 1, 1, 11, 11, 0, -6, 6, 4, -2, -7,-12,-10, 3, 10, + -2, -3, -3, -2, 6, 11, 14, 10, -9,-11,-10,-10, 2, 2, 3, 2, + -7, -5, -7, -1, -1, 2, 0, 7, -1, 1, 0, 9, 3, 4, -5, -1, + 10, -1,-15, -1, 4, 1, -5, 2, -3, 1, -1, 1, -3, 1, 4, 4, + 2, -1, 4, 10, 6, 2, -1, 0, 2, 2, -7,-12, -4, 2, 0, -3, + -1, -4, -1, -8, 3, -1, 2, -9, 4, 0, 5, -5, 2, 0, 8, 3, + 3, 2, 1, 1, 4, -2, 0, 3, 2, -1, 4, 1, 0, 6, -1,-25, + -1, -2, -2, -4, -3, 0, -1, -4, -1, -1, -4, 2, 0, -6, 2, 25, + -11, -1, 5, 0, 7, 0, -2, 2, 10, -1, -3, 4, -5, -5, -2, -1, + 0, 6, 3, -1, -2, -1, -1, 1, -1, -7,-12, -5, 8, 6, 2, 4, + 2, 6, -1, -6, 9, 10, -1, -4, 1, 0, -4, 0, 3, -2, -9, -5, + -4, 3, 4, 0, -4, 3, 3, 0,-11, 0, 3, 2,-11, 3, 7, 2, + 2, -4, 7, 3, 1, -8, 7, 1, -1,-12, 4, 1, 3, -9, 2, 2, + 2, -2, -2, 9,-17, -3, 3, 1, -4, 7, 1, -6, 5, 4, -1, 3, + -1, 2, 0, -4, -7, 8, 12, -1, -2, 5, 4, -5, 3, -5, -8, -2, + 0, 0, -5, -2, -2, -8, 3, 27, -1, -4, -3, 6, -3, 1, -2, -7, + 4, 4, 1, -1, -7,-10, -7, -3, 10, 10, 5, 3, -2, -2, -4, -3, + 0, 1, 5, 7, 4, -2,-16,-20, 0, 4, 7, 8, 2, 0, -2, -1, + -2, 1, 3, 17, -3, 1, -2, -1, -1, -2, -1, -2, -1, -5, -1, 0, + 5, -3, 1, 0, 6, -2, 0, 0, -1, -2, 0, -3,-11, 1, 8, -1, + 3, 0, 0, 0, 0, 2, 4, 1, 2, 0, 6, 1, -2,-18, -3, 2, + -14, 0, 6, 1, -5, -2, -1, 1, -1, 1, 0, 1, 1, 7, 4, 0, + -1, 0, 1, -4, 1, 8, 3, -4, -3, 4, 1, 3, -6, 1, -4, 1, + 1,-12, 3, 3, -1,-10, 0, -1, 2, 0, 2, 1, 3, 2, 2, 4, + 3, 0, 0, 3, 2, 0, -2, 1, 5, 2, -5, 0, 6, -1,-14, -1, + -2, -6, -3, -3, 2, -1, 4, 5, 6, -1, -2, 0, 4, 4, -1, -5, + -4, 1,-11, 0, -1, 2, -4, 1, 2, -3, 3, -1, 1, -2, 15, 0, + 1, -1, 0, -2, 1, -4, -7, 1, -2, -6, -1, 21, -2, 2, -1, 1, + 21, -1, -2, 0, -1, -3, 1, -2, -9, -2, 2, -1, 2, 1, -4, -1, + 1, 8, 2, -6,-10, -1, 4, 0, -4, -3, 3, 3, 5, 0, -1, -1, + 3, 2, 1, -2, -2, -2, 4, 3, 5, 2, -4,-17, 0, -2, 4, 3, + -7, -4, 0, 3, 9, 9, 2, -1,-11, -6, 0, -1, 5, 1, 0, 1, + 0, 17, 5,-11, 3, -2, -6, 0, 2, -2, -4, 1, -4, 1, 2, -1, + -5, -1, -5, -3, -3, 5, -3, -2, 4, 16, 2, -5, -2, 5, -1, -1, + 0, 0, -4, 1, -1, 2, 5, 11, -1, -1, -2, 1, -4, -2, -3, -1, + -5, -1, 10, 0, 6, 1, 0, -3, 0, -4, 1, 0, -2, -4, 3, -1, + 6, 9, 3, 0, -2, 1, -2, 0, -2, -3, -2, -2, 1, 0, 1, -6, + 1, 0, 2, 1, -1, 3, -2, 1, 0, -1,-15, 0, -1, 5, 2, 6, + 2, 0, 2, 2, 0,-12, -4, 6, 0, 1, 4, -1, 1, 2, 1, -4, + 1, -2, -7, 0, 0, 0, 0, -1, -5, 2, 11, 3, 1, 3, 0, -6, + 0, -3, -9, -4, 1, 3, -1, 0, 4, 1, -2, 0, 7, -3, -1, 6, + 1, -2, 6, 2, 0, -1, 3, -2, -2, 4, 0, 2, -1, 2,-14, 2, + 2, 2, 0, -1, -2, 3, -3,-14, 0, 2, 3, -3, 5, 1, 3, 2, + 1, -3, 4,-14, 1, -2, 11, -1, 0, -1, 3, 0, -1, 1, 0, 2, + -2, 3, -3, 2, -4, -1, -4, 3, -1, 2, 1, 3, -6, -2, 2, 7, + -2, 1, 2, 0, -2, 0, 0, -1, 12, 5, -1, 2, -8, -1, 1, -7, + 2, -2, -4, 2, 11, 0,-11, -2, 3, 1, -3, -1, 0, 3, 1, -1, + 0, 3, 0, -2, 0, -6, -1, -3, 12, -7, -2, 0, 7, -2, 1, 1, + 1, 2, 2, 2, -1, 2, 0, 2,-23, 0, 4, 0, 3, 2, 1, 3, + -4, -5, -1, 5, -3, 5, 10, -1, 0, 0, 3, -4, 1, -1, 2, -5 +}; + +static const int8 s_svq1InterCodebook8x4[3072] = { + 9, 8, 4, 0, -3, -4, -4, -3, 9, 8, 4, -1, -4, -5, -5, -3, + 8, 7, 3, -2, -5, -5, -5, -4, 6, 4, 1, -2, -4, -5, -4, -3, + -12,-14,-11, -4, 1, 5, 6, 6, -8,-10, -7, -5, -2, 1, 1, 1, + 5, 4, 3, 1, 0, 0, -1, -1, 13, 13, 9, 6, 3, 0, -1, -2, + -4, -4, -3, -1, 1, 4, 8, 11, -5, -6, -4, -2, 0, 3, 8, 12, + -7, -7, -6, -4, -2, 2, 7, 10, -7, -7, -5, -4, -2, 1, 5, 8, + -3, -2, -1, 1, 3, 6, 7, 6, 2, 3, 5, 7, 8, 8, 6, 4, + 4, 5, 4, 3, 1, -2, -6, -7, 1, 0, -2, -7,-10,-14,-17,-16, + -5, -4, 1, 8, 9, 3, -3, -7, -7, -6, 1, 11, 12, 5, -3, -8, + -8, -7, 0, 9, 11, 5, -3, -7, -8, -6, -1, 5, 8, 4, -2, -6, + -4, -5, -7, -8, -9, -9, -8, -6, -4, -5, -6, -7, -7, -6, -4, -2, + 0, 1, 2, 3, 5, 8, 10, 9, 1, 2, 3, 6, 9, 12, 14, 13, + 5, 6, 6, 5, 4, 3, 2, 1, 5, 6, 7, 7, 6, 6, 6, 4, + -1, 0, 1, 1, 3, 5, 5, 5,-13,-16,-17,-17,-14,-10, -6, -4, + 9, 11, 13, 16, 15, 13, 12, 10, -4, -5, -6, -7, -7, -7, -6, -5, + -6, -6, -7, -7, -7, -7, -6, -5, -2, -1, 0, 0, 0, 0, 0, -1, + -11,-13,-15,-16,-16,-14,-12,-10, 2, 3, 4, 5, 4, 3, 3, 3, + 6, 7, 8, 8, 8, 7, 6, 5, 3, 4, 3, 3, 3, 3, 3, 3, + 3, 4, 4, 1, -2, -7,-13,-17, 5, 7, 7, 5, 1, -5,-13,-19, + 6, 8, 9, 8, 5, -1, -9,-16, 6, 8, 10, 10, 7, 2, -4,-11, + 18, 9, -1,-10,-13, -9, -4, 0, 22, 12, -1,-12,-15,-10, -4, 2, + 23, 13, 0,-10,-13, -9, -3, 2, 20, 12, 2, -6, -9, -6, -2, 2, + -6, -6, -6, -7, -7, -7, -7, -6, -6, -7, -8, -8, -9, -9, -9, -8, + -3, -3, -3, -3, -3, -3, -3, -3, 12, 15, 18, 21, 21, 19, 17, 14, + 14, 16, 18, 18, 18, 16, 15, 13, 5, 6, 6, 5, 5, 4, 4, 3, + -6, -7, -9,-10,-10,-10, -9, -7,-10,-11,-13,-14,-14,-13,-12,-10, + -27,-17, -4, 5, 9, 10, 10, 7,-32,-19, -3, 7, 11, 12, 11, 8, + -30,-16, -2, 8, 12, 12, 10, 7,-23,-12, 0, 7, 10, 11, 9, 6, + 16, 17, 16, 12, 6, -1, -8,-12, 17, 18, 15, 10, 1, -8,-15,-18, + 15, 14, 10, 4, -5,-14,-20,-23, 10, 8, 4, -1, -9,-16,-21,-22, + -10,-12,-12,-11, -5, 4, 14, 20,-11,-13,-15,-12, -4, 7, 19, 27, + -11,-13,-14,-11, -3, 8, 21, 28,-10,-11,-12, -9, -2, 8, 18, 25, + -1, -1, -1, 1, 4, 6, 6, 5, 0, 0, 0, 2, 4, 3, 1, -2, + 0, 0, 2, 4, 4, -1, -7,-10, 0, 0, 3, 5, 3, -3,-11,-15, + -14,-13, -8, -1, 3, 3, -1, -4, -5, -4, -1, 4, 8, 8, 3, 0, + 3, 2, 2, 3, 4, 5, 3, 1, 5, 3, 0, -2, -2, -1, -1, -1, + 9, 1, -6, -6, -5, -3, -2, -1, 12, 1, -6, -6, -4, -2, -1, 0, + 14, 4, -4, -4, -2, -2, -1, -1, 14, 6, -1, -1, -1, -1, -1, -1, + 4, 6, 8, 10, 11, 9, 7, 5, -1, -1, -1, 0, 0, -1, -1, -2, + -2, -4, -4, -5, -5, -5, -5, -4, -2, -3, -3, -4, -4, -3, -2, -1, + 2, 3, 4, 4, 3, 1, 0, 0, -1, 1, 4, 5, 6, 5, 4, 3, + -8, -6, -2, 2, 3, 4, 4, 3,-14,-13, -9, -5, -2, -1, 0, 0, + -3, -4, -5, -4, 0, 7, 12, 13, -3, -4, -5, -5, -2, 4, 9, 10, + -2, -3, -4, -5, -4, -1, 3, 4, -1, -1, -2, -3, -3, -2, 0, 1, + 9, 5, -2, -8,-11,-10, -7, -4, 12, 10, 6, 2, 0, -1, 0, 0, + 2, 2, 3, 4, 3, 1, 1, 1, -9, -8, -4, 0, 1, 2, 1, 0, + 6, 8, 8, 5, 1, -5,-11,-13, 0, 1, 2, 2, -1, -4, -8,-11, + -3, -2, 1, 3, 3, 1, -1, -4, -2, -1, 2, 5, 6, 6, 4, 1, + 3, 4, 5, 5, 4, 1, -3, -6, 5, 6, 4, 2, 2, 2, 0, -3, + 6, 5, 0, -5, -5, -2, -1, -2, 7, 4, -3,-11,-12, -7, -3, -2, + 1, 0, -1, -1, -1, 0, 0, 0, 2, 3, 4, 4, 5, 5, 4, 3, + -7, -9, -9,-10,-10, -9, -7, -6, 3, 4, 5, 6, 5, 5, 5, 5, + -7, -7, -7, -7, -6, -6, -5, -4, -5, -4, -3, -1, -1, -1, 0, 0, + -3, -2, 1, 4, 5, 5, 5, 5, -2, -1, 3, 6, 9, 10, 10, 9, + -14, 1, 10, 3, -2, 0, 1, 1,-16, 2, 13, 3, -3, -1, 1, 0, + -15, 2, 12, 3, -4, -2, 1, 1,-10, 3, 10, 2, -3, -1, 1, 1, + 0, 1, 4, 2, -5,-10, -3, 11, -1, 1, 4, 2, -6,-13, -2, 15, + -1, 0, 3, 1, -6,-12, -1, 15, -1, 1, 2, 1, -4, -8, 0, 11, + 10, 5, -2, -2, 2, 5, 1, -4, 7, 0, -8, -6, 1, 5, 2, -4, + 2, -5,-12, -7, 2, 7, 4, -1, -1, -7,-10, -4, 4, 9, 7, 2, + -5, -5, -4, -6, -6, -5, -5, -3, -1, -2, -2, -4, -5, -6, -5, -4, + 6, 7, 7, 4, 0, -2, -3, -3, 13, 14, 13, 10, 5, 1, -1, -2, + 1, 1, 2, 2, 2, 2, 2, 2, -5, -6, -8, -9, -9, -8, -7, -6, + 7, 9, 10, 11, 11, 9, 7, 5, -1, -2, -3, -3, -4, -4, -4, -3, + -1, -1, 0, 0, 0, 0, -1, -1, -3, -3, -4, -5, -4, -3, -3, -2, + 2, 1, -1, -3, -3, -2, -1, 0, 12, 12, 8, 3, 1, 0, 0, 1, + -6, -8, -8, -6, -2, 2, 6, 8, 1, 1, -1, -2, 0, 3, 5, 7, + 3, 3, 1, -1, -1, 0, 0, 2, 0, 1, 0, -1, -1, -1, -2, -1, + 1, 0, 0, 0, 0, 0, 2, 4, 2, 1, 3, 4, 3, 1, 0, 2, + 2, 1, 0, 0, -1, -1, 0, 3, 5, 1, -6,-12,-13, -8, -1, 4, + -2, 0, -1, -2, -1, 0, 2, 3, -6, -3, -2, 0, 1, 1, 1, 1, + -9, -5, 0, 4, 5, 3, 1, 0, -8, -3, 3, 7, 8, 4, 1, 0, + 1, 2, 2, 3, 3, 1, -1, -3, 4, 5, 5, 6, 6, 5, 2, 0, + 0, 0, 0, 0, 1, 0, -2, -4, -3, -3, -4, -3, -3, -4, -7, -8, + 14, 12, 6, -1, -3, -3, 0, 0, 7, 5, 1, -3, -5, -4, -2, -1, + -2, -2, -2, -2, -2, -2, -1, -1, -6, -4, -1, 1, 1, 1, 0, -1, + 2, 2, 1, -3, -6, -7, -6, -3, 1, 0, -1, -3, -2, 1, 4, 6, + 0, 0, 1, 2, 4, 7, 8, 7, 0, 0, 0, 0, -1, -4, -7, -8, + 0, 2, 1, -2, -3, -3, -2, -1, -1, 1, 0, -3, -5, -2, 0, 2, + -2, -1, -2, -5, -4, 1, 6, 9, -3, -2, -3, -4, -2, 5, 11, 13, + -4, -2, 2, 6, 4, -3,-10,-14, -2, -1, 1, 4, 4, 1, -1, -2, + 0, 0, -1, -2, -2, 0, 4, 6, 2, 2, 0, -3, -3, 0, 5, 9, + -4, -4, -2, 1, 6, 9, 3, -7, -2, -2, -2, -1, 4, 8, 0,-11, + 1, 1, 0, 0, 2, 6, -1,-10, 2, 2, 1, 0, 2, 4, 0, -7, + -1, -2, -3, -6, -7, -8, -8, -8, 2, 3, 3, 1, -1, -2, -3, -4, + 5, 5, 5, 4, 3, 2, 0, -1, 3, 3, 3, 3, 2, 2, 1, 1, + 3, 3, 2, -2, -3, 0, 7, 10, 1, 2, 2, -2, -5, -4, 0, 3, + 0, 3, 4, 2, -3, -5, -6, -4, 0, 2, 4, 4, 1, -4, -7, -7, + 2, 4, 5, 5, 5, 5, 6, 6, -4, -4, -3, -5, -5, -3, -3, -2, + -3, -4, -4, -5, -4, -2, -2, -2, 1, 1, 0, 0, 2, 4, 5, 4, + -2, 0, 3, 4, 4, 3, 2, 2, -9, -7, -4, 0, 3, 6, 6, 6, + -5, -5, -3, -2, 0, 1, 3, 4, 5, 5, 2, -2, -4, -6, -5, -3, + 1, -6, -4, 7, 5, -2, -2, 1, 5, -5, -4, 6, 4, -5, -4, 1, + 5, -5, -4, 6, 4, -5, -3, 1, 1, -7, -3, 8, 7, -1, -3, 1, + -8, -7, -4, 0, 2, 4, 5, 5, 5, 6, 5, 2, -1, -5, -7, -7, + 5, 6, 4, 1, -3, -5, -6, -5, -7, -7, -5, -2, 1, 6, 9, 10, + 6, 3, 0, 1, 3, 0, -8,-14, 3, 0, -1, 1, 4, 3, 0, -4, + 1, 0, 0, 1, 2, 1, 1, 1, -1, -1, 1, 2, 1, -1, -1, 0, + 1, 1, 1, 1, 0, -2, -3, 0, 1, 2, 1, 0, -2, -8, -9, -4, + 1, 3, 3, 2, 1, -3, -3, 1, 0, 1, 1, 1, 1, 1, 4, 8, + 2, 5, 9, 7, 2, -1, -1, 1, -4, -1, 1, 0, -3, -4, -1, 2, + -3, 0, 3, 3, 0, -1, 0, 2, -4, -1, 1, 1, -2, -4, -5, -4, + 1, -1, -2, -2, -1, 2, 4, 5, 2, 1, 1, 0, -1, -1, 0, 0, + 2, 3, 4, 5, 4, 2, 1, 0, -9, -9, -6, -3, -1, -1, -1, -1, + -6, -6, 4, 7, 0, -2, -1, -2, -1, -2, 5, 6, -1, -2, 0, -1, + 4, -1, 1, 0, -4, -2, 0, -2, 7, 1, -1, -2, -3, 1, 3, 1, + 4, 2, 1, 3, 3, 1, 1, 2, 2, -2, -4, 0, 3, 1, 0, 0, + 1, -4, -8, -4, 1, 2, 1, 0, 2, -3, -9, -6, 0, 3, 3, 2, + -1, -1, 0, -1, -1, 0, 1, 2, 3, 1, -4, -8, -7, -3, 1, 2, + 2, -1, -3, -2, -1, 0, 1, 0, -1, 0, 5, 11, 9, 3, -1, -3, + -1, -2, -2, -1, 1, 1, 1, 1, 0, -1, 0, 3, 6, 6, 5, 5, + 2, 1, -1, -1, -2, -5, -6, -4, 2, 2, 2, 1, -1, -4, -5, -5, + -1, -3, -6, -7, -6, -4, -1, 1, 5, 5, 3, 4, 4, 3, 4, 5, + -1, -2, -3, -2, -2, -2, 0, 1, 0, 0, 0, 0, 0, 1, 2, 3, + -6, -6, -4, -1, 2, 2, 2, 2, -6, -7, -5, -2, 0, -1, -1, 0, + 2, 2, 2, 4, 4, 3, 3, 4, 2, 1, 0, -1, 0, 0, 2, 4, + 12, 5, -5, -8, -5, 0, 2, 2, 2, -3, -6, -3, 0, 0, -1, -2, + -2, -3, -1, 3, 4, 1, -2, -3, 2, 2, 3, 4, 3, 1, -1, -1, + 3, 2, 1, 0, 1, 4, 3, 0, 4, 3, 0, -5, -6, 0, 3, 3, + 2, 3, 1, -7,-12, -6, 1, 3, 1, 3, 4, -1, -6, -4, 0, 1, + -9, -4, 2, 6, 7, 4, 1, 0, -7, -1, 4, 6, 4, 0, -3, -3, + -6, 0, 4, 4, 1, -2, -3, -2, -4, 1, 3, 2, 0, -2, -1, 0, + 0, 5, 2, -5, -3, 3, 1, -4, -2, 4, 2, -6, -3, 6, 4, -3, + -1, 5, 3, -5, -1, 7, 3, -4, -1, 2, 0, -6, -3, 5, 3, -3, + -8, -3, 3, 5, 3, 1, -2, -2, 2, 4, 4, -2, -4, -3, 1, 3, + 2, 1, -3, -5, -3, 3, 4, 3, -5, -6, -5, 3, 10, 8, -1, -5, + 0, 3, 2, -4, -9, -7, 0, 6, -5, -1, 5, 7, 4, -1, -3, -3, + -5, -5, -2, 3, 6, 5, -1, -4, 9, 6, 0, -4, -2, 1, 1, -1, + -1, -1, -1, 1, 1, 0, -1, 0, -1, 0, 0, 0, 0, -1, -1, 0, + 2, 1, -2, -1, 1, 1, 0, 0, 12, 8, 2, -1, -1, -4, -7, -7, + 2, 1, 3, 6, 7, 4, 2, 0, 1, 0, -1, 0, -1, -4, -7, -8, + 0, 0, -1, 0, 0, 0, -1, -3, 0, 0, 0, 0, 1, 1, 0, -2, + -1, 0, 1, 1, 0, 0, -1, -2, 0, 0, -1, -3, -4, -3, -1, 1, + -1, 0, 0, 0, 1, 4, 10, 12, -1, 0, -2, -2, -3, -3, -1, 1, + -3, -1, -2, -4, 2, 9, 9, 7, -3, 0, -1, -3, 0, 2, -1, 1, + -1, 1, -2, -3, 0, -1, -3, 0, 0, 0, -3, -2, 0, -1, -1, 1, + -1, -2, -1, -1, -2, -1, -1, -2, 2, -1, -2, -1, 0, 1, 0, -2, + 3, -1, -2, 2, 5, 3, -1, -3, 1, -5, -5, 1, 6, 6, 2, 0, + 1, 2, 0, -1, 0, 1, 0, -2, -5, -3, -1, 0, 1, 2, 1, -2, + -7, -5, -2, -2, -2, -2, 0, 1, -1, 0, 1, 1, 0, 3, 9, 12, + 0, 6, 5, 1, -2, -3, 0, 3, 0, 6, 5, 1, 1, 1, 2, 3, + -5, -2, -2, -3, 0, 0, 0, 0, -6, -3, -3, -2, 0, 0, -1, -2, + 4, 4, 2, 1, 0, -1, -1, 0, -2, -2, 0, 1, 2, 1, 1, 0, + 2, 2, 1, -1, -3, -5, -9,-10, 2, 1, -1, -1, 1, 4, 4, 1, + 4, 0, -2, -2, -2, -2, -1, 0, 7, 1, -4, -3, -2, 0, 1, 1, + 10, 5, -1, -2, 0, 1, 1, 0, 5, 1, -3, -4, -3, -1, -1, -2, + 2, 1, -1, -3, -3, 1, 1, -1, -2, -1, 3, 0, -1, 1, 1, 0, + -3, 1, 7, 2, -3, -2, -1, 0, -2, 4, 8, -1, -8, -5, 0, 2, + -4, -1, 1, 2, 1, -3, -4, -2, -5, -3, -2, 1, 4, 4, 4, 6, + -3, -2, -4, -3, 0, 1, 1, 2, 2, 2, 2, 1, 2, 1, -1, -1, + -4, -1, 0, -1, -3, -3, -1, -1, 1, 4, 4, 2, 0, -1, -2, -3, + 4, 6, 5, 3, 2, 1, -2, -4, 0, 1, 1, 1, 1, -1, -4, -6, + 1, 2, 2, -1, -6, -5, -1, 2, -3, -2, 1, 1, -4, -3, 2, 5, + -2, -1, 2, 2, -3, -4, 0, 3, -2, -2, 2, 6, 5, 2, 1, 2, + 2, -3, -3, 0, 0, 2, 3, 1, 3, -1, 1, 3, 1, 2, -1, -5, + -5, -7, -4, -2, 1, 8, 8, 1, -1, 0, 2, 0, -3, 0, 1, -3, + -2, -5, -5, -2, -3, -1, 0, -2, -1, -4, 0, 4, 0, 2, 4, 0, + 0, 0, 8, 10, 2, 1, 3, -1, -4, -3, 2, 3, -3, -3, 1, -1, + 1, -2, -4, 2, 7, 3, -2, -1, 6, 4, -2, -1, 2, 0, -1, 3, + 1, 1, -2, -2, -2, -5, -3, 4, -6, -2, 1, 1, -1, -4, -2, 4, + -2, -1, -2, -2, 0, 1, 0, -2, -1, 1, 0, -1, 0, 0, -1, -3, + 0, 1, -2, -4, -3, -1, 0, 0, 6, 8, 5, 0, 0, 1, 2, 3, + -2, -2, 2, 5, 2, 0, 0, 1, 2, -2, -2, -1, -1, 1, 2, 4, + 2, -1, 0, 1, 0, 0, 0, 1, -8, -7, -1, 1, -1, -1, 1, 3, + 0, 3, 6, 2, -2, 1, 2, 0,-10, -7, -1, 0, -3, -1, 2, 1, + 0, 0, 2, 2, 1, 1, 1, -1, 3, 0, -2, -2, 0, 2, 1, 0, + 8, 1, 0, 0, -2, -3, -1, 0, 2, -2, 2, 5, 1, -2, -1, 1, + -3, -6, -3, -1, -3, -3, -1, 2, 2, 0, 1, 2, 2, 1, 0, 0, + 1, -1, -1, -2, -1, 0, 1, 0, 15, 9, 2, -1, -2, -3, -3, -3, + 0, -3, -2, 0, 0, -1, -1, -1, 1, 0, 1, 0, 0, -1, -1, -1, + 0, 2, 2, -2, -3, -3, -7, -8, 0, 2, 2, 0, 1, 2, 1, 1, + 1, 2, 2, 2, 3, 1, 0, 3, 1, 0, -1, -2, -1, -2, 0, 5, + -11, -6, -1, 1, 2, 3, 1, -3, 1, 4, 3, -1, -2, 1, 2, -1, + 2, 2, 1, -1, -2, 0, 1, -1, 0, 0, -1, -1, 0, 2, 3, 2, + 1, 1, 2, 1, -1, 1, 0, -4, 0, 0, 0, -2, -2, 2, 4, -2, + -2, -3, 0, 0, -1, 2, 1, -6, 0, 2, 5, 5, 3, 2, -1, -7, + 4, 2, 0, 0, 3, 3, 1, -1, 0, -1, -1, 3, 6, 4, 1, -1, + -2, -2, 0, 2, 2, 0, -2, -2, -1, 0, -1, -5, -7, -5, -1, 1, + 5, -1, -2, 0, 2, 4, 2, -5, 0, -5, -2, 2, 1, 2, 0, -6, + 6, 1, 0, 1, -2, -1, 4, 2, 2, -3, -3, 0, -1, -2, 0, 0, + 1, -1, 0, 2, 0, 0, 6, 11, 2, -1, -1, 0, -3, -2, 3, 5, + 0, -2, -1, 0, -1, 0, 0, -3, 1, -1, -1, -1, -2, -1, -3, -7, + 1, 1, -2, -2, 1, 3, 1, -2, -1, 2, 0, -1, -1, 1, 0, 0, + -4, 2, 3, -1, -2, -2, 0, 1,-11, -2, 4, 5, 6, 2, -1, -2, + -6, -2, 1, -1, -3, -4, 1, 9, -3, 0, 3, 3, 2, -3, -3, 3, + 1, 1, 0, 0, 1, -1, -2, 3, 2, 0, -3, -3, 0, -1, -1, 3, + 1, -1, -3, 1, 2, -6, -4, 6, 0, -2, -5, -2, 0, -3, -2, 3, + 2, 2, 1, -2, -2, 1, 2, -1, -1, 1, 1, -2, -1, 6, 7, -1, + 1, 0, -4, -2, 1, -2, -3, 1, -4, 0, -3, -2, 2, 0, -3, 0, + -3, 4, 3, 1, 8, 7, 0, -1, -3, 4, 1, -4, 2, 3, -2, -3, + -3, 6, 1, -4, 1, 1, -1, -1, -2, 4, -3, -3, 3, 0, -1, -1, + 1, 2, -4, 2, 4, -3, -1, 2, 3, -1, -4, 5, 4, -6, -3, 2 +}; + +static const int8 s_svq1InterCodebook8x8[6144] = { + -4, -3, 4, 5, 2, 1, 1, 0, -5, -3, 5, 5, 2, 1, 0, 0, + -6, -4, 5, 5, 2, 1, 0, 0, -7, -4, 4, 5, 2, 1, 0, 0, + -8, -5, 3, 4, 2, 1, 0, 0, -8, -6, 3, 4, 1, 1, 1, 0, + -8, -6, 2, 4, 2, 1, 1, 0, -8, -6, 2, 4, 1, 1, 1, 1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -2, -2, -2, -2, -2, -2, -2, + -2, -3, -3, -3, -3, -3, -3, -3, -2, -3, -3, -3, -3, -3, -4, -3, + -2, -2, -2, -2, -2, -3, -3, -2, 1, 1, 1, 1, 1, 0, -1, -1, + 4, 5, 5, 5, 4, 3, 3, 2, 7, 7, 8, 8, 8, 7, 6, 5, + 2, 1, 2, 4, 4, 0, -4, -6, 1, 1, 2, 5, 5, 1, -5, -7, + 1, 2, 1, 4, 5, 1, -5, -8, 1, 1, 1, 5, 5, 0, -6, -8, + 0, 1, 1, 5, 6, 1, -6, -9, 0, 0, 1, 4, 5, 0, -5, -8, + 0, 0, 1, 4, 5, 0, -5, -7, 0, 0, 1, 4, 4, 1, -4, -7, + 1, 2, 3, 0, -3, -4, -3, -1, 1, 3, 4, 0, -3, -4, -3, -1, + 2, 4, 5, 1, -3, -4, -3, -2, 2, 5, 6, 1, -3, -5, -4, -2, + 3, 6, 6, 1, -3, -5, -4, -2, 3, 6, 6, 1, -3, -5, -4, -2, + 3, 6, 6, 1, -3, -5, -4, -2, 3, 5, 5, 1, -3, -4, -4, -2, + 2, 2, 2, 2, 1, 0, 0, -1, 4, 4, 4, 3, 2, 1, 1, 0, + 4, 5, 4, 4, 3, 3, 2, 1, 4, 4, 4, 4, 4, 3, 2, 2, + 2, 3, 3, 3, 3, 3, 2, 1, -1, -1, -1, -1, 0, 0, 0, 0, + -5, -6, -6, -5, -5, -4, -3, -3, -7, -9, -9, -8, -7, -6, -6, -5, + 6, 6, 6, 6, 6, 5, 5, 4, 4, 4, 4, 3, 3, 3, 3, 2, + 0, -1, -1, -1, -2, -2, -1, -1, -3, -5, -6, -6, -6, -6, -5, -4, + -3, -5, -6, -7, -6, -6, -5, -4, -1, -2, -2, -2, -2, -2, -1, -1, + 0, 1, 1, 1, 1, 1, 1, 1, 3, 3, 3, 3, 3, 3, 3, 3, + 2, 1, -2, -5, -4, 0, 2, 5, 2, 1, -2, -6, -5, 0, 3, 5, + 2, 1, -2, -6, -6, -1, 3, 6, 3, 2, -2, -7, -6, 0, 4, 7, + 2, 1, -2, -7, -5, 0, 5, 7, 2, 1, -2, -6, -5, 0, 4, 7, + 2, 1, -2, -6, -4, 0, 4, 6, 1, 1, -2, -5, -4, 0, 3, 6, + -10, -9, -6, -4, -1, 2, 3, 2,-10, -9, -5, -3, 0, 4, 4, 3, + -9, -7, -3, -1, 2, 5, 5, 3, -7, -5, -2, 0, 3, 5, 5, 3, + -6, -3, 0, 1, 4, 6, 5, 3, -4, -2, 1, 2, 3, 5, 4, 2, + -2, 0, 1, 2, 2, 4, 3, 1, -1, 1, 2, 2, 2, 3, 3, 1, + -4, -5, -5, -6, -6, -6, -6, -5, -3, -3, -4, -4, -4, -4, -4, -4, + 0, 0, 0, 0, -1, -1, -1, -1, 5, 5, 6, 5, 5, 4, 3, 2, + 5, 6, 7, 7, 7, 6, 5, 4, 3, 3, 4, 4, 4, 4, 3, 2, + 0, -1, 0, 0, -1, -1, 0, -1, -3, -3, -4, -4, -4, -4, -3, -3, + 1, -2, -5, 1, 5, 4, 2, 0, 1, -3, -6, 1, 6, 5, 2, 0, + 0, -4, -7, 0, 6, 6, 2, 1, -1, -5, -9, -1, 6, 6, 3, 1, + -1, -6,-10, -2, 6, 6, 3, 1, -1, -6, -9, -2, 5, 6, 3, 1, + -2, -6, -9, -2, 5, 5, 3, 1, -2, -6, -7, -2, 4, 4, 2, 1, + -5, -7, -8, -9, -9, -8, -7, -6, -5, -6, -6, -7, -7, -6, -6, -5, + -3, -3, -3, -4, -5, -5, -4, -4, -1, 0, 0, -1, -1, -1, -1, -1, + 0, 1, 2, 2, 2, 2, 2, 1, 2, 3, 4, 5, 5, 5, 5, 4, + 3, 4, 5, 6, 8, 8, 8, 7, 3, 4, 5, 6, 7, 7, 7, 6, + 5, 6, 7, 8, 9, 10, 10, 9, 3, 4, 6, 7, 8, 9, 9, 8, + 0, 1, 2, 3, 4, 5, 5, 5, -1, -2, -1, -1, 0, 1, 2, 2, + -2, -3, -3, -3, -3, -2, -1, 0, -3, -4, -5, -5, -5, -5, -5, -4, + -4, -5, -5, -6, -7, -7, -6, -5, -3, -4, -5, -6, -7, -7, -6, -6, + 13, 7, 0, -3, -3, -4, -4, -5, 14, 7, 0, -3, -3, -4, -4, -4, + 15, 8, -1, -4, -4, -4, -5, -4, 15, 8, -1, -4, -4, -5, -4, -3, + 15, 7, -1, -4, -5, -5, -5, -4, 14, 7, -1, -4, -4, -4, -4, -3, + 12, 6, -1, -4, -4, -4, -4, -3, 11, 5, -1, -4, -4, -4, -4, -3, + -17, -4, 5, 4, 4, 4, 3, 3,-18, -5, 5, 4, 4, 4, 3, 3, + -19, -5, 6, 4, 4, 4, 3, 2,-20, -5, 6, 4, 4, 4, 3, 3, + -20, -4, 6, 4, 4, 5, 3, 3,-19, -5, 6, 4, 4, 5, 3, 3, + -18, -4, 5, 4, 4, 4, 3, 2,-17, -5, 4, 3, 4, 4, 3, 3, + -6, -6, -6, -4, -2, 1, 6, 11, -6, -7, -7, -4, -2, 2, 8, 13, + -8, -8, -7, -4, -2, 3, 9, 14, -8, -8, -7, -5, -1, 4, 10, 16, + -8, -8, -7, -5, -1, 4, 10, 17, -8, -8, -7, -4, 0, 5, 10, 16, + -8, -8, -6, -3, 0, 4, 9, 15, -7, -7, -5, -3, 0, 4, 8, 12, + 8, 7, 7, 5, 2, -2, -8,-14, 8, 8, 7, 5, 2, -2, -8,-15, + 8, 8, 7, 5, 1, -3, -9,-16, 8, 8, 7, 5, 1, -3,-10,-17, + 8, 9, 8, 5, 1, -3,-10,-17, 8, 8, 7, 4, 1, -4,-10,-16, + 7, 7, 7, 4, 1, -3, -9,-14, 6, 7, 6, 3, 0, -3, -9,-13, + 5, 1, -4, -4, -3, -1, 0, 0, 7, 2, -3, -3, -2, -1, 1, 0, + 7, 1, -3, -3, -1, 0, 1, 1, 6, 1, -3, -2, -1, 1, 1, 0, + 6, 0, -4, -2, -1, 0, 1, 0, 5, 0, -4, -3, -1, 0, 0, -1, + 5, 0, -3, -1, 0, 0, 0, -2, 4, 1, -2, -1, 0, 1, 0, -1, + 2, 2, 1, 1, -2, -6, -8, -8, 1, 1, 1, 1, -2, -5, -8, -8, + 1, 1, 1, 0, -1, -3, -5, -5, 0, 0, 0, 0, -1, -1, -1, -2, + 0, -1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 2, 3, 2, + 2, 1, 1, 1, 2, 3, 4, 3, 3, 3, 3, 3, 4, 4, 5, 4, + -4, -4, -3, -2, 0, 0, 1, 1, -4, -4, -3, -2, -1, 0, 0, 1, + -2, -2, -2, -1, -1, -1, 0, 0, 0, 1, 0, 0, 0, 0, 0, -1, + 2, 2, 2, 2, 2, 2, 1, 1, 3, 4, 4, 4, 4, 4, 4, 3, + 1, 1, 1, 3, 3, 4, 3, 3, -5, -6, -5, -4, -3, -3, -2, -2, + -4, -2, -1, -1, -1, -1, 0, 1, -4, -2, -1, -1, -1, -1, 0, 1, + -3, -2, -1, -1, -1, 0, 1, 2, -4, -3, -2, -1, -1, 1, 3, 3, + -4, -3, -3, -1, -1, 1, 4, 5, -4, -3, -2, -2, -1, 1, 4, 7, + -2, -2, -1, -1, 0, 2, 6, 8, -1, 0, 0, 1, 1, 4, 7, 8, + -3, -3, -3, -2, -2, -1, -1, 0, -1, -1, 0, 1, 2, 2, 3, 3, + 0, 1, 2, 4, 5, 6, 6, 5, -1, 0, 2, 3, 5, 6, 5, 3, + -1, -1, 0, 2, 3, 3, 2, 1, -2, -2, -1, 0, -1, -3, -4, -4, + 0, 0, -1, -1, -2, -4, -8, -7, 1, 2, 1, 0, -1, -4, -6, -7, + -2, 4, 1, -6, 0, 3, 0, 0, -2, 5, 1, -7, 0, 3, 0, 0, + -3, 5, 1, -8, 0, 3, -1, -1, -2, 6, 1, -9, 0, 3, 0, -1, + -2, 6, 2, -8, 0, 4, 0, -1, -3, 5, 1, -7, 1, 4, 0, 0, + -2, 4, 1, -7, 0, 4, 1, 0, -1, 4, 1, -6, 0, 3, 1, 0, + 0, 0, 0, 3, 4, 5, 4, 1, 1, 1, 1, 2, 3, 3, 2, 0, + 2, 2, 1, 2, 2, 1, -1, -2, 4, 3, 1, 1, 0, -1, -3, -5, + 5, 3, 1, -1, -2, -3, -4, -6, 5, 3, 0, -2, -3, -5, -6, -7, + 4, 3, 0, -2, -3, -4, -5, -5, 4, 3, 0, -1, -2, -2, -3, -3, + 0, 0, 0, 0, -1, -5, -2, 6, 0, 0, 0, 1, -1, -6, -2, 8, + 0, 0, 0, 2, 0, -6, -3, 9, 0, -1, 0, 2, 0, -7, -2, 10, + 0, -1, 0, 2, -1, -8, -3, 10, 0, -1, -1, 2, -1, -7, -3, 9, + 0, -1, 0, 1, -1, -6, -3, 8, 0, 0, 0, 1, 0, -5, -2, 7, + 2, 3, 3, 2, 1, 0, -1, -1, 3, 4, 3, 2, 1, 0, -1, -2, + 3, 4, 4, 2, 1, -1, -2, -3, 2, 3, 3, 2, 0, -1, -2, -3, + -1, 0, 1, 1, 0, -1, -2, -2, -5, -4, -3, -1, 0, 1, 1, 1, + -8, -8, -5, -1, 1, 3, 4, 3,-10, -9, -5, 0, 3, 5, 6, 5, + -5, -1, 4, 5, 3, 1, 0, 0, -6, -1, 4, 5, 2, 0, -1, -2, + -6, -1, 5, 4, 2, -1, -2, -2, -7, -1, 4, 4, 1, -2, -3, -3, + -6, -1, 5, 4, 1, -2, -3, -3, -5, 0, 4, 4, 1, -1, -2, -2, + -4, 0, 5, 4, 1, -1, -1, -2, -3, 1, 4, 3, 1, -1, -1, -2, + -2, -3, -2, 1, 4, 6, 5, 3, -3, -4, -4, 0, 3, 5, 4, 2, + -3, -5, -5, -1, 2, 4, 3, 1, -4, -6, -4, -1, 2, 4, 2, -1, + -2, -4, -3, 1, 2, 4, 2, -1, -2, -4, -2, 1, 3, 3, 1, -2, + -2, -3, -2, 1, 3, 3, 1, -2, -2, -2, -1, 1, 3, 3, 0, -2, + -4, -4, -3, -2, -1, 2, 5, 7, -4, -4, -3, -3, -2, 1, 5, 7, + -2, -3, -2, -3, -3, -1, 3, 5, -1, -1, 0, -2, -3, -2, 2, 4, + 1, 1, 1, -1, -4, -3, 1, 3, 4, 3, 2, -1, -4, -3, -1, 1, + 6, 4, 3, 0, -3, -3, -2, 0, 6, 5, 3, 1, -2, -3, -2, -1, + 12, 11, 8, 4, 0, -2, -2, -1, 10, 9, 6, 2, -1, -2, -1, 0, + 4, 3, 2, 0, -1, -1, 0, 1, -1, -1, -1, -1, -2, 0, 1, 2, + -3, -5, -4, -2, -2, 0, 2, 3, -5, -5, -4, -2, -1, 0, 1, 2, + -5, -5, -4, -2, -1, 0, 1, 1, -4, -4, -3, -2, -2, -1, 0, 0, + 3, 3, 2, -1, -3, -4, -3, -2, 3, 2, 0, -2, -4, -4, -3, -2, + 2, 2, 1, -1, -3, -5, -4, -3, 3, 3, 3, 1, -2, -3, -3, -3, + 4, 4, 4, 3, 0, -2, -2, -2, 5, 5, 5, 3, 0, -1, -2, -2, + 5, 5, 4, 2, -1, -2, -3, -2, 3, 3, 3, 0, -2, -4, -4, -4, + -1, -1, 4, -2, -2, 6, 2, -5, -1, 0, 4, -2, -3, 6, 2, -6, + -1, 0, 4, -2, -3, 7, 3, -7, -1, -1, 4, -3, -4, 8, 3, -7, + 0, -1, 4, -3, -4, 7, 3, -6, -1, -1, 4, -3, -4, 7, 3, -6, + -1, -1, 3, -3, -4, 6, 3, -6, -1, 0, 3, -2, -3, 6, 3, -5, + 1, -2, -7, 2, 5, -2, -1, 1, 1, -2, -8, 3, 6, -3, -1, 2, + 2, -2, -9, 4, 7, -4, -2, 2, 3, -1, -9, 5, 7, -4, -1, 3, + 3, -1, -9, 4, 7, -4, -2, 2, 3, -1, -7, 4, 6, -4, -2, 1, + 2, 0, -6, 4, 6, -4, -1, 1, 2, 0, -5, 3, 4, -3, -1, 1, + -2, 2, 2, 0, 0, -1, -3, -4, -2, 2, 2, 1, 1, 0, -2, -4, + -2, 2, 2, 2, 2, 1, -1, -2, -3, 2, 3, 3, 4, 2, 0, -2, + -3, 2, 3, 2, 4, 2, 0, -3, -4, 1, 2, 1, 2, 1, -1, -3, + -5, 0, 1, 0, 1, 1, -2, -3, -4, 0, 0, 0, 1, 0, -2, -3, + 0, 0, -1, -2, -2, 2, 7, 8, 0, 0, -1, -3, -2, 1, 6, 7, + 0, 1, -1, -3, -3, 0, 4, 5, 0, 1, 0, -1, -1, 0, 1, 3, + 0, 2, 1, 1, 0, -1, 0, 1, -2, 0, 1, 2, 1, 0, -1, -1, + -5, -2, 0, 1, 1, 0, -3, -3, -6, -4, -1, 1, 1, -1, -3, -4, + -4, -2, 2, 5, 6, 4, 3, 2, -5, -3, 1, 4, 4, 2, 0, 0, + -4, -2, 0, 2, 1, -1, -2, -2, -2, -1, 0, 1, 0, -2, -3, -2, + -2, 0, 0, 0, -1, -1, -2, -1, -2, -1, -1, 0, 0, 0, 1, 2, + -2, -2, -1, -1, 0, 1, 3, 4, -2, -3, -2, -1, 0, 2, 4, 5, + 2, 1, -2, -2, -1, 0, 1, 0, 1, 0, -3, -3, -1, 0, 1, 0, + 0, -1, -3, -3, -1, 1, 1, 1, 0, 0, -3, -1, 1, 2, 3, 3, + 0, -1, -3, -1, 1, 3, 3, 3, -2, -2, -4, -2, 1, 3, 4, 4, + -3, -3, -4, -2, 1, 3, 3, 4, -2, -3, -5, -2, 1, 2, 3, 3, + 4, 5, 3, 4, 4, 4, 4, 5, 3, 3, 1, 0, 0, 0, 0, 1, + 1, 1, -1, -2, -3, -4, -3, -2, 2, 2, 0, -2, -2, -4, -3, -2, + 2, 3, 1, -1, -1, -3, -3, -2, 1, 2, 0, 0, -1, -2, -2, -1, + 0, 1, 0, -1, -1, -3, -2, -1, 1, 1, 0, -1, -1, -2, -2, -2, + -2, -1, -1, 0, 1, 2, 1, 0, 1, 2, 3, 5, 6, 5, 5, 3, + 1, 2, 3, 4, 5, 5, 4, 3, -2, -2, -3, -3, -2, -1, 0, 0, + -3, -3, -4, -5, -4, -3, -2, -1, -1, -1, -2, -2, -2, -1, 0, 0, + 0, 1, 0, -1, -1, 0, 0, 1, -1, 0, -1, -2, -3, -2, -2, -1, + 7, 7, 6, 5, 4, 2, -1, -2, 3, 3, 2, 2, 1, 0, -2, -3, + 0, -1, -1, -1, 0, -1, -2, -2, -1, -3, -2, -1, 0, 0, 0, 1, + 0, -2, -2, -1, -1, 1, 2, 2, 3, 1, -1, -1, -1, 1, 2, 2, + 3, 1, -2, -3, -2, -1, 1, 2, 1, -2, -5, -6, -5, -3, -2, 0, + 0, -1, -2, -3, -1, 0, -2, -2, 0, 0, -1, -1, 0, 1, -1, -2, + 0, 0, -2, -1, 0, 0, 0, -2, -1, -2, -3, -3, -2, -1, -3, -3, + -1, -2, -3, -3, -2, -2, -3, -4, 2, 2, 0, 0, 0, 0, -1, -2, + 5, 5, 3, 2, 2, 2, 0, -1, 8, 8, 6, 5, 4, 4, 2, 1, + -7, -8, -6, -3, -1, -1, -2, -1, -5, -5, -3, 0, 2, 1, 0, 0, + -1, -1, 0, 3, 4, 3, 1, 1, 2, 1, 1, 3, 4, 3, 2, 2, + 3, 2, 0, 2, 3, 2, 1, 2, 4, 2, -1, -1, 0, 1, 1, 1, + 3, 2, -2, -3, -2, -1, 0, 1, 3, 1, -3, -4, -3, -2, 0, 1, + -4, -2, -1, 2, 3, 3, 1, 0, -7, -5, -4, -2, 0, 0, -1, -2, + -6, -5, -5, -4, -2, -2, -2, -3, -1, 0, -1, -1, 0, 0, 0, -1, + 2, 3, 2, 2, 2, 2, 1, 0, 3, 5, 4, 3, 1, 0, 1, 0, + 3, 4, 3, 2, 0, -1, -1, -1, 5, 5, 3, 1, 0, -1, -1, -1, + 1, 1, 0, -1, -3, -5, -6, -4, 1, 1, 0, 0, 0, -3, -3, -1, + 0, -1, -1, 0, 1, 0, 1, 3, -2, -2, -3, -1, 2, 2, 4, 7, + -2, -2, -2, 0, 2, 2, 3, 6, -1, 0, 0, 1, 1, 0, 0, 3, + 0, 3, 3, 3, 1, -2, -3, -1, 1, 3, 4, 3, 0, -3, -5, -4, + 0, 2, 0, -1, -3, -4, -2, -2, 1, 4, 2, 0, -2, -3, -2, -1, + 3, 6, 3, 1, -2, -2, 0, -1, 4, 7, 4, 1, -2, -3, -1, 0, + 3, 6, 3, 0, -3, -3, -1, 0, 1, 3, 0, -1, -3, -2, 1, 1, + 0, 1, -1, -2, -3, -1, 2, 2, -2, -1, -3, -3, -3, -1, 1, 2, + 3, 1, -1, 0, 1, 0, 0, 0, 2, -1, -2, -1, 1, 0, -1, -1, + 1, -1, -2, 0, 1, 0, -2, -3, 0, -2, -1, 1, 3, 1, -3, -5, + 0, -2, -1, 2, 5, 2, -3, -5, 0, -2, -1, 4, 6, 3, -2, -5, + 0, -2, 0, 4, 7, 4, -2, -4, 0, -2, 0, 4, 6, 4, -2, -4, + -2, -2, -3, -4, -3, -2, -1, 0, 1, 1, 0, -1, -1, -1, 0, 1, + 3, 3, 2, 2, 1, 1, 1, 1, 2, 2, 2, 2, 1, 0, 0, 1, + 0, 0, 0, 0, -1, -1, -1, -1, -4, -4, -4, -4, -4, -4, -4, -3, + -3, -3, -2, -3, -2, -1, -1, 0, 3, 4, 4, 5, 5, 6, 6, 7, + -1, -2, 7, -2, -4, -1, -1, 0, -1, -2, 9, -1, -4, -1, -1, 0, + -1, -3, 10, -1, -4, -1, -1, 1, -1, -3, 10, -2, -3, -1, -1, 2, + -1, -2, 10, -2, -4, -1, -1, 2, -1, -2, 9, -2, -4, -1, -1, 2, + -1, -2, 8, -2, -4, 0, -1, 1, 0, -2, 7, -2, -3, -1, 0, 2, + 3, -4, 1, 3, -3, -2, 1, 0, 3, -5, 1, 4, -3, -2, 1, 0, + 3, -6, 2, 5, -3, -1, 3, 0, 3, -6, 2, 5, -3, -1, 2, 0, + 3, -6, 1, 5, -4, -2, 3, 0, 3, -6, 1, 5, -3, -2, 2, 0, + 2, -6, 1, 4, -3, -1, 1, 0, 2, -6, 1, 4, -2, -1, 1, 0, + 0, 0, 1, 1, 1, 0, 0, 2, 0, -1, 1, 1, 1, 0, 0, 2, + 0, -1, 0, 0, 0, 0, 0, 2, 0, -1, 0, 0, 0, 0, -1, 0, + 1, 0, 1, 0, 0, -1, -2, -1, 3, 1, 1, 0, 0, -2, -4, -3, + 5, 3, 2, 1, 0, -3, -5, -4, 5, 4, 2, 0, -1, -4, -5, -5, + 1, 0, -1, -2, -2, -3, -6, -9, 2, 0, -1, -1, 0, 0, -3, -6, + 1, 0, 0, -1, 0, 0, -2, -5, 2, 1, 1, 1, 1, 2, -1, -3, + 1, 1, 2, 1, 2, 2, 1, -1, 1, 1, 2, 1, 1, 1, 1, 1, + 0, 0, 2, 1, 0, 0, 2, 2, 0, 1, 2, 2, 0, 0, 2, 2, + -4, -3, 0, 1, 4, 6, 4, 3, -3, -2, 0, 0, 2, 4, 1, 0, + -1, -1, 0, 0, 1, 1, -2, -3, 1, 1, 1, 0, 1, 1, -3, -5, + 1, 1, 1, 0, 1, 1, -3, -5, -1, 0, 0, -1, 1, 1, -2, -4, + -1, 0, 0, -1, 1, 2, 0, -2, -1, 0, 0, 0, 2, 3, 1, 0, + -1, 0, 3, 4, 0, -4, -5, -5, 0, 0, 4, 5, 2, -2, -3, -2, + 0, -1, 2, 4, 2, -1, -1, 0, 0, -2, -1, 1, 0, -2, 0, 1, + 1, -2, -2, 0, 0, -1, -1, 1, 1, -2, -3, 0, 1, 0, -1, 0, + 1, -2, -2, 1, 3, 1, 0, 0, 1, -2, -1, 2, 4, 2, 0, 0, + 1, 2, 3, 2, 0, 2, 2, 1, -1, 0, 1, 0, -3, 1, 1, 1, + -1, 0, 0, -2, -4, 0, 2, 1, -1, 2, 2, -1, -5, 0, 2, 1, + -1, 3, 4, -1, -5, 0, 2, 1, -2, 2, 4, 0, -4, -1, 0, 0, + -4, 0, 2, 0, -4, -2, 0, 0, -5, -1, 2, 1, -2, 1, 3, 2, + 1, 0, 1, 0, 1, 2, -1, -2, 2, 0, -1, -2, 1, 3, 0, -1, + 3, 0, -2, -4, 0, 3, 1, 0, 5, 1, -3, -5, -2, 2, 1, 1, + 6, 1, -2, -5, -2, 1, 0, 1, 5, 1, -1, -5, -2, 0, -1, 0, + 3, 0, -2, -4, -2, 0, -1, 0, 1, -1, 0, -2, 0, 1, 0, 1, + 1, 1, 2, 3, 2, 1, 1, 2, -1, -1, 0, 1, 1, 0, 1, 1, + -4, -3, 0, 0, 1, 1, 1, 2, -4, -3, 0, 2, 2, 2, 3, 2, + -5, -4, 0, 1, 1, 1, 1, 2, -5, -4, -1, -1, -2, -2, -1, 0, + -3, -2, 0, 0, -2, -3, -2, -1, 2, 3, 4, 4, 2, 0, 0, 0, + -4, -2, 0, 1, 0, 0, 0, 0, -3, -1, 1, 1, 0, 0, 0, 0, + -2, 0, 2, 2, 0, 0, 0, 2, -1, 1, 2, 1, -1, 0, 3, 5, + 0, 2, 1, -1, -2, 0, 5, 6, 0, 1, 0, -3, -3, 0, 4, 6, + 1, 1, -2, -4, -4, -3, 1, 2, 1, 0, -2, -4, -5, -4, -2, 0, + -1, -3, -3, -3, -3, -2, -1, -1, 3, 2, 1, 0, 0, 1, 1, 1, + 5, 4, 3, 2, 1, 1, 2, 2, 2, 1, 0, -2, -2, -2, -1, -1, + 0, 0, 0, -1, -2, -2, -2, -2, 0, 1, 3, 3, 2, 1, -1, -1, + 0, 1, 3, 4, 3, 2, 1, -1, -4, -3, -1, 1, 0, -2, -3, -3, + -3, -4, -7, -8, -7, -4, -1, 2, 0, -1, -3, -4, -4, -2, 0, 2, + 1, 0, 0, -1, -3, -2, 0, 2, 2, 1, 1, 0, -1, -1, 0, 2, + 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 0, 0, 1, 2, 3, 3, 2, 2, 0, 0, 1, 3, 4, 4, 3, 2, + 3, 3, 3, 0, -1, 0, 1, 2, 1, 1, 1, -1, -2, -1, -1, 1, + -2, -2, -1, -3, -3, -2, -2, 0, -4, -4, -2, -2, -2, -2, -3, 0, + -4, -4, -1, 1, 1, 0, -1, 2, -3, -1, 2, 3, 4, 3, 3, 5, + -2, 0, 2, 3, 3, 3, 3, 3, -2, -2, 0, 0, 0, 0, 0, 1, + 0, 2, 1, -1, -3, -1, 3, -2, -1, 0, -1, -1, -3, 0, 4, -2, + -2, -2, -2, -2, -2, 1, 5, -2, -3, -2, -3, -1, -2, 1, 4, -3, + -2, 0, -1, 0, -1, 0, 3, -5, 1, 2, 1, 2, 0, 0, 2, -5, + 2, 4, 2, 3, 1, 1, 3, -3, 1, 2, 1, 1, 0, 1, 4, -2, + 4, -3, -4, -1, 3, 3, 1, 3, 4, -4, -4, -1, 3, 2, 0, 2, + 4, -3, -4, 0, 2, 2, -1, 1, 4, -3, -2, 1, 2, 1, -2, 0, + 2, -4, -2, 1, 2, 0, -3, 0, 2, -3, -2, 0, 1, 0, -2, 2, + 3, -1, -1, 0, 0, 0, 0, 3, 2, -2, -2, -2, -1, -1, -1, 2, + 2, 2, 3, 4, 3, 1, 0, -1, 1, 0, 1, 2, 1, -1, -2, -2, + 2, 1, 2, 1, 1, 0, -1, -1, 4, 3, 4, 3, 2, 1, 1, 1, + 3, 2, 2, 2, 1, 1, 1, 1, -1, -2, -1, 0, -1, -1, -1, -1, + -3, -3, -2, -1, -2, -2, -2, -2, -4, -4, -3, -3, -4, -4, -3, -3, + 2, 1, -1, -3, -4, -2, 3, 4, 2, 2, 1, -1, -3, -2, 1, 2, + 1, 2, 3, 3, 0, -2, -1, -2, -1, 0, 2, 4, 2, 0, -1, -3, + -2, -2, 0, 3, 3, 2, 0, -3, 0, -2, -3, -1, 1, 2, 2, -1, + 3, -1, -4, -5, -3, 0, 2, 0, 6, 3, -2, -6, -5, 0, 3, 1, + -2, 3, -2, 0, 3, -2, -2, 1, -3, 4, -3, 0, 3, -2, -1, 2, + -3, 5, -3, 0, 4, -2, -1, 2, -2, 4, -4, -1, 3, -3, -2, 2, + -3, 4, -3, 0, 3, -3, -1, 2, -2, 5, -2, 0, 3, -3, -1, 2, + -2, 4, -3, 1, 3, -2, -1, 2, -2, 3, -2, 1, 3, -2, 0, 2, + 1, 0, 0, -1, 1, 2, -4, -1, 2, 0, 0, -1, 1, 2, -4, -2, + 1, 1, 1, -1, 2, 4, -2, 0, 0, -1, 1, -1, 2, 5, -1, 1, + 0, -1, 0, -2, 1, 5, -1, 1, 0, -1, -1, -2, 0, 3, -3, -1, + 1, 1, 0, -2, 0, 3, -3, -1, 1, 1, 0, -3, 0, 3, -2, 0, + 1, 0, -1, 1, 1, 2, 4, 5, 1, 0, -1, 1, 1, 1, 5, 7, + 0, 0, -2, -1, -1, 0, 3, 5, 0, -1, -2, -1, -1, -1, 2, 3, + 0, -1, -3, -1, -1, -1, 1, 2, -1, -2, -4, -2, -2, -2, 0, 0, + -1, -2, -2, -1, -2, -2, 0, 0, 0, -1, -1, 0, -1, -1, 0, 0, + 3, 3, 0, -1, -1, 1, 4, 4, 2, 3, 0, -2, -2, 0, 1, 1, + 2, 3, 1, -1, -1, 0, 1, 0, 1, 2, 0, -1, -1, -1, 0, -2, + 0, 1, 0, -1, -2, -1, 0, -2, 0, 1, 0, -1, -2, -1, 1, 0, + 1, 1, -1, -3, -4, -3, 1, 3, 1, 2, -1, -3, -5, -4, 1, 3, + -3, -2, 0, 1, 1, 1, 0, -2, 0, 1, 1, 1, 0, 0, -1, -3, + 1, 2, 1, 1, 0, -1, -1, -2, 0, -1, -3, -1, -1, -1, 0, -1, + 0, -3, -6, -3, -2, -1, 1, 1, 2, -1, -4, -3, -2, 0, 2, 2, + 5, 4, 1, 1, 0, 1, 3, 2, 5, 4, 2, 1, 0, -1, 0, 1, + -2, 0, -2, -5, -6, -3, 0, 0, -2, 0, 1, 0, -1, 1, 2, 2, + -2, 0, 1, 3, 2, 2, 2, 1, -2, 0, 2, 4, 3, 2, 1, 1, + -2, 0, 2, 3, 2, 0, -1, 0, -3, -1, 1, 1, 0, -1, -1, 1, + -4, -1, 1, 0, -1, -2, 0, 2, -4, -1, 0, -1, -1, -2, 1, 4, + -3, 0, 0, -1, 1, 1, 1, 0, -3, 1, 0, -1, 0, 0, -1, -1, + -1, 3, 3, 0, 1, 0, 0, 1, -3, 2, 2, -2, -1, 0, 0, 1, + -5, 0, 0, -2, -1, 1, 0, 2, -7, -2, 1, 0, 1, 2, 2, 2, + -5, 0, 3, 2, 3, 3, 2, 2, -3, 2, 4, 1, 0, 0, -2, -3, + 5, 2, -2, -2, 0, -1, -1, -1, 2, -1, -4, -3, -1, -2, -1, -1, + 0, -2, -2, 1, 2, -1, 0, 1, -1, -2, -1, 3, 3, -1, 0, 2, + 1, 0, 0, 3, 3, -2, -1, 2, 2, 1, 1, 3, 2, -2, -2, 0, + 1, 0, -1, 1, 1, -3, -3, -2, 1, 0, 1, 2, 3, 0, 0, 0, + -4, -5, -3, 0, 1, -1, -2, -1, -2, -3, -1, 1, 2, 0, 0, 0, + 1, 1, 2, 1, 2, 1, 1, 1, 3, 4, 3, 1, 0, -2, -1, -1, + 3, 3, 2, 0, -2, -3, -3, -2, 1, 1, 0, -1, -2, -4, -2, -2, + 2, 1, 0, 0, 0, -1, 0, 1, 2, 1, 1, 1, 1, 1, 1, 3, + 0, 0, 0, -1, -2, -1, 1, 0, -2, -1, -1, -2, -3, -2, 0, 0, + -1, 0, 0, -1, -2, 0, 1, 1, 1, 1, 0, -1, -1, 1, 3, 1, + 2, 2, 0, -2, -1, 2, 3, 0, 3, 1, -1, -1, 1, 4, 2, -2, + 2, 0, -3, -1, 3, 5, 0, -5, 1, -1, -2, 0, 3, 3, -1, -6, + -1, 0, 3, 4, 2, 0, 1, 2, -2, -1, 0, 1, -1, -2, 0, 1, + -2, -3, -2, -3, -6, -7, -6, -3, 2, 2, 3, 1, -1, -2, -3, -2, + 2, 2, 3, 1, 0, 0, 0, 0, 2, 1, 1, 0, 1, 1, 0, 1, + 1, 0, 0, 0, 0, 1, 1, 2, 1, 0, -1, 0, 0, 2, 2, 1, + 1, 1, 3, 1, -1, -1, -1, 1, -2, -1, 0, 0, -2, -2, -1, 2, + -2, -2, 1, 1, 1, 0, 1, 3, -2, -2, 0, -1, 0, -1, 0, 2, + 0, 0, 1, 0, -1, -1, -2, 1, 3, 2, 2, 1, 0, -2, -2, 1, + 5, 3, 3, 2, 1, 1, 1, 4, 0, -3, -4, -5, -4, -3, -1, 1, + -6, -4, -1, 2, 2, 0, 0, -1, -4, -2, 1, 3, 3, 2, 2, 0, + -3, -2, -1, 2, 3, 3, 2, 0, -3, -2, -2, 1, 2, 1, 1, -1, + -2, -2, -2, 0, 2, 2, 1, -1, -1, -1, -1, 1, 2, 3, 2, 0, + -1, -1, -2, 1, 2, 2, 2, -1, 0, -1, -2, 0, 2, 1, 0, -1, + 6, 4, 2, 1, 0, 0, 0, 1, 4, 2, -1, -2, -2, -2, -1, -1, + 2, 1, -1, -2, -2, -2, -2, -1, 2, 2, 0, -2, -2, -2, -1, 0, + 0, 0, -1, -2, -2, -1, 0, 1, -3, -3, -2, -1, -1, -2, -1, 0, + -3, -2, 2, 3, 2, 0, -1, -2, -2, 0, 4, 5, 5, 2, 0, -1, + 5, 4, 2, 0, -1, -2, -1, -1, 4, 3, 2, 1, 0, -1, 0, -1, + 1, 1, 0, 1, 1, 0, 1, -1, -2, -1, -1, 0, 0, -2, -2, -3, + -1, 0, 0, 0, -1, -3, -3, -5, 0, 1, 1, -1, -1, -2, -2, -3, + -1, -1, -1, -2, -1, 1, 3, 1, -1, -2, -2, -1, 2, 5, 6, 5, + -3, -3, -2, 1, 1, -2, -1, -1, 1, 2, 3, 4, 1, -3, -1, -3, + 3, 2, 0, 1, -1, -3, -1, -3, 1, 0, -1, 0, -1, -1, 1, 0, + 1, 1, 0, 1, 2, 2, 5, 3, 1, 1, 1, 2, 2, 2, 3, 0, + -3, -1, -2, -2, -3, -3, -1, -3, -1, 1, 1, 0, -1, -1, 0, -2, + 2, 0, -2, -2, 2, 4, 1, -2, 1, 0, -2, -1, 3, 5, 2, -1, + -1, -2, -3, -2, 1, 3, 1, -2, -1, -2, -1, -1, 0, 2, 1, -1, + 0, 0, 1, 1, 1, 2, 2, 0, 0, 1, 4, 4, 2, 2, 3, 1, + -2, -1, 2, 1, -2, -3, -2, -3, -1, 0, 1, 0, -3, -4, -4, -5, + 4, 0, -3, -4, -4, -4, -2, -1, 5, 0, -1, 0, -1, -3, -2, -1, + 4, 0, 0, 1, 1, 0, 0, 0, 0, -3, -2, -1, 0, 0, 1, 0, + 0, -2, 0, 0, 1, 1, 2, 1, 2, 0, 0, 0, 1, 1, 1, 0, + 2, 0, -1, -1, 1, 1, 1, 0, 1, -1, -2, -2, 0, 2, 2, 2, + -3, -5, -2, 0, -1, -3, -3, 0, 0, -2, 0, 2, 2, 0, 0, 3, + 2, -1, -2, 0, 0, -1, -1, 2, 5, 2, -1, -1, -1, -1, -1, 2, + 5, 2, 0, -1, -1, 0, -1, 2, 2, 1, 0, 0, 0, 1, 0, 2, + -1, -1, 1, 1, 2, 2, 1, 2, -3, -2, 0, 0, 0, 0, -2, -1, + 0, 3, 2, 0, -2, -3, -3, -3, 0, 3, 3, 1, 0, 0, 1, 2, + -1, 0, -1, -2, -1, -1, 1, 3, -1, 0, -1, -2, -1, -1, 0, 2, + -1, 0, -1, -2, 0, 0, -1, 2, -1, 0, -1, -2, -1, -1, -2, 1, + 0, 1, 0, -3, -1, -1, -1, 2, 5, 5, 2, -1, -1, -1, 1, 3, + 0, 0, 1, -1, -3, -2, 0, 2, 1, 1, 3, 0, -2, -2, 0, 1, + 1, 1, 3, 1, 0, 0, -1, -1, 0, -1, 2, 1, 1, 0, -1, -3, + -1, -2, 1, 1, 1, 0, -2, -4, -1, 0, 2, 1, 1, 0, -1, -3, + 1, 1, 3, 2, 1, 0, -2, -3, 2, 2, 4, 2, 1, -1, -2, -4, + 1, 2, 2, 2, 0, -2, 0, 2, -1, -1, -2, -3, -4, -5, -3, 1, + 0, 1, 1, 0, -1, -1, -1, 1, 0, 1, 1, 1, 0, 0, 0, 2, + 0, 1, 1, 2, 1, 1, 1, 2, -1, -1, 0, 2, 2, 2, 2, 3, + -2, -4, -4, -1, -2, -2, -2, 0, 1, 0, 0, 1, 0, 0, 0, 1, + 0, -1, -3, -2, 0, 2, 2, 1, 0, -1, -2, -3, 0, 1, 1, 2, + 1, 0, -2, -3, -1, 0, 0, 1, -1, 0, -1, -2, 0, 0, -1, 0, + -1, 1, 1, 0, 2, 2, 0, 0, 0, 2, 3, 1, 3, 5, 3, 2, + -1, 1, 1, -2, 0, 3, 1, 1, -1, 0, 0, -4, -4, -1, -1, -1, + -1, 1, 1, 0, 1, 2, 1, 2, -3, 0, 1, 0, 1, 1, 0, 2, + -5, -3, -1, -1, 0, 1, 0, 1, -4, -3, -2, -3, -2, -1, -1, 0, + 0, 0, -1, -2, -2, -2, -2, 0, 3, 4, 2, 0, 0, 0, 0, 1, + 2, 1, 0, 0, 0, 0, -1, 0, 0, 1, 2, 3, 4, 4, 3, 2, + -1, 4, 7, 4, 0, 0, 0, 0, -1, 4, 6, 3, 0, 1, 1, 1, + 0, 3, 4, 0, -1, 0, 0, 1, 0, 1, 1, -2, -1, 0, -1, -1, + -1, 0, -1, -1, -1, 0, 0, 0, -1, -1, -1, 0, 0, 0, 0, 0, + -1, -3, -3, 0, 1, -1, -2, -1, -3, -4, -4, -2, -1, -2, -2, -1, + 2, 2, 1, 0, 1, 1, 0, -3, -2, -1, 0, 0, 1, 1, 0, -3, + -2, -1, 0, 1, 2, 1, 1, -2, 1, 2, 2, 2, 3, 3, 2, -1, + 1, 2, 1, 0, 1, 1, 2, -1, 0, 1, -2, -4, -2, 0, 1, -1, + 1, 1, -1, -3, -2, 0, -1, -3, 1, 2, 0, -1, 0, 1, -1, -4, + -1, -1, -2, -2, 0, 3, 4, 3, 1, 1, -1, -3, -2, 0, 0, 0, + 2, 2, 2, 2, 2, 1, -1, -1, 1, 1, 1, 3, 3, 0, -2, -2, + 0, -1, -1, -1, 0, -2, -1, -1, -1, -3, -4, -3, -2, -2, 0, 2, + -1, -1, 0, 1, 2, 2, 3, 5, -2, -1, -1, 0, 0, 0, 0, 1, + -2, -3, 2, 0, 0, 1, 1, -1, -1, -4, 1, -2, -1, 2, 2, 0, + 1, -4, 0, -2, -2, 1, 1, -1, 2, -3, 1, -1, -1, 1, 1, -1, + 3, -2, 3, 1, 0, 1, 1, -1, 1, -3, 2, 1, 0, 1, 0, -1, + -1, -5, 1, 0, -1, 0, 1, 1, 0, -3, 3, 3, 1, 2, 3, 3, + 0, -1, -2, 1, 5, 5, 2, -1, 1, -1, -2, -1, 1, 1, -2, -5, + 1, 1, -1, -2, -1, -1, -1, -3, 1, 1, -1, -1, -1, 2, 4, 3, + -1, -1, -1, -1, -1, 0, 4, 3, -1, -1, 0, 1, -1, -3, -1, -1, + 0, 0, 0, 2, 2, 0, 0, -1, 0, -2, -3, 0, 1, 1, 3, 2, + 2, 3, 2, 1, 0, 0, -2, -2, 2, 3, 0, 1, 1, 3, 3, 2, + 0, 0, -3, -1, -1, 2, 2, 3, -2, -2, -3, 1, 1, 2, 1, 1, + -2, -1, -2, 2, 1, 1, -1, -2, 0, 1, 0, 2, 0, 0, -2, -2, + 0, 1, 0, 2, 0, 0, -2, -2, -3, -2, -2, 0, -1, -2, -2, -3, + 0, 1, -1, 3, -1, 1, 3, -1, 0, 1, -1, 3, -1, -1, 2, -3, + 1, 1, -2, 3, -1, -3, 0, -3, 2, 2, -2, 3, 0, -2, 1, -2, + 1, 1, -3, 3, -1, -2, 1, -3, 1, 1, -3, 3, 0, -1, 1, -2, + 1, 2, -1, 4, 0, -1, 1, -2, 0, 1, -1, 3, -1, -3, 0, -3, + -3, -3, -1, 1, 2, 1, -1, -2, -2, -2, 0, 2, 1, 0, -2, -2, + -3, -2, 1, 2, 1, -1, -2, -1, -3, -2, 2, 4, 0, -2, -2, 1, + -3, -1, 2, 4, 0, -2, -2, 2, -1, 1, 4, 3, -1, -3, -2, 2, + 0, 2, 4, 2, -1, -2, -1, 2, 0, 1, 2, 0, -1, 0, 1, 3, + 3, 0, -5, 1, 4, 0, 0, 1, 1, -2, -5, 2, 5, -1, -2, 1, + -1, 0, 0, 3, 3, 1, 0, -1, -2, 3, 4, -2, -3, -1, 0, -2, + -3, 3, 5, -3, -3, 0, 0, -2, -1, 3, 2, -2, -2, 2, 2, -1, + 2, 0, 0, -1, 0, 0, 0, 0, 0, -3, -2, 1, 3, 0, -2, -2 +}; + +static const int8 *const s_svq1InterCodebooks[6] = { + s_svq1InterCodebook4x2, s_svq1InterCodebook4x4, + s_svq1InterCodebook8x4, s_svq1InterCodebook8x8, + 0, 0 +}; + +static const int8 s_svq1IntraCodebook4x2[768] = { + 12, 13, 13, 11, -7,-10,-15,-17,-16,-15,-12,-10, 11, 15, 15, 12, + 2, 17, 20, 15,-45,-24, 2, 13, 21, 20, -6,-36, 12, 16, -1,-27, + -18,-21, 10, 45,-11,-20, -7, 21, 43, -8,-28, 0, 33,-16,-28, 3, + -12,-18,-18, -6,-20,-10, 28, 55, -5,-18,-21,-18, 56, 30, -6,-20, + -34, 27, 29,-22,-30, 29, 26,-25, 30, 34, 33, 26,-25,-31,-35,-33, + -31,-35,-36,-32, 29, 36, 37, 31,-71,-12, 38, 34,-63, -1, 42, 33, + 58, 37,-31,-60, 55, 34,-33,-61,-57,-57, 22, 93,-57,-58, 21, 93, + 59, 69, 70, 62,-63,-68,-68,-60,-64,-71,-71,-64, 63, 73, 72, 62, + -2, 0, 7, 15,-11,-10, -3, 5, -5, -8,-10,-10, 1, 9, 14, 9, + 15, 8, -4,-11, 12, 2,-11,-12, -8, 0, 19, 28, 4, -1,-15,-26, + -15, 27, 2,-14,-14, 22, 1, -9, -4, -6,-13,-10, -6,-14, 6, 47, + -35,-20, 6, 23, 6, 9, 6, 4, -6, 2, 23,-22, -7, 4, 28,-21, + 20,-22, -2, 6, 22,-28, -5, 8,-10,-18,-16,-12, 36, 19, 2, -1, + -3, 0, 4, 8,-45,-10, 23, 23, 40, 15,-20,-35, -4, -1, 4, 1, + 9, -5,-33, 24, 8, 3,-26, 19, -1, 4, 6, -3, 32, 25,-13,-49, + 24, 24, 15, 7,-17,-27,-19, -7,-47, 0, 39, 24,-21, -6, 7, 4, + -1, 0,-10,-13, 1, 1, 5, 16, 20, 5, -3, -9, -1, -4, -2, -6, + -17, -7, 1, 4, 12, 7, 0, 0, 3, 0, 12, 11, -3, 1, 0,-23, + 4, 17, -6, 0, 6, 3,-25, 0,-17, 10, 8, 5,-14, 4, 1, 4, + 13, 10, 4, 2,-23, -9, 1, 2, 3, -3, 1, 7, 1,-23, -7, 20, + -7,-18, 2, 12, -5, -4, 10, 9, 4, 10, 7,-24, 6, 3, 4,-10, + 22,-14,-22, 6, 0, 5, 5, -1, -4, 3,-11, -4, -7, 31, 7,-14, + -5,-16, -1, 42, -4, -2, -9, -5, 5, -8, -6, -3, 42, -4,-21, -5, + -18, 12, 20,-12, 13,-13,-10, 7, -8, -9, -2,-18,-16, 6, 40, 8, + 10, -1, 0, 4, -3, 4, -1,-13, -2, 6, 1,-15, 5, 3, 1, 2, + -4, -2, 1, 3, 15, 0, -9, -4, -3, -4, -4, -4, -3, 5, 16, -3, + 2, 13, 3, 4, -3, -8,-10, 0, -6, -2, -4, -1, -2, -3, -6, 23, + 6, -6, 7, 1, 4,-18, 5, 1, -1, 1,-15, 14, -5, 6, -4, 4, + 2, 2, 2, 6,-24, 2, 7, 3,-26, 0, 3, 3, 5, 7, 1, 6, + 14, -2,-18, -3, 7, 5, -4, 2, -6, 3, 32, 1, -6, -6, -6,-12, + 5,-36, 7, 6, 9, -1, 11, 0, 4, 4, 5, 3, 4, 15, 3,-38, + 10, 23, -5,-42, 0, 4, 4, 4, 23, 17, -6,-13,-13,-37, 1, 29, + 5,-14, -1, 1, 5, 0, 3, 1, 0, 4, -5, 2, 8, 0, 0,-10, + 4, 7, -2, -3,-10, 3, 1, 1,-12, -1, 13, 3, 0, -1, 1, -3, + 0, -1, 3, 1, -6, -9, 3, 9, -6, 1, -4, -6, 8, -1, 0, 8, + -3, -3, 0, 18, -5, -1, -4, -1, -8, -2, 3, -4, 0, 17, -1, -5, + 5, -2, 9,-10, 1, -5, 6, -5, 4, 2, 2, 3, 10,-14, -8, 1, + -1, -2,-18, -1, -1, 20, 1, 2, -1, 1, -9, 1, -1, -9, 22, -4, + 6, -4, 8, -3, -1, 7,-19, 5, -7, 31, -4, -4, -6, 0, -5, -5, + -7, -8,-19, -4, 1, 1, 4, 32, 38, -1, -8, 4, -7, -8, -6,-12, + -1, 0, -7, 1, -1, 9, -1, 0, 9, -1, -1, 0, 2, -6, 1, -3, + -12, 0, 2, 1, 1, 1, 8, 0, 9, 1, 0, 2, -2, 1,-11, 0, + 0, 8, 2,-10, -1, 2, -1, 0, -2, -4, 0, -5, -2, -1, -1, 14, + -3, 7, -1, 5, 0,-10, 1, 1, -1, -5, 14, -1, -2, 1, -3, -2, + -6, 0, 0, 6, 2, 3, -9, 4, 4, -5, -1, -1, -7, 3, 8, -1, + 2, -4, -1,-11, 11, 2, 1, 0, -1, 2, 3, 9, 0, 2, 0,-15, + 3, 5,-20, 3, 3, -1, 3, 3, 1, -1, 16, 1, 2,-29, 9, 2, + -13, -6, -1, -3, 36, -1, -8, -3, 2, 5, 4, 2,-37, 9, 11, 3 +}; + +static const int8 s_svq1IntraCodebook4x4[1536] = { + -11, -3, 3, 6,-10, -1, 5, 7, -9, -1, 6, 7, -9, -1, 4, 6, + 5, 7, 0,-14, 6, 9, 2,-15, 6, 9, 2,-15, 4, 6, 0,-14, + 16, 3, -5, -6, 16, 1, -8, -8, 14, -1, -9, -9, 12, 0, -8, -8, + 8, 12, 16, 17, -2, 2, 6, 9,-10, -8, -4, 0,-15,-14,-11, -7, + -7,-10, -2, 16, -7,-11, -3, 18, -7,-11, -1, 20, -6, -8, 1, 19, + -9,-13,-16,-17, 2, -2, -7, -9, 11, 8, 4, -1, 16, 15, 11, 7, + -22, -2, 13, 15,-24, -2, 14, 16,-25, -4, 13, 15,-25, -6, 10, 13, + 26, 26, 22, 16, 17, 15, 9, 3, -2, -6,-11,-14,-20,-25,-28,-28, + -27,-27,-25,-21,-16,-15,-11, -7, 3, 8, 12, 13, 23, 28, 31, 30, + 20, 16, -7,-33, 22, 19, -6,-35, 22, 19, -6,-34, 20, 17, -6,-32, + -20,-20, 2, 38,-21,-22, 2, 40,-21,-22, 2, 40,-20,-20, 3, 38, + -47, -4, 24, 26,-50, -3, 26, 27,-50, -3, 26, 27,-47, -4, 24, 26, + 45, 6,-23,-27, 48, 5,-25,-28, 48, 5,-26,-28, 44, 6,-24,-27, + -30,-36,-10, 76,-31,-37,-11, 78,-31,-37,-11, 78,-31,-36,-10, 77, + -53,-32, 35, 52,-54,-34, 36, 52,-54,-34, 36, 52,-53,-33, 34, 51, + -93,-34, 62, 65,-93,-34, 62, 66,-93,-34, 62, 65,-93,-34, 60, 64, + -7, 0, 2, 2, -8, -1, 3, 3, -8, 0, 4, 5, -6, 1, 5, 5, + 3, 7, 11, 11, 2, 2, 3, 3, 1, -2, -6, -7, 1, -5,-11,-13, + 3, -2, -4, -3, 7, 0, -5, -5, 12, 4, -5, -7, 14, 6, -4, -7, + 18, 14, 3, -2, 6, 4, 0, -3, -8, -5, -2, 0,-16,-11, -2, 2, + -8, -6, 7, 18, -7, -8, 2, 13, -4, -6, -2, 6, 0, -4, -3, 1, + 1, -3,-13,-18, 0, -1, -5, -7, -1, 1, 6, 7, -2, 4, 15, 17, + -15,-14, -7, -2, -6, -5, -1, 0, 6, 6, 3, 1, 15, 13, 6, 1, + 2, -2,-11, 10, 2, -1,-12, 11, 3, -1,-12, 11, 2, -2,-11, 11, + -9, 14, -1, -5, -9, 15, -2, -5, -8, 16, -2, -5, -7, 15, -1, -4, + 2, 6, 8, 8, -2, 3, 9, 12,-11, -5, 4, 10,-19,-16, -8, 0, + 14, 8, -7,-15, 12, 7, -7,-14, 8, 5, -4, -9, 5, 3, -1, -4, + 12,-14, -2, 2, 13,-15, -1, 3, 14,-15, -1, 3, 13,-14, -1, 3, + 0, 6, 10,-13, 0, 6, 10,-15, 0, 7, 9,-17, 1, 6, 8,-16, + -8, -5, 15, -2, -8, -6, 17, -2, -8, -6, 16, -3, -8, -5, 15, -2, + -9,-11,-11,-10, 9, 10, 9, 8, 8, 10, 10, 9, -8, -9, -8, -7, + 9, 10, 9, 7, -8,-10,-10,-10, -7,-10,-11,-11, 11, 12, 11, 8, + 0, 10, 7, 0, 0, 7, 0, -6, 0, 2, -5, -6, -2, -1, -4, -1, + 5, 0, -6, -9, 2, 2, 2, 1, -2, 0, 5, 7, -6, -5, 1, 4, + 3, -8, 2, -1, 4, -9, 3, 0, 5, -7, 3, 0, 7, -5, 3, 0, + -5, -3, 2, 9, -6, -3, 1, 8, -6, -3, 1, 7, -5, -2, 0, 4, + 13, 8, 3, 1, -3, -5, -4, -1, -8, -7, -3, 0, -1, 1, 3, 2, + 3, 2, -5,-12, 4, 3, -2, -9, 3, 4, 1, -4, 3, 5, 4, -1, + -9, -8, -4, 0, 8, 6, 2, 0, 10, 8, 3, 0, -6, -5, -3, -1, + -3, -9,-12, -5, 0, -3, -5, 0, 2, 3, 2, 4, 5, 8, 7, 6, + -1, -2, 5, 12, -1, -1, 5, 9, 2, 1, -1, -2, 2, -1,-11,-17, + -7, 3, 3, -1, -9, 3, 4, -1,-10, 4, 6, -1, -9, 5, 7, 0, + -18, -7, 2, 2, -8, 1, 5, 3, 3, 4, 1, 0, 9, 5, -2, -3, + -2, 0, 6, 8, -4, -5, -5, -3, 1, -2, -6, -8, 10, 9, 3, -1, + 0, -2, -2, 0, 0, -4, -5, 0, -2, -8, -4, 8, -5, -7, 6, 24, + 9, 1, -7, 1, 9, 1, -8, 1, 8, 0,-10, 1, 8, -1,-11, -1, + 8, 8, 6, 3, 5, 4, 3, 2, -2, -3, -1, 0,-10,-13, -8, -4, + 0, 4, 2, -3, 0, 6, 3, -5, 3, 10, 2,-12, 5, 10, -4,-22, + 0, -4, -1, 3, 1, -4, -1, 5, 1, -5, 0, 8, -1, -6, -2, 7, + -1, -1, -2, -4, -1, -2, -4, -6, -1, -1, -1, -2, 1, 5, 10, 9, + 10, 3, 0, -2, 6, -1, -2, -5, 3, -1, -2, -6, 2, 0, 0, -5, + 6, 3, 0, 0, 6, 3, 1, 1, 4, -2, -2, 1, 0, -9, -9, -2, + -11, -3, 1, 2, -6, 2, 4, 5, -3, 2, 3, 4, -2, 1, 1, 2, + -6, -4, -1, -2, 2, -1, -1, -2, 10, 2, -2, -2, 11, 2, -4, -1, + 6, 0, -2, 2, 3, 3, 0, 0, -6, 3, 3, 0,-17, -1, 5, 0, + -1, 4, 10, 11, -3, -2, 0, 1, -3, -4, -5, -3, -1, -2, -2, -1, + 2, -3, -9,-12, 3, 3, 3, 2, 2, 2, 4, 4, 2, 1, -1, -2, + -2, 9, 5,-10, -3, 5, 5, -5, -2, 1, 2, 0, -1, -2, -2, 1, + -2, -3, 7, -2, -1, -3, 7, -3, -1, -2, 8, -4, -2, -2, 7, -3, + 1, -8, -3, 12, 2, -2, -2, 4, 1, 3, 0, -5, -1, 5, 2, -7, + -1, 3, 1, -5, -7, -2, 3, 1, -2, -7, -2, 2, 20, 3, -5, -1, + 5, 0, -3, -2, -7, -7, 0, 6, -6, 0, 7, 6, 2, 6, 0, -7, + -2, 6, -7, 1, -2, 7, -8, 3, -2, 7, -7, 3, -1, 7, -6, 2, + -5, -2, 5, 7, 4, 1, -4, -8, 6, 3, -2, -5, -7, -5, 3, 7, + -1, -1, 6, 5, 0, -1, 1, -4, 2, 1, 0, -7, 1, 0, 0, -4, + -8, 0, 3, 1, -2, 1, -1, -1, 1, -1, -3, 1, 1, -2, 1, 9, + 5, 2, -3, -4, -1, 0, -1, -3, -3, 1, 3, 1, -4, 0, 4, 2, + 2, -2, -2, 12, 0, -2, -5, 3, -1, 0, -3, 1, -3, -1, -2, 1, + 1, 5, 3, 0, -6, -4, -2, 1, 0, -2, -2, 2, 6, 1, -4, -1, + -3, -5, -5, -1, 3, 5, 5, 4, 0, 3, 1, -1, -2, 1, -2, -3, + 2, -4, -5, -3, 4, -2, -3, -2, 6, 0, -1, -1, 7, 1, 0, 0, + -3, -2, -2, 0, -2, -3, -5, -1, -2, 2, 0, -1, -1, 11, 9, -1, + 0, 1, -1,-10, -1, 1, 0, -6, 1, 0, 1, 4, 2, -5, -1, 13, + -2, 4, 5, 0, -5, 1, 6, 3, -6, -2, 3, 2, -5, -2, 0, -2, + -1, 1, 1, -2, -1, -2, 0, 2, 5, 5, 5, 7, 0, -4, -8, -7, + 0, 2, -1, -5, -1, 2, 2, -3, 0, 5, 3, -5, 3, 8, 2,-12, + 8, 4, 0, -2, 10, -1, -4, -1, 3, -6, -3, 0, -4, -5, 0, 0, + 0,-10, -4, 2, -1, -6, 3, 5, -1, -3, 6, 4, 0, -2, 4, 2, + 0, 8, 1, -1, 0, 11, 1, -3, -1, 6, -2, -4, -3, -2, -7, -4, + 0, -1, -1, -1, 4, 5, 6, 5, -5, -9, -8, -5, 2, 2, 3, 2, + 0, 2, 6, 1, 2, 0, 3, 0, 1, -2, -1, -2, 0, -1, -3, -6, + 0, 0, 2, 0, 4, 0, 2, 1, 5, -2, 0, 0, -2, -9, -1, 2, + 0, 1, 0,-10, -1, 1, 8, 0, -1, -2, 4, 0, 1, -1, 2, -1, + -3, -2, 2, -1, -3, -1, 2, -3, 0, -1, 1, 0, 8, 1, -1, 3, + 0, 1, 1, 2, 0, -4, -2, 0, -1, -5, 1, -1, -2, -1, 11, 2, + 1, 5, -2, -2, 0, 2, -4, 0, -2, 1, -5, 1, 0, 5, 0, 1, + -5, -3, 0, 6, -4, 2, 0, 0, -3, 5, 1, 0, -3, 3, 0, 0, + 3, -2, -3, 1, 1, -4, 0, 8, -2, -3, -2, 3, 1, 2, -1, -1, + 1, 1, 0, 2, 2, 0, 1, 6, 1, -1, 2, 1, 0, 3, 0,-19, + 1, -3, -2, 2, 6, 5, -2, -7, -3, 1, 3, 1, -1, -1, 0, 2, + -8, -1, -1, -4, 1, 1, -1, 2, 4, 3, 2, 3, -5, 1, 3, 0, + 0, 2, -1, 1, -3, 0, 0, 5, -5, -2, 0, 8, -4, -4, -4, 6, + 1, 2, 1, 2, 2, 2, -3, 2, 4, 0, -9, 0, 7, 0,-11, 1, + 0, 0, 0, -2, 3, 3, -1, -6, 4, 3, -3,-10, -1, 2, 6, 2, + 7, -2, -3, 5, -4, 0, 3, -1, -4, 2, 1, -7, 2, -1, -1, 3, + 3, 2, 2, 2, -5, -7, -7, -5, 5, 6, 4, 2, -2, -1, 0, 1 +}; + +static const int8 s_svq1IntraCodebook8x4[3072] = { + 5, 6, 6, 6, 7, 7, 8, 8, 0, 0, 0, 0, 0, 1, 2, 3, + -3, -4, -4, -5, -5, -4, -3, -2, -4, -4, -4, -5, -4, -4, -3, -3, + 1, 2, 2, 2, 2, 3, 3, 3, 2, 3, 3, 4, 4, 5, 5, 5, + -1, 0, 1, 1, 2, 3, 4, 4, -9,-10, -9, -9, -8, -7, -6, -5, + -4, -4, -5, -6, -6, -7, -7, -7, 0, -1, -2, -2, -3, -3, -4, -4, + 4, 4, 3, 3, 2, 1, 1, 0, 7, 7, 7, 6, 6, 5, 4, 4, + 2, 4, 5, 6, 4, 1, -3, -6, 3, 4, 5, 5, 4, 0, -5, -8, + 2, 3, 4, 4, 2, -2, -7,-10, 2, 2, 2, 1, 0, -4, -9,-12, + -9, -7, -3, 1, 4, 4, 3, 3,-10, -7, -2, 3, 5, 5, 3, 3, + -9, -6, -2, 3, 6, 5, 4, 3, -8, -6, -1, 3, 4, 4, 3, 2, + -5, -5, -5, -5, -3, 1, 4, 7, -5, -5, -5, -4, -2, 1, 6, 8, + -4, -5, -4, -3, -1, 3, 8, 10, -3, -4, -3, -2, 1, 5, 9, 11, + -2, -2, -2, -2, -2, -2, -2, -2, -4, -5, -5, -5, -5, -5, -5, -4, + -3, -4, -4, -4, -4, -4, -4, -3, 9, 10, 10, 11, 11, 11, 10, 10, + 7, 4, 1, -2, -4, -6, -9,-10, 9, 7, 3, 0, -2, -4, -8, -9, + 11, 8, 4, 2, 0, -3, -6, -8, 11, 9, 5, 3, 1, -2, -5, -7, + -13,-13,-13,-12,-11,-10, -8, -8, 0, 1, 2, 3, 4, 4, 4, 3, + 3, 4, 5, 6, 6, 6, 5, 4, 3, 4, 4, 4, 3, 3, 3, 2, + 10, 10, 11, 10, 9, 9, 8, 7, 6, 6, 6, 6, 5, 4, 3, 2, + 0, 0, 0, -1, -2, -3, -4, -4,-10,-10,-11,-12,-13,-14,-14,-14, + 16, 16, 17, 16, 15, 13, 12, 11, -1, -2, -3, -4, -4, -4, -4, -3, + -4, -5, -6, -6, -6, -6, -6, -6, -5, -6, -6, -6, -6, -6, -5, -5, + -13,-13,-13,-12,-11,-10, -8, -6, -9, -8, -7, -6, -4, -2, 0, 1, + -2, -1, 1, 3, 5, 7, 8, 9, 5, 7, 9, 11, 13, 14, 15, 15, + 16, 14, 11, 7, 2, -3, -7, -9, 14, 12, 8, 3, -1, -6, -9,-11, + 11, 9, 4, 0, -4, -8,-11,-13, 8, 5, 1, -3, -6,-10,-12,-14, + -18,-15, -9, -3, 1, 6, 9, 11,-17,-13, -7, -1, 3, 7, 11, 12, + -15,-11, -5, 1, 5, 9, 12, 13,-13, -9, -3, 2, 5, 9, 11, 13, + 22, 21, 19, 15, 10, 3, -4, -9, 20, 18, 15, 9, 2, -5,-12,-17, + 16, 13, 8, 1, -7,-14,-20,-24, 10, 6, -1, -8,-15,-21,-25,-27, + -25,-23,-20,-14, -7, 1, 9, 14,-23,-21,-16, -9, 0, 9, 16, 21, + -20,-16,-10, -1, 8, 16, 22, 25,-15,-11, -3, 6, 14, 20, 25, 27, + -4, -2, 0, 1, 2, 2, 2, 2, -5, -2, 0, 2, 3, 3, 3, 3, + -6, -4, -1, 1, 2, 3, 3, 3, -7, -5, -2, 0, 1, 1, 2, 2, + 2, 1, 1, 1, 1, 0, -2, -3, 3, 3, 2, 1, 0, -1, -3, -4, + 4, 3, 2, 1, 0, -2, -4, -6, 5, 4, 3, 1, -1, -3, -5, -6, + 5, 6, 6, 4, 2, 0, -2, -3, 3, 4, 4, 4, 3, 1, 0, -1, + -2, -2, -1, -1, -1, -1, -2, -2, -5, -4, -3, -2, -2, -2, -3, -3, + -1, -1, -1, -1, -1, -1, -1, -1, -3, -4, -4, -4, -3, -3, -3, -3, + -1, -1, -1, -1, -1, -1, -1, -2, 5, 6, 6, 6, 6, 5, 4, 3, + 4, 4, 4, 4, 4, 5, 6, 7, 0, -1, -1, -1, -1, 0, 1, 2, + -2, -3, -3, -3, -3, -2, -1, 0, -3, -3, -4, -4, -4, -3, -2, -1, + 0, -2, -4, -4, -2, 0, 2, 3, 0, -2, -3, -3, -1, 2, 4, 5, + -1, -2, -4, -3, 0, 3, 5, 6, -2, -3, -4, -3, -1, 2, 4, 5, + 9, 4, 0, -3, -3, -1, 0, 1, 8, 4, -1, -4, -3, -1, 1, 2, + 6, 2, -3, -5, -4, -2, 0, 1, 5, 1, -3, -4, -4, -2, 0, 1, + 5, 3, 1, -1, -4, -8,-10,-10, 3, 3, 2, 1, 0, -2, -3, -4, + 1, 1, 1, 2, 3, 2, 1, 0, -1, 0, 1, 2, 3, 4, 3, 2, + 0, 1, 2, 2, 1, -1, -3, -3, 0, 1, 1, 1, -1, -2, -4, -3, + -3, -3, -3, -3, -3, -3, -1, 2, -4, -4, -3, 0, 3, 7, 12, 14, + -5, -5, -6, -6, -6, -6, -6, -5, 2, 2, 2, 1, 0, 0, 0, 0, + 4, 4, 3, 2, 1, 0, 0, 0, 6, 6, 5, 4, 2, 2, 1, 1, + -7, -7, -6, -3, 0, 4, 7, 8, -1, -2, -3, -3, -2, -1, 1, 2, + 3, 3, 1, -1, -2, -2, -2, -1, 6, 6, 4, 2, 0, -2, -2, -2, + -6, -5, -2, 2, 5, 9, 11, 12, -4, -4, -2, 0, 2, 4, 5, 6, + -3, -2, -2, -2, -2, -1, 0, 1, -2, -2, -2, -3, -3, -3, -3, -2, + -7, -3, 1, 3, 3, 0, -3, -5, -6, -2, 3, 5, 4, 1, -3, -5, + -5, -1, 4, 6, 5, 2, -3, -4, -4, 0, 5, 7, 6, 3, -1, -3, + 0, 0, 0, 0, 0, 0, 0, 0, -2, -2, -3, -3, -3, -3, -2, -1, + 6, 7, 8, 9, 9, 8, 7, 6, -4, -4, -5, -5, -6, -6, -5, -4, + -9, -8, -6, -4, 0, 3, 6, 6, -5, -4, -1, 3, 5, 6, 5, 3, + 1, 3, 6, 6, 4, 1, -2, -5, 6, 7, 5, 1, -3, -7,-10,-11, + 10, 9, 5, 1, -3, -6, -6, -4, 5, 3, -1, -5, -6, -5, -2, 2, + -2, -4, -6, -6, -4, 1, 6, 10, -6, -7, -7, -4, 1, 7, 11, 12, + 6, 5, 3, 2, 0, 0, 0, 0, 2, 1, -1, -2, -3, -2, -1, -1, + 0, -1, -2, -4, -4, -2, -1, 1, 0, 0, -1, -2, -1, 0, 2, 3, + 0, -1, -2, -2, -2, -2, -1, -1, 5, 4, 2, 1, 0, 0, 0, 0, + 6, 5, 3, 1, 0, 0, 0, 0, 2, 0, -2, -4, -4, -3, -2, -2, + -7, -4, 0, 2, 2, 2, 2, 1, -7, -3, 0, 0, 0, 0, 0, 0, + -4, -1, 1, 1, 0, 0, 0, 1, -1, 1, 2, 2, 2, 2, 3, 3, + -2, 0, 2, 2, 1, 1, 1, 1, -1, 1, 2, 2, 1, 0, 0, -1, + 0, 2, 4, 2, 0, -1, -2, -3, 1, 2, 3, 1, -2, -4, -6, -6, + 1, 2, 2, 4, 5, 6, 4, 1, 0, -1, -1, -1, 0, 0, -2, -4, + 0, 0, -1, -2, -2, -2, -4, -6, 2, 1, 0, 0, 1, 1, -1, -3, + 1, 1, 1, 1, 1, 2, 3, 3, 0, 0, 1, 0, 1, 2, 4, 4, + -1, -1, -1, -1, 0, 1, 2, 3, -4, -4, -5, -5, -5, -3, -1, 0, + -6, -5, -5, -4, -3, -2, -1, -1, -1, 0, 0, 1, 1, 2, 3, 3, + 0, 1, 1, 1, 2, 2, 3, 4, 0, 0, -1, -1, 0, 1, 2, 3, + 0, 1, 1, 1, 0, 0, -1, -1, 1, 3, 3, 2, 1, -1, -2, -2, + -2, 0, 2, 2, 2, 2, 1, 1, -9, -8, -4, -2, 1, 3, 3, 3, + -1, -1, -1, -2, -3, -3, -3, -4, 0, 0, 0, -1, -2, -2, -3, -3, + 2, 2, 2, 0, -1, -1, -1, -1, 5, 5, 4, 3, 2, 2, 2, 2, + 6, 3, -1, -4, -3, -1, 1, 1, 2, -1, -3, -4, -1, 2, 2, 0, + -1, -2, -2, 1, 4, 4, 1, -3, -2, -1, 1, 4, 6, 3, -3, -8, + 3, 3, 2, 1, -1, -2, -2, -2, -4, -4, -2, -1, 1, 3, 4, 4, + -4, -5, -5, -4, -2, 0, 2, 2, 7, 7, 4, 1, -1, -2, -3, -2, + -1, 1, 3, 0, -4, -6, 0, 6, -2, 1, 4, 1, -4, -6, -1, 7, + -3, 1, 4, 2, -3, -6, -1, 6, -2, 0, 3, 2, -2, -5, -1, 4, + 1, -1, -2, 1, 4, 4, -1, -7, 1, -1, -4, -1, 5, 6, 0, -6, + 3, 0, -4, -3, 3, 6, 2, -4, 3, 0, -5, -4, 1, 4, 1, -3, + 2, 2, 3, 3, 3, 3, 2, 2, -4, -5, -6, -7, -7, -7, -7, -6, + 1, 2, 3, 3, 3, 3, 2, 2, 0, 0, 1, 1, 1, 2, 2, 1, + 3, -3, -3, 3, 4, -2, -2, 2, 3, -4, -4, 4, 4, -4, -4, 2, + 4, -4, -4, 4, 4, -4, -3, 3, 3, -3, -4, 3, 3, -3, -3, 3, + -2, -2, -2, -2, -2, -2, -1, -1, 6, 7, 8, 8, 8, 7, 6, 5, + -5, -6, -7, -7, -8, -7, -6, -5, 1, 1, 2, 2, 2, 2, 1, 1, + 0, 0, 0, 0, 0, -1, 0, 0, -1, 0, 0, 0, 0, -1, 0, 0, + -2, -3, -2, -2, -2, -3, -3, -3, 2, 3, 5, 6, 4, 2, 1, 0, + 8, 6, 2, 0, 0, 0, 0, 0, 4, 1, 0, 0, 0, -1, -1, -1, + 1, -1, 0, 0, 0, -1, -2, -3, -2, -2, -1, 0, 0, -2, -4, -5, + 3, 1, -1, -2, -3, -4, -5, -5, 2, 1, 0, 0, 1, 1, 0, 0, + 0, -1, -1, 0, 2, 2, 2, 2, -1, -2, -1, 1, 2, 2, 2, 2, + 0, -1, -2, -1, -1, -1, -1, 0, -1, -2, -2, -1, -1, 0, 0, 1, + 2, 1, 1, 2, 2, 1, 1, 0, 6, 5, 3, 1, 0, -2, -4, -4, + -3, -2, -1, 0, 1, 1, 0, -1, 0, 1, 3, 4, 5, 5, 3, 1, + -1, -1, -1, 0, 1, 0, -1, -2, -2, -2, -2, -1, 0, -1, -2, -3, + 0, -1, -2, -2, -1, -1, 0, 2, 1, -1, -2, -1, -1, -1, 0, 2, + 1, 0, -2, -2, -2, -2, 1, 5, 1, -1, -2, -2, -2, 0, 5, 10, + 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, 0, 0, 0, 1, 2, + 1, 2, 2, 3, 4, 4, 6, 5, -3, -3, -3, -2, -2, -3, -3, -3, + 1, -1, -2, -2, 0, 3, 5, 7, 2, 0, -2, -3, -2, 0, 2, 3, + 3, 1, -2, -3, -3, -2, -1, -1, 3, 1, 0, -1, -1, -1, -1, -1, + 1, 3, 5, 4, 2, -1, -3, -4, -3, -2, 1, 2, 1, 0, -1, -2, + -5, -3, 0, 2, 2, 1, 0, 0, -3, -1, 1, 2, 2, 1, 0, 0, + 0, -1, -1, -1, 1, 2, 3, 4, -3, -4, -4, -3, -1, 0, 0, 1, + -2, -3, -2, -1, 1, 1, 1, 1, -2, -2, 0, 3, 4, 4, 3, 2, + -4, -4, -3, -2, -1, 1, 2, 3, 0, 1, 1, 1, -1, -2, -3, -3, + 3, 4, 5, 4, 2, -1, -3, -3, -2, -2, 0, 2, 2, 2, 1, 0, + -4, 0, 5, 7, 4, -1, -4, -4, -1, 2, 4, 3, 0, -3, -3, -2, + 2, 1, 0, -1, -2, -2, 0, 1, 0, 0, -1, -2, -2, -1, 1, 2, + -4, -3, -2, -1, 0, 1, 2, 2, 10, 9, 5, 0, -3, -4, -3, -2, + 1, -1, -2, -2, -1, 0, 0, 0, -2, -2, -1, 1, 1, 1, 0, -1, + -5, -3, 0, 3, 4, 2, 0, -2, -2, -1, 0, 1, 1, 0, -1, -1, + 3, 2, -1, -2, -2, -1, 1, 1, 7, 5, -1, -5, -6, -2, 2, 4, + -2, 3, 3, -3, -4, 1, 2, -2, -3, 3, 4, -3, -4, 2, 3, -2, + -3, 3, 4, -3, -4, 2, 3, -2, -4, 2, 4, -2, -3, 1, 2, -1, + 4, 3, -1, -3, -3, -1, 1, 2, -4, -6, -4, 0, 4, 5, 4, 1, + 0, 2, 5, 6, 2, -3, -5, -4, 1, 1, -1, -3, -5, -2, 2, 4, + -1, 0, 1, 2, 2, 3, 3, 4, -1, 0, 1, 1, 0, -1, -1, -1, + -1, 0, 1, 2, 2, 1, -1, -2, -3, -2, -1, 0, 0, -1, -2, -3, + 1, 1, 1, 1, 0, 0, 1, 2, 1, 0, -1, 0, 0, 1, 1, 0, + 1, -2, -4, -1, 1, 2, 1, 0, 1, -4, -7, -3, 1, 3, 2, 1, + 1, 1, 1, 1, 1, 1, 0, -1, 1, 1, 1, 0, 1, 2, 2, 0, + 1, 1, 0, 0, 0, 2, 0, -3, 3, 2, 0, -1, -1, -2, -6, -9, + 0, 0, 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, -1, -1, 0, 2, + 0, 1, 1, 1, -1, -3, -2, 0, -7, -5, 1, 6, 6, 2, -1, -1, + 3, 1, -1, -3, -4, -2, 1, 4, 2, 0, -2, -3, -4, -3, -1, 2, + 2, 2, 1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, + -1, 1, 1, -2, -5, -6, -4, -1, -1, 1, 4, 3, 2, 0, 1, 2, + -1, 0, 2, 3, 1, 0, 0, 1, -1, 0, 1, 0, 0, -1, -1, 0, + 0, 1, 2, 2, 0, -2, -1, 1, -2, -1, -1, -2, -1, 2, 6, 8, + -1, -1, -2, -3, -2, 0, 1, 2, -1, 0, 0, -1, -1, 0, -1, -1, + 2, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, -1, -1, 1, + -1, 0, 2, 2, -1, -3, -2, 3, 0, 2, 3, 0, -5, -7, -2, 4, + -1, 0, 0, 0, -1, -2, -3, -3, -1, 0, -1, -2, -2, -2, -2, -2, + 1, 1, 0, 0, 1, 2, 0, -1, 1, 2, 1, 2, 5, 6, 2, 0, + -2, -4, -3, 0, 2, 2, 0, -3, 3, 1, 0, 1, 2, 1, -2, -3, + 3, 1, 0, 0, 0, 0, 0, -1, 1, -1, -2, -2, -1, 1, 3, 3, + 3, 2, 1, 2, 4, 3, 1, -2, -2, -4, -4, -3, -1, 0, -2, -3, + 1, 0, -1, -1, 0, 1, 0, -1, 3, 2, 0, 0, 0, 1, 1, 0, + 1, 1, 0, 0, 0, 0, 0, 0, 2, 3, 3, 2, 2, 2, 1, 1, + 0, -1, -2, -3, -5, -5, -5, -4, 1, 1, 0, -1, 0, 1, 3, 3, + -9, -6, -2, 0, 1, 1, 2, 2, -6, -2, 1, 2, 1, 1, 0, 1, + -2, 1, 2, 2, 1, 1, 1, 1, 0, 2, 2, 1, 0, 1, 1, 1, + 1, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, -1, -3, -2, 0, + -3, -3, -3, -2, -1, 3, 7, 9, 1, 2, 2, 2, 0, -2, -4, -3, + 2, 0, -2, -1, 3, 4, -1, -6, 1, 0, -2, -3, -1, 3, 3, 0, + 0, 3, 3, 0, -2, -1, 1, 1, -6, -1, 3, 2, -1, -2, 0, 1, + 5, 3, 0, -2, -3, 0, 2, 1, 1, 1, 2, 2, 0, -2, -4, -7, + -3, -2, 1, 2, 2, 1, -1, -4, 2, 2, 0, -2, -2, 0, 2, 2, + 0, 0, -2, -3, -2, -1, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, + -2, -1, 0, 1, 0, 1, 2, 3, -4, -2, 0, 0, -1, 0, 2, 3, + -2, -2, -2, -1, -1, 0, 2, 4, 0, 0, 0, 0, -1, -1, 0, 1, + 0, -1, -1, -1, -1, -1, 0, 0, 6, 4, 2, 0, -1, -2, -1, -1, + 0, 1, 1, 1, 1, -1, -5,-10, 1, 1, 1, 1, 1, 1, 0, -4, + 1, 0, 1, 1, 1, 1, 1, -1, 2, 1, 1, 1, 0, 0, 0, 0, + -3, 1, 4, 3, 3, 1, -1, 0, -4, 0, 1, 0, -1, 0, 0, 0, + -5, 0, 2, 1, 1, 1, 0, -1, -1, 2, 1, -2, -2, -1, 0, -1, + 2, 4, 5, 3, 0, -1, 1, 2, 0, 0, 1, 0, -2, -2, -1, -1, + -2, -2, -2, -2, -3, -2, -1, 0, 0, 0, 1, 0, 0, 0, 1, 2, + 0, -2, -2, -3, -1, 2, 2, -1, 1, 0, 0, 0, 1, 5, 3, -2, + -1, -1, 0, -1, 0, 2, 0, -5, -1, 0, 1, 0, 0, 2, 2, -2, + 3, 1, -1, -1, 0, 1, 1, 2, 1, 0, 0, 1, 1, 1, 1, 1, + -10, -8, -2, 1, 2, 1, 1, 1, -1, 1, 2, 1, 0, 0, 0, 0, + -1, -1, 0, 1, 2, 2, 2, 1, -1, -1, -1, 0, -1, -3, -5, -4, + 1, 1, 2, 1, 1, 0, 0, 2, -1, -2, -1, -1, -1, 0, 2, 4, + -3, -7, -5, 0, 2, 0, 0, 0, 3, -1, -2, 1, 2, 1, 1, 2, + 1, -2, -1, 1, 2, 1, 0, 1, 0, -1, 0, 3, 2, -1, -1, -1, + 2, 1, 1, 0, 0, 0, 0, 0, -9, -7, -2, 3, 3, 2, 1, 1, + 3, 2, 0, -2, -2, -1, 1, 1, 0, -1, 0, 0, 1, 1, 0, 0, + -2, -1, 1, 1, 1, 0, 0, 0, 1, 2, 1, -2, -4, -3, 1, 2, + 1, 2, 1, -2, -3, 0, 3, 1, -1, -1, 0, 0, 1, 3, 0, -4, + 2, 0, -1, 1, 2, -2, -2, 3, 2, 0, -1, 2, 3, -2, -4, 1, + 0, 1, 1, 1, 2, -2, -6, -2, -1, 0, 0, 0, 2, 0, -2, -1, + -1, -1, 1, 2, 1, -2, -3, -2, 3, -1, -2, -1, -1, 0, 1, 2, + 10, 4, 0, 0, -1, -2, -2, -1, 3, -1, -2, -1, 0, -1, -1, 0, + -5, 2, 7, 1, -4, -2, 1, 0, -2, 2, 3, -1, -3, 0, 2, 0, + 2, 1, 0, 0, 1, 1, -1, -2, 1, -2, -2, -1, -1, -2, 0, 0, + 0, 3, -2, -7, -1, 3, 0, 0, 1, 3, -3, -5, 2, 3, -1, 0, + 0, 2, -2, -2, 4, 2, -2, 0, -1, 1, -1, 0, 2, -1, -2, 1, + 4, 0, -3, -4, -2, 1, 2, 1, 0, 0, 3, 5, 3, 1, -1, -2, + 1, 1, 1, -1, -3, -1, 1, 1, 1, -1, -2, -2, 0, 0, -1, -2 +}; + +static const int8 s_svq1IntraCodebook8x8[6144] = { + 4, 4, 3, 2, 2, 1, 0, -1, 4, 3, 3, 2, 1, 0, -1, -1, + 3, 3, 2, 2, 1, 0, -1, -2, 3, 2, 2, 1, 0, -1, -2, -3, + 2, 2, 1, 0, -1, -1, -2, -3, 2, 1, 0, 0, -1, -2, -3, -4, + 1, 0, 0, -1, -2, -3, -4, -4, 0, 0, -1, -2, -2, -3, -4, -4, + 2, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 3, 3, + 1, 2, 2, 2, 2, 2, 2, 2, 0, 1, 1, 1, 1, 1, 1, 1, + -1, 0, 0, 0, 0, 0, 1, 1, -2, -2, -1, -1, -1, -1, -1, -1, + -3, -3, -3, -3, -3, -3, -2, -2, -5, -4, -4, -4, -4, -4, -4, -3, + -4, -2, -1, 0, 1, 2, 2, 3, -4, -2, -1, 0, 1, 2, 3, 3, + -4, -3, -1, 0, 1, 2, 3, 3, -4, -3, -1, 0, 1, 2, 3, 3, + -5, -3, -1, 0, 1, 2, 3, 3, -5, -3, -1, 0, 1, 2, 3, 3, + -5, -3, -1, 0, 1, 1, 2, 3, -5, -3, -2, -1, 0, 1, 2, 3, + 4, 4, 5, 5, 6, 6, 7, 7, 2, 2, 2, 3, 3, 4, 4, 4, + 0, 0, 0, 0, 1, 1, 1, 2, -2, -2, -2, -2, -1, -1, -1, 0, + -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, + -1, -2, -2, -2, -2, -2, -2, -2, -1, -1, -1, -1, -2, -2, -2, -2, + 5, 3, 1, -1, -2, -3, -3, -3, 5, 3, 1, -1, -2, -3, -3, -3, + 5, 3, 1, -1, -2, -3, -3, -3, 5, 3, 1, -1, -2, -3, -3, -3, + 5, 4, 1, 0, -2, -3, -3, -3, 6, 4, 2, 0, -2, -2, -3, -3, + 6, 4, 2, 0, -1, -2, -2, -3, 6, 4, 2, 1, -1, -2, -2, -2, + -1, 1, 3, 3, 2, 0, -3, -6, -1, 1, 3, 4, 3, 0, -3, -6, + -1, 1, 4, 4, 3, 1, -3, -6, -1, 1, 3, 4, 3, 1, -3, -6, + -2, 1, 3, 4, 3, 1, -3, -6, -2, 1, 3, 4, 3, 1, -3, -7, + -2, 1, 3, 3, 2, 0, -3, -7, -2, 0, 2, 3, 2, 0, -3, -6, + 10, 9, 8, 6, 6, 5, 4, 4, 6, 5, 4, 3, 2, 2, 2, 1, + 2, 1, 0, -1, -2, -2, -2, -1, -1, -2, -3, -4, -4, -4, -4, -3, + -2, -3, -4, -4, -5, -4, -4, -3, -2, -2, -3, -3, -3, -3, -2, -2, + -1, -1, -1, -1, -1, -1, -1, 0, 1, 1, 1, 1, 1, 1, 1, 2, + -2, -1, 1, 2, 4, 5, 7, 8, -3, -2, 0, 1, 3, 5, 7, 8, + -4, -3, -1, 0, 2, 4, 6, 7, -5, -4, -2, -1, 1, 3, 5, 7, + -6, -5, -3, -2, 0, 2, 4, 6, -6, -5, -4, -2, -1, 1, 3, 5, + -7, -6, -5, -3, -2, 0, 2, 3, -8, -7, -5, -4, -3, -1, 1, 2, + 11, 9, 7, 5, 3, 1, -1, -1, 10, 8, 6, 3, 1, 0, -2, -2, + 9, 7, 5, 2, 0, -2, -3, -4, 8, 6, 3, 1, -1, -3, -4, -4, + 6, 4, 2, -1, -3, -4, -5, -5, 5, 3, 0, -2, -4, -5, -6, -6, + 3, 1, -1, -3, -5, -6, -7, -7, 2, 0, -2, -4, -6, -6, -7, -7, + 5, 6, 7, 7, 7, 8, 8, 8, 3, 4, 5, 5, 6, 6, 6, 6, + 0, 2, 2, 3, 4, 4, 4, 5, -2, -1, 0, 1, 2, 2, 3, 3, + -4, -3, -2, -1, 0, 1, 1, 2, -6, -5, -4, -3, -2, -2, -1, 0, + -8, -7, -6, -6, -5, -4, -3, -3,-10, -9, -8, -8, -7, -6, -6, -5, + 6, 5, 3, 1, -1, -3, -6, -8, 6, 5, 4, 2, -1, -3, -6, -8, + 6, 5, 4, 2, 0, -3, -6, -8, 6, 5, 4, 2, 0, -3, -6, -8, + 6, 6, 4, 2, 0, -3, -6, -8, 6, 5, 4, 2, 0, -3, -6, -8, + 6, 5, 4, 2, 0, -3, -6, -8, 6, 5, 4, 2, -1, -3, -5, -8, + 11, 10, 9, 8, 7, 6, 5, 4, 8, 8, 7, 6, 5, 4, 3, 2, + 6, 5, 4, 4, 2, 2, 1, 0, 3, 3, 2, 1, 0, 0, -1, -2, + 1, 1, 0, -1, -2, -2, -3, -3, -1, -1, -2, -3, -4, -4, -5, -5, + -3, -4, -4, -5, -6, -6, -7, -7, -5, -5, -6, -7, -8, -8, -8, -8, + -14,-13,-12,-11, -9, -7, -6, -4,-12,-11,-10, -9, -7, -5, -3, -1, + -10, -9, -7, -6, -3, -2, 0, 2, -8, -6, -4, -2, 0, 2, 4, 5, + -5, -3, 0, 2, 4, 5, 7, 8, -2, 0, 2, 4, 6, 8, 9, 10, + 0, 3, 5, 7, 8, 10, 11, 12, 3, 5, 7, 8, 10, 11, 12, 12, + -19,-19,-18,-18,-17,-16,-15,-14,-15,-15,-14,-13,-12,-11,-10, -9, + -11,-10, -9, -8, -6, -5, -4, -3, -6, -5, -3, -2, -1, 0, 1, 2, + -1, 0, 2, 3, 4, 5, 6, 6, 4, 6, 7, 8, 9, 10, 10, 10, + 9, 10, 11, 12, 13, 14, 14, 14, 12, 14, 14, 15, 16, 16, 16, 16, + 22, 21, 19, 17, 14, 11, 9, 5, 20, 19, 17, 14, 11, 8, 4, 1, + 17, 15, 13, 10, 6, 3, 0, -4, 13, 11, 8, 5, 1, -2, -5, -9, + 9, 6, 3, -1, -4, -7,-11,-13, 4, 0, -3, -6, -9,-12,-15,-17, + -2, -5, -8,-11,-14,-16,-18,-20, -8,-10,-13,-16,-17,-19,-21,-22, + 17, 18, 18, 18, 17, 16, 16, 14, 16, 16, 15, 15, 14, 13, 12, 11, + 12, 12, 11, 10, 9, 8, 7, 5, 7, 6, 6, 4, 3, 2, 1, -1, + 1, 0, -1, -2, -3, -4, -5, -6, -5, -6, -7, -8, -9,-10,-11,-12, + -11,-12,-13,-14,-15,-16,-16,-17,-16,-17,-17,-18,-19,-20,-20,-20, + 0, 0, 0, 0, -1, -1, -2, -3, 1, 0, 0, 0, 0, -1, -2, -3, + 1, 1, 0, 0, -1, -1, -2, -2, 1, 1, 1, 0, 0, -1, -1, -2, + 2, 1, 1, 1, 0, -1, -1, -2, 2, 2, 1, 1, 0, 0, -1, -2, + 2, 2, 1, 1, 1, 0, -1, -1, 2, 2, 1, 1, 1, 0, 0, -2, + 0, -1, -1, 0, 0, 1, 2, 3, 0, -1, -1, 0, 1, 1, 2, 2, + -1, -1, -1, -1, 0, 1, 2, 2, -1, -1, -2, -1, 0, 1, 1, 2, + -1, -2, -2, -1, 0, 0, 1, 2, -1, -2, -2, -2, -1, 0, 1, 2, + -1, -1, -2, -1, 0, 0, 1, 2, -1, -1, -1, -1, 0, 1, 1, 2, + 3, 2, 2, 2, 1, 1, 0, 0, 3, 2, 2, 2, 2, 1, 0, 0, + 2, 2, 2, 1, 1, 1, 0, 0, 2, 2, 1, 1, 1, 0, 0, -1, + 1, 1, 1, 0, 0, 0, -1, -1, 0, 0, -1, -1, -1, -1, -1, -1, + -2, -2, -2, -2, -2, -2, -2, -2, -2, -3, -3, -3, -2, -2, -2, -2, + 5, 2, 0, 0, -1, 0, 0, 0, 4, 2, 0, -1, -1, -1, 0, -1, + 4, 1, -1, -1, -2, -1, -1, -1, 4, 1, -1, -1, -2, -1, -1, -1, + 4, 1, -1, -2, -2, -1, -1, -1, 4, 1, -1, -2, -2, -1, -1, -1, + 4, 1, -1, -1, -1, -1, -1, -1, 4, 2, 0, -1, 0, 0, 0, -1, + -2, -1, 0, 1, 1, 1, 1, 1, -3, -1, 0, 1, 1, 1, 1, 1, + -3, -1, 0, 1, 1, 1, 1, 1, -3, -1, 0, 1, 1, 1, 1, 1, + -3, -2, 0, 1, 2, 2, 1, 1, -4, -2, 0, 1, 2, 2, 2, 2, + -5, -3, -1, 1, 1, 2, 1, 2, -5, -3, -2, 0, 1, 1, 1, 1, + 3, 3, 1, 0, -2, -4, -4, -5, 3, 3, 2, 0, -1, -2, -3, -4, + 2, 2, 1, 1, 0, -1, -2, -2, 1, 1, 1, 1, 1, 0, 0, 0, + 0, 0, 0, 1, 1, 1, 1, 1, -2, -1, -1, 0, 0, 1, 2, 2, + -3, -2, -2, -1, 0, 1, 2, 3, -3, -3, -2, -1, 0, 1, 2, 3, + -3, -3, -3, -3, -3, -2, -2, -2, -3, -3, -2, -2, -2, -1, -1, -1, + -2, -2, -2, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 2, 2, 2, 2, + 1, 1, 1, 2, 2, 3, 3, 3, 2, 2, 2, 2, 3, 3, 3, 3, + -8, -7, -5, -3, -2, -1, 0, -1, -4, -3, -1, 0, 1, 2, 1, 1, + -1, 1, 2, 3, 3, 2, 2, 1, 1, 2, 3, 3, 2, 2, 1, 0, + 2, 3, 3, 2, 1, 0, 0, -1, 1, 2, 1, 0, -1, -1, -1, -1, + 1, 1, 0, -1, -1, -2, -2, -1, 1, 1, 0, 0, -1, -1, 0, -1, + -4, -3, -2, 0, 1, 2, 3, 3, -4, -3, -2, 0, 1, 2, 2, 2, + -3, -3, -2, -1, 0, 1, 1, 1, -2, -2, -2, -1, -1, 0, 0, 0, + 0, -1, -1, -1, -1, -1, -1, -1, 2, 1, 1, 0, 0, -1, -1, -2, + 3, 3, 3, 1, 0, -1, -2, -2, 5, 4, 4, 2, 1, 0, -1, -2, + 0, 0, 0, 0, 1, 2, 3, 3, 0, -1, 0, 0, 1, 2, 3, 3, + 0, -1, 0, 0, 1, 2, 3, 2, 0, 0, 0, 1, 1, 2, 2, 2, + 2, 1, 1, 1, 1, 1, 1, 0, 2, 2, 2, 1, 0, 0, -1, -2, + 2, 1, 0, 0, -2, -3, -5, -6, 0, -1, -1, -3, -5, -6, -8, -9, + -2, 0, 1, 2, 2, 1, -1, -4, -2, 0, 2, 2, 2, 1, -1, -4, + -2, 0, 2, 2, 2, 1, -1, -3, -2, 0, 2, 2, 2, 1, -1, -3, + -2, -1, 2, 2, 2, 1, -1, -3, -2, -1, 1, 2, 2, 1, -1, -3, + -3, -1, 1, 2, 2, 1, -1, -3, -2, -1, 1, 2, 2, 1, -1, -3, + -1, 1, 1, -1, -3, -3, 0, 4, -1, 1, 1, -1, -3, -3, 0, 4, + -1, 1, 1, 0, -3, -3, 0, 4, -1, 1, 2, 0, -3, -3, 0, 5, + 0, 1, 2, 0, -3, -4, 0, 4, 0, 1, 2, 0, -3, -4, 0, 5, + 0, 1, 2, 0, -3, -3, 0, 4, 0, 1, 2, -1, -2, -2, 0, 4, + 6, 6, 5, 6, 5, 5, 5, 5, 2, 2, 2, 2, 2, 2, 2, 2, + 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -2, -2, -2, -2, + -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, + -1, -1, -2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 2, 2, 2, 2, 2, 2, 2, 2, 0, 1, 1, 0, 0, 0, 0, 0, + -1, -2, -2, -2, -2, -2, -2, -1, -3, -3, -3, -3, -3, -3, -3, -2, + -3, -4, -4, -3, -3, -3, -2, -2, -2, -2, -2, -2, -1, -1, 0, 0, + 0, 1, 1, 1, 2, 2, 3, 3, 3, 4, 4, 5, 5, 6, 6, 6, + 4, 1, -2, -3, -3, -1, 1, 3, 4, 1, -2, -4, -3, -1, 1, 3, + 5, 1, -2, -4, -3, -1, 1, 4, 5, 1, -2, -3, -3, -1, 2, 4, + 5, 1, -2, -3, -3, -1, 2, 4, 4, 0, -3, -4, -3, -1, 2, 4, + 4, 0, -3, -3, -3, -1, 1, 3, 3, 0, -2, -3, -2, -1, 1, 3, + -3, -4, -4, -4, -4, -4, -4, -4, -1, -1, -1, -1, -1, -1, -2, -2, + 2, 1, 1, 2, 2, 1, 1, 1, 3, 3, 3, 4, 4, 3, 3, 3, + 3, 3, 3, 4, 4, 4, 3, 3, 1, 2, 1, 2, 2, 2, 2, 2, + -2, -2, -2, -1, -1, -1, 0, 0, -4, -4, -4, -4, -3, -3, -3, -3, + -1, -2, -3, -3, -2, -2, -1, 0, 0, -1, -2, -2, -2, -1, 0, 1, + 2, 1, -1, -1, -1, -1, 0, 1, 3, 1, 0, -1, -1, 0, 0, 1, + 3, 2, 0, -1, 0, 0, 0, 1, 3, 1, 0, -1, 0, 0, 0, 1, + 3, 1, 0, -1, 0, 0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, + 0, 0, 0, 1, 1, 2, 3, 4, 0, 0, -1, 0, 0, 0, 2, 3, + 0, -1, -1, -1, -1, -1, 0, 1, 0, -1, -1, -1, -1, -1, -1, 0, + 0, 0, -1, -1, -1, -2, -2, -1, 1, 0, 0, -1, -1, -2, -2, -1, + 2, 2, 1, 0, -1, -1, -1, -1, 3, 3, 2, 1, 0, -1, -1, 0, + 1, 0, 1, 0, 0, -1, -2, -1, 0, 0, 0, 0, -1, -1, -2, -1, + 0, -1, 0, 0, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, + -1, -1, -1, 0, 0, 0, 1, 1, -1, -1, -1, 0, 1, 1, 2, 3, + -2, -2, -1, 0, 1, 2, 3, 4, -2, -2, -1, 0, 1, 2, 4, 5, + -3, -1, 1, 0, 0, -1, 0, 1, -3, 0, 1, 0, -1, -1, 0, 2, + -3, 0, 1, 0, -1, -1, 0, 2, -2, 1, 2, 0, -1, -1, 0, 2, + -2, 1, 2, 0, -1, -1, 0, 2, -2, 1, 2, 0, -1, -1, 0, 2, + -1, 2, 2, 0, -1, -1, 0, 2, -1, 1, 1, 0, -1, -1, -1, 1, + -2, -2, -1, 1, 3, 4, 3, 1, -2, -2, -1, 0, 2, 3, 2, 0, + -2, -2, -1, 0, 1, 2, 1, -1, -1, -1, -1, 0, 1, 2, 1, -1, + -1, -1, -1, 0, 1, 1, 0, -2, 0, -1, -1, 0, 1, 1, 0, -1, + 0, -1, -1, 0, 1, 1, 1, -1, 0, -1, -1, 0, 0, 1, 0, -1, + -2, -1, 0, 1, 1, 1, 1, 1, -2, -1, 0, 0, 0, 0, 0, 0, + -2, -1, -1, 0, -1, -1, -2, -2, -2, -1, -1, -1, -1, -2, -2, -3, + -1, 0, 1, 1, 0, -1, -2, -2, 1, 2, 3, 3, 2, 1, 0, 0, + 1, 2, 3, 3, 3, 2, 1, 0, 0, 0, 1, 1, 1, 1, 0, 0, + 0, -1, -1, -1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, -1, 0, 0, 1, 1, 0, 0, 0, + -3, -2, -1, -1, -1, -1, 0, -1, -5, -5, -4, -3, -2, -2, -2, -1, + 1, 1, 1, 1, 2, 1, 0, -1, 1, 1, 1, 2, 1, 1, 0, -1, + 1, 1, 1, 1, 1, 1, 0, -2, 2, 1, 1, 1, 1, 1, 0, -2, + 1, 1, 0, 0, 0, 0, -1, -3, 1, 1, 0, 0, 0, -1, -2, -3, + 1, 1, 0, 0, -1, -1, -2, -4, 1, 0, 0, -1, -2, -2, -3, -4, + 8, 7, 5, 3, 2, 1, 1, 1, 2, 1, 0, 0, -1, -1, -2, -1, + -1, -1, -1, -2, -2, -2, -2, -1, -1, -1, -1, -1, 0, -1, -1, 0, + 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, + -1, 0, 0, 0, 0, 0, -1, -1, -2, -2, -1, -1, -1, -2, -2, -1, + 9, 4, 0, -2, -2, -2, -1, -1, 7, 2, -1, -2, -2, -1, 0, 0, + 4, 0, -2, -2, -1, 0, 1, 1, 1, -2, -2, -2, -1, 0, 1, 1, + -1, -2, -2, -1, 0, 1, 1, 1, -1, -2, -1, 0, 1, 1, 1, 0, + -1, -1, 0, 1, 1, 1, 0, -1, 0, -1, 0, 1, 0, 0, -1, -1, + 0, 1, 1, 1, 1, 1, 0, 0, 1, 2, 2, 2, 1, 0, 0, 0, + 2, 2, 2, 2, 1, 0, -1, -1, 1, 1, 1, 0, -1, -2, -2, -2, + 0, 0, 0, -1, -2, -3, -2, -2, -1, -1, -1, -2, -2, -2, -1, 0, + -1, -1, -1, -1, 0, 0, 1, 2, -1, -1, -1, 0, 1, 2, 3, 4, + -1, -1, 0, 0, -1, -2, -3, -3, -1, -1, 0, 0, 0, -1, -1, -1, + -2, -2, -1, 0, 1, 1, 1, 1, -2, -2, -2, 0, 1, 2, 3, 3, + -1, -1, -1, 0, 1, 3, 3, 3, 1, 0, 0, 0, 1, 1, 2, 2, + 2, 2, 1, 0, 0, -1, -1, -1, 3, 2, 1, 0, -1, -2, -3, -3, + -1, -1, -1, -2, -2, -3, -4, -5, 0, 0, 0, -1, -1, -3, -3, -4, + 1, 1, 1, 0, 0, -1, -2, -3, 2, 2, 2, 1, 1, 0, -1, -1, + 2, 2, 2, 2, 1, 1, 0, -1, 2, 2, 2, 2, 2, 1, 0, 0, + 1, 1, 2, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, -1, + -2, 2, 3, 1, -1, 1, 1, -1, -3, 2, 3, 0, -1, 1, 1, -1, + -3, 2, 3, 0, -1, 1, 1, -1, -4, 2, 3, 0, -1, 1, 1, -2, + -4, 1, 3, 0, -1, 1, 1, -2, -4, 1, 3, -1, -2, 1, 1, -2, + -3, 1, 2, 0, -1, 1, 1, -2, -3, 1, 2, 0, -1, 1, 1, -1, + -1, -1, -1, -2, -2, -2, -2, -2, 1, 1, 1, 1, 0, 0, 0, 0, + 1, 2, 2, 2, 2, 2, 2, 2, 0, 0, 1, 1, 1, 2, 2, 2, + -2, -2, -1, -1, -1, 0, 0, 0, -3, -3, -3, -3, -3, -3, -3, -2, + -1, -1, -1, -1, -2, -2, -2, -2, 4, 4, 4, 4, 4, 3, 3, 2, + -3, -3, -2, -1, 0, 1, 2, 5, -3, -3, -3, -2, -1, 1, 3, 6, + -3, -3, -2, -2, 0, 2, 3, 5, -3, -2, -2, -2, 0, 1, 3, 5, + -2, -2, -2, -1, -1, 1, 3, 5, -2, -2, -1, -1, 0, 1, 2, 4, + -1, -1, -1, -1, 0, 1, 1, 4, -1, -1, -1, -1, 0, 1, 2, 3, + 0, -1, 0, 1, 1, 0, -1, -1, 0, 0, 0, 1, 2, 0, -1, -1, + 1, 0, -1, 0, 1, 0, 0, 0, 1, -1, -2, -1, 0, 0, 0, 0, + 1, -2, -3, -1, 0, 0, 0, 1, 1, -1, -3, -2, 0, 1, 1, 2, + 1, -1, -2, -1, 0, 1, 1, 2, 2, 0, -1, 0, 1, 1, 2, 2, + 1, 1, 1, 1, 0, 0, 1, 2, -1, 0, 0, -1, 0, 0, 0, 1, + -3, -2, -1, -1, -1, 0, 1, 1, -4, -2, -1, 0, 0, 1, 1, 1, + -3, -2, 0, 0, 1, 1, 1, 1, -3, -1, 0, 1, 1, 1, 0, 0, + -1, 0, 1, 1, 1, 0, 0, -1, 0, 1, 2, 2, 1, 0, 0, -1, + -4, -4, -4, -3, -2, -1, -1, -1, -2, -2, -2, -1, 0, 0, 0, 0, + -1, 0, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, + 0, 0, 1, 1, 2, 2, 1, 0, 0, 0, 1, 1, 1, 1, 1, 0, + 0, 0, 0, 1, 1, 1, 1, 0, -1, 0, 0, 1, 1, 1, 0, 0, + 1, 2, 2, 2, 1, -1, -2, -4, 1, 1, 2, 2, 1, 0, -2, -4, + 0, 1, 1, 1, 1, 0, -1, -3, -1, 0, 1, 1, 0, 0, -1, -2, + -1, 0, 1, 1, 1, 0, 0, -1, -2, -1, 0, 0, 0, 0, 0, -1, + -1, -1, 0, 1, 1, 0, 0, 0, -1, 0, 1, 1, 1, 1, 1, 0, + 2, 2, 0, -1, -2, -1, -1, -2, 1, 1, -1, -2, -2, -1, -1, -2, + 1, 1, -1, -2, -2, 0, 0, -1, 1, 1, 0, -2, -1, 1, 1, 0, + 1, 1, 0, -1, -1, 1, 2, 1, 1, 1, 0, -1, -1, 1, 2, 1, + 1, 1, 0, -1, -1, 1, 1, 1, 1, 1, 0, -1, 0, 1, 1, 1, + 0, 0, -1, -2, -4, -4, -4, -4, 3, 3, 3, 2, 1, 0, 0, 0, + 3, 3, 3, 3, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 1, + -1, -1, -1, -1, -1, -1, -1, 0, 0, -1, 0, 0, -1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, 0, + -1, -1, 0, -1, -1, 1, 2, -1, 1, 1, 0, 0, 0, 2, 3, -1, + 1, 1, 0, -1, -1, 1, 3, -1, 1, 1, 0, -2, -2, 0, 1, -2, + 1, 0, 0, -2, -2, 0, 1, -3, 0, 0, 0, 0, -1, 1, 1, -3, + 0, 1, 1, 0, 1, 2, 1, -3, -1, 0, 1, 1, 1, 2, 1, -4, + -4, -3, 0, 1, 1, 1, 0, 0, -4, -2, 0, 1, 1, 1, 0, -1, + -3, -1, 1, 1, 1, 0, -1, -1, -1, 1, 1, 1, 1, 0, -1, 0, + 1, 2, 2, 1, 0, -1, 0, 0, 2, 2, 1, 0, -1, -1, 0, 1, + 2, 1, 0, -1, -2, -1, 0, 1, 2, 2, 0, -1, -2, -1, 1, 1, + 1, 1, 0, 0, -1, -1, -1, -1, 0, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, -1, -1, -1, -1, -1, -1, + 1, 0, 0, -1, -1, -1, -1, -1, 2, 1, 0, 0, -1, -1, -1, -1, + 5, 3, 2, 1, 0, 0, 0, 0, 6, 5, 3, 2, 1, 0, 0, 0, + 4, 4, 3, 1, 0, 0, 0, 1, 3, 3, 2, 1, 0, 0, 0, 1, + 2, 2, 1, 0, -1, -1, 0, 1, 0, 0, 0, -1, -1, -1, 0, 1, + 0, 0, -1, -1, -2, -1, 0, 2, 0, -1, -1, -2, -2, -2, 0, 1, + 0, -1, -1, -2, -2, -2, -1, 0, 0, 0, -1, -2, -2, -2, -1, 0, + 0, 0, -1, -1, -1, 0, 2, 3, 0, -1, -2, -2, -1, -1, 1, 2, + 1, 0, -1, -1, -1, 0, 0, 0, 1, 1, 1, 0, 0, 0, -1, -1, + 1, 2, 1, 0, 0, -1, -1, -1, -1, 0, 0, 0, -1, -1, -1, -1, + -3, -2, -1, -1, 0, 1, 1, 2, -4, -3, -1, 1, 2, 3, 5, 5, + 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, + 0, 0, 0, -1, 0, 0, 0, 1, -1, -1, -2, -2, -2, -1, -1, 0, + 0, 0, 0, 0, 0, 1, 1, 1, 2, 2, 2, 2, 2, 3, 3, 3, + 1, 1, 1, 1, 2, 2, 1, 1, -4, -3, -4, -4, -4, -4, -3, -3, + -1, 0, 1, 2, 2, 3, 3, 3, -1, -1, -1, -1, 0, 0, 0, 0, + 0, 0, -1, -2, -2, -3, -3, -2, 3, 2, 1, 0, -1, -2, -2, -2, + 4, 3, 2, 1, 1, 0, 0, 0, 2, 2, 1, 1, 0, 1, 1, 1, + 0, -1, -1, -1, -1, 0, 0, 1, -2, -2, -2, -2, -2, -1, 0, 0, + 1, -1, 0, 2, 1, -2, -1, 1, 1, -1, 0, 2, 1, -2, -2, 1, + 1, -1, 0, 3, 2, -2, -1, 1, 0, -2, 0, 3, 2, -2, -2, 1, + 0, -2, 0, 3, 2, -2, -2, 1, 0, -2, 0, 3, 1, -2, -1, 1, + 0, -2, 0, 2, 1, -2, -2, 1, 0, -1, 0, 2, 1, -2, -1, 1, + 0, 1, 2, 2, 3, 3, 2, 2, 0, 1, 1, 2, 3, 3, 2, 1, + 0, 0, 1, 2, 2, 2, 2, 1, -1, 0, 0, 1, 1, 1, 1, 1, + -1, -1, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, + -2, -2, -2, -2, -2, -2, -2, -1, -2, -2, -2, -2, -2, -2, -2, -1, + 0, 0, -1, -2, -1, 0, 3, 5, 0, 0, -1, -1, -1, 0, 2, 4, + 1, 1, 0, 0, -1, -1, 1, 2, 1, 2, 1, 1, 0, -1, -1, 0, + 0, 1, 2, 1, 0, -1, -2, -2, -1, 0, 1, 2, 1, 0, -3, -3, + -2, -1, 1, 2, 2, 0, -2, -4, -2, -1, 0, 2, 2, 1, -1, -3, + 0, 0, 0, 0, 0, 0, -1, -1, 0, 0, -1, 0, 0, 0, 0, 0, + -1, -1, -1, -1, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, 0, + -1, -1, -1, -1, -1, -1, -1, 0, -1, 0, 0, 0, 0, -1, -1, 0, + 0, 0, 1, 1, 0, 0, 0, 1, 3, 3, 3, 4, 3, 3, 3, 3, + 5, 1, -2, -2, 0, 0, 0, -1, 4, -1, -3, -1, 0, 0, 0, -1, + 3, -1, -1, 0, 1, 1, 0, -1, 2, 0, 0, 1, 1, 1, 0, -2, + 1, 0, 0, 1, 1, 1, 0, -2, 0, -1, -1, -1, 0, 0, 0, -1, + 0, -1, -1, -1, -1, 0, 0, -1, 2, 1, 0, 0, 0, 1, 0, 0, + 1, 0, 1, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, + 1, -1, -1, 0, 0, 0, 0, 0, 2, 0, -1, -1, -1, -1, -1, 0, + 3, 1, -1, -1, -2, -2, -2, -1, 4, 2, 1, 0, -1, -2, -2, -1, + 2, 1, 0, 0, -1, -1, 0, 0, 0, -1, -1, -1, -1, 0, 1, 1, + 0, 1, 2, 2, 2, 1, -1, -3, 0, 0, 1, 1, 1, 0, -1, -2, + 0, 0, 0, 0, 0, 0, -1, -1, 0, 0, -1, 0, 0, 1, 1, 0, + 0, 0, -1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 0, + 0, 0, 1, 1, 2, 1, -1, -3, 0, 0, 0, 1, 1, -1, -4, -5, + -2, -2, -2, -1, 0, 2, 2, 2, 0, 0, 0, 0, 1, 1, 1, 0, + 1, 1, 1, 1, 1, 0, -2, -3, 0, 0, 1, 1, 0, -1, -3, -4, + -1, -1, 0, 1, 0, 0, -2, -3, -1, -1, 0, 1, 1, 1, 0, -1, + 0, 0, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, + 0, 1, 0, 0, 1, 1, 1, 2, 1, 2, 0, 0, 0, 0, -1, 1, + 0, 2, 0, -1, 1, 0, -1, 0, 0, 1, 0, 0, 2, 1, 0, 1, + 0, 1, -1, 0, 2, 2, 0, 1, -1, 0, -1, -1, 2, 1, 1, 2, + -2, -2, -3, -2, 0, 1, 1, 1, -2, -2, -3, -3, -1, -1, -1, 0, + -3, -1, 0, 1, 2, 1, 1, 0, -3, -1, 0, 1, 2, 1, 1, 1, + -2, 0, 0, 1, 1, 1, 1, 1, -1, 0, 0, 0, 0, 0, 0, 0, + -2, 0, 0, 0, 0, -1, -1, 0, -2, 0, 0, 0, 0, 0, -1, -1, + -3, 0, 1, 1, 1, 1, 0, 1, -5, -2, 0, 1, 2, 2, 1, 2, + -2, -1, -1, 0, 0, 1, 2, 3, 0, 0, 1, 1, 0, 0, 1, 2, + 0, 0, 1, 0, -1, -1, 0, 1, -1, -1, -1, -1, -2, -2, -1, 0, + -2, -2, -2, -2, -2, -1, 0, 1, 0, 0, 0, -1, 0, 1, 2, 2, + 2, 1, 0, 0, 0, 1, 2, 2, 2, 1, 0, -1, -1, -1, 0, 0, + 0, 1, 1, 1, 1, 1, -1, -4, -1, -1, 0, 1, 1, 1, 0, -3, + -2, -1, 0, 0, 1, 2, 2, -2, -1, 0, 0, 0, 0, 2, 3, -1, + -1, 0, 0, 0, 0, 1, 2, 0, 0, 0, -1, -2, -1, 1, 1, 0, + 0, 0, -1, -2, -2, 0, 2, 1, 0, 0, -1, -2, -1, 1, 2, 2, + 1, 0, 0, 0, -2, -3, -2, -3, 0, 0, 1, 0, -2, -2, -1, -1, + 0, -1, 1, 1, -1, -1, 0, 0, 0, -1, 1, 1, -1, -1, 0, 0, + 0, 1, 2, 1, -1, -1, 0, 1, 1, 2, 3, 2, 0, 0, 1, 2, + -1, 0, 2, 1, 0, 0, 2, 3, -2, -1, 0, 0, -1, 0, 1, 2, + 1, 1, 0, -1, -2, -2, -1, 1, 1, 1, 1, -1, -2, -2, 0, 2, + 1, 1, 1, -1, -1, -1, 0, 2, 0, 0, 0, 0, 0, 0, 1, 2, + -1, -1, -1, 0, 0, 0, 1, 2, -1, -2, -1, 1, 1, 1, 0, 0, + -1, -2, -1, 1, 2, 2, 0, -1, -1, -2, -1, 2, 2, 2, 0, -1, + -1, -1, -1, -2, -1, -1, 0, 1, 0, 0, -1, -1, -1, 0, 1, 2, + 1, 0, 0, 0, 0, 1, 1, 2, 1, 1, 0, 0, 1, 1, 1, 1, + 1, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, -1, -1, -1, + 1, 2, 1, 0, -1, -2, -2, -3, 2, 2, 1, 0, -2, -3, -4, -4, + -4, -2, 1, 1, 1, 1, 0, 0, -2, 0, 1, 0, 0, 0, 0, 0, + 0, 1, 1, -2, -2, -1, 0, 1, 2, 2, 1, -2, -2, -1, 1, 2, + 1, 2, 1, -2, -2, -1, 1, 2, -1, 1, 1, -1, -1, -1, 0, 1, + -2, 0, 1, 1, 0, -1, -1, 0, -2, 0, 2, 2, 1, -1, -1, 0, + 1, 1, 0, 0, 0, 1, 0, 0, -2, -3, -3, -2, -2, -1, 0, 0, + -3, -4, -3, -2, -1, 0, 0, 0, -1, -1, 0, 1, 2, 3, 2, 1, + 0, 1, 2, 3, 3, 3, 2, 1, 1, 1, 1, 2, 1, 0, 0, -1, + 0, 0, 0, 0, -1, -1, -1, -1, 0, -1, -1, 0, 0, 0, 0, 0, + 1, 1, 0, 0, -1, -1, 0, 2, 0, 0, 1, 0, -1, -1, 1, 1, + -2, -1, 0, 1, 1, 1, 1, 1, -3, -3, 0, 2, 2, 1, 1, 0, + -2, -2, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, -1, -1, + 3, 1, -1, -3, -2, -1, 0, 1, 4, 2, -1, -3, -3, -1, 1, 2, + 0, 0, 0, -1, -1, -1, -1, -1, 1, 2, 1, 0, 0, 0, -1, -1, + 2, 3, 3, 2, 1, 0, -1, -1, 3, 4, 4, 2, 1, 0, -1, -2, + 3, 3, 2, 1, 0, -1, -2, -2, 1, 1, 0, -1, -1, -2, -2, -3, + 0, 0, 0, -1, -1, -2, -2, -2, -1, -1, -1, -1, -1, -2, -2, -1, + 1, 2, 2, 2, 2, 1, 2, 2, 0, 1, 1, 1, 1, 0, 0, 0, + 0, 0, 0, 1, 1, 0, -1, -2, 0, 0, 0, 0, 1, 0, -1, -4, + 1, 0, 0, 0, 0, 0, -2, -5, 1, 0, 0, 0, 0, 0, -1, -4, + 1, 0, -1, 0, 0, 0, -1, -3, 0, -1, -1, 0, 1, 1, 1, -1, + -2, -1, 0, 0, -1, -1, -1, -2, -1, 0, 0, 0, -1, -1, -2, -2, + 0, 1, 1, 0, -1, -1, -1, -2, 0, 1, 1, 0, 0, 0, -1, -1, + 0, 1, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 1, 2, 2, 1, + 1, 1, 0, 0, 1, 2, 2, 1, 1, 1, 0, -1, 0, 1, 1, 0, + 4, 2, 1, 0, 0, 1, 1, 1, 4, 2, 1, 0, 0, 0, 0, 1, + 3, 1, 0, 0, -1, -1, -1, 0, 1, 0, 0, -1, -1, -2, -1, 0, + 0, 0, 0, 0, -1, -1, -1, 0, -1, -1, 0, 0, -1, -1, 0, 1, + -2, -1, 0, -1, -1, 0, 0, 1, -2, -2, -1, -2, -1, 0, 0, 1, + 0, 1, 1, 1, 2, 1, 0, -1, -1, -1, -1, 0, 0, -1, -2, -2, + -1, 0, -1, 0, 0, -1, -2, -1, 0, 0, 0, 0, 0, 0, 1, 2, + 0, 0, 0, 0, 0, 0, 2, 3, -1, 0, -1, -1, -1, -1, 0, 3, + -1, 0, 0, -1, -1, -2, 0, 3, 0, 0, 0, 0, -1, -1, 1, 4, + 2, 2, 0, 0, 0, 0, 0, 1, 1, 1, -1, -2, -1, -2, -1, 1, + -1, -1, -2, -2, -2, -3, -2, 0, -1, 0, -1, -1, -1, -2, -1, 1, + 1, 1, 0, 0, 1, 0, 0, 1, 2, 2, 0, 0, 1, 0, 0, 1, + 2, 2, 0, 0, 0, 0, -1, -1, 2, 2, 0, 0, 1, 0, -1, -1, + -1, 0, 1, 1, 0, -1, -1, -1, 1, 2, 3, 2, 1, 0, 0, 0, + 0, 1, 1, 1, 0, -1, 0, 0, -2, -2, -1, 0, 1, 0, 0, 0, + -2, -2, -1, 2, 2, 2, 1, 0, -2, -1, 0, 1, 1, 0, 0, -1, + -1, -1, 0, 0, -1, -2, -1, -2, 0, 1, 1, 1, 0, 0, 1, 1, + -3, -3, -3, -2, -1, -1, -2, -2, -1, -1, 0, 1, 2, 1, 0, 0, + 1, 1, 1, 2, 2, 1, 0, 0, 1, 1, 1, 1, 1, 0, -1, 1, + 1, 0, -1, -1, 0, 0, -1, 1, 0, -1, -1, -1, 0, -1, -1, 1, + 1, 0, -1, 0, 0, -1, 0, 2, 2, 0, -1, 0, 0, 0, 0, 2, + 1, 0, -2, -1, 0, 1, 1, 0, 2, 0, -1, -1, 0, 1, 1, 0, + 1, 0, -2, -1, 0, 1, 0, -1, 1, 0, -1, -1, 0, 1, 0, -1, + 0, 1, 1, 0, 1, 1, 0, 0, -2, 1, 2, 1, 0, 0, 0, 1, + -5, 0, 2, 1, 0, -1, 0, 1, -6, -1, 2, 1, 0, -1, 0, 0, + 5, 3, 0, -1, -2, -1, -1, -1, 1, 1, 0, -1, -1, 0, -1, -1, + -1, 0, 1, 1, 2, 2, 1, 0, -2, -1, 0, 1, 2, 1, 1, 1, + -2, -1, -1, -1, 0, -1, 0, 1, 0, 1, 0, 0, -1, -1, 0, 0, + 0, 1, 1, 1, 1, 0, 0, 0, -3, -2, 0, 1, 1, 0, 0, -1, + -1, 0, 1, 0, -1, 0, 2, 3, -1, 0, 0, -2, -4, -2, -1, 0, + 0, 1, 1, 0, -2, -1, 0, -1, 1, 2, 3, 1, 0, 1, 1, 0, + -1, 0, 1, 1, 1, 1, 1, 0, -2, -3, -2, 0, 0, 0, 1, 0, + -1, -2, -2, 0, 1, 0, 0, -1, 3, 1, 0, 0, 1, 0, -1, -1, + -2, -1, 0, 0, -1, -1, 0, 0, -1, 0, 0, 0, 0, 1, 1, 1, + -1, -1, -1, 0, 1, 1, 1, 1, 0, -2, -3, -1, 1, 0, 0, 0, + 1, -1, -3, -1, 1, 1, 0, -1, 3, 1, -1, 1, 2, 2, 0, -1, + 3, 1, 0, 1, 2, 1, 1, 0, 0, -2, -2, -1, -1, 0, 0, 0, + 1, 0, -1, -1, 1, 2, 1, 0, 0, -1, -2, -1, 1, 2, 2, 1, + -1, -1, -1, 0, 0, 1, 2, 0, -2, 0, 0, 0, 0, 0, 1, -1, + -1, 0, 1, 0, -1, -1, -1, -1, 0, 1, 1, 2, 0, -2, -1, 0, + 1, 2, 2, 2, 1, -1, -1, 0, 0, 1, 1, 1, 0, -2, -2, -1, + 0, 0, -1, -1, -1, -1, -2, -2, 0, 0, -1, 0, 1, 2, 2, 1, + 0, 0, -1, -1, 0, 1, 2, 2, 1, 1, -1, -2, -1, -1, -1, -1, + 2, 2, 1, 0, 0, -1, -2, -2, 1, 2, 2, 1, 0, 0, -2, -2, + 0, 0, 0, 0, 1, 1, 0, -1, 0, -1, -1, -1, 2, 3, 2, 1, + 0, -2, 1, 2, -1, 0, 0, 1, -1, -2, 2, 3, -1, 0, 0, 0, + 0, -2, 2, 3, -1, -1, 0, 0, 0, -1, 3, 2, -2, 0, 1, 0, + 0, -1, 3, 1, -2, 0, 1, 0, 0, -1, 2, 1, -1, 1, 0, -1, + 0, 0, 1, -1, -2, 0, 0, -1, 1, 0, 0, -2, -2, -1, -1, -1, + 1, 1, 1, 1, 1, -1, -1, -2, 0, 0, 0, 1, 1, 1, 1, 1, + 0, 0, 0, 1, 1, 1, 2, 3, 1, 0, 0, -1, 0, 0, 1, 2, + 0, -1, -1, -2, -1, 0, 1, 2, -2, -2, -2, -2, -1, 0, 1, 1, + -1, -1, -1, -1, 0, 0, 0, -1, 2, 2, 2, 0, -1, -1, -2, -4, + -1, -2, -1, -1, 0, 1, 2, 3, -1, -1, -1, -1, 0, 1, 2, 3, + 1, 0, -1, 0, -1, 0, 1, 2, 1, 0, 0, 0, -1, 0, 2, 2, + 1, 0, -1, -1, -2, 0, 1, 2, 0, -2, -2, -2, -3, -1, 0, 1, + 0, -2, -2, -2, -2, -1, 1, 1, 0, 0, 0, 0, 0, 1, 2, 2 +}; + +static const int8 *const s_svq1IntraCodebooks[6] = { + s_svq1IntraCodebook4x2, s_svq1IntraCodebook4x4, + s_svq1IntraCodebook8x4, s_svq1IntraCodebook8x8, + 0, 0 +}; + +} // End of namespace Image + +#endif diff --git a/image/codecs/svq1_vlc.h b/image/codecs/svq1_vlc.h new file mode 100644 index 0000000000..19cfb3418c --- /dev/null +++ b/image/codecs/svq1_vlc.h @@ -0,0 +1,341 @@ +/* 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. + * + */ + +// These tables are modified versions of the FFmpeg ones so that they +// will work with our BitStream class directly. + +#ifndef IMAGE_CODECS_SVQ1_VLC_H +#define IMAGE_CODECS_SVQ1_VLC_H + +#include "common/scummsys.h" + +namespace Image { + +static const byte s_svq1BlockTypeLengths[4] = { + 1, 2, 3, 3 +}; + +static const uint32 s_svq1BlockTypeCodes[4] = { + 1, 1, 1, 0 +}; + +static const byte s_svq1IntraMultistageLengths0[8] = { + 5, 1, 3, 3, 4, 4, 5, 4 +}; + +static const uint32 s_svq1IntraMultistageCodes0[8] = { + 1, 1, 3, 2, 3, 2, 0, 1 +}; + +static const byte s_svq1IntraMultistageLengths1[8] = { + 4, 2, 3, 3, 3, 3, 4, 3 +}; + +static const uint32 s_svq1IntraMultistageCodes1[8] = { + 1, 3, 5, 4, 3, 2, 0, 1 +}; + +static const byte s_svq1IntraMultistageLengths2[8] = { + 5, 1, 3, 5, 4, 3, 4, 4 +}; + +static const uint32 s_svq1IntraMultistageCodes2[8] = { + 1, 1, 3, 0, 3, 2, 2, 1 +}; + +static const byte s_svq1IntraMultistageLengths3[8] = { + 6, 1, 2, 6, 4, 4, 5, 4 +}; + +static const uint32 s_svq1IntraMultistageCodes3[8] = { + 1, 1, 1, 0, 3, 2, 1, 1 +}; + +static const byte s_svq1IntraMultistageLengths4[8] = { + 6, 1, 2, 5, 5, 6, 5, 3 +}; + +static const uint32 s_svq1IntraMultistageCodes4[8] = { + 1, 1, 1, 3, 2, 0, 1, 1 +}; + +static const byte s_svq1IntraMultistageLengths5[8] = { + 7, 1, 2, 3, 4, 6, 7, 5 +}; + +static const uint32 s_svq1IntraMultistageCodes5[8] = { + 1, 1, 1, 1, 1, 1, 0, 1 +}; + +static const byte *s_svq1IntraMultistageLengths[6] = { + s_svq1IntraMultistageLengths0, s_svq1IntraMultistageLengths1, s_svq1IntraMultistageLengths2, + s_svq1IntraMultistageLengths3, s_svq1IntraMultistageLengths4, s_svq1IntraMultistageLengths5 +}; + +static const uint32 *s_svq1IntraMultistageCodes[6] = { + s_svq1IntraMultistageCodes0, s_svq1IntraMultistageCodes1, s_svq1IntraMultistageCodes2, + s_svq1IntraMultistageCodes3, s_svq1IntraMultistageCodes4, s_svq1IntraMultistageCodes5 +}; + +static const byte s_svq1InterMultistageLengths0[8] = { + 2, 3, 3, 3, 3, 3, 4, 4 +}; + +static const uint32 s_svq1InterMultistageCodes0[8] = { + 3, 5, 4, 3, 2, 1, 1, 0 +}; + +static const byte s_svq1InterMultistageLengths1[8] = { + 2, 3, 3, 3, 3, 3, 4, 4 +}; + +static const uint32 s_svq1InterMultistageCodes1[8] = { + 3, 5, 4, 3, 2, 1, 1, 0 +}; + +static const byte s_svq1InterMultistageLengths2[8] = { + 1, 3, 3, 4, 4, 4, 5, 5 +}; + +static const uint32 s_svq1InterMultistageCodes2[8] = { + 1, 3, 2, 3, 2, 1, 1, 0 +}; + +static const byte s_svq1InterMultistageLengths3[8] = { + 1, 3, 3, 4, 4, 4, 5, 5 +}; + +static const uint32 s_svq1InterMultistageCodes3[8] = { + 1, 3, 2, 3, 2, 1, 1, 0 +}; + +static const byte s_svq1InterMultistageLengths4[8] = { + 1, 3, 3, 4, 4, 4, 5, 5 +}; + +static const uint32 s_svq1InterMultistageCodes4[8] = { + 1, 3, 2, 3, 2, 1, 1, 0 +}; + +static const byte s_svq1InterMultistageLengths5[8] = { + 1, 2, 3, 5, 5, 5, 6, 6 +}; + +static const uint32 s_svq1InterMultistageCodes5[8] = { + 1, 1, 1, 3, 2, 1, 1, 0 +}; + +static const byte *s_svq1InterMultistageLengths[6] = { + s_svq1InterMultistageLengths0, s_svq1InterMultistageLengths1, s_svq1InterMultistageLengths2, + s_svq1InterMultistageLengths3, s_svq1InterMultistageLengths4, s_svq1InterMultistageLengths5 +}; + +static const uint32 *s_svq1InterMultistageCodes[6] = { + s_svq1InterMultistageCodes0, s_svq1InterMultistageCodes1, s_svq1InterMultistageCodes2, + s_svq1InterMultistageCodes3, s_svq1InterMultistageCodes4, s_svq1InterMultistageCodes5 +}; + +static const byte s_svq1IntraMeanLengths[256] = { + 6, 7, 17, 20, 20, 20, 20, 20, 20, 19, + 11, 9, 11, 14, 14, 15, 16, 12, 10, 11, + 11, 9, 8, 8, 7, 4, 4, 6, 7, 8, + 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, + 9, 9, 9, 9, 9, 9, 9, 9, 8, 8, + 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, + 8, 8, 8, 8, 7, 8, 8, 8, 8, 8, + 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, + 8, 8, 8, 8, 8, 7, 8, 8, 7, 8, + 8, 8, 8, 8, 7, 8, 7, 7, 8, 7, + 7, 8, 7, 8, 8, 8, 7, 7, 8, 7, + 8, 7, 7, 7, 7, 7, 7, 7, 7, 7, + 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, + 8, 8, 8, 8, 8, 8, 8, 7, 7, 7, + 7, 7, 7, 7, 7, 7, 7, 7, 6, 6, + 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, + 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, + 9, 9, 9, 9, 8, 8, 9, 9, 9, 9, + 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, + 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, + 9, 9, 9, 9, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 11, 11, 11, 10, 11, 11, 11, + 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, + 11, 11, 11, 11, 11, 14 +}; + +static const uint32 s_svq1IntraMeanCodes[256] = { + 55, 86, 1, 1, 2, 3, 0, 4, 5, 3, + 21, 66, 20, 3, 2, 1, 1, 1, 43, 24, + 12, 65, 120, 108, 85, 15, 14, 52, 81, 114, + 110, 64, 63, 62, 61, 60, 59, 58, 57, 56, + 55, 67, 70, 71, 69, 68, 73, 72, 74, 121, + 118, 119, 113, 117, 116, 115, 106, 85, 112, 111, + 82, 109, 76, 107, 64, 105, 104, 103, 102, 101, + 100, 99, 98, 97, 96, 95, 94, 93, 92, 91, + 90, 89, 88, 87, 86, 61, 84, 83, 63, 81, + 80, 79, 78, 77, 65, 75, 83, 62, 72, 79, + 82, 69, 80, 67, 66, 65, 66, 67, 62, 68, + 60, 69, 70, 71, 72, 73, 74, 75, 76, 77, + 78, 88, 89, 90, 91, 92, 93, 68, 73, 41, + 63, 61, 59, 44, 40, 37, 38, 94, 87, 84, + 95, 98, 99, 100, 97, 101, 103, 102, 53, 54, + 96, 57, 58, 56, 55, 54, 53, 52, 51, 50, + 49, 48, 45, 43, 42, 39, 64, 70, 71, 38, + 37, 36, 35, 34, 46, 47, 31, 54, 29, 33, + 27, 28, 25, 26, 24, 23, 22, 30, 32, 39, + 40, 41, 42, 43, 44, 45, 46, 47, 48, 53, + 49, 50, 51, 52, 25, 42, 23, 22, 21, 40, + 38, 37, 34, 33, 24, 20, 41, 18, 13, 14, + 15, 16, 17, 26, 27, 28, 29, 30, 31, 32, + 19, 35, 36, 9, 8, 7, 39, 5, 11, 6, + 4, 3, 2, 1, 10, 22, 25, 23, 13, 14, + 15, 16, 17, 18, 19, 1 +}; + +static const byte s_svq1InterMeanLengths[512] = { + 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, + 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, + 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, + 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, + 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, + 22, 22, 22, 21, 22, 22, 22, 22, 22, 22, + 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, + 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, + 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, + 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, + 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, + 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, + 22, 22, 22, 22, 22, 22, 22, 22, 22, 21, + 22, 22, 22, 22, 22, 22, 20, 21, 22, 21, + 22, 22, 20, 22, 22, 21, 19, 18, 20, 22, + 22, 21, 20, 19, 20, 20, 19, 19, 19, 18, + 19, 18, 19, 20, 19, 19, 18, 18, 18, 19, + 18, 18, 18, 17, 19, 18, 18, 17, 18, 18, + 18, 17, 17, 17, 17, 16, 16, 16, 16, 16, + 16, 16, 16, 16, 15, 16, 15, 15, 15, 15, + 15, 15, 15, 15, 14, 14, 14, 14, 14, 14, + 14, 14, 14, 13, 13, 13, 13, 13, 13, 13, + 13, 12, 12, 12, 12, 12, 12, 11, 11, 11, + 11, 11, 11, 10, 10, 10, 10, 10, 10, 9, + 9, 9, 9, 9, 8, 8, 8, 8, 7, 7, + 7, 6, 6, 5, 5, 4, 1, 3, 5, 5, + 6, 6, 7, 7, 7, 7, 8, 8, 8, 9, + 9, 9, 9, 9, 10, 10, 10, 10, 11, 11, + 11, 11, 11, 11, 11, 12, 12, 12, 12, 12, + 12, 13, 13, 13, 13, 13, 13, 13, 13, 13, + 14, 14, 14, 14, 14, 14, 14, 14, 15, 15, + 15, 15, 15, 15, 15, 15, 15, 15, 16, 16, + 16, 16, 16, 16, 16, 16, 16, 16, 17, 17, + 17, 17, 17, 17, 17, 17, 18, 17, 17, 17, + 17, 17, 17, 17, 19, 18, 18, 19, 18, 18, + 19, 18, 18, 18, 19, 18, 19, 19, 18, 20, + 20, 19, 19, 19, 19, 19, 19, 18, 19, 20, + 19, 19, 21, 20, 19, 20, 19, 19, 20, 20, + 22, 20, 22, 22, 21, 22, 22, 21, 21, 22, + 22, 20, 22, 22, 21, 22, 22, 22, 20, 22, + 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, + 22, 22, 22, 22, 21, 21, 22, 22, 22, 21, + 22, 21, 22, 22, 22, 22, 22, 22, 22, 22, + 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, + 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, + 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, + 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, + 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, + 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, + 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, + 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, + 22, 22 +}; + +static const uint32 s_svq1InterMeanCodes[512] = { + 90, 212, 213, 214, 215, 216, 217, 218, 219, 220, + 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, + 232, 203, 233, 234, 231, 236, 237, 238, 239, 240, + 241, 242, 243, 244, 245, 246, 247, 248, 258, 235, + 249, 252, 253, 254, 256, 92, 96, 257, 113, 260, + 261, 251, 255, 134, 250, 124, 117, 259, 120, 211, + 123, 130, 210, 209, 208, 207, 206, 205, 204, 195, + 202, 201, 200, 199, 198, 197, 139, 196, 194, 193, + 192, 191, 190, 189, 188, 187, 186, 185, 97, 132, + 133, 134, 135, 136, 137, 138, 140, 141, 142, 143, + 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, + 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, + 164, 165, 166, 167, 168, 169, 170, 171, 127, 143, + 172, 173, 174, 175, 176, 177, 83, 144, 178, 145, + 179, 180, 84, 181, 182, 140, 52, 61, 85, 183, + 184, 139, 86, 61, 87, 88, 64, 67, 71, 42, + 46, 44, 70, 89, 73, 45, 56, 54, 57, 69, + 40, 48, 53, 32, 68, 50, 49, 31, 47, 46, + 45, 33, 34, 35, 36, 39, 35, 32, 29, 37, + 30, 36, 42, 38, 33, 41, 34, 35, 36, 27, + 26, 29, 31, 39, 23, 24, 25, 27, 28, 30, + 37, 32, 33, 19, 20, 21, 22, 23, 24, 25, + 26, 24, 23, 21, 20, 19, 18, 15, 16, 18, + 19, 27, 26, 14, 19, 15, 16, 17, 18, 13, + 20, 21, 12, 19, 15, 14, 16, 17, 12, 9, + 10, 8, 9, 9, 8, 5, 1, 3, 7, 6, + 11, 10, 14, 15, 11, 13, 11, 13, 12, 15, + 16, 17, 14, 18, 23, 20, 22, 21, 25, 24, + 23, 22, 21, 20, 17, 25, 26, 22, 29, 27, + 28, 32, 28, 35, 34, 33, 31, 30, 27, 29, + 36, 22, 26, 34, 29, 31, 21, 35, 24, 32, + 41, 40, 38, 37, 25, 28, 30, 23, 44, 43, + 28, 33, 45, 40, 31, 27, 26, 34, 45, 50, + 44, 39, 49, 51, 47, 43, 55, 42, 46, 48, + 41, 40, 38, 37, 47, 51, 52, 48, 58, 59, + 49, 60, 43, 41, 72, 39, 66, 65, 38, 82, + 81, 63, 62, 57, 60, 59, 58, 37, 56, 80, + 55, 54, 135, 79, 53, 78, 51, 50, 77, 76, + 131, 75, 129, 128, 142, 126, 125, 132, 141, 122, + 121, 74, 119, 118, 137, 116, 115, 114, 73, 112, + 111, 110, 109, 108, 107, 106, 105, 104, 103, 102, + 101, 100, 99, 98, 138, 136, 95, 94, 93, 133, + 91, 131, 89, 88, 87, 86, 85, 84, 83, 82, + 81, 80, 79, 78, 77, 76, 75, 74, 73, 72, + 71, 70, 69, 68, 67, 66, 65, 64, 63, 62, + 61, 60, 59, 58, 57, 56, 55, 54, 53, 52, + 51, 50, 49, 48, 47, 46, 45, 44, 43, 42, + 41, 40, 39, 38, 37, 36, 35, 34, 33, 32, + 31, 30, 29, 28, 27, 26, 25, 24, 23, 22, + 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, + 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, + 1, 0 +}; + +static const byte s_svq1MotionComponentLengths[33] = { + 1, 2, 3, 4, 6, 7, 7, 7, 9, 9, + 9, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 11, 11, 11, 11, 11, + 11, 12, 12 +}; + +static const uint32 s_svq1MotionComponentCodes[33] = { + 1, 1, 1, 1, 3, 5, 4, 3, 11, 10, + 9, 17, 16, 15, 14, 13, 12, 11, 10, 9, + 8, 7, 6, 5, 4, 7, 6, 5, 4, 3, + 2, 3, 2 +}; + +} // End of namespace Image + +#endif diff --git a/image/codecs/truemotion1.cpp b/image/codecs/truemotion1.cpp new file mode 100644 index 0000000000..3b8ad85606 --- /dev/null +++ b/image/codecs/truemotion1.cpp @@ -0,0 +1,422 @@ +/* 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. + * + */ + +// Based on the TrueMotion 1 decoder by Alex Beregszaszi & Mike Melanson in FFmpeg + +#include "common/scummsys.h" +#include "image/codecs/truemotion1.h" + +#ifdef IMAGE_CODECS_TRUEMOTION1_H + +#include "image/codecs/truemotion1data.h" +#include "common/stream.h" +#include "common/textconsole.h" +#include "common/util.h" + +namespace Image { + +enum { + FLAG_SPRITE = (1 << 5), + FLAG_KEYFRAME = (1 << 4), + FLAG_INTERFRAME = (1 << 3), + FLAG_INTERPOLATED = (1 << 2) +}; + +enum { + ALGO_NOP = 0, + ALGO_RGB16V = 1, + ALGO_RGB16H = 2, + ALGO_RGB24H = 3 +}; + +// these are the various block sizes that can occupy a 4x4 block +enum { + BLOCK_2x2 = 0, + BLOCK_2x4 = 1, + BLOCK_4x2 = 2, + BLOCK_4x4 = 3 +}; + +// { valid for metatype }, algorithm, num of deltas, vert res, horiz res +struct CompressionType { + int algorithm; + int blockWidth; // vres + int blockHeight; // hres + int blockType; +}; + +static const CompressionType compressionTypes[17] = { + { ALGO_NOP, 0, 0, 0 }, + + { ALGO_RGB16V, 4, 4, BLOCK_4x4 }, + { ALGO_RGB16H, 4, 4, BLOCK_4x4 }, + { ALGO_RGB16V, 4, 2, BLOCK_4x2 }, + { ALGO_RGB16H, 4, 2, BLOCK_4x2 }, + + { ALGO_RGB16V, 2, 4, BLOCK_2x4 }, + { ALGO_RGB16H, 2, 4, BLOCK_2x4 }, + { ALGO_RGB16V, 2, 2, BLOCK_2x2 }, + { ALGO_RGB16H, 2, 2, BLOCK_2x2 }, + + { ALGO_NOP, 4, 4, BLOCK_4x4 }, + { ALGO_RGB24H, 4, 4, BLOCK_4x4 }, + { ALGO_NOP, 4, 2, BLOCK_4x2 }, + { ALGO_RGB24H, 4, 2, BLOCK_4x2 }, + + { ALGO_NOP, 2, 4, BLOCK_2x4 }, + { ALGO_RGB24H, 2, 4, BLOCK_2x4 }, + { ALGO_NOP, 2, 2, BLOCK_2x2 }, + { ALGO_RGB24H, 2, 2, BLOCK_2x2 } +}; + +TrueMotion1Decoder::TrueMotion1Decoder(uint16 width, uint16 height) { + _surface = new Graphics::Surface(); + _width = width; + _height = height; + + _surface->create(width, height, getPixelFormat()); + + // there is a vertical predictor for each pixel in a line; each vertical + // predictor is 0 to start with + _vertPred = new uint32[_width]; + + _buf = _mbChangeBits = _indexStream = 0; + _lastDeltaset = _lastVectable = -1; +} + +TrueMotion1Decoder::~TrueMotion1Decoder() { + _surface->free(); + delete _surface; + delete[] _vertPred; +} + +void TrueMotion1Decoder::selectDeltaTables(int deltaTableIndex) { + if (deltaTableIndex > 3) + return; + + for (byte i = 0; i < 8; i++) { + _ydt[i] = ydts[deltaTableIndex][i]; + _cdt[i] = cdts[deltaTableIndex][i]; + + // Y skinny deltas need to be halved for some reason; maybe the + // skinny Y deltas should be modified + // Drop the lsb before dividing by 2-- net effect: round down + // when dividing a negative number (e.g., -3/2 = -2, not -1) + _ydt[i] &= 0xFFFE; + _ydt[i] /= 2; + } +} + +int TrueMotion1Decoder::makeYdt16Entry(int p1, int p2) { +#ifdef SCUMM_BIG_ENDIAN + // Swap the values on BE systems. FFmpeg does this too. + SWAP(p1, p2); +#endif + + int lo = _ydt[p1]; + lo += (lo << 6) + (lo << 11); + int hi = _ydt[p2]; + hi += (hi << 6) + (hi << 11); + return lo + (hi << 16); +} + +int TrueMotion1Decoder::makeCdt16Entry(int p1, int p2) { + int b = _cdt[p2]; + int r = _cdt[p1] << 11; + int lo = b + r; + return lo + (lo << 16); +} + +void TrueMotion1Decoder::genVectorTable16(const byte *selVectorTable) { + memset(&_yPredictorTable, 0, sizeof(PredictorTableEntry) * 1024); + memset(&_cPredictorTable, 0, sizeof(PredictorTableEntry) * 1024); + + for (int i = 0; i < 1024; i += 4) { + int len = *selVectorTable++ / 2; + for (int j = 0; j < len; j++) { + byte deltaPair = *selVectorTable++; + _yPredictorTable[i + j].color = makeYdt16Entry(deltaPair >> 4, deltaPair & 0xf); + _cPredictorTable[i + j].color = makeCdt16Entry(deltaPair >> 4, deltaPair & 0xf); + } + + _yPredictorTable[i + (len - 1)].getNextIndex = true; + _cPredictorTable[i + (len - 1)].getNextIndex = true; + } +} + +void TrueMotion1Decoder::decodeHeader(Common::SeekableReadStream *stream) { + _buf = new byte[stream->size()]; + stream->read(_buf, stream->size()); + + byte headerBuffer[128]; // logical maximum size of the header + const byte *selVectorTable; + + // There is 1 change bit per 4 pixels, so each change byte represents + // 32 pixels; divide width by 4 to obtain the number of change bits and + // then round up to the nearest byte. + _mbChangeBitsRowSize = ((_width >> 2) + 7) >> 3; + + _header.headerSize = ((_buf[0] >> 5) | (_buf[0] << 3)) & 0x7f; + + if (_buf[0] < 0x10) + error("Invalid TrueMotion1 header size %d", _header.headerSize); + + // unscramble the header bytes with a XOR operation + memset(headerBuffer, 0, 128); + for (int i = 1; i < _header.headerSize; i++) + headerBuffer[i - 1] = _buf[i] ^ _buf[i + 1]; + + _header.compression = headerBuffer[0]; + _header.deltaset = headerBuffer[1]; + _header.vectable = headerBuffer[2]; + _header.ysize = READ_LE_UINT16(&headerBuffer[3]); + _header.xsize = READ_LE_UINT16(&headerBuffer[5]); + _header.checksum = READ_LE_UINT16(&headerBuffer[7]); + _header.version = headerBuffer[9]; + _header.headerType = headerBuffer[10]; + _header.flags = headerBuffer[11]; + _header.control = headerBuffer[12]; + + // Version 2 + if (_header.version >= 2) { + if (_header.headerType > 3) { + error("Invalid header type %d", _header.headerType); + } else if (_header.headerType == 2 || _header.headerType == 3) { + _flags = _header.flags; + if (!(_flags & FLAG_INTERFRAME)) + _flags |= FLAG_KEYFRAME; + } else + _flags = FLAG_KEYFRAME; + } else // Version 1 + _flags = FLAG_KEYFRAME; + + if (_flags & FLAG_SPRITE) { + error("SPRITE frame found, please report the sample to the developers"); + } else if (_header.headerType < 2 && _header.xsize < 213 && _header.ysize >= 176) { + _flags |= FLAG_INTERPOLATED; + error("INTERPOLATION selected, please report the sample to the developers"); + } + + if (_header.compression >= 17) + error("Invalid TrueMotion1 compression type %d", _header.compression); + + if (_header.deltaset != _lastDeltaset || _header.vectable != _lastVectable) + selectDeltaTables(_header.deltaset); + + if ((_header.compression & 1) && _header.headerType) + selVectorTable = pc_tbl2; + else if (_header.vectable < 4) + selVectorTable = tables[_header.vectable - 1]; + else + error("Invalid vector table id %d", _header.vectable); + + if (_header.deltaset != _lastDeltaset || _header.vectable != _lastVectable) + genVectorTable16(selVectorTable); + + // set up pointers to the other key data chunks + _mbChangeBits = _buf + _header.headerSize; + + if (_flags & FLAG_KEYFRAME) { + // no change bits specified for a keyframe; only index bytes + _indexStream = _mbChangeBits; + } else { + // one change bit per 4x4 block + _indexStream = _mbChangeBits + _mbChangeBitsRowSize * (_height >> 2); + } + + _indexStreamSize = stream->size() - (_indexStream - _buf); + + _lastDeltaset = _header.deltaset; + _lastVectable = _header.vectable; + _blockWidth = compressionTypes[_header.compression].blockWidth; + _blockHeight = compressionTypes[_header.compression].blockHeight; + _blockType = compressionTypes[_header.compression].blockType; +} + +#define GET_NEXT_INDEX() \ +do { \ + if (indexStreamIndex >= _indexStreamSize) \ + error("TrueMotion1 decoder went out of bounds"); \ + index = _indexStream[indexStreamIndex++] * 4; \ +} while (0) \ + +#define APPLY_C_PREDICTOR() \ + predictor_pair = _cPredictorTable[index].color; \ + horizPred += predictor_pair; \ + if (_cPredictorTable[index].getNextIndex) { \ + GET_NEXT_INDEX(); \ + if (!index) { \ + GET_NEXT_INDEX(); \ + predictor_pair = _cPredictorTable[index].color; \ + horizPred += predictor_pair * 5; \ + if (_cPredictorTable[index].getNextIndex) \ + GET_NEXT_INDEX(); \ + else \ + index++; \ + } \ + } else \ + index++ + +#define APPLY_Y_PREDICTOR() \ + predictor_pair = _yPredictorTable[index].color; \ + horizPred += predictor_pair; \ + if (_yPredictorTable[index].getNextIndex) { \ + GET_NEXT_INDEX(); \ + if (!index) { \ + GET_NEXT_INDEX(); \ + predictor_pair = _yPredictorTable[index].color; \ + horizPred += predictor_pair * 5; \ + if (_yPredictorTable[index].getNextIndex) \ + GET_NEXT_INDEX(); \ + else \ + index++; \ + } \ + } else \ + index++ + +#define OUTPUT_PIXEL_PAIR() \ + *currentPixelPair = *vertPred + horizPred; \ + *vertPred++ = *currentPixelPair++ + +void TrueMotion1Decoder::decode16() { + uint32 predictor_pair; + bool keyframe = _flags & FLAG_KEYFRAME; + int indexStreamIndex = 0; + + // these variables are for managing the main index stream + int index; + + // clean out the line buffer + memset(_vertPred, 0, _width * 4); + + GET_NEXT_INDEX(); + + for (int y = 0; y < _height; y++) { + // re-init variables for the next line iteration + uint32 horizPred = 0; + uint32 *currentPixelPair = (uint32 *)_surface->getBasePtr(0, y); + uint32 *vertPred = _vertPred; + int mbChangeIndex = 0; + byte mbChangeByte = _mbChangeBits[mbChangeIndex++]; + byte mbChangeByteMask = 1; + + for (int pixelsLeft = _width; pixelsLeft > 0; pixelsLeft -= 4) { + if (keyframe || (mbChangeByte & mbChangeByteMask) == 0) { + switch (y & 3) { + case 0: + // if macroblock width is 2, apply C-Y-C-Y; else + // apply C-Y-Y + if (_blockWidth == 2) { + APPLY_C_PREDICTOR(); + APPLY_Y_PREDICTOR(); + OUTPUT_PIXEL_PAIR(); + APPLY_C_PREDICTOR(); + APPLY_Y_PREDICTOR(); + OUTPUT_PIXEL_PAIR(); + } else { + APPLY_C_PREDICTOR(); + APPLY_Y_PREDICTOR(); + OUTPUT_PIXEL_PAIR(); + APPLY_Y_PREDICTOR(); + OUTPUT_PIXEL_PAIR(); + } + break; + case 1: + case 3: + // always apply 2 Y predictors on these iterations + APPLY_Y_PREDICTOR(); + OUTPUT_PIXEL_PAIR(); + APPLY_Y_PREDICTOR(); + OUTPUT_PIXEL_PAIR(); + break; + case 2: + // this iteration might be C-Y-C-Y, Y-Y, or C-Y-Y + // depending on the macroblock type + if (_blockType == BLOCK_2x2) { + APPLY_C_PREDICTOR(); + APPLY_Y_PREDICTOR(); + OUTPUT_PIXEL_PAIR(); + APPLY_C_PREDICTOR(); + APPLY_Y_PREDICTOR(); + OUTPUT_PIXEL_PAIR(); + } else if (_blockType == BLOCK_4x2) { + APPLY_C_PREDICTOR(); + APPLY_Y_PREDICTOR(); + OUTPUT_PIXEL_PAIR(); + APPLY_Y_PREDICTOR(); + OUTPUT_PIXEL_PAIR(); + } else { + APPLY_Y_PREDICTOR(); + OUTPUT_PIXEL_PAIR(); + APPLY_Y_PREDICTOR(); + OUTPUT_PIXEL_PAIR(); + } + break; + } + } else { + // skip (copy) four pixels, but reassign the horizontal + // predictor + *vertPred++ = *currentPixelPair++; + horizPred = *currentPixelPair - *vertPred; + *vertPred++ = *currentPixelPair++; + } + + if (!keyframe) { + mbChangeByteMask <<= 1; + + // next byte + if (!mbChangeByteMask) { + mbChangeByte = _mbChangeBits[mbChangeIndex++]; + mbChangeByteMask = 1; + } + } + } + + // next change row + if (((y + 1) & 3) == 0) + _mbChangeBits += _mbChangeBitsRowSize; + } +} + +const Graphics::Surface *TrueMotion1Decoder::decodeImage(Common::SeekableReadStream *stream) { + decodeHeader(stream); + + if (compressionTypes[_header.compression].algorithm == ALGO_NOP) { + delete[] _buf; + return 0; + } + + if (compressionTypes[_header.compression].algorithm == ALGO_RGB24H) { + warning("Unhandled TrueMotion1 24bpp frame"); + delete[] _buf; + return 0; + } else + decode16(); + + delete[] _buf; + + return _surface; +} + +} // End of namespace Image + +#endif diff --git a/image/codecs/truemotion1.h b/image/codecs/truemotion1.h new file mode 100644 index 0000000000..e836ddb0e4 --- /dev/null +++ b/image/codecs/truemotion1.h @@ -0,0 +1,109 @@ +/* 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. + * + */ + +// Based on the TrueMotion 1 decoder by Alex Beregszaszi & Mike Melanson in FFmpeg + +// Only compile if SCI32 is enabled, ZVISION is enabled, or if we're building dynamic modules +#if defined(ENABLE_SCI32) || defined(ENABLE_ZVISION) || defined(DYNAMIC_MODULES) + +#ifndef IMAGE_CODECS_TRUEMOTION1_H +#define IMAGE_CODECS_TRUEMOTION1_H + +#include "image/codecs/codec.h" + +namespace Image { + +/** + * Duck TrueMotion 1 decoder. + * + * Used in video: + * - AVIDecoder + */ +class TrueMotion1Decoder : public Codec { +public: + TrueMotion1Decoder(uint16 width, uint16 height); + ~TrueMotion1Decoder(); + + const Graphics::Surface *decodeImage(Common::SeekableReadStream *stream); + + // Always return RGB565 + Graphics::PixelFormat getPixelFormat() const { return Graphics::PixelFormat(2, 5, 6, 5, 0, 11, 5, 0, 0); } + +private: + Graphics::Surface *_surface; + + int _mbChangeBitsRowSize; + byte *_buf, *_mbChangeBits, *_indexStream; + int _indexStreamSize; + + uint16 _width, _height; + int _flags; + + struct PredictorTableEntry { + uint32 color; + bool getNextIndex; + }; + + PredictorTableEntry _yPredictorTable[1024]; + PredictorTableEntry _cPredictorTable[1024]; + + int _blockType; + int _blockWidth; + int _blockHeight; + + int16 _ydt[8]; + int16 _cdt[8]; + + int _lastDeltaset, _lastVectable; + + uint32 *_vertPred; + + struct { + byte headerSize; + byte compression; + byte deltaset; + byte vectable; + uint16 ysize; + uint16 xsize; + uint16 checksum; + byte version; + byte headerType; + byte flags; + byte control; + uint16 xoffset; + uint16 yoffset; + uint16 width; + uint16 height; + } _header; + + void selectDeltaTables(int deltaTableIndex); + void decodeHeader(Common::SeekableReadStream *stream); + void decode16(); + int makeYdt16Entry(int p1, int p2); + int makeCdt16Entry(int p1, int p2); + void genVectorTable16(const byte *selVectorTable); +}; + +} // End of namespace Image + +#endif // IMAGE_CODECS_TRUEMOTION1_H +#endif // SCI32/Plugins guard diff --git a/image/codecs/truemotion1data.h b/image/codecs/truemotion1data.h new file mode 100644 index 0000000000..c73047211e --- /dev/null +++ b/image/codecs/truemotion1data.h @@ -0,0 +1,829 @@ +/* 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. + * + */ + +// Based on the TrueMotion 1 decoder by Alex Beregszaszi & Mike Melanson in FFmpeg +// These tables were originally part of VpVision from On2 + +#ifndef IMAGE_CODECS_TRUEMOTION1DATA_H +#define IMAGE_CODECS_TRUEMOTION1DATA_H + +#include "common/scummsys.h" + +namespace Image { + +// Y delta tables, skinny and fat +static const int16 ydt1[8] = { 0, -2, 2, -6, 6, -12, 12, -12 }; +static const int16 ydt2[8] = { 0, -2, 4, -6, 8, -12, 12, -12 }; +static const int16 ydt3[8] = { 4, -6, 20, -20, 46, -46, 94, -94 }; +static const int16 ydt4[8] = { 0, -4, 4, -16, 16, -36, 36, -80 }; + +// C delta tables, skinny and fat +static const int16 cdt1[8] = { 0, -1, 1, -2, 3, -4, 5, -4 }; +static const int16 cdt2[8] = { 0, -4, 3, -16, 20, -32, 36, -32 }; +static const int16 cdt3[8] = { 0, -2, 2, -8, 8, -18, 18, -40 }; + +// all the delta tables to choose from, at all 4 delta levels +static const int16 * const ydts[] = { ydt1, ydt2, ydt3, ydt4, NULL }; +static const int16 * const cdts[] = { cdt1, cdt1, cdt2, cdt3, NULL }; + +static const byte pc_tbl2[] = { + 0x8,0x00,0x00,0x00,0x00, + 0x8,0x00,0x00,0x00,0x00, + 0x8,0x10,0x00,0x00,0x00, + 0x8,0x01,0x00,0x00,0x00, + 0x8,0x00,0x10,0x00,0x00, + 0x8,0x00,0x01,0x00,0x00, + 0x8,0x00,0x00,0x10,0x00, + 0x8,0x00,0x00,0x01,0x00, + 0x8,0x00,0x00,0x00,0x10, + 0x8,0x00,0x00,0x00,0x01, + 0x6,0x00,0x00,0x00, + 0x6,0x10,0x00,0x00, + 0x6,0x01,0x00,0x00, + 0x6,0x00,0x10,0x00, + 0x6,0x00,0x01,0x00, + 0x6,0x00,0x00,0x01, + 0x6,0x00,0x00,0x10, + 0x6,0x00,0x00,0x02, + 0x6,0x00,0x00,0x20, + 0x6,0x20,0x10,0x00, + 0x6,0x00,0x02,0x01, + 0x6,0x00,0x20,0x10, + 0x6,0x02,0x01,0x00, + 0x6,0x11,0x00,0x00, + 0x6,0x00,0x20,0x00, + 0x6,0x00,0x02,0x00, + 0x6,0x20,0x00,0x00, + 0x6,0x01,0x10,0x00, + 0x6,0x02,0x00,0x00, + 0x6,0x01,0x00,0x02, + 0x6,0x10,0x00,0x20, + 0x6,0x00,0x01,0x02, + 0x6,0x10,0x01,0x00, + 0x6,0x00,0x10,0x20, + 0x6,0x10,0x10,0x00, + 0x6,0x10,0x00,0x01, + 0x6,0x20,0x00,0x10, + 0x6,0x02,0x00,0x01, + 0x6,0x01,0x01,0x00, + 0x6,0x01,0x00,0x10, + 0x6,0x00,0x11,0x00, + 0x6,0x10,0x00,0x02, + 0x6,0x00,0x01,0x10, + 0x6,0x00,0x00,0x11, + 0x6,0x10,0x00,0x10, + 0x6,0x01,0x00,0x01, + 0x6,0x00,0x00,0x22, + 0x6,0x02,0x01,0x01, + 0x6,0x10,0x20,0x10, + 0x6,0x01,0x02,0x01, + 0x6,0x20,0x10,0x10, + 0x6,0x01,0x00,0x20, + 0x6,0x00,0x10,0x01, + 0x6,0x21,0x10,0x00, + 0x6,0x10,0x02,0x01, + 0x6,0x12,0x01,0x00, + 0x6,0x01,0x20,0x10, + 0x6,0x01,0x02,0x00, + 0x6,0x10,0x20,0x00, + 0x6,0x00,0x10,0x02, + 0x6,0x00,0x01,0x20, + 0x6,0x00,0x02,0x21, + 0x6,0x00,0x02,0x20, + 0x6,0x00,0x00,0x12, + 0x6,0x00,0x00,0x21, + 0x6,0x20,0x11,0x00, + 0x6,0x00,0x01,0x01, + 0x6,0x11,0x10,0x00, + 0x6,0x00,0x20,0x12, + 0x6,0x00,0x20,0x11, + 0x6,0x20,0x10,0x02, + 0x6,0x02,0x01,0x20, + 0x6,0x00,0x22,0x11, + 0x6,0x00,0x10,0x10, + 0x6,0x02,0x11,0x00, + 0x6,0x00,0x21,0x10, + 0x6,0x00,0x02,0x03, + 0x6,0x20,0x10,0x01, + 0x6,0x00,0x12,0x01, + 0x4,0x11,0x00, + 0x4,0x00,0x22, + 0x4,0x20,0x00, + 0x4,0x01,0x10, + 0x4,0x02,0x20, + 0x4,0x00,0x20, + 0x4,0x02,0x00, + 0x4,0x10,0x01, + 0x4,0x00,0x11, + 0x4,0x02,0x01, + 0x4,0x02,0x21, + 0x4,0x00,0x02, + 0x4,0x20,0x02, + 0x4,0x01,0x01, + 0x4,0x10,0x10, + 0x4,0x10,0x02, + 0x4,0x22,0x00, + 0x4,0x10,0x00, + 0x4,0x01,0x00, + 0x4,0x21,0x00, + 0x4,0x12,0x00, + 0x4,0x00,0x10, + 0x4,0x20,0x12, + 0x4,0x01,0x11, + 0x4,0x00,0x01, + 0x4,0x01,0x02, + 0x4,0x11,0x02, + 0x4,0x11,0x01, + 0x4,0x10,0x20, + 0x4,0x20,0x01, + 0x4,0x22,0x11, + 0x4,0x00,0x12, + 0x4,0x20,0x10, + 0x4,0x22,0x01, + 0x4,0x01,0x20, + 0x4,0x00,0x21, + 0x4,0x10,0x11, + 0x4,0x21,0x10, + 0x4,0x10,0x22, + 0x4,0x02,0x03, + 0x4,0x12,0x01, + 0x4,0x20,0x11, + 0x4,0x11,0x10, + 0x4,0x20,0x30, + 0x4,0x11,0x20, + 0x4,0x02,0x10, + 0x4,0x22,0x10, + 0x4,0x11,0x11, + 0x4,0x30,0x20, + 0x4,0x30,0x00, + 0x4,0x01,0x22, + 0x4,0x01,0x12, + 0x4,0x02,0x11, + 0x4,0x03,0x02, + 0x4,0x03,0x00, + 0x4,0x10,0x21, + 0x4,0x12,0x20, + 0x4,0x00,0x00, + 0x4,0x12,0x21, + 0x4,0x21,0x11, + 0x4,0x02,0x22, + 0x4,0x10,0x12, + 0x4,0x31,0x00, + 0x4,0x20,0x20, + 0x4,0x00,0x03, + 0x4,0x02,0x02, + 0x4,0x22,0x20, + 0x4,0x01,0x21, + 0x4,0x21,0x02, + 0x4,0x21,0x12, + 0x4,0x11,0x22, + 0x4,0x00,0x30, + 0x4,0x12,0x11, + 0x4,0x20,0x22, + 0x4,0x31,0x20, + 0x4,0x21,0x30, + 0x4,0x22,0x02, + 0x4,0x22,0x22, + 0x4,0x20,0x31, + 0x4,0x13,0x02, + 0x4,0x03,0x10, + 0x4,0x11,0x12, + 0x4,0x00,0x13, + 0x4,0x21,0x01, + 0x4,0x12,0x03, + 0x4,0x13,0x00, + 0x4,0x13,0x10, + 0x4,0x02,0x13, + 0x4,0x30,0x01, + 0x4,0x12,0x10, + 0x4,0x22,0x13, + 0x4,0x03,0x12, + 0x4,0x31,0x01, + 0x4,0x30,0x22, + 0x4,0x00,0x31, + 0x4,0x01,0x31, + 0x4,0x02,0x23, + 0x4,0x01,0x30, + 0x4,0x11,0x21, + 0x4,0x22,0x21, + 0x4,0x01,0x13, + 0x4,0x10,0x03, + 0x4,0x22,0x03, + 0x4,0x30,0x21, + 0x4,0x21,0x31, + 0x4,0x33,0x00, + 0x4,0x13,0x12, + 0x4,0x11,0x31, + 0x4,0x30,0x02, + 0x4,0x12,0x02, + 0x4,0x11,0x13, + 0x4,0x12,0x22, + 0x4,0x20,0x32, + 0x4,0x10,0x13, + 0x4,0x22,0x31, + 0x4,0x21,0x20, + 0x4,0x01,0x33, + 0x4,0x33,0x10, + 0x4,0x20,0x13, + 0x4,0x31,0x22, + 0x4,0x13,0x30, + 0x4,0x01,0x03, + 0x4,0x11,0x33, + 0x4,0x20,0x21, + 0x4,0x13,0x31, + 0x4,0x03,0x22, + 0x4,0x31,0x02, + 0x4,0x00,0x24, + 0x2,0x00, + 0x2,0x10, + 0x2,0x20, + 0x2,0x30, + 0x2,0x40, + 0x2,0x50, + 0x2,0x60, + 0x2,0x01, + 0x2,0x11, + 0x2,0x21, + 0x2,0x31, + 0x2,0x41, + 0x2,0x51, + 0x2,0x61, + 0x2,0x02, + 0x2,0x12, + 0x2,0x22, + 0x2,0x32, + 0x2,0x42, + 0x2,0x52, + 0x2,0x62, + 0x2,0x03, + 0x2,0x13, + 0x2,0x23, + 0x2,0x33, + 0x2,0x43, + 0x2,0x53, + 0x2,0x63, + 0x2,0x04, + 0x2,0x14, + 0x2,0x24, + 0x2,0x34, + 0x2,0x44, + 0x2,0x54, + 0x2,0x64, + 0x2,0x05, + 0x2,0x15, + 0x2,0x25, + 0x2,0x35, + 0x2,0x45, + 0x2,0x55, + 0x2,0x65, + 0x2,0x06, + 0x2,0x16, + 0x2,0x26, + 0x2,0x36, + 0x2,0x46, + 0x2,0x56, + 0x2,0x66 +}; + +static const byte pc_tbl3[] = { + 0x6,0x00,0x00,0x00, + 0x6,0x00,0x00,0x00, + 0x6,0x00,0x00,0x01, + 0x6,0x00,0x00,0x10, + 0x6,0x00,0x00,0x11, + 0x6,0x00,0x01,0x00, + 0x6,0x00,0x01,0x01, + 0x6,0x00,0x01,0x10, + 0x6,0x00,0x01,0x11, + 0x6,0x00,0x10,0x00, + 0x6,0x00,0x10,0x01, + 0x6,0x00,0x10,0x10, + 0x6,0x00,0x10,0x11, + 0x6,0x00,0x11,0x00, + 0x6,0x00,0x11,0x01, + 0x6,0x00,0x11,0x10, + 0x6,0x00,0x11,0x11, + 0x6,0x01,0x00,0x00, + 0x6,0x01,0x00,0x01, + 0x6,0x01,0x00,0x10, + 0x6,0x01,0x00,0x11, + 0x6,0x01,0x01,0x00, + 0x6,0x01,0x01,0x01, + 0x6,0x01,0x01,0x10, + 0x6,0x01,0x01,0x11, + 0x6,0x01,0x10,0x00, + 0x6,0x01,0x10,0x01, + 0x6,0x01,0x10,0x10, + 0x6,0x01,0x10,0x11, + 0x6,0x01,0x11,0x00, + 0x6,0x01,0x11,0x01, + 0x6,0x01,0x11,0x10, + 0x6,0x01,0x11,0x11, + 0x6,0x10,0x00,0x00, + 0x6,0x10,0x00,0x01, + 0x6,0x10,0x00,0x10, + 0x6,0x10,0x00,0x11, + 0x6,0x10,0x01,0x00, + 0x6,0x10,0x01,0x01, + 0x6,0x10,0x01,0x10, + 0x6,0x10,0x01,0x11, + 0x6,0x10,0x10,0x00, + 0x6,0x10,0x10,0x01, + 0x6,0x10,0x10,0x10, + 0x6,0x10,0x10,0x11, + 0x6,0x10,0x11,0x00, + 0x6,0x10,0x11,0x01, + 0x6,0x10,0x11,0x10, + 0x6,0x10,0x11,0x11, + 0x6,0x11,0x00,0x00, + 0x6,0x11,0x00,0x01, + 0x6,0x11,0x00,0x10, + 0x6,0x11,0x00,0x11, + 0x6,0x11,0x01,0x00, + 0x6,0x11,0x01,0x01, + 0x6,0x11,0x01,0x10, + 0x6,0x11,0x01,0x11, + 0x6,0x11,0x10,0x00, + 0x6,0x11,0x10,0x01, + 0x6,0x11,0x10,0x10, + 0x6,0x11,0x10,0x11, + 0x6,0x11,0x11,0x00, + 0x6,0x11,0x11,0x01, + 0x6,0x11,0x11,0x10, + 0x4,0x00,0x00, + 0x4,0x00,0x01, + 0x4,0x00,0x02, + 0x4,0x00,0x03, + 0x4,0x00,0x10, + 0x4,0x00,0x11, + 0x4,0x00,0x12, + 0x4,0x00,0x13, + 0x4,0x00,0x20, + 0x4,0x00,0x21, + 0x4,0x00,0x22, + 0x4,0x00,0x23, + 0x4,0x00,0x30, + 0x4,0x00,0x31, + 0x4,0x00,0x32, + 0x4,0x00,0x33, + 0x4,0x01,0x00, + 0x4,0x01,0x01, + 0x4,0x01,0x02, + 0x4,0x01,0x03, + 0x4,0x01,0x10, + 0x4,0x01,0x11, + 0x4,0x01,0x12, + 0x4,0x01,0x13, + 0x4,0x01,0x20, + 0x4,0x01,0x21, + 0x4,0x01,0x22, + 0x4,0x01,0x23, + 0x4,0x01,0x30, + 0x4,0x01,0x31, + 0x4,0x01,0x32, + 0x4,0x01,0x33, + 0x4,0x02,0x00, + 0x4,0x02,0x01, + 0x4,0x02,0x02, + 0x4,0x02,0x03, + 0x4,0x02,0x10, + 0x4,0x02,0x11, + 0x4,0x02,0x12, + 0x4,0x02,0x13, + 0x4,0x02,0x20, + 0x4,0x02,0x21, + 0x4,0x02,0x22, + 0x4,0x02,0x23, + 0x4,0x02,0x30, + 0x4,0x02,0x31, + 0x4,0x02,0x32, + 0x4,0x02,0x33, + 0x4,0x03,0x00, + 0x4,0x03,0x01, + 0x4,0x03,0x02, + 0x4,0x03,0x03, + 0x4,0x03,0x10, + 0x4,0x03,0x11, + 0x4,0x03,0x12, + 0x4,0x03,0x13, + 0x4,0x03,0x20, + 0x4,0x03,0x21, + 0x4,0x03,0x22, + 0x4,0x03,0x23, + 0x4,0x03,0x30, + 0x4,0x03,0x31, + 0x4,0x03,0x32, + 0x4,0x03,0x33, + 0x4,0x10,0x00, + 0x4,0x10,0x01, + 0x4,0x10,0x02, + 0x4,0x10,0x03, + 0x4,0x10,0x10, + 0x4,0x10,0x11, + 0x4,0x10,0x12, + 0x4,0x10,0x13, + 0x4,0x10,0x20, + 0x4,0x10,0x21, + 0x4,0x10,0x22, + 0x4,0x10,0x23, + 0x4,0x10,0x30, + 0x4,0x10,0x31, + 0x4,0x10,0x32, + 0x4,0x10,0x33, + 0x4,0x11,0x00, + 0x4,0x11,0x01, + 0x4,0x11,0x02, + 0x4,0x11,0x03, + 0x4,0x11,0x10, + 0x4,0x11,0x11, + 0x4,0x11,0x12, + 0x4,0x11,0x13, + 0x4,0x11,0x20, + 0x4,0x11,0x21, + 0x4,0x11,0x22, + 0x4,0x11,0x23, + 0x4,0x11,0x30, + 0x4,0x11,0x31, + 0x4,0x11,0x32, + 0x4,0x11,0x33, + 0x4,0x12,0x00, + 0x4,0x12,0x01, + 0x4,0x12,0x02, + 0x4,0x12,0x03, + 0x4,0x12,0x10, + 0x4,0x12,0x11, + 0x4,0x12,0x12, + 0x4,0x12,0x13, + 0x4,0x12,0x20, + 0x4,0x12,0x21, + 0x4,0x12,0x22, + 0x4,0x12,0x23, + 0x4,0x12,0x30, + 0x4,0x12,0x31, + 0x4,0x12,0x32, + 0x4,0x12,0x33, + 0x4,0x13,0x00, + 0x4,0x13,0x01, + 0x4,0x13,0x02, + 0x4,0x13,0x03, + 0x4,0x13,0x10, + 0x4,0x13,0x11, + 0x4,0x13,0x12, + 0x4,0x13,0x13, + 0x4,0x13,0x20, + 0x4,0x13,0x21, + 0x4,0x13,0x22, + 0x4,0x13,0x23, + 0x4,0x13,0x30, + 0x4,0x13,0x31, + 0x4,0x13,0x32, + 0x4,0x13,0x33, + 0x2,0x00, + 0x2,0x10, + 0x2,0x20, + 0x2,0x30, + 0x2,0x40, + 0x2,0x50, + 0x2,0x60, + 0x2,0x70, + 0x2,0x01, + 0x2,0x11, + 0x2,0x21, + 0x2,0x31, + 0x2,0x41, + 0x2,0x51, + 0x2,0x61, + 0x2,0x71, + 0x2,0x02, + 0x2,0x12, + 0x2,0x22, + 0x2,0x32, + 0x2,0x42, + 0x2,0x52, + 0x2,0x62, + 0x2,0x72, + 0x2,0x03, + 0x2,0x13, + 0x2,0x23, + 0x2,0x33, + 0x2,0x43, + 0x2,0x53, + 0x2,0x63, + 0x2,0x73, + 0x2,0x04, + 0x2,0x14, + 0x2,0x24, + 0x2,0x34, + 0x2,0x44, + 0x2,0x54, + 0x2,0x64, + 0x2,0x74, + 0x2,0x05, + 0x2,0x15, + 0x2,0x25, + 0x2,0x35, + 0x2,0x45, + 0x2,0x55, + 0x2,0x65, + 0x2,0x75, + 0x2,0x06, + 0x2,0x16, + 0x2,0x26, + 0x2,0x36, + 0x2,0x46, + 0x2,0x56, + 0x2,0x66, + 0x2,0x76, + 0x2,0x07, + 0x2,0x17, + 0x2,0x27, + 0x2,0x37, + 0x2,0x47, + 0x2,0x57, + 0x2,0x67, + 0x2,0x77 +}; + +static const byte pc_tbl4[] = { + 0x8,0x00,0x00,0x00,0x00, + 0x8,0x00,0x00,0x00,0x00, + 0x8,0x20,0x00,0x00,0x00, + 0x8,0x00,0x00,0x00,0x01, + 0x8,0x10,0x00,0x00,0x00, + 0x8,0x00,0x00,0x00,0x02, + 0x8,0x01,0x00,0x00,0x00, + 0x8,0x00,0x00,0x00,0x10, + 0x8,0x02,0x00,0x00,0x00, + 0x6,0x00,0x00,0x00, + 0x6,0x20,0x00,0x00, + 0x6,0x00,0x00,0x01, + 0x6,0x10,0x00,0x00, + 0x6,0x00,0x00,0x02, + 0x6,0x00,0x10,0x00, + 0x6,0x00,0x20,0x00, + 0x6,0x00,0x02,0x00, + 0x6,0x00,0x01,0x00, + 0x6,0x01,0x00,0x00, + 0x6,0x00,0x00,0x20, + 0x6,0x02,0x00,0x00, + 0x6,0x00,0x00,0x10, + 0x6,0x10,0x00,0x20, + 0x6,0x01,0x00,0x02, + 0x6,0x20,0x00,0x10, + 0x6,0x02,0x00,0x01, + 0x6,0x20,0x10,0x00, + 0x6,0x00,0x12,0x00, + 0x6,0x00,0x02,0x01, + 0x6,0x02,0x01,0x00, + 0x6,0x00,0x21,0x00, + 0x6,0x00,0x01,0x02, + 0x6,0x00,0x20,0x10, + 0x6,0x00,0x00,0x21, + 0x6,0x00,0x00,0x12, + 0x6,0x00,0x01,0x20, + 0x6,0x12,0x00,0x00, + 0x6,0x00,0x10,0x20, + 0x6,0x01,0x20,0x00, + 0x6,0x02,0x10,0x00, + 0x6,0x10,0x20,0x00, + 0x6,0x01,0x02,0x00, + 0x6,0x21,0x00,0x00, + 0x6,0x00,0x02,0x10, + 0x6,0x20,0x01,0x00, + 0x6,0x00,0x22,0x00, + 0x6,0x10,0x02,0x00, + 0x6,0x00,0x10,0x02, + 0x6,0x11,0x00,0x00, + 0x6,0x00,0x11,0x00, + 0x6,0x22,0x00,0x00, + 0x6,0x20,0x00,0x02, + 0x6,0x10,0x00,0x01, + 0x6,0x00,0x20,0x01, + 0x6,0x02,0x20,0x00, + 0x6,0x01,0x10,0x00, + 0x6,0x01,0x00,0x20, + 0x6,0x00,0x20,0x02, + 0x6,0x01,0x20,0x02, + 0x6,0x10,0x01,0x00, + 0x6,0x02,0x00,0x10, + 0x6,0x00,0x10,0x01, + 0x6,0x10,0x01,0x20, + 0x6,0x20,0x02,0x10, + 0x6,0x00,0x00,0x22, + 0x6,0x10,0x00,0x02, + 0x6,0x00,0x02,0x20, + 0x6,0x20,0x02,0x00, + 0x6,0x00,0x00,0x11, + 0x6,0x02,0x10,0x01, + 0x6,0x00,0x01,0x10, + 0x6,0x00,0x02,0x11, + 0x4,0x01,0x02, + 0x4,0x02,0x01, + 0x4,0x01,0x00, + 0x4,0x10,0x20, + 0x4,0x20,0x10, + 0x4,0x20,0x00, + 0x4,0x11,0x00, + 0x4,0x02,0x00, + 0x4,0x12,0x00, + 0x4,0x00,0x21, + 0x4,0x22,0x00, + 0x4,0x00,0x12, + 0x4,0x21,0x00, + 0x4,0x02,0x11, + 0x4,0x00,0x01, + 0x4,0x10,0x02, + 0x4,0x02,0x20, + 0x4,0x20,0x11, + 0x4,0x01,0x10, + 0x4,0x21,0x10, + 0x4,0x10,0x00, + 0x4,0x10,0x22, + 0x4,0x20,0x20, + 0x4,0x00,0x22, + 0x4,0x01,0x22, + 0x4,0x20,0x01, + 0x4,0x02,0x02, + 0x4,0x00,0x20, + 0x4,0x00,0x10, + 0x4,0x00,0x11, + 0x4,0x22,0x01, + 0x4,0x11,0x20, + 0x4,0x12,0x01, + 0x4,0x12,0x20, + 0x4,0x11,0x02, + 0x4,0x10,0x10, + 0x4,0x01,0x01, + 0x4,0x02,0x21, + 0x4,0x20,0x12, + 0x4,0x01,0x12, + 0x4,0x22,0x11, + 0x4,0x21,0x12, + 0x4,0x22,0x10, + 0x4,0x21,0x02, + 0x4,0x20,0x02, + 0x4,0x10,0x01, + 0x4,0x00,0x02, + 0x4,0x10,0x21, + 0x4,0x01,0x20, + 0x4,0x11,0x22, + 0x4,0x12,0x21, + 0x4,0x22,0x20, + 0x4,0x02,0x10, + 0x4,0x02,0x22, + 0x4,0x11,0x10, + 0x4,0x22,0x02, + 0x4,0x20,0x21, + 0x4,0x01,0x11, + 0x4,0x11,0x01, + 0x4,0x10,0x12, + 0x4,0x02,0x12, + 0x4,0x20,0x22, + 0x4,0x21,0x20, + 0x4,0x01,0x21, + 0x4,0x12,0x02, + 0x4,0x21,0x11, + 0x4,0x12,0x22, + 0x4,0x12,0x10, + 0x4,0x22,0x21, + 0x4,0x10,0x11, + 0x4,0x21,0x01, + 0x4,0x11,0x12, + 0x4,0x12,0x11, + 0x4,0x66,0x66, + 0x4,0x22,0x22, + 0x4,0x11,0x21, + 0x4,0x11,0x11, + 0x4,0x21,0x22, + 0x4,0x00,0x00, + 0x4,0x22,0x12, + 0x4,0x12,0x12, + 0x4,0x21,0x21, + 0x4,0x42,0x00, + 0x4,0x00,0x04, + 0x4,0x40,0x00, + 0x4,0x30,0x00, + 0x4,0x31,0x00, + 0x4,0x00,0x03, + 0x4,0x00,0x14, + 0x4,0x00,0x13, + 0x4,0x01,0x24, + 0x4,0x20,0x13, + 0x4,0x01,0x42, + 0x4,0x14,0x20, + 0x4,0x42,0x02, + 0x4,0x13,0x00, + 0x4,0x00,0x24, + 0x4,0x31,0x20, + 0x4,0x22,0x13, + 0x4,0x11,0x24, + 0x4,0x12,0x66, + 0x4,0x30,0x01, + 0x4,0x02,0x13, + 0x4,0x12,0x42, + 0x4,0x40,0x10, + 0x4,0x40,0x02, + 0x4,0x01,0x04, + 0x4,0x24,0x00, + 0x4,0x42,0x10, + 0x4,0x21,0x13, + 0x4,0x13,0x12, + 0x4,0x31,0x21, + 0x4,0x21,0x24, + 0x4,0x00,0x40, + 0x4,0x10,0x24, + 0x4,0x10,0x42, + 0x4,0x32,0x01, + 0x4,0x11,0x42, + 0x4,0x20,0x31, + 0x4,0x12,0x40, + 0x2,0x00, + 0x2,0x10, + 0x2,0x20, + 0x2,0x30, + 0x2,0x40, + 0x2,0x50, + 0x2,0x60, + 0x2,0x70, + 0x2,0x01, + 0x2,0x11, + 0x2,0x21, + 0x2,0x31, + 0x2,0x41, + 0x2,0x51, + 0x2,0x61, + 0x2,0x71, + 0x2,0x02, + 0x2,0x12, + 0x2,0x22, + 0x2,0x32, + 0x2,0x42, + 0x2,0x52, + 0x2,0x62, + 0x2,0x72, + 0x2,0x03, + 0x2,0x13, + 0x2,0x23, + 0x2,0x33, + 0x2,0x43, + 0x2,0x53, + 0x2,0x63, + 0x2,0x73, + 0x2,0x04, + 0x2,0x14, + 0x2,0x24, + 0x2,0x34, + 0x2,0x44, + 0x2,0x54, + 0x2,0x64, + 0x2,0x74, + 0x2,0x05, + 0x2,0x15, + 0x2,0x25, + 0x2,0x35, + 0x2,0x45, + 0x2,0x55, + 0x2,0x65, + 0x2,0x75, + 0x2,0x06, + 0x2,0x16, + 0x2,0x26, + 0x2,0x36, + 0x2,0x46, + 0x2,0x56, + 0x2,0x66, + 0x2,0x76, + 0x2,0x07, + 0x2,0x17, + 0x2,0x27, + 0x2,0x37, + 0x2,0x47, + 0x2,0x57, + 0x2,0x67, + 0x2,0x77 +}; + +static const byte * const tables[] = { pc_tbl2, pc_tbl3, pc_tbl4 }; + +} // End of namespace Image + +#endif diff --git a/image/module.mk b/image/module.mk index 22febe1460..28d750358d 100644 --- a/image/module.mk +++ b/image/module.mk @@ -7,7 +7,24 @@ MODULE_OBJS := \ pcx.o \ pict.o \ png.o \ - tga.o + tga.o \ + codecs/cdtoons.o \ + codecs/cinepak.o \ + codecs/indeo3.o \ + codecs/jpeg.o \ + codecs/mjpeg.o \ + codecs/msrle.o \ + codecs/msvideo1.o \ + codecs/qtrle.o \ + codecs/rpza.o \ + codecs/smc.o \ + codecs/svq1.o \ + codecs/truemotion1.o + +ifdef USE_MPEG2 +MODULE_OBJS += \ + codecs/mpeg.o +endif # Include common rules include $(srcdir)/rules.mk diff --git a/video/avi_decoder.cpp b/video/avi_decoder.cpp index c6463269d3..5e404ecaac 100644 --- a/video/avi_decoder.cpp +++ b/video/avi_decoder.cpp @@ -34,13 +34,13 @@ #include "audio/decoders/raw.h" // Video Codecs -#include "video/codecs/cinepak.h" -#include "video/codecs/indeo3.h" -#include "video/codecs/mjpeg.h" -#include "video/codecs/mpeg.h" -#include "video/codecs/msvideo1.h" -#include "video/codecs/msrle.h" -#include "video/codecs/truemotion1.h" +#include "image/codecs/cinepak.h" +#include "image/codecs/indeo3.h" +#include "image/codecs/mjpeg.h" +#include "image/codecs/mpeg.h" +#include "image/codecs/msvideo1.h" +#include "image/codecs/msrle.h" +#include "image/codecs/truemotion1.h" namespace Video { @@ -769,29 +769,29 @@ bool AVIDecoder::AVIVideoTrack::rewind() { return true; } -Codec *AVIDecoder::AVIVideoTrack::createCodec() { +Image::Codec *AVIDecoder::AVIVideoTrack::createCodec() { switch (_vidsHeader.streamHandler) { case ID_CRAM: case ID_MSVC: case ID_WHAM: - return new MSVideo1Decoder(_bmInfo.width, _bmInfo.height, _bmInfo.bitCount); + return new Image::MSVideo1Decoder(_bmInfo.width, _bmInfo.height, _bmInfo.bitCount); case ID_RLE: - return new MSRLEDecoder(_bmInfo.width, _bmInfo.height, _bmInfo.bitCount); + return new Image::MSRLEDecoder(_bmInfo.width, _bmInfo.height, _bmInfo.bitCount); case ID_CVID: - return new CinepakDecoder(_bmInfo.bitCount); + return new Image::CinepakDecoder(_bmInfo.bitCount); case ID_IV32: - return new Indeo3Decoder(_bmInfo.width, _bmInfo.height); + return new Image::Indeo3Decoder(_bmInfo.width, _bmInfo.height); #ifdef VIDEO_CODECS_TRUEMOTION1_H case ID_DUCK: case ID_DUCK2: - return new TrueMotion1Decoder(_bmInfo.width, _bmInfo.height); + return new Image::TrueMotion1Decoder(_bmInfo.width, _bmInfo.height); #endif #ifdef USE_MPEG2 case ID_MPG2: - return new MPEGDecoder(); + return new Image::MPEGDecoder(); #endif case ID_MJPG: - return new MJPEGDecoder(); + return new Image::MJPEGDecoder(); default: warning("Unknown/Unhandled compression format \'%s\'", tag2str(_vidsHeader.streamHandler)); } diff --git a/video/avi_decoder.h b/video/avi_decoder.h index 2efe0e19c2..2f7b267d36 100644 --- a/video/avi_decoder.h +++ b/video/avi_decoder.h @@ -43,9 +43,11 @@ namespace Graphics { struct PixelFormat; } -namespace Video { - +namespace Image { class Codec; +} + +namespace Video { /** * Decoder for AVI videos. @@ -197,9 +199,9 @@ protected: mutable bool _dirtyPalette; int _frameCount, _curFrame; - Codec *_videoCodec; + Image::Codec *_videoCodec; const Graphics::Surface *_lastFrame; - Codec *createCodec(); + Image::Codec *createCodec(); }; class AVIAudioTrack : public AudioTrack { diff --git a/video/codecs/cdtoons.cpp b/video/codecs/cdtoons.cpp deleted file mode 100644 index 8f69d52f74..0000000000 --- a/video/codecs/cdtoons.cpp +++ /dev/null @@ -1,448 +0,0 @@ -/* 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 "video/codecs/cdtoons.h" -#include "common/rect.h" -#include "common/stream.h" -#include "common/textconsole.h" -#include "common/array.h" - -namespace Video { - -struct CDToonsAction { - uint16 blockId; - Common::Rect rect; -}; - -struct CDToonsDiff { - byte *data; - uint32 size; - Common::Rect rect; -}; - -static Common::Rect readRect(Common::SeekableReadStream *stream) { - Common::Rect rect; - rect.top = stream->readUint16BE(); - rect.left = stream->readUint16BE(); - rect.bottom = stream->readUint16BE(); - rect.right = stream->readUint16BE(); - return rect; -} - -CDToonsDecoder::CDToonsDecoder(uint16 width, uint16 height) { - debugN(5, "CDToons: width %d, height %d\n", width, height); - - _surface = new Graphics::Surface(); - _surface->create(width, height, Graphics::PixelFormat::createFormatCLUT8()); - - _currentPaletteId = 0; - memset(_palette, 0, 256 * 3); - _dirtyPalette = false; -} - -CDToonsDecoder::~CDToonsDecoder() { - _surface->free(); - delete _surface; - - for (Common::HashMap::iterator i = _blocks.begin(); i != _blocks.end(); i++) - delete[] i->_value.data; -} - -Graphics::Surface *CDToonsDecoder::decodeImage(Common::SeekableReadStream *stream) { - uint16 u0 = stream->readUint16BE(); // always 9? - uint16 frameId = stream->readUint16BE(); - uint16 blocksValidUntil = stream->readUint16BE(); - byte u6 = stream->readByte(); - byte backgroundColor = stream->readByte(); - debugN(5, "CDToons frame %d, size %d, unknown %04x (at 0), blocks valid until %d, unknown 6 is %02x, bkg color is %02x\n", - frameId, stream->size(), u0, blocksValidUntil, u6, backgroundColor); - - Common::Rect clipRect = readRect(stream); - debugN(9, "CDToons clipRect: (%d, %d) to (%d, %d)\n", - clipRect.left, clipRect.top, clipRect.right, clipRect.bottom); - - Common::Rect dirtyRect = readRect(stream); - debugN(9, "CDToons dirtyRect: (%d, %d) to (%d, %d)\n", - dirtyRect.left, dirtyRect.top, dirtyRect.right, dirtyRect.bottom); - - uint32 flags = stream->readUint32BE(); - if (flags & 0x80) - error("CDToons: frame already processed?"); - debugN(5, "CDToons flags: %08x\n", flags); - - uint16 blockCount = stream->readUint16BE(); - uint16 blockOffset = stream->readUint16BE(); - debugN(9, "CDToons: %d blocks at 0x%04x\n", - blockCount, blockOffset); - - // max block id? - uint16 u32 = stream->readUint16BE(); - debugN(5, "CDToons unknown at 32: %04x\n", u32); - - byte actionCount = stream->readByte(); - byte u35 = stream->readByte(); - - uint16 paletteId = stream->readUint16BE(); - byte paletteSet = stream->readByte(); - debugN(9, "CDToons palette id %04x, palette byte %02x\n", - paletteId, paletteSet); - - byte u39 = stream->readByte(); - uint16 u40 = stream->readUint16BE(); - uint16 u42 = stream->readUint16BE(); - debugN(5, "CDToons: unknown at 35 is %02x, unknowns at 39: %02x, %04x, %04x\n", - u35, u39, u40, u42); - - Common::Array actions; - - for (uint i = 0; i < actionCount; i++) { - CDToonsAction action; - action.blockId = stream->readUint16BE(); - action.rect = readRect(stream); - debugN(9, "CDToons action: render block %d at (%d, %d) to (%d, %d)\n", - action.blockId, action.rect.left, action.rect.top, action.rect.right, action.rect.bottom); - actions.push_back(action); - } - - if (stream->pos() > blockOffset) - error("CDToons header ended at 0x%08x, but blocks should have started at 0x%08x", - stream->pos(), blockOffset); - - if (stream->pos() != blockOffset) - error("CDToons had %d unknown bytes after header", blockOffset - stream->pos()); - - for (uint i = 0; i < blockCount; i++) { - uint16 blockId = stream->readUint16BE(); - if (blockId >= 1200) - error("CDToons: block id %d was too high", blockId); - if (_blocks.contains(blockId)) - error("CDToons: new block %d was already seen", blockId); - - CDToonsBlock block; - block.flags = stream->readUint16BE(); - // flag 1 = palette, flag 2 = data? - if (block.flags & 0x8000) - error("CDToons: block already processed?"); - block.size = stream->readUint32BE(); - if (block.size < 14) - error("CDToons: block size was %d, too small", block.size); - block.size -= 14; - block.startFrame = stream->readUint16BE(); - block.endFrame = stream->readUint16BE(); - block.unknown12 = stream->readUint16BE(); - block.data = new byte[block.size]; - stream->read(block.data, block.size); - - debugN(9, "CDToons block id 0x%04x of size 0x%08x, flags %04x, from frame %d to %d, unknown at 12 is %04x\n", - blockId, block.size, block.flags, block.startFrame, block.endFrame, block.unknown12); - - _blocks[blockId] = block; - } - - byte xFrmBegin = 0, xFrmCount; - Common::Array diffs; - - while (true) { - int32 nextPos = stream->pos(); - uint32 tag = stream->readUint32BE(); - uint32 size = stream->readUint32BE(); - nextPos += size; - - switch (tag) { - case MKTAG('D','i','f','f'): - { - debugN(5, "CDToons: Diff\n"); - uint16 count = stream->readUint16BE(); - - Common::Rect diffClipRect = readRect(stream); - debugN(9, "CDToons diffClipRect: (%d, %d) to (%d, %d)\n", - diffClipRect.left, diffClipRect.top, diffClipRect.right, diffClipRect.bottom); - - debugN(5, "CDToons Diff: %d subentries\n", count); - for (uint i = 0; i < count; i++) { - CDToonsDiff diff; - - diff.rect = readRect(stream); - diff.size = stream->readUint32BE(); - if (diff.size < 20) - error("CDToons: Diff block size was %d, too small", diff.size); - - uint16 diffWidth = stream->readUint16BE(); - uint16 diffHeight = stream->readUint16BE(); - uint16 unknown16 = stream->readUint16BE(); - uint16 unknown18 = stream->readUint16BE(); - diff.size -= 8; - - if (diffWidth != diff.rect.width() || diffHeight != diff.rect.height()) - error("CDToons: Diff sizes didn't match"); - debugN(5, "CDToons Diff: size %d, frame from (%d, %d) to (%d, %d), unknowns %04x, %04x\n", - diff.size, diff.rect.left, diff.rect.top, diff.rect.right, diff.rect.bottom, - unknown16, unknown18); - - diff.data = new byte[diff.size]; - stream->read(diff.data, diff.size); - diffs.push_back(diff); - } - } - break; - case MKTAG('X','F','r','m'): - { - debugN(5, "CDToons: XFrm\n"); - if (!(flags & 0x10)) - error("CDToons: useless XFrm?"); - - if (xFrmBegin) - error("CDToons: duplicate XFrm"); - xFrmBegin = stream->readByte(); - xFrmCount = stream->readByte(); - debugN(9, "CDToons XFrm: run %d actions from %d\n", xFrmCount, xFrmBegin - 1); - - // TODO: don't ignore (if xFrmCount is non-zero) - Common::Rect dirtyRectXFrm = readRect(stream); - debugN(9, "CDToons XFrm dirtyRect: (%d, %d) to (%d, %d)\n", - dirtyRectXFrm.left, dirtyRectXFrm.top, dirtyRectXFrm.right, dirtyRectXFrm.bottom); - - // always zero? - Common::Rect dirtyRect2XFrm = readRect(stream); - debugN(9, "CDToons XFrm dirtyRect2: (%d, %d) to (%d, %d)\n", - dirtyRect2XFrm.left, dirtyRect2XFrm.top, dirtyRect2XFrm.right, dirtyRect2XFrm.bottom); - } - break; - case MKTAG('M','r','k','s'): - debugN(5, "CDToons: Mrks\n"); - if (!(flags & 0x2)) - error("CDToons: useless Mrks?"); - - // TODO - warning("CDToons: encountered Mrks, not implemented yet"); - break; - case MKTAG('S','c','a','l'): - // TODO - warning("CDToons: encountered Scal, not implemented yet"); - break; - case MKTAG('W','r','M','p'): - warning("CDToons: encountered WrMp, ignoring"); - break; - case MKTAG('F','r','t','R'): - { - debugN(5, "CDToons: FrtR\n"); - if (!(flags & 0x40)) - error("CDToons: useless FrtR?"); - - uint16 count = stream->readUint16BE(); - debugN(9, "CDToons FrtR: %d dirty rectangles\n", count); - for (uint i = 0; i < count; i++) { - Common::Rect dirtyRectFrtR = readRect(stream); - debugN(9, "CDToons FrtR dirtyRect: (%d, %d) to (%d, %d)\n", - dirtyRectFrtR.left, dirtyRectFrtR.top, dirtyRectFrtR.right, dirtyRectFrtR.bottom); - } - } - break; - case MKTAG('B','c','k','R'): - { - debugN(5, "CDToons: BckR\n"); - if (!(flags & 0x20)) - error("CDToons: useless BckR?"); - - uint16 count = stream->readUint16BE(); - debugN(9, "CDToons BckR: %d subentries\n", count); - for (uint i = 0; i < count; i++) { - Common::Rect dirtyRectBckR = readRect(stream); - debugN(9, "CDToons BckR dirtyRect: (%d, %d) to (%d, %d)\n", - dirtyRectBckR.left, dirtyRectBckR.top, dirtyRectBckR.right, dirtyRectBckR.bottom); - } - } - break; - default: - warning("Unknown CDToons tag '%s'", tag2str(tag)); - } - - if (stream->pos() > nextPos) - error("CDToons ran off the end of a block while reading it (at %d, next block at %d)", - stream->pos(), nextPos); - if (stream->pos() != nextPos) { - warning("CDToons had %d unknown bytes after block", nextPos - stream->pos()); - stream->seek(nextPos); - } - - if (stream->pos() == stream->size()) - break; - } - - for (uint i = 0; i < diffs.size(); i++) { - renderBlock(diffs[i].data, diffs[i].size, diffs[i].rect.left, diffs[i].rect.top, diffs[i].rect.width(), diffs[i].rect.height()); - delete[] diffs[i].data; - } - if (!diffs.empty()) - return _surface; - - for (uint i = 0; i < actions.size(); i++) { - CDToonsAction &action = actions[i]; - if (i == 0 && action.blockId == 0) - memset(_surface->getPixels(), backgroundColor, _surface->w * _surface->h); - if (!_blocks.contains(action.blockId)) - continue; - if (!action.rect.right) - continue; - if (i == 0 && !diffs.empty()) - continue; - - CDToonsBlock &block = _blocks[action.blockId]; - uint16 width = READ_BE_UINT16(block.data + 2); - uint16 height = READ_BE_UINT16(block.data); - - renderBlock(block.data + 14, block.size - 14, action.rect.left, action.rect.top, width, height); - } - - if (paletteId && _currentPaletteId != paletteId) { - if (!_blocks.contains(paletteId)) - error("CDToons: no block for palette %04x", paletteId); - if (_blocks[paletteId].size != 2 * 3 * 256) - error("CDToons: palette %04x is wrong size (%d)", paletteId, _blocks[paletteId].size); - - _currentPaletteId = paletteId; - if (!paletteSet) - setPalette(_blocks[paletteId].data); - } - - return _surface; -} - -void CDToonsDecoder::renderBlock(byte *data, uint dataSize, int destX, int destY, uint width, uint height) { - byte *currData = data; - byte *dataEnd = data + dataSize; - - debugN(9, "CDToons renderBlock at (%d, %d), width %d, height %d\n", - destX, destY, width, height); - - if (destX + width > _surface->w) - width = _surface->w - destX; - if (destY + height > _surface->h) - height = _surface->h - destY; - - uint skip = 0; - if (destX < 0) { - skip = -destX; - if (width <= skip) - return; - width -= skip; - destX = 0; - } - - for (uint y = 0; y < height; y++) { - if (destY + (int)y >= _surface->h) - break; - - if (currData + 2 > dataEnd) - error("CDToons renderBlock overran whole data by %d bytes", (uint32)(currData - dataEnd)); - - uint16 lineSize = READ_BE_UINT16(currData); - currData += 2; - byte *nextLine = currData + lineSize; - - if (nextLine > dataEnd) - error("CDToons renderBlock was going to overrun data by %d bytes (line size %d)", - (uint32)(nextLine - dataEnd), (uint32)(nextLine - currData)); - - if (destY + (int)y < 0) { - currData = nextLine; - continue; - } - - byte *pixels = (byte *)_surface->getBasePtr(destX, destY + y); - - int leftToSkip = skip; - uint x = 0; - bool done = false; - while (x < width && !done) { - int size = (uint)*currData; - currData++; - bool raw = !(size & 0x80); - size = (size & 0x7f) + 1; - - if (leftToSkip) { - if (leftToSkip >= size) { - leftToSkip -= size; - if (raw) - currData += size; - else - currData++; - continue; - } else { - size -= leftToSkip; - if (raw) - currData += leftToSkip; - leftToSkip = 0; - } - } - - if (x + size >= width) { - size = width - x; - done = true; - } - if (destX + (int)x + size >= (int)_surface->w) { - size = MIN((int)_surface->w - destX - (int)x, width - x); - done = true; - } - if (size <= 0) { - size = 0; - done = true; - } - - if (raw) { - memcpy(pixels + x, currData, size); - currData += size; - x += size; - } else { - byte color = *currData; - currData++; - if (color) { - memset(pixels + x, color, size); - } - x += size; - } - - if (currData > nextLine) { - warning("CDToons renderBlock overran line by %d bytes", (uint32)(currData - nextLine)); - return; - } - } - - currData = nextLine; - } -} - -void CDToonsDecoder::setPalette(byte *data) { - _dirtyPalette = true; - - // A lovely QuickTime palette - for (uint i = 0; i < 256; i++) { - _palette[i * 3] = *data; - _palette[i * 3 + 1] = *(data + 2); - _palette[i * 3 + 2] = *(data + 4); - data += 6; - } - - _palette[0] = _palette[1] = _palette[2] = 0; -} - -} // End of namespace Video diff --git a/video/codecs/cdtoons.h b/video/codecs/cdtoons.h deleted file mode 100644 index 9fec370d1c..0000000000 --- a/video/codecs/cdtoons.h +++ /dev/null @@ -1,72 +0,0 @@ -/* 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. - * - */ - -#ifndef VIDEO_CODECS_CDTOONS_H -#define VIDEO_CODECS_CDTOONS_H - -#include "video/codecs/codec.h" - -#include "common/hashmap.h" - -namespace Video { - -struct CDToonsBlock { - uint16 flags; - uint32 size; - uint16 startFrame; - uint16 endFrame; - uint16 unknown12; - byte *data; -}; - -/** - * Broderbund CDToons decoder. - * - * Used in video: - * - QuickTimeDecoder - */ -class CDToonsDecoder : public Codec { -public: - CDToonsDecoder(uint16 width, uint16 height); - ~CDToonsDecoder(); - - Graphics::Surface *decodeImage(Common::SeekableReadStream *stream); - Graphics::PixelFormat getPixelFormat() const { return Graphics::PixelFormat::createFormatCLUT8(); } - bool containsPalette() const { return true; } - const byte *getPalette() { _dirtyPalette = false; return _palette; } - bool hasDirtyPalette() const { return _dirtyPalette; } - -private: - Graphics::Surface *_surface; - byte _palette[256 * 3]; - bool _dirtyPalette; - uint16 _currentPaletteId; - - Common::HashMap _blocks; - - void renderBlock(byte *data, uint size, int x, int y, uint width, uint height); - void setPalette(byte *data); -}; - -} // End of namespace Video - -#endif diff --git a/video/codecs/cinepak.cpp b/video/codecs/cinepak.cpp deleted file mode 100644 index 229a0aed99..0000000000 --- a/video/codecs/cinepak.cpp +++ /dev/null @@ -1,309 +0,0 @@ -/* 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 "video/codecs/cinepak.h" - -#include "common/debug.h" -#include "common/stream.h" -#include "common/system.h" -#include "common/textconsole.h" -#include "common/util.h" - -#include "graphics/surface.h" - -// Code here partially based off of ffmpeg ;) - -namespace Video { - -#define PUT_PIXEL(offset, lum, u, v) \ - if (_pixelFormat.bytesPerPixel != 1) { \ - byte r = _clipTable[lum + (v << 1)]; \ - byte g = _clipTable[lum - (u >> 1) - v]; \ - byte b = _clipTable[lum + (u << 1)]; \ - \ - if (_pixelFormat.bytesPerPixel == 2) \ - *((uint16 *)_curFrame.surface->getPixels() + offset) = _pixelFormat.RGBToColor(r, g, b); \ - else \ - *((uint32 *)_curFrame.surface->getPixels() + offset) = _pixelFormat.RGBToColor(r, g, b); \ - } else \ - *((byte *)_curFrame.surface->getPixels() + offset) = lum - -CinepakDecoder::CinepakDecoder(int bitsPerPixel) : Codec() { - _curFrame.surface = NULL; - _curFrame.strips = NULL; - _y = 0; - - if (bitsPerPixel == 8) - _pixelFormat = Graphics::PixelFormat::createFormatCLUT8(); - else - _pixelFormat = g_system->getScreenFormat(); - - // Create a lookup for the clip function - // This dramatically improves the performance of the color conversion - _clipTableBuf = new byte[1024]; - - for (uint i = 0; i < 1024; i++) { - if (i <= 512) - _clipTableBuf[i] = 0; - else if (i >= 768) - _clipTableBuf[i] = 255; - else - _clipTableBuf[i] = i - 512; - } - - _clipTable = _clipTableBuf + 512; -} - -CinepakDecoder::~CinepakDecoder() { - if (_curFrame.surface) { - _curFrame.surface->free(); - delete _curFrame.surface; - } - - delete[] _curFrame.strips; - delete[] _clipTableBuf; -} - -const Graphics::Surface *CinepakDecoder::decodeImage(Common::SeekableReadStream *stream) { - _curFrame.flags = stream->readByte(); - _curFrame.length = (stream->readByte() << 16); - _curFrame.length |= stream->readUint16BE(); - _curFrame.width = stream->readUint16BE(); - _curFrame.height = stream->readUint16BE(); - _curFrame.stripCount = stream->readUint16BE(); - - if (_curFrame.strips == NULL) - _curFrame.strips = new CinepakStrip[_curFrame.stripCount]; - - debug(4, "Cinepak Frame: Width = %d, Height = %d, Strip Count = %d", _curFrame.width, _curFrame.height, _curFrame.stripCount); - - // Borrowed from FFMPEG. This should cut out the extra data Cinepak for Sega has (which is useless). - // The theory behind this is that this is here to confuse standard Cinepak decoders. But, we won't let that happen! ;) - if (_curFrame.length != (uint32)stream->size()) { - if (stream->readUint16BE() == 0xFE00) - stream->readUint32BE(); - else if ((stream->size() % _curFrame.length) == 0) - stream->seek(-2, SEEK_CUR); - } - - if (!_curFrame.surface) { - _curFrame.surface = new Graphics::Surface(); - _curFrame.surface->create(_curFrame.width, _curFrame.height, _pixelFormat); - } - - // Reset the y variable. - _y = 0; - - for (uint16 i = 0; i < _curFrame.stripCount; i++) { - if (i > 0 && !(_curFrame.flags & 1)) { // Use codebooks from last strip - for (uint16 j = 0; j < 256; j++) { - _curFrame.strips[i].v1_codebook[j] = _curFrame.strips[i - 1].v1_codebook[j]; - _curFrame.strips[i].v4_codebook[j] = _curFrame.strips[i - 1].v4_codebook[j]; - } - } - - _curFrame.strips[i].id = stream->readUint16BE(); - _curFrame.strips[i].length = stream->readUint16BE() - 12; // Subtract the 12 byte header - _curFrame.strips[i].rect.top = _y; stream->readUint16BE(); // Ignore, substitute with our own. - _curFrame.strips[i].rect.left = 0; stream->readUint16BE(); // Ignore, substitute with our own - _curFrame.strips[i].rect.bottom = _y + stream->readUint16BE(); - _curFrame.strips[i].rect.right = _curFrame.width; stream->readUint16BE(); // Ignore, substitute with our own - - // Sanity check. Because Cinepak is based on 4x4 blocks, the width and height of each strip needs to be divisible by 4. - assert(!(_curFrame.strips[i].rect.width() % 4) && !(_curFrame.strips[i].rect.height() % 4)); - - uint32 pos = stream->pos(); - - while ((uint32)stream->pos() < (pos + _curFrame.strips[i].length) && !stream->eos()) { - byte chunkID = stream->readByte(); - - if (stream->eos()) - break; - - // Chunk Size is 24-bit, ignore the first 4 bytes - uint32 chunkSize = stream->readByte() << 16; - chunkSize += stream->readUint16BE() - 4; - - int32 startPos = stream->pos(); - - switch (chunkID) { - case 0x20: - case 0x21: - case 0x24: - case 0x25: - loadCodebook(stream, i, 4, chunkID, chunkSize); - break; - case 0x22: - case 0x23: - case 0x26: - case 0x27: - loadCodebook(stream, i, 1, chunkID, chunkSize); - break; - case 0x30: - case 0x31: - case 0x32: - decodeVectors(stream, i, chunkID, chunkSize); - break; - default: - warning("Unknown Cinepak chunk ID %02x", chunkID); - return _curFrame.surface; - } - - if (stream->pos() != startPos + (int32)chunkSize) - stream->seek(startPos + chunkSize); - } - - _y = _curFrame.strips[i].rect.bottom; - } - - return _curFrame.surface; -} - -void CinepakDecoder::loadCodebook(Common::SeekableReadStream *stream, uint16 strip, byte codebookType, byte chunkID, uint32 chunkSize) { - CinepakCodebook *codebook = (codebookType == 1) ? _curFrame.strips[strip].v1_codebook : _curFrame.strips[strip].v4_codebook; - - int32 startPos = stream->pos(); - uint32 flag = 0, mask = 0; - - for (uint16 i = 0; i < 256; i++) { - if ((chunkID & 0x01) && !(mask >>= 1)) { - if ((stream->pos() - startPos + 4) > (int32)chunkSize) - break; - - flag = stream->readUint32BE(); - mask = 0x80000000; - } - - if (!(chunkID & 0x01) || (flag & mask)) { - byte n = (chunkID & 0x04) ? 4 : 6; - if ((stream->pos() - startPos + n) > (int32)chunkSize) - break; - - for (byte j = 0; j < 4; j++) - codebook[i].y[j] = stream->readByte(); - - if (n == 6) { - codebook[i].u = stream->readSByte(); - codebook[i].v = stream->readSByte(); - } else { - // This codebook type indicates either greyscale or - // palettized video. For greyscale, default us to - // 0 for both u and v. - codebook[i].u = 0; - codebook[i].v = 0; - } - } - } -} - -void CinepakDecoder::decodeVectors(Common::SeekableReadStream *stream, uint16 strip, byte chunkID, uint32 chunkSize) { - uint32 flag = 0, mask = 0; - uint32 iy[4]; - int32 startPos = stream->pos(); - - for (uint16 y = _curFrame.strips[strip].rect.top; y < _curFrame.strips[strip].rect.bottom; y += 4) { - iy[0] = _curFrame.strips[strip].rect.left + y * _curFrame.width; - iy[1] = iy[0] + _curFrame.width; - iy[2] = iy[1] + _curFrame.width; - iy[3] = iy[2] + _curFrame.width; - - for (uint16 x = _curFrame.strips[strip].rect.left; x < _curFrame.strips[strip].rect.right; x += 4) { - if ((chunkID & 0x01) && !(mask >>= 1)) { - if ((stream->pos() - startPos + 4) > (int32)chunkSize) - return; - - flag = stream->readUint32BE(); - mask = 0x80000000; - } - - if (!(chunkID & 0x01) || (flag & mask)) { - if (!(chunkID & 0x02) && !(mask >>= 1)) { - if ((stream->pos() - startPos + 4) > (int32)chunkSize) - return; - - flag = stream->readUint32BE(); - mask = 0x80000000; - } - - if ((chunkID & 0x02) || (~flag & mask)) { - if ((stream->pos() - startPos + 1) > (int32)chunkSize) - return; - - // Get the codebook - CinepakCodebook codebook = _curFrame.strips[strip].v1_codebook[stream->readByte()]; - - PUT_PIXEL(iy[0] + 0, codebook.y[0], codebook.u, codebook.v); - PUT_PIXEL(iy[0] + 1, codebook.y[0], codebook.u, codebook.v); - PUT_PIXEL(iy[1] + 0, codebook.y[0], codebook.u, codebook.v); - PUT_PIXEL(iy[1] + 1, codebook.y[0], codebook.u, codebook.v); - - PUT_PIXEL(iy[0] + 2, codebook.y[1], codebook.u, codebook.v); - PUT_PIXEL(iy[0] + 3, codebook.y[1], codebook.u, codebook.v); - PUT_PIXEL(iy[1] + 2, codebook.y[1], codebook.u, codebook.v); - PUT_PIXEL(iy[1] + 3, codebook.y[1], codebook.u, codebook.v); - - PUT_PIXEL(iy[2] + 0, codebook.y[2], codebook.u, codebook.v); - PUT_PIXEL(iy[2] + 1, codebook.y[2], codebook.u, codebook.v); - PUT_PIXEL(iy[3] + 0, codebook.y[2], codebook.u, codebook.v); - PUT_PIXEL(iy[3] + 1, codebook.y[2], codebook.u, codebook.v); - - PUT_PIXEL(iy[2] + 2, codebook.y[3], codebook.u, codebook.v); - PUT_PIXEL(iy[2] + 3, codebook.y[3], codebook.u, codebook.v); - PUT_PIXEL(iy[3] + 2, codebook.y[3], codebook.u, codebook.v); - PUT_PIXEL(iy[3] + 3, codebook.y[3], codebook.u, codebook.v); - } else if (flag & mask) { - if ((stream->pos() - startPos + 4) > (int32)chunkSize) - return; - - CinepakCodebook codebook = _curFrame.strips[strip].v4_codebook[stream->readByte()]; - PUT_PIXEL(iy[0] + 0, codebook.y[0], codebook.u, codebook.v); - PUT_PIXEL(iy[0] + 1, codebook.y[1], codebook.u, codebook.v); - PUT_PIXEL(iy[1] + 0, codebook.y[2], codebook.u, codebook.v); - PUT_PIXEL(iy[1] + 1, codebook.y[3], codebook.u, codebook.v); - - codebook = _curFrame.strips[strip].v4_codebook[stream->readByte()]; - PUT_PIXEL(iy[0] + 2, codebook.y[0], codebook.u, codebook.v); - PUT_PIXEL(iy[0] + 3, codebook.y[1], codebook.u, codebook.v); - PUT_PIXEL(iy[1] + 2, codebook.y[2], codebook.u, codebook.v); - PUT_PIXEL(iy[1] + 3, codebook.y[3], codebook.u, codebook.v); - - codebook = _curFrame.strips[strip].v4_codebook[stream->readByte()]; - PUT_PIXEL(iy[2] + 0, codebook.y[0], codebook.u, codebook.v); - PUT_PIXEL(iy[2] + 1, codebook.y[1], codebook.u, codebook.v); - PUT_PIXEL(iy[3] + 0, codebook.y[2], codebook.u, codebook.v); - PUT_PIXEL(iy[3] + 1, codebook.y[3], codebook.u, codebook.v); - - codebook = _curFrame.strips[strip].v4_codebook[stream->readByte()]; - PUT_PIXEL(iy[2] + 2, codebook.y[0], codebook.u, codebook.v); - PUT_PIXEL(iy[2] + 3, codebook.y[1], codebook.u, codebook.v); - PUT_PIXEL(iy[3] + 2, codebook.y[2], codebook.u, codebook.v); - PUT_PIXEL(iy[3] + 3, codebook.y[3], codebook.u, codebook.v); - } - } - - for (byte i = 0; i < 4; i++) - iy[i] += 4; - } - } -} - -} // End of namespace Video diff --git a/video/codecs/cinepak.h b/video/codecs/cinepak.h deleted file mode 100644 index 1286077cb9..0000000000 --- a/video/codecs/cinepak.h +++ /dev/null @@ -1,89 +0,0 @@ -/* 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. - * - */ - -#ifndef VIDEO_CODECS_CINEPAK_H -#define VIDEO_CODECS_CINEPAK_H - -#include "common/scummsys.h" -#include "common/rect.h" -#include "graphics/pixelformat.h" - -#include "video/codecs/codec.h" - -namespace Common { -class SeekableReadStream; -} - -namespace Video { - -struct CinepakCodebook { - // These are not in the normal YUV colorspace, but in the Cinepak YUV colorspace instead. - byte y[4]; // [0, 255] - int8 u, v; // [-128, 127] -}; - -struct CinepakStrip { - uint16 id; - uint16 length; - Common::Rect rect; - CinepakCodebook v1_codebook[256], v4_codebook[256]; -}; - -struct CinepakFrame { - byte flags; - uint32 length; - uint16 width; - uint16 height; - uint16 stripCount; - CinepakStrip *strips; - - Graphics::Surface *surface; -}; - -/** - * Cinepak decoder. - * - * Used in video: - * - AVIDecoder - * - QuickTimeDecoder - */ -class CinepakDecoder : public Codec { -public: - CinepakDecoder(int bitsPerPixel = 24); - ~CinepakDecoder(); - - const Graphics::Surface *decodeImage(Common::SeekableReadStream *stream); - Graphics::PixelFormat getPixelFormat() const { return _pixelFormat; } - -private: - CinepakFrame _curFrame; - int32 _y; - Graphics::PixelFormat _pixelFormat; - byte *_clipTable, *_clipTableBuf; - - void loadCodebook(Common::SeekableReadStream *stream, uint16 strip, byte codebookType, byte chunkID, uint32 chunkSize); - void decodeVectors(Common::SeekableReadStream *stream, uint16 strip, byte chunkID, uint32 chunkSize); -}; - -} // End of namespace Video - -#endif diff --git a/video/codecs/codec.h b/video/codecs/codec.h deleted file mode 100644 index f9bed15ee0..0000000000 --- a/video/codecs/codec.h +++ /dev/null @@ -1,82 +0,0 @@ -/* 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. - * - */ - -#ifndef VIDEO_CODECS_CODEC_H -#define VIDEO_CODECS_CODEC_H - -#include "graphics/surface.h" -#include "graphics/pixelformat.h" - -namespace Common { -class SeekableReadStream; -} - -namespace Video { - -/** - * An abstract representation of a video codec used for decoding - * video frames. - * - * Used in video: - * - AVIDecoder - * - QuickTimeDecoder - * - VMDDecoder - */ -class Codec { -public: - Codec() {} - virtual ~Codec() {} - - /** - * Decode the frame for the given data and return a pointer to a surface - * containing the decoded frame. - * - * @return a pointer to the decoded frame - * @note stream is not deleted - */ - virtual const Graphics::Surface *decodeImage(Common::SeekableReadStream *stream) = 0; - - /** - * Get the format that the surface returned from decodeImage() will - * be in. - */ - virtual Graphics::PixelFormat getPixelFormat() const = 0; - - /** - * Can this codec's frames contain a palette? - */ - virtual bool containsPalette() const { return false; } - - /** - * Get the palette last decoded from decodeImage - */ - virtual const byte *getPalette() { return 0; } - - /** - * Does the codec have a dirty palette? - */ - virtual bool hasDirtyPalette() const { return false; } -}; - -} // End of namespace Video - -#endif diff --git a/video/codecs/indeo3.cpp b/video/codecs/indeo3.cpp deleted file mode 100644 index fc36b4c2d9..0000000000 --- a/video/codecs/indeo3.cpp +++ /dev/null @@ -1,3487 +0,0 @@ -/* 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 "common/scummsys.h" - -/* Intel Indeo 3 decompressor, derived from ffmpeg. - * - * Original copyright note: * Intel Indeo 3 (IV31, IV32, etc.) video decoder for ffmpeg - * written, produced, and directed by Alan Smithee - */ - -#include "common/system.h" -#include "common/endian.h" -#include "common/stream.h" -#include "common/textconsole.h" -#include "common/util.h" - -#include "graphics/yuv_to_rgb.h" - -#include "video/codecs/indeo3.h" - -namespace Video { - -Indeo3Decoder::Indeo3Decoder(uint16 width, uint16 height) : _ModPred(0), _corrector_type(0) { - _iv_frame[0].the_buf = 0; - _iv_frame[1].the_buf = 0; - - _pixelFormat = g_system->getScreenFormat(); - - _surface = new Graphics::Surface; - _surface->create(width, height, _pixelFormat); - - buildModPred(); - allocFrames(); -} - -Indeo3Decoder::~Indeo3Decoder() { - _surface->free(); - delete _surface; - - delete[] _iv_frame[0].the_buf; - delete[] _ModPred; - delete[] _corrector_type; -} - -Graphics::PixelFormat Indeo3Decoder::getPixelFormat() const { - return _pixelFormat; -} - -bool Indeo3Decoder::isIndeo3(Common::SeekableReadStream &stream) { - // Less than 16 bytes? This can't be right - if (stream.size() < 16) - return false; - - uint32 id0 = stream.readUint32LE(); - uint32 id1 = stream.readUint32LE(); - uint32 id2 = stream.readUint32LE(); - uint32 id3 = stream.readUint32LE(); - - // Unknown, but according to the docs, always 0 - if (id1 != 0) - return false; - - // These 4 uint32s XOR'd need to spell "FRMH" - if ((id0 ^ id1 ^ id2 ^ id3) != MKTAG('F','R','M','H')) - return false; - - return true; -} - -void Indeo3Decoder::buildModPred() { - _ModPred = new byte[8 * 128]; - - for (int i = 0; i < 128; i++) { - _ModPred[i+0*128] = (i > 126) ? 254 : 2*((i + 1) - ((i + 1) % 2)); - _ModPred[i+1*128] = (i == 7) ? 20 : ((i == 119 || i == 120) - ? 236 : 2*((i + 2) - ((i + 1) % 3))); - _ModPred[i+2*128] = (i > 125) ? 248 : 2*((i + 2) - ((i + 2) % 4)); - _ModPred[i+3*128] = 2*((i + 1) - ((i - 3) % 5)); - _ModPred[i+4*128] = (i == 8) ? 20 : 2*((i + 1) - ((i - 3) % 6)); - _ModPred[i+5*128] = 2*((i + 4) - ((i + 3) % 7)); - _ModPred[i+6*128] = (i > 123) ? 240 : 2*((i + 4) - ((i + 4) % 8)); - _ModPred[i+7*128] = 2*((i + 5) - ((i + 4) % 9)); - } - - _corrector_type = new uint16[24 * 256]; - - for (int i = 0; i < 24; i++) { - for (int j = 0; j < 256; j++) { - _corrector_type[i*256+j] = - (j < _corrector_type_0[i]) ? 1 : - ((j < 248 || (i == 16 && j == 248)) ? 0 : - _corrector_type_2[j - 248]); - } - } -} - -void Indeo3Decoder::allocFrames() { - int32 luma_width = (_surface->w + 3) & (~3); - int32 luma_height = (_surface->h + 3) & (~3); - - int32 chroma_width = ((luma_width >> 2) + 3) & (~3); - int32 chroma_height = ((luma_height >> 2) + 3) & (~3); - - int32 luma_pixels = luma_width * luma_height; - int32 chroma_pixels = chroma_width * chroma_height; - - uint32 bufsize = luma_pixels * 2 + luma_width * 3 + - (chroma_pixels + chroma_width) * 4; - - _iv_frame[0].y_w = _iv_frame[1].y_w = luma_width; - _iv_frame[0].y_h = _iv_frame[1].y_h = luma_height; - _iv_frame[0].uv_w = _iv_frame[1].uv_w = chroma_width; - _iv_frame[0].uv_h = _iv_frame[1].uv_h = chroma_height; - - _iv_frame[0].the_buf_size = bufsize; - _iv_frame[1].the_buf_size = 0; - - _iv_frame[0].the_buf = new byte[bufsize]; - memset(_iv_frame[0].the_buf, 0, bufsize); - _iv_frame[1].the_buf = 0; - - uint32 offs = 0; - - _iv_frame[0].Ybuf = _iv_frame[0].the_buf + luma_width; - offs += luma_pixels + luma_width * 2; - _iv_frame[1].Ybuf = _iv_frame[0].the_buf + offs; - offs += (luma_pixels + luma_width); - _iv_frame[0].Ubuf = _iv_frame[0].the_buf + offs; - offs += (chroma_pixels + chroma_width); - _iv_frame[1].Ubuf = _iv_frame[0].the_buf + offs; - offs += (chroma_pixels + chroma_width); - _iv_frame[0].Vbuf = _iv_frame[0].the_buf + offs; - offs += (chroma_pixels + chroma_width); - _iv_frame[1].Vbuf = _iv_frame[0].the_buf + offs; - - for (int i = 1; i <= luma_width; i++) - _iv_frame[0].Ybuf[-i] = _iv_frame[1].Ybuf[-i] = - _iv_frame[0].Ubuf[-i] = 0x80; - - for (int i = 1; i <= chroma_width; i++) { - _iv_frame[1].Ubuf[-i] = 0x80; - _iv_frame[0].Vbuf[-i] = 0x80; - _iv_frame[1].Vbuf[-i] = 0x80; - _iv_frame[1].Vbuf[chroma_pixels+i-1] = 0x80; - } -} - -const Graphics::Surface *Indeo3Decoder::decodeImage(Common::SeekableReadStream *stream) { - // Not Indeo 3? Fail - if (!isIndeo3(*stream)) - return 0; - - stream->seek(12); - uint32 frameDataLen = stream->readUint32LE(); - - // Less data than the frame should have? Fail - if (stream->size() < (int)(frameDataLen - 16)) - return 0; - - stream->seek(16); // Behind header - stream->skip(2); // Unknown - - uint16 flags1 = stream->readUint16LE(); - uint32 flags3 = stream->readUint32LE(); - uint8 flags2 = stream->readByte(); - - // Finding the reference frame - if (flags1 & 0x200) { - _cur_frame = _iv_frame + 1; - _ref_frame = _iv_frame; - } else { - _cur_frame = _iv_frame; - _ref_frame = _iv_frame + 1; - } - - if (flags3 == 0x80) - return _surface; - - stream->skip(3); - - uint16 fHeight = stream->readUint16LE(); - uint16 fWidth = stream->readUint16LE(); - - uint32 chromaHeight = ((fHeight >> 2) + 3) & 0x7FFC; - uint32 chromaWidth = ((fWidth >> 2) + 3) & 0x7FFC; - - uint32 offs; - uint32 offsY = stream->readUint32LE() + 16; - uint32 offsU = stream->readUint32LE() + 16; - uint32 offsV = stream->readUint32LE() + 16; - - stream->skip(4); - - uint32 hPos = stream->pos(); - - if (offsY < hPos) { - warning("Indeo3Decoder::decodeImage: offsY < hPos"); - return 0; - } - if (offsU < hPos) { - warning("Indeo3Decoder::decodeImage: offsY < hPos"); - return 0; - } - if (offsV < hPos) { - warning("Indeo3Decoder::decodeImage: offsY < hPos"); - return 0; - } - - uint32 dataSize = stream->size() - hPos; - - byte *inData = new byte[dataSize]; - - if (stream->read(inData, dataSize) != dataSize) { - delete[] inData; - return 0; - } - - byte *hdr_pos = inData; - byte *buf_pos; - - // Luminance Y - stream->seek(offsY); - buf_pos = inData + offsY + 4 - hPos; - offs = stream->readUint32LE(); - decodeChunk(_cur_frame->Ybuf, _ref_frame->Ybuf, fWidth, fHeight, - buf_pos + offs * 2, flags2, hdr_pos, buf_pos, MIN(fWidth, 160)); - - // Chrominance U - stream->seek(offsU); - buf_pos = inData + offsU + 4 - hPos; - offs = stream->readUint32LE(); - decodeChunk(_cur_frame->Vbuf, _ref_frame->Vbuf, chromaWidth, chromaHeight, - buf_pos + offs * 2, flags2, hdr_pos, buf_pos, MIN(chromaWidth, 40)); - - // Chrominance V - stream->seek(offsV); - buf_pos = inData + offsV + 4 - hPos; - offs = stream->readUint32LE(); - decodeChunk(_cur_frame->Ubuf, _ref_frame->Ubuf, chromaWidth, chromaHeight, - buf_pos + offs * 2, flags2, hdr_pos, buf_pos, MIN(chromaWidth, 40)); - - delete[] inData; - - const byte *srcY = _cur_frame->Ybuf; - const byte *srcU = _cur_frame->Ubuf; - const byte *srcV = _cur_frame->Vbuf; - - // Create buffers for U/V with an extra row/column copied from the second-to-last - // row/column. - byte *tempU = new byte[(chromaWidth + 1) * (chromaHeight + 1)]; - byte *tempV = new byte[(chromaWidth + 1) * (chromaHeight + 1)]; - - for (uint i = 0; i < chromaHeight; i++) { - memcpy(tempU + (chromaWidth + 1) * i, srcU + chromaWidth * i, chromaWidth); - memcpy(tempV + (chromaWidth + 1) * i, srcV + chromaWidth * i, chromaWidth); - tempU[(chromaWidth + 1) * i + chromaWidth] = srcU[chromaWidth * (i + 1) - 1]; - tempV[(chromaWidth + 1) * i + chromaWidth] = srcV[chromaWidth * (i + 1) - 1]; - } - - memcpy(tempU + (chromaWidth + 1) * chromaHeight, tempU + (chromaWidth + 1) * (chromaHeight - 1), - chromaWidth + 1); - memcpy(tempV + (chromaWidth + 1) * chromaHeight, tempV + (chromaWidth + 1) * (chromaHeight - 1), - chromaWidth + 1); - - // Blit the frame onto the surface - uint32 scaleWidth = _surface->w / fWidth; - uint32 scaleHeight = _surface->h / fHeight; - - if (scaleWidth == 1 && scaleHeight == 1) { - // Shortcut: Don't need to scale so we can decode straight to the surface - YUVToRGBMan.convert410(_surface, Graphics::YUVToRGBManager::kScaleITU, srcY, tempU, tempV, - fWidth, fHeight, fWidth, chromaWidth + 1); - } else { - // Need to upscale, so decode to a temp surface first - Graphics::Surface tempSurface; - tempSurface.create(fWidth, fHeight, _surface->format); - - YUVToRGBMan.convert410(&tempSurface, Graphics::YUVToRGBManager::kScaleITU, srcY, tempU, tempV, - fWidth, fHeight, fWidth, chromaWidth + 1); - - // Upscale - for (int y = 0; y < _surface->h; y++) { - for (int x = 0; x < _surface->w; x++) { - if (_surface->format.bytesPerPixel == 1) - *((byte *)_surface->getBasePtr(x, y)) = *((byte *)tempSurface.getBasePtr(x / scaleWidth, y / scaleHeight)); - else if (_surface->format.bytesPerPixel == 2) - *((uint16 *)_surface->getBasePtr(x, y)) = *((uint16 *)tempSurface.getBasePtr(x / scaleWidth, y / scaleHeight)); - else if (_surface->format.bytesPerPixel == 4) - *((uint32 *)_surface->getBasePtr(x, y)) = *((uint32 *)tempSurface.getBasePtr(x / scaleWidth, y / scaleHeight)); - } - } - - tempSurface.free(); - } - - delete[] tempU; - delete[] tempV; - - return _surface; -} - -typedef struct { - int32 xpos; - int32 ypos; - int32 width; - int32 height; - int32 split_flag; - int32 split_direction; - int32 usl7; -} ustr_t; - -/* ---------------------------------------------------------------------- */ - -#define LV1_CHECK(buf1,rle_v3,lv1,lp2) \ - if ((lv1 & 0x80) != 0) { \ - if (rle_v3 != 0) \ - rle_v3 = 0; \ - else { \ - rle_v3 = 1; \ - buf1 -= 2; \ - } \ - } \ - lp2 = 4; - - -#define RLE_V3_CHECK(buf1,rle_v1,rle_v2,rle_v3) \ - if (rle_v3 == 0) { \ - rle_v2 = *buf1; \ - rle_v1 = 1; \ - if (rle_v2 > 32) { \ - rle_v2 -= 32; \ - rle_v1 = 0; \ - } \ - rle_v3 = 1; \ - } \ - buf1--; - - -#define LP2_CHECK(buf1,rle_v3,lp2) \ - if (lp2 == 0 && rle_v3 != 0) \ - rle_v3 = 0; \ - else { \ - buf1--; \ - rle_v3 = 1; \ - } - - -#define RLE_V2_CHECK(buf1,rle_v2, rle_v3,lp2) \ - rle_v2--; \ - if (rle_v2 == 0) { \ - rle_v3 = 0; \ - buf1 += 2; \ - } \ - lp2 = 4; - -void Indeo3Decoder::decodeChunk(byte *cur, byte *ref, int width, int height, - const byte *buf1, uint32 fflags2, const byte *hdr, - const byte *buf2, int min_width_160) { - - byte bit_buf; - uint32 bit_pos, lv, lv1, lv2; - int32 *width_tbl, width_tbl_arr[10]; - const int8 *ref_vectors; - byte *cur_frm_pos, *ref_frm_pos, *cp, *cp2; - uint32 *cur_lp, *ref_lp; - const uint32 *correction_lp[2], *correctionloworder_lp[2], *correctionhighorder_lp[2]; - uint16 *correction_type_sp[2]; - ustr_t strip_tbl[20], *strip; - int i, j, k, lp1, lp2, flag1, cmd; - int blks_width, blks_height, region_160_width; - int rle_v1, rle_v2, rle_v3; - uint16 res; - - bit_buf = 0; - ref_vectors = NULL; - - width_tbl = width_tbl_arr + 1; - i = (width < 0 ? width + 3 : width)/4; - for (j = -1; j < 8; j++) - width_tbl[j] = i * j; - - strip = strip_tbl; - - for (region_160_width = 0; region_160_width < (width - min_width_160); region_160_width += min_width_160) - ; - - strip->ypos = strip->xpos = 0; - for (strip->width = min_width_160; width > strip->width; strip->width *= 2) - ; - strip->height = height; - strip->split_direction = 0; - strip->split_flag = 0; - strip->usl7 = 0; - - bit_pos = 0; - - rle_v1 = rle_v2 = rle_v3 = 0; - - while (strip >= strip_tbl) { - if (bit_pos <= 0) { - bit_pos = 8; - bit_buf = *buf1++; - } - - bit_pos -= 2; - cmd = (bit_buf >> bit_pos) & 0x03; - - if (cmd == 0) { - strip++; - memcpy(strip, strip-1, sizeof(ustr_t)); - strip->split_flag = 1; - strip->split_direction = 0; - strip->height = (strip->height > 8 ? ((strip->height+8)>>4)<<3 : 4); - continue; - } else if (cmd == 1) { - strip++; - memcpy(strip, strip-1, sizeof(ustr_t)); - strip->split_flag = 1; - strip->split_direction = 1; - strip->width = (strip->width > 8 ? ((strip->width+8)>>4)<<3 : 4); - continue; - } else if (cmd == 2) { - if (strip->usl7 == 0) { - strip->usl7 = 1; - ref_vectors = NULL; - continue; - } - } else if (cmd == 3) { - if (strip->usl7 == 0) { - strip->usl7 = 1; - ref_vectors = (const signed char*)buf2 + (*buf1 * 2); - buf1++; - continue; - } - } - - cur_frm_pos = cur + width * strip->ypos + strip->xpos; - - if ((blks_width = strip->width) < 0) - blks_width += 3; - blks_width >>= 2; - blks_height = strip->height; - - if (ref_vectors != NULL) { - ref_frm_pos = ref + (ref_vectors[0] + strip->ypos) * width + - ref_vectors[1] + strip->xpos; - } else - ref_frm_pos = cur_frm_pos - width_tbl[4]; - - if (cmd == 2) { - if (bit_pos <= 0) { - bit_pos = 8; - bit_buf = *buf1++; - } - - bit_pos -= 2; - cmd = (bit_buf >> bit_pos) & 0x03; - - if (cmd == 0 || ref_vectors != NULL) { - for (lp1 = 0; lp1 < blks_width; lp1++) { - for (i = 0, j = 0; i < blks_height; i++, j += width_tbl[1]) - ((uint32 *)cur_frm_pos)[j] = ((uint32 *)ref_frm_pos)[j]; - cur_frm_pos += 4; - ref_frm_pos += 4; - } - } else if (cmd != 1) - return; - } else { - k = *buf1 >> 4; - j = *buf1 & 0x0f; - buf1++; - lv = j + fflags2; - - if ((lv - 8) <= 7 && (k == 0 || k == 3 || k == 10)) { - cp2 = _ModPred + ((lv - 8) << 7); - cp = ref_frm_pos; - for (i = 0; i < blks_width << 2; i++) { - int v = *cp >> 1; - *(cp++) = cp2[v]; - } - } - - if (k == 1 || k == 4) { - lv = (hdr[j] & 0xf) + fflags2; - correction_type_sp[0] = _corrector_type + (lv << 8); - correction_lp[0] = correction + (lv << 8); - lv = (hdr[j] >> 4) + fflags2; - correction_lp[1] = correction + (lv << 8); - correction_type_sp[1] = _corrector_type + (lv << 8); - } else { - correctionloworder_lp[0] = correctionloworder_lp[1] = correctionloworder + (lv << 8); - correctionhighorder_lp[0] = correctionhighorder_lp[1] = correctionhighorder + (lv << 8); - correction_type_sp[0] = correction_type_sp[1] = _corrector_type + (lv << 8); - correction_lp[0] = correction_lp[1] = correction + (lv << 8); - } - - switch (k) { - case 1: - case 0: /********** CASE 0 **********/ - for ( ; blks_height > 0; blks_height -= 4) { - for (lp1 = 0; lp1 < blks_width; lp1++) { - for (lp2 = 0; lp2 < 4; ) { - k = *buf1++; - cur_lp = ((uint32 *)cur_frm_pos) + width_tbl[lp2]; - ref_lp = ((uint32 *)ref_frm_pos) + width_tbl[lp2]; - - switch (correction_type_sp[0][k]) { - case 0: - *cur_lp = FROM_LE_32(((FROM_LE_32(*ref_lp) >> 1) + correction_lp[lp2 & 0x01][k]) << 1); - lp2++; - break; - case 1: - if (correction_type_sp[0][*buf1] != 1) { - // both correction types must be DYAD. If it's not the case - // we have an incorrect data and we should skip the rest. - // This occurs in some Urban Runner videos, and produced a glitch. - // The glitch is not visible anymore if we skip this part of the frame. - // The old Y values are then used. - // This is also the behavior of the codec in the original game. - //warning("Glitch"); - return; - } - res = ((FROM_LE_16(((uint16 *)(ref_lp))[0]) >> 1) + correction_lp[lp2 & 0x01][*buf1]) << 1; - ((uint16 *)cur_lp)[0] = FROM_LE_16(res); - res = ((FROM_LE_16(((uint16 *)(ref_lp))[1]) >> 1) + correction_lp[lp2 & 0x01][k]) << 1; - ((uint16 *)cur_lp)[1] = FROM_LE_16(res); - buf1++; - lp2++; - break; - case 2: - if (lp2 == 0) { - for (i = 0, j = 0; i < 2; i++, j += width_tbl[1]) - cur_lp[j] = ref_lp[j]; - lp2 += 2; - } - break; - case 3: - if (lp2 < 2) { - for (i = 0, j = 0; i < (3 - lp2); i++, j += width_tbl[1]) - cur_lp[j] = ref_lp[j]; - lp2 = 3; - } - break; - case 8: - if (lp2 == 0) { - RLE_V3_CHECK(buf1,rle_v1,rle_v2,rle_v3) - - if (rle_v1 == 1 || ref_vectors != NULL) { - for (i = 0, j = 0; i < 4; i++, j += width_tbl[1]) - cur_lp[j] = ref_lp[j]; - } - - RLE_V2_CHECK(buf1,rle_v2, rle_v3,lp2) - break; - } else { - rle_v1 = 1; - rle_v2 = *buf1 - 1; - } - case 5: - LP2_CHECK(buf1,rle_v3,lp2) - case 4: - for (i = 0, j = 0; i < (4 - lp2); i++, j += width_tbl[1]) - cur_lp[j] = ref_lp[j]; - lp2 = 4; - break; - - case 7: - if (rle_v3 != 0) - rle_v3 = 0; - else { - buf1--; - rle_v3 = 1; - } - case 6: - if (lp2 > 0) { - //This case can't happen either. - //If it occurs, it must happen on the first line. - //warning("Glitch"); - return; - } - if (ref_vectors != NULL) { - for (i = 0, j = 0; i < 4; i++, j += width_tbl[1]) - cur_lp[j] = ref_lp[j]; - } - lp2 = 4; - break; - - case 9: - lv1 = *buf1++; - lv = (lv1 & 0x7F) << 1; - lv += (lv << 8); - lv += (lv << 16); - for (i = 0, j = 0; i < 4; i++, j += width_tbl[1]) - cur_lp[j] = lv; - - LV1_CHECK(buf1,rle_v3,lv1,lp2) - break; - default: - return; - } - } - - cur_frm_pos += 4; - ref_frm_pos += 4; - } - - cur_frm_pos += ((width - blks_width) * 4); - ref_frm_pos += ((width - blks_width) * 4); - } - break; - - case 4: - case 3: /********** CASE 3 **********/ - if (ref_vectors != NULL) - return; - flag1 = 1; - - for ( ; blks_height > 0; blks_height -= 8) { - for (lp1 = 0; lp1 < blks_width; lp1++) { - for (lp2 = 0; lp2 < 4; ) { - k = *buf1++; - - cur_lp = ((uint32 *)cur_frm_pos) + width_tbl[lp2 * 2]; - ref_lp = ((uint32 *)cur_frm_pos) + width_tbl[(lp2 * 2) - 1]; - - switch (correction_type_sp[lp2 & 0x01][k]) { - case 0: - cur_lp[width_tbl[1]] = FROM_LE_32(((FROM_LE_32(*ref_lp) >> 1) + correction_lp[lp2 & 0x01][k]) << 1); - if (lp2 > 0 || flag1 == 0 || strip->ypos != 0) - cur_lp[0] = ((cur_lp[-width_tbl[1]] >> 1) + (cur_lp[width_tbl[1]] >> 1)) & 0xFEFEFEFE; - else - cur_lp[0] = FROM_LE_32(((FROM_LE_32(*ref_lp) >> 1) + correction_lp[lp2 & 0x01][k]) << 1); - lp2++; - break; - - case 1: - res = ((FROM_LE_16(((uint16 *)ref_lp)[0]) >> 1) + correction_lp[lp2 & 0x01][*buf1]) << 1; - ((uint16 *)cur_lp)[width_tbl[2]] = FROM_LE_16(res); - res = ((FROM_LE_16(((uint16 *)ref_lp)[1]) >> 1) + correction_lp[lp2 & 0x01][k]) << 1; - ((uint16 *)cur_lp)[width_tbl[2]+1] = FROM_LE_16(res); - - if (lp2 > 0 || flag1 == 0 || strip->ypos != 0) - cur_lp[0] = ((cur_lp[-width_tbl[1]] >> 1) + (cur_lp[width_tbl[1]] >> 1)) & 0xFEFEFEFE; - else - cur_lp[0] = cur_lp[width_tbl[1]]; - buf1++; - lp2++; - break; - - case 2: - if (lp2 == 0) { - for (i = 0, j = 0; i < 4; i++, j += width_tbl[1]) - cur_lp[j] = *ref_lp; - lp2 += 2; - } - break; - - case 3: - if (lp2 < 2) { - for (i = 0, j = 0; i < 6 - (lp2 * 2); i++, j += width_tbl[1]) - cur_lp[j] = *ref_lp; - lp2 = 3; - } - break; - - case 6: - lp2 = 4; - break; - - case 7: - if (rle_v3 != 0) - rle_v3 = 0; - else { - buf1--; - rle_v3 = 1; - } - lp2 = 4; - break; - - case 8: - if (lp2 == 0) { - RLE_V3_CHECK(buf1,rle_v1,rle_v2,rle_v3) - - if (rle_v1 == 1) { - for (i = 0, j = 0; i < 8; i++, j += width_tbl[1]) - cur_lp[j] = ref_lp[j]; - } - - RLE_V2_CHECK(buf1,rle_v2, rle_v3,lp2) - break; - } else { - rle_v2 = (*buf1) - 1; - rle_v1 = 1; - } - case 5: - LP2_CHECK(buf1,rle_v3,lp2) - case 4: - for (i = 0, j = 0; i < 8 - (lp2 * 2); i++, j += width_tbl[1]) - cur_lp[j] = *ref_lp; - lp2 = 4; - break; - - case 9: - warning("Indeo3Decoder::decodeChunk: Untested (1)"); - lv1 = *buf1++; - lv = (lv1 & 0x7F) << 1; - lv += (lv << 8); - lv += (lv << 16); - - for (i = 0, j = 0; i < 4; i++, j += width_tbl[1]) - cur_lp[j] = lv; - - LV1_CHECK(buf1,rle_v3,lv1,lp2) - break; - - default: - return; - } - } - - cur_frm_pos += 4; - } - - cur_frm_pos += (((width * 2) - blks_width) * 4); - flag1 = 0; - } - break; - - case 10: /********** CASE 10 **********/ - if (ref_vectors == NULL) { - flag1 = 1; - - for ( ; blks_height > 0; blks_height -= 8) { - for (lp1 = 0; lp1 < blks_width; lp1 += 2) { - for (lp2 = 0; lp2 < 4; ) { - k = *buf1++; - cur_lp = ((uint32 *)cur_frm_pos) + width_tbl[lp2 * 2]; - ref_lp = ((uint32 *)cur_frm_pos) + width_tbl[(lp2 * 2) - 1]; - lv1 = ref_lp[0]; - lv2 = ref_lp[1]; - if (lp2 == 0 && flag1 != 0) { -#if defined(SCUMM_BIG_ENDIAN) - lv1 = lv1 & 0xFF00FF00; - lv1 = (lv1 >> 8) | lv1; - lv2 = lv2 & 0xFF00FF00; - lv2 = (lv2 >> 8) | lv2; -#else - lv1 = lv1 & 0x00FF00FF; - lv1 = (lv1 << 8) | lv1; - lv2 = lv2 & 0x00FF00FF; - lv2 = (lv2 << 8) | lv2; -#endif - } - - switch (correction_type_sp[lp2 & 0x01][k]) { - case 0: - cur_lp[width_tbl[1]] = FROM_LE_32(((FROM_LE_32(lv1) >> 1) + correctionloworder_lp[lp2 & 0x01][k]) << 1); - cur_lp[width_tbl[1]+1] = FROM_LE_32(((FROM_LE_32(lv2) >> 1) + correctionhighorder_lp[lp2 & 0x01][k]) << 1); - if (lp2 > 0 || strip->ypos != 0 || flag1 == 0) { - cur_lp[0] = ((cur_lp[-width_tbl[1]] >> 1) + (cur_lp[width_tbl[1]] >> 1)) & 0xFEFEFEFE; - cur_lp[1] = ((cur_lp[-width_tbl[1]+1] >> 1) + (cur_lp[width_tbl[1]+1] >> 1)) & 0xFEFEFEFE; - } else { - cur_lp[0] = cur_lp[width_tbl[1]]; - cur_lp[1] = cur_lp[width_tbl[1]+1]; - } - lp2++; - break; - - case 1: - if (correction_type_sp[lp2 & 0x01][*buf1] != 1) { - //See the mode 0/1 - //warning("Glitch"); - return; - } - cur_lp[width_tbl[1]] = FROM_LE_32(((FROM_LE_32(lv1) >> 1) + correctionloworder_lp[lp2 & 0x01][*buf1]) << 1); - cur_lp[width_tbl[1]+1] = FROM_LE_32(((FROM_LE_32(lv2) >> 1) + correctionloworder_lp[lp2 & 0x01][k]) << 1); - if (lp2 > 0 || strip->ypos != 0 || flag1 == 0) { - cur_lp[0] = ((cur_lp[-width_tbl[1]] >> 1) + (cur_lp[width_tbl[1]] >> 1)) & 0xFEFEFEFE; - cur_lp[1] = ((cur_lp[-width_tbl[1]+1] >> 1) + (cur_lp[width_tbl[1]+1] >> 1)) & 0xFEFEFEFE; - } else { - cur_lp[0] = cur_lp[width_tbl[1]]; - cur_lp[1] = cur_lp[width_tbl[1]+1]; - } - buf1++; - lp2++; - break; - - case 2: - if (lp2 == 0) { - if (flag1 != 0) { - for (i = 0, j = width_tbl[1]; i < 3; i++, j += width_tbl[1]) { - cur_lp[j] = lv1; - cur_lp[j+1] = lv2; - } - cur_lp[0] = ((cur_lp[-width_tbl[1]] >> 1) + (cur_lp[width_tbl[1]] >> 1)) & 0xFEFEFEFE; - cur_lp[1] = ((cur_lp[-width_tbl[1]+1] >> 1) + (cur_lp[width_tbl[1]+1] >> 1)) & 0xFEFEFEFE; - } else { - for (i = 0, j = 0; i < 4; i++, j += width_tbl[1]) { - cur_lp[j] = lv1; - cur_lp[j+1] = lv2; - } - } - lp2 += 2; - } - break; - - case 3: - if (lp2 < 2) { - if (lp2 == 0 && flag1 != 0) { - for (i = 0, j = width_tbl[1]; i < 5; i++, j += width_tbl[1]) { - cur_lp[j] = lv1; - cur_lp[j+1] = lv2; - } - cur_lp[0] = ((cur_lp[-width_tbl[1]] >> 1) + (cur_lp[width_tbl[1]] >> 1)) & 0xFEFEFEFE; - cur_lp[1] = ((cur_lp[-width_tbl[1]+1] >> 1) + (cur_lp[width_tbl[1]+1] >> 1)) & 0xFEFEFEFE; - } else { - for (i = 0, j = 0; i < 6 - (lp2 * 2); i++, j += width_tbl[1]) { - cur_lp[j] = lv1; - cur_lp[j+1] = lv2; - } - } - lp2 = 3; - } - break; - - case 8: - if (lp2 == 0) { - RLE_V3_CHECK(buf1,rle_v1,rle_v2,rle_v3) - if (rle_v1 == 1) { - if (flag1 != 0) { - for (i = 0, j = width_tbl[1]; i < 7; i++, j += width_tbl[1]) { - cur_lp[j] = lv1; - cur_lp[j+1] = lv2; - } - cur_lp[0] = ((cur_lp[-width_tbl[1]] >> 1) + (cur_lp[width_tbl[1]] >> 1)) & 0xFEFEFEFE; - cur_lp[1] = ((cur_lp[-width_tbl[1]+1] >> 1) + (cur_lp[width_tbl[1]+1] >> 1)) & 0xFEFEFEFE; - } else { - for (i = 0, j = 0; i < 8; i++, j += width_tbl[1]) { - cur_lp[j] = lv1; - cur_lp[j+1] = lv2; - } - } - } - RLE_V2_CHECK(buf1,rle_v2, rle_v3,lp2) - break; - } else { - rle_v1 = 1; - rle_v2 = (*buf1) - 1; - } - case 5: - LP2_CHECK(buf1,rle_v3,lp2) - case 4: - if (lp2 == 0 && flag1 != 0) { - for (i = 0, j = width_tbl[1]; i < 7; i++, j += width_tbl[1]) { - cur_lp[j] = lv1; - cur_lp[j+1] = lv2; - } - cur_lp[0] = ((cur_lp[-width_tbl[1]] >> 1) + (cur_lp[width_tbl[1]] >> 1)) & 0xFEFEFEFE; - cur_lp[1] = ((cur_lp[-width_tbl[1]+1] >> 1) + (cur_lp[width_tbl[1]+1] >> 1)) & 0xFEFEFEFE; - } else { - for (i = 0, j = 0; i < 8 - (lp2 * 2); i++, j += width_tbl[1]) { - cur_lp[j] = lv1; - cur_lp[j+1] = lv2; - } - } - lp2 = 4; - break; - - case 6: - lp2 = 4; - break; - - case 7: - if (lp2 == 0) { - if (rle_v3 != 0) - rle_v3 = 0; - else { - buf1--; - rle_v3 = 1; - } - lp2 = 4; - } - break; - - case 9: - warning("Indeo3Decoder::decodeChunk: Untested (2)"); - lv1 = *buf1; - lv = (lv1 & 0x7F) << 1; - lv += (lv << 8); - lv += (lv << 16); - for (i = 0, j = 0; i < 8; i++, j += width_tbl[1]) - cur_lp[j] = lv; - LV1_CHECK(buf1,rle_v3,lv1,lp2) - break; - - default: - return; - } - } - - cur_frm_pos += 8; - } - - cur_frm_pos += (((width * 2) - blks_width) * 4); - flag1 = 0; - } - } else { - for ( ; blks_height > 0; blks_height -= 8) { - for (lp1 = 0; lp1 < blks_width; lp1 += 2) { - for (lp2 = 0; lp2 < 4; ) { - k = *buf1++; - cur_lp = ((uint32 *)cur_frm_pos) + width_tbl[lp2 * 2]; - ref_lp = ((uint32 *)ref_frm_pos) + width_tbl[lp2 * 2]; - - switch (correction_type_sp[lp2 & 0x01][k]) { - case 0: - lv1 = correctionloworder_lp[lp2 & 0x01][k]; - lv2 = correctionhighorder_lp[lp2 & 0x01][k]; - cur_lp[0] = FROM_LE_32(((FROM_LE_32(ref_lp[0]) >> 1) + lv1) << 1); - cur_lp[1] = FROM_LE_32(((FROM_LE_32(ref_lp[1]) >> 1) + lv2) << 1); - cur_lp[width_tbl[1]] = FROM_LE_32(((FROM_LE_32(ref_lp[width_tbl[1]]) >> 1) + lv1) << 1); - cur_lp[width_tbl[1]+1] = FROM_LE_32(((FROM_LE_32(ref_lp[width_tbl[1]+1]) >> 1) + lv2) << 1); - lp2++; - break; - - case 1: - lv1 = correctionloworder_lp[lp2 & 0x01][*buf1++]; - lv2 = correctionloworder_lp[lp2 & 0x01][k]; - cur_lp[0] = FROM_LE_32(((FROM_LE_32(ref_lp[0]) >> 1) + lv1) << 1); - cur_lp[1] = FROM_LE_32(((FROM_LE_32(ref_lp[1]) >> 1) + lv2) << 1); - cur_lp[width_tbl[1]] = FROM_LE_32(((FROM_LE_32(ref_lp[width_tbl[1]]) >> 1) + lv1) << 1); - cur_lp[width_tbl[1]+1] = FROM_LE_32(((FROM_LE_32(ref_lp[width_tbl[1]+1]) >> 1) + lv2) << 1); - lp2++; - break; - - case 2: - if (lp2 == 0) { - for (i = 0, j = 0; i < 4; i++, j += width_tbl[1]) { - cur_lp[j] = ref_lp[j]; - cur_lp[j+1] = ref_lp[j+1]; - } - lp2 += 2; - } - break; - - case 3: - if (lp2 < 2) { - for (i = 0, j = 0; i < 6 - (lp2 * 2); i++, j += width_tbl[1]) { - cur_lp[j] = ref_lp[j]; - cur_lp[j+1] = ref_lp[j+1]; - } - lp2 = 3; - } - break; - - case 8: - if (lp2 == 0) { - RLE_V3_CHECK(buf1,rle_v1,rle_v2,rle_v3) - for (i = 0, j = 0; i < 8; i++, j += width_tbl[1]) { - ((uint32 *)cur_frm_pos)[j] = ((uint32 *)ref_frm_pos)[j]; - ((uint32 *)cur_frm_pos)[j+1] = ((uint32 *)ref_frm_pos)[j+1]; - } - RLE_V2_CHECK(buf1,rle_v2, rle_v3,lp2) - break; - } else { - rle_v1 = 1; - rle_v2 = (*buf1) - 1; - } - case 5: - case 7: - LP2_CHECK(buf1,rle_v3,lp2) - case 6: - case 4: - for (i = 0, j = 0; i < 8 - (lp2 * 2); i++, j += width_tbl[1]) { - cur_lp[j] = ref_lp[j]; - cur_lp[j+1] = ref_lp[j+1]; - } - lp2 = 4; - break; - - case 9: - warning("Indeo3Decoder::decodeChunk: Untested (3)"); - lv1 = *buf1; - lv = (lv1 & 0x7F) << 1; - lv += (lv << 8); - lv += (lv << 16); - for (i = 0, j = 0; i < 8; i++, j += width_tbl[1]) - ((uint32 *)cur_frm_pos)[j] = ((uint32 *)cur_frm_pos)[j+1] = lv; - LV1_CHECK(buf1,rle_v3,lv1,lp2) - break; - - default: - return; - } - } - - cur_frm_pos += 8; - ref_frm_pos += 8; - } - - cur_frm_pos += (((width * 2) - blks_width) * 4); - ref_frm_pos += (((width * 2) - blks_width) * 4); - } - } - break; - - case 11: /********** CASE 11 **********/ - if (ref_vectors == NULL) - return; - - for ( ; blks_height > 0; blks_height -= 8) { - for (lp1 = 0; lp1 < blks_width; lp1++) { - for (lp2 = 0; lp2 < 4; ) { - k = *buf1++; - cur_lp = ((uint32 *)cur_frm_pos) + width_tbl[lp2 * 2]; - ref_lp = ((uint32 *)ref_frm_pos) + width_tbl[lp2 * 2]; - - switch (correction_type_sp[lp2 & 0x01][k]) { - case 0: - cur_lp[0] = FROM_LE_32(((FROM_LE_32(*ref_lp) >> 1) + correction_lp[lp2 & 0x01][k]) << 1); - cur_lp[width_tbl[1]] = FROM_LE_32(((FROM_LE_32(ref_lp[width_tbl[1]]) >> 1) + correction_lp[lp2 & 0x01][k]) << 1); - lp2++; - break; - - case 1: - if (correction_type_sp[lp2 & 0x01][*buf1] != 1) { - // See mode 0/1 - //warning("Glitch"); - return; - } - - lv1 = (uint16)(correction_lp[lp2 & 0x01][*buf1++]); - lv2 = (uint16)(correction_lp[lp2 & 0x01][k]); - res = (uint16)(((FROM_LE_16(((uint16 *)ref_lp)[0]) >> 1) + lv1) << 1); - ((uint16 *)cur_lp)[0] = FROM_LE_16(res); - res = (uint16)(((FROM_LE_16(((uint16 *)ref_lp)[1]) >> 1) + lv2) << 1); - ((uint16 *)cur_lp)[1] = FROM_LE_16(res); - res = (uint16)(((FROM_LE_16(((uint16 *)ref_lp)[width_tbl[2]]) >> 1) + lv1) << 1); - ((uint16 *)cur_lp)[width_tbl[2]] = FROM_LE_16(res); - res = (uint16)(((FROM_LE_16(((uint16 *)ref_lp)[width_tbl[2]+1]) >> 1) + lv2) << 1); - ((uint16 *)cur_lp)[width_tbl[2]+1] = FROM_LE_16(res); - lp2++; - break; - - case 2: - if (lp2 == 0) { - for (i = 0, j = 0; i < 4; i++, j += width_tbl[1]) - cur_lp[j] = ref_lp[j]; - lp2 += 2; - } - break; - - case 3: - if (lp2 < 2) { - for (i = 0, j = 0; i < 6 - (lp2 * 2); i++, j += width_tbl[1]) - cur_lp[j] = ref_lp[j]; - lp2 = 3; - } - break; - - case 8: - if (lp2 == 0) { - RLE_V3_CHECK(buf1,rle_v1,rle_v2,rle_v3) - - for (i = 0, j = 0; i < 8; i++, j += width_tbl[1]) - cur_lp[j] = ref_lp[j]; - - RLE_V2_CHECK(buf1,rle_v2, rle_v3,lp2) - break; - } else { - rle_v1 = 1; - rle_v2 = (*buf1) - 1; - } - case 5: - case 7: - LP2_CHECK(buf1,rle_v3,lp2) - case 4: - case 6: - for (i = 0, j = 0; i < 8 - (lp2 * 2); i++, j += width_tbl[1]) - cur_lp[j] = ref_lp[j]; - lp2 = 4; - break; - - case 9: - warning("Indeo3Decoder::decodeChunk: Untested (4)"); - lv1 = *buf1++; - lv = (lv1 & 0x7F) << 1; - lv += (lv << 8); - lv += (lv << 16); - for (i = 0, j = 0; i < 4; i++, j += width_tbl[1]) - cur_lp[j] = lv; - LV1_CHECK(buf1,rle_v3,lv1,lp2) - break; - - default: - return; - } - } - - cur_frm_pos += 4; - ref_frm_pos += 4; - } - - cur_frm_pos += (((width * 2) - blks_width) * 4); - ref_frm_pos += (((width * 2) - blks_width) * 4); - } - break; - - default: - // FIXME: I've seen case 13 happen in Urban - // Runner. Perhaps it uses a more recent form of - // Indeo 3? There appears to have been several. - // -> This should not happen anymore with the other skipping for bad data. - warning("Indeo3Decoder::decodeChunk: Unknown case %d", k); - return; - } - } - - if (strip < strip_tbl) - return; - - for ( ; strip >= strip_tbl; strip--) { - if (strip->split_flag != 0) { - strip->split_flag = 0; - strip->usl7 = (strip-1)->usl7; - - if (strip->split_direction) { - strip->xpos += strip->width; - strip->width = (strip-1)->width - strip->width; - if (region_160_width <= strip->xpos && width < strip->width + strip->xpos) - strip->width = width - strip->xpos; - } else { - strip->ypos += strip->height; - strip->height = (strip-1)->height - strip->height; - } - break; - } - } - } -} - -// static data - -const int Indeo3Decoder::_corrector_type_0[24] = { - 195, 159, 133, 115, 101, 93, 87, 77, - 195, 159, 133, 115, 101, 93, 87, 77, - 128, 79, 79, 79, 79, 79, 79, 79 -}; - -const int Indeo3Decoder::_corrector_type_2[8] = { 9, 7, 6, 8, 5, 4, 3, 2 }; - -const uint32 Indeo3Decoder::correction[] = { - 0x00000000, 0x00000202, 0xfffffdfe, 0x000002ff, 0xfffffd01, 0xffffff03, 0x000000fd, 0x00000404, - 0xfffffbfc, 0x00000501, 0xfffffaff, 0x00000105, 0xfffffefb, 0x000003fc, 0xfffffc04, 0x000005fe, - 0xfffffa02, 0xfffffe06, 0x000001fa, 0x00000904, 0xfffff6fc, 0x00000409, 0xfffffbf7, 0x00000909, - 0xfffff6f7, 0x00000a01, 0xfffff5ff, 0x0000010a, 0xfffffef6, 0x000007fb, 0xfffff805, 0xfffffb08, - 0x000004f8, 0x00000f09, 0xfffff0f7, 0x0000090f, 0xfffff6f1, 0x00000bfd, 0xfffff403, 0xfffffd0c, - 0x000002f4, 0x00001004, 0xffffeffc, 0x00000410, 0xfffffbf0, 0x00001010, 0xffffeff0, 0x00001200, - 0xffffee00, 0x00000012, 0xffffffee, 0x00000bf4, 0xfffff40c, 0x00000ff7, 0xfffff009, 0xfffff710, - 0x000008f0, 0x00001b0b, 0xffffe4f5, 0x00000b1b, 0xfffff4e5, 0x00001c13, 0xffffe3ed, 0x0000131c, - 0xffffece4, 0x000015fa, 0xffffea06, 0xfffffa16, 0x000005ea, 0x00001d04, 0xffffe2fc, 0x0000041d, - 0xfffffbe3, 0x00001e1e, 0xffffe1e2, 0x000020fe, 0xffffdf02, 0xfffffe21, 0x000001df, 0x000016ee, - 0xffffe912, 0xffffee17, 0x000011e9, 0x00001df1, 0xffffe20f, 0xfffff11e, 0x00000ee2, 0x00002e16, - 0xffffd1ea, 0x0000162e, 0xffffe9d2, 0x00002f0d, 0xffffd0f3, 0x00000d2f, 0xfffff2d1, 0x00003123, - 0xffffcedd, 0x00002331, 0xffffdccf, 0x000028f5, 0xffffd70b, 0xfffff529, 0x00000ad7, 0x00003304, - 0xffffccfc, 0x00000433, 0xfffffbcd, 0x00003636, 0xffffc9ca, 0x000021de, 0xffffde22, 0x000029e3, - 0xffffd61d, 0xffffe32a, 0x00001cd6, 0x00003bfa, 0xffffc406, 0xfffffa3c, 0x000005c4, 0x00004c1b, - 0xffffb3e5, 0x00001b4c, 0xffffe4b4, 0x00004d2b, 0xffffb2d5, 0x00002b4d, 0xffffd4b3, 0x000036e8, - 0xffffc918, 0xffffe837, 0x000017c9, 0x00004f0e, 0xffffb0f2, 0x00000e4f, 0xfffff1b1, 0x0000533f, - 0xffffacc1, 0x00003f53, 0xffffc0ad, 0x000049ec, 0xffffb614, 0xffffec4a, 0x000013b6, 0x00005802, - 0xffffa7fe, 0x00000258, 0xfffffda8, 0x00005d5d, 0xffffa2a3, 0x00003ccc, 0xffffc334, 0xffffcc3d, - 0x000033c3, 0x00007834, 0xffff87cc, 0x00003478, 0xffffcb88, 0x00004ad3, 0xffffb52d, 0xffffd34b, - 0x00002cb5, 0x00007d4b, 0xffff82b5, 0x00004b7d, 0xffffb483, 0x00007a21, 0xffff85df, 0x0000217a, - 0xffffde86, 0x000066f3, 0xffff990d, 0xfffff367, 0x00000c99, 0x00005fd8, 0xffffa028, 0xffffd860, - 0x000027a0, 0x00007ede, 0xffff8122, 0xffffde7f, 0x00002181, 0x000058a7, 0xffffa759, 0x000068b2, - 0xffff974e, 0xffffb269, 0x00004d97, 0x00000c0c, 0xfffff3f4, 0x00001717, 0xffffe8e9, 0x00002a2a, - 0xffffd5d6, 0x00004949, 0xffffb6b7, 0x00000000, 0x02020000, 0xfdfe0000, 0x02ff0000, 0xfd010000, - 0xff030000, 0x00fd0000, 0x00000202, 0x02020202, 0xfdfe0202, 0x02ff0202, 0xfd010202, 0xff030202, - 0x00fd0202, 0xfffffdfe, 0x0201fdfe, 0xfdfdfdfe, 0x02fefdfe, 0xfd00fdfe, 0xff02fdfe, 0x00fcfdfe, - 0x000002ff, 0x020202ff, 0xfdfe02ff, 0x02ff02ff, 0xfd0102ff, 0xff0302ff, 0x00fd02ff, 0xfffffd01, - 0x0201fd01, 0xfdfdfd01, 0x02fefd01, 0xfd00fd01, 0xff02fd01, 0x00fcfd01, 0xffffff03, 0x0201ff03, - 0xfdfdff03, 0x02feff03, 0xfd00ff03, 0xff02ff03, 0x00fcff03, 0x000000fd, 0x020200fd, 0xfdfe00fd, - 0x02ff00fd, 0xfd0100fd, 0xff0300fd, 0x00fd00fd, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000303, 0xfffffcfd, 0x000003ff, 0xfffffc01, 0xffffff04, 0x000000fc, 0x00000707, - 0xfffff8f9, 0x00000802, 0xfffff7fe, 0x00000208, 0xfffffdf8, 0x000008fe, 0xfffff702, 0xfffffe09, - 0x000001f7, 0x000005fa, 0xfffffa06, 0x00000d06, 0xfffff2fa, 0x0000060d, 0xfffff9f3, 0x00000d0d, - 0xfffff2f3, 0x00000e01, 0xfffff1ff, 0x0000010e, 0xfffffef2, 0x00000bf8, 0xfffff408, 0xfffff80c, - 0x000007f4, 0x0000170e, 0xffffe8f2, 0x00000e17, 0xfffff1e9, 0x000011fb, 0xffffee05, 0xfffffb12, - 0x000004ee, 0x00001806, 0xffffe7fa, 0x00000618, 0xfffff9e8, 0x00001818, 0xffffe7e8, 0x00001aff, - 0xffffe501, 0xffffff1b, 0x000000e5, 0x000010ef, 0xffffef11, 0x000016f3, 0xffffe90d, 0xfffff317, - 0x00000ce9, 0x00002810, 0xffffd7f0, 0x00001028, 0xffffefd8, 0x0000291c, 0xffffd6e4, 0x00001c29, - 0xffffe3d7, 0x000020f7, 0xffffdf09, 0xfffff721, 0x000008df, 0x00002b06, 0xffffd4fa, 0x0000062b, - 0xfffff9d5, 0x00002e2e, 0xffffd1d2, 0x000031fc, 0xffffce04, 0xfffffc32, 0x000003ce, 0x000021e5, - 0xffffde1b, 0xffffe522, 0x00001ade, 0x00002cea, 0xffffd316, 0xffffea2d, 0x000015d3, 0x00004522, - 0xffffbade, 0x00002245, 0xffffddbb, 0x00004613, 0xffffb9ed, 0x00001346, 0xffffecba, 0x00004935, - 0xffffb6cb, 0x00003549, 0xffffcab7, 0x00003def, 0xffffc211, 0xffffef3e, 0x000010c2, 0x00004d05, - 0xffffb2fb, 0x0000054d, 0xfffffab3, 0x00005252, 0xffffadae, 0x000032cd, 0xffffcd33, 0x00003fd5, - 0xffffc02b, 0xffffd540, 0x00002ac0, 0x000059f6, 0xffffa60a, 0xfffff65a, 0x000009a6, 0x00007229, - 0xffff8dd7, 0x00002972, 0xffffd68e, 0x00007440, 0xffff8bc0, 0x00004074, 0xffffbf8c, 0x000051db, - 0xffffae25, 0xffffdb52, 0x000024ae, 0x00007716, 0xffff88ea, 0x00001677, 0xffffe989, 0x00007c5f, - 0xffff83a1, 0x00005f7c, 0xffffa084, 0x00006ee2, 0xffff911e, 0xffffe26f, 0x00001d91, 0x00005bb2, - 0xffffa44e, 0xffffb25c, 0x00004da4, 0x000070bc, 0xffff8f44, 0xffffbc71, 0x0000438f, 0x00001212, - 0xffffedee, 0x00002222, 0xffffddde, 0x00003f3f, 0xffffc0c1, 0x00006d6d, 0xffff9293, 0x00000000, - 0x03030000, 0xfcfd0000, 0x03ff0000, 0xfc010000, 0xff040000, 0x00fc0000, 0x07070000, 0xf8f90000, - 0x00000303, 0x03030303, 0xfcfd0303, 0x03ff0303, 0xfc010303, 0xff040303, 0x00fc0303, 0x07070303, - 0xf8f90303, 0xfffffcfd, 0x0302fcfd, 0xfcfcfcfd, 0x03fefcfd, 0xfc00fcfd, 0xff03fcfd, 0x00fbfcfd, - 0x0706fcfd, 0xf8f8fcfd, 0x000003ff, 0x030303ff, 0xfcfd03ff, 0x03ff03ff, 0xfc0103ff, 0xff0403ff, - 0x00fc03ff, 0x070703ff, 0xf8f903ff, 0xfffffc01, 0x0302fc01, 0xfcfcfc01, 0x03fefc01, 0xfc00fc01, - 0xff03fc01, 0x00fbfc01, 0x0706fc01, 0xf8f8fc01, 0xffffff04, 0x0302ff04, 0xfcfcff04, 0x03feff04, - 0xfc00ff04, 0xff03ff04, 0x00fbff04, 0x0706ff04, 0xf8f8ff04, 0x000000fc, 0x030300fc, 0xfcfd00fc, - 0x03ff00fc, 0xfc0100fc, 0xff0400fc, 0x00fc00fc, 0x070700fc, 0xf8f900fc, 0x00000707, 0x03030707, - 0xfcfd0707, 0x03ff0707, 0xfc010707, 0xff040707, 0x00fc0707, 0x07070707, 0xf8f90707, 0xfffff8f9, - 0x0302f8f9, 0xfcfcf8f9, 0x03fef8f9, 0xfc00f8f9, 0xff03f8f9, 0x00fbf8f9, 0x0706f8f9, 0xf8f8f8f9, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000404, 0xfffffbfc, 0x000004ff, 0xfffffb01, 0xffffff05, 0x000000fb, 0x00000a03, - 0xfffff5fd, 0x0000030a, 0xfffffcf6, 0x00000909, 0xfffff6f7, 0x000006f9, 0xfffff907, 0x00000bfd, - 0xfffff403, 0xfffffd0c, 0x000002f4, 0x00001108, 0xffffeef8, 0x00000811, 0xfffff7ef, 0x00001111, - 0xffffeeef, 0x00001301, 0xffffecff, 0x00000113, 0xfffffeed, 0x00000ff5, 0xfffff00b, 0xfffff510, - 0x00000af0, 0x000016fa, 0xffffe906, 0xfffffa17, 0x000005e9, 0x00001f12, 0xffffe0ee, 0x0000121f, - 0xffffede1, 0x00002008, 0xffffdff8, 0x00000820, 0xfffff7e0, 0x00002121, 0xffffdedf, 0x000023ff, - 0xffffdc01, 0xffffff24, 0x000000dc, 0x000016e9, 0xffffe917, 0x00001eef, 0xffffe111, 0xffffef1f, - 0x000010e1, 0x00003615, 0xffffc9eb, 0x00001536, 0xffffeaca, 0x00003725, 0xffffc8db, 0x00002537, - 0xffffdac9, 0x00002bf4, 0xffffd40c, 0xfffff42c, 0x00000bd4, 0x00003908, 0xffffc6f8, 0x00000839, - 0xfffff7c7, 0x00003d3d, 0xffffc2c3, 0x000041fb, 0xffffbe05, 0xfffffb42, 0x000004be, 0x00002cdc, - 0xffffd324, 0xffffdc2d, 0x000023d3, 0x00003be3, 0xffffc41d, 0xffffe33c, 0x00001cc4, 0x00005c2d, - 0xffffa3d3, 0x00002d5c, 0xffffd2a4, 0x00005d19, 0xffffa2e7, 0x0000195d, 0xffffe6a3, 0x00006147, - 0xffff9eb9, 0x00004761, 0xffffb89f, 0x000052ea, 0xffffad16, 0xffffea53, 0x000015ad, 0x00006607, - 0xffff99f9, 0x00000766, 0xfffff89a, 0x00006d6d, 0xffff9293, 0x000043bc, 0xffffbc44, 0x000054c7, - 0xffffab39, 0xffffc755, 0x000038ab, 0x000077f3, 0xffff880d, 0xfffff378, 0x00000c88, 0x00006dcf, - 0xffff9231, 0xffffcf6e, 0x00003092, 0x00007a98, 0xffff8568, 0xffff987b, 0x00006785, 0x00001818, - 0xffffe7e8, 0x00002e2e, 0xffffd1d2, 0x00005454, 0xffffabac, 0x00000000, 0x04040000, 0xfbfc0000, - 0x04ff0000, 0xfb010000, 0xff050000, 0x00fb0000, 0x0a030000, 0xf5fd0000, 0x030a0000, 0x00000404, - 0x04040404, 0xfbfc0404, 0x04ff0404, 0xfb010404, 0xff050404, 0x00fb0404, 0x0a030404, 0xf5fd0404, - 0x030a0404, 0xfffffbfc, 0x0403fbfc, 0xfbfbfbfc, 0x04fefbfc, 0xfb00fbfc, 0xff04fbfc, 0x00fafbfc, - 0x0a02fbfc, 0xf5fcfbfc, 0x0309fbfc, 0x000004ff, 0x040404ff, 0xfbfc04ff, 0x04ff04ff, 0xfb0104ff, - 0xff0504ff, 0x00fb04ff, 0x0a0304ff, 0xf5fd04ff, 0x030a04ff, 0xfffffb01, 0x0403fb01, 0xfbfbfb01, - 0x04fefb01, 0xfb00fb01, 0xff04fb01, 0x00fafb01, 0x0a02fb01, 0xf5fcfb01, 0x0309fb01, 0xffffff05, - 0x0403ff05, 0xfbfbff05, 0x04feff05, 0xfb00ff05, 0xff04ff05, 0x00faff05, 0x0a02ff05, 0xf5fcff05, - 0x0309ff05, 0x000000fb, 0x040400fb, 0xfbfc00fb, 0x04ff00fb, 0xfb0100fb, 0xff0500fb, 0x00fb00fb, - 0x0a0300fb, 0xf5fd00fb, 0x030a00fb, 0x00000a03, 0x04040a03, 0xfbfc0a03, 0x04ff0a03, 0xfb010a03, - 0xff050a03, 0x00fb0a03, 0x0a030a03, 0xf5fd0a03, 0x030a0a03, 0xfffff5fd, 0x0403f5fd, 0xfbfbf5fd, - 0x04fef5fd, 0xfb00f5fd, 0xff04f5fd, 0x00faf5fd, 0x0a02f5fd, 0xf5fcf5fd, 0x0309f5fd, 0x0000030a, - 0x0404030a, 0xfbfc030a, 0x04ff030a, 0xfb01030a, 0xff05030a, 0x00fb030a, 0x0a03030a, 0xf5fd030a, - 0x030a030a, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000505, 0xfffffafb, 0x000006fe, 0xfffff902, 0xfffffe07, 0x000001f9, 0x00000b0b, - 0xfffff4f5, 0x00000d03, 0xfffff2fd, 0x0000030d, 0xfffffcf3, 0x000008f7, 0xfffff709, 0x00000efc, - 0xfffff104, 0xfffffc0f, 0x000003f1, 0x0000160b, 0xffffe9f5, 0x00000b16, 0xfffff4ea, 0x00001515, - 0xffffeaeb, 0x00001802, 0xffffe7fe, 0x00000218, 0xfffffde8, 0x000013f2, 0xffffec0e, 0xfffff214, - 0x00000dec, 0x00002617, 0xffffd9e9, 0x00001726, 0xffffe8da, 0x00001cf8, 0xffffe308, 0xfffff81d, - 0x000007e3, 0x0000270b, 0xffffd8f5, 0x00000b27, 0xfffff4d9, 0x00002929, 0xffffd6d7, 0x00002cff, - 0xffffd301, 0xffffff2d, 0x000000d3, 0x00001ce3, 0xffffe31d, 0x000026ea, 0xffffd916, 0xffffea27, - 0x000015d9, 0x0000431b, 0xffffbce5, 0x00001b43, 0xffffe4bd, 0x0000452f, 0xffffbad1, 0x00002f45, - 0xffffd0bb, 0x000037f1, 0xffffc80f, 0xfffff138, 0x00000ec8, 0x0000470b, 0xffffb8f5, 0x00000b47, - 0xfffff4b9, 0x00004c4c, 0xffffb3b4, 0x000052fa, 0xffffad06, 0xfffffa53, 0x000005ad, 0x000038d3, - 0xffffc72d, 0xffffd339, 0x00002cc7, 0x00004adc, 0xffffb524, 0xffffdc4b, 0x000023b5, 0x00007338, - 0xffff8cc8, 0x00003873, 0xffffc78d, 0x0000751f, 0xffff8ae1, 0x00001f75, 0xffffe08b, 0x00007a58, - 0xffff85a8, 0x0000587a, 0xffffa786, 0x000067e4, 0xffff981c, 0xffffe468, 0x00001b98, 0x000054ab, - 0xffffab55, 0x000069b8, 0xffff9648, 0xffffb86a, 0x00004796, 0x00001e1e, 0xffffe1e2, 0x00003a3a, - 0xffffc5c6, 0x00006969, 0xffff9697, 0x00000000, 0x05050000, 0xfafb0000, 0x06fe0000, 0xf9020000, - 0xfe070000, 0x01f90000, 0x0b0b0000, 0xf4f50000, 0x0d030000, 0xf2fd0000, 0x00000505, 0x05050505, - 0xfafb0505, 0x06fe0505, 0xf9020505, 0xfe070505, 0x01f90505, 0x0b0b0505, 0xf4f50505, 0x0d030505, - 0xf2fd0505, 0xfffffafb, 0x0504fafb, 0xfafafafb, 0x06fdfafb, 0xf901fafb, 0xfe06fafb, 0x01f8fafb, - 0x0b0afafb, 0xf4f4fafb, 0x0d02fafb, 0xf2fcfafb, 0x000006fe, 0x050506fe, 0xfafb06fe, 0x06fe06fe, - 0xf90206fe, 0xfe0706fe, 0x01f906fe, 0x0b0b06fe, 0xf4f506fe, 0x0d0306fe, 0xf2fd06fe, 0xfffff902, - 0x0504f902, 0xfafaf902, 0x06fdf902, 0xf901f902, 0xfe06f902, 0x01f8f902, 0x0b0af902, 0xf4f4f902, - 0x0d02f902, 0xf2fcf902, 0xfffffe07, 0x0504fe07, 0xfafafe07, 0x06fdfe07, 0xf901fe07, 0xfe06fe07, - 0x01f8fe07, 0x0b0afe07, 0xf4f4fe07, 0x0d02fe07, 0xf2fcfe07, 0x000001f9, 0x050501f9, 0xfafb01f9, - 0x06fe01f9, 0xf90201f9, 0xfe0701f9, 0x01f901f9, 0x0b0b01f9, 0xf4f501f9, 0x0d0301f9, 0xf2fd01f9, - 0x00000b0b, 0x05050b0b, 0xfafb0b0b, 0x06fe0b0b, 0xf9020b0b, 0xfe070b0b, 0x01f90b0b, 0x0b0b0b0b, - 0xf4f50b0b, 0x0d030b0b, 0xf2fd0b0b, 0xfffff4f5, 0x0504f4f5, 0xfafaf4f5, 0x06fdf4f5, 0xf901f4f5, - 0xfe06f4f5, 0x01f8f4f5, 0x0b0af4f5, 0xf4f4f4f5, 0x0d02f4f5, 0xf2fcf4f5, 0x00000d03, 0x05050d03, - 0xfafb0d03, 0x06fe0d03, 0xf9020d03, 0xfe070d03, 0x01f90d03, 0x0b0b0d03, 0xf4f50d03, 0x0d030d03, - 0xf2fd0d03, 0xfffff2fd, 0x0504f2fd, 0xfafaf2fd, 0x06fdf2fd, 0xf901f2fd, 0xfe06f2fd, 0x01f8f2fd, - 0x0b0af2fd, 0xf4f4f2fd, 0x0d02f2fd, 0xf2fcf2fd, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000606, 0xfffff9fa, 0x000007fe, 0xfffff802, 0xfffffe08, 0x000001f8, 0x00000d0d, - 0xfffff2f3, 0x00000f04, 0xfffff0fc, 0x0000040f, 0xfffffbf1, 0x00000af5, 0xfffff50b, 0x000011fb, - 0xffffee05, 0xfffffb12, 0x000004ee, 0x00001a0d, 0xffffe5f3, 0x00000d1a, 0xfffff2e6, 0x00001a1a, - 0xffffe5e6, 0x00001d02, 0xffffe2fe, 0x0000021d, 0xfffffde3, 0x000017f0, 0xffffe810, 0xfffff018, - 0x00000fe8, 0x00002e1c, 0xffffd1e4, 0x00001c2e, 0xffffe3d2, 0x000022f7, 0xffffdd09, 0xfffff723, - 0x000008dd, 0x00002f0d, 0xffffd0f3, 0x00000d2f, 0xfffff2d1, 0x00003131, 0xffffcecf, 0x000035ff, - 0xffffca01, 0xffffff36, 0x000000ca, 0x000022dd, 0xffffdd23, 0x00002ee6, 0xffffd11a, 0xffffe62f, - 0x000019d1, 0x00005120, 0xffffaee0, 0x00002051, 0xffffdfaf, 0x00005338, 0xffffacc8, 0x00003853, - 0xffffc7ad, 0x000042ee, 0xffffbd12, 0xffffee43, 0x000011bd, 0x0000560d, 0xffffa9f3, 0x00000d56, - 0xfffff2aa, 0x00005b5b, 0xffffa4a5, 0x000062f9, 0xffff9d07, 0xfffff963, 0x0000069d, 0x000043ca, - 0xffffbc36, 0xffffca44, 0x000035bc, 0x000059d4, 0xffffa62c, 0xffffd45a, 0x00002ba6, 0x00007bdf, - 0xffff8421, 0xffffdf7c, 0x00002084, 0x00006699, 0xffff9967, 0x00007eaa, 0xffff8156, 0xffffaa7f, - 0x00005581, 0x00002525, 0xffffdadb, 0x00004545, 0xffffbabb, 0x00000000, 0x06060000, 0xf9fa0000, - 0x07fe0000, 0xf8020000, 0xfe080000, 0x01f80000, 0x0d0d0000, 0xf2f30000, 0x0f040000, 0xf0fc0000, - 0x040f0000, 0x00000606, 0x06060606, 0xf9fa0606, 0x07fe0606, 0xf8020606, 0xfe080606, 0x01f80606, - 0x0d0d0606, 0xf2f30606, 0x0f040606, 0xf0fc0606, 0x040f0606, 0xfffff9fa, 0x0605f9fa, 0xf9f9f9fa, - 0x07fdf9fa, 0xf801f9fa, 0xfe07f9fa, 0x01f7f9fa, 0x0d0cf9fa, 0xf2f2f9fa, 0x0f03f9fa, 0xf0fbf9fa, - 0x040ef9fa, 0x000007fe, 0x060607fe, 0xf9fa07fe, 0x07fe07fe, 0xf80207fe, 0xfe0807fe, 0x01f807fe, - 0x0d0d07fe, 0xf2f307fe, 0x0f0407fe, 0xf0fc07fe, 0x040f07fe, 0xfffff802, 0x0605f802, 0xf9f9f802, - 0x07fdf802, 0xf801f802, 0xfe07f802, 0x01f7f802, 0x0d0cf802, 0xf2f2f802, 0x0f03f802, 0xf0fbf802, - 0x040ef802, 0xfffffe08, 0x0605fe08, 0xf9f9fe08, 0x07fdfe08, 0xf801fe08, 0xfe07fe08, 0x01f7fe08, - 0x0d0cfe08, 0xf2f2fe08, 0x0f03fe08, 0xf0fbfe08, 0x040efe08, 0x000001f8, 0x060601f8, 0xf9fa01f8, - 0x07fe01f8, 0xf80201f8, 0xfe0801f8, 0x01f801f8, 0x0d0d01f8, 0xf2f301f8, 0x0f0401f8, 0xf0fc01f8, - 0x040f01f8, 0x00000d0d, 0x06060d0d, 0xf9fa0d0d, 0x07fe0d0d, 0xf8020d0d, 0xfe080d0d, 0x01f80d0d, - 0x0d0d0d0d, 0xf2f30d0d, 0x0f040d0d, 0xf0fc0d0d, 0x040f0d0d, 0xfffff2f3, 0x0605f2f3, 0xf9f9f2f3, - 0x07fdf2f3, 0xf801f2f3, 0xfe07f2f3, 0x01f7f2f3, 0x0d0cf2f3, 0xf2f2f2f3, 0x0f03f2f3, 0xf0fbf2f3, - 0x040ef2f3, 0x00000f04, 0x06060f04, 0xf9fa0f04, 0x07fe0f04, 0xf8020f04, 0xfe080f04, 0x01f80f04, - 0x0d0d0f04, 0xf2f30f04, 0x0f040f04, 0xf0fc0f04, 0x040f0f04, 0xfffff0fc, 0x0605f0fc, 0xf9f9f0fc, - 0x07fdf0fc, 0xf801f0fc, 0xfe07f0fc, 0x01f7f0fc, 0x0d0cf0fc, 0xf2f2f0fc, 0x0f03f0fc, 0xf0fbf0fc, - 0x040ef0fc, 0x0000040f, 0x0606040f, 0xf9fa040f, 0x07fe040f, 0xf802040f, 0xfe08040f, 0x01f8040f, - 0x0d0d040f, 0xf2f3040f, 0x0f04040f, 0xf0fc040f, 0x040f040f, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000707, 0xfffff8f9, 0x000009fd, 0xfffff603, 0xfffffd0a, 0x000002f6, 0x00001010, - 0xffffeff0, 0x00001205, 0xffffedfb, 0x00000512, 0xfffffaee, 0x00000cf3, 0xfffff30d, 0x000014fa, - 0xffffeb06, 0xfffffa15, 0x000005eb, 0x00001e0f, 0xffffe1f1, 0x00000f1e, 0xfffff0e2, 0x00001e1e, - 0xffffe1e2, 0x00002202, 0xffffddfe, 0x00000222, 0xfffffdde, 0x00001bed, 0xffffe413, 0xffffed1c, - 0x000012e4, 0x00003620, 0xffffc9e0, 0x00002036, 0xffffdfca, 0x000028f5, 0xffffd70b, 0xfffff529, - 0x00000ad7, 0x0000370f, 0xffffc8f1, 0x00000f37, 0xfffff0c9, 0x00003939, 0xffffc6c7, 0x00003eff, - 0xffffc101, 0xffffff3f, 0x000000c1, 0x000027d8, 0xffffd828, 0x000036e2, 0xffffc91e, 0xffffe237, - 0x00001dc9, 0x00005e25, 0xffffa1db, 0x0000255e, 0xffffdaa2, 0x00006041, 0xffff9fbf, 0x00004160, - 0xffffbea0, 0x00004deb, 0xffffb215, 0xffffeb4e, 0x000014b2, 0x0000640f, 0xffff9bf1, 0x00000f64, - 0xfffff09c, 0x00006a6a, 0xffff9596, 0x000073f8, 0xffff8c08, 0xfffff874, 0x0000078c, 0x00004ec1, - 0xffffb13f, 0xffffc14f, 0x00003eb1, 0x000068cd, 0xffff9733, 0xffffcd69, 0x00003297, 0x00007788, - 0xffff8878, 0x00002b2b, 0xffffd4d5, 0x00005050, 0xffffafb0, 0x00000000, 0x07070000, 0xf8f90000, - 0x09fd0000, 0xf6030000, 0xfd0a0000, 0x02f60000, 0x10100000, 0xeff00000, 0x12050000, 0xedfb0000, - 0x05120000, 0x00000707, 0x07070707, 0xf8f90707, 0x09fd0707, 0xf6030707, 0xfd0a0707, 0x02f60707, - 0x10100707, 0xeff00707, 0x12050707, 0xedfb0707, 0x05120707, 0xfffff8f9, 0x0706f8f9, 0xf8f8f8f9, - 0x09fcf8f9, 0xf602f8f9, 0xfd09f8f9, 0x02f5f8f9, 0x100ff8f9, 0xefeff8f9, 0x1204f8f9, 0xedfaf8f9, - 0x0511f8f9, 0x000009fd, 0x070709fd, 0xf8f909fd, 0x09fd09fd, 0xf60309fd, 0xfd0a09fd, 0x02f609fd, - 0x101009fd, 0xeff009fd, 0x120509fd, 0xedfb09fd, 0x051209fd, 0xfffff603, 0x0706f603, 0xf8f8f603, - 0x09fcf603, 0xf602f603, 0xfd09f603, 0x02f5f603, 0x100ff603, 0xefeff603, 0x1204f603, 0xedfaf603, - 0x0511f603, 0xfffffd0a, 0x0706fd0a, 0xf8f8fd0a, 0x09fcfd0a, 0xf602fd0a, 0xfd09fd0a, 0x02f5fd0a, - 0x100ffd0a, 0xefeffd0a, 0x1204fd0a, 0xedfafd0a, 0x0511fd0a, 0x000002f6, 0x070702f6, 0xf8f902f6, - 0x09fd02f6, 0xf60302f6, 0xfd0a02f6, 0x02f602f6, 0x101002f6, 0xeff002f6, 0x120502f6, 0xedfb02f6, - 0x051202f6, 0x00001010, 0x07071010, 0xf8f91010, 0x09fd1010, 0xf6031010, 0xfd0a1010, 0x02f61010, - 0x10101010, 0xeff01010, 0x12051010, 0xedfb1010, 0x05121010, 0xffffeff0, 0x0706eff0, 0xf8f8eff0, - 0x09fceff0, 0xf602eff0, 0xfd09eff0, 0x02f5eff0, 0x100feff0, 0xefefeff0, 0x1204eff0, 0xedfaeff0, - 0x0511eff0, 0x00001205, 0x07071205, 0xf8f91205, 0x09fd1205, 0xf6031205, 0xfd0a1205, 0x02f61205, - 0x10101205, 0xeff01205, 0x12051205, 0xedfb1205, 0x05121205, 0xffffedfb, 0x0706edfb, 0xf8f8edfb, - 0x09fcedfb, 0xf602edfb, 0xfd09edfb, 0x02f5edfb, 0x100fedfb, 0xefefedfb, 0x1204edfb, 0xedfaedfb, - 0x0511edfb, 0x00000512, 0x07070512, 0xf8f90512, 0x09fd0512, 0xf6030512, 0xfd0a0512, 0x02f60512, - 0x10100512, 0xeff00512, 0x12050512, 0xedfb0512, 0x05120512, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000808, 0xfffff7f8, 0x00000afd, 0xfffff503, 0xfffffd0b, 0x000002f5, 0x00001212, - 0xffffedee, 0x00001405, 0xffffebfb, 0x00000514, 0xfffffaec, 0x00000ef1, 0xfffff10f, 0x000017f9, - 0xffffe807, 0xfffff918, 0x000006e8, 0x00002311, 0xffffdcef, 0x00001123, 0xffffeedd, 0x00002222, - 0xffffddde, 0x00002603, 0xffffd9fd, 0x00000326, 0xfffffcda, 0x00001fea, 0xffffe016, 0xffffea20, - 0x000015e0, 0x00003d25, 0xffffc2db, 0x0000253d, 0xffffdac3, 0x00002ef3, 0xffffd10d, 0xfffff32f, - 0x00000cd1, 0x00003f11, 0xffffc0ef, 0x0000113f, 0xffffeec1, 0x00004141, 0xffffbebf, 0x000047ff, - 0xffffb801, 0xffffff48, 0x000000b8, 0x00002dd2, 0xffffd22e, 0x00003edd, 0xffffc123, 0xffffdd3f, - 0x000022c1, 0x00006b2b, 0xffff94d5, 0x00002b6b, 0xffffd495, 0x00006e4b, 0xffff91b5, 0x00004b6e, - 0xffffb492, 0x000058e8, 0xffffa718, 0xffffe859, 0x000017a7, 0x00007211, 0xffff8def, 0x00001172, - 0xffffee8e, 0x00007979, 0xffff8687, 0x00005ab8, 0xffffa548, 0xffffb85b, 0x000047a5, 0x000077c6, - 0xffff883a, 0xffffc678, 0x00003988, 0x00003131, 0xffffcecf, 0x00005c5c, 0xffffa3a4, 0x00000000, - 0x08080000, 0xf7f80000, 0x0afd0000, 0xf5030000, 0xfd0b0000, 0x02f50000, 0x12120000, 0xedee0000, - 0x14050000, 0xebfb0000, 0x05140000, 0x00000808, 0x08080808, 0xf7f80808, 0x0afd0808, 0xf5030808, - 0xfd0b0808, 0x02f50808, 0x12120808, 0xedee0808, 0x14050808, 0xebfb0808, 0x05140808, 0xfffff7f8, - 0x0807f7f8, 0xf7f7f7f8, 0x0afcf7f8, 0xf502f7f8, 0xfd0af7f8, 0x02f4f7f8, 0x1211f7f8, 0xededf7f8, - 0x1404f7f8, 0xebfaf7f8, 0x0513f7f8, 0x00000afd, 0x08080afd, 0xf7f80afd, 0x0afd0afd, 0xf5030afd, - 0xfd0b0afd, 0x02f50afd, 0x12120afd, 0xedee0afd, 0x14050afd, 0xebfb0afd, 0x05140afd, 0xfffff503, - 0x0807f503, 0xf7f7f503, 0x0afcf503, 0xf502f503, 0xfd0af503, 0x02f4f503, 0x1211f503, 0xededf503, - 0x1404f503, 0xebfaf503, 0x0513f503, 0xfffffd0b, 0x0807fd0b, 0xf7f7fd0b, 0x0afcfd0b, 0xf502fd0b, - 0xfd0afd0b, 0x02f4fd0b, 0x1211fd0b, 0xededfd0b, 0x1404fd0b, 0xebfafd0b, 0x0513fd0b, 0x000002f5, - 0x080802f5, 0xf7f802f5, 0x0afd02f5, 0xf50302f5, 0xfd0b02f5, 0x02f502f5, 0x121202f5, 0xedee02f5, - 0x140502f5, 0xebfb02f5, 0x051402f5, 0x00001212, 0x08081212, 0xf7f81212, 0x0afd1212, 0xf5031212, - 0xfd0b1212, 0x02f51212, 0x12121212, 0xedee1212, 0x14051212, 0xebfb1212, 0x05141212, 0xffffedee, - 0x0807edee, 0xf7f7edee, 0x0afcedee, 0xf502edee, 0xfd0aedee, 0x02f4edee, 0x1211edee, 0xedededee, - 0x1404edee, 0xebfaedee, 0x0513edee, 0x00001405, 0x08081405, 0xf7f81405, 0x0afd1405, 0xf5031405, - 0xfd0b1405, 0x02f51405, 0x12121405, 0xedee1405, 0x14051405, 0xebfb1405, 0x05141405, 0xffffebfb, - 0x0807ebfb, 0xf7f7ebfb, 0x0afcebfb, 0xf502ebfb, 0xfd0aebfb, 0x02f4ebfb, 0x1211ebfb, 0xededebfb, - 0x1404ebfb, 0xebfaebfb, 0x0513ebfb, 0x00000514, 0x08080514, 0xf7f80514, 0x0afd0514, 0xf5030514, - 0xfd0b0514, 0x02f50514, 0x12120514, 0xedee0514, 0x14050514, 0xebfb0514, 0x05140514, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000909, 0xfffff6f7, 0x00000bfd, 0xfffff403, 0xfffffd0c, 0x000002f4, 0x00001414, - 0xffffebec, 0x00001706, 0xffffe8fa, 0x00000617, 0xfffff9e9, 0x000010ef, 0xffffef11, 0x00001af9, - 0xffffe507, 0xfffff91b, 0x000006e5, 0x00002713, 0xffffd8ed, 0x00001327, 0xffffecd9, 0x00002727, - 0xffffd8d9, 0x00002b03, 0xffffd4fd, 0x0000032b, 0xfffffcd5, 0x000023e8, 0xffffdc18, 0xffffe824, - 0x000017dc, 0x0000452a, 0xffffbad6, 0x00002a45, 0xffffd5bb, 0x000034f2, 0xffffcb0e, 0xfffff235, - 0x00000dcb, 0x00004713, 0xffffb8ed, 0x00001347, 0xffffecb9, 0x00004949, 0xffffb6b7, 0x00004ffe, - 0xffffb002, 0xfffffe50, 0x000001b0, 0x000033cc, 0xffffcc34, 0x000045d9, 0xffffba27, 0xffffd946, - 0x000026ba, 0x00007930, 0xffff86d0, 0x00003079, 0xffffcf87, 0x00007c54, 0xffff83ac, 0x0000547c, - 0xffffab84, 0x000063e5, 0xffff9c1b, 0xffffe564, 0x00001a9c, 0x000065af, 0xffff9a51, 0xffffaf66, - 0x0000509a, 0x00003737, 0xffffc8c9, 0x00006868, 0xffff9798, 0x00000000, 0x09090000, 0xf6f70000, - 0x0bfd0000, 0xf4030000, 0xfd0c0000, 0x02f40000, 0x14140000, 0xebec0000, 0x17060000, 0xe8fa0000, - 0x06170000, 0xf9e90000, 0x00000909, 0x09090909, 0xf6f70909, 0x0bfd0909, 0xf4030909, 0xfd0c0909, - 0x02f40909, 0x14140909, 0xebec0909, 0x17060909, 0xe8fa0909, 0x06170909, 0xf9e90909, 0xfffff6f7, - 0x0908f6f7, 0xf6f6f6f7, 0x0bfcf6f7, 0xf402f6f7, 0xfd0bf6f7, 0x02f3f6f7, 0x1413f6f7, 0xebebf6f7, - 0x1705f6f7, 0xe8f9f6f7, 0x0616f6f7, 0xf9e8f6f7, 0x00000bfd, 0x09090bfd, 0xf6f70bfd, 0x0bfd0bfd, - 0xf4030bfd, 0xfd0c0bfd, 0x02f40bfd, 0x14140bfd, 0xebec0bfd, 0x17060bfd, 0xe8fa0bfd, 0x06170bfd, - 0xf9e90bfd, 0xfffff403, 0x0908f403, 0xf6f6f403, 0x0bfcf403, 0xf402f403, 0xfd0bf403, 0x02f3f403, - 0x1413f403, 0xebebf403, 0x1705f403, 0xe8f9f403, 0x0616f403, 0xf9e8f403, 0xfffffd0c, 0x0908fd0c, - 0xf6f6fd0c, 0x0bfcfd0c, 0xf402fd0c, 0xfd0bfd0c, 0x02f3fd0c, 0x1413fd0c, 0xebebfd0c, 0x1705fd0c, - 0xe8f9fd0c, 0x0616fd0c, 0xf9e8fd0c, 0x000002f4, 0x090902f4, 0xf6f702f4, 0x0bfd02f4, 0xf40302f4, - 0xfd0c02f4, 0x02f402f4, 0x141402f4, 0xebec02f4, 0x170602f4, 0xe8fa02f4, 0x061702f4, 0xf9e902f4, - 0x00001414, 0x09091414, 0xf6f71414, 0x0bfd1414, 0xf4031414, 0xfd0c1414, 0x02f41414, 0x14141414, - 0xebec1414, 0x17061414, 0xe8fa1414, 0x06171414, 0xf9e91414, 0xffffebec, 0x0908ebec, 0xf6f6ebec, - 0x0bfcebec, 0xf402ebec, 0xfd0bebec, 0x02f3ebec, 0x1413ebec, 0xebebebec, 0x1705ebec, 0xe8f9ebec, - 0x0616ebec, 0xf9e8ebec, 0x00001706, 0x09091706, 0xf6f71706, 0x0bfd1706, 0xf4031706, 0xfd0c1706, - 0x02f41706, 0x14141706, 0xebec1706, 0x17061706, 0xe8fa1706, 0x06171706, 0xf9e91706, 0xffffe8fa, - 0x0908e8fa, 0xf6f6e8fa, 0x0bfce8fa, 0xf402e8fa, 0xfd0be8fa, 0x02f3e8fa, 0x1413e8fa, 0xebebe8fa, - 0x1705e8fa, 0xe8f9e8fa, 0x0616e8fa, 0xf9e8e8fa, 0x00000617, 0x09090617, 0xf6f70617, 0x0bfd0617, - 0xf4030617, 0xfd0c0617, 0x02f40617, 0x14140617, 0xebec0617, 0x17060617, 0xe8fa0617, 0x06170617, - 0xf9e90617, 0xfffff9e9, 0x0908f9e9, 0xf6f6f9e9, 0x0bfcf9e9, 0xf402f9e9, 0xfd0bf9e9, 0x02f3f9e9, - 0x1413f9e9, 0xebebf9e9, 0x1705f9e9, 0xe8f9f9e9, 0x0616f9e9, 0xf9e8f9e9, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000202, 0xfffffdfe, 0x00000200, 0xfffffe00, 0x00000002, 0xfffffffe, 0x00000404, - 0xfffffbfc, 0x00000400, 0xfffffc00, 0x00000004, 0xfffffffc, 0x000003fc, 0xfffffc04, 0x000005fe, - 0xfffffa02, 0xfffffe06, 0x000001fa, 0x00000804, 0xfffff7fc, 0x00000408, 0xfffffbf8, 0x00000808, - 0xfffff7f8, 0x00000a00, 0xfffff600, 0x0000000a, 0xfffffff6, 0x000007fc, 0xfffff804, 0xfffffc08, - 0x000003f8, 0x00000e08, 0xfffff1f8, 0x0000080e, 0xfffff7f2, 0x00000bfe, 0xfffff402, 0xfffffe0c, - 0x000001f4, 0x00001004, 0xffffeffc, 0x00000410, 0xfffffbf0, 0x00001010, 0xffffeff0, 0x00001200, - 0xffffee00, 0x00000012, 0xffffffee, 0x00000bf4, 0xfffff40c, 0x00000ff8, 0xfffff008, 0xfffff810, - 0x000007f0, 0x00001a0a, 0xffffe5f6, 0x00000a1a, 0xfffff5e6, 0x00001c12, 0xffffe3ee, 0x0000121c, - 0xffffede4, 0x000015fa, 0xffffea06, 0xfffffa16, 0x000005ea, 0x00001c04, 0xffffe3fc, 0x0000041c, - 0xfffffbe4, 0x00001e1e, 0xffffe1e2, 0x00001ffe, 0xffffe002, 0xfffffe20, 0x000001e0, 0x000015ee, - 0xffffea12, 0xffffee16, 0x000011ea, 0x00001df2, 0xffffe20e, 0xfffff21e, 0x00000de2, 0x00002e16, - 0xffffd1ea, 0x0000162e, 0xffffe9d2, 0x00002e0c, 0xffffd1f4, 0x00000c2e, 0xfffff3d2, 0x00003022, - 0xffffcfde, 0x00002230, 0xffffddd0, 0x000027f6, 0xffffd80a, 0xfffff628, 0x000009d8, 0x00003204, - 0xffffcdfc, 0x00000432, 0xfffffbce, 0x00003636, 0xffffc9ca, 0x000021de, 0xffffde22, 0x000029e4, - 0xffffd61c, 0xffffe42a, 0x00001bd6, 0x00003bfa, 0xffffc406, 0xfffffa3c, 0x000005c4, 0x00004c1a, - 0xffffb3e6, 0x00001a4c, 0xffffe5b4, 0x00004c2a, 0xffffb3d6, 0x00002a4c, 0xffffd5b4, 0x000035e8, - 0xffffca18, 0xffffe836, 0x000017ca, 0x00004e0e, 0xffffb1f2, 0x00000e4e, 0xfffff1b2, 0x0000523e, - 0xffffadc2, 0x00003e52, 0xffffc1ae, 0x000049ec, 0xffffb614, 0xffffec4a, 0x000013b6, 0x00005802, - 0xffffa7fe, 0x00000258, 0xfffffda8, 0x00005c5c, 0xffffa3a4, 0x00003bcc, 0xffffc434, 0xffffcc3c, - 0x000033c4, 0x00007634, 0xffff89cc, 0x00003476, 0xffffcb8a, 0x000049d4, 0xffffb62c, 0xffffd44a, - 0x00002bb6, 0x0000764a, 0xffff89b6, 0x00004a76, 0xffffb58a, 0x00007620, 0xffff89e0, 0x00002076, - 0xffffdf8a, 0x000065f4, 0xffff9a0c, 0xfffff466, 0x00000b9a, 0x00005fd8, 0xffffa028, 0xffffd860, - 0x000027a0, 0x000075de, 0xffff8a22, 0xffffde76, 0x0000218a, 0x000057a8, 0xffffa858, 0x000067b2, - 0xffff984e, 0xffffb268, 0x00004d98, 0x00000c0c, 0xfffff3f4, 0x00001616, 0xffffe9ea, 0x00002a2a, - 0xffffd5d6, 0x00004848, 0xffffb7b8, 0x00000000, 0x02020000, 0xfdfe0000, 0x02000000, 0xfe000000, - 0x00020000, 0xfffe0000, 0x00000202, 0x02020202, 0xfdfe0202, 0x02000202, 0xfe000202, 0x00020202, - 0xfffe0202, 0xfffffdfe, 0x0201fdfe, 0xfdfdfdfe, 0x01fffdfe, 0xfdfffdfe, 0x0001fdfe, 0xfffdfdfe, - 0x00000200, 0x02020200, 0xfdfe0200, 0x02000200, 0xfe000200, 0x00020200, 0xfffe0200, 0xfffffe00, - 0x0201fe00, 0xfdfdfe00, 0x01fffe00, 0xfdfffe00, 0x0001fe00, 0xfffdfe00, 0x00000002, 0x02020002, - 0xfdfe0002, 0x02000002, 0xfe000002, 0x00020002, 0xfffe0002, 0xfffffffe, 0x0201fffe, 0xfdfdfffe, - 0x01fffffe, 0xfdfffffe, 0x0001fffe, 0xfffdfffe, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000303, 0xfffffcfd, 0x00000300, 0xfffffd00, 0x00000003, 0xfffffffd, 0x00000606, - 0xfffff9fa, 0x00000903, 0xfffff6fd, 0x00000309, 0xfffffcf7, 0x000008fd, 0xfffff703, 0xfffffd09, - 0x000002f7, 0x000005fa, 0xfffffa06, 0x00000c06, 0xfffff3fa, 0x0000060c, 0xfffff9f4, 0x00000c0c, - 0xfffff3f4, 0x00000f00, 0xfffff100, 0x0000000f, 0xfffffff1, 0x00000bf7, 0xfffff409, 0xfffff70c, - 0x000008f4, 0x0000180f, 0xffffe7f1, 0x00000f18, 0xfffff0e8, 0x000011fa, 0xffffee06, 0xfffffa12, - 0x000005ee, 0x00001806, 0xffffe7fa, 0x00000618, 0xfffff9e8, 0x00001818, 0xffffe7e8, 0x00001b00, - 0xffffe500, 0x0000001b, 0xffffffe5, 0x000011ee, 0xffffee12, 0x000017f4, 0xffffe80c, 0xfffff418, - 0x00000be8, 0x0000270f, 0xffffd8f1, 0x00000f27, 0xfffff0d9, 0x00002a1b, 0xffffd5e5, 0x00001b2a, - 0xffffe4d6, 0x000020f7, 0xffffdf09, 0xfffff721, 0x000008df, 0x00002a06, 0xffffd5fa, 0x0000062a, - 0xfffff9d6, 0x00002d2d, 0xffffd2d3, 0x000032fd, 0xffffcd03, 0xfffffd33, 0x000002cd, 0x000020e5, - 0xffffdf1b, 0xffffe521, 0x00001adf, 0x00002ceb, 0xffffd315, 0xffffeb2d, 0x000014d3, 0x00004521, - 0xffffbadf, 0x00002145, 0xffffdebb, 0x00004512, 0xffffbaee, 0x00001245, 0xffffedbb, 0x00004836, - 0xffffb7ca, 0x00003648, 0xffffc9b8, 0x00003eee, 0xffffc112, 0xffffee3f, 0x000011c1, 0x00004e06, - 0xffffb1fa, 0x0000064e, 0xfffff9b2, 0x00005151, 0xffffaeaf, 0x000032cd, 0xffffcd33, 0x00003ed6, - 0xffffc12a, 0xffffd63f, 0x000029c1, 0x000059f7, 0xffffa609, 0xfffff75a, 0x000008a6, 0x0000722a, - 0xffff8dd6, 0x00002a72, 0xffffd58e, 0x0000753f, 0xffff8ac1, 0x00003f75, 0xffffc08b, 0x000050dc, - 0xffffaf24, 0xffffdc51, 0x000023af, 0x00007815, 0xffff87eb, 0x00001578, 0xffffea88, 0x00007b60, - 0xffff84a0, 0x0000607b, 0xffff9f85, 0x00006ee2, 0xffff911e, 0xffffe26f, 0x00001d91, 0x00005cb2, - 0xffffa34e, 0xffffb25d, 0x00004da3, 0x000071bb, 0xffff8e45, 0xffffbb72, 0x0000448e, 0x00001212, - 0xffffedee, 0x00002121, 0xffffdedf, 0x00003f3f, 0xffffc0c1, 0x00006c6c, 0xffff9394, 0x00000000, - 0x03030000, 0xfcfd0000, 0x03000000, 0xfd000000, 0x00030000, 0xfffd0000, 0x06060000, 0xf9fa0000, - 0x00000303, 0x03030303, 0xfcfd0303, 0x03000303, 0xfd000303, 0x00030303, 0xfffd0303, 0x06060303, - 0xf9fa0303, 0xfffffcfd, 0x0302fcfd, 0xfcfcfcfd, 0x02fffcfd, 0xfcfffcfd, 0x0002fcfd, 0xfffcfcfd, - 0x0605fcfd, 0xf9f9fcfd, 0x00000300, 0x03030300, 0xfcfd0300, 0x03000300, 0xfd000300, 0x00030300, - 0xfffd0300, 0x06060300, 0xf9fa0300, 0xfffffd00, 0x0302fd00, 0xfcfcfd00, 0x02fffd00, 0xfcfffd00, - 0x0002fd00, 0xfffcfd00, 0x0605fd00, 0xf9f9fd00, 0x00000003, 0x03030003, 0xfcfd0003, 0x03000003, - 0xfd000003, 0x00030003, 0xfffd0003, 0x06060003, 0xf9fa0003, 0xfffffffd, 0x0302fffd, 0xfcfcfffd, - 0x02fffffd, 0xfcfffffd, 0x0002fffd, 0xfffcfffd, 0x0605fffd, 0xf9f9fffd, 0x00000606, 0x03030606, - 0xfcfd0606, 0x03000606, 0xfd000606, 0x00030606, 0xfffd0606, 0x06060606, 0xf9fa0606, 0xfffff9fa, - 0x0302f9fa, 0xfcfcf9fa, 0x02fff9fa, 0xfcfff9fa, 0x0002f9fa, 0xfffcf9fa, 0x0605f9fa, 0xf9f9f9fa, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000404, 0xfffffbfc, 0x00000400, 0xfffffc00, 0x00000004, 0xfffffffc, 0x00000804, - 0xfffff7fc, 0x00000408, 0xfffffbf8, 0x00000808, 0xfffff7f8, 0x000007f8, 0xfffff808, 0x00000bfc, - 0xfffff404, 0xfffffc0c, 0x000003f4, 0x00001008, 0xffffeff8, 0x00000810, 0xfffff7f0, 0x00001010, - 0xffffeff0, 0x00001400, 0xffffec00, 0x00000014, 0xffffffec, 0x00000ff4, 0xfffff00c, 0xfffff410, - 0x00000bf0, 0x000017fc, 0xffffe804, 0xfffffc18, 0x000003e8, 0x00002010, 0xffffdff0, 0x00001020, - 0xffffefe0, 0x00002008, 0xffffdff8, 0x00000820, 0xfffff7e0, 0x00002020, 0xffffdfe0, 0x00002400, - 0xffffdc00, 0x00000024, 0xffffffdc, 0x000017e8, 0xffffe818, 0x00001ff0, 0xffffe010, 0xfffff020, - 0x00000fe0, 0x00003414, 0xffffcbec, 0x00001434, 0xffffebcc, 0x00003824, 0xffffc7dc, 0x00002438, - 0xffffdbc8, 0x00002bf4, 0xffffd40c, 0xfffff42c, 0x00000bd4, 0x00003808, 0xffffc7f8, 0x00000838, - 0xfffff7c8, 0x00003c3c, 0xffffc3c4, 0x00003ffc, 0xffffc004, 0xfffffc40, 0x000003c0, 0x00002bdc, - 0xffffd424, 0xffffdc2c, 0x000023d4, 0x00003be4, 0xffffc41c, 0xffffe43c, 0x00001bc4, 0x00005c2c, - 0xffffa3d4, 0x00002c5c, 0xffffd3a4, 0x00005c18, 0xffffa3e8, 0x0000185c, 0xffffe7a4, 0x00006048, - 0xffff9fb8, 0x00004860, 0xffffb7a0, 0x000053ec, 0xffffac14, 0xffffec54, 0x000013ac, 0x00006408, - 0xffff9bf8, 0x00000864, 0xfffff79c, 0x00006c6c, 0xffff9394, 0x000043bc, 0xffffbc44, 0x000053c8, - 0xffffac38, 0xffffc854, 0x000037ac, 0x000077f4, 0xffff880c, 0xfffff478, 0x00000b88, 0x00006bd0, - 0xffff9430, 0xffffd06c, 0x00002f94, 0x00007b98, 0xffff8468, 0xffff987c, 0x00006784, 0x00001818, - 0xffffe7e8, 0x00002c2c, 0xffffd3d4, 0x00005454, 0xffffabac, 0x00000000, 0x04040000, 0xfbfc0000, - 0x04000000, 0xfc000000, 0x00040000, 0xfffc0000, 0x08040000, 0xf7fc0000, 0x04080000, 0x00000404, - 0x04040404, 0xfbfc0404, 0x04000404, 0xfc000404, 0x00040404, 0xfffc0404, 0x08040404, 0xf7fc0404, - 0x04080404, 0xfffffbfc, 0x0403fbfc, 0xfbfbfbfc, 0x03fffbfc, 0xfbfffbfc, 0x0003fbfc, 0xfffbfbfc, - 0x0803fbfc, 0xf7fbfbfc, 0x0407fbfc, 0x00000400, 0x04040400, 0xfbfc0400, 0x04000400, 0xfc000400, - 0x00040400, 0xfffc0400, 0x08040400, 0xf7fc0400, 0x04080400, 0xfffffc00, 0x0403fc00, 0xfbfbfc00, - 0x03fffc00, 0xfbfffc00, 0x0003fc00, 0xfffbfc00, 0x0803fc00, 0xf7fbfc00, 0x0407fc00, 0x00000004, - 0x04040004, 0xfbfc0004, 0x04000004, 0xfc000004, 0x00040004, 0xfffc0004, 0x08040004, 0xf7fc0004, - 0x04080004, 0xfffffffc, 0x0403fffc, 0xfbfbfffc, 0x03fffffc, 0xfbfffffc, 0x0003fffc, 0xfffbfffc, - 0x0803fffc, 0xf7fbfffc, 0x0407fffc, 0x00000804, 0x04040804, 0xfbfc0804, 0x04000804, 0xfc000804, - 0x00040804, 0xfffc0804, 0x08040804, 0xf7fc0804, 0x04080804, 0xfffff7fc, 0x0403f7fc, 0xfbfbf7fc, - 0x03fff7fc, 0xfbfff7fc, 0x0003f7fc, 0xfffbf7fc, 0x0803f7fc, 0xf7fbf7fc, 0x0407f7fc, 0x00000408, - 0x04040408, 0xfbfc0408, 0x04000408, 0xfc000408, 0x00040408, 0xfffc0408, 0x08040408, 0xf7fc0408, - 0x04080408, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000505, 0xfffffafb, 0x00000500, 0xfffffb00, 0x00000005, 0xfffffffb, 0x00000a0a, - 0xfffff5f6, 0x00000f05, 0xfffff0fb, 0x0000050f, 0xfffffaf1, 0x000009f6, 0xfffff60a, 0x00000efb, - 0xfffff105, 0xfffffb0f, 0x000004f1, 0x0000140a, 0xffffebf6, 0x00000a14, 0xfffff5ec, 0x00001414, - 0xffffebec, 0x00001900, 0xffffe700, 0x00000019, 0xffffffe7, 0x000013f1, 0xffffec0f, 0xfffff114, - 0x00000eec, 0x00002819, 0xffffd7e7, 0x00001928, 0xffffe6d8, 0x00001df6, 0xffffe20a, 0xfffff61e, - 0x000009e2, 0x0000280a, 0xffffd7f6, 0x00000a28, 0xfffff5d8, 0x00002828, 0xffffd7d8, 0x00002d00, - 0xffffd300, 0x0000002d, 0xffffffd3, 0x00001de2, 0xffffe21e, 0x000027ec, 0xffffd814, 0xffffec28, - 0x000013d8, 0x00004119, 0xffffbee7, 0x00001941, 0xffffe6bf, 0x0000462d, 0xffffb9d3, 0x00002d46, - 0xffffd2ba, 0x000036f1, 0xffffc90f, 0xfffff137, 0x00000ec9, 0x0000460a, 0xffffb9f6, 0x00000a46, - 0xfffff5ba, 0x00004b4b, 0xffffb4b5, 0x000054fb, 0xffffab05, 0xfffffb55, 0x000004ab, 0x000036d3, - 0xffffc92d, 0xffffd337, 0x00002cc9, 0x00004add, 0xffffb523, 0xffffdd4b, 0x000022b5, 0x00007337, - 0xffff8cc9, 0x00003773, 0xffffc88d, 0x0000731e, 0xffff8ce2, 0x00001e73, 0xffffe18d, 0x0000785a, - 0xffff87a6, 0x00005a78, 0xffffa588, 0x000068e2, 0xffff971e, 0xffffe269, 0x00001d97, 0x000054ab, - 0xffffab55, 0x000068ba, 0xffff9746, 0xffffba69, 0x00004597, 0x00001e1e, 0xffffe1e2, 0x00003c3c, - 0xffffc3c4, 0x00006969, 0xffff9697, 0x00000000, 0x05050000, 0xfafb0000, 0x05000000, 0xfb000000, - 0x00050000, 0xfffb0000, 0x0a0a0000, 0xf5f60000, 0x0f050000, 0xf0fb0000, 0x00000505, 0x05050505, - 0xfafb0505, 0x05000505, 0xfb000505, 0x00050505, 0xfffb0505, 0x0a0a0505, 0xf5f60505, 0x0f050505, - 0xf0fb0505, 0xfffffafb, 0x0504fafb, 0xfafafafb, 0x04fffafb, 0xfafffafb, 0x0004fafb, 0xfffafafb, - 0x0a09fafb, 0xf5f5fafb, 0x0f04fafb, 0xf0fafafb, 0x00000500, 0x05050500, 0xfafb0500, 0x05000500, - 0xfb000500, 0x00050500, 0xfffb0500, 0x0a0a0500, 0xf5f60500, 0x0f050500, 0xf0fb0500, 0xfffffb00, - 0x0504fb00, 0xfafafb00, 0x04fffb00, 0xfafffb00, 0x0004fb00, 0xfffafb00, 0x0a09fb00, 0xf5f5fb00, - 0x0f04fb00, 0xf0fafb00, 0x00000005, 0x05050005, 0xfafb0005, 0x05000005, 0xfb000005, 0x00050005, - 0xfffb0005, 0x0a0a0005, 0xf5f60005, 0x0f050005, 0xf0fb0005, 0xfffffffb, 0x0504fffb, 0xfafafffb, - 0x04fffffb, 0xfafffffb, 0x0004fffb, 0xfffafffb, 0x0a09fffb, 0xf5f5fffb, 0x0f04fffb, 0xf0fafffb, - 0x00000a0a, 0x05050a0a, 0xfafb0a0a, 0x05000a0a, 0xfb000a0a, 0x00050a0a, 0xfffb0a0a, 0x0a0a0a0a, - 0xf5f60a0a, 0x0f050a0a, 0xf0fb0a0a, 0xfffff5f6, 0x0504f5f6, 0xfafaf5f6, 0x04fff5f6, 0xfafff5f6, - 0x0004f5f6, 0xfffaf5f6, 0x0a09f5f6, 0xf5f5f5f6, 0x0f04f5f6, 0xf0faf5f6, 0x00000f05, 0x05050f05, - 0xfafb0f05, 0x05000f05, 0xfb000f05, 0x00050f05, 0xfffb0f05, 0x0a0a0f05, 0xf5f60f05, 0x0f050f05, - 0xf0fb0f05, 0xfffff0fb, 0x0504f0fb, 0xfafaf0fb, 0x04fff0fb, 0xfafff0fb, 0x0004f0fb, 0xfffaf0fb, - 0x0a09f0fb, 0xf5f5f0fb, 0x0f04f0fb, 0xf0faf0fb, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000606, 0xfffff9fa, 0x00000600, 0xfffffa00, 0x00000006, 0xfffffffa, 0x00000c0c, - 0xfffff3f4, 0x00000c06, 0xfffff3fa, 0x0000060c, 0xfffff9f4, 0x00000bf4, 0xfffff40c, 0x000011fa, - 0xffffee06, 0xfffffa12, 0x000005ee, 0x0000180c, 0xffffe7f4, 0x00000c18, 0xfffff3e8, 0x00001818, - 0xffffe7e8, 0x00001e00, 0xffffe200, 0x0000001e, 0xffffffe2, 0x000017ee, 0xffffe812, 0xffffee18, - 0x000011e8, 0x0000301e, 0xffffcfe2, 0x00001e30, 0xffffe1d0, 0x000023fa, 0xffffdc06, 0xfffffa24, - 0x000005dc, 0x0000300c, 0xffffcff4, 0x00000c30, 0xfffff3d0, 0x00003030, 0xffffcfd0, 0x00003600, - 0xffffca00, 0x00000036, 0xffffffca, 0x000023dc, 0xffffdc24, 0x00002fe8, 0xffffd018, 0xffffe830, - 0x000017d0, 0x00004e1e, 0xffffb1e2, 0x00001e4e, 0xffffe1b2, 0x00005436, 0xffffabca, 0x00003654, - 0xffffc9ac, 0x000041ee, 0xffffbe12, 0xffffee42, 0x000011be, 0x0000540c, 0xffffabf4, 0x00000c54, - 0xfffff3ac, 0x00005a5a, 0xffffa5a6, 0x00005ffa, 0xffffa006, 0xfffffa60, 0x000005a0, 0x000041ca, - 0xffffbe36, 0xffffca42, 0x000035be, 0x000059d6, 0xffffa62a, 0xffffd65a, 0x000029a6, 0x00007de2, - 0xffff821e, 0xffffe27e, 0x00001d82, 0x0000659a, 0xffff9a66, 0x00007dac, 0xffff8254, 0xffffac7e, - 0x00005382, 0x00002424, 0xffffdbdc, 0x00004242, 0xffffbdbe, 0x00000000, 0x06060000, 0xf9fa0000, - 0x06000000, 0xfa000000, 0x00060000, 0xfffa0000, 0x0c0c0000, 0xf3f40000, 0x0c060000, 0xf3fa0000, - 0x060c0000, 0x00000606, 0x06060606, 0xf9fa0606, 0x06000606, 0xfa000606, 0x00060606, 0xfffa0606, - 0x0c0c0606, 0xf3f40606, 0x0c060606, 0xf3fa0606, 0x060c0606, 0xfffff9fa, 0x0605f9fa, 0xf9f9f9fa, - 0x05fff9fa, 0xf9fff9fa, 0x0005f9fa, 0xfff9f9fa, 0x0c0bf9fa, 0xf3f3f9fa, 0x0c05f9fa, 0xf3f9f9fa, - 0x060bf9fa, 0x00000600, 0x06060600, 0xf9fa0600, 0x06000600, 0xfa000600, 0x00060600, 0xfffa0600, - 0x0c0c0600, 0xf3f40600, 0x0c060600, 0xf3fa0600, 0x060c0600, 0xfffffa00, 0x0605fa00, 0xf9f9fa00, - 0x05fffa00, 0xf9fffa00, 0x0005fa00, 0xfff9fa00, 0x0c0bfa00, 0xf3f3fa00, 0x0c05fa00, 0xf3f9fa00, - 0x060bfa00, 0x00000006, 0x06060006, 0xf9fa0006, 0x06000006, 0xfa000006, 0x00060006, 0xfffa0006, - 0x0c0c0006, 0xf3f40006, 0x0c060006, 0xf3fa0006, 0x060c0006, 0xfffffffa, 0x0605fffa, 0xf9f9fffa, - 0x05fffffa, 0xf9fffffa, 0x0005fffa, 0xfff9fffa, 0x0c0bfffa, 0xf3f3fffa, 0x0c05fffa, 0xf3f9fffa, - 0x060bfffa, 0x00000c0c, 0x06060c0c, 0xf9fa0c0c, 0x06000c0c, 0xfa000c0c, 0x00060c0c, 0xfffa0c0c, - 0x0c0c0c0c, 0xf3f40c0c, 0x0c060c0c, 0xf3fa0c0c, 0x060c0c0c, 0xfffff3f4, 0x0605f3f4, 0xf9f9f3f4, - 0x05fff3f4, 0xf9fff3f4, 0x0005f3f4, 0xfff9f3f4, 0x0c0bf3f4, 0xf3f3f3f4, 0x0c05f3f4, 0xf3f9f3f4, - 0x060bf3f4, 0x00000c06, 0x06060c06, 0xf9fa0c06, 0x06000c06, 0xfa000c06, 0x00060c06, 0xfffa0c06, - 0x0c0c0c06, 0xf3f40c06, 0x0c060c06, 0xf3fa0c06, 0x060c0c06, 0xfffff3fa, 0x0605f3fa, 0xf9f9f3fa, - 0x05fff3fa, 0xf9fff3fa, 0x0005f3fa, 0xfff9f3fa, 0x0c0bf3fa, 0xf3f3f3fa, 0x0c05f3fa, 0xf3f9f3fa, - 0x060bf3fa, 0x0000060c, 0x0606060c, 0xf9fa060c, 0x0600060c, 0xfa00060c, 0x0006060c, 0xfffa060c, - 0x0c0c060c, 0xf3f4060c, 0x0c06060c, 0xf3fa060c, 0x060c060c, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000707, 0xfffff8f9, 0x00000700, 0xfffff900, 0x00000007, 0xfffffff9, 0x00000e0e, - 0xfffff1f2, 0x00001507, 0xffffeaf9, 0x00000715, 0xfffff8eb, 0x00000df2, 0xfffff20e, 0x000014f9, - 0xffffeb07, 0xfffff915, 0x000006eb, 0x00001c0e, 0xffffe3f2, 0x00000e1c, 0xfffff1e4, 0x00001c1c, - 0xffffe3e4, 0x00002300, 0xffffdd00, 0x00000023, 0xffffffdd, 0x00001beb, 0xffffe415, 0xffffeb1c, - 0x000014e4, 0x00003823, 0xffffc7dd, 0x00002338, 0xffffdcc8, 0x000029f2, 0xffffd60e, 0xfffff22a, - 0x00000dd6, 0x0000380e, 0xffffc7f2, 0x00000e38, 0xfffff1c8, 0x00003838, 0xffffc7c8, 0x00003f00, - 0xffffc100, 0x0000003f, 0xffffffc1, 0x000029d6, 0xffffd62a, 0x000037e4, 0xffffc81c, 0xffffe438, - 0x00001bc8, 0x00005b23, 0xffffa4dd, 0x0000235b, 0xffffdca5, 0x0000623f, 0xffff9dc1, 0x00003f62, - 0xffffc09e, 0x00004ceb, 0xffffb315, 0xffffeb4d, 0x000014b3, 0x0000620e, 0xffff9df2, 0x00000e62, - 0xfffff19e, 0x00006969, 0xffff9697, 0x000076f9, 0xffff8907, 0xfffff977, 0x00000689, 0x00004cc1, - 0xffffb33f, 0xffffc14d, 0x00003eb3, 0x000068cf, 0xffff9731, 0xffffcf69, 0x00003097, 0x00007689, - 0xffff8977, 0x00002a2a, 0xffffd5d6, 0x00004d4d, 0xffffb2b3, 0x00000000, 0x07070000, 0xf8f90000, - 0x07000000, 0xf9000000, 0x00070000, 0xfff90000, 0x0e0e0000, 0xf1f20000, 0x15070000, 0xeaf90000, - 0x07150000, 0x00000707, 0x07070707, 0xf8f90707, 0x07000707, 0xf9000707, 0x00070707, 0xfff90707, - 0x0e0e0707, 0xf1f20707, 0x15070707, 0xeaf90707, 0x07150707, 0xfffff8f9, 0x0706f8f9, 0xf8f8f8f9, - 0x06fff8f9, 0xf8fff8f9, 0x0006f8f9, 0xfff8f8f9, 0x0e0df8f9, 0xf1f1f8f9, 0x1506f8f9, 0xeaf8f8f9, - 0x0714f8f9, 0x00000700, 0x07070700, 0xf8f90700, 0x07000700, 0xf9000700, 0x00070700, 0xfff90700, - 0x0e0e0700, 0xf1f20700, 0x15070700, 0xeaf90700, 0x07150700, 0xfffff900, 0x0706f900, 0xf8f8f900, - 0x06fff900, 0xf8fff900, 0x0006f900, 0xfff8f900, 0x0e0df900, 0xf1f1f900, 0x1506f900, 0xeaf8f900, - 0x0714f900, 0x00000007, 0x07070007, 0xf8f90007, 0x07000007, 0xf9000007, 0x00070007, 0xfff90007, - 0x0e0e0007, 0xf1f20007, 0x15070007, 0xeaf90007, 0x07150007, 0xfffffff9, 0x0706fff9, 0xf8f8fff9, - 0x06fffff9, 0xf8fffff9, 0x0006fff9, 0xfff8fff9, 0x0e0dfff9, 0xf1f1fff9, 0x1506fff9, 0xeaf8fff9, - 0x0714fff9, 0x00000e0e, 0x07070e0e, 0xf8f90e0e, 0x07000e0e, 0xf9000e0e, 0x00070e0e, 0xfff90e0e, - 0x0e0e0e0e, 0xf1f20e0e, 0x15070e0e, 0xeaf90e0e, 0x07150e0e, 0xfffff1f2, 0x0706f1f2, 0xf8f8f1f2, - 0x06fff1f2, 0xf8fff1f2, 0x0006f1f2, 0xfff8f1f2, 0x0e0df1f2, 0xf1f1f1f2, 0x1506f1f2, 0xeaf8f1f2, - 0x0714f1f2, 0x00001507, 0x07071507, 0xf8f91507, 0x07001507, 0xf9001507, 0x00071507, 0xfff91507, - 0x0e0e1507, 0xf1f21507, 0x15071507, 0xeaf91507, 0x07151507, 0xffffeaf9, 0x0706eaf9, 0xf8f8eaf9, - 0x06ffeaf9, 0xf8ffeaf9, 0x0006eaf9, 0xfff8eaf9, 0x0e0deaf9, 0xf1f1eaf9, 0x1506eaf9, 0xeaf8eaf9, - 0x0714eaf9, 0x00000715, 0x07070715, 0xf8f90715, 0x07000715, 0xf9000715, 0x00070715, 0xfff90715, - 0x0e0e0715, 0xf1f20715, 0x15070715, 0xeaf90715, 0x07150715, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000808, 0xfffff7f8, 0x00000800, 0xfffff800, 0x00000008, 0xfffffff8, 0x00001010, - 0xffffeff0, 0x00001008, 0xffffeff8, 0x00000810, 0xfffff7f0, 0x00000ff0, 0xfffff010, 0x000017f8, - 0xffffe808, 0xfffff818, 0x000007e8, 0x00002010, 0xffffdff0, 0x00001020, 0xffffefe0, 0x00002020, - 0xffffdfe0, 0x00002800, 0xffffd800, 0x00000028, 0xffffffd8, 0x00001fe8, 0xffffe018, 0xffffe820, - 0x000017e0, 0x00004028, 0xffffbfd8, 0x00002840, 0xffffd7c0, 0x00002ff0, 0xffffd010, 0xfffff030, - 0x00000fd0, 0x00004010, 0xffffbff0, 0x00001040, 0xffffefc0, 0x00004040, 0xffffbfc0, 0x00004800, - 0xffffb800, 0x00000048, 0xffffffb8, 0x00002fd0, 0xffffd030, 0x00003fe0, 0xffffc020, 0xffffe040, - 0x00001fc0, 0x00006828, 0xffff97d8, 0x00002868, 0xffffd798, 0x00007048, 0xffff8fb8, 0x00004870, - 0xffffb790, 0x000057e8, 0xffffa818, 0xffffe858, 0x000017a8, 0x00007010, 0xffff8ff0, 0x00001070, - 0xffffef90, 0x00007878, 0xffff8788, 0x000057b8, 0xffffa848, 0xffffb858, 0x000047a8, 0x000077c8, - 0xffff8838, 0xffffc878, 0x00003788, 0x00003030, 0xffffcfd0, 0x00005858, 0xffffa7a8, 0x00000000, - 0x08080000, 0xf7f80000, 0x08000000, 0xf8000000, 0x00080000, 0xfff80000, 0x10100000, 0xeff00000, - 0x10080000, 0xeff80000, 0x08100000, 0x00000808, 0x08080808, 0xf7f80808, 0x08000808, 0xf8000808, - 0x00080808, 0xfff80808, 0x10100808, 0xeff00808, 0x10080808, 0xeff80808, 0x08100808, 0xfffff7f8, - 0x0807f7f8, 0xf7f7f7f8, 0x07fff7f8, 0xf7fff7f8, 0x0007f7f8, 0xfff7f7f8, 0x100ff7f8, 0xefeff7f8, - 0x1007f7f8, 0xeff7f7f8, 0x080ff7f8, 0x00000800, 0x08080800, 0xf7f80800, 0x08000800, 0xf8000800, - 0x00080800, 0xfff80800, 0x10100800, 0xeff00800, 0x10080800, 0xeff80800, 0x08100800, 0xfffff800, - 0x0807f800, 0xf7f7f800, 0x07fff800, 0xf7fff800, 0x0007f800, 0xfff7f800, 0x100ff800, 0xefeff800, - 0x1007f800, 0xeff7f800, 0x080ff800, 0x00000008, 0x08080008, 0xf7f80008, 0x08000008, 0xf8000008, - 0x00080008, 0xfff80008, 0x10100008, 0xeff00008, 0x10080008, 0xeff80008, 0x08100008, 0xfffffff8, - 0x0807fff8, 0xf7f7fff8, 0x07fffff8, 0xf7fffff8, 0x0007fff8, 0xfff7fff8, 0x100ffff8, 0xefeffff8, - 0x1007fff8, 0xeff7fff8, 0x080ffff8, 0x00001010, 0x08081010, 0xf7f81010, 0x08001010, 0xf8001010, - 0x00081010, 0xfff81010, 0x10101010, 0xeff01010, 0x10081010, 0xeff81010, 0x08101010, 0xffffeff0, - 0x0807eff0, 0xf7f7eff0, 0x07ffeff0, 0xf7ffeff0, 0x0007eff0, 0xfff7eff0, 0x100feff0, 0xefefeff0, - 0x1007eff0, 0xeff7eff0, 0x080feff0, 0x00001008, 0x08081008, 0xf7f81008, 0x08001008, 0xf8001008, - 0x00081008, 0xfff81008, 0x10101008, 0xeff01008, 0x10081008, 0xeff81008, 0x08101008, 0xffffeff8, - 0x0807eff8, 0xf7f7eff8, 0x07ffeff8, 0xf7ffeff8, 0x0007eff8, 0xfff7eff8, 0x100feff8, 0xefefeff8, - 0x1007eff8, 0xeff7eff8, 0x080feff8, 0x00000810, 0x08080810, 0xf7f80810, 0x08000810, 0xf8000810, - 0x00080810, 0xfff80810, 0x10100810, 0xeff00810, 0x10080810, 0xeff80810, 0x08100810, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000909, 0xfffff6f7, 0x00000900, 0xfffff700, 0x00000009, 0xfffffff7, 0x00001212, - 0xffffedee, 0x00001b09, 0xffffe4f7, 0x0000091b, 0xfffff6e5, 0x000011ee, 0xffffee12, 0x00001af7, - 0xffffe509, 0xfffff71b, 0x000008e5, 0x00002412, 0xffffdbee, 0x00001224, 0xffffeddc, 0x00002424, - 0xffffdbdc, 0x00002d00, 0xffffd300, 0x0000002d, 0xffffffd3, 0x000023e5, 0xffffdc1b, 0xffffe524, - 0x00001adc, 0x0000482d, 0xffffb7d3, 0x00002d48, 0xffffd2b8, 0x000035ee, 0xffffca12, 0xffffee36, - 0x000011ca, 0x00004812, 0xffffb7ee, 0x00001248, 0xffffedb8, 0x00004848, 0xffffb7b8, 0x00005100, - 0xffffaf00, 0x00000051, 0xffffffaf, 0x000035ca, 0xffffca36, 0x000047dc, 0xffffb824, 0xffffdc48, - 0x000023b8, 0x0000752d, 0xffff8ad3, 0x00002d75, 0xffffd28b, 0x00007e51, 0xffff81af, 0x0000517e, - 0xffffae82, 0x000062e5, 0xffff9d1b, 0xffffe563, 0x00001a9d, 0x000062af, 0xffff9d51, 0xffffaf63, - 0x0000509d, 0x00003636, 0xffffc9ca, 0x00006c6c, 0xffff9394, 0x00000000, 0x09090000, 0xf6f70000, - 0x09000000, 0xf7000000, 0x00090000, 0xfff70000, 0x12120000, 0xedee0000, 0x1b090000, 0xe4f70000, - 0x091b0000, 0xf6e50000, 0x00000909, 0x09090909, 0xf6f70909, 0x09000909, 0xf7000909, 0x00090909, - 0xfff70909, 0x12120909, 0xedee0909, 0x1b090909, 0xe4f70909, 0x091b0909, 0xf6e50909, 0xfffff6f7, - 0x0908f6f7, 0xf6f6f6f7, 0x08fff6f7, 0xf6fff6f7, 0x0008f6f7, 0xfff6f6f7, 0x1211f6f7, 0xededf6f7, - 0x1b08f6f7, 0xe4f6f6f7, 0x091af6f7, 0xf6e4f6f7, 0x00000900, 0x09090900, 0xf6f70900, 0x09000900, - 0xf7000900, 0x00090900, 0xfff70900, 0x12120900, 0xedee0900, 0x1b090900, 0xe4f70900, 0x091b0900, - 0xf6e50900, 0xfffff700, 0x0908f700, 0xf6f6f700, 0x08fff700, 0xf6fff700, 0x0008f700, 0xfff6f700, - 0x1211f700, 0xededf700, 0x1b08f700, 0xe4f6f700, 0x091af700, 0xf6e4f700, 0x00000009, 0x09090009, - 0xf6f70009, 0x09000009, 0xf7000009, 0x00090009, 0xfff70009, 0x12120009, 0xedee0009, 0x1b090009, - 0xe4f70009, 0x091b0009, 0xf6e50009, 0xfffffff7, 0x0908fff7, 0xf6f6fff7, 0x08fffff7, 0xf6fffff7, - 0x0008fff7, 0xfff6fff7, 0x1211fff7, 0xededfff7, 0x1b08fff7, 0xe4f6fff7, 0x091afff7, 0xf6e4fff7, - 0x00001212, 0x09091212, 0xf6f71212, 0x09001212, 0xf7001212, 0x00091212, 0xfff71212, 0x12121212, - 0xedee1212, 0x1b091212, 0xe4f71212, 0x091b1212, 0xf6e51212, 0xffffedee, 0x0908edee, 0xf6f6edee, - 0x08ffedee, 0xf6ffedee, 0x0008edee, 0xfff6edee, 0x1211edee, 0xedededee, 0x1b08edee, 0xe4f6edee, - 0x091aedee, 0xf6e4edee, 0x00001b09, 0x09091b09, 0xf6f71b09, 0x09001b09, 0xf7001b09, 0x00091b09, - 0xfff71b09, 0x12121b09, 0xedee1b09, 0x1b091b09, 0xe4f71b09, 0x091b1b09, 0xf6e51b09, 0xffffe4f7, - 0x0908e4f7, 0xf6f6e4f7, 0x08ffe4f7, 0xf6ffe4f7, 0x0008e4f7, 0xfff6e4f7, 0x1211e4f7, 0xedede4f7, - 0x1b08e4f7, 0xe4f6e4f7, 0x091ae4f7, 0xf6e4e4f7, 0x0000091b, 0x0909091b, 0xf6f7091b, 0x0900091b, - 0xf700091b, 0x0009091b, 0xfff7091b, 0x1212091b, 0xedee091b, 0x1b09091b, 0xe4f7091b, 0x091b091b, - 0xf6e5091b, 0xfffff6e5, 0x0908f6e5, 0xf6f6f6e5, 0x08fff6e5, 0xf6fff6e5, 0x0008f6e5, 0xfff6f6e5, - 0x1211f6e5, 0xededf6e5, 0x1b08f6e5, 0xe4f6f6e5, 0x091af6e5, 0xf6e4f6e5, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000202, 0xfffffdfe, 0x00000300, 0xfffffd00, 0x00000003, 0xfffffffd, 0x00000606, - 0xfffff9fa, 0x00000700, 0xfffff900, 0x00000007, 0xfffffff9, 0x000004fb, 0xfffffb05, 0xfffffb05, - 0x000004fb, 0x00000b06, 0xfffff4fa, 0x0000060b, 0xfffff9f5, 0x00000800, 0xfffff800, 0x00000008, - 0xfffffff8, 0x00000b0b, 0xfffff4f5, 0x00000c00, 0xfffff400, 0x0000000c, 0xfffffff4, 0x0000110c, - 0xffffeef4, 0x00000c11, 0xfffff3ef, 0x00001111, 0xffffeeef, 0x00001206, 0xffffedfa, 0x00000612, - 0xfffff9ee, 0x00000af8, 0xfffff508, 0xfffff80b, 0x000007f5, 0x00000f00, 0xfffff100, 0x0000000f, - 0xfffffff1, 0x00001400, 0xffffec00, 0x00000014, 0xffffffec, 0x00001912, 0xffffe6ee, 0x00001219, - 0xffffede7, 0x0000190b, 0xffffe6f5, 0x00000b19, 0xfffff4e7, 0x00001919, 0xffffe6e7, 0x00000df2, - 0xfffff20e, 0xfffff20e, 0x00000df2, 0x00001a00, 0xffffe600, 0x0000001a, 0xffffffe6, 0x000011f5, - 0xffffee0b, 0xfffff512, 0x00000aee, 0x000015f9, 0xffffea07, 0xfffff916, 0x000006ea, 0x0000221a, - 0xffffdde6, 0x00001a22, 0xffffe5de, 0x00002212, 0xffffddee, 0x00001222, 0xffffedde, 0x00002222, - 0xffffddde, 0x0000230b, 0xffffdcf5, 0x00000b23, 0xfffff4dd, 0x00001d00, 0xffffe300, 0x0000001d, - 0xffffffe3, 0x000015ed, 0xffffea13, 0xffffed16, 0x000012ea, 0x000019f1, 0xffffe60f, 0xfffff11a, - 0x00000ee6, 0x00002500, 0xffffdb00, 0x00000025, 0xffffffdb, 0x00002c1b, 0xffffd3e5, 0x00001b2c, - 0xffffe4d4, 0x00002c24, 0xffffd3dc, 0x0000242c, 0xffffdbd4, 0x00002c12, 0xffffd3ee, 0x0000122c, - 0xffffedd4, 0x000020f6, 0xffffdf0a, 0xfffff621, 0x000009df, 0x00002d2d, 0xffffd2d3, 0x00000000, - 0x00000000, 0x00000202, 0xfffffdfe, 0x00000300, 0xfffffd00, 0x00000003, 0xfffffffd, 0x00000606, - 0xfffff9fa, 0x00000700, 0xfffff900, 0x02020000, 0x02020202, 0x0201fdfe, 0x02020300, 0x0201fd00, - 0x02020003, 0x0201fffd, 0x02020606, 0x0201f9fa, 0x02020700, 0x0201f900, 0xfdfe0000, 0xfdfe0202, - 0xfdfdfdfe, 0xfdfe0300, 0xfdfdfd00, 0xfdfe0003, 0xfdfdfffd, 0xfdfe0606, 0xfdfdf9fa, 0xfdfe0700, - 0xfdfdf900, 0x03000000, 0x03000202, 0x02fffdfe, 0x03000300, 0x02fffd00, 0x03000003, 0x02fffffd, - 0x03000606, 0x02fff9fa, 0x03000700, 0x02fff900, 0xfd000000, 0xfd000202, 0xfcfffdfe, 0xfd000300, - 0xfcfffd00, 0xfd000003, 0xfcfffffd, 0xfd000606, 0xfcfff9fa, 0xfd000700, 0xfcfff900, 0x00030000, - 0x00030202, 0x0002fdfe, 0x00030300, 0x0002fd00, 0x00030003, 0x0002fffd, 0x00030606, 0x0002f9fa, - 0x00030700, 0x0002f900, 0xfffd0000, 0xfffd0202, 0xfffcfdfe, 0xfffd0300, 0xfffcfd00, 0xfffd0003, - 0xfffcfffd, 0xfffd0606, 0xfffcf9fa, 0xfffd0700, 0xfffcf900, 0x06060000, 0x06060202, 0x0605fdfe, - 0x06060300, 0x0605fd00, 0x06060003, 0x0605fffd, 0x06060606, 0x0605f9fa, 0x06060700, 0x0605f900, - 0xf9fa0000, 0xf9fa0202, 0xf9f9fdfe, 0xf9fa0300, 0xf9f9fd00, 0xf9fa0003, 0xf9f9fffd, 0xf9fa0606, - 0xf9f9f9fa, 0xf9fa0700, 0xf9f9f900, 0x07000000, 0x07000202, 0x06fffdfe, 0x07000300, 0x06fffd00, - 0x07000003, 0x06fffffd, 0x07000606, 0x06fff9fa, 0x07000700, 0x06fff900, 0xf9000000, 0xf9000202, - 0xf8fffdfe, 0xf9000300, 0xf8fffd00, 0xf9000003, 0xf8fffffd, 0xf9000606, 0xf8fff9fa, 0xf9000700, - 0xf8fff900, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000200, 0xfffffe00, 0x00000002, 0xfffffffe, 0x00000202, 0xfffffdfe, 0x00000606, - 0xfffff9fa, 0x00000600, 0xfffffa00, 0x00000006, 0xfffffffa, 0x000003fc, 0xfffffc04, 0xfffffa0a, - 0x000005f6, 0xfffff400, 0x00000c00, 0xfffff3fa, 0xfffff406, 0x00000bfa, 0x00000c06, 0xfffffff2, - 0x0000000e, 0x00000c0c, 0xfffff3f4, 0xffffee00, 0x00001200, 0xfffff40e, 0x00000bf2, 0xfffff9ee, - 0xfffffa12, 0x000005ee, 0x00000612, 0xffffedf6, 0xffffee0a, 0x000011f6, 0x0000120a, 0xffffffea, - 0x00000016, 0xffffe800, 0x00001800, 0xfffff3ea, 0xfffff416, 0x00000bea, 0x00000c16, 0xffffe7f8, - 0xffffe808, 0x000017f8, 0x00001808, 0xfffff9e6, 0xfffffa1a, 0x000005e6, 0x0000061a, 0xffffffe4, - 0x0000001c, 0x00001414, 0xffffebec, 0xffffe5f2, 0x00001a0e, 0xfffff3e2, 0x00000c1e, 0xffffdff6, - 0x0000200a, 0xffffdfee, 0x00002012, 0xffffe5e6, 0x00001a1a, 0xffffebde, 0x00001422, 0xfffff3da, - 0x00000c26, 0xffffdfe0, 0x00002020, 0x00002020, 0xffffd7ea, 0xffffddde, 0x00002222, 0x00000000, - 0x00000200, 0xfffffe00, 0x00000002, 0xfffffffe, 0x00000202, 0xfffffdfe, 0x00000606, 0xfffff9fa, - 0x00000600, 0xfffffa00, 0x00000006, 0xfffffffa, 0x02000000, 0x02000200, 0x01fffe00, 0x02000002, - 0x01fffffe, 0x02000202, 0x01fffdfe, 0x02000606, 0x01fff9fa, 0x02000600, 0x01fffa00, 0x02000006, - 0x01fffffa, 0xfe000000, 0xfe000200, 0xfdfffe00, 0xfe000002, 0xfdfffffe, 0xfe000202, 0xfdfffdfe, - 0xfe000606, 0xfdfff9fa, 0xfe000600, 0xfdfffa00, 0xfe000006, 0xfdfffffa, 0x00020000, 0x00020200, - 0x0001fe00, 0x00020002, 0x0001fffe, 0x00020202, 0x0001fdfe, 0x00020606, 0x0001f9fa, 0x00020600, - 0x0001fa00, 0x00020006, 0x0001fffa, 0xfffe0000, 0xfffe0200, 0xfffdfe00, 0xfffe0002, 0xfffdfffe, - 0xfffe0202, 0xfffdfdfe, 0xfffe0606, 0xfffdf9fa, 0xfffe0600, 0xfffdfa00, 0xfffe0006, 0xfffdfffa, - 0x02020000, 0x02020200, 0x0201fe00, 0x02020002, 0x0201fffe, 0x02020202, 0x0201fdfe, 0x02020606, - 0x0201f9fa, 0x02020600, 0x0201fa00, 0x02020006, 0x0201fffa, 0xfdfe0000, 0xfdfe0200, 0xfdfdfe00, - 0xfdfe0002, 0xfdfdfffe, 0xfdfe0202, 0xfdfdfdfe, 0xfdfe0606, 0xfdfdf9fa, 0xfdfe0600, 0xfdfdfa00, - 0xfdfe0006, 0xfdfdfffa, 0x06060000, 0x06060200, 0x0605fe00, 0x06060002, 0x0605fffe, 0x06060202, - 0x0605fdfe, 0x06060606, 0x0605f9fa, 0x06060600, 0x0605fa00, 0x06060006, 0x0605fffa, 0xf9fa0000, - 0xf9fa0200, 0xf9f9fe00, 0xf9fa0002, 0xf9f9fffe, 0xf9fa0202, 0xf9f9fdfe, 0xf9fa0606, 0xf9f9f9fa, - 0xf9fa0600, 0xf9f9fa00, 0xf9fa0006, 0xf9f9fffa, 0x06000000, 0x06000200, 0x05fffe00, 0x06000002, - 0x05fffffe, 0x06000202, 0x05fffdfe, 0x06000606, 0x05fff9fa, 0x06000600, 0x05fffa00, 0x06000006, - 0x05fffffa, 0xfa000000, 0xfa000200, 0xf9fffe00, 0xfa000002, 0xf9fffffe, 0xfa000202, 0xf9fffdfe, - 0xfa000606, 0xf9fff9fa, 0xfa000600, 0xf9fffa00, 0xfa000006, 0xf9fffffa, 0x00060000, 0x00060200, - 0x0005fe00, 0x00060002, 0x0005fffe, 0x00060202, 0x0005fdfe, 0x00060606, 0x0005f9fa, 0x00060600, - 0x0005fa00, 0x00060006, 0x0005fffa, 0xfffa0000, 0xfffa0200, 0xfff9fe00, 0xfffa0002, 0xfff9fffe, - 0xfffa0202, 0xfff9fdfe, 0xfffa0606, 0xfff9f9fa, 0xfffa0600, 0xfff9fa00, 0xfffa0006, 0xfff9fffa, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000200, 0xfffffe00, 0x00000002, 0xfffffffe, 0x00000404, 0xfffffbfc, 0x00000a0a, - 0xfffff5f6, 0x00000a00, 0xfffff600, 0x0000000a, 0xfffffff6, 0x000005fa, 0xfffffa06, 0xfffff80e, - 0x000007f2, 0xffffffee, 0x00000012, 0xfffff00a, 0x00000ff6, 0xffffe800, 0x00001800, 0xfffff7e8, - 0xfffff818, 0x000007e8, 0x00000818, 0x00001212, 0xffffedee, 0xfffff014, 0x00000fec, 0xffffe5f2, - 0xffffe60e, 0x000019f2, 0x00001a0e, 0xffffffe2, 0x0000001e, 0xffffde00, 0x00002200, 0xfffff7de, - 0xfffff822, 0x000007de, 0x00000822, 0xffffede2, 0xffffee1e, 0x000011e2, 0x0000121e, 0xffffddf6, - 0xffffde0a, 0x000021f6, 0x0000220a, 0xffffddec, 0x00002214, 0xffffffd8, 0x00000028, 0x00001e1e, - 0xffffe1e2, 0xffffedd8, 0x00001228, 0xffffd400, 0x00002c00, 0xffffd3f0, 0x00002c10, 0xffffdbdc, - 0xffffdbdc, 0x00002424, 0xffffd3e6, 0x00002c1a, 0xffffe5d2, 0x00001a2e, 0xffffedcc, 0x00001234, - 0xffffc9ec, 0xffffd3d4, 0x00002c2c, 0xffffc9e0, 0xffffd1d2, 0xffffd1d2, 0x00002e2e, 0x00000000, - 0x00000200, 0xfffffe00, 0x00000002, 0xfffffffe, 0x00000404, 0xfffffbfc, 0x00000a0a, 0xfffff5f6, - 0x00000a00, 0xfffff600, 0x0000000a, 0xfffffff6, 0x02000000, 0x02000200, 0x01fffe00, 0x02000002, - 0x01fffffe, 0x02000404, 0x01fffbfc, 0x02000a0a, 0x01fff5f6, 0x02000a00, 0x01fff600, 0x0200000a, - 0x01fffff6, 0xfe000000, 0xfe000200, 0xfdfffe00, 0xfe000002, 0xfdfffffe, 0xfe000404, 0xfdfffbfc, - 0xfe000a0a, 0xfdfff5f6, 0xfe000a00, 0xfdfff600, 0xfe00000a, 0xfdfffff6, 0x00020000, 0x00020200, - 0x0001fe00, 0x00020002, 0x0001fffe, 0x00020404, 0x0001fbfc, 0x00020a0a, 0x0001f5f6, 0x00020a00, - 0x0001f600, 0x0002000a, 0x0001fff6, 0xfffe0000, 0xfffe0200, 0xfffdfe00, 0xfffe0002, 0xfffdfffe, - 0xfffe0404, 0xfffdfbfc, 0xfffe0a0a, 0xfffdf5f6, 0xfffe0a00, 0xfffdf600, 0xfffe000a, 0xfffdfff6, - 0x04040000, 0x04040200, 0x0403fe00, 0x04040002, 0x0403fffe, 0x04040404, 0x0403fbfc, 0x04040a0a, - 0x0403f5f6, 0x04040a00, 0x0403f600, 0x0404000a, 0x0403fff6, 0xfbfc0000, 0xfbfc0200, 0xfbfbfe00, - 0xfbfc0002, 0xfbfbfffe, 0xfbfc0404, 0xfbfbfbfc, 0xfbfc0a0a, 0xfbfbf5f6, 0xfbfc0a00, 0xfbfbf600, - 0xfbfc000a, 0xfbfbfff6, 0x0a0a0000, 0x0a0a0200, 0x0a09fe00, 0x0a0a0002, 0x0a09fffe, 0x0a0a0404, - 0x0a09fbfc, 0x0a0a0a0a, 0x0a09f5f6, 0x0a0a0a00, 0x0a09f600, 0x0a0a000a, 0x0a09fff6, 0xf5f60000, - 0xf5f60200, 0xf5f5fe00, 0xf5f60002, 0xf5f5fffe, 0xf5f60404, 0xf5f5fbfc, 0xf5f60a0a, 0xf5f5f5f6, - 0xf5f60a00, 0xf5f5f600, 0xf5f6000a, 0xf5f5fff6, 0x0a000000, 0x0a000200, 0x09fffe00, 0x0a000002, - 0x09fffffe, 0x0a000404, 0x09fffbfc, 0x0a000a0a, 0x09fff5f6, 0x0a000a00, 0x09fff600, 0x0a00000a, - 0x09fffff6, 0xf6000000, 0xf6000200, 0xf5fffe00, 0xf6000002, 0xf5fffffe, 0xf6000404, 0xf5fffbfc, - 0xf6000a0a, 0xf5fff5f6, 0xf6000a00, 0xf5fff600, 0xf600000a, 0xf5fffff6, 0x000a0000, 0x000a0200, - 0x0009fe00, 0x000a0002, 0x0009fffe, 0x000a0404, 0x0009fbfc, 0x000a0a0a, 0x0009f5f6, 0x000a0a00, - 0x0009f600, 0x000a000a, 0x0009fff6, 0xfff60000, 0xfff60200, 0xfff5fe00, 0xfff60002, 0xfff5fffe, - 0xfff60404, 0xfff5fbfc, 0xfff60a0a, 0xfff5f5f6, 0xfff60a00, 0xfff5f600, 0xfff6000a, 0xfff5fff6, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000400, 0xfffffc00, 0x00000004, 0xfffffffc, 0x00000404, 0xfffffbfc, 0x00000c0c, - 0xfffff3f4, 0x00000c00, 0xfffff400, 0x0000000c, 0xfffffff4, 0x000007f8, 0xfffff808, 0xfffff008, - 0x00000ff8, 0xffffe800, 0x00001800, 0xfffff7e8, 0xfffff818, 0x000007e8, 0x00000818, 0xfffff014, - 0x00000fec, 0xffffffe4, 0x0000001c, 0xffffe7f0, 0xffffe810, 0x000017f0, 0x00001810, 0xffffe000, - 0x00002000, 0xffffefe4, 0xfffff01c, 0x00000fe4, 0x0000101c, 0xffffdff8, 0xffffe008, 0xfffff7e0, - 0xfffff820, 0x000007e0, 0x00000820, 0x00001ff8, 0x00002008, 0x00001818, 0xffffe7e8, 0xffffe818, - 0x000017e8, 0xffffdfec, 0x00002014, 0xffffffd8, 0x00000028, 0xffffefd8, 0x00001028, 0xffffd400, - 0xffffd400, 0xffffffd4, 0x0000002c, 0x00002c00, 0x00002c00, 0xffffdfe0, 0x00002020, 0xffffd3f0, - 0x00002c10, 0xffffd3e8, 0xffffe7d4, 0x0000182c, 0x00002c18, 0xffffefd0, 0x00001030, 0xffffdbdc, - 0xffffdbdc, 0x00002424, 0x00002424, 0xffffcbec, 0x00002828, 0xffffd7d8, 0xffffcbe0, 0x00000000, - 0x00000400, 0xfffffc00, 0x00000004, 0xfffffffc, 0x00000404, 0xfffffbfc, 0x00000c0c, 0xfffff3f4, - 0x00000c00, 0xfffff400, 0x0000000c, 0xfffffff4, 0x04000000, 0x04000400, 0x03fffc00, 0x04000004, - 0x03fffffc, 0x04000404, 0x03fffbfc, 0x04000c0c, 0x03fff3f4, 0x04000c00, 0x03fff400, 0x0400000c, - 0x03fffff4, 0xfc000000, 0xfc000400, 0xfbfffc00, 0xfc000004, 0xfbfffffc, 0xfc000404, 0xfbfffbfc, - 0xfc000c0c, 0xfbfff3f4, 0xfc000c00, 0xfbfff400, 0xfc00000c, 0xfbfffff4, 0x00040000, 0x00040400, - 0x0003fc00, 0x00040004, 0x0003fffc, 0x00040404, 0x0003fbfc, 0x00040c0c, 0x0003f3f4, 0x00040c00, - 0x0003f400, 0x0004000c, 0x0003fff4, 0xfffc0000, 0xfffc0400, 0xfffbfc00, 0xfffc0004, 0xfffbfffc, - 0xfffc0404, 0xfffbfbfc, 0xfffc0c0c, 0xfffbf3f4, 0xfffc0c00, 0xfffbf400, 0xfffc000c, 0xfffbfff4, - 0x04040000, 0x04040400, 0x0403fc00, 0x04040004, 0x0403fffc, 0x04040404, 0x0403fbfc, 0x04040c0c, - 0x0403f3f4, 0x04040c00, 0x0403f400, 0x0404000c, 0x0403fff4, 0xfbfc0000, 0xfbfc0400, 0xfbfbfc00, - 0xfbfc0004, 0xfbfbfffc, 0xfbfc0404, 0xfbfbfbfc, 0xfbfc0c0c, 0xfbfbf3f4, 0xfbfc0c00, 0xfbfbf400, - 0xfbfc000c, 0xfbfbfff4, 0x0c0c0000, 0x0c0c0400, 0x0c0bfc00, 0x0c0c0004, 0x0c0bfffc, 0x0c0c0404, - 0x0c0bfbfc, 0x0c0c0c0c, 0x0c0bf3f4, 0x0c0c0c00, 0x0c0bf400, 0x0c0c000c, 0x0c0bfff4, 0xf3f40000, - 0xf3f40400, 0xf3f3fc00, 0xf3f40004, 0xf3f3fffc, 0xf3f40404, 0xf3f3fbfc, 0xf3f40c0c, 0xf3f3f3f4, - 0xf3f40c00, 0xf3f3f400, 0xf3f4000c, 0xf3f3fff4, 0x0c000000, 0x0c000400, 0x0bfffc00, 0x0c000004, - 0x0bfffffc, 0x0c000404, 0x0bfffbfc, 0x0c000c0c, 0x0bfff3f4, 0x0c000c00, 0x0bfff400, 0x0c00000c, - 0x0bfffff4, 0xf4000000, 0xf4000400, 0xf3fffc00, 0xf4000004, 0xf3fffffc, 0xf4000404, 0xf3fffbfc, - 0xf4000c0c, 0xf3fff3f4, 0xf4000c00, 0xf3fff400, 0xf400000c, 0xf3fffff4, 0x000c0000, 0x000c0400, - 0x000bfc00, 0x000c0004, 0x000bfffc, 0x000c0404, 0x000bfbfc, 0x000c0c0c, 0x000bf3f4, 0x000c0c00, - 0x000bf400, 0x000c000c, 0x000bfff4, 0xfff40000, 0xfff40400, 0xfff3fc00, 0xfff40004, 0xfff3fffc, - 0xfff40404, 0xfff3fbfc, 0xfff40c0c, 0xfff3f3f4, 0xfff40c00, 0xfff3f400, 0xfff4000c, 0xfff3fff4, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000202, 0xfffffdfe, 0x00000606, 0xfffff9fa, 0x00000c0c, 0xfffff3f4, 0x00001414, - 0xffffebec, 0x00002020, 0xffffdfe0, 0x00002e2e, 0xffffd1d2, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000202, 0xfffffdfe, 0x00000606, 0xfffff9fa, 0x00000c0c, 0xfffff3f4, 0x00001414, 0xffffebec, - 0x00002020, 0xffffdfe0, 0x00002e2e, 0xffffd1d2, 0x02020000, 0x02020202, 0x0201fdfe, 0x02020606, - 0x0201f9fa, 0x02020c0c, 0x0201f3f4, 0x02021414, 0x0201ebec, 0x02022020, 0x0201dfe0, 0x02022e2e, - 0x0201d1d2, 0xfdfe0000, 0xfdfe0202, 0xfdfdfdfe, 0xfdfe0606, 0xfdfdf9fa, 0xfdfe0c0c, 0xfdfdf3f4, - 0xfdfe1414, 0xfdfdebec, 0xfdfe2020, 0xfdfddfe0, 0xfdfe2e2e, 0xfdfdd1d2, 0x06060000, 0x06060202, - 0x0605fdfe, 0x06060606, 0x0605f9fa, 0x06060c0c, 0x0605f3f4, 0x06061414, 0x0605ebec, 0x06062020, - 0x0605dfe0, 0x06062e2e, 0x0605d1d2, 0xf9fa0000, 0xf9fa0202, 0xf9f9fdfe, 0xf9fa0606, 0xf9f9f9fa, - 0xf9fa0c0c, 0xf9f9f3f4, 0xf9fa1414, 0xf9f9ebec, 0xf9fa2020, 0xf9f9dfe0, 0xf9fa2e2e, 0xf9f9d1d2, - 0x0c0c0000, 0x0c0c0202, 0x0c0bfdfe, 0x0c0c0606, 0x0c0bf9fa, 0x0c0c0c0c, 0x0c0bf3f4, 0x0c0c1414, - 0x0c0bebec, 0x0c0c2020, 0x0c0bdfe0, 0x0c0c2e2e, 0x0c0bd1d2, 0xf3f40000, 0xf3f40202, 0xf3f3fdfe, - 0xf3f40606, 0xf3f3f9fa, 0xf3f40c0c, 0xf3f3f3f4, 0xf3f41414, 0xf3f3ebec, 0xf3f42020, 0xf3f3dfe0, - 0xf3f42e2e, 0xf3f3d1d2, 0x14140000, 0x14140202, 0x1413fdfe, 0x14140606, 0x1413f9fa, 0x14140c0c, - 0x1413f3f4, 0x14141414, 0x1413ebec, 0x14142020, 0x1413dfe0, 0x14142e2e, 0x1413d1d2, 0xebec0000, - 0xebec0202, 0xebebfdfe, 0xebec0606, 0xebebf9fa, 0xebec0c0c, 0xebebf3f4, 0xebec1414, 0xebebebec, - 0xebec2020, 0xebebdfe0, 0xebec2e2e, 0xebebd1d2, 0x20200000, 0x20200202, 0x201ffdfe, 0x20200606, - 0x201ff9fa, 0x20200c0c, 0x201ff3f4, 0x20201414, 0x201febec, 0x20202020, 0x201fdfe0, 0x20202e2e, - 0x201fd1d2, 0xdfe00000, 0xdfe00202, 0xdfdffdfe, 0xdfe00606, 0xdfdff9fa, 0xdfe00c0c, 0xdfdff3f4, - 0xdfe01414, 0xdfdfebec, 0xdfe02020, 0xdfdfdfe0, 0xdfe02e2e, 0xdfdfd1d2, 0x2e2e0000, 0x2e2e0202, - 0x2e2dfdfe, 0x2e2e0606, 0x2e2df9fa, 0x2e2e0c0c, 0x2e2df3f4, 0x2e2e1414, 0x2e2debec, 0x2e2e2020, - 0x2e2ddfe0, 0x2e2e2e2e, 0x2e2dd1d2, 0xd1d20000, 0xd1d20202, 0xd1d1fdfe, 0xd1d20606, 0xd1d1f9fa, - 0xd1d20c0c, 0xd1d1f3f4, 0xd1d21414, 0xd1d1ebec, 0xd1d22020, 0xd1d1dfe0, 0xd1d22e2e, 0xd1d1d1d2, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000202, 0xfffffdfe, 0x00000606, 0xfffff9fa, 0x00000c0c, 0xfffff3f4, 0x00001414, - 0xffffebec, 0x00002020, 0xffffdfe0, 0x00002e2e, 0xffffd1d2, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000202, 0xfffffdfe, 0x00000606, 0xfffff9fa, 0x00000c0c, 0xfffff3f4, 0x00001414, 0xffffebec, - 0x00002020, 0xffffdfe0, 0x00002e2e, 0xffffd1d2, 0x02020000, 0x02020202, 0x0201fdfe, 0x02020606, - 0x0201f9fa, 0x02020c0c, 0x0201f3f4, 0x02021414, 0x0201ebec, 0x02022020, 0x0201dfe0, 0x02022e2e, - 0x0201d1d2, 0xfdfe0000, 0xfdfe0202, 0xfdfdfdfe, 0xfdfe0606, 0xfdfdf9fa, 0xfdfe0c0c, 0xfdfdf3f4, - 0xfdfe1414, 0xfdfdebec, 0xfdfe2020, 0xfdfddfe0, 0xfdfe2e2e, 0xfdfdd1d2, 0x06060000, 0x06060202, - 0x0605fdfe, 0x06060606, 0x0605f9fa, 0x06060c0c, 0x0605f3f4, 0x06061414, 0x0605ebec, 0x06062020, - 0x0605dfe0, 0x06062e2e, 0x0605d1d2, 0xf9fa0000, 0xf9fa0202, 0xf9f9fdfe, 0xf9fa0606, 0xf9f9f9fa, - 0xf9fa0c0c, 0xf9f9f3f4, 0xf9fa1414, 0xf9f9ebec, 0xf9fa2020, 0xf9f9dfe0, 0xf9fa2e2e, 0xf9f9d1d2, - 0x0c0c0000, 0x0c0c0202, 0x0c0bfdfe, 0x0c0c0606, 0x0c0bf9fa, 0x0c0c0c0c, 0x0c0bf3f4, 0x0c0c1414, - 0x0c0bebec, 0x0c0c2020, 0x0c0bdfe0, 0x0c0c2e2e, 0x0c0bd1d2, 0xf3f40000, 0xf3f40202, 0xf3f3fdfe, - 0xf3f40606, 0xf3f3f9fa, 0xf3f40c0c, 0xf3f3f3f4, 0xf3f41414, 0xf3f3ebec, 0xf3f42020, 0xf3f3dfe0, - 0xf3f42e2e, 0xf3f3d1d2, 0x14140000, 0x14140202, 0x1413fdfe, 0x14140606, 0x1413f9fa, 0x14140c0c, - 0x1413f3f4, 0x14141414, 0x1413ebec, 0x14142020, 0x1413dfe0, 0x14142e2e, 0x1413d1d2, 0xebec0000, - 0xebec0202, 0xebebfdfe, 0xebec0606, 0xebebf9fa, 0xebec0c0c, 0xebebf3f4, 0xebec1414, 0xebebebec, - 0xebec2020, 0xebebdfe0, 0xebec2e2e, 0xebebd1d2, 0x20200000, 0x20200202, 0x201ffdfe, 0x20200606, - 0x201ff9fa, 0x20200c0c, 0x201ff3f4, 0x20201414, 0x201febec, 0x20202020, 0x201fdfe0, 0x20202e2e, - 0x201fd1d2, 0xdfe00000, 0xdfe00202, 0xdfdffdfe, 0xdfe00606, 0xdfdff9fa, 0xdfe00c0c, 0xdfdff3f4, - 0xdfe01414, 0xdfdfebec, 0xdfe02020, 0xdfdfdfe0, 0xdfe02e2e, 0xdfdfd1d2, 0x2e2e0000, 0x2e2e0202, - 0x2e2dfdfe, 0x2e2e0606, 0x2e2df9fa, 0x2e2e0c0c, 0x2e2df3f4, 0x2e2e1414, 0x2e2debec, 0x2e2e2020, - 0x2e2ddfe0, 0x2e2e2e2e, 0x2e2dd1d2, 0xd1d20000, 0xd1d20202, 0xd1d1fdfe, 0xd1d20606, 0xd1d1f9fa, - 0xd1d20c0c, 0xd1d1f3f4, 0xd1d21414, 0xd1d1ebec, 0xd1d22020, 0xd1d1dfe0, 0xd1d22e2e, 0xd1d1d1d2, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000202, 0xfffffdfe, 0x00000606, 0xfffff9fa, 0x00000c0c, 0xfffff3f4, 0x00001414, - 0xffffebec, 0x00002020, 0xffffdfe0, 0x00002e2e, 0xffffd1d2, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000202, 0xfffffdfe, 0x00000606, 0xfffff9fa, 0x00000c0c, 0xfffff3f4, 0x00001414, 0xffffebec, - 0x00002020, 0xffffdfe0, 0x00002e2e, 0xffffd1d2, 0x02020000, 0x02020202, 0x0201fdfe, 0x02020606, - 0x0201f9fa, 0x02020c0c, 0x0201f3f4, 0x02021414, 0x0201ebec, 0x02022020, 0x0201dfe0, 0x02022e2e, - 0x0201d1d2, 0xfdfe0000, 0xfdfe0202, 0xfdfdfdfe, 0xfdfe0606, 0xfdfdf9fa, 0xfdfe0c0c, 0xfdfdf3f4, - 0xfdfe1414, 0xfdfdebec, 0xfdfe2020, 0xfdfddfe0, 0xfdfe2e2e, 0xfdfdd1d2, 0x06060000, 0x06060202, - 0x0605fdfe, 0x06060606, 0x0605f9fa, 0x06060c0c, 0x0605f3f4, 0x06061414, 0x0605ebec, 0x06062020, - 0x0605dfe0, 0x06062e2e, 0x0605d1d2, 0xf9fa0000, 0xf9fa0202, 0xf9f9fdfe, 0xf9fa0606, 0xf9f9f9fa, - 0xf9fa0c0c, 0xf9f9f3f4, 0xf9fa1414, 0xf9f9ebec, 0xf9fa2020, 0xf9f9dfe0, 0xf9fa2e2e, 0xf9f9d1d2, - 0x0c0c0000, 0x0c0c0202, 0x0c0bfdfe, 0x0c0c0606, 0x0c0bf9fa, 0x0c0c0c0c, 0x0c0bf3f4, 0x0c0c1414, - 0x0c0bebec, 0x0c0c2020, 0x0c0bdfe0, 0x0c0c2e2e, 0x0c0bd1d2, 0xf3f40000, 0xf3f40202, 0xf3f3fdfe, - 0xf3f40606, 0xf3f3f9fa, 0xf3f40c0c, 0xf3f3f3f4, 0xf3f41414, 0xf3f3ebec, 0xf3f42020, 0xf3f3dfe0, - 0xf3f42e2e, 0xf3f3d1d2, 0x14140000, 0x14140202, 0x1413fdfe, 0x14140606, 0x1413f9fa, 0x14140c0c, - 0x1413f3f4, 0x14141414, 0x1413ebec, 0x14142020, 0x1413dfe0, 0x14142e2e, 0x1413d1d2, 0xebec0000, - 0xebec0202, 0xebebfdfe, 0xebec0606, 0xebebf9fa, 0xebec0c0c, 0xebebf3f4, 0xebec1414, 0xebebebec, - 0xebec2020, 0xebebdfe0, 0xebec2e2e, 0xebebd1d2, 0x20200000, 0x20200202, 0x201ffdfe, 0x20200606, - 0x201ff9fa, 0x20200c0c, 0x201ff3f4, 0x20201414, 0x201febec, 0x20202020, 0x201fdfe0, 0x20202e2e, - 0x201fd1d2, 0xdfe00000, 0xdfe00202, 0xdfdffdfe, 0xdfe00606, 0xdfdff9fa, 0xdfe00c0c, 0xdfdff3f4, - 0xdfe01414, 0xdfdfebec, 0xdfe02020, 0xdfdfdfe0, 0xdfe02e2e, 0xdfdfd1d2, 0x2e2e0000, 0x2e2e0202, - 0x2e2dfdfe, 0x2e2e0606, 0x2e2df9fa, 0x2e2e0c0c, 0x2e2df3f4, 0x2e2e1414, 0x2e2debec, 0x2e2e2020, - 0x2e2ddfe0, 0x2e2e2e2e, 0x2e2dd1d2, 0xd1d20000, 0xd1d20202, 0xd1d1fdfe, 0xd1d20606, 0xd1d1f9fa, - 0xd1d20c0c, 0xd1d1f3f4, 0xd1d21414, 0xd1d1ebec, 0xd1d22020, 0xd1d1dfe0, 0xd1d22e2e, 0xd1d1d1d2, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000202, 0xfffffdfe, 0x00000606, 0xfffff9fa, 0x00000c0c, 0xfffff3f4, 0x00001414, - 0xffffebec, 0x00002020, 0xffffdfe0, 0x00002e2e, 0xffffd1d2, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000202, 0xfffffdfe, 0x00000606, 0xfffff9fa, 0x00000c0c, 0xfffff3f4, 0x00001414, 0xffffebec, - 0x00002020, 0xffffdfe0, 0x00002e2e, 0xffffd1d2, 0x02020000, 0x02020202, 0x0201fdfe, 0x02020606, - 0x0201f9fa, 0x02020c0c, 0x0201f3f4, 0x02021414, 0x0201ebec, 0x02022020, 0x0201dfe0, 0x02022e2e, - 0x0201d1d2, 0xfdfe0000, 0xfdfe0202, 0xfdfdfdfe, 0xfdfe0606, 0xfdfdf9fa, 0xfdfe0c0c, 0xfdfdf3f4, - 0xfdfe1414, 0xfdfdebec, 0xfdfe2020, 0xfdfddfe0, 0xfdfe2e2e, 0xfdfdd1d2, 0x06060000, 0x06060202, - 0x0605fdfe, 0x06060606, 0x0605f9fa, 0x06060c0c, 0x0605f3f4, 0x06061414, 0x0605ebec, 0x06062020, - 0x0605dfe0, 0x06062e2e, 0x0605d1d2, 0xf9fa0000, 0xf9fa0202, 0xf9f9fdfe, 0xf9fa0606, 0xf9f9f9fa, - 0xf9fa0c0c, 0xf9f9f3f4, 0xf9fa1414, 0xf9f9ebec, 0xf9fa2020, 0xf9f9dfe0, 0xf9fa2e2e, 0xf9f9d1d2, - 0x0c0c0000, 0x0c0c0202, 0x0c0bfdfe, 0x0c0c0606, 0x0c0bf9fa, 0x0c0c0c0c, 0x0c0bf3f4, 0x0c0c1414, - 0x0c0bebec, 0x0c0c2020, 0x0c0bdfe0, 0x0c0c2e2e, 0x0c0bd1d2, 0xf3f40000, 0xf3f40202, 0xf3f3fdfe, - 0xf3f40606, 0xf3f3f9fa, 0xf3f40c0c, 0xf3f3f3f4, 0xf3f41414, 0xf3f3ebec, 0xf3f42020, 0xf3f3dfe0, - 0xf3f42e2e, 0xf3f3d1d2, 0x14140000, 0x14140202, 0x1413fdfe, 0x14140606, 0x1413f9fa, 0x14140c0c, - 0x1413f3f4, 0x14141414, 0x1413ebec, 0x14142020, 0x1413dfe0, 0x14142e2e, 0x1413d1d2, 0xebec0000, - 0xebec0202, 0xebebfdfe, 0xebec0606, 0xebebf9fa, 0xebec0c0c, 0xebebf3f4, 0xebec1414, 0xebebebec, - 0xebec2020, 0xebebdfe0, 0xebec2e2e, 0xebebd1d2, 0x20200000, 0x20200202, 0x201ffdfe, 0x20200606, - 0x201ff9fa, 0x20200c0c, 0x201ff3f4, 0x20201414, 0x201febec, 0x20202020, 0x201fdfe0, 0x20202e2e, - 0x201fd1d2, 0xdfe00000, 0xdfe00202, 0xdfdffdfe, 0xdfe00606, 0xdfdff9fa, 0xdfe00c0c, 0xdfdff3f4, - 0xdfe01414, 0xdfdfebec, 0xdfe02020, 0xdfdfdfe0, 0xdfe02e2e, 0xdfdfd1d2, 0x2e2e0000, 0x2e2e0202, - 0x2e2dfdfe, 0x2e2e0606, 0x2e2df9fa, 0x2e2e0c0c, 0x2e2df3f4, 0x2e2e1414, 0x2e2debec, 0x2e2e2020, - 0x2e2ddfe0, 0x2e2e2e2e, 0x2e2dd1d2, 0xd1d20000, 0xd1d20202, 0xd1d1fdfe, 0xd1d20606, 0xd1d1f9fa, - 0xd1d20c0c, 0xd1d1f3f4, 0xd1d21414, 0xd1d1ebec, 0xd1d22020, 0xd1d1dfe0, 0xd1d22e2e, 0xd1d1d1d2, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 -}; - - -const uint32 Indeo3Decoder::correctionloworder[] = { - 0x00000000, 0x02020202, 0xfdfdfdfe, 0x0302feff, 0xfcfd0101, 0xfeff0303, 0x0100fcfd, 0x04040404, - 0xfbfbfbfc, 0x05050101, 0xfafafeff, 0x01010505, 0xfefefafb, 0x0403fbfc, 0xfbfc0404, 0x0605fdfe, - 0xf9fa0202, 0xfdfe0606, 0x0201f9fa, 0x09090404, 0xf6f6fbfc, 0x04040909, 0xfbfbf6f7, 0x09090909, - 0xf6f6f6f7, 0x0a0a0101, 0xf5f5feff, 0x01010a0a, 0xfefef5f6, 0x0807fafb, 0xf7f80505, 0xfafb0808, - 0x0504f7f8, 0x0f0f0909, 0xf0f0f6f7, 0x09090f0f, 0xf6f6f0f1, 0x0c0bfcfd, 0xf3f40303, 0xfcfd0c0c, - 0x0302f3f4, 0x10100404, 0xefeffbfc, 0x04041010, 0xfbfbeff0, 0x10101010, 0xefefeff0, 0x12120000, - 0xedee0000, 0x00001212, 0xffffedee, 0x0c0bf3f4, 0xf3f40c0c, 0x100ff6f7, 0xeff00909, 0xf6f71010, - 0x0908eff0, 0x1b1b0b0b, 0xe4e4f4f5, 0x0b0b1b1b, 0xf4f4e4e5, 0x1c1c1313, 0xe3e3eced, 0x13131c1c, - 0xecece3e4, 0x1615f9fa, 0xe9ea0606, 0xf9fa1616, 0x0605e9ea, 0x1d1d0404, 0xe2e2fbfc, 0x04041d1d, - 0xfbfbe2e3, 0x1e1e1e1e, 0xe1e1e1e2, 0x2120fdfe, 0xdedf0202, 0xfdfe2121, 0x0201dedf, 0x1716edee, - 0xe8e91212, 0xedee1717, 0x1211e8e9, 0x1e1df0f1, 0xe1e20f0f, 0xf0f11e1e, 0x0f0ee1e2, 0x2e2e1616, - 0xd1d1e9ea, 0x16162e2e, 0xe9e9d1d2, 0x2f2f0d0d, 0xd0d0f2f3, 0x0d0d2f2f, 0xf2f2d0d1, 0x31312323, - 0xcecedcdd, 0x23233131, 0xdcdccecf, 0x2928f4f5, 0xd6d70b0b, 0xf4f52929, 0x0b0ad6d7, 0x33330404, - 0xccccfbfc, 0x04043333, 0xfbfbcccd, 0x36363636, 0xc9c9c9ca, 0x2221ddde, 0xddde2222, 0x2a29e2e3, - 0xd5d61d1d, 0xe2e32a2a, 0x1d1cd5d6, 0x3c3bf9fa, 0xc3c40606, 0xf9fa3c3c, 0x0605c3c4, 0x4c4c1b1b, - 0xb3b3e4e5, 0x1b1b4c4c, 0xe4e4b3b4, 0x4d4d2b2b, 0xb2b2d4d5, 0x2b2b4d4d, 0xd4d4b2b3, 0x3736e7e8, - 0xc8c91818, 0xe7e83737, 0x1817c8c9, 0x4f4f0e0e, 0xb0b0f1f2, 0x0e0e4f4f, 0xf1f1b0b1, 0x53533f3f, - 0xacacc0c1, 0x3f3f5353, 0xc0c0acad, 0x4a49ebec, 0xb5b61414, 0xebec4a4a, 0x1413b5b6, 0x58580202, - 0xa7a7fdfe, 0x02025858, 0xfdfda7a8, 0x5d5d5d5d, 0xa2a2a2a3, 0x3d3ccbcc, 0xc2c33434, 0xcbcc3d3d, - 0x3433c2c3, 0x78783434, 0x8787cbcc, 0x34347878, 0xcbcb8788, 0x4b4ad2d3, 0xb4b52d2d, 0xd2d34b4b, - 0x2d2cb4b5, 0x7d7d4b4b, 0x8282b4b5, 0x4b4b7d7d, 0xb4b48283, 0x7a7a2121, 0x8585dedf, 0x21217a7a, - 0xdede8586, 0x6766f2f3, 0x98990d0d, 0xf2f36767, 0x0d0c9899, 0x605fd7d8, 0x9fa02828, 0xd7d86060, - 0x28279fa0, 0x7f7eddde, 0x80812222, 0xddde7f7f, 0x22218081, 0x5958a6a7, 0xa6a75959, 0x6968b1b2, - 0x96974e4e, 0xb1b26969, 0x4e4d9697, 0x0c0c0c0c, 0xf3f3f3f4, 0x17171717, 0xe8e8e8e9, 0x2a2a2a2a, - 0xd5d5d5d6, 0x49494949, 0xb6b6b6b7, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x02020202, 0x02020202, 0x02020202, 0x02020202, 0x02020202, 0x02020202, - 0x02020202, 0xfdfdfdfe, 0xfdfdfdfe, 0xfdfdfdfe, 0xfdfdfdfe, 0xfdfdfdfe, 0xfdfdfdfe, 0xfdfdfdfe, - 0x0302feff, 0x0302feff, 0x0302feff, 0x0302feff, 0x0302feff, 0x0302feff, 0x0302feff, 0xfcfd0101, - 0xfcfd0101, 0xfcfd0101, 0xfcfd0101, 0xfcfd0101, 0xfcfd0101, 0xfcfd0101, 0xfeff0303, 0xfeff0303, - 0xfeff0303, 0xfeff0303, 0xfeff0303, 0xfeff0303, 0xfeff0303, 0x0100fcfd, 0x0100fcfd, 0x0100fcfd, - 0x0100fcfd, 0x0100fcfd, 0x0100fcfd, 0x0100fcfd, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x03030303, 0xfcfcfcfd, 0x0403feff, 0xfbfc0101, 0xfeff0404, 0x0100fbfc, 0x07070707, - 0xf8f8f8f9, 0x08080202, 0xf7f7fdfe, 0x02020808, 0xfdfdf7f8, 0x0908fdfe, 0xf6f70202, 0xfdfe0909, - 0x0201f6f7, 0x0605f9fa, 0xf9fa0606, 0x0d0d0606, 0xf2f2f9fa, 0x06060d0d, 0xf9f9f2f3, 0x0d0d0d0d, - 0xf2f2f2f3, 0x0e0e0101, 0xf1f1feff, 0x01010e0e, 0xfefef1f2, 0x0c0bf7f8, 0xf3f40808, 0xf7f80c0c, - 0x0807f3f4, 0x17170e0e, 0xe8e8f1f2, 0x0e0e1717, 0xf1f1e8e9, 0x1211fafb, 0xedee0505, 0xfafb1212, - 0x0504edee, 0x18180606, 0xe7e7f9fa, 0x06061818, 0xf9f9e7e8, 0x18181818, 0xe7e7e7e8, 0x1b1afeff, - 0xe4e50101, 0xfeff1b1b, 0x0100e4e5, 0x1110eeef, 0xeeef1111, 0x1716f2f3, 0xe8e90d0d, 0xf2f31717, - 0x0d0ce8e9, 0x28281010, 0xd7d7eff0, 0x10102828, 0xefefd7d8, 0x29291c1c, 0xd6d6e3e4, 0x1c1c2929, - 0xe3e3d6d7, 0x2120f6f7, 0xdedf0909, 0xf6f72121, 0x0908dedf, 0x2b2b0606, 0xd4d4f9fa, 0x06062b2b, - 0xf9f9d4d5, 0x2e2e2e2e, 0xd1d1d1d2, 0x3231fbfc, 0xcdce0404, 0xfbfc3232, 0x0403cdce, 0x2221e4e5, - 0xddde1b1b, 0xe4e52222, 0x1b1addde, 0x2d2ce9ea, 0xd2d31616, 0xe9ea2d2d, 0x1615d2d3, 0x45452222, - 0xbabaddde, 0x22224545, 0xddddbabb, 0x46461313, 0xb9b9eced, 0x13134646, 0xececb9ba, 0x49493535, - 0xb6b6cacb, 0x35354949, 0xcacab6b7, 0x3e3deeef, 0xc1c21111, 0xeeef3e3e, 0x1110c1c2, 0x4d4d0505, - 0xb2b2fafb, 0x05054d4d, 0xfafab2b3, 0x52525252, 0xadadadae, 0x3332cccd, 0xcccd3333, 0x403fd4d5, - 0xbfc02b2b, 0xd4d54040, 0x2b2abfc0, 0x5a59f5f6, 0xa5a60a0a, 0xf5f65a5a, 0x0a09a5a6, 0x72722929, - 0x8d8dd6d7, 0x29297272, 0xd6d68d8e, 0x74744040, 0x8b8bbfc0, 0x40407474, 0xbfbf8b8c, 0x5251dadb, - 0xadae2525, 0xdadb5252, 0x2524adae, 0x77771616, 0x8888e9ea, 0x16167777, 0xe9e98889, 0x7c7c5f5f, - 0x8383a0a1, 0x5f5f7c7c, 0xa0a08384, 0x6f6ee1e2, 0x90911e1e, 0xe1e26f6f, 0x1e1d9091, 0x5c5bb1b2, - 0xa3a44e4e, 0xb1b25c5c, 0x4e4da3a4, 0x7170bbbc, 0x8e8f4444, 0xbbbc7171, 0x44438e8f, 0x12121212, - 0xedededee, 0x22222222, 0xddddddde, 0x3f3f3f3f, 0xc0c0c0c1, 0x6d6d6d6d, 0x92929293, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x03030303, 0x03030303, 0x03030303, 0x03030303, 0x03030303, 0x03030303, 0x03030303, 0x03030303, - 0x03030303, 0xfcfcfcfd, 0xfcfcfcfd, 0xfcfcfcfd, 0xfcfcfcfd, 0xfcfcfcfd, 0xfcfcfcfd, 0xfcfcfcfd, - 0xfcfcfcfd, 0xfcfcfcfd, 0x0403feff, 0x0403feff, 0x0403feff, 0x0403feff, 0x0403feff, 0x0403feff, - 0x0403feff, 0x0403feff, 0x0403feff, 0xfbfc0101, 0xfbfc0101, 0xfbfc0101, 0xfbfc0101, 0xfbfc0101, - 0xfbfc0101, 0xfbfc0101, 0xfbfc0101, 0xfbfc0101, 0xfeff0404, 0xfeff0404, 0xfeff0404, 0xfeff0404, - 0xfeff0404, 0xfeff0404, 0xfeff0404, 0xfeff0404, 0xfeff0404, 0x0100fbfc, 0x0100fbfc, 0x0100fbfc, - 0x0100fbfc, 0x0100fbfc, 0x0100fbfc, 0x0100fbfc, 0x0100fbfc, 0x0100fbfc, 0x07070707, 0x07070707, - 0x07070707, 0x07070707, 0x07070707, 0x07070707, 0x07070707, 0x07070707, 0x07070707, 0xf8f8f8f9, - 0xf8f8f8f9, 0xf8f8f8f9, 0xf8f8f8f9, 0xf8f8f8f9, 0xf8f8f8f9, 0xf8f8f8f9, 0xf8f8f8f9, 0xf8f8f8f9, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x04040404, 0xfbfbfbfc, 0x0504feff, 0xfafb0101, 0xfeff0505, 0x0100fafb, 0x0a0a0303, - 0xf5f5fcfd, 0x03030a0a, 0xfcfcf5f6, 0x09090909, 0xf6f6f6f7, 0x0706f8f9, 0xf8f90707, 0x0c0bfcfd, - 0xf3f40303, 0xfcfd0c0c, 0x0302f3f4, 0x11110808, 0xeeeef7f8, 0x08081111, 0xf7f7eeef, 0x11111111, - 0xeeeeeeef, 0x13130101, 0xececfeff, 0x01011313, 0xfefeeced, 0x100ff4f5, 0xeff00b0b, 0xf4f51010, - 0x0b0aeff0, 0x1716f9fa, 0xe8e90606, 0xf9fa1717, 0x0605e8e9, 0x1f1f1212, 0xe0e0edee, 0x12121f1f, - 0xedede0e1, 0x20200808, 0xdfdff7f8, 0x08082020, 0xf7f7dfe0, 0x21212121, 0xdedededf, 0x2423feff, - 0xdbdc0101, 0xfeff2424, 0x0100dbdc, 0x1716e8e9, 0xe8e91717, 0x1f1eeeef, 0xe0e11111, 0xeeef1f1f, - 0x1110e0e1, 0x36361515, 0xc9c9eaeb, 0x15153636, 0xeaeac9ca, 0x37372525, 0xc8c8dadb, 0x25253737, - 0xdadac8c9, 0x2c2bf3f4, 0xd3d40c0c, 0xf3f42c2c, 0x0c0bd3d4, 0x39390808, 0xc6c6f7f8, 0x08083939, - 0xf7f7c6c7, 0x3d3d3d3d, 0xc2c2c2c3, 0x4241fafb, 0xbdbe0505, 0xfafb4242, 0x0504bdbe, 0x2d2cdbdc, - 0xd2d32424, 0xdbdc2d2d, 0x2423d2d3, 0x3c3be2e3, 0xc3c41d1d, 0xe2e33c3c, 0x1d1cc3c4, 0x5c5c2d2d, - 0xa3a3d2d3, 0x2d2d5c5c, 0xd2d2a3a4, 0x5d5d1919, 0xa2a2e6e7, 0x19195d5d, 0xe6e6a2a3, 0x61614747, - 0x9e9eb8b9, 0x47476161, 0xb8b89e9f, 0x5352e9ea, 0xacad1616, 0xe9ea5353, 0x1615acad, 0x66660707, - 0x9999f8f9, 0x07076666, 0xf8f8999a, 0x6d6d6d6d, 0x92929293, 0x4443bbbc, 0xbbbc4444, 0x5554c6c7, - 0xaaab3939, 0xc6c75555, 0x3938aaab, 0x7877f2f3, 0x87880d0d, 0xf2f37878, 0x0d0c8788, 0x6e6dcecf, - 0x91923131, 0xcecf6e6e, 0x31309192, 0x7b7a9798, 0x84856868, 0x97987b7b, 0x68678485, 0x18181818, - 0xe7e7e7e8, 0x2e2e2e2e, 0xd1d1d1d2, 0x54545454, 0xabababac, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x04040404, - 0x04040404, 0x04040404, 0x04040404, 0x04040404, 0x04040404, 0x04040404, 0x04040404, 0x04040404, - 0x04040404, 0xfbfbfbfc, 0xfbfbfbfc, 0xfbfbfbfc, 0xfbfbfbfc, 0xfbfbfbfc, 0xfbfbfbfc, 0xfbfbfbfc, - 0xfbfbfbfc, 0xfbfbfbfc, 0xfbfbfbfc, 0x0504feff, 0x0504feff, 0x0504feff, 0x0504feff, 0x0504feff, - 0x0504feff, 0x0504feff, 0x0504feff, 0x0504feff, 0x0504feff, 0xfafb0101, 0xfafb0101, 0xfafb0101, - 0xfafb0101, 0xfafb0101, 0xfafb0101, 0xfafb0101, 0xfafb0101, 0xfafb0101, 0xfafb0101, 0xfeff0505, - 0xfeff0505, 0xfeff0505, 0xfeff0505, 0xfeff0505, 0xfeff0505, 0xfeff0505, 0xfeff0505, 0xfeff0505, - 0xfeff0505, 0x0100fafb, 0x0100fafb, 0x0100fafb, 0x0100fafb, 0x0100fafb, 0x0100fafb, 0x0100fafb, - 0x0100fafb, 0x0100fafb, 0x0100fafb, 0x0a0a0303, 0x0a0a0303, 0x0a0a0303, 0x0a0a0303, 0x0a0a0303, - 0x0a0a0303, 0x0a0a0303, 0x0a0a0303, 0x0a0a0303, 0x0a0a0303, 0xf5f5fcfd, 0xf5f5fcfd, 0xf5f5fcfd, - 0xf5f5fcfd, 0xf5f5fcfd, 0xf5f5fcfd, 0xf5f5fcfd, 0xf5f5fcfd, 0xf5f5fcfd, 0xf5f5fcfd, 0x03030a0a, - 0x03030a0a, 0x03030a0a, 0x03030a0a, 0x03030a0a, 0x03030a0a, 0x03030a0a, 0x03030a0a, 0x03030a0a, - 0x03030a0a, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x05050505, 0xfafafafb, 0x0706fdfe, 0xf8f90202, 0xfdfe0707, 0x0201f8f9, 0x0b0b0b0b, - 0xf4f4f4f5, 0x0d0d0303, 0xf2f2fcfd, 0x03030d0d, 0xfcfcf2f3, 0x0908f6f7, 0xf6f70909, 0x0f0efbfc, - 0xf0f10404, 0xfbfc0f0f, 0x0403f0f1, 0x16160b0b, 0xe9e9f4f5, 0x0b0b1616, 0xf4f4e9ea, 0x15151515, - 0xeaeaeaeb, 0x18180202, 0xe7e7fdfe, 0x02021818, 0xfdfde7e8, 0x1413f1f2, 0xebec0e0e, 0xf1f21414, - 0x0e0debec, 0x26261717, 0xd9d9e8e9, 0x17172626, 0xe8e8d9da, 0x1d1cf7f8, 0xe2e30808, 0xf7f81d1d, - 0x0807e2e3, 0x27270b0b, 0xd8d8f4f5, 0x0b0b2727, 0xf4f4d8d9, 0x29292929, 0xd6d6d6d7, 0x2d2cfeff, - 0xd2d30101, 0xfeff2d2d, 0x0100d2d3, 0x1d1ce2e3, 0xe2e31d1d, 0x2726e9ea, 0xd8d91616, 0xe9ea2727, - 0x1615d8d9, 0x43431b1b, 0xbcbce4e5, 0x1b1b4343, 0xe4e4bcbd, 0x45452f2f, 0xbabad0d1, 0x2f2f4545, - 0xd0d0babb, 0x3837f0f1, 0xc7c80f0f, 0xf0f13838, 0x0f0ec7c8, 0x47470b0b, 0xb8b8f4f5, 0x0b0b4747, - 0xf4f4b8b9, 0x4c4c4c4c, 0xb3b3b3b4, 0x5352f9fa, 0xacad0606, 0xf9fa5353, 0x0605acad, 0x3938d2d3, - 0xc6c72d2d, 0xd2d33939, 0x2d2cc6c7, 0x4b4adbdc, 0xb4b52424, 0xdbdc4b4b, 0x2423b4b5, 0x73733838, - 0x8c8cc7c8, 0x38387373, 0xc7c78c8d, 0x75751f1f, 0x8a8ae0e1, 0x1f1f7575, 0xe0e08a8b, 0x7a7a5858, - 0x8585a7a8, 0x58587a7a, 0xa7a78586, 0x6867e3e4, 0x97981c1c, 0xe3e46868, 0x1c1b9798, 0x5554aaab, - 0xaaab5555, 0x6a69b7b8, 0x95964848, 0xb7b86a6a, 0x48479596, 0x1e1e1e1e, 0xe1e1e1e2, 0x3a3a3a3a, - 0xc5c5c5c6, 0x69696969, 0x96969697, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x05050505, 0x05050505, - 0x05050505, 0x05050505, 0x05050505, 0x05050505, 0x05050505, 0x05050505, 0x05050505, 0x05050505, - 0x05050505, 0xfafafafb, 0xfafafafb, 0xfafafafb, 0xfafafafb, 0xfafafafb, 0xfafafafb, 0xfafafafb, - 0xfafafafb, 0xfafafafb, 0xfafafafb, 0xfafafafb, 0x0706fdfe, 0x0706fdfe, 0x0706fdfe, 0x0706fdfe, - 0x0706fdfe, 0x0706fdfe, 0x0706fdfe, 0x0706fdfe, 0x0706fdfe, 0x0706fdfe, 0x0706fdfe, 0xf8f90202, - 0xf8f90202, 0xf8f90202, 0xf8f90202, 0xf8f90202, 0xf8f90202, 0xf8f90202, 0xf8f90202, 0xf8f90202, - 0xf8f90202, 0xf8f90202, 0xfdfe0707, 0xfdfe0707, 0xfdfe0707, 0xfdfe0707, 0xfdfe0707, 0xfdfe0707, - 0xfdfe0707, 0xfdfe0707, 0xfdfe0707, 0xfdfe0707, 0xfdfe0707, 0x0201f8f9, 0x0201f8f9, 0x0201f8f9, - 0x0201f8f9, 0x0201f8f9, 0x0201f8f9, 0x0201f8f9, 0x0201f8f9, 0x0201f8f9, 0x0201f8f9, 0x0201f8f9, - 0x0b0b0b0b, 0x0b0b0b0b, 0x0b0b0b0b, 0x0b0b0b0b, 0x0b0b0b0b, 0x0b0b0b0b, 0x0b0b0b0b, 0x0b0b0b0b, - 0x0b0b0b0b, 0x0b0b0b0b, 0x0b0b0b0b, 0xf4f4f4f5, 0xf4f4f4f5, 0xf4f4f4f5, 0xf4f4f4f5, 0xf4f4f4f5, - 0xf4f4f4f5, 0xf4f4f4f5, 0xf4f4f4f5, 0xf4f4f4f5, 0xf4f4f4f5, 0xf4f4f4f5, 0x0d0d0303, 0x0d0d0303, - 0x0d0d0303, 0x0d0d0303, 0x0d0d0303, 0x0d0d0303, 0x0d0d0303, 0x0d0d0303, 0x0d0d0303, 0x0d0d0303, - 0x0d0d0303, 0xf2f2fcfd, 0xf2f2fcfd, 0xf2f2fcfd, 0xf2f2fcfd, 0xf2f2fcfd, 0xf2f2fcfd, 0xf2f2fcfd, - 0xf2f2fcfd, 0xf2f2fcfd, 0xf2f2fcfd, 0xf2f2fcfd, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x06060606, 0xf9f9f9fa, 0x0807fdfe, 0xf7f80202, 0xfdfe0808, 0x0201f7f8, 0x0d0d0d0d, - 0xf2f2f2f3, 0x0f0f0404, 0xf0f0fbfc, 0x04040f0f, 0xfbfbf0f1, 0x0b0af4f5, 0xf4f50b0b, 0x1211fafb, - 0xedee0505, 0xfafb1212, 0x0504edee, 0x1a1a0d0d, 0xe5e5f2f3, 0x0d0d1a1a, 0xf2f2e5e6, 0x1a1a1a1a, - 0xe5e5e5e6, 0x1d1d0202, 0xe2e2fdfe, 0x02021d1d, 0xfdfde2e3, 0x1817eff0, 0xe7e81010, 0xeff01818, - 0x100fe7e8, 0x2e2e1c1c, 0xd1d1e3e4, 0x1c1c2e2e, 0xe3e3d1d2, 0x2322f6f7, 0xdcdd0909, 0xf6f72323, - 0x0908dcdd, 0x2f2f0d0d, 0xd0d0f2f3, 0x0d0d2f2f, 0xf2f2d0d1, 0x31313131, 0xcecececf, 0x3635feff, - 0xc9ca0101, 0xfeff3636, 0x0100c9ca, 0x2322dcdd, 0xdcdd2323, 0x2f2ee5e6, 0xd0d11a1a, 0xe5e62f2f, - 0x1a19d0d1, 0x51512020, 0xaeaedfe0, 0x20205151, 0xdfdfaeaf, 0x53533838, 0xacacc7c8, 0x38385353, - 0xc7c7acad, 0x4342edee, 0xbcbd1212, 0xedee4343, 0x1211bcbd, 0x56560d0d, 0xa9a9f2f3, 0x0d0d5656, - 0xf2f2a9aa, 0x5b5b5b5b, 0xa4a4a4a5, 0x6362f8f9, 0x9c9d0707, 0xf8f96363, 0x07069c9d, 0x4443c9ca, - 0xbbbc3636, 0xc9ca4444, 0x3635bbbc, 0x5a59d3d4, 0xa5a62c2c, 0xd3d45a5a, 0x2c2ba5a6, 0x7c7bdedf, - 0x83842121, 0xdedf7c7c, 0x21208384, 0x67669899, 0x98996767, 0x7f7ea9aa, 0x80815656, 0xa9aa7f7f, - 0x56558081, 0x25252525, 0xdadadadb, 0x45454545, 0xbabababb, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x06060606, 0x06060606, 0x06060606, 0x06060606, 0x06060606, 0x06060606, 0x06060606, - 0x06060606, 0x06060606, 0x06060606, 0x06060606, 0x06060606, 0xf9f9f9fa, 0xf9f9f9fa, 0xf9f9f9fa, - 0xf9f9f9fa, 0xf9f9f9fa, 0xf9f9f9fa, 0xf9f9f9fa, 0xf9f9f9fa, 0xf9f9f9fa, 0xf9f9f9fa, 0xf9f9f9fa, - 0xf9f9f9fa, 0x0807fdfe, 0x0807fdfe, 0x0807fdfe, 0x0807fdfe, 0x0807fdfe, 0x0807fdfe, 0x0807fdfe, - 0x0807fdfe, 0x0807fdfe, 0x0807fdfe, 0x0807fdfe, 0x0807fdfe, 0xf7f80202, 0xf7f80202, 0xf7f80202, - 0xf7f80202, 0xf7f80202, 0xf7f80202, 0xf7f80202, 0xf7f80202, 0xf7f80202, 0xf7f80202, 0xf7f80202, - 0xf7f80202, 0xfdfe0808, 0xfdfe0808, 0xfdfe0808, 0xfdfe0808, 0xfdfe0808, 0xfdfe0808, 0xfdfe0808, - 0xfdfe0808, 0xfdfe0808, 0xfdfe0808, 0xfdfe0808, 0xfdfe0808, 0x0201f7f8, 0x0201f7f8, 0x0201f7f8, - 0x0201f7f8, 0x0201f7f8, 0x0201f7f8, 0x0201f7f8, 0x0201f7f8, 0x0201f7f8, 0x0201f7f8, 0x0201f7f8, - 0x0201f7f8, 0x0d0d0d0d, 0x0d0d0d0d, 0x0d0d0d0d, 0x0d0d0d0d, 0x0d0d0d0d, 0x0d0d0d0d, 0x0d0d0d0d, - 0x0d0d0d0d, 0x0d0d0d0d, 0x0d0d0d0d, 0x0d0d0d0d, 0x0d0d0d0d, 0xf2f2f2f3, 0xf2f2f2f3, 0xf2f2f2f3, - 0xf2f2f2f3, 0xf2f2f2f3, 0xf2f2f2f3, 0xf2f2f2f3, 0xf2f2f2f3, 0xf2f2f2f3, 0xf2f2f2f3, 0xf2f2f2f3, - 0xf2f2f2f3, 0x0f0f0404, 0x0f0f0404, 0x0f0f0404, 0x0f0f0404, 0x0f0f0404, 0x0f0f0404, 0x0f0f0404, - 0x0f0f0404, 0x0f0f0404, 0x0f0f0404, 0x0f0f0404, 0x0f0f0404, 0xf0f0fbfc, 0xf0f0fbfc, 0xf0f0fbfc, - 0xf0f0fbfc, 0xf0f0fbfc, 0xf0f0fbfc, 0xf0f0fbfc, 0xf0f0fbfc, 0xf0f0fbfc, 0xf0f0fbfc, 0xf0f0fbfc, - 0xf0f0fbfc, 0x04040f0f, 0x04040f0f, 0x04040f0f, 0x04040f0f, 0x04040f0f, 0x04040f0f, 0x04040f0f, - 0x04040f0f, 0x04040f0f, 0x04040f0f, 0x04040f0f, 0x04040f0f, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x07070707, 0xf8f8f8f9, 0x0a09fcfd, 0xf5f60303, 0xfcfd0a0a, 0x0302f5f6, 0x10101010, - 0xefefeff0, 0x12120505, 0xededfafb, 0x05051212, 0xfafaedee, 0x0d0cf2f3, 0xf2f30d0d, 0x1514f9fa, - 0xeaeb0606, 0xf9fa1515, 0x0605eaeb, 0x1e1e0f0f, 0xe1e1f0f1, 0x0f0f1e1e, 0xf0f0e1e2, 0x1e1e1e1e, - 0xe1e1e1e2, 0x22220202, 0xddddfdfe, 0x02022222, 0xfdfdddde, 0x1c1beced, 0xe3e41313, 0xeced1c1c, - 0x1312e3e4, 0x36362020, 0xc9c9dfe0, 0x20203636, 0xdfdfc9ca, 0x2928f4f5, 0xd6d70b0b, 0xf4f52929, - 0x0b0ad6d7, 0x37370f0f, 0xc8c8f0f1, 0x0f0f3737, 0xf0f0c8c9, 0x39393939, 0xc6c6c6c7, 0x3f3efeff, - 0xc0c10101, 0xfeff3f3f, 0x0100c0c1, 0x2827d7d8, 0xd7d82828, 0x3736e1e2, 0xc8c91e1e, 0xe1e23737, - 0x1e1dc8c9, 0x5e5e2525, 0xa1a1dadb, 0x25255e5e, 0xdadaa1a2, 0x60604141, 0x9f9fbebf, 0x41416060, - 0xbebe9fa0, 0x4e4deaeb, 0xb1b21515, 0xeaeb4e4e, 0x1514b1b2, 0x64640f0f, 0x9b9bf0f1, 0x0f0f6464, - 0xf0f09b9c, 0x6a6a6a6a, 0x95959596, 0x7473f7f8, 0x8b8c0808, 0xf7f87474, 0x08078b8c, 0x4f4ec0c1, - 0xb0b13f3f, 0xc0c14f4f, 0x3f3eb0b1, 0x6968cccd, 0x96973333, 0xcccd6969, 0x33329697, 0x78778788, - 0x87887878, 0x2b2b2b2b, 0xd4d4d4d5, 0x50505050, 0xafafafb0, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x07070707, 0x07070707, 0x07070707, 0x07070707, 0x07070707, 0x07070707, 0x07070707, - 0x07070707, 0x07070707, 0x07070707, 0x07070707, 0x07070707, 0xf8f8f8f9, 0xf8f8f8f9, 0xf8f8f8f9, - 0xf8f8f8f9, 0xf8f8f8f9, 0xf8f8f8f9, 0xf8f8f8f9, 0xf8f8f8f9, 0xf8f8f8f9, 0xf8f8f8f9, 0xf8f8f8f9, - 0xf8f8f8f9, 0x0a09fcfd, 0x0a09fcfd, 0x0a09fcfd, 0x0a09fcfd, 0x0a09fcfd, 0x0a09fcfd, 0x0a09fcfd, - 0x0a09fcfd, 0x0a09fcfd, 0x0a09fcfd, 0x0a09fcfd, 0x0a09fcfd, 0xf5f60303, 0xf5f60303, 0xf5f60303, - 0xf5f60303, 0xf5f60303, 0xf5f60303, 0xf5f60303, 0xf5f60303, 0xf5f60303, 0xf5f60303, 0xf5f60303, - 0xf5f60303, 0xfcfd0a0a, 0xfcfd0a0a, 0xfcfd0a0a, 0xfcfd0a0a, 0xfcfd0a0a, 0xfcfd0a0a, 0xfcfd0a0a, - 0xfcfd0a0a, 0xfcfd0a0a, 0xfcfd0a0a, 0xfcfd0a0a, 0xfcfd0a0a, 0x0302f5f6, 0x0302f5f6, 0x0302f5f6, - 0x0302f5f6, 0x0302f5f6, 0x0302f5f6, 0x0302f5f6, 0x0302f5f6, 0x0302f5f6, 0x0302f5f6, 0x0302f5f6, - 0x0302f5f6, 0x10101010, 0x10101010, 0x10101010, 0x10101010, 0x10101010, 0x10101010, 0x10101010, - 0x10101010, 0x10101010, 0x10101010, 0x10101010, 0x10101010, 0xefefeff0, 0xefefeff0, 0xefefeff0, - 0xefefeff0, 0xefefeff0, 0xefefeff0, 0xefefeff0, 0xefefeff0, 0xefefeff0, 0xefefeff0, 0xefefeff0, - 0xefefeff0, 0x12120505, 0x12120505, 0x12120505, 0x12120505, 0x12120505, 0x12120505, 0x12120505, - 0x12120505, 0x12120505, 0x12120505, 0x12120505, 0x12120505, 0xededfafb, 0xededfafb, 0xededfafb, - 0xededfafb, 0xededfafb, 0xededfafb, 0xededfafb, 0xededfafb, 0xededfafb, 0xededfafb, 0xededfafb, - 0xededfafb, 0x05051212, 0x05051212, 0x05051212, 0x05051212, 0x05051212, 0x05051212, 0x05051212, - 0x05051212, 0x05051212, 0x05051212, 0x05051212, 0x05051212, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x08080808, 0xf7f7f7f8, 0x0b0afcfd, 0xf4f50303, 0xfcfd0b0b, 0x0302f4f5, 0x12121212, - 0xedededee, 0x14140505, 0xebebfafb, 0x05051414, 0xfafaebec, 0x0f0ef0f1, 0xf0f10f0f, 0x1817f8f9, - 0xe7e80707, 0xf8f91818, 0x0706e7e8, 0x23231111, 0xdcdceeef, 0x11112323, 0xeeeedcdd, 0x22222222, - 0xddddddde, 0x26260303, 0xd9d9fcfd, 0x03032626, 0xfcfcd9da, 0x201fe9ea, 0xdfe01616, 0xe9ea2020, - 0x1615dfe0, 0x3d3d2525, 0xc2c2dadb, 0x25253d3d, 0xdadac2c3, 0x2f2ef2f3, 0xd0d10d0d, 0xf2f32f2f, - 0x0d0cd0d1, 0x3f3f1111, 0xc0c0eeef, 0x11113f3f, 0xeeeec0c1, 0x41414141, 0xbebebebf, 0x4847feff, - 0xb7b80101, 0xfeff4848, 0x0100b7b8, 0x2e2dd1d2, 0xd1d22e2e, 0x3f3edcdd, 0xc0c12323, 0xdcdd3f3f, - 0x2322c0c1, 0x6b6b2b2b, 0x9494d4d5, 0x2b2b6b6b, 0xd4d49495, 0x6e6e4b4b, 0x9191b4b5, 0x4b4b6e6e, - 0xb4b49192, 0x5958e7e8, 0xa6a71818, 0xe7e85959, 0x1817a6a7, 0x72721111, 0x8d8deeef, 0x11117272, - 0xeeee8d8e, 0x79797979, 0x86868687, 0x5b5ab7b8, 0xa4a54848, 0xb7b85b5b, 0x4847a4a5, 0x7877c5c6, - 0x87883a3a, 0xc5c67878, 0x3a398788, 0x31313131, 0xcecececf, 0x5c5c5c5c, 0xa3a3a3a4, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x08080808, 0x08080808, 0x08080808, 0x08080808, 0x08080808, - 0x08080808, 0x08080808, 0x08080808, 0x08080808, 0x08080808, 0x08080808, 0x08080808, 0xf7f7f7f8, - 0xf7f7f7f8, 0xf7f7f7f8, 0xf7f7f7f8, 0xf7f7f7f8, 0xf7f7f7f8, 0xf7f7f7f8, 0xf7f7f7f8, 0xf7f7f7f8, - 0xf7f7f7f8, 0xf7f7f7f8, 0xf7f7f7f8, 0x0b0afcfd, 0x0b0afcfd, 0x0b0afcfd, 0x0b0afcfd, 0x0b0afcfd, - 0x0b0afcfd, 0x0b0afcfd, 0x0b0afcfd, 0x0b0afcfd, 0x0b0afcfd, 0x0b0afcfd, 0x0b0afcfd, 0xf4f50303, - 0xf4f50303, 0xf4f50303, 0xf4f50303, 0xf4f50303, 0xf4f50303, 0xf4f50303, 0xf4f50303, 0xf4f50303, - 0xf4f50303, 0xf4f50303, 0xf4f50303, 0xfcfd0b0b, 0xfcfd0b0b, 0xfcfd0b0b, 0xfcfd0b0b, 0xfcfd0b0b, - 0xfcfd0b0b, 0xfcfd0b0b, 0xfcfd0b0b, 0xfcfd0b0b, 0xfcfd0b0b, 0xfcfd0b0b, 0xfcfd0b0b, 0x0302f4f5, - 0x0302f4f5, 0x0302f4f5, 0x0302f4f5, 0x0302f4f5, 0x0302f4f5, 0x0302f4f5, 0x0302f4f5, 0x0302f4f5, - 0x0302f4f5, 0x0302f4f5, 0x0302f4f5, 0x12121212, 0x12121212, 0x12121212, 0x12121212, 0x12121212, - 0x12121212, 0x12121212, 0x12121212, 0x12121212, 0x12121212, 0x12121212, 0x12121212, 0xedededee, - 0xedededee, 0xedededee, 0xedededee, 0xedededee, 0xedededee, 0xedededee, 0xedededee, 0xedededee, - 0xedededee, 0xedededee, 0xedededee, 0x14140505, 0x14140505, 0x14140505, 0x14140505, 0x14140505, - 0x14140505, 0x14140505, 0x14140505, 0x14140505, 0x14140505, 0x14140505, 0x14140505, 0xebebfafb, - 0xebebfafb, 0xebebfafb, 0xebebfafb, 0xebebfafb, 0xebebfafb, 0xebebfafb, 0xebebfafb, 0xebebfafb, - 0xebebfafb, 0xebebfafb, 0xebebfafb, 0x05051414, 0x05051414, 0x05051414, 0x05051414, 0x05051414, - 0x05051414, 0x05051414, 0x05051414, 0x05051414, 0x05051414, 0x05051414, 0x05051414, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x09090909, 0xf6f6f6f7, 0x0c0bfcfd, 0xf3f40303, 0xfcfd0c0c, 0x0302f3f4, 0x14141414, - 0xebebebec, 0x17170606, 0xe8e8f9fa, 0x06061717, 0xf9f9e8e9, 0x1110eeef, 0xeeef1111, 0x1b1af8f9, - 0xe4e50707, 0xf8f91b1b, 0x0706e4e5, 0x27271313, 0xd8d8eced, 0x13132727, 0xececd8d9, 0x27272727, - 0xd8d8d8d9, 0x2b2b0303, 0xd4d4fcfd, 0x03032b2b, 0xfcfcd4d5, 0x2423e7e8, 0xdbdc1818, 0xe7e82424, - 0x1817dbdc, 0x45452a2a, 0xbabad5d6, 0x2a2a4545, 0xd5d5babb, 0x3534f1f2, 0xcacb0e0e, 0xf1f23535, - 0x0e0dcacb, 0x47471313, 0xb8b8eced, 0x13134747, 0xececb8b9, 0x49494949, 0xb6b6b6b7, 0x504ffdfe, - 0xafb00202, 0xfdfe5050, 0x0201afb0, 0x3433cbcc, 0xcbcc3434, 0x4645d8d9, 0xb9ba2727, 0xd8d94646, - 0x2726b9ba, 0x79793030, 0x8686cfd0, 0x30307979, 0xcfcf8687, 0x7c7c5454, 0x8383abac, 0x54547c7c, - 0xabab8384, 0x6463e4e5, 0x9b9c1b1b, 0xe4e56464, 0x1b1a9b9c, 0x6665aeaf, 0x999a5151, 0xaeaf6666, - 0x5150999a, 0x37373737, 0xc8c8c8c9, 0x68686868, 0x97979798, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x09090909, 0x09090909, 0x09090909, 0x09090909, 0x09090909, 0x09090909, - 0x09090909, 0x09090909, 0x09090909, 0x09090909, 0x09090909, 0x09090909, 0x09090909, 0xf6f6f6f7, - 0xf6f6f6f7, 0xf6f6f6f7, 0xf6f6f6f7, 0xf6f6f6f7, 0xf6f6f6f7, 0xf6f6f6f7, 0xf6f6f6f7, 0xf6f6f6f7, - 0xf6f6f6f7, 0xf6f6f6f7, 0xf6f6f6f7, 0xf6f6f6f7, 0x0c0bfcfd, 0x0c0bfcfd, 0x0c0bfcfd, 0x0c0bfcfd, - 0x0c0bfcfd, 0x0c0bfcfd, 0x0c0bfcfd, 0x0c0bfcfd, 0x0c0bfcfd, 0x0c0bfcfd, 0x0c0bfcfd, 0x0c0bfcfd, - 0x0c0bfcfd, 0xf3f40303, 0xf3f40303, 0xf3f40303, 0xf3f40303, 0xf3f40303, 0xf3f40303, 0xf3f40303, - 0xf3f40303, 0xf3f40303, 0xf3f40303, 0xf3f40303, 0xf3f40303, 0xf3f40303, 0xfcfd0c0c, 0xfcfd0c0c, - 0xfcfd0c0c, 0xfcfd0c0c, 0xfcfd0c0c, 0xfcfd0c0c, 0xfcfd0c0c, 0xfcfd0c0c, 0xfcfd0c0c, 0xfcfd0c0c, - 0xfcfd0c0c, 0xfcfd0c0c, 0xfcfd0c0c, 0x0302f3f4, 0x0302f3f4, 0x0302f3f4, 0x0302f3f4, 0x0302f3f4, - 0x0302f3f4, 0x0302f3f4, 0x0302f3f4, 0x0302f3f4, 0x0302f3f4, 0x0302f3f4, 0x0302f3f4, 0x0302f3f4, - 0x14141414, 0x14141414, 0x14141414, 0x14141414, 0x14141414, 0x14141414, 0x14141414, 0x14141414, - 0x14141414, 0x14141414, 0x14141414, 0x14141414, 0x14141414, 0xebebebec, 0xebebebec, 0xebebebec, - 0xebebebec, 0xebebebec, 0xebebebec, 0xebebebec, 0xebebebec, 0xebebebec, 0xebebebec, 0xebebebec, - 0xebebebec, 0xebebebec, 0x17170606, 0x17170606, 0x17170606, 0x17170606, 0x17170606, 0x17170606, - 0x17170606, 0x17170606, 0x17170606, 0x17170606, 0x17170606, 0x17170606, 0x17170606, 0xe8e8f9fa, - 0xe8e8f9fa, 0xe8e8f9fa, 0xe8e8f9fa, 0xe8e8f9fa, 0xe8e8f9fa, 0xe8e8f9fa, 0xe8e8f9fa, 0xe8e8f9fa, - 0xe8e8f9fa, 0xe8e8f9fa, 0xe8e8f9fa, 0xe8e8f9fa, 0x06061717, 0x06061717, 0x06061717, 0x06061717, - 0x06061717, 0x06061717, 0x06061717, 0x06061717, 0x06061717, 0x06061717, 0x06061717, 0x06061717, - 0x06061717, 0xf9f9e8e9, 0xf9f9e8e9, 0xf9f9e8e9, 0xf9f9e8e9, 0xf9f9e8e9, 0xf9f9e8e9, 0xf9f9e8e9, - 0xf9f9e8e9, 0xf9f9e8e9, 0xf9f9e8e9, 0xf9f9e8e9, 0xf9f9e8e9, 0xf9f9e8e9, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x02020202, 0xfdfdfdfe, 0x02020000, 0xfdfe0000, 0x00000202, 0xfffffdfe, 0x04040404, - 0xfbfbfbfc, 0x04040000, 0xfbfc0000, 0x00000404, 0xfffffbfc, 0x0403fbfc, 0xfbfc0404, 0x0605fdfe, - 0xf9fa0202, 0xfdfe0606, 0x0201f9fa, 0x08080404, 0xf7f7fbfc, 0x04040808, 0xfbfbf7f8, 0x08080808, - 0xf7f7f7f8, 0x0a0a0000, 0xf5f60000, 0x00000a0a, 0xfffff5f6, 0x0807fbfc, 0xf7f80404, 0xfbfc0808, - 0x0403f7f8, 0x0e0e0808, 0xf1f1f7f8, 0x08080e0e, 0xf7f7f1f2, 0x0c0bfdfe, 0xf3f40202, 0xfdfe0c0c, - 0x0201f3f4, 0x10100404, 0xefeffbfc, 0x04041010, 0xfbfbeff0, 0x10101010, 0xefefeff0, 0x12120000, - 0xedee0000, 0x00001212, 0xffffedee, 0x0c0bf3f4, 0xf3f40c0c, 0x100ff7f8, 0xeff00808, 0xf7f81010, - 0x0807eff0, 0x1a1a0a0a, 0xe5e5f5f6, 0x0a0a1a1a, 0xf5f5e5e6, 0x1c1c1212, 0xe3e3edee, 0x12121c1c, - 0xedede3e4, 0x1615f9fa, 0xe9ea0606, 0xf9fa1616, 0x0605e9ea, 0x1c1c0404, 0xe3e3fbfc, 0x04041c1c, - 0xfbfbe3e4, 0x1e1e1e1e, 0xe1e1e1e2, 0x201ffdfe, 0xdfe00202, 0xfdfe2020, 0x0201dfe0, 0x1615edee, - 0xe9ea1212, 0xedee1616, 0x1211e9ea, 0x1e1df1f2, 0xe1e20e0e, 0xf1f21e1e, 0x0e0de1e2, 0x2e2e1616, - 0xd1d1e9ea, 0x16162e2e, 0xe9e9d1d2, 0x2e2e0c0c, 0xd1d1f3f4, 0x0c0c2e2e, 0xf3f3d1d2, 0x30302222, - 0xcfcfddde, 0x22223030, 0xddddcfd0, 0x2827f5f6, 0xd7d80a0a, 0xf5f62828, 0x0a09d7d8, 0x32320404, - 0xcdcdfbfc, 0x04043232, 0xfbfbcdce, 0x36363636, 0xc9c9c9ca, 0x2221ddde, 0xddde2222, 0x2a29e3e4, - 0xd5d61c1c, 0xe3e42a2a, 0x1c1bd5d6, 0x3c3bf9fa, 0xc3c40606, 0xf9fa3c3c, 0x0605c3c4, 0x4c4c1a1a, - 0xb3b3e5e6, 0x1a1a4c4c, 0xe5e5b3b4, 0x4c4c2a2a, 0xb3b3d5d6, 0x2a2a4c4c, 0xd5d5b3b4, 0x3635e7e8, - 0xc9ca1818, 0xe7e83636, 0x1817c9ca, 0x4e4e0e0e, 0xb1b1f1f2, 0x0e0e4e4e, 0xf1f1b1b2, 0x52523e3e, - 0xadadc1c2, 0x3e3e5252, 0xc1c1adae, 0x4a49ebec, 0xb5b61414, 0xebec4a4a, 0x1413b5b6, 0x58580202, - 0xa7a7fdfe, 0x02025858, 0xfdfda7a8, 0x5c5c5c5c, 0xa3a3a3a4, 0x3c3bcbcc, 0xc3c43434, 0xcbcc3c3c, - 0x3433c3c4, 0x76763434, 0x8989cbcc, 0x34347676, 0xcbcb898a, 0x4a49d3d4, 0xb5b62c2c, 0xd3d44a4a, - 0x2c2bb5b6, 0x76764a4a, 0x8989b5b6, 0x4a4a7676, 0xb5b5898a, 0x76762020, 0x8989dfe0, 0x20207676, - 0xdfdf898a, 0x6665f3f4, 0x999a0c0c, 0xf3f46666, 0x0c0b999a, 0x605fd7d8, 0x9fa02828, 0xd7d86060, - 0x28279fa0, 0x7675ddde, 0x898a2222, 0xddde7676, 0x2221898a, 0x5857a7a8, 0xa7a85858, 0x6867b1b2, - 0x97984e4e, 0xb1b26868, 0x4e4d9798, 0x0c0c0c0c, 0xf3f3f3f4, 0x16161616, 0xe9e9e9ea, 0x2a2a2a2a, - 0xd5d5d5d6, 0x48484848, 0xb7b7b7b8, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x02020202, 0x02020202, 0x02020202, 0x02020202, 0x02020202, 0x02020202, - 0x02020202, 0xfdfdfdfe, 0xfdfdfdfe, 0xfdfdfdfe, 0xfdfdfdfe, 0xfdfdfdfe, 0xfdfdfdfe, 0xfdfdfdfe, - 0x02020000, 0x02020000, 0x02020000, 0x02020000, 0x02020000, 0x02020000, 0x02020000, 0xfdfe0000, - 0xfdfe0000, 0xfdfe0000, 0xfdfe0000, 0xfdfe0000, 0xfdfe0000, 0xfdfe0000, 0x00000202, 0x00000202, - 0x00000202, 0x00000202, 0x00000202, 0x00000202, 0x00000202, 0xfffffdfe, 0xfffffdfe, 0xfffffdfe, - 0xfffffdfe, 0xfffffdfe, 0xfffffdfe, 0xfffffdfe, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x03030303, 0xfcfcfcfd, 0x03030000, 0xfcfd0000, 0x00000303, 0xfffffcfd, 0x06060606, - 0xf9f9f9fa, 0x09090303, 0xf6f6fcfd, 0x03030909, 0xfcfcf6f7, 0x0908fcfd, 0xf6f70303, 0xfcfd0909, - 0x0302f6f7, 0x0605f9fa, 0xf9fa0606, 0x0c0c0606, 0xf3f3f9fa, 0x06060c0c, 0xf9f9f3f4, 0x0c0c0c0c, - 0xf3f3f3f4, 0x0f0f0000, 0xf0f10000, 0x00000f0f, 0xfffff0f1, 0x0c0bf6f7, 0xf3f40909, 0xf6f70c0c, - 0x0908f3f4, 0x18180f0f, 0xe7e7f0f1, 0x0f0f1818, 0xf0f0e7e8, 0x1211f9fa, 0xedee0606, 0xf9fa1212, - 0x0605edee, 0x18180606, 0xe7e7f9fa, 0x06061818, 0xf9f9e7e8, 0x18181818, 0xe7e7e7e8, 0x1b1b0000, - 0xe4e50000, 0x00001b1b, 0xffffe4e5, 0x1211edee, 0xedee1212, 0x1817f3f4, 0xe7e80c0c, 0xf3f41818, - 0x0c0be7e8, 0x27270f0f, 0xd8d8f0f1, 0x0f0f2727, 0xf0f0d8d9, 0x2a2a1b1b, 0xd5d5e4e5, 0x1b1b2a2a, - 0xe4e4d5d6, 0x2120f6f7, 0xdedf0909, 0xf6f72121, 0x0908dedf, 0x2a2a0606, 0xd5d5f9fa, 0x06062a2a, - 0xf9f9d5d6, 0x2d2d2d2d, 0xd2d2d2d3, 0x3332fcfd, 0xcccd0303, 0xfcfd3333, 0x0302cccd, 0x2120e4e5, - 0xdedf1b1b, 0xe4e52121, 0x1b1adedf, 0x2d2ceaeb, 0xd2d31515, 0xeaeb2d2d, 0x1514d2d3, 0x45452121, - 0xbabadedf, 0x21214545, 0xdedebabb, 0x45451212, 0xbabaedee, 0x12124545, 0xededbabb, 0x48483636, - 0xb7b7c9ca, 0x36364848, 0xc9c9b7b8, 0x3f3eedee, 0xc0c11212, 0xedee3f3f, 0x1211c0c1, 0x4e4e0606, - 0xb1b1f9fa, 0x06064e4e, 0xf9f9b1b2, 0x51515151, 0xaeaeaeaf, 0x3332cccd, 0xcccd3333, 0x3f3ed5d6, - 0xc0c12a2a, 0xd5d63f3f, 0x2a29c0c1, 0x5a59f6f7, 0xa5a60909, 0xf6f75a5a, 0x0908a5a6, 0x72722a2a, - 0x8d8dd5d6, 0x2a2a7272, 0xd5d58d8e, 0x75753f3f, 0x8a8ac0c1, 0x3f3f7575, 0xc0c08a8b, 0x5150dbdc, - 0xaeaf2424, 0xdbdc5151, 0x2423aeaf, 0x78781515, 0x8787eaeb, 0x15157878, 0xeaea8788, 0x7b7b6060, - 0x84849fa0, 0x60607b7b, 0x9f9f8485, 0x6f6ee1e2, 0x90911e1e, 0xe1e26f6f, 0x1e1d9091, 0x5d5cb1b2, - 0xa2a34e4e, 0xb1b25d5d, 0x4e4da2a3, 0x7271babb, 0x8d8e4545, 0xbabb7272, 0x45448d8e, 0x12121212, - 0xedededee, 0x21212121, 0xdedededf, 0x3f3f3f3f, 0xc0c0c0c1, 0x6c6c6c6c, 0x93939394, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x03030303, 0x03030303, 0x03030303, 0x03030303, 0x03030303, 0x03030303, 0x03030303, 0x03030303, - 0x03030303, 0xfcfcfcfd, 0xfcfcfcfd, 0xfcfcfcfd, 0xfcfcfcfd, 0xfcfcfcfd, 0xfcfcfcfd, 0xfcfcfcfd, - 0xfcfcfcfd, 0xfcfcfcfd, 0x03030000, 0x03030000, 0x03030000, 0x03030000, 0x03030000, 0x03030000, - 0x03030000, 0x03030000, 0x03030000, 0xfcfd0000, 0xfcfd0000, 0xfcfd0000, 0xfcfd0000, 0xfcfd0000, - 0xfcfd0000, 0xfcfd0000, 0xfcfd0000, 0xfcfd0000, 0x00000303, 0x00000303, 0x00000303, 0x00000303, - 0x00000303, 0x00000303, 0x00000303, 0x00000303, 0x00000303, 0xfffffcfd, 0xfffffcfd, 0xfffffcfd, - 0xfffffcfd, 0xfffffcfd, 0xfffffcfd, 0xfffffcfd, 0xfffffcfd, 0xfffffcfd, 0x06060606, 0x06060606, - 0x06060606, 0x06060606, 0x06060606, 0x06060606, 0x06060606, 0x06060606, 0x06060606, 0xf9f9f9fa, - 0xf9f9f9fa, 0xf9f9f9fa, 0xf9f9f9fa, 0xf9f9f9fa, 0xf9f9f9fa, 0xf9f9f9fa, 0xf9f9f9fa, 0xf9f9f9fa, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x04040404, 0xfbfbfbfc, 0x04040000, 0xfbfc0000, 0x00000404, 0xfffffbfc, 0x08080404, - 0xf7f7fbfc, 0x04040808, 0xfbfbf7f8, 0x08080808, 0xf7f7f7f8, 0x0807f7f8, 0xf7f80808, 0x0c0bfbfc, - 0xf3f40404, 0xfbfc0c0c, 0x0403f3f4, 0x10100808, 0xefeff7f8, 0x08081010, 0xf7f7eff0, 0x10101010, - 0xefefeff0, 0x14140000, 0xebec0000, 0x00001414, 0xffffebec, 0x100ff3f4, 0xeff00c0c, 0xf3f41010, - 0x0c0beff0, 0x1817fbfc, 0xe7e80404, 0xfbfc1818, 0x0403e7e8, 0x20201010, 0xdfdfeff0, 0x10102020, - 0xefefdfe0, 0x20200808, 0xdfdff7f8, 0x08082020, 0xf7f7dfe0, 0x20202020, 0xdfdfdfe0, 0x24240000, - 0xdbdc0000, 0x00002424, 0xffffdbdc, 0x1817e7e8, 0xe7e81818, 0x201feff0, 0xdfe01010, 0xeff02020, - 0x100fdfe0, 0x34341414, 0xcbcbebec, 0x14143434, 0xebebcbcc, 0x38382424, 0xc7c7dbdc, 0x24243838, - 0xdbdbc7c8, 0x2c2bf3f4, 0xd3d40c0c, 0xf3f42c2c, 0x0c0bd3d4, 0x38380808, 0xc7c7f7f8, 0x08083838, - 0xf7f7c7c8, 0x3c3c3c3c, 0xc3c3c3c4, 0x403ffbfc, 0xbfc00404, 0xfbfc4040, 0x0403bfc0, 0x2c2bdbdc, - 0xd3d42424, 0xdbdc2c2c, 0x2423d3d4, 0x3c3be3e4, 0xc3c41c1c, 0xe3e43c3c, 0x1c1bc3c4, 0x5c5c2c2c, - 0xa3a3d3d4, 0x2c2c5c5c, 0xd3d3a3a4, 0x5c5c1818, 0xa3a3e7e8, 0x18185c5c, 0xe7e7a3a4, 0x60604848, - 0x9f9fb7b8, 0x48486060, 0xb7b79fa0, 0x5453ebec, 0xabac1414, 0xebec5454, 0x1413abac, 0x64640808, - 0x9b9bf7f8, 0x08086464, 0xf7f79b9c, 0x6c6c6c6c, 0x93939394, 0x4443bbbc, 0xbbbc4444, 0x5453c7c8, - 0xabac3838, 0xc7c85454, 0x3837abac, 0x7877f3f4, 0x87880c0c, 0xf3f47878, 0x0c0b8788, 0x6c6bcfd0, - 0x93943030, 0xcfd06c6c, 0x302f9394, 0x7c7b9798, 0x83846868, 0x97987c7c, 0x68678384, 0x18181818, - 0xe7e7e7e8, 0x2c2c2c2c, 0xd3d3d3d4, 0x54545454, 0xabababac, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x04040404, - 0x04040404, 0x04040404, 0x04040404, 0x04040404, 0x04040404, 0x04040404, 0x04040404, 0x04040404, - 0x04040404, 0xfbfbfbfc, 0xfbfbfbfc, 0xfbfbfbfc, 0xfbfbfbfc, 0xfbfbfbfc, 0xfbfbfbfc, 0xfbfbfbfc, - 0xfbfbfbfc, 0xfbfbfbfc, 0xfbfbfbfc, 0x04040000, 0x04040000, 0x04040000, 0x04040000, 0x04040000, - 0x04040000, 0x04040000, 0x04040000, 0x04040000, 0x04040000, 0xfbfc0000, 0xfbfc0000, 0xfbfc0000, - 0xfbfc0000, 0xfbfc0000, 0xfbfc0000, 0xfbfc0000, 0xfbfc0000, 0xfbfc0000, 0xfbfc0000, 0x00000404, - 0x00000404, 0x00000404, 0x00000404, 0x00000404, 0x00000404, 0x00000404, 0x00000404, 0x00000404, - 0x00000404, 0xfffffbfc, 0xfffffbfc, 0xfffffbfc, 0xfffffbfc, 0xfffffbfc, 0xfffffbfc, 0xfffffbfc, - 0xfffffbfc, 0xfffffbfc, 0xfffffbfc, 0x08080404, 0x08080404, 0x08080404, 0x08080404, 0x08080404, - 0x08080404, 0x08080404, 0x08080404, 0x08080404, 0x08080404, 0xf7f7fbfc, 0xf7f7fbfc, 0xf7f7fbfc, - 0xf7f7fbfc, 0xf7f7fbfc, 0xf7f7fbfc, 0xf7f7fbfc, 0xf7f7fbfc, 0xf7f7fbfc, 0xf7f7fbfc, 0x04040808, - 0x04040808, 0x04040808, 0x04040808, 0x04040808, 0x04040808, 0x04040808, 0x04040808, 0x04040808, - 0x04040808, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x05050505, 0xfafafafb, 0x05050000, 0xfafb0000, 0x00000505, 0xfffffafb, 0x0a0a0a0a, - 0xf5f5f5f6, 0x0f0f0505, 0xf0f0fafb, 0x05050f0f, 0xfafaf0f1, 0x0a09f5f6, 0xf5f60a0a, 0x0f0efafb, - 0xf0f10505, 0xfafb0f0f, 0x0504f0f1, 0x14140a0a, 0xebebf5f6, 0x0a0a1414, 0xf5f5ebec, 0x14141414, - 0xebebebec, 0x19190000, 0xe6e70000, 0x00001919, 0xffffe6e7, 0x1413f0f1, 0xebec0f0f, 0xf0f11414, - 0x0f0eebec, 0x28281919, 0xd7d7e6e7, 0x19192828, 0xe6e6d7d8, 0x1e1df5f6, 0xe1e20a0a, 0xf5f61e1e, - 0x0a09e1e2, 0x28280a0a, 0xd7d7f5f6, 0x0a0a2828, 0xf5f5d7d8, 0x28282828, 0xd7d7d7d8, 0x2d2d0000, - 0xd2d30000, 0x00002d2d, 0xffffd2d3, 0x1e1de1e2, 0xe1e21e1e, 0x2827ebec, 0xd7d81414, 0xebec2828, - 0x1413d7d8, 0x41411919, 0xbebee6e7, 0x19194141, 0xe6e6bebf, 0x46462d2d, 0xb9b9d2d3, 0x2d2d4646, - 0xd2d2b9ba, 0x3736f0f1, 0xc8c90f0f, 0xf0f13737, 0x0f0ec8c9, 0x46460a0a, 0xb9b9f5f6, 0x0a0a4646, - 0xf5f5b9ba, 0x4b4b4b4b, 0xb4b4b4b5, 0x5554fafb, 0xaaab0505, 0xfafb5555, 0x0504aaab, 0x3736d2d3, - 0xc8c92d2d, 0xd2d33737, 0x2d2cc8c9, 0x4b4adcdd, 0xb4b52323, 0xdcdd4b4b, 0x2322b4b5, 0x73733737, - 0x8c8cc8c9, 0x37377373, 0xc8c88c8d, 0x73731e1e, 0x8c8ce1e2, 0x1e1e7373, 0xe1e18c8d, 0x78785a5a, - 0x8787a5a6, 0x5a5a7878, 0xa5a58788, 0x6968e1e2, 0x96971e1e, 0xe1e26969, 0x1e1d9697, 0x5554aaab, - 0xaaab5555, 0x6968b9ba, 0x96974646, 0xb9ba6969, 0x46459697, 0x1e1e1e1e, 0xe1e1e1e2, 0x3c3c3c3c, - 0xc3c3c3c4, 0x69696969, 0x96969697, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x05050505, 0x05050505, - 0x05050505, 0x05050505, 0x05050505, 0x05050505, 0x05050505, 0x05050505, 0x05050505, 0x05050505, - 0x05050505, 0xfafafafb, 0xfafafafb, 0xfafafafb, 0xfafafafb, 0xfafafafb, 0xfafafafb, 0xfafafafb, - 0xfafafafb, 0xfafafafb, 0xfafafafb, 0xfafafafb, 0x05050000, 0x05050000, 0x05050000, 0x05050000, - 0x05050000, 0x05050000, 0x05050000, 0x05050000, 0x05050000, 0x05050000, 0x05050000, 0xfafb0000, - 0xfafb0000, 0xfafb0000, 0xfafb0000, 0xfafb0000, 0xfafb0000, 0xfafb0000, 0xfafb0000, 0xfafb0000, - 0xfafb0000, 0xfafb0000, 0x00000505, 0x00000505, 0x00000505, 0x00000505, 0x00000505, 0x00000505, - 0x00000505, 0x00000505, 0x00000505, 0x00000505, 0x00000505, 0xfffffafb, 0xfffffafb, 0xfffffafb, - 0xfffffafb, 0xfffffafb, 0xfffffafb, 0xfffffafb, 0xfffffafb, 0xfffffafb, 0xfffffafb, 0xfffffafb, - 0x0a0a0a0a, 0x0a0a0a0a, 0x0a0a0a0a, 0x0a0a0a0a, 0x0a0a0a0a, 0x0a0a0a0a, 0x0a0a0a0a, 0x0a0a0a0a, - 0x0a0a0a0a, 0x0a0a0a0a, 0x0a0a0a0a, 0xf5f5f5f6, 0xf5f5f5f6, 0xf5f5f5f6, 0xf5f5f5f6, 0xf5f5f5f6, - 0xf5f5f5f6, 0xf5f5f5f6, 0xf5f5f5f6, 0xf5f5f5f6, 0xf5f5f5f6, 0xf5f5f5f6, 0x0f0f0505, 0x0f0f0505, - 0x0f0f0505, 0x0f0f0505, 0x0f0f0505, 0x0f0f0505, 0x0f0f0505, 0x0f0f0505, 0x0f0f0505, 0x0f0f0505, - 0x0f0f0505, 0xf0f0fafb, 0xf0f0fafb, 0xf0f0fafb, 0xf0f0fafb, 0xf0f0fafb, 0xf0f0fafb, 0xf0f0fafb, - 0xf0f0fafb, 0xf0f0fafb, 0xf0f0fafb, 0xf0f0fafb, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x06060606, 0xf9f9f9fa, 0x06060000, 0xf9fa0000, 0x00000606, 0xfffff9fa, 0x0c0c0c0c, - 0xf3f3f3f4, 0x0c0c0606, 0xf3f3f9fa, 0x06060c0c, 0xf9f9f3f4, 0x0c0bf3f4, 0xf3f40c0c, 0x1211f9fa, - 0xedee0606, 0xf9fa1212, 0x0605edee, 0x18180c0c, 0xe7e7f3f4, 0x0c0c1818, 0xf3f3e7e8, 0x18181818, - 0xe7e7e7e8, 0x1e1e0000, 0xe1e20000, 0x00001e1e, 0xffffe1e2, 0x1817edee, 0xe7e81212, 0xedee1818, - 0x1211e7e8, 0x30301e1e, 0xcfcfe1e2, 0x1e1e3030, 0xe1e1cfd0, 0x2423f9fa, 0xdbdc0606, 0xf9fa2424, - 0x0605dbdc, 0x30300c0c, 0xcfcff3f4, 0x0c0c3030, 0xf3f3cfd0, 0x30303030, 0xcfcfcfd0, 0x36360000, - 0xc9ca0000, 0x00003636, 0xffffc9ca, 0x2423dbdc, 0xdbdc2424, 0x302fe7e8, 0xcfd01818, 0xe7e83030, - 0x1817cfd0, 0x4e4e1e1e, 0xb1b1e1e2, 0x1e1e4e4e, 0xe1e1b1b2, 0x54543636, 0xababc9ca, 0x36365454, - 0xc9c9abac, 0x4241edee, 0xbdbe1212, 0xedee4242, 0x1211bdbe, 0x54540c0c, 0xababf3f4, 0x0c0c5454, - 0xf3f3abac, 0x5a5a5a5a, 0xa5a5a5a6, 0x605ff9fa, 0x9fa00606, 0xf9fa6060, 0x06059fa0, 0x4241c9ca, - 0xbdbe3636, 0xc9ca4242, 0x3635bdbe, 0x5a59d5d6, 0xa5a62a2a, 0xd5d65a5a, 0x2a29a5a6, 0x7e7de1e2, - 0x81821e1e, 0xe1e27e7e, 0x1e1d8182, 0x6665999a, 0x999a6666, 0x7e7dabac, 0x81825454, 0xabac7e7e, - 0x54538182, 0x24242424, 0xdbdbdbdc, 0x42424242, 0xbdbdbdbe, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x06060606, 0x06060606, 0x06060606, 0x06060606, 0x06060606, 0x06060606, 0x06060606, - 0x06060606, 0x06060606, 0x06060606, 0x06060606, 0x06060606, 0xf9f9f9fa, 0xf9f9f9fa, 0xf9f9f9fa, - 0xf9f9f9fa, 0xf9f9f9fa, 0xf9f9f9fa, 0xf9f9f9fa, 0xf9f9f9fa, 0xf9f9f9fa, 0xf9f9f9fa, 0xf9f9f9fa, - 0xf9f9f9fa, 0x06060000, 0x06060000, 0x06060000, 0x06060000, 0x06060000, 0x06060000, 0x06060000, - 0x06060000, 0x06060000, 0x06060000, 0x06060000, 0x06060000, 0xf9fa0000, 0xf9fa0000, 0xf9fa0000, - 0xf9fa0000, 0xf9fa0000, 0xf9fa0000, 0xf9fa0000, 0xf9fa0000, 0xf9fa0000, 0xf9fa0000, 0xf9fa0000, - 0xf9fa0000, 0x00000606, 0x00000606, 0x00000606, 0x00000606, 0x00000606, 0x00000606, 0x00000606, - 0x00000606, 0x00000606, 0x00000606, 0x00000606, 0x00000606, 0xfffff9fa, 0xfffff9fa, 0xfffff9fa, - 0xfffff9fa, 0xfffff9fa, 0xfffff9fa, 0xfffff9fa, 0xfffff9fa, 0xfffff9fa, 0xfffff9fa, 0xfffff9fa, - 0xfffff9fa, 0x0c0c0c0c, 0x0c0c0c0c, 0x0c0c0c0c, 0x0c0c0c0c, 0x0c0c0c0c, 0x0c0c0c0c, 0x0c0c0c0c, - 0x0c0c0c0c, 0x0c0c0c0c, 0x0c0c0c0c, 0x0c0c0c0c, 0x0c0c0c0c, 0xf3f3f3f4, 0xf3f3f3f4, 0xf3f3f3f4, - 0xf3f3f3f4, 0xf3f3f3f4, 0xf3f3f3f4, 0xf3f3f3f4, 0xf3f3f3f4, 0xf3f3f3f4, 0xf3f3f3f4, 0xf3f3f3f4, - 0xf3f3f3f4, 0x0c0c0606, 0x0c0c0606, 0x0c0c0606, 0x0c0c0606, 0x0c0c0606, 0x0c0c0606, 0x0c0c0606, - 0x0c0c0606, 0x0c0c0606, 0x0c0c0606, 0x0c0c0606, 0x0c0c0606, 0xf3f3f9fa, 0xf3f3f9fa, 0xf3f3f9fa, - 0xf3f3f9fa, 0xf3f3f9fa, 0xf3f3f9fa, 0xf3f3f9fa, 0xf3f3f9fa, 0xf3f3f9fa, 0xf3f3f9fa, 0xf3f3f9fa, - 0xf3f3f9fa, 0x06060c0c, 0x06060c0c, 0x06060c0c, 0x06060c0c, 0x06060c0c, 0x06060c0c, 0x06060c0c, - 0x06060c0c, 0x06060c0c, 0x06060c0c, 0x06060c0c, 0x06060c0c, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x07070707, 0xf8f8f8f9, 0x07070000, 0xf8f90000, 0x00000707, 0xfffff8f9, 0x0e0e0e0e, - 0xf1f1f1f2, 0x15150707, 0xeaeaf8f9, 0x07071515, 0xf8f8eaeb, 0x0e0df1f2, 0xf1f20e0e, 0x1514f8f9, - 0xeaeb0707, 0xf8f91515, 0x0706eaeb, 0x1c1c0e0e, 0xe3e3f1f2, 0x0e0e1c1c, 0xf1f1e3e4, 0x1c1c1c1c, - 0xe3e3e3e4, 0x23230000, 0xdcdd0000, 0x00002323, 0xffffdcdd, 0x1c1beaeb, 0xe3e41515, 0xeaeb1c1c, - 0x1514e3e4, 0x38382323, 0xc7c7dcdd, 0x23233838, 0xdcdcc7c8, 0x2a29f1f2, 0xd5d60e0e, 0xf1f22a2a, - 0x0e0dd5d6, 0x38380e0e, 0xc7c7f1f2, 0x0e0e3838, 0xf1f1c7c8, 0x38383838, 0xc7c7c7c8, 0x3f3f0000, - 0xc0c10000, 0x00003f3f, 0xffffc0c1, 0x2a29d5d6, 0xd5d62a2a, 0x3837e3e4, 0xc7c81c1c, 0xe3e43838, - 0x1c1bc7c8, 0x5b5b2323, 0xa4a4dcdd, 0x23235b5b, 0xdcdca4a5, 0x62623f3f, 0x9d9dc0c1, 0x3f3f6262, - 0xc0c09d9e, 0x4d4ceaeb, 0xb2b31515, 0xeaeb4d4d, 0x1514b2b3, 0x62620e0e, 0x9d9df1f2, 0x0e0e6262, - 0xf1f19d9e, 0x69696969, 0x96969697, 0x7776f8f9, 0x88890707, 0xf8f97777, 0x07068889, 0x4d4cc0c1, - 0xb2b33f3f, 0xc0c14d4d, 0x3f3eb2b3, 0x6968cecf, 0x96973131, 0xcecf6969, 0x31309697, 0x77768889, - 0x88897777, 0x2a2a2a2a, 0xd5d5d5d6, 0x4d4d4d4d, 0xb2b2b2b3, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x07070707, 0x07070707, 0x07070707, 0x07070707, 0x07070707, 0x07070707, 0x07070707, - 0x07070707, 0x07070707, 0x07070707, 0x07070707, 0x07070707, 0xf8f8f8f9, 0xf8f8f8f9, 0xf8f8f8f9, - 0xf8f8f8f9, 0xf8f8f8f9, 0xf8f8f8f9, 0xf8f8f8f9, 0xf8f8f8f9, 0xf8f8f8f9, 0xf8f8f8f9, 0xf8f8f8f9, - 0xf8f8f8f9, 0x07070000, 0x07070000, 0x07070000, 0x07070000, 0x07070000, 0x07070000, 0x07070000, - 0x07070000, 0x07070000, 0x07070000, 0x07070000, 0x07070000, 0xf8f90000, 0xf8f90000, 0xf8f90000, - 0xf8f90000, 0xf8f90000, 0xf8f90000, 0xf8f90000, 0xf8f90000, 0xf8f90000, 0xf8f90000, 0xf8f90000, - 0xf8f90000, 0x00000707, 0x00000707, 0x00000707, 0x00000707, 0x00000707, 0x00000707, 0x00000707, - 0x00000707, 0x00000707, 0x00000707, 0x00000707, 0x00000707, 0xfffff8f9, 0xfffff8f9, 0xfffff8f9, - 0xfffff8f9, 0xfffff8f9, 0xfffff8f9, 0xfffff8f9, 0xfffff8f9, 0xfffff8f9, 0xfffff8f9, 0xfffff8f9, - 0xfffff8f9, 0x0e0e0e0e, 0x0e0e0e0e, 0x0e0e0e0e, 0x0e0e0e0e, 0x0e0e0e0e, 0x0e0e0e0e, 0x0e0e0e0e, - 0x0e0e0e0e, 0x0e0e0e0e, 0x0e0e0e0e, 0x0e0e0e0e, 0x0e0e0e0e, 0xf1f1f1f2, 0xf1f1f1f2, 0xf1f1f1f2, - 0xf1f1f1f2, 0xf1f1f1f2, 0xf1f1f1f2, 0xf1f1f1f2, 0xf1f1f1f2, 0xf1f1f1f2, 0xf1f1f1f2, 0xf1f1f1f2, - 0xf1f1f1f2, 0x15150707, 0x15150707, 0x15150707, 0x15150707, 0x15150707, 0x15150707, 0x15150707, - 0x15150707, 0x15150707, 0x15150707, 0x15150707, 0x15150707, 0xeaeaf8f9, 0xeaeaf8f9, 0xeaeaf8f9, - 0xeaeaf8f9, 0xeaeaf8f9, 0xeaeaf8f9, 0xeaeaf8f9, 0xeaeaf8f9, 0xeaeaf8f9, 0xeaeaf8f9, 0xeaeaf8f9, - 0xeaeaf8f9, 0x07071515, 0x07071515, 0x07071515, 0x07071515, 0x07071515, 0x07071515, 0x07071515, - 0x07071515, 0x07071515, 0x07071515, 0x07071515, 0x07071515, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x08080808, 0xf7f7f7f8, 0x08080000, 0xf7f80000, 0x00000808, 0xfffff7f8, 0x10101010, - 0xefefeff0, 0x10100808, 0xefeff7f8, 0x08081010, 0xf7f7eff0, 0x100feff0, 0xeff01010, 0x1817f7f8, - 0xe7e80808, 0xf7f81818, 0x0807e7e8, 0x20201010, 0xdfdfeff0, 0x10102020, 0xefefdfe0, 0x20202020, - 0xdfdfdfe0, 0x28280000, 0xd7d80000, 0x00002828, 0xffffd7d8, 0x201fe7e8, 0xdfe01818, 0xe7e82020, - 0x1817dfe0, 0x40402828, 0xbfbfd7d8, 0x28284040, 0xd7d7bfc0, 0x302feff0, 0xcfd01010, 0xeff03030, - 0x100fcfd0, 0x40401010, 0xbfbfeff0, 0x10104040, 0xefefbfc0, 0x40404040, 0xbfbfbfc0, 0x48480000, - 0xb7b80000, 0x00004848, 0xffffb7b8, 0x302fcfd0, 0xcfd03030, 0x403fdfe0, 0xbfc02020, 0xdfe04040, - 0x201fbfc0, 0x68682828, 0x9797d7d8, 0x28286868, 0xd7d79798, 0x70704848, 0x8f8fb7b8, 0x48487070, - 0xb7b78f90, 0x5857e7e8, 0xa7a81818, 0xe7e85858, 0x1817a7a8, 0x70701010, 0x8f8feff0, 0x10107070, - 0xefef8f90, 0x78787878, 0x87878788, 0x5857b7b8, 0xa7a84848, 0xb7b85858, 0x4847a7a8, 0x7877c7c8, - 0x87883838, 0xc7c87878, 0x38378788, 0x30303030, 0xcfcfcfd0, 0x58585858, 0xa7a7a7a8, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x08080808, 0x08080808, 0x08080808, 0x08080808, 0x08080808, - 0x08080808, 0x08080808, 0x08080808, 0x08080808, 0x08080808, 0x08080808, 0x08080808, 0xf7f7f7f8, - 0xf7f7f7f8, 0xf7f7f7f8, 0xf7f7f7f8, 0xf7f7f7f8, 0xf7f7f7f8, 0xf7f7f7f8, 0xf7f7f7f8, 0xf7f7f7f8, - 0xf7f7f7f8, 0xf7f7f7f8, 0xf7f7f7f8, 0x08080000, 0x08080000, 0x08080000, 0x08080000, 0x08080000, - 0x08080000, 0x08080000, 0x08080000, 0x08080000, 0x08080000, 0x08080000, 0x08080000, 0xf7f80000, - 0xf7f80000, 0xf7f80000, 0xf7f80000, 0xf7f80000, 0xf7f80000, 0xf7f80000, 0xf7f80000, 0xf7f80000, - 0xf7f80000, 0xf7f80000, 0xf7f80000, 0x00000808, 0x00000808, 0x00000808, 0x00000808, 0x00000808, - 0x00000808, 0x00000808, 0x00000808, 0x00000808, 0x00000808, 0x00000808, 0x00000808, 0xfffff7f8, - 0xfffff7f8, 0xfffff7f8, 0xfffff7f8, 0xfffff7f8, 0xfffff7f8, 0xfffff7f8, 0xfffff7f8, 0xfffff7f8, - 0xfffff7f8, 0xfffff7f8, 0xfffff7f8, 0x10101010, 0x10101010, 0x10101010, 0x10101010, 0x10101010, - 0x10101010, 0x10101010, 0x10101010, 0x10101010, 0x10101010, 0x10101010, 0x10101010, 0xefefeff0, - 0xefefeff0, 0xefefeff0, 0xefefeff0, 0xefefeff0, 0xefefeff0, 0xefefeff0, 0xefefeff0, 0xefefeff0, - 0xefefeff0, 0xefefeff0, 0xefefeff0, 0x10100808, 0x10100808, 0x10100808, 0x10100808, 0x10100808, - 0x10100808, 0x10100808, 0x10100808, 0x10100808, 0x10100808, 0x10100808, 0x10100808, 0xefeff7f8, - 0xefeff7f8, 0xefeff7f8, 0xefeff7f8, 0xefeff7f8, 0xefeff7f8, 0xefeff7f8, 0xefeff7f8, 0xefeff7f8, - 0xefeff7f8, 0xefeff7f8, 0xefeff7f8, 0x08081010, 0x08081010, 0x08081010, 0x08081010, 0x08081010, - 0x08081010, 0x08081010, 0x08081010, 0x08081010, 0x08081010, 0x08081010, 0x08081010, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x09090909, 0xf6f6f6f7, 0x09090000, 0xf6f70000, 0x00000909, 0xfffff6f7, 0x12121212, - 0xedededee, 0x1b1b0909, 0xe4e4f6f7, 0x09091b1b, 0xf6f6e4e5, 0x1211edee, 0xedee1212, 0x1b1af6f7, - 0xe4e50909, 0xf6f71b1b, 0x0908e4e5, 0x24241212, 0xdbdbedee, 0x12122424, 0xededdbdc, 0x24242424, - 0xdbdbdbdc, 0x2d2d0000, 0xd2d30000, 0x00002d2d, 0xffffd2d3, 0x2423e4e5, 0xdbdc1b1b, 0xe4e52424, - 0x1b1adbdc, 0x48482d2d, 0xb7b7d2d3, 0x2d2d4848, 0xd2d2b7b8, 0x3635edee, 0xc9ca1212, 0xedee3636, - 0x1211c9ca, 0x48481212, 0xb7b7edee, 0x12124848, 0xededb7b8, 0x48484848, 0xb7b7b7b8, 0x51510000, - 0xaeaf0000, 0x00005151, 0xffffaeaf, 0x3635c9ca, 0xc9ca3636, 0x4847dbdc, 0xb7b82424, 0xdbdc4848, - 0x2423b7b8, 0x75752d2d, 0x8a8ad2d3, 0x2d2d7575, 0xd2d28a8b, 0x7e7e5151, 0x8181aeaf, 0x51517e7e, - 0xaeae8182, 0x6362e4e5, 0x9c9d1b1b, 0xe4e56363, 0x1b1a9c9d, 0x6362aeaf, 0x9c9d5151, 0xaeaf6363, - 0x51509c9d, 0x36363636, 0xc9c9c9ca, 0x6c6c6c6c, 0x93939394, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x09090909, 0x09090909, 0x09090909, 0x09090909, 0x09090909, 0x09090909, - 0x09090909, 0x09090909, 0x09090909, 0x09090909, 0x09090909, 0x09090909, 0x09090909, 0xf6f6f6f7, - 0xf6f6f6f7, 0xf6f6f6f7, 0xf6f6f6f7, 0xf6f6f6f7, 0xf6f6f6f7, 0xf6f6f6f7, 0xf6f6f6f7, 0xf6f6f6f7, - 0xf6f6f6f7, 0xf6f6f6f7, 0xf6f6f6f7, 0xf6f6f6f7, 0x09090000, 0x09090000, 0x09090000, 0x09090000, - 0x09090000, 0x09090000, 0x09090000, 0x09090000, 0x09090000, 0x09090000, 0x09090000, 0x09090000, - 0x09090000, 0xf6f70000, 0xf6f70000, 0xf6f70000, 0xf6f70000, 0xf6f70000, 0xf6f70000, 0xf6f70000, - 0xf6f70000, 0xf6f70000, 0xf6f70000, 0xf6f70000, 0xf6f70000, 0xf6f70000, 0x00000909, 0x00000909, - 0x00000909, 0x00000909, 0x00000909, 0x00000909, 0x00000909, 0x00000909, 0x00000909, 0x00000909, - 0x00000909, 0x00000909, 0x00000909, 0xfffff6f7, 0xfffff6f7, 0xfffff6f7, 0xfffff6f7, 0xfffff6f7, - 0xfffff6f7, 0xfffff6f7, 0xfffff6f7, 0xfffff6f7, 0xfffff6f7, 0xfffff6f7, 0xfffff6f7, 0xfffff6f7, - 0x12121212, 0x12121212, 0x12121212, 0x12121212, 0x12121212, 0x12121212, 0x12121212, 0x12121212, - 0x12121212, 0x12121212, 0x12121212, 0x12121212, 0x12121212, 0xedededee, 0xedededee, 0xedededee, - 0xedededee, 0xedededee, 0xedededee, 0xedededee, 0xedededee, 0xedededee, 0xedededee, 0xedededee, - 0xedededee, 0xedededee, 0x1b1b0909, 0x1b1b0909, 0x1b1b0909, 0x1b1b0909, 0x1b1b0909, 0x1b1b0909, - 0x1b1b0909, 0x1b1b0909, 0x1b1b0909, 0x1b1b0909, 0x1b1b0909, 0x1b1b0909, 0x1b1b0909, 0xe4e4f6f7, - 0xe4e4f6f7, 0xe4e4f6f7, 0xe4e4f6f7, 0xe4e4f6f7, 0xe4e4f6f7, 0xe4e4f6f7, 0xe4e4f6f7, 0xe4e4f6f7, - 0xe4e4f6f7, 0xe4e4f6f7, 0xe4e4f6f7, 0xe4e4f6f7, 0x09091b1b, 0x09091b1b, 0x09091b1b, 0x09091b1b, - 0x09091b1b, 0x09091b1b, 0x09091b1b, 0x09091b1b, 0x09091b1b, 0x09091b1b, 0x09091b1b, 0x09091b1b, - 0x09091b1b, 0xf6f6e4e5, 0xf6f6e4e5, 0xf6f6e4e5, 0xf6f6e4e5, 0xf6f6e4e5, 0xf6f6e4e5, 0xf6f6e4e5, - 0xf6f6e4e5, 0xf6f6e4e5, 0xf6f6e4e5, 0xf6f6e4e5, 0xf6f6e4e5, 0xf6f6e4e5, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x02020202, 0xfdfdfdfe, 0x03030000, 0xfcfd0000, 0x00000303, 0xfffffcfd, 0x06060606, - 0xf9f9f9fa, 0x07070000, 0xf8f90000, 0x00000707, 0xfffff8f9, 0x0504fafb, 0xfafb0505, 0xfafb0505, - 0x0504fafb, 0x0b0b0606, 0xf4f4f9fa, 0x06060b0b, 0xf9f9f4f5, 0x08080000, 0xf7f80000, 0x00000808, - 0xfffff7f8, 0x0b0b0b0b, 0xf4f4f4f5, 0x0c0c0000, 0xf3f40000, 0x00000c0c, 0xfffff3f4, 0x11110c0c, - 0xeeeef3f4, 0x0c0c1111, 0xf3f3eeef, 0x11111111, 0xeeeeeeef, 0x12120606, 0xededf9fa, 0x06061212, - 0xf9f9edee, 0x0b0af7f8, 0xf4f50808, 0xf7f80b0b, 0x0807f4f5, 0x0f0f0000, 0xf0f10000, 0x00000f0f, - 0xfffff0f1, 0x14140000, 0xebec0000, 0x00001414, 0xffffebec, 0x19191212, 0xe6e6edee, 0x12121919, - 0xedede6e7, 0x19190b0b, 0xe6e6f4f5, 0x0b0b1919, 0xf4f4e6e7, 0x19191919, 0xe6e6e6e7, 0x0e0df1f2, - 0xf1f20e0e, 0xf1f20e0e, 0x0e0df1f2, 0x1a1a0000, 0xe5e60000, 0x00001a1a, 0xffffe5e6, 0x1211f4f5, - 0xedee0b0b, 0xf4f51212, 0x0b0aedee, 0x1615f8f9, 0xe9ea0707, 0xf8f91616, 0x0706e9ea, 0x22221a1a, - 0xdddde5e6, 0x1a1a2222, 0xe5e5ddde, 0x22221212, 0xddddedee, 0x12122222, 0xededddde, 0x22222222, - 0xddddddde, 0x23230b0b, 0xdcdcf4f5, 0x0b0b2323, 0xf4f4dcdd, 0x1d1d0000, 0xe2e30000, 0x00001d1d, - 0xffffe2e3, 0x1615eced, 0xe9ea1313, 0xeced1616, 0x1312e9ea, 0x1a19f0f1, 0xe5e60f0f, 0xf0f11a1a, - 0x0f0ee5e6, 0x25250000, 0xdadb0000, 0x00002525, 0xffffdadb, 0x2c2c1b1b, 0xd3d3e4e5, 0x1b1b2c2c, - 0xe4e4d3d4, 0x2c2c2424, 0xd3d3dbdc, 0x24242c2c, 0xdbdbd3d4, 0x2c2c1212, 0xd3d3edee, 0x12122c2c, - 0xededd3d4, 0x2120f5f6, 0xdedf0a0a, 0xf5f62121, 0x0a09dedf, 0x2d2d2d2d, 0xd2d2d2d3, 0x00000000, - 0x00000000, 0x02020202, 0xfdfdfdfe, 0x03030000, 0xfcfd0000, 0x00000303, 0xfffffcfd, 0x06060606, - 0xf9f9f9fa, 0x07070000, 0xf8f90000, 0x00000000, 0x02020202, 0xfdfdfdfe, 0x03030000, 0xfcfd0000, - 0x00000303, 0xfffffcfd, 0x06060606, 0xf9f9f9fa, 0x07070000, 0xf8f90000, 0x00000000, 0x02020202, - 0xfdfdfdfe, 0x03030000, 0xfcfd0000, 0x00000303, 0xfffffcfd, 0x06060606, 0xf9f9f9fa, 0x07070000, - 0xf8f90000, 0x00000000, 0x02020202, 0xfdfdfdfe, 0x03030000, 0xfcfd0000, 0x00000303, 0xfffffcfd, - 0x06060606, 0xf9f9f9fa, 0x07070000, 0xf8f90000, 0x00000000, 0x02020202, 0xfdfdfdfe, 0x03030000, - 0xfcfd0000, 0x00000303, 0xfffffcfd, 0x06060606, 0xf9f9f9fa, 0x07070000, 0xf8f90000, 0x00000000, - 0x02020202, 0xfdfdfdfe, 0x03030000, 0xfcfd0000, 0x00000303, 0xfffffcfd, 0x06060606, 0xf9f9f9fa, - 0x07070000, 0xf8f90000, 0x00000000, 0x02020202, 0xfdfdfdfe, 0x03030000, 0xfcfd0000, 0x00000303, - 0xfffffcfd, 0x06060606, 0xf9f9f9fa, 0x07070000, 0xf8f90000, 0x00000000, 0x02020202, 0xfdfdfdfe, - 0x03030000, 0xfcfd0000, 0x00000303, 0xfffffcfd, 0x06060606, 0xf9f9f9fa, 0x07070000, 0xf8f90000, - 0x00000000, 0x02020202, 0xfdfdfdfe, 0x03030000, 0xfcfd0000, 0x00000303, 0xfffffcfd, 0x06060606, - 0xf9f9f9fa, 0x07070000, 0xf8f90000, 0x00000000, 0x02020202, 0xfdfdfdfe, 0x03030000, 0xfcfd0000, - 0x00000303, 0xfffffcfd, 0x06060606, 0xf9f9f9fa, 0x07070000, 0xf8f90000, 0x00000000, 0x02020202, - 0xfdfdfdfe, 0x03030000, 0xfcfd0000, 0x00000303, 0xfffffcfd, 0x06060606, 0xf9f9f9fa, 0x07070000, - 0xf8f90000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x02020000, 0xfdfe0000, 0x00000202, 0xfffffdfe, 0x02020202, 0xfdfdfdfe, 0x06060606, - 0xf9f9f9fa, 0x06060000, 0xf9fa0000, 0x00000606, 0xfffff9fa, 0x0403fbfc, 0xfbfc0404, 0xf9fa0a0a, - 0x0605f5f6, 0xf3f40000, 0x0c0c0000, 0xf3f3f9fa, 0xf3f40606, 0x0c0bf9fa, 0x0c0c0606, 0xfffff1f2, - 0x00000e0e, 0x0c0c0c0c, 0xf3f3f3f4, 0xedee0000, 0x12120000, 0xf3f40e0e, 0x0c0bf1f2, 0xf9f9edee, - 0xf9fa1212, 0x0605edee, 0x06061212, 0xededf5f6, 0xedee0a0a, 0x1211f5f6, 0x12120a0a, 0xffffe9ea, - 0x00001616, 0xe7e80000, 0x18180000, 0xf3f3e9ea, 0xf3f41616, 0x0c0be9ea, 0x0c0c1616, 0xe7e7f7f8, - 0xe7e80808, 0x1817f7f8, 0x18180808, 0xf9f9e5e6, 0xf9fa1a1a, 0x0605e5e6, 0x06061a1a, 0xffffe3e4, - 0x00001c1c, 0x14141414, 0xebebebec, 0xe5e5f1f2, 0x1a1a0e0e, 0xf3f3e1e2, 0x0c0c1e1e, 0xdfdff5f6, - 0x20200a0a, 0xdfdfedee, 0x20201212, 0xe5e5e5e6, 0x1a1a1a1a, 0xebebddde, 0x14142222, 0xf3f3d9da, - 0x0c0c2626, 0xdfdfdfe0, 0x20202020, 0x20202020, 0xd7d7e9ea, 0xddddddde, 0x22222222, 0x00000000, - 0x02020000, 0xfdfe0000, 0x00000202, 0xfffffdfe, 0x02020202, 0xfdfdfdfe, 0x06060606, 0xf9f9f9fa, - 0x06060000, 0xf9fa0000, 0x00000606, 0xfffff9fa, 0x00000000, 0x02020000, 0xfdfe0000, 0x00000202, - 0xfffffdfe, 0x02020202, 0xfdfdfdfe, 0x06060606, 0xf9f9f9fa, 0x06060000, 0xf9fa0000, 0x00000606, - 0xfffff9fa, 0x00000000, 0x02020000, 0xfdfe0000, 0x00000202, 0xfffffdfe, 0x02020202, 0xfdfdfdfe, - 0x06060606, 0xf9f9f9fa, 0x06060000, 0xf9fa0000, 0x00000606, 0xfffff9fa, 0x00000000, 0x02020000, - 0xfdfe0000, 0x00000202, 0xfffffdfe, 0x02020202, 0xfdfdfdfe, 0x06060606, 0xf9f9f9fa, 0x06060000, - 0xf9fa0000, 0x00000606, 0xfffff9fa, 0x00000000, 0x02020000, 0xfdfe0000, 0x00000202, 0xfffffdfe, - 0x02020202, 0xfdfdfdfe, 0x06060606, 0xf9f9f9fa, 0x06060000, 0xf9fa0000, 0x00000606, 0xfffff9fa, - 0x00000000, 0x02020000, 0xfdfe0000, 0x00000202, 0xfffffdfe, 0x02020202, 0xfdfdfdfe, 0x06060606, - 0xf9f9f9fa, 0x06060000, 0xf9fa0000, 0x00000606, 0xfffff9fa, 0x00000000, 0x02020000, 0xfdfe0000, - 0x00000202, 0xfffffdfe, 0x02020202, 0xfdfdfdfe, 0x06060606, 0xf9f9f9fa, 0x06060000, 0xf9fa0000, - 0x00000606, 0xfffff9fa, 0x00000000, 0x02020000, 0xfdfe0000, 0x00000202, 0xfffffdfe, 0x02020202, - 0xfdfdfdfe, 0x06060606, 0xf9f9f9fa, 0x06060000, 0xf9fa0000, 0x00000606, 0xfffff9fa, 0x00000000, - 0x02020000, 0xfdfe0000, 0x00000202, 0xfffffdfe, 0x02020202, 0xfdfdfdfe, 0x06060606, 0xf9f9f9fa, - 0x06060000, 0xf9fa0000, 0x00000606, 0xfffff9fa, 0x00000000, 0x02020000, 0xfdfe0000, 0x00000202, - 0xfffffdfe, 0x02020202, 0xfdfdfdfe, 0x06060606, 0xf9f9f9fa, 0x06060000, 0xf9fa0000, 0x00000606, - 0xfffff9fa, 0x00000000, 0x02020000, 0xfdfe0000, 0x00000202, 0xfffffdfe, 0x02020202, 0xfdfdfdfe, - 0x06060606, 0xf9f9f9fa, 0x06060000, 0xf9fa0000, 0x00000606, 0xfffff9fa, 0x00000000, 0x02020000, - 0xfdfe0000, 0x00000202, 0xfffffdfe, 0x02020202, 0xfdfdfdfe, 0x06060606, 0xf9f9f9fa, 0x06060000, - 0xf9fa0000, 0x00000606, 0xfffff9fa, 0x00000000, 0x02020000, 0xfdfe0000, 0x00000202, 0xfffffdfe, - 0x02020202, 0xfdfdfdfe, 0x06060606, 0xf9f9f9fa, 0x06060000, 0xf9fa0000, 0x00000606, 0xfffff9fa, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x02020000, 0xfdfe0000, 0x00000202, 0xfffffdfe, 0x04040404, 0xfbfbfbfc, 0x0a0a0a0a, - 0xf5f5f5f6, 0x0a0a0000, 0xf5f60000, 0x00000a0a, 0xfffff5f6, 0x0605f9fa, 0xf9fa0606, 0xf7f80e0e, - 0x0807f1f2, 0xffffedee, 0x00001212, 0xeff00a0a, 0x100ff5f6, 0xe7e80000, 0x18180000, 0xf7f7e7e8, - 0xf7f81818, 0x0807e7e8, 0x08081818, 0x12121212, 0xedededee, 0xeff01414, 0x100febec, 0xe5e5f1f2, - 0xe5e60e0e, 0x1a19f1f2, 0x1a1a0e0e, 0xffffe1e2, 0x00001e1e, 0xddde0000, 0x22220000, 0xf7f7ddde, - 0xf7f82222, 0x0807ddde, 0x08082222, 0xedede1e2, 0xedee1e1e, 0x1211e1e2, 0x12121e1e, 0xddddf5f6, - 0xddde0a0a, 0x2221f5f6, 0x22220a0a, 0xddddebec, 0x22221414, 0xffffd7d8, 0x00002828, 0x1e1e1e1e, - 0xe1e1e1e2, 0xededd7d8, 0x12122828, 0xd3d40000, 0x2c2c0000, 0xd3d3eff0, 0x2c2c1010, 0xdbdbdbdc, - 0xdbdbdbdc, 0x24242424, 0xd3d3e5e6, 0x2c2c1a1a, 0xe5e5d1d2, 0x1a1a2e2e, 0xededcbcc, 0x12123434, - 0xc9c9ebec, 0xd3d3d3d4, 0x2c2c2c2c, 0xc9c9dfe0, 0xd1d1d1d2, 0xd1d1d1d2, 0x2e2e2e2e, 0x00000000, - 0x02020000, 0xfdfe0000, 0x00000202, 0xfffffdfe, 0x04040404, 0xfbfbfbfc, 0x0a0a0a0a, 0xf5f5f5f6, - 0x0a0a0000, 0xf5f60000, 0x00000a0a, 0xfffff5f6, 0x00000000, 0x02020000, 0xfdfe0000, 0x00000202, - 0xfffffdfe, 0x04040404, 0xfbfbfbfc, 0x0a0a0a0a, 0xf5f5f5f6, 0x0a0a0000, 0xf5f60000, 0x00000a0a, - 0xfffff5f6, 0x00000000, 0x02020000, 0xfdfe0000, 0x00000202, 0xfffffdfe, 0x04040404, 0xfbfbfbfc, - 0x0a0a0a0a, 0xf5f5f5f6, 0x0a0a0000, 0xf5f60000, 0x00000a0a, 0xfffff5f6, 0x00000000, 0x02020000, - 0xfdfe0000, 0x00000202, 0xfffffdfe, 0x04040404, 0xfbfbfbfc, 0x0a0a0a0a, 0xf5f5f5f6, 0x0a0a0000, - 0xf5f60000, 0x00000a0a, 0xfffff5f6, 0x00000000, 0x02020000, 0xfdfe0000, 0x00000202, 0xfffffdfe, - 0x04040404, 0xfbfbfbfc, 0x0a0a0a0a, 0xf5f5f5f6, 0x0a0a0000, 0xf5f60000, 0x00000a0a, 0xfffff5f6, - 0x00000000, 0x02020000, 0xfdfe0000, 0x00000202, 0xfffffdfe, 0x04040404, 0xfbfbfbfc, 0x0a0a0a0a, - 0xf5f5f5f6, 0x0a0a0000, 0xf5f60000, 0x00000a0a, 0xfffff5f6, 0x00000000, 0x02020000, 0xfdfe0000, - 0x00000202, 0xfffffdfe, 0x04040404, 0xfbfbfbfc, 0x0a0a0a0a, 0xf5f5f5f6, 0x0a0a0000, 0xf5f60000, - 0x00000a0a, 0xfffff5f6, 0x00000000, 0x02020000, 0xfdfe0000, 0x00000202, 0xfffffdfe, 0x04040404, - 0xfbfbfbfc, 0x0a0a0a0a, 0xf5f5f5f6, 0x0a0a0000, 0xf5f60000, 0x00000a0a, 0xfffff5f6, 0x00000000, - 0x02020000, 0xfdfe0000, 0x00000202, 0xfffffdfe, 0x04040404, 0xfbfbfbfc, 0x0a0a0a0a, 0xf5f5f5f6, - 0x0a0a0000, 0xf5f60000, 0x00000a0a, 0xfffff5f6, 0x00000000, 0x02020000, 0xfdfe0000, 0x00000202, - 0xfffffdfe, 0x04040404, 0xfbfbfbfc, 0x0a0a0a0a, 0xf5f5f5f6, 0x0a0a0000, 0xf5f60000, 0x00000a0a, - 0xfffff5f6, 0x00000000, 0x02020000, 0xfdfe0000, 0x00000202, 0xfffffdfe, 0x04040404, 0xfbfbfbfc, - 0x0a0a0a0a, 0xf5f5f5f6, 0x0a0a0000, 0xf5f60000, 0x00000a0a, 0xfffff5f6, 0x00000000, 0x02020000, - 0xfdfe0000, 0x00000202, 0xfffffdfe, 0x04040404, 0xfbfbfbfc, 0x0a0a0a0a, 0xf5f5f5f6, 0x0a0a0000, - 0xf5f60000, 0x00000a0a, 0xfffff5f6, 0x00000000, 0x02020000, 0xfdfe0000, 0x00000202, 0xfffffdfe, - 0x04040404, 0xfbfbfbfc, 0x0a0a0a0a, 0xf5f5f5f6, 0x0a0a0000, 0xf5f60000, 0x00000a0a, 0xfffff5f6, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x04040000, 0xfbfc0000, 0x00000404, 0xfffffbfc, 0x04040404, 0xfbfbfbfc, 0x0c0c0c0c, - 0xf3f3f3f4, 0x0c0c0000, 0xf3f40000, 0x00000c0c, 0xfffff3f4, 0x0807f7f8, 0xf7f80808, 0xeff00808, - 0x100ff7f8, 0xe7e80000, 0x18180000, 0xf7f7e7e8, 0xf7f81818, 0x0807e7e8, 0x08081818, 0xeff01414, - 0x100febec, 0xffffe3e4, 0x00001c1c, 0xe7e7eff0, 0xe7e81010, 0x1817eff0, 0x18181010, 0xdfe00000, - 0x20200000, 0xefefe3e4, 0xeff01c1c, 0x100fe3e4, 0x10101c1c, 0xdfdff7f8, 0xdfe00808, 0xf7f7dfe0, - 0xf7f82020, 0x0807dfe0, 0x08082020, 0x201ff7f8, 0x20200808, 0x18181818, 0xe7e7e7e8, 0xe7e81818, - 0x1817e7e8, 0xdfdfebec, 0x20201414, 0xffffd7d8, 0x00002828, 0xefefd7d8, 0x10102828, 0xd3d40000, - 0xd3d40000, 0xffffd3d4, 0x00002c2c, 0x2c2c0000, 0x2c2c0000, 0xdfdfdfe0, 0x20202020, 0xd3d3eff0, - 0x2c2c1010, 0xd3d3e7e8, 0xe7e7d3d4, 0x18182c2c, 0x2c2c1818, 0xefefcfd0, 0x10103030, 0xdbdbdbdc, - 0xdbdbdbdc, 0x24242424, 0x24242424, 0xcbcbebec, 0x28282828, 0xd7d7d7d8, 0xcbcbdfe0, 0x00000000, - 0x04040000, 0xfbfc0000, 0x00000404, 0xfffffbfc, 0x04040404, 0xfbfbfbfc, 0x0c0c0c0c, 0xf3f3f3f4, - 0x0c0c0000, 0xf3f40000, 0x00000c0c, 0xfffff3f4, 0x00000000, 0x04040000, 0xfbfc0000, 0x00000404, - 0xfffffbfc, 0x04040404, 0xfbfbfbfc, 0x0c0c0c0c, 0xf3f3f3f4, 0x0c0c0000, 0xf3f40000, 0x00000c0c, - 0xfffff3f4, 0x00000000, 0x04040000, 0xfbfc0000, 0x00000404, 0xfffffbfc, 0x04040404, 0xfbfbfbfc, - 0x0c0c0c0c, 0xf3f3f3f4, 0x0c0c0000, 0xf3f40000, 0x00000c0c, 0xfffff3f4, 0x00000000, 0x04040000, - 0xfbfc0000, 0x00000404, 0xfffffbfc, 0x04040404, 0xfbfbfbfc, 0x0c0c0c0c, 0xf3f3f3f4, 0x0c0c0000, - 0xf3f40000, 0x00000c0c, 0xfffff3f4, 0x00000000, 0x04040000, 0xfbfc0000, 0x00000404, 0xfffffbfc, - 0x04040404, 0xfbfbfbfc, 0x0c0c0c0c, 0xf3f3f3f4, 0x0c0c0000, 0xf3f40000, 0x00000c0c, 0xfffff3f4, - 0x00000000, 0x04040000, 0xfbfc0000, 0x00000404, 0xfffffbfc, 0x04040404, 0xfbfbfbfc, 0x0c0c0c0c, - 0xf3f3f3f4, 0x0c0c0000, 0xf3f40000, 0x00000c0c, 0xfffff3f4, 0x00000000, 0x04040000, 0xfbfc0000, - 0x00000404, 0xfffffbfc, 0x04040404, 0xfbfbfbfc, 0x0c0c0c0c, 0xf3f3f3f4, 0x0c0c0000, 0xf3f40000, - 0x00000c0c, 0xfffff3f4, 0x00000000, 0x04040000, 0xfbfc0000, 0x00000404, 0xfffffbfc, 0x04040404, - 0xfbfbfbfc, 0x0c0c0c0c, 0xf3f3f3f4, 0x0c0c0000, 0xf3f40000, 0x00000c0c, 0xfffff3f4, 0x00000000, - 0x04040000, 0xfbfc0000, 0x00000404, 0xfffffbfc, 0x04040404, 0xfbfbfbfc, 0x0c0c0c0c, 0xf3f3f3f4, - 0x0c0c0000, 0xf3f40000, 0x00000c0c, 0xfffff3f4, 0x00000000, 0x04040000, 0xfbfc0000, 0x00000404, - 0xfffffbfc, 0x04040404, 0xfbfbfbfc, 0x0c0c0c0c, 0xf3f3f3f4, 0x0c0c0000, 0xf3f40000, 0x00000c0c, - 0xfffff3f4, 0x00000000, 0x04040000, 0xfbfc0000, 0x00000404, 0xfffffbfc, 0x04040404, 0xfbfbfbfc, - 0x0c0c0c0c, 0xf3f3f3f4, 0x0c0c0000, 0xf3f40000, 0x00000c0c, 0xfffff3f4, 0x00000000, 0x04040000, - 0xfbfc0000, 0x00000404, 0xfffffbfc, 0x04040404, 0xfbfbfbfc, 0x0c0c0c0c, 0xf3f3f3f4, 0x0c0c0000, - 0xf3f40000, 0x00000c0c, 0xfffff3f4, 0x00000000, 0x04040000, 0xfbfc0000, 0x00000404, 0xfffffbfc, - 0x04040404, 0xfbfbfbfc, 0x0c0c0c0c, 0xf3f3f3f4, 0x0c0c0000, 0xf3f40000, 0x00000c0c, 0xfffff3f4, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x02020202, 0xfdfdfdfe, 0x06060606, 0xf9f9f9fa, 0x0c0c0c0c, 0xf3f3f3f4, 0x14141414, - 0xebebebec, 0x20202020, 0xdfdfdfe0, 0x2e2e2e2e, 0xd1d1d1d2, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x02020202, 0xfdfdfdfe, 0x06060606, 0xf9f9f9fa, 0x0c0c0c0c, 0xf3f3f3f4, 0x14141414, 0xebebebec, - 0x20202020, 0xdfdfdfe0, 0x2e2e2e2e, 0xd1d1d1d2, 0x00000000, 0x02020202, 0xfdfdfdfe, 0x06060606, - 0xf9f9f9fa, 0x0c0c0c0c, 0xf3f3f3f4, 0x14141414, 0xebebebec, 0x20202020, 0xdfdfdfe0, 0x2e2e2e2e, - 0xd1d1d1d2, 0x00000000, 0x02020202, 0xfdfdfdfe, 0x06060606, 0xf9f9f9fa, 0x0c0c0c0c, 0xf3f3f3f4, - 0x14141414, 0xebebebec, 0x20202020, 0xdfdfdfe0, 0x2e2e2e2e, 0xd1d1d1d2, 0x00000000, 0x02020202, - 0xfdfdfdfe, 0x06060606, 0xf9f9f9fa, 0x0c0c0c0c, 0xf3f3f3f4, 0x14141414, 0xebebebec, 0x20202020, - 0xdfdfdfe0, 0x2e2e2e2e, 0xd1d1d1d2, 0x00000000, 0x02020202, 0xfdfdfdfe, 0x06060606, 0xf9f9f9fa, - 0x0c0c0c0c, 0xf3f3f3f4, 0x14141414, 0xebebebec, 0x20202020, 0xdfdfdfe0, 0x2e2e2e2e, 0xd1d1d1d2, - 0x00000000, 0x02020202, 0xfdfdfdfe, 0x06060606, 0xf9f9f9fa, 0x0c0c0c0c, 0xf3f3f3f4, 0x14141414, - 0xebebebec, 0x20202020, 0xdfdfdfe0, 0x2e2e2e2e, 0xd1d1d1d2, 0x00000000, 0x02020202, 0xfdfdfdfe, - 0x06060606, 0xf9f9f9fa, 0x0c0c0c0c, 0xf3f3f3f4, 0x14141414, 0xebebebec, 0x20202020, 0xdfdfdfe0, - 0x2e2e2e2e, 0xd1d1d1d2, 0x00000000, 0x02020202, 0xfdfdfdfe, 0x06060606, 0xf9f9f9fa, 0x0c0c0c0c, - 0xf3f3f3f4, 0x14141414, 0xebebebec, 0x20202020, 0xdfdfdfe0, 0x2e2e2e2e, 0xd1d1d1d2, 0x00000000, - 0x02020202, 0xfdfdfdfe, 0x06060606, 0xf9f9f9fa, 0x0c0c0c0c, 0xf3f3f3f4, 0x14141414, 0xebebebec, - 0x20202020, 0xdfdfdfe0, 0x2e2e2e2e, 0xd1d1d1d2, 0x00000000, 0x02020202, 0xfdfdfdfe, 0x06060606, - 0xf9f9f9fa, 0x0c0c0c0c, 0xf3f3f3f4, 0x14141414, 0xebebebec, 0x20202020, 0xdfdfdfe0, 0x2e2e2e2e, - 0xd1d1d1d2, 0x00000000, 0x02020202, 0xfdfdfdfe, 0x06060606, 0xf9f9f9fa, 0x0c0c0c0c, 0xf3f3f3f4, - 0x14141414, 0xebebebec, 0x20202020, 0xdfdfdfe0, 0x2e2e2e2e, 0xd1d1d1d2, 0x00000000, 0x02020202, - 0xfdfdfdfe, 0x06060606, 0xf9f9f9fa, 0x0c0c0c0c, 0xf3f3f3f4, 0x14141414, 0xebebebec, 0x20202020, - 0xdfdfdfe0, 0x2e2e2e2e, 0xd1d1d1d2, 0x00000000, 0x02020202, 0xfdfdfdfe, 0x06060606, 0xf9f9f9fa, - 0x0c0c0c0c, 0xf3f3f3f4, 0x14141414, 0xebebebec, 0x20202020, 0xdfdfdfe0, 0x2e2e2e2e, 0xd1d1d1d2, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x02020202, 0xfdfdfdfe, 0x06060606, 0xf9f9f9fa, 0x0c0c0c0c, 0xf3f3f3f4, 0x14141414, - 0xebebebec, 0x20202020, 0xdfdfdfe0, 0x2e2e2e2e, 0xd1d1d1d2, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x02020202, 0xfdfdfdfe, 0x06060606, 0xf9f9f9fa, 0x0c0c0c0c, 0xf3f3f3f4, 0x14141414, 0xebebebec, - 0x20202020, 0xdfdfdfe0, 0x2e2e2e2e, 0xd1d1d1d2, 0x00000000, 0x02020202, 0xfdfdfdfe, 0x06060606, - 0xf9f9f9fa, 0x0c0c0c0c, 0xf3f3f3f4, 0x14141414, 0xebebebec, 0x20202020, 0xdfdfdfe0, 0x2e2e2e2e, - 0xd1d1d1d2, 0x00000000, 0x02020202, 0xfdfdfdfe, 0x06060606, 0xf9f9f9fa, 0x0c0c0c0c, 0xf3f3f3f4, - 0x14141414, 0xebebebec, 0x20202020, 0xdfdfdfe0, 0x2e2e2e2e, 0xd1d1d1d2, 0x00000000, 0x02020202, - 0xfdfdfdfe, 0x06060606, 0xf9f9f9fa, 0x0c0c0c0c, 0xf3f3f3f4, 0x14141414, 0xebebebec, 0x20202020, - 0xdfdfdfe0, 0x2e2e2e2e, 0xd1d1d1d2, 0x00000000, 0x02020202, 0xfdfdfdfe, 0x06060606, 0xf9f9f9fa, - 0x0c0c0c0c, 0xf3f3f3f4, 0x14141414, 0xebebebec, 0x20202020, 0xdfdfdfe0, 0x2e2e2e2e, 0xd1d1d1d2, - 0x00000000, 0x02020202, 0xfdfdfdfe, 0x06060606, 0xf9f9f9fa, 0x0c0c0c0c, 0xf3f3f3f4, 0x14141414, - 0xebebebec, 0x20202020, 0xdfdfdfe0, 0x2e2e2e2e, 0xd1d1d1d2, 0x00000000, 0x02020202, 0xfdfdfdfe, - 0x06060606, 0xf9f9f9fa, 0x0c0c0c0c, 0xf3f3f3f4, 0x14141414, 0xebebebec, 0x20202020, 0xdfdfdfe0, - 0x2e2e2e2e, 0xd1d1d1d2, 0x00000000, 0x02020202, 0xfdfdfdfe, 0x06060606, 0xf9f9f9fa, 0x0c0c0c0c, - 0xf3f3f3f4, 0x14141414, 0xebebebec, 0x20202020, 0xdfdfdfe0, 0x2e2e2e2e, 0xd1d1d1d2, 0x00000000, - 0x02020202, 0xfdfdfdfe, 0x06060606, 0xf9f9f9fa, 0x0c0c0c0c, 0xf3f3f3f4, 0x14141414, 0xebebebec, - 0x20202020, 0xdfdfdfe0, 0x2e2e2e2e, 0xd1d1d1d2, 0x00000000, 0x02020202, 0xfdfdfdfe, 0x06060606, - 0xf9f9f9fa, 0x0c0c0c0c, 0xf3f3f3f4, 0x14141414, 0xebebebec, 0x20202020, 0xdfdfdfe0, 0x2e2e2e2e, - 0xd1d1d1d2, 0x00000000, 0x02020202, 0xfdfdfdfe, 0x06060606, 0xf9f9f9fa, 0x0c0c0c0c, 0xf3f3f3f4, - 0x14141414, 0xebebebec, 0x20202020, 0xdfdfdfe0, 0x2e2e2e2e, 0xd1d1d1d2, 0x00000000, 0x02020202, - 0xfdfdfdfe, 0x06060606, 0xf9f9f9fa, 0x0c0c0c0c, 0xf3f3f3f4, 0x14141414, 0xebebebec, 0x20202020, - 0xdfdfdfe0, 0x2e2e2e2e, 0xd1d1d1d2, 0x00000000, 0x02020202, 0xfdfdfdfe, 0x06060606, 0xf9f9f9fa, - 0x0c0c0c0c, 0xf3f3f3f4, 0x14141414, 0xebebebec, 0x20202020, 0xdfdfdfe0, 0x2e2e2e2e, 0xd1d1d1d2, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x02020202, 0xfdfdfdfe, 0x06060606, 0xf9f9f9fa, 0x0c0c0c0c, 0xf3f3f3f4, 0x14141414, - 0xebebebec, 0x20202020, 0xdfdfdfe0, 0x2e2e2e2e, 0xd1d1d1d2, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x02020202, 0xfdfdfdfe, 0x06060606, 0xf9f9f9fa, 0x0c0c0c0c, 0xf3f3f3f4, 0x14141414, 0xebebebec, - 0x20202020, 0xdfdfdfe0, 0x2e2e2e2e, 0xd1d1d1d2, 0x00000000, 0x02020202, 0xfdfdfdfe, 0x06060606, - 0xf9f9f9fa, 0x0c0c0c0c, 0xf3f3f3f4, 0x14141414, 0xebebebec, 0x20202020, 0xdfdfdfe0, 0x2e2e2e2e, - 0xd1d1d1d2, 0x00000000, 0x02020202, 0xfdfdfdfe, 0x06060606, 0xf9f9f9fa, 0x0c0c0c0c, 0xf3f3f3f4, - 0x14141414, 0xebebebec, 0x20202020, 0xdfdfdfe0, 0x2e2e2e2e, 0xd1d1d1d2, 0x00000000, 0x02020202, - 0xfdfdfdfe, 0x06060606, 0xf9f9f9fa, 0x0c0c0c0c, 0xf3f3f3f4, 0x14141414, 0xebebebec, 0x20202020, - 0xdfdfdfe0, 0x2e2e2e2e, 0xd1d1d1d2, 0x00000000, 0x02020202, 0xfdfdfdfe, 0x06060606, 0xf9f9f9fa, - 0x0c0c0c0c, 0xf3f3f3f4, 0x14141414, 0xebebebec, 0x20202020, 0xdfdfdfe0, 0x2e2e2e2e, 0xd1d1d1d2, - 0x00000000, 0x02020202, 0xfdfdfdfe, 0x06060606, 0xf9f9f9fa, 0x0c0c0c0c, 0xf3f3f3f4, 0x14141414, - 0xebebebec, 0x20202020, 0xdfdfdfe0, 0x2e2e2e2e, 0xd1d1d1d2, 0x00000000, 0x02020202, 0xfdfdfdfe, - 0x06060606, 0xf9f9f9fa, 0x0c0c0c0c, 0xf3f3f3f4, 0x14141414, 0xebebebec, 0x20202020, 0xdfdfdfe0, - 0x2e2e2e2e, 0xd1d1d1d2, 0x00000000, 0x02020202, 0xfdfdfdfe, 0x06060606, 0xf9f9f9fa, 0x0c0c0c0c, - 0xf3f3f3f4, 0x14141414, 0xebebebec, 0x20202020, 0xdfdfdfe0, 0x2e2e2e2e, 0xd1d1d1d2, 0x00000000, - 0x02020202, 0xfdfdfdfe, 0x06060606, 0xf9f9f9fa, 0x0c0c0c0c, 0xf3f3f3f4, 0x14141414, 0xebebebec, - 0x20202020, 0xdfdfdfe0, 0x2e2e2e2e, 0xd1d1d1d2, 0x00000000, 0x02020202, 0xfdfdfdfe, 0x06060606, - 0xf9f9f9fa, 0x0c0c0c0c, 0xf3f3f3f4, 0x14141414, 0xebebebec, 0x20202020, 0xdfdfdfe0, 0x2e2e2e2e, - 0xd1d1d1d2, 0x00000000, 0x02020202, 0xfdfdfdfe, 0x06060606, 0xf9f9f9fa, 0x0c0c0c0c, 0xf3f3f3f4, - 0x14141414, 0xebebebec, 0x20202020, 0xdfdfdfe0, 0x2e2e2e2e, 0xd1d1d1d2, 0x00000000, 0x02020202, - 0xfdfdfdfe, 0x06060606, 0xf9f9f9fa, 0x0c0c0c0c, 0xf3f3f3f4, 0x14141414, 0xebebebec, 0x20202020, - 0xdfdfdfe0, 0x2e2e2e2e, 0xd1d1d1d2, 0x00000000, 0x02020202, 0xfdfdfdfe, 0x06060606, 0xf9f9f9fa, - 0x0c0c0c0c, 0xf3f3f3f4, 0x14141414, 0xebebebec, 0x20202020, 0xdfdfdfe0, 0x2e2e2e2e, 0xd1d1d1d2, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x02020202, 0xfdfdfdfe, 0x06060606, 0xf9f9f9fa, 0x0c0c0c0c, 0xf3f3f3f4, 0x14141414, - 0xebebebec, 0x20202020, 0xdfdfdfe0, 0x2e2e2e2e, 0xd1d1d1d2, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x02020202, 0xfdfdfdfe, 0x06060606, 0xf9f9f9fa, 0x0c0c0c0c, 0xf3f3f3f4, 0x14141414, 0xebebebec, - 0x20202020, 0xdfdfdfe0, 0x2e2e2e2e, 0xd1d1d1d2, 0x00000000, 0x02020202, 0xfdfdfdfe, 0x06060606, - 0xf9f9f9fa, 0x0c0c0c0c, 0xf3f3f3f4, 0x14141414, 0xebebebec, 0x20202020, 0xdfdfdfe0, 0x2e2e2e2e, - 0xd1d1d1d2, 0x00000000, 0x02020202, 0xfdfdfdfe, 0x06060606, 0xf9f9f9fa, 0x0c0c0c0c, 0xf3f3f3f4, - 0x14141414, 0xebebebec, 0x20202020, 0xdfdfdfe0, 0x2e2e2e2e, 0xd1d1d1d2, 0x00000000, 0x02020202, - 0xfdfdfdfe, 0x06060606, 0xf9f9f9fa, 0x0c0c0c0c, 0xf3f3f3f4, 0x14141414, 0xebebebec, 0x20202020, - 0xdfdfdfe0, 0x2e2e2e2e, 0xd1d1d1d2, 0x00000000, 0x02020202, 0xfdfdfdfe, 0x06060606, 0xf9f9f9fa, - 0x0c0c0c0c, 0xf3f3f3f4, 0x14141414, 0xebebebec, 0x20202020, 0xdfdfdfe0, 0x2e2e2e2e, 0xd1d1d1d2, - 0x00000000, 0x02020202, 0xfdfdfdfe, 0x06060606, 0xf9f9f9fa, 0x0c0c0c0c, 0xf3f3f3f4, 0x14141414, - 0xebebebec, 0x20202020, 0xdfdfdfe0, 0x2e2e2e2e, 0xd1d1d1d2, 0x00000000, 0x02020202, 0xfdfdfdfe, - 0x06060606, 0xf9f9f9fa, 0x0c0c0c0c, 0xf3f3f3f4, 0x14141414, 0xebebebec, 0x20202020, 0xdfdfdfe0, - 0x2e2e2e2e, 0xd1d1d1d2, 0x00000000, 0x02020202, 0xfdfdfdfe, 0x06060606, 0xf9f9f9fa, 0x0c0c0c0c, - 0xf3f3f3f4, 0x14141414, 0xebebebec, 0x20202020, 0xdfdfdfe0, 0x2e2e2e2e, 0xd1d1d1d2, 0x00000000, - 0x02020202, 0xfdfdfdfe, 0x06060606, 0xf9f9f9fa, 0x0c0c0c0c, 0xf3f3f3f4, 0x14141414, 0xebebebec, - 0x20202020, 0xdfdfdfe0, 0x2e2e2e2e, 0xd1d1d1d2, 0x00000000, 0x02020202, 0xfdfdfdfe, 0x06060606, - 0xf9f9f9fa, 0x0c0c0c0c, 0xf3f3f3f4, 0x14141414, 0xebebebec, 0x20202020, 0xdfdfdfe0, 0x2e2e2e2e, - 0xd1d1d1d2, 0x00000000, 0x02020202, 0xfdfdfdfe, 0x06060606, 0xf9f9f9fa, 0x0c0c0c0c, 0xf3f3f3f4, - 0x14141414, 0xebebebec, 0x20202020, 0xdfdfdfe0, 0x2e2e2e2e, 0xd1d1d1d2, 0x00000000, 0x02020202, - 0xfdfdfdfe, 0x06060606, 0xf9f9f9fa, 0x0c0c0c0c, 0xf3f3f3f4, 0x14141414, 0xebebebec, 0x20202020, - 0xdfdfdfe0, 0x2e2e2e2e, 0xd1d1d1d2, 0x00000000, 0x02020202, 0xfdfdfdfe, 0x06060606, 0xf9f9f9fa, - 0x0c0c0c0c, 0xf3f3f3f4, 0x14141414, 0xebebebec, 0x20202020, 0xdfdfdfe0, 0x2e2e2e2e, 0xd1d1d1d2, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 -}; - - -const uint32 Indeo3Decoder::correctionhighorder[] = { - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0x00000000, 0x02020202, 0xfdfdfdfe, 0x0302feff, 0xfcfd0101, - 0xfeff0303, 0x0100fcfd, 0x00000000, 0x02020202, 0xfdfdfdfe, 0x0302feff, 0xfcfd0101, 0xfeff0303, - 0x0100fcfd, 0x00000000, 0x02020202, 0xfdfdfdfe, 0x0302feff, 0xfcfd0101, 0xfeff0303, 0x0100fcfd, - 0x00000000, 0x02020202, 0xfdfdfdfe, 0x0302feff, 0xfcfd0101, 0xfeff0303, 0x0100fcfd, 0x00000000, - 0x02020202, 0xfdfdfdfe, 0x0302feff, 0xfcfd0101, 0xfeff0303, 0x0100fcfd, 0x00000000, 0x02020202, - 0xfdfdfdfe, 0x0302feff, 0xfcfd0101, 0xfeff0303, 0x0100fcfd, 0x00000000, 0x02020202, 0xfdfdfdfe, - 0x0302feff, 0xfcfd0101, 0xfeff0303, 0x0100fcfd, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0x00000000, - 0x03030303, 0xfcfcfcfd, 0x0403feff, 0xfbfc0101, 0xfeff0404, 0x0100fbfc, 0x07070707, 0xf8f8f8f9, - 0x00000000, 0x03030303, 0xfcfcfcfd, 0x0403feff, 0xfbfc0101, 0xfeff0404, 0x0100fbfc, 0x07070707, - 0xf8f8f8f9, 0x00000000, 0x03030303, 0xfcfcfcfd, 0x0403feff, 0xfbfc0101, 0xfeff0404, 0x0100fbfc, - 0x07070707, 0xf8f8f8f9, 0x00000000, 0x03030303, 0xfcfcfcfd, 0x0403feff, 0xfbfc0101, 0xfeff0404, - 0x0100fbfc, 0x07070707, 0xf8f8f8f9, 0x00000000, 0x03030303, 0xfcfcfcfd, 0x0403feff, 0xfbfc0101, - 0xfeff0404, 0x0100fbfc, 0x07070707, 0xf8f8f8f9, 0x00000000, 0x03030303, 0xfcfcfcfd, 0x0403feff, - 0xfbfc0101, 0xfeff0404, 0x0100fbfc, 0x07070707, 0xf8f8f8f9, 0x00000000, 0x03030303, 0xfcfcfcfd, - 0x0403feff, 0xfbfc0101, 0xfeff0404, 0x0100fbfc, 0x07070707, 0xf8f8f8f9, 0x00000000, 0x03030303, - 0xfcfcfcfd, 0x0403feff, 0xfbfc0101, 0xfeff0404, 0x0100fbfc, 0x07070707, 0xf8f8f8f9, 0x00000000, - 0x03030303, 0xfcfcfcfd, 0x0403feff, 0xfbfc0101, 0xfeff0404, 0x0100fbfc, 0x07070707, 0xf8f8f8f9, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0x00000000, 0x04040404, 0xfbfbfbfc, - 0x0504feff, 0xfafb0101, 0xfeff0505, 0x0100fafb, 0x0a0a0303, 0xf5f5fcfd, 0x03030a0a, 0x00000000, - 0x04040404, 0xfbfbfbfc, 0x0504feff, 0xfafb0101, 0xfeff0505, 0x0100fafb, 0x0a0a0303, 0xf5f5fcfd, - 0x03030a0a, 0x00000000, 0x04040404, 0xfbfbfbfc, 0x0504feff, 0xfafb0101, 0xfeff0505, 0x0100fafb, - 0x0a0a0303, 0xf5f5fcfd, 0x03030a0a, 0x00000000, 0x04040404, 0xfbfbfbfc, 0x0504feff, 0xfafb0101, - 0xfeff0505, 0x0100fafb, 0x0a0a0303, 0xf5f5fcfd, 0x03030a0a, 0x00000000, 0x04040404, 0xfbfbfbfc, - 0x0504feff, 0xfafb0101, 0xfeff0505, 0x0100fafb, 0x0a0a0303, 0xf5f5fcfd, 0x03030a0a, 0x00000000, - 0x04040404, 0xfbfbfbfc, 0x0504feff, 0xfafb0101, 0xfeff0505, 0x0100fafb, 0x0a0a0303, 0xf5f5fcfd, - 0x03030a0a, 0x00000000, 0x04040404, 0xfbfbfbfc, 0x0504feff, 0xfafb0101, 0xfeff0505, 0x0100fafb, - 0x0a0a0303, 0xf5f5fcfd, 0x03030a0a, 0x00000000, 0x04040404, 0xfbfbfbfc, 0x0504feff, 0xfafb0101, - 0xfeff0505, 0x0100fafb, 0x0a0a0303, 0xf5f5fcfd, 0x03030a0a, 0x00000000, 0x04040404, 0xfbfbfbfc, - 0x0504feff, 0xfafb0101, 0xfeff0505, 0x0100fafb, 0x0a0a0303, 0xf5f5fcfd, 0x03030a0a, 0x00000000, - 0x04040404, 0xfbfbfbfc, 0x0504feff, 0xfafb0101, 0xfeff0505, 0x0100fafb, 0x0a0a0303, 0xf5f5fcfd, - 0x03030a0a, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0x00000000, 0x05050505, 0xfafafafb, 0x0706fdfe, 0xf8f90202, - 0xfdfe0707, 0x0201f8f9, 0x0b0b0b0b, 0xf4f4f4f5, 0x0d0d0303, 0xf2f2fcfd, 0x00000000, 0x05050505, - 0xfafafafb, 0x0706fdfe, 0xf8f90202, 0xfdfe0707, 0x0201f8f9, 0x0b0b0b0b, 0xf4f4f4f5, 0x0d0d0303, - 0xf2f2fcfd, 0x00000000, 0x05050505, 0xfafafafb, 0x0706fdfe, 0xf8f90202, 0xfdfe0707, 0x0201f8f9, - 0x0b0b0b0b, 0xf4f4f4f5, 0x0d0d0303, 0xf2f2fcfd, 0x00000000, 0x05050505, 0xfafafafb, 0x0706fdfe, - 0xf8f90202, 0xfdfe0707, 0x0201f8f9, 0x0b0b0b0b, 0xf4f4f4f5, 0x0d0d0303, 0xf2f2fcfd, 0x00000000, - 0x05050505, 0xfafafafb, 0x0706fdfe, 0xf8f90202, 0xfdfe0707, 0x0201f8f9, 0x0b0b0b0b, 0xf4f4f4f5, - 0x0d0d0303, 0xf2f2fcfd, 0x00000000, 0x05050505, 0xfafafafb, 0x0706fdfe, 0xf8f90202, 0xfdfe0707, - 0x0201f8f9, 0x0b0b0b0b, 0xf4f4f4f5, 0x0d0d0303, 0xf2f2fcfd, 0x00000000, 0x05050505, 0xfafafafb, - 0x0706fdfe, 0xf8f90202, 0xfdfe0707, 0x0201f8f9, 0x0b0b0b0b, 0xf4f4f4f5, 0x0d0d0303, 0xf2f2fcfd, - 0x00000000, 0x05050505, 0xfafafafb, 0x0706fdfe, 0xf8f90202, 0xfdfe0707, 0x0201f8f9, 0x0b0b0b0b, - 0xf4f4f4f5, 0x0d0d0303, 0xf2f2fcfd, 0x00000000, 0x05050505, 0xfafafafb, 0x0706fdfe, 0xf8f90202, - 0xfdfe0707, 0x0201f8f9, 0x0b0b0b0b, 0xf4f4f4f5, 0x0d0d0303, 0xf2f2fcfd, 0x00000000, 0x05050505, - 0xfafafafb, 0x0706fdfe, 0xf8f90202, 0xfdfe0707, 0x0201f8f9, 0x0b0b0b0b, 0xf4f4f4f5, 0x0d0d0303, - 0xf2f2fcfd, 0x00000000, 0x05050505, 0xfafafafb, 0x0706fdfe, 0xf8f90202, 0xfdfe0707, 0x0201f8f9, - 0x0b0b0b0b, 0xf4f4f4f5, 0x0d0d0303, 0xf2f2fcfd, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0x00000000, 0x06060606, 0xf9f9f9fa, - 0x0807fdfe, 0xf7f80202, 0xfdfe0808, 0x0201f7f8, 0x0d0d0d0d, 0xf2f2f2f3, 0x0f0f0404, 0xf0f0fbfc, - 0x04040f0f, 0x00000000, 0x06060606, 0xf9f9f9fa, 0x0807fdfe, 0xf7f80202, 0xfdfe0808, 0x0201f7f8, - 0x0d0d0d0d, 0xf2f2f2f3, 0x0f0f0404, 0xf0f0fbfc, 0x04040f0f, 0x00000000, 0x06060606, 0xf9f9f9fa, - 0x0807fdfe, 0xf7f80202, 0xfdfe0808, 0x0201f7f8, 0x0d0d0d0d, 0xf2f2f2f3, 0x0f0f0404, 0xf0f0fbfc, - 0x04040f0f, 0x00000000, 0x06060606, 0xf9f9f9fa, 0x0807fdfe, 0xf7f80202, 0xfdfe0808, 0x0201f7f8, - 0x0d0d0d0d, 0xf2f2f2f3, 0x0f0f0404, 0xf0f0fbfc, 0x04040f0f, 0x00000000, 0x06060606, 0xf9f9f9fa, - 0x0807fdfe, 0xf7f80202, 0xfdfe0808, 0x0201f7f8, 0x0d0d0d0d, 0xf2f2f2f3, 0x0f0f0404, 0xf0f0fbfc, - 0x04040f0f, 0x00000000, 0x06060606, 0xf9f9f9fa, 0x0807fdfe, 0xf7f80202, 0xfdfe0808, 0x0201f7f8, - 0x0d0d0d0d, 0xf2f2f2f3, 0x0f0f0404, 0xf0f0fbfc, 0x04040f0f, 0x00000000, 0x06060606, 0xf9f9f9fa, - 0x0807fdfe, 0xf7f80202, 0xfdfe0808, 0x0201f7f8, 0x0d0d0d0d, 0xf2f2f2f3, 0x0f0f0404, 0xf0f0fbfc, - 0x04040f0f, 0x00000000, 0x06060606, 0xf9f9f9fa, 0x0807fdfe, 0xf7f80202, 0xfdfe0808, 0x0201f7f8, - 0x0d0d0d0d, 0xf2f2f2f3, 0x0f0f0404, 0xf0f0fbfc, 0x04040f0f, 0x00000000, 0x06060606, 0xf9f9f9fa, - 0x0807fdfe, 0xf7f80202, 0xfdfe0808, 0x0201f7f8, 0x0d0d0d0d, 0xf2f2f2f3, 0x0f0f0404, 0xf0f0fbfc, - 0x04040f0f, 0x00000000, 0x06060606, 0xf9f9f9fa, 0x0807fdfe, 0xf7f80202, 0xfdfe0808, 0x0201f7f8, - 0x0d0d0d0d, 0xf2f2f2f3, 0x0f0f0404, 0xf0f0fbfc, 0x04040f0f, 0x00000000, 0x06060606, 0xf9f9f9fa, - 0x0807fdfe, 0xf7f80202, 0xfdfe0808, 0x0201f7f8, 0x0d0d0d0d, 0xf2f2f2f3, 0x0f0f0404, 0xf0f0fbfc, - 0x04040f0f, 0x00000000, 0x06060606, 0xf9f9f9fa, 0x0807fdfe, 0xf7f80202, 0xfdfe0808, 0x0201f7f8, - 0x0d0d0d0d, 0xf2f2f2f3, 0x0f0f0404, 0xf0f0fbfc, 0x04040f0f, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0x00000000, 0x07070707, 0xf8f8f8f9, - 0x0a09fcfd, 0xf5f60303, 0xfcfd0a0a, 0x0302f5f6, 0x10101010, 0xefefeff0, 0x12120505, 0xededfafb, - 0x05051212, 0x00000000, 0x07070707, 0xf8f8f8f9, 0x0a09fcfd, 0xf5f60303, 0xfcfd0a0a, 0x0302f5f6, - 0x10101010, 0xefefeff0, 0x12120505, 0xededfafb, 0x05051212, 0x00000000, 0x07070707, 0xf8f8f8f9, - 0x0a09fcfd, 0xf5f60303, 0xfcfd0a0a, 0x0302f5f6, 0x10101010, 0xefefeff0, 0x12120505, 0xededfafb, - 0x05051212, 0x00000000, 0x07070707, 0xf8f8f8f9, 0x0a09fcfd, 0xf5f60303, 0xfcfd0a0a, 0x0302f5f6, - 0x10101010, 0xefefeff0, 0x12120505, 0xededfafb, 0x05051212, 0x00000000, 0x07070707, 0xf8f8f8f9, - 0x0a09fcfd, 0xf5f60303, 0xfcfd0a0a, 0x0302f5f6, 0x10101010, 0xefefeff0, 0x12120505, 0xededfafb, - 0x05051212, 0x00000000, 0x07070707, 0xf8f8f8f9, 0x0a09fcfd, 0xf5f60303, 0xfcfd0a0a, 0x0302f5f6, - 0x10101010, 0xefefeff0, 0x12120505, 0xededfafb, 0x05051212, 0x00000000, 0x07070707, 0xf8f8f8f9, - 0x0a09fcfd, 0xf5f60303, 0xfcfd0a0a, 0x0302f5f6, 0x10101010, 0xefefeff0, 0x12120505, 0xededfafb, - 0x05051212, 0x00000000, 0x07070707, 0xf8f8f8f9, 0x0a09fcfd, 0xf5f60303, 0xfcfd0a0a, 0x0302f5f6, - 0x10101010, 0xefefeff0, 0x12120505, 0xededfafb, 0x05051212, 0x00000000, 0x07070707, 0xf8f8f8f9, - 0x0a09fcfd, 0xf5f60303, 0xfcfd0a0a, 0x0302f5f6, 0x10101010, 0xefefeff0, 0x12120505, 0xededfafb, - 0x05051212, 0x00000000, 0x07070707, 0xf8f8f8f9, 0x0a09fcfd, 0xf5f60303, 0xfcfd0a0a, 0x0302f5f6, - 0x10101010, 0xefefeff0, 0x12120505, 0xededfafb, 0x05051212, 0x00000000, 0x07070707, 0xf8f8f8f9, - 0x0a09fcfd, 0xf5f60303, 0xfcfd0a0a, 0x0302f5f6, 0x10101010, 0xefefeff0, 0x12120505, 0xededfafb, - 0x05051212, 0x00000000, 0x07070707, 0xf8f8f8f9, 0x0a09fcfd, 0xf5f60303, 0xfcfd0a0a, 0x0302f5f6, - 0x10101010, 0xefefeff0, 0x12120505, 0xededfafb, 0x05051212, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0x00000000, - 0x08080808, 0xf7f7f7f8, 0x0b0afcfd, 0xf4f50303, 0xfcfd0b0b, 0x0302f4f5, 0x12121212, 0xedededee, - 0x14140505, 0xebebfafb, 0x05051414, 0x00000000, 0x08080808, 0xf7f7f7f8, 0x0b0afcfd, 0xf4f50303, - 0xfcfd0b0b, 0x0302f4f5, 0x12121212, 0xedededee, 0x14140505, 0xebebfafb, 0x05051414, 0x00000000, - 0x08080808, 0xf7f7f7f8, 0x0b0afcfd, 0xf4f50303, 0xfcfd0b0b, 0x0302f4f5, 0x12121212, 0xedededee, - 0x14140505, 0xebebfafb, 0x05051414, 0x00000000, 0x08080808, 0xf7f7f7f8, 0x0b0afcfd, 0xf4f50303, - 0xfcfd0b0b, 0x0302f4f5, 0x12121212, 0xedededee, 0x14140505, 0xebebfafb, 0x05051414, 0x00000000, - 0x08080808, 0xf7f7f7f8, 0x0b0afcfd, 0xf4f50303, 0xfcfd0b0b, 0x0302f4f5, 0x12121212, 0xedededee, - 0x14140505, 0xebebfafb, 0x05051414, 0x00000000, 0x08080808, 0xf7f7f7f8, 0x0b0afcfd, 0xf4f50303, - 0xfcfd0b0b, 0x0302f4f5, 0x12121212, 0xedededee, 0x14140505, 0xebebfafb, 0x05051414, 0x00000000, - 0x08080808, 0xf7f7f7f8, 0x0b0afcfd, 0xf4f50303, 0xfcfd0b0b, 0x0302f4f5, 0x12121212, 0xedededee, - 0x14140505, 0xebebfafb, 0x05051414, 0x00000000, 0x08080808, 0xf7f7f7f8, 0x0b0afcfd, 0xf4f50303, - 0xfcfd0b0b, 0x0302f4f5, 0x12121212, 0xedededee, 0x14140505, 0xebebfafb, 0x05051414, 0x00000000, - 0x08080808, 0xf7f7f7f8, 0x0b0afcfd, 0xf4f50303, 0xfcfd0b0b, 0x0302f4f5, 0x12121212, 0xedededee, - 0x14140505, 0xebebfafb, 0x05051414, 0x00000000, 0x08080808, 0xf7f7f7f8, 0x0b0afcfd, 0xf4f50303, - 0xfcfd0b0b, 0x0302f4f5, 0x12121212, 0xedededee, 0x14140505, 0xebebfafb, 0x05051414, 0x00000000, - 0x08080808, 0xf7f7f7f8, 0x0b0afcfd, 0xf4f50303, 0xfcfd0b0b, 0x0302f4f5, 0x12121212, 0xedededee, - 0x14140505, 0xebebfafb, 0x05051414, 0x00000000, 0x08080808, 0xf7f7f7f8, 0x0b0afcfd, 0xf4f50303, - 0xfcfd0b0b, 0x0302f4f5, 0x12121212, 0xedededee, 0x14140505, 0xebebfafb, 0x05051414, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0x00000000, 0x09090909, 0xf6f6f6f7, - 0x0c0bfcfd, 0xf3f40303, 0xfcfd0c0c, 0x0302f3f4, 0x14141414, 0xebebebec, 0x17170606, 0xe8e8f9fa, - 0x06061717, 0xf9f9e8e9, 0x00000000, 0x09090909, 0xf6f6f6f7, 0x0c0bfcfd, 0xf3f40303, 0xfcfd0c0c, - 0x0302f3f4, 0x14141414, 0xebebebec, 0x17170606, 0xe8e8f9fa, 0x06061717, 0xf9f9e8e9, 0x00000000, - 0x09090909, 0xf6f6f6f7, 0x0c0bfcfd, 0xf3f40303, 0xfcfd0c0c, 0x0302f3f4, 0x14141414, 0xebebebec, - 0x17170606, 0xe8e8f9fa, 0x06061717, 0xf9f9e8e9, 0x00000000, 0x09090909, 0xf6f6f6f7, 0x0c0bfcfd, - 0xf3f40303, 0xfcfd0c0c, 0x0302f3f4, 0x14141414, 0xebebebec, 0x17170606, 0xe8e8f9fa, 0x06061717, - 0xf9f9e8e9, 0x00000000, 0x09090909, 0xf6f6f6f7, 0x0c0bfcfd, 0xf3f40303, 0xfcfd0c0c, 0x0302f3f4, - 0x14141414, 0xebebebec, 0x17170606, 0xe8e8f9fa, 0x06061717, 0xf9f9e8e9, 0x00000000, 0x09090909, - 0xf6f6f6f7, 0x0c0bfcfd, 0xf3f40303, 0xfcfd0c0c, 0x0302f3f4, 0x14141414, 0xebebebec, 0x17170606, - 0xe8e8f9fa, 0x06061717, 0xf9f9e8e9, 0x00000000, 0x09090909, 0xf6f6f6f7, 0x0c0bfcfd, 0xf3f40303, - 0xfcfd0c0c, 0x0302f3f4, 0x14141414, 0xebebebec, 0x17170606, 0xe8e8f9fa, 0x06061717, 0xf9f9e8e9, - 0x00000000, 0x09090909, 0xf6f6f6f7, 0x0c0bfcfd, 0xf3f40303, 0xfcfd0c0c, 0x0302f3f4, 0x14141414, - 0xebebebec, 0x17170606, 0xe8e8f9fa, 0x06061717, 0xf9f9e8e9, 0x00000000, 0x09090909, 0xf6f6f6f7, - 0x0c0bfcfd, 0xf3f40303, 0xfcfd0c0c, 0x0302f3f4, 0x14141414, 0xebebebec, 0x17170606, 0xe8e8f9fa, - 0x06061717, 0xf9f9e8e9, 0x00000000, 0x09090909, 0xf6f6f6f7, 0x0c0bfcfd, 0xf3f40303, 0xfcfd0c0c, - 0x0302f3f4, 0x14141414, 0xebebebec, 0x17170606, 0xe8e8f9fa, 0x06061717, 0xf9f9e8e9, 0x00000000, - 0x09090909, 0xf6f6f6f7, 0x0c0bfcfd, 0xf3f40303, 0xfcfd0c0c, 0x0302f3f4, 0x14141414, 0xebebebec, - 0x17170606, 0xe8e8f9fa, 0x06061717, 0xf9f9e8e9, 0x00000000, 0x09090909, 0xf6f6f6f7, 0x0c0bfcfd, - 0xf3f40303, 0xfcfd0c0c, 0x0302f3f4, 0x14141414, 0xebebebec, 0x17170606, 0xe8e8f9fa, 0x06061717, - 0xf9f9e8e9, 0x00000000, 0x09090909, 0xf6f6f6f7, 0x0c0bfcfd, 0xf3f40303, 0xfcfd0c0c, 0x0302f3f4, - 0x14141414, 0xebebebec, 0x17170606, 0xe8e8f9fa, 0x06061717, 0xf9f9e8e9, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0x00000000, 0x02020202, 0xfdfdfdfe, 0x02020000, 0xfdfe0000, - 0x00000202, 0xfffffdfe, 0x00000000, 0x02020202, 0xfdfdfdfe, 0x02020000, 0xfdfe0000, 0x00000202, - 0xfffffdfe, 0x00000000, 0x02020202, 0xfdfdfdfe, 0x02020000, 0xfdfe0000, 0x00000202, 0xfffffdfe, - 0x00000000, 0x02020202, 0xfdfdfdfe, 0x02020000, 0xfdfe0000, 0x00000202, 0xfffffdfe, 0x00000000, - 0x02020202, 0xfdfdfdfe, 0x02020000, 0xfdfe0000, 0x00000202, 0xfffffdfe, 0x00000000, 0x02020202, - 0xfdfdfdfe, 0x02020000, 0xfdfe0000, 0x00000202, 0xfffffdfe, 0x00000000, 0x02020202, 0xfdfdfdfe, - 0x02020000, 0xfdfe0000, 0x00000202, 0xfffffdfe, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0x00000000, - 0x03030303, 0xfcfcfcfd, 0x03030000, 0xfcfd0000, 0x00000303, 0xfffffcfd, 0x06060606, 0xf9f9f9fa, - 0x00000000, 0x03030303, 0xfcfcfcfd, 0x03030000, 0xfcfd0000, 0x00000303, 0xfffffcfd, 0x06060606, - 0xf9f9f9fa, 0x00000000, 0x03030303, 0xfcfcfcfd, 0x03030000, 0xfcfd0000, 0x00000303, 0xfffffcfd, - 0x06060606, 0xf9f9f9fa, 0x00000000, 0x03030303, 0xfcfcfcfd, 0x03030000, 0xfcfd0000, 0x00000303, - 0xfffffcfd, 0x06060606, 0xf9f9f9fa, 0x00000000, 0x03030303, 0xfcfcfcfd, 0x03030000, 0xfcfd0000, - 0x00000303, 0xfffffcfd, 0x06060606, 0xf9f9f9fa, 0x00000000, 0x03030303, 0xfcfcfcfd, 0x03030000, - 0xfcfd0000, 0x00000303, 0xfffffcfd, 0x06060606, 0xf9f9f9fa, 0x00000000, 0x03030303, 0xfcfcfcfd, - 0x03030000, 0xfcfd0000, 0x00000303, 0xfffffcfd, 0x06060606, 0xf9f9f9fa, 0x00000000, 0x03030303, - 0xfcfcfcfd, 0x03030000, 0xfcfd0000, 0x00000303, 0xfffffcfd, 0x06060606, 0xf9f9f9fa, 0x00000000, - 0x03030303, 0xfcfcfcfd, 0x03030000, 0xfcfd0000, 0x00000303, 0xfffffcfd, 0x06060606, 0xf9f9f9fa, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0x00000000, 0x04040404, 0xfbfbfbfc, - 0x04040000, 0xfbfc0000, 0x00000404, 0xfffffbfc, 0x08080404, 0xf7f7fbfc, 0x04040808, 0x00000000, - 0x04040404, 0xfbfbfbfc, 0x04040000, 0xfbfc0000, 0x00000404, 0xfffffbfc, 0x08080404, 0xf7f7fbfc, - 0x04040808, 0x00000000, 0x04040404, 0xfbfbfbfc, 0x04040000, 0xfbfc0000, 0x00000404, 0xfffffbfc, - 0x08080404, 0xf7f7fbfc, 0x04040808, 0x00000000, 0x04040404, 0xfbfbfbfc, 0x04040000, 0xfbfc0000, - 0x00000404, 0xfffffbfc, 0x08080404, 0xf7f7fbfc, 0x04040808, 0x00000000, 0x04040404, 0xfbfbfbfc, - 0x04040000, 0xfbfc0000, 0x00000404, 0xfffffbfc, 0x08080404, 0xf7f7fbfc, 0x04040808, 0x00000000, - 0x04040404, 0xfbfbfbfc, 0x04040000, 0xfbfc0000, 0x00000404, 0xfffffbfc, 0x08080404, 0xf7f7fbfc, - 0x04040808, 0x00000000, 0x04040404, 0xfbfbfbfc, 0x04040000, 0xfbfc0000, 0x00000404, 0xfffffbfc, - 0x08080404, 0xf7f7fbfc, 0x04040808, 0x00000000, 0x04040404, 0xfbfbfbfc, 0x04040000, 0xfbfc0000, - 0x00000404, 0xfffffbfc, 0x08080404, 0xf7f7fbfc, 0x04040808, 0x00000000, 0x04040404, 0xfbfbfbfc, - 0x04040000, 0xfbfc0000, 0x00000404, 0xfffffbfc, 0x08080404, 0xf7f7fbfc, 0x04040808, 0x00000000, - 0x04040404, 0xfbfbfbfc, 0x04040000, 0xfbfc0000, 0x00000404, 0xfffffbfc, 0x08080404, 0xf7f7fbfc, - 0x04040808, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0x00000000, 0x05050505, 0xfafafafb, 0x05050000, 0xfafb0000, - 0x00000505, 0xfffffafb, 0x0a0a0a0a, 0xf5f5f5f6, 0x0f0f0505, 0xf0f0fafb, 0x00000000, 0x05050505, - 0xfafafafb, 0x05050000, 0xfafb0000, 0x00000505, 0xfffffafb, 0x0a0a0a0a, 0xf5f5f5f6, 0x0f0f0505, - 0xf0f0fafb, 0x00000000, 0x05050505, 0xfafafafb, 0x05050000, 0xfafb0000, 0x00000505, 0xfffffafb, - 0x0a0a0a0a, 0xf5f5f5f6, 0x0f0f0505, 0xf0f0fafb, 0x00000000, 0x05050505, 0xfafafafb, 0x05050000, - 0xfafb0000, 0x00000505, 0xfffffafb, 0x0a0a0a0a, 0xf5f5f5f6, 0x0f0f0505, 0xf0f0fafb, 0x00000000, - 0x05050505, 0xfafafafb, 0x05050000, 0xfafb0000, 0x00000505, 0xfffffafb, 0x0a0a0a0a, 0xf5f5f5f6, - 0x0f0f0505, 0xf0f0fafb, 0x00000000, 0x05050505, 0xfafafafb, 0x05050000, 0xfafb0000, 0x00000505, - 0xfffffafb, 0x0a0a0a0a, 0xf5f5f5f6, 0x0f0f0505, 0xf0f0fafb, 0x00000000, 0x05050505, 0xfafafafb, - 0x05050000, 0xfafb0000, 0x00000505, 0xfffffafb, 0x0a0a0a0a, 0xf5f5f5f6, 0x0f0f0505, 0xf0f0fafb, - 0x00000000, 0x05050505, 0xfafafafb, 0x05050000, 0xfafb0000, 0x00000505, 0xfffffafb, 0x0a0a0a0a, - 0xf5f5f5f6, 0x0f0f0505, 0xf0f0fafb, 0x00000000, 0x05050505, 0xfafafafb, 0x05050000, 0xfafb0000, - 0x00000505, 0xfffffafb, 0x0a0a0a0a, 0xf5f5f5f6, 0x0f0f0505, 0xf0f0fafb, 0x00000000, 0x05050505, - 0xfafafafb, 0x05050000, 0xfafb0000, 0x00000505, 0xfffffafb, 0x0a0a0a0a, 0xf5f5f5f6, 0x0f0f0505, - 0xf0f0fafb, 0x00000000, 0x05050505, 0xfafafafb, 0x05050000, 0xfafb0000, 0x00000505, 0xfffffafb, - 0x0a0a0a0a, 0xf5f5f5f6, 0x0f0f0505, 0xf0f0fafb, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0x00000000, 0x06060606, 0xf9f9f9fa, - 0x06060000, 0xf9fa0000, 0x00000606, 0xfffff9fa, 0x0c0c0c0c, 0xf3f3f3f4, 0x0c0c0606, 0xf3f3f9fa, - 0x06060c0c, 0x00000000, 0x06060606, 0xf9f9f9fa, 0x06060000, 0xf9fa0000, 0x00000606, 0xfffff9fa, - 0x0c0c0c0c, 0xf3f3f3f4, 0x0c0c0606, 0xf3f3f9fa, 0x06060c0c, 0x00000000, 0x06060606, 0xf9f9f9fa, - 0x06060000, 0xf9fa0000, 0x00000606, 0xfffff9fa, 0x0c0c0c0c, 0xf3f3f3f4, 0x0c0c0606, 0xf3f3f9fa, - 0x06060c0c, 0x00000000, 0x06060606, 0xf9f9f9fa, 0x06060000, 0xf9fa0000, 0x00000606, 0xfffff9fa, - 0x0c0c0c0c, 0xf3f3f3f4, 0x0c0c0606, 0xf3f3f9fa, 0x06060c0c, 0x00000000, 0x06060606, 0xf9f9f9fa, - 0x06060000, 0xf9fa0000, 0x00000606, 0xfffff9fa, 0x0c0c0c0c, 0xf3f3f3f4, 0x0c0c0606, 0xf3f3f9fa, - 0x06060c0c, 0x00000000, 0x06060606, 0xf9f9f9fa, 0x06060000, 0xf9fa0000, 0x00000606, 0xfffff9fa, - 0x0c0c0c0c, 0xf3f3f3f4, 0x0c0c0606, 0xf3f3f9fa, 0x06060c0c, 0x00000000, 0x06060606, 0xf9f9f9fa, - 0x06060000, 0xf9fa0000, 0x00000606, 0xfffff9fa, 0x0c0c0c0c, 0xf3f3f3f4, 0x0c0c0606, 0xf3f3f9fa, - 0x06060c0c, 0x00000000, 0x06060606, 0xf9f9f9fa, 0x06060000, 0xf9fa0000, 0x00000606, 0xfffff9fa, - 0x0c0c0c0c, 0xf3f3f3f4, 0x0c0c0606, 0xf3f3f9fa, 0x06060c0c, 0x00000000, 0x06060606, 0xf9f9f9fa, - 0x06060000, 0xf9fa0000, 0x00000606, 0xfffff9fa, 0x0c0c0c0c, 0xf3f3f3f4, 0x0c0c0606, 0xf3f3f9fa, - 0x06060c0c, 0x00000000, 0x06060606, 0xf9f9f9fa, 0x06060000, 0xf9fa0000, 0x00000606, 0xfffff9fa, - 0x0c0c0c0c, 0xf3f3f3f4, 0x0c0c0606, 0xf3f3f9fa, 0x06060c0c, 0x00000000, 0x06060606, 0xf9f9f9fa, - 0x06060000, 0xf9fa0000, 0x00000606, 0xfffff9fa, 0x0c0c0c0c, 0xf3f3f3f4, 0x0c0c0606, 0xf3f3f9fa, - 0x06060c0c, 0x00000000, 0x06060606, 0xf9f9f9fa, 0x06060000, 0xf9fa0000, 0x00000606, 0xfffff9fa, - 0x0c0c0c0c, 0xf3f3f3f4, 0x0c0c0606, 0xf3f3f9fa, 0x06060c0c, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0x00000000, 0x07070707, 0xf8f8f8f9, - 0x07070000, 0xf8f90000, 0x00000707, 0xfffff8f9, 0x0e0e0e0e, 0xf1f1f1f2, 0x15150707, 0xeaeaf8f9, - 0x07071515, 0x00000000, 0x07070707, 0xf8f8f8f9, 0x07070000, 0xf8f90000, 0x00000707, 0xfffff8f9, - 0x0e0e0e0e, 0xf1f1f1f2, 0x15150707, 0xeaeaf8f9, 0x07071515, 0x00000000, 0x07070707, 0xf8f8f8f9, - 0x07070000, 0xf8f90000, 0x00000707, 0xfffff8f9, 0x0e0e0e0e, 0xf1f1f1f2, 0x15150707, 0xeaeaf8f9, - 0x07071515, 0x00000000, 0x07070707, 0xf8f8f8f9, 0x07070000, 0xf8f90000, 0x00000707, 0xfffff8f9, - 0x0e0e0e0e, 0xf1f1f1f2, 0x15150707, 0xeaeaf8f9, 0x07071515, 0x00000000, 0x07070707, 0xf8f8f8f9, - 0x07070000, 0xf8f90000, 0x00000707, 0xfffff8f9, 0x0e0e0e0e, 0xf1f1f1f2, 0x15150707, 0xeaeaf8f9, - 0x07071515, 0x00000000, 0x07070707, 0xf8f8f8f9, 0x07070000, 0xf8f90000, 0x00000707, 0xfffff8f9, - 0x0e0e0e0e, 0xf1f1f1f2, 0x15150707, 0xeaeaf8f9, 0x07071515, 0x00000000, 0x07070707, 0xf8f8f8f9, - 0x07070000, 0xf8f90000, 0x00000707, 0xfffff8f9, 0x0e0e0e0e, 0xf1f1f1f2, 0x15150707, 0xeaeaf8f9, - 0x07071515, 0x00000000, 0x07070707, 0xf8f8f8f9, 0x07070000, 0xf8f90000, 0x00000707, 0xfffff8f9, - 0x0e0e0e0e, 0xf1f1f1f2, 0x15150707, 0xeaeaf8f9, 0x07071515, 0x00000000, 0x07070707, 0xf8f8f8f9, - 0x07070000, 0xf8f90000, 0x00000707, 0xfffff8f9, 0x0e0e0e0e, 0xf1f1f1f2, 0x15150707, 0xeaeaf8f9, - 0x07071515, 0x00000000, 0x07070707, 0xf8f8f8f9, 0x07070000, 0xf8f90000, 0x00000707, 0xfffff8f9, - 0x0e0e0e0e, 0xf1f1f1f2, 0x15150707, 0xeaeaf8f9, 0x07071515, 0x00000000, 0x07070707, 0xf8f8f8f9, - 0x07070000, 0xf8f90000, 0x00000707, 0xfffff8f9, 0x0e0e0e0e, 0xf1f1f1f2, 0x15150707, 0xeaeaf8f9, - 0x07071515, 0x00000000, 0x07070707, 0xf8f8f8f9, 0x07070000, 0xf8f90000, 0x00000707, 0xfffff8f9, - 0x0e0e0e0e, 0xf1f1f1f2, 0x15150707, 0xeaeaf8f9, 0x07071515, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0x00000000, - 0x08080808, 0xf7f7f7f8, 0x08080000, 0xf7f80000, 0x00000808, 0xfffff7f8, 0x10101010, 0xefefeff0, - 0x10100808, 0xefeff7f8, 0x08081010, 0x00000000, 0x08080808, 0xf7f7f7f8, 0x08080000, 0xf7f80000, - 0x00000808, 0xfffff7f8, 0x10101010, 0xefefeff0, 0x10100808, 0xefeff7f8, 0x08081010, 0x00000000, - 0x08080808, 0xf7f7f7f8, 0x08080000, 0xf7f80000, 0x00000808, 0xfffff7f8, 0x10101010, 0xefefeff0, - 0x10100808, 0xefeff7f8, 0x08081010, 0x00000000, 0x08080808, 0xf7f7f7f8, 0x08080000, 0xf7f80000, - 0x00000808, 0xfffff7f8, 0x10101010, 0xefefeff0, 0x10100808, 0xefeff7f8, 0x08081010, 0x00000000, - 0x08080808, 0xf7f7f7f8, 0x08080000, 0xf7f80000, 0x00000808, 0xfffff7f8, 0x10101010, 0xefefeff0, - 0x10100808, 0xefeff7f8, 0x08081010, 0x00000000, 0x08080808, 0xf7f7f7f8, 0x08080000, 0xf7f80000, - 0x00000808, 0xfffff7f8, 0x10101010, 0xefefeff0, 0x10100808, 0xefeff7f8, 0x08081010, 0x00000000, - 0x08080808, 0xf7f7f7f8, 0x08080000, 0xf7f80000, 0x00000808, 0xfffff7f8, 0x10101010, 0xefefeff0, - 0x10100808, 0xefeff7f8, 0x08081010, 0x00000000, 0x08080808, 0xf7f7f7f8, 0x08080000, 0xf7f80000, - 0x00000808, 0xfffff7f8, 0x10101010, 0xefefeff0, 0x10100808, 0xefeff7f8, 0x08081010, 0x00000000, - 0x08080808, 0xf7f7f7f8, 0x08080000, 0xf7f80000, 0x00000808, 0xfffff7f8, 0x10101010, 0xefefeff0, - 0x10100808, 0xefeff7f8, 0x08081010, 0x00000000, 0x08080808, 0xf7f7f7f8, 0x08080000, 0xf7f80000, - 0x00000808, 0xfffff7f8, 0x10101010, 0xefefeff0, 0x10100808, 0xefeff7f8, 0x08081010, 0x00000000, - 0x08080808, 0xf7f7f7f8, 0x08080000, 0xf7f80000, 0x00000808, 0xfffff7f8, 0x10101010, 0xefefeff0, - 0x10100808, 0xefeff7f8, 0x08081010, 0x00000000, 0x08080808, 0xf7f7f7f8, 0x08080000, 0xf7f80000, - 0x00000808, 0xfffff7f8, 0x10101010, 0xefefeff0, 0x10100808, 0xefeff7f8, 0x08081010, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0x00000000, 0x09090909, 0xf6f6f6f7, - 0x09090000, 0xf6f70000, 0x00000909, 0xfffff6f7, 0x12121212, 0xedededee, 0x1b1b0909, 0xe4e4f6f7, - 0x09091b1b, 0xf6f6e4e5, 0x00000000, 0x09090909, 0xf6f6f6f7, 0x09090000, 0xf6f70000, 0x00000909, - 0xfffff6f7, 0x12121212, 0xedededee, 0x1b1b0909, 0xe4e4f6f7, 0x09091b1b, 0xf6f6e4e5, 0x00000000, - 0x09090909, 0xf6f6f6f7, 0x09090000, 0xf6f70000, 0x00000909, 0xfffff6f7, 0x12121212, 0xedededee, - 0x1b1b0909, 0xe4e4f6f7, 0x09091b1b, 0xf6f6e4e5, 0x00000000, 0x09090909, 0xf6f6f6f7, 0x09090000, - 0xf6f70000, 0x00000909, 0xfffff6f7, 0x12121212, 0xedededee, 0x1b1b0909, 0xe4e4f6f7, 0x09091b1b, - 0xf6f6e4e5, 0x00000000, 0x09090909, 0xf6f6f6f7, 0x09090000, 0xf6f70000, 0x00000909, 0xfffff6f7, - 0x12121212, 0xedededee, 0x1b1b0909, 0xe4e4f6f7, 0x09091b1b, 0xf6f6e4e5, 0x00000000, 0x09090909, - 0xf6f6f6f7, 0x09090000, 0xf6f70000, 0x00000909, 0xfffff6f7, 0x12121212, 0xedededee, 0x1b1b0909, - 0xe4e4f6f7, 0x09091b1b, 0xf6f6e4e5, 0x00000000, 0x09090909, 0xf6f6f6f7, 0x09090000, 0xf6f70000, - 0x00000909, 0xfffff6f7, 0x12121212, 0xedededee, 0x1b1b0909, 0xe4e4f6f7, 0x09091b1b, 0xf6f6e4e5, - 0x00000000, 0x09090909, 0xf6f6f6f7, 0x09090000, 0xf6f70000, 0x00000909, 0xfffff6f7, 0x12121212, - 0xedededee, 0x1b1b0909, 0xe4e4f6f7, 0x09091b1b, 0xf6f6e4e5, 0x00000000, 0x09090909, 0xf6f6f6f7, - 0x09090000, 0xf6f70000, 0x00000909, 0xfffff6f7, 0x12121212, 0xedededee, 0x1b1b0909, 0xe4e4f6f7, - 0x09091b1b, 0xf6f6e4e5, 0x00000000, 0x09090909, 0xf6f6f6f7, 0x09090000, 0xf6f70000, 0x00000909, - 0xfffff6f7, 0x12121212, 0xedededee, 0x1b1b0909, 0xe4e4f6f7, 0x09091b1b, 0xf6f6e4e5, 0x00000000, - 0x09090909, 0xf6f6f6f7, 0x09090000, 0xf6f70000, 0x00000909, 0xfffff6f7, 0x12121212, 0xedededee, - 0x1b1b0909, 0xe4e4f6f7, 0x09091b1b, 0xf6f6e4e5, 0x00000000, 0x09090909, 0xf6f6f6f7, 0x09090000, - 0xf6f70000, 0x00000909, 0xfffff6f7, 0x12121212, 0xedededee, 0x1b1b0909, 0xe4e4f6f7, 0x09091b1b, - 0xf6f6e4e5, 0x00000000, 0x09090909, 0xf6f6f6f7, 0x09090000, 0xf6f70000, 0x00000909, 0xfffff6f7, - 0x12121212, 0xedededee, 0x1b1b0909, 0xe4e4f6f7, 0x09091b1b, 0xf6f6e4e5, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x02020202, 0x02020202, 0x02020202, 0x02020202, 0x02020202, - 0x02020202, 0x02020202, 0x02020202, 0x02020202, 0x02020202, 0x02020202, 0xfdfdfdfe, 0xfdfdfdfe, - 0xfdfdfdfe, 0xfdfdfdfe, 0xfdfdfdfe, 0xfdfdfdfe, 0xfdfdfdfe, 0xfdfdfdfe, 0xfdfdfdfe, 0xfdfdfdfe, - 0xfdfdfdfe, 0x03030000, 0x03030000, 0x03030000, 0x03030000, 0x03030000, 0x03030000, 0x03030000, - 0x03030000, 0x03030000, 0x03030000, 0x03030000, 0xfcfd0000, 0xfcfd0000, 0xfcfd0000, 0xfcfd0000, - 0xfcfd0000, 0xfcfd0000, 0xfcfd0000, 0xfcfd0000, 0xfcfd0000, 0xfcfd0000, 0xfcfd0000, 0x00000303, - 0x00000303, 0x00000303, 0x00000303, 0x00000303, 0x00000303, 0x00000303, 0x00000303, 0x00000303, - 0x00000303, 0x00000303, 0xfffffcfd, 0xfffffcfd, 0xfffffcfd, 0xfffffcfd, 0xfffffcfd, 0xfffffcfd, - 0xfffffcfd, 0xfffffcfd, 0xfffffcfd, 0xfffffcfd, 0xfffffcfd, 0x06060606, 0x06060606, 0x06060606, - 0x06060606, 0x06060606, 0x06060606, 0x06060606, 0x06060606, 0x06060606, 0x06060606, 0x06060606, - 0xf9f9f9fa, 0xf9f9f9fa, 0xf9f9f9fa, 0xf9f9f9fa, 0xf9f9f9fa, 0xf9f9f9fa, 0xf9f9f9fa, 0xf9f9f9fa, - 0xf9f9f9fa, 0xf9f9f9fa, 0xf9f9f9fa, 0x07070000, 0x07070000, 0x07070000, 0x07070000, 0x07070000, - 0x07070000, 0x07070000, 0x07070000, 0x07070000, 0x07070000, 0x07070000, 0xf8f90000, 0xf8f90000, - 0xf8f90000, 0xf8f90000, 0xf8f90000, 0xf8f90000, 0xf8f90000, 0xf8f90000, 0xf8f90000, 0xf8f90000, - 0xf8f90000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x02020000, 0x02020000, 0x02020000, 0x02020000, - 0x02020000, 0x02020000, 0x02020000, 0x02020000, 0x02020000, 0x02020000, 0x02020000, 0x02020000, - 0x02020000, 0xfdfe0000, 0xfdfe0000, 0xfdfe0000, 0xfdfe0000, 0xfdfe0000, 0xfdfe0000, 0xfdfe0000, - 0xfdfe0000, 0xfdfe0000, 0xfdfe0000, 0xfdfe0000, 0xfdfe0000, 0xfdfe0000, 0x00000202, 0x00000202, - 0x00000202, 0x00000202, 0x00000202, 0x00000202, 0x00000202, 0x00000202, 0x00000202, 0x00000202, - 0x00000202, 0x00000202, 0x00000202, 0xfffffdfe, 0xfffffdfe, 0xfffffdfe, 0xfffffdfe, 0xfffffdfe, - 0xfffffdfe, 0xfffffdfe, 0xfffffdfe, 0xfffffdfe, 0xfffffdfe, 0xfffffdfe, 0xfffffdfe, 0xfffffdfe, - 0x02020202, 0x02020202, 0x02020202, 0x02020202, 0x02020202, 0x02020202, 0x02020202, 0x02020202, - 0x02020202, 0x02020202, 0x02020202, 0x02020202, 0x02020202, 0xfdfdfdfe, 0xfdfdfdfe, 0xfdfdfdfe, - 0xfdfdfdfe, 0xfdfdfdfe, 0xfdfdfdfe, 0xfdfdfdfe, 0xfdfdfdfe, 0xfdfdfdfe, 0xfdfdfdfe, 0xfdfdfdfe, - 0xfdfdfdfe, 0xfdfdfdfe, 0x06060606, 0x06060606, 0x06060606, 0x06060606, 0x06060606, 0x06060606, - 0x06060606, 0x06060606, 0x06060606, 0x06060606, 0x06060606, 0x06060606, 0x06060606, 0xf9f9f9fa, - 0xf9f9f9fa, 0xf9f9f9fa, 0xf9f9f9fa, 0xf9f9f9fa, 0xf9f9f9fa, 0xf9f9f9fa, 0xf9f9f9fa, 0xf9f9f9fa, - 0xf9f9f9fa, 0xf9f9f9fa, 0xf9f9f9fa, 0xf9f9f9fa, 0x06060000, 0x06060000, 0x06060000, 0x06060000, - 0x06060000, 0x06060000, 0x06060000, 0x06060000, 0x06060000, 0x06060000, 0x06060000, 0x06060000, - 0x06060000, 0xf9fa0000, 0xf9fa0000, 0xf9fa0000, 0xf9fa0000, 0xf9fa0000, 0xf9fa0000, 0xf9fa0000, - 0xf9fa0000, 0xf9fa0000, 0xf9fa0000, 0xf9fa0000, 0xf9fa0000, 0xf9fa0000, 0x00000606, 0x00000606, - 0x00000606, 0x00000606, 0x00000606, 0x00000606, 0x00000606, 0x00000606, 0x00000606, 0x00000606, - 0x00000606, 0x00000606, 0x00000606, 0xfffff9fa, 0xfffff9fa, 0xfffff9fa, 0xfffff9fa, 0xfffff9fa, - 0xfffff9fa, 0xfffff9fa, 0xfffff9fa, 0xfffff9fa, 0xfffff9fa, 0xfffff9fa, 0xfffff9fa, 0xfffff9fa, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x02020000, 0x02020000, 0x02020000, 0x02020000, - 0x02020000, 0x02020000, 0x02020000, 0x02020000, 0x02020000, 0x02020000, 0x02020000, 0x02020000, - 0x02020000, 0xfdfe0000, 0xfdfe0000, 0xfdfe0000, 0xfdfe0000, 0xfdfe0000, 0xfdfe0000, 0xfdfe0000, - 0xfdfe0000, 0xfdfe0000, 0xfdfe0000, 0xfdfe0000, 0xfdfe0000, 0xfdfe0000, 0x00000202, 0x00000202, - 0x00000202, 0x00000202, 0x00000202, 0x00000202, 0x00000202, 0x00000202, 0x00000202, 0x00000202, - 0x00000202, 0x00000202, 0x00000202, 0xfffffdfe, 0xfffffdfe, 0xfffffdfe, 0xfffffdfe, 0xfffffdfe, - 0xfffffdfe, 0xfffffdfe, 0xfffffdfe, 0xfffffdfe, 0xfffffdfe, 0xfffffdfe, 0xfffffdfe, 0xfffffdfe, - 0x04040404, 0x04040404, 0x04040404, 0x04040404, 0x04040404, 0x04040404, 0x04040404, 0x04040404, - 0x04040404, 0x04040404, 0x04040404, 0x04040404, 0x04040404, 0xfbfbfbfc, 0xfbfbfbfc, 0xfbfbfbfc, - 0xfbfbfbfc, 0xfbfbfbfc, 0xfbfbfbfc, 0xfbfbfbfc, 0xfbfbfbfc, 0xfbfbfbfc, 0xfbfbfbfc, 0xfbfbfbfc, - 0xfbfbfbfc, 0xfbfbfbfc, 0x0a0a0a0a, 0x0a0a0a0a, 0x0a0a0a0a, 0x0a0a0a0a, 0x0a0a0a0a, 0x0a0a0a0a, - 0x0a0a0a0a, 0x0a0a0a0a, 0x0a0a0a0a, 0x0a0a0a0a, 0x0a0a0a0a, 0x0a0a0a0a, 0x0a0a0a0a, 0xf5f5f5f6, - 0xf5f5f5f6, 0xf5f5f5f6, 0xf5f5f5f6, 0xf5f5f5f6, 0xf5f5f5f6, 0xf5f5f5f6, 0xf5f5f5f6, 0xf5f5f5f6, - 0xf5f5f5f6, 0xf5f5f5f6, 0xf5f5f5f6, 0xf5f5f5f6, 0x0a0a0000, 0x0a0a0000, 0x0a0a0000, 0x0a0a0000, - 0x0a0a0000, 0x0a0a0000, 0x0a0a0000, 0x0a0a0000, 0x0a0a0000, 0x0a0a0000, 0x0a0a0000, 0x0a0a0000, - 0x0a0a0000, 0xf5f60000, 0xf5f60000, 0xf5f60000, 0xf5f60000, 0xf5f60000, 0xf5f60000, 0xf5f60000, - 0xf5f60000, 0xf5f60000, 0xf5f60000, 0xf5f60000, 0xf5f60000, 0xf5f60000, 0x00000a0a, 0x00000a0a, - 0x00000a0a, 0x00000a0a, 0x00000a0a, 0x00000a0a, 0x00000a0a, 0x00000a0a, 0x00000a0a, 0x00000a0a, - 0x00000a0a, 0x00000a0a, 0x00000a0a, 0xfffff5f6, 0xfffff5f6, 0xfffff5f6, 0xfffff5f6, 0xfffff5f6, - 0xfffff5f6, 0xfffff5f6, 0xfffff5f6, 0xfffff5f6, 0xfffff5f6, 0xfffff5f6, 0xfffff5f6, 0xfffff5f6, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x04040000, 0x04040000, 0x04040000, 0x04040000, - 0x04040000, 0x04040000, 0x04040000, 0x04040000, 0x04040000, 0x04040000, 0x04040000, 0x04040000, - 0x04040000, 0xfbfc0000, 0xfbfc0000, 0xfbfc0000, 0xfbfc0000, 0xfbfc0000, 0xfbfc0000, 0xfbfc0000, - 0xfbfc0000, 0xfbfc0000, 0xfbfc0000, 0xfbfc0000, 0xfbfc0000, 0xfbfc0000, 0x00000404, 0x00000404, - 0x00000404, 0x00000404, 0x00000404, 0x00000404, 0x00000404, 0x00000404, 0x00000404, 0x00000404, - 0x00000404, 0x00000404, 0x00000404, 0xfffffbfc, 0xfffffbfc, 0xfffffbfc, 0xfffffbfc, 0xfffffbfc, - 0xfffffbfc, 0xfffffbfc, 0xfffffbfc, 0xfffffbfc, 0xfffffbfc, 0xfffffbfc, 0xfffffbfc, 0xfffffbfc, - 0x04040404, 0x04040404, 0x04040404, 0x04040404, 0x04040404, 0x04040404, 0x04040404, 0x04040404, - 0x04040404, 0x04040404, 0x04040404, 0x04040404, 0x04040404, 0xfbfbfbfc, 0xfbfbfbfc, 0xfbfbfbfc, - 0xfbfbfbfc, 0xfbfbfbfc, 0xfbfbfbfc, 0xfbfbfbfc, 0xfbfbfbfc, 0xfbfbfbfc, 0xfbfbfbfc, 0xfbfbfbfc, - 0xfbfbfbfc, 0xfbfbfbfc, 0x0c0c0c0c, 0x0c0c0c0c, 0x0c0c0c0c, 0x0c0c0c0c, 0x0c0c0c0c, 0x0c0c0c0c, - 0x0c0c0c0c, 0x0c0c0c0c, 0x0c0c0c0c, 0x0c0c0c0c, 0x0c0c0c0c, 0x0c0c0c0c, 0x0c0c0c0c, 0xf3f3f3f4, - 0xf3f3f3f4, 0xf3f3f3f4, 0xf3f3f3f4, 0xf3f3f3f4, 0xf3f3f3f4, 0xf3f3f3f4, 0xf3f3f3f4, 0xf3f3f3f4, - 0xf3f3f3f4, 0xf3f3f3f4, 0xf3f3f3f4, 0xf3f3f3f4, 0x0c0c0000, 0x0c0c0000, 0x0c0c0000, 0x0c0c0000, - 0x0c0c0000, 0x0c0c0000, 0x0c0c0000, 0x0c0c0000, 0x0c0c0000, 0x0c0c0000, 0x0c0c0000, 0x0c0c0000, - 0x0c0c0000, 0xf3f40000, 0xf3f40000, 0xf3f40000, 0xf3f40000, 0xf3f40000, 0xf3f40000, 0xf3f40000, - 0xf3f40000, 0xf3f40000, 0xf3f40000, 0xf3f40000, 0xf3f40000, 0xf3f40000, 0x00000c0c, 0x00000c0c, - 0x00000c0c, 0x00000c0c, 0x00000c0c, 0x00000c0c, 0x00000c0c, 0x00000c0c, 0x00000c0c, 0x00000c0c, - 0x00000c0c, 0x00000c0c, 0x00000c0c, 0xfffff3f4, 0xfffff3f4, 0xfffff3f4, 0xfffff3f4, 0xfffff3f4, - 0xfffff3f4, 0xfffff3f4, 0xfffff3f4, 0xfffff3f4, 0xfffff3f4, 0xfffff3f4, 0xfffff3f4, 0xfffff3f4, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x02020202, 0x02020202, 0x02020202, 0x02020202, - 0x02020202, 0x02020202, 0x02020202, 0x02020202, 0x02020202, 0x02020202, 0x02020202, 0x02020202, - 0x02020202, 0xfdfdfdfe, 0xfdfdfdfe, 0xfdfdfdfe, 0xfdfdfdfe, 0xfdfdfdfe, 0xfdfdfdfe, 0xfdfdfdfe, - 0xfdfdfdfe, 0xfdfdfdfe, 0xfdfdfdfe, 0xfdfdfdfe, 0xfdfdfdfe, 0xfdfdfdfe, 0x06060606, 0x06060606, - 0x06060606, 0x06060606, 0x06060606, 0x06060606, 0x06060606, 0x06060606, 0x06060606, 0x06060606, - 0x06060606, 0x06060606, 0x06060606, 0xf9f9f9fa, 0xf9f9f9fa, 0xf9f9f9fa, 0xf9f9f9fa, 0xf9f9f9fa, - 0xf9f9f9fa, 0xf9f9f9fa, 0xf9f9f9fa, 0xf9f9f9fa, 0xf9f9f9fa, 0xf9f9f9fa, 0xf9f9f9fa, 0xf9f9f9fa, - 0x0c0c0c0c, 0x0c0c0c0c, 0x0c0c0c0c, 0x0c0c0c0c, 0x0c0c0c0c, 0x0c0c0c0c, 0x0c0c0c0c, 0x0c0c0c0c, - 0x0c0c0c0c, 0x0c0c0c0c, 0x0c0c0c0c, 0x0c0c0c0c, 0x0c0c0c0c, 0xf3f3f3f4, 0xf3f3f3f4, 0xf3f3f3f4, - 0xf3f3f3f4, 0xf3f3f3f4, 0xf3f3f3f4, 0xf3f3f3f4, 0xf3f3f3f4, 0xf3f3f3f4, 0xf3f3f3f4, 0xf3f3f3f4, - 0xf3f3f3f4, 0xf3f3f3f4, 0x14141414, 0x14141414, 0x14141414, 0x14141414, 0x14141414, 0x14141414, - 0x14141414, 0x14141414, 0x14141414, 0x14141414, 0x14141414, 0x14141414, 0x14141414, 0xebebebec, - 0xebebebec, 0xebebebec, 0xebebebec, 0xebebebec, 0xebebebec, 0xebebebec, 0xebebebec, 0xebebebec, - 0xebebebec, 0xebebebec, 0xebebebec, 0xebebebec, 0x20202020, 0x20202020, 0x20202020, 0x20202020, - 0x20202020, 0x20202020, 0x20202020, 0x20202020, 0x20202020, 0x20202020, 0x20202020, 0x20202020, - 0x20202020, 0xdfdfdfe0, 0xdfdfdfe0, 0xdfdfdfe0, 0xdfdfdfe0, 0xdfdfdfe0, 0xdfdfdfe0, 0xdfdfdfe0, - 0xdfdfdfe0, 0xdfdfdfe0, 0xdfdfdfe0, 0xdfdfdfe0, 0xdfdfdfe0, 0xdfdfdfe0, 0x2e2e2e2e, 0x2e2e2e2e, - 0x2e2e2e2e, 0x2e2e2e2e, 0x2e2e2e2e, 0x2e2e2e2e, 0x2e2e2e2e, 0x2e2e2e2e, 0x2e2e2e2e, 0x2e2e2e2e, - 0x2e2e2e2e, 0x2e2e2e2e, 0x2e2e2e2e, 0xd1d1d1d2, 0xd1d1d1d2, 0xd1d1d1d2, 0xd1d1d1d2, 0xd1d1d1d2, - 0xd1d1d1d2, 0xd1d1d1d2, 0xd1d1d1d2, 0xd1d1d1d2, 0xd1d1d1d2, 0xd1d1d1d2, 0xd1d1d1d2, 0xd1d1d1d2, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x02020202, 0x02020202, 0x02020202, 0x02020202, - 0x02020202, 0x02020202, 0x02020202, 0x02020202, 0x02020202, 0x02020202, 0x02020202, 0x02020202, - 0x02020202, 0xfdfdfdfe, 0xfdfdfdfe, 0xfdfdfdfe, 0xfdfdfdfe, 0xfdfdfdfe, 0xfdfdfdfe, 0xfdfdfdfe, - 0xfdfdfdfe, 0xfdfdfdfe, 0xfdfdfdfe, 0xfdfdfdfe, 0xfdfdfdfe, 0xfdfdfdfe, 0x06060606, 0x06060606, - 0x06060606, 0x06060606, 0x06060606, 0x06060606, 0x06060606, 0x06060606, 0x06060606, 0x06060606, - 0x06060606, 0x06060606, 0x06060606, 0xf9f9f9fa, 0xf9f9f9fa, 0xf9f9f9fa, 0xf9f9f9fa, 0xf9f9f9fa, - 0xf9f9f9fa, 0xf9f9f9fa, 0xf9f9f9fa, 0xf9f9f9fa, 0xf9f9f9fa, 0xf9f9f9fa, 0xf9f9f9fa, 0xf9f9f9fa, - 0x0c0c0c0c, 0x0c0c0c0c, 0x0c0c0c0c, 0x0c0c0c0c, 0x0c0c0c0c, 0x0c0c0c0c, 0x0c0c0c0c, 0x0c0c0c0c, - 0x0c0c0c0c, 0x0c0c0c0c, 0x0c0c0c0c, 0x0c0c0c0c, 0x0c0c0c0c, 0xf3f3f3f4, 0xf3f3f3f4, 0xf3f3f3f4, - 0xf3f3f3f4, 0xf3f3f3f4, 0xf3f3f3f4, 0xf3f3f3f4, 0xf3f3f3f4, 0xf3f3f3f4, 0xf3f3f3f4, 0xf3f3f3f4, - 0xf3f3f3f4, 0xf3f3f3f4, 0x14141414, 0x14141414, 0x14141414, 0x14141414, 0x14141414, 0x14141414, - 0x14141414, 0x14141414, 0x14141414, 0x14141414, 0x14141414, 0x14141414, 0x14141414, 0xebebebec, - 0xebebebec, 0xebebebec, 0xebebebec, 0xebebebec, 0xebebebec, 0xebebebec, 0xebebebec, 0xebebebec, - 0xebebebec, 0xebebebec, 0xebebebec, 0xebebebec, 0x20202020, 0x20202020, 0x20202020, 0x20202020, - 0x20202020, 0x20202020, 0x20202020, 0x20202020, 0x20202020, 0x20202020, 0x20202020, 0x20202020, - 0x20202020, 0xdfdfdfe0, 0xdfdfdfe0, 0xdfdfdfe0, 0xdfdfdfe0, 0xdfdfdfe0, 0xdfdfdfe0, 0xdfdfdfe0, - 0xdfdfdfe0, 0xdfdfdfe0, 0xdfdfdfe0, 0xdfdfdfe0, 0xdfdfdfe0, 0xdfdfdfe0, 0x2e2e2e2e, 0x2e2e2e2e, - 0x2e2e2e2e, 0x2e2e2e2e, 0x2e2e2e2e, 0x2e2e2e2e, 0x2e2e2e2e, 0x2e2e2e2e, 0x2e2e2e2e, 0x2e2e2e2e, - 0x2e2e2e2e, 0x2e2e2e2e, 0x2e2e2e2e, 0xd1d1d1d2, 0xd1d1d1d2, 0xd1d1d1d2, 0xd1d1d1d2, 0xd1d1d1d2, - 0xd1d1d1d2, 0xd1d1d1d2, 0xd1d1d1d2, 0xd1d1d1d2, 0xd1d1d1d2, 0xd1d1d1d2, 0xd1d1d1d2, 0xd1d1d1d2, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x02020202, 0x02020202, 0x02020202, 0x02020202, - 0x02020202, 0x02020202, 0x02020202, 0x02020202, 0x02020202, 0x02020202, 0x02020202, 0x02020202, - 0x02020202, 0xfdfdfdfe, 0xfdfdfdfe, 0xfdfdfdfe, 0xfdfdfdfe, 0xfdfdfdfe, 0xfdfdfdfe, 0xfdfdfdfe, - 0xfdfdfdfe, 0xfdfdfdfe, 0xfdfdfdfe, 0xfdfdfdfe, 0xfdfdfdfe, 0xfdfdfdfe, 0x06060606, 0x06060606, - 0x06060606, 0x06060606, 0x06060606, 0x06060606, 0x06060606, 0x06060606, 0x06060606, 0x06060606, - 0x06060606, 0x06060606, 0x06060606, 0xf9f9f9fa, 0xf9f9f9fa, 0xf9f9f9fa, 0xf9f9f9fa, 0xf9f9f9fa, - 0xf9f9f9fa, 0xf9f9f9fa, 0xf9f9f9fa, 0xf9f9f9fa, 0xf9f9f9fa, 0xf9f9f9fa, 0xf9f9f9fa, 0xf9f9f9fa, - 0x0c0c0c0c, 0x0c0c0c0c, 0x0c0c0c0c, 0x0c0c0c0c, 0x0c0c0c0c, 0x0c0c0c0c, 0x0c0c0c0c, 0x0c0c0c0c, - 0x0c0c0c0c, 0x0c0c0c0c, 0x0c0c0c0c, 0x0c0c0c0c, 0x0c0c0c0c, 0xf3f3f3f4, 0xf3f3f3f4, 0xf3f3f3f4, - 0xf3f3f3f4, 0xf3f3f3f4, 0xf3f3f3f4, 0xf3f3f3f4, 0xf3f3f3f4, 0xf3f3f3f4, 0xf3f3f3f4, 0xf3f3f3f4, - 0xf3f3f3f4, 0xf3f3f3f4, 0x14141414, 0x14141414, 0x14141414, 0x14141414, 0x14141414, 0x14141414, - 0x14141414, 0x14141414, 0x14141414, 0x14141414, 0x14141414, 0x14141414, 0x14141414, 0xebebebec, - 0xebebebec, 0xebebebec, 0xebebebec, 0xebebebec, 0xebebebec, 0xebebebec, 0xebebebec, 0xebebebec, - 0xebebebec, 0xebebebec, 0xebebebec, 0xebebebec, 0x20202020, 0x20202020, 0x20202020, 0x20202020, - 0x20202020, 0x20202020, 0x20202020, 0x20202020, 0x20202020, 0x20202020, 0x20202020, 0x20202020, - 0x20202020, 0xdfdfdfe0, 0xdfdfdfe0, 0xdfdfdfe0, 0xdfdfdfe0, 0xdfdfdfe0, 0xdfdfdfe0, 0xdfdfdfe0, - 0xdfdfdfe0, 0xdfdfdfe0, 0xdfdfdfe0, 0xdfdfdfe0, 0xdfdfdfe0, 0xdfdfdfe0, 0x2e2e2e2e, 0x2e2e2e2e, - 0x2e2e2e2e, 0x2e2e2e2e, 0x2e2e2e2e, 0x2e2e2e2e, 0x2e2e2e2e, 0x2e2e2e2e, 0x2e2e2e2e, 0x2e2e2e2e, - 0x2e2e2e2e, 0x2e2e2e2e, 0x2e2e2e2e, 0xd1d1d1d2, 0xd1d1d1d2, 0xd1d1d1d2, 0xd1d1d1d2, 0xd1d1d1d2, - 0xd1d1d1d2, 0xd1d1d1d2, 0xd1d1d1d2, 0xd1d1d1d2, 0xd1d1d1d2, 0xd1d1d1d2, 0xd1d1d1d2, 0xd1d1d1d2, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, - 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x02020202, 0x02020202, 0x02020202, 0x02020202, - 0x02020202, 0x02020202, 0x02020202, 0x02020202, 0x02020202, 0x02020202, 0x02020202, 0x02020202, - 0x02020202, 0xfdfdfdfe, 0xfdfdfdfe, 0xfdfdfdfe, 0xfdfdfdfe, 0xfdfdfdfe, 0xfdfdfdfe, 0xfdfdfdfe, - 0xfdfdfdfe, 0xfdfdfdfe, 0xfdfdfdfe, 0xfdfdfdfe, 0xfdfdfdfe, 0xfdfdfdfe, 0x06060606, 0x06060606, - 0x06060606, 0x06060606, 0x06060606, 0x06060606, 0x06060606, 0x06060606, 0x06060606, 0x06060606, - 0x06060606, 0x06060606, 0x06060606, 0xf9f9f9fa, 0xf9f9f9fa, 0xf9f9f9fa, 0xf9f9f9fa, 0xf9f9f9fa, - 0xf9f9f9fa, 0xf9f9f9fa, 0xf9f9f9fa, 0xf9f9f9fa, 0xf9f9f9fa, 0xf9f9f9fa, 0xf9f9f9fa, 0xf9f9f9fa, - 0x0c0c0c0c, 0x0c0c0c0c, 0x0c0c0c0c, 0x0c0c0c0c, 0x0c0c0c0c, 0x0c0c0c0c, 0x0c0c0c0c, 0x0c0c0c0c, - 0x0c0c0c0c, 0x0c0c0c0c, 0x0c0c0c0c, 0x0c0c0c0c, 0x0c0c0c0c, 0xf3f3f3f4, 0xf3f3f3f4, 0xf3f3f3f4, - 0xf3f3f3f4, 0xf3f3f3f4, 0xf3f3f3f4, 0xf3f3f3f4, 0xf3f3f3f4, 0xf3f3f3f4, 0xf3f3f3f4, 0xf3f3f3f4, - 0xf3f3f3f4, 0xf3f3f3f4, 0x14141414, 0x14141414, 0x14141414, 0x14141414, 0x14141414, 0x14141414, - 0x14141414, 0x14141414, 0x14141414, 0x14141414, 0x14141414, 0x14141414, 0x14141414, 0xebebebec, - 0xebebebec, 0xebebebec, 0xebebebec, 0xebebebec, 0xebebebec, 0xebebebec, 0xebebebec, 0xebebebec, - 0xebebebec, 0xebebebec, 0xebebebec, 0xebebebec, 0x20202020, 0x20202020, 0x20202020, 0x20202020, - 0x20202020, 0x20202020, 0x20202020, 0x20202020, 0x20202020, 0x20202020, 0x20202020, 0x20202020, - 0x20202020, 0xdfdfdfe0, 0xdfdfdfe0, 0xdfdfdfe0, 0xdfdfdfe0, 0xdfdfdfe0, 0xdfdfdfe0, 0xdfdfdfe0, - 0xdfdfdfe0, 0xdfdfdfe0, 0xdfdfdfe0, 0xdfdfdfe0, 0xdfdfdfe0, 0xdfdfdfe0, 0x2e2e2e2e, 0x2e2e2e2e, - 0x2e2e2e2e, 0x2e2e2e2e, 0x2e2e2e2e, 0x2e2e2e2e, 0x2e2e2e2e, 0x2e2e2e2e, 0x2e2e2e2e, 0x2e2e2e2e, - 0x2e2e2e2e, 0x2e2e2e2e, 0x2e2e2e2e, 0xd1d1d1d2, 0xd1d1d1d2, 0xd1d1d1d2, 0xd1d1d1d2, 0xd1d1d1d2, - 0xd1d1d1d2, 0xd1d1d1d2, 0xd1d1d1d2, 0xd1d1d1d2, 0xd1d1d1d2, 0xd1d1d1d2, 0xd1d1d1d2, 0xd1d1d1d2, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 -}; - -} // End of namespace Video diff --git a/video/codecs/indeo3.h b/video/codecs/indeo3.h deleted file mode 100644 index 2a0c453292..0000000000 --- a/video/codecs/indeo3.h +++ /dev/null @@ -1,94 +0,0 @@ -/* 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 "common/scummsys.h" - -/* Intel Indeo 3 decompressor, derived from ffmpeg. - * - * Original copyright note: - * Intel Indeo 3 (IV31, IV32, etc.) video decoder for ffmpeg - * written, produced, and directed by Alan Smithee - */ - -#ifndef VIDEO_CODECS_INDEO3_H -#define VIDEO_CODECS_INDEO3_H - -#include "video/codecs/codec.h" - -namespace Video { - -/** - * Intel Indeo 3 decoder. - * - * Used in video: - * - AVIDecoder - * - VMDDecoder - */ -class Indeo3Decoder : public Codec { -public: - Indeo3Decoder(uint16 width, uint16 height); - ~Indeo3Decoder(); - - const Graphics::Surface *decodeImage(Common::SeekableReadStream *stream); - Graphics::PixelFormat getPixelFormat() const; - - static bool isIndeo3(Common::SeekableReadStream &stream); - -private: - Graphics::Surface *_surface; - - Graphics::PixelFormat _pixelFormat; - - static const int _corrector_type_0[24]; - static const int _corrector_type_2[8]; - static const uint32 correction[]; - static const uint32 correctionloworder[]; - static const uint32 correctionhighorder[]; - - struct YUVBufs { - byte *Ybuf; - byte *Ubuf; - byte *Vbuf; - byte *the_buf; - uint32 the_buf_size; - uint16 y_w, y_h; - uint16 uv_w, uv_h; - }; - - YUVBufs _iv_frame[2]; - YUVBufs *_cur_frame; - YUVBufs *_ref_frame; - - byte *_ModPred; - uint16 *_corrector_type; - - void buildModPred(); - void allocFrames(); - - void decodeChunk(byte *cur, byte *ref, int width, int height, - const byte *buf1, uint32 fflags2, const byte *hdr, - const byte *buf2, int min_width_160); -}; - -} // End of namespace Video - -#endif // VIDEO_CODECS_INDEO3_H diff --git a/video/codecs/jpeg.cpp b/video/codecs/jpeg.cpp deleted file mode 100644 index 77917f37a2..0000000000 --- a/video/codecs/jpeg.cpp +++ /dev/null @@ -1,66 +0,0 @@ -/* 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 "common/system.h" -#include "common/textconsole.h" -#include "graphics/surface.h" -#include "image/jpeg.h" - -#include "video/codecs/jpeg.h" - -namespace Common { -class SeekableReadStream; -} - -namespace Video { - -JPEGDecoder::JPEGDecoder() : Codec() { - _pixelFormat = g_system->getScreenFormat(); - _surface = NULL; -} - -JPEGDecoder::~JPEGDecoder() { - if (_surface) { - _surface->free(); - delete _surface; - } -} - -const Graphics::Surface *JPEGDecoder::decodeImage(Common::SeekableReadStream *stream) { - Image::JPEGDecoder jpeg; - - if (!jpeg.loadStream(*stream)) { - warning("Failed to decode JPEG frame"); - return 0; - } - - if (_surface) { - _surface->free(); - delete _surface; - } - - _surface = jpeg.getSurface()->convertTo(_pixelFormat); - - return _surface; -} - -} // End of namespace Video diff --git a/video/codecs/jpeg.h b/video/codecs/jpeg.h deleted file mode 100644 index 965d54dd29..0000000000 --- a/video/codecs/jpeg.h +++ /dev/null @@ -1,60 +0,0 @@ -/* 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. - * - */ - -#ifndef VIDEO_CODECS_JPEG_H -#define VIDEO_CODECS_JPEG_H - -#include "video/codecs/codec.h" -#include "graphics/pixelformat.h" - -namespace Common { -class SeekableReadStream; -} - -namespace Graphics { -struct Surface; -} - -namespace Video { - -/** - * JPEG decoder. - * - * Used in video: - * - QuickTimeDecoder - */ -class JPEGDecoder : public Codec { -public: - JPEGDecoder(); - ~JPEGDecoder(); - - const Graphics::Surface *decodeImage(Common::SeekableReadStream *stream); - Graphics::PixelFormat getPixelFormat() const { return _pixelFormat; } - -private: - Graphics::PixelFormat _pixelFormat; - Graphics::Surface *_surface; -}; - -} // End of namespace Video - -#endif diff --git a/video/codecs/mjpeg.cpp b/video/codecs/mjpeg.cpp deleted file mode 100644 index 16fb4f369e..0000000000 --- a/video/codecs/mjpeg.cpp +++ /dev/null @@ -1,217 +0,0 @@ -/* 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. - * - */ - -// Based on LGPL MJPEG/AVI to JPEG/JFIF conversion code from libav -// Copyright (c) 2010 Adrian Daerr and Nicolas George -// That in turn was adapted from mjpeg2jpeg.c, with original copyright: -// Paris 2010 Adrian Daerr, public domain - -#include "common/memstream.h" -#include "common/system.h" -#include "common/textconsole.h" -#include "graphics/surface.h" -#include "image/jpeg.h" - -#include "video/codecs/mjpeg.h" - -namespace Common { -class SeekableReadStream; -} - -namespace Video { - -MJPEGDecoder::MJPEGDecoder() : Codec() { - _pixelFormat = g_system->getScreenFormat(); - _surface = 0; -} - -MJPEGDecoder::~MJPEGDecoder() { - if (_surface) { - _surface->free(); - delete _surface; - } -} - -// Header to be inserted -static const byte s_jpegHeader[] = { - 0xff, 0xd8, // SOI - 0xff, 0xe0, // APP0 - 0x00, 0x10, // APP0 header size (including - // this field, but excluding preceding) - 'J', 'F', 'I', 'F', 0x00, // ID string 'JFIF\0' - 0x01, 0x01, // version - 0x00, // bits per type - 0x00, 0x00, // X density - 0x00, 0x00, // Y density - 0x00, // X thumbnail size - 0x00 -}; - -enum { - DHT_SEGMENT_SIZE = 420 -}; - -static const byte s_dhtSegmentHead[] = { 0xFF, 0xC4, 0x01, 0xA2, 0x00 }; -static const byte s_dhtSegmentFrag[] = { - 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, - 0x0a, 0x0b, 0x01, 0x00, 0x03, 0x01, 0x01, 0x01, 0x01, 0x01, - 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00 -}; - -// Set up the standard Huffman tables (cf. JPEG standard section K.3) -// IMPORTANT: these are only valid for 8-bit data precision! -static const byte s_mjpegBitsDCLuminance[17] = { - /* 0-base */ 0, 0, 1, 5, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0 -}; - -static const byte s_mjpegValDC[12] = { - 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 -}; - -static const byte s_mjpegBitsDCChrominance[17] = { - /* 0-base */ 0, 0, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0 -}; - -static const byte s_mjpegBitsACLuminance[17] = { - /* 0-base */ 0, 0, 2, 1, 3, 3, 2, 4, 3, 5, 5, 4, 4, 0, 0, 1, 0x7d -}; - -static const byte s_mjpegValACLuminance[] = { - 0x01, 0x02, 0x03, 0x00, 0x04, 0x11, 0x05, 0x12, - 0x21, 0x31, 0x41, 0x06, 0x13, 0x51, 0x61, 0x07, - 0x22, 0x71, 0x14, 0x32, 0x81, 0x91, 0xa1, 0x08, - 0x23, 0x42, 0xb1, 0xc1, 0x15, 0x52, 0xd1, 0xf0, - 0x24, 0x33, 0x62, 0x72, 0x82, 0x09, 0x0a, 0x16, - 0x17, 0x18, 0x19, 0x1a, 0x25, 0x26, 0x27, 0x28, - 0x29, 0x2a, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, - 0x3a, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, - 0x4a, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, - 0x5a, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69, - 0x6a, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78, 0x79, - 0x7a, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, - 0x8a, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97, 0x98, - 0x99, 0x9a, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7, - 0xa8, 0xa9, 0xaa, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, - 0xb7, 0xb8, 0xb9, 0xba, 0xc2, 0xc3, 0xc4, 0xc5, - 0xc6, 0xc7, 0xc8, 0xc9, 0xca, 0xd2, 0xd3, 0xd4, - 0xd5, 0xd6, 0xd7, 0xd8, 0xd9, 0xda, 0xe1, 0xe2, - 0xe3, 0xe4, 0xe5, 0xe6, 0xe7, 0xe8, 0xe9, 0xea, - 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 0xf8, - 0xf9, 0xfa -}; - -static const byte s_mjpegBitsACChrominance[17] = { - /* 0-base */ 0, 0, 2, 1, 2, 4, 4, 3, 4, 7, 5, 4, 4, 0, 1, 2, 0x77 -}; - -static const byte s_mjpegValACChrominance[] = { - 0x00, 0x01, 0x02, 0x03, 0x11, 0x04, 0x05, 0x21, - 0x31, 0x06, 0x12, 0x41, 0x51, 0x07, 0x61, 0x71, - 0x13, 0x22, 0x32, 0x81, 0x08, 0x14, 0x42, 0x91, - 0xa1, 0xb1, 0xc1, 0x09, 0x23, 0x33, 0x52, 0xf0, - 0x15, 0x62, 0x72, 0xd1, 0x0a, 0x16, 0x24, 0x34, - 0xe1, 0x25, 0xf1, 0x17, 0x18, 0x19, 0x1a, 0x26, - 0x27, 0x28, 0x29, 0x2a, 0x35, 0x36, 0x37, 0x38, - 0x39, 0x3a, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, - 0x49, 0x4a, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, - 0x59, 0x5a, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, - 0x69, 0x6a, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78, - 0x79, 0x7a, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, - 0x88, 0x89, 0x8a, 0x92, 0x93, 0x94, 0x95, 0x96, - 0x97, 0x98, 0x99, 0x9a, 0xa2, 0xa3, 0xa4, 0xa5, - 0xa6, 0xa7, 0xa8, 0xa9, 0xaa, 0xb2, 0xb3, 0xb4, - 0xb5, 0xb6, 0xb7, 0xb8, 0xb9, 0xba, 0xc2, 0xc3, - 0xc4, 0xc5, 0xc6, 0xc7, 0xc8, 0xc9, 0xca, 0xd2, - 0xd3, 0xd4, 0xd5, 0xd6, 0xd7, 0xd8, 0xd9, 0xda, - 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7, 0xe8, 0xe9, - 0xea, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 0xf8, - 0xf9, 0xfa -}; - -const Graphics::Surface *MJPEGDecoder::decodeImage(Common::SeekableReadStream *stream) { - // We need to reconstruct an actual JPEG stream here, then feed it to the JPEG decoder - // Yes, this is a pain. - - stream->readUint32BE(); // Skip nonsense JPEG header - uint16 inputSkip = stream->readUint16BE() + 4; - uint32 tag = stream->readUint32BE(); - - if (tag != MKTAG('A', 'V', 'I', '1')) { - warning("Invalid MJPEG tag found"); - return 0; - } - - uint32 outputSize = stream->size() - inputSkip + sizeof(s_jpegHeader) + DHT_SEGMENT_SIZE; - byte *data = (byte *)malloc(outputSize); - - if (!data) { - warning("Failed to allocate data for MJPEG conversion"); - return 0; - } - - // Copy the header - memcpy(data, s_jpegHeader, sizeof(s_jpegHeader)); - uint32 dataOffset = sizeof(s_jpegHeader); - - // Write the fake DHT segment - memcpy(data + dataOffset, s_dhtSegmentHead, sizeof(s_dhtSegmentHead)); - dataOffset += sizeof(s_dhtSegmentHead); - memcpy(data + dataOffset, s_mjpegBitsDCLuminance + 1, 16); - dataOffset += 16; - memcpy(data + dataOffset, s_dhtSegmentFrag, sizeof(s_dhtSegmentFrag)); - dataOffset += sizeof(s_dhtSegmentFrag); - memcpy(data + dataOffset, s_mjpegValDC, 12); - dataOffset += 12; - data[dataOffset++] = 0x10; - memcpy(data + dataOffset, s_mjpegBitsACLuminance + 1, 16); - dataOffset += 16; - memcpy(data + dataOffset, s_mjpegValACLuminance, 162); - dataOffset += 162; - data[dataOffset++] = 0x11; - memcpy(data + dataOffset, s_mjpegBitsACChrominance + 1, 16); - dataOffset += 16; - memcpy(data + dataOffset, s_mjpegValACChrominance, 162); - dataOffset += 162; - - // Write the actual data - stream->seek(inputSkip); - stream->read(data + dataOffset, stream->size() - inputSkip); - - Common::MemoryReadStream convertedStream(data, outputSize, DisposeAfterUse::YES); - Image::JPEGDecoder jpeg; - - if (!jpeg.loadStream(convertedStream)) { - warning("Failed to decode MJPEG frame"); - return 0; - } - - if (_surface) { - _surface->free(); - delete _surface; - } - - _surface = jpeg.getSurface()->convertTo(_pixelFormat); - - return _surface; -} - -} // End of namespace Video diff --git a/video/codecs/mjpeg.h b/video/codecs/mjpeg.h deleted file mode 100644 index 10bb948901..0000000000 --- a/video/codecs/mjpeg.h +++ /dev/null @@ -1,60 +0,0 @@ -/* 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. - * - */ - -#ifndef VIDEO_CODECS_MJPEG_H -#define VIDEO_CODECS_MJPEG_H - -#include "video/codecs/codec.h" -#include "graphics/pixelformat.h" - -namespace Common { -class SeekableReadStream; -} - -namespace Graphics { -struct Surface; -} - -namespace Video { - -/** - * Motion JPEG decoder. - * - * Used in video: - * - AVIDecoder - */ -class MJPEGDecoder : public Codec { -public: - MJPEGDecoder(); - ~MJPEGDecoder(); - - const Graphics::Surface *decodeImage(Common::SeekableReadStream *stream); - Graphics::PixelFormat getPixelFormat() const { return _pixelFormat; } - -private: - Graphics::PixelFormat _pixelFormat; - Graphics::Surface *_surface; -}; - -} // End of namespace Video - -#endif diff --git a/video/codecs/mpeg.cpp b/video/codecs/mpeg.cpp deleted file mode 100644 index 6fd7abb512..0000000000 --- a/video/codecs/mpeg.cpp +++ /dev/null @@ -1,107 +0,0 @@ -/* 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 "common/debug.h" -#include "common/stream.h" -#include "common/system.h" -#include "common/textconsole.h" -#include "graphics/surface.h" -#include "graphics/yuv_to_rgb.h" - -#include "video/codecs/mpeg.h" - -namespace Video { - -MPEGDecoder::MPEGDecoder() : Codec() { - _pixelFormat = g_system->getScreenFormat(); - _surface = 0; - - _mpegDecoder = mpeg2_init(); - - if (!_mpegDecoder) - error("Could not initialize libmpeg2"); - - _mpegInfo = mpeg2_info(_mpegDecoder); -} - -MPEGDecoder::~MPEGDecoder() { - mpeg2_close(_mpegDecoder); - - if (_surface) { - _surface->free(); - delete _surface; - } -} - -const Graphics::Surface *MPEGDecoder::decodeImage(Common::SeekableReadStream *stream) { - uint32 framePeriod; - decodePacket(stream, framePeriod); - return _surface; -} - -bool MPEGDecoder::decodePacket(Common::SeekableReadStream *packet, uint32 &framePeriod, Graphics::Surface *dst) { - // Decode as much as we can out of this packet - uint32 size = 0xFFFFFFFF; - mpeg2_state_t state; - bool foundFrame = false; - framePeriod = 0; - - do { - state = mpeg2_parse(_mpegDecoder); - - switch (state) { - case STATE_BUFFER: - size = packet->read(_buffer, BUFFER_SIZE); - mpeg2_buffer(_mpegDecoder, _buffer, _buffer + size); - break; - case STATE_SLICE: - case STATE_END: - if (_mpegInfo->display_fbuf) { - foundFrame = true; - const mpeg2_sequence_t *sequence = _mpegInfo->sequence; - - framePeriod += sequence->frame_period; - - if (!dst) { - // If no destination is specified, use our internal storage - if (!_surface) { - _surface = new Graphics::Surface(); - _surface->create(sequence->picture_width, sequence->picture_height, _pixelFormat); - } - - dst = _surface; - } - - YUVToRGBMan.convert420(dst, Graphics::YUVToRGBManager::kScaleITU, _mpegInfo->display_fbuf->buf[0], - _mpegInfo->display_fbuf->buf[1], _mpegInfo->display_fbuf->buf[2], sequence->picture_width, - sequence->picture_height, sequence->width, sequence->chroma_width); - } - break; - default: - break; - } - } while (size != 0); - - return foundFrame; -} - -} // End of namespace Video diff --git a/video/codecs/mpeg.h b/video/codecs/mpeg.h deleted file mode 100644 index 0704a05fca..0000000000 --- a/video/codecs/mpeg.h +++ /dev/null @@ -1,98 +0,0 @@ -/* 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. - * - */ - -#ifdef USE_MPEG2 - -#ifndef VIDEO_CODECS_MPEG_H -#define VIDEO_CODECS_MPEG_H - -#include "video/codecs/codec.h" -#include "graphics/pixelformat.h" - -#if defined(__PLAYSTATION2__) - typedef uint8 uint8_t; - typedef uint16 uint16_t; - typedef uint32 uint32_t; -#elif defined(_WIN32_WCE) - typedef signed char int8_t; - typedef signed short int16_t; - typedef unsigned char uint8_t; - typedef unsigned short uint16_t; -#elif defined(_MSC_VER) || defined (__SYMBIAN32__) - typedef signed char int8_t; - typedef signed short int16_t; - typedef unsigned char uint8_t; - typedef unsigned short uint16_t; - #if !defined(SDL_COMPILEDVERSION) || (SDL_COMPILEDVERSION < 1210) - typedef signed long int32_t; - typedef unsigned long uint32_t; - #endif -#else -# include -#endif - -extern "C" { - #include -} - -namespace Common { -class SeekableReadStream; -} - -namespace Graphics { -struct Surface; -} - -namespace Video { - -// MPEG 1/2 video decoder - -class MPEGDecoder : public Codec { -public: - MPEGDecoder(); - ~MPEGDecoder(); - - // Codec interface - const Graphics::Surface *decodeImage(Common::SeekableReadStream *stream); - Graphics::PixelFormat getPixelFormat() const { return _pixelFormat; } - - // MPEGPSDecoder call - bool decodePacket(Common::SeekableReadStream *packet, uint32 &framePeriod, Graphics::Surface *dst = 0); - -private: - Graphics::PixelFormat _pixelFormat; - Graphics::Surface *_surface; - - enum { - BUFFER_SIZE = 4096 - }; - - byte _buffer[BUFFER_SIZE]; - mpeg2dec_t *_mpegDecoder; - const mpeg2_info_t *_mpegInfo; -}; - -} // End of namespace Video - -#endif // VIDEO_CODECS_MPEG_H - -#endif // USE_MPEG2 diff --git a/video/codecs/msrle.cpp b/video/codecs/msrle.cpp deleted file mode 100644 index f0c0e8cf65..0000000000 --- a/video/codecs/msrle.cpp +++ /dev/null @@ -1,132 +0,0 @@ -/* 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. - * - */ - -// Based off ffmpeg's msrledec.c - -#include "video/codecs/msrle.h" -#include "common/stream.h" -#include "common/textconsole.h" - -namespace Video { - -MSRLEDecoder::MSRLEDecoder(uint16 width, uint16 height, byte bitsPerPixel) { - _surface = new Graphics::Surface(); - _surface->create(width, height, Graphics::PixelFormat::createFormatCLUT8()); - _bitsPerPixel = bitsPerPixel; -} - -MSRLEDecoder::~MSRLEDecoder() { - _surface->free(); - delete _surface; -} - -const Graphics::Surface *MSRLEDecoder::decodeImage(Common::SeekableReadStream *stream) { - if (_bitsPerPixel == 8) { - decode8(stream); - } else - error("Unhandled %d bit Microsoft RLE encoding", _bitsPerPixel); - - return _surface; -} - -void MSRLEDecoder::decode8(Common::SeekableReadStream *stream) { - - int x = 0; - int y = _surface->h - 1; - - byte *data = (byte *) _surface->getPixels(); - uint16 width = _surface->w; - uint16 height = _surface->h; - - byte *output = data + ((height - 1) * width); - byte *output_end = data + ((height) * width); - - while (!stream->eos()) { - byte count = stream->readByte(); - byte value = stream->readByte(); - - if (count == 0) { - if (value == 0) { - // End of line - - x = 0; - y--; - output = data + (y * width); - - if (y < 0) { - warning("MS RLE Codec: Next line is beyond picture bounds"); - return; - } - - } else if (value == 1) { - // End of image - - return; - } else if (value == 2) { - // Skip - - count = stream->readByte(); - value = stream->readByte(); - - y -= value; - x += count; - - if (y < 0) { - warning("MS RLE Codec: Skip beyond picture bounds"); - return; - } - - output = data + ((y * width) + x); - - } else { - // Copy data - - if (output + value > output_end) { - stream->skip(value); - continue; - } - - for (int i = 0; i < value; i++) - *output++ = stream->readByte(); - - if (value & 1) - stream->skip(1); - - x += value; - } - - } else { - // Run data - - if (output + count > output_end) - continue; - - for (int i = 0; i < count; i++, x++) - *output++ = value; - } - - } - - warning("MS RLE Codec: No end-of-picture code"); -} - -} // End of namespace Video diff --git a/video/codecs/msrle.h b/video/codecs/msrle.h deleted file mode 100644 index edbd263756..0000000000 --- a/video/codecs/msrle.h +++ /dev/null @@ -1,54 +0,0 @@ -/* 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. - * - */ - -#ifndef VIDEO_CODECS_MSRLE_H -#define VIDEO_CODECS_MSRLE_H - -#include "video/codecs/codec.h" - -namespace Video { - -/** - * Microsoft Run-Length Encoding decoder. - * - * Used in video: - * - AVIDecoder - */ -class MSRLEDecoder : public Codec { -public: - MSRLEDecoder(uint16 width, uint16 height, byte bitsPerPixel); - ~MSRLEDecoder(); - - const Graphics::Surface *decodeImage(Common::SeekableReadStream *stream); - Graphics::PixelFormat getPixelFormat() const { return Graphics::PixelFormat::createFormatCLUT8(); } - -private: - byte _bitsPerPixel; - - Graphics::Surface *_surface; - - void decode8(Common::SeekableReadStream *stream); -}; - -} // End of namespace Video - -#endif diff --git a/video/codecs/msvideo1.cpp b/video/codecs/msvideo1.cpp deleted file mode 100644 index fd381756e7..0000000000 --- a/video/codecs/msvideo1.cpp +++ /dev/null @@ -1,139 +0,0 @@ -/* 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. - * - */ - - // Based off ffmpeg's msvideo.cpp - -#include "video/codecs/msvideo1.h" -#include "common/stream.h" -#include "common/textconsole.h" - -namespace Video { - -#define CHECK_STREAM_PTR(n) \ - if ((stream->pos() + n) > stream->size() ) { \ - warning ("MS Video-1: Stream out of bounds (%d >= %d)", stream->pos() + n, stream->size()); \ - return; \ - } - -MSVideo1Decoder::MSVideo1Decoder(uint16 width, uint16 height, byte bitsPerPixel) : Codec() { - _surface = new Graphics::Surface(); - // TODO: Specify the correct pixel format for 2Bpp mode. - _surface->create(width, height, (bitsPerPixel == 8) ? Graphics::PixelFormat::createFormatCLUT8() : Graphics::PixelFormat(2, 0, 0, 0, 0, 0, 0, 0, 0)); - _bitsPerPixel = bitsPerPixel; -} - -MSVideo1Decoder::~MSVideo1Decoder() { - _surface->free(); - delete _surface; -} - -void MSVideo1Decoder::decode8(Common::SeekableReadStream *stream) { - byte colors[8]; - byte *pixels = (byte *)_surface->getPixels(); - uint16 stride = _surface->w; - - int skipBlocks = 0; - uint16 blocks_wide = _surface->w / 4; - uint16 blocks_high = _surface->h / 4; - uint32 totalBlocks = blocks_wide * blocks_high; - uint32 blockInc = 4; - uint16 rowDec = stride + 4; - - for (uint16 block_y = blocks_high; block_y > 0; block_y--) { - uint32 blockPtr = (block_y * 4 - 1) * stride; - for (uint16 block_x = blocks_wide; block_x > 0; block_x--) { - // check if this block should be skipped - if (skipBlocks > 0) { - blockPtr += blockInc; - skipBlocks--; - totalBlocks--; - continue; - } - - uint32 pixelPtr = blockPtr; - - /* get the next two bytes in the encoded data stream */ - CHECK_STREAM_PTR(2); - byte byte_a = stream->readByte(); - byte byte_b = stream->readByte(); - - /* check if the decode is finished */ - if (byte_a == 0 && byte_b == 0 && totalBlocks == 0) { - return; - } else if ((byte_b & 0xFC) == 0x84) { - // skip code, but don't count the current block - skipBlocks = ((byte_b - 0x84) << 8) + byte_a - 1; - } else if (byte_b < 0x80) { - // 2-color encoding - uint16 flags = (byte_b << 8) | byte_a; - - CHECK_STREAM_PTR(2); - colors[0] = stream->readByte(); - colors[1] = stream->readByte(); - - for (byte pixel_y = 0; pixel_y < 4; pixel_y++) { - for (byte pixel_x = 0; pixel_x < 4; pixel_x++, flags >>= 1) - pixels[pixelPtr++] = colors[(flags & 0x1) ^ 1]; - pixelPtr -= rowDec; - } - } else if (byte_b >= 0x90) { - // 8-color encoding - uint16 flags = (byte_b << 8) | byte_a; - - CHECK_STREAM_PTR(8); - for (byte i = 0; i < 8; i++) - colors[i] = stream->readByte(); - - for (byte pixel_y = 0; pixel_y < 4; pixel_y++) { - for (byte pixel_x = 0; pixel_x < 4; pixel_x++, flags >>= 1) - pixels[pixelPtr++] = colors[((pixel_y & 0x2) << 1) + (pixel_x & 0x2) + ((flags & 0x1) ^ 1)]; - pixelPtr -= rowDec; - } - } else { - // 1-color encoding - colors[0] = byte_a; - - for (byte pixel_y = 0; pixel_y < 4; pixel_y++) { - for (byte pixel_x = 0; pixel_x < 4; pixel_x++) - pixels[pixelPtr++] = colors[0]; - pixelPtr -= rowDec; - } - } - - blockPtr += blockInc; - totalBlocks--; - } - } -} - -const Graphics::Surface *MSVideo1Decoder::decodeImage(Common::SeekableReadStream *stream) { - if (_bitsPerPixel == 8) - decode8(stream); - else { - // decode16(stream); - error ("Unhandled MS Video-1 16bpp encoding"); - } - - return _surface; -} - -} // End of namespace Video diff --git a/video/codecs/msvideo1.h b/video/codecs/msvideo1.h deleted file mode 100644 index 4e406e70cb..0000000000 --- a/video/codecs/msvideo1.h +++ /dev/null @@ -1,55 +0,0 @@ -/* 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. - * - */ - -#ifndef VIDEO_CODECS_MSVIDEO1_H -#define VIDEO_CODECS_MSVIDEO1_H - -#include "video/codecs/codec.h" - -namespace Video { - -/** - * Microsoft Video 1 decoder. - * - * Used in video: - * - AVIDecoder - */ -class MSVideo1Decoder : public Codec { -public: - MSVideo1Decoder(uint16 width, uint16 height, byte bitsPerPixel); - ~MSVideo1Decoder(); - - const Graphics::Surface *decodeImage(Common::SeekableReadStream *stream); - Graphics::PixelFormat getPixelFormat() const { return Graphics::PixelFormat::createFormatCLUT8(); } - -private: - byte _bitsPerPixel; - - Graphics::Surface *_surface; - - void decode8(Common::SeekableReadStream *stream); - //void decode16(Common::SeekableReadStream *stream); -}; - -} // End of namespace Video - -#endif diff --git a/video/codecs/qtrle.cpp b/video/codecs/qtrle.cpp deleted file mode 100644 index 91c6b97386..0000000000 --- a/video/codecs/qtrle.cpp +++ /dev/null @@ -1,431 +0,0 @@ -/* 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. - * - */ - -// QuickTime RLE Decoder -// Based off ffmpeg's QuickTime RLE decoder (written by Mike Melanson) - -#include "video/codecs/qtrle.h" - -#include "common/debug.h" -#include "common/scummsys.h" -#include "common/stream.h" -#include "common/system.h" -#include "common/textconsole.h" -#include "graphics/colormasks.h" -#include "graphics/surface.h" - -namespace Video { - -QTRLEDecoder::QTRLEDecoder(uint16 width, uint16 height, byte bitsPerPixel) : Codec() { - _bitsPerPixel = bitsPerPixel; - - // We need to ensure the width is a multiple of 4 - uint16 wMod = width % 4; - if (wMod != 0) - width += 4 - wMod; - - _surface = new Graphics::Surface(); - _surface->create(width, height, getPixelFormat()); -} - -#define CHECK_STREAM_PTR(n) \ - if ((stream->pos() + n) > stream->size()) { \ - warning("QTRLE Problem: stream out of bounds (%d > %d)", stream->pos() + n, stream->size()); \ - return; \ - } - -#define CHECK_PIXEL_PTR(n) \ - if ((int32)pixelPtr + n > _surface->w * _surface->h) { \ - warning("QTRLE Problem: pixel ptr = %d, pixel limit = %d", pixelPtr + n, _surface->w * _surface->h); \ - return; \ - } \ - -void QTRLEDecoder::decode1(Common::SeekableReadStream *stream, uint32 rowPtr, uint32 linesToChange) { - uint32 pixelPtr = 0; - byte *rgb = (byte *)_surface->getPixels(); - - while (linesToChange) { - CHECK_STREAM_PTR(2); - byte skip = stream->readByte(); - int8 rleCode = stream->readSByte(); - - if (rleCode == 0) - break; - - if (skip & 0x80) { - linesToChange--; - rowPtr += _surface->w; - pixelPtr = rowPtr + 2 * (skip & 0x7f); - } else - pixelPtr += 2 * skip; - - if (rleCode < 0) { - // decode the run length code - rleCode = -rleCode; - // get the next 2 bytes from the stream, treat them as groups of 8 pixels, and output them rleCode times */ - CHECK_STREAM_PTR(2); - byte pi0 = stream->readByte(); - byte pi1 = stream->readByte(); - CHECK_PIXEL_PTR(rleCode * 2); - - while (rleCode--) { - rgb[pixelPtr++] = pi0; - rgb[pixelPtr++] = pi1; - } - } else { - // copy the same pixel directly to output 2 times - rleCode *= 2; - CHECK_STREAM_PTR(rleCode); - CHECK_PIXEL_PTR(rleCode); - - while (rleCode--) - rgb[pixelPtr++] = stream->readByte(); - } - } -} - -void QTRLEDecoder::decode2_4(Common::SeekableReadStream *stream, uint32 rowPtr, uint32 linesToChange, byte bpp) { - uint32 pixelPtr = 0; - byte *rgb = (byte *)_surface->getPixels(); - byte numPixels = (bpp == 4) ? 8 : 16; - - while (linesToChange--) { - CHECK_STREAM_PTR(2); - pixelPtr = rowPtr + (numPixels * (stream->readByte() - 1)); - - for (int8 rleCode = stream->readSByte(); rleCode != -1; rleCode = stream->readSByte()) { - if (rleCode == 0) { - // there's another skip code in the stream - CHECK_STREAM_PTR(1); - pixelPtr += (numPixels * (stream->readByte() - 1)); - } else if (rleCode < 0) { - // decode the run length code - rleCode = -rleCode; - - // get the next 4 bytes from the stream, treat them as palette indices, and output them rleCode times */ - CHECK_STREAM_PTR(4); - - byte pi[16]; // 16 palette indices - - for (int8 i = numPixels - 1; i >= 0; i--) { - pi[numPixels - 1 - i] = (stream->readByte() >> ((i * bpp) & 0x07)) & ((1 << bpp) - 1); - - if ((i & ((numPixels >> 2) - 1)) == 0) - stream->readByte(); - } - - CHECK_PIXEL_PTR(rleCode * numPixels); - - while (rleCode--) - for (byte i = 0; i < numPixels; i++) - rgb[pixelPtr++] = pi[i]; - } else { - // copy the same pixel directly to output 4 times - rleCode *= 4; - CHECK_STREAM_PTR(rleCode); - CHECK_PIXEL_PTR(rleCode * (numPixels >> 2)); - - while (rleCode--) { - byte temp = stream->readByte(); - if (bpp == 4) { - rgb[pixelPtr++] = (temp >> 4) & 0x0f; - rgb[pixelPtr++] = temp & 0x0f; - } else { - rgb[pixelPtr++] = (temp >> 6) & 0x03; - rgb[pixelPtr++] = (temp >> 4) & 0x03; - rgb[pixelPtr++] = (temp >> 2) & 0x03; - rgb[pixelPtr++] = temp & 0x03; - } - } - } - } - - rowPtr += _surface->w; - } -} - -void QTRLEDecoder::decode8(Common::SeekableReadStream *stream, uint32 rowPtr, uint32 linesToChange) { - uint32 pixelPtr = 0; - byte *rgb = (byte *)_surface->getPixels(); - - while (linesToChange--) { - CHECK_STREAM_PTR(2); - pixelPtr = rowPtr + 4 * (stream->readByte() - 1); - - for (int8 rleCode = stream->readSByte(); rleCode != -1; rleCode = stream->readSByte()) { - if (rleCode == 0) { - // there's another skip code in the stream - CHECK_STREAM_PTR(1); - pixelPtr += 4 * (stream->readByte() - 1); - } else if (rleCode < 0) { - // decode the run length code - rleCode = -rleCode; - - // get the next 4 bytes from the stream, treat them as palette indices, and output them rleCode times - CHECK_STREAM_PTR(4); - - byte pi[4]; // 4 palette indexes - - for (byte i = 0; i < 4; i++) - pi[i] = stream->readByte(); - - CHECK_PIXEL_PTR(rleCode * 4); - - while (rleCode--) - for (byte i = 0; i < 4; i++) - rgb[pixelPtr++] = pi[i]; - } else { - // copy the same pixel directly to output 4 times - rleCode *= 4; - CHECK_STREAM_PTR(rleCode); - CHECK_PIXEL_PTR(rleCode); - - while (rleCode--) - rgb[pixelPtr++] = stream->readByte(); - } - } - - rowPtr += _surface->w; - } -} - -void QTRLEDecoder::decode16(Common::SeekableReadStream *stream, uint32 rowPtr, uint32 linesToChange) { - uint32 pixelPtr = 0; - uint16 *rgb = (uint16 *)_surface->getPixels(); - - while (linesToChange--) { - CHECK_STREAM_PTR(2); - pixelPtr = rowPtr + stream->readByte() - 1; - - for (int8 rleCode = stream->readSByte(); rleCode != -1; rleCode = stream->readSByte()) { - if (rleCode == 0) { - // there's another skip code in the stream - CHECK_STREAM_PTR(1); - pixelPtr += stream->readByte() - 1; - } else if (rleCode < 0) { - // decode the run length code - rleCode = -rleCode; - CHECK_STREAM_PTR(2); - - uint16 rgb16 = stream->readUint16BE(); - - CHECK_PIXEL_PTR(rleCode); - - while (rleCode--) - rgb[pixelPtr++] = rgb16; - } else { - CHECK_STREAM_PTR(rleCode * 2); - CHECK_PIXEL_PTR(rleCode); - - // copy pixels directly to output - while (rleCode--) - rgb[pixelPtr++] = stream->readUint16BE(); - } - } - - rowPtr += _surface->w; - } -} - -void QTRLEDecoder::decode24(Common::SeekableReadStream *stream, uint32 rowPtr, uint32 linesToChange) { - uint32 pixelPtr = 0; - uint32 *rgb = (uint32 *)_surface->getPixels(); - - while (linesToChange--) { - CHECK_STREAM_PTR(2); - pixelPtr = rowPtr + stream->readByte() - 1; - - for (int8 rleCode = stream->readSByte(); rleCode != -1; rleCode = stream->readSByte()) { - if (rleCode == 0) { - // there's another skip code in the stream - CHECK_STREAM_PTR(1); - pixelPtr += stream->readByte() - 1; - } else if (rleCode < 0) { - // decode the run length code - rleCode = -rleCode; - - CHECK_STREAM_PTR(3); - - byte r = stream->readByte(); - byte g = stream->readByte(); - byte b = stream->readByte(); - uint32 color = _surface->format.RGBToColor(r, g, b); - - CHECK_PIXEL_PTR(rleCode); - - while (rleCode--) - rgb[pixelPtr++] = color; - } else { - CHECK_STREAM_PTR(rleCode * 3); - CHECK_PIXEL_PTR(rleCode); - - // copy pixels directly to output - while (rleCode--) { - byte r = stream->readByte(); - byte g = stream->readByte(); - byte b = stream->readByte(); - rgb[pixelPtr++] = _surface->format.RGBToColor(r, g, b); - } - } - } - - rowPtr += _surface->w; - } -} - -void QTRLEDecoder::decode32(Common::SeekableReadStream *stream, uint32 rowPtr, uint32 linesToChange) { - uint32 pixelPtr = 0; - uint32 *rgb = (uint32 *)_surface->getPixels(); - - while (linesToChange--) { - CHECK_STREAM_PTR(2); - pixelPtr = rowPtr + stream->readByte() - 1; - - for (int8 rleCode = stream->readSByte(); rleCode != -1; rleCode = stream->readSByte()) { - if (rleCode == 0) { - // there's another skip code in the stream - CHECK_STREAM_PTR(1); - pixelPtr += stream->readByte() - 1; - } else if (rleCode < 0) { - // decode the run length code - rleCode = -rleCode; - - CHECK_STREAM_PTR(4); - - byte a = stream->readByte(); - byte r = stream->readByte(); - byte g = stream->readByte(); - byte b = stream->readByte(); - uint32 color = _surface->format.ARGBToColor(a, r, g, b); - - CHECK_PIXEL_PTR(rleCode); - - while (rleCode--) - rgb[pixelPtr++] = color; - } else { - CHECK_STREAM_PTR(rleCode * 4); - CHECK_PIXEL_PTR(rleCode); - - // copy pixels directly to output - while (rleCode--) { - byte a = stream->readByte(); - byte r = stream->readByte(); - byte g = stream->readByte(); - byte b = stream->readByte(); - rgb[pixelPtr++] = _surface->format.ARGBToColor(a, r, g, b); - } - } - } - - rowPtr += _surface->w; - } -} - -const Graphics::Surface *QTRLEDecoder::decodeImage(Common::SeekableReadStream *stream) { - uint16 startLine = 0; - uint16 height = _surface->h; - - // check if this frame is even supposed to change - if (stream->size() < 8) - return _surface; - - // start after the chunk size - stream->readUint32BE(); - - // fetch the header - uint16 header = stream->readUint16BE(); - - // if a header is present, fetch additional decoding parameters - if (header & 8) { - if (stream->size() < 14) - return _surface; - - startLine = stream->readUint16BE(); - stream->readUint16BE(); // Unknown - height = stream->readUint16BE(); - stream->readUint16BE(); // Unknown - } - - uint32 rowPtr = _surface->w * startLine; - - switch (_bitsPerPixel) { - case 1: - case 33: - decode1(stream, rowPtr, height); - break; - case 2: - case 34: - decode2_4(stream, rowPtr, height, 2); - break; - case 4: - case 36: - decode2_4(stream, rowPtr, height, 4); - break; - case 8: - case 40: - decode8(stream, rowPtr, height); - break; - case 16: - decode16(stream, rowPtr, height); - break; - case 24: - decode24(stream, rowPtr, height); - break; - case 32: - decode32(stream, rowPtr, height); - break; - default: - error("Unsupported QTRLE bits per pixel %d", _bitsPerPixel); - } - - return _surface; -} - -QTRLEDecoder::~QTRLEDecoder() { - _surface->free(); - delete _surface; -} - -Graphics::PixelFormat QTRLEDecoder::getPixelFormat() const { - switch (_bitsPerPixel) { - case 1: - case 33: - case 2: - case 34: - case 4: - case 36: - case 8: - case 40: - return Graphics::PixelFormat::createFormatCLUT8(); - case 16: - return Graphics::PixelFormat(2, 5, 5, 5, 0, 10, 5, 0, 0); - case 24: - case 32: - return Graphics::PixelFormat(4, 8, 8, 8, 8, 16, 8, 0, 24); - default: - error("Unsupported QTRLE bits per pixel %d", _bitsPerPixel); - } - - return Graphics::PixelFormat(); -} - -} // End of namespace Video diff --git a/video/codecs/qtrle.h b/video/codecs/qtrle.h deleted file mode 100644 index 5354346957..0000000000 --- a/video/codecs/qtrle.h +++ /dev/null @@ -1,60 +0,0 @@ -/* 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. - * - */ - -#ifndef VIDEO_CODECS_QTRLE_H -#define VIDEO_CODECS_QTRLE_H - -#include "graphics/pixelformat.h" -#include "video/codecs/codec.h" - -namespace Video { - -/** - * QuickTime Run-Length Encoding decoder. - * - * Used in video: - * - QuickTimeDecoder - */ -class QTRLEDecoder : public Codec { -public: - QTRLEDecoder(uint16 width, uint16 height, byte bitsPerPixel); - ~QTRLEDecoder(); - - const Graphics::Surface *decodeImage(Common::SeekableReadStream *stream); - Graphics::PixelFormat getPixelFormat() const; - -private: - byte _bitsPerPixel; - - Graphics::Surface *_surface; - - void decode1(Common::SeekableReadStream *stream, uint32 rowPtr, uint32 linesToChange); - void decode2_4(Common::SeekableReadStream *stream, uint32 rowPtr, uint32 linesToChange, byte bpp); - void decode8(Common::SeekableReadStream *stream, uint32 rowPtr, uint32 linesToChange); - void decode16(Common::SeekableReadStream *stream, uint32 rowPtr, uint32 linesToChange); - void decode24(Common::SeekableReadStream *stream, uint32 rowPtr, uint32 linesToChange); - void decode32(Common::SeekableReadStream *stream, uint32 rowPtr, uint32 linesToChange); -}; - -} // End of namespace Video - -#endif diff --git a/video/codecs/rpza.cpp b/video/codecs/rpza.cpp deleted file mode 100644 index 298dcfc2cd..0000000000 --- a/video/codecs/rpza.cpp +++ /dev/null @@ -1,201 +0,0 @@ -/* 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. - * - */ - - // Based off ffmpeg's RPZA decoder - -#include "video/codecs/rpza.h" - -#include "common/debug.h" -#include "common/system.h" -#include "common/stream.h" -#include "common/textconsole.h" - -namespace Video { - -RPZADecoder::RPZADecoder(uint16 width, uint16 height) : Codec() { - // We need to increase the surface size to a multiple of 4 - uint16 wMod = width % 4; - if (wMod != 0) - width += 4 - wMod; - - _surface = new Graphics::Surface(); - _surface->create(width, height, getPixelFormat()); -} - -RPZADecoder::~RPZADecoder() { - _surface->free(); - delete _surface; -} - -#define ADVANCE_BLOCK() \ - pixelPtr += 4; \ - if (pixelPtr >= _surface->w) { \ - pixelPtr = 0; \ - rowPtr += _surface->w * 4; \ - } \ - totalBlocks--; \ - if (totalBlocks < 0) \ - error("rpza block counter just went negative (this should not happen)") \ - -#define PUT_PIXEL(color) \ - if ((int32)blockPtr < _surface->w * _surface->h) \ - WRITE_UINT16((uint16 *)_surface->getPixels() + blockPtr, color); \ - blockPtr++ - -const Graphics::Surface *RPZADecoder::decodeImage(Common::SeekableReadStream *stream) { - uint16 colorA = 0, colorB = 0; - uint16 color4[4]; - - uint32 rowPtr = 0; - uint32 pixelPtr = 0; - uint32 blockPtr = 0; - uint32 rowInc = _surface->w - 4; - uint16 ta; - uint16 tb; - - // First byte is always 0xe1. Warn if it's different - byte firstByte = stream->readByte(); - if (firstByte != 0xe1) - warning("First RPZA chunk byte is 0x%02x instead of 0xe1", firstByte); - - // Get chunk size, ingnoring first byte - uint32 chunkSize = stream->readUint16BE() << 8; - chunkSize += stream->readByte(); - - // If length mismatch use size from MOV file and try to decode anyway - if (chunkSize != (uint32)stream->size()) { - warning("MOV chunk size != encoded chunk size; using MOV chunk size"); - chunkSize = stream->size(); - } - - // Number of 4x4 blocks in frame - int32 totalBlocks = ((_surface->w + 3) / 4) * ((_surface->h + 3) / 4); - - // Process chunk data - while ((uint32)stream->pos() < chunkSize) { - byte opcode = stream->readByte(); // Get opcode - byte numBlocks = (opcode & 0x1f) + 1; // Extract block counter from opcode - - // If opcode MSbit is 0, we need more data to decide what to do - if ((opcode & 0x80) == 0) { - colorA = (opcode << 8) | stream->readByte(); - opcode = 0; - if (stream->readByte() & 0x80) { - // Must behave as opcode 110xxxxx, using colorA computed - // above. Use fake opcode 0x20 to enter switch block at - // the right place - opcode = 0x20; - numBlocks = 1; - } - stream->seek(-1, SEEK_CUR); - } - - switch (opcode & 0xe0) { - case 0x80: // Skip blocks - while (numBlocks--) { - ADVANCE_BLOCK(); - } - break; - case 0xa0: // Fill blocks with one color - colorA = stream->readUint16BE(); - while (numBlocks--) { - blockPtr = rowPtr + pixelPtr; - for (byte pixel_y = 0; pixel_y < 4; pixel_y++) { - for (byte pixel_x = 0; pixel_x < 4; pixel_x++) { - PUT_PIXEL(colorA); - } - blockPtr += rowInc; - } - ADVANCE_BLOCK(); - } - break; - - // Fill blocks with 4 colors - case 0xc0: - colorA = stream->readUint16BE(); - case 0x20: - colorB = stream->readUint16BE(); - - // Sort out the colors - color4[0] = colorB; - color4[1] = 0; - color4[2] = 0; - color4[3] = colorA; - - // Red components - ta = (colorA >> 10) & 0x1F; - tb = (colorB >> 10) & 0x1F; - color4[1] |= ((11 * ta + 21 * tb) >> 5) << 10; - color4[2] |= ((21 * ta + 11 * tb) >> 5) << 10; - - // Green components - ta = (colorA >> 5) & 0x1F; - tb = (colorB >> 5) & 0x1F; - color4[1] |= ((11 * ta + 21 * tb) >> 5) << 5; - color4[2] |= ((21 * ta + 11 * tb) >> 5) << 5; - - // Blue components - ta = colorA & 0x1F; - tb = colorB & 0x1F; - color4[1] |= ((11 * ta + 21 * tb) >> 5); - color4[2] |= ((21 * ta + 11 * tb) >> 5); - - while (numBlocks--) { - blockPtr = rowPtr + pixelPtr; - for (byte pixel_y = 0; pixel_y < 4; pixel_y++) { - byte index = stream->readByte(); - for (byte pixel_x = 0; pixel_x < 4; pixel_x++) { - byte idx = (index >> (2 * (3 - pixel_x))) & 0x03; - PUT_PIXEL(color4[idx]); - } - blockPtr += rowInc; - } - ADVANCE_BLOCK(); - } - break; - - // Fill block with 16 colors - case 0x00: - blockPtr = rowPtr + pixelPtr; - for (byte pixel_y = 0; pixel_y < 4; pixel_y++) { - for (byte pixel_x = 0; pixel_x < 4; pixel_x++) { - // We already have color of upper left pixel - if (pixel_y != 0 || pixel_x != 0) - colorA = stream->readUint16BE(); - - PUT_PIXEL(colorA); - } - blockPtr += rowInc; - } - ADVANCE_BLOCK(); - break; - - // Unknown opcode - default: - error("Unknown opcode %02x in rpza chunk", opcode); - } - } - - return _surface; -} - -} // End of namespace Video diff --git a/video/codecs/rpza.h b/video/codecs/rpza.h deleted file mode 100644 index 630b5875df..0000000000 --- a/video/codecs/rpza.h +++ /dev/null @@ -1,51 +0,0 @@ -/* 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. - * - */ - -#ifndef VIDEO_CODECS_RPZA_H -#define VIDEO_CODECS_RPZA_H - -#include "graphics/pixelformat.h" -#include "video/codecs/codec.h" - -namespace Video { - -/** - * Apple RPZA decoder. - * - * Used in video: - * - QuickTimeDecoder - */ -class RPZADecoder : public Codec { -public: - RPZADecoder(uint16 width, uint16 height); - ~RPZADecoder(); - - const Graphics::Surface *decodeImage(Common::SeekableReadStream *stream); - Graphics::PixelFormat getPixelFormat() const { return Graphics::PixelFormat(2, 5, 5, 5, 0, 10, 5, 0, 0); } - -private: - Graphics::Surface *_surface; -}; - -} // End of namespace Video - -#endif diff --git a/video/codecs/smc.cpp b/video/codecs/smc.cpp deleted file mode 100644 index d751bbcde4..0000000000 --- a/video/codecs/smc.cpp +++ /dev/null @@ -1,389 +0,0 @@ -/* 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. - * - */ - -// Based off ffmpeg's SMC decoder - -#include "video/codecs/smc.h" -#include "common/stream.h" -#include "common/textconsole.h" - -namespace Video { - -#define GET_BLOCK_COUNT() \ - (opcode & 0x10) ? (1 + stream->readByte()) : 1 + (opcode & 0x0F); - -#define ADVANCE_BLOCK() \ -{ \ - pixelPtr += 4; \ - if (pixelPtr >= _surface->w) { \ - pixelPtr = 0; \ - rowPtr += _surface->w * 4; \ - } \ - totalBlocks--; \ - if (totalBlocks < 0) { \ - warning("block counter just went negative (this should not happen)"); \ - return _surface; \ - } \ -} - -SMCDecoder::SMCDecoder(uint16 width, uint16 height) { - _surface = new Graphics::Surface(); - _surface->create(width, height, Graphics::PixelFormat::createFormatCLUT8()); -} - -SMCDecoder::~SMCDecoder() { - _surface->free(); - delete _surface; -} - -const Graphics::Surface *SMCDecoder::decodeImage(Common::SeekableReadStream *stream) { - byte *pixels = (byte *)_surface->getPixels(); - - uint32 numBlocks = 0; - uint32 colorFlags = 0; - uint32 colorFlagsA = 0; - uint32 colorFlagsB = 0; - - const uint16 rowInc = _surface->w - 4; - int32 rowPtr = 0; - int32 pixelPtr = 0; - uint32 blockPtr = 0; - uint32 prevBlockPtr = 0; - uint32 prevBlockPtr1 = 0, prevBlockPtr2 = 0; - byte prevBlockFlag = false; - uint32 pixel = 0; - - uint32 colorPairIndex = 0; - uint32 colorQuadIndex = 0; - uint32 colorOctetIndex = 0; - uint32 colorTableIndex = 0; // indices to color pair, quad, or octet tables - - int32 chunkSize = stream->readUint32BE() & 0x00FFFFFF; - if (chunkSize != stream->size()) - warning("MOV chunk size != SMC chunk size (%d != %d); ignoring SMC chunk size", chunkSize, stream->size()); - - int32 totalBlocks = ((_surface->w + 3) / 4) * ((_surface->h + 3) / 4); - - // traverse through the blocks - while (totalBlocks != 0) { - // sanity checks - - // make sure stream ptr hasn't gone out of bounds - if (stream->pos() > stream->size()) { - warning("SMC decoder just went out of bounds (stream ptr = %d, chunk size = %d)", stream->pos(), stream->size()); - return _surface; - } - - // make sure the row pointer hasn't gone wild - if (rowPtr >= _surface->w * _surface->h) { - warning("SMC decoder just went out of bounds (row ptr = %d, size = %d)", rowPtr, _surface->w * _surface->h); - return _surface; - } - - byte opcode = stream->readByte(); - - switch (opcode & 0xF0) { - // skip n blocks - case 0x00: - case 0x10: - numBlocks = GET_BLOCK_COUNT(); - while (numBlocks--) { - ADVANCE_BLOCK(); - } - break; - - // repeat last block n times - case 0x20: - case 0x30: - numBlocks = GET_BLOCK_COUNT(); - - // sanity check - if (rowPtr == 0 && pixelPtr == 0) { - warning("encountered repeat block opcode (%02X) but no blocks rendered yet", opcode & 0xF0); - break; - } - - // figure out where the previous block started - if (pixelPtr == 0) - prevBlockPtr1 = (rowPtr - _surface->w * 4) + _surface->w - 4; - else - prevBlockPtr1 = rowPtr + pixelPtr - 4; - - while (numBlocks--) { - blockPtr = rowPtr + pixelPtr; - prevBlockPtr = prevBlockPtr1; - for (byte y = 0; y < 4; y++) { - for (byte x = 0; x < 4; x++) - pixels[blockPtr++] = pixels[prevBlockPtr++]; - blockPtr += rowInc; - prevBlockPtr += rowInc; - } - ADVANCE_BLOCK(); - } - break; - - // repeat previous pair of blocks n times - case 0x40: - case 0x50: - numBlocks = GET_BLOCK_COUNT(); - numBlocks *= 2; - - // sanity check - if (rowPtr == 0 && pixelPtr < 2 * 4) { - warning("encountered repeat block opcode (%02X) but not enough blocks rendered yet", opcode & 0xF0); - break; - } - - // figure out where the previous 2 blocks started - if (pixelPtr == 0) - prevBlockPtr1 = (rowPtr - _surface->w * 4) + _surface->w - 4 * 2; - else if (pixelPtr == 4) - prevBlockPtr1 = (rowPtr - _surface->w * 4) + rowInc; - else - prevBlockPtr1 = rowPtr + pixelPtr - 4 * 2; - - if (pixelPtr == 0) - prevBlockPtr2 = (rowPtr - _surface->w * 4) + rowInc; - else - prevBlockPtr2 = rowPtr + pixelPtr - 4; - - prevBlockFlag = 0; - while (numBlocks--) { - blockPtr = rowPtr + pixelPtr; - - if (prevBlockFlag) - prevBlockPtr = prevBlockPtr2; - else - prevBlockPtr = prevBlockPtr1; - - prevBlockFlag = !prevBlockFlag; - - for (byte y = 0; y < 4; y++) { - for (byte x = 0; x < 4; x++) - pixels[blockPtr++] = pixels[prevBlockPtr++]; - - blockPtr += rowInc; - prevBlockPtr += rowInc; - } - ADVANCE_BLOCK(); - } - break; - - // 1-color block encoding - case 0x60: - case 0x70: - numBlocks = GET_BLOCK_COUNT(); - pixel = stream->readByte(); - - while (numBlocks--) { - blockPtr = rowPtr + pixelPtr; - for (byte y = 0; y < 4; y++) { - for (byte x = 0; x < 4; x++) - pixels[blockPtr++] = pixel; - - blockPtr += rowInc; - } - ADVANCE_BLOCK(); - } - break; - - // 2-color block encoding - case 0x80: - case 0x90: - numBlocks = (opcode & 0x0F) + 1; - - // figure out which color pair to use to paint the 2-color block - if ((opcode & 0xF0) == 0x80) { - // fetch the next 2 colors from bytestream and store in next - // available entry in the color pair table - for (byte i = 0; i < CPAIR; i++) { - pixel = stream->readByte(); - colorTableIndex = CPAIR * colorPairIndex + i; - _colorPairs[colorTableIndex] = pixel; - } - - // this is the base index to use for this block - colorTableIndex = CPAIR * colorPairIndex; - colorPairIndex++; - - // wraparound - if (colorPairIndex == COLORS_PER_TABLE) - colorPairIndex = 0; - } else - colorTableIndex = CPAIR * stream->readByte(); - - while (numBlocks--) { - colorFlags = stream->readUint16BE(); - uint16 flagMask = 0x8000; - blockPtr = rowPtr + pixelPtr; - for (byte y = 0; y < 4; y++) { - for (byte x = 0; x < 4; x++) { - if (colorFlags & flagMask) - pixel = colorTableIndex + 1; - else - pixel = colorTableIndex; - - flagMask >>= 1; - pixels[blockPtr++] = _colorPairs[pixel]; - } - - blockPtr += rowInc; - } - ADVANCE_BLOCK(); - } - break; - - // 4-color block encoding - case 0xA0: - case 0xB0: - numBlocks = (opcode & 0x0F) + 1; - - // figure out which color quad to use to paint the 4-color block - if ((opcode & 0xF0) == 0xA0) { - // fetch the next 4 colors from bytestream and store in next - // available entry in the color quad table - for (byte i = 0; i < CQUAD; i++) { - pixel = stream->readByte(); - colorTableIndex = CQUAD * colorQuadIndex + i; - _colorQuads[colorTableIndex] = pixel; - } - - // this is the base index to use for this block - colorTableIndex = CQUAD * colorQuadIndex; - colorQuadIndex++; - - // wraparound - if (colorQuadIndex == COLORS_PER_TABLE) - colorQuadIndex = 0; - } else - colorTableIndex = CQUAD * stream->readByte(); - - while (numBlocks--) { - colorFlags = stream->readUint32BE(); - - // flag mask actually acts as a bit shift count here - byte flagMask = 30; - blockPtr = rowPtr + pixelPtr; - - for (byte y = 0; y < 4; y++) { - for (byte x = 0; x < 4; x++) { - pixel = colorTableIndex + ((colorFlags >> flagMask) & 0x03); - flagMask -= 2; - pixels[blockPtr++] = _colorQuads[pixel]; - } - blockPtr += rowInc; - } - ADVANCE_BLOCK(); - } - break; - - // 8-color block encoding - case 0xC0: - case 0xD0: - numBlocks = (opcode & 0x0F) + 1; - - // figure out which color octet to use to paint the 8-color block - if ((opcode & 0xF0) == 0xC0) { - // fetch the next 8 colors from bytestream and store in next - // available entry in the color octet table - for (byte i = 0; i < COCTET; i++) { - pixel = stream->readByte(); - colorTableIndex = COCTET * colorOctetIndex + i; - _colorOctets[colorTableIndex] = pixel; - } - - // this is the base index to use for this block - colorTableIndex = COCTET * colorOctetIndex; - colorOctetIndex++; - - // wraparound - if (colorOctetIndex == COLORS_PER_TABLE) - colorOctetIndex = 0; - } else - colorTableIndex = COCTET * stream->readByte(); - - while (numBlocks--) { - /* - For this input of 6 hex bytes: - 01 23 45 67 89 AB - Mangle it to this output: - flags_a = xx012456, flags_b = xx89A37B - */ - - // build the color flags - byte flagData[6]; - stream->read(flagData, 6); - - colorFlagsA = ((READ_BE_UINT16(flagData) & 0xFFF0) << 8) | (READ_BE_UINT16(flagData + 2) >> 4); - colorFlagsB = ((READ_BE_UINT16(flagData + 4) & 0xFFF0) << 8) | ((flagData[1] & 0xF) << 8) | - ((flagData[3] & 0xF) << 4) | (flagData[5] & 0xf); - - colorFlags = colorFlagsA; - - // flag mask actually acts as a bit shift count here - byte flagMask = 21; - blockPtr = rowPtr + pixelPtr; - for (byte y = 0; y < 4; y++) { - // reload flags at third row (iteration y == 2) - if (y == 2) { - colorFlags = colorFlagsB; - flagMask = 21; - } - - for (byte x = 0; x < 4; x++) { - pixel = colorTableIndex + ((colorFlags >> flagMask) & 0x07); - flagMask -= 3; - pixels[blockPtr++] = _colorOctets[pixel]; - } - - blockPtr += rowInc; - } - ADVANCE_BLOCK(); - } - break; - - // 16-color block encoding (every pixel is a different color) - case 0xE0: - numBlocks = (opcode & 0x0F) + 1; - - while (numBlocks--) { - blockPtr = rowPtr + pixelPtr; - for (byte y = 0; y < 4; y++) { - for (byte x = 0; x < 4; x++) - pixels[blockPtr++] = stream->readByte(); - - blockPtr += rowInc; - } - ADVANCE_BLOCK(); - } - break; - - case 0xF0: - warning("0xF0 opcode seen in SMC chunk (contact the developers)"); - break; - } - } - - return _surface; -} - -} // End of namespace Video diff --git a/video/codecs/smc.h b/video/codecs/smc.h deleted file mode 100644 index 2532a85856..0000000000 --- a/video/codecs/smc.h +++ /dev/null @@ -1,62 +0,0 @@ -/* 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. - * - */ - -#ifndef VIDEO_CODECS_SMC_H -#define VIDEO_CODECS_SMC_H - -#include "video/codecs/codec.h" - -namespace Video { - -enum { - CPAIR = 2, - CQUAD = 4, - COCTET = 8, - COLORS_PER_TABLE = 256 -}; - -/** - * Apple SMC decoder. - * - * Used in video: - * - QuickTimeDecoder - */ -class SMCDecoder : public Codec { -public: - SMCDecoder(uint16 width, uint16 height); - ~SMCDecoder(); - - const Graphics::Surface *decodeImage(Common::SeekableReadStream *stream); - Graphics::PixelFormat getPixelFormat() const { return Graphics::PixelFormat::createFormatCLUT8(); } - -private: - Graphics::Surface *_surface; - - // SMC color tables - byte _colorPairs[COLORS_PER_TABLE * CPAIR]; - byte _colorQuads[COLORS_PER_TABLE * CQUAD]; - byte _colorOctets[COLORS_PER_TABLE * COCTET]; -}; - -} // End of namespace Video - -#endif diff --git a/video/codecs/svq1.cpp b/video/codecs/svq1.cpp deleted file mode 100644 index 562e5369e3..0000000000 --- a/video/codecs/svq1.cpp +++ /dev/null @@ -1,797 +0,0 @@ -/* 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. - * - */ - -// Sorenson Video 1 Codec -// Based off FFmpeg's SVQ1 decoder (written by Arpi and Nick Kurshev) - -#include "video/codecs/svq1.h" -#include "video/codecs/svq1_cb.h" -#include "video/codecs/svq1_vlc.h" - -#include "common/stream.h" -#include "common/bitstream.h" -#include "common/rect.h" -#include "common/system.h" -#include "common/debug.h" -#include "common/textconsole.h" -#include "common/huffman.h" - -#include "graphics/yuv_to_rgb.h" - -namespace Video { - -#define SVQ1_BLOCK_SKIP 0 -#define SVQ1_BLOCK_INTER 1 -#define SVQ1_BLOCK_INTER_4V 2 -#define SVQ1_BLOCK_INTRA 3 - -SVQ1Decoder::SVQ1Decoder(uint16 width, uint16 height) { - debug(1, "SVQ1Decoder::SVQ1Decoder(width:%d, height:%d)", width, height); - _width = width; - _height = height; - _frameWidth = _frameHeight = 0; - _surface = 0; - - _last[0] = 0; - _last[1] = 0; - _last[2] = 0; - - // Setup Variable Length Code Tables - _blockType = new Common::Huffman(0, 4, s_svq1BlockTypeCodes, s_svq1BlockTypeLengths); - - for (int i = 0; i < 6; i++) { - _intraMultistage[i] = new Common::Huffman(0, 8, s_svq1IntraMultistageCodes[i], s_svq1IntraMultistageLengths[i]); - _interMultistage[i] = new Common::Huffman(0, 8, s_svq1InterMultistageCodes[i], s_svq1InterMultistageLengths[i]); - } - - _intraMean = new Common::Huffman(0, 256, s_svq1IntraMeanCodes, s_svq1IntraMeanLengths); - _interMean = new Common::Huffman(0, 512, s_svq1InterMeanCodes, s_svq1InterMeanLengths); - _motionComponent = new Common::Huffman(0, 33, s_svq1MotionComponentCodes, s_svq1MotionComponentLengths); -} - -SVQ1Decoder::~SVQ1Decoder() { - if (_surface) { - _surface->free(); - delete _surface; - } - - delete[] _last[0]; - delete[] _last[1]; - delete[] _last[2]; - - delete _blockType; - delete _intraMean; - delete _interMean; - delete _motionComponent; - - for (int i = 0; i < 6; i++) { - delete _intraMultistage[i]; - delete _interMultistage[i]; - } -} - -#define ALIGN(x, a) (((x)+(a)-1)&~((a)-1)) - -const Graphics::Surface *SVQ1Decoder::decodeImage(Common::SeekableReadStream *stream) { - debug(1, "SVQ1Decoder::decodeImage()"); - - Common::BitStream32BEMSB frameData(*stream); - - uint32 frameCode = frameData.getBits(22); - debug(1, " frameCode: %d", frameCode); - - if ((frameCode & ~0x70) || !(frameCode & 0x60)) { // Invalid - warning("Invalid Image at frameCode"); - return _surface; - } - - byte temporalReference = frameData.getBits(8); - debug(1, " temporalReference: %d", temporalReference); - static const char *const types[4] = { "I (Key)", "P (Delta from Previous)", "B (Delta from Next)", "Invalid" }; - byte frameType = frameData.getBits(2); - debug(1, " frameType: %d = %s Frame", frameType, types[frameType]); - - if (frameType == 0) { // I Frame - // TODO: Validate checksum if present - if (frameCode == 0x50 || frameCode == 0x60) { - uint32 checksum = frameData.getBits(16); - debug(1, " checksum:0x%02x", checksum); - // We're currently just ignoring the checksum - } - - if ((frameCode ^ 0x10) >= 0x50) { - // Skip embedded string - byte stringLen = frameData.getBits(8); - for (uint16 i = 0; i < stringLen-1; i++) - frameData.skip(8); - } - - frameData.skip(5); // Unknown - - static const struct { uint w, h; } standardFrameSizes[7] = { - { 160, 120 }, // 0 - { 128, 96 }, // 1 - { 176, 144 }, // 2 - { 352, 288 }, // 3 - { 704, 576 }, // 4 - { 240, 180 }, // 5 - { 320, 240 } // 6 - }; - - byte frameSizeCode = frameData.getBits(3); - debug(1, " frameSizeCode: %d", frameSizeCode); - - if (frameSizeCode == 7) { - _frameWidth = frameData.getBits(12); - _frameHeight = frameData.getBits(12); - } else { - _frameWidth = standardFrameSizes[frameSizeCode].w; - _frameHeight = standardFrameSizes[frameSizeCode].h; - } - - debug(1, " frameWidth: %d", _frameWidth); - debug(1, " frameHeight: %d", _frameHeight); - } else if (frameType == 2) { // B Frame - warning("B Frames not supported by SVQ1 decoder (yet)"); - return _surface; - } else if (frameType == 3) { // Invalid - warning("Invalid Frame Type"); - return _surface; - } - - bool checksumPresent = frameData.getBit() != 0; - debug(1, " checksumPresent: %d", checksumPresent); - if (checksumPresent) { - bool usePacketChecksum = frameData.getBit() != 0; - debug(1, " usePacketChecksum: %d", usePacketChecksum); - bool componentChecksumsAfterImageData = frameData.getBit() != 0; - debug(1, " componentChecksumsAfterImageData: %d", componentChecksumsAfterImageData); - byte unk4 = frameData.getBits(2); - debug(1, " unk4: %d", unk4); - if (unk4 != 0) - warning("Invalid Frame Header in SVQ1 Frame Decode"); - } - - // Some more unknown data - bool unk5 = frameData.getBit() != 0; - if (unk5) { - frameData.skip(8); - - while (frameData.getBit() != 0) - frameData.skip(8); - } - - uint yWidth = ALIGN(_frameWidth, 16); - uint yHeight = ALIGN(_frameHeight, 16); - uint uvWidth = ALIGN(yWidth / 4, 16); - uint uvHeight = ALIGN(yHeight / 4, 16); - uint uvPitch = uvWidth + 4; // we need at least one extra column and pitch must be divisible by 4 - - byte *current[3]; - - // Decode Y, U and V component planes - for (int i = 0; i < 3; i++) { - uint width, height, pitch; - if (i == 0) { - width = yWidth; - height = yHeight; - pitch = width; - current[i] = new byte[width * height]; - } else { - width = uvWidth; - height = uvHeight; - pitch = uvPitch; - - // Add an extra row here. See below for more information. - current[i] = new byte[pitch * (height + 1)]; - } - - if (frameType == 0) { // I Frame - // Keyframe (I) - byte *currentP = current[i]; - for (uint16 y = 0; y < height; y += 16) { - for (uint16 x = 0; x < width; x += 16) { - if (!svq1DecodeBlockIntra(&frameData, ¤tP[x], pitch)) { - warning("svq1DecodeBlockIntra decode failure"); - return _surface; - } - } - currentP += 16 * pitch; - } - } else { - // Delta frame (P or B) - - // Prediction Motion Vector - Common::Point *pmv = new Common::Point[(width / 8) + 3]; - - byte *previous = 0; - if (frameType == 2) { // B Frame - error("SVQ1 Video: B Frames not supported"); - //previous = _next[i]; - } else { - previous = _last[i]; - } - - byte *currentP = current[i]; - for (uint16 y = 0; y < height; y += 16) { - for (uint16 x = 0; x < width; x += 16) { - if (!svq1DecodeDeltaBlock(&frameData, ¤tP[x], previous, pitch, pmv, x, y)) { - warning("svq1DecodeDeltaBlock decode failure"); - return _surface; - } - } - - pmv[0].x = pmv[0].y = 0; - - currentP += 16 * pitch; - } - - delete[] pmv; - } - } - - // Now we'll create the surface - if (!_surface) { - _surface = new Graphics::Surface(); - _surface->create(yWidth, yHeight, g_system->getScreenFormat()); - _surface->w = _width; - _surface->h = _height; - } - - // We need to massage the chrominance data a bit to be able to be used by the converter - // Since the thing peeks at values one column and one row beyond the data, we need to fill it in - - // First, fill in the column-after-last with the last column's value - for (uint i = 0; i < uvHeight; i++) { - current[1][i * uvPitch + uvWidth] = current[1][i * uvPitch + uvWidth - 1]; - current[2][i * uvPitch + uvWidth] = current[2][i * uvPitch + uvWidth - 1]; - } - - // Then, copy the last row to the one after the last row - memcpy(current[1] + uvHeight * uvPitch, current[1] + (uvHeight - 1) * uvPitch, uvWidth + 1); - memcpy(current[2] + uvHeight * uvPitch, current[2] + (uvHeight - 1) * uvPitch, uvWidth + 1); - - // Finally, actually do the conversion ;) - YUVToRGBMan.convert410(_surface, Graphics::YUVToRGBManager::kScaleFull, current[0], current[1], current[2], yWidth, yHeight, yWidth, uvPitch); - - // Store the current surfaces for later and free the old ones - for (int i = 0; i < 3; i++) { - delete[] _last[i]; - _last[i] = current[i]; - } - - return _surface; -} - -bool SVQ1Decoder::svq1DecodeBlockIntra(Common::BitStream *s, byte *pixels, int pitch) { - // initialize list for breadth first processing of vectors - byte *list[63]; - list[0] = pixels; - - // recursively process vector - for (int i = 0, m = 1, n = 1, level = 5; i < n; i++) { - for (; level > 0; i++) { - // process next depth - if (i == m) { - m = n; - if (--level == 0) - break; - } - - // divide block if next bit set - if (s->getBit() == 0) - break; - - // add child nodes - list[n++] = list[i]; - list[n++] = list[i] + (((level & 1) ? pitch : 1) << ((level / 2) + 1)); - } - - // destination address and vector size - uint32 *dst = (uint32 *)list[i]; - uint width = 1 << ((level + 4) / 2); - uint height = 1 << ((level + 3) / 2); - - // get number of stages (-1 skips vector, 0 for mean only) - int stages = _intraMultistage[level]->getSymbol(*s) - 1; - - if (stages == -1) { - for (uint y = 0; y < height; y++) - memset(&dst[y * (pitch / 4)], 0, width); - - continue; // skip vector - } - - if (stages > 0 && level >= 4) { - warning("Error (svq1_decode_block_intra): invalid vector: stages = %d, level = %d", stages, level); - return false; // error - invalid vector - } - - int mean = _intraMean->getSymbol(*s); - - if (stages == 0) { - for (uint y = 0; y < height; y++) - memset(&dst[y * (pitch / 4)], mean, width); - } else { - const uint32 *codebook = (const uint32 *)s_svq1IntraCodebooks[level]; - uint32 bitCache = s->getBits(stages * 4); - - // calculate codebook entries for this vector - int entries[6]; - for (int j = 0; j < stages; j++) - entries[j] = (((bitCache >> ((stages - j - 1) * 4)) & 0xF) + j * 16) << (level + 1); - - mean -= stages * 128; - uint32 n4 = ((mean + (mean >> 31)) << 16) | (mean & 0xFFFF); - - for (uint y = 0; y < height; y++) { - for (uint x = 0; x < (width / 4); x++, codebook++) { - uint32 n1 = n4; - uint32 n2 = n4; - uint32 n3; - - // add codebook entries to vector - for (int j = 0; j < stages; j++) { - n3 = READ_UINT32(&codebook[entries[j]]) ^ 0x80808080; - n1 += (n3 & 0xFF00FF00) >> 8; - n2 += n3 & 0x00FF00FF; - } - - // clip to [0..255] - if (n1 & 0xFF00FF00) { - n3 = (((n1 >> 15) & 0x00010001) | 0x01000100) - 0x00010001; - n1 += 0x7F007F00; - n1 |= (((~n1 >> 15) & 0x00010001) | 0x01000100) - 0x00010001; - n1 &= n3 & 0x00FF00FF; - } - - if (n2 & 0xFF00FF00) { - n3 = (((n2 >> 15) & 0x00010001) | 0x01000100) - 0x00010001; - n2 += 0x7F007F00; - n2 |= (((~n2 >> 15) & 0x00010001) | 0x01000100) - 0x00010001; - n2 &= n3 & 0x00FF00FF; - } - - // store result - dst[x] = (n1 << 8) | n2; - } - - dst += pitch / 4; - } - } - } - - return true; -} - -bool SVQ1Decoder::svq1DecodeBlockNonIntra(Common::BitStream *s, byte *pixels, int pitch) { - // initialize list for breadth first processing of vectors - byte *list[63]; - list[0] = pixels; - - // recursively process vector - for (int i = 0, m = 1, n = 1, level = 5; i < n; i++) { - for (; level > 0; i++) { - // process next depth - if (i == m) { - m = n; - if (--level == 0) - break; - } - - // divide block if next bit set - if (s->getBit() == 0) - break; - - // add child nodes - list[n++] = list[i]; - list[n++] = list[i] + (((level & 1) ? pitch : 1) << ((level / 2) + 1)); - } - - // destination address and vector size - uint32 *dst = (uint32 *)list[i]; - int width = 1 << ((level + 4) / 2); - int height = 1 << ((level + 3) / 2); - - // get number of stages (-1 skips vector, 0 for mean only) - int stages = _interMultistage[level]->getSymbol(*s) - 1; - - if (stages == -1) - continue; // skip vector - - if (stages > 0 && level >= 4) { - warning("Error (svq1_decode_block_non_intra): invalid vector: stages = %d, level = %d", stages, level); - return false; // error - invalid vector - } - - int mean = _interMean->getSymbol(*s) - 256; - const uint32 *codebook = (const uint32 *)s_svq1InterCodebooks[level]; - uint32 bitCache = s->getBits(stages * 4); - - // calculate codebook entries for this vector - int entries[6]; - for (int j = 0; j < stages; j++) - entries[j] = (((bitCache >> ((stages - j - 1) * 4)) & 0xF) + j * 16) << (level + 1); - - mean -= stages * 128; - uint32 n4 = ((mean + (mean >> 31)) << 16) | (mean & 0xFFFF); - - for (int y = 0; y < height; y++) { - for (int x = 0; x < (width / 4); x++, codebook++) { - uint32 n3 = dst[x]; - - // add mean value to vector - uint32 n1 = ((n3 & 0xFF00FF00) >> 8) + n4; - uint32 n2 = (n3 & 0x00FF00FF) + n4; - - // add codebook entries to vector - for (int j = 0; j < stages; j++) { - n3 = READ_UINT32(&codebook[entries[j]]) ^ 0x80808080; - n1 += (n3 & 0xFF00FF00) >> 8; - n2 += n3 & 0x00FF00FF; - } - - // clip to [0..255] - if (n1 & 0xFF00FF00) { - n3 = ((( n1 >> 15) & 0x00010001) | 0x01000100) - 0x00010001; - n1 += 0x7F007F00; - n1 |= (((~n1 >> 15) & 0x00010001) | 0x01000100) - 0x00010001; - n1 &= n3 & 0x00FF00FF; - } - - if (n2 & 0xFF00FF00) { - n3 = ((( n2 >> 15) & 0x00010001) | 0x01000100) - 0x00010001; - n2 += 0x7F007F00; - n2 |= (((~n2 >> 15) & 0x00010001) | 0x01000100) - 0x00010001; - n2 &= n3 & 0x00FF00FF; - } - - // store result - dst[x] = (n1 << 8) | n2; - } - - dst += pitch / 4; - } - } - - return true; -} - -// median of 3 -static inline int midPred(int a, int b, int c) { - if (a > b) { - if (c > b) { - if (c > a) - b = a; - else - b = c; - } - } else { - if (b > c) { - if (c > a) - b = c; - else - b = a; - } - } - - return b; -} - -bool SVQ1Decoder::svq1DecodeMotionVector(Common::BitStream *s, Common::Point *mv, Common::Point **pmv) { - for (int i = 0; i < 2; i++) { - // get motion code - int diff = _motionComponent->getSymbol(*s); - if (diff < 0) - return false; // error - invalid motion code - else if (diff && s->getBit() != 0) - diff = -diff; - - // add median of motion vector predictors and clip result - if (i == 1) - mv->y = ((diff + midPred(pmv[0]->y, pmv[1]->y, pmv[2]->y)) << 26) >> 26; - else - mv->x = ((diff + midPred(pmv[0]->x, pmv[1]->x, pmv[2]->x)) << 26) >> 26; - } - - return true; -} - -void SVQ1Decoder::svq1SkipBlock(byte *current, byte *previous, int pitch, int x, int y) { - const byte *src = &previous[x + y * pitch]; - byte *dst = current; - - for (int i = 0; i < 16; i++) { - memcpy(dst, src, 16); - src += pitch; - dst += pitch; - } -} - -void SVQ1Decoder::putPixels8C(byte *block, const byte *pixels, int lineSize, int h) { - for (int i = 0; i < h; i++) { - *((uint32 *)block) = READ_UINT32(pixels); - *((uint32 *)(block + 4)) = READ_UINT32(pixels + 4); - pixels += lineSize; - block += lineSize; - } -} - -static inline uint32 rndAvg32(uint32 a, uint32 b) { - return (a | b) - (((a ^ b) & ~0x01010101) >> 1); -} - -void SVQ1Decoder::putPixels8L2(byte *dst, const byte *src1, const byte *src2, - int dstStride, int srcStride1, int srcStride2, int h) { - for (int i = 0; i < h; i++) { - uint32 a = READ_UINT32(&src1[srcStride1 * i]); - uint32 b = READ_UINT32(&src2[srcStride2 * i]); - *((uint32 *)&dst[dstStride * i]) = rndAvg32(a, b); - a = READ_UINT32(&src1[srcStride1 * i + 4]); - b = READ_UINT32(&src2[srcStride2 * i + 4]); - *((uint32 *)&dst[dstStride * i + 4]) = rndAvg32(a, b); - } -} - -void SVQ1Decoder::putPixels8X2C(byte *block, const byte *pixels, int lineSize, int h) { - putPixels8L2(block, pixels, pixels + 1, lineSize, lineSize, lineSize, h); -} - -void SVQ1Decoder::putPixels8Y2C(byte *block, const byte *pixels, int lineSize, int h) { - putPixels8L2(block, pixels, pixels + lineSize, lineSize, lineSize, lineSize, h); -} - -void SVQ1Decoder::putPixels8XY2C(byte *block, const byte *pixels, int lineSize, int h) { - for (int j = 0; j < 2; j++) { - uint32 a = READ_UINT32(pixels); - uint32 b = READ_UINT32(pixels + 1); - uint32 l0 = (a & 0x03030303UL) + (b & 0x03030303UL) + 0x02020202UL; - uint32 h0 = ((a & 0xFCFCFCFCUL) >> 2) + ((b & 0xFCFCFCFCUL) >> 2); - - pixels += lineSize; - - for (int i = 0; i < h; i += 2) { - a = READ_UINT32(pixels); - b = READ_UINT32(pixels + 1); - uint32 l1 = (a & 0x03030303UL) + (b & 0x03030303UL); - uint32 h1 = ((a & 0xFCFCFCFCUL) >> 2) + ((b & 0xFCFCFCFCUL) >> 2); - *((uint32 *)block) = h0 + h1 + (((l0 + l1) >> 2) & 0x0F0F0F0FUL); - pixels += lineSize; - block += lineSize; - a = READ_UINT32(pixels); - b = READ_UINT32(pixels + 1); - l0 = (a & 0x03030303UL) + (b & 0x03030303UL) + 0x02020202UL; - h0 = ((a & 0xFCFCFCFCUL) >> 2) + ((b & 0xFCFCFCFCUL) >> 2); - *((uint32 *)block) = h0 + h1 + (((l0 + l1) >> 2) & 0x0F0F0F0FUL); - pixels += lineSize; - block += lineSize; - } - - pixels += 4 - lineSize * (h + 1); - block += 4 - lineSize * h; - } -} - -void SVQ1Decoder::putPixels16C(byte *block, const byte *pixels, int lineSize, int h) { - putPixels8C(block, pixels, lineSize, h); - putPixels8C(block + 8, pixels + 8, lineSize, h); -} - -void SVQ1Decoder::putPixels16X2C(byte *block, const byte *pixels, int lineSize, int h) { - putPixels8X2C(block, pixels, lineSize, h); - putPixels8X2C(block + 8, pixels + 8, lineSize, h); -} - -void SVQ1Decoder::putPixels16Y2C(byte *block, const byte *pixels, int lineSize, int h) { - putPixels8Y2C(block, pixels, lineSize, h); - putPixels8Y2C(block + 8, pixels + 8, lineSize, h); -} - -void SVQ1Decoder::putPixels16XY2C(byte *block, const byte *pixels, int lineSize, int h) { - putPixels8XY2C(block, pixels, lineSize, h); - putPixels8XY2C(block + 8, pixels + 8, lineSize, h); -} - -bool SVQ1Decoder::svq1MotionInterBlock(Common::BitStream *ss, byte *current, byte *previous, int pitch, - Common::Point *motion, int x, int y) { - - // predict and decode motion vector - Common::Point *pmv[3]; - pmv[0] = &motion[0]; - if (y == 0) { - pmv[1] = pmv[2] = pmv[0]; - } else { - pmv[1] = &motion[(x / 8) + 2]; - pmv[2] = &motion[(x / 8) + 4]; - } - - Common::Point mv; - bool resultValid = svq1DecodeMotionVector(ss, &mv, pmv); - if (!resultValid) - return false; - - motion[0].x = motion[(x / 8) + 2].x = motion[(x / 8) + 3].x = mv.x; - motion[0].y = motion[(x / 8) + 2].y = motion[(x / 8) + 3].y = mv.y; - - if (y + (mv.y >> 1) < 0) - mv.y = 0; - - if (x + (mv.x >> 1) < 0) - mv.x = 0; - - const byte *src = &previous[(x + (mv.x >> 1)) + (y + (mv.y >> 1)) * pitch]; - byte *dst = current; - - // Halfpel motion compensation with rounding (a + b + 1) >> 1. - // 4 motion compensation functions for the 4 halfpel positions - // for 16x16 blocks - switch(((mv.y & 1) << 1) + (mv.x & 1)) { - case 0: - putPixels16C(dst, src, pitch, 16); - break; - case 1: - putPixels16X2C(dst, src, pitch, 16); - break; - case 2: - putPixels16Y2C(dst, src, pitch, 16); - break; - case 3: - putPixels16XY2C(dst, src, pitch, 16); - break; - } - - return true; -} - -bool SVQ1Decoder::svq1MotionInter4vBlock(Common::BitStream *ss, byte *current, byte *previous, int pitch, - Common::Point *motion, int x, int y) { - // predict and decode motion vector (0) - Common::Point *pmv[4]; - pmv[0] = &motion[0]; - if (y == 0) { - pmv[1] = pmv[2] = pmv[0]; - } else { - pmv[1] = &motion[(x / 8) + 2]; - pmv[2] = &motion[(x / 8) + 4]; - } - - Common::Point mv; - bool resultValid = svq1DecodeMotionVector(ss, &mv, pmv); - if (!resultValid) - return false; - - // predict and decode motion vector (1) - pmv[0] = &mv; - if (y == 0) - pmv[1] = pmv[2] = pmv[0]; - else - pmv[1] = &motion[(x / 8) + 3]; - - resultValid = svq1DecodeMotionVector(ss, &motion[0], pmv); - if (!resultValid) - return false; - - // predict and decode motion vector (2) - pmv[1] = &motion[0]; - pmv[2] = &motion[(x / 8) + 1]; - - resultValid = svq1DecodeMotionVector(ss, &motion[(x / 8) + 2], pmv); - if (!resultValid) - return false; - - // predict and decode motion vector (3) - pmv[2] = &motion[(x / 8) + 2]; - pmv[3] = &motion[(x / 8) + 3]; - - resultValid = svq1DecodeMotionVector(ss, pmv[3], pmv); - if (!resultValid) - return false; - - // form predictions - for (int i = 0; i < 4; i++) { - int mvx = pmv[i]->x + (i & 1) * 16; - int mvy = pmv[i]->y + (i >> 1) * 16; - - // FIXME: clipping or padding? - if (y + (mvy >> 1) < 0) - mvy = 0; - - if (x + (mvx >> 1) < 0) - mvx = 0; - - const byte *src = &previous[(x + (mvx >> 1)) + (y + (mvy >> 1)) * pitch]; - byte *dst = current; - - // Halfpel motion compensation with rounding (a + b + 1) >> 1. - // 4 motion compensation functions for the 4 halfpel positions - // for 8x8 blocks - switch(((mvy & 1) << 1) + (mvx & 1)) { - case 0: - putPixels8C(dst, src, pitch, 8); - break; - case 1: - putPixels8X2C(dst, src, pitch, 8); - break; - case 2: - putPixels8Y2C(dst, src, pitch, 8); - break; - case 3: - putPixels8XY2C(dst, src, pitch, 8); - break; - } - - // select next block - if (i & 1) - current += (pitch - 1) * 8; - else - current += 8; - } - - return true; -} - -bool SVQ1Decoder::svq1DecodeDeltaBlock(Common::BitStream *ss, byte *current, byte *previous, int pitch, - Common::Point *motion, int x, int y) { - // get block type - uint32 blockType = _blockType->getSymbol(*ss); - - // reset motion vectors - if (blockType == SVQ1_BLOCK_SKIP || blockType == SVQ1_BLOCK_INTRA) { - motion[0].x = - motion[0].y = - motion[(x / 8) + 2].x = - motion[(x / 8) + 2].y = - motion[(x / 8) + 3].x = - motion[(x / 8) + 3].y = 0; - } - - bool resultValid = true; - - switch (blockType) { - case SVQ1_BLOCK_SKIP: - svq1SkipBlock(current, previous, pitch, x, y); - break; - case SVQ1_BLOCK_INTER: - resultValid = svq1MotionInterBlock(ss, current, previous, pitch, motion, x, y); - if (!resultValid) { - warning("svq1MotionInterBlock decode failure"); - break; - } - resultValid = svq1DecodeBlockNonIntra(ss, current, pitch); - break; - case SVQ1_BLOCK_INTER_4V: - resultValid = svq1MotionInter4vBlock(ss, current, previous, pitch, motion, x, y); - if (!resultValid) { - warning("svq1MotionInter4vBlock decode failure"); - break; - } - resultValid = svq1DecodeBlockNonIntra(ss, current, pitch); - break; - case SVQ1_BLOCK_INTRA: - resultValid = svq1DecodeBlockIntra(ss, current, pitch); - break; - } - - return resultValid; -} - -} // End of namespace Video diff --git a/video/codecs/svq1.h b/video/codecs/svq1.h deleted file mode 100644 index 22fa382a71..0000000000 --- a/video/codecs/svq1.h +++ /dev/null @@ -1,88 +0,0 @@ -/* 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. - * - */ - -#ifndef VIDEO_CODECS_SVQ1_H -#define VIDEO_CODECS_SVQ1_H - -#include "video/codecs/codec.h" - -namespace Common { -class BitStream; -class Huffman; -struct Point; -} - -namespace Video { - -/** - * Sorenson Vector Quantizer 1 decoder. - * - * Used in video: - * - QuickTimeDecoder - */ -class SVQ1Decoder : public Codec { -public: - SVQ1Decoder(uint16 width, uint16 height); - ~SVQ1Decoder(); - - const Graphics::Surface *decodeImage(Common::SeekableReadStream *stream); - Graphics::PixelFormat getPixelFormat() const { return _surface->format; } - -private: - Graphics::Surface *_surface; - uint16 _width, _height; - uint16 _frameWidth, _frameHeight; - - byte *_last[3]; - - Common::Huffman *_blockType; - Common::Huffman *_intraMultistage[6]; - Common::Huffman *_interMultistage[6]; - Common::Huffman *_intraMean; - Common::Huffman *_interMean; - Common::Huffman *_motionComponent; - - bool svq1DecodeBlockIntra(Common::BitStream *s, byte *pixels, int pitch); - bool svq1DecodeBlockNonIntra(Common::BitStream *s, byte *pixels, int pitch); - bool svq1DecodeMotionVector(Common::BitStream *s, Common::Point *mv, Common::Point **pmv); - void svq1SkipBlock(byte *current, byte *previous, int pitch, int x, int y); - bool svq1MotionInterBlock(Common::BitStream *ss, byte *current, byte *previous, int pitch, - Common::Point *motion, int x, int y); - bool svq1MotionInter4vBlock(Common::BitStream *ss, byte *current, byte *previous, int pitch, - Common::Point *motion, int x, int y); - bool svq1DecodeDeltaBlock(Common::BitStream *ss, byte *current, byte *previous, int pitch, - Common::Point *motion, int x, int y); - - void putPixels8C(byte *block, const byte *pixels, int lineSize, int h); - void putPixels8L2(byte *dst, const byte *src1, const byte *src2, int dstStride, int srcStride1, int srcStride2, int h); - void putPixels8X2C(byte *block, const byte *pixels, int lineSize, int h); - void putPixels8Y2C(byte *block, const byte *pixels, int lineSize, int h); - void putPixels8XY2C(byte *block, const byte *pixels, int lineSize, int h); - void putPixels16C(byte *block, const byte *pixels, int lineSize, int h); - void putPixels16X2C(byte *block, const byte *pixels, int lineSize, int h); - void putPixels16Y2C(byte *block, const byte *pixels, int lineSize, int h); - void putPixels16XY2C(byte *block, const byte *pixels, int lineSize, int h); -}; - -} // End of namespace Video - -#endif diff --git a/video/codecs/svq1_cb.h b/video/codecs/svq1_cb.h deleted file mode 100644 index da92ae4c98..0000000000 --- a/video/codecs/svq1_cb.h +++ /dev/null @@ -1,1511 +0,0 @@ -/* 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. - * - */ - -// These tables are modified from their FFmpeg counterparts so that -// they work on both little and big endian systems. - -#ifndef VIDEO_CODECS_SVQ1_CB_H -#define VIDEO_CODECS_SVQ1_CB_H - -#include "common/scummsys.h" - -namespace Video { - -static const int8 s_svq1InterCodebook4x2[768] = { - 7, 2, -6, -7, 7, 3, -3, -4, -7, -2, 7, 8, -8, -4, 3, 4, - 19, 17, 9, 3,-14,-16,-12, -8,-18,-16, -8, -3, 11, 14, 12, 8, - 7,-16,-10, 20, 7,-17,-10, 20, -6, 18, 8,-21, -7, 18, 9,-20, - 25, 3,-20,-14, 29, 7,-18,-13,-29, -4, 21, 14,-31, -6, 20, 14, - -19,-26,-28,-24, 31, 32, 22, 10, 15, 24, 31, 28,-32,-32,-22,-13, - 2, -8,-23,-26, -9, 3, 27, 35, 3, 11, 21, 21, 8, -4,-27,-34, - -30,-31, 12, 47,-29,-30, 13, 47, 38, 30,-17,-46, 34, 26,-19,-46, - -42,-50,-51,-43, 34, 48, 55, 48, 48, 54, 51, 42,-44,-52,-53,-47, - 4, 5, 0, -6, -2, -2, 0, 1,-11, -6, -1, -2, 1, 8, 9, 1, - 0, 1, -6, 5, 8, 1,-12, 2, 7,-14, -7, 8, 5, -8, 0, 8, - 1, 4, 11, 8,-12, -8, 0, -5, -1, 1, 0, 4,-15, -8, 3, 16, - 17, 8, -4, -6, 9, -4,-13, -8, 2, 6, 1,-18, -1, 11, 11,-12, - 6, 0, 2, 0, 14, 6, -7,-21, 1, -1,-13,-20, 1, 1, 10, 21, - -22, -5, 7, 13,-11, -1, 4, 12, -7, 0, 14, 19, -4, 3, -5,-19, - -26,-14, 10, 15, 18, 4, -6, -2, 25, 19, -5,-18,-20, -7, 4, 2, - -13, -6, -1, -4, 25, 37, -2,-35, 5, 4, 1, 1,-21,-36, 2, 43, - 2, -2, -1, 3, 8, -2, -6, -1, -2, -3, 2, 12, -5, -2, -2, -1, - -3, -1, -1, -5, -1, 7, 8, -2, 2, 7, 5, -3, 1, 1, -3, -8, - -3, -1, -3, -2, -2, -3, 2, 13, 15, 0,-11, -6, 3, 0, 0, 0, - -6, -9, -5, -4, 18, 4, 1, 3, 12, 3, 0, 4,-16, -3, 3, -3, - -17, 3, 18, 2, -1, -3, -1, -1, -6, 16, -8, 0, -9, 14, -7, 0, - 3,-13, 14, -5, 3,-13, 14, -4, -7, 20, 14,-23, 8, -7, -8, 4, - 8,-15,-19, 16,-10, 13, 11, -3, 9, -1, 1, 26, 5,-15,-27, 2, - -20, 7, 16, -4,-40, 9, 31, 1, 26,-12,-30, -7, 40, -2,-19, 4, - 6, 0, 0, 0, -6, -2, 1, 2, 0, -1, 0, -6, 9, 0, -2, -1, - -7, 8, 2, -3, -1, 2, -3, 2, 7, -4, -2, 4, 2, 0, 0, -6, - -3, -2, 9, 2, -2, -1, 0, -4, -3, -3, 0, -3, -6, 2, 10, 4, - 3, 0,-10, 8, 0, 0, -4, 4, -1, 1, 4, 2, 3, -7, -9, 7, - 2, 1, -9, -4, -1, 12, 0, 0, 3, -1, 7, -4, 3,-14, 4, 2, - -12, -9, 1, 11, 2, 5, 1, 0, 3, 1, 0, 2, 0, 8, 6,-19, - -6,-10, -7, -4, 9, 7, 5, 7, 6, 21, 3, -3,-11, -9, -5, -2, - -4, -9,-16, -1, -2, -5, 1, 36, 8, 11, 19, 0, 2, 5, -4,-41, - -1, -1, -2, -1, -2, -2, 1, 6, 0, 4, 1, -8, 1, 1, 1, 0, - -2, -3, 4, 0, 2, -1, 3, -3, 1, 3, -4, 1, -1, 3, 0, -5, - 3, 4, 2, 3, -2, -3, -6, -1, -2, -3, -2, 2, -4, 8, 1, 0, - -7, 4, 2, 6, -7, -1, 1, 0, -2, 2, -4, 1, 8, -6, 2, -1, - -6, 2, 0, 2, 5, 4, -8, -1, -1,-11, 0, 9, 0, -2, 2, 2, - 17, -5, -4, -1, -1, -4, -2, -2, 0,-13, 9, -3, -1, 12, -7, 2, - 0, -2, -5, 2, -7, -5, 20, -3, 7, 7, -1,-30, 3, 5, 8, 1, - -6, 3, -1, -4, 2, -2,-11, 18, 0, -7, 3, 14, 20, -3,-18, -9, - 7, -2, 0, -1, -2, 0, 0, -1, -4, -1, 1, 0, -2, 2, 0, 4, - 1, -3, 2, 1, 3, 1, -5, 1, -3, 0, -1, -2, 7, 1, 0, -3, - 2, 5, 0, -2, 2, -5, -1, 1, -1, -2, 4, -1, 0, -3, 5, 0, - 0, 3, -1, -2, -4, 1, 5, -1, -1, 0, -1, 9, -1, -2, -1, -1, - -2, 5, 5, -1, -2, 2, -3, -2, 1, 2,-11, 1, 2, 1, 3, 2, - 2,-10, -1, -2, 4, 2, 4, 1, 4, 5, -5, 1, 0, 6,-11, 1, - 1, 0, 6, 6, 0, 2, 1,-15, 7, 3, 5, 9,-30, 2, 2, 2, - -34, 1, 9, 2, 5, 8, 8, 2, 7, 2, 6, 6, 2,-27, 1, 4 -}; - -static const int8 s_svq1InterCodebook4x4[1536] = { - 4, 0, -6, -7, -4, -8,-13, -9, -8, -8, -1, 6, -2, 5, 22, 27, - -16, -7, 11, 10,-18, -7, 13, 10,-15, -4, 12, 8, -9, -1, 9, 5, - -2, 2, 15,-16, -3, 2, 19,-19, -3, 2, 19,-19, -2, 3, 15,-14, - 17, 22, 22, 16, -6, -7, -5, -2,-12,-16,-16,-12, 1, 1, -1, -3, - 11,-17, 0, 8, 14,-21, -1, 9, 14,-21, -2, 8, 11,-16, -2, 6, - 7, -2,-16, 11, 9, -2,-21, 14, 10, -1,-22, 14, 8, -1,-18, 10, - -10, 16, 3, -9,-13, 20, 4,-11,-14, 21, 4,-10,-11, 16, 3, -8, - 11, 4, -9, -9, 15, 6,-12,-14, 17, 8,-12,-14, 16, 10, -7,-11, - 4, 10, 14, 13, -1, 7, 15, 16,-12, -7, 3, 8,-20,-23,-18,-10, - -10,-18,-26,-25, 4, 1, -6,-11, 13, 15, 11, 3, 12, 15, 13, 8, - -16,-19,-16,-11, 7, 12, 15, 11, 11, 16, 16, 11, -6, -9,-11,-10, - 18, 19, 12, 5, 18, 16, 5, -4, 6, 0,-10,-15, -9,-17,-23,-22, - -10,-14, -1, 21,-11,-17, 0, 29,-11,-16, 1, 30,-10,-14, 0, 23, - -16,-17,-12, -6,-19,-19,-14, -7, -3, -1, 1, 2, 27, 35, 29, 19, - -37, -8, 23, 23,-42, -9, 28, 29,-43,-10, 26, 28,-38,-11, 19, 22, - 32, 16,-16,-33, 39, 20,-18,-37, 38, 19,-19,-38, 32, 15,-17,-34, - 24, 9, -6, -4, -1,-10, -6, 3, -8, -9, -1, 3, 3, 7, 2, -6, - -1, -3, -1, 0, -1, 4, 2, -7, -3, 11, 3,-16, 1, 20, 9,-18, - -3, -8, 6, 12, -5,-10, 7, 13, -6, -9, 5, 7, -5, -5, 2, -1, - -8, 12, -3, -1,-10, 15, -3, 1,-11, 13, -4, 1,-11, 8, -3, 2, - 9, 6, -5,-12, 3, 0, -8,-13, -4, -4, -1, -1, -4, 1, 15, 18, - 9, 13, 14, 12, 4, 3, -1, -2, -2, -5, -8, -5, -7,-11, -9, -4, - 7, -5, -7, -4, 14, -2, -7, -4, 17, 0, -8, -5, 15, 1, -7, -5, - -10, -1, 6, 4,-15, -9, 2, 4, 2, -1, -3, 0, 25, 13, -8,-10, - 7, 11, -3,-16, 7, 11, -3,-15, 6, 7, -2, -9, 4, 2, -3, -5, - -7, -1, -1, 0, -9, -2, 2, 6,-12, -4, 6, 14,-13, -6, 8, 19, - -18,-18,-11, -5, -3, 0, 3, 4, 6, 8, 6, 6, 6, 6, 6, 6, - -5, 3, 13,-10, -6, 1, 15, -9, -6, -3, 15, -6, -6, -6, 10, -3, - 9, 1, -9, -9, 11, 9, 6, 5, 0, 3, 8, 7,-15,-14, -6, -5, - -11, -6, 11, 19, -2, -5, -9, -8, 6, 2, -9,-10, 6, 5, 4, 5, - -7, -3, 8, 15, -1, 3, 10, 15, 5, 5, -1, -2, 4, -2,-21,-25, - 6, -6, -6, 5, 8, -9, -7, 9, 8,-12, -7, 13, 4,-14, -7, 14, - -4, -3, 1, 1, -3, -5, -2, -3, 7, 0, -2, -4, 20, 7, -4, -4, - -3,-20, -6, 10, 6, 0, 0, 1, 5, 8, 5, -1, -3, 0, 0, -2, - 13, 6, -1, 2, 5, 3, 2, 3, -3, 0, 3, 0,-16, -8, -2, -5, - -2, -7, -6, 0, -3, -6, -3, 1, -5, -1, 2, -1, -1, 12, 16, 5, - -7, 1, 9, 8,-10, -2, 5, 3, -6, 2, 7, 3, -4, 0, -1, -7, - 3, 4, -9,-24, 0, 2, 6, 3, -1, -1, 4, 7, 5, 3, -1, -2, - 3, 6, -9, 2, 1, 6,-13, 1, 1, 8,-10, 2, 1, 8, -7, 1, - -3, -3, 2, 22, -2, -3, -5, 12, -2, -3,-10, 2, -3, -1, -4, 2, - 11, 12, 8, 2, -5, -5, -5, -8, -6, -4, 0, -3, -2, -1, 3, 3, - 12, -6, -2, -1, 12, -8, -2, -2, 9, -7, 0, -3, 4, -6, 2, -2, - -19, 1, 12, -3, -4, 4, 5, -4, 6, 1, -2, -1, 4, -4, -2, 7, - -3, -4, -7, -8, -4, -4, -2, 0, -1, 2, 14, 16, -4, -2, 4, 4, - -1, 7, 2, -5, -2, 0, -1, 1, 4, -3, -1, 13, 6,-12,-14, 8, - -1, 5, 4, -5, -2, 5, 3, -9, -2, 7, 4,-12, -1, 7, 4, -9, - -6, -3, 1, 1, 11, 11, 0, -6, 6, 4, -2, -7,-12,-10, 3, 10, - -2, -3, -3, -2, 6, 11, 14, 10, -9,-11,-10,-10, 2, 2, 3, 2, - -7, -5, -7, -1, -1, 2, 0, 7, -1, 1, 0, 9, 3, 4, -5, -1, - 10, -1,-15, -1, 4, 1, -5, 2, -3, 1, -1, 1, -3, 1, 4, 4, - 2, -1, 4, 10, 6, 2, -1, 0, 2, 2, -7,-12, -4, 2, 0, -3, - -1, -4, -1, -8, 3, -1, 2, -9, 4, 0, 5, -5, 2, 0, 8, 3, - 3, 2, 1, 1, 4, -2, 0, 3, 2, -1, 4, 1, 0, 6, -1,-25, - -1, -2, -2, -4, -3, 0, -1, -4, -1, -1, -4, 2, 0, -6, 2, 25, - -11, -1, 5, 0, 7, 0, -2, 2, 10, -1, -3, 4, -5, -5, -2, -1, - 0, 6, 3, -1, -2, -1, -1, 1, -1, -7,-12, -5, 8, 6, 2, 4, - 2, 6, -1, -6, 9, 10, -1, -4, 1, 0, -4, 0, 3, -2, -9, -5, - -4, 3, 4, 0, -4, 3, 3, 0,-11, 0, 3, 2,-11, 3, 7, 2, - 2, -4, 7, 3, 1, -8, 7, 1, -1,-12, 4, 1, 3, -9, 2, 2, - 2, -2, -2, 9,-17, -3, 3, 1, -4, 7, 1, -6, 5, 4, -1, 3, - -1, 2, 0, -4, -7, 8, 12, -1, -2, 5, 4, -5, 3, -5, -8, -2, - 0, 0, -5, -2, -2, -8, 3, 27, -1, -4, -3, 6, -3, 1, -2, -7, - 4, 4, 1, -1, -7,-10, -7, -3, 10, 10, 5, 3, -2, -2, -4, -3, - 0, 1, 5, 7, 4, -2,-16,-20, 0, 4, 7, 8, 2, 0, -2, -1, - -2, 1, 3, 17, -3, 1, -2, -1, -1, -2, -1, -2, -1, -5, -1, 0, - 5, -3, 1, 0, 6, -2, 0, 0, -1, -2, 0, -3,-11, 1, 8, -1, - 3, 0, 0, 0, 0, 2, 4, 1, 2, 0, 6, 1, -2,-18, -3, 2, - -14, 0, 6, 1, -5, -2, -1, 1, -1, 1, 0, 1, 1, 7, 4, 0, - -1, 0, 1, -4, 1, 8, 3, -4, -3, 4, 1, 3, -6, 1, -4, 1, - 1,-12, 3, 3, -1,-10, 0, -1, 2, 0, 2, 1, 3, 2, 2, 4, - 3, 0, 0, 3, 2, 0, -2, 1, 5, 2, -5, 0, 6, -1,-14, -1, - -2, -6, -3, -3, 2, -1, 4, 5, 6, -1, -2, 0, 4, 4, -1, -5, - -4, 1,-11, 0, -1, 2, -4, 1, 2, -3, 3, -1, 1, -2, 15, 0, - 1, -1, 0, -2, 1, -4, -7, 1, -2, -6, -1, 21, -2, 2, -1, 1, - 21, -1, -2, 0, -1, -3, 1, -2, -9, -2, 2, -1, 2, 1, -4, -1, - 1, 8, 2, -6,-10, -1, 4, 0, -4, -3, 3, 3, 5, 0, -1, -1, - 3, 2, 1, -2, -2, -2, 4, 3, 5, 2, -4,-17, 0, -2, 4, 3, - -7, -4, 0, 3, 9, 9, 2, -1,-11, -6, 0, -1, 5, 1, 0, 1, - 0, 17, 5,-11, 3, -2, -6, 0, 2, -2, -4, 1, -4, 1, 2, -1, - -5, -1, -5, -3, -3, 5, -3, -2, 4, 16, 2, -5, -2, 5, -1, -1, - 0, 0, -4, 1, -1, 2, 5, 11, -1, -1, -2, 1, -4, -2, -3, -1, - -5, -1, 10, 0, 6, 1, 0, -3, 0, -4, 1, 0, -2, -4, 3, -1, - 6, 9, 3, 0, -2, 1, -2, 0, -2, -3, -2, -2, 1, 0, 1, -6, - 1, 0, 2, 1, -1, 3, -2, 1, 0, -1,-15, 0, -1, 5, 2, 6, - 2, 0, 2, 2, 0,-12, -4, 6, 0, 1, 4, -1, 1, 2, 1, -4, - 1, -2, -7, 0, 0, 0, 0, -1, -5, 2, 11, 3, 1, 3, 0, -6, - 0, -3, -9, -4, 1, 3, -1, 0, 4, 1, -2, 0, 7, -3, -1, 6, - 1, -2, 6, 2, 0, -1, 3, -2, -2, 4, 0, 2, -1, 2,-14, 2, - 2, 2, 0, -1, -2, 3, -3,-14, 0, 2, 3, -3, 5, 1, 3, 2, - 1, -3, 4,-14, 1, -2, 11, -1, 0, -1, 3, 0, -1, 1, 0, 2, - -2, 3, -3, 2, -4, -1, -4, 3, -1, 2, 1, 3, -6, -2, 2, 7, - -2, 1, 2, 0, -2, 0, 0, -1, 12, 5, -1, 2, -8, -1, 1, -7, - 2, -2, -4, 2, 11, 0,-11, -2, 3, 1, -3, -1, 0, 3, 1, -1, - 0, 3, 0, -2, 0, -6, -1, -3, 12, -7, -2, 0, 7, -2, 1, 1, - 1, 2, 2, 2, -1, 2, 0, 2,-23, 0, 4, 0, 3, 2, 1, 3, - -4, -5, -1, 5, -3, 5, 10, -1, 0, 0, 3, -4, 1, -1, 2, -5 -}; - -static const int8 s_svq1InterCodebook8x4[3072] = { - 9, 8, 4, 0, -3, -4, -4, -3, 9, 8, 4, -1, -4, -5, -5, -3, - 8, 7, 3, -2, -5, -5, -5, -4, 6, 4, 1, -2, -4, -5, -4, -3, - -12,-14,-11, -4, 1, 5, 6, 6, -8,-10, -7, -5, -2, 1, 1, 1, - 5, 4, 3, 1, 0, 0, -1, -1, 13, 13, 9, 6, 3, 0, -1, -2, - -4, -4, -3, -1, 1, 4, 8, 11, -5, -6, -4, -2, 0, 3, 8, 12, - -7, -7, -6, -4, -2, 2, 7, 10, -7, -7, -5, -4, -2, 1, 5, 8, - -3, -2, -1, 1, 3, 6, 7, 6, 2, 3, 5, 7, 8, 8, 6, 4, - 4, 5, 4, 3, 1, -2, -6, -7, 1, 0, -2, -7,-10,-14,-17,-16, - -5, -4, 1, 8, 9, 3, -3, -7, -7, -6, 1, 11, 12, 5, -3, -8, - -8, -7, 0, 9, 11, 5, -3, -7, -8, -6, -1, 5, 8, 4, -2, -6, - -4, -5, -7, -8, -9, -9, -8, -6, -4, -5, -6, -7, -7, -6, -4, -2, - 0, 1, 2, 3, 5, 8, 10, 9, 1, 2, 3, 6, 9, 12, 14, 13, - 5, 6, 6, 5, 4, 3, 2, 1, 5, 6, 7, 7, 6, 6, 6, 4, - -1, 0, 1, 1, 3, 5, 5, 5,-13,-16,-17,-17,-14,-10, -6, -4, - 9, 11, 13, 16, 15, 13, 12, 10, -4, -5, -6, -7, -7, -7, -6, -5, - -6, -6, -7, -7, -7, -7, -6, -5, -2, -1, 0, 0, 0, 0, 0, -1, - -11,-13,-15,-16,-16,-14,-12,-10, 2, 3, 4, 5, 4, 3, 3, 3, - 6, 7, 8, 8, 8, 7, 6, 5, 3, 4, 3, 3, 3, 3, 3, 3, - 3, 4, 4, 1, -2, -7,-13,-17, 5, 7, 7, 5, 1, -5,-13,-19, - 6, 8, 9, 8, 5, -1, -9,-16, 6, 8, 10, 10, 7, 2, -4,-11, - 18, 9, -1,-10,-13, -9, -4, 0, 22, 12, -1,-12,-15,-10, -4, 2, - 23, 13, 0,-10,-13, -9, -3, 2, 20, 12, 2, -6, -9, -6, -2, 2, - -6, -6, -6, -7, -7, -7, -7, -6, -6, -7, -8, -8, -9, -9, -9, -8, - -3, -3, -3, -3, -3, -3, -3, -3, 12, 15, 18, 21, 21, 19, 17, 14, - 14, 16, 18, 18, 18, 16, 15, 13, 5, 6, 6, 5, 5, 4, 4, 3, - -6, -7, -9,-10,-10,-10, -9, -7,-10,-11,-13,-14,-14,-13,-12,-10, - -27,-17, -4, 5, 9, 10, 10, 7,-32,-19, -3, 7, 11, 12, 11, 8, - -30,-16, -2, 8, 12, 12, 10, 7,-23,-12, 0, 7, 10, 11, 9, 6, - 16, 17, 16, 12, 6, -1, -8,-12, 17, 18, 15, 10, 1, -8,-15,-18, - 15, 14, 10, 4, -5,-14,-20,-23, 10, 8, 4, -1, -9,-16,-21,-22, - -10,-12,-12,-11, -5, 4, 14, 20,-11,-13,-15,-12, -4, 7, 19, 27, - -11,-13,-14,-11, -3, 8, 21, 28,-10,-11,-12, -9, -2, 8, 18, 25, - -1, -1, -1, 1, 4, 6, 6, 5, 0, 0, 0, 2, 4, 3, 1, -2, - 0, 0, 2, 4, 4, -1, -7,-10, 0, 0, 3, 5, 3, -3,-11,-15, - -14,-13, -8, -1, 3, 3, -1, -4, -5, -4, -1, 4, 8, 8, 3, 0, - 3, 2, 2, 3, 4, 5, 3, 1, 5, 3, 0, -2, -2, -1, -1, -1, - 9, 1, -6, -6, -5, -3, -2, -1, 12, 1, -6, -6, -4, -2, -1, 0, - 14, 4, -4, -4, -2, -2, -1, -1, 14, 6, -1, -1, -1, -1, -1, -1, - 4, 6, 8, 10, 11, 9, 7, 5, -1, -1, -1, 0, 0, -1, -1, -2, - -2, -4, -4, -5, -5, -5, -5, -4, -2, -3, -3, -4, -4, -3, -2, -1, - 2, 3, 4, 4, 3, 1, 0, 0, -1, 1, 4, 5, 6, 5, 4, 3, - -8, -6, -2, 2, 3, 4, 4, 3,-14,-13, -9, -5, -2, -1, 0, 0, - -3, -4, -5, -4, 0, 7, 12, 13, -3, -4, -5, -5, -2, 4, 9, 10, - -2, -3, -4, -5, -4, -1, 3, 4, -1, -1, -2, -3, -3, -2, 0, 1, - 9, 5, -2, -8,-11,-10, -7, -4, 12, 10, 6, 2, 0, -1, 0, 0, - 2, 2, 3, 4, 3, 1, 1, 1, -9, -8, -4, 0, 1, 2, 1, 0, - 6, 8, 8, 5, 1, -5,-11,-13, 0, 1, 2, 2, -1, -4, -8,-11, - -3, -2, 1, 3, 3, 1, -1, -4, -2, -1, 2, 5, 6, 6, 4, 1, - 3, 4, 5, 5, 4, 1, -3, -6, 5, 6, 4, 2, 2, 2, 0, -3, - 6, 5, 0, -5, -5, -2, -1, -2, 7, 4, -3,-11,-12, -7, -3, -2, - 1, 0, -1, -1, -1, 0, 0, 0, 2, 3, 4, 4, 5, 5, 4, 3, - -7, -9, -9,-10,-10, -9, -7, -6, 3, 4, 5, 6, 5, 5, 5, 5, - -7, -7, -7, -7, -6, -6, -5, -4, -5, -4, -3, -1, -1, -1, 0, 0, - -3, -2, 1, 4, 5, 5, 5, 5, -2, -1, 3, 6, 9, 10, 10, 9, - -14, 1, 10, 3, -2, 0, 1, 1,-16, 2, 13, 3, -3, -1, 1, 0, - -15, 2, 12, 3, -4, -2, 1, 1,-10, 3, 10, 2, -3, -1, 1, 1, - 0, 1, 4, 2, -5,-10, -3, 11, -1, 1, 4, 2, -6,-13, -2, 15, - -1, 0, 3, 1, -6,-12, -1, 15, -1, 1, 2, 1, -4, -8, 0, 11, - 10, 5, -2, -2, 2, 5, 1, -4, 7, 0, -8, -6, 1, 5, 2, -4, - 2, -5,-12, -7, 2, 7, 4, -1, -1, -7,-10, -4, 4, 9, 7, 2, - -5, -5, -4, -6, -6, -5, -5, -3, -1, -2, -2, -4, -5, -6, -5, -4, - 6, 7, 7, 4, 0, -2, -3, -3, 13, 14, 13, 10, 5, 1, -1, -2, - 1, 1, 2, 2, 2, 2, 2, 2, -5, -6, -8, -9, -9, -8, -7, -6, - 7, 9, 10, 11, 11, 9, 7, 5, -1, -2, -3, -3, -4, -4, -4, -3, - -1, -1, 0, 0, 0, 0, -1, -1, -3, -3, -4, -5, -4, -3, -3, -2, - 2, 1, -1, -3, -3, -2, -1, 0, 12, 12, 8, 3, 1, 0, 0, 1, - -6, -8, -8, -6, -2, 2, 6, 8, 1, 1, -1, -2, 0, 3, 5, 7, - 3, 3, 1, -1, -1, 0, 0, 2, 0, 1, 0, -1, -1, -1, -2, -1, - 1, 0, 0, 0, 0, 0, 2, 4, 2, 1, 3, 4, 3, 1, 0, 2, - 2, 1, 0, 0, -1, -1, 0, 3, 5, 1, -6,-12,-13, -8, -1, 4, - -2, 0, -1, -2, -1, 0, 2, 3, -6, -3, -2, 0, 1, 1, 1, 1, - -9, -5, 0, 4, 5, 3, 1, 0, -8, -3, 3, 7, 8, 4, 1, 0, - 1, 2, 2, 3, 3, 1, -1, -3, 4, 5, 5, 6, 6, 5, 2, 0, - 0, 0, 0, 0, 1, 0, -2, -4, -3, -3, -4, -3, -3, -4, -7, -8, - 14, 12, 6, -1, -3, -3, 0, 0, 7, 5, 1, -3, -5, -4, -2, -1, - -2, -2, -2, -2, -2, -2, -1, -1, -6, -4, -1, 1, 1, 1, 0, -1, - 2, 2, 1, -3, -6, -7, -6, -3, 1, 0, -1, -3, -2, 1, 4, 6, - 0, 0, 1, 2, 4, 7, 8, 7, 0, 0, 0, 0, -1, -4, -7, -8, - 0, 2, 1, -2, -3, -3, -2, -1, -1, 1, 0, -3, -5, -2, 0, 2, - -2, -1, -2, -5, -4, 1, 6, 9, -3, -2, -3, -4, -2, 5, 11, 13, - -4, -2, 2, 6, 4, -3,-10,-14, -2, -1, 1, 4, 4, 1, -1, -2, - 0, 0, -1, -2, -2, 0, 4, 6, 2, 2, 0, -3, -3, 0, 5, 9, - -4, -4, -2, 1, 6, 9, 3, -7, -2, -2, -2, -1, 4, 8, 0,-11, - 1, 1, 0, 0, 2, 6, -1,-10, 2, 2, 1, 0, 2, 4, 0, -7, - -1, -2, -3, -6, -7, -8, -8, -8, 2, 3, 3, 1, -1, -2, -3, -4, - 5, 5, 5, 4, 3, 2, 0, -1, 3, 3, 3, 3, 2, 2, 1, 1, - 3, 3, 2, -2, -3, 0, 7, 10, 1, 2, 2, -2, -5, -4, 0, 3, - 0, 3, 4, 2, -3, -5, -6, -4, 0, 2, 4, 4, 1, -4, -7, -7, - 2, 4, 5, 5, 5, 5, 6, 6, -4, -4, -3, -5, -5, -3, -3, -2, - -3, -4, -4, -5, -4, -2, -2, -2, 1, 1, 0, 0, 2, 4, 5, 4, - -2, 0, 3, 4, 4, 3, 2, 2, -9, -7, -4, 0, 3, 6, 6, 6, - -5, -5, -3, -2, 0, 1, 3, 4, 5, 5, 2, -2, -4, -6, -5, -3, - 1, -6, -4, 7, 5, -2, -2, 1, 5, -5, -4, 6, 4, -5, -4, 1, - 5, -5, -4, 6, 4, -5, -3, 1, 1, -7, -3, 8, 7, -1, -3, 1, - -8, -7, -4, 0, 2, 4, 5, 5, 5, 6, 5, 2, -1, -5, -7, -7, - 5, 6, 4, 1, -3, -5, -6, -5, -7, -7, -5, -2, 1, 6, 9, 10, - 6, 3, 0, 1, 3, 0, -8,-14, 3, 0, -1, 1, 4, 3, 0, -4, - 1, 0, 0, 1, 2, 1, 1, 1, -1, -1, 1, 2, 1, -1, -1, 0, - 1, 1, 1, 1, 0, -2, -3, 0, 1, 2, 1, 0, -2, -8, -9, -4, - 1, 3, 3, 2, 1, -3, -3, 1, 0, 1, 1, 1, 1, 1, 4, 8, - 2, 5, 9, 7, 2, -1, -1, 1, -4, -1, 1, 0, -3, -4, -1, 2, - -3, 0, 3, 3, 0, -1, 0, 2, -4, -1, 1, 1, -2, -4, -5, -4, - 1, -1, -2, -2, -1, 2, 4, 5, 2, 1, 1, 0, -1, -1, 0, 0, - 2, 3, 4, 5, 4, 2, 1, 0, -9, -9, -6, -3, -1, -1, -1, -1, - -6, -6, 4, 7, 0, -2, -1, -2, -1, -2, 5, 6, -1, -2, 0, -1, - 4, -1, 1, 0, -4, -2, 0, -2, 7, 1, -1, -2, -3, 1, 3, 1, - 4, 2, 1, 3, 3, 1, 1, 2, 2, -2, -4, 0, 3, 1, 0, 0, - 1, -4, -8, -4, 1, 2, 1, 0, 2, -3, -9, -6, 0, 3, 3, 2, - -1, -1, 0, -1, -1, 0, 1, 2, 3, 1, -4, -8, -7, -3, 1, 2, - 2, -1, -3, -2, -1, 0, 1, 0, -1, 0, 5, 11, 9, 3, -1, -3, - -1, -2, -2, -1, 1, 1, 1, 1, 0, -1, 0, 3, 6, 6, 5, 5, - 2, 1, -1, -1, -2, -5, -6, -4, 2, 2, 2, 1, -1, -4, -5, -5, - -1, -3, -6, -7, -6, -4, -1, 1, 5, 5, 3, 4, 4, 3, 4, 5, - -1, -2, -3, -2, -2, -2, 0, 1, 0, 0, 0, 0, 0, 1, 2, 3, - -6, -6, -4, -1, 2, 2, 2, 2, -6, -7, -5, -2, 0, -1, -1, 0, - 2, 2, 2, 4, 4, 3, 3, 4, 2, 1, 0, -1, 0, 0, 2, 4, - 12, 5, -5, -8, -5, 0, 2, 2, 2, -3, -6, -3, 0, 0, -1, -2, - -2, -3, -1, 3, 4, 1, -2, -3, 2, 2, 3, 4, 3, 1, -1, -1, - 3, 2, 1, 0, 1, 4, 3, 0, 4, 3, 0, -5, -6, 0, 3, 3, - 2, 3, 1, -7,-12, -6, 1, 3, 1, 3, 4, -1, -6, -4, 0, 1, - -9, -4, 2, 6, 7, 4, 1, 0, -7, -1, 4, 6, 4, 0, -3, -3, - -6, 0, 4, 4, 1, -2, -3, -2, -4, 1, 3, 2, 0, -2, -1, 0, - 0, 5, 2, -5, -3, 3, 1, -4, -2, 4, 2, -6, -3, 6, 4, -3, - -1, 5, 3, -5, -1, 7, 3, -4, -1, 2, 0, -6, -3, 5, 3, -3, - -8, -3, 3, 5, 3, 1, -2, -2, 2, 4, 4, -2, -4, -3, 1, 3, - 2, 1, -3, -5, -3, 3, 4, 3, -5, -6, -5, 3, 10, 8, -1, -5, - 0, 3, 2, -4, -9, -7, 0, 6, -5, -1, 5, 7, 4, -1, -3, -3, - -5, -5, -2, 3, 6, 5, -1, -4, 9, 6, 0, -4, -2, 1, 1, -1, - -1, -1, -1, 1, 1, 0, -1, 0, -1, 0, 0, 0, 0, -1, -1, 0, - 2, 1, -2, -1, 1, 1, 0, 0, 12, 8, 2, -1, -1, -4, -7, -7, - 2, 1, 3, 6, 7, 4, 2, 0, 1, 0, -1, 0, -1, -4, -7, -8, - 0, 0, -1, 0, 0, 0, -1, -3, 0, 0, 0, 0, 1, 1, 0, -2, - -1, 0, 1, 1, 0, 0, -1, -2, 0, 0, -1, -3, -4, -3, -1, 1, - -1, 0, 0, 0, 1, 4, 10, 12, -1, 0, -2, -2, -3, -3, -1, 1, - -3, -1, -2, -4, 2, 9, 9, 7, -3, 0, -1, -3, 0, 2, -1, 1, - -1, 1, -2, -3, 0, -1, -3, 0, 0, 0, -3, -2, 0, -1, -1, 1, - -1, -2, -1, -1, -2, -1, -1, -2, 2, -1, -2, -1, 0, 1, 0, -2, - 3, -1, -2, 2, 5, 3, -1, -3, 1, -5, -5, 1, 6, 6, 2, 0, - 1, 2, 0, -1, 0, 1, 0, -2, -5, -3, -1, 0, 1, 2, 1, -2, - -7, -5, -2, -2, -2, -2, 0, 1, -1, 0, 1, 1, 0, 3, 9, 12, - 0, 6, 5, 1, -2, -3, 0, 3, 0, 6, 5, 1, 1, 1, 2, 3, - -5, -2, -2, -3, 0, 0, 0, 0, -6, -3, -3, -2, 0, 0, -1, -2, - 4, 4, 2, 1, 0, -1, -1, 0, -2, -2, 0, 1, 2, 1, 1, 0, - 2, 2, 1, -1, -3, -5, -9,-10, 2, 1, -1, -1, 1, 4, 4, 1, - 4, 0, -2, -2, -2, -2, -1, 0, 7, 1, -4, -3, -2, 0, 1, 1, - 10, 5, -1, -2, 0, 1, 1, 0, 5, 1, -3, -4, -3, -1, -1, -2, - 2, 1, -1, -3, -3, 1, 1, -1, -2, -1, 3, 0, -1, 1, 1, 0, - -3, 1, 7, 2, -3, -2, -1, 0, -2, 4, 8, -1, -8, -5, 0, 2, - -4, -1, 1, 2, 1, -3, -4, -2, -5, -3, -2, 1, 4, 4, 4, 6, - -3, -2, -4, -3, 0, 1, 1, 2, 2, 2, 2, 1, 2, 1, -1, -1, - -4, -1, 0, -1, -3, -3, -1, -1, 1, 4, 4, 2, 0, -1, -2, -3, - 4, 6, 5, 3, 2, 1, -2, -4, 0, 1, 1, 1, 1, -1, -4, -6, - 1, 2, 2, -1, -6, -5, -1, 2, -3, -2, 1, 1, -4, -3, 2, 5, - -2, -1, 2, 2, -3, -4, 0, 3, -2, -2, 2, 6, 5, 2, 1, 2, - 2, -3, -3, 0, 0, 2, 3, 1, 3, -1, 1, 3, 1, 2, -1, -5, - -5, -7, -4, -2, 1, 8, 8, 1, -1, 0, 2, 0, -3, 0, 1, -3, - -2, -5, -5, -2, -3, -1, 0, -2, -1, -4, 0, 4, 0, 2, 4, 0, - 0, 0, 8, 10, 2, 1, 3, -1, -4, -3, 2, 3, -3, -3, 1, -1, - 1, -2, -4, 2, 7, 3, -2, -1, 6, 4, -2, -1, 2, 0, -1, 3, - 1, 1, -2, -2, -2, -5, -3, 4, -6, -2, 1, 1, -1, -4, -2, 4, - -2, -1, -2, -2, 0, 1, 0, -2, -1, 1, 0, -1, 0, 0, -1, -3, - 0, 1, -2, -4, -3, -1, 0, 0, 6, 8, 5, 0, 0, 1, 2, 3, - -2, -2, 2, 5, 2, 0, 0, 1, 2, -2, -2, -1, -1, 1, 2, 4, - 2, -1, 0, 1, 0, 0, 0, 1, -8, -7, -1, 1, -1, -1, 1, 3, - 0, 3, 6, 2, -2, 1, 2, 0,-10, -7, -1, 0, -3, -1, 2, 1, - 0, 0, 2, 2, 1, 1, 1, -1, 3, 0, -2, -2, 0, 2, 1, 0, - 8, 1, 0, 0, -2, -3, -1, 0, 2, -2, 2, 5, 1, -2, -1, 1, - -3, -6, -3, -1, -3, -3, -1, 2, 2, 0, 1, 2, 2, 1, 0, 0, - 1, -1, -1, -2, -1, 0, 1, 0, 15, 9, 2, -1, -2, -3, -3, -3, - 0, -3, -2, 0, 0, -1, -1, -1, 1, 0, 1, 0, 0, -1, -1, -1, - 0, 2, 2, -2, -3, -3, -7, -8, 0, 2, 2, 0, 1, 2, 1, 1, - 1, 2, 2, 2, 3, 1, 0, 3, 1, 0, -1, -2, -1, -2, 0, 5, - -11, -6, -1, 1, 2, 3, 1, -3, 1, 4, 3, -1, -2, 1, 2, -1, - 2, 2, 1, -1, -2, 0, 1, -1, 0, 0, -1, -1, 0, 2, 3, 2, - 1, 1, 2, 1, -1, 1, 0, -4, 0, 0, 0, -2, -2, 2, 4, -2, - -2, -3, 0, 0, -1, 2, 1, -6, 0, 2, 5, 5, 3, 2, -1, -7, - 4, 2, 0, 0, 3, 3, 1, -1, 0, -1, -1, 3, 6, 4, 1, -1, - -2, -2, 0, 2, 2, 0, -2, -2, -1, 0, -1, -5, -7, -5, -1, 1, - 5, -1, -2, 0, 2, 4, 2, -5, 0, -5, -2, 2, 1, 2, 0, -6, - 6, 1, 0, 1, -2, -1, 4, 2, 2, -3, -3, 0, -1, -2, 0, 0, - 1, -1, 0, 2, 0, 0, 6, 11, 2, -1, -1, 0, -3, -2, 3, 5, - 0, -2, -1, 0, -1, 0, 0, -3, 1, -1, -1, -1, -2, -1, -3, -7, - 1, 1, -2, -2, 1, 3, 1, -2, -1, 2, 0, -1, -1, 1, 0, 0, - -4, 2, 3, -1, -2, -2, 0, 1,-11, -2, 4, 5, 6, 2, -1, -2, - -6, -2, 1, -1, -3, -4, 1, 9, -3, 0, 3, 3, 2, -3, -3, 3, - 1, 1, 0, 0, 1, -1, -2, 3, 2, 0, -3, -3, 0, -1, -1, 3, - 1, -1, -3, 1, 2, -6, -4, 6, 0, -2, -5, -2, 0, -3, -2, 3, - 2, 2, 1, -2, -2, 1, 2, -1, -1, 1, 1, -2, -1, 6, 7, -1, - 1, 0, -4, -2, 1, -2, -3, 1, -4, 0, -3, -2, 2, 0, -3, 0, - -3, 4, 3, 1, 8, 7, 0, -1, -3, 4, 1, -4, 2, 3, -2, -3, - -3, 6, 1, -4, 1, 1, -1, -1, -2, 4, -3, -3, 3, 0, -1, -1, - 1, 2, -4, 2, 4, -3, -1, 2, 3, -1, -4, 5, 4, -6, -3, 2 -}; - -static const int8 s_svq1InterCodebook8x8[6144] = { - -4, -3, 4, 5, 2, 1, 1, 0, -5, -3, 5, 5, 2, 1, 0, 0, - -6, -4, 5, 5, 2, 1, 0, 0, -7, -4, 4, 5, 2, 1, 0, 0, - -8, -5, 3, 4, 2, 1, 0, 0, -8, -6, 3, 4, 1, 1, 1, 0, - -8, -6, 2, 4, 2, 1, 1, 0, -8, -6, 2, 4, 1, 1, 1, 1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -2, -2, -2, -2, -2, -2, -2, - -2, -3, -3, -3, -3, -3, -3, -3, -2, -3, -3, -3, -3, -3, -4, -3, - -2, -2, -2, -2, -2, -3, -3, -2, 1, 1, 1, 1, 1, 0, -1, -1, - 4, 5, 5, 5, 4, 3, 3, 2, 7, 7, 8, 8, 8, 7, 6, 5, - 2, 1, 2, 4, 4, 0, -4, -6, 1, 1, 2, 5, 5, 1, -5, -7, - 1, 2, 1, 4, 5, 1, -5, -8, 1, 1, 1, 5, 5, 0, -6, -8, - 0, 1, 1, 5, 6, 1, -6, -9, 0, 0, 1, 4, 5, 0, -5, -8, - 0, 0, 1, 4, 5, 0, -5, -7, 0, 0, 1, 4, 4, 1, -4, -7, - 1, 2, 3, 0, -3, -4, -3, -1, 1, 3, 4, 0, -3, -4, -3, -1, - 2, 4, 5, 1, -3, -4, -3, -2, 2, 5, 6, 1, -3, -5, -4, -2, - 3, 6, 6, 1, -3, -5, -4, -2, 3, 6, 6, 1, -3, -5, -4, -2, - 3, 6, 6, 1, -3, -5, -4, -2, 3, 5, 5, 1, -3, -4, -4, -2, - 2, 2, 2, 2, 1, 0, 0, -1, 4, 4, 4, 3, 2, 1, 1, 0, - 4, 5, 4, 4, 3, 3, 2, 1, 4, 4, 4, 4, 4, 3, 2, 2, - 2, 3, 3, 3, 3, 3, 2, 1, -1, -1, -1, -1, 0, 0, 0, 0, - -5, -6, -6, -5, -5, -4, -3, -3, -7, -9, -9, -8, -7, -6, -6, -5, - 6, 6, 6, 6, 6, 5, 5, 4, 4, 4, 4, 3, 3, 3, 3, 2, - 0, -1, -1, -1, -2, -2, -1, -1, -3, -5, -6, -6, -6, -6, -5, -4, - -3, -5, -6, -7, -6, -6, -5, -4, -1, -2, -2, -2, -2, -2, -1, -1, - 0, 1, 1, 1, 1, 1, 1, 1, 3, 3, 3, 3, 3, 3, 3, 3, - 2, 1, -2, -5, -4, 0, 2, 5, 2, 1, -2, -6, -5, 0, 3, 5, - 2, 1, -2, -6, -6, -1, 3, 6, 3, 2, -2, -7, -6, 0, 4, 7, - 2, 1, -2, -7, -5, 0, 5, 7, 2, 1, -2, -6, -5, 0, 4, 7, - 2, 1, -2, -6, -4, 0, 4, 6, 1, 1, -2, -5, -4, 0, 3, 6, - -10, -9, -6, -4, -1, 2, 3, 2,-10, -9, -5, -3, 0, 4, 4, 3, - -9, -7, -3, -1, 2, 5, 5, 3, -7, -5, -2, 0, 3, 5, 5, 3, - -6, -3, 0, 1, 4, 6, 5, 3, -4, -2, 1, 2, 3, 5, 4, 2, - -2, 0, 1, 2, 2, 4, 3, 1, -1, 1, 2, 2, 2, 3, 3, 1, - -4, -5, -5, -6, -6, -6, -6, -5, -3, -3, -4, -4, -4, -4, -4, -4, - 0, 0, 0, 0, -1, -1, -1, -1, 5, 5, 6, 5, 5, 4, 3, 2, - 5, 6, 7, 7, 7, 6, 5, 4, 3, 3, 4, 4, 4, 4, 3, 2, - 0, -1, 0, 0, -1, -1, 0, -1, -3, -3, -4, -4, -4, -4, -3, -3, - 1, -2, -5, 1, 5, 4, 2, 0, 1, -3, -6, 1, 6, 5, 2, 0, - 0, -4, -7, 0, 6, 6, 2, 1, -1, -5, -9, -1, 6, 6, 3, 1, - -1, -6,-10, -2, 6, 6, 3, 1, -1, -6, -9, -2, 5, 6, 3, 1, - -2, -6, -9, -2, 5, 5, 3, 1, -2, -6, -7, -2, 4, 4, 2, 1, - -5, -7, -8, -9, -9, -8, -7, -6, -5, -6, -6, -7, -7, -6, -6, -5, - -3, -3, -3, -4, -5, -5, -4, -4, -1, 0, 0, -1, -1, -1, -1, -1, - 0, 1, 2, 2, 2, 2, 2, 1, 2, 3, 4, 5, 5, 5, 5, 4, - 3, 4, 5, 6, 8, 8, 8, 7, 3, 4, 5, 6, 7, 7, 7, 6, - 5, 6, 7, 8, 9, 10, 10, 9, 3, 4, 6, 7, 8, 9, 9, 8, - 0, 1, 2, 3, 4, 5, 5, 5, -1, -2, -1, -1, 0, 1, 2, 2, - -2, -3, -3, -3, -3, -2, -1, 0, -3, -4, -5, -5, -5, -5, -5, -4, - -4, -5, -5, -6, -7, -7, -6, -5, -3, -4, -5, -6, -7, -7, -6, -6, - 13, 7, 0, -3, -3, -4, -4, -5, 14, 7, 0, -3, -3, -4, -4, -4, - 15, 8, -1, -4, -4, -4, -5, -4, 15, 8, -1, -4, -4, -5, -4, -3, - 15, 7, -1, -4, -5, -5, -5, -4, 14, 7, -1, -4, -4, -4, -4, -3, - 12, 6, -1, -4, -4, -4, -4, -3, 11, 5, -1, -4, -4, -4, -4, -3, - -17, -4, 5, 4, 4, 4, 3, 3,-18, -5, 5, 4, 4, 4, 3, 3, - -19, -5, 6, 4, 4, 4, 3, 2,-20, -5, 6, 4, 4, 4, 3, 3, - -20, -4, 6, 4, 4, 5, 3, 3,-19, -5, 6, 4, 4, 5, 3, 3, - -18, -4, 5, 4, 4, 4, 3, 2,-17, -5, 4, 3, 4, 4, 3, 3, - -6, -6, -6, -4, -2, 1, 6, 11, -6, -7, -7, -4, -2, 2, 8, 13, - -8, -8, -7, -4, -2, 3, 9, 14, -8, -8, -7, -5, -1, 4, 10, 16, - -8, -8, -7, -5, -1, 4, 10, 17, -8, -8, -7, -4, 0, 5, 10, 16, - -8, -8, -6, -3, 0, 4, 9, 15, -7, -7, -5, -3, 0, 4, 8, 12, - 8, 7, 7, 5, 2, -2, -8,-14, 8, 8, 7, 5, 2, -2, -8,-15, - 8, 8, 7, 5, 1, -3, -9,-16, 8, 8, 7, 5, 1, -3,-10,-17, - 8, 9, 8, 5, 1, -3,-10,-17, 8, 8, 7, 4, 1, -4,-10,-16, - 7, 7, 7, 4, 1, -3, -9,-14, 6, 7, 6, 3, 0, -3, -9,-13, - 5, 1, -4, -4, -3, -1, 0, 0, 7, 2, -3, -3, -2, -1, 1, 0, - 7, 1, -3, -3, -1, 0, 1, 1, 6, 1, -3, -2, -1, 1, 1, 0, - 6, 0, -4, -2, -1, 0, 1, 0, 5, 0, -4, -3, -1, 0, 0, -1, - 5, 0, -3, -1, 0, 0, 0, -2, 4, 1, -2, -1, 0, 1, 0, -1, - 2, 2, 1, 1, -2, -6, -8, -8, 1, 1, 1, 1, -2, -5, -8, -8, - 1, 1, 1, 0, -1, -3, -5, -5, 0, 0, 0, 0, -1, -1, -1, -2, - 0, -1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 2, 3, 2, - 2, 1, 1, 1, 2, 3, 4, 3, 3, 3, 3, 3, 4, 4, 5, 4, - -4, -4, -3, -2, 0, 0, 1, 1, -4, -4, -3, -2, -1, 0, 0, 1, - -2, -2, -2, -1, -1, -1, 0, 0, 0, 1, 0, 0, 0, 0, 0, -1, - 2, 2, 2, 2, 2, 2, 1, 1, 3, 4, 4, 4, 4, 4, 4, 3, - 1, 1, 1, 3, 3, 4, 3, 3, -5, -6, -5, -4, -3, -3, -2, -2, - -4, -2, -1, -1, -1, -1, 0, 1, -4, -2, -1, -1, -1, -1, 0, 1, - -3, -2, -1, -1, -1, 0, 1, 2, -4, -3, -2, -1, -1, 1, 3, 3, - -4, -3, -3, -1, -1, 1, 4, 5, -4, -3, -2, -2, -1, 1, 4, 7, - -2, -2, -1, -1, 0, 2, 6, 8, -1, 0, 0, 1, 1, 4, 7, 8, - -3, -3, -3, -2, -2, -1, -1, 0, -1, -1, 0, 1, 2, 2, 3, 3, - 0, 1, 2, 4, 5, 6, 6, 5, -1, 0, 2, 3, 5, 6, 5, 3, - -1, -1, 0, 2, 3, 3, 2, 1, -2, -2, -1, 0, -1, -3, -4, -4, - 0, 0, -1, -1, -2, -4, -8, -7, 1, 2, 1, 0, -1, -4, -6, -7, - -2, 4, 1, -6, 0, 3, 0, 0, -2, 5, 1, -7, 0, 3, 0, 0, - -3, 5, 1, -8, 0, 3, -1, -1, -2, 6, 1, -9, 0, 3, 0, -1, - -2, 6, 2, -8, 0, 4, 0, -1, -3, 5, 1, -7, 1, 4, 0, 0, - -2, 4, 1, -7, 0, 4, 1, 0, -1, 4, 1, -6, 0, 3, 1, 0, - 0, 0, 0, 3, 4, 5, 4, 1, 1, 1, 1, 2, 3, 3, 2, 0, - 2, 2, 1, 2, 2, 1, -1, -2, 4, 3, 1, 1, 0, -1, -3, -5, - 5, 3, 1, -1, -2, -3, -4, -6, 5, 3, 0, -2, -3, -5, -6, -7, - 4, 3, 0, -2, -3, -4, -5, -5, 4, 3, 0, -1, -2, -2, -3, -3, - 0, 0, 0, 0, -1, -5, -2, 6, 0, 0, 0, 1, -1, -6, -2, 8, - 0, 0, 0, 2, 0, -6, -3, 9, 0, -1, 0, 2, 0, -7, -2, 10, - 0, -1, 0, 2, -1, -8, -3, 10, 0, -1, -1, 2, -1, -7, -3, 9, - 0, -1, 0, 1, -1, -6, -3, 8, 0, 0, 0, 1, 0, -5, -2, 7, - 2, 3, 3, 2, 1, 0, -1, -1, 3, 4, 3, 2, 1, 0, -1, -2, - 3, 4, 4, 2, 1, -1, -2, -3, 2, 3, 3, 2, 0, -1, -2, -3, - -1, 0, 1, 1, 0, -1, -2, -2, -5, -4, -3, -1, 0, 1, 1, 1, - -8, -8, -5, -1, 1, 3, 4, 3,-10, -9, -5, 0, 3, 5, 6, 5, - -5, -1, 4, 5, 3, 1, 0, 0, -6, -1, 4, 5, 2, 0, -1, -2, - -6, -1, 5, 4, 2, -1, -2, -2, -7, -1, 4, 4, 1, -2, -3, -3, - -6, -1, 5, 4, 1, -2, -3, -3, -5, 0, 4, 4, 1, -1, -2, -2, - -4, 0, 5, 4, 1, -1, -1, -2, -3, 1, 4, 3, 1, -1, -1, -2, - -2, -3, -2, 1, 4, 6, 5, 3, -3, -4, -4, 0, 3, 5, 4, 2, - -3, -5, -5, -1, 2, 4, 3, 1, -4, -6, -4, -1, 2, 4, 2, -1, - -2, -4, -3, 1, 2, 4, 2, -1, -2, -4, -2, 1, 3, 3, 1, -2, - -2, -3, -2, 1, 3, 3, 1, -2, -2, -2, -1, 1, 3, 3, 0, -2, - -4, -4, -3, -2, -1, 2, 5, 7, -4, -4, -3, -3, -2, 1, 5, 7, - -2, -3, -2, -3, -3, -1, 3, 5, -1, -1, 0, -2, -3, -2, 2, 4, - 1, 1, 1, -1, -4, -3, 1, 3, 4, 3, 2, -1, -4, -3, -1, 1, - 6, 4, 3, 0, -3, -3, -2, 0, 6, 5, 3, 1, -2, -3, -2, -1, - 12, 11, 8, 4, 0, -2, -2, -1, 10, 9, 6, 2, -1, -2, -1, 0, - 4, 3, 2, 0, -1, -1, 0, 1, -1, -1, -1, -1, -2, 0, 1, 2, - -3, -5, -4, -2, -2, 0, 2, 3, -5, -5, -4, -2, -1, 0, 1, 2, - -5, -5, -4, -2, -1, 0, 1, 1, -4, -4, -3, -2, -2, -1, 0, 0, - 3, 3, 2, -1, -3, -4, -3, -2, 3, 2, 0, -2, -4, -4, -3, -2, - 2, 2, 1, -1, -3, -5, -4, -3, 3, 3, 3, 1, -2, -3, -3, -3, - 4, 4, 4, 3, 0, -2, -2, -2, 5, 5, 5, 3, 0, -1, -2, -2, - 5, 5, 4, 2, -1, -2, -3, -2, 3, 3, 3, 0, -2, -4, -4, -4, - -1, -1, 4, -2, -2, 6, 2, -5, -1, 0, 4, -2, -3, 6, 2, -6, - -1, 0, 4, -2, -3, 7, 3, -7, -1, -1, 4, -3, -4, 8, 3, -7, - 0, -1, 4, -3, -4, 7, 3, -6, -1, -1, 4, -3, -4, 7, 3, -6, - -1, -1, 3, -3, -4, 6, 3, -6, -1, 0, 3, -2, -3, 6, 3, -5, - 1, -2, -7, 2, 5, -2, -1, 1, 1, -2, -8, 3, 6, -3, -1, 2, - 2, -2, -9, 4, 7, -4, -2, 2, 3, -1, -9, 5, 7, -4, -1, 3, - 3, -1, -9, 4, 7, -4, -2, 2, 3, -1, -7, 4, 6, -4, -2, 1, - 2, 0, -6, 4, 6, -4, -1, 1, 2, 0, -5, 3, 4, -3, -1, 1, - -2, 2, 2, 0, 0, -1, -3, -4, -2, 2, 2, 1, 1, 0, -2, -4, - -2, 2, 2, 2, 2, 1, -1, -2, -3, 2, 3, 3, 4, 2, 0, -2, - -3, 2, 3, 2, 4, 2, 0, -3, -4, 1, 2, 1, 2, 1, -1, -3, - -5, 0, 1, 0, 1, 1, -2, -3, -4, 0, 0, 0, 1, 0, -2, -3, - 0, 0, -1, -2, -2, 2, 7, 8, 0, 0, -1, -3, -2, 1, 6, 7, - 0, 1, -1, -3, -3, 0, 4, 5, 0, 1, 0, -1, -1, 0, 1, 3, - 0, 2, 1, 1, 0, -1, 0, 1, -2, 0, 1, 2, 1, 0, -1, -1, - -5, -2, 0, 1, 1, 0, -3, -3, -6, -4, -1, 1, 1, -1, -3, -4, - -4, -2, 2, 5, 6, 4, 3, 2, -5, -3, 1, 4, 4, 2, 0, 0, - -4, -2, 0, 2, 1, -1, -2, -2, -2, -1, 0, 1, 0, -2, -3, -2, - -2, 0, 0, 0, -1, -1, -2, -1, -2, -1, -1, 0, 0, 0, 1, 2, - -2, -2, -1, -1, 0, 1, 3, 4, -2, -3, -2, -1, 0, 2, 4, 5, - 2, 1, -2, -2, -1, 0, 1, 0, 1, 0, -3, -3, -1, 0, 1, 0, - 0, -1, -3, -3, -1, 1, 1, 1, 0, 0, -3, -1, 1, 2, 3, 3, - 0, -1, -3, -1, 1, 3, 3, 3, -2, -2, -4, -2, 1, 3, 4, 4, - -3, -3, -4, -2, 1, 3, 3, 4, -2, -3, -5, -2, 1, 2, 3, 3, - 4, 5, 3, 4, 4, 4, 4, 5, 3, 3, 1, 0, 0, 0, 0, 1, - 1, 1, -1, -2, -3, -4, -3, -2, 2, 2, 0, -2, -2, -4, -3, -2, - 2, 3, 1, -1, -1, -3, -3, -2, 1, 2, 0, 0, -1, -2, -2, -1, - 0, 1, 0, -1, -1, -3, -2, -1, 1, 1, 0, -1, -1, -2, -2, -2, - -2, -1, -1, 0, 1, 2, 1, 0, 1, 2, 3, 5, 6, 5, 5, 3, - 1, 2, 3, 4, 5, 5, 4, 3, -2, -2, -3, -3, -2, -1, 0, 0, - -3, -3, -4, -5, -4, -3, -2, -1, -1, -1, -2, -2, -2, -1, 0, 0, - 0, 1, 0, -1, -1, 0, 0, 1, -1, 0, -1, -2, -3, -2, -2, -1, - 7, 7, 6, 5, 4, 2, -1, -2, 3, 3, 2, 2, 1, 0, -2, -3, - 0, -1, -1, -1, 0, -1, -2, -2, -1, -3, -2, -1, 0, 0, 0, 1, - 0, -2, -2, -1, -1, 1, 2, 2, 3, 1, -1, -1, -1, 1, 2, 2, - 3, 1, -2, -3, -2, -1, 1, 2, 1, -2, -5, -6, -5, -3, -2, 0, - 0, -1, -2, -3, -1, 0, -2, -2, 0, 0, -1, -1, 0, 1, -1, -2, - 0, 0, -2, -1, 0, 0, 0, -2, -1, -2, -3, -3, -2, -1, -3, -3, - -1, -2, -3, -3, -2, -2, -3, -4, 2, 2, 0, 0, 0, 0, -1, -2, - 5, 5, 3, 2, 2, 2, 0, -1, 8, 8, 6, 5, 4, 4, 2, 1, - -7, -8, -6, -3, -1, -1, -2, -1, -5, -5, -3, 0, 2, 1, 0, 0, - -1, -1, 0, 3, 4, 3, 1, 1, 2, 1, 1, 3, 4, 3, 2, 2, - 3, 2, 0, 2, 3, 2, 1, 2, 4, 2, -1, -1, 0, 1, 1, 1, - 3, 2, -2, -3, -2, -1, 0, 1, 3, 1, -3, -4, -3, -2, 0, 1, - -4, -2, -1, 2, 3, 3, 1, 0, -7, -5, -4, -2, 0, 0, -1, -2, - -6, -5, -5, -4, -2, -2, -2, -3, -1, 0, -1, -1, 0, 0, 0, -1, - 2, 3, 2, 2, 2, 2, 1, 0, 3, 5, 4, 3, 1, 0, 1, 0, - 3, 4, 3, 2, 0, -1, -1, -1, 5, 5, 3, 1, 0, -1, -1, -1, - 1, 1, 0, -1, -3, -5, -6, -4, 1, 1, 0, 0, 0, -3, -3, -1, - 0, -1, -1, 0, 1, 0, 1, 3, -2, -2, -3, -1, 2, 2, 4, 7, - -2, -2, -2, 0, 2, 2, 3, 6, -1, 0, 0, 1, 1, 0, 0, 3, - 0, 3, 3, 3, 1, -2, -3, -1, 1, 3, 4, 3, 0, -3, -5, -4, - 0, 2, 0, -1, -3, -4, -2, -2, 1, 4, 2, 0, -2, -3, -2, -1, - 3, 6, 3, 1, -2, -2, 0, -1, 4, 7, 4, 1, -2, -3, -1, 0, - 3, 6, 3, 0, -3, -3, -1, 0, 1, 3, 0, -1, -3, -2, 1, 1, - 0, 1, -1, -2, -3, -1, 2, 2, -2, -1, -3, -3, -3, -1, 1, 2, - 3, 1, -1, 0, 1, 0, 0, 0, 2, -1, -2, -1, 1, 0, -1, -1, - 1, -1, -2, 0, 1, 0, -2, -3, 0, -2, -1, 1, 3, 1, -3, -5, - 0, -2, -1, 2, 5, 2, -3, -5, 0, -2, -1, 4, 6, 3, -2, -5, - 0, -2, 0, 4, 7, 4, -2, -4, 0, -2, 0, 4, 6, 4, -2, -4, - -2, -2, -3, -4, -3, -2, -1, 0, 1, 1, 0, -1, -1, -1, 0, 1, - 3, 3, 2, 2, 1, 1, 1, 1, 2, 2, 2, 2, 1, 0, 0, 1, - 0, 0, 0, 0, -1, -1, -1, -1, -4, -4, -4, -4, -4, -4, -4, -3, - -3, -3, -2, -3, -2, -1, -1, 0, 3, 4, 4, 5, 5, 6, 6, 7, - -1, -2, 7, -2, -4, -1, -1, 0, -1, -2, 9, -1, -4, -1, -1, 0, - -1, -3, 10, -1, -4, -1, -1, 1, -1, -3, 10, -2, -3, -1, -1, 2, - -1, -2, 10, -2, -4, -1, -1, 2, -1, -2, 9, -2, -4, -1, -1, 2, - -1, -2, 8, -2, -4, 0, -1, 1, 0, -2, 7, -2, -3, -1, 0, 2, - 3, -4, 1, 3, -3, -2, 1, 0, 3, -5, 1, 4, -3, -2, 1, 0, - 3, -6, 2, 5, -3, -1, 3, 0, 3, -6, 2, 5, -3, -1, 2, 0, - 3, -6, 1, 5, -4, -2, 3, 0, 3, -6, 1, 5, -3, -2, 2, 0, - 2, -6, 1, 4, -3, -1, 1, 0, 2, -6, 1, 4, -2, -1, 1, 0, - 0, 0, 1, 1, 1, 0, 0, 2, 0, -1, 1, 1, 1, 0, 0, 2, - 0, -1, 0, 0, 0, 0, 0, 2, 0, -1, 0, 0, 0, 0, -1, 0, - 1, 0, 1, 0, 0, -1, -2, -1, 3, 1, 1, 0, 0, -2, -4, -3, - 5, 3, 2, 1, 0, -3, -5, -4, 5, 4, 2, 0, -1, -4, -5, -5, - 1, 0, -1, -2, -2, -3, -6, -9, 2, 0, -1, -1, 0, 0, -3, -6, - 1, 0, 0, -1, 0, 0, -2, -5, 2, 1, 1, 1, 1, 2, -1, -3, - 1, 1, 2, 1, 2, 2, 1, -1, 1, 1, 2, 1, 1, 1, 1, 1, - 0, 0, 2, 1, 0, 0, 2, 2, 0, 1, 2, 2, 0, 0, 2, 2, - -4, -3, 0, 1, 4, 6, 4, 3, -3, -2, 0, 0, 2, 4, 1, 0, - -1, -1, 0, 0, 1, 1, -2, -3, 1, 1, 1, 0, 1, 1, -3, -5, - 1, 1, 1, 0, 1, 1, -3, -5, -1, 0, 0, -1, 1, 1, -2, -4, - -1, 0, 0, -1, 1, 2, 0, -2, -1, 0, 0, 0, 2, 3, 1, 0, - -1, 0, 3, 4, 0, -4, -5, -5, 0, 0, 4, 5, 2, -2, -3, -2, - 0, -1, 2, 4, 2, -1, -1, 0, 0, -2, -1, 1, 0, -2, 0, 1, - 1, -2, -2, 0, 0, -1, -1, 1, 1, -2, -3, 0, 1, 0, -1, 0, - 1, -2, -2, 1, 3, 1, 0, 0, 1, -2, -1, 2, 4, 2, 0, 0, - 1, 2, 3, 2, 0, 2, 2, 1, -1, 0, 1, 0, -3, 1, 1, 1, - -1, 0, 0, -2, -4, 0, 2, 1, -1, 2, 2, -1, -5, 0, 2, 1, - -1, 3, 4, -1, -5, 0, 2, 1, -2, 2, 4, 0, -4, -1, 0, 0, - -4, 0, 2, 0, -4, -2, 0, 0, -5, -1, 2, 1, -2, 1, 3, 2, - 1, 0, 1, 0, 1, 2, -1, -2, 2, 0, -1, -2, 1, 3, 0, -1, - 3, 0, -2, -4, 0, 3, 1, 0, 5, 1, -3, -5, -2, 2, 1, 1, - 6, 1, -2, -5, -2, 1, 0, 1, 5, 1, -1, -5, -2, 0, -1, 0, - 3, 0, -2, -4, -2, 0, -1, 0, 1, -1, 0, -2, 0, 1, 0, 1, - 1, 1, 2, 3, 2, 1, 1, 2, -1, -1, 0, 1, 1, 0, 1, 1, - -4, -3, 0, 0, 1, 1, 1, 2, -4, -3, 0, 2, 2, 2, 3, 2, - -5, -4, 0, 1, 1, 1, 1, 2, -5, -4, -1, -1, -2, -2, -1, 0, - -3, -2, 0, 0, -2, -3, -2, -1, 2, 3, 4, 4, 2, 0, 0, 0, - -4, -2, 0, 1, 0, 0, 0, 0, -3, -1, 1, 1, 0, 0, 0, 0, - -2, 0, 2, 2, 0, 0, 0, 2, -1, 1, 2, 1, -1, 0, 3, 5, - 0, 2, 1, -1, -2, 0, 5, 6, 0, 1, 0, -3, -3, 0, 4, 6, - 1, 1, -2, -4, -4, -3, 1, 2, 1, 0, -2, -4, -5, -4, -2, 0, - -1, -3, -3, -3, -3, -2, -1, -1, 3, 2, 1, 0, 0, 1, 1, 1, - 5, 4, 3, 2, 1, 1, 2, 2, 2, 1, 0, -2, -2, -2, -1, -1, - 0, 0, 0, -1, -2, -2, -2, -2, 0, 1, 3, 3, 2, 1, -1, -1, - 0, 1, 3, 4, 3, 2, 1, -1, -4, -3, -1, 1, 0, -2, -3, -3, - -3, -4, -7, -8, -7, -4, -1, 2, 0, -1, -3, -4, -4, -2, 0, 2, - 1, 0, 0, -1, -3, -2, 0, 2, 2, 1, 1, 0, -1, -1, 0, 2, - 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 0, 0, 1, 2, 3, 3, 2, 2, 0, 0, 1, 3, 4, 4, 3, 2, - 3, 3, 3, 0, -1, 0, 1, 2, 1, 1, 1, -1, -2, -1, -1, 1, - -2, -2, -1, -3, -3, -2, -2, 0, -4, -4, -2, -2, -2, -2, -3, 0, - -4, -4, -1, 1, 1, 0, -1, 2, -3, -1, 2, 3, 4, 3, 3, 5, - -2, 0, 2, 3, 3, 3, 3, 3, -2, -2, 0, 0, 0, 0, 0, 1, - 0, 2, 1, -1, -3, -1, 3, -2, -1, 0, -1, -1, -3, 0, 4, -2, - -2, -2, -2, -2, -2, 1, 5, -2, -3, -2, -3, -1, -2, 1, 4, -3, - -2, 0, -1, 0, -1, 0, 3, -5, 1, 2, 1, 2, 0, 0, 2, -5, - 2, 4, 2, 3, 1, 1, 3, -3, 1, 2, 1, 1, 0, 1, 4, -2, - 4, -3, -4, -1, 3, 3, 1, 3, 4, -4, -4, -1, 3, 2, 0, 2, - 4, -3, -4, 0, 2, 2, -1, 1, 4, -3, -2, 1, 2, 1, -2, 0, - 2, -4, -2, 1, 2, 0, -3, 0, 2, -3, -2, 0, 1, 0, -2, 2, - 3, -1, -1, 0, 0, 0, 0, 3, 2, -2, -2, -2, -1, -1, -1, 2, - 2, 2, 3, 4, 3, 1, 0, -1, 1, 0, 1, 2, 1, -1, -2, -2, - 2, 1, 2, 1, 1, 0, -1, -1, 4, 3, 4, 3, 2, 1, 1, 1, - 3, 2, 2, 2, 1, 1, 1, 1, -1, -2, -1, 0, -1, -1, -1, -1, - -3, -3, -2, -1, -2, -2, -2, -2, -4, -4, -3, -3, -4, -4, -3, -3, - 2, 1, -1, -3, -4, -2, 3, 4, 2, 2, 1, -1, -3, -2, 1, 2, - 1, 2, 3, 3, 0, -2, -1, -2, -1, 0, 2, 4, 2, 0, -1, -3, - -2, -2, 0, 3, 3, 2, 0, -3, 0, -2, -3, -1, 1, 2, 2, -1, - 3, -1, -4, -5, -3, 0, 2, 0, 6, 3, -2, -6, -5, 0, 3, 1, - -2, 3, -2, 0, 3, -2, -2, 1, -3, 4, -3, 0, 3, -2, -1, 2, - -3, 5, -3, 0, 4, -2, -1, 2, -2, 4, -4, -1, 3, -3, -2, 2, - -3, 4, -3, 0, 3, -3, -1, 2, -2, 5, -2, 0, 3, -3, -1, 2, - -2, 4, -3, 1, 3, -2, -1, 2, -2, 3, -2, 1, 3, -2, 0, 2, - 1, 0, 0, -1, 1, 2, -4, -1, 2, 0, 0, -1, 1, 2, -4, -2, - 1, 1, 1, -1, 2, 4, -2, 0, 0, -1, 1, -1, 2, 5, -1, 1, - 0, -1, 0, -2, 1, 5, -1, 1, 0, -1, -1, -2, 0, 3, -3, -1, - 1, 1, 0, -2, 0, 3, -3, -1, 1, 1, 0, -3, 0, 3, -2, 0, - 1, 0, -1, 1, 1, 2, 4, 5, 1, 0, -1, 1, 1, 1, 5, 7, - 0, 0, -2, -1, -1, 0, 3, 5, 0, -1, -2, -1, -1, -1, 2, 3, - 0, -1, -3, -1, -1, -1, 1, 2, -1, -2, -4, -2, -2, -2, 0, 0, - -1, -2, -2, -1, -2, -2, 0, 0, 0, -1, -1, 0, -1, -1, 0, 0, - 3, 3, 0, -1, -1, 1, 4, 4, 2, 3, 0, -2, -2, 0, 1, 1, - 2, 3, 1, -1, -1, 0, 1, 0, 1, 2, 0, -1, -1, -1, 0, -2, - 0, 1, 0, -1, -2, -1, 0, -2, 0, 1, 0, -1, -2, -1, 1, 0, - 1, 1, -1, -3, -4, -3, 1, 3, 1, 2, -1, -3, -5, -4, 1, 3, - -3, -2, 0, 1, 1, 1, 0, -2, 0, 1, 1, 1, 0, 0, -1, -3, - 1, 2, 1, 1, 0, -1, -1, -2, 0, -1, -3, -1, -1, -1, 0, -1, - 0, -3, -6, -3, -2, -1, 1, 1, 2, -1, -4, -3, -2, 0, 2, 2, - 5, 4, 1, 1, 0, 1, 3, 2, 5, 4, 2, 1, 0, -1, 0, 1, - -2, 0, -2, -5, -6, -3, 0, 0, -2, 0, 1, 0, -1, 1, 2, 2, - -2, 0, 1, 3, 2, 2, 2, 1, -2, 0, 2, 4, 3, 2, 1, 1, - -2, 0, 2, 3, 2, 0, -1, 0, -3, -1, 1, 1, 0, -1, -1, 1, - -4, -1, 1, 0, -1, -2, 0, 2, -4, -1, 0, -1, -1, -2, 1, 4, - -3, 0, 0, -1, 1, 1, 1, 0, -3, 1, 0, -1, 0, 0, -1, -1, - -1, 3, 3, 0, 1, 0, 0, 1, -3, 2, 2, -2, -1, 0, 0, 1, - -5, 0, 0, -2, -1, 1, 0, 2, -7, -2, 1, 0, 1, 2, 2, 2, - -5, 0, 3, 2, 3, 3, 2, 2, -3, 2, 4, 1, 0, 0, -2, -3, - 5, 2, -2, -2, 0, -1, -1, -1, 2, -1, -4, -3, -1, -2, -1, -1, - 0, -2, -2, 1, 2, -1, 0, 1, -1, -2, -1, 3, 3, -1, 0, 2, - 1, 0, 0, 3, 3, -2, -1, 2, 2, 1, 1, 3, 2, -2, -2, 0, - 1, 0, -1, 1, 1, -3, -3, -2, 1, 0, 1, 2, 3, 0, 0, 0, - -4, -5, -3, 0, 1, -1, -2, -1, -2, -3, -1, 1, 2, 0, 0, 0, - 1, 1, 2, 1, 2, 1, 1, 1, 3, 4, 3, 1, 0, -2, -1, -1, - 3, 3, 2, 0, -2, -3, -3, -2, 1, 1, 0, -1, -2, -4, -2, -2, - 2, 1, 0, 0, 0, -1, 0, 1, 2, 1, 1, 1, 1, 1, 1, 3, - 0, 0, 0, -1, -2, -1, 1, 0, -2, -1, -1, -2, -3, -2, 0, 0, - -1, 0, 0, -1, -2, 0, 1, 1, 1, 1, 0, -1, -1, 1, 3, 1, - 2, 2, 0, -2, -1, 2, 3, 0, 3, 1, -1, -1, 1, 4, 2, -2, - 2, 0, -3, -1, 3, 5, 0, -5, 1, -1, -2, 0, 3, 3, -1, -6, - -1, 0, 3, 4, 2, 0, 1, 2, -2, -1, 0, 1, -1, -2, 0, 1, - -2, -3, -2, -3, -6, -7, -6, -3, 2, 2, 3, 1, -1, -2, -3, -2, - 2, 2, 3, 1, 0, 0, 0, 0, 2, 1, 1, 0, 1, 1, 0, 1, - 1, 0, 0, 0, 0, 1, 1, 2, 1, 0, -1, 0, 0, 2, 2, 1, - 1, 1, 3, 1, -1, -1, -1, 1, -2, -1, 0, 0, -2, -2, -1, 2, - -2, -2, 1, 1, 1, 0, 1, 3, -2, -2, 0, -1, 0, -1, 0, 2, - 0, 0, 1, 0, -1, -1, -2, 1, 3, 2, 2, 1, 0, -2, -2, 1, - 5, 3, 3, 2, 1, 1, 1, 4, 0, -3, -4, -5, -4, -3, -1, 1, - -6, -4, -1, 2, 2, 0, 0, -1, -4, -2, 1, 3, 3, 2, 2, 0, - -3, -2, -1, 2, 3, 3, 2, 0, -3, -2, -2, 1, 2, 1, 1, -1, - -2, -2, -2, 0, 2, 2, 1, -1, -1, -1, -1, 1, 2, 3, 2, 0, - -1, -1, -2, 1, 2, 2, 2, -1, 0, -1, -2, 0, 2, 1, 0, -1, - 6, 4, 2, 1, 0, 0, 0, 1, 4, 2, -1, -2, -2, -2, -1, -1, - 2, 1, -1, -2, -2, -2, -2, -1, 2, 2, 0, -2, -2, -2, -1, 0, - 0, 0, -1, -2, -2, -1, 0, 1, -3, -3, -2, -1, -1, -2, -1, 0, - -3, -2, 2, 3, 2, 0, -1, -2, -2, 0, 4, 5, 5, 2, 0, -1, - 5, 4, 2, 0, -1, -2, -1, -1, 4, 3, 2, 1, 0, -1, 0, -1, - 1, 1, 0, 1, 1, 0, 1, -1, -2, -1, -1, 0, 0, -2, -2, -3, - -1, 0, 0, 0, -1, -3, -3, -5, 0, 1, 1, -1, -1, -2, -2, -3, - -1, -1, -1, -2, -1, 1, 3, 1, -1, -2, -2, -1, 2, 5, 6, 5, - -3, -3, -2, 1, 1, -2, -1, -1, 1, 2, 3, 4, 1, -3, -1, -3, - 3, 2, 0, 1, -1, -3, -1, -3, 1, 0, -1, 0, -1, -1, 1, 0, - 1, 1, 0, 1, 2, 2, 5, 3, 1, 1, 1, 2, 2, 2, 3, 0, - -3, -1, -2, -2, -3, -3, -1, -3, -1, 1, 1, 0, -1, -1, 0, -2, - 2, 0, -2, -2, 2, 4, 1, -2, 1, 0, -2, -1, 3, 5, 2, -1, - -1, -2, -3, -2, 1, 3, 1, -2, -1, -2, -1, -1, 0, 2, 1, -1, - 0, 0, 1, 1, 1, 2, 2, 0, 0, 1, 4, 4, 2, 2, 3, 1, - -2, -1, 2, 1, -2, -3, -2, -3, -1, 0, 1, 0, -3, -4, -4, -5, - 4, 0, -3, -4, -4, -4, -2, -1, 5, 0, -1, 0, -1, -3, -2, -1, - 4, 0, 0, 1, 1, 0, 0, 0, 0, -3, -2, -1, 0, 0, 1, 0, - 0, -2, 0, 0, 1, 1, 2, 1, 2, 0, 0, 0, 1, 1, 1, 0, - 2, 0, -1, -1, 1, 1, 1, 0, 1, -1, -2, -2, 0, 2, 2, 2, - -3, -5, -2, 0, -1, -3, -3, 0, 0, -2, 0, 2, 2, 0, 0, 3, - 2, -1, -2, 0, 0, -1, -1, 2, 5, 2, -1, -1, -1, -1, -1, 2, - 5, 2, 0, -1, -1, 0, -1, 2, 2, 1, 0, 0, 0, 1, 0, 2, - -1, -1, 1, 1, 2, 2, 1, 2, -3, -2, 0, 0, 0, 0, -2, -1, - 0, 3, 2, 0, -2, -3, -3, -3, 0, 3, 3, 1, 0, 0, 1, 2, - -1, 0, -1, -2, -1, -1, 1, 3, -1, 0, -1, -2, -1, -1, 0, 2, - -1, 0, -1, -2, 0, 0, -1, 2, -1, 0, -1, -2, -1, -1, -2, 1, - 0, 1, 0, -3, -1, -1, -1, 2, 5, 5, 2, -1, -1, -1, 1, 3, - 0, 0, 1, -1, -3, -2, 0, 2, 1, 1, 3, 0, -2, -2, 0, 1, - 1, 1, 3, 1, 0, 0, -1, -1, 0, -1, 2, 1, 1, 0, -1, -3, - -1, -2, 1, 1, 1, 0, -2, -4, -1, 0, 2, 1, 1, 0, -1, -3, - 1, 1, 3, 2, 1, 0, -2, -3, 2, 2, 4, 2, 1, -1, -2, -4, - 1, 2, 2, 2, 0, -2, 0, 2, -1, -1, -2, -3, -4, -5, -3, 1, - 0, 1, 1, 0, -1, -1, -1, 1, 0, 1, 1, 1, 0, 0, 0, 2, - 0, 1, 1, 2, 1, 1, 1, 2, -1, -1, 0, 2, 2, 2, 2, 3, - -2, -4, -4, -1, -2, -2, -2, 0, 1, 0, 0, 1, 0, 0, 0, 1, - 0, -1, -3, -2, 0, 2, 2, 1, 0, -1, -2, -3, 0, 1, 1, 2, - 1, 0, -2, -3, -1, 0, 0, 1, -1, 0, -1, -2, 0, 0, -1, 0, - -1, 1, 1, 0, 2, 2, 0, 0, 0, 2, 3, 1, 3, 5, 3, 2, - -1, 1, 1, -2, 0, 3, 1, 1, -1, 0, 0, -4, -4, -1, -1, -1, - -1, 1, 1, 0, 1, 2, 1, 2, -3, 0, 1, 0, 1, 1, 0, 2, - -5, -3, -1, -1, 0, 1, 0, 1, -4, -3, -2, -3, -2, -1, -1, 0, - 0, 0, -1, -2, -2, -2, -2, 0, 3, 4, 2, 0, 0, 0, 0, 1, - 2, 1, 0, 0, 0, 0, -1, 0, 0, 1, 2, 3, 4, 4, 3, 2, - -1, 4, 7, 4, 0, 0, 0, 0, -1, 4, 6, 3, 0, 1, 1, 1, - 0, 3, 4, 0, -1, 0, 0, 1, 0, 1, 1, -2, -1, 0, -1, -1, - -1, 0, -1, -1, -1, 0, 0, 0, -1, -1, -1, 0, 0, 0, 0, 0, - -1, -3, -3, 0, 1, -1, -2, -1, -3, -4, -4, -2, -1, -2, -2, -1, - 2, 2, 1, 0, 1, 1, 0, -3, -2, -1, 0, 0, 1, 1, 0, -3, - -2, -1, 0, 1, 2, 1, 1, -2, 1, 2, 2, 2, 3, 3, 2, -1, - 1, 2, 1, 0, 1, 1, 2, -1, 0, 1, -2, -4, -2, 0, 1, -1, - 1, 1, -1, -3, -2, 0, -1, -3, 1, 2, 0, -1, 0, 1, -1, -4, - -1, -1, -2, -2, 0, 3, 4, 3, 1, 1, -1, -3, -2, 0, 0, 0, - 2, 2, 2, 2, 2, 1, -1, -1, 1, 1, 1, 3, 3, 0, -2, -2, - 0, -1, -1, -1, 0, -2, -1, -1, -1, -3, -4, -3, -2, -2, 0, 2, - -1, -1, 0, 1, 2, 2, 3, 5, -2, -1, -1, 0, 0, 0, 0, 1, - -2, -3, 2, 0, 0, 1, 1, -1, -1, -4, 1, -2, -1, 2, 2, 0, - 1, -4, 0, -2, -2, 1, 1, -1, 2, -3, 1, -1, -1, 1, 1, -1, - 3, -2, 3, 1, 0, 1, 1, -1, 1, -3, 2, 1, 0, 1, 0, -1, - -1, -5, 1, 0, -1, 0, 1, 1, 0, -3, 3, 3, 1, 2, 3, 3, - 0, -1, -2, 1, 5, 5, 2, -1, 1, -1, -2, -1, 1, 1, -2, -5, - 1, 1, -1, -2, -1, -1, -1, -3, 1, 1, -1, -1, -1, 2, 4, 3, - -1, -1, -1, -1, -1, 0, 4, 3, -1, -1, 0, 1, -1, -3, -1, -1, - 0, 0, 0, 2, 2, 0, 0, -1, 0, -2, -3, 0, 1, 1, 3, 2, - 2, 3, 2, 1, 0, 0, -2, -2, 2, 3, 0, 1, 1, 3, 3, 2, - 0, 0, -3, -1, -1, 2, 2, 3, -2, -2, -3, 1, 1, 2, 1, 1, - -2, -1, -2, 2, 1, 1, -1, -2, 0, 1, 0, 2, 0, 0, -2, -2, - 0, 1, 0, 2, 0, 0, -2, -2, -3, -2, -2, 0, -1, -2, -2, -3, - 0, 1, -1, 3, -1, 1, 3, -1, 0, 1, -1, 3, -1, -1, 2, -3, - 1, 1, -2, 3, -1, -3, 0, -3, 2, 2, -2, 3, 0, -2, 1, -2, - 1, 1, -3, 3, -1, -2, 1, -3, 1, 1, -3, 3, 0, -1, 1, -2, - 1, 2, -1, 4, 0, -1, 1, -2, 0, 1, -1, 3, -1, -3, 0, -3, - -3, -3, -1, 1, 2, 1, -1, -2, -2, -2, 0, 2, 1, 0, -2, -2, - -3, -2, 1, 2, 1, -1, -2, -1, -3, -2, 2, 4, 0, -2, -2, 1, - -3, -1, 2, 4, 0, -2, -2, 2, -1, 1, 4, 3, -1, -3, -2, 2, - 0, 2, 4, 2, -1, -2, -1, 2, 0, 1, 2, 0, -1, 0, 1, 3, - 3, 0, -5, 1, 4, 0, 0, 1, 1, -2, -5, 2, 5, -1, -2, 1, - -1, 0, 0, 3, 3, 1, 0, -1, -2, 3, 4, -2, -3, -1, 0, -2, - -3, 3, 5, -3, -3, 0, 0, -2, -1, 3, 2, -2, -2, 2, 2, -1, - 2, 0, 0, -1, 0, 0, 0, 0, 0, -3, -2, 1, 3, 0, -2, -2 -}; - -static const int8 *const s_svq1InterCodebooks[6] = { - s_svq1InterCodebook4x2, s_svq1InterCodebook4x4, - s_svq1InterCodebook8x4, s_svq1InterCodebook8x8, - 0, 0 -}; - -static const int8 s_svq1IntraCodebook4x2[768] = { - 12, 13, 13, 11, -7,-10,-15,-17,-16,-15,-12,-10, 11, 15, 15, 12, - 2, 17, 20, 15,-45,-24, 2, 13, 21, 20, -6,-36, 12, 16, -1,-27, - -18,-21, 10, 45,-11,-20, -7, 21, 43, -8,-28, 0, 33,-16,-28, 3, - -12,-18,-18, -6,-20,-10, 28, 55, -5,-18,-21,-18, 56, 30, -6,-20, - -34, 27, 29,-22,-30, 29, 26,-25, 30, 34, 33, 26,-25,-31,-35,-33, - -31,-35,-36,-32, 29, 36, 37, 31,-71,-12, 38, 34,-63, -1, 42, 33, - 58, 37,-31,-60, 55, 34,-33,-61,-57,-57, 22, 93,-57,-58, 21, 93, - 59, 69, 70, 62,-63,-68,-68,-60,-64,-71,-71,-64, 63, 73, 72, 62, - -2, 0, 7, 15,-11,-10, -3, 5, -5, -8,-10,-10, 1, 9, 14, 9, - 15, 8, -4,-11, 12, 2,-11,-12, -8, 0, 19, 28, 4, -1,-15,-26, - -15, 27, 2,-14,-14, 22, 1, -9, -4, -6,-13,-10, -6,-14, 6, 47, - -35,-20, 6, 23, 6, 9, 6, 4, -6, 2, 23,-22, -7, 4, 28,-21, - 20,-22, -2, 6, 22,-28, -5, 8,-10,-18,-16,-12, 36, 19, 2, -1, - -3, 0, 4, 8,-45,-10, 23, 23, 40, 15,-20,-35, -4, -1, 4, 1, - 9, -5,-33, 24, 8, 3,-26, 19, -1, 4, 6, -3, 32, 25,-13,-49, - 24, 24, 15, 7,-17,-27,-19, -7,-47, 0, 39, 24,-21, -6, 7, 4, - -1, 0,-10,-13, 1, 1, 5, 16, 20, 5, -3, -9, -1, -4, -2, -6, - -17, -7, 1, 4, 12, 7, 0, 0, 3, 0, 12, 11, -3, 1, 0,-23, - 4, 17, -6, 0, 6, 3,-25, 0,-17, 10, 8, 5,-14, 4, 1, 4, - 13, 10, 4, 2,-23, -9, 1, 2, 3, -3, 1, 7, 1,-23, -7, 20, - -7,-18, 2, 12, -5, -4, 10, 9, 4, 10, 7,-24, 6, 3, 4,-10, - 22,-14,-22, 6, 0, 5, 5, -1, -4, 3,-11, -4, -7, 31, 7,-14, - -5,-16, -1, 42, -4, -2, -9, -5, 5, -8, -6, -3, 42, -4,-21, -5, - -18, 12, 20,-12, 13,-13,-10, 7, -8, -9, -2,-18,-16, 6, 40, 8, - 10, -1, 0, 4, -3, 4, -1,-13, -2, 6, 1,-15, 5, 3, 1, 2, - -4, -2, 1, 3, 15, 0, -9, -4, -3, -4, -4, -4, -3, 5, 16, -3, - 2, 13, 3, 4, -3, -8,-10, 0, -6, -2, -4, -1, -2, -3, -6, 23, - 6, -6, 7, 1, 4,-18, 5, 1, -1, 1,-15, 14, -5, 6, -4, 4, - 2, 2, 2, 6,-24, 2, 7, 3,-26, 0, 3, 3, 5, 7, 1, 6, - 14, -2,-18, -3, 7, 5, -4, 2, -6, 3, 32, 1, -6, -6, -6,-12, - 5,-36, 7, 6, 9, -1, 11, 0, 4, 4, 5, 3, 4, 15, 3,-38, - 10, 23, -5,-42, 0, 4, 4, 4, 23, 17, -6,-13,-13,-37, 1, 29, - 5,-14, -1, 1, 5, 0, 3, 1, 0, 4, -5, 2, 8, 0, 0,-10, - 4, 7, -2, -3,-10, 3, 1, 1,-12, -1, 13, 3, 0, -1, 1, -3, - 0, -1, 3, 1, -6, -9, 3, 9, -6, 1, -4, -6, 8, -1, 0, 8, - -3, -3, 0, 18, -5, -1, -4, -1, -8, -2, 3, -4, 0, 17, -1, -5, - 5, -2, 9,-10, 1, -5, 6, -5, 4, 2, 2, 3, 10,-14, -8, 1, - -1, -2,-18, -1, -1, 20, 1, 2, -1, 1, -9, 1, -1, -9, 22, -4, - 6, -4, 8, -3, -1, 7,-19, 5, -7, 31, -4, -4, -6, 0, -5, -5, - -7, -8,-19, -4, 1, 1, 4, 32, 38, -1, -8, 4, -7, -8, -6,-12, - -1, 0, -7, 1, -1, 9, -1, 0, 9, -1, -1, 0, 2, -6, 1, -3, - -12, 0, 2, 1, 1, 1, 8, 0, 9, 1, 0, 2, -2, 1,-11, 0, - 0, 8, 2,-10, -1, 2, -1, 0, -2, -4, 0, -5, -2, -1, -1, 14, - -3, 7, -1, 5, 0,-10, 1, 1, -1, -5, 14, -1, -2, 1, -3, -2, - -6, 0, 0, 6, 2, 3, -9, 4, 4, -5, -1, -1, -7, 3, 8, -1, - 2, -4, -1,-11, 11, 2, 1, 0, -1, 2, 3, 9, 0, 2, 0,-15, - 3, 5,-20, 3, 3, -1, 3, 3, 1, -1, 16, 1, 2,-29, 9, 2, - -13, -6, -1, -3, 36, -1, -8, -3, 2, 5, 4, 2,-37, 9, 11, 3 -}; - -static const int8 s_svq1IntraCodebook4x4[1536] = { - -11, -3, 3, 6,-10, -1, 5, 7, -9, -1, 6, 7, -9, -1, 4, 6, - 5, 7, 0,-14, 6, 9, 2,-15, 6, 9, 2,-15, 4, 6, 0,-14, - 16, 3, -5, -6, 16, 1, -8, -8, 14, -1, -9, -9, 12, 0, -8, -8, - 8, 12, 16, 17, -2, 2, 6, 9,-10, -8, -4, 0,-15,-14,-11, -7, - -7,-10, -2, 16, -7,-11, -3, 18, -7,-11, -1, 20, -6, -8, 1, 19, - -9,-13,-16,-17, 2, -2, -7, -9, 11, 8, 4, -1, 16, 15, 11, 7, - -22, -2, 13, 15,-24, -2, 14, 16,-25, -4, 13, 15,-25, -6, 10, 13, - 26, 26, 22, 16, 17, 15, 9, 3, -2, -6,-11,-14,-20,-25,-28,-28, - -27,-27,-25,-21,-16,-15,-11, -7, 3, 8, 12, 13, 23, 28, 31, 30, - 20, 16, -7,-33, 22, 19, -6,-35, 22, 19, -6,-34, 20, 17, -6,-32, - -20,-20, 2, 38,-21,-22, 2, 40,-21,-22, 2, 40,-20,-20, 3, 38, - -47, -4, 24, 26,-50, -3, 26, 27,-50, -3, 26, 27,-47, -4, 24, 26, - 45, 6,-23,-27, 48, 5,-25,-28, 48, 5,-26,-28, 44, 6,-24,-27, - -30,-36,-10, 76,-31,-37,-11, 78,-31,-37,-11, 78,-31,-36,-10, 77, - -53,-32, 35, 52,-54,-34, 36, 52,-54,-34, 36, 52,-53,-33, 34, 51, - -93,-34, 62, 65,-93,-34, 62, 66,-93,-34, 62, 65,-93,-34, 60, 64, - -7, 0, 2, 2, -8, -1, 3, 3, -8, 0, 4, 5, -6, 1, 5, 5, - 3, 7, 11, 11, 2, 2, 3, 3, 1, -2, -6, -7, 1, -5,-11,-13, - 3, -2, -4, -3, 7, 0, -5, -5, 12, 4, -5, -7, 14, 6, -4, -7, - 18, 14, 3, -2, 6, 4, 0, -3, -8, -5, -2, 0,-16,-11, -2, 2, - -8, -6, 7, 18, -7, -8, 2, 13, -4, -6, -2, 6, 0, -4, -3, 1, - 1, -3,-13,-18, 0, -1, -5, -7, -1, 1, 6, 7, -2, 4, 15, 17, - -15,-14, -7, -2, -6, -5, -1, 0, 6, 6, 3, 1, 15, 13, 6, 1, - 2, -2,-11, 10, 2, -1,-12, 11, 3, -1,-12, 11, 2, -2,-11, 11, - -9, 14, -1, -5, -9, 15, -2, -5, -8, 16, -2, -5, -7, 15, -1, -4, - 2, 6, 8, 8, -2, 3, 9, 12,-11, -5, 4, 10,-19,-16, -8, 0, - 14, 8, -7,-15, 12, 7, -7,-14, 8, 5, -4, -9, 5, 3, -1, -4, - 12,-14, -2, 2, 13,-15, -1, 3, 14,-15, -1, 3, 13,-14, -1, 3, - 0, 6, 10,-13, 0, 6, 10,-15, 0, 7, 9,-17, 1, 6, 8,-16, - -8, -5, 15, -2, -8, -6, 17, -2, -8, -6, 16, -3, -8, -5, 15, -2, - -9,-11,-11,-10, 9, 10, 9, 8, 8, 10, 10, 9, -8, -9, -8, -7, - 9, 10, 9, 7, -8,-10,-10,-10, -7,-10,-11,-11, 11, 12, 11, 8, - 0, 10, 7, 0, 0, 7, 0, -6, 0, 2, -5, -6, -2, -1, -4, -1, - 5, 0, -6, -9, 2, 2, 2, 1, -2, 0, 5, 7, -6, -5, 1, 4, - 3, -8, 2, -1, 4, -9, 3, 0, 5, -7, 3, 0, 7, -5, 3, 0, - -5, -3, 2, 9, -6, -3, 1, 8, -6, -3, 1, 7, -5, -2, 0, 4, - 13, 8, 3, 1, -3, -5, -4, -1, -8, -7, -3, 0, -1, 1, 3, 2, - 3, 2, -5,-12, 4, 3, -2, -9, 3, 4, 1, -4, 3, 5, 4, -1, - -9, -8, -4, 0, 8, 6, 2, 0, 10, 8, 3, 0, -6, -5, -3, -1, - -3, -9,-12, -5, 0, -3, -5, 0, 2, 3, 2, 4, 5, 8, 7, 6, - -1, -2, 5, 12, -1, -1, 5, 9, 2, 1, -1, -2, 2, -1,-11,-17, - -7, 3, 3, -1, -9, 3, 4, -1,-10, 4, 6, -1, -9, 5, 7, 0, - -18, -7, 2, 2, -8, 1, 5, 3, 3, 4, 1, 0, 9, 5, -2, -3, - -2, 0, 6, 8, -4, -5, -5, -3, 1, -2, -6, -8, 10, 9, 3, -1, - 0, -2, -2, 0, 0, -4, -5, 0, -2, -8, -4, 8, -5, -7, 6, 24, - 9, 1, -7, 1, 9, 1, -8, 1, 8, 0,-10, 1, 8, -1,-11, -1, - 8, 8, 6, 3, 5, 4, 3, 2, -2, -3, -1, 0,-10,-13, -8, -4, - 0, 4, 2, -3, 0, 6, 3, -5, 3, 10, 2,-12, 5, 10, -4,-22, - 0, -4, -1, 3, 1, -4, -1, 5, 1, -5, 0, 8, -1, -6, -2, 7, - -1, -1, -2, -4, -1, -2, -4, -6, -1, -1, -1, -2, 1, 5, 10, 9, - 10, 3, 0, -2, 6, -1, -2, -5, 3, -1, -2, -6, 2, 0, 0, -5, - 6, 3, 0, 0, 6, 3, 1, 1, 4, -2, -2, 1, 0, -9, -9, -2, - -11, -3, 1, 2, -6, 2, 4, 5, -3, 2, 3, 4, -2, 1, 1, 2, - -6, -4, -1, -2, 2, -1, -1, -2, 10, 2, -2, -2, 11, 2, -4, -1, - 6, 0, -2, 2, 3, 3, 0, 0, -6, 3, 3, 0,-17, -1, 5, 0, - -1, 4, 10, 11, -3, -2, 0, 1, -3, -4, -5, -3, -1, -2, -2, -1, - 2, -3, -9,-12, 3, 3, 3, 2, 2, 2, 4, 4, 2, 1, -1, -2, - -2, 9, 5,-10, -3, 5, 5, -5, -2, 1, 2, 0, -1, -2, -2, 1, - -2, -3, 7, -2, -1, -3, 7, -3, -1, -2, 8, -4, -2, -2, 7, -3, - 1, -8, -3, 12, 2, -2, -2, 4, 1, 3, 0, -5, -1, 5, 2, -7, - -1, 3, 1, -5, -7, -2, 3, 1, -2, -7, -2, 2, 20, 3, -5, -1, - 5, 0, -3, -2, -7, -7, 0, 6, -6, 0, 7, 6, 2, 6, 0, -7, - -2, 6, -7, 1, -2, 7, -8, 3, -2, 7, -7, 3, -1, 7, -6, 2, - -5, -2, 5, 7, 4, 1, -4, -8, 6, 3, -2, -5, -7, -5, 3, 7, - -1, -1, 6, 5, 0, -1, 1, -4, 2, 1, 0, -7, 1, 0, 0, -4, - -8, 0, 3, 1, -2, 1, -1, -1, 1, -1, -3, 1, 1, -2, 1, 9, - 5, 2, -3, -4, -1, 0, -1, -3, -3, 1, 3, 1, -4, 0, 4, 2, - 2, -2, -2, 12, 0, -2, -5, 3, -1, 0, -3, 1, -3, -1, -2, 1, - 1, 5, 3, 0, -6, -4, -2, 1, 0, -2, -2, 2, 6, 1, -4, -1, - -3, -5, -5, -1, 3, 5, 5, 4, 0, 3, 1, -1, -2, 1, -2, -3, - 2, -4, -5, -3, 4, -2, -3, -2, 6, 0, -1, -1, 7, 1, 0, 0, - -3, -2, -2, 0, -2, -3, -5, -1, -2, 2, 0, -1, -1, 11, 9, -1, - 0, 1, -1,-10, -1, 1, 0, -6, 1, 0, 1, 4, 2, -5, -1, 13, - -2, 4, 5, 0, -5, 1, 6, 3, -6, -2, 3, 2, -5, -2, 0, -2, - -1, 1, 1, -2, -1, -2, 0, 2, 5, 5, 5, 7, 0, -4, -8, -7, - 0, 2, -1, -5, -1, 2, 2, -3, 0, 5, 3, -5, 3, 8, 2,-12, - 8, 4, 0, -2, 10, -1, -4, -1, 3, -6, -3, 0, -4, -5, 0, 0, - 0,-10, -4, 2, -1, -6, 3, 5, -1, -3, 6, 4, 0, -2, 4, 2, - 0, 8, 1, -1, 0, 11, 1, -3, -1, 6, -2, -4, -3, -2, -7, -4, - 0, -1, -1, -1, 4, 5, 6, 5, -5, -9, -8, -5, 2, 2, 3, 2, - 0, 2, 6, 1, 2, 0, 3, 0, 1, -2, -1, -2, 0, -1, -3, -6, - 0, 0, 2, 0, 4, 0, 2, 1, 5, -2, 0, 0, -2, -9, -1, 2, - 0, 1, 0,-10, -1, 1, 8, 0, -1, -2, 4, 0, 1, -1, 2, -1, - -3, -2, 2, -1, -3, -1, 2, -3, 0, -1, 1, 0, 8, 1, -1, 3, - 0, 1, 1, 2, 0, -4, -2, 0, -1, -5, 1, -1, -2, -1, 11, 2, - 1, 5, -2, -2, 0, 2, -4, 0, -2, 1, -5, 1, 0, 5, 0, 1, - -5, -3, 0, 6, -4, 2, 0, 0, -3, 5, 1, 0, -3, 3, 0, 0, - 3, -2, -3, 1, 1, -4, 0, 8, -2, -3, -2, 3, 1, 2, -1, -1, - 1, 1, 0, 2, 2, 0, 1, 6, 1, -1, 2, 1, 0, 3, 0,-19, - 1, -3, -2, 2, 6, 5, -2, -7, -3, 1, 3, 1, -1, -1, 0, 2, - -8, -1, -1, -4, 1, 1, -1, 2, 4, 3, 2, 3, -5, 1, 3, 0, - 0, 2, -1, 1, -3, 0, 0, 5, -5, -2, 0, 8, -4, -4, -4, 6, - 1, 2, 1, 2, 2, 2, -3, 2, 4, 0, -9, 0, 7, 0,-11, 1, - 0, 0, 0, -2, 3, 3, -1, -6, 4, 3, -3,-10, -1, 2, 6, 2, - 7, -2, -3, 5, -4, 0, 3, -1, -4, 2, 1, -7, 2, -1, -1, 3, - 3, 2, 2, 2, -5, -7, -7, -5, 5, 6, 4, 2, -2, -1, 0, 1 -}; - -static const int8 s_svq1IntraCodebook8x4[3072] = { - 5, 6, 6, 6, 7, 7, 8, 8, 0, 0, 0, 0, 0, 1, 2, 3, - -3, -4, -4, -5, -5, -4, -3, -2, -4, -4, -4, -5, -4, -4, -3, -3, - 1, 2, 2, 2, 2, 3, 3, 3, 2, 3, 3, 4, 4, 5, 5, 5, - -1, 0, 1, 1, 2, 3, 4, 4, -9,-10, -9, -9, -8, -7, -6, -5, - -4, -4, -5, -6, -6, -7, -7, -7, 0, -1, -2, -2, -3, -3, -4, -4, - 4, 4, 3, 3, 2, 1, 1, 0, 7, 7, 7, 6, 6, 5, 4, 4, - 2, 4, 5, 6, 4, 1, -3, -6, 3, 4, 5, 5, 4, 0, -5, -8, - 2, 3, 4, 4, 2, -2, -7,-10, 2, 2, 2, 1, 0, -4, -9,-12, - -9, -7, -3, 1, 4, 4, 3, 3,-10, -7, -2, 3, 5, 5, 3, 3, - -9, -6, -2, 3, 6, 5, 4, 3, -8, -6, -1, 3, 4, 4, 3, 2, - -5, -5, -5, -5, -3, 1, 4, 7, -5, -5, -5, -4, -2, 1, 6, 8, - -4, -5, -4, -3, -1, 3, 8, 10, -3, -4, -3, -2, 1, 5, 9, 11, - -2, -2, -2, -2, -2, -2, -2, -2, -4, -5, -5, -5, -5, -5, -5, -4, - -3, -4, -4, -4, -4, -4, -4, -3, 9, 10, 10, 11, 11, 11, 10, 10, - 7, 4, 1, -2, -4, -6, -9,-10, 9, 7, 3, 0, -2, -4, -8, -9, - 11, 8, 4, 2, 0, -3, -6, -8, 11, 9, 5, 3, 1, -2, -5, -7, - -13,-13,-13,-12,-11,-10, -8, -8, 0, 1, 2, 3, 4, 4, 4, 3, - 3, 4, 5, 6, 6, 6, 5, 4, 3, 4, 4, 4, 3, 3, 3, 2, - 10, 10, 11, 10, 9, 9, 8, 7, 6, 6, 6, 6, 5, 4, 3, 2, - 0, 0, 0, -1, -2, -3, -4, -4,-10,-10,-11,-12,-13,-14,-14,-14, - 16, 16, 17, 16, 15, 13, 12, 11, -1, -2, -3, -4, -4, -4, -4, -3, - -4, -5, -6, -6, -6, -6, -6, -6, -5, -6, -6, -6, -6, -6, -5, -5, - -13,-13,-13,-12,-11,-10, -8, -6, -9, -8, -7, -6, -4, -2, 0, 1, - -2, -1, 1, 3, 5, 7, 8, 9, 5, 7, 9, 11, 13, 14, 15, 15, - 16, 14, 11, 7, 2, -3, -7, -9, 14, 12, 8, 3, -1, -6, -9,-11, - 11, 9, 4, 0, -4, -8,-11,-13, 8, 5, 1, -3, -6,-10,-12,-14, - -18,-15, -9, -3, 1, 6, 9, 11,-17,-13, -7, -1, 3, 7, 11, 12, - -15,-11, -5, 1, 5, 9, 12, 13,-13, -9, -3, 2, 5, 9, 11, 13, - 22, 21, 19, 15, 10, 3, -4, -9, 20, 18, 15, 9, 2, -5,-12,-17, - 16, 13, 8, 1, -7,-14,-20,-24, 10, 6, -1, -8,-15,-21,-25,-27, - -25,-23,-20,-14, -7, 1, 9, 14,-23,-21,-16, -9, 0, 9, 16, 21, - -20,-16,-10, -1, 8, 16, 22, 25,-15,-11, -3, 6, 14, 20, 25, 27, - -4, -2, 0, 1, 2, 2, 2, 2, -5, -2, 0, 2, 3, 3, 3, 3, - -6, -4, -1, 1, 2, 3, 3, 3, -7, -5, -2, 0, 1, 1, 2, 2, - 2, 1, 1, 1, 1, 0, -2, -3, 3, 3, 2, 1, 0, -1, -3, -4, - 4, 3, 2, 1, 0, -2, -4, -6, 5, 4, 3, 1, -1, -3, -5, -6, - 5, 6, 6, 4, 2, 0, -2, -3, 3, 4, 4, 4, 3, 1, 0, -1, - -2, -2, -1, -1, -1, -1, -2, -2, -5, -4, -3, -2, -2, -2, -3, -3, - -1, -1, -1, -1, -1, -1, -1, -1, -3, -4, -4, -4, -3, -3, -3, -3, - -1, -1, -1, -1, -1, -1, -1, -2, 5, 6, 6, 6, 6, 5, 4, 3, - 4, 4, 4, 4, 4, 5, 6, 7, 0, -1, -1, -1, -1, 0, 1, 2, - -2, -3, -3, -3, -3, -2, -1, 0, -3, -3, -4, -4, -4, -3, -2, -1, - 0, -2, -4, -4, -2, 0, 2, 3, 0, -2, -3, -3, -1, 2, 4, 5, - -1, -2, -4, -3, 0, 3, 5, 6, -2, -3, -4, -3, -1, 2, 4, 5, - 9, 4, 0, -3, -3, -1, 0, 1, 8, 4, -1, -4, -3, -1, 1, 2, - 6, 2, -3, -5, -4, -2, 0, 1, 5, 1, -3, -4, -4, -2, 0, 1, - 5, 3, 1, -1, -4, -8,-10,-10, 3, 3, 2, 1, 0, -2, -3, -4, - 1, 1, 1, 2, 3, 2, 1, 0, -1, 0, 1, 2, 3, 4, 3, 2, - 0, 1, 2, 2, 1, -1, -3, -3, 0, 1, 1, 1, -1, -2, -4, -3, - -3, -3, -3, -3, -3, -3, -1, 2, -4, -4, -3, 0, 3, 7, 12, 14, - -5, -5, -6, -6, -6, -6, -6, -5, 2, 2, 2, 1, 0, 0, 0, 0, - 4, 4, 3, 2, 1, 0, 0, 0, 6, 6, 5, 4, 2, 2, 1, 1, - -7, -7, -6, -3, 0, 4, 7, 8, -1, -2, -3, -3, -2, -1, 1, 2, - 3, 3, 1, -1, -2, -2, -2, -1, 6, 6, 4, 2, 0, -2, -2, -2, - -6, -5, -2, 2, 5, 9, 11, 12, -4, -4, -2, 0, 2, 4, 5, 6, - -3, -2, -2, -2, -2, -1, 0, 1, -2, -2, -2, -3, -3, -3, -3, -2, - -7, -3, 1, 3, 3, 0, -3, -5, -6, -2, 3, 5, 4, 1, -3, -5, - -5, -1, 4, 6, 5, 2, -3, -4, -4, 0, 5, 7, 6, 3, -1, -3, - 0, 0, 0, 0, 0, 0, 0, 0, -2, -2, -3, -3, -3, -3, -2, -1, - 6, 7, 8, 9, 9, 8, 7, 6, -4, -4, -5, -5, -6, -6, -5, -4, - -9, -8, -6, -4, 0, 3, 6, 6, -5, -4, -1, 3, 5, 6, 5, 3, - 1, 3, 6, 6, 4, 1, -2, -5, 6, 7, 5, 1, -3, -7,-10,-11, - 10, 9, 5, 1, -3, -6, -6, -4, 5, 3, -1, -5, -6, -5, -2, 2, - -2, -4, -6, -6, -4, 1, 6, 10, -6, -7, -7, -4, 1, 7, 11, 12, - 6, 5, 3, 2, 0, 0, 0, 0, 2, 1, -1, -2, -3, -2, -1, -1, - 0, -1, -2, -4, -4, -2, -1, 1, 0, 0, -1, -2, -1, 0, 2, 3, - 0, -1, -2, -2, -2, -2, -1, -1, 5, 4, 2, 1, 0, 0, 0, 0, - 6, 5, 3, 1, 0, 0, 0, 0, 2, 0, -2, -4, -4, -3, -2, -2, - -7, -4, 0, 2, 2, 2, 2, 1, -7, -3, 0, 0, 0, 0, 0, 0, - -4, -1, 1, 1, 0, 0, 0, 1, -1, 1, 2, 2, 2, 2, 3, 3, - -2, 0, 2, 2, 1, 1, 1, 1, -1, 1, 2, 2, 1, 0, 0, -1, - 0, 2, 4, 2, 0, -1, -2, -3, 1, 2, 3, 1, -2, -4, -6, -6, - 1, 2, 2, 4, 5, 6, 4, 1, 0, -1, -1, -1, 0, 0, -2, -4, - 0, 0, -1, -2, -2, -2, -4, -6, 2, 1, 0, 0, 1, 1, -1, -3, - 1, 1, 1, 1, 1, 2, 3, 3, 0, 0, 1, 0, 1, 2, 4, 4, - -1, -1, -1, -1, 0, 1, 2, 3, -4, -4, -5, -5, -5, -3, -1, 0, - -6, -5, -5, -4, -3, -2, -1, -1, -1, 0, 0, 1, 1, 2, 3, 3, - 0, 1, 1, 1, 2, 2, 3, 4, 0, 0, -1, -1, 0, 1, 2, 3, - 0, 1, 1, 1, 0, 0, -1, -1, 1, 3, 3, 2, 1, -1, -2, -2, - -2, 0, 2, 2, 2, 2, 1, 1, -9, -8, -4, -2, 1, 3, 3, 3, - -1, -1, -1, -2, -3, -3, -3, -4, 0, 0, 0, -1, -2, -2, -3, -3, - 2, 2, 2, 0, -1, -1, -1, -1, 5, 5, 4, 3, 2, 2, 2, 2, - 6, 3, -1, -4, -3, -1, 1, 1, 2, -1, -3, -4, -1, 2, 2, 0, - -1, -2, -2, 1, 4, 4, 1, -3, -2, -1, 1, 4, 6, 3, -3, -8, - 3, 3, 2, 1, -1, -2, -2, -2, -4, -4, -2, -1, 1, 3, 4, 4, - -4, -5, -5, -4, -2, 0, 2, 2, 7, 7, 4, 1, -1, -2, -3, -2, - -1, 1, 3, 0, -4, -6, 0, 6, -2, 1, 4, 1, -4, -6, -1, 7, - -3, 1, 4, 2, -3, -6, -1, 6, -2, 0, 3, 2, -2, -5, -1, 4, - 1, -1, -2, 1, 4, 4, -1, -7, 1, -1, -4, -1, 5, 6, 0, -6, - 3, 0, -4, -3, 3, 6, 2, -4, 3, 0, -5, -4, 1, 4, 1, -3, - 2, 2, 3, 3, 3, 3, 2, 2, -4, -5, -6, -7, -7, -7, -7, -6, - 1, 2, 3, 3, 3, 3, 2, 2, 0, 0, 1, 1, 1, 2, 2, 1, - 3, -3, -3, 3, 4, -2, -2, 2, 3, -4, -4, 4, 4, -4, -4, 2, - 4, -4, -4, 4, 4, -4, -3, 3, 3, -3, -4, 3, 3, -3, -3, 3, - -2, -2, -2, -2, -2, -2, -1, -1, 6, 7, 8, 8, 8, 7, 6, 5, - -5, -6, -7, -7, -8, -7, -6, -5, 1, 1, 2, 2, 2, 2, 1, 1, - 0, 0, 0, 0, 0, -1, 0, 0, -1, 0, 0, 0, 0, -1, 0, 0, - -2, -3, -2, -2, -2, -3, -3, -3, 2, 3, 5, 6, 4, 2, 1, 0, - 8, 6, 2, 0, 0, 0, 0, 0, 4, 1, 0, 0, 0, -1, -1, -1, - 1, -1, 0, 0, 0, -1, -2, -3, -2, -2, -1, 0, 0, -2, -4, -5, - 3, 1, -1, -2, -3, -4, -5, -5, 2, 1, 0, 0, 1, 1, 0, 0, - 0, -1, -1, 0, 2, 2, 2, 2, -1, -2, -1, 1, 2, 2, 2, 2, - 0, -1, -2, -1, -1, -1, -1, 0, -1, -2, -2, -1, -1, 0, 0, 1, - 2, 1, 1, 2, 2, 1, 1, 0, 6, 5, 3, 1, 0, -2, -4, -4, - -3, -2, -1, 0, 1, 1, 0, -1, 0, 1, 3, 4, 5, 5, 3, 1, - -1, -1, -1, 0, 1, 0, -1, -2, -2, -2, -2, -1, 0, -1, -2, -3, - 0, -1, -2, -2, -1, -1, 0, 2, 1, -1, -2, -1, -1, -1, 0, 2, - 1, 0, -2, -2, -2, -2, 1, 5, 1, -1, -2, -2, -2, 0, 5, 10, - 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, 0, 0, 0, 1, 2, - 1, 2, 2, 3, 4, 4, 6, 5, -3, -3, -3, -2, -2, -3, -3, -3, - 1, -1, -2, -2, 0, 3, 5, 7, 2, 0, -2, -3, -2, 0, 2, 3, - 3, 1, -2, -3, -3, -2, -1, -1, 3, 1, 0, -1, -1, -1, -1, -1, - 1, 3, 5, 4, 2, -1, -3, -4, -3, -2, 1, 2, 1, 0, -1, -2, - -5, -3, 0, 2, 2, 1, 0, 0, -3, -1, 1, 2, 2, 1, 0, 0, - 0, -1, -1, -1, 1, 2, 3, 4, -3, -4, -4, -3, -1, 0, 0, 1, - -2, -3, -2, -1, 1, 1, 1, 1, -2, -2, 0, 3, 4, 4, 3, 2, - -4, -4, -3, -2, -1, 1, 2, 3, 0, 1, 1, 1, -1, -2, -3, -3, - 3, 4, 5, 4, 2, -1, -3, -3, -2, -2, 0, 2, 2, 2, 1, 0, - -4, 0, 5, 7, 4, -1, -4, -4, -1, 2, 4, 3, 0, -3, -3, -2, - 2, 1, 0, -1, -2, -2, 0, 1, 0, 0, -1, -2, -2, -1, 1, 2, - -4, -3, -2, -1, 0, 1, 2, 2, 10, 9, 5, 0, -3, -4, -3, -2, - 1, -1, -2, -2, -1, 0, 0, 0, -2, -2, -1, 1, 1, 1, 0, -1, - -5, -3, 0, 3, 4, 2, 0, -2, -2, -1, 0, 1, 1, 0, -1, -1, - 3, 2, -1, -2, -2, -1, 1, 1, 7, 5, -1, -5, -6, -2, 2, 4, - -2, 3, 3, -3, -4, 1, 2, -2, -3, 3, 4, -3, -4, 2, 3, -2, - -3, 3, 4, -3, -4, 2, 3, -2, -4, 2, 4, -2, -3, 1, 2, -1, - 4, 3, -1, -3, -3, -1, 1, 2, -4, -6, -4, 0, 4, 5, 4, 1, - 0, 2, 5, 6, 2, -3, -5, -4, 1, 1, -1, -3, -5, -2, 2, 4, - -1, 0, 1, 2, 2, 3, 3, 4, -1, 0, 1, 1, 0, -1, -1, -1, - -1, 0, 1, 2, 2, 1, -1, -2, -3, -2, -1, 0, 0, -1, -2, -3, - 1, 1, 1, 1, 0, 0, 1, 2, 1, 0, -1, 0, 0, 1, 1, 0, - 1, -2, -4, -1, 1, 2, 1, 0, 1, -4, -7, -3, 1, 3, 2, 1, - 1, 1, 1, 1, 1, 1, 0, -1, 1, 1, 1, 0, 1, 2, 2, 0, - 1, 1, 0, 0, 0, 2, 0, -3, 3, 2, 0, -1, -1, -2, -6, -9, - 0, 0, 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, -1, -1, 0, 2, - 0, 1, 1, 1, -1, -3, -2, 0, -7, -5, 1, 6, 6, 2, -1, -1, - 3, 1, -1, -3, -4, -2, 1, 4, 2, 0, -2, -3, -4, -3, -1, 2, - 2, 2, 1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, - -1, 1, 1, -2, -5, -6, -4, -1, -1, 1, 4, 3, 2, 0, 1, 2, - -1, 0, 2, 3, 1, 0, 0, 1, -1, 0, 1, 0, 0, -1, -1, 0, - 0, 1, 2, 2, 0, -2, -1, 1, -2, -1, -1, -2, -1, 2, 6, 8, - -1, -1, -2, -3, -2, 0, 1, 2, -1, 0, 0, -1, -1, 0, -1, -1, - 2, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, -1, -1, 1, - -1, 0, 2, 2, -1, -3, -2, 3, 0, 2, 3, 0, -5, -7, -2, 4, - -1, 0, 0, 0, -1, -2, -3, -3, -1, 0, -1, -2, -2, -2, -2, -2, - 1, 1, 0, 0, 1, 2, 0, -1, 1, 2, 1, 2, 5, 6, 2, 0, - -2, -4, -3, 0, 2, 2, 0, -3, 3, 1, 0, 1, 2, 1, -2, -3, - 3, 1, 0, 0, 0, 0, 0, -1, 1, -1, -2, -2, -1, 1, 3, 3, - 3, 2, 1, 2, 4, 3, 1, -2, -2, -4, -4, -3, -1, 0, -2, -3, - 1, 0, -1, -1, 0, 1, 0, -1, 3, 2, 0, 0, 0, 1, 1, 0, - 1, 1, 0, 0, 0, 0, 0, 0, 2, 3, 3, 2, 2, 2, 1, 1, - 0, -1, -2, -3, -5, -5, -5, -4, 1, 1, 0, -1, 0, 1, 3, 3, - -9, -6, -2, 0, 1, 1, 2, 2, -6, -2, 1, 2, 1, 1, 0, 1, - -2, 1, 2, 2, 1, 1, 1, 1, 0, 2, 2, 1, 0, 1, 1, 1, - 1, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, -1, -3, -2, 0, - -3, -3, -3, -2, -1, 3, 7, 9, 1, 2, 2, 2, 0, -2, -4, -3, - 2, 0, -2, -1, 3, 4, -1, -6, 1, 0, -2, -3, -1, 3, 3, 0, - 0, 3, 3, 0, -2, -1, 1, 1, -6, -1, 3, 2, -1, -2, 0, 1, - 5, 3, 0, -2, -3, 0, 2, 1, 1, 1, 2, 2, 0, -2, -4, -7, - -3, -2, 1, 2, 2, 1, -1, -4, 2, 2, 0, -2, -2, 0, 2, 2, - 0, 0, -2, -3, -2, -1, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, - -2, -1, 0, 1, 0, 1, 2, 3, -4, -2, 0, 0, -1, 0, 2, 3, - -2, -2, -2, -1, -1, 0, 2, 4, 0, 0, 0, 0, -1, -1, 0, 1, - 0, -1, -1, -1, -1, -1, 0, 0, 6, 4, 2, 0, -1, -2, -1, -1, - 0, 1, 1, 1, 1, -1, -5,-10, 1, 1, 1, 1, 1, 1, 0, -4, - 1, 0, 1, 1, 1, 1, 1, -1, 2, 1, 1, 1, 0, 0, 0, 0, - -3, 1, 4, 3, 3, 1, -1, 0, -4, 0, 1, 0, -1, 0, 0, 0, - -5, 0, 2, 1, 1, 1, 0, -1, -1, 2, 1, -2, -2, -1, 0, -1, - 2, 4, 5, 3, 0, -1, 1, 2, 0, 0, 1, 0, -2, -2, -1, -1, - -2, -2, -2, -2, -3, -2, -1, 0, 0, 0, 1, 0, 0, 0, 1, 2, - 0, -2, -2, -3, -1, 2, 2, -1, 1, 0, 0, 0, 1, 5, 3, -2, - -1, -1, 0, -1, 0, 2, 0, -5, -1, 0, 1, 0, 0, 2, 2, -2, - 3, 1, -1, -1, 0, 1, 1, 2, 1, 0, 0, 1, 1, 1, 1, 1, - -10, -8, -2, 1, 2, 1, 1, 1, -1, 1, 2, 1, 0, 0, 0, 0, - -1, -1, 0, 1, 2, 2, 2, 1, -1, -1, -1, 0, -1, -3, -5, -4, - 1, 1, 2, 1, 1, 0, 0, 2, -1, -2, -1, -1, -1, 0, 2, 4, - -3, -7, -5, 0, 2, 0, 0, 0, 3, -1, -2, 1, 2, 1, 1, 2, - 1, -2, -1, 1, 2, 1, 0, 1, 0, -1, 0, 3, 2, -1, -1, -1, - 2, 1, 1, 0, 0, 0, 0, 0, -9, -7, -2, 3, 3, 2, 1, 1, - 3, 2, 0, -2, -2, -1, 1, 1, 0, -1, 0, 0, 1, 1, 0, 0, - -2, -1, 1, 1, 1, 0, 0, 0, 1, 2, 1, -2, -4, -3, 1, 2, - 1, 2, 1, -2, -3, 0, 3, 1, -1, -1, 0, 0, 1, 3, 0, -4, - 2, 0, -1, 1, 2, -2, -2, 3, 2, 0, -1, 2, 3, -2, -4, 1, - 0, 1, 1, 1, 2, -2, -6, -2, -1, 0, 0, 0, 2, 0, -2, -1, - -1, -1, 1, 2, 1, -2, -3, -2, 3, -1, -2, -1, -1, 0, 1, 2, - 10, 4, 0, 0, -1, -2, -2, -1, 3, -1, -2, -1, 0, -1, -1, 0, - -5, 2, 7, 1, -4, -2, 1, 0, -2, 2, 3, -1, -3, 0, 2, 0, - 2, 1, 0, 0, 1, 1, -1, -2, 1, -2, -2, -1, -1, -2, 0, 0, - 0, 3, -2, -7, -1, 3, 0, 0, 1, 3, -3, -5, 2, 3, -1, 0, - 0, 2, -2, -2, 4, 2, -2, 0, -1, 1, -1, 0, 2, -1, -2, 1, - 4, 0, -3, -4, -2, 1, 2, 1, 0, 0, 3, 5, 3, 1, -1, -2, - 1, 1, 1, -1, -3, -1, 1, 1, 1, -1, -2, -2, 0, 0, -1, -2 -}; - -static const int8 s_svq1IntraCodebook8x8[6144] = { - 4, 4, 3, 2, 2, 1, 0, -1, 4, 3, 3, 2, 1, 0, -1, -1, - 3, 3, 2, 2, 1, 0, -1, -2, 3, 2, 2, 1, 0, -1, -2, -3, - 2, 2, 1, 0, -1, -1, -2, -3, 2, 1, 0, 0, -1, -2, -3, -4, - 1, 0, 0, -1, -2, -3, -4, -4, 0, 0, -1, -2, -2, -3, -4, -4, - 2, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 3, 3, - 1, 2, 2, 2, 2, 2, 2, 2, 0, 1, 1, 1, 1, 1, 1, 1, - -1, 0, 0, 0, 0, 0, 1, 1, -2, -2, -1, -1, -1, -1, -1, -1, - -3, -3, -3, -3, -3, -3, -2, -2, -5, -4, -4, -4, -4, -4, -4, -3, - -4, -2, -1, 0, 1, 2, 2, 3, -4, -2, -1, 0, 1, 2, 3, 3, - -4, -3, -1, 0, 1, 2, 3, 3, -4, -3, -1, 0, 1, 2, 3, 3, - -5, -3, -1, 0, 1, 2, 3, 3, -5, -3, -1, 0, 1, 2, 3, 3, - -5, -3, -1, 0, 1, 1, 2, 3, -5, -3, -2, -1, 0, 1, 2, 3, - 4, 4, 5, 5, 6, 6, 7, 7, 2, 2, 2, 3, 3, 4, 4, 4, - 0, 0, 0, 0, 1, 1, 1, 2, -2, -2, -2, -2, -1, -1, -1, 0, - -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, - -1, -2, -2, -2, -2, -2, -2, -2, -1, -1, -1, -1, -2, -2, -2, -2, - 5, 3, 1, -1, -2, -3, -3, -3, 5, 3, 1, -1, -2, -3, -3, -3, - 5, 3, 1, -1, -2, -3, -3, -3, 5, 3, 1, -1, -2, -3, -3, -3, - 5, 4, 1, 0, -2, -3, -3, -3, 6, 4, 2, 0, -2, -2, -3, -3, - 6, 4, 2, 0, -1, -2, -2, -3, 6, 4, 2, 1, -1, -2, -2, -2, - -1, 1, 3, 3, 2, 0, -3, -6, -1, 1, 3, 4, 3, 0, -3, -6, - -1, 1, 4, 4, 3, 1, -3, -6, -1, 1, 3, 4, 3, 1, -3, -6, - -2, 1, 3, 4, 3, 1, -3, -6, -2, 1, 3, 4, 3, 1, -3, -7, - -2, 1, 3, 3, 2, 0, -3, -7, -2, 0, 2, 3, 2, 0, -3, -6, - 10, 9, 8, 6, 6, 5, 4, 4, 6, 5, 4, 3, 2, 2, 2, 1, - 2, 1, 0, -1, -2, -2, -2, -1, -1, -2, -3, -4, -4, -4, -4, -3, - -2, -3, -4, -4, -5, -4, -4, -3, -2, -2, -3, -3, -3, -3, -2, -2, - -1, -1, -1, -1, -1, -1, -1, 0, 1, 1, 1, 1, 1, 1, 1, 2, - -2, -1, 1, 2, 4, 5, 7, 8, -3, -2, 0, 1, 3, 5, 7, 8, - -4, -3, -1, 0, 2, 4, 6, 7, -5, -4, -2, -1, 1, 3, 5, 7, - -6, -5, -3, -2, 0, 2, 4, 6, -6, -5, -4, -2, -1, 1, 3, 5, - -7, -6, -5, -3, -2, 0, 2, 3, -8, -7, -5, -4, -3, -1, 1, 2, - 11, 9, 7, 5, 3, 1, -1, -1, 10, 8, 6, 3, 1, 0, -2, -2, - 9, 7, 5, 2, 0, -2, -3, -4, 8, 6, 3, 1, -1, -3, -4, -4, - 6, 4, 2, -1, -3, -4, -5, -5, 5, 3, 0, -2, -4, -5, -6, -6, - 3, 1, -1, -3, -5, -6, -7, -7, 2, 0, -2, -4, -6, -6, -7, -7, - 5, 6, 7, 7, 7, 8, 8, 8, 3, 4, 5, 5, 6, 6, 6, 6, - 0, 2, 2, 3, 4, 4, 4, 5, -2, -1, 0, 1, 2, 2, 3, 3, - -4, -3, -2, -1, 0, 1, 1, 2, -6, -5, -4, -3, -2, -2, -1, 0, - -8, -7, -6, -6, -5, -4, -3, -3,-10, -9, -8, -8, -7, -6, -6, -5, - 6, 5, 3, 1, -1, -3, -6, -8, 6, 5, 4, 2, -1, -3, -6, -8, - 6, 5, 4, 2, 0, -3, -6, -8, 6, 5, 4, 2, 0, -3, -6, -8, - 6, 6, 4, 2, 0, -3, -6, -8, 6, 5, 4, 2, 0, -3, -6, -8, - 6, 5, 4, 2, 0, -3, -6, -8, 6, 5, 4, 2, -1, -3, -5, -8, - 11, 10, 9, 8, 7, 6, 5, 4, 8, 8, 7, 6, 5, 4, 3, 2, - 6, 5, 4, 4, 2, 2, 1, 0, 3, 3, 2, 1, 0, 0, -1, -2, - 1, 1, 0, -1, -2, -2, -3, -3, -1, -1, -2, -3, -4, -4, -5, -5, - -3, -4, -4, -5, -6, -6, -7, -7, -5, -5, -6, -7, -8, -8, -8, -8, - -14,-13,-12,-11, -9, -7, -6, -4,-12,-11,-10, -9, -7, -5, -3, -1, - -10, -9, -7, -6, -3, -2, 0, 2, -8, -6, -4, -2, 0, 2, 4, 5, - -5, -3, 0, 2, 4, 5, 7, 8, -2, 0, 2, 4, 6, 8, 9, 10, - 0, 3, 5, 7, 8, 10, 11, 12, 3, 5, 7, 8, 10, 11, 12, 12, - -19,-19,-18,-18,-17,-16,-15,-14,-15,-15,-14,-13,-12,-11,-10, -9, - -11,-10, -9, -8, -6, -5, -4, -3, -6, -5, -3, -2, -1, 0, 1, 2, - -1, 0, 2, 3, 4, 5, 6, 6, 4, 6, 7, 8, 9, 10, 10, 10, - 9, 10, 11, 12, 13, 14, 14, 14, 12, 14, 14, 15, 16, 16, 16, 16, - 22, 21, 19, 17, 14, 11, 9, 5, 20, 19, 17, 14, 11, 8, 4, 1, - 17, 15, 13, 10, 6, 3, 0, -4, 13, 11, 8, 5, 1, -2, -5, -9, - 9, 6, 3, -1, -4, -7,-11,-13, 4, 0, -3, -6, -9,-12,-15,-17, - -2, -5, -8,-11,-14,-16,-18,-20, -8,-10,-13,-16,-17,-19,-21,-22, - 17, 18, 18, 18, 17, 16, 16, 14, 16, 16, 15, 15, 14, 13, 12, 11, - 12, 12, 11, 10, 9, 8, 7, 5, 7, 6, 6, 4, 3, 2, 1, -1, - 1, 0, -1, -2, -3, -4, -5, -6, -5, -6, -7, -8, -9,-10,-11,-12, - -11,-12,-13,-14,-15,-16,-16,-17,-16,-17,-17,-18,-19,-20,-20,-20, - 0, 0, 0, 0, -1, -1, -2, -3, 1, 0, 0, 0, 0, -1, -2, -3, - 1, 1, 0, 0, -1, -1, -2, -2, 1, 1, 1, 0, 0, -1, -1, -2, - 2, 1, 1, 1, 0, -1, -1, -2, 2, 2, 1, 1, 0, 0, -1, -2, - 2, 2, 1, 1, 1, 0, -1, -1, 2, 2, 1, 1, 1, 0, 0, -2, - 0, -1, -1, 0, 0, 1, 2, 3, 0, -1, -1, 0, 1, 1, 2, 2, - -1, -1, -1, -1, 0, 1, 2, 2, -1, -1, -2, -1, 0, 1, 1, 2, - -1, -2, -2, -1, 0, 0, 1, 2, -1, -2, -2, -2, -1, 0, 1, 2, - -1, -1, -2, -1, 0, 0, 1, 2, -1, -1, -1, -1, 0, 1, 1, 2, - 3, 2, 2, 2, 1, 1, 0, 0, 3, 2, 2, 2, 2, 1, 0, 0, - 2, 2, 2, 1, 1, 1, 0, 0, 2, 2, 1, 1, 1, 0, 0, -1, - 1, 1, 1, 0, 0, 0, -1, -1, 0, 0, -1, -1, -1, -1, -1, -1, - -2, -2, -2, -2, -2, -2, -2, -2, -2, -3, -3, -3, -2, -2, -2, -2, - 5, 2, 0, 0, -1, 0, 0, 0, 4, 2, 0, -1, -1, -1, 0, -1, - 4, 1, -1, -1, -2, -1, -1, -1, 4, 1, -1, -1, -2, -1, -1, -1, - 4, 1, -1, -2, -2, -1, -1, -1, 4, 1, -1, -2, -2, -1, -1, -1, - 4, 1, -1, -1, -1, -1, -1, -1, 4, 2, 0, -1, 0, 0, 0, -1, - -2, -1, 0, 1, 1, 1, 1, 1, -3, -1, 0, 1, 1, 1, 1, 1, - -3, -1, 0, 1, 1, 1, 1, 1, -3, -1, 0, 1, 1, 1, 1, 1, - -3, -2, 0, 1, 2, 2, 1, 1, -4, -2, 0, 1, 2, 2, 2, 2, - -5, -3, -1, 1, 1, 2, 1, 2, -5, -3, -2, 0, 1, 1, 1, 1, - 3, 3, 1, 0, -2, -4, -4, -5, 3, 3, 2, 0, -1, -2, -3, -4, - 2, 2, 1, 1, 0, -1, -2, -2, 1, 1, 1, 1, 1, 0, 0, 0, - 0, 0, 0, 1, 1, 1, 1, 1, -2, -1, -1, 0, 0, 1, 2, 2, - -3, -2, -2, -1, 0, 1, 2, 3, -3, -3, -2, -1, 0, 1, 2, 3, - -3, -3, -3, -3, -3, -2, -2, -2, -3, -3, -2, -2, -2, -1, -1, -1, - -2, -2, -2, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 2, 2, 2, 2, - 1, 1, 1, 2, 2, 3, 3, 3, 2, 2, 2, 2, 3, 3, 3, 3, - -8, -7, -5, -3, -2, -1, 0, -1, -4, -3, -1, 0, 1, 2, 1, 1, - -1, 1, 2, 3, 3, 2, 2, 1, 1, 2, 3, 3, 2, 2, 1, 0, - 2, 3, 3, 2, 1, 0, 0, -1, 1, 2, 1, 0, -1, -1, -1, -1, - 1, 1, 0, -1, -1, -2, -2, -1, 1, 1, 0, 0, -1, -1, 0, -1, - -4, -3, -2, 0, 1, 2, 3, 3, -4, -3, -2, 0, 1, 2, 2, 2, - -3, -3, -2, -1, 0, 1, 1, 1, -2, -2, -2, -1, -1, 0, 0, 0, - 0, -1, -1, -1, -1, -1, -1, -1, 2, 1, 1, 0, 0, -1, -1, -2, - 3, 3, 3, 1, 0, -1, -2, -2, 5, 4, 4, 2, 1, 0, -1, -2, - 0, 0, 0, 0, 1, 2, 3, 3, 0, -1, 0, 0, 1, 2, 3, 3, - 0, -1, 0, 0, 1, 2, 3, 2, 0, 0, 0, 1, 1, 2, 2, 2, - 2, 1, 1, 1, 1, 1, 1, 0, 2, 2, 2, 1, 0, 0, -1, -2, - 2, 1, 0, 0, -2, -3, -5, -6, 0, -1, -1, -3, -5, -6, -8, -9, - -2, 0, 1, 2, 2, 1, -1, -4, -2, 0, 2, 2, 2, 1, -1, -4, - -2, 0, 2, 2, 2, 1, -1, -3, -2, 0, 2, 2, 2, 1, -1, -3, - -2, -1, 2, 2, 2, 1, -1, -3, -2, -1, 1, 2, 2, 1, -1, -3, - -3, -1, 1, 2, 2, 1, -1, -3, -2, -1, 1, 2, 2, 1, -1, -3, - -1, 1, 1, -1, -3, -3, 0, 4, -1, 1, 1, -1, -3, -3, 0, 4, - -1, 1, 1, 0, -3, -3, 0, 4, -1, 1, 2, 0, -3, -3, 0, 5, - 0, 1, 2, 0, -3, -4, 0, 4, 0, 1, 2, 0, -3, -4, 0, 5, - 0, 1, 2, 0, -3, -3, 0, 4, 0, 1, 2, -1, -2, -2, 0, 4, - 6, 6, 5, 6, 5, 5, 5, 5, 2, 2, 2, 2, 2, 2, 2, 2, - 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -2, -2, -2, -2, - -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, - -1, -1, -2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 2, 2, 2, 2, 2, 2, 2, 2, 0, 1, 1, 0, 0, 0, 0, 0, - -1, -2, -2, -2, -2, -2, -2, -1, -3, -3, -3, -3, -3, -3, -3, -2, - -3, -4, -4, -3, -3, -3, -2, -2, -2, -2, -2, -2, -1, -1, 0, 0, - 0, 1, 1, 1, 2, 2, 3, 3, 3, 4, 4, 5, 5, 6, 6, 6, - 4, 1, -2, -3, -3, -1, 1, 3, 4, 1, -2, -4, -3, -1, 1, 3, - 5, 1, -2, -4, -3, -1, 1, 4, 5, 1, -2, -3, -3, -1, 2, 4, - 5, 1, -2, -3, -3, -1, 2, 4, 4, 0, -3, -4, -3, -1, 2, 4, - 4, 0, -3, -3, -3, -1, 1, 3, 3, 0, -2, -3, -2, -1, 1, 3, - -3, -4, -4, -4, -4, -4, -4, -4, -1, -1, -1, -1, -1, -1, -2, -2, - 2, 1, 1, 2, 2, 1, 1, 1, 3, 3, 3, 4, 4, 3, 3, 3, - 3, 3, 3, 4, 4, 4, 3, 3, 1, 2, 1, 2, 2, 2, 2, 2, - -2, -2, -2, -1, -1, -1, 0, 0, -4, -4, -4, -4, -3, -3, -3, -3, - -1, -2, -3, -3, -2, -2, -1, 0, 0, -1, -2, -2, -2, -1, 0, 1, - 2, 1, -1, -1, -1, -1, 0, 1, 3, 1, 0, -1, -1, 0, 0, 1, - 3, 2, 0, -1, 0, 0, 0, 1, 3, 1, 0, -1, 0, 0, 0, 1, - 3, 1, 0, -1, 0, 0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, - 0, 0, 0, 1, 1, 2, 3, 4, 0, 0, -1, 0, 0, 0, 2, 3, - 0, -1, -1, -1, -1, -1, 0, 1, 0, -1, -1, -1, -1, -1, -1, 0, - 0, 0, -1, -1, -1, -2, -2, -1, 1, 0, 0, -1, -1, -2, -2, -1, - 2, 2, 1, 0, -1, -1, -1, -1, 3, 3, 2, 1, 0, -1, -1, 0, - 1, 0, 1, 0, 0, -1, -2, -1, 0, 0, 0, 0, -1, -1, -2, -1, - 0, -1, 0, 0, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, - -1, -1, -1, 0, 0, 0, 1, 1, -1, -1, -1, 0, 1, 1, 2, 3, - -2, -2, -1, 0, 1, 2, 3, 4, -2, -2, -1, 0, 1, 2, 4, 5, - -3, -1, 1, 0, 0, -1, 0, 1, -3, 0, 1, 0, -1, -1, 0, 2, - -3, 0, 1, 0, -1, -1, 0, 2, -2, 1, 2, 0, -1, -1, 0, 2, - -2, 1, 2, 0, -1, -1, 0, 2, -2, 1, 2, 0, -1, -1, 0, 2, - -1, 2, 2, 0, -1, -1, 0, 2, -1, 1, 1, 0, -1, -1, -1, 1, - -2, -2, -1, 1, 3, 4, 3, 1, -2, -2, -1, 0, 2, 3, 2, 0, - -2, -2, -1, 0, 1, 2, 1, -1, -1, -1, -1, 0, 1, 2, 1, -1, - -1, -1, -1, 0, 1, 1, 0, -2, 0, -1, -1, 0, 1, 1, 0, -1, - 0, -1, -1, 0, 1, 1, 1, -1, 0, -1, -1, 0, 0, 1, 0, -1, - -2, -1, 0, 1, 1, 1, 1, 1, -2, -1, 0, 0, 0, 0, 0, 0, - -2, -1, -1, 0, -1, -1, -2, -2, -2, -1, -1, -1, -1, -2, -2, -3, - -1, 0, 1, 1, 0, -1, -2, -2, 1, 2, 3, 3, 2, 1, 0, 0, - 1, 2, 3, 3, 3, 2, 1, 0, 0, 0, 1, 1, 1, 1, 0, 0, - 0, -1, -1, -1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, -1, 0, 0, 1, 1, 0, 0, 0, - -3, -2, -1, -1, -1, -1, 0, -1, -5, -5, -4, -3, -2, -2, -2, -1, - 1, 1, 1, 1, 2, 1, 0, -1, 1, 1, 1, 2, 1, 1, 0, -1, - 1, 1, 1, 1, 1, 1, 0, -2, 2, 1, 1, 1, 1, 1, 0, -2, - 1, 1, 0, 0, 0, 0, -1, -3, 1, 1, 0, 0, 0, -1, -2, -3, - 1, 1, 0, 0, -1, -1, -2, -4, 1, 0, 0, -1, -2, -2, -3, -4, - 8, 7, 5, 3, 2, 1, 1, 1, 2, 1, 0, 0, -1, -1, -2, -1, - -1, -1, -1, -2, -2, -2, -2, -1, -1, -1, -1, -1, 0, -1, -1, 0, - 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, - -1, 0, 0, 0, 0, 0, -1, -1, -2, -2, -1, -1, -1, -2, -2, -1, - 9, 4, 0, -2, -2, -2, -1, -1, 7, 2, -1, -2, -2, -1, 0, 0, - 4, 0, -2, -2, -1, 0, 1, 1, 1, -2, -2, -2, -1, 0, 1, 1, - -1, -2, -2, -1, 0, 1, 1, 1, -1, -2, -1, 0, 1, 1, 1, 0, - -1, -1, 0, 1, 1, 1, 0, -1, 0, -1, 0, 1, 0, 0, -1, -1, - 0, 1, 1, 1, 1, 1, 0, 0, 1, 2, 2, 2, 1, 0, 0, 0, - 2, 2, 2, 2, 1, 0, -1, -1, 1, 1, 1, 0, -1, -2, -2, -2, - 0, 0, 0, -1, -2, -3, -2, -2, -1, -1, -1, -2, -2, -2, -1, 0, - -1, -1, -1, -1, 0, 0, 1, 2, -1, -1, -1, 0, 1, 2, 3, 4, - -1, -1, 0, 0, -1, -2, -3, -3, -1, -1, 0, 0, 0, -1, -1, -1, - -2, -2, -1, 0, 1, 1, 1, 1, -2, -2, -2, 0, 1, 2, 3, 3, - -1, -1, -1, 0, 1, 3, 3, 3, 1, 0, 0, 0, 1, 1, 2, 2, - 2, 2, 1, 0, 0, -1, -1, -1, 3, 2, 1, 0, -1, -2, -3, -3, - -1, -1, -1, -2, -2, -3, -4, -5, 0, 0, 0, -1, -1, -3, -3, -4, - 1, 1, 1, 0, 0, -1, -2, -3, 2, 2, 2, 1, 1, 0, -1, -1, - 2, 2, 2, 2, 1, 1, 0, -1, 2, 2, 2, 2, 2, 1, 0, 0, - 1, 1, 2, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, -1, - -2, 2, 3, 1, -1, 1, 1, -1, -3, 2, 3, 0, -1, 1, 1, -1, - -3, 2, 3, 0, -1, 1, 1, -1, -4, 2, 3, 0, -1, 1, 1, -2, - -4, 1, 3, 0, -1, 1, 1, -2, -4, 1, 3, -1, -2, 1, 1, -2, - -3, 1, 2, 0, -1, 1, 1, -2, -3, 1, 2, 0, -1, 1, 1, -1, - -1, -1, -1, -2, -2, -2, -2, -2, 1, 1, 1, 1, 0, 0, 0, 0, - 1, 2, 2, 2, 2, 2, 2, 2, 0, 0, 1, 1, 1, 2, 2, 2, - -2, -2, -1, -1, -1, 0, 0, 0, -3, -3, -3, -3, -3, -3, -3, -2, - -1, -1, -1, -1, -2, -2, -2, -2, 4, 4, 4, 4, 4, 3, 3, 2, - -3, -3, -2, -1, 0, 1, 2, 5, -3, -3, -3, -2, -1, 1, 3, 6, - -3, -3, -2, -2, 0, 2, 3, 5, -3, -2, -2, -2, 0, 1, 3, 5, - -2, -2, -2, -1, -1, 1, 3, 5, -2, -2, -1, -1, 0, 1, 2, 4, - -1, -1, -1, -1, 0, 1, 1, 4, -1, -1, -1, -1, 0, 1, 2, 3, - 0, -1, 0, 1, 1, 0, -1, -1, 0, 0, 0, 1, 2, 0, -1, -1, - 1, 0, -1, 0, 1, 0, 0, 0, 1, -1, -2, -1, 0, 0, 0, 0, - 1, -2, -3, -1, 0, 0, 0, 1, 1, -1, -3, -2, 0, 1, 1, 2, - 1, -1, -2, -1, 0, 1, 1, 2, 2, 0, -1, 0, 1, 1, 2, 2, - 1, 1, 1, 1, 0, 0, 1, 2, -1, 0, 0, -1, 0, 0, 0, 1, - -3, -2, -1, -1, -1, 0, 1, 1, -4, -2, -1, 0, 0, 1, 1, 1, - -3, -2, 0, 0, 1, 1, 1, 1, -3, -1, 0, 1, 1, 1, 0, 0, - -1, 0, 1, 1, 1, 0, 0, -1, 0, 1, 2, 2, 1, 0, 0, -1, - -4, -4, -4, -3, -2, -1, -1, -1, -2, -2, -2, -1, 0, 0, 0, 0, - -1, 0, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, - 0, 0, 1, 1, 2, 2, 1, 0, 0, 0, 1, 1, 1, 1, 1, 0, - 0, 0, 0, 1, 1, 1, 1, 0, -1, 0, 0, 1, 1, 1, 0, 0, - 1, 2, 2, 2, 1, -1, -2, -4, 1, 1, 2, 2, 1, 0, -2, -4, - 0, 1, 1, 1, 1, 0, -1, -3, -1, 0, 1, 1, 0, 0, -1, -2, - -1, 0, 1, 1, 1, 0, 0, -1, -2, -1, 0, 0, 0, 0, 0, -1, - -1, -1, 0, 1, 1, 0, 0, 0, -1, 0, 1, 1, 1, 1, 1, 0, - 2, 2, 0, -1, -2, -1, -1, -2, 1, 1, -1, -2, -2, -1, -1, -2, - 1, 1, -1, -2, -2, 0, 0, -1, 1, 1, 0, -2, -1, 1, 1, 0, - 1, 1, 0, -1, -1, 1, 2, 1, 1, 1, 0, -1, -1, 1, 2, 1, - 1, 1, 0, -1, -1, 1, 1, 1, 1, 1, 0, -1, 0, 1, 1, 1, - 0, 0, -1, -2, -4, -4, -4, -4, 3, 3, 3, 2, 1, 0, 0, 0, - 3, 3, 3, 3, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 1, - -1, -1, -1, -1, -1, -1, -1, 0, 0, -1, 0, 0, -1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, 0, - -1, -1, 0, -1, -1, 1, 2, -1, 1, 1, 0, 0, 0, 2, 3, -1, - 1, 1, 0, -1, -1, 1, 3, -1, 1, 1, 0, -2, -2, 0, 1, -2, - 1, 0, 0, -2, -2, 0, 1, -3, 0, 0, 0, 0, -1, 1, 1, -3, - 0, 1, 1, 0, 1, 2, 1, -3, -1, 0, 1, 1, 1, 2, 1, -4, - -4, -3, 0, 1, 1, 1, 0, 0, -4, -2, 0, 1, 1, 1, 0, -1, - -3, -1, 1, 1, 1, 0, -1, -1, -1, 1, 1, 1, 1, 0, -1, 0, - 1, 2, 2, 1, 0, -1, 0, 0, 2, 2, 1, 0, -1, -1, 0, 1, - 2, 1, 0, -1, -2, -1, 0, 1, 2, 2, 0, -1, -2, -1, 1, 1, - 1, 1, 0, 0, -1, -1, -1, -1, 0, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, -1, -1, -1, -1, -1, -1, - 1, 0, 0, -1, -1, -1, -1, -1, 2, 1, 0, 0, -1, -1, -1, -1, - 5, 3, 2, 1, 0, 0, 0, 0, 6, 5, 3, 2, 1, 0, 0, 0, - 4, 4, 3, 1, 0, 0, 0, 1, 3, 3, 2, 1, 0, 0, 0, 1, - 2, 2, 1, 0, -1, -1, 0, 1, 0, 0, 0, -1, -1, -1, 0, 1, - 0, 0, -1, -1, -2, -1, 0, 2, 0, -1, -1, -2, -2, -2, 0, 1, - 0, -1, -1, -2, -2, -2, -1, 0, 0, 0, -1, -2, -2, -2, -1, 0, - 0, 0, -1, -1, -1, 0, 2, 3, 0, -1, -2, -2, -1, -1, 1, 2, - 1, 0, -1, -1, -1, 0, 0, 0, 1, 1, 1, 0, 0, 0, -1, -1, - 1, 2, 1, 0, 0, -1, -1, -1, -1, 0, 0, 0, -1, -1, -1, -1, - -3, -2, -1, -1, 0, 1, 1, 2, -4, -3, -1, 1, 2, 3, 5, 5, - 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, - 0, 0, 0, -1, 0, 0, 0, 1, -1, -1, -2, -2, -2, -1, -1, 0, - 0, 0, 0, 0, 0, 1, 1, 1, 2, 2, 2, 2, 2, 3, 3, 3, - 1, 1, 1, 1, 2, 2, 1, 1, -4, -3, -4, -4, -4, -4, -3, -3, - -1, 0, 1, 2, 2, 3, 3, 3, -1, -1, -1, -1, 0, 0, 0, 0, - 0, 0, -1, -2, -2, -3, -3, -2, 3, 2, 1, 0, -1, -2, -2, -2, - 4, 3, 2, 1, 1, 0, 0, 0, 2, 2, 1, 1, 0, 1, 1, 1, - 0, -1, -1, -1, -1, 0, 0, 1, -2, -2, -2, -2, -2, -1, 0, 0, - 1, -1, 0, 2, 1, -2, -1, 1, 1, -1, 0, 2, 1, -2, -2, 1, - 1, -1, 0, 3, 2, -2, -1, 1, 0, -2, 0, 3, 2, -2, -2, 1, - 0, -2, 0, 3, 2, -2, -2, 1, 0, -2, 0, 3, 1, -2, -1, 1, - 0, -2, 0, 2, 1, -2, -2, 1, 0, -1, 0, 2, 1, -2, -1, 1, - 0, 1, 2, 2, 3, 3, 2, 2, 0, 1, 1, 2, 3, 3, 2, 1, - 0, 0, 1, 2, 2, 2, 2, 1, -1, 0, 0, 1, 1, 1, 1, 1, - -1, -1, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, - -2, -2, -2, -2, -2, -2, -2, -1, -2, -2, -2, -2, -2, -2, -2, -1, - 0, 0, -1, -2, -1, 0, 3, 5, 0, 0, -1, -1, -1, 0, 2, 4, - 1, 1, 0, 0, -1, -1, 1, 2, 1, 2, 1, 1, 0, -1, -1, 0, - 0, 1, 2, 1, 0, -1, -2, -2, -1, 0, 1, 2, 1, 0, -3, -3, - -2, -1, 1, 2, 2, 0, -2, -4, -2, -1, 0, 2, 2, 1, -1, -3, - 0, 0, 0, 0, 0, 0, -1, -1, 0, 0, -1, 0, 0, 0, 0, 0, - -1, -1, -1, -1, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, 0, - -1, -1, -1, -1, -1, -1, -1, 0, -1, 0, 0, 0, 0, -1, -1, 0, - 0, 0, 1, 1, 0, 0, 0, 1, 3, 3, 3, 4, 3, 3, 3, 3, - 5, 1, -2, -2, 0, 0, 0, -1, 4, -1, -3, -1, 0, 0, 0, -1, - 3, -1, -1, 0, 1, 1, 0, -1, 2, 0, 0, 1, 1, 1, 0, -2, - 1, 0, 0, 1, 1, 1, 0, -2, 0, -1, -1, -1, 0, 0, 0, -1, - 0, -1, -1, -1, -1, 0, 0, -1, 2, 1, 0, 0, 0, 1, 0, 0, - 1, 0, 1, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, - 1, -1, -1, 0, 0, 0, 0, 0, 2, 0, -1, -1, -1, -1, -1, 0, - 3, 1, -1, -1, -2, -2, -2, -1, 4, 2, 1, 0, -1, -2, -2, -1, - 2, 1, 0, 0, -1, -1, 0, 0, 0, -1, -1, -1, -1, 0, 1, 1, - 0, 1, 2, 2, 2, 1, -1, -3, 0, 0, 1, 1, 1, 0, -1, -2, - 0, 0, 0, 0, 0, 0, -1, -1, 0, 0, -1, 0, 0, 1, 1, 0, - 0, 0, -1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 0, - 0, 0, 1, 1, 2, 1, -1, -3, 0, 0, 0, 1, 1, -1, -4, -5, - -2, -2, -2, -1, 0, 2, 2, 2, 0, 0, 0, 0, 1, 1, 1, 0, - 1, 1, 1, 1, 1, 0, -2, -3, 0, 0, 1, 1, 0, -1, -3, -4, - -1, -1, 0, 1, 0, 0, -2, -3, -1, -1, 0, 1, 1, 1, 0, -1, - 0, 0, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, - 0, 1, 0, 0, 1, 1, 1, 2, 1, 2, 0, 0, 0, 0, -1, 1, - 0, 2, 0, -1, 1, 0, -1, 0, 0, 1, 0, 0, 2, 1, 0, 1, - 0, 1, -1, 0, 2, 2, 0, 1, -1, 0, -1, -1, 2, 1, 1, 2, - -2, -2, -3, -2, 0, 1, 1, 1, -2, -2, -3, -3, -1, -1, -1, 0, - -3, -1, 0, 1, 2, 1, 1, 0, -3, -1, 0, 1, 2, 1, 1, 1, - -2, 0, 0, 1, 1, 1, 1, 1, -1, 0, 0, 0, 0, 0, 0, 0, - -2, 0, 0, 0, 0, -1, -1, 0, -2, 0, 0, 0, 0, 0, -1, -1, - -3, 0, 1, 1, 1, 1, 0, 1, -5, -2, 0, 1, 2, 2, 1, 2, - -2, -1, -1, 0, 0, 1, 2, 3, 0, 0, 1, 1, 0, 0, 1, 2, - 0, 0, 1, 0, -1, -1, 0, 1, -1, -1, -1, -1, -2, -2, -1, 0, - -2, -2, -2, -2, -2, -1, 0, 1, 0, 0, 0, -1, 0, 1, 2, 2, - 2, 1, 0, 0, 0, 1, 2, 2, 2, 1, 0, -1, -1, -1, 0, 0, - 0, 1, 1, 1, 1, 1, -1, -4, -1, -1, 0, 1, 1, 1, 0, -3, - -2, -1, 0, 0, 1, 2, 2, -2, -1, 0, 0, 0, 0, 2, 3, -1, - -1, 0, 0, 0, 0, 1, 2, 0, 0, 0, -1, -2, -1, 1, 1, 0, - 0, 0, -1, -2, -2, 0, 2, 1, 0, 0, -1, -2, -1, 1, 2, 2, - 1, 0, 0, 0, -2, -3, -2, -3, 0, 0, 1, 0, -2, -2, -1, -1, - 0, -1, 1, 1, -1, -1, 0, 0, 0, -1, 1, 1, -1, -1, 0, 0, - 0, 1, 2, 1, -1, -1, 0, 1, 1, 2, 3, 2, 0, 0, 1, 2, - -1, 0, 2, 1, 0, 0, 2, 3, -2, -1, 0, 0, -1, 0, 1, 2, - 1, 1, 0, -1, -2, -2, -1, 1, 1, 1, 1, -1, -2, -2, 0, 2, - 1, 1, 1, -1, -1, -1, 0, 2, 0, 0, 0, 0, 0, 0, 1, 2, - -1, -1, -1, 0, 0, 0, 1, 2, -1, -2, -1, 1, 1, 1, 0, 0, - -1, -2, -1, 1, 2, 2, 0, -1, -1, -2, -1, 2, 2, 2, 0, -1, - -1, -1, -1, -2, -1, -1, 0, 1, 0, 0, -1, -1, -1, 0, 1, 2, - 1, 0, 0, 0, 0, 1, 1, 2, 1, 1, 0, 0, 1, 1, 1, 1, - 1, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, -1, -1, -1, - 1, 2, 1, 0, -1, -2, -2, -3, 2, 2, 1, 0, -2, -3, -4, -4, - -4, -2, 1, 1, 1, 1, 0, 0, -2, 0, 1, 0, 0, 0, 0, 0, - 0, 1, 1, -2, -2, -1, 0, 1, 2, 2, 1, -2, -2, -1, 1, 2, - 1, 2, 1, -2, -2, -1, 1, 2, -1, 1, 1, -1, -1, -1, 0, 1, - -2, 0, 1, 1, 0, -1, -1, 0, -2, 0, 2, 2, 1, -1, -1, 0, - 1, 1, 0, 0, 0, 1, 0, 0, -2, -3, -3, -2, -2, -1, 0, 0, - -3, -4, -3, -2, -1, 0, 0, 0, -1, -1, 0, 1, 2, 3, 2, 1, - 0, 1, 2, 3, 3, 3, 2, 1, 1, 1, 1, 2, 1, 0, 0, -1, - 0, 0, 0, 0, -1, -1, -1, -1, 0, -1, -1, 0, 0, 0, 0, 0, - 1, 1, 0, 0, -1, -1, 0, 2, 0, 0, 1, 0, -1, -1, 1, 1, - -2, -1, 0, 1, 1, 1, 1, 1, -3, -3, 0, 2, 2, 1, 1, 0, - -2, -2, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, -1, -1, - 3, 1, -1, -3, -2, -1, 0, 1, 4, 2, -1, -3, -3, -1, 1, 2, - 0, 0, 0, -1, -1, -1, -1, -1, 1, 2, 1, 0, 0, 0, -1, -1, - 2, 3, 3, 2, 1, 0, -1, -1, 3, 4, 4, 2, 1, 0, -1, -2, - 3, 3, 2, 1, 0, -1, -2, -2, 1, 1, 0, -1, -1, -2, -2, -3, - 0, 0, 0, -1, -1, -2, -2, -2, -1, -1, -1, -1, -1, -2, -2, -1, - 1, 2, 2, 2, 2, 1, 2, 2, 0, 1, 1, 1, 1, 0, 0, 0, - 0, 0, 0, 1, 1, 0, -1, -2, 0, 0, 0, 0, 1, 0, -1, -4, - 1, 0, 0, 0, 0, 0, -2, -5, 1, 0, 0, 0, 0, 0, -1, -4, - 1, 0, -1, 0, 0, 0, -1, -3, 0, -1, -1, 0, 1, 1, 1, -1, - -2, -1, 0, 0, -1, -1, -1, -2, -1, 0, 0, 0, -1, -1, -2, -2, - 0, 1, 1, 0, -1, -1, -1, -2, 0, 1, 1, 0, 0, 0, -1, -1, - 0, 1, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 1, 2, 2, 1, - 1, 1, 0, 0, 1, 2, 2, 1, 1, 1, 0, -1, 0, 1, 1, 0, - 4, 2, 1, 0, 0, 1, 1, 1, 4, 2, 1, 0, 0, 0, 0, 1, - 3, 1, 0, 0, -1, -1, -1, 0, 1, 0, 0, -1, -1, -2, -1, 0, - 0, 0, 0, 0, -1, -1, -1, 0, -1, -1, 0, 0, -1, -1, 0, 1, - -2, -1, 0, -1, -1, 0, 0, 1, -2, -2, -1, -2, -1, 0, 0, 1, - 0, 1, 1, 1, 2, 1, 0, -1, -1, -1, -1, 0, 0, -1, -2, -2, - -1, 0, -1, 0, 0, -1, -2, -1, 0, 0, 0, 0, 0, 0, 1, 2, - 0, 0, 0, 0, 0, 0, 2, 3, -1, 0, -1, -1, -1, -1, 0, 3, - -1, 0, 0, -1, -1, -2, 0, 3, 0, 0, 0, 0, -1, -1, 1, 4, - 2, 2, 0, 0, 0, 0, 0, 1, 1, 1, -1, -2, -1, -2, -1, 1, - -1, -1, -2, -2, -2, -3, -2, 0, -1, 0, -1, -1, -1, -2, -1, 1, - 1, 1, 0, 0, 1, 0, 0, 1, 2, 2, 0, 0, 1, 0, 0, 1, - 2, 2, 0, 0, 0, 0, -1, -1, 2, 2, 0, 0, 1, 0, -1, -1, - -1, 0, 1, 1, 0, -1, -1, -1, 1, 2, 3, 2, 1, 0, 0, 0, - 0, 1, 1, 1, 0, -1, 0, 0, -2, -2, -1, 0, 1, 0, 0, 0, - -2, -2, -1, 2, 2, 2, 1, 0, -2, -1, 0, 1, 1, 0, 0, -1, - -1, -1, 0, 0, -1, -2, -1, -2, 0, 1, 1, 1, 0, 0, 1, 1, - -3, -3, -3, -2, -1, -1, -2, -2, -1, -1, 0, 1, 2, 1, 0, 0, - 1, 1, 1, 2, 2, 1, 0, 0, 1, 1, 1, 1, 1, 0, -1, 1, - 1, 0, -1, -1, 0, 0, -1, 1, 0, -1, -1, -1, 0, -1, -1, 1, - 1, 0, -1, 0, 0, -1, 0, 2, 2, 0, -1, 0, 0, 0, 0, 2, - 1, 0, -2, -1, 0, 1, 1, 0, 2, 0, -1, -1, 0, 1, 1, 0, - 1, 0, -2, -1, 0, 1, 0, -1, 1, 0, -1, -1, 0, 1, 0, -1, - 0, 1, 1, 0, 1, 1, 0, 0, -2, 1, 2, 1, 0, 0, 0, 1, - -5, 0, 2, 1, 0, -1, 0, 1, -6, -1, 2, 1, 0, -1, 0, 0, - 5, 3, 0, -1, -2, -1, -1, -1, 1, 1, 0, -1, -1, 0, -1, -1, - -1, 0, 1, 1, 2, 2, 1, 0, -2, -1, 0, 1, 2, 1, 1, 1, - -2, -1, -1, -1, 0, -1, 0, 1, 0, 1, 0, 0, -1, -1, 0, 0, - 0, 1, 1, 1, 1, 0, 0, 0, -3, -2, 0, 1, 1, 0, 0, -1, - -1, 0, 1, 0, -1, 0, 2, 3, -1, 0, 0, -2, -4, -2, -1, 0, - 0, 1, 1, 0, -2, -1, 0, -1, 1, 2, 3, 1, 0, 1, 1, 0, - -1, 0, 1, 1, 1, 1, 1, 0, -2, -3, -2, 0, 0, 0, 1, 0, - -1, -2, -2, 0, 1, 0, 0, -1, 3, 1, 0, 0, 1, 0, -1, -1, - -2, -1, 0, 0, -1, -1, 0, 0, -1, 0, 0, 0, 0, 1, 1, 1, - -1, -1, -1, 0, 1, 1, 1, 1, 0, -2, -3, -1, 1, 0, 0, 0, - 1, -1, -3, -1, 1, 1, 0, -1, 3, 1, -1, 1, 2, 2, 0, -1, - 3, 1, 0, 1, 2, 1, 1, 0, 0, -2, -2, -1, -1, 0, 0, 0, - 1, 0, -1, -1, 1, 2, 1, 0, 0, -1, -2, -1, 1, 2, 2, 1, - -1, -1, -1, 0, 0, 1, 2, 0, -2, 0, 0, 0, 0, 0, 1, -1, - -1, 0, 1, 0, -1, -1, -1, -1, 0, 1, 1, 2, 0, -2, -1, 0, - 1, 2, 2, 2, 1, -1, -1, 0, 0, 1, 1, 1, 0, -2, -2, -1, - 0, 0, -1, -1, -1, -1, -2, -2, 0, 0, -1, 0, 1, 2, 2, 1, - 0, 0, -1, -1, 0, 1, 2, 2, 1, 1, -1, -2, -1, -1, -1, -1, - 2, 2, 1, 0, 0, -1, -2, -2, 1, 2, 2, 1, 0, 0, -2, -2, - 0, 0, 0, 0, 1, 1, 0, -1, 0, -1, -1, -1, 2, 3, 2, 1, - 0, -2, 1, 2, -1, 0, 0, 1, -1, -2, 2, 3, -1, 0, 0, 0, - 0, -2, 2, 3, -1, -1, 0, 0, 0, -1, 3, 2, -2, 0, 1, 0, - 0, -1, 3, 1, -2, 0, 1, 0, 0, -1, 2, 1, -1, 1, 0, -1, - 0, 0, 1, -1, -2, 0, 0, -1, 1, 0, 0, -2, -2, -1, -1, -1, - 1, 1, 1, 1, 1, -1, -1, -2, 0, 0, 0, 1, 1, 1, 1, 1, - 0, 0, 0, 1, 1, 1, 2, 3, 1, 0, 0, -1, 0, 0, 1, 2, - 0, -1, -1, -2, -1, 0, 1, 2, -2, -2, -2, -2, -1, 0, 1, 1, - -1, -1, -1, -1, 0, 0, 0, -1, 2, 2, 2, 0, -1, -1, -2, -4, - -1, -2, -1, -1, 0, 1, 2, 3, -1, -1, -1, -1, 0, 1, 2, 3, - 1, 0, -1, 0, -1, 0, 1, 2, 1, 0, 0, 0, -1, 0, 2, 2, - 1, 0, -1, -1, -2, 0, 1, 2, 0, -2, -2, -2, -3, -1, 0, 1, - 0, -2, -2, -2, -2, -1, 1, 1, 0, 0, 0, 0, 0, 1, 2, 2 -}; - -static const int8 *const s_svq1IntraCodebooks[6] = { - s_svq1IntraCodebook4x2, s_svq1IntraCodebook4x4, - s_svq1IntraCodebook8x4, s_svq1IntraCodebook8x8, - 0, 0 -}; - -} // End of namespace Video - -#endif diff --git a/video/codecs/svq1_vlc.h b/video/codecs/svq1_vlc.h deleted file mode 100644 index 01c33fc04f..0000000000 --- a/video/codecs/svq1_vlc.h +++ /dev/null @@ -1,341 +0,0 @@ -/* 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. - * - */ - -// These tables are modified versions of the FFmpeg ones so that they -// will work with our BitStream class directly. - -#ifndef VIDEO_CODECS_SVQ1_VLC_H -#define VIDEO_CODECS_SVQ1_VLC_H - -#include "common/scummsys.h" - -namespace Video { - -static const byte s_svq1BlockTypeLengths[4] = { - 1, 2, 3, 3 -}; - -static const uint32 s_svq1BlockTypeCodes[4] = { - 1, 1, 1, 0 -}; - -static const byte s_svq1IntraMultistageLengths0[8] = { - 5, 1, 3, 3, 4, 4, 5, 4 -}; - -static const uint32 s_svq1IntraMultistageCodes0[8] = { - 1, 1, 3, 2, 3, 2, 0, 1 -}; - -static const byte s_svq1IntraMultistageLengths1[8] = { - 4, 2, 3, 3, 3, 3, 4, 3 -}; - -static const uint32 s_svq1IntraMultistageCodes1[8] = { - 1, 3, 5, 4, 3, 2, 0, 1 -}; - -static const byte s_svq1IntraMultistageLengths2[8] = { - 5, 1, 3, 5, 4, 3, 4, 4 -}; - -static const uint32 s_svq1IntraMultistageCodes2[8] = { - 1, 1, 3, 0, 3, 2, 2, 1 -}; - -static const byte s_svq1IntraMultistageLengths3[8] = { - 6, 1, 2, 6, 4, 4, 5, 4 -}; - -static const uint32 s_svq1IntraMultistageCodes3[8] = { - 1, 1, 1, 0, 3, 2, 1, 1 -}; - -static const byte s_svq1IntraMultistageLengths4[8] = { - 6, 1, 2, 5, 5, 6, 5, 3 -}; - -static const uint32 s_svq1IntraMultistageCodes4[8] = { - 1, 1, 1, 3, 2, 0, 1, 1 -}; - -static const byte s_svq1IntraMultistageLengths5[8] = { - 7, 1, 2, 3, 4, 6, 7, 5 -}; - -static const uint32 s_svq1IntraMultistageCodes5[8] = { - 1, 1, 1, 1, 1, 1, 0, 1 -}; - -static const byte *s_svq1IntraMultistageLengths[6] = { - s_svq1IntraMultistageLengths0, s_svq1IntraMultistageLengths1, s_svq1IntraMultistageLengths2, - s_svq1IntraMultistageLengths3, s_svq1IntraMultistageLengths4, s_svq1IntraMultistageLengths5 -}; - -static const uint32 *s_svq1IntraMultistageCodes[6] = { - s_svq1IntraMultistageCodes0, s_svq1IntraMultistageCodes1, s_svq1IntraMultistageCodes2, - s_svq1IntraMultistageCodes3, s_svq1IntraMultistageCodes4, s_svq1IntraMultistageCodes5 -}; - -static const byte s_svq1InterMultistageLengths0[8] = { - 2, 3, 3, 3, 3, 3, 4, 4 -}; - -static const uint32 s_svq1InterMultistageCodes0[8] = { - 3, 5, 4, 3, 2, 1, 1, 0 -}; - -static const byte s_svq1InterMultistageLengths1[8] = { - 2, 3, 3, 3, 3, 3, 4, 4 -}; - -static const uint32 s_svq1InterMultistageCodes1[8] = { - 3, 5, 4, 3, 2, 1, 1, 0 -}; - -static const byte s_svq1InterMultistageLengths2[8] = { - 1, 3, 3, 4, 4, 4, 5, 5 -}; - -static const uint32 s_svq1InterMultistageCodes2[8] = { - 1, 3, 2, 3, 2, 1, 1, 0 -}; - -static const byte s_svq1InterMultistageLengths3[8] = { - 1, 3, 3, 4, 4, 4, 5, 5 -}; - -static const uint32 s_svq1InterMultistageCodes3[8] = { - 1, 3, 2, 3, 2, 1, 1, 0 -}; - -static const byte s_svq1InterMultistageLengths4[8] = { - 1, 3, 3, 4, 4, 4, 5, 5 -}; - -static const uint32 s_svq1InterMultistageCodes4[8] = { - 1, 3, 2, 3, 2, 1, 1, 0 -}; - -static const byte s_svq1InterMultistageLengths5[8] = { - 1, 2, 3, 5, 5, 5, 6, 6 -}; - -static const uint32 s_svq1InterMultistageCodes5[8] = { - 1, 1, 1, 3, 2, 1, 1, 0 -}; - -static const byte *s_svq1InterMultistageLengths[6] = { - s_svq1InterMultistageLengths0, s_svq1InterMultistageLengths1, s_svq1InterMultistageLengths2, - s_svq1InterMultistageLengths3, s_svq1InterMultistageLengths4, s_svq1InterMultistageLengths5 -}; - -static const uint32 *s_svq1InterMultistageCodes[6] = { - s_svq1InterMultistageCodes0, s_svq1InterMultistageCodes1, s_svq1InterMultistageCodes2, - s_svq1InterMultistageCodes3, s_svq1InterMultistageCodes4, s_svq1InterMultistageCodes5 -}; - -static const byte s_svq1IntraMeanLengths[256] = { - 6, 7, 17, 20, 20, 20, 20, 20, 20, 19, - 11, 9, 11, 14, 14, 15, 16, 12, 10, 11, - 11, 9, 8, 8, 7, 4, 4, 6, 7, 8, - 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, - 9, 9, 9, 9, 9, 9, 9, 9, 8, 8, - 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, - 8, 8, 8, 8, 7, 8, 8, 8, 8, 8, - 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, - 8, 8, 8, 8, 8, 7, 8, 8, 7, 8, - 8, 8, 8, 8, 7, 8, 7, 7, 8, 7, - 7, 8, 7, 8, 8, 8, 7, 7, 8, 7, - 8, 7, 7, 7, 7, 7, 7, 7, 7, 7, - 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, - 8, 8, 8, 8, 8, 8, 8, 7, 7, 7, - 7, 7, 7, 7, 7, 7, 7, 7, 6, 6, - 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, - 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, - 9, 9, 9, 9, 8, 8, 9, 9, 9, 9, - 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, - 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, - 9, 9, 9, 9, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 11, 11, 11, 10, 11, 11, 11, - 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, - 11, 11, 11, 11, 11, 14 -}; - -static const uint32 s_svq1IntraMeanCodes[256] = { - 55, 86, 1, 1, 2, 3, 0, 4, 5, 3, - 21, 66, 20, 3, 2, 1, 1, 1, 43, 24, - 12, 65, 120, 108, 85, 15, 14, 52, 81, 114, - 110, 64, 63, 62, 61, 60, 59, 58, 57, 56, - 55, 67, 70, 71, 69, 68, 73, 72, 74, 121, - 118, 119, 113, 117, 116, 115, 106, 85, 112, 111, - 82, 109, 76, 107, 64, 105, 104, 103, 102, 101, - 100, 99, 98, 97, 96, 95, 94, 93, 92, 91, - 90, 89, 88, 87, 86, 61, 84, 83, 63, 81, - 80, 79, 78, 77, 65, 75, 83, 62, 72, 79, - 82, 69, 80, 67, 66, 65, 66, 67, 62, 68, - 60, 69, 70, 71, 72, 73, 74, 75, 76, 77, - 78, 88, 89, 90, 91, 92, 93, 68, 73, 41, - 63, 61, 59, 44, 40, 37, 38, 94, 87, 84, - 95, 98, 99, 100, 97, 101, 103, 102, 53, 54, - 96, 57, 58, 56, 55, 54, 53, 52, 51, 50, - 49, 48, 45, 43, 42, 39, 64, 70, 71, 38, - 37, 36, 35, 34, 46, 47, 31, 54, 29, 33, - 27, 28, 25, 26, 24, 23, 22, 30, 32, 39, - 40, 41, 42, 43, 44, 45, 46, 47, 48, 53, - 49, 50, 51, 52, 25, 42, 23, 22, 21, 40, - 38, 37, 34, 33, 24, 20, 41, 18, 13, 14, - 15, 16, 17, 26, 27, 28, 29, 30, 31, 32, - 19, 35, 36, 9, 8, 7, 39, 5, 11, 6, - 4, 3, 2, 1, 10, 22, 25, 23, 13, 14, - 15, 16, 17, 18, 19, 1 -}; - -static const byte s_svq1InterMeanLengths[512] = { - 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, - 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, - 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, - 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, - 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, - 22, 22, 22, 21, 22, 22, 22, 22, 22, 22, - 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, - 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, - 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, - 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, - 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, - 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, - 22, 22, 22, 22, 22, 22, 22, 22, 22, 21, - 22, 22, 22, 22, 22, 22, 20, 21, 22, 21, - 22, 22, 20, 22, 22, 21, 19, 18, 20, 22, - 22, 21, 20, 19, 20, 20, 19, 19, 19, 18, - 19, 18, 19, 20, 19, 19, 18, 18, 18, 19, - 18, 18, 18, 17, 19, 18, 18, 17, 18, 18, - 18, 17, 17, 17, 17, 16, 16, 16, 16, 16, - 16, 16, 16, 16, 15, 16, 15, 15, 15, 15, - 15, 15, 15, 15, 14, 14, 14, 14, 14, 14, - 14, 14, 14, 13, 13, 13, 13, 13, 13, 13, - 13, 12, 12, 12, 12, 12, 12, 11, 11, 11, - 11, 11, 11, 10, 10, 10, 10, 10, 10, 9, - 9, 9, 9, 9, 8, 8, 8, 8, 7, 7, - 7, 6, 6, 5, 5, 4, 1, 3, 5, 5, - 6, 6, 7, 7, 7, 7, 8, 8, 8, 9, - 9, 9, 9, 9, 10, 10, 10, 10, 11, 11, - 11, 11, 11, 11, 11, 12, 12, 12, 12, 12, - 12, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 14, 14, 14, 14, 14, 14, 14, 14, 15, 15, - 15, 15, 15, 15, 15, 15, 15, 15, 16, 16, - 16, 16, 16, 16, 16, 16, 16, 16, 17, 17, - 17, 17, 17, 17, 17, 17, 18, 17, 17, 17, - 17, 17, 17, 17, 19, 18, 18, 19, 18, 18, - 19, 18, 18, 18, 19, 18, 19, 19, 18, 20, - 20, 19, 19, 19, 19, 19, 19, 18, 19, 20, - 19, 19, 21, 20, 19, 20, 19, 19, 20, 20, - 22, 20, 22, 22, 21, 22, 22, 21, 21, 22, - 22, 20, 22, 22, 21, 22, 22, 22, 20, 22, - 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, - 22, 22, 22, 22, 21, 21, 22, 22, 22, 21, - 22, 21, 22, 22, 22, 22, 22, 22, 22, 22, - 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, - 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, - 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, - 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, - 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, - 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, - 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, - 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, - 22, 22 -}; - -static const uint32 s_svq1InterMeanCodes[512] = { - 90, 212, 213, 214, 215, 216, 217, 218, 219, 220, - 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, - 232, 203, 233, 234, 231, 236, 237, 238, 239, 240, - 241, 242, 243, 244, 245, 246, 247, 248, 258, 235, - 249, 252, 253, 254, 256, 92, 96, 257, 113, 260, - 261, 251, 255, 134, 250, 124, 117, 259, 120, 211, - 123, 130, 210, 209, 208, 207, 206, 205, 204, 195, - 202, 201, 200, 199, 198, 197, 139, 196, 194, 193, - 192, 191, 190, 189, 188, 187, 186, 185, 97, 132, - 133, 134, 135, 136, 137, 138, 140, 141, 142, 143, - 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, - 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, - 164, 165, 166, 167, 168, 169, 170, 171, 127, 143, - 172, 173, 174, 175, 176, 177, 83, 144, 178, 145, - 179, 180, 84, 181, 182, 140, 52, 61, 85, 183, - 184, 139, 86, 61, 87, 88, 64, 67, 71, 42, - 46, 44, 70, 89, 73, 45, 56, 54, 57, 69, - 40, 48, 53, 32, 68, 50, 49, 31, 47, 46, - 45, 33, 34, 35, 36, 39, 35, 32, 29, 37, - 30, 36, 42, 38, 33, 41, 34, 35, 36, 27, - 26, 29, 31, 39, 23, 24, 25, 27, 28, 30, - 37, 32, 33, 19, 20, 21, 22, 23, 24, 25, - 26, 24, 23, 21, 20, 19, 18, 15, 16, 18, - 19, 27, 26, 14, 19, 15, 16, 17, 18, 13, - 20, 21, 12, 19, 15, 14, 16, 17, 12, 9, - 10, 8, 9, 9, 8, 5, 1, 3, 7, 6, - 11, 10, 14, 15, 11, 13, 11, 13, 12, 15, - 16, 17, 14, 18, 23, 20, 22, 21, 25, 24, - 23, 22, 21, 20, 17, 25, 26, 22, 29, 27, - 28, 32, 28, 35, 34, 33, 31, 30, 27, 29, - 36, 22, 26, 34, 29, 31, 21, 35, 24, 32, - 41, 40, 38, 37, 25, 28, 30, 23, 44, 43, - 28, 33, 45, 40, 31, 27, 26, 34, 45, 50, - 44, 39, 49, 51, 47, 43, 55, 42, 46, 48, - 41, 40, 38, 37, 47, 51, 52, 48, 58, 59, - 49, 60, 43, 41, 72, 39, 66, 65, 38, 82, - 81, 63, 62, 57, 60, 59, 58, 37, 56, 80, - 55, 54, 135, 79, 53, 78, 51, 50, 77, 76, - 131, 75, 129, 128, 142, 126, 125, 132, 141, 122, - 121, 74, 119, 118, 137, 116, 115, 114, 73, 112, - 111, 110, 109, 108, 107, 106, 105, 104, 103, 102, - 101, 100, 99, 98, 138, 136, 95, 94, 93, 133, - 91, 131, 89, 88, 87, 86, 85, 84, 83, 82, - 81, 80, 79, 78, 77, 76, 75, 74, 73, 72, - 71, 70, 69, 68, 67, 66, 65, 64, 63, 62, - 61, 60, 59, 58, 57, 56, 55, 54, 53, 52, - 51, 50, 49, 48, 47, 46, 45, 44, 43, 42, - 41, 40, 39, 38, 37, 36, 35, 34, 33, 32, - 31, 30, 29, 28, 27, 26, 25, 24, 23, 22, - 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, - 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, - 1, 0 -}; - -static const byte s_svq1MotionComponentLengths[33] = { - 1, 2, 3, 4, 6, 7, 7, 7, 9, 9, - 9, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 11, 11, 11, 11, 11, - 11, 12, 12 -}; - -static const uint32 s_svq1MotionComponentCodes[33] = { - 1, 1, 1, 1, 3, 5, 4, 3, 11, 10, - 9, 17, 16, 15, 14, 13, 12, 11, 10, 9, - 8, 7, 6, 5, 4, 7, 6, 5, 4, 3, - 2, 3, 2 -}; - -} // End of namespace Video - -#endif diff --git a/video/codecs/truemotion1.cpp b/video/codecs/truemotion1.cpp deleted file mode 100644 index f4cda83afe..0000000000 --- a/video/codecs/truemotion1.cpp +++ /dev/null @@ -1,422 +0,0 @@ -/* 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. - * - */ - -// Based on the TrueMotion 1 decoder by Alex Beregszaszi & Mike Melanson in FFmpeg - -#include "common/scummsys.h" -#include "video/codecs/truemotion1.h" - -#ifdef VIDEO_CODECS_TRUEMOTION1_H - -#include "video/codecs/truemotion1data.h" -#include "common/stream.h" -#include "common/textconsole.h" -#include "common/util.h" - -namespace Video { - -enum { - FLAG_SPRITE = (1 << 5), - FLAG_KEYFRAME = (1 << 4), - FLAG_INTERFRAME = (1 << 3), - FLAG_INTERPOLATED = (1 << 2) -}; - -enum { - ALGO_NOP = 0, - ALGO_RGB16V = 1, - ALGO_RGB16H = 2, - ALGO_RGB24H = 3 -}; - -// these are the various block sizes that can occupy a 4x4 block -enum { - BLOCK_2x2 = 0, - BLOCK_2x4 = 1, - BLOCK_4x2 = 2, - BLOCK_4x4 = 3 -}; - -// { valid for metatype }, algorithm, num of deltas, vert res, horiz res -struct CompressionType { - int algorithm; - int blockWidth; // vres - int blockHeight; // hres - int blockType; -}; - -static const CompressionType compressionTypes[17] = { - { ALGO_NOP, 0, 0, 0 }, - - { ALGO_RGB16V, 4, 4, BLOCK_4x4 }, - { ALGO_RGB16H, 4, 4, BLOCK_4x4 }, - { ALGO_RGB16V, 4, 2, BLOCK_4x2 }, - { ALGO_RGB16H, 4, 2, BLOCK_4x2 }, - - { ALGO_RGB16V, 2, 4, BLOCK_2x4 }, - { ALGO_RGB16H, 2, 4, BLOCK_2x4 }, - { ALGO_RGB16V, 2, 2, BLOCK_2x2 }, - { ALGO_RGB16H, 2, 2, BLOCK_2x2 }, - - { ALGO_NOP, 4, 4, BLOCK_4x4 }, - { ALGO_RGB24H, 4, 4, BLOCK_4x4 }, - { ALGO_NOP, 4, 2, BLOCK_4x2 }, - { ALGO_RGB24H, 4, 2, BLOCK_4x2 }, - - { ALGO_NOP, 2, 4, BLOCK_2x4 }, - { ALGO_RGB24H, 2, 4, BLOCK_2x4 }, - { ALGO_NOP, 2, 2, BLOCK_2x2 }, - { ALGO_RGB24H, 2, 2, BLOCK_2x2 } -}; - -TrueMotion1Decoder::TrueMotion1Decoder(uint16 width, uint16 height) { - _surface = new Graphics::Surface(); - _width = width; - _height = height; - - _surface->create(width, height, getPixelFormat()); - - // there is a vertical predictor for each pixel in a line; each vertical - // predictor is 0 to start with - _vertPred = new uint32[_width]; - - _buf = _mbChangeBits = _indexStream = 0; - _lastDeltaset = _lastVectable = -1; -} - -TrueMotion1Decoder::~TrueMotion1Decoder() { - _surface->free(); - delete _surface; - delete[] _vertPred; -} - -void TrueMotion1Decoder::selectDeltaTables(int deltaTableIndex) { - if (deltaTableIndex > 3) - return; - - for (byte i = 0; i < 8; i++) { - _ydt[i] = ydts[deltaTableIndex][i]; - _cdt[i] = cdts[deltaTableIndex][i]; - - // Y skinny deltas need to be halved for some reason; maybe the - // skinny Y deltas should be modified - // Drop the lsb before dividing by 2-- net effect: round down - // when dividing a negative number (e.g., -3/2 = -2, not -1) - _ydt[i] &= 0xFFFE; - _ydt[i] /= 2; - } -} - -int TrueMotion1Decoder::makeYdt16Entry(int p1, int p2) { -#ifdef SCUMM_BIG_ENDIAN - // Swap the values on BE systems. FFmpeg does this too. - SWAP(p1, p2); -#endif - - int lo = _ydt[p1]; - lo += (lo << 6) + (lo << 11); - int hi = _ydt[p2]; - hi += (hi << 6) + (hi << 11); - return lo + (hi << 16); -} - -int TrueMotion1Decoder::makeCdt16Entry(int p1, int p2) { - int b = _cdt[p2]; - int r = _cdt[p1] << 11; - int lo = b + r; - return lo + (lo << 16); -} - -void TrueMotion1Decoder::genVectorTable16(const byte *selVectorTable) { - memset(&_yPredictorTable, 0, sizeof(PredictorTableEntry) * 1024); - memset(&_cPredictorTable, 0, sizeof(PredictorTableEntry) * 1024); - - for (int i = 0; i < 1024; i += 4) { - int len = *selVectorTable++ / 2; - for (int j = 0; j < len; j++) { - byte deltaPair = *selVectorTable++; - _yPredictorTable[i + j].color = makeYdt16Entry(deltaPair >> 4, deltaPair & 0xf); - _cPredictorTable[i + j].color = makeCdt16Entry(deltaPair >> 4, deltaPair & 0xf); - } - - _yPredictorTable[i + (len - 1)].getNextIndex = true; - _cPredictorTable[i + (len - 1)].getNextIndex = true; - } -} - -void TrueMotion1Decoder::decodeHeader(Common::SeekableReadStream *stream) { - _buf = new byte[stream->size()]; - stream->read(_buf, stream->size()); - - byte headerBuffer[128]; // logical maximum size of the header - const byte *selVectorTable; - - // There is 1 change bit per 4 pixels, so each change byte represents - // 32 pixels; divide width by 4 to obtain the number of change bits and - // then round up to the nearest byte. - _mbChangeBitsRowSize = ((_width >> 2) + 7) >> 3; - - _header.headerSize = ((_buf[0] >> 5) | (_buf[0] << 3)) & 0x7f; - - if (_buf[0] < 0x10) - error("Invalid TrueMotion1 header size %d", _header.headerSize); - - // unscramble the header bytes with a XOR operation - memset(headerBuffer, 0, 128); - for (int i = 1; i < _header.headerSize; i++) - headerBuffer[i - 1] = _buf[i] ^ _buf[i + 1]; - - _header.compression = headerBuffer[0]; - _header.deltaset = headerBuffer[1]; - _header.vectable = headerBuffer[2]; - _header.ysize = READ_LE_UINT16(&headerBuffer[3]); - _header.xsize = READ_LE_UINT16(&headerBuffer[5]); - _header.checksum = READ_LE_UINT16(&headerBuffer[7]); - _header.version = headerBuffer[9]; - _header.headerType = headerBuffer[10]; - _header.flags = headerBuffer[11]; - _header.control = headerBuffer[12]; - - // Version 2 - if (_header.version >= 2) { - if (_header.headerType > 3) { - error("Invalid header type %d", _header.headerType); - } else if (_header.headerType == 2 || _header.headerType == 3) { - _flags = _header.flags; - if (!(_flags & FLAG_INTERFRAME)) - _flags |= FLAG_KEYFRAME; - } else - _flags = FLAG_KEYFRAME; - } else // Version 1 - _flags = FLAG_KEYFRAME; - - if (_flags & FLAG_SPRITE) { - error("SPRITE frame found, please report the sample to the developers"); - } else if (_header.headerType < 2 && _header.xsize < 213 && _header.ysize >= 176) { - _flags |= FLAG_INTERPOLATED; - error("INTERPOLATION selected, please report the sample to the developers"); - } - - if (_header.compression >= 17) - error("Invalid TrueMotion1 compression type %d", _header.compression); - - if (_header.deltaset != _lastDeltaset || _header.vectable != _lastVectable) - selectDeltaTables(_header.deltaset); - - if ((_header.compression & 1) && _header.headerType) - selVectorTable = pc_tbl2; - else if (_header.vectable < 4) - selVectorTable = tables[_header.vectable - 1]; - else - error("Invalid vector table id %d", _header.vectable); - - if (_header.deltaset != _lastDeltaset || _header.vectable != _lastVectable) - genVectorTable16(selVectorTable); - - // set up pointers to the other key data chunks - _mbChangeBits = _buf + _header.headerSize; - - if (_flags & FLAG_KEYFRAME) { - // no change bits specified for a keyframe; only index bytes - _indexStream = _mbChangeBits; - } else { - // one change bit per 4x4 block - _indexStream = _mbChangeBits + _mbChangeBitsRowSize * (_height >> 2); - } - - _indexStreamSize = stream->size() - (_indexStream - _buf); - - _lastDeltaset = _header.deltaset; - _lastVectable = _header.vectable; - _blockWidth = compressionTypes[_header.compression].blockWidth; - _blockHeight = compressionTypes[_header.compression].blockHeight; - _blockType = compressionTypes[_header.compression].blockType; -} - -#define GET_NEXT_INDEX() \ -do { \ - if (indexStreamIndex >= _indexStreamSize) \ - error("TrueMotion1 decoder went out of bounds"); \ - index = _indexStream[indexStreamIndex++] * 4; \ -} while (0) \ - -#define APPLY_C_PREDICTOR() \ - predictor_pair = _cPredictorTable[index].color; \ - horizPred += predictor_pair; \ - if (_cPredictorTable[index].getNextIndex) { \ - GET_NEXT_INDEX(); \ - if (!index) { \ - GET_NEXT_INDEX(); \ - predictor_pair = _cPredictorTable[index].color; \ - horizPred += predictor_pair * 5; \ - if (_cPredictorTable[index].getNextIndex) \ - GET_NEXT_INDEX(); \ - else \ - index++; \ - } \ - } else \ - index++ - -#define APPLY_Y_PREDICTOR() \ - predictor_pair = _yPredictorTable[index].color; \ - horizPred += predictor_pair; \ - if (_yPredictorTable[index].getNextIndex) { \ - GET_NEXT_INDEX(); \ - if (!index) { \ - GET_NEXT_INDEX(); \ - predictor_pair = _yPredictorTable[index].color; \ - horizPred += predictor_pair * 5; \ - if (_yPredictorTable[index].getNextIndex) \ - GET_NEXT_INDEX(); \ - else \ - index++; \ - } \ - } else \ - index++ - -#define OUTPUT_PIXEL_PAIR() \ - *currentPixelPair = *vertPred + horizPred; \ - *vertPred++ = *currentPixelPair++ - -void TrueMotion1Decoder::decode16() { - uint32 predictor_pair; - bool keyframe = _flags & FLAG_KEYFRAME; - int indexStreamIndex = 0; - - // these variables are for managing the main index stream - int index; - - // clean out the line buffer - memset(_vertPred, 0, _width * 4); - - GET_NEXT_INDEX(); - - for (int y = 0; y < _height; y++) { - // re-init variables for the next line iteration - uint32 horizPred = 0; - uint32 *currentPixelPair = (uint32 *)_surface->getBasePtr(0, y); - uint32 *vertPred = _vertPred; - int mbChangeIndex = 0; - byte mbChangeByte = _mbChangeBits[mbChangeIndex++]; - byte mbChangeByteMask = 1; - - for (int pixelsLeft = _width; pixelsLeft > 0; pixelsLeft -= 4) { - if (keyframe || (mbChangeByte & mbChangeByteMask) == 0) { - switch (y & 3) { - case 0: - // if macroblock width is 2, apply C-Y-C-Y; else - // apply C-Y-Y - if (_blockWidth == 2) { - APPLY_C_PREDICTOR(); - APPLY_Y_PREDICTOR(); - OUTPUT_PIXEL_PAIR(); - APPLY_C_PREDICTOR(); - APPLY_Y_PREDICTOR(); - OUTPUT_PIXEL_PAIR(); - } else { - APPLY_C_PREDICTOR(); - APPLY_Y_PREDICTOR(); - OUTPUT_PIXEL_PAIR(); - APPLY_Y_PREDICTOR(); - OUTPUT_PIXEL_PAIR(); - } - break; - case 1: - case 3: - // always apply 2 Y predictors on these iterations - APPLY_Y_PREDICTOR(); - OUTPUT_PIXEL_PAIR(); - APPLY_Y_PREDICTOR(); - OUTPUT_PIXEL_PAIR(); - break; - case 2: - // this iteration might be C-Y-C-Y, Y-Y, or C-Y-Y - // depending on the macroblock type - if (_blockType == BLOCK_2x2) { - APPLY_C_PREDICTOR(); - APPLY_Y_PREDICTOR(); - OUTPUT_PIXEL_PAIR(); - APPLY_C_PREDICTOR(); - APPLY_Y_PREDICTOR(); - OUTPUT_PIXEL_PAIR(); - } else if (_blockType == BLOCK_4x2) { - APPLY_C_PREDICTOR(); - APPLY_Y_PREDICTOR(); - OUTPUT_PIXEL_PAIR(); - APPLY_Y_PREDICTOR(); - OUTPUT_PIXEL_PAIR(); - } else { - APPLY_Y_PREDICTOR(); - OUTPUT_PIXEL_PAIR(); - APPLY_Y_PREDICTOR(); - OUTPUT_PIXEL_PAIR(); - } - break; - } - } else { - // skip (copy) four pixels, but reassign the horizontal - // predictor - *vertPred++ = *currentPixelPair++; - horizPred = *currentPixelPair - *vertPred; - *vertPred++ = *currentPixelPair++; - } - - if (!keyframe) { - mbChangeByteMask <<= 1; - - // next byte - if (!mbChangeByteMask) { - mbChangeByte = _mbChangeBits[mbChangeIndex++]; - mbChangeByteMask = 1; - } - } - } - - // next change row - if (((y + 1) & 3) == 0) - _mbChangeBits += _mbChangeBitsRowSize; - } -} - -const Graphics::Surface *TrueMotion1Decoder::decodeImage(Common::SeekableReadStream *stream) { - decodeHeader(stream); - - if (compressionTypes[_header.compression].algorithm == ALGO_NOP) { - delete[] _buf; - return 0; - } - - if (compressionTypes[_header.compression].algorithm == ALGO_RGB24H) { - warning("Unhandled TrueMotion1 24bpp frame"); - delete[] _buf; - return 0; - } else - decode16(); - - delete[] _buf; - - return _surface; -} - -} // End of namespace Video - -#endif diff --git a/video/codecs/truemotion1.h b/video/codecs/truemotion1.h deleted file mode 100644 index c5ee18006c..0000000000 --- a/video/codecs/truemotion1.h +++ /dev/null @@ -1,109 +0,0 @@ -/* 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. - * - */ - -// Based on the TrueMotion 1 decoder by Alex Beregszaszi & Mike Melanson in FFmpeg - -// Only compile if SCI32 is enabled, ZVISION is enabled, or if we're building dynamic modules -#if defined(ENABLE_SCI32) || defined(ENABLE_ZVISION) || defined(DYNAMIC_MODULES) - -#ifndef VIDEO_CODECS_TRUEMOTION1_H -#define VIDEO_CODECS_TRUEMOTION1_H - -#include "video/codecs/codec.h" - -namespace Video { - -/** - * Duck TrueMotion 1 decoder. - * - * Used in video: - * - AVIDecoder - */ -class TrueMotion1Decoder : public Codec { -public: - TrueMotion1Decoder(uint16 width, uint16 height); - ~TrueMotion1Decoder(); - - const Graphics::Surface *decodeImage(Common::SeekableReadStream *stream); - - // Always return RGB565 - Graphics::PixelFormat getPixelFormat() const { return Graphics::PixelFormat(2, 5, 6, 5, 0, 11, 5, 0, 0); } - -private: - Graphics::Surface *_surface; - - int _mbChangeBitsRowSize; - byte *_buf, *_mbChangeBits, *_indexStream; - int _indexStreamSize; - - uint16 _width, _height; - int _flags; - - struct PredictorTableEntry { - uint32 color; - bool getNextIndex; - }; - - PredictorTableEntry _yPredictorTable[1024]; - PredictorTableEntry _cPredictorTable[1024]; - - int _blockType; - int _blockWidth; - int _blockHeight; - - int16 _ydt[8]; - int16 _cdt[8]; - - int _lastDeltaset, _lastVectable; - - uint32 *_vertPred; - - struct { - byte headerSize; - byte compression; - byte deltaset; - byte vectable; - uint16 ysize; - uint16 xsize; - uint16 checksum; - byte version; - byte headerType; - byte flags; - byte control; - uint16 xoffset; - uint16 yoffset; - uint16 width; - uint16 height; - } _header; - - void selectDeltaTables(int deltaTableIndex); - void decodeHeader(Common::SeekableReadStream *stream); - void decode16(); - int makeYdt16Entry(int p1, int p2); - int makeCdt16Entry(int p1, int p2); - void genVectorTable16(const byte *selVectorTable); -}; - -} // End of namespace Video - -#endif // VIDEO_CODECS_TRUEMOTION1_H -#endif // SCI32/Plugins guard diff --git a/video/codecs/truemotion1data.h b/video/codecs/truemotion1data.h deleted file mode 100644 index d988a624d3..0000000000 --- a/video/codecs/truemotion1data.h +++ /dev/null @@ -1,829 +0,0 @@ -/* 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. - * - */ - -// Based on the TrueMotion 1 decoder by Alex Beregszaszi & Mike Melanson in FFmpeg -// These tables were originally part of VpVision from On2 - -#ifndef VIDEO_CODECS_TRUEMOTION1DATA_H -#define VIDEO_CODECS_TRUEMOTION1DATA_H - -#include "common/scummsys.h" - -namespace Video { - -// Y delta tables, skinny and fat -static const int16 ydt1[8] = { 0, -2, 2, -6, 6, -12, 12, -12 }; -static const int16 ydt2[8] = { 0, -2, 4, -6, 8, -12, 12, -12 }; -static const int16 ydt3[8] = { 4, -6, 20, -20, 46, -46, 94, -94 }; -static const int16 ydt4[8] = { 0, -4, 4, -16, 16, -36, 36, -80 }; - -// C delta tables, skinny and fat -static const int16 cdt1[8] = { 0, -1, 1, -2, 3, -4, 5, -4 }; -static const int16 cdt2[8] = { 0, -4, 3, -16, 20, -32, 36, -32 }; -static const int16 cdt3[8] = { 0, -2, 2, -8, 8, -18, 18, -40 }; - -// all the delta tables to choose from, at all 4 delta levels -static const int16 * const ydts[] = { ydt1, ydt2, ydt3, ydt4, NULL }; -static const int16 * const cdts[] = { cdt1, cdt1, cdt2, cdt3, NULL }; - -static const byte pc_tbl2[] = { - 0x8,0x00,0x00,0x00,0x00, - 0x8,0x00,0x00,0x00,0x00, - 0x8,0x10,0x00,0x00,0x00, - 0x8,0x01,0x00,0x00,0x00, - 0x8,0x00,0x10,0x00,0x00, - 0x8,0x00,0x01,0x00,0x00, - 0x8,0x00,0x00,0x10,0x00, - 0x8,0x00,0x00,0x01,0x00, - 0x8,0x00,0x00,0x00,0x10, - 0x8,0x00,0x00,0x00,0x01, - 0x6,0x00,0x00,0x00, - 0x6,0x10,0x00,0x00, - 0x6,0x01,0x00,0x00, - 0x6,0x00,0x10,0x00, - 0x6,0x00,0x01,0x00, - 0x6,0x00,0x00,0x01, - 0x6,0x00,0x00,0x10, - 0x6,0x00,0x00,0x02, - 0x6,0x00,0x00,0x20, - 0x6,0x20,0x10,0x00, - 0x6,0x00,0x02,0x01, - 0x6,0x00,0x20,0x10, - 0x6,0x02,0x01,0x00, - 0x6,0x11,0x00,0x00, - 0x6,0x00,0x20,0x00, - 0x6,0x00,0x02,0x00, - 0x6,0x20,0x00,0x00, - 0x6,0x01,0x10,0x00, - 0x6,0x02,0x00,0x00, - 0x6,0x01,0x00,0x02, - 0x6,0x10,0x00,0x20, - 0x6,0x00,0x01,0x02, - 0x6,0x10,0x01,0x00, - 0x6,0x00,0x10,0x20, - 0x6,0x10,0x10,0x00, - 0x6,0x10,0x00,0x01, - 0x6,0x20,0x00,0x10, - 0x6,0x02,0x00,0x01, - 0x6,0x01,0x01,0x00, - 0x6,0x01,0x00,0x10, - 0x6,0x00,0x11,0x00, - 0x6,0x10,0x00,0x02, - 0x6,0x00,0x01,0x10, - 0x6,0x00,0x00,0x11, - 0x6,0x10,0x00,0x10, - 0x6,0x01,0x00,0x01, - 0x6,0x00,0x00,0x22, - 0x6,0x02,0x01,0x01, - 0x6,0x10,0x20,0x10, - 0x6,0x01,0x02,0x01, - 0x6,0x20,0x10,0x10, - 0x6,0x01,0x00,0x20, - 0x6,0x00,0x10,0x01, - 0x6,0x21,0x10,0x00, - 0x6,0x10,0x02,0x01, - 0x6,0x12,0x01,0x00, - 0x6,0x01,0x20,0x10, - 0x6,0x01,0x02,0x00, - 0x6,0x10,0x20,0x00, - 0x6,0x00,0x10,0x02, - 0x6,0x00,0x01,0x20, - 0x6,0x00,0x02,0x21, - 0x6,0x00,0x02,0x20, - 0x6,0x00,0x00,0x12, - 0x6,0x00,0x00,0x21, - 0x6,0x20,0x11,0x00, - 0x6,0x00,0x01,0x01, - 0x6,0x11,0x10,0x00, - 0x6,0x00,0x20,0x12, - 0x6,0x00,0x20,0x11, - 0x6,0x20,0x10,0x02, - 0x6,0x02,0x01,0x20, - 0x6,0x00,0x22,0x11, - 0x6,0x00,0x10,0x10, - 0x6,0x02,0x11,0x00, - 0x6,0x00,0x21,0x10, - 0x6,0x00,0x02,0x03, - 0x6,0x20,0x10,0x01, - 0x6,0x00,0x12,0x01, - 0x4,0x11,0x00, - 0x4,0x00,0x22, - 0x4,0x20,0x00, - 0x4,0x01,0x10, - 0x4,0x02,0x20, - 0x4,0x00,0x20, - 0x4,0x02,0x00, - 0x4,0x10,0x01, - 0x4,0x00,0x11, - 0x4,0x02,0x01, - 0x4,0x02,0x21, - 0x4,0x00,0x02, - 0x4,0x20,0x02, - 0x4,0x01,0x01, - 0x4,0x10,0x10, - 0x4,0x10,0x02, - 0x4,0x22,0x00, - 0x4,0x10,0x00, - 0x4,0x01,0x00, - 0x4,0x21,0x00, - 0x4,0x12,0x00, - 0x4,0x00,0x10, - 0x4,0x20,0x12, - 0x4,0x01,0x11, - 0x4,0x00,0x01, - 0x4,0x01,0x02, - 0x4,0x11,0x02, - 0x4,0x11,0x01, - 0x4,0x10,0x20, - 0x4,0x20,0x01, - 0x4,0x22,0x11, - 0x4,0x00,0x12, - 0x4,0x20,0x10, - 0x4,0x22,0x01, - 0x4,0x01,0x20, - 0x4,0x00,0x21, - 0x4,0x10,0x11, - 0x4,0x21,0x10, - 0x4,0x10,0x22, - 0x4,0x02,0x03, - 0x4,0x12,0x01, - 0x4,0x20,0x11, - 0x4,0x11,0x10, - 0x4,0x20,0x30, - 0x4,0x11,0x20, - 0x4,0x02,0x10, - 0x4,0x22,0x10, - 0x4,0x11,0x11, - 0x4,0x30,0x20, - 0x4,0x30,0x00, - 0x4,0x01,0x22, - 0x4,0x01,0x12, - 0x4,0x02,0x11, - 0x4,0x03,0x02, - 0x4,0x03,0x00, - 0x4,0x10,0x21, - 0x4,0x12,0x20, - 0x4,0x00,0x00, - 0x4,0x12,0x21, - 0x4,0x21,0x11, - 0x4,0x02,0x22, - 0x4,0x10,0x12, - 0x4,0x31,0x00, - 0x4,0x20,0x20, - 0x4,0x00,0x03, - 0x4,0x02,0x02, - 0x4,0x22,0x20, - 0x4,0x01,0x21, - 0x4,0x21,0x02, - 0x4,0x21,0x12, - 0x4,0x11,0x22, - 0x4,0x00,0x30, - 0x4,0x12,0x11, - 0x4,0x20,0x22, - 0x4,0x31,0x20, - 0x4,0x21,0x30, - 0x4,0x22,0x02, - 0x4,0x22,0x22, - 0x4,0x20,0x31, - 0x4,0x13,0x02, - 0x4,0x03,0x10, - 0x4,0x11,0x12, - 0x4,0x00,0x13, - 0x4,0x21,0x01, - 0x4,0x12,0x03, - 0x4,0x13,0x00, - 0x4,0x13,0x10, - 0x4,0x02,0x13, - 0x4,0x30,0x01, - 0x4,0x12,0x10, - 0x4,0x22,0x13, - 0x4,0x03,0x12, - 0x4,0x31,0x01, - 0x4,0x30,0x22, - 0x4,0x00,0x31, - 0x4,0x01,0x31, - 0x4,0x02,0x23, - 0x4,0x01,0x30, - 0x4,0x11,0x21, - 0x4,0x22,0x21, - 0x4,0x01,0x13, - 0x4,0x10,0x03, - 0x4,0x22,0x03, - 0x4,0x30,0x21, - 0x4,0x21,0x31, - 0x4,0x33,0x00, - 0x4,0x13,0x12, - 0x4,0x11,0x31, - 0x4,0x30,0x02, - 0x4,0x12,0x02, - 0x4,0x11,0x13, - 0x4,0x12,0x22, - 0x4,0x20,0x32, - 0x4,0x10,0x13, - 0x4,0x22,0x31, - 0x4,0x21,0x20, - 0x4,0x01,0x33, - 0x4,0x33,0x10, - 0x4,0x20,0x13, - 0x4,0x31,0x22, - 0x4,0x13,0x30, - 0x4,0x01,0x03, - 0x4,0x11,0x33, - 0x4,0x20,0x21, - 0x4,0x13,0x31, - 0x4,0x03,0x22, - 0x4,0x31,0x02, - 0x4,0x00,0x24, - 0x2,0x00, - 0x2,0x10, - 0x2,0x20, - 0x2,0x30, - 0x2,0x40, - 0x2,0x50, - 0x2,0x60, - 0x2,0x01, - 0x2,0x11, - 0x2,0x21, - 0x2,0x31, - 0x2,0x41, - 0x2,0x51, - 0x2,0x61, - 0x2,0x02, - 0x2,0x12, - 0x2,0x22, - 0x2,0x32, - 0x2,0x42, - 0x2,0x52, - 0x2,0x62, - 0x2,0x03, - 0x2,0x13, - 0x2,0x23, - 0x2,0x33, - 0x2,0x43, - 0x2,0x53, - 0x2,0x63, - 0x2,0x04, - 0x2,0x14, - 0x2,0x24, - 0x2,0x34, - 0x2,0x44, - 0x2,0x54, - 0x2,0x64, - 0x2,0x05, - 0x2,0x15, - 0x2,0x25, - 0x2,0x35, - 0x2,0x45, - 0x2,0x55, - 0x2,0x65, - 0x2,0x06, - 0x2,0x16, - 0x2,0x26, - 0x2,0x36, - 0x2,0x46, - 0x2,0x56, - 0x2,0x66 -}; - -static const byte pc_tbl3[] = { - 0x6,0x00,0x00,0x00, - 0x6,0x00,0x00,0x00, - 0x6,0x00,0x00,0x01, - 0x6,0x00,0x00,0x10, - 0x6,0x00,0x00,0x11, - 0x6,0x00,0x01,0x00, - 0x6,0x00,0x01,0x01, - 0x6,0x00,0x01,0x10, - 0x6,0x00,0x01,0x11, - 0x6,0x00,0x10,0x00, - 0x6,0x00,0x10,0x01, - 0x6,0x00,0x10,0x10, - 0x6,0x00,0x10,0x11, - 0x6,0x00,0x11,0x00, - 0x6,0x00,0x11,0x01, - 0x6,0x00,0x11,0x10, - 0x6,0x00,0x11,0x11, - 0x6,0x01,0x00,0x00, - 0x6,0x01,0x00,0x01, - 0x6,0x01,0x00,0x10, - 0x6,0x01,0x00,0x11, - 0x6,0x01,0x01,0x00, - 0x6,0x01,0x01,0x01, - 0x6,0x01,0x01,0x10, - 0x6,0x01,0x01,0x11, - 0x6,0x01,0x10,0x00, - 0x6,0x01,0x10,0x01, - 0x6,0x01,0x10,0x10, - 0x6,0x01,0x10,0x11, - 0x6,0x01,0x11,0x00, - 0x6,0x01,0x11,0x01, - 0x6,0x01,0x11,0x10, - 0x6,0x01,0x11,0x11, - 0x6,0x10,0x00,0x00, - 0x6,0x10,0x00,0x01, - 0x6,0x10,0x00,0x10, - 0x6,0x10,0x00,0x11, - 0x6,0x10,0x01,0x00, - 0x6,0x10,0x01,0x01, - 0x6,0x10,0x01,0x10, - 0x6,0x10,0x01,0x11, - 0x6,0x10,0x10,0x00, - 0x6,0x10,0x10,0x01, - 0x6,0x10,0x10,0x10, - 0x6,0x10,0x10,0x11, - 0x6,0x10,0x11,0x00, - 0x6,0x10,0x11,0x01, - 0x6,0x10,0x11,0x10, - 0x6,0x10,0x11,0x11, - 0x6,0x11,0x00,0x00, - 0x6,0x11,0x00,0x01, - 0x6,0x11,0x00,0x10, - 0x6,0x11,0x00,0x11, - 0x6,0x11,0x01,0x00, - 0x6,0x11,0x01,0x01, - 0x6,0x11,0x01,0x10, - 0x6,0x11,0x01,0x11, - 0x6,0x11,0x10,0x00, - 0x6,0x11,0x10,0x01, - 0x6,0x11,0x10,0x10, - 0x6,0x11,0x10,0x11, - 0x6,0x11,0x11,0x00, - 0x6,0x11,0x11,0x01, - 0x6,0x11,0x11,0x10, - 0x4,0x00,0x00, - 0x4,0x00,0x01, - 0x4,0x00,0x02, - 0x4,0x00,0x03, - 0x4,0x00,0x10, - 0x4,0x00,0x11, - 0x4,0x00,0x12, - 0x4,0x00,0x13, - 0x4,0x00,0x20, - 0x4,0x00,0x21, - 0x4,0x00,0x22, - 0x4,0x00,0x23, - 0x4,0x00,0x30, - 0x4,0x00,0x31, - 0x4,0x00,0x32, - 0x4,0x00,0x33, - 0x4,0x01,0x00, - 0x4,0x01,0x01, - 0x4,0x01,0x02, - 0x4,0x01,0x03, - 0x4,0x01,0x10, - 0x4,0x01,0x11, - 0x4,0x01,0x12, - 0x4,0x01,0x13, - 0x4,0x01,0x20, - 0x4,0x01,0x21, - 0x4,0x01,0x22, - 0x4,0x01,0x23, - 0x4,0x01,0x30, - 0x4,0x01,0x31, - 0x4,0x01,0x32, - 0x4,0x01,0x33, - 0x4,0x02,0x00, - 0x4,0x02,0x01, - 0x4,0x02,0x02, - 0x4,0x02,0x03, - 0x4,0x02,0x10, - 0x4,0x02,0x11, - 0x4,0x02,0x12, - 0x4,0x02,0x13, - 0x4,0x02,0x20, - 0x4,0x02,0x21, - 0x4,0x02,0x22, - 0x4,0x02,0x23, - 0x4,0x02,0x30, - 0x4,0x02,0x31, - 0x4,0x02,0x32, - 0x4,0x02,0x33, - 0x4,0x03,0x00, - 0x4,0x03,0x01, - 0x4,0x03,0x02, - 0x4,0x03,0x03, - 0x4,0x03,0x10, - 0x4,0x03,0x11, - 0x4,0x03,0x12, - 0x4,0x03,0x13, - 0x4,0x03,0x20, - 0x4,0x03,0x21, - 0x4,0x03,0x22, - 0x4,0x03,0x23, - 0x4,0x03,0x30, - 0x4,0x03,0x31, - 0x4,0x03,0x32, - 0x4,0x03,0x33, - 0x4,0x10,0x00, - 0x4,0x10,0x01, - 0x4,0x10,0x02, - 0x4,0x10,0x03, - 0x4,0x10,0x10, - 0x4,0x10,0x11, - 0x4,0x10,0x12, - 0x4,0x10,0x13, - 0x4,0x10,0x20, - 0x4,0x10,0x21, - 0x4,0x10,0x22, - 0x4,0x10,0x23, - 0x4,0x10,0x30, - 0x4,0x10,0x31, - 0x4,0x10,0x32, - 0x4,0x10,0x33, - 0x4,0x11,0x00, - 0x4,0x11,0x01, - 0x4,0x11,0x02, - 0x4,0x11,0x03, - 0x4,0x11,0x10, - 0x4,0x11,0x11, - 0x4,0x11,0x12, - 0x4,0x11,0x13, - 0x4,0x11,0x20, - 0x4,0x11,0x21, - 0x4,0x11,0x22, - 0x4,0x11,0x23, - 0x4,0x11,0x30, - 0x4,0x11,0x31, - 0x4,0x11,0x32, - 0x4,0x11,0x33, - 0x4,0x12,0x00, - 0x4,0x12,0x01, - 0x4,0x12,0x02, - 0x4,0x12,0x03, - 0x4,0x12,0x10, - 0x4,0x12,0x11, - 0x4,0x12,0x12, - 0x4,0x12,0x13, - 0x4,0x12,0x20, - 0x4,0x12,0x21, - 0x4,0x12,0x22, - 0x4,0x12,0x23, - 0x4,0x12,0x30, - 0x4,0x12,0x31, - 0x4,0x12,0x32, - 0x4,0x12,0x33, - 0x4,0x13,0x00, - 0x4,0x13,0x01, - 0x4,0x13,0x02, - 0x4,0x13,0x03, - 0x4,0x13,0x10, - 0x4,0x13,0x11, - 0x4,0x13,0x12, - 0x4,0x13,0x13, - 0x4,0x13,0x20, - 0x4,0x13,0x21, - 0x4,0x13,0x22, - 0x4,0x13,0x23, - 0x4,0x13,0x30, - 0x4,0x13,0x31, - 0x4,0x13,0x32, - 0x4,0x13,0x33, - 0x2,0x00, - 0x2,0x10, - 0x2,0x20, - 0x2,0x30, - 0x2,0x40, - 0x2,0x50, - 0x2,0x60, - 0x2,0x70, - 0x2,0x01, - 0x2,0x11, - 0x2,0x21, - 0x2,0x31, - 0x2,0x41, - 0x2,0x51, - 0x2,0x61, - 0x2,0x71, - 0x2,0x02, - 0x2,0x12, - 0x2,0x22, - 0x2,0x32, - 0x2,0x42, - 0x2,0x52, - 0x2,0x62, - 0x2,0x72, - 0x2,0x03, - 0x2,0x13, - 0x2,0x23, - 0x2,0x33, - 0x2,0x43, - 0x2,0x53, - 0x2,0x63, - 0x2,0x73, - 0x2,0x04, - 0x2,0x14, - 0x2,0x24, - 0x2,0x34, - 0x2,0x44, - 0x2,0x54, - 0x2,0x64, - 0x2,0x74, - 0x2,0x05, - 0x2,0x15, - 0x2,0x25, - 0x2,0x35, - 0x2,0x45, - 0x2,0x55, - 0x2,0x65, - 0x2,0x75, - 0x2,0x06, - 0x2,0x16, - 0x2,0x26, - 0x2,0x36, - 0x2,0x46, - 0x2,0x56, - 0x2,0x66, - 0x2,0x76, - 0x2,0x07, - 0x2,0x17, - 0x2,0x27, - 0x2,0x37, - 0x2,0x47, - 0x2,0x57, - 0x2,0x67, - 0x2,0x77 -}; - -static const byte pc_tbl4[] = { - 0x8,0x00,0x00,0x00,0x00, - 0x8,0x00,0x00,0x00,0x00, - 0x8,0x20,0x00,0x00,0x00, - 0x8,0x00,0x00,0x00,0x01, - 0x8,0x10,0x00,0x00,0x00, - 0x8,0x00,0x00,0x00,0x02, - 0x8,0x01,0x00,0x00,0x00, - 0x8,0x00,0x00,0x00,0x10, - 0x8,0x02,0x00,0x00,0x00, - 0x6,0x00,0x00,0x00, - 0x6,0x20,0x00,0x00, - 0x6,0x00,0x00,0x01, - 0x6,0x10,0x00,0x00, - 0x6,0x00,0x00,0x02, - 0x6,0x00,0x10,0x00, - 0x6,0x00,0x20,0x00, - 0x6,0x00,0x02,0x00, - 0x6,0x00,0x01,0x00, - 0x6,0x01,0x00,0x00, - 0x6,0x00,0x00,0x20, - 0x6,0x02,0x00,0x00, - 0x6,0x00,0x00,0x10, - 0x6,0x10,0x00,0x20, - 0x6,0x01,0x00,0x02, - 0x6,0x20,0x00,0x10, - 0x6,0x02,0x00,0x01, - 0x6,0x20,0x10,0x00, - 0x6,0x00,0x12,0x00, - 0x6,0x00,0x02,0x01, - 0x6,0x02,0x01,0x00, - 0x6,0x00,0x21,0x00, - 0x6,0x00,0x01,0x02, - 0x6,0x00,0x20,0x10, - 0x6,0x00,0x00,0x21, - 0x6,0x00,0x00,0x12, - 0x6,0x00,0x01,0x20, - 0x6,0x12,0x00,0x00, - 0x6,0x00,0x10,0x20, - 0x6,0x01,0x20,0x00, - 0x6,0x02,0x10,0x00, - 0x6,0x10,0x20,0x00, - 0x6,0x01,0x02,0x00, - 0x6,0x21,0x00,0x00, - 0x6,0x00,0x02,0x10, - 0x6,0x20,0x01,0x00, - 0x6,0x00,0x22,0x00, - 0x6,0x10,0x02,0x00, - 0x6,0x00,0x10,0x02, - 0x6,0x11,0x00,0x00, - 0x6,0x00,0x11,0x00, - 0x6,0x22,0x00,0x00, - 0x6,0x20,0x00,0x02, - 0x6,0x10,0x00,0x01, - 0x6,0x00,0x20,0x01, - 0x6,0x02,0x20,0x00, - 0x6,0x01,0x10,0x00, - 0x6,0x01,0x00,0x20, - 0x6,0x00,0x20,0x02, - 0x6,0x01,0x20,0x02, - 0x6,0x10,0x01,0x00, - 0x6,0x02,0x00,0x10, - 0x6,0x00,0x10,0x01, - 0x6,0x10,0x01,0x20, - 0x6,0x20,0x02,0x10, - 0x6,0x00,0x00,0x22, - 0x6,0x10,0x00,0x02, - 0x6,0x00,0x02,0x20, - 0x6,0x20,0x02,0x00, - 0x6,0x00,0x00,0x11, - 0x6,0x02,0x10,0x01, - 0x6,0x00,0x01,0x10, - 0x6,0x00,0x02,0x11, - 0x4,0x01,0x02, - 0x4,0x02,0x01, - 0x4,0x01,0x00, - 0x4,0x10,0x20, - 0x4,0x20,0x10, - 0x4,0x20,0x00, - 0x4,0x11,0x00, - 0x4,0x02,0x00, - 0x4,0x12,0x00, - 0x4,0x00,0x21, - 0x4,0x22,0x00, - 0x4,0x00,0x12, - 0x4,0x21,0x00, - 0x4,0x02,0x11, - 0x4,0x00,0x01, - 0x4,0x10,0x02, - 0x4,0x02,0x20, - 0x4,0x20,0x11, - 0x4,0x01,0x10, - 0x4,0x21,0x10, - 0x4,0x10,0x00, - 0x4,0x10,0x22, - 0x4,0x20,0x20, - 0x4,0x00,0x22, - 0x4,0x01,0x22, - 0x4,0x20,0x01, - 0x4,0x02,0x02, - 0x4,0x00,0x20, - 0x4,0x00,0x10, - 0x4,0x00,0x11, - 0x4,0x22,0x01, - 0x4,0x11,0x20, - 0x4,0x12,0x01, - 0x4,0x12,0x20, - 0x4,0x11,0x02, - 0x4,0x10,0x10, - 0x4,0x01,0x01, - 0x4,0x02,0x21, - 0x4,0x20,0x12, - 0x4,0x01,0x12, - 0x4,0x22,0x11, - 0x4,0x21,0x12, - 0x4,0x22,0x10, - 0x4,0x21,0x02, - 0x4,0x20,0x02, - 0x4,0x10,0x01, - 0x4,0x00,0x02, - 0x4,0x10,0x21, - 0x4,0x01,0x20, - 0x4,0x11,0x22, - 0x4,0x12,0x21, - 0x4,0x22,0x20, - 0x4,0x02,0x10, - 0x4,0x02,0x22, - 0x4,0x11,0x10, - 0x4,0x22,0x02, - 0x4,0x20,0x21, - 0x4,0x01,0x11, - 0x4,0x11,0x01, - 0x4,0x10,0x12, - 0x4,0x02,0x12, - 0x4,0x20,0x22, - 0x4,0x21,0x20, - 0x4,0x01,0x21, - 0x4,0x12,0x02, - 0x4,0x21,0x11, - 0x4,0x12,0x22, - 0x4,0x12,0x10, - 0x4,0x22,0x21, - 0x4,0x10,0x11, - 0x4,0x21,0x01, - 0x4,0x11,0x12, - 0x4,0x12,0x11, - 0x4,0x66,0x66, - 0x4,0x22,0x22, - 0x4,0x11,0x21, - 0x4,0x11,0x11, - 0x4,0x21,0x22, - 0x4,0x00,0x00, - 0x4,0x22,0x12, - 0x4,0x12,0x12, - 0x4,0x21,0x21, - 0x4,0x42,0x00, - 0x4,0x00,0x04, - 0x4,0x40,0x00, - 0x4,0x30,0x00, - 0x4,0x31,0x00, - 0x4,0x00,0x03, - 0x4,0x00,0x14, - 0x4,0x00,0x13, - 0x4,0x01,0x24, - 0x4,0x20,0x13, - 0x4,0x01,0x42, - 0x4,0x14,0x20, - 0x4,0x42,0x02, - 0x4,0x13,0x00, - 0x4,0x00,0x24, - 0x4,0x31,0x20, - 0x4,0x22,0x13, - 0x4,0x11,0x24, - 0x4,0x12,0x66, - 0x4,0x30,0x01, - 0x4,0x02,0x13, - 0x4,0x12,0x42, - 0x4,0x40,0x10, - 0x4,0x40,0x02, - 0x4,0x01,0x04, - 0x4,0x24,0x00, - 0x4,0x42,0x10, - 0x4,0x21,0x13, - 0x4,0x13,0x12, - 0x4,0x31,0x21, - 0x4,0x21,0x24, - 0x4,0x00,0x40, - 0x4,0x10,0x24, - 0x4,0x10,0x42, - 0x4,0x32,0x01, - 0x4,0x11,0x42, - 0x4,0x20,0x31, - 0x4,0x12,0x40, - 0x2,0x00, - 0x2,0x10, - 0x2,0x20, - 0x2,0x30, - 0x2,0x40, - 0x2,0x50, - 0x2,0x60, - 0x2,0x70, - 0x2,0x01, - 0x2,0x11, - 0x2,0x21, - 0x2,0x31, - 0x2,0x41, - 0x2,0x51, - 0x2,0x61, - 0x2,0x71, - 0x2,0x02, - 0x2,0x12, - 0x2,0x22, - 0x2,0x32, - 0x2,0x42, - 0x2,0x52, - 0x2,0x62, - 0x2,0x72, - 0x2,0x03, - 0x2,0x13, - 0x2,0x23, - 0x2,0x33, - 0x2,0x43, - 0x2,0x53, - 0x2,0x63, - 0x2,0x73, - 0x2,0x04, - 0x2,0x14, - 0x2,0x24, - 0x2,0x34, - 0x2,0x44, - 0x2,0x54, - 0x2,0x64, - 0x2,0x74, - 0x2,0x05, - 0x2,0x15, - 0x2,0x25, - 0x2,0x35, - 0x2,0x45, - 0x2,0x55, - 0x2,0x65, - 0x2,0x75, - 0x2,0x06, - 0x2,0x16, - 0x2,0x26, - 0x2,0x36, - 0x2,0x46, - 0x2,0x56, - 0x2,0x66, - 0x2,0x76, - 0x2,0x07, - 0x2,0x17, - 0x2,0x27, - 0x2,0x37, - 0x2,0x47, - 0x2,0x57, - 0x2,0x67, - 0x2,0x77 -}; - -static const byte * const tables[] = { pc_tbl2, pc_tbl3, pc_tbl4 }; - -} // End of namespace Video - -#endif diff --git a/video/coktel_decoder.cpp b/video/coktel_decoder.cpp index aeb2b75cb5..e01c5f3827 100644 --- a/video/coktel_decoder.cpp +++ b/video/coktel_decoder.cpp @@ -31,8 +31,7 @@ #include "video/coktel_decoder.h" -#include "video/codecs/codec.h" -#include "video/codecs/indeo3.h" +#include "image/codecs/indeo3.h" #ifdef VIDEO_COKTELDECODER_H @@ -1692,7 +1691,7 @@ bool VMDDecoder::openExternalCodec() { if (_videoCodec == kVideoCodecIndeo3) { _isPaletted = false; - _codec = new Indeo3Decoder(_width, _height); + _codec = new Image::Indeo3Decoder(_width, _height); } else { warning("VMDDecoder::openExternalCodec(): Unknown video codec FourCC \"%s\"", diff --git a/video/coktel_decoder.h b/video/coktel_decoder.h index e99c8a25b8..a72f76eb9d 100644 --- a/video/coktel_decoder.h +++ b/video/coktel_decoder.h @@ -53,9 +53,11 @@ namespace Graphics { struct PixelFormat; } -namespace Video { - +namespace Image { class Codec; +} + +namespace Video { /** * Decoder for Coktel videos. @@ -516,7 +518,7 @@ private: Graphics::Surface _8bppSurface[3]; ///< Fake 8bpp surfaces over the video buffers. bool _externalCodec; - Codec *_codec; + Image::Codec *_codec; int32 _subtitle; diff --git a/video/module.mk b/video/module.mk index d836371182..5754350e42 100644 --- a/video/module.mk +++ b/video/module.mk @@ -8,19 +8,7 @@ MODULE_OBJS := \ psx_decoder.o \ qt_decoder.o \ smk_decoder.o \ - video_decoder.o \ - codecs/cdtoons.o \ - codecs/cinepak.o \ - codecs/indeo3.o \ - codecs/jpeg.o \ - codecs/mjpeg.o \ - codecs/msrle.o \ - codecs/msvideo1.o \ - codecs/qtrle.o \ - codecs/rpza.o \ - codecs/smc.o \ - codecs/svq1.o \ - codecs/truemotion1.o + video_decoder.o ifdef USE_BINK MODULE_OBJS += \ @@ -32,10 +20,5 @@ MODULE_OBJS += \ theora_decoder.o endif -ifdef USE_MPEG2 -MODULE_OBJS += \ - codecs/mpeg.o -endif - # Include common rules include $(srcdir)/rules.mk diff --git a/video/qt_decoder.cpp b/video/qt_decoder.cpp index 20c9b29452..25ac05c2b6 100644 --- a/video/qt_decoder.cpp +++ b/video/qt_decoder.cpp @@ -39,13 +39,13 @@ #include "common/util.h" // Video codecs -#include "video/codecs/cinepak.h" -#include "video/codecs/jpeg.h" -#include "video/codecs/qtrle.h" -#include "video/codecs/rpza.h" -#include "video/codecs/smc.h" -#include "video/codecs/cdtoons.h" -#include "video/codecs/svq1.h" +#include "image/codecs/cinepak.h" +#include "image/codecs/jpeg.h" +#include "image/codecs/qtrle.h" +#include "image/codecs/rpza.h" +#include "image/codecs/smc.h" +#include "image/codecs/cdtoons.h" +#include "image/codecs/svq1.h" namespace Video { @@ -273,23 +273,23 @@ void QuickTimeDecoder::VideoSampleDesc::initCodec() { switch (_codecTag) { case MKTAG('c','v','i','d'): // Cinepak: As used by most Myst and all Riven videos as well as some Myst ME videos. "The Chief" videos also use this. - _videoCodec = new CinepakDecoder(_bitsPerSample & 0x1f); + _videoCodec = new Image::CinepakDecoder(_bitsPerSample & 0x1f); break; case MKTAG('r','p','z','a'): // Apple Video ("Road Pizza"): Used by some Myst videos. - _videoCodec = new RPZADecoder(_parentTrack->width, _parentTrack->height); + _videoCodec = new Image::RPZADecoder(_parentTrack->width, _parentTrack->height); break; case MKTAG('r','l','e',' '): // QuickTime RLE: Used by some Myst ME videos. - _videoCodec = new QTRLEDecoder(_parentTrack->width, _parentTrack->height, _bitsPerSample & 0x1f); + _videoCodec = new Image::QTRLEDecoder(_parentTrack->width, _parentTrack->height, _bitsPerSample & 0x1f); break; case MKTAG('s','m','c',' '): // Apple SMC: Used by some Myst videos. - _videoCodec = new SMCDecoder(_parentTrack->width, _parentTrack->height); + _videoCodec = new Image::SMCDecoder(_parentTrack->width, _parentTrack->height); break; case MKTAG('S','V','Q','1'): // Sorenson Video 1: Used by some Myst ME videos. - _videoCodec = new SVQ1Decoder(_parentTrack->width, _parentTrack->height); + _videoCodec = new Image::SVQ1Decoder(_parentTrack->width, _parentTrack->height); break; case MKTAG('S','V','Q','3'): // Sorenson Video 3: Used by some Myst ME videos. @@ -297,11 +297,11 @@ void QuickTimeDecoder::VideoSampleDesc::initCodec() { break; case MKTAG('j','p','e','g'): // JPEG: Used by some Myst ME 10th Anniversary videos. - _videoCodec = new JPEGDecoder(); + _videoCodec = new Image::JPEGCodec(); break; case MKTAG('Q','k','B','k'): // CDToons: Used by most of the Broderbund games. - _videoCodec = new CDToonsDecoder(_parentTrack->width, _parentTrack->height); + _videoCodec = new Image::CDToonsDecoder(_parentTrack->width, _parentTrack->height); break; default: warning("Unsupported codec \'%s\'", tag2str(_codecTag)); diff --git a/video/qt_decoder.h b/video/qt_decoder.h index 53b7c523c1..7e87d21ae7 100644 --- a/video/qt_decoder.h +++ b/video/qt_decoder.h @@ -44,9 +44,11 @@ namespace Graphics { struct PixelFormat; } -namespace Video { - +namespace Image { class Codec; +} + +namespace Video { /** * Decoder for QuickTime videos. @@ -95,7 +97,7 @@ private: char _codecName[32]; uint16 _colorTableId; byte *_palette; - Codec *_videoCodec; + Image::Codec *_videoCodec; }; // The AudioTrackHandler is currently just a wrapper around some -- cgit v1.2.3 From c432b96cf667a1b7f1386cc4c97fcf5411690f7d Mon Sep 17 00:00:00 2001 From: Matthew Hoops Date: Thu, 27 Feb 2014 21:27:23 -0500 Subject: IMAGE: Merge the JPEG codec into the ImageDecoder --- image/codecs/jpeg.cpp | 66 --------------------------------------------------- image/codecs/jpeg.h | 60 ---------------------------------------------- image/jpeg.cpp | 13 +++++++++- image/jpeg.h | 17 ++++++++++--- image/module.mk | 1 - video/qt_decoder.cpp | 4 ++-- 6 files changed, 28 insertions(+), 133 deletions(-) delete mode 100644 image/codecs/jpeg.cpp delete mode 100644 image/codecs/jpeg.h diff --git a/image/codecs/jpeg.cpp b/image/codecs/jpeg.cpp deleted file mode 100644 index 9e8ba5a7d3..0000000000 --- a/image/codecs/jpeg.cpp +++ /dev/null @@ -1,66 +0,0 @@ -/* 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 "common/system.h" -#include "common/textconsole.h" -#include "graphics/surface.h" -#include "image/jpeg.h" - -#include "image/codecs/jpeg.h" - -namespace Common { -class SeekableReadStream; -} - -namespace Image { - -JPEGCodec::JPEGCodec() : Codec() { - _pixelFormat = g_system->getScreenFormat(); - _surface = NULL; -} - -JPEGCodec::~JPEGCodec() { - if (_surface) { - _surface->free(); - delete _surface; - } -} - -const Graphics::Surface *JPEGCodec::decodeImage(Common::SeekableReadStream *stream) { - JPEGDecoder jpeg; - - if (!jpeg.loadStream(*stream)) { - warning("Failed to decode JPEG frame"); - return 0; - } - - if (_surface) { - _surface->free(); - delete _surface; - } - - _surface = jpeg.getSurface()->convertTo(_pixelFormat); - - return _surface; -} - -} // End of namespace Image diff --git a/image/codecs/jpeg.h b/image/codecs/jpeg.h deleted file mode 100644 index d48604b067..0000000000 --- a/image/codecs/jpeg.h +++ /dev/null @@ -1,60 +0,0 @@ -/* 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. - * - */ - -#ifndef IMAGE_CODECS_JPEG_H -#define IMAGE_CODECS_JPEG_H - -#include "image/codecs/codec.h" -#include "graphics/pixelformat.h" - -namespace Common { -class SeekableReadStream; -} - -namespace Graphics { -struct Surface; -} - -namespace Image { - -/** - * JPEG decoder. - * - * Used in video: - * - QuickTimeDecoder - */ -class JPEGCodec : public Codec { -public: - JPEGCodec(); - ~JPEGCodec(); - - const Graphics::Surface *decodeImage(Common::SeekableReadStream *stream); - Graphics::PixelFormat getPixelFormat() const { return _pixelFormat; } - -private: - Graphics::PixelFormat _pixelFormat; - Graphics::Surface *_surface; -}; - -} // End of namespace Image - -#endif diff --git a/image/jpeg.cpp b/image/jpeg.cpp index 9d4b0a7cfe..3602d501be 100644 --- a/image/jpeg.cpp +++ b/image/jpeg.cpp @@ -44,7 +44,7 @@ extern "C" { namespace Image { -JPEGDecoder::JPEGDecoder() : ImageDecoder(), _surface(), _colorSpace(kColorSpaceRGBA) { +JPEGDecoder::JPEGDecoder() : _surface(), _colorSpace(kColorSpaceRGBA) { } JPEGDecoder::~JPEGDecoder() { @@ -59,6 +59,17 @@ void JPEGDecoder::destroy() { _surface.free(); } +const Graphics::Surface *JPEGDecoder::decodeImage(Common::SeekableReadStream *stream) { + if (!loadStream(*stream)) + return 0; + + return getSurface(); +} + +Graphics::PixelFormat JPEGDecoder::getPixelFormat() const { + return _surface.format; +} + #ifdef USE_JPEG namespace { diff --git a/image/jpeg.h b/image/jpeg.h index f578170517..1bf76ecfca 100644 --- a/image/jpeg.h +++ b/image/jpeg.h @@ -26,6 +26,12 @@ * - groovie * - mohawk * - wintermute + * + * Used in image: + * - PICTDecoder + * + * Used in video: + * - QuickTimeDecoder */ #ifndef IMAGE_JPEG_H @@ -33,6 +39,7 @@ #include "graphics/surface.h" #include "image/image_decoder.h" +#include "image/codecs/codec.h" namespace Common { class SeekableReadStream; @@ -40,7 +47,7 @@ class SeekableReadStream; namespace Image { -class JPEGDecoder : public ImageDecoder { +class JPEGDecoder : public ImageDecoder, public Codec { public: JPEGDecoder(); ~JPEGDecoder(); @@ -50,6 +57,10 @@ public: virtual bool loadStream(Common::SeekableReadStream &str); virtual const Graphics::Surface *getSurface() const; + // Codec API + const Graphics::Surface *decodeImage(Common::SeekableReadStream *stream); + Graphics::PixelFormat getPixelFormat() const; + // Special API for JPEG enum ColorSpace { /** @@ -90,6 +101,6 @@ private: ColorSpace _colorSpace; }; -} // End of Graphics namespace +} // End of namespace Image -#endif // GRAPHICS_JPEG_H +#endif diff --git a/image/module.mk b/image/module.mk index 28d750358d..46129cbde4 100644 --- a/image/module.mk +++ b/image/module.mk @@ -11,7 +11,6 @@ MODULE_OBJS := \ codecs/cdtoons.o \ codecs/cinepak.o \ codecs/indeo3.o \ - codecs/jpeg.o \ codecs/mjpeg.o \ codecs/msrle.o \ codecs/msvideo1.o \ diff --git a/video/qt_decoder.cpp b/video/qt_decoder.cpp index 25ac05c2b6..20c20d05b1 100644 --- a/video/qt_decoder.cpp +++ b/video/qt_decoder.cpp @@ -40,7 +40,7 @@ // Video codecs #include "image/codecs/cinepak.h" -#include "image/codecs/jpeg.h" +#include "image/jpeg.h" #include "image/codecs/qtrle.h" #include "image/codecs/rpza.h" #include "image/codecs/smc.h" @@ -297,7 +297,7 @@ void QuickTimeDecoder::VideoSampleDesc::initCodec() { break; case MKTAG('j','p','e','g'): // JPEG: Used by some Myst ME 10th Anniversary videos. - _videoCodec = new Image::JPEGCodec(); + _videoCodec = new Image::JPEGDecoder(); break; case MKTAG('Q','k','B','k'): // CDToons: Used by most of the Broderbund games. -- cgit v1.2.3 From e6717aaf43c7a25d426502a6d5d7028d50aab255 Mon Sep 17 00:00:00 2001 From: Matthew Hoops Date: Thu, 27 Feb 2014 21:27:24 -0500 Subject: IMAGE: Clarify difference between ImageDecoder and Codec a bit --- image/codecs/codec.h | 12 ++++++++++-- image/image_decoder.h | 2 ++ 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/image/codecs/codec.h b/image/codecs/codec.h index c84f3e3308..1b7a295e9d 100644 --- a/image/codecs/codec.h +++ b/image/codecs/codec.h @@ -33,8 +33,16 @@ class SeekableReadStream; namespace Image { /** - * An abstract representation of a video codec used for decoding - * video frames. + * An abstract representation of a image codec. + * + * Unlike ImageDecoder, the entire info for a frame may not be present + * within the stream. The codec may rely on the supporting container + * for parameters and can also rely on a previous (or future) frame. + * When decoding, the previous frame may not destroyed and could be + * maintained for use in the next one. + * + * An ImageDecoder can always be a Codec, but a Codec may not necessarily + * be able to be an ImageDecoder. * * Used in video: * - AVIDecoder diff --git a/image/image_decoder.h b/image/image_decoder.h index 08fa4d82b4..4d3512e0f6 100644 --- a/image/image_decoder.h +++ b/image/image_decoder.h @@ -39,6 +39,8 @@ namespace Image { /** * A representation of an image decoder that maintains ownership of the surface * and palette it decodes to. + * + * This is designed for still frames only. */ class ImageDecoder { public: -- cgit v1.2.3 From 08ea14a8d0e1a1478d1f486edeecea3e619e0cd0 Mon Sep 17 00:00:00 2001 From: Matthew Hoops Date: Thu, 27 Feb 2014 21:27:24 -0500 Subject: IMAGE: Make Codec take a stream reference; change function name to decodeFrame --- image/codecs/cdtoons.cpp | 110 ++++++++++++++++++++-------------------- image/codecs/cdtoons.h | 2 +- image/codecs/cinepak.cpp | 96 +++++++++++++++++------------------ image/codecs/cinepak.h | 6 +-- image/codecs/codec.h | 3 +- image/codecs/indeo3.cpp | 52 +++++++++---------- image/codecs/indeo3.h | 2 +- image/codecs/mjpeg.cpp | 14 +++--- image/codecs/mjpeg.h | 2 +- image/codecs/mpeg.cpp | 6 +-- image/codecs/mpeg.h | 4 +- image/codecs/msrle.cpp | 20 ++++---- image/codecs/msrle.h | 4 +- image/codecs/msvideo1.cpp | 18 +++---- image/codecs/msvideo1.h | 6 +-- image/codecs/qtrle.cpp | 116 +++++++++++++++++++++---------------------- image/codecs/qtrle.h | 14 +++--- image/codecs/rpza.cpp | 32 ++++++------ image/codecs/rpza.h | 2 +- image/codecs/smc.cpp | 38 +++++++------- image/codecs/smc.h | 2 +- image/codecs/svq1.cpp | 4 +- image/codecs/svq1.h | 2 +- image/codecs/truemotion1.cpp | 10 ++-- image/codecs/truemotion1.h | 4 +- image/jpeg.cpp | 4 +- image/jpeg.h | 2 +- video/avi_decoder.cpp | 2 +- video/coktel_decoder.cpp | 2 +- video/qt_decoder.cpp | 2 +- 30 files changed, 290 insertions(+), 291 deletions(-) diff --git a/image/codecs/cdtoons.cpp b/image/codecs/cdtoons.cpp index e1246a034f..6a2dc51b86 100644 --- a/image/codecs/cdtoons.cpp +++ b/image/codecs/cdtoons.cpp @@ -39,12 +39,12 @@ struct CDToonsDiff { Common::Rect rect; }; -static Common::Rect readRect(Common::SeekableReadStream *stream) { +static Common::Rect readRect(Common::SeekableReadStream &stream) { Common::Rect rect; - rect.top = stream->readUint16BE(); - rect.left = stream->readUint16BE(); - rect.bottom = stream->readUint16BE(); - rect.right = stream->readUint16BE(); + rect.top = stream.readUint16BE(); + rect.left = stream.readUint16BE(); + rect.bottom = stream.readUint16BE(); + rect.right = stream.readUint16BE(); return rect; } @@ -67,14 +67,14 @@ CDToonsDecoder::~CDToonsDecoder() { delete[] i->_value.data; } -Graphics::Surface *CDToonsDecoder::decodeImage(Common::SeekableReadStream *stream) { - uint16 u0 = stream->readUint16BE(); // always 9? - uint16 frameId = stream->readUint16BE(); - uint16 blocksValidUntil = stream->readUint16BE(); - byte u6 = stream->readByte(); - byte backgroundColor = stream->readByte(); +Graphics::Surface *CDToonsDecoder::decodeFrame(Common::SeekableReadStream &stream) { + uint16 u0 = stream.readUint16BE(); // always 9? + uint16 frameId = stream.readUint16BE(); + uint16 blocksValidUntil = stream.readUint16BE(); + byte u6 = stream.readByte(); + byte backgroundColor = stream.readByte(); debugN(5, "CDToons frame %d, size %d, unknown %04x (at 0), blocks valid until %d, unknown 6 is %02x, bkg color is %02x\n", - frameId, stream->size(), u0, blocksValidUntil, u6, backgroundColor); + frameId, stream.size(), u0, blocksValidUntil, u6, backgroundColor); Common::Rect clipRect = readRect(stream); debugN(9, "CDToons clipRect: (%d, %d) to (%d, %d)\n", @@ -84,31 +84,31 @@ Graphics::Surface *CDToonsDecoder::decodeImage(Common::SeekableReadStream *strea debugN(9, "CDToons dirtyRect: (%d, %d) to (%d, %d)\n", dirtyRect.left, dirtyRect.top, dirtyRect.right, dirtyRect.bottom); - uint32 flags = stream->readUint32BE(); + uint32 flags = stream.readUint32BE(); if (flags & 0x80) error("CDToons: frame already processed?"); debugN(5, "CDToons flags: %08x\n", flags); - uint16 blockCount = stream->readUint16BE(); - uint16 blockOffset = stream->readUint16BE(); + uint16 blockCount = stream.readUint16BE(); + uint16 blockOffset = stream.readUint16BE(); debugN(9, "CDToons: %d blocks at 0x%04x\n", blockCount, blockOffset); // max block id? - uint16 u32 = stream->readUint16BE(); + uint16 u32 = stream.readUint16BE(); debugN(5, "CDToons unknown at 32: %04x\n", u32); - byte actionCount = stream->readByte(); - byte u35 = stream->readByte(); + byte actionCount = stream.readByte(); + byte u35 = stream.readByte(); - uint16 paletteId = stream->readUint16BE(); - byte paletteSet = stream->readByte(); + uint16 paletteId = stream.readUint16BE(); + byte paletteSet = stream.readByte(); debugN(9, "CDToons palette id %04x, palette byte %02x\n", paletteId, paletteSet); - byte u39 = stream->readByte(); - uint16 u40 = stream->readUint16BE(); - uint16 u42 = stream->readUint16BE(); + byte u39 = stream.readByte(); + uint16 u40 = stream.readUint16BE(); + uint16 u42 = stream.readUint16BE(); debugN(5, "CDToons: unknown at 35 is %02x, unknowns at 39: %02x, %04x, %04x\n", u35, u39, u40, u42); @@ -116,41 +116,41 @@ Graphics::Surface *CDToonsDecoder::decodeImage(Common::SeekableReadStream *strea for (uint i = 0; i < actionCount; i++) { CDToonsAction action; - action.blockId = stream->readUint16BE(); + action.blockId = stream.readUint16BE(); action.rect = readRect(stream); debugN(9, "CDToons action: render block %d at (%d, %d) to (%d, %d)\n", action.blockId, action.rect.left, action.rect.top, action.rect.right, action.rect.bottom); actions.push_back(action); } - if (stream->pos() > blockOffset) + if (stream.pos() > blockOffset) error("CDToons header ended at 0x%08x, but blocks should have started at 0x%08x", - stream->pos(), blockOffset); + stream.pos(), blockOffset); - if (stream->pos() != blockOffset) - error("CDToons had %d unknown bytes after header", blockOffset - stream->pos()); + if (stream.pos() != blockOffset) + error("CDToons had %d unknown bytes after header", blockOffset - stream.pos()); for (uint i = 0; i < blockCount; i++) { - uint16 blockId = stream->readUint16BE(); + uint16 blockId = stream.readUint16BE(); if (blockId >= 1200) error("CDToons: block id %d was too high", blockId); if (_blocks.contains(blockId)) error("CDToons: new block %d was already seen", blockId); CDToonsBlock block; - block.flags = stream->readUint16BE(); + block.flags = stream.readUint16BE(); // flag 1 = palette, flag 2 = data? if (block.flags & 0x8000) error("CDToons: block already processed?"); - block.size = stream->readUint32BE(); + block.size = stream.readUint32BE(); if (block.size < 14) error("CDToons: block size was %d, too small", block.size); block.size -= 14; - block.startFrame = stream->readUint16BE(); - block.endFrame = stream->readUint16BE(); - block.unknown12 = stream->readUint16BE(); + block.startFrame = stream.readUint16BE(); + block.endFrame = stream.readUint16BE(); + block.unknown12 = stream.readUint16BE(); block.data = new byte[block.size]; - stream->read(block.data, block.size); + stream.read(block.data, block.size); debugN(9, "CDToons block id 0x%04x of size 0x%08x, flags %04x, from frame %d to %d, unknown at 12 is %04x\n", blockId, block.size, block.flags, block.startFrame, block.endFrame, block.unknown12); @@ -162,16 +162,16 @@ Graphics::Surface *CDToonsDecoder::decodeImage(Common::SeekableReadStream *strea Common::Array diffs; while (true) { - int32 nextPos = stream->pos(); - uint32 tag = stream->readUint32BE(); - uint32 size = stream->readUint32BE(); + int32 nextPos = stream.pos(); + uint32 tag = stream.readUint32BE(); + uint32 size = stream.readUint32BE(); nextPos += size; switch (tag) { case MKTAG('D','i','f','f'): { debugN(5, "CDToons: Diff\n"); - uint16 count = stream->readUint16BE(); + uint16 count = stream.readUint16BE(); Common::Rect diffClipRect = readRect(stream); debugN(9, "CDToons diffClipRect: (%d, %d) to (%d, %d)\n", @@ -182,14 +182,14 @@ Graphics::Surface *CDToonsDecoder::decodeImage(Common::SeekableReadStream *strea CDToonsDiff diff; diff.rect = readRect(stream); - diff.size = stream->readUint32BE(); + diff.size = stream.readUint32BE(); if (diff.size < 20) error("CDToons: Diff block size was %d, too small", diff.size); - uint16 diffWidth = stream->readUint16BE(); - uint16 diffHeight = stream->readUint16BE(); - uint16 unknown16 = stream->readUint16BE(); - uint16 unknown18 = stream->readUint16BE(); + uint16 diffWidth = stream.readUint16BE(); + uint16 diffHeight = stream.readUint16BE(); + uint16 unknown16 = stream.readUint16BE(); + uint16 unknown18 = stream.readUint16BE(); diff.size -= 8; if (diffWidth != diff.rect.width() || diffHeight != diff.rect.height()) @@ -199,7 +199,7 @@ Graphics::Surface *CDToonsDecoder::decodeImage(Common::SeekableReadStream *strea unknown16, unknown18); diff.data = new byte[diff.size]; - stream->read(diff.data, diff.size); + stream.read(diff.data, diff.size); diffs.push_back(diff); } } @@ -212,8 +212,8 @@ Graphics::Surface *CDToonsDecoder::decodeImage(Common::SeekableReadStream *strea if (xFrmBegin) error("CDToons: duplicate XFrm"); - xFrmBegin = stream->readByte(); - xFrmCount = stream->readByte(); + xFrmBegin = stream.readByte(); + xFrmCount = stream.readByte(); debugN(9, "CDToons XFrm: run %d actions from %d\n", xFrmCount, xFrmBegin - 1); // TODO: don't ignore (if xFrmCount is non-zero) @@ -248,7 +248,7 @@ Graphics::Surface *CDToonsDecoder::decodeImage(Common::SeekableReadStream *strea if (!(flags & 0x40)) error("CDToons: useless FrtR?"); - uint16 count = stream->readUint16BE(); + uint16 count = stream.readUint16BE(); debugN(9, "CDToons FrtR: %d dirty rectangles\n", count); for (uint i = 0; i < count; i++) { Common::Rect dirtyRectFrtR = readRect(stream); @@ -263,7 +263,7 @@ Graphics::Surface *CDToonsDecoder::decodeImage(Common::SeekableReadStream *strea if (!(flags & 0x20)) error("CDToons: useless BckR?"); - uint16 count = stream->readUint16BE(); + uint16 count = stream.readUint16BE(); debugN(9, "CDToons BckR: %d subentries\n", count); for (uint i = 0; i < count; i++) { Common::Rect dirtyRectBckR = readRect(stream); @@ -276,15 +276,15 @@ Graphics::Surface *CDToonsDecoder::decodeImage(Common::SeekableReadStream *strea warning("Unknown CDToons tag '%s'", tag2str(tag)); } - if (stream->pos() > nextPos) + if (stream.pos() > nextPos) error("CDToons ran off the end of a block while reading it (at %d, next block at %d)", - stream->pos(), nextPos); - if (stream->pos() != nextPos) { - warning("CDToons had %d unknown bytes after block", nextPos - stream->pos()); - stream->seek(nextPos); + stream.pos(), nextPos); + if (stream.pos() != nextPos) { + warning("CDToons had %d unknown bytes after block", nextPos - stream.pos()); + stream.seek(nextPos); } - if (stream->pos() == stream->size()) + if (stream.pos() == stream.size()) break; } diff --git a/image/codecs/cdtoons.h b/image/codecs/cdtoons.h index ac569b5307..a75ce551c2 100644 --- a/image/codecs/cdtoons.h +++ b/image/codecs/cdtoons.h @@ -49,7 +49,7 @@ public: CDToonsDecoder(uint16 width, uint16 height); ~CDToonsDecoder(); - Graphics::Surface *decodeImage(Common::SeekableReadStream *stream); + Graphics::Surface *decodeFrame(Common::SeekableReadStream &stream); Graphics::PixelFormat getPixelFormat() const { return Graphics::PixelFormat::createFormatCLUT8(); } bool containsPalette() const { return true; } const byte *getPalette() { _dirtyPalette = false; return _palette; } diff --git a/image/codecs/cinepak.cpp b/image/codecs/cinepak.cpp index 6af7ab08ff..8d5dbceb4a 100644 --- a/image/codecs/cinepak.cpp +++ b/image/codecs/cinepak.cpp @@ -83,13 +83,13 @@ CinepakDecoder::~CinepakDecoder() { delete[] _clipTableBuf; } -const Graphics::Surface *CinepakDecoder::decodeImage(Common::SeekableReadStream *stream) { - _curFrame.flags = stream->readByte(); - _curFrame.length = (stream->readByte() << 16); - _curFrame.length |= stream->readUint16BE(); - _curFrame.width = stream->readUint16BE(); - _curFrame.height = stream->readUint16BE(); - _curFrame.stripCount = stream->readUint16BE(); +const Graphics::Surface *CinepakDecoder::decodeFrame(Common::SeekableReadStream &stream) { + _curFrame.flags = stream.readByte(); + _curFrame.length = (stream.readByte() << 16); + _curFrame.length |= stream.readUint16BE(); + _curFrame.width = stream.readUint16BE(); + _curFrame.height = stream.readUint16BE(); + _curFrame.stripCount = stream.readUint16BE(); if (_curFrame.strips == NULL) _curFrame.strips = new CinepakStrip[_curFrame.stripCount]; @@ -98,11 +98,11 @@ const Graphics::Surface *CinepakDecoder::decodeImage(Common::SeekableReadStream // Borrowed from FFMPEG. This should cut out the extra data Cinepak for Sega has (which is useless). // The theory behind this is that this is here to confuse standard Cinepak decoders. But, we won't let that happen! ;) - if (_curFrame.length != (uint32)stream->size()) { - if (stream->readUint16BE() == 0xFE00) - stream->readUint32BE(); - else if ((stream->size() % _curFrame.length) == 0) - stream->seek(-2, SEEK_CUR); + if (_curFrame.length != (uint32)stream.size()) { + if (stream.readUint16BE() == 0xFE00) + stream.readUint32BE(); + else if ((stream.size() % _curFrame.length) == 0) + stream.seek(-2, SEEK_CUR); } if (!_curFrame.surface) { @@ -121,29 +121,29 @@ const Graphics::Surface *CinepakDecoder::decodeImage(Common::SeekableReadStream } } - _curFrame.strips[i].id = stream->readUint16BE(); - _curFrame.strips[i].length = stream->readUint16BE() - 12; // Subtract the 12 byte header - _curFrame.strips[i].rect.top = _y; stream->readUint16BE(); // Ignore, substitute with our own. - _curFrame.strips[i].rect.left = 0; stream->readUint16BE(); // Ignore, substitute with our own - _curFrame.strips[i].rect.bottom = _y + stream->readUint16BE(); - _curFrame.strips[i].rect.right = _curFrame.width; stream->readUint16BE(); // Ignore, substitute with our own + _curFrame.strips[i].id = stream.readUint16BE(); + _curFrame.strips[i].length = stream.readUint16BE() - 12; // Subtract the 12 byte header + _curFrame.strips[i].rect.top = _y; stream.readUint16BE(); // Ignore, substitute with our own. + _curFrame.strips[i].rect.left = 0; stream.readUint16BE(); // Ignore, substitute with our own + _curFrame.strips[i].rect.bottom = _y + stream.readUint16BE(); + _curFrame.strips[i].rect.right = _curFrame.width; stream.readUint16BE(); // Ignore, substitute with our own // Sanity check. Because Cinepak is based on 4x4 blocks, the width and height of each strip needs to be divisible by 4. assert(!(_curFrame.strips[i].rect.width() % 4) && !(_curFrame.strips[i].rect.height() % 4)); - uint32 pos = stream->pos(); + uint32 pos = stream.pos(); - while ((uint32)stream->pos() < (pos + _curFrame.strips[i].length) && !stream->eos()) { - byte chunkID = stream->readByte(); + while ((uint32)stream.pos() < (pos + _curFrame.strips[i].length) && !stream.eos()) { + byte chunkID = stream.readByte(); - if (stream->eos()) + if (stream.eos()) break; // Chunk Size is 24-bit, ignore the first 4 bytes - uint32 chunkSize = stream->readByte() << 16; - chunkSize += stream->readUint16BE() - 4; + uint32 chunkSize = stream.readByte() << 16; + chunkSize += stream.readUint16BE() - 4; - int32 startPos = stream->pos(); + int32 startPos = stream.pos(); switch (chunkID) { case 0x20: @@ -168,8 +168,8 @@ const Graphics::Surface *CinepakDecoder::decodeImage(Common::SeekableReadStream return _curFrame.surface; } - if (stream->pos() != startPos + (int32)chunkSize) - stream->seek(startPos + chunkSize); + if (stream.pos() != startPos + (int32)chunkSize) + stream.seek(startPos + chunkSize); } _y = _curFrame.strips[i].rect.bottom; @@ -178,32 +178,32 @@ const Graphics::Surface *CinepakDecoder::decodeImage(Common::SeekableReadStream return _curFrame.surface; } -void CinepakDecoder::loadCodebook(Common::SeekableReadStream *stream, uint16 strip, byte codebookType, byte chunkID, uint32 chunkSize) { +void CinepakDecoder::loadCodebook(Common::SeekableReadStream &stream, uint16 strip, byte codebookType, byte chunkID, uint32 chunkSize) { CinepakCodebook *codebook = (codebookType == 1) ? _curFrame.strips[strip].v1_codebook : _curFrame.strips[strip].v4_codebook; - int32 startPos = stream->pos(); + int32 startPos = stream.pos(); uint32 flag = 0, mask = 0; for (uint16 i = 0; i < 256; i++) { if ((chunkID & 0x01) && !(mask >>= 1)) { - if ((stream->pos() - startPos + 4) > (int32)chunkSize) + if ((stream.pos() - startPos + 4) > (int32)chunkSize) break; - flag = stream->readUint32BE(); + flag = stream.readUint32BE(); mask = 0x80000000; } if (!(chunkID & 0x01) || (flag & mask)) { byte n = (chunkID & 0x04) ? 4 : 6; - if ((stream->pos() - startPos + n) > (int32)chunkSize) + if ((stream.pos() - startPos + n) > (int32)chunkSize) break; for (byte j = 0; j < 4; j++) - codebook[i].y[j] = stream->readByte(); + codebook[i].y[j] = stream.readByte(); if (n == 6) { - codebook[i].u = stream->readSByte(); - codebook[i].v = stream->readSByte(); + codebook[i].u = stream.readSByte(); + codebook[i].v = stream.readSByte(); } else { // This codebook type indicates either greyscale or // palettized video. For greyscale, default us to @@ -215,10 +215,10 @@ void CinepakDecoder::loadCodebook(Common::SeekableReadStream *stream, uint16 str } } -void CinepakDecoder::decodeVectors(Common::SeekableReadStream *stream, uint16 strip, byte chunkID, uint32 chunkSize) { +void CinepakDecoder::decodeVectors(Common::SeekableReadStream &stream, uint16 strip, byte chunkID, uint32 chunkSize) { uint32 flag = 0, mask = 0; uint32 iy[4]; - int32 startPos = stream->pos(); + int32 startPos = stream.pos(); for (uint16 y = _curFrame.strips[strip].rect.top; y < _curFrame.strips[strip].rect.bottom; y += 4) { iy[0] = _curFrame.strips[strip].rect.left + y * _curFrame.width; @@ -228,28 +228,28 @@ void CinepakDecoder::decodeVectors(Common::SeekableReadStream *stream, uint16 st for (uint16 x = _curFrame.strips[strip].rect.left; x < _curFrame.strips[strip].rect.right; x += 4) { if ((chunkID & 0x01) && !(mask >>= 1)) { - if ((stream->pos() - startPos + 4) > (int32)chunkSize) + if ((stream.pos() - startPos + 4) > (int32)chunkSize) return; - flag = stream->readUint32BE(); + flag = stream.readUint32BE(); mask = 0x80000000; } if (!(chunkID & 0x01) || (flag & mask)) { if (!(chunkID & 0x02) && !(mask >>= 1)) { - if ((stream->pos() - startPos + 4) > (int32)chunkSize) + if ((stream.pos() - startPos + 4) > (int32)chunkSize) return; - flag = stream->readUint32BE(); + flag = stream.readUint32BE(); mask = 0x80000000; } if ((chunkID & 0x02) || (~flag & mask)) { - if ((stream->pos() - startPos + 1) > (int32)chunkSize) + if ((stream.pos() - startPos + 1) > (int32)chunkSize) return; // Get the codebook - CinepakCodebook codebook = _curFrame.strips[strip].v1_codebook[stream->readByte()]; + CinepakCodebook codebook = _curFrame.strips[strip].v1_codebook[stream.readByte()]; PUT_PIXEL(iy[0] + 0, codebook.y[0], codebook.u, codebook.v); PUT_PIXEL(iy[0] + 1, codebook.y[0], codebook.u, codebook.v); @@ -271,28 +271,28 @@ void CinepakDecoder::decodeVectors(Common::SeekableReadStream *stream, uint16 st PUT_PIXEL(iy[3] + 2, codebook.y[3], codebook.u, codebook.v); PUT_PIXEL(iy[3] + 3, codebook.y[3], codebook.u, codebook.v); } else if (flag & mask) { - if ((stream->pos() - startPos + 4) > (int32)chunkSize) + if ((stream.pos() - startPos + 4) > (int32)chunkSize) return; - CinepakCodebook codebook = _curFrame.strips[strip].v4_codebook[stream->readByte()]; + CinepakCodebook codebook = _curFrame.strips[strip].v4_codebook[stream.readByte()]; PUT_PIXEL(iy[0] + 0, codebook.y[0], codebook.u, codebook.v); PUT_PIXEL(iy[0] + 1, codebook.y[1], codebook.u, codebook.v); PUT_PIXEL(iy[1] + 0, codebook.y[2], codebook.u, codebook.v); PUT_PIXEL(iy[1] + 1, codebook.y[3], codebook.u, codebook.v); - codebook = _curFrame.strips[strip].v4_codebook[stream->readByte()]; + codebook = _curFrame.strips[strip].v4_codebook[stream.readByte()]; PUT_PIXEL(iy[0] + 2, codebook.y[0], codebook.u, codebook.v); PUT_PIXEL(iy[0] + 3, codebook.y[1], codebook.u, codebook.v); PUT_PIXEL(iy[1] + 2, codebook.y[2], codebook.u, codebook.v); PUT_PIXEL(iy[1] + 3, codebook.y[3], codebook.u, codebook.v); - codebook = _curFrame.strips[strip].v4_codebook[stream->readByte()]; + codebook = _curFrame.strips[strip].v4_codebook[stream.readByte()]; PUT_PIXEL(iy[2] + 0, codebook.y[0], codebook.u, codebook.v); PUT_PIXEL(iy[2] + 1, codebook.y[1], codebook.u, codebook.v); PUT_PIXEL(iy[3] + 0, codebook.y[2], codebook.u, codebook.v); PUT_PIXEL(iy[3] + 1, codebook.y[3], codebook.u, codebook.v); - codebook = _curFrame.strips[strip].v4_codebook[stream->readByte()]; + codebook = _curFrame.strips[strip].v4_codebook[stream.readByte()]; PUT_PIXEL(iy[2] + 2, codebook.y[0], codebook.u, codebook.v); PUT_PIXEL(iy[2] + 3, codebook.y[1], codebook.u, codebook.v); PUT_PIXEL(iy[3] + 2, codebook.y[2], codebook.u, codebook.v); diff --git a/image/codecs/cinepak.h b/image/codecs/cinepak.h index 99a316e428..985fc91165 100644 --- a/image/codecs/cinepak.h +++ b/image/codecs/cinepak.h @@ -71,7 +71,7 @@ public: CinepakDecoder(int bitsPerPixel = 24); ~CinepakDecoder(); - const Graphics::Surface *decodeImage(Common::SeekableReadStream *stream); + const Graphics::Surface *decodeFrame(Common::SeekableReadStream &stream); Graphics::PixelFormat getPixelFormat() const { return _pixelFormat; } private: @@ -80,8 +80,8 @@ private: Graphics::PixelFormat _pixelFormat; byte *_clipTable, *_clipTableBuf; - void loadCodebook(Common::SeekableReadStream *stream, uint16 strip, byte codebookType, byte chunkID, uint32 chunkSize); - void decodeVectors(Common::SeekableReadStream *stream, uint16 strip, byte chunkID, uint32 chunkSize); + void loadCodebook(Common::SeekableReadStream &stream, uint16 strip, byte codebookType, byte chunkID, uint32 chunkSize); + void decodeVectors(Common::SeekableReadStream &stream, uint16 strip, byte chunkID, uint32 chunkSize); }; } // End of namespace Image diff --git a/image/codecs/codec.h b/image/codecs/codec.h index 1b7a295e9d..092f9754f3 100644 --- a/image/codecs/codec.h +++ b/image/codecs/codec.h @@ -59,9 +59,8 @@ public: * containing the decoded frame. * * @return a pointer to the decoded frame - * @note stream is not deleted */ - virtual const Graphics::Surface *decodeImage(Common::SeekableReadStream *stream) = 0; + virtual const Graphics::Surface *decodeFrame(Common::SeekableReadStream &stream) = 0; /** * Get the format that the surface returned from decodeImage() will diff --git a/image/codecs/indeo3.cpp b/image/codecs/indeo3.cpp index 77bcec09bb..af9120ca93 100644 --- a/image/codecs/indeo3.cpp +++ b/image/codecs/indeo3.cpp @@ -165,24 +165,24 @@ void Indeo3Decoder::allocFrames() { } } -const Graphics::Surface *Indeo3Decoder::decodeImage(Common::SeekableReadStream *stream) { +const Graphics::Surface *Indeo3Decoder::decodeFrame(Common::SeekableReadStream &stream) { // Not Indeo 3? Fail - if (!isIndeo3(*stream)) + if (!isIndeo3(stream)) return 0; - stream->seek(12); - uint32 frameDataLen = stream->readUint32LE(); + stream.seek(12); + uint32 frameDataLen = stream.readUint32LE(); // Less data than the frame should have? Fail - if (stream->size() < (int)(frameDataLen - 16)) + if (stream.size() < (int)(frameDataLen - 16)) return 0; - stream->seek(16); // Behind header - stream->skip(2); // Unknown + stream.seek(16); // Behind header + stream.skip(2); // Unknown - uint16 flags1 = stream->readUint16LE(); - uint32 flags3 = stream->readUint32LE(); - uint8 flags2 = stream->readByte(); + uint16 flags1 = stream.readUint16LE(); + uint32 flags3 = stream.readUint32LE(); + uint8 flags2 = stream.readByte(); // Finding the reference frame if (flags1 & 0x200) { @@ -196,22 +196,22 @@ const Graphics::Surface *Indeo3Decoder::decodeImage(Common::SeekableReadStream * if (flags3 == 0x80) return _surface; - stream->skip(3); + stream.skip(3); - uint16 fHeight = stream->readUint16LE(); - uint16 fWidth = stream->readUint16LE(); + uint16 fHeight = stream.readUint16LE(); + uint16 fWidth = stream.readUint16LE(); uint32 chromaHeight = ((fHeight >> 2) + 3) & 0x7FFC; uint32 chromaWidth = ((fWidth >> 2) + 3) & 0x7FFC; uint32 offs; - uint32 offsY = stream->readUint32LE() + 16; - uint32 offsU = stream->readUint32LE() + 16; - uint32 offsV = stream->readUint32LE() + 16; + uint32 offsY = stream.readUint32LE() + 16; + uint32 offsU = stream.readUint32LE() + 16; + uint32 offsV = stream.readUint32LE() + 16; - stream->skip(4); + stream.skip(4); - uint32 hPos = stream->pos(); + uint32 hPos = stream.pos(); if (offsY < hPos) { warning("Indeo3Decoder::decodeImage: offsY < hPos"); @@ -226,11 +226,11 @@ const Graphics::Surface *Indeo3Decoder::decodeImage(Common::SeekableReadStream * return 0; } - uint32 dataSize = stream->size() - hPos; + uint32 dataSize = stream.size() - hPos; byte *inData = new byte[dataSize]; - if (stream->read(inData, dataSize) != dataSize) { + if (stream.read(inData, dataSize) != dataSize) { delete[] inData; return 0; } @@ -239,23 +239,23 @@ const Graphics::Surface *Indeo3Decoder::decodeImage(Common::SeekableReadStream * byte *buf_pos; // Luminance Y - stream->seek(offsY); + stream.seek(offsY); buf_pos = inData + offsY + 4 - hPos; - offs = stream->readUint32LE(); + offs = stream.readUint32LE(); decodeChunk(_cur_frame->Ybuf, _ref_frame->Ybuf, fWidth, fHeight, buf_pos + offs * 2, flags2, hdr_pos, buf_pos, MIN(fWidth, 160)); // Chrominance U - stream->seek(offsU); + stream.seek(offsU); buf_pos = inData + offsU + 4 - hPos; - offs = stream->readUint32LE(); + offs = stream.readUint32LE(); decodeChunk(_cur_frame->Vbuf, _ref_frame->Vbuf, chromaWidth, chromaHeight, buf_pos + offs * 2, flags2, hdr_pos, buf_pos, MIN(chromaWidth, 40)); // Chrominance V - stream->seek(offsV); + stream.seek(offsV); buf_pos = inData + offsV + 4 - hPos; - offs = stream->readUint32LE(); + offs = stream.readUint32LE(); decodeChunk(_cur_frame->Ubuf, _ref_frame->Ubuf, chromaWidth, chromaHeight, buf_pos + offs * 2, flags2, hdr_pos, buf_pos, MIN(chromaWidth, 40)); diff --git a/image/codecs/indeo3.h b/image/codecs/indeo3.h index 275cbc1654..f1b406d40d 100644 --- a/image/codecs/indeo3.h +++ b/image/codecs/indeo3.h @@ -48,7 +48,7 @@ public: Indeo3Decoder(uint16 width, uint16 height); ~Indeo3Decoder(); - const Graphics::Surface *decodeImage(Common::SeekableReadStream *stream); + const Graphics::Surface *decodeFrame(Common::SeekableReadStream &stream); Graphics::PixelFormat getPixelFormat() const; static bool isIndeo3(Common::SeekableReadStream &stream); diff --git a/image/codecs/mjpeg.cpp b/image/codecs/mjpeg.cpp index aa7e1d0ec4..4ad72f259d 100644 --- a/image/codecs/mjpeg.cpp +++ b/image/codecs/mjpeg.cpp @@ -147,20 +147,20 @@ static const byte s_mjpegValACChrominance[] = { 0xf9, 0xfa }; -const Graphics::Surface *MJPEGDecoder::decodeImage(Common::SeekableReadStream *stream) { +const Graphics::Surface *MJPEGDecoder::decodeFrame(Common::SeekableReadStream &stream) { // We need to reconstruct an actual JPEG stream here, then feed it to the JPEG decoder // Yes, this is a pain. - stream->readUint32BE(); // Skip nonsense JPEG header - uint16 inputSkip = stream->readUint16BE() + 4; - uint32 tag = stream->readUint32BE(); + stream.readUint32BE(); // Skip nonsense JPEG header + uint16 inputSkip = stream.readUint16BE() + 4; + uint32 tag = stream.readUint32BE(); if (tag != MKTAG('A', 'V', 'I', '1')) { warning("Invalid MJPEG tag found"); return 0; } - uint32 outputSize = stream->size() - inputSkip + sizeof(s_jpegHeader) + DHT_SEGMENT_SIZE; + uint32 outputSize = stream.size() - inputSkip + sizeof(s_jpegHeader) + DHT_SEGMENT_SIZE; byte *data = (byte *)malloc(outputSize); if (!data) { @@ -193,8 +193,8 @@ const Graphics::Surface *MJPEGDecoder::decodeImage(Common::SeekableReadStream *s dataOffset += 162; // Write the actual data - stream->seek(inputSkip); - stream->read(data + dataOffset, stream->size() - inputSkip); + stream.seek(inputSkip); + stream.read(data + dataOffset, stream.size() - inputSkip); Common::MemoryReadStream convertedStream(data, outputSize, DisposeAfterUse::YES); JPEGDecoder jpeg; diff --git a/image/codecs/mjpeg.h b/image/codecs/mjpeg.h index b34b84b225..904b89d3ae 100644 --- a/image/codecs/mjpeg.h +++ b/image/codecs/mjpeg.h @@ -47,7 +47,7 @@ public: MJPEGDecoder(); ~MJPEGDecoder(); - const Graphics::Surface *decodeImage(Common::SeekableReadStream *stream); + const Graphics::Surface *decodeFrame(Common::SeekableReadStream &stream); Graphics::PixelFormat getPixelFormat() const { return _pixelFormat; } private: diff --git a/image/codecs/mpeg.cpp b/image/codecs/mpeg.cpp index d81123f26d..beb042dbf1 100644 --- a/image/codecs/mpeg.cpp +++ b/image/codecs/mpeg.cpp @@ -52,13 +52,13 @@ MPEGDecoder::~MPEGDecoder() { } } -const Graphics::Surface *MPEGDecoder::decodeImage(Common::SeekableReadStream *stream) { +const Graphics::Surface *MPEGDecoder::decodeFrame(Common::SeekableReadStream &stream) { uint32 framePeriod; decodePacket(stream, framePeriod); return _surface; } -bool MPEGDecoder::decodePacket(Common::SeekableReadStream *packet, uint32 &framePeriod, Graphics::Surface *dst) { +bool MPEGDecoder::decodePacket(Common::SeekableReadStream &packet, uint32 &framePeriod, Graphics::Surface *dst) { // Decode as much as we can out of this packet uint32 size = 0xFFFFFFFF; mpeg2_state_t state; @@ -70,7 +70,7 @@ bool MPEGDecoder::decodePacket(Common::SeekableReadStream *packet, uint32 &frame switch (state) { case STATE_BUFFER: - size = packet->read(_buffer, BUFFER_SIZE); + size = packet.read(_buffer, BUFFER_SIZE); mpeg2_buffer(_mpegDecoder, _buffer, _buffer + size); break; case STATE_SLICE: diff --git a/image/codecs/mpeg.h b/image/codecs/mpeg.h index b9e961cf24..7f231dd8b3 100644 --- a/image/codecs/mpeg.h +++ b/image/codecs/mpeg.h @@ -72,11 +72,11 @@ public: ~MPEGDecoder(); // Codec interface - const Graphics::Surface *decodeImage(Common::SeekableReadStream *stream); + const Graphics::Surface *decodeFrame(Common::SeekableReadStream &stream); Graphics::PixelFormat getPixelFormat() const { return _pixelFormat; } // MPEGPSDecoder call - bool decodePacket(Common::SeekableReadStream *packet, uint32 &framePeriod, Graphics::Surface *dst = 0); + bool decodePacket(Common::SeekableReadStream &packet, uint32 &framePeriod, Graphics::Surface *dst = 0); private: Graphics::PixelFormat _pixelFormat; diff --git a/image/codecs/msrle.cpp b/image/codecs/msrle.cpp index 951de83c31..89fe869a9e 100644 --- a/image/codecs/msrle.cpp +++ b/image/codecs/msrle.cpp @@ -39,7 +39,7 @@ MSRLEDecoder::~MSRLEDecoder() { delete _surface; } -const Graphics::Surface *MSRLEDecoder::decodeImage(Common::SeekableReadStream *stream) { +const Graphics::Surface *MSRLEDecoder::decodeFrame(Common::SeekableReadStream &stream) { if (_bitsPerPixel == 8) { decode8(stream); } else @@ -48,7 +48,7 @@ const Graphics::Surface *MSRLEDecoder::decodeImage(Common::SeekableReadStream *s return _surface; } -void MSRLEDecoder::decode8(Common::SeekableReadStream *stream) { +void MSRLEDecoder::decode8(Common::SeekableReadStream &stream) { int x = 0; int y = _surface->h - 1; @@ -60,9 +60,9 @@ void MSRLEDecoder::decode8(Common::SeekableReadStream *stream) { byte *output = data + ((height - 1) * width); byte *output_end = data + ((height) * width); - while (!stream->eos()) { - byte count = stream->readByte(); - byte value = stream->readByte(); + while (!stream.eos()) { + byte count = stream.readByte(); + byte value = stream.readByte(); if (count == 0) { if (value == 0) { @@ -84,8 +84,8 @@ void MSRLEDecoder::decode8(Common::SeekableReadStream *stream) { } else if (value == 2) { // Skip - count = stream->readByte(); - value = stream->readByte(); + count = stream.readByte(); + value = stream.readByte(); y -= value; x += count; @@ -101,15 +101,15 @@ void MSRLEDecoder::decode8(Common::SeekableReadStream *stream) { // Copy data if (output + value > output_end) { - stream->skip(value); + stream.skip(value); continue; } for (int i = 0; i < value; i++) - *output++ = stream->readByte(); + *output++ = stream.readByte(); if (value & 1) - stream->skip(1); + stream.skip(1); x += value; } diff --git a/image/codecs/msrle.h b/image/codecs/msrle.h index 10e3531c07..a65ef1c41d 100644 --- a/image/codecs/msrle.h +++ b/image/codecs/msrle.h @@ -38,7 +38,7 @@ public: MSRLEDecoder(uint16 width, uint16 height, byte bitsPerPixel); ~MSRLEDecoder(); - const Graphics::Surface *decodeImage(Common::SeekableReadStream *stream); + const Graphics::Surface *decodeFrame(Common::SeekableReadStream &stream); Graphics::PixelFormat getPixelFormat() const { return Graphics::PixelFormat::createFormatCLUT8(); } private: @@ -46,7 +46,7 @@ private: Graphics::Surface *_surface; - void decode8(Common::SeekableReadStream *stream); + void decode8(Common::SeekableReadStream &stream); }; } // End of namespace Image diff --git a/image/codecs/msvideo1.cpp b/image/codecs/msvideo1.cpp index e94afedb2d..25d7395363 100644 --- a/image/codecs/msvideo1.cpp +++ b/image/codecs/msvideo1.cpp @@ -29,8 +29,8 @@ namespace Image { #define CHECK_STREAM_PTR(n) \ - if ((stream->pos() + n) > stream->size() ) { \ - warning ("MS Video-1: Stream out of bounds (%d >= %d)", stream->pos() + n, stream->size()); \ + if ((stream.pos() + n) > stream.size() ) { \ + warning ("MS Video-1: Stream out of bounds (%d >= %d)", stream.pos() + n, stream.size()); \ return; \ } @@ -46,7 +46,7 @@ MSVideo1Decoder::~MSVideo1Decoder() { delete _surface; } -void MSVideo1Decoder::decode8(Common::SeekableReadStream *stream) { +void MSVideo1Decoder::decode8(Common::SeekableReadStream &stream) { byte colors[8]; byte *pixels = (byte *)_surface->getPixels(); uint16 stride = _surface->w; @@ -73,8 +73,8 @@ void MSVideo1Decoder::decode8(Common::SeekableReadStream *stream) { /* get the next two bytes in the encoded data stream */ CHECK_STREAM_PTR(2); - byte byte_a = stream->readByte(); - byte byte_b = stream->readByte(); + byte byte_a = stream.readByte(); + byte byte_b = stream.readByte(); /* check if the decode is finished */ if (byte_a == 0 && byte_b == 0 && totalBlocks == 0) { @@ -87,8 +87,8 @@ void MSVideo1Decoder::decode8(Common::SeekableReadStream *stream) { uint16 flags = (byte_b << 8) | byte_a; CHECK_STREAM_PTR(2); - colors[0] = stream->readByte(); - colors[1] = stream->readByte(); + colors[0] = stream.readByte(); + colors[1] = stream.readByte(); for (byte pixel_y = 0; pixel_y < 4; pixel_y++) { for (byte pixel_x = 0; pixel_x < 4; pixel_x++, flags >>= 1) @@ -101,7 +101,7 @@ void MSVideo1Decoder::decode8(Common::SeekableReadStream *stream) { CHECK_STREAM_PTR(8); for (byte i = 0; i < 8; i++) - colors[i] = stream->readByte(); + colors[i] = stream.readByte(); for (byte pixel_y = 0; pixel_y < 4; pixel_y++) { for (byte pixel_x = 0; pixel_x < 4; pixel_x++, flags >>= 1) @@ -125,7 +125,7 @@ void MSVideo1Decoder::decode8(Common::SeekableReadStream *stream) { } } -const Graphics::Surface *MSVideo1Decoder::decodeImage(Common::SeekableReadStream *stream) { +const Graphics::Surface *MSVideo1Decoder::decodeFrame(Common::SeekableReadStream &stream) { if (_bitsPerPixel == 8) decode8(stream); else { diff --git a/image/codecs/msvideo1.h b/image/codecs/msvideo1.h index 517936d35b..bdee5acbe5 100644 --- a/image/codecs/msvideo1.h +++ b/image/codecs/msvideo1.h @@ -38,7 +38,7 @@ public: MSVideo1Decoder(uint16 width, uint16 height, byte bitsPerPixel); ~MSVideo1Decoder(); - const Graphics::Surface *decodeImage(Common::SeekableReadStream *stream); + const Graphics::Surface *decodeFrame(Common::SeekableReadStream &stream); Graphics::PixelFormat getPixelFormat() const { return Graphics::PixelFormat::createFormatCLUT8(); } private: @@ -46,8 +46,8 @@ private: Graphics::Surface *_surface; - void decode8(Common::SeekableReadStream *stream); - //void decode16(Common::SeekableReadStream *stream); + void decode8(Common::SeekableReadStream &stream); + //void decode16(Common::SeekableReadStream &stream); }; } // End of namespace Image diff --git a/image/codecs/qtrle.cpp b/image/codecs/qtrle.cpp index a609e9bba9..94744efa5a 100644 --- a/image/codecs/qtrle.cpp +++ b/image/codecs/qtrle.cpp @@ -48,8 +48,8 @@ QTRLEDecoder::QTRLEDecoder(uint16 width, uint16 height, byte bitsPerPixel) : Cod } #define CHECK_STREAM_PTR(n) \ - if ((stream->pos() + n) > stream->size()) { \ - warning("QTRLE Problem: stream out of bounds (%d > %d)", stream->pos() + n, stream->size()); \ + if ((stream.pos() + n) > stream.size()) { \ + warning("QTRLE Problem: stream out of bounds (%d > %d)", stream.pos() + n, stream.size()); \ return; \ } @@ -59,14 +59,14 @@ QTRLEDecoder::QTRLEDecoder(uint16 width, uint16 height, byte bitsPerPixel) : Cod return; \ } \ -void QTRLEDecoder::decode1(Common::SeekableReadStream *stream, uint32 rowPtr, uint32 linesToChange) { +void QTRLEDecoder::decode1(Common::SeekableReadStream &stream, uint32 rowPtr, uint32 linesToChange) { uint32 pixelPtr = 0; byte *rgb = (byte *)_surface->getPixels(); while (linesToChange) { CHECK_STREAM_PTR(2); - byte skip = stream->readByte(); - int8 rleCode = stream->readSByte(); + byte skip = stream.readByte(); + int8 rleCode = stream.readSByte(); if (rleCode == 0) break; @@ -83,8 +83,8 @@ void QTRLEDecoder::decode1(Common::SeekableReadStream *stream, uint32 rowPtr, ui rleCode = -rleCode; // get the next 2 bytes from the stream, treat them as groups of 8 pixels, and output them rleCode times */ CHECK_STREAM_PTR(2); - byte pi0 = stream->readByte(); - byte pi1 = stream->readByte(); + byte pi0 = stream.readByte(); + byte pi1 = stream.readByte(); CHECK_PIXEL_PTR(rleCode * 2); while (rleCode--) { @@ -98,25 +98,25 @@ void QTRLEDecoder::decode1(Common::SeekableReadStream *stream, uint32 rowPtr, ui CHECK_PIXEL_PTR(rleCode); while (rleCode--) - rgb[pixelPtr++] = stream->readByte(); + rgb[pixelPtr++] = stream.readByte(); } } } -void QTRLEDecoder::decode2_4(Common::SeekableReadStream *stream, uint32 rowPtr, uint32 linesToChange, byte bpp) { +void QTRLEDecoder::decode2_4(Common::SeekableReadStream &stream, uint32 rowPtr, uint32 linesToChange, byte bpp) { uint32 pixelPtr = 0; byte *rgb = (byte *)_surface->getPixels(); byte numPixels = (bpp == 4) ? 8 : 16; while (linesToChange--) { CHECK_STREAM_PTR(2); - pixelPtr = rowPtr + (numPixels * (stream->readByte() - 1)); + pixelPtr = rowPtr + (numPixels * (stream.readByte() - 1)); - for (int8 rleCode = stream->readSByte(); rleCode != -1; rleCode = stream->readSByte()) { + for (int8 rleCode = stream.readSByte(); rleCode != -1; rleCode = stream.readSByte()) { if (rleCode == 0) { // there's another skip code in the stream CHECK_STREAM_PTR(1); - pixelPtr += (numPixels * (stream->readByte() - 1)); + pixelPtr += (numPixels * (stream.readByte() - 1)); } else if (rleCode < 0) { // decode the run length code rleCode = -rleCode; @@ -127,10 +127,10 @@ void QTRLEDecoder::decode2_4(Common::SeekableReadStream *stream, uint32 rowPtr, byte pi[16]; // 16 palette indices for (int8 i = numPixels - 1; i >= 0; i--) { - pi[numPixels - 1 - i] = (stream->readByte() >> ((i * bpp) & 0x07)) & ((1 << bpp) - 1); + pi[numPixels - 1 - i] = (stream.readByte() >> ((i * bpp) & 0x07)) & ((1 << bpp) - 1); if ((i & ((numPixels >> 2) - 1)) == 0) - stream->readByte(); + stream.readByte(); } CHECK_PIXEL_PTR(rleCode * numPixels); @@ -145,7 +145,7 @@ void QTRLEDecoder::decode2_4(Common::SeekableReadStream *stream, uint32 rowPtr, CHECK_PIXEL_PTR(rleCode * (numPixels >> 2)); while (rleCode--) { - byte temp = stream->readByte(); + byte temp = stream.readByte(); if (bpp == 4) { rgb[pixelPtr++] = (temp >> 4) & 0x0f; rgb[pixelPtr++] = temp & 0x0f; @@ -163,19 +163,19 @@ void QTRLEDecoder::decode2_4(Common::SeekableReadStream *stream, uint32 rowPtr, } } -void QTRLEDecoder::decode8(Common::SeekableReadStream *stream, uint32 rowPtr, uint32 linesToChange) { +void QTRLEDecoder::decode8(Common::SeekableReadStream &stream, uint32 rowPtr, uint32 linesToChange) { uint32 pixelPtr = 0; byte *rgb = (byte *)_surface->getPixels(); while (linesToChange--) { CHECK_STREAM_PTR(2); - pixelPtr = rowPtr + 4 * (stream->readByte() - 1); + pixelPtr = rowPtr + 4 * (stream.readByte() - 1); - for (int8 rleCode = stream->readSByte(); rleCode != -1; rleCode = stream->readSByte()) { + for (int8 rleCode = stream.readSByte(); rleCode != -1; rleCode = stream.readSByte()) { if (rleCode == 0) { // there's another skip code in the stream CHECK_STREAM_PTR(1); - pixelPtr += 4 * (stream->readByte() - 1); + pixelPtr += 4 * (stream.readByte() - 1); } else if (rleCode < 0) { // decode the run length code rleCode = -rleCode; @@ -186,7 +186,7 @@ void QTRLEDecoder::decode8(Common::SeekableReadStream *stream, uint32 rowPtr, ui byte pi[4]; // 4 palette indexes for (byte i = 0; i < 4; i++) - pi[i] = stream->readByte(); + pi[i] = stream.readByte(); CHECK_PIXEL_PTR(rleCode * 4); @@ -200,7 +200,7 @@ void QTRLEDecoder::decode8(Common::SeekableReadStream *stream, uint32 rowPtr, ui CHECK_PIXEL_PTR(rleCode); while (rleCode--) - rgb[pixelPtr++] = stream->readByte(); + rgb[pixelPtr++] = stream.readByte(); } } @@ -208,25 +208,25 @@ void QTRLEDecoder::decode8(Common::SeekableReadStream *stream, uint32 rowPtr, ui } } -void QTRLEDecoder::decode16(Common::SeekableReadStream *stream, uint32 rowPtr, uint32 linesToChange) { +void QTRLEDecoder::decode16(Common::SeekableReadStream &stream, uint32 rowPtr, uint32 linesToChange) { uint32 pixelPtr = 0; uint16 *rgb = (uint16 *)_surface->getPixels(); while (linesToChange--) { CHECK_STREAM_PTR(2); - pixelPtr = rowPtr + stream->readByte() - 1; + pixelPtr = rowPtr + stream.readByte() - 1; - for (int8 rleCode = stream->readSByte(); rleCode != -1; rleCode = stream->readSByte()) { + for (int8 rleCode = stream.readSByte(); rleCode != -1; rleCode = stream.readSByte()) { if (rleCode == 0) { // there's another skip code in the stream CHECK_STREAM_PTR(1); - pixelPtr += stream->readByte() - 1; + pixelPtr += stream.readByte() - 1; } else if (rleCode < 0) { // decode the run length code rleCode = -rleCode; CHECK_STREAM_PTR(2); - uint16 rgb16 = stream->readUint16BE(); + uint16 rgb16 = stream.readUint16BE(); CHECK_PIXEL_PTR(rleCode); @@ -238,7 +238,7 @@ void QTRLEDecoder::decode16(Common::SeekableReadStream *stream, uint32 rowPtr, u // copy pixels directly to output while (rleCode--) - rgb[pixelPtr++] = stream->readUint16BE(); + rgb[pixelPtr++] = stream.readUint16BE(); } } @@ -246,28 +246,28 @@ void QTRLEDecoder::decode16(Common::SeekableReadStream *stream, uint32 rowPtr, u } } -void QTRLEDecoder::decode24(Common::SeekableReadStream *stream, uint32 rowPtr, uint32 linesToChange) { +void QTRLEDecoder::decode24(Common::SeekableReadStream &stream, uint32 rowPtr, uint32 linesToChange) { uint32 pixelPtr = 0; uint32 *rgb = (uint32 *)_surface->getPixels(); while (linesToChange--) { CHECK_STREAM_PTR(2); - pixelPtr = rowPtr + stream->readByte() - 1; + pixelPtr = rowPtr + stream.readByte() - 1; - for (int8 rleCode = stream->readSByte(); rleCode != -1; rleCode = stream->readSByte()) { + for (int8 rleCode = stream.readSByte(); rleCode != -1; rleCode = stream.readSByte()) { if (rleCode == 0) { // there's another skip code in the stream CHECK_STREAM_PTR(1); - pixelPtr += stream->readByte() - 1; + pixelPtr += stream.readByte() - 1; } else if (rleCode < 0) { // decode the run length code rleCode = -rleCode; CHECK_STREAM_PTR(3); - byte r = stream->readByte(); - byte g = stream->readByte(); - byte b = stream->readByte(); + byte r = stream.readByte(); + byte g = stream.readByte(); + byte b = stream.readByte(); uint32 color = _surface->format.RGBToColor(r, g, b); CHECK_PIXEL_PTR(rleCode); @@ -280,9 +280,9 @@ void QTRLEDecoder::decode24(Common::SeekableReadStream *stream, uint32 rowPtr, u // copy pixels directly to output while (rleCode--) { - byte r = stream->readByte(); - byte g = stream->readByte(); - byte b = stream->readByte(); + byte r = stream.readByte(); + byte g = stream.readByte(); + byte b = stream.readByte(); rgb[pixelPtr++] = _surface->format.RGBToColor(r, g, b); } } @@ -292,29 +292,29 @@ void QTRLEDecoder::decode24(Common::SeekableReadStream *stream, uint32 rowPtr, u } } -void QTRLEDecoder::decode32(Common::SeekableReadStream *stream, uint32 rowPtr, uint32 linesToChange) { +void QTRLEDecoder::decode32(Common::SeekableReadStream &stream, uint32 rowPtr, uint32 linesToChange) { uint32 pixelPtr = 0; uint32 *rgb = (uint32 *)_surface->getPixels(); while (linesToChange--) { CHECK_STREAM_PTR(2); - pixelPtr = rowPtr + stream->readByte() - 1; + pixelPtr = rowPtr + stream.readByte() - 1; - for (int8 rleCode = stream->readSByte(); rleCode != -1; rleCode = stream->readSByte()) { + for (int8 rleCode = stream.readSByte(); rleCode != -1; rleCode = stream.readSByte()) { if (rleCode == 0) { // there's another skip code in the stream CHECK_STREAM_PTR(1); - pixelPtr += stream->readByte() - 1; + pixelPtr += stream.readByte() - 1; } else if (rleCode < 0) { // decode the run length code rleCode = -rleCode; CHECK_STREAM_PTR(4); - byte a = stream->readByte(); - byte r = stream->readByte(); - byte g = stream->readByte(); - byte b = stream->readByte(); + byte a = stream.readByte(); + byte r = stream.readByte(); + byte g = stream.readByte(); + byte b = stream.readByte(); uint32 color = _surface->format.ARGBToColor(a, r, g, b); CHECK_PIXEL_PTR(rleCode); @@ -327,10 +327,10 @@ void QTRLEDecoder::decode32(Common::SeekableReadStream *stream, uint32 rowPtr, u // copy pixels directly to output while (rleCode--) { - byte a = stream->readByte(); - byte r = stream->readByte(); - byte g = stream->readByte(); - byte b = stream->readByte(); + byte a = stream.readByte(); + byte r = stream.readByte(); + byte g = stream.readByte(); + byte b = stream.readByte(); rgb[pixelPtr++] = _surface->format.ARGBToColor(a, r, g, b); } } @@ -340,29 +340,29 @@ void QTRLEDecoder::decode32(Common::SeekableReadStream *stream, uint32 rowPtr, u } } -const Graphics::Surface *QTRLEDecoder::decodeImage(Common::SeekableReadStream *stream) { +const Graphics::Surface *QTRLEDecoder::decodeFrame(Common::SeekableReadStream &stream) { uint16 startLine = 0; uint16 height = _surface->h; // check if this frame is even supposed to change - if (stream->size() < 8) + if (stream.size() < 8) return _surface; // start after the chunk size - stream->readUint32BE(); + stream.readUint32BE(); // fetch the header - uint16 header = stream->readUint16BE(); + uint16 header = stream.readUint16BE(); // if a header is present, fetch additional decoding parameters if (header & 8) { - if (stream->size() < 14) + if (stream.size() < 14) return _surface; - startLine = stream->readUint16BE(); - stream->readUint16BE(); // Unknown - height = stream->readUint16BE(); - stream->readUint16BE(); // Unknown + startLine = stream.readUint16BE(); + stream.readUint16BE(); // Unknown + height = stream.readUint16BE(); + stream.readUint16BE(); // Unknown } uint32 rowPtr = _surface->w * startLine; diff --git a/image/codecs/qtrle.h b/image/codecs/qtrle.h index c16daa0349..7ef89537cf 100644 --- a/image/codecs/qtrle.h +++ b/image/codecs/qtrle.h @@ -39,7 +39,7 @@ public: QTRLEDecoder(uint16 width, uint16 height, byte bitsPerPixel); ~QTRLEDecoder(); - const Graphics::Surface *decodeImage(Common::SeekableReadStream *stream); + const Graphics::Surface *decodeFrame(Common::SeekableReadStream &stream); Graphics::PixelFormat getPixelFormat() const; private: @@ -47,12 +47,12 @@ private: Graphics::Surface *_surface; - void decode1(Common::SeekableReadStream *stream, uint32 rowPtr, uint32 linesToChange); - void decode2_4(Common::SeekableReadStream *stream, uint32 rowPtr, uint32 linesToChange, byte bpp); - void decode8(Common::SeekableReadStream *stream, uint32 rowPtr, uint32 linesToChange); - void decode16(Common::SeekableReadStream *stream, uint32 rowPtr, uint32 linesToChange); - void decode24(Common::SeekableReadStream *stream, uint32 rowPtr, uint32 linesToChange); - void decode32(Common::SeekableReadStream *stream, uint32 rowPtr, uint32 linesToChange); + void decode1(Common::SeekableReadStream &stream, uint32 rowPtr, uint32 linesToChange); + void decode2_4(Common::SeekableReadStream &stream, uint32 rowPtr, uint32 linesToChange, byte bpp); + void decode8(Common::SeekableReadStream &stream, uint32 rowPtr, uint32 linesToChange); + void decode16(Common::SeekableReadStream &stream, uint32 rowPtr, uint32 linesToChange); + void decode24(Common::SeekableReadStream &stream, uint32 rowPtr, uint32 linesToChange); + void decode32(Common::SeekableReadStream &stream, uint32 rowPtr, uint32 linesToChange); }; } // End of namespace Image diff --git a/image/codecs/rpza.cpp b/image/codecs/rpza.cpp index ecd930f785..5aeee7c90b 100644 --- a/image/codecs/rpza.cpp +++ b/image/codecs/rpza.cpp @@ -61,7 +61,7 @@ RPZADecoder::~RPZADecoder() { WRITE_UINT16((uint16 *)_surface->getPixels() + blockPtr, color); \ blockPtr++ -const Graphics::Surface *RPZADecoder::decodeImage(Common::SeekableReadStream *stream) { +const Graphics::Surface *RPZADecoder::decodeFrame(Common::SeekableReadStream &stream) { uint16 colorA = 0, colorB = 0; uint16 color4[4]; @@ -73,40 +73,40 @@ const Graphics::Surface *RPZADecoder::decodeImage(Common::SeekableReadStream *st uint16 tb; // First byte is always 0xe1. Warn if it's different - byte firstByte = stream->readByte(); + byte firstByte = stream.readByte(); if (firstByte != 0xe1) warning("First RPZA chunk byte is 0x%02x instead of 0xe1", firstByte); // Get chunk size, ingnoring first byte - uint32 chunkSize = stream->readUint16BE() << 8; - chunkSize += stream->readByte(); + uint32 chunkSize = stream.readUint16BE() << 8; + chunkSize += stream.readByte(); // If length mismatch use size from MOV file and try to decode anyway - if (chunkSize != (uint32)stream->size()) { + if (chunkSize != (uint32)stream.size()) { warning("MOV chunk size != encoded chunk size; using MOV chunk size"); - chunkSize = stream->size(); + chunkSize = stream.size(); } // Number of 4x4 blocks in frame int32 totalBlocks = ((_surface->w + 3) / 4) * ((_surface->h + 3) / 4); // Process chunk data - while ((uint32)stream->pos() < chunkSize) { - byte opcode = stream->readByte(); // Get opcode + while ((uint32)stream.pos() < chunkSize) { + byte opcode = stream.readByte(); // Get opcode byte numBlocks = (opcode & 0x1f) + 1; // Extract block counter from opcode // If opcode MSbit is 0, we need more data to decide what to do if ((opcode & 0x80) == 0) { - colorA = (opcode << 8) | stream->readByte(); + colorA = (opcode << 8) | stream.readByte(); opcode = 0; - if (stream->readByte() & 0x80) { + if (stream.readByte() & 0x80) { // Must behave as opcode 110xxxxx, using colorA computed // above. Use fake opcode 0x20 to enter switch block at // the right place opcode = 0x20; numBlocks = 1; } - stream->seek(-1, SEEK_CUR); + stream.seek(-1, SEEK_CUR); } switch (opcode & 0xe0) { @@ -116,7 +116,7 @@ const Graphics::Surface *RPZADecoder::decodeImage(Common::SeekableReadStream *st } break; case 0xa0: // Fill blocks with one color - colorA = stream->readUint16BE(); + colorA = stream.readUint16BE(); while (numBlocks--) { blockPtr = rowPtr + pixelPtr; for (byte pixel_y = 0; pixel_y < 4; pixel_y++) { @@ -131,9 +131,9 @@ const Graphics::Surface *RPZADecoder::decodeImage(Common::SeekableReadStream *st // Fill blocks with 4 colors case 0xc0: - colorA = stream->readUint16BE(); + colorA = stream.readUint16BE(); case 0x20: - colorB = stream->readUint16BE(); + colorB = stream.readUint16BE(); // Sort out the colors color4[0] = colorB; @@ -162,7 +162,7 @@ const Graphics::Surface *RPZADecoder::decodeImage(Common::SeekableReadStream *st while (numBlocks--) { blockPtr = rowPtr + pixelPtr; for (byte pixel_y = 0; pixel_y < 4; pixel_y++) { - byte index = stream->readByte(); + byte index = stream.readByte(); for (byte pixel_x = 0; pixel_x < 4; pixel_x++) { byte idx = (index >> (2 * (3 - pixel_x))) & 0x03; PUT_PIXEL(color4[idx]); @@ -180,7 +180,7 @@ const Graphics::Surface *RPZADecoder::decodeImage(Common::SeekableReadStream *st for (byte pixel_x = 0; pixel_x < 4; pixel_x++) { // We already have color of upper left pixel if (pixel_y != 0 || pixel_x != 0) - colorA = stream->readUint16BE(); + colorA = stream.readUint16BE(); PUT_PIXEL(colorA); } diff --git a/image/codecs/rpza.h b/image/codecs/rpza.h index f87ee1113a..62f4c02df5 100644 --- a/image/codecs/rpza.h +++ b/image/codecs/rpza.h @@ -39,7 +39,7 @@ public: RPZADecoder(uint16 width, uint16 height); ~RPZADecoder(); - const Graphics::Surface *decodeImage(Common::SeekableReadStream *stream); + const Graphics::Surface *decodeFrame(Common::SeekableReadStream &stream); Graphics::PixelFormat getPixelFormat() const { return Graphics::PixelFormat(2, 5, 5, 5, 0, 10, 5, 0, 0); } private: diff --git a/image/codecs/smc.cpp b/image/codecs/smc.cpp index 434a1058b7..54493d0c34 100644 --- a/image/codecs/smc.cpp +++ b/image/codecs/smc.cpp @@ -29,7 +29,7 @@ namespace Image { #define GET_BLOCK_COUNT() \ - (opcode & 0x10) ? (1 + stream->readByte()) : 1 + (opcode & 0x0F); + (opcode & 0x10) ? (1 + stream.readByte()) : 1 + (opcode & 0x0F); #define ADVANCE_BLOCK() \ { \ @@ -55,7 +55,7 @@ SMCDecoder::~SMCDecoder() { delete _surface; } -const Graphics::Surface *SMCDecoder::decodeImage(Common::SeekableReadStream *stream) { +const Graphics::Surface *SMCDecoder::decodeFrame(Common::SeekableReadStream &stream) { byte *pixels = (byte *)_surface->getPixels(); uint32 numBlocks = 0; @@ -77,9 +77,9 @@ const Graphics::Surface *SMCDecoder::decodeImage(Common::SeekableReadStream *str uint32 colorOctetIndex = 0; uint32 colorTableIndex = 0; // indices to color pair, quad, or octet tables - int32 chunkSize = stream->readUint32BE() & 0x00FFFFFF; - if (chunkSize != stream->size()) - warning("MOV chunk size != SMC chunk size (%d != %d); ignoring SMC chunk size", chunkSize, stream->size()); + int32 chunkSize = stream.readUint32BE() & 0x00FFFFFF; + if (chunkSize != stream.size()) + warning("MOV chunk size != SMC chunk size (%d != %d); ignoring SMC chunk size", chunkSize, stream.size()); int32 totalBlocks = ((_surface->w + 3) / 4) * ((_surface->h + 3) / 4); @@ -88,8 +88,8 @@ const Graphics::Surface *SMCDecoder::decodeImage(Common::SeekableReadStream *str // sanity checks // make sure stream ptr hasn't gone out of bounds - if (stream->pos() > stream->size()) { - warning("SMC decoder just went out of bounds (stream ptr = %d, chunk size = %d)", stream->pos(), stream->size()); + if (stream.pos() > stream.size()) { + warning("SMC decoder just went out of bounds (stream ptr = %d, chunk size = %d)", stream.pos(), stream.size()); return _surface; } @@ -99,7 +99,7 @@ const Graphics::Surface *SMCDecoder::decodeImage(Common::SeekableReadStream *str return _surface; } - byte opcode = stream->readByte(); + byte opcode = stream.readByte(); switch (opcode & 0xF0) { // skip n blocks @@ -192,7 +192,7 @@ const Graphics::Surface *SMCDecoder::decodeImage(Common::SeekableReadStream *str case 0x60: case 0x70: numBlocks = GET_BLOCK_COUNT(); - pixel = stream->readByte(); + pixel = stream.readByte(); while (numBlocks--) { blockPtr = rowPtr + pixelPtr; @@ -216,7 +216,7 @@ const Graphics::Surface *SMCDecoder::decodeImage(Common::SeekableReadStream *str // fetch the next 2 colors from bytestream and store in next // available entry in the color pair table for (byte i = 0; i < CPAIR; i++) { - pixel = stream->readByte(); + pixel = stream.readByte(); colorTableIndex = CPAIR * colorPairIndex + i; _colorPairs[colorTableIndex] = pixel; } @@ -229,10 +229,10 @@ const Graphics::Surface *SMCDecoder::decodeImage(Common::SeekableReadStream *str if (colorPairIndex == COLORS_PER_TABLE) colorPairIndex = 0; } else - colorTableIndex = CPAIR * stream->readByte(); + colorTableIndex = CPAIR * stream.readByte(); while (numBlocks--) { - colorFlags = stream->readUint16BE(); + colorFlags = stream.readUint16BE(); uint16 flagMask = 0x8000; blockPtr = rowPtr + pixelPtr; for (byte y = 0; y < 4; y++) { @@ -262,7 +262,7 @@ const Graphics::Surface *SMCDecoder::decodeImage(Common::SeekableReadStream *str // fetch the next 4 colors from bytestream and store in next // available entry in the color quad table for (byte i = 0; i < CQUAD; i++) { - pixel = stream->readByte(); + pixel = stream.readByte(); colorTableIndex = CQUAD * colorQuadIndex + i; _colorQuads[colorTableIndex] = pixel; } @@ -275,10 +275,10 @@ const Graphics::Surface *SMCDecoder::decodeImage(Common::SeekableReadStream *str if (colorQuadIndex == COLORS_PER_TABLE) colorQuadIndex = 0; } else - colorTableIndex = CQUAD * stream->readByte(); + colorTableIndex = CQUAD * stream.readByte(); while (numBlocks--) { - colorFlags = stream->readUint32BE(); + colorFlags = stream.readUint32BE(); // flag mask actually acts as a bit shift count here byte flagMask = 30; @@ -306,7 +306,7 @@ const Graphics::Surface *SMCDecoder::decodeImage(Common::SeekableReadStream *str // fetch the next 8 colors from bytestream and store in next // available entry in the color octet table for (byte i = 0; i < COCTET; i++) { - pixel = stream->readByte(); + pixel = stream.readByte(); colorTableIndex = COCTET * colorOctetIndex + i; _colorOctets[colorTableIndex] = pixel; } @@ -319,7 +319,7 @@ const Graphics::Surface *SMCDecoder::decodeImage(Common::SeekableReadStream *str if (colorOctetIndex == COLORS_PER_TABLE) colorOctetIndex = 0; } else - colorTableIndex = COCTET * stream->readByte(); + colorTableIndex = COCTET * stream.readByte(); while (numBlocks--) { /* @@ -331,7 +331,7 @@ const Graphics::Surface *SMCDecoder::decodeImage(Common::SeekableReadStream *str // build the color flags byte flagData[6]; - stream->read(flagData, 6); + stream.read(flagData, 6); colorFlagsA = ((READ_BE_UINT16(flagData) & 0xFFF0) << 8) | (READ_BE_UINT16(flagData + 2) >> 4); colorFlagsB = ((READ_BE_UINT16(flagData + 4) & 0xFFF0) << 8) | ((flagData[1] & 0xF) << 8) | @@ -369,7 +369,7 @@ const Graphics::Surface *SMCDecoder::decodeImage(Common::SeekableReadStream *str blockPtr = rowPtr + pixelPtr; for (byte y = 0; y < 4; y++) { for (byte x = 0; x < 4; x++) - pixels[blockPtr++] = stream->readByte(); + pixels[blockPtr++] = stream.readByte(); blockPtr += rowInc; } diff --git a/image/codecs/smc.h b/image/codecs/smc.h index 2de1f69ce4..579d629a1c 100644 --- a/image/codecs/smc.h +++ b/image/codecs/smc.h @@ -45,7 +45,7 @@ public: SMCDecoder(uint16 width, uint16 height); ~SMCDecoder(); - const Graphics::Surface *decodeImage(Common::SeekableReadStream *stream); + const Graphics::Surface *decodeFrame(Common::SeekableReadStream &stream); Graphics::PixelFormat getPixelFormat() const { return Graphics::PixelFormat::createFormatCLUT8(); } private: diff --git a/image/codecs/svq1.cpp b/image/codecs/svq1.cpp index 550445bc64..765d512797 100644 --- a/image/codecs/svq1.cpp +++ b/image/codecs/svq1.cpp @@ -91,10 +91,10 @@ SVQ1Decoder::~SVQ1Decoder() { #define ALIGN(x, a) (((x)+(a)-1)&~((a)-1)) -const Graphics::Surface *SVQ1Decoder::decodeImage(Common::SeekableReadStream *stream) { +const Graphics::Surface *SVQ1Decoder::decodeFrame(Common::SeekableReadStream &stream) { debug(1, "SVQ1Decoder::decodeImage()"); - Common::BitStream32BEMSB frameData(*stream); + Common::BitStream32BEMSB frameData(stream); uint32 frameCode = frameData.getBits(22); debug(1, " frameCode: %d", frameCode); diff --git a/image/codecs/svq1.h b/image/codecs/svq1.h index 56310a1a38..687f7615d4 100644 --- a/image/codecs/svq1.h +++ b/image/codecs/svq1.h @@ -44,7 +44,7 @@ public: SVQ1Decoder(uint16 width, uint16 height); ~SVQ1Decoder(); - const Graphics::Surface *decodeImage(Common::SeekableReadStream *stream); + const Graphics::Surface *decodeFrame(Common::SeekableReadStream &stream); Graphics::PixelFormat getPixelFormat() const { return _surface->format; } private: diff --git a/image/codecs/truemotion1.cpp b/image/codecs/truemotion1.cpp index 3b8ad85606..1302d72e2f 100644 --- a/image/codecs/truemotion1.cpp +++ b/image/codecs/truemotion1.cpp @@ -163,9 +163,9 @@ void TrueMotion1Decoder::genVectorTable16(const byte *selVectorTable) { } } -void TrueMotion1Decoder::decodeHeader(Common::SeekableReadStream *stream) { - _buf = new byte[stream->size()]; - stream->read(_buf, stream->size()); +void TrueMotion1Decoder::decodeHeader(Common::SeekableReadStream &stream) { + _buf = new byte[stream.size()]; + stream.read(_buf, stream.size()); byte headerBuffer[128]; // logical maximum size of the header const byte *selVectorTable; @@ -243,7 +243,7 @@ void TrueMotion1Decoder::decodeHeader(Common::SeekableReadStream *stream) { _indexStream = _mbChangeBits + _mbChangeBitsRowSize * (_height >> 2); } - _indexStreamSize = stream->size() - (_indexStream - _buf); + _indexStreamSize = stream.size() - (_indexStream - _buf); _lastDeltaset = _header.deltaset; _lastVectable = _header.vectable; @@ -397,7 +397,7 @@ void TrueMotion1Decoder::decode16() { } } -const Graphics::Surface *TrueMotion1Decoder::decodeImage(Common::SeekableReadStream *stream) { +const Graphics::Surface *TrueMotion1Decoder::decodeFrame(Common::SeekableReadStream &stream) { decodeHeader(stream); if (compressionTypes[_header.compression].algorithm == ALGO_NOP) { diff --git a/image/codecs/truemotion1.h b/image/codecs/truemotion1.h index e836ddb0e4..bb87dbc32c 100644 --- a/image/codecs/truemotion1.h +++ b/image/codecs/truemotion1.h @@ -43,7 +43,7 @@ public: TrueMotion1Decoder(uint16 width, uint16 height); ~TrueMotion1Decoder(); - const Graphics::Surface *decodeImage(Common::SeekableReadStream *stream); + const Graphics::Surface *decodeFrame(Common::SeekableReadStream &stream); // Always return RGB565 Graphics::PixelFormat getPixelFormat() const { return Graphics::PixelFormat(2, 5, 6, 5, 0, 11, 5, 0, 0); } @@ -96,7 +96,7 @@ private: } _header; void selectDeltaTables(int deltaTableIndex); - void decodeHeader(Common::SeekableReadStream *stream); + void decodeHeader(Common::SeekableReadStream &stream); void decode16(); int makeYdt16Entry(int p1, int p2); int makeCdt16Entry(int p1, int p2); diff --git a/image/jpeg.cpp b/image/jpeg.cpp index 3602d501be..1ce45f2539 100644 --- a/image/jpeg.cpp +++ b/image/jpeg.cpp @@ -59,8 +59,8 @@ void JPEGDecoder::destroy() { _surface.free(); } -const Graphics::Surface *JPEGDecoder::decodeImage(Common::SeekableReadStream *stream) { - if (!loadStream(*stream)) +const Graphics::Surface *JPEGDecoder::decodeFrame(Common::SeekableReadStream &stream) { + if (!loadStream(stream)) return 0; return getSurface(); diff --git a/image/jpeg.h b/image/jpeg.h index 1bf76ecfca..dea799c31f 100644 --- a/image/jpeg.h +++ b/image/jpeg.h @@ -58,7 +58,7 @@ public: virtual const Graphics::Surface *getSurface() const; // Codec API - const Graphics::Surface *decodeImage(Common::SeekableReadStream *stream); + const Graphics::Surface *decodeFrame(Common::SeekableReadStream &stream); Graphics::PixelFormat getPixelFormat() const; // Special API for JPEG diff --git a/video/avi_decoder.cpp b/video/avi_decoder.cpp index 5e404ecaac..e9c6ef93b2 100644 --- a/video/avi_decoder.cpp +++ b/video/avi_decoder.cpp @@ -711,7 +711,7 @@ AVIDecoder::AVIVideoTrack::~AVIVideoTrack() { void AVIDecoder::AVIVideoTrack::decodeFrame(Common::SeekableReadStream *stream) { if (stream) { if (_videoCodec) - _lastFrame = _videoCodec->decodeImage(stream); + _lastFrame = _videoCodec->decodeFrame(*stream); } else { // Empty frame _lastFrame = 0; diff --git a/video/coktel_decoder.cpp b/video/coktel_decoder.cpp index e01c5f3827..21dda15cd0 100644 --- a/video/coktel_decoder.cpp +++ b/video/coktel_decoder.cpp @@ -2262,7 +2262,7 @@ bool VMDDecoder::renderFrame(Common::Rect &rect) { return false; Common::MemoryReadStream frameStream(_videoBuffer[0], _videoBufferLen[0]); - const Graphics::Surface *codecSurf = _codec->decodeImage(&frameStream); + const Graphics::Surface *codecSurf = _codec->decodeFrame(frameStream); if (!codecSurf) return false; diff --git a/video/qt_decoder.cpp b/video/qt_decoder.cpp index 20c20d05b1..cd3679615b 100644 --- a/video/qt_decoder.cpp +++ b/video/qt_decoder.cpp @@ -725,7 +725,7 @@ const Graphics::Surface *QuickTimeDecoder::VideoTrackHandler::bufferNextFrame() return 0; } - const Graphics::Surface *frame = entry->_videoCodec->decodeImage(frameData); + const Graphics::Surface *frame = entry->_videoCodec->decodeFrame(*frameData); delete frameData; // Update the palette -- cgit v1.2.3 From 0f07f85a948e39c286b0bbd9e9191d517108c2da Mon Sep 17 00:00:00 2001 From: Matthew Hoops Date: Thu, 27 Feb 2014 21:27:24 -0500 Subject: IMAGE: Split raw bitmap decoding into a Codec --- image/bmp.cpp | 82 +++++++--------------------------- image/bmp.h | 5 ++- image/codecs/bmp_raw.cpp | 113 +++++++++++++++++++++++++++++++++++++++++++++++ image/codecs/bmp_raw.h | 52 ++++++++++++++++++++++ image/module.mk | 1 + 5 files changed, 186 insertions(+), 67 deletions(-) create mode 100644 image/codecs/bmp_raw.cpp create mode 100644 image/codecs/bmp_raw.h diff --git a/image/bmp.cpp b/image/bmp.cpp index 113e268956..eb8e300daf 100644 --- a/image/bmp.cpp +++ b/image/bmp.cpp @@ -23,9 +23,11 @@ #include "image/bmp.h" #include "common/stream.h" +#include "common/substream.h" #include "common/textconsole.h" #include "graphics/pixelformat.h" #include "graphics/surface.h" +#include "image/codecs/bmp_raw.h" namespace Image { @@ -33,6 +35,7 @@ BitmapDecoder::BitmapDecoder() { _surface = 0; _palette = 0; _paletteColorCount = 0; + _codec = 0; } BitmapDecoder::~BitmapDecoder() { @@ -40,13 +43,15 @@ BitmapDecoder::~BitmapDecoder() { } void BitmapDecoder::destroy() { - if (_surface) { - _surface->free(); - delete _surface; _surface = 0; - } + _surface = 0; + + delete[] _palette; + _palette = 0; - delete[] _palette; _palette = 0; _paletteColorCount = 0; + + delete _codec; + _codec = 0; } bool BitmapDecoder::loadStream(Common::SeekableReadStream &stream) { @@ -95,7 +100,7 @@ bool BitmapDecoder::loadStream(Common::SeekableReadStream &stream) { return false; } - /* uint32 imageSize = */ stream.readUint32LE(); + uint32 imageSize = stream.readUint32LE(); /* uint32 pixelsPerMeterX = */ stream.readUint32LE(); /* uint32 pixelsPerMeterY = */ stream.readUint32LE(); _paletteColorCount = stream.readUint32LE(); @@ -115,67 +120,12 @@ bool BitmapDecoder::loadStream(Common::SeekableReadStream &stream) { } } - // Start us at the beginning of the image - stream.seek(imageOffset); - - Graphics::PixelFormat format = Graphics::PixelFormat::createFormatCLUT8(); - - // BGRA for 24bpp and 32 bpp - if (bitsPerPixel == 24 || bitsPerPixel == 32) - format = Graphics::PixelFormat(4, 8, 8, 8, 8, 8, 16, 24, 0); - - _surface = new Graphics::Surface(); - _surface->create(width, height, format); + // Grab the frame data + Common::SeekableSubReadStream subStream(&stream, imageOffset, imageOffset + imageSize); - int srcPitch = width * (bitsPerPixel >> 3); - const int extraDataLength = (srcPitch % 4) ? 4 - (srcPitch % 4) : 0; - - if (bitsPerPixel == 8) { - byte *dst = (byte *)_surface->getPixels(); - - for (int32 i = 0; i < height; i++) { - stream.read(dst + (height - i - 1) * width, width); - stream.skip(extraDataLength); - } - } else if (bitsPerPixel == 24) { - byte *dst = (byte *)_surface->getBasePtr(0, height - 1); - - for (int32 i = 0; i < height; i++) { - for (uint32 j = 0; j < width; j++) { - byte b = stream.readByte(); - byte g = stream.readByte(); - byte r = stream.readByte(); - uint32 color = format.RGBToColor(r, g, b); - - *((uint32 *)dst) = color; - dst += format.bytesPerPixel; - } - - stream.skip(extraDataLength); - dst -= _surface->pitch * 2; - } - } else { // 32 bpp - byte *dst = (byte *)_surface->getBasePtr(0, height - 1); - - for (int32 i = 0; i < height; i++) { - for (uint32 j = 0; j < width; j++) { - byte b = stream.readByte(); - byte g = stream.readByte(); - byte r = stream.readByte(); - // Ignore the last byte, as in v3 it is unused - // and should thus NOT be used as alpha. - // ref: http://msdn.microsoft.com/en-us/library/windows/desktop/dd183376%28v=vs.85%29.aspx - stream.readByte(); - uint32 color = format.RGBToColor(r, g, b); - - *((uint32 *)dst) = color; - dst += format.bytesPerPixel; - } - - stream.skip(extraDataLength); - dst -= _surface->pitch * 2; - } - } + // We only support raw bitmaps for now + _codec = new BitmapRawDecoder(width, height, bitsPerPixel); + _surface = _codec->decodeFrame(subStream); return true; } diff --git a/image/bmp.h b/image/bmp.h index bc4cfc3edd..b482cc674b 100644 --- a/image/bmp.h +++ b/image/bmp.h @@ -45,6 +45,8 @@ struct Surface; namespace Image { +class Codec; + class BitmapDecoder : public ImageDecoder { public: BitmapDecoder(); @@ -58,7 +60,8 @@ public: uint16 getPaletteColorCount() const { return _paletteColorCount; } private: - Graphics::Surface *_surface; + Codec *_codec; + const Graphics::Surface *_surface; byte *_palette; uint16 _paletteColorCount; }; diff --git a/image/codecs/bmp_raw.cpp b/image/codecs/bmp_raw.cpp new file mode 100644 index 0000000000..83aedc84e6 --- /dev/null +++ b/image/codecs/bmp_raw.cpp @@ -0,0 +1,113 @@ +/* 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 "image/codecs/bmp_raw.h" + +#include "common/stream.h" +#include "common/textconsole.h" +#include "graphics/surface.h" + +namespace Image { + +BitmapRawDecoder::BitmapRawDecoder(int width, int height, int bitsPerPixel) : Codec(), + _surface(0), _width(width), _height(height), _bitsPerPixel(bitsPerPixel) { +} + +BitmapRawDecoder::~BitmapRawDecoder() { + if (_surface) { + _surface->free(); + delete _surface; + } +} + +const Graphics::Surface *BitmapRawDecoder::decodeFrame(Common::SeekableReadStream &stream) { + Graphics::PixelFormat format = getPixelFormat(); + + _surface = new Graphics::Surface(); + _surface->create(_width, _height, format); + + int srcPitch = _width * (_bitsPerPixel >> 3); + const int extraDataLength = (srcPitch % 4) ? 4 - (srcPitch % 4) : 0; + + if (_bitsPerPixel == 8) { + byte *dst = (byte *)_surface->getPixels(); + + for (int i = 0; i < _height; i++) { + stream.read(dst + (_height - i - 1) * _width, _width); + stream.skip(extraDataLength); + } + } else if (_bitsPerPixel == 24) { + byte *dst = (byte *)_surface->getBasePtr(0, _height - 1); + + for (int i = 0; i < _height; i++) { + for (int j = 0; j < _width; j++) { + byte b = stream.readByte(); + byte g = stream.readByte(); + byte r = stream.readByte(); + uint32 color = format.RGBToColor(r, g, b); + + *((uint32 *)dst) = color; + dst += format.bytesPerPixel; + } + + stream.skip(extraDataLength); + dst -= _surface->pitch * 2; + } + } else { // 32 bpp + byte *dst = (byte *)_surface->getBasePtr(0, _height - 1); + + for (int i = 0; i < _height; i++) { + for (int j = 0; j < _width; j++) { + byte b = stream.readByte(); + byte g = stream.readByte(); + byte r = stream.readByte(); + // Ignore the last byte, as in v3 it is unused + // and should thus NOT be used as alpha. + // ref: http://msdn.microsoft.com/en-us/library/windows/desktop/dd183376%28v=vs.85%29.aspx + stream.readByte(); + uint32 color = format.RGBToColor(r, g, b); + + *((uint32 *)dst) = color; + dst += format.bytesPerPixel; + } + + stream.skip(extraDataLength); + dst -= _surface->pitch * 2; + } + } + + return _surface; +} + +Graphics::PixelFormat BitmapRawDecoder::getPixelFormat() const { + switch (_bitsPerPixel) { + case 8: + return Graphics::PixelFormat::createFormatCLUT8(); + case 24: + case 32: + return Graphics::PixelFormat(4, 8, 8, 8, 8, 8, 16, 24, 0); + } + + error("Unhandled BMP raw %dbpp", _bitsPerPixel); +} + +} // End of namespace Image diff --git a/image/codecs/bmp_raw.h b/image/codecs/bmp_raw.h new file mode 100644 index 0000000000..d589d7ef22 --- /dev/null +++ b/image/codecs/bmp_raw.h @@ -0,0 +1,52 @@ +/* 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. + * + */ + +#ifndef IMAGE_CODECS_BMP_RAW_H +#define IMAGE_CODECS_BMP_RAW_H + +#include "image/codecs/codec.h" + +namespace Image { + +/** + * Bitmap raw image decoder. + * + * Used in image: + * - BitmapDecoder + */ +class BitmapRawDecoder : public Codec { +public: + BitmapRawDecoder(int width, int height, int bitsPerPixel); + ~BitmapRawDecoder(); + + const Graphics::Surface *decodeFrame(Common::SeekableReadStream &stream); + Graphics::PixelFormat getPixelFormat() const; + +private: + Graphics::Surface *_surface; + int _width, _height; + int _bitsPerPixel; +}; + +} // End of namespace Image + +#endif diff --git a/image/module.mk b/image/module.mk index 46129cbde4..ab0a2a9a1f 100644 --- a/image/module.mk +++ b/image/module.mk @@ -8,6 +8,7 @@ MODULE_OBJS := \ pict.o \ png.o \ tga.o \ + codecs/bmp_raw.o \ codecs/cdtoons.o \ codecs/cinepak.o \ codecs/indeo3.o \ -- cgit v1.2.3 From 231a02c759169a5c927018699e1533d267ea8372 Mon Sep 17 00:00:00 2001 From: Matthew Hoops Date: Thu, 27 Feb 2014 21:27:24 -0500 Subject: VIDEO: Use the bitmap header compression field for AVI codecs --- video/avi_decoder.cpp | 45 +++++++++++++++++---------------------------- 1 file changed, 17 insertions(+), 28 deletions(-) diff --git a/video/avi_decoder.cpp b/video/avi_decoder.cpp index e9c6ef93b2..59ee72d7fa 100644 --- a/video/avi_decoder.cpp +++ b/video/avi_decoder.cpp @@ -74,18 +74,6 @@ namespace Video { #define ID_PRMI MKTAG('P','R','M','I') #define ID_STRN MKTAG('s','t','r','n') -// Codec tags -#define ID_RLE MKTAG('R','L','E',' ') -#define ID_CRAM MKTAG('C','R','A','M') -#define ID_MSVC MKTAG('m','s','v','c') -#define ID_WHAM MKTAG('W','H','A','M') -#define ID_CVID MKTAG('c','v','i','d') -#define ID_IV32 MKTAG('i','v','3','2') -#define ID_DUCK MKTAG('D','U','C','K') -#define ID_DUCK2 MKTAG('d','u','c','k') // Some videos have DUCK tag in lowercase -#define ID_MPG2 MKTAG('m','p','g','2') -#define ID_MJPG MKTAG('m','j','p','g') - // Stream Types enum { kStreamTypePaletteChange = MKTAG16('p', 'c'), @@ -266,9 +254,6 @@ void AVIDecoder::handleStreamHeader(uint32 size) { if (bmInfo.clrUsed == 0) bmInfo.clrUsed = 256; - if (sHeader.streamHandler == 0) - sHeader.streamHandler = bmInfo.compression; - byte *initialPalette = 0; if (bmInfo.bitCount == 8) { @@ -770,30 +755,34 @@ bool AVIDecoder::AVIVideoTrack::rewind() { } Image::Codec *AVIDecoder::AVIVideoTrack::createCodec() { - switch (_vidsHeader.streamHandler) { - case ID_CRAM: - case ID_MSVC: - case ID_WHAM: - return new Image::MSVideo1Decoder(_bmInfo.width, _bmInfo.height, _bmInfo.bitCount); - case ID_RLE: + switch (_bmInfo.compression) { + case SWAP_CONSTANT_32(1): return new Image::MSRLEDecoder(_bmInfo.width, _bmInfo.height, _bmInfo.bitCount); - case ID_CVID: + case MKTAG('C','R','A','M'): + case MKTAG('m','s','v','c'): + case MKTAG('W','H','A','M'): + return new Image::MSVideo1Decoder(_bmInfo.width, _bmInfo.height, _bmInfo.bitCount); + case MKTAG('c','v','i','d'): return new Image::CinepakDecoder(_bmInfo.bitCount); - case ID_IV32: + case MKTAG('I','V','3','2'): return new Image::Indeo3Decoder(_bmInfo.width, _bmInfo.height); #ifdef VIDEO_CODECS_TRUEMOTION1_H - case ID_DUCK: - case ID_DUCK2: + case MKTAG('D','U','C','K'): + case MKTAG('d','u','c','k'): return new Image::TrueMotion1Decoder(_bmInfo.width, _bmInfo.height); #endif #ifdef USE_MPEG2 - case ID_MPG2: + case MKTAG('m','p','g','2'): return new Image::MPEGDecoder(); #endif - case ID_MJPG: + case MKTAG('M','J','P','G'): + case MKTAG('m','j','p','g'): return new Image::MJPEGDecoder(); default: - warning("Unknown/Unhandled compression format \'%s\'", tag2str(_vidsHeader.streamHandler)); + if (_bmInfo.compression & 0x00FFFFFF) + warning("Unknown/Unhandled AVI compression format \'%s\'", tag2str(_bmInfo.compression)); + else + warning("Unknown/Unhandled AVI compression format %d", SWAP_BYTES_32(_bmInfo.compression)); } return 0; -- cgit v1.2.3 From 05e9ff136ae059622a0262380be7bc6460d204f0 Mon Sep 17 00:00:00 2001 From: Matthew Hoops Date: Thu, 27 Feb 2014 21:27:25 -0500 Subject: IMAGE: Share the same pool of codecs between bitmap and AVI --- image/bmp.cpp | 16 +++++------ image/codecs/codec.cpp | 77 ++++++++++++++++++++++++++++++++++++++++++++++++++ image/codecs/codec.h | 5 ++++ image/module.mk | 1 + video/avi_decoder.cpp | 40 ++------------------------ 5 files changed, 92 insertions(+), 47 deletions(-) create mode 100644 image/codecs/codec.cpp diff --git a/image/bmp.cpp b/image/bmp.cpp index eb8e300daf..cdf6e4097d 100644 --- a/image/bmp.cpp +++ b/image/bmp.cpp @@ -27,7 +27,7 @@ #include "common/textconsole.h" #include "graphics/pixelformat.h" #include "graphics/surface.h" -#include "image/codecs/bmp_raw.h" +#include "image/codecs/codec.h" namespace Image { @@ -93,13 +93,7 @@ bool BitmapDecoder::loadStream(Common::SeekableReadStream &stream) { return false; } - uint32 compression = stream.readUint32LE(); - - if (compression != 0) { - warning("Compressed bitmaps not supported"); - return false; - } - + uint32 compression = stream.readUint32BE(); uint32 imageSize = stream.readUint32LE(); /* uint32 pixelsPerMeterX = */ stream.readUint32LE(); /* uint32 pixelsPerMeterY = */ stream.readUint32LE(); @@ -120,11 +114,15 @@ bool BitmapDecoder::loadStream(Common::SeekableReadStream &stream) { } } + // Create the codec (it will warn about unhandled compression) + _codec = createBitmapCodec(compression, width, height, bitsPerPixel); + if (!_codec) + return false; + // Grab the frame data Common::SeekableSubReadStream subStream(&stream, imageOffset, imageOffset + imageSize); // We only support raw bitmaps for now - _codec = new BitmapRawDecoder(width, height, bitsPerPixel); _surface = _codec->decodeFrame(subStream); return true; diff --git a/image/codecs/codec.cpp b/image/codecs/codec.cpp new file mode 100644 index 0000000000..7d4e34320f --- /dev/null +++ b/image/codecs/codec.cpp @@ -0,0 +1,77 @@ +/* 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 "common/scummsys.h" + +#include "image/codecs/codec.h" + +#include "image/codecs/bmp_raw.h" +#include "image/codecs/cinepak.h" +#include "image/codecs/indeo3.h" +#include "image/codecs/mjpeg.h" +#include "image/codecs/mpeg.h" +#include "image/codecs/msvideo1.h" +#include "image/codecs/msrle.h" +#include "image/codecs/truemotion1.h" + +#include "common/endian.h" +#include "common/textconsole.h" + +namespace Image { + +Codec *createBitmapCodec(uint32 tag, int width, int height, int bitsPerPixel) { + switch (tag) { + case SWAP_CONSTANT_32(0): + return new BitmapRawDecoder(width, height, bitsPerPixel); + case SWAP_CONSTANT_32(1): + return new MSRLEDecoder(width, height, bitsPerPixel); + case MKTAG('C','R','A','M'): + case MKTAG('m','s','v','c'): + case MKTAG('W','H','A','M'): + return new MSVideo1Decoder(width, height, bitsPerPixel); + case MKTAG('c','v','i','d'): + return new CinepakDecoder(bitsPerPixel); + case MKTAG('I','V','3','2'): + return new Indeo3Decoder(width, height); +#ifdef VIDEO_CODECS_TRUEMOTION1_H + case MKTAG('D','U','C','K'): + case MKTAG('d','u','c','k'): + return new TrueMotion1Decoder(width, height); +#endif +#ifdef USE_MPEG2 + case MKTAG('m','p','g','2'): + return new MPEGDecoder(); +#endif + case MKTAG('M','J','P','G'): + case MKTAG('m','j','p','g'): + return new MJPEGDecoder(); + default: + if (tag & 0x00FFFFFF) + warning("Unknown BMP/AVI compression format \'%s\'", tag2str(tag)); + else + warning("Unknown BMP/AVI compression format %d", SWAP_BYTES_32(tag)); + } + + return 0; +} + +} // End of namespace Image diff --git a/image/codecs/codec.h b/image/codecs/codec.h index 092f9754f3..87d6d6b998 100644 --- a/image/codecs/codec.h +++ b/image/codecs/codec.h @@ -84,6 +84,11 @@ public: virtual bool hasDirtyPalette() const { return false; } }; +/** + * Create a codec given a bitmap/AVI compression tag. + */ +Codec *createBitmapCodec(uint32 tag, int width, int height, int bitsPerPixel); + } // End of namespace Image #endif diff --git a/image/module.mk b/image/module.mk index ab0a2a9a1f..fdf52ec09f 100644 --- a/image/module.mk +++ b/image/module.mk @@ -11,6 +11,7 @@ MODULE_OBJS := \ codecs/bmp_raw.o \ codecs/cdtoons.o \ codecs/cinepak.o \ + codecs/codec.o \ codecs/indeo3.o \ codecs/mjpeg.o \ codecs/msrle.o \ diff --git a/video/avi_decoder.cpp b/video/avi_decoder.cpp index 59ee72d7fa..0697d89c04 100644 --- a/video/avi_decoder.cpp +++ b/video/avi_decoder.cpp @@ -34,13 +34,7 @@ #include "audio/decoders/raw.h" // Video Codecs -#include "image/codecs/cinepak.h" -#include "image/codecs/indeo3.h" -#include "image/codecs/mjpeg.h" -#include "image/codecs/mpeg.h" -#include "image/codecs/msvideo1.h" -#include "image/codecs/msrle.h" -#include "image/codecs/truemotion1.h" +#include "image/codecs/codec.h" namespace Video { @@ -755,37 +749,7 @@ bool AVIDecoder::AVIVideoTrack::rewind() { } Image::Codec *AVIDecoder::AVIVideoTrack::createCodec() { - switch (_bmInfo.compression) { - case SWAP_CONSTANT_32(1): - return new Image::MSRLEDecoder(_bmInfo.width, _bmInfo.height, _bmInfo.bitCount); - case MKTAG('C','R','A','M'): - case MKTAG('m','s','v','c'): - case MKTAG('W','H','A','M'): - return new Image::MSVideo1Decoder(_bmInfo.width, _bmInfo.height, _bmInfo.bitCount); - case MKTAG('c','v','i','d'): - return new Image::CinepakDecoder(_bmInfo.bitCount); - case MKTAG('I','V','3','2'): - return new Image::Indeo3Decoder(_bmInfo.width, _bmInfo.height); -#ifdef VIDEO_CODECS_TRUEMOTION1_H - case MKTAG('D','U','C','K'): - case MKTAG('d','u','c','k'): - return new Image::TrueMotion1Decoder(_bmInfo.width, _bmInfo.height); -#endif -#ifdef USE_MPEG2 - case MKTAG('m','p','g','2'): - return new Image::MPEGDecoder(); -#endif - case MKTAG('M','J','P','G'): - case MKTAG('m','j','p','g'): - return new Image::MJPEGDecoder(); - default: - if (_bmInfo.compression & 0x00FFFFFF) - warning("Unknown/Unhandled AVI compression format \'%s\'", tag2str(_bmInfo.compression)); - else - warning("Unknown/Unhandled AVI compression format %d", SWAP_BYTES_32(_bmInfo.compression)); - } - - return 0; + return Image::createBitmapCodec(_bmInfo.compression, _bmInfo.width, _bmInfo.height, _bmInfo.bitCount); } void AVIDecoder::AVIVideoTrack::forceTrackEnd() { -- cgit v1.2.3 From acec700c11040320122ed86cd5f1dad20de2d2a8 Mon Sep 17 00:00:00 2001 From: Matthew Hoops Date: Thu, 27 Feb 2014 21:27:25 -0500 Subject: IMAGE: Share the same pool of codecs between PICT and QuickTime --- image/codecs/codec.cpp | 40 ++++++++++++++++++++++++++++++++++++++++ image/codecs/codec.h | 5 +++++ image/pict.cpp | 36 +++++++++++++++++++++--------------- video/qt_decoder.cpp | 45 ++------------------------------------------- 4 files changed, 68 insertions(+), 58 deletions(-) diff --git a/image/codecs/codec.cpp b/image/codecs/codec.cpp index 7d4e34320f..530fb3b836 100644 --- a/image/codecs/codec.cpp +++ b/image/codecs/codec.cpp @@ -24,13 +24,19 @@ #include "image/codecs/codec.h" +#include "image/jpeg.h" #include "image/codecs/bmp_raw.h" +#include "image/codecs/cdtoons.h" #include "image/codecs/cinepak.h" #include "image/codecs/indeo3.h" #include "image/codecs/mjpeg.h" #include "image/codecs/mpeg.h" #include "image/codecs/msvideo1.h" #include "image/codecs/msrle.h" +#include "image/codecs/qtrle.h" +#include "image/codecs/rpza.h" +#include "image/codecs/smc.h" +#include "image/codecs/svq1.h" #include "image/codecs/truemotion1.h" #include "common/endian.h" @@ -74,4 +80,38 @@ Codec *createBitmapCodec(uint32 tag, int width, int height, int bitsPerPixel) { return 0; } +Codec *createQuickTimeCodec(uint32 tag, int width, int height, int bitsPerPixel) { + switch (tag) { + case MKTAG('c','v','i','d'): + // Cinepak: As used by most Myst and all Riven videos as well as some Myst ME videos. "The Chief" videos also use this. + return new CinepakDecoder(bitsPerPixel); + case MKTAG('r','p','z','a'): + // Apple Video ("Road Pizza"): Used by some Myst videos. + return new RPZADecoder(width, height); + case MKTAG('r','l','e',' '): + // QuickTime RLE: Used by some Myst ME videos. + return new QTRLEDecoder(width, height, bitsPerPixel); + case MKTAG('s','m','c',' '): + // Apple SMC: Used by some Myst videos. + return new SMCDecoder(width, height); + case MKTAG('S','V','Q','1'): + // Sorenson Video 1: Used by some Myst ME videos. + return new SVQ1Decoder(width, height); + case MKTAG('S','V','Q','3'): + // Sorenson Video 3: Used by some Myst ME videos. + warning("Sorenson Video 3 not yet supported"); + break; + case MKTAG('j','p','e','g'): + // JPEG: Used by some Myst ME 10th Anniversary videos. + return new JPEGDecoder(); + case MKTAG('Q','k','B','k'): + // CDToons: Used by most of the Broderbund games. + return new CDToonsDecoder(width, height); + default: + warning("Unsupported QuickTime codec \'%s\'", tag2str(tag)); + } + + return 0; +} + } // End of namespace Image diff --git a/image/codecs/codec.h b/image/codecs/codec.h index 87d6d6b998..89c8ec9bf5 100644 --- a/image/codecs/codec.h +++ b/image/codecs/codec.h @@ -89,6 +89,11 @@ public: */ Codec *createBitmapCodec(uint32 tag, int width, int height, int bitsPerPixel); +/** + * Create a codec given a QuickTime compression tag. + */ +Codec *createQuickTimeCodec(uint32 tag, int width, int height, int bitsPerPixel); + } // End of namespace Image #endif diff --git a/image/pict.cpp b/image/pict.cpp index 07e657f4b2..89f115dc90 100644 --- a/image/pict.cpp +++ b/image/pict.cpp @@ -20,8 +20,8 @@ * */ -#include "image/jpeg.h" #include "image/pict.h" +#include "image/codecs/codec.h" #include "common/debug.h" #include "common/endian.h" @@ -229,7 +229,7 @@ bool PICTDecoder::loadStream(Common::SeekableReadStream &stream) { // NOTE: This is only a subset of the full PICT format. // - Only V2 (Extended) Images Supported - // - CompressedQuickTime (JPEG) compressed data is supported + // - CompressedQuickTime compressed data is supported // - DirectBitsRect/PackBitsRect compressed data is supported for (uint32 opNum = 0; !stream.eos() && !stream.err() && stream.pos() < stream.size() && _continueParsing; opNum++) { // PICT v2 opcodes are two bytes @@ -550,31 +550,37 @@ void PICTDecoder::decodeCompressedQuickTime(Common::SeekableReadStream &stream) // Now we've reached the image descriptor, so read the relevant data from that uint32 idStart = stream.pos(); uint32 idSize = stream.readUint32BE(); - uint32 codec = stream.readUint32BE(); - stream.skip(36); // miscellaneous stuff - uint32 jpegSize = stream.readUint32BE(); + uint32 codecTag = stream.readUint32BE(); + stream.skip(24); // miscellaneous stuff + uint16 width = stream.readUint16BE(); + uint16 height = stream.readUint16BE(); + stream.skip(8); // resolution, dpi + uint32 imageSize = stream.readUint32BE(); + stream.skip(34); + uint16 bitsPerPixel = stream.readUint16BE(); stream.skip(idSize - (stream.pos() - idStart)); // more useless stuff - if (codec != MKTAG('j', 'p', 'e', 'g')) - error("Unhandled CompressedQuickTime format '%s'", tag2str(codec)); + Common::SeekableSubReadStream imageStream(&stream, stream.pos(), stream.pos() + imageSize); - Common::SeekableSubReadStream jpegStream(&stream, stream.pos(), stream.pos() + jpegSize); + Codec *codec = createQuickTimeCodec(codecTag, width, height, bitsPerPixel); + if (!codec) + error("Unhandled CompressedQuickTime format"); - JPEGDecoder jpeg; - if (!jpeg.loadStream(jpegStream)) - error("PICTDecoder::decodeCompressedQuickTime(): Could not decode JPEG data"); + const Graphics::Surface *surface = codec->decodeFrame(imageStream); - const Graphics::Surface *jpegSurface = jpeg.getSurface(); + if (!surface) + error("PICTDecoder::decodeCompressedQuickTime(): Could not decode data"); if (!_outputSurface) { _outputSurface = new Graphics::Surface(); - _outputSurface->create(_imageRect.width(), _imageRect.height(), jpegSurface->format); + _outputSurface->create(_imageRect.width(), _imageRect.height(), surface->format); } - for (uint16 y = 0; y < jpegSurface->h; y++) - memcpy(_outputSurface->getBasePtr(0 + xOffset, y + yOffset), jpegSurface->getBasePtr(0, y), jpegSurface->w * jpegSurface->format.bytesPerPixel); + for (uint16 y = 0; y < surface->h; y++) + memcpy(_outputSurface->getBasePtr(0 + xOffset, y + yOffset), surface->getBasePtr(0, y), surface->w * surface->format.bytesPerPixel); stream.seek(startPos + dataSize); + delete codec; } } // End of namespace Image diff --git a/video/qt_decoder.cpp b/video/qt_decoder.cpp index cd3679615b..0a29692948 100644 --- a/video/qt_decoder.cpp +++ b/video/qt_decoder.cpp @@ -39,13 +39,7 @@ #include "common/util.h" // Video codecs -#include "image/codecs/cinepak.h" -#include "image/jpeg.h" -#include "image/codecs/qtrle.h" -#include "image/codecs/rpza.h" -#include "image/codecs/smc.h" -#include "image/codecs/cdtoons.h" -#include "image/codecs/svq1.h" +#include "image/codecs/codec.h" namespace Video { @@ -270,42 +264,7 @@ QuickTimeDecoder::VideoSampleDesc::~VideoSampleDesc() { } void QuickTimeDecoder::VideoSampleDesc::initCodec() { - switch (_codecTag) { - case MKTAG('c','v','i','d'): - // Cinepak: As used by most Myst and all Riven videos as well as some Myst ME videos. "The Chief" videos also use this. - _videoCodec = new Image::CinepakDecoder(_bitsPerSample & 0x1f); - break; - case MKTAG('r','p','z','a'): - // Apple Video ("Road Pizza"): Used by some Myst videos. - _videoCodec = new Image::RPZADecoder(_parentTrack->width, _parentTrack->height); - break; - case MKTAG('r','l','e',' '): - // QuickTime RLE: Used by some Myst ME videos. - _videoCodec = new Image::QTRLEDecoder(_parentTrack->width, _parentTrack->height, _bitsPerSample & 0x1f); - break; - case MKTAG('s','m','c',' '): - // Apple SMC: Used by some Myst videos. - _videoCodec = new Image::SMCDecoder(_parentTrack->width, _parentTrack->height); - break; - case MKTAG('S','V','Q','1'): - // Sorenson Video 1: Used by some Myst ME videos. - _videoCodec = new Image::SVQ1Decoder(_parentTrack->width, _parentTrack->height); - break; - case MKTAG('S','V','Q','3'): - // Sorenson Video 3: Used by some Myst ME videos. - warning("Sorenson Video 3 not yet supported"); - break; - case MKTAG('j','p','e','g'): - // JPEG: Used by some Myst ME 10th Anniversary videos. - _videoCodec = new Image::JPEGDecoder(); - break; - case MKTAG('Q','k','B','k'): - // CDToons: Used by most of the Broderbund games. - _videoCodec = new Image::CDToonsDecoder(_parentTrack->width, _parentTrack->height); - break; - default: - warning("Unsupported codec \'%s\'", tag2str(_codecTag)); - } + _videoCodec = Image::createQuickTimeCodec(_codecTag, _parentTrack->width, _parentTrack->height, _bitsPerSample & 0x1f); } QuickTimeDecoder::AudioTrackHandler::AudioTrackHandler(QuickTimeDecoder *decoder, QuickTimeAudioTrack *audioTrack) -- cgit v1.2.3 From 57aa610f0c6199fbe41fc5de495356aa29fae6b8 Mon Sep 17 00:00:00 2001 From: Matthew Hoops Date: Thu, 27 Feb 2014 21:27:25 -0500 Subject: IMAGE: Update comments --- image/codecs/bmp_raw.h | 3 +-- image/codecs/cdtoons.h | 3 +-- image/codecs/cinepak.h | 4 +--- image/codecs/codec.h | 4 ++++ image/codecs/indeo3.h | 3 ++- image/codecs/mjpeg.h | 3 +-- image/codecs/mpeg.h | 9 ++++++--- image/codecs/msrle.h | 3 +-- image/codecs/msvideo1.h | 3 +-- image/codecs/qtrle.h | 3 +-- image/codecs/rpza.h | 3 +-- image/codecs/smc.h | 3 +-- image/codecs/svq1.h | 3 +-- image/codecs/truemotion1.h | 3 +-- image/jpeg.h | 6 +----- 15 files changed, 24 insertions(+), 32 deletions(-) diff --git a/image/codecs/bmp_raw.h b/image/codecs/bmp_raw.h index d589d7ef22..99509a1708 100644 --- a/image/codecs/bmp_raw.h +++ b/image/codecs/bmp_raw.h @@ -30,8 +30,7 @@ namespace Image { /** * Bitmap raw image decoder. * - * Used in image: - * - BitmapDecoder + * Used by BMP/AVI. */ class BitmapRawDecoder : public Codec { public: diff --git a/image/codecs/cdtoons.h b/image/codecs/cdtoons.h index a75ce551c2..889ec3ea1d 100644 --- a/image/codecs/cdtoons.h +++ b/image/codecs/cdtoons.h @@ -41,8 +41,7 @@ struct CDToonsBlock { /** * Broderbund CDToons decoder. * - * Used in video: - * - QuickTimeDecoder + * Used by PICT/QuickTime. */ class CDToonsDecoder : public Codec { public: diff --git a/image/codecs/cinepak.h b/image/codecs/cinepak.h index 985fc91165..e9cd437730 100644 --- a/image/codecs/cinepak.h +++ b/image/codecs/cinepak.h @@ -62,9 +62,7 @@ struct CinepakFrame { /** * Cinepak decoder. * - * Used in video: - * - AVIDecoder - * - QuickTimeDecoder + * Used by BMP/AVI and PICT/QuickTime. */ class CinepakDecoder : public Codec { public: diff --git a/image/codecs/codec.h b/image/codecs/codec.h index 89c8ec9bf5..d87758e65e 100644 --- a/image/codecs/codec.h +++ b/image/codecs/codec.h @@ -44,6 +44,10 @@ namespace Image { * An ImageDecoder can always be a Codec, but a Codec may not necessarily * be able to be an ImageDecoder. * + * Used in image: + * - BitmapDecoder + * - PICTDecoder + * * Used in video: * - AVIDecoder * - QuickTimeDecoder diff --git a/image/codecs/indeo3.h b/image/codecs/indeo3.h index f1b406d40d..0ff0265250 100644 --- a/image/codecs/indeo3.h +++ b/image/codecs/indeo3.h @@ -39,8 +39,9 @@ namespace Image { /** * Intel Indeo 3 decoder. * + * Used by BMP/AVI. + * * Used in video: - * - AVIDecoder * - VMDDecoder */ class Indeo3Decoder : public Codec { diff --git a/image/codecs/mjpeg.h b/image/codecs/mjpeg.h index 904b89d3ae..2db736c218 100644 --- a/image/codecs/mjpeg.h +++ b/image/codecs/mjpeg.h @@ -39,8 +39,7 @@ namespace Image { /** * Motion JPEG decoder. * - * Used in video: - * - AVIDecoder + * Used by BMP/AVI. */ class MJPEGDecoder : public Codec { public: diff --git a/image/codecs/mpeg.h b/image/codecs/mpeg.h index 7f231dd8b3..6cb10f21ac 100644 --- a/image/codecs/mpeg.h +++ b/image/codecs/mpeg.h @@ -62,10 +62,13 @@ namespace Graphics { struct Surface; } -namespace Image { - -// MPEG 1/2 video decoder +namespace Image { +/** + * MPEG 1/2 video decoder. + * + * Used by BMP/AVI. + */ class MPEGDecoder : public Codec { public: MPEGDecoder(); diff --git a/image/codecs/msrle.h b/image/codecs/msrle.h index a65ef1c41d..116b1bcbf6 100644 --- a/image/codecs/msrle.h +++ b/image/codecs/msrle.h @@ -30,8 +30,7 @@ namespace Image { /** * Microsoft Run-Length Encoding decoder. * - * Used in video: - * - AVIDecoder + * Used by BMP/AVI. */ class MSRLEDecoder : public Codec { public: diff --git a/image/codecs/msvideo1.h b/image/codecs/msvideo1.h index bdee5acbe5..2a6dcd0a9a 100644 --- a/image/codecs/msvideo1.h +++ b/image/codecs/msvideo1.h @@ -30,8 +30,7 @@ namespace Image { /** * Microsoft Video 1 decoder. * - * Used in video: - * - AVIDecoder + * Used by BMP/AVI. */ class MSVideo1Decoder : public Codec { public: diff --git a/image/codecs/qtrle.h b/image/codecs/qtrle.h index 7ef89537cf..b44a46c3e2 100644 --- a/image/codecs/qtrle.h +++ b/image/codecs/qtrle.h @@ -31,8 +31,7 @@ namespace Image { /** * QuickTime Run-Length Encoding decoder. * - * Used in video: - * - QuickTimeDecoder + * Used by PICT/QuickTime. */ class QTRLEDecoder : public Codec { public: diff --git a/image/codecs/rpza.h b/image/codecs/rpza.h index 62f4c02df5..d1dbbdb676 100644 --- a/image/codecs/rpza.h +++ b/image/codecs/rpza.h @@ -31,8 +31,7 @@ namespace Image { /** * Apple RPZA decoder. * - * Used in video: - * - QuickTimeDecoder + * Used by PICT/QuickTime. */ class RPZADecoder : public Codec { public: diff --git a/image/codecs/smc.h b/image/codecs/smc.h index 579d629a1c..655ff0a3bc 100644 --- a/image/codecs/smc.h +++ b/image/codecs/smc.h @@ -37,8 +37,7 @@ enum { /** * Apple SMC decoder. * - * Used in video: - * - QuickTimeDecoder + * Used by PICT/QuickTime. */ class SMCDecoder : public Codec { public: diff --git a/image/codecs/svq1.h b/image/codecs/svq1.h index 687f7615d4..236b810294 100644 --- a/image/codecs/svq1.h +++ b/image/codecs/svq1.h @@ -36,8 +36,7 @@ namespace Image { /** * Sorenson Vector Quantizer 1 decoder. * - * Used in video: - * - QuickTimeDecoder + * Used by PICT/QuickTime. */ class SVQ1Decoder : public Codec { public: diff --git a/image/codecs/truemotion1.h b/image/codecs/truemotion1.h index bb87dbc32c..12570f066c 100644 --- a/image/codecs/truemotion1.h +++ b/image/codecs/truemotion1.h @@ -35,8 +35,7 @@ namespace Image { /** * Duck TrueMotion 1 decoder. * - * Used in video: - * - AVIDecoder + * Used by BMP/AVI. */ class TrueMotion1Decoder : public Codec { public: diff --git a/image/jpeg.h b/image/jpeg.h index dea799c31f..ac0d22d129 100644 --- a/image/jpeg.h +++ b/image/jpeg.h @@ -27,11 +27,7 @@ * - mohawk * - wintermute * - * Used in image: - * - PICTDecoder - * - * Used in video: - * - QuickTimeDecoder + * Used by PICT/QuickTime. */ #ifndef IMAGE_JPEG_H -- cgit v1.2.3 From 42c159d0174d8097f3b142899895c13c27ca5916 Mon Sep 17 00:00:00 2001 From: Strangerke Date: Fri, 28 Feb 2014 07:21:46 +0100 Subject: BBVS: Fix out of bounds access in air guitar mini game --- engines/bbvs/minigames/bbairguitar.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/engines/bbvs/minigames/bbairguitar.cpp b/engines/bbvs/minigames/bbairguitar.cpp index 6c9d32ba63..585477b34e 100644 --- a/engines/bbvs/minigames/bbairguitar.cpp +++ b/engines/bbvs/minigames/bbairguitar.cpp @@ -1037,7 +1037,7 @@ void MinigameBbAirGuitar::noteOn(int noteNum) { if (_playerMode == 2 || _playerMode == 3) { _ticksDelta = _vm->_system->getMillis() - _noteStartTime; _track[_trackCount].ticks = _ticksDelta; - if (_trackCount < kMaxTracks) + if (_trackCount < kMaxTracks - 1) ++_trackCount; _track[_trackCount].noteNum = noteNum; } -- cgit v1.2.3 From 120bd4c10e1560b1b5f11500ffb1cd41466c9f90 Mon Sep 17 00:00:00 2001 From: Strangerke Date: Fri, 28 Feb 2014 07:32:01 +0100 Subject: BBVS: Add a sanity check in playVideo() --- engines/bbvs/videoplayer.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/engines/bbvs/videoplayer.cpp b/engines/bbvs/videoplayer.cpp index 85cc5ed544..eb162612f2 100644 --- a/engines/bbvs/videoplayer.cpp +++ b/engines/bbvs/videoplayer.cpp @@ -44,7 +44,11 @@ void BbvsEngine::playVideo(int videoNum) { } Video::VideoDecoder *videoDecoder = new Video::AVIDecoder(); - videoDecoder->loadFile(videoFilename); + if (!videoDecoder->loadFile(videoFilename)) { + delete videoDecoder; + warning("Unable to open video %s", videoFilename); + return; + } videoDecoder->start(); -- cgit v1.2.3 From 7cd6b8b898699ec50ed1a8335239e283650c62ce Mon Sep 17 00:00:00 2001 From: Strangerke Date: Fri, 28 Feb 2014 07:39:24 +0100 Subject: BBVS: Fix uninitialized variables in Minigame --- engines/bbvs/minigames/minigame.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/engines/bbvs/minigames/minigame.cpp b/engines/bbvs/minigames/minigame.cpp index 888040f87a..6fed103e7a 100644 --- a/engines/bbvs/minigames/minigame.cpp +++ b/engines/bbvs/minigames/minigame.cpp @@ -29,6 +29,14 @@ Minigame::Minigame(BbvsEngine *vm) : _vm(vm), _spriteModule(0) { memset(_hiScoreTable, 0, sizeof(_hiScoreTable)); + _gameState = 0; + _gameTicks = 0; + _gameResult = 0; + _gameDone = false; + _fromMainGame = false; + _backgroundSpriteIndex = 0; + _titleScreenSpriteIndex = 0; + _numbersAnim = nullptr; } Minigame::~Minigame() { -- cgit v1.2.3 From 79bad44750516415ae968f74d714f3708d83f973 Mon Sep 17 00:00:00 2001 From: Strangerke Date: Fri, 28 Feb 2014 07:40:46 +0100 Subject: BBVS: Initialize a pointer to nullptr instead of 0 --- engines/bbvs/minigames/minigame.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/engines/bbvs/minigames/minigame.cpp b/engines/bbvs/minigames/minigame.cpp index 6fed103e7a..2738a8892f 100644 --- a/engines/bbvs/minigames/minigame.cpp +++ b/engines/bbvs/minigames/minigame.cpp @@ -26,7 +26,7 @@ namespace Bbvs { Minigame::Minigame(BbvsEngine *vm) - : _vm(vm), _spriteModule(0) { + : _vm(vm), _spriteModule(nullptr) { memset(_hiScoreTable, 0, sizeof(_hiScoreTable)); _gameState = 0; -- cgit v1.2.3 From cf3bf73cde489893fa6c7f6383bacdd5ef137fc2 Mon Sep 17 00:00:00 2001 From: Strangerke Date: Fri, 28 Feb 2014 07:45:16 +0100 Subject: BBVS: Use a boolean for _gameResult. Adapt function declarations accordingly --- engines/bbvs/bbvs.cpp | 6 +++--- engines/bbvs/minigames/bbairguitar.cpp | 4 ++-- engines/bbvs/minigames/bbairguitar.h | 2 +- engines/bbvs/minigames/bbant.cpp | 4 ++-- engines/bbvs/minigames/bbant.h | 2 +- engines/bbvs/minigames/bbloogie.cpp | 6 +++--- engines/bbvs/minigames/bbloogie.h | 2 +- engines/bbvs/minigames/bbtennis.cpp | 4 ++-- engines/bbvs/minigames/bbtennis.h | 2 +- engines/bbvs/minigames/minigame.cpp | 2 +- engines/bbvs/minigames/minigame.h | 4 ++-- 11 files changed, 19 insertions(+), 19 deletions(-) diff --git a/engines/bbvs/bbvs.cpp b/engines/bbvs/bbvs.cpp index 3da9e8b3ce..8bcc4d3809 100644 --- a/engines/bbvs/bbvs.cpp +++ b/engines/bbvs/bbvs.cpp @@ -1305,12 +1305,12 @@ bool BbvsEngine::runMinigame(int minigameNum) { break; } - int minigameResult = minigame->run(fromMainGame); + bool minigameResult = minigame->run(fromMainGame); delete minigame; - // Check if the prinicpal was hit with a megaloogie in the loogie minigame - if (minigameNum == 0 && minigameResult == 1) + // Check if the principal was hit with a megaloogie in the loogie minigame + if (minigameNum == 0 && minigameResult) _gameVars[42] = 1; #if 0 diff --git a/engines/bbvs/minigames/bbairguitar.cpp b/engines/bbvs/minigames/bbairguitar.cpp index 585477b34e..f2e42313e3 100644 --- a/engines/bbvs/minigames/bbairguitar.cpp +++ b/engines/bbvs/minigames/bbairguitar.cpp @@ -732,7 +732,7 @@ void MinigameBbAirGuitar::updateObjs() { } } -int MinigameBbAirGuitar::run(bool fromMainGame) { +bool MinigameBbAirGuitar::run(bool fromMainGame) { memset(_objects, 0, sizeof(_objects)); @@ -767,7 +767,7 @@ int MinigameBbAirGuitar::run(bool fromMainGame) { _gameState = 0; _gameTicks = 0; - _gameResult = 0; + _gameResult = false; _gameDone = false; initObjects(); diff --git a/engines/bbvs/minigames/bbairguitar.h b/engines/bbvs/minigames/bbairguitar.h index eba301632d..d4fd6ec30c 100644 --- a/engines/bbvs/minigames/bbairguitar.h +++ b/engines/bbvs/minigames/bbairguitar.h @@ -30,7 +30,7 @@ namespace Bbvs { class MinigameBbAirGuitar : public Minigame { public: MinigameBbAirGuitar(BbvsEngine *vm) : Minigame(vm) {}; - int run(bool fromMainGame); + bool run(bool fromMainGame); public: struct Obj { diff --git a/engines/bbvs/minigames/bbant.cpp b/engines/bbvs/minigames/bbant.cpp index 3d48132512..9786682ada 100644 --- a/engines/bbvs/minigames/bbant.cpp +++ b/engines/bbvs/minigames/bbant.cpp @@ -1167,7 +1167,7 @@ void MinigameBbAnt::updateObjs(uint mouseButtons) { } -int MinigameBbAnt::run(bool fromMainGame) { +bool MinigameBbAnt::run(bool fromMainGame) { memset(_objects, 0, sizeof(_objects)); @@ -1183,7 +1183,7 @@ int MinigameBbAnt::run(bool fromMainGame) { _hiScore = loadHiscore(kMinigameBbAnt); _gameState = 0; - _gameResult = 0; + _gameResult = false; _gameDone = false; initObjects(); initVars(); diff --git a/engines/bbvs/minigames/bbant.h b/engines/bbvs/minigames/bbant.h index b9ead3a87b..be2afe688d 100644 --- a/engines/bbvs/minigames/bbant.h +++ b/engines/bbvs/minigames/bbant.h @@ -30,7 +30,7 @@ namespace Bbvs { class MinigameBbAnt : public Minigame { public: MinigameBbAnt(BbvsEngine *vm) : Minigame(vm) {}; - int run(bool fromMainGame); + bool run(bool fromMainGame); public: struct Obj { diff --git a/engines/bbvs/minigames/bbloogie.cpp b/engines/bbvs/minigames/bbloogie.cpp index ab400e27a7..4601e9ff93 100644 --- a/engines/bbvs/minigames/bbloogie.cpp +++ b/engines/bbvs/minigames/bbloogie.cpp @@ -1117,7 +1117,7 @@ void MinigameBbLoogie::updatePrincipal(int objIndex) { obj->ticks = getAnimation(18)->frameTicks[obj->frameIndex]; } if (!isSoundPlaying(1)) { - _gameResult = 1; + _gameResult = true; if (_fromMainGame) { _principalAngry = true; if (obj->x <= 140 || obj->x >= 165) { @@ -1260,7 +1260,7 @@ void MinigameBbLoogie::playRndSound() { playSound(_playerSounds1[_vm->getRandom(_playerSounds1Count)]); } -int MinigameBbLoogie::run(bool fromMainGame) { +bool MinigameBbLoogie::run(bool fromMainGame) { memset(_objects, 0, sizeof(_objects)); @@ -1277,7 +1277,7 @@ int MinigameBbLoogie::run(bool fromMainGame) { _gameState = kGSTitleScreen; _gameTicks = 0; - _gameResult = 0; + _gameResult = false; _gameDone = false; initObjects(); initVars(); diff --git a/engines/bbvs/minigames/bbloogie.h b/engines/bbvs/minigames/bbloogie.h index 6c4ece3269..1dd4049b41 100644 --- a/engines/bbvs/minigames/bbloogie.h +++ b/engines/bbvs/minigames/bbloogie.h @@ -30,7 +30,7 @@ namespace Bbvs { class MinigameBbLoogie : public Minigame { public: MinigameBbLoogie(BbvsEngine *vm) : Minigame(vm) {}; - int run(bool fromMainGame); + bool run(bool fromMainGame); public: struct Obj { diff --git a/engines/bbvs/minigames/bbtennis.cpp b/engines/bbvs/minigames/bbtennis.cpp index 2bee57d5e5..926642cc5f 100644 --- a/engines/bbvs/minigames/bbtennis.cpp +++ b/engines/bbvs/minigames/bbtennis.cpp @@ -1181,7 +1181,7 @@ void MinigameBbTennis::hitSomething() { ++_score; } -int MinigameBbTennis::run(bool fromMainGame) { +bool MinigameBbTennis::run(bool fromMainGame) { memset(_objects, 0, sizeof(_objects)); @@ -1197,7 +1197,7 @@ int MinigameBbTennis::run(bool fromMainGame) { _hiScore = loadHiscore(kMinigameBbTennis); _gameState = 0; - _gameResult = 0; + _gameResult = false; _gameDone = false; initObjects(); initVars(); diff --git a/engines/bbvs/minigames/bbtennis.h b/engines/bbvs/minigames/bbtennis.h index 72ee719387..690bd724a0 100644 --- a/engines/bbvs/minigames/bbtennis.h +++ b/engines/bbvs/minigames/bbtennis.h @@ -30,7 +30,7 @@ namespace Bbvs { class MinigameBbTennis : public Minigame { public: MinigameBbTennis(BbvsEngine *vm) : Minigame(vm) {}; - int run(bool fromMainGame); + bool run(bool fromMainGame); public: struct Obj { diff --git a/engines/bbvs/minigames/minigame.cpp b/engines/bbvs/minigames/minigame.cpp index 2738a8892f..aae18072d9 100644 --- a/engines/bbvs/minigames/minigame.cpp +++ b/engines/bbvs/minigames/minigame.cpp @@ -31,7 +31,7 @@ Minigame::Minigame(BbvsEngine *vm) memset(_hiScoreTable, 0, sizeof(_hiScoreTable)); _gameState = 0; _gameTicks = 0; - _gameResult = 0; + _gameResult = false; _gameDone = false; _fromMainGame = false; _backgroundSpriteIndex = 0; diff --git a/engines/bbvs/minigames/minigame.h b/engines/bbvs/minigames/minigame.h index cc5a96e3c0..675dec360d 100644 --- a/engines/bbvs/minigames/minigame.h +++ b/engines/bbvs/minigames/minigame.h @@ -49,14 +49,14 @@ class Minigame { public: Minigame(BbvsEngine *vm); virtual ~Minigame(); - virtual int run(bool fromMainGame) = 0; + virtual bool run(bool fromMainGame) = 0; protected: BbvsEngine *_vm; SpriteModule *_spriteModule; int _gameState; int _gameTicks; - int _gameResult; + bool _gameResult; bool _gameDone; bool _fromMainGame; int _hiScoreTable[kMinigameCount]; -- cgit v1.2.3 From 591728227e156129e5a9ab549da9390348dfdc7c Mon Sep 17 00:00:00 2001 From: Eugene Sandulenko Date: Thu, 27 Feb 2014 23:05:54 +0400 Subject: FULLPIPE: Implement cene18_initScene2() --- engines/fullpipe/constants.h | 7 +++++ engines/fullpipe/scenes.cpp | 28 +++++++++++++++++ engines/fullpipe/scenes.h | 28 +++++++++++++++++ engines/fullpipe/scenes/scene18and19.cpp | 52 ++++++++++++++++++++++++++++++++ 4 files changed, 115 insertions(+) diff --git a/engines/fullpipe/constants.h b/engines/fullpipe/constants.h index 6adf20228e..afa5218852 100644 --- a/engines/fullpipe/constants.h +++ b/engines/fullpipe/constants.h @@ -872,7 +872,14 @@ namespace Fullpipe { #define ST_SMG_SIT 1399 // Scene 18 +#define ANI_BOY18 1477 +#define ANI_DOMINO_18 3174 +#define ANI_GIRL18 1484 +#define ANI_KRESLO 1459 +#define ANI_WHIRLIGIG_18 829 #define PIC_SC18_RTRUBA 1520 +#define SND_18_006 3906 +#define SND_18_010 4994 // Scene 19 #define PIC_SC19_RTRUBA3 1515 diff --git a/engines/fullpipe/scenes.cpp b/engines/fullpipe/scenes.cpp index d64ea0bb0d..07f7f76b50 100644 --- a/engines/fullpipe/scenes.cpp +++ b/engines/fullpipe/scenes.cpp @@ -271,6 +271,34 @@ Vars::Vars() { scene17_sceneEdgeX = 0; scene18_var01 = 0; + scene18_var16 = 200; + scene18_var17 = 200; + scene18_var18 = 300; + scene18_var19 = 300; + scene18_whirlgig = 0; + scene18_var20 = 1032; + scene18_var04 = -318; + scene18_var08 = 0; + scene18_var03 = false; + scene18_var21 = 0; + scene18_var12 = 0; + scene18_var22 = 1; + scene18_var23 = -1; + scene18_var24 = 0; + scene18_var25 = 0; + scene18_var26 = 1; + scene18_var27 = -1; + scene18_var13 = -1; + scene18_var14 = -1; + scene18_var28 = 0; + scene18_var15 = 0; + scene18_boy = 0; + scene18_girl = 0; + scene18_domino = 0; + scene18_var29 = 290; + scene18_var30 = -363; + scene18_var05 = 283; + scene18_var06 = -350; scene19_var01 = 0; scene19_var02 = 0; diff --git a/engines/fullpipe/scenes.h b/engines/fullpipe/scenes.h index f06e210797..bc47831482 100644 --- a/engines/fullpipe/scenes.h +++ b/engines/fullpipe/scenes.h @@ -461,6 +461,34 @@ public: int scene17_sceneEdgeX; int scene18_var01; + int scene18_var16; + int scene18_var17; + int scene18_var18; + int scene18_var19; + StaticANIObject *scene18_whirlgig; + int scene18_var20; + int scene18_var04; + int scene18_var08; + bool scene18_var03; + int scene18_var21; + int scene18_var12; + int scene18_var22; + int scene18_var23; + int scene18_var24; + int scene18_var25; + int scene18_var26; + int scene18_var27; + int scene18_var13; + int scene18_var14; + int scene18_var28; + int scene18_var15; + StaticANIObject *scene18_boy; + StaticANIObject *scene18_girl; + StaticANIObject *scene18_domino; + int scene18_var29; + int scene18_var30; + int scene18_var05; + int scene18_var06; int scene19_var01; int scene19_var02; diff --git a/engines/fullpipe/scenes/scene18and19.cpp b/engines/fullpipe/scenes/scene18and19.cpp index b061d1d5e6..033d7052f7 100644 --- a/engines/fullpipe/scenes/scene18and19.cpp +++ b/engines/fullpipe/scenes/scene18and19.cpp @@ -44,6 +44,58 @@ void scene19_preload(Scene *sc, int key) { warning("WARNING: scene19_preload()"); } +void scene18_sub2(StaticANIObject *ani, Scene *sc) { + warning("WARNING: scene18_sub2()"); +} + +void scene18_initScene2(Scene *sc) { + g_vars->scene18_var16 = 200; + g_vars->scene18_var17 = 200; + g_vars->scene18_var18 = 300; + g_vars->scene18_var19 = 300; + g_vars->scene18_whirlgig = sc->getStaticANIObject1ById(ANI_WHIRLIGIG_18, -1); + g_vars->scene18_var20 = 1032; + g_vars->scene18_var04 = -318; + + StaticANIObject *armchair = sc->getStaticANIObject1ById(ANI_KRESLO, -1); + + armchair->loadMovementsPixelData(); + + g_vars->scene18_var03 = (g_fp->getObjectState(sO_Girl) == g_fp->getObjectEnumState(sO_Girl, sO_IsSwinging)); + + if (g_fp->getObjectState(sO_Bridge) == g_fp->getObjectEnumState(sO_Bridge, sO_Convoluted)) { + g_vars->scene18_var08 = 1; + g_fp->playSound(SND_18_006, 1); + } else { + g_vars->scene18_var08 = 0; + g_fp->playSound(SND_18_010, 1); + } + + scene18_sub2(armchair, sc); + + g_vars->scene18_var21 = 0; + g_vars->scene18_var12 = 0; + g_vars->scene18_var22 = 1; + g_vars->scene18_var23 = -1; + g_vars->scene18_var24 = 0; + g_vars->scene18_var25 = 0; + g_vars->scene18_var26 = 1; + g_vars->scene18_var27 = -1; + g_vars->scene18_var13 = -1; + g_vars->scene18_var14 = -1; + g_vars->scene18_var28 = 0; + g_vars->scene18_var15 = 0; + g_vars->scene18_boy = sc->getStaticANIObject1ById(ANI_BOY18, -1); + g_vars->scene18_girl = sc->getStaticANIObject1ById(ANI_GIRL18, -1); + g_vars->scene18_domino = sc->getStaticANIObject1ById(ANI_DOMINO_18, -1); + g_vars->scene18_var29 = 290; + g_vars->scene18_var30 = -363; + g_vars->scene18_var05 = 283; + g_vars->scene18_var06 = -350; + + g_fp->initArcadeKeys("SC_18"); +} + void scene19_initScene2() { g_fp->_aniMan2 = 0; g_vars->scene19_var01 = 200; -- cgit v1.2.3 From e6236293f99c3561c24898969efafaff0974130e Mon Sep 17 00:00:00 2001 From: Kirben Date: Fri, 28 Feb 2014 20:13:49 +1100 Subject: BBVS: Fix compilation. --- engines/bbvs/videoplayer.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/engines/bbvs/videoplayer.cpp b/engines/bbvs/videoplayer.cpp index eb162612f2..fda9372ade 100644 --- a/engines/bbvs/videoplayer.cpp +++ b/engines/bbvs/videoplayer.cpp @@ -46,7 +46,7 @@ void BbvsEngine::playVideo(int videoNum) { Video::VideoDecoder *videoDecoder = new Video::AVIDecoder(); if (!videoDecoder->loadFile(videoFilename)) { delete videoDecoder; - warning("Unable to open video %s", videoFilename); + warning("Unable to open video %s", videoFilename.c_str()); return; } -- cgit v1.2.3 From a140837f79362d50ef772b301a2a9413c31f9d6b Mon Sep 17 00:00:00 2001 From: Eugene Sandulenko Date: Fri, 28 Feb 2014 23:12:31 +0200 Subject: FULLPIPE: Implement scene18_updateCursor() --- engines/fullpipe/constants.h | 4 ++++ engines/fullpipe/scenes.cpp | 1 + engines/fullpipe/scenes.h | 1 + engines/fullpipe/scenes/scene18and19.cpp | 20 ++++++++++++++++++++ 4 files changed, 26 insertions(+) diff --git a/engines/fullpipe/constants.h b/engines/fullpipe/constants.h index afa5218852..e2152003e7 100644 --- a/engines/fullpipe/constants.h +++ b/engines/fullpipe/constants.h @@ -877,6 +877,10 @@ namespace Fullpipe { #define ANI_GIRL18 1484 #define ANI_KRESLO 1459 #define ANI_WHIRLIGIG_18 829 +#define PIC_SC18_DOMIN 5184 +#define PIC_SC18_LADDER1 1471 +#define PIC_SC18_LADDER2 1472 +#define PIC_SC18_LADDER3 3299 #define PIC_SC18_RTRUBA 1520 #define SND_18_006 3906 #define SND_18_010 4994 diff --git a/engines/fullpipe/scenes.cpp b/engines/fullpipe/scenes.cpp index 07f7f76b50..aadbe38db7 100644 --- a/engines/fullpipe/scenes.cpp +++ b/engines/fullpipe/scenes.cpp @@ -281,6 +281,7 @@ Vars::Vars() { scene18_var08 = 0; scene18_var03 = false; scene18_var21 = 0; + scene18_var11 = 0; scene18_var12 = 0; scene18_var22 = 1; scene18_var23 = -1; diff --git a/engines/fullpipe/scenes.h b/engines/fullpipe/scenes.h index bc47831482..5d6856fefe 100644 --- a/engines/fullpipe/scenes.h +++ b/engines/fullpipe/scenes.h @@ -471,6 +471,7 @@ public: int scene18_var08; bool scene18_var03; int scene18_var21; + int scene18_var11; int scene18_var12; int scene18_var22; int scene18_var23; diff --git a/engines/fullpipe/scenes/scene18and19.cpp b/engines/fullpipe/scenes/scene18and19.cpp index 033d7052f7..4994a02b87 100644 --- a/engines/fullpipe/scenes/scene18and19.cpp +++ b/engines/fullpipe/scenes/scene18and19.cpp @@ -104,4 +104,24 @@ void scene19_initScene2() { g_vars->scene19_var04 = 300; } +int scene18_updateCursor() { + if (g_vars->scene18_var15) { + g_fp->_cursorId = PIC_CSR_DEFAULT; + } else { + g_fp->updateCursorCommon(); + + if (g_fp->_cursorId == PIC_CSR_ITN) { + if (g_fp->_objectIdAtCursor == PIC_SC18_LADDER1) { + g_fp->_cursorId = (g_vars->scene18_var11 <= 250) ? PIC_CSR_GOD : PIC_CSR_GOU; + } else if (g_fp->_objectIdAtCursor == PIC_SC18_LADDER2 || g_fp->_objectIdAtCursor == PIC_SC18_LADDER3) { + g_fp->_cursorId = PIC_CSR_GOU; + } + } else if (g_fp->_cursorId == PIC_CSR_DEFAULT && g_fp->_objectIdAtCursor == PIC_SC18_DOMIN && g_vars->scene18_domino && (g_vars->scene18_domino->_flags & 4)) { + g_fp->_cursorId = PIC_CSR_ITN; + } + } + + return g_fp->_cursorId; +} + } // End of namespace Fullpipe -- cgit v1.2.3 From d35f470bf6290eb9ab5a86321b223ae3f1cb48fa Mon Sep 17 00:00:00 2001 From: Strangerke Date: Fri, 28 Feb 2014 22:20:38 +0100 Subject: TONY: Reduce the scope of some variables, change the return type of findPath() --- engines/tony/loc.cpp | 13 ++++++------- engines/tony/loc.h | 2 +- engines/tony/mpal/mpal.cpp | 3 +-- 3 files changed, 8 insertions(+), 10 deletions(-) diff --git a/engines/tony/loc.cpp b/engines/tony/loc.cpp index dac6390372..09a00deed1 100644 --- a/engines/tony/loc.cpp +++ b/engines/tony/loc.cpp @@ -892,12 +892,12 @@ void RMWipe::draw(CORO_PARAM, RMGfxTargetBuffer &bigBuf, RMGfxPrimitive *prim) { /* Returns path along the vector path path[] */ /****************************************************************************/ -short RMCharacter::findPath(short source, short destination) { +bool RMCharacter::findPath(short source, short destination) { static RMBox box[MAXBOXES]; // Matrix of adjacent boxes static short nodeCost[MAXBOXES]; // Cost per node static short valid[MAXBOXES]; // 0:Invalid 1:Valid 2:Saturated static short nextNode[MAXBOXES]; // Next node - short minCost, error = 0; + bool error = false; RMBoxLoc *cur; g_system->lockMutex(_csMove); @@ -925,13 +925,13 @@ short RMCharacter::findPath(short source, short destination) { // Find the shortest path while (!finish) { - minCost = 32000; // Reset the minimum cost - error = 1; // Possible error + short minCost = 32000; // Reset the minimum cost + error = true; // Possible error // 1st cycle: explore possible new nodes for (int i = 0; i < cur->_numbBox; i++) { if (valid[i] == 1) { - error = 0; // Failure de-bunked + error = false; // Failure de-bunked int j = 0; while (((box[i]._adj[j]) != 1) && (j < cur->_numbBox)) j++; @@ -1851,10 +1851,9 @@ void RMGameBoxes::loadState(byte *state) { assert(nloc <= _nLocBoxes); - int nbox; // For each location, read the number of boxes and their status for (int i = 1; i <= nloc; i++) { - nbox = READ_LE_UINT32(state); + int nbox = READ_LE_UINT32(state); state += 4; for (int j = 0; j < nbox ; j++) { diff --git a/engines/tony/loc.h b/engines/tony/loc.h index c570913d3c..ac65a4a0bd 100644 --- a/engines/tony/loc.h +++ b/engines/tony/loc.h @@ -395,7 +395,7 @@ private: private: int inWhichBox(const RMPoint &pt); - short findPath(short source, short destination); + bool findPath(short source, short destination); RMPoint searching(char UP, char DOWN, char RIGHT, char LEFT, RMPoint point); RMPoint nearestPoint(const RMPoint &punto); diff --git a/engines/tony/mpal/mpal.cpp b/engines/tony/mpal/mpal.cpp index 797c7dbae0..3084fd89af 100644 --- a/engines/tony/mpal/mpal.cpp +++ b/engines/tony/mpal/mpal.cpp @@ -1524,7 +1524,6 @@ void mpalFree() { uint32 mpalQueryDWORD(uint16 wQueryType, ...) { Common::String buf; uint32 dwRet = 0; - char *n; va_list v; va_start(v, wQueryType); @@ -1625,7 +1624,7 @@ uint32 mpalQueryDWORD(uint16 wQueryType, ...) { */ lockVar(); int x = GETARG(uint32); - n = GETARG(char *); + char *n = GETARG(char *); buf = Common::String::format("Status.%u", x); if (varGetValue(buf.c_str()) <= 0) n[0]='\0'; -- cgit v1.2.3 From f358ec74f7ac4575e5450fd468a46aba2190da91 Mon Sep 17 00:00:00 2001 From: Strangerke Date: Fri, 28 Feb 2014 22:47:36 +0100 Subject: TONY: Reduce the scope of some more variables --- engines/tony/inventory.cpp | 7 +++---- engines/tony/mpal/loadmpc.cpp | 4 +--- engines/tony/mpal/mpal.cpp | 6 +----- 3 files changed, 5 insertions(+), 12 deletions(-) diff --git a/engines/tony/inventory.cpp b/engines/tony/inventory.cpp index 1ffc0a4cf4..974be8b04d 100644 --- a/engines/tony/inventory.cpp +++ b/engines/tony/inventory.cpp @@ -457,8 +457,6 @@ bool RMInventory::rightRelease(const RMPoint &mpos, RMTonyAction &curAction) { #define INVSPEED 20 void RMInventory::doFrame(RMGfxTargetBuffer &bigBuf, RMPointer &ptr, RMPoint mpos, bool bCanOpen) { - bool bNeedRedraw = false; - if (_state != CLOSED) { // Clean up the OT list g_system->lockMutex(_csModifyInterface); @@ -466,6 +464,8 @@ void RMInventory::doFrame(RMGfxTargetBuffer &bigBuf, RMPointer &ptr, RMPoint mpo // DoFrame makes all the objects currently in the inventory be displayed // @@@ Maybe we should do all takeable objects? Please does not help + bool bNeedRedraw = false; + for (int i = 0; i < _nInv; i++) { if (_items[_inv[i]]._icon.doFrame(this, false) && (i >= _curPos && i <= _curPos + 7)) bNeedRedraw = true; @@ -698,9 +698,8 @@ int RMInventory::loadState(byte *state) { state += 4; } - int x; for (int i = 0; i < 256; i++) { - x = READ_LE_UINT32(state); + int x = READ_LE_UINT32(state); state += 4; if (i < _nItems) { diff --git a/engines/tony/mpal/loadmpc.cpp b/engines/tony/mpal/loadmpc.cpp index 8f63b07ca0..8d030f1e52 100644 --- a/engines/tony/mpal/loadmpc.cpp +++ b/engines/tony/mpal/loadmpc.cpp @@ -138,8 +138,6 @@ static void FreeScript(LpMpalScript lpmsScript) { * @returns Pointer to the buffer after the item, or NULL on failure. */ static const byte *parseDialog(const byte *lpBuf, LpMpalDialog lpmdDialog) { - byte *lpLock; - lpmdDialog->_nObj = READ_LE_UINT32(lpBuf); lpBuf += 4; @@ -155,7 +153,7 @@ static const byte *parseDialog(const byte *lpBuf, LpMpalDialog lpmdDialog) { lpmdDialog->_periodNums[i] = READ_LE_UINT16(lpBuf); lpBuf += 2; lpmdDialog->_periods[i] = globalAllocate(GMEM_MOVEABLE | GMEM_ZEROINIT, *lpBuf + 1); - lpLock = (byte *)globalLock(lpmdDialog->_periods[i]); + byte *lpLock = (byte *)globalLock(lpmdDialog->_periods[i]); Common::copy(lpBuf + 1, lpBuf + 1 + *lpBuf, lpLock); globalUnlock(lpmdDialog->_periods[i]); lpBuf += (*lpBuf) + 1; diff --git a/engines/tony/mpal/mpal.cpp b/engines/tony/mpal/mpal.cpp index 3084fd89af..305f89765b 100644 --- a/engines/tony/mpal/mpal.cpp +++ b/engines/tony/mpal/mpal.cpp @@ -1718,7 +1718,6 @@ uint32 mpalQueryDWORD(uint16 wQueryType, ...) { * method that returns a pointer or handle. */ MpalHandle mpalQueryHANDLE(uint16 wQueryType, ...) { - char *n; Common::String buf; va_list v; va_start(v, wQueryType); @@ -1796,12 +1795,9 @@ MpalHandle mpalQueryHANDLE(uint16 wQueryType, ...) { error("mpalQuery(MPQ_ITEM_IS_ACTIVE, uint32 nItem) used incorrect variant"); } else if (wQueryType == MPQ_ITEM_NAME) { - /* - * uint32 mpalQuery(MPQ_ITEM_NAME, uint32 nItem, char *lpszName); - */ lockVar(); int x = GETARG(uint32); - n = GETARG(char *); + char *n = GETARG(char *); buf = Common::String::format("Status.%u", x); if (varGetValue(buf.c_str()) <= 0) n[0] = '\0'; -- cgit v1.2.3 From 81d733aec0c4422fa8c0b34b0c7f4d5b74c991c0 Mon Sep 17 00:00:00 2001 From: Strangerke Date: Fri, 28 Feb 2014 22:49:05 +0100 Subject: TONY: Fix some British comments --- engines/tony/mpal/mpal.cpp | 6 +++--- engines/tony/mpal/mpal.h | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/engines/tony/mpal/mpal.cpp b/engines/tony/mpal/mpal.cpp index 305f89765b..c813b354b0 100644 --- a/engines/tony/mpal/mpal.cpp +++ b/engines/tony/mpal/mpal.cpp @@ -1518,7 +1518,7 @@ void mpalFree() { * * @param wQueryType Type of query. The list is in the QueryTypes enum. * @returns 4 bytes depending on the type of query - * @remarks This is the specialised version of the original single mpalQuery + * @remarks This is the specialized version of the original single mpalQuery * method that returns numeric results. */ uint32 mpalQueryDWORD(uint16 wQueryType, ...) { @@ -1714,7 +1714,7 @@ uint32 mpalQueryDWORD(uint16 wQueryType, ...) { * * @param wQueryType Type of query. The list is in the QueryTypes enum. * @returns 4 bytes depending on the type of query - * @remarks This is the specialised version of the original single mpalQuery + * @remarks This is the specialized version of the original single mpalQuery * method that returns a pointer or handle. */ MpalHandle mpalQueryHANDLE(uint16 wQueryType, ...) { @@ -1867,7 +1867,7 @@ MpalHandle mpalQueryHANDLE(uint16 wQueryType, ...) { * * @param wQueryType Type of query. The list is in the QueryTypes enum. * @returns 4 bytes depending on the type of query - * @remarks This is the specialised version of the original single mpalQuery + * @remarks This is the specialized version of the original single mpalQuery * method that needs to run within a co-routine context. */ void mpalQueryCORO(CORO_PARAM, uint16 wQueryType, uint32 *dwRet) { diff --git a/engines/tony/mpal/mpal.h b/engines/tony/mpal/mpal.h index e88fd36e2f..af24c46697 100644 --- a/engines/tony/mpal/mpal.h +++ b/engines/tony/mpal/mpal.h @@ -391,7 +391,7 @@ void mpalFree(); * * @param wQueryType Type of query. The list is in the QueryTypes enum. * @returns 4 bytes depending on the type of query - * @remarks This is the specialised version of the original single mpalQuery + * @remarks This is the specialized version of the original single mpalQuery * method that returns numeric results. */ uint32 mpalQueryDWORD(uint16 wQueryType, ...); @@ -402,7 +402,7 @@ uint32 mpalQueryDWORD(uint16 wQueryType, ...); * * @param wQueryType Type of query. The list is in the QueryTypes enum. * @returns 4 bytes depending on the type of query - * @remarks This is the specialised version of the original single mpalQuery + * @remarks This is the specialized version of the original single mpalQuery * method that returns a pointer or handle. */ MpalHandle mpalQueryHANDLE(uint16 wQueryType, ...); @@ -413,7 +413,7 @@ MpalHandle mpalQueryHANDLE(uint16 wQueryType, ...); * * @param wQueryType Type of query. The list is in the QueryTypes enum. * @returns 4 bytes depending on the type of query - * @remarks This is the specialised version of the original single mpalQuery + * @remarks This is the specialized version of the original single mpalQuery * method that needs to run within a co-routine context. */ void mpalQueryCORO(CORO_PARAM, uint16 wQueryType, uint32 *dwRet); -- cgit v1.2.3 From a440c6a20e614c64dcd88380ee5273e9aad77169 Mon Sep 17 00:00:00 2001 From: Strangerke Date: Fri, 28 Feb 2014 23:24:09 +0100 Subject: TONY: Reduce the scope of more variables --- engines/tony/game.cpp | 5 +++-- engines/tony/gfxcore.cpp | 9 +++------ engines/tony/gfxengine.cpp | 9 +++------ 3 files changed, 9 insertions(+), 14 deletions(-) diff --git a/engines/tony/game.cpp b/engines/tony/game.cpp index 986eac99aa..c102242dfd 100644 --- a/engines/tony/game.cpp +++ b/engines/tony/game.cpp @@ -140,8 +140,6 @@ void RMOptionButton::setActiveState(bool bState) { \****************************************************************************/ RMOptionSlide::RMOptionSlide(const RMPoint &pt, int nRange, int nStartValue, int slideSize) { - RMResRaw *raw; - _pos = pt; _nSlideSize = slideSize; _nMax = nRange; @@ -154,6 +152,7 @@ RMOptionSlide::RMOptionSlide(const RMPoint &pt, int nRange, int nStartValue, int _sliderSingle = NULL; // Sliders + RMResRaw *raw; INIT_GFX16_FROMRAW(20029, _sliderCenter); INIT_GFX16_FROMRAW(20030, _sliderLeft); INIT_GFX16_FROMRAW(20031, _sliderRight); @@ -966,6 +965,8 @@ void RMOptionScreen::changeState(CORO_PARAM, OptionScreenState newState) { void RMOptionScreen::doFrame(CORO_PARAM, RMInput *input) { CORO_BEGIN_CONTEXT; bool bLeftClick, bRightClick; + RMResRaw *raw; + RMPoint mousePos; bool bRefresh; int i; diff --git a/engines/tony/gfxcore.cpp b/engines/tony/gfxcore.cpp index 3afad9b373..9254d59df6 100644 --- a/engines/tony/gfxcore.cpp +++ b/engines/tony/gfxcore.cpp @@ -821,27 +821,24 @@ void RMGfxSourceBuffer8RLE::setAlreadyCompressed() { } void RMGfxSourceBuffer8RLE::compressRLE() { - byte *startline; byte *cur; byte curdata; byte *src; - byte *startsrc; - int rep; // Perform RLE compression for lines cur = _megaRLEBuf; src = _buf; for (int y = 0; y < _dimy; y++) { // Save the beginning of the line - startline = cur; + byte *startline = cur; // Leave space for the length of the line cur += 2; // It starts from the empty space curdata = 0; - rep = 0; - startsrc = src; + int rep = 0; + byte *startsrc = src; for (int x = 0; x < _dimx;) { if ((curdata == 0 && *src == 0) || (curdata == 1 && *src == _alphaBlendColor) || (curdata == 2 && (*src != _alphaBlendColor && *src != 0))) { diff --git a/engines/tony/gfxengine.cpp b/engines/tony/gfxengine.cpp index 92469b7276..efbf63a6f5 100644 --- a/engines/tony/gfxengine.cpp +++ b/engines/tony/gfxengine.cpp @@ -352,11 +352,10 @@ void RMGfxEngine::initCustomDll() { } void RMGfxEngine::itemIrq(uint32 dwItem, int nPattern, int nStatus) { - RMItem *item; assert(GLOBALS._gfxEngine); if (GLOBALS._gfxEngine->_bLocationLoaded) { - item = GLOBALS._gfxEngine->_loc.getItemFromCode(dwItem); + RMItem *item = GLOBALS._gfxEngine->_loc.getItemFromCode(dwItem); if (item != NULL) { if (nPattern != -1) { item->setPattern(nPattern, true); @@ -452,8 +451,8 @@ void RMGfxEngine::unloadLocation(CORO_PARAM, bool bDoOnExit, uint32 *result) { void RMGfxEngine::init() { // Screen loading - RMResRaw *raw; RMGfxSourceBuffer16 *load = NULL; + RMResRaw *raw; INIT_GFX16_FROMRAW(20038, load); _bigBuf.addPrim(new RMGfxPrimitive(load)); _bigBuf.drawOT(Common::nullContext); @@ -722,9 +721,7 @@ void RMGfxEngine::loadState(CORO_PARAM, const Common::String &fn) { if (_ctx->ver >= 5) { // Version 5 - bool bStat = false; - - bStat = _ctx->f->readByte(); + bool bStat = _ctx->f->readByte(); _tony.setShepherdess(bStat); bStat = _ctx->f->readByte(); _inter.setPerorate(bStat); -- cgit v1.2.3 From a8e17552ce9ec9174132ee658fc69f12af53b60d Mon Sep 17 00:00:00 2001 From: Strangerke Date: Fri, 28 Feb 2014 23:33:19 +0100 Subject: TOON: Remove double identical check. --- engines/toon/toon.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/engines/toon/toon.cpp b/engines/toon/toon.cpp index ea87c9be84..3671422a8e 100644 --- a/engines/toon/toon.cpp +++ b/engines/toon/toon.cpp @@ -3615,7 +3615,7 @@ int32 ToonEngine::handleInventoryOnInventory(int32 itemDest, int32 itemSrc) { createMouseItem(21); rearrangeInventory(); return 1; - } else if (itemSrc == 0x6b || itemSrc == 0x6c || itemSrc == 0x6f || itemSrc == 108 || itemSrc == 112) { + } else if (itemSrc == 0x6b || itemSrc == 0x6c || itemSrc == 0x6f || itemSrc == 0x70) { sayLines(2, 1292); return 1; } -- cgit v1.2.3 From 460645393e7333427f67d0a567edbd60d9b69b7b Mon Sep 17 00:00:00 2001 From: Strangerke Date: Fri, 28 Feb 2014 23:33:39 +0100 Subject: TOON: Reduce the scope of a couple of variables. --- engines/toon/picture.cpp | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/engines/toon/picture.cpp b/engines/toon/picture.cpp index f0a7154788..51077c0b17 100644 --- a/engines/toon/picture.cpp +++ b/engines/toon/picture.cpp @@ -268,15 +268,14 @@ void Picture::floodFillNotWalkableOnMask(int16 x, int16 y) { // Stack-based floodFill algorithm based on // http://student.kuleuven.be/~m0216922/CG/files/floodfill.cpp Common::Stack stack; - bool spanLeft, spanRight; stack.push(Common::Point(x, y)); while (!stack.empty()) { Common::Point pt = stack.pop(); while (_data[pt.x + pt.y * _width] & 0x1F && pt.y >= 0) pt.y--; pt.y++; - spanLeft = false; - spanRight = false; + bool spanLeft = false; + bool spanRight = false; while (_data[pt.x + pt.y * _width] & 0x1F && pt.y < _height) { _data[pt.x + pt.y * _width] &= 0xE0; if (!spanLeft && pt.x > 0 && _data[pt.x - 1 + pt.y * _width] & 0x1F) { -- cgit v1.2.3 From c456b0e0e3f22333c0267692fe939b648e7a96c1 Mon Sep 17 00:00:00 2001 From: Strangerke Date: Fri, 28 Feb 2014 23:39:35 +0100 Subject: TOON: Reduce the scope of some more variables. --- engines/toon/detection.cpp | 3 +-- engines/toon/toon.cpp | 11 ++++------- 2 files changed, 5 insertions(+), 9 deletions(-) diff --git a/engines/toon/detection.cpp b/engines/toon/detection.cpp index 7c6eae6c63..4f82514213 100644 --- a/engines/toon/detection.cpp +++ b/engines/toon/detection.cpp @@ -179,10 +179,9 @@ SaveStateList ToonMetaEngine::listSaves(const char *target) const { sort(filenames.begin(), filenames.end()); // Sort (hopefully ensuring we are sorted numerically..) SaveStateList saveList; - int slotNum = 0; for (Common::StringArray::const_iterator filename = filenames.begin(); filename != filenames.end(); ++filename) { // Obtain the last 3 digits of the filename, since they correspond to the save slot - slotNum = atoi(filename->c_str() + filename->size() - 3); + int slotNum = atoi(filename->c_str() + filename->size() - 3); if (slotNum >= 0 && slotNum <= 99) { Common::InSaveFile *file = saveFileMan->openForLoading(*filename); diff --git a/engines/toon/toon.cpp b/engines/toon/toon.cpp index 3671422a8e..14e7d104d2 100644 --- a/engines/toon/toon.cpp +++ b/engines/toon/toon.cpp @@ -634,7 +634,6 @@ bool ToonEngine::showMainmenu(bool &loadedGame) { bool doExit = false; bool exitGame = false; - int clickingOn, clickRelease; int menuMask = MAINMENUMASK_BASE; Common::SeekableReadStream *mainmenuMusicFile = NULL; AudioStreamInstance *mainmenuMusic = NULL; @@ -644,8 +643,8 @@ bool ToonEngine::showMainmenu(bool &loadedGame) { dirtyAllScreen(); while (!doExit) { - clickingOn = MAINMENUHOTSPOT_NONE; - clickRelease = false; + int clickingOn = MAINMENUHOTSPOT_NONE; + int clickRelease = false; if (!musicPlaying) { mainmenuMusicFile = resources()->openFile("BR091013.MUS"); @@ -4617,15 +4616,13 @@ void ToonEngine::unloadToonDat() { } char **ToonEngine::loadTextsVariants(Common::File &in) { - int numTexts; - int entryLen; int len; char **res = 0; char *pos = 0; for (int varnt = 0; varnt < _numVariant; varnt++) { - numTexts = in.readUint16BE(); - entryLen = in.readUint16BE(); + int numTexts = in.readUint16BE(); + int entryLen = in.readUint16BE(); pos = (char *)malloc(entryLen); if (varnt == _gameVariant) { res = (char **)malloc(sizeof(char *) * numTexts); -- cgit v1.2.3 From 7efe29249bfa360d908c7b401e4ad061e8047c8f Mon Sep 17 00:00:00 2001 From: Strangerke Date: Sat, 1 Mar 2014 00:04:43 +0100 Subject: VOYEUR: Match the original and test _iForcedDeath after doHeadTitle() --- engines/voyeur/voyeur.cpp | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/engines/voyeur/voyeur.cpp b/engines/voyeur/voyeur.cpp index bc93acded6..0ce1084ff4 100644 --- a/engines/voyeur/voyeur.cpp +++ b/engines/voyeur/voyeur.cpp @@ -89,12 +89,13 @@ Common::Error VoyeurEngine::run() { ESP_Init(); globalInitBolt(); - // The original allows the victim to be explicitly specified via the command line. - // This is possible in ScummVM by using a boot parameter. - if (_iForceDeath >= 1 && _iForceDeath <= 4) - _voy->_eventFlags |= EVTFLAG_VICTIM_PRESET; - if (doHeadTitle()) { + // The original allows the victim to be explicitly specified via the command line. + // This is possible in ScummVM by using a boot parameter. + if (_iForceDeath >= 1 && _iForceDeath <= 4) + _voy->_eventFlags |= EVTFLAG_VICTIM_PRESET; + + playStamp(); if (!shouldQuit()) doTailTitle(); -- cgit v1.2.3 From 558887c1f10db77a5e32f605b28f4e2f7804c864 Mon Sep 17 00:00:00 2001 From: Strangerke Date: Sat, 1 Mar 2014 00:15:41 +0100 Subject: VOYEUR: Fix the value of the CMapResource used in the fading of showConversionScreen() --- engines/voyeur/voyeur.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/engines/voyeur/voyeur.cpp b/engines/voyeur/voyeur.cpp index 0ce1084ff4..e1891454ef 100644 --- a/engines/voyeur/voyeur.cpp +++ b/engines/voyeur/voyeur.cpp @@ -220,7 +220,7 @@ void VoyeurEngine::showConversionScreen() { return; // Fade out the screen - cMap = _bVoy->getCMapResource(0x5040000); + cMap = _bVoy->getCMapResource(0x504); cMap->_steps = 30; cMap->startFade(); if (shouldQuit()) -- cgit v1.2.3 From afd21ac388e157238515b58f93f67aa9d4f3ac7c Mon Sep 17 00:00:00 2001 From: Kirben Date: Sat, 1 Mar 2014 20:11:40 +1100 Subject: AGOS: Enable verb display in Simon the Sorcerer 2. --- engines/agos/verb.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/engines/agos/verb.cpp b/engines/agos/verb.cpp index 31e3211304..45dbfd0840 100644 --- a/engines/agos/verb.cpp +++ b/engines/agos/verb.cpp @@ -216,7 +216,14 @@ void AGOSEngine_Simon2::clearName() { return; } - AGOSEngine_Simon1::clearName(); + if (_currentVerbBox == _lastVerbOn) + return; + + resetNameWindow(); + _lastVerbOn = _currentVerbBox; + + if (_currentVerbBox != NULL && !(_currentVerbBox->flags & kBFBoxDead)) + printVerbOf(_currentVerbBox->id); } void AGOSEngine_Simon1::clearName() { -- cgit v1.2.3 From 094a86e076473dfbbed6f8e35db9243817e0d3a8 Mon Sep 17 00:00:00 2001 From: Eugene Sandulenko Date: Sat, 1 Mar 2014 13:15:37 +0200 Subject: FULLPIPE: Implement scene18_initScene1() --- engines/fullpipe/constants.h | 5 ++ engines/fullpipe/scenes.cpp | 1 + engines/fullpipe/scenes.h | 3 + engines/fullpipe/scenes/scene18and19.cpp | 123 +++++++++++++++++++++++++++++++ 4 files changed, 132 insertions(+) diff --git a/engines/fullpipe/constants.h b/engines/fullpipe/constants.h index e2152003e7..cd0a38ebf3 100644 --- a/engines/fullpipe/constants.h +++ b/engines/fullpipe/constants.h @@ -877,6 +877,7 @@ namespace Fullpipe { #define ANI_GIRL18 1484 #define ANI_KRESLO 1459 #define ANI_WHIRLIGIG_18 829 +#define MV_WHR18_SPIN 1300 #define PIC_SC18_DOMIN 5184 #define PIC_SC18_LADDER1 1471 #define PIC_SC18_LADDER2 1472 @@ -886,7 +887,11 @@ namespace Fullpipe { #define SND_18_010 4994 // Scene 19 +#define ANI_WHIRLGIG_19 1302 +#define MV_WHR19_SPIN 1317 #define PIC_SC19_RTRUBA3 1515 +#define SND_19_015 3928 +#define SND_19_016 4995 // Scene 20 #define ANI_GRANDMA_20 2427 diff --git a/engines/fullpipe/scenes.cpp b/engines/fullpipe/scenes.cpp index aadbe38db7..b7ef569bcc 100644 --- a/engines/fullpipe/scenes.cpp +++ b/engines/fullpipe/scenes.cpp @@ -279,6 +279,7 @@ Vars::Vars() { scene18_var20 = 1032; scene18_var04 = -318; scene18_var08 = 0; + scene18_var09 = 0; scene18_var03 = false; scene18_var21 = 0; scene18_var11 = 0; diff --git a/engines/fullpipe/scenes.h b/engines/fullpipe/scenes.h index 5d6856fefe..56aa5019a6 100644 --- a/engines/fullpipe/scenes.h +++ b/engines/fullpipe/scenes.h @@ -32,6 +32,7 @@ class MGM; class MctlLadder; struct Ring; class StaticANIObject; +struct Swinger; int defaultUpdateCursor(); @@ -466,9 +467,11 @@ public: int scene18_var18; int scene18_var19; StaticANIObject *scene18_whirlgig; + Common::Array scene18_var07; int scene18_var20; int scene18_var04; int scene18_var08; + int scene18_var09; bool scene18_var03; int scene18_var21; int scene18_var11; diff --git a/engines/fullpipe/scenes/scene18and19.cpp b/engines/fullpipe/scenes/scene18and19.cpp index 4994a02b87..93bf00077c 100644 --- a/engines/fullpipe/scenes/scene18and19.cpp +++ b/engines/fullpipe/scenes/scene18and19.cpp @@ -36,6 +36,18 @@ namespace Fullpipe { +struct Swinger { + StaticANIObject *ani; + int sfield_4; + double angle; + int sx; + int sy; + int ix; + int iy; + int sflags; + int sfield_24; +}; + void scene18_preload() { warning("WARNING: scene18_preload()"); } @@ -48,6 +60,117 @@ void scene18_sub2(StaticANIObject *ani, Scene *sc) { warning("WARNING: scene18_sub2()"); } +void scene18_initScene1(Scene *sc) { + PicAniInfo info; + + int oldx = g_vars->scene18_var20; + int oldy = g_vars->scene18_var04; + + g_vars->scene18_var03 = (g_fp->getObjectState(sO_Girl) == g_fp->getObjectEnumState(sO_Girl, sO_IsSwinging)); + + if (sc->_sceneId == SC_18) { + g_vars->scene18_whirlgig = sc->getStaticANIObject1ById(ANI_WHIRLIGIG_18, -1); + g_vars->scene18_var20 = 1032; + g_vars->scene18_var04 = -318; + } else { + g_vars->scene18_whirlgig = sc->getStaticANIObject1ById(ANI_WHIRLGIG_19, -1); + g_vars->scene18_var20 = 1024; + g_vars->scene18_var04 = 242; + } + + int newx = g_vars->scene18_var20 - oldx; + int newy = g_vars->scene18_var04 - oldy; + + g_vars->scene18_var29 += newx; + g_vars->scene18_var30 += newy; + g_vars->scene18_var05 += newx; + g_vars->scene18_var06 += newy; + + for (uint i = 0; i < g_vars->scene18_var07.size(); i++) { + g_vars->scene18_var07[i]->ani->getPicAniInfo(&info); + sc->addStaticANIObject(g_vars->scene18_var07[i]->ani, 1); + g_vars->scene18_var07[i]->ani->setPicAniInfo(&info); + + g_vars->scene18_var07[i]->sx += newx; + g_vars->scene18_var07[i]->sy += newy; + g_vars->scene18_var07[i]->ix += newx; + g_vars->scene18_var07[i]->iy += newy; + + GameObject *go; + + if (g_vars->scene18_var07[i]->ani->_movement) + go = g_vars->scene18_var07[i]->ani->_movement; + else + go = g_vars->scene18_var07[i]->ani; + + go->setOXY(newx + go->_ox, newy + go->_oy); + } + + if (g_vars->scene18_var08 && g_vars->scene18_var09 != -1) { + g_vars->scene18_whirlgig->startAnim(sc->_sceneId != SC_18 ? MV_WHR19_SPIN : MV_WHR18_SPIN, 0, -1); + g_vars->scene18_whirlgig->_movement->setDynamicPhaseIndex(g_vars->scene18_var09); + } + + int sndid; + + if (sc->_sceneId == SC_19) { + if (g_vars->scene18_var08) + sndid = SND_19_015; + else + sndid = SND_19_016; + } else { + if (g_vars->scene18_var08) + sndid = SND_18_006; + else + sndid = SND_18_010; + } + + g_fp->playSound(sndid, 1); + + g_vars->scene18_boy->getPicAniInfo(&info); + sc->addStaticANIObject(g_vars->scene18_boy, 1); + g_vars->scene18_boy->setPicAniInfo(&info); + + int x, y; + + if (g_vars->scene18_boy->_movement) { + x = g_vars->scene18_boy->_movement->_ox; + y = g_vars->scene18_boy->_movement->_oy; + } else { + x = g_vars->scene18_boy->_ox; + y = g_vars->scene18_boy->_oy; + } + + g_vars->scene18_boy->setOXY(newx + x, newy + y); + + g_vars->scene18_girl->getPicAniInfo(&info); + sc->addStaticANIObject(g_vars->scene18_girl, 1); + g_vars->scene18_girl->setPicAniInfo(&info); + + if (g_vars->scene18_girl->_movement) { + x = g_vars->scene18_girl->_movement->_ox; + y = g_vars->scene18_girl->_movement->_oy; + } else { + x = g_vars->scene18_girl->_ox; + y = g_vars->scene18_girl->_oy; + } + + g_vars->scene18_girl->setOXY(newx + x, newy + y); + + g_vars->scene18_var12 = 0; + g_vars->scene18_var13 = -1; + g_vars->scene18_var14 = -1; + + if (g_vars->scene18_var15) { + if (sc->_sceneId == SC_19) + g_fp->_aniMan2 = 0; + else + g_fp->_aniMan2 = g_vars->scene18_var07[g_vars->scene18_var27]->ani; + } else { + g_fp->_aniMan2 = g_fp->_aniMan; + } +} + void scene18_initScene2(Scene *sc) { g_vars->scene18_var16 = 200; g_vars->scene18_var17 = 200; -- cgit v1.2.3 From 901eeea62e679e6b657bf2301adbc9d4c01a9cb1 Mon Sep 17 00:00:00 2001 From: Kirben Date: Sat, 1 Mar 2014 22:54:18 +1100 Subject: AGOS: Convert verb ids for Simon the Sorcerer 2. --- engines/agos/verb.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/engines/agos/verb.cpp b/engines/agos/verb.cpp index 45dbfd0840..fb3878381f 100644 --- a/engines/agos/verb.cpp +++ b/engines/agos/verb.cpp @@ -249,12 +249,18 @@ void AGOSEngine::clearName() { resetNameWindow(); } +static const byte convertVerbID[9] = { + 0, 1, 5, 11, 8, 7, 10, 3, 2 +}; + void AGOSEngine::printVerbOf(uint hitarea_id) { const char *txt; const char * const *verb_names; const char * const *verb_prep_names; hitarea_id -= 101; + if (getGameType() == GType_SIMON2) + hitarea_id = convertVerbID[hitarea_id]; if (_showPreposition) { switch (_language) { -- cgit v1.2.3 From 3f6b51ce55b86d5a1a2f898371368b10a2862252 Mon Sep 17 00:00:00 2001 From: Strangerke Date: Sat, 1 Mar 2014 16:25:07 +0100 Subject: TONY: Remove dead code in lzo --- engines/tony/mpal/lzo.cpp | 278 +--------------------------------------------- 1 file changed, 3 insertions(+), 275 deletions(-) diff --git a/engines/tony/mpal/lzo.cpp b/engines/tony/mpal/lzo.cpp index d95efd0393..5f564187f8 100644 --- a/engines/tony/mpal/lzo.cpp +++ b/engines/tony/mpal/lzo.cpp @@ -86,37 +86,9 @@ int lzo1x_decompress(const byte *in, uint32 in_len, byte *out, uint32 *out_len) register byte *op; register const byte *ip; register uint32 t = 0; -#if defined(COPY_DICT) - uint32 m_off; - const byte *dict_end; -#else register const byte *m_pos; -#endif const byte * const ip_end = in + in_len; -#if defined(HAVE_ANY_OP) - byte * const op_end = out + *out_len; -#endif -#if defined(LZO1Z) - uint32 last_m_off = 0; -#endif - -#if defined(COPY_DICT) - if (dict) - { - if (dict_len > M4_MAX_OFFSET) - { - dict += dict_len - M4_MAX_OFFSET; - dict_len = M4_MAX_OFFSET; - } - dict_end = dict + dict_len; - } - else - { - dict_len = 0; - dict_end = NULL; - } -#endif *out_len = 0; @@ -150,138 +122,38 @@ int lzo1x_decompress(const byte *in, uint32 in_len, byte *out, uint32 *out_len) t += 15 + *ip++; } assert(t > 0); NEED_OP(t+3); NEED_IP(t+4); -#if defined(LZO_UNALIGNED_OK_8) && defined(LZO_UNALIGNED_OK_4) - t += 3; - if (t >= 8) do - { - UA_COPY64(op, ip); - op += 8; ip += 8; t -= 8; - } while (t >= 8); - if (t >= 4) - { - UA_COPY32(op, ip); - op += 4; ip += 4; t -= 4; - } - if (t > 0) - { - *op++ = *ip++; - if (t > 1) { *op++ = *ip++; if (t > 2) { *op++ = *ip++; } } - } -#elif defined(LZO_UNALIGNED_OK_4) || defined(LZO_ALIGNED_OK_4) -#if !defined(LZO_UNALIGNED_OK_4) - if (PTR_ALIGNED2_4(op, ip)) - { -#endif - UA_COPY32(op, ip); - op += 4; ip += 4; - if (--t > 0) - { - if (t >= 4) - { - do { - UA_COPY32(op, ip); - op += 4; ip += 4; t -= 4; - } while (t >= 4); - if (t > 0) do *op++ = *ip++; while (--t > 0); - } - else - do *op++ = *ip++; while (--t > 0); - } -#if !defined(LZO_UNALIGNED_OK_4) - } - else -#endif -#endif -#if !defined(LZO_UNALIGNED_OK_4) && !defined(LZO_UNALIGNED_OK_8) { *op++ = *ip++; *op++ = *ip++; *op++ = *ip++; do *op++ = *ip++; while (--t > 0); } -#endif first_literal_run: t = *ip++; if (t >= 16) goto match; -#if defined(COPY_DICT) -#if defined(LZO1Z) - m_off = (1 + M2_MAX_OFFSET) + (t << 6) + (*ip++ >> 2); - last_m_off = m_off; -#else - m_off = (1 + M2_MAX_OFFSET) + (t >> 2) + (*ip++ << 2); -#endif - NEED_OP(3); - t = 3; COPY_DICT(t, m_off) -#else -#if defined(LZO1Z) - t = (1 + M2_MAX_OFFSET) + (t << 6) + (*ip++ >> 2); - m_pos = op - t; - last_m_off = t; -#else + m_pos = op - (1 + M2_MAX_OFFSET); m_pos -= t >> 2; m_pos -= *ip++ << 2; -#endif + TEST_LB(m_pos); NEED_OP(3); *op++ = *m_pos++; *op++ = *m_pos++; *op++ = *m_pos; -#endif goto match_done; do { match: if (t >= 64) { -#if defined(COPY_DICT) -#if defined(LZO1X) - m_off = 1 + ((t >> 2) & 7) + (*ip++ << 3); - t = (t >> 5) - 1; -#elif defined(LZO1Y) - m_off = 1 + ((t >> 2) & 3) + (*ip++ << 2); - t = (t >> 4) - 3; -#elif defined(LZO1Z) - m_off = t & 0x1f; - if (m_off >= 0x1c) - m_off = last_m_off; - else - { - m_off = 1 + (m_off << 6) + (*ip++ >> 2); - last_m_off = m_off; - } - t = (t >> 5) - 1; -#endif -#else + #if defined(LZO1X) m_pos = op - 1; m_pos -= (t >> 2) & 7; m_pos -= *ip++ << 3; t = (t >> 5) - 1; -#elif defined(LZO1Y) - m_pos = op - 1; - m_pos -= (t >> 2) & 3; - m_pos -= *ip++ << 2; - t = (t >> 4) - 3; -#elif defined(LZO1Z) - { - uint32 off = t & 0x1f; - m_pos = op; - if (off >= 0x1c) - { - assert(last_m_off > 0); - m_pos -= last_m_off; - } - else - { - off = 1 + (off << 6) + (*ip++ >> 2); - m_pos -= off; - last_m_off = off; - } - } - t = (t >> 5) - 1; #endif TEST_LB(m_pos); assert(t > 0); NEED_OP(t+3-1); goto copy_match; -#endif } else if (t >= 32) { @@ -297,38 +169,14 @@ match: } t += 31 + *ip++; } -#if defined(COPY_DICT) -#if defined(LZO1Z) - m_off = 1 + (ip[0] << 6) + (ip[1] >> 2); - last_m_off = m_off; -#else - m_off = 1 + (ip[0] >> 2) + (ip[1] << 6); -#endif -#else -#if defined(LZO1Z) - { - uint32 off = 1 + (ip[0] << 6) + (ip[1] >> 2); - m_pos = op - off; - last_m_off = off; - } -#elif defined(LZO_UNALIGNED_OK_2) && defined(LZO_ABI_LITTLE_ENDIAN) - m_pos = op - 1; - m_pos -= UA_GET16(ip) >> 2; -#else m_pos = op - 1; m_pos -= (ip[0] >> 2) + (ip[1] << 6); -#endif -#endif ip += 2; } else if (t >= 16) { -#if defined(COPY_DICT) - m_off = (t & 8) << 11; -#else m_pos = op; m_pos -= (t & 8) << 11; -#endif t &= 7; if (t == 0) { @@ -341,168 +189,48 @@ match: } t += 7 + *ip++; } -#if defined(COPY_DICT) -#if defined(LZO1Z) - m_off += (ip[0] << 6) + (ip[1] >> 2); -#else - m_off += (ip[0] >> 2) + (ip[1] << 6); -#endif - ip += 2; - if (m_off == 0) - goto eof_found; - m_off += 0x4000; -#if defined(LZO1Z) - last_m_off = m_off; -#endif -#else -#if defined(LZO1Z) - m_pos -= (ip[0] << 6) + (ip[1] >> 2); -#elif defined(LZO_UNALIGNED_OK_2) && defined(LZO_ABI_LITTLE_ENDIAN) - m_pos -= UA_GET16(ip) >> 2; -#else m_pos -= (ip[0] >> 2) + (ip[1] << 6); -#endif ip += 2; if (m_pos == op) goto eof_found; m_pos -= 0x4000; -#if defined(LZO1Z) - last_m_off = pd((const byte *)op, m_pos); -#endif -#endif } else { -#if defined(COPY_DICT) -#if defined(LZO1Z) - m_off = 1 + (t << 6) + (*ip++ >> 2); - last_m_off = m_off; -#else - m_off = 1 + (t >> 2) + (*ip++ << 2); -#endif - NEED_OP(2); - t = 2; COPY_DICT(t, m_off) -#else -#if defined(LZO1Z) - t = 1 + (t << 6) + (*ip++ >> 2); - m_pos = op - t; - last_m_off = t; -#else m_pos = op - 1; m_pos -= t >> 2; m_pos -= *ip++ << 2; -#endif TEST_LB(m_pos); NEED_OP(2); *op++ = *m_pos++; *op++ = *m_pos; -#endif goto match_done; } -#if defined(COPY_DICT) - - NEED_OP(t+3-1); - t += 3-1; COPY_DICT(t, m_off) - -#else - TEST_LB(m_pos); assert(t > 0); NEED_OP(t+3-1); -#if defined(LZO_UNALIGNED_OK_8) && defined(LZO_UNALIGNED_OK_4) - if (op - m_pos >= 8) - { - t += (3 - 1); - if (t >= 8) do - { - UA_COPY64(op, m_pos); - op += 8; m_pos += 8; t -= 8; - } while (t >= 8); - if (t >= 4) - { - UA_COPY32(op, m_pos); - op += 4; m_pos += 4; t -= 4; - } - if (t > 0) - { - *op++ = m_pos[0]; - if (t > 1) { *op++ = m_pos[1]; if (t > 2) { *op++ = m_pos[2]; } } - } - } - else -#elif defined(LZO_UNALIGNED_OK_4) || defined(LZO_ALIGNED_OK_4) -#if !defined(LZO_UNALIGNED_OK_4) - if (t >= 2 * 4 - (3 - 1) && PTR_ALIGNED2_4(op, m_pos)) - { - assert((op - m_pos) >= 4); -#else - if (t >= 2 * 4 - (3 - 1) && (op - m_pos) >= 4) - { -#endif - UA_COPY32(op, m_pos); - op += 4; m_pos += 4; t -= 4 - (3 - 1); - do { - UA_COPY32(op, m_pos); - op += 4; m_pos += 4; t -= 4; - } while (t >= 4); - if (t > 0) do *op++ = *m_pos++; while (--t > 0); - } - else -#endif { copy_match: *op++ = *m_pos++; *op++ = *m_pos++; do *op++ = *m_pos++; while (--t > 0); } -#endif - match_done: -#if defined(LZO1Z) - t = ip[-1] & 3; -#else t = ip[-2] & 3; -#endif if (t == 0) break; match_next: assert(t > 0); assert(t < 4); NEED_OP(t); NEED_IP(t+1); -#if 0 - do *op++ = *ip++; while (--t > 0); -#else *op++ = *ip++; if (t > 1) { *op++ = *ip++; if (t > 2) { *op++ = *ip++; } } -#endif t = *ip++; } while (TEST_IP && TEST_OP); } -#if defined(HAVE_TEST_IP) || defined(HAVE_TEST_OP) - *out_len = pd(op, out); - return LZO_E_EOF_NOT_FOUND; -#endif - eof_found: assert(t == 1); *out_len = pd(op, out); return (ip == ip_end ? LZO_E_OK : (ip < ip_end ? LZO_E_INPUT_NOT_CONSUMED : LZO_E_INPUT_OVERRUN)); -#if defined(HAVE_NEED_IP) -input_overrun: - *out_len = pd(op, out); - return LZO_E_INPUT_OVERRUN; -#endif - -#if defined(HAVE_NEED_OP) -output_overrun: - *out_len = pd(op, out); - return LZO_E_OUTPUT_OVERRUN; -#endif - -#if defined(LZO_TEST_OVERRUN_LOOKBEHIND) -lookbehind_overrun: - *out_len = pd(op, out); - return LZO_E_LOOKBEHIND_OVERRUN; -#endif } } // end of namespace MPAL -- cgit v1.2.3 From 3ace56117823a61e46be5584b496cd81f2a3c91a Mon Sep 17 00:00:00 2001 From: Strangerke Date: Sat, 1 Mar 2014 16:35:58 +0100 Subject: TONY: Indent code properly in lzo --- engines/tony/mpal/lzo.cpp | 89 ++++++++++++++++++++++++----------------------- 1 file changed, 45 insertions(+), 44 deletions(-) diff --git a/engines/tony/mpal/lzo.cpp b/engines/tony/mpal/lzo.cpp index 5f564187f8..62b882aa39 100644 --- a/engines/tony/mpal/lzo.cpp +++ b/engines/tony/mpal/lzo.cpp @@ -95,40 +95,44 @@ int lzo1x_decompress(const byte *in, uint32 in_len, byte *out, uint32 *out_len) op = out; ip = in; - if (*ip > 17) - { + if (*ip > 17) { t = *ip++ - 17; if (t < 4) goto match_next; - assert(t > 0); NEED_OP(t); NEED_IP(t+1); - do *op++ = *ip++; while (--t > 0); + assert(t > 0); + NEED_OP(t); + NEED_IP(t + 1); + do + *op++ = *ip++; + while (--t > 0); goto first_literal_run; } - while (TEST_IP && TEST_OP) - { + while (TEST_IP && TEST_OP) { t = *ip++; if (t >= 16) goto match; - if (t == 0) - { + if (t == 0) { NEED_IP(1); - while (*ip == 0) - { + while (*ip == 0) { t += 255; ip++; NEED_IP(1); } t += 15 + *ip++; } - assert(t > 0); NEED_OP(t+3); NEED_IP(t+4); - { - *op++ = *ip++; *op++ = *ip++; *op++ = *ip++; - do *op++ = *ip++; while (--t > 0); - } + assert(t > 0); + NEED_OP(t + 3); + NEED_IP(t + 4); -first_literal_run: + *op++ = *ip++; + *op++ = *ip++; + *op++ = *ip++; + do + *op++ = *ip++; + while (--t > 0); +first_literal_run: t = *ip++; if (t >= 16) goto match; @@ -137,32 +141,31 @@ first_literal_run: m_pos -= t >> 2; m_pos -= *ip++ << 2; - TEST_LB(m_pos); NEED_OP(3); - *op++ = *m_pos++; *op++ = *m_pos++; *op++ = *m_pos; + TEST_LB(m_pos); + NEED_OP(3); + + *op++ = *m_pos++; + *op++ = *m_pos++; + *op++ = *m_pos; + goto match_done; do { match: - if (t >= 64) - { - -#if defined(LZO1X) + if (t >= 64) { m_pos = op - 1; m_pos -= (t >> 2) & 7; m_pos -= *ip++ << 3; t = (t >> 5) - 1; -#endif - TEST_LB(m_pos); assert(t > 0); NEED_OP(t+3-1); + TEST_LB(m_pos); + assert(t > 0); + NEED_OP(t + 3 - 1); goto copy_match; - } - else if (t >= 32) - { + } else if (t >= 32) { t &= 31; - if (t == 0) - { + if (t == 0) { NEED_IP(1); - while (*ip == 0) - { + while (*ip == 0) { t += 255; ip++; NEED_IP(1); @@ -172,17 +175,13 @@ match: m_pos = op - 1; m_pos -= (ip[0] >> 2) + (ip[1] << 6); ip += 2; - } - else if (t >= 16) - { + } else if (t >= 16) { m_pos = op; m_pos -= (t & 8) << 11; t &= 7; - if (t == 0) - { + if (t == 0) { NEED_IP(1); - while (*ip == 0) - { + while (*ip == 0) { t += 255; ip++; NEED_IP(1); @@ -194,18 +193,20 @@ match: if (m_pos == op) goto eof_found; m_pos -= 0x4000; - } - else - { + } else { m_pos = op - 1; m_pos -= t >> 2; m_pos -= *ip++ << 2; - TEST_LB(m_pos); NEED_OP(2); - *op++ = *m_pos++; *op++ = *m_pos; + TEST_LB(m_pos); + NEED_OP(2); + *op++ = *m_pos++; + *op++ = *m_pos; goto match_done; } - TEST_LB(m_pos); assert(t > 0); NEED_OP(t+3-1); + TEST_LB(m_pos); + assert(t > 0); + NEED_OP(t + 3 - 1); { copy_match: *op++ = *m_pos++; *op++ = *m_pos++; -- cgit v1.2.3 From 8d8bf74ad6412bc8d23673c8874f7ace22ac3995 Mon Sep 17 00:00:00 2001 From: Strangerke Date: Sat, 1 Mar 2014 16:37:22 +0100 Subject: TONY: Remove unused function declaration in lzo --- engines/tony/mpal/lzo.cpp | 19 ++++++++++++++----- engines/tony/mpal/lzo.h | 13 ------------- 2 files changed, 14 insertions(+), 18 deletions(-) diff --git a/engines/tony/mpal/lzo.cpp b/engines/tony/mpal/lzo.cpp index 62b882aa39..b681cdbfc3 100644 --- a/engines/tony/mpal/lzo.cpp +++ b/engines/tony/mpal/lzo.cpp @@ -209,8 +209,11 @@ match: NEED_OP(t + 3 - 1); { copy_match: - *op++ = *m_pos++; *op++ = *m_pos++; - do *op++ = *m_pos++; while (--t > 0); + *op++ = *m_pos++; + *op++ = *m_pos++; + do + *op++ = *m_pos++; + while (--t > 0); } match_done: @@ -219,9 +222,16 @@ match_done: break; match_next: - assert(t > 0); assert(t < 4); NEED_OP(t); NEED_IP(t+1); + assert(t > 0); + assert(t < 4); + NEED_OP(t); + NEED_IP(t + 1); *op++ = *ip++; - if (t > 1) { *op++ = *ip++; if (t > 2) { *op++ = *ip++; } } + if (t > 1) { + *op++ = *ip++; + if (t > 2) + *op++ = *ip++; + } t = *ip++; } while (TEST_IP && TEST_OP); } @@ -235,5 +245,4 @@ eof_found: } } // end of namespace MPAL - } // end of namespace Tony diff --git a/engines/tony/mpal/lzo.h b/engines/tony/mpal/lzo.h index 4384e3fb33..a95a14b267 100644 --- a/engines/tony/mpal/lzo.h +++ b/engines/tony/mpal/lzo.h @@ -86,25 +86,12 @@ namespace MPAL { #define LZO_E_NOT_YET_IMPLEMENTED (-9) /* [not used right now] */ #define LZO_E_INVALID_ARGUMENT (-10) -#define LZO1X_999_MEM_COMPRESS ((uint32) (14 * 16384L * sizeof(uint16))) - /** * Decompresses an LZO compressed resource */ int lzo1x_decompress(const byte *src, uint32 src_len, byte *dst, uint32 *dst_len); -/** - * Comrpess a data block into an LZO stream - */ -int lzo1x_1_compress(const byte *src, uint32 src_len, byte *dst, uint32 *dst_len, void *wrkmem); - -/** - * better compression ratio at the cost of more memory and time - */ -int lzo1x_999_compress(const byte *src, uint32 src_len, byte *dst, uint32 *dst_len, void *wrkmem); - } // end of namespace MPAL - } // end of namespace Tony #endif /* already included */ -- cgit v1.2.3 From 9d8477b87d3e0a968a9f85b2bf2f403f490b9988 Mon Sep 17 00:00:00 2001 From: Strangerke Date: Sat, 1 Mar 2014 16:46:31 +0100 Subject: TONY: Remove dummy defines --- engines/tony/mpal/lzo.cpp | 33 +++------------------------------ 1 file changed, 3 insertions(+), 30 deletions(-) diff --git a/engines/tony/mpal/lzo.cpp b/engines/tony/mpal/lzo.cpp index b681cdbfc3..314d6f3ed5 100644 --- a/engines/tony/mpal/lzo.cpp +++ b/engines/tony/mpal/lzo.cpp @@ -69,15 +69,9 @@ namespace Tony { namespace MPAL { #define pd(a, b) ((uint32) ((a) - (b))) - #define TEST_IP (ip < ip_end) -#define TEST_OP 1 -#define NEED_IP(x) ((void) 0) -#define NEED_OP(x) ((void) 0) -#define TEST_LB(m_pos) ((void) 0) #define M2_MAX_OFFSET 0x0800 -#define LZO1X /** * Decompresses an LZO compressed resource @@ -100,36 +94,30 @@ int lzo1x_decompress(const byte *in, uint32 in_len, byte *out, uint32 *out_len) if (t < 4) goto match_next; assert(t > 0); - NEED_OP(t); - NEED_IP(t + 1); do *op++ = *ip++; while (--t > 0); goto first_literal_run; } - while (TEST_IP && TEST_OP) { + while (TEST_IP) { t = *ip++; if (t >= 16) goto match; if (t == 0) { - NEED_IP(1); while (*ip == 0) { t += 255; ip++; - NEED_IP(1); } t += 15 + *ip++; } assert(t > 0); - NEED_OP(t + 3); - NEED_IP(t + 4); *op++ = *ip++; *op++ = *ip++; *op++ = *ip++; do - *op++ = *ip++; + *op++ = *ip++; while (--t > 0); first_literal_run: @@ -141,9 +129,6 @@ first_literal_run: m_pos -= t >> 2; m_pos -= *ip++ << 2; - TEST_LB(m_pos); - NEED_OP(3); - *op++ = *m_pos++; *op++ = *m_pos++; *op++ = *m_pos; @@ -157,18 +142,14 @@ match: m_pos -= (t >> 2) & 7; m_pos -= *ip++ << 3; t = (t >> 5) - 1; - TEST_LB(m_pos); assert(t > 0); - NEED_OP(t + 3 - 1); goto copy_match; } else if (t >= 32) { t &= 31; if (t == 0) { - NEED_IP(1); while (*ip == 0) { t += 255; ip++; - NEED_IP(1); } t += 31 + *ip++; } @@ -180,11 +161,9 @@ match: m_pos -= (t & 8) << 11; t &= 7; if (t == 0) { - NEED_IP(1); while (*ip == 0) { t += 255; ip++; - NEED_IP(1); } t += 7 + *ip++; } @@ -197,16 +176,12 @@ match: m_pos = op - 1; m_pos -= t >> 2; m_pos -= *ip++ << 2; - TEST_LB(m_pos); - NEED_OP(2); *op++ = *m_pos++; *op++ = *m_pos; goto match_done; } - TEST_LB(m_pos); assert(t > 0); - NEED_OP(t + 3 - 1); { copy_match: *op++ = *m_pos++; @@ -224,8 +199,6 @@ match_done: match_next: assert(t > 0); assert(t < 4); - NEED_OP(t); - NEED_IP(t + 1); *op++ = *ip++; if (t > 1) { *op++ = *ip++; @@ -233,7 +206,7 @@ match_next: *op++ = *ip++; } t = *ip++; - } while (TEST_IP && TEST_OP); + } while (TEST_IP); } eof_found: -- cgit v1.2.3 From 2218d14fb5276724c757406d5ac1ec581160721b Mon Sep 17 00:00:00 2001 From: Strangerke Date: Sat, 1 Mar 2014 16:50:02 +0100 Subject: TONY: Remove unused error defines --- engines/tony/mpal/lzo.h | 8 -------- 1 file changed, 8 deletions(-) diff --git a/engines/tony/mpal/lzo.h b/engines/tony/mpal/lzo.h index a95a14b267..172900f053 100644 --- a/engines/tony/mpal/lzo.h +++ b/engines/tony/mpal/lzo.h @@ -75,16 +75,8 @@ namespace MPAL { * normal events. */ #define LZO_E_OK 0 -#define LZO_E_ERROR (-1) -#define LZO_E_OUT_OF_MEMORY (-2) /* [lzo_alloc_func_t failure] */ -#define LZO_E_NOT_COMPRESSIBLE (-3) /* [not used right now] */ #define LZO_E_INPUT_OVERRUN (-4) -#define LZO_E_OUTPUT_OVERRUN (-5) -#define LZO_E_LOOKBEHIND_OVERRUN (-6) -#define LZO_E_EOF_NOT_FOUND (-7) #define LZO_E_INPUT_NOT_CONSUMED (-8) -#define LZO_E_NOT_YET_IMPLEMENTED (-9) /* [not used right now] */ -#define LZO_E_INVALID_ARGUMENT (-10) /** * Decompresses an LZO compressed resource -- cgit v1.2.3