Lahma
Members-
Posts
404 -
Joined
-
Last visited
-
Days Won
8
Content Type
Profiles
Forums
Articles
Downloads
Gallery
Blogs
Everything posted by Lahma
-
Thanks for the feedback gentlemen. I'll have to think about this a bit more before I make a decision either way. Concerning your idea about having a GUI to make changes to the config.xml in a more user-friendly manner, it is something I've already thought about. It actually wouldn't be too difficult to implement. The only thing that makes it a bit tricky is implementing a GUI/Window from a class library (DLL)... It isn't something that is done too often mostly because it doesn't make a lot of sense for most things, but it is most certainly possible to do... Should just a be a matter of referencing the correct .NET libraries and adding a bit of initialization code. I could technically probably even get LaunchBox/BigBox to spawn the window for me, but I'd have to do a bit of testing to see how feasible that is... The only real advantage I could see in doing it that way is that LB's controller input might work in my custom window that way without me having to duplicate all of that code myself (which I am definitely not going to do right now). I'll have to do some testing... I'll definitely let y'all know what I find out.
- 851 replies
-
Wow, great job @JedExodus! Your persistence and dedication to solving the problem is probably going to be helpful to a lot of people. I'm thinking on the next plugin update that perhaps I should add a new entry/variable type to the "config.xml" file to help prevent people from running into this problem in the future. The entry would silently inject additional launch parameters into the existing parameters, and I could add these Mame parameters to the default SteamLauncher config.xml. The config.xml entry might look something like this: <InjectParameters> <Inject EmulatorName="Mame" Parameters="-joystickprovider xinput -keyboardprovider win32" Position="end" /> <Inject GameName="Doom" PlatformName="Windows" Parameters="+r_renderAPI 1" Position="start" /> </InjectParameters> I don't know... Perhaps it isn't even worth the effort since there probably won't be many cases such as this (that require modification of launch parameters to work when launching through Steam). What do y'all think? Note: I modified the plugin download page to provide information concerning the MAME compatibility problem and fix. Obviously, I gave proper credit to both @cammelspit and @JedExodus for their efforts in tracking down a fix for this problem (as well as credit to @JedExodus for ultimately resolving the issue).
- 851 replies
-
- 1
-
@JedExodus, just to be clear, the "<IgnoreDefinitions>" config.xml entries I mentioned in my post were theoretical. I was asking if something like that would work for you if I implemented it in the next plugin update. If you add such entries to your config.xml file right now, they won't do anything. The actual implementation will probably look a little different but as long as something along those lines will work for you, I would be happy to implement said feature in the next plugin update.
- 851 replies
-
- 1
-
Hey @JedExodus, like I said previously, I am a total Mame noob, but @cammelspit has been looking into this issue for like 2 days now (seriously.. he has spent a ridiculous amount of time trying to figure out whats going on), and its become very clear that there has been some recent changes (Windows? Steam? Mame?) that have broken Mame with Steam. Unfortunately (or fortunately depending on your perspective) this is completely unrelated to my plugin and therefore is not something I can fix. You can verify this by adding Mame as a non-Steam shortcut to Steam and trying to run it with any controller turned on/plugged in. If you have your Mame video mode set to "auto", you will get a "MAME has stopped working" msg box. If you have your Mame video mode set to "opengl", the Mame process will silently crash/close. Hopefully someone in the Mame/Steam community will figure out what is going on with this soon, but until then, there is unfortunately not a lot I can do. If I have an over abundance of time one day, and the problem still isn't resolved, I can possibly try to debug the crash to try to narrow down the cause, but I would prefer to leave that up to others since it is obviously outside of the scope of the plugin. One thing I can say is that it does not appear to be related to a recent Windows 10 update... @cammelspit is running the latest Windows 10 update but I am running a much older Windows 10 version (1709), and we are seeing the same exact issue. Now, onto something I can offer you some help with... I can definitely help you to get your ScummVM launcher working with the plugin. It will probably only require a couple of simple steps. First, can you tell me specifically what launcher you're using and what format it is? Is it a .bat file or an .exe file? If it is a .bat file, you will likely need to use "Bat to Exe Converter" to convert the batch file to an exe. If the batch file stays open for the duration of the game/emulator, you should be able to just convert it to an exe and that should be all that is needed. If however the batch file just launches another exe and immediately closes, you will likely need to either modify that batch file so that it does stay open or you will need to add a "LauncherToExe" entry in my plugin's config.xml file (both still require you to convert the bat to an exe). It should only take about 5-10 min to setup. If you want, shoot me a msg on Steam and I will walk you through the process. Adding a way to enable/disable SteamLauncher on a per-game or per-platform basis is actually not a bad idea... Should be simple enough to implement. I'm thinking some entries in the SteamLauncher config.xml such as the following might work: <IgnoreDefinitions> <Ignore PlatformName="Sony Playstation" /> <Ignore PlatformName="Windows" GameName="Celeste" /> </IgnoreDefinitions> Would something like that work for you?
- 851 replies
-
- 1
-
Hey @JedExodus, there is a known compatibility issue with using the plugin while Steam Big Picture Mode is running. This is actually the next uncompleted item on my to-do list for the plugin, so hopefully I will be able to investigate/fix this issue for the next release. It will be interesting to see what the issue is as there really should not be any big difference between launching a game via Steam while BPM is on/off. As far as the plugin not working while your Steam controller is on, all you need to do is change the setting so that BPM is not launched when you turn on your controller (or turn you controller on and then exit BPM). Believe it or not, I don't actually use Mame, but there are certainly a lot of other people that do with the plugin. @cammelspit has a lot of experience with Mame actually. Looking at your log (at least the 1st launch attempt), it appears that everything worked correctly and that Mame started successfully. Being that I have no experience with Mame, I don't really know if the launch arguments and stuff look correct... Does Mame support compressed roms (I see that your rom is zipped and I don't see that your have LB set to decompress the rom prior to launching)? One thing you can do is open up Steam, click "Library" and click the last option "Hidden". You should then see the hidden shortcut that the plugin created. You can check the properties of that shortcut to make sure everything looks correct and you can also try launching the shortcut manually to see if it works. I might ask @cammelspit to look at your log to see if your Mame launch args look the same as his. Report back here with your results and we will go from there. I'm always happy to take feature requests so don't be shy! ? I appreciate the sentiments however.
- 851 replies
-
I'm not trying to argumentative here or anything but most of your assumptions are wrong. The only time any exe file is being renamed is in the case of LB's internal DosBox implementation. For everything else, the only type of "renaming" that is being done is with LB's internal references. For this whole process to work, the LB's game/emulator path is swapped for a few ms and then swapped back. Furthermore, if you use "Bat to Exe Converter", batch files will work perfectly fine as long as either the batch file stays running for the duration of the game/emulator process or alternatively if you use a "LauncherToExe" entry in the config file. I'm not sure what to tell you about the DOSBox that ships with LB... There are a whole lot of people who are using the feature on a daily basis with no problems. On the proxy failing... again, that is something to do with your machine. On a normal setup, the proxy exe will only run for the duration of the game/emulator and if there is a background proxy process running when another wants to start, it will be forcibly closed (it will also be forcibly closed upon LB startup/shutdown. I'm sounding like a broken record at this point, and you can clearly take my advice for what it is, but there is very obviously something strange going on with your setup. As far as the location of the plugin, the plugin instructions very clearly state where the plugin needs to be installed. Furthermore, if you want to test whether the plugin is working for you at all, probably starting with the most complex use-case is not a great starting point... Finally, concerning the "brittleness" of the plugin... Please come back after you've spent several hundred hours trying to develop such a solution for software such as LB that doesn't offer a plugin API with any of the necessary features, a undocumented Steam API with no up-to-date 3rd party implementations, with Steam updates that modify the needed vtable offsets every update, and after offering a free plugin with free personalized support to scores if not hundreds of users. Every step necessary to make this plugin work is necessarily an undocumented workaround to try to bypass intended or unintended limitations by multiple software products from different vendors. I test every update on 5-6 different VMs with different Windows versions and different configurations before releasing publicly. l can't guess what specific issues or oddities are going on with your machine that are causing issues. What I can assure you is that if you install a fresh copy of Windows 10 (any version) onto a VM and install both Steam and LB along with my plugin (by following the simple instructions provided), it will work exactly as intended. At this point, with you having named about 14 different issues you've run into, yet not even having tried just a simple, basic game launch, its a little hard to provide any advice on how to move forward. I would be happy to login to your machine remotely using TeamViewer if you'd like me to take a look... I understand people's hesitance to have some login to their machine remotely, so if that doesn't suite you, then boot up a VM and I can log into that (although if its a fresh VM, I suspect you're not going to see any of these problems). You'll have to excuse me for being a little bit frustrated... It just makes me a little angry when you assume that every issue you are having is somehow related to my plugin "not working" when in fact there are many people using it on a daily basis with no issues whatsoever. If you think you can do a better job, then please, by all means, jump in. I think you'll quickly figure out trying to do what the plugin does is a damn quagmire. Edit: So I gotta apologize for being a bit of an ass earlier when I posted this... I shouldn't have so publicly vented my frustration. I would be happy to help you get the plugin working on your machine but to do so, we are going to have to start simple first. A fresh LB installation with the plugin installed according the instructions given on the plugin download page. From there, we will ensure that we can turn on debug logging and that that is working. From there, I can show you how to use the Bat to Exe converter to get eXoDOS (or whatever other "bat" launchers) working. My Steam info is posted on the plugin download page. Just shoot me a msg and I will gladly walk you through the process. Trying to do it through forum messages just isn't going to work.
- 851 replies
-
It sounds like multiple copies of the plugin are loaded.. A 2nd LaunchBox process running would explain that perfectly... Although I can't say I've ever seen 2 instances of LaunchBox running simultaneously... Clearly you have something strange going on. Btw, to use the plugin you need to have Steam running when you open LB. If you close or restart Steam while LB is running, you must restart LB. There is a lot of very complex logic going on under the hood... LB does not facilitate what my plugin does in any way.. I'm fighting against LB at every step to do what the plugin needs to do to accomplish its purpose.
- 851 replies
-
Again... All of these problems seem to indicate some other problem... No, there are no registry entries used with the plugin. If you've changed the config.xml entry to (config.xml must be edited while LB is closed): <DebugLogEnabled>true</DebugLogEnabled> and you're still not seeing a debug.log file being created after you restart LB then it could be a number of things. The first and most obvious thing to check (which people do constantly despite being absolutely sure they haven't) is to ensure that there are not 2 copies of the plugin ANYWHERE within the LaunchBox directory structure (in the LaunchBox root directory or any of its subdirectories). If you have 2 copies of SteamLauncher.dll anywhere within the LaunchBox directory structure simultaneously, very weird things are going to happen (such as config.xml changes seemingly not "taking hold", debug logs not being output, etc and so on). You will also see multiple weird exceptions that are actually unrelated to the root problem. This would be my first guess as to what the problem is... If you are absolutely positive that this isn't the case, let me know, and we can continue troubleshooting. Note: Like I said before, I will do my best to get the source code pushed out to GitHub asap. I've got a million things going on this afternoon, but perhaps later tonight or this weekend... but no promises.
- 851 replies
-
If you can't figure out why you're getting that exception despite continued troubleshooting, I might be able to explicitly generate that assembly for you to put into your SteamLauncher directory... It would only be a band-aid for a more serious problem that you have on your machine(s). Assemblies that use an XmlSerializer automatically generate the assembly on the fly using JIT, and I don't have any clue what could prevent your machine from doing that successfully outside of some really strange anti-virus setup or something. I haven't looked into it, but I suspect there is someway to forcibly generate that assembly for testing purposes... and that may temporarily patch the error you're seeing (but again, this is indicative of some larger issue on your machine in relation to .NET assemblies). Let me know if you figure anything out and if need be, I can look into this...
- 851 replies
-
Being that I've never heard of anyone having this error before, including numerous people who've installed the latest plugin update, its kind of inexplicable that this would happen to you on 2 unrelated machines simultaneously... unless it is related to specific software that you have installed on both machines... What version of Windows are you running? If you're on Windows 10, what version/update are you running? How are you seeing this exception? Does it pop up in a msg box or are you simply seeing it in debug output in something like Dbgview.exe?
- 851 replies
-
The problem could be a few things... First and foremost, you must ensure that the game you're playing uses a graphics API that the Steam overlay supports. Currently, the Steam overlay supports DirectX 7 - 12, OpenGL, Metal, and Vulkan. It does not support software rasterization. Your best bet is to set the DosBox renderer to OpenGL. You can do this by opening the game's .conf file and setting the 'output' variable to 'opengl'. It should look like this: output=opengl Alternatively, you can just set this variable in the dosbox.conf so that it is applied to all games (you can find LB's built-in DosBox conf file at "LaunchBox\DOSBox\dosbox.conf". If you see a black screen when starting a game, press 'ALT+ENTER' and the game should show up. I just tried playing DOOM using LB's built-in DOSBox and it worked perfectly, Steam overlay and all (note: I changed the output variable in the dosbox.conf file). You can bring up the Steam overlay using your keyboard by pressing "SHIFT+TAB". Try using the built-in DosBox using these instructions and see if you can get it to work. Once we get that working, I can help you to get eXoDOS working.
- 851 replies
-
The plugin has support for LB's internal DosBox implementation (took a lot of time to add actually). Unfortunately, I have not yet uploaded the latest version of the plugin to GitHub.. I definitely need to do this, and I will try to do it as soon as possible. I'm not familiar with exactly how eXoDOS works, but if it is a launcher exe that then runs a bat file to launch the DosBox game, then you should be able to make it function with the plugin. First, I would just try it and see if it it works, if it doesn't, post back here, and I will give you a couple of easy things to try which should make it work (there are some specific settings you can use in the plugin's config.xml to make the plugin work with "launcher" exes).
- 851 replies
-
Thanks for the kind words! I got you on my friends list and whenever I'm ready to start testing the pause screens, I will definitely hit you up.
- 851 replies
-
- 1
-
Looks like the new update is working well (regardless of whether you're using the latest version of LaunchBox or not) for everyone I've talked to so far. Please let me know if you are having any issues.
- 851 replies
-
- 2
-
Hey @Mantis, I saw and accepted your friend request on Steam and we chatted for a min, but apparently your battery was about to die. Msg me again whenever you get back on and we will get your problem figured out asap. Hopefully there isn't some problem with the latest LaunchBox version as I actually haven't updated to the latest version myself. I'm actually going to do that right now just to be sure. I don't imagine that has anything to do with your problems since a LaunchBox update has never broken compatibility with the plugin before, but I guess its not outside the realm of possibility. I will talk to you in just a bit.
- 851 replies
-
Oh, and one more thing... While I didn't include the feature with this last update, mostly because it needs a bit more testing, I have come up with a round-about way of making the plugin compatible with the new LaunchBox pause screen feature. It relies on some fairly hackish behavior, but it does seem to be working well. For those who care, I will explain a bit further. Since the plugin relies on using a "proxy" process that it uses as a substitute process (for the emulator/game process) within LaunchBox, without any additional code, LaunchBox is attempting to interface with the proxy process instead of the game/emulator process. The result of this is that when you use the LB pause screen, instead of it suspending the game/emulator process, it is instead suspending the proxy process. This obviously isn't the desired behavior since the game/emulator won't be suspended (although for games/emulators that automatically pause when focus is lost, it may appear to do so) and any hotkeys sent by the LB pause screen will be sent to the proxy instead of the game/emulator. The workaround relies on using methods outside of the LB plugin API (I guess this is fairly obvious)... By using dynamic objects, and maybe a little bit of reflection, I can essentially gain access to LB's internal "Currently Running Process" reference. I can then reassign this reference to a new Process object (a Process object pointing to the actual game/emulator process), forcibly unsubscribing from the old Process event handler, creating a new Process event handler, and then having that Process event handler call the internal LB Process event handler. Doing this essentially makes LB see the Steam-launched game/emulator as the process that it would have normally handled the launch of itself. It is definitely going to need some more testing before a public release, but I just thought I'd let y'all know that I am working on it. If anyone find the new LB pause screens really useful and would like to help with testing an alpha of this new functionality, hit me up on Steam. Having a few people helping with testing would probably be very useful. Thanks!
- 851 replies
-
- 2
-
IMPORTANT: I very briefly uploaded the wrong version of the plugin when I updated the plugin download page. The wrong rar was only posted for about 10 min (at around 5:20 AM CST time). It appears that 1 or 2 people might have downloaded it though.. so if you did, please be sure to go to the download page again and download the correct version. Sorry about the confusion.
- 851 replies
-
The new update is available for download (Beta v0.9.3.0). The only change in this update is the addition of a resilient//reliable means of finding the needed Steam client DLL vtable offsets. This one has been a long time coming... It was VERY tricky trying to figure out how to do this in a reliable way that would make it resistant to future Steam updates. I am confident that this should finally fix the problem of any Steam update potentially breaking compatibility with the plugin. You can download the new update here: As always, BE ABSOLUTELY SURE that you do not have 2 copies of the plugin ANYWHERE within the LaunchBox directory structure at the same time. This means, if you want to backup the old version of your plugin prior to updating, you must cut/copy and paste the SteamLauncher directory somewhere completely outside of the the LaunchBox directory (such as your desktop). Being that the previous version of the plugin does not work at all anymore (with the latest Steam version), I would suggest just extracting the new SteamLauncher.dll and overwriting the old one... that should make things simple. You shouldn't have to delete your config.xml file or anything. There should not be any compatibility issues in that regard.
- 851 replies
-
- 1
-
I appreciate the kind words! I hope you find the plugin useful. Once you're able to give it a try, please share your experience.
- 851 replies
-
- 1
-
Hey guys, sorry for the delay. I've been out of the state, but I'm on my way home now. Prior to leaving town, I FINALLY figured out a resilient method of finding the correct vtable offsets that my plug-in uses (when it interfaces with the Steam client dll) such that Steam updates will no longer break compatibility with my plug-in. Unfortunately I didn't have enough time to post the update before I left, but thankfully this means I already have a working version of the plug-in to post that will fix the problem. I will try to post it first thing tomorrow when I get home. This should be the last time anyone has to worry about a Steam update breaking compatibility with my plug-in (I can nearly guarantee it.) I appreciate y'all being patient!
- 851 replies
-
- 2
-
Very interesting! I've never even heard of the .chd file format, but then again, I don't mess with MAME emulation very much... It sounds like its simply a compressed hard drive image ("Compressed Hunks of Data"). Unless .chd offers some big advantage in terms of compression or something (I can't imagine there is any real significant difference) , I think I personally prefer to stick with .pbp since it is supported by most PS1 and PSP emulators, as well as modded PSP devices. Thanks for the useful information though... I'm sure it will prove to be useful to others.
- 61 replies
-
- ps1
- playstation
-
(and 4 more)
Tagged with:
-
The Steam Beta did indeed break compatibility with the plugin because of changes to some vtable offsets in the steam client DLL. I will try to upload an update shortly that fixes this issue.
- 851 replies
-
- 2
-
I wanted to let y'all know that @cammelspit notified me that he was having issues with the plugin on the newest Steam beta client that was released a couple of days ago. I have not had time to look into it yet, so I don't know if it was an issue specific to his setup or if indeed Steam changed something in the beta that broke compatibility with the plugin. I'm going to try to look into it soon, but it would be great to hear feedback from anyone else who has used the plugin on the Steam beta and whether or not you had any problems with it.
- 851 replies
-
Just a heads up for anyone interested ( @jwarn010, @SiriusVI ), the next big thing on my to-do list is to see if I can get the plugin working with Steam Big Picture Mode (either LaunchBox/BigBox having been run through BPM or just while BPM is running in the background). I know it is not currently working (or at least a couple of you have reported to me that that is the case) but seeing as I have never tested it, or even thought of doing so, I won't have any idea of the feasibility/difficulty until I look into it a bit further. I will keep y'all updated in this thread.
- 851 replies
-
- 2
-
I just finished uploading the new v0.9.2.0 beta update to the plugin download page. For a list of changes and bug fixes, see the Change Log at the bottom of the plugin download page. If you have any problems with the new update or you just have a question, please feel free to contact me via PM, Steam, or via this thread. I would love to hear your any feedback on this new update. Please let me know if it is working well for you, or if you think its a piece of junk that is responsible for blowing up your computer or killing your cat, I would like to know that as well ? Enjoy!
- 851 replies
-
- 1