diff options
Diffstat (limited to 'engines/supernova/supernova1/rooms.h')
-rw-r--r-- | engines/supernova/supernova1/rooms.h | 154 |
1 files changed, 136 insertions, 18 deletions
diff --git a/engines/supernova/supernova1/rooms.h b/engines/supernova/supernova1/rooms.h index c49e8356c9..0b0dbc432b 100644 --- a/engines/supernova/supernova1/rooms.h +++ b/engines/supernova/supernova1/rooms.h @@ -26,6 +26,7 @@ #include "common/str.h" #include "supernova/msn_def.h" +#include "supernova/supernova1/stringid.h" #include "supernova/room.h" namespace Common { @@ -45,11 +46,12 @@ public: virtual void onEntrance(); private: + GameManager1 *_gm; bool animate(int section1, int section2, int duration); bool animate(int section1, int section2, int duration, MessagePosition position, - StringId text); + int text); bool animate(int section1, int section2, int section3, int section4, int duration, - MessagePosition position, StringId text); + MessagePosition position, int text); void titleScreen(); void titleFadeIn(); @@ -66,6 +68,9 @@ public: ShipCorridor(SupernovaEngine *vm, GameManager1 *gm); virtual bool interact(Action verb, Object &obj1, Object &obj2); + +private: + GameManager1 *_gm; }; class ShipHall: public Room { @@ -73,6 +78,9 @@ public: ShipHall(SupernovaEngine *vm, GameManager1 *gm); virtual bool interact(Action verb, Object &obj1, Object &obj2); + +private: + GameManager1 *_gm; }; class ShipSleepCabin: public Room { @@ -84,6 +92,7 @@ public: virtual void onEntrance(); private: + GameManager1 *_gm; byte _color; }; @@ -96,12 +105,16 @@ public: virtual void onEntrance(); private: + GameManager1 *_gm; byte _color; }; class ShipCabinL1: public Room { public: ShipCabinL1(SupernovaEngine *vm, GameManager1 *gm); + +private: + GameManager1 *_gm; }; class ShipCabinL2 : public Room { @@ -109,6 +122,9 @@ public: ShipCabinL2(SupernovaEngine *vm, GameManager1 *gm); virtual bool interact(Action verb, Object &obj1, Object &obj2); + +private: + GameManager1 *_gm; }; class ShipCabinL3 : public Room { @@ -116,16 +132,25 @@ public: ShipCabinL3(SupernovaEngine *vm, GameManager1 *gm); virtual bool interact(Action verb, Object &obj1, Object &obj2); + +private: + GameManager1 *_gm; }; class ShipCabinR1 : public Room { public: ShipCabinR1(SupernovaEngine *vm, GameManager1 *gm); + +private: + GameManager1 *_gm; }; class ShipCabinR2 : public Room { public: ShipCabinR2(SupernovaEngine *vm, GameManager1 *gm); + +private: + GameManager1 *_gm; }; class ShipCabinR3 : public Room { @@ -134,11 +159,17 @@ public: virtual bool interact(Action verb, Object &obj1, Object &obj2); virtual void onEntrance(); + +private: + GameManager1 *_gm; }; class ShipCabinBathroom : public Room { public: ShipCabinBathroom(SupernovaEngine *vm, GameManager1 *gm); + +private: + GameManager1 *_gm; }; class ShipAirlock : public Room { @@ -147,6 +178,9 @@ public: virtual bool interact(Action verb, Object &obj1, Object &obj2); virtual void onEntrance(); + +private: + GameManager1 *_gm; }; class ShipHold : public Room { @@ -155,6 +189,9 @@ public: virtual bool interact(Action verb, Object &obj1, Object &obj2); virtual void onEntrance(); + +private: + GameManager1 *_gm; }; class ShipLandingModule : public Room { @@ -162,6 +199,9 @@ public: ShipLandingModule(SupernovaEngine *vm, GameManager1 *gm); virtual bool interact(Action verb, Object &obj1, Object &obj2); + +private: + GameManager1 *_gm; }; class ShipGenerator : public Room { @@ -169,11 +209,17 @@ public: ShipGenerator(SupernovaEngine *vm, GameManager1 *gm); virtual bool interact(Action verb, Object &obj1, Object &obj2); + +private: + GameManager1 *_gm; }; class ShipOuterSpace : public Room { public: ShipOuterSpace(SupernovaEngine *vm, GameManager1 *gm); + +private: + GameManager1 *_gm; }; @@ -184,11 +230,17 @@ public: virtual void onEntrance(); virtual bool interact(Action verb, Object &obj1, Object &obj2); + +private: + GameManager1 *_gm; }; class ArsanoCave : public Room { public: ArsanoCave(SupernovaEngine *vm, GameManager1 *gm); + +private: + GameManager1 *_gm; }; class ArsanoMeetup : public Room { @@ -202,6 +254,7 @@ public: private: byte _sign; byte _beacon; + GameManager1 *_gm; }; class ArsanoEntrance : public Room { @@ -212,10 +265,11 @@ public: virtual void animation(); private: - StringId _dialog1[5]; - StringId _dialog2[5]; - StringId _dialog3[5]; + int _dialog1[5]; + int _dialog2[5]; + int _dialog3[5]; byte _eyewitness; + GameManager1 *_gm; }; class ArsanoRemaining : public Room { @@ -227,6 +281,7 @@ public: private: bool _chewing; int _i; + GameManager1 *_gm; }; class ArsanoRoger : public Room { @@ -238,9 +293,10 @@ public: virtual bool interact(Action verb, Object &obj1, Object &obj2); private: - StringId _dialog1[4]; + int _dialog1[4]; byte _eyewitness; byte _hands; + GameManager1 *_gm; }; class ArsanoGlider : public Room { @@ -252,6 +308,7 @@ public: private: byte _sinus; + GameManager1 *_gm; }; class ArsanoMeetup2 : public Room { @@ -265,10 +322,11 @@ public: private: // TODO: change to 6, fix initialization - StringId _dialog1[2]; - StringId _dialog2[2]; - StringId _dialog3[4]; - StringId _dialog4[3]; + int _dialog1[2]; + int _dialog2[2]; + int _dialog3[4]; + int _dialog4[3]; + GameManager1 *_gm; // FIXME: Remove following unused bool variables? //bool _found; @@ -282,11 +340,12 @@ public: virtual bool interact(Action verb, Object &obj1, Object &obj2); private: - StringId _dialog2[4]; - StringId _dialog3[2]; + int _dialog2[4]; + int _dialog3[2]; // TODO: Hack, to be move away and renamed when the other uses are found - StringId _dialogsX[6]; + int _dialogsX[6]; + GameManager1 *_gm; }; @@ -298,6 +357,9 @@ public: virtual bool interact(Action verb, Object &obj1, Object &obj2); virtual void animation(); virtual void onEntrance(); + +private: + GameManager1 *_gm; }; class AxacussCorridor1 : public Room { @@ -305,6 +367,9 @@ public: AxacussCorridor1(SupernovaEngine *vm, GameManager1 *gm); virtual void onEntrance(); + +private: + GameManager1 *_gm; }; class AxacussCorridor2 : public Room { @@ -312,6 +377,9 @@ public: AxacussCorridor2(SupernovaEngine *vm, GameManager1 *gm); virtual void onEntrance(); + +private: + GameManager1 *_gm; }; class AxacussCorridor3 : public Room { @@ -319,6 +387,9 @@ public: AxacussCorridor3(SupernovaEngine *vm, GameManager1 *gm); virtual void onEntrance(); + +private: + GameManager1 *_gm; }; class AxacussCorridor4 : public Room { @@ -328,6 +399,9 @@ public: virtual void onEntrance(); virtual void animation(); virtual bool interact(Action verb, Object &obj1, Object &obj2); + +private: + GameManager1 *_gm; }; class AxacussCorridor5 : public Room { @@ -342,11 +416,13 @@ private: bool handleMoneyDialog(); // TODO: Change to 6, or change struct, and fix initialization - StringId _dialog1[2]; - StringId _dialog2[2]; - StringId _dialog3[4]; + int _dialog1[2]; + int _dialog2[2]; + int _dialog3[4]; byte _rows[6]; + + GameManager1 *_gm; }; class AxacussCorridor6 : public Room { @@ -355,6 +431,9 @@ public: virtual void onEntrance(); virtual bool interact(Action verb, Object &obj1, Object &obj2); + +private: + GameManager1 *_gm; }; class AxacussCorridor7 : public Room { @@ -362,6 +441,9 @@ public: AxacussCorridor7(SupernovaEngine *vm, GameManager1 *gm); virtual void onEntrance(); + +private: + GameManager1 *_gm; }; class AxacussCorridor8 : public Room { @@ -370,6 +452,9 @@ public: virtual void onEntrance(); virtual bool interact(Action verb, Object &obj1, Object &obj2); + +private: + GameManager1 *_gm; }; class AxacussCorridor9 : public Room { @@ -378,6 +463,9 @@ public: virtual void onEntrance(); virtual bool interact(Action verb, Object &obj1, Object &obj2); + +private: + GameManager1 *_gm; }; class AxacussBcorridor : public Room { @@ -386,6 +474,9 @@ public: virtual void onEntrance(); virtual bool interact(Action verb, Object &obj1, Object &obj2); + +private: + GameManager1 *_gm; }; class AxacussIntersection : public Room { @@ -395,7 +486,8 @@ public: virtual bool interact(Action verb, Object &obj1, Object &obj2); private: - StringId _dialogsX[6]; + int _dialogsX[6]; + GameManager1 *_gm; }; class AxacussExit : public Room { @@ -405,7 +497,8 @@ public: virtual bool interact(Action verb, Object &obj1, Object &obj2); private: - StringId _dialogsX[6]; + int _dialogsX[6]; + GameManager1 *_gm; }; class AxacussOffice1 : public Room { @@ -413,6 +506,9 @@ public: AxacussOffice1(SupernovaEngine *vm, GameManager1 *gm); virtual bool interact(Action verb, Object &obj1, Object &obj2); + +private: + GameManager1 *_gm; }; class AxacussOffice2 : public Room { @@ -420,6 +516,9 @@ public: AxacussOffice2(SupernovaEngine *vm, GameManager1 *gm); virtual bool interact(Action verb, Object &obj1, Object &obj2); + +private: + GameManager1 *_gm; }; class AxacussOffice3 : public Room { @@ -427,6 +526,9 @@ public: AxacussOffice3(SupernovaEngine *vm, GameManager1 *gm); virtual bool interact(Action verb, Object &obj1, Object &obj2); + +private: + GameManager1 *_gm; }; class AxacussOffice4 : public Room { @@ -434,6 +536,9 @@ public: AxacussOffice4(SupernovaEngine *vm, GameManager1 *gm); virtual bool interact(Action verb, Object &obj1, Object &obj2); + +private: + GameManager1 *_gm; }; class AxacussOffice5 : public Room { @@ -442,6 +547,9 @@ public: virtual void onEntrance(); virtual bool interact(Action verb, Object &obj1, Object &obj2); + +private: + GameManager1 *_gm; }; class AxacussElevator : public Room { @@ -449,6 +557,9 @@ public: AxacussElevator(SupernovaEngine *vm, GameManager1 *gm); virtual bool interact(Action verb, Object &obj1, Object &obj2); + +private: + GameManager1 *_gm; }; class AxacussStation : public Room { @@ -456,6 +567,9 @@ public: AxacussStation(SupernovaEngine *vm, GameManager1 *gm); virtual bool interact(Action verb, Object &obj1, Object &obj2); + +private: + GameManager1 *_gm; }; class AxacussSign : public Room { @@ -463,6 +577,9 @@ public: AxacussSign(SupernovaEngine *vm, GameManager1 *gm); virtual bool interact(Action verb, Object &obj1, Object &obj2); + +private: + GameManager1 *_gm; }; class Outro : public Room { @@ -480,6 +597,7 @@ private: MessagePosition position, const char *text); Common::String _outroText; + GameManager1 *_gm; }; } |