[Scummvm-cvs-logs] CVS: residual/tinygl ztriangle.cpp,1.8,1.9

Pawel Kolodziejski aquadran at users.sourceforge.net
Thu Aug 11 06:36:41 CEST 2005


Update of /cvsroot/scummvm/residual/tinygl
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv24472

Modified Files:
	ztriangle.cpp 
Log Message:
proper light texture mapping in tinygl

Index: ztriangle.cpp
===================================================================
RCS file: /cvsroot/scummvm/residual/tinygl/ztriangle.cpp,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -d -r1.8 -r1.9
--- ztriangle.cpp	10 Aug 2005 21:41:59 -0000	1.8
+++ ztriangle.cpp	11 Aug 2005 13:34:53 -0000	1.9
@@ -289,15 +289,15 @@
 	   unsigned int light = tmp | (tmp >> 16); \
        PIXEL pixel = *(PIXEL *)((char *)texture+ \
           (((t & 0x3FC00000) | (s & 0x003FC000)) >> (17 - PSZSH)));\
-       unsigned int c_r = (pixel & 0xF800) >> 9;    \
-       unsigned int c_g = (pixel & 0x07E0) >> 4;    \
-       unsigned int c_b = (pixel & 0x001F) << 2;    \
-       unsigned int l_r = (light & 0xF800) >> 9;    \
-       unsigned int l_g = (light & 0x07E0) >> 4;    \
-       unsigned int l_b = (light & 0x001F) << 2;    \
-       c_r = (c_r + l_r); \
-       c_g = (c_g + l_g); \
-       c_b = (c_b + l_b); \
+       unsigned int c_r = (pixel & 0xF800) >> 8;    \
+       unsigned int c_g = (pixel & 0x07E0) >> 3;    \
+       unsigned int c_b = (pixel & 0x001F) << 3;    \
+       unsigned int l_r = (light & 0xF800) >> 8;    \
+       unsigned int l_g = (light & 0x07E0) >> 3;    \
+       unsigned int l_b = (light & 0x001F) << 3;    \
+       c_r = (c_r * l_r) / 256; \
+       c_g = (c_g * l_g) / 256; \
+       c_b = (c_b * l_b) / 256; \
        pixel = ((c_r & 0xF8) << 8) | ((c_g & 0xFC) << 3) | (c_b >> 3); \
        pp[_a]=pixel;            \
        pz[_a]=zz;				\





More information about the Scummvm-git-logs mailing list