Jump to content
LaunchBox Community Forums

Recommended Posts

Thanks for your hard work on this @Lahma.  Only issue I have is that it doesnt bring up my steam controller game profiles when I use the Steam Launcher but if I was to launch Launchbox via BPM I get my profiles.  Do you know why this might be?

Link to comment
Share on other sites

13 hours ago, 51mm5 said:

Thanks for your hard work on this @Lahma.  Only issue I have is that it doesnt bring up my steam controller game profiles when I use the Steam Launcher but if I was to launch Launchbox via BPM I get my profiles.  Do you know why this might be?

Hi @51mm5, controller profiles are saved/loaded according to the non-Steam shortcut's name. So, let's say for example I have a non-Steam shortcut named "Super Mario World (SNES)". If I launch that shortcut, make a change to the controller profile but don't export it, the next time I launch a non-Steam shortcut with that exact same name, it will automatically load the controller profile changes I previously made. However, if I alter the name of that shortcut now to "Super Mario World (Super Nintendo Entertainment System)", when I launch that shortcut, I will now have a brand new controller profile without any of the changes you previously made.

If you have controller profiles already saved in Steam for a particular game, you can try altering the SteamLauncher settings to ensure that the game name it generates matches exactly the shortcut name you were previously using in Steam for whichever game. That should cause the controller profile to load appropriately. Another thing you can do (which really has nothing to do with SteamLauncher) is launch your game shortcut from within Steam and then export the controller profile as a template. Then, launch the game from within LaunchBox (using SteamLauncher) and load the controller profile you previously exported.

Please let me know if any of that was helpful or if you need further help with anything else.

Link to comment
Share on other sites

On 8/29/2023 at 7:35 AM, 51mm5 said:

Sorry to be a pain but I don't quite understand.  For my controller profiles to work I don't have non-steam shortcuts for each game I launch Launchbox within Steam BPM then launch the game from Launchbox.  Maybe I'm being dumb here

That's your problem... You don't launch LaunchBox from within Steam. Just open LaunchBox normally (outside of Steam). When you launch LaunchBox through Steam, LaunchBox IS your game. That is why you don't have separate controller profiles. Regardless of what game/emu/rom you launch from LaunchBox, if you started LaunchBox from Steam, it is only seeing LaunchBox as your game.

Link to comment
Share on other sites

On 9/6/2023 at 5:58 AM, Knowcontrol said:

Five years and 41 pages of posts are a bit much to look through. 

Question: How do I take to use SL to customize controller settings per platform/emulator; hopefully being able to set control bindings for multiple controllers like a wireless gamepad and a wired fightstick.

You can't do it per-emulator, because Steam sees each game as is it's own, y'know, game. The easy way is to set the controls in the emulator first, and save a controller profile and apply it to each game you want to be different.

Alternatively, you could load the emulator itself as a non-Steam game and launch that way, but that kinda defeats the whole purpose of SteamLauncher.

Link to comment
Share on other sites

On 9/18/2023 at 11:13 AM, Revv23 said:

Hi there - I'm having trouble getting this to launch anything. The logo pops up in my taskbar, no game loads, then it disappears.

I changed logging to verbose here is my pastebin: https://pastebin.com/kze7wWDX

 

any help is appreciated thank you!

 

 

Yeah, i've got the same/similar problem as well. I open a game, SLProxy boots up and logo pops in taskbar and either LB or Steam closes

Pasebin: https://pastebin.com/fgqhfKUQ

 

Windows Version: 10.0.19045 Build 19045.3448

System Type: x64

LaunchBox Version: 13.6

Steam Version: 1694466342

Steam API Version:  SteamClient020

SteamLauncher Version: 0.9.8.5

Link to comment
Share on other sites

I will check things out and I will let y'all know if something has broken (and if I'm able to fix it immediately).

On 9/19/2023 at 10:52 PM, Drakorex said:

Is this currently working for anyone? Is it possible to have a older secondary instance of steam specifically for this? Why do things keep breaking? When I first downloaded the update, things worked again. Then they didn't.

