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;
ViewData *_northView, *_southView, *_eastView, *_westView;
ViewData *_view[4];
RuleList *_rules;
char *_roomMsg;
};

View file

@ -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))

View file

@ -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();