diff options
Diffstat (limited to 'engines/lab')
-rw-r--r-- | engines/lab/parsetypes.h | 2 | ||||
-rw-r--r-- | engines/lab/processroom.cpp | 9 | ||||
-rw-r--r-- | engines/lab/resource.cpp | 16 |
3 files changed, 10 insertions, 17 deletions
diff --git a/engines/lab/parsetypes.h b/engines/lab/parsetypes.h index 82174b80f4..6be1ba2482 100644 --- a/engines/lab/parsetypes.h +++ b/engines/lab/parsetypes.h @@ -140,7 +140,7 @@ struct RoomData { byte _wipeType; - ViewData *_northView, *_southView, *_eastView, *_westView; + ViewData *_view[4]; RuleList *_rules; char *_roomMsg; }; diff --git a/engines/lab/processroom.cpp b/engines/lab/processroom.cpp index e6217959dc..1858aebbd1 100644 --- a/engines/lab/processroom.cpp +++ b/engines/lab/processroom.cpp @@ -93,14 +93,7 @@ ViewData *getViewData(uint16 roomNum, uint16 direction) { if (!_rooms[roomNum]._roomMsg) g_lab->_resource->readViews(roomNum); - if (direction == NORTH) - view = _rooms[roomNum]._northView; - else if (direction == SOUTH) - view = _rooms[roomNum]._southView; - else if (direction == EAST) - view = _rooms[roomNum]._eastView; - else if (direction == WEST) - view = _rooms[roomNum]._westView; + view = _rooms[roomNum]._view[direction]; do { if (checkConditions(view->Condition)) diff --git a/engines/lab/resource.cpp b/engines/lab/resource.cpp index 70233dedd4..b1507fedf3 100644 --- a/engines/lab/resource.cpp +++ b/engines/lab/resource.cpp @@ -115,10 +115,10 @@ bool Resource::readRoomData(const char *fileName) { _rooms[i]._westDoor = dataFile->readUint16LE(); _rooms[i]._wipeType = dataFile->readByte(); - _rooms[i]._northView = nullptr; - _rooms[i]._southView = nullptr; - _rooms[i]._eastView = nullptr; - _rooms[i]._westView = nullptr; + _rooms[i]._view[NORTH] = nullptr; + _rooms[i]._view[SOUTH] = nullptr; + _rooms[i]._view[EAST] = nullptr; + _rooms[i]._view[WEST] = nullptr; _rooms[i]._rules = nullptr; _rooms[i]._roomMsg = nullptr; } @@ -154,10 +154,10 @@ bool Resource::readViews(uint16 roomNum) { allocroom = roomNum; _rooms[roomNum]._roomMsg = readString(dataFile); - _rooms[roomNum]._northView = readView(dataFile); - _rooms[roomNum]._southView = readView(dataFile); - _rooms[roomNum]._eastView = readView(dataFile); - _rooms[roomNum]._westView = readView(dataFile); + _rooms[roomNum]._view[NORTH] = readView(dataFile); + _rooms[roomNum]._view[SOUTH] = readView(dataFile); + _rooms[roomNum]._view[EAST] = readView(dataFile); + _rooms[roomNum]._view[WEST] = readView(dataFile); _rooms[roomNum]._rules = readRule(dataFile); _vm->_music->updateMusic(); |