aboutsummaryrefslogtreecommitdiff
path: root/engines/supernova/supernova1/rooms.h
diff options
context:
space:
mode:
authorJaromir Wysoglad2019-06-21 22:30:43 +0200
committerThierry Crozat2019-07-28 15:09:14 +0100
commit3cf9cfbf78433e81ac5dcc39b31f5fa76983bde4 (patch)
tree883aacdbb2473884e15fc81c8f20fda6316a2850 /engines/supernova/supernova1/rooms.h
parenteb2a017a68e965b46881a2b41d9178d5e20b05b2 (diff)
downloadscummvm-rg350-3cf9cfbf78433e81ac5dcc39b31f5fa76983bde4.tar.gz
scummvm-rg350-3cf9cfbf78433e81ac5dcc39b31f5fa76983bde4.tar.bz2
scummvm-rg350-3cf9cfbf78433e81ac5dcc39b31f5fa76983bde4.zip
SUPERNOVA: Merge in the supernova2 engine.
Diffstat (limited to 'engines/supernova/supernova1/rooms.h')
-rw-r--r--engines/supernova/supernova1/rooms.h154
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;
};
}