Jump to content
LaunchBox Community Forums

Recommended Posts

9 hours ago, Lahma said:

@mrdead Did you add the Origin game to LB via the "Origin Games" importer?

image.thumb.png.3e55449d61ceb60bde98e734ccd1a571.png

I've personally never used that feature myself (along with many of the other game/launcher importers) so I would have to look into it further to see exactly how it works. If Origin game shortcuts use some type of a custom, non-standard launcher (kind of like how Steam uses a custom 'steam://' URL handler to launch its own game shortcuts [steam://rungameid/XXXXXX];

 

Ok so this is interesting.  Origin creates shortcuts to the exe like any sane person would do, but Launchbox imports them with a url style handler.

image.thumb.png.ab6892176ef228f957834bed1fab7ab4.pngimage.thumb.png.a88b443c479d0ea29ce27753dbc7b258.png

 

Link to comment
Share on other sites

30 minutes ago, mrdead said:

Ok so this is interesting.  Origin creates shortcuts to the exe like any sane person would do, but Launchbox imports them with a url style handler.

Correct, all our "launcher" importers use the respective API's to import your roms, it would be impossible for us to just scan your PC and be able to pick out games that came from Origin via the .exe.

  • Like 1
Link to comment
Share on other sites

3 hours ago, neil9000 said:

Correct, all our "launcher" importers use the respective API's to import your roms, it would be impossible for us to just scan your PC and be able to pick out games that came from Origin via the .exe.

Of course.  It just struck me as weird.  It makes total sense.

Link to comment
Share on other sites

3 hours ago, neil9000 said:

Correct, all our "launcher" importers use the respective API's to import your roms, it would be impossible for us to just scan your PC and be able to pick out games that came from Origin via the .exe.

Thank you for the information @neil9000. That is helpful to know. If you have easy access to the information and it wouldn't be too inconvenient, could you confirm that the below information is correct concerning the custom URL format for Amazon, Battle.net, Epic, GOG, Origin, uPlay, and Microsoft Store and if possible, provide examples for the ones I'm missing (Amazon)?

Battle.net:
battlenet://{GameID}
Example 'GameID': wow

Epic Games:
com.epicgames.launcher://apps/{GameID}?action=launch&silent=true
Example 'GameID': Petunia

GOG Galaxy:
"C:\Program Files (x86)\GOG Galaxy\GalaxyClient.exe" /command=runGame /gameId={GameID}
Note: As far as I can tell, GOG Galaxy doesn't use a custom URL handler but instead just uses command line arguments provided to its client EXE regardless of whether it is a native GOG title or an external game just manually added to the GOG client, right?
Example 'GameID': 1423049311

Microsoft Store (Xbox):
xbox://{GameID}
Example 'GameID': Microsoft.Patagonia_8wekyb3d8bbwe

Origin Games:
origin://LaunchGame/{GameID}
OR
origin://LaunchGameJump/{GameID}
OR
origin2://game/launch/?offerIds={GameID}
Note: Not sure what the difference between the 1st 2 are.. I assume it just changes the behavior of the launch in some way? I would assume that the 3rd one (origin2://) is some type of new/updated API/URL handler?
Example 'GameID': OFB-EAST:46851

Steam (including just for reference as I'm intimately familiar with how Steam's URLs work):
steam://rungameid/{GameID}
Example 'GameID': 1145360

uPlay:
uplay://launch/{GameID}
Example 'GameID': 420

Thanks!

  • Like 1
Link to comment
Share on other sites

This plugin does not seem to work anymore with the latest Steam update.

Steam client application
Built: Jun 7 2021, at 12:30:20
Steam API: v020
Steam package versions: 1623096420

The plugin loads up and freezes and I have to close it and Launchbox from the task manager.

I have attached the logs in this post.

 

 

debug.log

Link to comment
Share on other sites

On 6/8/2021 at 5:00 AM, Aetavicus said:

This plugin does not seem to work anymore with the latest Steam update.

Steam client application
Built: Jun 7 2021, at 12:30:20
Steam API: v020
Steam package versions: 1623096420

The plugin loads up and freezes and I have to close it and Launchbox from the task manager.

I have attached the logs in this post.

 

 

debug.log 5.46 kB · 2 downloads

Thanks for the report @Aetavicus. I'm looking into it.

Link to comment
Share on other sites

Thanks again for the report @Aetavicus . The latest Steam update did indeed change some of the vtable offset AGAIN. However, since I implemented the online updater functionality in the previous SteamLauncher update (allows the plugin to retrieve the vtable offsets from an online db that I am able to modify when needed), all that should be required in order to fix the issue is to restart LaunchBox (assuming you have the online updater enabled). When LaunchBox runs the next time, the plugin will check if the online db has been updated. It will detect the update and download those new vtable offsets which should immediately fix the problem.

Ideally, I would like to be able to update the online DB the same day that a Steam update introduces some breaking changes but in this instance, I have just been so busy that I did not even notice your post concerning the problem until today. Sorry about that. I will try to address the problem quicker next time. Please let me know if the updated online db did indeed fix your problem. I suspect that most users won't even notice since the online update is silent (unless you're looking at the debug logs).

  • Game On 1
