From 43131d8e02bbe068cf14995b99660f2da37ec48e Mon Sep 17 00:00:00 2001 From: Jaromir Wysoglad Date: Tue, 25 Jun 2019 15:39:10 +0200 Subject: SUPERNOVA: Add intermediate room classes --- engines/supernova/supernova1/rooms.h | 149 +++++++------------ engines/supernova/supernova2/rooms.h | 280 ++++++++++------------------------- 2 files changed, 128 insertions(+), 301 deletions(-) diff --git a/engines/supernova/supernova1/rooms.h b/engines/supernova/supernova1/rooms.h index d45936b14b..166d796daa 100644 --- a/engines/supernova/supernova1/rooms.h +++ b/engines/supernova/supernova1/rooms.h @@ -38,14 +38,18 @@ namespace Supernova { class GameManager1; class SupernovaEngine; +class Room1: public Room { + protected: + GameManager1 *_gm; +}; + // Room 0 -class Intro : public Room { +class Intro : public Room1 { public: Intro(SupernovaEngine *vm, GameManager1 *gm); virtual void onEntrance(); private: - GameManager1 *_gm; bool animate(int section1, int section2, int duration); bool animate(int section1, int section2, int duration, MessagePosition position, int text); @@ -62,27 +66,25 @@ private: }; // Spaceship -class ShipCorridor : public Room { +class ShipCorridor : public Room1 { public: ShipCorridor(SupernovaEngine *vm, GameManager1 *gm); virtual bool interact(Action verb, Object &obj1, Object &obj2); private: - GameManager1 *_gm; }; -class ShipHall: public Room { +class ShipHall: public Room1 { public: ShipHall(SupernovaEngine *vm, GameManager1 *gm); virtual bool interact(Action verb, Object &obj1, Object &obj2); private: - GameManager1 *_gm; }; -class ShipSleepCabin: public Room { +class ShipSleepCabin: public Room1 { public: ShipSleepCabin(SupernovaEngine *vm, GameManager1 *gm); @@ -91,11 +93,10 @@ public: virtual void onEntrance(); private: - GameManager1 *_gm; byte _color; }; -class ShipCockpit : public Room { +class ShipCockpit : public Room1 { public: ShipCockpit(SupernovaEngine *vm, GameManager1 *gm); @@ -104,55 +105,49 @@ public: virtual void onEntrance(); private: - GameManager1 *_gm; byte _color; }; -class ShipCabinL1: public Room { +class ShipCabinL1: public Room1 { public: ShipCabinL1(SupernovaEngine *vm, GameManager1 *gm); private: - GameManager1 *_gm; }; -class ShipCabinL2 : public Room { +class ShipCabinL2 : public Room1 { public: ShipCabinL2(SupernovaEngine *vm, GameManager1 *gm); virtual bool interact(Action verb, Object &obj1, Object &obj2); private: - GameManager1 *_gm; }; -class ShipCabinL3 : public Room { +class ShipCabinL3 : public Room1 { public: ShipCabinL3(SupernovaEngine *vm, GameManager1 *gm); virtual bool interact(Action verb, Object &obj1, Object &obj2); private: - GameManager1 *_gm; }; -class ShipCabinR1 : public Room { +class ShipCabinR1 : public Room1 { public: ShipCabinR1(SupernovaEngine *vm, GameManager1 *gm); private: - GameManager1 *_gm; }; -class ShipCabinR2 : public Room { +class ShipCabinR2 : public Room1 { public: ShipCabinR2(SupernovaEngine *vm, GameManager1 *gm); private: - GameManager1 *_gm; }; -class ShipCabinR3 : public Room { +class ShipCabinR3 : public Room1 { public: ShipCabinR3(SupernovaEngine *vm, GameManager1 *gm); @@ -160,18 +155,16 @@ public: virtual void onEntrance(); private: - GameManager1 *_gm; }; -class ShipCabinBathroom : public Room { +class ShipCabinBathroom : public Room1 { public: ShipCabinBathroom(SupernovaEngine *vm, GameManager1 *gm); private: - GameManager1 *_gm; }; -class ShipAirlock : public Room { +class ShipAirlock : public Room1 { public: ShipAirlock(SupernovaEngine *vm, GameManager1 *gm); @@ -179,10 +172,9 @@ public: virtual void onEntrance(); private: - GameManager1 *_gm; }; -class ShipHold : public Room { +class ShipHold : public Room1 { public: ShipHold(SupernovaEngine *vm, GameManager1 *gm); @@ -190,40 +182,36 @@ public: virtual void onEntrance(); private: - GameManager1 *_gm; }; -class ShipLandingModule : public Room { +class ShipLandingModule : public Room1 { public: ShipLandingModule(SupernovaEngine *vm, GameManager1 *gm); virtual bool interact(Action verb, Object &obj1, Object &obj2); private: - GameManager1 *_gm; }; -class ShipGenerator : public Room { +class ShipGenerator : public Room1 { public: ShipGenerator(SupernovaEngine *vm, GameManager1 *gm); virtual bool interact(Action verb, Object &obj1, Object &obj2); private: - GameManager1 *_gm; }; -class ShipOuterSpace : public Room { +class ShipOuterSpace : public Room1 { public: ShipOuterSpace(SupernovaEngine *vm, GameManager1 *gm); private: - GameManager1 *_gm; }; // Arsano -class ArsanoRocks : public Room { +class ArsanoRocks : public Room1 { public: ArsanoRocks(SupernovaEngine *vm, GameManager1 *gm); @@ -231,18 +219,16 @@ public: virtual bool interact(Action verb, Object &obj1, Object &obj2); private: - GameManager1 *_gm; }; -class ArsanoCave : public Room { +class ArsanoCave : public Room1 { public: ArsanoCave(SupernovaEngine *vm, GameManager1 *gm); private: - GameManager1 *_gm; }; -class ArsanoMeetup : public Room { +class ArsanoMeetup : public Room1 { public: ArsanoMeetup(SupernovaEngine *vm, GameManager1 *gm); @@ -253,10 +239,9 @@ public: private: byte _sign; byte _beacon; - GameManager1 *_gm; }; -class ArsanoEntrance : public Room { +class ArsanoEntrance : public Room1 { public: ArsanoEntrance(SupernovaEngine *vm, GameManager1 *gm); @@ -268,10 +253,9 @@ private: int _dialog2[5]; int _dialog3[5]; byte _eyewitness; - GameManager1 *_gm; }; -class ArsanoRemaining : public Room { +class ArsanoRemaining : public Room1 { public: ArsanoRemaining(SupernovaEngine *vm, GameManager1 *gm); @@ -280,10 +264,9 @@ public: private: bool _chewing; int _i; - GameManager1 *_gm; }; -class ArsanoRoger : public Room { +class ArsanoRoger : public Room1 { public: ArsanoRoger(SupernovaEngine *vm, GameManager1 *gm); @@ -295,10 +278,9 @@ private: int _dialog1[4]; byte _eyewitness; byte _hands; - GameManager1 *_gm; }; -class ArsanoGlider : public Room { +class ArsanoGlider : public Room1 { public: ArsanoGlider(SupernovaEngine *vm, GameManager1 *gm); @@ -307,10 +289,9 @@ public: private: byte _sinus; - GameManager1 *_gm; }; -class ArsanoMeetup2 : public Room { +class ArsanoMeetup2 : public Room1 { public: ArsanoMeetup2(SupernovaEngine *vm, GameManager1 *gm); @@ -325,14 +306,13 @@ private: int _dialog2[2]; int _dialog3[4]; int _dialog4[3]; - GameManager1 *_gm; // FIXME: Remove following unused bool variables? //bool _found; //bool _flug; }; -class ArsanoMeetup3 : public Room { +class ArsanoMeetup3 : public Room1 { public: ArsanoMeetup3(SupernovaEngine *vm, GameManager1 *gm); @@ -344,12 +324,11 @@ private: // TODO: Hack, to be move away and renamed when the other uses are found int _dialogsX[6]; - GameManager1 *_gm; }; // Axacuss -class AxacussCell : public Room { +class AxacussCell : public Room1 { public: AxacussCell(SupernovaEngine *vm, GameManager1 *gm); @@ -358,40 +337,36 @@ public: virtual void onEntrance(); private: - GameManager1 *_gm; }; -class AxacussCorridor1 : public Room { +class AxacussCorridor1 : public Room1 { public: AxacussCorridor1(SupernovaEngine *vm, GameManager1 *gm); virtual void onEntrance(); private: - GameManager1 *_gm; }; -class AxacussCorridor2 : public Room { +class AxacussCorridor2 : public Room1 { public: AxacussCorridor2(SupernovaEngine *vm, GameManager1 *gm); virtual void onEntrance(); private: - GameManager1 *_gm; }; -class AxacussCorridor3 : public Room { +class AxacussCorridor3 : public Room1 { public: AxacussCorridor3(SupernovaEngine *vm, GameManager1 *gm); virtual void onEntrance(); private: - GameManager1 *_gm; }; -class AxacussCorridor4 : public Room { +class AxacussCorridor4 : public Room1 { public: AxacussCorridor4(SupernovaEngine *vm, GameManager1 *gm); @@ -400,10 +375,9 @@ public: virtual bool interact(Action verb, Object &obj1, Object &obj2); private: - GameManager1 *_gm; }; -class AxacussCorridor5 : public Room { +class AxacussCorridor5 : public Room1 { public: AxacussCorridor5(SupernovaEngine *vm, GameManager1 *gm); @@ -421,10 +395,9 @@ private: byte _rows[6]; - GameManager1 *_gm; }; -class AxacussCorridor6 : public Room { +class AxacussCorridor6 : public Room1 { public: AxacussCorridor6(SupernovaEngine *vm, GameManager1 *gm); @@ -432,20 +405,18 @@ public: virtual bool interact(Action verb, Object &obj1, Object &obj2); private: - GameManager1 *_gm; }; -class AxacussCorridor7 : public Room { +class AxacussCorridor7 : public Room1 { public: AxacussCorridor7(SupernovaEngine *vm, GameManager1 *gm); virtual void onEntrance(); private: - GameManager1 *_gm; }; -class AxacussCorridor8 : public Room { +class AxacussCorridor8 : public Room1 { public: AxacussCorridor8(SupernovaEngine *vm, GameManager1 *gm); @@ -453,10 +424,9 @@ public: virtual bool interact(Action verb, Object &obj1, Object &obj2); private: - GameManager1 *_gm; }; -class AxacussCorridor9 : public Room { +class AxacussCorridor9 : public Room1 { public: AxacussCorridor9(SupernovaEngine *vm, GameManager1 *gm); @@ -464,10 +434,9 @@ public: virtual bool interact(Action verb, Object &obj1, Object &obj2); private: - GameManager1 *_gm; }; -class AxacussBcorridor : public Room { +class AxacussBcorridor : public Room1 { public: AxacussBcorridor(SupernovaEngine *vm, GameManager1 *gm); @@ -475,10 +444,9 @@ public: virtual bool interact(Action verb, Object &obj1, Object &obj2); private: - GameManager1 *_gm; }; -class AxacussIntersection : public Room { +class AxacussIntersection : public Room1 { public: AxacussIntersection(SupernovaEngine *vm, GameManager1 *gm); @@ -486,10 +454,9 @@ public: private: int _dialogsX[6]; - GameManager1 *_gm; }; -class AxacussExit : public Room { +class AxacussExit : public Room1 { public: AxacussExit(SupernovaEngine *vm, GameManager1 *gm); @@ -497,50 +464,45 @@ public: private: int _dialogsX[6]; - GameManager1 *_gm; }; -class AxacussOffice1 : public Room { +class AxacussOffice1 : public Room1 { public: AxacussOffice1(SupernovaEngine *vm, GameManager1 *gm); virtual bool interact(Action verb, Object &obj1, Object &obj2); private: - GameManager1 *_gm; }; -class AxacussOffice2 : public Room { +class AxacussOffice2 : public Room1 { public: AxacussOffice2(SupernovaEngine *vm, GameManager1 *gm); virtual bool interact(Action verb, Object &obj1, Object &obj2); private: - GameManager1 *_gm; }; -class AxacussOffice3 : public Room { +class AxacussOffice3 : public Room1 { public: AxacussOffice3(SupernovaEngine *vm, GameManager1 *gm); virtual bool interact(Action verb, Object &obj1, Object &obj2); private: - GameManager1 *_gm; }; -class AxacussOffice4 : public Room { +class AxacussOffice4 : public Room1 { public: AxacussOffice4(SupernovaEngine *vm, GameManager1 *gm); virtual bool interact(Action verb, Object &obj1, Object &obj2); private: - GameManager1 *_gm; }; -class AxacussOffice5 : public Room { +class AxacussOffice5 : public Room1 { public: AxacussOffice5(SupernovaEngine *vm, GameManager1 *gm); @@ -548,40 +510,36 @@ public: virtual bool interact(Action verb, Object &obj1, Object &obj2); private: - GameManager1 *_gm; }; -class AxacussElevator : public Room { +class AxacussElevator : public Room1 { public: AxacussElevator(SupernovaEngine *vm, GameManager1 *gm); virtual bool interact(Action verb, Object &obj1, Object &obj2); private: - GameManager1 *_gm; }; -class AxacussStation : public Room { +class AxacussStation : public Room1 { public: AxacussStation(SupernovaEngine *vm, GameManager1 *gm); virtual bool interact(Action verb, Object &obj1, Object &obj2); private: - GameManager1 *_gm; }; -class AxacussSign : public Room { +class AxacussSign : public Room1 { public: AxacussSign(SupernovaEngine *vm, GameManager1 *gm); virtual bool interact(Action verb, Object &obj1, Object &obj2); private: - GameManager1 *_gm; }; -class Outro : public Room { +class Outro : public Room1 { public: Outro(SupernovaEngine *vm, GameManager1 *gm); @@ -596,7 +554,6 @@ private: MessagePosition position, const char *text); Common::String _outroText; - GameManager1 *_gm; }; } diff --git a/engines/supernova/supernova2/rooms.h b/engines/supernova/supernova2/rooms.h index 7f9f2720f0..6d43b4cf1c 100644 --- a/engines/supernova/supernova2/rooms.h +++ b/engines/supernova/supernova2/rooms.h @@ -46,14 +46,17 @@ struct RoomEntry { RoomId _exitRoom; }; +class Room2 : public Room { + protected: + GameManager2 *_gm; +}; -class Intro2 : public Room { +class Intro2 : public Room2 { public: Intro2(SupernovaEngine *vm, GameManager2 *gm); virtual void onEntrance(); private: - GameManager2 *_gm; void titleScreen(); bool tvSay(int mod1, int mod2, int rest, MessagePosition pos, int id); bool tvRest(int mod1, int mod2, int rest); @@ -65,48 +68,40 @@ private: Common::String _introText; }; -class Airport : public Room { +class Airport : public Room2 { public: Airport(SupernovaEngine *vm, GameManager2 *gm); virtual void onEntrance(); -private: - GameManager2 *_gm; }; -class TaxiStand : public Room { +class TaxiStand : public Room2 { public: TaxiStand(SupernovaEngine *vm, GameManager2 *gm); virtual void onEntrance(); virtual void animation(); virtual bool interact(Action verb, Object &obj1, Object &obj2); -private: - GameManager2 *_gm; }; -class Street : public Room { +class Street : public Room2 { public: Street(SupernovaEngine *vm, GameManager2 *gm); virtual void onEntrance(); virtual void animation(); virtual bool interact(Action verb, Object &obj1, Object &obj2); -private: - GameManager2 *_gm; }; -class Games : public Room { +class Games : public Room2 { public: Games(SupernovaEngine *vm, GameManager2 *gm); virtual void onEntrance(); virtual bool interact(Action verb, Object &obj1, Object &obj2); -private: - GameManager2 *_gm; }; -class Cabin2 : public Room { +class Cabin2 : public Room2 { public: Cabin2(SupernovaEngine *vm, GameManager2 *gm); virtual void onEntrance(); @@ -114,22 +109,19 @@ public: virtual bool interact(Action verb, Object &obj1, Object &obj2); private: - GameManager2 *_gm; bool _paid; }; -class Kiosk : public Room { +class Kiosk : public Room2 { public: Kiosk(SupernovaEngine *vm, GameManager2 *gm); virtual void onEntrance(); virtual void animation(); virtual bool interact(Action verb, Object &obj1, Object &obj2); -private: - GameManager2 *_gm; }; -class CulturePalace : public Room { +class CulturePalace : public Room2 { public: CulturePalace(SupernovaEngine *vm, GameManager2 *gm); virtual void onEntrance(); @@ -137,11 +129,10 @@ public: virtual bool interact(Action verb, Object &obj1, Object &obj2); private: - GameManager2 *_gm; void notEnoughMoney(); }; -class Checkout : public Room { +class Checkout : public Room2 { public: Checkout(SupernovaEngine *vm, GameManager2 *gm); virtual void onEntrance(); @@ -149,34 +140,29 @@ public: virtual bool interact(Action verb, Object &obj1, Object &obj2); private: - GameManager2 *_gm; void appearance(); void shouting(); }; -class City1 : public Room { +class City1 : public Room2 { public: City1(SupernovaEngine *vm, GameManager2 *gm); virtual void onEntrance(); virtual void animation(); virtual bool interact(Action verb, Object &obj1, Object &obj2); -private: - GameManager2 *_gm; }; -class City2 : public Room { +class City2 : public Room2 { public: City2(SupernovaEngine *vm, GameManager2 *gm); virtual void onEntrance(); virtual void animation(); virtual bool interact(Action verb, Object &obj1, Object &obj2); -private: - GameManager2 *_gm; }; -class Elevator2 : public Room { +class Elevator2 : public Room2 { public: Elevator2(SupernovaEngine *vm, GameManager2 *gm); virtual void onEntrance(); @@ -184,22 +170,19 @@ public: virtual bool interact(Action verb, Object &obj1, Object &obj2); private: - GameManager2 *_gm; void jobDescription(); }; -class Apartment : public Room { +class Apartment : public Room2 { public: Apartment(SupernovaEngine *vm, GameManager2 *gm); virtual void onEntrance(); virtual void animation(); virtual bool interact(Action verb, Object &obj1, Object &obj2); -private: - GameManager2 *_gm; }; -class Ship : public Room { +class Ship : public Room2 { public: Ship(SupernovaEngine *vm, GameManager2 *gm); virtual void onEntrance(); @@ -209,23 +192,20 @@ public: Common::String _outroText2; private: - GameManager2 *_gm; void kill(); void outro(); }; -class Pyramid : public Room { +class Pyramid : public Room2 { public: Pyramid(SupernovaEngine *vm, GameManager2 *gm); virtual void onEntrance(); virtual void animation(); virtual bool interact(Action verb, Object &obj1, Object &obj2); -private: - GameManager2 *_gm; }; -class PyrEntrance : public Room { +class PyrEntrance : public Room2 { public: PyrEntrance(SupernovaEngine *vm, GameManager2 *gm); virtual void onEntrance(); @@ -233,297 +213,244 @@ public: virtual bool interact(Action verb, Object &obj1, Object &obj2); private: - GameManager2 *_gm; uint32 _waitTime; }; -class Upstairs1 : public Room { +class Upstairs1 : public Room2 { public: Upstairs1(SupernovaEngine *vm, GameManager2 *gm); virtual void onEntrance(); virtual void animation(); virtual bool interact(Action verb, Object &obj1, Object &obj2); -private: - GameManager2 *_gm; }; -class Downstairs1 : public Room { +class Downstairs1 : public Room2 { public: Downstairs1(SupernovaEngine *vm, GameManager2 *gm); virtual void onEntrance(); virtual void animation(); virtual bool interact(Action verb, Object &obj1, Object &obj2); -private: - GameManager2 *_gm; }; -class BottomRightDoor : public Room { +class BottomRightDoor : public Room2 { public: BottomRightDoor(SupernovaEngine *vm, GameManager2 *gm); virtual void onEntrance(); virtual void animation(); virtual bool interact(Action verb, Object &obj1, Object &obj2); -private: - GameManager2 *_gm; }; -class BottomLeftDoor : public Room { +class BottomLeftDoor : public Room2 { public: BottomLeftDoor(SupernovaEngine *vm, GameManager2 *gm); virtual void onEntrance(); virtual void animation(); virtual bool interact(Action verb, Object &obj1, Object &obj2); -private: - GameManager2 *_gm; }; -class Upstairs2 : public Room { +class Upstairs2 : public Room2 { public: Upstairs2(SupernovaEngine *vm, GameManager2 *gm); virtual void onEntrance(); virtual void animation(); virtual bool interact(Action verb, Object &obj1, Object &obj2); -private: - GameManager2 *_gm; }; -class Downstairs2 : public Room { +class Downstairs2 : public Room2 { public: Downstairs2(SupernovaEngine *vm, GameManager2 *gm); virtual void onEntrance(); virtual void animation(); virtual bool interact(Action verb, Object &obj1, Object &obj2); -private: - GameManager2 *_gm; }; -class UpperDoor : public Room { +class UpperDoor : public Room2 { public: UpperDoor(SupernovaEngine *vm, GameManager2 *gm); virtual void onEntrance(); virtual void animation(); virtual bool interact(Action verb, Object &obj1, Object &obj2); -private: - GameManager2 *_gm; }; -class PuzzleFront : public Room { +class PuzzleFront : public Room2 { public: PuzzleFront(SupernovaEngine *vm, GameManager2 *gm); virtual void onEntrance(); virtual void animation(); virtual bool interact(Action verb, Object &obj1, Object &obj2); -private: - GameManager2 *_gm; }; -class PuzzleBehind : public Room { +class PuzzleBehind : public Room2 { public: PuzzleBehind(SupernovaEngine *vm, GameManager2 *gm); virtual void onEntrance(); virtual void animation(); virtual bool interact(Action verb, Object &obj1, Object &obj2); -private: - GameManager2 *_gm; }; -class Formula1F : public Room { +class Formula1F : public Room2 { public: Formula1F(SupernovaEngine *vm, GameManager2 *gm); virtual void onEntrance(); virtual void animation(); virtual bool interact(Action verb, Object &obj1, Object &obj2); -private: - GameManager2 *_gm; }; -class Formula1N : public Room { +class Formula1N : public Room2 { public: Formula1N(SupernovaEngine *vm, GameManager2 *gm); virtual void onEntrance(); virtual void animation(); virtual bool interact(Action verb, Object &obj1, Object &obj2); -private: - GameManager2 *_gm; }; -class Formula2F : public Room { +class Formula2F : public Room2 { public: Formula2F(SupernovaEngine *vm, GameManager2 *gm); virtual void onEntrance(); virtual void animation(); virtual bool interact(Action verb, Object &obj1, Object &obj2); -private: - GameManager2 *_gm; }; -class Formula2N : public Room { +class Formula2N : public Room2 { public: Formula2N(SupernovaEngine *vm, GameManager2 *gm); virtual void onEntrance(); virtual void animation(); virtual bool interact(Action verb, Object &obj1, Object &obj2); -private: - GameManager2 *_gm; }; -class TomatoF : public Room { +class TomatoF : public Room2 { public: TomatoF(SupernovaEngine *vm, GameManager2 *gm); virtual void onEntrance(); virtual void animation(); virtual bool interact(Action verb, Object &obj1, Object &obj2); -private: - GameManager2 *_gm; }; -class TomatoN : public Room { +class TomatoN : public Room2 { public: TomatoN(SupernovaEngine *vm, GameManager2 *gm); virtual void onEntrance(); virtual void animation(); virtual bool interact(Action verb, Object &obj1, Object &obj2); -private: - GameManager2 *_gm; }; -class MonsterF : public Room { +class MonsterF : public Room2 { public: MonsterF(SupernovaEngine *vm, GameManager2 *gm); virtual void onEntrance(); virtual void animation(); virtual bool interact(Action verb, Object &obj1, Object &obj2); -private: - GameManager2 *_gm; }; -class Monster1N : public Room { +class Monster1N : public Room2 { public: Monster1N(SupernovaEngine *vm, GameManager2 *gm); virtual void onEntrance(); virtual void animation(); virtual bool interact(Action verb, Object &obj1, Object &obj2); -private: - GameManager2 *_gm; }; -class Monster2N : public Room { +class Monster2N : public Room2 { public: Monster2N(SupernovaEngine *vm, GameManager2 *gm); virtual void onEntrance(); virtual void animation(); virtual bool interact(Action verb, Object &obj1, Object &obj2); -private: - GameManager2 *_gm; }; -class Upstairs3 : public Room { +class Upstairs3 : public Room2 { public: Upstairs3(SupernovaEngine *vm, GameManager2 *gm); virtual void onEntrance(); virtual void animation(); virtual bool interact(Action verb, Object &obj1, Object &obj2); -private: - GameManager2 *_gm; }; -class Downstairs3 : public Room { +class Downstairs3 : public Room2 { public: Downstairs3(SupernovaEngine *vm, GameManager2 *gm); virtual void onEntrance(); virtual void animation(); virtual bool interact(Action verb, Object &obj1, Object &obj2); -private: - GameManager2 *_gm; }; -class LCorridor1 : public Room { +class LCorridor1 : public Room2 { public: LCorridor1(SupernovaEngine *vm, GameManager2 *gm); virtual void onEntrance(); virtual void animation(); virtual bool interact(Action verb, Object &obj1, Object &obj2); -private: - GameManager2 *_gm; }; -class LCorridor2 : public Room { +class LCorridor2 : public Room2 { public: LCorridor2(SupernovaEngine *vm, GameManager2 *gm); virtual void onEntrance(); virtual void animation(); virtual bool interact(Action verb, Object &obj1, Object &obj2); -private: - GameManager2 *_gm; }; -class HoleRoom : public Room { +class HoleRoom : public Room2 { public: HoleRoom(SupernovaEngine *vm, GameManager2 *gm); virtual void onEntrance(); virtual void animation(); virtual bool interact(Action verb, Object &obj1, Object &obj2); -private: - GameManager2 *_gm; }; -class InHole : public Room { +class InHole : public Room2 { public: InHole(SupernovaEngine *vm, GameManager2 *gm); virtual void onEntrance(); virtual void animation(); virtual bool interact(Action verb, Object &obj1, Object &obj2); -private: - GameManager2 *_gm; }; -class Floordoor : public Room { +class Floordoor : public Room2 { public: Floordoor(SupernovaEngine *vm, GameManager2 *gm); virtual void onEntrance(); virtual void animation(); virtual bool interact(Action verb, Object &obj1, Object &obj2); -private: - GameManager2 *_gm; }; -class FloordoorU : public Room { +class FloordoorU : public Room2 { public: FloordoorU(SupernovaEngine *vm, GameManager2 *gm); virtual void onEntrance(); virtual void animation(); virtual bool interact(Action verb, Object &obj1, Object &obj2); -private: - GameManager2 *_gm; }; -class BstDoor : public Room { +class BstDoor : public Room2 { public: BstDoor(SupernovaEngine *vm, GameManager2 *gm); virtual void onEntrance(); @@ -531,316 +458,259 @@ public: virtual bool interact(Action verb, Object &obj1, Object &obj2); private: - GameManager2 *_gm; char _password[16]; }; -class Hall2 : public Room { +class Hall2 : public Room2 { public: Hall2(SupernovaEngine *vm, GameManager2 *gm); virtual void onEntrance(); virtual void animation(); virtual bool interact(Action verb, Object &obj1, Object &obj2); -private: - GameManager2 *_gm; }; -class CoffinRoom : public Room { +class CoffinRoom : public Room2 { public: CoffinRoom(SupernovaEngine *vm, GameManager2 *gm); virtual void onEntrance(); virtual void animation(); virtual bool interact(Action verb, Object &obj1, Object &obj2); -private: - GameManager2 *_gm; }; -class Mask : public Room { +class Mask : public Room2 { public: Mask(SupernovaEngine *vm, GameManager2 *gm); virtual void onEntrance(); virtual void animation(); virtual bool interact(Action verb, Object &obj1, Object &obj2); -private: - GameManager2 *_gm; }; -class Museum : public Room { +class Museum : public Room2 { public: Museum(SupernovaEngine *vm, GameManager2 *gm); virtual void onEntrance(); virtual void animation(); virtual bool interact(Action verb, Object &obj1, Object &obj2); -private: - GameManager2 *_gm; }; -class MusEntrance : public Room { +class MusEntrance : public Room2 { public: MusEntrance(SupernovaEngine *vm, GameManager2 *gm); virtual void onEntrance(); virtual void animation(); virtual bool interact(Action verb, Object &obj1, Object &obj2); -private: - GameManager2 *_gm; }; -class Mus1 : public Room { +class Mus1 : public Room2 { public: Mus1(SupernovaEngine *vm, GameManager2 *gm); virtual void onEntrance(); virtual void animation(); virtual bool interact(Action verb, Object &obj1, Object &obj2); -private: - GameManager2 *_gm; }; -class Mus2 : public Room { +class Mus2 : public Room2 { public: Mus2(SupernovaEngine *vm, GameManager2 *gm); virtual void onEntrance(); virtual void animation(); virtual bool interact(Action verb, Object &obj1, Object &obj2); -private: - GameManager2 *_gm; }; -class Mus3 : public Room { +class Mus3 : public Room2 { public: Mus3(SupernovaEngine *vm, GameManager2 *gm); virtual void onEntrance(); virtual void animation(); virtual bool interact(Action verb, Object &obj1, Object &obj2); -private: - GameManager2 *_gm; }; -class Mus4 : public Room { +class Mus4 : public Room2 { public: Mus4(SupernovaEngine *vm, GameManager2 *gm); virtual void onEntrance(); virtual void animation(); virtual bool interact(Action verb, Object &obj1, Object &obj2); -private: - GameManager2 *_gm; }; -class Mus5 : public Room { +class Mus5 : public Room2 { public: Mus5(SupernovaEngine *vm, GameManager2 *gm); virtual void onEntrance(); virtual void animation(); virtual bool interact(Action verb, Object &obj1, Object &obj2); -private: - GameManager2 *_gm; }; -class Mus6 : public Room { +class Mus6 : public Room2 { public: Mus6(SupernovaEngine *vm, GameManager2 *gm); virtual void onEntrance(); virtual void animation(); virtual bool interact(Action verb, Object &obj1, Object &obj2); -private: - GameManager2 *_gm; }; -class Mus7 : public Room { +class Mus7 : public Room2 { public: Mus7(SupernovaEngine *vm, GameManager2 *gm); virtual void onEntrance(); virtual void animation(); virtual bool interact(Action verb, Object &obj1, Object &obj2); -private: - GameManager2 *_gm; }; -class Mus8 : public Room { +class Mus8 : public Room2 { public: Mus8(SupernovaEngine *vm, GameManager2 *gm); virtual void onEntrance(); virtual void animation(); virtual bool interact(Action verb, Object &obj1, Object &obj2); -private: - GameManager2 *_gm; }; -class Mus9 : public Room { +class Mus9 : public Room2 { public: Mus9(SupernovaEngine *vm, GameManager2 *gm); virtual void onEntrance(); virtual void animation(); virtual bool interact(Action verb, Object &obj1, Object &obj2); -private: - GameManager2 *_gm; }; -class Mus10 : public Room { +class Mus10 : public Room2 { public: Mus10(SupernovaEngine *vm, GameManager2 *gm); virtual void onEntrance(); virtual void animation(); virtual bool interact(Action verb, Object &obj1, Object &obj2); -private: - GameManager2 *_gm; }; -class Mus11 : public Room { +class Mus11 : public Room2 { public: Mus11(SupernovaEngine *vm, GameManager2 *gm); virtual void onEntrance(); virtual void animation(); virtual bool interact(Action verb, Object &obj1, Object &obj2); -private: - GameManager2 *_gm; }; -class MusRound : public Room { +class MusRound : public Room2 { public: MusRound(SupernovaEngine *vm, GameManager2 *gm); virtual void onEntrance(); virtual void animation(); virtual bool interact(Action verb, Object &obj1, Object &obj2); -private: - GameManager2 *_gm; }; -class Mus12 : public Room { +class Mus12 : public Room2 { public: Mus12(SupernovaEngine *vm, GameManager2 *gm); virtual void onEntrance(); virtual void animation(); virtual bool interact(Action verb, Object &obj1, Object &obj2); -private: - GameManager2 *_gm; }; -class Mus13 : public Room { +class Mus13 : public Room2 { public: Mus13(SupernovaEngine *vm, GameManager2 *gm); virtual void onEntrance(); virtual void animation(); virtual bool interact(Action verb, Object &obj1, Object &obj2); -private: - GameManager2 *_gm; }; -class Mus14 : public Room { +class Mus14 : public Room2 { public: Mus14(SupernovaEngine *vm, GameManager2 *gm); virtual void onEntrance(); virtual void animation(); virtual bool interact(Action verb, Object &obj1, Object &obj2); -private: - GameManager2 *_gm; }; -class Mus15 : public Room { +class Mus15 : public Room2 { public: Mus15(SupernovaEngine *vm, GameManager2 *gm); virtual void onEntrance(); virtual void animation(); virtual bool interact(Action verb, Object &obj1, Object &obj2); -private: - GameManager2 *_gm; }; -class Mus16 : public Room { +class Mus16 : public Room2 { public: Mus16(SupernovaEngine *vm, GameManager2 *gm); virtual void onEntrance(); virtual void animation(); virtual bool interact(Action verb, Object &obj1, Object &obj2); -private: - GameManager2 *_gm; }; -class Mus17 : public Room { +class Mus17 : public Room2 { public: Mus17(SupernovaEngine *vm, GameManager2 *gm); virtual void onEntrance(); virtual void animation(); virtual bool interact(Action verb, Object &obj1, Object &obj2); -private: - GameManager2 *_gm; }; -class Mus18 : public Room { +class Mus18 : public Room2 { public: Mus18(SupernovaEngine *vm, GameManager2 *gm); virtual void onEntrance(); virtual void animation(); virtual bool interact(Action verb, Object &obj1, Object &obj2); -private: - GameManager2 *_gm; }; -class Mus19 : public Room { +class Mus19 : public Room2 { public: Mus19(SupernovaEngine *vm, GameManager2 *gm); virtual void onEntrance(); virtual void animation(); virtual bool interact(Action verb, Object &obj1, Object &obj2); -private: - GameManager2 *_gm; }; -class Mus20 : public Room { +class Mus20 : public Room2 { public: Mus20(SupernovaEngine *vm, GameManager2 *gm); virtual void onEntrance(); virtual void animation(); virtual bool interact(Action verb, Object &obj1, Object &obj2); -private: - GameManager2 *_gm; }; -class Mus21 : public Room { +class Mus21 : public Room2 { public: Mus21(SupernovaEngine *vm, GameManager2 *gm); virtual void onEntrance(); virtual void animation(); virtual bool interact(Action verb, Object &obj1, Object &obj2); -private: - GameManager2 *_gm; }; -class Mus22 : public Room { +class Mus22 : public Room2 { public: Mus22(SupernovaEngine *vm, GameManager2 *gm); virtual void onEntrance(); virtual void animation(); virtual bool interact(Action verb, Object &obj1, Object &obj2); -private: - GameManager2 *_gm; }; } -- cgit v1.2.3