Jump to content

Making a mod package: Difference between revisions

slight rewrite
m (→‎Package numbering: modder must use five digits)
(slight rewrite)
Line 1: Line 1:
__TOC__
The Anniversary Edition comes with a set of mods in the "package" format. This new framework also allows modders to make third-party mods that will install easily into the Edition. You can start your package by copying an existing AE package and modifying it to save time.
The Anniversary Edition comes with a set of mods in the "package" format. This new framework also allows modders to make third-party mods that will install easily into the Edition. You can start your package by copying an existing AE package and modifying it to save time.


Line 6: Line 4:
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, follow these [[seven]] easy steps:
To create a new mod package from scratch, use [[Vago (tool)|Vago's]] package wizard or follow these [[seven]] easy steps:


1. Open up your AE/install/packages/ folder.
1. Create a new folder with a name corresponding to your mod.
----
----
2. Create a new folder with a name corresponding to your mod. No spaces, please. The five digit number in front corresponds to where in the load order you want your mod to be. Please, leave some space between your mod and other AE mods. See the [[#Package numbering|numbering section below]] to know how to number 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, 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 (or copy) a config file named "Mod_Info.cfg" inside your new folder (see section "Mod_Info.cfg" below).
3. Create a plain-text file named "Mod_Info.cfg" inside your new folder (see section "Mod_Info.cfg" for what to put in it).
----
----
4. If you have .oni files, make a folder named "oni" inside your package folder. If you have .bsl files, make a folder named "bsl" inside the package folder. If you have XML patches (.oni-patch files), make a folder named "patches" inside the package folder.
4. As you can see below in the "Folder structure" settings, if you have .oni files in your mod, you make a folder named "oni" inside your package folder. If you have .bsl files, make a folder named "bsl"; if you have 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 tool packages, not mods).
----
----
5. Make a folder called "common" inside the oni/, bsl/, or patches/ folders if your mod will work on both Windows and Mac OS X. 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.
5. Make a folder called "common" inside the oni/, bsl/, patches/ or plain/ folder for files will work on both Windows and Mac OS X. 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 global data in level0_Final, make a "level0_Final" folder inside "oni" or "patches". For every level that your mod uses, make a "levelX_Final" folder inside "oni" (level1_Final, level2_Final, etc...). 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/".
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/".
----
----
7. Put the appropriate types of files inside their respective levelX_Final/ directories. Check the section "Folder structure" below to make sure you did it right!
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.
Line 36: 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 {{OMD}}. 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.


; '''AEInstallVersion'''
; '''AEInstallVersion'''
Line 66: Line 64:


==== Folder structure ====
==== Folder structure ====
Compared to the folder structure of AEI 1.1 packages, AEI 2.0 packages have one additional level of folders within the oni/ and bsl/ folders to allow one mod package to support both platforms. So if a mod contains sounds for Windows and Mac OS X, you put the OS-specific files within the appropriate folder, win_only/ or mac_only/. Furthermore, we now have the ability to add XML patches. Those have to go to the appropriate folder within patches/.
Compared to the folder structure of AEI 1.1 packages, AEI 2.0 packages have one additional level of folders within the oni/ and bsl/ folders to allow one mod package to support both platforms. So if a mod contains sounds for Windows and Mac OS X, you put the OS-specific files within the appropriate folder, win_only/ or mac_only/.


  12345ExampleMod(.zip)
  12345ExampleMod(.zip)
Line 159: Line 157:


==== Folder structure ====
==== Folder structure ====
  00000OniSplit(.zip)
  00000OniSplit(.zip)
     Mod_Info.cfg
     Mod_Info.cfg
Line 169: Line 166:
         mac_only/
         mac_only/


The folder ''plain/'' is for files not related to mods. Files/folders within "plain/[platform]/" are relative to the base folder of the AE, so the example would put the file in "$VanillaOni/AE/Tools/OniSplit.exe" on both platforms.
The folder ''plain/'' is for non-mod files, whether executables, text files, etc. Files/folders within "plain/[platform]/" are relative to the base folder of the AE, so this example would put the file in "AE/Tools/OniSplit.exe" on both platforms.


{{Divhide|Package format 1.1 (deprecated)}}
{{Divhide|Package format 1.1 (deprecated)}}
Line 259: Line 256:
41001 - must be an addition or improvement for mod 41000, or why else would they be numbered so closely?
41001 - must be an addition or improvement for mod 41000, or why else would they be numbered so closely?


Okay, so now you get the idea, but how do you know which numbers are free? Click [http://mods.oni2.net/mods/Package?order=field_package_number&sort=asc here] to see all used numbers on the Depot. You can also check the number inserting it in [http://mods.oni2.net/node/247 Vago] (from v0.7) AEI2 package creation wizard and clicking the Check button, and it will automatically check it for you.
Okay, so now you get the idea, but how do you know which numbers are free? Click [http://mods.oni2.net/mods/Package?order=field_package_number&sort=asc here] to see all used numbers on the Depot. You can also check the number by entering it into [[Vago (tool)|Vago's]] package creation wizard and clicking the Check button, and it will automatically check it for you.


[[Category:Modding tutorials]]
[[Category:Modding tutorials]]