Jump to content
LaunchBox Community Forums

Recommended Posts

On 2/15/2018 at 11:04 AM, folken61 said:

i can use the plugin in default? i mean no use the label just click the game and launch in steam

Again, like I've told everyone else, I'm really sorry for not seeing your question earlier.. I'm a moron and didn't realize this thread existed. However, to answer your question, no, unfortunately there is no way to set SteamLauncher to be the default option for running your roms in LaunchBox. The plugin API simply doesn't support doing such a thing, so it would require doing some ugly hacks like code injection. If enough people wanted such a thing, I could look into it, but it would never be a "clean" solution, as LaunchBox updates would always have the possibility of breaking the plugin. Sorry.

Share this post


Link to post
Share on other sites
On 2/14/2018 at 9:02 PM, Musungo said:

Been trying to use this plugin but it keeps crashing BigBox and steam, Big box'll hang like it's trying to launch / work with Steam then nothing I have to force close big box. 

Musungo, were you using the beta Steam client and v0.9.0.0 of this plugin when you were having the problems? If so, I would recommend updating to v0.9.0.1, as I fixed the plugin to work with the new Steam beta that was pushed out on Feb 14th. If the new version of the plugin still isn't working, I would be happy to look into the problems for you. Look at the plugin info under the heading 'Debug Logs' and follow the instructions to enable debug logging, and then send me a copy of the logs after you try the plugin again and it crashes. 

Share this post


Link to post
Share on other sites
On 2/12/2018 at 6:14 PM, Nielk1 said:

I'm sure the blocking is an accident of how some part of RL works with its bezel and other display logic.  IDK if I can solve it but I've been too busy to do a lot lately (hence why my own Steam Proxy has fallen into disrepair).

Nielk1, thanks for helping out with some of the questions and stuff prior to me realizing this thread even existed. I really appreciate it.

Share this post


Link to post
Share on other sites
3 hours ago, Lahma said:

Neil, I totally forgot about that, and I wish I would have seen your post earlier (see my previous post for why I did not). I will definitely add this info at the top of the plugin page. Thanks for the heads up.

lol, no probs, this is a direct quote from what I said in the previous thread where you were discussing this plugin,

If you upload the file to our third party apps and plugins section of the downloads, a support forum thread will be automatically created, with a link directly to it from the file download page.  ;) 

Share this post


Link to post
Share on other sites

Hey Lahma, 

Just checked to make sure it was unblocked and no option to do so. No errors visible unless I'm in big box mode and not launching games at all where I have not changed any of the configurations from when it worked. Only error I get is the one I posted before. Also I am using the latest version. 

Edited by percybuttkins

Share this post


Link to post
Share on other sites
4 hours ago, percybuttkins said:

Hey Lahma, 

Just checked to make sure it was unblocked and no option to do so. No errors visible unless I'm in big box mode and not launching games at all where I have not changed any of the configurations from when it worked. Only error I get is the one I posted before. Also I am using the latest version. 

Percy, will you enable debug logging (see the plugin info under 'Debug Logs') and then try the plugin again (you might try it a couple of times in BigBox and in normal mode just so we get more than enough data in the log). Once you've done that, if you could send me a copy of the debug log and a copy of your configuration file, I think we can probably figure out what your problem is and get you up and running again.

Share this post


Link to post
Share on other sites
9 hours ago, neil9000 said:

lol, no probs, this is a direct quote from what I said in the previous thread where you were discussing this plugin,

If you upload the file to our third party apps and plugins section of the downloads, a support forum thread will be automatically created, with a link directly to it from the file download page.  ;) 

Lol, you did tell me that didn't you.... Ugh.. I'm an idiot. :D

  • Haha 1

Share this post


Link to post
Share on other sites

Here you go...weirdly it looks like it is using the directory from my Hello Neighbor game as my steam directory. My steam works fine...and my son has been playing Hello Neighbor...just weird. 

 

Heres the log.

 

debug.log

Share this post


Link to post
Share on other sites
25 minutes ago, percybuttkins said:

Here you go...weirdly it looks like it is using the directory from my Hello Neighbor game as my steam directory. My steam works fine...and my son has been playing Hello Neighbor...just weird. 

 

Heres the log.

 

debug.log

Just wanted to note for future reference that we talked on Steam and got the problem resolved (not an issue with the plugin).

Share this post


Link to post
Share on other sites

Very nice, five stars from me!

I noticed you never uploaded sourcecode to GitHub, which is concerning :( I do have a suggestion and could even take a crack at it myself if you didn't have time.

It would be fantastic is if it had an accompanying standalone/stub EXE - this way it could be set as an emulator EXE which would:

  • Launch via Steam proxy when you use the default game launch (e.g. double click)
  • Allow for variants to be used with it too

You would have to pass additional commandline arguments to it, though I hope this is reasonable. It could also make it compatible with other front-ends or anything really; much more universal!

Maybe the Launchbox-specific plugin could be it's own "shim" dll, and the EXE as a similar small entrypoint - the bulk of the "plugin" (i.e. the non-specific launchbox stuff - Steam interfacing and launching and whatnot) could be another linked DLL?

Edited by CosmicDan

Share this post


Link to post
Share on other sites

Hey CosmicDan, 

Sorry it has taken me so long to respond.. I've just been really busy lately. You're absolutely right, I never posted the source to GitHub, and there is really no excuse for that. If I had any indication that anyone actually wanted to look at and/or use the source code, I definitely would not have procrastinated so long. Since it seems that you are indeed interested though, I will go ahead and get it done. I will try to have it posted by the end of the day today or tomorrow (April 8th or April 9th). I tend to get a little nitpicky about cleaning up the code before posting it publicly, so the process never goes as quickly as I would like ;) 

Now, on to your other comments/questions... Where to start? The thing you are describing (with the standalone stub EXE) is exactly what this project was created to do away with. I'm not sure if you've heard of "GameLaunchProxy", but it is essentially exactly what you're describing. It was originally created by another user on these forms, Nielk1. However, when I came upon it, it was no longer functioning due to changes in the Steam API, and Nielk1 was no longer updating the project. I took it upon myself to fork his code and update it so that it would function again with current Steam versions. You can find my fork here: 
https://github.com/lahma69/GameLaunchProxy

I haven't used it recently, and I can't recall at this moment if any major changes have been made to the Steam API since I last updated it that would cause it to no longer function, but if it isn't working, it would be very easy for me to fix the problem... So, if its something you are interested in using, give it a shot, and let me know if you have any problems and I can push out a quick update for you. Wrapping your head around how it works is initially might be a little bit difficult, but it shouldn't be too hard to figure out.

To be perfectly honest though, the entire project got very little attention, and seemed to have very few, if any, users. I think the difficulty required to set it up and use it properly (which is an inherent problem to any generalized approach that can work with basically any launcher) is probably what kept it from being widely utilized. That is exactly why I created this LaunchBox plugin. Its intent was to greatly simplify things and essentially make the entire process a zero configuration, 1-click affair. 

The last point I'll address is about making "Launch via Steam" the default launch option. While this would be extremely valuable, and has been requested by other users besides you, it is unfortunately not possible using the built-in LaunchBox plugin API. Unfortunately the API is extremely limited. I won't go too far into the details, as if you're interested, you can take a look at the API yourself to get an idea of what I'm talking about. There is actually much more versatility I would have liked to have added into the plugin, but the API at this point just isn't versatile enough to do much else. 

This isn't to say that adding such features through other means such as code injection would be totally impossible, but due to LaunchBox using the .NET Framework, practices such as code injection are actually not at all straightforward or simple. I've actually done a lot of experimentation as far as adding additional features that fall outside of the plugin API's supported abilities, but at this point, the only success I've really had is with deobfuscation and modification of LaunchBox EXE/DLL files themselves. I'm pretty sure Jason, the author of LaunchBox, would not be a happy camper if someone starts releasing modified versions of his code without his permission however, so unfortunately that path is a no-go for public release. Hopefully Jason will make extensibility updates to the plugin API a priority sometime in the near future though, and maybe at that point I can add some of the additional functionality people have been requesting. 

Anyways, thanks for the kind words CosmicDan. Its always nice to know that someone is enjoying the result of all the time put into creating such a project (and keeping it updated and functioning with all of Valve's erratic constant changes to the Steam API). If I failed to answer any of your questions or if you have anything else you'd like to discuss, feel free to post a response, and I will try to respond a bit quicker this time! Thanks again.

  • Thanks 1

Share this post


Link to post
Share on other sites
1 hour ago, Lahma said:

Hey CosmicDan, 

Sorry it has taken me so long to respond.. I've just been really busy lately. You're absolutely right, I never posted the source to GitHub, and there is really no excuse for that. If I had any indication that anyone actually wanted to look at and/or use the source code, I definitely would not have procrastinated so long. Since it seems that you are indeed interested though, I will go ahead and get it done. I will try to have it posted by the end of the day today or tomorrow (April 8th or April 9th). I tend to get a little nitpicky about cleaning up the code before posting it publicly, so the process never goes as quickly as I would like ;) 

Now, on to your other comments/questions... Where to start? The thing you are describing (with the standalone stub EXE) is exactly what this project was created to do away with. I'm not sure if you've heard of "GameLaunchProxy", but it is essentially exactly what you're describing. It was originally created by another user on these forms, Nielk1. However, when I came upon it, it was no longer functioning due to changes in the Steam API, and Nielk1 was no longer updating the project. I took it upon myself to fork his code and update it so that it would function again with current Steam versions. You can find my fork here: 
https://github.com/lahma69/GameLaunchProxy

I haven't used it recently, and I can't recall at this moment if any major changes have been made to the Steam API since I last updated it that would cause it to no longer function, but if it isn't working, it would be very easy for me to fix the problem... So, if its something you are interested in using, give it a shot, and let me know if you have any problems and I can push out a quick update for you. Wrapping your head around how it works is initially might be a little bit difficult, but it shouldn't be too hard to figure out.

To be perfectly honest though, the entire project got very little attention, and seemed to have very few, if any, users. I think the difficulty required to set it up and use it properly (which is an inherent problem to any generalized approach that can work with basically any launcher) is probably what kept it from being widely utilized. That is exactly why I created this LaunchBox plugin. Its intent was to greatly simplify things and essentially make the entire process a zero configuration, 1-click affair. 

The last point I'll address is about making "Launch via Steam" the default launch option. While this would be extremely valuable, and has been requested by other users besides you, it is unfortunately not possible using the built-in LaunchBox plugin API. Unfortunately the API is extremely limited. I won't go too far into the details, as if you're interested, you can take a look at the API yourself to get an idea of what I'm talking about. There is actually much more versatility I would have liked to have added into the plugin, but the API at this point just isn't versatile enough to do much else. 

This isn't to say that adding such features through other means such as code injection would be totally impossible, but due to LaunchBox using the .NET Framework, practices such as code injection are actually not at all straightforward or simple. I've actually done a lot of experimentation as far as adding additional features that fall outside of the plugin API's supported abilities, but at this point, the only success I've really had is with deobfuscation and modification of LaunchBox EXE/DLL files themselves. I'm pretty sure Jason, the author of LaunchBox, would not be a happy camper if someone starts releasing modified versions of his code without his permission however, so unfortunately that path is a no-go for public release. Hopefully Jason will make extensibility updates to the plugin API a priority sometime in the near future though, and maybe at that point I can add some of the additional functionality people have been requesting. 

Anyways, thanks for the kind words CosmicDan. Its always nice to know that someone is enjoying the result of all the time put into creating such a project (and keeping it updated and functioning with all of Valve's erratic constant changes to the Steam API). If I failed to answer any of your questions or if you have anything else you'd like to discuss, feel free to post a response, and I will try to respond a bit quicker this time! Thanks again.

Cheers mate. I sent you a PM since my response is not really specific to LaunchBox nor SteamLauncher per se but the code behind it.

Thanks for the detailed reply :)

Share this post


Link to post
Share on other sites
Quote

Use per-rom or per-emulator controller configurations that are automatically remembered between gaming sessions (without having to create convoluted Steam shortcuts for every rom)

How exactly does this work? Right now if I set a control config in a Dolphin game, it carries over in to a Cemu game. If I fix it for Cemu it carries over back in to Dolphin. From what I'm seeing there's only one config that's shared between all games launched this way. Am I doing it wrong? Using a non beta Steam. 

Share this post


Link to post
Share on other sites
10 minutes ago, GsMumbo said:

How exactly does this work? Right now if I set a control config in a Dolphin game, it carries over in to a Cemu game. If I fix it for Cemu it carries over back in to Dolphin. From what I'm seeing there's only one config that's shared between all games launched this way. Am I doing it wrong? Using a non beta Steam. 

