alucryd / oxyromon

Rusty ROM OrgaNizer
Other
109 stars 13 forks source link

[Feature] Unattended Import #117

Closed maxexcloo closed 4 months ago

maxexcloo commented 4 months ago

When importing ROMs sometimes the tool will ask for an option - it might be nice to be able to auto select/skip to allow for long term unattended imports.

maxexcloo commented 4 months ago

When I set the GROUP_SUBSYSTEMS option to false it seems to have helped but there are still imports where it asks for confirmation.

alucryd commented 4 months ago

Auto selection is done to the extent of what's possible (size/crc, then it uses the file name if multiple matches are found), prompting should only happen when the file name doesn't match one from the database, which mostly affects arcade systems since those have many duplicate roms. It's also possible you'll be prompted if you have multiple DATs for a single system (mixing Redump and Non-Redump for instance).

I guess I can add a flag to just use the first match, or skip the file completely, however the former will have unintended effects, and the latter will still require manual intervention. I'll go with the latter.

alucryd commented 4 months ago

Implemented in https://github.com/alucryd/oxyromon/commit/d466ea089cf683f9dc4eb3132a4c1fc8e560d854 :)

maxexcloo commented 4 months ago

This is an interesting one - I definitely had a lot of issues importing disk based systems as some of the files match each other. Would it be possible to only import a full “set” for a game?

maxexcloo commented 4 months ago

I’ll try to find an example but sometimes certain tracks would match between games and even between systems for example.

TylerVigario commented 4 months ago

I concur with @maxexcloo that if you import roms and have multiple systems, you can get multiple matches requiring user intervention. I noticed this mainly with PS1 & PS2. That is when I found the -s argument useful, as it effectively reduces the same name matches to zero.

alucryd commented 4 months ago

Oh I see, I don't have very many PS1 games and those I do are just a single cue/bin, didn't realize there were so many multi-track games, no wonder you were having a hard time.

Not sure how to improve matching within a single system though, a few things come to mind:

Additionally I could also extend the rebuild-roms command to disc-based systems, not just arcade systems, and just fill the blanks with existing identical roms

maxexcloo commented 4 months ago

All those options seem pretty good - I unfortunately didn’t realise this problem (would never have guessed hash collisions were a thing!) and it seems to have messed up a few of my games on a big import, it would be a pretty awesome feature since I don’t think anyone else handles this!

alucryd commented 3 months ago

@TylerVigario @maxexcloo Just implemented part of my suggestions in https://github.com/alucryd/oxyromon/commit/3265f050e9fce25775c46f443a928b976a437dc2

import-roms will now keep track of the games that were imported in the same command invocation, if multiple matches are found it will automatically select one of them if they belong to a game in the list. I will next extend the behavior to games that have been partially imported in a previous invocation using the database.

I have yet to test it in the real world, but it should already reduce the number of prompts for those pesky colliding systems.

maxexcloo commented 3 months ago

Fortunately I’ve fixed up my game library so I can give this a shot over the coming days - in the past I had to disable the merge systems setting, would this fix up any problems I had with that also (if not, can leave a report for that!)

TylerVigario commented 3 months ago

I'm in the same boat as @maxexcloo, but I still need to switch a few systems (Arcade, PS3, etc.). I'll give Arcade a shot shortly, as this seems to fix my blocker for importing that system.