19,094
edits
m (Divhide makes the section unreachable from the TOC if it encloses the section header) |
(updating the use of "plain/" by the AEI; wording) |
||
Line 12: | Line 12: | ||
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. | 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. 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 | 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" and then a subfolder with the name of a folder under the AE/ directory for the files to be copied into (this is generally only done by 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 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). | 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 | 6. If your mod alters data which the AE globalizes into level0_Final, make a "level0_Final" folder inside oni/ or patches/. For every level that your mod uses, make a "levelX_Final" (e.g. "level1_Final") folder inside oni/ or patches/. However, a BSL mod uses the names of the IGMD subfolder(s) that 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 | 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 preserves the executable bit when packaging a tool. The name of the zip file does not matter to the AEI; after it downloads and expands the .zip on the user's computer, it will title the expanded folder using the text you entered in the "Mod name" field when uploading the mod to the {{OMD}}. | ||
'''Special note''': Be very careful when replacing (not adding) M3GM, TRAC and OBAN. With TRAC, you must include all of the child TRACs 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. | '''Special note''': Be very careful when replacing (not adding) M3GM, TRAC and OBAN. With TRAC, you must include all of the child TRACs 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=== | ||
==== Mod_Info.cfg ==== | ====Mod_Info.cfg==== | ||
AEInstallVersion -> 2.0 | AEInstallVersion -> 2.0 | ||
NameOfMod -> Improved Weapons | NameOfMod -> Improved Weapons | ||
Line 40: | Line 40: | ||
*The BSL -> Addon flag is now respected properly. | *The BSL -> Addon flag is now respected properly. | ||
*DependsOn and IncompatibleWith flags added for mod interoperability. | *DependsOn and IncompatibleWith flags added for mod interoperability. | ||
*Tools can now be placed in packages and installed like mods | *Tools can now be placed in packages and installed like mods. | ||
* | *.oni files which can be exported to XML can now have individual data fields altered using scripts, in order to allow multiple mods to affect the same files. | ||
* | *A single package can now support both platforms at once (using "common", "mac_only" and "win_only" sub-directories). | ||
; '''NameOfMod''' | ; '''NameOfMod''' | ||
: The "public" name of the mod. | : The "public" name of the mod. This should be more or less identical to whatever you entered in the "Mod name" field when uploading this mod to the Depot '''*'''. | ||
; '''ModVersion''' | ; '''ModVersion''' | ||
Line 57: | Line 57: | ||
; '''IncompatibleWith''' | ; '''IncompatibleWith''' | ||
: Package numbers of mods this mod will not work with at the same time. Multiple entries separated by ",". | : Package numbers of mods which this mod will not work with if they are installed at the same time. Multiple entries separated by ",". | ||
; '''DependsOn''' | ; '''DependsOn''' | ||
: Package numbers of mods this mod | : Package numbers of mods that this mod requires in order to function. Multiple entries separated by ",". | ||
; '''HasBSL''' | ; '''HasBSL''' | ||
Line 66: | Line 66: | ||
; '''UnlockLevel''' | ; '''UnlockLevel''' | ||
: If | : If the mod adds a new level, this flag allows you to unlock that level in [[persist.dat]] so the player can access it on the Load Game screen. Multiple level numbers can be given separated by ",". Note that an [[ONLD]] for a new level must be supplied by the mod, or else it won't be displayed in the Load Game dialog. | ||
==== Folder structure ==== | ====Folder structure==== | ||
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. | 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. Note that, for mods, the "plain/" directory can only contain a GameDataFolder/ subfolder; mods are not allowed to place files outside this directory. | ||
12345ExampleMod(.zip) | 12345ExampleMod(.zip) | ||
Line 93: | Line 93: | ||
level''#''_Final/ | level''#''_Final/ | ||
*.oni-patch | *.oni-patch | ||
plain/ | |||
common/ | |||
win_only/ | |||
GameDataFolder/ | |||
intro.bik | |||
mac_only/ | |||
GameDataFolder/ | |||
intro.mov | |||
bsl/ | bsl/ | ||
common/ | common/ | ||
Line 104: | Line 112: | ||
*.bsl | *.bsl | ||
Folders without content can be left out, so a basic mod | Folders without content can be left out, so a basic mod that only modifies level 0 and only works on Macs will look like this: | ||
12345ExampleMod | 12345ExampleMod | ||
Mod_Info.cfg | Mod_Info.cfg | ||
Line 112: | Line 120: | ||
myFile.oni | myFile.oni | ||
=== Tools === | ===Tools=== | ||
==== Mod_Info.cfg ==== | ====Mod_Info.cfg==== | ||
AEInstallVersion -> 2.0 | AEInstallVersion -> 2.0 | ||
NameOfMod -> OniSplit | NameOfMod -> OniSplit | ||
Line 143: | Line 151: | ||
; '''ExeName''' | ; '''ExeName''' | ||
: Path to the executable file if it should be added to the Tools menu of the AEI. Probably mostly useful for GUI-based tools. Do not forget to add the path to the file in relation to the AE/ folder. | : Path to the executable file if it should be added to the Tools menu of the AEI. Probably mostly useful for GUI-based tools. Do not forget to add the path to the file in relation to the AE/ folder. | ||
; '''ExeType''' | ; '''ExeType''' | ||
: Type of the executable. Important if the executable has to be run by a specific interpreter like . | : Type of the executable. Important if the executable has to be run by a specific interpreter like .NET. Allowed values are: | ||
:: ''OSBinary'' - Normal binary which can be executed by itself (assumed by default) | :: ''OSBinary'' - Normal binary which can be executed by itself (assumed by default) | ||
:: ''WinExe'' - Normal Windows executable (.exe) | :: ''WinExe'' - Normal Windows executable (.exe); only supported for Windows-only packages (the AEI assumes this is the type if ''ExeName'' ends in ".exe" and ''ExeType'' is not given as ''DotNet'') | ||
:: ''DotNet'' - . | :: ''DotNet'' - .NET binary, executed by the .NET Framework on Windows and by Mono in Mac OS X and Linux | ||
:: ''Jar'' - Java .jar archive (assumed if ''ExeName'' ends in ".jar") | :: ''Jar'' - Java .jar archive (assumed if ''ExeName'' ends in ".jar") | ||
; '''WorkingDir''' | ; '''WorkingDir''' | ||
: Specify the working directory for the executable specified by ''ExeName''. | : Specify the working directory for the executable specified by ''ExeName''. Allowed values are: | ||
:: ''Base'' - Working directory is the AE/ folder (assumed by default) | :: ''Base'' - Working directory is the AE/ folder (assumed by default) | ||
:: ''Exe'' - Working directory is the folder where the executable is located | :: ''Exe'' - Working directory is the folder where the executable is located | ||
Line 161: | Line 169: | ||
: 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. | : 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==== | ||
00000OniSplit(.zip) | 00000OniSplit(.zip) | ||
Mod_Info.cfg | Mod_Info.cfg | ||
Line 171: | Line 179: | ||
mac_only/ | mac_only/ | ||
The folder | The folder "plain/" is for files that are not game data or BSL, such as 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. Note that while "plain/" can be used for mod packages too, only files placed in a subfolder called GameDataFolder/ will actually be moved to that location, as mods are not allowed to install files outside that directory. | ||
==Package format 1.1 (deprecated)== | ==Package format 1.1 (deprecated)== |