Jump to content
LaunchBox Community Forums

Recommended Posts

I will look into it immediately and get back to you asap. Thanks for the heads up! Oh... one question though. Are you running the beta Steam client or non-beta?

Share this post


Link to post
Share on other sites
5 hours ago, Lahma said:

I will look into it immediately and get back to you asap. Thanks for the heads up! Oh... one question though. Are you running the beta Steam client or non-beta?

Thanks man no problem! No I'm running the non beta. I think this latest update added support for PS3 controllers. I could try other games from other consoles if it would help?

Share this post


Link to post
Share on other sites

I'm fixing to look into the problem. As long as nothing has changed on your setup (besides Steam updating) and you've launched this emulator/rom combination using SteamLauncher previously, it is most likely the Steam update that is causing the issue. If I need you to test/try anything, I will let you know here shortly. Thanks again.

Share this post


Link to post
Share on other sites

Cool ok. No I haven't changed anything. Only thing I've done is move everything to a new HDD but I'm using the same drive letter for this drive and haven't had any other issues. No problem man hope you can find out what is going on :)

Share this post


Link to post
Share on other sites
2 hours ago, The_Keeper86 said:

Cool ok. No I haven't changed anything. Only thing I've done is move everything to a new HDD but I'm using the same drive letter for this drive and haven't had any other issues. No problem man hope you can find out what is going on :)

After a lot of testing here on my end, I can't find any problems with the beta or non-beta Steam client (latest versions). I think its probably an issue on your end, but I'd be happy to help you figure out what the problem is. Have you tried using the Steam overlay on a Steam/non-Steam game that is launched straight through the Steam client (rather than through SteamLauncher/LaunchBox)?

Share this post


Link to post
Share on other sites
17 hours ago, Lahma said:

After a lot of testing here on my end, I can't find any problems with the beta or non-beta Steam client (latest versions). I think its probably an issue on your end, but I'd be happy to help you figure out what the problem is. Have you tried using the Steam overlay on a Steam/non-Steam game that is launched straight through the Steam client (rather than through SteamLauncher/LaunchBox)?

You're right I tried other consoles and they worked. Its something to do with PCSX2. It used to work though. I'll keep messing with my settings. Sorry I jumped ahead thinking it was the Steam update :/

 

*edit* change PCSX2 settings even launching it from Steam itself and still get a black screen for the overlay. Steam or PCSX2 devs must've messed something up.

Edited by The_Keeper86

Share this post


Link to post
Share on other sites
8 hours ago, The_Keeper86 said:

You're right I tried other consoles and they worked. Its something to do with PCSX2. It used to work though. I'll keep messing with my settings. Sorry I jumped ahead thinking it was the Steam update :/

 

*edit* change PCSX2 settings even launching it from Steam itself and still get a black screen for the overlay. Steam or PCSX2 devs must've messed something up.

At least you figured out exactly what was causing the problems.

Share this post


Link to post
Share on other sites
16 hours ago, Lahma said:

At least you figured out exactly what was causing the problems.

Me too. I should've doubled checked before thinking it was the plugin. Now to just figure out why PCSX2 is causing Steam to show a black overlay. Even tried an older svn that worked before. But that isn't your problem.

Share this post


Link to post
Share on other sites

Hi there,

I just got the plugin today and I am struggling to get it to work. When I try to launch a game, Steam crashes within a second, and I have to force quite LaunchBox because it gets stuck. I've read through this thread, the readme, and the debug log, but I'm not finding what I might be doing wrong. Any thoughts?

LaunchBox version I am using is 8.6 beta 14
Steam is current and non-beta.

Thank you.

EDIT: I've also noticed that the xml file doesn't seem to be working as expected. I tried launching games from a few different platforms, but the entries aren't being added. Probably because of the crashing?

EDIT: Also added the Launchbox debug logs from that timeframe.

debug.log

config.xml

Debug 2018-09-02 10-59-27 PM.log

Debug 2018-09-02 11-05-49 PM.log

Edited by bryantjs6
More details

Share this post


Link to post
Share on other sites

I'm also having an issue. The debug just shows

Spoiler

"2018-09-03 19:50:02 [INFO] [GameShortcut] [.ctor] - Creating Game Shortcut - Platform: 'Windows'; Title: 'Braid'"

and never progresses. 

 

The launchbox log shows

Spoiler

