Search the Community
Showing results for tags '1g1r'.
Found 2 results
Howdy folks, I've been beavering away at this for the past year or so as a project to learn Python. Retool converts Redump and No-Intro dats to 1G1R, doing a better job than dat managers with parent/clone dats. It has both GUI and CLI versions. You'll still need a dat manager to use the files Retool creates, such as CLRMamePro, RomVault, or Romcenter — you just won't need to use their 1G1R modes, as Retool will have already done the work for you. Why not use CLRMAMEPro or Romcenter's 1G1R mode with a parent/clone dat? Historically if you wanted to create a 1G1R set, you'd use a parent/clone dat in combination with a dat manager like CLRMAMEPro or Romcenter. After loading the dat into the dat manager, you'd set your desired regions and region order, and whether or not to filter by languages (assuming the dat has <release> tags properly set up — something which is vanishingly rare). You'd then trust the dat manager to choose the perfect parent title for you from your favorite region, discarding the clones from other regions. Here's the thing. The parent/clone dat format was created for MAME, to enable one of the ways in which it organizes its ROMs. A "parent" ROM in MAME contains the base or common files for a game, while "clone" ROMs only contain files that are different from the parent. If you load a clone game in MAME, it's smart enough to load the base files from the parent, and any of the modified files it needs from the clone. Standard 1G1R through a dat manager is effectively a hack on top of this system. In 1G1R mode a dat manager takes the parent and ignores the clones, in an effort to only include the "best" or most desired version of a title. While on the surface this seems reasonable, if you look a little closer you start to see the cracks. The primary issue is that dat managers and parent/clone dats don't have a concept of title priority. For example, what happens when there are two copies of the same title from the same region, but they have different names? Or different version numbers? Or were published by different companies at different times? Which title does the dat manager choose then? Retool figures this out for you. It even identifies the languages of each title by using multiple sources — the implied language spoken in the region the title is from, languages explicitly listed in the title's filename, and languages listed on Redump's website, which aren't always included in filenames. After you set up the GUI or user-config.yaml to your liking, Retool's output is already 1G1R, meaning you don't need to select 1G1R mode, regions, or languages in your dat manager — just load the dat and go. Clone lists While Retool is smart enough to automatically match certain types of parents and clones, there are certain situations that require manual assignment, like when a title has a different name in different regions. To achieve this, Retool keeps clone lists. At the time of writing, Retool's clone lists are the most thorough that I know of. I manually combed through titles in most dats, and cross referenced them on Wikipedia, Moby Games, Retroplace, GameTDB, VDGB, VGM, YouTube, Amazon.jp, PlayAsia, Sega Retro, PSCX2 Wiki, PlayStation DataCenter, The Cutting Room Floor, and Atari Mania. I checked out the parent/clone dats for No-Intro, and occasionally I went through Redump's site for Japanese, Korean, Russian, and Chinese characters for titles, so I could do translations and find out what they were called in other languages. When all else failed, I did some good old web searching in order to turn up information. At some point I discovered FilterQuest, a similar tool, and added some missing titles from there. Clone lists are updated independently of the program, and are formatted as JSON files. They are stored in a subfolder called clonelists, which is in the same folder as Retool. You can update them from the GUI using the File menu, or by running updateclonelists.py. Features Region ordering, and language filtering. Keep supersets (things like special editions, game of the year editions, and collections) as separate titles, or choose to make them the canonical 1G1R parent. Can exclude the following title types: Applications Bad dumps Compilations with no unique titles Coverdiscs Demos and samples Educational titles Multimedia titles Pirate titles Preproduction titles (alphas, betas, prototypes) Promotional titles Unlicensed titles The most thorough clone lists available, which can update from the internet. A GUI (works best in Windows. It works in Ubuntu, but looks a bit misshapen. This should improve as the underlying module improves). A legacy parent/clone dat creation mode, and a tool called CloneRel, so you can analyze the relationships Retool creates. This is mostly useful if you intend to update clone lists yourself. Where can I read more or download Retool? Over on the Retool Github page, where there are usage instructions for those familiar with Git and Python, and also for Windows users who haven't had much CLI, Git, or Python experience. You might also want to read the Wiki. What else is out there? There are a few different projects that all have slightly different focuses, like Pixelpiper's DCTF, AndreBrait's 1G1R romset generator, and UnluckyForSome's FilterQuest.
DCTF: Disc Collection Title Filter I've made a web-based tool to, among other things, help make 1G1R sets for any disc-based (redump) platform and it needs some final testing before I give it a wider audience. It should work on any current browser on any computer/OS. Tested with Chrome, Safari and Firefox on MacOS, Windows and iPhone (use it on a computer). Please let me know if you can give it a look. Bonus if you have a Redump account. https://salumba.com/romlist The tool can help make bulk download lists that can be imported into download managers, or download single titles. It can also make batch command files that can be used at a command prompt to manipulate your current set of titles - like to clean a huge mess that might be left after downloading every game from every region for a platform. Title selection goes through a de-duplification and priority system which looks at the base title, regions, version #'s, edition type and languages before finally applying a manually-created clone filter with North American or European preference (or it can be disabled). The result of the final list is that every single title will be displayed restricted by your filtering choices. Want only US titles? Want titles from any region as long as they support English? Want to prioritize the different macro-regions when selecting titles? Want only US and European but no Japan/Asia regardless of language? Want only titles released in North America that also feature French language? Want titles from anywhere in the world that have both English and German? All of this and much more can be done. In addition to pulling only the titles matching your settings, this tool will construct appropriate filenames to match the No-Intro and Redump standards. You can add any file extension you want to the displayed filename to match the downloads available to you - for example you might need files labeled ".zip" for one platform/site and ".rar" or ".7z" elsewhere. Quick overview: Pre-Filter & Restrict the Source Data: The tool builds a master list of titles according to the options you set Basic setting (mandatory) System/ Platform - supports Nintendo GameCube, Wii, Wii-U, Sony PSX/1-PS4 & PSP, XBOX, XB360, XBOne, Sega CD, Saturn & Dreamcast, PC, etc. Release Category (optional) - All Categories, Games, Applications, Educational, etc. Region (optional) - All Regions, Americas, Europe, ASIA, USA, Canada, Japan, Germany and more. Language (optional) - All Languages, English, Japanese, French, German, Spanish, Italian, Portuguese Hide selected "Edition" types: Demos, Previews, Beta or Unlicensed (tool starts with defaults pre-selected) Final filtering Options: Language - huge list - you can set the data source to All or a different language if you want to force 2 languages on every title Regional priority of 3 top-level (macro) regions covering all releases allowing to block one of the three Clone lists to remove duplicates that have different titles from different regions (pick North American or European preference) Exclude any number of keywords or phrases you specify (example: you don't want to list anything that contains "tetris") Only include keywords of phrases you specify (example: you want to only list "Harry Potter" titles) Keywords can be match as whole words/phrases or as substring (example: "bat" won't match "Batman" for Whole Word but will for Substring) Import/upload your own file list (dir /b to a text file in Windows to a or cut-and-paste to a text file from Finder in MacOS) to exclude from results Import/upload your own "Have" title list made with ClrMamePro to exclude from the results Uploaded file should contain filenames in No-Intro/Redump format with or without any file extension Uploaded file is temporarily saved to the server with unique encrypted filename, overwritten when you process with new options and deleted every 10 minutes De-Duplification: Based on title matching Based on clone list (built-in and platform automatically selected) Versioning (higher versions have preference) Editions (Originals have preference) Regions (multiple region hierarchies automatically selected by your macro region priority setting) Languages (always contains the languages you selected, titles with fewer languages have higher priority) File naming: No-Intro standard "The" properly moved after base title Region inserted into the correct place Disc#'s correctly placed Languages only listed when more than 1 and in the preferred order Version # is optional - always omitted when "v1.0" - also supports "Rev #" style File extension is optional and can be set by you Custom formatting: Specify any text to include before filenames • URL text to make download links: "http://somesite.com/files/" - links can be copied/imported to download managers like JDownloader • Shell/command text for batch files: "mv " (for example to move the files in a *unix shell) Specify any text to include after filenames • Shell/command path/arguments: " /volumes/somedrive/files_to_keep/" (used with a move this would move all the files to this folder) Final (personal) lists also temporarily saved on the server so that you can download them directly instead of copy-paste Saved with unique & encrypted names so multiple people's lists will never interfere with each other & never be cached HTML list link can be copied with "copy link" and that can be pasted directly into JDownloader or other download manager Link files automatically deleted within about 10 minutes Screenshot: