[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