aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engines/supernova2/ms2_def.h2
-rw-r--r--engines/supernova2/rooms.cpp2
-rw-r--r--engines/supernova2/supernova2.cpp24
3 files changed, 27 insertions, 1 deletions
diff --git a/engines/supernova2/ms2_def.h b/engines/supernova2/ms2_def.h
index 987fc5f7c7..26a847dce7 100644
--- a/engines/supernova2/ms2_def.h
+++ b/engines/supernova2/ms2_def.h
@@ -182,7 +182,7 @@ kString260, kString261, kString262, kString263, kString264,
kString265, kString266, kString267, kString268, kString269,
kString270, kString271, kString272, kString273, kString274,
kString275, kString276, kString277, kString278, kString279,
-kString280, kString281, kString282, kString283, kString284,
+kStringSpaceship, kStringSpaceshipDescription, kStringVehicles, kStringVehiclesDescription, kString284,
kString285, kString286, kString287, kString288, kString289,
kString290, kString291, kString292, kString293, kString294,
kString295, kString296, kString297, kString298, kString299,
diff --git a/engines/supernova2/rooms.cpp b/engines/supernova2/rooms.cpp
index 107eeb4b51..83268aa1bf 100644
--- a/engines/supernova2/rooms.cpp
+++ b/engines/supernova2/rooms.cpp
@@ -490,6 +490,8 @@ Airport::Airport(Supernova2Engine *vm, GameManager *gm) {
_id = AIRPORT;
_shown[0] = kShownTrue;
+ _objectState[0] = Object(_id, kStringSpaceship, kStringSpaceshipDescription, NULLOBJECT, NULLTYPE, 0, 0, 0, NULLROOM, 0);
+ _objectState[1] = Object(_id, kStringVehicles, kStringVehiclesDescription, NULLOBJECT, EXIT, 1, 1, 0, TAXISTAND, 8);
}
void Airport::onEntrance() {
diff --git a/engines/supernova2/supernova2.cpp b/engines/supernova2/supernova2.cpp
index d617ced94e..10c87ecc9e 100644
--- a/engines/supernova2/supernova2.cpp
+++ b/engines/supernova2/supernova2.cpp
@@ -49,6 +49,30 @@
namespace Supernova2 {
+ObjectType operator|(ObjectType a, ObjectType b) {
+ return static_cast<ObjectType>(+a | +b);
+}
+
+ObjectType operator&(ObjectType a, ObjectType b) {
+ return static_cast<ObjectType>(+a & +b);
+}
+
+ObjectType operator^(ObjectType a, ObjectType b) {
+ return static_cast<ObjectType>(+a ^ +b);
+}
+
+ObjectType &operator|=(ObjectType &a, ObjectType b) {
+ return a = a | b;
+}
+
+ObjectType &operator&=(ObjectType &a, ObjectType b) {
+ return a = a & b;
+}
+
+ObjectType &operator^=(ObjectType &a, ObjectType b) {
+ return a = a ^ b;
+}
+
Supernova2Engine::Supernova2Engine(OSystem *syst)
: Engine(syst)
, _console(nullptr)