protonscr

Ceville

protonopen appid 23460Game compatibility - Unofficial.NET
ValveSoftware/Proton#5101 · opened 2021-08-21 by ipr · updated 2021-11-11 · 6 comments · github · game page · search this game
Iipr 2021-08-21 github

Compatibility Report

  • Name of the game with compatibility issues: Ceville
  • Steam AppID of the game: 23460

System Information

  • GPU: [AMD/ATI] Vega 10 XL/XT [Radeon RX Vega 56/64] (rev c3)
  • Driver/LLVM version: Mesa 21.2.1-1
  • Kernel version: 5.13.12
  • Proton version: 6.3-6

I confirm:

  • [x] that I haven't found an existing compatibility report for this game.
  • [x] that I have checked whether there are updates for my system available.

Symptoms

Game exists with Microsoft C++ runtime error when loading.
This game had issue on native Windows where you have to run it windowed or you get black screen, but this is not the issue under Proton.
Also when game installs it does complain about having to use Windows features to turn on/off .NET runtime 3.5. Is this still required to be installed when running with Wine/Mono?

Reproduction

  1. start game
  2. select "new game"
  3. wait loading to end into Microsoft C++ runtime error

steam-23460.log

Mmadewokherd 2021-08-23 github

I think the C++ exceptions are the problem.

D3D9 : Loading 2D Texture, image name : 'inv_arrow_left.dds' with 2147483647 mip map levels
7496.349:00fc:0100:err:seh:dispatch_exception Fatal EXCEPTION_WINE_CXX_EXCEPTION exception (code=e06d7363) raised

I don't know a lot about textures, but 2147483647 sounds like a lot of mip map levels.

Mmadewokherd 2021-08-23 github

Adding +msvcp to WINEDEBUG makes it possible to see a string representation of the exception:

0110:trace:msvcp:MSVCP_basic_string_char_ctor_cstr_len 00BEBE1C "OGRE EXCEPTION(6:FileNotFoundException): Cannot locate resource inv_arrow_left_shadow.dds in resource group shared or any other group. in ResourceGroupManager::openResource at ..\\src\\OgreResourceGroupManager.cpp (line 604)" 222

Most of the .dds files mentioned in the log are in .zip files in the game's folder, but I can't find inv_arrow_left_shadow.dds anywhere. I guess it either shouldn't be looking for that file, or something should catch the exception.

Mmadewokherd 2021-08-23 github

Wild guess: the C++ exception should be translated to a .NET exception and caught by managed code.

Does this work with .NET Framework?

Iipr 2021-08-23 github

I think the C++ exceptions are the problem.

D3D9 : Loading 2D Texture, image name : 'inv_arrow_left.dds' with 2147483647 mip map levels
7496.349:00fc:0100:err:seh:dispatch_exception Fatal EXCEPTION_WINE_CXX_EXCEPTION exception (code=e06d7363) raised

I don't know a lot about textures, but 2147483647 sounds like a lot of mip map levels.

That's 2^31 -1 so likely a bitmask in a wrong place or might be a result of an overflow error somewhere.
Exception is the symptom when something has gone wrong somewhere already, like a fever is the symptom of an infection.

Game did work under Windows years ago but I have nothing to test with now.

Sshakeyourbunny 2021-08-30 github

You can download a (non-Steam) demo of the game on https://games.softpedia.com/get/Games-Demo/Ceville.shtml

Sshakeyourbunny 2021-08-30 github

I did a custom WINE 6.16 prefix with the GOG version of Ceville, which is 1.0.2.0.

Things done:

  • Windows version set to Windows XP (it is a game frome that time period).
  • installed .NET 3.5 with winetricks.

After that, there was no problem playing.

Steam version is 1.0.1.0, so I guess the Steam version is out of date.

See https://www.moddb.com/games/ceville to download (Windows) Patch to 1.0.2.0.

Launch options