G-E's Combined RA2 ini scripts pack README
====================================
This pack contains:
- AICHECK 8.1f
- AICLEAN 5.8c
- MAPCLEAN 3.0
- SOUNDCHECK 3.0a
- SOUNDCLEAN 1.4
- MAPKILL 1.1
EACH SCRIPT WILL HAVE TO BE EDITED! That is, every *.tcl in the package must undergo at least some configuration to set the basic parameters, like the RA2 directory, to run with your installation, and crucially any mods. In some cases, additional .cfg files will need to be customized for purposes, such as the one that comes with AICLEAN, to get the best results.
NONE OF THE SCRIPTS READ THE MIX FILES! Every referenced ini file used by a script must be extracted for parsing first, then those filenames and locations need to be specified in the header of the script. In the case of RA2 and YR mod installations in parallel, each script can only be set to handle one at a time, not both. However, as each script has its own internal settings for filenames and paths, this means you can make copies of the script, with modified copies of the batch files pointing to them. In this way, you could have a set of scripts working with RA2, and a duplicate set working with YR in the same place. The scripts that have an external configuration file could share if there's no particular incompatibility with goals, but they can also be cloned.
Every script comes with one or more batch files to run them. The batch files will be specified in their own document section below. In a few cases
For most of the scripts to work, rules.ini, art.ini, and ai.ini (or YR equivalents) must be extracted from the ra2.mix/ra2md.mix, even if not modified for the particular mod being checked/cleaned. For SOUNDCHECK, sound.ini must also be present, but audio.idx should also be extracted for it to be more thorough, that file is located within the audio.mix, which is located within the language.mix, not ra2.mix.
NONE OF THE SCRIPTS CURRENTLY SUPPORT ARES #INCLUDE FUNCTION. Any included files with relevant code should be merged back into their parent files for proper parsing. As a rule, Ares features are not supported; there are no current plans to support include, nor the distributed nature of the lists it allows with un-denominated additions. A future version of AICLEAN might have the option to merge all the included files into the original file arrangement, but as of now, it doesn't support the feature either.
Ares and CNCNet clients are able to use custom ini and map filenames, and this practice is perfectly acceptable to all the included scripts since each filename is defined within the script header. As long as they use proper ASCII-safe filenames and paths, all the scripts should be able to access them as well. When using any of the helpful batch files for scripts that scan multiple maps in one go, such as for MAPCLEAN, simply update or make copies of the batch files, with the correct file mask for your client.
THE RESULT OF RUNNING EACH SCRIPT ISN'T WHAT IS SEEN ON SCREEN. What you see is merely a parsing indication. Basic errors or conversions are reported purely to get a sense of what they are doing and are by no means the important part, rather it is the log file created that matters. Although you configure each script to the file paths and ini filenames within the scripts, the resultant log output will be written where the script is located. For this reason, it is usually best to extract the scripts to the directory where the game/mod itself resides.
These scripts are the result of ongoing sporadic efforts and have evolved as RA2/YR modding itself has evolved. Any support for Ares, Phobos, Kratos, or anything similar is off the table, as each of them seems to be a moving target in terms of what's right or wrong. Plus I'm not sure how reasonable it is to break up the script into blocks
that only operate when specific extensions are available/active. It seems best to use Ares' own internal debugger function in such case, or at least to catch everything outside the scope of Westwood's programming.
Every script will require ActiveTCL's tclsh runtimes:
>
http://www.activestate.com/activetcl/downloads
Each script has a dedicated notes section below, which should describe in more detail basic operation, as well as any usage that may not be listed within the script header out of a desire to keep the header concise, or is an odd use case that rarely comes up.