I have not personally seen any behavior such as this. Maybe the problem is that you're somehow sharing the same controller profile across multiple games? The way I personally setup controller profiles is by creating a "default" starting point config for a particular platform (for example, I have a default RetroArch config that has a radial menu setup on the right analog stick for managing save states and such) and when I'm happy with it, I'll export it as a "Save New Template Binding" and name it something such as "RetroArch Default with Radial Menu". Then, when I launch any new rom for the first time through SteamLauncher, I'll load up that template binding and use it as a starting point. If you want to export (save) any new/updated bindings for any particular room, you can then save those as a "Personal Binding" and name that profile after that particular ROM, but you don't have to do that. Even if you don't export the changes you've made to a new binding profile, they will be automatically retained between gaming sessions of that ROM, and any changes you make won't affect the original template profile you used as a starting point.

The only way I can see having the problem you are having is if you are using the same profile between both ROMs/emulators and are re-exporting (overwriting) the profile after you make any changes. If you need any additional help, or you can't figure it out, let me know and we can try to chat on Steam so I can help you figure things out.

  • Thanks 1

Share this post


Link to post
Share on other sites

It looks like I didn’t fully understand how templates worked. Sorry, I just got my controller the day I posted this and your reply helped me understand everything now. I wasn’t making templates so I was just using the base configuration. When I’d change that, it would change the base configuration universally. Now I created a RetroArch template and every time I open a new game I load it up first thing. After that every time I load that game it loads the right template. Creating a Cemu one now for when I load WiiU games, etc etc. 

 

Thanks again for helping. I’m loving this controller! And the plugin makes things 100x easier. 

Share this post


Link to post
Share on other sites

Just wanted to say this plugin is much appreciated!! I've been wanting something like this forever!

 

I did notice the launch from Steam option greyed out for my non Steam Windows games though. Would it be possible to launch Windows games with Steam?

Edited by The_Keeper86

Share this post


Link to post
Share on other sites
On 5/2/2018 at 10:30 PM, GsMumbo said:

It looks like I didn’t fully understand how templates worked. Sorry, I just got my controller the day I posted this and your reply helped me understand everything now. I wasn’t making templates so I was just using the base configuration. When I’d change that, it would change the base configuration universally. Now I created a RetroArch template and every time I open a new game I load it up first thing. After that every time I load that game it loads the right template. Creating a Cemu one now for when I load WiiU games, etc etc. 

 

Thanks again for helping. I’m loving this controller! And the plugin makes things 100x easier. 

I'm glad my explanation helped you figure things out! The whole Steam controller configuration thing took me quite awhile to understand on a fundamental level. The more and more I learned about it, the more I was really blown away by the intricacies, fine-tuning, and endless level of different setups and configurations that were possible. Although I have a Steam Controller, I only use it on a few select titles, so the majority of my use of the Steam controller configurator is for use with Xbox One gamepads and other generic xinput gamepads. The whole reason I created this plugin was because of my belief that the Steam Controller Configurator is an indispensable, unique, and irreplaceable feature of my PC/emulator gaming setup. There simply is nothing else like it and I personally cannot go without it, therefore I needed something that would allow me to use it with anything I launched through LaunchBox. 

Share this post


Link to post
Share on other sites
On 5/3/2018 at 11:57 AM, The_Keeper86 said:

Just wanted to say this plugin is much appreciated!! I've been wanting something like this forever!

 

I did notice the launch from Steam option greyed out for my non Steam Windows games though. Would it be possible to launch Windows games with Steam?

Sorry I'm only just now responding to your post The_Keeper86. Somehow I missed the email saying I had replies to this topic. To be totally frank with you, I have done ZERO testing of any non-Steam Windows PC games with my plugin, as I myself do not use LaunchBox to manage those games. I suspect the explanation for why it doesn't work is pretty simple however. My plugin uses emulator/rom specific arguments provided by the LaunchBox plugin API to create and launch temporary hidden Steam shortcuts, so I suspect those same arguments do not apply to native Windows games that do not need an emulator in order to play them. 

