LAB: Merge room views into an array

This commit is contained in:
Filippos Karapetis 2015-12-03 13:54:19 +02:00 committed by Willem Jan Palenstijn
parent 3b40199ab6
commit f76f0d957a
3 changed files with 10 additions and 17 deletions

View file

@ -140,7 +140,7 @@ struct RoomData {
byte _wipeType; byte _wipeType;
ViewData *_northView, *_southView, *_eastView, *_westView; ViewData *_view[4];
RuleList *_rules; RuleList *_rules;
char *_roomMsg; char *_roomMsg;
}; };

View file

@ -93,14 +93,7 @@ ViewData *getViewData(uint16 roomNum, uint16 direction) {
if (!_rooms[roomNum]._roomMsg) if (!_rooms[roomNum]._roomMsg)
g_lab->_resource->readViews(roomNum); g_lab->_resource->readViews(roomNum);
if (direction == NORTH) view = _rooms[roomNum]._view[direction];
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;
do { do {
if (checkConditions(view->Condition)) if (checkConditions(view->Condition))

View file

@ -115,10 +115,10 @@ bool Resource::readRoomData(const char *fileName) {
_rooms[i]._westDoor = dataFile->readUint16LE(); _rooms[i]._westDoor = dataFile->readUint16LE();
_rooms[i]._wipeType = dataFile->readByte(); _rooms[i]._wipeType = dataFile->readByte();
_rooms[i]._northView = nullptr; _rooms[i]._view[NORTH] = nullptr;
_rooms[i]._southView = nullptr; _rooms[i]._view[SOUTH] = nullptr;
_rooms[i]._eastView = nullptr; _rooms[i]._view[EAST] = nullptr;
_rooms[i]._westView = nullptr; _rooms[i]._view[WEST] = nullptr;
_rooms[i]._rules = nullptr; _rooms[i]._rules = nullptr;
_rooms[i]._roomMsg = nullptr; _rooms[i]._roomMsg = nullptr;
} }
@ -154,10 +154,10 @@ bool Resource::readViews(uint16 roomNum) {
allocroom = roomNum; allocroom = roomNum;
_rooms[roomNum]._roomMsg = readString(dataFile); _rooms[roomNum]._roomMsg = readString(dataFile);
_rooms[roomNum]._northView = readView(dataFile); _rooms[roomNum]._view[NORTH] = readView(dataFile);
_rooms[roomNum]._southView = readView(dataFile); _rooms[roomNum]._view[SOUTH] = readView(dataFile);
_rooms[roomNum]._eastView = readView(dataFile); _rooms[roomNum]._view[EAST] = readView(dataFile);
_rooms[roomNum]._westView = readView(dataFile); _rooms[roomNum]._view[WEST] = readView(dataFile);
_rooms[roomNum]._rules = readRule(dataFile); _rooms[roomNum]._rules = readRule(dataFile);
_vm->_music->updateMusic(); _vm->_music->updateMusic();