From a8efe852a81711c72b23d2f8da56eaec88abc45c Mon Sep 17 00:00:00 2001 From: Eugene Sandulenko Date: Tue, 27 Mar 2018 18:43:27 +0200 Subject: BLADERUNNER: Added skeleton for EndCredits --- engines/bladerunner/bladerunner.cpp | 15 ++++++++++-- engines/bladerunner/bladerunner.h | 2 ++ engines/bladerunner/module.mk | 1 + engines/bladerunner/ui/end_credits.cpp | 37 ++++++++++++++++++++++++++++++ engines/bladerunner/ui/end_credits.h | 42 ++++++++++++++++++++++++++++++++++ 5 files changed, 95 insertions(+), 2 deletions(-) create mode 100644 engines/bladerunner/ui/end_credits.cpp create mode 100644 engines/bladerunner/ui/end_credits.h (limited to 'engines/bladerunner') diff --git a/engines/bladerunner/bladerunner.cpp b/engines/bladerunner/bladerunner.cpp index e34d2d61cf..145fdce9e5 100644 --- a/engines/bladerunner/bladerunner.cpp +++ b/engines/bladerunner/bladerunner.cpp @@ -64,6 +64,7 @@ #include "bladerunner/text_resource.h" #include "bladerunner/time.h" #include "bladerunner/ui/elevator.h" +#include "bladerunner/ui/end_credits.h" #include "bladerunner/ui/esper.h" #include "bladerunner/ui/kia.h" #include "bladerunner/ui/scores.h" @@ -170,6 +171,7 @@ BladeRunnerEngine::BladeRunnerEngine(OSystem *syst, const ADGameDescription *des _dialogueMenu = nullptr; _suspectsDatabase = nullptr; _kia = nullptr; + _endCredits = nullptr; _spinner = nullptr; _elevator = nullptr; _mainFont = nullptr; @@ -217,6 +219,13 @@ Common::Error BladeRunnerEngine::run() { /* TODO: Check for save games and enter KIA */ gameLoop(); + + _mouse->disable(); + + if (_gameOver) { + // autoSaveGame(4, 1); // TODO + _endCredits->show(); + } } shutdown(); @@ -229,8 +238,7 @@ bool BladeRunnerEngine::startup(bool hasSavegames) { _screenEffects = new ScreenEffects(this, 0x8000); - - // TODO: end credits + _endCredits = new EndCredits(this); _actorDialogueQueue = new ActorDialogueQueue(this); @@ -600,6 +608,9 @@ void BladeRunnerEngine::shutdown() { delete _scores; _scores = nullptr; + delete _endCredits; + _endCredits = nullptr; + delete _elevator; _elevator = nullptr; diff --git a/engines/bladerunner/bladerunner.h b/engines/bladerunner/bladerunner.h index 4dad66ea74..556189082f 100644 --- a/engines/bladerunner/bladerunner.h +++ b/engines/bladerunner/bladerunner.h @@ -63,6 +63,7 @@ class Combat; class Debugger; class DialogueMenu; class Elevator; +class EndCredits; class ESPER; class Font; class GameFlags; @@ -122,6 +123,7 @@ public: Combat *_combat; DialogueMenu *_dialogueMenu; Elevator *_elevator; + EndCredits *_endCredits; ESPER *_esper; GameFlags *_gameFlags; GameInfo *_gameInfo; diff --git a/engines/bladerunner/module.mk b/engines/bladerunner/module.mk index 672e65277b..b0bae4f7bd 100644 --- a/engines/bladerunner/module.mk +++ b/engines/bladerunner/module.mk @@ -248,6 +248,7 @@ MODULE_OBJS = \ text_resource.o \ time.o \ ui/elevator.o \ + ui/end_credits.o \ ui/esper.o \ ui/kia.o \ ui/kia_log.o \ diff --git a/engines/bladerunner/ui/end_credits.cpp b/engines/bladerunner/ui/end_credits.cpp new file mode 100644 index 0000000000..0051fad534 --- /dev/null +++ b/engines/bladerunner/ui/end_credits.cpp @@ -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. + * + */ + +#include "bladerunner/ui/end_credits.h" + +namespace BladeRunner { + +EndCredits::EndCredits(BladeRunnerEngine *vm) { + _vm = vm; +} + +EndCredits::~EndCredits() { +} + +void EndCredits::show() { +} + +} // End of namespace BladeRunner diff --git a/engines/bladerunner/ui/end_credits.h b/engines/bladerunner/ui/end_credits.h new file mode 100644 index 0000000000..39086cd796 --- /dev/null +++ b/engines/bladerunner/ui/end_credits.h @@ -0,0 +1,42 @@ +/* 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 BLADERUNNER_UI_END_CREDITS_H +#define BLADERUNNER_UI_END_CREDITS_H + +namespace BladeRunner { + +class BladeRunnerEngine; + +class EndCredits { + BladeRunnerEngine *_vm; + +public: + EndCredits(BladeRunnerEngine *vm); + ~EndCredits(); + + void show(); +}; + +} // End of namespace BladeRunner + +#endif -- cgit v1.2.3