2018-09-03 07:59:23 PM FIRST CHANCE EXCEPTION: System.IO.FileNotFoundException: Could not load file or assembly 'SteamLauncher.XmlSerializers, Version=0.9.0.2, Culture=neutral, PublicKeyToken=null' or one of its dependencies. The system cannot find the file specified.
File name: 'SteamLauncher.XmlSerializers, Version=0.9.0.2, Culture=neutral, PublicKeyToken=null'
   at System.Reflection.RuntimeAssembly._nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, RuntimeAssembly locationHint, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks)
   at System.Reflection.RuntimeAssembly.InternalLoadAssemblyName(AssemblyName assemblyRef, Evidence assemblySecurity, RuntimeAssembly reqAssembly, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks)

WRN: Assembly binding logging is turned OFF.
To enable assembly bind failure logging, set the registry value [HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD) to 1.
Note: There is some performance penalty associated with assembly bind failure logging.
To turn this feature off, remove the registry value [HKLM\Software\Microsoft\Fusion!EnableLog].

2018-09-03 07:59:23 PM FIRST CHANCE EXCEPTION: System.IO.FileNotFoundException: Could not load file or assembly 'SteamLauncher.XmlSerializers' or one of its dependencies. The system cannot find the file specified.
File name: 'SteamLauncher.XmlSerializers'
   at System.Reflection.RuntimeAssembly._nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, RuntimeAssembly locationHint, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks)
   at System.Reflection.RuntimeAssembly.LoadWithPartialNameInternal(AssemblyName an, Evidence securityEvidence, StackCrawlMark& stackMark)

WRN: Assembly binding logging is turned OFF.
To enable assembly bind failure logging, set the registry value [HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD) to 1.
Note: There is some performance penalty associated with assembly bind failure logging.
To turn this feature off, remove the registry value [HKLM\Software\Microsoft\Fusion!EnableLog].

2018-09-03 07:59:23 PM FIRST CHANCE EXCEPTION: System.IO.IOException: The process cannot access the file 'C:\Users\kirkn\LaunchBox\Plugins\debug.log' because it is being used by another process.
   at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
2018-09-03 07:59:24 PM Unbroken.LaunchBox.Desktop.ViewModels.MainViewModel.window.SizeChanged Start
2018-09-03 07:59:24 PM Unbroken.LaunchBox.Desktop.ViewModels.MainViewModel.window.SizeChanged Before Set Side Bar Max Width to 800 Less
2018-09-03 07:59:24 PM Unbroken.LaunchBox.Desktop.ViewModels.MainViewModel.window.SizeChanged Before Notify Side Bar Max Width
2018-09-03 07:59:24 PM Unbroken.LaunchBox.Desktop.ViewModels.MainViewModel.window.SizeChanged Completed
2018-09-03 07:59:24 PM Music.Prepare Start
2018-09-03 07:59:24 PM Music.Kill Start
2018-09-03 07:59:24 PM Music.Kill Finished
2018-09-03 07:59:24 PM Music.NotifyTrackList Start
2018-09-03 07:59:24 PM Music.NotifyTrackList Invoke WPF
2018-09-03 07:59:24 PM Unbroken.LaunchBox.Desktop.ViewModels.MainViewModel.window.SourceInitialized Start
2018-09-03 07:59:24 PM Unbroken.LaunchBox.Desktop.ViewModels.MainViewModel.window.SourceInitialized Before Add Hook
2018-09-03 07:59:24 PM Unbroken.LaunchBox.Desktop.ViewModels.MainViewModel.window.SourceInitialized Completed
2018-09-03 07:59:24 PM Unbroken.LaunchBox.Desktop.ViewModels.MainViewModel.window.Activated Start
2018-09-03 07:59:24 PM Unbroken.LaunchBox.Desktop.ViewModels.MainViewModel.window.Activated Before JoystickTimer Enabled Set
2018-09-03 07:59:24 PM Unbroken.LaunchBox.Desktop.ViewModels.MainViewModel.window.Activated Before Resume Video
2018-09-03 07:59:25 PM Unbroken.LaunchBox.Desktop.ViewModels.MainViewModel.window.Activated Before Check Already Focused
2018-09-03 07:59:25 PM Unbroken.LaunchBox.Desktop.ViewModels.MainViewModel.window.Activated Not Already Focused, Proceeding to Get Handle
2018-09-03 07:59:25 PM Unbroken.LaunchBox.Desktop.ViewModels.MainViewModel.window.Activated Got Handle, Proceeding to Set Focus
2018-09-03 07:59:25 PM FIRST CHANCE EXCEPTION: System.NullReferenceException: Object reference not set to an instance of an object.
   at MS.Internal.Automation.ProxyManager.LoadDefaultProxies()
