if dgVodooo could pull of Wine's rendering accuracy.
Ironically, the problem was using double precision at some matrix multiplication operation(s), instead of single prec.
I fixed it and now Mafia and Morrowind (the same problem) seems to be perfect.
DX always used single precision for its calculations, both on FPU for sw vertex processing and GPU for hw vertex processing.
dgVoodoo however still has an issue with single/double prec, some of the nVidia tech demos simply get into infinite loop and hang (expecting single prec but the FPU is set to double).
I had some bad assumptions in the beginning when started to write D3D emulation, that's why this issue is still there. I don't want to fix it in the next version thought because it could easily broke anything and require tremendous testings.