[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