On the other hand, fixing the plugin so that it would work with non-Steam Windows games would probably be pretty straightforward, and I don't imagine it would be too difficult to implement. If this is a feature you would like for me to add, let me know, and I'll see if I can get it implemented in short order. I really have no idea how many LaunchBox users make use of LaunchBox to play native Windows PC games, so if there are any other users who would find this feature useful, please let me know in addition to The_Keeper86.

One last thing, I saw the review you posted of the plugin, where you mentioned that using the plugin in BPM would sometimes cause the Steam UI to popup in front of BPM after a game exited. Being that I use BPM very little, I hadn't noticed this behavior until you said something (even though it probably happens in non-BPM too but probably isn't noticed since most people are using a keyboard/mouse in that case). I'm going to have to think about this issue for a bit... I'm not totally sure that there is going to be anything I can do on my end to fix this problem, simply because of the way the plugin API works and the fact that plugins aren't really meant to be a persistent process that could monitor things like window focus and process exits. However, there may not really be anything stopping me from performing such duties even if it would complicate things a bit. Let me investigate this a bit more and I will post my findings in this thread.

Edited by Lahma
additional info
  • Thanks 1

Share this post


Link to post
Share on other sites
1 hour ago, Lahma said:

Sorry I'm only just now responding to your post The_Keeper86. Somehow I missed the email saying I had replies to this topic. To be totally frank with you, I have done ZERO testing of any non-Steam Windows PC games with my plugin, as I myself do not use LaunchBox to manage those games. I suspect the explanation for why it doesn't work is pretty simple however. My plugin uses emulator/rom specific arguments provided by the LaunchBox plugin API to create and launch temporary hidden Steam shortcuts, so I suspect those same arguments do not apply to native Windows games that do not need an emulator in order to play them. 

On the other hand, fixing the plugin so that it would work with non-Steam Windows games would probably be pretty straightforward, and I don't imagine it would be too difficult to implement. If this is a feature you would like for me to add, let me know, and I'll see if I can get it implemented in short order. I really have no idea how many LaunchBox users make use of LaunchBox to play native Windows PC games, so if there are any other users who would find this feature useful, please let me know in addition to The_Keeper86.

One last thing, I saw the review you posted of the plugin, where you mentioned that using the plugin in BPM would sometimes cause the Steam UI to popup in front of BPM after a game exited. Being that I use BPM very little, I hadn't noticed this behavior until you said something (even though it probably happens in non-BPM too but probably isn't noticed since most people are using a keyboard/mouse in that case). I'm going to have to think about this issue for a bit... I'm not totally sure that there is going to be anything I can do on my end to fix this problem, simply because of the way the plugin API works and the fact that plugins aren't really meant to be a persistent process that could monitor things like window focus and process exits. However, there may not really be anything stopping me from performing such duties even if it would complicate things a bit. Let me investigate this a bit more and I will post my findings in this thread.

No problem man I figured you'd reply sooner or later :D

If you could fix the plugin so it would work with non-Steam Windows games that would be great! If not, I'll still get a lot of use out of this plugin!

Yeah, the Steam UI popping up after exiting a game via BPM mode is random. I played a few games Friday night it happened twice but Saturday night playing the same games it didn't happen. If that too can't be fixed again I'll still get lots of use from this plugin. I just wanted to point these two things out :)

Share this post


Link to post
Share on other sites
9 minutes ago, The_Keeper86 said:

No problem man I figured you'd reply sooner or later :D

If you could fix the plugin so it would work with non-Steam Windows games that would be great! If not, I'll still get a lot of use out of this plugin!

Yeah, the Steam UI popping up after exiting a game via BPM mode is random. I played a few games Friday night it happened twice but Saturday night playing the same games it didn't happen. If that too can't be fixed again I'll still get lots of use from this plugin. I just wanted to point these two things out :)

I definitely appreciate your input man. Since I read your review, I too have noticed that the Steam UI popping up after a game exits is seemingly random. One thing I have noticed though is that, at least for me, it only seems to popup when Steam automatically turns off my wireless Xbox One controller. I'm not even sure when or why Steam decides to turn off my controller though, as it seems to only occur on particular emulators or games. For example, it seems to always automatically turn off my Xbox One controller after I exit RetroArch which then causes the Steam UI to pop into the foreground. I think I will have to do a little more testing on this. If you notice any rhyme, rhythm, or pattern yourself, please let me know. Thanks!

Share this post


Link to post
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
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...