dxwrapper icon indicating copy to clipboard operation
dxwrapper copied to clipboard

[Dd7to9] on Linux WINE: Carnivores 2 (missing textures)

Open boykokanev opened this issue 9 months ago • 9 comments

I tried the latest release of dx7.games with Carnivores 2 but no textures could load. The log had these warnings and errors:

m_IDirect3DViewportX::SetViewport Warning: 'Scale homogeneous' Not Implemented:  ScaleX: 800 ScaleY: 600 MaxX: 1 MaxY: 1
m_IDirect3DDeviceX::SetRenderState Warning: 'D3DRENDERSTATE_ZVISIBLE' not implemented: 1
m_IDirect3DDeviceX::SetRenderState Warning: 'D3DRENDERSTATE_OLDALPHABLENDENABLE' not implemented! 1
m_IDirect3DDeviceX::SetRenderState Error: could not get texture handle!
m_IDirect3DViewportX::Release Error: wrapper interface version not found: 0

I also ran the debug build to get the log files: dxwrapper-carn2-debug.log dxwrapper-carn2.log dxwrapper-v_d3d-debug.zip dxwrapper-v_d3d.log Image

Running on:

  • Manjaro Linux 25.0.0preview-1, Kernel 6.12.19-1, Mesa 25.0.1-2
  • wine-staging 10.3
  • dxvk 2.6

boykokanev avatar Mar 28 '25 11:03 boykokanev

m_IDirect3DViewportX::SetViewport Warning: 'Scale homogeneous' Not Implemented:  ScaleX: 800 ScaleY: 600 MaxX: 1 MaxY: 1
m_IDirect3DDeviceX::SetRenderState Warning: 'D3DRENDERSTATE_ZVISIBLE' not implemented: 1
m_IDirect3DDeviceX::SetRenderState Warning: 'D3DRENDERSTATE_OLDALPHABLENDENABLE' not implemented! 1

These warnings can probably be safely ignored.

m_IDirect3DDeviceX::SetRenderState Error: could not get texture handle!

This is probably the cause of the missing textures. I'll need to investigate why this is happening.

m_IDirect3DViewportX::Release Error: wrapper interface version not found: 0

I think this should be fixed in the latest dev build.

elishacloud avatar Mar 28 '25 13:03 elishacloud

m_IDirect3DViewportX::SetViewport Warning: 'Scale homogeneous' Not Implemented:  ScaleX: 800 ScaleY: 600 MaxX: 1 MaxY: 1
m_IDirect3DDeviceX::SetRenderState Warning: 'D3DRENDERSTATE_ZVISIBLE' not implemented: 1
m_IDirect3DDeviceX::SetRenderState Warning: 'D3DRENDERSTATE_OLDALPHABLENDENABLE' not implemented! 1

These warnings can probably be safely ignored.

m_IDirect3DDeviceX::SetRenderState Error: could not get texture handle!

This is probably the cause of the missing textures. I'll need to investigate why this is happening.

m_IDirect3DViewportX::Release Error: wrapper interface version not found: 0

I think this should be fixed in the latest dev build.

Thank you for the clarification!

boykokanev avatar Mar 28 '25 13:03 boykokanev

Can you please try with the latest build? Here's the latest build: dxwrapper.zip

elishacloud avatar Oct 04 '25 02:10 elishacloud

Can you please try with the latest build? Here's the latest build: dxwrapper.zip

There's been some changes in wine-staging 10.15 when it comes to 32bit support so I'm not sure if its from wine but from my quick tests the game crashes now and these are the lines from the logs that stand out.

300 20:34:31.575 Redirecting 'DirectDrawCreate' to --> 'Direct3DCreate9'
300 20:34:31.575 GetD3d9UnnamedOrdinal cannot find unnamed ordinal '18' in System32 d3d9.dll!
300 20:34:31.575 Direct3D9SetSwapEffectUpgradeShim Error: Failed to get address!
300 20:34:31.575 Creating interface m_IDirectDrawX::m_IDirectDrawX (009AE0A0) converting interface from v1 to v9
300 20:34:31.575 Redirecting 'Direct3DCreate9' ...

and

348 20:34:46.520 m_IDirect3DDeviceX::SetRenderState Warning: 'D3DRENDERSTATE_TEXTUREPERSPECTIVE' not implemented: 1

The rest of the Warnings and Errors are gone, though it's probably because the game crashes.

boykokanev avatar Oct 08 '25 17:10 boykokanev

I've done some more testing and the game would work without crashing at random times. But there's this glitch where I could see through things.

dxwrapper-carn2.log dxwrapper-v_d3d.log

Image Image

boykokanev avatar Oct 08 '25 20:10 boykokanev

300 20:34:31.575 GetD3d9UnnamedOrdinal cannot find unnamed ordinal '18' in System32 d3d9.dll!
300 20:34:31.575 Direct3D9SetSwapEffectUpgradeShim Error: Failed to get address!

and

348 20:34:46.520 m_IDirect3DDeviceX::SetRenderState Warning: 'D3DRENDERSTATE_TEXTUREPERSPECTIVE' not implemented: 1

You can ignore these errors and warnings. Direct3D9SetSwapEffectUpgradeShim is only available on Windows 10 and 11. D3DRENDERSTATE_TEXTUREPERSPECTIVE isn't used in Direct3D9. I don't think it causes any issues.

I've done some more testing and the game would work without crashing at random times.

Is this new? The older build doesn't crash?

But there's this glitch where I could see through things.

I suspect the issue is related to this log message:

356 23:30:15.867 m_IDirect3DDeviceX::Execute Warning: zero vertices to process. Skip processing!

elishacloud avatar Oct 08 '25 22:10 elishacloud

But there's this glitch where I could see through things.

This might fix the issue. Can you test this one: dxwrapper.zip (diff.txt)

elishacloud avatar Oct 08 '25 22:10 elishacloud

But there's this glitch where I could see through things.

This might fix the issue. Can you test this one: dxwrapper.zip (diff.txt)

I'm not entirely sure but it feels like it crashes more often with this version. I still can see through objects, like seeing a lake though the hills. I don't know if this helps but the closer I move to an object the less likely it is to see through the objects, although there are objects that have missing geometry even when I'm standing next to them, like the shadows of dinosaurs.

boykokanev avatar Oct 09 '25 11:10 boykokanev

I just checked and the shadow of dinosaurs fixes itself if I'm close enough, but there are objects that have missing things like the compass has missing black geometry and you can see the water though it in this snapshot (pay attention to the letters on the compass) and the water has square edges on the shore. Also the frame rate plummets when I pull out a weapon.

Image

boykokanev avatar Oct 09 '25 12:10 boykokanev