diff options
Diffstat (limited to 'engines/hopkins')
36 files changed, 165 insertions, 144 deletions
diff --git a/engines/hopkins/anim.cpp b/engines/hopkins/anim.cpp index 2ec9cec009..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. @@ -668,7 +668,6 @@ void AnimationManager::playSequence(const Common::String &file, uint32 rate1, ui */ void AnimationManager::playSequence2(const Common::String &file, uint32 rate1, uint32 rate2, uint32 rate3, bool skipSeqFl) { byte *screenP; - int frameNumber; Common::File f; if (_vm->shouldQuit()) @@ -708,7 +707,7 @@ void AnimationManager::playSequence2(const Common::String &file, uint32 rate1, u if (!_vm->_events->_escKeyFl) { _vm->_events->_rateCounter = 0; - frameNumber = 0; + int frameNumber = 0; while (!_vm->shouldQuit()) { _vm->_soundMan->playAnimSound(frameNumber++); 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 f9e3ecafcd..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. @@ -675,15 +675,12 @@ void ComputerManager::displayBricks() { _breakoutSpeed = 1; int16 *level = _breakoutLevel; - int cellLeft; - int cellTop; - int cellType; for (int levelIdx = 0; ; levelIdx += 6) { - cellLeft = (int16)FROM_LE_16(level[levelIdx]); + int cellLeft = (int16)FROM_LE_16(level[levelIdx]); if (cellLeft == -1) break; - cellTop = FROM_LE_16(level[levelIdx + 1]); - cellType = FROM_LE_16(level[levelIdx + 4]); + int cellTop = FROM_LE_16(level[levelIdx + 1]); + int cellType = FROM_LE_16(level[levelIdx + 4]); if (cellType <= 6) ++_breakoutBrickNbr; @@ -833,7 +830,6 @@ int ComputerManager::displayHiscores() { _vm->_graphicsMan->setColorPercentage(254, 0, 0, 0); int yp; - int xp; // Loop for displaying the scores for (int scoreIndex = 0; scoreIndex <= 5; scoreIndex++) { yp = 19 * scoreIndex; @@ -853,7 +849,7 @@ int ComputerManager::displayHiscores() { int buttonIndex = 0; do { _vm->_events->refreshEvents(); - xp = _vm->_events->getMouseX(); + int xp = _vm->_events->getMouseX(); yp = _vm->_events->getMouseY(); if (_vm->_events->getMouseButton() == 1 && ABS(xp - 79) <= 33 && ABS(yp - 396) <= 13) 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 c617a5aacf..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" @@ -29,6 +28,7 @@ #include "common/memstream.h" #include "engines/advancedDetector.h" #include "common/system.h" +#include "common/translation.h" #include "graphics/colormasks.h" #include "graphics/surface.h" @@ -69,6 +69,30 @@ static const PlainGameDescriptor hopkinsGames[] = { #include "hopkins/detection_tables.h" +static const ADExtraGuiOptionsMap optionsList[] = { + { + GAMEOPTION_GORE_DEFAULT_OFF, + { + _s("Gore Mode"), + _s("Enable Gore Mode when available"), + "enable_gore", + false + } + }, + + { + GAMEOPTION_GORE_DEFAULT_ON, + { + _s("Gore Mode"), + _s("Enable Gore Mode when available"), + "enable_gore", + true + } + }, + + AD_EXTRA_GUI_OPTIONS_TERMINATOR +}; + const static char *directoryGlobs[] = { "voice", "link", @@ -77,7 +101,7 @@ const static char *directoryGlobs[] = { class HopkinsMetaEngine : public AdvancedMetaEngine { public: - HopkinsMetaEngine() : AdvancedMetaEngine(Hopkins::gameDescriptions, sizeof(Hopkins::HopkinsGameDescription), hopkinsGames) { + HopkinsMetaEngine() : AdvancedMetaEngine(Hopkins::gameDescriptions, sizeof(Hopkins::HopkinsGameDescription), hopkinsGames, optionsList) { _maxScanDepth = 3; _directoryGlobs = directoryGlobs; } @@ -190,7 +214,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 diff --git a/engines/hopkins/detection_tables.h b/engines/hopkins/detection_tables.h index c3ff563f6f..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. @@ -22,6 +22,9 @@ namespace Hopkins { +#define GAMEOPTION_GORE_DEFAULT_ON GUIO_GAMEOPTIONS1 +#define GAMEOPTION_GORE_DEFAULT_OFF GUIO_GAMEOPTIONS2 + static const HopkinsGameDescription gameDescriptions[] = { { // Hopkins FBI Linux Demo UK 1.00 and 1.02 @@ -35,7 +38,7 @@ static const HopkinsGameDescription gameDescriptions[] = { Common::EN_ANY, Common::kPlatformLinux, ADGF_DEMO, - GUIO1(GUIO_NONE) + GUIO1(GAMEOPTION_GORE_DEFAULT_ON) }, }, { @@ -51,7 +54,7 @@ static const HopkinsGameDescription gameDescriptions[] = { Common::EN_ANY, Common::kPlatformOS2, ADGF_NO_FLAGS, - GUIO1(GUIO_NONE) + GUIO1(GAMEOPTION_GORE_DEFAULT_ON) }, }, { @@ -66,7 +69,7 @@ static const HopkinsGameDescription gameDescriptions[] = { Common::EN_ANY, Common::kPlatformBeOS, ADGF_NO_FLAGS, - GUIO1(GUIO_NONE) + GUIO1(GAMEOPTION_GORE_DEFAULT_ON) }, }, { @@ -81,7 +84,7 @@ static const HopkinsGameDescription gameDescriptions[] = { Common::ES_ESP, Common::kPlatformWindows, ADGF_NO_FLAGS, - GUIO1(GUIO_NONE) + GUIO1(GAMEOPTION_GORE_DEFAULT_ON) }, }, { @@ -96,7 +99,7 @@ static const HopkinsGameDescription gameDescriptions[] = { Common::EN_ANY, Common::kPlatformWindows, ADGF_NO_FLAGS, - GUIO1(GUIO_NONE) + GUIO1(GAMEOPTION_GORE_DEFAULT_OFF) }, }, { @@ -111,7 +114,7 @@ static const HopkinsGameDescription gameDescriptions[] = { Common::RU_RUS, Common::kPlatformWindows, ADGF_NO_FLAGS, - GUIO1(GUIO_NONE) + GUIO1(GAMEOPTION_GORE_DEFAULT_ON) }, }, { @@ -126,7 +129,7 @@ static const HopkinsGameDescription gameDescriptions[] = { Common::FR_FRA, Common::kPlatformLinux, ADGF_NO_FLAGS, - GUIO1(GUIO_NONE) + GUIO1(GAMEOPTION_GORE_DEFAULT_ON) }, }, { @@ -141,7 +144,7 @@ static const HopkinsGameDescription gameDescriptions[] = { Common::EN_ANY, Common::kPlatformLinux, ADGF_NO_FLAGS, - GUIO1(GUIO_NONE) + GUIO1(GAMEOPTION_GORE_DEFAULT_ON) }, }, { @@ -156,11 +159,27 @@ static const HopkinsGameDescription gameDescriptions[] = { Common::FR_FRA, Common::kPlatformWindows, ADGF_NO_FLAGS, - GUIO1(GUIO_NONE) + GUIO1(GAMEOPTION_GORE_DEFAULT_ON) }, }, { + // Hopkins FBI Win95 Polish, provided by Paput in bug #6511 + { + "hopkins", + 0, + { + {"RES_VAN.RES", 0, "f2fec5172e4a7a9d35cb2a5f948ef6a9", 39400865}, + AD_LISTEND + }, + Common::PL_POL, + Common::kPlatformWindows, + ADGF_NO_FLAGS, + GUIO1(GAMEOPTION_GORE_DEFAULT_OFF) + }, + }, + + { // Hopkins FBI Win95 Demo, provided by Strangerke // CHECKME: No voice! a second file is required though... Also, it has multi-language support { @@ -173,7 +192,7 @@ static const HopkinsGameDescription gameDescriptions[] = { Common::EN_ANY, Common::kPlatformWindows, ADGF_DEMO, - GUIO1(GUIO_NONE) + GUIO1(GAMEOPTION_GORE_DEFAULT_ON) }, }, { @@ -188,7 +207,7 @@ static const HopkinsGameDescription gameDescriptions[] = { Common::PL_POL, Common::kPlatformWindows, ADGF_DEMO, - GUIO1(GUIO_NONE) + GUIO1(GAMEOPTION_GORE_DEFAULT_OFF) }, }, { AD_TABLE_END_MARKER } 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 2390ebbdf8..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. @@ -25,6 +25,7 @@ #include "hopkins/hopkins.h" #include "hopkins/globals.h" +#include "common/config-manager.h" #include "common/system.h" #include "common/debug.h" #include "common/file.h" @@ -68,20 +69,11 @@ int FileManager::readStream(Common::ReadStream &stream, void *buf, size_t nbytes } /** - * Initialize censorship based on blood.dat file + * The original censorship was based on blood.dat file. + * It's now using the config manager and a per-engine GUI option. */ void FileManager::initCensorship() { - _vm->_globals->_censorshipFl = false; - - // If file doesn't exist, fallback to uncensored - if (fileExists("BLOOD.DAT")) { - char *data = (char *)loadFile("BLOOD.DAT"); - - if ((data[6] == 'u' && data[7] == 'k') || (data[6] == 'U' && data[7] == 'K')) - _vm->_globals->_censorshipFl = true; - - _vm->_globals->freeMemory((byte *)data); - } + _vm->_globals->_censorshipFl = ConfMan.getBool("enable_gore"); } /** 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 a64e81fcc9..7227c3e833 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. @@ -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); @@ -439,9 +439,7 @@ void GraphicsManager::display8BitRect(const byte *surface, int xs, int ys, int w } void GraphicsManager::displayScaled8BitRect(const byte *surface, int xp, int yp, int width, int height, int destX, int destY) { - int xCtr; const byte *palette; - int savedXCount; byte *loopDestP; const byte *loopSrcP; int yCtr; @@ -454,10 +452,10 @@ void GraphicsManager::displayScaled8BitRect(const byte *surface, int xp, int yp, do { yCtr = yCount; - xCtr = xCount; + int xCtr = xCount; loopSrcP = srcP; loopDestP = destP; - savedXCount = xCount; + int savedXCount = xCount; palette = _palettePixels; do { 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 0e86fa26a9..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. @@ -232,7 +232,7 @@ bool HopkinsEngine::runWin95Demo() { if (!_globals->_censorshipFl) _animMan->playAnim("BANQUE.ANM", "BANKUK.ANM", 200, 28, 200); else - _animMan->playAnim("BANQUE.ANM", "BANKUK.ANM", 200, 28, 200); + _animMan->playAnim("BANKUK.ANM", "BANQUE.ANM", 200, 28, 200); _soundMan->_specialSoundNum = 0; _soundMan->removeSample(1); _soundMan->removeSample(2); @@ -2860,7 +2860,6 @@ void HopkinsEngine::syncSoundSettings() { } bool HopkinsEngine::displayAdultDisclaimer() { - int xp, yp; int buttonIndex; _graphicsMan->_minX = 0; @@ -2880,8 +2879,8 @@ bool HopkinsEngine::displayAdultDisclaimer() { _events->_mouseSpriteId = 0; do { - xp = _events->getMouseX(); - yp = _events->getMouseY(); + int xp = _events->getMouseX(); + int yp = _events->getMouseY(); buttonIndex = 0; if (xp >= 37 && xp <= 169 && yp >= 406 && yp <= 445) 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 aa708fdfb2..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. @@ -548,8 +548,6 @@ int LinesManager::avoidObstacleOnSegment(int lineIdx, int lineDataIdx, int route bool LinesManager::MIRACLE(int fromX, int fromY, int lineIdx, int destLineIdx, int routeIdx) { debugC(5, kDebugPath, "MIRACLE(%d, %d, %d, %d, %d)", fromX, fromY, lineIdx, destLineIdx, routeIdx); - int newLinesDataIdx = 0; - int newLinesIdx = 0; int lineIdxLeft = 0; int lineDataIdxLeft = 0; int lineIdxRight = 0; @@ -700,6 +698,8 @@ bool LinesManager::MIRACLE(int fromX, int fromY, int lineIdx, int destLineIdx, i newDir = DIR_LEFT; } + int newLinesDataIdx = 0; + int newLinesIdx = 0; switch(newDir) { case DIR_UP: newLinesIdx = linesIdxUp; @@ -1552,7 +1552,6 @@ void LinesManager::useRoute2(int idx, int curRouteIdx) { int LinesManager::characterRoute(int fromX, int fromY, int destX, int destY, int startLineIdx, int endLineIdx, int routeIdx) { debugC(5, kDebugPath, "characterRoute(%d, %d, %d, %d, %d, %d, %d)", fromX, fromY, destX, destY, startLineIdx, endLineIdx, routeIdx); int collDataIdxRoute2 = 0; - bool colResult = false; int curX = fromX; int curY = fromY; @@ -1603,7 +1602,6 @@ int LinesManager::characterRoute(int fromX, int fromY, int destX, int destY, int int collLineIdxRoute1 = -1; int collLineIdxRoute2 = -1; - int distX, distY; int repeatFlag = 0; int collDataIdxRoute0 = 0; int collDataIdxRoute1 = 0; @@ -1615,8 +1613,8 @@ int LinesManager::characterRoute(int fromX, int fromY, int destX, int destY, int useRoute0(idxRoute0, curRouteIdx); return 1; } - distX = abs(curX - destX) + 1; - distY = abs(curY - destY) + 1; + int distX = abs(curX - destX) + 1; + int distY = abs(curY - destY) + 1; int maxDist; if (distX > distY) maxDist = distX; @@ -1912,7 +1910,7 @@ int LinesManager::characterRoute(int fromX, int fromY, int destX, int destY, int posXRoute2 = _newPosX; posYRoute2 = _newPosY; - colResult = checkCollisionLine(_newPosX, _newPosY, &collDataIdxRoute2, &collLineIdxRoute2, 0, _lastLine); + bool colResult = checkCollisionLine(_newPosX, _newPosY, &collDataIdxRoute2, &collLineIdxRoute2, 0, _lastLine); if (colResult && collLineIdxRoute2 <= _lastLine) break; } @@ -2456,13 +2454,12 @@ bool LinesManager::PLAN_TEST(int paramX, int paramY, int superRouteIdx, int para int LinesManager::testLine(int paramX, int paramY, int *testValue, int *foundLineIdx, int *foundDataIdx) { debugC(5, kDebugPath, "testLine(%d, %d, testValue, foundLineIdx, foundDataIdx)", paramX, paramY); int16 *lineData; - int lineDataEndIdx; int collLineIdx; int collDataIdx; for (int idx = _lastLine + 1; idx < _linesNumb + 1; idx++) { lineData = _lineItem[idx]._lineData; - lineDataEndIdx = _lineItem[idx]._lineDataEndIdx; + int lineDataEndIdx = _lineItem[idx]._lineDataEndIdx; if (!lineData) continue; 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 347a6aabe8..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. @@ -376,7 +376,6 @@ void ObjectsManager::addObject(int objIndex) { void ObjectsManager::displaySprite() { int clipX; int clipY; - bool loopCondFl; uint16 arr[50]; // Handle copying any background areas that text are going to be drawn on @@ -441,6 +440,7 @@ void ObjectsManager::displaySprite() { for (int i = 1; i <= 48; i++) arr[i] = i; + bool loopCondFl; do { loopCondFl = false; for (int sortIdx = 1; sortIdx < _sortedDisplayCount; sortIdx++) { @@ -3613,12 +3613,10 @@ void ObjectsManager::showSpecialActionAnimation(const byte *spriteData, const Co realSpeed = speed / 3; int spriteIndex = 0; - bool completeTokenFl; - char nextChar; for (int idx = 0; ; idx++) { - completeTokenFl = false; - nextChar = animString[idx]; + bool completeTokenFl = false; + char nextChar = animString[idx]; if (nextChar == ',') { spriteIndex = atoi(tmpStr.c_str()); tmpStr = ""; 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 92c5f51462..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. @@ -200,14 +200,6 @@ SoundManager::SoundManager(HopkinsEngine *vm) { _currentSoundIndex = 0; _oldSoundNumber = 0; _modPlayingFl = false; - - for (int i = 0; i < VOICE_COUNT; ++i) - Common::fill((byte *)&_voice[i], (byte *)&_voice[i] + sizeof(VoiceItem), 0); - for (int i = 0; i < SWAV_COUNT; ++i) - Common::fill((byte *)&_sWav[i], (byte *)&_sWav[i] + sizeof(SwavItem), 0); - for (int i = 0; i < SOUND_COUNT; ++i) - Common::fill((byte *)&_sound[i], (byte *)&_sound[i] + sizeof(SoundItem), 0); - Common::fill((byte *)&_music, (byte *)&_music + sizeof(MusicItem), 0); } SoundManager::~SoundManager() { diff --git a/engines/hopkins/sound.h b/engines/hopkins/sound.h index f1d047ae8b..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. @@ -33,12 +33,16 @@ namespace Hopkins { class VoiceItem { public: + VoiceItem() : _status(false), _wavIndex(0) {} + bool _status; int _wavIndex; }; class SwavItem { public: + SwavItem() : _active(false), _audioStream(NULL), _freeSampleFl(false) {} + bool _active; Audio::RewindableAudioStream *_audioStream; Audio::SoundHandle _soundHandle; @@ -47,11 +51,15 @@ public: class MusicItem { public: + MusicItem() : _active(false) {} + bool _active; }; class SoundItem { public: + SoundItem() : _active(false) {} + bool _active; }; diff --git a/engines/hopkins/talk.cpp b/engines/hopkins/talk.cpp index c80ea15554..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. @@ -613,7 +613,6 @@ void TalkManager::displayBobDialogAnim(int idx) { _vm->_objectsMan->_bob[idx]._flipFl = false; _vm->_objectsMan->_bob[idx]._animData = _vm->_animMan->_animBqe[idx]._data; _vm->_objectsMan->_bob[idx]._bobMode = 10; - bqeData = _characterSprite; _vm->_objectsMan->_bob[idx]._spriteData = _characterSprite; _vm->_objectsMan->_bob[idx]._bobModeChange = newMode; _vm->_objectsMan->_bob[idx]._modeChangeCtr = -1; 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. |