Hmmm... kind of.
Basically what the program did was it rewrote the part of the CHK that contains all the strings in the map (and the trigger section and some others) while leaving the other sections untouched.
If you look at the spec on campaign creations it says:
QUOTE
x: Section 'STR ' - strings section
beta57 * 1.00 * 1.04 * Brood REQUIRED
1 int - Number of strings in the section(this will be 1024, regardless of how many strings are actually used, and cannot exceed 1024)
1024 ints - 1 int for each string specifying the offset from the beginning of this section of where the string starts. If there are less that 1024 strings, the unused entries will point to string #0 (the null string). Important Note: String #0 should have an offset of 2050, etc. (1025 ints for this table)
Here is where all the strings go, one right after another; and all of them null terminated. Note: string #0 (the very first one) is ALWAYS the null string. All other strings start at #1
This describes how to write a string section. It's not quite completely described, but see how it says "1 int - Number of strings in this section" up the top? This is saying "write an integer (two byte) value to the CHK that is a count of the number of strings." So, I write an integer to the CHK file containing exactly how many strings there are, and unlike StarEdit, the program doesn't always write 1024 here.
Then after that the program writes the string table. That's in the CHK spec up there in that part that says "1024 ints - 1 int for each string". Instead of writing 1024 integers to the CHK file, it'll write as many as there are strings, whether it be 1024, 2500 or any other number.
Finally the program just writes the strings. Rewriting the CHK file to exceed the string limit is not something you can do manually unless you have a lot of time, you need to be able to write a program to do it for you, so I can't really explain it unless you understand what I'm talking about when I start getting geeky and start talking in geeky programmer terms.
If I can find the source code for this part I'll post it, but it's on the other computer and I don't have access to that at the moment.
Edit: I thought -Jake- asked me this question?