aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
authorJaromir Wysoglad2019-06-10 10:00:54 +0200
committerThierry Crozat2019-07-28 15:09:14 +0100
commitdf792b74d91429cd08381e495df9186e89a6de1d (patch)
treef705c5ccf61e0928d2f7b9fce6d833828b98e4f5 /engines
parent14aeaf9c92354c58a54f15fc0d6cb4072433111f (diff)
downloadscummvm-rg350-df792b74d91429cd08381e495df9186e89a6de1d.tar.gz
scummvm-rg350-df792b74d91429cd08381e495df9186e89a6de1d.tar.bz2
scummvm-rg350-df792b74d91429cd08381e495df9186e89a6de1d.zip
SUPERNOVA2: Add LCorridor2 room
Diffstat (limited to 'engines')
-rw-r--r--engines/supernova2/ms2_def.h2
-rw-r--r--engines/supernova2/rooms.cpp23
-rw-r--r--engines/supernova2/rooms.h4
-rw-r--r--engines/supernova2/state.cpp4
4 files changed, 21 insertions, 12 deletions
diff --git a/engines/supernova2/ms2_def.h b/engines/supernova2/ms2_def.h
index 1485013b38..fc1a745f62 100644
--- a/engines/supernova2/ms2_def.h
+++ b/engines/supernova2/ms2_def.h
@@ -88,7 +88,7 @@ enum RoomId {
UPPER_DOOR,PUZZLE_FRONT,PUZZLE_BEHIND,
FORMULA1_F,FORMULA1_N,FORMULA2_F,FORMULA2_N,TOMATO_F,TOMATO_N,
MONSTER_F,MONSTER1_N,MONSTER2_N,UPSTAIRS3,DOWNSTAIRS3,
- LCORRIDOR1,LGANG2,HOLE_ROOM,IN_HOLE,FLOORDOOR,FLOORDOOR_U,
+ LCORRIDOR1,LCORRIDOR2,HOLE_ROOM,IN_HOLE,FLOORDOOR,FLOORDOOR_U,
BST_DOOR,HALL,COFFIN_ROOM,MASK,
MUSEUM,MUS_EING,MUS1,MUS2,MUS3,MUS4,MUS5,MUS6,MUS7,MUS8,
diff --git a/engines/supernova2/rooms.cpp b/engines/supernova2/rooms.cpp
index 46c391bf94..ea1c1c33ce 100644
--- a/engines/supernova2/rooms.cpp
+++ b/engines/supernova2/rooms.cpp
@@ -2371,7 +2371,7 @@ bool PyrEntrance::interact(Action verb, Object &obj1, Object &obj2) {
{0, 2, 4, 2, DOWNSTAIRS3},
{1, 2, 5, 0, UPSTAIRS3},
{1, 2, 5, 3, LCORRIDOR1},
- {1, 1, 5, 1, LGANG2},
+ {1, 1, 5, 1, LCORRIDOR2},
{1, 1, 5, 3, HOLE_ROOM},
{0, 7, 4, 0, BST_DOOR}
};
@@ -3313,23 +3313,32 @@ bool LCorridor1::interact(Action verb, Object &obj1, Object &obj2) {
return true;
}
-LGang2::LGang2(Supernova2Engine *vm, GameManager *gm) {
+LCorridor2::LCorridor2(Supernova2Engine *vm, GameManager *gm) {
_vm = vm;
_gm = gm;
- _fileNumber = 6;
- _id = LGANG2;
+ _fileNumber = 9;
+ _id = LCORRIDOR2;
_shown[0] = kShownTrue;
+ _shown[17] = kShownTrue;
+
+ _objectState[0] = Object(_id, kStringRight, kStringDefaultDescription, G_RIGHT, EXIT, 1, 1, 0, PYR_ENTRANCE, 14);
+ _objectState[1] = Object(_id, kStringLeft, kStringDefaultDescription, G_LEFT, EXIT, 2, 2, 0, PYR_ENTRANCE, 10);
+ _objectState[2] = Object(_id, kStringCorridor, kStringDefaultDescription, CORRIDOR, EXIT, 6, 6, 0, PYR_ENTRANCE, 2);
}
-void LGang2::onEntrance() {
+void LCorridor2::onEntrance() {
setRoomSeen(true);
}
-void LGang2::animation() {
+void LCorridor2::animation() {
}
-bool LGang2::interact(Action verb, Object &obj1, Object &obj2) {
+bool LCorridor2::interact(Action verb, Object &obj1, Object &obj2) {
+ if (!_gm->move(verb, obj1))
+ return false;
+ _gm->passageConstruction();
+ _gm->_newRoom = true;
return true;
}
diff --git a/engines/supernova2/rooms.h b/engines/supernova2/rooms.h
index 8bb95aafd7..29f00d3a0c 100644
--- a/engines/supernova2/rooms.h
+++ b/engines/supernova2/rooms.h
@@ -463,9 +463,9 @@ public:
private:
};
-class LGang2 : public Room {
+class LCorridor2 : public Room {
public:
- LGang2(Supernova2Engine *vm, GameManager *gm);
+ LCorridor2(Supernova2Engine *vm, GameManager *gm);
virtual void onEntrance();
virtual void animation();
virtual bool interact(Action verb, Object &obj1, Object &obj2);
diff --git a/engines/supernova2/state.cpp b/engines/supernova2/state.cpp
index bc341403e4..fa66258dce 100644
--- a/engines/supernova2/state.cpp
+++ b/engines/supernova2/state.cpp
@@ -289,7 +289,7 @@ void GameManager::destroyRooms() {
delete _rooms[UPSTAIRS3];
delete _rooms[DOWNSTAIRS3];
delete _rooms[LCORRIDOR1];
- delete _rooms[LGANG2];
+ delete _rooms[LCORRIDOR2];
delete _rooms[HOLE_ROOM];
delete _rooms[IN_HOLE];
delete _rooms[FLOORDOOR];
@@ -418,7 +418,7 @@ void GameManager::initRooms() {
_rooms[UPSTAIRS3] = new Upstairs3(_vm, this);
_rooms[DOWNSTAIRS3] = new Downstairs3(_vm, this);
_rooms[LCORRIDOR1] = new LCorridor1(_vm, this);
- _rooms[LGANG2] = new LGang2(_vm, this);
+ _rooms[LCORRIDOR2] = new LCorridor2(_vm, this);
_rooms[HOLE_ROOM] = new HoleRoom(_vm, this);
_rooms[IN_HOLE] = new InHole(_vm, this);
_rooms[FLOORDOOR] = new Floordoor(_vm, this);