[Scummvm-cvs-logs] SF.net SVN: scummvm:[47025] scummvm/trunk/engines/sci/graphics/picture.cpp

m_kiewitz at users.sourceforge.net m_kiewitz at users.sourceforge.net
Tue Jan 5 14:51:50 CET 2010


Revision: 47025
          http://scummvm.svn.sourceforge.net/scummvm/?rev=47025&view=rev
Author:   m_kiewitz
Date:     2010-01-05 13:51:47 +0000 (Tue, 05 Jan 2010)

Log Message:
-----------
SCI: sci32 pictures are now fully drawn to screen (including all layers)

Modified Paths:
--------------
    scummvm/trunk/engines/sci/graphics/picture.cpp

Modified: scummvm/trunk/engines/sci/graphics/picture.cpp
===================================================================
--- scummvm/trunk/engines/sci/graphics/picture.cpp	2010-01-05 13:21:39 UTC (rev 47024)
+++ scummvm/trunk/engines/sci/graphics/picture.cpp	2010-01-05 13:51:47 UTC (rev 47025)
@@ -119,18 +119,25 @@
 	int size = _resource->size;
 	int header_size = READ_LE_UINT16(inbuffer);
 	int palette_data_ptr = READ_LE_UINT16(inbuffer + 6);
+	int celCount = inbuffer[2];
 	int cel_headerPos = header_size;
-	int cel_RlePos = READ_LE_UINT16(inbuffer + cel_headerPos + 24);
-	int cel_LiteralPos = READ_LE_UINT16(inbuffer + cel_headerPos + 28);
+	int cel_RlePos, cel_LiteralPos;
+	int cel_relXpos, cel_relYpos;
 	Palette palette;
 
 	// Create palette and set it
 	_palette->createFromData(inbuffer + palette_data_ptr, &palette);
 	_palette->set(&palette, 2);
 
-	drawCelData(inbuffer, size, cel_headerPos, cel_RlePos, cel_LiteralPos, 0, 0, true);
-
-	// TODO: find out where priority map is stored
+	while (celCount > 0) {
+		cel_RlePos = READ_LE_UINT16(inbuffer + cel_headerPos + 24);
+		cel_LiteralPos = READ_LE_UINT16(inbuffer + cel_headerPos + 28);
+		cel_relXpos = READ_LE_UINT16(inbuffer + cel_headerPos + 38);
+		cel_relYpos = READ_LE_UINT16(inbuffer + cel_headerPos + 40);
+		drawCelData(inbuffer, size, cel_headerPos, cel_RlePos, cel_LiteralPos, cel_relXpos, cel_relYpos, true);
+		cel_headerPos += 42;
+		celCount--;
+	}
 }
 #endif
 


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.




More information about the Scummvm-git-logs mailing list