[Scummvm-cvs-logs] scummvm master -> 8d385f300e0b81d89cf787fff89e0c89c4e124b3

m-kiewitz m_kiewitz at users.sourceforge.net
Fri Jun 12 23:34:21 CEST 2015


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:
8d385f300e SHERLOCK: 3DO: implement offX/Y for cel room data


Commit: 8d385f300e0b81d89cf787fff89e0c89c4e124b3
    https://github.com/scummvm/scummvm/commit/8d385f300e0b81d89cf787fff89e0c89c4e124b3
Author: Martin Kiewitz (m_kiewitz at users.sourceforge.net)
Date: 2015-06-12T23:34:32+02:00

Commit Message:
SHERLOCK: 3DO: implement offX/Y for cel room data

fixes graphical glitches when watson sits down

Changed paths:
    engines/sherlock/image_file.cpp



diff --git a/engines/sherlock/image_file.cpp b/engines/sherlock/image_file.cpp
index 660c38e..9ee3e33 100644
--- a/engines/sherlock/image_file.cpp
+++ b/engines/sherlock/image_file.cpp
@@ -555,6 +555,8 @@ void ImageFile3DO::load3DOCelFile(Common::SeekableReadStream &stream) {
 void ImageFile3DO::load3DOCelRoomData(Common::SeekableReadStream &stream) {
 	int    streamSize = stream.size();
 	uint16 roomDataHeader_size = 0;
+	byte   roomDataHeader_offsetX = 0;
+	byte   roomDataHeader_offsetY = 0;
 
 	// CCB chunk (cel control block)
 	uint32 ccbFlags = 0;
@@ -574,7 +576,8 @@ void ImageFile3DO::load3DOCelRoomData(Common::SeekableReadStream &stream) {
 		// 3DO sherlock holmes room data header
 		stream.skip(4); // Possibly UINT16 width, UINT16 height?!?!
 		roomDataHeader_size = stream.readUint16BE();
-		stream.skip(2); // seems to be filler
+		roomDataHeader_offsetX = stream.readByte();
+		roomDataHeader_offsetY = stream.readByte();
 
 		// 3DO raw cel control block
 		ccbFlags   = stream.readUint32BE();
@@ -617,8 +620,8 @@ void ImageFile3DO::load3DOCelRoomData(Common::SeekableReadStream &stream) {
 			imageFrame._width = ccbWidth;
 			imageFrame._height = ccbHeight;
 			imageFrame._paletteBase = 0;
-			imageFrame._offset.x = 0;
-			imageFrame._offset.y = 0;
+			imageFrame._offset.x = roomDataHeader_offsetX;
+			imageFrame._offset.y = roomDataHeader_offsetY;
 			imageFrame._rleEncoded = ccbFlags_compressed;
 			imageFrame._size = 0;
 






More information about the Scummvm-git-logs mailing list