Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Feature] Enhancing romM with ES gamelist.xml Integration #821

Open
silkyclouds opened this issue Apr 20, 2024 · 4 comments
Open

[Feature] Enhancing romM with ES gamelist.xml Integration #821

silkyclouds opened this issue Apr 20, 2024 · 4 comments
Labels
feature New feature or request

Comments

@silkyclouds
Copy link

Is your feature request related to a problem? Please describe.

  1. I have noticed that IGDB fails to match a significantly high number of ROMs, likely because the platform is not specialized in retro gaming.
  2. Many gaming systems are not recognized at all.
  3. This results in a cluttered interface filled with numerous missing games and unsightly "game not found" logos.

image

Describe the solution you'd like
Romm should integrate the ability to utilize well-known, well-documented, and widely adopted ES gamelist.xml files. For more information on what gamelist.xml files contain, see: https://github.com/Aloshi/EmulationStation/blob/master/GAMELISTS.md

Additionally, I am attaching a compressed gamelist.xml file for the 3DO platform as an example, since GitHub does not support uploading XML file formats directly.

The gamelist.xml file includes detailed information for each game, descriptions, and links to both image and video snapshot files. These media files can be easily scraped using nearly any emulation station-based retro gaming frontend and specific tools like Skraper.

Given that complete sets containing both the gamelist and all pre-scraped video and image media are readily available online, it would be prudent for romM to add a feature that enables it to parse the gamelist.xml file, if present, located next to each ROM type in their respective folders.

If the gamelist.xml file exists, romM should read its contents, verify the existence of the ROM in the folder, identify the video gaming platform it is linked to, and automatically retrieve the pre-existing media files from the images and videos folders.

Ultimately, this would allow for an instantly organized and pre-scraped web UI for romM users, eliminating the need to connect to IGDB.

This project simply involves adding an XML parsing feature to romM and seems straightforward to implement.

Technical Implementation Details

File Detection and Parsing: Develop a module within romM that scans each ROM folder for the presence of a gamelist.xml file. Use an XML parser to extract data, including game details like title, description, and media links.

Verification and Association: Verify the corresponding ROM file exists for each XML entry and map game metadata accurately.

Media File Management: Automatically retrieve and link image and video files from specified directories within the romM file structure.

User Interface Integration: Enhance the web UI to display images and videos dynamically, using data from the gamelist.xml.

Describe alternatives you've considered
I have explored various retro gaming platforms, including EmulatorJS, LaunchBox, and Batocera, each with their own strengths and weaknesses. However, I believe the web UI of romM is valuable and should be enhanced to become the premier web-managed ROM collection manager and online playable solution.

Additional context
Add any other context or screenshots about the feature request here.
gamelist.xml.zip

@silkyclouds silkyclouds added the feature New feature or request label Apr 20, 2024
@spcano01
Copy link

Would be a huge feature!

@spcano01
Copy link

ROMM documentation said it's compatible with Emulation Station, but does that mean the older version or ES-DE? It definitely seems to be different than ES-DE, as it puts gamelist in rom folders and has game folders for media vs media types.

I will still use this, just making sure it's not renaming anything and use it for clean and easy retro emulatorjs.

But this could be the one with adding ES-DE compatibility and perhaps Screenscraper.fr (with paid authentication)as a scrapper option.

@gantoine
Copy link
Member

But this could be the one with adding ES-DE compatibility and perhaps Screenscraper.fr (with paid authentication)as a scrapper option.

True ES-DE compatibility will come one day, probably 6 months out from that as of today. And yes we're planning a ss.fr integration shortly, just need to find the time to build it...

@spcano01
Copy link

Awesome kit, thank you!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature New feature or request
Projects
None yet
Development

No branches or pull requests

3 participants