Link to comment
Share on other sites

17 minutes ago, Aetavicus said:

@Lahma

Can confirm that it is working again. I did restart Launchbox multiple times on the day when I tested this issue. Perhaps there is some delay before the updater can pull the updated files from Steam?

@Aetavicus: Restarting on the day when you tested the issue wouldn't have caused the updater to download anything new because I hadn't yet updated the online DB. It wasn't until your post that I was aware that the Steam update had broken compatibility with the plugin. Once I saw your post, I looked into what the problem was and discovered that Steam had altered the IClientEngine vtable offsets again. Although it is not really important to understand that means, basically the plugin wasn't able to locate the correct address for a function within "steamclient.dll" that it needs to call in order to operate correctly. Once I figured out what the issue was, I was then able to update the online db with the new, correct offset values. Only after I updated those values would the auto updater be able to retrieve those new values and therefore fix the issue. Hopefully that clarifies things a bit.

  • Like 1
Link to comment
Share on other sites

On 6/11/2021 at 9:20 AM, Lahma said:

@Aetavicus: Restarting on the day when you tested the issue wouldn't have caused the updater to download anything new because I hadn't yet updated the online DB. It wasn't until your post that I was aware that the Steam update had broken compatibility with the plugin. Once I saw your post, I looked into what the problem was and discovered that Steam had altered the IClientEngine vtable offsets again. Although it is not really important to understand that means, basically the plugin wasn't able to locate the correct address for a function within "steamclient.dll" that it needs to call in order to operate correctly. Once I figured out what the issue was, I was then able to update the online db with the new, correct offset values. Only after I updated those values would the auto updater be able to retrieve those new values and therefore fix the issue. Hopefully that clarifies things a bit.

Thanks for your continued work on the plugin man. I know it's no small task. We all find it as useful as you yourself do. 

I'm as big a novice as the is when it comes to coding, but if there's anything we as a community can do to help I'm sure there's plenty of us that will pitch in. 

  • Thanks 1
Link to comment
Share on other sites

  • 4 weeks later...
On 6/12/2021 at 10:10 AM, JedExodus said:

Thanks for your continued work on the plugin man. I know it's no small task. We all find it as useful as you yourself do. 

I'm as big a novice as the is when it comes to coding, but if there's anything we as a community can do to help I'm sure there's plenty of us that will pitch in. 

This plugin is what convinced me to buy Launchbox.

Link to comment
Share on other sites

@mrdead and @Corgana, I sincerely appreciate the kind words. You all are too kind :) While I doubt I will be getting a job offer from Jason any time soon (I believe he just hired 1 or 2 talented devs in the last couple of years), I would certainly love to contribute to LB in a more official capacity. I'm sure Jason and the current devs have many plans for LB already and a very long list of to-do's as it is though, so I won't be holding my breath ;)

One thing I would love to see however (and perhaps is a bit more realistic) is further development of the plugin API which would allow MUCH easier integration with LB and eliminate the need for a TON of workarounds and ugly hacks that I am currently using to get around the fact that the LB plugin API does not support a lot of functionality that I really need it to. I've actually spoken with Jason about this in the past and he did actually implement some additionally functionality into the plugin API. However, either due to a miscommunication on my part, a misunderstanding on his part, or possibly just a lack of time amidst many other plans (at the time, I believe Jason was still the lone developer of LB), the new plugin API functionality fell short of what I actually needed it to do. I believe the amount of code and time that it would take to integrate these few features into the plugin API would be relatively minor so perhaps there is some hope that it may be implemented at some point in the future... (?)

When I have some extra time on my hands, perhaps I will write up another detailed proposal for the desired plugin API functionality and propose the changes to the dev team in a new thread. Perhaps with enough upvotes from the user base of SteamLauncher, we might be able to get the proposed changes implemented. Not really sure since it is entirely out of my hands but I think it is more likely the desired features will be implemented into the API if the developer know those features are going to be useful to a significant portion of their users. It would make me VERY happy to be able to remove all of the hacks/workarounds code currently in the plugin and it would significantly clean up the code base and make it much easier to read and comprehend. Hopefully at some point this will become a reality.

Edited by Lahma
  • Like 2
Link to comment
Share on other sites

10 hours ago, Lahma said:

@mrdead and @Corgana, I sincerely appreciate the kind words. You all are too kind :) While I doubt I will be getting a job offer from Jason any time soon (I believe he just hired 1 or 2 talented devs in the last couple of years), I would certainly love to contribute to LB in a more official capacity. I'm sure Jason and the current devs have many plans for LB already and a very long list of to-do's as it is though, so I won't be holding my breath ;)

