[Scummvm-cvs-logs] SF.net SVN: scummvm:[46605] scummvm/trunk/engines/sci/gui
m_kiewitz at users.sourceforge.net
m_kiewitz at users.sourceforge.net
Sat Dec 26 22:19:50 CET 2009
Revision: 46605
http://scummvm.svn.sourceforge.net/scummvm/?rev=46605&view=rev
Author: m_kiewitz
Date: 2009-12-26 21:19:48 +0000 (Sat, 26 Dec 2009)
Log Message:
-----------
SCI: Added #ifdefs for sci32 picture format code
Modified Paths:
--------------
scummvm/trunk/engines/sci/gui/gui_picture.cpp
scummvm/trunk/engines/sci/gui/gui_picture.h
Modified: scummvm/trunk/engines/sci/gui/gui_picture.cpp
===================================================================
--- scummvm/trunk/engines/sci/gui/gui_picture.cpp 2009-12-26 19:25:32 UTC (rev 46604)
+++ scummvm/trunk/engines/sci/gui/gui_picture.cpp 2009-12-26 21:19:48 UTC (rev 46605)
@@ -53,6 +53,7 @@
return _resourceId;
}
+// TODO: subclass this
void SciGuiPicture::draw(int16 animationNr, bool mirroredFlag, bool addToFlag, int16 EGApaletteNo) {
uint16 headerSize;
@@ -67,9 +68,11 @@
case 0x26: // SCI 1.1 VGA picture
drawSci11Vga();
break;
+#ifdef ENABLE_SCI32
case 0x0e: // SCI32 VGA picture
drawSci32Vga();
break;
+#endif
default:
// VGA, EGA or Amiga vector data
drawVectorData(_resource->data, _resource->size);
@@ -110,6 +113,7 @@
drawVectorData(inbuffer + vector_dataPos, vector_size);
}
+#ifdef ENABLE_SCI32
void SciGuiPicture::drawSci32Vga() {
byte *inbuffer = _resource->data;
int size = _resource->size;
@@ -128,6 +132,7 @@
// TODO: find out where priority map is stored
}
+#endif
void SciGuiPicture::drawCelData(byte *inbuffer, int size, int headerPos, int rlePos, int literalPos, int16 callerX, int16 callerY, bool hasSci32Header) {
byte *celBitmap = NULL;
@@ -145,10 +150,13 @@
int16 y, lastY, x, leftX, rightX;
uint16 pixelNr, pixelCount;
+#ifdef ENABLE_SCI32
if (!hasSci32Header) {
+#endif
displaceX = (signed char)headerPtr[4];
displaceY = (unsigned char)headerPtr[5];
clearColor = headerPtr[6];
+#ifdef ENABLE_SCI32
} else {
displaceX = READ_LE_UINT16(headerPtr + 4); // probably signed?!?
displaceY = READ_LE_UINT16(headerPtr + 6); // probably signed?!?
@@ -156,6 +164,7 @@
if (headerPtr[9] == 0)
compression = false;
}
+#endif
if (displaceX || displaceY)
error("unsupported embedded cel-data in picture");
Modified: scummvm/trunk/engines/sci/gui/gui_picture.h
===================================================================
--- scummvm/trunk/engines/sci/gui/gui_picture.h 2009-12-26 19:25:32 UTC (rev 46604)
+++ scummvm/trunk/engines/sci/gui/gui_picture.h 2009-12-26 21:19:48 UTC (rev 46605)
@@ -44,7 +44,9 @@
void initData(GuiResourceId resourceId);
void reset();
void drawSci11Vga();
+#ifdef ENABLE_SCI32
void drawSci32Vga();
+#endif
void drawCelData(byte *inbuffer, int size, int headerPos, int rlePos, int literalPos, int16 callerX, int16 callerY, bool hasSci32Header);
void drawVectorData(byte *data, int size);
bool vectorIsNonOpcode(byte pixel);
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