[Scummvm-git-logs] scummvm master -> 42d66808371033144229a5c7ffb248af85e878c8
dreammaster
dreammaster at scummvm.org
Mon Nov 7 01:44:40 CET 2016
This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
42d6680837 TITANIC: Fixes for allocating an assigned room
Commit: 42d66808371033144229a5c7ffb248af85e878c8
https://github.com/scummvm/scummvm/commit/42d66808371033144229a5c7ffb248af85e878c8
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2016-11-06T19:44:32-05:00
Commit Message:
TITANIC: Fixes for allocating an assigned room
Changed paths:
engines/titanic/room_flags.cpp
engines/titanic/room_flags.h
diff --git a/engines/titanic/room_flags.cpp b/engines/titanic/room_flags.cpp
index e69782c..75baf2c 100644
--- a/engines/titanic/room_flags.cpp
+++ b/engines/titanic/room_flags.cpp
@@ -148,7 +148,7 @@ CString CRoomFlags::getRoomDesc() const {
result += ", ";
result += getElevatorDesc();
result += ", ";
- result += getRoomDesc();
+ result += getRoomNumDesc();
return result;
}
@@ -269,21 +269,20 @@ uint CRoomFlags::decodeFloorBits(uint bits) const {
int offset = bits & 0xF;
switch ((bits >> 4) & 0xF) {
- case 1:
- case 2:
- case 3:
- base = 40;
+ case 9:
+ base = 0;
break;
- case 4:
+ case 0xD:
base = 10;
break;
- case 5:
+ case 0xE:
base = 20;
break;
- case 6:
+ case 0xF:
base = 30;
break;
default:
+ base = 40;
break;
}
@@ -474,7 +473,7 @@ bool CRoomFlags::isTitania(uint flags1, uint flags2) {
return flags2 == 0x8A397;
}
-void CRoomFlags::setRandomLocation(int classNum, bool flag) {
+void CRoomFlags::setRandomLocation(PassengerClass classNum, bool flag) {
uint minRoom, elevNum, maxRoom, maxFloor, minFloor;
do {
@@ -500,9 +499,7 @@ void CRoomFlags::setRandomLocation(int classNum, bool flag) {
minFloor = 28;
maxFloor = 38;
maxRoom = 18;
- elevNum = g_vm->getRandomNumber(1);
- if (elevNum == 1)
- elevNum = 2;
+ elevNum = g_vm->getRandomNumber(1) ? 2 : 0;
break;
default:
@@ -514,6 +511,7 @@ void CRoomFlags::setRandomLocation(int classNum, bool flag) {
setElevatorBits(elevNum);
setRoomBits(roomNum);
setFloorNum(floorNum);
+ setPassengerClassBits(classNum);
} while (_data == 0x59706);
}
diff --git a/engines/titanic/room_flags.h b/engines/titanic/room_flags.h
index 50c2149..8e86bf7 100644
--- a/engines/titanic/room_flags.h
+++ b/engines/titanic/room_flags.h
@@ -206,7 +206,7 @@ public:
/**
* Sets a random destination in the flags
*/
- void setRandomLocation(int classNum, bool flag);
+ void setRandomLocation(PassengerClass classNum, bool flag);
/**
* Gets the succubus number associated with a given room
More information about the Scummvm-git-logs
mailing list