[Scummvm-git-logs] scummvm master -> 1b53cfff49b44004b5afb9944dbf3b2e9137b653

sev- sev at scummvm.org
Sun Mar 25 16:53:39 CEST 2018


This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .

Summary:
1b53cfff49 BLADERUNNER: Added skeleton for Scores class


Commit: 1b53cfff49b44004b5afb9944dbf3b2e9137b653
    https://github.com/scummvm/scummvm/commit/1b53cfff49b44004b5afb9944dbf3b2e9137b653
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2018-03-25T16:52:48+02:00

Commit Message:
BLADERUNNER: Added skeleton for Scores class

Changed paths:
  A engines/bladerunner/ui/scores.cpp
  A engines/bladerunner/ui/scores.h
    engines/bladerunner/bladerunner.cpp
    engines/bladerunner/bladerunner.h
    engines/bladerunner/module.mk


diff --git a/engines/bladerunner/bladerunner.cpp b/engines/bladerunner/bladerunner.cpp
index 871931a..5121fa8 100644
--- a/engines/bladerunner/bladerunner.cpp
+++ b/engines/bladerunner/bladerunner.cpp
@@ -66,6 +66,7 @@
 #include "bladerunner/ui/elevator.h"
 #include "bladerunner/ui/esper.h"
 #include "bladerunner/ui/kia.h"
+#include "bladerunner/ui/scores.h"
 #include "bladerunner/ui/spinner.h"
 #include "bladerunner/ui/vk.h"
 #include "bladerunner/vqa_decoder.h"
