Changelog: - removed some useless WARNs - fixed backface culling and material settings -- Lionel Ulmer - http://www.bbrox.org/
--- /home/ulmer/Wine/wine_base//dlls/ddraw/d3ddevice/mesa.c 2002-12-28 19:48:18.000000000 +0100 +++ /home/ulmer/Wine/wine_work//dlls/ddraw/d3ddevice/mesa.c 2002-12-28 19:52:39.000000000 +0100 @@ -1478,19 +1478,19 @@ This->current_material = *lpMat; - glMaterialfv(GL_FRONT, + glMaterialfv(GL_FRONT_AND_BACK, GL_DIFFUSE, (float *) &(This->current_material.u.diffuse)); - glMaterialfv(GL_FRONT, + glMaterialfv(GL_FRONT_AND_BACK, GL_AMBIENT, (float *) &(This->current_material.u1.ambient)); - glMaterialfv(GL_FRONT, + glMaterialfv(GL_FRONT_AND_BACK, GL_SPECULAR, (float *) &(This->current_material.u2.specular)); - glMaterialfv(GL_FRONT, + glMaterialfv(GL_FRONT_AND_BACK, GL_EMISSION, (float *) &(This->current_material.u3.emissive)); - glMaterialf(GL_FRONT, + glMaterialf(GL_FRONT_AND_BACK, GL_SHININESS, This->current_material.u4.power); /* Not sure about this... */ --- /home/ulmer/Wine/wine_base//dlls/ddraw/d3dmaterial.c 2002-12-22 12:06:18.000000000 +0100 +++ /home/ulmer/Wine/wine_work//dlls/ddraw/d3dmaterial.c 2002-12-28 19:52:18.000000000 +0100 @@ -290,19 +290,19 @@ /* Set the current Material */ _dump_colorvalue("Diffuse", This->mat.u.diffuse); - glMaterialfv(GL_FRONT, + glMaterialfv(GL_FRONT_AND_BACK, GL_DIFFUSE, (float *) &(This->mat.u.diffuse)); _dump_colorvalue("Ambient", This->mat.u1.ambient); - glMaterialfv(GL_FRONT, + glMaterialfv(GL_FRONT_AND_BACK, GL_AMBIENT, (float *) &(This->mat.u1.ambient)); _dump_colorvalue("Specular", This->mat.u2.specular); - glMaterialfv(GL_FRONT, + glMaterialfv(GL_FRONT_AND_BACK, GL_SPECULAR, (float *) &(This->mat.u2.specular)); _dump_colorvalue("Emissive", This->mat.u3.emissive); - glMaterialfv(GL_FRONT, + glMaterialfv(GL_FRONT_AND_BACK, GL_EMISSION, (float *) &(This->mat.u3.emissive)); --- /home/ulmer/Wine/wine_base//dlls/ddraw/mesa.c 2002-12-28 19:48:18.000000000 +0100 +++ /home/ulmer/Wine/wine_work//dlls/ddraw/mesa.c 2002-12-28 19:53:06.000000000 +0100 @@ -312,12 +312,12 @@ /* Not sure about these... The DirectX doc is, well, pretty unclear :-) */ case D3DCULL_CW: glEnable(GL_CULL_FACE); - glFrontFace(GL_CW); + glFrontFace(GL_CCW); glCullFace(GL_BACK); break; case D3DCULL_CCW: glEnable(GL_CULL_FACE); - glFrontFace(GL_CCW); + glFrontFace(GL_CW); glCullFace(GL_BACK); break; default: --- /home/ulmer/Wine/wine_base//dlls/ddraw/d3dvertexbuffer.c 2002-12-27 10:30:23.000000000 +0100 +++ /home/ulmer/Wine/wine_work//dlls/ddraw/d3dvertexbuffer.c 2002-12-28 19:48:50.000000000 +0100 @@ -109,7 +109,8 @@ Main_IDirect3DVertexBufferImpl_7_1T_Unlock(LPDIRECT3DVERTEXBUFFER7 iface) { ICOM_THIS_FROM(IDirect3DVertexBufferImpl, IDirect3DVertexBuffer7, iface); - FIXME("(%p/%p)->(): stub!\n", This, iface); + TRACE("(%p/%p)->()\n", This, iface); + /* Nothing to do here for now. Maybe some optimizations if ever we want to do some :-) */ return DD_OK; }