Nielk1 Posted May 1, 2017 Author Share Posted May 1, 2017 The new app is a script engine with an plugin system to add new functionality. Plugins include items such as the LaunchBox module which can easily read the LaunchBox library files to find a game's additional information (such as the exact display name) and the Steam module which allows for launching arbitrary programs through Steam as well as requesting various information from Steam itself. The prototype works, but I've been using the underlying code work recently to gather data from Steam for the GamesDB rather than finish a releasable prototype version. It's also a smidgen slower than I would like. It's sort of like RocketLauncher in a way, but instead of keeping a list of ROMs and using scripts to determine what to do it keeps a list of scripts and you need to pass it a rom and a script ID to know what to do. Quote Link to comment Share on other sites More sharing options...
The_Keeper86 Posted May 1, 2017 Share Posted May 1, 2017 That sounds awesome! Have you tried it with RL? If so did the overlay work? I'm sorry for all the questions. If you ever need someone to test I'd be more than happy to of course I'd need some directions Quote Link to comment Share on other sites More sharing options...
Nielk1 Posted May 1, 2017 Author Share Posted May 1, 2017 Currently the Overlay works so long as I keep RocketLauncher out of the process stack Steam is in (if RL runs the proxy, it's all good, if the proxy runs RL, it isn't). I will try to solve this issue properly to avoid any issues with RL, I might find a way to solve it without any fun in RL scripts. 1 Quote Link to comment Share on other sites More sharing options...
cammelspit Posted May 1, 2017 Share Posted May 1, 2017 LOL! That's my job! Though, someone to test around RL might not be a bad idea. I have been patiently waiting impatiently and I too am quite stoked at the prospects of the new app. Quote Link to comment Share on other sites More sharing options...
The_Keeper86 Posted May 1, 2017 Share Posted May 1, 2017 2 minutes ago, Nielk1 said: Currently the Overlay works so long as I keep RocketLauncher out of the process stack Steam is in (if RL runs the proxy, it's all good, if the proxy runs RL, it isn't). I will try to solve this issue properly to avoid any issues with RL, I might find a way to solve it without any fun in RL scripts. Sweet! Looking forward to seeing what you come up with. 2 minutes ago, cammelspit said: LOL! That's my job! Though, someone to test around RL might not be a bad idea. I have been patiently waiting impatiently and I too am quite stoked at the prospects of the new app. Ha ha well I don't want to take that away from you but like you mentioned I'll be more than happy to test out RL with it Quote Link to comment Share on other sites More sharing options...
Kodie Posted October 5, 2017 Share Posted October 5, 2017 Hey all! I'm new and it's pretty quiet in this topic but I'm hoping I can get some help on this. I think I've taken all the right steps but my games will not launch from steam. Typically with an error of "failed to catch process from steam". I've removed the -steam switch and everything works well. I've double checked the SteamProxy shortcut and it's definitely there. I've attempted both 0.0.4.1 as well as 0.0.5.0. I'm starting to dig into source code but haven't gotten very far yet. Any clues as to what I'm doing wrong? And here I'm including the log from my last 0.0.4.1 run: 9755f395-0e07-4c13-92eb-bbdbf05a5759 Start 9755f395-0e07-4c13-92eb-bbdbf05a5759 Version 0.0.4.1 9755f395-0e07-4c13-92eb-bbdbf05a5759 Raw Command Line "C:\tools\glp0.0.4.1\GameLaunchProxy.exe" -steam -name "%gamename% (%platformname%)" -fallbackname "%platformname%" -proxy "C:\tools\retroarch\retroarch.exe" -L "cores\nestopia_libretro.dll" "D:\LaunchBox\7-Zip\Temp\Balloon Fight (JU) [!].nes" 9755f395-0e07-4c13-92eb-bbdbf05a5759 Possible Name Matches: 9755f395-0e07-4c13-92eb-bbdbf05a5759 -name Contains %gamename% or %platformname% 9755f395-0e07-4c13-92eb-bbdbf05a5759 New -name Balloon Fight (JU) [!] () 9755f395-0e07-4c13-92eb-bbdbf05a5759 -fallbackname Contains %gamename% or %platformname% 9755f395-0e07-4c13-92eb-bbdbf05a5759 New -fallbackname 9755f395-0e07-4c13-92eb-bbdbf05a5759 Looking for steam shortcut 9755f395-0e07-4c13-92eb-bbdbf05a5759 Shotcuts must path to "C:\tools\glp0.0.4.1\SteamProxy.exe" 9755f395-0e07-4c13-92eb-bbdbf05a5759 Search Patterns: 9755f395-0e07-4c13-92eb-bbdbf05a5759 Balloon Fight (JU) [!] () 9755f395-0e07-4c13-92eb-bbdbf05a5759 SteamProxy <rename> 9755f395-0e07-4c13-92eb-bbdbf05a5759 SteamProxy 9755f395-0e07-4c13-92eb-bbdbf05a5759 Searching for item #0 9755f395-0e07-4c13-92eb-bbdbf05a5759 Shortcut ID Candidate: 0 9755f395-0e07-4c13-92eb-bbdbf05a5759 Searching for item #1 9755f395-0e07-4c13-92eb-bbdbf05a5759 Shortcut ID Candidate: 14598799026905153536 9755f395-0e07-4c13-92eb-bbdbf05a5759 Searching for item #2 9755f395-0e07-4c13-92eb-bbdbf05a5759 Shortcut ID Candidate: 14598799026905153536 9755f395-0e07-4c13-92eb-bbdbf05a5759 Done looking for steam shortcut 9755f395-0e07-4c13-92eb-bbdbf05a5759 GameRestoreData.json {"SteamShortcutID":0,"OldSteamShortcutname":null,"AddedFonts":[]} 9755f395-0e07-4c13-92eb-bbdbf05a5759 steamproxy.json {"Program":"C:\\tools\\retroarch\\retroarch.exe","Args":"-L \"cores\\nestopia_libretro.dll\" \"D:\\LaunchBox\\7-Zip\\Temp\\Balloon Fight (JU) [!].nes\"","ShortcutID":14598799026905153536,"AggressiveFocus":null} 9755f395-0e07-4c13-92eb-bbdbf05a5759 start steam://rungameid/14598799026905153536 9755f395-0e07-4c13-92eb-bbdbf05a5759 failed to catch process from steam 9755f395-0e07-4c13-92eb-bbdbf05a5759 Restoring old Steam shortcut name 9755f395-0e07-4c13-92eb-bbdbf05a5759 End Quote Link to comment Share on other sites More sharing options...
Lahma Posted October 19, 2017 Share Posted October 19, 2017 Kodie, I am having the exact same issue. After messing with it for about the past 9 hours (including digging into the source code as well), I'm getting a bit burned out. Hopefully someone more knowledgeable can provide us with some pointers?? Quote Link to comment Share on other sites More sharing options...
cammelspit Posted October 19, 2017 Share Posted October 19, 2017 Well, as of now, Steam has updated and the whole system is kind of broken. Until Nielk1 gets a chance to do some diagnostics and see what Valve changed, you just have to deal with loading LB/BB the old-fashioned way. The shortcut renames in Steam but never launches properly and they cannot be renamed back. Since you can't use an older version of Steam, try to just hang tight and we will see if something can be done about it. It broke my heart a bit when it happened too. Quote Link to comment Share on other sites More sharing options...
Lahma Posted October 20, 2017 Share Posted October 20, 2017 cammelspit, Thanks for the quick reply! Its disappointing that its currently in a broken state, especially since I just discovered that such a thing exists (and I was ecstatic to try it out). However, I will be patient and wait to see if Nielk1 can provide an update. If I had a bit more context or insight into how things were working and what the current problem is, and if Nielk1 does not have time to dedicate to updating the project right now, I could probably update the source code myself. I am a reverse code engineer by trade, and have lots of experience with C#, so its probably just a matter of diving into the code and perhaps opening up the steam exe/service in IDA to see if we can figure out whats changed in its handling of the shortcuts.vdf file (if that is even the problem...). It appears that the proxy is successfully modifying the shortcut (at least initially) but it appears that steam proxy is never able to actually launch the shortcut (hence why it says it cant find the steam window associated with the newly launched shortcut). If you have any insight into the problem and you think you could give me enough clues into what is going on, and you would like me to take a look at the source code myself, let me know. I think I read somewhere in this thread that Nielk1 is actually working on any entirely new (but related) application, right? Perhaps he doesn't want to waste any more of his time with this old project if he has a new approach he using to tackle this problem? Quote Link to comment Share on other sites More sharing options...
Lahma Posted October 27, 2017 Share Posted October 27, 2017 Just wanted to make anyone aware who cares, I forked GameLaunchProxy and I am attempting to fix the issues that are currently present. It would appear one of the main issues right now is that the Steam4Net library is out of date and so the functions it is attempting to use within the steam client dll are not at the addresses it is expecting them to be. Hopefully, by fixing this library alone (which shouldn't be too difficult seeing as GameLaunchProxy only calls a handful of functions within the steam client dll), the problem will be fixed. I will update this thread whenever I make some progress (I'm kinda busy with Super Mario Odys... I mean work... right now). 1 Quote Link to comment Share on other sites More sharing options...
percybuttkins Posted October 27, 2017 Share Posted October 27, 2017 Thank you thank you thank you! I've been watching this thread and am looking forward to it. Haven't tried it but the problem isactually keeping me from using launchbox as originally I wanted an all in one frontend and lack of overlay support with steam controller hampered that. LookiLforward to it! Quote Link to comment Share on other sites More sharing options...
Lahma Posted October 28, 2017 Share Posted October 28, 2017 Great! Good to know someone might get some use out of it besides me. I'm going to do some work on it right now. Quote Link to comment Share on other sites More sharing options...
cammelspit Posted October 28, 2017 Share Posted October 28, 2017 I have been using this since before Nielk1 posted it in the first place so I would use it. A guy is just too busy with other projects to fix it up so anyone else who can make it at least work for a while longer is a good thing IMO. Quote Link to comment Share on other sites More sharing options...
Lahma Posted October 28, 2017 Share Posted October 28, 2017 Good deal. Hopefully I can get things patched up until he has time to finish up his new project (which it sounds like will be quite a bit more modular and probably easier to maintain in the face of constant Steam updates.) Quote Link to comment Share on other sites More sharing options...
Lahma Posted October 28, 2017 Share Posted October 28, 2017 Ok, so I've definitely discovered the problems, and I can definitely patch things up to make things work. However, some of the logic in the app is a bit confusing to me, most likely because I don't have a complete grasp of everything the author was intending to do with the app. Besides simply using the one Steam shortcut as a proxy to run any application through, there is obviously additional functionality to put a unique shortcut for every single platform and/or every single game. Since the logic, at least in the main function of the app, is not segmented very well, its probably going to take a bit more time to go through. Can anyone who used this app previously tell me how you used the application? Like, were you simply using the single Steam shortcut as a proxy for every rom you launched, or were you actually using GameLaunchProxy to create multiple shortcuts for individual platforms/roms? Quote Link to comment Share on other sites More sharing options...
percybuttkins Posted October 28, 2017 Share Posted October 28, 2017 The application was used by cammel and I and others to make it so that steam had an individual name for each ROM and that it would support the steam overlay. This allowed the controller configuration menus to be used so that you could load a profile for the rom and steam controller. Your friends would see the name of the rom you were playing on steam.,but that part was customizable. The individual name was important so that you can differentiate the controller settings on certain games. Quote Link to comment Share on other sites More sharing options...
Lahma Posted October 28, 2017 Share Posted October 28, 2017 Right, but did each individual rom show up in Steam when you opened Steam normally, or did it just dynamically change the name of single shortcut each time you launched a rom from LaunchBox? Quote Link to comment Share on other sites More sharing options...
cammelspit Posted October 28, 2017 Share Posted October 28, 2017 That was definitely a feature but towards the end, that had broken entirely. The big thing was that Steam essentially just chokes on its own games list when you have more than a few thousand shortcuts. IIRC, the logic was meant to that in case the shortcut renaming broke, the app would then use individual named game shortcuts to launch itself, failing that, it would launch the platform shortcut so you could at least get Steam Controller configs per system. It all started because playing games through BB with the Steam Controller, I had to set BigBox in Steam and is I say, switched from playing PS2 to playing N64, I would have to manually change the config in the overlay so have proper control. Honestly, I am not 100% sure if that function ever worked quite exactly as intended. Usage was something like this.... In Launchbox, you would use a command line for the emulator itself. For emulator, you would use gamelaunchproxy.exe and the command line would be something like this -steam -gameid %gameid% -name "%gamename% (%platformname%)" -fallbackname "%platformname%" -proxy "E:\Emulation\Emulators\DS\DeSmuME\DeSmuME_r5526_x64.exe" Anything after the This is how you could customize where the game name or platform name appeared in your steam. Fallbackname didn't work correctly but this is where you could tell it something like to launch via the platform shortcut in case of a rename failure. Anything after the -proxy argument was passed on as it to the emulator to build its own necessary command line. So you would put the path to the emulator in the command line and then it's arguments there, as in the example above. The app would scrape the LB database to get the gamename and platform name as a one time process and use that to figure out what game and platform it was. Bear in mind, I believe the scraping process was also broken right before the whole thing stopped working properly and there was at least one example I know of with an emulator that uses two EXEs for itself that proxy couldn't properly get Steam to hook into. FS-UAE. Does that answer your questions? I wish I knew more about the specifics but that is the general idea of how a user would use it. Quote Link to comment Share on other sites More sharing options...
Lahma Posted October 28, 2017 Share Posted October 28, 2017 (edited) Thanks for the additional info man. That is actually about exactly how I was assuming it was working, and I understand the ultimate purpose is to have individual Steam Controller configs for each individual rom (and/or platform) without having to switch them manually. However, can you please clarify one thing for me so that I can at least get the most important part patched first? As I see it, the most efficient, and best way for the app to function is to simply use the single Steam shortcut that is dynamically renamed when launching a rom, so that your Steam doesn't get polluted with thousands of shortcuts (which you say causes problems anyways). Additionally, according to my testing, Steam chooses controller profiles based ONLY on the name of the shortcut it is launching. For example, if I launch a shortcut and assign a controller profile, obviously it will by default use that same controller profile every time I launch that shortcut. BUT, if I rename that shortcut to a different name, it will forget the controller profile that was associated with it. However, I rename the shortcut BACK to what it was originally, it magically remembers the controller profile that was previously assigned to it. So, what this tells me is that by dynamically renaming a single shortcut to "Rom-Name (Platform-Name)", our goal of having custom controller profiles per-rom will be accomplished. So, according to that breathless explanation, do you agree with me that the best course of action to take is to get the single Steam shortcut that is dynamically renamed working first? To me, that seems like that would be the most preferable way to do things anyways (whereas the other methods might be useful as fallback methods should the main method fail). P.S. Just wanted to let you know, so you don't waste any more time on it, I have a good understanding of the command line options and how it uses the different parameters (as far as launching Steam, Big Picture, and retrieving the rom names using the game ID and stuff). Edited October 28, 2017 by Lahma Quote Link to comment Share on other sites More sharing options...
Lahma Posted October 28, 2017 Share Posted October 28, 2017 (edited) Woohoo! I just got my first rom launching from Launchbox through SteamProxy and successfully opening in Steam. Let me do a little more testing and clean things up a bit and then I'll shoot you guys an alpha build. Actually... since this is open source software that I modified, I think I legally have to post the source code online, so I might have to push my fork onto Github first. Since I don't have a lot of experience with forking projects on Github, it might take a little more time for me to get all that figured out. Or... perhaps I can just include the source with the executable I send y'all? I need to lookup the rules on how all that works. P.S. Also, I just wanted to mention, that the name of the game, in this specific case, "Metroid: Samus Returns (Nintendo 3DS)", is appearing in Steam as its supposed to, and the controller profile is being remembered after launching a different rom, and then launching the original rom again. Not bad for a 4-bit Adder, eh? Totally joking by the way... All credit goes to Nielk1 for all the hard work he has put into this program. Edited October 28, 2017 by Lahma 1 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.