Making a mod package: Difference between revisions

From OniGalore
Jump to navigation Jump to search
m (→‎Mod_Info.cfg: tweaks)
Line 93: Line 93:


==== Mod_Info.cfg ====
==== Mod_Info.cfg ====
  AEInstallVersion -> 2.0
  AEInstallVersion -> 2.0
  NameOfMod -> Onisplit
  NameOfMod -> OniSplit
  Creator -> Neo
  Creator -> Neo
  ModVersion -> 0.9.77.0
  ModVersion -> 0.9.82.0
  Readme -> Management of Oni's .dat files
  Readme -> Management of Oni's .dat files
  ExeName -> Tools/MyExe.exe
  ExeName -> Tools/OniSplit.exe
  ExeType -> DotNet
  ExeType -> DotNet
  WorkingDir -> Base
  WorkingDir -> Base
  IconName -> Tools/MyIcon.png
  IconName -> Tools/MyIcon.png


Explanation of fields in the Config: (Entries marked with an asterisk ('''*''') are only used if the mod is not yet listed on the depot)
=====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 version of those fields that is found on the mod's Depot node.


; '''AEInstallVersion'''
; '''AEInstallVersion'''
Line 121: Line 122:


; '''ExeName'''
; '''ExeName'''
: Path to the executable file if it should be integrated in the tools menu of AEI. Probably mostly useful for GUI based tools. Do not forget to add the path to the file in relation to the Edition-base folder. (Optional tag)
: 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. (Optional tag)


; '''ExeType'''
; '''ExeType'''
: Type of the executable. Important if the executable has to be run by a specific interpreter like .Net. Can be either one of:
: Type of the executable. Important if the executable has to be run by a specific interpreter like .Net. Can be either one of:
:: ''OSBinary'' - Normal binary which can be executed by itself (assumed by default)
:: ''OSBinary'' - Normal binary which can be executed by itself (assumed by default)
:: ''DotNet'' - .Net binary, executed by MS.NET on Windows, Mono on MacOS / Linux
:: ''DotNet'' - .Net binary, executed by MS.NET on Windows, Mono on 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")


Line 136: Line 137:


; '''IconName'''
; '''IconName'''
: Path to an icon for the 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 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 ====

Revision as of 22:01, 17 March 2013

Package format 2.0

Mods

Mod_Info.cfg

AEInstallVersion -> 2.0
NameOfMod -> Improved Weapons
Creator -> Geyser, Loser, Iritscen, Gumby
ModVersion -> 1.1
IncompatibleWith -> 11100,23050
DependsOn -> 45000
UnlockLevel -> 25
Readme -> Improves the appearance and mechanics of existing Oni weapons. \n \n Currently contains...
Explanation of fields

Entries marked with an asterisk (*) are only used if the mod is not yet listed on the Oni Mod Depot. Otherwise, the AEI will display the versions of those fields that are found on the Depot's node for that mod.

AEInstallVersion
What version of the Installer is needed to read this package.
NameOfMod
The "public" name of the mod. It can be anything you like, but should be written in an easily understandable manner *.
ModVersion
The version of the mod *.
Creator
The name(s) that you want to get credit for the mod *.
Readme
The read-me text. You can make linebreaks by using " \n " *.
IncompatibleWith
Package numbers of mods this mod will not work with at the same time. Multiple entries separated by ",".
DependsOn
Package numbers of mods this mod depends on to function. Multiple entries separated by ",".
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. Mods with conflicting BSL files for a level should be listed in the IncompatibleWith field. If this tag is left out, "Yes" is assumed by default if the mod contains a "bsl/" folder.
UnlockLevel
If this mod adds a new level this flag allows to unlock that level in persist.dat. Multiple level numbers can be given separated by ",".

Folder structure

Compared to the folder structure of AEI1.1-packages AEI2 packages have one additional level of folders within the /oni and /bsl folder to allow for one mod-package to support both platforms. So if a mod contains sounds for PC and MacOS you just put the OS-dependent files within the appropriate folder in either win_only or mac_only. Furthermore we now have the ability to add XML patches. Those have to go to the apropriate folder within /patches.

