Lahma
Members-
Posts
404 -
Joined
-
Last visited
-
Days Won
8
Content Type
Profiles
Forums
Articles
Downloads
Gallery
Blogs
Everything posted by Lahma
-
Sorry it took me so long to respond. I missed the email saying the thread had a new reply. Addressing your first statement, that is correct. There will be zero setup needed. I've put a screenshot below which shows how it will be used. Basically, you just right click the game (or bring up the game's menu in BigBox), and click the 'Launch via Steam' menu option at the very bottom. Concerning your second statement/question, can you be a bit more specific, as I'm not totally understanding what you're asking. I understand that when in Steam and you select a Steam title that it shows a game-specific image behind the game description/news/etc, but I'm not sure what you're asking that I implement. Essentially, with this plugin, you won't see any emulators/roms/games in Steam that you didn't previously, it is only a way to launch games, as if they were started through Steam, but from the LaunchBox interface. The advantages of this is that you gain access to the Steam overlay (and all the goodies that come with it including one-of-a-kind controller binding system, screenshots, overlay web-browser, game play statistics, status sharing with friends, in-game chat, etc and so on) WITHOUT having to add a shortcut for each and every emulator+rom combination to the Steam launcher. LaunchBox does a very good job of organizing my rom collection, so the idea of this plugin is to let LaunchBox continue to do that job well, but in addition, gain the benefits of using the Steam launcher as well. Please explain your request more thoroughly however, as I would be happy to implement whatever functionality your looking for as long as its possible and it fits into the "idea" and/or purpose of this plugin. The plugin is about ready to release publicly. It is working very well and just needs a bit more tweaking to make it stable under certain edge cases. I will check my email more closely so I don't miss your response again. Thanks for the interest.
-
Thanks for the feedback guys. I think I might go ahead and start working on an early build and see how it goes. Ultimately I think I will be doing this simply because I enjoy doing it rather than because a lot of people will use it. If it turns out that some people do end up using it, that's even better.
-
I'm not sure if this is really the right place to inquire about such a thing, but I'm simply trying to gauge if there is any interest amongst the LaunchBox community for a Steam launcher/proxy plugin for LaunchBox. If anyone has used Nielk's "GameLaunchProxy" or my more recent fork of it (to make it work again after Steam API changes broke it), it would be similar, but with a much more narrow focus... and instead of being an external application, I would wrap the functionality into a LaunchBox plugin that would require no prior setup or even knowledge of how it works or what it is doing. You would basically just right click the game you want to play in LaunchBox and click "Play via Steam" (or something similar). For anyone who hasn't used GameLaunchProxy before, let me briefly explain the concept so that you can tell me if it would be of use to you or not. Steam has the ability to add non-Steam shortcuts (games) to its interface, so that you can launch games through Steam that you didn't buy/download via Steam. There are a lot of reasons/benefits one might want to do this, but a few of the primary reasons are Steam's EXCELLENT and wholly unique controller binding abilities through the Steam Overlay (allow you to create multi-tiered radial menus, touch menus, multi-layered advanced controller configurations, and probably most importantly, per-game controller configurations), to keep track of gameplay statistics (last played, total time played, etc), and to share gameplay status with friends (ex: when you're playing Super Mario Bros (NES), it displays that as your status to all of your friends on Steam). For any hardcore emulator/rom players who have ever tried to take advantage of this behavior, they will know there is a problem however. You must add a separate shortcut to Steam for each and every emulator+rom that you want to play through Steam. For some of us with collections of thousands of roms (and the desire sometimes to play a single rom in different emulators), this becomes tedious and impractical very quickly. What this plugin would allow is for you to keep your entire collection of roms/emulators organized in LaunchBox, and without having to add a single shortcut to Steam, you would be able to launch any combination of emulator+rom through Steam, giving you access to the Steam overlay, per-rom/emulator/game controller configurations (that are saved/remembered automatically). The plugin will use Launchbox metadata for the rom/game name and platform name in order to "label" your current Steam gaming session. For example, if you are playing "Super Mario Bros." on the NES, when you pull up the Steam overlay, you (and your Steam friends) will see the following as the name of your current play session (your controller profiles will be labeled as such too): "Super Mario Bros. (NES)" Additionally, your Steam client won't be littered with a thousand shortcuts (the plugin will only add 1 hidden shortcut that it will change dynamically to "proxy" launches between LaunchBox and Steam). Like I said previously, you would only need to bring up the context menu in Launchbox on whatever game/rom you want to play, and you would be able to click either "Play via Steam", or you could go into the "Launch With" menu and choose to launch the rom with any of the other emulators you have configured through Steam. Currently, you can accomplish this using my current build of GameLaunchProxy, but it requires a lot of setup, configuration, and quite-frankly complicated understanding of what is going on under the hood (gets even more complicated when you start considering relative paths to roms and emulators). I suspect that a lot of people would find this plugin useful if they knew of the benefits and if it was extremely simple to use, but maybe I'm wrong. That is why I'm here. I simply want some feedback from people in the community if they would find this useful and if they would actually use it. I've already rewritten the core of GameLaunchProxy from scratch, and I was going to implement this into a new app that majorly simplifies the entire app's concept, but as I thought it over, I decided it may be much more useful to just write the functionality directly into a LaunchBox plugin (accomplishing the ultimate level of simplicity). Anyways, if any of you made it though that doctoral thesis, please give me some feedback and let me know what y'all think. Since I've already written most of the core functionality, it shouldn't take a lot of time for me to implement it into a plugin if I get positive feedback from enough people. Thanks!
-
In case anyone is wondering, the Steam Client update yesterday/today (2017-12-13) broke GameLaunchProxy. I have already fixed the problem and will be uploading version 0.0.6.1 to my GitHub shortly. Let me know if you are still have any problems (the new version should also work with the Steam Client Beta). https://github.com/lahma69/GameLaunchProxy/releases
- 178 replies
-
- steam
- steam overlay
-
(and 2 more)
Tagged with:
-
Lol. Actually I'm glad you popped back into the thread Nielk1. I was wondering, have you ever messed around with signature scanning in order to use functions within DLLs which have their code changed on a regular basis (i.e. function offsets always changing and the functions you need aren't exported, such as steamclient.dll). I see that sig scanning has been used quite a bit within the Steam/Valve hacking/programming community and although it has its advantages and disadvantages just like any other method, it does seem like it might be a good method to use for such a narrow use-case application like this (adding/removing/modifying shortcuts within Steam.) I've used some IDA Python plugins (created by various members of the reversing community) to create some wildcarded function signatures from the steamclient.dll, but I have not yet had a chance to write some C# code to scan the DLL for the signatures and hook into them at the offsets where the signatures are found. It doesn't seem like it will be too difficult, but I do think that I'm going to have some questions about a few things which is why I'm asking if you have any experience in this area. As always, thanks for the neat app you created. I've had fun tinkering around with it ?
- 178 replies
-
- steam
- steam overlay
-
(and 2 more)
Tagged with:
-
Thanks for the heads up cammelspit. Its possible something like that is happening here. One of my shortcuts caused SteamProxy to crash a couple of times, but now it appears all of my shortcuts are working correctly so I don't know what to think.
- 178 replies
-
- steam
- steam overlay
-
(and 2 more)
Tagged with:
-
Well, it appears that the changes to the beta client have been pushed to the non-beta client, as my updated GameLaunchProxy is no longer working (I saw my Steam update yesterday.) When the beta stopped working, I looked into the problems that were causing it to no longer work, and it appears that its going to be a pain in the ass to fix the problem. If memory serves me right, it is specifically failing to retrieve the client engine interface. If I have some time today, I will take a look at the current state of things to see if there is any quick fix, but I suspect that is not going to be the case. I will report back here when I learn more. Update: It appears I may have jumped the gun, as some of my GameLaunchProxy shortcuts are still working, while others are not. I'm going to do some investigation and I will report back here when I know more.
- 178 replies
-
- steam
- steam overlay
-
(and 2 more)
Tagged with:
-
Np. Ya, I actually use JDownloader 2 for downloading YouTube videos and/or a YouTube video's audio track. I suggested the onlinevideoconverter.com website only as an easy means of obtaining the track for anyone who doesn't have much experience with such things.
-
Just thought I would update you guys and let you know that the new Steam beta broke GameLaunchProxy again. It appears that the either the SteamClient interface offset or signature has changed, so its going to require a bit of reversing in IDA to figure out what is going on to update the Steam4Net dll. In the meantime I would suggest using the non-beta client as it is still working fine.
- 178 replies
-
- steam
- steam overlay
-
(and 2 more)
Tagged with:
-
Strange.. I never listened to it long enough to notice I guess. Retro808, if you look at my first post, I gave instructions for downloading a good clean Super Mario World theme mp3. I used it to replace mine and it sounds great.
-
Yes, I'm using a legit paid license. I figured that LaunchBox doesn't actually have anything to do with the music library, but I thought someone here might know who the music library was downloaded from. According to Neil, the music is from emumovies, so maybe I will try to report this problem to them. Honestly, it's not that big of a deal.. I just thought it was strange that the music for such a popular game, that literally everyone is going to have in their SNES rom collection, has the wrong music.
-
Ya, I saw the vtf parser you wrote. I'm sure that was a fair bit of work. Am I correct in assuming that only works when Steam is not running?
- 178 replies
-
- steam
- steam overlay
-
(and 2 more)
Tagged with:
-
Ya, I really wish Valve would just add these basic client functions into their publicly available API/SDK. I'm not sure why they are so opposed to such a thing. I guess when you're essentially the only kid on the block, there's not a lot of incentive to make your application flexible for other developers to integrate with. Hey Nielk1, if you happen to look at this thread again any time soon, I got a quick question for you. Actually, camelspit could probably answer this as well. How many times over the course of developing your app did Steam updates break the shortcut functionality (like how many times over how long) by either changing function offsets or the number/type/order of function arguments? I'm just wondering how common the problem is to judge how much work is warranted in trying to find a better way to do it.
- 178 replies
-
- steam
- steam overlay
-
(and 2 more)
Tagged with:
-
I'm not sure if this is the appropriate place to report such a problem, but this appears to be the only forum section labeled for posting "issues". While this is admittedly a very minor issue, I figured it was worth reporting. The "Super Mario World" [SNES] theme music that plays when highlighting that game is incorrect. I don't know what game's theme music it is playing, but it definitely isn't Super Mario World. I manually played the mp3 at "LaunchBox\Music\Super Nintendo Entertainment System\Super Mario World.mp3" and it is indeed the wrong music (so it is not an issue of LaunchBox simply playing the wrong mp3). I'm not sure what database this music is downloaded from, so it is entirely possible LaunchBox has no control over fixing this problem. Being that I do not know who to contact to sort such a thing out, I figured I would post it here so that someone who is more knowledgeable could pass the message along to whoever is responsible for such things. I was able to find the correct MP3 to replace the incorrect one with, but I assume there might be legality issues with attaching said file to this forum post. Instead, I will provide instructions for locating the MP3 from an outside source for anyone who is interested. The way I obtained the file was finding the Super Mario World title song on YouTube at the following URL: I then used the following webpage to convert that YouTube url into a downloadable MP3: https://www.onlinevideoconverter.com/mp3-converter Thanks for all the hard work on LaunchBox!
-
There is an already compiled release: https://github.com/lahma69/GameLaunchProxy/releases
- 178 replies
-
- steam
- steam overlay
-
(and 2 more)
Tagged with:
-
Nielk1, its great to hear from the creator himself! I really appreciate you taking some time to explain in detail the workflow of the application and how it evolved into what it is now. I actually came across the "temporary shortcut" functionality you described, but I have not looked into it too deeply yet. Looking back through the different version of the Steam4Net library and seeing how the Steam client library has changed over time, I noticed that the AddShortcut function has always required the AppName, the ExePath, and the StartDir as the 1st 3 arguments, and always in that order. I was thinking about using dynamic objects (reflection could be used as well) to get the Steam client libraries exported functions, and use those 3 strings as the first 3 arguments to the AddShortcut function. For the remaining arguments of the AddShortcut function, I think we could just use null objects, and then use the single-purpose functions (also gotten using dynamic objects) to set the shortcut icon, set it hidden, etc. It seems like this should resolve the problem of the Steam client library functions changing offsets between releases and the problem of the AddShortcut function changing the number of arguments required. I may be way off here, but at first glance, this seems doable without a ton of work. Do you see any glaring problems with this implementation? Perhaps I will play around with it tonight and see if its possible. Anyhow, thanks again for your input, and all of the hard work you've put into this application. Edit: It would appear that I oversimplified things after looking at the steam client dll in IDA. These functions apparently are not exported (unless they actually aren't in the steam client dll), so that makes things a lot more difficult.
- 178 replies
-
- steam
- steam overlay
-
(and 2 more)
Tagged with:
-
I added you on Steam Percy. My Steam username is lahma0.
- 178 replies
-
- steam
- steam overlay
-
(and 2 more)
Tagged with:
-
Wow, that sounds terrible. I'm glad your wife is ok though. I hate having to go to the ER. I will do just about anything to avoid it unless I'm missing an arm or something. The LaunchBox scraper is working perfectly in my testing. Your plan sounds great. When you get some time, put it through its paces and take notes of any problems you come across. Since you have extensive experience testing the app already and collaborating with Nielk1, I will follow your lead. Let me know what you think should be priority, and we will tackle those issues first. I was actually thinking it might be advantageous to create a branch of the application with only the Steam proxy/shortcut and Launchbox scraping components. It would definitely significantly simplify the code, and more importantly, at least in my opinion, really simplify the description of the application. As it is now, if I was looking for an app to do what it is that we use GameLaunchProxy for, and I came across the GitHub page, I really don't think I would have any idea that the app was what I was looking for (based on the current description). Anyways, this probably isn't priority, and we can discuss it later if we think its important. Just an idea. I added you on Steam, so hit me up. I'm going to bed! Talk to you tomorrow.
- 178 replies
-
- steam
- steam overlay
-
(and 2 more)
Tagged with:
-
Alright, I think I got this GitHub thing figured out. I've got the modified code and fresh release posted. Give it a shot and if you run into any problems, let me know. https://github.com/lahma69/GameLaunchProxy/releases P.S. Since I know very little about any other communities (such as on Reddit as you stated) that might have used this app when it was working previously, feel free to notify whatever parties might find it useful. I'm happy to do whatever I can to keep Nielk1's project working until he has time to replace it with his new application.
- 178 replies
-
- steam
- steam overlay
-
(and 2 more)
Tagged with:
-
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.
- 178 replies
-
- 1
-
- steam
- steam overlay
-
(and 2 more)
Tagged with:
-
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).
- 178 replies
-
- steam
- steam overlay
-
(and 2 more)
Tagged with:
-
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?
- 178 replies
-
- steam
- steam overlay
-
(and 2 more)
Tagged with:
-
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?
- 178 replies
-
- steam
- steam overlay
-
(and 2 more)
Tagged with:
-
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.)
- 178 replies
-
- steam
- steam overlay
-
(and 2 more)
Tagged with: