[Scummvm-cvs-logs] SF.net SVN: scummvm:[44883] scummvm/trunk/engines/kyra
athrxx at users.sourceforge.net
athrxx at users.sourceforge.net
Sat Oct 10 20:45:33 CEST 2009
Revision: 44883
http://scummvm.svn.sourceforge.net/scummvm/?rev=44883&view=rev
Author: athrxx
Date: 2009-10-10 18:45:33 +0000 (Sat, 10 Oct 2009)
Log Message:
-----------
LOL/PC-98: implemented drawing code for teleporters
Modified Paths:
--------------
scummvm/trunk/engines/kyra/screen.cpp
scummvm/trunk/engines/kyra/screen.h
scummvm/trunk/engines/kyra/sprites_lol.cpp
Modified: scummvm/trunk/engines/kyra/screen.cpp
===================================================================
--- scummvm/trunk/engines/kyra/screen.cpp 2009-10-10 18:39:52 UTC (rev 44882)
+++ scummvm/trunk/engines/kyra/screen.cpp 2009-10-10 18:45:33 UTC (rev 44883)
@@ -1395,7 +1395,8 @@
&Screen::drawShapePlotType13, // used by Kyra 1
&Screen::drawShapePlotType14, // used by Kyra 1 (invisibility)
&Screen::drawShapePlotType11_15, // used by Kyra 1 (invisibility)
- 0, 0, 0, 0,
+ &Screen::drawShapePlotType16, // used by LoL PC-98/16 Colors (teleporters),
+ 0, 0, 0,
&Screen::drawShapePlotType20, // used by LoL (heal spell effect)
&Screen::drawShapePlotType21, // used by LoL (white tower spirits)
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -1969,6 +1970,13 @@
*dst = cmd;
}
+void Screen::drawShapePlotType16(uint8 *dst, uint8 cmd) {
+ uint8 tOffs = _dsTable3[cmd];
+ if (!(tOffs & 0x80))
+ cmd = _dsTable4[tOffs << 8 | *dst];
+ *dst = cmd;
+}
+
void Screen::drawShapePlotType20(uint8 *dst, uint8 cmd) {
cmd = _dsTable2[cmd];
uint8 tOffs = _dsTable3[cmd];
Modified: scummvm/trunk/engines/kyra/screen.h
===================================================================
--- scummvm/trunk/engines/kyra/screen.h 2009-10-10 18:39:52 UTC (rev 44882)
+++ scummvm/trunk/engines/kyra/screen.h 2009-10-10 18:45:33 UTC (rev 44883)
@@ -568,6 +568,7 @@
void drawShapePlotType12(uint8 *dst, uint8 cmd);
void drawShapePlotType13(uint8 *dst, uint8 cmd);
void drawShapePlotType14(uint8 *dst, uint8 cmd);
+ void drawShapePlotType16(uint8 *dst, uint8 cmd);
void drawShapePlotType20(uint8 *dst, uint8 cmd);
void drawShapePlotType21(uint8 *dst, uint8 cmd);
void drawShapePlotType33(uint8 *dst, uint8 cmd);
Modified: scummvm/trunk/engines/kyra/sprites_lol.cpp
===================================================================
--- scummvm/trunk/engines/kyra/sprites_lol.cpp 2009-10-10 18:39:52 UTC (rev 44882)
+++ scummvm/trunk/engines/kyra/sprites_lol.cpp 2009-10-10 18:45:33 UTC (rev 44883)
@@ -992,7 +992,7 @@
ovl2 = table;
table = 0;
} else {
- ovl2 = _screen->getLevelOverlay(4);
+ ovl2 = _screen->getLevelOverlay(_flags.use16ColorMode ? 5 : 4);
}
int r = calcDrawingLayerParameters(x, y, _shpDmX, _shpDmY, _dmScaleW, _dmScaleH, shape, vflip);
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