Steam Launch Options for ScummVM Games

Ask for help with ScummVM problems

Moderator: ScummVM Team

Post Reply
CheeseMeister
Posts: 18
Joined: Tue Apr 24, 2012 9:10 pm

Steam Launch Options for ScummVM Games

Post by CheeseMeister »

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.
Last edited by CheeseMeister on Sun Jan 07, 2024 3:30 pm, edited 1 time in total.
User avatar
sev
ScummVM Lead
Posts: 2279
Joined: Wed Sep 21, 2005 1:06 pm
Contact:

Re: Launching ScummVM When Playing Games thru Steam

Post by sev »

Could you please paraphrase your question? I re-read your post several times and still do not understand what your problem is.


Eugene
CheeseMeister
Posts: 18
Joined: Tue Apr 24, 2012 9:10 pm

Re: Launching ScummVM When Playing Games thru Steam

Post by CheeseMeister »

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:
Screenshot 2024-01-07 123604.png
Screenshot 2024-01-07 123604.png (37.33 KiB) Viewed 11130 times
User avatar
sev
ScummVM Lead
Posts: 2279
Joined: Wed Sep 21, 2005 1:06 pm
Contact:

Re: Steam Launch Options for ScummVM Games

Post by sev »

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
User avatar
criezy
ScummVM Developer
Posts: 950
Joined: Sat Sep 23, 2006 10:41 am
Location: West Sussex, UK

Re: Steam Launch Options for ScummVM Games

Post by criezy »

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
User avatar
Praetorian
ScummVM Developer
Posts: 797
Joined: Tue May 08, 2007 8:54 am
Location: Greece
Contact:

Re: Steam Launch Options for ScummVM Games

Post by Praetorian »

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:

Code: Select all

"E:\msys64\mingw64\bin\scummvm.exe" -p %command% "--auto-detect" "--no-console"
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).
CheeseMeister
Posts: 18
Joined: Tue Apr 24, 2012 9:10 pm

Re: Steam Launch Options for ScummVM Games

Post by CheeseMeister »

@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.
tumblr_efbcad0a2b21dfc555153ecdec40f44e_3e103643_540.gif
tumblr_efbcad0a2b21dfc555153ecdec40f44e_3e103643_540.gif (9.75 MiB) Viewed 10240 times
CheeseMeister
Posts: 18
Joined: Tue Apr 24, 2012 9:10 pm

Re: Steam Launch Options for ScummVM Games

Post by CheeseMeister »

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
User avatar
Praetorian
ScummVM Developer
Posts: 797
Joined: Tue May 08, 2007 8:54 am
Location: Greece
Contact:

Re: Steam Launch Options for ScummVM Games

Post by Praetorian »

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.
Post Reply