# FLAGS ####################################################################### ### Endpoint Flags ### | Name | Bit | | ---- | --- | | `Solid` | `0` | | `SameHeight` | `1` | | `Transparent` | `2` | - `Solid` means the point belongs to a solid line. - `SameHeight` means all polygons with this point have the same height, relative to the point's lines - `Transparent` means the point does not belong to an opaque line. ### Line Flags ### | Name | Bit | | ---- | --- | | `TransSide` | `9` | | `ElevVar` | `10` | | `Elevation` | `11` | | `Landscape` | `12` | | `Transparent` | `13` | | `Solid` | `14` | - `TransSide` means the line has a transparent side. - `ElevVar` means polygons on both sides do not have the same heights. - `Elevation` means there is a differing height between this line's polygons. - `Landscape` means this line shows only sky. - `Transparent` means both sides are see-through. - `Solid` means the line cannot be walked through. ### Side Flags ### If `DataVersion` is `DataM1`, then `ItemOpt` must be set by the client. | Name | Bit | | ---- | --- | | `Status` | `0` | | `Panel` | `1` | | `Repair` | `2` | | `ItemUse` | `3` | | `Lighted` | `4` | | `CanDestroy` | `5` | | `HitOnly` | `6` | | `ItemOpt` | `7` | - `Status` means the panel is switched already. - `Panel` means the side is a control panel. - `Repair` means the panel must be switched for Repair. - `ItemUse` means the panel uses an item (for scripts, unused otherwise.) - `Lighted` means the panel must be 3/4ths or more lit up to be used. - `CanDestroy` makes projectiles toggle and disable this panel. - `HitOnly` means the panel can only be hit by projectiles. - `ItemOpt` means the item is optional for this panel (for scripts.) ### Polygon Flags ### | Name | Bit | | ---- | --- | | `Detached` | `14` | ### Map Object Flags ### | Name | Bit | | ---- | --- | | `Invisible` | `0` | | `Ceiling` | `1` | | `Blind` | `2` | | `Deaf` | `3` | | `Floating` | `4` | | `NetOnly` | `5` | - `Invisible` makes the object initially invisible (warps in.) - `Ceiling` reverses the Z coordinate (from the ceiling.) - `Blind` makes the object unable to be activated by sight. - `Deaf` makes the object unable to be activated by sound. - `NetOnly` makes the object only show up in net-games (items only.) ### Mission Flags ### | Name | Bit | | ---- | --- | | `Extermination` | `0` | | `Exploration` | `1` | | `Retrieval` | `2` | | `Repair` | `3` | | `Rescue` | `4` | | `M1Exploration` | `5` | | `M1Rescue` | `6` | | `M1Repair` | `7` | - `Extermination` means you must kill all monsters on the map, with an error threshold of 8 alien enemies maximum. - `Exploration` means you must explore marked polygons. - `Retrieval` means you must grab marked items. - `Repair` means you must flip marked switches. - `Rescue` means you must keep 50% of BoBs alive. - `M1Exploration` is the same as `Exploration` except you only need to look at each marked polygon, not actually enter them. - `M1Rescue` is the same as `Rescue`. Since this is an internal flag, all it actually does is change which monster class it checks. - `M1Repair` is the same as `Repair`, except it only requires that the last switch (by side index) be switched to succeed. ### Environment Flags ### | Name | Bit | | ---- | --- | | `Vacuum` | `0` | | `Magnetic` | `1` | | `Rebellion` | `2` | | `LowGrav` | `3` | | `M1Glue` | `4` | | `LavaFloor` | `5` | | `Rebellion2` | `6` | | `Music` | `7` | | `TermPause` | `8` | | `M1Monster` | `9` | | `M1Weps` | `10` | - `Vacuum` makes most weapons not work and oxygen deplete. - `Magnetic` fucks up the motion sensor. - `Rebellion` makes S'pht friendly and strips items and health. - `LowGrav` lowers gravity. - `M1Glue` makes glue handle like Marathon 1. - `LavaFloor` makes the floor damage you. - `Rebellion2` is the same as `Rebellion` but does not strip items/health. - `Music` makes the level have music. - `TermPause` makes terminals stop time (in Solo only.) - `M1Monster` sets monster activation limits to Marathon 1's. - `M1Weps` changes weapon pickups on Total Carnage and makes grenades low gravity. ### Light Flags ### | Name | Bit | | ---- | --- | | `InitActive` | `0` | | `SlaveValue` | `1` | | `Stateless` | `2` | ### Entry Point Flags ### | Name | Bit | | ---- | --- | | `Solo` | `0` | | `CoOp` | `1` | | `Carnage` | `2` | | `KTMWTB` | `3` | | `KOTH` | `4` | | `Defense` | `5` | | `Rugby` | `6` | | `CTF` | `7` | - `KTMWTB` is Kill The Man With The Ball. ### Terminal Flags ### | Name | Bit | | ---- | --- | | `Encoded` | `0` | ### Terminal Group Flags ### | Name | Bit | | ---- | --- | | `DrawOnRight` | `0` | | `DrawCenter` | `1` | ### CopyBits Flags ### | Name | Bit | | ---- | --- | | `PICT2` | `15` | ### Color Table Flags ### | Name | Bit | | ---- | --- | | `DeviceMap` | `15` | ### Frame Flags ### | Name | Bit | | ---- | --- | | `Obscure` | `13` | | `FlipY` | `14` | | `FlipX` | `15` | - `Obscure` makes the player's torso obscure the legs. - `FlipY` and `FlipX` flip pixels on the respective axis. ### Sound Definition Flags ### | Name | Bit | | ---- | --- | | `NoRestart` | `0` | | `NoChannelSwitch` | `1` | | `LessPitchChange` | `2` | | `NoPitchChange` | `3` | | `NoObstruction` | `4` | | `NoMediaObstruct` | `5` | | `Ambient` | `6` | ### Random Sound Flags ### | Name | Bit | | ---- | --- | | `IgnoreDirection` | `0` | ### Media Flags ### | Name | Bit | | ---- | --- | | `SoundObstruct` | `0` | - `SoundObstruct` means the media makes no sound when under the floor. This is most sensible for, for instance, lava which can be drained. ### Object Frequency Flags ### | Name | Bit | | ---- | --- | | `RandomLocation` | `0` | ### Static Platform Flags ### | Name | Bit | | ---- | --- | | `InitActive` | `0` | | `InitExtended` | `1` | | `StopAtEachLevel` | `2` | | `StopAtInitLevel` | `3` | | `StartAdjOnStop` | `4` | | `ExtendsFloorToCeil` | `5` | | `ComesFromFloor` | `6` | | `ComesFromCeil` | `7` | | `CausesDamage` | `8` | | `NoActivateParent` | `9` | | `ActivatesOnce` | `10` | | `ActivatesLight` | `11` | | `DeactivatesLight` | `12` | | `PlayerControls` | `13` | | `MonsterControls` | `14` | | `ReverseOnObstruct` | `15` | | `NoExtDeactivation` | `16` | | `UsePolygonHeights` | `17` | | `DelayedActivation` | `18` | | `StartAdjOnStart` | `19` | | `StopAdjOnStart` | `20` | | `StopAdjOnStop` | `21` | | `Slow` | `22` | | `StartAtEachLevel` | `23` | | `Locked` | `24` | | `Secret` | `25` | | `Door` | `26` | If I could explain to you why there are this many flags, I gladly would, but this actually hurts my head. ### Effect Definition Flags ### | Name | Bit | | ---- | --- | | `EndOnLoop` | `0` | | `EndOnXferLoop` | `1` | | `SoundOnly` | `2` | | `MakeTwinVisible` | `3` | | `MediaEffect` | `4` | ### Weapon Flags ### | Name | Bit | | ---- | --- | | `Automatic` | `0` | | `RemoveAfterUse` | `1` | | `InstantCasing` | `2` | | `Overloads` | `3` | | `RandomAmmo` | `4` | | `TemporaryPower` | `5` | | `ReloadOneHand` | `6` | | `FireOutOfPhase` | `7` | | `FireUnderMedia` | `8` | | `TriggerSameAmmo` | `9` | | `SecondaryFlip` | `10` | ### Damage Flags ### | Name | Bit | | ---- | --- | | `AlienDamage` | `0` | - `AlienDamage` will decrease the damage on Easy and Wuss. ### Projectile Flags ### | Name | Bit | | ---- | --- | | `Guided` | `0` | | `StopOnLoop` | `1` | | `Persistent` | `2` | | `Alien` | `3` | | `Gravity` | `4` | | `NoHorzError` | `5` | | `NoVertError` | `6` | | `TogglePanels` | `7` | | `PosVertError` | `8` | | `Melee` | `9` | | `Ripper` | `10` | | `PassTransRandom` | `11` | | `PassTransMore` | `12` | | `DoubleGravity` | `13` | | `ReboundFloor` | `14` | | `ThroughMedia` | `15` | | `BecomeItem` | `16` | | `Bloody` | `17` | | `WanderHorz` | `18` | | `WanderVert` | `19` | | `UseLowGrav` | `20` | | `PassMedia` | `21` | ### Monster Flags ### | Name | Bit | | ---- | --- | | `IgnoreLOS` | `0` | | `Flying` | `1` | | `Alien` | `2` | | `Major` | `3` | | `Minor` | `4` | | `NoOmit` | `5` | | `Floats` | `6` | | `NoAttack` | `7` | | `Snipe` | `8` | | `Invisible` | `9` | | `SubtlyInvisible` | `10` | | `Kamikaze` | `11` | | `Berserker` | `12` | | `Enlarged` | `13` | | `DelayedDeath` | `14` | | `FireSymmetrical` | `15` | | `NuclearDeath` | `16` | | `NoFireBackwards` | `17` | | `CanDieInFlames` | `18` | | `WaitForGoodShot` | `19` | | `Tiny` | `20` | | `FastAttack` | `21` | | `LikesWater` | `22` | | `LikesSewage` | `23` | | `LikesLava` | `24` | | `LikesGoo` | `25` | | `TeleUnderMedia` | `26` | | `UseRandomWeapon` | `27` | ### Monster Class ### | Name | Bit | | ---- | --- | | `Player` | `0` | | `Civilian` | `1` | | `Madd` | `2` | | `PossessedHummer` | `3` | | `Defender` | `4` | | `Fighter` | `5` | | `Trooper` | `6` | | `Hunter` | `7` | | `Enforcer` | `8` | | `Juggernaut` | `9` | | `Hummer` | `10` | | `Compiler` | `11` | | `Cyborg` | `12` | | `Assimilated` | `13` | | `Tick` | `14` | | `Yeti` | `15` | ### Damage Type Flag ### | Name | Bit | | ---- | --- | | `Explosion` | `0` | | `ElectricalStaff` | `1` | | `Projectile` | `2` | | `Absorbed` | `3` | | `Flame` | `4` | | `HoundClaws` | `5` | | `AlienProjectile` | `6` | | `HulkSlap` | `7` | | `CompilerBolt` | `8` | | `FusionBolt` | `9` | | `HunterBolt` | `10` | | `Fist` | `11` | | `Teleporter` | `12` | | `Defender` | `13` | | `YetiClaws` | `14` | | `YetiProjectile` | `15` | | `Crushing` | `16` | | `Lava` | `17` | | `Suffocation` | `18` | | `Goo` | `19` | | `EnergyDrain` | `20` | | `OxygenDrain` | `21` | | `HummerBolt` | `22` | | `ShotgunProjectile` | `23` |