https://bugs.winehq.org/show_bug.cgi?id=44863
--- Comment #16 from Stefan Dösinger stefan@codeweavers.com --- After some discussion about the MR Henri linked to I experimented a bit more with this game and my suspected capability flag issues.
I managed to run the game on Windows 11 with Windows' own ddraw. It doesn't set up the screen correctly (only a part of the game is displayed), but I got a new game started. It is somewhat sluggish, I would guess 20-30 fps, but a lot better than what Wine currently gets.
While reading over the caps code I came across D3DDEVICEDESC::dwMaxVertexCount, which we currently set to 65536 (since ddraw is limited to 16 bit index buffers). Lowering this value to 1024, which my Radeon Windows 11 driver sets, makes the game use smaller (1024 vertices / 32kb) vertex buffers and fixes the performance issues in this particular game. It doesn't answer other questions MR 2404 raises though.
Regarding the OutputDebugString diagnostics written by the game's 3D Engine:
"NetImmerse D3DDriver Info: Hardware supports system memory textures" is an effect of D3DDEVCAPS_TEXTURESYSTEMMEMORY, which we set and my windows driver does not. "NetImmerse D3DDriver Info: No AGP support detected" is printed because we do not set DDCAPS2_NONLOCALVIDMEM. With this flag set the output switches to "NetImmerse D3DDriver Info: 2x (Execute) AGP support detected", same as on Windows. Neither flag changes the game behavior and its handling of vertex data.