Jump to content
LaunchBox Community Forums

LaunchBox and game Via steam for use with my steam controller


cammelspit

Recommended Posts

Ok, I want a third party app, in this case, launchbox, to launch an emulator, such as Dolphin, THROUGH steam but with passing through custom command line switches to Dolphin, obviously so it can load a game normally. See, I normally use Dolphin through steam and that works perfectly but there are drawbacks. All of my ISOs are compressed 7Z archives so I have to unpack the roms I want to play so that can be a bit annoying. I have decided to try out using launch box and it has that feature to unpack the iso at runtime into a temporary spot and run the game, neat! Plus, it is really pretty and I do like it alot. I have an HDD space constraint so I can't unpack ALL my ISOs at the same time, even with the Dolphin built in compression because it is simply not good enough and it changes the ISO itself so I can never have the unmodified ISO again. I can load LB right from steam and it works and it works quite well. There are a few niggles that make me completely unwilling to make this the normal way I use Dolphin, I will explain.

My EXTREMELY complicated Steam Controller config for Dolphin is not automatically loaded since it is, in fact, loading a launchbox config. Many, if not most, of my other games, are using Retroarch and still other emulators on a per system basis. These emulators do not have the exact same control setup so they would not be compatible with either the Dolphin or the Retroarch configurations. Besides, when I launch Dolphin this way it shows I am playing Launchbox and NOT Dolphin and that just bugs me SOOOO much you have no idea. Call it OCD or whatever but it just feels wrong. :$

Ok, when you make a steam shortcut to any game, steam or non-steam, you get something that looks like this. "steam://rungameid/21090" This particular shortcut would launch F.E.A.R. and it does work for non-steam games too. I have been doing some research and if you wanted to have steam pass along command line switches to the game being launched you could add it right to the end like this "steam://rungameid/21090//-Switch1 -Switch2" and it does work but ONLY for steam games! This method will not work AT ALL for non-steam games. Depending on how you set the shortcut up, you will either get the game without the switches or it simply won't work at all. If I use a shortcut to steam.exe and then add the "-applaunch GAMEID" it will also work, but ONLY for steam games and NOT non-steam games at all!

Is there a way anyone can think of that will allow me to launch LB game from steam but also be able to pass command line switches to the Dolphin game FROM the command line so LB can be my first layer? If not, I get that this is super complicated and a VERY fringe edge case here. Thing is, what grinds my gears to no end, is that with a steam game it works, perfectly well with the command line switches. It seems Valve is explicitly blocking non-steam games from having the same convenience. I have been fiddling for the last few hours on this and I simply can't get this to work at all, no matter what I do.

Am I missing something here? Is loading LB from steam the only way to work it and I just have to deal? Also, I know most of you aren't going to be using the steam controller but this is absolutely a game breaker here if I can't use my SC so I will have to just deal with it if this cannot be managed. I am just hoping there are some super smart guys out there that may have some insight on this and can help out.

Thank you VERY much for any assistance anyone can provide, in advance!

Link to comment
Share on other sites

@Jason Carr
I DO want to use the LB interface, it's all nice and pretty, plus all the features it has. With the Steam Controller, it loads configs based on what app is launched from steam itself. So it loads up a Launchbox SC config and not my Dolphin config, or whatever emulator I am using ATM. My Dolphin config is 30-40 action sets large so reinputting all of it is not really an option. I can get LB to open Dolphin through steam but it won't load the game because the command line switches like (-b -e -C:\whatever\FZEROGX.GCZ) are not passed through to the emulator from steam itslef. If I load up LB from steam and then load up the game it works fine, as it should but will not recognize my Dolphin SC config and makes a config specific to LB. So, here is the order of operations I would like.

  1. Open LB from the desktop like normal
  2. Click on a game and it launches Dolphin through steam so my Dolphin configs are preserved

The normal way I do it now that annoys me.

  1. Open steam and launch LB from steam
  2. Load Dolphin through LB and it works but I lose out on my specific config for each emulator and such I have already made.

Am I making any sense here? I think I might not be. It also is very possible this is just a limitation of steam itself and I will just have to deal with the way steam does it and do it the second way. Call it OCD but having it say I am playing Launchbox and not playing Dolphin in steam also kinda annoys me. I was just hoping you geniuses here would have an idea. Someone somewhere must have had the same idea I have had. May require some new feature somewhere or for Valve to not be so dumb about non-steam games and apps but it's worth a shot. :D

 

