[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