Jump to content
LaunchBox Community Forums

int3

Members
  • Content Count

    21
  • Joined

  • Last visited

Community Reputation

15 Good

About int3

  • Rank
    8-Bit Processor

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. Hey @ajstrobus, sorry you having these problems. I didn't have time to work on this tool lately but I'll try to explain how it works and maybe we can figure what's happening For option 1 it gets the filename (without extension) from launchbox xml ApplicationPath so, for example, your first launchbox entry is <ApplicationPath>D:\Games - Emulation\Commodore Amiga\Roms\SteelEmpire_v1.1_1659.zip</ApplicationPath> ... <Title>SteelEmpire v1.1 1659</Title> it gets -> SteelEmpire_v1.1_1659 and searches on hyperspin xml finding <game name="SteelEmpire_v1.1_1659" index="" image=""> <description>Steel Empire</description> now it updates launchbox <Title> with hyperspin <description> values this option works without reading any rom file, only the two xmls. The problem you got "An item with the same key has already been added" is probably because you have some game with exact same name as .lha and .zip in your launchbox xml. When I coded this I assumed all names are unique and I'm not checking if a name its already added before trying to add again :X ----------------- For option 2 it first reads all filenames (.zip and .lha) from AmigaBox\Games, then it runs ArchiveUtil.exe and checks its output to update launchbox xml <Title>. ArchiveUtil.exe uses the exact code fs-uae uses to import games (I extracted from their source) so it should recognize titles for any game fs-uae can import with a scan. It reads files/folders names inside the .zip, creates a unique id and tries to find this id in Launcher.sqlite to return the title. (You can test double clicking ArchiveUtil.exe). The thing is fs-uae can run games directly from .zip and .lha even if it can't find them on its db. And if fs-uae can't recognize a game with a scan then my tool will also not return any titles for that game. Just remember .lha is not working in option 2 for now. If you have a .lha file in AmigaBox\Games, ArchiveUtil.exe will close and not process the rest of the files. ----------------- If I remember correctly the way fsuae exporter works is, you first scan (import) your games to fs-uae, then point it to some .db to get the titles to create the folders, etc. My tool uses the same code from fs-uae skipping the part you have to import to emulator first, so it should get you the same number of titles as the exporter, and in the end, get the same number of artwork (or more) if you're using launchbox database to scrap. I'm not sure why you getting more media using the exporter. ----------------- Anyway, I think the best option, for now, to have an amiga set without duplicates and the most media you can (if you don't mind having some older dumps of games) is getting the hyperspin rom set (1954 games), using option 1 with the latest hyperlist xml (it will match 100%), and scrapping media from emumovies (I use emusync and copy the files to launchbox later)
  2. hey @jophran , to be honest I did not try with .lha files before posting, only .zip. tried now and it's broken for .lha I will try to fix later but for now, what you can do is convert your .lha files to .zip just so the tool can read them one way of doing it is using peazip portable -> https://portableapps.com/apps/utilities/peazip_portable - rename your AmigaBox\Games to AmigaBox\Games_LHA - create new empty AmigaBox\Games - open PeaZip, click Convert - select all files in Games_LHA and drag to PeaZip - in 'Output' click '...' and choose AmigaBox\Games (it appears to be changing for only one file but it's for everything) - click 'OK' after you convert everything, if you run archiveutil.exe again you should see something like this then you can run AmigaBox again to rename. you need the zips to get the info and rename launchbox titles but you can delete them later and keep only the .lha files you already imported to launchbox. if you have any other problems just ask
  3. What I meant is the media for Amiga is stored in hyperspin naming on emumovies ftp as you can see here I just tried using the exporter again and scraping with LB + emumovies... while it did a much better job than emusync + folder (title), it was worse than emusync + filenames ... it found 1442 videos (as opposed to 1727). LB is doing some kind of guessing as I suspected and while it's easy to match this title "Wings of Death" to this file "WingsOfDeath_v1.01.mp4" on the ftp and rename, it couldn't find games like "The Simpsons: Bart vs. the Space Mutants" which is named "BartVsTheSpaceMutants_v1.1_2Disk_0884.mp4" on the ftp. And if you're using the exporter it simply don't know the rom name to try.
  4. @Zombeaver ok maybe it's not "much easier" like I wanted to believe but I see other advantages... I like to keep all my rom files in LaunchBox\Games\Commodore Amiga\ like every other system I have and the emulator pointing to the game, etc. but I know it's a little too much OCD of me... you don't need to import the games to fsuae (small thing) when I tried the uuid exporter, first problem I had was it was exporting 1918 uuids and I have 1956 roms.. some games from the hyperspin romset are not imported to fs-uae so the exporter don't generate a folder/uuid for them but they work if you launch pointing to the file (I could try to find and replace the roms but it's a common romset to have I think) you sure about emumovies scraping just fine? they follow the names for the hyperspin xml... when I tried to scrap using emusync (should be the same for lb) using folder names generated by the exporter I got 100/1956 videos ... using the filenames I got 1727/1956 unless using lb to scrap emumovies does something different I can't see how it would work the same using the exporter, since there's no reference to filenames in launchbox doing that way (maybe it can match a few name patters like the 100 videos I got) well if I can't "sell" the advantages at least I don't see any disadvantage
  5. @Zombeaver please take a look at my solution for Amiga here when you have the time
  6. I think @Jason Carr forgot to add GetSelectedPlatform(). I'm on 9.8-beta-10 and cannot see the method :X But when it gets added I'll post a new video
  7. For some time now, using dev versions of fs-uae we don't need to launch a game using uuid for it to find the correct launch parameters. If you pass a file path, it auto-generates the uuid and tries to match to its DB. (https://github.com/FrodeSolheim/fs-uae-launcher/blob/master/launcher/launcherapp.py) So now we can simply get the latest portable version here -> https://fs-uae.net/download-devel#windows , update the games database, add the emulator to LaunchBox and import all our .zip/.lha games (bonus in doing like this is if you have the HyperSpin romset you get LOTS of media matching from emumovies) Problem now is all your titles will be file names and you can't get any meta from LaunchBox DB. To fix this I created a simple tool that extracts the titles from a HyperList or the FS-UAE DB and replaces in your LaunchBox DB, here's how you use it: First, import all your Amiga games to LaunchBox and close it. Next copy LaunchBox\Data\Platforms\Commodore Amiga.xml to AmigaBox\LaunchBox\ If you have the HyperSpin romset and want to get the titles from a HyperList, download "Commodore Amiga.xml" from here https://hyperlist.hyperspin-fe.com/ or get from your HyperSpin, and copy to AmigaBox\HyperSpin\ Run AmigaBox.exe, press 1 If you want to get the titles from FS-UAE DB, open FS-UAE and update the game database. Now copy FS-UAE\Data\Databases\Launcher.sqlite to AmigaBox\FS-UAE and all your game files to AmigaBox\Games (it's needed to generate uuids and get the titles) Run AmigaBox.exe, press 2------------ Now copy and replace the generated file to LaunchBox\Data\Platforms\ Open LaunchBox, click Commodore Amiga, Ctrl+A to select all Games, Tools, Download Metadata and Media... And you can uncheck all media and get only meta if you want. In the end you get something like this AmigaBox.zip
  8. I'm not sure what kind of links I can post here but search for "HPPC2.Full.System.Install", it's a 12gb download. Extract and go to HyperPC\Attract\menu-art\snap and search in the folder for "Collection". You get 47 videos 720p you can use for the playlists Edit: you also get the wheels from \menu-art\wheel
  9. @Jason Carr only problem in using SystemEventTypes.SelectionChanged is I don't have a way to get the currently selected platform (from the platforms view). It fires when I open BigBox and when I move up or down, but since there's no game selected I can't use PluginHelper.StateManager.GetAllSelectedGames()[0].Platform. Maybe if you add a GetSelectedPlatform() to StateManager?
  10. @Jason Carr glad you like it. I'm attaching a small code I tried now, it only generates the log for the SystemEvent :X BigBoxPluginsTest.cs
  11. @Jason Carr hey jason is there any way to get the platform selected from the platforms menu? I'm getting the platform from the game with SystemEventTypes.SelectionChanged -> GetAllSelectedGames()[0].Platform but I wanted to change colors from the platforms menu Looking at the api I see IBigBoxThemeElementPlugin.OnSelectionChanged but it doesn't seem to be firing or maybe I'm doing something wrong (not sure if I'd have to handle OnUp(), OnDown(), etc) The idea is when I open BigBox or go to "View Platforms" get the currently selected platform, and when I move up or down get the newly selected, etc. Thank you
  12. Maybe I'll do a full plugin with a revised code after all
  13. Ok first let me say I'm doing everything the lazy way docs -> https://www.yeelight.com/download/Yeelight_Inter-Operation_Spec.pdf - you have to activate lan control from the app - the lamp will listen on 55443 for raw tcp json commands (NOT http) (philips hue, for example, you send commands via http post) the recommended way to start would be doing an SSDP discover on your network to get info about the lamp(s) (ip/port/etc). I'm just hardcoding the ip I get from the app/router. I'm also not checking for any server replies so I had to put that sleep on shutdown, because it was disconnecting before powering off :x BigLight.cs
  14. I created a simple plugin to integrate launchbox/bigbox with my yeelight rgb. It kind of simulates a backlight (I have the bulb behind the tv) but I think it looks better, for this case at least The light turn on when I start bigbox, change the color based on selectedgame -> platform and turn off when I exit.. Here's how it looks right now I don't plan in doing a public release but I can share the code if anyone gets interested.
  15. Here is a starting point if someone wants to create this plugin public void OnSelected(IGame selectedGame) { var launchBoxPath = AppDomain.CurrentDomain.BaseDirectory; foreach (var emulator in PluginHelper.DataManager.GetAllEmulators()) { foreach (var emulatorPlatform in emulator.GetAllEmulatorPlatforms()) { if (emulatorPlatform.Platform == selectedGame.Platform && emulatorPlatform.IsDefault) { WshShell wsh = new WshShell(); IWshShortcut shortcut = wsh.CreateShortcut( Environment.GetFolderPath(Environment.SpecialFolder.Desktop) + "\\" + selectedGame.Title + ".lnk" ); shortcut.TargetPath = launchBoxPath + "\\" + emulator.ApplicationPath; shortcut.Arguments = emulatorPlatform.CommandLine + " \"" + launchBoxPath + selectedGame.ApplicationPath + "\""; shortcut.WorkingDirectory = Path.GetDirectoryName(shortcut.TargetPath); shortcut.Save(); break; } } } } It's working for my case where I have emulators and games relative to launchbox folder, and retroarch as default for everything. You'd have to check for absolute paths and other configurations and since I'm using the game title as the filename, remove/replace invalid characters, etc. Edit: for some reason after I refresh the page the "code block" is highlighting stuff as gray
×
×
  • Create New...