Jump to content
LaunchBox Community Forums

Lahma

Members
  • Posts

    403
  • Joined

  • Last visited

  • Days Won

    8

Everything posted by Lahma

  1. Huh... That is indeed an interesting error. I've never before seen that line, "Quota violation", in the debug log. With that being said, after a quick evaluation, it appears that something in the latest Steam update probably broke things. Since I'm not seeing that 'Quota violation' in my own log, I can't be sure what that is about, but the plugin isn't working for me either and it appears to be related to the plugin not being able to locate the correct vtable offset for 'GetIClientShortcuts' in the Steam client DLL. I just opened the latest steamclient.dll in IDA and I'm analyzing it to see what has changed. After a cursory inspection, it appears that there were a LOT of new entries added to the IClientEngine vtable. While my plugin has code that attempts to be "smart" about finding the correct vtable offset, I intentionally limit the number of vtable offsets it is allowed to investigate around a specified static offset value in order to prevent startup of the plugin from taking too long. I thought I set this value sufficiently high that even a major update to the vtable would not cause the offset to be outside of this range but it appears that my assumption may have been wrong (although, if that is the the only thing wrong, and simply adjusting this value will fix the problem, that will be comforting as that means my "smart" algorithm for finding the correct offset is still working and only a single range value needs to be modified). Let me do a bit more testing and I will get back to y'all.
  2. Sorry guys. I'm currently out of town (and have been for several days) so I'm not keeping an eye on the thread as closely as I usually do. I will check things on my end right now with the latest LaunchBox and Steam though just to ensure something hasn't broken the plugin. I'll post back here in a min.
  3. @mrdead Are you using this version of the plugin? SteamLauncher Alpha v0.9.7.3 http://bit.ly/SLv0973
  4. 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!
  5. You're very welcome! Always great to find another person who finds the plugin to be useful for their needs.
  6. 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.
  7. 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!
  8. 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.
  9. 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!
  10. 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).
  11. 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.)
  12. 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.
  13. 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
  14. 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
  15. 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.
  16. 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).
  17. 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
  18. @JedExodus, I just took a quick look at the issue with shortcuts and the only 'problem' appears to be related to the game's 'Root Folder' setting in the LB game properties. Essentially, if the root folder is set to the folder that the shortcut is in instead of the game's directory, this is going to cause problems with the vast majority of games. I remember when I initially implemented support for shortcut (.LNK) files, I was a bit torn on how to handle this as whenever LB is importing games via a .LNK shortcut file, it (incorrectly, in my opinion.. unless I'm misunderstanding their logic) sets the root folder to the directory of the shortcut file (instead of the directory set as the 'Start in' folder on the shortcut or just the directory of the game/emu exe itself). By overriding the 'Root Folder' as set in LB (and instead setting the 'Start in' directory of the non-Steam shortcut to the game directory itself), my plugin is taking control away from the user by preventing them from being able to change this if they have a good reason to.. but if I don't override this behavior, then anyone whose used the LB game importer and therefore has games in LB that point to .LNK files are going to have problems. For this reason, I thought I had gone ahead and just decided to ignore LB's 'Root Folder' setting on any games that pointed to .LNK files, but it appears that I either didn't do that (seems unlikely since this problem appears to be coming up only now) or I changed something in the code since the transition to .NET Core that altered the way this works (more likely... though I can't remember touching any part of that code). You can double check that this indeed the problem on your machine by changing the 'Root Folder' setting on one of your games in LB to the directory of the game EXE (instead of the directory of the shortcut). I assume that is your issue though (let me know otherwise). I will go ahead and make the plugin ignore the root folder setting for games that point to .LNK files though as that is the only real path forward that I can see. I'll try to post a fixed alpha build here shortly with that change. Edit: Well... forget what I said about trying to change the 'Root Folder' of the game to double check that that is your issue.. Surprisingly, LB appears to not allow you to change directory... When you modify it, a msgbox pops up saying something about '[...] ROM file path is not located within the game's root folder[...]' and if you click 'Yes', it changes the path back to what it was already set to, and if you click 'No', it closes the msgbox without modifying the path, but it doesn't close the game's properties dialog... So you have to click 'Ok' on the game's properties dialog which starts the whole process over. So ya, that is definitely broken... If someone tries this and understands what I'm saying and has time to report it to @Jason Carr or the LB devs in general, that would probably be really useful. If not, I'll try to make a bug report whenever I have some time.
  19. For anyone who has tried the new alpha I just posted, please let me know if everything is working for you in regards to the core functionality and in particular the startup/shutdown screens. Actually, let me be a bit more clear what I mean in regards to the startup/shutdown screens: if something about the startup/shutdown screens bothers you (such as the desktop/LB window being shown briefly after the startup screen or before the shutdown screen), manually add that game or emulator/rom to Steam as a non-Steam shortcut and then temporarily change that game's launcher path in LB to the Steam game URL (ex: steam://rungameid/14363840998436503552). After doing that, run the game through LB/BB and see how the startup/shutdown screens perform that way (the plugin is automatically disabled for any LB games that use the Steam url format so this will show you how LB/BB handles it natively) and if the plugin doesn't perform just as well or better (I've noticed that LB/BB doesn't show the shutdown screen when launching Steam games natively... the plugin works around this however), please report the issue here including the game/emulator info, and the plugin behavior vs LB/BB behavior. Oh and I gotta say once again that I really appreciate all of you being patient with me on releases, especially when such major things are broken such as BigBox not working at all. I really shouldn't have taken anywhere near as much time as I did issuing a fix for that but again, it was a direct result of LB/BB transitioning to .NET Core and the enormous multitude of problems that brought with it. Literally all of the development work I've put into the plugin since the transition to .NET Core has been related solely to that issue. I think I've just about caught up with that now though and I'm going to finish up with the Settings UI and a few feature requests made by users and try to get the 1.0 release pushed out (which entails its own long list of things such as completely overhauling the LB plugin download page [and utilizing the badass new plugin icon contributed by @ChippiHeppu-haven't forgotten about you man ?], the plugin documentation, my Github, etc). So ya... that is my long winded way of saying sorry for the slow progress. All I can say is that it hasn't been a result of not spending time on development.. Here is a link to the newest plugin alpha again: https://bit.ly/35uOg0a
  20. Hey @JedExodus, thanks for the additional info. Ya, it must be something that changed relatively recently because some of my PC games in LaunchBox point to a .LNK file (rather than an EXE) and I played some of them recently while using the plugin. I'll check it today and let you know what I find out.
  21. Hey guys, here is a very temporary alpha that has BigBox working. I wanted to try to get some more stuff implemented before a public release, but I don't want to keep y'all waiting any longer. This should work fine until I'm able to get a more complete release out the door. Let me know if you have any problems. The Settings UI is still incomplete but it is functional. https://bit.ly/35uOg0a
  22. Thanks for the feedback @JedExodus. Could you give me a little more info on what you mean by "stopped working after a while"? I've implemented specific support in the plugin for shortcut files (.lnk) so if there is some type of bug that is causing them not to work, I'd like to fix it asap. The LB "Import Windows Games" utility adds games to your LB library using shortcut files so I suspect a lot of people have games in their library that point to .lnk (shortcut) files. I will do some quick testing and see if I can't figure out what the issue is myself. Again, thanks for the report.
  23. I'm still not entirely sure I understand your problem. There is only 1 "type" of non-Steam shortcut (in Steam) and there is no option in the non-Steam shortcut's properties to enable "Allow Desktop Configuration in Launcher". The non-Steam shortcuts that the plugin creates are the same as if you manually created a non-Steam shortcut in Steam by clicking the top menu item in this menu: Furthermore, I am not aware of any mechanism within Steam that detects an exe as being a "launcher" or "not a launcher". Steam injects its overlay into the exe it launches (if it is not prevented from doing so) and sometimes it will inject its overlay into the child processes of that exe if the circumstances are correct. When I have some time, I'll try to download the title and take a look at it, but I got to get the new SteamLauncher update out to y'all first. Essentially though, if you manually add the game's exe to Steam as a normal non-Steam shortcut (see image above) and the Steam overlay isn't present when you launch that non-Steam shortcut, there is nothing the plugin is going to be able to do to mitigate this (outside of things I mentioned in my original post for games that use a launcher exe: defining a "Launcher-to-EXE relationship" in the plugin settings, using Bat-to-Exe Converter, or using a solution such as GloSC/NSO-Manager/etc).
  24. First, just wanted to say sorry for not having pushed out the BigBox fix yet. I'm trying to cleanup and consolidate a lot of code that needs to be finished in preparation for the 1.0 release. I've put about 40 hours of work into the plugin over this last weekend and the first part of this week already. To answer your question, the plugin has a custom feature implemented for this exact purpose. If you open the plugin's settings window and go to the 'Game Launchers' tab, you will see a data grid that you can add entries to. Let me explain the purpose of this and how it works: For the plugin to work correctly, it has to be able to monitor when a game/emulator's EXE starts and exits. For most games, this isn't a problem, because the plugin just waits for the game's EXE to start and then whenever the game's EXE closes, SteamLauncher knows the game has exited. Some games however use a launcher EXE which launch the actual game exe, after which, the launcher EXE exits immediately, not waiting for the game EXE to exit. When this happens, SteamLauncher thinks the game has exited after the launcher EXE closes because that is the only EXE it is aware of. To fix this problem, there are a couple of potential solutions, but the first and easiest is using the feature implemented in the plugin for this specific purpose. Once you're on the 'Game Launchers' tab in the settings window, we're going to create a new entry. Under 'Launcher Executable', you are going to place either the name of your game's launcher EXE (ex: 'GTAVLauncher.exe') or the full path to your game's launcher EXE (ex: 'C:\PC_Games\GTAV\GTAVLauncher.exe'). It is up to you whether to put the exe name or the full path, but as long as you don't use that same launcher exe for multiple games at multiple different paths, the exe name alone should be fine. Next, under 'Started by Launcher', you need to put either the name of the EXE that is started by the launcher (the actual game EXE that stays running the entire time you're playing the game) (ex: 'GTA5.exe') or the full path to that exe (ex: 'C:\PC_Games\GTAV\GTA5.exe'). Again, it is up to you on whether to put the exe name or the full path but as long as you are not launching that same game EXE name with multiple different launcher EXEs, the name of the exe alone should be fine. Finally, ensure that the 'Enable' checkbox is checked and hit the 'Save' button. Now, the next time you launch that game launcher EXE from LaunchBox, the plugin won't think the game has exited as soon as the launcher EXE closes... Instead, it will wait for the game EXE to close. With that being said, there are still some instances in which Steam still won't be able to inject its overlay into the game and the plugin can't do anything to fix that. Essentially, if you add the game's launcher EXE to Steam as a non-Steam shortcut and it does not work when running that non-Steam shortcut directly from Steam, the plugin isn't going to be able to do anything to mitigate that problem. There are very few instances in which this is going to happen, but they do exist. The only "universal" workaround I'm aware of in these rare instances it to use something like GlosC or Non-Steam-Overlay-Manager (and you would need to setup the GlosC/NSO-Manager exe as the launcher EXE and the game's real EXE as the game EXE, as described above). If you have multiple games which use GlosC/NSO-Manger, you can create multiple copies of the GlosC/NSO-Manager launcher exe and use each renamed EXE to only launch a specific game (that way, when you setup the launcher-to-exe relationship in the plugin's settings, it will be able to differentiate each launcher exe and associate it with a specific game). The only other suggestion I can offer in regards to this topic, and it is one I use VERY often, is the creation of a custom launcher exe using 'BAT to EXE Converter'. You can write a custom batch script (.bat file) to setup and launch a game and/or game launcher and make it so that the batch file does not exit until the actual game EXE closes. You then use 'Bat to Exe Converter' to convert this .bat file into a EXE, and you then use this exe as your game's EXE in LaunchBox. Using this method, you don't need to setup a Launcher-to-EXE relationship in SteamLauncher's settings because the custom launcher EXE will stay running the entire time the game is running (so the plugin will not get confused). I will include a simple example .bat file below that I use for one of my games. This is a very simple batch file that I use to prevent games that 'require' admin privileges from running as admin ('Into the Breach' is the game in this example). It is a very simple example and would obviously need to be customized for your situation, but here it is: @echo off cmd /min /C "set __COMPAT_LAYER=RUNASINVOKER && cd "%~dp1" && "Breach.exe"" You would then save this .bat file next to your game EXE (ex: 'Breach-NonAdmin.bat'). You would then open 'Bat to Exe Converter', select the .bat file, set it to 'Invisible Application' under the 'Visibility' header, and click 'Compile'. Now you will have 'Breach-NonAdmin.exe' in your game's directory, and you would use this exe as your game's launcher exe. Hopefully you can find something that will work for you.
  25. Sorry guys, I had an extremely busy day today but I promise I will have the new build posted asap.
×
×
  • Create New...