Hi All,
Please move or delete if this is in the wrong place or has already been answered. I've googled this and looked on YT and surprisingly I haven't found the answer.
I've been using a Steam Deck since the beginning of last year and using a combination of ProtonUp QT / Luxtorpeda has become something I got quite used to.
I like it because your Steam presence changes to in-game, so like if I launch Sam 'n Max Hit the Road in Steam, I can then tell Luxtorpeda I want to run it in ScummVM unified with all my global and per-game settings, and all in the newest version of ScummVM - PLUS the people on my Friends list can see that's the game I'm playing. It doesn't sound like much but I've grown to like it. It makes me more likely to run a game and that's a good thing.
You can also run other interpreters and ports like OpenJK, Raze, and others, but I'm going off-topic.
So I'm back on Windows for the time being and I wanted to do the same thing, I thought it would be fairly straightforward but I just have not been able to figure it out.
I can set the launch options for Duke Nukem 3D to use the Raze Engine very easily with the following line:
"D:\Games\Raze\raze.exe" %command%
It works perfectly and that's all I had to do. I tried aping it with the directory of ScummVM but no juice.
Am I a dumb dummy? A pathetic nimnal? Please ScummVM Help and Support, show me how it's done.
Steam Launch Options for ScummVM Games
Moderator: ScummVM Team
-
- Posts: 18
- Joined: Tue Apr 24, 2012 9:10 pm
Steam Launch Options for ScummVM Games
Last edited by CheeseMeister on Sun Jan 07, 2024 3:30 pm, edited 1 time in total.
Re: Launching ScummVM When Playing Games thru Steam
Could you please paraphrase your question? I re-read your post several times and still do not understand what your problem is.
Eugene
Eugene
-
- Posts: 18
- Joined: Tue Apr 24, 2012 9:10 pm
Re: Launching ScummVM When Playing Games thru Steam
Hi, thanks for the response
TLDR:
Is there a launch option I can use to make compatible Steam games launch into ScummVM?
(I am aware games come pre-packaged with older versions of ScummVM, but I just want to use the latest version that I have installed already)
For Example:
I can launch Build Engine games using the Raze interpreter using this launch option in the game properties:
TLDR:
Is there a launch option I can use to make compatible Steam games launch into ScummVM?
(I am aware games come pre-packaged with older versions of ScummVM, but I just want to use the latest version that I have installed already)
For Example:
I can launch Build Engine games using the Raze interpreter using this launch option in the game properties:
Re: Steam Launch Options for ScummVM Games
You install the modern version of ScummVM, click 'Add Game' and then navigate to the directory where Steam keeps files for your game.
Then you launch it via the ScummVM launcher.
Is this what you're looking for?
Eugene
Then you launch it via the ScummVM launcher.
Is this what you're looking for?
Eugene
Re: Steam Launch Options for ScummVM Games
It looks like you want to start a game directly from your steam library using ScummVM? I have no idea if that can be done as I never tried, but you can have a look at the documentation for using ScummVM on the command line and experiment with it: https://docs.scummvm.org/en/v2.8.0/adva ... _line.html
- Praetorian
- ScummVM Developer
- Posts: 797
- Joined: Tue May 08, 2007 8:54 am
- Location: Greece
- Contact:
Re: Steam Launch Options for ScummVM Games
I don't think that this particular method is possible currently. Not from the page of a Steam launched game.
The "%command%" is replaced with the Steam executable, and it's necessary to be put in the command line for launch options (or else it's assumed to be at the start of it).
In theory, we could expand the "-p" command for ScummVM to allow a full path to executable (or a file) as argument (thus the %command% option would work) and extract from it only the path part and use it as a the path to game data. And then a combination of "--auto-detect", "--recursive" or the "engine:game" (eg. ags:geminirue) if you already know the correct identifiers and depending on where the required game data actually are -- since they might not be in the same folder of the executable. And if they're not in a subfolder from where the executable is, then the above would not work either.
But I am not sure this is an extension we want to implement, in the spirit of keeping the command line handling simple.
Adding a game from Steam's "Games > Add a non-Steam game to my library..." is easy to use, and has worked for me without issues so far. I've added multiple GOG games that I run from my central ScummVM installation, and presumably this would work for Steam games too.
Edit: Just to test the theory above, I've built scummvm locally with the tweak I proposed (keep only the directory path if a file path is specified with the -p option). This works, and you can launch a Steam game (provided it's supported by ScummVM), with the "launch options" field similar to:
But I'm not sure what would be the benefit of this. Achievements won't work (not the Steam ones anyway), Steam cloud saves won't work (unless *maybe* if some more path parameters shenanigans are done, and even then there would be danger of messing up the actual Steam cloud saves (when run without ScummVM), so I wouldn't touch it). I think the playtime report works. Essentially, it behaves more or less like when adding a non-Steam game, without the fuss of customising the library page for it from scratch (with icons/ labels/ background) and with more reports on the page (adding as a non-Steam game produces a very bare bones library page, so you don't get playtime reports and the rest).
The "%command%" is replaced with the Steam executable, and it's necessary to be put in the command line for launch options (or else it's assumed to be at the start of it).
In theory, we could expand the "-p" command for ScummVM to allow a full path to executable (or a file) as argument (thus the %command% option would work) and extract from it only the path part and use it as a the path to game data. And then a combination of "--auto-detect", "--recursive" or the "engine:game" (eg. ags:geminirue) if you already know the correct identifiers and depending on where the required game data actually are -- since they might not be in the same folder of the executable. And if they're not in a subfolder from where the executable is, then the above would not work either.
But I am not sure this is an extension we want to implement, in the spirit of keeping the command line handling simple.
Adding a game from Steam's "Games > Add a non-Steam game to my library..." is easy to use, and has worked for me without issues so far. I've added multiple GOG games that I run from my central ScummVM installation, and presumably this would work for Steam games too.
Edit: Just to test the theory above, I've built scummvm locally with the tweak I proposed (keep only the directory path if a file path is specified with the -p option). This works, and you can launch a Steam game (provided it's supported by ScummVM), with the "launch options" field similar to:
Code: Select all
"E:\msys64\mingw64\bin\scummvm.exe" -p %command% "--auto-detect" "--no-console"
-
- Posts: 18
- Joined: Tue Apr 24, 2012 9:10 pm
Re: Steam Launch Options for ScummVM Games
@Praetorian
You did it, you magnificent roman guard. You actually did it.
For some reason I don't understand, --no-console always crashed for me. I tried getting rid of --auto-detect because I wanted it to use saved settings for the gameid. This does put me in the launcher, but I don't mind that because with collections like the Space Quest or King's Quest series it will always send you to the launcher anyway (in my experience with Luxtorpeda). I think if I match the filepath for the gameid to Steam install path it might actually launch the game without stopping at the launcher, still even so this is already more than good enough.
So in the end I just used:
"C:\Program Files\ScummVM\scummvm.exe" -p %command%
but there's still room for experimentation.
I'm absolutely over the moon. Thanks.
Now I can play ScummVM games secure in the knowledge I'm rubbing my friends' faces in it.
I don't fully understand how the %command% function actually works, as I'm more familiar with bash/command line. But it certainly does something. Even with the Raze example I don't fully understand how Raze and Steam exchange filepaths with each other.
Also for some reason launching the Space Quest Collection took me to my whole library, whereas Curse of MI and Sam 'n Max take me to a list of just their game alone. There's still much to be discovered but I owe it all to you.
You did it, you magnificent roman guard. You actually did it.
For some reason I don't understand, --no-console always crashed for me. I tried getting rid of --auto-detect because I wanted it to use saved settings for the gameid. This does put me in the launcher, but I don't mind that because with collections like the Space Quest or King's Quest series it will always send you to the launcher anyway (in my experience with Luxtorpeda). I think if I match the filepath for the gameid to Steam install path it might actually launch the game without stopping at the launcher, still even so this is already more than good enough.
So in the end I just used:
"C:\Program Files\ScummVM\scummvm.exe" -p %command%
but there's still room for experimentation.
I'm absolutely over the moon. Thanks.
Now I can play ScummVM games secure in the knowledge I'm rubbing my friends' faces in it.
I don't fully understand how the %command% function actually works, as I'm more familiar with bash/command line. But it certainly does something. Even with the Raze example I don't fully understand how Raze and Steam exchange filepaths with each other.
Also for some reason launching the Space Quest Collection took me to my whole library, whereas Curse of MI and Sam 'n Max take me to a list of just their game alone. There's still much to be discovered but I owe it all to you.
-
- Posts: 18
- Joined: Tue Apr 24, 2012 9:10 pm
Re: Steam Launch Options for ScummVM Games
Oh I just figured it out, %command% is the path to the game executable from Steam's point of view so -p is telling ScummVM that's to use it as the path. IT FINALLY MAKES SENSE
- Praetorian
- ScummVM Developer
- Posts: 797
- Joined: Tue May 08, 2007 8:54 am
- Location: Greece
- Contact:
Re: Steam Launch Options for ScummVM Games
To be honest, I am a bit confused.
I know it could work with the change I've proposed, but that change is still in a PR code under review here: (https://github.com/scummvm/scummvm/pull/5605)
Did it work for you with ScummVM 2.8.0 as is? It shouldn't, since -p expects a folder path, and currently, without the change, if you provide a file path (as does the %command% variable, which is the path to the executable), then it would fail.
Maybe I'm missing something, or it's a per case thing.
Edit: Ah, I see. It won't work to detect a game in the path "folder" (via the -p %command%) but it will bring up ScummVM's launcher, and that is ok for you. Well, glad to have helped!
I hope that the misconfiguration of the path from command line won't have any side-effects that matter.
I know it could work with the change I've proposed, but that change is still in a PR code under review here: (https://github.com/scummvm/scummvm/pull/5605)
Did it work for you with ScummVM 2.8.0 as is? It shouldn't, since -p expects a folder path, and currently, without the change, if you provide a file path (as does the %command% variable, which is the path to the executable), then it would fail.
Maybe I'm missing something, or it's a per case thing.
Edit: Ah, I see. It won't work to detect a game in the path "folder" (via the -p %command%) but it will bring up ScummVM's launcher, and that is ok for you. Well, glad to have helped!
![Smile :)](./images/smilies/icon_smile.gif)