Jump to content
LaunchBox Community Forums

Nielk1

Members
  • Posts

    178
  • Joined

  • Last visited

Everything posted by Nielk1

  1. I didn't even see these comments here as all communication tends to be in the "Get Support" link! Quoting in the hops you guys get pinged for it. It is fixed now. The context program isn't needed anymore, so be sure you completely removed the old plugin files if you somehow still have the broken version before installing this new version of the plugin.
  2. Damn, tried my hardest not to I will need to look into your latest SteamLauncher changes, I know you are/were dealing with a lot with the new Steam library.
  3. I do not think SteamLauncher has the same functionality that this plugin does. This plugin maintains your Steam game list in LaunchBox, finding even pre-release status games, and can automatically hide games uninstalled in Steam or create a custom field you can create automatic playlists with to list Installed and Uninstall games. SteamLauncher is a replacement for my old interstitial executable from before plugins were a thing that allows launching any game in Steam by injecting it as a 3rd party shortcut into Steam on demand. I'm in contact with the developer of SteamLauncher and have been for some time and hope to entice him to work with me on SteamVent, my new Steam interfacing library. Maybe one day we'll use this core library, or maybe his code will just help develop the general library. I have posted an update for SteamTools. If it does not work please let me know. It should be around 5000 times faster for scanning games from Steam (I'm not even joking, it's actually that much faster). There are also functions to copy images and metadata from Steam into the LB library, but be aware these will freeze the client solid while being run, so be patient or select smaller numbers of games when running these functions.
  4. It's honestly on my list to update but I haven't had time. Everything needs a massive overhaul to the point I started a new core code library (https://github.com/Nielk1/SteamVent) for this but it's nowhere near ready yet. I think some of the features in this plugin have been replicated by others and some are still unique.
  5. It has never worked for me or several other people. Every time Steam.exe launches Rocketlauncher which launches an Emulator the overlay is blocked. Now, this DOES NOT APPLY to launching a steam game with RL, because Steam games talk to steam directly, this ONLY APPLIES to RocketLauncher being launched by steam.
  6. Rocketlauncher sadly blocks the Steam overlay hooks. I have not dug into why yet but my guess is it makes its own accelerate graphics buffer and gets in the way of the game's. Thus, launching rocketlauncher via this plugin likely doesn't work well.
  7. @majormajor0 That is quite interesting. I am working on my own project to form a super database of everything, but I am still in the early stages. I was planning to export things like cross-database maps, etc, for use in plugins and tools, but I am not there yet. I am currently using MS SQL Express for mine, mainly for the speed and familiarity, just for the data build. I currently have LaunchBox GamesDB data which I access the same way LaunchBox itself does and MobyGames data (which I have explicitly tagged as "no export" aside from the game urls/ids due to their terms). My struggle is that I want to document everything in very fine detail so that any sort of simplified generated data set could be made as needed (and if they are really common probably added as views for speed of generation).
  8. @Lahma This is all sounding very familiar. I recall running into the issue because I was injecting the shortcut into Steam as ASCII mangling the UTF8 characters but generating my shortcut ID properly, so they were out of sync. I'll need to look through your logic some time to see what I can do to get a cleaner Steam interop working without all the weird stuff I do now. I need a clean Steam Context for a lot of things and wrapping Steam4NET2 as a base is giving me a lot of issues. Is any of your code online yet?
  9. @Lahma FOUND IT! I'm not sure what API you are using. I was/am still using the old Steam4NET2 API that I have to keep up to date for any unstafe functions (functions that Steam itself uses that change location and stuff that were the bane of my existence). Anyway, check this out here: https://github.com/Nielk1/GameLaunchProxy/commit/0e47a7a8662b687e992cce663494b613fdd0b04e#diff-8383a708f32c5565f1e7e3bf7b24c53dR92
  10. @Lahma I recall the é issue in my LaunchProxy thing but I can't remember how/if I dealt with it as it's been so long since I poked the code. Just mentioning it in case I had worked around it there'd be code to look at, but I honestly can't remember if it was sorted.
  11. I'm sure the blocking is an accident of how some part of RL works with its bezel and other display logic. IDK if I can solve it but I've been too busy to do a lot lately (hence why my own Steam Proxy has fallen into disrepair).
  12. Yes. It gives access to chat and a web browser (of admittedly dubious quality) as well as, if you are using Big Picture or a Steam Controller, controller configuration.
  13. The entire point of launching through Steam is to access its overlay, especially if you use a Steam Controller.
  14. For some reason I've not yet discovered RL's launch structure seems to block the overlay. I've not determined if it's due to the overlay hooking the wrong level or process hierarchy because I've not had a chance to dig into it.
  15. That's good to hear. I wish the plugin system had been around when I started this project, as this is the perfect candidate for that. I will definitely check out your code when it's up. I have my old SteamTools plugin that also needs a ton of work, so when I have time again to work on plugins things could get a bit interesting.
  16. I have never used such a thing before but it sounds very interesting. I normally work in the managed world and rarely have to interface with stuff like this. When my other projects clear up I do plan to get back to this and trying to make a more stable API layer out of it. Honestly I normally dig around github until I find a user who's put table dumps up. I am able to use IDA (I've used it to do ASM injections to N64 game save-states and to reverse engineer simplistic encryption logic) but I do so quite rarely if I can help it as the ASM world is one that leaves me tied to a reference sheet the entire time I am digging around.
  17. Writing only works if Steam isn't running. Reading works fine if Steam is running; at least I haven't had any file locking or anything.
  18. @Lahma Rarely, maybe twice. That specific vftable doesn't change often. Other ones change a lot more often that I use for other things, but this one's pretty stable. You'll also note I wrote a custom parser for the binary VTF formatted file that holds the shortcuts to get around using the unsafe functions whenever possible. These functions are the functions the Steam client itself uses to talk to the Steam libraries, hence why they change randomly.
  19. Yea it's a virtual function table that's a real pita. I often dig around and find someone else's vftable dump but sometimes I have to use IDA myself. I wish I could avoid all these "unsafe" functions.
  20. The program is rather old vs LaunchBox so some stuff is done in it in an odd way. The logic was supposed to do the following: Attempt to find an existing shortcut, use it if it exists (such as from ICE) Attempt to find and rename the SteamProxy shortcut, if it works, use it Attempt to find the platform shortcut and use it Attempt to find the SteamProxy shortcut and use it without renaming it All of this assumed that an address offset error would be catch-able, but it was not, so it basically failed hard when step 2 failed. I have an entirely new design I want to use (a new program from scratch) but I've not had time. There is this amazing function that doesn't make much sense for existing that adds a shortcut to Steam that disappears after Steam is closed and cannot be edited by the user in the Steam client which is a great candidate. I am also still looking for a good way to catch these errors. One way a LB plugin I made called SteamTools survives is the fact its Steam4NET is wrapped in a proxy application because of the 32bit interface, but even then it doesn't respond very kindly because the 32bit proxy application can't properly report an error back along the loopback it uses for IPC. The fact functions could move also makes things a bit rough since if someone is on the Steam beta client they could have crashing while someone not does not, so an address fix would have to be released at just the right time and people grab it. I was thinking about maybe an automated method of correction but the software would have to detect that it has the wrong version of Steam4NET for the Steam instance that is running and grab a new one. Edit: For note, the original proxy's entire purpose was to load fonts temporarily into Windows in such a way they would not stay loaded and even if everything crashed they'd be done after a system reboot. All the Steam stuff was an afterthought.
  21. @guygizmo I welcome pull requests. Be aware that some of the dependencies, like my Steam4NET fork can be a bit hairy. I have been thinking about moving all this stuff to a "company/group" page on github to move it away from the unrelated projects as it's starting to span a few repositories. I also need to work out some bugs in my context and stuff. Quite proud of the fact it works though, especially dealing with the 64 vs 32bit issue.
  22. There is my SteamTools plugin but I need to do some work on it. It talks to the Steam client directly using an older SteamAPI, so it is more effective than the native LaunchBox Steam game importer and can catch Source and GoldSrc mods. The plugin currently has a bug with the "Install With Steam" BigBox menu command and I need to just remove that command, but everything else in the plugin *should* still work. It also sometimes leaves it's "Carbyne Steam Interop Server" running in the shell, but it has an icon and an exit option in it's right click menu. Basic, it's a beta plugin. It doesn't have automatic adding of installed games but it does have automatic hiding/unhiding of installed/uninstalled games (and if you have Premium it adds a custom field that you can use to make a plugin listing installed Steam games only instead). Sadly I have not implemented any metadata logic into it yet, which can be a pain since LaunchBox will incorrectly match Windows games very often. I will try to get a new version of it out in a few days just in case it's broken, but I should be working aside from the aforementioned 2 bugs. I could look into automatically catching new installed games.
  23. Oddly that one works fine for me, so here's my thoughts. I have it skipping in the following situations: No Emulator attached or ApplicationPath (path to ROM file) is not set. If somehow making the filename end in .zip breaks it The search call has no "Content". If none of these occur it would write `Found {countFound} possible values`. For this reason I suspect that one of these three is occurring. It can't be #3 because it would say `Searching for {possibleZipName} ("{Title}")` and #2 is unlikely so it's probably #1. If it's none of those I can try to improve the logging and fix some of the other issues, then provide another test version. I do need to rewrite the concurrent logic and figure out why the progress bar never fills past 99% if it asks questions. Once I've collected enough issues I will perform the refactoring. I will also try to get this on github soonish as it's functional though clearly not finished.
  24. If you have any suggestions that might improve how it works let me know. I figure what I ended up with was probably the best method, just purely matching the zip names. I am also forcing the names to lowercase as many of them were uppercase and they were lowercase on doomworld and thus not matching. This could cause an issue if any of the ones in the Doomworld database are uppercase.
×
×
  • Create New...