[Scummvm-cvs-logs] SF.net SVN: scummvm: [31441] scummvm/trunk/engines/kyra
athrxx at users.sourceforge.net
athrxx at users.sourceforge.net
Mon Apr 7 00:17:03 CEST 2008
Revision: 31441
http://scummvm.svn.sourceforge.net/scummvm/?rev=31441&view=rev
Author: athrxx
Date: 2008-04-06 15:17:02 -0700 (Sun, 06 Apr 2008)
Log Message:
-----------
implement missing Screen::drawShapePlotType11_15()
Modified Paths:
--------------
scummvm/trunk/engines/kyra/screen.cpp
scummvm/trunk/engines/kyra/screen.h
Modified: scummvm/trunk/engines/kyra/screen.cpp
===================================================================
--- scummvm/trunk/engines/kyra/screen.cpp 2008-04-06 19:48:47 UTC (rev 31440)
+++ scummvm/trunk/engines/kyra/screen.cpp 2008-04-06 22:17:02 UTC (rev 31441)
@@ -1233,10 +1233,12 @@
0, 0, 0,
&Screen::drawShapePlotType8, // used by Kyra 2
&Screen::drawShapePlotType9, // used by Kyra 1
- 0, 0,
+ 0,
+ &Screen::drawShapePlotType11_15,// used by Kyra 1
&Screen::drawShapePlotType12, // used by Kyra 2
&Screen::drawShapePlotType13, // used by Kyra 1
&Screen::drawShapePlotType14, // used by Kyra 1 (invisibility)
+ &Screen::drawShapePlotType11_15,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0
};
@@ -1682,6 +1684,22 @@
*dst = cmd;
}
+void Screen::drawShapePlotType11_15(uint8 *dst, uint8 cmd) {
+ uint32 relOffs = dst - _dsDstPage;
+ int t = (_shapePages[0][relOffs] & 0x7f) & 0x87;
+
+ if (_dsDrawLayer < t) {
+ cmd = _shapePages[1][relOffs];
+ } else {
+ cmd = *dst;
+ for (int i = 0; i < _dsTableLoopCount; ++i)
+ cmd = _dsTable[cmd];
+ }
+
+ if (cmd)
+ *dst = cmd;
+}
+
void Screen::drawShapePlotType12(uint8 *dst, uint8 cmd) {
uint32 relOffs = dst - _dsDstPage;
int t = (_shapePages[0][relOffs] & 0x7f) & 0x87;
Modified: scummvm/trunk/engines/kyra/screen.h
===================================================================
--- scummvm/trunk/engines/kyra/screen.h 2008-04-06 19:48:47 UTC (rev 31440)
+++ scummvm/trunk/engines/kyra/screen.h 2008-04-06 22:17:02 UTC (rev 31441)
@@ -194,9 +194,10 @@
void drawShapePlotType4(uint8 *dst, uint8 cmd);
void drawShapePlotType8(uint8 *dst, uint8 cmd);
void drawShapePlotType9(uint8 *dst, uint8 cmd);
+ void drawShapePlotType11_15(uint8 *dst, uint8 cmd);
void drawShapePlotType12(uint8 *dst, uint8 cmd);
void drawShapePlotType13(uint8 *dst, uint8 cmd);
- void drawShapePlotType14(uint8 *dst, uint8 cmd);
+ void drawShapePlotType14(uint8 *dst, uint8 cmd);
typedef int (Screen::*DsMarginSkipFunc)(uint8 *&dst, const uint8 *&src, int &cnt);
typedef void (Screen::*DsLineFunc)(uint8 *&dst, const uint8 *&src, int &cnt, int scaleState);
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