Anniversary Edition/Framework

From OniGalore
< Anniversary Edition
Revision as of 20:45, 26 September 2009 by Iritscen (talk | contribs) (actually, let's put the tutorial on its own page)
Jump to navigation Jump to search

The 2009-07 release of the Edition introduced a revised framework. You should place the unzipped contents of the AE release for your platform into a fresh copy of Oni's folder, rather than a copy of Oni that already had an older Edition installed. Following is a rundown of how globalization and mod installation work. To learn how to make your own mod package, which is required in order for the AE Installer to handle your mod properly, see AE:Making an AE package.

The globalization process

When first running the Installer, this is a one-time process that takes the vanilla .dats in Oni's GDF and breaks them into thousands of .oni files in folders like Edition/GDF/level1_Final. Next, the Installer combines those folders of .oni files into singleton, large .oni files, one for each level, in Edition/install/VanillaDats/. Note that no data has been modded yet, just reformatted. This process of pre-compiling the data results in a large speed increase over previous recombination methods.

The mod installation process

Right after this, the Installer prompts you to choose some mods to install. When you hit the Install button, the Installer starts off by deleting the existing .dat/.raw(/.sep) files in Edition/GDF to start from a blank slate. It then iterates through each mod package you selected, and sends a command to OniSplit to combine the singleton .oni for that level (in VanillaDats) with the .oni files in whichever packages have files meant for that level. The final .dat/.raw(/.sep) files are then created in Edition/GDF.

Implications of the new process

The import of this is that the folders of .oni files in Edition/GDF/ are never used again after the globalization is done. In the old way of doing things, these folders were what you modded files in, and then recombined to generate new .dat/.raw(/.sep) files. However, if you tried that approach now, and altered those folders' files, and recompiled them, you would find yourself playing an Oni with only your mod and no AE mods, because the -import command you used on the "_Final" folder left out the AE's mods in Edition/install/packages/. And the next time you installed or removed a mod using the Installer, you would find yourself playing an Oni with only the AE mods, and not your own. Your modded files would still be in the "_Final" folder you placed them in, but the -import command that the Installer used didn't look at those "_Final" folders, it worked from the giant singleton .oni files for each level that were in VanillaDats instead.

Put even more simply, your new modded files have a mutual exclusion with the AE's modded files; only one or the other can be active at a time. No actual harm is being done in terms of lost data if you attempt to mod in this old way, but it means that the smart way to mod is always to make a package and install it through the Installer, even if you are merely testing something. This has the nice side effect of forcing you to be organized :-)