diff --git a/engines/lab/parsetypes.h b/engines/lab/parsetypes.h index 82174b80f4a..6be1ba24824 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 e6217959dcc..1858aebbd18 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 70233dedd44..b1507fedf3a 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();