12345ExampleMod(.zip)
    / Mod_Info.cfg
    / oni
        / common
            / level#_Final
                / ...
        / win_only
            / level#_Final
                / ...
        / mac_only
            / level#_Final
                / ...
    / patches
        / common
            / level#_Final
                / ...
        / win_only
            / level#_Final
                / ...
        / mac_only
            / level#_Final
                / ...
    / bsl
        / common
            / tctf_ii
                / ...
        / win_only
            / tctf_ii
                / ...
        / mac_only
            / tctf_ii
                / ...

Folders without content can be left out, so a basic mod with only level0-.oni-files for MacOS only will look like this:

/ 12345ExampleMod
    / Mod_Info.cfg
    / oni
        / mac_only
            / level0_Final
                / myFile.oni

Tools

Mod_Info.cfg

AEInstallVersion -> 2.0
NameOfMod -> OniSplit
Creator -> Neo
ModVersion -> 0.9.82.0
Readme -> Management of Oni's .dat files
ExeName -> Tools/OniSplit.exe
ExeType -> DotNet
WorkingDir -> Base
IconName -> Tools/MyIcon.png
Explanation of fields

Entries marked with an asterisk (*) are only used if the mod is not yet listed on the Oni Mod Depot, otherwise the AEI will display the version of those fields that is found on the mod's Depot node.

AEInstallVersion
What version of the Installer is needed to read this package.
NameOfMod
The "public" name of the mod. It can be anything you like, but should be written in an easily understandable manner *.
ModVersion
The version of the mod *.
Creator
The name(s) that you want to get credit for the mod *.
Readme
The read-me text. You can make linebreaks by using " \n " *.
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. (Optional tag)
ExeType
Type of the executable. Important if the executable has to be run by a specific interpreter like .Net. Can be either one of:
OSBinary - Normal binary which can be executed by itself (assumed by default)
DotNet - .Net binary, executed by MS.NET on Windows, Mono on Mac OS X and Linux
Jar - Java .jar archive (assumed if ExeName ends in ".jar")
WorkingDir
Specify the working directory for the executable specified by ExeName. Can be either one of:
Base - Working directory is the Edition folder (assumed by default)
Exe - Working directory is the folder where the executable is located
GDF - Working directory is the GameDataFolder
IconName
Path to an icon for the tools menu. Must be in PNG format and between 16x16 and 32x32 in size. If not specified, no icon will be used.

Folder structure

00000OniSplit(.zip)
    / Mod_Info.cfg
    / plain
        / common
            / Tools
                / Onisplit.exe
        / win_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 Edition, so the example would put the file in "$VanillaOni/Edition/Tools/Onisplit.exe" on both platforms.

Package format 1.1

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 Anniversary Edition Installer (AEI): 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.
  • ModString is now deprecated in place of ModVersion.
  • Supports floating-point version numbers, like "ModVersion -> 1.1".
  • Supports platform-specific mods by use of Platform flag.
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; tells the Installer 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.


Package numbering

Please read on HERE.


used numbers

AE packages are marked with an asterisk (*).
Placeholders are marked with two asterisk (**).

Last update: Aug. 20, 2012

