diff options
-rw-r--r-- | engines/supernova2/ms2_def.h | 2 | ||||
-rw-r--r-- | engines/supernova2/rooms.cpp | 2 | ||||
-rw-r--r-- | engines/supernova2/supernova2.cpp | 24 |
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) |