This idea dates way back to when concepts for Starforge were being brainstormed, but unfortunately it never made it into the program. Since a lot of people seem to be making editors lately, I'd like to re-propose it so more people can incorporate it into their editors. It would also be a good idea to implement it in a standardized way, so that these editors can be used together.
Motivation: One of the problems map makers face is that they have a paltry limit of 1024 strings to use in their map. Advanced editors can circumvent this, but at the expense of losing Staredit compatibility. Even with the extended string limit, there is still a size limit on the string section as a whole.
Method: We all know that there are some strings that are important for the map to function (display text, unit names, etc) and some that are purely for the map maker (comments, location names, etc). If we create a second string section for the non-critical strings, it frees up more string space for the important stuff.
Implementation: There is an incredibly simple implementation of this idea. Simply add a second string section (called STR2) with the same format as the STR section. Whenever a string is read or saved, the editor checks where the string is being used. If it's a critical string, it uses the STR section. If the string is not critical, it uses the STR2 section.
Here is the list of string categories that I can think of that are non-critical. All others should be assumed to be critical. If I missed any, go ahead and correct me.
* Trigger and mission briefing comments
* Switch names
* Location names
One of the main arguments against making Starforge (or any map editor) open-source is the potential for someone to turn it into a map unprotector very easily. Now that OSMap is around this doesn't carry as much weight, but it's still valid.
That, and the source is on my desktop at home (I'm doing an internship now) and I won't have access to it for a while.