11000 Better Weapons (*)
11100 Three Dee Shells (3D bullet casing)
12000 New Weapons (*)
12010 Assualt Rifle
12100 ONIrules Weapons Collection 2
12300 Devastator
13000 Multi Use Explosive
21000 Upgraded ONCCs (*)
21200 Sentry Droid
21300 Guard Dogs
21400 Wraith Mod Squad / Wraith Squad
21500 Brutal AI
22000 New Characters 
22005 Sam Mega Pack - Characters
22006 Sam Mega Pack - Conversion
22007 Sam Mega Pack - Levels(**)
22008 Custom Character Mega Pack BGI (Level modifications + Characters)(**)
22009 Custom Character Mega Pack BGI (Characters only)(**)
22010 Custom Character Mega Pack BGI (Level modifications only)(**)
22015 BGI Executives, Guards, Receptionist*
22016 BGI Sarai (**)
22017 BGI Agents
22018 BGI Troopers (**)
22019 BGI Jubei and Akane original version 
22020 BGI Assassins (updated Jubei & Akane)(**)
22022 BGI Hydra (**)
22023 BGI Hammer
22024 BGI Typhoon(**)
22025 BGI Ninja Bot
22026 BGI Heavy Bot
22027 BGI Bat *
22028...
22029...
22030...
22110 White Chief
22111 Black Chief
22200 Konoko's Special Wardrobe
22300 Bozzman's TCTF
22500 Muro's Wardrobe
22390 RedBlackSwitch
22400 Blackops Syndicate by TOCS
22410 Konoko and Female Blackops
22450 Casual Tanker
22500 Daodanized Mukade
23000 Shinatama Too (*)
23100 Shinatama Bot
23150 Berserker Gally (Alita)
23200 Golden TCTF
23201 GoldenTCTF Fight
23205 Ultimate Griffin (**)
23210 ............. (?)
23300 James and Jamie Hasegawa
23400 Kyrie\Akirie (**)
23500 Casey
23580 Red Fury Variant 4
23590 GreyFury2.0
23595 Regenerating Tanker
23600 Kojiro 2.0
23605 Apollo (**)
23610 Hayate 2.0
23615 Hanako
23620 Thor*
23630 Mutant Jester
23640 RAYMAN (**)
23650 CHUCK NORRIS (**)
23660...
23670...
23680...
23690 Semi Mutant Muro (**)
23700 Mutant Konokos (**)
23900 Character Additives
23905 Skull Team Fight
24000 Severed Textures (*)
24100 HQ Training Textures
24104 HQ Airport Textures
24110 Vicious Reillys Konoko
24210 Yin Yang Fury
24220 StoneTank
24230 Metal Ninja
24240 Elite Tanker
24150 Konoko-Three-in-one
25000 Motoko
26000 Konoko HD
27000 Alita Last Order
28000 Griffin HD
29000 Character Retexture
29001 TCTF Package
24500 Better Consoles and Doors
24501 Better Warehouse and Training
31000 Glass Breaking Moves (*)
32000 Dangerous Glass (*)
32100 Complete Glass Mod
33000 Improved Weather (*)
34000 Exploding Barrel
34090 Blood
34100 Perceptible Blood
39000 Black Chenille (demo about black plus alpha issue)
42000 Dashing AI (*)
44000 Konoko Retextured
44001 Comguy Retextured Reflective
45000 Ninja Shadow Dash (*)
45500 Dash Blur (*)
46000 Prone Mode Revisited
50000 Jewel Fix
51000 Unlock All Moves (*)
52000 Andrashi TRAMs (*)
52100 Fixed TRAM
52200 Particle Trails
52230 Stunned Throws Fix
53000 Knockdown Revamp (*)
55000 New Animations
55000 Barabus Jetpack
55010 Barabus Draining Regeneration
56000 Mod Brick 1 Speed
60000 All Starlab
70000 HD Screens
70100 Mukade Clones
77700 Survival
77720 Crazy Casey
77721 Crazy Casey Final Battle
77730 Shins New Shoes
77770 Oni Zen Garden Roof
77771 Oni Zen Garden Arena
80100 Real Skies
80200 Arena of Hurt
80210 Junkyard
80220 Hexagon
80230 Muro's Lair - Mission 1
80240 Parkour Challenge
80260 De Dust Deluxe
80270 Boss Battle
80280 Old China
80300 Level Maze
83000 nyan cat
88000 TCTF Regional HQ MOD
90100 Titan Mode
90110 Aiport Assault 2 (v1)
99900 Door Lock Bombing (demo)
99901 Head Shot Mod (beta / POC)
99902 Muro Plasma
99903 Muro Kamehameha idea (**)