2018-09-03 07:59:25 PM Unbroken.LaunchBox.Desktop.ViewModels.MainViewModel.window.Activated Got Element
2018-09-03 07:59:25 PM Unbroken.LaunchBox.Desktop.ViewModels.MainViewModel.window.Activated Before Set Focus On Element
2018-09-03 07:59:25 PM Unbroken.LaunchBox.Desktop.ViewModels.MainViewModel.window.Activated Before Setting Already Focused
2018-09-03 07:59:25 PM Unbroken.LaunchBox.Desktop.ViewModels.MainViewModel.window.Activated Before Opening Welcome Dialog
2018-09-03 07:59:25 PM Unbroken.LaunchBox.Desktop.ViewModels.MainViewModel.window.SizeChanged Start
2018-09-03 07:59:25 PM Unbroken.LaunchBox.Desktop.ViewModels.MainViewModel.window.SizeChanged Before Set Side Bar Max Width to 800 Less
2018-09-03 07:59:25 PM Unbroken.LaunchBox.Desktop.ViewModels.MainViewModel.window.SizeChanged Before Notify Side Bar Max Width
2018-09-03 07:59:25 PM Unbroken.LaunchBox.Desktop.ViewModels.MainViewModel.window.SizeChanged Completed
2018-09-03 07:59:25 PM Unbroken.LaunchBox.Desktop.ViewModels.MainViewModel.window.SizeChanged Start
2018-09-03 07:59:25 PM Unbroken.LaunchBox.Desktop.ViewModels.MainViewModel.window.SizeChanged Before Set Side Bar Max Width to 800 Less
2018-09-03 07:59:25 PM Unbroken.LaunchBox.Desktop.ViewModels.MainViewModel.window.SizeChanged Before Notify Side Bar Max Width
2018-09-03 07:59:25 PM Unbroken.LaunchBox.Desktop.ViewModels.MainViewModel.window.SizeChanged Completed
2018-09-03 07:59:25 PM Unbroken.LaunchBox.Desktop.ViewModels.MainViewModel.window.StateChanged Start
2018-09-03 07:59:25 PM Unbroken.LaunchBox.Desktop.ViewModels.MainViewModel.window.StateChanged Before Notify Maximize Visibility
2018-09-03 07:59:25 PM Unbroken.LaunchBox.Desktop.ViewModels.MainViewModel.window.StateChanged Before Notify Restore Visibility
2018-09-03 07:59:25 PM Unbroken.LaunchBox.Desktop.ViewModels.MainViewModel.window.StateChanged Before Notify Window Controls Margin
2018-09-03 07:59:25 PM Unbroken.LaunchBox.Desktop.ViewModels.MainViewModel.window.StateChanged Before Set Window Border Visibility
2018-09-03 07:59:25 PM Unbroken.LaunchBox.Desktop.ViewModels.MainViewModel.window.StateChanged Before Notify Window Border Visibility
2018-09-03 07:59:25 PM Unbroken.LaunchBox.Desktop.ViewModels.MainViewModel.window.StateChanged Completed
2018-09-03 07:59:25 PM Unbroken.LaunchBox.Desktop.ViewModels.MainViewModel.window.Deactivated Start
2018-09-03 07:59:25 PM Unbroken.LaunchBox.Desktop.ViewModels.MainViewModel.window.Deactivated Before Pause Video
2018-09-03 07:59:25 PM Unbroken.LaunchBox.Desktop.ViewModels.MainViewModel.window.Deactivated Completed
2018-09-03 07:59:25 PM Unbroken.LaunchBox.Desktop.ViewModels.MainViewModel.window.Activated Before Checking for Updates
2018-09-03 07:59:25 PM Unbroken.LaunchBox.Desktop.ViewModels.MainViewModel.window.Activated Completed
2018-09-03 07:59:28 PM Unbroken.LaunchBox.Desktop.ViewModels.MainViewModel.window.Activated Start
2018-09-03 07:59:28 PM Unbroken.LaunchBox.Desktop.ViewModels.MainViewModel.window.Activated Before JoystickTimer Enabled Set
2018-09-03 07:59:28 PM Unbroken.LaunchBox.Desktop.ViewModels.MainViewModel.window.Activated Before Resume Video
2018-09-03 07:59:28 PM Unbroken.LaunchBox.Desktop.ViewModels.MainViewModel.window.Activated Before Check Already Focused
2018-09-03 07:59:28 PM FIRST CHANCE EXCEPTION: System.OperationCanceledException: The operation was canceled.
   at System.Threading.CancellationToken.ThrowOperationCanceledException()
