18,700
edits
(slight rewrite) |
(polishing) |
||
Line 1: | Line 1: | ||
The Anniversary Edition | The [[Anniversary Edition]] installs mods that are made in a certain format -- the mod files must be placed in a specified hierarchy of folders with a text file that provides additional information. This arrangement of folders and files is simply called the '''mod package''' format. | ||
==Package format 2.0== | ==Package format 2.0== | ||
The [[AEI]] 2 prefers the new 2.0 package format, but will also read 1.1 packages. | The [[AEI]] 2 prefers the new 2.0 package format, but will also read 1.1 packages. | ||
To create a new mod package from scratch, use [[Vago (tool)|Vago's]] package wizard or follow these [[seven]] easy steps: | You can start your package by copying an existing AE package and modifying it to save time. To create a new mod package from scratch, use [[Vago (tool)|Vago's]] package wizard or follow these [[seven]] easy steps: | ||
1. Create a new folder with a name corresponding to your mod. | 1. Create a new folder with a name corresponding to your mod. | ||
---- | ---- | ||
2. Pick a number for your mod. The five digit number corresponds to where in the load order your mod will be, but it also indicates the type of mod. Please | 2. Pick a number for your mod. The five digit number corresponds to where in the load order your mod will be, but it also indicates the type of mod. Please leave some numeric space between your mod and other AE mods. See the [[#Package numbering|numbering section below]] to know how to number your mod. | ||
---- | ---- | ||
3. Create a plain-text file named "Mod_Info.cfg" inside your new folder | 3. Create a plain-text file named "Mod_Info.cfg" inside your new folder. See section "Mod_Info.cfg" under the [[#Mods|Mods]] or [[#Tools|Tools]] section to learn what to put in the config file for that kind of package. | ||
---- | ---- | ||
4. | 4. If you have [[OniSplit|.oni]] files in your mod, you make a folder named "oni" inside your package folder. If you have [[BSL|.bsl]] files, make a folder named "bsl". If you have [[Making a patch mod|XML patches]] (.oni-patch files), make a folder named "patches". If you have other kinds of files, place them in a folder called "plain" (this is done for [[:Category:Tools|tool]] packages, not mods). See section "Folder structure" under the [[#Mods|Mods]] or [[#Tools|Tools]] section for an illustration of the required hierarchy. | ||
---- | ---- | ||
5. Make a folder called "common" inside the oni/, bsl/, patches/ or plain/ folder for files will work on both Windows and | 5. Make a folder called "common" inside the oni/, bsl/, patches/ or plain/ folder for files will work on both Windows and Intel Macs. Make a folder called "win_only" or "mac_only" if you have files intended for only one platform or if certain files need to be in one format for Windows and one for OS X (such as sounds). | ||
---- | ---- | ||
6. If your mod modifies the AE's globalized data in level0_Final, make a "level0_Final" folder inside oni/, patches/, or plain/. For every level that your mod uses, make a "levelX_Final" (e.g. "level1_Final") folder inside oni/, patches/, or plain/. However, a BSL mod uses the names of the IGMD subfolders the script(s) will go into, e.g. a script that is meant for Chapter 1 goes in | 6. If your mod modifies the AE's globalized data in level0_Final, make a "level0_Final" folder inside oni/, patches/, or plain/. For every level that your mod uses, make a "levelX_Final" (e.g. "level1_Final") folder inside oni/, patches/, or plain/. However, a BSL mod uses the names of the IGMD subfolders the script(s) will go into, e.g. a script that is meant for Chapter 1 goes in bsl/EnvWarehouse/. If you include a subfolder in oni/ that does not exist in AE Oni's GameDataFolder, or a subfolder in bsl/ that does not exist in AE Oni's GameDataFolder/IMGD/, the folder will be created, thus allowing a mod to add a a new level. | ||
---- | ---- | ||
7. Put the appropriate types of files inside their respective levelX_Final/ directories. Check the section "Folder structure" again to make sure you did it right! Zip up the package. Make sure you use a zip program that respects the executable bit when packaging a tool. The name of the zip file does not matter to the AEI, as it will give it its own name based on the name you provide to the {{OMD}} when uploading. | 7. Put the appropriate types of files inside their respective levelX_Final/ directories. Check the section "Folder structure" again to make sure you did it right! Zip up the package. Make sure you use a zip program that respects the executable bit when packaging a tool. The name of the zip file does not matter to the AEI, as it will give it its own name based on the name you provide to the {{OMD}} when uploading. | ||
'''Special note''': Be very careful when replacing (not adding) M3GM, TRAC and OBAN. With TRAC, you must include all of the children of the TRAC you are adding. With M3GM, you must also include the file that references the M3GM. With OBANs, you need to include the AKEV that links to them. | '''Special note''': Be very careful when replacing (not adding) M3GM, TRAC and OBAN. With TRAC, you must include all of the children of the TRAC you are adding. With M3GM, you must also include the file that references the M3GM. With OBANs, you need to include the AKEV that links to them. There may be other file types that need their parents or children included. | ||
===Mods=== | ===Mods=== | ||
Line 34: | Line 34: | ||
;Explanation of fields | ;Explanation of fields | ||
Entries marked with an asterisk ('''*''') are only used if the mod is not yet listed on the Mod Depot. Otherwise, the AEI will display the versions of those fields that are found on the Depot's node for that mod. | Entries marked with an asterisk ('''*''') are only used if the mod is not yet listed on the Mod Depot. Otherwise, the AEI will display the versions of those fields that are found on the Depot's node for that mod even when the mod is. | ||
; '''AEInstallVersion''' | ; '''AEInstallVersion''' | ||
: What version of the Installer is needed to read this package. | : What version of the Installer is needed to read this package. Here are the functional package-handling differences between 2.0 and 1.1 packages: | ||
*The BSL -> Addon flag is now respected properly. | |||
*DependsOn and IncompatibleWith flags added for mod interoperability. | |||
*Tools can now be placed in packages and installed like mods (using the new "plain" subdirectory). | |||
*Many .oni files can now be altered by XML patch instructions (using the new "patches" directory). | |||
*Packages now support both platforms at once (using "common", "mac_only" and "win_only" sub-directories). | |||
; '''NameOfMod''' | ; '''NameOfMod''' | ||
Line 64: | Line 69: | ||
==== Folder structure ==== | ==== Folder structure ==== | ||
Compared to the folder structure of AEI 1.1 packages, AEI 2.0 packages have one additional level of | Compared to the folder structure of AEI 1.1 packages, AEI 2.0 packages have one additional level of folders to allow one mod package to separate files by platform. | ||
12345ExampleMod(.zip) | 12345ExampleMod(.zip) | ||
Line 123: | Line 128: | ||
; '''AEInstallVersion''' | ; '''AEInstallVersion''' | ||
: What version of the Installer is needed to read this package. | : What version of the Installer is needed to read this package. All tool packages must say "2.0", as earlier AE Installers did not support tool packages. | ||
; '''NameOfMod''' | ; '''NameOfMod''' | ||
Line 154: | Line 159: | ||
; '''IconName''' | ; '''IconName''' | ||
: Path to an icon for the AEI Tools menu. Must be in PNG format and between 16x16 and 32x32 in size. If not specified, no icon will be used. | : Path to an icon for the [[AEI#Tools|AEI Tools menu]]. Must be in PNG format and between 16x16 and 32x32 in size. If not specified, no icon will be used. | ||
==== Folder structure ==== | ==== Folder structure ==== | ||
Line 180: | Line 185: | ||
:;'''AEInstallVersion''' | :;'''AEInstallVersion''' | ||
:What version of the Installer is needed to read this package (choices are 1.0 and 1.1). 1.0 is [[wikipedia:deprecated|deprecated]], but for the sake of thorough documentation, here are the functional package-handling differences between the versions: | :What version of the Installer is needed to read this package (choices are 1.0 and 1.1). 1.0 is [[wikipedia:deprecated|deprecated]], but for the sake of thorough documentation, here are the functional package-handling differences between the versions: | ||
::*Now supports BSL mods. This means that the HasBSL flag now works. See step 7. | |||
::*No more division of level0_Final into level0_Character, level0_Textures, etc., and no more need for a double-path like level1_Final/level1_Final. See step 5. | |||
::*ModString is now deprecated in place of ModVersion. | |||
::*Supports floating-point version numbers, like "ModVersion -> 1.1". | |||
::*Supports platform-specific mods by use of Platform flag. | |||
:;'''NameOfMod''' | :;'''NameOfMod''' |