Making a mod package: Difference between revisions
(d'oh, fixing an unfinished sentence) |
(writing documentation for Installer 1.1 in hidden text, so when we release we can just uncomment it and we're set) |
||
Line 1: | Line 1: | ||
The Anniversary Edition comes with a set of mods in the "package" format. This new [[Anniversary Edition/Framework|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, but in any case you'll need to learn how a package is made: | The Anniversary Edition comes with a set of mods in the "package" format. This new [[Anniversary Edition/Framework|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, but in any case you'll need to learn how a package is made: | ||
1. Open up your Edition/install/packages folder. | |||
---- | |||
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 [[Anniversary Edition/Framework#Package numbering|HERE]] to know how to number your mod. | |||
---- | |||
3. Create (or copy) a config file named "Mod_Info.cfg" inside your new folder. | 3. Create (or copy) a config file named "Mod_Info.cfg" inside your new folder. | ||
Sample: | Sample: | ||
AEInstallVersion -> | AEInstallVersion -> 1.0 | ||
NameOfMod -> Upgraded ONCCs | NameOfMod -> Upgraded ONCCs | ||
ModString -> 21000UpgradedONCCs 1 | ModString -> 21000UpgradedONCCs 1 | ||
Line 16: | Line 17: | ||
Readme -> Gives enemies more health, better bullet dodging, and better blocking skills. | Readme -> Gives enemies more health, better bullet dodging, and better blocking skills. | ||
''AEInstallVersion'' | ;'''AEInstallVersion''' | ||
:What version of the Installer is needed to read this package. Right now there is only one significant release of the Installer, 1.0, so all packages should say 1.0. <!--There are two significant releases of the Installer, 1.0 and 1.1. If you make a new package at this point, you should just set its AEInstallVersion to 1.1 to be safe. Following, for the sake of thorough documentation, are the functional package-handling differences between the versions: | |||
::1.0 (Edition 2009-07): Initial release. | |||
::1.1 (Edition 2009-11): Now supports "HasBSL" values "Yes" and "Addon". Now expects .oni files to be in oni/levelX_Final/, rather than oni/levelX_Final/levelX_Final.--> | |||
'' | ;'''NameOfMod''' | ||
:The "public" name of the mod. It can be anything you like, but should be written in an easily understandable manner, since it is displayed for the user in the Installer. | |||
'' | ;'''ModString''' | ||
:This line has two parts. The first is the name of the folder the mod is in. The second is the version of the mod (integers only, please).<!--are we changing the name in this field to be the persistent ID?--> | |||
'' | ;'''Creator''' | ||
:The name(s) that you want to get credit for the mod, displayed to the user in the Installer. | |||
;'''HasOnis''' | |||
:Set this to "Yes" to tell the installer that .oni files are present. | |||
<!--;'''HasBSL''' | |||
:If set to "Yes", the Installer considers your mod a scenario and takes steps to exclude other BSL scenario mods from being installed for the same level. If set to "Addon", the Installer allows your mod to be installed to any level without restriction. Of course not all third-party BSL add-ons are guaranteed to be compatible with each other, but this is an inherent risk in third-party modding.--> | |||
;'''Readme''' | |||
:The read-me text displayed for the user in the installer. You can make linebreaks by using " \n ". | |||
---- | |||
4. If you have .oni files (the only type of files supported right now), make a folder named "oni" inside your package folder. | 4. If you have .oni files (the only type of files supported right now), make a folder named "oni" inside your package folder. | ||
<!--If you have .bsl files, make a folder named "bsl" inside the package folder.--> | |||
---- | |||
5. If your mod modifies level0_Final, make a "level0_Final" folder inside "oni". | 5. If your mod modifies level0_Final, make a "level0_Final" folder inside "oni". | ||
Line 44: | Line 54: | ||
...inside level0_Final | ...inside level0_Final | ||
<!--^ no longer true, now everything goes in level0_Final/--> | |||
6. For every level that your mod uses, make a "levelX_Final" folder inside "oni". (level1_Final, level2_Final, etc...) New levels are currently not detected. | 6. For every level that your mod uses, make a "levelX_Final" folder inside "oni". (level1_Final, level2_Final, etc...) New levels are currently not detected. | ||
7. In each of the folders created in the previous step, make another "levelX_Final" folder inside the first one. | 7. In each of the folders created in the previous step, make another "levelX_Final" folder inside the first one. <!--this step is now obsolete--> | ||
8. Put level0 .oni files inside their respective folders as created in step 5.<!--woot, another obsolete step--> | |||
9. Put levelX (anything but level0) .oni files inside their respective levelX_Final/levelX_Final directories.<!--only one level of directory, now, not two--> | |||
You are done! | |||
---- | |||
Be very careful when replacing (not adding) M3GM and TRAC, they can be a bit touchy. 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. | Be very careful when replacing (not adding) M3GM and TRAC, they can be a bit touchy. 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. | ||
Revision as of 01:49, 30 October 2009
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, but in any case you'll need to learn how a package is made:
1. Open up your Edition/install/packages folder.
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 HERE to know how to number your mod.
3. Create (or copy) a config file named "Mod_Info.cfg" inside your new folder.
Sample:
AEInstallVersion -> 1.0 NameOfMod -> Upgraded ONCCs ModString -> 21000UpgradedONCCs 1 Creator -> Loser HasOnis -> Yes Readme -> Gives enemies more health, better bullet dodging, and better blocking skills.
- AEInstallVersion
- What version of the Installer is needed to read this package. Right now there is only one significant release of the Installer, 1.0, so all packages should say 1.0.
- NameOfMod
- The "public" name of the mod. It can be anything you like, but should be written in an easily understandable manner, since it is displayed for the user in the Installer.
- ModString
- This line has two parts. The first is the name of the folder the mod is in. The second is the version of the mod (integers only, please).
- Creator
- The name(s) that you want to get credit for the mod, displayed to the user in the Installer.
- HasOnis
- Set this to "Yes" to tell the installer that .oni files are present.
- Readme
- The read-me text displayed for the user in the installer. You can make linebreaks by using " \n ".
4. If you have .oni files (the only type of files supported right now), make a folder named "oni" inside your package folder.
5. If your mod modifies level0_Final, make a "level0_Final" folder inside "oni".
- If you have...
TRAC, TRAM make a level0_Animations folder... ONSK, TXMP make a level0_Textures folder... ONCC, TRBS, ONCV, ONVL, TRMA, TRSC, TRAS make a level0_Characters folder... OSBD, SNDD make a level0_Sounds folder... BINA3RAP make a level0_Particles folder... Anything else, make a level0_Final folder...
...inside level0_Final 6. For every level that your mod uses, make a "levelX_Final" folder inside "oni". (level1_Final, level2_Final, etc...) New levels are currently not detected.
7. In each of the folders created in the previous step, make another "levelX_Final" folder inside the first one.
8. Put level0 .oni files inside their respective folders as created in step 5.
9. Put levelX (anything but level0) .oni files inside their respective levelX_Final/levelX_Final directories.
You are done!
Be very careful when replacing (not adding) M3GM and TRAC, they can be a bit touchy. 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.
Whenever possible, copy the files from packages\Globalize instead of the default Oni files.
New ONCCs should have this inside the ONCP:
<ONCPParticle> <Name>glass_break</Name> <Type>glass_break</Type> <BodyPart>-1</BodyPart> </ONCPParticle>
If they do not, they will not be able to break glass when a user installs the glass-breaking AE mod.