[Scummvm-cvs-logs] SF.net SVN: scummvm:[44847] scummvm/trunk/engines/kyra

athrxx at users.sourceforge.net athrxx at users.sourceforge.net
Fri Oct 9 23:35:48 CEST 2009


Revision: 44847
          http://scummvm.svn.sourceforge.net/scummvm/?rev=44847&view=rev
Author:   athrxx
Date:     2009-10-09 21:35:48 +0000 (Fri, 09 Oct 2009)

Log Message:
-----------
LOL/PC-98: fixed monster drawing bug (some wrong pixels)

Modified Paths:
--------------
    scummvm/trunk/engines/kyra/scene_lol.cpp
    scummvm/trunk/engines/kyra/sprites_lol.cpp

Modified: scummvm/trunk/engines/kyra/scene_lol.cpp
===================================================================
--- scummvm/trunk/engines/kyra/scene_lol.cpp	2009-10-09 20:54:02 UTC (rev 44846)
+++ scummvm/trunk/engines/kyra/scene_lol.cpp	2009-10-09 21:35:48 UTC (rev 44847)
@@ -2173,6 +2173,11 @@
 		uint16 drawFlag = (type == 3) ? 0x80 : 0x20;
 		uint8 *ovl = (type == 3) ? _screen->_grayOverlay : 0;
 
+		if (_flags.use16ColorMode) {
+			ovl = 0;
+			drawFlag = (type == 0 || type == 3) ? 0 : 0x20;
+		}
+
 		calcCoordinatesAddDirectionOffset(x, y, _currentDirection);
 
 		x |= ((_visibleBlockIndex[index] & 0x1f) << 8);

Modified: scummvm/trunk/engines/kyra/sprites_lol.cpp
===================================================================
--- scummvm/trunk/engines/kyra/sprites_lol.cpp	2009-10-09 20:54:02 UTC (rev 44846)
+++ scummvm/trunk/engines/kyra/sprites_lol.cpp	2009-10-09 21:35:48 UTC (rev 44847)
@@ -691,11 +691,11 @@
 
 	int bloodType = m->properties->flags & 0xc000;
 	if (bloodType == 0x4000)
-		bloodType = 63;
+		bloodType = _flags.use16ColorMode ? 0xbb : 63;
 	else if (bloodType == 0x8000)
-		bloodType = 15;
+		bloodType = _flags.use16ColorMode ? 0x55 : 15;
 	else if (bloodType == 0xc000)
-		bloodType = 74;
+		bloodType = _flags.use16ColorMode ? 0x33 : 74;
 	else
 		bloodType = 0;
 
@@ -1021,11 +1021,17 @@
 	if (flags & 0x40)
 		flg |= 2;
 
-	if (_currentLevel == 22) {
-		if (ovl)
-			ovl[255] = 0;
+	if (_flags.use16ColorMode) {
+		if (_currentLevel = 22)
+			flg &= 0xdfff;
+		
 	} else {
-		flg |= 0x2000;
+		if (_currentLevel == 22) {
+			if (ovl)
+				ovl[255] = 0;
+		} else {
+			flg |= 0x2000;
+		}
 	}
 
 	_shpDmX += ((_dmScaleW * fineX) >> 8);


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