Jump to content
LaunchBox Community Forums

stigzler

Members
  • Posts

    122
  • Joined

  • Last visited

Everything posted by stigzler

  1. Hi folks. I'm looking for a way to preserve the normal windows volume controls whilst running BigBox as shell. I have WinPac set two shifted functions to vol-up and vol-down. If I run in windows shell and I press these keys, it turns the windows volume up and down (essentially acting as vol up/down keyboard buttons). However, if I run BigBox as shell, this no longer works. Also, if I plug in a keyboard with vol up/down buttons, these don't work either. Bit if a deal breaker really. Also tried a usb volume knob - works in windows, not with BigBox as shell. I can, of course WinPac to two other spare keys and map these to vol up/down in BigBox, but this only controls bigbox of course, not other emulators. I need to somehow start the relevant windows processes as "also launch" I read somewhere that starting explorer.exe triggers the win volume system, so tried the following batch script: start /min c:\ This does start up explorer, but still no win volume. 😔 Also tried running: C:\Windows\System32\SndVol.exe Still no dice. Have checked services.msc - "Windows Audio" is running. Is this a bit of a major oversight or am I missing something? UPDATES: Here's some of the additional things I've tried and results: Volume still not controlled by usb wheel/keys
  2. Thanks. That'll do in lieu of any other options. 👍
  3. Hi, I want back to be mapped to a key different than escape (Z). I also want to enable to Require Holding Back to Navigate to System Menu. However, it appears that only escape works when enabling this, not any otehr keys. What I've tried: 1. Mapping Back to Escape and Z. Only Escape works. 2. Removing Escape form the mapping and adding K. Neither K nor Z works and I can't access the System Menu. Is this a bug or am I doing something wrong?
  4. I'm running BigBox on an Arcade Cab. Is there any way to stop the user navigating to the System Menu via 'back'? I know you can lock the user out from changes options, but I want to stop the user entering the system menu entirely. It kinda ruins the immersion. I realise that there will probably need to be some way of entering the system menu (not sure if all BigBox options can e set in Launchbox?), but that could be done via a specific key etc (eg. a shifted key). Back is just so integral to browsing that the user will accidently end up in the system menu at times. Thanks
  5. It is, but stay tuned for a dedicated plugin...
  6. Those results are really good. What a time to be alive where things can be rejuvenated like that. Wonder if I could put myself through AI?
  7. Cheers fella. Likewise, if you're thinking about a new release and wanting to have the importer accommodate this, then drop me an IM on here rather than my cluttering up this thread! It may be worth planning more long term and proactively around general deployment strategy given the need to sync c64d and lb Xmls. It's already nagging away at the back of my brain, so I'll invariably have a play with it at some point!
  8. No probs. Had the same thought, but didn't know how live the project was. My thoughts: FIles As long as launchbox hasn't added any files of its own to any directories that your project imports, likely best to clear any existing files before importing the new files. That will work as long as your releases contain all files necessary rather than a 'cumulative update' where you only include new or updated files. In the latter (think version control) you'd need to produce a full manifest of files/directories to import and any to delete. Best would probs be a hybrid as method one won't know if there are any root directories to delete. Thus would need a likely small manifest of these (if you want to be super tidy) Xmls You're right. A bit more tricky but not impossible. At the moment I just do some string/file manipulation to append yours to the end of existing as per your instructions. I did start to look at XML Element manipulation (comparing existing with potential import) but once realised I could just append text, changed tac quickly! It'll take a bit more research (the main issue was there was no sub element that could be treated as a unique id) but doubt it's impossible. Happy to collaborate. 👍
  9. Found it. You'd forgotten to add this to 'Files To Import.txt': Data\\Playlists\\C64 Dreams Magazines - Zzap!64.xml Also, you'd omitted the '.xml' on the end of `Data\Playlists\C64 Dreams Magazines All Magazines` I've coded workarounds in my app. Problem was it iterates through Files To Import.txt and uses its contents to auto copy the files therein. Errors in this spill through to the import. Because of the suggestions that it was my importer, I did some extensive testing and updated it with detailed user feedback on the import process. I'm satisfied it's pretty solid. It checks every file copy and every xml insert. Outcome from vanilla: I also diff'd the launchbox Platforms.xml and Parents.xml pre and post insert. The Platforms one compares my launchbox diff post insert with the `Platforms XML Insert.txt` All done as directed: https://www.diffchecker.com/Z8wfFA49/ https://www.diffchecker.com/9GY8UW6N/ I'll update my original post with the new version.
  10. Yeah - that's what I meant - I can access them from via the controller/keyboard. That's why I said they were available in bigbox. I shall choose my words more carefully going forward to try and avoid confusion. Don't think it's the importer as it basically just follows your guide to importing step-by-step. However, I will do it manually and see if I get any different results.
  11. Hey. Thanks for the reply. Yeah- my bad on the game manuals thing. I was thinking they weren't available because not available in the Launchbox context menu, but they are totally available in BigBox! The magazines thing is a different matter. I've posted a vid below showing the problem. In it, I alternate between the stock c64-dreams-v0.60 folder bigbox installation and a local (testing) one - with full install of C64 Dreams, the latest hotfix and the magazine pack, so all mags have the additional .cbz files. What you'll see in the vid is the stock c64-dreams-v0.60 (and by extension the stock Data\Platforms\Magazines.xml) work perfectly, showing zzap. However, If I run my local version, I cannot see zzap - only 4 mags. Weird thing is, if I copy the Magazines.xml directly from stock to my local version, then zzap still isn't seen. Not sure what it is - LB caching? Some LB/BB settings which are rendering zzap invisible? Even tried copying the local and web xmls into the Data/Platforms folder. Still no dice. However, I can access zzap from the game menu (both local and web) - although this is a file in the game folder? Any ideas? (btw - the more I get into this, the more amazed I am at how much work went into this).
  12. Final post, promise! Everything's working really well apart from the manuals and the magazines from the magazine set (zzap). Does anyone have these working?
  13. C64 Dreams Importer [EDIT: I've totally re-written this so please see the link below for the most recent version]
  14. Hi - great work! Just to let you know you might also want to post some advice on where to put the original downloaded folder. I had mine deep in my file system and was getting unzip errors saying it couldn't find certain files. Typically, they were files with long filenames. An example problem file: C:\Users\admin\Projects\C64 Dreams\Original Download\c64-dreams-v0.60\C64 Dreams v0.60.7z\C64 Dreams\C64 Dreams\Demoscene\Christmas Megademo - Atlantis+Bonzai+Genesis Project+Lethargy+Offence It's likely to do with filepath lengths. I moved it to near my C : root and no more problems. Bit of a gotcha! Thanks for what you've done here - it's an amazing piece of work. EDIT: Had this same problem even when moved - think it's hitting the WinApi max file length of 260: C:\temp\project tests\C64DreamsImporter\c64-dreams-v0.60\C64 Dreams v0.60\C64 Dreams\C64 Dreams\Retroarch\shaders\Mega_Bezel_Packs\TheNamec-Commodore\presets\Commodore_Amiga1200Synth\Commodore_C1201-Amber\NMC_SHARP_SMOOTH-SCALEFX\FULLDEVICE_CURVED_NIGHT.slangp
  15. Thought I'd post this here, partly for future reference and also as potential help for others who find themselves in this situation. My aim was to have Bigbox bypass windows (with as minimal windows stuff as possible) and have PS4 controllers connected. Took me nearly a full day to get working.... 1. Bypass windows Login When installing windows, I skipped the linking the login to a msn account to create just a local account. Details here: Next, I automated login. Good guide here: Sadly, the default windows login screen and background pops up momentarily. I did mess around in the new Windows Settings to change the background etc, but weirdly, it still showed the default blue background. I used this application here to change some of the default login screen settings: https://winaerotweaker.com/ All were under the "Boot and Login" section. Some of the key ones: Disable Lock Screen Disable Login Screen Background Image (this just displays as black) You can also change your UserName as it flashes up briefly. I just changed it to the name of my gaming unit. You can it change it via the OG Control Panel (don't you dare take that out M$): Control Panel>User Accounts>Change Your Account Name Lastly, check your motherboard's manual for how to disable any full screen logos and enable fast-boot if you can. 2. Booting straight into BigBox 3. Getting PS4 controllers set-up Firstly: aaaaarrrrrrrrrgggghhhhhh! 😡 Now that's out my system, here's what to do: 1. Reset your PS4 controller to factory by sticking a paperclip in the little hole near L2 2. Make sure your Bluetooth drivers are up to date. 3. Windows Settings>Bluetooth: Add the controller. 4. PS4 doesn't play well with windows. You need some software to get them playing nicely: https://ds4-windows.com/ 5. In the above app, make sure "Run At Startup" is disabled. Here are my settings: 6. In launchbox, set DS4Windows to run at LB/BB startup (mine says task.bat, but I'm pretty sure the direct executable will still work): 7. Make sure there are no scheduled tasks to run DS4Windows at startup (you might have set this up unintentionally if messing about trying to get it all to work). Do this by typing "Task Scheduler" in the windows search box and exploring the different tasks. And that should be it. I had to faff around loads with windows and bluetooth, so there might be some randomness to getting it to work. Also, the controllers do take a few tries to connect. However, after all of that, you should get:
  16. Whoops. Missed this. Thanks for the reply. I think it's the right version?
  17. Hi all, This is a bit of a technical one. I am designing a plugin to place additional info on additional displays (WYSIWYG user editable game controls, game info etc). It requires quite a complex db backend and I normally use LiteDb for this (very successfully with other apps I've designed). Sadly, there is something about trying to raise a Shared connection to a LiteDb database when it runs within the domain of Launchbox. 'Direct' connections work fine. I have tested shared connections on a test app using the same Framework and LiteDb version and shared connections work fine. I basically get a Mutex error: I've tried placing the LitedDb database file outside of the Launchbox directory, but still get the same error. There's something about running LiteDb in the Launchbox/Plugin environment that is causing LiteDb to choke. I'm afraid the stack trace/debugging is beyond me. Would be happy to share the solution, but it might be tricky (or not - dunno) setting it up to develop being a plugin. 🤷‍♂️ It's brought my dev to a bit of a standstill - so any help anyone can offer would be appreciated. 😔
  18. Thanks all - will take a butchers. I was hoping there'd be a setting in LB if the facility is there in code, but 🤷‍♂️
  19. Hi folks, I know both formats work with lb, but is there any way to force lb to save images as rom name rather than as the game name?
  20. Hello folks. I have 3 displays on my cab - the main screen, a top display for marquees and a bottom one for game information. I see there's a way to customise the GameMarqueeView as per this video, but is there a way to do exactly the same for display 3 to make the game info layout? Thanks
  21. For those of you looking for a down-n-dirty helper class: public class SettingsManager { public FileSystemWatcher GeneralSettingsFileWatcher = new FileSystemWatcher(); public XDocument SettingsXDoc; public XDocument BigBoxSettingsXDoc; private static string ApplicationPath = Path.GetDirectoryName(new DirectoryInfo(System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName).Parent.FullName); private static string SettingsFile = $"{ApplicationPath}\\Data\\Settings.xml"; private static string BigBoxSettingsFile = $"{ApplicationPath}\\Data\\BigBoxSettings.xml"; public SettingsManager() { GeneralSettingsFileWatcher.Path = Path.GetDirectoryName(SettingsFile); GeneralSettingsFileWatcher.Filter = Path.GetFileName(SettingsFile); GeneralSettingsFileWatcher.NotifyFilter = NotifyFilters.LastWrite; GeneralSettingsFileWatcher.Changed += GeneralSettingsFileChanged; GeneralSettingsFileWatcher.EnableRaisingEvents = true; ReloadSettingsXDocs(); } private void ReloadSettingsXDocs() { SettingsXDoc = XDocument.Load(SettingsFile); BigBoxSettingsXDoc = XDocument.Load(BigBoxSettingsFile); } private void GeneralSettingsFileChanged(object sender, FileSystemEventArgs e) { try { GeneralSettingsFileWatcher.EnableRaisingEvents = false; // this controls for double firing // Ensures XDocs are always up to date ReloadSettingsXDocs(); } finally { GeneralSettingsFileWatcher.EnableRaisingEvents = true; } } public string GetSettingsStringValue(string key, SettingsType settingsType) { IEnumerable<string> returnValue = null; switch (settingsType) { case SettingsType.General: returnValue = from xmlElement in SettingsXDoc.Root.Descendants("Settings") select xmlElement.Element(key).Value.ToString(); break; case SettingsType.BigBox: break; default: break; } if (returnValue != null) { return returnValue.FirstOrDefault().ToString(); } else { return null; } } public enum SettingsType { General = 0, BigBox = 1 } } Unfinished, but will give you something to work from.
  22. Awesome reply as ever, @JoeViking245 - thanks. 👍 10 print "JoeViking Rocks OK" 20 goto 10 Now that is an awesome mindful bit of coding by Jason. Great futureproofing/flexibility. Now I can mould LB a bit, looking forward to getting stuck in properly. You seem quite active in the plugin development front, Joe. Are there others who are into it? It's just really helpful.
  23. Hi all. Currently developing a Swiss army knife plugin where one of its features will be a full media management system, including choice to download media from an alternative scraper api. Part of this involves understanding how Launchbox names its media files. I know how to access all the game/system objects through the PluginHelper Class. I'm assuming this data is pulled from the relevant .xmls in <root>\Data Examining a pre-populated media set, I see games named thusly (game on Atari 7200): Tomcat_ The F-14 Fighter Simulator-01.jpg the only two game fields that could possibly be linked are: <ApplicationPath>S:\Unversioned\Projects\ArcadeAssets\ROMS\Atari 7800\Hyperspin Ready\Tomcat - The F-14 Fighter Simulator (USA).7z</ApplicationPath> <Title>Tomcat: The F-14 Fighter Simulator</Title> I am deducing, therefore, that the media name is derived from <Title>, as presumably underscore replaces the colon, and the result would not fit the pattern of the rom name. The question is, what is the replacement algorithm for all invalid filename chars? I.e. "\ / : * ? " < > |" Also, if there's two "Pong_01.png" and Pong_01.jpg", which is given priority? Lastly (for Bully's special prize), is there any way to set the image name in the database manually? For example, if I wished the media name to be the rom name? PS. Wot, no syntax highlighting? 😞
  24. It's hard to know where you're starting from, but I wrote this getting started in terms of setting up VisualStudio for a .net or .framework plugin. Super-dooper-guide If you're below this (how to code etc) then can't help you with that, I'm afraid. You'll need to start from basics.
  25. This can speed up your dev cycle: https://marketplace.visualstudio.com/items?itemName=vsdbgplat.MicrosoftChildProcessDebuggingPowerTool2022 You can find a setup guide here: The Secret Sauce
×
×
  • Create New...