Jump to content
LaunchBox Community Forums

Lahma

Members
  • Posts

    403
  • Joined

  • Last visited

  • Days Won

    8

Posts posted by Lahma

  1. On 1/19/2021 at 11:34 AM, Aetavicus said:

    Not sure whether this is reported but it seems that the plugin is unable to start the game if the game's title contains special alphabets.

    I was testing out Xenosaga Episode II today and it just couldn't launch the game.

    The full title of the game is Xenosaga Episode II: Jenseits von Gut und Böse and I believe the problem is with the very last word, Böse. Changing it to Bose caused the plugin to work again.

    Update: The plugin could launch the game but resulted in a black screen and PCSX2 gave me the plugin setup window again. Fixed by renaming the folder containing the ROM file to remove any special alphabets as per above.

     

    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!

    • Like 1
  2. 23 hours ago, Aetavicus said:

    I am trying to get this plugin working for a PS3 game but have not been successful so far.

    Here's what I did:

    1. Steam is running in the background and in-game overlay is enabled. (I don't use Big Picture mode)
    2. Downloaded the latest version from this forum (v0.9.3.0)
    3. Extracted the SteamLauncher into the plugin folder of LB
      • Currently placed at: C:\Emulation\LaunchBox\Plugins\SteamLauncher
    4. Launched LB and checked that the Steam Launcher setting under Tools is set to On
    5. Attempt to launch one of my PS3 games but an error message will appear saying "The file you specified for the emulator application path was not found".
      • This error only happens when the SteamLauncher setting is enabled.
      • When disabled, rpcs3 starts up and launches the game as per normal.
      • Took at look at the emulation app path and it is currently set to "..\Plugins\SteamLauncher\SteamLauncherProxy.exe" when SteamLauncher is enabled.
      • The sample command would be SteamLauncherProxy.exe "FULL\PATH\TO\ROM\FILE"

    Is there something I am missing in here?

    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.

    • Like 1
  3. 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!

    • Like 3
  4. On 12/24/2020 at 3:12 PM, jlarsen1981 said:

    I may have some more testing to do on my end. I was assuming that Steam needed to be open, but with BigBox as the focused window. Currently I'm using a Switch Pro Controller, and when I look at templates for Desktop Configuration I don't see anything listed. I'm guessing the Pro Controller has a more limited use on Steam than XBOX or PS controllers, and there just haven't been any templates built for it. I bought these controllers specifically for the little guy, because Mario is his favorite thing. Again, thanks you so much for your help, I will spend a little more time with it myself and see if I can't get it figured out a little better, and hopefully get it all working.

    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 Steamimage.png.47e6cccca126f5a4fdb83953d720ff85.pngThe 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:

    image.thumb.png.eb756b2b4a385f0b6a0b30a64e0b4e21.pngIf 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"):

    image.thumb.png.071789f6feb6e8883ab846692526d030.pngAdditionally, I would also recommend having these boxes checked in the "In-Game" tab in Steam's settings (or at least the top 2):

    image.thumb.png.1a2cdcf5c35ff8a2fc5188ab8ad790dc.pngPlease 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.

  5. On 12/22/2020 at 6:13 PM, jlarsen1981 said:

    That pretty well sums it up. Thank you for such a useful tool, and for sharing your talents with us. I do have one other question. When using it seems as though when Big Picture is not minimized the controller does not respond normally in BigBox, it is using the Steam Desktop Controller profile. I did manage to work around that, by turning off the profile, but this still has some drawbacks. I am far more familiar with BigBox, than Steam, how do I set up the desktop profile to respond like a regular controller to eliminate the minor niggles that I am having. (My friend's son is six, and her and him used to live with me. He fell in love with gaming during that time, but now has nothing to play on. I am trying to set up something that he can use to play his favorite games that were on my rig, while keeping it simple to navigate, for him and his mother. Who now live 80 miles away.)

    Again, thank you for the thorough response, and no rush. Happy Holidays!

     

    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:

    image.thumb.png.2a144dcd0e54a0ba27ad1d365dcf8e57.pngThen, 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!

    • Like 1
  6. On 12/19/2020 at 7:47 PM, jlarsen1981 said:

    Hello all, I am just now getting this going. Curious though, how do I use the BigBox hotkeys to exit a game back to BigBox? It always seems to just minimize the emulator window, then open Steam.

    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).

  7. On 12/13/2020 at 5:16 PM, AMovieReference said:

    Hey, just found this plugin, and it was just what I was looking for to get more controller compatibility with Demul. Only question I have, is there a way to disable "universal" steamlauncher? I only want to use it for that specific emulator. When I try changing it to false in the xml, it just changes it back. Not sure where else to look in the UI.

    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.)

    • Like 3
  8. On 12/5/2020 at 8:37 AM, xsessive182 said:

    no Problem,

     

     If you need help de bugging or trouble shooting let me know

     

    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.

  9. 13 hours ago, xsessive182 said:

    Added the plugin but it crashes my launchbox upon clicking  launch with steam on any game =/

     

    Any ideas what is causing it?

    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

    • Like 1
  10. 8 minutes ago, Corgana said:

    @Lahma I thought I'd let you know, I tried it on a new machine with no antivirus and it worked fine. The only concerning thing is that startup times were pretty long. Without Steamlauncher enabled most games took a few seconds to start up. I had actually initially thought SteamLauncher was broken because I would select a game, it would display the "loading" screen for ~6 seconds, give me the "game over" and go back to the games list, but THEN after a few more seconds on the games list it would eventually start up. I'm not sure if it's something to do with Launchbox, SteamLauncher or Steam itself but I thought you'd like to know.

    Regardless I'm very happy to see this working again with Big Box, and looking forward to seeing the finished release!

    Also another note: I noticed if Steam was in "Big Picture Mode" before launching, the plugin wouldn't work at all. Steam had to be in Desktop mode prior to launching (the game would eventually launch w the Big Picture Mode overlay) but for a while I thought it was still not working because I had steam in Big Picture mode.

    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.

  11. 56 minutes ago, Corgana said:

    So I'm not 100% sure what's going on, but this seems to make my antivirus (bitdefender) think that launchbox itself is a virus? It will work fine, I can launch a game etc. Then once Big Box is exited it can't be launched again. Deleting the SteamLauncher plugin doesn't help and I have to reinstall launchbox. Happy to provide more info if you need it.

    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.

  12. 6 minutes ago, The_Keeper86 said:

    @Lahma I was gonna let you know on Steam but figured I'd post here first regarding the startup/shutdown screens. They work great but as mentioned above it just shows the desktop/Steam window loading the game. Anyway around this? I know you posted above adding the game to Steam itself then change the path to the id. Just wondering if there was another way around it? I guess I just like to hide anything Windows/desktop related if that makes sense when launching my games :)

    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).

  13. @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.

  14. 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

    • Like 1
  15. 9 hours ago, JedExodus said:

    It refused to launch and SteamLauncher timed out. I suspect this to be a Steam issue introduced in an update as editing the shortcut Steam Launcher make manually to point to to the EXE instead of the lnk and launching from there gave me the same result. It also worked perfectly fine before then stopped working very suddenly.

    Cant quite remember the option titles, but steam has the launch target and launch in. When either adding the EXE from scratch manually or changing the root folder in LB game options this fixes the issue. As they then both point to the folder with the EXE in it. Its worked fine for me ever since. 

    Using LB normally this doesn't present any issues and the game launches fine, but in tandem with SteamLauncher it seems its necessary to do a bit of tweaking. 

    As I say the issue is present using Steam as well, and I can't speak to it happening on any other titles for me. But there you have it. Just something for folks to keep in mind if launching games through a shortcut and they timeout. 

     

    EDIT: Just noticed the Alpha thanks very kindly @Lahma will give it a whirl. Thank you very much 

    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.

  16. On 10/20/2020 at 4:13 PM, JedExodus said:

    Just thought I'd mention an issue I encountered and the fix. 

     

    When playing Witcher 3 GOG version with SteamLauncher it stopped working after a while. This was because it was launching from a shortcut that pointed to an exe in a subfolder. 

    Going in to edit game and choosing the exe direct to launch from and then changing the root folder to to the exe folder fixed this for me. 

     

    Just thought would throw it out there in case someone runs in to the same issue. 

     

    Ps lahma you rock 

    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.

  17. 10 hours ago, alienhuntinyeti said:

    Figured it out! So I fianlly got around to trying it again, and I THINK I figured out the Bat-to-Exe method you mentioned for v3.2. "Visibility" was replaced with a drop down menu called "Exe-Format", and "Compile" is now "Convert". But... it didn't work for me. The .exe it created worked fine, but just launched the game like the normal .exe, and no matter which app I used to launch with, and no matter how I set it up in the SteamLauncher settings (including NOT using the settings and just launching from the created .exe), it wouldn't work for me.

    BUT... I tried launching the game with the .bat file, didn't mess around with SteamLauncher settings, and it worked. So.... if anyone else has this (most likely pretty rare) problem where Steam recognizes the game window as a launcher window, just make that .bat, change "Breach.exe" to whatever .exe you're launching and set the .bat as the application path in LaunchBox. Thought it worked (mouse stopped responding so I assumed it defaulted to a controller configuration), but when I configured the controller in Steam and actually tried using it, I realized the controller just stopped responding while the window was the active window for some reason. I guess I'm going to give up for now and just launch that program specifically through Steam. ?

    Here's a link to the program (and particular version I'm using) in case I'm just being dumb and someone else wants to take a crack at it:

    https://elona.en.uptodown.com/windows

    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:

    image.png.4dc8e224ebeff20ebf73c6565066c729.pngFurthermore, 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).

    • Like 2
  18. On 10/4/2020 at 6:25 PM, alienhuntinyeti said:

    Kind of what I was expecting. I made a hadron collider out of some PVC pipe I found behind a dumpster to test this theory, but I guess I won't need it now ?

     

    So I have a new problem. I'm trying to launch some free indie roguelike, but Steam sees the game as a launcher window and not the actual application. As far as I can tell, there's an option to fix this, but it's only accessible in big picture mode for some inexplicable reason. (Big Picture>[App]>Manage Shortcut>Controller Options>UNCHECK Allow Desktop Configuration in Launcher).

    The problem is, there's no way to get to that option with a shortcut created by this plugin for some reason. I also tried making a shortcut through Steam manually, setting the option, then changing the name of the shortcut to what the plugin calls the program, but once I launched the program through LaunchBox the settings would revert and the option would disappear again.

    So... does anyone know a work around for this one? Just found out about application command line parameters (like adding -launch to the end of Diablo 3's path location to prevent the Blizzard launcher from popping up) and was thinking there'd be an answer with that, but haven't found a command that helps for this situation.

    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.

    image.thumb.png.0e7b240ffdfb4de591d0015923f0c0f5.pngNow, 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.

    image.thumb.png.56e71328c4200be7d173b84b56928341.pngHopefully you can find something that will work for you.

    • Thanks 2
  19. Just now, mp3deej said:

    I finally figured it out, I checked the emulator paths for the games that it was happening to, but not all of the paths in Launchbox.  I found a couple of emulator paths pointing to Steam and corrected them.  I'm not sure why it was launching those games, but the issues is resolved.

    Thank you for all your assistance in this matter. 

    Great community of users. 

    Glad you got it resolved man! I gotta agree.. while the plugin might not have an enormous user base, I think the ones we do have (especially those in this thread who go out of their way to help others when I can't answer immediately) are pretty awesome ? And if you were referring to the LaunchBox community in general, ya.. they're pretty alright too ;)

    Oh, and just an FYI to everyone waiting for the BigBox fix, I should have it posted shortly. I think I figured out how to resolve the problem without including an external dependency with the plugin.

    • Game On 1
×
×
  • Create New...