Script for GOG version of Soldier of Fortune 2

Same thing

Ah now we are getting somewhere. :slight_smile:

name: Soldier of Fortune II - Double Helix
game_slug: soldier-of-fortune-ii-double-helix
version: 0.1
slug: soldier-of-fortune-ii-double-helix-installer
runner: wine

script:
    exe: drive_c/Program Files/Soldier of Fortune II - Double Helix/SoF2.exe
    files:
    - file1: N/A:Select the game's setup file
    game:
    arch: win32
    prefix: $GAMEDIR
    installer:
    - task:
        description: Installing Soldier of Fortune II - Double Helix
        executable: $file1
        name: wineexec
        prefix: $GAMEDIR
    system:
    env:
        __GL_ExtensionStringVersion: '17700'

I’m suck right here.

Ok. What does your console say?

Gtk-Message: 17:54:17.123: GtkDialog mapped without a transient parent. This is discouraged.
2020-03-19 17:54:18,043: Updating DXVK versions
2020-03-19 17:54:18,206: Connected to lutris.net as cartoon49
2020-03-19 17:54:18,433: Updating D9VK versions
2020-03-19 17:54:21,631: Getting runner information for wine
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/lutris/gui/installerwindow.py", line 252, in on_install_clicked
    self.interpreter.check_runner_install()
  File "/usr/lib/python3/dist-packages/lutris/installer/interpreter.py", line 483, in check_runner_install
    self.install_runners()
  File "/usr/lib/python3/dist-packages/lutris/installer/interpreter.py", line 490, in install_runners
    self.prepare_game_files()
  File "/usr/lib/python3/dist-packages/lutris/installer/interpreter.py", line 356, in prepare_game_files
    if self.version.startswith("GOG"):
AttributeError: 'float' object has no attribute 'startswith'
Error in sys.excepthook:
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/apport_python_hook.py", line 145, in apport_excepthook
    os.O_WRONLY | os.O_CREAT | os.O_EXCL, 0o640), 'wb') as f:
FileNotFoundError: [Errno 2] No such file or directory: '/var/crash/_usr_bin_lutris.1000.crash'

Original exception was:
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/lutris/gui/installerwindow.py", line 252, in on_install_clicked
    self.interpreter.check_runner_install()
  File "/usr/lib/python3/dist-packages/lutris/installer/interpreter.py", line 483, in check_runner_install
    self.install_runners()
  File "/usr/lib/python3/dist-packages/lutris/installer/interpreter.py", line 490, in install_runners
    self.prepare_game_files()
  File "/usr/lib/python3/dist-packages/lutris/installer/interpreter.py", line 356, in prepare_game_files
    if self.version.startswith("GOG"):
AttributeError: 'float' object has no attribute 'startswith'

Wow that’s quite a hard error. What version of Lutris are you running?

0.5.4

Ok, I just bought this game because this is bugging me.

Currently testing this version of the script:

name: Soldier of Fortune II - Double Helix
game_slug: soldier-of-fortune-ii-double-helix
version: Soldier of Fortune II - Double Helix 0.1
slug: soldier-of-fortune-ii-double-helix-installer
runner: wine

script:
  game:
    exe: $GAMEDIR/prefix/drive_c/GOG Games/Soldier of Fortune 2/SoF2.exe
    prefix: $GAMEDIR/prefix
    arch: win32
    working_dir: $GAMEDIR/prefix
  files:
  - installation: "N/A:Select the game's setup file"
  installer:
  - task:
      description: Installing Soldier of Fortune II - Double Helix
      executable: installation
      name: wineexec
      prefix: $GAMEDIR/prefix
      arch: win32

Installation is running.

Edit: I’m getting a black screen and my keyboard is unresponsive. This one needs some more investigation…

Im getting this.

Yes, got that one too. Removed the working dir to fix that.

Npw I got this error:

HDA ATI HDMI HDMI/DP,pc"=3 (js)"="disabled

Curent installer:

name: Soldier of Fortune II - Double Helix
game_slug: soldier-of-fortune-ii-double-helix
version: Soldier of Fortune II - Double Helix 0.1
slug: soldier-of-fortune-ii-double-helix-installer
runner: wine

script:
  game:
    exe: $GAMEDIR/prefix/drive_c/GOG Games/Soldier of Fortune 2/SoF2.exe
    prefix: $GAMEDIR/prefix
    arch: win32
  files:
  - installation: "N/A:Select the game's setup file"
  installer:
  - task:
      description: Installing Soldier of Fortune II - Double Helix
      executable: installation
      name: wineexec
      prefix: $GAMEDIR/prefix
      arch: win32

I get this

 2020-03-19 19:38:56,748: Game still running (state: running)
2020-03-19 19:38:56,749: Stopping Soldier of Fortune II - Double Helix (wine)
TypeError: refresh() takes 1 positional argument but 3 were given
Error in sys.excepthook:
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/apport_python_hook.py", line 145, in apport_excepthook
    os.O_WRONLY | os.O_CREAT | os.O_EXCL, 0o640), 'wb') as f:
FileNotFoundError: [Errno 2] No such file or directory: '/var/crash/_usr_bin_lutris.1000.crash'

Original exception was:
TypeError: refresh() takes 1 positional argument but 3 were given

During installation?

when launching the game.

I see that one too but when I look at the log (via the show log button in Lutris) I see a stack overflow error:

0009:err:seh:setup_exception_record stack overflow 1264 bytes in thread 0009 eip 7bc6c9a6 esp 00240e40 stack 0x240000-0x241000-0xa40000

Ow…running a Playonlinux Wine 2.1 staging x86 bottle now:

image

So the stack overflow error is gone and it finds the file in the pk3 files. It still can’t find the sof2.cfg file.
And then this error. Somehow it thinks that I’m running a NVIDIA card…

fixme:d3d:wined3d_dxtn_init Wine cannot find the txc_dxtn library, DXTn software support unavailable.
fixme:d3d:wined3d_guess_card_vendor Received unrecognized GL_VENDOR "X.Org". Returning HW_VENDOR_NVIDIA.

Any update?

No not yet. It’s now a matter of playing with settings, searching the net for clues. The change of wine version to an older one was a first good clue.

These are good sources:
https://appdb.winehq.org/objectManager.php?sClass=application&iId=751

Wine-staging-3.12-x86_64 doesn’t report errors. The game still reports a missing sof2.cfg.

it says.
export MESA_EXTENSION_MAX_YEAR=2003

That’s for intel graphics cards.

But a good indication is the WINE versions that were used and work from there.

Any update on it?