• TooL@kbin.social
    link
    fedilink
    arrow-up
    2
    ·
    2 years ago

    How did you get it to show up as an actual launch item in steam? I have to launch battlnet then launch the game from there. works flawless it’s just one extra step.

    • Derin@lemmy.beru.co
      link
      fedilink
      arrow-up
      11
      ·
      edit-2
      2 years ago

      Simple!

      So, first you need to locate where you’ve installed your copy of Diablo. If you didn’t manually tell Battle.Net to install games into the SD Card, this will be in your Proton Files directory - a.k.a. ~/.steam/steam/steamapps/compatdata/<battlenets_steam_id>/pfx/drive_c/Program Files (x86)/Battle.Net

      1. Your first step will be locating the <battlenets_steam_id> number, as all the folders in compatdata are incomprehensible ids. Just Launch and close Battle.net (via Steam - just open and kill the program), then open the previously described compatdata folder in Desktop Mode and sort the file list by last modified - hopefully your Battle.Net’s installation directory will be at the top. (if not, keep opening those folders until one of them has a Battle.Net folder in Program Files (x86))

      2. After finding the correct compatdata directory, continue into it by navigating to where Diablo 4 is installed (either in your Battle.net folder or somewhere else in Program Files (x86)), and right-click its binary - Diablo 4 Launcher.exe - to add it to Steam as a non-steam game. Note that you aren’t done yet - if you use this link it will not have access to any of your previous user data from the <battlenets_steam_id> compatdata folder - we’ll have to add that.

      3. Go into your Steam library (in Desktop mode with a keyboard is easiest) and right-click the new Diablo 4 entry. Under “Shortcut”, there’ll be a field called launch options. There you want to add the following line:

      STEAM_COMPAT_DATA_PATH="/home/deck/.local/share/Steam/steamapps/compatdata/<battlenets_steam_id>/" %command%

      …making sure to replace the <battlenets_steam_id> part with the id you found earlier, during step 1. This will tell Steam to use the data from your Battle.Net install when launching Diablo (for things like automatically logging in and, well, accessing Battle.Net’s install :D)

      1. At this point you can also do things like give Diablo its own controller settings (I like to use KB+M for the Battle.Net app, but controller specifically for Diablo) and its own Artwork. For artwork, I used the SteamGridDB plugin for DeckyLoader. Also don’t forget to tell the Diablo 4 shortcut to use Proton-GE.

      Finally: these steps work for all third party launchers, so if you also have Ubisoft Connect or EA App games, you can add them in a similar fashion.

      Note: You will need to click through the Battle.Net launcher every time you launch Diablo, that’s just how it works. I tend to tap my screen to get through the prompts quickly, and just kill Battle.Net via Steam when looking to exit.

      • lusterko@sh.itjust.works
        link
        fedilink
        arrow-up
        10
        ·
        2 years ago

        Haha, I love what you’re considering simple(I’m not saying that it’s too complicated, but it’s funny to see a wall of text after “Simple!”)

    • gus@kbin.social
      link
      fedilink
      arrow-up
      1
      ·
      2 years ago

      OP is using a plugin from Decky. It’s still the Battle.net shortcut but you can modify the shortcut name and use the SteamGridDB plugin to grab the actual metadata and art for the game. Check out decky.xyz