LAB: Simplify the room doors array
This commit is contained in:
parent
c883769adc
commit
1524e20ef1
3 changed files with 6 additions and 19 deletions
|
@ -180,17 +180,7 @@ void LabEngine::drawDirection(CloseDataPtr closePtr) {
|
||||||
*/
|
*/
|
||||||
uint16 LabEngine::processArrow(uint16 curDirection, uint16 arrow) {
|
uint16 LabEngine::processArrow(uint16 curDirection, uint16 arrow) {
|
||||||
if (arrow == 1) { // Forward
|
if (arrow == 1) { // Forward
|
||||||
uint16 room = 1;
|
uint16 room = _rooms[_roomNum]._doors[curDirection];
|
||||||
|
|
||||||
if (curDirection == NORTH)
|
|
||||||
room = _rooms[_roomNum]._northDoor;
|
|
||||||
else if (curDirection == SOUTH)
|
|
||||||
room = _rooms[_roomNum]._southDoor;
|
|
||||||
else if (curDirection == EAST)
|
|
||||||
room = _rooms[_roomNum]._eastDoor;
|
|
||||||
else if (curDirection == WEST)
|
|
||||||
room = _rooms[_roomNum]._westDoor;
|
|
||||||
|
|
||||||
if (room != 0)
|
if (room != 0)
|
||||||
_roomNum = room;
|
_roomNum = room;
|
||||||
|
|
||||||
|
|
|
@ -127,10 +127,7 @@ struct Rule {
|
||||||
};
|
};
|
||||||
|
|
||||||
struct RoomData {
|
struct RoomData {
|
||||||
uint16 _northDoor;
|
uint16 _doors[4];
|
||||||
uint16 _southDoor;
|
|
||||||
uint16 _eastDoor;
|
|
||||||
uint16 _westDoor;
|
|
||||||
byte _transitionType;
|
byte _transitionType;
|
||||||
ViewData *_view[4];
|
ViewData *_view[4];
|
||||||
RuleList *_rules;
|
RuleList *_rules;
|
||||||
|
|
|
@ -98,10 +98,10 @@ bool Resource::readRoomData(const char *fileName) {
|
||||||
memset(_vm->_rooms, 0, (_vm->_manyRooms + 1) * sizeof(RoomData));
|
memset(_vm->_rooms, 0, (_vm->_manyRooms + 1) * sizeof(RoomData));
|
||||||
|
|
||||||
for (uint16 i = 1; i <= _vm->_manyRooms; i++) {
|
for (uint16 i = 1; i <= _vm->_manyRooms; i++) {
|
||||||
_vm->_rooms[i]._northDoor = dataFile->readUint16LE();
|
_vm->_rooms[i]._doors[NORTH] = dataFile->readUint16LE();
|
||||||
_vm->_rooms[i]._southDoor = dataFile->readUint16LE();
|
_vm->_rooms[i]._doors[SOUTH] = dataFile->readUint16LE();
|
||||||
_vm->_rooms[i]._eastDoor = dataFile->readUint16LE();
|
_vm->_rooms[i]._doors[EAST] = dataFile->readUint16LE();
|
||||||
_vm->_rooms[i]._westDoor = dataFile->readUint16LE();
|
_vm->_rooms[i]._doors[WEST] = dataFile->readUint16LE();
|
||||||
_vm->_rooms[i]._transitionType = dataFile->readByte();
|
_vm->_rooms[i]._transitionType = dataFile->readByte();
|
||||||
|
|
||||||
_vm->_rooms[i]._view[NORTH] = nullptr;
|
_vm->_rooms[i]._view[NORTH] = nullptr;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue