diff options
author | Paul Gilbert | 2016-06-26 12:39:44 -0400 |
---|---|---|
committer | Paul Gilbert | 2016-07-15 19:25:09 -0400 |
commit | 6f063c4703e5705edbba7ad39ef9c0656b74bc75 (patch) | |
tree | 64cb04d4e3f3a327f6a080ffef8e7af6c0f12152 /engines/titanic/room_flags.cpp | |
parent | 0146a3c6b6bdb16eef6f46e116b0d9fe9883858f (diff) | |
download | scummvm-rg350-6f063c4703e5705edbba7ad39ef9c0656b74bc75.tar.gz scummvm-rg350-6f063c4703e5705edbba7ad39ef9c0656b74bc75.tar.bz2 scummvm-rg350-6f063c4703e5705edbba7ad39ef9c0656b74bc75.zip |
TITANIC: Fleshing out CGameObject and CPetControl methods
Diffstat (limited to 'engines/titanic/room_flags.cpp')
-rw-r--r-- | engines/titanic/room_flags.cpp | 30 |
1 files changed, 19 insertions, 11 deletions
diff --git a/engines/titanic/room_flags.cpp b/engines/titanic/room_flags.cpp index ac378e20c1..4b3aeb424e 100644 --- a/engines/titanic/room_flags.cpp +++ b/engines/titanic/room_flags.cpp @@ -433,14 +433,17 @@ void CRoomFlags::changeLocation(int action) { setRoomBits(roomNum); } -bool CRoomFlags::compareFlags(CRoomFlags flags1, CRoomFlags flags2) const { - if (flags1.getFloorNum() != flags2.getFloorNum()) +bool CRoomFlags::compareClassElevator(uint flags1, uint flags2) { + CRoomFlags f1(flags1); + CRoomFlags f2(flags2); + + if (f1.getFloorNum() != f2.getFloorNum()) return false; - uint elev1 = flags1.getElevatorNum(); - uint elev2 = flags2.getElevatorNum(); - uint class1 = getPassengerClassNum(); - uint class2 = getPassengerClassNum(); + uint elev1 = f1.getElevatorNum(); + uint elev2 = f2.getElevatorNum(); + uint class1 = f1.getPassengerClassNum(); + uint class2 = f2.getPassengerClassNum(); if (class1 > 0 && class1 < 3) { if (elev1 == 2) @@ -458,12 +461,17 @@ bool CRoomFlags::compareFlags(CRoomFlags flags1, CRoomFlags flags2) const { return elev1 == elev2; } -bool CRoomFlags::compareLocation(uint roomFlags) { - CRoomFlags flags(roomFlags); +bool CRoomFlags::compareLocation(uint flags1, uint flags2) { + CRoomFlags f1(flags1); + CRoomFlags f2(flags2); + + return f1.getElevatorNum() == f2.getElevatorBits() && + f1.getFloorNum() == f2.getFloorNum() && + f1.getRoomNum() == f2.getRoomNum(); +} - return getElevatorNum() == flags.getElevatorBits() && - getFloorNum() == flags.getFloorNum() && - getRoomNum() == flags.getRoomNum(); +bool CRoomFlags::isTitania(uint flags1, uint flags2) { + return flags2 == 0x8A397; } void CRoomFlags::setRandomLocation(int classNum, bool flag) { |