# DATA FORMATS ################################################################ ## Wad ## Wad files are used for scenario data, images such as those in terminals and the main menu, and physics files. Here is a listing of all chunks used within them. Map tags: | Name | Description | | ---- | ----------- | | `Minf` | Static Map Info structure | | `PNTS` | Array of Point | | `EPNT` | Array of Endpoint | | `LINS` | Array of Line | | `SIDS` | Array of Side | | `POLY` | Array of Polygon | | `LITE` | Array of Light | | `NOTE` | Array of Annotation | | `OBJS` | Array of Object | | `plac` | Array of Object Frequency | | `plat` | Array of Platform Data | | `medi` | Array of Media Data | | `ambi` | Array of Ambient Sound | | `bonk` | Array of Random Sound | | `term` | Array of Terminal | | `NAME` | NTBS containing map name | | `påth` | Unused, supposed to be guardpaths (å is $8C) | | `door` | Unused, supposed to be extra door data | Map files can be identified by the `Minf` chunk. Maps will always have either a `PNTS` or `EPNT` chunk, depending on what the map (and editor) use. `PNTS` are plain and have no more information than the actual position, while `EPNT` can be loaded directly into memory by the engine. `EPNT` also tells the engine that the map is preprocessed and that `iidx` and `PLAT` chunks also exist. With `DataVersion` as `DataM1`, the format must always be preprocessed. Physics tags: | Name | Description | | ---- | ----------- | | `FXpx` | Array of Effect Definition | | `MNpx` | Array of Monster Definition | | `PRpx` | Array of Projectile Definition | | `PXpx` | Array of Physics Definition | | `WPpx` | Array of Weapon Definition | Physics definitions may be embedded into a map in Infinity and Aleph One, so the only reliable way to check if something is a pure physics file is by checking that there are no chunks other than `**px` chunks. Image tags: | Name | Description | | ---- | ----------- | | `PICT` | Picture Resource | | `clut` | Banished to the shadow realm | Images can be identified by the `PICT` chunk. Save file tags: | Name | Description | | ---- | ----------- | | `plyr` | Not analyzed (saved player data) | | `dwol` | Not analyzed (saved dynamic world data) | | `mobj` | Not analyzed (saved object data) | | `iidx` | Not analyzed (saved map indices) | | `alin` | Not analyzed (saved automap lines) | | `apol` | Not analyzed (saved automap polygons) | | `mOns` | Not analyzed (saved monsters) | | `fx ` | Not analyzed (saved effects) | | `bang` | Not analyzed (saved projectiles) | | `PLAT` | Not analyzed (saved platform data) | | `weap` | Not analyzed (saved weapon state) | | `cint` | Not analyzed (saved terminal state) | Preferences tags: | Name | Description | | ---- | ----------- | | `graf` | Not analyzed (graphics prefs) | | `serl` | Not analyzed (serial code) | | `netw` | Not analyzed (network prefs) | | `plyr` | Not analyzed (player prefs) | | `inpu` | Not analyzed (input prefs) | | `snd ` | Not analyzed (sound prefs) | | `envr` | Not analyzed (environment prefs) | Aleph One tags: | Name | Description | | ---- | ----------- | | `ShPa` | Not analyzed (shapes) | | `MMLS` | Not analyzed (MML scripts) | | `LUAS` | Not analyzed (Lua scripts) | ## Marathon 2 Shapes (`.shpA`) ## The Shapes file is used for storing animation, sprite, sky and texture data. It uses a fixed, offset-based format for everything, with sprites sorted into collections along with frames and sequences. ## Marathon 2 Sounds (`.sndA`) ## The Sounds file is used for storing information about sounds as well as the actual PCM data.