Lahma Posted August 1, 2018 Author Share Posted August 1, 2018 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? Quote Link to comment Share on other sites More sharing options...
The_Keeper86 Posted August 1, 2018 Share Posted August 1, 2018 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? Quote Link to comment Share on other sites More sharing options...
Lahma Posted August 1, 2018 Author Share Posted August 1, 2018 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. Quote Link to comment Share on other sites More sharing options...
The_Keeper86 Posted August 2, 2018 Share Posted August 2, 2018 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 Quote Link to comment Share on other sites More sharing options...
Lahma Posted August 2, 2018 Author Share Posted August 2, 2018 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)? Quote Link to comment Share on other sites More sharing options...
The_Keeper86 Posted August 2, 2018 Share Posted August 2, 2018 (edited) 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 August 2, 2018 by The_Keeper86 Quote Link to comment Share on other sites More sharing options...
Lahma Posted August 3, 2018 Author Share Posted August 3, 2018 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. Quote Link to comment Share on other sites More sharing options...
The_Keeper86 Posted August 3, 2018 Share Posted August 3, 2018 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. Quote Link to comment Share on other sites More sharing options...
bryantjs6 Posted September 3, 2018 Share Posted September 3, 2018 (edited) 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 September 4, 2018 by bryantjs6 More details Quote Link to comment Share on other sites More sharing options...
percybuttkins Posted September 3, 2018 Share Posted September 3, 2018 (edited) 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 September 4, 2018 by percybuttkins Quote Link to comment Share on other sites More sharing options...
Lahma Posted September 4, 2018 Author Share Posted September 4, 2018 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. 1 1 Quote Link to comment Share on other sites More sharing options...
percybuttkins Posted September 4, 2018 Share Posted September 4, 2018 Ha, no worries... It's not your full time job ?. We just enjoy and use the plugin and take advantage of your knowledge! Thanks for checking into it! Quote Link to comment Share on other sites More sharing options...
Lahma Posted September 5, 2018 Author Share Posted September 5, 2018 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 1 Quote Link to comment Share on other sites More sharing options...
bryantjs6 Posted September 5, 2018 Share Posted September 5, 2018 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! Quote Link to comment Share on other sites More sharing options...
percybuttkins Posted September 5, 2018 Share Posted September 5, 2018 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 ? Quote Link to comment Share on other sites More sharing options...
Lahma Posted September 5, 2018 Author Share Posted September 5, 2018 (edited) 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 September 6, 2018 by Lahma rewording things a bit 2 1 Quote Link to comment Share on other sites More sharing options...
Lahma Posted September 7, 2018 Author Share Posted September 7, 2018 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. 1 Quote Link to comment Share on other sites More sharing options...
percybuttkins Posted September 7, 2018 Share Posted September 7, 2018 Thanks! Looking forward to trying it out this weekend potentially! Quote Link to comment Share on other sites More sharing options...
Lahma Posted September 7, 2018 Author Share Posted September 7, 2018 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). 1 2 Quote Link to comment Share on other sites More sharing options...
Lahma Posted September 12, 2018 Author Share Posted September 12, 2018 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! 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.