Installer overwatch-standard

This script is for reference only and can't be directly used to install the game in the Lutris client. To install the game, download the full script.

files:
- cache-updater: https://lutris.nyc3.cdn.digitaloceanspaces.com/games/overwatch/state-cache-update.sh
- setup: http://dist.blizzard.com/downloads/bna-installers/322d5bb9ae0318de3d4cde7641c96425/retail.1/Battle.net-Setup-enUS.exe
- dxvkcache: https://lutris.nyc3.cdn.digitaloceanspaces.com/games/overwatch/Overwatch.tar.xz
game:
  arch: win64
  args: --exec="launch Pro"
  exe: drive_c/Program Files (x86)/Battle.net/Battle.net.exe
  prefix: $GAMEDIR
installer:
- task:
    arch: win64
    description: Creating 64bit Wine prefix.
    name: create_prefix
    prefix: $GAMEDIR
- extract:
    description: Extracting DXVK state cache
    dst: $GAMEDIR
    file: dxvkcache
- write_file:
    content: '#!/bin/bash

      date="$(wget --server-response --spider https://lutris.nyc3.cdn.digitaloceanspaces.com/games/overwatch/Overwatch.tar.xz
      2>&1 | sed -n "s/  Last-Modified: //p")"

      date="$(date -d "$date" +%s)"

      echo "$date" > ./state-cache-merge/.state-cache-timestamp'
    file: $GAMEDIR/timestamp.sh
- write_file:
    content: 'dxgi.nvapiHack = False

      [Overwatch.exe]

      dxvk.hud = compiler'
    file: $GAMEDIR/dxvk.conf
- merge:
    dst: $GAMEDIR/state-cache-merge
    src: cache-updater
- chmodx: $GAMEDIR/state-cache-merge/state-cache-update.sh
- chmodx: $GAMEDIR/timestamp.sh
- execute:
    file: $GAMEDIR/timestamp.sh
- move:
    dst: $CACHE
    src: $GAMEDIR/timestamp.sh
- task:
    app: arial
    arch: win64
    description: Installing Arial font...
    name: winetricks
    prefix: $GAMEDIR
    silent: true
- task:
    name: winekill
    prefix: $GAMEDIR
- write_json:
    data:
      Client:
        GameLaunchWindowBehavior: '2'
        GameSearch:
          BackgroundSearch: 'true'
        HardwareAcceleration: 'false'
        Sound:
          Enabled: 'false'
        Streaming:
          StreamingEnabled: 'false'
    description: Writing a Battle.Net config file
    file: $GAMEDIR/drive_c/users/$USER/Application Data/Battle.net/Battle.net.config
- write_config:
    description: Enabling Borderless Windowed mode
    file: $GAMEDIR/drive_c/users/$USER/Documents/Overwatch/Settings/Settings_v0.ini
    key: WindowMode
    section: Render.13
    value: '"1"'
- write_config:
    description: Switching to WEBM format for saving Highlights
    file: $GAMEDIR/drive_c/users/$USER/Documents/Overwatch/Settings/Settings_v0.ini
    key: Type
    section: MovieExport.1
    value: '"1"'
- write_config:
    description: Disabling hardware acceleration for saving Highlights
    file: $GAMEDIR/drive_c/users/$USER/Documents/Overwatch/Settings/Settings_v0.ini
    key: UseHardware
    section: MovieExport.1
    value: '"0"'
- write_file:
    content: hasseennewcinematic=True
    description: Adding a startup workaround for Hearthstone
    file: $GAMEDIR/drive_c/users/$USER/Local Settings/Application Data/Blizzard/Hearthstone/options.txt
- task:
    arch: win64
    description: 'Wine Staging: Enabling DXVA2'
    key: backend
    name: set_regedit
    path: HKEY_CURRENT_USER\Software\Wine\DXVA2
    prefix: $GAMEDIR
    value: va
- task:
    name: winekill
    prefix: $GAMEDIR
- task:
    arch: win64
    description: 'Installing Blizzard App. An installer will open.

      ------------------------------

      After the App installs a login window will open.  Do Not sign in here. Close
      the window and allow the installer to finish.  You can login and install the
      game once the installer script completes.'
    exclude_processes: Battle.net.exe Agent.exe "Battle.net Helper.exe" wineconsole
      explorer.exe conhost.exe svchost.exe
    executable: setup
    name: wineexec
- task:
    name: winekill
    prefix: $GAMEDIR
