19,488
edits
(updating the use of "plain/" by the AEI; wording) |
m (→Package numbering: link fix) |
||
(10 intermediate revisions by the same user not shown) | |||
Line 14: | Line 14: | ||
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. | 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 | 5. Make a folder called "common" inside the oni/, bsl/, patches/ or plain/ folder for files which will work both in Windows and on 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 macOS (such as sounds). | ||
---- | ---- | ||
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. | 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 | 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. | ||
Line 41: | Line 41: | ||
*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 | *.oni files which can be exported to XML can now have individual elements altered using patch files or scripts, in order to allow multiple mods to affect the same resources. | ||
*A single package can now support both platforms at once (using "common", "mac_only" and "win_only" sub-directories). | *A single package can now support both platforms at once (using "common", "mac_only" and "win_only" sub-directories). | ||
Line 54: | Line 54: | ||
; '''Readme''' | ; '''Readme''' | ||
: The read-me text. You can make | : The read-me text. You can make line breaks by using " \n " '''*'''. | ||
; '''IncompatibleWith''' | ; '''IncompatibleWith''' | ||
Line 63: | Line 63: | ||
; '''HasBSL''' | ; '''HasBSL''' | ||
: If set to "Yes", the Installer considers your mod a scenario and | : If set to "Yes" (or if this field is not supplied at all but your mod contains a bsl/ folder), the Installer considers your mod a standalone scenario and excludes other mods with bsl/ folders from being installed to the same level. The major limitation with BSL mods is that you cannot mix two mods containing .bsl files with the same names and expect any kind of good result, which is why the AEI will normally prevent these mods from combining or overwriting each other. However if you set the ''HasBSL'' field to "Addon", your mod will be treated as an addition to existing level scripts (vanilla or mod-originated). You are then responsible for listing any conflicting mods (ones for which your mod cannot be an addon) in the ''IncompatibleWith'' field. | ||
; '''UnlockLevel''' | ; '''UnlockLevel''' | ||
Line 157: | Line 157: | ||
:: ''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); 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'') | :: ''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'' - .NET binary, executed by the .NET Framework on Windows and by Mono in | :: ''DotNet'' - .NET binary, executed by the .NET Framework on Windows and by Mono in macOS and Linux | ||
:: ''Jar'' - Java .jar archive (assumed if ''ExeName'' ends in ".jar") | :: ''Jar'' - Java .jar archive (assumed if ''ExeName'' ends in ".jar") | ||
Line 182: | Line 182: | ||
==Package format 1.1 (deprecated)== | ==Package format 1.1 (deprecated)== | ||
{{Divhide | {{Divhide}} | ||
This is the format of package that was preferred by the Installer that came with the 2010-05 AE. Format 1.0 is not explicitly documented here, but the differences between 1.0 and 1.1 are summarized below; 1.0 was the format used for packages when the AE 2009-07 was released. | This is the format of package that was preferred by the Installer that came with the 2010-05 AE. Format 1.0 is not explicitly documented here, but the differences between 1.0 and 1.1 are summarized below; 1.0 was the format used for packages when the AE 2009-07 was released. | ||
Line 195: | Line 195: | ||
:;'''AEInstallVersion''' | :;'''AEInstallVersion''' | ||
:What version of the Installer is needed to read this package (choices are 1.0 and 1.1). 1.0 is [[wikipedia: | :What version of the Installer is needed to read this package (choices are 1.0 and 1.1). 1.0 is [[wikipedia:Deprecation#Software|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. | ::*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. | ::*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. | ||
Line 226: | Line 226: | ||
You are done! Sample mod directory: | You are done! Sample mod directory: | ||
===Folder structure=== | ===Folder structure=== | ||
81000TCTF3 | 81000TCTF3 | ||
Line 243: | Line 244: | ||
{|border="0" | {|border="0" | ||
|- | |- | ||
|'''0 - 7999''' | | style="text-align:right"|'''0 -''' | ||
| style="text-align:right"|'''7999''' | |||
|'''Reserved for [[Anniversary Edition/Core|core AE mods]]''' | |'''Reserved for [[Anniversary Edition/Core|core AE mods]]''' | ||
|- | |- | ||
|'''8000 - 9999''' | | style="text-align:right"|'''8000 -''' | ||
| style="text-align:right"|'''9999''' | |||
|'''Reserved for tool packages''' | |'''Reserved for tool packages''' | ||
|- | |- | ||
|'''10000 - 19999''' | |'''10000 -''' | ||
|'''19999''' | |||
|Weapons | |Weapons | ||
|- | |- | ||
|'''20000 - 29999''' | |'''20000 -''' | ||
|Characters | |'''29999''' | ||
|Characters, new textures for existing levels and characters | |||
|- | |- | ||
|'''30000 - 39999''' | |'''30000 -''' | ||
|'''39999''' | |||
|Particles | |Particles | ||
|- | |- | ||
|'''40000 - 49999''' | |'''40000 -''' | ||
|'''49999''' | |||
|Animations (non-combat) | |Animations (non-combat) | ||
|- | |- | ||
|'''50000 - 59999''' | |'''50000 -''' | ||
|'''59999''' | |||
|Animations (combat) | |Animations (combat) | ||
|- | |- | ||
|'''60000 - 69999''' | |'''60000 -''' | ||
|'''69999''' | |||
|Sounds, Music | |Sounds, Music | ||
|- | |- | ||
|'''70000 - 79999''' | |'''70000 -''' | ||
|'''79999''' | |||
|UI (menu screens, HUD, etc.) | |UI (menu screens, HUD, etc.) | ||
|- | |- | ||
|'''80000 - 89999''' | |'''80000 -''' | ||
|New levels | |'''89999''' | ||
|New levels | |||
|- | |- | ||
|'''90000 - 99999''' | |'''90000 -''' | ||
|'''99999''' | |||
|Scenarios (BSL mods for other people's levels) | |Scenarios (BSL mods for other people's levels) | ||
|} | |} | ||
Line 286: | Line 298: | ||
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 by entering it into [[Vago (tool)|Vago's]] 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 package 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. To see which level numbers (as in "levelX_Final") have been used already by new fan-made levels, see [[Creating a level#Fan-made levels|HERE]]. | ||
[[Category:Modding tutorials]] | [[Category:Modding tutorials]] |