-
Posts
108 -
Joined
-
Last visited
Content Type
Profiles
Forums
Articles
Downloads
Gallery
Blogs
Everything posted by stigzler
-
Hey. Just to contribute. I often had the same problem during development of a plugin and testing. From exploring files on my test machines and from Jason's posts here, I think it has to do where there are competing .dlls between those in Launchbox/Core and any plugins or possibly themes (or anything that uses its own individual dlls). Often for me, it occurs when my plugin uses dlls that are also used in launchbox and those in my plugin directory are more current than those in laucnhbox (i.e. launchbox likely requires an update). In short: if you're having these errors, ensure Launchbox is updated first. Then you can manually compare the dll referenced in the error message to any in the Launchbox\Core directory. If the Launchbox version is older, then that might be your problem.
-
God that was bloody horrible. Never make me do that again.... 12 hours straight and finally upgraded about 7 different projects to .net 9. To be fair to M$ - their Upgrade tool is really good. The hassle came from resolving references and fixing breaking changes in .net 9. Curses! I know I'm going to be finding bugs for a while yet.. Goodbye Framework - you served me well, but like an ex-wife - don't think I'll be visiting for tea again any day soon. So yes, in conclusion, upgrading to .Net9 solves this issue. However, if you've got any kind of complexity (read: multi-local library, old platform etc) make sure to bring a 4-pack of patience.
-
Cheers dude. @JoeViking245 has suggested referencing LB/Core/Drawing.Common - so need to find a way to try this first as my plugin is v complicated (5 projects + leveraging some potential framework only features) - so if Joe's suggestion works this would be the preferable path rather than the upgrade. However - is there a "reverse" upgrade option? The Framework/Core/.net transition is one I've never braved!
-
Think this likely has something to do with the .net version update. Error thrown at my entry point class inheriting ISystemMenuItemPlugin: public class SystemMenuItemHook : ISystemMenuItemPlugin { // Launchbox Properties ============================================================================================== public string Caption => "Gearbox"; public System.Drawing.Image IconImage => Gearbox.Presentation.Properties.Resources.gearboxicon; public bool ShowInLaunchBox => true; public bool ShowInBigBox => false; public bool AllowInBigBoxWhenLocked => false; // Gearbox Properties ============================================================================================== public SystemMenuItemHook() { } public void OnSelected() { // Blah - problem not here } } Gearbox.Presentation.Properties.Resources.gearboxicon throws the error: "System.PlatformNotSupportedException: 'BinaryFormatter serialization and deserialization have been removed. See https://aka.ms/binaryformatter for more information.'" gearboxicon shows as a System.Drawing.Bitmap and is included via the Vis Studio Resources system. This has been working fine for all past versions. Plugin built using Framework 4.8 Any ideas?
-
I was really replying to the OP. However, I assume you've tried AHK for what you are wanting to achieve? It lets you launch things via key combos
-
Thanks @dragon57 - a useful hack in the absence of any solutions via launchbox or retroarch settings.
-
I solved this here:
-
Windows volume controls disabled by BigBox run as shell?
stigzler replied to stigzler's topic in Troubleshooting
OK. Solved it. Download this: 3RVX Set is as a startup application with bigbox Go into 3RVX's settings and set hotkeys for vol up and down to those on your cab. Bingo. -
I think this might have to do with retroarch. On initial import for psp, I selected use bezels. However, now I don't want the bezels showing. It launches via retroarch (whose UI organisation is a little baffling with overrides etc). I launch a game and then switch off the bezel via quickmenu-OnScreenOverlay-DisplayOverlay=false. I then try to save ethe core override via quickMenu-overrides-saveCoreOverrides. However, if I relaunch the same game, the bezels are back. Also for other games. What am I doing wrong? 😭 Edit: So if I do quickMenu-overrides-saveGameOverides, this works. However same for ContentDirectory doesn't. God I hate retroarch settings. Also, if I didn't want to disable the entire overlay (eg. Controls etc) how would I achieve this?
-
From that script, Joe, I'd guess you're no stranger to pushing the envelope of any system you find yourself working in 🤣 I'd have never thought about monitoring the registry for Steam state changes! Genius. (and thanks as ever, Gabe, for making steam the kid in the playground who refuses to play with anyone else coz he thinks he's the mutts nuts)
-
I'm developing a per-game AHK script launcher in my plugin. As far as I know lb doesn't have this? It works by running a game script on launch and then stops it on return to BB (i.e. the lb game exiting event fires) The issue is this game exit event fires immediately after starting the game. Thus stopping the AHK script. Any ideas what's going on here?? It works fine with other emulators.
-
Thanks. Will put there. Have thought of a workaround that will do in the meantime time. I see IBigBoxMainViewModel has methods to change the page type, so could monitor BB for inactivity and if inactive in Discovery, will change the page type to one that supports Attract mode.
-
Hi. Thanks for the response. Interesting. I note you can set a hokey to launch attract mode, so wouldn't this just be a simple method call? I.e. if you can launch it via a hotkey then you could certainly launch it programmatically. I know the Devs have a lot to implement, but do you not have a feature requests system? I couldn't see this as being a huge task to code but understand you need to prioritise issues. Best wishes.
-
Hi all. I like my cab's home page to be the discovery center, but attract mode doesn't launch from there? Is there any setting to make sure it does?
-
Solved With the awesome-as-ever help of @JoeViking245, found a work-around. Posted here for posterity/others in the same boat. I had to move these two dll's to a location outside of the plugin's folder. So, I moved them to: [LaunchboxRoot]/ThirdParty/Gearbox I then had to update all of my DllImport statements to a new path relative to my Plugin's directory @ [LaunchboxRoot]/PLugins/Gearbox. E.g: [DllImport("../../ThirdParty/Gearbox/PacDrive32.dll", EntryPoint = "PacSetCallbacks", CallingConvention = CallingConvention.StdCall)] private static extern void PacSetCallbacks32(USBDEVICE_ATTACHED_CALLBACK usbDeviceAttachedCallback, USBDEVICE_REMOVED_CALLBACK usbDeviceRemovedCallback); Thanks again, JoePluginKing!
-
Hi folks, I'm authoring some LED Controller functions into my swiss army knife plugin given LEDBlinky doesn't really cut the mustard for me. I have cloned Ben Baker's excellent PacDriveSDK from here: https://github.com/benbaker76/PacDriveSDK The repo works fine on my PC and I can use the cpp driver dlls () without any issue on the test applications. However, Launchbox doesn't seem to like them at all. I get the following errors during the Plugin Initialisation phase: I've tried just putting them in the plugins folder without my plugin files and I still get the same errors - implying it's Launchbox not liking the dlls rather than my plugin. I also couldn't get any other exception details, even after putting LB into debug mode (there were no logs in the log folder, maybe because once those exceptions are thrown, LB doesn't boot) I have emailed Ben Baker, but he may say it's a Launchbox issue - so hoping I don't get caught between a rock and a hard place on this one. My skills don't extend to cpp, so I have no idea what the compatibility issues are. Do hope someone can help or clarify what's happening here, as totally stuck with this one!
-
Fair points, Joe and pretty much where I've gone with it. There are some nasty edge cases that might happen (e.g. user 'swaps' the Names of two systems in LB which would be undetectable by my plugin where linked DO is via Platform Name) but that's the issue with plugin development: some things are beyond your control. Even 'multi-key' approaches are fallible, so it will have to do! Thanks for your input. 👍
-
Hey. Thanks for the reply, Joe. Yes - I had considered that, but the issue is if I create an associated data object linked via the LB Platform name, and then the user changes the platform name in LB that then breaks the link between the LB IPlatform and the data object. I was hoping that there was a unique (unchangeable) ID assigned at the point of creation of a new LB platform, but I'm thinking that this facility just isn't there? I've also had a look at Metadata/Platforms.xml and see no ID there either, so I'm thinking I'm going to have to do some convoluted design accommodating the possibility that the user changes the Platform name (and with no date created property, there's going to be no way to detect a platform name change, I think - so on running my plugin it'll either be a new platform created by the user or the user has changed the name). Not ideal, but I guess you have to work with what you've got. Any other ideas, Jo, just in case I'm missing something? Merry Chrimbo by the way.