2018-09-03 07:59:28 PM FIRST CHANCE EXCEPTION: System.OperationCanceledException: The operation was canceled.
   at System.Threading.SemaphoreSlim.Wait(Int32 millisecondsTimeout, CancellationToken cancellationToken)
2018-09-03 07:59:28 PM FIRST CHANCE EXCEPTION: System.OperationCanceledException: The operation was canceled.
   at System.Collections.Concurrent.BlockingCollection`1.TryTakeWithNoTimeValidation(T& item, Int32 millisecondsTimeout, CancellationToken cancellationToken, CancellationTokenSource combinedTokenSource)
2018-09-03 07:59:32 PM Music.Play Start
2018-09-03 07:59:32 PM Music.Kill Start
2018-09-03 07:59:32 PM Music.Kill Finished
2018-09-03 07:59:32 PM Music.Play Empty Music Path
2018-09-03 07:59:32 PM Music.NotifyTrackList Start
2018-09-03 07:59:32 PM Music.NotifyTrackList Invoke WPF
2018-09-03 07:59:35 PM FIRST CHANCE EXCEPTION: System.NotSupportedException: The given path's format is not supported.
   at System.Security.Permissions.FileIOPermission.EmulateFileIOPermissionChecks(String fullPath)
2018-09-03 07:59:35 PM EXCEPTION IGNORED: System.NotSupportedException: The given path's format is not supported.
   at System.Security.Permissions.FileIOPermission.EmulateFileIOPermissionChecks(String fullPath)
   at System.Security.Permissions.FileIOPermission.QuickDemand(FileIOPermissionAccess access, String fullPath, Boolean checkForDuplicates, Boolean needFullPath)
   at SteamLauncher.Shortcuts.GameShortcut.get_LaunchExePath()
   at SteamLauncher.Shortcuts.GameShortcut.GenerateSteamShortcut()
   at SteamLauncher.LaunchViaSteamMenuItem.OnSelected(IGame selectedGame)
   at (GamePluginSelectedMenuAction )
2018-09-03 07:59:39 PM Unbroken.LaunchBox.Desktop.ViewModels.MainViewModel.window.Deactivated Start
2018-09-03 07:59:39 PM Unbroken.LaunchBox.Desktop.ViewModels.MainViewModel.window.Deactivated Before Pause Video
2018-09-03 07:59:39 PM Unbroken.LaunchBox.Desktop.ViewModels.MainViewModel.window.Deactivated Completed
 

Any thoughts Lahma? Not using steam beta and Launchbox/Bigbox just hang and then crash after. 

 

Thanks!

Edited by percybuttkins

Share this post


Link to post
Share on other sites

Damn, I'm so sorry guys. I haven't checked my email in a couple of days cause I've been out of town, so I didn't even know y'all had posted here until percy messaged me on Steam. It appears that either a Steam update or a LaunchBox update has onced again broken something (part of the inevitable battle that has to be waged constantly when using undocumented Steam functions, as this plugin does). I will look into the problem here in just a couple of hours, or at the very latest tonight. Hopefully I can get a new build pushed out tonight that fixes everything. Check back here for an update later on.

  • Like 1
  • Thanks 1

Share this post


Link to post
Share on other sites

I just wanted to give you guys an update and let you know I've located the chunk of code that the problem is occurring in, but it is going to take some digging around in the new steamclient.dll inside of a disassembler to figure out what the exact problem is. I don't think its going to be anything too monumental, but unfortunately, I'm definitely not going to get a new build pushed out tonight. Hopefully I'll get things patched up tomorrow though. I will definitely keep y'all updated with my progress. I promise not to keep y'all waiting too much longer :)

  • Thanks 1

Share this post


Link to post
Share on other sites

Thanks for the updates and for your perseverance. I installed it after this compatibility issue started so I haven't had a chance to use it yet. Looking forward to it!

Share this post


Link to post
Share on other sites

I am curious though.... When you have the time.... What is steam doing that continually borks this though. Nielk had the same issue if I recall with steam changing how the shortcuts are handled... Just curious out of all the things steam needs to work on.. Why does the code regarding these shortcuts keep changing... 

 

More curious than anything.... On a side note... I'm assuming I can block steam from updating... Once this works I'd like to keep it working 😁

Share this post


Link to post
Share on other sites
6 hours ago, percybuttkins said:

I am curious though.... When you have the time.... What is steam doing that continually borks this though. Nielk had the same issue if I recall with steam changing how the shortcuts are handled... Just curious out of all the things steam needs to work on.. Why does the code regarding these shortcuts keep changing... 

 

More curious than anything.... On a side note... I'm assuming I can block steam from updating... Once this works I'd like to keep it working 😁

The main problem stems from the fact that Steam does not implement a public/documented API for management of the Steam client shortcuts. As a result, any applications that modify the Steam shortcuts while Steam is running must hook into the native code of the Steam client and make use of code/functions that Valve never intended external applications to use. If they were intended to be used, these functions would exist in the app's export table and could be easily called by a published name and type signature that would never change and always point to the right piece of code. Since these functions aren't intended to be used by external apps, the means by which an app like mine uses to get a pointer to that functions can be easily broken by a Steam update changing the virtual function table offset, interface name, etc. You will find other utilities that manage Steam shortcuts by modifying the actual file that Steam stores its shortcut data inside of, but the major downside of this is that it must be done while Steam is not running (and therefore makes it impractical for things my plugin needs to accomplish). 

Shortly after releasing my plugin, I added some code which made it more resilient against Steam client updates, and it has actually worked relatively well so far, as I think I've only had to fix the plugin 1 time due to a Steam client change that broke its functionality. I'm assuming they made a pretty big change (such as changing the order of the virtual function table pointers or something) which is the reason it broke this time, but seeing as I haven't had a lot of time to take a detailed look into the problem, that is just speculation at this point. I wouldn't worry too much about Steam updates breaking the plugin frequently, since as of yet, that hasn't really been too much of a problem. I usually have the problem fixed in a day or 2, and at least up until now, its been pretty infrequent. Trying to prevent Steam from updating is a pain in the butt (unless you're ok with just blocking its internet access altogether). 

Hopefully I can look into the problem tonight. That is the plan anyways. I will keep y'all updated.

Edited by Lahma
rewording things a bit
  • Like 2
  • Thanks 1

Share this post


Link to post
Share on other sites

Ok, I found the problem, and I'm working on a fix right now. The problem was indeed related to one of the virtual function table offsets changing. Although I did add code into the plugin to try to be resilient against these types of changes, it did not account for the type of change that occurred in this last update. I am going to be adding some additional code that will try to detect these types of changes in the future and automatically adjust the offsets appropriately. Hopefully I can get a new release pushed out tonight. I'll keep y'all updated.

  • Thanks 1

Share this post


Link to post
Share on other sites
1 hour ago, percybuttkins said:

Thanks!

Looking forward to trying it out this weekend potentially! 

 

I have completely resolved the issue in the code that was causing problems. Specifically, the reason the logs were showing, "Searching {ridiculously.large.number} shortcuts to find all SteamLauncher shortcuts" is because my code was making an incorrect assumption about the length of a certain vtable corresponding to a certain offset in said vtable. I won't go into details, but basically, the code I wrote previously to make the plugin compatible with both the Steam beta and non-beta (which had different offsets on a particular vtable for quite a long time) was causing problems. I'm going to implement a different strategy in this release for dealing with potential future changes. Its definitely not infallible, but if the pattern of changes remains relatively consistent with what I've seen over the last couple of years, it should deal with future issues elegantly (though the "hackish" code for dealing with these potential changes is anything but elegant). 

I could expound on why I don't implement some other strategies that are effective in other situations (such as signature scanning), but I won't bore y'all with the details. I'm going to finish implementing this new code, and then I will push a new version of the plugin out to GitHub. I will let y'all know when the new version is available (though I definitely expect it to be sometime tonight).

  • Like 1
  • Thanks 2

Share this post


Link to post
Share on other sites

I just wanted to let y'all know I haven't forgotten about updating the plugin. I had some unexpected family matters arise that have taken priority above all else. I have actually fixed the plugin by manually changing an offset value, but it definitely is not the way I want to fix the problem for an official release. Instead, I want to fix the problem in a way that will prevent the plugin from breaking again in the future from similar changes in Steam client updates. However, if y'all would like me to post a pre-release/beta version of the the plugin with the simple offset fix, I would be more than happy to post it here on the forum. If you want me to do that, just post a reply here, and I will upload it asap. Again, sorry for the wait!

  • Thanks 1

Share this post


Link to post
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
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...