http://bugs.winehq.org/show_bug.cgi?id=6932
------- Additional Comments From stefandoesinger@gmx.at 2006-18-12 03:59 ------- The effect of this blending patch is, appart from the code move, that GL_BLEND stays always active when one state that needs it is on. Maybe one of those 3 states shouldn't activate GL_BLEND.
I noticed that a lot of things seem to be missing or semi-transparent in this game. The road ahead of you, the bumpers to the right(or whatever it should be). Maybe this patch just exhibits a different bug.
One thing looks suspicious, can you try to edit dlls/wined3d/state.c, state_blend(), around line 215(my line numbers are slightly different):
if (stateblock->renderState[WINED3DRS_ALPHABLENDENABLE] || stateblock->renderState[WINED3DRS_EDGEANTIALIAS] || stateblock->renderState[WINED3DRS_ANTIALIASEDLINEENABLE] || stateblock->renderState[WINED3DRS_BLENDFACTOR] != 0xFFFFFFFF) {
end remove the WINED3DRS_BLENDFACTOR condition here? It looks pretty wrong, especially with the || condition to the others.