Poobah
New member
A tool for users with GoodTools collections in 7z archives (GoodMerged)
Update: A GUI front-end is now available.
A common annoyance I've found with GoodTools is that the only convenient method of storing its ROMs is in solid archives, which ZIP doesn't support, which is why 7-Zip is used. Since 7-Zip archives aren't supported by most emulators, and extracting all the archives would require huge amounts of HDD space, I've written a handy utility.
What it does is go through each 7-Zip archive passed to it, get a listing of its contents, number the files, ask the user to input the number that corresponds to the desired file, and repeats. Since this functionality alone was resulting in a very time-consuming program, I've also included some optional filters that allow the users to skip unwanted ROMs such as untranslated (J) ROMs and ones that have tags that indicate that they are unwanted, such as (bad dumps), [o], (overdumps) and [t] (trained).
You may download the tool with a GUI front-end here.
You may download the command-line-only version here.
You may download the C source here. Beware that I'm not a professional programmer, nor a neat one; the source is quite messy.
Requirements:
Users who don't understand environment variables or what PATH is should just download and use the GUI version. The "UnGoodMerge front-end.exe" program is the one to run.
This program, Ungoodmerge, requires PATH access to the 7z.exe file. (It also requires PATH access to NSRT.exe if you are using JMA compression, which only works with SNES ROMs.) If a user doesn't want to change the PATH, he/she can just run the program and it will optionally copy the 7-Zip executable to the System32 directory, eliminating the need to change any settings. To up the PATH, press WinKey+Pause on your keyboard to bring up the System Properties, select the Advanced tab, and click Environment Variables at the bottom. In the second list, select Path and click edit. Add a semicolon ( ; ) to the last entry if there isn't one there already, and then paste in 7-Zip's installation directory. Keep clicking Ok until all the dialog boxes are gone and log off and log on again. Now the program should work.
Usage:
The following instructions only apply to the command-line version of the program. The GUI version is self-explanatory, so no usage instructions will be provided.
This program is a console program; it is entirely text-based. To use the program, you will want to copy it into the folder containing the .7z archives. Press WinKey+R and type in "cmd" without the quotation marks, and press enter. Change directories to the directory containing the program and .7z archives. To change directories (in case some users don't know), type "cd" followed by the directory to go to, or type "cd .." to go to the previous directory. (Don't include the quotation marks.) The program requires two or more arguments -- one being the output batch file, and the other ones are the names of the .7z archives. Most users will also want to specify a compression method using the -c switch. (Without it, the ROMs will be left uncompressed.) Wildcards are also accepted. Running the program without any arguments, or with the -? one, will cause it to display its usage. A simple example:
If a user is planning on using this program on an entire GoodTools archive (GoodN64, for example), then he/she would most likely want to go through each letter individually, since the process of choosing the desired files is time consuming. For example:
Now, just run all the batch files and be patient. If you feel confident that you chose the most appropriate ROMs for each archive, then it should be safe to delete all the .7z archives.
Feedback:
Please provide feedback for this program. If you encounter any bugs or strange problems, please let me know. Please also feel free to provide constructive criticism and suggestions.
Update: A GUI front-end is now available.
A common annoyance I've found with GoodTools is that the only convenient method of storing its ROMs is in solid archives, which ZIP doesn't support, which is why 7-Zip is used. Since 7-Zip archives aren't supported by most emulators, and extracting all the archives would require huge amounts of HDD space, I've written a handy utility.
What it does is go through each 7-Zip archive passed to it, get a listing of its contents, number the files, ask the user to input the number that corresponds to the desired file, and repeats. Since this functionality alone was resulting in a very time-consuming program, I've also included some optional filters that allow the users to skip unwanted ROMs such as untranslated (J) ROMs and ones that have tags that indicate that they are unwanted, such as (bad dumps), [o], (overdumps) and [t] (trained).
You may download the tool with a GUI front-end here.
You may download the command-line-only version here.
You may download the C source here. Beware that I'm not a professional programmer, nor a neat one; the source is quite messy.
Requirements:
- 7-Zip
- NSRT (optional, for JMA compression -- SNES ROMs only)
- Ability to use the numeric keypad. [Optional]
- Creates a convenient batch file that does all the extracting and compressing in just one double-click.
- Allows users to optionally filter out unwanted ROMs to narrow down the lists of ROMs for each archive.
- Doesn't use an installer, nor does it create shortcuts or start menu entries all over the place.
Users who don't understand environment variables or what PATH is should just download and use the GUI version. The "UnGoodMerge front-end.exe" program is the one to run.
This program, Ungoodmerge, requires PATH access to the 7z.exe file. (It also requires PATH access to NSRT.exe if you are using JMA compression, which only works with SNES ROMs.) If a user doesn't want to change the PATH, he/she can just run the program and it will optionally copy the 7-Zip executable to the System32 directory, eliminating the need to change any settings. To up the PATH, press WinKey+Pause on your keyboard to bring up the System Properties, select the Advanced tab, and click Environment Variables at the bottom. In the second list, select Path and click edit. Add a semicolon ( ; ) to the last entry if there isn't one there already, and then paste in 7-Zip's installation directory. Keep clicking Ok until all the dialog boxes are gone and log off and log on again. Now the program should work.
Usage:
The following instructions only apply to the command-line version of the program. The GUI version is self-explanatory, so no usage instructions will be provided.
This program is a console program; it is entirely text-based. To use the program, you will want to copy it into the folder containing the .7z archives. Press WinKey+R and type in "cmd" without the quotation marks, and press enter. Change directories to the directory containing the program and .7z archives. To change directories (in case some users don't know), type "cd" followed by the directory to go to, or type "cd .." to go to the previous directory. (Don't include the quotation marks.) The program requires two or more arguments -- one being the output batch file, and the other ones are the names of the .7z archives. Most users will also want to specify a compression method using the -c switch. (Without it, the ROMs will be left uncompressed.) Wildcards are also accepted. Running the program without any arguments, or with the -? one, will cause it to display its usage. A simple example:
Code:
Ungoodmerge -cZIP -oprocess.bat *.7z
Code:
Ungoodmerge -cJMA -oprocessA.bat a*.7z
Ungoodmerge -cJMA -oprocessB.bat b*.7z
[etc]
Feedback:
Please provide feedback for this program. If you encounter any bugs or strange problems, please let me know. Please also feel free to provide constructive criticism and suggestions.
Last edited: