Making a mod package

From OniGalore
Revision as of 05:04, 27 May 2010 by Gumby (talk | contribs) (Please, every time i change a mod with those old uneccessary values I delete them)
Jump to navigation Jump to search

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.1
NameOfMod -> Improved Weapons
ModVersion -> 1.1
Category -> AE: Weapons
Creator -> Geyser/Loser/Iritscen/Gumby
HasOnis -> Yes
Readme -> Improves the appearence and mechanics of existing Oni weapons. \n \n Currently contains...
AEInstallVersion
What version of the Installer is needed to read this package. 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 2010-05):
  • 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. The 1.0 package hierarchy still works, however.
  • Supports floating-point version numbers, like "ModString -> 11000BetterWeaps 1.1".
  • ModString is now depreciated for ModVersion.
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.
ModVersion
The version of the mod, used to know if you are using the most current version when updating.
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.
Platform
If set to "Windows", mod is not listed in the Installer window on the Macintosh. If set to "Macintosh", mod is ignored on Windows.
Readme
The read-me text displayed for the user in the installer. You can make linebreaks by using " \n ".

Flags not documented here are currently ignored by the Installer.


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.


5. If your mod modifies the global data in level0_Final, make a "level0_Final" folder inside "oni". 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. 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 levelX (anything but level0) .oni files inside their respective levelX_Final/ directories.

You are done! Sample mod directory:

81000TCTF3

bsl
tctf_ii
tctf_ii_cutscene.bsl
Mod_Info.cfg
oni
level0_Final
SUBTmessages.oni
level18_Final
BINACJBOCharacter.oni

Special Notes

  • 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.