I've uploaded another relatively minor update to TSLPatcher and ChangeEdit.
Behold my poor skill at explaining things in an understandable way:
- Added a new keyword, "!FieldPath", which can be assigned to a 2DAMEMORY# token in field modifier sections when adding new fields to a GFF file. This will store the full path and labels of the field within the file inside the token.
- Modified the top file section for each entry in the GFFList to allow using tokens instead of constant field paths+labels to specify which field to modify a value of. This can be used with the change mentioned above to modify the value of newly added fields after they have been created.
- Added a "!SourceFile" key to all file modifier sections except for 2DA files, where you can specify the name of the file (in the tslpatchdata folder) that will be used as blueprint if the file does not already exist. This file will then be renamed to the file modifier section name when copied to its correct place. This allows using multiple template files of the same type in different Setup Lists that share the same data folder.
E.g. if you modify files that have changed in the official 1.0b patch of the game, like handmaiden.dlg. This could be used to provide one unpatched and one patched version of this file, used by different Setup Lists, both which would be renamed "handmaiden.dlg" when installed.)(Example mod using this)
- The statusbar of the main TSLPatcher window now always show the current install path, both when reading it from the registry and after the user has selected a folder.
- Added Open File Dialog selection buttons to the changes.ini and info.rtf selection boxes in the Setup Lists editor, so you won't have to type in the filenames manually.
- Added a "Save processed scripts for debugging" checkbox to the Settings panel. This can be checked when debugging things when having the TSLPatcher process scripts for tokens and recompile them. When checked a copy of all processed scripts (used for compiling) will be saved inside the "debug" folder inside the tslpatchdata folder.
- Modified the "Add GFF Field" editor with a new field for specifying the Field Path tokens mentioned above.
- Modified the "Modify GFF fields" panel to display New fields to add as well, and two buttons allowing you to change the order of the GFF modifiers. (Can be useful with the first two mentioned features since you'd need to make sure modifiers with tokens as fields are below the New fields that sets the tokens in the modifier list.
So, what's the point of these changes to the GFF handling? It will allow you to use the TSLPatcher to insert conversation branches into existing DLG files. It's still a hellish amount of work to configure it to do so, but at least now it's possible.
(Example requested mod using this