aboutsummaryrefslogtreecommitdiff
path: root/engines/bladerunner/ui
diff options
context:
space:
mode:
Diffstat (limited to 'engines/bladerunner/ui')
-rw-r--r--engines/bladerunner/ui/spinner.cpp9
-rw-r--r--engines/bladerunner/ui/spinner.h5
2 files changed, 13 insertions, 1 deletions
diff --git a/engines/bladerunner/ui/spinner.cpp b/engines/bladerunner/ui/spinner.cpp
index 0740715fc4..1f8f197926 100644
--- a/engines/bladerunner/ui/spinner.cpp
+++ b/engines/bladerunner/ui/spinner.cpp
@@ -25,6 +25,7 @@
#include "bladerunner/bladerunner.h"
#include "bladerunner/game_constants.h"
#include "bladerunner/mouse.h"
+#include "bladerunner/savefile.h"
#include "bladerunner/scene.h"
#include "bladerunner/shape.h"
#include "bladerunner/text_resource.h"
@@ -262,6 +263,14 @@ void Spinner::resume() {
_vqaPlayer->setLoop(1, -1, kLoopSetModeJustStart, nullptr, nullptr);
}
+void Spinner::save(SaveFile &f) {
+ assert(!_isOpen);
+
+ for (int i = 0; i != kSpinnerDestinations; ++i) {
+ f.write(_isDestinationSelectable[i]);
+ }
+}
+
const Spinner::Destination *Spinner::getDestinationsFar() {
static const Destination destinations[] = {
{ 0, Common::Rect(220, 227, 246, 262) },
diff --git a/engines/bladerunner/ui/spinner.h b/engines/bladerunner/ui/spinner.h
index b1785a57eb..24f66ed4db 100644
--- a/engines/bladerunner/ui/spinner.h
+++ b/engines/bladerunner/ui/spinner.h
@@ -29,9 +29,10 @@
namespace BladeRunner {
class BladeRunnerEngine;
+class SaveFile;
class Shape;
-class VQAPlayer;
class UIImagePicker;
+class VQAPlayer;
class Spinner {
static const int kSpinnerDestinations = 10;
@@ -70,6 +71,8 @@ public:
void reset();
void resume();
+ void save(SaveFile &f);
+
private:
static void mouseUpCallback(int, void *);
static const Destination *getDestinationsFar();