  Shrinktbl is a small program that reduces the size of an uncompressed NGEE 21990 binary.  It does this through efficiency.  The output file is a copy of the original, ready to be compressed and reinserted.

  There are a series of command-line parameters you can use to change operation.  Command line parameters can be in any order and start with either a "/" or "-".  They can also be either upper or lower case.  Anything that doesn't start with either symbol is assumed to be a filename, so watch out for that.
  Here's a list of valid commands:
	/Q, -Q	quiet mode (no text display)
	/T, -T	disable reducing text file tables
	/S, -S	disable reducing setup file tables (sometimes helpful)
	/O, -O	disable parsing primary object table (stupid)
	/G, -G	disable parsing 1st person models (GweaponZ)
	/E, -E	disable ejected cartridge reduction (recommended if G set)
	/C, -C	disable reducing character and head table
	/L, -L	disable reducing level data (bg_data/clipping files)
	/B, -B	disable briefing table lookup reduction
	/M, -M	do not rebuild briefing resources (use if editting briefing tables)
	/D, -D	do not remove debug menu
	/U, -U	do not eliminate extraneous data and text
	/P, -P	remove on-screen position cheat (remaps to 64 characters MP)

	/?, -?, /H, -H	displays this list of options

  If you don't want to muck with these options, just drag-and-drop a file onto the program.  Voila!  It shall recieve the full treatment.


[Technical Explaination]
  In most cases there are two seperate lookup tables for data.  There's one that essentially sets the order of the files and is used to call them when needed.  Then there's the main table which is a list of all the resources loaded into the rom.  Both the main rom index and the routines that are used to look up data link these text strings with pointers.  The trick here is to link both lookup tables to the same, main name index.  Then, the unused text strings can be deleted.

-Zoinkity
nefariousdogooder@yahoo.com
