GithubHelp home page GithubHelp logo

andrebrait / 1g1r-romset-generator Goto Github PK

View Code? Open in Web Editor NEW
211.0 10.0 20.0 304 KB

A small utility that uses No-Intro DATs to generate 1G1R ROM sets

License: GNU General Public License v3.0

Python 99.51% Shell 0.49%
1g1r clrmamepro logiqx no-intro redump rom dat emulation roms romset

1g1r-romset-generator's People

Contributors

andrebrait avatar cscribn avatar gvbr avatar regiregi22 avatar xeretinha avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

1g1r-romset-generator's Issues

ROMs with no language specified are always skipped

ROMs with no language specified in filename are skipped regardless of the inclusion of the -l argument
Take for example, the complete Family Disk System romset. Using the following arguments:

python generate.py -r "JP" -l "en, jp" --all-regions-with-lang -d "@ dats/Nintendo - Family 
Computer Disk System (FDS) (Parent-Clone) (Parent-Clone) (20200310-115017).dat" -i "@ 
roms/Nintendo - Family Computer Disk System (FDS) (20200310-115017)" --no-all --no-unlicensed `
-o "! output/fdsc"

I only got the following ROMs as output:

Clu Clu Land (Japan) (En) (Disk Writer) [b].zip
Pro Wres (Japan) (En).zip
Vs. Excitebike (Japan) (En).zip

Omitting the -l argument outputs no ROMs.

DAT lack SHA1digests

I'm using the FBneo dat (arcade only) file found here

and when I try to create a 1g1r set, I get this error:
ERROR: Cannot use hash information because DAT lacks SHA1 digests for [ym2608]

Looks like the DAT file only contains CRC and no SHA1 or MD5 hashes.

Is CRC usage enough? or will SHA1 be needed in the DAT files?

Thank you, this is a really great tool you built here.

No P/Clone XML file

Hello there good fella!
Love your tool, very useful but I have a problem/question. Many of the game systems listed on datomatic.no-intro.org have not the proper P/Clone XML file which makes your tool not finding any 'duplicates'!
As an example I have a no-intro Commodore - Amiga Set that has many 'duplicates' such as Theme Park Mystery (Europe).zip // Theme Park Mystery (USA).zip

How do I fix this? Perhaps you can add an option to 'filter by file name/tag' or something without checking any DAT file. The closest thing I could find was this here https://github.com/NeoVidia/romfilter but I'd prefer something with your sorting algorithm.

My many thanks to you!

Roms with (World) are being preferred, even if they are clonesof.

I used this command:

python3 generate.py -r USA,BRA,EUR -l en --no-bios --no-program --no-enhancement-chip --no-proto --no-beta --no-demo --no-sample --no-pirate --no-homebrew --no-promo -d snes.dat

In the result, the program is choosing the rom Darius Force (World) (Darius Cozmic Collection).zip, even though in the dat file it is marked as a clone of the rom Super Nova.

I manually checked the CRC of the roms and they match what is in the dat.

Since I specified the USA region, shouldn't it disregard the World rom?

snes.dat.zip

Feature Request and Duplicates Found

First a couple of feature requests:

  1. DS games have additional attributes like NDSi Enhanced, WiFi Kiosk and Save Data, any chance to add some additional flags to remove/include these?
  2. Can you have it output a "new" dat file with the filtered set as an option? Rather than just move/copy a source ROM set? Reason is I want to generate a new XML that is suitable for use in HyperSpin, RocketLauncher and etc. I've already written a python script/program that takes a No Intro dat file and generates a database XML in the format expected. It also filters out any ROMs I do not have and the final list is a "curated" database of ROMs I have that match No Intro naming.

I'm going to attempt to modify the code and do this myself, though I'm not as skilled a programmer as you. Figured I'd ask...

Duplicates found in the NDS set.

command: python generate.py -r USA,EUR -d "Nintendo - Nintendo DS (Decrypted) (Parent-Clone) (20200319-065304).dat" --no-all

Who Wants to Be a Millionaire (Europe) (En,Fr,De,Es,It,Nl)
Who Wants to Be a Millionaire (USA)

World Cup of Pool (USA)
World Cup of Pool (Europe) (En,Fr,De,Es,It)

Not sure if there are others, but these are just scrolling up from the bottom with the output. Figure you may want to look at it.

By the way, great repo, I've attempted to write something that will do this but haven't had much luck, at least not as comprehensive as what you've done.