Link to comment
Share on other sites

I do use a Steam Link in combination with Big Box; however, I don't have a Steam Controller so I can't really help there. I use a wireless 360 controller in combination with the Steam Link. I can certainly help you get just about any emulator to work in combination with the Link (or just In-Home-Streaming in general), including Dolphin, but I can't help you with Steam Controller configuration/troubleshooting because I don't have one :/

Link to comment
Share on other sites

1 hour ago, cammelspit said:

@Jason Carr
I DO want to use the LB interface, it's all nice and pretty, plus all the features it has. With the Steam Controller, it loads configs based on what app is launched from steam itself. So it loads up a Launchbox SC config and not my Dolphin config, or whatever emulator I am using ATM. My Dolphin config is 30-40 action sets large so reinputting all of it is not really an option. I can get LB to open Dolphin through steam but it won't load the game because the command line switches like (-b -e -C:\whatever\FZEROGX.GCZ) are not passed through to the emulator from steam itslef. If I load up LB from steam and then load up the game it works fine, as it should but will not recognize my Dolphin SC config and makes a config specific to LB. So, here is the order of operations I would like.

  1. Open LB from the desktop like normal
  2. Click on a game and it launches Dolphin through steam so my Dolphin configs are preserved

The normal way I do it now that annoys me.

  1. Open steam and launch LB from steam
  2. Load Dolphin through LB and it works but I lose out on my specific config for each emulator and such I have already made.

Am I making any sense here? I think I might not be. It also is very possible this is just a limitation of steam itself and I will just have to deal with the way steam does it and do it the second way. Call it OCD but having it say I am playing Launchbox and not playing Dolphin in steam also kinda annoys me. I was just hoping you geniuses here would have an idea. Someone somewhere must have had the same idea I have had. May require some new feature somewhere or for Valve to not be so dumb about non-steam games and apps but it's worth a shot. :D

 

It's a limitation of how the Steam Controller works, I know that much. It's based on the application that's launched - whatever you're using as your "non-steam application" is what it's creating the config for. It's not something that's the fault of LB/BB, it's just how the Steam Controller currently works. Your issue would actually be better directed to the Steam Controller forums themselves. Nothing in LB/BB is going to get around this limitation for you.

6 minutes ago, Jason Carr said:

I see, @cammelspit. Unfortunately I'm not going to be a direct help because I don't happen to have a Steam Link.

He's talking about this:

ss_d2f5e7325666df6119ff1d42be73bac9594c5

Not this:

header.jpg

Two very different things :)

Link to comment
Share on other sites

I don't have a link, this is all local. I have 3 steam controllers but I just plug my PC right up to the TV like a normal monitor. I am sure my ramblings were a bit hard to get. I already asked around in the steam controller discussion but no one there uses emulators as much as I do. I figured since LB had some basic steam integration that someone here might have some insight on how steam itself handles non-steam apps and their command lines. No need to worry, either I will figure it out or I won't. If I do, I will be sure to let you all know. I do very much appreciate all of you taking the time to at least try and that means a great deal.

I will say, once you have a steam controller or two and spend the kind of time I have with it, you would probably be right where I am. I just want it to be seamless but I wholly blame Valve for it. :)

  • Like 1
Link to comment
Share on other sites