One thing I would love to see however (and perhaps is a bit more realistic) is further development of the plugin API which would allow MUCH easier integration with LB and eliminate the need for a TON of workarounds and ugly hacks that I am currently using to get around the fact that the LB plugin API does not support a lot of functionality that I really need it to. I've actually spoken with Jason about this in the past and he did actually implement some additionally functionality into the plugin API. However, either due to a miscommunication on my part, a misunderstanding on his part, or possibly just a lack of time amidst many other plans (at the time, I believe Jason was still the lone developer of LB), the new plugin API functionality fell short of what I actually needed it to do. I believe the amount of code and time that it would take to integrate these few features into the plugin API would be relatively minor so perhaps there is some hope that it may be implemented at some point in the future... (?)

When I have some extra time on my hands, perhaps I will write up another detailed proposal for the desired plugin API functionality and propose the changes to the dev team in a new thread. Perhaps with enough upvotes from the user base of SteamLauncher, we might be able to get the proposed changes implemented. Not really sure since it is entirely out of my hands but I think it is more likely the desired features will be implemented into the API if the developer know those features are going to be useful to a significant portion of their users. It would make me VERY happy to be able to remove all of the hacks/workarounds code currently in the plugin and it would significantly clean up the code base and make it much easier to read and comprehend. Hopefully at some point this will become a reality.

@Jason Carr This man has my vote. His plugin for many setups completely unifies controller setup no matter what device I choose. Would urge you to consider the reques,it will make my dog happy

IMG_20210711_163130.jpg

  • Thanks 1
Link to comment
Share on other sites

1 hour ago, JedExodus said:

@Jason Carr This man has my vote. His plugin for many setups completely unifies controller setup no matter what device I choose. Would urge you to consider the reques,it will make my dog happy

Good news! @C-Beats saw my previous post and sent me a PM. He said that they would be open to me posting a new issue on the BitBucket page with my desired plugin API changes. Obviously he isn't promising anything but I think it is worth the time/effort to give it a shot. As soon as a I get enough time, I'm going to write up a detailed proposal and submit it. Hopefully the LB devs and I can collaborate to get the needed functionality added to the API. I'm looking forward to seeing how the changes could optimize/streamline the plugin. Hopefully everything works out!

I love the pic of your dog @JedExodus! He reminds me of a dog my grandma used to have named Fuzz. :)

Edited by Lahma
  • Like 6
Link to comment
Share on other sites

On 7/12/2021 at 9:55 AM, Lahma said:

Good news! @C-Beats saw my previous post and sent me a PM. He said that they would be open to me posting a new issue on the BitBucket page with my desired plugin API changes. Obviously he isn't promising anything but I think it is worth the time/effort to give it a shot. As soon as a I get enough time, I'm going to write up a detailed proposal and submit it. Hopefully the LB devs and I can collaborate to get the needed functionality added to the API. I'm looking forward to seeing how the changes could optimize/streamline the plugin. Hopefully everything works out!

I love the pic of your dog @JedExodus! He reminds me of a dog my grandma used to have named Fuzz. :)

Rock and roll! Hopefully it all goes somewhere and makes life easier for you. 

Can report back that Rufus the greyhound is ecstatic. Dogs love it when API's are changed for the better, dontchaknow

  • Haha 1
Link to comment
Share on other sites

So I'm running into an interesting case and sorry if this has been addressed before. I have 3 Wii U games in Launchbox, one of them works fine with Steamlauncher enabled and the Overlay works as well. Two of them won't launch with it enabled, no pop ups or anything when attempting to launch. I set the logging to verbose and let me know if you need all of that, but the only thing I can see in that log that indicates a problem is the same thing that pops up if the logging is set to "error":

2021-07-18 20:47:40 [Error] [GameLaunchingPlugin] [OnAfterGameLaunched] - An error occurred while creating/launching the Steam shortcut: Object reference not set to an instance of an object

My first thought was that it must have something to do with the titles of the games in Launchbox because everything else is the same, but I can't figure it out.

AANNNNDD I'm a genius. 

This is going to get weird, but I was able to fix it. HOW I was able to fix it is a little hard to explain and WHY this fixes it makes no sense to me but here goes:

-The game that worked I imported a long time ago (I just wanted to test the system etc.)

-The two games that did not work, I imported today

-I should note here that I'm importing .rpx files. I noticed that all three games had the title of the .rpx file amended to the title of the game in launchbox. So the one that works looks like "Star Fox Zero carrot" where carrot was the name of the rpx file. However, it didn't show up in the Launchbox/Edit title of the game like that. Instead the "carrot" part was below the title under "version" in Launchbox. Remember that this game worked.

-The same exact situation was happening to the other two, but for some reason when I clicked/edited the games and removed the title of the .rpx from the "version" info in launchbox... joy.

-Again, to be clear, the older game still works with that version info in there, but for whatever reason now, if you import rpx, you may have to delete the version info for steamlauncher to launch the game. ?

 

Edited by fromlostdays
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...