The reason things break is because the functionality that this plugin relies on is not exposed by Steam or any of its APIs. I have to make use of non-public/unexposed functions within the steamclient DLL and whenever Valve makes significant changes to any of the related code, I have reverse engineer those changes in a disassembler (x86/x64 assembly), figured out what changed, and modify my code and the offsets it uses to repair things. Over the years, I've improved things SIGNIFICANTLY, all of the Steam-related plugin code is now generated dynamically and can be modified on the fly using an online database I maintain. While this still requires me to investigate/document the changes, in most cases I can document the changes in this online database which is automatically pulled down by the plugin upon every startup.. So in most cases, the user doesn't have to download any updates or anything for my fix to be implemented. Please keep in mind that I've very likely spent thousands of hours now on maintaining this plugin and I don't make a penny from it. I try to update things as quickly as possible when Valve breaks something, but I own and operate a business that requires a lot of my time so I can't always be as quick about this as I would like to be. I appreciate you all being patient.

Unfortunately, trying to maintain and run an old version of Steam is akin to beating your head against the wall. Valve does NOT want you to run an outdated version of Steam and they make it very difficult to do so.

I'm looking at the problem right now and I will report back here soon.

  • Thanks 1
Link to comment
Share on other sites

@Drakorex @reigs @Revv23

NOTICE
The online vtables database has been updated to fix the breaking changes introduced in a Steam update a few days ago. The updated vtables database will automatically be downloaded the next time LaunchBox/BigBox is started and the plugin is loaded. To be concise:

If LaunchBox/BigBox is already running on your machine: close it and reopen it and everything should fix itself automatically (as long as LaunchBox/BigBox has internet access).

If LaunchBox/BigBox is not currently running on your machine: simply open it and everything should fix itself automatically (as long as LaunchBox/BigBox has internet access).

Please report back here if this fixes the issue for all of you. If any of you continue to have issues, please report back here with the problem and I will investigate the issue immediately. Again, sorry it took me a few days to get this fix pushed out. I will try to fix things a bit faster in the future if I can.

Notes:

@Nokiaman : Just wanted to let you know I haven't forgotten about the issue you reported to me. I'm going to look into it as soon as I can.

@Knowcontrol : Basically, what @Corgana said is exactly right. Controller profiles are saved/remembered by Steam based upon the name of the non-Steam shortcut. There is no way to save profiles based on an emulator or platform because Steam has no concept of what an "emulator" or "platform" is. While this functionality would certainly be neat, there is no way for this plugin to implement that type of thing without Steam implementing some type of automatic profile loading based on a given input. However, saving a controller profile as a template is really easy and you only have to load that controller template once into any given game and it will be automatically loaded on every subsequent launch.. Perhaps a bit tedious but it only takes a second. Let me know if there is anything else I can help you with.

@51mm5 : Never heard back from you after my response. Did you get everything sorted out and working based on the information I provided you? If some advice or information someone provided to you (from me or other long-time users who help out in this thread), in direct response to a question or problem you posted about, helps you out or solves your problem, please post back here saying so. That way we know your issue was fully resolved. Thanks!

Edited by Lahma
  • Thanks 3
  • Game On 1
Link to comment
Share on other sites

I just tried again, and emulators work as expected. With PC games, its a mixed bag. For some, Steam interface works right, some it doesn't work at all. For TMNT Shredders Revenge: Overlay works, Controller input not recognized. Plugin turned off, controllers work. I'm not sure how much of it is the plugin, and how much of it is particular games having issues with Steam UI as a whole.

Link to comment
Share on other sites

2 hours ago, Drakorex said:

I just tried again, and emulators work as expected. With PC games, its a mixed bag. For some, Steam interface works right, some it doesn't work at all. For TMNT Shredders Revenge: Overlay works, Controller input not recognized. Plugin turned off, controllers work. I'm not sure how much of it is the plugin, and how much of it is particular games having issues with Steam UI as a whole.

If you add a game as a non-Steam shortcut in Steam and you have problems, SteamLauncher isn't going to be able to do anything to fix those issues. The plugin is just creating a non-Steam shortcut in the background and launching it. If you're unsure if a problem is related to Steam or the plugin, create your own non-Steam shortcut within Steam and try it.

Link to comment
Share on other sites

13 hours ago, Lahma said:

 

@51mm5 : Never heard back from you after my response. Did you get everything sorted out and working based on the information I provided you? If some advice or information someone provided to you (from me or other long-time users who help out in this thread), in direct response to a question or problem you posted about, helps you out or solves your problem, please post back here saying so. That way we know your issue was fully resolved. Thanks!

Yes sorry, I don't think I've quite got to the bottom of the issue.  It seems Steam input game profiles load differently depending on whether I use the Steamlauncher plugin or disable the Steam launcher just use Launchbox via the BPM to use Steam input.  For example I use Yuzu (a Switch emulator) via Launchbox.  If I enable the Steam launcher and launch a Yuzu game I cannot use my saved Steam input profile as it just locks me into a standard profile but If I disable Steamlauncher and launch Launchbox via BPM and then launch my Yuzu game I can used the saved profiles.  Hope this makes sense.

Link to comment
Share on other sites

9 hours ago, 51mm5 said:

Yes sorry, I don't think I've quite got to the bottom of the issue.  It seems Steam input game profiles load differently depending on whether I use the Steamlauncher plugin or disable the Steam launcher just use Launchbox via the BPM to use Steam input.  For example I use Yuzu (a Switch emulator) via Launchbox.  If I enable the Steam launcher and launch a Yuzu game I cannot use my saved Steam input profile as it just locks me into a standard profile but If I disable Steamlauncher and launch Launchbox via BPM and then launch my Yuzu game I can used the saved profiles.  Hope this makes sense.

@51mm5

Ok.. so first let's establish one thing. When you're using SteamLauncher, you are not starting LaunchBox via Steam, right? Like I explained before, if you start LaunchBox via Steam, then LaunchBox is your game as Steam can only have 1 active game/app/exe running at a time.

