Jump to content
LaunchBox Community Forums

Lahma

Members
  • Posts

    403
  • Joined

  • Last visited

  • Days Won

    8

Everything posted by Lahma

  1. 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.
  2. @The_Keeper86, @Corgana, @mp3deej Just wanted to let y'all know I finally figured out the problem with BigBox. The issue was of course related to LB/BB moving over to .NET Core. More specifically, it was related to a dependency that my plugin relies on not being able to be loaded correctly. The reason it works fine in LB is because LB also relies on that same dependency. BigBox however does not list that dependency in its 'BigBox.deps.json' file, so whenever my plugin is loaded under BigBox, even though I have that dependency listed in my 'SteamLauncher.deps.json' file, it will throw an exception whenever it tries to load it. While I'm sure there is some way I could use the copy of the dependency that is packaged with LaunchBox, I'm concerned that it would just be moved to a different location or something in a subsequent LB update, so I will probably just include the dependency with the plugin going forward. Give me a little time to do a little more digging on the problem to see if I can't find a more elegant solution (I really hate including external dependencies with the plugin, if I don't have to, as I've worked very hard thus far to not do so). Either way, I will post an update here sometime tomorrow as it is already midnight.
  3. @mp3deej Please let me know if the info I posted previously helped you get your problem resolved.
  4. Hey @mp3deej, you have to disable SteamLauncher for it to not intercept game launches. In BigBox, you can do this by clicking this menu item (when it is turned off, the menu item will read 'Use SteamLauncher (OFF)'): Do note that this is a global switch which will enable/disable SteamLauncher for both LaunchBox and BigBox, so if you disable it in BigBox, it will still be disabled the next time you open LaunchBox (can be easily reenabled in LB by clicking the 'Tools' menu item and looking for the same 'Use SteamLauncher' menu item). With that being said, I am working on the BigBox fix as I type this.
  5. Ah ok, no big deal. I was hoping you'd found something that I hadn't
  6. Hey @Corgana, thanks for coming here to report the issue, but ya, I'm already working on the fix for BigBox, and I should have it resolved pretty quickly. I'm a bit overwhelmed with work stuff today but I might be able to get to it tonight. On the per-emulator topic, are you suggesting that if you add, for example, 'Retroarch' as a non-Steam shortcut in Steam, and set a controller profile to it, and then launch any rom (that uses Retroarch) in LaunchBox, while using SteamLauncher, that it will automatically use the controller profile you assigned to Retroarch within Steam? If so, that is news to me and runs entirely counter to my understanding of how Steam assigns controller profiles.
  7. @Metrasher and @alienhuntinyeti: I have not looked at the Epic games importer since LB added that but they must be using some really bizarre way of launching Epic titles if it is not working... My plugin supports URL based paths (i.e. steam://rungameid/1145360) [Edit: actually, I retract what I said about URL based paths, at least in the context of Steam URLs.. (see edit below)], shortcut paths (.lnk files), and basically any other valid shell cmd that can be passed to Process.Start... So ya, I guess I'll add that to my to-do list. I suspect it will be a very easy fix so if that is something that is really important to y'all, I can try to get that fix pushed out with the fix for BigBox. Edit: (see edit above) The plugin currently detects that the game launch is a Steam URL and gracefully stops the launch (as there is no reason to hook Steam since Steam is already launching the game).. I need to change this behavior though so that instead of stopping the game launch, it just disabled SteamLauncher for that game launch. Looks like I'm going to have to setup some custom logic for Epic Launcher titles...
  8. You definitely cannot run BigBox through Steam and then run a game in BigBox using SteamLauncher. Besides the fact that that would mean Steam is trying to run multiple games simultaneously (bc Steam will consider BigBox a "game" just like any other non-Steam shortcut run via Steam), Steam would be trying to inject the overlay into a process multiple times (I'll spare you the technical jargon). Essentially you're creating a circular dependency and if you're not careful you might just cause your PC to implode into a black hole while trying this
  9. Let me try to address @alienhuntinyeti and @Metrasher's questions together. BigBox: I wasn't aware BigBox wasn't working. I don't personally use it very much so I'm glad y'all said something. I will check it out asap. Controller Configs: Since my plugin does not currently perform any type of code injection that modifies Steam's controller configuration code, the plugin is limited to working within Steam's current boundaries/logic. Steam decides which controller profile to automatically load (whenever a game is started) based on the title of the game (or in the case of non-Steam shortcuts, whatever you name the game/shortcut). For example, let's say the last time you were playing 'Super Mario World (SNES)', you changed/reconfigured some of the controller bindings. The next time you load that game, as long as the title is exactly the same, it will load up whatever controller configuration modifications you made the last time you were playing the game. Now, say you messed with SteamLauncher's 'Custom Platform Names' settings such that the 'Super Nintendo Entertainment System' platform is now named 'Super NES' (instead of 'SNES'), the next time you go to load up 'Super Mario World', the controller configuration will be reset to the default because Steam has no way of knowing that 'Super Mario World (Super NES)' is the same game as 'Super Mario World (SNES)'. Now, with that explanation out of the way, let me try to answer y'all's exact questions. Global/Per-Emulator Default Binding: Unfortunately, due to what I described above (the inherent way Steam works), there is no way to set a default controller binding for anything launched via SteamLauncher or even a default controller binding for individual emulators (bc Steam only looks at the title of the shortcut). What you can do however is this (as an example I'm using 'PCSX2' here but you can also apply these instructions to creating a global default config for all games launched via SteamLauncher): If you want to use the same controller configuration for all games running under PCSX2 (or at least want to use a particular controller configuration as a "starting point" for all games running under PCSX2), the simplest way to accomplish this is as follows: Run any game under PCSX2 using the plugin Setup your controller configuration as you like While inside of the controller configuration overlay screen, hit the 'Export' button (or press the 'Y' button if using an Xbox or Xbox-style controller) Scroll down to 'Templates' Select the 'Save new template binding' option Enter an appropriate name (i.e. PCSX2 Template) and description Click 'Save' Now, any time you load up a new game under PCSX2, just pull up the overlay, select 'Controller Configuration', hit the 'Browse Configs' button (or press the 'X' button if using an Xbox or Xbox-style controller), and select your newly saved PCSX2 Template config. Takes all of about 3 seconds and you'll only have to do it one time whenever playing a new game. The nice thing is that you can now change any controller bindings (on top of your PCSX2 Template config) and they will automatically be reloaded the next time you run the game (and these changes won't affect/modify your PCSX2 Template config). Conclusion: I apologize for any discrepancies in the plugin documentation. There is a lot that has changed, is out of date, irrelevant, or even a couple of things that are just incorrect. Before the 1.0 release, I am going to change the documentation to include all of the info I described above, and I am going to remove the reference to 'per-emulator' controller configs. Another user already pointed out this discrepancy to me previously so it is already on my 'to-do' list for the 1.0 release. I really appreciate you guy's feedback. I'll try to get BigBox fixed in the next couple of days. Please let me know if you have any other questions or if I failed to address your existing questions/concerns. Thanks!
  10. @Metrasher, I'm almost certain the problem you're having is due to the alpha build I posted not including the file 'SteamLauncherProxy.exe'. Close LB/BB, download this file again (which now includes this file), extract it into the 'LaunchBox\Plugins\SteamLauncher\' directory (just overwrite existing files), then start LB, double check the emulator/game path you are going to test, under the tools menu ensure that it says 'Use SteamLauncher (ON)' (if not, click that menu item), then start any game normally as you would when not using the plugin, and hopefully your problems will now be solved. Let me know if that fixes your issue. https://drive.google.com/file/d/10mZ3pz3jIwTp8TY8pJMs8MSZvpqWnnD0/view?usp=sharing Edit: Ha, you beat me to it @alienhuntinyeti. The link above now contains the latest alpha and also includes 'SteamLauncherProxy.exe', so just use that link @Metrasher. Also, make sure your SteamLauncher plugin files are inside of the directory 'LaunchBox\Plugins\SteamLauncher' (as opposed to 'LaunchBox\Plugins').
  11. I suspect whatever the problem is you're running into can be fixed pretty quickly. Whenever you have 10 min of free time, hit me up on Steam and we will resolve the issue. I'm typically up very late so I will probably be around if you msg me tonight. Sometimes I miss the Steam friend request notification, so if you don't respond to your friend request in 4 or 5 min, post a followup msg in this thread telling me to check Steam for your friend request. Sorry for the issues man but hopefully we can get things sorted out.
  12. Ensure that your emulator paths are still correct first. Second, Steam must already be running whenever you open LaunchBox. Do not restart Steam while LB is running. Finally, I would recommend deleting all files in the SteamLauncher directory under the 'Plugins' directory and re-extracting the alpha into that directory again (that will reset the config/settings/etc). Also, and this is really important, you must ensure that you do not have 2 copies of the SteamLauncher DLL file anywhere within the LB directory structure. So, say you have 2 versions of SteamLauncher and you rename the old 'SteamLauncher.dll' to 'SteamLauncher.OLD.dll' (or any other name, or simply move it to another directory such as 'SteamLauncher.OLD'), this will cause all sorts of problems because regardless of the filename or the directory it is in (if it is inside of the 'LaunchBox' directory or any of its subdirectories), LB will load both copies of the plugin which will cause mayhem. Finally, restart Steam and once it is loaded, open LaunchBox, ensure that the tools menu says 'Use SteamLauncher (ON)' (if not, click it), double check the path of the game/emulator that you want to test (in LB settings), and then just double click the game. If you're still having problems, you can open the settings window by clicking 'Tools' -> 'SteamLauncher Settings', and then change 'Log Level' to 'Verbose'. This will cause the plugin to output debug information to a file in the SteamLauncher directory named 'debug.log'. If you msg me on Steam, the info in this file will be very helpful in diagnosing the issue (just copy/paste to pastebin.com and send me the link).
  13. @Metrasher, are you launching games by right clicking on a game in LB and clicking "Launch via Steam"? If so, that is deprecated and definitely is not how the plugin should be used anymore. It is my fault for not removing that yet, but I have needed to keep it around for specific legacy debugging reasons. In the 1.0 build it will be totally removed. This is the way the plugin is used: first ensure that SteamLauncher is enabled by clicking the 'Tools' menu item in LB, looking at the bottom of the list, and ensuring that it reads, 'Use SteamLauncher (ON)'. If it says '(OFF)', the you need to click that menu item. After that, all you do is run any game normally in LB just as you normally would without the plugin. @alienhuntinyeti, you may also want to read this to ensure that this is the way you are using the plugin. Please let me know if this was the problem for either of you. I promise we'll get the plugin working for both of you. I'll spend as much time as needed to ensure we get you guys setup and running.
  14. Hey @alienhuntinyeti, without more details it is hard for me to tell you what the problem is, but the latest alpha build I posted in this thread is working fine for everyone that has tested it thus far. In order to diagnose what your problem is, can you msg me directly on Steam? 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 Regardless of what the problem is, you should not need to re-add your games in LB or uninstall/reinstall it. Shoot me a msg on Steam and I will help you out right now if you have the time.
  15. You need to use this version of the plugin: Edit: File has changed since I originally posted this. The .rar file now includes 'SteamLauncherProxy.exe'. https://drive.google.com/file/d/10mZ3pz3jIwTp8TY8pJMs8MSZvpqWnnD0/view?usp=sharing
  16. Hey @JedExodus. Ya, sorry, I didn't really know what was TouchMote was but that actually sounds really cool. That is a clever way you have come up with for using your WiiMote to exit Dolphin. Don't think I would have ever thought of that one. So, let me see if I got this straight: your batch file kills touchmote, starts Dolphin using something like 'start "" Dolphin.exe' (batch script doesn't wait for Dolphin to exit before continuing), uses a for loop or something similar with a 'timeout' to periodically sleep the script in between checking that log for the appropriate line, and then when it finds that line it uses taskkill or something similar to kill Dolphin.exe, deletes the log file, and restarts touchmote? If that is the way it works, you shouldn't need to change anything in the batch script for it to work properly with SteamLauncher after converting it to an exe with 'Bat to Exe Converter'. I attached 'Bat to Exe Converter' to this post just in case it is hard to find or something (doubt it). I also include 'BatchIconExtractor.exe' in that same archive. If you drag/drop 'Dolphin.exe' on top of this executable, it will extract the Dolphin ICO (icon) file from it, and you can set this .ico file as your exe's icon inside of 'Bat to Exe Converter'. Just go to the 'Version information' tab and point 'Icon file' to that .ico file you just obtained. Then, just set 'Visibility' to 'Invisible application' under the 'Options' tab and leave everything else at their default settings. (Edit: Oh.. forgot one more thing.. if you use a relative path in your batch file (ex: 'Dolphin.exe' instead of 'C:\emulators\Dolphin\Dolphin.exe') then, as long as you place the exe (converted batch file) next to Dolphin.exe, it will continue to work even if the path of your Dolphin directory/executable ever changes in the future.) Glad to hear everything else appears to be working well with SteamLauncher. On the per-emulator/platform disable feature, what do you think about this idea: under the settings gui, I can put a few more fields (1 for platform names, 1 for emulator names, and maybe 1 for filename/path/exe names) that would allow you to define multiple terms (strings) that if present, would tell SteamLauncher to ignore those emulators/platforms/games and not intercept their launch. For example, in the platform names field, say 1 of the terms you entered was 'Sony'. Whenever SteamLauncher detects a game launch in which the platform name contains the term 'Sony', it will disable itself and not intercept that game launch. Same thing with the filename field: say you entered the terms 'retroarch', 'doom.exe', '*mario*.z64', and 'sl-ignore' in that field. Any game/emulator/rom launched that has any of those terms anywhere within the game's/emulator's/rom's path would be ignored by SteamLauncher and treated as if SteamLauncher was entirely disabled. The '*mario*.z64' example was meant to demonstrate that I can include wildcard support.. in this case, it would ignore any .z64 roms (N64) that include the word 'mario' anywhere within the filename. Let me know if you think this would work ok and if it would resolve your request in a sufficient manner. Bat_To_Exe_Converter_v2.4.3.rar
  17. I can definitely implement this. Would you prefer to disable SteamLauncher by platform or by a specific emulator? Cemu in Vulkan mode: You're saying you see graphical artifacts whenever Cemu is launched through Steam (with the Steam overlay)? Does this happen on any other Vulkan games/emulators? Dolphin/Touchmote Bat File: With your Dolphin setup, your .bat file launches TouchMote, then launches Dolphin, and then closes TouchMote whenever Dolphin exits? If so, I can walk you through making this work with SteamLauncher. There are a couple of ways to go about it, but the simplest is probably to use "Bat to Exe Converter" to convert your batch file into an exe. As long as your batch file doesn't close/exit/end until Dolphin closes/exits, you can set this exe as a custom emulator in LB (i.e. "Dolphin [TouchMote]") and it should work with the plugin. Since the plugin will make Steam launch the exe (that was converted from a .bat), any processes that the exe/bat file start will be a child process which Steam will be able to inject its overlay into.. and as long as the bat/exe is written in such a way that it won't end/exit until Dolphin exits, the plugin will be able to manage the process just like any other. If you'd like me to walk you through getting this setup, let me know. I'd be happy to help (Steam messaging would be best). The only setting I would recommend in "Bat to Exe Converter" is setting "Visibility" to "Invisible application" so you don't have a pointless console window show up in your taskbar. You can even add the Dolphin icon to the exe file to make it look like its just an alternative Dolphin launcher file or something.
  18. Thanks! I can't decide if the dark theme of the settings window is a little too much... Without using any external libraries, doing a dark window theme like that is actually surprisingly hard in WPF. Looks a bit amateurish but then again, I've always been terrible at GUIs...
  19. Here is the alpha guys. Give it a try and let me know if you have any issues. Edit: File has changed since I originally posted this. The .rar file now includes 'SteamLauncherProxy.exe'. https://drive.google.com/file/d/10mZ3pz3jIwTp8TY8pJMs8MSZvpqWnnD0/view?usp=sharing Note: I've just about finished the settings gui. The one thing that hasn't been finished is that the description box contains static data and will not update based on what your mouse is hovering over. Right now when you hover over an element, you'll see a mouseover popup with the description of the setting. The plan is to disable that and to instead display the description of the setting in the description textbox instead of in a mouseover popup.
  20. Alright... I finally got the plugin working again after sorting through a large number of issues caused by the recent LB updates. I went ahead and just converted it over to .NET Core since that is the direction that LB is going in now. I'm going to clean up a few more things and I'll try to post an alpha build here in the thread sometime later today. This whole fiasco definitely threw off my plans for the 1.0 build, but I'm still hoping to get that pushed out soon since I've now worked through all of these new issues. After that, perhaps I can look into Linux support... Anyone tried LB through Wine on Linux yet? P.S. I really appreciate all of you guys' patience. It really bothers me to have the plugin not working for such a long period of time but this whole change over to .NET Core really came out of left field.
  21. Hey @Jason Carr, no, there were never any problems debugging plugins until the change to .NET Core. Being a reverse code engineer by trade, with .NET being one of my primary areas of focus, I would be happy to speak with you in further detail by PM so I can provide more details. I assume you would probably prefer me not speak about the details of LB's security/obfuscator/disassembly in a public thread, so I won't mention any specifics unless I hear from you via PM. One thing I will say however is that having anti-debugger code is not providing your software any extra security, at all. Essentially every publicly available .NET debugger/decompiler have built-in settings which allow you to patch, on-the-fly, the various, normally used methods, for detecting an attached debugger (which I can confirm bypass the System.Diagnostics.Debugger.IsAttached method).
  22. Hey @JoeViking245, just wanted to say I appreciate you offering the advice you gave. While it wasn't relevant to the problems I'm having, I didn't mean to disregard your post in my previous msg. I suspect it will be useful to other plugin devs who are trying to update their plugins to work with the .NET Core LB update, as everything you said is definitely one of the first problems one is going to have to work through. Anyways, I just wanted to apologize if I came across as an ass.. Definitely didn't mean to disregard your advice.
  23. Thanks for liking my post in my dialog with Jason @The_Keeper86. Anyone else who is waiting for the plugin to be fixed and would like to encourage a fix for the problems caused in the recent LB update, it would probably be helpful if you follow The_Keeper86's lead. The thread is here: Regardless of the outcome of that dialog however, I am working on a fix on my end that hopefully won't depend upon the action of the LB devs. It is a bit ridiculous though that I have to manually patch the .NET Core CLR during runtime, dynamically patching LB code on-the-fly, just to allow debugging of my own plugin.. ?
  24. I can work around these problems by investing many, many more hours of time if I really have to, but I was really hoping that wasn't going to be required... It is looking like it might be though.. I WILL get a working version of the plugin out to y'all regardless. I am genuinely sorry it is taking so long.
×
×
  • Create New...