Change algorithm to detect lighted / unlighted vertices.

diff --git a/dlls/ddraw/d3ddevice/mesa.c b/dlls/ddraw/d3ddevice/mesa.c
index 1491c90..0b7693a 100644
--- a/dlls/ddraw/d3ddevice/mesa.c
+++ b/dlls/ddraw/d3ddevice/mesa.c
@@ -1029,7 +1029,7 @@
 				   DWORD dwIndexCount,
 				   DWORD dwFlags)
 {
-    BOOLEAN vertex_lighted = (d3dvtVertexType & D3DFVF_NORMAL) == 0;
+    BOOLEAN vertex_lighted = FALSE;
     IDirect3DDeviceGLImpl* glThis = (IDirect3DDeviceGLImpl*) This;
 
     if (TRACE_ON(ddraw)) {
@@ -1037,6 +1037,14 @@
     }
 
     ENTER_GL();
+    
+    /* Just a hack for now.. Will have to find better algorithm :-/ */
+    if ((d3dvtVertexType & D3DFVF_POSITION_MASK) != D3DFVF_XYZ) {
+        vertex_lighted = TRUE;
+    } else {
+        if ((d3dvtVertexType & D3DFVF_NORMAL) == 0) glNormal3f(0.0, 0.0, 0.0);
+    }
+    
     draw_primitive_handle_GL_state(This,
 				   (d3dvtVertexType & D3DFVF_POSITION_MASK) != D3DFVF_XYZ,
 				   vertex_lighted);