diff options
Diffstat (limited to 'engines/drascula')
-rw-r--r-- | engines/drascula/actors.cpp | 4 | ||||
-rw-r--r-- | engines/drascula/animation.cpp | 4 | ||||
-rw-r--r-- | engines/drascula/configure.engine | 3 | ||||
-rw-r--r-- | engines/drascula/console.cpp | 8 | ||||
-rw-r--r-- | engines/drascula/console.h | 4 | ||||
-rw-r--r-- | engines/drascula/converse.cpp | 4 | ||||
-rw-r--r-- | engines/drascula/detection.cpp | 4 | ||||
-rw-r--r-- | engines/drascula/drascula.cpp | 75 | ||||
-rw-r--r-- | engines/drascula/drascula.h | 13 | ||||
-rw-r--r-- | engines/drascula/graphics.cpp | 4 | ||||
-rw-r--r-- | engines/drascula/interface.cpp | 4 | ||||
-rw-r--r-- | engines/drascula/objects.cpp | 4 | ||||
-rw-r--r-- | engines/drascula/palette.cpp | 4 | ||||
-rw-r--r-- | engines/drascula/resource.cpp | 4 | ||||
-rw-r--r-- | engines/drascula/rooms.cpp | 4 | ||||
-rw-r--r-- | engines/drascula/saveload.cpp | 4 | ||||
-rw-r--r-- | engines/drascula/sound.cpp | 4 | ||||
-rw-r--r-- | engines/drascula/talk.cpp | 4 |
18 files changed, 115 insertions, 40 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/configure.engine b/engines/drascula/configure.engine new file mode 100644 index 0000000000..b9b76638fd --- /dev/null +++ b/engines/drascula/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 drascula "Drascula: The Vampire Strikes Back" yes diff --git a/engines/drascula/console.cpp b/engines/drascula/console.cpp index c0d2748ec3..b545c096d0 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. @@ -27,7 +27,7 @@ namespace Drascula { Console::Console(DrasculaEngine *vm) : GUI::Debugger(), _vm(vm) { - DCmd_Register("room", WRAP_METHOD(Console, Cmd_Room)); + registerCmd("room", WRAP_METHOD(Console, Cmd_Room)); } Console::~Console() { @@ -35,7 +35,7 @@ Console::~Console() { bool Console::Cmd_Room(int argc, const char **argv) { if (argc < 2) { - DebugPrintf("Usage: room <number>\n"); + debugPrintf("Usage: room <number>\n"); return true; } 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 d25b37d18d..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. @@ -115,6 +115,58 @@ DrasculaEngine::DrasculaEngine(OSystem *syst, const DrasculaGameDescription *gam _roomActionsSize = 0; _talkSequencesSize = 0; _numLangs = 0; + feetHeight = 0; + floorX1 = 0; + floorY1 = 0; + floorX2 = 0; + floorY2 = 0; + lowerLimit = 0; + upperLimit = 0; + trackFinal = 0; + walkToObject = 0; + objExit = 0; + _startTime = 0; + hasAnswer = 0; + savedTime = 0; + breakOut = 0; + vonBraunX = 0; + trackVonBraun = 0; + vonBraunHasMoved = 0; + newHeight = 0; + newWidth = 0; + color_solo = 0; + igorX = 0; + igorY = 0; + trackIgor = 0; + drasculaX = 0; + drasculaY = 0; + trackDrascula = 0; + _roomNumber = 0; + numRoomObjs = 0; + takeObject = 0; + pickedObject = 0; + _subtitlesDisabled = 0; + _menuBar = 0; + _menuScreen = 0; + _hasName = 0; + curExcuseLook = 0; + curExcuseAction = 0; + frame_y = 0; + curX = 0; + curY = 0; + characterMoved = 0; + curDirection = 0; + trackProtagonist = 0; + _characterFrame = 0; + hare_se_ve = 0; + roomX = 0; + roomY = 0; + checkFlags = 0; + doBreak = 0; + stepX = 0; + stepY = 0; + curHeight = 0; + curWidth = 0; _color = 0; blinking = 0; @@ -124,6 +176,20 @@ DrasculaEngine::DrasculaEngine(OSystem *syst, const DrasculaGameDescription *gam _rightMouseButton = 0; *textName = 0; + crosshairCursor = 0; + mouseCursor = 0; + bgSurface = 0; + backSurface = 0; + cursorSurface = 0; + drawSurface3 = 0; + drawSurface2 = 0; + tableSurface = 0; + extraSurface = 0; + screenSurface = 0; + frontSurface = 0; + previousMusic = 0; + roomMusic = 0; + _rnd = new Common::RandomSource("drascula"); _console = 0; @@ -798,6 +864,11 @@ void DrasculaEngine::updateEvents() { #endif switch (event.type) { case Common::EVENT_KEYDOWN: + if (event.kbd.keycode == Common::KEYCODE_d && event.kbd.hasFlags(Common::KBD_CTRL)) { + // Start the debugger + getDebugger()->attach(); + getDebugger()->onFrame(); + } addKeyToBuffer(event.kbd); break; case Common::EVENT_KEYUP: diff --git a/engines/drascula/drascula.h b/engines/drascula/drascula.h index 944191b5fb..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. @@ -38,6 +38,8 @@ #include "engines/savestate.h" +#include "drascula/console.h" + #include "audio/mixer.h" #include "engines/engine.h" @@ -313,8 +315,6 @@ static const int interf_y[] = { 51, 51, 51, 51, 83, 83, 83 }; struct RoomHandlers; -class Console; - class DrasculaEngine : public Engine { protected: // Engine APIs @@ -724,11 +724,12 @@ public: void update_62_pre(); void update_102(); + Console *_console; + GUI::Debugger *getDebugger() { return _console; } + private: int _lang; - Console *_console; - CharInfo *_charMap; int _charMapSize; 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. |