Jump to content
LaunchBox Community Forums

Add GameFolders option that groups game, variants, video, art, metadata in a single folder per game


BeemanDev

Recommended Posts

Presence of file "LB\Games\<Platform>\Platform.xml" => using games in sub folders named "LBGameName [year]" as per current import option (year is optional). Platform.xml may also contain metadata used to override the LB platform metadata on first import. Can be used to add custom platforms

Each Game sub-folder optionally contains a Game.xml file used to override metadata when the game is first added. File has <Game> tag with 1+ static fields (Completed, Developer, Favourite, Notes, Platform, Publisher,Rating, DatabaseID, WikipediaURL, Title, Version, Broken, Genre, ReleaseType, MaxPlayers, VideoUrl) (same as Game Tags in current LB\Data\Platforms\<platformName>.xml file). Can be used to add missing/custom games.

Each game folder also contains all the media for that game named MediaType_SubFolder (Subfolder optional)  eg "Box - Back_Japan.jpg" => equivalent to being at "LB\Images\Atari 2600\Box - Back\Japan\Space Invaders.jpg"

--Example file structure @ C:\Emu\LaunchBox\Games\Atari 2600\Space Invaders [1980]\
Box - 3D.png

Box - 3D-02.png
Box - Back.jpg
Box - Back_Hack.jpg
Box - Back_Japan.jpg
Box - Back-02.jpg
Box - Front.jpg
Box - Front_Hack.jpg
Cart - Front.png
Clear Logo.png
Fanart - Background.jpg
Game.xml
Manual.pdf
Screenshot - Gameplay.png
Space Invaders (Hack).zip
Space Invaders (Japan).zip
Space Invaders (USA).zip
Video.mp4
Video_Theme.mp4
Video_Trailer.mp4
Bezel.png

So, why do this? 
.Games/Meta are self contained so easy to quickly drag & drop game(s) from PC to other PC/android with all data to easily recreate

.Variants are auto-grouped together (as current with folders)
.No confusion over which rom or media LB is actually linking to. Easier to see what's missing and add new media.
.Game.xml file allows easy addition of missing platforms/games or media/meta packs to be shared. Platform.xml can be used to add new platforms.
.Leaves existing naming structures intact, just bolts on to top as simpler (imho) alternative file structure. 

Code-wise should be a lot easier than current, as files are all prenamed so all guesswork is eliminated. Just needs media location function to handle new location alternative.
Let me know what you think. Thanks for reading.

Edited by BeemanDev
Further simplification
  • Unusual Gem 1
Link to comment
Share on other sites

  • 3 weeks later...

It is there, original post says:-

eg "Box - Back_Japan.jpg" => equivalent to being at "LB\Images\Atari 2600\Box - Back\Japan\Space Invaders.jpg"

I've written code to do it now myself, using symlinks, can reverse process too. Injecting all the metadata in myself as LB importer did some things I didn't want, also Injects Game.xml/Platform.xml, copies Bezels to RetroArch, de-dups, lots of other stuff. Tested loads but yet to unleash on my real data. Temporarily side tracked, rewriting my MameSL importer I wrote a few years ago. Hopefully one day I can release it all, but don't hold your breath. This is revisit 3, over last decade to tame the emu beast.

Edited by BeemanDev
  • Like 1
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...