older rom is favored

When processing Genesis roms, the generator thinks that:

Lost Vikings, The (USA) (November, 1993)

is better than:

Lost Vikings, The (USA) (October, 1995)

AttributeError: 'xml.etree.ElementTree.Element' object has no attribute 'prefix'

I'm trying to run this on Windows, and it's throwing an error. I made sure I downloaded the parent/clone XML dat, I've tried pruning down the command line to just the regions and datfile (originally I was getting the same error with input & output folders and further filters, but I cut back to the minimum to test), and no luck. I also pulled up the datfile in a text editor just to make sure I hadn't downloaded the wrong one, and it does appear to be in xml format.

Here's the command I'm running and the full error text.

python3 generate.py -r USA,EUR -d "Nintendo - Nintendo Entertainment System (Parent-Clone) (20200127-000518).dat"
Traceback (most recent call last):
File "generate.py", line 831, in
main(sys.argv[1:])
File "generate.py", line 548, in main
filter_sample)
File "generate.py", line 249, in parse_games
root = datafile.parse(file, silence=True)
File "E:\1g1r-romset-generator-master\datafile.py", line 2840, in parse
rootObj.build(rootNode, gds_collector_=gds_collector)
File "E:\1g1r-romset-generator-master\datafile.py", line 1048, in build
self.ns_prefix_ = node.prefix
AttributeError: 'xml.etree.ElementTree.Element' object has no attribute 'prefix'

Edit: Just tried on my MacBook, redownloaded the datfile using the link on the Wiki page directly, and get the same error.

Virtual Console / Gamecube Edition filtering?

In the No-Intro NES set, there are Virtual Console re-releases and Gamecube Edition(I believe from Animal Crossing) re-releases. I couldn't find a way, outside of regex to filter these. Any consideration to making this a filter flag?

unneeded ROMs

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.

[Feature Request] Generate filtered DAT file

Hello, thanks for this tool. It's exactly what I was looking for to trim my collection to 1G1R sets.

Would it be possible to have an option to generate a filtered DAT file given a DAT file? It would really help when you're starting from scratch using a ROM manager. You'll also get lists of missing ROMs.

extensions cannot be used when scanning

Hello,

I tried using your tool but I get an "extensions cannot be used when scanning" error.
Here's the command I used:

python generate.py -r USA,EUR,JPN -l en -e zip --exclude "Virtual Console,GameCube" --no-all --all-regions- -d "../Nintendo - Nintendo Entertainment System (Parent-Clone) (20200405-041607).dat" -i "../Nintendo - Nintendo Entertainment System" -o "../NES"

Of course, I tried removing the extension, but it turns into a invalid DAT file error.

Any idea on why this happens?

Thank you!

Unzipped ROM files will create a parent folder

I have all my genesis roms unzipped in one folder. When I execute the generator, it creates for each .md file a folder within the .md rom file. I may go around this with: -e md --no-scan, or I think it will work when I use a zipped rom set.

Is it possible to scan the unzipped rom set and then no creation of a parent folder?

--all-regions-with-lang ignoring parent-clone data

I'm using a version downloaded sometime last month - this might be fixed in the new version, I'll have to check later.

Issue:
When using the --all-regions-with-lang option the tool is allowing clones of an already accepted file to pass.

Example/Procedure to Duplicate Issue

Using SNES parent-clone DAT from DAT-O-Matic

Commandline arguments:

python3 generate.py -r USA,EUR -l en -e zip --all-regions-with-lang --prefer-parents --no-bios --no-program --no-enhancement-chip --no-beta --no-demo --no-sample --no-promo -d "SNES.dat" -i ../PATHIN -o ../PATHOUT

What I expect to happen

Files are grabbed in priority USA and then Europe and must have English Language - no clones. Files that are not included by this priority (from other regions) but have English language, should also be included.

"Not included" must account for being a clone of an already included title.

What is actually happening

Clones of titles already selected in the original priority are also included

Specific File Results

I get both Hebereke's Popoon from Europe AND Hebereke no Popoon from Japan. (And others like this)

No module named 'distutils.util'

Trying to run the script i get the following error:

$ python3 generate.py                       
Traceback (most recent call last):                                                                                        
File "generate.py", line 15, in <module>                                                                                  
from modules import datafile, header                                                                                  
File "pathremovedforprivacy/header.py", line 3, in <module>                                 
from distutils.util import strtobool
ModuleNotFoundError: No module named 'distutils.util'

This happens no matter what i try. python3 generate.py --version returns the same.

1.7.0 works fine, but anything newer doesn't. Tested on both a debian install and on WSL on windows 10 (where 1.7.0 works fine). Am i just missing something obvious? Also tried extracting to a new directory just to test that i did not mix the different versions of the script.

Any help is appreciated :)

No way to include a specific beta/demo/sample ROM

Since "Released ROMs" is prioritized above --prefer and --avoid, the only way to include a specific unreleased alternative seems to be using --exclude on the released ROM, which doesn't work for betas etc. that have the same title. Using --prefer-prereleases isn't an option since that replaces everything with beta versions.

Right now --prefer only affects versions of the same region/language, so a high priority --prefer (maybe --include? or call the old one --prefer-version or --prefer-variant?) would allow a lot more flexibility.

Match by hash in addition to filename

The first time I tried this utility, I was curious as to why it didn't find any matches, since DAT files have hash information—it seems like it only uses filenames to find matches in the DAT file. I looked briefly at just trying to make a pull request for this, but I'm not sure if you think it would be out of scope. Python does have SHA1 functionality in hashlib, so it shouldn't introduce an external dependency.

In the meantime, I've written a very simple companion utility that will use the SHA1 hashes in a DAT to copy files into a new directory with the correct filenames that this utility expects: https://github.com/ryanfb/copydatrom

Regions and Languages reference guides

More a tip than a issue itself. Since the tool is totally commandline based, I just want to advice making a reference guide for regions and languages somewhere (the wiki would fit, but maybe also at --help option). I know that, at ReadMe's project, the language reference is pointed that No-Intro Naming Convention is used as basis - and then, they points on theyr wiki that languages conventioning is based on ISO 639-1 CodeSets.
Okay... There's still lacking a region reference. Plus, would be better if finding the language reference "near" the tool pages, for non-familiarized coding users.

===========

PT-BR (since seems the coder uses the same native language than me)

===========

É mais uma sugestão que um problema. Uma vez que a ferramenta é totalmente baseada em linha de comando (com menos intuitividade que a possível em uma GUI), seria interessante que houvessem tabelas de referência tanto das Regiões quanto dos Idiomas possíveis para filtragem. Na wiki do projeto já seria suficiente, se disponível (também) na "ajuda" do próprio programa, tanto melhor.
Sei que na ReadMe do projeto é indicado, para o caso de idiomas, o uso da convenção de nomenclaturas do (scene group) No-Intro - que, por sua vez, explicam terem se baseado na ISO 693-1. Ainda assim falta uma tabela de referência de Regiões/Países disponíveis para filtragem (sei que isso varia de console para console, mas há ferramentas - como o ROMCenter e o ReTool - que já vêm com listas predefinidas); enquanto também seria boa ideia ter, de fácil acesso, a lista de idiomas mais próxima da ferramenta em si, de modo que usuários pouco familiarizados com "programação" em geral (usei "coding" lá em cima na intenção de generalizar tanto quem programa quanto quem lida com essas tabelas de padronização) não tenham que ficar garimpando pela internet e já encontrem todo o necessário próximo do download do gerador.

E aí? Tem jeito?

Weird rom selection

I am using the generator with that arguments:
python .\generate.py -r SPA,MEX,ARG,EUR,USA,JAP -l es --no-all --all-regions --no-unlicensed -d .\prueba.dat

The tool is selecting Extreme Skate Adventure (Europe) (Fr,De) instead of Extreme Skate Adventure (USA, Europe).
The DAT contains this games:

	<game name="Extreme Skate Adventure (USA, Europe)">
		<description>Extreme Skate Adventure (USA, Europe)</description>
		<release name="Extreme Skate Adventure (USA, Europe)" region="EUR"/>
		<rom name="Extreme Skate Adventure (USA, Europe).gba" size="8388608" crc="ad7bb7c8" md5="08d2fe71572e3537f2e7d7c08dab5707" sha1="92a587c8775cbed8f402e6e42d9c05ebe547607e"/>
	</game>
	<game name="Extreme Skate Adventure (Europe) (Fr,De)" cloneof="Extreme Skate Adventure (USA, Europe)">
		<description>Extreme Skate Adventure (Europe) (Fr,De)</description>
		<release name="Extreme Skate Adventure (Europe) (Fr,De)" region="FRA"/>
		<release name="Extreme Skate Adventure (Europe) (Fr,De)" region="GER"/>
		<rom name="Extreme Skate Adventure (Europe) (Fr,De).gba" size="8388608" crc="58594ae9" md5="f2b1c6f30bd79859dc75ac2c8abee538" sha1="d213a7f6b5268bea068d7b3ec3436360e77b29ac"/>
	</game>

Why is picking the one with regions FRA and GER instead of the one with the region EUR?

prueba.zip

Feature Request

Hello,

I've been working on a python project as I have time, but it's slow going, when I ran across your script. You're script is so much farther along and does a lot of what I'd like to do. Do you think you could add MD5 hash verification and missing roms to your scripts? I can share what I've created thus far, it is a hack'n'slash script, but you are welcome to glean whatever you want from it.

-Create a missing ROMs list, and maybe something to help me rename the roms I have appropriately. Still trying to figure out how to handle the different versions of files.
-Verify the MD5/CRC32 Hash and compare it to the info from No-Intro DATs
-Filter out Beta/proto and various other keywords to create a rom-set


From Andre Brait


My script already checks file hashes using SHA-1 and it's already capable of handling renaming and generating a list of missing ROMs, though I don't exactly document it.

In order to do that, just get a "Standard DAT" on DAT-O-Matic, instead of a "Parent/Clone XML" DAT. Use it with the tool and it will:

  • Scan your ROMs and check if they match some of the ROMs from the DAT using SHA-1 (which is the most reliable method so far, though I'll add MD5 and size+CRC32 on v2.0)
  • Rename (if you choose to move them), or copy with the new name, the files that matched.
  • Generate a file called "generate.log" in the script's folder letting you know what was missing (when used with a Parent/Clone XML DAT, this serves a different function, but with a Standard DAT, it'll be the same as a missing files list).

This is all going to work a lot better on v2.0 ;-)

Thanks for the email and I would like to see your tool if you want. Maybe there's something I can use :-)

Does not filter all duplicates by region or revision.

Example commands and output provided.

Command used:
python3 generate.py -r USA -l en --no-all -d "Nintendo - Nintendo Entertainment System (20200229-004716).dat"

Output included duplicates such as:

