aboutsummaryrefslogtreecommitdiff
path: root/engines/supernova/supernova2
diff options
context:
space:
mode:
authorJaromir Wysoglad2019-06-25 15:39:10 +0200
committerThierry Crozat2019-07-28 15:09:14 +0100
commit43131d8e02bbe068cf14995b99660f2da37ec48e (patch)
tree92bf4e63d62d4293d38971b6f095aa96b4c7a1ca /engines/supernova/supernova2
parent28f262eaee067a031dd6c7adf940a21c31e86ec2 (diff)
downloadscummvm-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.h280
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;
};
}