Next, if you do run LaunchBox through Steam (and you're not using SteamLauncher), Steam has no way of differentiating what you're running in LaunchBox. Like I said before, LaunchBox is your game, so regardless of what game/rom/emulator you start in LaunchBox, Steam is always going to load the same controller profile. The whole point of this plugin is to bypass that limitation so that you can have separate controller profiles for every game/rom that you launch.

Steam automatically saves/loads controller profiles based on the name of the Steam shortcut. If you make a non-Steam shortcut and name it "LaunchBox1", then start that shortcut, customize the controller profile, and exit the game, the next time you launch that shortcut, those controller customizations will be automatically loaded. Now, if you rename the "LaunchBox1" shortcut to "LaunchBox2" and launch the shortcut, you will see that your controller customizations are no longer loaded and are reset to default. Now, rename that shortcut to "LaunchBox1" and launch it and you will see that it loads the controller customizations you previously created. The customizations are tied to the shortcut name.

What my plugin does when you launch a game through LaunchBox is it transparently creates a non-Steam shortcut within Steam, naming it according to whatever the game/rom/etc is named in LaunchBox (usually adds the platform name to the end of the title unless you change this in the SteamLauncher settings), and then launches that shortcut in Steam. Any controller customizations you make are now tied to the name of the Steam shortcut... for example: "Super Mario World (SNES)".

Now with all of the above information, hopefully you can see why any controller customizations you make whenever you load LaunchBox through Steam will not be automatically loaded whenever you launch LaunchBox outside of Steam and use my plugin. Steam has absolutely no way to correlate between the 2. If you want to carry over a controller profile between the 2 situations, or between any 2 games, roms, etc, you need to export that profile as a template (through the Steam overlay) and then load that controller profile into the new game, rom, etc. It is very easy to do and takes only a few seconds. You can even load a controller profile template for one controller type (say, an Xbox 360 controller) into profile for a different controller type (say, a Playstation Dual Shock).

If you export a controller profile as a "Personal Save", that controller profile will not be visible in any other games/roms/etc. You must save the controller profile as a "New Template" if you want to be able to load that controller profile from a different game/rom/etc. You can export your controller profile like this:

Steam-ExportControllerProfile.thumb.png.d29c10c508078fecd387ec20a70471ef.png

Steam-ExportControllerProfile2.png.5d1422c54e1480a6d37ccaa240729a7d.png

Steam-ExportControllerProfile3.thumb.png.2d8c30ca8253a31c261b408e04fae2ad.png

Please let me know if this solves your issue.

Edited by Lahma
  • Thanks 1
Link to comment
Share on other sites

On 9/23/2023 at 8:06 PM, Lahma said:

@51mm5

Ok.. so first let's establish one thing. When you're using SteamLauncher, you are not starting LaunchBox via Steam, right? Like I explained before, if you start LaunchBox via Steam, then LaunchBox is your game as Steam can only have 1 active game/app/exe running at a time.

Next, if you do run LaunchBox through Steam (and you're not using SteamLauncher), Steam has no way of differentiating what you're running in LaunchBox. Like I said before, LaunchBox is your game, so regardless of what game/rom/emulator you start in LaunchBox, Steam is always going to load the same controller profile. The whole point of this plugin is to bypass that limitation so that you can have separate controller profiles for every game/rom that you launch.

Steam automatically saves/loads controller profiles based on the name of the Steam shortcut. If you make a non-Steam shortcut and name it "LaunchBox1", then start that shortcut, customize the controller profile, and exit the game, the next time you launch that shortcut, those controller customizations will be automatically loaded. Now, if you rename the "LaunchBox1" shortcut to "LaunchBox2" and launch the shortcut, you will see that your controller customizations are no longer loaded and are reset to default. Now, rename that shortcut to "LaunchBox1" and launch it and you will see that it loads the controller customizations you previously created. The customizations are tied to the shortcut name.

What my plugin does when you launch a game through LaunchBox is it transparently creates a non-Steam shortcut within Steam, naming it according to whatever the game/rom/etc is named in LaunchBox (usually adds the platform name to the end of the title unless you change this in the SteamLauncher settings), and then launches that shortcut in Steam. Any controller customizations you make are now tied to the name of the Steam shortcut... for example: "Super Mario World (SNES)".

Now with all of the above information, hopefully you can see why any controller customizations you make whenever you load LaunchBox through Steam will not be automatically loaded whenever you launch LaunchBox outside of Steam and use my plugin. Steam has absolutely no way to correlate between the 2. If you want to carry over a controller profile between the 2 situations, or between any 2 games, roms, etc, you need to export that profile as a template (through the Steam overlay) and then load that controller profile into the new game, rom, etc. It is very easy to do and takes only a few seconds. You can even load a controller profile template for one controller type (say, an Xbox 360 controller) into profile for a different controller type (say, a Playstation Dual Shock).

If you export a controller profile as a "Personal Save", that controller profile will not be visible in any other games/roms/etc. You must save the controller profile as a "New Template" if you want to be able to load that controller profile from a different game/rom/etc. You can export your controller profile like this:

Steam-ExportControllerProfile.thumb.png.d29c10c508078fecd387ec20a70471ef.png

Steam-ExportControllerProfile2.png.5d1422c54e1480a6d37ccaa240729a7d.png

Steam-ExportControllerProfile3.thumb.png.2d8c30ca8253a31c261b408e04fae2ad.png

Please let me know if this solves your issue.

Thanks Lahama, I totally understand all of that.  I think what I'm experiencing is probably a strange quirk to do with Steam input rather than anything to do with your plug-in.  To clarify I'm not starting LaunchBox via Steam BPM when using your plugin.  I only launch via BPM whilst your plugin is disabled because I can't get my controller profiles when in the Steamlauncher which is understandable as theyre probably tied to the Launchbox shortcut in BPM.  For whatever reason Im unable to export these profiles for use while using the Steam launcher, as in they don't appear under the templates section in the Steam input page and I can see them under the search page whilst using your plugin and when I try to enable them it flat out doesn't enable me to select them for some reason.  When I export using the method in your screenshots above the profiles don't appear in the template section.  I've tried the share personal save as well as the new template option.    

To provide context I was using the Launchbox shortcut in Steam for a while, whilst your plugin was under repair so I've got some profiles saved that way.  I guess I could just configure the profiles from scratch whilst in the launcher which is the next step.

  • Game On 1
Link to comment
Share on other sites

Just wanted to report back in that everything is now working for me!

 

Thank you for the quick update & support I know this has to be a huge pain to maintain with steam constantly breaking it.

 

Thanks to you I am now able to use my N64 controller and a nice front end!

 

Cheers!

  • Thanks 1
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...