View Single Post
Old 07-18-2005, 05:56 PM   #32
Mostly dormant
stoffe's Avatar
Status: Administrator
Join Date: Apr 2002
Posts: 5,850
Helpful!  10 year veteran!  Notable contributor 
Originally posted by TheOssusKeeper
So basically, they (the gamers) needs to have a clean override folder (free from the files in the InstallList), correct?

So in order for someone to use this mod (if they already have a previous version) they would need to delete all the old files first, correct?
Files that are just copied over and not modified in any way should preferably not be present in the override folder already. This is just like any other mod, if two mods uses files that are named the same they are incompatible. If the patcher encounters an already existing file it shouldn't modify (ie on the InstallList), it will skip that file and print a warning in the progress log that the file already existed, to alert the user to a possible mod conflict.

If, however, you are making an updater for a previous version of your mod and you can be reasonable sure (by unique file naming) that the existing file is in fact from a previous version of your mod, you should set the InstallList to replace rather than copy that file. Then the patcher will copy the file from tslpatchdata and overwrite the file with the same name that already existed in Override. This will allow you to install a new version on top of an old one without the user having to delete anything manually first.

Only set the replace flag for files in the InstallList you can be reasonably sure are from your own mod(s), since it might mess up already installed mods otherwise.

Originally posted by TheOssusKeeper

See I thought that the patcher copied all files to the override, then modified the necessary files... the copied files would overwrite the current ones and then the patcher would modify them and the ones that didn't get copied, like the 2da file would just simply be modified...
Things are done in this order, provided that the instructions are present to do it.

1) The contents of append.tlk (if present) is added to the user's dialog.tlk file.

2) 2DA files in the 2DAList are updated.
a) If the 2da file does not exist in the user's override folder, the patcher looks in the tslpatchdata folder for it. The file is then copied to the override folder.
b) If the 2da file exists in the override folder, either from a previous mod, or from just having been copied there from the step above, the 2da file (in override) is modified according to instructions.

3) GFF format files in the GFFList are modified. If a file with the specified named already exists in override, that GFF file is modified. If the file does not exist, the file is copied from tslpatchdata to Override, and the copy in override is then modified.

4) File hacks are performed. This will never modify files that already exist in override. If no file with matching name exists, it is copied from tslpatchdata to override, and the copy is then modified. If the file already existed, the patcher will issue a warning and skip the file, unless you've instructed it to overwrite that file if it existed.

5) The installlist is processed. This should only contain files that the patcher hasn't done anything with in any of the above steps (since those steps have already copied the relevant files to override if necessary). The listed files are copied from tslpatchdata into the folders which are specified.
stoffe is offline   you may: quote & reply,