andrebrait / 1g1r-romset-generator

A small utility that uses No-Intro DATs to generate 1G1R ROM sets
GNU General Public License v3.0
213 stars 20 forks source link

unneeded ROMs #32

Open AlvaroBurnett opened 3 years ago

AlvaroBurnett commented 3 years ago

The following invocation:

python generate.py -r World,USA,Europe -l en --all-regions-with-lang -o out --no-program --no-enhancement-chip --no-proto --no-beta --no-demo --no-sample --no-pirate --no-promo -i roms -d "Nintendo - Game Boy (Parent-Clone) (20201106-150142).dat"

Results in the following two roms being included:

Fastest Lap (Japan) (En) Fastest Lap (USA)

In this case the Japanese rom should be ignored.

And these two roms are also included:

Mulan (Europe) (SGB Enhanced) Mulan (USA) (SGB Enhanced)

Don't know if I'm using the wrong arguments or it's a bug in the generator.

andrebrait commented 3 years ago

I'll look into it.

Just one thing: the regions in the arguments should be provided using 2-or-3-letter region codes, like: -r USA,EUR, not like -r USA,Europe. World is not a region itself (it just means "USA, Europe, Japan"), so ROMs with World in the name are candidates for both USA, EUR and JPN.

Can you upload the DAT file you used?

AlvaroBurnett commented 3 years ago

Oh OK. Thanks for the clarification. Here is the DAT.

Nintendo - Game Boy (Parent-Clone) (20201106-150142).zip

andrebrait commented 3 years ago

The fault is in the DAT, unfortunately.

Neither of these games have a cloneof field, so I cannot know for sure they're the same game in multiple regions. This is something you need to report to the No-Intro group if you're 100% sure these games are the same.

If you open the DAT in a text editor you can see that the entries for these games lacks the information the tool needs. There's not much I can do in this case, because name alone is not enough to properly identify a Parent-Clone relationship.

AlvaroBurnett commented 3 years ago

Thanks. I will report it to the No-Intro group. Congratulations for making this great tool. I like it so much that I'm considering rewriting it in C++ to get rid of the Python dependency :-)

andrebrait commented 3 years ago

If you're going to rewrite something, than this might be a better idea: https://github.com/andrebrait/DATROMTool

It depends on Java for a few reasons (one being abundance of libraries, platform independence and the fact I'm a full-time Java developer so it's much easier for me to just code stuff in Java).

It currently already works to do the same stuff as this tool does, but it's much more modular and will even have a GUI in the future. I still need to enhance test coverage and other stuff, though.

AlvaroBurnett commented 3 years ago

Cool. How does it work? Should I invoke cli/src/main/java/io/github/datromtool/cli/DatRomCommand.java and use the same command line arguments as with your python tool?

andrebrait commented 3 years ago

Yes, basically that, but not the same arguments. You can pass -h and check out the options it currently has.

Progress bar is still ugly, but it works.

I'll have the maven assembly plugin generate an executable jar later on. For now, if you can get it to build you can invoke the class, as you said.

On Tue, Nov 17, 2020, 20:14 Alvaro Burnett notifications@github.com wrote:

Cool. How does it work? Should I invoke cli/src/main/java/io/github/datromtool/cli/DatRomCommand.java and use the same command line arguments as with your python tool?

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/andrebrait/1g1r-romset-generator/issues/32#issuecomment-729143613, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABLX5ORSC6K2LHFCE6EAG3DSQLDS3ANCNFSM4TYNKGRQ .

andrebrait commented 3 years ago

You have to build it with maven first, though.

On Tue, Nov 17, 2020, 20:20 André Brait andrebrait@gmail.com wrote:

Yes, basically that, but not the same arguments. You can pass -h and check out the options it currently has.

Progress bar is still ugly, but it works.

I'll have the maven assembly plugin generate an executable jar later on. For now, if you can get it to build you can invoke the class, as you said.

On Tue, Nov 17, 2020, 20:14 Alvaro Burnett notifications@github.com wrote:

Cool. How does it work? Should I invoke cli/src/main/java/io/github/datromtool/cli/DatRomCommand.java and use the same command line arguments as with your python tool?

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/andrebrait/1g1r-romset-generator/issues/32#issuecomment-729143613, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABLX5ORSC6K2LHFCE6EAG3DSQLDS3ANCNFSM4TYNKGRQ .