Jump to content
LaunchBox Community Forums


  • Content Count

  • Joined

  • Last visited

Community Reputation

177 Excellent


About Lahma

  • Rank
    32-Bit GPU

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. @mrdead Are you using this version of the plugin? SteamLauncher Alpha v0.9.7.3 http://bit.ly/SLv0973
  2. Hey @Aetavicus, that is disappointing to hear as I definitely implemented full UTF-8 support a very long time ago. Unsurprisingly, the first culprit which made me realize non-ASCII characters were not working correctly was Pokémon. I can't say I've ever come across an umlaut (¨) in any of my own game titles and this is the first instance I've heard of any problems with it. With that being said, I don't doubt your report at all as there is an undisputed bug in Steam's unicode character handling which is the entire reason there was an issue with titles such as Pokémon in the 1st place. In order to work around that bug in Steam, I have to mangle the UTF-8 encoding in my plugin before sending it to any Steam API method. Since it has been so long since I've dealt with the issue, I can't remember the particulars of it but it is possible that there may be some limitations as to what character sets it is capable of implementing (for example, it may support all UTF-8 characters but it may not be able to display unicode characters that require a full 16 bit representation). I will definitely look at it though to see if it can be fixed. One thing you might look at in the meantime is if you can create a non-Steam shortcut within Steam itself using that character. If there is indeed no problem actually creating a non-Steam shortcut with that character in its name (or file path), its likely the problem is related in some way to the function I'm using to mangle the unicode bytes before sending them to a Steam API function. If you get a chance to try it, let me know what the results are. Otherwise, I'll look at it as soon as I can. Thank a lot for the report!
  3. You're very welcome! Always great to find another person who finds the plugin to be useful for their needs.
  4. Sorry it took me so long to respond. The reason you're having problems is that you're not using the latest alpha I've posted here in the support thread. I know, I know... I haven't updated the plugin download page. I'm literally changing all of the documentation, logos, updating the Github, etc for the 1.0 release, so I've been putting off updating the main download page until that release is ready. If I would have suspected it would have taken anywhere close to the amount of time that is has to finish the 1.0 release, I definitely would have updated the plugin download page long ago. I probably need to go ahead and just do that... Sorry about that. I realize there is no way you would have known you would need to get the latest release that I've posted here in the support thread. Anyways, with all that rambling out of the way, you need to be using this version: SteamLauncher Alpha v0.9.7.3 http://bit.ly/SLv0973 Let me know if you have any problems.
  5. Ok guys, I need a bit of feedback from y'all (or at least from anyone who cares about this feature). Some of y'all were requesting a feature that would exempt certain games/roms/emulators from use with the plugin... basically, a way to tell LB/BB to not use SteamLauncher when launching certain titles. I promised I would try to fit this feature into the 1.0 release and I am finally ready to start implementing it. Problem is, I haven't decided yet how it would be best implemented. Let me first describe how I am thinking of implementing it, and then y'all can tell me whether or not you think this will satisfy your needs, or instead, suggest a better way of going about it. My current idea is to basically just do a full-fledged blacklist/whitelist approach with a user defined list of regex (or, as in the example below, possibly just wildcard-supporting) strings for the various possible fields. The user could select from 3 primary modes: off, whitelist, blacklist. If either blacklist or whitelist is selected, a datagrid would be enabled in the settings UI which would allow the user to enter an unlimited number of entries, with each entry having several fields such as GameTitle, PlatformName, EmulatorName, Arguments, and ExePath. In practice, it would look something like this: GameTitle PlatformName EmulatorName Arguments ExePath *Mario* *Nintendo* Street* Sony Playstation 1 Retroarch Windows D:\* *D:\Roms\PS3\* If it was set to blacklist mode, anything that matched the entries in the example datagrid above would NOT launch via SteamLauncher but everything else that did not match the entries would launch via SteamLauncher. If set to whitelist mode, anything that matched the entries in the example datagrid above WOULD launch via SteamLauncher but everything else that did not match the entries would run without the use of SteamLauncher. For this example (although it probably would be so in the real implementation too), let's say all terms are case insensitive and for both the Arguments field and the ExePath field, all forward slash (/) characters and backwards slash characters (\) are interchangeable and match each other (so if your exe path in LB/BB uses forward slashes but you enter backwards slashes in the Arguments or ExePath field, it will still find the match appropriately). To further illustrate, let me describe how the entries above would match titles in your collection: Entry #1: Any game with "mario" anywhere in the title AND that has "nintendo" anywhere in the platform name Example Matches: Super Mario World (Super Nintendo Entertainment System), Super Paper Mario (Nintendo Wii) Example NON-Matches: Mario Andretti Racing (Sega Genesis) Entry #2: Any game whose title begins with "street" AND whose platform name matches "sony playstation 1" exactly Example Matches: Street Fighter Alpha 3 (Sony Playstation 1) Example NON-Matches: Sesame Street Sports (Sony Playstation 1), Street Fighter X Tekken (Sony Playstation Vita) Entry #3: Any game that uses emulation and whose emulator name is exactly "retroarch" Example Matching Emulator Names: "Retroarch", "retroarch", "RetroArch" Example NON-Matching Emulator Names: "Retroarch Nightly" Entry #4: Any game whose platform name matches "windows" exactly AND whose executable path begins with "d:\" Note: Assume the platform is "Windows" for all of the following examples Example Matching Exe Paths: "D:\Games\Doom.exe", "d:/games/quake.exe" Example NON-Matching Exe Paths: "C:\Games\Doom.exe", "../../Games/quake.exe", "Games\Windows\hl.exe" Entry #5: Any game launch whose launch arguments contain "d:\roms\ps3\" (this would include any emulator whose launch arguments contain a rom located within this directory but would NOT include an emulator located within this directory, unless its launch arguments also included this string as well) Example Matching Launch Arguments: "-f -nolegacy -g d:/roms/ps3/example.rom" Please let me know if you think this is versatile enough to cover your own needs as well as the needs of others who might find this feature valuable. Of course, I'm all ears for any suggestions on how to go about it a different way (or a simpler way). Also, please let me know if you think using wildcard-supporting strings is sufficient or if you'd prefer to have full regex support (with a toggle for turning it on/off). I look forward to hearing all of your opinions on this!
  6. Steam DOES need to be open (well.. if it isn't open, the plugin will automatically start Steam itself) but Big Picture Mode does NOT need to be active (although its probably ok if BPM is active as long as you don't start LaunchBox/BigBox through a shortcut in BPM). What I was trying to say, but probably did not explain sufficiently, is that you cannot start LaunchBox/BigBox via Steam and expect the plugin to work (more specifically, you cannot add LB/BB to Steam as a non-Steam shortcut and use that shortcut within Steam to start LB/BB). LaunchBox/BigBox must be started outside of Steam (by just double clicking their exe, a shortcut to their exe, a start menu entry, or whatever other way). What I mean by a "non-Steam" shortcut in SteamThe reason this cannot work is because whenever you launch LB/BB as a non-Steam shortcut, Steam thinks you are already playing a game (a game called "LaunchBox" or "BigBox" [or really whatever you name the non-Steam shortcut]) and because Steam is already tracking/managing a currently running "game", the plugin cannot tell Steam to start another game. I use my Switch Pro controller with Steam all the time and you can definitely change its desktop profile to be a normal gamepad. At the bottom of the screen, you should see a prompt to "Show Other Controller Types". If you select that, you should see the generic "Gamepad" profile show up: If you don't, go into Steam's settings, click the "Controller" tab, click the "General Controller Settings" button, and ensure that you have all of these boxes checked (in your case, particularly the "Switch Pro Configuration Support" but also the "Generic Gamepad Configuration Support"): Additionally, I would also recommend having these boxes checked in the "In-Game" tab in Steam's settings (or at least the top 2): Please let me know if I explained things a bit better this time and let me know if you figured things out. Hopefully we can get things working properly for your little buddy. I know what it is like trying to get something like this setup in such a way that it is easy for someone inexperienced to use it easily without any complicated and/or unnecessary steps. I'm not sure the plugin is ideal for that situation but I think you should be able to get it all setup in such a way that makes it easy for him to use.
  7. It makes me happy to know that others find my plugin as useful as I do and the many, many hours I've put into its development have been a great learning experience for me. My only regret is that I have not had nearly as much time to put into its development (especially recently) as I would like. I've been attempting to push out the 1.0 release for so long now but every time I think I'm close, there is something new that pops up that needs addressing. Oh well... Hopefully it won't be too much longer. If you can give me a few more details about the problem you're experiencing, I think I can help you resolve your issue, but I'm not sure I quite understand exactly what the problem is from your description. Are you suggesting that you're launching BigBox from (while in) Steam's Big Picture Mode? If so, I wouldn't expect the plugin to work at all... I suspect you already know this, but you can modify Steam's desktop controller profile by going to this option in Steam's settings: Then, click "Browse Configs", go to "Templates", and select the "Gamepad" profile. This will make your desktop profile act just like a normal controller. Again, you probably already know how to do this and I'm just missing something so please give me some additional details so I can help you further. Thanks!
  8. Hi @jlarsen1981, glad to have another SteamLauncher user onboard! Personally, I don't use BigBox much and generally I just ensure that the plugin is operational with it. Actually, I didn't even know there was hotkeys you could set to exit a game in BigBox. However, having written the plugin and therefore understanding how it works, I can make a pretty good guess at what the problem is. If the BigBox hotkey simply force exits the game/emulator process, the problem is most likely that it is exiting the wrong process. The way the plugin operates is this: When you launch a game/emulator/rom in LB/BB, immediately prior to LB/BB actually launching that process, SteamLauncher very briefly (milliseconds) changes the game/emulator's exe path in LB/BB to the "SteamLauncherProxy.exe" file included with the plugin Note: This means that LB/BB is actually launching "SteamLauncherProxy.exe" instead of the game/emulator exe that you would assume it is launching (the reason why this happens is long and complicated but suffice it to say that Steam has to launch the game itself in order to have the Steam overlay active.. the proxy exe exists in order to provide a "link" between the game process that Steam launches and the game process that LB/BB thinks it is launching) Immediately after LB/BB starts the "SteamLauncherProxy.exe" process, SteamLauncher changes the game/emulator path back to its original value in LB/BB Note: The important thing to note here is that even though the game/emulator path is changed for only a matter of milliseconds in LB/BB, LB/BB will still assume the game/emu EXE is whatever it was when it launched it ("SteamLauncherProxy.exe").. this means that for the lifetime of the game/emulator process, LB/BB thinks the game process is actually "SteamLauncherProxy.exe" For the rest of the lifetime of the game/emulator process, SteamLauncher monitors the actual game/emulator process that Steam launched (lets call it "Retroarch.exe") and whenever that process ends, SteamLauncher will immediately force kill the SteamLauncherProxy.exe process... only when this happens will LB/BB think that the game/emulator process has actually ended To summarize all of that (sorry, you probably weren't asking for a detailed explanation of the inner workings of the plugin), the problem is almost certainly that whenever you hit the BigBox "Close Game" hotkey, BigBox is killing the "SteamLauncherProxy.exe" process instead of the actual game process that was started by Steam. Since I was not aware of of this hotkeys existence prior to this, there was no mechanism in place to handle this situation. With that being said, there are a couple of ways that I can immediately think of to handle/fix this. The most obvious solution would be to read LB/BB's config for the "Close Game" hotkey combination and hook this same hotkey so that SteamLauncher can force exit the actual game/emulator process whenever this hotkey is detected.. this is likely the easiest/best option Another way this could possibly be handled (or in addition to the previous method) is having SteamLauncher automatically end the game/emulator process whenever the "SteamLauncherProxy.exe" process exits I'm a little reluctant to handle things this way as it would obviously be a very bad thing to kill a game/emulator whenever the user didn't intend for that to happen.. and there are a few instances I could think of where "SteamLauncherProxy.exe" could be closed with a game still running (and without the user intending it to stop running) I will add this feature to my list of "to do's" and I will try to get it implemented for the next major release but no promises. It would be helpful for other users to chime in here if they would use this feature or find it helpful so I can assign it the appropriate priority. Thanks again for the heads up on this @jlarsen1981. Hopefully I answered your question and hopefully I can get this fixed for you ASAP. In the meantime, I would suggest using the Steam controller configuration overlay to set a button/key combination to output "ALT + F4" (which will exit the currently focused app/game/emu).
  9. Currently, the plugin is either enabled or disabled and there is no way to add a blacklist or whitelist. However, I have actually implemented this functionality in an unreleased update but it is not yet ready for release. Another user notified me that the "Tools -> Use SteamLauncher (ON/OFF)" toggle is not working (or at least isn't in the last build I posted in the forum thread.. I've fixed it and it will be working in the next update). You can get around this by opening the settings GUI (Tools -> SteamLauncher Settings) and checking/unchecking the "Enable SteamLauncher" checkbox and clicking "Save". The reason it probably wasn't working for you by modifying the XML is most likely because you were modifying the XML file while LaunchBox/BigBox was running. I'm trying to get an update pushed out as soon as I can but I'm honestly WAY overwhelmed with other things going on right now (holidays stuff, my car stopped running the other day and I have it all torn apart trying to fix an electrical issue, overloaded with work-related stuff, etc and so on). Rest assured that I'm trying my hardest though and I will try to get that blacklist/whitelist implemented in the next update if I can (the feature is implemented in a fork and is mostly untested so it still has some work to do before integrating into the mainline build.)
  10. Author of the plugin here. Basically, any game launcher that doesn't work or has problems when adding that game/launcher as a non-Steam shortcut in Steam isn't going to magically work when using the plugin. All that SteamLauncher is doing is dynamically adding a non-Steam shortcut to Steam using unexposed/undocumented/unexported Steam functions and then attempting to seamlessly handle the starting/exiting of that non-Steam shortcut while maintaining tight LaunchBox/BigBox integration. For some titles/launchers that do not work "out of the box", there are workarounds that can be used to get things working (see 'Game Launchers' tab in the settings GUI) but in most cases its going to require either a custom batch file launcher that is then converted to an EXE (using Bat to Exe Converter) or the use of external helper utility (such as GloSC, NSO-Manager, etc). You'll probably find that in most cases however the trouble just isn't worth the hassle.
  11. Are you using this release? SteamLauncher Alpha v0.9.7.3 http://bit.ly/SLv0973 The plugin on the download page is outdated but this alpha version should work fine. Be aware that with the new version, you no longer right click a game and click "Launch via Steam" (I actually finally removed that option in the most recent alpha). Now, when the plugin is enabled, you simply launch any game as you normally would (when using LB/BB without the plugin) and it will be launched through Steam. To enable the plugin, you would normally click the "Tools" menu item in LB, then ensure that the "Use SteamLauncher" menu item is labeled "Use SteamLauncher (ON)". Again, normally, if it was labeled "Use SteamLauncher (OFF)", then clicking that menu item would enable the plugin. The reason I say normally is because I was notified by a user that this menu item is no longer actually toggling the plugin ON/OFF status in the config file. Like everything else in recent weeks, this is again due to some changes made when LaunchBox transitioned to the .NET Core framework. It was a quick and easy fix though so it is fixed and will be available in the next alpha (which I'm going to post today). For now however, you can enable/disable the plugin by opening the settings UI (Tools -> SteamLauncher Settings) and checking/unchecking the 'Enable SteamLauncher' checkbox and then clicking the 'Save' button. If you were already using this release or it did not fix your problem, please shoot me a msg on Steam and I'll help you figure out what the problem is. My Steam alias is lahma0. You can click on my alias to open my Steam profile to add me as a friend, or you can copy/paste the following URL into your address bar: steam://friends/add/76561198237461630
  12. The behavior you're describing (in your 1st paragraph) is definitely not normal. Your experience while using the plugin should be very similar to your experience while using LB/BB without the plugin. When you start a game through LB/BB, you should see the startup screen for a couple of sec, possibly a Steam 'Game Starting' dialog box for a split sec, and then the game window. After you exit the game, you should see the LB/BB window for like 1/8 of a sec before the shutdown screen takes focus (and the shutdown screen should only display for a sec or 2), and then the LB/BB window should regain focus after the shutdown screen closes. Without more information, there isn't a whole lot I can suggest you try in order to fix your problem. What are the general specs of your PC? Are you running the licensed version of LB/BB? Do you have startup/shutdown screens enabled? Are any of your LB startup/shutdown screen settings set to custom/non-default values? What emulators/games have you tried and do they all act the same way (in regards to the plugin/steam/startup-shutdown screens)? I just did a screen capture of Retroarch being launched via the plugin on my machine just so you can see what the process looks like on my machine. See the video attached to this post. Keep in mind that running any non-Steam shortcut adds a couple of extra seconds on top of what it would normally take to launch any game. In addition to that, the plugin is having to launch its own proxy process, setup a process monitoring routine, and it has to battle with LaunchBox/BigBox over window focus and z-order which probably adds at least another second or so on top of the normal game launching process. Until LaunchBox adds proper game launching hooks/callbacks/hijacking into the plugin API, there is virtually nothing I can do to speed up this process as I am essentially having to trick LaunchBox into launching a replacement executable when it does not support such functionality. Moving onto the topic of Steam Big Picture mode... You cannot use Steam Big Picture mode to launch LaunchBox/BigBox and then use SteamLauncher to launch a game via Steam. At that point, you are basically telling Steam to hook LaunchBox/BigBox, and then when you launch a game via LB/BB (using SteamLauncher), an already hooked process is trying to call back out to an external process to start another Steam game that Steam would have to hook... Suffice it to say this quickly becomes a wormhole of recursion weirdness that simply isn't going to work. The entire point of the plugin is to bypass the need for running in Steam Big Picture mode and/or having to create individual non-Steam shortcuts for every game and emulator/rom combination. So ya, please give me some more details/info as I requested in my 2nd paragraph and I'll try to figure out what is going on and how we can fix it. Also, if anyone else is seeing this behavior, please let me know. My expectation is that there are going to be some games/emulators that are going to cause wonky issues with the startup/shutdown screens (just like there are many games/emulators that cause the startup/shutdown screens to not work properly when using just LB/BB without the plugin [hence the reason I said in my previous post to try a game/emu without the plugin active to see how it performs vs when the plugin IS active]) but if you're seeing this behavior across all games/emulators then there is clearly a bigger issue at play. Thanks for the report. LaunchBox-SteamLauncher-GameLaunch_2020-10-29_22-37-27.mp4
  13. Lol, thats a pretty strange one man... The only thing that I could even conceive of that might cause a (very overzealous) antivirus to say such nonsense is possibly the fact that my plugin hooks into the Steam process to call some undocumented API functions. If I had to guess, the reason you're having to reinstall LB to get it working again is it is probably deleting/quarantining one of the LaunchBox exe and/or dll files inside the "LaunchBox\Core" directory. If your antivirus is deleting ANY file without your permission, I think you need to look for a new antivirus product. If it is just quarantining the file, you should be able to look at your list of quarantined files and simply remove them. I would definitely suggest you follow the instructions below and add the exceptions prior to trying to remove anything from quarantine though as it might just immediately re-detect it if you don't. To fix the problem, this is what I would suggest.First, if you can, just add the entire "LaunchBox" folder to your exceptions list (the list that says, 'Don't monitor/scan/detect these files'). If you can't add the entire folder, add these specific files (prob all these aren't needed.. I'm just ensuring we cover all bases) to your exceptions list (if your antivirus doesn't allow you to add .dll files, just ignore those): LaunchBox\LaunchBox.exe LaunchBox\BigBox.exe LaunchBox\Core\LaunchBox.exe LaunchBox\Core\LaunchBox.dll LaunchBox\Core\BigBox.exe LaunchBox\Core\BigBox.dll LaunchBox\Core\Unbroken.dll LaunchBox\Core\Unbroken.LaunchBox.dll LaunchBox\Core\Unbroken.LaunchBox.Plugins.dll LaunchBox\Core\Unbroken.LaunchBox.Windows.dll LaunchBox\Core\runtimes\win\lib\netcoreapp2.0\System.Management.dll LaunchBox\Plugins\SteamLauncher\SteamLauncher.dll LaunchBox\Plugins\SteamLauncher\SteamLauncherProxy.exe Once you've done that, you shouldn't have any more issues. Next time you have to pay for to "resubscribe" to your Antivirus (or whatever you call it), I would highly suggest reading up on the effectiveness of Windows Defender (Windows 10 built-in antivirus) as I think most honest publications would rate it amongst its top paid competitors (just 1 random article I pulled from Google: https://www.techradar.com/reviews/windows-defender ). Obviously, its none of my business what antivirus product you choose though. Just a suggestion! Let me know if this fixed your problem. If not, I'd be happy to continue helping you out until we figure out a solution.
  14. I wasn't suggesting to add the game to Steam manually as a workaround.. I was suggesting you use that as a way to test what LB does whenever the plugin isn't being used so you can figure out if the problem/fault lies with the plugin or with the way LaunchBox is doing things. So without that out of the way.. Are you suggesting that the Steam window shows over the top of the startup screen or are you talking about the little Steam dialog box that pops up that informs you of the game its launching? In every game/emulator I've tested on the newest alpha, the main Steam window is remaining hidden behind LB and the game startup/shutdown screen.. The only window that I've had show over the top of the startup screen is the Steam 'game launching' dialog and that only happens sometimes... Even on the same game/emu its happening some launches and others its not. Please let me know what you're seeing. The big problem with getting the window focus/z-order right is that I am fighting with LB itself who is also trying to manage that stuff simultaneously. I've spent probably 15-20 hours trying to come up with a combination of win32 API calls that handle all of this elegantly across all titles but I've not yet found any perfect solution. I definitely do plan on continuing to work on this problem though as I'm sure there is a much better solution (or more likely a combination of solutions). The little Steam 'game launching' dialog is a real bastard though as it does not run as a child window of the main Steam window like practically every other dialog window does which actually gives it significantly more leverage to do what it wants regardless of your application's insistence that it should not. It should respect the Win32 API call to 'LockSetForegroundWindow' but so far in my testing, it appears not to. Anyways, I won't ramble on about the technicalities but ya, I am still working on it. Please let me know what behavior you're seeing (as addressed in the 1st paragraph).
  15. For @JedExodus and anyone else, here is a new alpha with the Windows shortcut (.LNK) file problem fixed. The plugin now ignores the 'Root Folder' setting in a game's properties whenever its target executable points to a .LNK file. Instead, it uses the 'Start in' path of the shortcut file. Let me know if this fixes your problem Jed. SteamLauncher Alpha v0.9.7.3 http://bit.ly/SLv0973
  • Create New...