emmercm / igir

🕹 A zero-setup ROM collection manager that sorts, filters, extracts or archives, patches, and reports on collections of any size on any OS.
https://igir.io/
GNU General Public License v3.0
363 stars 18 forks source link

Make igir report work without roms #1111

Closed IDmedia closed 4 months ago

IDmedia commented 5 months ago

Is your feature request related to a problem?

I'm building a tool that takes a DAT file and filters it using Retool, then it creates a report using igir before and after trying to move and clean my rom dirs. That way I have a fully automated solution that builds 1G1R sets. The problem is that the report function doesn't seem to work unless there is at least one rom present. If no roms exists, it exits with an error saying no roms where found. The preferred outcome should have been an empty report with all roms set to missing.

Describe the solution you'd like

Would it be possible to make the report-command work without any files in the '--input' directory? It could log that no files are found, but it should still create a report. That would make it easier to figure out what roms to look for as you wouldn't have to find the first one by hand in order to create the initial report. In my case it would allow me to drop all DATs in a directory and run my script in order to filter and create reports for each systems of what roms are wanted without having any of them.

Additional context

No response

emmercm commented 5 months ago

I think this is a reasonable ask, I'll have to think about how best to implement it.

As an aside, I'm curious about what manipulation you're doing with Retool? igir report respects any 1G1R options provided.

IDmedia commented 5 months ago

As an aside, I'm curious about what manipulation you're doing with Retool? igir report respects any 1G1R options provided.

It seems to me that Retool (unfortunately no longer maintained) does a way better job then any other tool on generating a true 1G1R romset thanks to the additional metadata (retool-clonelists-metadata). I've only testet with the default "No-Intro Love Pack (Standard) (2024-05-02).zip" DATS and not the XML version yet. However, I would assume that the Parent/Clone data also isn't very good. I guess that not all "clones" are copies of the same game. Some are essentially a new game even though it's marked as a "clone" (especially true for MAME).

I've tried igir's 1G1R feature like this: igir move clean --dat ".\dats\" --input .\import\ --input .\games\ --output .\games\{romm}\ --single --only-retail --no-bios --no-unlicensed --prefer-verified --prefer-good --prefer-revision-newer --prefer-language EN --prefer-region WORLD,USA,EUR,JAP

However, it still includes multiple versions of the same game like this (Nintendo 64): 1080 Snowboarding (Japan, USA) (En,Ja).zip 1080 Snowboarding (USA) (En,Ja) (LodgeNet).zip All Star Tennis 99 (USA).zip All Star Tennis '99 (Europe) (En,Fr,De,Es,It).zip

and it also seems to struggle with translated titles such as: AeroFighters Assault (USA).zip Sonic Wings Assault (Japan).zip Bomberman 64 - The Second Attack! (USA).zip Baku Bomberman 2 (Japan).zip

Screenshot: image

Edit: When I take N64 as an example I get 533 games using the parent/clone XML files with IGIR. When using the same filters with Retool I get 388 which is the correct number of games according to Google.

emmercm commented 4 months ago

A few points on our aside-

I would use parent/clone releases from No-Intro, not the standard release. No-Intro does a fairly good job with their clone lists from what I've seen. If you use the standard pack, Igir will run its parent/clone inference, which will never be as good as clone lists.

For other release groups such as Redump and TOSEC, I agree that Retool is likely the best tool for the job. It's still being maintained, there have been multiple releases in the past month.

For Japan, JPN is the right abbreviation. I'll see if I can add validation there.

unexpectedpanda commented 4 months ago

It's still being maintained, there have been multiple releases in the past month.

That was me cleaning up as much as I could before I put down the tools, and one more release as a bug fix after someone asked nicely. It is no longer maintained.

github-actions[bot] commented 3 months ago

:lock: Inactive issue lock

This issue has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.

Comment generated by the GitHub Lock Issues workflow.