aboutsummaryrefslogtreecommitdiff
path: root/engines/bladerunner/ui/spinner.cpp
diff options
context:
space:
mode:
authorPeter Kohaut2018-01-28 20:59:12 +0100
committerPeter Kohaut2018-01-29 18:32:09 +0100
commit0c930b06ed7030686c7774f18126b3d37a678d60 (patch)
tree04322a848f17c3d8fc4ced7e89e6ce6dbf73dcb3 /engines/bladerunner/ui/spinner.cpp
parentfa28602abffd47988dd7d797e4c48d9e3faf47ae (diff)
downloadscummvm-rg350-0c930b06ed7030686c7774f18126b3d37a678d60.tar.gz
scummvm-rg350-0c930b06ed7030686c7774f18126b3d37a678d60.tar.bz2
scummvm-rg350-0c930b06ed7030686c7774f18126b3d37a678d60.zip
BLADERUNNER: Added KIA interfaces
Crimes interface done Suspects interface done Added some game constants Fixed font rendering for other languages Fixed anoying clang warning
Diffstat (limited to 'engines/bladerunner/ui/spinner.cpp')
-rw-r--r--engines/bladerunner/ui/spinner.cpp85
1 files changed, 47 insertions, 38 deletions
diff --git a/engines/bladerunner/ui/spinner.cpp b/engines/bladerunner/ui/spinner.cpp
index 9018de15e6..cc913e3a9c 100644
--- a/engines/bladerunner/ui/spinner.cpp
+++ b/engines/bladerunner/ui/spinner.cpp
@@ -61,41 +61,6 @@ bool Spinner::querySelectableDestinationFlag(int destination) const {
return _isDestinationSelectable[destination];
}
-const Spinner::Destination Spinner::kSpinnerDestinationsNear[] = {
- { 0, Common::Rect(210, 263, 263, 332) },
- { 1, Common::Rect(307, 330, 361, 381) },
- { 2, Common::Rect(338, 137, 362, 169) },
- { 3, Common::Rect(248, 135, 289, 168) },
- { 4, Common::Rect(352, 222, 379, 238) },
- { -1, Common::Rect(-1,-1,-1,-1) }
-};
-
-const Spinner::Destination Spinner::kSpinnerDestinationsMedium[] = {
- { 0, Common::Rect(252, 242, 279, 283) },
- { 1, Common::Rect(301, 273, 328, 304) },
- { 2, Common::Rect(319, 182, 336, 200) },
- { 3, Common::Rect(269, 181, 293, 200) },
- { 4, Common::Rect(325, 227, 345, 240) },
- { 5, Common::Rect(259, 74, 380, 119) },
- { 6, Common::Rect(203, 124, 224, 136) },
- { 7, Common::Rect(200, 147, 222, 170) },
- { -1, Common::Rect(-1,-1,-1,-1) }
-};
-
-const Spinner::Destination Spinner::kSpinnerDestinationsFar[] = {
- { 0, Common::Rect(220, 227, 246, 262) },
- { 1, Common::Rect(260, 252, 286, 279) },
- { 2, Common::Rect(286, 178, 302, 196) },
- { 3, Common::Rect(244, 178, 263, 195) },
- { 4, Common::Rect(288, 216, 306, 228) },
- { 5, Common::Rect(249, 77, 353, 124) },
- { 6, Common::Rect(190, 127, 208, 138) },
- { 7, Common::Rect(185, 149, 206, 170) },
- { 8, Common::Rect(398, 249, 419, 268) },
- { 9, Common::Rect(390, 218, 419, 236) },
- { -1, Common::Rect(-1, -1, -1, -1) }
-};
-
int Spinner::chooseDestination(int loopId, bool immediately) {
_selectedDestination = 0;
if (!_vm->openArchive("MODE.MIX")) {
@@ -137,17 +102,17 @@ int Spinner::chooseDestination(int loopId, bool immediately) {
mapmask = 1;
if (mapmask & 4) {
- _destinations = kSpinnerDestinationsFar;
+ _destinations = getDestinationsFar();
firstShapeId = 26;
shapeCount = 20;
spinnerLoopId = 4;
} else if (mapmask & 2) {
- _destinations = kSpinnerDestinationsMedium;
+ _destinations = getDestinationsMedium();
firstShapeId = 10;
shapeCount = 16;
spinnerLoopId = 2;
} else if (mapmask & 1) {
- _destinations = kSpinnerDestinationsNear;
+ _destinations = getDestinationsNear();
firstShapeId = 0;
shapeCount = 10;
spinnerLoopId = 0;
@@ -300,4 +265,48 @@ void Spinner::resume() {
_vqaPlayer->setLoop(1, -1, kLoopSetModeJustStart, nullptr, nullptr);
}
+const Spinner::Destination *Spinner::getDestinationsFar() {
+ static const Destination destinations[] = {
+ { 0, Common::Rect(220, 227, 246, 262) },
+ { 1, Common::Rect(260, 252, 286, 279) },
+ { 2, Common::Rect(286, 178, 302, 196) },
+ { 3, Common::Rect(244, 178, 263, 195) },
+ { 4, Common::Rect(288, 216, 306, 228) },
+ { 5, Common::Rect(249, 77, 353, 124) },
+ { 6, Common::Rect(190, 127, 208, 138) },
+ { 7, Common::Rect(185, 149, 206, 170) },
+ { 8, Common::Rect(398, 249, 419, 268) },
+ { 9, Common::Rect(390, 218, 419, 236) },
+ { -1, Common::Rect(-1, -1, -1, -1) }
+ };
+ return destinations;
+}
+
+const Spinner::Destination *Spinner::getDestinationsMedium() {
+ static const Destination destinations[] = {
+ { 0, Common::Rect(252, 242, 279, 283) },
+ { 1, Common::Rect(301, 273, 328, 304) },
+ { 2, Common::Rect(319, 182, 336, 200) },
+ { 3, Common::Rect(269, 181, 293, 200) },
+ { 4, Common::Rect(325, 227, 345, 240) },
+ { 5, Common::Rect(259, 74, 380, 119) },
+ { 6, Common::Rect(203, 124, 224, 136) },
+ { 7, Common::Rect(200, 147, 222, 170) },
+ { -1, Common::Rect(-1,-1,-1,-1) }
+ };
+ return destinations;
+}
+
+const Spinner::Destination *Spinner::getDestinationsNear() {
+ static const Destination destinations[] = {
+ { 0, Common::Rect(210, 263, 263, 332) },
+ { 1, Common::Rect(307, 330, 361, 381) },
+ { 2, Common::Rect(338, 137, 362, 169) },
+ { 3, Common::Rect(248, 135, 289, 168) },
+ { 4, Common::Rect(352, 222, 379, 238) },
+ { -1, Common::Rect(-1,-1,-1,-1) }
+ };
+ return destinations;
+}
+
} // End of namespace BladeRunner