Jump to content
LaunchBox Community Forums

Lahma

Members
  • Posts

    404
  • Joined

  • Last visited

  • Days Won

    8

Everything posted by Lahma

  1. @AbbieDoobie and @HTPCei, thanks for the report. I suspect an update to Steam has once again broken something in the undocumented API calls the plugin uses. I am super busy with a work-related project right now but since I have tomorrow off for Labor Day, I may have some time to troubleshoot what is going on and take a crack at fixing it. It is weird that you're seeing legitimate icons associated with the temporary (should be temporary anyways) shortcuts being created... They must have made some major changes because previously, if you didn't specifically call the API which associated a PNG with the specific shortcut, it would not display an icon (even if the shortcut was pointing to an EXE with a valid, associated icon). I will report back here once I get a chance to look at it (hopefully with an accompanying update).
  2. That would be great. Just report back here with your results and if you're still having issues, I'll do whatever is necessary to fix the issue.
  3. You said Retroarch is what is giving you problems with window focus, right? Are you using just the standard, updated version of Retroarch? If so, I will test it out to see if I'm experiencing the same problem on my machine. If I am, I will fix it and post an update. Edit: If I'm not experiencing the same issue, I'll probably need to chat with you to assess the issue so that I can fix it.
  4. Hey @strich , as far as I'm aware, there aren't any restrictions on what games you can play over Remote Play. I think Steam automatically applies a filter, showing only the list of games that will work best on the given device you're using, but I think that filter can be disabled. See below: That part shouldn't be an issue... However, the issue that I foresee (and I could be wrong) is that my plugin doesn't add a list of games to Steam's library. When you launch a game from LaunchBox with the plugin it enabled, it creates a new temporary non-Steam shortcut in Steam's library and then launches that newly created shortcut. In other words, if you're browsing your Steam library from say your Steam Deck, to try to remote play a game from your PC on your Deck, I don't really know how you're going to pick a title for the plugin to create a shortcut for. Do you see what I'm saying? It may be possible to add LaunchBox as a non-Steam shortcut in Steam and launch that using Remote Play but I doubt that is really going to work either because it probably isn't going detect the LaunchBox UI as a game window. Even if it did, the issue is then going to be that LaunchBox is going to be detected as the "currently running Steam game". If you then try to launch a game within LaunchBox with the plugin enabled, it is going to add a new non-Steam shortcut to Steam, and then it is going to try launch that shortcut as a new game session... but LaunchBox is already a running Steam game.. See what I'm saying? Although, according to @skizzosjt, you can apparently run multiple Steam games simultaneously so maybe it will work?? I'm pretty sure that didn't use to be the case so maybe something has changed amidst all of the new updates that have been implemented recently (in bringing the Steam Deck UI to PC). I'm almost certain that previously you couldn't do something such as running BigBox as a non-Steam shortcut and then running a game within BigBox with the plugin enabled to run another game. If that is indeed now possible, that is pretty cool. If there's anything else I can do to help out or if I misunderstood what it was you were trying to ask, please shoot me a message on Steam and I'll do anything I can to help out. You're likely to get a very quick response from me on Steam whereas it (obviously) might take me a while to get back to you if you respond here in the support thread (I try to keep tabs on the support thread as often as possible.. I really do.. but I'm obviously not doing a very good job).
  5. Hey @skizzosjt , sorry it has taken me so long to get back to you. Most of the behavior you're describing is outside of my control. The reason it is doing that is because I am having to fight with LaunchBox which is simultaneously trying to manage window focus at the same time my plugin is. The explanation is pretty long winded so I don't really want to go into specifics but it really is just the nature of how my plugin is forced to trick LaunchBox into launching the proxy exe, instead of the game EXE. The LaunchBox plugin architecture does not allow for interception of game launches so my plugin is essentially having to swap things around under LaunchBox's nose. If I can coordinate with the LaunchBox devs at some point to implement some new functionality into the plugin API, pretty much all of these problems could be solved. I've tried doing that on a couple of different occasions but I was never able to get the full implementation I needed. With all of that being said, if you shoot me a message on Steam, I would be happy to work with you to fix the issue of having to alt+tab to get Retroarch back into focus. That is definitely something I should be able to fix. There must be something that changed because that wasn't happening with Retroarch before. Definitely shoot me a msg on Steam though and we will figure out what the issue is and get it resolved. My Steam contact info is on the plugin download page. When you msg me, just give me a quick reminder of who you are as I tend to get lots of messages.
  6. Sorry everyone, I haven't checked in on the thread in a long while. Just been really busy. Since I haven't received Steam messages from anyone complaining the plugin has stopped working, I assumed everything was fine. Reading the last few messages, it sounds like the plugin is still working ok? Can someone confirm if that is indeed the case? I will run it myself tomorrow and check to make sure everything is still working properly as well. In regards to the startup process (proxy window, Steam game launch window, Startup/Shutdown windows, etc), it is an extremely sketchy process because I'm having to battle with Steam and LaunchBox/BigBox in order to maintain Window focus when needed, and prevent it when not needed. It would be great if there was a more elegant way to handle things but I've spent literally dozens upon dozens of hours trying to tweak it and improve the process as much as possible. That's not to say it can't be further improved but there are always going to be some edge cases that likely don't work properly. However, if something has changed and Startup/Shutdown screens and game window focus aren't working on the vast majority of titles, then I will definitely look into the issue and fix it. Like I said, I'll take a look tomorrow and see what things currently look like. In the meantime, if you guys have any feedback or things to look out for, please let me know. Thanks! P.S. I'll read all of your posts more carefully tomorrow and specifically respond to each of you (if needed).
  7. I'd be happy to help you out but I'm going to need a lot more details than what you provided.. Tried booting emulators that were working before what? "Nothing works as it should" meaning.. what exactly? Things (the plugin, LB, ??) work if you fresh install what? The plugin? LaunchBox? Or do you mean when you re-setup/install an emulator or game or rom? I'm the author of the emulator so I can probably point you in the right direction and/or help you troubleshoot an issue you're having but please provide as detailed of an explanation as you can and ideally, provide some logs as well. If you don't know how to collect logs, there are instructions on the plugin download page describing how to do so but I will copy/paste those instructions below for your convenience. Please do not just provide log files though. They can only tell me so much so I will need a detailed description of the issue as well. Logs To provide help with any technical problems or to investigate a bug, I will need a copy of the debug log that is generated whenever 'Log Level' is set to 'Verbose'. To enable and collect 'Verbose' debug logs, do the following: Open the SteamLauncher settings dialog. Click the dropdown box under 'Log Level' and select 'Verbose'. Click the 'Save' button. Restart LaunchBox/BigBox. Now simply repeat whatever behavior was causing the issue and/or bug, and after you're sure you've replicated the behavior, close LaunchBox/BigBox. Look inside of the SteamLauncher directory for a file named 'debug.log' (there may be more than one sequentially named log file if there was an enormous amount of output but this is unlikely if verbose logging was turned on just briefly). Open this 'debug.log' file in a text editor, copy its entire contents, and paste/upload it to pastebin.com. In the SteamLauncher support thread, provide the PasteBin URL, the details of the problem you encountered, and the particulars of your setup (Windows version, 32-bit or 64-bit, LaunchBox version, Steam version, SteamLauncher plugin version, etc). The more information the better.
  8. @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: Please let me know if this solves your issue.
  9. 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.
  10. @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!
  11. 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). 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.
  12. 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.
  13. 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.
  14. Again, sorry for the wait. The new version (v0.9.8.5) has been posted to the plugin download page. This update fixes a bug which caused ShortcutID generation to fail on non-English Windows systems.
  15. Quick notice: With the help of @Nokiaman, I've found a bug in the latest release which will likely cause the plugin to not work if it is running on a non-English copy of Windows. I've already fixed the bug and sent out a debug build to @Nokiaman to test out. I'm going to compile an updated point release (v0.9.8.5) and post it on the plugin download page shortly (today). If you're running a non-English version of Windows and haven't download the new update yet, hold off until I post this new build to save yourself some trouble.
  16. Excellent! Happy to hear it is working for you! Again, sorry for the ridiculously long wait.
  17. Sorry, it took me a little bit longer to debug the new release than I initially planned. However, the new version is now up and ready to be downloaded. Please give it a try and let me know if you all come across any problems.
  18. Hi @Drakorex and @BiRaitBec, I'm sorry about the problems you both had but indeed the plugin was not in a functional state when you tried it out. Steam made significant changes to the way they calculate non-Steam ShortcutID's in an update which broke the plugin. I spent many, many hours reverse engineering the new code to try to find a solution but ultimately came up empty handed. However, just a few days ago, I finally found a solution to the problem and I am posting a new update (v0.9.8.4) in about 10 min. Please give the new update a try and @BiRaitBec, please update your review with the results. I'm sure you will find the plugin very useful. If you have any issues, just click on the blue 'Support' button and leave a post in the support thread. I would be happy to help out in whatever way I can. Thanks!
  19. Good news everyone! After spending entirely too much time trying to resolve the issue, I have finally resolved the problem. I apologize for the long wait and for not communicating much over the previous months but I was honestly very frustrated and burned out after spending so much time looking for a solution without any success. I won't go into a long tirade about the technicalities but I'm testing out the changes right now and should be able to post the new release shortly. Wish I had some way to let everyone know that I've finally fixed the issue but I guess most of the users will figure it out eventually. I'll post back here soon when the new release is posted.
  20. Just wanted to let everyone know I am still working on things. Just a slow process with everything else I have going on. I do have a favor to ask though. Does anyone have a backup of their Steam folder prior to the update on/around March 13th? I need a copy of all of the EXE/DLL files in the "C:\Program Files (x86)\Steam" directory. If you have these files and could share them with me, that would be super helpful. Thanks!
  21. I'm really sorry for the long wait guys. I've been really overwhelmed with work stuff right now as I have a couple of really big projects I've been working on. However, I have Visual Studio open right now and I'm investigating which vtable changes need to be made. Should have the online DB updated shortly. I'll post back here when its done. Edit: It would appear that the problem actually has nothing to do with vtables but instead (and very frustratingly) is due to changes in the way that non-Steam shortcut IDs are being calculated. WHY they would have changed something like that, I cannot tell you. Then again, there are lots of thing that Valve changes that I have difficultly explaining. The way shortcut IDs are calculated (for non-Steam games that is) has never changed (as far as I know anyways) because it is so fundamental to the way many internal Valve functions (and 3rd party tools) operate. (Ok, so turns out, after looking through my notes, the previous sentence isn't technically true.. See "P.S." at bottom of post.) That leaves me with believing that this change was likely an accident and it will probably be reverted in a future update. Regardless, I am forced to "fix" it in the meantime and then "unfix" it later if they revert the change. Give me a bit more time to investigate how exactly they've changed it and I will release a new plugin update shortly. Be aware, this is a change that will require actually manually downloading a new SteamLauncher update since the change is unrelated to vtables (and therefore can't be fixed by simply pushing an update to the online vtables DB). P.S. So, for anyone who actually cares, back in August of last year, a Steam update did technically change the way shortcut IDs were calculated but it was due to a bug. Not because Valve actually intended to change the way shortcut IDs were calculated. The bug only affected "temporary" shortcuts, of which there can only be one existing in the Steam library at any time, and which happens to be the type of shortcut that SteamLauncher uses. The bug caused Steam to calculate the temporary shortcut ID using an empty string for both the shortcut title and the shortcut exe path (which happen to be the only 2 inputs used to generate the shortcut ID). When this bug was introduced, I had to release an update for the plugin to account for it... and then like 5 days later, they released another update which fixed the problem (requiring another update of the plugin). That's why there were like 3 or 4 back-to-back updates of the plugin in August of 2022. I don't know if this same bug has returned or if it is something else. That is exactly what I'm looking into at the moment. UPDATE: So... This last update royally screwed things up. Long story short, shortcut IDs (technically called "Game ID" by the Steam API) are no longer a predictable/calculable value on temporary Steam shortcuts. For as far back as I'm aware (decade, probably longer), non-Steam game/shortcut IDs have always been calculated/generated by feeding the non-shortcut name and EXE path into a special CRC32 hash function. As long as you feed in the same game name and EXE path, you always get the same game/shortcut ID back out. Now, all of a sudden, every single time you generate a new temporary shortcut in Steam, it returns an entirely unique/different game/shortcut ID. While I'm sure this value can be calculated using some new combination of parameters (likely includes the App ID in the hash function now since that IS and always HAS BEEN a unique value every time a new shortcut is generated), it is probably going to take a lot of reverse engineering to find that code and deconstruct it into something I can recreate in my own code. To say I'm a bit frustrated right now is a massive understatement. What's even more frustrating is I know I'm going to spend scores of hours figuring out how to get around this new change and then in the very next update they will change it back to how it was previously... This type of thing happens all the time. Anyways.. enough of my venting. Just wanted to let everyone know that this is going to take much more time than I was anticipating and therefore the update won't be coming immediately. I'm going to look into a few workarounds first, and then if those don't work out, I will take the hard path and start trying to locate this new hashing function so I can disassemble it into something I can recreate in my own code. If it looks like it is going to take me more than a few days, I will post back here with an update on the progress. Sorry for the delay...
  22. Thanks for the report @Darkcloud! Sorry it took me some time to reply but I was out of town and just got home. I will look into the issue asap and hopefully have a vtables update pushed to the online server shortly. I will post back here as soon as I've updated the vtables.
  23. SteamLauncher never worked for games imported from the Epic Game Store. Any games that launch using custom URL handlers are inherently incompatible with non-Steam shortcuts. Essentially, if you manually add a non-Steam shortcut to Steam using the application path in LaunchBox and it does not work properly (doesn't work at all, no overlay, etc), then it isn't going to work with SteamLauncher. SteamLauncher cannot do any type of magic in that regard... it is transparently creating a non-Steam shortcut in the background and then launching that non-Steam shortcut. Steam is not going to be able to hook any game that is launched with a custom URL handler and therefore it isn't going to work with SteamLauncher. Of course, there are a few simple ways to work around this problem such as just changing the LaunchBox application path to point to the actual game EXE instead of using a custom URL handler. This is the most straightforward way to fix the problem. I have also implemented a variety of mechanisms for whitelisting/blacklisting games based on a wide variety of different parameters. By using this feature, you can easily prevent SteamLauncher from intercepting launches for whichever games you want. For more information on this feature, see Selective Use section on the plugin download page: You said disabling SteamLauncher didn't fix your issue (that you had to remove it entirely).. I don't know why that would be the case. Disabling SteamLauncher causes it to entirely stop intercepting all game launches. Forgive me for being a bit skeptical, but if upon further testing you find that to actually still be the case, let me know, and I will look into it further. Oh, and please note that after receiving any major errors (such as because you tried to launch a game with SteamLauncher using a custom URL handler), it is always a good idea to restart LaunchBox/BigBox. Please try some of the things I've suggested and then let me know if I can be of any further help. Thanks.
  24. Hey @Corgana, I just installed the latest Steam beta and everything appears to be working like normal. Can you perhaps further explain what types of issues you are seeing?
  25. Damnit.. Still not receiving notifications about new posts here. Sorry I missed your msg @Corgana. You're talking about the new the Steam beta? I'll look into it asap. Still, I wish I would have seen your msg a week ago when your originally posted it. I will download the Steam beta, sniff out the changes in IDA Pro, and hopefully I can push a vtables update to the online DB sometime today. Only reason I noticed your msg is because I came here to post about something else so let's move on to that topic now. I've been working on the plugin the last few days and I've fixed the BigBox menu options. Additionally, I've implemented some new entries in the SteamLauncher options which were requested by a few people including @coasternd. The new options will allow you to choose whether the "Use SteamLauncher" and "SteamLauncher Settings" menu options appear in BigBox. You will also be able to choose whether the menu options should appear in BigBox whenever it is locked. The "Use SteamLauncher" menu option, which is prefixed by either "(ON)" or "(OFF)" depending on the state of the plugin, relies on some pretty hack-ish workarounds in order to change the menu item text dynamically. This is required because BigBox doesn't automatically pickup changes made to the menu item text (it simply reads the menu item text at startup and ignores any changes made after that). This means that if any major code changes are made in BigBox, it could break the menu item again, but that's just the way it has to be for now until LB/BB changes the way their code works. I'm still testing out these changes but I should be able to release an update with these changes in fairly short order. With all that being said, I wanted to get everyone's opinion on an additional matter. Seeing how the SteamLauncher settings (within BigBox) require a mouse/keyboard and can't be controlled using a controller, I've been considering adding a few of the more important settings directly to the list of BigBox menu items (they would be listed right after "Use SteamLauncher" and "SteamLauncher Settings"). For those of you who use BigBox regularly, what settings would you like to see added in this way or do you even think this is a good idea (and yes, the options will be able to be hidden altogether or hidden only when BigBox is locked)? Please let me know your opinions on this matter. Thanks!
×
×
  • Create New...