save files for refresh
parent
04d53e8d23
commit
69063cc41a
|
@ -0,0 +1 @@
|
||||||
|
* text=auto eol=lf
|
464
MarathonData.md
464
MarathonData.md
|
@ -362,10 +362,8 @@ Example:
|
||||||
|
|
||||||
## Wad ##
|
## Wad ##
|
||||||
|
|
||||||
Wad files are used as a container for many different data formats. The
|
Wad files are used for scenario data, images, and physics files. Here is a
|
||||||
following sub-sections all use the Wad format.
|
listing of all chunks used within them:
|
||||||
|
|
||||||
### Marathon 2 Scenarios (`.sceA`) ###
|
|
||||||
|
|
||||||
| Name | Description |
|
| Name | Description |
|
||||||
| ---- | ----------- |
|
| ---- | ----------- |
|
||||||
|
@ -390,6 +388,13 @@ following sub-sections all use the Wad format.
|
||||||
| `ShPa` | Not analyzed (shapes) |
|
| `ShPa` | Not analyzed (shapes) |
|
||||||
| `MMLS` | Not analyzed (MML scripts) |
|
| `MMLS` | Not analyzed (MML scripts) |
|
||||||
| `LUAS` | Not analyzed (Lua scripts) |
|
| `LUAS` | Not analyzed (Lua scripts) |
|
||||||
|
| `FXpx` | Effect definitions |
|
||||||
|
| `MNpx` | Monster definitions |
|
||||||
|
| `PRpx` | Player definitions |
|
||||||
|
| `PXpx` | Physics definitions |
|
||||||
|
| `WPpx` | Weapon definitions |
|
||||||
|
| `PICT` | Picture Resource |
|
||||||
|
| `clut` | Unused(?) |
|
||||||
|
|
||||||
Map files can be identified by the Minf chunk.
|
Map files can be identified by the Minf chunk.
|
||||||
|
|
||||||
|
@ -398,56 +403,13 @@ map (and editor) use. PNTS are plain and have no more information than the
|
||||||
actual position, while EPNT has flags and some extra stuff to help the engine
|
actual position, while EPNT has flags and some extra stuff to help the engine
|
||||||
load quicker (not that it needs it.)
|
load quicker (not that it needs it.)
|
||||||
|
|
||||||
### Marathon 1 Scenarios (`.scen`) ###
|
|
||||||
|
|
||||||
Not analyzed
|
|
||||||
|
|
||||||
### Images (`.imgA`, `.imgs`) ###
|
|
||||||
|
|
||||||
| Name | Description |
|
|
||||||
| ---- | ----------- |
|
|
||||||
| `PICT` | Picture Resource |
|
|
||||||
| `clut` | Unused(?) |
|
|
||||||
|
|
||||||
Images can be identified by the PICT chunk.
|
Images can be identified by the PICT chunk.
|
||||||
|
|
||||||
### Marathon 2 Physics (`.phyA`) ###
|
|
||||||
|
|
||||||
| Name | Description |
|
|
||||||
| ---- | ----------- |
|
|
||||||
| `FXpx` | Effect definitions |
|
|
||||||
| `MNpx` | Monster definitions |
|
|
||||||
| `PRpx` | Player definitions |
|
|
||||||
| `PXpx` | Physics definitions |
|
|
||||||
| `WPpx` | Weapon definitions |
|
|
||||||
|
|
||||||
## Marathon 1 Physics (`.phys`) ##
|
|
||||||
|
|
||||||
Not analyzed
|
|
||||||
|
|
||||||
## Marathon 2 Shapes (`.shpA`) ##
|
## Marathon 2 Shapes (`.shpA`) ##
|
||||||
|
|
||||||
Not analyzed
|
The Shapes file is used for storing animation and sprite data. It uses a fixed
|
||||||
|
format for everything, with sprites sorted into collections along with frames
|
||||||
## Marathon 1 Shapes (`.shps`) ##
|
and sequences.
|
||||||
|
|
||||||
Not analyzed
|
|
||||||
|
|
||||||
## Marathon 2 Sounds (`.sndA`) ##
|
|
||||||
|
|
||||||
Not analyzed
|
|
||||||
|
|
||||||
## Marathon 1 Sounds (`.sndz`) ##
|
|
||||||
|
|
||||||
Not analyzed
|
|
||||||
|
|
||||||
## Save Game (`.sgaA`) ##
|
|
||||||
|
|
||||||
Not analyzed
|
|
||||||
|
|
||||||
## Film (`.filA`) ##
|
|
||||||
|
|
||||||
Not analyzed
|
|
||||||
|
|
||||||
|
|
||||||
# STRUCTURES ##################################################################
|
# STRUCTURES ##################################################################
|
||||||
|
@ -898,7 +860,6 @@ Header Op is 24 bytes.
|
||||||
| u16 | X start | Left |
|
| u16 | X start | Left |
|
||||||
| u16 | Y end | Bottom |
|
| u16 | Y end | Bottom |
|
||||||
| u16 | X end | Right |
|
| u16 | X end | Right |
|
||||||
| 4 bytes | Unused | |
|
|
||||||
|
|
||||||
### QuickTime Image ###
|
### QuickTime Image ###
|
||||||
|
|
||||||
|
@ -918,6 +879,31 @@ if matte:
|
||||||
* image data follows
|
* image data follows
|
||||||
* some other bullshit
|
* some other bullshit
|
||||||
|
|
||||||
|
## Shapes ##
|
||||||
|
|
||||||
|
### Collection Header ###
|
||||||
|
|
||||||
|
32 bytes
|
||||||
|
|
||||||
|
| Type | Description | Name |
|
||||||
|
| ---- | ----------- | ---- |
|
||||||
|
| u16 | Status (TODO: unknown purpose) | Status |
|
||||||
|
| u16 | Flags (TODO: unknown purpose) | Flags |
|
||||||
|
| u32 | Offset for lo-res collection | OffsetLo |
|
||||||
|
| u32 | Length for lo-res collection | LengthLo |
|
||||||
|
| u32 | Offset for hi-res collection | OffsetHi |
|
||||||
|
| u32 | Length for hi-res collection | LengthHi |
|
||||||
|
|
||||||
|
### Collection Definition ###
|
||||||
|
|
||||||
|
544 bytes (no, I'm not kidding)
|
||||||
|
|
||||||
|
| Type | Description | Name |
|
||||||
|
| ---- | ----------- | ---- |
|
||||||
|
| u16 | Version, not checked by engine (current is 3) | Version |
|
||||||
|
| u16 | Collection Type | Type |
|
||||||
|
| 2 bytes | Unused | |
|
||||||
|
|
||||||
# ENUMERATIONS ################################################################
|
# ENUMERATIONS ################################################################
|
||||||
|
|
||||||
Here is a list of names and descriptions for enumerations used throughout this
|
Here is a list of names and descriptions for enumerations used throughout this
|
||||||
|
@ -998,46 +984,46 @@ exit upon reading them.
|
||||||
|
|
||||||
| Value | Description | Name |
|
| Value | Description | Name |
|
||||||
| ----- | ----------- | ---- |
|
| ----- | ----------- | ---- |
|
||||||
| 1 | Color mapped bit | Pal1 |
|
| `1` | Color mapped bit | Pal1 |
|
||||||
| 2 | Color mapped dibit | Pal2 |
|
| `2` | Color mapped dibit | Pal2 |
|
||||||
| 4 | Color mapped nibble | Pal4 |
|
| `4` | Color mapped nibble | Pal4 |
|
||||||
| 8 | Color mapped byte | Pal8 |
|
| `8` | Color mapped byte | Pal8 |
|
||||||
| 16 | X1RGB5 | X1RGB5 |
|
| `16` | X1RGB5 | X1RGB5 |
|
||||||
| 32 | RGB8 (if NoPad) or XRGB8 | RGB8 |
|
| `32` | RGB8 (if NoPad) or XRGB8 | RGB8 |
|
||||||
|
|
||||||
### Pack Type ###
|
### Pack Type ###
|
||||||
|
|
||||||
| Value | Description | Name |
|
| Value | Description | Name |
|
||||||
| ----- | ----------- | ---- |
|
| ----- | ----------- | ---- |
|
||||||
| 0 | Always pack | Default |
|
| `0` | Always pack | Default |
|
||||||
| 1 | Never pack | None |
|
| `1` | Never pack | None |
|
||||||
| 2 | Never pack, no padding channel in 32bpp mode | NoPad |
|
| `2` | Never pack, no padding channel in 32bpp mode | NoPad |
|
||||||
| 3 | Only pack in 16bpp mode | RLE16 |
|
| `3` | Only pack in 16bpp mode | RLE16 |
|
||||||
| 4 | Only pack in 32bpp mode, no padding channel | RLE32 |
|
| `4` | Only pack in 32bpp mode, no padding channel | RLE32 |
|
||||||
|
|
||||||
### Polygon Type ###
|
### Polygon Type ###
|
||||||
|
|
||||||
| Value | Description | Permutation | Name |
|
| Value | Description | Permutation | Name |
|
||||||
| ----- | ----------- | ----------- | ---- |
|
| ----- | ----------- | ----------- | ---- |
|
||||||
| 0 | Normal, no effects | None | Normal |
|
| `0` | Normal, no effects | None | Normal |
|
||||||
| 1 | Items may not pass | None | ImpassItem |
|
| `1` | Items may not pass | None | ImpassItem |
|
||||||
| 2 | Monsters may not pass | None | ImpassMons |
|
| `2` | Monsters may not pass | None | ImpassMons |
|
||||||
| 3 | Hill (for King of the Hill) | None | Hill |
|
| `3` | Hill (for King of the Hill) | None | Hill |
|
||||||
| 4 | Base (for Capture The Flag et al) | Team | Base |
|
| `4` | Base (for Capture The Flag et al) | Team | Base |
|
||||||
| 5 | Platform | Plat index | Platform |
|
| `5` | Platform | Plat index | Platform |
|
||||||
| 6 | Triggers light on | Light index | TrigLightOn |
|
| `6` | Triggers light on | Light index | TrigLightOn |
|
||||||
| 7 | Triggers platform on | Plat index | TrigPlatOn |
|
| `7` | Triggers platform on | Plat index | TrigPlatOn |
|
||||||
| 8 | Triggers light off | Poly index | TrigLightOff |
|
| `8` | Triggers light off | Poly index | TrigLightOff |
|
||||||
| 9 | Triggers platform off | Poly index | TrigPlatOff |
|
| `9` | Triggers platform off | Poly index | TrigPlatOff |
|
||||||
| 10 | Teleports to polygon centroid | Poly index | Teleporter |
|
| `10` | Teleports to polygon centroid | Poly index | Teleporter |
|
||||||
| 11 | Zone border | None | ZoneBorder |
|
| `11` | Zone border | None | ZoneBorder |
|
||||||
| 12 | Goal point | None | Goal |
|
| `12` | Goal point | None | Goal |
|
||||||
| 13 | Triggers near-by visible monsters | None | TrigMonsVis |
|
| `13` | Triggers near-by visible monsters | None | TrigMonsVis |
|
||||||
| 14 | Triggers near-by invisible monsters | None | TrigMonsInv |
|
| `14` | Triggers near-by invisible monsters | None | TrigMonsInv |
|
||||||
| 15 | Same as TrigMonsInv | None | TrigMonsDual |
|
| `15` | Same as TrigMonsInv | None | TrigMonsDual |
|
||||||
| 16 | Triggers near-by invisible items | None | TrigItems |
|
| `16` | Triggers near-by invisible items | None | TrigItems |
|
||||||
| 17 | Must be entered for Exploration | None | MustExplore |
|
| `17` | Must be entered for Exploration | None | MustExplore |
|
||||||
| 18 | Teleports to next level if success | None | AutoExit |
|
| `18` | Teleports to next level if success | None | AutoExit |
|
||||||
|
|
||||||
### Control Panel Type ###
|
### Control Panel Type ###
|
||||||
|
|
||||||
|
@ -1046,25 +1032,25 @@ permutation each one uses.
|
||||||
|
|
||||||
| Value | Description | Permutation | Name |
|
| Value | Description | Permutation | Name |
|
||||||
| ----- | ----------- | ----------- | ---- |
|
| ----- | ----------- | ----------- | ---- |
|
||||||
| 0 | Oxygen refuel | None | Oxygen |
|
| `0` | Oxygen refuel | None | Oxygen |
|
||||||
| 1 | Health charger | None | Shield |
|
| `1` | Health charger | None | Shield |
|
||||||
| 2 | Health charger (2x) | None | Shield2x |
|
| `2` | Health charger (2x) | None | Shield2x |
|
||||||
| 3 | Health charger (3x) | None | Shield3x |
|
| `3` | Health charger (3x) | None | Shield3x |
|
||||||
| 4 | Light switch | Light index | Light |
|
| `4` | Light switch | Light index | Light |
|
||||||
| 5 | Platform switch | Plat index | Platform |
|
| `5` | Platform switch | Plat index | Platform |
|
||||||
| 6 | Tag switch | Tag or -1 | Tag |
|
| `6` | Tag switch | Tag or -1 | Tag |
|
||||||
| 7 | Save station | None | PatternBuf |
|
| `7` | Save station | None | PatternBuf |
|
||||||
| 8 | Computer terminal | None | Terminal |
|
| `8` | Computer terminal | None | Terminal |
|
||||||
|
|
||||||
### Side Type ###
|
### Side Type ###
|
||||||
|
|
||||||
| Value | Description | Name |
|
| Value | Description | Name |
|
||||||
| ----- | ----------- | ---- |
|
| ----- | ----------- | ---- |
|
||||||
| 0 | First texture is mapped over the whole side | Full |
|
| `0` | First texture is mapped over the whole side | Full |
|
||||||
| 1 | First texture is mapped on the ceiling panel | High |
|
| `1` | First texture is mapped on the ceiling panel | High |
|
||||||
| 2 | First texture is mapped on the floor panel | Low |
|
| `2` | First texture is mapped on the floor panel | Low |
|
||||||
| 3 | Composite texture (Not implemented) | Composite |
|
| `3` | Composite texture (Not implemented) | Composite |
|
||||||
| 4 | First texture for ceiling panel, second for floor | Split |
|
| `4` | First texture for ceiling panel, second for floor | Split |
|
||||||
|
|
||||||
"Panel" here refers to a pertrusion inbetween two polygons. These would be
|
"Panel" here refers to a pertrusion inbetween two polygons. These would be
|
||||||
mapped to upper/lower textures in Doom for instance. Even the source code for
|
mapped to upper/lower textures in Doom for instance. Even the source code for
|
||||||
|
@ -1074,47 +1060,47 @@ Marathon 2 itself acknowledges how redundant this enumeration is.
|
||||||
|
|
||||||
| Value | Description | Name |
|
| Value | Description | Name |
|
||||||
| ----- | ----------- | ---- |
|
| ----- | ----------- | ---- |
|
||||||
| 0 | Monster | |
|
| `0` | Monster | |
|
||||||
| 1 | Object | |
|
| `1` | Object | |
|
||||||
| 2 | Item | |
|
| `2` | Item | |
|
||||||
| 3 | Player | |
|
| `3` | Player | |
|
||||||
| 4 | Goal | |
|
| `4` | Goal | |
|
||||||
| 5 | Sound source (facing is sound volume) | |
|
| `5` | Sound source (facing is sound volume) | |
|
||||||
|
|
||||||
### Transfer Mode ###
|
### Transfer Mode ###
|
||||||
|
|
||||||
| Value | Description | Name |
|
| Value | Description | Name |
|
||||||
| ----- | ----------- | ---- |
|
| ----- | ----------- | ---- |
|
||||||
| 0 | Normal | |
|
| `0` | Normal | |
|
||||||
| 1 | Fade to black | |
|
| `1` | Fade to black | |
|
||||||
| 2 | Invisibility | |
|
| `2` | Invisibility | |
|
||||||
| 3 | Invisibility (subtle) | |
|
| `3` | Invisibility (subtle) | |
|
||||||
| 4 | Pulsate (polygons only) | |
|
| `4` | Pulsate (polygons only) | |
|
||||||
| 5 | Wobble (polygons only) | |
|
| `5` | Wobble (polygons only) | |
|
||||||
| 6 | Wobble (fast, polygons only) | |
|
| `6` | Wobble (fast, polygons only) | |
|
||||||
| 7 | Static | |
|
| `7` | Static | |
|
||||||
| 8 | 50% static | |
|
| `8` | 50% static | |
|
||||||
| 9 | Sky | |
|
| `9` | Sky | |
|
||||||
| 10 | Smear | |
|
| `10` | Smear | |
|
||||||
| 11 | Static (fade out) | |
|
| `11` | Static (fade out) | |
|
||||||
| 12 | Static (pulsating) | |
|
| `12` | Static (pulsating) | |
|
||||||
| 13 | Fold-in | |
|
| `13` | Fold-in | |
|
||||||
| 14 | Fold-out | |
|
| `14` | Fold-out | |
|
||||||
| 15 | Horizontal slide | |
|
| `15` | Horizontal slide | |
|
||||||
| 16 | Horizontal slide (fast) | |
|
| `16` | Horizontal slide (fast) | |
|
||||||
| 17 | Vertical slide | |
|
| `17` | Vertical slide | |
|
||||||
| 18 | Vertical slide (fast) | |
|
| `18` | Vertical slide (fast) | |
|
||||||
| 19 | Wander | |
|
| `19` | Wander | |
|
||||||
| 20 | Wander (fast) | |
|
| `20` | Wander (fast) | |
|
||||||
| 21 | Big sky | |
|
| `21` | Big sky | |
|
||||||
|
|
||||||
### Light Type ###
|
### Light Type ###
|
||||||
|
|
||||||
| Value | Description | Name |
|
| Value | Description | Name |
|
||||||
| ----- | ----------- | ---- |
|
| ----- | ----------- | ---- |
|
||||||
| 0 | Normal light | |
|
| `0` | Normal light | |
|
||||||
| 1 | Strobe light | |
|
| `1` | Strobe light | |
|
||||||
| 2 | Media light | |
|
| `2` | Media light | |
|
||||||
|
|
||||||
### Wad Version ###
|
### Wad Version ###
|
||||||
|
|
||||||
|
@ -1122,10 +1108,10 @@ Used to determine how the engine loads the Wad file.
|
||||||
|
|
||||||
| Value | Description | Name |
|
| Value | Description | Name |
|
||||||
| ----- | ----------- | ---- |
|
| ----- | ----------- | ---- |
|
||||||
| 0 | Marathon 1 data (no directory entry) | VerBase |
|
| `0` | Marathon 1 data (no directory entry) | VerBase |
|
||||||
| 1 | Marathon 1 data (has directory entry) | VerDir |
|
| `1` | Marathon 1 data (has directory entry) | VerDir |
|
||||||
| 2 | Marathon 2 data (supports overlays) | VerOver |
|
| `2` | Marathon 2 data (supports overlays) | VerOver |
|
||||||
| 4 | Marathon Infinity data | VerMI |
|
| `4` | Marathon Infinity data | VerMI |
|
||||||
|
|
||||||
### Data Version ###
|
### Data Version ###
|
||||||
|
|
||||||
|
@ -1133,30 +1119,30 @@ Used to determine how the engine loads map data.
|
||||||
|
|
||||||
| Value | Description | Name |
|
| Value | Description | Name |
|
||||||
| ----- | ----------- | ---- |
|
| ----- | ----------- | ---- |
|
||||||
| 0 | Marathon 1 data | DataM1 |
|
| `0` | Marathon 1 data | DataM1 |
|
||||||
| 1 | Marathon 2 data | DataM2 |
|
| `1` | Marathon 2 data | DataM2 |
|
||||||
|
|
||||||
### Terminal Group Type ###
|
### Terminal Group Type ###
|
||||||
|
|
||||||
| Value | Description | Permutation | Name |
|
| Value | Description | Permutation | Name |
|
||||||
| ----- | ----------- | ----------- | ---- |
|
| ----- | ----------- | ----------- | ---- |
|
||||||
| 0 | Logon | None | Logon |
|
| `0` | Logon | None | Logon |
|
||||||
| 1 | Unfinished (conditions incomplete) | None | Unfinished |
|
| `1` | Unfinished (conditions incomplete) | None | Unfinished |
|
||||||
| 2 | Success (success condition) | None | Success |
|
| `2` | Success (success condition) | None | Success |
|
||||||
| 3 | Failure (failure condition) | None | Failure |
|
| `3` | Failure (failure condition) | None | Failure |
|
||||||
| 4 | Information (no image attached) | None | Info |
|
| `4` | Information (no image attached) | None | Info |
|
||||||
| 5 | End terminal | None | End |
|
| `5` | End terminal | None | End |
|
||||||
| 6 | Changes level | Level id | TeleInter |
|
| `6` | Changes level | Level id | TeleInter |
|
||||||
| 7 | Teleports to polygon | Polygon id | TeleIntra |
|
| `7` | Teleports to polygon | Polygon id | TeleIntra |
|
||||||
| 8 | Shows goal point | Goal id | Checkpoint |
|
| `8` | Shows goal point | Goal id | Checkpoint |
|
||||||
| 9 | Plays a sound | Sound id | Sound |
|
| `9` | Plays a sound | Sound id | Sound |
|
||||||
| 10 | Movie (not implemented) | Movie id | Movie |
|
| `10` | Movie (not implemented) | Movie id | Movie |
|
||||||
| 11 | Music (not implemented) | Track id | Track |
|
| `11` | Music (not implemented) | Track id | Track |
|
||||||
| 12 | Show image | Pict id | Pict |
|
| `12` | Show image | Pict id | Pict |
|
||||||
| 13 | Logoff | None | Logoff |
|
| `13` | Logoff | None | Logoff |
|
||||||
| 14 | Camera (not implemented) | Object id | Camera |
|
| `14` | Camera (not implemented) | Object id | Camera |
|
||||||
| 15 | Static (TV static effect) | 1/30 secs | Static |
|
| `15` | Static (TV static effect) | 1/30 secs | Static |
|
||||||
| 16 | Activate tag | Tag number | Tag |
|
| `16` | Activate tag | Tag number | Tag |
|
||||||
|
|
||||||
### Terminal Color ###
|
### Terminal Color ###
|
||||||
|
|
||||||
|
@ -1164,135 +1150,135 @@ These are the default colors. These can be overridden with mods.
|
||||||
|
|
||||||
| Value | Description | Name |
|
| Value | Description | Name |
|
||||||
| ----- | ----------- | ---- |
|
| ----- | ----------- | ---- |
|
||||||
| 0 | Light Green | Color0 |
|
| `0` | Light Green | Color0 |
|
||||||
| 1 | White | Color1 |
|
| `1` | White | Color1 |
|
||||||
| 2 | Red | Color2 |
|
| `2` | Red | Color2 |
|
||||||
| 3 | Dark Green | Color3 |
|
| `3` | Dark Green | Color3 |
|
||||||
| 4 | Light Blue | Color4 |
|
| `4` | Light Blue | Color4 |
|
||||||
| 5 | Yellow | Color5 |
|
| `5` | Yellow | Color5 |
|
||||||
| 6 | Dark Red | Color6 |
|
| `6` | Dark Red | Color6 |
|
||||||
| 7 | Dark Blue | Color7 |
|
| `7` | Dark Blue | Color7 |
|
||||||
| 8 | No color | Color8 |
|
| `8` | No color | Color8 |
|
||||||
| 9 | No color | Color9 |
|
| `9` | No color | Color9 |
|
||||||
|
|
||||||
# FLAGS #######################################################################
|
# FLAGS #######################################################################
|
||||||
|
|
||||||
### Endpoint Flags ###
|
### Endpoint Flags ###
|
||||||
|
|
||||||
| Value | Description | Name |
|
| Bit | Description | Name |
|
||||||
| ----- | ----------- | ---- |
|
| --- | ----------- | ---- |
|
||||||
| `$0001` | Point belongs to any solid line | Solid |
|
| `0` | Point belongs to any solid line | Solid |
|
||||||
| `$0002` | All polys with this point have the same height | SameHeight |
|
| `1` | All polys with this point have the same height | SameHeight |
|
||||||
| `$0004` | Point does not belong to an un-transparent line | Transparent |
|
| `2` | Point does not belong to an opaque line | Transparent |
|
||||||
|
|
||||||
Note that the SameHeight flag is set relative to the endpoint's lines.
|
Note that the SameHeight flag is set relative to the endpoint's lines.
|
||||||
|
|
||||||
### Line Flags ###
|
### Line Flags ###
|
||||||
|
|
||||||
| Value | Description | Name |
|
| Bit | Description | Name |
|
||||||
| ----- | ----------- | ---- |
|
| --- | ----------- | ---- |
|
||||||
| `$0200` | Line has a transparent side | TransSide |
|
| `9` | Line has a transparent side | TransSide |
|
||||||
| `$0400` | Polygons on either side do not have same heights | ElevVar |
|
| `10` | Polygons on either side do not have same heights | ElevVar |
|
||||||
| `$0800` | Differing height between this line's polygons | Elevation |
|
| `11` | Differing height between this line's polygons | Elevation |
|
||||||
| `$1000` | Line shows only sky | Landscape |
|
| `12` | Line shows only sky | Landscape |
|
||||||
| `$2000` | Both sides are see-through | Transparent |
|
| `13` | Both sides are see-through | Transparent |
|
||||||
| `$4000` | Can't be walked through | Solid |
|
| `14` | Can't be walked through | Solid |
|
||||||
|
|
||||||
### Side Flags ###
|
### Side Flags ###
|
||||||
|
|
||||||
| Value | Description | Name |
|
| Bit | Description | Name |
|
||||||
| ----- | ----------- | ---- |
|
| --- | ----------- | ---- |
|
||||||
| `$0001` | Button is switched | Status |
|
| `0` | Button is switched | Status |
|
||||||
| `$0002` | Control panel | Panel |
|
| `1` | Control panel | Panel |
|
||||||
| `$0004` | Must be switched for Repair | Repair |
|
| `2` | Must be switched for Repair | Repair |
|
||||||
| `$0008` | Switch uses an item (for scripts) | ItemUse |
|
| `3` | Switch uses an item (for scripts) | ItemUse |
|
||||||
| `$0010` | Switch must be 3/4ths or more lit up to use | Lighted |
|
| `4` | Switch must be 3/4ths or more lit up to use | Lighted |
|
||||||
| `$0020` | Projectiles toggle and disable this switch | CanDestroy |
|
| `5` | Projectiles toggle and disable this switch | CanDestroy |
|
||||||
| `$0040` | Switch can only be hit by projectiles | HitOnly |
|
| `6` | Switch can only be hit by projectiles | HitOnly |
|
||||||
| `$0080` | Switch item is optional (for scripts) | ItemOpt |
|
| `7` | Switch item is optional (for scripts) | ItemOpt |
|
||||||
|
|
||||||
### Polygon Flags ###
|
### Polygon Flags ###
|
||||||
|
|
||||||
| Value | Description | Name |
|
| Bit | Description | Name |
|
||||||
| ----- | ----------- | ---- |
|
| --- | ----------- | ---- |
|
||||||
| `$4000` | TODO | Detached |
|
| `14` | TODO | Detached |
|
||||||
|
|
||||||
### Map Object Flags ###
|
### Map Object Flags ###
|
||||||
|
|
||||||
| Value | Description | Name |
|
| Bit | Description | Name |
|
||||||
| ----- | ----------- | ---- |
|
| --- | ----------- | ---- |
|
||||||
| `$0001` | Initially invisible (warp-in) | Invisible |
|
| `0` | Initially invisible (warp-in) | Invisible |
|
||||||
| `$0002` | Reversed Z coordinate (from ceiling) | Ceiling |
|
| `1` | Reversed Z coordinate (from ceiling) | Ceiling |
|
||||||
| `$0004` | Can not be activated by sight | Blind |
|
| `2` | Can not be activated by sight | Blind |
|
||||||
| `$0008` | Can not be activated by sounds | Deaf |
|
| `3` | Can not be activated by sounds | Deaf |
|
||||||
| `$0010` | TODO | Floating |
|
| `4` | TODO | Floating |
|
||||||
| `$0020` | Net-game only, only works on items | NetOnly |
|
| `5` | Net-game only, only works on items | NetOnly |
|
||||||
|
|
||||||
### Mission Flags ###
|
### Mission Flags ###
|
||||||
|
|
||||||
| Value | Description | Name |
|
| Bit | Description | Name |
|
||||||
| ----- | ----------- | ---- |
|
| --- | ----------- | ---- |
|
||||||
| `$0001` | Kill a certain percentage of monsters | Extermination |
|
| `0` | Kill a certain percentage of monsters | Extermination |
|
||||||
| `$0002` | Must explore marked polygons | Exploration |
|
| `1` | Must explore marked polygons | Exploration |
|
||||||
| `$0004` | Must grab marked items | Retrieval |
|
| `2` | Must grab marked items | Retrieval |
|
||||||
| `$0008` | Must flip marked switches | Repair |
|
| `3` | Must flip marked switches | Repair |
|
||||||
| `$0010` | Must keep certain percent of BoBs alive | Rescue |
|
| `4` | Must keep certain percent of BoBs alive | Rescue |
|
||||||
|
|
||||||
### Environment Flags ###
|
### Environment Flags ###
|
||||||
|
|
||||||
| Value | Description | Name |
|
| Bit | Description | Name |
|
||||||
| ----- | ----------- | ---- |
|
| --- | ----------- | ---- |
|
||||||
| `$0001` | Makes most weapons not work and oxygen depletes | Vacuum |
|
| `0` | Makes most weapons not work and oxygen depletes | Vacuum |
|
||||||
| `$0002` | Motion sensor is fucked | Magnetic |
|
| `1` | Motion sensor is fucked | Magnetic |
|
||||||
| `$0004` | Friendly S'pht, strips items and health | Rebellion |
|
| `2` | Friendly S'pht, strips items and health | Rebellion |
|
||||||
| `$0008` | Low gravity | LowGrav |
|
| `3` | Low gravity | LowGrav |
|
||||||
| `$0010` | Handles glue like Marathon 1 | M1Glue |
|
| `4` | Handles glue like Marathon 1 | M1Glue |
|
||||||
| `$0020` | The floor damages you | LavaFloor |
|
| `5` | The floor damages you | LavaFloor |
|
||||||
| `$0040` | Friendly S'pht | Rebellion2 |
|
| `6` | Friendly S'pht | Rebellion2 |
|
||||||
| `$0080` | Level has music | Music |
|
| `7` | Level has music | Music |
|
||||||
| `$0100` | Terminals stop time (Solo only) | TermPause |
|
| `8` | Terminals stop time (Solo only) | TermPause |
|
||||||
| `$0200` | M1 monster activation limits | M1Monster |
|
| `9` | M1 monster activation limits | M1Monster |
|
||||||
| `$0400` | Weapon pickups on TC, lo-G grenades | M1Weps |
|
| `10` | Weapon pickups on TC, lo-G grenades | M1Weps |
|
||||||
| `$2000` | Net-play map | NetPlay |
|
| `13` | Net-play map | NetPlay |
|
||||||
| `$4000` | Solo map | Solo |
|
| `14` | Solo map | Solo |
|
||||||
|
|
||||||
### Light Flags ###
|
### Light Flags ###
|
||||||
|
|
||||||
| Value | Description | Name |
|
| Bit | Description | Name |
|
||||||
| ----- | ----------- | ---- |
|
| --- | ----------- | ---- |
|
||||||
| `$0001` | TODO | |
|
| `0` | TODO | |
|
||||||
| `$0002` | TODO | Stateless |
|
| `1` | TODO | Stateless |
|
||||||
|
|
||||||
### Entry Point Flags ###
|
### Entry Point Flags ###
|
||||||
|
|
||||||
| Value | Description | Name |
|
| Bit | Description | Name |
|
||||||
| ----- | ----------- | ---- |
|
| --- | ----------- | ---- |
|
||||||
| `$0001` | Solo | Solo |
|
| `0` | Solo | Solo |
|
||||||
| `$0002` | Co-op | CoOp |
|
| `1` | Co-op | CoOp |
|
||||||
| `$0004` | Carnage | Carnage |
|
| `2` | Carnage | Carnage |
|
||||||
| `$0008` | Kill The Man With The Ball | KTMWTB |
|
| `3` | Kill The Man With The Ball | KTMWTB |
|
||||||
| `$0010` | King of the Hill | KOTH |
|
| `4` | King of the Hill | KOTH |
|
||||||
| `$0020` | Defense | Defense |
|
| `5` | Defense | Defense |
|
||||||
| `$0040` | Rugby | Rugby |
|
| `6` | Rugby | Rugby |
|
||||||
| `$0080` | Capture The Flag | CTF |
|
| `7` | Capture The Flag | CTF |
|
||||||
|
|
||||||
### Terminal Flags ###
|
### Terminal Flags ###
|
||||||
|
|
||||||
| Value | Description | Name |
|
| Bit | Description | Name |
|
||||||
| ----- | ----------- | ---- |
|
| --- | ----------- | ---- |
|
||||||
| `$0001` | Text is encoded | Encoded |
|
| `0` | Text is encoded | Encoded |
|
||||||
|
|
||||||
### CopyBits Flags ###
|
### CopyBits Flags ###
|
||||||
|
|
||||||
| Value | Description | Name |
|
| Bit | Description | Name |
|
||||||
| ----- | ----------- | ---- |
|
| --- | ----------- | ---- |
|
||||||
| `$4000` | Unused | |
|
| `14` | Unused | |
|
||||||
| `$8000` | Is PICT2 | PICT2 |
|
| `15` | Is PICT2 | PICT2 |
|
||||||
|
|
||||||
### Color Table Flags ###
|
### Color Table Flags ###
|
||||||
|
|
||||||
| Value | Description | Name |
|
| Bit | Description | Name |
|
||||||
| ----- | ----------- | ---- |
|
| --- | ----------- | ---- |
|
||||||
| `$8000` | Use automatic device mapping for indices | DeviceMap |
|
| `15` | Use automatic device mapping for indices | DeviceMap |
|
||||||
|
|
||||||
<!-- EOF -->
|
<!-- EOF -->
|
||||||
|
|
|
@ -0,0 +1,21 @@
|
||||||
|
binop_separator = "Back"
|
||||||
|
brace_style = "AlwaysNextLine"
|
||||||
|
condense_wildcard_suffixes = true
|
||||||
|
enum_discrim_align_threshold = 40
|
||||||
|
format_doc_comments = true
|
||||||
|
format_macro_matchers = true
|
||||||
|
format_strings = true
|
||||||
|
imports_indent = "Visual"
|
||||||
|
indent_style = "Visual"
|
||||||
|
max_width = 80
|
||||||
|
merge_imports = true
|
||||||
|
newline_style = "Unix"
|
||||||
|
normalize_comments = true
|
||||||
|
normalize_doc_attributes = true
|
||||||
|
overflow_delimited_expr = true
|
||||||
|
reorder_impl_items = true
|
||||||
|
struct_field_align_threshold = 40
|
||||||
|
tab_spaces = 3
|
||||||
|
use_field_init_shorthand = true
|
||||||
|
use_try_shorthand = true
|
||||||
|
wrap_comments = true
|
Loading…
Reference in New Issue