mirror of
https://github.com/Laupetin/OpenAssetTools.git
synced 2025-04-21 16:45:44 +00:00
326 lines
6.0 KiB
Markdown
326 lines
6.0 KiB
Markdown
# Zone Files
|
|
|
|
`.zone` files define a "project" to be linked with OAT.
|
|
Their format is inspired by the zone files that BO3 mod tools use, their usage is differing a bit however.
|
|
|
|
They are text-based and contain a comma-separated key-based notation.
|
|
They may include line and block comments and are preprocessed using a C like processor before being parsed.
|
|
|
|
Its content can either be an entry or metadata.
|
|
Metadata has its line begin with the `>` character followed by the metadata-key, a comma `,` and the metadata-value.
|
|
An entry follows the same schema just without the `>` prefix.
|
|
|
|
For example:
|
|
```
|
|
// This is a line comment
|
|
/*
|
|
This is a block comment
|
|
*/
|
|
|
|
// The following is metadata
|
|
>game,IW4
|
|
>name,common_mp
|
|
>level.ipak_read,base
|
|
|
|
// The following are entries
|
|
include,common_mp_menus
|
|
ignore,code_post_gfx_mp
|
|
material,main_splash
|
|
|
|
// These are preprocessor directives
|
|
#define ADD_TECHSETS 1
|
|
#ifdef ADD_TECHSETS
|
|
techset,custom_techset
|
|
#endif
|
|
```
|
|
|
|
## Metadata
|
|
|
|
### `game` Metadata
|
|
|
|
The `game` metadata sets the game the project is for.
|
|
This metadata **must** be specified for a project to be linked.
|
|
|
|
The following values can be used to specify the game.
|
|
| Value | Game |
|
|
| ----- | ------------------------------ |
|
|
| IW3 | Call Of Duty: Modern Warfare |
|
|
| IW4 | Call Of Duty: Modern Warfare 2 |
|
|
| IW5 | Call Of Duty: Modern Warfare 3 |
|
|
| T5 | Call Of Duty: Black Ops |
|
|
| T6 | Call Of Duty: Black Ops 2 |
|
|
|
|
### `name` Metadata
|
|
|
|
The `name` sets the name of the project linking result.
|
|
In case of a fastfile the resulting file will be called `<name>.ff`.
|
|
If the fastfile uses encryption, or is signed it will consider the new name.
|
|
|
|
If not specified the name will be the same as the project name.
|
|
|
|
### `gdt` Metadata
|
|
|
|
The `gdt` metadata specifies a GDT file to be loaded by the Linker.
|
|
|
|
## Entries
|
|
|
|
With a few exceptions, entries are used to define an asset to be added.
|
|
The available assets differ per game.
|
|
|
|
### The `include` entry
|
|
|
|
The `include` entry will not add an asset.
|
|
Instead it will make the Linker read another `.zone` file and include all of its added assets, metadata and other includes in the project.
|
|
|
|
For example `include,common_mp_menus` will look for a `common_mp_menus.zone` file in all source search paths and will include its content.
|
|
Linking will abort if the file could not be found.
|
|
|
|
### The `ignore` entry
|
|
|
|
The `ignore` entry will not add an asset.
|
|
Instead it will try to read an assetlist of the specified value.
|
|
All assets in the asset list will be converted to a reference in case they get added to the project.
|
|
This makes it possible to not add assets again that were already included in another zone but instead of referenced.
|
|
|
|
For example `ignore,code_post_gfx_mp` will make all assets of `code_post_gfx_mp` be converted to references when they are added instead of the assets themselves being added.
|
|
|
|
### Other entries
|
|
|
|
Other entries are treated as assets to be added.
|
|
The available assets differ per game.
|
|
|
|
#### IW3: Call Of Duty: Modern Warfare
|
|
|
|
- `xmodelpieces`
|
|
- `physpreset`
|
|
- `xanim`
|
|
- `xmodel`
|
|
- `material`
|
|
- `techniqueset`
|
|
- `image`
|
|
- `sound`
|
|
- `soundcurve`
|
|
- `loadedsound`
|
|
- `clipmap`
|
|
- `comworld`
|
|
- `gameworldsp`
|
|
- `gameworldmp`
|
|
- `mapents`
|
|
- `gfxworld`
|
|
- `lightdef`
|
|
- `uimap`
|
|
- `font`
|
|
- `menulist`
|
|
- `menu`
|
|
- `localize`
|
|
- `weapon`
|
|
- `snddriverglobals`
|
|
- `fx`
|
|
- `impactfx`
|
|
- `aitype`
|
|
- `mptype`
|
|
- `character`
|
|
- `xmodelalias`
|
|
- `rawfile`
|
|
- `stringtable`
|
|
|
|
#### IW4: Call Of Duty: Modern Warfare 2
|
|
|
|
- `physpreset`
|
|
- `physcollmap`
|
|
- `xanim`
|
|
- `xmodelsurfs`
|
|
- `xmodel`
|
|
- `material`
|
|
- `pixelshader`
|
|
- `vertexshader`
|
|
- `vertexdecl`
|
|
- `techniqueset`
|
|
- `image`
|
|
- `sound`
|
|
- `soundcurve`
|
|
- `loadedsound`
|
|
- `clipmap`
|
|
- `comworld`
|
|
- `gameworldsp`
|
|
- `gameworldmp`
|
|
- `mapents`
|
|
- `fxworld`
|
|
- `gfxworld`
|
|
- `lightdef`
|
|
- `uimap`
|
|
- `font`
|
|
- `menulist`
|
|
- `menu`
|
|
- `localize`
|
|
- `weapon`
|
|
- `snddriverglobals`
|
|
- `fx`
|
|
- `impactfx`
|
|
- `aitype`
|
|
- `mptype`
|
|
- `character`
|
|
- `xmodelalias`
|
|
- `rawfile`
|
|
- `stringtable`
|
|
- `leaderboard`
|
|
- `structureddatadef`
|
|
- `tracer`
|
|
- `vehicle`
|
|
- `addonmapents`
|
|
|
|
#### IW5: Call Of Duty: Modern Warfare 3
|
|
|
|
- `physpreset`
|
|
- `physcollmap`
|
|
- `xanim`
|
|
- `xmodelsurfs`
|
|
- `xmodel`
|
|
- `material`
|
|
- `pixelshader`
|
|
- `vertexshader`
|
|
- `vertexdecl`
|
|
- `techniqueset`
|
|
- `image`
|
|
- `sound`
|
|
- `soundcurve`
|
|
- `loadedsound`
|
|
- `clipmap`
|
|
- `comworld`
|
|
- `glassworld`
|
|
- `pathdata`
|
|
- `vehicletrack`
|
|
- `mapents`
|
|
- `fxworld`
|
|
- `gfxworld`
|
|
- `lightdef`
|
|
- `uimap`
|
|
- `font`
|
|
- `menulist`
|
|
- `menu`
|
|
- `localize`
|
|
- `attachment`
|
|
- `weapon`
|
|
- `snddriverglobals`
|
|
- `fx`
|
|
- `impactfx`
|
|
- `surfacefx`
|
|
- `aitype`
|
|
- `mptype`
|
|
- `character`
|
|
- `xmodelalias`
|
|
- `rawfile`
|
|
- `scriptfile`
|
|
- `stringtable`
|
|
- `leaderboard`
|
|
- `structureddatadef`
|
|
- `tracer`
|
|
- `vehicle`
|
|
- `addonmapents`
|
|
|
|
#### T5: Call Of Duty: Black Ops
|
|
|
|
- `xmodelpieces`
|
|
- `physpreset`
|
|
- `physconstraints`
|
|
- `destructibledef`
|
|
- `xanim`
|
|
- `xmodel`
|
|
- `material`
|
|
- `techniqueset`
|
|
- `image`
|
|
- `soundbank`
|
|
- `soundpatch`
|
|
- `clipmap`
|
|
- `comworld`
|
|
- `gameworldsp`
|
|
- `gameworldmp`
|
|
- `mapents`
|
|
- `gfxworld`
|
|
- `gfxlightdef`
|
|
- `uimap`
|
|
- `font`
|
|
- `menulist`
|
|
- `menu`
|
|
- `localize`
|
|
- `weapon`
|
|
- `weapondef`
|
|
- `weaponvariant`
|
|
- `snddriverglobals`
|
|
- `fx`
|
|
- `fximpacttable`
|
|
- `aitype`
|
|
- `mptype`
|
|
- `mpbody`
|
|
- `mphead`
|
|
- `character`
|
|
- `xmodelalias`
|
|
- `rawfile`
|
|
- `stringtable`
|
|
- `packindex`
|
|
- `xglobals`
|
|
- `ddl`
|
|
- `glasses`
|
|
- `emblemset`
|
|
|
|
#### T6: Call Of Duty: Black Ops 2
|
|
|
|
- `xmodelpieces`
|
|
- `physpreset`
|
|
- `physconstraints`
|
|
- `destructibledef`
|
|
- `xanim`
|
|
- `xmodel`
|
|
- `material`
|
|
- `techniqueset`
|
|
- `image`
|
|
- `soundbank`
|
|
- `soundpatch`
|
|
- `clipmap`
|
|
- `comworld`
|
|
- `gameworldsp`
|
|
- `gameworldmp`
|
|
- `mapents`
|
|
- `gfxworld`
|
|
- `gfxlightdef`
|
|
- `uimap`
|
|
- `font`
|
|
- `fonticon`
|
|
- `menulist`
|
|
- `menu`
|
|
- `localize`
|
|
- `weapon`
|
|
- `weapondef`
|
|
- `weaponvariant`
|
|
- `weaponfull`
|
|
- `attachment`
|
|
- `attachmentunique`
|
|
- `camo`
|
|
- `snddriverglobals`
|
|
- `fx`
|
|
- `fximpacttable`
|
|
- `aitype`
|
|
- `mptype`
|
|
- `mpbody`
|
|
- `mphead`
|
|
- `character`
|
|
- `xmodelalias`
|
|
- `rawfile`
|
|
- `stringtable`
|
|
- `leaderboard`
|
|
- `xglobals`
|
|
- `ddl`
|
|
- `glasses`
|
|
- `emblemset`
|
|
- `script`
|
|
- `keyvaluepairs`
|
|
- `vehicle`
|
|
- `memoryblock`
|
|
- `addonmapents`
|
|
- `tracer`
|
|
- `skinnedverts`
|
|
- `qdb`
|
|
- `slug`
|
|
- `footsteptable`
|
|
- `footstepfxtable`
|
|
- `zbarrier` |