From 740ea803bbd9e7489955f1437a669274780e6857 Mon Sep 17 00:00:00 2001
From: Eugene Sandulenko
Date: Fri, 23 Mar 2018 18:47:04 +0100
Subject: BLADERUNNER: Added Police Maze skeleton

---
 engines/bladerunner/bladerunner.cpp |  8 ++++++-
 engines/bladerunner/bladerunner.h   |  2 ++
 engines/bladerunner/module.mk       |  1 +
 engines/bladerunner/police_maze.cpp | 40 +++++++++++++++++++++++++++++++++++
 engines/bladerunner/police_maze.h   | 42 +++++++++++++++++++++++++++++++++++++
 5 files changed, 92 insertions(+), 1 deletion(-)
 create mode 100644 engines/bladerunner/police_maze.cpp
 create mode 100644 engines/bladerunner/police_maze.h

diff --git a/engines/bladerunner/bladerunner.cpp b/engines/bladerunner/bladerunner.cpp
index 055c77cd58..aa1fb97163 100644
--- a/engines/bladerunner/bladerunner.cpp
+++ b/engines/bladerunner/bladerunner.cpp
@@ -45,6 +45,7 @@
 #include "bladerunner/outtake.h"
 #include "bladerunner/obstacles.h"
 #include "bladerunner/overlays.h"
+#include "bladerunner/police_maze.h"
 #include "bladerunner/regions.h"
 #include "bladerunner/scene.h"
 #include "bladerunner/scene_objects.h"
@@ -238,7 +239,7 @@ bool BladeRunnerEngine::startup(bool hasSavegames) {
 
 	// TODO: outtake player - but this is done bit differently
 
-	// TODO: police maze
+	_policeMaze = new PoliceMaze(this);
 
 	_obstacles = new Obstacles(this);
 
@@ -647,6 +648,9 @@ void BladeRunnerEngine::shutdown() {
 	delete _itemPickup;
 	_itemPickup = nullptr;
 
+	delete _policeMaze;
+	_policeMaze = nullptr;
+
 	delete _obstacles;
 	_obstacles = nullptr;
 
@@ -760,6 +764,8 @@ void BladeRunnerEngine::gameTick() {
 			}
 		}
 
+		_policeMaze->tick();
+
 		// TODO: Gun range announcements
 		_zbuffer->clean();
 
diff --git a/engines/bladerunner/bladerunner.h b/engines/bladerunner/bladerunner.h
index 6d15a1c798..2c3b7c6a39 100644
--- a/engines/bladerunner/bladerunner.h
+++ b/engines/bladerunner/bladerunner.h
@@ -75,6 +75,7 @@ class Mouse;
 class Music;
 class Obstacles;
 class Overlays;
+class PoliceMaze;
 class Scene;
 class SceneObjects;
 class SceneScript;
@@ -132,6 +133,7 @@ public:
 	Music              *_music;
 	Obstacles          *_obstacles;
 	Overlays           *_overlays;
+	PoliceMaze         *_policeMaze;
 	Scene              *_scene;
 	SceneObjects       *_sceneObjects;
 	SceneScript        *_sceneScript;
diff --git a/engines/bladerunner/module.mk b/engines/bladerunner/module.mk
index aa1fe0149a..f7f7984508 100644
--- a/engines/bladerunner/module.mk
+++ b/engines/bladerunner/module.mk
@@ -40,6 +40,7 @@ MODULE_OBJS = \
 	obstacles.o \
 	outtake.o \
 	overlays.o \
+	police_maze.o \
 	regions.o \
 	scene.o \
 	scene_objects.o \
diff --git a/engines/bladerunner/police_maze.cpp b/engines/bladerunner/police_maze.cpp
new file mode 100644
index 0000000000..9a7d052e82
--- /dev/null
+++ b/engines/bladerunner/police_maze.cpp
@@ -0,0 +1,40 @@
+/* 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/bladerunner.h"
+
+#include "bladerunner/police_maze.h"
+
+namespace BladeRunner {
+
+PoliceMaze::PoliceMaze(BladeRunnerEngine *vm) {
+	_vm = vm;
+}
+
+PoliceMaze::~PoliceMaze() {
+}
+
+void PoliceMaze::tick() {
+}
+
+
+} // End of namespace BladeRunner
diff --git a/engines/bladerunner/police_maze.h b/engines/bladerunner/police_maze.h
new file mode 100644
index 0000000000..5959648d6c
--- /dev/null
+++ b/engines/bladerunner/police_maze.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_POLICE_MAZE_H
+#define BLADERUNNER_POLICE_MAZE_H
+
+namespace BladeRunner {
+
+class BladeRunnerEngine;
+
+class PoliceMaze {
+	BladeRunnerEngine *_vm;
+
+public:
+	PoliceMaze(BladeRunnerEngine *vm);
+	~PoliceMaze();
+
+	void tick();
+};
+
+} // End of namespace BladeRunner
+
+#endif
-- 
cgit v1.2.3