Mega Man 2 (USA)
Mega Man 2 (World) (Mega Man Legacy Collection)
Mega Man 2 (USA) (Virtual Console)
Track & Field II (USA)
Track & Field II (USA) (Rev A)
Wrath of the Black Manta (USA)
Wrath of the Black Manta (USA) (Rev 1)
Zelda II - The Adventure of Link (USA)
Zelda II - The Adventure of Link (USA) (Collector's Edition)
Zelda II - The Adventure of Link (USA) (Virtual Console)

This uses the latest No-Intro DAT file for the NES.

When using the --all-regions-with-lang option, it seems to compound the issue.

Command used:
python3 generate.py -r USA -l en --no-all --all-regions-with-lang -d "Nintendo - Nintendo Entertainment System (20200229-004716).dat"

Output included duplicates such as:

Zelda II - The Adventure of Link (Europe)
Zelda II - The Adventure of Link (Europe) (Rev 1)
Zelda II - The Adventure of Link (Europe) (Rev 2)
Zelda II - The Adventure of Link (USA)
Zelda II - The Adventure of Link (USA) (Collector's Edition)
Zelda II - The Adventure of Link (Europe) (Rev 2) (Virtual Console)
Zelda II - The Adventure of Link (USA) (Virtual Console)

--exclude-after "file:exclude-after.txt" and --exclude "file:exclude.txt" Not working as intended.

Tested on Windows 10, two different PCs.

When using --exclude-after "file:exclude-after.txt" or --exclude "file:exclude.txt" the list in the file is ignored, unless it is only one word. If the file contains one word, it works as intended. If it contains a comma separated list of words NONE of the words will be excluded.

Using --exclude-after "the,list,of,words" and --exclude "exclude,words"works as intended.

Does not work on 7zipped files, needs to be extracted to work.

I tried to use this on my DS no-intro set which is 7zipped but the generator says that WARNING: no eligible candidates for <rom name> have been found!. I tried to extract the roms and the generator works fine.

I also tried --no-scan on the 7zipped rom files and it also does not work. Maybe due to the file extensions.

Filter before downloading a set

Just found your filter and wonder how you update the sets?

If i understand it right your tool throws away the files you already have?
What if there is a update? That means you need to download all the files again to verify it against the No-Intro DAT to then delete them?

Is there no way to create a custom DAT and then just download the games you need?

"Latest Revision" in scoring system not working?

When running the script on a No-Intro NES set, I am getting all revisions of a game.

This is the syntax I am using to create a set...

python3 generate.py -r USA -e zip -i "c:\nes" -o "c:\nes_fix" -d "Nintendo - Nintendo Entertainment System (20200127-000518).dat" --no-all

Using this, I still end up with original rom and their Rev 1 equivalent.

Roms filtered out that shouldn't be (keeps World, when Europe is prefered and exists)

I get some roms filtered out although they shouldn't be. I'm working on a NES set with a No-Intro p/c dat.

My command:
python generate.py -r GER,EUR,USA -l de,en --exclude "Virtual Console,GameCube" --no-all --all-regions-with-lang -d "C:\NoIntro1G1R\dats\Nintendo - Nintendo Entertainment System (Headered) (Parent-Clone) (20240317-074124).dat" -i "C:\NoIntro1G1R\Orig\NES" -o "C:\NoIntro1G1R\1G1R\NES"

This works for most of the roms. The ones form Germany are kept. If there isn't a rom from Germany, European ones are kept. Only after that USA and World. However, there are a few exceptions that make no sense to me. These are:
Castlevania (World) (Konami Collector's Series) (Unl).zip is kept over Castlevania (Europe).zip
Castlevania II - Simon's Quest (World) (Konami Collector's Series) (Unl).zip is kept over Castlevania II - Simon's Quest (Europe).zip
Castlevania III - Dracula's Curse (World) (Konami Collector's Series) (Unl).zip is kept over Castlevania III - Dracula's Curse (Europe).zip
Contra (World) (Konami Collector's Series) (Unl).zip is kept over Probotector (Europe).zip
Super C (World) (Konami Collector's Series) (Unl).zip is kept over Probotector II - Return of the Evil Forces (Europe).zip
Jungle Book, The (World) (Disney Classic Games).zip is kept over Jungle Book, The (Europe).zip
Super Mario Bros. (World).zip is kept over Super Mario Bros. (Europe).zip

Any idea why this is happening?

Getting a warning of file not found for a file that shouldn't be considered

This might not be a bug, depending on whether you first output text for files found in the source folder matching the dat before evaluating them

Platform: Sega Genesis
DAT: current P/Clone generated today at dat-o-matic

Error message:
WARNING: candidate [Puyo Puyo Tsuu (Europe) (Ja) (Rev A) (Virtual Console).zip] not found, trying next one
WARNING: no eligible candidates for [Puyo Puyo Tsuu (Japan) (Rev A)] have been found!

Parameters:
python3 generate.py -r CAN,USA,EUR -l en -e zip --all-regions-with-lang --prefer-parents --no-bios --no-program --no-enhancement-chip --no-beta --no-demo --no-sample --no-promo -d "DAT/SegaGenesis.dat" -i ../source -o ../destination

So the files warned about should be excluded given the "en" language setting. I just found it curious the errors were output at all given this restriction.

Redump DAT support

Congratulations for this excellent tool for the no-intro sets, which are the reference for consoles in cartridge format. Is another tool possible for the redump sets which are the reference in CD format?

Best regards,

Retrofan.

Filter/generate Lists.txt

Hey you! It's me it's your boy! Hows it going ? Any progress report ? :)

I was looking around internet archive and found a what appears to be a great no-intro 3DS collection by archiver_2020 ... the problem is that its over 1TB in size so I was thinking of ways to trim the download and I wonder if it is possible to filter a simple given list.txt containing all the names of the games so I can manually download the names on the list ?

Another alternative would be to generate a list.txt of some sorts from a given DAT file and apply the scoring system to it so then I can manually select all the files on the list for download with tools like https://torrent-file-editor.github.io if I download via torrent or Jdownloader to download from internet archive (Jdownloader link-grabber supports filtering by regular expressions and whatnot).

If anyone has a better way on how to trim this download, plz let me know because I really do not want to download over 1TB in files where many of them are just going to trash.

Extensions Cannot Be Used when Scanning

Hi,

I am having a hard time getting the generator to work properly. The error I am receiving says "extensions cannot be used when scanning"

The input folder has 2 files, Megaman Europe and Megaman USA. I am trying to generate a USA collection. Both files are unzipped and in the folder as a .nes file.

The script I am running is:
python3 generate.py -r USA -l en -e zip --no-all --all-regions-with-lang -d "Nintendo - Nintendo Entertainment System (Parent-Clone) (20200506-060331).dat" -i "/media/pi/Seagate Backup Plus Drive/Games/ROMS/No Intro Start Up/NES Test" -o "/media/pi/Seagate Backup Plus Drive/Games/ROMS/No Intro Start Up 1G1R USA EUR English/NES Test"

I am not sure why I am receiving the error message. I tried trouble shooting by unzipping the files from their individual .zip format. On a secondary note, is this tool able to be run without extracting the files?

1g1r generator filters our certain roms I want to keep

Hey everyone,

I want to create a 1g1r set from the Nintendo Wii redump set, but since redump does not offer parent/clone Dats, I created my own 1g1r Dat with "Retool".

So far so good.

Now I wanted to output the 1g1r list that Retool created to a text file list usung 1g1r generator. However, 1g1r generator filters out a few roms that should be kept, and I don't know why.

Since the Retool programme already created a 1g1r Dat file, all I want 1g1r generator to do is to create a text file with ALL of the roms from the Retool Dat inside of it. Nothing should be filtered out.

To achieve this, I used this command with 1g1r generato:

py generate.py -r USA --all-regions -d "Nintendo - Wii (2023-05-08 20-37-24) (Retool 2023-05-18 13-24-26) (1,668) [-aBbcdmPpr].dat" > list.txt

From what I understand, this should not filter out anything. However, some games will not be included in the text file list. For example the game "Lucha Libre AAA - Heroes del Ring (Latin America) (En,Es)"

What command should I use to make 1g1r manager not filter out any games, but just create a list of EVERY game contained within a Dat file?

Hope you can help me.
Dat+List.zip

I've attached the Dat file Retool has created and also the text file list that does not contain some of the games, such as "Lucha Libre AAA - Heroes del Ring (Latin America) (En,Es)"

Aftermarket Homebrew

No-Intro is now including a lot of "(Aftermarket) (Homebrew)" ROMs in their database.

Can these options be added to the filters? Maybe --no-homebrew? Using --exclude "(Homebrew)" for now.

Also, sometimes there are multiple versions of homebrew games.

For example, Nintendo Entertainment System:

Nova the Squirrel (World) (v1.01) (Aftermarket) (Homebrew).zip
Nova the Squirrel (World) (v1.02) (Aftermarket) (Homebrew).zip
Nova the Squirrel (World) (v1.03) (Aftermarket) (Homebrew).zip
Nova the Squirrel (World) (v1.04) (Aftermarket) (Homebrew).zip
Nova the Squirrel (World) (v1.05) (Aftermarket) (Homebrew).zip
Nova the Squirrel (World) (v1.06) (Aftermarket) (Homebrew).zip

Can the scanning be updated to only include the latest version number?

Currently it includes multiple version numbers in the output folder.

FYI -- I know you have the new DATRomTool project now, but I still prefer this project. Hopefully you'll be able to update it. :-)

One more idea -- It would be nice to have the option to use partial filenames for the dat files.

I currently have to rename the dat files every time I use this script. I have all my commands for each system saved to a text file.

Nintendo - Nintendo Entertainment System (Headerless) (Parent-Clone) (20220620-100820).dat

I would like to only include "Nintendo - Nintendo Entertainment System (Headerless)" in my text file command list, and the script would automatically detect the correct file.

This would allow me to download the latest dats from No-Intro and drop them in my input folder and use my saved commands without having to rename files to match my saved commands.

Input folder handling is broken (Windows and macOS)

I've been trying to get this generator to work, but keep stumbling into the same problem: it won't recognize the input folder. I've tried it with and without quotes, but no luck. My guess is it's due to my operating system. I'm on macOS, but all the examples in the wiki are based on Windows, where the folder structuring is different.

v2 branch

I notice that there's a v2 branch available to download with the last commit marked 2 weeks ago. Can it be confirmed that this branch is good for testing? It seems better than waiting for a full release... its been over a month now! I will use it if confirmed good enough for use and the full release is more than 1 week away else I will wait.

[Feature Request] Add WARNING-only command line

For the sake of helping users with incomplete sets, instead of parsing the whole output to check for each warnings, may I suggest the addition of the either:

  • Adding a "--only-warning" command line to hide the OK output;
  • or adding a text file output for errors and warning, to check later on.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.