Jump to content
LaunchBox Community Forums


  • Content Count

  • Joined

  • Last visited

Community Reputation

87 Excellent


About Lahma

  • Rank
    32-Bit GPU

Recent Profile Visitors

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

  1. 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!
  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.
  3. 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.
  4. 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.
  5. 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!
  6. 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.
  7. 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.
  8. 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.
  9. 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.
  10. 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!
  11. Actually, I've been sharing a private alpha of the new update with a few users, and I think I've decided that I'm going to go ahead and promote it to "beta" status and post it on the plugin download page. It has fixed a wide array of problems and despite there always being more to do, and more stuff I would like to cram into every update, I think this release is stable enough to post publicly. Give me a little bit to update the version information on the DLL, post the changelog, and update the download page. I'll go ahead and do it right now. By the way, anyone who wants to test pre-release builds of the plugin can msg me on Steam and I would be happy to bring you on board as a tester. The reason I don't share these builds publicly is that they can sometimes have significant bugs or problems, and I don't want general users to confuse them for stable releases. Since I help anyone who is having problems and msgs me, even going so far as using remote control software (TeamViewer) to directly troubleshoot the issue, this could potentially take up a lot more of my time on performing unnecessary support. With that being said, I'm always happy to have more people testing private/pre-release/alpha builds and having more testers could actually be very helpful to me in finding those sneaky, less common bugs that often requires a bigger pool of users with varying configs/setups.
  12. Hey @SiriusVI, I just saw/accepted your friend request on Steam. You're offline now, but when you get back on, hit me up, and I'd be happy to help you figure out what the issue is. I'll probably need to see a bit more of your debug.log so we can verify that the Steam initialization stuff is working correctly. It should not be difficult to resolve. If you actually read enough of the plugin description to figure out how to turn on debug logging, you're way ahead of the curve Just hit me up on Steam and we'll get it figured out in a jiffy.
  13. For anyone who is interested, there is a VERY easy to use Python script on GitHub called 'binmerge' that was created by 'putnam'. I tried it with a couple of PS1 games that have multiple bin files, and it worked perfectly. Additionally, it only took seconds to create the new bin file (probably because it is not actually modifying any of the data but rather just merging the files and creating a new cue sheet). The description specifically mentions its use in merging PSX bin files. https://github.com/putnam/binmerge Just click on the 'binmerge' file, click raw, and then right click and 'Save As'. Make sure to click the 'Save as type' dropdown in the save dialog and change it from 'Text Document (*.txt)' to 'All Files (*.*)' and then change the filename to 'binmerge.py'. You need to use Python 3 (probably 3.4+, although I used 3.7 32-bit). To use it is really simple. python binmerge.py "PATH\TO\ORIGINAL\CUE\FILE.cue" "NewBinCueFileNameWithoutExtension" -o "PATH\TO\OUTPUT\NEW\MERGED\BIN\AND\CUE\FILE" The '-o' option is not required, but obviously if you want to keep the name the same as the original file, you're going to need to provide a different output directory so that it doesn't try to overwrite one of your existing files. Just to make it extra clear, I will provide an example below using 'Castlevania - Symphony of the Night (USA)'. Original CUE File Location: "C:\roms\ps1\Castlevania - Symphony of the Night (USA)\Castlevania - Symphony of the Night (USA).cue" New BIN/CUE Name (without extension): "Castlevania - Symphony of the Night (USA)" Output Directory ('-o' option): "C:\roms\ps1\Castlevania - Symphony of the Night (USA)\merged" python binmerge.py "C:\roms\ps1\Castlevania - Symphony of the Night (USA)\Castlevania - Symphony of the Night (USA).cue" "Castlevania - Symphony of the Night (USA)" -o "C:\roms\ps1\Castlevania - Symphony of the Night (USA)\merged" Before: FILE "Castlevania - Symphony of the Night (USA) (Track 1).bin" BINARY TRACK 01 MODE2/2352 INDEX 01 00:00:00 FILE "Castlevania - Symphony of the Night (USA) (Track 2).bin" BINARY TRACK 02 AUDIO INDEX 00 00:00:00 INDEX 01 00:02:00 After: FILE "Castlevania - Symphony of the Night (USA).bin" BINARY TRACK 01 MODE2/2352 INDEX 01 00:00:00 TRACK 02 AUDIO INDEX 00 50:53:45 INDEX 01 50:55:45 I didn't really intend to do an enormous writeup on this, but as usual, it looks like I went a bit overboard... Hopefully it will be useful for someone! Oh, and in case someone wants to use this but doesn't want to mess with installing Python and getting all of that setup correctly, I converted the Python script into an EXE (using 'pyinstaller') to make it really easy to use. In the example above, just replace 'python binmerge.py' with 'binmerge.exe'. Zip file containing 'binmerge.exe': binmerge.zip
  14. @cammelspit has been helping me test the new update, and unfortunately (or fortunately, depending on your viewpoint), he identified an issue with game/emu focus when using non-default startup/shutdown screen values. I've been ridiculously busy, and unfortunately, that isn't going to change this week. I'm not going to make any guesstimates on a release window, as clearly I haven't been doing too well in that area 🙄. I do have a question for any of you who would care to answer though. Do any of y'all use LaunchBox's included implementation of DOSBox and/or ScummVM (like where you click the checkbox "Use DOSBox" or "Use ScummVM" for any given game)? I know a lot of people setup DOSBox or especially ScummVM as just another emulator platform and use it that way instead (using either their own DOSBox/ScummVM exe or the one included with LB). I've already finished adding support for the built-in DOSBox and ScummVM, so its kind of inconsequential at this point, but I'm mostly just curious. Sorry I haven't released the update as quickly as I thought I would, but I promise its not for a lack of effort or of lost interest in the plugin. It is coming! Perhaps we can blame @cammelspit for continuing to find bugs in my code? 😉
  • Create New...