redromnon/HeroicBashLauncher

[Bug] Error because of apostrophe in wine prefix folder name

KillerFry opened this issue · 5 comments

Describe the bug
Attempting to run Death's Door which was added to the Steam Deck's game mode using the flatpak version of HeroicBashLauncher the game fails to run. After taking a look at the generated launchflatpakgame.sh the apostrophe (') in the game's name causes a string to terminate earlier.

After replacing the string's apostrophe's with double quotes the game runs fine. I tracked down the generation of this particular line of script to func/checkparameters.py line 264 ( wineprefix = "--wine-prefix '" + winePrefix + "' ")

Don't know if changing that to something like wineprefix = "--wine-prefix "" + winePrefix + "" " would solve the issue.

To Reproduce
Steps to reproduce the behavior:

  1. Install Death's Door through Heroic Game Launcher
  2. Run the game successfully directly from Heroic Game Launcher
  3. Run HeroicBashLauncher flatpak to create scripts
  4. Attempt to run the game from DeathsDoor_Heroic.sh
  5. No go!

Expected behavior
For the game to run.

Details

  • Platform: Steam Deck
  • OS: SteamOS 3.2
  • Heroic Version: 2.3.5
  • Bash Launcher Version: 2.7.2 flatpak

Did you change the wine prefix parameter to something like this : --wine-prefix "/path/to/prefix/Death's Door" in the launch script?
Using double quotes should help.
If I'm not wrong, Heroic excludes some characters like an apostrophe by default. Don't know why it's been included in your case.

It would probably just be easier to rename the prefix and game folders to not include the apostrophe. You can tell Heroic where the game is located by clicking on the album art, Settings, "Change install path" for the game folder. Then in settings, wine, you can fix the prefix folder path.

I agree with @outphase
Implementing double-quotes is not a problem, but I'll do that if some other users also face this issue.

I'm going to close this issue for now.