diff options
Diffstat (limited to 'engines/lure/room.cpp')
-rw-r--r-- | engines/lure/room.cpp | 20 |
1 files changed, 18 insertions, 2 deletions
diff --git a/engines/lure/room.cpp b/engines/lure/room.cpp index d47fa2e372..a97ef174dc 100644 --- a/engines/lure/room.cpp +++ b/engines/lure/room.cpp @@ -311,7 +311,8 @@ void Room::addLayers(Hotspot &h) { int16 yStart = hsY / RECT_SIZE; int16 yEnd = (hsY + h.heightCopy() - 1) / RECT_SIZE; int16 numY = yEnd - yStart + 1; - +debugC(ERROR_BASIC, kLureDebugAnimations, "p=(%d,%d) rp=(%d,%d) size=(%d,%d)", + hsX, hsY, xStart, yStart, numX, numY); for (int16 xCtr = 0; xCtr < numX; ++xCtr, ++xStart) { int16 xs = xStart - 4; if (xs < 0) continue; @@ -397,7 +398,6 @@ void Room::update() { } for (iTemp = tempList.begin(); iTemp != tempList.end(); ++iTemp) { Hotspot &h = *iTemp.operator*(); - flagCoveredCells(h); addAnimation(h); addLayers(h); @@ -615,4 +615,20 @@ bool Room::checkInTalkDialog() { (mouse.y() < _talkDialogY + _talkDialog->surface().height())); } +void Room::saveToStream(Common::WriteStream *stream) { + stream->writeUint16LE(_roomNumber); + stream->writeUint16LE(_destRoomNumber); + stream->writeByte(_showInfo); + stream->writeUint16LE(_cursorState); +} + +void Room::loadFromStream(Common::ReadStream *stream) { + int roomNum = stream->readUint16LE(); + setRoomNumber(roomNum, false); + + _destRoomNumber = stream->readUint16LE(); + _showInfo = stream->readByte() != 0; + _cursorState = (CursorState) stream->readUint16LE(); +} + } // end of namespace Lure |