diff options
author | Jaromir Wysoglad | 2019-06-25 15:39:10 +0200 |
---|---|---|
committer | Thierry Crozat | 2019-07-28 15:09:14 +0100 |
commit | 43131d8e02bbe068cf14995b99660f2da37ec48e (patch) | |
tree | 92bf4e63d62d4293d38971b6f095aa96b4c7a1ca /engines/supernova/supernova2 | |
parent | 28f262eaee067a031dd6c7adf940a21c31e86ec2 (diff) | |
download | scummvm-rg350-43131d8e02bbe068cf14995b99660f2da37ec48e.tar.gz scummvm-rg350-43131d8e02bbe068cf14995b99660f2da37ec48e.tar.bz2 scummvm-rg350-43131d8e02bbe068cf14995b99660f2da37ec48e.zip |
SUPERNOVA: Add intermediate room classes
Diffstat (limited to 'engines/supernova/supernova2')
-rw-r--r-- | engines/supernova/supernova2/rooms.h | 280 |
1 files changed, 75 insertions, 205 deletions
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; }; } |