Again, there's really nothing to "figure out" as far as LB/BB are concerned. The controller configs, as Valve has currently designed them, are created on a per-launched-application basis, not a sub-application-following-the-launched-application basis or active-application basis. It's for whatever you launch (this is why it's showing "Currently Playing Launchbox"). If you launch LB or BB, you're going to get a LB or BB config not one for whatever else is started as result of LB/BB.

If you really want to use per-game steam controller configs, you'd need to use something like ICE. This basically creates a steam launcher for a rom+emulator. They're recognized by the Steam Controller for individual configuration (because it sees each game as the application itself).

Link to comment
Share on other sites

@Zombeaver You have precisely hit it spot on. This is exactly the problem I was trying to overcome. If steam would just allow my command line switches to pass through than a clever arrangement of LB options and such can do what I want but alas, it seems like it may just be beyond the scope of possibility. I will just have to keep using Dolphin all on its lonesome. Pretty much everything else, though, I have migrated over to LaunchBox and so far I am very impressed. I have used many a front end in my day and this one seems to be pretty much what I need. With as bad as the UI is for Retroarch or non-existent like Mednafen, this is by far the best solution I have found so far.

Again, thank you for your time.

Link to comment
Share on other sites

Yeah I wish there was an answer for you. Believe me, I love fiddling with this stuff to get it to work - that's as much fun for me as actually playing the games themselves :D

When I heard about the Steam Link I was really interested in it, but for the specific purpose of piping emulators from my main PC to elsewhere in the house. That's something that...obviously isn't officially supported in any way :P So before I picked one up, I spent literally about two weeks just testing stuff with Steam In-Home Streaming (which is functionally identical to a Link, just from one PC to another instead); just going from one emulator to the next. There's a whole other layer of complication and compatibility issues to overcome in order to get all of it to work but most of it actually does work with enough finagling.

Unfortunately for the Steam Controller, however, based on everything I've read, the issue you're facing is a fundamental limitation of how their configuration software is designed. It's just not setup to detect sub-applications for the configuration purpose.

Regarding Dolphin itself, I know that it supports per-game configuration files - I don't know if/how much that carries into control configuration though. Have you tried approaching it from that end? Based on this, it looks like you can setup control profiles per config. I've never used them for that purpose, but I've used plenty of other information in that post without issue.

Link to comment
Share on other sites

@Zombeaver Again, you are precisely correct. I already use the per game settings in Dolphin to pre-load Dolphin controller configs on a per game basis. This is so I don't have to go into the menus and fiddle every time I switch between a game that uses a sideways Wii remote, a GameCube controller and a Wii Remote/nunchuck. Sometimes I just like to play a little NSMBW or Kirby and then throw down an hour or two with Smash before rounding off my time with a little Conduit. All of these need completely different settings for the control dialog and so the auto switching setup is infinitely useful. Gosh, over on the steam controller forums no one is as much an emulator fan as I am, it is so nice talking to some people who actually care about emulation. Good on ya buddy! xD

The steam controller is amazing, it really is but it also has some limitations in certain ways that only become apparent when you are trying to use it in a certain way. I mean, gyro control for Wii remote pointing is insanely cool and the software, especially after the newest activator update, has made it almost in feature parody with more complex gamepad solutions like joy2key and Xpadder but it just seems like they limit it in some ways that it simply doesn't need to be. I will still use it, forever and ever more because of some nerve damage I got in both arms from an old injury. The design, physically, is perfect and without the need for the XBOX "death grip" it makes all my symptoms like numbness and tingling go away completely. There still is that strange need for the overlay to work no matter what with no legacy fallback contingency that can be very problematic for certain situations. Hell, I spend half my day on the steam controller forums solving everyone else's problems! :P

Bah, I should just be happy that LB has allowed me to finally get a moderately decent N64 setup in a way that is comfortable for me personally and be happy with that.

Link to comment
Share on other sites

You'd need to add the emulator to Steam as a 3rd party shortcut and then trigger that shortcut via LaunchBox.  It would be nice if there was a way to add a 3rd party shortcut to steam and then launch it all in one automated motion.  I can think of several ways to do this in code but they all have issues and I can't test the finer points without such a Steam Controller.

If you're using the same configuration emulator wide try adding the emulator to Steam, create a desktop shortcut to get the URL/Shortcut, and see if you can find a way to add that as the emulator in LaunchBox.

I can suggest this starting point though I can't dig in now myself:


steam://rungameid/<AppIDOfEmulator>//-<LaunchSettings>

 

Edited by Nielk1
added example shortcut
Link to comment
Share on other sites

You are absolutely correct but unfortunately Steam explicitly blocks the -launchsettings altogether. If you do this exact thing with a steam game you bought off of steam then it works just fine. I did some looking around and apparently it used to work exactly the same way so it would have worked a few years ago. They must have blocked it intentionally for fear of some kind of "security" reason.

I have spent the last day learning all about batch files and how I can leverage this to my advantage to make this possible and I got VERY close. With only a command line, I was able to get Windows to make a batch file with the full set of launch options for the game itself, it would then trigger steam to open another batch I had converted to an EXE and named "Dolphin" that all it does is open that other batch that was created from the command line and BOOM game loads from steam and it says I am playing Dolphin exactly as I wanted it to. There was a hiccup with LB because it is obvious to me that this specific method was never intended. LB seems to only allow the 'full/path\to\rom' at the END of the command line. I need it to be somewhere in the middle of the command line so that the last thing the command line does it trigger the launching batch from steam itself. So far, I can see three ways this can be made to work.

  1. I learn to code, or at least use a more powerful scripting language like python. I can make a tiny little app that watches for LB and its command line to make a TXT with the proper options and then trigger steam to launch with the appropriate options.
  2. Learn more on how steam itself adds things to the library so I can find how the command line options in steam are handled. Such as the right click, properties and then launch options, so I can modify those on each run. This also may require an app unless steam uses some plain text file or maybe the VDF files like the SC uses for configs. Those could conceivably be modified my hand and thus a script could be made to do it.
  3. LaunchBox adds a feature to either allow the rom path to be somewhere else other than the end of the command line or even makes a feature do this for you. I may be the first to try and make this happen but I think all my other steam controller buddies would LOVE to have this kind of thing because of the steam controllers very specific config management system.

I do feel the need to be crystal clear here. I am SUPER new to LaunchBox. I have always been somewhat resistant to front ends in the past because my experience with them was either that they were too complicated to be worth the setup effort or not powerful enough to use 100% of my emulators and such and thus reducing their usefulness. LaunchBox, at least in its current form as I see it, is very nice. Ease of use is so that any intellect at the level of a toddler can manage adding games without issue. Even though I haven't coughed up the cash to buy the premium yet, I intend to do so at some point soon since I still like the LB interface. It is clean and not too cluttered. The one and only thing I miss are some more powerful MAME features. I have used EMUloader for years with MAME and something similar with more used INI ticks in a menu is about all  I actually miss in LB. This is by no means my saying that LB isn't powerful or useful, I just have this niggling feeling every time because of the way steam works with my steam controller in combination with LB. I blame Valve. ;)

