Jump to content
LaunchBox Community Forums

stigzler

Members
  • Posts

    108
  • Joined

  • Last visited

Everything posted by stigzler

  1. 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:
  2. Whoops. Missed this. Thanks for the reply. I think it's the right version?
  3. 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. 😔
  4. Thanks all - will take a butchers. I was hoping there'd be a setting in LB if the facility is there in code, but 🤷‍♂️
  5. 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?
  6. 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
  7. 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.
  8. 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.
  9. 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? 😞
  10. 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.
  11. 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
  12. Not quite sure what you're saying, but the likely answer is yes.
  13. Here's a video showing my prototype in action. It shows how you setup controls for cabs and gamepads, map them to emulators and how MAME mappings work. It's a bit long as it's a tutorial, but you could skip through to get an idea: I wrote it essentially as a prototype for the bigger project. I'm really deliberating over the best approach to authoring a specific tool. The ultimate goal will be to build and display game controls layouts for all games on all systems (including different modes within each game (eg. walking, flying, in menu etc) and maybe special moves sets for things like Tekken etc). The database would be community populated. I'd also like to future-proof it. Those of you who have been around in this hobby long enough know that things come and go, but well designed things last (like poonga's controls.ini/dat/xml for MAME) so that has me thinking about the best approach to giving it longevity. The other thing that would be desirable would be that any controls layout display software would also integrate any other game/system specific assets in an integrated fashion (as per the vid above) - so it would need to integrate seamlessly with any source software. The benefit Sir Poonga had with Controls.dat was that Mame had standardised names for mameroms (essentially, each mame game has a standardised unique reference). These don't exist of course for games more widely, of course. So what I'm considering is this. Games will have a new unique ID (I know, I know) for the Game Controls Database. However, each will also have a list of known roms gleaned from the excellent Screenscraper database, the Launchbox game ID if it has one and any other Front End ids. I would link with Launchbox as the main front end for its development and invite community development of the Games Controls Database. There would be a plugin for Launchbox which would communicate with the stand alone application, share data with it such as the rom filename, LaunchboxID, assets etc etc etc which could then construct controls displays on the fly from the game controls database. For those of you who don't know Screenscraper's work, check this link here. They basically catalogue all known roms for all games, alongside game descriptions and titles and numerous other metadata for regions etc. A truly great archiving effort: https://www.screenscraper.fr/gameinfos.php?gameid=19939&action=onglet&zone=gameinfosroms I'll give you an example of why this might be necessary in practice. I have the rom "100 Star (Europe).rar" in my Playstation collection. Launchbox does not scrape this correctly and thus does not give it a launchbox ID. However, if you search this on Screenscraper.fr, then it is identified as "Popstar Maker" Now, there's two things here. I could author the plugin to update Launchbox from Screenscraper to the new details (bonus!). But, also, I now know that the Launchbox ID for Popstar Maker (if I've pre-scraped the Screenscraper db). Thus, syncing two databases. There would be a piece of publicly available software for updating the Game Controls Database so it can be updated as new roms are discovered/released. It would be up to the community to version control this (insert inane laughter here) I don't know if that makes any sense. Essentially, I think it would be best to make any Game Controls database front-end agnostic whilst still offering the best outcomes to those who would contribute the most. Thus the intention to develop this first for Launchbox user via the Launchbox plugin which would interface with the stand-alone application. I'd welcome people's ideas
  14. You're right. In all reality, it'd be building the default system, default system controller, default system controller controls and default system controller game functions (including game modes) databases from scratch. Thus the need for true community collaboration from the start. Eg. System: Sony PlayStation Controller: DualShock V1 Controls: Cross,Circle,Triangle,R3 (etc) Tekken 3: GameMode: Fight Control: Cross Function: Low kick GameMode: Menu Control: Cross Function: Select
  15. Ah yeah. I wasn't really expecting much time/participation from them and tbh I'm more of a solo flier anyway. However, I am a believer in smart collaboration and for a bit of this at the start planning dovetailing of this into any future plans of theirs could benefit lunchbox largely (eg. I think there's some kind of controller function in lunchbox? Thus preserving ids etc). After all, it could be of commercial interest to them whilst I would be providing something potentially of value for nothing (not that I'm expecting anything for that, just making a point why a consideration of a post at this stage may be helpful). I'd do know how busy they are with dev and keeping the community happy, though. The barest minimum that would be helpful to me is a straight yes or no about whether they are planning on developing this themselves in the future, saving me a lot of work. Even if just via IM. However, also realise future feature releases may be super secret! I realising I'm writing cheques without any credit in the lb community ATM, so will post some vids of the prototype in action over the next couple of weeks when I get chance in between work. My other option is to make it stand alone and generic and to work off rom names alone using the screenscraper database ids as the standard game reference which would x ref rom names (which would also loose the launchbox systems and game standard by default). So many design choices! Thanks for the offer of beta testing. Always deffo needed and will take you up on it!
  16. The prototype I've just written can do this. It leverages controls.dat, pulls from the default mame controls layouts, pulls from controls.dat and then generates all the mame game layouts (+ button colors if you want them). It can also do a bunch of other stuff like choosing which default group control you want to show (e.g. driving games can have paddle or spinner etc). The per-game controls is easily coded - can't remember exactly now, but mame store per-game configs in a folder - the app would jsut read from these for each game and remap controls - the ore code is already there. As above, I'll post some vids of it in action when I have more time. I'm keen to start developing something over the winter, but want to get it done properly - so would want to scope this out fully with the launchbox community first - e.g. futureproofing + integration (e.g. with the launchbox database).
  17. Thanks for the answers. I'll have to check my settings as didn't get notified of them. @JoeViking245 - I think I saw this once. If memory serves - isn't this just standard mapping for all games - not game specific mappings? As for how far I'm willing to go - well I've kinda gone the whole hog on a prototype already over a number of years. Think CPWizard but extended and for all systems. It also allows for different game modes (think sets of button mapping for different modes of game controls - eg. on horseback, on foot, in menu). It's totally mappable to you rig control (e.g whether you have an arcade cab, or whether you use a controller) and also accommodates in game remaps and in-emulator per-game remaps. I kinda had to warp the space-time continuum to get it working, but it does somehow 🤷🤷 I dev'd it on another FE as wasn't using Launchbox at the time and needed an FE to feed the game info and artwork forward. Can post some vids once get it released. I have a funny feeling I should have given up about 6 years ago, but I won't rest until my cab has dynamic per-game controls being fed from a community driven database!! Which drives me back to my original question. I do have the means to author this and make it happen for the community. I would have preferred to have done this for the retro gaming community at large, but by god, why haven't we all agreed on a single standardised ID yet for all games, or indeed, systems? Human nature at work... Thus, I have to pitch my tent somewhere. I'm noticing Launchbox are hiring lots of new staff more recently, so it's getting bigger. I'm very happy to contribute, but I would rather know if the devs have this feature in mind for future development rather than spending two years doing something as a solo developer that a team of a few bring out a few months before I do at half the effort and for free! 🤣🤣 What's the best way to find that out?
  18. Can I just check before I dive down a 2 year rabbit hole, has anyone written or are there plans by the devs to write a CPWizard style controls viewer for Launchbox?
  19. Prolly too late - but did you read this via the Help: http://magoarcade.org/docs/doku.php?id=software:typextra:start#command_line That shows you how to do the command line
  20. Hey - I wrote TypeXtra. I'm sure specifically how Lauchbox works, but you just need it to construct a command line from a set of 'ROMS' You create shortcuts for each game: http://magoarcade.org/docs/doku.php?id=software:typextra:start#shortcuts and then point your front end to it where it should treat shortcuts as roms. You can then setup TypeXtra as an 'emulator' and then send it a command line built from the 'romname' Sorry can't be more specific as don't use Launchbox, but sure someone here would know how to achieve this? Hope helps
  21. Seek and ye shall find. Emuline might be a good place to start.
  22. Sorry, but I can't. Not sure these are available anymore.
  23. I'm the author. My original deployment contained an GameLoaderAllRH exe by mistake. Google detected it and flagged it. I've since removed the offending article, but google are being d***s about it - I just cant get them to acknowledge the new builds as safe. If you try downloading it in other browsers - you'll get no such indicator. Also, scan it with windows defender - no issues. It's just google being arrogant and annoying. If you want to check I'm kosha - just search over on byoac and GameEx forums - I aint no hacker!
  24. Hi. Yes. Its developed a bit. Its essentially going to be a front end, but one that can also operate as an additional screens app too. Idea being other front ends can use it as just a controls viewer, say, via command line passing system and game. Its database is being built with launchbox in mind (all system ids correspond for instance). The trick is going to be matching the games in my db with those of LB. One that I would need to turn to the lb community for (essentially a mapping excercise). I wont post the project site here as that's poor form given its also a front end. Its fledgling in dev, looking for an alpha towards the end of the year.
  25. That won't be happening as game controls need to be accessible to all (think MAME controls.dat) rather than front-end specific. However, I am designing it to be compatible with the all the major front ends so will be coming to you Launchbox guys for any standards - I've already gotten hold of Launchbox system names + parsed the games database. It'll be stand-alone cmd-line driven. I'm more of a hi-fi separates guy
×
×
  • Create New...