@@ -396,7 +397,7 @@ bool BladeRunnerEngine::startup(bool hasSavegames) {
 
 	_elevator = new Elevator(this);
 
-	// TODO: Scores
+	_scores = new Scores(this);
 
 	_mainFont = new Font(this);
 	_mainFont->open("KIA6PT.FON", 640, 480, -1, 0, 0x252D);
@@ -596,7 +597,8 @@ void BladeRunnerEngine::shutdown() {
 
 	// TODO: Delete Flee waypoints
 
-	// TODO: Delete Scores
+	delete _scores;
+	_scores = nullptr;
 
 	delete _elevator;
 	_elevator = nullptr;
@@ -753,7 +755,11 @@ void BladeRunnerEngine::gameTick() {
 			return;
 		}
 
-		// TODO: Scores
+		if (_scores->isOpen()) {
+			_scores->tick();
+			_ambientSounds->tick();
+			return;
+		}
 
 		_actorDialogueQueue->tick();
 		if (_scene->didPlayerWalkIn()) {
@@ -947,7 +953,10 @@ void BladeRunnerEngine::handleKeyUp(Common::Event &event) {
 		return;
 	}
 
-	//TODO: scores
+	if (_scores->isOpen()) {
+		return;
+	}
+
 	switch (event.kbd.keycode) {
 		case Common::KEYCODE_TAB:
 			_kia->openLastOpened();
@@ -995,7 +1004,9 @@ void BladeRunnerEngine::handleKeyDown(Common::Event &event) {
 		return;
 	}
 
-	//TODO: scores
+	if (_scores->isOpen()) {
+		return;
+	}
 
 	switch (event.kbd.keycode) {
 		case Common::KEYCODE_F1:
@@ -1616,7 +1627,7 @@ bool BladeRunnerEngine::saveGame(const Common::String &filename, byte *thumbnail
 	_ambientSounds->save(s);
 	_overlays->save(s);
 	_spinner->save(s);
-	s.padBytes(0x28); // TODO: _scores->save(s);
+	_scores->save(s);
 	_dialogueMenu->save(s);
 	_obstacles->save(s);
 	_actorDialogueQueue->save(s);
@@ -1694,7 +1705,7 @@ void BladeRunnerEngine::loadGame(const Common::String &filename, byte *thumbnail
 	_ambientSounds->load(s);
 	_overlays->load(s);
 	_spinner->load(s);
-	s.skip(0x28); // TODO: _scores->load(s);
+	_scores->load(s);
 	_dialogueMenu->load(s);
 	_obstacles->load(s);
 	_actorDialogueQueue->load(s);
diff --git a/engines/bladerunner/bladerunner.h b/engines/bladerunner/bladerunner.h
index 32747cc..4dad66e 100644
--- a/engines/bladerunner/bladerunner.h
+++ b/engines/bladerunner/bladerunner.h
@@ -79,6 +79,7 @@ class PoliceMaze;
 class Scene;
 class SceneObjects;
 class SceneScript;
+class Scores;
 class Settings;
 class Shape;
 class SliceAnimations;
@@ -137,6 +138,7 @@ public:
 	Scene              *_scene;
 	SceneObjects       *_sceneObjects;
 	SceneScript        *_sceneScript;
+	Scores             *_scores;
 	Settings           *_settings;
 	SliceAnimations    *_sliceAnimations;
 	SliceRenderer      *_sliceRenderer;
diff --git a/engines/bladerunner/module.mk b/engines/bladerunner/module.mk
index 5fb39b8..672e652 100644
--- a/engines/bladerunner/module.mk
+++ b/engines/bladerunner/module.mk
@@ -260,6 +260,7 @@ MODULE_OBJS = \
 	ui/kia_section_settings.o \
 	ui/kia_section_suspects.o \
 	ui/kia_shapes.o \
+	ui/scores.o \
 	ui/spinner.o \
 	ui/ui_check_box.o \
 	ui/ui_container.o \
diff --git a/engines/bladerunner/ui/scores.cpp b/engines/bladerunner/ui/scores.cpp
new file mode 100644
index 0000000..5f15809
--- /dev/null
+++ b/engines/bladerunner/ui/scores.cpp
@@ -0,0 +1,78 @@
+/* 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/scores.h"
+
+#include "bladerunner/bladerunner.h"
+#include "bladerunner/savefile.h"
+#include "bladerunner/vqa_player.h"
+
+namespace BladeRunner {
+
+Scores::Scores(BladeRunnerEngine *vm) {
+	_vm = vm;
+	reset();
+}
+
+Scores::~Scores() {
+}
+
+bool Scores::isOpen() const {
+	return _isOpen;
+}
+
+void Scores::tick() {
+}
+
+void Scores::reset() {
+	_isOpen = false;
+	_isLoaded = false;
+	_vqaPlayer = nullptr;
+
+	for (int i = 0; i < 7; i++) {
+		_scores[i] = -80;
+		_scorers[i] = 0;
+	}
+
+	_lastScoreId = 0;
+	_lastScoreValue = 0;
+}
+
+void Scores::save(SaveFileWriteStream &f) {
+	for (int i = 0; i < 7; i++) {
+		f.writeInt(_scores[i]);
+	}
+
+	f.writeInt(_lastScoreId);
+	f.writeInt(_lastScoreValue);
+}
+
+void Scores::load(SaveFileReadStream &f) {
+	for (int i = 0; i < 7; i++) {
+		_scores[i] = f.readInt();
+	}
+
+	_lastScoreId = f.readInt();
+	_lastScoreValue = f.readInt();
+}
+
+} // End of namespace BladeRunner
diff --git a/engines/bladerunner/ui/scores.h b/engines/bladerunner/ui/scores.h
new file mode 100644
index 0000000..a739614
--- /dev/null
+++ b/engines/bladerunner/ui/scores.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 BLADERUNNER_SCORES_H
+#define BLADERUNNER_SCORES_H
+
+#include "common/array.h"
+
+namespace BladeRunner {
+
+class BladeRunnerEngine;
+class Shape;
+class SaveFileReadStream;
+class SaveFileWriteStream;
+class VQAPlayer;
+class UIImagePicker;
+
+class Scores {
+	BladeRunnerEngine *_vm;
+	bool               _isOpen;
+	bool               _isLoaded;
+	VQAPlayer         *_vqaPlayer;
+	int                _scores[7];
+	int                _scorers[7];
+
+	int                _lastScoreId;
+	int                _lastScoreValue;
+
+public:
+	Scores(BladeRunnerEngine *vm);
+	~Scores();
+
+	bool isOpen() const;
+	void tick();
+	void reset();
+	void save(SaveFileWriteStream &f);
+	void load(SaveFileReadStream &f);
+};
+
+} // End of namespace BladeRunner
+
+#endif





More information about the Scummvm-git-logs mailing list