Again, all of you guys here have been very helpful and in no way condescending or anything like that. I have felt this way in other forums where I was looked at like I was crazy for asking something so dumb or that I was stupid for even wanting to use my SC in the way that I want to. Thank you to everyone!

Link to comment
Share on other sites

Are steam controller profiles stored per shortcut ID in Steam for 3rd party games?  If I remove a game and add it again will all the controller profiles I might have made be gone?  If I was to rename a shortcut would the controller profiles still be there?  I'm asking these questions because I don't have a Steam Controller but would like to take a spin at a solution to this.

Link to comment
Share on other sites

8 minutes ago, cammelspit said:

LB seems to only allow the 'full/path\to\rom' at the END of the command line. I need it to be somewhere in the middle of the command line so that the last thing the command line does it trigger the launching batch from steam itself...

3. LaunchBox adds a feature to either allow the rom path to be somewhere else other than the end of the command line or even makes a feature do this for you...

There's actually a feature request that @lordmonkus put in for that exact thing here. Vote for it! :)

It was for a different purpose but clearly there are other ways it could prove useful as well.

Link to comment
Share on other sites

@Nielk1 Yes and no. The configs you make for any game purchased from steam or not is stored on a per game basis based on it's steam ID# for steam games or the name of the shortcut for non-steam games. They sync to the steam cloud and are automatically retrieved if either you are logged into your account or you have your SC registered to your account and are using it as a guest on someone else's account. If you change the name of the shortcut, yes it will no longer show your configs automatically for that given game. You rename it back and BOOM they are all back again. You can save configs for any game to the could and load then into other games so manual migration if you change a shortcut name is a process that takes literally a few seconds. I once changed Dolphin to "Dolphin GameCube and Wii Emulator" and I about dropped a brick when my config disappeared. It was easy to get back tho so no harm was done. :)

Link to comment
Share on other sites

@cammelspit Thanks, that information is helpful.  I'm going to tinker a bit because I'd like to launch my games through Steam too now that I think about it.  Your idea to use a 3rd party shortcut in Steam as a sort of proxy through a script is quite a good idea.  I want to see if I can get the Steam interfaces to let me play with the shortcut name before launching and a few other things.

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...