system:
  env:
    DXVK_CONFIG_FILE: $GAMEDIR/dxvk.conf
    DXVK_STATE_CACHE_PATH: $GAMEDIR
    STAGING_SHARED_MEMORY: 1
    __GL_DXVK_OPTIMIZATIONS: 1
    __GL_SHADER_DISK_CACHE: 1
    __GL_SHADER_DISK_CACHE_PATH: $GAMEDIR
  exclude_processes: Agent.exe "Battle.net Helper.exe"
  manual_command: $GAMEDIR/state-cache-merge/state-cache-update.sh
{
  "files": [
    {
      "cache-updater": "https://lutris.nyc3.cdn.digitaloceanspaces.com/games/overwatch/state-cache-update.sh"
    },
    {
      "setup": "http://dist.blizzard.com/downloads/bna-installers/322d5bb9ae0318de3d4cde7641c96425/retail.1/Battle.net-Setup-enUS.exe"
    },
    {
      "dxvkcache": "https://lutris.nyc3.cdn.digitaloceanspaces.com/games/overwatch/Overwatch.tar.xz"
    }
  ],
  "game": {
    "arch": "win64",
    "args": "--exec=\"launch Pro\"",
    "exe": "drive_c/Program Files (x86)/Battle.net/Battle.net.exe",
    "prefix": "$GAMEDIR"
  },
  "installer": [
    {
      "task": {
        "arch": "win64",
        "description": "Creating 64bit Wine prefix.",
        "name": "create_prefix",
        "prefix": "$GAMEDIR"
      }
    },
    {
      "extract": {
        "description": "Extracting DXVK state cache",
        "dst": "$GAMEDIR",
        "file": "dxvkcache"
      }
    },
    {
      "write_file": {
        "content": "#!/bin/bash\ndate=\"$(wget --server-response --spider https://lutris.nyc3.cdn.digitaloceanspaces.com/games/overwatch/Overwatch.tar.xz 2>&1 | sed -n \"s/  Last-Modified: //p\")\"\ndate=\"$(date -d \"$date\" +%s)\"\necho \"$date\" > ./state-cache-merge/.state-cache-timestamp",
        "file": "$GAMEDIR/timestamp.sh"
      }
    },
    {
      "write_file": {
        "content": "dxgi.nvapiHack = False\n[Overwatch.exe]\ndxvk.hud = compiler",
        "file": "$GAMEDIR/dxvk.conf"
      }
    },
    {
      "merge": {
        "dst": "$GAMEDIR/state-cache-merge",
        "src": "cache-updater"
      }
    },
    {
      "chmodx": "$GAMEDIR/state-cache-merge/state-cache-update.sh"
    },
    {
      "chmodx": "$GAMEDIR/timestamp.sh"
    },
    {
      "execute": {
        "file": "$GAMEDIR/timestamp.sh"
      }
    },
    {
      "move": {
        "dst": "$CACHE",
        "src": "$GAMEDIR/timestamp.sh"
      }
    },
    {
      "task": {
        "app": "arial",
        "arch": "win64",
        "description": "Installing Arial font...",
        "name": "winetricks",
        "prefix": "$GAMEDIR",
        "silent": true
      }
    },
    {
      "task": {
        "name": "winekill",
        "prefix": "$GAMEDIR"
      }
    },
    {
      "write_json": {
        "data": {
          "Client": {
            "GameLaunchWindowBehavior": "2",
            "GameSearch": {
              "BackgroundSearch": "true"
            },
            "HardwareAcceleration": "false",
            "Sound": {
              "Enabled": "false"
            },
            "Streaming": {
              "StreamingEnabled": "false"
            }
          }
        },
        "description": "Writing a Battle.Net config file",
        "file": "$GAMEDIR/drive_c/users/$USER/Application Data/Battle.net/Battle.net.config"
      }
    },
    {
      "write_config": {
        "description": "Enabling Borderless Windowed mode",
        "file": "$GAMEDIR/drive_c/users/$USER/Documents/Overwatch/Settings/Settings_v0.ini",
        "key": "WindowMode",
        "section": "Render.13",
        "value": "\"1\""
      }
    },
    {
      "write_config": {
        "description": "Switching to WEBM format for saving Highlights",
        "file": "$GAMEDIR/drive_c/users/$USER/Documents/Overwatch/Settings/Settings_v0.ini",
        "key": "Type",
        "section": "MovieExport.1",
        "value": "\"1\""
      }
    },
    {
      "write_config": {
        "description": "Disabling hardware acceleration for saving Highlights",
        "file": "$GAMEDIR/drive_c/users/$USER/Documents/Overwatch/Settings/Settings_v0.ini",
        "key": "UseHardware",
        "section": "MovieExport.1",
        "value": "\"0\""
      }
    },
    {
      "write_file": {
        "content": "hasseennewcinematic=True",
        "description": "Adding a startup workaround for Hearthstone",
        "file": "$GAMEDIR/drive_c/users/$USER/Local Settings/Application Data/Blizzard/Hearthstone/options.txt"
      }
    },
    {
      "task": {
        "arch": "win64",
        "description": "Wine Staging: Enabling DXVA2",
        "key": "backend",
        "name": "set_regedit",
        "path": "HKEY_CURRENT_USER\\Software\\Wine\\DXVA2",
        "prefix": "$GAMEDIR",
        "value": "va"
      }
    },
    {
      "task": {
        "name": "winekill",
        "prefix": "$GAMEDIR"
      }
    },
    {
      "task": {
        "arch": "win64",
        "description": "Installing Blizzard App. An installer will open.\n------------------------------\nAfter the App installs a login window will open.  Do Not sign in here. Close the window and allow the installer to finish.  You can login and install the game once the installer script completes.",
        "exclude_processes": "Battle.net.exe Agent.exe \"Battle.net Helper.exe\" wineconsole explorer.exe conhost.exe svchost.exe",
        "executable": "setup",
        "name": "wineexec"
      }
    },
    {
      "task": {
        "name": "winekill",
        "prefix": "$GAMEDIR"
      }
    }
  ],
  "system": {
    "env": {
      "DXVK_CONFIG_FILE": "$GAMEDIR/dxvk.conf",
      "DXVK_STATE_CACHE_PATH": "$GAMEDIR",
      "STAGING_SHARED_MEMORY": 1,
      "__GL_DXVK_OPTIMIZATIONS": 1,
      "__GL_SHADER_DISK_CACHE": 1,
      "__GL_SHADER_DISK_CACHE_PATH": "$GAMEDIR"
    },
    "exclude_processes": "Agent.exe \"Battle.net Helper.exe\"",
    "manual_command": "$GAMEDIR/state-cache-merge/state-cache-update.sh"
  }
}
Back to game