Jump to content
LaunchBox Community Forums

Nixx

Members
  • Posts

    139
  • Joined

  • Last visited

Everything posted by Nixx

  1. Nixx

    Save state manager

    I pushed a new BigBoxProfile version online, and i have made a tuto just for the Pause Menu. I do not go into technical details, just to the point. It should work. Let me know if you have errors or bugs. (and don't hesitate to screenshot) https://github.com/nixxou/BigBoxProfile/releases/tag/V2.0 The pause menu itself is just html & javascript code, where i added the ability to make ahk call though ajax call, so someone motivated can redesign it from scratch, add thumbs screenshots or stuff like that. For me, the idea behind is that for some emulators, i want to add extra menu entry (like for example, switch between rumble pack and mempak on N64) and launchbox don't let me do that. On the menu, Defaults gamepad controls should be Start to activate a menu option, up/down to navigate, left/right to adjust the volume. While on the menu, gamepad works only with the html code (so in my html file, i'm using this one https://github.com/kallaspriit/HTML5-JavaScript-Gamepad-Controller-Library/ ) On the bigbox profile module, when you set up the controller bind, it only work with Xinput controller 1 for the moment. Otherwise, you have to use keyboard bind. The Pause module support Start and Stop display, but i did not bother coding a html page for that. If you confirm that my code works, i can go into more details about how it works and what the options are doing.
  2. Nixx

    Save state manager

    Well, i can put together an alpha version and an "how to" video, but since i don't have userbase, i can't garantie this work out of the box and i would probably need some feedbacks to correct potentials bugs.
  3. Nixx

    Save state manager

    I do this with BigBoxProfile third party app, but the module for that is not release yet. btw, i can also use it to manage sound from pause menu. https://streamable.com/21wl3a
  4. I have a beta version of the dll, but i made important change and while it's working on my computer, i'm not sure it works totally fine. If someone can test, just replace the Quickbox.dll by this one. I also added an option to show a youtube player if there is no video, it does not always works though since it rely of the embed video of youtube and those can be block (like if there is copyright music) QuickBox.dll
  5. Ahhh, i guess i found an issue where a link the VLC dll with an hardcoded path. Not sure if that's what make you crash, if you can dl the last version and retest....
  6. The plugin needs the 4.8.1 .NET framework installed ( https://dotnet.microsoft.com/en-us/download/dotnet-framework/net481 ) and the files needs to be inside Plugins\QuickBox. If the problem persist, do you have an error message that show up ?
  7. QuickBox View File I love Launchbox, but the UI is too slow and don't feel responsive enough to my taste. So i made an alternative UI, good enough for me when i'm browsing game on Desktop. Submitter Nixx Submitted 10/25/2023 Category Third-party Apps and Plugins  
  8. Version 1.1

    109 downloads

    I love Launchbox, but the UI is too slow and don't feel responsive enough to my taste. So i made an alternative UI, good enough for me when i'm browsing game on Desktop.
  9. Starting to slowly move from a Poc to an Alpha. - Icons added to the tree on the right side. - On form resize, the content should resize too. - Hide Launchbox on start (i guess this should be added as an option, but i'm not here yet), Button to show Launchbox. - Right click on a game show a context menu Play, Play With and Play Version. - If you modify column size or hide them, the config will be saved on close and restored on launch. Todo : Config windows The boring part where i have to fill all the missing column Show game info on the right part of the screen when selection change (right now, i only show the clear logo) QuickBox.zip
  10. An other slighly better poc, i will update the original post when i have the time. Loading time should be better when you click on Categories. (for me, it's instant) Release.zip
  11. I was thinking of a plugin, but that's maybe too much to handle for me, so i make this post. I love launchbox and bigbox, but for me, the speed is the main issue, especially on launchbox with big collection. I'm wondering if that would be a good idea to make a Light Version of the ListBox mode of Launchbox. Like using a simple winform instead of fancy theme, the platform category tree on the right, the list of game in the middle, and on the right the game detail. And on right click on the game, just the Play, Play with and play version. It's an idea that's on the back on my head from quite some time, but the balance between the amount of work needed and the inconvenience of launchbox slow speed make me wonder if that's worth the trouble. Since i'm curious, i made a quick poc. Just loading all the games in a list, allow filtering and launch the game on double click. It's not like a pre version of something, it's just few lines of code put together, but if you have big collection, that the sort of speed i would expect from browsing with a ListBox, and right now, with launchbox, i'm far from that. This is my poc, loading a 40K game library, just to show how smooth the listing, scrolling, filtering is. (Edit : Updated to the last version) the poc plugin is liked to this post if you want to try. Release.zip So, is it a totally messed up and weird idea ? Edit : To clarify, the idea is not to make a standalone tuned-down version of launchbox, but something that work as a plugin and just use data from launchbox api. When you launch a game, it launch it though launchbox. The thing i have in mind is to have a key combination that toogle the Light-Version and hide the original launchbox window and vice versa.
  12. Ok, i'm progressing on my pause menu. Not ready for production yet, and i'm focusing on basic features for now. Edit 2 : And for the demo, that's an html i made just for retroarch, with the ability to choose the save state. All is done within the html file, so that's the interest of my project, it's totally configurable. Inside my html page, i have a javascript function that make an ajax request with some ahk code in parameters to get the savestates files.
  13. click again on the app uninstall it. If you want to manually do it, you can delete in the registery : HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\rpcs3.exe But can you tell me what kind of event led to this error ? I mean, my app use the iso only when you launch them with rpcs3, so i don't really understand your issue.
  14. Now, there is an other module i'm working for what i would really needs testers and people experimented with webdesign. It's a PauseMenu (who also do Start & End Menu). It's not finish yet, but i'm getting close. The main idea and the big difference with other tools is that it just load an HTML page. Except for Pause & Resume ahk code (that are loaded before and after the pause menu show up), all ahk code must be directly called from the HTML file. (a call to href="ahk:<codeinbase64>") So, you want to add a menu option ? No problem, you just make a custom html file for your emulator and you add a button. Also, the html page can have part of the content replaced with the Variable (i mentioned earlier on the remplace module). So things like remplacing the title with the game name is simple. And you can do some advanced stuff like make a submenu that list retroarch savestates. For now, i'm not done, and i'm not the best to make great design. I tried to put some html code together to make some sort of template, but it's just an exemple, since it's just html code, you can do whatever you want. http://virtunys.free.fr/demopause/
  15. So, i forgot to go back talk about the replace module rewrite. At this core, this module is really simple, it's one of the core module and his role is to alter the command line. I expended quite a bit this module and now, it can also alter files. Paired with the HID detection module i talk earlier, it make it possible to do stuff like altering emulators config files before the emulator launch. Now, honestly, the module is quite complex and i will not go deep, just give a few exemples. Like with simple64, i have an xinput controller that need to use a different button layout than my other controller. I use the HID module to add a command line with --controller1= and give me some info like the controller name, the SDL id, etc (simple64 use the SDL and the config file need a numeric index and the controller name) To replace for my controller 1, i use that : And Variables is a bad choice of words, it's more like Macros. It's just text that will be search and replace. Those can be used in the Search/Replace With or Even the file Name. Like here for exemple, in my "Replace With", {PAK} will be replaced by "Memory" if i called simple64 with a --mempak argument, or it will be replaced by "Rumble". And you can do some complex shit, like feed the content of the variable with content of other text files, or even generate them with ahk code.
  16. @Chadmando I'm just starting to look it at and it's a really great contribution. Thanks a lot. I was a little fed up by the Pause Menu on launchbox, especially since it doesn't wait the end of the execution of the AHK pause script to launch and i had for a emulator a specific sets of actions to do prior to show the pause menu. Citra in my case, the pause menu don't show if fullscreen, so i have to unfullscreen first, then once not in full screen hit pause (if you pause before, you can't change fullscreen status) and only then show the pause menu. Thanks again for your contribution. Your soft is a great. I still have few question if you're still around : Is there a way to add custom menu entry ? Could be usefull for some emulators, like for exemple add a "Switch beetween Mempak and Rumble" on N64 Can you open the source of your software ? So if we need a feature, we could add it.
  17. Future update sneak preview : I'm working on a new module, and it's so complicated that i will have an hard time to explain. But basically, if you put your mind into it, you can do some nasty shit. My goal is to be able to play my emulators with watever gamepad, wheel pluged, if my siden lightgun is plug in, activate border and stuff like that. Like in retroarch, the emulator is doing a fine job, if a controller is plug, it doesn't care with one it is, and use it as player 1 controller. Now other emulator like RPCS3 it's an other story, if you set player 1 to use a DS4 controller, but you try to play with only a Xbox controller plugged, that will not work. So, i have a new module called HID Device Detector : So... the goal of this module is to detect if some device are plugged and if yes, add extra command line parameters. Let's start with a simple exemple, let says i have a Siden Light Gun, and if plugged i want to add --useconfigfile="mysidenconfig.cfg" to the command line. If i plug my siden and i use the HIDSHarp lib and the test button, i will see thoses two lines : SindenLightgun<>5824<>3841<>\\?\hid#vid_16c0&pid_0f01&mi_02&col02#c&1a2833ba&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030} SindenLightgun<>5824<>3841<>\\?\hid#vid_16c0&pid_0f01&mi_02&col01#c&1a2833ba&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}\kbd So, i add that on the list, and i'm pretty much done : When i click on the Test Config button, i have : Now, this is a simple usecase, the main goal of this module is not really to get the final exe args that your emulator is gonna use, but generate args that other modules (like ahk module or replace module) will trigger. For exemple, for lightgun, you might want those args added --lightgun1=SidenBlue --lightgun2=SidenRed and if none of your siden are pluged --lightgun1=Mouse. And then, on the replace module, we will later detect those arguments and change your emulator config files. So instead of adding the gun as Device Type other, let's add it as lightgun. On the global config, you can see : So arguments added with start with --lightgun and there will be a maximum of two args added, so, --lightgun1= and --lightgun2= For my blue lightgun, i want to match this line : SindenLightgun<>5824<>3841<>\\?\hid#vid_16c0&pid_0f01&mi_02&col01#c&1a2833ba&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}\kbd My blue lightgun, always have this part "c&1a2833ba&0&0000" and i will use it to differenciate for my red lightgun. So here i use a simple regex, as a side not reged as matched line by line. Now if i click test, i have : Now i can add my SidenRed : And let's add my Razer Naga Mouse : I end up with : If my Blue Siden Gun and plug, my Red is not and my mouse is pluged, it will go over each one (you can use the up/down button to alter the priority) and i will get : If i unplug all my siden gun, i will get : Later in this post, i will explain how to use those args and do stuff. So, i will now give you an other exemple. I use RPCS3, my main controllers are two DS4 controllers. Usually, i have DS4Windows activated, so it generated two virtual XINPUT controller. The easy thing to do would be to bind Player1 to XINPUT1 in RPCS3 but when i use DS4 controller, i prefer to bind it as DS4 rather than XINPUT (for motion control support for exemple) Sometime, i do not have any of my DS4 controller plugged and i use a regular XBOX 360 controller (or a device regnized as such, like when you do remote play and it create a virtual controller) Ok, so let's view the library data with 3 controllers (two DS4 and a X360 controller plugin) : I'm using the DS4Lib and XINPUT library, also, i point to the DS4Windows log folder so i can have extra data for XINPUT controller that are virtually create by DS4Win for my DS4 controllers. I will start by catching my two DS4 controllers : So, right now, if i add that and click on TestConfig, i will get : And now for XINPUT i will use that : On my regex, i capture the XINPUT slot number, i also want only XINPUT Gamepad, no arcade stick or wheel, and i want to excluse the lines with DS4WIN. On the suffix arg, i use XINPUT\1, the \1 will be replaced by the first regex match, so if my controller is using the xinput slot 3 i will have XINPUT3 And i increase the max match count, because this regex can match multiple time. If i test, i have now : And if i unplug my ds4 controllers i have : Next, i will go over the replace module to use thoses parameters and do some stuff. But i'm out of time right now.
  18. I'm not totally getting it, the game archive is just an archive ? There is no logics like saving registry keys, app data files and such ? Most of PC games works with just the game folder ? Also, for PS3 pkg i do something similar, but i use vhdx container that i can just mount instead of extracting. (but it take more space)
  19. Well, if someone wants to test : How to use : 1- Import your tp xml files inside UserProfiles as rom, scrape as Arcade 2- Go to tools -> "TecknoParrot Simple Import", select the platform you just created and your TP folder (the root folder of tp), Click Update. Now : - Some data will be fetch from the xml and json files of tecknoparrot : The game name, the release date, the genre, if it's a light gun game, and the plateform system. Genre is only updated if it's not already set, except when it's a gun game where i made sure to have Shooter / Gun as genre (To be sure thoses are included in lightgun playlists) The arcade system is set as Source - LaunchboxDbID is updated according to a file shipped with the dll : databaseTP.json. Note that's even without it, most of the game can found a match with the Game title alone. Maybe in a future release if my tool grab some interest, i will add a button to generate the databaseTP.json file so user can post updates in the forum. If a game already have a LaunchboxDbID and it doesn't match the new one, all current metadata for this game are scrapped. (One exemple is Batman row thrill, when added as Batman.xml, it's matched with a wrong game, so by clearing the meta we make sure that future update "without replacing existing metadata" are gonna update it) 3- Select all your games, Download -> Update Metadata and Media for selected games without replacing existing metadata. And you're done. TeknoparrotSimpleImport.zip
  20. I have a personal tool i'm using, idk if some are interested and i should polish it a little to post it or not. https://streamable.com/484kza
  21. Also, if your wondering if that complicate to install, the answer is just no. Let me give you citra as an exemple : So, step 1, you check if your bezel works fine with retroarch Step 2, you install reshade (i use vulkan because that what i set on citra) Step 3, you press Home to go the the reshade menu and activate Bezel.cx. That's all folks, if you launch a game though launchbox you will have the game related bezel that will show.
  22. Or you can just put the png file of your bezel in your reshade texture folder and use Layer.fx, no need for an addon for that.
  23. This one is in Beta, need some test before put it in the download page. BezelMaster_v1.2beta.zip Changes : Now i give a Bezel.fx, should be auto copy when game launch if not present in the shader folder. (You still need to manually install reshade and activate it) This shaders have extra option to adjust the bezel, for some console, (it's useful for gamecube) Settings are saved per game and stored as a custom field. (when you close the emulator, if the settings are not the same as the default one, it will save them) Default Settings can be set by plateform with a configuration menu : Also, two global option, the first one is to use symbolic links instead of copy the bezel png file. But to make it work, you have to enable symbolic links for users in Windows policy The second just disable the whole Bezel for reshade stuff and just use the plugin to have better retroarch bezel matching.
×
×
  • Create New...