[1] A way to persist the chosen font to the next load of the CS.
Already present.
[2] A save/load scripts to/from text files. Useful not only as a backup, but also as an easy way to replicate scripts from one esp to another.
With the increasing use of User Functions, a modder tends to create his/her own 'library' of generic functions used in several of his/her mods (at least, I do). It is becoming kind of hard to keep track of which mod uses which function. Sometimes I need a function I know I have somewhere and I have to open 2-3 other esps in order to find it. Other times I find a bug or improve a function and need to update it in other mods.
With save and load functions, I could just save the code whenever I create/update it and, later, while working on a different mod. I could load/refresh the last version of the function from the file.
Sounds like a good idea. Will add.
Which leads to the next suggestion: a way to batch-load scripts from text files, either by selecting a folder or multiple files at once. Each file in that folder or selection would become a new/updated script in the esp.
Batch-save could be useful also.
I currently don't have any access to the scripts in the loaded plugin, so I can't really look up the script table. But it might be possible once I've decoded the appropriate classes and procedures. Batch load is mostly possible at the moment, but will require some more work. I'll think about it.
[3] Some kind of cross-reference for scripts/variables/objects. Actually 'Find Text' covers this pretty well (finding which scripts use which scripts/variables/objects). I am only raising the subject so, maybe, somebody could think of a good suggestion for you in this area.
The only function in this area I can think about is a 'Find Orphans' kind of functions that would point out unused scripts/objects/etc. Good for the mod clean up phase.
The script validator mentions unreferenced/unused variables in the script as it is. When you say objects, what exactly do you mean ?
On the same vein, here are the errors that the validator currently handles:
- Script already has a ScriptName declaration
- ondition not allowed (applied to lines starting with "Return", "End", "else" and "endif"
- Multiple editorIDs (applied to ScriptName declarations)
- EditorID starts with a number
- EditorID contains invalid character (applied to ScriptName declarations. The compiler will truncate the editorID just before the invalid character)
- EditorID starts with a number (applied to "set" commands with remote variables. The compiler will say that it can't find the variable, whereas the error is due to the editorID starting with a number)
- Variable declaration invalid within Begin/End block
- Variable "varName" has already been declared
- The validator will also give a warning if a variable is declared but not used, and if a condition appears on its own line (therefore having no use). All other warnings and errors should be caught by the compiler already.
- Blocktype invalid for this type of script (CS catches this when reference-specific blocktypes are used for quest scripts, but not when effect-only blocktypes are used in non-effect scripts)
This list was procured from Cipsic's ScriptValidator; the CS isn't any different from the GECK in that regard. Are there any other (unhandled) errors you guys what handled ?