[Bug 15683] New: Battle Engine: Aquila: high terrain detail doesn't work properly

wine-bugs at winehq.org wine-bugs at winehq.org
Sun Oct 19 09:57:20 CDT 2008


http://bugs.winehq.org/show_bug.cgi?id=15683

           Summary: Battle Engine: Aquila: high terrain detail doesn't work
                    properly
           Product: Wine
           Version: 1.1.6
          Platform: PC-x86-64
        OS/Version: Linux
            Status: UNCONFIRMED
          Severity: normal
          Priority: P2
         Component: directx-d3d
        AssignedTo: wine-bugs at winehq.org
        ReportedBy: S.vanDrongelen at students.uu.nl


Created an attachment (id=16745)
 --> (http://bugs.winehq.org/attachment.cgi?id=16745)
Annotated, shortened stderr output of wine running BE:A with modified wined3d.

In Battle Engine: Aquila, high terrain detail doesn't seem to work properly.
All terrain faces seem to be changing constantly while flying or walking
through a level.

In the tutorial level, random terrain faces are (partially) dark blue
(stencil-related errors?).

In "Weathering the Storm", the beach you start at is very much like the ground
during the tutorial level: random faces are dark brown (fog or stencil-related
errors?).

In "Weathering the Storm", flying over the area of land right past the beach
will show that the texture of the terrain is completely different when viewed
from long or short distance (mipmap-related errors?).

I don't recall wether these errors also occurred on Windows; I guess they
didn't. I'm currently using the official nVidia drivers for Linux, version
173.14.12 (will try later with 177.80) for my GeForce 7600 GS, and use the
"virtual desktop" with pixel shaders disabled for Wine (otherwise, BE:A won't
run).

---

Attached is whatever wine spits out to stderr, with one difference: I replaced
the checkGLcall macro in state_fogdensity in wined3d by specialized code to
debug this error. Instead of

   fixme:d3d:state_fogdensity >>>>>>>>>>>>>>>>> GL_INVALID_VALUE (0x501) from
glFogf(GL_FOG_DENSITY, (float) Value) @ state.c / 1220

it now always prints a message when err (in checkGLcall) equals GL_NO_ERROR
(normally a TRACE) and GL_INVALID_VALUE (normally printed like above).



More information about the wine-bugs mailing list