18,700
edits
(first stab at describing how XML patching works; unanswered questions are how the AEI handles conflicting patches and how exactly patched .onis get put back into the mix to be combined into .dats) |
(→XML patching: think this is a final, accurate description of the patching process; some day we really need to make a flowchart for this whole process) |
||
Line 10: | Line 10: | ||
==XML patching== | ==XML patching== | ||
To read about the purpose of XML patches, visit the page [[Making a mod package]]. Here, we'll simply describe the process by which they are installed. XML patching takes place | To read about the purpose of XML patches, visit the page [[Making a mod package]]. Here, we'll simply describe the process by which they are installed. XML patching takes place at the beginning of each mod installation, because the .oni files need to be patched before they are combined back into .dats. Therefore, when about to begin installing the user's selected mods, the Installer looks for any patches (.oni-patch files) in those mods. The .oni-patches are named according to the file they modify, e.g. TRAMKONCOMbk_fw_kick.oni-patch, and placed in numbered folders such as level2_Final/, just like mods with .oni files. | ||
For each file that is to be patched, the AEI looks for the highest-numbered package which has such a .oni file in the same level number; in other words, patches go on top of all .oni mods, thus they have higher precedence than any package does by number -- regardless of the number of the package containing said patch. If there is no copy of that .oni file in any selected mod, the AEI extracts the .oni from the vanilla .dat of the appropriate level (stored in AE/AEInstaller/vanilla/). | |||
Once all the .oni files to be patched have been collected from either the other mods or vanilla .dats, the AEI makes a single temporary patch file which lists inside of it a series of commands to xmlTools to run each individual patch file on the .oni file named by that .oni-patch. This "master patch" is made for performance reasons and should not affect the modder who creates .oni-patches. Read the documentation for [[xmlTools]] to understand how the patch files are actually processed. The .oni files having been patched, their containing folder is then combined, along with the folders of unpatched .onis from the other selected mods, into .dats, as described in "Installation". | |||
[[Category:Anniversary Edition]] | [[Category:Anniversary Edition]] |